[med-svn] [libroadrunner] 01/02: New upstream version 1.4.8

Andreas Tille tille at debian.org
Wed Feb 1 10:55:32 UTC 2017


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository libroadrunner.

commit 364fbb232eab4900acb6f7cabe4ac2840f256b71
Author: Andreas Tille <tille at debian.org>
Date:   Wed Feb 1 11:50:49 2017 +0100

    New upstream version 1.4.8
---
 .gitattributes                                     |    43 +
 .gitignore                                         |    35 +
 .travis.yml                                        |    53 +
 AUTHORS.txt                                        |    42 +
 CMakeLists.txt                                     |   468 +
 FUNDING.txt                                        |     3 +
 LICENSE.txt                                        |    33 +
 NEWS.txt                                           |   364 +
 NOTICE.txt                                         |    97 +
 README.md                                          |    86 +
 VERSION.txt.in                                     |     1 +
 apps/CMakeLists.txt                                |    39 +
 apps/README.txt                                    |     0
 apps/rr-sbml-benchmark/CMakeLists.txt              |    69 +
 apps/rr-sbml-benchmark/main.cpp                    |   180 +
 apps/rr/Args.cpp                                   |    55 +
 apps/rr/Args.h                                     |    30 +
 apps/rr/CMakeLists.txt                             |    52 +
 apps/rr/README.txt                                 |     3 +
 apps/rr/autolink.cpp                               |    22 +
 apps/rr/main.cpp                                   |   150 +
 assets/roadrunner-64x64-red.png                    |   Bin 0 -> 1312 bytes
 autotest/CMakeLists.txt                            |    37 +
 autotest/compiled-test-suite/CMakeLists.txt        |    19 +
 .../00001/00001-sbml-l2v4.xml                      |   197 +
 .../00002/00002-sbml-l2v4.xml                      |   269 +
 .../00050/00050-sbml-l2v4.xml                      |  3725 ++
 .../00100/00100-sbml-l2v4.xml                      |  7325 ++++
 .../00150/00150-sbml-l2v4.xml                      | 10925 ++++++
 .../00200/00200-sbml-l2v4.xml                      | 14525 ++++++++
 .../00250/00250-sbml-l2v4.xml                      | 18125 ++++++++++
 .../00300/00300-sbml-l2v4.xml                      | 21725 +++++++++++
 .../00350/00350-sbml-l2v4.xml                      | 25325 +++++++++++++
 .../00400/00400-sbml-l2v4.xml                      | 28925 +++++++++++++++
 .../00450/00450-sbml-l2v4.xml                      | 32525 +++++++++++++++++
 .../00500/00500-sbml-l2v4.xml                      | 36125 +++++++++++++++++++
 autotest/python-benchmark-bioinf/README.md         |    40 +
 .../biomod14/BIOMD0000000014.xml                   | 14005 +++++++
 .../biomod33/BIOMD0000000033.xml                   |  1744 +
 .../jana_wolf/Jana_WolfGlycolysis.xml              |  2803 ++
 .../python-benchmark-bioinf/jarnac_bench_ode.jan   |    74 +
 .../python-benchmark-bioinf/jarnac_bench_stoch.jan |    41 +
 .../jean_marie/Jean_Marie_AMPA16_RobHow_v6.xml     |  2602 ++
 .../jean_marie_converted_bench.jan                 |   113 +
 autotest/python-benchmark-bioinf/rr_bench_ode.py   |    87 +
 autotest/python-benchmark-bioinf/rr_bench_stoch.py |    40 +
 .../python-benchmark-bioinf/stoch/stoch_l2v4.xml   |    89 +
 autotest/python-unit-tests/run.py                  |     6 +
 cmake/FindLLVM.cmake                               |   208 +
 cmake/FindNumPy.cmake                              |   101 +
 ...acroGetOperatingSystemArchitectureBitness.cmake |    64 +
 data/simpleNoise-MissingData.dat                   |   310 +
 data/simpleNoise.dat                               |   310 +
 data/simpleNoiseWeights.dat                        |   310 +
 data/sosbench/00009/00009-sbml-l2v4.xml            |  1337 +
 data/sosbench/00009/00009-settings.txt             |     9 +
 data/sosbench/00009/bench.py                       |    27 +
 data/sosbench/00014/00014-sbml-l2v2.xml            | 12390 +++++++
 data/sosbench/00014/00014-settings.txt             |    14 +
 data/sosbench/00022/00022-sbml-l2v1.xml            |  1702 +
 data/sosbench/00022/00022-settings.txt             |     9 +
 data/sosbench/00033/00033-sbml-l2v1.xml            |  1744 +
 data/sosbench/00033/00033-settings.txt             |     8 +
 data/sosbench/09/09-sbml-l2v4.xml                  |  1337 +
 data/sosbench/09/09-settings.txt                   |     9 +
 data/sosbench/09/bench.py                          |    27 +
 data/sosbench/10000/10000-sbml-l2v1.xml            |   210 +
 data/sosbench/10000/10000-settings.txt             |     9 +
 data/sosbench/10001/10001-sbml-l2v1.xml            |  1232 +
 data/sosbench/10001/10001-settings.txt             |     9 +
 data/sosbench/14/14-sbml-l2v4.xml                  | 12390 +++++++
 data/sosbench/14/14-settings.txt                   |    14 +
 data/sosbench/22/22-sbml-l2v1.xml                  |  1702 +
 data/sosbench/22/22-settings.txt                   |     9 +
 data/sosbench/33/33-sbml-l2v1.xml                  |  1744 +
 data/sosbench/33/33-settings.txt                   |     8 +
 data/sosbench/notes.txt                            |     8 +
 .../repressilator/repressilator-sbml-l2v1.xml      |   210 +
 .../repressilator/repressilator-settings.txt       |     9 +
 docs/css/default.css                               |   256 +
 docs/css/genericons.css                            |   194 +
 docs/css/ie.css                                    |   284 +
 docs/css/pygments.css                              |    62 +
 docs/css/quicklatex-format.css                     |    93 +
 docs/css/style.css                                 |  3142 ++
 docs/css/widgets.css                               |    13 +
 docs/index.html                                    |   117 +
 examples/CMakeLists.txt                            |    31 +
 examples/Readme.txt                                |     0
 examples/brusselator/brusselator.py                |   155 +
 examples/brusselator/brusselator.xml               |   140 +
 examples/brusselator/stinkbug.png                  |   Bin 0 -> 108161 bytes
 examples/create_uuid/main.cpp                      |    22 +
 examples/events/00026-sbml-l3v1.xml                |    72 +
 examples/events/00041-sbml-l3v1.xml                |    90 +
 examples/events/00074-sbml-l3v1.xml                |    77 +
 examples/events/00172-sbml-l3v1.xml                |    58 +
 examples/events/00348-sbml-l3v1.xml                |    95 +
 examples/events/00363-sbml-l3v1.xml                |   113 +
 examples/events/00952-sbml-l3v1.xml                |   123 +
 examples/events/00964-sbml-l3v1.xml                |   189 +
 examples/events/00966-sbml-l3v1.xml                |  1169 +
 examples/events/00978-sbml-l3v1.xml                |   302 +
 examples/events/events.py                          |    55 +
 examples/events/feedback.xml                       |   471 +
 examples/load_model_dll/CMakeLists.txt             |    49 +
 examples/load_model_dll/Readme.txt                 |     1 +
 examples/load_model_dll/main.cpp                   |    46 +
 examples/logging.py                                |    36 +
 examples/one_rr/CMakeLists.txt                     |    49 +
 examples/one_rr/Readme.txt                         |     4 +
 examples/one_rr/main.cpp                           |    47 +
 examples/two_rrs/CMakeLists.txt                    |    49 +
 examples/two_rrs/Readme.txt                        |     1 +
 examples/two_rrs/main.cpp                          |    49 +
 installer/CMakeLists.txt                           |     3 +
 installer/windows/CMakeLists.txt                   |     8 +
 .../libRoadRunner-python-2.7-win32-full-setup.iss  |   386 +
 .../windows/libRoadRunner-win32-minimal-setup.iss  |   122 +
 installer/windows/libroadrunner_logo_tan.ico       |   Bin 0 -> 38989 bytes
 installer/windows/trash.ico                        |   Bin 0 -> 1150 bytes
 make_docs.sh                                       |    24 +
 models/BorisEJB.xml                                |   929 +
 models/CMakeLists.txt                              |    24 +
 models/MinimizationTest_A.xml                      |    73 +
 models/README.txt                                  |    78 +
 models/bistable.xml                                |    75 +
 models/bug.xml                                     |   452 +
 models/feedback.xml                                |   470 +
 models/functest.xml                                |    40 +
 .../cases/semantic/.cases-archive-date             |     1 +
 .../sbml-test-suite/cases/semantic/.cases-tags-map |  1197 +
 .../cases/semantic/00001/00001-results.csv         |    52 +
 .../cases/semantic/00001/00001-sbml-l1v2.xml       |    26 +
 .../cases/semantic/00001/00001-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00001/00001-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00001/00001-settings.txt        |     9 +
 .../cases/semantic/00002/00002-results.csv         |    52 +
 .../cases/semantic/00002/00002-sbml-l1v2.xml       |    36 +
 .../cases/semantic/00002/00002-sbml-l2v4.xml       |    54 +
 .../cases/semantic/00002/00002-sbml-l3v1.xml       |    71 +
 .../cases/semantic/00002/00002-settings.txt        |     8 +
 .../cases/semantic/00003/00003-results.csv         |    52 +
 .../cases/semantic/00003/00003-sbml-l1v2.xml       |    26 +
 .../cases/semantic/00003/00003-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00003/00003-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00003/00003-settings.txt        |     8 +
 .../cases/semantic/00004/00004-results.csv         |    52 +
 .../cases/semantic/00004/00004-sbml-l1v2.xml       |    36 +
 .../cases/semantic/00004/00004-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00004/00004-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00004/00004-settings.txt        |     8 +
 .../cases/semantic/00005/00005-results.csv         |    52 +
 .../cases/semantic/00005/00005-sbml-l1v2.xml       |    26 +
 .../cases/semantic/00005/00005-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00005/00005-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00005/00005-settings.txt        |     8 +
 .../cases/semantic/00006/00006-results.csv         |    52 +
 .../cases/semantic/00006/00006-sbml-l1v2.xml       |    36 +
 .../cases/semantic/00006/00006-sbml-l2v4.xml       |    54 +
 .../cases/semantic/00006/00006-sbml-l3v1.xml       |    71 +
 .../cases/semantic/00006/00006-settings.txt        |     8 +
 .../cases/semantic/00007/00007-results.csv         |    52 +
 .../cases/semantic/00007/00007-sbml-l1v2.xml       |    36 +
 .../cases/semantic/00007/00007-sbml-l2v4.xml       |    54 +
 .../cases/semantic/00007/00007-sbml-l3v1.xml       |    71 +
 .../cases/semantic/00007/00007-settings.txt        |     8 +
 .../cases/semantic/00008/00008-results.csv         |    52 +
 .../cases/semantic/00008/00008-sbml-l1v2.xml       |    36 +
 .../cases/semantic/00008/00008-sbml-l2v4.xml       |    54 +
 .../cases/semantic/00008/00008-sbml-l3v1.xml       |    71 +
 .../cases/semantic/00008/00008-settings.txt        |     8 +
 .../cases/semantic/00009/00009-results.csv         |    52 +
 .../cases/semantic/00009/00009-sbml-l1v2.xml       |    36 +
 .../cases/semantic/00009/00009-sbml-l2v4.xml       |    54 +
 .../cases/semantic/00009/00009-sbml-l3v1.xml       |    71 +
 .../cases/semantic/00009/00009-settings.txt        |     8 +
 .../cases/semantic/00010/00010-results.csv         |    52 +
 .../cases/semantic/00010/00010-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00010/00010-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00010/00010-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00010/00010-settings.txt        |     8 +
 .../cases/semantic/00011/00011-results.csv         |    52 +
 .../cases/semantic/00011/00011-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00011/00011-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00011/00011-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00011/00011-settings.txt        |     8 +
 .../cases/semantic/00012/00012-results.csv         |    52 +
 .../cases/semantic/00012/00012-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00012/00012-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00012/00012-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00012/00012-settings.txt        |     8 +
 .../cases/semantic/00013/00013-results.csv         |    52 +
 .../cases/semantic/00013/00013-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00013/00013-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00013/00013-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00013/00013-settings.txt        |     8 +
 .../cases/semantic/00014/00014-results.csv         |    52 +
 .../cases/semantic/00014/00014-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00014/00014-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00014/00014-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00014/00014-settings.txt        |     8 +
 .../cases/semantic/00015/00015-results.csv         |    52 +
 .../cases/semantic/00015/00015-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00015/00015-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00015/00015-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00015/00015-settings.txt        |     8 +
 .../cases/semantic/00016/00016-results.csv         |    52 +
 .../cases/semantic/00016/00016-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00016/00016-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00016/00016-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00016/00016-settings.txt        |     8 +
 .../cases/semantic/00017/00017-results.csv         |    52 +
 .../cases/semantic/00017/00017-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00017/00017-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00017/00017-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00017/00017-settings.txt        |     8 +
 .../cases/semantic/00018/00018-results.csv         |    52 +
 .../cases/semantic/00018/00018-sbml-l1v2.xml       |    60 +
 .../cases/semantic/00018/00018-sbml-l2v4.xml       |    97 +
 .../cases/semantic/00018/00018-sbml-l3v1.xml       |   114 +
 .../cases/semantic/00018/00018-settings.txt        |     8 +
 .../cases/semantic/00019/00019-results.csv         |    52 +
 .../cases/semantic/00019/00019-sbml-l1v2.xml       |    51 +
 .../cases/semantic/00019/00019-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00019/00019-sbml-l3v1.xml       |    96 +
 .../cases/semantic/00019/00019-settings.txt        |     8 +
 .../cases/semantic/00020/00020-results.csv         |    52 +
 .../cases/semantic/00020/00020-sbml-l1v2.xml       |    48 +
 .../cases/semantic/00020/00020-sbml-l2v4.xml       |    75 +
 .../cases/semantic/00020/00020-sbml-l3v1.xml       |    92 +
 .../cases/semantic/00020/00020-settings.txt        |     8 +
 .../cases/semantic/00021/00021-results.csv         |    52 +
 .../cases/semantic/00021/00021-sbml-l1v2.xml       |    36 +
 .../cases/semantic/00021/00021-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00021/00021-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00021/00021-settings.txt        |     8 +
 .../cases/semantic/00022/00022-results.csv         |    52 +
 .../cases/semantic/00022/00022-sbml-l1v2.xml       |    36 +
 .../cases/semantic/00022/00022-sbml-l2v4.xml       |    54 +
 .../cases/semantic/00022/00022-sbml-l3v1.xml       |    71 +
 .../cases/semantic/00022/00022-settings.txt        |     8 +
 .../cases/semantic/00023/00023-results.csv         |    52 +
 .../cases/semantic/00023/00023-sbml-l2v4.xml       |    97 +
 .../cases/semantic/00023/00023-sbml-l3v1.xml       |   114 +
 .../cases/semantic/00023/00023-settings.txt        |     8 +
 .../cases/semantic/00024/00024-results.csv         |    52 +
 .../cases/semantic/00024/00024-sbml-l2v4.xml       |    97 +
 .../cases/semantic/00024/00024-sbml-l3v1.xml       |   114 +
 .../cases/semantic/00024/00024-settings.txt        |     8 +
 .../cases/semantic/00025/00025-results.csv         |    52 +
 .../cases/semantic/00025/00025-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00025/00025-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00025/00025-settings.txt        |     8 +
 .../cases/semantic/00026/00026-results.csv         |    52 +
 .../cases/semantic/00026/00026-sbml-l2v4.xml       |    55 +
 .../cases/semantic/00026/00026-sbml-l3v1.xml       |    72 +
 .../cases/semantic/00026/00026-settings.txt        |     8 +
 .../cases/semantic/00027/00027-results.csv         |    52 +
 .../cases/semantic/00027/00027-sbml-l2v4.xml       |    42 +
 .../cases/semantic/00027/00027-sbml-l3v1.xml       |    59 +
 .../cases/semantic/00027/00027-settings.txt        |     8 +
 .../cases/semantic/00028/00028-results.csv         |    52 +
 .../cases/semantic/00028/00028-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00028/00028-sbml-l3v1.xml       |    66 +
 .../cases/semantic/00028/00028-settings.txt        |     8 +
 .../cases/semantic/00029/00029-results.csv         |    52 +
 .../cases/semantic/00029/00029-sbml-l1v2.xml       |    14 +
 .../cases/semantic/00029/00029-sbml-l2v4.xml       |    18 +
 .../cases/semantic/00029/00029-sbml-l3v1.xml       |    35 +
 .../cases/semantic/00029/00029-settings.txt        |     8 +
 .../cases/semantic/00030/00030-results.csv         |    52 +
 .../cases/semantic/00030/00030-sbml-l1v2.xml       |    14 +
 .../cases/semantic/00030/00030-sbml-l2v4.xml       |    18 +
 .../cases/semantic/00030/00030-sbml-l3v1.xml       |    35 +
 .../cases/semantic/00030/00030-settings.txt        |     8 +
 .../cases/semantic/00031/00031-results.csv         |    52 +
 .../cases/semantic/00031/00031-sbml-l1v2.xml       |    14 +
 .../cases/semantic/00031/00031-sbml-l2v4.xml       |    18 +
 .../cases/semantic/00031/00031-sbml-l3v1.xml       |    35 +
 .../cases/semantic/00031/00031-settings.txt        |     8 +
 .../cases/semantic/00032/00032-results.csv         |    52 +
 .../cases/semantic/00032/00032-sbml-l1v2.xml       |    19 +
 .../cases/semantic/00032/00032-sbml-l2v4.xml       |    36 +
 .../cases/semantic/00032/00032-sbml-l3v1.xml       |    53 +
 .../cases/semantic/00032/00032-settings.txt        |     8 +
 .../cases/semantic/00033/00033-results.csv         |    52 +
 .../cases/semantic/00033/00033-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00033/00033-sbml-l2v4.xml       |    42 +
 .../cases/semantic/00033/00033-sbml-l3v1.xml       |    59 +
 .../cases/semantic/00033/00033-settings.txt        |     8 +
 .../cases/semantic/00034/00034-results.csv         |    52 +
 .../cases/semantic/00034/00034-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00034/00034-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00034/00034-settings.txt        |     8 +
 .../cases/semantic/00035/00035-results.csv         |    52 +
 .../cases/semantic/00035/00035-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00035/00035-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00035/00035-settings.txt        |     8 +
 .../cases/semantic/00036/00036-results.csv         |    52 +
 .../cases/semantic/00036/00036-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00036/00036-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00036/00036-settings.txt        |     8 +
 .../cases/semantic/00037/00037-results.csv         |    52 +
 .../cases/semantic/00037/00037-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00037/00037-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00037/00037-settings.txt        |     8 +
 .../cases/semantic/00038/00038-results.csv         |    52 +
 .../cases/semantic/00038/00038-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00038/00038-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00038/00038-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00038/00038-settings.txt        |     8 +
 .../cases/semantic/00039/00039-results.csv         |    52 +
 .../cases/semantic/00039/00039-sbml-l2v4.xml       |    52 +
 .../cases/semantic/00039/00039-sbml-l3v1.xml       |    69 +
 .../cases/semantic/00039/00039-settings.txt        |     8 +
 .../cases/semantic/00040/00040-results.csv         |    52 +
 .../cases/semantic/00040/00040-sbml-l2v4.xml       |    41 +
 .../cases/semantic/00040/00040-sbml-l3v1.xml       |    58 +
 .../cases/semantic/00040/00040-settings.txt        |     8 +
 .../cases/semantic/00041/00041-results.csv         |    52 +
 .../cases/semantic/00041/00041-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00041/00041-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00041/00041-settings.txt        |     8 +
 .../cases/semantic/00042/00042-results.csv         |    52 +
 .../cases/semantic/00042/00042-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00042/00042-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00042/00042-settings.txt        |     8 +
 .../cases/semantic/00043/00043-results.csv         |    52 +
 .../cases/semantic/00043/00043-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00043/00043-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00043/00043-settings.txt        |     8 +
 .../cases/semantic/00044/00044-results.csv         |    52 +
 .../cases/semantic/00044/00044-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00044/00044-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00044/00044-settings.txt        |     8 +
 .../cases/semantic/00045/00045-results.csv         |    52 +
 .../cases/semantic/00045/00045-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00045/00045-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00045/00045-settings.txt        |     8 +
 .../cases/semantic/00046/00046-results.csv         |    52 +
 .../cases/semantic/00046/00046-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00046/00046-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00046/00046-settings.txt        |     8 +
 .../cases/semantic/00047/00047-results.csv         |    52 +
 .../cases/semantic/00047/00047-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00047/00047-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00047/00047-settings.txt        |     8 +
 .../cases/semantic/00048/00048-results.csv         |    52 +
 .../cases/semantic/00048/00048-sbml-l2v4.xml       |    34 +
 .../cases/semantic/00048/00048-sbml-l3v1.xml       |    46 +
 .../cases/semantic/00048/00048-settings.txt        |     8 +
 .../cases/semantic/00049/00049-results.csv         |    52 +
 .../cases/semantic/00049/00049-sbml-l2v4.xml       |    56 +
 .../cases/semantic/00049/00049-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00049/00049-settings.txt        |     8 +
 .../cases/semantic/00050/00050-results.csv         |    52 +
 .../cases/semantic/00050/00050-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00050/00050-sbml-l3v1.xml       |    72 +
 .../cases/semantic/00050/00050-settings.txt        |     8 +
 .../cases/semantic/00051/00051-results.csv         |    52 +
 .../cases/semantic/00051/00051-sbml-l1v2.xml       |    30 +
 .../cases/semantic/00051/00051-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00051/00051-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00051/00051-settings.txt        |     8 +
 .../cases/semantic/00052/00052-results.csv         |    52 +
 .../cases/semantic/00052/00052-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00052/00052-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00052/00052-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00052/00052-settings.txt        |     8 +
 .../cases/semantic/00053/00053-results.csv         |    52 +
 .../cases/semantic/00053/00053-sbml-l1v2.xml       |    46 +
 .../cases/semantic/00053/00053-sbml-l2v4.xml       |    75 +
 .../cases/semantic/00053/00053-sbml-l3v1.xml       |    92 +
 .../cases/semantic/00053/00053-settings.txt        |     8 +
 .../cases/semantic/00054/00054-results.csv         |    52 +
 .../cases/semantic/00054/00054-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00054/00054-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00054/00054-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00054/00054-settings.txt        |     8 +
 .../cases/semantic/00055/00055-results.csv         |    52 +
 .../cases/semantic/00055/00055-sbml-l1v2.xml       |    51 +
 .../cases/semantic/00055/00055-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00055/00055-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00055/00055-settings.txt        |     8 +
 .../cases/semantic/00056/00056-results.csv         |    52 +
 .../cases/semantic/00056/00056-sbml-l1v2.xml       |    37 +
 .../cases/semantic/00056/00056-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00056/00056-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00056/00056-settings.txt        |     8 +
 .../cases/semantic/00057/00057-results.csv         |    52 +
 .../cases/semantic/00057/00057-sbml-l1v2.xml       |    41 +
 .../cases/semantic/00057/00057-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00057/00057-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00057/00057-settings.txt        |     8 +
 .../cases/semantic/00058/00058-results.csv         |    52 +
 .../cases/semantic/00058/00058-sbml-l1v2.xml       |    40 +
 .../cases/semantic/00058/00058-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00058/00058-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00058/00058-settings.txt        |     8 +
 .../cases/semantic/00059/00059-results.csv         |    52 +
 .../cases/semantic/00059/00059-sbml-l1v2.xml       |    40 +
 .../cases/semantic/00059/00059-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00059/00059-sbml-l3v1.xml       |    77 +
 .../cases/semantic/00059/00059-settings.txt        |     8 +
 .../cases/semantic/00060/00060-results.csv         |    52 +
 .../cases/semantic/00060/00060-sbml-l2v4.xml       |    34 +
 .../cases/semantic/00060/00060-sbml-l3v1.xml       |    51 +
 .../cases/semantic/00060/00060-settings.txt        |     8 +
 .../cases/semantic/00061/00061-results.csv         |    52 +
 .../cases/semantic/00061/00061-sbml-l2v4.xml       |    56 +
 .../cases/semantic/00061/00061-sbml-l3v1.xml       |    73 +
 .../cases/semantic/00061/00061-settings.txt        |     8 +
 .../cases/semantic/00062/00062-results.csv         |    52 +
 .../cases/semantic/00062/00062-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00062/00062-sbml-l3v1.xml       |    77 +
 .../cases/semantic/00062/00062-settings.txt        |     8 +
 .../cases/semantic/00063/00063-results.csv         |    52 +
 .../cases/semantic/00063/00063-sbml-l2v4.xml       |    40 +
 .../cases/semantic/00063/00063-sbml-l3v1.xml       |    57 +
 .../cases/semantic/00063/00063-settings.txt        |     8 +
 .../cases/semantic/00064/00064-results.csv         |    52 +
 .../cases/semantic/00064/00064-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00064/00064-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00064/00064-settings.txt        |     8 +
 .../cases/semantic/00065/00065-results.csv         |    52 +
 .../cases/semantic/00065/00065-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00065/00065-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00065/00065-settings.txt        |     8 +
 .../cases/semantic/00066/00066-results.csv         |    52 +
 .../cases/semantic/00066/00066-sbml-l1v2.xml       |    45 +
 .../cases/semantic/00066/00066-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00066/00066-sbml-l3v1.xml       |    86 +
 .../cases/semantic/00066/00066-settings.txt        |     8 +
 .../cases/semantic/00067/00067-results.csv         |    52 +
 .../cases/semantic/00067/00067-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00067/00067-sbml-l2v4.xml       |    65 +
 .../cases/semantic/00067/00067-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00067/00067-settings.txt        |     8 +
 .../cases/semantic/00068/00068-results.csv         |    52 +
 .../cases/semantic/00068/00068-sbml-l2v4.xml       |    46 +
 .../cases/semantic/00068/00068-settings.txt        |     8 +
 .../cases/semantic/00069/00069-results.csv         |    52 +
 .../cases/semantic/00069/00069-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00069/00069-settings.txt        |     8 +
 .../cases/semantic/00070/00070-results.csv         |    52 +
 .../cases/semantic/00070/00070-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00070/00070-settings.txt        |     8 +
 .../cases/semantic/00071/00071-results.csv         |    52 +
 .../cases/semantic/00071/00071-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00071/00071-sbml-l3v1.xml       |    77 +
 .../cases/semantic/00071/00071-settings.txt        |     8 +
 .../cases/semantic/00072/00072-results.csv         |    52 +
 .../cases/semantic/00072/00072-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00072/00072-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00072/00072-settings.txt        |     8 +
 .../cases/semantic/00073/00073-results.csv         |    52 +
 .../cases/semantic/00073/00073-sbml-l2v4.xml       |    65 +
 .../cases/semantic/00073/00073-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00073/00073-settings.txt        |     8 +
 .../cases/semantic/00074/00074-results.csv         |    52 +
 .../cases/semantic/00074/00074-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00074/00074-sbml-l3v1.xml       |    77 +
 .../cases/semantic/00074/00074-settings.txt        |     8 +
 .../cases/semantic/00075/00075-results.csv         |    52 +
 .../cases/semantic/00075/00075-sbml-l1v2.xml       |    26 +
 .../cases/semantic/00075/00075-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00075/00075-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00075/00075-settings.txt        |     8 +
 .../cases/semantic/00076/00076-results.csv         |    52 +
 .../cases/semantic/00076/00076-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00076/00076-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00076/00076-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00076/00076-settings.txt        |     8 +
 .../cases/semantic/00077/00077-results.csv         |    52 +
 .../cases/semantic/00077/00077-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00077/00077-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00077/00077-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00077/00077-settings.txt        |     8 +
 .../cases/semantic/00078/00078-results.csv         |    52 +
 .../cases/semantic/00078/00078-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00078/00078-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00078/00078-settings.txt        |     8 +
 .../cases/semantic/00079/00079-results.csv         |    52 +
 .../cases/semantic/00079/00079-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00079/00079-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00079/00079-settings.txt        |     8 +
 .../cases/semantic/00080/00080-results.csv         |    52 +
 .../cases/semantic/00080/00080-sbml-l2v4.xml       |   125 +
 .../cases/semantic/00080/00080-sbml-l3v1.xml       |   142 +
 .../cases/semantic/00080/00080-settings.txt        |     8 +
 .../cases/semantic/00081/00081-results.csv         |    52 +
 .../cases/semantic/00081/00081-sbml-l1v2.xml       |    30 +
 .../cases/semantic/00081/00081-sbml-l2v4.xml       |    43 +
 .../cases/semantic/00081/00081-sbml-l3v1.xml       |    60 +
 .../cases/semantic/00081/00081-settings.txt        |     8 +
 .../cases/semantic/00082/00082-results.csv         |    52 +
 .../cases/semantic/00082/00082-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00082/00082-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00082/00082-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00082/00082-settings.txt        |     8 +
 .../cases/semantic/00083/00083-results.csv         |    52 +
 .../cases/semantic/00083/00083-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00083/00083-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00083/00083-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00083/00083-settings.txt        |     8 +
 .../cases/semantic/00084/00084-results.csv         |    52 +
 .../cases/semantic/00084/00084-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00084/00084-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00084/00084-settings.txt        |     8 +
 .../cases/semantic/00085/00085-results.csv         |    52 +
 .../cases/semantic/00085/00085-sbml-l2v4.xml       |    89 +
 .../cases/semantic/00085/00085-sbml-l3v1.xml       |   106 +
 .../cases/semantic/00085/00085-settings.txt        |     8 +
 .../cases/semantic/00086/00086-results.csv         |    52 +
 .../cases/semantic/00086/00086-sbml-l2v4.xml       |    81 +
 .../cases/semantic/00086/00086-sbml-l3v1.xml       |    98 +
 .../cases/semantic/00086/00086-settings.txt        |     8 +
 .../cases/semantic/00087/00087-results.csv         |    52 +
 .../cases/semantic/00087/00087-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00087/00087-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00087/00087-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00087/00087-settings.txt        |     8 +
 .../cases/semantic/00088/00088-results.csv         |    52 +
 .../cases/semantic/00088/00088-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00088/00088-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00088/00088-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00088/00088-settings.txt        |     8 +
 .../cases/semantic/00089/00089-results.csv         |    52 +
 .../cases/semantic/00089/00089-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00089/00089-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00089/00089-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00089/00089-settings.txt        |     8 +
 .../cases/semantic/00090/00090-results.csv         |    52 +
 .../cases/semantic/00090/00090-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00090/00090-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00090/00090-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00090/00090-settings.txt        |     8 +
 .../cases/semantic/00091/00091-results.csv         |    52 +
 .../cases/semantic/00091/00091-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00091/00091-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00091/00091-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00091/00091-settings.txt        |     8 +
 .../cases/semantic/00092/00092-results.csv         |    52 +
 .../cases/semantic/00092/00092-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00092/00092-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00092/00092-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00092/00092-settings.txt        |     8 +
 .../cases/semantic/00093/00093-results.csv         |    52 +
 .../cases/semantic/00093/00093-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00093/00093-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00093/00093-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00093/00093-settings.txt        |     8 +
 .../cases/semantic/00094/00094-results.csv         |    52 +
 .../cases/semantic/00094/00094-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00094/00094-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00094/00094-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00094/00094-settings.txt        |     8 +
 .../cases/semantic/00095/00095-results.csv         |    52 +
 .../cases/semantic/00095/00095-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00095/00095-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00095/00095-settings.txt        |     8 +
 .../cases/semantic/00096/00096-results.csv         |    52 +
 .../cases/semantic/00096/00096-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00096/00096-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00096/00096-settings.txt        |     8 +
 .../cases/semantic/00097/00097-results.csv         |    52 +
 .../cases/semantic/00097/00097-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00097/00097-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00097/00097-settings.txt        |     8 +
 .../cases/semantic/00098/00098-results.csv         |    52 +
 .../cases/semantic/00098/00098-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00098/00098-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00098/00098-settings.txt        |     8 +
 .../cases/semantic/00099/00099-results.csv         |    52 +
 .../cases/semantic/00099/00099-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00099/00099-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00099/00099-settings.txt        |     8 +
 .../cases/semantic/00100/00100-results.csv         |    52 +
 .../cases/semantic/00100/00100-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00100/00100-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00100/00100-settings.txt        |     8 +
 .../cases/semantic/00101/00101-results.csv         |    52 +
 .../cases/semantic/00101/00101-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00101/00101-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00101/00101-settings.txt        |     8 +
 .../cases/semantic/00102/00102-results.csv         |    52 +
 .../cases/semantic/00102/00102-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00102/00102-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00102/00102-settings.txt        |     8 +
 .../cases/semantic/00103/00103-results.csv         |    52 +
 .../cases/semantic/00103/00103-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00103/00103-sbml-l3v1.xml       |    94 +
 .../cases/semantic/00103/00103-settings.txt        |     8 +
 .../cases/semantic/00104/00104-results.csv         |    52 +
 .../cases/semantic/00104/00104-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00104/00104-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00104/00104-settings.txt        |     8 +
 .../cases/semantic/00105/00105-results.csv         |    52 +
 .../cases/semantic/00105/00105-sbml-l2v4.xml       |    97 +
 .../cases/semantic/00105/00105-sbml-l3v1.xml       |   114 +
 .../cases/semantic/00105/00105-settings.txt        |     8 +
 .../cases/semantic/00106/00106-results.csv         |    52 +
 .../cases/semantic/00106/00106-sbml-l2v4.xml       |   100 +
 .../cases/semantic/00106/00106-sbml-l3v1.xml       |   117 +
 .../cases/semantic/00106/00106-settings.txt        |     8 +
 .../cases/semantic/00107/00107-results.csv         |    52 +
 .../cases/semantic/00107/00107-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00107/00107-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00107/00107-settings.txt        |     8 +
 .../cases/semantic/00108/00108-results.csv         |    52 +
 .../cases/semantic/00108/00108-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00108/00108-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00108/00108-settings.txt        |     8 +
 .../cases/semantic/00109/00109-results.csv         |    52 +
 .../cases/semantic/00109/00109-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00109/00109-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00109/00109-settings.txt        |     8 +
 .../cases/semantic/00110/00110-results.csv         |    52 +
 .../cases/semantic/00110/00110-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00110/00110-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00110/00110-settings.txt        |     8 +
 .../cases/semantic/00111/00111-results.csv         |    52 +
 .../cases/semantic/00111/00111-sbml-l2v4.xml       |   110 +
 .../cases/semantic/00111/00111-sbml-l3v1.xml       |   127 +
 .../cases/semantic/00111/00111-settings.txt        |     8 +
 .../cases/semantic/00112/00112-results.csv         |    52 +
 .../cases/semantic/00112/00112-sbml-l2v4.xml       |    85 +
 .../cases/semantic/00112/00112-sbml-l3v1.xml       |   102 +
 .../cases/semantic/00112/00112-settings.txt        |     8 +
 .../cases/semantic/00113/00113-results.csv         |    52 +
 .../cases/semantic/00113/00113-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00113/00113-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00113/00113-settings.txt        |     8 +
 .../cases/semantic/00114/00114-results.csv         |    52 +
 .../cases/semantic/00114/00114-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00114/00114-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00114/00114-settings.txt        |     8 +
 .../cases/semantic/00115/00115-results.csv         |    52 +
 .../cases/semantic/00115/00115-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00115/00115-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00115/00115-settings.txt        |     8 +
 .../cases/semantic/00116/00116-results.csv         |    52 +
 .../cases/semantic/00116/00116-sbml-l2v4.xml       |    76 +
 .../cases/semantic/00116/00116-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00116/00116-settings.txt        |     8 +
 .../cases/semantic/00117/00117-results.csv         |    52 +
 .../cases/semantic/00117/00117-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00117/00117-sbml-l3v1.xml       |    96 +
 .../cases/semantic/00117/00117-settings.txt        |     8 +
 .../cases/semantic/00118/00118-results.csv         |    52 +
 .../cases/semantic/00118/00118-sbml-l2v4.xml       |    76 +
 .../cases/semantic/00118/00118-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00118/00118-settings.txt        |     8 +
 .../cases/semantic/00119/00119-results.csv         |    52 +
 .../cases/semantic/00119/00119-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00119/00119-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00119/00119-settings.txt        |     8 +
 .../cases/semantic/00120/00120-results.csv         |    52 +
 .../cases/semantic/00120/00120-sbml-l2v4.xml       |    85 +
 .../cases/semantic/00120/00120-sbml-l3v1.xml       |   102 +
 .../cases/semantic/00120/00120-settings.txt        |     8 +
 .../cases/semantic/00121/00121-results.csv         |    52 +
 .../cases/semantic/00121/00121-sbml-l2v4.xml       |    93 +
 .../cases/semantic/00121/00121-sbml-l3v1.xml       |   110 +
 .../cases/semantic/00121/00121-settings.txt        |     8 +
 .../cases/semantic/00122/00122-results.csv         |    52 +
 .../cases/semantic/00122/00122-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00122/00122-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00122/00122-settings.txt        |     8 +
 .../cases/semantic/00123/00123-results.csv         |    52 +
 .../cases/semantic/00123/00123-sbml-l2v4.xml       |    98 +
 .../cases/semantic/00123/00123-sbml-l3v1.xml       |   115 +
 .../cases/semantic/00123/00123-settings.txt        |     8 +
 .../cases/semantic/00124/00124-results.csv         |    52 +
 .../cases/semantic/00124/00124-sbml-l2v4.xml       |    99 +
 .../cases/semantic/00124/00124-sbml-l3v1.xml       |   116 +
 .../cases/semantic/00124/00124-settings.txt        |     8 +
 .../cases/semantic/00125/00125-results.csv         |    52 +
 .../cases/semantic/00125/00125-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00125/00125-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00125/00125-settings.txt        |     8 +
 .../cases/semantic/00126/00126-results.csv         |    52 +
 .../cases/semantic/00126/00126-sbml-l2v4.xml       |    80 +
 .../cases/semantic/00126/00126-sbml-l3v1.xml       |    97 +
 .../cases/semantic/00126/00126-settings.txt        |     8 +
 .../cases/semantic/00127/00127-results.csv         |    52 +
 .../cases/semantic/00127/00127-sbml-l2v4.xml       |    81 +
 .../cases/semantic/00127/00127-sbml-l3v1.xml       |    98 +
 .../cases/semantic/00127/00127-settings.txt        |     8 +
 .../cases/semantic/00128/00128-results.csv         |    52 +
 .../cases/semantic/00128/00128-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00128/00128-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00128/00128-settings.txt        |     8 +
 .../cases/semantic/00129/00129-results.csv         |    52 +
 .../cases/semantic/00129/00129-sbml-l2v4.xml       |    65 +
 .../cases/semantic/00129/00129-settings.txt        |     8 +
 .../cases/semantic/00130/00130-results.csv         |    52 +
 .../cases/semantic/00130/00130-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00130/00130-settings.txt        |     8 +
 .../cases/semantic/00131/00131-results.csv         |    52 +
 .../cases/semantic/00131/00131-sbml-l2v4.xml       |    98 +
 .../cases/semantic/00131/00131-settings.txt        |     8 +
 .../cases/semantic/00132/00132-results.csv         |    52 +
 .../cases/semantic/00132/00132-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00132/00132-sbml-l3v1.xml       |    96 +
 .../cases/semantic/00132/00132-settings.txt        |     8 +
 .../cases/semantic/00133/00133-results.csv         |    52 +
 .../cases/semantic/00133/00133-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00133/00133-sbml-l3v1.xml       |    96 +
 .../cases/semantic/00133/00133-settings.txt        |     8 +
 .../cases/semantic/00134/00134-results.csv         |    52 +
 .../cases/semantic/00134/00134-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00134/00134-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00134/00134-settings.txt        |     8 +
 .../cases/semantic/00135/00135-results.csv         |    52 +
 .../cases/semantic/00135/00135-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00135/00135-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00135/00135-settings.txt        |     8 +
 .../cases/semantic/00136/00136-results.csv         |    52 +
 .../cases/semantic/00136/00136-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00136/00136-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00136/00136-settings.txt        |     8 +
 .../cases/semantic/00137/00137-results.csv         |    52 +
 .../cases/semantic/00137/00137-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00137/00137-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00137/00137-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00137/00137-settings.txt        |     8 +
 .../cases/semantic/00138/00138-results.csv         |    52 +
 .../cases/semantic/00138/00138-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00138/00138-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00138/00138-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00138/00138-settings.txt        |     8 +
 .../cases/semantic/00139/00139-results.csv         |    52 +
 .../cases/semantic/00139/00139-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00139/00139-sbml-l2v4.xml       |    44 +
 .../cases/semantic/00139/00139-sbml-l3v1.xml       |    61 +
 .../cases/semantic/00139/00139-settings.txt        |     8 +
 .../cases/semantic/00140/00140-results.csv         |    52 +
 .../cases/semantic/00140/00140-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00140/00140-sbml-l2v4.xml       |    44 +
 .../cases/semantic/00140/00140-sbml-l3v1.xml       |    61 +
 .../cases/semantic/00140/00140-settings.txt        |     8 +
 .../cases/semantic/00141/00141-results.csv         |    52 +
 .../cases/semantic/00141/00141-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00141/00141-sbml-l2v4.xml       |    44 +
 .../cases/semantic/00141/00141-sbml-l3v1.xml       |    61 +
 .../cases/semantic/00141/00141-settings.txt        |     8 +
 .../cases/semantic/00142/00142-results.csv         |    52 +
 .../cases/semantic/00142/00142-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00142/00142-sbml-l2v4.xml       |    65 +
 .../cases/semantic/00142/00142-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00142/00142-settings.txt        |     8 +
 .../cases/semantic/00143/00143-results.csv         |    52 +
 .../cases/semantic/00143/00143-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00143/00143-sbml-l2v4.xml       |    65 +
 .../cases/semantic/00143/00143-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00143/00143-settings.txt        |     8 +
 .../cases/semantic/00144/00144-results.csv         |    52 +
 .../cases/semantic/00144/00144-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00144/00144-sbml-l2v4.xml       |    65 +
 .../cases/semantic/00144/00144-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00144/00144-settings.txt        |     8 +
 .../cases/semantic/00145/00145-results.csv         |    52 +
 .../cases/semantic/00145/00145-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00145/00145-sbml-l2v4.xml       |    65 +
 .../cases/semantic/00145/00145-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00145/00145-settings.txt        |     8 +
 .../cases/semantic/00146/00146-results.csv         |    52 +
 .../cases/semantic/00146/00146-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00146/00146-sbml-l2v4.xml       |    65 +
 .../cases/semantic/00146/00146-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00146/00146-settings.txt        |     8 +
 .../cases/semantic/00147/00147-results.csv         |    52 +
 .../cases/semantic/00147/00147-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00147/00147-sbml-l2v4.xml       |    65 +
 .../cases/semantic/00147/00147-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00147/00147-settings.txt        |     8 +
 .../cases/semantic/00148/00148-results.csv         |    52 +
 .../cases/semantic/00148/00148-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00148/00148-sbml-l2v4.xml       |    42 +
 .../cases/semantic/00148/00148-sbml-l3v1.xml       |    59 +
 .../cases/semantic/00148/00148-settings.txt        |     8 +
 .../cases/semantic/00149/00149-results.csv         |    52 +
 .../cases/semantic/00149/00149-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00149/00149-sbml-l2v4.xml       |    42 +
 .../cases/semantic/00149/00149-sbml-l3v1.xml       |    59 +
 .../cases/semantic/00149/00149-settings.txt        |     8 +
 .../cases/semantic/00150/00150-results.csv         |    52 +
 .../cases/semantic/00150/00150-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00150/00150-sbml-l2v4.xml       |    42 +
 .../cases/semantic/00150/00150-sbml-l3v1.xml       |    59 +
 .../cases/semantic/00150/00150-settings.txt        |     8 +
 .../cases/semantic/00151/00151-results.csv         |    52 +
 .../cases/semantic/00151/00151-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00151/00151-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00151/00151-settings.txt        |     8 +
 .../cases/semantic/00152/00152-results.csv         |    52 +
 .../cases/semantic/00152/00152-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00152/00152-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00152/00152-settings.txt        |     8 +
 .../cases/semantic/00153/00153-results.csv         |    52 +
 .../cases/semantic/00153/00153-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00153/00153-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00153/00153-settings.txt        |     8 +
 .../cases/semantic/00154/00154-results.csv         |    52 +
 .../cases/semantic/00154/00154-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00154/00154-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00154/00154-settings.txt        |     8 +
 .../cases/semantic/00155/00155-results.csv         |    52 +
 .../cases/semantic/00155/00155-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00155/00155-sbml-l3v1.xml       |    81 +
 .../cases/semantic/00155/00155-settings.txt        |     8 +
 .../cases/semantic/00156/00156-results.csv         |    52 +
 .../cases/semantic/00156/00156-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00156/00156-sbml-l3v1.xml       |    59 +
 .../cases/semantic/00156/00156-settings.txt        |     8 +
 .../cases/semantic/00157/00157-results.csv         |    52 +
 .../cases/semantic/00157/00157-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00157/00157-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00157/00157-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00157/00157-settings.txt        |     8 +
 .../cases/semantic/00158/00158-results.csv         |    52 +
 .../cases/semantic/00158/00158-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00158/00158-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00158/00158-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00158/00158-settings.txt        |     8 +
 .../cases/semantic/00159/00159-results.csv         |    52 +
 .../cases/semantic/00159/00159-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00159/00159-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00159/00159-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00159/00159-settings.txt        |     8 +
 .../cases/semantic/00160/00160-results.csv         |    52 +
 .../cases/semantic/00160/00160-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00160/00160-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00160/00160-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00160/00160-settings.txt        |     8 +
 .../cases/semantic/00161/00161-results.csv         |    52 +
 .../cases/semantic/00161/00161-sbml-l1v2.xml       |    17 +
 .../cases/semantic/00161/00161-sbml-l2v4.xml       |    31 +
 .../cases/semantic/00161/00161-sbml-l3v1.xml       |    38 +
 .../cases/semantic/00161/00161-settings.txt        |     8 +
 .../cases/semantic/00162/00162-results.csv         |    52 +
 .../cases/semantic/00162/00162-sbml-l1v2.xml       |    18 +
 .../cases/semantic/00162/00162-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00162/00162-sbml-l3v1.xml       |    56 +
 .../cases/semantic/00162/00162-settings.txt        |     8 +
 .../cases/semantic/00163/00163-results.csv         |    52 +
 .../cases/semantic/00163/00163-sbml-l1v2.xml       |    18 +
 .../cases/semantic/00163/00163-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00163/00163-sbml-l3v1.xml       |    56 +
 .../cases/semantic/00163/00163-settings.txt        |     8 +
 .../cases/semantic/00164/00164-results.csv         |    52 +
 .../cases/semantic/00164/00164-sbml-l1v2.xml       |    18 +
 .../cases/semantic/00164/00164-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00164/00164-sbml-l3v1.xml       |    56 +
 .../cases/semantic/00164/00164-settings.txt        |     8 +
 .../cases/semantic/00165/00165-results.csv         |    52 +
 .../cases/semantic/00165/00165-sbml-l1v2.xml       |    20 +
 .../cases/semantic/00165/00165-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00165/00165-sbml-l3v1.xml       |    78 +
 .../cases/semantic/00165/00165-settings.txt        |     8 +
 .../cases/semantic/00166/00166-results.csv         |    52 +
 .../cases/semantic/00166/00166-sbml-l1v2.xml       |    22 +
 .../cases/semantic/00166/00166-sbml-l2v4.xml       |    95 +
 .../cases/semantic/00166/00166-sbml-l3v1.xml       |   102 +
 .../cases/semantic/00166/00166-settings.txt        |     8 +
 .../cases/semantic/00167/00167-results.csv         |    52 +
 .../cases/semantic/00167/00167-sbml-l1v2.xml       |    24 +
 .../cases/semantic/00167/00167-sbml-l2v4.xml       |   103 +
 .../cases/semantic/00167/00167-sbml-l3v1.xml       |   110 +
 .../cases/semantic/00167/00167-settings.txt        |     8 +
 .../cases/semantic/00168/00168-results.csv         |    52 +
 .../cases/semantic/00168/00168-sbml-l1v2.xml       |    23 +
 .../cases/semantic/00168/00168-sbml-l2v4.xml       |    93 +
 .../cases/semantic/00168/00168-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00168/00168-settings.txt        |     8 +
 .../cases/semantic/00169/00169-results.csv         |    52 +
 .../cases/semantic/00169/00169-sbml-l1v2.xml       |    23 +
 .../cases/semantic/00169/00169-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00169/00169-sbml-l3v1.xml       |    78 +
 .../cases/semantic/00169/00169-settings.txt        |     8 +
 .../cases/semantic/00170/00170-results.csv         |    52 +
 .../cases/semantic/00170/00170-sbml-l1v2.xml       |    23 +
 .../cases/semantic/00170/00170-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00170/00170-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00170/00170-settings.txt        |     8 +
 .../cases/semantic/00171/00171-results.csv         |    52 +
 .../cases/semantic/00171/00171-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00171/00171-sbml-l3v1.xml       |    60 +
 .../cases/semantic/00171/00171-settings.txt        |     8 +
 .../cases/semantic/00172/00172-results.csv         |    52 +
 .../cases/semantic/00172/00172-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00172/00172-sbml-l3v1.xml       |    58 +
 .../cases/semantic/00172/00172-settings.txt        |     8 +
 .../cases/semantic/00173/00173-results.csv         |    52 +
 .../cases/semantic/00173/00173-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00173/00173-sbml-l3v1.xml       |    67 +
 .../cases/semantic/00173/00173-settings.txt        |     8 +
 .../cases/semantic/00174/00174-results.csv         |    52 +
 .../cases/semantic/00174/00174-sbml-l1v2.xml       |    14 +
 .../cases/semantic/00174/00174-sbml-l2v4.xml       |    15 +
 .../cases/semantic/00174/00174-sbml-l3v1.xml       |    22 +
 .../cases/semantic/00174/00174-settings.txt        |     8 +
 .../cases/semantic/00175/00175-results.csv         |    52 +
 .../cases/semantic/00175/00175-sbml-l1v2.xml       |    14 +
 .../cases/semantic/00175/00175-sbml-l2v4.xml       |    15 +
 .../cases/semantic/00175/00175-sbml-l3v1.xml       |    22 +
 .../cases/semantic/00175/00175-settings.txt        |     8 +
 .../cases/semantic/00176/00176-results.csv         |    52 +
 .../cases/semantic/00176/00176-sbml-l1v2.xml       |    17 +
 .../cases/semantic/00176/00176-sbml-l2v4.xml       |    31 +
 .../cases/semantic/00176/00176-sbml-l3v1.xml       |    38 +
 .../cases/semantic/00176/00176-settings.txt        |     8 +
 .../cases/semantic/00177/00177-results.csv         |    52 +
 .../cases/semantic/00177/00177-sbml-l1v2.xml       |    18 +
 .../cases/semantic/00177/00177-sbml-l2v4.xml       |    36 +
 .../cases/semantic/00177/00177-sbml-l3v1.xml       |    43 +
 .../cases/semantic/00177/00177-settings.txt        |     8 +
 .../cases/semantic/00178/00178-results.csv         |    52 +
 .../cases/semantic/00178/00178-sbml-l2v4.xml       |   100 +
 .../cases/semantic/00178/00178-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00178/00178-settings.txt        |     8 +
 .../cases/semantic/00179/00179-results.csv         |    52 +
 .../cases/semantic/00179/00179-sbml-l2v4.xml       |   109 +
 .../cases/semantic/00179/00179-sbml-l3v1.xml       |   116 +
 .../cases/semantic/00179/00179-settings.txt        |     8 +
 .../cases/semantic/00180/00180-results.csv         |    52 +
 .../cases/semantic/00180/00180-sbml-l2v4.xml       |    43 +
 .../cases/semantic/00180/00180-sbml-l3v1.xml       |    50 +
 .../cases/semantic/00180/00180-settings.txt        |     8 +
 .../cases/semantic/00181/00181-results.csv         |    52 +
 .../cases/semantic/00181/00181-sbml-l1v2.xml       |    20 +
 .../cases/semantic/00181/00181-sbml-l2v4.xml       |    42 +
 .../cases/semantic/00181/00181-sbml-l3v1.xml       |    49 +
 .../cases/semantic/00181/00181-settings.txt        |     8 +
 .../cases/semantic/00182/00182-results.csv         |    52 +
 .../cases/semantic/00182/00182-sbml-l2v4.xml       |    36 +
 .../cases/semantic/00182/00182-sbml-l3v1.xml       |    43 +
 .../cases/semantic/00182/00182-settings.txt        |     8 +
 .../cases/semantic/00183/00183-results.csv         |    52 +
 .../cases/semantic/00183/00183-sbml-l2v4.xml       |    64 +
 .../cases/semantic/00183/00183-sbml-l3v1.xml       |    71 +
 .../cases/semantic/00183/00183-settings.txt        |     8 +
 .../cases/semantic/00184/00184-results.csv         |    52 +
 .../cases/semantic/00184/00184-sbml-l2v4.xml       |    75 +
 .../cases/semantic/00184/00184-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00184/00184-settings.txt        |     8 +
 .../cases/semantic/00185/00185-results.csv         |    52 +
 .../cases/semantic/00185/00185-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00185/00185-sbml-l3v1.xml       |    69 +
 .../cases/semantic/00185/00185-settings.txt        |     8 +
 .../cases/semantic/00186/00186-results.csv         |    52 +
 .../cases/semantic/00186/00186-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00186/00186-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00186/00186-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00186/00186-settings.txt        |     8 +
 .../cases/semantic/00187/00187-results.csv         |    52 +
 .../cases/semantic/00187/00187-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00187/00187-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00187/00187-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00187/00187-settings.txt        |     8 +
 .../cases/semantic/00188/00188-results.csv         |    52 +
 .../cases/semantic/00188/00188-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00188/00188-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00188/00188-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00188/00188-settings.txt        |     8 +
 .../cases/semantic/00189/00189-results.csv         |    52 +
 .../cases/semantic/00189/00189-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00189/00189-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00189/00189-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00189/00189-settings.txt        |     8 +
 .../cases/semantic/00190/00190-results.csv         |    52 +
 .../cases/semantic/00190/00190-sbml-l2v4.xml       |    39 +
 .../cases/semantic/00190/00190-sbml-l3v1.xml       |    56 +
 .../cases/semantic/00190/00190-settings.txt        |     8 +
 .../cases/semantic/00191/00191-results.csv         |    52 +
 .../cases/semantic/00191/00191-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00191/00191-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00191/00191-settings.txt        |     8 +
 .../cases/semantic/00192/00192-results.csv         |    52 +
 .../cases/semantic/00192/00192-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00192/00192-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00192/00192-settings.txt        |     8 +
 .../cases/semantic/00193/00193-results.csv         |    52 +
 .../cases/semantic/00193/00193-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00193/00193-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00193/00193-settings.txt        |     8 +
 .../cases/semantic/00194/00194-results.csv         |    52 +
 .../cases/semantic/00194/00194-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00194/00194-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00194/00194-settings.txt        |     8 +
 .../cases/semantic/00195/00195-results.csv         |    52 +
 .../cases/semantic/00195/00195-sbml-l2v4.xml       |    44 +
 .../cases/semantic/00195/00195-sbml-l3v1.xml       |    61 +
 .../cases/semantic/00195/00195-settings.txt        |     8 +
 .../cases/semantic/00196/00196-results.csv         |    52 +
 .../cases/semantic/00196/00196-sbml-l1v2.xml       |    27 +
 .../cases/semantic/00196/00196-sbml-l2v4.xml       |    46 +
 .../cases/semantic/00196/00196-sbml-l3v1.xml       |    63 +
 .../cases/semantic/00196/00196-settings.txt        |     8 +
 .../cases/semantic/00197/00197-results.csv         |    52 +
 .../cases/semantic/00197/00197-sbml-l1v2.xml       |    27 +
 .../cases/semantic/00197/00197-sbml-l2v4.xml       |    46 +
 .../cases/semantic/00197/00197-sbml-l3v1.xml       |    63 +
 .../cases/semantic/00197/00197-settings.txt        |     8 +
 .../cases/semantic/00198/00198-results.csv         |    52 +
 .../cases/semantic/00198/00198-sbml-l2v4.xml       |    81 +
 .../cases/semantic/00198/00198-sbml-l3v1.xml       |    98 +
 .../cases/semantic/00198/00198-settings.txt        |     8 +
 .../cases/semantic/00199/00199-results.csv         |    52 +
 .../cases/semantic/00199/00199-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00199/00199-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00199/00199-settings.txt        |     8 +
 .../cases/semantic/00200/00200-results.csv         |    52 +
 .../cases/semantic/00200/00200-sbml-l2v4.xml       |    80 +
 .../cases/semantic/00200/00200-sbml-l3v1.xml       |    97 +
 .../cases/semantic/00200/00200-settings.txt        |     8 +
 .../cases/semantic/00201/00201-results.csv         |    52 +
 .../cases/semantic/00201/00201-sbml-l2v4.xml       |    80 +
 .../cases/semantic/00201/00201-sbml-l3v1.xml       |    97 +
 .../cases/semantic/00201/00201-settings.txt        |     8 +
 .../cases/semantic/00202/00202-results.csv         |    52 +
 .../cases/semantic/00202/00202-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00202/00202-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00202/00202-settings.txt        |     8 +
 .../cases/semantic/00203/00203-results.csv         |    52 +
 .../cases/semantic/00203/00203-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00203/00203-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00203/00203-settings.txt        |     8 +
 .../cases/semantic/00204/00204-results.csv         |    52 +
 .../cases/semantic/00204/00204-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00204/00204-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00204/00204-settings.txt        |     8 +
 .../cases/semantic/00205/00205-results.csv         |    52 +
 .../cases/semantic/00205/00205-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00205/00205-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00205/00205-settings.txt        |     8 +
 .../cases/semantic/00206/00206-results.csv         |    52 +
 .../cases/semantic/00206/00206-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00206/00206-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00206/00206-settings.txt        |     8 +
 .../cases/semantic/00207/00207-results.csv         |    52 +
 .../cases/semantic/00207/00207-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00207/00207-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00207/00207-settings.txt        |     8 +
 .../cases/semantic/00208/00208-results.csv         |    52 +
 .../cases/semantic/00208/00208-sbml-l2v4.xml       |    34 +
 .../cases/semantic/00208/00208-sbml-l3v1.xml       |    51 +
 .../cases/semantic/00208/00208-settings.txt        |     8 +
 .../cases/semantic/00209/00209-results.csv         |    52 +
 .../cases/semantic/00209/00209-sbml-l2v4.xml       |    56 +
 .../cases/semantic/00209/00209-sbml-l3v1.xml       |    73 +
 .../cases/semantic/00209/00209-settings.txt        |     8 +
 .../cases/semantic/00210/00210-results.csv         |    52 +
 .../cases/semantic/00210/00210-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00210/00210-sbml-l3v1.xml       |    77 +
 .../cases/semantic/00210/00210-settings.txt        |     8 +
 .../cases/semantic/00211/00211-results.csv         |    52 +
 .../cases/semantic/00211/00211-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00211/00211-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00211/00211-settings.txt        |     8 +
 .../cases/semantic/00212/00212-results.csv         |    52 +
 .../cases/semantic/00212/00212-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00212/00212-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00212/00212-settings.txt        |     8 +
 .../cases/semantic/00213/00213-results.csv         |    52 +
 .../cases/semantic/00213/00213-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00213/00213-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00213/00213-settings.txt        |     8 +
 .../cases/semantic/00214/00214-results.csv         |    52 +
 .../cases/semantic/00214/00214-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00214/00214-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00214/00214-settings.txt        |     8 +
 .../cases/semantic/00215/00215-results.csv         |    52 +
 .../cases/semantic/00215/00215-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00215/00215-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00215/00215-settings.txt        |     8 +
 .../cases/semantic/00216/00216-results.csv         |    52 +
 .../cases/semantic/00216/00216-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00216/00216-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00216/00216-settings.txt        |     8 +
 .../cases/semantic/00217/00217-results.csv         |    52 +
 .../cases/semantic/00217/00217-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00217/00217-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00217/00217-settings.txt        |     8 +
 .../cases/semantic/00218/00218-results.csv         |    52 +
 .../cases/semantic/00218/00218-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00218/00218-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00218/00218-settings.txt        |     8 +
 .../cases/semantic/00219/00219-results.csv         |    52 +
 .../cases/semantic/00219/00219-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00219/00219-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00219/00219-settings.txt        |     8 +
 .../cases/semantic/00220/00220-results.csv         |    52 +
 .../cases/semantic/00220/00220-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00220/00220-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00220/00220-settings.txt        |     8 +
 .../cases/semantic/00221/00221-results.csv         |    52 +
 .../cases/semantic/00221/00221-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00221/00221-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00221/00221-settings.txt        |     8 +
 .../cases/semantic/00222/00222-results.csv         |    52 +
 .../cases/semantic/00222/00222-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00222/00222-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00222/00222-settings.txt        |     8 +
 .../cases/semantic/00223/00223-results.csv         |    52 +
 .../cases/semantic/00223/00223-sbml-l2v4.xml       |    34 +
 .../cases/semantic/00223/00223-sbml-l3v1.xml       |    51 +
 .../cases/semantic/00223/00223-settings.txt        |     8 +
 .../cases/semantic/00224/00224-results.csv         |    52 +
 .../cases/semantic/00224/00224-sbml-l2v4.xml       |    56 +
 .../cases/semantic/00224/00224-sbml-l3v1.xml       |    73 +
 .../cases/semantic/00224/00224-settings.txt        |     8 +
 .../cases/semantic/00225/00225-results.csv         |    52 +
 .../cases/semantic/00225/00225-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00225/00225-sbml-l3v1.xml       |    77 +
 .../cases/semantic/00225/00225-settings.txt        |     8 +
 .../cases/semantic/00226/00226-results.csv         |    52 +
 .../cases/semantic/00226/00226-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00226/00226-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00226/00226-settings.txt        |     8 +
 .../cases/semantic/00227/00227-results.csv         |    52 +
 .../cases/semantic/00227/00227-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00227/00227-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00227/00227-settings.txt        |     8 +
 .../cases/semantic/00228/00228-results.csv         |    52 +
 .../cases/semantic/00228/00228-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00228/00228-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00228/00228-settings.txt        |     8 +
 .../cases/semantic/00229/00229-results.csv         |    52 +
 .../cases/semantic/00229/00229-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00229/00229-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00229/00229-settings.txt        |     8 +
 .../cases/semantic/00230/00230-results.csv         |    52 +
 .../cases/semantic/00230/00230-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00230/00230-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00230/00230-settings.txt        |     8 +
 .../cases/semantic/00231/00231-results.csv         |    52 +
 .../cases/semantic/00231/00231-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00231/00231-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00231/00231-settings.txt        |     8 +
 .../cases/semantic/00232/00232-results.csv         |    52 +
 .../cases/semantic/00232/00232-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00232/00232-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00232/00232-settings.txt        |     8 +
 .../cases/semantic/00233/00233-results.csv         |    52 +
 .../cases/semantic/00233/00233-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00233/00233-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00233/00233-settings.txt        |     8 +
 .../cases/semantic/00234/00234-results.csv         |    52 +
 .../cases/semantic/00234/00234-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00234/00234-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00234/00234-settings.txt        |     8 +
 .../cases/semantic/00235/00235-results.csv         |    52 +
 .../cases/semantic/00235/00235-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00235/00235-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00235/00235-settings.txt        |     8 +
 .../cases/semantic/00236/00236-results.csv         |    52 +
 .../cases/semantic/00236/00236-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00236/00236-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00236/00236-settings.txt        |     8 +
 .../cases/semantic/00237/00237-results.csv         |    52 +
 .../cases/semantic/00237/00237-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00237/00237-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00237/00237-settings.txt        |     8 +
 .../cases/semantic/00238/00238-results.csv         |    52 +
 .../cases/semantic/00238/00238-sbml-l2v4.xml       |    34 +
 .../cases/semantic/00238/00238-sbml-l3v1.xml       |    46 +
 .../cases/semantic/00238/00238-settings.txt        |     8 +
 .../cases/semantic/00239/00239-results.csv         |    52 +
 .../cases/semantic/00239/00239-sbml-l2v4.xml       |    34 +
 .../cases/semantic/00239/00239-sbml-l3v1.xml       |    46 +
 .../cases/semantic/00239/00239-settings.txt        |     8 +
 .../cases/semantic/00240/00240-results.csv         |    52 +
 .../cases/semantic/00240/00240-sbml-l2v4.xml       |    56 +
 .../cases/semantic/00240/00240-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00240/00240-settings.txt        |     8 +
 .../cases/semantic/00241/00241-results.csv         |    52 +
 .../cases/semantic/00241/00241-sbml-l2v4.xml       |    56 +
 .../cases/semantic/00241/00241-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00241/00241-settings.txt        |     8 +
 .../cases/semantic/00242/00242-results.csv         |    52 +
 .../cases/semantic/00242/00242-sbml-l2v4.xml       |    56 +
 .../cases/semantic/00242/00242-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00242/00242-settings.txt        |     8 +
 .../cases/semantic/00243/00243-results.csv         |    52 +
 .../cases/semantic/00243/00243-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00243/00243-sbml-l3v1.xml       |    72 +
 .../cases/semantic/00243/00243-settings.txt        |     8 +
 .../cases/semantic/00244/00244-results.csv         |    52 +
 .../cases/semantic/00244/00244-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00244/00244-sbml-l3v1.xml       |    72 +
 .../cases/semantic/00244/00244-settings.txt        |     8 +
 .../cases/semantic/00245/00245-results.csv         |    52 +
 .../cases/semantic/00245/00245-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00245/00245-sbml-l3v1.xml       |    72 +
 .../cases/semantic/00245/00245-settings.txt        |     8 +
 .../cases/semantic/00246/00246-results.csv         |    52 +
 .../cases/semantic/00246/00246-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00246/00246-sbml-l3v1.xml       |    72 +
 .../cases/semantic/00246/00246-settings.txt        |     8 +
 .../cases/semantic/00247/00247-results.csv         |    52 +
 .../cases/semantic/00247/00247-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00247/00247-sbml-l3v1.xml       |    72 +
 .../cases/semantic/00247/00247-settings.txt        |     8 +
 .../cases/semantic/00248/00248-results.csv         |    52 +
 .../cases/semantic/00248/00248-sbml-l2v4.xml       |    40 +
 .../cases/semantic/00248/00248-sbml-l3v1.xml       |    57 +
 .../cases/semantic/00248/00248-settings.txt        |     8 +
 .../cases/semantic/00249/00249-results.csv         |    52 +
 .../cases/semantic/00249/00249-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00249/00249-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00249/00249-settings.txt        |     8 +
 .../cases/semantic/00250/00250-results.csv         |    52 +
 .../cases/semantic/00250/00250-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00250/00250-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00250/00250-settings.txt        |     8 +
 .../cases/semantic/00251/00251-results.csv         |    52 +
 .../cases/semantic/00251/00251-sbml-l2v4.xml       |    40 +
 .../cases/semantic/00251/00251-sbml-l3v1.xml       |    57 +
 .../cases/semantic/00251/00251-settings.txt        |     8 +
 .../cases/semantic/00252/00252-results.csv         |    52 +
 .../cases/semantic/00252/00252-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00252/00252-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00252/00252-settings.txt        |     8 +
 .../cases/semantic/00253/00253-results.csv         |    52 +
 .../cases/semantic/00253/00253-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00253/00253-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00253/00253-settings.txt        |     8 +
 .../cases/semantic/00254/00254-results.csv         |    52 +
 .../cases/semantic/00254/00254-sbml-l2v4.xml       |    40 +
 .../cases/semantic/00254/00254-sbml-l3v1.xml       |    57 +
 .../cases/semantic/00254/00254-settings.txt        |     8 +
 .../cases/semantic/00255/00255-results.csv         |    52 +
 .../cases/semantic/00255/00255-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00255/00255-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00255/00255-settings.txt        |     8 +
 .../cases/semantic/00256/00256-results.csv         |    52 +
 .../cases/semantic/00256/00256-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00256/00256-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00256/00256-settings.txt        |     8 +
 .../cases/semantic/00257/00257-results.csv         |    52 +
 .../cases/semantic/00257/00257-sbml-l2v4.xml       |    39 +
 .../cases/semantic/00257/00257-sbml-l3v1.xml       |    51 +
 .../cases/semantic/00257/00257-settings.txt        |     8 +
 .../cases/semantic/00258/00258-results.csv         |    52 +
 .../cases/semantic/00258/00258-sbml-l2v4.xml       |    61 +
 .../cases/semantic/00258/00258-sbml-l3v1.xml       |    73 +
 .../cases/semantic/00258/00258-settings.txt        |     8 +
 .../cases/semantic/00259/00259-results.csv         |    52 +
 .../cases/semantic/00259/00259-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00259/00259-sbml-l3v1.xml       |    81 +
 .../cases/semantic/00259/00259-settings.txt        |     8 +
 .../cases/semantic/00260/00260-results.csv         |    52 +
 .../cases/semantic/00260/00260-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00260/00260-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00260/00260-settings.txt        |     8 +
 .../cases/semantic/00261/00261-results.csv         |    52 +
 .../cases/semantic/00261/00261-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00261/00261-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00261/00261-settings.txt        |     8 +
 .../cases/semantic/00262/00262-results.csv         |    52 +
 .../cases/semantic/00262/00262-sbml-l2v4.xml       |    56 +
 .../cases/semantic/00262/00262-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00262/00262-settings.txt        |     8 +
 .../cases/semantic/00263/00263-results.csv         |    52 +
 .../cases/semantic/00263/00263-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00263/00263-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00263/00263-settings.txt        |     8 +
 .../cases/semantic/00264/00264-results.csv         |    52 +
 .../cases/semantic/00264/00264-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00264/00264-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00264/00264-settings.txt        |     8 +
 .../cases/semantic/00265/00265-results.csv         |    52 +
 .../cases/semantic/00265/00265-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00265/00265-sbml-l3v1.xml       |    72 +
 .../cases/semantic/00265/00265-settings.txt        |     8 +
 .../cases/semantic/00266/00266-results.csv         |    52 +
 .../cases/semantic/00266/00266-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00266/00266-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00266/00266-settings.txt        |     8 +
 .../cases/semantic/00267/00267-results.csv         |    52 +
 .../cases/semantic/00267/00267-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00267/00267-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00267/00267-settings.txt        |     8 +
 .../cases/semantic/00268/00268-results.csv         |    52 +
 .../cases/semantic/00268/00268-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00268/00268-sbml-l3v1.xml       |    72 +
 .../cases/semantic/00268/00268-settings.txt        |     8 +
 .../cases/semantic/00269/00269-results.csv         |    52 +
 .../cases/semantic/00269/00269-sbml-l2v4.xml       |    72 +
 .../cases/semantic/00269/00269-sbml-l3v1.xml       |    89 +
 .../cases/semantic/00269/00269-settings.txt        |     8 +
 .../cases/semantic/00270/00270-results.csv         |    52 +
 .../cases/semantic/00270/00270-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00270/00270-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00270/00270-settings.txt        |     8 +
 .../cases/semantic/00271/00271-results.csv         |    52 +
 .../cases/semantic/00271/00271-sbml-l2v4.xml       |    50 +
 .../cases/semantic/00271/00271-sbml-l3v1.xml       |    67 +
 .../cases/semantic/00271/00271-settings.txt        |     8 +
 .../cases/semantic/00272/00272-results.csv         |    52 +
 .../cases/semantic/00272/00272-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00272/00272-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00272/00272-settings.txt        |     8 +
 .../cases/semantic/00273/00273-results.csv         |    52 +
 .../cases/semantic/00273/00273-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00273/00273-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00273/00273-settings.txt        |     8 +
 .../cases/semantic/00274/00274-results.csv         |    52 +
 .../cases/semantic/00274/00274-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00274/00274-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00274/00274-settings.txt        |     8 +
 .../cases/semantic/00275/00275-results.csv         |    52 +
 .../cases/semantic/00275/00275-sbml-l2v4.xml       |    55 +
 .../cases/semantic/00275/00275-sbml-l3v1.xml       |    72 +
 .../cases/semantic/00275/00275-settings.txt        |     8 +
 .../cases/semantic/00276/00276-results.csv         |    52 +
 .../cases/semantic/00276/00276-sbml-l2v4.xml       |   108 +
 .../cases/semantic/00276/00276-sbml-l3v1.xml       |   125 +
 .../cases/semantic/00276/00276-settings.txt        |     8 +
 .../cases/semantic/00277/00277-results.csv         |    52 +
 .../cases/semantic/00277/00277-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00277/00277-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00277/00277-settings.txt        |     8 +
 .../cases/semantic/00278/00278-results.csv         |    52 +
 .../cases/semantic/00278/00278-sbml-l2v4.xml       |   103 +
 .../cases/semantic/00278/00278-sbml-l3v1.xml       |   120 +
 .../cases/semantic/00278/00278-settings.txt        |     8 +
 .../cases/semantic/00279/00279-results.csv         |    52 +
 .../cases/semantic/00279/00279-sbml-l2v4.xml       |   103 +
 .../cases/semantic/00279/00279-sbml-l3v1.xml       |   120 +
 .../cases/semantic/00279/00279-settings.txt        |     8 +
 .../cases/semantic/00280/00280-results.csv         |    52 +
 .../cases/semantic/00280/00280-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00280/00280-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00280/00280-settings.txt        |     8 +
 .../cases/semantic/00281/00281-results.csv         |    52 +
 .../cases/semantic/00281/00281-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00281/00281-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00281/00281-settings.txt        |     8 +
 .../cases/semantic/00282/00282-results.csv         |    52 +
 .../cases/semantic/00282/00282-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00282/00282-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00282/00282-settings.txt        |     8 +
 .../cases/semantic/00283/00283-results.csv         |    52 +
 .../cases/semantic/00283/00283-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00283/00283-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00283/00283-settings.txt        |     8 +
 .../cases/semantic/00284/00284-results.csv         |    52 +
 .../cases/semantic/00284/00284-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00284/00284-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00284/00284-settings.txt        |     8 +
 .../cases/semantic/00285/00285-results.csv         |    52 +
 .../cases/semantic/00285/00285-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00285/00285-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00285/00285-settings.txt        |     8 +
 .../cases/semantic/00286/00286-results.csv         |    52 +
 .../cases/semantic/00286/00286-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00286/00286-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00286/00286-sbml-l3v1.xml       |    96 +
 .../cases/semantic/00286/00286-settings.txt        |     8 +
 .../cases/semantic/00287/00287-results.csv         |    52 +
 .../cases/semantic/00287/00287-sbml-l1v2.xml       |    56 +
 .../cases/semantic/00287/00287-sbml-l2v4.xml       |   101 +
 .../cases/semantic/00287/00287-sbml-l3v1.xml       |   118 +
 .../cases/semantic/00287/00287-settings.txt        |     8 +
 .../cases/semantic/00288/00288-results.csv         |    52 +
 .../cases/semantic/00288/00288-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00288/00288-sbml-l2v4.xml       |    76 +
 .../cases/semantic/00288/00288-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00288/00288-settings.txt        |     8 +
 .../cases/semantic/00289/00289-results.csv         |    52 +
 .../cases/semantic/00289/00289-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00289/00289-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00289/00289-sbml-l3v1.xml       |    96 +
 .../cases/semantic/00289/00289-settings.txt        |     8 +
 .../cases/semantic/00290/00290-results.csv         |    52 +
 .../cases/semantic/00290/00290-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00290/00290-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00290/00290-sbml-l3v1.xml       |    96 +
 .../cases/semantic/00290/00290-settings.txt        |     8 +
 .../cases/semantic/00291/00291-results.csv         |    52 +
 .../cases/semantic/00291/00291-sbml-l1v2.xml       |    56 +
 .../cases/semantic/00291/00291-sbml-l2v4.xml       |   101 +
 .../cases/semantic/00291/00291-sbml-l3v1.xml       |   118 +
 .../cases/semantic/00291/00291-settings.txt        |     8 +
 .../cases/semantic/00292/00292-results.csv         |    52 +
 .../cases/semantic/00292/00292-sbml-l1v2.xml       |    56 +
 .../cases/semantic/00292/00292-sbml-l2v4.xml       |   101 +
 .../cases/semantic/00292/00292-sbml-l3v1.xml       |   118 +
 .../cases/semantic/00292/00292-settings.txt        |     8 +
 .../cases/semantic/00293/00293-results.csv         |    52 +
 .../cases/semantic/00293/00293-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00293/00293-sbml-l2v4.xml       |    76 +
 .../cases/semantic/00293/00293-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00293/00293-settings.txt        |     8 +
 .../cases/semantic/00294/00294-results.csv         |    52 +
 .../cases/semantic/00294/00294-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00294/00294-sbml-l2v4.xml       |    76 +
 .../cases/semantic/00294/00294-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00294/00294-settings.txt        |     8 +
 .../cases/semantic/00295/00295-results.csv         |    52 +
 .../cases/semantic/00295/00295-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00295/00295-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00295/00295-settings.txt        |     8 +
 .../cases/semantic/00296/00296-results.csv         |    52 +
 .../cases/semantic/00296/00296-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00296/00296-sbml-l3v1.xml       |    86 +
 .../cases/semantic/00296/00296-settings.txt        |     8 +
 .../cases/semantic/00297/00297-results.csv         |    52 +
 .../cases/semantic/00297/00297-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00297/00297-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00297/00297-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00297/00297-settings.txt        |     8 +
 .../cases/semantic/00298/00298-results.csv         |    52 +
 .../cases/semantic/00298/00298-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00298/00298-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00298/00298-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00298/00298-settings.txt        |     8 +
 .../cases/semantic/00299/00299-results.csv         |    52 +
 .../cases/semantic/00299/00299-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00299/00299-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00299/00299-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00299/00299-settings.txt        |     8 +
 .../cases/semantic/00300/00300-results.csv         |    52 +
 .../cases/semantic/00300/00300-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00300/00300-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00300/00300-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00300/00300-settings.txt        |     8 +
 .../cases/semantic/00301/00301-results.csv         |    52 +
 .../cases/semantic/00301/00301-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00301/00301-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00301/00301-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00301/00301-settings.txt        |     8 +
 .../cases/semantic/00302/00302-results.csv         |    52 +
 .../cases/semantic/00302/00302-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00302/00302-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00302/00302-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00302/00302-settings.txt        |     8 +
 .../cases/semantic/00303/00303-results.csv         |    52 +
 .../cases/semantic/00303/00303-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00303/00303-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00303/00303-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00303/00303-settings.txt        |     8 +
 .../cases/semantic/00304/00304-results.csv         |    52 +
 .../cases/semantic/00304/00304-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00304/00304-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00304/00304-settings.txt        |     8 +
 .../cases/semantic/00305/00305-results.csv         |    52 +
 .../cases/semantic/00305/00305-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00305/00305-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00305/00305-settings.txt        |     8 +
 .../cases/semantic/00306/00306-results.csv         |    52 +
 .../cases/semantic/00306/00306-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00306/00306-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00306/00306-settings.txt        |     8 +
 .../cases/semantic/00307/00307-results.csv         |    52 +
 .../cases/semantic/00307/00307-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00307/00307-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00307/00307-settings.txt        |     8 +
 .../cases/semantic/00308/00308-results.csv         |    52 +
 .../cases/semantic/00308/00308-sbml-l2v4.xml       |    75 +
 .../cases/semantic/00308/00308-sbml-l3v1.xml       |    92 +
 .../cases/semantic/00308/00308-settings.txt        |     8 +
 .../cases/semantic/00309/00309-results.csv         |    52 +
 .../cases/semantic/00309/00309-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00309/00309-sbml-l3v1.xml       |    66 +
 .../cases/semantic/00309/00309-settings.txt        |     8 +
 .../cases/semantic/00310/00310-results.csv         |    52 +
 .../cases/semantic/00310/00310-sbml-l1v2.xml       |    32 +
 .../cases/semantic/00310/00310-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00310/00310-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00310/00310-settings.txt        |     8 +
 .../cases/semantic/00311/00311-results.csv         |    52 +
 .../cases/semantic/00311/00311-sbml-l1v2.xml       |    32 +
 .../cases/semantic/00311/00311-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00311/00311-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00311/00311-settings.txt        |     8 +
 .../cases/semantic/00312/00312-results.csv         |    52 +
 .../cases/semantic/00312/00312-sbml-l1v2.xml       |    32 +
 .../cases/semantic/00312/00312-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00312/00312-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00312/00312-settings.txt        |     8 +
 .../cases/semantic/00313/00313-results.csv         |    52 +
 .../cases/semantic/00313/00313-sbml-l1v2.xml       |    45 +
 .../cases/semantic/00313/00313-sbml-l2v4.xml       |    76 +
 .../cases/semantic/00313/00313-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00313/00313-settings.txt        |     8 +
 .../cases/semantic/00314/00314-results.csv         |    52 +
 .../cases/semantic/00314/00314-sbml-l1v2.xml       |    45 +
 .../cases/semantic/00314/00314-sbml-l2v4.xml       |    76 +
 .../cases/semantic/00314/00314-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00314/00314-settings.txt        |     8 +
 .../cases/semantic/00315/00315-results.csv         |    52 +
 .../cases/semantic/00315/00315-sbml-l1v2.xml       |    45 +
 .../cases/semantic/00315/00315-sbml-l2v4.xml       |    76 +
 .../cases/semantic/00315/00315-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00315/00315-settings.txt        |     8 +
 .../cases/semantic/00316/00316-results.csv         |    52 +
 .../cases/semantic/00316/00316-sbml-l1v2.xml       |    48 +
 .../cases/semantic/00316/00316-sbml-l2v4.xml       |    80 +
 .../cases/semantic/00316/00316-sbml-l3v1.xml       |    97 +
 .../cases/semantic/00316/00316-settings.txt        |     8 +
 .../cases/semantic/00317/00317-results.csv         |    52 +
 .../cases/semantic/00317/00317-sbml-l1v2.xml       |    48 +
 .../cases/semantic/00317/00317-sbml-l2v4.xml       |    80 +
 .../cases/semantic/00317/00317-sbml-l3v1.xml       |    97 +
 .../cases/semantic/00317/00317-settings.txt        |     8 +
 .../cases/semantic/00318/00318-results.csv         |    52 +
 .../cases/semantic/00318/00318-sbml-l1v2.xml       |    48 +
 .../cases/semantic/00318/00318-sbml-l2v4.xml       |    80 +
 .../cases/semantic/00318/00318-sbml-l3v1.xml       |    97 +
 .../cases/semantic/00318/00318-settings.txt        |     8 +
 .../cases/semantic/00319/00319-results.csv         |    52 +
 .../cases/semantic/00319/00319-sbml-l2v4.xml       |    43 +
 .../cases/semantic/00319/00319-sbml-l3v1.xml       |    60 +
 .../cases/semantic/00319/00319-settings.txt        |     8 +
 .../cases/semantic/00320/00320-results.csv         |    52 +
 .../cases/semantic/00320/00320-sbml-l2v4.xml       |    43 +
 .../cases/semantic/00320/00320-sbml-l3v1.xml       |    60 +
 .../cases/semantic/00320/00320-settings.txt        |     8 +
 .../cases/semantic/00321/00321-results.csv         |    52 +
 .../cases/semantic/00321/00321-sbml-l2v4.xml       |    42 +
 .../cases/semantic/00321/00321-sbml-l3v1.xml       |    54 +
 .../cases/semantic/00321/00321-settings.txt        |     8 +
 .../cases/semantic/00322/00322-results.csv         |    52 +
 .../cases/semantic/00322/00322-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00322/00322-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00322/00322-settings.txt        |     8 +
 .../cases/semantic/00323/00323-results.csv         |    52 +
 .../cases/semantic/00323/00323-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00323/00323-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00323/00323-settings.txt        |     8 +
 .../cases/semantic/00324/00324-results.csv         |    52 +
 .../cases/semantic/00324/00324-sbml-l2v4.xml       |    64 +
 .../cases/semantic/00324/00324-sbml-l3v1.xml       |    76 +
 .../cases/semantic/00324/00324-settings.txt        |     8 +
 .../cases/semantic/00325/00325-results.csv         |    52 +
 .../cases/semantic/00325/00325-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00325/00325-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00325/00325-settings.txt        |     8 +
 .../cases/semantic/00326/00326-results.csv         |    52 +
 .../cases/semantic/00326/00326-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00326/00326-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00326/00326-settings.txt        |     8 +
 .../cases/semantic/00327/00327-results.csv         |    52 +
 .../cases/semantic/00327/00327-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00327/00327-sbml-l3v1.xml       |    69 +
 .../cases/semantic/00327/00327-settings.txt        |     8 +
 .../cases/semantic/00328/00328-results.csv         |    52 +
 .../cases/semantic/00328/00328-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00328/00328-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00328/00328-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00328/00328-settings.txt        |     8 +
 .../cases/semantic/00329/00329-results.csv         |    52 +
 .../cases/semantic/00329/00329-sbml-l1v2.xml       |    30 +
 .../cases/semantic/00329/00329-sbml-l2v4.xml       |    43 +
 .../cases/semantic/00329/00329-sbml-l3v1.xml       |    60 +
 .../cases/semantic/00329/00329-settings.txt        |     8 +
 .../cases/semantic/00330/00330-results.csv         |    52 +
 .../cases/semantic/00330/00330-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00330/00330-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00330/00330-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00330/00330-settings.txt        |     8 +
 .../cases/semantic/00331/00331-results.csv         |    52 +
 .../cases/semantic/00331/00331-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00331/00331-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00331/00331-settings.txt        |     8 +
 .../cases/semantic/00332/00332-results.csv         |    52 +
 .../cases/semantic/00332/00332-sbml-l2v4.xml       |    64 +
 .../cases/semantic/00332/00332-sbml-l3v1.xml       |    81 +
 .../cases/semantic/00332/00332-settings.txt        |     8 +
 .../cases/semantic/00333/00333-results.csv         |    52 +
 .../cases/semantic/00333/00333-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00333/00333-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00333/00333-settings.txt        |     8 +
 .../cases/semantic/00334/00334-results.csv         |    52 +
 .../cases/semantic/00334/00334-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00334/00334-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00334/00334-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00334/00334-settings.txt        |     8 +
 .../cases/semantic/00335/00335-results.csv         |    52 +
 .../cases/semantic/00335/00335-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00335/00335-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00335/00335-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00335/00335-settings.txt        |     8 +
 .../cases/semantic/00336/00336-results.csv         |    52 +
 .../cases/semantic/00336/00336-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00336/00336-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00336/00336-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00336/00336-settings.txt        |     8 +
 .../cases/semantic/00337/00337-results.csv         |    52 +
 .../cases/semantic/00337/00337-sbml-l1v2.xml       |    31 +
 .../cases/semantic/00337/00337-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00337/00337-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00337/00337-settings.txt        |     8 +
 .../cases/semantic/00338/00338-results.csv         |    52 +
 .../cases/semantic/00338/00338-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00338/00338-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00338/00338-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00338/00338-settings.txt        |     8 +
 .../cases/semantic/00339/00339-results.csv         |    52 +
 .../cases/semantic/00339/00339-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00339/00339-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00339/00339-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00339/00339-settings.txt        |     8 +
 .../cases/semantic/00340/00340-results.csv         |    52 +
 .../cases/semantic/00340/00340-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00340/00340-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00340/00340-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00340/00340-settings.txt        |     8 +
 .../cases/semantic/00341/00341-results.csv         |    52 +
 .../cases/semantic/00341/00341-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00341/00341-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00341/00341-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00341/00341-settings.txt        |     8 +
 .../cases/semantic/00342/00342-results.csv         |    52 +
 .../cases/semantic/00342/00342-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00342/00342-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00342/00342-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00342/00342-settings.txt        |     8 +
 .../cases/semantic/00343/00343-results.csv         |    52 +
 .../cases/semantic/00343/00343-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00343/00343-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00343/00343-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00343/00343-settings.txt        |     8 +
 .../cases/semantic/00344/00344-results.csv         |    52 +
 .../cases/semantic/00344/00344-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00344/00344-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00344/00344-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00344/00344-settings.txt        |     8 +
 .../cases/semantic/00345/00345-results.csv         |    52 +
 .../cases/semantic/00345/00345-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00345/00345-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00345/00345-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00345/00345-settings.txt        |     8 +
 .../cases/semantic/00346/00346-results.csv         |    52 +
 .../cases/semantic/00346/00346-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00346/00346-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00346/00346-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00346/00346-settings.txt        |     8 +
 .../cases/semantic/00347/00347-results.csv         |    52 +
 .../cases/semantic/00347/00347-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00347/00347-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00347/00347-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00347/00347-settings.txt        |     8 +
 .../cases/semantic/00348/00348-results.csv         |    52 +
 .../cases/semantic/00348/00348-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00348/00348-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00348/00348-settings.txt        |     8 +
 .../cases/semantic/00349/00349-results.csv         |    52 +
 .../cases/semantic/00349/00349-sbml-l2v4.xml       |    96 +
 .../cases/semantic/00349/00349-sbml-l3v1.xml       |   113 +
 .../cases/semantic/00349/00349-settings.txt        |     8 +
 .../cases/semantic/00350/00350-results.csv         |    52 +
 .../cases/semantic/00350/00350-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00350/00350-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00350/00350-settings.txt        |     8 +
 .../cases/semantic/00351/00351-results.csv         |    52 +
 .../cases/semantic/00351/00351-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00351/00351-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00351/00351-settings.txt        |     8 +
 .../cases/semantic/00352/00352-results.csv         |    52 +
 .../cases/semantic/00352/00352-sbml-l2v4.xml       |   100 +
 .../cases/semantic/00352/00352-sbml-l3v1.xml       |   117 +
 .../cases/semantic/00352/00352-settings.txt        |     8 +
 .../cases/semantic/00353/00353-results.csv         |    52 +
 .../cases/semantic/00353/00353-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00353/00353-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00353/00353-settings.txt        |     8 +
 .../cases/semantic/00354/00354-results.csv         |    52 +
 .../cases/semantic/00354/00354-sbml-l2v4.xml       |   103 +
 .../cases/semantic/00354/00354-sbml-l3v1.xml       |   120 +
 .../cases/semantic/00354/00354-settings.txt        |     8 +
 .../cases/semantic/00355/00355-results.csv         |    52 +
 .../cases/semantic/00355/00355-sbml-l2v4.xml       |    97 +
 .../cases/semantic/00355/00355-sbml-l3v1.xml       |   114 +
 .../cases/semantic/00355/00355-settings.txt        |     8 +
 .../cases/semantic/00356/00356-results.csv         |    52 +
 .../cases/semantic/00356/00356-sbml-l2v4.xml       |   146 +
 .../cases/semantic/00356/00356-sbml-l3v1.xml       |   163 +
 .../cases/semantic/00356/00356-settings.txt        |     8 +
 .../cases/semantic/00357/00357-results.csv         |    52 +
 .../cases/semantic/00357/00357-sbml-l2v4.xml       |   142 +
 .../cases/semantic/00357/00357-sbml-l3v1.xml       |   159 +
 .../cases/semantic/00357/00357-settings.txt        |     8 +
 .../cases/semantic/00358/00358-results.csv         |    52 +
 .../cases/semantic/00358/00358-sbml-l2v4.xml       |   102 +
 .../cases/semantic/00358/00358-sbml-l3v1.xml       |   119 +
 .../cases/semantic/00358/00358-settings.txt        |     8 +
 .../cases/semantic/00359/00359-results.csv         |    52 +
 .../cases/semantic/00359/00359-sbml-l2v4.xml       |   125 +
 .../cases/semantic/00359/00359-sbml-l3v1.xml       |   142 +
 .../cases/semantic/00359/00359-settings.txt        |     8 +
 .../cases/semantic/00360/00360-results.csv         |    52 +
 .../cases/semantic/00360/00360-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00360/00360-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00360/00360-settings.txt        |     8 +
 .../cases/semantic/00361/00361-results.csv         |    52 +
 .../cases/semantic/00361/00361-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00361/00361-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00361/00361-settings.txt        |     8 +
 .../cases/semantic/00362/00362-results.csv         |    52 +
 .../cases/semantic/00362/00362-sbml-l2v4.xml       |    76 +
 .../cases/semantic/00362/00362-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00362/00362-settings.txt        |     8 +
 .../cases/semantic/00363/00363-results.csv         |    52 +
 .../cases/semantic/00363/00363-sbml-l2v4.xml       |    96 +
 .../cases/semantic/00363/00363-sbml-l3v1.xml       |   113 +
 .../cases/semantic/00363/00363-settings.txt        |     8 +
 .../cases/semantic/00364/00364-results.csv         |    52 +
 .../cases/semantic/00364/00364-sbml-l2v4.xml       |    96 +
 .../cases/semantic/00364/00364-sbml-l3v1.xml       |   113 +
 .../cases/semantic/00364/00364-settings.txt        |     8 +
 .../cases/semantic/00365/00365-results.csv         |    52 +
 .../cases/semantic/00365/00365-sbml-l2v4.xml       |    94 +
 .../cases/semantic/00365/00365-sbml-l3v1.xml       |   106 +
 .../cases/semantic/00365/00365-settings.txt        |     8 +
 .../cases/semantic/00366/00366-results.csv         |    52 +
 .../cases/semantic/00366/00366-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00366/00366-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00366/00366-settings.txt        |     8 +
 .../cases/semantic/00367/00367-results.csv         |    52 +
 .../cases/semantic/00367/00367-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00367/00367-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00367/00367-settings.txt        |     8 +
 .../cases/semantic/00368/00368-results.csv         |    52 +
 .../cases/semantic/00368/00368-sbml-l2v4.xml       |    81 +
 .../cases/semantic/00368/00368-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00368/00368-settings.txt        |     8 +
 .../cases/semantic/00369/00369-results.csv         |    52 +
 .../cases/semantic/00369/00369-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00369/00369-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00369/00369-settings.txt        |     8 +
 .../cases/semantic/00370/00370-results.csv         |    52 +
 .../cases/semantic/00370/00370-sbml-l2v4.xml       |    96 +
 .../cases/semantic/00370/00370-sbml-l3v1.xml       |   113 +
 .../cases/semantic/00370/00370-settings.txt        |     8 +
 .../cases/semantic/00371/00371-results.csv         |    52 +
 .../cases/semantic/00371/00371-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00371/00371-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00371/00371-settings.txt        |     8 +
 .../cases/semantic/00372/00372-results.csv         |    52 +
 .../cases/semantic/00372/00372-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00372/00372-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00372/00372-settings.txt        |     8 +
 .../cases/semantic/00373/00373-results.csv         |    52 +
 .../cases/semantic/00373/00373-sbml-l2v4.xml       |   100 +
 .../cases/semantic/00373/00373-sbml-l3v1.xml       |   117 +
 .../cases/semantic/00373/00373-settings.txt        |     8 +
 .../cases/semantic/00374/00374-results.csv         |    52 +
 .../cases/semantic/00374/00374-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00374/00374-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00374/00374-settings.txt        |     8 +
 .../cases/semantic/00375/00375-results.csv         |    52 +
 .../cases/semantic/00375/00375-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00375/00375-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00375/00375-settings.txt        |     8 +
 .../cases/semantic/00376/00376-results.csv         |    52 +
 .../cases/semantic/00376/00376-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00376/00376-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00376/00376-settings.txt        |     8 +
 .../cases/semantic/00377/00377-results.csv         |    52 +
 .../cases/semantic/00377/00377-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00377/00377-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00377/00377-settings.txt        |     8 +
 .../cases/semantic/00378/00378-results.csv         |    52 +
 .../cases/semantic/00378/00378-sbml-l2v4.xml       |    96 +
 .../cases/semantic/00378/00378-sbml-l3v1.xml       |   113 +
 .../cases/semantic/00378/00378-settings.txt        |     8 +
 .../cases/semantic/00379/00379-results.csv         |    52 +
 .../cases/semantic/00379/00379-sbml-l2v4.xml       |    96 +
 .../cases/semantic/00379/00379-sbml-l3v1.xml       |   113 +
 .../cases/semantic/00379/00379-settings.txt        |     8 +
 .../cases/semantic/00380/00380-results.csv         |    52 +
 .../cases/semantic/00380/00380-sbml-l2v4.xml       |    96 +
 .../cases/semantic/00380/00380-sbml-l3v1.xml       |   113 +
 .../cases/semantic/00380/00380-settings.txt        |     8 +
 .../cases/semantic/00381/00381-results.csv         |    52 +
 .../cases/semantic/00381/00381-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00381/00381-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00381/00381-settings.txt        |     8 +
 .../cases/semantic/00382/00382-results.csv         |    52 +
 .../cases/semantic/00382/00382-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00382/00382-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00382/00382-settings.txt        |     8 +
 .../cases/semantic/00383/00383-results.csv         |    52 +
 .../cases/semantic/00383/00383-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00383/00383-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00383/00383-settings.txt        |     8 +
 .../cases/semantic/00384/00384-results.csv         |    52 +
 .../cases/semantic/00384/00384-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00384/00384-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00384/00384-settings.txt        |     8 +
 .../cases/semantic/00385/00385-results.csv         |    52 +
 .../cases/semantic/00385/00385-sbml-l2v4.xml       |   101 +
 .../cases/semantic/00385/00385-sbml-l3v1.xml       |   118 +
 .../cases/semantic/00385/00385-settings.txt        |     8 +
 .../cases/semantic/00386/00386-results.csv         |    52 +
 .../cases/semantic/00386/00386-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00386/00386-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00386/00386-settings.txt        |     8 +
 .../cases/semantic/00387/00387-results.csv         |    52 +
 .../cases/semantic/00387/00387-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00387/00387-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00387/00387-settings.txt        |     8 +
 .../cases/semantic/00388/00388-results.csv         |    52 +
 .../cases/semantic/00388/00388-sbml-l2v4.xml       |    89 +
 .../cases/semantic/00388/00388-settings.txt        |     8 +
 .../cases/semantic/00389/00389-results.csv         |    52 +
 .../cases/semantic/00389/00389-sbml-l2v4.xml       |    80 +
 .../cases/semantic/00389/00389-sbml-l3v1.xml       |    97 +
 .../cases/semantic/00389/00389-settings.txt        |     8 +
 .../cases/semantic/00390/00390-results.csv         |    52 +
 .../cases/semantic/00390/00390-sbml-l2v4.xml       |   100 +
 .../cases/semantic/00390/00390-sbml-l3v1.xml       |   117 +
 .../cases/semantic/00390/00390-settings.txt        |     8 +
 .../cases/semantic/00391/00391-results.csv         |    52 +
 .../cases/semantic/00391/00391-sbml-l2v4.xml       |   111 +
 .../cases/semantic/00391/00391-settings.txt        |     8 +
 .../cases/semantic/00392/00392-results.csv         |    52 +
 .../cases/semantic/00392/00392-sbml-l2v4.xml       |   102 +
 .../cases/semantic/00392/00392-sbml-l3v1.xml       |   119 +
 .../cases/semantic/00392/00392-settings.txt        |     8 +
 .../cases/semantic/00393/00393-results.csv         |    52 +
 .../cases/semantic/00393/00393-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00393/00393-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00393/00393-settings.txt        |     8 +
 .../cases/semantic/00394/00394-results.csv         |    52 +
 .../cases/semantic/00394/00394-sbml-l2v4.xml       |    94 +
 .../cases/semantic/00394/00394-settings.txt        |     8 +
 .../cases/semantic/00395/00395-results.csv         |    52 +
 .../cases/semantic/00395/00395-sbml-l2v4.xml       |    85 +
 .../cases/semantic/00395/00395-sbml-l3v1.xml       |   102 +
 .../cases/semantic/00395/00395-settings.txt        |     8 +
 .../cases/semantic/00396/00396-results.csv         |    52 +
 .../cases/semantic/00396/00396-sbml-l2v4.xml       |    91 +
 .../cases/semantic/00396/00396-sbml-l3v1.xml       |    98 +
 .../cases/semantic/00396/00396-settings.txt        |     8 +
 .../cases/semantic/00397/00397-results.csv         |    52 +
 .../cases/semantic/00397/00397-sbml-l2v4.xml       |   109 +
 .../cases/semantic/00397/00397-sbml-l3v1.xml       |   116 +
 .../cases/semantic/00397/00397-settings.txt        |     8 +
 .../cases/semantic/00398/00398-results.csv         |    52 +
 .../cases/semantic/00398/00398-sbml-l2v4.xml       |    96 +
 .../cases/semantic/00398/00398-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00398/00398-settings.txt        |     8 +
 .../cases/semantic/00399/00399-results.csv         |    52 +
 .../cases/semantic/00399/00399-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00399/00399-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00399/00399-settings.txt        |     8 +
 .../cases/semantic/00400/00400-results.csv         |    52 +
 .../cases/semantic/00400/00400-sbml-l2v4.xml       |    99 +
 .../cases/semantic/00400/00400-sbml-l3v1.xml       |   116 +
 .../cases/semantic/00400/00400-settings.txt        |     8 +
 .../cases/semantic/00401/00401-results.csv         |    52 +
 .../cases/semantic/00401/00401-sbml-l2v4.xml       |   104 +
 .../cases/semantic/00401/00401-sbml-l3v1.xml       |   121 +
 .../cases/semantic/00401/00401-settings.txt        |     8 +
 .../cases/semantic/00402/00402-results.csv         |    52 +
 .../cases/semantic/00402/00402-sbml-l2v4.xml       |    96 +
 .../cases/semantic/00402/00402-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00402/00402-settings.txt        |     8 +
 .../cases/semantic/00403/00403-results.csv         |    52 +
 .../cases/semantic/00403/00403-sbml-l2v4.xml       |    94 +
 .../cases/semantic/00403/00403-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00403/00403-settings.txt        |     8 +
 .../cases/semantic/00404/00404-results.csv         |    52 +
 .../cases/semantic/00404/00404-sbml-l2v4.xml       |    99 +
 .../cases/semantic/00404/00404-sbml-l3v1.xml       |   106 +
 .../cases/semantic/00404/00404-settings.txt        |     8 +
 .../cases/semantic/00405/00405-results.csv         |    52 +
 .../cases/semantic/00405/00405-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00405/00405-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00405/00405-settings.txt        |     8 +
 .../cases/semantic/00406/00406-results.csv         |    52 +
 .../cases/semantic/00406/00406-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00406/00406-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00406/00406-settings.txt        |     8 +
 .../cases/semantic/00407/00407-results.csv         |    52 +
 .../cases/semantic/00407/00407-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00407/00407-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00407/00407-settings.txt        |     8 +
 .../cases/semantic/00408/00408-results.csv         |    52 +
 .../cases/semantic/00408/00408-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00408/00408-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00408/00408-settings.txt        |     8 +
 .../cases/semantic/00409/00409-results.csv         |    52 +
 .../cases/semantic/00409/00409-sbml-l2v4.xml       |   110 +
 .../cases/semantic/00409/00409-sbml-l3v1.xml       |   127 +
 .../cases/semantic/00409/00409-settings.txt        |     8 +
 .../cases/semantic/00410/00410-results.csv         |    52 +
 .../cases/semantic/00410/00410-sbml-l2v4.xml       |    92 +
 .../cases/semantic/00410/00410-sbml-l3v1.xml       |   109 +
 .../cases/semantic/00410/00410-settings.txt        |     8 +
 .../cases/semantic/00411/00411-results.csv         |    52 +
 .../cases/semantic/00411/00411-sbml-l2v4.xml       |   108 +
 .../cases/semantic/00411/00411-sbml-l3v1.xml       |   125 +
 .../cases/semantic/00411/00411-settings.txt        |     8 +
 .../cases/semantic/00412/00412-results.csv         |    52 +
 .../cases/semantic/00412/00412-sbml-l2v4.xml       |   102 +
 .../cases/semantic/00412/00412-sbml-l3v1.xml       |   119 +
 .../cases/semantic/00412/00412-settings.txt        |     8 +
 .../cases/semantic/00413/00413-results.csv         |    52 +
 .../cases/semantic/00413/00413-sbml-l2v4.xml       |   156 +
 .../cases/semantic/00413/00413-sbml-l3v1.xml       |   173 +
 .../cases/semantic/00413/00413-settings.txt        |     8 +
 .../cases/semantic/00414/00414-results.csv         |    52 +
 .../cases/semantic/00414/00414-sbml-l2v4.xml       |   152 +
 .../cases/semantic/00414/00414-sbml-l3v1.xml       |   169 +
 .../cases/semantic/00414/00414-settings.txt        |     8 +
 .../cases/semantic/00415/00415-results.csv         |    52 +
 .../cases/semantic/00415/00415-sbml-l2v4.xml       |   107 +
 .../cases/semantic/00415/00415-sbml-l3v1.xml       |   124 +
 .../cases/semantic/00415/00415-settings.txt        |     8 +
 .../cases/semantic/00416/00416-results.csv         |    52 +
 .../cases/semantic/00416/00416-sbml-l2v4.xml       |   130 +
 .../cases/semantic/00416/00416-sbml-l3v1.xml       |   147 +
 .../cases/semantic/00416/00416-settings.txt        |     8 +
 .../cases/semantic/00417/00417-results.csv         |    52 +
 .../cases/semantic/00417/00417-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00417/00417-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00417/00417-settings.txt        |     8 +
 .../cases/semantic/00418/00418-results.csv         |    52 +
 .../cases/semantic/00418/00418-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00418/00418-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00418/00418-settings.txt        |     8 +
 .../cases/semantic/00419/00419-results.csv         |    52 +
 .../cases/semantic/00419/00419-sbml-l2v4.xml       |    81 +
 .../cases/semantic/00419/00419-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00419/00419-settings.txt        |     8 +
 .../cases/semantic/00420/00420-results.csv         |    52 +
 .../cases/semantic/00420/00420-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00420/00420-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00420/00420-settings.txt        |     8 +
 .../cases/semantic/00421/00421-results.csv         |    52 +
 .../cases/semantic/00421/00421-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00421/00421-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00421/00421-settings.txt        |     8 +
 .../cases/semantic/00422/00422-results.csv         |    52 +
 .../cases/semantic/00422/00422-sbml-l2v4.xml       |   104 +
 .../cases/semantic/00422/00422-sbml-l3v1.xml       |   116 +
 .../cases/semantic/00422/00422-settings.txt        |     8 +
 .../cases/semantic/00423/00423-results.csv         |    52 +
 .../cases/semantic/00423/00423-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00423/00423-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00423/00423-settings.txt        |     8 +
 .../cases/semantic/00424/00424-results.csv         |    52 +
 .../cases/semantic/00424/00424-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00424/00424-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00424/00424-settings.txt        |     8 +
 .../cases/semantic/00425/00425-results.csv         |    52 +
 .../cases/semantic/00425/00425-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00425/00425-sbml-l3v1.xml       |    98 +
 .../cases/semantic/00425/00425-settings.txt        |     8 +
 .../cases/semantic/00426/00426-results.csv         |    52 +
 .../cases/semantic/00426/00426-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00426/00426-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00426/00426-settings.txt        |     8 +
 .../cases/semantic/00427/00427-results.csv         |    52 +
 .../cases/semantic/00427/00427-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00427/00427-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00427/00427-settings.txt        |     8 +
 .../cases/semantic/00428/00428-results.csv         |    52 +
 .../cases/semantic/00428/00428-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00428/00428-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00428/00428-settings.txt        |     8 +
 .../cases/semantic/00429/00429-results.csv         |    52 +
 .../cases/semantic/00429/00429-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00429/00429-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00429/00429-settings.txt        |     8 +
 .../cases/semantic/00430/00430-results.csv         |    52 +
 .../cases/semantic/00430/00430-sbml-l2v4.xml       |   110 +
 .../cases/semantic/00430/00430-sbml-l3v1.xml       |   127 +
 .../cases/semantic/00430/00430-settings.txt        |     8 +
 .../cases/semantic/00431/00431-results.csv         |    52 +
 .../cases/semantic/00431/00431-sbml-l2v4.xml       |    92 +
 .../cases/semantic/00431/00431-sbml-l3v1.xml       |   109 +
 .../cases/semantic/00431/00431-settings.txt        |     8 +
 .../cases/semantic/00432/00432-results.csv         |    52 +
 .../cases/semantic/00432/00432-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00432/00432-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00432/00432-settings.txt        |     8 +
 .../cases/semantic/00433/00433-results.csv         |    52 +
 .../cases/semantic/00433/00433-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00433/00433-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00433/00433-settings.txt        |     8 +
 .../cases/semantic/00434/00434-results.csv         |    52 +
 .../cases/semantic/00434/00434-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00434/00434-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00434/00434-settings.txt        |     8 +
 .../cases/semantic/00435/00435-results.csv         |    52 +
 .../cases/semantic/00435/00435-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00435/00435-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00435/00435-settings.txt        |     8 +
 .../cases/semantic/00436/00436-results.csv         |    52 +
 .../cases/semantic/00436/00436-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00436/00436-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00436/00436-settings.txt        |     8 +
 .../cases/semantic/00437/00437-results.csv         |    52 +
 .../cases/semantic/00437/00437-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00437/00437-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00437/00437-settings.txt        |     8 +
 .../cases/semantic/00438/00438-results.csv         |    52 +
 .../cases/semantic/00438/00438-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00438/00438-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00438/00438-settings.txt        |     8 +
 .../cases/semantic/00439/00439-results.csv         |    52 +
 .../cases/semantic/00439/00439-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00439/00439-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00439/00439-settings.txt        |     8 +
 .../cases/semantic/00440/00440-results.csv         |    52 +
 .../cases/semantic/00440/00440-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00440/00440-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00440/00440-settings.txt        |     8 +
 .../cases/semantic/00441/00441-results.csv         |    52 +
 .../cases/semantic/00441/00441-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00441/00441-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00441/00441-settings.txt        |     8 +
 .../cases/semantic/00442/00442-results.csv         |    52 +
 .../cases/semantic/00442/00442-sbml-l2v4.xml       |   111 +
 .../cases/semantic/00442/00442-sbml-l3v1.xml       |   128 +
 .../cases/semantic/00442/00442-settings.txt        |     8 +
 .../cases/semantic/00443/00443-results.csv         |    52 +
 .../cases/semantic/00443/00443-sbml-l2v4.xml       |    93 +
 .../cases/semantic/00443/00443-sbml-l3v1.xml       |   110 +
 .../cases/semantic/00443/00443-settings.txt        |     8 +
 .../cases/semantic/00444/00444-results.csv         |    52 +
 .../cases/semantic/00444/00444-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00444/00444-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00444/00444-settings.txt        |     8 +
 .../cases/semantic/00445/00445-results.csv         |    52 +
 .../cases/semantic/00445/00445-sbml-l2v4.xml       |    94 +
 .../cases/semantic/00445/00445-settings.txt        |     8 +
 .../cases/semantic/00446/00446-results.csv         |    52 +
 .../cases/semantic/00446/00446-sbml-l2v4.xml       |    85 +
 .../cases/semantic/00446/00446-sbml-l3v1.xml       |   102 +
 .../cases/semantic/00446/00446-settings.txt        |     8 +
 .../cases/semantic/00447/00447-results.csv         |    52 +
 .../cases/semantic/00447/00447-sbml-l2v4.xml       |   110 +
 .../cases/semantic/00447/00447-sbml-l3v1.xml       |   127 +
 .../cases/semantic/00447/00447-settings.txt        |     8 +
 .../cases/semantic/00448/00448-results.csv         |    52 +
 .../cases/semantic/00448/00448-sbml-l2v4.xml       |   121 +
 .../cases/semantic/00448/00448-settings.txt        |     8 +
 .../cases/semantic/00449/00449-results.csv         |    52 +
 .../cases/semantic/00449/00449-sbml-l2v4.xml       |   112 +
 .../cases/semantic/00449/00449-sbml-l3v1.xml       |   129 +
 .../cases/semantic/00449/00449-settings.txt        |     8 +
 .../cases/semantic/00450/00450-results.csv         |    52 +
 .../cases/semantic/00450/00450-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00450/00450-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00450/00450-settings.txt        |     8 +
 .../cases/semantic/00451/00451-results.csv         |    52 +
 .../cases/semantic/00451/00451-sbml-l2v4.xml       |    99 +
 .../cases/semantic/00451/00451-settings.txt        |     8 +
 .../cases/semantic/00452/00452-results.csv         |    52 +
 .../cases/semantic/00452/00452-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00452/00452-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00452/00452-settings.txt        |     8 +
 .../cases/semantic/00453/00453-results.csv         |    52 +
 .../cases/semantic/00453/00453-sbml-l2v4.xml       |    96 +
 .../cases/semantic/00453/00453-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00453/00453-settings.txt        |     8 +
 .../cases/semantic/00454/00454-results.csv         |    52 +
 .../cases/semantic/00454/00454-sbml-l2v4.xml       |   119 +
 .../cases/semantic/00454/00454-sbml-l3v1.xml       |   126 +
 .../cases/semantic/00454/00454-settings.txt        |     8 +
 .../cases/semantic/00455/00455-results.csv         |    52 +
 .../cases/semantic/00455/00455-sbml-l2v4.xml       |   101 +
 .../cases/semantic/00455/00455-sbml-l3v1.xml       |   108 +
 .../cases/semantic/00455/00455-settings.txt        |     8 +
 .../cases/semantic/00456/00456-results.csv         |    52 +
 .../cases/semantic/00456/00456-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00456/00456-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00456/00456-settings.txt        |     8 +
 .../cases/semantic/00457/00457-results.csv         |    52 +
 .../cases/semantic/00457/00457-sbml-l2v4.xml       |   104 +
 .../cases/semantic/00457/00457-sbml-l3v1.xml       |   121 +
 .../cases/semantic/00457/00457-settings.txt        |     8 +
 .../cases/semantic/00458/00458-results.csv         |    52 +
 .../cases/semantic/00458/00458-sbml-l2v4.xml       |   109 +
 .../cases/semantic/00458/00458-sbml-l3v1.xml       |   126 +
 .../cases/semantic/00458/00458-settings.txt        |     8 +
 .../cases/semantic/00459/00459-results.csv         |    52 +
 .../cases/semantic/00459/00459-sbml-l2v4.xml       |   101 +
 .../cases/semantic/00459/00459-sbml-l3v1.xml       |   108 +
 .../cases/semantic/00459/00459-settings.txt        |     8 +
 .../cases/semantic/00460/00460-results.csv         |    52 +
 .../cases/semantic/00460/00460-sbml-l2v4.xml       |    99 +
 .../cases/semantic/00460/00460-sbml-l3v1.xml       |   106 +
 .../cases/semantic/00460/00460-settings.txt        |     8 +
 .../cases/semantic/00461/00461-results.csv         |    52 +
 .../cases/semantic/00461/00461-sbml-l2v4.xml       |   104 +
 .../cases/semantic/00461/00461-sbml-l3v1.xml       |   111 +
 .../cases/semantic/00461/00461-settings.txt        |     8 +
 .../cases/semantic/00462/00462-results.csv         |    52 +
 .../cases/semantic/00462/00462-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00462/00462-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00462/00462-settings.txt        |     8 +
 .../cases/semantic/00463/00463-results.csv         |    52 +
 .../cases/semantic/00463/00463-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00463/00463-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00463/00463-settings.txt        |     8 +
 .../cases/semantic/00464/00464-results.csv         |    52 +
 .../cases/semantic/00464/00464-sbml-l2v4.xml       |    54 +
 .../cases/semantic/00464/00464-sbml-l3v1.xml       |    71 +
 .../cases/semantic/00464/00464-settings.txt        |     8 +
 .../cases/semantic/00465/00465-results.csv         |    52 +
 .../cases/semantic/00465/00465-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00465/00465-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00465/00465-settings.txt        |     8 +
 .../cases/semantic/00466/00466-results.csv         |    52 +
 .../cases/semantic/00466/00466-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00466/00466-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00466/00466-settings.txt        |     8 +
 .../cases/semantic/00467/00467-results.csv         |    52 +
 .../cases/semantic/00467/00467-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00467/00467-sbml-l3v1.xml       |    96 +
 .../cases/semantic/00467/00467-settings.txt        |     8 +
 .../cases/semantic/00468/00468-results.csv         |    52 +
 .../cases/semantic/00468/00468-sbml-l2v4.xml       |    75 +
 .../cases/semantic/00468/00468-sbml-l3v1.xml       |    92 +
 .../cases/semantic/00468/00468-settings.txt        |     8 +
 .../cases/semantic/00469/00469-results.csv         |    52 +
 .../cases/semantic/00469/00469-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00469/00469-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00469/00469-settings.txt        |     8 +
 .../cases/semantic/00470/00470-results.csv         |    52 +
 .../cases/semantic/00470/00470-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00470/00470-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00470/00470-settings.txt        |     8 +
 .../cases/semantic/00471/00471-results.csv         |    52 +
 .../cases/semantic/00471/00471-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00471/00471-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00471/00471-settings.txt        |     8 +
 .../cases/semantic/00472/00472-results.csv         |    52 +
 .../cases/semantic/00472/00472-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00472/00472-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00472/00472-settings.txt        |     8 +
 .../cases/semantic/00473/00473-results.csv         |    52 +
 .../cases/semantic/00473/00473-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00473/00473-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00473/00473-settings.txt        |     8 +
 .../cases/semantic/00474/00474-results.csv         |    52 +
 .../cases/semantic/00474/00474-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00474/00474-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00474/00474-settings.txt        |     8 +
 .../cases/semantic/00475/00475-results.csv         |    52 +
 .../cases/semantic/00475/00475-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00475/00475-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00475/00475-settings.txt        |     8 +
 .../cases/semantic/00476/00476-results.csv         |    52 +
 .../cases/semantic/00476/00476-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00476/00476-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00476/00476-settings.txt        |     8 +
 .../cases/semantic/00477/00477-results.csv         |    52 +
 .../cases/semantic/00477/00477-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00477/00477-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00477/00477-settings.txt        |     8 +
 .../cases/semantic/00478/00478-results.csv         |    52 +
 .../cases/semantic/00478/00478-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00478/00478-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00478/00478-settings.txt        |     8 +
 .../cases/semantic/00479/00479-results.csv         |    52 +
 .../cases/semantic/00479/00479-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00479/00479-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00479/00479-settings.txt        |     8 +
 .../cases/semantic/00480/00480-results.csv         |    52 +
 .../cases/semantic/00480/00480-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00480/00480-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00480/00480-settings.txt        |     8 +
 .../cases/semantic/00481/00481-results.csv         |    52 +
 .../cases/semantic/00481/00481-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00481/00481-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00481/00481-settings.txt        |     8 +
 .../cases/semantic/00482/00482-results.csv         |    52 +
 .../cases/semantic/00482/00482-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00482/00482-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00482/00482-settings.txt        |     8 +
 .../cases/semantic/00483/00483-results.csv         |    52 +
 .../cases/semantic/00483/00483-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00483/00483-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00483/00483-settings.txt        |     8 +
 .../cases/semantic/00484/00484-results.csv         |    52 +
 .../cases/semantic/00484/00484-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00484/00484-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00484/00484-settings.txt        |     8 +
 .../cases/semantic/00485/00485-results.csv         |    52 +
 .../cases/semantic/00485/00485-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00485/00485-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00485/00485-settings.txt        |     8 +
 .../cases/semantic/00486/00486-results.csv         |    52 +
 .../cases/semantic/00486/00486-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00486/00486-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00486/00486-settings.txt        |     8 +
 .../cases/semantic/00487/00487-results.csv         |    52 +
 .../cases/semantic/00487/00487-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00487/00487-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00487/00487-settings.txt        |     8 +
 .../cases/semantic/00488/00488-results.csv         |    52 +
 .../cases/semantic/00488/00488-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00488/00488-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00488/00488-settings.txt        |     8 +
 .../cases/semantic/00489/00489-results.csv         |    52 +
 .../cases/semantic/00489/00489-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00489/00489-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00489/00489-settings.txt        |     8 +
 .../cases/semantic/00490/00490-results.csv         |    52 +
 .../cases/semantic/00490/00490-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00490/00490-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00490/00490-settings.txt        |     8 +
 .../cases/semantic/00491/00491-results.csv         |    52 +
 .../cases/semantic/00491/00491-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00491/00491-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00491/00491-settings.txt        |     8 +
 .../cases/semantic/00492/00492-results.csv         |    52 +
 .../cases/semantic/00492/00492-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00492/00492-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00492/00492-settings.txt        |     8 +
 .../cases/semantic/00493/00493-results.csv         |    52 +
 .../cases/semantic/00493/00493-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00493/00493-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00493/00493-settings.txt        |     8 +
 .../cases/semantic/00494/00494-results.csv         |    52 +
 .../cases/semantic/00494/00494-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00494/00494-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00494/00494-settings.txt        |     8 +
 .../cases/semantic/00495/00495-results.csv         |    52 +
 .../cases/semantic/00495/00495-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00495/00495-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00495/00495-settings.txt        |     8 +
 .../cases/semantic/00496/00496-results.csv         |    52 +
 .../cases/semantic/00496/00496-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00496/00496-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00496/00496-settings.txt        |     8 +
 .../cases/semantic/00497/00497-results.csv         |    52 +
 .../cases/semantic/00497/00497-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00497/00497-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00497/00497-settings.txt        |     8 +
 .../cases/semantic/00498/00498-results.csv         |    52 +
 .../cases/semantic/00498/00498-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00498/00498-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00498/00498-settings.txt        |     8 +
 .../cases/semantic/00499/00499-results.csv         |    52 +
 .../cases/semantic/00499/00499-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00499/00499-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00499/00499-settings.txt        |     8 +
 .../cases/semantic/00500/00500-results.csv         |    52 +
 .../cases/semantic/00500/00500-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00500/00500-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00500/00500-settings.txt        |     8 +
 .../cases/semantic/00501/00501-results.csv         |    52 +
 .../cases/semantic/00501/00501-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00501/00501-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00501/00501-settings.txt        |     8 +
 .../cases/semantic/00502/00502-results.csv         |    52 +
 .../cases/semantic/00502/00502-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00502/00502-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00502/00502-settings.txt        |     8 +
 .../cases/semantic/00503/00503-results.csv         |    52 +
 .../cases/semantic/00503/00503-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00503/00503-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00503/00503-settings.txt        |     8 +
 .../cases/semantic/00504/00504-results.csv         |    52 +
 .../cases/semantic/00504/00504-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00504/00504-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00504/00504-settings.txt        |     8 +
 .../cases/semantic/00505/00505-results.csv         |    52 +
 .../cases/semantic/00505/00505-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00505/00505-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00505/00505-settings.txt        |     8 +
 .../cases/semantic/00506/00506-results.csv         |    52 +
 .../cases/semantic/00506/00506-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00506/00506-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00506/00506-settings.txt        |     8 +
 .../cases/semantic/00507/00507-results.csv         |    52 +
 .../cases/semantic/00507/00507-sbml-l2v4.xml       |    52 +
 .../cases/semantic/00507/00507-sbml-l3v1.xml       |    69 +
 .../cases/semantic/00507/00507-settings.txt        |     8 +
 .../cases/semantic/00508/00508-results.csv         |    52 +
 .../cases/semantic/00508/00508-sbml-l2v4.xml       |    52 +
 .../cases/semantic/00508/00508-sbml-l3v1.xml       |    69 +
 .../cases/semantic/00508/00508-settings.txt        |     8 +
 .../cases/semantic/00509/00509-results.csv         |    52 +
 .../cases/semantic/00509/00509-sbml-l2v4.xml       |    52 +
 .../cases/semantic/00509/00509-sbml-l3v1.xml       |    69 +
 .../cases/semantic/00509/00509-settings.txt        |     8 +
 .../cases/semantic/00510/00510-results.csv         |    52 +
 .../cases/semantic/00510/00510-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00510/00510-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00510/00510-settings.txt        |     8 +
 .../cases/semantic/00511/00511-results.csv         |    52 +
 .../cases/semantic/00511/00511-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00511/00511-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00511/00511-settings.txt        |     8 +
 .../cases/semantic/00512/00512-results.csv         |    52 +
 .../cases/semantic/00512/00512-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00512/00512-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00512/00512-settings.txt        |     8 +
 .../cases/semantic/00513/00513-results.csv         |    52 +
 .../cases/semantic/00513/00513-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00513/00513-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00513/00513-settings.txt        |     8 +
 .../cases/semantic/00514/00514-results.csv         |    52 +
 .../cases/semantic/00514/00514-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00514/00514-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00514/00514-settings.txt        |     8 +
 .../cases/semantic/00515/00515-results.csv         |    52 +
 .../cases/semantic/00515/00515-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00515/00515-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00515/00515-settings.txt        |     8 +
 .../cases/semantic/00516/00516-results.csv         |    52 +
 .../cases/semantic/00516/00516-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00516/00516-settings.txt        |     8 +
 .../cases/semantic/00517/00517-results.csv         |    52 +
 .../cases/semantic/00517/00517-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00517/00517-settings.txt        |     8 +
 .../cases/semantic/00518/00518-results.csv         |    52 +
 .../cases/semantic/00518/00518-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00518/00518-settings.txt        |     8 +
 .../cases/semantic/00519/00519-results.csv         |    52 +
 .../cases/semantic/00519/00519-sbml-l2v4.xml       |    81 +
 .../cases/semantic/00519/00519-settings.txt        |     8 +
 .../cases/semantic/00520/00520-results.csv         |    52 +
 .../cases/semantic/00520/00520-sbml-l2v4.xml       |    81 +
 .../cases/semantic/00520/00520-settings.txt        |     8 +
 .../cases/semantic/00521/00521-results.csv         |    52 +
 .../cases/semantic/00521/00521-sbml-l2v4.xml       |    81 +
 .../cases/semantic/00521/00521-settings.txt        |     8 +
 .../cases/semantic/00522/00522-results.csv         |    52 +
 .../cases/semantic/00522/00522-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00522/00522-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00522/00522-settings.txt        |     8 +
 .../cases/semantic/00523/00523-results.csv         |    52 +
 .../cases/semantic/00523/00523-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00523/00523-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00523/00523-settings.txt        |     8 +
 .../cases/semantic/00524/00524-results.csv         |    52 +
 .../cases/semantic/00524/00524-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00524/00524-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00524/00524-settings.txt        |     8 +
 .../cases/semantic/00525/00525-results.csv         |    52 +
 .../cases/semantic/00525/00525-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00525/00525-sbml-l3v1.xml       |    66 +
 .../cases/semantic/00525/00525-settings.txt        |     8 +
 .../cases/semantic/00526/00526-results.csv         |    52 +
 .../cases/semantic/00526/00526-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00526/00526-sbml-l3v1.xml       |    66 +
 .../cases/semantic/00526/00526-settings.txt        |     8 +
 .../cases/semantic/00527/00527-results.csv         |    52 +
 .../cases/semantic/00527/00527-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00527/00527-sbml-l3v1.xml       |    66 +
 .../cases/semantic/00527/00527-settings.txt        |     8 +
 .../cases/semantic/00528/00528-results.csv         |    52 +
 .../cases/semantic/00528/00528-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00528/00528-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00528/00528-settings.txt        |     8 +
 .../cases/semantic/00529/00529-results.csv         |    52 +
 .../cases/semantic/00529/00529-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00529/00529-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00529/00529-settings.txt        |     8 +
 .../cases/semantic/00530/00530-results.csv         |    52 +
 .../cases/semantic/00530/00530-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00530/00530-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00530/00530-settings.txt        |     8 +
 .../cases/semantic/00531/00531-results.csv         |    52 +
 .../cases/semantic/00531/00531-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00531/00531-sbml-l3v1.xml       |    96 +
 .../cases/semantic/00531/00531-settings.txt        |     8 +
 .../cases/semantic/00532/00532-results.csv         |    52 +
 .../cases/semantic/00532/00532-sbml-l1v2.xml       |    41 +
 .../cases/semantic/00532/00532-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00532/00532-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00532/00532-settings.txt        |     8 +
 .../cases/semantic/00533/00533-results.csv         |    52 +
 .../cases/semantic/00533/00533-sbml-l1v2.xml       |    54 +
 .../cases/semantic/00533/00533-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00533/00533-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00533/00533-settings.txt        |     8 +
 .../cases/semantic/00534/00534-results.csv         |    52 +
 .../cases/semantic/00534/00534-sbml-l2v4.xml       |    95 +
 .../cases/semantic/00534/00534-sbml-l3v1.xml       |   112 +
 .../cases/semantic/00534/00534-settings.txt        |     8 +
 .../cases/semantic/00535/00535-results.csv         |    52 +
 .../cases/semantic/00535/00535-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00535/00535-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00535/00535-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00535/00535-settings.txt        |     8 +
 .../cases/semantic/00536/00536-results.csv         |    52 +
 .../cases/semantic/00536/00536-sbml-l1v2.xml       |    40 +
 .../cases/semantic/00536/00536-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00536/00536-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00536/00536-settings.txt        |     8 +
 .../cases/semantic/00537/00537-results.csv         |    52 +
 .../cases/semantic/00537/00537-sbml-l1v2.xml       |    40 +
 .../cases/semantic/00537/00537-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00537/00537-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00537/00537-settings.txt        |     8 +
 .../cases/semantic/00538/00538-results.csv         |    52 +
 .../cases/semantic/00538/00538-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00538/00538-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00538/00538-sbml-l3v1.xml       |    86 +
 .../cases/semantic/00538/00538-settings.txt        |     8 +
 .../cases/semantic/00539/00539-results.csv         |    52 +
 .../cases/semantic/00539/00539-sbml-l1v2.xml       |    40 +
 .../cases/semantic/00539/00539-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00539/00539-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00539/00539-settings.txt        |     8 +
 .../cases/semantic/00540/00540-results.csv         |    52 +
 .../cases/semantic/00540/00540-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00540/00540-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00540/00540-sbml-l3v1.xml       |    86 +
 .../cases/semantic/00540/00540-settings.txt        |     8 +
 .../cases/semantic/00541/00541-results.csv         |    52 +
 .../cases/semantic/00541/00541-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00541/00541-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00541/00541-settings.txt        |     8 +
 .../cases/semantic/00542/00542-results.csv         |    52 +
 .../cases/semantic/00542/00542-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00542/00542-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00542/00542-settings.txt        |     8 +
 .../cases/semantic/00543/00543-results.csv         |    52 +
 .../cases/semantic/00543/00543-sbml-l2v4.xml       |    81 +
 .../cases/semantic/00543/00543-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00543/00543-settings.txt        |     8 +
 .../cases/semantic/00544/00544-results.csv         |    52 +
 .../cases/semantic/00544/00544-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00544/00544-sbml-l3v1.xml       |    86 +
 .../cases/semantic/00544/00544-settings.txt        |     8 +
 .../cases/semantic/00545/00545-results.csv         |    52 +
 .../cases/semantic/00545/00545-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00545/00545-sbml-l3v1.xml       |    86 +
 .../cases/semantic/00545/00545-settings.txt        |     8 +
 .../cases/semantic/00546/00546-results.csv         |    52 +
 .../cases/semantic/00546/00546-sbml-l2v4.xml       |    72 +
 .../cases/semantic/00546/00546-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00546/00546-settings.txt        |     8 +
 .../cases/semantic/00547/00547-results.csv         |    52 +
 .../cases/semantic/00547/00547-sbml-l1v2.xml       |    40 +
 .../cases/semantic/00547/00547-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00547/00547-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00547/00547-settings.txt        |     8 +
 .../cases/semantic/00548/00548-results.csv         |    52 +
 .../cases/semantic/00548/00548-sbml-l1v2.xml       |    42 +
 .../cases/semantic/00548/00548-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00548/00548-sbml-l3v1.xml       |    86 +
 .../cases/semantic/00548/00548-settings.txt        |     8 +
 .../cases/semantic/00549/00549-results.csv         |    52 +
 .../cases/semantic/00549/00549-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00549/00549-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00549/00549-settings.txt        |     8 +
 .../cases/semantic/00550/00550-results.csv         |    52 +
 .../cases/semantic/00550/00550-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00550/00550-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00550/00550-settings.txt        |     8 +
 .../cases/semantic/00551/00551-results.csv         |    52 +
 .../cases/semantic/00551/00551-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00551/00551-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00551/00551-settings.txt        |     8 +
 .../cases/semantic/00552/00552-results.csv         |    52 +
 .../cases/semantic/00552/00552-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00552/00552-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00552/00552-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00552/00552-settings.txt        |     8 +
 .../cases/semantic/00553/00553-results.csv         |    52 +
 .../cases/semantic/00553/00553-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00553/00553-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00553/00553-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00553/00553-settings.txt        |     8 +
 .../cases/semantic/00554/00554-results.csv         |    52 +
 .../cases/semantic/00554/00554-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00554/00554-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00554/00554-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00554/00554-settings.txt        |     8 +
 .../cases/semantic/00555/00555-results.csv         |    52 +
 .../cases/semantic/00555/00555-sbml-l2v4.xml       |    85 +
 .../cases/semantic/00555/00555-sbml-l3v1.xml       |   102 +
 .../cases/semantic/00555/00555-settings.txt        |     8 +
 .../cases/semantic/00556/00556-results.csv         |    52 +
 .../cases/semantic/00556/00556-sbml-l2v4.xml       |    80 +
 .../cases/semantic/00556/00556-sbml-l3v1.xml       |    97 +
 .../cases/semantic/00556/00556-settings.txt        |     8 +
 .../cases/semantic/00557/00557-results.csv         |    52 +
 .../cases/semantic/00557/00557-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00557/00557-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00557/00557-settings.txt        |     8 +
 .../cases/semantic/00558/00558-results.csv         |    52 +
 .../cases/semantic/00558/00558-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00558/00558-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00558/00558-settings.txt        |     8 +
 .../cases/semantic/00559/00559-results.csv         |    52 +
 .../cases/semantic/00559/00559-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00559/00559-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00559/00559-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00559/00559-settings.txt        |     8 +
 .../cases/semantic/00560/00560-results.csv         |    52 +
 .../cases/semantic/00560/00560-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00560/00560-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00560/00560-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00560/00560-settings.txt        |     8 +
 .../cases/semantic/00561/00561-results.csv         |    52 +
 .../cases/semantic/00561/00561-sbml-l2v4.xml       |    94 +
 .../cases/semantic/00561/00561-settings.txt        |     8 +
 .../cases/semantic/00562/00562-results.csv         |    52 +
 .../cases/semantic/00562/00562-sbml-l2v4.xml       |    94 +
 .../cases/semantic/00562/00562-settings.txt        |     8 +
 .../cases/semantic/00563/00563-results.csv         |    52 +
 .../cases/semantic/00563/00563-sbml-l2v4.xml       |    85 +
 .../cases/semantic/00563/00563-settings.txt        |     8 +
 .../cases/semantic/00564/00564-results.csv         |    52 +
 .../cases/semantic/00564/00564-sbml-l2v4.xml       |    85 +
 .../cases/semantic/00564/00564-settings.txt        |     8 +
 .../cases/semantic/00565/00565-results.csv         |    52 +
 .../cases/semantic/00565/00565-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00565/00565-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00565/00565-settings.txt        |     8 +
 .../cases/semantic/00566/00566-results.csv         |    52 +
 .../cases/semantic/00566/00566-sbml-l1v2.xml       |    47 +
 .../cases/semantic/00566/00566-sbml-l2v4.xml       |    76 +
 .../cases/semantic/00566/00566-sbml-l3v1.xml       |    93 +
 .../cases/semantic/00566/00566-settings.txt        |     8 +
 .../cases/semantic/00567/00567-results.csv         |    52 +
 .../cases/semantic/00567/00567-sbml-l2v4.xml       |   102 +
 .../cases/semantic/00567/00567-sbml-l3v1.xml       |   119 +
 .../cases/semantic/00567/00567-settings.txt        |     8 +
 .../cases/semantic/00568/00568-results.csv         |    52 +
 .../cases/semantic/00568/00568-sbml-l2v4.xml       |    95 +
 .../cases/semantic/00568/00568-sbml-l3v1.xml       |   112 +
 .../cases/semantic/00568/00568-settings.txt        |     8 +
 .../cases/semantic/00569/00569-results.csv         |    52 +
 .../cases/semantic/00569/00569-sbml-l2v4.xml       |   113 +
 .../cases/semantic/00569/00569-sbml-l3v1.xml       |   130 +
 .../cases/semantic/00569/00569-settings.txt        |     8 +
 .../cases/semantic/00570/00570-results.csv         |    52 +
 .../cases/semantic/00570/00570-sbml-l2v4.xml       |   117 +
 .../cases/semantic/00570/00570-sbml-l3v1.xml       |   134 +
 .../cases/semantic/00570/00570-settings.txt        |     8 +
 .../cases/semantic/00571/00571-results.csv         |    52 +
 .../cases/semantic/00571/00571-sbml-l2v4.xml       |   119 +
 .../cases/semantic/00571/00571-sbml-l3v1.xml       |   136 +
 .../cases/semantic/00571/00571-settings.txt        |     8 +
 .../cases/semantic/00572/00572-results.csv         |    52 +
 .../cases/semantic/00572/00572-sbml-l2v4.xml       |    98 +
 .../cases/semantic/00572/00572-sbml-l3v1.xml       |   115 +
 .../cases/semantic/00572/00572-settings.txt        |     8 +
 .../cases/semantic/00573/00573-results.csv         |    52 +
 .../cases/semantic/00573/00573-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00573/00573-sbml-l3v1.xml       |    81 +
 .../cases/semantic/00573/00573-settings.txt        |     8 +
 .../cases/semantic/00574/00574-results.csv         |    52 +
 .../cases/semantic/00574/00574-sbml-l1v2.xml       |    22 +
 .../cases/semantic/00574/00574-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00574/00574-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00574/00574-settings.txt        |     8 +
 .../cases/semantic/00575/00575-results.csv         |    52 +
 .../cases/semantic/00575/00575-sbml-l1v2.xml       |    24 +
 .../cases/semantic/00575/00575-sbml-l2v4.xml       |   102 +
 .../cases/semantic/00575/00575-sbml-l3v1.xml       |   109 +
 .../cases/semantic/00575/00575-settings.txt        |     8 +
 .../cases/semantic/00576/00576-results.csv         |    52 +
 .../cases/semantic/00576/00576-sbml-l1v2.xml       |    22 +
 .../cases/semantic/00576/00576-sbml-l2v4.xml       |    85 +
 .../cases/semantic/00576/00576-sbml-l3v1.xml       |    92 +
 .../cases/semantic/00576/00576-settings.txt        |     8 +
 .../cases/semantic/00577/00577-results.csv         |    52 +
 .../cases/semantic/00577/00577-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00577/00577-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00577/00577-settings.txt        |     8 +
 .../cases/semantic/00578/00578-results.csv         |    52 +
 .../cases/semantic/00578/00578-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00578/00578-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00578/00578-settings.txt        |     8 +
 .../cases/semantic/00579/00579-results.csv         |    52 +
 .../cases/semantic/00579/00579-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00579/00579-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00579/00579-settings.txt        |     8 +
 .../cases/semantic/00580/00580-results.csv         |    52 +
 .../cases/semantic/00580/00580-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00580/00580-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00580/00580-settings.txt        |     8 +
 .../cases/semantic/00581/00581-results.csv         |    52 +
 .../cases/semantic/00581/00581-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00581/00581-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00581/00581-settings.txt        |     8 +
 .../cases/semantic/00582/00582-results.csv         |    52 +
 .../cases/semantic/00582/00582-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00582/00582-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00582/00582-settings.txt        |     8 +
 .../cases/semantic/00583/00583-results.csv         |    52 +
 .../cases/semantic/00583/00583-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00583/00583-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00583/00583-settings.txt        |     8 +
 .../cases/semantic/00584/00584-results.csv         |    52 +
 .../cases/semantic/00584/00584-sbml-l2v4.xml       |    79 +
 .../cases/semantic/00584/00584-sbml-l3v1.xml       |    96 +
 .../cases/semantic/00584/00584-settings.txt        |     8 +
 .../cases/semantic/00585/00585-results.csv         |    52 +
 .../cases/semantic/00585/00585-sbml-l2v4.xml       |    75 +
 .../cases/semantic/00585/00585-sbml-l3v1.xml       |    92 +
 .../cases/semantic/00585/00585-settings.txt        |     8 +
 .../cases/semantic/00586/00586-results.csv         |    52 +
 .../cases/semantic/00586/00586-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00586/00586-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00586/00586-settings.txt        |     8 +
 .../cases/semantic/00587/00587-results.csv         |    52 +
 .../cases/semantic/00587/00587-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00587/00587-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00587/00587-settings.txt        |     8 +
 .../cases/semantic/00588/00588-results.csv         |    52 +
 .../cases/semantic/00588/00588-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00588/00588-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00588/00588-settings.txt        |     8 +
 .../cases/semantic/00589/00589-results.csv         |    52 +
 .../cases/semantic/00589/00589-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00589/00589-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00589/00589-settings.txt        |     8 +
 .../cases/semantic/00590/00590-results.csv         |    52 +
 .../cases/semantic/00590/00590-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00590/00590-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00590/00590-settings.txt        |     8 +
 .../cases/semantic/00591/00591-results.csv         |    52 +
 .../cases/semantic/00591/00591-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00591/00591-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00591/00591-settings.txt        |     8 +
 .../cases/semantic/00592/00592-results.csv         |    52 +
 .../cases/semantic/00592/00592-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00592/00592-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00592/00592-settings.txt        |     8 +
 .../cases/semantic/00593/00593-results.csv         |    52 +
 .../cases/semantic/00593/00593-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00593/00593-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00593/00593-settings.txt        |     8 +
 .../cases/semantic/00594/00594-results.csv         |    52 +
 .../cases/semantic/00594/00594-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00594/00594-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00594/00594-settings.txt        |     8 +
 .../cases/semantic/00595/00595-results.csv         |    52 +
 .../cases/semantic/00595/00595-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00595/00595-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00595/00595-settings.txt        |     8 +
 .../cases/semantic/00596/00596-results.csv         |    52 +
 .../cases/semantic/00596/00596-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00596/00596-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00596/00596-settings.txt        |     8 +
 .../cases/semantic/00597/00597-results.csv         |    52 +
 .../cases/semantic/00597/00597-sbml-l2v4.xml       |    60 +
 .../cases/semantic/00597/00597-sbml-l3v1.xml       |    77 +
 .../cases/semantic/00597/00597-settings.txt        |     8 +
 .../cases/semantic/00598/00598-results.csv         |    52 +
 .../cases/semantic/00598/00598-sbml-l2v4.xml       |    40 +
 .../cases/semantic/00598/00598-sbml-l3v1.xml       |    57 +
 .../cases/semantic/00598/00598-settings.txt        |     8 +
 .../cases/semantic/00599/00599-results.csv         |    52 +
 .../cases/semantic/00599/00599-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00599/00599-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00599/00599-settings.txt        |     8 +
 .../cases/semantic/00600/00600-results.csv         |    52 +
 .../cases/semantic/00600/00600-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00600/00600-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00600/00600-settings.txt        |     8 +
 .../cases/semantic/00601/00601-results.csv         |    52 +
 .../cases/semantic/00601/00601-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00601/00601-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00601/00601-settings.txt        |     8 +
 .../cases/semantic/00602/00602-results.csv         |    52 +
 .../cases/semantic/00602/00602-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00602/00602-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00602/00602-settings.txt        |     8 +
 .../cases/semantic/00603/00603-results.csv         |    52 +
 .../cases/semantic/00603/00603-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00603/00603-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00603/00603-settings.txt        |     8 +
 .../cases/semantic/00604/00604-results.csv         |    52 +
 .../cases/semantic/00604/00604-sbml-l2v4.xml       |    57 +
 .../cases/semantic/00604/00604-sbml-l3v1.xml       |    74 +
 .../cases/semantic/00604/00604-settings.txt        |     8 +
 .../cases/semantic/00605/00605-results.csv         |    52 +
 .../cases/semantic/00605/00605-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00605/00605-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00605/00605-settings.txt        |     8 +
 .../cases/semantic/00606/00606-results.csv         |    52 +
 .../cases/semantic/00606/00606-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00606/00606-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00606/00606-settings.txt        |     8 +
 .../cases/semantic/00607/00607-results.csv         |    52 +
 .../cases/semantic/00607/00607-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00607/00607-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00607/00607-settings.txt        |     8 +
 .../cases/semantic/00608/00608-results.csv         |    52 +
 .../cases/semantic/00608/00608-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00608/00608-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00608/00608-settings.txt        |     8 +
 .../cases/semantic/00609/00609-results.csv         |    52 +
 .../cases/semantic/00609/00609-sbml-l2v4.xml       |    59 +
 .../cases/semantic/00609/00609-settings.txt        |     8 +
 .../cases/semantic/00610/00610-results.csv         |    52 +
 .../cases/semantic/00610/00610-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00610/00610-settings.txt        |     8 +
 .../cases/semantic/00611/00611-results.csv         |    52 +
 .../cases/semantic/00611/00611-sbml-l1v2.xml       |    34 +
 .../cases/semantic/00611/00611-sbml-l2v4.xml       |    50 +
 .../cases/semantic/00611/00611-sbml-l3v1.xml       |    67 +
 .../cases/semantic/00611/00611-settings.txt        |     8 +
 .../cases/semantic/00612/00612-results.csv         |    52 +
 .../cases/semantic/00612/00612-sbml-l1v2.xml       |    50 +
 .../cases/semantic/00612/00612-sbml-l2v4.xml       |    75 +
 .../cases/semantic/00612/00612-sbml-l3v1.xml       |    92 +
 .../cases/semantic/00612/00612-settings.txt        |     8 +
 .../cases/semantic/00613/00613-results.csv         |    52 +
 .../cases/semantic/00613/00613-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00613/00613-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00613/00613-settings.txt        |     8 +
 .../cases/semantic/00614/00614-results.csv         |    52 +
 .../cases/semantic/00614/00614-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00614/00614-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00614/00614-settings.txt        |     8 +
 .../cases/semantic/00615/00615-results.csv         |    52 +
 .../cases/semantic/00615/00615-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00615/00615-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00615/00615-settings.txt        |     8 +
 .../cases/semantic/00616/00616-results.csv         |    52 +
 .../cases/semantic/00616/00616-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00616/00616-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00616/00616-settings.txt        |     8 +
 .../cases/semantic/00617/00617-results.csv         |    52 +
 .../cases/semantic/00617/00617-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00617/00617-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00617/00617-settings.txt        |     8 +
 .../cases/semantic/00618/00618-results.csv         |    52 +
 .../cases/semantic/00618/00618-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00618/00618-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00618/00618-settings.txt        |     8 +
 .../cases/semantic/00619/00619-results.csv         |    52 +
 .../cases/semantic/00619/00619-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00619/00619-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00619/00619-settings.txt        |     8 +
 .../cases/semantic/00620/00620-results.csv         |    52 +
 .../cases/semantic/00620/00620-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00620/00620-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00620/00620-settings.txt        |     8 +
 .../cases/semantic/00621/00621-results.csv         |    52 +
 .../cases/semantic/00621/00621-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00621/00621-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00621/00621-settings.txt        |     8 +
 .../cases/semantic/00622/00622-results.csv         |    52 +
 .../cases/semantic/00622/00622-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00622/00622-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00622/00622-settings.txt        |     8 +
 .../cases/semantic/00623/00623-results.csv         |    52 +
 .../cases/semantic/00623/00623-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00623/00623-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00623/00623-settings.txt        |     8 +
 .../cases/semantic/00624/00624-results.csv         |    52 +
 .../cases/semantic/00624/00624-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00624/00624-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00624/00624-settings.txt        |     8 +
 .../cases/semantic/00625/00625-results.csv         |    52 +
 .../cases/semantic/00625/00625-sbml-l2v4.xml       |   105 +
 .../cases/semantic/00625/00625-sbml-l3v1.xml       |   122 +
 .../cases/semantic/00625/00625-settings.txt        |     8 +
 .../cases/semantic/00626/00626-results.csv         |    52 +
 .../cases/semantic/00626/00626-sbml-l2v4.xml       |   105 +
 .../cases/semantic/00626/00626-sbml-l3v1.xml       |   122 +
 .../cases/semantic/00626/00626-settings.txt        |     8 +
 .../cases/semantic/00627/00627-results.csv         |    52 +
 .../cases/semantic/00627/00627-sbml-l2v4.xml       |   105 +
 .../cases/semantic/00627/00627-sbml-l3v1.xml       |   122 +
 .../cases/semantic/00627/00627-settings.txt        |     8 +
 .../cases/semantic/00628/00628-results.csv         |    52 +
 .../cases/semantic/00628/00628-sbml-l2v4.xml       |   113 +
 .../cases/semantic/00628/00628-sbml-l3v1.xml       |   130 +
 .../cases/semantic/00628/00628-settings.txt        |     8 +
 .../cases/semantic/00629/00629-results.csv         |    52 +
 .../cases/semantic/00629/00629-sbml-l2v4.xml       |   113 +
 .../cases/semantic/00629/00629-sbml-l3v1.xml       |   130 +
 .../cases/semantic/00629/00629-settings.txt        |     8 +
 .../cases/semantic/00630/00630-results.csv         |    52 +
 .../cases/semantic/00630/00630-sbml-l2v4.xml       |   113 +
 .../cases/semantic/00630/00630-sbml-l3v1.xml       |   130 +
 .../cases/semantic/00630/00630-settings.txt        |     8 +
 .../cases/semantic/00631/00631-results.csv         |    52 +
 .../cases/semantic/00631/00631-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00631/00631-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00631/00631-settings.txt        |     8 +
 .../cases/semantic/00632/00632-results.csv         |    52 +
 .../cases/semantic/00632/00632-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00632/00632-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00632/00632-settings.txt        |     8 +
 .../cases/semantic/00633/00633-results.csv         |    52 +
 .../cases/semantic/00633/00633-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00633/00633-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00633/00633-settings.txt        |     8 +
 .../cases/semantic/00634/00634-results.csv         |    52 +
 .../cases/semantic/00634/00634-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00634/00634-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00634/00634-settings.txt        |     8 +
 .../cases/semantic/00635/00635-results.csv         |    52 +
 .../cases/semantic/00635/00635-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00635/00635-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00635/00635-settings.txt        |     8 +
 .../cases/semantic/00636/00636-results.csv         |    52 +
 .../cases/semantic/00636/00636-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00636/00636-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00636/00636-settings.txt        |     8 +
 .../cases/semantic/00637/00637-results.csv         |    52 +
 .../cases/semantic/00637/00637-sbml-l2v4.xml       |    92 +
 .../cases/semantic/00637/00637-sbml-l3v1.xml       |   109 +
 .../cases/semantic/00637/00637-settings.txt        |     8 +
 .../cases/semantic/00638/00638-results.csv         |    52 +
 .../cases/semantic/00638/00638-sbml-l2v4.xml       |    92 +
 .../cases/semantic/00638/00638-sbml-l3v1.xml       |   109 +
 .../cases/semantic/00638/00638-settings.txt        |     8 +
 .../cases/semantic/00639/00639-results.csv         |    52 +
 .../cases/semantic/00639/00639-sbml-l2v4.xml       |    92 +
 .../cases/semantic/00639/00639-sbml-l3v1.xml       |   109 +
 .../cases/semantic/00639/00639-settings.txt        |     8 +
 .../cases/semantic/00640/00640-results.csv         |    52 +
 .../cases/semantic/00640/00640-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00640/00640-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00640/00640-settings.txt        |     8 +
 .../cases/semantic/00641/00641-results.csv         |    52 +
 .../cases/semantic/00641/00641-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00641/00641-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00641/00641-settings.txt        |     8 +
 .../cases/semantic/00642/00642-results.csv         |    52 +
 .../cases/semantic/00642/00642-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00642/00642-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00642/00642-settings.txt        |     8 +
 .../cases/semantic/00643/00643-results.csv         |    52 +
 .../cases/semantic/00643/00643-sbml-l2v4.xml       |   102 +
 .../cases/semantic/00643/00643-sbml-l3v1.xml       |   119 +
 .../cases/semantic/00643/00643-settings.txt        |     8 +
 .../cases/semantic/00644/00644-results.csv         |    52 +
 .../cases/semantic/00644/00644-sbml-l2v4.xml       |   102 +
 .../cases/semantic/00644/00644-sbml-l3v1.xml       |   119 +
 .../cases/semantic/00644/00644-settings.txt        |     8 +
 .../cases/semantic/00645/00645-results.csv         |    52 +
 .../cases/semantic/00645/00645-sbml-l2v4.xml       |   102 +
 .../cases/semantic/00645/00645-sbml-l3v1.xml       |   119 +
 .../cases/semantic/00645/00645-settings.txt        |     8 +
 .../cases/semantic/00646/00646-results.csv         |    52 +
 .../cases/semantic/00646/00646-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00646/00646-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00646/00646-settings.txt        |     8 +
 .../cases/semantic/00647/00647-results.csv         |    52 +
 .../cases/semantic/00647/00647-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00647/00647-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00647/00647-settings.txt        |     8 +
 .../cases/semantic/00648/00648-results.csv         |    52 +
 .../cases/semantic/00648/00648-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00648/00648-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00648/00648-settings.txt        |     8 +
 .../cases/semantic/00649/00649-results.csv         |    52 +
 .../cases/semantic/00649/00649-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00649/00649-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00649/00649-settings.txt        |     8 +
 .../cases/semantic/00650/00650-results.csv         |    52 +
 .../cases/semantic/00650/00650-sbml-l2v4.xml       |    91 +
 .../cases/semantic/00650/00650-sbml-l3v1.xml       |   108 +
 .../cases/semantic/00650/00650-settings.txt        |     8 +
 .../cases/semantic/00651/00651-results.csv         |    52 +
 .../cases/semantic/00651/00651-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00651/00651-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00651/00651-settings.txt        |     8 +
 .../cases/semantic/00652/00652-results.csv         |    52 +
 .../cases/semantic/00652/00652-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00652/00652-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00652/00652-settings.txt        |     8 +
 .../cases/semantic/00653/00653-results.csv         |    52 +
 .../cases/semantic/00653/00653-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00653/00653-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00653/00653-settings.txt        |     8 +
 .../cases/semantic/00654/00654-results.csv         |    52 +
 .../cases/semantic/00654/00654-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00654/00654-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00654/00654-settings.txt        |     8 +
 .../cases/semantic/00655/00655-results.csv         |    52 +
 .../cases/semantic/00655/00655-sbml-l2v4.xml       |   111 +
 .../cases/semantic/00655/00655-sbml-l3v1.xml       |   128 +
 .../cases/semantic/00655/00655-settings.txt        |     8 +
 .../cases/semantic/00656/00656-results.csv         |    52 +
 .../cases/semantic/00656/00656-sbml-l2v4.xml       |   111 +
 .../cases/semantic/00656/00656-sbml-l3v1.xml       |   128 +
 .../cases/semantic/00656/00656-settings.txt        |     8 +
 .../cases/semantic/00657/00657-results.csv         |    52 +
 .../cases/semantic/00657/00657-sbml-l2v4.xml       |   111 +
 .../cases/semantic/00657/00657-sbml-l3v1.xml       |   128 +
 .../cases/semantic/00657/00657-settings.txt        |     8 +
 .../cases/semantic/00658/00658-results.csv         |    52 +
 .../cases/semantic/00658/00658-sbml-l2v4.xml       |    59 +
 .../cases/semantic/00658/00658-sbml-l3v1.xml       |    76 +
 .../cases/semantic/00658/00658-settings.txt        |     8 +
 .../cases/semantic/00659/00659-results.csv         |    52 +
 .../cases/semantic/00659/00659-sbml-l2v4.xml       |    59 +
 .../cases/semantic/00659/00659-sbml-l3v1.xml       |    76 +
 .../cases/semantic/00659/00659-settings.txt        |     8 +
 .../cases/semantic/00660/00660-results.csv         |    52 +
 .../cases/semantic/00660/00660-sbml-l2v4.xml       |    59 +
 .../cases/semantic/00660/00660-sbml-l3v1.xml       |    76 +
 .../cases/semantic/00660/00660-settings.txt        |     8 +
 .../cases/semantic/00661/00661-results.csv         |    52 +
 .../cases/semantic/00661/00661-sbml-l2v4.xml       |    93 +
 .../cases/semantic/00661/00661-sbml-l3v1.xml       |   110 +
 .../cases/semantic/00661/00661-settings.txt        |     8 +
 .../cases/semantic/00662/00662-results.csv         |    52 +
 .../cases/semantic/00662/00662-sbml-l2v4.xml       |   103 +
 .../cases/semantic/00662/00662-sbml-l3v1.xml       |   120 +
 .../cases/semantic/00662/00662-settings.txt        |     8 +
 .../cases/semantic/00663/00663-results.csv         |    52 +
 .../cases/semantic/00663/00663-sbml-l2v4.xml       |   114 +
 .../cases/semantic/00663/00663-sbml-l3v1.xml       |   131 +
 .../cases/semantic/00663/00663-settings.txt        |     8 +
 .../cases/semantic/00664/00664-results.csv         |    52 +
 .../cases/semantic/00664/00664-sbml-l2v4.xml       |   119 +
 .../cases/semantic/00664/00664-sbml-l3v1.xml       |   136 +
 .../cases/semantic/00664/00664-settings.txt        |     8 +
 .../cases/semantic/00665/00665-results.csv         |    52 +
 .../cases/semantic/00665/00665-sbml-l2v4.xml       |    98 +
 .../cases/semantic/00665/00665-sbml-l3v1.xml       |   115 +
 .../cases/semantic/00665/00665-settings.txt        |     8 +
 .../cases/semantic/00666/00666-results.csv         |    52 +
 .../cases/semantic/00666/00666-sbml-l2v4.xml       |   108 +
 .../cases/semantic/00666/00666-sbml-l3v1.xml       |   125 +
 .../cases/semantic/00666/00666-settings.txt        |     8 +
 .../cases/semantic/00667/00667-results.csv         |    52 +
 .../cases/semantic/00667/00667-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00667/00667-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00667/00667-settings.txt        |     8 +
 .../cases/semantic/00668/00668-results.csv         |    52 +
 .../cases/semantic/00668/00668-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00668/00668-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00668/00668-settings.txt        |     8 +
 .../cases/semantic/00669/00669-results.csv         |    52 +
 .../cases/semantic/00669/00669-sbml-l2v4.xml       |   125 +
 .../cases/semantic/00669/00669-sbml-l3v1.xml       |   142 +
 .../cases/semantic/00669/00669-settings.txt        |     8 +
 .../cases/semantic/00670/00670-results.csv         |    52 +
 .../cases/semantic/00670/00670-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00670/00670-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00670/00670-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00670/00670-settings.txt        |     8 +
 .../cases/semantic/00671/00671-results.csv         |    52 +
 .../cases/semantic/00671/00671-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00671/00671-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00671/00671-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00671/00671-settings.txt        |     8 +
 .../cases/semantic/00672/00672-results.csv         |    52 +
 .../cases/semantic/00672/00672-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00672/00672-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00672/00672-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00672/00672-settings.txt        |     8 +
 .../cases/semantic/00673/00673-results.csv         |    52 +
 .../cases/semantic/00673/00673-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00673/00673-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00673/00673-settings.txt        |     8 +
 .../cases/semantic/00674/00674-results.csv         |    52 +
 .../cases/semantic/00674/00674-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00674/00674-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00674/00674-settings.txt        |     8 +
 .../cases/semantic/00675/00675-results.csv         |    52 +
 .../cases/semantic/00675/00675-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00675/00675-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00675/00675-settings.txt        |     8 +
 .../cases/semantic/00676/00676-results.csv         |    52 +
 .../cases/semantic/00676/00676-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00676/00676-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00676/00676-settings.txt        |     8 +
 .../cases/semantic/00677/00677-results.csv         |    52 +
 .../cases/semantic/00677/00677-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00677/00677-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00677/00677-settings.txt        |     8 +
 .../cases/semantic/00678/00678-results.csv         |    52 +
 .../cases/semantic/00678/00678-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00678/00678-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00678/00678-settings.txt        |     8 +
 .../cases/semantic/00679/00679-results.csv         |    52 +
 .../cases/semantic/00679/00679-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00679/00679-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00679/00679-settings.txt        |     8 +
 .../cases/semantic/00680/00680-results.csv         |    52 +
 .../cases/semantic/00680/00680-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00680/00680-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00680/00680-settings.txt        |     8 +
 .../cases/semantic/00681/00681-results.csv         |    52 +
 .../cases/semantic/00681/00681-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00681/00681-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00681/00681-settings.txt        |     8 +
 .../cases/semantic/00682/00682-results.csv         |    52 +
 .../cases/semantic/00682/00682-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00682/00682-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00682/00682-settings.txt        |     8 +
 .../cases/semantic/00683/00683-results.csv         |    52 +
 .../cases/semantic/00683/00683-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00683/00683-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00683/00683-settings.txt        |     8 +
 .../cases/semantic/00684/00684-results.csv         |    52 +
 .../cases/semantic/00684/00684-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00684/00684-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00684/00684-settings.txt        |     8 +
 .../cases/semantic/00685/00685-results.csv         |    52 +
 .../cases/semantic/00685/00685-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00685/00685-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00685/00685-settings.txt        |     8 +
 .../cases/semantic/00686/00686-results.csv         |    52 +
 .../cases/semantic/00686/00686-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00686/00686-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00686/00686-settings.txt        |     8 +
 .../cases/semantic/00687/00687-results.csv         |    52 +
 .../cases/semantic/00687/00687-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00687/00687-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00687/00687-settings.txt        |     8 +
 .../cases/semantic/00688/00688-results.csv         |    52 +
 .../cases/semantic/00688/00688-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00688/00688-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00688/00688-settings.txt        |     8 +
 .../cases/semantic/00689/00689-results.csv         |    52 +
 .../cases/semantic/00689/00689-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00689/00689-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00689/00689-settings.txt        |     8 +
 .../cases/semantic/00690/00690-results.csv         |    52 +
 .../cases/semantic/00690/00690-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00690/00690-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00690/00690-settings.txt        |     8 +
 .../cases/semantic/00691/00691-results.csv         |    52 +
 .../cases/semantic/00691/00691-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00691/00691-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00691/00691-settings.txt        |     8 +
 .../cases/semantic/00692/00692-results.csv         |    52 +
 .../cases/semantic/00692/00692-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00692/00692-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00692/00692-settings.txt        |     8 +
 .../cases/semantic/00693/00693-results.csv         |    52 +
 .../cases/semantic/00693/00693-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00693/00693-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00693/00693-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00693/00693-settings.txt        |     8 +
 .../cases/semantic/00694/00694-results.csv         |    52 +
 .../cases/semantic/00694/00694-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00694/00694-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00694/00694-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00694/00694-settings.txt        |     8 +
 .../cases/semantic/00695/00695-results.csv         |    52 +
 .../cases/semantic/00695/00695-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00695/00695-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00695/00695-settings.txt        |     8 +
 .../cases/semantic/00696/00696-results.csv         |    52 +
 .../cases/semantic/00696/00696-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00696/00696-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00696/00696-settings.txt        |     8 +
 .../cases/semantic/00697/00697-results.csv         |    52 +
 .../cases/semantic/00697/00697-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00697/00697-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00697/00697-settings.txt        |     8 +
 .../cases/semantic/00698/00698-results.csv         |    52 +
 .../cases/semantic/00698/00698-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00698/00698-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00698/00698-settings.txt        |     8 +
 .../cases/semantic/00699/00699-results.csv         |    52 +
 .../cases/semantic/00699/00699-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00699/00699-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00699/00699-settings.txt        |     8 +
 .../cases/semantic/00700/00700-results.csv         |    52 +
 .../cases/semantic/00700/00700-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00700/00700-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00700/00700-settings.txt        |     8 +
 .../cases/semantic/00701/00701-results.csv         |    52 +
 .../cases/semantic/00701/00701-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00701/00701-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00701/00701-settings.txt        |     8 +
 .../cases/semantic/00702/00702-results.csv         |    52 +
 .../cases/semantic/00702/00702-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00702/00702-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00702/00702-settings.txt        |     8 +
 .../cases/semantic/00703/00703-results.csv         |    52 +
 .../cases/semantic/00703/00703-sbml-l2v4.xml       |    94 +
 .../cases/semantic/00703/00703-sbml-l3v1.xml       |   111 +
 .../cases/semantic/00703/00703-settings.txt        |     8 +
 .../cases/semantic/00704/00704-results.csv         |    52 +
 .../cases/semantic/00704/00704-sbml-l1v2.xml       |    51 +
 .../cases/semantic/00704/00704-sbml-l2v4.xml       |    92 +
 .../cases/semantic/00704/00704-sbml-l3v1.xml       |   109 +
 .../cases/semantic/00704/00704-settings.txt        |     8 +
 .../cases/semantic/00705/00705-results.csv         |    52 +
 .../cases/semantic/00705/00705-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00705/00705-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00705/00705-settings.txt        |     8 +
 .../cases/semantic/00706/00706-results.csv         |    52 +
 .../cases/semantic/00706/00706-sbml-l2v4.xml       |    56 +
 .../cases/semantic/00706/00706-sbml-l3v1.xml       |    73 +
 .../cases/semantic/00706/00706-settings.txt        |     8 +
 .../cases/semantic/00707/00707-results.csv         |    52 +
 .../cases/semantic/00707/00707-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00707/00707-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00707/00707-settings.txt        |     8 +
 .../cases/semantic/00708/00708-results.csv         |    52 +
 .../cases/semantic/00708/00708-sbml-l2v4.xml       |    75 +
 .../cases/semantic/00708/00708-sbml-l3v1.xml       |    92 +
 .../cases/semantic/00708/00708-settings.txt        |     8 +
 .../cases/semantic/00709/00709-results.csv         |    52 +
 .../cases/semantic/00709/00709-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00709/00709-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00709/00709-settings.txt        |     8 +
 .../cases/semantic/00710/00710-results.csv         |    52 +
 .../cases/semantic/00710/00710-sbml-l2v4.xml       |    43 +
 .../cases/semantic/00710/00710-sbml-l3v1.xml       |    60 +
 .../cases/semantic/00710/00710-settings.txt        |     8 +
 .../cases/semantic/00711/00711-results.csv         |    52 +
 .../cases/semantic/00711/00711-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00711/00711-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00711/00711-settings.txt        |     8 +
 .../cases/semantic/00712/00712-results.csv         |    52 +
 .../cases/semantic/00712/00712-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00712/00712-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00712/00712-settings.txt        |     8 +
 .../cases/semantic/00713/00713-results.csv         |    52 +
 .../cases/semantic/00713/00713-sbml-l2v4.xml       |    98 +
 .../cases/semantic/00713/00713-sbml-l3v1.xml       |   115 +
 .../cases/semantic/00713/00713-settings.txt        |     8 +
 .../cases/semantic/00714/00714-results.csv         |    52 +
 .../cases/semantic/00714/00714-sbml-l2v4.xml       |    99 +
 .../cases/semantic/00714/00714-sbml-l3v1.xml       |   116 +
 .../cases/semantic/00714/00714-settings.txt        |     8 +
 .../cases/semantic/00715/00715-results.csv         |    52 +
 .../cases/semantic/00715/00715-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00715/00715-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00715/00715-settings.txt        |     8 +
 .../cases/semantic/00716/00716-results.csv         |    52 +
 .../cases/semantic/00716/00716-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00716/00716-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00716/00716-settings.txt        |     8 +
 .../cases/semantic/00717/00717-results.csv         |    52 +
 .../cases/semantic/00717/00717-sbml-l2v4.xml       |    44 +
 .../cases/semantic/00717/00717-sbml-l3v1.xml       |    61 +
 .../cases/semantic/00717/00717-settings.txt        |     8 +
 .../cases/semantic/00718/00718-results.csv         |    52 +
 .../cases/semantic/00718/00718-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00718/00718-sbml-l2v4.xml       |    66 +
 .../cases/semantic/00718/00718-sbml-l3v1.xml       |    83 +
 .../cases/semantic/00718/00718-settings.txt        |     8 +
 .../cases/semantic/00719/00719-results.csv         |    52 +
 .../cases/semantic/00719/00719-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00719/00719-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00719/00719-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00719/00719-settings.txt        |     8 +
 .../cases/semantic/00720/00720-results.csv         |    52 +
 .../cases/semantic/00720/00720-sbml-l2v4.xml       |    89 +
 .../cases/semantic/00720/00720-sbml-l3v1.xml       |   106 +
 .../cases/semantic/00720/00720-settings.txt        |     8 +
 .../cases/semantic/00721/00721-results.csv         |    52 +
 .../cases/semantic/00721/00721-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00721/00721-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00721/00721-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00721/00721-settings.txt        |     8 +
 .../cases/semantic/00722/00722-results.csv         |    52 +
 .../cases/semantic/00722/00722-sbml-l2v4.xml       |    71 +
 .../cases/semantic/00722/00722-sbml-l3v1.xml       |    88 +
 .../cases/semantic/00722/00722-settings.txt        |     8 +
 .../cases/semantic/00723/00723-results.csv         |    52 +
 .../cases/semantic/00723/00723-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00723/00723-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00723/00723-settings.txt        |     8 +
 .../cases/semantic/00724/00724-results.csv         |    52 +
 .../cases/semantic/00724/00724-sbml-l2v4.xml       |    91 +
 .../cases/semantic/00724/00724-sbml-l3v1.xml       |   108 +
 .../cases/semantic/00724/00724-settings.txt        |     8 +
 .../cases/semantic/00725/00725-results.csv         |    52 +
 .../cases/semantic/00725/00725-sbml-l2v4.xml       |    77 +
 .../cases/semantic/00725/00725-settings.txt        |     8 +
 .../cases/semantic/00726/00726-results.csv         |    52 +
 .../cases/semantic/00726/00726-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00726/00726-settings.txt        |     8 +
 .../cases/semantic/00727/00727-results.csv         |    52 +
 .../cases/semantic/00727/00727-sbml-l2v4.xml       |   100 +
 .../cases/semantic/00727/00727-settings.txt        |     8 +
 .../cases/semantic/00728/00728-results.csv         |    52 +
 .../cases/semantic/00728/00728-sbml-l2v4.xml       |    97 +
 .../cases/semantic/00728/00728-settings.txt        |     8 +
 .../cases/semantic/00729/00729-results.csv         |    52 +
 .../cases/semantic/00729/00729-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00729/00729-settings.txt        |     8 +
 .../cases/semantic/00730/00730-results.csv         |    52 +
 .../cases/semantic/00730/00730-sbml-l2v4.xml       |    89 +
 .../cases/semantic/00730/00730-settings.txt        |     8 +
 .../cases/semantic/00731/00731-results.csv         |    52 +
 .../cases/semantic/00731/00731-sbml-l2v4.xml       |   102 +
 .../cases/semantic/00731/00731-settings.txt        |     8 +
 .../cases/semantic/00732/00732-results.csv         |    52 +
 .../cases/semantic/00732/00732-sbml-l1v2.xml       |    37 +
 .../cases/semantic/00732/00732-sbml-l2v4.xml       |    61 +
 .../cases/semantic/00732/00732-sbml-l3v1.xml       |    78 +
 .../cases/semantic/00732/00732-settings.txt        |     8 +
 .../cases/semantic/00733/00733-results.csv         |    52 +
 .../cases/semantic/00733/00733-sbml-l2v4.xml       |    94 +
 .../cases/semantic/00733/00733-sbml-l3v1.xml       |   111 +
 .../cases/semantic/00733/00733-settings.txt        |     8 +
 .../cases/semantic/00734/00734-results.csv         |    52 +
 .../cases/semantic/00734/00734-sbml-l1v2.xml       |    51 +
 .../cases/semantic/00734/00734-sbml-l2v4.xml       |    92 +
 .../cases/semantic/00734/00734-sbml-l3v1.xml       |   109 +
 .../cases/semantic/00734/00734-settings.txt        |     8 +
 .../cases/semantic/00735/00735-results.csv         |    52 +
 .../cases/semantic/00735/00735-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00735/00735-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00735/00735-settings.txt        |     8 +
 .../cases/semantic/00736/00736-results.csv         |    52 +
 .../cases/semantic/00736/00736-sbml-l2v4.xml       |    81 +
 .../cases/semantic/00736/00736-sbml-l3v1.xml       |    98 +
 .../cases/semantic/00736/00736-settings.txt        |     8 +
 .../cases/semantic/00737/00737-results.csv         |    52 +
 .../cases/semantic/00737/00737-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00737/00737-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00737/00737-settings.txt        |     8 +
 .../cases/semantic/00738/00738-results.csv         |    52 +
 .../cases/semantic/00738/00738-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00738/00738-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00738/00738-settings.txt        |     8 +
 .../cases/semantic/00739/00739-results.csv         |    52 +
 .../cases/semantic/00739/00739-sbml-l2v4.xml       |   125 +
 .../cases/semantic/00739/00739-sbml-l3v1.xml       |   142 +
 .../cases/semantic/00739/00739-settings.txt        |     8 +
 .../cases/semantic/00740/00740-results.csv         |    52 +
 .../cases/semantic/00740/00740-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00740/00740-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00740/00740-settings.txt        |     8 +
 .../cases/semantic/00741/00741-results.csv         |    52 +
 .../cases/semantic/00741/00741-sbml-l2v4.xml       |    98 +
 .../cases/semantic/00741/00741-sbml-l3v1.xml       |   115 +
 .../cases/semantic/00741/00741-settings.txt        |     8 +
 .../cases/semantic/00742/00742-results.csv         |    52 +
 .../cases/semantic/00742/00742-sbml-l2v4.xml       |    99 +
 .../cases/semantic/00742/00742-sbml-l3v1.xml       |   116 +
 .../cases/semantic/00742/00742-settings.txt        |     8 +
 .../cases/semantic/00743/00743-results.csv         |    52 +
 .../cases/semantic/00743/00743-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00743/00743-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00743/00743-settings.txt        |     8 +
 .../cases/semantic/00744/00744-results.csv         |    52 +
 .../cases/semantic/00744/00744-sbml-l2v4.xml       |    96 +
 .../cases/semantic/00744/00744-sbml-l3v1.xml       |   113 +
 .../cases/semantic/00744/00744-settings.txt        |     8 +
 .../cases/semantic/00745/00745-results.csv         |    52 +
 .../cases/semantic/00745/00745-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00745/00745-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00745/00745-settings.txt        |     8 +
 .../cases/semantic/00746/00746-results.csv         |    52 +
 .../cases/semantic/00746/00746-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00746/00746-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00746/00746-settings.txt        |     8 +
 .../cases/semantic/00747/00747-results.csv         |    52 +
 .../cases/semantic/00747/00747-sbml-l2v4.xml       |   100 +
 .../cases/semantic/00747/00747-sbml-l3v1.xml       |   117 +
 .../cases/semantic/00747/00747-settings.txt        |     8 +
 .../cases/semantic/00748/00748-results.csv         |    52 +
 .../cases/semantic/00748/00748-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00748/00748-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00748/00748-settings.txt        |     8 +
 .../cases/semantic/00749/00749-results.csv         |    52 +
 .../cases/semantic/00749/00749-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00749/00749-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00749/00749-settings.txt        |     8 +
 .../cases/semantic/00750/00750-results.csv         |    52 +
 .../cases/semantic/00750/00750-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00750/00750-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00750/00750-settings.txt        |     8 +
 .../cases/semantic/00751/00751-results.csv         |    52 +
 .../cases/semantic/00751/00751-sbml-l2v4.xml       |   119 +
 .../cases/semantic/00751/00751-sbml-l3v1.xml       |   136 +
 .../cases/semantic/00751/00751-settings.txt        |     8 +
 .../cases/semantic/00752/00752-results.csv         |    52 +
 .../cases/semantic/00752/00752-sbml-l2v4.xml       |   162 +
 .../cases/semantic/00752/00752-sbml-l3v1.xml       |   179 +
 .../cases/semantic/00752/00752-settings.txt        |     8 +
 .../cases/semantic/00753/00753-results.csv         |    52 +
 .../cases/semantic/00753/00753-sbml-l2v4.xml       |   141 +
 .../cases/semantic/00753/00753-sbml-l3v1.xml       |   158 +
 .../cases/semantic/00753/00753-settings.txt        |     8 +
 .../cases/semantic/00754/00754-results.csv         |    52 +
 .../cases/semantic/00754/00754-sbml-l2v4.xml       |   115 +
 .../cases/semantic/00754/00754-sbml-l3v1.xml       |   132 +
 .../cases/semantic/00754/00754-settings.txt        |     8 +
 .../cases/semantic/00755/00755-results.csv         |    52 +
 .../cases/semantic/00755/00755-sbml-l2v4.xml       |   115 +
 .../cases/semantic/00755/00755-sbml-l3v1.xml       |   132 +
 .../cases/semantic/00755/00755-settings.txt        |     8 +
 .../cases/semantic/00756/00756-results.csv         |    52 +
 .../cases/semantic/00756/00756-sbml-l2v4.xml       |   115 +
 .../cases/semantic/00756/00756-sbml-l3v1.xml       |   132 +
 .../cases/semantic/00756/00756-settings.txt        |     8 +
 .../cases/semantic/00757/00757-results.csv         |    52 +
 .../cases/semantic/00757/00757-sbml-l2v4.xml       |   147 +
 .../cases/semantic/00757/00757-sbml-l3v1.xml       |   164 +
 .../cases/semantic/00757/00757-settings.txt        |     8 +
 .../cases/semantic/00758/00758-results.csv         |    52 +
 .../cases/semantic/00758/00758-sbml-l2v4.xml       |   151 +
 .../cases/semantic/00758/00758-sbml-l3v1.xml       |   168 +
 .../cases/semantic/00758/00758-settings.txt        |     8 +
 .../cases/semantic/00759/00759-results.csv         |    52 +
 .../cases/semantic/00759/00759-sbml-l2v4.xml       |   155 +
 .../cases/semantic/00759/00759-sbml-l3v1.xml       |   172 +
 .../cases/semantic/00759/00759-settings.txt        |     8 +
 .../cases/semantic/00760/00760-results.csv         |    52 +
 .../cases/semantic/00760/00760-sbml-l2v4.xml       |   132 +
 .../cases/semantic/00760/00760-sbml-l3v1.xml       |   149 +
 .../cases/semantic/00760/00760-settings.txt        |     8 +
 .../cases/semantic/00761/00761-results.csv         |    52 +
 .../cases/semantic/00761/00761-sbml-l2v4.xml       |   139 +
 .../cases/semantic/00761/00761-sbml-l3v1.xml       |   156 +
 .../cases/semantic/00761/00761-settings.txt        |     8 +
 .../cases/semantic/00762/00762-results.csv         |    52 +
 .../cases/semantic/00762/00762-sbml-l2v4.xml       |   154 +
 .../cases/semantic/00762/00762-sbml-l3v1.xml       |   171 +
 .../cases/semantic/00762/00762-settings.txt        |     8 +
 .../cases/semantic/00763/00763-results.csv         |    52 +
 .../cases/semantic/00763/00763-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00763/00763-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00763/00763-settings.txt        |     8 +
 .../cases/semantic/00764/00764-results.csv         |    52 +
 .../cases/semantic/00764/00764-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00764/00764-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00764/00764-settings.txt        |     8 +
 .../cases/semantic/00765/00765-results.csv         |    52 +
 .../cases/semantic/00765/00765-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00765/00765-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00765/00765-settings.txt        |     8 +
 .../cases/semantic/00766/00766-results.csv         |    52 +
 .../cases/semantic/00766/00766-sbml-l2v4.xml       |    87 +
 .../cases/semantic/00766/00766-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00766/00766-settings.txt        |     8 +
 .../cases/semantic/00767/00767-results.csv         |    52 +
 .../cases/semantic/00767/00767-sbml-l2v4.xml       |   110 +
 .../cases/semantic/00767/00767-sbml-l3v1.xml       |   127 +
 .../cases/semantic/00767/00767-settings.txt        |     8 +
 .../cases/semantic/00768/00768-results.csv         |    52 +
 .../cases/semantic/00768/00768-sbml-l2v4.xml       |    92 +
 .../cases/semantic/00768/00768-sbml-l3v1.xml       |   109 +
 .../cases/semantic/00768/00768-settings.txt        |     8 +
 .../cases/semantic/00769/00769-results.csv         |    52 +
 .../cases/semantic/00769/00769-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00769/00769-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00769/00769-settings.txt        |     8 +
 .../cases/semantic/00770/00770-results.csv         |    52 +
 .../cases/semantic/00770/00770-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00770/00770-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00770/00770-settings.txt        |     8 +
 .../cases/semantic/00771/00771-results.csv         |    52 +
 .../cases/semantic/00771/00771-sbml-l2v4.xml       |    99 +
 .../cases/semantic/00771/00771-sbml-l3v1.xml       |   116 +
 .../cases/semantic/00771/00771-settings.txt        |     8 +
 .../cases/semantic/00772/00772-results.csv         |    52 +
 .../cases/semantic/00772/00772-sbml-l2v4.xml       |    99 +
 .../cases/semantic/00772/00772-sbml-l3v1.xml       |   116 +
 .../cases/semantic/00772/00772-settings.txt        |     8 +
 .../cases/semantic/00773/00773-results.csv         |    52 +
 .../cases/semantic/00773/00773-sbml-l2v4.xml       |    99 +
 .../cases/semantic/00773/00773-sbml-l3v1.xml       |   116 +
 .../cases/semantic/00773/00773-settings.txt        |     8 +
 .../cases/semantic/00774/00774-results.csv         |    52 +
 .../cases/semantic/00774/00774-sbml-l2v4.xml       |   101 +
 .../cases/semantic/00774/00774-sbml-l3v1.xml       |   118 +
 .../cases/semantic/00774/00774-settings.txt        |     8 +
 .../cases/semantic/00775/00775-results.csv         |    52 +
 .../cases/semantic/00775/00775-sbml-l2v4.xml       |   105 +
 .../cases/semantic/00775/00775-sbml-l3v1.xml       |   122 +
 .../cases/semantic/00775/00775-settings.txt        |     8 +
 .../cases/semantic/00776/00776-results.csv         |    52 +
 .../cases/semantic/00776/00776-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00776/00776-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00776/00776-settings.txt        |     8 +
 .../cases/semantic/00777/00777-results.csv         |    52 +
 .../cases/semantic/00777/00777-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00777/00777-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00777/00777-settings.txt        |     8 +
 .../cases/semantic/00778/00778-results.csv         |    52 +
 .../cases/semantic/00778/00778-sbml-l2v4.xml       |   109 +
 .../cases/semantic/00778/00778-sbml-l3v1.xml       |   126 +
 .../cases/semantic/00778/00778-settings.txt        |     8 +
 .../cases/semantic/00779/00779-results.csv         |    52 +
 .../cases/semantic/00779/00779-sbml-l2v4.xml       |   109 +
 .../cases/semantic/00779/00779-sbml-l3v1.xml       |   126 +
 .../cases/semantic/00779/00779-settings.txt        |     8 +
 .../cases/semantic/00780/00780-results.csv         |    52 +
 .../cases/semantic/00780/00780-sbml-l2v4.xml       |   109 +
 .../cases/semantic/00780/00780-sbml-l3v1.xml       |   126 +
 .../cases/semantic/00780/00780-settings.txt        |     8 +
 .../cases/semantic/00781/00781-results.csv         |    52 +
 .../cases/semantic/00781/00781-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00781/00781-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00781/00781-settings.txt        |     8 +
 .../cases/semantic/00782/00782-results.csv         |    52 +
 .../cases/semantic/00782/00782-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00782/00782-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00782/00782-settings.txt        |     8 +
 .../cases/semantic/00783/00783-results.csv         |    52 +
 .../cases/semantic/00783/00783-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00783/00783-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00783/00783-settings.txt        |     8 +
 .../cases/semantic/00784/00784-results.csv         |    52 +
 .../cases/semantic/00784/00784-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00784/00784-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00784/00784-settings.txt        |     8 +
 .../cases/semantic/00785/00785-results.csv         |    52 +
 .../cases/semantic/00785/00785-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00785/00785-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00785/00785-settings.txt        |     8 +
 .../cases/semantic/00786/00786-results.csv         |    52 +
 .../cases/semantic/00786/00786-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00786/00786-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00786/00786-settings.txt        |     8 +
 .../cases/semantic/00787/00787-results.csv         |    52 +
 .../cases/semantic/00787/00787-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00787/00787-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00787/00787-settings.txt        |     8 +
 .../cases/semantic/00788/00788-results.csv         |    52 +
 .../cases/semantic/00788/00788-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00788/00788-sbml-l3v1.xml       |    70 +
 .../cases/semantic/00788/00788-settings.txt        |     8 +
 .../cases/semantic/00789/00789-results.csv         |    52 +
 .../cases/semantic/00789/00789-sbml-l2v4.xml       |    94 +
 .../cases/semantic/00789/00789-sbml-l3v1.xml       |   111 +
 .../cases/semantic/00789/00789-settings.txt        |     8 +
 .../cases/semantic/00790/00790-results.csv         |    52 +
 .../cases/semantic/00790/00790-sbml-l2v4.xml       |    94 +
 .../cases/semantic/00790/00790-sbml-l3v1.xml       |   111 +
 .../cases/semantic/00790/00790-settings.txt        |     8 +
 .../cases/semantic/00791/00791-results.csv         |    52 +
 .../cases/semantic/00791/00791-sbml-l2v4.xml       |    94 +
 .../cases/semantic/00791/00791-sbml-l3v1.xml       |   111 +
 .../cases/semantic/00791/00791-settings.txt        |     8 +
 .../cases/semantic/00792/00792-results.csv         |    52 +
 .../cases/semantic/00792/00792-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00792/00792-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00792/00792-settings.txt        |     8 +
 .../cases/semantic/00793/00793-results.csv         |    52 +
 .../cases/semantic/00793/00793-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00793/00793-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00793/00793-settings.txt        |     8 +
 .../cases/semantic/00794/00794-results.csv         |    52 +
 .../cases/semantic/00794/00794-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00794/00794-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00794/00794-settings.txt        |     8 +
 .../cases/semantic/00795/00795-results.csv         |    52 +
 .../cases/semantic/00795/00795-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00795/00795-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00795/00795-settings.txt        |     8 +
 .../cases/semantic/00796/00796-results.csv         |    52 +
 .../cases/semantic/00796/00796-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00796/00796-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00796/00796-settings.txt        |     8 +
 .../cases/semantic/00797/00797-results.csv         |    52 +
 .../cases/semantic/00797/00797-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00797/00797-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00797/00797-settings.txt        |     8 +
 .../cases/semantic/00798/00798-results.csv         |    52 +
 .../cases/semantic/00798/00798-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00798/00798-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00798/00798-settings.txt        |     8 +
 .../cases/semantic/00799/00799-results.csv         |    52 +
 .../cases/semantic/00799/00799-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00799/00799-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00799/00799-settings.txt        |     8 +
 .../cases/semantic/00800/00800-results.csv         |    52 +
 .../cases/semantic/00800/00800-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00800/00800-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00800/00800-settings.txt        |     8 +
 .../cases/semantic/00801/00801-results.csv         |    52 +
 .../cases/semantic/00801/00801-sbml-l1v2.xml       |    26 +
 .../cases/semantic/00801/00801-sbml-l2v4.xml       |    34 +
 .../cases/semantic/00801/00801-sbml-l3v1.xml       |    51 +
 .../cases/semantic/00801/00801-settings.txt        |     8 +
 .../cases/semantic/00802/00802-results.csv         |    52 +
 .../cases/semantic/00802/00802-sbml-l1v2.xml       |    26 +
 .../cases/semantic/00802/00802-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00802/00802-sbml-l3v1.xml       |    52 +
 .../cases/semantic/00802/00802-settings.txt        |     8 +
 .../cases/semantic/00803/00803-results.csv         |    52 +
 .../cases/semantic/00803/00803-sbml-l1v2.xml       |    26 +
 .../cases/semantic/00803/00803-sbml-l2v4.xml       |    39 +
 .../cases/semantic/00803/00803-sbml-l3v1.xml       |    56 +
 .../cases/semantic/00803/00803-settings.txt        |     8 +
 .../cases/semantic/00804/00804-results.csv         |    52 +
 .../cases/semantic/00804/00804-sbml-l1v2.xml       |    26 +
 .../cases/semantic/00804/00804-sbml-l2v4.xml       |    39 +
 .../cases/semantic/00804/00804-sbml-l3v1.xml       |    56 +
 .../cases/semantic/00804/00804-settings.txt        |     8 +
 .../cases/semantic/00805/00805-results.csv         |    52 +
 .../cases/semantic/00805/00805-sbml-l1v2.xml       |    28 +
 .../cases/semantic/00805/00805-sbml-l2v4.xml       |    38 +
 .../cases/semantic/00805/00805-sbml-l3v1.xml       |    55 +
 .../cases/semantic/00805/00805-settings.txt        |     8 +
 .../cases/semantic/00806/00806-results.csv         |    52 +
 .../cases/semantic/00806/00806-sbml-l1v2.xml       |    26 +
 .../cases/semantic/00806/00806-sbml-l2v4.xml       |    39 +
 .../cases/semantic/00806/00806-sbml-l3v1.xml       |    56 +
 .../cases/semantic/00806/00806-settings.txt        |     8 +
 .../cases/semantic/00807/00807-results.csv         |    52 +
 .../cases/semantic/00807/00807-sbml-l1v2.xml       |    28 +
 .../cases/semantic/00807/00807-sbml-l2v4.xml       |    42 +
 .../cases/semantic/00807/00807-sbml-l3v1.xml       |    59 +
 .../cases/semantic/00807/00807-settings.txt        |     8 +
 .../cases/semantic/00808/00808-results.csv         |    52 +
 .../cases/semantic/00808/00808-sbml-l1v2.xml       |    30 +
 .../cases/semantic/00808/00808-sbml-l2v4.xml       |    41 +
 .../cases/semantic/00808/00808-sbml-l3v1.xml       |    58 +
 .../cases/semantic/00808/00808-settings.txt        |     8 +
 .../cases/semantic/00809/00809-results.csv         |    52 +
 .../cases/semantic/00809/00809-sbml-l1v2.xml       |    27 +
 .../cases/semantic/00809/00809-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00809/00809-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00809/00809-settings.txt        |     8 +
 .../cases/semantic/00810/00810-results.csv         |    52 +
 .../cases/semantic/00810/00810-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00810/00810-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00810/00810-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00810/00810-settings.txt        |     8 +
 .../cases/semantic/00811/00811-results.csv         |    52 +
 .../cases/semantic/00811/00811-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00811/00811-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00811/00811-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00811/00811-settings.txt        |     8 +
 .../cases/semantic/00812/00812-results.csv         |    52 +
 .../cases/semantic/00812/00812-sbml-l1v2.xml       |    27 +
 .../cases/semantic/00812/00812-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00812/00812-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00812/00812-settings.txt        |     8 +
 .../cases/semantic/00813/00813-results.csv         |    52 +
 .../cases/semantic/00813/00813-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00813/00813-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00813/00813-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00813/00813-settings.txt        |     8 +
 .../cases/semantic/00814/00814-results.csv         |    52 +
 .../cases/semantic/00814/00814-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00814/00814-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00814/00814-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00814/00814-settings.txt        |     8 +
 .../cases/semantic/00815/00815-results.csv         |    52 +
 .../cases/semantic/00815/00815-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00815/00815-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00815/00815-settings.txt        |     8 +
 .../cases/semantic/00816/00816-results.csv         |    52 +
 .../cases/semantic/00816/00816-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00816/00816-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00816/00816-settings.txt        |     8 +
 .../cases/semantic/00817/00817-results.csv         |    52 +
 .../cases/semantic/00817/00817-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00817/00817-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00817/00817-settings.txt        |     8 +
 .../cases/semantic/00818/00818-results.csv         |    52 +
 .../cases/semantic/00818/00818-sbml-l1v2.xml       |    27 +
 .../cases/semantic/00818/00818-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00818/00818-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00818/00818-settings.txt        |     8 +
 .../cases/semantic/00819/00819-results.csv         |    52 +
 .../cases/semantic/00819/00819-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00819/00819-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00819/00819-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00819/00819-settings.txt        |     8 +
 .../cases/semantic/00820/00820-results.csv         |    52 +
 .../cases/semantic/00820/00820-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00820/00820-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00820/00820-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00820/00820-settings.txt        |     8 +
 .../cases/semantic/00821/00821-results.csv         |    52 +
 .../cases/semantic/00821/00821-sbml-l1v2.xml       |    27 +
 .../cases/semantic/00821/00821-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00821/00821-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00821/00821-settings.txt        |     8 +
 .../cases/semantic/00822/00822-results.csv         |    52 +
 .../cases/semantic/00822/00822-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00822/00822-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00822/00822-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00822/00822-settings.txt        |     8 +
 .../cases/semantic/00823/00823-results.csv         |    52 +
 .../cases/semantic/00823/00823-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00823/00823-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00823/00823-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00823/00823-settings.txt        |     8 +
 .../cases/semantic/00824/00824-results.csv         |    52 +
 .../cases/semantic/00824/00824-sbml-l1v2.xml       |    27 +
 .../cases/semantic/00824/00824-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00824/00824-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00824/00824-settings.txt        |     8 +
 .../cases/semantic/00825/00825-results.csv         |    52 +
 .../cases/semantic/00825/00825-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00825/00825-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00825/00825-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00825/00825-settings.txt        |     8 +
 .../cases/semantic/00826/00826-results.csv         |    52 +
 .../cases/semantic/00826/00826-sbml-l1v2.xml       |    29 +
 .../cases/semantic/00826/00826-sbml-l2v4.xml       |    51 +
 .../cases/semantic/00826/00826-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00826/00826-settings.txt        |     8 +
 .../cases/semantic/00827/00827-results.csv         |    52 +
 .../cases/semantic/00827/00827-sbml-l2v4.xml       |    59 +
 .../cases/semantic/00827/00827-settings.txt        |     8 +
 .../cases/semantic/00828/00828-results.csv         |    52 +
 .../cases/semantic/00828/00828-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00828/00828-settings.txt        |     8 +
 .../cases/semantic/00829/00829-results.csv         |    52 +
 .../cases/semantic/00829/00829-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00829/00829-settings.txt        |     8 +
 .../cases/semantic/00830/00830-results.csv         |    52 +
 .../cases/semantic/00830/00830-sbml-l1v2.xml       |    43 +
 .../cases/semantic/00830/00830-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00830/00830-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00830/00830-settings.txt        |     8 +
 .../cases/semantic/00831/00831-results.csv         |    52 +
 .../cases/semantic/00831/00831-sbml-l1v2.xml       |    44 +
 .../cases/semantic/00831/00831-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00831/00831-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00831/00831-settings.txt        |     8 +
 .../cases/semantic/00832/00832-results.csv         |    52 +
 .../cases/semantic/00832/00832-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00832/00832-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00832/00832-settings.txt        |     8 +
 .../cases/semantic/00833/00833-results.csv         |    52 +
 .../cases/semantic/00833/00833-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00833/00833-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00833/00833-settings.txt        |     8 +
 .../cases/semantic/00834/00834-results.csv         |    52 +
 .../cases/semantic/00834/00834-sbml-l2v4.xml       |    90 +
 .../cases/semantic/00834/00834-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00834/00834-settings.txt        |     8 +
 .../cases/semantic/00835/00835-results.csv         |    52 +
 .../cases/semantic/00835/00835-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00835/00835-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00835/00835-settings.txt        |     8 +
 .../cases/semantic/00836/00836-results.csv         |    52 +
 .../cases/semantic/00836/00836-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00836/00836-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00836/00836-settings.txt        |     8 +
 .../cases/semantic/00837/00837-results.csv         |    52 +
 .../cases/semantic/00837/00837-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00837/00837-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00837/00837-settings.txt        |     8 +
 .../cases/semantic/00838/00838-results.csv         |    52 +
 .../cases/semantic/00838/00838-sbml-l1v2.xml       |    32 +
 .../cases/semantic/00838/00838-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00838/00838-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00838/00838-settings.txt        |     8 +
 .../cases/semantic/00839/00839-results.csv         |    52 +
 .../cases/semantic/00839/00839-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00839/00839-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00839/00839-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00839/00839-settings.txt        |     8 +
 .../cases/semantic/00840/00840-results.csv         |    52 +
 .../cases/semantic/00840/00840-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00840/00840-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00840/00840-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00840/00840-settings.txt        |     8 +
 .../cases/semantic/00841/00841-results.csv         |    52 +
 .../cases/semantic/00841/00841-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00841/00841-sbml-l2v4.xml       |    77 +
 .../cases/semantic/00841/00841-sbml-l3v1.xml       |    94 +
 .../cases/semantic/00841/00841-settings.txt        |     8 +
 .../cases/semantic/00842/00842-results.csv         |    52 +
 .../cases/semantic/00842/00842-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00842/00842-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00842/00842-sbml-l3v1.xml       |    80 +
 .../cases/semantic/00842/00842-settings.txt        |     8 +
 .../cases/semantic/00843/00843-results.csv         |    52 +
 .../cases/semantic/00843/00843-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00843/00843-sbml-l2v4.xml       |    59 +
 .../cases/semantic/00843/00843-sbml-l3v1.xml       |    76 +
 .../cases/semantic/00843/00843-settings.txt        |     8 +
 .../cases/semantic/00844/00844-results.csv         |    52 +
 .../cases/semantic/00844/00844-sbml-l1v2.xml       |    32 +
 .../cases/semantic/00844/00844-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00844/00844-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00844/00844-settings.txt        |     8 +
 .../cases/semantic/00845/00845-results.csv         |    52 +
 .../cases/semantic/00845/00845-sbml-l2v4.xml       |    68 +
 .../cases/semantic/00845/00845-sbml-l3v1.xml       |    85 +
 .../cases/semantic/00845/00845-settings.txt        |     8 +
 .../cases/semantic/00846/00846-results.csv         |    52 +
 .../cases/semantic/00846/00846-sbml-l2v4.xml       |   107 +
 .../cases/semantic/00846/00846-sbml-l3v1.xml       |   124 +
 .../cases/semantic/00846/00846-settings.txt        |     8 +
 .../cases/semantic/00847/00847-results.csv         |    52 +
 .../cases/semantic/00847/00847-sbml-l2v4.xml       |   120 +
 .../cases/semantic/00847/00847-sbml-l3v1.xml       |   137 +
 .../cases/semantic/00847/00847-settings.txt        |     8 +
 .../cases/semantic/00848/00848-results.csv         |    52 +
 .../cases/semantic/00848/00848-sbml-l2v4.xml       |    73 +
 .../cases/semantic/00848/00848-sbml-l3v1.xml       |    90 +
 .../cases/semantic/00848/00848-settings.txt        |     8 +
 .../cases/semantic/00849/00849-results.csv         |    52 +
 .../cases/semantic/00849/00849-sbml-l2v4.xml       |   112 +
 .../cases/semantic/00849/00849-sbml-l3v1.xml       |   129 +
 .../cases/semantic/00849/00849-settings.txt        |     8 +
 .../cases/semantic/00850/00850-results.csv         |    52 +
 .../cases/semantic/00850/00850-sbml-l2v4.xml       |   130 +
 .../cases/semantic/00850/00850-sbml-l3v1.xml       |   147 +
 .../cases/semantic/00850/00850-settings.txt        |     8 +
 .../cases/semantic/00851/00851-results.csv         |    52 +
 .../cases/semantic/00851/00851-sbml-l2v4.xml       |    36 +
 .../cases/semantic/00851/00851-sbml-l3v1.xml       |    53 +
 .../cases/semantic/00851/00851-settings.txt        |     8 +
 .../cases/semantic/00852/00852-results.csv         |    52 +
 .../cases/semantic/00852/00852-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00852/00852-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00852/00852-settings.txt        |     8 +
 .../cases/semantic/00853/00853-results.csv         |    52 +
 .../cases/semantic/00853/00853-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00853/00853-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00853/00853-settings.txt        |     8 +
 .../cases/semantic/00854/00854-results.csv         |    52 +
 .../cases/semantic/00854/00854-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00854/00854-sbml-l3v1.xml       |    79 +
 .../cases/semantic/00854/00854-settings.txt        |     8 +
 .../cases/semantic/00855/00855-results.csv         |    52 +
 .../cases/semantic/00855/00855-sbml-l2v4.xml       |   110 +
 .../cases/semantic/00855/00855-sbml-l3v1.xml       |   127 +
 .../cases/semantic/00855/00855-settings.txt        |     8 +
 .../cases/semantic/00856/00856-results.csv         |    52 +
 .../cases/semantic/00856/00856-sbml-l2v4.xml       |   107 +
 .../cases/semantic/00856/00856-sbml-l3v1.xml       |   124 +
 .../cases/semantic/00856/00856-settings.txt        |     8 +
 .../cases/semantic/00857/00857-results.csv         |    52 +
 .../cases/semantic/00857/00857-sbml-l2v4.xml       |    36 +
 .../cases/semantic/00857/00857-sbml-l3v1.xml       |    53 +
 .../cases/semantic/00857/00857-settings.txt        |     8 +
 .../cases/semantic/00858/00858-results.csv         |    52 +
 .../cases/semantic/00858/00858-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00858/00858-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00858/00858-settings.txt        |     8 +
 .../cases/semantic/00859/00859-results.csv         |    52 +
 .../cases/semantic/00859/00859-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00859/00859-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00859/00859-settings.txt        |     8 +
 .../cases/semantic/00860/00860-results.csv         |    52 +
 .../cases/semantic/00860/00860-sbml-l2v4.xml       |    36 +
 .../cases/semantic/00860/00860-sbml-l3v1.xml       |    53 +
 .../cases/semantic/00860/00860-settings.txt        |     8 +
 .../cases/semantic/00861/00861-results.csv         |    52 +
 .../cases/semantic/00861/00861-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00861/00861-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00861/00861-settings.txt        |     8 +
 .../cases/semantic/00862/00862-results.csv         |    52 +
 .../cases/semantic/00862/00862-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00862/00862-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00862/00862-settings.txt        |     8 +
 .../cases/semantic/00863/00863-results.csv         |    52 +
 .../cases/semantic/00863/00863-sbml-l2v4.xml       |    36 +
 .../cases/semantic/00863/00863-sbml-l3v1.xml       |    53 +
 .../cases/semantic/00863/00863-settings.txt        |     8 +
 .../cases/semantic/00864/00864-results.csv         |    52 +
 .../cases/semantic/00864/00864-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00864/00864-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00864/00864-settings.txt        |     8 +
 .../cases/semantic/00865/00865-results.csv         |    52 +
 .../cases/semantic/00865/00865-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00865/00865-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00865/00865-settings.txt        |     8 +
 .../cases/semantic/00866/00866-results.csv         |    52 +
 .../cases/semantic/00866/00866-sbml-l2v4.xml       |    36 +
 .../cases/semantic/00866/00866-sbml-l3v1.xml       |    53 +
 .../cases/semantic/00866/00866-settings.txt        |     8 +
 .../cases/semantic/00867/00867-results.csv         |    52 +
 .../cases/semantic/00867/00867-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00867/00867-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00867/00867-settings.txt        |     8 +
 .../cases/semantic/00868/00868-results.csv         |    52 +
 .../cases/semantic/00868/00868-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00868/00868-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00868/00868-settings.txt        |     8 +
 .../cases/semantic/00869/00869-results.csv         |    52 +
 .../cases/semantic/00869/00869-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00869/00869-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00869/00869-settings.txt        |     8 +
 .../cases/semantic/00870/00870-results.csv         |    52 +
 .../cases/semantic/00870/00870-sbml-l1v2.xml       |    41 +
 .../cases/semantic/00870/00870-sbml-l2v4.xml       |    88 +
 .../cases/semantic/00870/00870-sbml-l3v1.xml       |   105 +
 .../cases/semantic/00870/00870-settings.txt        |     8 +
 .../cases/semantic/00871/00871-results.csv         |    52 +
 .../cases/semantic/00871/00871-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00871/00871-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00871/00871-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00871/00871-settings.txt        |     8 +
 .../cases/semantic/00872/00872-results.csv         |    52 +
 .../cases/semantic/00872/00872-sbml-l1v2.xml       |    41 +
 .../cases/semantic/00872/00872-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00872/00872-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00872/00872-settings.txt        |     8 +
 .../cases/semantic/00873/00873-results.csv         |    52 +
 .../cases/semantic/00873/00873-sbml-l1v2.xml       |    41 +
 .../cases/semantic/00873/00873-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00873/00873-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00873/00873-settings.txt        |     8 +
 .../cases/semantic/00874/00874-results.csv         |    52 +
 .../cases/semantic/00874/00874-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00874/00874-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00874/00874-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00874/00874-settings.txt        |     8 +
 .../cases/semantic/00875/00875-results.csv         |    52 +
 .../cases/semantic/00875/00875-sbml-l1v2.xml       |    39 +
 .../cases/semantic/00875/00875-sbml-l2v4.xml       |    58 +
 .../cases/semantic/00875/00875-sbml-l3v1.xml       |    75 +
 .../cases/semantic/00875/00875-settings.txt        |     8 +
 .../cases/semantic/00876/00876-results.csv         |    52 +
 .../cases/semantic/00876/00876-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00876/00876-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00876/00876-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00876/00876-settings.txt        |     8 +
 .../cases/semantic/00877/00877-results.csv         |    52 +
 .../cases/semantic/00877/00877-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00877/00877-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00877/00877-settings.txt        |     8 +
 .../cases/semantic/00878/00878-results.csv         |    52 +
 .../cases/semantic/00878/00878-sbml-l2v4.xml       |    48 +
 .../cases/semantic/00878/00878-sbml-l3v1.xml       |    65 +
 .../cases/semantic/00878/00878-settings.txt        |     8 +
 .../cases/semantic/00879/00879-results.csv         |    52 +
 .../cases/semantic/00879/00879-sbml-l2v4.xml       |    93 +
 .../cases/semantic/00879/00879-sbml-l3v1.xml       |   110 +
 .../cases/semantic/00879/00879-settings.txt        |     8 +
 .../cases/semantic/00880/00880-results.csv         |    52 +
 .../cases/semantic/00880/00880-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00880/00880-sbml-l3v1.xml       |    66 +
 .../cases/semantic/00880/00880-settings.txt        |     8 +
 .../cases/semantic/00881/00881-results.csv         |    52 +
 .../cases/semantic/00881/00881-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00881/00881-sbml-l3v1.xml       |    66 +
 .../cases/semantic/00881/00881-settings.txt        |     8 +
 .../cases/semantic/00882/00882-results.csv         |    52 +
 .../cases/semantic/00882/00882-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00882/00882-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00882/00882-settings.txt        |     8 +
 .../cases/semantic/00883/00883-results.csv         |    52 +
 .../cases/semantic/00883/00883-sbml-l2v4.xml       |    83 +
 .../cases/semantic/00883/00883-sbml-l3v1.xml       |   100 +
 .../cases/semantic/00883/00883-settings.txt        |     8 +
 .../cases/semantic/00884/00884-results.csv         |    52 +
 .../cases/semantic/00884/00884-sbml-l2v4.xml       |   105 +
 .../cases/semantic/00884/00884-sbml-l3v1.xml       |   122 +
 .../cases/semantic/00884/00884-settings.txt        |     8 +
 .../cases/semantic/00885/00885-results.csv         |    52 +
 .../cases/semantic/00885/00885-sbml-l2v4.xml       |    98 +
 .../cases/semantic/00885/00885-sbml-l3v1.xml       |   115 +
 .../cases/semantic/00885/00885-settings.txt        |     8 +
 .../cases/semantic/00886/00886-results.csv         |    52 +
 .../cases/semantic/00886/00886-sbml-l2v4.xml       |    84 +
 .../cases/semantic/00886/00886-sbml-l3v1.xml       |   101 +
 .../cases/semantic/00886/00886-settings.txt        |     8 +
 .../cases/semantic/00887/00887-results.csv         |    52 +
 .../cases/semantic/00887/00887-sbml-l2v4.xml       |   106 +
 .../cases/semantic/00887/00887-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00887/00887-settings.txt        |     8 +
 .../cases/semantic/00888/00888-results.csv         |    52 +
 .../cases/semantic/00888/00888-sbml-l2v4.xml       |    54 +
 .../cases/semantic/00888/00888-sbml-l3v1.xml       |    71 +
 .../cases/semantic/00888/00888-settings.txt        |     8 +
 .../cases/semantic/00889/00889-results.csv         |    52 +
 .../cases/semantic/00889/00889-sbml-l2v4.xml       |    74 +
 .../cases/semantic/00889/00889-sbml-l3v1.xml       |    91 +
 .../cases/semantic/00889/00889-settings.txt        |     8 +
 .../cases/semantic/00890/00890-results.csv         |    52 +
 .../cases/semantic/00890/00890-sbml-l2v4.xml       |    70 +
 .../cases/semantic/00890/00890-sbml-l3v1.xml       |    87 +
 .../cases/semantic/00890/00890-settings.txt        |     8 +
 .../cases/semantic/00891/00891-results.csv         |    52 +
 .../cases/semantic/00891/00891-sbml-l2v4.xml       |    33 +
 .../cases/semantic/00891/00891-sbml-l3v1.xml       |    40 +
 .../cases/semantic/00891/00891-settings.txt        |     8 +
 .../cases/semantic/00892/00892-results.csv         |    52 +
 .../cases/semantic/00892/00892-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00892/00892-sbml-l3v1.xml       |    56 +
 .../cases/semantic/00892/00892-settings.txt        |     8 +
 .../cases/semantic/00893/00893-results.csv         |    52 +
 .../cases/semantic/00893/00893-sbml-l2v4.xml       |    41 +
 .../cases/semantic/00893/00893-sbml-l3v1.xml       |    48 +
 .../cases/semantic/00893/00893-settings.txt        |     8 +
 .../cases/semantic/00894/00894-results.csv         |    52 +
 .../cases/semantic/00894/00894-sbml-l2v4.xml       |    36 +
 .../cases/semantic/00894/00894-sbml-l3v1.xml       |    53 +
 .../cases/semantic/00894/00894-settings.txt        |     8 +
 .../cases/semantic/00895/00895-results.csv         |    52 +
 .../cases/semantic/00895/00895-sbml-l2v4.xml       |    78 +
 .../cases/semantic/00895/00895-sbml-l3v1.xml       |    95 +
 .../cases/semantic/00895/00895-settings.txt        |     8 +
 .../cases/semantic/00896/00896-results.csv         |    52 +
 .../cases/semantic/00896/00896-sbml-l2v4.xml       |    86 +
 .../cases/semantic/00896/00896-sbml-l3v1.xml       |   103 +
 .../cases/semantic/00896/00896-settings.txt        |     8 +
 .../cases/semantic/00897/00897-results.csv         |    52 +
 .../cases/semantic/00897/00897-sbml-l2v4.xml       |    82 +
 .../cases/semantic/00897/00897-sbml-l3v1.xml       |    99 +
 .../cases/semantic/00897/00897-settings.txt        |     8 +
 .../cases/semantic/00898/00898-results.csv         |    52 +
 .../cases/semantic/00898/00898-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00898/00898-settings.txt        |     8 +
 .../cases/semantic/00899/00899-results.csv         |    52 +
 .../cases/semantic/00899/00899-sbml-l2v4.xml       |    89 +
 .../cases/semantic/00899/00899-settings.txt        |     8 +
 .../cases/semantic/00900/00900-results.csv         |    52 +
 .../cases/semantic/00900/00900-sbml-l2v4.xml       |    97 +
 .../cases/semantic/00900/00900-settings.txt        |     8 +
 .../cases/semantic/00901/00901-results.csv         |    52 +
 .../cases/semantic/00901/00901-sbml-l1v2.xml       |    14 +
 .../cases/semantic/00901/00901-sbml-l2v4.xml       |    23 +
 .../cases/semantic/00901/00901-sbml-l3v1.xml       |    35 +
 .../cases/semantic/00901/00901-settings.txt        |     8 +
 .../cases/semantic/00902/00902-results.csv         |    52 +
 .../cases/semantic/00902/00902-sbml-l1v2.xml       |    11 +
 .../cases/semantic/00902/00902-sbml-l2v4.xml       |    19 +
 .../cases/semantic/00902/00902-sbml-l3v1.xml       |    31 +
 .../cases/semantic/00902/00902-settings.txt        |     8 +
 .../cases/semantic/00903/00903-results.csv         |    52 +
 .../cases/semantic/00903/00903-sbml-l1v2.xml       |    13 +
 .../cases/semantic/00903/00903-sbml-l2v4.xml       |    45 +
 .../cases/semantic/00903/00903-sbml-l3v1.xml       |    57 +
 .../cases/semantic/00903/00903-settings.txt        |     8 +
 .../cases/semantic/00904/00904-results.csv         |    52 +
 .../cases/semantic/00904/00904-sbml-l2v4.xml       |    19 +
 .../cases/semantic/00904/00904-sbml-l3v1.xml       |    31 +
 .../cases/semantic/00904/00904-settings.txt        |     8 +
 .../cases/semantic/00905/00905-results.csv         |    52 +
 .../cases/semantic/00905/00905-sbml-l2v4.xml       |    19 +
 .../cases/semantic/00905/00905-sbml-l3v1.xml       |    31 +
 .../cases/semantic/00905/00905-settings.txt        |     8 +
 .../cases/semantic/00906/00906-results.csv         |    52 +
 .../cases/semantic/00906/00906-sbml-l2v4.xml       |    23 +
 .../cases/semantic/00906/00906-sbml-l3v1.xml       |    35 +
 .../cases/semantic/00906/00906-settings.txt        |     8 +
 .../cases/semantic/00907/00907-results.csv         |    52 +
 .../cases/semantic/00907/00907-sbml-l2v4.xml       |    26 +
 .../cases/semantic/00907/00907-sbml-l3v1.xml       |    38 +
 .../cases/semantic/00907/00907-settings.txt        |     8 +
 .../cases/semantic/00908/00908-results.csv         |    52 +
 .../cases/semantic/00908/00908-sbml-l2v4.xml       |    45 +
 .../cases/semantic/00908/00908-sbml-l3v1.xml       |    62 +
 .../cases/semantic/00908/00908-settings.txt        |     8 +
 .../cases/semantic/00909/00909-results.csv         |    52 +
 .../cases/semantic/00909/00909-sbml-l2v4.xml       |    45 +
 .../cases/semantic/00909/00909-sbml-l3v1.xml       |    62 +
 .../cases/semantic/00909/00909-settings.txt        |     8 +
 .../cases/semantic/00910/00910-results.csv         |    52 +
 .../cases/semantic/00910/00910-sbml-l2v4.xml       |    45 +
 .../cases/semantic/00910/00910-sbml-l3v1.xml       |    62 +
 .../cases/semantic/00910/00910-settings.txt        |     8 +
 .../cases/semantic/00911/00911-results.csv         |    52 +
 .../cases/semantic/00911/00911-sbml-l2v4.xml       |    38 +
 .../cases/semantic/00911/00911-sbml-l3v1.xml       |    50 +
 .../cases/semantic/00911/00911-settings.txt        |     8 +
 .../cases/semantic/00912/00912-results.csv         |    52 +
 .../cases/semantic/00912/00912-sbml-l2v4.xml       |    30 +
 .../cases/semantic/00912/00912-sbml-l3v1.xml       |    42 +
 .../cases/semantic/00912/00912-settings.txt        |     8 +
 .../cases/semantic/00913/00913-results.csv         |    52 +
 .../cases/semantic/00913/00913-sbml-l2v4.xml       |    30 +
 .../cases/semantic/00913/00913-sbml-l3v1.xml       |    42 +
 .../cases/semantic/00913/00913-settings.txt        |     8 +
 .../cases/semantic/00914/00914-results.csv         |    52 +
 .../cases/semantic/00914/00914-sbml-l2v4.xml       |    38 +
 .../cases/semantic/00914/00914-sbml-l3v1.xml       |    50 +
 .../cases/semantic/00914/00914-settings.txt        |     8 +
 .../cases/semantic/00915/00915-results.csv         |    52 +
 .../cases/semantic/00915/00915-sbml-l2v4.xml       |    38 +
 .../cases/semantic/00915/00915-sbml-l3v1.xml       |    50 +
 .../cases/semantic/00915/00915-settings.txt        |     8 +
 .../cases/semantic/00916/00916-results.csv         |    52 +
 .../cases/semantic/00916/00916-sbml-l2v4.xml       |    30 +
 .../cases/semantic/00916/00916-sbml-l3v1.xml       |    42 +
 .../cases/semantic/00916/00916-settings.txt        |     8 +
 .../cases/semantic/00917/00917-results.csv         |    52 +
 .../cases/semantic/00917/00917-sbml-l2v4.xml       |    30 +
 .../cases/semantic/00917/00917-sbml-l3v1.xml       |    42 +
 .../cases/semantic/00917/00917-settings.txt        |     8 +
 .../cases/semantic/00918/00918-results.csv         |    52 +
 .../cases/semantic/00918/00918-sbml-l2v4.xml       |    30 +
 .../cases/semantic/00918/00918-sbml-l3v1.xml       |    42 +
 .../cases/semantic/00918/00918-settings.txt        |     8 +
 .../cases/semantic/00919/00919-results.csv         |    52 +
 .../cases/semantic/00919/00919-sbml-l2v4.xml       |    30 +
 .../cases/semantic/00919/00919-sbml-l3v1.xml       |    42 +
 .../cases/semantic/00919/00919-settings.txt        |     8 +
 .../cases/semantic/00920/00920-results.csv         |    52 +
 .../cases/semantic/00920/00920-sbml-l2v4.xml       |    20 +
 .../cases/semantic/00920/00920-sbml-l3v1.xml       |    27 +
 .../cases/semantic/00920/00920-settings.txt        |     8 +
 .../cases/semantic/00921/00921-results.csv         |    52 +
 .../cases/semantic/00921/00921-sbml-l2v4.xml       |    20 +
 .../cases/semantic/00921/00921-sbml-l3v1.xml       |    27 +
 .../cases/semantic/00921/00921-settings.txt        |     8 +
 .../cases/semantic/00922/00922-results.csv         |    52 +
 .../cases/semantic/00922/00922-sbml-l2v4.xml       |    20 +
 .../cases/semantic/00922/00922-sbml-l3v1.xml       |    27 +
 .../cases/semantic/00922/00922-settings.txt        |     8 +
 .../cases/semantic/00923/00923-results.csv         |    52 +
 .../cases/semantic/00923/00923-sbml-l1v2.xml       |    15 +
 .../cases/semantic/00923/00923-sbml-l2v4.xml       |    20 +
 .../cases/semantic/00923/00923-sbml-l3v1.xml       |    27 +
 .../cases/semantic/00923/00923-settings.txt        |     8 +
 .../cases/semantic/00924/00924-results.csv         |    52 +
 .../cases/semantic/00924/00924-sbml-l1v2.xml       |    15 +
 .../cases/semantic/00924/00924-sbml-l2v4.xml       |    20 +
 .../cases/semantic/00924/00924-sbml-l3v1.xml       |    27 +
 .../cases/semantic/00924/00924-settings.txt        |     8 +
 .../cases/semantic/00925/00925-results.csv         |    52 +
 .../cases/semantic/00925/00925-sbml-l1v2.xml       |    15 +
 .../cases/semantic/00925/00925-sbml-l2v4.xml       |    20 +
 .../cases/semantic/00925/00925-sbml-l3v1.xml       |    27 +
 .../cases/semantic/00925/00925-settings.txt        |     8 +
 .../cases/semantic/00926/00926-results.csv         |    52 +
 .../cases/semantic/00926/00926-sbml-l2v4.xml       |    22 +
 .../cases/semantic/00926/00926-sbml-l3v1.xml       |    39 +
 .../cases/semantic/00926/00926-settings.txt        |     8 +
 .../cases/semantic/00927/00927-results.csv         |    52 +
 .../cases/semantic/00927/00927-sbml-l1v2.xml       |    14 +
 .../cases/semantic/00927/00927-sbml-l2v4.xml       |    22 +
 .../cases/semantic/00927/00927-sbml-l3v1.xml       |    39 +
 .../cases/semantic/00927/00927-settings.txt        |     8 +
 .../cases/semantic/00928/00928-results.csv         |    52 +
 .../cases/semantic/00928/00928-sbml-l3v1.xml       |    60 +
 .../cases/semantic/00928/00928-settings.txt        |     9 +
 .../cases/semantic/00929/00929-results.csv         |    52 +
 .../cases/semantic/00929/00929-sbml-l3v1.xml       |    60 +
 .../cases/semantic/00929/00929-settings.txt        |     9 +
 .../cases/semantic/00930/00930-results.csv         |    52 +
 .../cases/semantic/00930/00930-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00930/00930-settings.txt        |     9 +
 .../cases/semantic/00931/00931-results.csv         |    52 +
 .../cases/semantic/00931/00931-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00931/00931-settings.txt        |     9 +
 .../cases/semantic/00932/00932-results.csv         |    52 +
 .../cases/semantic/00932/00932-sbml-l3v1.xml       |    69 +
 .../cases/semantic/00932/00932-settings.txt        |     8 +
 .../cases/semantic/00933/00933-results.csv         |    52 +
 .../cases/semantic/00933/00933-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00933/00933-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00933/00933-settings.txt        |     8 +
 .../cases/semantic/00934/00934-results.csv         |    52 +
 .../cases/semantic/00934/00934-sbml-l3v1.xml       |   107 +
 .../cases/semantic/00934/00934-settings.txt        |     9 +
 .../cases/semantic/00935/00935-results.csv         |    52 +
 .../cases/semantic/00935/00935-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00935/00935-settings.txt        |     9 +
 .../cases/semantic/00936/00936-results.csv         |   127 +
 .../cases/semantic/00936/00936-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00936/00936-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00936/00936-settings.txt        |     9 +
 .../cases/semantic/00937/00937-results.csv         |    42 +
 .../cases/semantic/00937/00937-sbml-l2v4.xml       |    41 +
 .../cases/semantic/00937/00937-sbml-l3v1.xml       |    41 +
 .../cases/semantic/00937/00937-settings.txt        |     9 +
 .../cases/semantic/00938/00938-results.csv         |    42 +
 .../cases/semantic/00938/00938-sbml-l2v4.xml       |    64 +
 .../cases/semantic/00938/00938-sbml-l3v1.xml       |    64 +
 .../cases/semantic/00938/00938-settings.txt        |     8 +
 .../cases/semantic/00939/00939-results.csv         |    42 +
 .../cases/semantic/00939/00939-sbml-l2v4.xml       |    63 +
 .../cases/semantic/00939/00939-sbml-l3v1.xml       |    63 +
 .../cases/semantic/00939/00939-settings.txt        |     9 +
 .../cases/semantic/00940/00940-results.csv         |    52 +
 .../cases/semantic/00940/00940-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00940/00940-sbml-l3v1.xml       |    69 +
 .../cases/semantic/00940/00940-settings.txt        |     8 +
 .../cases/semantic/00941/00941-results.csv         |    52 +
 .../cases/semantic/00941/00941-sbml-l2v4.xml       |    43 +
 .../cases/semantic/00941/00941-sbml-l3v1.xml       |    43 +
 .../cases/semantic/00941/00941-settings.txt        |     8 +
 .../cases/semantic/00942/00942-results.csv         |    52 +
 .../cases/semantic/00942/00942-sbml-l2v4.xml       |    69 +
 .../cases/semantic/00942/00942-sbml-l3v1.xml       |    69 +
 .../cases/semantic/00942/00942-settings.txt        |     8 +
 .../cases/semantic/00943/00943-results.csv         |    52 +
 .../cases/semantic/00943/00943-sbml-l2v4.xml       |    55 +
 .../cases/semantic/00943/00943-sbml-l3v1.xml       |    55 +
 .../cases/semantic/00943/00943-settings.txt        |     8 +
 .../cases/semantic/00944/00944-results.csv         |   302 +
 .../cases/semantic/00944/00944-sbml-l2v4.xml       |    54 +
 .../cases/semantic/00944/00944-sbml-l3v1.xml       |    55 +
 .../cases/semantic/00944/00944-settings.txt        |     8 +
 .../cases/semantic/00945/00945-results.csv         |   302 +
 .../cases/semantic/00945/00945-sbml-l2v4.xml       |    54 +
 .../cases/semantic/00945/00945-sbml-l3v1.xml       |    55 +
 .../cases/semantic/00945/00945-settings.txt        |     8 +
 .../cases/semantic/00946/00946-results.csv         |   302 +
 .../cases/semantic/00946/00946-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00946/00946-sbml-l3v1.xml       |    63 +
 .../cases/semantic/00946/00946-settings.txt        |     8 +
 .../cases/semantic/00947/00947-results.csv         |   302 +
 .../cases/semantic/00947/00947-sbml-l2v4.xml       |    54 +
 .../cases/semantic/00947/00947-sbml-l3v1.xml       |    55 +
 .../cases/semantic/00947/00947-settings.txt        |     8 +
 .../cases/semantic/00948/00948-results.csv         |   302 +
 .../cases/semantic/00948/00948-sbml-l2v4.xml       |    62 +
 .../cases/semantic/00948/00948-sbml-l3v1.xml       |    63 +
 .../cases/semantic/00948/00948-settings.txt        |     8 +
 .../cases/semantic/00949/00949-results.csv         |    12 +
 .../cases/semantic/00949/00949-sbml-l1v2.xml       |    16 +
 .../cases/semantic/00949/00949-sbml-l2v4.xml       |    13 +
 .../cases/semantic/00949/00949-sbml-l3v1.xml       |    13 +
 .../cases/semantic/00949/00949-settings.txt        |     8 +
 .../cases/semantic/00950/00950-results.csv         |    12 +
 .../cases/semantic/00950/00950-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00950/00950-sbml-l3v1.xml       |    35 +
 .../cases/semantic/00950/00950-settings.txt        |     8 +
 .../cases/semantic/00951/00951-results.csv         |    12 +
 .../cases/semantic/00951/00951-sbml-l1v2.xml       |    30 +
 .../cases/semantic/00951/00951-sbml-l2v4.xml       |    27 +
 .../cases/semantic/00951/00951-sbml-l3v1.xml       |    27 +
 .../cases/semantic/00951/00951-settings.txt        |     8 +
 .../cases/semantic/00952/00952-antimony.txt        |    17 +
 .../cases/semantic/00952/00952-results.csv         |  1003 +
 .../cases/semantic/00952/00952-sbml-l3v1.xml       |   123 +
 .../cases/semantic/00952/00952-settings.txt        |     8 +
 .../cases/semantic/00953/00953-results.csv         |  1003 +
 .../cases/semantic/00953/00953-sbml-l3v1.xml       |   104 +
 .../cases/semantic/00953/00953-settings.txt        |     8 +
 .../cases/semantic/00954/00954-antimony.txt        |    45 +
 .../cases/semantic/00954/00954-results.csv         |    12 +
 .../cases/semantic/00954/00954-sbml-l1v2.xml       |   108 +
 .../cases/semantic/00954/00954-sbml-l2v4.xml       |   399 +
 .../cases/semantic/00954/00954-sbml-l3v1.xml       |   399 +
 .../cases/semantic/00954/00954-settings.txt        |     8 +
 .../cases/semantic/00955/00955-antimony.txt        |    45 +
 .../cases/semantic/00955/00955-results.csv         |    12 +
 .../cases/semantic/00955/00955-results.xlsx        |   Bin 0 -> 15345 bytes
 .../cases/semantic/00955/00955-sbml-l2v4.xml       |   397 +
 .../cases/semantic/00955/00955-sbml-l3v1.xml       |   397 +
 .../cases/semantic/00955/00955-settings.txt        |     8 +
 .../cases/semantic/00956/00956-antimony.txt        |    44 +
 .../cases/semantic/00956/00956-results.csv         |    12 +
 .../cases/semantic/00956/00956-sbml-l2v4.xml       |   404 +
 .../cases/semantic/00956/00956-sbml-l3v1.xml       |   404 +
 .../cases/semantic/00956/00956-settings.txt        |     8 +
 .../cases/semantic/00957/00957-antimony.txt        |    37 +
 .../cases/semantic/00957/00957-results.csv         |    12 +
 .../cases/semantic/00957/00957-sbml-l2v4.xml       |   361 +
 .../cases/semantic/00957/00957-sbml-l3v1.xml       |   361 +
 .../cases/semantic/00957/00957-settings.txt        |     8 +
 .../cases/semantic/00958/00958-antimony.txt        |    31 +
 .../cases/semantic/00958/00958-results.csv         |    12 +
 .../cases/semantic/00958/00958-sbml-l2v4.xml       |   361 +
 .../cases/semantic/00958/00958-sbml-l3v1.xml       |   361 +
 .../cases/semantic/00958/00958-settings.txt        |     8 +
 .../cases/semantic/00959/00959-antimony.txt        |    30 +
 .../cases/semantic/00959/00959-results.csv         |    12 +
 .../cases/semantic/00959/00959-sbml-l2v4.xml       |   392 +
 .../cases/semantic/00959/00959-sbml-l3v1.xml       |   392 +
 .../cases/semantic/00959/00959-settings.txt        |     8 +
 .../cases/semantic/00960/00960-results.csv         |    12 +
 .../cases/semantic/00960/00960-sbml-l3v1.xml       |    60 +
 .../cases/semantic/00960/00960-settings.txt        |     8 +
 .../cases/semantic/00961/00961-results.csv         |    12 +
 .../cases/semantic/00961/00961-sbml-l3v1.xml       |    43 +
 .../cases/semantic/00961/00961-settings.txt        |     8 +
 .../cases/semantic/00962/00962-antimony.txt        |    21 +
 .../cases/semantic/00962/00962-results.csv         |  1003 +
 .../cases/semantic/00962/00962-sbml-l3v1.xml       |   157 +
 .../cases/semantic/00962/00962-settings.txt        |     8 +
 .../cases/semantic/00963/00963-results.csv         |  1003 +
 .../cases/semantic/00963/00963-sbml-l3v1.xml       |   176 +
 .../cases/semantic/00963/00963-settings.txt        |     8 +
 .../cases/semantic/00964/00964-antimony.txt        |    20 +
 .../cases/semantic/00964/00964-results.csv         |  1003 +
 .../cases/semantic/00964/00964-sbml-l3v1.xml       |   189 +
 .../cases/semantic/00964/00964-settings.txt        |     8 +
 .../cases/semantic/00965/00965-antimony.txt        |    23 +
 .../cases/semantic/00965/00965-results.csv         |  1003 +
 .../cases/semantic/00965/00965-sbml-l3v1.xml       |   198 +
 .../cases/semantic/00965/00965-settings.txt        |     8 +
 .../cases/semantic/00966/00966-antimony.txt        |    81 +
 .../cases/semantic/00966/00966-results.csv         |  1002 +
 .../cases/semantic/00966/00966-sbml-l3v1.xml       |  1169 +
 .../cases/semantic/00966/00966-settings.txt        |     8 +
 .../cases/semantic/00966/00966-worksheet.xlsx      |   Bin 0 -> 10014 bytes
 .../cases/semantic/00967/00967-antimony.txt        |    12 +
 .../cases/semantic/00967/00967-results.csv         |   103 +
 .../cases/semantic/00967/00967-sbml-l3v1.xml       |    84 +
 .../cases/semantic/00967/00967-settings.txt        |     8 +
 .../cases/semantic/00968/00968-results.csv         |   102 +
 .../cases/semantic/00968/00968-sbml-l2v4.xml       |    32 +
 .../cases/semantic/00968/00968-settings.txt        |     8 +
 .../cases/semantic/00969/00969-results.csv         |   102 +
 .../cases/semantic/00969/00969-sbml-l3v1.xml       |    33 +
 .../cases/semantic/00969/00969-settings.txt        |     8 +
 .../cases/semantic/00970/00970-results.csv         |   102 +
 .../cases/semantic/00970/00970-sbml-l3v1.xml       |    33 +
 .../cases/semantic/00970/00970-settings.txt        |     8 +
 .../cases/semantic/00971/00971-results.csv         |   102 +
 .../cases/semantic/00971/00971-sbml-l3v1.xml       |    33 +
 .../cases/semantic/00971/00971-settings.txt        |     8 +
 .../cases/semantic/00972/00972-results.csv         |   102 +
 .../cases/semantic/00972/00972-sbml-l3v1.xml       |    46 +
 .../cases/semantic/00972/00972-settings.txt        |     8 +
 .../cases/semantic/00973/00973-results.csv         |   102 +
 .../cases/semantic/00973/00973-sbml-l2v4.xml       |    40 +
 .../cases/semantic/00973/00973-settings.txt        |     8 +
 .../cases/semantic/00974/00974-results.csv         |   102 +
 .../cases/semantic/00974/00974-sbml-l3v1.xml       |    48 +
 .../cases/semantic/00974/00974-settings.txt        |     8 +
 .../cases/semantic/00975/00975-results.csv         |   102 +
 .../cases/semantic/00975/00975-sbml-l3v1.xml       |    67 +
 .../cases/semantic/00975/00975-settings.txt        |     8 +
 .../cases/semantic/00976/00976-results.csv         |   102 +
 .../cases/semantic/00976/00976-sbml-l3v1.xml       |    67 +
 .../cases/semantic/00976/00976-settings.txt        |     8 +
 .../cases/semantic/00977/00977-results.csv         |   102 +
 .../cases/semantic/00977/00977-sbml-l3v1.xml       |    67 +
 .../cases/semantic/00977/00977-settings.txt        |     8 +
 .../cases/semantic/00978/00978-antimony.txt        |    33 +
 .../cases/semantic/00978/00978-results.csv         |    12 +
 .../cases/semantic/00978/00978-sbml-l3v1.xml       |   302 +
 .../cases/semantic/00978/00978-settings.txt        |     8 +
 .../cases/semantic/00979/00979-antimony.txt        |     8 +
 .../cases/semantic/00979/00979-results.csv         |    12 +
 .../cases/semantic/00979/00979-sbml-l2v4.xml       |    67 +
 .../cases/semantic/00979/00979-sbml-l3v1.xml       |    68 +
 .../cases/semantic/00979/00979-settings.txt        |     8 +
 .../cases/semantic/00980/00980-antimony.txt        |     8 +
 .../cases/semantic/00980/00980-results.csv         |    12 +
 .../cases/semantic/00980/00980-sbml-l2v4.xml       |    77 +
 .../cases/semantic/00980/00980-sbml-l3v1.xml       |    78 +
 .../cases/semantic/00980/00980-settings.txt        |     8 +
 .../cases/semantic/00981/00981-results.csv         |    12 +
 .../cases/semantic/00981/00981-sbml-l2v4.xml       |    32 +
 .../cases/semantic/00981/00981-sbml-l3v1.xml       |    33 +
 .../cases/semantic/00981/00981-settings.txt        |     8 +
 .../cases/semantic/00982/00982-results.csv         |    12 +
 .../cases/semantic/00982/00982-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00982/00982-sbml-l3v1.xml       |    36 +
 .../cases/semantic/00982/00982-settings.txt        |     8 +
 .../cases/semantic/00983/00983-results.csv         |    12 +
 .../cases/semantic/00983/00983-sbml-l2v4.xml       |    43 +
 .../cases/semantic/00983/00983-sbml-l3v1.xml       |    44 +
 .../cases/semantic/00983/00983-settings.txt        |     8 +
 .../cases/semantic/00984/00984-results.csv         |    12 +
 .../cases/semantic/00984/00984-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00984/00984-sbml-l3v1.xml       |    50 +
 .../cases/semantic/00984/00984-settings.txt        |     8 +
 .../cases/semantic/00985/00985-results.csv         |    12 +
 .../cases/semantic/00985/00985-sbml-l2v4.xml       |    35 +
 .../cases/semantic/00985/00985-sbml-l3v1.xml       |    36 +
 .../cases/semantic/00985/00985-settings.txt        |     8 +
 .../cases/semantic/00986/00986-results.csv         |    12 +
 .../cases/semantic/00986/00986-sbml-l1v2.xml       |    33 +
 .../cases/semantic/00986/00986-sbml-l2v4.xml       |    49 +
 .../cases/semantic/00986/00986-sbml-l3v1.xml       |    50 +
 .../cases/semantic/00986/00986-settings.txt        |     8 +
 .../cases/semantic/00987/00987-results.csv         |    12 +
 .../cases/semantic/00987/00987-sbml-l2v4.xml       |    72 +
 .../cases/semantic/00987/00987-sbml-l3v1.xml       |    73 +
 .../cases/semantic/00987/00987-settings.txt        |     8 +
 .../cases/semantic/00988/00988-antimony.txt        |    24 +
 .../cases/semantic/00988/00988-results.csv         |    22 +
 .../cases/semantic/00988/00988-sbml-l2v4.xml       |    91 +
 .../cases/semantic/00988/00988-sbml-l3v1.xml       |    92 +
 .../cases/semantic/00988/00988-settings.txt        |     8 +
 .../cases/semantic/00989/00989-results.csv         |   102 +
 .../cases/semantic/00989/00989-sbml-l2v4.xml       |    47 +
 .../cases/semantic/00989/00989-settings.txt        |     8 +
 .../cases/semantic/00990/00990-results.csv         |   102 +
 .../cases/semantic/00990/00990-sbml-l2v4.xml       |    40 +
 .../cases/semantic/00990/00990-settings.txt        |     8 +
 .../cases/semantic/00991/00991-results.csv         |    22 +
 .../cases/semantic/00991/00991-sbml-l2v4.xml       |    53 +
 .../cases/semantic/00991/00991-settings.txt        |     8 +
 .../cases/semantic/00992/00992-results.csv         |   102 +
 .../cases/semantic/00992/00992-sbml-l2v4.xml       |    40 +
 .../cases/semantic/00992/00992-settings.txt        |     8 +
 .../cases/semantic/00993/00993-results.csv         |   102 +
 .../cases/semantic/00993/00993-sbml-l2v4.xml       |    44 +
 .../cases/semantic/00993/00993-settings.txt        |     8 +
 .../cases/semantic/00994/00994-results.csv         |   102 +
 .../cases/semantic/00994/00994-sbml-l2v4.xml       |    32 +
 .../cases/semantic/00994/00994-settings.txt        |     8 +
 .../cases/semantic/00995/00995-results.csv         |     7 +
 .../cases/semantic/00995/00995-sbml-l3v1.xml       |    48 +
 .../cases/semantic/00995/00995-settings.txt        |     9 +
 .../cases/semantic/00996/00996-results.csv         |     7 +
 .../cases/semantic/00996/00996-sbml-l3v1.xml       |    55 +
 .../cases/semantic/00996/00996-settings.txt        |     9 +
 .../cases/semantic/00997/00997-results.csv         |     7 +
 .../cases/semantic/00997/00997-sbml-l3v1.xml       |    82 +
 .../cases/semantic/00997/00997-settings.txt        |     9 +
 .../cases/semantic/00998/00998-results.csv         |    12 +
 .../cases/semantic/00998/00998-sbml-l2v4.xml       |    27 +
 .../cases/semantic/00998/00998-sbml-l3v1.xml       |    28 +
 .../cases/semantic/00998/00998-settings.txt        |     9 +
 .../cases/semantic/00999/00999-results.csv         |    12 +
 .../cases/semantic/00999/00999-sbml-l2v4.xml       |    76 +
 .../cases/semantic/00999/00999-sbml-l3v1.xml       |    77 +
 .../cases/semantic/00999/00999-settings.txt        |     9 +
 .../cases/semantic/01000/01000-results.csv         |  1007 +
 .../cases/semantic/01000/01000-sbml-l3v1.xml       |   377 +
 .../cases/semantic/01000/01000-settings.txt        |     9 +
 .../cases/semantic/01001/01001-results.csv         |    52 +
 .../cases/semantic/01001/01001-sbml-l2v4.xml       |    34 +
 .../cases/semantic/01001/01001-sbml-l3v1.xml       |    51 +
 .../cases/semantic/01001/01001-settings.txt        |     8 +
 .../cases/semantic/01002/01002-results.csv         |    52 +
 .../cases/semantic/01002/01002-sbml-l2v4.xml       |    56 +
 .../cases/semantic/01002/01002-sbml-l3v1.xml       |    73 +
 .../cases/semantic/01002/01002-settings.txt        |     8 +
 .../cases/semantic/01003/01003-results.csv         |    52 +
 .../cases/semantic/01003/01003-sbml-l2v4.xml       |    60 +
 .../cases/semantic/01003/01003-sbml-l3v1.xml       |    77 +
 .../cases/semantic/01003/01003-settings.txt        |     8 +
 .../cases/semantic/01004/01004-results.csv         |    52 +
 .../cases/semantic/01004/01004-sbml-l2v4.xml       |    53 +
 .../cases/semantic/01004/01004-sbml-l3v1.xml       |    70 +
 .../cases/semantic/01004/01004-settings.txt        |     8 +
 .../cases/semantic/01005/01005-results.csv         |    52 +
 .../cases/semantic/01005/01005-sbml-l2v4.xml       |    78 +
 .../cases/semantic/01005/01005-sbml-l3v1.xml       |    95 +
 .../cases/semantic/01005/01005-settings.txt        |     8 +
 .../cases/semantic/01006/01006-results.csv         |    52 +
 .../cases/semantic/01006/01006-sbml-l2v4.xml       |    82 +
 .../cases/semantic/01006/01006-sbml-l3v1.xml       |    99 +
 .../cases/semantic/01006/01006-settings.txt        |     8 +
 .../cases/semantic/01007/01007-results.csv         |    52 +
 .../cases/semantic/01007/01007-sbml-l2v4.xml       |    34 +
 .../cases/semantic/01007/01007-sbml-l3v1.xml       |    51 +
 .../cases/semantic/01007/01007-settings.txt        |     8 +
 .../cases/semantic/01008/01008-results.csv         |    52 +
 .../cases/semantic/01008/01008-sbml-l2v4.xml       |    57 +
 .../cases/semantic/01008/01008-sbml-l3v1.xml       |    74 +
 .../cases/semantic/01008/01008-settings.txt        |     8 +
 .../cases/semantic/01009/01009-results.csv         |    52 +
 .../cases/semantic/01009/01009-sbml-l2v4.xml       |    56 +
 .../cases/semantic/01009/01009-sbml-l3v1.xml       |    73 +
 .../cases/semantic/01009/01009-settings.txt        |     8 +
 .../cases/semantic/01010/01010-results.csv         |    52 +
 .../cases/semantic/01010/01010-sbml-l2v4.xml       |    60 +
 .../cases/semantic/01010/01010-sbml-l3v1.xml       |    77 +
 .../cases/semantic/01010/01010-settings.txt        |     8 +
 .../cases/semantic/01011/01011-results.csv         |    52 +
 .../cases/semantic/01011/01011-sbml-l2v4.xml       |    34 +
 .../cases/semantic/01011/01011-sbml-l3v1.xml       |    51 +
 .../cases/semantic/01011/01011-settings.txt        |     8 +
 .../cases/semantic/01012/01012-results.csv         |    52 +
 .../cases/semantic/01012/01012-sbml-l2v4.xml       |    56 +
 .../cases/semantic/01012/01012-sbml-l3v1.xml       |    73 +
 .../cases/semantic/01012/01012-settings.txt        |     8 +
 .../cases/semantic/01013/01013-results.csv         |    52 +
 .../cases/semantic/01013/01013-sbml-l2v4.xml       |    60 +
 .../cases/semantic/01013/01013-sbml-l3v1.xml       |    77 +
 .../cases/semantic/01013/01013-settings.txt        |     8 +
 .../cases/semantic/01014/01014-results.csv         |    52 +
 .../cases/semantic/01014/01014-sbml-l2v4.xml       |    47 +
 .../cases/semantic/01014/01014-sbml-l3v1.xml       |    64 +
 .../cases/semantic/01014/01014-settings.txt        |     8 +
 .../cases/semantic/01015/01015-results.csv         |    52 +
 .../cases/semantic/01015/01015-sbml-l2v4.xml       |    69 +
 .../cases/semantic/01015/01015-sbml-l3v1.xml       |    86 +
 .../cases/semantic/01015/01015-settings.txt        |     8 +
 .../cases/semantic/01016/01016-results.csv         |    52 +
 .../cases/semantic/01016/01016-sbml-l2v4.xml       |    47 +
 .../cases/semantic/01016/01016-sbml-l3v1.xml       |    64 +
 .../cases/semantic/01016/01016-settings.txt        |     8 +
 .../cases/semantic/01017/01017-results.csv         |    52 +
 .../cases/semantic/01017/01017-sbml-l2v4.xml       |    64 +
 .../cases/semantic/01017/01017-sbml-l3v1.xml       |    81 +
 .../cases/semantic/01017/01017-settings.txt        |     8 +
 .../cases/semantic/01018/01018-results.csv         |    52 +
 .../cases/semantic/01018/01018-sbml-l1v2.xml       |    44 +
 .../cases/semantic/01018/01018-sbml-l2v4.xml       |    68 +
 .../cases/semantic/01018/01018-sbml-l3v1.xml       |    65 +
 .../cases/semantic/01018/01018-settings.txt        |     8 +
 .../cases/semantic/01019/01019-results.csv         |    52 +
 .../cases/semantic/01019/01019-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01019/01019-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01019/01019-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01019/01019-settings.txt        |     8 +
 .../cases/semantic/01020/01020-results.csv         |    52 +
 .../cases/semantic/01020/01020-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01020/01020-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01020/01020-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01020/01020-settings.txt        |     8 +
 .../cases/semantic/01021/01021-results.csv         |    52 +
 .../cases/semantic/01021/01021-sbml-l1v2.xml       |    44 +
 .../cases/semantic/01021/01021-sbml-l2v4.xml       |    68 +
 .../cases/semantic/01021/01021-sbml-l3v1.xml       |    65 +
 .../cases/semantic/01021/01021-settings.txt        |     8 +
 .../cases/semantic/01022/01022-results.csv         |    52 +
 .../cases/semantic/01022/01022-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01022/01022-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01022/01022-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01022/01022-settings.txt        |     8 +
 .../cases/semantic/01023/01023-results.csv         |    52 +
 .../cases/semantic/01023/01023-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01023/01023-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01023/01023-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01023/01023-settings.txt        |     8 +
 .../cases/semantic/01024/01024-results.csv         |    52 +
 .../cases/semantic/01024/01024-sbml-l1v2.xml       |    44 +
 .../cases/semantic/01024/01024-sbml-l2v4.xml       |    68 +
 .../cases/semantic/01024/01024-sbml-l3v1.xml       |    65 +
 .../cases/semantic/01024/01024-settings.txt        |     8 +
 .../cases/semantic/01025/01025-results.csv         |    52 +
 .../cases/semantic/01025/01025-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01025/01025-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01025/01025-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01025/01025-settings.txt        |     8 +
 .../cases/semantic/01026/01026-results.csv         |    52 +
 .../cases/semantic/01026/01026-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01026/01026-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01026/01026-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01026/01026-settings.txt        |     8 +
 .../cases/semantic/01027/01027-results.csv         |    52 +
 .../cases/semantic/01027/01027-sbml-l2v4.xml       |    79 +
 .../cases/semantic/01027/01027-settings.txt        |     8 +
 .../cases/semantic/01028/01028-results.csv         |    52 +
 .../cases/semantic/01028/01028-sbml-l2v4.xml       |    82 +
 .../cases/semantic/01028/01028-settings.txt        |     8 +
 .../cases/semantic/01029/01029-results.csv         |    52 +
 .../cases/semantic/01029/01029-sbml-l2v4.xml       |    82 +
 .../cases/semantic/01029/01029-settings.txt        |     8 +
 .../cases/semantic/01030/01030-results.csv         |    52 +
 .../cases/semantic/01030/01030-sbml-l1v2.xml       |    60 +
 .../cases/semantic/01030/01030-sbml-l2v4.xml       |   107 +
 .../cases/semantic/01030/01030-sbml-l3v1.xml       |   101 +
 .../cases/semantic/01030/01030-settings.txt        |     8 +
 .../cases/semantic/01031/01031-results.csv         |    52 +
 .../cases/semantic/01031/01031-sbml-l1v2.xml       |    61 +
 .../cases/semantic/01031/01031-sbml-l2v4.xml       |   107 +
 .../cases/semantic/01031/01031-sbml-l3v1.xml       |   101 +
 .../cases/semantic/01031/01031-settings.txt        |     8 +
 .../cases/semantic/01032/01032-results.csv         |    52 +
 .../cases/semantic/01032/01032-sbml-l2v4.xml       |    87 +
 .../cases/semantic/01032/01032-sbml-l3v1.xml       |    84 +
 .../cases/semantic/01032/01032-settings.txt        |     8 +
 .../cases/semantic/01033/01033-results.csv         |    52 +
 .../cases/semantic/01033/01033-sbml-l2v4.xml       |    93 +
 .../cases/semantic/01033/01033-sbml-l3v1.xml       |    90 +
 .../cases/semantic/01033/01033-settings.txt        |     8 +
 .../cases/semantic/01034/01034-results.csv         |    52 +
 .../cases/semantic/01034/01034-sbml-l2v4.xml       |   110 +
 .../cases/semantic/01034/01034-sbml-l3v1.xml       |   107 +
 .../cases/semantic/01034/01034-settings.txt        |     8 +
 .../cases/semantic/01035/01035-results.csv         |    52 +
 .../cases/semantic/01035/01035-sbml-l2v4.xml       |    83 +
 .../cases/semantic/01035/01035-sbml-l3v1.xml       |    80 +
 .../cases/semantic/01035/01035-settings.txt        |     8 +
 .../cases/semantic/01036/01036-results.csv         |    52 +
 .../cases/semantic/01036/01036-sbml-l2v4.xml       |    83 +
 .../cases/semantic/01036/01036-sbml-l3v1.xml       |    80 +
 .../cases/semantic/01036/01036-settings.txt        |     8 +
 .../cases/semantic/01037/01037-results.csv         |    52 +
 .../cases/semantic/01037/01037-sbml-l2v4.xml       |    83 +
 .../cases/semantic/01037/01037-sbml-l3v1.xml       |    80 +
 .../cases/semantic/01037/01037-settings.txt        |     8 +
 .../cases/semantic/01038/01038-results.csv         |    52 +
 .../cases/semantic/01038/01038-sbml-l1v2.xml       |    49 +
 .../cases/semantic/01038/01038-sbml-l2v4.xml       |    78 +
 .../cases/semantic/01038/01038-sbml-l3v1.xml       |    75 +
 .../cases/semantic/01038/01038-settings.txt        |     8 +
 .../cases/semantic/01039/01039-results.csv         |    52 +
 .../cases/semantic/01039/01039-sbml-l1v2.xml       |    50 +
 .../cases/semantic/01039/01039-sbml-l2v4.xml       |    83 +
 .../cases/semantic/01039/01039-sbml-l3v1.xml       |    80 +
 .../cases/semantic/01039/01039-settings.txt        |     8 +
 .../cases/semantic/01040/01040-results.csv         |    52 +
 .../cases/semantic/01040/01040-sbml-l1v2.xml       |    50 +
 .../cases/semantic/01040/01040-sbml-l2v4.xml       |    83 +
 .../cases/semantic/01040/01040-sbml-l3v1.xml       |    80 +
 .../cases/semantic/01040/01040-settings.txt        |     8 +
 .../cases/semantic/01041/01041-results.csv         |    52 +
 .../cases/semantic/01041/01041-sbml-l1v2.xml       |    50 +
 .../cases/semantic/01041/01041-sbml-l2v4.xml       |    97 +
 .../cases/semantic/01041/01041-sbml-l3v1.xml       |    94 +
 .../cases/semantic/01041/01041-settings.txt        |     8 +
 .../cases/semantic/01042/01042-results.csv         |    52 +
 .../cases/semantic/01042/01042-sbml-l1v2.xml       |    50 +
 .../cases/semantic/01042/01042-sbml-l2v4.xml       |    83 +
 .../cases/semantic/01042/01042-sbml-l3v1.xml       |    80 +
 .../cases/semantic/01042/01042-settings.txt        |     8 +
 .../cases/semantic/01043/01043-results.csv         |    52 +
 .../cases/semantic/01043/01043-sbml-l1v2.xml       |    50 +
 .../cases/semantic/01043/01043-sbml-l2v4.xml       |    79 +
 .../cases/semantic/01043/01043-sbml-l3v1.xml       |    76 +
 .../cases/semantic/01043/01043-settings.txt        |     8 +
 .../cases/semantic/01044/01044-results.csv         |    52 +
 .../cases/semantic/01044/01044-sbml-l1v2.xml       |    49 +
 .../cases/semantic/01044/01044-sbml-l2v4.xml       |    82 +
 .../cases/semantic/01044/01044-sbml-l3v1.xml       |    79 +
 .../cases/semantic/01044/01044-settings.txt        |     8 +
 .../cases/semantic/01045/01045-results.csv         |    52 +
 .../cases/semantic/01045/01045-sbml-l2v4.xml       |    88 +
 .../cases/semantic/01045/01045-sbml-l3v1.xml       |    85 +
 .../cases/semantic/01045/01045-settings.txt        |     8 +
 .../cases/semantic/01046/01046-results.csv         |    52 +
 .../cases/semantic/01046/01046-sbml-l2v4.xml       |   130 +
 .../cases/semantic/01046/01046-sbml-l3v1.xml       |   124 +
 .../cases/semantic/01046/01046-settings.txt        |     8 +
 .../cases/semantic/01047/01047-results.csv         |    52 +
 .../cases/semantic/01047/01047-sbml-l2v4.xml       |   143 +
 .../cases/semantic/01047/01047-sbml-l3v1.xml       |   137 +
 .../cases/semantic/01047/01047-settings.txt        |     8 +
 .../cases/semantic/01048/01048-results.csv         |    52 +
 .../cases/semantic/01048/01048-sbml-l2v4.xml       |    93 +
 .../cases/semantic/01048/01048-sbml-l3v1.xml       |    90 +
 .../cases/semantic/01048/01048-settings.txt        |     8 +
 .../cases/semantic/01049/01049-results.csv         |    52 +
 .../cases/semantic/01049/01049-sbml-l2v4.xml       |   135 +
 .../cases/semantic/01049/01049-sbml-l3v1.xml       |   129 +
 .../cases/semantic/01049/01049-settings.txt        |     8 +
 .../cases/semantic/01050/01050-results.csv         |    52 +
 .../cases/semantic/01050/01050-sbml-l2v4.xml       |   153 +
 .../cases/semantic/01050/01050-sbml-l3v1.xml       |   147 +
 .../cases/semantic/01050/01050-settings.txt        |     8 +
 .../cases/semantic/01051/01051-results.csv         |    52 +
 .../cases/semantic/01051/01051-sbml-l1v2.xml       |    58 +
 .../cases/semantic/01051/01051-sbml-l2v4.xml       |   111 +
 .../cases/semantic/01051/01051-sbml-l3v1.xml       |   105 +
 .../cases/semantic/01051/01051-settings.txt        |     8 +
 .../cases/semantic/01052/01052-results.csv         |    52 +
 .../cases/semantic/01052/01052-sbml-l1v2.xml       |    58 +
 .../cases/semantic/01052/01052-sbml-l2v4.xml       |   107 +
 .../cases/semantic/01052/01052-sbml-l3v1.xml       |   101 +
 .../cases/semantic/01052/01052-settings.txt        |     8 +
 .../cases/semantic/01053/01053-results.csv         |    52 +
 .../cases/semantic/01053/01053-sbml-l1v2.xml       |    58 +
 .../cases/semantic/01053/01053-sbml-l2v4.xml       |   107 +
 .../cases/semantic/01053/01053-sbml-l3v1.xml       |   101 +
 .../cases/semantic/01053/01053-settings.txt        |     8 +
 .../cases/semantic/01054/01054-results.csv         |    52 +
 .../cases/semantic/01054/01054-sbml-l1v2.xml       |    50 +
 .../cases/semantic/01054/01054-sbml-l2v4.xml       |    87 +
 .../cases/semantic/01054/01054-sbml-l3v1.xml       |    84 +
 .../cases/semantic/01054/01054-settings.txt        |     8 +
 .../cases/semantic/01055/01055-results.csv         |    52 +
 .../cases/semantic/01055/01055-sbml-l1v2.xml       |    44 +
 .../cases/semantic/01055/01055-sbml-l2v4.xml       |    68 +
 .../cases/semantic/01055/01055-sbml-l3v1.xml       |    65 +
 .../cases/semantic/01055/01055-settings.txt        |     8 +
 .../cases/semantic/01056/01056-results.csv         |    52 +
 .../cases/semantic/01056/01056-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01056/01056-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01056/01056-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01056/01056-settings.txt        |     8 +
 .../cases/semantic/01057/01057-results.csv         |    52 +
 .../cases/semantic/01057/01057-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01057/01057-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01057/01057-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01057/01057-settings.txt        |     8 +
 .../cases/semantic/01058/01058-results.csv         |    52 +
 .../cases/semantic/01058/01058-sbml-l1v2.xml       |    44 +
 .../cases/semantic/01058/01058-sbml-l2v4.xml       |    68 +
 .../cases/semantic/01058/01058-sbml-l3v1.xml       |    65 +
 .../cases/semantic/01058/01058-settings.txt        |     8 +
 .../cases/semantic/01059/01059-results.csv         |    52 +
 .../cases/semantic/01059/01059-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01059/01059-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01059/01059-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01059/01059-settings.txt        |     8 +
 .../cases/semantic/01060/01060-results.csv         |    52 +
 .../cases/semantic/01060/01060-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01060/01060-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01060/01060-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01060/01060-settings.txt        |     8 +
 .../cases/semantic/01061/01061-results.csv         |    52 +
 .../cases/semantic/01061/01061-sbml-l1v2.xml       |    44 +
 .../cases/semantic/01061/01061-sbml-l2v4.xml       |    68 +
 .../cases/semantic/01061/01061-sbml-l3v1.xml       |    65 +
 .../cases/semantic/01061/01061-settings.txt        |     8 +
 .../cases/semantic/01062/01062-results.csv         |    52 +
 .../cases/semantic/01062/01062-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01062/01062-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01062/01062-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01062/01062-settings.txt        |     8 +
 .../cases/semantic/01063/01063-results.csv         |    52 +
 .../cases/semantic/01063/01063-sbml-l1v2.xml       |    46 +
 .../cases/semantic/01063/01063-sbml-l2v4.xml       |    71 +
 .../cases/semantic/01063/01063-sbml-l3v1.xml       |    68 +
 .../cases/semantic/01063/01063-settings.txt        |     8 +
 .../cases/semantic/01064/01064-results.csv         |    52 +
 .../cases/semantic/01064/01064-sbml-l3v1.xml       |    80 +
 .../cases/semantic/01064/01064-settings.txt        |     8 +
 .../cases/semantic/01065/01065-results.csv         |    52 +
 .../cases/semantic/01065/01065-sbml-l3v1.xml       |    64 +
 .../cases/semantic/01065/01065-settings.txt        |     8 +
 .../cases/semantic/01066/01066-results.csv         |    52 +
 .../cases/semantic/01066/01066-sbml-l3v1.xml       |    87 +
 .../cases/semantic/01066/01066-settings.txt        |     8 +
 .../cases/semantic/01067/01067-results.csv         |    52 +
 .../cases/semantic/01067/01067-sbml-l3v1.xml       |    96 +
 .../cases/semantic/01067/01067-settings.txt        |     8 +
 .../cases/semantic/01068/01068-results.csv         |    52 +
 .../cases/semantic/01068/01068-sbml-l3v1.xml       |    83 +
 .../cases/semantic/01068/01068-settings.txt        |     8 +
 .../cases/semantic/01069/01069-results.csv         |    52 +
 .../cases/semantic/01069/01069-sbml-l3v1.xml       |   106 +
 .../cases/semantic/01069/01069-settings.txt        |     8 +
 .../cases/semantic/01070/01070-results.csv         |    52 +
 .../cases/semantic/01070/01070-sbml-l3v1.xml       |   115 +
 .../cases/semantic/01070/01070-settings.txt        |     8 +
 .../cases/semantic/01071/01071-results.csv         |    52 +
 .../cases/semantic/01071/01071-sbml-l3v1.xml       |   107 +
 .../cases/semantic/01071/01071-settings.txt        |     8 +
 .../cases/semantic/01072/01072-results.csv         |    52 +
 .../cases/semantic/01072/01072-sbml-l3v1.xml       |   129 +
 .../cases/semantic/01072/01072-settings.txt        |     8 +
 .../cases/semantic/01073/01073-results.csv         |    52 +
 .../cases/semantic/01073/01073-sbml-l3v1.xml       |   112 +
 .../cases/semantic/01073/01073-settings.txt        |     8 +
 .../cases/semantic/01074/01074-results.csv         |    52 +
 .../cases/semantic/01074/01074-sbml-l3v1.xml       |   112 +
 .../cases/semantic/01074/01074-settings.txt        |     8 +
 .../cases/semantic/01075/01075-results.csv         |    52 +
 .../cases/semantic/01075/01075-sbml-l3v1.xml       |   139 +
 .../cases/semantic/01075/01075-settings.txt        |     8 +
 .../cases/semantic/01076/01076-results.csv         |    52 +
 .../cases/semantic/01076/01076-sbml-l3v1.xml       |   117 +
 .../cases/semantic/01076/01076-settings.txt        |     8 +
 .../cases/semantic/01077/01077-results.csv         |    52 +
 .../cases/semantic/01077/01077-sbml-l3v1.xml       |    74 +
 .../cases/semantic/01077/01077-settings.txt        |     8 +
 .../cases/semantic/01078/01078-results.csv         |    52 +
 .../cases/semantic/01078/01078-sbml-l3v1.xml       |    74 +
 .../cases/semantic/01078/01078-settings.txt        |     8 +
 .../cases/semantic/01079/01079-results.csv         |    52 +
 .../cases/semantic/01079/01079-sbml-l3v1.xml       |    74 +
 .../cases/semantic/01079/01079-settings.txt        |     8 +
 .../cases/semantic/01080/01080-results.csv         |    52 +
 .../cases/semantic/01080/01080-sbml-l3v1.xml       |    97 +
 .../cases/semantic/01080/01080-settings.txt        |     8 +
 .../cases/semantic/01081/01081-results.csv         |    52 +
 .../cases/semantic/01081/01081-sbml-l3v1.xml       |    97 +
 .../cases/semantic/01081/01081-settings.txt        |     8 +
 .../cases/semantic/01082/01082-results.csv         |    52 +
 .../cases/semantic/01082/01082-sbml-l3v1.xml       |    97 +
 .../cases/semantic/01082/01082-settings.txt        |     8 +
 .../cases/semantic/01083/01083-results.csv         |    52 +
 .../cases/semantic/01083/01083-sbml-l3v1.xml       |   112 +
 .../cases/semantic/01083/01083-settings.txt        |     8 +
 .../cases/semantic/01084/01084-results.csv         |    52 +
 .../cases/semantic/01084/01084-sbml-l3v1.xml       |   112 +
 .../cases/semantic/01084/01084-settings.txt        |     8 +
 .../cases/semantic/01085/01085-results.csv         |    52 +
 .../cases/semantic/01085/01085-sbml-l3v1.xml       |   103 +
 .../cases/semantic/01085/01085-settings.txt        |     8 +
 .../cases/semantic/01086/01086-results.csv         |    52 +
 .../cases/semantic/01086/01086-sbml-l3v1.xml       |   103 +
 .../cases/semantic/01086/01086-settings.txt        |     8 +
 .../cases/semantic/01087/01087-results.csv         |    52 +
 .../cases/semantic/01087/01087-sbml-l3v1.xml       |    77 +
 .../cases/semantic/01087/01087-settings.txt        |     8 +
 .../cases/semantic/01088/01088-results.csv         |    52 +
 .../cases/semantic/01088/01088-sbml-l3v1.xml       |   100 +
 .../cases/semantic/01088/01088-settings.txt        |     8 +
 .../cases/semantic/01089/01089-results.csv         |    52 +
 .../cases/semantic/01089/01089-sbml-l3v1.xml       |    95 +
 .../cases/semantic/01089/01089-settings.txt        |     8 +
 .../cases/semantic/01090/01090-results.csv         |    52 +
 .../cases/semantic/01090/01090-sbml-l3v1.xml       |    87 +
 .../cases/semantic/01090/01090-settings.txt        |     8 +
 .../cases/semantic/01091/01091-results.csv         |    52 +
 .../cases/semantic/01091/01091-sbml-l3v1.xml       |   118 +
 .../cases/semantic/01091/01091-settings.txt        |     8 +
 .../cases/semantic/01092/01092-results.csv         |    52 +
 .../cases/semantic/01092/01092-sbml-l3v1.xml       |   115 +
 .../cases/semantic/01092/01092-settings.txt        |     8 +
 .../cases/semantic/01093/01093-results.csv         |    52 +
 .../cases/semantic/01093/01093-sbml-l3v1.xml       |    98 +
 .../cases/semantic/01093/01093-settings.txt        |     8 +
 .../cases/semantic/01094/01094-results.csv         |    52 +
 .../cases/semantic/01094/01094-sbml-l3v1.xml       |   107 +
 .../cases/semantic/01094/01094-settings.txt        |     8 +
 .../cases/semantic/01095/01095-results.csv         |    52 +
 .../cases/semantic/01095/01095-sbml-l3v1.xml       |   120 +
 .../cases/semantic/01095/01095-settings.txt        |     8 +
 .../cases/semantic/01096/01096-results.csv         |    52 +
 .../cases/semantic/01096/01096-sbml-l3v1.xml       |    77 +
 .../cases/semantic/01096/01096-settings.txt        |     8 +
 .../cases/semantic/01097/01097-results.csv         |    52 +
 .../cases/semantic/01097/01097-sbml-l3v1.xml       |    80 +
 .../cases/semantic/01097/01097-settings.txt        |     8 +
 .../cases/semantic/01098/01098-results.csv         |    52 +
 .../cases/semantic/01098/01098-sbml-l3v1.xml       |    80 +
 .../cases/semantic/01098/01098-settings.txt        |     8 +
 .../cases/semantic/01099/01099-results.csv         |    52 +
 .../cases/semantic/01099/01099-sbml-l3v1.xml       |    65 +
 .../cases/semantic/01099/01099-settings.txt        |     8 +
 .../cases/semantic/01100/01100-results.csv         |    52 +
 .../cases/semantic/01100/01100-sbml-l3v1.xml       |   107 +
 .../cases/semantic/01100/01100-settings.txt        |     8 +
 .../cases/semantic/01101/01101-results.csv         |    52 +
 .../cases/semantic/01101/01101-sbml-l3v1.xml       |   115 +
 .../cases/semantic/01101/01101-settings.txt        |     8 +
 .../cases/semantic/01102/01102-results.csv         |   102 +
 .../cases/semantic/01102/01102-sbml-l3v1.xml       |    33 +
 .../cases/semantic/01102/01102-settings.txt        |     8 +
 .../cases/semantic/01103/01103-results.csv         |   102 +
 .../cases/semantic/01103/01103-sbml-l3v1.xml       |    33 +
 .../cases/semantic/01103/01103-settings.txt        |     8 +
 .../cases/semantic/01104/01104-results.csv         |   102 +
 .../cases/semantic/01104/01104-sbml-l3v1.xml       |    49 +
 .../cases/semantic/01104/01104-settings.txt        |     8 +
 .../cases/semantic/01105/01105-results.csv         |   102 +
 .../cases/semantic/01105/01105-sbml-l3v1.xml       |    40 +
 .../cases/semantic/01105/01105-settings.txt        |     8 +
 .../cases/semantic/01106/01106-results.csv         |    22 +
 .../cases/semantic/01106/01106-sbml-l3v1.xml       |    55 +
 .../cases/semantic/01106/01106-settings.txt        |     8 +
 .../cases/semantic/01107/01107-results.csv         |   102 +
 .../cases/semantic/01107/01107-sbml-l3v1.xml       |    40 +
 .../cases/semantic/01107/01107-settings.txt        |     8 +
 .../cases/semantic/01108/01108-results.csv         |   102 +
 .../cases/semantic/01108/01108-sbml-l3v1.xml       |    44 +
 .../cases/semantic/01108/01108-settings.txt        |     8 +
 .../cases/semantic/01109/01109-results.csv         |   102 +
 .../cases/semantic/01109/01109-sbml-l3v1.xml       |    34 +
 .../cases/semantic/01109/01109-settings.txt        |     8 +
 .../cases/semantic/01110/01110-results.csv         |    52 +
 .../cases/semantic/01110/01110-sbml-l3v1.xml       |    77 +
 .../cases/semantic/01110/01110-settings.txt        |     8 +
 .../cases/semantic/01111/01111-results.csv         |    52 +
 .../cases/semantic/01111/01111-sbml-l3v1.xml       |    80 +
 .../cases/semantic/01111/01111-settings.txt        |     8 +
 .../cases/semantic/01112/01112-results.csv         |     4 +
 .../cases/semantic/01112/01112-sbml-l2v4.xml       |    73 +
 .../cases/semantic/01112/01112-sbml-l3v1.xml       |    74 +
 .../cases/semantic/01112/01112-settings.txt        |     8 +
 .../cases/semantic/01113/01113-results.csv         |     4 +
 .../cases/semantic/01113/01113-sbml-l2v4.xml       |    78 +
 .../cases/semantic/01113/01113-sbml-l3v1.xml       |    79 +
 .../cases/semantic/01113/01113-settings.txt        |     8 +
 .../cases/semantic/01114/01114-results.csv         |     4 +
 .../cases/semantic/01114/01114-sbml-l2v4.xml       |   101 +
 .../cases/semantic/01114/01114-sbml-l3v1.xml       |   114 +
 .../cases/semantic/01114/01114-settings.txt        |     8 +
 .../cases/semantic/01115/01115-results.csv         |     4 +
 .../cases/semantic/01115/01115-sbml-l2v4.xml       |   106 +
 .../cases/semantic/01115/01115-sbml-l3v1.xml       |   119 +
 .../cases/semantic/01115/01115-settings.txt        |     8 +
 .../cases/semantic/01116/01116-results.csv         |     4 +
 .../cases/semantic/01116/01116-sbml-l2v4.xml       |    43 +
 .../cases/semantic/01116/01116-sbml-l3v1.xml       |    44 +
 .../cases/semantic/01116/01116-settings.txt        |     8 +
 .../cases/semantic/01117/01117-results.csv         |    12 +
 .../cases/semantic/01117/01117-sbml-l1v2.xml       |    14 +
 .../cases/semantic/01117/01117-sbml-l2v4.xml       |    18 +
 .../cases/semantic/01117/01117-sbml-l3v1.xml       |    19 +
 .../cases/semantic/01117/01117-settings.txt        |     8 +
 .../cases/semantic/01118/01118-results.csv         |    12 +
 .../cases/semantic/01118/01118-sbml-l1v2.xml       |    14 +
 .../cases/semantic/01118/01118-sbml-l2v4.xml       |    18 +
 .../cases/semantic/01118/01118-sbml-l3v1.xml       |    19 +
 .../cases/semantic/01118/01118-settings.txt        |     8 +
 .../cases/semantic/01119/01119-results.csv         |    12 +
 .../cases/semantic/01119/01119-sbml-l3v1.xml       |   124 +
 .../cases/semantic/01119/01119-settings.txt        |     8 +
 .../cases/semantic/01120/01120-results.csv         |    22 +
 .../cases/semantic/01120/01120-sbml-l3v1.xml       |    44 +
 .../cases/semantic/01120/01120-settings.txt        |     8 +
 .../cases/semantic/01121/01121-results.csv         |   307 +
 .../cases/semantic/01121/01121-sbml-l3v1.xml       |   160 +
 .../cases/semantic/01121/01121-settings.txt        |     9 +
 .../cases/semantic/01122/01122-results.csv         |   307 +
 .../cases/semantic/01122/01122-sbml-l1v2.xml       |    23 +
 .../cases/semantic/01122/01122-sbml-l2v4.xml       |    38 +
 .../cases/semantic/01122/01122-sbml-l3v1.xml       |    39 +
 .../cases/semantic/01122/01122-settings.txt        |     9 +
 .../cases/semantic/01123/01123-results.csv         |   307 +
 .../cases/semantic/01123/01123-sbml-l3v1.xml       |    39 +
 .../cases/semantic/01123/01123-settings.txt        |     9 +
 .../cases/semantic/01124/01124-results.csv         |    12 +
 .../cases/semantic/01124/01124-sbml-l3v1.xml       |    22 +
 .../cases/semantic/01124/01124-settings.txt        |     8 +
 .../cases/semantic/01125/01125-results.csv         |    12 +
 .../cases/semantic/01125/01125-sbml-l3v1.xml       |    25 +
 .../cases/semantic/01125/01125-settings.txt        |     8 +
 .../cases/semantic/01126/01126-results.csv         |    12 +
 .../cases/semantic/01126/01126-sbml-l3v1.xml       |    26 +
 .../cases/semantic/01126/01126-settings.txt        |     8 +
 .../cases/semantic/01127/01127-results.csv         |    12 +
 .../cases/semantic/01127/01127-sbml-l3v1.xml       |    52 +
 .../cases/semantic/01127/01127-settings.txt        |     8 +
 .../cases/semantic/01128/01128-results.csv         |    12 +
 .../cases/semantic/01128/01128-sbml-l3v1.xml       |    20 +
 .../cases/semantic/01128/01128-settings.txt        |     8 +
 .../cases/semantic/01129/01129-results.csv         |    12 +
 .../cases/semantic/01129/01129-sbml-l3v1.xml       |    36 +
 .../cases/semantic/01129/01129-settings.txt        |     8 +
 .../cases/semantic/01130/01130-results.csv         |    12 +
 .../cases/semantic/01130/01130-sbml-l3v1.xml       |    42 +
 .../cases/semantic/01130/01130-settings.txt        |     8 +
 .../cases/semantic/01131/01131-results.csv         |    12 +
 .../cases/semantic/01131/01131-sbml-l3v1.xml       |    55 +
 .../cases/semantic/01131/01131-settings.txt        |     8 +
 .../cases/semantic/01132/01132-results.csv         |    12 +
 .../cases/semantic/01132/01132-sbml-l3v1.xml       |    63 +
 .../cases/semantic/01132/01132-settings.txt        |     8 +
 .../cases/semantic/01133/01133-results.csv         |    12 +
 .../cases/semantic/01133/01133-sbml-l3v1.xml       |    66 +
 .../cases/semantic/01133/01133-settings.txt        |     8 +
 .../cases/semantic/01134/01134-results.csv         |    12 +
 .../cases/semantic/01134/01134-sbml-l3v1.xml       |    76 +
 .../cases/semantic/01134/01134-settings.txt        |     8 +
 .../cases/semantic/01135/01135-results.csv         |    12 +
 .../cases/semantic/01135/01135-sbml-l3v1.xml       |    32 +
 .../cases/semantic/01135/01135-settings.txt        |     8 +
 .../cases/semantic/01136/01136-results.csv         |    12 +
 .../cases/semantic/01136/01136-sbml-l3v1.xml       |    40 +
 .../cases/semantic/01136/01136-settings.txt        |     8 +
 .../cases/semantic/01137/01137-results.csv         |    12 +
 .../cases/semantic/01137/01137-sbml-l3v1.xml       |    30 +
 .../cases/semantic/01137/01137-settings.txt        |     8 +
 .../cases/semantic/01138/01138-results.csv         |    12 +
 .../cases/semantic/01138/01138-sbml-l3v1.xml       |    35 +
 .../cases/semantic/01138/01138-settings.txt        |     8 +
 .../cases/semantic/01139/01139-results.csv         |    12 +
 .../cases/semantic/01139/01139-sbml-l3v1.xml       |    38 +
 .../cases/semantic/01139/01139-settings.txt        |     8 +
 .../cases/semantic/01140/01140-results.csv         |    12 +
 .../cases/semantic/01140/01140-sbml-l3v1.xml       |    46 +
 .../cases/semantic/01140/01140-settings.txt        |     8 +
 .../cases/semantic/01141/01141-results.csv         |    12 +
 .../cases/semantic/01141/01141-sbml-l3v1.xml       |    40 +
 .../cases/semantic/01141/01141-settings.txt        |     8 +
 .../cases/semantic/01142/01142-results.csv         |    12 +
 .../cases/semantic/01142/01142-sbml-l3v1.xml       |   172 +
 .../cases/semantic/01142/01142-settings.txt        |     8 +
 .../cases/semantic/01143/01143-results.csv         |    12 +
 .../cases/semantic/01143/01143-sbml-l3v1.xml       |    33 +
 .../cases/semantic/01143/01143-settings.txt        |     8 +
 .../cases/semantic/01144/01144-results.csv         |    12 +
 .../cases/semantic/01144/01144-sbml-l3v1.xml       |    47 +
 .../cases/semantic/01144/01144-settings.txt        |     8 +
 .../cases/semantic/01145/01145-results.csv         |    12 +
 .../cases/semantic/01145/01145-sbml-l3v1.xml       |    38 +
 .../cases/semantic/01145/01145-settings.txt        |     8 +
 .../cases/semantic/01146/01146-results.csv         |    12 +
 .../cases/semantic/01146/01146-sbml-l3v1.xml       |    34 +
 .../cases/semantic/01146/01146-settings.txt        |     8 +
 .../cases/semantic/01147/01147-results.csv         |    12 +
 .../cases/semantic/01147/01147-sbml-l3v1.xml       |    37 +
 .../cases/semantic/01147/01147-settings.txt        |     8 +
 .../cases/semantic/01148/01148-results.csv         |    12 +
 .../cases/semantic/01148/01148-sbml-l3v1.xml       |    57 +
 .../cases/semantic/01148/01148-settings.txt        |     8 +
 .../cases/semantic/01149/01149-results.csv         |    12 +
 .../cases/semantic/01149/01149-sbml-l3v1.xml       |    41 +
 .../cases/semantic/01149/01149-settings.txt        |     8 +
 .../cases/semantic/01150/01150-results.csv         |    12 +
 .../cases/semantic/01150/01150-sbml-l3v1.xml       |    47 +
 .../cases/semantic/01150/01150-settings.txt        |     8 +
 .../cases/semantic/01151/01151-results.csv         |    12 +
 .../cases/semantic/01151/01151-sbml-l3v1.xml       |    48 +
 .../cases/semantic/01151/01151-settings.txt        |     8 +
 .../cases/semantic/01152/01152-results.csv         |    12 +
 .../cases/semantic/01152/01152-sbml-l3v1.xml       |    48 +
 .../cases/semantic/01152/01152-settings.txt        |     8 +
 .../cases/semantic/01153/01153-results.csv         |    12 +
 .../cases/semantic/01153/01153-sbml-l3v1.xml       |    86 +
 .../cases/semantic/01153/01153-settings.txt        |     8 +
 .../cases/semantic/01154/01154-results.csv         |    12 +
 .../cases/semantic/01154/01154-sbml-l3v1.xml       |    45 +
 .../cases/semantic/01154/01154-settings.txt        |     8 +
 .../cases/semantic/01155/01155-results.csv         |    12 +
 .../cases/semantic/01155/01155-sbml-l3v1.xml       |    54 +
 .../cases/semantic/01155/01155-settings.txt        |     8 +
 .../cases/semantic/01156/01156-results.csv         |    12 +
 .../cases/semantic/01156/01156-sbml-l3v1.xml       |    55 +
 .../cases/semantic/01156/01156-settings.txt        |     8 +
 .../cases/semantic/01157/01157-results.csv         |    12 +
 .../cases/semantic/01157/01157-sbml-l3v1.xml       |    45 +
 .../cases/semantic/01157/01157-settings.txt        |     8 +
 .../cases/semantic/01158/01158-results.csv         |    12 +
 .../cases/semantic/01158/01158-sbml-l3v1.xml       |    57 +
 .../cases/semantic/01158/01158-settings.txt        |     8 +
 .../cases/semantic/01159/01159-results.csv         |    12 +
 .../cases/semantic/01159/01159-sbml-l3v1.xml       |    44 +
 .../cases/semantic/01159/01159-settings.txt        |     8 +
 .../cases/semantic/01160/01160-results.csv         |    12 +
 .../cases/semantic/01160/01160-sbml-l3v1.xml       |    44 +
 .../cases/semantic/01160/01160-settings.txt        |     8 +
 .../cases/semantic/01161/01161-results.csv         |    12 +
 .../cases/semantic/01161/01161-sbml-l3v1.xml       |    40 +
 .../cases/semantic/01161/01161-settings.txt        |     8 +
 .../cases/semantic/01162/01162-results.csv         |    12 +
 .../cases/semantic/01162/01162-sbml-l3v1.xml       |    44 +
 .../cases/semantic/01162/01162-settings.txt        |     8 +
 .../cases/semantic/01163/01163-results.csv         |    12 +
 .../cases/semantic/01163/01163-sbml-l3v1.xml       |    50 +
 .../cases/semantic/01163/01163-settings.txt        |     8 +
 .../cases/semantic/01164/01164-results.csv         |    12 +
 .../cases/semantic/01164/01164-sbml-l3v1.xml       |    69 +
 .../cases/semantic/01164/01164-settings.txt        |     8 +
 .../cases/semantic/01165/01165-results.csv         |    12 +
 .../cases/semantic/01165/01165-sbml-l3v1.xml       |    65 +
 .../cases/semantic/01165/01165-settings.txt        |     8 +
 .../cases/semantic/01165/enzyme_model.xml          |    69 +
 .../cases/semantic/01166/01166-results.csv         |    12 +
 .../cases/semantic/01166/01166-sbml-l3v1.xml       |   166 +
 .../cases/semantic/01166/01166-settings.txt        |     8 +
 .../cases/semantic/01167/01167-results.csv         |    12 +
 .../cases/semantic/01167/01167-sbml-l3v1.xml       |    11 +
 .../cases/semantic/01167/01167-settings.txt        |     8 +
 .../cases/semantic/01167/enzyme_identical.xml      |    28 +
 .../cases/semantic/01167/enzyme_model.xml          |    69 +
 .../cases/semantic/01168/01168-results.csv         |    12 +
 .../cases/semantic/01168/01168-sbml-l3v1.xml       |    11 +
 .../cases/semantic/01168/01168-settings.txt        |     8 +
 .../cases/semantic/01168/enzyme_identical.xml      |    28 +
 .../cases/semantic/01168/enzyme_model.xml          |    69 +
 .../cases/semantic/01169/01169-results.csv         |    12 +
 .../cases/semantic/01169/01169-sbml-l3v1.xml       |   174 +
 .../cases/semantic/01169/01169-settings.txt        |     8 +
 .../cases/semantic/01170/01170-results.csv         |    12 +
 .../cases/semantic/01170/01170-sbml-l3v1.xml       |    55 +
 .../cases/semantic/01170/01170-settings.txt        |     8 +
 .../cases/semantic/01171/01171-results.csv         |    12 +
 .../cases/semantic/01171/01171-sbml-l3v1.xml       |    34 +
 .../cases/semantic/01171/01171-settings.txt        |     8 +
 .../cases/semantic/01172/01172-results.csv         |    12 +
 .../cases/semantic/01172/01172-sbml-l3v1.xml       |    38 +
 .../cases/semantic/01172/01172-settings.txt        |     8 +
 .../cases/semantic/01173/01173-results.csv         |    12 +
 .../cases/semantic/01173/01173-sbml-l3v1.xml       |    45 +
 .../cases/semantic/01173/01173-settings.txt        |     8 +
 .../cases/semantic/01174/01174-results.csv         |    12 +
 .../cases/semantic/01174/01174-sbml-l3v1.xml       |    59 +
 .../cases/semantic/01174/01174-settings.txt        |     8 +
 .../cases/semantic/01175/01175-results.csv         |    12 +
 .../cases/semantic/01175/01175-sbml-l3v1.xml       |    63 +
 .../cases/semantic/01175/01175-settings.txt        |     8 +
 .../cases/semantic/01176/01176-results.csv         |    12 +
 .../cases/semantic/01176/01176-sbml-l3v1.xml       |    66 +
 .../cases/semantic/01176/01176-settings.txt        |     8 +
 .../cases/semantic/01177/01177-results.csv         |    12 +
 .../cases/semantic/01177/01177-sbml-l3v1.xml       |    52 +
 .../cases/semantic/01177/01177-settings.txt        |     8 +
 .../cases/semantic/01178/01178-results.csv         |    12 +
 .../cases/semantic/01178/01178-sbml-l3v1.xml       |    47 +
 .../cases/semantic/01178/01178-settings.txt        |     8 +
 .../cases/semantic/01179/01179-results.csv         |    12 +
 .../cases/semantic/01179/01179-sbml-l3v1.xml       |    39 +
 .../cases/semantic/01179/01179-settings.txt        |     8 +
 .../cases/semantic/01180/01180-results.csv         |    12 +
 .../cases/semantic/01180/01180-sbml-l3v1.xml       |    47 +
 .../cases/semantic/01180/01180-settings.txt        |     8 +
 .../cases/semantic/01181/01181-results.csv         |    12 +
 .../cases/semantic/01181/01181-sbml-l3v1.xml       |    48 +
 .../cases/semantic/01181/01181-settings.txt        |     8 +
 .../cases/semantic/01182/01182-results.csv         |    12 +
 .../cases/semantic/01182/01182-sbml-l3v1.xml       |    69 +
 .../cases/semantic/01182/01182-settings.txt        |     8 +
 .../cases/semantic/01183/01183-results.csv         |    12 +
 .../cases/semantic/01183/01183-sbml-l3v1.xml       |    70 +
 .../cases/semantic/01183/01183-settings.txt        |     8 +
 .../cases/semantic/01184/01184-results.csv         |    12 +
 .../cases/semantic/01184/01184-sbml-l2v4.xml       |    34 +
 .../cases/semantic/01184/01184-sbml-l3v1.xml       |    35 +
 .../cases/semantic/01184/01184-settings.txt        |     8 +
 .../cases/semantic/01185/01185-results.csv         |    12 +
 .../cases/semantic/01185/01185-sbml-l2v4.xml       |    34 +
 .../cases/semantic/01185/01185-sbml-l3v1.xml       |    35 +
 .../cases/semantic/01185/01185-settings.txt        |     8 +
 .../cases/semantic/01186/01186-results.csv         |     2 +
 .../cases/semantic/01186/01186-sbml-l3v1.xml       |   633 +
 .../cases/semantic/01186/01186-settings.txt        |     8 +
 .../cases/semantic/01187/01187-results.csv         |     2 +
 .../cases/semantic/01187/01187-sbml-l3v1.xml       |   633 +
 .../cases/semantic/01187/01187-settings.txt        |     8 +
 .../cases/semantic/01188/01188-results.csv         |     2 +
 .../cases/semantic/01188/01188-sbml-l3v1.xml       |   633 +
 .../cases/semantic/01188/01188-settings.txt        |     8 +
 .../cases/semantic/01189/01189-results.csv         |     2 +
 .../cases/semantic/01189/01189-sbml-l3v1.xml       |   633 +
 .../cases/semantic/01189/01189-settings.txt        |     8 +
 .../cases/semantic/01190/01190-results.csv         |     2 +
 .../cases/semantic/01190/01190-sbml-l3v1.xml       |   633 +
 .../cases/semantic/01190/01190-settings.txt        |     8 +
 .../cases/semantic/01191/01191-results.csv         |     2 +
 .../cases/semantic/01191/01191-sbml-l3v1.xml       |   638 +
 .../cases/semantic/01191/01191-settings.txt        |     8 +
 .../cases/semantic/01192/01192-results.csv         |     2 +
 .../cases/semantic/01192/01192-sbml-l3v1.xml       |   634 +
 .../cases/semantic/01192/01192-settings.txt        |     8 +
 .../cases/semantic/01193/01193-results.csv         |     2 +
 .../cases/semantic/01193/01193-sbml-l3v1.xml       |   633 +
 .../cases/semantic/01193/01193-settings.txt        |     8 +
 .../cases/semantic/01194/01194-results.csv         |     2 +
 .../cases/semantic/01194/01194-sbml-l3v1.xml       |   633 +
 .../cases/semantic/01194/01194-settings.txt        |     8 +
 .../cases/semantic/01195/01195-results.csv         |     2 +
 .../cases/semantic/01195/01195-sbml-l3v1.xml       |   630 +
 .../cases/semantic/01195/01195-settings.txt        |     8 +
 .../cases/semantic/01196/01196-results.csv         |     2 +
 .../cases/semantic/01196/01196-sbml-l3v1.xml       |   633 +
 .../cases/semantic/01196/01196-settings.txt        |     8 +
 models/sbml_test_0001.xml                          |    35 +
 models/settings_override.txt                       |     9 +
 models/simple.xml                                  |    54 +
 models/squareWaveModel.xml                         |    69 +
 models/ss_SimpleConservedCycle.xml                 |    61 +
 models/ss_TurnOnConservationAnalysis.xml           |    61 +
 models/ss_threeSpecies.xml                         |   108 +
 models/ss_threestep.xml                            |   108 +
 models/test_models/CMakeLists.txt                  |    17 +
 models/test_models/TestModel_1.xml                 |   162 +
 models/test_models/reference_data/CMakeLists.txt   |    13 +
 models/test_models/reference_data/TestModel_1.dat  |    95 +
 packaging/deb/libroadrunner-deps/debian/README     |     6 +
 .../deb/libroadrunner-deps/debian/README.Debian    |     6 +
 .../deb/libroadrunner-deps/debian/README.source    |    10 +
 packaging/deb/libroadrunner-deps/debian/changelog  |    17 +
 packaging/deb/libroadrunner-deps/debian/compat     |     1 +
 packaging/deb/libroadrunner-deps/debian/control    |    21 +
 packaging/deb/libroadrunner-deps/debian/copyright  |    33 +
 packaging/deb/libroadrunner-deps/debian/docs       |     0
 packaging/deb/libroadrunner-deps/debian/init.d.ex  |   166 +
 .../debian/libroadrunner-deps-dev.dirs             |     2 +
 .../debian/libroadrunner-deps-dev.install          |     5 +
 .../debian/libroadrunner-deps.cron.d.ex            |     4 +
 .../debian/libroadrunner-deps.default.ex           |    10 +
 .../debian/libroadrunner-deps.dirs                 |     1 +
 .../debian/libroadrunner-deps.doc-base.EX          |    20 +
 .../debian/libroadrunner-deps.install              |     1 +
 .../deb/libroadrunner-deps/debian/manpage.1.ex     |    56 +
 .../deb/libroadrunner-deps/debian/manpage.sgml.ex  |   154 +
 .../deb/libroadrunner-deps/debian/manpage.xml.ex   |   291 +
 packaging/deb/libroadrunner-deps/debian/menu.ex    |     2 +
 .../deb/libroadrunner-deps/debian/postinst.ex      |    39 +
 packaging/deb/libroadrunner-deps/debian/postrm.ex  |    37 +
 packaging/deb/libroadrunner-deps/debian/preinst.ex |    35 +
 packaging/deb/libroadrunner-deps/debian/prerm.ex   |    38 +
 packaging/deb/libroadrunner-deps/debian/rules      |    19 +
 .../deb/libroadrunner-deps/debian/shlibs.local.ex  |     1 +
 .../deb/libroadrunner-deps/debian/source/format    |     1 +
 packaging/deb/libroadrunner-deps/debian/watch.ex   |    23 +
 packaging/deb/libroadrunner/debian/README          |     6 +
 packaging/deb/libroadrunner/debian/README.Debian   |     6 +
 packaging/deb/libroadrunner/debian/README.source   |    10 +
 packaging/deb/libroadrunner/debian/changelog       |    33 +
 packaging/deb/libroadrunner/debian/compat          |     1 +
 packaging/deb/libroadrunner/debian/control         |    34 +
 packaging/deb/libroadrunner/debian/copyright       |    33 +
 packaging/deb/libroadrunner/debian/docs            |     0
 packaging/deb/libroadrunner/debian/init.d.ex       |   166 +
 .../libroadrunner/debian/libroadrunner-dev.dirs    |     2 +
 .../libroadrunner/debian/libroadrunner-dev.install |     5 +
 .../libroadrunner/debian/libroadrunner-python.dirs |     1 +
 .../debian/libroadrunner-python.install            |     1 +
 .../libroadrunner/debian/libroadrunner.cron.d.ex   |     4 +
 .../libroadrunner/debian/libroadrunner.default.ex  |    10 +
 .../deb/libroadrunner/debian/libroadrunner.dirs    |     2 +
 .../libroadrunner/debian/libroadrunner.doc-base.EX |    20 +
 .../deb/libroadrunner/debian/libroadrunner.install |     2 +
 packaging/deb/libroadrunner/debian/manpage.1.ex    |    56 +
 packaging/deb/libroadrunner/debian/manpage.sgml.ex |   154 +
 packaging/deb/libroadrunner/debian/manpage.xml.ex  |   291 +
 packaging/deb/libroadrunner/debian/menu.ex         |     2 +
 packaging/deb/libroadrunner/debian/postinst.ex     |    39 +
 packaging/deb/libroadrunner/debian/postrm.ex       |    37 +
 packaging/deb/libroadrunner/debian/preinst.ex      |    35 +
 packaging/deb/libroadrunner/debian/prerm.ex        |    38 +
 packaging/deb/libroadrunner/debian/rules           |    20 +
 packaging/deb/libroadrunner/debian/shlibs.local.ex |     1 +
 packaging/deb/libroadrunner/debian/source/format   |     1 +
 packaging/deb/libroadrunner/debian/watch.ex        |    23 +
 rr_support/CMakeLists.txt                          |    16 +
 rr_support/bcc.cfg                                 |     7 +
 rr_support/gurgle.dat                              |   360 +
 rr_support/rrCExporter.h                           |    17 +
 rr_support/rrModelData.h                           |   240 +
 rr_support/rrSupport.c                             |   528 +
 rr_support/rrSupport.h                             |   158 +
 rr_support/stdbool.h                               |    13 +
 source/CMakeLists.txt                              |   395 +
 source/CVODEIntegrator.cpp                         |  1045 +
 source/CVODEIntegrator.h                           |   285 +
 source/Dictionary.cpp                              |    53 +
 source/Dictionary.h                                |   189 +
 source/DoxygenDocs.h                               |   249 +
 source/EulerIntegrator.h                           |   438 +
 source/ExecutableModelFactory.cpp                  |   112 +
 source/ExecutableModelFactory.h                    |    37 +
 source/GillespieIntegrator.cpp                     |   431 +
 source/GillespieIntegrator.h                       |   220 +
 source/GitInfo.h.in                                |    28 +
 source/Integrator.cpp                              |   116 +
 source/Integrator.h                                |   223 +
 source/IntegratorRegistration.cpp                  |    54 +
 source/IntegratorRegistration.h                    |    41 +
 source/NLEQSolver.cpp                              |   100 +
 source/NLEQSolver.h                                |   137 +
 source/RK45Integrator.cpp                          |   349 +
 source/RK45Integrator.h                            |   220 +
 source/RK4Integrator.cpp                           |   266 +
 source/RK4Integrator.h                             |   243 +
 source/SBMLValidator.cpp                           |   223 +
 source/SBMLValidator.h                             |    81 +
 source/Solver.cpp                                  |   222 +
 source/Solver.h                                    |   246 +
 source/SolverRegistration.cpp                      |    46 +
 source/SolverRegistration.h                        |    41 +
 source/SteadyStateSolver.cpp                       |    98 +
 source/SteadyStateSolver.h                         |   152 +
 source/Variant.cpp                                 |   327 +
 source/Variant.h                                   |   280 +
 source/c/mtrand.cpp                                |    56 +
 source/c/mtrand.h                                  |   157 +
 source/c/mtreadme.txt                              |   118 +
 source/c/mttest.cpp                                |    31 +
 source/c/rrCCompiler.cpp                           |   412 +
 source/c/rrCCompiler.h                             |    70 +
 source/c/rrCModelDataUtil.cpp                      |   225 +
 source/c/rrCModelDataUtil.h                        |    59 +
 source/c/rrCModelGenerator.cpp                     |  2539 ++
 source/c/rrCModelGenerator.h                       |   160 +
 source/c/rrCodeBuilder.cpp                         |    73 +
 source/c/rrCodeBuilder.h                           |    27 +
 source/c/rrCodeTypes.h                             |    72 +
 source/c/rrCompiledExecutableModel.cpp             |  1807 +
 source/c/rrCompiledExecutableModel.h               |   526 +
 source/c/rrCompiledModelGenerator.cpp              |   269 +
 source/c/rrCompiledModelGenerator.h                |   137 +
 source/c/rrCompiledModelState.cpp                  |    54 +
 source/c/rrCompiledModelState.h                    |    52 +
 source/c/rrEvent.cpp                               |    83 +
 source/c/rrEvent.h                                 |    49 +
 source/c/rrHashTable.cpp                           |    35 +
 source/c/rrHashTable.h                             |    38 +
 source/c/rrModelData.h                             |   246 +
 source/c/rrModelSharedLibrary.cpp                  |   112 +
 source/c/rrModelSharedLibrary.h                    |    46 +
 source/c/rrModelSymbols.cpp                        |  1073 +
 source/c/rrModelSymbols.h                          |   106 +
 source/c/rrNOMSupport.cpp                          |  4137 +++
 source/c/rrNOMSupport.h                            |   336 +
 source/c/rrPendingAssignment.cpp                   |   126 +
 source/c/rrPendingAssignment.h                     |    64 +
 source/c/rrRandom.cpp                              |    16 +
 source/c/rrRandom.h                                |    24 +
 source/c/rrRule.cpp                                |    63 +
 source/c/rrRule.h                                  |    31 +
 source/c/rrSBMLSymbol.cpp                          |   112 +
 source/c/rrSBMLSymbol.h                            |   153 +
 source/c/rrSBMLSymbolDependencies.cpp              |    45 +
 source/c/rrSBMLSymbolDependencies.h                |   132 +
 source/c/rrScanner.cpp                             |   838 +
 source/c/rrScanner.h                               |    91 +
 source/c/rrStringBuilder.cpp                       |    62 +
 source/c/rrStringBuilder.h                         |    36 +
 source/c/rrStringList.cpp                          |   236 +
 source/c/rrStringList.h                            |    78 +
 source/c/rrStringListContainer.cpp                 |   124 +
 source/c/rrStringListContainer.h                   |    44 +
 source/c/rrSymbol.cpp                              |    48 +
 source/c/rrSymbol.h                                |    84 +
 source/c/rrSymbolList.cpp                          |    71 +
 source/c/rrSymbolList.h                            |   191 +
 source/c/rrToken.cpp                               |    18 +
 source/c/rrToken.h                                 |    24 +
 source/conservation/ConservationDocumentPlugin.cpp |    42 +
 source/conservation/ConservationDocumentPlugin.h   |    59 +
 source/conservation/ConservationExtension.cpp      |   417 +
 source/conservation/ConservationExtension.h        |   257 +
 source/conservation/ConservedMoietyConverter.cpp   |   849 +
 source/conservation/ConservedMoietyConverter.h     |   221 +
 source/conservation/ConservedMoietyPlugin.cpp      |    90 +
 source/conservation/ConservedMoietyPlugin.h        |    82 +
 source/doxygen.conf                                |  2311 ++
 source/llvm/ASTNodeCodeGen.cpp                     |   942 +
 source/llvm/ASTNodeCodeGen.h                       |   127 +
 source/llvm/ASTNodeFactory.cpp                     |    50 +
 source/llvm/ASTNodeFactory.h                       |    82 +
 source/llvm/AssignmentRuleEvaluator.cpp            |    41 +
 source/llvm/AssignmentRuleEvaluator.h              |    41 +
 source/llvm/CodeGen.h                              |    81 +
 source/llvm/CodeGenBase.cpp                        |   113 +
 source/llvm/CodeGenBase.h                          |   183 +
 source/llvm/DistribFunctionResolver.cpp            |    91 +
 source/llvm/DistribFunctionResolver.h              |    46 +
 source/llvm/EvalConversionFactorCodeGen.cpp        |    89 +
 source/llvm/EvalConversionFactorCodeGen.h          |    37 +
 source/llvm/EvalInitialConditionsCodeGen.cpp       |   324 +
 source/llvm/EvalInitialConditionsCodeGen.h         |    73 +
 source/llvm/EvalRateRuleRatesCodeGen.cpp           |   145 +
 source/llvm/EvalRateRuleRatesCodeGen.h             |    40 +
 source/llvm/EvalReactionRatesCodeGen.cpp           |    93 +
 source/llvm/EvalReactionRatesCodeGen.h             |    43 +
 source/llvm/EvalVolatileStoichCodeGen.cpp          |   232 +
 source/llvm/EvalVolatileStoichCodeGen.h            |    55 +
 source/llvm/EventAssignCodeGen.cpp                 |    54 +
 source/llvm/EventAssignCodeGen.h                   |    29 +
 source/llvm/EventCodeGenBase.h                     |   120 +
 source/llvm/EventQueue.cpp                         |   311 +
 source/llvm/EventQueue.h                           |   151 +
 source/llvm/EventTriggerCodeGen.cpp                |    57 +
 source/llvm/EventTriggerCodeGen.h                  |    31 +
 source/llvm/FunctionResolver.cpp                   |   142 +
 source/llvm/FunctionResolver.h                     |    53 +
 source/llvm/GetEventValuesCodeGen.cpp              |   131 +
 source/llvm/GetEventValuesCodeGen.h                |   188 +
 source/llvm/GetInitialValueCodeGenBase.h           |   143 +
 source/llvm/GetInitialValuesCodeGen.cpp            |    68 +
 source/llvm/GetInitialValuesCodeGen.h              |    91 +
 source/llvm/GetValueCodeGenBase.h                  |   143 +
 source/llvm/GetValuesCodeGen.cpp                   |    84 +
 source/llvm/GetValuesCodeGen.h                     |   121 +
 source/llvm/KineticLawParameterResolver.cpp        |    70 +
 source/llvm/KineticLawParameterResolver.h          |    40 +
 source/llvm/LLVMCompiler.cpp                       |    87 +
 source/llvm/LLVMCompiler.h                         |    68 +
 source/llvm/LLVMException.h                        |    42 +
 source/llvm/LLVMExecutableModel.cpp                |  2205 ++
 source/llvm/LLVMExecutableModel.h                  |   720 +
 source/llvm/LLVMIncludes.h                         |    99 +
 source/llvm/LLVMModelData.cpp                      |   114 +
 source/llvm/LLVMModelData.h                        |   246 +
 source/llvm/LLVMModelDataSymbols.cpp               |  1564 +
 source/llvm/LLVMModelDataSymbols.h                 |   717 +
 source/llvm/LLVMModelGenerator.cpp                 |   430 +
 source/llvm/LLVMModelGenerator.h                   |    42 +
 source/llvm/LLVMModelSymbols.cpp                   |   649 +
 source/llvm/LLVMModelSymbols.h                     |   257 +
 source/llvm/LoadSymbolResolverBase.cpp             |   141 +
 source/llvm/LoadSymbolResolverBase.h               |   102 +
 source/llvm/ModelDataIRBuilder.cpp                 |  1280 +
 source/llvm/ModelDataIRBuilder.h                   |   383 +
 source/llvm/ModelDataSymbolResolver.cpp            |   326 +
 source/llvm/ModelDataSymbolResolver.h              |    67 +
 source/llvm/ModelGeneratorContext.cpp              |   789 +
 source/llvm/ModelGeneratorContext.h                |   243 +
 source/llvm/ModelInitialValueSymbolResolver.cpp    |   262 +
 source/llvm/ModelInitialValueSymbolResolver.h      |    70 +
 source/llvm/ModelResources.cpp                     |    44 +
 source/llvm/ModelResources.h                       |    67 +
 source/llvm/Random.cpp                             |   180 +
 source/llvm/Random.h                               |   102 +
 source/llvm/SBMLInitialValueSymbolResolver.cpp     |   101 +
 source/llvm/SBMLInitialValueSymbolResolver.h       |    51 +
 source/llvm/SBMLSupportFunctions.cpp               |   267 +
 source/llvm/SBMLSupportFunctions.h                 |    92 +
 source/llvm/SetInitialValueCodeGenBase.h           |   151 +
 source/llvm/SetInitialValuesCodeGen.cpp            |   126 +
 source/llvm/SetInitialValuesCodeGen.h              |    95 +
 source/llvm/SetValueCodeGenBase.h                  |   143 +
 source/llvm/SetValuesCodeGen.cpp                   |   142 +
 source/llvm/SetValuesCodeGen.h                     |   103 +
 source/llvm/SymbolForest.h                         |   156 +
 source/llvm_testing/CMakeLists.txt                 |   103 +
 source/llvm_testing/main.cpp                       |   539 +
 source/llvm_testing/run_cpp_tests.bat              |    18 +
 source/llvm_testing/run_cpp_tests.sh               |    20 +
 source/llvm_testing/src/Args.cpp                   |    41 +
 source/llvm_testing/src/Args.h                     |    21 +
 source/llvm_testing/src/CSRMatrixTest.cpp          |   178 +
 source/llvm_testing/src/CSRMatrixTest.h            |    13 +
 source/llvm_testing/src/ConfigurableTest.cpp       |    22 +
 source/llvm_testing/src/ConfigurableTest.h         |    14 +
 .../src/GetBoundarySpeciesAmountTest.cpp           |    74 +
 .../src/GetBoundarySpeciesAmountTest.h             |    28 +
 source/llvm_testing/src/LLVMCSRMatrixTest.cpp      |   336 +
 source/llvm_testing/src/LLVMCSRMatrixTest.h        |    50 +
 source/llvm_testing/src/TestBase.cpp               |    74 +
 source/llvm_testing/src/TestBase.h                 |    35 +
 source/llvm_testing/src/TestCapabilities.cpp       |    33 +
 source/llvm_testing/src/TestCapabilities.h         |    28 +
 .../llvm_testing/src/TestEvalInitialConditions.cpp |    58 +
 .../llvm_testing/src/TestEvalInitialConditions.h   |    26 +
 source/llvm_testing/src/TestEvalModel.cpp          |    75 +
 source/llvm_testing/src/TestEvalModel.h            |    26 +
 source/llvm_testing/src/TestEvalReactionRates.cpp  |    94 +
 source/llvm_testing/src/TestEvalReactionRates.h    |    35 +
 source/llvm_testing/src/TestGetSetValues.cpp       |    66 +
 source/llvm_testing/src/TestGetSetValues.h         |    26 +
 source/llvm_testing/src/TestPluginManager.cpp      |    34 +
 source/llvm_testing/src/TestPluginManager.h        |    23 +
 source/llvm_testing/src/TestRoadRunner.cpp         |   648 +
 source/llvm_testing/src/TestRoadRunner.h           |    82 +
 source/llvm_testing/src/TestVariant.cpp            |   126 +
 source/llvm_testing/src/TestVariant.h              |    28 +
 source/llvm_testing/src/cpplapack.cpp              |    25 +
 source/llvm_testing/src/cpplapack.h                |    14 +
 source/llvm_testing/src/rrTestUtils.cpp            |    28 +
 source/llvm_testing/src/rrTestUtils.h              |    11 +
 source/llvm_testing/src/test_compiler.cpp          |    24 +
 source/llvm_testing/src/test_compiler.h            |    17 +
 source/llvm_testing/src/tests.cpp                  |   183 +
 source/llvm_testing/src/tests.h                    |    26 +
 source/msc_stdint.h                                |   259 +
 source/roadrunner.pc.in                            |    12 +
 source/rrAutoLink.cpp                              |    18 +
 source/rrCompiler.h                                |    77 +
 source/rrConfig.cpp                                |   554 +
 source/rrConfig.h                                  |   557 +
 source/rrConfigure.h.in                            |    14 +
 source/rrConstants.cpp                             |    39 +
 source/rrConstants.h                               |    38 +
 source/rrException.cpp                             |    81 +
 source/rrException.h                               |   102 +
 source/rrExecutableModel.cpp                       |   109 +
 source/rrExecutableModel.h                         |   755 +
 source/rrExporter.h                                |    18 +
 source/rrFileName.cpp                              |   137 +
 source/rrFileName.h                                |    50 +
 source/rrGetOptions.cpp                            |    75 +
 source/rrGetOptions.h                              |    13 +
 source/rrIniFile.cpp                               |   971 +
 source/rrIniFile.h                                 |   125 +
 source/rrIniKey.cpp                                |    76 +
 source/rrIniKey.h                                  |    43 +
 source/rrIniSection.cpp                            |   143 +
 source/rrIniSection.h                              |    48 +
 source/rrLibMain.cpp                               |    27 +
 source/rrLogger.cpp                                |   609 +
 source/rrLogger.h                                  |   327 +
 source/rrNLEQInterface.cpp                         |   452 +
 source/rrNLEQInterface.h                           |   134 +
 source/rrOSSpecifics.h                             |    67 +
 source/rrRoadRunner.cpp                            |  4078 +++
 source/rrRoadRunner.h                              |  1042 +
 source/rrRoadRunnerData.cpp                        |   565 +
 source/rrRoadRunnerData.h                          |   145 +
 source/rrRoadRunnerOptions.cpp                     |   329 +
 source/rrRoadRunnerOptions.h                       |   365 +
 source/rrSBMLModelSimulation.cpp                   |   313 +
 source/rrSBMLModelSimulation.h                     |    80 +
 source/rrSBMLReader.cpp                            |   278 +
 source/rrSBMLReader.h                              |    54 +
 source/rrSelectionRecord.cpp                       |   427 +
 source/rrSelectionRecord.h                         |   243 +
 source/rrSparse.cpp                                |   297 +
 source/rrSparse.h                                  |   135 +
 source/rrSteadyStateSolver.cpp                     |    37 +
 source/rrSteadyStateSolver.h                       |    74 +
 source/rrStringUtils.cpp                           |   942 +
 source/rrStringUtils.h                             |   107 +
 source/rrTestSuiteModelSimulation.cpp              |   296 +
 source/rrTestSuiteModelSimulation.h                |    48 +
 source/rrUnresolvedSTDExternals.cpp                |    43 +
 source/rrUtils.cpp                                 |   687 +
 source/rrUtils.h                                   |   141 +
 source/rrVersionInfo.cpp                           |   112 +
 source/rrVersionInfo.h.in                          |   115 +
 source/rr_pch.h                                    |    65 +
 source/rr_unordered_map                            |     9 +
 source/testing/CMakeLists.txt                      |   122 +
 source/testing/CXXBrusselatorExecutableModel.cpp   |   443 +
 source/testing/CXXBrusselatorExecutableModel.h     |   577 +
 source/testing/CXXEnzymeExecutableModel.cpp        |   654 +
 source/testing/CXXEnzymeExecutableModel.h          |   612 +
 source/testing/CXXExecutableModel.cpp              |   443 +
 source/testing/CXXExecutableModel.h                |   577 +
 source/testing/CXXPiecewiseExecutableModel.cpp     |   443 +
 source/testing/CXXPiecewiseExecutableModel.h       |   577 +
 source/testing/main.cpp                            |   150 +
 source/testing/run_cpp_tests.bat                   |    18 +
 source/testing/run_cpp_tests.sh                    |    20 +
 source/testing/src/Args.cpp                        |    41 +
 source/testing/src/Args.h                          |    21 +
 source/testing/src/rrTestUtils.cpp                 |    28 +
 source/testing/src/rrTestUtils.h                   |    11 +
 source/testing/tests/base.cpp                      |    84 +
 source/testing/tests/from_api_tester.cpp           |   407 +
 source/testing/tests/sbml_test_suite.cpp           |  1108 +
 source/testing/tests/steady_state.cpp              |   380 +
 source/testing/tests/stoichiometric.cpp            |    32 +
 source/testing/tests/three_species.cpp             |   376 +
 source/tr1proxy/cxx11_ns.h                         |    29 +
 source/tr1proxy/rr_memory.h                        |    36 +
 source/tr1proxy/rr_random.h                        |    43 +
 source/tr1proxy/rr_unordered_map.h                 |    38 +
 testing/Bimolecular_end.rrtest                     |   275 +
 testing/CMakeLists.txt                             |    33 +
 testing/Comp.rrtest                                |    32 +
 testing/Conserved_Cycle.rrtest                     |   186 +
 testing/Conserved_Cycle_and_Branch.rrtest          |   213 +
 testing/Cycle.rrtest                               |   240 +
 testing/Cycle_across_branches.rrtest               |   246 +
 testing/Cycle_to_Input_and_Branch.rrtest           |   299 +
 testing/Event_timings_276.rrtest                   |    74 +
 testing/Four_Steps.rrtest                          |   252 +
 testing/Futile_Cycle.rrtest                        |   245 +
 testing/Gillespie.rrtest                           |    46 +
 testing/LibStructTest.dat                          |    22 +
 testing/LibStructTest.txt                          |    22 +
 testing/ModelSourceTest.c                          |     7 +
 testing/ModelSourceTest.h                          |    20 +
 testing/MultiBranch2.rrtest                        |   310 +
 testing/Multibranch1.rrtest                        |   273 +
 testing/NOM_Test.dat                               |     6 +
 testing/README.txt                                 |     2 +
 testing/SimpleUniUni.rrtest                        |    43 +
 testing/Simple_Branch.rrtest                       |   208 +
 testing/Test_1.rrtest                              |   370 +
 testing/Test_1.txt                                 |   361 +
 testing/Test_1.xml                                 |   190 +
 testing/Test_2.rrtest                              |   281 +
 testing/Test_2.xml                                 |   155 +
 testing/Test_3.rrtest                              |   256 +
 testing/Test_3.xml                                 |   153 +
 testing/Three_Steps.rrtest                         |   219 +
 testing/Two_Cycles.rrtest                          |   247 +
 testing/Two_Steps.rrtest                           |   181 +
 testing/feedback.xml                               |   471 +
 testing/jacobian_1.rrtest                          |   251 +
 testing/normalDistrib.xml                          |    56 +
 testing/oscli.rrtest                               |   871 +
 testing/reversible_Jacobian.rrtest                 |   216 +
 testing/rrExcludedTestCases.txt                    |    85 +
 testing/uniformDistrib.xml                         |    54 +
 testing/variable_time_step.rrtest                  |    73 +
 win32_bin_README.txt                               |    29 +
 wrappers/C/ApiTest/CMakeLists.txt                  |    61 +
 wrappers/C/ApiTest/ss-solver-test.c                |   295 +
 wrappers/C/ApiTest/test-integrator-api.c           |   348 +
 wrappers/C/Apps/CMakeLists.txt                     |     6 +
 wrappers/C/Apps/README.txt                         |     7 +
 wrappers/C/Apps/sbml_ts_tester/Args.cpp            |    37 +
 wrappers/C/Apps/sbml_ts_tester/Args.h              |    21 +
 wrappers/C/Apps/sbml_ts_tester/CMakeLists.txt      |    43 +
 .../C/Apps/sbml_ts_tester/TestSuiteSimulation.cpp  |   238 +
 .../C/Apps/sbml_ts_tester/TestSuiteSimulation.h    |    29 +
 wrappers/C/Apps/sbml_ts_tester/main.cpp            |   166 +
 wrappers/C/CMakeLists.txt                          |   115 +
 wrappers/C/Examples/CMakeLists.txt                 |    23 +
 wrappers/C/Examples/README.txt                     |     7 +
 wrappers/C/Examples/api_tester/CMakeLists.txt      |    12 +
 wrappers/C/Examples/api_tester/README.txt          |     0
 wrappers/C/Examples/api_tester/main.cpp            |   439 +
 wrappers/C/Examples/get_c_code/CMakeLists.txt      |    25 +
 wrappers/C/Examples/get_c_code/Readme.txt          |     0
 wrappers/C/Examples/get_c_code/main.c              |   106 +
 wrappers/C/Examples/simple_app/autolink.cpp        |    28 +
 wrappers/C/Examples/simple_app/main.cpp            |    52 +
 wrappers/C/License.txt                             |     0
 wrappers/C/README.txt                              |     3 +
 wrappers/C/Testing/CMakeLists.txt                  |    61 +
 wrappers/C/Testing/Suite_CoreExceptions.cpp        |    85 +
 wrappers/C/Testing/Suite_Core_Tests.cpp            |   201 +
 wrappers/C/Testing/Suite_LibStruct_Tests.cpp       |   145 +
 wrappers/C/Testing/Suite_NOM_Tests.cpp             |   101 +
 wrappers/C/Testing/Suite_SBML_Tests.cpp            |  1667 +
 wrappers/C/Testing/Suite_TestModel.cpp             |  1945 +
 wrappers/C/Testing/Suite_TestModel.h               |    32 +
 wrappers/C/Testing/archive/old_c_api_tests.cpp     |   383 +
 wrappers/C/Testing/core/base.cpp                   |   148 +
 wrappers/C/Testing/core/from_api_tester.cpp        |   464 +
 wrappers/C/Testing/core/steady_state.cpp           |   616 +
 wrappers/C/Testing/main.cpp                        |   303 +
 wrappers/C/Testing/src/Args.cpp                    |    39 +
 wrappers/C/Testing/src/Args.h                      |    21 +
 wrappers/C/Testing/src/TestUtils.cpp               |    66 +
 wrappers/C/Testing/src/TestUtils.h                 |    12 +
 .../Testing/src/rrSBMLTestSuiteSimulation_CAPI.cpp |   292 +
 .../C/Testing/src/rrSBMLTestSuiteSimulation_CAPI.h |    33 +
 wrappers/C/Testing/utils/CMakeLists.txt            |    41 +
 wrappers/C/Testing/utils/run_c_tests.bat           |    24 +
 wrappers/C/Testing/utils/run_c_tests.sh.in         |    85 +
 wrappers/C/_rrc_api.cpp                            |  2049 ++
 wrappers/C/_rrc_api.def                            |   217 +
 wrappers/C/_rrc_api.h                              |  1882 +
 wrappers/C/core_c_api.doxy                         |  1900 +
 wrappers/C/libMain.cpp                             |    27 +
 wrappers/C/rrArrayList.cpp                         |   301 +
 wrappers/C/rrArrayList.h                           |    59 +
 wrappers/C/rrArrayListItem.cpp                     |    39 +
 wrappers/C/rrArrayListItem.h                       |    55 +
 wrappers/C/rrArrayListItemBase.cpp                 |    12 +
 wrappers/C/rrArrayListItemBase.h                   |    22 +
 wrappers/C/rrcStringList.cpp                       |   237 +
 wrappers/C/rrcStringList.h                         |    80 +
 wrappers/C/rrc_api.cpp                             |  2824 ++
 wrappers/C/rrc_api.def                             |   217 +
 wrappers/C/rrc_api.h                               |  2505 ++
 wrappers/C/rrc_api_cdecl.def                       |   195 +
 wrappers/C/rrc_autolink.cpp                        |    20 +
 wrappers/C/rrc_cpp_support.cpp                     |   357 +
 wrappers/C/rrc_cpp_support.h                       |   169 +
 wrappers/C/rrc_exporter.h                          |    83 +
 wrappers/C/rrc_libstruct_api.cpp                   |   541 +
 wrappers/C/rrc_libstruct_api.h                     |   143 +
 wrappers/C/rrc_logging_api.cpp                     |    94 +
 wrappers/C/rrc_logging_api.h                       |   171 +
 wrappers/C/rrc_macros.h                            |   109 +
 wrappers/C/rrc_nom_api.cpp                         |    39 +
 wrappers/C/rrc_nom_api.h                           |    82 +
 wrappers/C/rrc_pch.h                               |    60 +
 wrappers/C/rrc_types.h                             |   159 +
 wrappers/C/rrc_utilities.cpp                       |   800 +
 wrappers/C/rrc_utilities.h                         |   669 +
 wrappers/CMakeLists.txt                            |    23 +
 wrappers/Delphi/CMakeLists.txt                     |     9 +
 wrappers/Delphi/README.txt                         |     0
 wrappers/Delphi/uRRList.pas                        |   215 +
 wrappers/Delphi/uRRTypes.pas                       |    89 +
 wrappers/Delphi/uRoadRunnerAPI.pas                 |  1678 +
 wrappers/Java/CMakeLists.txt                       |   184 +
 wrappers/Java/FindSWIG.cmake                       |    63 +
 wrappers/Java/include/rr_stdint.i                  |   110 +
 wrappers/Java/la4j-0.5.5.jar                       |   Bin 0 -> 242968 bytes
 wrappers/Java/roadrunner/CMakeLists.txt            |    43 +
 wrappers/Java/roadrunner/LabeledData.java          |    20 +
 wrappers/Java/roadrunner/MANIFEST.java             |     1 +
 wrappers/Java/roadrunner/NativeLib.java            |   118 +
 wrappers/Java/roadrunner/java_bundle.sh            |    65 +
 wrappers/Java/roadrunner/jroadrunner.i             |  1143 +
 wrappers/Java/tests/roadrunner_java_sim_test1.java |    16 +
 wrappers/Java/tests/roadrunner_javajni_test1.java  |    10 +
 wrappers/Python/.gitignore                         |     1 +
 wrappers/Python/CMakeLists.txt                     |    43 +
 wrappers/Python/FindSWIG.cmake                     |    63 +
 wrappers/Python/INSTALL.txt                        |    11 +
 wrappers/Python/MANIFEST.in                        |     6 +
 wrappers/Python/conda/bld.bat                      |     2 +
 wrappers/Python/conda/build.sh                     |     1 +
 wrappers/Python/conda/meta.yaml.in                 |    25 +
 wrappers/Python/doc/Makefile                       |   179 +
 wrappers/Python/doc/_static/.gitignore             |     0
 wrappers/Python/doc/accessing_model.rst            |    87 +
 wrappers/Python/doc/api_reference.rst              |    39 +
 wrappers/Python/doc/conf.py                        |   269 +
 wrappers/Python/doc/index.rst                      |    61 +
 wrappers/Python/doc/installing_rr.rst              |    21 +
 wrappers/Python/doc/integration.rst                |    59 +
 wrappers/Python/doc/introduction.rst               |    13 +
 .../Python/doc/libroadrunner_logo_blue_200.png     |   Bin 0 -> 9909 bytes
 .../Python/doc/libroadrunner_logo_green_200.png    |   Bin 0 -> 11764 bytes
 wrappers/Python/doc/libroadrunner_logo_tan_200.png |   Bin 0 -> 11355 bytes
 wrappers/Python/doc/logging.png                    |   Bin 0 -> 27508 bytes
 wrappers/Python/doc/logging2.png                   |   Bin 0 -> 37072 bytes
 wrappers/Python/doc/make.bat                       |   242 +
 wrappers/Python/doc/metabolic.rst                  |    73 +
 .../Python/doc/mod_roadrunner/cls_Compiler.rst     |    88 +
 wrappers/Python/doc/mod_roadrunner/cls_Config.rst  |   286 +
 .../doc/mod_roadrunner/cls_ExecutableModel.rst     |   801 +
 .../doc/mod_roadrunner/cls_LoadSBMLOptions.rst     |    67 +
 wrappers/Python/doc/mod_roadrunner/cls_Logger.rst  |   318 +
 wrappers/Python/doc/mod_roadrunner/cls_Misc.rst    |    56 +
 .../cls_PyConservedMoietyConverter.rst             |    40 +
 .../Python/doc/mod_roadrunner/cls_RoadRunner.rst   |   904 +
 .../doc/mod_roadrunner/cls_SelectionRecord.rst     |   171 +
 wrappers/Python/doc/mod_roadrunner/cls_Solver.rst  |   191 +
 .../Python/doc/mod_roadrunner/mod_roadrunner.rst   |     0
 wrappers/Python/doc/read_write_functions.rst       |    15 +
 wrappers/Python/doc/selecting_values.rst           |   139 +
 wrappers/Python/doc/stability.rst                  |    24 +
 wrappers/Python/doc/steady_state.rst               |    46 +
 wrappers/Python/doc/stochastic.rst                 |    41 +
 wrappers/Python/doc/stoichiometric.rst             |    67 +
 wrappers/Python/doc/swigdoc.py                     |   132 +
 wrappers/Python/doc/using_roadrunner.rst           |   373 +
 wrappers/Python/doc/utility_functions.rst          |    52 +
 wrappers/Python/doc/what_is_rr.rst                 |   156 +
 wrappers/Python/doc/what_is_sbml.rst               |    12 +
 wrappers/Python/include/numpy.i                    |  3085 ++
 wrappers/Python/include/rr_numpy.i                 |  1723 +
 wrappers/Python/include/rr_stdint.i                |   110 +
 wrappers/Python/install_roadrunner_win.py          |    67 +
 wrappers/Python/mkswigdocs.py                      |   142 +
 wrappers/Python/numpy_notes.txt                    |   144 +
 wrappers/Python/roadrunner/CMakeLists.txt          |   178 +
 wrappers/Python/roadrunner/PyEventListener.h       |   218 +
 wrappers/Python/roadrunner/PyIntegratorListener.h  |   219 +
 wrappers/Python/roadrunner/PyLoggerStream.cpp      |   230 +
 wrappers/Python/roadrunner/PyLoggerStream.h        |   137 +
 wrappers/Python/roadrunner/PyUtils.cpp             |  1123 +
 wrappers/Python/roadrunner/PyUtils.h               |   100 +
 wrappers/Python/roadrunner/__init__.py             |    17 +
 wrappers/Python/roadrunner/roadrunner.i            |  2680 ++
 wrappers/Python/roadrunner/rr_docstrings.i         |  2381 ++
 wrappers/Python/roadrunner/stochastic/__init__.py  |     1 +
 wrappers/Python/roadrunner/stochastic/ensemble.py  |   192 +
 wrappers/Python/roadrunner/testing/EcoliCore.xml   |  2255 ++
 wrappers/Python/roadrunner/testing/README.txt      |    11 +
 wrappers/Python/roadrunner/testing/SBMLTest.py     |  1376 +
 wrappers/Python/roadrunner/testing/__init__.py     |    17 +
 wrappers/Python/roadrunner/testing/__main__.py     |     6 +
 .../roadrunner/testing/dsmts/dsmts-001-01-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-01-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-01.xml      |    48 +
 .../roadrunner/testing/dsmts/dsmts-001-02-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-02-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-02.xml      |    50 +
 .../roadrunner/testing/dsmts/dsmts-001-03-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-03-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-03.xml      |    48 +
 .../roadrunner/testing/dsmts/dsmts-001-04-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-04-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-04.xml      |    48 +
 .../roadrunner/testing/dsmts/dsmts-001-05-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-05-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-05.xml      |    48 +
 .../roadrunner/testing/dsmts/dsmts-001-06-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-06-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-06.xml      |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-07-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-07-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-07.xml      |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-08-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-08-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-08.xml      |    48 +
 .../roadrunner/testing/dsmts/dsmts-001-09-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-09-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-09.xml      |    48 +
 .../roadrunner/testing/dsmts/dsmts-001-10-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-10-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-10.xml      |    48 +
 .../roadrunner/testing/dsmts/dsmts-001-11-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-11-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-11.xml      |    48 +
 .../roadrunner/testing/dsmts/dsmts-001-12-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-12-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-12.xml      |    50 +
 .../roadrunner/testing/dsmts/dsmts-001-13-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-13-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-13.xml      |    49 +
 .../roadrunner/testing/dsmts/dsmts-001-14-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-14-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-14.xml      |    56 +
 .../roadrunner/testing/dsmts/dsmts-001-15-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-15-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-15.xml      |    56 +
 .../roadrunner/testing/dsmts/dsmts-001-16-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-16-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-16.xml      |    56 +
 .../roadrunner/testing/dsmts/dsmts-001-17-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-17-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-17.xml      |    50 +
 .../roadrunner/testing/dsmts/dsmts-001-18-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-18-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-18.xml      |    50 +
 .../roadrunner/testing/dsmts/dsmts-001-19-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-19-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-001-19.xml      |    60 +
 .../roadrunner/testing/dsmts/dsmts-002-01-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-01-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-01.xml      |    41 +
 .../roadrunner/testing/dsmts/dsmts-002-02-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-02-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-02.xml      |    41 +
 .../roadrunner/testing/dsmts/dsmts-002-03-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-03-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-03.xml      |    44 +
 .../roadrunner/testing/dsmts/dsmts-002-04-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-04-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-04.xml      |    41 +
 .../roadrunner/testing/dsmts/dsmts-002-05-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-05-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-05.xml      |    49 +
 .../roadrunner/testing/dsmts/dsmts-002-06-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-06-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-06.xml      |    49 +
 .../roadrunner/testing/dsmts/dsmts-002-07-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-07-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-07.xml      |    49 +
 .../roadrunner/testing/dsmts/dsmts-002-08-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-08-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-08.xml      |    46 +
 .../roadrunner/testing/dsmts/dsmts-002-09-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-09-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-09.xml      |    61 +
 .../roadrunner/testing/dsmts/dsmts-002-10-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-10-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-002-10.xml      |    61 +
 .../roadrunner/testing/dsmts/dsmts-003-01-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-01-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-01.xml      |    61 +
 .../roadrunner/testing/dsmts/dsmts-003-02-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-02-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-02.xml      |    61 +
 .../roadrunner/testing/dsmts/dsmts-003-03-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-03-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-03.xml      |    86 +
 .../roadrunner/testing/dsmts/dsmts-003-04-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-04-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-04.xml      |    86 +
 .../roadrunner/testing/dsmts/dsmts-003-05-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-05-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-05.xml      |    63 +
 .../roadrunner/testing/dsmts/dsmts-003-06-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-06-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-06.xml      |    70 +
 .../roadrunner/testing/dsmts/dsmts-003-07-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-07-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-003-07.xml      |    70 +
 .../roadrunner/testing/dsmts/dsmts-004-01-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-004-01-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-004-01.xml      |    41 +
 .../roadrunner/testing/dsmts/dsmts-004-02-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-004-02-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-004-02.xml      |    41 +
 .../roadrunner/testing/dsmts/dsmts-004-03-mean.csv |    52 +
 .../roadrunner/testing/dsmts/dsmts-004-03-sd.csv   |    52 +
 .../roadrunner/testing/dsmts/dsmts-004-03.xml      |    41 +
 wrappers/Python/roadrunner/testing/feedback.xml    |   470 +
 .../roadrunner/testing/linearPathwayClosed.xml     |    54 +
 .../roadrunner/testing/linearPathwayOpen.xml       |    54 +
 wrappers/Python/roadrunner/testing/test_1.xml      |   190 +
 wrappers/Python/roadrunner/testing/tester.py       |  1274 +
 wrappers/Python/roadrunner/testing/testfiles.py    |    40 +
 wrappers/Python/setup.py                           |   185 +
 wrappers/README.txt                                |     0
 wrappers/c_api_python/CMakeLists.txt               |    18 +
 wrappers/c_api_python/Examples/CMakeLists.txt      |    17 +
 wrappers/c_api_python/Examples/getStoichMatrix.py  |     7 +
 wrappers/c_api_python/Examples/plotData.py         |    21 +
 .../Examples/rrPluginDocumentationDemo.py          |    39 +
 .../c_api_python/Examples/rrPluginParameterDemo.py |    52 +
 .../c_api_python/Examples/simulateSelectionList.py |     8 +
 .../c_api_python/Examples/threeLineSimulation.py   |     5 +
 wrappers/c_api_python/README.txt                   |     7 +
 wrappers/c_api_python/Testing/CMakeLists.txt       |    12 +
 .../Testing/results_roadRunnerTest_1.txt           |   361 +
 wrappers/c_api_python/Testing/rrDebug.py           |    44 +
 wrappers/c_api_python/Testing/rrRunTests.py        |    13 +
 wrappers/c_api_python/Testing/rrTestCompiler.py    |    29 +
 wrappers/c_api_python/Testing/rrTester.py          |  1002 +
 wrappers/c_api_python/rrPython.py                  |  2031 ++
 5710 files changed, 688084 insertions(+)

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..a2da77f
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,43 @@
+# Set the deifault behavior, in case people don't have core.autocrlf set.
+*        text=auto
+
+# Explicitly declare text files you want to always be normalized and converted
+# to native line endings on checkout.
+
+# C/C++
+*.c      text
+*.cpp    text
+*.cxx    text
+*.cc     text
+*.h      text
+*.hpp    text
+
+# Python
+*.py     text
+
+# Object Pascal
+*.pas    text
+
+# Markdown
+*.md     text
+
+# CMake
+*.cmake  text
+
+# Data
+*.xml    text
+*.dat    text
+
+# Misc Windows files
+*.def    text
+*.txt    text
+*.bat    text
+
+# Doxygen
+*.doxy   text
+
+# Installer scripts (Inno?)
+*.iss    text
+
+# RoadRunner custom
+*.rrtest text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a4385b8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,35 @@
+.DS_Store
+*~
+*.pyc
+*#
+.#*
+*.orig
+*.kate-swp
+
+**/.swp
+
+# Merge backups (kdiff3?)
+*.BACKUP*
+*.BASE*
+*.LOCAL*
+*.REMOTE*
+
+# libsbml auto-generated files
+third_party/libSBML-5.9.0-Source/src/bindings/swig/libsbml-packages.h
+third_party/libSBML-5.9.0-Source/src/bindings/swig/libsbml-packages.i
+third_party/libSBML-5.9.0-Source/src/sbml/common/libsbml-config-common.h
+third_party/libSBML-5.9.0-Source/src/sbml/extension/RegisterExtensions.cxx
+third_party/libSBML-5.9.0-Source/src/sbml/extension/RegisterExtensions.h
+
+# libsbml swig generated files
+third_party/libSBML-5.9.0-Source/src/bindings/python/local-downcast-extension.cpp
+third_party/libSBML-5.9.0-Source/src/bindings/python/local-downcast-namespaces.cpp
+third_party/libSBML-5.9.0-Source/src/bindings/python/local-downcast-plugins.cpp
+third_party/libSBML-5.9.0-Source/src/bindings/python/local-downcast.cpp
+third_party/libSBML-5.9.0-Source/src/bindings/python/local-packages.i
+wrappers/C/Testing/alexTestOutput.xml
+
+# no idea
+.swm
+.swn
+.swo
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..22c4169
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,53 @@
+sudo: required
+dist: trusty
+
+language: cpp
+
+notifications:
+  email:
+      - jkmtravisnotify at gmail.com
+
+compiler: gcc
+
+branches:
+  only:
+    - develop
+    - master
+
+
+before_install:
+  # print the distro information
+  - lsb_release -a
+
+  # cache refresh required to install packages
+  - sudo apt-get update -qq
+
+  # install dependencies
+  - sudo apt-get -y install cmake swig python-dev python-numpy llvm-3.5-dev
+
+  - mkdir ~/install
+
+  # install roadrunner dependencies via apt:
+  - sudo sh -c 'echo "\n\ndeb http://cdn.rawgit.com/sys-bio/roadrunner-debs/master ./ \n\n" >> /etc/apt/sources.list'
+  - sudo cat /etc/apt/sources.list
+  - sudo apt-get update -qq
+  - sudo apt-get -y --force-yes install libroadrunner-deps-dev
+
+  - echo "TRAVIS_BUILD_DIR $TRAVIS_BUILD_DIR"
+  # build roadrunner:
+  - mkdir -p ~/build/roadrunner
+
+install:
+  - cd ~/build/roadrunner
+  - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=~/install/roadrunner -DTHIRD_PARTY_INSTALL_FOLDER=/usr -DLLVM_CONFIG_EXECUTABLE=/usr/lib/llvm-3.5/bin/llvm-config -DBUILD_PYTHON=ON -DPYTHON_EXECUTABLE=/usr/bin/python -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so python2.7 -DBUILD_TESTS=ON -DBUILD_TEST_TOOLS=ON -DUSE_TR1_CXX_NS=ON -DBUILD_JAVA_INTERFACE=OFF "$TRAVIS_BUILD_DIR"
+  - make -j2
+  - make install
+
+before_script: true
+
+script:
+  - cd ~/build/roadrunner
+  - make -j2 && make install
+  - ctest -VV
+  # display results of compiled tests
+  - cat autotest/compiled-test-suite/results.xml
diff --git a/AUTHORS.txt b/AUTHORS.txt
new file mode 100644
index 0000000..13046dd
--- /dev/null
+++ b/AUTHORS.txt
@@ -0,0 +1,42 @@
+The orginal C# version of roadRunner was developed as part of the SBW project by
+		 
+    Herbert M Sauro and Frank Bergmann
+		  
+The current version of roadRunner, now renamed libRoadRunner, was rewritten and 
+considerably modified and enhanced in C/C++ by
+
+    Andy Somogyi, Totte Karlsson and Herbert M Sauro
+ 
+The Python interface to the C API was developed by
+
+    Greg Medlock (gmedlo at uw.edu), Totte Karlsson and Herbert M Sauro
+
+The Python SWIG interface to the C++ API was developed by
+
+    Andy Somogyi
+
+The LLVM backend and refactoring of the core was designed and undertaken by
+
+    Andy Somogyi
+
+The C# backend was ported to C++ by
+
+    Totte Karlsson
+
+The Plugin Framework was designed and developed by
+
+    Totte Karlsson
+    
+with Tellurium integration and further enhancements by
+
+    Kiri Choi
+    
+The continuous integration (CI) system and Java API were developed by
+
+    J Kyle Medley
+    
+Redesign of the integrator interface was done by
+
+    Wilbert Copeland
+
+For more information visit libroadrunner.org
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100755
index 0000000..6955331
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,468 @@
+cmake_minimum_required(VERSION 2.8)
+project(rr)
+
+# libRoadRunner semantic versioning (http://semver.org/) - used to generate
+# source files expose library version information
+
+set(ROADRUNNER_VERSION_MAJOR 1)
+set(ROADRUNNER_VERSION_MINOR 4)
+set(ROADRUNNER_VERSION_PATCH 8)
+
+set(ROADRUNNER_VERSION "${ROADRUNNER_VERSION_MAJOR}.${ROADRUNNER_VERSION_MINOR}.${ROADRUNNER_VERSION_PATCH}")
+
+set(CMAKE_MACOSX_RPATH 1)
+
+# ** Configuration Options *****************************************************
+
+# These will be the defaults ...
+if(WIN32)
+    SET(RR_BUILDS_ROOT      "c:/builds")
+    SET(RR_INSTALLS_ROOT    "c:/installs")
+
+    if(BORLAND)
+        set(FOLDER_POSTFIX "xe")
+    endif()
+
+    if(MSVC)
+        set(FOLDER_POSTFIX "vs")
+    endif()
+
+    if(UNIX)
+        set(FOLDER_POSTFIX "gcc")
+    endif()
+
+    set(THIRD_PARTY_INSTALL_FOLDER ${RR_INSTALLS_ROOT}/${FOLDER_POSTFIX}/release CACHE PATH "Directory containing ThirdParty libraries.")
+    if("${THIRD_PARTY_INSTALL_FOLDER}" STREQUAL "")
+        set(THIRD_PARTY_INSTALL_FOLDER ${RR_INSTALLS_ROOT}/${FOLDER_POSTFIX}/release CACHE PATH "Directory containing ThirdParty libraries" FORCE)
+    endif()
+else()
+    # Default the third party dir to a more conventional unix type path
+    # This would typically be /usr/local, $HOME/local or something like that.
+    set(THIRD_PARTY_INSTALL_FOLDER ${CMAKE_INSTALL_PREFIX} CACHE PATH "Directory containing ThirdParty libraries.")
+endif(WIN32)
+
+# add cmake files to find things, prepend with our path
+SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/ ${CMAKE_MODULE_PATH})
+
+# TODO: add some logic to automatically set based on compiler version
+set(RR_USE_CXX11 FALSE CACHE BOOL "Set to TRUE to enable C++11 features")
+
+set(LLVM_INSTALL_PREFIX CACHE PATH "If LLVM was built using CMake, this is the location where it was installed")
+
+# determine if LLVM was installed using CMake
+if(EXISTS ${LLVM_INSTALL_PREFIX}/share/llvm/cmake)
+    message(STATUS "Found CMake built LLVM")
+
+    option (BUILD_LLVM "Build the LLVM back end" ON)
+    set(BUILD_LLVM ON)
+    set(LLVM_FOUND TRUE)
+
+    # Use the propper LLVM supplied CMake files.
+    # prepend the cmake module path with the LLVM modules
+    set(CMAKE_MODULE_PATH "${LLVM_INSTALL_PREFIX}/share/llvm/cmake" ${CMAKE_MODULE_PATH})
+
+    include(LLVMConfig)
+
+    # we're building a JIT compiler with support for binary code (no interpreter):
+    # this sets the LLVM_LIBRARIES var to be the list of required LLVM libs
+    # to link with.
+    llvm_map_components_to_libraries(LLVM_LIBRARIES jit native)
+
+else()
+    message(STATUS "Looking for LLVM installed without CMake")
+
+    set(LLVM_MIN_VERSION       "3000000")
+    set(LLVM_MIN_VERSION_TEXT  "3.0")
+
+    # look for LLVM using the llvm-config program
+    find_package(LLVM)
+endif()
+
+
+# should we build and install Testing tools?
+option (BUILD_TEST_TOOLS "Build and install test tools" OFF)
+
+# should we use LLVM ?
+option (BUILD_LLVM "Build the LLVM back end" ON)
+
+
+option(BUILD_LEGACY_C "Build the legacy C code generating backend (deprecated)")
+
+# should we build the swig python wrapper?
+option (BUILD_PYTHON "build the SWIG generated python wrapper" OFF)
+set( PYTHON_SITE_DIR site-packages CACHE PATH "Path to Python site packages directory" )
+if(BUILD_PYTHON)
+  set(PYTHON_PACKAGE_DEST_DIR ${PYTHON_SITE_DIR}/roadrunner)
+endif()
+
+# should we build the swig Java wrapper?
+option (BUILD_JAVA_INTERFACE "build the SWIG generated Java wrapper" OFF)
+
+if(BUILD_TESTS OR BUILD_JAVA_INTERFACE)
+  enable_testing()
+endif()
+
+if(BUILD_LLVM AND NOT LLVM_FOUND)
+    message(FATAL_ERROR "BUILD_LLVM is enabled, but no LLVM installation was found")
+endif()
+
+mark_as_advanced(
+    BUILD_LEGACY_C
+    INSTALL_APPS
+    INSTALL_CXX_API
+    INSTALL_C_API
+    INSTALL_C_API_PYTHON
+    INSTALL_STATIC_LIB
+    RR_USE_CXX11
+    )
+
+set(RR_GENERATED_HEADER_PATH ${CMAKE_CURRENT_BINARY_DIR}/source)
+set(RR_ROADRUNNER_INSTALL_PATH ${CMAKE_INSTALL_PREFIX})
+set(RR_ROADRUNNER_INSTALL_LIB_PATH ${RR_ROADRUNNER_INSTALL_PATH}/lib)
+set(RR_SOURCE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
+
+# new clang on OSX and msvc use std namespace.
+if(RR_USE_CXX11)
+    option (USE_TR1_CXX_NS          "Use the tr1 c++ namespace for swig smart pointer" OFF)
+else()
+    option (USE_TR1_CXX_NS          "Use the tr1 c++ namespace for swig smart pointer" ${CMAKE_COMPILER_IS_GNUCXX})
+endif()
+OPTION (INSTALL_CXX_API         "Generate C++ api"                               ON )
+OPTION (INSTALL_C_API           "Generate C API"                                 ON )
+OPTION (INSTALL_C_API_PYTHON    "Package ctypes  Python wrapper for the C API"   ON )
+OPTION (INSTALL_APPS            "Build and install Apps"                         ON )
+OPTION (INSTALL_EXAMPLES        "Build and install Examples"                     OFF)
+OPTION (INSTALL_STATIC_LIB      "Install RoadRunner CXX static lib"              OFF)
+OPTION (RR_BUILD_SHARED_CORE    "Build RoadRunner Core Shared library"           ON)
+OPTION (BUILD_TESTS             "Build the SBML C API test suite"                OFF)
+OPTION (INSTALL_SBML_MODELS     "Install SBML Models"                            ON )
+OPTION (WITH_CONDA_BUILDER      "Include files required to build the conda package" OFF)
+
+#Setup so that roadrunner is always built as a dll and linked statically with 'as much as possible'
+set(BUILD_SHARED_LIBS            ON)
+
+set(RR_ROOT                      ${CMAKE_CURRENT_SOURCE_DIR})
+set(RR_SOURCE_ROOT               ${CMAKE_CURRENT_SOURCE_DIR}/source)
+set(THIRD_PARTY_FOLDER           ${CMAKE_CURRENT_SOURCE_DIR}/third_party)
+
+set(exe_path                     ${PROJECT_BINARY_DIR}/bin)
+set(lib_path                     ${PROJECT_BINARY_DIR}/lib)
+
+message(STATUS "Using third party library prefix of ${THIRD_PARTY_INSTALL_FOLDER}")
+message(STATUS "Installing RoadRunner to ${CMAKE_INSTALL_PREFIX}")
+
+set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
+    "Choose the build type. The options are: None (CMAKE_CXX_FLAGS or
+     CMAKE_C_FLAGS are used), Debug, Release, RelWithDebInfo, MinSizeRel.")
+if("${CMAKE_BUILD_TYPE}" STREQUAL "")
+    set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
+        "Choose the build type. The options are: None (CMAKE_CXX_FLAGS or
+  CMAKE_C_FLAGS are used), Debug, Release, RelWithDebInfo, MinSizeRel." FORCE)
+endif()
+
+IF(WIN32)
+    IF(${MSVC})
+        IF(CMAKE_BUILD_TYPE MATCHES "Debug")
+            set(exe_path ${exe_path}/Debug)
+            set(lib_path ${lib_path}/Debug)
+        ELSE(CMAKE_BUILD_TYPE MATCHES "Debug")
+               set(exe_path ${exe_path}/Release)
+               set(lib_path ${lib_path}/Release)
+        ENDIF(CMAKE_BUILD_TYPE MATCHES "Debug")
+    ELSE(WIN32)
+   # Linux
+    ENDIF(${MSVC})
+ENDIF(WIN32)
+
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY     ${PROJECT_BINARY_DIR}/lib)
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY     ${PROJECT_BINARY_DIR}/lib)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY     ${PROJECT_BINARY_DIR}/bin)
+
+#** Apply Project/Compiler Settings ********************************************
+
+# Set C++11 flags
+if(RR_USE_CXX11)
+    IF(NOT MSVC)
+        set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
+    else()
+        message(WARNING "RR_USE_CXX11 enabled but has no effect on Microsoft compilers")
+    endif()
+endif()
+
+include_directories(
+    ${RR_ROOT}
+    ${THIRD_PARTY_FOLDER}
+)
+
+# TODO libxml2 handling is excedingly hackish, it is all homegrown
+# manually linking crap, need to fix this!
+
+if (WIN32)
+    message(STATUS "adding ${THIRD_PARTY_INSTALL_FOLDER}/include/libxml2 to include path")
+    include_directories(${THIRD_PARTY_INSTALL_FOLDER}/include/libxml2)
+else()
+    #UNIX
+    find_package(LibXml2 REQUIRED)
+	message(STATUS "found libxml2, include dir: ${LIBXML2_INCLUDE_DIR}")
+	include_directories(${LIBXML2_INCLUDE_DIR})
+endif()
+
+find_library(LIBSBML_LIBRARY sbml libsbml HINTS ${THIRD_PARTY_INSTALL_FOLDER}/lib)
+find_library(LIBSBML_STATIC_LIBRARY sbml-static libsbml-static HINTS ${THIRD_PARTY_INSTALL_FOLDER}/lib)
+find_path(LIBSBML_INCLUDE_DIR sbml/SBMLTypes.h HINTS ${THIRD_PARTY_INSTALL_FOLDER}/include)
+
+# find libSBML deps
+
+if(WIN32)
+  find_library(ICONV_LIBRARY iconv libiconv HINTS ${THIRD_PARTY_INSTALL_FOLDER}/lib)
+  if(NOT ICONV_LIBRARY)
+    message(SEND_ERROR "Could not find libiconv, required for libSBML linking")
+  endif()
+endif()
+message(STATUS "ZLIB SDK dir: ${CMAKE_OSX_SYSROOT}/usr/lib")
+find_library(ZLIB_LIBRARY NAMES z libz libz.dylib zdll HINTS ${THIRD_PARTY_INSTALL_FOLDER}/lib ${CMAKE_OSX_SYSROOT}/usr/lib)
+message(STATUS "Find ZLIB results: ${ZLIB_LIBRARY}")
+if(NOT ZLIB_LIBRARY)
+  message(SEND_ERROR "Could not find zlib, required for libSBML linking")
+endif()
+find_library(BZ2_LIBRARY bz2 libbz2 HINTS ${THIRD_PARTY_INSTALL_FOLDER}/lib)
+if(NOT BZ2_LIBRARY)
+  message(SEND_ERROR "Could not find libbz2, required for libSBML linking")
+endif()
+
+if(WIN32)
+  set(LIBSBML_EXTRA_LIBS "${ICONV_LIBRARY};${ZLIB_LIBRARY};${BZ2_LIBRARY}" CACHE STRING "libSBML extra libraries")
+else()
+  set(LIBSBML_EXTRA_LIBS "${ZLIB_LIBRARY};${BZ2_LIBRARY}" CACHE STRING "libSBML extra libraries")
+endif()
+
+if (${BUILD_LLVM})
+    link_directories(
+        ${LIBRARY_OUTPUT_PATH}
+        ${THIRD_PARTY_FOLDER}/dependencies/libsbml/lib
+        ${THIRD_PARTY_INSTALL_FOLDER}/lib
+        ${LLVM_LIBRARY_DIRS}
+    )
+else()
+    link_directories(
+        ${LIBRARY_OUTPUT_PATH}
+        ${THIRD_PARTY_FOLDER}/dependencies/libsbml/lib
+        ${THIRD_PARTY_INSTALL_FOLDER}/lib
+    )
+endif (${BUILD_LLVM})
+
+if(${MSVC})
+    add_definitions(
+        -DPOCO_NO_AUTOMATIC_LIBS
+        -DCRT_NONSTDC_NO_DEPRECATE
+        -D_CRT_SECURE_NO_WARNINGS    #MS wanting you to changes basically all standard C functions :(
+        )
+
+    #  4251 About exporting std classes
+    #  4018 Comparing unsigned/signed ints
+    #  4996 Deprecated functions
+    add_definitions( "/wd4251 /wd4018 /wd4996 /nologo" )
+
+    SET (CMAKE_CXX_FLAGS             "${CMAKE_CXX_FLAGS} /EHsc ")
+    SET (CMAKE_SHARED_LINKER_FLAGS     "${CMAKE_SHARED_LINKER_FLAGS} ") #/FORCE:MULTIPLE")
+
+endif()
+
+#=== COMPILER FLAGS
+#Common compiler definitions
+add_definitions(
+    -DLIBSBML_USE_CPP_NAMESPACE
+)
+
+if(${MINGW})
+    SET (CMAKE_CXX_FLAGS             "${CMAKE_CXX_FLAGS} -std=gnu++0x")
+endif()
+
+if(${BORLAND})
+    link_directories(${THIRD_PARTY_FOLDER}/dependencies/libsbml/lib)
+add_definitions(
+    -DUSE_PCH                   #Enable pre-compiled headers
+    -H=${PROJECT_BINARY_DIR}/rr_pch.csm
+    -w-8012                     #Comparing signed /unsigned
+    -w-8057                     #Parameter never used
+    -w-8004                     #'var' is assigned a value that is never used
+    )
+endif()
+
+if(UNIX)
+    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
+    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+endif()
+
+if(BUILD_LLVM)
+    message(STATUS "using LLVM, version ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}")
+
+    message(STATUS "LLVM_LIBRARIES: ${LLVM_LIBRARIES}")
+    message(STATUS "LLVM_FLAGS: ${LLVM_FLAGS}")
+    message(STATUS "LLVM_INCLUDE_DIRS: ${LLVM_INCLUDE_DIRS}")
+    message(STATUS "LLVM_LIBRARY_DIRS: ${LLVM_LIBRARY_DIRS}")
+    add_definitions(-DBUILD_LLVM)
+    # Don't use add_definitions for LLVM flags per http://stackoverflow.com/questions/13638408/cmake-override-compile-flags-for-single-files
+#     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_FLAGS}") # Set per-source
+    include_directories(${LLVM_INCLUDE_DIRS})
+else()
+    message(STATUS "NOT using LLVM")
+endif(BUILD_LLVM)
+
+if(BUILD_LEGACY_C)
+    message(STATUS "building legacy C backend")
+    add_definitions(-DBUILD_LEGACY_C)
+else()
+    message(STATUS "not building legacy C backend")
+endif(BUILD_LEGACY_C)
+
+message(STATUS "
+-------------------------------------------------------------------------------
+libRoadRunner Configuration Summary
+-------------------------------------------------------------------------------
+
+    For up-to-date news and releases visit libroadrunner.org
+
+    Configured on host $ENV{COMPUTERNAME} ${HOSTNAME}
+      host OS                   ${CMAKE_SYSTEM_NAME}
+      host architecture         ${CMAKE_SYSTEM_PROCESSOR}
+
+    General flags:
+      CC                        ${CMAKE_C_COMPILER}
+      CXX                       ${CMAKE_CXX_COMPILER}
+      CPPFLAGS                  ${BUILD_DEFINITIONS}
+      CFLAGS                    ${CMAKE_C_FLAGS}
+      CXXFLAGS                  ${CMAKE_CXX_FLAGS}
+      LDFLAGS                   ${CMAKE_EXE_LINKER_FLAGS}
+
+    Installation prefix:        ${CMAKE_INSTALL_PREFIX}
+
+    Options:
+      With LLVM?                ${BUILD_LLVM}
+      With legacy C? (DEP)      ${BUILD_LEGACY_C}
+      Enable Python interface?  ${BUILD_PYTHON}
+      Enable Java interface?    ${BUILD_JAVA_INTERFACE}
+      Enable test suite?        ${BUILD_TESTS}
+
+    Dependencies (packages marked with *** are required):
+    "
+)
+
+message( "  *** libSBML")
+message( "       libSBML libs               ${LIBSBML_LIBRARY}")
+message( "       libSBML static libs        ${LIBSBML_STATIC_LIBRARY}")
+message( "       libSBML includes           ${LIBSBML_INCLUDE_DIR}")
+
+message( "" )
+
+# We alway have to build the roadrunner core, everything depends on this
+add_subdirectory(source)
+
+# install the rr_support if building legacy c
+if(BUILD_LEGACY_C)
+    add_subdirectory(rr_support)
+endif(BUILD_LEGACY_C)
+
+if(INSTALL_CXX_API)
+    if(INSTALL_APPS)
+        add_subdirectory(apps)
+    endif()
+
+    if(INSTALL_EXAMPLES)
+        add_subdirectory(examples)
+    endif()
+endif(INSTALL_CXX_API)
+
+add_subdirectory(wrappers)
+
+if(BUILD_TESTS AND BUILD_TEST_TOOLS)
+    message(STATUS "building tests")
+    file (GLOB TEST_FILES "testing/*" )
+
+    file (GLOB PYTHON_TEST_FILES "wrappers/Python/roadrunner/testing/*" )
+    list( APPEND TEST_FILES ${PYTHON_TEST_FILES} )
+
+    file(GLOB PYTHON_TEST_DATA "${CMAKE_CURRENT_SOURCE_DIR}/testing/*.rrtest")
+
+    file(GLOB TEST_DATA_XML "${CMAKE_CURRENT_SOURCE_DIR}/testing/*.xml")
+
+    foreach( f ${TEST_FILES} )
+        if(NOT IS_DIRECTORY ${f})
+            get_filename_component( FILE_NAME ${f} NAME )
+            configure_file( ${f} testing/${FILE_NAME} COPYONLY )
+            configure_file( ${f} lib/site-packages/roadrunner/testing/${FILE_NAME} COPYONLY )
+        endif()
+    endforeach()
+
+    foreach( f ${PYTHON_TEST_DATA} )
+        if(NOT IS_DIRECTORY ${f})
+            get_filename_component( FILE_NAME ${f} NAME )
+            configure_file( ${f} lib/site-packages/roadrunner/testing/test_data/${FILE_NAME} COPYONLY )
+        endif()
+    endforeach()
+
+    foreach( f ${TEST_DATA_XML} )
+        if(NOT IS_DIRECTORY ${f})
+            get_filename_component( FILE_NAME ${f} NAME )
+            configure_file( ${f} lib/site-packages/roadrunner/testing/test_data/${FILE_NAME} COPYONLY )
+        endif()
+    endforeach()
+
+    add_subdirectory(testing)
+    add_subdirectory(autotest)
+else()
+    message(STATUS "NOT building tests")
+endif()
+
+
+#======================= INSTALL STUFF ========================================================
+#What sub folders to move into...?
+if(${INSTALL_SBML_MODELS})
+    add_subdirectory(models)
+endif()
+
+if(INSTALL_CXX_API)
+    install(FILES source/rr_pch.h
+        DESTINATION include
+        COMPONENT rr_core)
+endif(INSTALL_CXX_API)
+
+install(FILES README.md LICENSE.txt AUTHORS.txt FUNDING.txt
+        DESTINATION .
+        COMPONENT info
+        )
+
+# make or copy installers into root directory
+add_subdirectory(installer)
+
+#=== ThirdParties
+if(${BORLAND})
+    set(CG_RUNTIMES        cc32110MT.dll)
+    foreach(runtime ${CG_RUNTIMES})
+        install (FILES
+            ${THIRD_PARTY_FOLDER}/dependencies/cg/xe/${runtime}
+            DESTINATION bin
+            COMPONENT rr_core)
+    endforeach()
+endif()
+
+configure_file(VERSION.txt.in VERSION.txt @ONLY)
+
+install(
+    FILES
+    NOTICE.txt
+    ${CMAKE_CURRENT_BINARY_DIR}/VERSION.txt
+    NEWS.txt
+    DESTINATION .
+)
+
+
+if(WIN32)
+    install(
+        FILES win32_bin_README.txt DESTINATION bin/ RENAME README.txt
+    )
+endif(WIN32)
+
+if(WITH_CONDA_BUILDER)
+  install(FILES assets/roadrunner-64x64-red.png DESTINATION assets)
+endif()
diff --git a/FUNDING.txt b/FUNDING.txt
new file mode 100644
index 0000000..51e285f
--- /dev/null
+++ b/FUNDING.txt
@@ -0,0 +1,3 @@
+
+The development of libRoadRunner was funded through the generous support
+of the NIH/NIGMS. Grant Number: GM081070
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..63e3d35
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,33 @@
+Licensing and Distribution Terms for RoadRunner
+ * Copyright (C) 2012-2013
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+
+
diff --git a/NEWS.txt b/NEWS.txt
new file mode 100644
index 0000000..b3f7079
--- /dev/null
+++ b/NEWS.txt
@@ -0,0 +1,364 @@
+-- Version 1.3.2
+
+* Fix conserved moieties bug (wcopeland)
+
+-- Version 1.3.1
+
+* Fix #91 for negative spec amts in Gillespie
+
+* Fix #92 for internal bug in Python wrapper
+
+-- Version 1.3
+* New Python ND array type which inherits from the numpy ndarray, contains row/column name info, and
+  prints the row/col names in nicely formatted output. 
+
+* Added row/column fields to DoubleMatrix, these are populated by a majority of RoadRunner methods.
+
+* plotting compatibility between roadrunner and tellurium
+
+* DoubleMatrix correctly writes csv format to stream
+
+* Update to libSBML 5.11
+
+* Add extra time steps in variable step mode to add timesteps at the exact point of event triggers,
+  results in crisp vertical lines on plots.
+
+* C++ and Python documentation updates.
+
+* new C++11 proxy classes to compile on OSX 10.9
+
+* Introduce new LLVM symbol caching optimiztion and scoped cache blocks for read combining
+  -- results in SIGNIFICANT imporovments in both compile time and run time performance.
+
+* memory leak fixes in numpy binding.
+
+* code cleanup and new reset option to apply init assignment rules to global params
+
+* added SBML version converter to optionaly version convert resulting sbml string
+  from getSBML and getCurrentSBML
+
+* many RoadRunner objects are now properly a Dictionary and methods now accept a
+  Dictionary interface.
+
+* SteadyState solvers properly created by factory. 
+
+-- Version 1.2.7
+* made the NLEQ steadystate single threaded -- it will block all other threads
+  and only let one thread at a time be in the steadyState function.
+  The FORTRAN77 code that it was written in uses globals for everything, there was
+  no possible way that it was ever thread safe. 
+
+* NLEQ steadystate function now uses a static var to hold a pointer to the model object
+
+* Added getKMatrix() method to RoadRunner object, updated python and C++ docs to reflect this.
+
+* Added new 'eigenr' and 'eigenc' selections to get real and complex values of eigenvalues,
+  note, the existing 'eigen' is the same as 'eigenr' -- will get real part of eigenvalue.
+
+* new rrtest testing file format.
+
+* Removed RoadRunner::getEigenvalues and replaced with getFullEigenValues and
+  getReducedEigenValues which return the eigenvalues for the respective Jacobians.
+
+* support for 'distrib' SBML package for random distributions. 
+
+-- Version 1.2.6
+*  Python dynamic properties are now on the RoadRunner instead of the RoadRunner.model object 
+
+*  Fixed bug in dynamic properties where they were not cleared when a new model is loaded. 
+
+*  Added boundary species to python dynamics properties
+
+*  Redesign dynamic property generations - new code is much cleaner. 
+
+*  testing files in roadrunner.testing are automatically enumerated and run from
+   roadrunner.testing.test_files
+
+*  Fix for ordering variables correctly when creating an SimulateOptions from a libSBML test suite
+   txt file.
+
+*  If model has comp extension, automatically flatten. 
+   - Note, libSBML comp extension has numerous memory issues, comp extension models *might* cause
+   instability. 
+
+*  Upgrade to libSBML 5.10.2
+
+*  All logging output is re-directed to the IPython socket when running in the QT IPython
+   console. This allows allows logging messages to show up in the IPython console. 
+
+*  Support mixed mode arithmetic. 
+
+*  workarounds for buggy MSVC stdlib functions. 
+
+*  Significantly improve error messages for mal-formed SBML models. 
+
+-- Version 1.2.5
+*  New parallel ensemble function and 'roadrunner.stochastic' python module.
+
+*  Added new example files to python package.
+
+*  New function in C API to create RRDataPtr directly from RoadRunner object, 
+   completly bypassing RoadRunnerData C++ object. 
+
+*  Conserved moiety species amounts and concentrations are directly mutable. 
+
+*  RoadRunner.reset is now very flexible, can reset a variety of values based on args.
+
+-- Version 1.2.4
+*   Extended information such as git branch and last commit available via 
+    getVersionStr()
+
+*   Test case for reduced / full Jacobian in both amount and concentration mode. 
+
+*   Reduced Jacobian now works in either amount or concentration mode.
+
+*   Added getFloatingSpeciesConcentrationRates() function to get rates of change
+    of floating species concentrations. 
+
+*   Made model reset smarter when resetting model with conserved moieties. If users
+    changes CMs, they will only be reset if users also changes init species cond.
+
+*   Correctly display CM ids.
+
+*   Major cleanup in handling temp dir path, added config value for specifiying
+    tmp dir and log file path. 
+
+*   Added model checks to getCurrentSBML, fixes with CM is enabled. 
+
+*   Merged Alex's documentation updates to C API. 
+
+*   Fixed bug with CM being displayed twice in items. 
+
+*   Fix bug when getting stoich matrix when CM is enabled. 
+
+*   New Runge-Kutta integrator, available via simulate using integrator="rk4". 
+
+*   Full Jacobian works in either concentration or amount mode. 
+
+*   Update make_docs.sh shell script to work with spaces in directory names. 
+
+*   More user proofing and robustness. 
+
+-- Version 1.2.3
+*   Improvments to error and display messeges.
+
+*   Integrator state is NOT reset when changing integrators, i.e. if one does a 
+
+       r.simulate(integrator="gillepsie") 
+       r.simulate(integrator="cvode") 
+       r.simulate(integrator="gillepsie") 
+
+    the state of the integrators (including the random number stream) continues from 
+    the previous state. 
+
+*   The 'seed' keyword argument to simulate resets the RNG to the given seed. All subsequent
+    calls to simulate pick up the RNG in its current state. The RNG is ONLY reset when the 
+    'seed' keyword argument is given. 
+
+*   Integrators now implement the dictionary protocol. For example, when using the Gilespie
+    integrator, it supports the following keys:
+
+        r.getIntegrator().keys()
+        ['seed', 'rand']
+
+*   The 'rand' value grabs the next random number from the stream, and the 'seed' resets the RNG 
+    to the given seed. 
+
+*   User specifiable RNG seed. The seed can be specified either via an optional 'seed' argument to
+        simulate, i.e.
+
+        r.simulate(0, 10, seed=23)
+
+    Or, can be specified via the SimulateOptions object, either with a new one, or the existing one:
+
+        o = SimulateOptions()
+        o.start = 0
+        o.end = 10
+        o.integrator = SimulateOptions.GILLESPIE
+        o['seed'] = 23 # SimulatOptions behaves as a dictionary, any new integrator specific values
+                       # can be added here.
+        r.simulate(o)
+
+    Or, the existing one can be modified:
+
+        r.simulateOptions['seed'] = 23
+
+    To get back to the default behavior of using the system time, just delete this value from the
+    existing object:
+
+        del r.simulatOptions['seed']
+
+*   Fixed an issue with conserved moieties not being calculated correctly with multi-compartment
+    models.
+
+*   Added getFullStoichiometryMatrix() and getReducedStochiometryMatrix() methods to RoadRunner
+    object. 
+
+*   Cleanup in steady state solver, introduced new configuration parameters for steady state solver:
+
+      STEADYSTATE_RELATIVE,
+      STEADYSTATE_MAXIMUM_NUM_STEPS,
+      STEADYSTATE_MINIMUM_DAMPING
+
+*   Initial value assignment rules now access the present value of parameters rather than their
+    initial value. 
+
+*   Never-ending memory leak fixes in libSBML. 
+
+*   Added support for global parameter rates via selections if the global parameter has a rate rule. 
+
+*   Fixed atanh but on Windows. 
+
+*   Fixed bug with incorrect model resetting when changing integrators. 
+
+*   Fixed row/column major bug with Python API. 
+
+*   python RoadRunner simulate returns (optionally) a copy of the simulation result.
+
+-- Version 1.2.2
+*   Fixed bug in Python simulate method not accepting 4'th position argument in certain cases.
+
+*   Added LLVM info to version info
+
+*   Added methods to Compiler interface to get info about current JIT processor and system. 
+
+*   Added support for compiling with LLVM 3.5, we now support LLVM version 3.1 - 3.5 
+
+-- Version 1.2.1
+*   Added models and data files from the Discrete Stochastic Models Test Suite,
+    https://code.google.com/p/dsmts/
+    to the roadrunner.testing package.
+
+*   New function in the roadrunner.testing package to enumerate testing data files.
+
+*   Clean up of SBML warning messages (thanks Lucian)
+
+*   Fixed major bug with how absolute and relative tolerances are handled (major thanks to Matthias
+    Koenig)
+
+*   Added support for reading values of reaction rates inside the model (identified by Matthias)
+
+*   Event status is not available as a selection, i.e. r.model["my_event_id"] will return 1 or -1
+    depending on whether or not the event is triggered.
+
+*   The plot method no longer tries to parse labels from SBML ids as LaTeX.
+
+*   made structuredResult behavior backward compatible (some users like the structured result).
+
+*   major revamp of the Python simulate method, it now accepts a variety of positional and named
+    arguments.
+
+*   fix bug when compiling with clang3.4 in c++ 11 mode (identified by Andrew Millspaugh)
+
+*   Gillespie integrator now supports fixed and variable time step mode.
+
+*   Variable time step mode fixes with deterministic solver.
+
+-- Version 1.2.0
+
+*   Enabled mutable initial conditions when conserved moities are used, implemented Jacobian 
+    calculation when conserved moieties are used. 
+
+*   Fixed memory leaks related to how CVODE is used. With the mem leaks fixed, we leak a total of 16
+    bytes ONCE, in a 3rd party library  in the beginning for running the entire test suite. 
+
+*   Fixed bugs with stiff solver not being selected
+
+*   New getValue / setValue methods on SimulationOptions to set arbitrary settings, will be used by
+    future integrators. 
+
+*   Prototype Gillespie stochastic integrator
+
+*   Added missing init amount method to python API
+
+*   Clean up IL code generation
+
+*   Structured result disabled by default
+
+*   New parameters in simulate and plot methods (Herbert has these, waiting on feedback), 
+    simulate now accepts all SimulateOptions field names as keywords and has plot option,
+    i.e. simulate(plot=True)
+
+*   Raise exception on invalid selection strings
+
+*   Removed pointless bool return value on exception raising methods.
+
+*   All instance variables in public classes moved to private internal struct -- result is that we
+    can now add and remove instance variables and never break binary compatibility. Relevant to C++ 
+    users.
+
+*   Future versions may accept more complex types for configuration settings, API is set up so we
+    never break binary compatibility as we add new features like this.
+
+*   Continuous documentation updates and enhancements.
+
+
+-- Version 1.1.0
+
+*   Config system. RoadRunner can now read and write most default configuration parameters 
+    from / to a config file
+
+*   fixed memory leak in moiety conservation converter
+
+*   new colored logging
+
+*   Can read SBML files through HTTP on all platforms. The RoadRunner constructor 
+    or load methods are smart in that accept a string which can be either:
+    a: the contents of a SBML document
+    b: a local file path, i.e. /home/andy/feedback.xml
+    c: a full URI identifier that can be either a local file or a remote file, 
+       this can even be a BioModels identifier, i.e. 
+       r=roadrunner.RoadRunner("http://www.ebi.ac.uk/biomodels-main/download?mid=BIOMD0000000275")
+
+*   upgraded to standard Poco 1.5 distribution. RoadRunner's Poco is now linked 
+    directly to the official Poco git repository. 
+
+*   lots of integrator tuning parameters are now accessible via the SimulateOptions object. 
+
+*   Can run the integrator in new MULTI_STEP mode where the integrator determines 
+    time step size. 
+
+*   New SBML events -- users can register listeners for any SBML event. Whenever a 
+    SBML event is triggered or assigned, the user can be notified. 
+
+*   New integrator events -- users can register listeners for integrator events 
+    such as when a time step completes or an event was detected. 
+
+*   Significantly improved integrator error handling. Whenever CVODE encounters any
+    error such as numeric instability, the error is written directly to the Roadrunner
+    logging system with exact details about the error. Descriptive exceptions are 
+    now raised detailing the exact source of the error. 
+
+*   cleanup of integrator code. 
+
+*   new distutils based python installation system. We now provide binaries for 
+    32/64 bit Linux (Intel), 64 bit Mac OSX and 32 bit Windows. 
+
+
+
+-- Version 1.0.1
+*   Fixed bug where nested SBML functions were not handled properly. Now
+    it correctly reports when SBML functions are called with invalid 
+    number of args. 
+
+*   Fixed bug where where a log trace message incorrectly created. 
+
+*   Display version info correctly in the command line rr program. 
+
+*   Cache selection types and indices in model.getValue / setValue, 
+    significant improvement in SBML symbol access times. 
+
+*   Fixed memory leaks in Python API, performance improvements in 
+    selections. 
+
+*   New RoadRunner constructor which takes a URI and load options. 
+
+*   Plugins moved to Tellurium project.
+
+*   Added getStateVectorRate and getStateVectorIds to ExecutableModel interface,
+    readily allows roadrunner to be used with external integrators.
+
+*   SBML variable access performance improvements. 
+
+-- Version 1.0.0
+*   Initial release
diff --git a/NOTICE.txt b/NOTICE.txt
new file mode 100644
index 0000000..f0b239b
--- /dev/null
+++ b/NOTICE.txt
@@ -0,0 +1,97 @@
+   libRoadRunner v 1.0.0
+   Copyright 2012-2013 Andy Somogyi, Totte Karlsson, Herbert Sauro
+
+
+This product makes use of the following software packages:
+
+libSBML
+    Copyright (C) 2009-2013 jointly by the following organizations:
+    1. California Institute of Technology, Pasadena, CA, USA
+    2. EMBL European Bioinformatics Institute (EBML-EBI), Hinxton, UK
+    Copyright (C) 2006-2008 by the California Institute of Technology, Pasadena, CA, USA
+    Copyright (C) 2002-2005 jointly by the following organizations: 
+    1. California Institute of Technology, Pasadena, CA, USA
+    2. Japan Science and Technology Agency, Japan
+    Portions of the source code comprising libSBML were copyrighted and contributed 
+    by third parties, and placed under the same LGPL 2.1 license as the rest of 
+    libSBML. The following are their copyright statements:
+    Copyright (C) 2004-2008 by European Media Laboratories Research gGmbH, 
+    Heidelberg, Germany (for the "SBML Layout" code and associated examples.)
+    http://sbml.org/Software/libSBML/LibSBML_License
+    California Institute of Technology, Pasadena, CA, USA and others. 
+
+POCO
+    Distributed under the Boost License
+    http://pocoproject.org/license.html
+
+SUNDIALS
+    Copyright (c) 2002, The Regents of the University of California. 
+    Produced at the Lawrence Livermore National Laboratory.
+    Distributed uner BSD License
+    http://computation.llnl.gov/casc/sundials/download/license.html
+
+NLEQ2
+    KONRAD-ZUSE-ZENTRUM FUR INFORMATIONSTECHNIK (ZIB)
+    BERLIN
+
+     Licence
+       You may use or modify this code for your own non commercial
+       purposes for an unlimited time. In any case you should not deliver 
+       this code without a special permission of ZIB. In case you intend 
+       to use the code commercially, we oblige you to sign an according 
+       licence agreement with ZIB.
+
+    http://www.zib.de/en/numerik/software/ant/nleq2.html   
+
+CLAPACK
+    Copyright (c) 1992-2008 The University of Tennessee.  All rights reserved.
+    Distributed under the modified BSD Licesne
+    http://www.netlib.org/lapack/LICENSE.txt
+
+LMFIT Package
+    Copyrighted by Joachim Wuttke
+    Distributed under the FreeBSD License.
+    http://apps.jcns.fz-juelich.de/doku/sc/lmfit
+
+tcc Tiny C Compiler
+    Copyright (c) 2001-2009 Fabrice Bellard
+    Distributed under the GNU Lesser General Public License.
+    http://bellard.org/tcc/
+
+LibStruct
+    Distributed under the BSD license
+    http://sourceforge.net/p/libstruct/wiki/Home/
+
+LLVM
+    Copyright (c) 2003-2013 University of Illinois at Urbana-Champaign.
+    All rights reserved.
+
+    Developed by:
+        LLVM Team
+        University of Illinois at Urbana-Champaign
+        http://llvm.org
+
+    License:
+        The University of Illinois/NCSA Open Source License
+        http://opensource.org/licenses/UoI-NCSA.php
+
+
+libxml2
+    Copyright (C) 1998-2012 Daniel Veillard.  All Rights Reserved.
+    Distributed under the MIT License;
+    http://www.xmlsoft.org/index.html
+
+libiconv
+    Copyright (C) 2007 Free Software Foundation, Inc.
+    GNU Lesser General Public License version 3
+    http://www.gnu.org/software/libiconv/
+
+zlib
+    Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
+    Distributed under the zlib License http://opensource.org/licenses/Zlib
+    http://zlib.net/
+
+libbzip2
+    Copyright (C) 1996-2010 Julian R Seward. 
+    Distributed under the BSD-style license
+    http://www.bzip.org/
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..0efbb83
--- /dev/null
+++ b/README.md
@@ -0,0 +1,86 @@
+# libRoadRunner
+[![GitHub version](https://badge.fury.io/gh/sys-bio%2Froadrunner.svg)](http://badge.fury.io/gh/sys-bio%2Froadrunner)
+[![Build Status](https://travis-ci.org/sys-bio/roadrunner.svg?branch=develop)](https://travis-ci.org/sys-bio/roadrunner)
+
+Copyright 2013-2016
+
+E. T. Somogyi <sup>1</sup>, J. K. Medley <sup>3</sup>, M. T. Karlsson <sup>2</sup>, M. Swat <sup>1</sup>, M. Galdzicki <sup>3</sup>, K. Choi <sup>3</sup>, W. Copeland <sup>3</sup> and H. M. Sauro <sup>3</sup>
+
+1. Biocomplexity Institute, Indiana University, Simon Hall MSB1, Bloomington, IN 47405
+2. Dune Scientific, 10522 Lake City Way NE, #302 Seattle WA
+3. Department of Bioengineering, University of Washington, Seattle, WA, 98195
+
+## Introduction
+
+libRoadRunner is a high performance and portable simulation engine for systems and synthetic biology.
+
+## Contributing
+
+**IMPORTANT!** Contributors **must** follow the [contribution guidelines](https://github.com/sys-bio/roadrunner/wiki). Contibuters are responsible for complying with the guidelines, including (but not limited to) making commits to the correct branch. Maintainers are not responsible for changes made to the wrong branch. Contributors take full responsibility for ensuring that their changes get merged into the develop branch.
+
+## libRoadRunner supports the following features:
+
+* Time Dependent Simulation (with optional conservation law reduction) using CVODE
+* Supports SBML Level 2 to 3 but currently excludes algebraic rules and delay differential equations
+* Uses latest libSBML distribution
+* Defaults to LLVM code generation on the backend, resulting is very fast simulation times
+* Optional generation of model C code and linking at run-time
+* Add plugins, distribution comes with Levenberg-Marquardt optimizer plugin
+* Compute steady state
+* Metabolic Control Analysis
+* Frequency Domain Analysis
+* Access to:
+  * Eigenvalues and Eigenvectors
+  * Jacobian, full and reduced
+  * Structural Matrices of the stoichiometry matrix
+
+
+## Availability
+
+RoadRunner is licensed for free as an open source programmatic library for use in other 
+applications and as a standalone command line driven application. Its C++ API, C API, and 
+Python APIs have comprehensive documentation. On Windows, OS X, and Linux binary files can be 
+
+downloaded from http://sourceforge.net/projects/libroadrunner/files and can be installed 
+ready for use.
+
+
+## Acknowledgements
+
+This work is funded by NIGMS grant: GM081070
+
+Licence
+
+Licensed under the Apache License, Version 2.0 (the License); you may not use this 
+file except in compliance with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed 
+under the License is distributed on an ÎAS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+OF ANY KIND, either express or implied. See the License for the specific language 
+governing permissions and limitations under the License.
+
+In plain english this means:
+
+You CAN freely download and use this software, in whole or in part, for personal, 
+company internal, or commercial purposes;
+
+You CAN use the software in packages or distributions that you create.
+
+You SHOULD include a copy of the license in any redistribution you may make;
+
+You are NOT required include the source of software, or of any modifications you may 
+have made to it, in any redistribution you may assemble that includes it.
+
+YOU CANNOT: redistribute any piece of this software without proper attribution;
+
+ 
+  
+
+libRoadRunner logo
+
+  The libroadrunner logo is an adaptation of the image originally posted to Flickr by 
+  El Brujo+ at http://flickr.com/photos/11039104@N08/2954808342. It was reviewed on 
+  9 August 2009 by the FlickreviewR robot and was confirmed to be licensed under the 
+  terms of the cc-by-sa-2.0.
diff --git a/VERSION.txt.in b/VERSION.txt.in
new file mode 100644
index 0000000..61b48e8
--- /dev/null
+++ b/VERSION.txt.in
@@ -0,0 +1 @@
+ at ROADRUNNER_VERSION@
diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
new file mode 100644
index 0000000..d9cbdbd
--- /dev/null
+++ b/apps/CMakeLists.txt
@@ -0,0 +1,39 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(Apps)
+set(RR_INCLUDE_ROOT "../source")
+
+# rr Includes
+include_directories(
+${RR_INCLUDE_ROOT}
+${THIRD_PARTY_INSTALL_FOLDER}/include
+${THIRD_PARTY_INSTALL_FOLDER}/include/sbml
+${THIRD_PARTY_INSTALL_FOLDER}/include/cvode
+${THIRD_PARTY_INSTALL_FOLDER}/include/clapack
+)
+
+# Include generated headers
+include_directories(
+${CMAKE_BINARY_DIR}/source
+)
+
+set(apps 	
+	rr
+    rr-sbml-benchmark
+    #         rr_test_suite_tester
+    #        rr_performance_tester
+    )
+
+set(app_dir Apps/cpp)
+
+foreach(app ${apps})
+ 	add_subdirectory(${app})
+#	FILE (GLOB hdrs ${app}/*.h)
+# 	install (FILES ${hdrs} 						DESTINATION ${app_dir}/${app}	COMPONENT example_files)
+#	FILE (GLOB source ${app}/*.cpp)
+# 	install (FILES ${source} 					DESTINATION ${app_dir}/${app}	COMPONENT example_files)
+# 	install (FILES ${app}/Readme.txt 			DESTINATION ${app_dir}/${app}	COMPONENT example_files)
+# 	install (FILES ${app}/CMakeLists.txt 		DESTINATION ${app_dir}/${app}	COMPONENT example_files)
+endforeach(app)
+#
+#install (FILES Readme.txt 			DESTINATION ${app_dir} COMPONENT info)
+#install (FILES CMakeLists.txt 		DESTINATION ${app_dir} COMPONENT example_files)
diff --git a/apps/README.txt b/apps/README.txt
new file mode 100644
index 0000000..e69de29
diff --git a/apps/rr-sbml-benchmark/CMakeLists.txt b/apps/rr-sbml-benchmark/CMakeLists.txt
new file mode 100644
index 0000000..d32657c
--- /dev/null
+++ b/apps/rr-sbml-benchmark/CMakeLists.txt
@@ -0,0 +1,69 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(RR_CXX_API_TESTS)
+
+set(target rr-sbml-benchmark)
+
+set(tests
+    tests/base
+    tests/sbml_test_suite
+    tests/steady_state
+    tests/stoichiometric
+    )
+
+add_executable( ${target}
+    main
+    )
+
+set_property(TARGET ${target}
+    PROPERTY  COMPILE_DEFINITIONS
+    LIBSBML_USE_CPP_NAMESPACE
+    LIBSBML_STATIC
+    STATIC_LIBSTRUCT
+    STATIC_PUGI
+    STATIC_RR
+    STATIC_NLEQ
+    )
+
+link_directories(
+    ${THIRD_PARTY_INSTALL_FOLDER}/lib
+    )
+
+include_directories(
+    src
+    ${RR_ROOT}
+    ${THIRD_PARTY_INSTALL_FOLDER}/include/clapack
+    )
+
+if(UNIX)
+    set(staticLibPrefix ".a")
+    set(sharedLibPrefix ".so")
+else()
+    set(staticLibPrefix "")
+    set(sharedLibPrefix "")
+endif()
+
+if(WIN32)
+    target_link_libraries (${target}
+        roadrunner-static
+        unit_test-static${staticLibPrefix}
+        )
+endif()
+
+if(UNIX)
+    target_link_libraries (${target}
+        roadrunner-static
+        libunit_test-static${staticLibPrefix}
+        lapack
+        blas
+        f2c
+        dl
+        )
+endif()
+
+
+install (TARGETS ${target}
+    DESTINATION bin
+    COMPONENT testing
+    )
+
+
diff --git a/apps/rr-sbml-benchmark/main.cpp b/apps/rr-sbml-benchmark/main.cpp
new file mode 100644
index 0000000..e7764a4
--- /dev/null
+++ b/apps/rr-sbml-benchmark/main.cpp
@@ -0,0 +1,180 @@
+// Roadrunner sbml test program which takes the same argument format as
+// COPASIs and does the same thing.
+//
+// basically all this program does is read the config from the sbml test
+// suite and dump out a csv of the results, nothing more.
+// the actuall RoadRunner sbml test suite does much more as it
+// also generates a formated report and compares results to
+// the sbml test suite.
+
+// Copyright (C) 2013 Andy Somogyi
+// Indiana University, University of Washington
+
+#include "rrRoadRunner.h"
+#include "rrRoadRunnerOptions.h"
+
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <list>
+#include <sstream>
+#include <set>
+#include <stdlib.h>
+
+using namespace rr;
+using namespace std;
+using ls::DoubleMatrix;
+
+// copasi test suite called like
+// ./sbml-testsuite ~/src/sbml_test/cases/semantic 00221 ~/tmp/copasi 2 4
+
+int main(int argc, char** argv)
+{
+    std::string in_dir;
+    std::string out_dir;
+    std::string test_name;
+    unsigned int level = 0;
+    unsigned int version = 0;
+    double start_time = 0.0;
+    double duration = 0.0;
+    std::list<std::string> variables;
+    std::set<std::string> amounts;
+    std::set<std::string> concentrations;
+    double absolute_error = 0.0;
+    double relative_error = 0.0;
+
+
+    if (argc < 6)
+    {
+        std::cerr << "Usage: rr-sbml-benchmrk INPUT_DIRECTORY TESTNAME OUTPUTDIRECTORY SBMLLEVEL SBMLVERSION [steps override] [durration] [compiler] [-stiff]" << std::endl;
+        exit(1);
+    }
+
+    in_dir = argv[1];
+    test_name = argv[2];
+    out_dir = argv[3];
+    level = strtol(argv[4], NULL, 10);
+    version = strtol(argv[5], NULL, 10);
+
+    if (level < 1 || level > 3)
+    {
+        std::cerr << "SBML Level " << level << " Version " << version << " not supported." << std::endl;
+        exit(1);
+    }
+
+    if (level == 1 && (version < 1 || version > 2))
+    {
+        std::cerr << "SBML Level " << level << " Version " << version << " not supported." << std::endl;
+        exit(1);
+    }
+
+    std::ostringstream os;
+    os << in_dir << "/" << test_name << "/" << test_name << "-settings.txt";
+    // open the settings file and parse it
+    std::cout << "parsing file: " << os.str() << std::endl;
+    std::ifstream f;
+
+    std::string settingsFile = in_dir + "/" + test_name + "/" + test_name + "-settings.txt";
+    std::string sbmlFile;
+
+    {
+        stringstream os;
+        os << in_dir << "/" << test_name << "/" << test_name << "-sbml-l" << level << "v" << version << ".xml";
+        sbmlFile = os.str();
+    }
+
+    std::string output_filename;
+    if (!out_dir.empty() || out_dir.compare("/dev/null") != 0)
+    {
+        stringstream os;
+        os.str("");
+        os << out_dir << "/" << test_name << ".csv";
+        output_filename = os.str();
+    }
+
+    RoadRunner roadRunner;
+
+    LoadSBMLOptions opt;
+
+    // don't generate cache for models
+    opt.modelGeneratorOpt = opt.modelGeneratorOpt | LoadSBMLOptions::RECOMPILE;
+
+    // no mutable initial conditions
+    opt.modelGeneratorOpt = opt.modelGeneratorOpt & ~LoadSBMLOptions::MUTABLE_INITIAL_CONDITIONS;
+
+    // read only model
+    opt.modelGeneratorOpt = opt.modelGeneratorOpt | LoadSBMLOptions::READ_ONLY;
+
+    opt.modelGeneratorOpt = opt.modelGeneratorOpt | LoadSBMLOptions::OPTIMIZE_CFG_SIMPLIFICATION;
+
+    opt.modelGeneratorOpt = opt.modelGeneratorOpt | LoadSBMLOptions::OPTIMIZE_GVN;
+
+
+    std::cout << "loading file: " << sbmlFile << std::endl;
+    roadRunner.load(sbmlFile, &opt);
+
+	SimulateOptions settings;
+	settings.loadSBMLSettings(settingsFile);
+
+    // override steps
+    if (argc > 6)
+    {
+        int steps = strtol(argv[6], NULL, 0);
+        if (steps > 0) {
+            settings.steps = steps;
+        }
+    }
+
+    if (argc > 7)
+    {
+        double dur = atof(argv[7]);
+        if (dur > 0) {
+            settings.duration = dur;
+        }
+    }
+
+    for (int i = 0; i < argc; ++i) {
+        if (string(argv[i]).find("stiff") != string::npos) {
+			roadRunner.getIntegrator()->setValue("stiff", true);
+        }
+    }
+
+    std::cout << "running for " << settings.steps << ", duration " << settings.duration << std::endl;
+
+    std::cout << "absolute: " << roadRunner.getIntegrator()->getValue("absolute_tolerance").convert<bool>() << std::endl;
+	std::cout << "relative: " << roadRunner.getIntegrator()->getValue("relative_tolerance").convert<bool>() << std::endl;
+
+	std::cout << "stiff: " << (roadRunner.getIntegrator()->getValue("stiff").convert<bool>() ? "True" : "False") << std::endl;
+
+    roadRunner.setSimulateOptions(settings);
+
+    const DoubleMatrix& result = *roadRunner.simulate(0);
+
+    if (!output_filename.empty())
+    {
+        ofstream output;
+        output.open(output_filename.c_str());
+
+        int rows = result.numRows();
+        int cols = result.numCols();
+
+        for (int i = 0; i < rows; ++i)
+        {
+            for (int j = 0; j < cols; ++j)
+            {
+                output << result(i, j);
+
+                if (j + 1 < cols)
+                {
+                    output << ", ";
+                }
+                else
+                {
+                    output << "\n";
+                }
+            }
+        }
+    }
+
+    return 0;
+}
diff --git a/apps/rr/Args.cpp b/apps/rr/Args.cpp
new file mode 100644
index 0000000..4072682
--- /dev/null
+++ b/apps/rr/Args.cpp
@@ -0,0 +1,55 @@
+#pragma hdrstop
+#include <iomanip>
+#include <sstream>
+#include "Args.h"
+#include "rrVersionInfo.h"
+#include "rrConfig.h"
+
+using namespace std;
+
+Args::Args()
+:
+UseOSTempFolder(false),
+OnlyCompile(false),
+Pause(false),
+CurrentLogLevel(rr::Logger::LOG_WARNING),
+ModelFileName(""),
+DataOutputFolder(""),
+TempDataFolder("."),
+StartTime(0),
+Duration(5),
+EndTime(StartTime + Duration),
+Steps(50),
+SelectionList(""),
+variableStep(false)
+{}
+
+string Usage(const string& prg)
+{
+    Args args;
+    stringstream usage;
+    usage<< "rr.exe is a command line driven SBML simulator\n\n";
+    usage << "\nUSAGE for "<<prg<<"\n\n";
+    usage<<left;
+    usage<<setfill('.');
+    usage<<setw(25)<<"-v<debug level>"              <<" Debug levels: Error, Warning, Info, Debug. Default: Info\n";
+    usage<<setw(25)<<"-m<FileName>"                 <<" SBML Model File Name (with path)\n";
+    usage<<setw(25)<<"-o<FileName>"                 <<" FileName for data output \n";
+    usage<<setw(25)<<"-d<FilePath>"                 <<" Data output directory. If not given, data is output to current directory (implies -f is given)\n";
+    usage<<setw(25)<<"-t<FilePath>"                 <<" Temporary data output directory. If not given, temp files are output to current directory\n";
+    usage<<setw(25)<<"-p"                           <<" Pause before exiting.\n";
+    usage<<setw(25)<<"-c"                           <<" Stop execution after compiling model\n";
+    usage<<setw(25)<<"-u"                           <<" Use users OS designated temporary directory\n";
+    usage<<setw(25)<<"-s<#>"                        <<" Set the start time for simulation. Default: 0\n";
+    usage<<setw(25)<<"-e<#>"                        <<" Set the end time for simulation. Default: 5\n";
+    usage<<setw(25)<<"-z<#>"                        <<" Set number of steps in the simulation. Default: 50\n";
+    usage<<setw(25)<<"-l<List>"                     <<" Set selection list. Separate variables using ',' or space\n";
+    usage<<setw(25)<<"-version"                     <<" Prints the current version.\n\n";
+    usage<<setw(25)<<"-x"                           <<" Enables variable step mode.\n\n";
+    usage<<setw(25)<<"-? "                          <<" Shows the help screen.\n\n";
+
+    usage << "Version: " << rr::getVersionStr() << std::endl;
+    usage << "config file: " << rr::Config::getConfigFilePath() << endl;
+    return usage.str();
+}
+
diff --git a/apps/rr/Args.h b/apps/rr/Args.h
new file mode 100644
index 0000000..3bab09f
--- /dev/null
+++ b/apps/rr/Args.h
@@ -0,0 +1,30 @@
+#ifndef CommandLineParametersH
+#define CommandLineParametersH
+#include <string>
+#include "rrLogger.h"
+
+using std::string;
+
+string Usage(const string& prg);
+class Args
+{
+public:
+    Args();
+    virtual                        ~Args(){}
+    rr::Logger::Level               CurrentLogLevel;    //option v:
+    string                          ModelFileName;      //option m:
+    string                          OutputFileName;     //option o
+    string                          DataOutputFolder;   //option d:
+    string                          TempDataFolder;     //option t:
+    bool                            Pause;              //option p
+    bool                            OnlyCompile;        //option c
+    bool                            UseOSTempFolder;    //option u
+    double                          StartTime;          //option s
+    double                          Duration;
+    double                          EndTime;            //option e
+    int                             Steps;              //option z
+    string                          SelectionList;      //option l:
+    bool variableStep;
+};
+
+#endif
diff --git a/apps/rr/CMakeLists.txt b/apps/rr/CMakeLists.txt
new file mode 100644
index 0000000..c5274d8
--- /dev/null
+++ b/apps/rr/CMakeLists.txt
@@ -0,0 +1,52 @@
+cmake_minimum_required(VERSION 2.8)
+set(target rr)
+
+add_executable(${target} 
+main.cpp 
+Args.cpp
+)
+
+add_definitions(
+-DPOCO_STATIC
+-DSTATIC_PUGI
+-DLIBSBML_STATIC 
+#-DSTATIC_RR
+-DSTATIC_LIBSTRUCT
+-DLIBLAX_STATIC  
+-DSTATIC_NLEQ
+)
+
+if(WIN32)
+add_definitions(
+-DWIN32
+)
+
+target_link_libraries (${target} 
+#roadrunner-static
+roadrunner
+)
+endif()
+
+#Not sure why linux linker need all libraries at linktime?? All symbols 'should' be in roadrunner-static
+if(UNIX)
+target_link_libraries (${target} 
+roadrunner-static
+nleq-static.a
+rr-libstruct-static
+lapack
+blas
+f2c
+${LIBSBML_STATIC_LIBRARY}
+xml2
+sundials_nvecserial.a
+sundials_cvode.a
+pthread
+dl
+)
+endif()
+
+
+install (TARGETS ${target} 		
+DESTINATION bin 
+COMPONENT apps
+)
diff --git a/apps/rr/README.txt b/apps/rr/README.txt
new file mode 100644
index 0000000..e4976d8
--- /dev/null
+++ b/apps/rr/README.txt
@@ -0,0 +1,3 @@
+This folder contain sources for the roadrunner commandline executable, rr.exe.
+
+The application was written by Totte Karlsson at University of Washington, totte at dunescientific.com
\ No newline at end of file
diff --git a/apps/rr/autolink.cpp b/apps/rr/autolink.cpp
new file mode 100644
index 0000000..7bf4ba6
--- /dev/null
+++ b/apps/rr/autolink.cpp
@@ -0,0 +1,22 @@
+//We only need to give the linker the folder where libs are
+//using the pragma comment. Works for MSVC and codegear
+
+    #if defined(STATIC_APP)
+        #pragma comment(lib, "roadrunner-static.lib")
+    #else
+        #pragma comment(lib, "roadrunner.lib")
+    #endif
+
+    #pragma comment(lib, "rr-libstruct-static.lib")
+    #pragma comment(lib, "libsbml-static.lib")
+    #pragma comment(lib, "sundials_cvode.lib")
+    #pragma comment(lib, "sundials_nvecserial.lib")
+    #pragma comment(lib, "libxml2_xe.lib")
+    #pragma comment(lib, "blas.lib")
+    #pragma comment(lib, "lapack.lib")
+    #pragma comment(lib, "libf2c.lib")
+    #pragma comment(lib, "poco_foundation-static.lib")
+    #pragma comment(lib, "nleq-static.lib")
+
+
+
diff --git a/apps/rr/main.cpp b/apps/rr/main.cpp
new file mode 100644
index 0000000..6119d9e
--- /dev/null
+++ b/apps/rr/main.cpp
@@ -0,0 +1,150 @@
+#include "rrLogger.h"
+#include "rrRoadRunner.h"
+#include "rrException.h"
+#include "rrUtils.h"
+#include "rrGetOptions.h"
+#include "Args.h"
+#include "Integrator.h"
+#include "rrVersionInfo.h"
+
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <iomanip>
+#include <stdexcept>
+
+
+
+#if defined(_MSVER)
+#include <direct.h>
+#endif
+
+
+
+using namespace std;
+using namespace rr;
+
+void ProcessCommandLineArguments(int argc, char* argv[], Args& args);
+int main(int argc, char * argv[])
+{
+    string settingsFile;
+    bool doContinue = true;
+    Args args;
+    try
+    {
+        Logger::enableConsoleLogging();
+
+        if(argc < 2)
+        {
+            cout<<Usage(argv[0])<<endl;
+            exit(0);
+        }
+
+        ProcessCommandLineArguments(argc, argv, args);
+
+        Logger::setLevel(args.CurrentLogLevel);
+
+        string thisExeFolder = getCurrentExeFolder();
+        Log(Logger::LOG_DEBUG) << "RoadRunner bin location is: " << thisExeFolder;
+
+        if(args.ModelFileName.size())
+        {
+            string logName = getFileName(args.ModelFileName);
+            logName = changeFileExtensionTo(logName, ".log");
+        }
+        else
+        {
+            Logger::enableConsoleLogging(Logger::getLevel());
+        }
+
+        Log(Logger::LOG_INFORMATION) << "Current Log level is:"
+        		<< Logger::getCurrentLevelAsString();
+
+        if(!args.ModelFileName.size())
+        {
+            Log(lInfo)<<"Please supply a sbml model file name, using option -m<modelfilename>";
+            exit(0);
+        }
+
+        //Creating roadrunner
+        Log(Logger::LOG_DEBUG) << "Creating RoadRunner..." << endl;
+        RoadRunner rr(args.ModelFileName);
+
+        SimulateOptions& opt = rr.getSimulateOptions();
+        opt.start = args.StartTime;
+        opt.duration = args.EndTime - args.StartTime;
+        opt.steps = args.Steps;
+        if(args.variableStep) 
+		{
+			rr.getIntegrator()->setValue("variable_step_size", true);
+        }
+
+        ls::DoubleMatrix res = *rr.simulate();
+
+        if(args.OutputFileName.size() >  0)
+        {
+        	ofstream os(args.OutputFileName.c_str());
+        	os << res;
+        }
+        else
+        {
+        	cout << res;
+        }
+    }
+    catch(std::exception& ex)
+    {
+    	Log(Logger::LOG_ERROR) << ex.what() << endl;
+    }
+
+
+    return 0;
+}
+
+void ProcessCommandLineArguments(int argc, char* argv[], Args& args)
+{
+    char c;
+
+    while ((c = GetOptions(argc, argv, (const char*) ("xcpuo:v:n:d:t:l:m:s:e:z:"))) != -1)
+    {
+        switch (c)
+        {
+            case ('v'):
+                if(string(rrOptArg) == "ersion" ) //hack to get rr -version working :)
+                {
+                    cout << "Version: " << rr::getVersionStr() << std::endl;
+                    exit(-1);
+                }
+                else
+                {
+                    args.CurrentLogLevel                = Logger::stringToLevel(rrOptArg);
+                }
+                break;
+            case ('c'): args.OnlyCompile                    = true;                                break;
+            case ('x'): args.variableStep                   = true;                                break;
+            case ('p'): args.Pause                          = true;                                break;
+            case ('t'): args.TempDataFolder                 = rrOptArg;                            break;
+            case ('d'): args.DataOutputFolder               = rrOptArg;                            break;
+            case ('m'): args.ModelFileName                  = rrOptArg;                            break;
+            case ('u'): args.UseOSTempFolder                = true;                                break;
+            case ('l'): args.SelectionList                  = rrOptArg;                            break;
+            case ('s'): args.StartTime                      = toDouble(rrOptArg);                  break;
+            case ('e'): args.EndTime                        = toDouble(rrOptArg);                  break;
+            case ('z'): args.Steps                          = toInt(rrOptArg);                     break;
+            case ('o'): args.OutputFileName                 = rrOptArg;                            break;
+            case ('?'):
+            {
+                    cout<<Usage(argv[0])<<endl;
+                    exit(-1);
+            }
+            default:
+            {
+                string str = argv[rrOptInd-1];
+                if(str != "-?")
+                {
+                    cout<<"*** Illegal option:\t"<<argv[rrOptInd-1]<<" ***\n"<<endl;
+                }
+                exit(-1);
+            }
+        }
+    }
+}
diff --git a/assets/roadrunner-64x64-red.png b/assets/roadrunner-64x64-red.png
new file mode 100644
index 0000000..2a492a9
Binary files /dev/null and b/assets/roadrunner-64x64-red.png differ
diff --git a/autotest/CMakeLists.txt b/autotest/CMakeLists.txt
new file mode 100644
index 0000000..49fa817
--- /dev/null
+++ b/autotest/CMakeLists.txt
@@ -0,0 +1,37 @@
+# == PREAMBLE ================================================
+# * Licensed under the Apache License, Version 2.0; see README
+
+# == FILEDOC =================================================
+
+# @file autotest/CMakeLists.txt
+# @author JKM(0u812)
+# @date 07/01/2015
+# @copyright Apache License, Version 2.0
+# @brief Unit tests
+# @details Tests can be run via ctest -VV
+
+# compiled test suite, including SBML benchmark
+add_subdirectory(compiled-test-suite)
+
+if(BUILD_PYTHON)
+  # performance benchmark (adapted from published benchmark in bioinformatics, 2015)
+  file(COPY python-benchmark-bioinf DESTINATION .)
+
+  # update when source changes
+  configure_file(python-benchmark-bioinf/rr_bench_ode.py
+    ${CMAKE_CURRENT_BINARY_DIR}/python-benchmark-bioinf/rr_bench_ode.py COPYONLY)
+
+  add_test(NAME PythonBenchmarkODEBioinf2015
+    COMMAND ${PYTHON_EXECUTABLE} rr_bench_ode.py
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/python-benchmark-bioinf)
+  set_tests_properties(PythonBenchmarkODEBioinf2015 PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/lib/site-packages:$PYTHONPATH")
+
+  # update when source changes
+  configure_file(python-unit-tests/run.py
+    ${CMAKE_CURRENT_BINARY_DIR}/python-unit-tests/run.py COPYONLY)
+
+  add_test(NAME PythonUnitTests
+    COMMAND ${PYTHON_EXECUTABLE} run.py
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/python-unit-tests)
+  set_tests_properties(PythonUnitTests PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/lib/site-packages:$PYTHONPATH")
+endif()
\ No newline at end of file
diff --git a/autotest/compiled-test-suite/CMakeLists.txt b/autotest/compiled-test-suite/CMakeLists.txt
new file mode 100644
index 0000000..20e0266
--- /dev/null
+++ b/autotest/compiled-test-suite/CMakeLists.txt
@@ -0,0 +1,19 @@
+# == PREAMBLE ================================================
+# * Licensed under the Apache License, Version 2.0; see README
+
+# == FILEDOC =================================================
+
+# @file autotest/CMakeLists.txt
+# @author JKM(0u812)
+# @date 11/17/2015
+# @copyright Apache License, Version 2.0
+# @brief Compiled unit tests
+
+if(WIN32)
+  set(RUN_TEST_SUITE_EXE_NAME "run_test_suite.exe")
+else()
+  set(RUN_TEST_SUITE_EXE_NAME "run_test_suite")
+endif()
+
+add_test(NAME CompiledTestSuite
+  COMMAND ${CMAKE_BINARY_DIR}/bin/${RUN_TEST_SUITE_EXE_NAME} -c llvm -m ${CMAKE_SOURCE_DIR}/models/sbml-test-suite -r results.xml >log 2>&1)
\ No newline at end of file
diff --git a/autotest/python-benchmark-bioinf/00001/00001-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00001/00001-sbml-l2v4.xml
new file mode 100644
index 0000000..65f234e
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00001/00001-sbml-l2v4.xml
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/00002/00002-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00002/00002-sbml-l2v4.xml
new file mode 100644
index 0000000..102ac57
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00002/00002-sbml-l2v4.xml
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="2"/>
+          <speciesReference species="Y2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X2 </ci>
+              <ci> X2 </ci>
+              <ci> Y2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X2 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/00050/00050-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00050/00050-sbml-l2v4.xml
new file mode 100644
index 0000000..e2b9b87
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00050/00050-sbml-l2v4.xml
@@ -0,0 +1,3725 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="2"/>
+          <speciesReference species="Y2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X2 </ci>
+              <ci> X2 </ci>
+              <ci> Y2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X2 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3" stoichiometry="2"/>
+          <speciesReference species="Y3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X3 </ci>
+              <ci> X3 </ci>
+              <ci> Y3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X3 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4" stoichiometry="2"/>
+          <speciesReference species="Y4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X4 </ci>
+              <ci> X4 </ci>
+              <ci> Y4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X4 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5" stoichiometry="2"/>
+          <speciesReference species="Y5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X5 </ci>
+              <ci> X5 </ci>
+              <ci> Y5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X5 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6" stoichiometry="2"/>
+          <speciesReference species="Y6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X6 </ci>
+              <ci> X6 </ci>
+              <ci> Y6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X6 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7" stoichiometry="2"/>
+          <speciesReference species="Y7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X7 </ci>
+              <ci> X7 </ci>
+              <ci> Y7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X7 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8" stoichiometry="2"/>
+          <speciesReference species="Y8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X8 </ci>
+              <ci> X8 </ci>
+              <ci> Y8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X8 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9" stoichiometry="2"/>
+          <speciesReference species="Y9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X9 </ci>
+              <ci> X9 </ci>
+              <ci> Y9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X9 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10" stoichiometry="2"/>
+          <speciesReference species="Y10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X10 </ci>
+              <ci> X10 </ci>
+              <ci> Y10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X10 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11" stoichiometry="2"/>
+          <speciesReference species="Y11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X11 </ci>
+              <ci> X11 </ci>
+              <ci> Y11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X11 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12" stoichiometry="2"/>
+          <speciesReference species="Y12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X12 </ci>
+              <ci> X12 </ci>
+              <ci> Y12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X12 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13" stoichiometry="2"/>
+          <speciesReference species="Y13"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X13 </ci>
+              <ci> X13 </ci>
+              <ci> Y13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X13 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14" stoichiometry="2"/>
+          <speciesReference species="Y14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X14 </ci>
+              <ci> X14 </ci>
+              <ci> Y14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X14 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15" stoichiometry="2"/>
+          <speciesReference species="Y15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X15 </ci>
+              <ci> X15 </ci>
+              <ci> Y15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X15 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16" stoichiometry="2"/>
+          <speciesReference species="Y16"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X16 </ci>
+              <ci> X16 </ci>
+              <ci> Y16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X16 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17" stoichiometry="2"/>
+          <speciesReference species="Y17"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X17 </ci>
+              <ci> X17 </ci>
+              <ci> Y17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X17 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18" stoichiometry="2"/>
+          <speciesReference species="Y18"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X18 </ci>
+              <ci> X18 </ci>
+              <ci> Y18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X18 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19" stoichiometry="2"/>
+          <speciesReference species="Y19"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X19 </ci>
+              <ci> X19 </ci>
+              <ci> Y19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X19 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20" stoichiometry="2"/>
+          <speciesReference species="Y20"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X20 </ci>
+              <ci> X20 </ci>
+              <ci> Y20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X20 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21" stoichiometry="2"/>
+          <speciesReference species="Y21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X21 </ci>
+              <ci> X21 </ci>
+              <ci> Y21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X21 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22" stoichiometry="2"/>
+          <speciesReference species="Y22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X22 </ci>
+              <ci> X22 </ci>
+              <ci> Y22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X22 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23" stoichiometry="2"/>
+          <speciesReference species="Y23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X23 </ci>
+              <ci> X23 </ci>
+              <ci> Y23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X23 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24" stoichiometry="2"/>
+          <speciesReference species="Y24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X24 </ci>
+              <ci> X24 </ci>
+              <ci> Y24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X24 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25" stoichiometry="2"/>
+          <speciesReference species="Y25"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X25 </ci>
+              <ci> X25 </ci>
+              <ci> Y25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X25 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26" stoichiometry="2"/>
+          <speciesReference species="Y26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X26 </ci>
+              <ci> X26 </ci>
+              <ci> Y26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X26 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27" stoichiometry="2"/>
+          <speciesReference species="Y27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X27 </ci>
+              <ci> X27 </ci>
+              <ci> Y27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X27 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28" stoichiometry="2"/>
+          <speciesReference species="Y28"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X28 </ci>
+              <ci> X28 </ci>
+              <ci> Y28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X28 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29" stoichiometry="2"/>
+          <speciesReference species="Y29"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X29 </ci>
+              <ci> X29 </ci>
+              <ci> Y29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X29 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30" stoichiometry="2"/>
+          <speciesReference species="Y30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X30 </ci>
+              <ci> X30 </ci>
+              <ci> Y30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X30 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31" stoichiometry="2"/>
+          <speciesReference species="Y31"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X31 </ci>
+              <ci> X31 </ci>
+              <ci> Y31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X31 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32" stoichiometry="2"/>
+          <speciesReference species="Y32"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X32 </ci>
+              <ci> X32 </ci>
+              <ci> Y32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X32 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33" stoichiometry="2"/>
+          <speciesReference species="Y33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X33 </ci>
+              <ci> X33 </ci>
+              <ci> Y33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X33 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34" stoichiometry="2"/>
+          <speciesReference species="Y34"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X34 </ci>
+              <ci> X34 </ci>
+              <ci> Y34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X34 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35" stoichiometry="2"/>
+          <speciesReference species="Y35"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X35 </ci>
+              <ci> X35 </ci>
+              <ci> Y35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X35 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36" stoichiometry="2"/>
+          <speciesReference species="Y36"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X36 </ci>
+              <ci> X36 </ci>
+              <ci> Y36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X36 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37" stoichiometry="2"/>
+          <speciesReference species="Y37"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X37 </ci>
+              <ci> X37 </ci>
+              <ci> Y37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X37 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38" stoichiometry="2"/>
+          <speciesReference species="Y38"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X38 </ci>
+              <ci> X38 </ci>
+              <ci> Y38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X38 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39" stoichiometry="2"/>
+          <speciesReference species="Y39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X39 </ci>
+              <ci> X39 </ci>
+              <ci> Y39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X39 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40" stoichiometry="2"/>
+          <speciesReference species="Y40"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X40 </ci>
+              <ci> X40 </ci>
+              <ci> Y40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X40 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41" stoichiometry="2"/>
+          <speciesReference species="Y41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X41 </ci>
+              <ci> X41 </ci>
+              <ci> Y41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X41 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42" stoichiometry="2"/>
+          <speciesReference species="Y42"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X42 </ci>
+              <ci> X42 </ci>
+              <ci> Y42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X42 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43" stoichiometry="2"/>
+          <speciesReference species="Y43"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X43 </ci>
+              <ci> X43 </ci>
+              <ci> Y43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X43 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44" stoichiometry="2"/>
+          <speciesReference species="Y44"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X44 </ci>
+              <ci> X44 </ci>
+              <ci> Y44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X44 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45" stoichiometry="2"/>
+          <speciesReference species="Y45"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X45 </ci>
+              <ci> X45 </ci>
+              <ci> Y45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X45 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46" stoichiometry="2"/>
+          <speciesReference species="Y46"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X46 </ci>
+              <ci> X46 </ci>
+              <ci> Y46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X46 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47" stoichiometry="2"/>
+          <speciesReference species="Y47"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X47 </ci>
+              <ci> X47 </ci>
+              <ci> Y47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X47 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48" stoichiometry="2"/>
+          <speciesReference species="Y48"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X48 </ci>
+              <ci> X48 </ci>
+              <ci> Y48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X48 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49" stoichiometry="2"/>
+          <speciesReference species="Y49"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X49 </ci>
+              <ci> X49 </ci>
+              <ci> Y49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X49 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50" stoichiometry="2"/>
+          <speciesReference species="Y50"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X50 </ci>
+              <ci> X50 </ci>
+              <ci> Y50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X50 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/00100/00100-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00100/00100-sbml-l2v4.xml
new file mode 100644
index 0000000..804962a
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00100/00100-sbml-l2v4.xml
@@ -0,0 +1,7325 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="2"/>
+          <speciesReference species="Y2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X2 </ci>
+              <ci> X2 </ci>
+              <ci> Y2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X2 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3" stoichiometry="2"/>
+          <speciesReference species="Y3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X3 </ci>
+              <ci> X3 </ci>
+              <ci> Y3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X3 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4" stoichiometry="2"/>
+          <speciesReference species="Y4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X4 </ci>
+              <ci> X4 </ci>
+              <ci> Y4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X4 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5" stoichiometry="2"/>
+          <speciesReference species="Y5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X5 </ci>
+              <ci> X5 </ci>
+              <ci> Y5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X5 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6" stoichiometry="2"/>
+          <speciesReference species="Y6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X6 </ci>
+              <ci> X6 </ci>
+              <ci> Y6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X6 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7" stoichiometry="2"/>
+          <speciesReference species="Y7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X7 </ci>
+              <ci> X7 </ci>
+              <ci> Y7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X7 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8" stoichiometry="2"/>
+          <speciesReference species="Y8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X8 </ci>
+              <ci> X8 </ci>
+              <ci> Y8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X8 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9" stoichiometry="2"/>
+          <speciesReference species="Y9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X9 </ci>
+              <ci> X9 </ci>
+              <ci> Y9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X9 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10" stoichiometry="2"/>
+          <speciesReference species="Y10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X10 </ci>
+              <ci> X10 </ci>
+              <ci> Y10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X10 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11" stoichiometry="2"/>
+          <speciesReference species="Y11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X11 </ci>
+              <ci> X11 </ci>
+              <ci> Y11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X11 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12" stoichiometry="2"/>
+          <speciesReference species="Y12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X12 </ci>
+              <ci> X12 </ci>
+              <ci> Y12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X12 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13" stoichiometry="2"/>
+          <speciesReference species="Y13"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X13 </ci>
+              <ci> X13 </ci>
+              <ci> Y13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X13 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14" stoichiometry="2"/>
+          <speciesReference species="Y14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X14 </ci>
+              <ci> X14 </ci>
+              <ci> Y14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X14 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15" stoichiometry="2"/>
+          <speciesReference species="Y15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X15 </ci>
+              <ci> X15 </ci>
+              <ci> Y15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X15 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16" stoichiometry="2"/>
+          <speciesReference species="Y16"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X16 </ci>
+              <ci> X16 </ci>
+              <ci> Y16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X16 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17" stoichiometry="2"/>
+          <speciesReference species="Y17"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X17 </ci>
+              <ci> X17 </ci>
+              <ci> Y17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X17 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18" stoichiometry="2"/>
+          <speciesReference species="Y18"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X18 </ci>
+              <ci> X18 </ci>
+              <ci> Y18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X18 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19" stoichiometry="2"/>
+          <speciesReference species="Y19"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X19 </ci>
+              <ci> X19 </ci>
+              <ci> Y19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X19 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20" stoichiometry="2"/>
+          <speciesReference species="Y20"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X20 </ci>
+              <ci> X20 </ci>
+              <ci> Y20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X20 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21" stoichiometry="2"/>
+          <speciesReference species="Y21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X21 </ci>
+              <ci> X21 </ci>
+              <ci> Y21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X21 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22" stoichiometry="2"/>
+          <speciesReference species="Y22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X22 </ci>
+              <ci> X22 </ci>
+              <ci> Y22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X22 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23" stoichiometry="2"/>
+          <speciesReference species="Y23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X23 </ci>
+              <ci> X23 </ci>
+              <ci> Y23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X23 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24" stoichiometry="2"/>
+          <speciesReference species="Y24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X24 </ci>
+              <ci> X24 </ci>
+              <ci> Y24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X24 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25" stoichiometry="2"/>
+          <speciesReference species="Y25"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X25 </ci>
+              <ci> X25 </ci>
+              <ci> Y25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X25 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26" stoichiometry="2"/>
+          <speciesReference species="Y26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X26 </ci>
+              <ci> X26 </ci>
+              <ci> Y26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X26 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27" stoichiometry="2"/>
+          <speciesReference species="Y27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X27 </ci>
+              <ci> X27 </ci>
+              <ci> Y27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X27 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28" stoichiometry="2"/>
+          <speciesReference species="Y28"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X28 </ci>
+              <ci> X28 </ci>
+              <ci> Y28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X28 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29" stoichiometry="2"/>
+          <speciesReference species="Y29"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X29 </ci>
+              <ci> X29 </ci>
+              <ci> Y29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X29 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30" stoichiometry="2"/>
+          <speciesReference species="Y30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X30 </ci>
+              <ci> X30 </ci>
+              <ci> Y30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X30 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31" stoichiometry="2"/>
+          <speciesReference species="Y31"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X31 </ci>
+              <ci> X31 </ci>
+              <ci> Y31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X31 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32" stoichiometry="2"/>
+          <speciesReference species="Y32"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X32 </ci>
+              <ci> X32 </ci>
+              <ci> Y32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X32 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33" stoichiometry="2"/>
+          <speciesReference species="Y33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X33 </ci>
+              <ci> X33 </ci>
+              <ci> Y33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X33 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34" stoichiometry="2"/>
+          <speciesReference species="Y34"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X34 </ci>
+              <ci> X34 </ci>
+              <ci> Y34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X34 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35" stoichiometry="2"/>
+          <speciesReference species="Y35"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X35 </ci>
+              <ci> X35 </ci>
+              <ci> Y35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X35 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36" stoichiometry="2"/>
+          <speciesReference species="Y36"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X36 </ci>
+              <ci> X36 </ci>
+              <ci> Y36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X36 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37" stoichiometry="2"/>
+          <speciesReference species="Y37"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X37 </ci>
+              <ci> X37 </ci>
+              <ci> Y37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X37 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38" stoichiometry="2"/>
+          <speciesReference species="Y38"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X38 </ci>
+              <ci> X38 </ci>
+              <ci> Y38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X38 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39" stoichiometry="2"/>
+          <speciesReference species="Y39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X39 </ci>
+              <ci> X39 </ci>
+              <ci> Y39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X39 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40" stoichiometry="2"/>
+          <speciesReference species="Y40"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X40 </ci>
+              <ci> X40 </ci>
+              <ci> Y40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X40 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41" stoichiometry="2"/>
+          <speciesReference species="Y41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X41 </ci>
+              <ci> X41 </ci>
+              <ci> Y41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X41 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42" stoichiometry="2"/>
+          <speciesReference species="Y42"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X42 </ci>
+              <ci> X42 </ci>
+              <ci> Y42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X42 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43" stoichiometry="2"/>
+          <speciesReference species="Y43"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X43 </ci>
+              <ci> X43 </ci>
+              <ci> Y43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X43 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44" stoichiometry="2"/>
+          <speciesReference species="Y44"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X44 </ci>
+              <ci> X44 </ci>
+              <ci> Y44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X44 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45" stoichiometry="2"/>
+          <speciesReference species="Y45"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X45 </ci>
+              <ci> X45 </ci>
+              <ci> Y45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X45 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46" stoichiometry="2"/>
+          <speciesReference species="Y46"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X46 </ci>
+              <ci> X46 </ci>
+              <ci> Y46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X46 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47" stoichiometry="2"/>
+          <speciesReference species="Y47"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X47 </ci>
+              <ci> X47 </ci>
+              <ci> Y47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X47 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48" stoichiometry="2"/>
+          <speciesReference species="Y48"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X48 </ci>
+              <ci> X48 </ci>
+              <ci> Y48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X48 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49" stoichiometry="2"/>
+          <speciesReference species="Y49"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X49 </ci>
+              <ci> X49 </ci>
+              <ci> Y49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X49 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50" stoichiometry="2"/>
+          <speciesReference species="Y50"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X50 </ci>
+              <ci> X50 </ci>
+              <ci> Y50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X50 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51" stoichiometry="2"/>
+          <speciesReference species="Y51"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X51 </ci>
+              <ci> X51 </ci>
+              <ci> Y51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X51 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52" stoichiometry="2"/>
+          <speciesReference species="Y52"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X52 </ci>
+              <ci> X52 </ci>
+              <ci> Y52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X52 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53" stoichiometry="2"/>
+          <speciesReference species="Y53"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X53 </ci>
+              <ci> X53 </ci>
+              <ci> Y53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X53 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54" stoichiometry="2"/>
+          <speciesReference species="Y54"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X54 </ci>
+              <ci> X54 </ci>
+              <ci> Y54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X54 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55" stoichiometry="2"/>
+          <speciesReference species="Y55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X55 </ci>
+              <ci> X55 </ci>
+              <ci> Y55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X55 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56" stoichiometry="2"/>
+          <speciesReference species="Y56"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X56 </ci>
+              <ci> X56 </ci>
+              <ci> Y56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X56 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57" stoichiometry="2"/>
+          <speciesReference species="Y57"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X57 </ci>
+              <ci> X57 </ci>
+              <ci> Y57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X57 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58" stoichiometry="2"/>
+          <speciesReference species="Y58"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X58 </ci>
+              <ci> X58 </ci>
+              <ci> Y58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X58 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59" stoichiometry="2"/>
+          <speciesReference species="Y59"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X59 </ci>
+              <ci> X59 </ci>
+              <ci> Y59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X59 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60" stoichiometry="2"/>
+          <speciesReference species="Y60"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X60 </ci>
+              <ci> X60 </ci>
+              <ci> Y60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X60 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61" stoichiometry="2"/>
+          <speciesReference species="Y61"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X61 </ci>
+              <ci> X61 </ci>
+              <ci> Y61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X61 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62" stoichiometry="2"/>
+          <speciesReference species="Y62"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X62 </ci>
+              <ci> X62 </ci>
+              <ci> Y62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X62 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63" stoichiometry="2"/>
+          <speciesReference species="Y63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X63 </ci>
+              <ci> X63 </ci>
+              <ci> Y63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X63 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64" stoichiometry="2"/>
+          <speciesReference species="Y64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X64 </ci>
+              <ci> X64 </ci>
+              <ci> Y64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X64 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65" stoichiometry="2"/>
+          <speciesReference species="Y65"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X65 </ci>
+              <ci> X65 </ci>
+              <ci> Y65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X65 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66" stoichiometry="2"/>
+          <speciesReference species="Y66"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X66 </ci>
+              <ci> X66 </ci>
+              <ci> Y66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X66 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67" stoichiometry="2"/>
+          <speciesReference species="Y67"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X67 </ci>
+              <ci> X67 </ci>
+              <ci> Y67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X67 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68" stoichiometry="2"/>
+          <speciesReference species="Y68"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X68 </ci>
+              <ci> X68 </ci>
+              <ci> Y68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X68 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69" stoichiometry="2"/>
+          <speciesReference species="Y69"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X69 </ci>
+              <ci> X69 </ci>
+              <ci> Y69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X69 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70" stoichiometry="2"/>
+          <speciesReference species="Y70"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X70 </ci>
+              <ci> X70 </ci>
+              <ci> Y70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X70 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71" stoichiometry="2"/>
+          <speciesReference species="Y71"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X71 </ci>
+              <ci> X71 </ci>
+              <ci> Y71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X71 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72" stoichiometry="2"/>
+          <speciesReference species="Y72"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X72 </ci>
+              <ci> X72 </ci>
+              <ci> Y72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X72 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73" stoichiometry="2"/>
+          <speciesReference species="Y73"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X73 </ci>
+              <ci> X73 </ci>
+              <ci> Y73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X73 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74" stoichiometry="2"/>
+          <speciesReference species="Y74"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X74 </ci>
+              <ci> X74 </ci>
+              <ci> Y74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X74 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75" stoichiometry="2"/>
+          <speciesReference species="Y75"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X75 </ci>
+              <ci> X75 </ci>
+              <ci> Y75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X75 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76" stoichiometry="2"/>
+          <speciesReference species="Y76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X76 </ci>
+              <ci> X76 </ci>
+              <ci> Y76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X76 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77" stoichiometry="2"/>
+          <speciesReference species="Y77"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X77 </ci>
+              <ci> X77 </ci>
+              <ci> Y77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X77 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78" stoichiometry="2"/>
+          <speciesReference species="Y78"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X78 </ci>
+              <ci> X78 </ci>
+              <ci> Y78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X78 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79" stoichiometry="2"/>
+          <speciesReference species="Y79"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X79 </ci>
+              <ci> X79 </ci>
+              <ci> Y79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X79 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80" stoichiometry="2"/>
+          <speciesReference species="Y80"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X80 </ci>
+              <ci> X80 </ci>
+              <ci> Y80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X80 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81" stoichiometry="2"/>
+          <speciesReference species="Y81"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X81 </ci>
+              <ci> X81 </ci>
+              <ci> Y81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X81 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82" stoichiometry="2"/>
+          <speciesReference species="Y82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X82 </ci>
+              <ci> X82 </ci>
+              <ci> Y82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X82 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83" stoichiometry="2"/>
+          <speciesReference species="Y83"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X83 </ci>
+              <ci> X83 </ci>
+              <ci> Y83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X83 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84" stoichiometry="2"/>
+          <speciesReference species="Y84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X84 </ci>
+              <ci> X84 </ci>
+              <ci> Y84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X84 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85" stoichiometry="2"/>
+          <speciesReference species="Y85"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X85 </ci>
+              <ci> X85 </ci>
+              <ci> Y85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X85 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86" stoichiometry="2"/>
+          <speciesReference species="Y86"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X86 </ci>
+              <ci> X86 </ci>
+              <ci> Y86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X86 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87" stoichiometry="2"/>
+          <speciesReference species="Y87"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X87 </ci>
+              <ci> X87 </ci>
+              <ci> Y87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X87 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88" stoichiometry="2"/>
+          <speciesReference species="Y88"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X88 </ci>
+              <ci> X88 </ci>
+              <ci> Y88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X88 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89" stoichiometry="2"/>
+          <speciesReference species="Y89"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X89 </ci>
+              <ci> X89 </ci>
+              <ci> Y89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X89 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90" stoichiometry="2"/>
+          <speciesReference species="Y90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X90 </ci>
+              <ci> X90 </ci>
+              <ci> Y90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X90 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91" stoichiometry="2"/>
+          <speciesReference species="Y91"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X91 </ci>
+              <ci> X91 </ci>
+              <ci> Y91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X91 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92" stoichiometry="2"/>
+          <speciesReference species="Y92"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X92 </ci>
+              <ci> X92 </ci>
+              <ci> Y92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X92 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93" stoichiometry="2"/>
+          <speciesReference species="Y93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X93 </ci>
+              <ci> X93 </ci>
+              <ci> Y93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X93 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94" stoichiometry="2"/>
+          <speciesReference species="Y94"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X94 </ci>
+              <ci> X94 </ci>
+              <ci> Y94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X94 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95" stoichiometry="2"/>
+          <speciesReference species="Y95"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X95 </ci>
+              <ci> X95 </ci>
+              <ci> Y95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X95 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96" stoichiometry="2"/>
+          <speciesReference species="Y96"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X96 </ci>
+              <ci> X96 </ci>
+              <ci> Y96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X96 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97" stoichiometry="2"/>
+          <speciesReference species="Y97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X97 </ci>
+              <ci> X97 </ci>
+              <ci> Y97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X97 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98" stoichiometry="2"/>
+          <speciesReference species="Y98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X98 </ci>
+              <ci> X98 </ci>
+              <ci> Y98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X98 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99" stoichiometry="2"/>
+          <speciesReference species="Y99"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X99 </ci>
+              <ci> X99 </ci>
+              <ci> Y99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X99 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100" stoichiometry="2"/>
+          <speciesReference species="Y100"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X100 </ci>
+              <ci> X100 </ci>
+              <ci> Y100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X100 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/00150/00150-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00150/00150-sbml-l2v4.xml
new file mode 100644
index 0000000..c89cab4
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00150/00150-sbml-l2v4.xml
@@ -0,0 +1,10925 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="2"/>
+          <speciesReference species="Y2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X2 </ci>
+              <ci> X2 </ci>
+              <ci> Y2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X2 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3" stoichiometry="2"/>
+          <speciesReference species="Y3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X3 </ci>
+              <ci> X3 </ci>
+              <ci> Y3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X3 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4" stoichiometry="2"/>
+          <speciesReference species="Y4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X4 </ci>
+              <ci> X4 </ci>
+              <ci> Y4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X4 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5" stoichiometry="2"/>
+          <speciesReference species="Y5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X5 </ci>
+              <ci> X5 </ci>
+              <ci> Y5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X5 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6" stoichiometry="2"/>
+          <speciesReference species="Y6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X6 </ci>
+              <ci> X6 </ci>
+              <ci> Y6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X6 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7" stoichiometry="2"/>
+          <speciesReference species="Y7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X7 </ci>
+              <ci> X7 </ci>
+              <ci> Y7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X7 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8" stoichiometry="2"/>
+          <speciesReference species="Y8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X8 </ci>
+              <ci> X8 </ci>
+              <ci> Y8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X8 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9" stoichiometry="2"/>
+          <speciesReference species="Y9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X9 </ci>
+              <ci> X9 </ci>
+              <ci> Y9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X9 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10" stoichiometry="2"/>
+          <speciesReference species="Y10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X10 </ci>
+              <ci> X10 </ci>
+              <ci> Y10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X10 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11" stoichiometry="2"/>
+          <speciesReference species="Y11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X11 </ci>
+              <ci> X11 </ci>
+              <ci> Y11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X11 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12" stoichiometry="2"/>
+          <speciesReference species="Y12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X12 </ci>
+              <ci> X12 </ci>
+              <ci> Y12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X12 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13" stoichiometry="2"/>
+          <speciesReference species="Y13"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X13 </ci>
+              <ci> X13 </ci>
+              <ci> Y13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X13 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14" stoichiometry="2"/>
+          <speciesReference species="Y14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X14 </ci>
+              <ci> X14 </ci>
+              <ci> Y14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X14 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15" stoichiometry="2"/>
+          <speciesReference species="Y15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X15 </ci>
+              <ci> X15 </ci>
+              <ci> Y15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X15 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16" stoichiometry="2"/>
+          <speciesReference species="Y16"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X16 </ci>
+              <ci> X16 </ci>
+              <ci> Y16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X16 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17" stoichiometry="2"/>
+          <speciesReference species="Y17"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X17 </ci>
+              <ci> X17 </ci>
+              <ci> Y17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X17 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18" stoichiometry="2"/>
+          <speciesReference species="Y18"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X18 </ci>
+              <ci> X18 </ci>
+              <ci> Y18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X18 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19" stoichiometry="2"/>
+          <speciesReference species="Y19"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X19 </ci>
+              <ci> X19 </ci>
+              <ci> Y19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X19 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20" stoichiometry="2"/>
+          <speciesReference species="Y20"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X20 </ci>
+              <ci> X20 </ci>
+              <ci> Y20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X20 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21" stoichiometry="2"/>
+          <speciesReference species="Y21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X21 </ci>
+              <ci> X21 </ci>
+              <ci> Y21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X21 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22" stoichiometry="2"/>
+          <speciesReference species="Y22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X22 </ci>
+              <ci> X22 </ci>
+              <ci> Y22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X22 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23" stoichiometry="2"/>
+          <speciesReference species="Y23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X23 </ci>
+              <ci> X23 </ci>
+              <ci> Y23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X23 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24" stoichiometry="2"/>
+          <speciesReference species="Y24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X24 </ci>
+              <ci> X24 </ci>
+              <ci> Y24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X24 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25" stoichiometry="2"/>
+          <speciesReference species="Y25"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X25 </ci>
+              <ci> X25 </ci>
+              <ci> Y25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X25 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26" stoichiometry="2"/>
+          <speciesReference species="Y26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X26 </ci>
+              <ci> X26 </ci>
+              <ci> Y26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X26 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27" stoichiometry="2"/>
+          <speciesReference species="Y27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X27 </ci>
+              <ci> X27 </ci>
+              <ci> Y27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X27 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28" stoichiometry="2"/>
+          <speciesReference species="Y28"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X28 </ci>
+              <ci> X28 </ci>
+              <ci> Y28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X28 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29" stoichiometry="2"/>
+          <speciesReference species="Y29"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X29 </ci>
+              <ci> X29 </ci>
+              <ci> Y29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X29 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30" stoichiometry="2"/>
+          <speciesReference species="Y30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X30 </ci>
+              <ci> X30 </ci>
+              <ci> Y30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X30 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31" stoichiometry="2"/>
+          <speciesReference species="Y31"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X31 </ci>
+              <ci> X31 </ci>
+              <ci> Y31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X31 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32" stoichiometry="2"/>
+          <speciesReference species="Y32"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X32 </ci>
+              <ci> X32 </ci>
+              <ci> Y32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X32 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33" stoichiometry="2"/>
+          <speciesReference species="Y33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X33 </ci>
+              <ci> X33 </ci>
+              <ci> Y33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X33 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34" stoichiometry="2"/>
+          <speciesReference species="Y34"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X34 </ci>
+              <ci> X34 </ci>
+              <ci> Y34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X34 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35" stoichiometry="2"/>
+          <speciesReference species="Y35"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X35 </ci>
+              <ci> X35 </ci>
+              <ci> Y35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X35 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36" stoichiometry="2"/>
+          <speciesReference species="Y36"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X36 </ci>
+              <ci> X36 </ci>
+              <ci> Y36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X36 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37" stoichiometry="2"/>
+          <speciesReference species="Y37"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X37 </ci>
+              <ci> X37 </ci>
+              <ci> Y37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X37 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38" stoichiometry="2"/>
+          <speciesReference species="Y38"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X38 </ci>
+              <ci> X38 </ci>
+              <ci> Y38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X38 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39" stoichiometry="2"/>
+          <speciesReference species="Y39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X39 </ci>
+              <ci> X39 </ci>
+              <ci> Y39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X39 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40" stoichiometry="2"/>
+          <speciesReference species="Y40"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X40 </ci>
+              <ci> X40 </ci>
+              <ci> Y40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X40 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41" stoichiometry="2"/>
+          <speciesReference species="Y41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X41 </ci>
+              <ci> X41 </ci>
+              <ci> Y41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X41 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42" stoichiometry="2"/>
+          <speciesReference species="Y42"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X42 </ci>
+              <ci> X42 </ci>
+              <ci> Y42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X42 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43" stoichiometry="2"/>
+          <speciesReference species="Y43"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X43 </ci>
+              <ci> X43 </ci>
+              <ci> Y43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X43 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44" stoichiometry="2"/>
+          <speciesReference species="Y44"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X44 </ci>
+              <ci> X44 </ci>
+              <ci> Y44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X44 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45" stoichiometry="2"/>
+          <speciesReference species="Y45"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X45 </ci>
+              <ci> X45 </ci>
+              <ci> Y45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X45 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46" stoichiometry="2"/>
+          <speciesReference species="Y46"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X46 </ci>
+              <ci> X46 </ci>
+              <ci> Y46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X46 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47" stoichiometry="2"/>
+          <speciesReference species="Y47"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X47 </ci>
+              <ci> X47 </ci>
+              <ci> Y47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X47 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48" stoichiometry="2"/>
+          <speciesReference species="Y48"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X48 </ci>
+              <ci> X48 </ci>
+              <ci> Y48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X48 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49" stoichiometry="2"/>
+          <speciesReference species="Y49"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X49 </ci>
+              <ci> X49 </ci>
+              <ci> Y49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X49 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50" stoichiometry="2"/>
+          <speciesReference species="Y50"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X50 </ci>
+              <ci> X50 </ci>
+              <ci> Y50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X50 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51" stoichiometry="2"/>
+          <speciesReference species="Y51"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X51 </ci>
+              <ci> X51 </ci>
+              <ci> Y51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X51 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52" stoichiometry="2"/>
+          <speciesReference species="Y52"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X52 </ci>
+              <ci> X52 </ci>
+              <ci> Y52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X52 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53" stoichiometry="2"/>
+          <speciesReference species="Y53"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X53 </ci>
+              <ci> X53 </ci>
+              <ci> Y53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X53 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54" stoichiometry="2"/>
+          <speciesReference species="Y54"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X54 </ci>
+              <ci> X54 </ci>
+              <ci> Y54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X54 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55" stoichiometry="2"/>
+          <speciesReference species="Y55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X55 </ci>
+              <ci> X55 </ci>
+              <ci> Y55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X55 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56" stoichiometry="2"/>
+          <speciesReference species="Y56"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X56 </ci>
+              <ci> X56 </ci>
+              <ci> Y56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X56 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57" stoichiometry="2"/>
+          <speciesReference species="Y57"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X57 </ci>
+              <ci> X57 </ci>
+              <ci> Y57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X57 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58" stoichiometry="2"/>
+          <speciesReference species="Y58"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X58 </ci>
+              <ci> X58 </ci>
+              <ci> Y58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X58 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59" stoichiometry="2"/>
+          <speciesReference species="Y59"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X59 </ci>
+              <ci> X59 </ci>
+              <ci> Y59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X59 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60" stoichiometry="2"/>
+          <speciesReference species="Y60"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X60 </ci>
+              <ci> X60 </ci>
+              <ci> Y60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X60 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61" stoichiometry="2"/>
+          <speciesReference species="Y61"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X61 </ci>
+              <ci> X61 </ci>
+              <ci> Y61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X61 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62" stoichiometry="2"/>
+          <speciesReference species="Y62"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X62 </ci>
+              <ci> X62 </ci>
+              <ci> Y62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X62 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63" stoichiometry="2"/>
+          <speciesReference species="Y63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X63 </ci>
+              <ci> X63 </ci>
+              <ci> Y63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X63 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64" stoichiometry="2"/>
+          <speciesReference species="Y64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X64 </ci>
+              <ci> X64 </ci>
+              <ci> Y64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X64 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65" stoichiometry="2"/>
+          <speciesReference species="Y65"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X65 </ci>
+              <ci> X65 </ci>
+              <ci> Y65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X65 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66" stoichiometry="2"/>
+          <speciesReference species="Y66"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X66 </ci>
+              <ci> X66 </ci>
+              <ci> Y66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X66 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67" stoichiometry="2"/>
+          <speciesReference species="Y67"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X67 </ci>
+              <ci> X67 </ci>
+              <ci> Y67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X67 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68" stoichiometry="2"/>
+          <speciesReference species="Y68"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X68 </ci>
+              <ci> X68 </ci>
+              <ci> Y68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X68 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69" stoichiometry="2"/>
+          <speciesReference species="Y69"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X69 </ci>
+              <ci> X69 </ci>
+              <ci> Y69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X69 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70" stoichiometry="2"/>
+          <speciesReference species="Y70"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X70 </ci>
+              <ci> X70 </ci>
+              <ci> Y70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X70 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71" stoichiometry="2"/>
+          <speciesReference species="Y71"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X71 </ci>
+              <ci> X71 </ci>
+              <ci> Y71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X71 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72" stoichiometry="2"/>
+          <speciesReference species="Y72"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X72 </ci>
+              <ci> X72 </ci>
+              <ci> Y72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X72 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73" stoichiometry="2"/>
+          <speciesReference species="Y73"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X73 </ci>
+              <ci> X73 </ci>
+              <ci> Y73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X73 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74" stoichiometry="2"/>
+          <speciesReference species="Y74"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X74 </ci>
+              <ci> X74 </ci>
+              <ci> Y74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X74 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75" stoichiometry="2"/>
+          <speciesReference species="Y75"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X75 </ci>
+              <ci> X75 </ci>
+              <ci> Y75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X75 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76" stoichiometry="2"/>
+          <speciesReference species="Y76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X76 </ci>
+              <ci> X76 </ci>
+              <ci> Y76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X76 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77" stoichiometry="2"/>
+          <speciesReference species="Y77"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X77 </ci>
+              <ci> X77 </ci>
+              <ci> Y77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X77 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78" stoichiometry="2"/>
+          <speciesReference species="Y78"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X78 </ci>
+              <ci> X78 </ci>
+              <ci> Y78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X78 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79" stoichiometry="2"/>
+          <speciesReference species="Y79"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X79 </ci>
+              <ci> X79 </ci>
+              <ci> Y79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X79 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80" stoichiometry="2"/>
+          <speciesReference species="Y80"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X80 </ci>
+              <ci> X80 </ci>
+              <ci> Y80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X80 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81" stoichiometry="2"/>
+          <speciesReference species="Y81"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X81 </ci>
+              <ci> X81 </ci>
+              <ci> Y81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X81 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82" stoichiometry="2"/>
+          <speciesReference species="Y82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X82 </ci>
+              <ci> X82 </ci>
+              <ci> Y82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X82 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83" stoichiometry="2"/>
+          <speciesReference species="Y83"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X83 </ci>
+              <ci> X83 </ci>
+              <ci> Y83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X83 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84" stoichiometry="2"/>
+          <speciesReference species="Y84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X84 </ci>
+              <ci> X84 </ci>
+              <ci> Y84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X84 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85" stoichiometry="2"/>
+          <speciesReference species="Y85"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X85 </ci>
+              <ci> X85 </ci>
+              <ci> Y85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X85 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86" stoichiometry="2"/>
+          <speciesReference species="Y86"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X86 </ci>
+              <ci> X86 </ci>
+              <ci> Y86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X86 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87" stoichiometry="2"/>
+          <speciesReference species="Y87"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X87 </ci>
+              <ci> X87 </ci>
+              <ci> Y87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X87 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88" stoichiometry="2"/>
+          <speciesReference species="Y88"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X88 </ci>
+              <ci> X88 </ci>
+              <ci> Y88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X88 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89" stoichiometry="2"/>
+          <speciesReference species="Y89"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X89 </ci>
+              <ci> X89 </ci>
+              <ci> Y89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X89 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90" stoichiometry="2"/>
+          <speciesReference species="Y90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X90 </ci>
+              <ci> X90 </ci>
+              <ci> Y90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X90 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91" stoichiometry="2"/>
+          <speciesReference species="Y91"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X91 </ci>
+              <ci> X91 </ci>
+              <ci> Y91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X91 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92" stoichiometry="2"/>
+          <speciesReference species="Y92"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X92 </ci>
+              <ci> X92 </ci>
+              <ci> Y92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X92 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93" stoichiometry="2"/>
+          <speciesReference species="Y93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X93 </ci>
+              <ci> X93 </ci>
+              <ci> Y93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X93 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94" stoichiometry="2"/>
+          <speciesReference species="Y94"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X94 </ci>
+              <ci> X94 </ci>
+              <ci> Y94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X94 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95" stoichiometry="2"/>
+          <speciesReference species="Y95"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X95 </ci>
+              <ci> X95 </ci>
+              <ci> Y95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X95 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96" stoichiometry="2"/>
+          <speciesReference species="Y96"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X96 </ci>
+              <ci> X96 </ci>
+              <ci> Y96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X96 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97" stoichiometry="2"/>
+          <speciesReference species="Y97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X97 </ci>
+              <ci> X97 </ci>
+              <ci> Y97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X97 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98" stoichiometry="2"/>
+          <speciesReference species="Y98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X98 </ci>
+              <ci> X98 </ci>
+              <ci> Y98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X98 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99" stoichiometry="2"/>
+          <speciesReference species="Y99"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X99 </ci>
+              <ci> X99 </ci>
+              <ci> Y99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X99 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100" stoichiometry="2"/>
+          <speciesReference species="Y100"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X100 </ci>
+              <ci> X100 </ci>
+              <ci> Y100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X100 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101" stoichiometry="2"/>
+          <speciesReference species="Y101"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X101 </ci>
+              <ci> X101 </ci>
+              <ci> Y101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X101 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102" stoichiometry="2"/>
+          <speciesReference species="Y102"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X102 </ci>
+              <ci> X102 </ci>
+              <ci> Y102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X102 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103" stoichiometry="2"/>
+          <speciesReference species="Y103"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X103 </ci>
+              <ci> X103 </ci>
+              <ci> Y103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X103 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104" stoichiometry="2"/>
+          <speciesReference species="Y104"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X104 </ci>
+              <ci> X104 </ci>
+              <ci> Y104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X104 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105" stoichiometry="2"/>
+          <speciesReference species="Y105"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X105 </ci>
+              <ci> X105 </ci>
+              <ci> Y105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X105 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106" stoichiometry="2"/>
+          <speciesReference species="Y106"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X106 </ci>
+              <ci> X106 </ci>
+              <ci> Y106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X106 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107" stoichiometry="2"/>
+          <speciesReference species="Y107"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X107 </ci>
+              <ci> X107 </ci>
+              <ci> Y107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X107 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108" stoichiometry="2"/>
+          <speciesReference species="Y108"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X108 </ci>
+              <ci> X108 </ci>
+              <ci> Y108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X108 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109" stoichiometry="2"/>
+          <speciesReference species="Y109"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X109 </ci>
+              <ci> X109 </ci>
+              <ci> Y109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X109 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110" stoichiometry="2"/>
+          <speciesReference species="Y110"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X110 </ci>
+              <ci> X110 </ci>
+              <ci> Y110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X110 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111" stoichiometry="2"/>
+          <speciesReference species="Y111"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X111 </ci>
+              <ci> X111 </ci>
+              <ci> Y111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X111 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112" stoichiometry="2"/>
+          <speciesReference species="Y112"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X112 </ci>
+              <ci> X112 </ci>
+              <ci> Y112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X112 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113" stoichiometry="2"/>
+          <speciesReference species="Y113"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X113 </ci>
+              <ci> X113 </ci>
+              <ci> Y113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X113 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114" stoichiometry="2"/>
+          <speciesReference species="Y114"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X114 </ci>
+              <ci> X114 </ci>
+              <ci> Y114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X114 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115" stoichiometry="2"/>
+          <speciesReference species="Y115"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X115 </ci>
+              <ci> X115 </ci>
+              <ci> Y115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X115 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116" stoichiometry="2"/>
+          <speciesReference species="Y116"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X116 </ci>
+              <ci> X116 </ci>
+              <ci> Y116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X116 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117" stoichiometry="2"/>
+          <speciesReference species="Y117"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X117 </ci>
+              <ci> X117 </ci>
+              <ci> Y117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X117 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118" stoichiometry="2"/>
+          <speciesReference species="Y118"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X118 </ci>
+              <ci> X118 </ci>
+              <ci> Y118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X118 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119" stoichiometry="2"/>
+          <speciesReference species="Y119"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X119 </ci>
+              <ci> X119 </ci>
+              <ci> Y119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X119 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120" stoichiometry="2"/>
+          <speciesReference species="Y120"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X120 </ci>
+              <ci> X120 </ci>
+              <ci> Y120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X120 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121" stoichiometry="2"/>
+          <speciesReference species="Y121"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X121 </ci>
+              <ci> X121 </ci>
+              <ci> Y121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X121 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122" stoichiometry="2"/>
+          <speciesReference species="Y122"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X122 </ci>
+              <ci> X122 </ci>
+              <ci> Y122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X122 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123" stoichiometry="2"/>
+          <speciesReference species="Y123"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X123 </ci>
+              <ci> X123 </ci>
+              <ci> Y123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X123 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124" stoichiometry="2"/>
+          <speciesReference species="Y124"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X124 </ci>
+              <ci> X124 </ci>
+              <ci> Y124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X124 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125" stoichiometry="2"/>
+          <speciesReference species="Y125"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X125 </ci>
+              <ci> X125 </ci>
+              <ci> Y125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X125 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126" stoichiometry="2"/>
+          <speciesReference species="Y126"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X126 </ci>
+              <ci> X126 </ci>
+              <ci> Y126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X126 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127" stoichiometry="2"/>
+          <speciesReference species="Y127"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X127 </ci>
+              <ci> X127 </ci>
+              <ci> Y127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X127 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128" stoichiometry="2"/>
+          <speciesReference species="Y128"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X128 </ci>
+              <ci> X128 </ci>
+              <ci> Y128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X128 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129" stoichiometry="2"/>
+          <speciesReference species="Y129"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X129 </ci>
+              <ci> X129 </ci>
+              <ci> Y129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X129 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130" stoichiometry="2"/>
+          <speciesReference species="Y130"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X130 </ci>
+              <ci> X130 </ci>
+              <ci> Y130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X130 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131" stoichiometry="2"/>
+          <speciesReference species="Y131"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X131 </ci>
+              <ci> X131 </ci>
+              <ci> Y131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X131 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132" stoichiometry="2"/>
+          <speciesReference species="Y132"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X132 </ci>
+              <ci> X132 </ci>
+              <ci> Y132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X132 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133" stoichiometry="2"/>
+          <speciesReference species="Y133"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X133 </ci>
+              <ci> X133 </ci>
+              <ci> Y133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X133 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134" stoichiometry="2"/>
+          <speciesReference species="Y134"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X134 </ci>
+              <ci> X134 </ci>
+              <ci> Y134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X134 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135" stoichiometry="2"/>
+          <speciesReference species="Y135"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X135 </ci>
+              <ci> X135 </ci>
+              <ci> Y135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X135 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136" stoichiometry="2"/>
+          <speciesReference species="Y136"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X136 </ci>
+              <ci> X136 </ci>
+              <ci> Y136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X136 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137" stoichiometry="2"/>
+          <speciesReference species="Y137"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X137 </ci>
+              <ci> X137 </ci>
+              <ci> Y137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X137 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138" stoichiometry="2"/>
+          <speciesReference species="Y138"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X138 </ci>
+              <ci> X138 </ci>
+              <ci> Y138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X138 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139" stoichiometry="2"/>
+          <speciesReference species="Y139"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X139 </ci>
+              <ci> X139 </ci>
+              <ci> Y139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X139 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140" stoichiometry="2"/>
+          <speciesReference species="Y140"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X140 </ci>
+              <ci> X140 </ci>
+              <ci> Y140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X140 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141" stoichiometry="2"/>
+          <speciesReference species="Y141"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X141 </ci>
+              <ci> X141 </ci>
+              <ci> Y141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X141 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142" stoichiometry="2"/>
+          <speciesReference species="Y142"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X142 </ci>
+              <ci> X142 </ci>
+              <ci> Y142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X142 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143" stoichiometry="2"/>
+          <speciesReference species="Y143"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X143 </ci>
+              <ci> X143 </ci>
+              <ci> Y143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X143 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144" stoichiometry="2"/>
+          <speciesReference species="Y144"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X144 </ci>
+              <ci> X144 </ci>
+              <ci> Y144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X144 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145" stoichiometry="2"/>
+          <speciesReference species="Y145"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X145 </ci>
+              <ci> X145 </ci>
+              <ci> Y145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X145 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146" stoichiometry="2"/>
+          <speciesReference species="Y146"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X146 </ci>
+              <ci> X146 </ci>
+              <ci> Y146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X146 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147" stoichiometry="2"/>
+          <speciesReference species="Y147"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X147 </ci>
+              <ci> X147 </ci>
+              <ci> Y147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X147 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148" stoichiometry="2"/>
+          <speciesReference species="Y148"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X148 </ci>
+              <ci> X148 </ci>
+              <ci> Y148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X148 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149" stoichiometry="2"/>
+          <speciesReference species="Y149"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X149 </ci>
+              <ci> X149 </ci>
+              <ci> Y149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X149 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150" stoichiometry="2"/>
+          <speciesReference species="Y150"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X150 </ci>
+              <ci> X150 </ci>
+              <ci> Y150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X150 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/00200/00200-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00200/00200-sbml-l2v4.xml
new file mode 100644
index 0000000..f2680eb
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00200/00200-sbml-l2v4.xml
@@ -0,0 +1,14525 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="2"/>
+          <speciesReference species="Y2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X2 </ci>
+              <ci> X2 </ci>
+              <ci> Y2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X2 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3" stoichiometry="2"/>
+          <speciesReference species="Y3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X3 </ci>
+              <ci> X3 </ci>
+              <ci> Y3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X3 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4" stoichiometry="2"/>
+          <speciesReference species="Y4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X4 </ci>
+              <ci> X4 </ci>
+              <ci> Y4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X4 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5" stoichiometry="2"/>
+          <speciesReference species="Y5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X5 </ci>
+              <ci> X5 </ci>
+              <ci> Y5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X5 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6" stoichiometry="2"/>
+          <speciesReference species="Y6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X6 </ci>
+              <ci> X6 </ci>
+              <ci> Y6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X6 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7" stoichiometry="2"/>
+          <speciesReference species="Y7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X7 </ci>
+              <ci> X7 </ci>
+              <ci> Y7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X7 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8" stoichiometry="2"/>
+          <speciesReference species="Y8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X8 </ci>
+              <ci> X8 </ci>
+              <ci> Y8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X8 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9" stoichiometry="2"/>
+          <speciesReference species="Y9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X9 </ci>
+              <ci> X9 </ci>
+              <ci> Y9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X9 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10" stoichiometry="2"/>
+          <speciesReference species="Y10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X10 </ci>
+              <ci> X10 </ci>
+              <ci> Y10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X10 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11" stoichiometry="2"/>
+          <speciesReference species="Y11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X11 </ci>
+              <ci> X11 </ci>
+              <ci> Y11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X11 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12" stoichiometry="2"/>
+          <speciesReference species="Y12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X12 </ci>
+              <ci> X12 </ci>
+              <ci> Y12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X12 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13" stoichiometry="2"/>
+          <speciesReference species="Y13"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X13 </ci>
+              <ci> X13 </ci>
+              <ci> Y13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X13 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14" stoichiometry="2"/>
+          <speciesReference species="Y14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X14 </ci>
+              <ci> X14 </ci>
+              <ci> Y14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X14 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15" stoichiometry="2"/>
+          <speciesReference species="Y15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X15 </ci>
+              <ci> X15 </ci>
+              <ci> Y15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X15 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16" stoichiometry="2"/>
+          <speciesReference species="Y16"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X16 </ci>
+              <ci> X16 </ci>
+              <ci> Y16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X16 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17" stoichiometry="2"/>
+          <speciesReference species="Y17"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X17 </ci>
+              <ci> X17 </ci>
+              <ci> Y17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X17 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18" stoichiometry="2"/>
+          <speciesReference species="Y18"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X18 </ci>
+              <ci> X18 </ci>
+              <ci> Y18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X18 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19" stoichiometry="2"/>
+          <speciesReference species="Y19"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X19 </ci>
+              <ci> X19 </ci>
+              <ci> Y19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X19 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20" stoichiometry="2"/>
+          <speciesReference species="Y20"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X20 </ci>
+              <ci> X20 </ci>
+              <ci> Y20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X20 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21" stoichiometry="2"/>
+          <speciesReference species="Y21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X21 </ci>
+              <ci> X21 </ci>
+              <ci> Y21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X21 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22" stoichiometry="2"/>
+          <speciesReference species="Y22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X22 </ci>
+              <ci> X22 </ci>
+              <ci> Y22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X22 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23" stoichiometry="2"/>
+          <speciesReference species="Y23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X23 </ci>
+              <ci> X23 </ci>
+              <ci> Y23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X23 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24" stoichiometry="2"/>
+          <speciesReference species="Y24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X24 </ci>
+              <ci> X24 </ci>
+              <ci> Y24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X24 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25" stoichiometry="2"/>
+          <speciesReference species="Y25"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X25 </ci>
+              <ci> X25 </ci>
+              <ci> Y25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X25 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26" stoichiometry="2"/>
+          <speciesReference species="Y26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X26 </ci>
+              <ci> X26 </ci>
+              <ci> Y26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X26 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27" stoichiometry="2"/>
+          <speciesReference species="Y27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X27 </ci>
+              <ci> X27 </ci>
+              <ci> Y27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X27 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28" stoichiometry="2"/>
+          <speciesReference species="Y28"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X28 </ci>
+              <ci> X28 </ci>
+              <ci> Y28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X28 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29" stoichiometry="2"/>
+          <speciesReference species="Y29"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X29 </ci>
+              <ci> X29 </ci>
+              <ci> Y29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X29 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30" stoichiometry="2"/>
+          <speciesReference species="Y30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X30 </ci>
+              <ci> X30 </ci>
+              <ci> Y30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X30 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31" stoichiometry="2"/>
+          <speciesReference species="Y31"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X31 </ci>
+              <ci> X31 </ci>
+              <ci> Y31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X31 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32" stoichiometry="2"/>
+          <speciesReference species="Y32"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X32 </ci>
+              <ci> X32 </ci>
+              <ci> Y32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X32 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33" stoichiometry="2"/>
+          <speciesReference species="Y33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X33 </ci>
+              <ci> X33 </ci>
+              <ci> Y33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X33 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34" stoichiometry="2"/>
+          <speciesReference species="Y34"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X34 </ci>
+              <ci> X34 </ci>
+              <ci> Y34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X34 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35" stoichiometry="2"/>
+          <speciesReference species="Y35"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X35 </ci>
+              <ci> X35 </ci>
+              <ci> Y35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X35 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36" stoichiometry="2"/>
+          <speciesReference species="Y36"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X36 </ci>
+              <ci> X36 </ci>
+              <ci> Y36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X36 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37" stoichiometry="2"/>
+          <speciesReference species="Y37"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X37 </ci>
+              <ci> X37 </ci>
+              <ci> Y37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X37 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38" stoichiometry="2"/>
+          <speciesReference species="Y38"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X38 </ci>
+              <ci> X38 </ci>
+              <ci> Y38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X38 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39" stoichiometry="2"/>
+          <speciesReference species="Y39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X39 </ci>
+              <ci> X39 </ci>
+              <ci> Y39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X39 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40" stoichiometry="2"/>
+          <speciesReference species="Y40"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X40 </ci>
+              <ci> X40 </ci>
+              <ci> Y40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X40 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41" stoichiometry="2"/>
+          <speciesReference species="Y41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X41 </ci>
+              <ci> X41 </ci>
+              <ci> Y41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X41 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42" stoichiometry="2"/>
+          <speciesReference species="Y42"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X42 </ci>
+              <ci> X42 </ci>
+              <ci> Y42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X42 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43" stoichiometry="2"/>
+          <speciesReference species="Y43"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X43 </ci>
+              <ci> X43 </ci>
+              <ci> Y43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X43 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44" stoichiometry="2"/>
+          <speciesReference species="Y44"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X44 </ci>
+              <ci> X44 </ci>
+              <ci> Y44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X44 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45" stoichiometry="2"/>
+          <speciesReference species="Y45"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X45 </ci>
+              <ci> X45 </ci>
+              <ci> Y45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X45 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46" stoichiometry="2"/>
+          <speciesReference species="Y46"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X46 </ci>
+              <ci> X46 </ci>
+              <ci> Y46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X46 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47" stoichiometry="2"/>
+          <speciesReference species="Y47"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X47 </ci>
+              <ci> X47 </ci>
+              <ci> Y47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X47 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48" stoichiometry="2"/>
+          <speciesReference species="Y48"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X48 </ci>
+              <ci> X48 </ci>
+              <ci> Y48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X48 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49" stoichiometry="2"/>
+          <speciesReference species="Y49"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X49 </ci>
+              <ci> X49 </ci>
+              <ci> Y49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X49 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50" stoichiometry="2"/>
+          <speciesReference species="Y50"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X50 </ci>
+              <ci> X50 </ci>
+              <ci> Y50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X50 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51" stoichiometry="2"/>
+          <speciesReference species="Y51"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X51 </ci>
+              <ci> X51 </ci>
+              <ci> Y51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X51 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52" stoichiometry="2"/>
+          <speciesReference species="Y52"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X52 </ci>
+              <ci> X52 </ci>
+              <ci> Y52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X52 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53" stoichiometry="2"/>
+          <speciesReference species="Y53"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X53 </ci>
+              <ci> X53 </ci>
+              <ci> Y53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X53 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54" stoichiometry="2"/>
+          <speciesReference species="Y54"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X54 </ci>
+              <ci> X54 </ci>
+              <ci> Y54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X54 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55" stoichiometry="2"/>
+          <speciesReference species="Y55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X55 </ci>
+              <ci> X55 </ci>
+              <ci> Y55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X55 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56" stoichiometry="2"/>
+          <speciesReference species="Y56"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X56 </ci>
+              <ci> X56 </ci>
+              <ci> Y56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X56 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57" stoichiometry="2"/>
+          <speciesReference species="Y57"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X57 </ci>
+              <ci> X57 </ci>
+              <ci> Y57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X57 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58" stoichiometry="2"/>
+          <speciesReference species="Y58"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X58 </ci>
+              <ci> X58 </ci>
+              <ci> Y58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X58 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59" stoichiometry="2"/>
+          <speciesReference species="Y59"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X59 </ci>
+              <ci> X59 </ci>
+              <ci> Y59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X59 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60" stoichiometry="2"/>
+          <speciesReference species="Y60"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X60 </ci>
+              <ci> X60 </ci>
+              <ci> Y60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X60 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61" stoichiometry="2"/>
+          <speciesReference species="Y61"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X61 </ci>
+              <ci> X61 </ci>
+              <ci> Y61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X61 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62" stoichiometry="2"/>
+          <speciesReference species="Y62"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X62 </ci>
+              <ci> X62 </ci>
+              <ci> Y62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X62 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63" stoichiometry="2"/>
+          <speciesReference species="Y63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X63 </ci>
+              <ci> X63 </ci>
+              <ci> Y63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X63 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64" stoichiometry="2"/>
+          <speciesReference species="Y64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X64 </ci>
+              <ci> X64 </ci>
+              <ci> Y64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X64 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65" stoichiometry="2"/>
+          <speciesReference species="Y65"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X65 </ci>
+              <ci> X65 </ci>
+              <ci> Y65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X65 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66" stoichiometry="2"/>
+          <speciesReference species="Y66"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X66 </ci>
+              <ci> X66 </ci>
+              <ci> Y66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X66 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67" stoichiometry="2"/>
+          <speciesReference species="Y67"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X67 </ci>
+              <ci> X67 </ci>
+              <ci> Y67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X67 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68" stoichiometry="2"/>
+          <speciesReference species="Y68"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X68 </ci>
+              <ci> X68 </ci>
+              <ci> Y68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X68 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69" stoichiometry="2"/>
+          <speciesReference species="Y69"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X69 </ci>
+              <ci> X69 </ci>
+              <ci> Y69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X69 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70" stoichiometry="2"/>
+          <speciesReference species="Y70"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X70 </ci>
+              <ci> X70 </ci>
+              <ci> Y70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X70 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71" stoichiometry="2"/>
+          <speciesReference species="Y71"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X71 </ci>
+              <ci> X71 </ci>
+              <ci> Y71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X71 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72" stoichiometry="2"/>
+          <speciesReference species="Y72"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X72 </ci>
+              <ci> X72 </ci>
+              <ci> Y72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X72 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73" stoichiometry="2"/>
+          <speciesReference species="Y73"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X73 </ci>
+              <ci> X73 </ci>
+              <ci> Y73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X73 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74" stoichiometry="2"/>
+          <speciesReference species="Y74"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X74 </ci>
+              <ci> X74 </ci>
+              <ci> Y74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X74 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75" stoichiometry="2"/>
+          <speciesReference species="Y75"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X75 </ci>
+              <ci> X75 </ci>
+              <ci> Y75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X75 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76" stoichiometry="2"/>
+          <speciesReference species="Y76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X76 </ci>
+              <ci> X76 </ci>
+              <ci> Y76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X76 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77" stoichiometry="2"/>
+          <speciesReference species="Y77"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X77 </ci>
+              <ci> X77 </ci>
+              <ci> Y77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X77 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78" stoichiometry="2"/>
+          <speciesReference species="Y78"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X78 </ci>
+              <ci> X78 </ci>
+              <ci> Y78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X78 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79" stoichiometry="2"/>
+          <speciesReference species="Y79"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X79 </ci>
+              <ci> X79 </ci>
+              <ci> Y79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X79 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80" stoichiometry="2"/>
+          <speciesReference species="Y80"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X80 </ci>
+              <ci> X80 </ci>
+              <ci> Y80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X80 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81" stoichiometry="2"/>
+          <speciesReference species="Y81"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X81 </ci>
+              <ci> X81 </ci>
+              <ci> Y81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X81 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82" stoichiometry="2"/>
+          <speciesReference species="Y82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X82 </ci>
+              <ci> X82 </ci>
+              <ci> Y82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X82 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83" stoichiometry="2"/>
+          <speciesReference species="Y83"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X83 </ci>
+              <ci> X83 </ci>
+              <ci> Y83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X83 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84" stoichiometry="2"/>
+          <speciesReference species="Y84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X84 </ci>
+              <ci> X84 </ci>
+              <ci> Y84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X84 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85" stoichiometry="2"/>
+          <speciesReference species="Y85"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X85 </ci>
+              <ci> X85 </ci>
+              <ci> Y85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X85 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86" stoichiometry="2"/>
+          <speciesReference species="Y86"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X86 </ci>
+              <ci> X86 </ci>
+              <ci> Y86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X86 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87" stoichiometry="2"/>
+          <speciesReference species="Y87"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X87 </ci>
+              <ci> X87 </ci>
+              <ci> Y87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X87 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88" stoichiometry="2"/>
+          <speciesReference species="Y88"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X88 </ci>
+              <ci> X88 </ci>
+              <ci> Y88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X88 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89" stoichiometry="2"/>
+          <speciesReference species="Y89"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X89 </ci>
+              <ci> X89 </ci>
+              <ci> Y89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X89 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90" stoichiometry="2"/>
+          <speciesReference species="Y90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X90 </ci>
+              <ci> X90 </ci>
+              <ci> Y90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X90 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91" stoichiometry="2"/>
+          <speciesReference species="Y91"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X91 </ci>
+              <ci> X91 </ci>
+              <ci> Y91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X91 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92" stoichiometry="2"/>
+          <speciesReference species="Y92"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X92 </ci>
+              <ci> X92 </ci>
+              <ci> Y92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X92 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93" stoichiometry="2"/>
+          <speciesReference species="Y93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X93 </ci>
+              <ci> X93 </ci>
+              <ci> Y93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X93 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94" stoichiometry="2"/>
+          <speciesReference species="Y94"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X94 </ci>
+              <ci> X94 </ci>
+              <ci> Y94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X94 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95" stoichiometry="2"/>
+          <speciesReference species="Y95"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X95 </ci>
+              <ci> X95 </ci>
+              <ci> Y95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X95 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96" stoichiometry="2"/>
+          <speciesReference species="Y96"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X96 </ci>
+              <ci> X96 </ci>
+              <ci> Y96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X96 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97" stoichiometry="2"/>
+          <speciesReference species="Y97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X97 </ci>
+              <ci> X97 </ci>
+              <ci> Y97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X97 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98" stoichiometry="2"/>
+          <speciesReference species="Y98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X98 </ci>
+              <ci> X98 </ci>
+              <ci> Y98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X98 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99" stoichiometry="2"/>
+          <speciesReference species="Y99"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X99 </ci>
+              <ci> X99 </ci>
+              <ci> Y99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X99 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100" stoichiometry="2"/>
+          <speciesReference species="Y100"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X100 </ci>
+              <ci> X100 </ci>
+              <ci> Y100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X100 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101" stoichiometry="2"/>
+          <speciesReference species="Y101"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X101 </ci>
+              <ci> X101 </ci>
+              <ci> Y101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X101 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102" stoichiometry="2"/>
+          <speciesReference species="Y102"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X102 </ci>
+              <ci> X102 </ci>
+              <ci> Y102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X102 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103" stoichiometry="2"/>
+          <speciesReference species="Y103"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X103 </ci>
+              <ci> X103 </ci>
+              <ci> Y103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X103 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104" stoichiometry="2"/>
+          <speciesReference species="Y104"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X104 </ci>
+              <ci> X104 </ci>
+              <ci> Y104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X104 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105" stoichiometry="2"/>
+          <speciesReference species="Y105"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X105 </ci>
+              <ci> X105 </ci>
+              <ci> Y105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X105 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106" stoichiometry="2"/>
+          <speciesReference species="Y106"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X106 </ci>
+              <ci> X106 </ci>
+              <ci> Y106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X106 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107" stoichiometry="2"/>
+          <speciesReference species="Y107"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X107 </ci>
+              <ci> X107 </ci>
+              <ci> Y107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X107 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108" stoichiometry="2"/>
+          <speciesReference species="Y108"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X108 </ci>
+              <ci> X108 </ci>
+              <ci> Y108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X108 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109" stoichiometry="2"/>
+          <speciesReference species="Y109"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X109 </ci>
+              <ci> X109 </ci>
+              <ci> Y109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X109 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110" stoichiometry="2"/>
+          <speciesReference species="Y110"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X110 </ci>
+              <ci> X110 </ci>
+              <ci> Y110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X110 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111" stoichiometry="2"/>
+          <speciesReference species="Y111"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X111 </ci>
+              <ci> X111 </ci>
+              <ci> Y111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X111 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112" stoichiometry="2"/>
+          <speciesReference species="Y112"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X112 </ci>
+              <ci> X112 </ci>
+              <ci> Y112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X112 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113" stoichiometry="2"/>
+          <speciesReference species="Y113"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X113 </ci>
+              <ci> X113 </ci>
+              <ci> Y113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X113 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114" stoichiometry="2"/>
+          <speciesReference species="Y114"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X114 </ci>
+              <ci> X114 </ci>
+              <ci> Y114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X114 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115" stoichiometry="2"/>
+          <speciesReference species="Y115"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X115 </ci>
+              <ci> X115 </ci>
+              <ci> Y115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X115 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116" stoichiometry="2"/>
+          <speciesReference species="Y116"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X116 </ci>
+              <ci> X116 </ci>
+              <ci> Y116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X116 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117" stoichiometry="2"/>
+          <speciesReference species="Y117"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X117 </ci>
+              <ci> X117 </ci>
+              <ci> Y117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X117 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118" stoichiometry="2"/>
+          <speciesReference species="Y118"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X118 </ci>
+              <ci> X118 </ci>
+              <ci> Y118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X118 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119" stoichiometry="2"/>
+          <speciesReference species="Y119"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X119 </ci>
+              <ci> X119 </ci>
+              <ci> Y119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X119 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120" stoichiometry="2"/>
+          <speciesReference species="Y120"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X120 </ci>
+              <ci> X120 </ci>
+              <ci> Y120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X120 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121" stoichiometry="2"/>
+          <speciesReference species="Y121"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X121 </ci>
+              <ci> X121 </ci>
+              <ci> Y121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X121 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122" stoichiometry="2"/>
+          <speciesReference species="Y122"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X122 </ci>
+              <ci> X122 </ci>
+              <ci> Y122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X122 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123" stoichiometry="2"/>
+          <speciesReference species="Y123"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X123 </ci>
+              <ci> X123 </ci>
+              <ci> Y123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X123 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124" stoichiometry="2"/>
+          <speciesReference species="Y124"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X124 </ci>
+              <ci> X124 </ci>
+              <ci> Y124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X124 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125" stoichiometry="2"/>
+          <speciesReference species="Y125"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X125 </ci>
+              <ci> X125 </ci>
+              <ci> Y125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X125 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126" stoichiometry="2"/>
+          <speciesReference species="Y126"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X126 </ci>
+              <ci> X126 </ci>
+              <ci> Y126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X126 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127" stoichiometry="2"/>
+          <speciesReference species="Y127"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X127 </ci>
+              <ci> X127 </ci>
+              <ci> Y127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X127 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128" stoichiometry="2"/>
+          <speciesReference species="Y128"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X128 </ci>
+              <ci> X128 </ci>
+              <ci> Y128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X128 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129" stoichiometry="2"/>
+          <speciesReference species="Y129"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X129 </ci>
+              <ci> X129 </ci>
+              <ci> Y129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X129 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130" stoichiometry="2"/>
+          <speciesReference species="Y130"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X130 </ci>
+              <ci> X130 </ci>
+              <ci> Y130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X130 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131" stoichiometry="2"/>
+          <speciesReference species="Y131"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X131 </ci>
+              <ci> X131 </ci>
+              <ci> Y131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X131 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132" stoichiometry="2"/>
+          <speciesReference species="Y132"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X132 </ci>
+              <ci> X132 </ci>
+              <ci> Y132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X132 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133" stoichiometry="2"/>
+          <speciesReference species="Y133"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X133 </ci>
+              <ci> X133 </ci>
+              <ci> Y133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X133 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134" stoichiometry="2"/>
+          <speciesReference species="Y134"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X134 </ci>
+              <ci> X134 </ci>
+              <ci> Y134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X134 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135" stoichiometry="2"/>
+          <speciesReference species="Y135"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X135 </ci>
+              <ci> X135 </ci>
+              <ci> Y135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X135 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136" stoichiometry="2"/>
+          <speciesReference species="Y136"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X136 </ci>
+              <ci> X136 </ci>
+              <ci> Y136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X136 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137" stoichiometry="2"/>
+          <speciesReference species="Y137"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X137 </ci>
+              <ci> X137 </ci>
+              <ci> Y137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X137 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138" stoichiometry="2"/>
+          <speciesReference species="Y138"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X138 </ci>
+              <ci> X138 </ci>
+              <ci> Y138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X138 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139" stoichiometry="2"/>
+          <speciesReference species="Y139"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X139 </ci>
+              <ci> X139 </ci>
+              <ci> Y139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X139 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140" stoichiometry="2"/>
+          <speciesReference species="Y140"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X140 </ci>
+              <ci> X140 </ci>
+              <ci> Y140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X140 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141" stoichiometry="2"/>
+          <speciesReference species="Y141"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X141 </ci>
+              <ci> X141 </ci>
+              <ci> Y141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X141 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142" stoichiometry="2"/>
+          <speciesReference species="Y142"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X142 </ci>
+              <ci> X142 </ci>
+              <ci> Y142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X142 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143" stoichiometry="2"/>
+          <speciesReference species="Y143"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X143 </ci>
+              <ci> X143 </ci>
+              <ci> Y143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X143 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144" stoichiometry="2"/>
+          <speciesReference species="Y144"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X144 </ci>
+              <ci> X144 </ci>
+              <ci> Y144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X144 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145" stoichiometry="2"/>
+          <speciesReference species="Y145"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X145 </ci>
+              <ci> X145 </ci>
+              <ci> Y145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X145 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146" stoichiometry="2"/>
+          <speciesReference species="Y146"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X146 </ci>
+              <ci> X146 </ci>
+              <ci> Y146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X146 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147" stoichiometry="2"/>
+          <speciesReference species="Y147"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X147 </ci>
+              <ci> X147 </ci>
+              <ci> Y147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X147 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148" stoichiometry="2"/>
+          <speciesReference species="Y148"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X148 </ci>
+              <ci> X148 </ci>
+              <ci> Y148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X148 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149" stoichiometry="2"/>
+          <speciesReference species="Y149"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X149 </ci>
+              <ci> X149 </ci>
+              <ci> Y149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X149 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150" stoichiometry="2"/>
+          <speciesReference species="Y150"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X150 </ci>
+              <ci> X150 </ci>
+              <ci> Y150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X150 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151" stoichiometry="2"/>
+          <speciesReference species="Y151"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X151 </ci>
+              <ci> X151 </ci>
+              <ci> Y151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X151 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152" stoichiometry="2"/>
+          <speciesReference species="Y152"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X152 </ci>
+              <ci> X152 </ci>
+              <ci> Y152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X152 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153" stoichiometry="2"/>
+          <speciesReference species="Y153"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X153 </ci>
+              <ci> X153 </ci>
+              <ci> Y153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X153 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154" stoichiometry="2"/>
+          <speciesReference species="Y154"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X154 </ci>
+              <ci> X154 </ci>
+              <ci> Y154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X154 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155" stoichiometry="2"/>
+          <speciesReference species="Y155"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X155 </ci>
+              <ci> X155 </ci>
+              <ci> Y155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X155 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156" stoichiometry="2"/>
+          <speciesReference species="Y156"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X156 </ci>
+              <ci> X156 </ci>
+              <ci> Y156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X156 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157" stoichiometry="2"/>
+          <speciesReference species="Y157"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X157 </ci>
+              <ci> X157 </ci>
+              <ci> Y157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X157 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158" stoichiometry="2"/>
+          <speciesReference species="Y158"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X158 </ci>
+              <ci> X158 </ci>
+              <ci> Y158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X158 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159" stoichiometry="2"/>
+          <speciesReference species="Y159"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X159 </ci>
+              <ci> X159 </ci>
+              <ci> Y159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X159 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160" stoichiometry="2"/>
+          <speciesReference species="Y160"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X160 </ci>
+              <ci> X160 </ci>
+              <ci> Y160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X160 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161" stoichiometry="2"/>
+          <speciesReference species="Y161"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X161 </ci>
+              <ci> X161 </ci>
+              <ci> Y161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X161 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162" stoichiometry="2"/>
+          <speciesReference species="Y162"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X162 </ci>
+              <ci> X162 </ci>
+              <ci> Y162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X162 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163" stoichiometry="2"/>
+          <speciesReference species="Y163"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X163 </ci>
+              <ci> X163 </ci>
+              <ci> Y163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X163 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164" stoichiometry="2"/>
+          <speciesReference species="Y164"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X164 </ci>
+              <ci> X164 </ci>
+              <ci> Y164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X164 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165" stoichiometry="2"/>
+          <speciesReference species="Y165"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X165 </ci>
+              <ci> X165 </ci>
+              <ci> Y165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X165 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166" stoichiometry="2"/>
+          <speciesReference species="Y166"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X166 </ci>
+              <ci> X166 </ci>
+              <ci> Y166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X166 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167" stoichiometry="2"/>
+          <speciesReference species="Y167"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X167 </ci>
+              <ci> X167 </ci>
+              <ci> Y167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X167 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168" stoichiometry="2"/>
+          <speciesReference species="Y168"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X168 </ci>
+              <ci> X168 </ci>
+              <ci> Y168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X168 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169" stoichiometry="2"/>
+          <speciesReference species="Y169"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X169 </ci>
+              <ci> X169 </ci>
+              <ci> Y169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X169 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170" stoichiometry="2"/>
+          <speciesReference species="Y170"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X170 </ci>
+              <ci> X170 </ci>
+              <ci> Y170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X170 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171" stoichiometry="2"/>
+          <speciesReference species="Y171"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X171 </ci>
+              <ci> X171 </ci>
+              <ci> Y171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X171 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172" stoichiometry="2"/>
+          <speciesReference species="Y172"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X172 </ci>
+              <ci> X172 </ci>
+              <ci> Y172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X172 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173" stoichiometry="2"/>
+          <speciesReference species="Y173"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X173 </ci>
+              <ci> X173 </ci>
+              <ci> Y173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X173 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174" stoichiometry="2"/>
+          <speciesReference species="Y174"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X174 </ci>
+              <ci> X174 </ci>
+              <ci> Y174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X174 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175" stoichiometry="2"/>
+          <speciesReference species="Y175"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X175 </ci>
+              <ci> X175 </ci>
+              <ci> Y175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X175 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176" stoichiometry="2"/>
+          <speciesReference species="Y176"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X176 </ci>
+              <ci> X176 </ci>
+              <ci> Y176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X176 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177" stoichiometry="2"/>
+          <speciesReference species="Y177"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X177 </ci>
+              <ci> X177 </ci>
+              <ci> Y177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X177 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178" stoichiometry="2"/>
+          <speciesReference species="Y178"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X178 </ci>
+              <ci> X178 </ci>
+              <ci> Y178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X178 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179" stoichiometry="2"/>
+          <speciesReference species="Y179"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X179 </ci>
+              <ci> X179 </ci>
+              <ci> Y179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X179 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180" stoichiometry="2"/>
+          <speciesReference species="Y180"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X180 </ci>
+              <ci> X180 </ci>
+              <ci> Y180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X180 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181" stoichiometry="2"/>
+          <speciesReference species="Y181"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X181 </ci>
+              <ci> X181 </ci>
+              <ci> Y181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X181 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182" stoichiometry="2"/>
+          <speciesReference species="Y182"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X182 </ci>
+              <ci> X182 </ci>
+              <ci> Y182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X182 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183" stoichiometry="2"/>
+          <speciesReference species="Y183"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X183 </ci>
+              <ci> X183 </ci>
+              <ci> Y183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X183 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184" stoichiometry="2"/>
+          <speciesReference species="Y184"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X184 </ci>
+              <ci> X184 </ci>
+              <ci> Y184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X184 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185" stoichiometry="2"/>
+          <speciesReference species="Y185"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X185 </ci>
+              <ci> X185 </ci>
+              <ci> Y185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X185 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186" stoichiometry="2"/>
+          <speciesReference species="Y186"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X186 </ci>
+              <ci> X186 </ci>
+              <ci> Y186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X186 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187" stoichiometry="2"/>
+          <speciesReference species="Y187"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X187 </ci>
+              <ci> X187 </ci>
+              <ci> Y187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X187 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188" stoichiometry="2"/>
+          <speciesReference species="Y188"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X188 </ci>
+              <ci> X188 </ci>
+              <ci> Y188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X188 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189" stoichiometry="2"/>
+          <speciesReference species="Y189"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X189 </ci>
+              <ci> X189 </ci>
+              <ci> Y189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X189 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190" stoichiometry="2"/>
+          <speciesReference species="Y190"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X190 </ci>
+              <ci> X190 </ci>
+              <ci> Y190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X190 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191" stoichiometry="2"/>
+          <speciesReference species="Y191"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X191 </ci>
+              <ci> X191 </ci>
+              <ci> Y191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X191 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192" stoichiometry="2"/>
+          <speciesReference species="Y192"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X192 </ci>
+              <ci> X192 </ci>
+              <ci> Y192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X192 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193" stoichiometry="2"/>
+          <speciesReference species="Y193"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X193 </ci>
+              <ci> X193 </ci>
+              <ci> Y193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X193 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194" stoichiometry="2"/>
+          <speciesReference species="Y194"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X194 </ci>
+              <ci> X194 </ci>
+              <ci> Y194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X194 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195" stoichiometry="2"/>
+          <speciesReference species="Y195"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X195 </ci>
+              <ci> X195 </ci>
+              <ci> Y195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X195 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196" stoichiometry="2"/>
+          <speciesReference species="Y196"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X196 </ci>
+              <ci> X196 </ci>
+              <ci> Y196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X196 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197" stoichiometry="2"/>
+          <speciesReference species="Y197"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X197 </ci>
+              <ci> X197 </ci>
+              <ci> Y197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X197 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198" stoichiometry="2"/>
+          <speciesReference species="Y198"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X198 </ci>
+              <ci> X198 </ci>
+              <ci> Y198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X198 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199" stoichiometry="2"/>
+          <speciesReference species="Y199"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X199 </ci>
+              <ci> X199 </ci>
+              <ci> Y199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X199 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200" stoichiometry="2"/>
+          <speciesReference species="Y200"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X200 </ci>
+              <ci> X200 </ci>
+              <ci> Y200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X200 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/00250/00250-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00250/00250-sbml-l2v4.xml
new file mode 100644
index 0000000..dc9ed26
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00250/00250-sbml-l2v4.xml
@@ -0,0 +1,18125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="2"/>
+          <speciesReference species="Y2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X2 </ci>
+              <ci> X2 </ci>
+              <ci> Y2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X2 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3" stoichiometry="2"/>
+          <speciesReference species="Y3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X3 </ci>
+              <ci> X3 </ci>
+              <ci> Y3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X3 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4" stoichiometry="2"/>
+          <speciesReference species="Y4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X4 </ci>
+              <ci> X4 </ci>
+              <ci> Y4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X4 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5" stoichiometry="2"/>
+          <speciesReference species="Y5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X5 </ci>
+              <ci> X5 </ci>
+              <ci> Y5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X5 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6" stoichiometry="2"/>
+          <speciesReference species="Y6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X6 </ci>
+              <ci> X6 </ci>
+              <ci> Y6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X6 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7" stoichiometry="2"/>
+          <speciesReference species="Y7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X7 </ci>
+              <ci> X7 </ci>
+              <ci> Y7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X7 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8" stoichiometry="2"/>
+          <speciesReference species="Y8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X8 </ci>
+              <ci> X8 </ci>
+              <ci> Y8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X8 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9" stoichiometry="2"/>
+          <speciesReference species="Y9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X9 </ci>
+              <ci> X9 </ci>
+              <ci> Y9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X9 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10" stoichiometry="2"/>
+          <speciesReference species="Y10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X10 </ci>
+              <ci> X10 </ci>
+              <ci> Y10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X10 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11" stoichiometry="2"/>
+          <speciesReference species="Y11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X11 </ci>
+              <ci> X11 </ci>
+              <ci> Y11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X11 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12" stoichiometry="2"/>
+          <speciesReference species="Y12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X12 </ci>
+              <ci> X12 </ci>
+              <ci> Y12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X12 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13" stoichiometry="2"/>
+          <speciesReference species="Y13"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X13 </ci>
+              <ci> X13 </ci>
+              <ci> Y13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X13 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14" stoichiometry="2"/>
+          <speciesReference species="Y14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X14 </ci>
+              <ci> X14 </ci>
+              <ci> Y14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X14 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15" stoichiometry="2"/>
+          <speciesReference species="Y15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X15 </ci>
+              <ci> X15 </ci>
+              <ci> Y15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X15 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16" stoichiometry="2"/>
+          <speciesReference species="Y16"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X16 </ci>
+              <ci> X16 </ci>
+              <ci> Y16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X16 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17" stoichiometry="2"/>
+          <speciesReference species="Y17"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X17 </ci>
+              <ci> X17 </ci>
+              <ci> Y17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X17 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18" stoichiometry="2"/>
+          <speciesReference species="Y18"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X18 </ci>
+              <ci> X18 </ci>
+              <ci> Y18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X18 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19" stoichiometry="2"/>
+          <speciesReference species="Y19"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X19 </ci>
+              <ci> X19 </ci>
+              <ci> Y19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X19 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20" stoichiometry="2"/>
+          <speciesReference species="Y20"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X20 </ci>
+              <ci> X20 </ci>
+              <ci> Y20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X20 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21" stoichiometry="2"/>
+          <speciesReference species="Y21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X21 </ci>
+              <ci> X21 </ci>
+              <ci> Y21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X21 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22" stoichiometry="2"/>
+          <speciesReference species="Y22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X22 </ci>
+              <ci> X22 </ci>
+              <ci> Y22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X22 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23" stoichiometry="2"/>
+          <speciesReference species="Y23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X23 </ci>
+              <ci> X23 </ci>
+              <ci> Y23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X23 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24" stoichiometry="2"/>
+          <speciesReference species="Y24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X24 </ci>
+              <ci> X24 </ci>
+              <ci> Y24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X24 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25" stoichiometry="2"/>
+          <speciesReference species="Y25"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X25 </ci>
+              <ci> X25 </ci>
+              <ci> Y25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X25 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26" stoichiometry="2"/>
+          <speciesReference species="Y26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X26 </ci>
+              <ci> X26 </ci>
+              <ci> Y26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X26 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27" stoichiometry="2"/>
+          <speciesReference species="Y27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X27 </ci>
+              <ci> X27 </ci>
+              <ci> Y27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X27 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28" stoichiometry="2"/>
+          <speciesReference species="Y28"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X28 </ci>
+              <ci> X28 </ci>
+              <ci> Y28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X28 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29" stoichiometry="2"/>
+          <speciesReference species="Y29"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X29 </ci>
+              <ci> X29 </ci>
+              <ci> Y29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X29 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30" stoichiometry="2"/>
+          <speciesReference species="Y30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X30 </ci>
+              <ci> X30 </ci>
+              <ci> Y30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X30 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31" stoichiometry="2"/>
+          <speciesReference species="Y31"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X31 </ci>
+              <ci> X31 </ci>
+              <ci> Y31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X31 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32" stoichiometry="2"/>
+          <speciesReference species="Y32"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X32 </ci>
+              <ci> X32 </ci>
+              <ci> Y32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X32 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33" stoichiometry="2"/>
+          <speciesReference species="Y33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X33 </ci>
+              <ci> X33 </ci>
+              <ci> Y33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X33 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34" stoichiometry="2"/>
+          <speciesReference species="Y34"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X34 </ci>
+              <ci> X34 </ci>
+              <ci> Y34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X34 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35" stoichiometry="2"/>
+          <speciesReference species="Y35"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X35 </ci>
+              <ci> X35 </ci>
+              <ci> Y35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X35 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36" stoichiometry="2"/>
+          <speciesReference species="Y36"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X36 </ci>
+              <ci> X36 </ci>
+              <ci> Y36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X36 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37" stoichiometry="2"/>
+          <speciesReference species="Y37"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X37 </ci>
+              <ci> X37 </ci>
+              <ci> Y37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X37 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38" stoichiometry="2"/>
+          <speciesReference species="Y38"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X38 </ci>
+              <ci> X38 </ci>
+              <ci> Y38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X38 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39" stoichiometry="2"/>
+          <speciesReference species="Y39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X39 </ci>
+              <ci> X39 </ci>
+              <ci> Y39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X39 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40" stoichiometry="2"/>
+          <speciesReference species="Y40"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X40 </ci>
+              <ci> X40 </ci>
+              <ci> Y40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X40 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41" stoichiometry="2"/>
+          <speciesReference species="Y41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X41 </ci>
+              <ci> X41 </ci>
+              <ci> Y41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X41 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42" stoichiometry="2"/>
+          <speciesReference species="Y42"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X42 </ci>
+              <ci> X42 </ci>
+              <ci> Y42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X42 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43" stoichiometry="2"/>
+          <speciesReference species="Y43"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X43 </ci>
+              <ci> X43 </ci>
+              <ci> Y43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X43 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44" stoichiometry="2"/>
+          <speciesReference species="Y44"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X44 </ci>
+              <ci> X44 </ci>
+              <ci> Y44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X44 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45" stoichiometry="2"/>
+          <speciesReference species="Y45"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X45 </ci>
+              <ci> X45 </ci>
+              <ci> Y45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X45 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46" stoichiometry="2"/>
+          <speciesReference species="Y46"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X46 </ci>
+              <ci> X46 </ci>
+              <ci> Y46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X46 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47" stoichiometry="2"/>
+          <speciesReference species="Y47"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X47 </ci>
+              <ci> X47 </ci>
+              <ci> Y47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X47 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48" stoichiometry="2"/>
+          <speciesReference species="Y48"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X48 </ci>
+              <ci> X48 </ci>
+              <ci> Y48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X48 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49" stoichiometry="2"/>
+          <speciesReference species="Y49"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X49 </ci>
+              <ci> X49 </ci>
+              <ci> Y49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X49 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50" stoichiometry="2"/>
+          <speciesReference species="Y50"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X50 </ci>
+              <ci> X50 </ci>
+              <ci> Y50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X50 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51" stoichiometry="2"/>
+          <speciesReference species="Y51"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X51 </ci>
+              <ci> X51 </ci>
+              <ci> Y51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X51 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52" stoichiometry="2"/>
+          <speciesReference species="Y52"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X52 </ci>
+              <ci> X52 </ci>
+              <ci> Y52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X52 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53" stoichiometry="2"/>
+          <speciesReference species="Y53"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X53 </ci>
+              <ci> X53 </ci>
+              <ci> Y53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X53 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54" stoichiometry="2"/>
+          <speciesReference species="Y54"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X54 </ci>
+              <ci> X54 </ci>
+              <ci> Y54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X54 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55" stoichiometry="2"/>
+          <speciesReference species="Y55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X55 </ci>
+              <ci> X55 </ci>
+              <ci> Y55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X55 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56" stoichiometry="2"/>
+          <speciesReference species="Y56"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X56 </ci>
+              <ci> X56 </ci>
+              <ci> Y56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X56 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57" stoichiometry="2"/>
+          <speciesReference species="Y57"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X57 </ci>
+              <ci> X57 </ci>
+              <ci> Y57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X57 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58" stoichiometry="2"/>
+          <speciesReference species="Y58"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X58 </ci>
+              <ci> X58 </ci>
+              <ci> Y58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X58 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59" stoichiometry="2"/>
+          <speciesReference species="Y59"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X59 </ci>
+              <ci> X59 </ci>
+              <ci> Y59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X59 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60" stoichiometry="2"/>
+          <speciesReference species="Y60"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X60 </ci>
+              <ci> X60 </ci>
+              <ci> Y60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X60 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61" stoichiometry="2"/>
+          <speciesReference species="Y61"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X61 </ci>
+              <ci> X61 </ci>
+              <ci> Y61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X61 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62" stoichiometry="2"/>
+          <speciesReference species="Y62"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X62 </ci>
+              <ci> X62 </ci>
+              <ci> Y62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X62 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63" stoichiometry="2"/>
+          <speciesReference species="Y63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X63 </ci>
+              <ci> X63 </ci>
+              <ci> Y63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X63 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64" stoichiometry="2"/>
+          <speciesReference species="Y64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X64 </ci>
+              <ci> X64 </ci>
+              <ci> Y64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X64 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65" stoichiometry="2"/>
+          <speciesReference species="Y65"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X65 </ci>
+              <ci> X65 </ci>
+              <ci> Y65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X65 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66" stoichiometry="2"/>
+          <speciesReference species="Y66"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X66 </ci>
+              <ci> X66 </ci>
+              <ci> Y66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X66 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67" stoichiometry="2"/>
+          <speciesReference species="Y67"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X67 </ci>
+              <ci> X67 </ci>
+              <ci> Y67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X67 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68" stoichiometry="2"/>
+          <speciesReference species="Y68"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X68 </ci>
+              <ci> X68 </ci>
+              <ci> Y68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X68 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69" stoichiometry="2"/>
+          <speciesReference species="Y69"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X69 </ci>
+              <ci> X69 </ci>
+              <ci> Y69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X69 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70" stoichiometry="2"/>
+          <speciesReference species="Y70"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X70 </ci>
+              <ci> X70 </ci>
+              <ci> Y70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X70 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71" stoichiometry="2"/>
+          <speciesReference species="Y71"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X71 </ci>
+              <ci> X71 </ci>
+              <ci> Y71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X71 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72" stoichiometry="2"/>
+          <speciesReference species="Y72"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X72 </ci>
+              <ci> X72 </ci>
+              <ci> Y72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X72 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73" stoichiometry="2"/>
+          <speciesReference species="Y73"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X73 </ci>
+              <ci> X73 </ci>
+              <ci> Y73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X73 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74" stoichiometry="2"/>
+          <speciesReference species="Y74"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X74 </ci>
+              <ci> X74 </ci>
+              <ci> Y74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X74 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75" stoichiometry="2"/>
+          <speciesReference species="Y75"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X75 </ci>
+              <ci> X75 </ci>
+              <ci> Y75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X75 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76" stoichiometry="2"/>
+          <speciesReference species="Y76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X76 </ci>
+              <ci> X76 </ci>
+              <ci> Y76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X76 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77" stoichiometry="2"/>
+          <speciesReference species="Y77"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X77 </ci>
+              <ci> X77 </ci>
+              <ci> Y77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X77 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78" stoichiometry="2"/>
+          <speciesReference species="Y78"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X78 </ci>
+              <ci> X78 </ci>
+              <ci> Y78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X78 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79" stoichiometry="2"/>
+          <speciesReference species="Y79"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X79 </ci>
+              <ci> X79 </ci>
+              <ci> Y79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X79 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80" stoichiometry="2"/>
+          <speciesReference species="Y80"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X80 </ci>
+              <ci> X80 </ci>
+              <ci> Y80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X80 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81" stoichiometry="2"/>
+          <speciesReference species="Y81"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X81 </ci>
+              <ci> X81 </ci>
+              <ci> Y81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X81 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82" stoichiometry="2"/>
+          <speciesReference species="Y82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X82 </ci>
+              <ci> X82 </ci>
+              <ci> Y82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X82 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83" stoichiometry="2"/>
+          <speciesReference species="Y83"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X83 </ci>
+              <ci> X83 </ci>
+              <ci> Y83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X83 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84" stoichiometry="2"/>
+          <speciesReference species="Y84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X84 </ci>
+              <ci> X84 </ci>
+              <ci> Y84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X84 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85" stoichiometry="2"/>
+          <speciesReference species="Y85"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X85 </ci>
+              <ci> X85 </ci>
+              <ci> Y85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X85 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86" stoichiometry="2"/>
+          <speciesReference species="Y86"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X86 </ci>
+              <ci> X86 </ci>
+              <ci> Y86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X86 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87" stoichiometry="2"/>
+          <speciesReference species="Y87"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X87 </ci>
+              <ci> X87 </ci>
+              <ci> Y87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X87 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88" stoichiometry="2"/>
+          <speciesReference species="Y88"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X88 </ci>
+              <ci> X88 </ci>
+              <ci> Y88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X88 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89" stoichiometry="2"/>
+          <speciesReference species="Y89"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X89 </ci>
+              <ci> X89 </ci>
+              <ci> Y89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X89 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90" stoichiometry="2"/>
+          <speciesReference species="Y90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X90 </ci>
+              <ci> X90 </ci>
+              <ci> Y90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X90 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91" stoichiometry="2"/>
+          <speciesReference species="Y91"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X91 </ci>
+              <ci> X91 </ci>
+              <ci> Y91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X91 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92" stoichiometry="2"/>
+          <speciesReference species="Y92"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X92 </ci>
+              <ci> X92 </ci>
+              <ci> Y92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X92 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93" stoichiometry="2"/>
+          <speciesReference species="Y93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X93 </ci>
+              <ci> X93 </ci>
+              <ci> Y93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X93 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94" stoichiometry="2"/>
+          <speciesReference species="Y94"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X94 </ci>
+              <ci> X94 </ci>
+              <ci> Y94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X94 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95" stoichiometry="2"/>
+          <speciesReference species="Y95"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X95 </ci>
+              <ci> X95 </ci>
+              <ci> Y95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X95 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96" stoichiometry="2"/>
+          <speciesReference species="Y96"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X96 </ci>
+              <ci> X96 </ci>
+              <ci> Y96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X96 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97" stoichiometry="2"/>
+          <speciesReference species="Y97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X97 </ci>
+              <ci> X97 </ci>
+              <ci> Y97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X97 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98" stoichiometry="2"/>
+          <speciesReference species="Y98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X98 </ci>
+              <ci> X98 </ci>
+              <ci> Y98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X98 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99" stoichiometry="2"/>
+          <speciesReference species="Y99"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X99 </ci>
+              <ci> X99 </ci>
+              <ci> Y99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X99 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100" stoichiometry="2"/>
+          <speciesReference species="Y100"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X100 </ci>
+              <ci> X100 </ci>
+              <ci> Y100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X100 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101" stoichiometry="2"/>
+          <speciesReference species="Y101"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X101 </ci>
+              <ci> X101 </ci>
+              <ci> Y101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X101 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102" stoichiometry="2"/>
+          <speciesReference species="Y102"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X102 </ci>
+              <ci> X102 </ci>
+              <ci> Y102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X102 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103" stoichiometry="2"/>
+          <speciesReference species="Y103"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X103 </ci>
+              <ci> X103 </ci>
+              <ci> Y103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X103 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104" stoichiometry="2"/>
+          <speciesReference species="Y104"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X104 </ci>
+              <ci> X104 </ci>
+              <ci> Y104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X104 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105" stoichiometry="2"/>
+          <speciesReference species="Y105"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X105 </ci>
+              <ci> X105 </ci>
+              <ci> Y105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X105 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106" stoichiometry="2"/>
+          <speciesReference species="Y106"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X106 </ci>
+              <ci> X106 </ci>
+              <ci> Y106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X106 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107" stoichiometry="2"/>
+          <speciesReference species="Y107"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X107 </ci>
+              <ci> X107 </ci>
+              <ci> Y107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X107 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108" stoichiometry="2"/>
+          <speciesReference species="Y108"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X108 </ci>
+              <ci> X108 </ci>
+              <ci> Y108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X108 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109" stoichiometry="2"/>
+          <speciesReference species="Y109"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X109 </ci>
+              <ci> X109 </ci>
+              <ci> Y109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X109 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110" stoichiometry="2"/>
+          <speciesReference species="Y110"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X110 </ci>
+              <ci> X110 </ci>
+              <ci> Y110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X110 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111" stoichiometry="2"/>
+          <speciesReference species="Y111"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X111 </ci>
+              <ci> X111 </ci>
+              <ci> Y111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X111 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112" stoichiometry="2"/>
+          <speciesReference species="Y112"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X112 </ci>
+              <ci> X112 </ci>
+              <ci> Y112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X112 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113" stoichiometry="2"/>
+          <speciesReference species="Y113"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X113 </ci>
+              <ci> X113 </ci>
+              <ci> Y113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X113 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114" stoichiometry="2"/>
+          <speciesReference species="Y114"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X114 </ci>
+              <ci> X114 </ci>
+              <ci> Y114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X114 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115" stoichiometry="2"/>
+          <speciesReference species="Y115"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X115 </ci>
+              <ci> X115 </ci>
+              <ci> Y115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X115 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116" stoichiometry="2"/>
+          <speciesReference species="Y116"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X116 </ci>
+              <ci> X116 </ci>
+              <ci> Y116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X116 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117" stoichiometry="2"/>
+          <speciesReference species="Y117"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X117 </ci>
+              <ci> X117 </ci>
+              <ci> Y117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X117 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118" stoichiometry="2"/>
+          <speciesReference species="Y118"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X118 </ci>
+              <ci> X118 </ci>
+              <ci> Y118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X118 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119" stoichiometry="2"/>
+          <speciesReference species="Y119"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X119 </ci>
+              <ci> X119 </ci>
+              <ci> Y119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X119 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120" stoichiometry="2"/>
+          <speciesReference species="Y120"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X120 </ci>
+              <ci> X120 </ci>
+              <ci> Y120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X120 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121" stoichiometry="2"/>
+          <speciesReference species="Y121"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X121 </ci>
+              <ci> X121 </ci>
+              <ci> Y121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X121 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122" stoichiometry="2"/>
+          <speciesReference species="Y122"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X122 </ci>
+              <ci> X122 </ci>
+              <ci> Y122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X122 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123" stoichiometry="2"/>
+          <speciesReference species="Y123"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X123 </ci>
+              <ci> X123 </ci>
+              <ci> Y123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X123 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124" stoichiometry="2"/>
+          <speciesReference species="Y124"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X124 </ci>
+              <ci> X124 </ci>
+              <ci> Y124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X124 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125" stoichiometry="2"/>
+          <speciesReference species="Y125"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X125 </ci>
+              <ci> X125 </ci>
+              <ci> Y125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X125 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126" stoichiometry="2"/>
+          <speciesReference species="Y126"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X126 </ci>
+              <ci> X126 </ci>
+              <ci> Y126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X126 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127" stoichiometry="2"/>
+          <speciesReference species="Y127"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X127 </ci>
+              <ci> X127 </ci>
+              <ci> Y127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X127 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128" stoichiometry="2"/>
+          <speciesReference species="Y128"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X128 </ci>
+              <ci> X128 </ci>
+              <ci> Y128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X128 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129" stoichiometry="2"/>
+          <speciesReference species="Y129"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X129 </ci>
+              <ci> X129 </ci>
+              <ci> Y129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X129 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130" stoichiometry="2"/>
+          <speciesReference species="Y130"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X130 </ci>
+              <ci> X130 </ci>
+              <ci> Y130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X130 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131" stoichiometry="2"/>
+          <speciesReference species="Y131"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X131 </ci>
+              <ci> X131 </ci>
+              <ci> Y131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X131 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132" stoichiometry="2"/>
+          <speciesReference species="Y132"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X132 </ci>
+              <ci> X132 </ci>
+              <ci> Y132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X132 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133" stoichiometry="2"/>
+          <speciesReference species="Y133"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X133 </ci>
+              <ci> X133 </ci>
+              <ci> Y133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X133 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134" stoichiometry="2"/>
+          <speciesReference species="Y134"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X134 </ci>
+              <ci> X134 </ci>
+              <ci> Y134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X134 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135" stoichiometry="2"/>
+          <speciesReference species="Y135"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X135 </ci>
+              <ci> X135 </ci>
+              <ci> Y135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X135 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136" stoichiometry="2"/>
+          <speciesReference species="Y136"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X136 </ci>
+              <ci> X136 </ci>
+              <ci> Y136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X136 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137" stoichiometry="2"/>
+          <speciesReference species="Y137"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X137 </ci>
+              <ci> X137 </ci>
+              <ci> Y137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X137 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138" stoichiometry="2"/>
+          <speciesReference species="Y138"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X138 </ci>
+              <ci> X138 </ci>
+              <ci> Y138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X138 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139" stoichiometry="2"/>
+          <speciesReference species="Y139"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X139 </ci>
+              <ci> X139 </ci>
+              <ci> Y139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X139 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140" stoichiometry="2"/>
+          <speciesReference species="Y140"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X140 </ci>
+              <ci> X140 </ci>
+              <ci> Y140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X140 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141" stoichiometry="2"/>
+          <speciesReference species="Y141"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X141 </ci>
+              <ci> X141 </ci>
+              <ci> Y141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X141 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142" stoichiometry="2"/>
+          <speciesReference species="Y142"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X142 </ci>
+              <ci> X142 </ci>
+              <ci> Y142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X142 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143" stoichiometry="2"/>
+          <speciesReference species="Y143"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X143 </ci>
+              <ci> X143 </ci>
+              <ci> Y143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X143 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144" stoichiometry="2"/>
+          <speciesReference species="Y144"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X144 </ci>
+              <ci> X144 </ci>
+              <ci> Y144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X144 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145" stoichiometry="2"/>
+          <speciesReference species="Y145"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X145 </ci>
+              <ci> X145 </ci>
+              <ci> Y145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X145 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146" stoichiometry="2"/>
+          <speciesReference species="Y146"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X146 </ci>
+              <ci> X146 </ci>
+              <ci> Y146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X146 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147" stoichiometry="2"/>
+          <speciesReference species="Y147"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X147 </ci>
+              <ci> X147 </ci>
+              <ci> Y147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X147 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148" stoichiometry="2"/>
+          <speciesReference species="Y148"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X148 </ci>
+              <ci> X148 </ci>
+              <ci> Y148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X148 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149" stoichiometry="2"/>
+          <speciesReference species="Y149"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X149 </ci>
+              <ci> X149 </ci>
+              <ci> Y149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X149 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150" stoichiometry="2"/>
+          <speciesReference species="Y150"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X150 </ci>
+              <ci> X150 </ci>
+              <ci> Y150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X150 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151" stoichiometry="2"/>
+          <speciesReference species="Y151"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X151 </ci>
+              <ci> X151 </ci>
+              <ci> Y151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X151 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152" stoichiometry="2"/>
+          <speciesReference species="Y152"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X152 </ci>
+              <ci> X152 </ci>
+              <ci> Y152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X152 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153" stoichiometry="2"/>
+          <speciesReference species="Y153"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X153 </ci>
+              <ci> X153 </ci>
+              <ci> Y153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X153 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154" stoichiometry="2"/>
+          <speciesReference species="Y154"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X154 </ci>
+              <ci> X154 </ci>
+              <ci> Y154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X154 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155" stoichiometry="2"/>
+          <speciesReference species="Y155"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X155 </ci>
+              <ci> X155 </ci>
+              <ci> Y155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X155 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156" stoichiometry="2"/>
+          <speciesReference species="Y156"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X156 </ci>
+              <ci> X156 </ci>
+              <ci> Y156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X156 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157" stoichiometry="2"/>
+          <speciesReference species="Y157"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X157 </ci>
+              <ci> X157 </ci>
+              <ci> Y157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X157 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158" stoichiometry="2"/>
+          <speciesReference species="Y158"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X158 </ci>
+              <ci> X158 </ci>
+              <ci> Y158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X158 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159" stoichiometry="2"/>
+          <speciesReference species="Y159"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X159 </ci>
+              <ci> X159 </ci>
+              <ci> Y159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X159 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160" stoichiometry="2"/>
+          <speciesReference species="Y160"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X160 </ci>
+              <ci> X160 </ci>
+              <ci> Y160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X160 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161" stoichiometry="2"/>
+          <speciesReference species="Y161"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X161 </ci>
+              <ci> X161 </ci>
+              <ci> Y161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X161 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162" stoichiometry="2"/>
+          <speciesReference species="Y162"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X162 </ci>
+              <ci> X162 </ci>
+              <ci> Y162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X162 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163" stoichiometry="2"/>
+          <speciesReference species="Y163"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X163 </ci>
+              <ci> X163 </ci>
+              <ci> Y163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X163 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164" stoichiometry="2"/>
+          <speciesReference species="Y164"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X164 </ci>
+              <ci> X164 </ci>
+              <ci> Y164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X164 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165" stoichiometry="2"/>
+          <speciesReference species="Y165"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X165 </ci>
+              <ci> X165 </ci>
+              <ci> Y165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X165 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166" stoichiometry="2"/>
+          <speciesReference species="Y166"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X166 </ci>
+              <ci> X166 </ci>
+              <ci> Y166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X166 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167" stoichiometry="2"/>
+          <speciesReference species="Y167"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X167 </ci>
+              <ci> X167 </ci>
+              <ci> Y167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X167 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168" stoichiometry="2"/>
+          <speciesReference species="Y168"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X168 </ci>
+              <ci> X168 </ci>
+              <ci> Y168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X168 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169" stoichiometry="2"/>
+          <speciesReference species="Y169"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X169 </ci>
+              <ci> X169 </ci>
+              <ci> Y169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X169 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170" stoichiometry="2"/>
+          <speciesReference species="Y170"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X170 </ci>
+              <ci> X170 </ci>
+              <ci> Y170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X170 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171" stoichiometry="2"/>
+          <speciesReference species="Y171"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X171 </ci>
+              <ci> X171 </ci>
+              <ci> Y171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X171 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172" stoichiometry="2"/>
+          <speciesReference species="Y172"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X172 </ci>
+              <ci> X172 </ci>
+              <ci> Y172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X172 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173" stoichiometry="2"/>
+          <speciesReference species="Y173"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X173 </ci>
+              <ci> X173 </ci>
+              <ci> Y173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X173 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174" stoichiometry="2"/>
+          <speciesReference species="Y174"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X174 </ci>
+              <ci> X174 </ci>
+              <ci> Y174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X174 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175" stoichiometry="2"/>
+          <speciesReference species="Y175"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X175 </ci>
+              <ci> X175 </ci>
+              <ci> Y175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X175 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176" stoichiometry="2"/>
+          <speciesReference species="Y176"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X176 </ci>
+              <ci> X176 </ci>
+              <ci> Y176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X176 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177" stoichiometry="2"/>
+          <speciesReference species="Y177"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X177 </ci>
+              <ci> X177 </ci>
+              <ci> Y177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X177 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178" stoichiometry="2"/>
+          <speciesReference species="Y178"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X178 </ci>
+              <ci> X178 </ci>
+              <ci> Y178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X178 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179" stoichiometry="2"/>
+          <speciesReference species="Y179"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X179 </ci>
+              <ci> X179 </ci>
+              <ci> Y179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X179 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180" stoichiometry="2"/>
+          <speciesReference species="Y180"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X180 </ci>
+              <ci> X180 </ci>
+              <ci> Y180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X180 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181" stoichiometry="2"/>
+          <speciesReference species="Y181"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X181 </ci>
+              <ci> X181 </ci>
+              <ci> Y181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X181 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182" stoichiometry="2"/>
+          <speciesReference species="Y182"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X182 </ci>
+              <ci> X182 </ci>
+              <ci> Y182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X182 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183" stoichiometry="2"/>
+          <speciesReference species="Y183"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X183 </ci>
+              <ci> X183 </ci>
+              <ci> Y183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X183 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184" stoichiometry="2"/>
+          <speciesReference species="Y184"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X184 </ci>
+              <ci> X184 </ci>
+              <ci> Y184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X184 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185" stoichiometry="2"/>
+          <speciesReference species="Y185"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X185 </ci>
+              <ci> X185 </ci>
+              <ci> Y185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X185 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186" stoichiometry="2"/>
+          <speciesReference species="Y186"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X186 </ci>
+              <ci> X186 </ci>
+              <ci> Y186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X186 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187" stoichiometry="2"/>
+          <speciesReference species="Y187"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X187 </ci>
+              <ci> X187 </ci>
+              <ci> Y187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X187 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188" stoichiometry="2"/>
+          <speciesReference species="Y188"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X188 </ci>
+              <ci> X188 </ci>
+              <ci> Y188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X188 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189" stoichiometry="2"/>
+          <speciesReference species="Y189"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X189 </ci>
+              <ci> X189 </ci>
+              <ci> Y189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X189 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190" stoichiometry="2"/>
+          <speciesReference species="Y190"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X190 </ci>
+              <ci> X190 </ci>
+              <ci> Y190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X190 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191" stoichiometry="2"/>
+          <speciesReference species="Y191"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X191 </ci>
+              <ci> X191 </ci>
+              <ci> Y191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X191 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192" stoichiometry="2"/>
+          <speciesReference species="Y192"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X192 </ci>
+              <ci> X192 </ci>
+              <ci> Y192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X192 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193" stoichiometry="2"/>
+          <speciesReference species="Y193"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X193 </ci>
+              <ci> X193 </ci>
+              <ci> Y193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X193 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194" stoichiometry="2"/>
+          <speciesReference species="Y194"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X194 </ci>
+              <ci> X194 </ci>
+              <ci> Y194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X194 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195" stoichiometry="2"/>
+          <speciesReference species="Y195"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X195 </ci>
+              <ci> X195 </ci>
+              <ci> Y195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X195 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196" stoichiometry="2"/>
+          <speciesReference species="Y196"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X196 </ci>
+              <ci> X196 </ci>
+              <ci> Y196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X196 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197" stoichiometry="2"/>
+          <speciesReference species="Y197"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X197 </ci>
+              <ci> X197 </ci>
+              <ci> Y197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X197 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198" stoichiometry="2"/>
+          <speciesReference species="Y198"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X198 </ci>
+              <ci> X198 </ci>
+              <ci> Y198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X198 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199" stoichiometry="2"/>
+          <speciesReference species="Y199"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X199 </ci>
+              <ci> X199 </ci>
+              <ci> Y199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X199 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200" stoichiometry="2"/>
+          <speciesReference species="Y200"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X200 </ci>
+              <ci> X200 </ci>
+              <ci> Y200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X200 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201" stoichiometry="2"/>
+          <speciesReference species="Y201"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X201 </ci>
+              <ci> X201 </ci>
+              <ci> Y201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X201 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202" stoichiometry="2"/>
+          <speciesReference species="Y202"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X202 </ci>
+              <ci> X202 </ci>
+              <ci> Y202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X202 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203" stoichiometry="2"/>
+          <speciesReference species="Y203"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X203 </ci>
+              <ci> X203 </ci>
+              <ci> Y203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X203 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204" stoichiometry="2"/>
+          <speciesReference species="Y204"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X204 </ci>
+              <ci> X204 </ci>
+              <ci> Y204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X204 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205" stoichiometry="2"/>
+          <speciesReference species="Y205"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X205 </ci>
+              <ci> X205 </ci>
+              <ci> Y205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X205 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206" stoichiometry="2"/>
+          <speciesReference species="Y206"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X206 </ci>
+              <ci> X206 </ci>
+              <ci> Y206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X206 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207" stoichiometry="2"/>
+          <speciesReference species="Y207"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X207 </ci>
+              <ci> X207 </ci>
+              <ci> Y207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X207 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208" stoichiometry="2"/>
+          <speciesReference species="Y208"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X208 </ci>
+              <ci> X208 </ci>
+              <ci> Y208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X208 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209" stoichiometry="2"/>
+          <speciesReference species="Y209"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X209 </ci>
+              <ci> X209 </ci>
+              <ci> Y209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X209 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210" stoichiometry="2"/>
+          <speciesReference species="Y210"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X210 </ci>
+              <ci> X210 </ci>
+              <ci> Y210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X210 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211" stoichiometry="2"/>
+          <speciesReference species="Y211"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X211 </ci>
+              <ci> X211 </ci>
+              <ci> Y211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X211 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212" stoichiometry="2"/>
+          <speciesReference species="Y212"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X212 </ci>
+              <ci> X212 </ci>
+              <ci> Y212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X212 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213" stoichiometry="2"/>
+          <speciesReference species="Y213"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X213 </ci>
+              <ci> X213 </ci>
+              <ci> Y213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X213 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214" stoichiometry="2"/>
+          <speciesReference species="Y214"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X214 </ci>
+              <ci> X214 </ci>
+              <ci> Y214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X214 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215" stoichiometry="2"/>
+          <speciesReference species="Y215"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X215 </ci>
+              <ci> X215 </ci>
+              <ci> Y215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X215 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216" stoichiometry="2"/>
+          <speciesReference species="Y216"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X216 </ci>
+              <ci> X216 </ci>
+              <ci> Y216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X216 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217" stoichiometry="2"/>
+          <speciesReference species="Y217"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X217 </ci>
+              <ci> X217 </ci>
+              <ci> Y217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X217 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218" stoichiometry="2"/>
+          <speciesReference species="Y218"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X218 </ci>
+              <ci> X218 </ci>
+              <ci> Y218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X218 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219" stoichiometry="2"/>
+          <speciesReference species="Y219"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X219 </ci>
+              <ci> X219 </ci>
+              <ci> Y219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X219 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220" stoichiometry="2"/>
+          <speciesReference species="Y220"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X220 </ci>
+              <ci> X220 </ci>
+              <ci> Y220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X220 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221" stoichiometry="2"/>
+          <speciesReference species="Y221"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X221 </ci>
+              <ci> X221 </ci>
+              <ci> Y221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X221 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222" stoichiometry="2"/>
+          <speciesReference species="Y222"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X222 </ci>
+              <ci> X222 </ci>
+              <ci> Y222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X222 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223" stoichiometry="2"/>
+          <speciesReference species="Y223"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X223 </ci>
+              <ci> X223 </ci>
+              <ci> Y223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X223 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224" stoichiometry="2"/>
+          <speciesReference species="Y224"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X224 </ci>
+              <ci> X224 </ci>
+              <ci> Y224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X224 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225" stoichiometry="2"/>
+          <speciesReference species="Y225"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X225 </ci>
+              <ci> X225 </ci>
+              <ci> Y225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X225 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226" stoichiometry="2"/>
+          <speciesReference species="Y226"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X226 </ci>
+              <ci> X226 </ci>
+              <ci> Y226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X226 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227" stoichiometry="2"/>
+          <speciesReference species="Y227"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X227 </ci>
+              <ci> X227 </ci>
+              <ci> Y227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X227 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228" stoichiometry="2"/>
+          <speciesReference species="Y228"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X228 </ci>
+              <ci> X228 </ci>
+              <ci> Y228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X228 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229" stoichiometry="2"/>
+          <speciesReference species="Y229"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X229 </ci>
+              <ci> X229 </ci>
+              <ci> Y229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X229 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230" stoichiometry="2"/>
+          <speciesReference species="Y230"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X230 </ci>
+              <ci> X230 </ci>
+              <ci> Y230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X230 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231" stoichiometry="2"/>
+          <speciesReference species="Y231"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X231 </ci>
+              <ci> X231 </ci>
+              <ci> Y231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X231 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232" stoichiometry="2"/>
+          <speciesReference species="Y232"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X232 </ci>
+              <ci> X232 </ci>
+              <ci> Y232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X232 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233" stoichiometry="2"/>
+          <speciesReference species="Y233"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X233 </ci>
+              <ci> X233 </ci>
+              <ci> Y233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X233 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234" stoichiometry="2"/>
+          <speciesReference species="Y234"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X234 </ci>
+              <ci> X234 </ci>
+              <ci> Y234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X234 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235" stoichiometry="2"/>
+          <speciesReference species="Y235"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X235 </ci>
+              <ci> X235 </ci>
+              <ci> Y235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X235 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236" stoichiometry="2"/>
+          <speciesReference species="Y236"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X236 </ci>
+              <ci> X236 </ci>
+              <ci> Y236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X236 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237" stoichiometry="2"/>
+          <speciesReference species="Y237"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X237 </ci>
+              <ci> X237 </ci>
+              <ci> Y237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X237 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238" stoichiometry="2"/>
+          <speciesReference species="Y238"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X238 </ci>
+              <ci> X238 </ci>
+              <ci> Y238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X238 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239" stoichiometry="2"/>
+          <speciesReference species="Y239"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X239 </ci>
+              <ci> X239 </ci>
+              <ci> Y239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X239 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240" stoichiometry="2"/>
+          <speciesReference species="Y240"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X240 </ci>
+              <ci> X240 </ci>
+              <ci> Y240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X240 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241" stoichiometry="2"/>
+          <speciesReference species="Y241"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X241 </ci>
+              <ci> X241 </ci>
+              <ci> Y241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X241 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242" stoichiometry="2"/>
+          <speciesReference species="Y242"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X242 </ci>
+              <ci> X242 </ci>
+              <ci> Y242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X242 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243" stoichiometry="2"/>
+          <speciesReference species="Y243"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X243 </ci>
+              <ci> X243 </ci>
+              <ci> Y243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X243 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244" stoichiometry="2"/>
+          <speciesReference species="Y244"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X244 </ci>
+              <ci> X244 </ci>
+              <ci> Y244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X244 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245" stoichiometry="2"/>
+          <speciesReference species="Y245"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X245 </ci>
+              <ci> X245 </ci>
+              <ci> Y245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X245 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246" stoichiometry="2"/>
+          <speciesReference species="Y246"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X246 </ci>
+              <ci> X246 </ci>
+              <ci> Y246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X246 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247" stoichiometry="2"/>
+          <speciesReference species="Y247"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X247 </ci>
+              <ci> X247 </ci>
+              <ci> Y247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X247 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248" stoichiometry="2"/>
+          <speciesReference species="Y248"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X248 </ci>
+              <ci> X248 </ci>
+              <ci> Y248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X248 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249" stoichiometry="2"/>
+          <speciesReference species="Y249"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X249 </ci>
+              <ci> X249 </ci>
+              <ci> Y249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X249 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250" stoichiometry="2"/>
+          <speciesReference species="Y250"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X250 </ci>
+              <ci> X250 </ci>
+              <ci> Y250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X250 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/00300/00300-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00300/00300-sbml-l2v4.xml
new file mode 100644
index 0000000..44ce85c
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00300/00300-sbml-l2v4.xml
@@ -0,0 +1,21725 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X251" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y251" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X252" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y252" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X253" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y253" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X254" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y254" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X255" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y255" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X256" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y256" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X257" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y257" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X258" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y258" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X259" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y259" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X260" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y260" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X261" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y261" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X262" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y262" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X263" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y263" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X264" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y264" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X265" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y265" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X266" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y266" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X267" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y267" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X268" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y268" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X269" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y269" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X270" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y270" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X271" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y271" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X272" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y272" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X273" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y273" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X274" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y274" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X275" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y275" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X276" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y276" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X277" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y277" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X278" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y278" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X279" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y279" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X280" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y280" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X281" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y281" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X282" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y282" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X283" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y283" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X284" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y284" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X285" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y285" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X286" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y286" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X287" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y287" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X288" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y288" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X289" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y289" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X290" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y290" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X291" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y291" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X292" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y292" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X293" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y293" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X294" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y294" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X295" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y295" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X296" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y296" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X297" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y297" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X298" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y298" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X299" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y299" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X300" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y300" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="2"/>
+          <speciesReference species="Y2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X2 </ci>
+              <ci> X2 </ci>
+              <ci> Y2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X2 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3" stoichiometry="2"/>
+          <speciesReference species="Y3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X3 </ci>
+              <ci> X3 </ci>
+              <ci> Y3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X3 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4" stoichiometry="2"/>
+          <speciesReference species="Y4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X4 </ci>
+              <ci> X4 </ci>
+              <ci> Y4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X4 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5" stoichiometry="2"/>
+          <speciesReference species="Y5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X5 </ci>
+              <ci> X5 </ci>
+              <ci> Y5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X5 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6" stoichiometry="2"/>
+          <speciesReference species="Y6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X6 </ci>
+              <ci> X6 </ci>
+              <ci> Y6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X6 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7" stoichiometry="2"/>
+          <speciesReference species="Y7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X7 </ci>
+              <ci> X7 </ci>
+              <ci> Y7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X7 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8" stoichiometry="2"/>
+          <speciesReference species="Y8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X8 </ci>
+              <ci> X8 </ci>
+              <ci> Y8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X8 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9" stoichiometry="2"/>
+          <speciesReference species="Y9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X9 </ci>
+              <ci> X9 </ci>
+              <ci> Y9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X9 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10" stoichiometry="2"/>
+          <speciesReference species="Y10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X10 </ci>
+              <ci> X10 </ci>
+              <ci> Y10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X10 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11" stoichiometry="2"/>
+          <speciesReference species="Y11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X11 </ci>
+              <ci> X11 </ci>
+              <ci> Y11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X11 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12" stoichiometry="2"/>
+          <speciesReference species="Y12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X12 </ci>
+              <ci> X12 </ci>
+              <ci> Y12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X12 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13" stoichiometry="2"/>
+          <speciesReference species="Y13"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X13 </ci>
+              <ci> X13 </ci>
+              <ci> Y13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X13 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14" stoichiometry="2"/>
+          <speciesReference species="Y14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X14 </ci>
+              <ci> X14 </ci>
+              <ci> Y14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X14 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15" stoichiometry="2"/>
+          <speciesReference species="Y15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X15 </ci>
+              <ci> X15 </ci>
+              <ci> Y15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X15 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16" stoichiometry="2"/>
+          <speciesReference species="Y16"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X16 </ci>
+              <ci> X16 </ci>
+              <ci> Y16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X16 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17" stoichiometry="2"/>
+          <speciesReference species="Y17"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X17 </ci>
+              <ci> X17 </ci>
+              <ci> Y17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X17 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18" stoichiometry="2"/>
+          <speciesReference species="Y18"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X18 </ci>
+              <ci> X18 </ci>
+              <ci> Y18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X18 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19" stoichiometry="2"/>
+          <speciesReference species="Y19"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X19 </ci>
+              <ci> X19 </ci>
+              <ci> Y19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X19 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20" stoichiometry="2"/>
+          <speciesReference species="Y20"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X20 </ci>
+              <ci> X20 </ci>
+              <ci> Y20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X20 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21" stoichiometry="2"/>
+          <speciesReference species="Y21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X21 </ci>
+              <ci> X21 </ci>
+              <ci> Y21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X21 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22" stoichiometry="2"/>
+          <speciesReference species="Y22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X22 </ci>
+              <ci> X22 </ci>
+              <ci> Y22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X22 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23" stoichiometry="2"/>
+          <speciesReference species="Y23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X23 </ci>
+              <ci> X23 </ci>
+              <ci> Y23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X23 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24" stoichiometry="2"/>
+          <speciesReference species="Y24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X24 </ci>
+              <ci> X24 </ci>
+              <ci> Y24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X24 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25" stoichiometry="2"/>
+          <speciesReference species="Y25"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X25 </ci>
+              <ci> X25 </ci>
+              <ci> Y25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X25 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26" stoichiometry="2"/>
+          <speciesReference species="Y26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X26 </ci>
+              <ci> X26 </ci>
+              <ci> Y26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X26 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27" stoichiometry="2"/>
+          <speciesReference species="Y27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X27 </ci>
+              <ci> X27 </ci>
+              <ci> Y27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X27 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28" stoichiometry="2"/>
+          <speciesReference species="Y28"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X28 </ci>
+              <ci> X28 </ci>
+              <ci> Y28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X28 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29" stoichiometry="2"/>
+          <speciesReference species="Y29"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X29 </ci>
+              <ci> X29 </ci>
+              <ci> Y29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X29 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30" stoichiometry="2"/>
+          <speciesReference species="Y30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X30 </ci>
+              <ci> X30 </ci>
+              <ci> Y30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X30 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31" stoichiometry="2"/>
+          <speciesReference species="Y31"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X31 </ci>
+              <ci> X31 </ci>
+              <ci> Y31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X31 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32" stoichiometry="2"/>
+          <speciesReference species="Y32"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X32 </ci>
+              <ci> X32 </ci>
+              <ci> Y32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X32 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33" stoichiometry="2"/>
+          <speciesReference species="Y33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X33 </ci>
+              <ci> X33 </ci>
+              <ci> Y33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X33 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34" stoichiometry="2"/>
+          <speciesReference species="Y34"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X34 </ci>
+              <ci> X34 </ci>
+              <ci> Y34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X34 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35" stoichiometry="2"/>
+          <speciesReference species="Y35"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X35 </ci>
+              <ci> X35 </ci>
+              <ci> Y35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X35 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36" stoichiometry="2"/>
+          <speciesReference species="Y36"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X36 </ci>
+              <ci> X36 </ci>
+              <ci> Y36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X36 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37" stoichiometry="2"/>
+          <speciesReference species="Y37"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X37 </ci>
+              <ci> X37 </ci>
+              <ci> Y37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X37 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38" stoichiometry="2"/>
+          <speciesReference species="Y38"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X38 </ci>
+              <ci> X38 </ci>
+              <ci> Y38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X38 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39" stoichiometry="2"/>
+          <speciesReference species="Y39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X39 </ci>
+              <ci> X39 </ci>
+              <ci> Y39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X39 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40" stoichiometry="2"/>
+          <speciesReference species="Y40"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X40 </ci>
+              <ci> X40 </ci>
+              <ci> Y40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X40 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41" stoichiometry="2"/>
+          <speciesReference species="Y41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X41 </ci>
+              <ci> X41 </ci>
+              <ci> Y41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X41 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42" stoichiometry="2"/>
+          <speciesReference species="Y42"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X42 </ci>
+              <ci> X42 </ci>
+              <ci> Y42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X42 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43" stoichiometry="2"/>
+          <speciesReference species="Y43"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X43 </ci>
+              <ci> X43 </ci>
+              <ci> Y43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X43 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44" stoichiometry="2"/>
+          <speciesReference species="Y44"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X44 </ci>
+              <ci> X44 </ci>
+              <ci> Y44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X44 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45" stoichiometry="2"/>
+          <speciesReference species="Y45"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X45 </ci>
+              <ci> X45 </ci>
+              <ci> Y45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X45 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46" stoichiometry="2"/>
+          <speciesReference species="Y46"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X46 </ci>
+              <ci> X46 </ci>
+              <ci> Y46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X46 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47" stoichiometry="2"/>
+          <speciesReference species="Y47"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X47 </ci>
+              <ci> X47 </ci>
+              <ci> Y47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X47 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48" stoichiometry="2"/>
+          <speciesReference species="Y48"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X48 </ci>
+              <ci> X48 </ci>
+              <ci> Y48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X48 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49" stoichiometry="2"/>
+          <speciesReference species="Y49"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X49 </ci>
+              <ci> X49 </ci>
+              <ci> Y49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X49 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50" stoichiometry="2"/>
+          <speciesReference species="Y50"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X50 </ci>
+              <ci> X50 </ci>
+              <ci> Y50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X50 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51" stoichiometry="2"/>
+          <speciesReference species="Y51"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X51 </ci>
+              <ci> X51 </ci>
+              <ci> Y51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X51 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52" stoichiometry="2"/>
+          <speciesReference species="Y52"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X52 </ci>
+              <ci> X52 </ci>
+              <ci> Y52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X52 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53" stoichiometry="2"/>
+          <speciesReference species="Y53"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X53 </ci>
+              <ci> X53 </ci>
+              <ci> Y53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X53 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54" stoichiometry="2"/>
+          <speciesReference species="Y54"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X54 </ci>
+              <ci> X54 </ci>
+              <ci> Y54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X54 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55" stoichiometry="2"/>
+          <speciesReference species="Y55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X55 </ci>
+              <ci> X55 </ci>
+              <ci> Y55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X55 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56" stoichiometry="2"/>
+          <speciesReference species="Y56"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X56 </ci>
+              <ci> X56 </ci>
+              <ci> Y56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X56 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57" stoichiometry="2"/>
+          <speciesReference species="Y57"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X57 </ci>
+              <ci> X57 </ci>
+              <ci> Y57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X57 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58" stoichiometry="2"/>
+          <speciesReference species="Y58"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X58 </ci>
+              <ci> X58 </ci>
+              <ci> Y58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X58 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59" stoichiometry="2"/>
+          <speciesReference species="Y59"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X59 </ci>
+              <ci> X59 </ci>
+              <ci> Y59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X59 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60" stoichiometry="2"/>
+          <speciesReference species="Y60"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X60 </ci>
+              <ci> X60 </ci>
+              <ci> Y60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X60 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61" stoichiometry="2"/>
+          <speciesReference species="Y61"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X61 </ci>
+              <ci> X61 </ci>
+              <ci> Y61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X61 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62" stoichiometry="2"/>
+          <speciesReference species="Y62"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X62 </ci>
+              <ci> X62 </ci>
+              <ci> Y62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X62 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63" stoichiometry="2"/>
+          <speciesReference species="Y63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X63 </ci>
+              <ci> X63 </ci>
+              <ci> Y63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X63 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64" stoichiometry="2"/>
+          <speciesReference species="Y64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X64 </ci>
+              <ci> X64 </ci>
+              <ci> Y64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X64 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65" stoichiometry="2"/>
+          <speciesReference species="Y65"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X65 </ci>
+              <ci> X65 </ci>
+              <ci> Y65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X65 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66" stoichiometry="2"/>
+          <speciesReference species="Y66"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X66 </ci>
+              <ci> X66 </ci>
+              <ci> Y66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X66 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67" stoichiometry="2"/>
+          <speciesReference species="Y67"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X67 </ci>
+              <ci> X67 </ci>
+              <ci> Y67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X67 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68" stoichiometry="2"/>
+          <speciesReference species="Y68"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X68 </ci>
+              <ci> X68 </ci>
+              <ci> Y68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X68 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69" stoichiometry="2"/>
+          <speciesReference species="Y69"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X69 </ci>
+              <ci> X69 </ci>
+              <ci> Y69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X69 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70" stoichiometry="2"/>
+          <speciesReference species="Y70"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X70 </ci>
+              <ci> X70 </ci>
+              <ci> Y70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X70 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71" stoichiometry="2"/>
+          <speciesReference species="Y71"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X71 </ci>
+              <ci> X71 </ci>
+              <ci> Y71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X71 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72" stoichiometry="2"/>
+          <speciesReference species="Y72"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X72 </ci>
+              <ci> X72 </ci>
+              <ci> Y72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X72 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73" stoichiometry="2"/>
+          <speciesReference species="Y73"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X73 </ci>
+              <ci> X73 </ci>
+              <ci> Y73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X73 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74" stoichiometry="2"/>
+          <speciesReference species="Y74"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X74 </ci>
+              <ci> X74 </ci>
+              <ci> Y74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X74 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75" stoichiometry="2"/>
+          <speciesReference species="Y75"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X75 </ci>
+              <ci> X75 </ci>
+              <ci> Y75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X75 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76" stoichiometry="2"/>
+          <speciesReference species="Y76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X76 </ci>
+              <ci> X76 </ci>
+              <ci> Y76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X76 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77" stoichiometry="2"/>
+          <speciesReference species="Y77"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X77 </ci>
+              <ci> X77 </ci>
+              <ci> Y77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X77 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78" stoichiometry="2"/>
+          <speciesReference species="Y78"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X78 </ci>
+              <ci> X78 </ci>
+              <ci> Y78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X78 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79" stoichiometry="2"/>
+          <speciesReference species="Y79"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X79 </ci>
+              <ci> X79 </ci>
+              <ci> Y79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X79 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80" stoichiometry="2"/>
+          <speciesReference species="Y80"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X80 </ci>
+              <ci> X80 </ci>
+              <ci> Y80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X80 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81" stoichiometry="2"/>
+          <speciesReference species="Y81"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X81 </ci>
+              <ci> X81 </ci>
+              <ci> Y81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X81 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82" stoichiometry="2"/>
+          <speciesReference species="Y82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X82 </ci>
+              <ci> X82 </ci>
+              <ci> Y82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X82 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83" stoichiometry="2"/>
+          <speciesReference species="Y83"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X83 </ci>
+              <ci> X83 </ci>
+              <ci> Y83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X83 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84" stoichiometry="2"/>
+          <speciesReference species="Y84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X84 </ci>
+              <ci> X84 </ci>
+              <ci> Y84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X84 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85" stoichiometry="2"/>
+          <speciesReference species="Y85"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X85 </ci>
+              <ci> X85 </ci>
+              <ci> Y85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X85 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86" stoichiometry="2"/>
+          <speciesReference species="Y86"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X86 </ci>
+              <ci> X86 </ci>
+              <ci> Y86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X86 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87" stoichiometry="2"/>
+          <speciesReference species="Y87"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X87 </ci>
+              <ci> X87 </ci>
+              <ci> Y87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X87 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88" stoichiometry="2"/>
+          <speciesReference species="Y88"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X88 </ci>
+              <ci> X88 </ci>
+              <ci> Y88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X88 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89" stoichiometry="2"/>
+          <speciesReference species="Y89"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X89 </ci>
+              <ci> X89 </ci>
+              <ci> Y89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X89 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90" stoichiometry="2"/>
+          <speciesReference species="Y90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X90 </ci>
+              <ci> X90 </ci>
+              <ci> Y90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X90 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91" stoichiometry="2"/>
+          <speciesReference species="Y91"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X91 </ci>
+              <ci> X91 </ci>
+              <ci> Y91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X91 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92" stoichiometry="2"/>
+          <speciesReference species="Y92"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X92 </ci>
+              <ci> X92 </ci>
+              <ci> Y92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X92 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93" stoichiometry="2"/>
+          <speciesReference species="Y93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X93 </ci>
+              <ci> X93 </ci>
+              <ci> Y93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X93 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94" stoichiometry="2"/>
+          <speciesReference species="Y94"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X94 </ci>
+              <ci> X94 </ci>
+              <ci> Y94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X94 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95" stoichiometry="2"/>
+          <speciesReference species="Y95"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X95 </ci>
+              <ci> X95 </ci>
+              <ci> Y95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X95 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96" stoichiometry="2"/>
+          <speciesReference species="Y96"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X96 </ci>
+              <ci> X96 </ci>
+              <ci> Y96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X96 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97" stoichiometry="2"/>
+          <speciesReference species="Y97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X97 </ci>
+              <ci> X97 </ci>
+              <ci> Y97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X97 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98" stoichiometry="2"/>
+          <speciesReference species="Y98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X98 </ci>
+              <ci> X98 </ci>
+              <ci> Y98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X98 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99" stoichiometry="2"/>
+          <speciesReference species="Y99"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X99 </ci>
+              <ci> X99 </ci>
+              <ci> Y99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X99 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100" stoichiometry="2"/>
+          <speciesReference species="Y100"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X100 </ci>
+              <ci> X100 </ci>
+              <ci> Y100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X100 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101" stoichiometry="2"/>
+          <speciesReference species="Y101"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X101 </ci>
+              <ci> X101 </ci>
+              <ci> Y101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X101 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102" stoichiometry="2"/>
+          <speciesReference species="Y102"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X102 </ci>
+              <ci> X102 </ci>
+              <ci> Y102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X102 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103" stoichiometry="2"/>
+          <speciesReference species="Y103"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X103 </ci>
+              <ci> X103 </ci>
+              <ci> Y103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X103 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104" stoichiometry="2"/>
+          <speciesReference species="Y104"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X104 </ci>
+              <ci> X104 </ci>
+              <ci> Y104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X104 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105" stoichiometry="2"/>
+          <speciesReference species="Y105"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X105 </ci>
+              <ci> X105 </ci>
+              <ci> Y105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X105 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106" stoichiometry="2"/>
+          <speciesReference species="Y106"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X106 </ci>
+              <ci> X106 </ci>
+              <ci> Y106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X106 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107" stoichiometry="2"/>
+          <speciesReference species="Y107"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X107 </ci>
+              <ci> X107 </ci>
+              <ci> Y107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X107 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108" stoichiometry="2"/>
+          <speciesReference species="Y108"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X108 </ci>
+              <ci> X108 </ci>
+              <ci> Y108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X108 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109" stoichiometry="2"/>
+          <speciesReference species="Y109"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X109 </ci>
+              <ci> X109 </ci>
+              <ci> Y109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X109 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110" stoichiometry="2"/>
+          <speciesReference species="Y110"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X110 </ci>
+              <ci> X110 </ci>
+              <ci> Y110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X110 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111" stoichiometry="2"/>
+          <speciesReference species="Y111"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X111 </ci>
+              <ci> X111 </ci>
+              <ci> Y111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X111 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112" stoichiometry="2"/>
+          <speciesReference species="Y112"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X112 </ci>
+              <ci> X112 </ci>
+              <ci> Y112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X112 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113" stoichiometry="2"/>
+          <speciesReference species="Y113"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X113 </ci>
+              <ci> X113 </ci>
+              <ci> Y113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X113 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114" stoichiometry="2"/>
+          <speciesReference species="Y114"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X114 </ci>
+              <ci> X114 </ci>
+              <ci> Y114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X114 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115" stoichiometry="2"/>
+          <speciesReference species="Y115"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X115 </ci>
+              <ci> X115 </ci>
+              <ci> Y115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X115 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116" stoichiometry="2"/>
+          <speciesReference species="Y116"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X116 </ci>
+              <ci> X116 </ci>
+              <ci> Y116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X116 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117" stoichiometry="2"/>
+          <speciesReference species="Y117"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X117 </ci>
+              <ci> X117 </ci>
+              <ci> Y117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X117 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118" stoichiometry="2"/>
+          <speciesReference species="Y118"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X118 </ci>
+              <ci> X118 </ci>
+              <ci> Y118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X118 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119" stoichiometry="2"/>
+          <speciesReference species="Y119"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X119 </ci>
+              <ci> X119 </ci>
+              <ci> Y119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X119 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120" stoichiometry="2"/>
+          <speciesReference species="Y120"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X120 </ci>
+              <ci> X120 </ci>
+              <ci> Y120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X120 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121" stoichiometry="2"/>
+          <speciesReference species="Y121"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X121 </ci>
+              <ci> X121 </ci>
+              <ci> Y121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X121 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122" stoichiometry="2"/>
+          <speciesReference species="Y122"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X122 </ci>
+              <ci> X122 </ci>
+              <ci> Y122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X122 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123" stoichiometry="2"/>
+          <speciesReference species="Y123"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X123 </ci>
+              <ci> X123 </ci>
+              <ci> Y123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X123 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124" stoichiometry="2"/>
+          <speciesReference species="Y124"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X124 </ci>
+              <ci> X124 </ci>
+              <ci> Y124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X124 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125" stoichiometry="2"/>
+          <speciesReference species="Y125"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X125 </ci>
+              <ci> X125 </ci>
+              <ci> Y125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X125 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126" stoichiometry="2"/>
+          <speciesReference species="Y126"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X126 </ci>
+              <ci> X126 </ci>
+              <ci> Y126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X126 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127" stoichiometry="2"/>
+          <speciesReference species="Y127"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X127 </ci>
+              <ci> X127 </ci>
+              <ci> Y127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X127 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128" stoichiometry="2"/>
+          <speciesReference species="Y128"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X128 </ci>
+              <ci> X128 </ci>
+              <ci> Y128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X128 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129" stoichiometry="2"/>
+          <speciesReference species="Y129"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X129 </ci>
+              <ci> X129 </ci>
+              <ci> Y129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X129 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130" stoichiometry="2"/>
+          <speciesReference species="Y130"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X130 </ci>
+              <ci> X130 </ci>
+              <ci> Y130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X130 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131" stoichiometry="2"/>
+          <speciesReference species="Y131"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X131 </ci>
+              <ci> X131 </ci>
+              <ci> Y131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X131 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132" stoichiometry="2"/>
+          <speciesReference species="Y132"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X132 </ci>
+              <ci> X132 </ci>
+              <ci> Y132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X132 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133" stoichiometry="2"/>
+          <speciesReference species="Y133"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X133 </ci>
+              <ci> X133 </ci>
+              <ci> Y133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X133 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134" stoichiometry="2"/>
+          <speciesReference species="Y134"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X134 </ci>
+              <ci> X134 </ci>
+              <ci> Y134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X134 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135" stoichiometry="2"/>
+          <speciesReference species="Y135"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X135 </ci>
+              <ci> X135 </ci>
+              <ci> Y135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X135 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136" stoichiometry="2"/>
+          <speciesReference species="Y136"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X136 </ci>
+              <ci> X136 </ci>
+              <ci> Y136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X136 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137" stoichiometry="2"/>
+          <speciesReference species="Y137"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X137 </ci>
+              <ci> X137 </ci>
+              <ci> Y137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X137 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138" stoichiometry="2"/>
+          <speciesReference species="Y138"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X138 </ci>
+              <ci> X138 </ci>
+              <ci> Y138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X138 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139" stoichiometry="2"/>
+          <speciesReference species="Y139"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X139 </ci>
+              <ci> X139 </ci>
+              <ci> Y139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X139 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140" stoichiometry="2"/>
+          <speciesReference species="Y140"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X140 </ci>
+              <ci> X140 </ci>
+              <ci> Y140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X140 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141" stoichiometry="2"/>
+          <speciesReference species="Y141"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X141 </ci>
+              <ci> X141 </ci>
+              <ci> Y141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X141 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142" stoichiometry="2"/>
+          <speciesReference species="Y142"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X142 </ci>
+              <ci> X142 </ci>
+              <ci> Y142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X142 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143" stoichiometry="2"/>
+          <speciesReference species="Y143"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X143 </ci>
+              <ci> X143 </ci>
+              <ci> Y143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X143 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144" stoichiometry="2"/>
+          <speciesReference species="Y144"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X144 </ci>
+              <ci> X144 </ci>
+              <ci> Y144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X144 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145" stoichiometry="2"/>
+          <speciesReference species="Y145"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X145 </ci>
+              <ci> X145 </ci>
+              <ci> Y145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X145 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146" stoichiometry="2"/>
+          <speciesReference species="Y146"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X146 </ci>
+              <ci> X146 </ci>
+              <ci> Y146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X146 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147" stoichiometry="2"/>
+          <speciesReference species="Y147"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X147 </ci>
+              <ci> X147 </ci>
+              <ci> Y147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X147 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148" stoichiometry="2"/>
+          <speciesReference species="Y148"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X148 </ci>
+              <ci> X148 </ci>
+              <ci> Y148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X148 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149" stoichiometry="2"/>
+          <speciesReference species="Y149"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X149 </ci>
+              <ci> X149 </ci>
+              <ci> Y149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X149 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150" stoichiometry="2"/>
+          <speciesReference species="Y150"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X150 </ci>
+              <ci> X150 </ci>
+              <ci> Y150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X150 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151" stoichiometry="2"/>
+          <speciesReference species="Y151"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X151 </ci>
+              <ci> X151 </ci>
+              <ci> Y151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X151 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152" stoichiometry="2"/>
+          <speciesReference species="Y152"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X152 </ci>
+              <ci> X152 </ci>
+              <ci> Y152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X152 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153" stoichiometry="2"/>
+          <speciesReference species="Y153"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X153 </ci>
+              <ci> X153 </ci>
+              <ci> Y153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X153 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154" stoichiometry="2"/>
+          <speciesReference species="Y154"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X154 </ci>
+              <ci> X154 </ci>
+              <ci> Y154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X154 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155" stoichiometry="2"/>
+          <speciesReference species="Y155"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X155 </ci>
+              <ci> X155 </ci>
+              <ci> Y155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X155 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156" stoichiometry="2"/>
+          <speciesReference species="Y156"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X156 </ci>
+              <ci> X156 </ci>
+              <ci> Y156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X156 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157" stoichiometry="2"/>
+          <speciesReference species="Y157"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X157 </ci>
+              <ci> X157 </ci>
+              <ci> Y157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X157 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158" stoichiometry="2"/>
+          <speciesReference species="Y158"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X158 </ci>
+              <ci> X158 </ci>
+              <ci> Y158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X158 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159" stoichiometry="2"/>
+          <speciesReference species="Y159"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X159 </ci>
+              <ci> X159 </ci>
+              <ci> Y159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X159 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160" stoichiometry="2"/>
+          <speciesReference species="Y160"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X160 </ci>
+              <ci> X160 </ci>
+              <ci> Y160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X160 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161" stoichiometry="2"/>
+          <speciesReference species="Y161"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X161 </ci>
+              <ci> X161 </ci>
+              <ci> Y161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X161 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162" stoichiometry="2"/>
+          <speciesReference species="Y162"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X162 </ci>
+              <ci> X162 </ci>
+              <ci> Y162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X162 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163" stoichiometry="2"/>
+          <speciesReference species="Y163"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X163 </ci>
+              <ci> X163 </ci>
+              <ci> Y163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X163 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164" stoichiometry="2"/>
+          <speciesReference species="Y164"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X164 </ci>
+              <ci> X164 </ci>
+              <ci> Y164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X164 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165" stoichiometry="2"/>
+          <speciesReference species="Y165"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X165 </ci>
+              <ci> X165 </ci>
+              <ci> Y165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X165 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166" stoichiometry="2"/>
+          <speciesReference species="Y166"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X166 </ci>
+              <ci> X166 </ci>
+              <ci> Y166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X166 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167" stoichiometry="2"/>
+          <speciesReference species="Y167"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X167 </ci>
+              <ci> X167 </ci>
+              <ci> Y167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X167 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168" stoichiometry="2"/>
+          <speciesReference species="Y168"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X168 </ci>
+              <ci> X168 </ci>
+              <ci> Y168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X168 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169" stoichiometry="2"/>
+          <speciesReference species="Y169"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X169 </ci>
+              <ci> X169 </ci>
+              <ci> Y169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X169 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170" stoichiometry="2"/>
+          <speciesReference species="Y170"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X170 </ci>
+              <ci> X170 </ci>
+              <ci> Y170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X170 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171" stoichiometry="2"/>
+          <speciesReference species="Y171"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X171 </ci>
+              <ci> X171 </ci>
+              <ci> Y171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X171 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172" stoichiometry="2"/>
+          <speciesReference species="Y172"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X172 </ci>
+              <ci> X172 </ci>
+              <ci> Y172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X172 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173" stoichiometry="2"/>
+          <speciesReference species="Y173"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X173 </ci>
+              <ci> X173 </ci>
+              <ci> Y173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X173 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174" stoichiometry="2"/>
+          <speciesReference species="Y174"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X174 </ci>
+              <ci> X174 </ci>
+              <ci> Y174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X174 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175" stoichiometry="2"/>
+          <speciesReference species="Y175"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X175 </ci>
+              <ci> X175 </ci>
+              <ci> Y175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X175 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176" stoichiometry="2"/>
+          <speciesReference species="Y176"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X176 </ci>
+              <ci> X176 </ci>
+              <ci> Y176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X176 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177" stoichiometry="2"/>
+          <speciesReference species="Y177"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X177 </ci>
+              <ci> X177 </ci>
+              <ci> Y177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X177 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178" stoichiometry="2"/>
+          <speciesReference species="Y178"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X178 </ci>
+              <ci> X178 </ci>
+              <ci> Y178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X178 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179" stoichiometry="2"/>
+          <speciesReference species="Y179"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X179 </ci>
+              <ci> X179 </ci>
+              <ci> Y179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X179 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180" stoichiometry="2"/>
+          <speciesReference species="Y180"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X180 </ci>
+              <ci> X180 </ci>
+              <ci> Y180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X180 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181" stoichiometry="2"/>
+          <speciesReference species="Y181"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X181 </ci>
+              <ci> X181 </ci>
+              <ci> Y181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X181 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182" stoichiometry="2"/>
+          <speciesReference species="Y182"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X182 </ci>
+              <ci> X182 </ci>
+              <ci> Y182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X182 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183" stoichiometry="2"/>
+          <speciesReference species="Y183"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X183 </ci>
+              <ci> X183 </ci>
+              <ci> Y183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X183 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184" stoichiometry="2"/>
+          <speciesReference species="Y184"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X184 </ci>
+              <ci> X184 </ci>
+              <ci> Y184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X184 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185" stoichiometry="2"/>
+          <speciesReference species="Y185"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X185 </ci>
+              <ci> X185 </ci>
+              <ci> Y185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X185 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186" stoichiometry="2"/>
+          <speciesReference species="Y186"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X186 </ci>
+              <ci> X186 </ci>
+              <ci> Y186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X186 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187" stoichiometry="2"/>
+          <speciesReference species="Y187"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X187 </ci>
+              <ci> X187 </ci>
+              <ci> Y187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X187 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188" stoichiometry="2"/>
+          <speciesReference species="Y188"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X188 </ci>
+              <ci> X188 </ci>
+              <ci> Y188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X188 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189" stoichiometry="2"/>
+          <speciesReference species="Y189"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X189 </ci>
+              <ci> X189 </ci>
+              <ci> Y189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X189 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190" stoichiometry="2"/>
+          <speciesReference species="Y190"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X190 </ci>
+              <ci> X190 </ci>
+              <ci> Y190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X190 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191" stoichiometry="2"/>
+          <speciesReference species="Y191"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X191 </ci>
+              <ci> X191 </ci>
+              <ci> Y191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X191 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192" stoichiometry="2"/>
+          <speciesReference species="Y192"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X192 </ci>
+              <ci> X192 </ci>
+              <ci> Y192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X192 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193" stoichiometry="2"/>
+          <speciesReference species="Y193"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X193 </ci>
+              <ci> X193 </ci>
+              <ci> Y193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X193 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194" stoichiometry="2"/>
+          <speciesReference species="Y194"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X194 </ci>
+              <ci> X194 </ci>
+              <ci> Y194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X194 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195" stoichiometry="2"/>
+          <speciesReference species="Y195"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X195 </ci>
+              <ci> X195 </ci>
+              <ci> Y195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X195 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196" stoichiometry="2"/>
+          <speciesReference species="Y196"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X196 </ci>
+              <ci> X196 </ci>
+              <ci> Y196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X196 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197" stoichiometry="2"/>
+          <speciesReference species="Y197"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X197 </ci>
+              <ci> X197 </ci>
+              <ci> Y197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X197 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198" stoichiometry="2"/>
+          <speciesReference species="Y198"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X198 </ci>
+              <ci> X198 </ci>
+              <ci> Y198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X198 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199" stoichiometry="2"/>
+          <speciesReference species="Y199"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X199 </ci>
+              <ci> X199 </ci>
+              <ci> Y199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X199 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200" stoichiometry="2"/>
+          <speciesReference species="Y200"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X200 </ci>
+              <ci> X200 </ci>
+              <ci> Y200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X200 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201" stoichiometry="2"/>
+          <speciesReference species="Y201"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X201 </ci>
+              <ci> X201 </ci>
+              <ci> Y201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X201 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202" stoichiometry="2"/>
+          <speciesReference species="Y202"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X202 </ci>
+              <ci> X202 </ci>
+              <ci> Y202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X202 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203" stoichiometry="2"/>
+          <speciesReference species="Y203"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X203 </ci>
+              <ci> X203 </ci>
+              <ci> Y203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X203 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204" stoichiometry="2"/>
+          <speciesReference species="Y204"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X204 </ci>
+              <ci> X204 </ci>
+              <ci> Y204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X204 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205" stoichiometry="2"/>
+          <speciesReference species="Y205"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X205 </ci>
+              <ci> X205 </ci>
+              <ci> Y205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X205 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206" stoichiometry="2"/>
+          <speciesReference species="Y206"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X206 </ci>
+              <ci> X206 </ci>
+              <ci> Y206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X206 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207" stoichiometry="2"/>
+          <speciesReference species="Y207"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X207 </ci>
+              <ci> X207 </ci>
+              <ci> Y207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X207 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208" stoichiometry="2"/>
+          <speciesReference species="Y208"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X208 </ci>
+              <ci> X208 </ci>
+              <ci> Y208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X208 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209" stoichiometry="2"/>
+          <speciesReference species="Y209"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X209 </ci>
+              <ci> X209 </ci>
+              <ci> Y209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X209 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210" stoichiometry="2"/>
+          <speciesReference species="Y210"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X210 </ci>
+              <ci> X210 </ci>
+              <ci> Y210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X210 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211" stoichiometry="2"/>
+          <speciesReference species="Y211"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X211 </ci>
+              <ci> X211 </ci>
+              <ci> Y211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X211 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212" stoichiometry="2"/>
+          <speciesReference species="Y212"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X212 </ci>
+              <ci> X212 </ci>
+              <ci> Y212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X212 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213" stoichiometry="2"/>
+          <speciesReference species="Y213"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X213 </ci>
+              <ci> X213 </ci>
+              <ci> Y213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X213 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214" stoichiometry="2"/>
+          <speciesReference species="Y214"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X214 </ci>
+              <ci> X214 </ci>
+              <ci> Y214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X214 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215" stoichiometry="2"/>
+          <speciesReference species="Y215"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X215 </ci>
+              <ci> X215 </ci>
+              <ci> Y215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X215 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216" stoichiometry="2"/>
+          <speciesReference species="Y216"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X216 </ci>
+              <ci> X216 </ci>
+              <ci> Y216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X216 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217" stoichiometry="2"/>
+          <speciesReference species="Y217"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X217 </ci>
+              <ci> X217 </ci>
+              <ci> Y217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X217 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218" stoichiometry="2"/>
+          <speciesReference species="Y218"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X218 </ci>
+              <ci> X218 </ci>
+              <ci> Y218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X218 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219" stoichiometry="2"/>
+          <speciesReference species="Y219"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X219 </ci>
+              <ci> X219 </ci>
+              <ci> Y219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X219 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220" stoichiometry="2"/>
+          <speciesReference species="Y220"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X220 </ci>
+              <ci> X220 </ci>
+              <ci> Y220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X220 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221" stoichiometry="2"/>
+          <speciesReference species="Y221"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X221 </ci>
+              <ci> X221 </ci>
+              <ci> Y221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X221 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222" stoichiometry="2"/>
+          <speciesReference species="Y222"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X222 </ci>
+              <ci> X222 </ci>
+              <ci> Y222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X222 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223" stoichiometry="2"/>
+          <speciesReference species="Y223"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X223 </ci>
+              <ci> X223 </ci>
+              <ci> Y223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X223 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224" stoichiometry="2"/>
+          <speciesReference species="Y224"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X224 </ci>
+              <ci> X224 </ci>
+              <ci> Y224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X224 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225" stoichiometry="2"/>
+          <speciesReference species="Y225"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X225 </ci>
+              <ci> X225 </ci>
+              <ci> Y225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X225 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226" stoichiometry="2"/>
+          <speciesReference species="Y226"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X226 </ci>
+              <ci> X226 </ci>
+              <ci> Y226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X226 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227" stoichiometry="2"/>
+          <speciesReference species="Y227"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X227 </ci>
+              <ci> X227 </ci>
+              <ci> Y227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X227 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228" stoichiometry="2"/>
+          <speciesReference species="Y228"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X228 </ci>
+              <ci> X228 </ci>
+              <ci> Y228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X228 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229" stoichiometry="2"/>
+          <speciesReference species="Y229"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X229 </ci>
+              <ci> X229 </ci>
+              <ci> Y229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X229 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230" stoichiometry="2"/>
+          <speciesReference species="Y230"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X230 </ci>
+              <ci> X230 </ci>
+              <ci> Y230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X230 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231" stoichiometry="2"/>
+          <speciesReference species="Y231"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X231 </ci>
+              <ci> X231 </ci>
+              <ci> Y231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X231 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232" stoichiometry="2"/>
+          <speciesReference species="Y232"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X232 </ci>
+              <ci> X232 </ci>
+              <ci> Y232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X232 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233" stoichiometry="2"/>
+          <speciesReference species="Y233"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X233 </ci>
+              <ci> X233 </ci>
+              <ci> Y233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X233 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234" stoichiometry="2"/>
+          <speciesReference species="Y234"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X234 </ci>
+              <ci> X234 </ci>
+              <ci> Y234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X234 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235" stoichiometry="2"/>
+          <speciesReference species="Y235"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X235 </ci>
+              <ci> X235 </ci>
+              <ci> Y235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X235 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236" stoichiometry="2"/>
+          <speciesReference species="Y236"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X236 </ci>
+              <ci> X236 </ci>
+              <ci> Y236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X236 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237" stoichiometry="2"/>
+          <speciesReference species="Y237"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X237 </ci>
+              <ci> X237 </ci>
+              <ci> Y237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X237 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238" stoichiometry="2"/>
+          <speciesReference species="Y238"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X238 </ci>
+              <ci> X238 </ci>
+              <ci> Y238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X238 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239" stoichiometry="2"/>
+          <speciesReference species="Y239"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X239 </ci>
+              <ci> X239 </ci>
+              <ci> Y239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X239 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240" stoichiometry="2"/>
+          <speciesReference species="Y240"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X240 </ci>
+              <ci> X240 </ci>
+              <ci> Y240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X240 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241" stoichiometry="2"/>
+          <speciesReference species="Y241"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X241 </ci>
+              <ci> X241 </ci>
+              <ci> Y241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X241 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242" stoichiometry="2"/>
+          <speciesReference species="Y242"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X242 </ci>
+              <ci> X242 </ci>
+              <ci> Y242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X242 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243" stoichiometry="2"/>
+          <speciesReference species="Y243"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X243 </ci>
+              <ci> X243 </ci>
+              <ci> Y243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X243 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244" stoichiometry="2"/>
+          <speciesReference species="Y244"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X244 </ci>
+              <ci> X244 </ci>
+              <ci> Y244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X244 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245" stoichiometry="2"/>
+          <speciesReference species="Y245"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X245 </ci>
+              <ci> X245 </ci>
+              <ci> Y245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X245 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246" stoichiometry="2"/>
+          <speciesReference species="Y246"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X246 </ci>
+              <ci> X246 </ci>
+              <ci> Y246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X246 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247" stoichiometry="2"/>
+          <speciesReference species="Y247"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X247 </ci>
+              <ci> X247 </ci>
+              <ci> Y247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X247 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248" stoichiometry="2"/>
+          <speciesReference species="Y248"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X248 </ci>
+              <ci> X248 </ci>
+              <ci> Y248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X248 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249" stoichiometry="2"/>
+          <speciesReference species="Y249"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X249 </ci>
+              <ci> X249 </ci>
+              <ci> Y249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X249 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250" stoichiometry="2"/>
+          <speciesReference species="Y250"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X250 </ci>
+              <ci> X250 </ci>
+              <ci> Y250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X250 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X251"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251" stoichiometry="2"/>
+          <speciesReference species="Y251"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X251" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X251 </ci>
+              <ci> X251 </ci>
+              <ci> Y251 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y251"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X251 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X251 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X252"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252" stoichiometry="2"/>
+          <speciesReference species="Y252"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X252" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X252 </ci>
+              <ci> X252 </ci>
+              <ci> Y252 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y252"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X252 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X252 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X253"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253" stoichiometry="2"/>
+          <speciesReference species="Y253"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X253" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X253 </ci>
+              <ci> X253 </ci>
+              <ci> Y253 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y253"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X253 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X253 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X254"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254" stoichiometry="2"/>
+          <speciesReference species="Y254"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X254" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X254 </ci>
+              <ci> X254 </ci>
+              <ci> Y254 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y254"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X254 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X254 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X255"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255" stoichiometry="2"/>
+          <speciesReference species="Y255"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X255" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X255 </ci>
+              <ci> X255 </ci>
+              <ci> Y255 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y255"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X255 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X255 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X256"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256" stoichiometry="2"/>
+          <speciesReference species="Y256"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X256" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X256 </ci>
+              <ci> X256 </ci>
+              <ci> Y256 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y256"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X256 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X256 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X257"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257" stoichiometry="2"/>
+          <speciesReference species="Y257"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X257" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X257 </ci>
+              <ci> X257 </ci>
+              <ci> Y257 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y257"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X257 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X257 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X258"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258" stoichiometry="2"/>
+          <speciesReference species="Y258"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X258" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X258 </ci>
+              <ci> X258 </ci>
+              <ci> Y258 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y258"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X258 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X258 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X259"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259" stoichiometry="2"/>
+          <speciesReference species="Y259"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X259" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X259 </ci>
+              <ci> X259 </ci>
+              <ci> Y259 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y259"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X259 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X259 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X260"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260" stoichiometry="2"/>
+          <speciesReference species="Y260"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X260" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X260 </ci>
+              <ci> X260 </ci>
+              <ci> Y260 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y260"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X260 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X260 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X261"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261" stoichiometry="2"/>
+          <speciesReference species="Y261"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X261" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X261 </ci>
+              <ci> X261 </ci>
+              <ci> Y261 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y261"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X261 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X261 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X262"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262" stoichiometry="2"/>
+          <speciesReference species="Y262"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X262" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X262 </ci>
+              <ci> X262 </ci>
+              <ci> Y262 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y262"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X262 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X262 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X263"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263" stoichiometry="2"/>
+          <speciesReference species="Y263"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X263" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X263 </ci>
+              <ci> X263 </ci>
+              <ci> Y263 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y263"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X263 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X263 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X264"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264" stoichiometry="2"/>
+          <speciesReference species="Y264"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X264" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X264 </ci>
+              <ci> X264 </ci>
+              <ci> Y264 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y264"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X264 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X264 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X265"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265" stoichiometry="2"/>
+          <speciesReference species="Y265"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X265" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X265 </ci>
+              <ci> X265 </ci>
+              <ci> Y265 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y265"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X265 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X265 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X266"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266" stoichiometry="2"/>
+          <speciesReference species="Y266"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X266" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X266 </ci>
+              <ci> X266 </ci>
+              <ci> Y266 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y266"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X266 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X266 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X267"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267" stoichiometry="2"/>
+          <speciesReference species="Y267"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X267" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X267 </ci>
+              <ci> X267 </ci>
+              <ci> Y267 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y267"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X267 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X267 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X268"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268" stoichiometry="2"/>
+          <speciesReference species="Y268"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X268" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X268 </ci>
+              <ci> X268 </ci>
+              <ci> Y268 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y268"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X268 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X268 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X269"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269" stoichiometry="2"/>
+          <speciesReference species="Y269"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X269" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X269 </ci>
+              <ci> X269 </ci>
+              <ci> Y269 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y269"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X269 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X269 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X270"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270" stoichiometry="2"/>
+          <speciesReference species="Y270"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X270" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X270 </ci>
+              <ci> X270 </ci>
+              <ci> Y270 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y270"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X270 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X270 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X271"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271" stoichiometry="2"/>
+          <speciesReference species="Y271"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X271" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X271 </ci>
+              <ci> X271 </ci>
+              <ci> Y271 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y271"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X271 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X271 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X272"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272" stoichiometry="2"/>
+          <speciesReference species="Y272"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X272" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X272 </ci>
+              <ci> X272 </ci>
+              <ci> Y272 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y272"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X272 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X272 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X273"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273" stoichiometry="2"/>
+          <speciesReference species="Y273"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X273" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X273 </ci>
+              <ci> X273 </ci>
+              <ci> Y273 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y273"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X273 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X273 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X274"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274" stoichiometry="2"/>
+          <speciesReference species="Y274"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X274" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X274 </ci>
+              <ci> X274 </ci>
+              <ci> Y274 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y274"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X274 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X274 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X275"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275" stoichiometry="2"/>
+          <speciesReference species="Y275"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X275" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X275 </ci>
+              <ci> X275 </ci>
+              <ci> Y275 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y275"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X275 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X275 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X276"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276" stoichiometry="2"/>
+          <speciesReference species="Y276"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X276" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X276 </ci>
+              <ci> X276 </ci>
+              <ci> Y276 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y276"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X276 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X276 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X277"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277" stoichiometry="2"/>
+          <speciesReference species="Y277"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X277" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X277 </ci>
+              <ci> X277 </ci>
+              <ci> Y277 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y277"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X277 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X277 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X278"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278" stoichiometry="2"/>
+          <speciesReference species="Y278"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X278" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X278 </ci>
+              <ci> X278 </ci>
+              <ci> Y278 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y278"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X278 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X278 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X279"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279" stoichiometry="2"/>
+          <speciesReference species="Y279"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X279" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X279 </ci>
+              <ci> X279 </ci>
+              <ci> Y279 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y279"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X279 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X279 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X280"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280" stoichiometry="2"/>
+          <speciesReference species="Y280"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X280" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X280 </ci>
+              <ci> X280 </ci>
+              <ci> Y280 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y280"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X280 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X280 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X281"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281" stoichiometry="2"/>
+          <speciesReference species="Y281"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X281" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X281 </ci>
+              <ci> X281 </ci>
+              <ci> Y281 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y281"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X281 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X281 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X282"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282" stoichiometry="2"/>
+          <speciesReference species="Y282"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X282" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X282 </ci>
+              <ci> X282 </ci>
+              <ci> Y282 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y282"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X282 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X282 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X283"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283" stoichiometry="2"/>
+          <speciesReference species="Y283"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X283" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X283 </ci>
+              <ci> X283 </ci>
+              <ci> Y283 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y283"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X283 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X283 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X284"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284" stoichiometry="2"/>
+          <speciesReference species="Y284"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X284" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X284 </ci>
+              <ci> X284 </ci>
+              <ci> Y284 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y284"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X284 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X284 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X285"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285" stoichiometry="2"/>
+          <speciesReference species="Y285"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X285" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X285 </ci>
+              <ci> X285 </ci>
+              <ci> Y285 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y285"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X285 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X285 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X286"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286" stoichiometry="2"/>
+          <speciesReference species="Y286"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X286" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X286 </ci>
+              <ci> X286 </ci>
+              <ci> Y286 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y286"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X286 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X286 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X287"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287" stoichiometry="2"/>
+          <speciesReference species="Y287"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X287" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X287 </ci>
+              <ci> X287 </ci>
+              <ci> Y287 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y287"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X287 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X287 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X288"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288" stoichiometry="2"/>
+          <speciesReference species="Y288"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X288" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X288 </ci>
+              <ci> X288 </ci>
+              <ci> Y288 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y288"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X288 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X288 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X289"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289" stoichiometry="2"/>
+          <speciesReference species="Y289"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X289" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X289 </ci>
+              <ci> X289 </ci>
+              <ci> Y289 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y289"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X289 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X289 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X290"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290" stoichiometry="2"/>
+          <speciesReference species="Y290"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X290" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X290 </ci>
+              <ci> X290 </ci>
+              <ci> Y290 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y290"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X290 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X290 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X291"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291" stoichiometry="2"/>
+          <speciesReference species="Y291"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X291" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X291 </ci>
+              <ci> X291 </ci>
+              <ci> Y291 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y291"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X291 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X291 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X292"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292" stoichiometry="2"/>
+          <speciesReference species="Y292"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X292" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X292 </ci>
+              <ci> X292 </ci>
+              <ci> Y292 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y292"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X292 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X292 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X293"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293" stoichiometry="2"/>
+          <speciesReference species="Y293"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X293" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X293 </ci>
+              <ci> X293 </ci>
+              <ci> Y293 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y293"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X293 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X293 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X294"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294" stoichiometry="2"/>
+          <speciesReference species="Y294"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X294" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X294 </ci>
+              <ci> X294 </ci>
+              <ci> Y294 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y294"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X294 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X294 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X295"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295" stoichiometry="2"/>
+          <speciesReference species="Y295"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X295" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X295 </ci>
+              <ci> X295 </ci>
+              <ci> Y295 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y295"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X295 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X295 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X296"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296" stoichiometry="2"/>
+          <speciesReference species="Y296"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X296" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X296 </ci>
+              <ci> X296 </ci>
+              <ci> Y296 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y296"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X296 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X296 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X297"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297" stoichiometry="2"/>
+          <speciesReference species="Y297"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X297" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X297 </ci>
+              <ci> X297 </ci>
+              <ci> Y297 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y297"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X297 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X297 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X298"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298" stoichiometry="2"/>
+          <speciesReference species="Y298"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X298" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X298 </ci>
+              <ci> X298 </ci>
+              <ci> Y298 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y298"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X298 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X298 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X299"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299" stoichiometry="2"/>
+          <speciesReference species="Y299"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X299" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X299 </ci>
+              <ci> X299 </ci>
+              <ci> Y299 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y299"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X299 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X299 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X300"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300" stoichiometry="2"/>
+          <speciesReference species="Y300"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X300" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X300 </ci>
+              <ci> X300 </ci>
+              <ci> Y300 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y300"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X300 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X300 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/00350/00350-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00350/00350-sbml-l2v4.xml
new file mode 100644
index 0000000..ac8001a
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00350/00350-sbml-l2v4.xml
@@ -0,0 +1,25325 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X251" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y251" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X252" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y252" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X253" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y253" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X254" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y254" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X255" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y255" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X256" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y256" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X257" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y257" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X258" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y258" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X259" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y259" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X260" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y260" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X261" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y261" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X262" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y262" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X263" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y263" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X264" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y264" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X265" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y265" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X266" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y266" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X267" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y267" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X268" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y268" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X269" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y269" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X270" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y270" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X271" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y271" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X272" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y272" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X273" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y273" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X274" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y274" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X275" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y275" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X276" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y276" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X277" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y277" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X278" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y278" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X279" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y279" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X280" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y280" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X281" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y281" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X282" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y282" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X283" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y283" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X284" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y284" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X285" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y285" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X286" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y286" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X287" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y287" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X288" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y288" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X289" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y289" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X290" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y290" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X291" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y291" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X292" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y292" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X293" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y293" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X294" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y294" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X295" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y295" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X296" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y296" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X297" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y297" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X298" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y298" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X299" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y299" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X300" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y300" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X301" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y301" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X302" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y302" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X303" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y303" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X304" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y304" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X305" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y305" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X306" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y306" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X307" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y307" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X308" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y308" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X309" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y309" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X310" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y310" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X311" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y311" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X312" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y312" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X313" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y313" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X314" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y314" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X315" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y315" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X316" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y316" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X317" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y317" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X318" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y318" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X319" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y319" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X320" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y320" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X321" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y321" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X322" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y322" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X323" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y323" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X324" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y324" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X325" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y325" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X326" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y326" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X327" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y327" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X328" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y328" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X329" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y329" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X330" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y330" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X331" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y331" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X332" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y332" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X333" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y333" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X334" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y334" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X335" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y335" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X336" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y336" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X337" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y337" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X338" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y338" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X339" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y339" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X340" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y340" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X341" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y341" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X342" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y342" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X343" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y343" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X344" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y344" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X345" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y345" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X346" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y346" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X347" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y347" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X348" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y348" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X349" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y349" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X350" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y350" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="2"/>
+          <speciesReference species="Y2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X2 </ci>
+              <ci> X2 </ci>
+              <ci> Y2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X2 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3" stoichiometry="2"/>
+          <speciesReference species="Y3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X3 </ci>
+              <ci> X3 </ci>
+              <ci> Y3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X3 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4" stoichiometry="2"/>
+          <speciesReference species="Y4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X4 </ci>
+              <ci> X4 </ci>
+              <ci> Y4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X4 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5" stoichiometry="2"/>
+          <speciesReference species="Y5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X5 </ci>
+              <ci> X5 </ci>
+              <ci> Y5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X5 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6" stoichiometry="2"/>
+          <speciesReference species="Y6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X6 </ci>
+              <ci> X6 </ci>
+              <ci> Y6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X6 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7" stoichiometry="2"/>
+          <speciesReference species="Y7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X7 </ci>
+              <ci> X7 </ci>
+              <ci> Y7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X7 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8" stoichiometry="2"/>
+          <speciesReference species="Y8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X8 </ci>
+              <ci> X8 </ci>
+              <ci> Y8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X8 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9" stoichiometry="2"/>
+          <speciesReference species="Y9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X9 </ci>
+              <ci> X9 </ci>
+              <ci> Y9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X9 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10" stoichiometry="2"/>
+          <speciesReference species="Y10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X10 </ci>
+              <ci> X10 </ci>
+              <ci> Y10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X10 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11" stoichiometry="2"/>
+          <speciesReference species="Y11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X11 </ci>
+              <ci> X11 </ci>
+              <ci> Y11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X11 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12" stoichiometry="2"/>
+          <speciesReference species="Y12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X12 </ci>
+              <ci> X12 </ci>
+              <ci> Y12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X12 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13" stoichiometry="2"/>
+          <speciesReference species="Y13"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X13 </ci>
+              <ci> X13 </ci>
+              <ci> Y13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X13 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14" stoichiometry="2"/>
+          <speciesReference species="Y14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X14 </ci>
+              <ci> X14 </ci>
+              <ci> Y14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X14 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15" stoichiometry="2"/>
+          <speciesReference species="Y15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X15 </ci>
+              <ci> X15 </ci>
+              <ci> Y15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X15 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16" stoichiometry="2"/>
+          <speciesReference species="Y16"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X16 </ci>
+              <ci> X16 </ci>
+              <ci> Y16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X16 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17" stoichiometry="2"/>
+          <speciesReference species="Y17"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X17 </ci>
+              <ci> X17 </ci>
+              <ci> Y17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X17 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18" stoichiometry="2"/>
+          <speciesReference species="Y18"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X18 </ci>
+              <ci> X18 </ci>
+              <ci> Y18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X18 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19" stoichiometry="2"/>
+          <speciesReference species="Y19"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X19 </ci>
+              <ci> X19 </ci>
+              <ci> Y19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X19 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20" stoichiometry="2"/>
+          <speciesReference species="Y20"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X20 </ci>
+              <ci> X20 </ci>
+              <ci> Y20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X20 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21" stoichiometry="2"/>
+          <speciesReference species="Y21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X21 </ci>
+              <ci> X21 </ci>
+              <ci> Y21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X21 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22" stoichiometry="2"/>
+          <speciesReference species="Y22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X22 </ci>
+              <ci> X22 </ci>
+              <ci> Y22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X22 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23" stoichiometry="2"/>
+          <speciesReference species="Y23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X23 </ci>
+              <ci> X23 </ci>
+              <ci> Y23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X23 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24" stoichiometry="2"/>
+          <speciesReference species="Y24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X24 </ci>
+              <ci> X24 </ci>
+              <ci> Y24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X24 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25" stoichiometry="2"/>
+          <speciesReference species="Y25"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X25 </ci>
+              <ci> X25 </ci>
+              <ci> Y25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X25 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26" stoichiometry="2"/>
+          <speciesReference species="Y26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X26 </ci>
+              <ci> X26 </ci>
+              <ci> Y26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X26 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27" stoichiometry="2"/>
+          <speciesReference species="Y27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X27 </ci>
+              <ci> X27 </ci>
+              <ci> Y27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X27 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28" stoichiometry="2"/>
+          <speciesReference species="Y28"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X28 </ci>
+              <ci> X28 </ci>
+              <ci> Y28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X28 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29" stoichiometry="2"/>
+          <speciesReference species="Y29"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X29 </ci>
+              <ci> X29 </ci>
+              <ci> Y29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X29 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30" stoichiometry="2"/>
+          <speciesReference species="Y30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X30 </ci>
+              <ci> X30 </ci>
+              <ci> Y30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X30 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31" stoichiometry="2"/>
+          <speciesReference species="Y31"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X31 </ci>
+              <ci> X31 </ci>
+              <ci> Y31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X31 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32" stoichiometry="2"/>
+          <speciesReference species="Y32"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X32 </ci>
+              <ci> X32 </ci>
+              <ci> Y32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X32 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33" stoichiometry="2"/>
+          <speciesReference species="Y33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X33 </ci>
+              <ci> X33 </ci>
+              <ci> Y33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X33 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34" stoichiometry="2"/>
+          <speciesReference species="Y34"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X34 </ci>
+              <ci> X34 </ci>
+              <ci> Y34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X34 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35" stoichiometry="2"/>
+          <speciesReference species="Y35"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X35 </ci>
+              <ci> X35 </ci>
+              <ci> Y35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X35 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36" stoichiometry="2"/>
+          <speciesReference species="Y36"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X36 </ci>
+              <ci> X36 </ci>
+              <ci> Y36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X36 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37" stoichiometry="2"/>
+          <speciesReference species="Y37"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X37 </ci>
+              <ci> X37 </ci>
+              <ci> Y37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X37 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38" stoichiometry="2"/>
+          <speciesReference species="Y38"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X38 </ci>
+              <ci> X38 </ci>
+              <ci> Y38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X38 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39" stoichiometry="2"/>
+          <speciesReference species="Y39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X39 </ci>
+              <ci> X39 </ci>
+              <ci> Y39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X39 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40" stoichiometry="2"/>
+          <speciesReference species="Y40"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X40 </ci>
+              <ci> X40 </ci>
+              <ci> Y40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X40 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41" stoichiometry="2"/>
+          <speciesReference species="Y41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X41 </ci>
+              <ci> X41 </ci>
+              <ci> Y41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X41 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42" stoichiometry="2"/>
+          <speciesReference species="Y42"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X42 </ci>
+              <ci> X42 </ci>
+              <ci> Y42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X42 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43" stoichiometry="2"/>
+          <speciesReference species="Y43"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X43 </ci>
+              <ci> X43 </ci>
+              <ci> Y43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X43 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44" stoichiometry="2"/>
+          <speciesReference species="Y44"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X44 </ci>
+              <ci> X44 </ci>
+              <ci> Y44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X44 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45" stoichiometry="2"/>
+          <speciesReference species="Y45"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X45 </ci>
+              <ci> X45 </ci>
+              <ci> Y45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X45 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46" stoichiometry="2"/>
+          <speciesReference species="Y46"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X46 </ci>
+              <ci> X46 </ci>
+              <ci> Y46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X46 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47" stoichiometry="2"/>
+          <speciesReference species="Y47"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X47 </ci>
+              <ci> X47 </ci>
+              <ci> Y47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X47 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48" stoichiometry="2"/>
+          <speciesReference species="Y48"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X48 </ci>
+              <ci> X48 </ci>
+              <ci> Y48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X48 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49" stoichiometry="2"/>
+          <speciesReference species="Y49"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X49 </ci>
+              <ci> X49 </ci>
+              <ci> Y49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X49 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50" stoichiometry="2"/>
+          <speciesReference species="Y50"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X50 </ci>
+              <ci> X50 </ci>
+              <ci> Y50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X50 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51" stoichiometry="2"/>
+          <speciesReference species="Y51"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X51 </ci>
+              <ci> X51 </ci>
+              <ci> Y51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X51 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52" stoichiometry="2"/>
+          <speciesReference species="Y52"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X52 </ci>
+              <ci> X52 </ci>
+              <ci> Y52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X52 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53" stoichiometry="2"/>
+          <speciesReference species="Y53"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X53 </ci>
+              <ci> X53 </ci>
+              <ci> Y53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X53 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54" stoichiometry="2"/>
+          <speciesReference species="Y54"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X54 </ci>
+              <ci> X54 </ci>
+              <ci> Y54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X54 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55" stoichiometry="2"/>
+          <speciesReference species="Y55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X55 </ci>
+              <ci> X55 </ci>
+              <ci> Y55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X55 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56" stoichiometry="2"/>
+          <speciesReference species="Y56"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X56 </ci>
+              <ci> X56 </ci>
+              <ci> Y56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X56 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57" stoichiometry="2"/>
+          <speciesReference species="Y57"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X57 </ci>
+              <ci> X57 </ci>
+              <ci> Y57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X57 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58" stoichiometry="2"/>
+          <speciesReference species="Y58"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X58 </ci>
+              <ci> X58 </ci>
+              <ci> Y58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X58 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59" stoichiometry="2"/>
+          <speciesReference species="Y59"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X59 </ci>
+              <ci> X59 </ci>
+              <ci> Y59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X59 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60" stoichiometry="2"/>
+          <speciesReference species="Y60"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X60 </ci>
+              <ci> X60 </ci>
+              <ci> Y60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X60 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61" stoichiometry="2"/>
+          <speciesReference species="Y61"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X61 </ci>
+              <ci> X61 </ci>
+              <ci> Y61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X61 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62" stoichiometry="2"/>
+          <speciesReference species="Y62"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X62 </ci>
+              <ci> X62 </ci>
+              <ci> Y62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X62 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63" stoichiometry="2"/>
+          <speciesReference species="Y63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X63 </ci>
+              <ci> X63 </ci>
+              <ci> Y63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X63 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64" stoichiometry="2"/>
+          <speciesReference species="Y64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X64 </ci>
+              <ci> X64 </ci>
+              <ci> Y64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X64 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65" stoichiometry="2"/>
+          <speciesReference species="Y65"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X65 </ci>
+              <ci> X65 </ci>
+              <ci> Y65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X65 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66" stoichiometry="2"/>
+          <speciesReference species="Y66"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X66 </ci>
+              <ci> X66 </ci>
+              <ci> Y66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X66 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67" stoichiometry="2"/>
+          <speciesReference species="Y67"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X67 </ci>
+              <ci> X67 </ci>
+              <ci> Y67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X67 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68" stoichiometry="2"/>
+          <speciesReference species="Y68"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X68 </ci>
+              <ci> X68 </ci>
+              <ci> Y68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X68 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69" stoichiometry="2"/>
+          <speciesReference species="Y69"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X69 </ci>
+              <ci> X69 </ci>
+              <ci> Y69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X69 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70" stoichiometry="2"/>
+          <speciesReference species="Y70"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X70 </ci>
+              <ci> X70 </ci>
+              <ci> Y70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X70 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71" stoichiometry="2"/>
+          <speciesReference species="Y71"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X71 </ci>
+              <ci> X71 </ci>
+              <ci> Y71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X71 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72" stoichiometry="2"/>
+          <speciesReference species="Y72"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X72 </ci>
+              <ci> X72 </ci>
+              <ci> Y72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X72 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73" stoichiometry="2"/>
+          <speciesReference species="Y73"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X73 </ci>
+              <ci> X73 </ci>
+              <ci> Y73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X73 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74" stoichiometry="2"/>
+          <speciesReference species="Y74"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X74 </ci>
+              <ci> X74 </ci>
+              <ci> Y74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X74 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75" stoichiometry="2"/>
+          <speciesReference species="Y75"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X75 </ci>
+              <ci> X75 </ci>
+              <ci> Y75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X75 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76" stoichiometry="2"/>
+          <speciesReference species="Y76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X76 </ci>
+              <ci> X76 </ci>
+              <ci> Y76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X76 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77" stoichiometry="2"/>
+          <speciesReference species="Y77"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X77 </ci>
+              <ci> X77 </ci>
+              <ci> Y77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X77 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78" stoichiometry="2"/>
+          <speciesReference species="Y78"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X78 </ci>
+              <ci> X78 </ci>
+              <ci> Y78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X78 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79" stoichiometry="2"/>
+          <speciesReference species="Y79"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X79 </ci>
+              <ci> X79 </ci>
+              <ci> Y79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X79 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80" stoichiometry="2"/>
+          <speciesReference species="Y80"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X80 </ci>
+              <ci> X80 </ci>
+              <ci> Y80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X80 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81" stoichiometry="2"/>
+          <speciesReference species="Y81"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X81 </ci>
+              <ci> X81 </ci>
+              <ci> Y81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X81 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82" stoichiometry="2"/>
+          <speciesReference species="Y82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X82 </ci>
+              <ci> X82 </ci>
+              <ci> Y82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X82 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83" stoichiometry="2"/>
+          <speciesReference species="Y83"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X83 </ci>
+              <ci> X83 </ci>
+              <ci> Y83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X83 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84" stoichiometry="2"/>
+          <speciesReference species="Y84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X84 </ci>
+              <ci> X84 </ci>
+              <ci> Y84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X84 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85" stoichiometry="2"/>
+          <speciesReference species="Y85"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X85 </ci>
+              <ci> X85 </ci>
+              <ci> Y85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X85 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86" stoichiometry="2"/>
+          <speciesReference species="Y86"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X86 </ci>
+              <ci> X86 </ci>
+              <ci> Y86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X86 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87" stoichiometry="2"/>
+          <speciesReference species="Y87"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X87 </ci>
+              <ci> X87 </ci>
+              <ci> Y87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X87 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88" stoichiometry="2"/>
+          <speciesReference species="Y88"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X88 </ci>
+              <ci> X88 </ci>
+              <ci> Y88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X88 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89" stoichiometry="2"/>
+          <speciesReference species="Y89"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X89 </ci>
+              <ci> X89 </ci>
+              <ci> Y89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X89 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90" stoichiometry="2"/>
+          <speciesReference species="Y90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X90 </ci>
+              <ci> X90 </ci>
+              <ci> Y90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X90 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91" stoichiometry="2"/>
+          <speciesReference species="Y91"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X91 </ci>
+              <ci> X91 </ci>
+              <ci> Y91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X91 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92" stoichiometry="2"/>
+          <speciesReference species="Y92"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X92 </ci>
+              <ci> X92 </ci>
+              <ci> Y92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X92 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93" stoichiometry="2"/>
+          <speciesReference species="Y93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X93 </ci>
+              <ci> X93 </ci>
+              <ci> Y93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X93 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94" stoichiometry="2"/>
+          <speciesReference species="Y94"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X94 </ci>
+              <ci> X94 </ci>
+              <ci> Y94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X94 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95" stoichiometry="2"/>
+          <speciesReference species="Y95"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X95 </ci>
+              <ci> X95 </ci>
+              <ci> Y95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X95 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96" stoichiometry="2"/>
+          <speciesReference species="Y96"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X96 </ci>
+              <ci> X96 </ci>
+              <ci> Y96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X96 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97" stoichiometry="2"/>
+          <speciesReference species="Y97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X97 </ci>
+              <ci> X97 </ci>
+              <ci> Y97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X97 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98" stoichiometry="2"/>
+          <speciesReference species="Y98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X98 </ci>
+              <ci> X98 </ci>
+              <ci> Y98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X98 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99" stoichiometry="2"/>
+          <speciesReference species="Y99"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X99 </ci>
+              <ci> X99 </ci>
+              <ci> Y99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X99 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100" stoichiometry="2"/>
+          <speciesReference species="Y100"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X100 </ci>
+              <ci> X100 </ci>
+              <ci> Y100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X100 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101" stoichiometry="2"/>
+          <speciesReference species="Y101"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X101 </ci>
+              <ci> X101 </ci>
+              <ci> Y101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X101 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102" stoichiometry="2"/>
+          <speciesReference species="Y102"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X102 </ci>
+              <ci> X102 </ci>
+              <ci> Y102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X102 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103" stoichiometry="2"/>
+          <speciesReference species="Y103"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X103 </ci>
+              <ci> X103 </ci>
+              <ci> Y103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X103 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104" stoichiometry="2"/>
+          <speciesReference species="Y104"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X104 </ci>
+              <ci> X104 </ci>
+              <ci> Y104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X104 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105" stoichiometry="2"/>
+          <speciesReference species="Y105"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X105 </ci>
+              <ci> X105 </ci>
+              <ci> Y105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X105 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106" stoichiometry="2"/>
+          <speciesReference species="Y106"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X106 </ci>
+              <ci> X106 </ci>
+              <ci> Y106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X106 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107" stoichiometry="2"/>
+          <speciesReference species="Y107"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X107 </ci>
+              <ci> X107 </ci>
+              <ci> Y107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X107 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108" stoichiometry="2"/>
+          <speciesReference species="Y108"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X108 </ci>
+              <ci> X108 </ci>
+              <ci> Y108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X108 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109" stoichiometry="2"/>
+          <speciesReference species="Y109"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X109 </ci>
+              <ci> X109 </ci>
+              <ci> Y109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X109 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110" stoichiometry="2"/>
+          <speciesReference species="Y110"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X110 </ci>
+              <ci> X110 </ci>
+              <ci> Y110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X110 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111" stoichiometry="2"/>
+          <speciesReference species="Y111"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X111 </ci>
+              <ci> X111 </ci>
+              <ci> Y111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X111 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112" stoichiometry="2"/>
+          <speciesReference species="Y112"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X112 </ci>
+              <ci> X112 </ci>
+              <ci> Y112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X112 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113" stoichiometry="2"/>
+          <speciesReference species="Y113"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X113 </ci>
+              <ci> X113 </ci>
+              <ci> Y113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X113 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114" stoichiometry="2"/>
+          <speciesReference species="Y114"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X114 </ci>
+              <ci> X114 </ci>
+              <ci> Y114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X114 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115" stoichiometry="2"/>
+          <speciesReference species="Y115"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X115 </ci>
+              <ci> X115 </ci>
+              <ci> Y115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X115 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116" stoichiometry="2"/>
+          <speciesReference species="Y116"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X116 </ci>
+              <ci> X116 </ci>
+              <ci> Y116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X116 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117" stoichiometry="2"/>
+          <speciesReference species="Y117"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X117 </ci>
+              <ci> X117 </ci>
+              <ci> Y117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X117 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118" stoichiometry="2"/>
+          <speciesReference species="Y118"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X118 </ci>
+              <ci> X118 </ci>
+              <ci> Y118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X118 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119" stoichiometry="2"/>
+          <speciesReference species="Y119"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X119 </ci>
+              <ci> X119 </ci>
+              <ci> Y119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X119 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120" stoichiometry="2"/>
+          <speciesReference species="Y120"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X120 </ci>
+              <ci> X120 </ci>
+              <ci> Y120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X120 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121" stoichiometry="2"/>
+          <speciesReference species="Y121"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X121 </ci>
+              <ci> X121 </ci>
+              <ci> Y121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X121 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122" stoichiometry="2"/>
+          <speciesReference species="Y122"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X122 </ci>
+              <ci> X122 </ci>
+              <ci> Y122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X122 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123" stoichiometry="2"/>
+          <speciesReference species="Y123"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X123 </ci>
+              <ci> X123 </ci>
+              <ci> Y123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X123 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124" stoichiometry="2"/>
+          <speciesReference species="Y124"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X124 </ci>
+              <ci> X124 </ci>
+              <ci> Y124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X124 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125" stoichiometry="2"/>
+          <speciesReference species="Y125"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X125 </ci>
+              <ci> X125 </ci>
+              <ci> Y125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X125 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126" stoichiometry="2"/>
+          <speciesReference species="Y126"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X126 </ci>
+              <ci> X126 </ci>
+              <ci> Y126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X126 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127" stoichiometry="2"/>
+          <speciesReference species="Y127"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X127 </ci>
+              <ci> X127 </ci>
+              <ci> Y127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X127 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128" stoichiometry="2"/>
+          <speciesReference species="Y128"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X128 </ci>
+              <ci> X128 </ci>
+              <ci> Y128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X128 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129" stoichiometry="2"/>
+          <speciesReference species="Y129"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X129 </ci>
+              <ci> X129 </ci>
+              <ci> Y129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X129 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130" stoichiometry="2"/>
+          <speciesReference species="Y130"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X130 </ci>
+              <ci> X130 </ci>
+              <ci> Y130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X130 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131" stoichiometry="2"/>
+          <speciesReference species="Y131"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X131 </ci>
+              <ci> X131 </ci>
+              <ci> Y131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X131 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132" stoichiometry="2"/>
+          <speciesReference species="Y132"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X132 </ci>
+              <ci> X132 </ci>
+              <ci> Y132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X132 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133" stoichiometry="2"/>
+          <speciesReference species="Y133"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X133 </ci>
+              <ci> X133 </ci>
+              <ci> Y133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X133 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134" stoichiometry="2"/>
+          <speciesReference species="Y134"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X134 </ci>
+              <ci> X134 </ci>
+              <ci> Y134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X134 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135" stoichiometry="2"/>
+          <speciesReference species="Y135"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X135 </ci>
+              <ci> X135 </ci>
+              <ci> Y135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X135 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136" stoichiometry="2"/>
+          <speciesReference species="Y136"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X136 </ci>
+              <ci> X136 </ci>
+              <ci> Y136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X136 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137" stoichiometry="2"/>
+          <speciesReference species="Y137"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X137 </ci>
+              <ci> X137 </ci>
+              <ci> Y137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X137 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138" stoichiometry="2"/>
+          <speciesReference species="Y138"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X138 </ci>
+              <ci> X138 </ci>
+              <ci> Y138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X138 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139" stoichiometry="2"/>
+          <speciesReference species="Y139"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X139 </ci>
+              <ci> X139 </ci>
+              <ci> Y139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X139 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140" stoichiometry="2"/>
+          <speciesReference species="Y140"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X140 </ci>
+              <ci> X140 </ci>
+              <ci> Y140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X140 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141" stoichiometry="2"/>
+          <speciesReference species="Y141"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X141 </ci>
+              <ci> X141 </ci>
+              <ci> Y141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X141 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142" stoichiometry="2"/>
+          <speciesReference species="Y142"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X142 </ci>
+              <ci> X142 </ci>
+              <ci> Y142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X142 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143" stoichiometry="2"/>
+          <speciesReference species="Y143"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X143 </ci>
+              <ci> X143 </ci>
+              <ci> Y143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X143 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144" stoichiometry="2"/>
+          <speciesReference species="Y144"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X144 </ci>
+              <ci> X144 </ci>
+              <ci> Y144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X144 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145" stoichiometry="2"/>
+          <speciesReference species="Y145"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X145 </ci>
+              <ci> X145 </ci>
+              <ci> Y145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X145 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146" stoichiometry="2"/>
+          <speciesReference species="Y146"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X146 </ci>
+              <ci> X146 </ci>
+              <ci> Y146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X146 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147" stoichiometry="2"/>
+          <speciesReference species="Y147"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X147 </ci>
+              <ci> X147 </ci>
+              <ci> Y147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X147 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148" stoichiometry="2"/>
+          <speciesReference species="Y148"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X148 </ci>
+              <ci> X148 </ci>
+              <ci> Y148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X148 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149" stoichiometry="2"/>
+          <speciesReference species="Y149"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X149 </ci>
+              <ci> X149 </ci>
+              <ci> Y149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X149 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150" stoichiometry="2"/>
+          <speciesReference species="Y150"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X150 </ci>
+              <ci> X150 </ci>
+              <ci> Y150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X150 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151" stoichiometry="2"/>
+          <speciesReference species="Y151"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X151 </ci>
+              <ci> X151 </ci>
+              <ci> Y151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X151 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152" stoichiometry="2"/>
+          <speciesReference species="Y152"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X152 </ci>
+              <ci> X152 </ci>
+              <ci> Y152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X152 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153" stoichiometry="2"/>
+          <speciesReference species="Y153"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X153 </ci>
+              <ci> X153 </ci>
+              <ci> Y153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X153 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154" stoichiometry="2"/>
+          <speciesReference species="Y154"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X154 </ci>
+              <ci> X154 </ci>
+              <ci> Y154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X154 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155" stoichiometry="2"/>
+          <speciesReference species="Y155"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X155 </ci>
+              <ci> X155 </ci>
+              <ci> Y155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X155 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156" stoichiometry="2"/>
+          <speciesReference species="Y156"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X156 </ci>
+              <ci> X156 </ci>
+              <ci> Y156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X156 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157" stoichiometry="2"/>
+          <speciesReference species="Y157"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X157 </ci>
+              <ci> X157 </ci>
+              <ci> Y157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X157 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158" stoichiometry="2"/>
+          <speciesReference species="Y158"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X158 </ci>
+              <ci> X158 </ci>
+              <ci> Y158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X158 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159" stoichiometry="2"/>
+          <speciesReference species="Y159"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X159 </ci>
+              <ci> X159 </ci>
+              <ci> Y159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X159 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160" stoichiometry="2"/>
+          <speciesReference species="Y160"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X160 </ci>
+              <ci> X160 </ci>
+              <ci> Y160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X160 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161" stoichiometry="2"/>
+          <speciesReference species="Y161"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X161 </ci>
+              <ci> X161 </ci>
+              <ci> Y161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X161 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162" stoichiometry="2"/>
+          <speciesReference species="Y162"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X162 </ci>
+              <ci> X162 </ci>
+              <ci> Y162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X162 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163" stoichiometry="2"/>
+          <speciesReference species="Y163"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X163 </ci>
+              <ci> X163 </ci>
+              <ci> Y163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X163 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164" stoichiometry="2"/>
+          <speciesReference species="Y164"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X164 </ci>
+              <ci> X164 </ci>
+              <ci> Y164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X164 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165" stoichiometry="2"/>
+          <speciesReference species="Y165"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X165 </ci>
+              <ci> X165 </ci>
+              <ci> Y165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X165 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166" stoichiometry="2"/>
+          <speciesReference species="Y166"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X166 </ci>
+              <ci> X166 </ci>
+              <ci> Y166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X166 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167" stoichiometry="2"/>
+          <speciesReference species="Y167"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X167 </ci>
+              <ci> X167 </ci>
+              <ci> Y167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X167 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168" stoichiometry="2"/>
+          <speciesReference species="Y168"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X168 </ci>
+              <ci> X168 </ci>
+              <ci> Y168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X168 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169" stoichiometry="2"/>
+          <speciesReference species="Y169"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X169 </ci>
+              <ci> X169 </ci>
+              <ci> Y169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X169 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170" stoichiometry="2"/>
+          <speciesReference species="Y170"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X170 </ci>
+              <ci> X170 </ci>
+              <ci> Y170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X170 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171" stoichiometry="2"/>
+          <speciesReference species="Y171"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X171 </ci>
+              <ci> X171 </ci>
+              <ci> Y171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X171 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172" stoichiometry="2"/>
+          <speciesReference species="Y172"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X172 </ci>
+              <ci> X172 </ci>
+              <ci> Y172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X172 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173" stoichiometry="2"/>
+          <speciesReference species="Y173"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X173 </ci>
+              <ci> X173 </ci>
+              <ci> Y173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X173 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174" stoichiometry="2"/>
+          <speciesReference species="Y174"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X174 </ci>
+              <ci> X174 </ci>
+              <ci> Y174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X174 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175" stoichiometry="2"/>
+          <speciesReference species="Y175"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X175 </ci>
+              <ci> X175 </ci>
+              <ci> Y175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X175 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176" stoichiometry="2"/>
+          <speciesReference species="Y176"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X176 </ci>
+              <ci> X176 </ci>
+              <ci> Y176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X176 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177" stoichiometry="2"/>
+          <speciesReference species="Y177"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X177 </ci>
+              <ci> X177 </ci>
+              <ci> Y177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X177 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178" stoichiometry="2"/>
+          <speciesReference species="Y178"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X178 </ci>
+              <ci> X178 </ci>
+              <ci> Y178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X178 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179" stoichiometry="2"/>
+          <speciesReference species="Y179"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X179 </ci>
+              <ci> X179 </ci>
+              <ci> Y179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X179 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180" stoichiometry="2"/>
+          <speciesReference species="Y180"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X180 </ci>
+              <ci> X180 </ci>
+              <ci> Y180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X180 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181" stoichiometry="2"/>
+          <speciesReference species="Y181"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X181 </ci>
+              <ci> X181 </ci>
+              <ci> Y181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X181 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182" stoichiometry="2"/>
+          <speciesReference species="Y182"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X182 </ci>
+              <ci> X182 </ci>
+              <ci> Y182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X182 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183" stoichiometry="2"/>
+          <speciesReference species="Y183"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X183 </ci>
+              <ci> X183 </ci>
+              <ci> Y183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X183 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184" stoichiometry="2"/>
+          <speciesReference species="Y184"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X184 </ci>
+              <ci> X184 </ci>
+              <ci> Y184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X184 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185" stoichiometry="2"/>
+          <speciesReference species="Y185"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X185 </ci>
+              <ci> X185 </ci>
+              <ci> Y185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X185 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186" stoichiometry="2"/>
+          <speciesReference species="Y186"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X186 </ci>
+              <ci> X186 </ci>
+              <ci> Y186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X186 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187" stoichiometry="2"/>
+          <speciesReference species="Y187"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X187 </ci>
+              <ci> X187 </ci>
+              <ci> Y187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X187 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188" stoichiometry="2"/>
+          <speciesReference species="Y188"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X188 </ci>
+              <ci> X188 </ci>
+              <ci> Y188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X188 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189" stoichiometry="2"/>
+          <speciesReference species="Y189"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X189 </ci>
+              <ci> X189 </ci>
+              <ci> Y189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X189 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190" stoichiometry="2"/>
+          <speciesReference species="Y190"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X190 </ci>
+              <ci> X190 </ci>
+              <ci> Y190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X190 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191" stoichiometry="2"/>
+          <speciesReference species="Y191"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X191 </ci>
+              <ci> X191 </ci>
+              <ci> Y191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X191 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192" stoichiometry="2"/>
+          <speciesReference species="Y192"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X192 </ci>
+              <ci> X192 </ci>
+              <ci> Y192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X192 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193" stoichiometry="2"/>
+          <speciesReference species="Y193"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X193 </ci>
+              <ci> X193 </ci>
+              <ci> Y193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X193 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194" stoichiometry="2"/>
+          <speciesReference species="Y194"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X194 </ci>
+              <ci> X194 </ci>
+              <ci> Y194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X194 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195" stoichiometry="2"/>
+          <speciesReference species="Y195"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X195 </ci>
+              <ci> X195 </ci>
+              <ci> Y195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X195 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196" stoichiometry="2"/>
+          <speciesReference species="Y196"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X196 </ci>
+              <ci> X196 </ci>
+              <ci> Y196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X196 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197" stoichiometry="2"/>
+          <speciesReference species="Y197"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X197 </ci>
+              <ci> X197 </ci>
+              <ci> Y197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X197 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198" stoichiometry="2"/>
+          <speciesReference species="Y198"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X198 </ci>
+              <ci> X198 </ci>
+              <ci> Y198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X198 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199" stoichiometry="2"/>
+          <speciesReference species="Y199"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X199 </ci>
+              <ci> X199 </ci>
+              <ci> Y199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X199 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200" stoichiometry="2"/>
+          <speciesReference species="Y200"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X200 </ci>
+              <ci> X200 </ci>
+              <ci> Y200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X200 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201" stoichiometry="2"/>
+          <speciesReference species="Y201"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X201 </ci>
+              <ci> X201 </ci>
+              <ci> Y201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X201 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202" stoichiometry="2"/>
+          <speciesReference species="Y202"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X202 </ci>
+              <ci> X202 </ci>
+              <ci> Y202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X202 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203" stoichiometry="2"/>
+          <speciesReference species="Y203"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X203 </ci>
+              <ci> X203 </ci>
+              <ci> Y203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X203 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204" stoichiometry="2"/>
+          <speciesReference species="Y204"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X204 </ci>
+              <ci> X204 </ci>
+              <ci> Y204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X204 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205" stoichiometry="2"/>
+          <speciesReference species="Y205"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X205 </ci>
+              <ci> X205 </ci>
+              <ci> Y205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X205 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206" stoichiometry="2"/>
+          <speciesReference species="Y206"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X206 </ci>
+              <ci> X206 </ci>
+              <ci> Y206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X206 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207" stoichiometry="2"/>
+          <speciesReference species="Y207"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X207 </ci>
+              <ci> X207 </ci>
+              <ci> Y207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X207 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208" stoichiometry="2"/>
+          <speciesReference species="Y208"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X208 </ci>
+              <ci> X208 </ci>
+              <ci> Y208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X208 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209" stoichiometry="2"/>
+          <speciesReference species="Y209"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X209 </ci>
+              <ci> X209 </ci>
+              <ci> Y209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X209 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210" stoichiometry="2"/>
+          <speciesReference species="Y210"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X210 </ci>
+              <ci> X210 </ci>
+              <ci> Y210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X210 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211" stoichiometry="2"/>
+          <speciesReference species="Y211"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X211 </ci>
+              <ci> X211 </ci>
+              <ci> Y211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X211 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212" stoichiometry="2"/>
+          <speciesReference species="Y212"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X212 </ci>
+              <ci> X212 </ci>
+              <ci> Y212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X212 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213" stoichiometry="2"/>
+          <speciesReference species="Y213"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X213 </ci>
+              <ci> X213 </ci>
+              <ci> Y213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X213 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214" stoichiometry="2"/>
+          <speciesReference species="Y214"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X214 </ci>
+              <ci> X214 </ci>
+              <ci> Y214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X214 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215" stoichiometry="2"/>
+          <speciesReference species="Y215"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X215 </ci>
+              <ci> X215 </ci>
+              <ci> Y215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X215 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216" stoichiometry="2"/>
+          <speciesReference species="Y216"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X216 </ci>
+              <ci> X216 </ci>
+              <ci> Y216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X216 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217" stoichiometry="2"/>
+          <speciesReference species="Y217"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X217 </ci>
+              <ci> X217 </ci>
+              <ci> Y217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X217 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218" stoichiometry="2"/>
+          <speciesReference species="Y218"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X218 </ci>
+              <ci> X218 </ci>
+              <ci> Y218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X218 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219" stoichiometry="2"/>
+          <speciesReference species="Y219"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X219 </ci>
+              <ci> X219 </ci>
+              <ci> Y219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X219 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220" stoichiometry="2"/>
+          <speciesReference species="Y220"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X220 </ci>
+              <ci> X220 </ci>
+              <ci> Y220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X220 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221" stoichiometry="2"/>
+          <speciesReference species="Y221"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X221 </ci>
+              <ci> X221 </ci>
+              <ci> Y221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X221 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222" stoichiometry="2"/>
+          <speciesReference species="Y222"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X222 </ci>
+              <ci> X222 </ci>
+              <ci> Y222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X222 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223" stoichiometry="2"/>
+          <speciesReference species="Y223"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X223 </ci>
+              <ci> X223 </ci>
+              <ci> Y223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X223 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224" stoichiometry="2"/>
+          <speciesReference species="Y224"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X224 </ci>
+              <ci> X224 </ci>
+              <ci> Y224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X224 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225" stoichiometry="2"/>
+          <speciesReference species="Y225"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X225 </ci>
+              <ci> X225 </ci>
+              <ci> Y225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X225 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226" stoichiometry="2"/>
+          <speciesReference species="Y226"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X226 </ci>
+              <ci> X226 </ci>
+              <ci> Y226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X226 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227" stoichiometry="2"/>
+          <speciesReference species="Y227"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X227 </ci>
+              <ci> X227 </ci>
+              <ci> Y227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X227 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228" stoichiometry="2"/>
+          <speciesReference species="Y228"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X228 </ci>
+              <ci> X228 </ci>
+              <ci> Y228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X228 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229" stoichiometry="2"/>
+          <speciesReference species="Y229"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X229 </ci>
+              <ci> X229 </ci>
+              <ci> Y229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X229 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230" stoichiometry="2"/>
+          <speciesReference species="Y230"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X230 </ci>
+              <ci> X230 </ci>
+              <ci> Y230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X230 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231" stoichiometry="2"/>
+          <speciesReference species="Y231"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X231 </ci>
+              <ci> X231 </ci>
+              <ci> Y231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X231 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232" stoichiometry="2"/>
+          <speciesReference species="Y232"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X232 </ci>
+              <ci> X232 </ci>
+              <ci> Y232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X232 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233" stoichiometry="2"/>
+          <speciesReference species="Y233"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X233 </ci>
+              <ci> X233 </ci>
+              <ci> Y233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X233 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234" stoichiometry="2"/>
+          <speciesReference species="Y234"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X234 </ci>
+              <ci> X234 </ci>
+              <ci> Y234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X234 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235" stoichiometry="2"/>
+          <speciesReference species="Y235"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X235 </ci>
+              <ci> X235 </ci>
+              <ci> Y235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X235 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236" stoichiometry="2"/>
+          <speciesReference species="Y236"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X236 </ci>
+              <ci> X236 </ci>
+              <ci> Y236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X236 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237" stoichiometry="2"/>
+          <speciesReference species="Y237"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X237 </ci>
+              <ci> X237 </ci>
+              <ci> Y237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X237 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238" stoichiometry="2"/>
+          <speciesReference species="Y238"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X238 </ci>
+              <ci> X238 </ci>
+              <ci> Y238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X238 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239" stoichiometry="2"/>
+          <speciesReference species="Y239"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X239 </ci>
+              <ci> X239 </ci>
+              <ci> Y239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X239 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240" stoichiometry="2"/>
+          <speciesReference species="Y240"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X240 </ci>
+              <ci> X240 </ci>
+              <ci> Y240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X240 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241" stoichiometry="2"/>
+          <speciesReference species="Y241"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X241 </ci>
+              <ci> X241 </ci>
+              <ci> Y241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X241 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242" stoichiometry="2"/>
+          <speciesReference species="Y242"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X242 </ci>
+              <ci> X242 </ci>
+              <ci> Y242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X242 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243" stoichiometry="2"/>
+          <speciesReference species="Y243"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X243 </ci>
+              <ci> X243 </ci>
+              <ci> Y243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X243 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244" stoichiometry="2"/>
+          <speciesReference species="Y244"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X244 </ci>
+              <ci> X244 </ci>
+              <ci> Y244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X244 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245" stoichiometry="2"/>
+          <speciesReference species="Y245"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X245 </ci>
+              <ci> X245 </ci>
+              <ci> Y245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X245 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246" stoichiometry="2"/>
+          <speciesReference species="Y246"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X246 </ci>
+              <ci> X246 </ci>
+              <ci> Y246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X246 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247" stoichiometry="2"/>
+          <speciesReference species="Y247"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X247 </ci>
+              <ci> X247 </ci>
+              <ci> Y247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X247 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248" stoichiometry="2"/>
+          <speciesReference species="Y248"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X248 </ci>
+              <ci> X248 </ci>
+              <ci> Y248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X248 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249" stoichiometry="2"/>
+          <speciesReference species="Y249"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X249 </ci>
+              <ci> X249 </ci>
+              <ci> Y249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X249 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250" stoichiometry="2"/>
+          <speciesReference species="Y250"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X250 </ci>
+              <ci> X250 </ci>
+              <ci> Y250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X250 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X251"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251" stoichiometry="2"/>
+          <speciesReference species="Y251"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X251" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X251 </ci>
+              <ci> X251 </ci>
+              <ci> Y251 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y251"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X251 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X251 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X252"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252" stoichiometry="2"/>
+          <speciesReference species="Y252"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X252" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X252 </ci>
+              <ci> X252 </ci>
+              <ci> Y252 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y252"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X252 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X252 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X253"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253" stoichiometry="2"/>
+          <speciesReference species="Y253"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X253" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X253 </ci>
+              <ci> X253 </ci>
+              <ci> Y253 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y253"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X253 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X253 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X254"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254" stoichiometry="2"/>
+          <speciesReference species="Y254"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X254" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X254 </ci>
+              <ci> X254 </ci>
+              <ci> Y254 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y254"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X254 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X254 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X255"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255" stoichiometry="2"/>
+          <speciesReference species="Y255"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X255" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X255 </ci>
+              <ci> X255 </ci>
+              <ci> Y255 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y255"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X255 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X255 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X256"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256" stoichiometry="2"/>
+          <speciesReference species="Y256"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X256" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X256 </ci>
+              <ci> X256 </ci>
+              <ci> Y256 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y256"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X256 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X256 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X257"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257" stoichiometry="2"/>
+          <speciesReference species="Y257"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X257" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X257 </ci>
+              <ci> X257 </ci>
+              <ci> Y257 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y257"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X257 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X257 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X258"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258" stoichiometry="2"/>
+          <speciesReference species="Y258"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X258" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X258 </ci>
+              <ci> X258 </ci>
+              <ci> Y258 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y258"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X258 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X258 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X259"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259" stoichiometry="2"/>
+          <speciesReference species="Y259"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X259" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X259 </ci>
+              <ci> X259 </ci>
+              <ci> Y259 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y259"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X259 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X259 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X260"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260" stoichiometry="2"/>
+          <speciesReference species="Y260"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X260" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X260 </ci>
+              <ci> X260 </ci>
+              <ci> Y260 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y260"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X260 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X260 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X261"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261" stoichiometry="2"/>
+          <speciesReference species="Y261"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X261" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X261 </ci>
+              <ci> X261 </ci>
+              <ci> Y261 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y261"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X261 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X261 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X262"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262" stoichiometry="2"/>
+          <speciesReference species="Y262"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X262" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X262 </ci>
+              <ci> X262 </ci>
+              <ci> Y262 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y262"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X262 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X262 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X263"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263" stoichiometry="2"/>
+          <speciesReference species="Y263"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X263" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X263 </ci>
+              <ci> X263 </ci>
+              <ci> Y263 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y263"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X263 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X263 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X264"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264" stoichiometry="2"/>
+          <speciesReference species="Y264"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X264" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X264 </ci>
+              <ci> X264 </ci>
+              <ci> Y264 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y264"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X264 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X264 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X265"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265" stoichiometry="2"/>
+          <speciesReference species="Y265"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X265" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X265 </ci>
+              <ci> X265 </ci>
+              <ci> Y265 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y265"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X265 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X265 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X266"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266" stoichiometry="2"/>
+          <speciesReference species="Y266"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X266" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X266 </ci>
+              <ci> X266 </ci>
+              <ci> Y266 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y266"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X266 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X266 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X267"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267" stoichiometry="2"/>
+          <speciesReference species="Y267"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X267" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X267 </ci>
+              <ci> X267 </ci>
+              <ci> Y267 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y267"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X267 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X267 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X268"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268" stoichiometry="2"/>
+          <speciesReference species="Y268"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X268" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X268 </ci>
+              <ci> X268 </ci>
+              <ci> Y268 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y268"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X268 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X268 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X269"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269" stoichiometry="2"/>
+          <speciesReference species="Y269"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X269" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X269 </ci>
+              <ci> X269 </ci>
+              <ci> Y269 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y269"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X269 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X269 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X270"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270" stoichiometry="2"/>
+          <speciesReference species="Y270"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X270" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X270 </ci>
+              <ci> X270 </ci>
+              <ci> Y270 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y270"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X270 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X270 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X271"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271" stoichiometry="2"/>
+          <speciesReference species="Y271"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X271" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X271 </ci>
+              <ci> X271 </ci>
+              <ci> Y271 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y271"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X271 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X271 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X272"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272" stoichiometry="2"/>
+          <speciesReference species="Y272"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X272" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X272 </ci>
+              <ci> X272 </ci>
+              <ci> Y272 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y272"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X272 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X272 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X273"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273" stoichiometry="2"/>
+          <speciesReference species="Y273"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X273" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X273 </ci>
+              <ci> X273 </ci>
+              <ci> Y273 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y273"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X273 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X273 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X274"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274" stoichiometry="2"/>
+          <speciesReference species="Y274"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X274" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X274 </ci>
+              <ci> X274 </ci>
+              <ci> Y274 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y274"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X274 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X274 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X275"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275" stoichiometry="2"/>
+          <speciesReference species="Y275"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X275" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X275 </ci>
+              <ci> X275 </ci>
+              <ci> Y275 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y275"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X275 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X275 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X276"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276" stoichiometry="2"/>
+          <speciesReference species="Y276"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X276" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X276 </ci>
+              <ci> X276 </ci>
+              <ci> Y276 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y276"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X276 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X276 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X277"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277" stoichiometry="2"/>
+          <speciesReference species="Y277"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X277" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X277 </ci>
+              <ci> X277 </ci>
+              <ci> Y277 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y277"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X277 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X277 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X278"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278" stoichiometry="2"/>
+          <speciesReference species="Y278"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X278" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X278 </ci>
+              <ci> X278 </ci>
+              <ci> Y278 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y278"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X278 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X278 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X279"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279" stoichiometry="2"/>
+          <speciesReference species="Y279"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X279" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X279 </ci>
+              <ci> X279 </ci>
+              <ci> Y279 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y279"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X279 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X279 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X280"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280" stoichiometry="2"/>
+          <speciesReference species="Y280"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X280" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X280 </ci>
+              <ci> X280 </ci>
+              <ci> Y280 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y280"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X280 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X280 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X281"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281" stoichiometry="2"/>
+          <speciesReference species="Y281"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X281" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X281 </ci>
+              <ci> X281 </ci>
+              <ci> Y281 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y281"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X281 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X281 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X282"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282" stoichiometry="2"/>
+          <speciesReference species="Y282"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X282" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X282 </ci>
+              <ci> X282 </ci>
+              <ci> Y282 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y282"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X282 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X282 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X283"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283" stoichiometry="2"/>
+          <speciesReference species="Y283"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X283" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X283 </ci>
+              <ci> X283 </ci>
+              <ci> Y283 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y283"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X283 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X283 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X284"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284" stoichiometry="2"/>
+          <speciesReference species="Y284"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X284" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X284 </ci>
+              <ci> X284 </ci>
+              <ci> Y284 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y284"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X284 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X284 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X285"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285" stoichiometry="2"/>
+          <speciesReference species="Y285"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X285" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X285 </ci>
+              <ci> X285 </ci>
+              <ci> Y285 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y285"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X285 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X285 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X286"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286" stoichiometry="2"/>
+          <speciesReference species="Y286"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X286" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X286 </ci>
+              <ci> X286 </ci>
+              <ci> Y286 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y286"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X286 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X286 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X287"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287" stoichiometry="2"/>
+          <speciesReference species="Y287"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X287" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X287 </ci>
+              <ci> X287 </ci>
+              <ci> Y287 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y287"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X287 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X287 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X288"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288" stoichiometry="2"/>
+          <speciesReference species="Y288"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X288" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X288 </ci>
+              <ci> X288 </ci>
+              <ci> Y288 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y288"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X288 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X288 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X289"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289" stoichiometry="2"/>
+          <speciesReference species="Y289"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X289" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X289 </ci>
+              <ci> X289 </ci>
+              <ci> Y289 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y289"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X289 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X289 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X290"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290" stoichiometry="2"/>
+          <speciesReference species="Y290"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X290" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X290 </ci>
+              <ci> X290 </ci>
+              <ci> Y290 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y290"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X290 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X290 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X291"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291" stoichiometry="2"/>
+          <speciesReference species="Y291"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X291" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X291 </ci>
+              <ci> X291 </ci>
+              <ci> Y291 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y291"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X291 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X291 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X292"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292" stoichiometry="2"/>
+          <speciesReference species="Y292"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X292" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X292 </ci>
+              <ci> X292 </ci>
+              <ci> Y292 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y292"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X292 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X292 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X293"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293" stoichiometry="2"/>
+          <speciesReference species="Y293"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X293" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X293 </ci>
+              <ci> X293 </ci>
+              <ci> Y293 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y293"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X293 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X293 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X294"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294" stoichiometry="2"/>
+          <speciesReference species="Y294"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X294" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X294 </ci>
+              <ci> X294 </ci>
+              <ci> Y294 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y294"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X294 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X294 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X295"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295" stoichiometry="2"/>
+          <speciesReference species="Y295"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X295" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X295 </ci>
+              <ci> X295 </ci>
+              <ci> Y295 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y295"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X295 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X295 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X296"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296" stoichiometry="2"/>
+          <speciesReference species="Y296"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X296" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X296 </ci>
+              <ci> X296 </ci>
+              <ci> Y296 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y296"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X296 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X296 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X297"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297" stoichiometry="2"/>
+          <speciesReference species="Y297"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X297" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X297 </ci>
+              <ci> X297 </ci>
+              <ci> Y297 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y297"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X297 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X297 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X298"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298" stoichiometry="2"/>
+          <speciesReference species="Y298"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X298" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X298 </ci>
+              <ci> X298 </ci>
+              <ci> Y298 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y298"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X298 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X298 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X299"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299" stoichiometry="2"/>
+          <speciesReference species="Y299"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X299" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X299 </ci>
+              <ci> X299 </ci>
+              <ci> Y299 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y299"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X299 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X299 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X300"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300" stoichiometry="2"/>
+          <speciesReference species="Y300"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X300" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X300 </ci>
+              <ci> X300 </ci>
+              <ci> Y300 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y300"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X300 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X300 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X301"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301" stoichiometry="2"/>
+          <speciesReference species="Y301"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X301" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X301 </ci>
+              <ci> X301 </ci>
+              <ci> Y301 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y301"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X301 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X301 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X302"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302" stoichiometry="2"/>
+          <speciesReference species="Y302"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X302" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X302 </ci>
+              <ci> X302 </ci>
+              <ci> Y302 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y302"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X302 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X302 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X303"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303" stoichiometry="2"/>
+          <speciesReference species="Y303"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X303" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X303 </ci>
+              <ci> X303 </ci>
+              <ci> Y303 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y303"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X303 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X303 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X304"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304" stoichiometry="2"/>
+          <speciesReference species="Y304"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X304" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X304 </ci>
+              <ci> X304 </ci>
+              <ci> Y304 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y304"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X304 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X304 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X305"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305" stoichiometry="2"/>
+          <speciesReference species="Y305"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X305" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X305 </ci>
+              <ci> X305 </ci>
+              <ci> Y305 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y305"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X305 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X305 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X306"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306" stoichiometry="2"/>
+          <speciesReference species="Y306"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X306" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X306 </ci>
+              <ci> X306 </ci>
+              <ci> Y306 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y306"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X306 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X306 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X307"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307" stoichiometry="2"/>
+          <speciesReference species="Y307"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X307" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X307 </ci>
+              <ci> X307 </ci>
+              <ci> Y307 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y307"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X307 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X307 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X308"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308" stoichiometry="2"/>
+          <speciesReference species="Y308"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X308" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X308 </ci>
+              <ci> X308 </ci>
+              <ci> Y308 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y308"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X308 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X308 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X309"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309" stoichiometry="2"/>
+          <speciesReference species="Y309"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X309" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X309 </ci>
+              <ci> X309 </ci>
+              <ci> Y309 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y309"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X309 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X309 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X310"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310" stoichiometry="2"/>
+          <speciesReference species="Y310"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X310" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X310 </ci>
+              <ci> X310 </ci>
+              <ci> Y310 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y310"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X310 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X310 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X311"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311" stoichiometry="2"/>
+          <speciesReference species="Y311"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X311" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X311 </ci>
+              <ci> X311 </ci>
+              <ci> Y311 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y311"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X311 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X311 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X312"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312" stoichiometry="2"/>
+          <speciesReference species="Y312"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X312" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X312 </ci>
+              <ci> X312 </ci>
+              <ci> Y312 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y312"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X312 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X312 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X313"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313" stoichiometry="2"/>
+          <speciesReference species="Y313"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X313" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X313 </ci>
+              <ci> X313 </ci>
+              <ci> Y313 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y313"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X313 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X313 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X314"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314" stoichiometry="2"/>
+          <speciesReference species="Y314"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X314" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X314 </ci>
+              <ci> X314 </ci>
+              <ci> Y314 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y314"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X314 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X314 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X315"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315" stoichiometry="2"/>
+          <speciesReference species="Y315"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X315" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X315 </ci>
+              <ci> X315 </ci>
+              <ci> Y315 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y315"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X315 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X315 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X316"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316" stoichiometry="2"/>
+          <speciesReference species="Y316"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X316" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X316 </ci>
+              <ci> X316 </ci>
+              <ci> Y316 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y316"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X316 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X316 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X317"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317" stoichiometry="2"/>
+          <speciesReference species="Y317"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X317" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X317 </ci>
+              <ci> X317 </ci>
+              <ci> Y317 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y317"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X317 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X317 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X318"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318" stoichiometry="2"/>
+          <speciesReference species="Y318"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X318" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X318 </ci>
+              <ci> X318 </ci>
+              <ci> Y318 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y318"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X318 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X318 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X319"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319" stoichiometry="2"/>
+          <speciesReference species="Y319"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X319" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X319 </ci>
+              <ci> X319 </ci>
+              <ci> Y319 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y319"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X319 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X319 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X320"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320" stoichiometry="2"/>
+          <speciesReference species="Y320"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X320" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X320 </ci>
+              <ci> X320 </ci>
+              <ci> Y320 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y320"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X320 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X320 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X321"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321" stoichiometry="2"/>
+          <speciesReference species="Y321"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X321" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X321 </ci>
+              <ci> X321 </ci>
+              <ci> Y321 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y321"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X321 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X321 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X322"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322" stoichiometry="2"/>
+          <speciesReference species="Y322"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X322" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X322 </ci>
+              <ci> X322 </ci>
+              <ci> Y322 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y322"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X322 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X322 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X323"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323" stoichiometry="2"/>
+          <speciesReference species="Y323"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X323" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X323 </ci>
+              <ci> X323 </ci>
+              <ci> Y323 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y323"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X323 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X323 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X324"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324" stoichiometry="2"/>
+          <speciesReference species="Y324"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X324" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X324 </ci>
+              <ci> X324 </ci>
+              <ci> Y324 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y324"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X324 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X324 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X325"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325" stoichiometry="2"/>
+          <speciesReference species="Y325"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X325" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X325 </ci>
+              <ci> X325 </ci>
+              <ci> Y325 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y325"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X325 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X325 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X326"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326" stoichiometry="2"/>
+          <speciesReference species="Y326"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X326" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X326 </ci>
+              <ci> X326 </ci>
+              <ci> Y326 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y326"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X326 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X326 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X327"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327" stoichiometry="2"/>
+          <speciesReference species="Y327"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X327" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X327 </ci>
+              <ci> X327 </ci>
+              <ci> Y327 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y327"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X327 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X327 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X328"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328" stoichiometry="2"/>
+          <speciesReference species="Y328"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X328" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X328 </ci>
+              <ci> X328 </ci>
+              <ci> Y328 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y328"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X328 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X328 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X329"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329" stoichiometry="2"/>
+          <speciesReference species="Y329"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X329" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X329 </ci>
+              <ci> X329 </ci>
+              <ci> Y329 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y329"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X329 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X329 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X330"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330" stoichiometry="2"/>
+          <speciesReference species="Y330"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X330" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X330 </ci>
+              <ci> X330 </ci>
+              <ci> Y330 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y330"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X330 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X330 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X331"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331" stoichiometry="2"/>
+          <speciesReference species="Y331"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X331" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X331 </ci>
+              <ci> X331 </ci>
+              <ci> Y331 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y331"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X331 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X331 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X332"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332" stoichiometry="2"/>
+          <speciesReference species="Y332"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X332" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X332 </ci>
+              <ci> X332 </ci>
+              <ci> Y332 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y332"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X332 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X332 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X333"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333" stoichiometry="2"/>
+          <speciesReference species="Y333"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X333" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X333 </ci>
+              <ci> X333 </ci>
+              <ci> Y333 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y333"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X333 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X333 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X334"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334" stoichiometry="2"/>
+          <speciesReference species="Y334"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X334" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X334 </ci>
+              <ci> X334 </ci>
+              <ci> Y334 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y334"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X334 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X334 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X335"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335" stoichiometry="2"/>
+          <speciesReference species="Y335"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X335" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X335 </ci>
+              <ci> X335 </ci>
+              <ci> Y335 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y335"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X335 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X335 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X336"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336" stoichiometry="2"/>
+          <speciesReference species="Y336"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X336" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X336 </ci>
+              <ci> X336 </ci>
+              <ci> Y336 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y336"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X336 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X336 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X337"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337" stoichiometry="2"/>
+          <speciesReference species="Y337"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X337" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X337 </ci>
+              <ci> X337 </ci>
+              <ci> Y337 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y337"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X337 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X337 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X338"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338" stoichiometry="2"/>
+          <speciesReference species="Y338"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X338" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X338 </ci>
+              <ci> X338 </ci>
+              <ci> Y338 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y338"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X338 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X338 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X339"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339" stoichiometry="2"/>
+          <speciesReference species="Y339"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X339" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X339 </ci>
+              <ci> X339 </ci>
+              <ci> Y339 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y339"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X339 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X339 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X340"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340" stoichiometry="2"/>
+          <speciesReference species="Y340"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X340" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X340 </ci>
+              <ci> X340 </ci>
+              <ci> Y340 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y340"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X340 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X340 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X341"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341" stoichiometry="2"/>
+          <speciesReference species="Y341"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X341" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X341 </ci>
+              <ci> X341 </ci>
+              <ci> Y341 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y341"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X341 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X341 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X342"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342" stoichiometry="2"/>
+          <speciesReference species="Y342"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X342" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X342 </ci>
+              <ci> X342 </ci>
+              <ci> Y342 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y342"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X342 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X342 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X343"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343" stoichiometry="2"/>
+          <speciesReference species="Y343"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X343" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X343 </ci>
+              <ci> X343 </ci>
+              <ci> Y343 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y343"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X343 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X343 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X344"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344" stoichiometry="2"/>
+          <speciesReference species="Y344"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X344" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X344 </ci>
+              <ci> X344 </ci>
+              <ci> Y344 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y344"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X344 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X344 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X345"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345" stoichiometry="2"/>
+          <speciesReference species="Y345"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X345" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X345 </ci>
+              <ci> X345 </ci>
+              <ci> Y345 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y345"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X345 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X345 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X346"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346" stoichiometry="2"/>
+          <speciesReference species="Y346"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X346" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X346 </ci>
+              <ci> X346 </ci>
+              <ci> Y346 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y346"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X346 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X346 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X347"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347" stoichiometry="2"/>
+          <speciesReference species="Y347"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X347" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X347 </ci>
+              <ci> X347 </ci>
+              <ci> Y347 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y347"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X347 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X347 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X348"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348" stoichiometry="2"/>
+          <speciesReference species="Y348"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X348" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X348 </ci>
+              <ci> X348 </ci>
+              <ci> Y348 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y348"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X348 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X348 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X349"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349" stoichiometry="2"/>
+          <speciesReference species="Y349"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X349" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X349 </ci>
+              <ci> X349 </ci>
+              <ci> Y349 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y349"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X349 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X349 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X350"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350" stoichiometry="2"/>
+          <speciesReference species="Y350"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X350" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X350 </ci>
+              <ci> X350 </ci>
+              <ci> Y350 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y350"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X350 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X350 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/00400/00400-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00400/00400-sbml-l2v4.xml
new file mode 100644
index 0000000..95cffb6
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00400/00400-sbml-l2v4.xml
@@ -0,0 +1,28925 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X251" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y251" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X252" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y252" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X253" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y253" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X254" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y254" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X255" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y255" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X256" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y256" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X257" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y257" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X258" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y258" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X259" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y259" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X260" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y260" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X261" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y261" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X262" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y262" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X263" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y263" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X264" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y264" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X265" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y265" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X266" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y266" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X267" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y267" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X268" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y268" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X269" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y269" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X270" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y270" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X271" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y271" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X272" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y272" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X273" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y273" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X274" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y274" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X275" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y275" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X276" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y276" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X277" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y277" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X278" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y278" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X279" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y279" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X280" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y280" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X281" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y281" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X282" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y282" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X283" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y283" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X284" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y284" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X285" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y285" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X286" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y286" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X287" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y287" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X288" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y288" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X289" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y289" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X290" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y290" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X291" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y291" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X292" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y292" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X293" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y293" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X294" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y294" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X295" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y295" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X296" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y296" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X297" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y297" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X298" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y298" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X299" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y299" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X300" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y300" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X301" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y301" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X302" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y302" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X303" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y303" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X304" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y304" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X305" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y305" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X306" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y306" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X307" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y307" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X308" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y308" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X309" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y309" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X310" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y310" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X311" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y311" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X312" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y312" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X313" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y313" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X314" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y314" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X315" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y315" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X316" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y316" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X317" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y317" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X318" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y318" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X319" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y319" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X320" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y320" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X321" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y321" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X322" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y322" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X323" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y323" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X324" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y324" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X325" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y325" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X326" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y326" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X327" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y327" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X328" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y328" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X329" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y329" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X330" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y330" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X331" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y331" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X332" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y332" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X333" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y333" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X334" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y334" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X335" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y335" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X336" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y336" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X337" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y337" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X338" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y338" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X339" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y339" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X340" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y340" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X341" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y341" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X342" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y342" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X343" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y343" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X344" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y344" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X345" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y345" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X346" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y346" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X347" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y347" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X348" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y348" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X349" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y349" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X350" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y350" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X351" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y351" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X352" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y352" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X353" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y353" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X354" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y354" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X355" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y355" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X356" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y356" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X357" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y357" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X358" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y358" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X359" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y359" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X360" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y360" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X361" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y361" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X362" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y362" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X363" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y363" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X364" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y364" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X365" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y365" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X366" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y366" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X367" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y367" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X368" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y368" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X369" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y369" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X370" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y370" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X371" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y371" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X372" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y372" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X373" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y373" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X374" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y374" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X375" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y375" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X376" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y376" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X377" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y377" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X378" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y378" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X379" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y379" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X380" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y380" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X381" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y381" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X382" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y382" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X383" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y383" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X384" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y384" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X385" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y385" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X386" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y386" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X387" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y387" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X388" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y388" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X389" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y389" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X390" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y390" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X391" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y391" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X392" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y392" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X393" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y393" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X394" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y394" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X395" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y395" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X396" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y396" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X397" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y397" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X398" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y398" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X399" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y399" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X400" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y400" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="2"/>
+          <speciesReference species="Y2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X2 </ci>
+              <ci> X2 </ci>
+              <ci> Y2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X2 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3" stoichiometry="2"/>
+          <speciesReference species="Y3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X3 </ci>
+              <ci> X3 </ci>
+              <ci> Y3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X3 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4" stoichiometry="2"/>
+          <speciesReference species="Y4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X4 </ci>
+              <ci> X4 </ci>
+              <ci> Y4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X4 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5" stoichiometry="2"/>
+          <speciesReference species="Y5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X5 </ci>
+              <ci> X5 </ci>
+              <ci> Y5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X5 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6" stoichiometry="2"/>
+          <speciesReference species="Y6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X6 </ci>
+              <ci> X6 </ci>
+              <ci> Y6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X6 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7" stoichiometry="2"/>
+          <speciesReference species="Y7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X7 </ci>
+              <ci> X7 </ci>
+              <ci> Y7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X7 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8" stoichiometry="2"/>
+          <speciesReference species="Y8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X8 </ci>
+              <ci> X8 </ci>
+              <ci> Y8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X8 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9" stoichiometry="2"/>
+          <speciesReference species="Y9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X9 </ci>
+              <ci> X9 </ci>
+              <ci> Y9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X9 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10" stoichiometry="2"/>
+          <speciesReference species="Y10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X10 </ci>
+              <ci> X10 </ci>
+              <ci> Y10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X10 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11" stoichiometry="2"/>
+          <speciesReference species="Y11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X11 </ci>
+              <ci> X11 </ci>
+              <ci> Y11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X11 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12" stoichiometry="2"/>
+          <speciesReference species="Y12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X12 </ci>
+              <ci> X12 </ci>
+              <ci> Y12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X12 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13" stoichiometry="2"/>
+          <speciesReference species="Y13"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X13 </ci>
+              <ci> X13 </ci>
+              <ci> Y13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X13 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14" stoichiometry="2"/>
+          <speciesReference species="Y14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X14 </ci>
+              <ci> X14 </ci>
+              <ci> Y14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X14 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15" stoichiometry="2"/>
+          <speciesReference species="Y15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X15 </ci>
+              <ci> X15 </ci>
+              <ci> Y15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X15 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16" stoichiometry="2"/>
+          <speciesReference species="Y16"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X16 </ci>
+              <ci> X16 </ci>
+              <ci> Y16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X16 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17" stoichiometry="2"/>
+          <speciesReference species="Y17"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X17 </ci>
+              <ci> X17 </ci>
+              <ci> Y17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X17 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18" stoichiometry="2"/>
+          <speciesReference species="Y18"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X18 </ci>
+              <ci> X18 </ci>
+              <ci> Y18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X18 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19" stoichiometry="2"/>
+          <speciesReference species="Y19"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X19 </ci>
+              <ci> X19 </ci>
+              <ci> Y19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X19 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20" stoichiometry="2"/>
+          <speciesReference species="Y20"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X20 </ci>
+              <ci> X20 </ci>
+              <ci> Y20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X20 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21" stoichiometry="2"/>
+          <speciesReference species="Y21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X21 </ci>
+              <ci> X21 </ci>
+              <ci> Y21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X21 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22" stoichiometry="2"/>
+          <speciesReference species="Y22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X22 </ci>
+              <ci> X22 </ci>
+              <ci> Y22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X22 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23" stoichiometry="2"/>
+          <speciesReference species="Y23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X23 </ci>
+              <ci> X23 </ci>
+              <ci> Y23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X23 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24" stoichiometry="2"/>
+          <speciesReference species="Y24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X24 </ci>
+              <ci> X24 </ci>
+              <ci> Y24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X24 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25" stoichiometry="2"/>
+          <speciesReference species="Y25"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X25 </ci>
+              <ci> X25 </ci>
+              <ci> Y25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X25 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26" stoichiometry="2"/>
+          <speciesReference species="Y26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X26 </ci>
+              <ci> X26 </ci>
+              <ci> Y26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X26 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27" stoichiometry="2"/>
+          <speciesReference species="Y27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X27 </ci>
+              <ci> X27 </ci>
+              <ci> Y27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X27 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28" stoichiometry="2"/>
+          <speciesReference species="Y28"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X28 </ci>
+              <ci> X28 </ci>
+              <ci> Y28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X28 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29" stoichiometry="2"/>
+          <speciesReference species="Y29"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X29 </ci>
+              <ci> X29 </ci>
+              <ci> Y29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X29 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30" stoichiometry="2"/>
+          <speciesReference species="Y30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X30 </ci>
+              <ci> X30 </ci>
+              <ci> Y30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X30 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31" stoichiometry="2"/>
+          <speciesReference species="Y31"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X31 </ci>
+              <ci> X31 </ci>
+              <ci> Y31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X31 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32" stoichiometry="2"/>
+          <speciesReference species="Y32"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X32 </ci>
+              <ci> X32 </ci>
+              <ci> Y32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X32 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33" stoichiometry="2"/>
+          <speciesReference species="Y33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X33 </ci>
+              <ci> X33 </ci>
+              <ci> Y33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X33 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34" stoichiometry="2"/>
+          <speciesReference species="Y34"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X34 </ci>
+              <ci> X34 </ci>
+              <ci> Y34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X34 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35" stoichiometry="2"/>
+          <speciesReference species="Y35"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X35 </ci>
+              <ci> X35 </ci>
+              <ci> Y35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X35 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36" stoichiometry="2"/>
+          <speciesReference species="Y36"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X36 </ci>
+              <ci> X36 </ci>
+              <ci> Y36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X36 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37" stoichiometry="2"/>
+          <speciesReference species="Y37"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X37 </ci>
+              <ci> X37 </ci>
+              <ci> Y37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X37 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38" stoichiometry="2"/>
+          <speciesReference species="Y38"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X38 </ci>
+              <ci> X38 </ci>
+              <ci> Y38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X38 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39" stoichiometry="2"/>
+          <speciesReference species="Y39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X39 </ci>
+              <ci> X39 </ci>
+              <ci> Y39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X39 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40" stoichiometry="2"/>
+          <speciesReference species="Y40"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X40 </ci>
+              <ci> X40 </ci>
+              <ci> Y40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X40 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41" stoichiometry="2"/>
+          <speciesReference species="Y41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X41 </ci>
+              <ci> X41 </ci>
+              <ci> Y41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X41 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42" stoichiometry="2"/>
+          <speciesReference species="Y42"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X42 </ci>
+              <ci> X42 </ci>
+              <ci> Y42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X42 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43" stoichiometry="2"/>
+          <speciesReference species="Y43"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X43 </ci>
+              <ci> X43 </ci>
+              <ci> Y43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X43 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44" stoichiometry="2"/>
+          <speciesReference species="Y44"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X44 </ci>
+              <ci> X44 </ci>
+              <ci> Y44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X44 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45" stoichiometry="2"/>
+          <speciesReference species="Y45"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X45 </ci>
+              <ci> X45 </ci>
+              <ci> Y45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X45 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46" stoichiometry="2"/>
+          <speciesReference species="Y46"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X46 </ci>
+              <ci> X46 </ci>
+              <ci> Y46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X46 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47" stoichiometry="2"/>
+          <speciesReference species="Y47"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X47 </ci>
+              <ci> X47 </ci>
+              <ci> Y47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X47 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48" stoichiometry="2"/>
+          <speciesReference species="Y48"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X48 </ci>
+              <ci> X48 </ci>
+              <ci> Y48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X48 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49" stoichiometry="2"/>
+          <speciesReference species="Y49"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X49 </ci>
+              <ci> X49 </ci>
+              <ci> Y49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X49 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50" stoichiometry="2"/>
+          <speciesReference species="Y50"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X50 </ci>
+              <ci> X50 </ci>
+              <ci> Y50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X50 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51" stoichiometry="2"/>
+          <speciesReference species="Y51"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X51 </ci>
+              <ci> X51 </ci>
+              <ci> Y51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X51 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52" stoichiometry="2"/>
+          <speciesReference species="Y52"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X52 </ci>
+              <ci> X52 </ci>
+              <ci> Y52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X52 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53" stoichiometry="2"/>
+          <speciesReference species="Y53"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X53 </ci>
+              <ci> X53 </ci>
+              <ci> Y53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X53 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54" stoichiometry="2"/>
+          <speciesReference species="Y54"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X54 </ci>
+              <ci> X54 </ci>
+              <ci> Y54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X54 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55" stoichiometry="2"/>
+          <speciesReference species="Y55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X55 </ci>
+              <ci> X55 </ci>
+              <ci> Y55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X55 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56" stoichiometry="2"/>
+          <speciesReference species="Y56"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X56 </ci>
+              <ci> X56 </ci>
+              <ci> Y56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X56 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57" stoichiometry="2"/>
+          <speciesReference species="Y57"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X57 </ci>
+              <ci> X57 </ci>
+              <ci> Y57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X57 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58" stoichiometry="2"/>
+          <speciesReference species="Y58"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X58 </ci>
+              <ci> X58 </ci>
+              <ci> Y58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X58 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59" stoichiometry="2"/>
+          <speciesReference species="Y59"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X59 </ci>
+              <ci> X59 </ci>
+              <ci> Y59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X59 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60" stoichiometry="2"/>
+          <speciesReference species="Y60"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X60 </ci>
+              <ci> X60 </ci>
+              <ci> Y60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X60 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61" stoichiometry="2"/>
+          <speciesReference species="Y61"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X61 </ci>
+              <ci> X61 </ci>
+              <ci> Y61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X61 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62" stoichiometry="2"/>
+          <speciesReference species="Y62"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X62 </ci>
+              <ci> X62 </ci>
+              <ci> Y62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X62 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63" stoichiometry="2"/>
+          <speciesReference species="Y63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X63 </ci>
+              <ci> X63 </ci>
+              <ci> Y63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X63 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64" stoichiometry="2"/>
+          <speciesReference species="Y64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X64 </ci>
+              <ci> X64 </ci>
+              <ci> Y64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X64 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65" stoichiometry="2"/>
+          <speciesReference species="Y65"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X65 </ci>
+              <ci> X65 </ci>
+              <ci> Y65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X65 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66" stoichiometry="2"/>
+          <speciesReference species="Y66"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X66 </ci>
+              <ci> X66 </ci>
+              <ci> Y66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X66 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67" stoichiometry="2"/>
+          <speciesReference species="Y67"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X67 </ci>
+              <ci> X67 </ci>
+              <ci> Y67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X67 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68" stoichiometry="2"/>
+          <speciesReference species="Y68"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X68 </ci>
+              <ci> X68 </ci>
+              <ci> Y68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X68 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69" stoichiometry="2"/>
+          <speciesReference species="Y69"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X69 </ci>
+              <ci> X69 </ci>
+              <ci> Y69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X69 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70" stoichiometry="2"/>
+          <speciesReference species="Y70"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X70 </ci>
+              <ci> X70 </ci>
+              <ci> Y70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X70 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71" stoichiometry="2"/>
+          <speciesReference species="Y71"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X71 </ci>
+              <ci> X71 </ci>
+              <ci> Y71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X71 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72" stoichiometry="2"/>
+          <speciesReference species="Y72"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X72 </ci>
+              <ci> X72 </ci>
+              <ci> Y72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X72 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73" stoichiometry="2"/>
+          <speciesReference species="Y73"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X73 </ci>
+              <ci> X73 </ci>
+              <ci> Y73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X73 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74" stoichiometry="2"/>
+          <speciesReference species="Y74"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X74 </ci>
+              <ci> X74 </ci>
+              <ci> Y74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X74 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75" stoichiometry="2"/>
+          <speciesReference species="Y75"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X75 </ci>
+              <ci> X75 </ci>
+              <ci> Y75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X75 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76" stoichiometry="2"/>
+          <speciesReference species="Y76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X76 </ci>
+              <ci> X76 </ci>
+              <ci> Y76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X76 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77" stoichiometry="2"/>
+          <speciesReference species="Y77"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X77 </ci>
+              <ci> X77 </ci>
+              <ci> Y77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X77 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78" stoichiometry="2"/>
+          <speciesReference species="Y78"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X78 </ci>
+              <ci> X78 </ci>
+              <ci> Y78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X78 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79" stoichiometry="2"/>
+          <speciesReference species="Y79"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X79 </ci>
+              <ci> X79 </ci>
+              <ci> Y79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X79 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80" stoichiometry="2"/>
+          <speciesReference species="Y80"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X80 </ci>
+              <ci> X80 </ci>
+              <ci> Y80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X80 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81" stoichiometry="2"/>
+          <speciesReference species="Y81"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X81 </ci>
+              <ci> X81 </ci>
+              <ci> Y81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X81 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82" stoichiometry="2"/>
+          <speciesReference species="Y82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X82 </ci>
+              <ci> X82 </ci>
+              <ci> Y82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X82 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83" stoichiometry="2"/>
+          <speciesReference species="Y83"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X83 </ci>
+              <ci> X83 </ci>
+              <ci> Y83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X83 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84" stoichiometry="2"/>
+          <speciesReference species="Y84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X84 </ci>
+              <ci> X84 </ci>
+              <ci> Y84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X84 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85" stoichiometry="2"/>
+          <speciesReference species="Y85"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X85 </ci>
+              <ci> X85 </ci>
+              <ci> Y85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X85 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86" stoichiometry="2"/>
+          <speciesReference species="Y86"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X86 </ci>
+              <ci> X86 </ci>
+              <ci> Y86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X86 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87" stoichiometry="2"/>
+          <speciesReference species="Y87"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X87 </ci>
+              <ci> X87 </ci>
+              <ci> Y87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X87 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88" stoichiometry="2"/>
+          <speciesReference species="Y88"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X88 </ci>
+              <ci> X88 </ci>
+              <ci> Y88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X88 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89" stoichiometry="2"/>
+          <speciesReference species="Y89"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X89 </ci>
+              <ci> X89 </ci>
+              <ci> Y89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X89 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90" stoichiometry="2"/>
+          <speciesReference species="Y90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X90 </ci>
+              <ci> X90 </ci>
+              <ci> Y90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X90 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91" stoichiometry="2"/>
+          <speciesReference species="Y91"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X91 </ci>
+              <ci> X91 </ci>
+              <ci> Y91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X91 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92" stoichiometry="2"/>
+          <speciesReference species="Y92"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X92 </ci>
+              <ci> X92 </ci>
+              <ci> Y92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X92 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93" stoichiometry="2"/>
+          <speciesReference species="Y93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X93 </ci>
+              <ci> X93 </ci>
+              <ci> Y93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X93 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94" stoichiometry="2"/>
+          <speciesReference species="Y94"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X94 </ci>
+              <ci> X94 </ci>
+              <ci> Y94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X94 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95" stoichiometry="2"/>
+          <speciesReference species="Y95"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X95 </ci>
+              <ci> X95 </ci>
+              <ci> Y95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X95 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96" stoichiometry="2"/>
+          <speciesReference species="Y96"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X96 </ci>
+              <ci> X96 </ci>
+              <ci> Y96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X96 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97" stoichiometry="2"/>
+          <speciesReference species="Y97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X97 </ci>
+              <ci> X97 </ci>
+              <ci> Y97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X97 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98" stoichiometry="2"/>
+          <speciesReference species="Y98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X98 </ci>
+              <ci> X98 </ci>
+              <ci> Y98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X98 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99" stoichiometry="2"/>
+          <speciesReference species="Y99"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X99 </ci>
+              <ci> X99 </ci>
+              <ci> Y99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X99 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100" stoichiometry="2"/>
+          <speciesReference species="Y100"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X100 </ci>
+              <ci> X100 </ci>
+              <ci> Y100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X100 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101" stoichiometry="2"/>
+          <speciesReference species="Y101"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X101 </ci>
+              <ci> X101 </ci>
+              <ci> Y101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X101 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102" stoichiometry="2"/>
+          <speciesReference species="Y102"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X102 </ci>
+              <ci> X102 </ci>
+              <ci> Y102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X102 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103" stoichiometry="2"/>
+          <speciesReference species="Y103"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X103 </ci>
+              <ci> X103 </ci>
+              <ci> Y103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X103 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104" stoichiometry="2"/>
+          <speciesReference species="Y104"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X104 </ci>
+              <ci> X104 </ci>
+              <ci> Y104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X104 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105" stoichiometry="2"/>
+          <speciesReference species="Y105"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X105 </ci>
+              <ci> X105 </ci>
+              <ci> Y105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X105 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106" stoichiometry="2"/>
+          <speciesReference species="Y106"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X106 </ci>
+              <ci> X106 </ci>
+              <ci> Y106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X106 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107" stoichiometry="2"/>
+          <speciesReference species="Y107"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X107 </ci>
+              <ci> X107 </ci>
+              <ci> Y107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X107 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108" stoichiometry="2"/>
+          <speciesReference species="Y108"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X108 </ci>
+              <ci> X108 </ci>
+              <ci> Y108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X108 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109" stoichiometry="2"/>
+          <speciesReference species="Y109"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X109 </ci>
+              <ci> X109 </ci>
+              <ci> Y109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X109 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110" stoichiometry="2"/>
+          <speciesReference species="Y110"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X110 </ci>
+              <ci> X110 </ci>
+              <ci> Y110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X110 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111" stoichiometry="2"/>
+          <speciesReference species="Y111"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X111 </ci>
+              <ci> X111 </ci>
+              <ci> Y111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X111 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112" stoichiometry="2"/>
+          <speciesReference species="Y112"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X112 </ci>
+              <ci> X112 </ci>
+              <ci> Y112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X112 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113" stoichiometry="2"/>
+          <speciesReference species="Y113"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X113 </ci>
+              <ci> X113 </ci>
+              <ci> Y113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X113 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114" stoichiometry="2"/>
+          <speciesReference species="Y114"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X114 </ci>
+              <ci> X114 </ci>
+              <ci> Y114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X114 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115" stoichiometry="2"/>
+          <speciesReference species="Y115"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X115 </ci>
+              <ci> X115 </ci>
+              <ci> Y115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X115 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116" stoichiometry="2"/>
+          <speciesReference species="Y116"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X116 </ci>
+              <ci> X116 </ci>
+              <ci> Y116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X116 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117" stoichiometry="2"/>
+          <speciesReference species="Y117"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X117 </ci>
+              <ci> X117 </ci>
+              <ci> Y117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X117 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118" stoichiometry="2"/>
+          <speciesReference species="Y118"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X118 </ci>
+              <ci> X118 </ci>
+              <ci> Y118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X118 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119" stoichiometry="2"/>
+          <speciesReference species="Y119"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X119 </ci>
+              <ci> X119 </ci>
+              <ci> Y119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X119 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120" stoichiometry="2"/>
+          <speciesReference species="Y120"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X120 </ci>
+              <ci> X120 </ci>
+              <ci> Y120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X120 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121" stoichiometry="2"/>
+          <speciesReference species="Y121"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X121 </ci>
+              <ci> X121 </ci>
+              <ci> Y121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X121 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122" stoichiometry="2"/>
+          <speciesReference species="Y122"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X122 </ci>
+              <ci> X122 </ci>
+              <ci> Y122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X122 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123" stoichiometry="2"/>
+          <speciesReference species="Y123"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X123 </ci>
+              <ci> X123 </ci>
+              <ci> Y123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X123 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124" stoichiometry="2"/>
+          <speciesReference species="Y124"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X124 </ci>
+              <ci> X124 </ci>
+              <ci> Y124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X124 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125" stoichiometry="2"/>
+          <speciesReference species="Y125"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X125 </ci>
+              <ci> X125 </ci>
+              <ci> Y125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X125 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126" stoichiometry="2"/>
+          <speciesReference species="Y126"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X126 </ci>
+              <ci> X126 </ci>
+              <ci> Y126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X126 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127" stoichiometry="2"/>
+          <speciesReference species="Y127"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X127 </ci>
+              <ci> X127 </ci>
+              <ci> Y127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X127 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128" stoichiometry="2"/>
+          <speciesReference species="Y128"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X128 </ci>
+              <ci> X128 </ci>
+              <ci> Y128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X128 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129" stoichiometry="2"/>
+          <speciesReference species="Y129"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X129 </ci>
+              <ci> X129 </ci>
+              <ci> Y129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X129 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130" stoichiometry="2"/>
+          <speciesReference species="Y130"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X130 </ci>
+              <ci> X130 </ci>
+              <ci> Y130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X130 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131" stoichiometry="2"/>
+          <speciesReference species="Y131"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X131 </ci>
+              <ci> X131 </ci>
+              <ci> Y131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X131 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132" stoichiometry="2"/>
+          <speciesReference species="Y132"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X132 </ci>
+              <ci> X132 </ci>
+              <ci> Y132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X132 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133" stoichiometry="2"/>
+          <speciesReference species="Y133"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X133 </ci>
+              <ci> X133 </ci>
+              <ci> Y133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X133 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134" stoichiometry="2"/>
+          <speciesReference species="Y134"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X134 </ci>
+              <ci> X134 </ci>
+              <ci> Y134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X134 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135" stoichiometry="2"/>
+          <speciesReference species="Y135"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X135 </ci>
+              <ci> X135 </ci>
+              <ci> Y135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X135 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136" stoichiometry="2"/>
+          <speciesReference species="Y136"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X136 </ci>
+              <ci> X136 </ci>
+              <ci> Y136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X136 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137" stoichiometry="2"/>
+          <speciesReference species="Y137"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X137 </ci>
+              <ci> X137 </ci>
+              <ci> Y137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X137 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138" stoichiometry="2"/>
+          <speciesReference species="Y138"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X138 </ci>
+              <ci> X138 </ci>
+              <ci> Y138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X138 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139" stoichiometry="2"/>
+          <speciesReference species="Y139"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X139 </ci>
+              <ci> X139 </ci>
+              <ci> Y139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X139 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140" stoichiometry="2"/>
+          <speciesReference species="Y140"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X140 </ci>
+              <ci> X140 </ci>
+              <ci> Y140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X140 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141" stoichiometry="2"/>
+          <speciesReference species="Y141"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X141 </ci>
+              <ci> X141 </ci>
+              <ci> Y141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X141 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142" stoichiometry="2"/>
+          <speciesReference species="Y142"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X142 </ci>
+              <ci> X142 </ci>
+              <ci> Y142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X142 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143" stoichiometry="2"/>
+          <speciesReference species="Y143"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X143 </ci>
+              <ci> X143 </ci>
+              <ci> Y143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X143 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144" stoichiometry="2"/>
+          <speciesReference species="Y144"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X144 </ci>
+              <ci> X144 </ci>
+              <ci> Y144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X144 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145" stoichiometry="2"/>
+          <speciesReference species="Y145"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X145 </ci>
+              <ci> X145 </ci>
+              <ci> Y145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X145 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146" stoichiometry="2"/>
+          <speciesReference species="Y146"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X146 </ci>
+              <ci> X146 </ci>
+              <ci> Y146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X146 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147" stoichiometry="2"/>
+          <speciesReference species="Y147"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X147 </ci>
+              <ci> X147 </ci>
+              <ci> Y147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X147 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148" stoichiometry="2"/>
+          <speciesReference species="Y148"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X148 </ci>
+              <ci> X148 </ci>
+              <ci> Y148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X148 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149" stoichiometry="2"/>
+          <speciesReference species="Y149"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X149 </ci>
+              <ci> X149 </ci>
+              <ci> Y149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X149 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150" stoichiometry="2"/>
+          <speciesReference species="Y150"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X150 </ci>
+              <ci> X150 </ci>
+              <ci> Y150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X150 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151" stoichiometry="2"/>
+          <speciesReference species="Y151"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X151 </ci>
+              <ci> X151 </ci>
+              <ci> Y151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X151 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152" stoichiometry="2"/>
+          <speciesReference species="Y152"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X152 </ci>
+              <ci> X152 </ci>
+              <ci> Y152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X152 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153" stoichiometry="2"/>
+          <speciesReference species="Y153"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X153 </ci>
+              <ci> X153 </ci>
+              <ci> Y153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X153 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154" stoichiometry="2"/>
+          <speciesReference species="Y154"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X154 </ci>
+              <ci> X154 </ci>
+              <ci> Y154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X154 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155" stoichiometry="2"/>
+          <speciesReference species="Y155"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X155 </ci>
+              <ci> X155 </ci>
+              <ci> Y155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X155 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156" stoichiometry="2"/>
+          <speciesReference species="Y156"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X156 </ci>
+              <ci> X156 </ci>
+              <ci> Y156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X156 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157" stoichiometry="2"/>
+          <speciesReference species="Y157"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X157 </ci>
+              <ci> X157 </ci>
+              <ci> Y157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X157 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158" stoichiometry="2"/>
+          <speciesReference species="Y158"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X158 </ci>
+              <ci> X158 </ci>
+              <ci> Y158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X158 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159" stoichiometry="2"/>
+          <speciesReference species="Y159"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X159 </ci>
+              <ci> X159 </ci>
+              <ci> Y159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X159 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160" stoichiometry="2"/>
+          <speciesReference species="Y160"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X160 </ci>
+              <ci> X160 </ci>
+              <ci> Y160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X160 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161" stoichiometry="2"/>
+          <speciesReference species="Y161"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X161 </ci>
+              <ci> X161 </ci>
+              <ci> Y161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X161 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162" stoichiometry="2"/>
+          <speciesReference species="Y162"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X162 </ci>
+              <ci> X162 </ci>
+              <ci> Y162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X162 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163" stoichiometry="2"/>
+          <speciesReference species="Y163"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X163 </ci>
+              <ci> X163 </ci>
+              <ci> Y163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X163 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164" stoichiometry="2"/>
+          <speciesReference species="Y164"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X164 </ci>
+              <ci> X164 </ci>
+              <ci> Y164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X164 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165" stoichiometry="2"/>
+          <speciesReference species="Y165"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X165 </ci>
+              <ci> X165 </ci>
+              <ci> Y165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X165 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166" stoichiometry="2"/>
+          <speciesReference species="Y166"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X166 </ci>
+              <ci> X166 </ci>
+              <ci> Y166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X166 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167" stoichiometry="2"/>
+          <speciesReference species="Y167"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X167 </ci>
+              <ci> X167 </ci>
+              <ci> Y167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X167 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168" stoichiometry="2"/>
+          <speciesReference species="Y168"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X168 </ci>
+              <ci> X168 </ci>
+              <ci> Y168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X168 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169" stoichiometry="2"/>
+          <speciesReference species="Y169"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X169 </ci>
+              <ci> X169 </ci>
+              <ci> Y169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X169 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170" stoichiometry="2"/>
+          <speciesReference species="Y170"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X170 </ci>
+              <ci> X170 </ci>
+              <ci> Y170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X170 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171" stoichiometry="2"/>
+          <speciesReference species="Y171"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X171 </ci>
+              <ci> X171 </ci>
+              <ci> Y171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X171 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172" stoichiometry="2"/>
+          <speciesReference species="Y172"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X172 </ci>
+              <ci> X172 </ci>
+              <ci> Y172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X172 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173" stoichiometry="2"/>
+          <speciesReference species="Y173"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X173 </ci>
+              <ci> X173 </ci>
+              <ci> Y173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X173 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174" stoichiometry="2"/>
+          <speciesReference species="Y174"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X174 </ci>
+              <ci> X174 </ci>
+              <ci> Y174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X174 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175" stoichiometry="2"/>
+          <speciesReference species="Y175"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X175 </ci>
+              <ci> X175 </ci>
+              <ci> Y175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X175 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176" stoichiometry="2"/>
+          <speciesReference species="Y176"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X176 </ci>
+              <ci> X176 </ci>
+              <ci> Y176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X176 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177" stoichiometry="2"/>
+          <speciesReference species="Y177"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X177 </ci>
+              <ci> X177 </ci>
+              <ci> Y177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X177 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178" stoichiometry="2"/>
+          <speciesReference species="Y178"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X178 </ci>
+              <ci> X178 </ci>
+              <ci> Y178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X178 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179" stoichiometry="2"/>
+          <speciesReference species="Y179"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X179 </ci>
+              <ci> X179 </ci>
+              <ci> Y179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X179 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180" stoichiometry="2"/>
+          <speciesReference species="Y180"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X180 </ci>
+              <ci> X180 </ci>
+              <ci> Y180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X180 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181" stoichiometry="2"/>
+          <speciesReference species="Y181"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X181 </ci>
+              <ci> X181 </ci>
+              <ci> Y181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X181 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182" stoichiometry="2"/>
+          <speciesReference species="Y182"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X182 </ci>
+              <ci> X182 </ci>
+              <ci> Y182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X182 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183" stoichiometry="2"/>
+          <speciesReference species="Y183"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X183 </ci>
+              <ci> X183 </ci>
+              <ci> Y183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X183 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184" stoichiometry="2"/>
+          <speciesReference species="Y184"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X184 </ci>
+              <ci> X184 </ci>
+              <ci> Y184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X184 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185" stoichiometry="2"/>
+          <speciesReference species="Y185"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X185 </ci>
+              <ci> X185 </ci>
+              <ci> Y185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X185 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186" stoichiometry="2"/>
+          <speciesReference species="Y186"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X186 </ci>
+              <ci> X186 </ci>
+              <ci> Y186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X186 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187" stoichiometry="2"/>
+          <speciesReference species="Y187"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X187 </ci>
+              <ci> X187 </ci>
+              <ci> Y187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X187 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188" stoichiometry="2"/>
+          <speciesReference species="Y188"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X188 </ci>
+              <ci> X188 </ci>
+              <ci> Y188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X188 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189" stoichiometry="2"/>
+          <speciesReference species="Y189"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X189 </ci>
+              <ci> X189 </ci>
+              <ci> Y189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X189 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190" stoichiometry="2"/>
+          <speciesReference species="Y190"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X190 </ci>
+              <ci> X190 </ci>
+              <ci> Y190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X190 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191" stoichiometry="2"/>
+          <speciesReference species="Y191"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X191 </ci>
+              <ci> X191 </ci>
+              <ci> Y191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X191 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192" stoichiometry="2"/>
+          <speciesReference species="Y192"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X192 </ci>
+              <ci> X192 </ci>
+              <ci> Y192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X192 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193" stoichiometry="2"/>
+          <speciesReference species="Y193"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X193 </ci>
+              <ci> X193 </ci>
+              <ci> Y193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X193 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194" stoichiometry="2"/>
+          <speciesReference species="Y194"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X194 </ci>
+              <ci> X194 </ci>
+              <ci> Y194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X194 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195" stoichiometry="2"/>
+          <speciesReference species="Y195"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X195 </ci>
+              <ci> X195 </ci>
+              <ci> Y195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X195 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196" stoichiometry="2"/>
+          <speciesReference species="Y196"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X196 </ci>
+              <ci> X196 </ci>
+              <ci> Y196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X196 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197" stoichiometry="2"/>
+          <speciesReference species="Y197"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X197 </ci>
+              <ci> X197 </ci>
+              <ci> Y197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X197 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198" stoichiometry="2"/>
+          <speciesReference species="Y198"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X198 </ci>
+              <ci> X198 </ci>
+              <ci> Y198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X198 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199" stoichiometry="2"/>
+          <speciesReference species="Y199"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X199 </ci>
+              <ci> X199 </ci>
+              <ci> Y199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X199 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200" stoichiometry="2"/>
+          <speciesReference species="Y200"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X200 </ci>
+              <ci> X200 </ci>
+              <ci> Y200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X200 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201" stoichiometry="2"/>
+          <speciesReference species="Y201"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X201 </ci>
+              <ci> X201 </ci>
+              <ci> Y201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X201 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202" stoichiometry="2"/>
+          <speciesReference species="Y202"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X202 </ci>
+              <ci> X202 </ci>
+              <ci> Y202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X202 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203" stoichiometry="2"/>
+          <speciesReference species="Y203"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X203 </ci>
+              <ci> X203 </ci>
+              <ci> Y203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X203 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204" stoichiometry="2"/>
+          <speciesReference species="Y204"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X204 </ci>
+              <ci> X204 </ci>
+              <ci> Y204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X204 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205" stoichiometry="2"/>
+          <speciesReference species="Y205"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X205 </ci>
+              <ci> X205 </ci>
+              <ci> Y205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X205 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206" stoichiometry="2"/>
+          <speciesReference species="Y206"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X206 </ci>
+              <ci> X206 </ci>
+              <ci> Y206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X206 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207" stoichiometry="2"/>
+          <speciesReference species="Y207"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X207 </ci>
+              <ci> X207 </ci>
+              <ci> Y207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X207 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208" stoichiometry="2"/>
+          <speciesReference species="Y208"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X208 </ci>
+              <ci> X208 </ci>
+              <ci> Y208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X208 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209" stoichiometry="2"/>
+          <speciesReference species="Y209"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X209 </ci>
+              <ci> X209 </ci>
+              <ci> Y209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X209 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210" stoichiometry="2"/>
+          <speciesReference species="Y210"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X210 </ci>
+              <ci> X210 </ci>
+              <ci> Y210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X210 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211" stoichiometry="2"/>
+          <speciesReference species="Y211"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X211 </ci>
+              <ci> X211 </ci>
+              <ci> Y211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X211 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212" stoichiometry="2"/>
+          <speciesReference species="Y212"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X212 </ci>
+              <ci> X212 </ci>
+              <ci> Y212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X212 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213" stoichiometry="2"/>
+          <speciesReference species="Y213"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X213 </ci>
+              <ci> X213 </ci>
+              <ci> Y213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X213 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214" stoichiometry="2"/>
+          <speciesReference species="Y214"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X214 </ci>
+              <ci> X214 </ci>
+              <ci> Y214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X214 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215" stoichiometry="2"/>
+          <speciesReference species="Y215"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X215 </ci>
+              <ci> X215 </ci>
+              <ci> Y215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X215 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216" stoichiometry="2"/>
+          <speciesReference species="Y216"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X216 </ci>
+              <ci> X216 </ci>
+              <ci> Y216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X216 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217" stoichiometry="2"/>
+          <speciesReference species="Y217"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X217 </ci>
+              <ci> X217 </ci>
+              <ci> Y217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X217 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218" stoichiometry="2"/>
+          <speciesReference species="Y218"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X218 </ci>
+              <ci> X218 </ci>
+              <ci> Y218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X218 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219" stoichiometry="2"/>
+          <speciesReference species="Y219"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X219 </ci>
+              <ci> X219 </ci>
+              <ci> Y219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X219 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220" stoichiometry="2"/>
+          <speciesReference species="Y220"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X220 </ci>
+              <ci> X220 </ci>
+              <ci> Y220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X220 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221" stoichiometry="2"/>
+          <speciesReference species="Y221"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X221 </ci>
+              <ci> X221 </ci>
+              <ci> Y221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X221 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222" stoichiometry="2"/>
+          <speciesReference species="Y222"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X222 </ci>
+              <ci> X222 </ci>
+              <ci> Y222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X222 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223" stoichiometry="2"/>
+          <speciesReference species="Y223"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X223 </ci>
+              <ci> X223 </ci>
+              <ci> Y223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X223 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224" stoichiometry="2"/>
+          <speciesReference species="Y224"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X224 </ci>
+              <ci> X224 </ci>
+              <ci> Y224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X224 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225" stoichiometry="2"/>
+          <speciesReference species="Y225"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X225 </ci>
+              <ci> X225 </ci>
+              <ci> Y225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X225 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226" stoichiometry="2"/>
+          <speciesReference species="Y226"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X226 </ci>
+              <ci> X226 </ci>
+              <ci> Y226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X226 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227" stoichiometry="2"/>
+          <speciesReference species="Y227"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X227 </ci>
+              <ci> X227 </ci>
+              <ci> Y227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X227 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228" stoichiometry="2"/>
+          <speciesReference species="Y228"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X228 </ci>
+              <ci> X228 </ci>
+              <ci> Y228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X228 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229" stoichiometry="2"/>
+          <speciesReference species="Y229"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X229 </ci>
+              <ci> X229 </ci>
+              <ci> Y229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X229 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230" stoichiometry="2"/>
+          <speciesReference species="Y230"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X230 </ci>
+              <ci> X230 </ci>
+              <ci> Y230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X230 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231" stoichiometry="2"/>
+          <speciesReference species="Y231"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X231 </ci>
+              <ci> X231 </ci>
+              <ci> Y231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X231 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232" stoichiometry="2"/>
+          <speciesReference species="Y232"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X232 </ci>
+              <ci> X232 </ci>
+              <ci> Y232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X232 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233" stoichiometry="2"/>
+          <speciesReference species="Y233"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X233 </ci>
+              <ci> X233 </ci>
+              <ci> Y233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X233 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234" stoichiometry="2"/>
+          <speciesReference species="Y234"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X234 </ci>
+              <ci> X234 </ci>
+              <ci> Y234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X234 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235" stoichiometry="2"/>
+          <speciesReference species="Y235"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X235 </ci>
+              <ci> X235 </ci>
+              <ci> Y235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X235 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236" stoichiometry="2"/>
+          <speciesReference species="Y236"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X236 </ci>
+              <ci> X236 </ci>
+              <ci> Y236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X236 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237" stoichiometry="2"/>
+          <speciesReference species="Y237"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X237 </ci>
+              <ci> X237 </ci>
+              <ci> Y237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X237 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238" stoichiometry="2"/>
+          <speciesReference species="Y238"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X238 </ci>
+              <ci> X238 </ci>
+              <ci> Y238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X238 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239" stoichiometry="2"/>
+          <speciesReference species="Y239"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X239 </ci>
+              <ci> X239 </ci>
+              <ci> Y239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X239 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240" stoichiometry="2"/>
+          <speciesReference species="Y240"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X240 </ci>
+              <ci> X240 </ci>
+              <ci> Y240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X240 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241" stoichiometry="2"/>
+          <speciesReference species="Y241"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X241 </ci>
+              <ci> X241 </ci>
+              <ci> Y241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X241 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242" stoichiometry="2"/>
+          <speciesReference species="Y242"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X242 </ci>
+              <ci> X242 </ci>
+              <ci> Y242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X242 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243" stoichiometry="2"/>
+          <speciesReference species="Y243"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X243 </ci>
+              <ci> X243 </ci>
+              <ci> Y243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X243 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244" stoichiometry="2"/>
+          <speciesReference species="Y244"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X244 </ci>
+              <ci> X244 </ci>
+              <ci> Y244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X244 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245" stoichiometry="2"/>
+          <speciesReference species="Y245"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X245 </ci>
+              <ci> X245 </ci>
+              <ci> Y245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X245 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246" stoichiometry="2"/>
+          <speciesReference species="Y246"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X246 </ci>
+              <ci> X246 </ci>
+              <ci> Y246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X246 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247" stoichiometry="2"/>
+          <speciesReference species="Y247"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X247 </ci>
+              <ci> X247 </ci>
+              <ci> Y247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X247 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248" stoichiometry="2"/>
+          <speciesReference species="Y248"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X248 </ci>
+              <ci> X248 </ci>
+              <ci> Y248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X248 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249" stoichiometry="2"/>
+          <speciesReference species="Y249"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X249 </ci>
+              <ci> X249 </ci>
+              <ci> Y249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X249 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250" stoichiometry="2"/>
+          <speciesReference species="Y250"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X250 </ci>
+              <ci> X250 </ci>
+              <ci> Y250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X250 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X251"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251" stoichiometry="2"/>
+          <speciesReference species="Y251"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X251" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X251 </ci>
+              <ci> X251 </ci>
+              <ci> Y251 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y251"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X251 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X251 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X252"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252" stoichiometry="2"/>
+          <speciesReference species="Y252"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X252" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X252 </ci>
+              <ci> X252 </ci>
+              <ci> Y252 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y252"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X252 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X252 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X253"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253" stoichiometry="2"/>
+          <speciesReference species="Y253"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X253" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X253 </ci>
+              <ci> X253 </ci>
+              <ci> Y253 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y253"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X253 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X253 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X254"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254" stoichiometry="2"/>
+          <speciesReference species="Y254"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X254" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X254 </ci>
+              <ci> X254 </ci>
+              <ci> Y254 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y254"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X254 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X254 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X255"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255" stoichiometry="2"/>
+          <speciesReference species="Y255"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X255" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X255 </ci>
+              <ci> X255 </ci>
+              <ci> Y255 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y255"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X255 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X255 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X256"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256" stoichiometry="2"/>
+          <speciesReference species="Y256"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X256" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X256 </ci>
+              <ci> X256 </ci>
+              <ci> Y256 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y256"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X256 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X256 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X257"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257" stoichiometry="2"/>
+          <speciesReference species="Y257"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X257" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X257 </ci>
+              <ci> X257 </ci>
+              <ci> Y257 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y257"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X257 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X257 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X258"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258" stoichiometry="2"/>
+          <speciesReference species="Y258"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X258" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X258 </ci>
+              <ci> X258 </ci>
+              <ci> Y258 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y258"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X258 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X258 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X259"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259" stoichiometry="2"/>
+          <speciesReference species="Y259"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X259" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X259 </ci>
+              <ci> X259 </ci>
+              <ci> Y259 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y259"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X259 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X259 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X260"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260" stoichiometry="2"/>
+          <speciesReference species="Y260"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X260" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X260 </ci>
+              <ci> X260 </ci>
+              <ci> Y260 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y260"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X260 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X260 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X261"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261" stoichiometry="2"/>
+          <speciesReference species="Y261"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X261" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X261 </ci>
+              <ci> X261 </ci>
+              <ci> Y261 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y261"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X261 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X261 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X262"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262" stoichiometry="2"/>
+          <speciesReference species="Y262"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X262" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X262 </ci>
+              <ci> X262 </ci>
+              <ci> Y262 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y262"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X262 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X262 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X263"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263" stoichiometry="2"/>
+          <speciesReference species="Y263"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X263" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X263 </ci>
+              <ci> X263 </ci>
+              <ci> Y263 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y263"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X263 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X263 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X264"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264" stoichiometry="2"/>
+          <speciesReference species="Y264"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X264" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X264 </ci>
+              <ci> X264 </ci>
+              <ci> Y264 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y264"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X264 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X264 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X265"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265" stoichiometry="2"/>
+          <speciesReference species="Y265"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X265" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X265 </ci>
+              <ci> X265 </ci>
+              <ci> Y265 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y265"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X265 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X265 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X266"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266" stoichiometry="2"/>
+          <speciesReference species="Y266"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X266" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X266 </ci>
+              <ci> X266 </ci>
+              <ci> Y266 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y266"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X266 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X266 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X267"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267" stoichiometry="2"/>
+          <speciesReference species="Y267"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X267" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X267 </ci>
+              <ci> X267 </ci>
+              <ci> Y267 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y267"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X267 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X267 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X268"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268" stoichiometry="2"/>
+          <speciesReference species="Y268"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X268" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X268 </ci>
+              <ci> X268 </ci>
+              <ci> Y268 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y268"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X268 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X268 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X269"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269" stoichiometry="2"/>
+          <speciesReference species="Y269"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X269" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X269 </ci>
+              <ci> X269 </ci>
+              <ci> Y269 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y269"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X269 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X269 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X270"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270" stoichiometry="2"/>
+          <speciesReference species="Y270"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X270" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X270 </ci>
+              <ci> X270 </ci>
+              <ci> Y270 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y270"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X270 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X270 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X271"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271" stoichiometry="2"/>
+          <speciesReference species="Y271"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X271" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X271 </ci>
+              <ci> X271 </ci>
+              <ci> Y271 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y271"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X271 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X271 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X272"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272" stoichiometry="2"/>
+          <speciesReference species="Y272"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X272" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X272 </ci>
+              <ci> X272 </ci>
+              <ci> Y272 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y272"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X272 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X272 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X273"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273" stoichiometry="2"/>
+          <speciesReference species="Y273"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X273" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X273 </ci>
+              <ci> X273 </ci>
+              <ci> Y273 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y273"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X273 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X273 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X274"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274" stoichiometry="2"/>
+          <speciesReference species="Y274"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X274" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X274 </ci>
+              <ci> X274 </ci>
+              <ci> Y274 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y274"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X274 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X274 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X275"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275" stoichiometry="2"/>
+          <speciesReference species="Y275"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X275" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X275 </ci>
+              <ci> X275 </ci>
+              <ci> Y275 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y275"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X275 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X275 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X276"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276" stoichiometry="2"/>
+          <speciesReference species="Y276"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X276" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X276 </ci>
+              <ci> X276 </ci>
+              <ci> Y276 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y276"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X276 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X276 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X277"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277" stoichiometry="2"/>
+          <speciesReference species="Y277"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X277" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X277 </ci>
+              <ci> X277 </ci>
+              <ci> Y277 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y277"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X277 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X277 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X278"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278" stoichiometry="2"/>
+          <speciesReference species="Y278"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X278" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X278 </ci>
+              <ci> X278 </ci>
+              <ci> Y278 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y278"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X278 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X278 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X279"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279" stoichiometry="2"/>
+          <speciesReference species="Y279"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X279" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X279 </ci>
+              <ci> X279 </ci>
+              <ci> Y279 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y279"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X279 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X279 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X280"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280" stoichiometry="2"/>
+          <speciesReference species="Y280"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X280" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X280 </ci>
+              <ci> X280 </ci>
+              <ci> Y280 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y280"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X280 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X280 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X281"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281" stoichiometry="2"/>
+          <speciesReference species="Y281"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X281" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X281 </ci>
+              <ci> X281 </ci>
+              <ci> Y281 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y281"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X281 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X281 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X282"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282" stoichiometry="2"/>
+          <speciesReference species="Y282"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X282" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X282 </ci>
+              <ci> X282 </ci>
+              <ci> Y282 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y282"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X282 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X282 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X283"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283" stoichiometry="2"/>
+          <speciesReference species="Y283"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X283" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X283 </ci>
+              <ci> X283 </ci>
+              <ci> Y283 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y283"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X283 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X283 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X284"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284" stoichiometry="2"/>
+          <speciesReference species="Y284"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X284" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X284 </ci>
+              <ci> X284 </ci>
+              <ci> Y284 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y284"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X284 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X284 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X285"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285" stoichiometry="2"/>
+          <speciesReference species="Y285"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X285" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X285 </ci>
+              <ci> X285 </ci>
+              <ci> Y285 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y285"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X285 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X285 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X286"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286" stoichiometry="2"/>
+          <speciesReference species="Y286"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X286" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X286 </ci>
+              <ci> X286 </ci>
+              <ci> Y286 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y286"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X286 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X286 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X287"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287" stoichiometry="2"/>
+          <speciesReference species="Y287"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X287" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X287 </ci>
+              <ci> X287 </ci>
+              <ci> Y287 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y287"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X287 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X287 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X288"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288" stoichiometry="2"/>
+          <speciesReference species="Y288"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X288" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X288 </ci>
+              <ci> X288 </ci>
+              <ci> Y288 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y288"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X288 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X288 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X289"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289" stoichiometry="2"/>
+          <speciesReference species="Y289"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X289" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X289 </ci>
+              <ci> X289 </ci>
+              <ci> Y289 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y289"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X289 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X289 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X290"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290" stoichiometry="2"/>
+          <speciesReference species="Y290"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X290" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X290 </ci>
+              <ci> X290 </ci>
+              <ci> Y290 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y290"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X290 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X290 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X291"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291" stoichiometry="2"/>
+          <speciesReference species="Y291"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X291" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X291 </ci>
+              <ci> X291 </ci>
+              <ci> Y291 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y291"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X291 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X291 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X292"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292" stoichiometry="2"/>
+          <speciesReference species="Y292"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X292" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X292 </ci>
+              <ci> X292 </ci>
+              <ci> Y292 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y292"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X292 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X292 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X293"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293" stoichiometry="2"/>
+          <speciesReference species="Y293"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X293" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X293 </ci>
+              <ci> X293 </ci>
+              <ci> Y293 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y293"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X293 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X293 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X294"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294" stoichiometry="2"/>
+          <speciesReference species="Y294"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X294" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X294 </ci>
+              <ci> X294 </ci>
+              <ci> Y294 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y294"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X294 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X294 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X295"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295" stoichiometry="2"/>
+          <speciesReference species="Y295"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X295" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X295 </ci>
+              <ci> X295 </ci>
+              <ci> Y295 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y295"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X295 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X295 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X296"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296" stoichiometry="2"/>
+          <speciesReference species="Y296"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X296" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X296 </ci>
+              <ci> X296 </ci>
+              <ci> Y296 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y296"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X296 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X296 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X297"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297" stoichiometry="2"/>
+          <speciesReference species="Y297"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X297" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X297 </ci>
+              <ci> X297 </ci>
+              <ci> Y297 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y297"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X297 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X297 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X298"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298" stoichiometry="2"/>
+          <speciesReference species="Y298"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X298" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X298 </ci>
+              <ci> X298 </ci>
+              <ci> Y298 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y298"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X298 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X298 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X299"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299" stoichiometry="2"/>
+          <speciesReference species="Y299"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X299" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X299 </ci>
+              <ci> X299 </ci>
+              <ci> Y299 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y299"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X299 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X299 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X300"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300" stoichiometry="2"/>
+          <speciesReference species="Y300"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X300" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X300 </ci>
+              <ci> X300 </ci>
+              <ci> Y300 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y300"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X300 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X300 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X301"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301" stoichiometry="2"/>
+          <speciesReference species="Y301"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X301" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X301 </ci>
+              <ci> X301 </ci>
+              <ci> Y301 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y301"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X301 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X301 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X302"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302" stoichiometry="2"/>
+          <speciesReference species="Y302"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X302" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X302 </ci>
+              <ci> X302 </ci>
+              <ci> Y302 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y302"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X302 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X302 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X303"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303" stoichiometry="2"/>
+          <speciesReference species="Y303"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X303" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X303 </ci>
+              <ci> X303 </ci>
+              <ci> Y303 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y303"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X303 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X303 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X304"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304" stoichiometry="2"/>
+          <speciesReference species="Y304"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X304" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X304 </ci>
+              <ci> X304 </ci>
+              <ci> Y304 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y304"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X304 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X304 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X305"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305" stoichiometry="2"/>
+          <speciesReference species="Y305"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X305" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X305 </ci>
+              <ci> X305 </ci>
+              <ci> Y305 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y305"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X305 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X305 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X306"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306" stoichiometry="2"/>
+          <speciesReference species="Y306"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X306" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X306 </ci>
+              <ci> X306 </ci>
+              <ci> Y306 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y306"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X306 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X306 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X307"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307" stoichiometry="2"/>
+          <speciesReference species="Y307"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X307" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X307 </ci>
+              <ci> X307 </ci>
+              <ci> Y307 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y307"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X307 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X307 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X308"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308" stoichiometry="2"/>
+          <speciesReference species="Y308"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X308" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X308 </ci>
+              <ci> X308 </ci>
+              <ci> Y308 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y308"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X308 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X308 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X309"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309" stoichiometry="2"/>
+          <speciesReference species="Y309"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X309" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X309 </ci>
+              <ci> X309 </ci>
+              <ci> Y309 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y309"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X309 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X309 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X310"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310" stoichiometry="2"/>
+          <speciesReference species="Y310"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X310" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X310 </ci>
+              <ci> X310 </ci>
+              <ci> Y310 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y310"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X310 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X310 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X311"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311" stoichiometry="2"/>
+          <speciesReference species="Y311"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X311" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X311 </ci>
+              <ci> X311 </ci>
+              <ci> Y311 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y311"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X311 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X311 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X312"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312" stoichiometry="2"/>
+          <speciesReference species="Y312"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X312" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X312 </ci>
+              <ci> X312 </ci>
+              <ci> Y312 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y312"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X312 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X312 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X313"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313" stoichiometry="2"/>
+          <speciesReference species="Y313"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X313" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X313 </ci>
+              <ci> X313 </ci>
+              <ci> Y313 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y313"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X313 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X313 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X314"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314" stoichiometry="2"/>
+          <speciesReference species="Y314"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X314" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X314 </ci>
+              <ci> X314 </ci>
+              <ci> Y314 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y314"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X314 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X314 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X315"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315" stoichiometry="2"/>
+          <speciesReference species="Y315"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X315" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X315 </ci>
+              <ci> X315 </ci>
+              <ci> Y315 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y315"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X315 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X315 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X316"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316" stoichiometry="2"/>
+          <speciesReference species="Y316"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X316" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X316 </ci>
+              <ci> X316 </ci>
+              <ci> Y316 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y316"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X316 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X316 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X317"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317" stoichiometry="2"/>
+          <speciesReference species="Y317"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X317" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X317 </ci>
+              <ci> X317 </ci>
+              <ci> Y317 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y317"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X317 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X317 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X318"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318" stoichiometry="2"/>
+          <speciesReference species="Y318"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X318" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X318 </ci>
+              <ci> X318 </ci>
+              <ci> Y318 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y318"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X318 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X318 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X319"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319" stoichiometry="2"/>
+          <speciesReference species="Y319"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X319" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X319 </ci>
+              <ci> X319 </ci>
+              <ci> Y319 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y319"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X319 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X319 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X320"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320" stoichiometry="2"/>
+          <speciesReference species="Y320"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X320" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X320 </ci>
+              <ci> X320 </ci>
+              <ci> Y320 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y320"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X320 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X320 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X321"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321" stoichiometry="2"/>
+          <speciesReference species="Y321"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X321" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X321 </ci>
+              <ci> X321 </ci>
+              <ci> Y321 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y321"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X321 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X321 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X322"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322" stoichiometry="2"/>
+          <speciesReference species="Y322"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X322" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X322 </ci>
+              <ci> X322 </ci>
+              <ci> Y322 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y322"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X322 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X322 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X323"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323" stoichiometry="2"/>
+          <speciesReference species="Y323"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X323" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X323 </ci>
+              <ci> X323 </ci>
+              <ci> Y323 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y323"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X323 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X323 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X324"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324" stoichiometry="2"/>
+          <speciesReference species="Y324"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X324" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X324 </ci>
+              <ci> X324 </ci>
+              <ci> Y324 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y324"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X324 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X324 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X325"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325" stoichiometry="2"/>
+          <speciesReference species="Y325"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X325" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X325 </ci>
+              <ci> X325 </ci>
+              <ci> Y325 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y325"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X325 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X325 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X326"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326" stoichiometry="2"/>
+          <speciesReference species="Y326"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X326" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X326 </ci>
+              <ci> X326 </ci>
+              <ci> Y326 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y326"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X326 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X326 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X327"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327" stoichiometry="2"/>
+          <speciesReference species="Y327"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X327" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X327 </ci>
+              <ci> X327 </ci>
+              <ci> Y327 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y327"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X327 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X327 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X328"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328" stoichiometry="2"/>
+          <speciesReference species="Y328"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X328" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X328 </ci>
+              <ci> X328 </ci>
+              <ci> Y328 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y328"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X328 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X328 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X329"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329" stoichiometry="2"/>
+          <speciesReference species="Y329"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X329" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X329 </ci>
+              <ci> X329 </ci>
+              <ci> Y329 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y329"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X329 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X329 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X330"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330" stoichiometry="2"/>
+          <speciesReference species="Y330"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X330" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X330 </ci>
+              <ci> X330 </ci>
+              <ci> Y330 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y330"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X330 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X330 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X331"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331" stoichiometry="2"/>
+          <speciesReference species="Y331"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X331" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X331 </ci>
+              <ci> X331 </ci>
+              <ci> Y331 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y331"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X331 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X331 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X332"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332" stoichiometry="2"/>
+          <speciesReference species="Y332"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X332" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X332 </ci>
+              <ci> X332 </ci>
+              <ci> Y332 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y332"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X332 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X332 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X333"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333" stoichiometry="2"/>
+          <speciesReference species="Y333"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X333" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X333 </ci>
+              <ci> X333 </ci>
+              <ci> Y333 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y333"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X333 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X333 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X334"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334" stoichiometry="2"/>
+          <speciesReference species="Y334"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X334" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X334 </ci>
+              <ci> X334 </ci>
+              <ci> Y334 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y334"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X334 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X334 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X335"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335" stoichiometry="2"/>
+          <speciesReference species="Y335"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X335" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X335 </ci>
+              <ci> X335 </ci>
+              <ci> Y335 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y335"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X335 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X335 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X336"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336" stoichiometry="2"/>
+          <speciesReference species="Y336"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X336" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X336 </ci>
+              <ci> X336 </ci>
+              <ci> Y336 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y336"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X336 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X336 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X337"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337" stoichiometry="2"/>
+          <speciesReference species="Y337"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X337" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X337 </ci>
+              <ci> X337 </ci>
+              <ci> Y337 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y337"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X337 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X337 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X338"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338" stoichiometry="2"/>
+          <speciesReference species="Y338"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X338" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X338 </ci>
+              <ci> X338 </ci>
+              <ci> Y338 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y338"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X338 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X338 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X339"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339" stoichiometry="2"/>
+          <speciesReference species="Y339"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X339" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X339 </ci>
+              <ci> X339 </ci>
+              <ci> Y339 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y339"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X339 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X339 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X340"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340" stoichiometry="2"/>
+          <speciesReference species="Y340"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X340" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X340 </ci>
+              <ci> X340 </ci>
+              <ci> Y340 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y340"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X340 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X340 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X341"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341" stoichiometry="2"/>
+          <speciesReference species="Y341"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X341" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X341 </ci>
+              <ci> X341 </ci>
+              <ci> Y341 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y341"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X341 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X341 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X342"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342" stoichiometry="2"/>
+          <speciesReference species="Y342"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X342" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X342 </ci>
+              <ci> X342 </ci>
+              <ci> Y342 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y342"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X342 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X342 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X343"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343" stoichiometry="2"/>
+          <speciesReference species="Y343"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X343" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X343 </ci>
+              <ci> X343 </ci>
+              <ci> Y343 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y343"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X343 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X343 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X344"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344" stoichiometry="2"/>
+          <speciesReference species="Y344"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X344" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X344 </ci>
+              <ci> X344 </ci>
+              <ci> Y344 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y344"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X344 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X344 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X345"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345" stoichiometry="2"/>
+          <speciesReference species="Y345"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X345" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X345 </ci>
+              <ci> X345 </ci>
+              <ci> Y345 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y345"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X345 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X345 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X346"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346" stoichiometry="2"/>
+          <speciesReference species="Y346"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X346" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X346 </ci>
+              <ci> X346 </ci>
+              <ci> Y346 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y346"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X346 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X346 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X347"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347" stoichiometry="2"/>
+          <speciesReference species="Y347"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X347" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X347 </ci>
+              <ci> X347 </ci>
+              <ci> Y347 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y347"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X347 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X347 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X348"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348" stoichiometry="2"/>
+          <speciesReference species="Y348"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X348" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X348 </ci>
+              <ci> X348 </ci>
+              <ci> Y348 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y348"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X348 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X348 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X349"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349" stoichiometry="2"/>
+          <speciesReference species="Y349"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X349" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X349 </ci>
+              <ci> X349 </ci>
+              <ci> Y349 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y349"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X349 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X349 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X350"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350" stoichiometry="2"/>
+          <speciesReference species="Y350"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X350" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X350 </ci>
+              <ci> X350 </ci>
+              <ci> Y350 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y350"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X350 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X350 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X351"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X351" stoichiometry="2"/>
+          <speciesReference species="Y351"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X351" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X351 </ci>
+              <ci> X351 </ci>
+              <ci> Y351 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X351"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y351"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X351 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X351"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X351 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X352"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X352" stoichiometry="2"/>
+          <speciesReference species="Y352"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X352" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X352 </ci>
+              <ci> X352 </ci>
+              <ci> Y352 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X352"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y352"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X352 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X352"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X352 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X353"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X353" stoichiometry="2"/>
+          <speciesReference species="Y353"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X353" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X353 </ci>
+              <ci> X353 </ci>
+              <ci> Y353 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X353"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y353"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X353 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X353"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X353 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X354"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X354" stoichiometry="2"/>
+          <speciesReference species="Y354"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X354" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X354 </ci>
+              <ci> X354 </ci>
+              <ci> Y354 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X354"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y354"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X354 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X354"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X354 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X355"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X355" stoichiometry="2"/>
+          <speciesReference species="Y355"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X355" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X355 </ci>
+              <ci> X355 </ci>
+              <ci> Y355 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X355"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y355"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X355 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X355"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X355 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X356"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X356" stoichiometry="2"/>
+          <speciesReference species="Y356"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X356" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X356 </ci>
+              <ci> X356 </ci>
+              <ci> Y356 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X356"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y356"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X356 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X356"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X356 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X357"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X357" stoichiometry="2"/>
+          <speciesReference species="Y357"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X357" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X357 </ci>
+              <ci> X357 </ci>
+              <ci> Y357 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X357"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y357"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X357 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X357"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X357 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X358"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X358" stoichiometry="2"/>
+          <speciesReference species="Y358"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X358" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X358 </ci>
+              <ci> X358 </ci>
+              <ci> Y358 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X358"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y358"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X358 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X358"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X358 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X359"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X359" stoichiometry="2"/>
+          <speciesReference species="Y359"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X359" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X359 </ci>
+              <ci> X359 </ci>
+              <ci> Y359 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X359"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y359"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X359 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X359"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X359 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X360"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X360" stoichiometry="2"/>
+          <speciesReference species="Y360"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X360" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X360 </ci>
+              <ci> X360 </ci>
+              <ci> Y360 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X360"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y360"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X360 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X360"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X360 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X361"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X361" stoichiometry="2"/>
+          <speciesReference species="Y361"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X361" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X361 </ci>
+              <ci> X361 </ci>
+              <ci> Y361 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X361"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y361"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X361 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X361"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X361 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X362"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X362" stoichiometry="2"/>
+          <speciesReference species="Y362"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X362" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X362 </ci>
+              <ci> X362 </ci>
+              <ci> Y362 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X362"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y362"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X362 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X362"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X362 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X363"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X363" stoichiometry="2"/>
+          <speciesReference species="Y363"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X363" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X363 </ci>
+              <ci> X363 </ci>
+              <ci> Y363 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X363"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y363"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X363 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X363"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X363 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X364"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X364" stoichiometry="2"/>
+          <speciesReference species="Y364"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X364" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X364 </ci>
+              <ci> X364 </ci>
+              <ci> Y364 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X364"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y364"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X364 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X364"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X364 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X365"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X365" stoichiometry="2"/>
+          <speciesReference species="Y365"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X365" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X365 </ci>
+              <ci> X365 </ci>
+              <ci> Y365 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X365"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y365"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X365 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X365"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X365 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X366"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X366" stoichiometry="2"/>
+          <speciesReference species="Y366"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X366" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X366 </ci>
+              <ci> X366 </ci>
+              <ci> Y366 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X366"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y366"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X366 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X366"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X366 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X367"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X367" stoichiometry="2"/>
+          <speciesReference species="Y367"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X367" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X367 </ci>
+              <ci> X367 </ci>
+              <ci> Y367 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X367"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y367"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X367 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X367"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X367 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X368"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X368" stoichiometry="2"/>
+          <speciesReference species="Y368"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X368" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X368 </ci>
+              <ci> X368 </ci>
+              <ci> Y368 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X368"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y368"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X368 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X368"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X368 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X369"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X369" stoichiometry="2"/>
+          <speciesReference species="Y369"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X369" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X369 </ci>
+              <ci> X369 </ci>
+              <ci> Y369 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X369"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y369"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X369 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X369"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X369 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X370"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X370" stoichiometry="2"/>
+          <speciesReference species="Y370"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X370" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X370 </ci>
+              <ci> X370 </ci>
+              <ci> Y370 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X370"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y370"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X370 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X370"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X370 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X371"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X371" stoichiometry="2"/>
+          <speciesReference species="Y371"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X371" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X371 </ci>
+              <ci> X371 </ci>
+              <ci> Y371 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X371"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y371"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X371 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X371"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X371 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X372"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X372" stoichiometry="2"/>
+          <speciesReference species="Y372"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X372" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X372 </ci>
+              <ci> X372 </ci>
+              <ci> Y372 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X372"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y372"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X372 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X372"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X372 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X373"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X373" stoichiometry="2"/>
+          <speciesReference species="Y373"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X373" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X373 </ci>
+              <ci> X373 </ci>
+              <ci> Y373 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X373"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y373"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X373 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X373"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X373 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X374"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X374" stoichiometry="2"/>
+          <speciesReference species="Y374"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X374" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X374 </ci>
+              <ci> X374 </ci>
+              <ci> Y374 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X374"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y374"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X374 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X374"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X374 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X375"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X375" stoichiometry="2"/>
+          <speciesReference species="Y375"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X375" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X375 </ci>
+              <ci> X375 </ci>
+              <ci> Y375 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X375"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y375"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X375 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X375"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X375 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X376"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X376" stoichiometry="2"/>
+          <speciesReference species="Y376"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X376" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X376 </ci>
+              <ci> X376 </ci>
+              <ci> Y376 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X376"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y376"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X376 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X376"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X376 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X377"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X377" stoichiometry="2"/>
+          <speciesReference species="Y377"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X377" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X377 </ci>
+              <ci> X377 </ci>
+              <ci> Y377 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X377"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y377"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X377 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X377"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X377 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X378"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X378" stoichiometry="2"/>
+          <speciesReference species="Y378"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X378" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X378 </ci>
+              <ci> X378 </ci>
+              <ci> Y378 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X378"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y378"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X378 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X378"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X378 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X379"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X379" stoichiometry="2"/>
+          <speciesReference species="Y379"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X379" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X379 </ci>
+              <ci> X379 </ci>
+              <ci> Y379 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X379"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y379"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X379 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X379"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X379 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X380"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X380" stoichiometry="2"/>
+          <speciesReference species="Y380"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X380" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X380 </ci>
+              <ci> X380 </ci>
+              <ci> Y380 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X380"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y380"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X380 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X380"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X380 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X381"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X381" stoichiometry="2"/>
+          <speciesReference species="Y381"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X381" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X381 </ci>
+              <ci> X381 </ci>
+              <ci> Y381 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X381"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y381"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X381 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X381"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X381 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X382"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X382" stoichiometry="2"/>
+          <speciesReference species="Y382"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X382" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X382 </ci>
+              <ci> X382 </ci>
+              <ci> Y382 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X382"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y382"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X382 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X382"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X382 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X383"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X383" stoichiometry="2"/>
+          <speciesReference species="Y383"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X383" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X383 </ci>
+              <ci> X383 </ci>
+              <ci> Y383 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X383"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y383"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X383 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X383"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X383 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X384"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X384" stoichiometry="2"/>
+          <speciesReference species="Y384"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X384" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X384 </ci>
+              <ci> X384 </ci>
+              <ci> Y384 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X384"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y384"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X384 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X384"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X384 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X385"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X385" stoichiometry="2"/>
+          <speciesReference species="Y385"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X385" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X385 </ci>
+              <ci> X385 </ci>
+              <ci> Y385 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X385"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y385"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X385 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X385"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X385 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X386"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X386" stoichiometry="2"/>
+          <speciesReference species="Y386"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X386" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X386 </ci>
+              <ci> X386 </ci>
+              <ci> Y386 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X386"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y386"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X386 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X386"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X386 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X387"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X387" stoichiometry="2"/>
+          <speciesReference species="Y387"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X387" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X387 </ci>
+              <ci> X387 </ci>
+              <ci> Y387 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X387"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y387"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X387 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X387"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X387 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X388"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X388" stoichiometry="2"/>
+          <speciesReference species="Y388"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X388" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X388 </ci>
+              <ci> X388 </ci>
+              <ci> Y388 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X388"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y388"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X388 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X388"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X388 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X389"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X389" stoichiometry="2"/>
+          <speciesReference species="Y389"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X389" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X389 </ci>
+              <ci> X389 </ci>
+              <ci> Y389 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X389"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y389"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X389 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X389"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X389 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X390"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X390" stoichiometry="2"/>
+          <speciesReference species="Y390"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X390" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X390 </ci>
+              <ci> X390 </ci>
+              <ci> Y390 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X390"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y390"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X390 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X390"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X390 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X391"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X391" stoichiometry="2"/>
+          <speciesReference species="Y391"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X391" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X391 </ci>
+              <ci> X391 </ci>
+              <ci> Y391 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X391"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y391"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X391 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X391"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X391 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X392"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X392" stoichiometry="2"/>
+          <speciesReference species="Y392"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X392" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X392 </ci>
+              <ci> X392 </ci>
+              <ci> Y392 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X392"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y392"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X392 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X392"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X392 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X393"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X393" stoichiometry="2"/>
+          <speciesReference species="Y393"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X393" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X393 </ci>
+              <ci> X393 </ci>
+              <ci> Y393 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X393"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y393"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X393 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X393"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X393 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X394"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X394" stoichiometry="2"/>
+          <speciesReference species="Y394"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X394" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X394 </ci>
+              <ci> X394 </ci>
+              <ci> Y394 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X394"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y394"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X394 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X394"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X394 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X395"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X395" stoichiometry="2"/>
+          <speciesReference species="Y395"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X395" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X395 </ci>
+              <ci> X395 </ci>
+              <ci> Y395 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X395"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y395"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X395 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X395"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X395 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X396"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X396" stoichiometry="2"/>
+          <speciesReference species="Y396"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X396" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X396 </ci>
+              <ci> X396 </ci>
+              <ci> Y396 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X396"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y396"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X396 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X396"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X396 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X397"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X397" stoichiometry="2"/>
+          <speciesReference species="Y397"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X397" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X397 </ci>
+              <ci> X397 </ci>
+              <ci> Y397 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X397"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y397"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X397 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X397"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X397 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X398"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X398" stoichiometry="2"/>
+          <speciesReference species="Y398"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X398" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X398 </ci>
+              <ci> X398 </ci>
+              <ci> Y398 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X398"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y398"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X398 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X398"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X398 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X399"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X399" stoichiometry="2"/>
+          <speciesReference species="Y399"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X399" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X399 </ci>
+              <ci> X399 </ci>
+              <ci> Y399 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X399"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y399"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X399 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X399"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X399 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X400"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X400" stoichiometry="2"/>
+          <speciesReference species="Y400"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X400" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X400 </ci>
+              <ci> X400 </ci>
+              <ci> Y400 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X400"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y400"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X400 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X400"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X400 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/00450/00450-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00450/00450-sbml-l2v4.xml
new file mode 100644
index 0000000..6f93243
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00450/00450-sbml-l2v4.xml
@@ -0,0 +1,32525 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X251" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y251" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X252" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y252" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X253" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y253" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X254" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y254" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X255" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y255" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X256" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y256" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X257" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y257" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X258" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y258" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X259" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y259" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X260" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y260" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X261" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y261" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X262" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y262" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X263" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y263" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X264" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y264" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X265" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y265" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X266" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y266" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X267" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y267" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X268" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y268" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X269" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y269" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X270" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y270" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X271" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y271" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X272" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y272" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X273" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y273" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X274" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y274" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X275" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y275" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X276" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y276" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X277" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y277" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X278" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y278" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X279" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y279" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X280" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y280" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X281" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y281" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X282" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y282" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X283" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y283" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X284" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y284" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X285" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y285" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X286" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y286" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X287" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y287" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X288" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y288" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X289" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y289" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X290" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y290" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X291" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y291" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X292" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y292" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X293" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y293" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X294" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y294" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X295" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y295" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X296" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y296" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X297" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y297" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X298" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y298" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X299" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y299" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X300" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y300" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X301" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y301" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X302" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y302" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X303" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y303" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X304" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y304" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X305" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y305" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X306" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y306" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X307" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y307" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X308" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y308" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X309" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y309" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X310" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y310" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X311" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y311" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X312" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y312" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X313" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y313" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X314" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y314" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X315" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y315" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X316" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y316" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X317" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y317" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X318" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y318" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X319" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y319" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X320" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y320" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X321" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y321" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X322" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y322" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X323" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y323" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X324" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y324" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X325" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y325" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X326" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y326" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X327" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y327" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X328" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y328" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X329" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y329" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X330" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y330" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X331" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y331" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X332" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y332" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X333" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y333" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X334" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y334" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X335" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y335" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X336" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y336" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X337" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y337" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X338" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y338" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X339" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y339" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X340" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y340" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X341" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y341" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X342" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y342" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X343" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y343" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X344" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y344" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X345" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y345" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X346" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y346" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X347" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y347" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X348" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y348" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X349" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y349" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X350" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y350" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X351" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y351" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X352" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y352" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X353" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y353" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X354" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y354" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X355" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y355" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X356" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y356" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X357" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y357" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X358" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y358" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X359" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y359" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X360" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y360" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X361" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y361" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X362" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y362" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X363" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y363" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X364" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y364" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X365" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y365" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X366" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y366" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X367" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y367" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X368" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y368" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X369" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y369" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X370" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y370" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X371" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y371" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X372" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y372" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X373" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y373" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X374" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y374" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X375" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y375" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X376" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y376" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X377" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y377" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X378" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y378" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X379" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y379" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X380" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y380" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X381" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y381" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X382" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y382" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X383" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y383" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X384" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y384" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X385" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y385" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X386" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y386" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X387" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y387" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X388" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y388" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X389" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y389" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X390" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y390" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X391" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y391" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X392" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y392" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X393" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y393" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X394" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y394" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X395" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y395" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X396" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y396" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X397" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y397" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X398" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y398" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X399" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y399" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X400" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y400" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X401" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y401" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X402" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y402" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X403" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y403" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X404" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y404" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X405" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y405" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X406" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y406" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X407" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y407" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X408" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y408" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X409" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y409" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X410" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y410" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X411" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y411" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X412" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y412" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X413" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y413" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X414" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y414" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X415" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y415" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X416" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y416" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X417" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y417" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X418" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y418" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X419" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y419" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X420" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y420" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X421" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y421" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X422" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y422" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X423" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y423" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X424" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y424" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X425" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y425" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X426" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y426" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X427" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y427" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X428" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y428" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X429" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y429" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X430" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y430" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X431" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y431" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X432" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y432" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X433" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y433" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X434" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y434" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X435" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y435" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X436" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y436" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X437" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y437" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X438" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y438" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X439" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y439" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X440" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y440" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X441" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y441" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X442" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y442" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X443" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y443" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X444" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y444" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X445" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y445" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X446" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y446" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X447" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y447" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X448" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y448" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X449" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y449" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X450" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y450" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="2"/>
+          <speciesReference species="Y2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X2 </ci>
+              <ci> X2 </ci>
+              <ci> Y2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X2 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3" stoichiometry="2"/>
+          <speciesReference species="Y3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X3 </ci>
+              <ci> X3 </ci>
+              <ci> Y3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X3 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4" stoichiometry="2"/>
+          <speciesReference species="Y4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X4 </ci>
+              <ci> X4 </ci>
+              <ci> Y4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X4 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5" stoichiometry="2"/>
+          <speciesReference species="Y5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X5 </ci>
+              <ci> X5 </ci>
+              <ci> Y5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X5 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6" stoichiometry="2"/>
+          <speciesReference species="Y6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X6 </ci>
+              <ci> X6 </ci>
+              <ci> Y6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X6 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7" stoichiometry="2"/>
+          <speciesReference species="Y7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X7 </ci>
+              <ci> X7 </ci>
+              <ci> Y7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X7 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8" stoichiometry="2"/>
+          <speciesReference species="Y8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X8 </ci>
+              <ci> X8 </ci>
+              <ci> Y8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X8 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9" stoichiometry="2"/>
+          <speciesReference species="Y9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X9 </ci>
+              <ci> X9 </ci>
+              <ci> Y9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X9 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10" stoichiometry="2"/>
+          <speciesReference species="Y10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X10 </ci>
+              <ci> X10 </ci>
+              <ci> Y10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X10 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11" stoichiometry="2"/>
+          <speciesReference species="Y11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X11 </ci>
+              <ci> X11 </ci>
+              <ci> Y11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X11 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12" stoichiometry="2"/>
+          <speciesReference species="Y12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X12 </ci>
+              <ci> X12 </ci>
+              <ci> Y12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X12 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13" stoichiometry="2"/>
+          <speciesReference species="Y13"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X13 </ci>
+              <ci> X13 </ci>
+              <ci> Y13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X13 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14" stoichiometry="2"/>
+          <speciesReference species="Y14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X14 </ci>
+              <ci> X14 </ci>
+              <ci> Y14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X14 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15" stoichiometry="2"/>
+          <speciesReference species="Y15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X15 </ci>
+              <ci> X15 </ci>
+              <ci> Y15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X15 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16" stoichiometry="2"/>
+          <speciesReference species="Y16"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X16 </ci>
+              <ci> X16 </ci>
+              <ci> Y16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X16 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17" stoichiometry="2"/>
+          <speciesReference species="Y17"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X17 </ci>
+              <ci> X17 </ci>
+              <ci> Y17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X17 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18" stoichiometry="2"/>
+          <speciesReference species="Y18"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X18 </ci>
+              <ci> X18 </ci>
+              <ci> Y18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X18 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19" stoichiometry="2"/>
+          <speciesReference species="Y19"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X19 </ci>
+              <ci> X19 </ci>
+              <ci> Y19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X19 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20" stoichiometry="2"/>
+          <speciesReference species="Y20"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X20 </ci>
+              <ci> X20 </ci>
+              <ci> Y20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X20 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21" stoichiometry="2"/>
+          <speciesReference species="Y21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X21 </ci>
+              <ci> X21 </ci>
+              <ci> Y21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X21 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22" stoichiometry="2"/>
+          <speciesReference species="Y22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X22 </ci>
+              <ci> X22 </ci>
+              <ci> Y22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X22 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23" stoichiometry="2"/>
+          <speciesReference species="Y23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X23 </ci>
+              <ci> X23 </ci>
+              <ci> Y23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X23 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24" stoichiometry="2"/>
+          <speciesReference species="Y24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X24 </ci>
+              <ci> X24 </ci>
+              <ci> Y24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X24 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25" stoichiometry="2"/>
+          <speciesReference species="Y25"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X25 </ci>
+              <ci> X25 </ci>
+              <ci> Y25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X25 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26" stoichiometry="2"/>
+          <speciesReference species="Y26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X26 </ci>
+              <ci> X26 </ci>
+              <ci> Y26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X26 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27" stoichiometry="2"/>
+          <speciesReference species="Y27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X27 </ci>
+              <ci> X27 </ci>
+              <ci> Y27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X27 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28" stoichiometry="2"/>
+          <speciesReference species="Y28"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X28 </ci>
+              <ci> X28 </ci>
+              <ci> Y28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X28 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29" stoichiometry="2"/>
+          <speciesReference species="Y29"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X29 </ci>
+              <ci> X29 </ci>
+              <ci> Y29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X29 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30" stoichiometry="2"/>
+          <speciesReference species="Y30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X30 </ci>
+              <ci> X30 </ci>
+              <ci> Y30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X30 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31" stoichiometry="2"/>
+          <speciesReference species="Y31"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X31 </ci>
+              <ci> X31 </ci>
+              <ci> Y31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X31 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32" stoichiometry="2"/>
+          <speciesReference species="Y32"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X32 </ci>
+              <ci> X32 </ci>
+              <ci> Y32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X32 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33" stoichiometry="2"/>
+          <speciesReference species="Y33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X33 </ci>
+              <ci> X33 </ci>
+              <ci> Y33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X33 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34" stoichiometry="2"/>
+          <speciesReference species="Y34"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X34 </ci>
+              <ci> X34 </ci>
+              <ci> Y34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X34 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35" stoichiometry="2"/>
+          <speciesReference species="Y35"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X35 </ci>
+              <ci> X35 </ci>
+              <ci> Y35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X35 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36" stoichiometry="2"/>
+          <speciesReference species="Y36"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X36 </ci>
+              <ci> X36 </ci>
+              <ci> Y36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X36 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37" stoichiometry="2"/>
+          <speciesReference species="Y37"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X37 </ci>
+              <ci> X37 </ci>
+              <ci> Y37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X37 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38" stoichiometry="2"/>
+          <speciesReference species="Y38"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X38 </ci>
+              <ci> X38 </ci>
+              <ci> Y38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X38 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39" stoichiometry="2"/>
+          <speciesReference species="Y39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X39 </ci>
+              <ci> X39 </ci>
+              <ci> Y39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X39 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40" stoichiometry="2"/>
+          <speciesReference species="Y40"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X40 </ci>
+              <ci> X40 </ci>
+              <ci> Y40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X40 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41" stoichiometry="2"/>
+          <speciesReference species="Y41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X41 </ci>
+              <ci> X41 </ci>
+              <ci> Y41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X41 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42" stoichiometry="2"/>
+          <speciesReference species="Y42"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X42 </ci>
+              <ci> X42 </ci>
+              <ci> Y42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X42 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43" stoichiometry="2"/>
+          <speciesReference species="Y43"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X43 </ci>
+              <ci> X43 </ci>
+              <ci> Y43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X43 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44" stoichiometry="2"/>
+          <speciesReference species="Y44"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X44 </ci>
+              <ci> X44 </ci>
+              <ci> Y44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X44 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45" stoichiometry="2"/>
+          <speciesReference species="Y45"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X45 </ci>
+              <ci> X45 </ci>
+              <ci> Y45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X45 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46" stoichiometry="2"/>
+          <speciesReference species="Y46"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X46 </ci>
+              <ci> X46 </ci>
+              <ci> Y46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X46 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47" stoichiometry="2"/>
+          <speciesReference species="Y47"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X47 </ci>
+              <ci> X47 </ci>
+              <ci> Y47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X47 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48" stoichiometry="2"/>
+          <speciesReference species="Y48"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X48 </ci>
+              <ci> X48 </ci>
+              <ci> Y48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X48 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49" stoichiometry="2"/>
+          <speciesReference species="Y49"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X49 </ci>
+              <ci> X49 </ci>
+              <ci> Y49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X49 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50" stoichiometry="2"/>
+          <speciesReference species="Y50"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X50 </ci>
+              <ci> X50 </ci>
+              <ci> Y50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X50 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51" stoichiometry="2"/>
+          <speciesReference species="Y51"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X51 </ci>
+              <ci> X51 </ci>
+              <ci> Y51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X51 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52" stoichiometry="2"/>
+          <speciesReference species="Y52"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X52 </ci>
+              <ci> X52 </ci>
+              <ci> Y52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X52 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53" stoichiometry="2"/>
+          <speciesReference species="Y53"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X53 </ci>
+              <ci> X53 </ci>
+              <ci> Y53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X53 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54" stoichiometry="2"/>
+          <speciesReference species="Y54"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X54 </ci>
+              <ci> X54 </ci>
+              <ci> Y54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X54 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55" stoichiometry="2"/>
+          <speciesReference species="Y55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X55 </ci>
+              <ci> X55 </ci>
+              <ci> Y55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X55 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56" stoichiometry="2"/>
+          <speciesReference species="Y56"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X56 </ci>
+              <ci> X56 </ci>
+              <ci> Y56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X56 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57" stoichiometry="2"/>
+          <speciesReference species="Y57"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X57 </ci>
+              <ci> X57 </ci>
+              <ci> Y57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X57 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58" stoichiometry="2"/>
+          <speciesReference species="Y58"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X58 </ci>
+              <ci> X58 </ci>
+              <ci> Y58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X58 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59" stoichiometry="2"/>
+          <speciesReference species="Y59"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X59 </ci>
+              <ci> X59 </ci>
+              <ci> Y59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X59 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60" stoichiometry="2"/>
+          <speciesReference species="Y60"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X60 </ci>
+              <ci> X60 </ci>
+              <ci> Y60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X60 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61" stoichiometry="2"/>
+          <speciesReference species="Y61"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X61 </ci>
+              <ci> X61 </ci>
+              <ci> Y61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X61 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62" stoichiometry="2"/>
+          <speciesReference species="Y62"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X62 </ci>
+              <ci> X62 </ci>
+              <ci> Y62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X62 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63" stoichiometry="2"/>
+          <speciesReference species="Y63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X63 </ci>
+              <ci> X63 </ci>
+              <ci> Y63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X63 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64" stoichiometry="2"/>
+          <speciesReference species="Y64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X64 </ci>
+              <ci> X64 </ci>
+              <ci> Y64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X64 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65" stoichiometry="2"/>
+          <speciesReference species="Y65"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X65 </ci>
+              <ci> X65 </ci>
+              <ci> Y65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X65 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66" stoichiometry="2"/>
+          <speciesReference species="Y66"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X66 </ci>
+              <ci> X66 </ci>
+              <ci> Y66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X66 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67" stoichiometry="2"/>
+          <speciesReference species="Y67"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X67 </ci>
+              <ci> X67 </ci>
+              <ci> Y67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X67 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68" stoichiometry="2"/>
+          <speciesReference species="Y68"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X68 </ci>
+              <ci> X68 </ci>
+              <ci> Y68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X68 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69" stoichiometry="2"/>
+          <speciesReference species="Y69"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X69 </ci>
+              <ci> X69 </ci>
+              <ci> Y69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X69 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70" stoichiometry="2"/>
+          <speciesReference species="Y70"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X70 </ci>
+              <ci> X70 </ci>
+              <ci> Y70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X70 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71" stoichiometry="2"/>
+          <speciesReference species="Y71"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X71 </ci>
+              <ci> X71 </ci>
+              <ci> Y71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X71 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72" stoichiometry="2"/>
+          <speciesReference species="Y72"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X72 </ci>
+              <ci> X72 </ci>
+              <ci> Y72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X72 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73" stoichiometry="2"/>
+          <speciesReference species="Y73"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X73 </ci>
+              <ci> X73 </ci>
+              <ci> Y73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X73 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74" stoichiometry="2"/>
+          <speciesReference species="Y74"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X74 </ci>
+              <ci> X74 </ci>
+              <ci> Y74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X74 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75" stoichiometry="2"/>
+          <speciesReference species="Y75"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X75 </ci>
+              <ci> X75 </ci>
+              <ci> Y75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X75 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76" stoichiometry="2"/>
+          <speciesReference species="Y76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X76 </ci>
+              <ci> X76 </ci>
+              <ci> Y76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X76 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77" stoichiometry="2"/>
+          <speciesReference species="Y77"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X77 </ci>
+              <ci> X77 </ci>
+              <ci> Y77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X77 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78" stoichiometry="2"/>
+          <speciesReference species="Y78"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X78 </ci>
+              <ci> X78 </ci>
+              <ci> Y78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X78 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79" stoichiometry="2"/>
+          <speciesReference species="Y79"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X79 </ci>
+              <ci> X79 </ci>
+              <ci> Y79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X79 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80" stoichiometry="2"/>
+          <speciesReference species="Y80"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X80 </ci>
+              <ci> X80 </ci>
+              <ci> Y80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X80 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81" stoichiometry="2"/>
+          <speciesReference species="Y81"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X81 </ci>
+              <ci> X81 </ci>
+              <ci> Y81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X81 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82" stoichiometry="2"/>
+          <speciesReference species="Y82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X82 </ci>
+              <ci> X82 </ci>
+              <ci> Y82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X82 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83" stoichiometry="2"/>
+          <speciesReference species="Y83"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X83 </ci>
+              <ci> X83 </ci>
+              <ci> Y83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X83 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84" stoichiometry="2"/>
+          <speciesReference species="Y84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X84 </ci>
+              <ci> X84 </ci>
+              <ci> Y84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X84 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85" stoichiometry="2"/>
+          <speciesReference species="Y85"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X85 </ci>
+              <ci> X85 </ci>
+              <ci> Y85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X85 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86" stoichiometry="2"/>
+          <speciesReference species="Y86"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X86 </ci>
+              <ci> X86 </ci>
+              <ci> Y86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X86 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87" stoichiometry="2"/>
+          <speciesReference species="Y87"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X87 </ci>
+              <ci> X87 </ci>
+              <ci> Y87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X87 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88" stoichiometry="2"/>
+          <speciesReference species="Y88"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X88 </ci>
+              <ci> X88 </ci>
+              <ci> Y88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X88 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89" stoichiometry="2"/>
+          <speciesReference species="Y89"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X89 </ci>
+              <ci> X89 </ci>
+              <ci> Y89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X89 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90" stoichiometry="2"/>
+          <speciesReference species="Y90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X90 </ci>
+              <ci> X90 </ci>
+              <ci> Y90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X90 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91" stoichiometry="2"/>
+          <speciesReference species="Y91"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X91 </ci>
+              <ci> X91 </ci>
+              <ci> Y91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X91 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92" stoichiometry="2"/>
+          <speciesReference species="Y92"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X92 </ci>
+              <ci> X92 </ci>
+              <ci> Y92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X92 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93" stoichiometry="2"/>
+          <speciesReference species="Y93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X93 </ci>
+              <ci> X93 </ci>
+              <ci> Y93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X93 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94" stoichiometry="2"/>
+          <speciesReference species="Y94"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X94 </ci>
+              <ci> X94 </ci>
+              <ci> Y94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X94 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95" stoichiometry="2"/>
+          <speciesReference species="Y95"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X95 </ci>
+              <ci> X95 </ci>
+              <ci> Y95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X95 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96" stoichiometry="2"/>
+          <speciesReference species="Y96"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X96 </ci>
+              <ci> X96 </ci>
+              <ci> Y96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X96 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97" stoichiometry="2"/>
+          <speciesReference species="Y97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X97 </ci>
+              <ci> X97 </ci>
+              <ci> Y97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X97 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98" stoichiometry="2"/>
+          <speciesReference species="Y98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X98 </ci>
+              <ci> X98 </ci>
+              <ci> Y98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X98 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99" stoichiometry="2"/>
+          <speciesReference species="Y99"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X99 </ci>
+              <ci> X99 </ci>
+              <ci> Y99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X99 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100" stoichiometry="2"/>
+          <speciesReference species="Y100"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X100 </ci>
+              <ci> X100 </ci>
+              <ci> Y100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X100 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101" stoichiometry="2"/>
+          <speciesReference species="Y101"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X101 </ci>
+              <ci> X101 </ci>
+              <ci> Y101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X101 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102" stoichiometry="2"/>
+          <speciesReference species="Y102"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X102 </ci>
+              <ci> X102 </ci>
+              <ci> Y102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X102 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103" stoichiometry="2"/>
+          <speciesReference species="Y103"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X103 </ci>
+              <ci> X103 </ci>
+              <ci> Y103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X103 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104" stoichiometry="2"/>
+          <speciesReference species="Y104"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X104 </ci>
+              <ci> X104 </ci>
+              <ci> Y104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X104 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105" stoichiometry="2"/>
+          <speciesReference species="Y105"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X105 </ci>
+              <ci> X105 </ci>
+              <ci> Y105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X105 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106" stoichiometry="2"/>
+          <speciesReference species="Y106"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X106 </ci>
+              <ci> X106 </ci>
+              <ci> Y106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X106 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107" stoichiometry="2"/>
+          <speciesReference species="Y107"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X107 </ci>
+              <ci> X107 </ci>
+              <ci> Y107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X107 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108" stoichiometry="2"/>
+          <speciesReference species="Y108"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X108 </ci>
+              <ci> X108 </ci>
+              <ci> Y108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X108 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109" stoichiometry="2"/>
+          <speciesReference species="Y109"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X109 </ci>
+              <ci> X109 </ci>
+              <ci> Y109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X109 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110" stoichiometry="2"/>
+          <speciesReference species="Y110"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X110 </ci>
+              <ci> X110 </ci>
+              <ci> Y110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X110 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111" stoichiometry="2"/>
+          <speciesReference species="Y111"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X111 </ci>
+              <ci> X111 </ci>
+              <ci> Y111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X111 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112" stoichiometry="2"/>
+          <speciesReference species="Y112"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X112 </ci>
+              <ci> X112 </ci>
+              <ci> Y112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X112 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113" stoichiometry="2"/>
+          <speciesReference species="Y113"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X113 </ci>
+              <ci> X113 </ci>
+              <ci> Y113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X113 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114" stoichiometry="2"/>
+          <speciesReference species="Y114"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X114 </ci>
+              <ci> X114 </ci>
+              <ci> Y114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X114 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115" stoichiometry="2"/>
+          <speciesReference species="Y115"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X115 </ci>
+              <ci> X115 </ci>
+              <ci> Y115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X115 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116" stoichiometry="2"/>
+          <speciesReference species="Y116"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X116 </ci>
+              <ci> X116 </ci>
+              <ci> Y116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X116 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117" stoichiometry="2"/>
+          <speciesReference species="Y117"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X117 </ci>
+              <ci> X117 </ci>
+              <ci> Y117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X117 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118" stoichiometry="2"/>
+          <speciesReference species="Y118"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X118 </ci>
+              <ci> X118 </ci>
+              <ci> Y118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X118 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119" stoichiometry="2"/>
+          <speciesReference species="Y119"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X119 </ci>
+              <ci> X119 </ci>
+              <ci> Y119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X119 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120" stoichiometry="2"/>
+          <speciesReference species="Y120"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X120 </ci>
+              <ci> X120 </ci>
+              <ci> Y120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X120 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121" stoichiometry="2"/>
+          <speciesReference species="Y121"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X121 </ci>
+              <ci> X121 </ci>
+              <ci> Y121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X121 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122" stoichiometry="2"/>
+          <speciesReference species="Y122"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X122 </ci>
+              <ci> X122 </ci>
+              <ci> Y122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X122 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123" stoichiometry="2"/>
+          <speciesReference species="Y123"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X123 </ci>
+              <ci> X123 </ci>
+              <ci> Y123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X123 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124" stoichiometry="2"/>
+          <speciesReference species="Y124"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X124 </ci>
+              <ci> X124 </ci>
+              <ci> Y124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X124 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125" stoichiometry="2"/>
+          <speciesReference species="Y125"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X125 </ci>
+              <ci> X125 </ci>
+              <ci> Y125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X125 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126" stoichiometry="2"/>
+          <speciesReference species="Y126"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X126 </ci>
+              <ci> X126 </ci>
+              <ci> Y126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X126 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127" stoichiometry="2"/>
+          <speciesReference species="Y127"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X127 </ci>
+              <ci> X127 </ci>
+              <ci> Y127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X127 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128" stoichiometry="2"/>
+          <speciesReference species="Y128"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X128 </ci>
+              <ci> X128 </ci>
+              <ci> Y128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X128 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129" stoichiometry="2"/>
+          <speciesReference species="Y129"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X129 </ci>
+              <ci> X129 </ci>
+              <ci> Y129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X129 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130" stoichiometry="2"/>
+          <speciesReference species="Y130"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X130 </ci>
+              <ci> X130 </ci>
+              <ci> Y130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X130 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131" stoichiometry="2"/>
+          <speciesReference species="Y131"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X131 </ci>
+              <ci> X131 </ci>
+              <ci> Y131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X131 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132" stoichiometry="2"/>
+          <speciesReference species="Y132"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X132 </ci>
+              <ci> X132 </ci>
+              <ci> Y132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X132 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133" stoichiometry="2"/>
+          <speciesReference species="Y133"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X133 </ci>
+              <ci> X133 </ci>
+              <ci> Y133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X133 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134" stoichiometry="2"/>
+          <speciesReference species="Y134"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X134 </ci>
+              <ci> X134 </ci>
+              <ci> Y134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X134 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135" stoichiometry="2"/>
+          <speciesReference species="Y135"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X135 </ci>
+              <ci> X135 </ci>
+              <ci> Y135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X135 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136" stoichiometry="2"/>
+          <speciesReference species="Y136"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X136 </ci>
+              <ci> X136 </ci>
+              <ci> Y136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X136 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137" stoichiometry="2"/>
+          <speciesReference species="Y137"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X137 </ci>
+              <ci> X137 </ci>
+              <ci> Y137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X137 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138" stoichiometry="2"/>
+          <speciesReference species="Y138"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X138 </ci>
+              <ci> X138 </ci>
+              <ci> Y138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X138 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139" stoichiometry="2"/>
+          <speciesReference species="Y139"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X139 </ci>
+              <ci> X139 </ci>
+              <ci> Y139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X139 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140" stoichiometry="2"/>
+          <speciesReference species="Y140"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X140 </ci>
+              <ci> X140 </ci>
+              <ci> Y140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X140 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141" stoichiometry="2"/>
+          <speciesReference species="Y141"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X141 </ci>
+              <ci> X141 </ci>
+              <ci> Y141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X141 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142" stoichiometry="2"/>
+          <speciesReference species="Y142"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X142 </ci>
+              <ci> X142 </ci>
+              <ci> Y142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X142 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143" stoichiometry="2"/>
+          <speciesReference species="Y143"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X143 </ci>
+              <ci> X143 </ci>
+              <ci> Y143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X143 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144" stoichiometry="2"/>
+          <speciesReference species="Y144"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X144 </ci>
+              <ci> X144 </ci>
+              <ci> Y144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X144 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145" stoichiometry="2"/>
+          <speciesReference species="Y145"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X145 </ci>
+              <ci> X145 </ci>
+              <ci> Y145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X145 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146" stoichiometry="2"/>
+          <speciesReference species="Y146"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X146 </ci>
+              <ci> X146 </ci>
+              <ci> Y146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X146 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147" stoichiometry="2"/>
+          <speciesReference species="Y147"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X147 </ci>
+              <ci> X147 </ci>
+              <ci> Y147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X147 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148" stoichiometry="2"/>
+          <speciesReference species="Y148"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X148 </ci>
+              <ci> X148 </ci>
+              <ci> Y148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X148 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149" stoichiometry="2"/>
+          <speciesReference species="Y149"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X149 </ci>
+              <ci> X149 </ci>
+              <ci> Y149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X149 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150" stoichiometry="2"/>
+          <speciesReference species="Y150"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X150 </ci>
+              <ci> X150 </ci>
+              <ci> Y150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X150 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151" stoichiometry="2"/>
+          <speciesReference species="Y151"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X151 </ci>
+              <ci> X151 </ci>
+              <ci> Y151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X151 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152" stoichiometry="2"/>
+          <speciesReference species="Y152"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X152 </ci>
+              <ci> X152 </ci>
+              <ci> Y152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X152 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153" stoichiometry="2"/>
+          <speciesReference species="Y153"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X153 </ci>
+              <ci> X153 </ci>
+              <ci> Y153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X153 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154" stoichiometry="2"/>
+          <speciesReference species="Y154"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X154 </ci>
+              <ci> X154 </ci>
+              <ci> Y154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X154 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155" stoichiometry="2"/>
+          <speciesReference species="Y155"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X155 </ci>
+              <ci> X155 </ci>
+              <ci> Y155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X155 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156" stoichiometry="2"/>
+          <speciesReference species="Y156"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X156 </ci>
+              <ci> X156 </ci>
+              <ci> Y156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X156 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157" stoichiometry="2"/>
+          <speciesReference species="Y157"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X157 </ci>
+              <ci> X157 </ci>
+              <ci> Y157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X157 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158" stoichiometry="2"/>
+          <speciesReference species="Y158"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X158 </ci>
+              <ci> X158 </ci>
+              <ci> Y158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X158 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159" stoichiometry="2"/>
+          <speciesReference species="Y159"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X159 </ci>
+              <ci> X159 </ci>
+              <ci> Y159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X159 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160" stoichiometry="2"/>
+          <speciesReference species="Y160"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X160 </ci>
+              <ci> X160 </ci>
+              <ci> Y160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X160 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161" stoichiometry="2"/>
+          <speciesReference species="Y161"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X161 </ci>
+              <ci> X161 </ci>
+              <ci> Y161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X161 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162" stoichiometry="2"/>
+          <speciesReference species="Y162"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X162 </ci>
+              <ci> X162 </ci>
+              <ci> Y162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X162 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163" stoichiometry="2"/>
+          <speciesReference species="Y163"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X163 </ci>
+              <ci> X163 </ci>
+              <ci> Y163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X163 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164" stoichiometry="2"/>
+          <speciesReference species="Y164"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X164 </ci>
+              <ci> X164 </ci>
+              <ci> Y164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X164 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165" stoichiometry="2"/>
+          <speciesReference species="Y165"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X165 </ci>
+              <ci> X165 </ci>
+              <ci> Y165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X165 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166" stoichiometry="2"/>
+          <speciesReference species="Y166"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X166 </ci>
+              <ci> X166 </ci>
+              <ci> Y166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X166 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167" stoichiometry="2"/>
+          <speciesReference species="Y167"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X167 </ci>
+              <ci> X167 </ci>
+              <ci> Y167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X167 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168" stoichiometry="2"/>
+          <speciesReference species="Y168"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X168 </ci>
+              <ci> X168 </ci>
+              <ci> Y168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X168 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169" stoichiometry="2"/>
+          <speciesReference species="Y169"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X169 </ci>
+              <ci> X169 </ci>
+              <ci> Y169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X169 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170" stoichiometry="2"/>
+          <speciesReference species="Y170"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X170 </ci>
+              <ci> X170 </ci>
+              <ci> Y170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X170 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171" stoichiometry="2"/>
+          <speciesReference species="Y171"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X171 </ci>
+              <ci> X171 </ci>
+              <ci> Y171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X171 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172" stoichiometry="2"/>
+          <speciesReference species="Y172"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X172 </ci>
+              <ci> X172 </ci>
+              <ci> Y172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X172 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173" stoichiometry="2"/>
+          <speciesReference species="Y173"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X173 </ci>
+              <ci> X173 </ci>
+              <ci> Y173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X173 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174" stoichiometry="2"/>
+          <speciesReference species="Y174"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X174 </ci>
+              <ci> X174 </ci>
+              <ci> Y174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X174 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175" stoichiometry="2"/>
+          <speciesReference species="Y175"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X175 </ci>
+              <ci> X175 </ci>
+              <ci> Y175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X175 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176" stoichiometry="2"/>
+          <speciesReference species="Y176"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X176 </ci>
+              <ci> X176 </ci>
+              <ci> Y176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X176 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177" stoichiometry="2"/>
+          <speciesReference species="Y177"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X177 </ci>
+              <ci> X177 </ci>
+              <ci> Y177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X177 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178" stoichiometry="2"/>
+          <speciesReference species="Y178"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X178 </ci>
+              <ci> X178 </ci>
+              <ci> Y178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X178 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179" stoichiometry="2"/>
+          <speciesReference species="Y179"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X179 </ci>
+              <ci> X179 </ci>
+              <ci> Y179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X179 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180" stoichiometry="2"/>
+          <speciesReference species="Y180"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X180 </ci>
+              <ci> X180 </ci>
+              <ci> Y180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X180 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181" stoichiometry="2"/>
+          <speciesReference species="Y181"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X181 </ci>
+              <ci> X181 </ci>
+              <ci> Y181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X181 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182" stoichiometry="2"/>
+          <speciesReference species="Y182"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X182 </ci>
+              <ci> X182 </ci>
+              <ci> Y182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X182 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183" stoichiometry="2"/>
+          <speciesReference species="Y183"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X183 </ci>
+              <ci> X183 </ci>
+              <ci> Y183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X183 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184" stoichiometry="2"/>
+          <speciesReference species="Y184"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X184 </ci>
+              <ci> X184 </ci>
+              <ci> Y184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X184 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185" stoichiometry="2"/>
+          <speciesReference species="Y185"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X185 </ci>
+              <ci> X185 </ci>
+              <ci> Y185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X185 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186" stoichiometry="2"/>
+          <speciesReference species="Y186"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X186 </ci>
+              <ci> X186 </ci>
+              <ci> Y186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X186 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187" stoichiometry="2"/>
+          <speciesReference species="Y187"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X187 </ci>
+              <ci> X187 </ci>
+              <ci> Y187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X187 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188" stoichiometry="2"/>
+          <speciesReference species="Y188"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X188 </ci>
+              <ci> X188 </ci>
+              <ci> Y188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X188 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189" stoichiometry="2"/>
+          <speciesReference species="Y189"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X189 </ci>
+              <ci> X189 </ci>
+              <ci> Y189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X189 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190" stoichiometry="2"/>
+          <speciesReference species="Y190"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X190 </ci>
+              <ci> X190 </ci>
+              <ci> Y190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X190 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191" stoichiometry="2"/>
+          <speciesReference species="Y191"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X191 </ci>
+              <ci> X191 </ci>
+              <ci> Y191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X191 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192" stoichiometry="2"/>
+          <speciesReference species="Y192"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X192 </ci>
+              <ci> X192 </ci>
+              <ci> Y192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X192 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193" stoichiometry="2"/>
+          <speciesReference species="Y193"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X193 </ci>
+              <ci> X193 </ci>
+              <ci> Y193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X193 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194" stoichiometry="2"/>
+          <speciesReference species="Y194"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X194 </ci>
+              <ci> X194 </ci>
+              <ci> Y194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X194 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195" stoichiometry="2"/>
+          <speciesReference species="Y195"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X195 </ci>
+              <ci> X195 </ci>
+              <ci> Y195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X195 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196" stoichiometry="2"/>
+          <speciesReference species="Y196"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X196 </ci>
+              <ci> X196 </ci>
+              <ci> Y196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X196 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197" stoichiometry="2"/>
+          <speciesReference species="Y197"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X197 </ci>
+              <ci> X197 </ci>
+              <ci> Y197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X197 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198" stoichiometry="2"/>
+          <speciesReference species="Y198"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X198 </ci>
+              <ci> X198 </ci>
+              <ci> Y198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X198 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199" stoichiometry="2"/>
+          <speciesReference species="Y199"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X199 </ci>
+              <ci> X199 </ci>
+              <ci> Y199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X199 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200" stoichiometry="2"/>
+          <speciesReference species="Y200"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X200 </ci>
+              <ci> X200 </ci>
+              <ci> Y200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X200 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201" stoichiometry="2"/>
+          <speciesReference species="Y201"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X201 </ci>
+              <ci> X201 </ci>
+              <ci> Y201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X201 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202" stoichiometry="2"/>
+          <speciesReference species="Y202"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X202 </ci>
+              <ci> X202 </ci>
+              <ci> Y202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X202 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203" stoichiometry="2"/>
+          <speciesReference species="Y203"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X203 </ci>
+              <ci> X203 </ci>
+              <ci> Y203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X203 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204" stoichiometry="2"/>
+          <speciesReference species="Y204"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X204 </ci>
+              <ci> X204 </ci>
+              <ci> Y204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X204 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205" stoichiometry="2"/>
+          <speciesReference species="Y205"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X205 </ci>
+              <ci> X205 </ci>
+              <ci> Y205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X205 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206" stoichiometry="2"/>
+          <speciesReference species="Y206"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X206 </ci>
+              <ci> X206 </ci>
+              <ci> Y206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X206 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207" stoichiometry="2"/>
+          <speciesReference species="Y207"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X207 </ci>
+              <ci> X207 </ci>
+              <ci> Y207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X207 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208" stoichiometry="2"/>
+          <speciesReference species="Y208"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X208 </ci>
+              <ci> X208 </ci>
+              <ci> Y208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X208 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209" stoichiometry="2"/>
+          <speciesReference species="Y209"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X209 </ci>
+              <ci> X209 </ci>
+              <ci> Y209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X209 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210" stoichiometry="2"/>
+          <speciesReference species="Y210"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X210 </ci>
+              <ci> X210 </ci>
+              <ci> Y210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X210 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211" stoichiometry="2"/>
+          <speciesReference species="Y211"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X211 </ci>
+              <ci> X211 </ci>
+              <ci> Y211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X211 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212" stoichiometry="2"/>
+          <speciesReference species="Y212"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X212 </ci>
+              <ci> X212 </ci>
+              <ci> Y212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X212 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213" stoichiometry="2"/>
+          <speciesReference species="Y213"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X213 </ci>
+              <ci> X213 </ci>
+              <ci> Y213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X213 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214" stoichiometry="2"/>
+          <speciesReference species="Y214"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X214 </ci>
+              <ci> X214 </ci>
+              <ci> Y214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X214 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215" stoichiometry="2"/>
+          <speciesReference species="Y215"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X215 </ci>
+              <ci> X215 </ci>
+              <ci> Y215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X215 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216" stoichiometry="2"/>
+          <speciesReference species="Y216"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X216 </ci>
+              <ci> X216 </ci>
+              <ci> Y216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X216 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217" stoichiometry="2"/>
+          <speciesReference species="Y217"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X217 </ci>
+              <ci> X217 </ci>
+              <ci> Y217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X217 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218" stoichiometry="2"/>
+          <speciesReference species="Y218"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X218 </ci>
+              <ci> X218 </ci>
+              <ci> Y218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X218 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219" stoichiometry="2"/>
+          <speciesReference species="Y219"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X219 </ci>
+              <ci> X219 </ci>
+              <ci> Y219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X219 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220" stoichiometry="2"/>
+          <speciesReference species="Y220"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X220 </ci>
+              <ci> X220 </ci>
+              <ci> Y220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X220 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221" stoichiometry="2"/>
+          <speciesReference species="Y221"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X221 </ci>
+              <ci> X221 </ci>
+              <ci> Y221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X221 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222" stoichiometry="2"/>
+          <speciesReference species="Y222"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X222 </ci>
+              <ci> X222 </ci>
+              <ci> Y222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X222 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223" stoichiometry="2"/>
+          <speciesReference species="Y223"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X223 </ci>
+              <ci> X223 </ci>
+              <ci> Y223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X223 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224" stoichiometry="2"/>
+          <speciesReference species="Y224"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X224 </ci>
+              <ci> X224 </ci>
+              <ci> Y224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X224 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225" stoichiometry="2"/>
+          <speciesReference species="Y225"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X225 </ci>
+              <ci> X225 </ci>
+              <ci> Y225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X225 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226" stoichiometry="2"/>
+          <speciesReference species="Y226"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X226 </ci>
+              <ci> X226 </ci>
+              <ci> Y226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X226 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227" stoichiometry="2"/>
+          <speciesReference species="Y227"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X227 </ci>
+              <ci> X227 </ci>
+              <ci> Y227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X227 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228" stoichiometry="2"/>
+          <speciesReference species="Y228"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X228 </ci>
+              <ci> X228 </ci>
+              <ci> Y228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X228 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229" stoichiometry="2"/>
+          <speciesReference species="Y229"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X229 </ci>
+              <ci> X229 </ci>
+              <ci> Y229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X229 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230" stoichiometry="2"/>
+          <speciesReference species="Y230"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X230 </ci>
+              <ci> X230 </ci>
+              <ci> Y230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X230 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231" stoichiometry="2"/>
+          <speciesReference species="Y231"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X231 </ci>
+              <ci> X231 </ci>
+              <ci> Y231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X231 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232" stoichiometry="2"/>
+          <speciesReference species="Y232"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X232 </ci>
+              <ci> X232 </ci>
+              <ci> Y232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X232 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233" stoichiometry="2"/>
+          <speciesReference species="Y233"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X233 </ci>
+              <ci> X233 </ci>
+              <ci> Y233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X233 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234" stoichiometry="2"/>
+          <speciesReference species="Y234"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X234 </ci>
+              <ci> X234 </ci>
+              <ci> Y234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X234 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235" stoichiometry="2"/>
+          <speciesReference species="Y235"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X235 </ci>
+              <ci> X235 </ci>
+              <ci> Y235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X235 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236" stoichiometry="2"/>
+          <speciesReference species="Y236"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X236 </ci>
+              <ci> X236 </ci>
+              <ci> Y236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X236 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237" stoichiometry="2"/>
+          <speciesReference species="Y237"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X237 </ci>
+              <ci> X237 </ci>
+              <ci> Y237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X237 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238" stoichiometry="2"/>
+          <speciesReference species="Y238"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X238 </ci>
+              <ci> X238 </ci>
+              <ci> Y238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X238 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239" stoichiometry="2"/>
+          <speciesReference species="Y239"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X239 </ci>
+              <ci> X239 </ci>
+              <ci> Y239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X239 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240" stoichiometry="2"/>
+          <speciesReference species="Y240"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X240 </ci>
+              <ci> X240 </ci>
+              <ci> Y240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X240 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241" stoichiometry="2"/>
+          <speciesReference species="Y241"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X241 </ci>
+              <ci> X241 </ci>
+              <ci> Y241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X241 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242" stoichiometry="2"/>
+          <speciesReference species="Y242"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X242 </ci>
+              <ci> X242 </ci>
+              <ci> Y242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X242 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243" stoichiometry="2"/>
+          <speciesReference species="Y243"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X243 </ci>
+              <ci> X243 </ci>
+              <ci> Y243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X243 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244" stoichiometry="2"/>
+          <speciesReference species="Y244"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X244 </ci>
+              <ci> X244 </ci>
+              <ci> Y244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X244 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245" stoichiometry="2"/>
+          <speciesReference species="Y245"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X245 </ci>
+              <ci> X245 </ci>
+              <ci> Y245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X245 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246" stoichiometry="2"/>
+          <speciesReference species="Y246"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X246 </ci>
+              <ci> X246 </ci>
+              <ci> Y246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X246 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247" stoichiometry="2"/>
+          <speciesReference species="Y247"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X247 </ci>
+              <ci> X247 </ci>
+              <ci> Y247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X247 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248" stoichiometry="2"/>
+          <speciesReference species="Y248"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X248 </ci>
+              <ci> X248 </ci>
+              <ci> Y248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X248 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249" stoichiometry="2"/>
+          <speciesReference species="Y249"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X249 </ci>
+              <ci> X249 </ci>
+              <ci> Y249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X249 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250" stoichiometry="2"/>
+          <speciesReference species="Y250"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X250 </ci>
+              <ci> X250 </ci>
+              <ci> Y250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X250 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X251"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251" stoichiometry="2"/>
+          <speciesReference species="Y251"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X251" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X251 </ci>
+              <ci> X251 </ci>
+              <ci> Y251 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y251"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X251 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X251 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X252"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252" stoichiometry="2"/>
+          <speciesReference species="Y252"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X252" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X252 </ci>
+              <ci> X252 </ci>
+              <ci> Y252 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y252"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X252 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X252 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X253"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253" stoichiometry="2"/>
+          <speciesReference species="Y253"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X253" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X253 </ci>
+              <ci> X253 </ci>
+              <ci> Y253 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y253"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X253 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X253 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X254"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254" stoichiometry="2"/>
+          <speciesReference species="Y254"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X254" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X254 </ci>
+              <ci> X254 </ci>
+              <ci> Y254 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y254"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X254 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X254 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X255"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255" stoichiometry="2"/>
+          <speciesReference species="Y255"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X255" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X255 </ci>
+              <ci> X255 </ci>
+              <ci> Y255 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y255"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X255 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X255 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X256"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256" stoichiometry="2"/>
+          <speciesReference species="Y256"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X256" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X256 </ci>
+              <ci> X256 </ci>
+              <ci> Y256 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y256"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X256 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X256 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X257"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257" stoichiometry="2"/>
+          <speciesReference species="Y257"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X257" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X257 </ci>
+              <ci> X257 </ci>
+              <ci> Y257 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y257"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X257 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X257 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X258"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258" stoichiometry="2"/>
+          <speciesReference species="Y258"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X258" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X258 </ci>
+              <ci> X258 </ci>
+              <ci> Y258 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y258"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X258 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X258 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X259"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259" stoichiometry="2"/>
+          <speciesReference species="Y259"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X259" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X259 </ci>
+              <ci> X259 </ci>
+              <ci> Y259 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y259"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X259 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X259 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X260"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260" stoichiometry="2"/>
+          <speciesReference species="Y260"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X260" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X260 </ci>
+              <ci> X260 </ci>
+              <ci> Y260 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y260"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X260 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X260 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X261"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261" stoichiometry="2"/>
+          <speciesReference species="Y261"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X261" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X261 </ci>
+              <ci> X261 </ci>
+              <ci> Y261 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y261"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X261 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X261 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X262"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262" stoichiometry="2"/>
+          <speciesReference species="Y262"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X262" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X262 </ci>
+              <ci> X262 </ci>
+              <ci> Y262 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y262"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X262 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X262 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X263"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263" stoichiometry="2"/>
+          <speciesReference species="Y263"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X263" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X263 </ci>
+              <ci> X263 </ci>
+              <ci> Y263 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y263"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X263 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X263 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X264"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264" stoichiometry="2"/>
+          <speciesReference species="Y264"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X264" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X264 </ci>
+              <ci> X264 </ci>
+              <ci> Y264 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y264"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X264 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X264 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X265"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265" stoichiometry="2"/>
+          <speciesReference species="Y265"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X265" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X265 </ci>
+              <ci> X265 </ci>
+              <ci> Y265 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y265"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X265 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X265 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X266"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266" stoichiometry="2"/>
+          <speciesReference species="Y266"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X266" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X266 </ci>
+              <ci> X266 </ci>
+              <ci> Y266 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y266"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X266 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X266 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X267"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267" stoichiometry="2"/>
+          <speciesReference species="Y267"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X267" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X267 </ci>
+              <ci> X267 </ci>
+              <ci> Y267 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y267"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X267 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X267 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X268"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268" stoichiometry="2"/>
+          <speciesReference species="Y268"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X268" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X268 </ci>
+              <ci> X268 </ci>
+              <ci> Y268 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y268"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X268 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X268 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X269"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269" stoichiometry="2"/>
+          <speciesReference species="Y269"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X269" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X269 </ci>
+              <ci> X269 </ci>
+              <ci> Y269 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y269"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X269 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X269 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X270"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270" stoichiometry="2"/>
+          <speciesReference species="Y270"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X270" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X270 </ci>
+              <ci> X270 </ci>
+              <ci> Y270 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y270"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X270 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X270 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X271"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271" stoichiometry="2"/>
+          <speciesReference species="Y271"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X271" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X271 </ci>
+              <ci> X271 </ci>
+              <ci> Y271 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y271"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X271 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X271 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X272"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272" stoichiometry="2"/>
+          <speciesReference species="Y272"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X272" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X272 </ci>
+              <ci> X272 </ci>
+              <ci> Y272 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y272"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X272 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X272 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X273"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273" stoichiometry="2"/>
+          <speciesReference species="Y273"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X273" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X273 </ci>
+              <ci> X273 </ci>
+              <ci> Y273 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y273"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X273 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X273 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X274"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274" stoichiometry="2"/>
+          <speciesReference species="Y274"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X274" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X274 </ci>
+              <ci> X274 </ci>
+              <ci> Y274 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y274"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X274 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X274 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X275"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275" stoichiometry="2"/>
+          <speciesReference species="Y275"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X275" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X275 </ci>
+              <ci> X275 </ci>
+              <ci> Y275 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y275"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X275 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X275 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X276"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276" stoichiometry="2"/>
+          <speciesReference species="Y276"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X276" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X276 </ci>
+              <ci> X276 </ci>
+              <ci> Y276 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y276"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X276 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X276 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X277"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277" stoichiometry="2"/>
+          <speciesReference species="Y277"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X277" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X277 </ci>
+              <ci> X277 </ci>
+              <ci> Y277 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y277"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X277 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X277 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X278"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278" stoichiometry="2"/>
+          <speciesReference species="Y278"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X278" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X278 </ci>
+              <ci> X278 </ci>
+              <ci> Y278 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y278"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X278 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X278 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X279"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279" stoichiometry="2"/>
+          <speciesReference species="Y279"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X279" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X279 </ci>
+              <ci> X279 </ci>
+              <ci> Y279 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y279"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X279 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X279 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X280"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280" stoichiometry="2"/>
+          <speciesReference species="Y280"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X280" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X280 </ci>
+              <ci> X280 </ci>
+              <ci> Y280 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y280"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X280 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X280 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X281"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281" stoichiometry="2"/>
+          <speciesReference species="Y281"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X281" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X281 </ci>
+              <ci> X281 </ci>
+              <ci> Y281 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y281"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X281 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X281 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X282"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282" stoichiometry="2"/>
+          <speciesReference species="Y282"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X282" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X282 </ci>
+              <ci> X282 </ci>
+              <ci> Y282 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y282"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X282 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X282 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X283"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283" stoichiometry="2"/>
+          <speciesReference species="Y283"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X283" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X283 </ci>
+              <ci> X283 </ci>
+              <ci> Y283 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y283"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X283 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X283 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X284"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284" stoichiometry="2"/>
+          <speciesReference species="Y284"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X284" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X284 </ci>
+              <ci> X284 </ci>
+              <ci> Y284 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y284"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X284 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X284 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X285"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285" stoichiometry="2"/>
+          <speciesReference species="Y285"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X285" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X285 </ci>
+              <ci> X285 </ci>
+              <ci> Y285 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y285"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X285 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X285 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X286"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286" stoichiometry="2"/>
+          <speciesReference species="Y286"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X286" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X286 </ci>
+              <ci> X286 </ci>
+              <ci> Y286 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y286"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X286 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X286 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X287"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287" stoichiometry="2"/>
+          <speciesReference species="Y287"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X287" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X287 </ci>
+              <ci> X287 </ci>
+              <ci> Y287 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y287"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X287 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X287 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X288"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288" stoichiometry="2"/>
+          <speciesReference species="Y288"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X288" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X288 </ci>
+              <ci> X288 </ci>
+              <ci> Y288 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y288"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X288 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X288 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X289"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289" stoichiometry="2"/>
+          <speciesReference species="Y289"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X289" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X289 </ci>
+              <ci> X289 </ci>
+              <ci> Y289 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y289"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X289 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X289 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X290"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290" stoichiometry="2"/>
+          <speciesReference species="Y290"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X290" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X290 </ci>
+              <ci> X290 </ci>
+              <ci> Y290 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y290"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X290 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X290 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X291"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291" stoichiometry="2"/>
+          <speciesReference species="Y291"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X291" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X291 </ci>
+              <ci> X291 </ci>
+              <ci> Y291 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y291"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X291 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X291 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X292"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292" stoichiometry="2"/>
+          <speciesReference species="Y292"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X292" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X292 </ci>
+              <ci> X292 </ci>
+              <ci> Y292 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y292"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X292 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X292 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X293"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293" stoichiometry="2"/>
+          <speciesReference species="Y293"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X293" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X293 </ci>
+              <ci> X293 </ci>
+              <ci> Y293 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y293"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X293 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X293 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X294"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294" stoichiometry="2"/>
+          <speciesReference species="Y294"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X294" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X294 </ci>
+              <ci> X294 </ci>
+              <ci> Y294 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y294"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X294 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X294 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X295"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295" stoichiometry="2"/>
+          <speciesReference species="Y295"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X295" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X295 </ci>
+              <ci> X295 </ci>
+              <ci> Y295 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y295"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X295 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X295 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X296"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296" stoichiometry="2"/>
+          <speciesReference species="Y296"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X296" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X296 </ci>
+              <ci> X296 </ci>
+              <ci> Y296 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y296"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X296 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X296 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X297"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297" stoichiometry="2"/>
+          <speciesReference species="Y297"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X297" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X297 </ci>
+              <ci> X297 </ci>
+              <ci> Y297 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y297"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X297 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X297 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X298"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298" stoichiometry="2"/>
+          <speciesReference species="Y298"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X298" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X298 </ci>
+              <ci> X298 </ci>
+              <ci> Y298 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y298"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X298 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X298 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X299"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299" stoichiometry="2"/>
+          <speciesReference species="Y299"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X299" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X299 </ci>
+              <ci> X299 </ci>
+              <ci> Y299 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y299"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X299 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X299 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X300"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300" stoichiometry="2"/>
+          <speciesReference species="Y300"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X300" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X300 </ci>
+              <ci> X300 </ci>
+              <ci> Y300 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y300"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X300 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X300 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X301"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301" stoichiometry="2"/>
+          <speciesReference species="Y301"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X301" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X301 </ci>
+              <ci> X301 </ci>
+              <ci> Y301 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y301"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X301 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X301 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X302"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302" stoichiometry="2"/>
+          <speciesReference species="Y302"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X302" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X302 </ci>
+              <ci> X302 </ci>
+              <ci> Y302 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y302"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X302 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X302 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X303"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303" stoichiometry="2"/>
+          <speciesReference species="Y303"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X303" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X303 </ci>
+              <ci> X303 </ci>
+              <ci> Y303 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y303"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X303 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X303 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X304"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304" stoichiometry="2"/>
+          <speciesReference species="Y304"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X304" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X304 </ci>
+              <ci> X304 </ci>
+              <ci> Y304 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y304"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X304 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X304 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X305"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305" stoichiometry="2"/>
+          <speciesReference species="Y305"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X305" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X305 </ci>
+              <ci> X305 </ci>
+              <ci> Y305 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y305"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X305 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X305 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X306"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306" stoichiometry="2"/>
+          <speciesReference species="Y306"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X306" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X306 </ci>
+              <ci> X306 </ci>
+              <ci> Y306 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y306"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X306 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X306 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X307"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307" stoichiometry="2"/>
+          <speciesReference species="Y307"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X307" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X307 </ci>
+              <ci> X307 </ci>
+              <ci> Y307 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y307"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X307 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X307 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X308"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308" stoichiometry="2"/>
+          <speciesReference species="Y308"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X308" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X308 </ci>
+              <ci> X308 </ci>
+              <ci> Y308 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y308"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X308 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X308 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X309"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309" stoichiometry="2"/>
+          <speciesReference species="Y309"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X309" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X309 </ci>
+              <ci> X309 </ci>
+              <ci> Y309 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y309"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X309 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X309 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X310"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310" stoichiometry="2"/>
+          <speciesReference species="Y310"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X310" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X310 </ci>
+              <ci> X310 </ci>
+              <ci> Y310 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y310"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X310 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X310 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X311"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311" stoichiometry="2"/>
+          <speciesReference species="Y311"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X311" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X311 </ci>
+              <ci> X311 </ci>
+              <ci> Y311 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y311"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X311 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X311 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X312"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312" stoichiometry="2"/>
+          <speciesReference species="Y312"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X312" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X312 </ci>
+              <ci> X312 </ci>
+              <ci> Y312 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y312"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X312 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X312 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X313"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313" stoichiometry="2"/>
+          <speciesReference species="Y313"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X313" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X313 </ci>
+              <ci> X313 </ci>
+              <ci> Y313 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y313"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X313 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X313 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X314"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314" stoichiometry="2"/>
+          <speciesReference species="Y314"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X314" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X314 </ci>
+              <ci> X314 </ci>
+              <ci> Y314 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y314"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X314 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X314 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X315"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315" stoichiometry="2"/>
+          <speciesReference species="Y315"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X315" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X315 </ci>
+              <ci> X315 </ci>
+              <ci> Y315 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y315"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X315 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X315 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X316"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316" stoichiometry="2"/>
+          <speciesReference species="Y316"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X316" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X316 </ci>
+              <ci> X316 </ci>
+              <ci> Y316 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y316"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X316 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X316 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X317"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317" stoichiometry="2"/>
+          <speciesReference species="Y317"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X317" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X317 </ci>
+              <ci> X317 </ci>
+              <ci> Y317 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y317"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X317 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X317 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X318"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318" stoichiometry="2"/>
+          <speciesReference species="Y318"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X318" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X318 </ci>
+              <ci> X318 </ci>
+              <ci> Y318 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y318"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X318 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X318 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X319"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319" stoichiometry="2"/>
+          <speciesReference species="Y319"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X319" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X319 </ci>
+              <ci> X319 </ci>
+              <ci> Y319 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y319"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X319 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X319 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X320"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320" stoichiometry="2"/>
+          <speciesReference species="Y320"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X320" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X320 </ci>
+              <ci> X320 </ci>
+              <ci> Y320 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y320"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X320 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X320 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X321"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321" stoichiometry="2"/>
+          <speciesReference species="Y321"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X321" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X321 </ci>
+              <ci> X321 </ci>
+              <ci> Y321 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y321"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X321 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X321 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X322"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322" stoichiometry="2"/>
+          <speciesReference species="Y322"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X322" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X322 </ci>
+              <ci> X322 </ci>
+              <ci> Y322 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y322"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X322 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X322 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X323"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323" stoichiometry="2"/>
+          <speciesReference species="Y323"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X323" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X323 </ci>
+              <ci> X323 </ci>
+              <ci> Y323 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y323"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X323 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X323 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X324"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324" stoichiometry="2"/>
+          <speciesReference species="Y324"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X324" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X324 </ci>
+              <ci> X324 </ci>
+              <ci> Y324 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y324"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X324 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X324 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X325"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325" stoichiometry="2"/>
+          <speciesReference species="Y325"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X325" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X325 </ci>
+              <ci> X325 </ci>
+              <ci> Y325 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y325"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X325 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X325 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X326"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326" stoichiometry="2"/>
+          <speciesReference species="Y326"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X326" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X326 </ci>
+              <ci> X326 </ci>
+              <ci> Y326 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y326"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X326 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X326 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X327"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327" stoichiometry="2"/>
+          <speciesReference species="Y327"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X327" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X327 </ci>
+              <ci> X327 </ci>
+              <ci> Y327 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y327"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X327 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X327 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X328"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328" stoichiometry="2"/>
+          <speciesReference species="Y328"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X328" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X328 </ci>
+              <ci> X328 </ci>
+              <ci> Y328 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y328"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X328 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X328 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X329"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329" stoichiometry="2"/>
+          <speciesReference species="Y329"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X329" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X329 </ci>
+              <ci> X329 </ci>
+              <ci> Y329 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y329"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X329 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X329 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X330"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330" stoichiometry="2"/>
+          <speciesReference species="Y330"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X330" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X330 </ci>
+              <ci> X330 </ci>
+              <ci> Y330 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y330"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X330 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X330 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X331"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331" stoichiometry="2"/>
+          <speciesReference species="Y331"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X331" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X331 </ci>
+              <ci> X331 </ci>
+              <ci> Y331 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y331"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X331 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X331 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X332"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332" stoichiometry="2"/>
+          <speciesReference species="Y332"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X332" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X332 </ci>
+              <ci> X332 </ci>
+              <ci> Y332 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y332"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X332 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X332 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X333"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333" stoichiometry="2"/>
+          <speciesReference species="Y333"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X333" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X333 </ci>
+              <ci> X333 </ci>
+              <ci> Y333 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y333"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X333 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X333 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X334"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334" stoichiometry="2"/>
+          <speciesReference species="Y334"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X334" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X334 </ci>
+              <ci> X334 </ci>
+              <ci> Y334 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y334"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X334 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X334 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X335"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335" stoichiometry="2"/>
+          <speciesReference species="Y335"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X335" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X335 </ci>
+              <ci> X335 </ci>
+              <ci> Y335 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y335"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X335 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X335 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X336"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336" stoichiometry="2"/>
+          <speciesReference species="Y336"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X336" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X336 </ci>
+              <ci> X336 </ci>
+              <ci> Y336 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y336"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X336 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X336 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X337"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337" stoichiometry="2"/>
+          <speciesReference species="Y337"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X337" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X337 </ci>
+              <ci> X337 </ci>
+              <ci> Y337 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y337"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X337 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X337 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X338"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338" stoichiometry="2"/>
+          <speciesReference species="Y338"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X338" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X338 </ci>
+              <ci> X338 </ci>
+              <ci> Y338 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y338"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X338 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X338 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X339"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339" stoichiometry="2"/>
+          <speciesReference species="Y339"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X339" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X339 </ci>
+              <ci> X339 </ci>
+              <ci> Y339 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y339"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X339 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X339 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X340"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340" stoichiometry="2"/>
+          <speciesReference species="Y340"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X340" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X340 </ci>
+              <ci> X340 </ci>
+              <ci> Y340 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y340"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X340 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X340 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X341"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341" stoichiometry="2"/>
+          <speciesReference species="Y341"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X341" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X341 </ci>
+              <ci> X341 </ci>
+              <ci> Y341 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y341"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X341 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X341 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X342"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342" stoichiometry="2"/>
+          <speciesReference species="Y342"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X342" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X342 </ci>
+              <ci> X342 </ci>
+              <ci> Y342 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y342"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X342 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X342 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X343"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343" stoichiometry="2"/>
+          <speciesReference species="Y343"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X343" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X343 </ci>
+              <ci> X343 </ci>
+              <ci> Y343 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y343"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X343 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X343 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X344"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344" stoichiometry="2"/>
+          <speciesReference species="Y344"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X344" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X344 </ci>
+              <ci> X344 </ci>
+              <ci> Y344 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y344"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X344 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X344 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X345"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345" stoichiometry="2"/>
+          <speciesReference species="Y345"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X345" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X345 </ci>
+              <ci> X345 </ci>
+              <ci> Y345 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y345"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X345 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X345 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X346"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346" stoichiometry="2"/>
+          <speciesReference species="Y346"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X346" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X346 </ci>
+              <ci> X346 </ci>
+              <ci> Y346 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y346"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X346 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X346 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X347"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347" stoichiometry="2"/>
+          <speciesReference species="Y347"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X347" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X347 </ci>
+              <ci> X347 </ci>
+              <ci> Y347 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y347"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X347 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X347 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X348"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348" stoichiometry="2"/>
+          <speciesReference species="Y348"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X348" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X348 </ci>
+              <ci> X348 </ci>
+              <ci> Y348 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y348"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X348 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X348 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X349"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349" stoichiometry="2"/>
+          <speciesReference species="Y349"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X349" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X349 </ci>
+              <ci> X349 </ci>
+              <ci> Y349 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y349"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X349 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X349 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X350"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350" stoichiometry="2"/>
+          <speciesReference species="Y350"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X350" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X350 </ci>
+              <ci> X350 </ci>
+              <ci> Y350 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y350"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X350 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X350 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X351"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X351" stoichiometry="2"/>
+          <speciesReference species="Y351"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X351" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X351 </ci>
+              <ci> X351 </ci>
+              <ci> Y351 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X351"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y351"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X351 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X351"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X351 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X352"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X352" stoichiometry="2"/>
+          <speciesReference species="Y352"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X352" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X352 </ci>
+              <ci> X352 </ci>
+              <ci> Y352 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X352"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y352"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X352 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X352"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X352 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X353"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X353" stoichiometry="2"/>
+          <speciesReference species="Y353"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X353" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X353 </ci>
+              <ci> X353 </ci>
+              <ci> Y353 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X353"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y353"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X353 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X353"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X353 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X354"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X354" stoichiometry="2"/>
+          <speciesReference species="Y354"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X354" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X354 </ci>
+              <ci> X354 </ci>
+              <ci> Y354 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X354"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y354"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X354 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X354"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X354 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X355"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X355" stoichiometry="2"/>
+          <speciesReference species="Y355"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X355" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X355 </ci>
+              <ci> X355 </ci>
+              <ci> Y355 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X355"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y355"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X355 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X355"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X355 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X356"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X356" stoichiometry="2"/>
+          <speciesReference species="Y356"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X356" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X356 </ci>
+              <ci> X356 </ci>
+              <ci> Y356 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X356"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y356"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X356 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X356"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X356 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X357"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X357" stoichiometry="2"/>
+          <speciesReference species="Y357"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X357" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X357 </ci>
+              <ci> X357 </ci>
+              <ci> Y357 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X357"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y357"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X357 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X357"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X357 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X358"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X358" stoichiometry="2"/>
+          <speciesReference species="Y358"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X358" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X358 </ci>
+              <ci> X358 </ci>
+              <ci> Y358 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X358"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y358"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X358 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X358"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X358 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X359"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X359" stoichiometry="2"/>
+          <speciesReference species="Y359"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X359" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X359 </ci>
+              <ci> X359 </ci>
+              <ci> Y359 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X359"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y359"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X359 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X359"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X359 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X360"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X360" stoichiometry="2"/>
+          <speciesReference species="Y360"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X360" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X360 </ci>
+              <ci> X360 </ci>
+              <ci> Y360 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X360"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y360"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X360 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X360"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X360 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X361"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X361" stoichiometry="2"/>
+          <speciesReference species="Y361"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X361" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X361 </ci>
+              <ci> X361 </ci>
+              <ci> Y361 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X361"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y361"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X361 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X361"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X361 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X362"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X362" stoichiometry="2"/>
+          <speciesReference species="Y362"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X362" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X362 </ci>
+              <ci> X362 </ci>
+              <ci> Y362 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X362"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y362"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X362 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X362"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X362 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X363"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X363" stoichiometry="2"/>
+          <speciesReference species="Y363"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X363" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X363 </ci>
+              <ci> X363 </ci>
+              <ci> Y363 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X363"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y363"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X363 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X363"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X363 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X364"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X364" stoichiometry="2"/>
+          <speciesReference species="Y364"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X364" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X364 </ci>
+              <ci> X364 </ci>
+              <ci> Y364 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X364"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y364"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X364 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X364"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X364 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X365"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X365" stoichiometry="2"/>
+          <speciesReference species="Y365"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X365" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X365 </ci>
+              <ci> X365 </ci>
+              <ci> Y365 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X365"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y365"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X365 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X365"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X365 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X366"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X366" stoichiometry="2"/>
+          <speciesReference species="Y366"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X366" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X366 </ci>
+              <ci> X366 </ci>
+              <ci> Y366 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X366"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y366"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X366 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X366"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X366 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X367"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X367" stoichiometry="2"/>
+          <speciesReference species="Y367"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X367" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X367 </ci>
+              <ci> X367 </ci>
+              <ci> Y367 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X367"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y367"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X367 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X367"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X367 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X368"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X368" stoichiometry="2"/>
+          <speciesReference species="Y368"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X368" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X368 </ci>
+              <ci> X368 </ci>
+              <ci> Y368 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X368"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y368"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X368 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X368"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X368 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X369"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X369" stoichiometry="2"/>
+          <speciesReference species="Y369"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X369" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X369 </ci>
+              <ci> X369 </ci>
+              <ci> Y369 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X369"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y369"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X369 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X369"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X369 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X370"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X370" stoichiometry="2"/>
+          <speciesReference species="Y370"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X370" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X370 </ci>
+              <ci> X370 </ci>
+              <ci> Y370 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X370"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y370"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X370 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X370"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X370 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X371"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X371" stoichiometry="2"/>
+          <speciesReference species="Y371"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X371" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X371 </ci>
+              <ci> X371 </ci>
+              <ci> Y371 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X371"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y371"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X371 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X371"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X371 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X372"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X372" stoichiometry="2"/>
+          <speciesReference species="Y372"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X372" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X372 </ci>
+              <ci> X372 </ci>
+              <ci> Y372 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X372"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y372"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X372 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X372"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X372 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X373"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X373" stoichiometry="2"/>
+          <speciesReference species="Y373"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X373" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X373 </ci>
+              <ci> X373 </ci>
+              <ci> Y373 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X373"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y373"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X373 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X373"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X373 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X374"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X374" stoichiometry="2"/>
+          <speciesReference species="Y374"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X374" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X374 </ci>
+              <ci> X374 </ci>
+              <ci> Y374 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X374"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y374"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X374 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X374"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X374 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X375"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X375" stoichiometry="2"/>
+          <speciesReference species="Y375"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X375" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X375 </ci>
+              <ci> X375 </ci>
+              <ci> Y375 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X375"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y375"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X375 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X375"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X375 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X376"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X376" stoichiometry="2"/>
+          <speciesReference species="Y376"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X376" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X376 </ci>
+              <ci> X376 </ci>
+              <ci> Y376 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X376"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y376"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X376 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X376"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X376 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X377"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X377" stoichiometry="2"/>
+          <speciesReference species="Y377"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X377" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X377 </ci>
+              <ci> X377 </ci>
+              <ci> Y377 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X377"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y377"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X377 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X377"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X377 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X378"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X378" stoichiometry="2"/>
+          <speciesReference species="Y378"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X378" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X378 </ci>
+              <ci> X378 </ci>
+              <ci> Y378 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X378"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y378"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X378 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X378"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X378 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X379"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X379" stoichiometry="2"/>
+          <speciesReference species="Y379"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X379" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X379 </ci>
+              <ci> X379 </ci>
+              <ci> Y379 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X379"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y379"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X379 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X379"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X379 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X380"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X380" stoichiometry="2"/>
+          <speciesReference species="Y380"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X380" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X380 </ci>
+              <ci> X380 </ci>
+              <ci> Y380 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X380"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y380"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X380 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X380"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X380 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X381"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X381" stoichiometry="2"/>
+          <speciesReference species="Y381"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X381" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X381 </ci>
+              <ci> X381 </ci>
+              <ci> Y381 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X381"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y381"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X381 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X381"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X381 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X382"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X382" stoichiometry="2"/>
+          <speciesReference species="Y382"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X382" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X382 </ci>
+              <ci> X382 </ci>
+              <ci> Y382 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X382"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y382"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X382 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X382"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X382 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X383"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X383" stoichiometry="2"/>
+          <speciesReference species="Y383"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X383" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X383 </ci>
+              <ci> X383 </ci>
+              <ci> Y383 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X383"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y383"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X383 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X383"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X383 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X384"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X384" stoichiometry="2"/>
+          <speciesReference species="Y384"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X384" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X384 </ci>
+              <ci> X384 </ci>
+              <ci> Y384 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X384"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y384"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X384 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X384"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X384 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X385"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X385" stoichiometry="2"/>
+          <speciesReference species="Y385"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X385" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X385 </ci>
+              <ci> X385 </ci>
+              <ci> Y385 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X385"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y385"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X385 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X385"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X385 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X386"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X386" stoichiometry="2"/>
+          <speciesReference species="Y386"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X386" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X386 </ci>
+              <ci> X386 </ci>
+              <ci> Y386 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X386"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y386"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X386 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X386"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X386 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X387"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X387" stoichiometry="2"/>
+          <speciesReference species="Y387"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X387" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X387 </ci>
+              <ci> X387 </ci>
+              <ci> Y387 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X387"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y387"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X387 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X387"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X387 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X388"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X388" stoichiometry="2"/>
+          <speciesReference species="Y388"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X388" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X388 </ci>
+              <ci> X388 </ci>
+              <ci> Y388 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X388"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y388"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X388 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X388"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X388 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X389"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X389" stoichiometry="2"/>
+          <speciesReference species="Y389"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X389" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X389 </ci>
+              <ci> X389 </ci>
+              <ci> Y389 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X389"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y389"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X389 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X389"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X389 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X390"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X390" stoichiometry="2"/>
+          <speciesReference species="Y390"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X390" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X390 </ci>
+              <ci> X390 </ci>
+              <ci> Y390 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X390"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y390"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X390 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X390"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X390 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X391"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X391" stoichiometry="2"/>
+          <speciesReference species="Y391"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X391" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X391 </ci>
+              <ci> X391 </ci>
+              <ci> Y391 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X391"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y391"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X391 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X391"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X391 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X392"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X392" stoichiometry="2"/>
+          <speciesReference species="Y392"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X392" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X392 </ci>
+              <ci> X392 </ci>
+              <ci> Y392 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X392"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y392"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X392 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X392"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X392 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X393"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X393" stoichiometry="2"/>
+          <speciesReference species="Y393"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X393" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X393 </ci>
+              <ci> X393 </ci>
+              <ci> Y393 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X393"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y393"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X393 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X393"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X393 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X394"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X394" stoichiometry="2"/>
+          <speciesReference species="Y394"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X394" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X394 </ci>
+              <ci> X394 </ci>
+              <ci> Y394 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X394"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y394"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X394 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X394"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X394 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X395"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X395" stoichiometry="2"/>
+          <speciesReference species="Y395"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X395" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X395 </ci>
+              <ci> X395 </ci>
+              <ci> Y395 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X395"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y395"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X395 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X395"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X395 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X396"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X396" stoichiometry="2"/>
+          <speciesReference species="Y396"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X396" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X396 </ci>
+              <ci> X396 </ci>
+              <ci> Y396 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X396"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y396"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X396 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X396"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X396 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X397"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X397" stoichiometry="2"/>
+          <speciesReference species="Y397"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X397" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X397 </ci>
+              <ci> X397 </ci>
+              <ci> Y397 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X397"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y397"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X397 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X397"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X397 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X398"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X398" stoichiometry="2"/>
+          <speciesReference species="Y398"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X398" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X398 </ci>
+              <ci> X398 </ci>
+              <ci> Y398 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X398"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y398"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X398 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X398"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X398 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X399"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X399" stoichiometry="2"/>
+          <speciesReference species="Y399"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X399" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X399 </ci>
+              <ci> X399 </ci>
+              <ci> Y399 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X399"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y399"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X399 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X399"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X399 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X400"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X400" stoichiometry="2"/>
+          <speciesReference species="Y400"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X400" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X400 </ci>
+              <ci> X400 </ci>
+              <ci> Y400 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X400"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y400"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X400 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X400"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X400 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_401" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X401"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_401" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X401" stoichiometry="2"/>
+          <speciesReference species="Y401"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X401" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X401 </ci>
+              <ci> X401 </ci>
+              <ci> Y401 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_401" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X401"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y401"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X401 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_401" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X401"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X401 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_402" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X402"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_402" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X402" stoichiometry="2"/>
+          <speciesReference species="Y402"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X402" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X402 </ci>
+              <ci> X402 </ci>
+              <ci> Y402 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_402" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X402"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y402"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X402 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_402" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X402"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X402 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_403" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X403"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_403" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X403" stoichiometry="2"/>
+          <speciesReference species="Y403"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X403" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X403 </ci>
+              <ci> X403 </ci>
+              <ci> Y403 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_403" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X403"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y403"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X403 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_403" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X403"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X403 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_404" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X404"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_404" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X404" stoichiometry="2"/>
+          <speciesReference species="Y404"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X404" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X404 </ci>
+              <ci> X404 </ci>
+              <ci> Y404 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_404" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X404"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y404"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X404 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_404" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X404"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X404 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_405" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X405"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_405" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X405" stoichiometry="2"/>
+          <speciesReference species="Y405"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X405" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X405 </ci>
+              <ci> X405 </ci>
+              <ci> Y405 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_405" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X405"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y405"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X405 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_405" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X405"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X405 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_406" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X406"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_406" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X406" stoichiometry="2"/>
+          <speciesReference species="Y406"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X406" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X406 </ci>
+              <ci> X406 </ci>
+              <ci> Y406 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_406" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X406"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y406"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X406 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_406" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X406"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X406 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_407" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X407"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_407" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X407" stoichiometry="2"/>
+          <speciesReference species="Y407"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X407" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X407 </ci>
+              <ci> X407 </ci>
+              <ci> Y407 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_407" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X407"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y407"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X407 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_407" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X407"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X407 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_408" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X408"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_408" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X408" stoichiometry="2"/>
+          <speciesReference species="Y408"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X408" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X408 </ci>
+              <ci> X408 </ci>
+              <ci> Y408 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_408" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X408"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y408"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X408 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_408" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X408"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X408 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_409" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X409"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_409" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X409" stoichiometry="2"/>
+          <speciesReference species="Y409"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X409" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X409 </ci>
+              <ci> X409 </ci>
+              <ci> Y409 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_409" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X409"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y409"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X409 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_409" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X409"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X409 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_410" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X410"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_410" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X410" stoichiometry="2"/>
+          <speciesReference species="Y410"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X410" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X410 </ci>
+              <ci> X410 </ci>
+              <ci> Y410 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_410" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X410"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y410"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X410 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_410" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X410"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X410 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_411" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X411"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_411" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X411" stoichiometry="2"/>
+          <speciesReference species="Y411"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X411" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X411 </ci>
+              <ci> X411 </ci>
+              <ci> Y411 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_411" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X411"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y411"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X411 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_411" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X411"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X411 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_412" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X412"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_412" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X412" stoichiometry="2"/>
+          <speciesReference species="Y412"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X412" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X412 </ci>
+              <ci> X412 </ci>
+              <ci> Y412 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_412" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X412"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y412"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X412 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_412" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X412"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X412 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_413" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X413"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_413" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X413" stoichiometry="2"/>
+          <speciesReference species="Y413"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X413" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X413 </ci>
+              <ci> X413 </ci>
+              <ci> Y413 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_413" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X413"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y413"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X413 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_413" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X413"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X413 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_414" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X414"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_414" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X414" stoichiometry="2"/>
+          <speciesReference species="Y414"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X414" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X414 </ci>
+              <ci> X414 </ci>
+              <ci> Y414 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_414" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X414"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y414"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X414 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_414" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X414"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X414 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_415" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X415"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_415" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X415" stoichiometry="2"/>
+          <speciesReference species="Y415"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X415" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X415 </ci>
+              <ci> X415 </ci>
+              <ci> Y415 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_415" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X415"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y415"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X415 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_415" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X415"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X415 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_416" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X416"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_416" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X416" stoichiometry="2"/>
+          <speciesReference species="Y416"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X416" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X416 </ci>
+              <ci> X416 </ci>
+              <ci> Y416 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_416" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X416"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y416"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X416 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_416" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X416"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X416 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_417" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X417"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_417" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X417" stoichiometry="2"/>
+          <speciesReference species="Y417"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X417" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X417 </ci>
+              <ci> X417 </ci>
+              <ci> Y417 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_417" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X417"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y417"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X417 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_417" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X417"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X417 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_418" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X418"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_418" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X418" stoichiometry="2"/>
+          <speciesReference species="Y418"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X418" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X418 </ci>
+              <ci> X418 </ci>
+              <ci> Y418 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_418" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X418"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y418"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X418 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_418" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X418"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X418 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_419" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X419"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_419" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X419" stoichiometry="2"/>
+          <speciesReference species="Y419"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X419" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X419 </ci>
+              <ci> X419 </ci>
+              <ci> Y419 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_419" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X419"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y419"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X419 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_419" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X419"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X419 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_420" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X420"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_420" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X420" stoichiometry="2"/>
+          <speciesReference species="Y420"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X420" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X420 </ci>
+              <ci> X420 </ci>
+              <ci> Y420 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_420" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X420"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y420"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X420 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_420" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X420"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X420 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_421" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X421"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_421" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X421" stoichiometry="2"/>
+          <speciesReference species="Y421"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X421" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X421 </ci>
+              <ci> X421 </ci>
+              <ci> Y421 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_421" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X421"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y421"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X421 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_421" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X421"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X421 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_422" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X422"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_422" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X422" stoichiometry="2"/>
+          <speciesReference species="Y422"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X422" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X422 </ci>
+              <ci> X422 </ci>
+              <ci> Y422 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_422" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X422"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y422"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X422 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_422" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X422"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X422 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_423" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X423"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_423" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X423" stoichiometry="2"/>
+          <speciesReference species="Y423"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X423" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X423 </ci>
+              <ci> X423 </ci>
+              <ci> Y423 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_423" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X423"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y423"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X423 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_423" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X423"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X423 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_424" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X424"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_424" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X424" stoichiometry="2"/>
+          <speciesReference species="Y424"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X424" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X424 </ci>
+              <ci> X424 </ci>
+              <ci> Y424 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_424" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X424"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y424"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X424 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_424" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X424"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X424 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_425" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X425"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_425" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X425" stoichiometry="2"/>
+          <speciesReference species="Y425"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X425" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X425 </ci>
+              <ci> X425 </ci>
+              <ci> Y425 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_425" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X425"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y425"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X425 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_425" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X425"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X425 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_426" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X426"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_426" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X426" stoichiometry="2"/>
+          <speciesReference species="Y426"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X426" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X426 </ci>
+              <ci> X426 </ci>
+              <ci> Y426 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_426" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X426"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y426"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X426 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_426" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X426"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X426 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_427" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X427"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_427" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X427" stoichiometry="2"/>
+          <speciesReference species="Y427"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X427" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X427 </ci>
+              <ci> X427 </ci>
+              <ci> Y427 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_427" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X427"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y427"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X427 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_427" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X427"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X427 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_428" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X428"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_428" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X428" stoichiometry="2"/>
+          <speciesReference species="Y428"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X428" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X428 </ci>
+              <ci> X428 </ci>
+              <ci> Y428 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_428" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X428"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y428"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X428 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_428" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X428"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X428 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_429" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X429"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_429" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X429" stoichiometry="2"/>
+          <speciesReference species="Y429"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X429" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X429 </ci>
+              <ci> X429 </ci>
+              <ci> Y429 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_429" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X429"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y429"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X429 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_429" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X429"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X429 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_430" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X430"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_430" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X430" stoichiometry="2"/>
+          <speciesReference species="Y430"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X430" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X430 </ci>
+              <ci> X430 </ci>
+              <ci> Y430 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_430" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X430"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y430"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X430 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_430" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X430"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X430 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_431" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X431"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_431" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X431" stoichiometry="2"/>
+          <speciesReference species="Y431"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X431" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X431 </ci>
+              <ci> X431 </ci>
+              <ci> Y431 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_431" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X431"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y431"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X431 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_431" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X431"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X431 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_432" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X432"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_432" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X432" stoichiometry="2"/>
+          <speciesReference species="Y432"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X432" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X432 </ci>
+              <ci> X432 </ci>
+              <ci> Y432 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_432" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X432"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y432"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X432 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_432" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X432"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X432 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_433" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X433"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_433" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X433" stoichiometry="2"/>
+          <speciesReference species="Y433"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X433" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X433 </ci>
+              <ci> X433 </ci>
+              <ci> Y433 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_433" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X433"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y433"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X433 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_433" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X433"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X433 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_434" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X434"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_434" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X434" stoichiometry="2"/>
+          <speciesReference species="Y434"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X434" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X434 </ci>
+              <ci> X434 </ci>
+              <ci> Y434 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_434" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X434"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y434"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X434 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_434" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X434"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X434 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_435" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X435"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_435" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X435" stoichiometry="2"/>
+          <speciesReference species="Y435"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X435" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X435 </ci>
+              <ci> X435 </ci>
+              <ci> Y435 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_435" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X435"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y435"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X435 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_435" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X435"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X435 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_436" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X436"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_436" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X436" stoichiometry="2"/>
+          <speciesReference species="Y436"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X436" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X436 </ci>
+              <ci> X436 </ci>
+              <ci> Y436 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_436" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X436"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y436"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X436 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_436" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X436"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X436 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_437" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X437"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_437" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X437" stoichiometry="2"/>
+          <speciesReference species="Y437"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X437" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X437 </ci>
+              <ci> X437 </ci>
+              <ci> Y437 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_437" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X437"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y437"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X437 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_437" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X437"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X437 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_438" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X438"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_438" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X438" stoichiometry="2"/>
+          <speciesReference species="Y438"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X438" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X438 </ci>
+              <ci> X438 </ci>
+              <ci> Y438 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_438" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X438"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y438"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X438 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_438" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X438"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X438 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_439" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X439"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_439" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X439" stoichiometry="2"/>
+          <speciesReference species="Y439"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X439" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X439 </ci>
+              <ci> X439 </ci>
+              <ci> Y439 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_439" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X439"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y439"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X439 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_439" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X439"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X439 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_440" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X440"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_440" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X440" stoichiometry="2"/>
+          <speciesReference species="Y440"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X440" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X440 </ci>
+              <ci> X440 </ci>
+              <ci> Y440 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_440" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X440"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y440"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X440 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_440" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X440"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X440 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_441" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X441"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_441" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X441" stoichiometry="2"/>
+          <speciesReference species="Y441"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X441" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X441 </ci>
+              <ci> X441 </ci>
+              <ci> Y441 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_441" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X441"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y441"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X441 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_441" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X441"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X441 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_442" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X442"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_442" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X442" stoichiometry="2"/>
+          <speciesReference species="Y442"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X442" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X442 </ci>
+              <ci> X442 </ci>
+              <ci> Y442 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_442" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X442"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y442"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X442 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_442" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X442"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X442 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_443" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X443"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_443" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X443" stoichiometry="2"/>
+          <speciesReference species="Y443"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X443" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X443 </ci>
+              <ci> X443 </ci>
+              <ci> Y443 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_443" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X443"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y443"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X443 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_443" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X443"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X443 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_444" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X444"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_444" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X444" stoichiometry="2"/>
+          <speciesReference species="Y444"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X444" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X444 </ci>
+              <ci> X444 </ci>
+              <ci> Y444 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_444" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X444"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y444"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X444 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_444" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X444"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X444 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_445" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X445"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_445" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X445" stoichiometry="2"/>
+          <speciesReference species="Y445"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X445" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X445 </ci>
+              <ci> X445 </ci>
+              <ci> Y445 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_445" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X445"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y445"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X445 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_445" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X445"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X445 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_446" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X446"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_446" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X446" stoichiometry="2"/>
+          <speciesReference species="Y446"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X446" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X446 </ci>
+              <ci> X446 </ci>
+              <ci> Y446 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_446" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X446"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y446"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X446 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_446" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X446"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X446 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_447" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X447"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_447" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X447" stoichiometry="2"/>
+          <speciesReference species="Y447"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X447" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X447 </ci>
+              <ci> X447 </ci>
+              <ci> Y447 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_447" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X447"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y447"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X447 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_447" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X447"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X447 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_448" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X448"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_448" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X448" stoichiometry="2"/>
+          <speciesReference species="Y448"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X448" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X448 </ci>
+              <ci> X448 </ci>
+              <ci> Y448 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_448" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X448"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y448"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X448 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_448" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X448"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X448 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_449" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X449"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_449" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X449" stoichiometry="2"/>
+          <speciesReference species="Y449"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X449" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X449 </ci>
+              <ci> X449 </ci>
+              <ci> Y449 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_449" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X449"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y449"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X449 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_449" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X449"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X449 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_450" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X450"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_450" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X450" stoichiometry="2"/>
+          <speciesReference species="Y450"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X450" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X450 </ci>
+              <ci> X450 </ci>
+              <ci> Y450 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_450" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X450"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y450"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X450 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_450" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X450"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X450 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/00500/00500-sbml-l2v4.xml b/autotest/python-benchmark-bioinf/00500/00500-sbml-l2v4.xml
new file mode 100644
index 0000000..7f99f26
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/00500/00500-sbml-l2v4.xml
@@ -0,0 +1,36125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="The_Brusselator" id="The_Brusselator" name="The_Brusselator">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X
+                    catalyses</p>
+        <p>its own formation. In a certain region of parameter space the
+                    Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady
+                    state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how
+                    Gepasi can find an unstable steady state, and calculate the
+                    eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="compartment" initialAmount="0.8" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y1" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y2" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y3" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y4" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y5" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y6" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y7" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y8" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y9" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y10" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y11" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y12" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y13" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y14" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y15" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y16" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y17" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y18" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y19" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y20" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y21" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y22" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y23" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y24" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y25" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y26" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y27" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y28" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y29" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y30" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y31" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y32" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y33" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y34" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y35" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y36" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y37" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y38" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y39" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y40" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y41" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y42" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y43" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y44" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y45" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y46" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y47" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y48" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y49" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y50" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y51" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y52" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y53" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y54" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y55" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y56" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y57" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y58" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y59" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y60" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y61" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y62" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y63" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y64" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y65" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y66" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y67" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y68" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y69" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y70" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y71" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y72" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y73" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y74" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y75" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y76" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y77" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y78" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y79" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y80" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y81" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y82" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y83" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y84" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y85" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y86" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y87" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y88" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y89" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y90" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y91" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y92" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y93" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y94" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y95" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y96" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y97" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y98" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y99" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y100" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y101" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y102" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y103" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y104" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y105" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y106" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y107" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y108" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y109" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y110" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y111" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y112" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y113" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y114" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y115" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y116" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y117" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y118" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y119" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y120" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y121" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y122" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y123" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y124" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y125" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y126" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y127" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y128" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y129" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y130" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y131" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y132" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y133" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y134" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y135" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y136" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y137" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y138" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y139" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y140" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y141" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y142" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y143" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y144" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y145" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y146" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y147" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y148" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y149" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y150" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y151" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y152" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y153" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y154" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y155" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y156" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y157" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y158" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y159" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y160" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y161" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y162" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y163" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y164" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y165" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y166" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y167" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y168" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y169" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y170" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y171" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y172" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y173" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y174" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y175" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y176" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y177" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y178" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y179" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y180" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y181" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y182" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y183" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y184" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y185" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y186" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y187" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y188" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y189" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y190" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y191" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y192" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y193" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y194" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y195" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y196" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y197" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y198" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y199" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y200" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y201" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y202" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y203" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y204" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y205" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y206" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y207" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y208" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y209" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y210" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y211" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y212" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y213" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y214" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y215" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y216" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y217" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y218" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y219" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y220" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y221" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y222" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y223" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y224" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y225" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y226" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y227" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y228" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y229" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y230" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y231" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y232" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y233" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y234" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y235" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y236" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y237" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y238" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y239" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y240" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y241" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y242" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y243" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y244" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y245" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y246" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y247" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y248" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y249" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y250" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X251" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y251" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X252" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y252" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X253" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y253" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X254" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y254" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X255" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y255" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X256" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y256" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X257" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y257" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X258" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y258" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X259" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y259" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X260" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y260" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X261" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y261" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X262" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y262" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X263" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y263" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X264" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y264" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X265" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y265" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X266" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y266" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X267" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y267" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X268" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y268" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X269" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y269" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X270" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y270" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X271" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y271" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X272" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y272" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X273" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y273" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X274" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y274" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X275" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y275" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X276" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y276" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X277" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y277" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X278" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y278" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X279" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y279" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X280" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y280" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X281" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y281" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X282" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y282" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X283" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y283" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X284" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y284" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X285" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y285" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X286" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y286" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X287" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y287" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X288" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y288" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X289" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y289" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X290" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y290" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X291" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y291" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X292" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y292" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X293" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y293" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X294" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y294" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X295" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y295" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X296" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y296" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X297" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y297" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X298" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y298" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X299" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y299" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X300" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y300" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X301" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y301" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X302" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y302" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X303" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y303" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X304" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y304" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X305" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y305" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X306" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y306" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X307" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y307" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X308" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y308" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X309" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y309" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X310" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y310" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X311" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y311" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X312" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y312" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X313" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y313" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X314" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y314" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X315" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y315" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X316" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y316" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X317" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y317" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X318" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y318" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X319" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y319" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X320" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y320" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X321" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y321" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X322" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y322" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X323" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y323" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X324" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y324" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X325" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y325" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X326" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y326" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X327" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y327" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X328" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y328" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X329" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y329" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X330" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y330" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X331" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y331" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X332" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y332" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X333" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y333" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X334" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y334" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X335" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y335" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X336" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y336" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X337" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y337" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X338" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y338" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X339" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y339" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X340" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y340" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X341" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y341" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X342" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y342" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X343" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y343" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X344" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y344" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X345" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y345" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X346" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y346" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X347" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y347" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X348" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y348" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X349" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y349" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X350" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y350" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X351" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y351" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X352" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y352" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X353" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y353" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X354" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y354" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X355" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y355" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X356" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y356" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X357" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y357" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X358" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y358" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X359" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y359" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X360" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y360" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X361" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y361" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X362" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y362" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X363" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y363" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X364" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y364" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X365" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y365" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X366" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y366" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X367" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y367" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X368" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y368" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X369" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y369" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X370" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y370" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X371" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y371" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X372" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y372" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X373" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y373" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X374" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y374" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X375" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y375" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X376" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y376" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X377" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y377" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X378" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y378" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X379" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y379" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X380" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y380" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X381" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y381" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X382" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y382" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X383" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y383" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X384" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y384" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X385" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y385" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X386" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y386" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X387" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y387" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X388" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y388" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X389" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y389" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X390" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y390" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X391" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y391" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X392" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y392" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X393" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y393" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X394" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y394" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X395" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y395" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X396" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y396" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X397" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y397" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X398" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y398" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X399" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y399" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X400" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y400" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X401" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y401" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X402" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y402" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X403" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y403" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X404" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y404" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X405" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y405" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X406" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y406" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X407" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y407" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X408" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y408" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X409" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y409" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X410" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y410" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X411" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y411" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X412" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y412" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X413" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y413" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X414" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y414" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X415" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y415" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X416" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y416" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X417" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y417" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X418" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y418" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X419" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y419" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X420" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y420" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X421" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y421" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X422" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y422" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X423" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y423" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X424" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y424" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X425" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y425" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X426" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y426" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X427" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y427" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X428" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y428" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X429" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y429" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X430" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y430" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X431" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y431" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X432" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y432" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X433" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y433" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X434" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y434" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X435" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y435" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X436" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y436" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X437" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y437" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X438" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y438" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X439" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y439" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X440" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y440" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X441" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y441" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X442" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y442" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X443" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y443" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X444" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y444" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X445" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y445" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X446" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y446" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X447" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y447" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X448" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y448" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X449" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y449" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X450" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y450" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X451" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y451" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X452" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y452" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X453" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y453" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X454" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y454" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X455" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y455" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X456" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y456" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X457" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y457" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X458" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y458" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X459" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y459" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X460" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y460" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X461" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y461" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X462" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y462" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X463" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y463" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X464" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y464" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X465" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y465" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X466" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y466" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X467" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y467" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X468" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y468" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X469" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y469" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X470" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y470" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X471" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y471" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X472" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y472" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X473" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y473" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X474" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y474" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X475" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y475" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X476" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y476" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X477" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y477" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X478" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y478" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X479" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y479" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X480" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y480" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X481" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y481" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X482" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y482" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X483" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y483" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X484" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y484" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X485" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y485" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X486" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y486" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X487" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y487" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X488" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y488" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X489" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y489" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X490" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y490" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X491" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y491" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X492" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y492" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X493" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y493" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X494" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y494" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X495" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y495" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X496" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y496" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X497" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y497" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X498" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y498" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X499" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y499" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="X500" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+      <species id="Y500" compartment="compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="k4" name="k4" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="R1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2"/>
+          <speciesReference species="Y"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1" stoichiometry="2"/>
+          <speciesReference species="Y1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X1 </ci>
+              <ci> X1 </ci>
+              <ci> Y1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X1"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="2"/>
+          <speciesReference species="Y2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X2 </ci>
+              <ci> X2 </ci>
+              <ci> Y2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X2 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X2"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3" stoichiometry="2"/>
+          <speciesReference species="Y3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X3 </ci>
+              <ci> X3 </ci>
+              <ci> Y3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X3 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X3"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4" stoichiometry="2"/>
+          <speciesReference species="Y4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X4 </ci>
+              <ci> X4 </ci>
+              <ci> Y4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X4 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X4"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5" stoichiometry="2"/>
+          <speciesReference species="Y5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X5" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X5 </ci>
+              <ci> X5 </ci>
+              <ci> Y5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y5"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X5 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X5"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6" stoichiometry="2"/>
+          <speciesReference species="Y6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X6" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X6 </ci>
+              <ci> X6 </ci>
+              <ci> Y6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y6"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X6 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X6"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X6 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7" stoichiometry="2"/>
+          <speciesReference species="Y7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X7" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X7 </ci>
+              <ci> X7 </ci>
+              <ci> Y7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y7"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X7 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X7"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X7 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8" stoichiometry="2"/>
+          <speciesReference species="Y8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X8" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X8 </ci>
+              <ci> X8 </ci>
+              <ci> Y8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y8"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X8 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X8"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X8 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9" stoichiometry="2"/>
+          <speciesReference species="Y9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X9" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X9 </ci>
+              <ci> X9 </ci>
+              <ci> Y9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y9"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X9 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X9"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X9 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10" stoichiometry="2"/>
+          <speciesReference species="Y10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X10" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X10 </ci>
+              <ci> X10 </ci>
+              <ci> Y10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y10"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X10 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X10"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X10 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11" stoichiometry="2"/>
+          <speciesReference species="Y11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X11" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X11 </ci>
+              <ci> X11 </ci>
+              <ci> Y11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y11"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X11 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_11" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X11"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X11 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12" stoichiometry="2"/>
+          <speciesReference species="Y12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X12" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X12 </ci>
+              <ci> X12 </ci>
+              <ci> Y12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y12"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X12 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_12" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X12"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X12 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13" stoichiometry="2"/>
+          <speciesReference species="Y13"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X13" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X13 </ci>
+              <ci> X13 </ci>
+              <ci> Y13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y13"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X13 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_13" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X13"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X13 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14" stoichiometry="2"/>
+          <speciesReference species="Y14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X14" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X14 </ci>
+              <ci> X14 </ci>
+              <ci> Y14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y14"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X14 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_14" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X14"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X14 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15" stoichiometry="2"/>
+          <speciesReference species="Y15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X15" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X15 </ci>
+              <ci> X15 </ci>
+              <ci> Y15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y15"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X15 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_15" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X15"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X15 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16" stoichiometry="2"/>
+          <speciesReference species="Y16"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X16" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X16 </ci>
+              <ci> X16 </ci>
+              <ci> Y16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y16"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X16 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_16" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X16"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X16 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17" stoichiometry="2"/>
+          <speciesReference species="Y17"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X17" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X17 </ci>
+              <ci> X17 </ci>
+              <ci> Y17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y17"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X17 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_17" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X17"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X17 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18" stoichiometry="2"/>
+          <speciesReference species="Y18"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X18" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X18 </ci>
+              <ci> X18 </ci>
+              <ci> Y18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y18"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X18 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_18" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X18"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X18 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19" stoichiometry="2"/>
+          <speciesReference species="Y19"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X19" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X19 </ci>
+              <ci> X19 </ci>
+              <ci> Y19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y19"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X19 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_19" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X19"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X19 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20" stoichiometry="2"/>
+          <speciesReference species="Y20"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X20" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X20 </ci>
+              <ci> X20 </ci>
+              <ci> Y20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y20"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X20 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_20" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X20"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X20 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21" stoichiometry="2"/>
+          <speciesReference species="Y21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X21" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X21 </ci>
+              <ci> X21 </ci>
+              <ci> Y21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y21"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X21 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_21" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X21"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X21 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22" stoichiometry="2"/>
+          <speciesReference species="Y22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X22" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X22 </ci>
+              <ci> X22 </ci>
+              <ci> Y22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y22"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X22 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_22" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X22"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X22 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23" stoichiometry="2"/>
+          <speciesReference species="Y23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X23" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X23 </ci>
+              <ci> X23 </ci>
+              <ci> Y23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y23"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X23 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_23" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X23"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X23 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24" stoichiometry="2"/>
+          <speciesReference species="Y24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X24" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X24 </ci>
+              <ci> X24 </ci>
+              <ci> Y24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y24"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X24 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_24" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X24"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X24 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25" stoichiometry="2"/>
+          <speciesReference species="Y25"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X25" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X25 </ci>
+              <ci> X25 </ci>
+              <ci> Y25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y25"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X25 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_25" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X25"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X25 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26" stoichiometry="2"/>
+          <speciesReference species="Y26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X26" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X26 </ci>
+              <ci> X26 </ci>
+              <ci> Y26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y26"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X26 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_26" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X26"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X26 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27" stoichiometry="2"/>
+          <speciesReference species="Y27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X27" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X27 </ci>
+              <ci> X27 </ci>
+              <ci> Y27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y27"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X27 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_27" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X27"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X27 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28" stoichiometry="2"/>
+          <speciesReference species="Y28"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X28" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X28 </ci>
+              <ci> X28 </ci>
+              <ci> Y28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y28"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X28 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_28" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X28"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X28 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29" stoichiometry="2"/>
+          <speciesReference species="Y29"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X29" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X29 </ci>
+              <ci> X29 </ci>
+              <ci> Y29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y29"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X29 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_29" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X29"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X29 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30" stoichiometry="2"/>
+          <speciesReference species="Y30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X30" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X30 </ci>
+              <ci> X30 </ci>
+              <ci> Y30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y30"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X30 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_30" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X30"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X30 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31" stoichiometry="2"/>
+          <speciesReference species="Y31"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X31" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X31 </ci>
+              <ci> X31 </ci>
+              <ci> Y31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y31"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X31 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_31" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X31"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X31 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32" stoichiometry="2"/>
+          <speciesReference species="Y32"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X32" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X32 </ci>
+              <ci> X32 </ci>
+              <ci> Y32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y32"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X32 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_32" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X32"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X32 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33" stoichiometry="2"/>
+          <speciesReference species="Y33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X33" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X33 </ci>
+              <ci> X33 </ci>
+              <ci> Y33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y33"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X33 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_33" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X33"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X33 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34" stoichiometry="2"/>
+          <speciesReference species="Y34"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X34" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X34 </ci>
+              <ci> X34 </ci>
+              <ci> Y34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y34"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X34 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_34" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X34"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X34 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35" stoichiometry="2"/>
+          <speciesReference species="Y35"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X35" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X35 </ci>
+              <ci> X35 </ci>
+              <ci> Y35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y35"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X35 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_35" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X35"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X35 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36" stoichiometry="2"/>
+          <speciesReference species="Y36"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X36" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X36 </ci>
+              <ci> X36 </ci>
+              <ci> Y36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y36"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X36 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_36" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X36"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X36 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37" stoichiometry="2"/>
+          <speciesReference species="Y37"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X37" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X37 </ci>
+              <ci> X37 </ci>
+              <ci> Y37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y37"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X37 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_37" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X37"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X37 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38" stoichiometry="2"/>
+          <speciesReference species="Y38"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X38" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X38 </ci>
+              <ci> X38 </ci>
+              <ci> Y38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y38"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X38 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_38" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X38"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X38 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39" stoichiometry="2"/>
+          <speciesReference species="Y39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X39" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X39 </ci>
+              <ci> X39 </ci>
+              <ci> Y39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y39"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X39 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_39" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X39"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X39 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40" stoichiometry="2"/>
+          <speciesReference species="Y40"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X40" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X40 </ci>
+              <ci> X40 </ci>
+              <ci> Y40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y40"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X40 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_40" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X40"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X40 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41" stoichiometry="2"/>
+          <speciesReference species="Y41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X41" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X41 </ci>
+              <ci> X41 </ci>
+              <ci> Y41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y41"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X41 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_41" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X41"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X41 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42" stoichiometry="2"/>
+          <speciesReference species="Y42"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X42" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X42 </ci>
+              <ci> X42 </ci>
+              <ci> Y42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y42"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X42 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_42" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X42"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X42 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43" stoichiometry="2"/>
+          <speciesReference species="Y43"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X43" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X43 </ci>
+              <ci> X43 </ci>
+              <ci> Y43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y43"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X43 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_43" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X43"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X43 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44" stoichiometry="2"/>
+          <speciesReference species="Y44"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X44" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X44 </ci>
+              <ci> X44 </ci>
+              <ci> Y44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y44"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X44 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_44" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X44"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X44 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45" stoichiometry="2"/>
+          <speciesReference species="Y45"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X45" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X45 </ci>
+              <ci> X45 </ci>
+              <ci> Y45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y45"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X45 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_45" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X45"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X45 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46" stoichiometry="2"/>
+          <speciesReference species="Y46"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X46" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X46 </ci>
+              <ci> X46 </ci>
+              <ci> Y46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y46"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X46 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_46" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X46"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X46 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47" stoichiometry="2"/>
+          <speciesReference species="Y47"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X47" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X47 </ci>
+              <ci> X47 </ci>
+              <ci> Y47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y47"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X47 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_47" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X47"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X47 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48" stoichiometry="2"/>
+          <speciesReference species="Y48"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X48" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X48 </ci>
+              <ci> X48 </ci>
+              <ci> Y48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y48"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X48 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_48" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X48"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X48 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49" stoichiometry="2"/>
+          <speciesReference species="Y49"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X49" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X49 </ci>
+              <ci> X49 </ci>
+              <ci> Y49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y49"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X49 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_49" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X49"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X49 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50" stoichiometry="2"/>
+          <speciesReference species="Y50"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X50" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X50 </ci>
+              <ci> X50 </ci>
+              <ci> Y50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y50"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X50 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_50" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X50"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X50 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51" stoichiometry="2"/>
+          <speciesReference species="Y51"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X51" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X51 </ci>
+              <ci> X51 </ci>
+              <ci> Y51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y51"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X51 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_51" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X51"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X51 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52" stoichiometry="2"/>
+          <speciesReference species="Y52"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X52" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X52 </ci>
+              <ci> X52 </ci>
+              <ci> Y52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y52"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X52 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_52" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X52"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X52 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53" stoichiometry="2"/>
+          <speciesReference species="Y53"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X53" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X53 </ci>
+              <ci> X53 </ci>
+              <ci> Y53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y53"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X53 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_53" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X53"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X53 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54" stoichiometry="2"/>
+          <speciesReference species="Y54"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X54" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X54 </ci>
+              <ci> X54 </ci>
+              <ci> Y54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y54"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X54 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_54" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X54"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X54 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55" stoichiometry="2"/>
+          <speciesReference species="Y55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X55" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X55 </ci>
+              <ci> X55 </ci>
+              <ci> Y55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y55"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X55 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_55" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X55"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X55 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56" stoichiometry="2"/>
+          <speciesReference species="Y56"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X56" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X56 </ci>
+              <ci> X56 </ci>
+              <ci> Y56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y56"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X56 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_56" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X56"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X56 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57" stoichiometry="2"/>
+          <speciesReference species="Y57"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X57" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X57 </ci>
+              <ci> X57 </ci>
+              <ci> Y57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y57"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X57 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_57" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X57"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X57 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58" stoichiometry="2"/>
+          <speciesReference species="Y58"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X58" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X58 </ci>
+              <ci> X58 </ci>
+              <ci> Y58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y58"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X58 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_58" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X58"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X58 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59" stoichiometry="2"/>
+          <speciesReference species="Y59"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X59" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X59 </ci>
+              <ci> X59 </ci>
+              <ci> Y59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y59"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X59 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_59" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X59"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X59 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60" stoichiometry="2"/>
+          <speciesReference species="Y60"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X60" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X60 </ci>
+              <ci> X60 </ci>
+              <ci> Y60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y60"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X60 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_60" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X60"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X60 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61" stoichiometry="2"/>
+          <speciesReference species="Y61"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X61" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X61 </ci>
+              <ci> X61 </ci>
+              <ci> Y61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y61"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X61 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_61" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X61"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X61 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62" stoichiometry="2"/>
+          <speciesReference species="Y62"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X62" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X62 </ci>
+              <ci> X62 </ci>
+              <ci> Y62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y62"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X62 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_62" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X62"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X62 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63" stoichiometry="2"/>
+          <speciesReference species="Y63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X63" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X63 </ci>
+              <ci> X63 </ci>
+              <ci> Y63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y63"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X63 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_63" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X63"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X63 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64" stoichiometry="2"/>
+          <speciesReference species="Y64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X64" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X64 </ci>
+              <ci> X64 </ci>
+              <ci> Y64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y64"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X64 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_64" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X64"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X64 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65" stoichiometry="2"/>
+          <speciesReference species="Y65"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X65" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X65 </ci>
+              <ci> X65 </ci>
+              <ci> Y65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y65"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X65 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_65" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X65"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X65 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66" stoichiometry="2"/>
+          <speciesReference species="Y66"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X66" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X66 </ci>
+              <ci> X66 </ci>
+              <ci> Y66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y66"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X66 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_66" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X66"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X66 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67" stoichiometry="2"/>
+          <speciesReference species="Y67"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X67" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X67 </ci>
+              <ci> X67 </ci>
+              <ci> Y67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y67"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X67 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_67" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X67"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X67 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68" stoichiometry="2"/>
+          <speciesReference species="Y68"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X68" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X68 </ci>
+              <ci> X68 </ci>
+              <ci> Y68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y68"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X68 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_68" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X68"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X68 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69" stoichiometry="2"/>
+          <speciesReference species="Y69"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X69" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X69 </ci>
+              <ci> X69 </ci>
+              <ci> Y69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y69"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X69 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_69" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X69"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X69 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70" stoichiometry="2"/>
+          <speciesReference species="Y70"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X70" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X70 </ci>
+              <ci> X70 </ci>
+              <ci> Y70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y70"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X70 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_70" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X70"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X70 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71" stoichiometry="2"/>
+          <speciesReference species="Y71"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X71" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X71 </ci>
+              <ci> X71 </ci>
+              <ci> Y71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y71"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X71 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_71" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X71"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X71 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72" stoichiometry="2"/>
+          <speciesReference species="Y72"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X72" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X72 </ci>
+              <ci> X72 </ci>
+              <ci> Y72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y72"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X72 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_72" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X72"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X72 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73" stoichiometry="2"/>
+          <speciesReference species="Y73"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X73" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X73 </ci>
+              <ci> X73 </ci>
+              <ci> Y73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y73"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X73 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_73" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X73"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X73 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74" stoichiometry="2"/>
+          <speciesReference species="Y74"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X74" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X74 </ci>
+              <ci> X74 </ci>
+              <ci> Y74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y74"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X74 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_74" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X74"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X74 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75" stoichiometry="2"/>
+          <speciesReference species="Y75"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X75" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X75 </ci>
+              <ci> X75 </ci>
+              <ci> Y75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y75"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X75 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_75" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X75"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X75 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76" stoichiometry="2"/>
+          <speciesReference species="Y76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X76" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X76 </ci>
+              <ci> X76 </ci>
+              <ci> Y76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y76"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X76 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_76" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X76"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X76 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77" stoichiometry="2"/>
+          <speciesReference species="Y77"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X77" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X77 </ci>
+              <ci> X77 </ci>
+              <ci> Y77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y77"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X77 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_77" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X77"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X77 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78" stoichiometry="2"/>
+          <speciesReference species="Y78"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X78" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X78 </ci>
+              <ci> X78 </ci>
+              <ci> Y78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y78"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X78 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_78" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X78"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X78 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79" stoichiometry="2"/>
+          <speciesReference species="Y79"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X79" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X79 </ci>
+              <ci> X79 </ci>
+              <ci> Y79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y79"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X79 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_79" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X79"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X79 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80" stoichiometry="2"/>
+          <speciesReference species="Y80"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X80" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X80 </ci>
+              <ci> X80 </ci>
+              <ci> Y80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y80"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X80 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_80" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X80"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X80 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81" stoichiometry="2"/>
+          <speciesReference species="Y81"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X81" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X81 </ci>
+              <ci> X81 </ci>
+              <ci> Y81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y81"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X81 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_81" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X81"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X81 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82" stoichiometry="2"/>
+          <speciesReference species="Y82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X82" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X82 </ci>
+              <ci> X82 </ci>
+              <ci> Y82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y82"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X82 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_82" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X82"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X82 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83" stoichiometry="2"/>
+          <speciesReference species="Y83"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X83" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X83 </ci>
+              <ci> X83 </ci>
+              <ci> Y83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y83"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X83 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_83" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X83"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X83 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84" stoichiometry="2"/>
+          <speciesReference species="Y84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X84" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X84 </ci>
+              <ci> X84 </ci>
+              <ci> Y84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y84"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X84 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_84" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X84"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X84 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85" stoichiometry="2"/>
+          <speciesReference species="Y85"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X85" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X85 </ci>
+              <ci> X85 </ci>
+              <ci> Y85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y85"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X85 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_85" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X85"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X85 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86" stoichiometry="2"/>
+          <speciesReference species="Y86"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X86" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X86 </ci>
+              <ci> X86 </ci>
+              <ci> Y86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y86"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X86 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_86" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X86"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X86 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87" stoichiometry="2"/>
+          <speciesReference species="Y87"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X87" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X87 </ci>
+              <ci> X87 </ci>
+              <ci> Y87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y87"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X87 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_87" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X87"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X87 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88" stoichiometry="2"/>
+          <speciesReference species="Y88"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X88" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X88 </ci>
+              <ci> X88 </ci>
+              <ci> Y88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y88"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X88 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_88" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X88"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X88 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89" stoichiometry="2"/>
+          <speciesReference species="Y89"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X89" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X89 </ci>
+              <ci> X89 </ci>
+              <ci> Y89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y89"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X89 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_89" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X89"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X89 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90" stoichiometry="2"/>
+          <speciesReference species="Y90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X90" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X90 </ci>
+              <ci> X90 </ci>
+              <ci> Y90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y90"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X90 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_90" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X90"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X90 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91" stoichiometry="2"/>
+          <speciesReference species="Y91"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X91" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X91 </ci>
+              <ci> X91 </ci>
+              <ci> Y91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y91"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X91 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_91" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X91"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X91 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92" stoichiometry="2"/>
+          <speciesReference species="Y92"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X92" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X92 </ci>
+              <ci> X92 </ci>
+              <ci> Y92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y92"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X92 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_92" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X92"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X92 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93" stoichiometry="2"/>
+          <speciesReference species="Y93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X93" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X93 </ci>
+              <ci> X93 </ci>
+              <ci> Y93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y93"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X93 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_93" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X93"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X93 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94" stoichiometry="2"/>
+          <speciesReference species="Y94"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X94" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X94 </ci>
+              <ci> X94 </ci>
+              <ci> Y94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y94"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X94 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_94" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X94"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X94 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95" stoichiometry="2"/>
+          <speciesReference species="Y95"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X95" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X95 </ci>
+              <ci> X95 </ci>
+              <ci> Y95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y95"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X95 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_95" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X95"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X95 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96" stoichiometry="2"/>
+          <speciesReference species="Y96"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X96" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X96 </ci>
+              <ci> X96 </ci>
+              <ci> Y96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y96"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X96 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_96" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X96"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X96 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97" stoichiometry="2"/>
+          <speciesReference species="Y97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X97" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X97 </ci>
+              <ci> X97 </ci>
+              <ci> Y97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y97"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X97 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_97" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X97"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X97 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98" stoichiometry="2"/>
+          <speciesReference species="Y98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X98" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X98 </ci>
+              <ci> X98 </ci>
+              <ci> Y98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y98"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X98 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_98" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X98"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X98 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99" stoichiometry="2"/>
+          <speciesReference species="Y99"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X99" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X99 </ci>
+              <ci> X99 </ci>
+              <ci> Y99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y99"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X99 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_99" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X99"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X99 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100" stoichiometry="2"/>
+          <speciesReference species="Y100"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X100" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X100 </ci>
+              <ci> X100 </ci>
+              <ci> Y100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y100"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X100 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_100" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X100"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X100 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101" stoichiometry="2"/>
+          <speciesReference species="Y101"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X101" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X101 </ci>
+              <ci> X101 </ci>
+              <ci> Y101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y101"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X101 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_101" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X101"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X101 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102" stoichiometry="2"/>
+          <speciesReference species="Y102"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X102" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X102 </ci>
+              <ci> X102 </ci>
+              <ci> Y102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y102"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X102 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_102" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X102"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X102 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103" stoichiometry="2"/>
+          <speciesReference species="Y103"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X103" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X103 </ci>
+              <ci> X103 </ci>
+              <ci> Y103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y103"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X103 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_103" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X103"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X103 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104" stoichiometry="2"/>
+          <speciesReference species="Y104"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X104" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X104 </ci>
+              <ci> X104 </ci>
+              <ci> Y104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y104"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X104 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X104"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X104 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105" stoichiometry="2"/>
+          <speciesReference species="Y105"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X105" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X105 </ci>
+              <ci> X105 </ci>
+              <ci> Y105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y105"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X105 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_105" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X105"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X105 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106" stoichiometry="2"/>
+          <speciesReference species="Y106"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X106" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X106 </ci>
+              <ci> X106 </ci>
+              <ci> Y106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y106"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X106 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_106" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X106"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X106 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107" stoichiometry="2"/>
+          <speciesReference species="Y107"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X107" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X107 </ci>
+              <ci> X107 </ci>
+              <ci> Y107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y107"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X107 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_107" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X107"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X107 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108" stoichiometry="2"/>
+          <speciesReference species="Y108"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X108" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X108 </ci>
+              <ci> X108 </ci>
+              <ci> Y108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y108"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X108 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_108" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X108"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X108 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109" stoichiometry="2"/>
+          <speciesReference species="Y109"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X109" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X109 </ci>
+              <ci> X109 </ci>
+              <ci> Y109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y109"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X109 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_109" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X109"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X109 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110" stoichiometry="2"/>
+          <speciesReference species="Y110"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X110" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X110 </ci>
+              <ci> X110 </ci>
+              <ci> Y110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y110"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X110 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_110" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X110"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X110 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111" stoichiometry="2"/>
+          <speciesReference species="Y111"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X111" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X111 </ci>
+              <ci> X111 </ci>
+              <ci> Y111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y111"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X111 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_111" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X111"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X111 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112" stoichiometry="2"/>
+          <speciesReference species="Y112"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X112" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X112 </ci>
+              <ci> X112 </ci>
+              <ci> Y112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y112"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X112 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_112" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X112"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X112 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113" stoichiometry="2"/>
+          <speciesReference species="Y113"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X113" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X113 </ci>
+              <ci> X113 </ci>
+              <ci> Y113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y113"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X113 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_113" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X113"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X113 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114" stoichiometry="2"/>
+          <speciesReference species="Y114"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X114" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X114 </ci>
+              <ci> X114 </ci>
+              <ci> Y114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y114"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X114 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_114" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X114"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X114 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115" stoichiometry="2"/>
+          <speciesReference species="Y115"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X115" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X115 </ci>
+              <ci> X115 </ci>
+              <ci> Y115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y115"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X115 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_115" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X115"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X115 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116" stoichiometry="2"/>
+          <speciesReference species="Y116"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X116" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X116 </ci>
+              <ci> X116 </ci>
+              <ci> Y116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y116"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X116 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_116" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X116"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X116 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117" stoichiometry="2"/>
+          <speciesReference species="Y117"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X117" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X117 </ci>
+              <ci> X117 </ci>
+              <ci> Y117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y117"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X117 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_117" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X117"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X117 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118" stoichiometry="2"/>
+          <speciesReference species="Y118"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X118" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X118 </ci>
+              <ci> X118 </ci>
+              <ci> Y118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y118"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X118 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_118" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X118"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X118 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119" stoichiometry="2"/>
+          <speciesReference species="Y119"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X119" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X119 </ci>
+              <ci> X119 </ci>
+              <ci> Y119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y119"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X119 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_119" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X119"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X119 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120" stoichiometry="2"/>
+          <speciesReference species="Y120"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X120" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X120 </ci>
+              <ci> X120 </ci>
+              <ci> Y120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y120"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X120 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_120" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X120"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X120 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121" stoichiometry="2"/>
+          <speciesReference species="Y121"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X121" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X121 </ci>
+              <ci> X121 </ci>
+              <ci> Y121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y121"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X121 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_121" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X121"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X121 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122" stoichiometry="2"/>
+          <speciesReference species="Y122"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X122" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X122 </ci>
+              <ci> X122 </ci>
+              <ci> Y122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y122"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X122 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_122" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X122"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X122 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123" stoichiometry="2"/>
+          <speciesReference species="Y123"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X123" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X123 </ci>
+              <ci> X123 </ci>
+              <ci> Y123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y123"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X123 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_123" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X123"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X123 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124" stoichiometry="2"/>
+          <speciesReference species="Y124"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X124" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X124 </ci>
+              <ci> X124 </ci>
+              <ci> Y124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y124"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X124 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_124" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X124"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X124 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125" stoichiometry="2"/>
+          <speciesReference species="Y125"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X125" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X125 </ci>
+              <ci> X125 </ci>
+              <ci> Y125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y125"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X125 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X125"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X125 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126" stoichiometry="2"/>
+          <speciesReference species="Y126"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X126" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X126 </ci>
+              <ci> X126 </ci>
+              <ci> Y126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y126"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X126 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_126" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X126"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X126 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127" stoichiometry="2"/>
+          <speciesReference species="Y127"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X127" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X127 </ci>
+              <ci> X127 </ci>
+              <ci> Y127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y127"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X127 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_127" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X127"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X127 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128" stoichiometry="2"/>
+          <speciesReference species="Y128"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X128" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X128 </ci>
+              <ci> X128 </ci>
+              <ci> Y128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y128"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X128 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_128" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X128"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X128 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129" stoichiometry="2"/>
+          <speciesReference species="Y129"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X129" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X129 </ci>
+              <ci> X129 </ci>
+              <ci> Y129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y129"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X129 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_129" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X129"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X129 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130" stoichiometry="2"/>
+          <speciesReference species="Y130"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X130" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X130 </ci>
+              <ci> X130 </ci>
+              <ci> Y130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y130"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X130 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_130" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X130"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X130 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131" stoichiometry="2"/>
+          <speciesReference species="Y131"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X131" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X131 </ci>
+              <ci> X131 </ci>
+              <ci> Y131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y131"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X131 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_131" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X131"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X131 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132" stoichiometry="2"/>
+          <speciesReference species="Y132"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X132" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X132 </ci>
+              <ci> X132 </ci>
+              <ci> Y132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y132"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X132 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_132" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X132"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X132 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133" stoichiometry="2"/>
+          <speciesReference species="Y133"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X133" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X133 </ci>
+              <ci> X133 </ci>
+              <ci> Y133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y133"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X133 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_133" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X133"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X133 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134" stoichiometry="2"/>
+          <speciesReference species="Y134"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X134" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X134 </ci>
+              <ci> X134 </ci>
+              <ci> Y134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y134"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X134 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_134" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X134"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X134 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135" stoichiometry="2"/>
+          <speciesReference species="Y135"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X135" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X135 </ci>
+              <ci> X135 </ci>
+              <ci> Y135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y135"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X135 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_135" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X135"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X135 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136" stoichiometry="2"/>
+          <speciesReference species="Y136"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X136" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X136 </ci>
+              <ci> X136 </ci>
+              <ci> Y136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y136"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X136 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_136" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X136"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X136 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137" stoichiometry="2"/>
+          <speciesReference species="Y137"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X137" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X137 </ci>
+              <ci> X137 </ci>
+              <ci> Y137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y137"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X137 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_137" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X137"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X137 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138" stoichiometry="2"/>
+          <speciesReference species="Y138"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X138" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X138 </ci>
+              <ci> X138 </ci>
+              <ci> Y138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y138"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X138 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_138" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X138"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X138 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139" stoichiometry="2"/>
+          <speciesReference species="Y139"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X139" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X139 </ci>
+              <ci> X139 </ci>
+              <ci> Y139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y139"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X139 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_139" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X139"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X139 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140" stoichiometry="2"/>
+          <speciesReference species="Y140"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X140" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X140 </ci>
+              <ci> X140 </ci>
+              <ci> Y140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y140"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X140 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_140" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X140"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X140 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141" stoichiometry="2"/>
+          <speciesReference species="Y141"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X141" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X141 </ci>
+              <ci> X141 </ci>
+              <ci> Y141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y141"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X141 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_141" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X141"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X141 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142" stoichiometry="2"/>
+          <speciesReference species="Y142"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X142" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X142 </ci>
+              <ci> X142 </ci>
+              <ci> Y142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y142"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X142 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_142" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X142"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X142 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143" stoichiometry="2"/>
+          <speciesReference species="Y143"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X143" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X143 </ci>
+              <ci> X143 </ci>
+              <ci> Y143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y143"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X143 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_143" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X143"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X143 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144" stoichiometry="2"/>
+          <speciesReference species="Y144"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X144" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X144 </ci>
+              <ci> X144 </ci>
+              <ci> Y144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y144"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X144 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_144" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X144"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X144 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145" stoichiometry="2"/>
+          <speciesReference species="Y145"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X145" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X145 </ci>
+              <ci> X145 </ci>
+              <ci> Y145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y145"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X145 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X145"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X145 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146" stoichiometry="2"/>
+          <speciesReference species="Y146"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X146" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X146 </ci>
+              <ci> X146 </ci>
+              <ci> Y146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y146"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X146 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_146" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X146"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X146 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147" stoichiometry="2"/>
+          <speciesReference species="Y147"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X147" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X147 </ci>
+              <ci> X147 </ci>
+              <ci> Y147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y147"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X147 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_147" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X147"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X147 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148" stoichiometry="2"/>
+          <speciesReference species="Y148"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X148" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X148 </ci>
+              <ci> X148 </ci>
+              <ci> Y148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y148"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X148 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_148" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X148"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X148 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149" stoichiometry="2"/>
+          <speciesReference species="Y149"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X149" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X149 </ci>
+              <ci> X149 </ci>
+              <ci> Y149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y149"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X149 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_149" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X149"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X149 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150" stoichiometry="2"/>
+          <speciesReference species="Y150"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X150" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X150 </ci>
+              <ci> X150 </ci>
+              <ci> Y150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y150"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X150 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_150" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X150"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X150 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151" stoichiometry="2"/>
+          <speciesReference species="Y151"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X151" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X151 </ci>
+              <ci> X151 </ci>
+              <ci> Y151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y151"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X151 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_151" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X151"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X151 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152" stoichiometry="2"/>
+          <speciesReference species="Y152"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X152" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X152 </ci>
+              <ci> X152 </ci>
+              <ci> Y152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y152"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X152 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_152" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X152"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X152 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153" stoichiometry="2"/>
+          <speciesReference species="Y153"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X153" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X153 </ci>
+              <ci> X153 </ci>
+              <ci> Y153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y153"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X153 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_153" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X153"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X153 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154" stoichiometry="2"/>
+          <speciesReference species="Y154"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X154" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X154 </ci>
+              <ci> X154 </ci>
+              <ci> Y154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y154"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X154 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_154" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X154"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X154 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155" stoichiometry="2"/>
+          <speciesReference species="Y155"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X155" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X155 </ci>
+              <ci> X155 </ci>
+              <ci> Y155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y155"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X155 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X155"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X155 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156" stoichiometry="2"/>
+          <speciesReference species="Y156"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X156" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X156 </ci>
+              <ci> X156 </ci>
+              <ci> Y156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y156"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X156 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_156" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X156"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X156 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157" stoichiometry="2"/>
+          <speciesReference species="Y157"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X157" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X157 </ci>
+              <ci> X157 </ci>
+              <ci> Y157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y157"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X157 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_157" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X157"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X157 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158" stoichiometry="2"/>
+          <speciesReference species="Y158"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X158" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X158 </ci>
+              <ci> X158 </ci>
+              <ci> Y158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y158"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X158 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_158" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X158"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X158 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159" stoichiometry="2"/>
+          <speciesReference species="Y159"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X159" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X159 </ci>
+              <ci> X159 </ci>
+              <ci> Y159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y159"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X159 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_159" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X159"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X159 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160" stoichiometry="2"/>
+          <speciesReference species="Y160"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X160" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X160 </ci>
+              <ci> X160 </ci>
+              <ci> Y160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y160"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X160 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_160" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X160"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X160 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161" stoichiometry="2"/>
+          <speciesReference species="Y161"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X161" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X161 </ci>
+              <ci> X161 </ci>
+              <ci> Y161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y161"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X161 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_161" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X161"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X161 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162" stoichiometry="2"/>
+          <speciesReference species="Y162"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X162" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X162 </ci>
+              <ci> X162 </ci>
+              <ci> Y162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y162"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X162 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_162" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X162"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X162 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163" stoichiometry="2"/>
+          <speciesReference species="Y163"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X163" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X163 </ci>
+              <ci> X163 </ci>
+              <ci> Y163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y163"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X163 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_163" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X163"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X163 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164" stoichiometry="2"/>
+          <speciesReference species="Y164"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X164" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X164 </ci>
+              <ci> X164 </ci>
+              <ci> Y164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y164"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X164 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_164" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X164"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X164 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165" stoichiometry="2"/>
+          <speciesReference species="Y165"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X165" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X165 </ci>
+              <ci> X165 </ci>
+              <ci> Y165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y165"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X165 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_165" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X165"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X165 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166" stoichiometry="2"/>
+          <speciesReference species="Y166"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X166" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X166 </ci>
+              <ci> X166 </ci>
+              <ci> Y166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y166"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X166 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_166" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X166"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X166 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167" stoichiometry="2"/>
+          <speciesReference species="Y167"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X167" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X167 </ci>
+              <ci> X167 </ci>
+              <ci> Y167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y167"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X167 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_167" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X167"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X167 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168" stoichiometry="2"/>
+          <speciesReference species="Y168"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X168" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X168 </ci>
+              <ci> X168 </ci>
+              <ci> Y168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y168"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X168 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_168" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X168"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X168 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169" stoichiometry="2"/>
+          <speciesReference species="Y169"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X169" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X169 </ci>
+              <ci> X169 </ci>
+              <ci> Y169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y169"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X169 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_169" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X169"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X169 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170" stoichiometry="2"/>
+          <speciesReference species="Y170"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X170" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X170 </ci>
+              <ci> X170 </ci>
+              <ci> Y170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y170"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X170 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_170" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X170"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X170 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171" stoichiometry="2"/>
+          <speciesReference species="Y171"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X171" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X171 </ci>
+              <ci> X171 </ci>
+              <ci> Y171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y171"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X171 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_171" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X171"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X171 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172" stoichiometry="2"/>
+          <speciesReference species="Y172"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X172" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X172 </ci>
+              <ci> X172 </ci>
+              <ci> Y172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y172"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X172 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_172" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X172"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X172 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173" stoichiometry="2"/>
+          <speciesReference species="Y173"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X173" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X173 </ci>
+              <ci> X173 </ci>
+              <ci> Y173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y173"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X173 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_173" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X173"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X173 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174" stoichiometry="2"/>
+          <speciesReference species="Y174"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X174" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X174 </ci>
+              <ci> X174 </ci>
+              <ci> Y174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y174"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X174 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_174" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X174"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X174 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175" stoichiometry="2"/>
+          <speciesReference species="Y175"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X175" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X175 </ci>
+              <ci> X175 </ci>
+              <ci> Y175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y175"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X175 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X175"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X175 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176" stoichiometry="2"/>
+          <speciesReference species="Y176"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X176" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X176 </ci>
+              <ci> X176 </ci>
+              <ci> Y176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y176"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X176 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_176" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X176"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X176 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177" stoichiometry="2"/>
+          <speciesReference species="Y177"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X177" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X177 </ci>
+              <ci> X177 </ci>
+              <ci> Y177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y177"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X177 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_177" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X177"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X177 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178" stoichiometry="2"/>
+          <speciesReference species="Y178"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X178" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X178 </ci>
+              <ci> X178 </ci>
+              <ci> Y178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y178"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X178 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_178" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X178"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X178 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179" stoichiometry="2"/>
+          <speciesReference species="Y179"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X179" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X179 </ci>
+              <ci> X179 </ci>
+              <ci> Y179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y179"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X179 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_179" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X179"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X179 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180" stoichiometry="2"/>
+          <speciesReference species="Y180"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X180" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X180 </ci>
+              <ci> X180 </ci>
+              <ci> Y180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y180"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X180 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_180" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X180"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X180 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181" stoichiometry="2"/>
+          <speciesReference species="Y181"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X181" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X181 </ci>
+              <ci> X181 </ci>
+              <ci> Y181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y181"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X181 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_181" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X181"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X181 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182" stoichiometry="2"/>
+          <speciesReference species="Y182"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X182" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X182 </ci>
+              <ci> X182 </ci>
+              <ci> Y182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y182"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X182 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_182" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X182"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X182 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183" stoichiometry="2"/>
+          <speciesReference species="Y183"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X183" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X183 </ci>
+              <ci> X183 </ci>
+              <ci> Y183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y183"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X183 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_183" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X183"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X183 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184" stoichiometry="2"/>
+          <speciesReference species="Y184"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X184" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X184 </ci>
+              <ci> X184 </ci>
+              <ci> Y184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y184"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X184 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_184" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X184"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X184 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185" stoichiometry="2"/>
+          <speciesReference species="Y185"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X185" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X185 </ci>
+              <ci> X185 </ci>
+              <ci> Y185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y185"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X185 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_185" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X185"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X185 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186" stoichiometry="2"/>
+          <speciesReference species="Y186"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X186" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X186 </ci>
+              <ci> X186 </ci>
+              <ci> Y186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y186"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X186 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_186" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X186"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X186 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187" stoichiometry="2"/>
+          <speciesReference species="Y187"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X187" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X187 </ci>
+              <ci> X187 </ci>
+              <ci> Y187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y187"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X187 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_187" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X187"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X187 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188" stoichiometry="2"/>
+          <speciesReference species="Y188"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X188" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X188 </ci>
+              <ci> X188 </ci>
+              <ci> Y188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y188"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X188 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_188" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X188"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X188 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189" stoichiometry="2"/>
+          <speciesReference species="Y189"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X189" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X189 </ci>
+              <ci> X189 </ci>
+              <ci> Y189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y189"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X189 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_189" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X189"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X189 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190" stoichiometry="2"/>
+          <speciesReference species="Y190"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X190" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X190 </ci>
+              <ci> X190 </ci>
+              <ci> Y190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y190"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X190 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_190" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X190"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X190 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191" stoichiometry="2"/>
+          <speciesReference species="Y191"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X191" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X191 </ci>
+              <ci> X191 </ci>
+              <ci> Y191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y191"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X191 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_191" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X191"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X191 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192" stoichiometry="2"/>
+          <speciesReference species="Y192"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X192" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X192 </ci>
+              <ci> X192 </ci>
+              <ci> Y192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y192"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X192 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_192" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X192"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X192 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193" stoichiometry="2"/>
+          <speciesReference species="Y193"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X193" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X193 </ci>
+              <ci> X193 </ci>
+              <ci> Y193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y193"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X193 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_193" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X193"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X193 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194" stoichiometry="2"/>
+          <speciesReference species="Y194"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X194" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X194 </ci>
+              <ci> X194 </ci>
+              <ci> Y194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y194"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X194 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_194" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X194"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X194 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195" stoichiometry="2"/>
+          <speciesReference species="Y195"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X195" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X195 </ci>
+              <ci> X195 </ci>
+              <ci> Y195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y195"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X195 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_195" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X195"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X195 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196" stoichiometry="2"/>
+          <speciesReference species="Y196"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X196" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X196 </ci>
+              <ci> X196 </ci>
+              <ci> Y196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y196"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X196 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_196" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X196"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X196 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197" stoichiometry="2"/>
+          <speciesReference species="Y197"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X197" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X197 </ci>
+              <ci> X197 </ci>
+              <ci> Y197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y197"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X197 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_197" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X197"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X197 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198" stoichiometry="2"/>
+          <speciesReference species="Y198"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X198" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X198 </ci>
+              <ci> X198 </ci>
+              <ci> Y198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y198"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X198 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_198" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X198"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X198 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199" stoichiometry="2"/>
+          <speciesReference species="Y199"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X199" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X199 </ci>
+              <ci> X199 </ci>
+              <ci> Y199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y199"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X199 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X199"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X199 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200" stoichiometry="2"/>
+          <speciesReference species="Y200"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X200" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X200 </ci>
+              <ci> X200 </ci>
+              <ci> Y200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y200"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X200 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_200" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X200"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X200 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201" stoichiometry="2"/>
+          <speciesReference species="Y201"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X201" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X201 </ci>
+              <ci> X201 </ci>
+              <ci> Y201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y201"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X201 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_201" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X201"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X201 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202" stoichiometry="2"/>
+          <speciesReference species="Y202"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X202" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X202 </ci>
+              <ci> X202 </ci>
+              <ci> Y202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y202"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X202 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_202" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X202"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X202 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203" stoichiometry="2"/>
+          <speciesReference species="Y203"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X203" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X203 </ci>
+              <ci> X203 </ci>
+              <ci> Y203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y203"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X203 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_203" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X203"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X203 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204" stoichiometry="2"/>
+          <speciesReference species="Y204"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X204" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X204 </ci>
+              <ci> X204 </ci>
+              <ci> Y204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y204"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X204 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_204" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X204"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X204 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205" stoichiometry="2"/>
+          <speciesReference species="Y205"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X205" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X205 </ci>
+              <ci> X205 </ci>
+              <ci> Y205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y205"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X205 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_205" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X205"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X205 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206" stoichiometry="2"/>
+          <speciesReference species="Y206"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X206" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X206 </ci>
+              <ci> X206 </ci>
+              <ci> Y206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y206"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X206 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_206" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X206"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X206 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207" stoichiometry="2"/>
+          <speciesReference species="Y207"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X207" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X207 </ci>
+              <ci> X207 </ci>
+              <ci> Y207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y207"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X207 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_207" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X207"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X207 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208" stoichiometry="2"/>
+          <speciesReference species="Y208"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X208" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X208 </ci>
+              <ci> X208 </ci>
+              <ci> Y208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y208"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X208 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_208" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X208"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X208 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209" stoichiometry="2"/>
+          <speciesReference species="Y209"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X209" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X209 </ci>
+              <ci> X209 </ci>
+              <ci> Y209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y209"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X209 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_209" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X209"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X209 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210" stoichiometry="2"/>
+          <speciesReference species="Y210"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X210" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X210 </ci>
+              <ci> X210 </ci>
+              <ci> Y210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y210"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X210 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_210" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X210"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X210 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211" stoichiometry="2"/>
+          <speciesReference species="Y211"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X211" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X211 </ci>
+              <ci> X211 </ci>
+              <ci> Y211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y211"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X211 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_211" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X211"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X211 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212" stoichiometry="2"/>
+          <speciesReference species="Y212"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X212" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X212 </ci>
+              <ci> X212 </ci>
+              <ci> Y212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y212"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X212 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_212" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X212"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X212 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213" stoichiometry="2"/>
+          <speciesReference species="Y213"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X213" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X213 </ci>
+              <ci> X213 </ci>
+              <ci> Y213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y213"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X213 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_213" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X213"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X213 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214" stoichiometry="2"/>
+          <speciesReference species="Y214"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X214" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X214 </ci>
+              <ci> X214 </ci>
+              <ci> Y214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y214"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X214 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_214" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X214"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X214 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215" stoichiometry="2"/>
+          <speciesReference species="Y215"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X215" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X215 </ci>
+              <ci> X215 </ci>
+              <ci> Y215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y215"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X215 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_215" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X215"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X215 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216" stoichiometry="2"/>
+          <speciesReference species="Y216"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X216" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X216 </ci>
+              <ci> X216 </ci>
+              <ci> Y216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y216"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X216 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X216"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X216 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217" stoichiometry="2"/>
+          <speciesReference species="Y217"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X217" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X217 </ci>
+              <ci> X217 </ci>
+              <ci> Y217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y217"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X217 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_217" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X217"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X217 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218" stoichiometry="2"/>
+          <speciesReference species="Y218"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X218" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X218 </ci>
+              <ci> X218 </ci>
+              <ci> Y218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y218"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X218 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_218" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X218"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X218 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219" stoichiometry="2"/>
+          <speciesReference species="Y219"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X219" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X219 </ci>
+              <ci> X219 </ci>
+              <ci> Y219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y219"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X219 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_219" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X219"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X219 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220" stoichiometry="2"/>
+          <speciesReference species="Y220"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X220" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X220 </ci>
+              <ci> X220 </ci>
+              <ci> Y220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y220"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X220 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_220" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X220"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X220 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221" stoichiometry="2"/>
+          <speciesReference species="Y221"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X221" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X221 </ci>
+              <ci> X221 </ci>
+              <ci> Y221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y221"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X221 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_221" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X221"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X221 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222" stoichiometry="2"/>
+          <speciesReference species="Y222"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X222" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X222 </ci>
+              <ci> X222 </ci>
+              <ci> Y222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y222"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X222 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_222" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X222"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X222 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223" stoichiometry="2"/>
+          <speciesReference species="Y223"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X223" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X223 </ci>
+              <ci> X223 </ci>
+              <ci> Y223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y223"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X223 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_223" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X223"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X223 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224" stoichiometry="2"/>
+          <speciesReference species="Y224"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X224" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X224 </ci>
+              <ci> X224 </ci>
+              <ci> Y224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y224"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X224 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_224" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X224"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X224 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225" stoichiometry="2"/>
+          <speciesReference species="Y225"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X225" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X225 </ci>
+              <ci> X225 </ci>
+              <ci> Y225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y225"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X225 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_225" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X225"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X225 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226" stoichiometry="2"/>
+          <speciesReference species="Y226"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X226" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X226 </ci>
+              <ci> X226 </ci>
+              <ci> Y226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y226"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X226 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X226"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X226 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227" stoichiometry="2"/>
+          <speciesReference species="Y227"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X227" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X227 </ci>
+              <ci> X227 </ci>
+              <ci> Y227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y227"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X227 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_227" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X227"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X227 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228" stoichiometry="2"/>
+          <speciesReference species="Y228"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X228" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X228 </ci>
+              <ci> X228 </ci>
+              <ci> Y228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y228"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X228 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_228" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X228"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X228 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229" stoichiometry="2"/>
+          <speciesReference species="Y229"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X229" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X229 </ci>
+              <ci> X229 </ci>
+              <ci> Y229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y229"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X229 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_229" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X229"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X229 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230" stoichiometry="2"/>
+          <speciesReference species="Y230"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X230" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X230 </ci>
+              <ci> X230 </ci>
+              <ci> Y230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y230"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X230 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_230" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X230"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X230 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231" stoichiometry="2"/>
+          <speciesReference species="Y231"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X231" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X231 </ci>
+              <ci> X231 </ci>
+              <ci> Y231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y231"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X231 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_231" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X231"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X231 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232" stoichiometry="2"/>
+          <speciesReference species="Y232"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X232" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X232 </ci>
+              <ci> X232 </ci>
+              <ci> Y232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y232"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X232 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_232" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X232"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X232 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233" stoichiometry="2"/>
+          <speciesReference species="Y233"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X233" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X233 </ci>
+              <ci> X233 </ci>
+              <ci> Y233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y233"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X233 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_233" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X233"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X233 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234" stoichiometry="2"/>
+          <speciesReference species="Y234"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X234" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X234 </ci>
+              <ci> X234 </ci>
+              <ci> Y234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y234"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X234 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_234" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X234"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X234 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235" stoichiometry="2"/>
+          <speciesReference species="Y235"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X235" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X235 </ci>
+              <ci> X235 </ci>
+              <ci> Y235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y235"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X235 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X235"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X235 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236" stoichiometry="2"/>
+          <speciesReference species="Y236"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X236" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X236 </ci>
+              <ci> X236 </ci>
+              <ci> Y236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y236"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X236 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_236" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X236"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X236 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237" stoichiometry="2"/>
+          <speciesReference species="Y237"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X237" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X237 </ci>
+              <ci> X237 </ci>
+              <ci> Y237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y237"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X237 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_237" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X237"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X237 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238" stoichiometry="2"/>
+          <speciesReference species="Y238"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X238" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X238 </ci>
+              <ci> X238 </ci>
+              <ci> Y238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y238"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X238 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_238" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X238"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X238 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239" stoichiometry="2"/>
+          <speciesReference species="Y239"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X239" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X239 </ci>
+              <ci> X239 </ci>
+              <ci> Y239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y239"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X239 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_239" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X239"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X239 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240" stoichiometry="2"/>
+          <speciesReference species="Y240"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X240" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X240 </ci>
+              <ci> X240 </ci>
+              <ci> Y240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y240"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X240 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_240" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X240"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X240 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241" stoichiometry="2"/>
+          <speciesReference species="Y241"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X241" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X241 </ci>
+              <ci> X241 </ci>
+              <ci> Y241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y241"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X241 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_241" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X241"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X241 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242" stoichiometry="2"/>
+          <speciesReference species="Y242"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X242" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X242 </ci>
+              <ci> X242 </ci>
+              <ci> Y242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y242"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X242 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_242" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X242"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X242 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243" stoichiometry="2"/>
+          <speciesReference species="Y243"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X243" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X243 </ci>
+              <ci> X243 </ci>
+              <ci> Y243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y243"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X243 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_243" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X243"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X243 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244" stoichiometry="2"/>
+          <speciesReference species="Y244"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X244" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X244 </ci>
+              <ci> X244 </ci>
+              <ci> Y244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y244"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X244 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_244" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X244"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X244 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245" stoichiometry="2"/>
+          <speciesReference species="Y245"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X245" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X245 </ci>
+              <ci> X245 </ci>
+              <ci> Y245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y245"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X245 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_245" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X245"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X245 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246" stoichiometry="2"/>
+          <speciesReference species="Y246"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X246" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X246 </ci>
+              <ci> X246 </ci>
+              <ci> Y246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y246"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X246 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X246"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X246 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247" stoichiometry="2"/>
+          <speciesReference species="Y247"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X247" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X247 </ci>
+              <ci> X247 </ci>
+              <ci> Y247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y247"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X247 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_247" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X247"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X247 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248" stoichiometry="2"/>
+          <speciesReference species="Y248"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X248" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X248 </ci>
+              <ci> X248 </ci>
+              <ci> Y248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y248"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X248 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_248" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X248"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X248 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249" stoichiometry="2"/>
+          <speciesReference species="Y249"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X249" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X249 </ci>
+              <ci> X249 </ci>
+              <ci> Y249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y249"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X249 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_249" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X249"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X249 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250" stoichiometry="2"/>
+          <speciesReference species="Y250"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X250" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X250 </ci>
+              <ci> X250 </ci>
+              <ci> Y250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y250"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X250 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_250" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X250"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X250 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X251"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251" stoichiometry="2"/>
+          <speciesReference species="Y251"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X251" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X251 </ci>
+              <ci> X251 </ci>
+              <ci> Y251 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y251"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X251 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_251" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X251"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X251 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X252"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252" stoichiometry="2"/>
+          <speciesReference species="Y252"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X252" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X252 </ci>
+              <ci> X252 </ci>
+              <ci> Y252 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y252"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X252 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_252" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X252"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X252 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X253"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253" stoichiometry="2"/>
+          <speciesReference species="Y253"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X253" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X253 </ci>
+              <ci> X253 </ci>
+              <ci> Y253 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y253"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X253 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_253" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X253"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X253 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X254"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254" stoichiometry="2"/>
+          <speciesReference species="Y254"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X254" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X254 </ci>
+              <ci> X254 </ci>
+              <ci> Y254 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y254"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X254 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_254" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X254"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X254 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X255"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255" stoichiometry="2"/>
+          <speciesReference species="Y255"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X255" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X255 </ci>
+              <ci> X255 </ci>
+              <ci> Y255 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y255"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X255 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X255"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X255 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X256"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256" stoichiometry="2"/>
+          <speciesReference species="Y256"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X256" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X256 </ci>
+              <ci> X256 </ci>
+              <ci> Y256 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y256"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X256 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_256" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X256"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X256 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X257"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257" stoichiometry="2"/>
+          <speciesReference species="Y257"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X257" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X257 </ci>
+              <ci> X257 </ci>
+              <ci> Y257 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y257"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X257 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_257" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X257"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X257 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X258"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258" stoichiometry="2"/>
+          <speciesReference species="Y258"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X258" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X258 </ci>
+              <ci> X258 </ci>
+              <ci> Y258 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y258"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X258 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_258" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X258"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X258 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X259"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259" stoichiometry="2"/>
+          <speciesReference species="Y259"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X259" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X259 </ci>
+              <ci> X259 </ci>
+              <ci> Y259 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y259"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X259 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_259" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X259"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X259 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X260"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260" stoichiometry="2"/>
+          <speciesReference species="Y260"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X260" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X260 </ci>
+              <ci> X260 </ci>
+              <ci> Y260 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y260"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X260 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_260" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X260"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X260 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X261"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261" stoichiometry="2"/>
+          <speciesReference species="Y261"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X261" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X261 </ci>
+              <ci> X261 </ci>
+              <ci> Y261 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y261"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X261 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_261" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X261"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X261 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X262"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262" stoichiometry="2"/>
+          <speciesReference species="Y262"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X262" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X262 </ci>
+              <ci> X262 </ci>
+              <ci> Y262 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y262"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X262 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_262" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X262"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X262 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X263"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263" stoichiometry="2"/>
+          <speciesReference species="Y263"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X263" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X263 </ci>
+              <ci> X263 </ci>
+              <ci> Y263 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y263"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X263 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_263" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X263"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X263 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X264"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264" stoichiometry="2"/>
+          <speciesReference species="Y264"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X264" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X264 </ci>
+              <ci> X264 </ci>
+              <ci> Y264 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y264"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X264 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X264"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X264 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X265"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265" stoichiometry="2"/>
+          <speciesReference species="Y265"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X265" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X265 </ci>
+              <ci> X265 </ci>
+              <ci> Y265 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y265"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X265 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_265" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X265"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X265 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X266"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266" stoichiometry="2"/>
+          <speciesReference species="Y266"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X266" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X266 </ci>
+              <ci> X266 </ci>
+              <ci> Y266 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y266"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X266 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_266" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X266"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X266 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X267"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267" stoichiometry="2"/>
+          <speciesReference species="Y267"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X267" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X267 </ci>
+              <ci> X267 </ci>
+              <ci> Y267 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y267"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X267 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_267" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X267"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X267 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X268"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268" stoichiometry="2"/>
+          <speciesReference species="Y268"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X268" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X268 </ci>
+              <ci> X268 </ci>
+              <ci> Y268 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y268"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X268 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_268" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X268"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X268 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X269"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269" stoichiometry="2"/>
+          <speciesReference species="Y269"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X269" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X269 </ci>
+              <ci> X269 </ci>
+              <ci> Y269 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y269"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X269 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_269" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X269"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X269 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X270"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270" stoichiometry="2"/>
+          <speciesReference species="Y270"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X270" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X270 </ci>
+              <ci> X270 </ci>
+              <ci> Y270 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y270"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X270 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_270" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X270"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X270 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X271"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271" stoichiometry="2"/>
+          <speciesReference species="Y271"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X271" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X271 </ci>
+              <ci> X271 </ci>
+              <ci> Y271 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y271"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X271 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_271" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X271"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X271 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X272"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272" stoichiometry="2"/>
+          <speciesReference species="Y272"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X272" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X272 </ci>
+              <ci> X272 </ci>
+              <ci> Y272 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y272"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X272 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_272" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X272"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X272 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X273"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273" stoichiometry="2"/>
+          <speciesReference species="Y273"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X273" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X273 </ci>
+              <ci> X273 </ci>
+              <ci> Y273 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y273"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X273 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_273" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X273"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X273 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X274"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274" stoichiometry="2"/>
+          <speciesReference species="Y274"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X274" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X274 </ci>
+              <ci> X274 </ci>
+              <ci> Y274 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y274"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X274 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_274" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X274"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X274 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X275"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275" stoichiometry="2"/>
+          <speciesReference species="Y275"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X275" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X275 </ci>
+              <ci> X275 </ci>
+              <ci> Y275 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y275"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X275 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_275" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X275"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X275 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X276"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276" stoichiometry="2"/>
+          <speciesReference species="Y276"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X276" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X276 </ci>
+              <ci> X276 </ci>
+              <ci> Y276 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y276"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X276 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_276" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X276"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X276 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X277"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277" stoichiometry="2"/>
+          <speciesReference species="Y277"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X277" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X277 </ci>
+              <ci> X277 </ci>
+              <ci> Y277 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y277"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X277 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_277" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X277"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X277 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X278"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278" stoichiometry="2"/>
+          <speciesReference species="Y278"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X278" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X278 </ci>
+              <ci> X278 </ci>
+              <ci> Y278 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y278"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X278 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_278" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X278"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X278 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X279"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279" stoichiometry="2"/>
+          <speciesReference species="Y279"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X279" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X279 </ci>
+              <ci> X279 </ci>
+              <ci> Y279 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y279"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X279 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_279" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X279"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X279 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X280"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280" stoichiometry="2"/>
+          <speciesReference species="Y280"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X280" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X280 </ci>
+              <ci> X280 </ci>
+              <ci> Y280 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y280"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X280 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_280" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X280"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X280 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X281"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281" stoichiometry="2"/>
+          <speciesReference species="Y281"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X281" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X281 </ci>
+              <ci> X281 </ci>
+              <ci> Y281 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y281"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X281 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_281" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X281"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X281 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X282"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282" stoichiometry="2"/>
+          <speciesReference species="Y282"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X282" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X282 </ci>
+              <ci> X282 </ci>
+              <ci> Y282 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y282"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X282 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_282" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X282"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X282 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X283"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283" stoichiometry="2"/>
+          <speciesReference species="Y283"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X283" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X283 </ci>
+              <ci> X283 </ci>
+              <ci> Y283 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y283"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X283 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_283" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X283"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X283 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X284"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284" stoichiometry="2"/>
+          <speciesReference species="Y284"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X284" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X284 </ci>
+              <ci> X284 </ci>
+              <ci> Y284 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y284"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X284 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_284" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X284"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X284 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X285"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285" stoichiometry="2"/>
+          <speciesReference species="Y285"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X285" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X285 </ci>
+              <ci> X285 </ci>
+              <ci> Y285 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y285"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X285 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X285"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X285 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X286"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286" stoichiometry="2"/>
+          <speciesReference species="Y286"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X286" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X286 </ci>
+              <ci> X286 </ci>
+              <ci> Y286 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y286"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X286 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_286" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X286"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X286 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X287"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287" stoichiometry="2"/>
+          <speciesReference species="Y287"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X287" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X287 </ci>
+              <ci> X287 </ci>
+              <ci> Y287 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y287"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X287 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_287" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X287"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X287 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X288"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288" stoichiometry="2"/>
+          <speciesReference species="Y288"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X288" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X288 </ci>
+              <ci> X288 </ci>
+              <ci> Y288 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y288"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X288 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_288" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X288"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X288 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X289"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289" stoichiometry="2"/>
+          <speciesReference species="Y289"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X289" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X289 </ci>
+              <ci> X289 </ci>
+              <ci> Y289 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y289"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X289 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_289" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X289"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X289 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X290"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290" stoichiometry="2"/>
+          <speciesReference species="Y290"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X290" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X290 </ci>
+              <ci> X290 </ci>
+              <ci> Y290 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y290"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X290 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_290" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X290"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X290 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X291"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291" stoichiometry="2"/>
+          <speciesReference species="Y291"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X291" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X291 </ci>
+              <ci> X291 </ci>
+              <ci> Y291 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y291"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X291 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_291" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X291"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X291 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X292"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292" stoichiometry="2"/>
+          <speciesReference species="Y292"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X292" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X292 </ci>
+              <ci> X292 </ci>
+              <ci> Y292 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y292"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X292 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_292" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X292"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X292 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X293"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293" stoichiometry="2"/>
+          <speciesReference species="Y293"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X293" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X293 </ci>
+              <ci> X293 </ci>
+              <ci> Y293 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y293"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X293 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_293" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X293"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X293 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X294"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294" stoichiometry="2"/>
+          <speciesReference species="Y294"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X294" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X294 </ci>
+              <ci> X294 </ci>
+              <ci> Y294 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y294"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X294 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_294" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X294"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X294 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X295"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295" stoichiometry="2"/>
+          <speciesReference species="Y295"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X295" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X295 </ci>
+              <ci> X295 </ci>
+              <ci> Y295 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y295"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X295 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X295"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X295 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X296"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296" stoichiometry="2"/>
+          <speciesReference species="Y296"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X296" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X296 </ci>
+              <ci> X296 </ci>
+              <ci> Y296 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y296"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X296 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_296" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X296"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X296 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X297"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297" stoichiometry="2"/>
+          <speciesReference species="Y297"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X297" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X297 </ci>
+              <ci> X297 </ci>
+              <ci> Y297 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y297"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X297 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_297" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X297"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X297 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X298"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298" stoichiometry="2"/>
+          <speciesReference species="Y298"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X298" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X298 </ci>
+              <ci> X298 </ci>
+              <ci> Y298 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y298"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X298 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_298" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X298"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X298 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X299"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299" stoichiometry="2"/>
+          <speciesReference species="Y299"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X299" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X299 </ci>
+              <ci> X299 </ci>
+              <ci> Y299 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y299"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X299 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_299" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X299"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X299 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X300"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300" stoichiometry="2"/>
+          <speciesReference species="Y300"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X300" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X300 </ci>
+              <ci> X300 </ci>
+              <ci> Y300 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y300"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X300 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_300" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X300"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X300 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X301"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301" stoichiometry="2"/>
+          <speciesReference species="Y301"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X301" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X301 </ci>
+              <ci> X301 </ci>
+              <ci> Y301 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y301"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X301 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_301" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X301"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X301 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X302"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302" stoichiometry="2"/>
+          <speciesReference species="Y302"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X302" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X302 </ci>
+              <ci> X302 </ci>
+              <ci> Y302 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y302"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X302 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_302" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X302"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X302 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X303"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303" stoichiometry="2"/>
+          <speciesReference species="Y303"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X303" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X303 </ci>
+              <ci> X303 </ci>
+              <ci> Y303 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y303"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X303 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_303" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X303"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X303 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X304"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304" stoichiometry="2"/>
+          <speciesReference species="Y304"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X304" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X304 </ci>
+              <ci> X304 </ci>
+              <ci> Y304 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y304"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X304 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_304" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X304"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X304 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X305"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305" stoichiometry="2"/>
+          <speciesReference species="Y305"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X305" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X305 </ci>
+              <ci> X305 </ci>
+              <ci> Y305 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y305"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X305 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_305" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X305"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X305 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X306"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306" stoichiometry="2"/>
+          <speciesReference species="Y306"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X306" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X306 </ci>
+              <ci> X306 </ci>
+              <ci> Y306 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y306"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X306 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_306" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X306"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X306 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X307"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307" stoichiometry="2"/>
+          <speciesReference species="Y307"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X307" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X307 </ci>
+              <ci> X307 </ci>
+              <ci> Y307 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y307"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X307 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_307" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X307"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X307 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X308"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308" stoichiometry="2"/>
+          <speciesReference species="Y308"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X308" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X308 </ci>
+              <ci> X308 </ci>
+              <ci> Y308 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y308"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X308 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_308" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X308"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X308 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X309"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309" stoichiometry="2"/>
+          <speciesReference species="Y309"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X309" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X309 </ci>
+              <ci> X309 </ci>
+              <ci> Y309 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y309"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X309 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_309" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X309"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X309 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X310"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310" stoichiometry="2"/>
+          <speciesReference species="Y310"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X310" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X310 </ci>
+              <ci> X310 </ci>
+              <ci> Y310 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y310"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X310 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_310" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X310"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X310 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X311"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311" stoichiometry="2"/>
+          <speciesReference species="Y311"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X311" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X311 </ci>
+              <ci> X311 </ci>
+              <ci> Y311 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y311"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X311 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_311" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X311"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X311 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X312"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312" stoichiometry="2"/>
+          <speciesReference species="Y312"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X312" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X312 </ci>
+              <ci> X312 </ci>
+              <ci> Y312 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y312"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X312 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_312" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X312"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X312 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X313"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313" stoichiometry="2"/>
+          <speciesReference species="Y313"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X313" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X313 </ci>
+              <ci> X313 </ci>
+              <ci> Y313 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y313"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X313 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_313" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X313"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X313 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X314"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314" stoichiometry="2"/>
+          <speciesReference species="Y314"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X314" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X314 </ci>
+              <ci> X314 </ci>
+              <ci> Y314 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y314"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X314 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_314" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X314"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X314 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X315"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315" stoichiometry="2"/>
+          <speciesReference species="Y315"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X315" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X315 </ci>
+              <ci> X315 </ci>
+              <ci> Y315 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y315"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X315 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X315"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X315 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X316"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316" stoichiometry="2"/>
+          <speciesReference species="Y316"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X316" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X316 </ci>
+              <ci> X316 </ci>
+              <ci> Y316 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y316"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X316 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_316" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X316"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X316 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X317"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317" stoichiometry="2"/>
+          <speciesReference species="Y317"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X317" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X317 </ci>
+              <ci> X317 </ci>
+              <ci> Y317 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y317"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X317 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_317" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X317"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X317 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X318"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318" stoichiometry="2"/>
+          <speciesReference species="Y318"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X318" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X318 </ci>
+              <ci> X318 </ci>
+              <ci> Y318 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y318"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X318 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_318" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X318"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X318 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X319"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319" stoichiometry="2"/>
+          <speciesReference species="Y319"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X319" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X319 </ci>
+              <ci> X319 </ci>
+              <ci> Y319 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y319"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X319 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_319" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X319"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X319 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X320"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320" stoichiometry="2"/>
+          <speciesReference species="Y320"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X320" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X320 </ci>
+              <ci> X320 </ci>
+              <ci> Y320 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y320"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X320 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_320" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X320"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X320 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X321"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321" stoichiometry="2"/>
+          <speciesReference species="Y321"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X321" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X321 </ci>
+              <ci> X321 </ci>
+              <ci> Y321 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y321"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X321 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_321" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X321"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X321 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X322"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322" stoichiometry="2"/>
+          <speciesReference species="Y322"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X322" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X322 </ci>
+              <ci> X322 </ci>
+              <ci> Y322 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y322"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X322 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_322" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X322"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X322 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X323"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323" stoichiometry="2"/>
+          <speciesReference species="Y323"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X323" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X323 </ci>
+              <ci> X323 </ci>
+              <ci> Y323 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y323"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X323 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_323" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X323"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X323 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X324"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324" stoichiometry="2"/>
+          <speciesReference species="Y324"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X324" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X324 </ci>
+              <ci> X324 </ci>
+              <ci> Y324 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y324"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X324 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_324" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X324"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X324 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X325"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325" stoichiometry="2"/>
+          <speciesReference species="Y325"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X325" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X325 </ci>
+              <ci> X325 </ci>
+              <ci> Y325 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y325"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X325 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_325" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X325"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X325 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X326"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326" stoichiometry="2"/>
+          <speciesReference species="Y326"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X326" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X326 </ci>
+              <ci> X326 </ci>
+              <ci> Y326 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y326"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X326 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_326" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X326"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X326 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X327"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327" stoichiometry="2"/>
+          <speciesReference species="Y327"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X327" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X327 </ci>
+              <ci> X327 </ci>
+              <ci> Y327 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y327"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X327 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_327" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X327"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X327 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X328"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328" stoichiometry="2"/>
+          <speciesReference species="Y328"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X328" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X328 </ci>
+              <ci> X328 </ci>
+              <ci> Y328 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y328"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X328 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_328" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X328"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X328 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X329"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329" stoichiometry="2"/>
+          <speciesReference species="Y329"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X329" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X329 </ci>
+              <ci> X329 </ci>
+              <ci> Y329 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y329"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X329 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_329" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X329"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X329 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X330"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330" stoichiometry="2"/>
+          <speciesReference species="Y330"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X330" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X330 </ci>
+              <ci> X330 </ci>
+              <ci> Y330 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y330"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X330 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_330" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X330"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X330 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X331"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331" stoichiometry="2"/>
+          <speciesReference species="Y331"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X331" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X331 </ci>
+              <ci> X331 </ci>
+              <ci> Y331 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y331"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X331 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_331" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X331"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X331 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X332"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332" stoichiometry="2"/>
+          <speciesReference species="Y332"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X332" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X332 </ci>
+              <ci> X332 </ci>
+              <ci> Y332 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y332"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X332 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_332" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X332"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X332 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X333"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333" stoichiometry="2"/>
+          <speciesReference species="Y333"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X333" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X333 </ci>
+              <ci> X333 </ci>
+              <ci> Y333 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y333"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X333 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_333" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X333"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X333 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X334"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334" stoichiometry="2"/>
+          <speciesReference species="Y334"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X334" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X334 </ci>
+              <ci> X334 </ci>
+              <ci> Y334 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y334"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X334 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_334" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X334"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X334 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X335"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335" stoichiometry="2"/>
+          <speciesReference species="Y335"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X335" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X335 </ci>
+              <ci> X335 </ci>
+              <ci> Y335 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y335"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X335 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_335" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X335"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X335 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X336"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336" stoichiometry="2"/>
+          <speciesReference species="Y336"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X336" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X336 </ci>
+              <ci> X336 </ci>
+              <ci> Y336 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y336"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X336 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_336" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X336"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X336 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X337"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337" stoichiometry="2"/>
+          <speciesReference species="Y337"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X337" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X337 </ci>
+              <ci> X337 </ci>
+              <ci> Y337 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y337"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X337 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_337" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X337"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X337 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X338"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338" stoichiometry="2"/>
+          <speciesReference species="Y338"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X338" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X338 </ci>
+              <ci> X338 </ci>
+              <ci> Y338 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y338"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X338 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X338"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X338 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X339"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339" stoichiometry="2"/>
+          <speciesReference species="Y339"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X339" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X339 </ci>
+              <ci> X339 </ci>
+              <ci> Y339 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y339"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X339 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_339" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X339"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X339 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X340"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340" stoichiometry="2"/>
+          <speciesReference species="Y340"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X340" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X340 </ci>
+              <ci> X340 </ci>
+              <ci> Y340 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y340"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X340 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_340" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X340"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X340 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X341"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341" stoichiometry="2"/>
+          <speciesReference species="Y341"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X341" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X341 </ci>
+              <ci> X341 </ci>
+              <ci> Y341 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y341"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X341 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_341" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X341"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X341 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X342"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342" stoichiometry="2"/>
+          <speciesReference species="Y342"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X342" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X342 </ci>
+              <ci> X342 </ci>
+              <ci> Y342 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y342"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X342 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_342" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X342"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X342 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X343"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343" stoichiometry="2"/>
+          <speciesReference species="Y343"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X343" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X343 </ci>
+              <ci> X343 </ci>
+              <ci> Y343 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y343"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X343 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_343" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X343"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X343 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X344"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344" stoichiometry="2"/>
+          <speciesReference species="Y344"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X344" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X344 </ci>
+              <ci> X344 </ci>
+              <ci> Y344 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y344"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X344 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_344" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X344"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X344 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X345"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345" stoichiometry="2"/>
+          <speciesReference species="Y345"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X345" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X345 </ci>
+              <ci> X345 </ci>
+              <ci> Y345 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y345"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X345 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_345" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X345"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X345 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X346"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346" stoichiometry="2"/>
+          <speciesReference species="Y346"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X346" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X346 </ci>
+              <ci> X346 </ci>
+              <ci> Y346 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y346"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X346 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_346" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X346"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X346 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X347"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347" stoichiometry="2"/>
+          <speciesReference species="Y347"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X347" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X347 </ci>
+              <ci> X347 </ci>
+              <ci> Y347 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y347"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X347 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_347" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X347"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X347 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X348"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348" stoichiometry="2"/>
+          <speciesReference species="Y348"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X348" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X348 </ci>
+              <ci> X348 </ci>
+              <ci> Y348 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y348"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X348 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_348" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X348"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X348 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X349"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349" stoichiometry="2"/>
+          <speciesReference species="Y349"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X349" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X349 </ci>
+              <ci> X349 </ci>
+              <ci> Y349 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y349"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X349 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_349" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X349"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X349 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X350"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350" stoichiometry="2"/>
+          <speciesReference species="Y350"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X350" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X350 </ci>
+              <ci> X350 </ci>
+              <ci> Y350 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y350"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X350 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_350" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X350"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X350 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X351"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X351" stoichiometry="2"/>
+          <speciesReference species="Y351"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X351" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X351 </ci>
+              <ci> X351 </ci>
+              <ci> Y351 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X351"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y351"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X351 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_351" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X351"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X351 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X352"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X352" stoichiometry="2"/>
+          <speciesReference species="Y352"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X352" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X352 </ci>
+              <ci> X352 </ci>
+              <ci> Y352 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X352"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y352"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X352 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_352" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X352"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X352 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X353"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X353" stoichiometry="2"/>
+          <speciesReference species="Y353"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X353" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X353 </ci>
+              <ci> X353 </ci>
+              <ci> Y353 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X353"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y353"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X353 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_353" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X353"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X353 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X354"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X354" stoichiometry="2"/>
+          <speciesReference species="Y354"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X354" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X354 </ci>
+              <ci> X354 </ci>
+              <ci> Y354 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X354"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y354"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X354 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_354" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X354"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X354 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X355"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X355" stoichiometry="2"/>
+          <speciesReference species="Y355"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X355" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X355 </ci>
+              <ci> X355 </ci>
+              <ci> Y355 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X355"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y355"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X355 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X355"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X355 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X356"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X356" stoichiometry="2"/>
+          <speciesReference species="Y356"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X356" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X356 </ci>
+              <ci> X356 </ci>
+              <ci> Y356 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X356"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y356"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X356 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_356" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X356"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X356 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X357"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X357" stoichiometry="2"/>
+          <speciesReference species="Y357"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X357" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X357 </ci>
+              <ci> X357 </ci>
+              <ci> Y357 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X357"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y357"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X357 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_357" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X357"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X357 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X358"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X358" stoichiometry="2"/>
+          <speciesReference species="Y358"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X358" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X358 </ci>
+              <ci> X358 </ci>
+              <ci> Y358 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X358"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y358"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X358 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_358" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X358"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X358 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X359"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X359" stoichiometry="2"/>
+          <speciesReference species="Y359"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X359" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X359 </ci>
+              <ci> X359 </ci>
+              <ci> Y359 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X359"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y359"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X359 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_359" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X359"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X359 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X360"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X360" stoichiometry="2"/>
+          <speciesReference species="Y360"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X360" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X360 </ci>
+              <ci> X360 </ci>
+              <ci> Y360 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X360"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y360"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X360 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_360" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X360"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X360 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X361"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X361" stoichiometry="2"/>
+          <speciesReference species="Y361"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X361" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X361 </ci>
+              <ci> X361 </ci>
+              <ci> Y361 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X361"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y361"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X361 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_361" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X361"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X361 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X362"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X362" stoichiometry="2"/>
+          <speciesReference species="Y362"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X362" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X362 </ci>
+              <ci> X362 </ci>
+              <ci> Y362 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X362"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y362"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X362 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_362" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X362"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X362 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X363"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X363" stoichiometry="2"/>
+          <speciesReference species="Y363"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X363" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X363 </ci>
+              <ci> X363 </ci>
+              <ci> Y363 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X363"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y363"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X363 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_363" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X363"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X363 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X364"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X364" stoichiometry="2"/>
+          <speciesReference species="Y364"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X364" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X364 </ci>
+              <ci> X364 </ci>
+              <ci> Y364 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X364"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y364"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X364 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X364"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X364 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X365"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X365" stoichiometry="2"/>
+          <speciesReference species="Y365"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X365" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X365 </ci>
+              <ci> X365 </ci>
+              <ci> Y365 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X365"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y365"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X365 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_365" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X365"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X365 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X366"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X366" stoichiometry="2"/>
+          <speciesReference species="Y366"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X366" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X366 </ci>
+              <ci> X366 </ci>
+              <ci> Y366 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X366"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y366"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X366 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_366" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X366"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X366 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X367"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X367" stoichiometry="2"/>
+          <speciesReference species="Y367"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X367" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X367 </ci>
+              <ci> X367 </ci>
+              <ci> Y367 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X367"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y367"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X367 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_367" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X367"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X367 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X368"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X368" stoichiometry="2"/>
+          <speciesReference species="Y368"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X368" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X368 </ci>
+              <ci> X368 </ci>
+              <ci> Y368 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X368"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y368"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X368 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_368" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X368"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X368 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X369"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X369" stoichiometry="2"/>
+          <speciesReference species="Y369"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X369" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X369 </ci>
+              <ci> X369 </ci>
+              <ci> Y369 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X369"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y369"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X369 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_369" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X369"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X369 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X370"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X370" stoichiometry="2"/>
+          <speciesReference species="Y370"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X370" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X370 </ci>
+              <ci> X370 </ci>
+              <ci> Y370 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X370"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y370"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X370 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_370" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X370"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X370 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X371"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X371" stoichiometry="2"/>
+          <speciesReference species="Y371"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X371" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X371 </ci>
+              <ci> X371 </ci>
+              <ci> Y371 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X371"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y371"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X371 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_371" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X371"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X371 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X372"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X372" stoichiometry="2"/>
+          <speciesReference species="Y372"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X372" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X372 </ci>
+              <ci> X372 </ci>
+              <ci> Y372 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X372"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y372"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X372 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_372" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X372"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X372 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X373"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X373" stoichiometry="2"/>
+          <speciesReference species="Y373"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X373" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X373 </ci>
+              <ci> X373 </ci>
+              <ci> Y373 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X373"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y373"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X373 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_373" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X373"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X373 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X374"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X374" stoichiometry="2"/>
+          <speciesReference species="Y374"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X374" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X374 </ci>
+              <ci> X374 </ci>
+              <ci> Y374 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X374"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y374"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X374 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_374" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X374"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X374 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X375"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X375" stoichiometry="2"/>
+          <speciesReference species="Y375"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X375" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X375 </ci>
+              <ci> X375 </ci>
+              <ci> Y375 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X375"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y375"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X375 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X375"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X375 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X376"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X376" stoichiometry="2"/>
+          <speciesReference species="Y376"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X376" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X376 </ci>
+              <ci> X376 </ci>
+              <ci> Y376 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X376"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y376"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X376 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_376" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X376"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X376 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X377"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X377" stoichiometry="2"/>
+          <speciesReference species="Y377"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X377" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X377 </ci>
+              <ci> X377 </ci>
+              <ci> Y377 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X377"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y377"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X377 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_377" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X377"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X377 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X378"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X378" stoichiometry="2"/>
+          <speciesReference species="Y378"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X378" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X378 </ci>
+              <ci> X378 </ci>
+              <ci> Y378 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X378"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y378"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X378 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_378" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X378"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X378 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X379"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X379" stoichiometry="2"/>
+          <speciesReference species="Y379"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X379" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X379 </ci>
+              <ci> X379 </ci>
+              <ci> Y379 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X379"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y379"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X379 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_379" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X379"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X379 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X380"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X380" stoichiometry="2"/>
+          <speciesReference species="Y380"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X380" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X380 </ci>
+              <ci> X380 </ci>
+              <ci> Y380 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X380"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y380"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X380 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_380" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X380"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X380 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X381"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X381" stoichiometry="2"/>
+          <speciesReference species="Y381"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X381" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X381 </ci>
+              <ci> X381 </ci>
+              <ci> Y381 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X381"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y381"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X381 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_381" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X381"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X381 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X382"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X382" stoichiometry="2"/>
+          <speciesReference species="Y382"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X382" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X382 </ci>
+              <ci> X382 </ci>
+              <ci> Y382 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X382"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y382"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X382 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_382" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X382"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X382 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X383"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X383" stoichiometry="2"/>
+          <speciesReference species="Y383"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X383" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X383 </ci>
+              <ci> X383 </ci>
+              <ci> Y383 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X383"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y383"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X383 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_383" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X383"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X383 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X384"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X384" stoichiometry="2"/>
+          <speciesReference species="Y384"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X384" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X384 </ci>
+              <ci> X384 </ci>
+              <ci> Y384 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X384"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y384"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X384 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_384" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X384"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X384 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X385"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X385" stoichiometry="2"/>
+          <speciesReference species="Y385"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X385" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X385 </ci>
+              <ci> X385 </ci>
+              <ci> Y385 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X385"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y385"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X385 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X385"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X385 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X386"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X386" stoichiometry="2"/>
+          <speciesReference species="Y386"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X386" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X386 </ci>
+              <ci> X386 </ci>
+              <ci> Y386 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X386"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y386"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X386 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_386" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X386"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X386 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X387"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X387" stoichiometry="2"/>
+          <speciesReference species="Y387"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X387" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X387 </ci>
+              <ci> X387 </ci>
+              <ci> Y387 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X387"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y387"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X387 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_387" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X387"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X387 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X388"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X388" stoichiometry="2"/>
+          <speciesReference species="Y388"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X388" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X388 </ci>
+              <ci> X388 </ci>
+              <ci> Y388 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X388"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y388"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X388 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_388" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X388"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X388 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X389"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X389" stoichiometry="2"/>
+          <speciesReference species="Y389"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X389" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X389 </ci>
+              <ci> X389 </ci>
+              <ci> Y389 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X389"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y389"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X389 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_389" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X389"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X389 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X390"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X390" stoichiometry="2"/>
+          <speciesReference species="Y390"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X390" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X390 </ci>
+              <ci> X390 </ci>
+              <ci> Y390 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X390"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y390"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X390 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_390" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X390"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X390 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X391"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X391" stoichiometry="2"/>
+          <speciesReference species="Y391"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X391" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X391 </ci>
+              <ci> X391 </ci>
+              <ci> Y391 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X391"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y391"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X391 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_391" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X391"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X391 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X392"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X392" stoichiometry="2"/>
+          <speciesReference species="Y392"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X392" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X392 </ci>
+              <ci> X392 </ci>
+              <ci> Y392 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X392"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y392"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X392 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_392" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X392"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X392 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X393"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X393" stoichiometry="2"/>
+          <speciesReference species="Y393"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X393" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X393 </ci>
+              <ci> X393 </ci>
+              <ci> Y393 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X393"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y393"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X393 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_393" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X393"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X393 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X394"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X394" stoichiometry="2"/>
+          <speciesReference species="Y394"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X394" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X394 </ci>
+              <ci> X394 </ci>
+              <ci> Y394 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X394"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y394"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X394 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_394" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X394"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X394 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X395"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X395" stoichiometry="2"/>
+          <speciesReference species="Y395"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X395" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X395 </ci>
+              <ci> X395 </ci>
+              <ci> Y395 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X395"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y395"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X395 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X395"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X395 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X396"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X396" stoichiometry="2"/>
+          <speciesReference species="Y396"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X396" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X396 </ci>
+              <ci> X396 </ci>
+              <ci> Y396 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X396"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y396"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X396 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_396" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X396"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X396 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X397"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X397" stoichiometry="2"/>
+          <speciesReference species="Y397"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X397" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X397 </ci>
+              <ci> X397 </ci>
+              <ci> Y397 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X397"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y397"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X397 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_397" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X397"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X397 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X398"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X398" stoichiometry="2"/>
+          <speciesReference species="Y398"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X398" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X398 </ci>
+              <ci> X398 </ci>
+              <ci> Y398 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X398"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y398"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X398 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_398" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X398"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X398 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X399"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X399" stoichiometry="2"/>
+          <speciesReference species="Y399"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X399" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X399 </ci>
+              <ci> X399 </ci>
+              <ci> Y399 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X399"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y399"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X399 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_399" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X399"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X399 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X400"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X400" stoichiometry="2"/>
+          <speciesReference species="Y400"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X400" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X400 </ci>
+              <ci> X400 </ci>
+              <ci> Y400 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X400"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y400"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X400 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_400" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X400"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X400 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_401" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X401"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_401" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X401" stoichiometry="2"/>
+          <speciesReference species="Y401"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X401" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X401 </ci>
+              <ci> X401 </ci>
+              <ci> Y401 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_401" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X401"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y401"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X401 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_401" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X401"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X401 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_402" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X402"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_402" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X402" stoichiometry="2"/>
+          <speciesReference species="Y402"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X402" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X402 </ci>
+              <ci> X402 </ci>
+              <ci> Y402 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_402" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X402"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y402"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X402 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_402" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X402"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X402 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_403" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X403"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_403" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X403" stoichiometry="2"/>
+          <speciesReference species="Y403"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X403" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X403 </ci>
+              <ci> X403 </ci>
+              <ci> Y403 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_403" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X403"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y403"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X403 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_403" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X403"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X403 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_404" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X404"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_404" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X404" stoichiometry="2"/>
+          <speciesReference species="Y404"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X404" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X404 </ci>
+              <ci> X404 </ci>
+              <ci> Y404 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_404" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X404"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y404"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X404 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_404" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X404"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X404 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_405" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X405"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_405" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X405" stoichiometry="2"/>
+          <speciesReference species="Y405"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X405" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X405 </ci>
+              <ci> X405 </ci>
+              <ci> Y405 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_405" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X405"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y405"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X405 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_405" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X405"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X405 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_406" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X406"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_406" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X406" stoichiometry="2"/>
+          <speciesReference species="Y406"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X406" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X406 </ci>
+              <ci> X406 </ci>
+              <ci> Y406 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_406" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X406"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y406"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X406 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_406" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X406"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X406 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_407" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X407"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_407" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X407" stoichiometry="2"/>
+          <speciesReference species="Y407"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X407" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X407 </ci>
+              <ci> X407 </ci>
+              <ci> Y407 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_407" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X407"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y407"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X407 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_407" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X407"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X407 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_408" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X408"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_408" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X408" stoichiometry="2"/>
+          <speciesReference species="Y408"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X408" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X408 </ci>
+              <ci> X408 </ci>
+              <ci> Y408 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_408" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X408"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y408"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X408 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_408" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X408"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X408 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_409" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X409"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_409" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X409" stoichiometry="2"/>
+          <speciesReference species="Y409"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X409" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X409 </ci>
+              <ci> X409 </ci>
+              <ci> Y409 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_409" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X409"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y409"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X409 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_409" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X409"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X409 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_410" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X410"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_410" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X410" stoichiometry="2"/>
+          <speciesReference species="Y410"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X410" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X410 </ci>
+              <ci> X410 </ci>
+              <ci> Y410 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_410" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X410"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y410"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X410 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_410" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X410"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X410 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_411" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X411"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_411" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X411" stoichiometry="2"/>
+          <speciesReference species="Y411"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X411" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X411 </ci>
+              <ci> X411 </ci>
+              <ci> Y411 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_411" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X411"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y411"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X411 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_411" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X411"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X411 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_412" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X412"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_412" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X412" stoichiometry="2"/>
+          <speciesReference species="Y412"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X412" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X412 </ci>
+              <ci> X412 </ci>
+              <ci> Y412 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_412" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X412"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y412"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X412 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_412" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X412"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X412 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_413" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X413"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_413" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X413" stoichiometry="2"/>
+          <speciesReference species="Y413"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X413" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X413 </ci>
+              <ci> X413 </ci>
+              <ci> Y413 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_413" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X413"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y413"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X413 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_413" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X413"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X413 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_414" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X414"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_414" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X414" stoichiometry="2"/>
+          <speciesReference species="Y414"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X414" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X414 </ci>
+              <ci> X414 </ci>
+              <ci> Y414 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_414" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X414"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y414"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X414 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_414" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X414"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X414 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_415" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X415"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_415" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X415" stoichiometry="2"/>
+          <speciesReference species="Y415"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X415" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X415 </ci>
+              <ci> X415 </ci>
+              <ci> Y415 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_415" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X415"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y415"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X415 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_415" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X415"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X415 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_416" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X416"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_416" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X416" stoichiometry="2"/>
+          <speciesReference species="Y416"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X416" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X416 </ci>
+              <ci> X416 </ci>
+              <ci> Y416 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_416" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X416"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y416"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X416 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_416" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X416"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X416 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_417" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X417"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_417" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X417" stoichiometry="2"/>
+          <speciesReference species="Y417"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X417" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X417 </ci>
+              <ci> X417 </ci>
+              <ci> Y417 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_417" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X417"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y417"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X417 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_417" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X417"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X417 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_418" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X418"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_418" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X418" stoichiometry="2"/>
+          <speciesReference species="Y418"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X418" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X418 </ci>
+              <ci> X418 </ci>
+              <ci> Y418 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_418" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X418"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y418"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X418 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_418" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X418"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X418 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_419" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X419"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_419" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X419" stoichiometry="2"/>
+          <speciesReference species="Y419"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X419" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X419 </ci>
+              <ci> X419 </ci>
+              <ci> Y419 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_419" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X419"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y419"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X419 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_419" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X419"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X419 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_420" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X420"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_420" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X420" stoichiometry="2"/>
+          <speciesReference species="Y420"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X420" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X420 </ci>
+              <ci> X420 </ci>
+              <ci> Y420 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_420" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X420"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y420"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X420 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_420" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X420"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X420 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_421" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X421"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_421" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X421" stoichiometry="2"/>
+          <speciesReference species="Y421"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X421" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X421 </ci>
+              <ci> X421 </ci>
+              <ci> Y421 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_421" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X421"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y421"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X421 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_421" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X421"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X421 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_422" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X422"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_422" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X422" stoichiometry="2"/>
+          <speciesReference species="Y422"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X422" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X422 </ci>
+              <ci> X422 </ci>
+              <ci> Y422 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_422" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X422"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y422"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X422 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_422" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X422"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X422 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_423" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X423"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_423" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X423" stoichiometry="2"/>
+          <speciesReference species="Y423"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X423" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X423 </ci>
+              <ci> X423 </ci>
+              <ci> Y423 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_423" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X423"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y423"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X423 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_423" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X423"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X423 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_424" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X424"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_424" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X424" stoichiometry="2"/>
+          <speciesReference species="Y424"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X424" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X424 </ci>
+              <ci> X424 </ci>
+              <ci> Y424 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_424" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X424"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y424"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X424 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_424" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X424"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X424 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_425" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X425"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_425" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X425" stoichiometry="2"/>
+          <speciesReference species="Y425"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X425" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X425 </ci>
+              <ci> X425 </ci>
+              <ci> Y425 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_425" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X425"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y425"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X425 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_425" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X425"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X425 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_426" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X426"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_426" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X426" stoichiometry="2"/>
+          <speciesReference species="Y426"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X426" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X426 </ci>
+              <ci> X426 </ci>
+              <ci> Y426 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_426" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X426"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y426"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X426 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_426" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X426"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X426 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_427" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X427"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_427" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X427" stoichiometry="2"/>
+          <speciesReference species="Y427"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X427" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X427 </ci>
+              <ci> X427 </ci>
+              <ci> Y427 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_427" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X427"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y427"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X427 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_427" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X427"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X427 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_428" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X428"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_428" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X428" stoichiometry="2"/>
+          <speciesReference species="Y428"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X428" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X428 </ci>
+              <ci> X428 </ci>
+              <ci> Y428 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_428" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X428"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y428"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X428 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_428" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X428"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X428 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_429" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X429"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_429" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X429" stoichiometry="2"/>
+          <speciesReference species="Y429"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X429" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X429 </ci>
+              <ci> X429 </ci>
+              <ci> Y429 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_429" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X429"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y429"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X429 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_429" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X429"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X429 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_430" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X430"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_430" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X430" stoichiometry="2"/>
+          <speciesReference species="Y430"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X430" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X430 </ci>
+              <ci> X430 </ci>
+              <ci> Y430 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_430" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X430"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y430"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X430 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_430" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X430"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X430 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_431" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X431"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_431" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X431" stoichiometry="2"/>
+          <speciesReference species="Y431"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X431" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X431 </ci>
+              <ci> X431 </ci>
+              <ci> Y431 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_431" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X431"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y431"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X431 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_431" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X431"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X431 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_432" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X432"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_432" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X432" stoichiometry="2"/>
+          <speciesReference species="Y432"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X432" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X432 </ci>
+              <ci> X432 </ci>
+              <ci> Y432 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_432" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X432"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y432"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X432 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_432" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X432"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X432 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_433" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X433"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_433" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X433" stoichiometry="2"/>
+          <speciesReference species="Y433"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X433" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X433 </ci>
+              <ci> X433 </ci>
+              <ci> Y433 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_433" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X433"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y433"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X433 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_433" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X433"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X433 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_434" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X434"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_434" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X434" stoichiometry="2"/>
+          <speciesReference species="Y434"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X434" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X434 </ci>
+              <ci> X434 </ci>
+              <ci> Y434 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_434" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X434"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y434"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X434 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_434" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X434"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X434 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_435" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X435"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_435" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X435" stoichiometry="2"/>
+          <speciesReference species="Y435"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X435" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X435 </ci>
+              <ci> X435 </ci>
+              <ci> Y435 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_435" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X435"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y435"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X435 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_435" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X435"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X435 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_436" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X436"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_436" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X436" stoichiometry="2"/>
+          <speciesReference species="Y436"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X436" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X436 </ci>
+              <ci> X436 </ci>
+              <ci> Y436 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_436" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X436"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y436"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X436 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_436" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X436"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X436 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_437" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X437"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_437" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X437" stoichiometry="2"/>
+          <speciesReference species="Y437"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X437" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X437 </ci>
+              <ci> X437 </ci>
+              <ci> Y437 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_437" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X437"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y437"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X437 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_437" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X437"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X437 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_438" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X438"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_438" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X438" stoichiometry="2"/>
+          <speciesReference species="Y438"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X438" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X438 </ci>
+              <ci> X438 </ci>
+              <ci> Y438 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_438" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X438"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y438"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X438 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_438" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X438"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X438 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_439" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X439"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_439" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X439" stoichiometry="2"/>
+          <speciesReference species="Y439"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X439" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X439 </ci>
+              <ci> X439 </ci>
+              <ci> Y439 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_439" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X439"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y439"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X439 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_439" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X439"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X439 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_440" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X440"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_440" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X440" stoichiometry="2"/>
+          <speciesReference species="Y440"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X440" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X440 </ci>
+              <ci> X440 </ci>
+              <ci> Y440 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_440" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X440"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y440"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X440 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_440" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X440"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X440 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_441" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X441"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_441" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X441" stoichiometry="2"/>
+          <speciesReference species="Y441"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X441" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X441 </ci>
+              <ci> X441 </ci>
+              <ci> Y441 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_441" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X441"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y441"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X441 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_441" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X441"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X441 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_442" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X442"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_442" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X442" stoichiometry="2"/>
+          <speciesReference species="Y442"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X442" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X442 </ci>
+              <ci> X442 </ci>
+              <ci> Y442 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_442" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X442"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y442"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X442 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_442" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X442"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X442 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_443" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X443"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_443" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X443" stoichiometry="2"/>
+          <speciesReference species="Y443"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X443" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X443 </ci>
+              <ci> X443 </ci>
+              <ci> Y443 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_443" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X443"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y443"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X443 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_443" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X443"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X443 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_444" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X444"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_444" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X444" stoichiometry="2"/>
+          <speciesReference species="Y444"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X444" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X444 </ci>
+              <ci> X444 </ci>
+              <ci> Y444 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_444" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X444"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y444"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X444 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_444" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X444"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X444 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_445" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X445"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_445" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X445" stoichiometry="2"/>
+          <speciesReference species="Y445"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X445" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X445 </ci>
+              <ci> X445 </ci>
+              <ci> Y445 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_445" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X445"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y445"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X445 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_445" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X445"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X445 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_446" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X446"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_446" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X446" stoichiometry="2"/>
+          <speciesReference species="Y446"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X446" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X446 </ci>
+              <ci> X446 </ci>
+              <ci> Y446 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_446" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X446"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y446"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X446 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_446" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X446"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X446 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_447" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X447"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_447" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X447" stoichiometry="2"/>
+          <speciesReference species="Y447"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X447" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X447 </ci>
+              <ci> X447 </ci>
+              <ci> Y447 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_447" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X447"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y447"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X447 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_447" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X447"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X447 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_448" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X448"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_448" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X448" stoichiometry="2"/>
+          <speciesReference species="Y448"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X448" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X448 </ci>
+              <ci> X448 </ci>
+              <ci> Y448 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_448" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X448"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y448"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X448 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_448" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X448"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X448 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_449" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X449"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_449" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X449" stoichiometry="2"/>
+          <speciesReference species="Y449"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X449" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X449 </ci>
+              <ci> X449 </ci>
+              <ci> Y449 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_449" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X449"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y449"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X449 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_449" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X449"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X449 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_450" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X450"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_450" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X450" stoichiometry="2"/>
+          <speciesReference species="Y450"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X450" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X450 </ci>
+              <ci> X450 </ci>
+              <ci> Y450 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_450" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X450"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y450"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X450 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_450" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X450"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X450 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_451" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X451"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_451" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X451" stoichiometry="2"/>
+          <speciesReference species="Y451"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X451" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X451 </ci>
+              <ci> X451 </ci>
+              <ci> Y451 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_451" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X451"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y451"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X451 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_451" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X451"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X451 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_452" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X452"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_452" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X452" stoichiometry="2"/>
+          <speciesReference species="Y452"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X452" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X452 </ci>
+              <ci> X452 </ci>
+              <ci> Y452 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_452" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X452"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y452"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X452 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_452" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X452"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X452 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_453" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X453"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_453" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X453" stoichiometry="2"/>
+          <speciesReference species="Y453"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X453" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X453 </ci>
+              <ci> X453 </ci>
+              <ci> Y453 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_453" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X453"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y453"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X453 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_453" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X453"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X453 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_454" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X454"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_454" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X454" stoichiometry="2"/>
+          <speciesReference species="Y454"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X454" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X454 </ci>
+              <ci> X454 </ci>
+              <ci> Y454 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_454" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X454"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y454"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X454 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_454" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X454"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X454 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_455" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X455"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_455" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X455" stoichiometry="2"/>
+          <speciesReference species="Y455"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X455" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X455 </ci>
+              <ci> X455 </ci>
+              <ci> Y455 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_455" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X455"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y455"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X455 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_455" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X455"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X455 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_456" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X456"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_456" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X456" stoichiometry="2"/>
+          <speciesReference species="Y456"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X456" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X456 </ci>
+              <ci> X456 </ci>
+              <ci> Y456 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_456" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X456"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y456"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X456 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_456" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X456"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X456 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_457" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X457"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_457" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X457" stoichiometry="2"/>
+          <speciesReference species="Y457"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X457" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X457 </ci>
+              <ci> X457 </ci>
+              <ci> Y457 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_457" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X457"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y457"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X457 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_457" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X457"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X457 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_458" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X458"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_458" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X458" stoichiometry="2"/>
+          <speciesReference species="Y458"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X458" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X458 </ci>
+              <ci> X458 </ci>
+              <ci> Y458 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_458" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X458"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y458"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X458 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_458" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X458"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X458 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_459" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X459"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_459" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X459" stoichiometry="2"/>
+          <speciesReference species="Y459"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X459" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X459 </ci>
+              <ci> X459 </ci>
+              <ci> Y459 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_459" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X459"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y459"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X459 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_459" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X459"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X459 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_460" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X460"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_460" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X460" stoichiometry="2"/>
+          <speciesReference species="Y460"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X460" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X460 </ci>
+              <ci> X460 </ci>
+              <ci> Y460 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_460" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X460"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y460"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X460 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_460" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X460"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X460 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_461" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X461"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_461" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X461" stoichiometry="2"/>
+          <speciesReference species="Y461"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X461" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X461 </ci>
+              <ci> X461 </ci>
+              <ci> Y461 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_461" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X461"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y461"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X461 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_461" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X461"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X461 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_462" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X462"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_462" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X462" stoichiometry="2"/>
+          <speciesReference species="Y462"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X462" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X462 </ci>
+              <ci> X462 </ci>
+              <ci> Y462 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_462" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X462"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y462"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X462 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_462" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X462"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X462 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_463" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X463"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_463" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X463" stoichiometry="2"/>
+          <speciesReference species="Y463"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X463" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X463 </ci>
+              <ci> X463 </ci>
+              <ci> Y463 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_463" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X463"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y463"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X463 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_463" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X463"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X463 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_464" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X464"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_464" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X464" stoichiometry="2"/>
+          <speciesReference species="Y464"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X464" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X464 </ci>
+              <ci> X464 </ci>
+              <ci> Y464 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_464" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X464"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y464"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X464 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_464" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X464"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X464 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_465" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X465"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_465" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X465" stoichiometry="2"/>
+          <speciesReference species="Y465"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X465" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X465 </ci>
+              <ci> X465 </ci>
+              <ci> Y465 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_465" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X465"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y465"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X465 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_465" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X465"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X465 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_466" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X466"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_466" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X466" stoichiometry="2"/>
+          <speciesReference species="Y466"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X466" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X466 </ci>
+              <ci> X466 </ci>
+              <ci> Y466 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_466" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X466"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y466"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X466 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_466" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X466"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X466 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_467" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X467"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_467" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X467" stoichiometry="2"/>
+          <speciesReference species="Y467"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X467" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X467 </ci>
+              <ci> X467 </ci>
+              <ci> Y467 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_467" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X467"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y467"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X467 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_467" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X467"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X467 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_468" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X468"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_468" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X468" stoichiometry="2"/>
+          <speciesReference species="Y468"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X468" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X468 </ci>
+              <ci> X468 </ci>
+              <ci> Y468 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_468" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X468"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y468"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X468 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_468" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X468"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X468 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_469" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X469"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_469" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X469" stoichiometry="2"/>
+          <speciesReference species="Y469"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X469" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X469 </ci>
+              <ci> X469 </ci>
+              <ci> Y469 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_469" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X469"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y469"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X469 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_469" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X469"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X469 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_470" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X470"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_470" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X470" stoichiometry="2"/>
+          <speciesReference species="Y470"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X470" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X470 </ci>
+              <ci> X470 </ci>
+              <ci> Y470 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_470" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X470"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y470"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X470 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_470" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X470"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X470 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_471" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X471"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_471" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X471" stoichiometry="2"/>
+          <speciesReference species="Y471"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X471" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X471 </ci>
+              <ci> X471 </ci>
+              <ci> Y471 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_471" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X471"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y471"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X471 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_471" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X471"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X471 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_472" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X472"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_472" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X472" stoichiometry="2"/>
+          <speciesReference species="Y472"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X472" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X472 </ci>
+              <ci> X472 </ci>
+              <ci> Y472 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_472" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X472"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y472"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X472 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_472" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X472"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X472 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_473" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X473"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_473" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X473" stoichiometry="2"/>
+          <speciesReference species="Y473"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X473" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X473 </ci>
+              <ci> X473 </ci>
+              <ci> Y473 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_473" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X473"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y473"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X473 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_473" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X473"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X473 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_474" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X474"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_474" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X474" stoichiometry="2"/>
+          <speciesReference species="Y474"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X474" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X474 </ci>
+              <ci> X474 </ci>
+              <ci> Y474 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_474" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X474"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y474"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X474 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_474" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X474"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X474 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_475" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X475"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_475" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X475" stoichiometry="2"/>
+          <speciesReference species="Y475"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X475" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X475 </ci>
+              <ci> X475 </ci>
+              <ci> Y475 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_475" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X475"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y475"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X475 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_475" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X475"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X475 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_476" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X476"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_476" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X476" stoichiometry="2"/>
+          <speciesReference species="Y476"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X476" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X476 </ci>
+              <ci> X476 </ci>
+              <ci> Y476 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_476" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X476"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y476"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X476 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_476" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X476"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X476 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_477" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X477"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_477" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X477" stoichiometry="2"/>
+          <speciesReference species="Y477"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X477" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X477 </ci>
+              <ci> X477 </ci>
+              <ci> Y477 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_477" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X477"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y477"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X477 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_477" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X477"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X477 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_478" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X478"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_478" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X478" stoichiometry="2"/>
+          <speciesReference species="Y478"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X478" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X478 </ci>
+              <ci> X478 </ci>
+              <ci> Y478 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_478" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X478"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y478"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X478 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_478" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X478"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X478 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_479" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X479"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_479" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X479" stoichiometry="2"/>
+          <speciesReference species="Y479"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X479" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X479 </ci>
+              <ci> X479 </ci>
+              <ci> Y479 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_479" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X479"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y479"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X479 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_479" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X479"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X479 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_480" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X480"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_480" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X480" stoichiometry="2"/>
+          <speciesReference species="Y480"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X480" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X480 </ci>
+              <ci> X480 </ci>
+              <ci> Y480 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_480" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X480"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y480"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X480 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_480" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X480"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X480 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_481" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X481"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_481" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X481" stoichiometry="2"/>
+          <speciesReference species="Y481"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X481" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X481 </ci>
+              <ci> X481 </ci>
+              <ci> Y481 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_481" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X481"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y481"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X481 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_481" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X481"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X481 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_482" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X482"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_482" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X482" stoichiometry="2"/>
+          <speciesReference species="Y482"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X482" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X482 </ci>
+              <ci> X482 </ci>
+              <ci> Y482 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_482" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X482"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y482"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X482 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_482" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X482"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X482 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_483" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X483"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_483" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X483" stoichiometry="2"/>
+          <speciesReference species="Y483"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X483" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X483 </ci>
+              <ci> X483 </ci>
+              <ci> Y483 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_483" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X483"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y483"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X483 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_483" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X483"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X483 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_484" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X484"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_484" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X484" stoichiometry="2"/>
+          <speciesReference species="Y484"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X484" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X484 </ci>
+              <ci> X484 </ci>
+              <ci> Y484 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_484" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X484"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y484"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X484 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_484" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X484"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X484 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_485" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X485"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_485" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X485" stoichiometry="2"/>
+          <speciesReference species="Y485"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X485" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X485 </ci>
+              <ci> X485 </ci>
+              <ci> Y485 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_485" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X485"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y485"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X485 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_485" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X485"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X485 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_486" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X486"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_486" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X486" stoichiometry="2"/>
+          <speciesReference species="Y486"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X486" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X486 </ci>
+              <ci> X486 </ci>
+              <ci> Y486 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_486" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X486"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y486"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X486 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_486" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X486"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X486 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_487" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X487"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_487" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X487" stoichiometry="2"/>
+          <speciesReference species="Y487"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X487" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X487 </ci>
+              <ci> X487 </ci>
+              <ci> Y487 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_487" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X487"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y487"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X487 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_487" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X487"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X487 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_488" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X488"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_488" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X488" stoichiometry="2"/>
+          <speciesReference species="Y488"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X488" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X488 </ci>
+              <ci> X488 </ci>
+              <ci> Y488 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_488" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X488"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y488"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X488 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_488" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X488"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X488 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_489" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X489"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_489" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X489" stoichiometry="2"/>
+          <speciesReference species="Y489"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X489" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X489 </ci>
+              <ci> X489 </ci>
+              <ci> Y489 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_489" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X489"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y489"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X489 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_489" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X489"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X489 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_490" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X490"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_490" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X490" stoichiometry="2"/>
+          <speciesReference species="Y490"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X490" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X490 </ci>
+              <ci> X490 </ci>
+              <ci> Y490 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_490" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X490"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y490"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X490 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_490" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X490"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X490 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_491" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X491"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_491" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X491" stoichiometry="2"/>
+          <speciesReference species="Y491"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X491" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X491 </ci>
+              <ci> X491 </ci>
+              <ci> Y491 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_491" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X491"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y491"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X491 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_491" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X491"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X491 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_492" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X492"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_492" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X492" stoichiometry="2"/>
+          <speciesReference species="Y492"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X492" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X492 </ci>
+              <ci> X492 </ci>
+              <ci> Y492 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_492" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X492"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y492"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X492 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_492" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X492"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X492 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_493" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X493"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_493" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X493" stoichiometry="2"/>
+          <speciesReference species="Y493"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X493" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X493 </ci>
+              <ci> X493 </ci>
+              <ci> Y493 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_493" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X493"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y493"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X493 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_493" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X493"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X493 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_494" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X494"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_494" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X494" stoichiometry="2"/>
+          <speciesReference species="Y494"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X494" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X494 </ci>
+              <ci> X494 </ci>
+              <ci> Y494 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_494" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X494"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y494"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X494 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_494" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X494"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X494 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_495" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X495"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_495" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X495" stoichiometry="2"/>
+          <speciesReference species="Y495"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X495" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X495 </ci>
+              <ci> X495 </ci>
+              <ci> Y495 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_495" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X495"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y495"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X495 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_495" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X495"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X495 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_496" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X496"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_496" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X496" stoichiometry="2"/>
+          <speciesReference species="Y496"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X496" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X496 </ci>
+              <ci> X496 </ci>
+              <ci> Y496 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_496" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X496"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y496"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X496 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_496" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X496"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X496 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_497" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X497"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_497" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X497" stoichiometry="2"/>
+          <speciesReference species="Y497"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X497" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X497 </ci>
+              <ci> X497 </ci>
+              <ci> Y497 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_497" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X497"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y497"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X497 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_497" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X497"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X497 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_498" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X498"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_498" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X498" stoichiometry="2"/>
+          <speciesReference species="Y498"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X498" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X498 </ci>
+              <ci> X498 </ci>
+              <ci> Y498 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_498" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X498"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y498"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X498 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_498" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X498"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X498 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_499" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X499"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_499" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X499" stoichiometry="2"/>
+          <speciesReference species="Y499"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X499" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X499 </ci>
+              <ci> X499 </ci>
+              <ci> Y499 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_499" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X499"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y499"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X499 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_499" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X499"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X499 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R1_500" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X500"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2_500" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X500" stoichiometry="2"/>
+          <speciesReference species="Y500"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X500" stoichiometry="3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> X500 </ci>
+              <ci> X500 </ci>
+              <ci> Y500 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3_500" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X500"/>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y500"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> X500 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4_500" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X500"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> X500 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/README.md b/autotest/python-benchmark-bioinf/README.md
new file mode 100644
index 0000000..9cde587
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/README.md
@@ -0,0 +1,40 @@
+J Kyle Medley
+## libRoadRunner/Jarnac Benchmarking
+
+## Usage
+
+You must have a deployment of libRoadRunner version 1.3.1 in your Python module 
+search path before continuing. The benchmarking scripts can be run as follows:
+```
+git clone -b submission https://github.com/0u812/rr-benchmarking.git
+cd rr-benchmarking
+```
+
+## libRoadRunner
+
+To run the roadrunner ODE benchmark and save the results to rr-ode-results.csv,
+execute the following command from the Windows command prompt:
+```
+python ./rr_bench_ode.py >rr-ode-results.csv
+```
+
+To run the roadrunner stochastic benchmark and save the results to rr-ode-results.csv,
+execute the following command from the Windows command prompt:
+```
+python ./rr_bench_stoch.py >rr-stoch-results.csv
+```
+
+## Jarnac
+
+To run the Jarnac ODE benchmark, open the file `jarnac_bench_ode.jan` in the Jarnac
+IDE and click the "Run" button. The results will be displayed in the interactive console.
+Copy and paste the output to a csv file. This benchmark does not include the Jean-Marie
+AMPA receptor due to the fact that Jarnac cannot import the SBML directly. For this model,
+a separate benchmark is included.
+
+To run the Jean-Marie AMPA receptor ODE benchmark, open `jean_marie_converted_bench.jan`
+in the Jarnac IDE and click the "Run" button. The results will be displayed in the interactive console.
+Copy and paste the output to a csv file.
+
+To run the Jarnac stochastic/Gillespie benchmark, open the file `jarnac_bench_stoch.jan` in the Jarnac
+IDE and click the "Run" button. Copy and paste the output to a csv file.
\ No newline at end of file
diff --git a/autotest/python-benchmark-bioinf/biomod14/BIOMD0000000014.xml b/autotest/python-benchmark-bioinf/biomod14/BIOMD0000000014.xml
new file mode 100644
index 0000000..b66cda1
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/biomod14/BIOMD0000000014.xml
@@ -0,0 +1,14005 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" metaid="_001885" version="4">
+  <model id="MAPK_in_Scaffold" name="Levchenko2000_MAPK_Scaffold" metaid="_000001">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+<h1 xmlns="http://www.w3.org/1999/xhtml">MAPK cascade on a scaffold</h1><table xmlns="http://www.w3.org/1999/xhtml" border="0" cellpadding="2" cellspacing="0">
+          <thead>
+            <tr>
+              <th align="left" bgcolor="#eeeeee" valign="middle">Citation</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td>Levchenko, A., Bruck, J., Sternberg, P.W. (2000)
+							.Scaffold proteins may biphasically affect the levels of mitogen-activated protein kinase signaling and reduce its threshold properties. Proc. Natl. Acad. Sci. USA 97(11):5818-5823.
+						<a href="http://www.pnas.org/cgi/content/abstract/97/11/5818">
+							http://www.pnas.org/cgi/content/abstract/97/11/5818
+						</a>
+          </td>
+        </tr>
+      </tbody>
+    </table><table xmlns="http://www.w3.org/1999/xhtml" border="0" cellpadding="2" cellspacing="0">
+      <thead>
+        <tr>
+          <th align="left" bgcolor="#eeeeee" valign="middle">Description</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td>This model describes a basic 3-stage Mitogen Activated Protein Kinase (MAPK). Kinases in solution are written as  K[3,J], K[2,J], K[1,J] for MAPKKK, MAPKK, and MAPK, respectively, J indicates the phosphorylation level, J=0,1 for K3 and J=0,1,2 for K2 and K1. Scaffolds have three slots, for MAPK, MAPKK, and MAPKKK, respectively. Bound and free scaffold are denoted as S[i,j,k], where i, j, and k indicate the binding of K[1,i], K[2,j] and K[3,k] in their respective slots. Here [...]
+        </tr>
+      </tbody>
+    </table><table xmlns="http://www.w3.org/1999/xhtml" border="0" cellpadding="2" cellspacing="0">
+      <thead>
+        <tr>
+          <th align="left" bgcolor="#eeeeee" valign="middle">Rate constant      </th>
+          <th align="left" bgcolor="#eeeeee" valign="middle">Reaction</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td>a10 = 5.</td>
+          <td>MAPKP + K[1, 2] -> K_MAPKP[1, 2]</td>
+        </tr>
+        <tr>
+          <td>a1 = 1.</td>
+          <td>RAFK + K[3, 0] -> K_RAFK[3, 0]</td>
+        </tr>
+        <tr>
+          <td>a2 = 0.5</td>
+          <td>RAFP + K[3, 1] -> K_RAFP[3, 1]</td>
+        </tr>
+        <tr>
+          <td>a3 = 3.3</td>
+          <td>K[2, 0] + K[3, 1] -> K_K[2, 0, 3,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>a4 = 10.</td>
+          <td>MEKP + K[2, 1] -> K_MEKP[2, 1]</td>
+        </tr>
+        <tr>
+          <td>a5 = 3.3</td>
+          <td>K[2, 1] + K[3, 1] -> K_K[2, 1, 3,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>a6 = 10.</td>
+          <td>MEKP + K[2, 2] -> K_MEKP[2, 2]</td>
+        </tr>
+        <tr>
+          <td>a7 = 20.</td>
+          <td>K[1, 0] + K[2, 2] -> K_K[1, 0, 2,
+							 2]</td>
+        </tr>
+        <tr>
+          <td>a8 = 5.</td>
+          <td>MAPKP + K[1, 1] -> K_MAPKP[1, 1]</td>
+        </tr>
+        <tr>
+          <td>a9 = 20.</td>
+          <td>K[1, 1] + K[2, 2] -> K_K[1, 1, 2,
+							 2]</td>
+        </tr>
+        <tr>
+          <td>d10 = 0.4</td>
+          <td>K_MAPKP[1, 2] -> MAPKP + K[1, 2]</td>
+        </tr>
+        <tr>
+          <td>d1 = 0.4</td>
+          <td>K_RAFK[3, 0] -> RAFK + K[3, 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[0, 0, 0] -> RAFK + S[0, 0, 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[0, -1, 0] -> RAFK + S[0, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[0, 1, 0] -> RAFK + S[0, 1, 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[0, 2, 0] -> RAFK + S[0, 2, 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[-1, 0, 0] -> RAFK + S[-1, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[1, 0, 0] -> RAFK + S[1, 0, 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[-1, -1, 0] -> RAFK + S[-1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[-1, 1, 0] -> RAFK + S[-1, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[1, -1, 0] -> RAFK + S[1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[1, 1, 0] -> RAFK + S[1, 1, 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[-1, 2, 0] -> RAFK + S[-1, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[1, 2, 0] -> RAFK + S[1, 2, 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[2, 0, 0] -> RAFK + S[2, 0, 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[2, -1, 0] -> RAFK + S[2, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[2, 1, 0] -> RAFK + S[2, 1, 0]</td>
+        </tr>
+        <tr>
+          <td>d1a = 0</td>
+          <td>S_RAFK[2, 2, 0] -> RAFK + S[2, 2, 0]</td>
+        </tr>
+        <tr>
+          <td>d2 = 0.5</td>
+          <td>K_RAFP[3, 1] -> RAFP + K[3, 1]</td>
+        </tr>
+        <tr>
+          <td>d3 = 0.42</td>
+          <td>K_K[2, 0, 3, 1] -> K[2, 0] + K[3,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>d4 = 0.8</td>
+          <td>K_MEKP[2, 1] -> MEKP + K[2, 1]</td>
+        </tr>
+        <tr>
+          <td>d5 = 0.4</td>
+          <td>K_K[2, 1, 3, 1] -> K[2, 1] + K[3,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>d6 = 0.8</td>
+          <td>K_MEKP[2, 2] -> MEKP + K[2, 2]</td>
+        </tr>
+        <tr>
+          <td>d7 = 0.6</td>
+          <td>K_K[1, 0, 2, 2] -> K[1, 0] + K[2,
+							 2]</td>
+        </tr>
+        <tr>
+          <td>d8 = 0.4</td>
+          <td>K_MAPKP[1, 1] -> MAPKP + K[1, 1]</td>
+        </tr>
+        <tr>
+          <td>d9 = 0.6</td>
+          <td>K_K[1, 1, 2, 2] -> K[1, 1] + K[2,
+							 2]</td>
+        </tr>
+        <tr>
+          <td>k10 = 0.1</td>
+          <td>K_MAPKP[1, 2] -> MAPKP + K[1, 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>K_RAFK[3, 0] -> RAFK + K[3, 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[0, 0, 0] -> RAFK + S[0, 0, 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[0, -1, 0] -> RAFK + S[0, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[0, 1, 0] -> RAFK + S[0, 1, 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[0, 2, 0] -> RAFK + S[0, 2, 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[-1, 0, 0] -> RAFK + S[-1, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[1, 0, 0] -> RAFK + S[1, 0, 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[-1, -1, 0] -> RAFK + S[-1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[-1, 1, 0] -> RAFK + S[-1, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[1, -1, 0] -> RAFK + S[1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[1, 1, 0] -> RAFK + S[1, 1, 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[-1, 2, 0] -> RAFK + S[-1, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[1, 2, 0] -> RAFK + S[1, 2, 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[2, 0, 0] -> RAFK + S[2, 0, 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[2, -1, 0] -> RAFK + S[2, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[2, 1, 0] -> RAFK + S[2, 1, 1]</td>
+        </tr>
+        <tr>
+          <td>k1 = 0.1</td>
+          <td>S_RAFK[2, 2, 0] -> RAFK + S[2, 2, 1]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[0, 0, 0] -> S_RAFK[0, 0, 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[0, -1, 0] -> S_RAFK[0, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[0, 1, 0] -> S_RAFK[0, 1, 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[0, 2, 0] -> S_RAFK[0, 2, 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[-1, 0, 0] -> S_RAFK[-1, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[1, 0, 0] -> S_RAFK[1, 0, 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[-1, -1, 0] -> S_RAFK[-1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[-1, 1, 0] -> S_RAFK[-1, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[1, -1, 0] -> S_RAFK[1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[1, 1, 0] -> S_RAFK[1, 1, 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[-1, 2, 0] -> S_RAFK[-1, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[1, 2, 0] -> S_RAFK[1, 2, 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[2, 0, 0] -> S_RAFK[2, 0, 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[2, -1, 0] -> S_RAFK[2, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[2, 1, 0] -> S_RAFK[2, 1, 0]</td>
+        </tr>
+        <tr>
+          <td>k1a = 100</td>
+          <td>RAFK + S[2, 2, 0] -> S_RAFK[2, 2, 0]</td>
+        </tr>
+        <tr>
+          <td>k2 = 0.1</td>
+          <td>K_RAFP[3, 1] -> RAFP + K[3, 0]</td>
+        </tr>
+        <tr>
+          <td>k3 = 0.1</td>
+          <td>K_K[2, 0, 3, 1] -> K[2, 1] + K[3,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>k3 = 0.1</td>
+          <td>S[0, 0, 1] -> S[0, 1, 1]</td>
+        </tr>
+        <tr>
+          <td>k3 = 0.1</td>
+          <td>S[-1, 0, 1] -> S[-1, 1, 1]</td>
+        </tr>
+        <tr>
+          <td>k3 = 0.1</td>
+          <td>S[1, 0, 1] -> S[1, 1, 1]</td>
+        </tr>
+        <tr>
+          <td>k3 = 0.1</td>
+          <td>S[2, 0, 1] -> S[2, 1, 1]</td>
+        </tr>
+        <tr>
+          <td>k4 = 0.1</td>
+          <td>K_MEKP[2, 1] -> MEKP + K[2, 0]</td>
+        </tr>
+        <tr>
+          <td>k5 = 0.1</td>
+          <td>K_K[2, 1, 3, 1] -> K[2, 2] + K[3,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>k5a = 0.1</td>
+          <td>S[0, 1, 1] -> S[0, 2, 1]</td>
+        </tr>
+        <tr>
+          <td>k5a = 0.1</td>
+          <td>S[-1, 1, 1] -> S[-1, 2, 1]</td>
+        </tr>
+        <tr>
+          <td>k5a = 0.1</td>
+          <td>S[1, 1, 1] -> S[1, 2, 1]</td>
+        </tr>
+        <tr>
+          <td>k5a = 0.1</td>
+          <td>S[2, 1, 1] -> S[2, 2, 1]</td>
+        </tr>
+        <tr>
+          <td>k6 = 0.1</td>
+          <td>K_MEKP[2, 2] -> MEKP + K[2, 1]</td>
+        </tr>
+        <tr>
+          <td>k7 = 0.1</td>
+          <td>K_K[1, 0, 2, 2] -> K[1, 1] + K[2,
+							 2]</td>
+        </tr>
+        <tr>
+          <td>k7 = 0.1</td>
+          <td>S[0, 2, 0] -> S[1, 2, 0]</td>
+        </tr>
+        <tr>
+          <td>k7 = 0.1</td>
+          <td>S[0, 2, -1] -> S[1, 2, -1]</td>
+        </tr>
+        <tr>
+          <td>k7 = 0.1</td>
+          <td>S[0, 2, 1] -> S[1, 2, 1]</td>
+        </tr>
+        <tr>
+          <td>k8 = 0.1</td>
+          <td>K_MAPKP[1, 1] -> MAPKP + K[1, 0]</td>
+        </tr>
+        <tr>
+          <td>k9 = 0.1</td>
+          <td>K_K[1, 1, 2, 2] -> K[1, 2] + K[2,
+							 2]</td>
+        </tr>
+        <tr>
+          <td>k9a = 0.1</td>
+          <td>S[1, 2, 0] -> S[2, 2, 0]</td>
+        </tr>
+        <tr>
+          <td>k9a = 0.1</td>
+          <td>S[1, 2, -1] -> S[2, 2, -1]</td>
+        </tr>
+        <tr>
+          <td>k9a = 0.1</td>
+          <td>S[1, 2, 1] -> S[2, 2, 1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 0, 0] -> K[1, 0] + S[-1, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 0, 0] -> K[2, 0] + S[0, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 0, 0] -> K[3, 0] + S[0, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 0, -1] -> K[1, 0] + S[-1, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 0, 1] -> K[1, 0] + S[-1, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 0, -1] -> K[2, 0] + S[0, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 0, 1] -> K[2, 0] + S[0, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, -1, 0] -> K[1, 0] + S[-1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 1, 0] -> K[1, 0] + S[-1, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, -1, 0] -> K[3, 0] + S[0, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 1, 0] -> K[3, 0] + S[0, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, -1, -1] -> K[1, 0] + S[-1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, -1, 1] -> K[1, 0] + S[-1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 1, -1] -> K[1, 0] + S[-1, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 1, 1] -> K[1, 0] + S[-1, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 2, 0] -> K[1, 0] + S[-1, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 2, 0] -> K[3, 0] + S[0, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 2, -1] -> K[1, 0] + S[-1, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[0, 2, 1] -> K[1, 0] + S[-1, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[-1, 0, 0] -> K[2, 0] + S[-1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[1, 0, 0] -> K[2, 0] + S[1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[-1, 0, 0] -> K[3, 0] + S[-1, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[1, 0, 0] -> K[3, 0] + S[1, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[-1, 0, -1] -> K[2, 0] + S[-1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[-1, 0, 1] -> K[2, 0] + S[-1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[1, 0, -1] -> K[2, 0] + S[1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[1, 0, 1] -> K[2, 0] + S[1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[-1, -1, 0] -> K[3, 0] + S[-1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[-1, 1, 0] -> K[3, 0] + S[-1, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[1, -1, 0] -> K[3, 0] + S[1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[1, 1, 0] -> K[3, 0] + S[1, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[-1, 2, 0] -> K[3, 0] + S[-1, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[1, 2, 0] -> K[3, 0] + S[1, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[2, 0, 0] -> K[2, 0] + S[2, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[2, 0, 0] -> K[3, 0] + S[2, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[2, 0, -1] -> K[2, 0] + S[2, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[2, 0, 1] -> K[2, 0] + S[2, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[2, -1, 0] -> K[3, 0] + S[2, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[2, 1, 0] -> K[3, 0] + S[2, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>koff = 0.5</td>
+          <td>S[2, 2, 0] -> K[3, 0] + S[2, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, 0, 0] -> S[0, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, 0, -1] -> S[0, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, 0, 1] -> S[0, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, -1, 0] -> S[0, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, 1, 0] -> S[0, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, -1, -1] -> S[0, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, -1, 1] -> S[0, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, 1, -1] -> S[0, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, 1, 1] -> S[0, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, 2, 0] -> S[0, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, 2, -1] -> S[0, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[1, 0] + S[-1, 2, 1] -> S[0, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[0, -1, 0] -> S[0, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[0, -1, -1] -> S[0, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[0, -1, 1] -> S[0, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[-1, -1, 0] -> S[-1, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[1, -1, 0] -> S[1, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[-1, -1, -1] -> S[-1, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[-1, -1, 1] -> S[-1, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[1, -1, -1] -> S[1, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[1, -1, 1] -> S[1, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[2, -1, 0] -> S[2, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[2, -1, -1] -> S[2, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[2, 0] + S[2, -1, 1] -> S[2, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[0, 0, -1] -> S[0, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[0, -1, -1] -> S[0, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[0, 1, -1] -> S[0, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[0, 2, -1] -> S[0, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[-1, 0, -1] -> S[-1, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[1, 0, -1] -> S[1, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[-1, -1, -1] -> S[-1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[-1, 1, -1] -> S[-1, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[1, -1, -1] -> S[1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[1, 1, -1] -> S[1, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[-1, 2, -1] -> S[-1, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[1, 2, -1] -> S[1, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[2, 0, -1] -> S[2, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[2, -1, -1] -> S[2, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[2, 1, -1] -> S[2, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kon = 10</td>
+          <td>K[3, 0] + S[2, 2, -1] -> S[2, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[0, 0, 1] -> K[3, 1] + S[0, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[0, 1, 0] -> K[2, 1] + S[0, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[0, 1, -1] -> K[2, 1] + S[0, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[0, 1, 1] -> K[2, 1] + S[0, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[0, -1, 1] -> K[3, 1] + S[0, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[0, 1, 1] -> K[3, 1] + S[0, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[0, 2, 0] -> K[2, 2] + S[0, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[0, 2, -1] -> K[2, 2] + S[0, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[0, 2, 1] -> K[2, 2] + S[0, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[0, 2, 1] -> K[3, 1] + S[0, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 0, 0] -> K[1, 1] + S[-1, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 0, -1] -> K[1, 1] + S[-1, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 0, 1] -> K[1, 1] + S[-1, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[-1, 0, 1] -> K[3, 1] + S[-1, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 0, 1] -> K[3, 1] + S[1, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, -1, 0] -> K[1, 1] + S[-1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 1, 0] -> K[1, 1] + S[-1, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[-1, 1, 0] -> K[2, 1] + S[-1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 1, 0] -> K[2, 1] + S[1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, -1, -1] -> K[1, 1] + S[-1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, -1, 1] -> K[1, 1] + S[-1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 1, -1] -> K[1, 1] + S[-1, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 1, 1] -> K[1, 1] + S[-1, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[-1, 1, -1] -> K[2, 1] + S[-1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[-1, 1, 1] -> K[2, 1] + S[-1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 1, -1] -> K[2, 1] + S[1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 1, 1] -> K[2, 1] + S[1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[-1, -1, 1] -> K[3, 1] + S[-1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[-1, 1, 1] -> K[3, 1] + S[-1, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, -1, 1] -> K[3, 1] + S[1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 1, 1] -> K[3, 1] + S[1, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 2, 0] -> K[1, 1] + S[-1, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[-1, 2, 0] -> K[2, 2] + S[-1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 2, 0] -> K[2, 2] + S[1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 2, -1] -> K[1, 1] + S[-1, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 2, 1] -> K[1, 1] + S[-1, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[-1, 2, -1] -> K[2, 2] + S[-1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[-1, 2, 1] -> K[2, 2] + S[-1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 2, -1] -> K[2, 2] + S[1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 2, 1] -> K[2, 2] + S[1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[-1, 2, 1] -> K[3, 1] + S[-1, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[1, 2, 1] -> K[3, 1] + S[1, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 0, 0] -> K[1, 2] + S[-1, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 0, -1] -> K[1, 2] + S[-1, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 0, 1] -> K[1, 2] + S[-1, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 0, 1] -> K[3, 1] + S[2, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, -1, 0] -> K[1, 2] + S[-1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 1, 0] -> K[1, 2] + S[-1, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 1, 0] -> K[2, 1] + S[2, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, -1, -1] -> K[1, 2] + S[-1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, -1, 1] -> K[1, 2] + S[-1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 1, -1] -> K[1, 2] + S[-1, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 1, 1] -> K[1, 2] + S[-1, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 1, -1] -> K[2, 1] + S[2, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 1, 1] -> K[2, 1] + S[2, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, -1, 1] -> K[3, 1] + S[2, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 1, 1] -> K[3, 1] + S[2, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 2, 0] -> K[1, 2] + S[-1, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 2, 0] -> K[2, 2] + S[2, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 2, -1] -> K[1, 2] + S[-1, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 2, 1] -> K[1, 2] + S[-1, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 2, -1] -> K[2, 2] + S[2, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 2, 1] -> K[2, 2] + S[2, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpoff = 0.05</td>
+          <td>S[2, 2, 1] -> K[3, 1] + S[2, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, 0, 0] -> S[1, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, 0, -1] -> S[1, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, 0, 1] -> S[1, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, -1, 0] -> S[1, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, 1, 0] -> S[1, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, -1, -1] -> S[1, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, -1, 1] -> S[1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, 1, -1] -> S[1, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, 1, 1] -> S[1, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, 2, 0] -> S[1, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, 2, -1] -> S[1, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 1] + S[-1, 2, 1] -> S[1, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, 0, 0] -> S[2, 0,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, 0, -1] -> S[2, 0,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, 0, 1] -> S[2, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, -1, 0] -> S[2, -1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, 1, 0] -> S[2, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, -1, -1] -> S[2, -1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, -1, 1] -> S[2, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, 1, -1] -> S[2, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, 1, 1] -> S[2, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, 2, 0] -> S[2, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, 2, -1] -> S[2, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[1, 2] + S[-1, 2, 1] -> S[2, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[0, -1, 0] -> S[0, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[0, -1, -1] -> S[0, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[0, -1, 1] -> S[0, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[-1, -1, 0] -> S[-1, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[1, -1, 0] -> S[1, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[-1, -1, -1] -> S[-1, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[-1, -1, 1] -> S[-1, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[1, -1, -1] -> S[1, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[1, -1, 1] -> S[1, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[2, -1, 0] -> S[2, 1,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[2, -1, -1] -> S[2, 1,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 1] + S[2, -1, 1] -> S[2, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[0, -1, 0] -> S[0, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[0, -1, -1] -> S[0, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[0, -1, 1] -> S[0, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[-1, -1, 0] -> S[-1, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[1, -1, 0] -> S[1, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[-1, -1, -1] -> S[-1, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[-1, -1, 1] -> S[-1, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[1, -1, -1] -> S[1, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[1, -1, 1] -> S[1, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[2, -1, 0] -> S[2, 2,
+							 0]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[2, -1, -1] -> S[2, 2,
+							 -1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[2, 2] + S[2, -1, 1] -> S[2, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[0, 0, -1] -> S[0, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[0, -1, -1] -> S[0, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[0, 1, -1] -> S[0, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[0, 2, -1] -> S[0, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[-1, 0, -1] -> S[-1, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[1, 0, -1] -> S[1, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[-1, -1, -1] -> S[-1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[-1, 1, -1] -> S[-1, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[1, -1, -1] -> S[1, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[1, 1, -1] -> S[1, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[-1, 2, -1] -> S[-1, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[1, 2, -1] -> S[1, 2,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[2, 0, -1] -> S[2, 0,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[2, -1, -1] -> S[2, -1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[2, 1, -1] -> S[2, 1,
+							 1]</td>
+        </tr>
+        <tr>
+          <td>kpon = 0</td>
+          <td>K[3, 1] + S[2, 2, -1] -> S[2, 2,
+							 1]</td>
+        </tr>
+      </tbody>
+    </table><table xmlns="http://www.w3.org/1999/xhtml" border="0" cellpadding="2" cellspacing="0">
+      <thead>
+        <tr>
+          <th align="left" bgcolor="#eeeeee" valign="middle">Variable</th>
+          <th align="left" bgcolor="#eeeeee" valign="middle">IC  </th>
+          <th align="left" bgcolor="#eeeeee" valign="middle">ODE</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td>MAPKP</td>
+          <td>0.3</td>
+          <td>MAPKP'[t] == -(a8*MAPKP[t]*K[1, 1][t]) - a10*MAPKP[
+							t]*K[1, 2][t] + d8*K_MAPKP[1, 1][t] + k8*K_MAPKP[
+							1, 1][t] + d10*K_MAPKP[1, 2][t] + k10*K_MAPKP[1,
+							 2][t]</td>
+        </tr>
+        <tr>
+          <td>MEKP</td>
+          <td>0.2</td>
+          <td>MEKP'[t] == -(a4*MEKP[t]*K[2, 1][t]) - a6*MEKP[t]*
+							K[2, 2][t] + d4*K_MEKP[2, 1][t] + k4*K_MEKP[2,
+							 1][t] + d6*K_MEKP[2, 2][t] + k6*K_MEKP[2, 2]
+							[t]</td>
+        </tr>
+        <tr>
+          <td>RAFK</td>
+          <td>0.1</td>
+          <td>RAFK'[t] == -(a1*RAFK[t]*K[3, 0][t]) + d1*K_RAFK[3,
+							 0][t] + k1*K_RAFK[3, 0][t] - k1a*RAFK[t]*S[-1,
+							 -1, 0][t] - k1a*RAFK[t]*S[-1, 0, 0][t] -
+							 k1a*RAFK[t]*S[-1, 1, 0][t] - k1a*RAFK[t]*S[-1, 2,
+							 0][t] - k1a*RAFK[t]*S[0, -1, 0][t] - k1a*
+							RAFK[t]*S[0, 0, 0][t] - k1a*RAFK[t]*S[0, 1, 0][t]
+							 - k1a*RAFK[t]*S[0, 2, 0][t] - k1a*RAFK[t]*S[1,
+							 -1, 0][t] - k1a*RAFK[t]*S[1, 0, 0][t] -
+							 k1a*RAFK[t]*S[1, 1, 0][t] - k1a*RAFK[t]*S[1, 2,
+							 0][t] - k1a*RAFK[t]*S[2, -1, 0][t] - k1a*
+							RAFK[t]*S[2, 0, 0][t] - k1a*RAFK[t]*S[2, 1, 0][t]
+							 - k1a*RAFK[t]*S[2, 2, 0][t] + d1a*S_RAFK[-1,
+							 -1, 0][t] + k1*S_RAFK[-1, -1, 0][t] +
+							 d1a*S_RAFK[-1, 0, 0][t] + k1*S_RAFK[-1, 0,
+							 0][t] + d1a*S_RAFK[-1, 1, 0][t] + k1*S_RAFK[
+							-1, 1, 0][t] + d1a*S_RAFK[-1, 2, 0][t] +
+							 k1*S_RAFK[-1, 2, 0][t] + d1a*S_RAFK[0, -1,
+							 0][t] + k1*S_RAFK[0, -1, 0][t] + d1a*S_RAFK[
+							0, 0, 0][t] + k1*S_RAFK[0, 0, 0][t] +
+							 d1a*S_RAFK[0, 1, 0][t] + k1*S_RAFK[0, 1, 0][
+							t] + d1a*S_RAFK[0, 2, 0][t] + k1*S_RAFK[0, 2,
+							 0][t] + d1a*S_RAFK[1, -1, 0][t] + k1*S_RAFK[
+							1, -1, 0][t] + d1a*S_RAFK[1, 0, 0][t] +
+							 k1*S_RAFK[1, 0, 0][t] + d1a*S_RAFK[1, 1, 0][
+							t] + k1*S_RAFK[1, 1, 0][t] + d1a*S_RAFK[1, 2,
+							 0][t] + k1*S_RAFK[1, 2, 0][t] + d1a*S_RAFK[
+							2, -1, 0][t] + k1*S_RAFK[2, -1, 0][t] +
+							 d1a*S_RAFK[2, 0, 0][t] + k1*S_RAFK[2, 0, 0][
+							t] + d1a*S_RAFK[2, 1, 0][t] + k1*S_RAFK[2, 1,
+							 0][t] + d1a*S_RAFK[2, 2, 0][t] + k1*S_RAFK[
+							2, 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>RAFP</td>
+          <td>0.3</td>
+          <td>RAFP'[t] == -(a2*RAFP[t]*K[3, 1][t]) + d2*K_RAFP[3,
+							 1][t] + k2*K_RAFP[3, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K[1, 0]</td>
+          <td>0.4</td>
+          <td>(K[1, 0])'[t] == -(a7*K[1, 0][t]*K[2, 2][t]) +
+							 d7*K_K[1, 0, 2, 2][t] + k8*K_MAPKP[1, 1][t]
+							 - kon*K[1, 0][t]*S[-1, -1, -1][t] - kon*K[1,
+							 0][t]*S[-1, -1, 0][t] - kon*K[1, 0][t]*S[-1,
+							 -1, 1][t] - kon*K[1, 0][t]*S[-1, 0, -1][t]
+							 - kon*K[1, 0][t]*S[-1, 0, 0][t] - kon*K[1,
+							 0][t]*S[-1, 0, 1][t] - kon*K[1, 0][t]*S[-1,
+							 1, -1][t] - kon*K[1, 0][t]*S[-1, 1, 0][t]
+							 - kon*K[1, 0][t]*S[-1, 1, 1][t] - kon*K[1,
+							 0][t]*S[-1, 2, -1][t] - kon*K[1, 0][t]*S[-1,
+							 2, 0][t] - kon*K[1, 0][t]*S[-1, 2, 1][t]
+							 + koff*S[0, -1, -1][t] + koff*S[0, -1,
+							 0][t] + koff*S[0, -1, 1][t] + koff*S[0,
+							 0, -1][t] + koff*S[0, 0, 0][t] + koff*
+							S[0, 0, 1][t] + koff*S[0, 1, -1][t] +
+							 koff*S[0, 1, 0][t] + koff*S[0, 1, 1][t]
+							 + koff*S[0, 2, -1][t] + koff*S[0, 2, 0]
+							[t] + koff*S[0, 2, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K[1, 1]</td>
+          <td>0</td>
+          <td>(K[1, 1])'[t] == -(a8*MAPKP[t]*K[1, 1][t]) -
+							 a9*K[1, 1][t]*K[2, 2][t] + k7*K_K[1, 0, 2,
+							 2][t] + d9*K_K[1, 1, 2, 2][t] + d8*
+							K_MAPKP[1, 1][t] + k10*K_MAPKP[1, 2][t] - kpon*K[
+							1, 1][t]*S[-1, -1, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 -1, 0][t] - kpon*K[1, 1][t]*S[-1, -1, 1][t]
+							 - kpon*K[1, 1][t]*S[-1, 0, -1][t] - kpon*K[
+							1, 1][t]*S[-1, 0, 0][t] - kpon*K[1, 1][t]*S[-1,
+							 0, 1][t] - kpon*K[1, 1][t]*S[-1, 1, -1][t]
+							 - kpon*K[1, 1][t]*S[-1, 1, 0][t] - kpon*K[1,
+							 1][t]*S[-1, 1, 1][t] - kpon*K[1, 1][t]*S[-1,
+							 2, -1][t] - kpon*K[1, 1][t]*S[-1, 2, 0][t]
+							 - kpon*K[1, 1][t]*S[-1, 2, 1][t] + kpoff*S[
+							1, -1, -1][t] + kpoff*S[1, -1, 0][t] +
+							 kpoff*S[1, -1, 1][t] + kpoff*S[1, 0, -1][t]
+							 + kpoff*S[1, 0, 0][t] + kpoff*S[1, 0,
+							 1][t] + kpoff*S[1, 1, -1][t] + kpoff*S[1,
+							 1, 0][t] + kpoff*S[1, 1, 1][t] + kpoff*
+							S[1, 2, -1][t] + kpoff*S[1, 2, 0][t] +
+							 kpoff*S[1, 2, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K[1, 2]</td>
+          <td>0</td>
+          <td>(K[1, 2])'[t] == -(a10*MAPKP[t]*K[1, 2][t]) +
+							 k9*K_K[1, 1, 2, 2][t] + d10*K_MAPKP[1, 2][t]
+							 - kpon*K[1, 2][t]*S[-1, -1, -1][t] - kpon*K[
+							1, 2][t]*S[-1, -1, 0][t] - kpon*K[1, 2][t]*S[-1,
+							 -1, 1][t] - kpon*K[1, 2][t]*S[-1, 0, -1][t]
+							 - kpon*K[1, 2][t]*S[-1, 0, 0][t] - kpon*K[1,
+							 2][t]*S[-1, 0, 1][t] - kpon*K[1, 2][t]*S[-1,
+							 1, -1][t] - kpon*K[1, 2][t]*S[-1, 1, 0][t]
+							 - kpon*K[1, 2][t]*S[-1, 1, 1][t] - kpon*K[1,
+							 2][t]*S[-1, 2, -1][t] - kpon*K[1, 2][t]*S[-1,
+							 2, 0][t] - kpon*K[1, 2][t]*S[-1, 2, 1][t]
+							 + kpoff*S[2, -1, -1][t] + kpoff*S[2, -1,
+							 0][t] + kpoff*S[2, -1, 1][t] + kpoff*S[2,
+							 0, -1][t] + kpoff*S[2, 0, 0][t] +
+							 kpoff*S[2, 0, 1][t] + kpoff*S[2, 1, -1][t]
+							 + kpoff*S[2, 1, 0][t] + kpoff*S[2, 1,
+							 1][t] + kpoff*S[2, 2, -1][t] + kpoff*S[2,
+							 2, 0][t] + kpoff*S[2, 2, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K[2, 0]</td>
+          <td>0.2</td>
+          <td>(K[2, 0])'[t] == -(a3*K[2, 0][t]*K[3, 1][t]) +
+							 d3*K_K[2, 0, 3, 1][t] + k4*K_MEKP[2, 1][t]
+							 - kon*K[2, 0][t]*S[-1, -1, -1][t] - kon*K[2,
+							 0][t]*S[-1, -1, 0][t] - kon*K[2, 0][t]*S[-1,
+							 -1, 1][t] + koff*S[-1, 0, -1][t] +
+							 koff*S[-1, 0, 0][t] + koff*S[-1, 0, 1][t]
+							 - kon*K[2, 0][t]*S[0, -1, -1][t] - kon*K[2,
+							 0][t]*S[0, -1, 0][t] - kon*K[2, 0][t]*S[0, -
+							1, 1][t] + koff*S[0, 0, -1][t] + koff*S[0,
+							 0, 0][t] + koff*S[0, 0, 1][t] - kon*K[
+							2, 0][t]*S[1, -1, -1][t] - kon*K[2, 0][t]*S[1,
+							 -1, 0][t] - kon*K[2, 0][t]*S[1, -1, 1][t]
+							 + koff*S[1, 0, -1][t] + koff*S[1, 0, 0]
+							[t] + koff*S[1, 0, 1][t] - kon*K[2, 0][t]*S[
+							2, -1, -1][t] - kon*K[2, 0][t]*S[2, -1, 0][t]
+							 - kon*K[2, 0][t]*S[2, -1, 1][t] + koff*S[2,
+							 0, -1][t] + koff*S[2, 0, 0][t] + koff*
+							S[2, 0, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K[2, 1]</td>
+          <td>0</td>
+          <td>(K[2, 1])'[t] == -(a4*MEKP[t]*K[2, 1][t]) -
+							 a5*K[2, 1][t]*K[3, 1][t] + k3*K_K[2, 0, 3,
+							 1][t] + d5*K_K[2, 1, 3, 1][t] + d4*
+							K_MEKP[2, 1][t] + k6*K_MEKP[2, 2][t] - kpon*K[2,
+							 1][t]*S[-1, -1, -1][t] - kpon*K[2, 1][t]*S[-1,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[-1, -1, 1][t]
+							 + kpoff*S[-1, 1, -1][t] + kpoff*S[-1, 1,
+							 0][t] + kpoff*S[-1, 1, 1][t] - kpon*K[2,
+							 1][t]*S[0, -1, -1][t] - kpon*K[2, 1][t]*S[0,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[0, -1, 1][t]
+							 + kpoff*S[0, 1, -1][t] + kpoff*S[0, 1,
+							 0][t] + kpoff*S[0, 1, 1][t] - kpon*K[2,
+							 1][t]*S[1, -1, -1][t] - kpon*K[2, 1][t]*S[1,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[1, -1, 1][t]
+							 + kpoff*S[1, 1, -1][t] + kpoff*S[1, 1,
+							 0][t] + kpoff*S[1, 1, 1][t] - kpon*K[2,
+							 1][t]*S[2, -1, -1][t] - kpon*K[2, 1][t]*S[2,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[2, -1, 1][t]
+							 + kpoff*S[2, 1, -1][t] + kpoff*S[2, 1,
+							 0][t] + kpoff*S[2, 1, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K[2, 2]</td>
+          <td>0</td>
+          <td>(K[2, 2])'[t] == -(a6*MEKP[t]*K[2, 2][t]) -
+							 a7*K[1, 0][t]*K[2, 2][t] - a9*K[1, 1][t]*K[2,
+							 2][t] + d7*K_K[1, 0, 2, 2][t] + k7*K_K[
+							1, 0, 2, 2][t] + d9*K_K[1, 1, 2, 2][t]
+							 + k9*K_K[1, 1, 2, 2][t] + k5*K_K[2, 1,
+							 3, 1][t] + d6*K_MEKP[2, 2][t] - kpon*K[2,
+							 2][t]*S[-1, -1, -1][t] - kpon*K[2, 2][t]*S[-1,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[-1, -1, 1][t]
+							 + kpoff*S[-1, 2, -1][t] + kpoff*S[-1, 2,
+							 0][t] + kpoff*S[-1, 2, 1][t] - kpon*K[2,
+							 2][t]*S[0, -1, -1][t] - kpon*K[2, 2][t]*S[0,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[0, -1, 1][t]
+							 + kpoff*S[0, 2, -1][t] + kpoff*S[0, 2,
+							 0][t] + kpoff*S[0, 2, 1][t] - kpon*K[2,
+							 2][t]*S[1, -1, -1][t] - kpon*K[2, 2][t]*S[1,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[1, -1, 1][t]
+							 + kpoff*S[1, 2, -1][t] + kpoff*S[1, 2,
+							 0][t] + kpoff*S[1, 2, 1][t] - kpon*K[2,
+							 2][t]*S[2, -1, -1][t] - kpon*K[2, 2][t]*S[2,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[2, -1, 1][t]
+							 + kpoff*S[2, 2, -1][t] + kpoff*S[2, 2,
+							 0][t] + kpoff*S[2, 2, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K[3, 0]</td>
+          <td>0.3</td>
+          <td>(K[3, 0])'[t] == -(a1*RAFK[t]*K[3, 0][t]) +
+							 d1*K_RAFK[3, 0][t] + k2*K_RAFP[3, 1][t] -
+							 kon*K[3, 0][t]*S[-1, -1, -1][t] + koff*S[-1,
+							 -1, 0][t] - kon*K[3, 0][t]*S[-1, 0, -1][t]
+							 + koff*S[-1, 0, 0][t] - kon*K[3, 0][t]*S[-1,
+							 1, -1][t] + koff*S[-1, 1, 0][t] - kon*
+							K[3, 0][t]*S[-1, 2, -1][t] + koff*S[-1, 2, 0]
+							[t] - kon*K[3, 0][t]*S[0, -1, -1][t] + koff*
+							S[0, -1, 0][t] - kon*K[3, 0][t]*S[0, 0, -1][
+							t] + koff*S[0, 0, 0][t] - kon*K[3, 0][t]*S[0,
+							 1, -1][t] + koff*S[0, 1, 0][t] - kon*K[
+							3, 0][t]*S[0, 2, -1][t] + koff*S[0, 2, 0][t]
+							 - kon*K[3, 0][t]*S[1, -1, -1][t] + koff*S[1,
+							 -1, 0][t] - kon*K[3, 0][t]*S[1, 0, -1][t]
+							 + koff*S[1, 0, 0][t] - kon*K[3, 0][t]*S[1,
+							 1, -1][t] + koff*S[1, 1, 0][t] - kon*K[
+							3, 0][t]*S[1, 2, -1][t] + koff*S[1, 2, 0][t]
+							 - kon*K[3, 0][t]*S[2, -1, -1][t] + koff*S[2,
+							 -1, 0][t] - kon*K[3, 0][t]*S[2, 0, -1][t]
+							 + koff*S[2, 0, 0][t] - kon*K[3, 0][t]*S[2,
+							 1, -1][t] + koff*S[2, 1, 0][t] - kon*K[
+							3, 0][t]*S[2, 2, -1][t] + koff*S[2, 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>K[3, 1]</td>
+          <td>0</td>
+          <td>(K[3, 1])'[t] == -(a2*RAFP[t]*K[3, 1][t]) -
+							 a3*K[2, 0][t]*K[3, 1][t] - a5*K[2, 1][t]*K[3,
+							 1][t] + d3*K_K[2, 0, 3, 1][t] + k3*K_K[
+							2, 0, 3, 1][t] + d5*K_K[2, 1, 3, 1][t]
+							 + k5*K_K[2, 1, 3, 1][t] + k1*K_RAFK[3,
+							 0][t] + d2*K_RAFP[3, 1][t] - kpon*K[3, 1][t]
+							*S[-1, -1, -1][t] + kpoff*S[-1, -1, 1][t] -
+							 kpon*K[3, 1][t]*S[-1, 0, -1][t] + kpoff*S[-1,
+							 0, 1][t] - kpon*K[3, 1][t]*S[-1, 1, -1][t]
+							 + kpoff*S[-1, 1, 1][t] - kpon*K[3, 1][t]*S[-
+							1, 2, -1][t] + kpoff*S[-1, 2, 1][t] -
+							 kpon*K[3, 1][t]*S[0, -1, -1][t] + kpoff*S[0,
+							 -1, 1][t] - kpon*K[3, 1][t]*S[0, 0, -1][t]
+							 + kpoff*S[0, 0, 1][t] - kpon*K[3, 1][t]*S[0,
+							 1, -1][t] + kpoff*S[0, 1, 1][t] - kpon*
+							K[3, 1][t]*S[0, 2, -1][t] + kpoff*S[0, 2, 1][
+							t] - kpon*K[3, 1][t]*S[1, -1, -1][t] + kpoff*
+							S[1, -1, 1][t] - kpon*K[3, 1][t]*S[1, 0, -1][
+							t] + kpoff*S[1, 0, 1][t] - kpon*K[3, 1][t]*S[
+							1, 1, -1][t] + kpoff*S[1, 1, 1][t] -
+							 kpon*K[3, 1][t]*S[1, 2, -1][t] + kpoff*S[1,
+							 2, 1][t] - kpon*K[3, 1][t]*S[2, -1, -1][t]
+							 + kpoff*S[2, -1, 1][t] - kpon*K[3, 1][t]*S[
+							2, 0, -1][t] + kpoff*S[2, 0, 1][t] -
+							 kpon*K[3, 1][t]*S[2, 1, -1][t] + kpoff*S[2,
+							 1, 1][t] - kpon*K[3, 1][t]*S[2, 2, -1][t]
+							 + kpoff*S[2, 2, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K_K[1, 0, 2, 2]</td>
+          <td>0</td>
+          <td>(K_K[1, 0, 2, 2])'[t] == a7*K[1, 0][t]*K[2,
+							 2][t] - d7*K_K[1, 0, 2, 2][t] - k7*K_K[
+							1, 0, 2, 2][t]</td>
+        </tr>
+        <tr>
+          <td>K_K[1, 1, 2, 2]</td>
+          <td>0</td>
+          <td>(K_K[1, 1, 2, 2])'[t] == a9*K[1, 1][t]*K[2,
+							 2][t] - d9*K_K[1, 1, 2, 2][t] - k9*K_K[
+							1, 1, 2, 2][t]</td>
+        </tr>
+        <tr>
+          <td>K_K[2, 0, 3, 1]</td>
+          <td>0</td>
+          <td>(K_K[2, 0, 3, 1])'[t] == a3*K[2, 0][t]*K[3,
+							 1][t] - d3*K_K[2, 0, 3, 1][t] - k3*K_K[
+							2, 0, 3, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K_K[2, 1, 3, 1]</td>
+          <td>0</td>
+          <td>(K_K[2, 1, 3, 1])'[t] == a5*K[2, 1][t]*K[3,
+							 1][t] - d5*K_K[2, 1, 3, 1][t] - k5*K_K[
+							2, 1, 3, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K_MAPKP[1, 1]</td>
+          <td>0</td>
+          <td>(K_MAPKP[1, 1])'[t] == a8*MAPKP[t]*K[1, 1][t] -
+							 d8*K_MAPKP[1, 1][t] - k8*K_MAPKP[1, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K_MAPKP[1, 2]</td>
+          <td>0</td>
+          <td>(K_MAPKP[1, 2])'[t] == a10*MAPKP[t]*K[1, 2][t] -
+							 d10*K_MAPKP[1, 2][t] - k10*K_MAPKP[1, 2][t]</td>
+        </tr>
+        <tr>
+          <td>K_MEKP[2, 1]</td>
+          <td>0</td>
+          <td>(K_MEKP[2, 1])'[t] == a4*MEKP[t]*K[2, 1][t] -
+							 d4*K_MEKP[2, 1][t] - k4*K_MEKP[2, 1][t]</td>
+        </tr>
+        <tr>
+          <td>K_MEKP[2, 2]</td>
+          <td>0</td>
+          <td>(K_MEKP[2, 2])'[t] == a6*MEKP[t]*K[2, 2][t] -
+							 d6*K_MEKP[2, 2][t] - k6*K_MEKP[2, 2][t]</td>
+        </tr>
+        <tr>
+          <td>K_RAFK[3, 0]</td>
+          <td>0</td>
+          <td>(K_RAFK[3, 0])'[t] == a1*RAFK[t]*K[3, 0][t] -
+							 d1*K_RAFK[3, 0][t] - k1*K_RAFK[3, 0][t]</td>
+        </tr>
+        <tr>
+          <td>K_RAFP[3, 1]</td>
+          <td>0</td>
+          <td>(K_RAFP[3, 1])'[t] == a2*RAFP[t]*K[3, 1][t] -
+							 d2*K_RAFP[3, 1][t] - k2*K_RAFP[3, 1][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, -1, -1]</td>
+          <td>0.1</td>
+          <td>(S[-1, -1, -1])'[t] == -(kon*K[1, 0][t]*S[-1,
+							 -1, -1][t]) - kpon*K[1, 1][t]*S[-1, -1, -1][
+							t] - kpon*K[1, 2][t]*S[-1, -1, -1][t] - kon*
+							K[2, 0][t]*S[-1, -1, -1][t] - kpon*K[2, 1][t]*S[-
+							1, -1, -1][t] - kpon*K[2, 2][t]*S[-1, -1, -1]
+							[t] - kon*K[3, 0][t]*S[-1, -1, -1][t] - kpon*
+							K[3, 1][t]*S[-1, -1, -1][t] + koff*S[-1, -1,
+							 0][t] + kpoff*S[-1, -1, 1][t] + koff*S[-1,
+							 0, -1][t] + kpoff*S[-1, 1, -1][t] +
+							 kpoff*S[-1, 2, -1][t] + koff*S[0, -1, -1][t]
+							 + kpoff*S[1, -1, -1][t] + kpoff*S[2, -1,
+							 -1][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, -1, 0]</td>
+          <td>0</td>
+          <td>(S[-1, -1, 0])'[t] == kon*K[3, 0][t]*S[-1, -1,
+							 -1][t] - koff*S[-1, -1, 0][t] - k1a*RAFK[t]*
+							S[-1, -1, 0][t] - kon*K[1, 0][t]*S[-1, -1, 0]
+							[t] - kpon*K[1, 1][t]*S[-1, -1, 0][t] - kpon*
+							K[1, 2][t]*S[-1, -1, 0][t] - kon*K[2, 0][t]*S[-1,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[-1, -1, 0][t]
+							 - kpon*K[2, 2][t]*S[-1, -1, 0][t] + koff*S[-
+							1, 0, 0][t] + kpoff*S[-1, 1, 0][t] +
+							 kpoff*S[-1, 2, 0][t] + koff*S[0, -1, 0][t]
+							 + kpoff*S[1, -1, 0][t] + kpoff*S[2, -1,
+							 0][t] + d1a*S_RAFK[-1, -1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, -1, 1]</td>
+          <td>0</td>
+          <td>(S[-1, -1, 1])'[t] == kpon*K[3, 1][t]*S[-1, -
+							1, -1][t] - kpoff*S[-1, -1, 1][t] - kon*K[1,
+							 0][t]*S[-1, -1, 1][t] - kpon*K[1, 1][t]*S[-1,
+							 -1, 1][t] - kpon*K[1, 2][t]*S[-1, -1, 1][t]
+							 - kon*K[2, 0][t]*S[-1, -1, 1][t] - kpon*K[2,
+							 1][t]*S[-1, -1, 1][t] - kpon*K[2, 2][t]*S[-1,
+							 -1, 1][t] + koff*S[-1, 0, 1][t] +
+							 kpoff*S[-1, 1, 1][t] + kpoff*S[-1, 2, 1][t]
+							 + koff*S[0, -1, 1][t] + kpoff*S[1, -1,
+							 1][t] + kpoff*S[2, -1, 1][t] + k1*S_RAFK[-1,
+							 -1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, 0, -1]</td>
+          <td>0</td>
+          <td>(S[-1, 0, -1])'[t] == kon*K[2, 0][t]*S[-1, -1,
+							 -1][t] - koff*S[-1, 0, -1][t] - kon*K[1,
+							 0][t]*S[-1, 0, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 0, -1][t] - kpon*K[1, 2][t]*S[-1, 0, -1][t]
+							 - kon*K[3, 0][t]*S[-1, 0, -1][t] - kpon*K[3,
+							 1][t]*S[-1, 0, -1][t] + koff*S[-1, 0, 0][t]
+							 + kpoff*S[-1, 0, 1][t] + koff*S[0, 0, -
+							1][t] + kpoff*S[1, 0, -1][t] + kpoff*S[2, 0,
+							 -1][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, 0, 0]</td>
+          <td>0</td>
+          <td>(S[-1, 0, 0])'[t] == kon*K[2, 0][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[-1, 0, -1][t] -
+							 2*koff*S[-1, 0, 0][t] - k1a*RAFK[t]*S[-1, 0,
+							 0][t] - kon*K[1, 0][t]*S[-1, 0, 0][t] -
+							 kpon*K[1, 1][t]*S[-1, 0, 0][t] - kpon*K[1,
+							 2][t]*S[-1, 0, 0][t] + koff*S[0, 0, 0][t]
+							 + kpoff*S[1, 0, 0][t] + kpoff*S[2, 0,
+							 0][t] + d1a*S_RAFK[-1, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, 0, 1]</td>
+          <td>0</td>
+          <td>(S[-1, 0, 1])'[t] == kon*K[2, 0][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[-1, 0, -1][t] -
+							 k3*S[-1, 0, 1][t] - koff*S[-1, 0, 1][t]
+							 - kpoff*S[-1, 0, 1][t] - kon*K[1, 0][t]*S[-
+							1, 0, 1][t] - kpon*K[1, 1][t]*S[-1, 0, 1][t]
+							 - kpon*K[1, 2][t]*S[-1, 0, 1][t] + koff*S[0,
+							 0, 1][t] + kpoff*S[1, 0, 1][t] + kpoff*
+							S[2, 0, 1][t] + k1*S_RAFK[-1, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, 1, -1]</td>
+          <td>0</td>
+          <td>(S[-1, 1, -1])'[t] == kpon*K[2, 1][t]*S[-1, -
+							1, -1][t] - kpoff*S[-1, 1, -1][t] - kon*K[1,
+							 0][t]*S[-1, 1, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 1, -1][t] - kpon*K[1, 2][t]*S[-1, 1, -1][t]
+							 - kon*K[3, 0][t]*S[-1, 1, -1][t] - kpon*K[3,
+							 1][t]*S[-1, 1, -1][t] + koff*S[-1, 1, 0][t]
+							 + kpoff*S[-1, 1, 1][t] + koff*S[0, 1, -
+							1][t] + kpoff*S[1, 1, -1][t] + kpoff*S[2, 1,
+							 -1][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, 1, 0]</td>
+          <td>0</td>
+          <td>(S[-1, 1, 0])'[t] == kpon*K[2, 1][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[-1, 1, -1][t] -
+							 koff*S[-1, 1, 0][t] - kpoff*S[-1, 1, 0][t]
+							 - k1a*RAFK[t]*S[-1, 1, 0][t] - kon*K[1, 0][
+							t]*S[-1, 1, 0][t] - kpon*K[1, 1][t]*S[-1, 1,
+							 0][t] - kpon*K[1, 2][t]*S[-1, 1, 0][t] +
+							 koff*S[0, 1, 0][t] + kpoff*S[1, 1, 0][t]
+							 + kpoff*S[2, 1, 0][t] + d1a*S_RAFK[-1, 1,
+							 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, 1, 1]</td>
+          <td>0</td>
+          <td>(S[-1, 1, 1])'[t] == kpon*K[2, 1][t]*S[-1, -1,
+							 1][t] + k3*S[-1, 0, 1][t] + kpon*K[3,
+							 1][t]*S[-1, 1, -1][t] - k5a*S[-1, 1, 1][t]
+							 - 2*kpoff*S[-1, 1, 1][t] - kon*K[1, 0][t]*S[
+							-1, 1, 1][t] - kpon*K[1, 1][t]*S[-1, 1, 1][t]
+							 - kpon*K[1, 2][t]*S[-1, 1, 1][t] + koff*S[0,
+							 1, 1][t] + kpoff*S[1, 1, 1][t] + kpoff*
+							S[2, 1, 1][t] + k1*S_RAFK[-1, 1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, 2, -1]</td>
+          <td>0</td>
+          <td>(S[-1, 2, -1])'[t] == kpon*K[2, 2][t]*S[-1, -
+							1, -1][t] - kpoff*S[-1, 2, -1][t] - kon*K[1,
+							 0][t]*S[-1, 2, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 2, -1][t] - kpon*K[1, 2][t]*S[-1, 2, -1][t]
+							 - kon*K[3, 0][t]*S[-1, 2, -1][t] - kpon*K[3,
+							 1][t]*S[-1, 2, -1][t] + koff*S[-1, 2, 0][t]
+							 + kpoff*S[-1, 2, 1][t] + koff*S[0, 2, -
+							1][t] + kpoff*S[1, 2, -1][t] + kpoff*S[2, 2,
+							 -1][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, 2, 0]</td>
+          <td>0</td>
+          <td>(S[-1, 2, 0])'[t] == kpon*K[2, 2][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[-1, 2, -1][t] -
+							 koff*S[-1, 2, 0][t] - kpoff*S[-1, 2, 0][t]
+							 - k1a*RAFK[t]*S[-1, 2, 0][t] - kon*K[1, 0][
+							t]*S[-1, 2, 0][t] - kpon*K[1, 1][t]*S[-1, 2,
+							 0][t] - kpon*K[1, 2][t]*S[-1, 2, 0][t] +
+							 koff*S[0, 2, 0][t] + kpoff*S[1, 2, 0][t]
+							 + kpoff*S[2, 2, 0][t] + d1a*S_RAFK[-1, 2,
+							 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[-1, 2, 1]</td>
+          <td>0</td>
+          <td>(S[-1, 2, 1])'[t] == kpon*K[2, 2][t]*S[-1, -1,
+							 1][t] + k5a*S[-1, 1, 1][t] + kpon*K[3,
+							 1][t]*S[-1, 2, -1][t] - 2*kpoff*S[-1, 2, 1][
+							t] - kon*K[1, 0][t]*S[-1, 2, 1][t] - kpon*K[
+							1, 1][t]*S[-1, 2, 1][t] - kpon*K[1, 2][t]*S[-1,
+							 2, 1][t] + koff*S[0, 2, 1][t] + kpoff*
+							S[1, 2, 1][t] + kpoff*S[2, 2, 1][t] +
+							 k1*S_RAFK[-1, 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[0, -1, -1]</td>
+          <td>0</td>
+          <td>(S[0, -1, -1])'[t] == kon*K[1, 0][t]*S[-1, -1,
+							 -1][t] - koff*S[0, -1, -1][t] - kon*K[2,
+							 0][t]*S[0, -1, -1][t] - kpon*K[2, 1][t]*S[0,
+							 -1, -1][t] - kpon*K[2, 2][t]*S[0, -1, -1][t]
+							 - kon*K[3, 0][t]*S[0, -1, -1][t] - kpon*K[3,
+							 1][t]*S[0, -1, -1][t] + koff*S[0, -1, 0][t]
+							 + kpoff*S[0, -1, 1][t] + koff*S[0, 0, -
+							1][t] + kpoff*S[0, 1, -1][t] + kpoff*S[0, 2,
+							 -1][t]</td>
+        </tr>
+        <tr>
+          <td>S[0, -1, 0]</td>
+          <td>0</td>
+          <td>(S[0, -1, 0])'[t] == kon*K[1, 0][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[0, -1, -1][t] -
+							 2*koff*S[0, -1, 0][t] - k1a*RAFK[t]*S[0, -1,
+							 0][t] - kon*K[2, 0][t]*S[0, -1, 0][t] -
+							 kpon*K[2, 1][t]*S[0, -1, 0][t] - kpon*K[2,
+							 2][t]*S[0, -1, 0][t] + koff*S[0, 0, 0][t]
+							 + kpoff*S[0, 1, 0][t] + kpoff*S[0, 2,
+							 0][t] + d1a*S_RAFK[0, -1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[0, -1, 1]</td>
+          <td>0</td>
+          <td>(S[0, -1, 1])'[t] == kon*K[1, 0][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[0, -1, -1][t] -
+							 koff*S[0, -1, 1][t] - kpoff*S[0, -1, 1][t]
+							 - kon*K[2, 0][t]*S[0, -1, 1][t] - kpon*K[2,
+							 1][t]*S[0, -1, 1][t] - kpon*K[2, 2][t]*S[0,
+							 -1, 1][t] + koff*S[0, 0, 1][t] + kpoff*
+							S[0, 1, 1][t] + kpoff*S[0, 2, 1][t] +
+							 k1*S_RAFK[0, -1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[0, 0, -1]</td>
+          <td>0</td>
+          <td>(S[0, 0, -1])'[t] == kon*K[1, 0][t]*S[-1, 0,
+							 -1][t] + kon*K[2, 0][t]*S[0, -1, -1][t] -
+							 2*koff*S[0, 0, -1][t] - kon*K[3, 0][t]*S[0,
+							 0, -1][t] - kpon*K[3, 1][t]*S[0, 0, -1][t]
+							 + koff*S[0, 0, 0][t] + kpoff*S[0, 0, 1]
+							[t]</td>
+        </tr>
+        <tr>
+          <td>S[0, 0, 0]</td>
+          <td>0</td>
+          <td>(S[0, 0, 0])'[t] == kon*K[1, 0][t]*S[-1, 0,
+							 0][t] + kon*K[2, 0][t]*S[0, -1, 0][t] +
+							 kon*K[3, 0][t]*S[0, 0, -1][t] - 3*koff*S[0,
+							 0, 0][t] - k1a*RAFK[t]*S[0, 0, 0][t] +
+							 d1a*S_RAFK[0, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[0, 0, 1]</td>
+          <td>0</td>
+          <td>(S[0, 0, 1])'[t] == kon*K[1, 0][t]*S[-1, 0,
+							 1][t] + kon*K[2, 0][t]*S[0, -1, 1][t] +
+							 kpon*K[3, 1][t]*S[0, 0, -1][t] - k3*S[0, 0,
+							 1][t] - 2*koff*S[0, 0, 1][t] - kpoff*S[0,
+							 0, 1][t] + k1*S_RAFK[0, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[0, 1, -1]</td>
+          <td>0</td>
+          <td>(S[0, 1, -1])'[t] == kon*K[1, 0][t]*S[-1, 1,
+							 -1][t] + kpon*K[2, 1][t]*S[0, -1, -1][t] -
+							 koff*S[0, 1, -1][t] - kpoff*S[0, 1, -1][t]
+							 - kon*K[3, 0][t]*S[0, 1, -1][t] - kpon*K[3,
+							 1][t]*S[0, 1, -1][t] + koff*S[0, 1, 0][t]
+							 + kpoff*S[0, 1, 1][t]</td>
+        </tr>
+        <tr>
+          <td>S[0, 1, 0]</td>
+          <td>0</td>
+          <td>(S[0, 1, 0])'[t] == kon*K[1, 0][t]*S[-1, 1,
+							 0][t] + kpon*K[2, 1][t]*S[0, -1, 0][t] +
+							 kon*K[3, 0][t]*S[0, 1, -1][t] - 2*koff*S[0,
+							 1, 0][t] - kpoff*S[0, 1, 0][t] - k1a*
+							RAFK[t]*S[0, 1, 0][t] + d1a*S_RAFK[0, 1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[0, 1, 1]</td>
+          <td>0</td>
+          <td>(S[0, 1, 1])'[t] == kon*K[1, 0][t]*S[-1, 1,
+							 1][t] + kpon*K[2, 1][t]*S[0, -1, 1][t] +
+							 k3*S[0, 0, 1][t] + kpon*K[3, 1][t]*S[0, 1,
+							 -1][t] - k5a*S[0, 1, 1][t] - koff*S[0,
+							 1, 1][t] - 2*kpoff*S[0, 1, 1][t] + k1*
+							S_RAFK[0, 1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[0, 2, -1]</td>
+          <td>0</td>
+          <td>(S[0, 2, -1])'[t] == kon*K[1, 0][t]*S[-1, 2,
+							 -1][t] + kpon*K[2, 2][t]*S[0, -1, -1][t] -
+							 k7*S[0, 2, -1][t] - koff*S[0, 2, -1][t]
+							 - kpoff*S[0, 2, -1][t] - kon*K[3, 0][t]*S[0,
+							 2, -1][t] - kpon*K[3, 1][t]*S[0, 2, -1][t]
+							 + koff*S[0, 2, 0][t] + kpoff*S[0, 2, 1]
+							[t]</td>
+        </tr>
+        <tr>
+          <td>S[0, 2, 0]</td>
+          <td>0</td>
+          <td>(S[0, 2, 0])'[t] == kon*K[1, 0][t]*S[-1, 2,
+							 0][t] + kpon*K[2, 2][t]*S[0, -1, 0][t] +
+							 kon*K[3, 0][t]*S[0, 2, -1][t] - k7*S[0, 2,
+							 0][t] - 2*koff*S[0, 2, 0][t] - kpoff*S[0,
+							 2, 0][t] - k1a*RAFK[t]*S[0, 2, 0][t] +
+							 d1a*S_RAFK[0, 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[0, 2, 1]</td>
+          <td>0</td>
+          <td>(S[0, 2, 1])'[t] == kon*K[1, 0][t]*S[-1, 2,
+							 1][t] + kpon*K[2, 2][t]*S[0, -1, 1][t] +
+							 k5a*S[0, 1, 1][t] + kpon*K[3, 1][t]*S[0, 2,
+							 -1][t] - k7*S[0, 2, 1][t] - koff*S[0,
+							 2, 1][t] - 2*kpoff*S[0, 2, 1][t] + k1*
+							S_RAFK[0, 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[1, -1, -1]</td>
+          <td>0</td>
+          <td>(S[1, -1, -1])'[t] == kpon*K[1, 1][t]*S[-1, -
+							1, -1][t] - kpoff*S[1, -1, -1][t] - kon*K[2,
+							 0][t]*S[1, -1, -1][t] - kpon*K[2, 1][t]*S[1,
+							 -1, -1][t] - kpon*K[2, 2][t]*S[1, -1, -1][t]
+							 - kon*K[3, 0][t]*S[1, -1, -1][t] - kpon*K[3,
+							 1][t]*S[1, -1, -1][t] + koff*S[1, -1, 0][t]
+							 + kpoff*S[1, -1, 1][t] + koff*S[1, 0, -
+							1][t] + kpoff*S[1, 1, -1][t] + kpoff*S[1, 2,
+							 -1][t]</td>
+        </tr>
+        <tr>
+          <td>S[1, -1, 0]</td>
+          <td>0</td>
+          <td>(S[1, -1, 0])'[t] == kpon*K[1, 1][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[1, -1, -1][t] -
+							 koff*S[1, -1, 0][t] - kpoff*S[1, -1, 0][t]
+							 - k1a*RAFK[t]*S[1, -1, 0][t] - kon*K[2, 0][
+							t]*S[1, -1, 0][t] - kpon*K[2, 1][t]*S[1, -1,
+							 0][t] - kpon*K[2, 2][t]*S[1, -1, 0][t] +
+							 koff*S[1, 0, 0][t] + kpoff*S[1, 1, 0][t]
+							 + kpoff*S[1, 2, 0][t] + d1a*S_RAFK[1, -1,
+							 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[1, -1, 1]</td>
+          <td>0</td>
+          <td>(S[1, -1, 1])'[t] == kpon*K[1, 1][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[1, -1, -1][t] -
+							 2*kpoff*S[1, -1, 1][t] - kon*K[2, 0][t]*S[1,
+							 -1, 1][t] - kpon*K[2, 1][t]*S[1, -1, 1][t]
+							 - kpon*K[2, 2][t]*S[1, -1, 1][t] + koff*S[1,
+							 0, 1][t] + kpoff*S[1, 1, 1][t] + kpoff*
+							S[1, 2, 1][t] + k1*S_RAFK[1, -1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[1, 0, -1]</td>
+          <td>0</td>
+          <td>(S[1, 0, -1])'[t] == kpon*K[1, 1][t]*S[-1, 0,
+							 -1][t] + kon*K[2, 0][t]*S[1, -1, -1][t] -
+							 koff*S[1, 0, -1][t] - kpoff*S[1, 0, -1][t]
+							 - kon*K[3, 0][t]*S[1, 0, -1][t] - kpon*K[3,
+							 1][t]*S[1, 0, -1][t] + koff*S[1, 0, 0][t]
+							 + kpoff*S[1, 0, 1][t]</td>
+        </tr>
+        <tr>
+          <td>S[1, 0, 0]</td>
+          <td>0</td>
+          <td>(S[1, 0, 0])'[t] == kpon*K[1, 1][t]*S[-1, 0,
+							 0][t] + kon*K[2, 0][t]*S[1, -1, 0][t] +
+							 kon*K[3, 0][t]*S[1, 0, -1][t] - 2*koff*S[1,
+							 0, 0][t] - kpoff*S[1, 0, 0][t] - k1a*
+							RAFK[t]*S[1, 0, 0][t] + d1a*S_RAFK[1, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[1, 0, 1]</td>
+          <td>0</td>
+          <td>(S[1, 0, 1])'[t] == kpon*K[1, 1][t]*S[-1, 0,
+							 1][t] + kon*K[2, 0][t]*S[1, -1, 1][t] +
+							 kpon*K[3, 1][t]*S[1, 0, -1][t] - k3*S[1, 0,
+							 1][t] - koff*S[1, 0, 1][t] - 2*kpoff*S[1,
+							 0, 1][t] + k1*S_RAFK[1, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[1, 1, -1]</td>
+          <td>0</td>
+          <td>(S[1, 1, -1])'[t] == kpon*K[1, 1][t]*S[-1, 1,
+							 -1][t] + kpon*K[2, 1][t]*S[1, -1, -1][t] -
+							 2*kpoff*S[1, 1, -1][t] - kon*K[3, 0][t]*S[1,
+							 1, -1][t] - kpon*K[3, 1][t]*S[1, 1, -1][t]
+							 + koff*S[1, 1, 0][t] + kpoff*S[1, 1, 1]
+							[t]</td>
+        </tr>
+        <tr>
+          <td>S[1, 1, 0]</td>
+          <td>0</td>
+          <td>(S[1, 1, 0])'[t] == kpon*K[1, 1][t]*S[-1, 1,
+							 0][t] + kpon*K[2, 1][t]*S[1, -1, 0][t] +
+							 kon*K[3, 0][t]*S[1, 1, -1][t] - koff*S[1, 1,
+							 0][t] - 2*kpoff*S[1, 1, 0][t] - k1a*RAFK[t]*
+							S[1, 1, 0][t] + d1a*S_RAFK[1, 1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[1, 1, 1]</td>
+          <td>0</td>
+          <td>(S[1, 1, 1])'[t] == kpon*K[1, 1][t]*S[-1, 1,
+							 1][t] + kpon*K[2, 1][t]*S[1, -1, 1][t] +
+							 k3*S[1, 0, 1][t] + kpon*K[3, 1][t]*S[1, 1,
+							 -1][t] - k5a*S[1, 1, 1][t] - 3*kpoff*S[1,
+							 1, 1][t] + k1*S_RAFK[1, 1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[1, 2, -1]</td>
+          <td>0</td>
+          <td>(S[1, 2, -1])'[t] == kpon*K[1, 1][t]*S[-1, 2,
+							 -1][t] + k7*S[0, 2, -1][t] + kpon*K[2,
+							 2][t]*S[1, -1, -1][t] - k9a*S[1, 2, -1][t]
+							 - 2*kpoff*S[1, 2, -1][t] - kon*K[3, 0][t]*S[
+							1, 2, -1][t] - kpon*K[3, 1][t]*S[1, 2, -1][t]
+							 + koff*S[1, 2, 0][t] + kpoff*S[1, 2, 1]
+							[t]</td>
+        </tr>
+        <tr>
+          <td>S[1, 2, 0]</td>
+          <td>0</td>
+          <td>(S[1, 2, 0])'[t] == kpon*K[1, 1][t]*S[-1, 2,
+							 0][t] + k7*S[0, 2, 0][t] + kpon*K[2, 2]
+							[t]*S[1, -1, 0][t] + kon*K[3, 0][t]*S[1, 2, -
+							1][t] - k9a*S[1, 2, 0][t] - koff*S[1, 2,
+							 0][t] - 2*kpoff*S[1, 2, 0][t] - k1a*RAFK[t]*
+							S[1, 2, 0][t] + d1a*S_RAFK[1, 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[1, 2, 1]</td>
+          <td>0</td>
+          <td>(S[1, 2, 1])'[t] == kpon*K[1, 1][t]*S[-1, 2,
+							 1][t] + k7*S[0, 2, 1][t] + kpon*K[2, 2]
+							[t]*S[1, -1, 1][t] + k5a*S[1, 1, 1][t] +
+							 kpon*K[3, 1][t]*S[1, 2, -1][t] - k9a*S[1, 2,
+							 1][t] - 3*kpoff*S[1, 2, 1][t] + k1*S_RAFK[1,
+							 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[2, -1, -1]</td>
+          <td>0</td>
+          <td>(S[2, -1, -1])'[t] == kpon*K[1, 2][t]*S[-1, -
+							1, -1][t] - kpoff*S[2, -1, -1][t] - kon*K[2,
+							 0][t]*S[2, -1, -1][t] - kpon*K[2, 1][t]*S[2,
+							 -1, -1][t] - kpon*K[2, 2][t]*S[2, -1, -1][t]
+							 - kon*K[3, 0][t]*S[2, -1, -1][t] - kpon*K[3,
+							 1][t]*S[2, -1, -1][t] + koff*S[2, -1, 0][t]
+							 + kpoff*S[2, -1, 1][t] + koff*S[2, 0, -
+							1][t] + kpoff*S[2, 1, -1][t] + kpoff*S[2, 2,
+							 -1][t]</td>
+        </tr>
+        <tr>
+          <td>S[2, -1, 0]</td>
+          <td>0</td>
+          <td>(S[2, -1, 0])'[t] == kpon*K[1, 2][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[2, -1, -1][t] -
+							 koff*S[2, -1, 0][t] - kpoff*S[2, -1, 0][t]
+							 - k1a*RAFK[t]*S[2, -1, 0][t] - kon*K[2, 0][
+							t]*S[2, -1, 0][t] - kpon*K[2, 1][t]*S[2, -1,
+							 0][t] - kpon*K[2, 2][t]*S[2, -1, 0][t] +
+							 koff*S[2, 0, 0][t] + kpoff*S[2, 1, 0][t]
+							 + kpoff*S[2, 2, 0][t] + d1a*S_RAFK[2, -1,
+							 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[2, -1, 1]</td>
+          <td>0</td>
+          <td>(S[2, -1, 1])'[t] == kpon*K[1, 2][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[2, -1, -1][t] -
+							 2*kpoff*S[2, -1, 1][t] - kon*K[2, 0][t]*S[2,
+							 -1, 1][t] - kpon*K[2, 1][t]*S[2, -1, 1][t]
+							 - kpon*K[2, 2][t]*S[2, -1, 1][t] + koff*S[2,
+							 0, 1][t] + kpoff*S[2, 1, 1][t] + kpoff*
+							S[2, 2, 1][t] + k1*S_RAFK[2, -1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[2, 0, -1]</td>
+          <td>0</td>
+          <td>(S[2, 0, -1])'[t] == kpon*K[1, 2][t]*S[-1, 0,
+							 -1][t] + kon*K[2, 0][t]*S[2, -1, -1][t] -
+							 koff*S[2, 0, -1][t] - kpoff*S[2, 0, -1][t]
+							 - kon*K[3, 0][t]*S[2, 0, -1][t] - kpon*K[3,
+							 1][t]*S[2, 0, -1][t] + koff*S[2, 0, 0][t]
+							 + kpoff*S[2, 0, 1][t]</td>
+        </tr>
+        <tr>
+          <td>S[2, 0, 0]</td>
+          <td>0</td>
+          <td>(S[2, 0, 0])'[t] == kpon*K[1, 2][t]*S[-1, 0,
+							 0][t] + kon*K[2, 0][t]*S[2, -1, 0][t] +
+							 kon*K[3, 0][t]*S[2, 0, -1][t] - 2*koff*S[2,
+							 0, 0][t] - kpoff*S[2, 0, 0][t] - k1a*
+							RAFK[t]*S[2, 0, 0][t] + d1a*S_RAFK[2, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[2, 0, 1]</td>
+          <td>0</td>
+          <td>(S[2, 0, 1])'[t] == kpon*K[1, 2][t]*S[-1, 0,
+							 1][t] + kon*K[2, 0][t]*S[2, -1, 1][t] +
+							 kpon*K[3, 1][t]*S[2, 0, -1][t] - k3*S[2, 0,
+							 1][t] - koff*S[2, 0, 1][t] - 2*kpoff*S[2,
+							 0, 1][t] + k1*S_RAFK[2, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[2, 1, -1]</td>
+          <td>0</td>
+          <td>(S[2, 1, -1])'[t] == kpon*K[1, 2][t]*S[-1, 1,
+							 -1][t] + kpon*K[2, 1][t]*S[2, -1, -1][t] -
+							 2*kpoff*S[2, 1, -1][t] - kon*K[3, 0][t]*S[2,
+							 1, -1][t] - kpon*K[3, 1][t]*S[2, 1, -1][t]
+							 + koff*S[2, 1, 0][t] + kpoff*S[2, 1, 1]
+							[t]</td>
+        </tr>
+        <tr>
+          <td>S[2, 1, 0]</td>
+          <td>0</td>
+          <td>(S[2, 1, 0])'[t] == kpon*K[1, 2][t]*S[-1, 1,
+							 0][t] + kpon*K[2, 1][t]*S[2, -1, 0][t] +
+							 kon*K[3, 0][t]*S[2, 1, -1][t] - koff*S[2, 1,
+							 0][t] - 2*kpoff*S[2, 1, 0][t] - k1a*RAFK[t]*
+							S[2, 1, 0][t] + d1a*S_RAFK[2, 1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[2, 1, 1]</td>
+          <td>0</td>
+          <td>(S[2, 1, 1])'[t] == kpon*K[1, 2][t]*S[-1, 1,
+							 1][t] + kpon*K[2, 1][t]*S[2, -1, 1][t] +
+							 k3*S[2, 0, 1][t] + kpon*K[3, 1][t]*S[2, 1,
+							 -1][t] - k5a*S[2, 1, 1][t] - 3*kpoff*S[2,
+							 1, 1][t] + k1*S_RAFK[2, 1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[2, 2, -1]</td>
+          <td>0</td>
+          <td>(S[2, 2, -1])'[t] == kpon*K[1, 2][t]*S[-1, 2,
+							 -1][t] + k9a*S[1, 2, -1][t] + kpon*K[2,
+							 2][t]*S[2, -1, -1][t] - 2*kpoff*S[2, 2, -1][
+							t] - kon*K[3, 0][t]*S[2, 2, -1][t] - kpon*K[
+							3, 1][t]*S[2, 2, -1][t] + koff*S[2, 2, 0][t]
+							 + kpoff*S[2, 2, 1][t]</td>
+        </tr>
+        <tr>
+          <td>S[2, 2, 0]</td>
+          <td>0</td>
+          <td>(S[2, 2, 0])'[t] == kpon*K[1, 2][t]*S[-1, 2,
+							 0][t] + k9a*S[1, 2, 0][t] + kpon*K[2,
+							 2][t]*S[2, -1, 0][t] + kon*K[3, 0][t]*S[2,
+							 2, -1][t] - koff*S[2, 2, 0][t] - 2*
+							kpoff*S[2, 2, 0][t] - k1a*RAFK[t]*S[2, 2, 0][t]
+							 + d1a*S_RAFK[2, 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S[2, 2, 1]</td>
+          <td>0</td>
+          <td>(S[2, 2, 1])'[t] == kpon*K[1, 2][t]*S[-1, 2,
+							 1][t] + k9a*S[1, 2, 1][t] + kpon*K[2,
+							 2][t]*S[2, -1, 1][t] + k5a*S[2, 1, 1][t]
+							 + kpon*K[3, 1][t]*S[2, 2, -1][t] - 3*kpoff*
+							S[2, 2, 1][t] + k1*S_RAFK[2, 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[-1, -1, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[-1, -1, 0])'[t] == k1a*RAFK[t]*S[-1, -1,
+							 0][t] - d1a*S_RAFK[-1, -1, 0][t] - k1*
+							S_RAFK[-1, -1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[-1, 0, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[-1, 0, 0])'[t] == k1a*RAFK[t]*S[-1, 0,
+							 0][t] - d1a*S_RAFK[-1, 0, 0][t] - k1*S_RAFK[
+							-1, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[-1, 1, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[-1, 1, 0])'[t] == k1a*RAFK[t]*S[-1, 1,
+							 0][t] - d1a*S_RAFK[-1, 1, 0][t] - k1*S_RAFK[
+							-1, 1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[-1, 2, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[-1, 2, 0])'[t] == k1a*RAFK[t]*S[-1, 2,
+							 0][t] - d1a*S_RAFK[-1, 2, 0][t] - k1*S_RAFK[
+							-1, 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[0, -1, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[0, -1, 0])'[t] == k1a*RAFK[t]*S[0, -1,
+							 0][t] - d1a*S_RAFK[0, -1, 0][t] - k1*S_RAFK[
+							0, -1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[0, 0, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[0, 0, 0])'[t] == k1a*RAFK[t]*S[0, 0,
+							 0][t] - d1a*S_RAFK[0, 0, 0][t] - k1*S_RAFK[
+							0, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[0, 1, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[0, 1, 0])'[t] == k1a*RAFK[t]*S[0, 1,
+							 0][t] - d1a*S_RAFK[0, 1, 0][t] - k1*S_RAFK[
+							0, 1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[0, 2, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[0, 2, 0])'[t] == k1a*RAFK[t]*S[0, 2,
+							 0][t] - d1a*S_RAFK[0, 2, 0][t] - k1*S_RAFK[
+							0, 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[1, -1, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[1, -1, 0])'[t] == k1a*RAFK[t]*S[1, -1,
+							 0][t] - d1a*S_RAFK[1, -1, 0][t] - k1*S_RAFK[
+							1, -1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[1, 0, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[1, 0, 0])'[t] == k1a*RAFK[t]*S[1, 0,
+							 0][t] - d1a*S_RAFK[1, 0, 0][t] - k1*S_RAFK[
+							1, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[1, 1, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[1, 1, 0])'[t] == k1a*RAFK[t]*S[1, 1,
+							 0][t] - d1a*S_RAFK[1, 1, 0][t] - k1*S_RAFK[
+							1, 1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[1, 2, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[1, 2, 0])'[t] == k1a*RAFK[t]*S[1, 2,
+							 0][t] - d1a*S_RAFK[1, 2, 0][t] - k1*S_RAFK[
+							1, 2, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[2, -1, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[2, -1, 0])'[t] == k1a*RAFK[t]*S[2, -1,
+							 0][t] - d1a*S_RAFK[2, -1, 0][t] - k1*S_RAFK[
+							2, -1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[2, 0, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[2, 0, 0])'[t] == k1a*RAFK[t]*S[2, 0,
+							 0][t] - d1a*S_RAFK[2, 0, 0][t] - k1*S_RAFK[
+							2, 0, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[2, 1, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[2, 1, 0])'[t] == k1a*RAFK[t]*S[2, 1,
+							 0][t] - d1a*S_RAFK[2, 1, 0][t] - k1*S_RAFK[
+							2, 1, 0][t]</td>
+        </tr>
+        <tr>
+          <td>S_RAFK[2, 2, 0]</td>
+          <td>0</td>
+          <td>(S_RAFK[2, 2, 0])'[t] == k1a*RAFK[t]*S[2, 2,
+							 0][t] - d1a*S_RAFK[2, 2, 0][t] - k1*S_RAFK[
+							2, 2, 0][t]</td>
+        </tr>
+      </tbody>
+    </table><p xmlns="http://www.w3.org/1999/xhtml">Generated by Cellerator Version 1.0 update 2.1203 using Mathematica 4.2 for 
+				Mac OS X (June 4, 2002), December 4, 2002 15:06:10, using (PowerMac,PowerPC,Mac 
+				OS X,MacOSX,Darwin)</p><p xmlns="http://www.w3.org/1999/xhtml">author=B.E.Shapiro</p>
+<div class="conversion_message">
+<p>This model was automatically converted from <a href="http://identifiers.org/biomodels.db/BIOMD0000000014" title="Access to model BIOMD0000000014 from BioModels Database">BIOMD0000000014</a> to SBML L2V4 by using <a href="http://sbml.org/Software/libSBML" target="_blank">libSBML</a>.</p>
+</div>
+<div class="libsbml_warnings">
+<table>
+  <tr>
+    <td>
+      <p>There were the following warnings during the conversion process:</p>
+      <ol style="color:red;">
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'a1 * RAFK * K_3_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1 * K_RAFK_3_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * K_RAFK_3_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'a2 * RAFP * K_3_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd2 * K_RAFP_3_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k2 * K_RAFP_3_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'a3 * K_2_0 * K_3_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd3 * K_K_2_0_3_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k3 * K_K_2_0_3_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'a4 * MEKP * K_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd4 * K_MEKP_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k4 * K_MEKP_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'a5 * K_2_1 * K_3_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd5 * K_K_2_1_3_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k5 * K_K_2_1_3_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'a6 * MEKP * K_2_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd6 * K_MEKP_2_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k6 * K_MEKP_2_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'a7 * K_1_0 * K_2_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd7 * K_K_1_0_2_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k7 * K_K_1_0_2_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'a8 * MAPKP * K_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd8 * K_MAPKP_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k8 * K_MAPKP_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'a9 * K_1_1 * K_2_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd9 * K_K_1_1_2_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k9 * K_K_1_1_2_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'a10 * MAPKP * K_1_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd10 * K_MAPKP_1_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k10 * K_MAPKP_1_2' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_1_0 * S_m1_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_1 * S_m1_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_1_2 * S_m1_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_m1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_m1_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_m1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_m1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_m1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_m1_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_m1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_m1_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_m1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_m1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_m1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_m1_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_m1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_m1_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_m1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_m1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_m1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_m1_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_0_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_0_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_0_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_0_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_0_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_0_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_0_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_0_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_0_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_0_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_0_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_0_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_0_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_0_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_0_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_1_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_1_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_2_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_2_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_2_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_2_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_2_0 * S_2_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_2_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_2_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_2_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_1 * S_2_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_2_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_2_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_2_2 * S_2_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_m1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_m1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_m1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_m1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_m1_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_m1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_m1_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_m1_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_m1_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_m1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_m1_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_m1_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_m1_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_m1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_m1_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_m1_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_0_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_0_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_0_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_0_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_0_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_0_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_0_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_0_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_0_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_0_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_0_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_0_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_0_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_1_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_1_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_1_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_1_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_1_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_1_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_1_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_1_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_2_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_2_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_2_m1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_m1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_2_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_2_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_2_0_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_2_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_2_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_2_1_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kon * K_3_0 * S_2_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'koff * S_2_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpon * K_3_1 * S_2_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'kpoff * S_2_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k7 * S_0_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k7 * S_0_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k7 * S_0_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k9a * S_1_2_m1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k9a * S_1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k9a * S_1_2_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k3 * S_m1_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k5a * S_m1_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k3 * S_0_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k5a * S_0_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k3 * S_1_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k5a * S_1_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k3 * S_2_0_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k5a * S_2_1_1' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_m1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_m1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_m1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_m1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_m1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_m1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_m1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_m1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_m1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_m1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_m1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_m1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_0_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_0_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_0_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_0_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_0_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_0_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_0_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_0_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_0_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_0_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_0_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_0_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_1_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_1_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_1_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_1_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_2_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_2_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_2_m1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_2_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_2_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_2_0_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_2_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_2_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_2_1_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1a * RAFK * S_2_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'd1a * S_RAFK_2_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>In situations where a mathematical expression contains literal numbers or parameters whose units have not been declared, it is not possible to verify accurately the consistency of the units in the expression.  The units of the <kineticLaw> <math> expression 'k1 * S_RAFK_2_2_0' cannot be fully checked. Unit consistency reported as either no errors or further unit errors related to this object may not be accurate.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+        <li>As a principle of best modeling practice, the units of a <parameter> should be declared rather than be left undefined. Doing so improves the ability of software to check the consistency of units and helps make it easier to detect potential errors in models.
+</li>
+      </ol>
+    </td>
+  </tr>
+</table>
+</div>
+</body>
+    </notes>
+    <annotation>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_000001">
+	<dc:creator>
+	<rdf:Bag>
+	<rdf:li rdf:parseType="Resource">
+	<vCard:N rdf:parseType="Resource">
+	<vCard:Family>Shapiro</vCard:Family>
+	<vCard:Given>Bruce</vCard:Given>
+	</vCard:N>
+	<vCard:EMAIL>bshapiro at jpl.nasa.gov</vCard:EMAIL>
+	<vCard:ORG rdf:parseType="Resource">
+	<vCard:Orgname>NASA Jet Propulsion Laboratory</vCard:Orgname>
+	</vCard:ORG>
+	</rdf:li>
+	</rdf:Bag>
+	</dc:creator>
+	<dcterms:created rdf:parseType="Resource">
+	<dcterms:W3CDTF>2005-02-25T23:43:21Z</dcterms:W3CDTF>
+	</dcterms:created>
+	<dcterms:modified rdf:parseType="Resource">
+	<dcterms:W3CDTF>2014-06-03T14:35:00Z</dcterms:W3CDTF>
+	</dcterms:modified>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/MODEL6616691524"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000014"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:isDescribedBy>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/pubmed/10823939"/>
+	</rdf:Bag>
+	</bqmodel:isDescribedBy>
+	<bqmodel:isDerivedFrom>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000011"/>
+	</rdf:Bag>
+	</bqmodel:isDerivedFrom>
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005078"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000165"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	<bqbiol:isHomologTo>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_634"/>
+	</rdf:Bag>
+	</bqbiol:isHomologTo>
+	<bqbiol:occursIn>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/taxonomy/8355"/>
+	</rdf:Bag>
+	</bqbiol:occursIn>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+      <listOfCompartments>
+      <compartment id="Cytoplasm" metaid="_801486" size="1">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801486">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005737"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="MAPKP" initialAmount="0.3" hasOnlySubstanceUnits="true" name="MAPK phosphatase" metaid="_801521" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801521">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="MEKP" initialAmount="0.2" hasOnlySubstanceUnits="true" name="MEK phosphatase" metaid="_801552" compartment="Cytoplasm"/>
+      <species id="RAFK" initialAmount="0.1" hasOnlySubstanceUnits="true" name="RAF kinase" metaid="_801582" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801582">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RAFP" initialAmount="0.3" hasOnlySubstanceUnits="true" name="RAF phosphatase" metaid="_801612" compartment="Cytoplasm"/>
+      <species id="K_1_0" initialAmount="0.4" hasOnlySubstanceUnits="true" name="MAPK" metaid="_801641" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801641">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-P" metaid="_801671" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801671">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_1_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-PP" metaid="_801701" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801701">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_2_0" initialAmount="0.2" hasOnlySubstanceUnits="true" name="MEK" metaid="_801731" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801731">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-P" metaid="_801761" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801761">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-PP" metaid="_801791" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801791">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_3_0" initialAmount="0.3" hasOnlySubstanceUnits="true" name="RAF" metaid="_801821" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801821">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="RAF-P" metaid="_801851" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801851">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_K_1_0_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK_MEK-PP" metaid="_801882" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801882">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_K_1_1_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-P_MEK-PP" metaid="_801911" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801911">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_K_2_0_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK_RAF-P" metaid="_801941" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801941">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_K_2_1_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-P_RAF-P" metaid="_801971" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_801971">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_MAPKP_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-P_MAPKPase" metaid="_802001" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802001">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_MAPKP_1_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-PP_MAPKPase" metaid="_802032" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802032">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_MEKP_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-P_MEKPase" metaid="_802061" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802061">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_MEKP_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-PP_MEKPase" metaid="_802092" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802092">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_RAFK_3_0" initialAmount="0" hasOnlySubstanceUnits="true" name="RAF_RAFK" metaid="_802121" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802121">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="K_RAFP_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="RAF-P_RAFPase" metaid="_802151" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802151">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_m1_m1_m1" initialAmount="0.1" hasOnlySubstanceUnits="true" name="Scaffold" metaid="_802181" compartment="Cytoplasm"/>
+      <species id="S_m1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_RAF" metaid="_802211" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802211">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_m1_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_RAF-P" metaid="_802241" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802241">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_m1_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK" metaid="_802271" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802271">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_m1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK_RAF" metaid="_802301" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802301">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_m1_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK_RAF-P" metaid="_802332" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802332">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_m1_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P" metaid="_802362" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802362">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_m1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P_RAF" metaid="_802392" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802392">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_m1_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P_RAF-P" metaid="_802421" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802421">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_m1_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP" metaid="_802451" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802451">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_m1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP_RAF" metaid="_802481" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802481">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_m1_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP_RAF-P" metaid="_802511" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802511">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_m1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK" metaid="_802541" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802541">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_RAF" metaid="_802571" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802571">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_RAF-P" metaid="_802602" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802602">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK" metaid="_802631" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802631">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK_RAF" metaid="_802661" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802661">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK_RAF-P" metaid="_802691" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802691">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P" metaid="_802721" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802721">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P_RAF" metaid="_802751" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802751">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P_RAF-P" metaid="_802781" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802781">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP" metaid="_802812" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802812">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP_RAF" metaid="_802842" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802842">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_0_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP_RAF-P" metaid="_802871" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802871">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_m1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P" metaid="_802901" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802901">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_RAF" metaid="_802931" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802931">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_RAF-P" metaid="_802961" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802961">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK" metaid="_802991" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_802991">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK_RAF" metaid="_803021" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803021">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK_RAF-P" metaid="_803051" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803051">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P" metaid="_803082" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803082">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P_RAF" metaid="_803111" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803111">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P_RAF-P" metaid="_803141" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803141">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP" metaid="_803171" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803171">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP_RAF" metaid="_803201" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803201">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_1_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP_RAF-P" metaid="_803231" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803231">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_m1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP" metaid="_803261" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803261">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_RAF" metaid="_803291" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803291">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_RAF-P" metaid="_803322" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803322">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK" metaid="_803351" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803351">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK_RAF" metaid="_803382" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803382">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK_RAF-P" metaid="_803411" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803411">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P" metaid="_803441" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803441">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P_RAF" metaid="_803471" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803471">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P_RAF-P" metaid="_803501" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803501">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP" metaid="_803531" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803531">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP_RAF" metaid="_803561" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803561">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_2_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP_RAF-P" metaid="_803591" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803591">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_m1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_RAF" metaid="_803621" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803621">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_m1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK_RAF" metaid="_803651" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803651">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_m1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P_RAF" metaid="_803681" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803681">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_m1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP_RAF" metaid="_803711" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803711">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_0_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_RAF" metaid="_803741" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803741">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_0_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK_RAF" metaid="_803771" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803771">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_0_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P_RAF" metaid="_803801" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803801">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_0_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP_RAF" metaid="_803831" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803831">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_RAF" metaid="_803861" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803861">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK_RAF" metaid="_803891" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803891">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P_RAF" metaid="_803921" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803921">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP_RAF" metaid="_803951" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803951">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_2_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_RAF" metaid="_803981" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_803981">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_2_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK_RAF" metaid="_804011" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804011">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_2_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P_RAF" metaid="_804041" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804041">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="S_RAFK_2_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP_RAF" metaid="_804071" compartment="Cytoplasm">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804071">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="Reaction1" name="binding of RAF and RAFK" metaid="_804118" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804118">
+              <bqbiol:isHomologTo>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	</rdf:Bag>
+	</bqbiol:isHomologTo>
+	
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006461"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_789e0540-d6c0-49ea-9016-59477a3e05fa"/>
+          <speciesReference species="K_3_0" metaid="_0b56f1b2-339e-4193-a60e-bb59c7ccebfa"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_RAFK_3_0" metaid="_8bd2ba0d-980c-4ba4-9d11-f512ae78f692"/>
+        </listOfProducts>
+        <kineticLaw metaid="b4819155-9f4d-41fd-9905-289b5aad3cbd">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a1 </ci>
+              <ci> RAFK </ci>
+              <ci> K_3_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a1" metaid="_0d488508-24e2-4d9b-85ce-e8645c414fce" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction2" name="dissociation of RAF_RAFK" metaid="_804185" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804185">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFK_3_0" metaid="_7b3555f3-49e8-400d-9b2b-124fe7de8646"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_538b2d9f-31d9-4737-9380-b2c7ea4732d4"/>
+          <speciesReference species="K_3_0" metaid="_084157eb-e957-470a-a1a1-c3b69c94c9f2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7e685cac-abd2-4b9e-9e8a-3cc294b5371b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1 </ci>
+              <ci> K_RAFK_3_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1" metaid="_0b409e2a-1534-45b4-bd80-3cdc47c07927" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction3" name="phosphorylation of RAF" metaid="_804255" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804255">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFK_3_0" metaid="b5114c87-0d80-41a3-9090-d1c6a3ef89a8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_56fa4f52-b96c-4da0-adc1-c1b0089bb232"/>
+          <speciesReference species="K_3_1" metaid="_1efcdbf0-64b6-40a9-a2e6-1a2501bbd2ef"/>
+        </listOfProducts>
+        <kineticLaw metaid="d462077b-32cd-4fd2-9b21-b9499a24ce87">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> K_RAFK_3_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_019aaf7d-08e6-47e7-8e43-62c46e36ee1c" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction4" name="binding of RAF-P and RAF phosphatase" metaid="_804325" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804325">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFP" metaid="dc7cc075-ce63-4ef4-836e-2ed33b0a9bfe"/>
+          <speciesReference species="K_3_1" metaid="f432ff49-ca4c-4c9c-8bbb-7e619fcc74c7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_RAFP_3_1" metaid="_025cd637-903b-4eb4-8fa3-48f8c8c0a464"/>
+        </listOfProducts>
+        <kineticLaw metaid="_603fcc76-35ba-4a24-8e4d-2be5acec3934">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a2 </ci>
+              <ci> RAFP </ci>
+              <ci> K_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a2" metaid="_6b87521b-e245-4304-afe7-cfdf6cc0e7a2" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction5" name="dissociation of RAF-P_RAFPase" metaid="_804395" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804395">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFP_3_1" metaid="_9908a619-1586-476e-a353-0adab6175839"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFP" metaid="_8ff59a10-76ee-48d7-869d-80a750ab8868"/>
+          <speciesReference species="K_3_1" metaid="_5d5cb8bf-2134-4c41-a5e1-06740443b876"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2522eff3-3dcd-438d-ab80-d92ad0932fb3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d2 </ci>
+              <ci> K_RAFP_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d2" metaid="f2741e41-057f-410a-ab4e-f0576e8e2e17" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction6" name="dephosphorylation of RAF-P" metaid="_804466" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804466">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006470"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFP_3_1" metaid="_84416b57-def2-46e4-a720-317ab73ed123"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFP" metaid="_3b9d9f7d-6040-442d-b812-688ec120e8c3"/>
+          <speciesReference species="K_3_0" metaid="cb016eef-f17a-45f0-97fa-5b43086a63d3"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2a6379c2-46ec-4b5d-9c55-a9cd249d4d20">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> K_RAFP_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k2" metaid="_88d06f40-119e-49e1-b94d-f694902dc6e9" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction7" name="binding of MEK and RAF-P" metaid="_804536" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804536">
+              <bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031434"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	
+	<bqbiol:isHomologTo>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_143"/>
+	</rdf:Bag>
+	</bqbiol:isHomologTo>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_17315af9-f137-46a9-8ea8-4f41ea805464"/>
+          <speciesReference species="K_3_1" metaid="_43fb9936-44d1-47dd-99a0-dc6204563cbb"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_2_0_3_1" metaid="df48b9d1-0a09-488d-b2a1-78ea53c29c56"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7b9409bd-a8f3-4cae-bea6-799f52b76db1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a3 </ci>
+              <ci> K_2_0 </ci>
+              <ci> K_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a3" metaid="b9580a8c-3087-4a67-8c5b-edb371e2c22e" value="3.3"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction8" name="dissociation of MEK_RAF-P" metaid="_804605" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804605">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_0_3_1" metaid="_453ccce0-04de-4916-b19d-b8e38e333731"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_5bfb9417-bb01-4a5c-8e45-ef52972ec22c"/>
+          <speciesReference species="K_3_1" metaid="a6263f26-3b3a-416d-a617-0dca3348e415"/>
+        </listOfProducts>
+        <kineticLaw metaid="_84e64bb5-b6d2-4bf3-ba69-6d5cf482aca6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d3 </ci>
+              <ci> K_K_2_0_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d3" metaid="aa428118-ccfc-4d39-aada-31909c060c00" value="0.42"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction9" name="phosphorylation of MEK" metaid="_804677" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804677">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.25"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006468"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_0_3_1" metaid="_1e0d6982-b000-4750-b666-0eed22bb9a43"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_851c0384-8328-48fa-aa2b-8ef4a06b28c0"/>
+          <speciesReference species="K_3_1" metaid="_035dbead-b6ac-421e-9536-6328ce016df2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_85ff327f-adad-49a5-9090-c2715cd82712">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> K_K_2_0_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="_46016fbf-7a66-4a93-816a-8179415a22d3" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction10" name="binding of MEK-P and MEK phosphatase" metaid="_804745" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804745">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MEKP" metaid="_4e7cc126-2eef-4399-be83-d7c8d742854b"/>
+          <speciesReference species="K_2_1" metaid="ee62c636-7555-4eaa-a76d-402ff60feb0c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MEKP_2_1" metaid="_8b3f9929-9ac5-4f28-99d9-4548aee046b1"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9a559a92-5ddb-4920-8e02-e32ad2db1da6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a4 </ci>
+              <ci> MEKP </ci>
+              <ci> K_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a4" metaid="d4d6ed02-038b-4389-befd-24ae8f2f8a3e" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction11" name="dissociation of MEK-P_MEKPase" metaid="_804815" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804815">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_1" metaid="_2ea9106a-c5c7-452b-8e62-af4e8080ecb5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="_92a3933a-d82f-4032-b6e1-5f4ae1c53e9a"/>
+          <speciesReference species="K_2_1" metaid="_3a725c23-9f5b-4c22-b877-e1b699ff0711"/>
+        </listOfProducts>
+        <kineticLaw metaid="b3ec5f61-94ba-4573-ba36-d7ee8194386a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d4 </ci>
+              <ci> K_MEKP_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d4" metaid="_295c70d9-09a2-4c9a-bff2-e616f660a998" value="0.8"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction12" name="dephosphorylation of MEK-P" metaid="_804885" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804885">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006470"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_1" metaid="_78ecab6d-ea88-4455-8376-894bfb582bf3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="_42ea0468-6497-453a-b501-353d64f6f5fa"/>
+          <speciesReference species="K_2_0" metaid="da8e5a6b-3533-4cbc-888e-0e1cc4b25ab5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_85070af3-3be3-45c6-adb5-105b8a29aa93">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> K_MEKP_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k4" metaid="_632bb63e-f93f-42db-82cb-346e155ee863" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction13" name="binding of MEK-P and RAF-P" metaid="_804955" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_804955">
+              <bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031434"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	
+	<bqbiol:isHomologTo>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_143"/>
+	</rdf:Bag>
+	</bqbiol:isHomologTo>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_89790925-c8ea-4b16-aafe-51216fbf9dc0"/>
+          <speciesReference species="K_3_1" metaid="_48234ff8-334b-4db8-917d-ac67004be67a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_2_1_3_1" metaid="_3d3e9e85-c641-446f-ae3b-c3382a3d5662"/>
+        </listOfProducts>
+        <kineticLaw metaid="_089dcb19-4957-4d44-b437-d257b39d71cf">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a5 </ci>
+              <ci> K_2_1 </ci>
+              <ci> K_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a5" metaid="_2618d626-792c-40fc-a40f-7a75bdadf932" value="3.3"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction14" name="dissociation of MEK-P_RAF-P" metaid="_805026" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805026">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_1_3_1" metaid="_02cf0b8e-3b94-4326-86f5-4337434c6fc1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_2ab87b80-5e86-48a7-b509-a31513ed9f71"/>
+          <speciesReference species="K_3_1" metaid="_1bf1871b-c40c-4cb9-b800-751625c2bd04"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7b9bdfa9-6845-4d67-9baa-b8ed4caa9a2c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d5 </ci>
+              <ci> K_K_2_1_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d5" metaid="_667f667e-8404-48d9-975f-02eff1f08044" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction15" name="phosphorylation of MEK-P" metaid="_805095" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805095">
+              <bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000186"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006468"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	
+	<bqbiol:isHomologTo>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_614"/>
+	</rdf:Bag>
+	</bqbiol:isHomologTo>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_1_3_1" metaid="_54d8078e-2f9d-4f04-b575-ba45750092c4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_40f2f835-a1df-440e-96c7-11b8b90781cb"/>
+          <speciesReference species="K_3_1" metaid="da77c1a2-9a2b-40b9-958a-33579d4d2f23"/>
+        </listOfProducts>
+        <kineticLaw metaid="aa713bb5-31ad-487b-ad2b-309e7ca3fa13">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5 </ci>
+              <ci> K_K_2_1_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5" metaid="a60c5896-a360-44e3-93a5-295da143a579" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction16" name="binding of MEK-PP and MEK phosphatase" metaid="_805165" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805165">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031434"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MEKP" metaid="_3809f75a-b725-4a84-b30f-57fc49e6dd1e"/>
+          <speciesReference species="K_2_2" metaid="_1be28ba1-5f67-430f-bee4-37ee3b87844b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MEKP_2_2" metaid="_2766c954-037a-42f1-a3b5-944a812a6bab"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0363a8d9-9bdc-4a78-8ddd-f1c7e7808ee7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a6 </ci>
+              <ci> MEKP </ci>
+              <ci> K_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a6" metaid="_9f18db4b-10a9-4268-98ae-fc8ebc706778" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction17" name="dissociation of MEK-PP_MEKPase" metaid="_805235" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805235">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_2" metaid="c8d634f0-81c1-442c-9f47-56d4433cbca5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="_4d0dad0f-908d-4350-b105-4a297c86c9ff"/>
+          <speciesReference species="K_2_2" metaid="fe003bbd-24f7-4494-96d9-70e932acead9"/>
+        </listOfProducts>
+        <kineticLaw metaid="_852f3f10-0dde-42e0-9409-81f8f504ce06">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d6 </ci>
+              <ci> K_MEKP_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d6" metaid="_192a43e7-ba6c-4d20-825c-e00cc7c7326b" value="0.8"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction18" name="dephosphorylation of MEK-PP" metaid="_805305" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805305">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006470"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_2" metaid="ff9902b5-e652-4b55-80ad-c23b83dedad7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="bcfae8a8-93f7-4449-ae77-12f6bf9d44af"/>
+          <speciesReference species="K_2_1" metaid="_74f91e0e-c7bf-4a96-bb57-37c4b3c1b518"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1d24dfb2-8db9-40ce-a838-6343d98b3fd2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k6 </ci>
+              <ci> K_MEKP_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k6" metaid="_4d95c6c6-6894-4e7d-93eb-e2dfcfb748a9" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction19" name="binding of MAPK and MEK-PP" metaid="_805375" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805375">
+              <bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031434"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	
+	<bqbiol:isHomologTo>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_1780"/>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_495"/>
+	</rdf:Bag>
+	</bqbiol:isHomologTo>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="e20fa373-9aac-472c-9228-1160a77b12d8"/>
+          <speciesReference species="K_2_2" metaid="_4a334aee-9500-4c2a-b0b0-27279d510210"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_1_0_2_2" metaid="_93f92ceb-9a61-46cd-b1c6-c2681759f8f7"/>
+        </listOfProducts>
+        <kineticLaw metaid="f9910ffc-b1b9-4782-9c53-61ca9f753018">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a7 </ci>
+              <ci> K_1_0 </ci>
+              <ci> K_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a7" metaid="_58fbdf8a-96b2-4cdb-bb44-431e09960d39" value="20"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction20" name="dissociation of MAPK_MEK-PP" metaid="_805445" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805445">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_0_2_2" metaid="ea120682-b91e-4105-9736-4d9d939e8775"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="b74cefba-df7c-4aaf-ae55-0620eda2a69f"/>
+          <speciesReference species="K_2_2" metaid="_560155ca-d2a9-4035-8105-5aeae9e30888"/>
+        </listOfProducts>
+        <kineticLaw metaid="_850f6ba6-d5c2-4c3e-bd76-2f9e15719907">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d7 </ci>
+              <ci> K_K_1_0_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d7" metaid="f29fade3-06b6-4078-8cb6-a244c8d1bf62" value="0.6"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction21" name="phosphorylation of MAPK" metaid="_805515" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805515">
+              <bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.12.2"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004708"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006468"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	
+	<bqbiol:isHomologTo>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_136"/>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_2247"/>
+	</rdf:Bag>
+	</bqbiol:isHomologTo>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_0_2_2" metaid="_1f46cae6-5cc6-493a-a789-2631093d80de"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="abf8c226-8783-4881-8cf4-2e1ad7fe6dd5"/>
+          <speciesReference species="K_2_2" metaid="_78607fa2-6e92-44be-9753-42a636fd379f"/>
+        </listOfProducts>
+        <kineticLaw metaid="b83b4f74-906f-4c6a-a31c-b2e80ca42d0a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> K_K_1_0_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_9dfeae24-5ff2-4d40-9078-d62dbcad5cda" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction22" name="binding of MAPK-P and MAPK phosphatase" metaid="_805585" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805585">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MAPKP" metaid="d9295f7f-59b8-4cc1-ae23-7663695503c6"/>
+          <speciesReference species="K_1_1" metaid="_62f57258-4e09-47e5-abd3-97f26c2081c8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MAPKP_1_1" metaid="d83bdb91-30e1-49ee-b971-83134a89631b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9e117fe2-2a2d-4d3a-8601-8dd803d90854">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a8 </ci>
+              <ci> MAPKP </ci>
+              <ci> K_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a8" metaid="b6b78674-a52d-4059-80ec-e76dede60134" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction23" name="dissociation of MAPK-P_MAPKPase" metaid="_805655" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805655">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_1" metaid="d8de4b4c-fed5-4d75-8288-248017190760"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="_4005f138-82c5-49e0-b735-c1795efe3a6b"/>
+          <speciesReference species="K_1_1" metaid="fad0cbee-9bcc-40b1-b7f4-2b8a4e36479c"/>
+        </listOfProducts>
+        <kineticLaw metaid="fa42e2b9-031b-4cfe-b9f9-58e1e4b1c444">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d8 </ci>
+              <ci> K_MAPKP_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d8" metaid="f2c134c2-87df-4dd7-8b93-9c4df1172dd1" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction24" name="dephosphorylation of MAPK-P" metaid="_805725" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805725">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_1" metaid="e888565b-9ca7-4e52-af0b-66d473600f5c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="dd32494f-67dd-4bb1-b808-cb31ef2c2a93"/>
+          <speciesReference species="K_1_0" metaid="b6d0fada-b4a5-4e2a-b2de-4b7a347feea3"/>
+        </listOfProducts>
+        <kineticLaw metaid="ebb7def5-0d3c-45a2-8d96-58ff5a1a8047">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k8 </ci>
+              <ci> K_MAPKP_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k8" metaid="dad3fc45-5ada-4ab0-aecb-95cbac170c38" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction25" name="binding of MAPK-P and MEK-PP" metaid="_805801" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805801">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_2af39b8d-f3df-42e6-8385-8c6b2e4e1b0a"/>
+          <speciesReference species="K_2_2" metaid="_89023bf2-3f4e-481a-b33b-e60265ac5861"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_1_1_2_2" metaid="ed4b794b-882d-4413-ab84-7ce307a11219"/>
+        </listOfProducts>
+        <kineticLaw metaid="a3d74994-c695-4d28-96e7-925465a9d21b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a9 </ci>
+              <ci> K_1_1 </ci>
+              <ci> K_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a9" metaid="c575f470-44d9-40d3-8dea-9c13f5216c42" value="20"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction26" name="dissociation of MAPK-P_MEK-PP" metaid="_805865" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805865">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_1_2_2" metaid="_307b92a7-156e-43b4-879d-6d0b8e4efc19"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="ad2f322b-8136-41b8-a9b3-efb3cf412318"/>
+          <speciesReference species="K_2_2" metaid="_9696f5be-7b5a-4b5a-b8be-dbd37cf7778e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_96c06a62-2103-463d-a3ea-082767c3d6b4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d9 </ci>
+              <ci> K_K_1_1_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d9" metaid="e6f208d5-50f0-4ee2-a876-efa74292f896" value="0.6"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction27" name="phosphorylation of MAPK-P" metaid="_805935" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_805935">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000187"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004708"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_1_2_2" metaid="_1d4f236e-865e-49d9-b9e3-637b9b07da03"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="f771a361-60bf-4b08-a55e-936b945dbd44"/>
+          <speciesReference species="K_2_2" metaid="_0ac2488f-fa49-4aeb-8acd-18b7ba2b64b3"/>
+        </listOfProducts>
+        <kineticLaw metaid="b2238861-569f-4cbe-9cca-503a39489531">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9 </ci>
+              <ci> K_K_1_1_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9" metaid="_0c6f1112-e2a1-4942-b50b-d04b810b2d42" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction28" name="binding of MAPK-PP and MAPK phosphatase" metaid="_806005" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806005">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MAPKP" metaid="e80cf23f-a1b5-4d19-a5f7-9382ca152bb5"/>
+          <speciesReference species="K_1_2" metaid="_7670fdb9-efd0-4357-86b2-c0f424bb9e01"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MAPKP_1_2" metaid="dbf78eeb-07ec-4e42-9bd3-f99e8b787f1d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_72887121-b4c3-42ac-9d71-31929439873a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a10 </ci>
+              <ci> MAPKP </ci>
+              <ci> K_1_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a10" metaid="de8f7998-a9e7-4f1c-a53c-0440bacc8a0d" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction29" name="dissociation of MAPK-PP_MAPKPase" metaid="_806075" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806075">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_2" metaid="_60dd2a94-bfaa-446e-bb74-fb5ec0d1397d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="_1d86a919-c084-43d8-ab01-d2ccbd7f9544"/>
+          <speciesReference species="K_1_2" metaid="f07076a3-d6e2-4ba2-a308-94d6f0ba502b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0c5d211d-a79a-41ba-ad2e-2aa3f138ece3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d10 </ci>
+              <ci> K_MAPKP_1_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d10" metaid="b0d0e4d1-fa23-4356-9638-a5b33958961b" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction30" name="dephosphorylation of MAPK-PP" metaid="_806145" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806145">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000188"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_2" metaid="c3b1b19e-56c8-4712-9ff1-6afd7d47304d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="_4083deb0-467f-4712-9dcf-afda7ab48d20"/>
+          <speciesReference species="K_1_1" metaid="_01dbec7d-b293-47dd-bf9e-4fd4f2394408"/>
+        </listOfProducts>
+        <kineticLaw metaid="e8ee8335-24a7-4acb-b752-47deebac4de4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k10 </ci>
+              <ci> K_MAPKP_1_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k10" metaid="_0ce59850-3e5d-4cdb-b056-9aab7a0062f4" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction31" name="binding of MAPK on scaffold" metaid="_806215" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806215">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_94b240b3-f504-4d47-a644-c74108421019"/>
+          <speciesReference species="S_m1_m1_m1" metaid="db62d750-a574-424a-960a-8f9dad85186d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_m1" metaid="a9414420-e438-453e-abd7-620d73a42596"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7de9b22c-9733-4921-9ae7-e5f08f810bd4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_515d09fb-5780-4f7e-96fe-79515e458450" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction32" name="dissociation of MAPK from scaffold" metaid="_806285" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806285">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_m1" metaid="f9cd015f-e192-4960-878b-5c43989c95ba"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_33e75fbb-4e8b-45f1-903c-85ab3de62b27"/>
+          <speciesReference species="S_m1_m1_m1" metaid="e9e4c1a7-7a07-43fa-8215-b22cfbfa464a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1ff1dba9-97cd-48f1-9bd9-2d4ec847a3d8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_903f05ea-96b0-42d4-a720-74eaba8520a1" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction33" name="binding of MAPK on scaffold" metaid="_806355" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806355">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="bd90ed7e-e69a-4074-8acc-ddacdd1d74f7"/>
+          <speciesReference species="S_m1_m1_0" metaid="_1068a025-34f3-4038-a549-01fb39c70995"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_0" metaid="_09b616f4-f229-4604-b2ee-017a43b08ba4"/>
+        </listOfProducts>
+        <kineticLaw metaid="c9c980a1-1895-4a89-9cfb-5c79435a8529">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_22c55795-35da-497d-83a6-34144dc79de6" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction34" name="dissociation of MAPK from scaffold" metaid="_806425" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806425">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_0" metaid="_78212f2f-fc6a-421f-b3b6-ccbc17846264"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="d4b39b6d-ccdd-409e-8219-2c32077d66ad"/>
+          <speciesReference species="S_m1_m1_0" metaid="_90332910-a757-44cc-96f5-b03632a35755"/>
+        </listOfProducts>
+        <kineticLaw metaid="_782c0546-5b27-4990-8574-7da2536a10dc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_354f02b6-dc33-484b-9e62-d8d799bc5a97" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction35" name="binding of MAPK on scaffold" metaid="_806495" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806495">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_47011d04-8951-4283-b7b5-a958bd1d420c"/>
+          <speciesReference species="S_m1_m1_1" metaid="_33ea15cf-8ba6-4264-adee-cbfc3370a857"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_1" metaid="ea45983e-dd3d-43fb-aaa0-deb45d1cb420"/>
+        </listOfProducts>
+        <kineticLaw metaid="_28663566-a025-4e06-affa-14258e40973c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="f08b9fee-364b-4f52-b421-8669b1780085" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction36" name="dissociation of MAPK from scaffold" metaid="_806565" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806565">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_1" metaid="bc4c89a6-14bc-4491-b526-cecdd751b02e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_2ed8d46a-8833-4749-9005-4939a0cffb40"/>
+          <speciesReference species="S_m1_m1_1" metaid="df4e2afe-0ea9-4fc6-aeae-e3552a04fbba"/>
+        </listOfProducts>
+        <kineticLaw metaid="_65bf2b42-c80f-4ee3-ad7b-926fb4733f23">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_97a794a0-7e51-4683-9177-925a9f6bb456" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction37" name="binding of MAPK on scaffold" metaid="_806635" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806635">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_84b64e69-c607-430e-8e80-0a25bfff5078"/>
+          <speciesReference species="S_m1_0_m1" metaid="d46da9e9-7880-4e7d-b2a4-1fddc27eb8a5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_m1" metaid="cdcbd878-1cc8-4ff9-a4d6-ff931be16e12"/>
+        </listOfProducts>
+        <kineticLaw metaid="_02dacc2b-6a71-4e5d-912e-8bd993062ee1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="b07f3153-9f54-4fdd-8574-cb8c48001988" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction38" name="dissociation of MAPK from scaffold" metaid="_806705" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806705">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_m1" metaid="b5e2982e-962d-40db-813c-4c0a643ac758"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_41f381fd-0ce5-41ba-9f44-2866adababd0"/>
+          <speciesReference species="S_m1_0_m1" metaid="af537dbf-2592-46bd-8803-d7010fc60912"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7e4878b2-4397-4c68-b943-9797a9c62765">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="de28f4f6-6a09-41bd-8487-e3c814dc59a3" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction39" name="binding of MAPK on scaffold" metaid="_806775" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806775">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_9612f97a-b79a-4e00-925a-532de34f4de5"/>
+          <speciesReference species="S_m1_0_0" metaid="_0739b12c-5cbf-4f94-b9dc-9f60cd796c90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_0" metaid="_7828fe17-ceb8-4543-b8f1-b03d311d3bee"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3d41d0e5-2be2-43ca-80f4-3c35bd6cd81b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_3ba69127-2e53-40da-9cec-7545a514e4f1" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction40" name="dissociation of MAPK from scaffold" metaid="_806845" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806845">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_0" metaid="fc0ac358-b385-495d-9fda-622dbe7b9453"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_96157470-2c72-4a80-bd31-7868812978ef"/>
+          <speciesReference species="S_m1_0_0" metaid="e9b1fa84-0865-4a46-911e-5403774120aa"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1a36838c-2d69-466b-a850-bf00f9d66a7a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_677d4510-6cfb-403f-9d02-402308aac3f4" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction41" name="binding of MAPK on scaffold" metaid="_806915" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806915">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="bb381940-ce8f-4824-8105-fa48997fe846"/>
+          <speciesReference species="S_m1_0_1" metaid="bef0cba9-f3e4-440e-aa00-4b7ec611b1b2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_1" metaid="_6bfb196a-2b23-48fa-ba36-e034fffdcbda"/>
+        </listOfProducts>
+        <kineticLaw metaid="_44d4fc04-b0ef-41f5-98ed-dd9551751d8f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="b33afb85-e57e-4ebd-b469-93ad3586a3b3" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction42" name="dissociation of MAPK from scaffold" metaid="_806986" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_806986">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="c8947e03-b058-415b-8d77-e3375aba9084"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_588e8d4e-243d-4ba6-8fbc-793164062b24"/>
+          <speciesReference species="S_m1_0_1" metaid="b0ea634b-085f-4571-98ee-8b3ad1754f4a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6728b03c-9fa8-47de-9317-d5122d5bfecf">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="f0280bff-d519-4685-a1a4-e8580bfb17c5" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction43" name="binding of MAPK on scaffold" metaid="_807057" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807057">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_46a2e538-ca5b-435b-a79e-93a59e0981c4"/>
+          <speciesReference species="S_m1_1_m1" metaid="_002df94c-d56e-4ecb-aaa1-ffcc29fa1a97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_m1" metaid="e4fc0a0f-366c-4a7a-94d1-8984d23dd1fe"/>
+        </listOfProducts>
+        <kineticLaw metaid="_43d859b1-5651-442e-8495-340d860b6795">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_719f261f-dccd-4bfc-adc8-fb5ae89413d3" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction44" name="dissociation of MAPK from scaffold" metaid="_807125" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807125">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_m1" metaid="_0ae3f7be-70e2-471c-ac50-0c86ff8e8315"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_6482fda1-45f2-4193-9531-d9f114425e77"/>
+          <speciesReference species="S_m1_1_m1" metaid="_3b4e7c25-08c8-45b7-9798-452b62784cc2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6948d8c4-14e6-418b-8fad-eeec339af592">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="cd23412b-b7f3-46e3-aa27-c57ba450c9a9" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction45" name="binding of MAPK on scaffold" metaid="_807195" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807195">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_8d102c8a-e557-41cc-95c8-3d716ebbbf67"/>
+          <speciesReference species="S_m1_1_0" metaid="cb869a32-ac75-4288-a6df-51ce026f888b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_0" metaid="cca1965e-3427-47d2-b2de-8c9cf13d1960"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7fe203c9-19ae-4b9a-a18f-2ef1300779de">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_57442948-ac41-4067-bc65-b96883138280" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction46" name="dissociation of MAPK from scaffold" metaid="_807265" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807265">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_0" metaid="c78cf4fc-1abd-4d74-8a41-de57bb61cbb4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_8fab75c3-e4b5-4f66-9b38-0a158caf6e29"/>
+          <speciesReference species="S_m1_1_0" metaid="_9d4708e7-98e1-4d71-87dd-3bda21eb2a42"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3c25ab8c-b33e-44a8-9a53-bde690a60667">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="e05c832f-2c52-48a1-a055-64ba429f4082" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction47" name="binding of MAPK on scaffold" metaid="_807335" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807335">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_92e27cf8-e2bc-4b16-bbae-35d56b10d8b4"/>
+          <speciesReference species="S_m1_1_1" metaid="_9eba3e92-075d-4bf4-98dd-5729e6b84790"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="_452c429f-8b0b-495d-8679-ef2bfe50fce7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6e912a9f-b808-4459-9007-a05cae3925e4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_0ebbee0f-c5cf-4ec5-8ccc-d108d638c27a" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction48" name="dissociation of MAPK from scaffold" metaid="_807405" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807405">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="b7305f63-1fa1-4103-a1c9-7910df441002"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="db08fc52-1886-4fae-a11c-3ffa258a50de"/>
+          <speciesReference species="S_m1_1_1" metaid="d73f056a-8d81-48d0-92af-6044fd07f156"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2f12aec1-12c7-406e-b948-d1b18d0fe100">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_03aea81f-3554-4687-adc0-9cca55fab79e" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction49" name="binding of MAPK on scaffold" metaid="_807475" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807475">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_43a253dc-8e9b-4f32-80d4-530ca0ced02c"/>
+          <speciesReference species="S_m1_2_m1" metaid="_527429b3-8f8c-4c9e-82ac-df5f07643da8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_m1" metaid="_704c8334-0c9c-4501-9996-1bb58d0dbb86"/>
+        </listOfProducts>
+        <kineticLaw metaid="ceba181e-c1f8-47f0-9e11-5230ed5cadae">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="a6ce8cb0-edf7-4e8a-87da-30098016768a" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction50" name="dissociation of MAPK from scaffold" metaid="_807545" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807545">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_m1" metaid="_0c682d4e-a320-454e-8e11-59970a20c3ad"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_55038f00-9519-406a-8459-5c5d113b0014"/>
+          <speciesReference species="S_m1_2_m1" metaid="_4a728ae4-4644-4f6d-8a1a-a11042aa006d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_80a1c961-c2a4-4381-bcc3-93798d33daa7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="ac4e2a2e-9e2b-4bbf-ae72-6a53bc254ced" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction51" name="binding of MAPK on scaffold" metaid="_807615" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807615">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_7ca638bc-51ed-44ef-be06-7355a27a991b"/>
+          <speciesReference species="S_m1_2_0" metaid="d91df374-08c7-437d-bdef-d917575e1054"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_0" metaid="c67e9475-e74c-43fa-837a-f57379ad9586"/>
+        </listOfProducts>
+        <kineticLaw metaid="fe300738-d847-47f6-b541-5ac80d0e2bbd">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_964d1f61-8fc6-4a8d-a386-47f1071e4144" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction52" name="dissociation of MAPK from scaffold" metaid="_807685" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807685">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="_3c0aa967-9961-45a5-9e93-45e91608133d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_551800e3-b70d-4b68-883d-0e1ade68490e"/>
+          <speciesReference species="S_m1_2_0" metaid="a71e34a7-53a9-42d3-8495-dd96b7289930"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0b64ac62-25d5-45c4-bd63-2f25d405f309">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_30d4c99d-6a23-4649-8b22-c560185a4c63" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction53" name="binding of MAPK on scaffold" metaid="_807755" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807755">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_58c9a400-d302-4e1d-b7f9-f6046d72cc8d"/>
+          <speciesReference species="S_m1_2_1" metaid="f4c5261f-9cdf-4a87-b12b-a607f5662f51"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="_80b8b1c8-000a-4bf5-b4b4-7797f6d3f019"/>
+        </listOfProducts>
+        <kineticLaw metaid="a5a5f0b9-1a3b-442f-9f74-1c825781b156">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_1a938171-c031-4e84-8b72-5f373f27280d" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction54" name="dissociation of MAPK from scaffold" metaid="_807825" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807825">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="_2016e296-f78b-47f4-bb88-4800d175f02c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="eb2598e6-9e28-492b-a149-b2ba8212c5c0"/>
+          <speciesReference species="S_m1_2_1" metaid="_9a864596-f93a-41cd-b839-cf9869c467e5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3b5bb100-8390-4843-a19f-ee97623708fe">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_365d065b-2012-4c4e-ba0a-d70bd74ea371" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction55" name="binding of MAPK-P on scaffold" metaid="_807895" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807895">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="c5fbe4bb-2b58-427c-a0f3-fcdd915d14ff"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_4ff9d3c4-6da1-4250-8cf5-07c49c333fd5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_m1" metaid="b280ddb1-f6ad-42ea-824f-0c9d5cd246f1"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1f82c5b7-a38a-46fe-a733-31c1f34b1e7b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_6d0188db-2d4a-4f7e-88ed-522af0cc7486" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction56" name="dissociation of MAPK-P from scaffold" metaid="_807965" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_807965">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_m1" metaid="_08e7dfc4-a5a3-4f4b-96c9-6b904db35e0b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="b6a62a9c-4a71-4c58-a4a2-56aa4ed89541"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_30b6064d-bf05-4828-bfde-78fa7a360376"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9114bb6a-902e-47cb-897c-05d068ebbbc7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_1ef471d6-1d35-4d09-82dd-923eb01aec18" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction57" name="binding of MAPK-P on scaffold" metaid="_808035" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808035">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="ccc29f5a-65c5-4375-bc0e-182684736977"/>
+          <speciesReference species="S_m1_m1_0" metaid="cc2fafa8-0ed0-4074-a40d-84f395e25731"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_0" metaid="d650a46b-29ac-483e-b26c-ef526895816c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0011f528-4fae-4670-af80-0beab9fdcf27">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="bf393f43-5115-4e03-9490-f587296b826d" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction58" name="dissociation of MAPK-P from scaffold" metaid="_808105" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808105">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_0" metaid="_54dc70a0-69a9-417b-8581-3e91724bd5c9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_5f7d1c90-406a-48ff-9cc4-90620a961677"/>
+          <speciesReference species="S_m1_m1_0" metaid="e5667511-e9c5-4e80-820d-c81aef5669d4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_35697806-b4dc-4ecd-8a13-c0ca9bac227c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_6e532611-0f81-43b9-aacf-0a1fc9bed8de" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction59" name="binding of MAPK-P on scaffold" metaid="_808175" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808175">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_8fde864b-8d4a-4519-b639-6e0f62968e11"/>
+          <speciesReference species="S_m1_m1_1" metaid="_90833ec3-52fd-4b8c-bec8-7eefb2885305"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_1" metaid="cdb573b5-4bee-495d-82a7-7b6b15c68d36"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2d59cfcc-da5f-46e5-a894-4d3f9b7b2e83">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="c3f804f4-504d-4bfa-a1dc-805942a2db52" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction60" name="dissociation of MAPK-P from scaffold" metaid="_808245" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808245">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_1" metaid="_5b8beaea-192b-471c-9409-564053cc0d3f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_42b33108-33a2-4aec-bcc3-4a292a324de8"/>
+          <speciesReference species="S_m1_m1_1" metaid="fefd15e1-e037-4c83-9e19-6d9c2bb359f9"/>
+        </listOfProducts>
+        <kineticLaw metaid="b6258d2e-2a28-4a23-9516-dcfb1048fabe">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_72cb57a6-7251-4bd1-8513-258faaddb838" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction61" name="binding of MAPK-P on scaffold" metaid="_808315" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808315">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="be700fa0-f49a-405d-97cb-32f26f564394"/>
+          <speciesReference species="S_m1_0_m1" metaid="_2727b416-ccd4-477a-b2c4-985c65d65c1a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_m1" metaid="_2f814ef6-9325-42a8-9179-54fe38bdc6e8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2a4caa17-deb3-4f56-8939-c250026476c9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="bee103ab-fa70-4d52-85b3-18bb988a4687" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction62" name="dissociation of MAPK-P from scaffold" metaid="_808385" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808385">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_m1" metaid="ad202a5a-1b12-47b6-83df-c91a49d023b3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="a445a985-d841-4326-9eb2-1b21a1ca6e2d"/>
+          <speciesReference species="S_m1_0_m1" metaid="_55616091-820a-404c-ac89-d3faec94e29e"/>
+        </listOfProducts>
+        <kineticLaw metaid="f7f12655-2191-480b-b7bb-ae48e3073e94">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_532b90e5-b31d-4c5b-a8a6-1b6ccb2f5687" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction63" name="binding of MAPK-P on scaffold" metaid="_808455" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808455">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_48e53d27-6541-495c-af5d-64d1a1288e57"/>
+          <speciesReference species="S_m1_0_0" metaid="ec338fff-bf67-4e38-aaed-3083bbfbe195"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_0" metaid="fdd04ad8-0a67-45f1-acf0-20ff0c63bce4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0a688d3a-8e5f-41e9-b62e-5737f7484630">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="f7c21ff4-1853-4424-a502-61c44e8bab4b" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction64" name="dissociation of MAPK-P from scaffold" metaid="_808525" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808525">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_0" metaid="_76ad8e9c-278b-4c70-a739-8557e12fca0d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_5da5ddf4-76a2-494a-ada7-7e34b1b444a0"/>
+          <speciesReference species="S_m1_0_0" metaid="d0f24994-83d3-435b-82dc-1ada86c18e57"/>
+        </listOfProducts>
+        <kineticLaw metaid="eae313af-b391-41e2-88ae-41bb49076dd4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="fe7b584e-4dda-4ca0-960a-71b2700be2df" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction65" name="binding of MAPK-P on scaffold" metaid="_808595" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808595">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="f97a59d8-6eeb-4c94-a9ad-283d00e014f5"/>
+          <speciesReference species="S_m1_0_1" metaid="_2db604d8-3f5e-4ce6-b69b-9a8c8fcca3a3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_1" metaid="bd6205f8-c918-4fa0-aa60-0307d12b48ab"/>
+        </listOfProducts>
+        <kineticLaw metaid="_773c862d-818d-4ab7-acb2-dc5362df2b33">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_4f38702d-e741-4cbc-ada8-c083526fd860" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction66" name="dissociation of MAPK-P from scaffold" metaid="_808665" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808665">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="_2ab5e4a1-9834-4019-bf3d-0241013af7a3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="e305607d-8d6d-47d2-801b-f081e4d89d60"/>
+          <speciesReference species="S_m1_0_1" metaid="dfbedea6-b38e-4fa0-a746-7d82268321c5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7c3897fd-3da0-4d0e-92ef-8ccdf3c1c5dd">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_8646d702-d3f4-4d2e-bf24-2ad5ee846681" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction67" name="binding of MAPK-P on scaffold" metaid="_808735" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808735">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="e433ee47-7223-4d20-a3da-9a7137683687"/>
+          <speciesReference species="S_m1_1_m1" metaid="ddf9d78a-2cc9-4695-9c71-a0c4c3729772"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_m1" metaid="_15a2791f-150e-4e71-809c-018ab7fc6a24"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1ef5f0a1-ebc3-474d-9320-09b56327a85d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_0c211a71-e2da-4748-92ff-35fd9a34b1df" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction68" name="dissociation of MAPK-P from scaffold" metaid="_808805" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808805">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_m1" metaid="_83c3e53b-2047-4b43-83cc-304ab91b7332"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="f0cd36f8-281f-442f-a8cf-0628896ed580"/>
+          <speciesReference species="S_m1_1_m1" metaid="_2a85ff57-5485-4a79-9d81-dfcc18de87fa"/>
+        </listOfProducts>
+        <kineticLaw metaid="c33c8b8f-2543-4d5f-a17c-21c96ead6171">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_750a0d13-dcdf-4ff8-a4b6-18fc3e4a01a1" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction69" name="binding of MAPK-P on scaffold" metaid="_808876" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808876">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="c6359450-2cc8-4074-96a0-dc9f97509b30"/>
+          <speciesReference species="S_m1_1_0" metaid="fdedcffc-7519-4c0a-aef4-de82536894e5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_0" metaid="d26431c5-42df-4d5a-a444-e9b72830fbf6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9ac80039-3458-4e67-9dbc-94c29adb725d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_29221af4-d648-4904-8ee7-ac02a7586476" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction70" name="dissociation of MAPK-P from scaffold" metaid="_808945" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_808945">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_0" metaid="_69865dcb-dd6c-4484-9f53-edfaa03c7f27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="d32991dd-feae-4b0f-85cb-feb7d56054c9"/>
+          <speciesReference species="S_m1_1_0" metaid="_586d180d-dd63-451c-9f69-05cf9717751e"/>
+        </listOfProducts>
+        <kineticLaw metaid="b9c4a575-a85e-4448-9e49-fb4e04a3d0f0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_68d212da-de9c-43d1-9cd7-b5aff85573b0" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction71" name="binding of MAPK-P on scaffold" metaid="_809015" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809015">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_5e36ee29-b0aa-4b7a-86f4-23f1f5c91307"/>
+          <speciesReference species="S_m1_1_1" metaid="_3b8e72d1-22c8-4259-ad91-4cda402f95df"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="_7ceb3c51-e1e6-44d7-b7e2-448ab7c89fa4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2da7f643-8ae6-4c22-9c04-e10b6e157e17">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_0883f8a5-665f-480b-9aad-60faf3de8581" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction72" name="dissociation of MAPK-P from scaffold" metaid="_809085" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809085">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_78a3501f-5baf-41bc-8e1f-457260a99bad"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="e5643c3e-1e1c-4c2a-b0cd-e44fe30014e9"/>
+          <speciesReference species="S_m1_1_1" metaid="_07529e45-d213-4f14-925b-3fae913eb05d"/>
+        </listOfProducts>
+        <kineticLaw metaid="ba83a93c-7778-4c5e-9aba-4ca431964933">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_39dd3756-c220-45fd-9f41-c797297a4c6a" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction73" name="binding of MAPK-P on scaffold" metaid="_809155" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809155">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_76f4d2ca-6fb1-4f0c-bd0c-0f52fe21523d"/>
+          <speciesReference species="S_m1_2_m1" metaid="_07187cb3-72c8-4798-879f-f451595fc36f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_m1" metaid="d26ac685-ef42-48c1-8110-47276e03f943"/>
+        </listOfProducts>
+        <kineticLaw metaid="dddd535a-5726-4428-ab45-b12356295587">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e69cf751-ce85-45b9-8d64-a2ab954ac86d" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction74" name="dissociation of MAPK-P from scaffold" metaid="_809225" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809225">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_m1" metaid="_087614b0-f927-468d-8de5-a4b1eec4440a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="a7c982e6-387d-48e2-91d7-e190f3c1870b"/>
+          <speciesReference species="S_m1_2_m1" metaid="cafb434d-9768-4b90-ae6c-af1e4cd2af47"/>
+        </listOfProducts>
+        <kineticLaw metaid="ec89d5bc-11a5-4c4a-9ee0-6daadb200845">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="fb8e3ef5-aba2-4711-962d-6c127eebf2e3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction75" name="binding of MAPK-P on scaffold" metaid="_809295" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809295">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="a3f91b9d-a107-4da8-8d2a-7860aea95d63"/>
+          <speciesReference species="S_m1_2_0" metaid="_138b46f2-65f8-4944-82dd-dc82be1fc016"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="_4b218768-33cd-438b-aab4-2c16232b76eb"/>
+        </listOfProducts>
+        <kineticLaw metaid="a492a4ad-aa44-4e53-b1bb-6b22c34c756e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="c11fcbc3-6415-44d0-a6ce-eaef51201fa6" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction76" name="dissociation of MAPK-P from scaffold" metaid="_809365" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809365">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="_928fec99-3d36-458e-bfff-b8f2203c57e8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="de550b3d-cabc-4c3d-bd96-b17071759785"/>
+          <speciesReference species="S_m1_2_0" metaid="c642db55-c3bd-4e91-bf76-09ad35a3d26b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5a2cb0c9-d625-4f85-8eba-d78062dbaacd">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_85ebe4a4-00ba-42f0-8705-0d924d28a108" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction77" name="binding of MAPK-P on scaffold" metaid="_809435" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809435">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_9a5d90b0-4a70-4f01-b1e9-cfe40d1a2a3b"/>
+          <speciesReference species="S_m1_2_1" metaid="_399691c7-713b-44e4-b225-bd7dde2717cb"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_1a23f493-1c84-40a2-9625-f7a2ffff0e1e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_786b9659-e0df-42d1-b114-9a7b80f346df">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_6267f413-d66a-4073-a88c-d64e1a9f65d5" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction78" name="dissociation of MAPK-P from scaffold" metaid="_809505" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809505">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="_448fc57c-90db-4da2-8651-ca6dc9a0b462"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_7ff9d8ff-1cbf-4e44-9bad-f703abf66fc4"/>
+          <speciesReference species="S_m1_2_1" metaid="d989cf8e-c5ad-4ae0-b4d5-d2e2d09ecdec"/>
+        </listOfProducts>
+        <kineticLaw metaid="e313448a-1abe-4a67-a250-29a54a997ae0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_6a7af504-be62-4752-bd1c-e8bcbe22f685" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction79" name="binding of MAPK-PP on scaffold" metaid="_809575" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809575">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_2ae43a35-fab6-42c6-8383-1cedaaa852cd"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_3e28c2cc-7c24-4bd9-bd2a-f2eb3d3e8220"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_m1" metaid="_5d2d0e77-1962-4a73-8320-3f222c94dbe6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7b240632-0925-416b-a9b2-abb4f3a0acb6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="ec0e5c06-93a8-4343-b301-2e8d4f2349e8" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction80" name="dissociation of MAPK-PP from scaffold" metaid="_809646" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809646">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_m1" metaid="_0eb50e78-88e1-4b39-af9f-0f9c367e6b64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_0e8a5b0f-4e64-4af4-bb70-31be3d36c27d"/>
+          <speciesReference species="S_m1_m1_m1" metaid="e88f14b0-9fba-441f-8e32-76f5a2849c8c"/>
+        </listOfProducts>
+        <kineticLaw metaid="c1087f10-22f6-45c4-92cb-1d45a626661a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_648e3b72-1553-442e-8d5d-e1ae34c80f45" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction81" name="binding of MAPK-PP on scaffold" metaid="_809715" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809715">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="d10cb797-8103-4061-a4e6-6c6ac6c08f9b"/>
+          <speciesReference species="S_m1_m1_0" metaid="a53afd26-b6ae-4798-9d18-d0eec5213c02"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_0" metaid="b1576bb2-be88-44e9-8486-52554b9bebc3"/>
+        </listOfProducts>
+        <kineticLaw metaid="e8cf43d4-fad8-48af-8609-7bebaceda295">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_39527c69-d989-4401-b169-9f6c5ff75557" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction82" name="dissociation of MAPK-PP from scaffold" metaid="_809785" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809785">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_0" metaid="_9371c2ce-82b4-47cd-87e8-7a7c2743f517"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="ab43e262-86d8-4d49-8c7b-8223c14c197d"/>
+          <speciesReference species="S_m1_m1_0" metaid="_863ba7ea-2d26-4c33-9d25-2745be39cd84"/>
+        </listOfProducts>
+        <kineticLaw metaid="_32b435f9-a651-4c2c-93a8-83083bccb107">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_64a9feda-c00b-465e-99b7-dd54f5ef87b1" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction83" name="binding of MAPK-PP on scaffold" metaid="_809855" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809855">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="fd0dcef5-78c7-488f-87d1-9226ee34f6aa"/>
+          <speciesReference species="S_m1_m1_1" metaid="_5c7f1dda-1f7d-4fae-9892-8d2afe512bd1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_1" metaid="a366e665-a6be-48f5-a376-d2e5f207e02f"/>
+        </listOfProducts>
+        <kineticLaw metaid="d56e03bf-c300-4513-85d4-28ffc527ee3d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="f194526c-99d4-4680-a558-7eb169f213be" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction84" name="dissociation of MAPK-PP from scaffold" metaid="_809925" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809925">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_1" metaid="_71eca71d-e1a8-4d9c-8422-dceb862412f6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_64d94bad-45d5-4fb1-8ef5-36fbace05fc5"/>
+          <speciesReference species="S_m1_m1_1" metaid="_9baa2057-6db9-491f-9750-ec522849cc51"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7aaf598a-4f1d-4a75-9343-f5877dd35ead">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_1ce1b41e-fb07-4ad7-9c11-f9c98d908917" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction85" name="binding of MAPK-PP on scaffold" metaid="_809995" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_809995">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_3bc9d5fc-399d-4105-a56a-2c5eefa7921e"/>
+          <speciesReference species="S_m1_0_m1" metaid="_1fe41d3a-119f-4754-94b5-0418ef93f40e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_m1" metaid="_86224982-1b60-46c5-8b8f-27515e958b77"/>
+        </listOfProducts>
+        <kineticLaw metaid="_44d971c9-fe97-40c7-aaa2-8aa9a17b9d75">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_5bc7c08d-a7ee-4435-a534-b467fa87006d" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction86" name="dissociation of MAPK-PP from scaffold" metaid="_810065" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810065">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_m1" metaid="ec5cd6da-9b18-4144-b9b3-c901fccc738f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="feb5746c-0861-4f9d-aa77-2cdbf731f1bd"/>
+          <speciesReference species="S_m1_0_m1" metaid="_3f085fad-2f02-448a-bb17-51c6f4828d74"/>
+        </listOfProducts>
+        <kineticLaw metaid="_236f5d81-0d3a-4fe0-8996-3b1a0c4f59ac">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_76a2fa65-fca5-4239-9f4e-4edd3fe83fab" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction87" name="binding of MAPK-PP on scaffold" metaid="_810135" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810135">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_05a85f4b-d298-4e91-878c-55d51bda99c2"/>
+          <speciesReference species="S_m1_0_0" metaid="_573644be-c3bd-4926-a501-e6df6c4c64ea"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_0" metaid="e1c137cc-a4cc-464e-9e31-2bd6609d157e"/>
+        </listOfProducts>
+        <kineticLaw metaid="db03b43f-f4f5-494e-a8c1-f883b91d8502">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_3f226009-0b10-47a6-9b3b-13c43f6cf57f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction88" name="dissociation of MAPK-PP from scaffold" metaid="_810205" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810205">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_0" metaid="_11b66aa7-af7f-4c0b-892d-f30a0426476e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_11e70d7b-bc00-47ff-b2ad-943bc002a94c"/>
+          <speciesReference species="S_m1_0_0" metaid="fbf04828-0e6a-4ac6-8133-ec8418b386f9"/>
+        </listOfProducts>
+        <kineticLaw metaid="e1180e4c-0ca9-41a4-80cf-30feba936736">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_2bb20562-4d6d-417f-9b60-b657dbe167ff" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction89" name="binding of MAPK-PP on scaffold" metaid="_810275" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810275">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_3c82fc8c-9f22-4595-b06c-f22e3e06beef"/>
+          <speciesReference species="S_m1_0_1" metaid="b7b7a2a4-f7cb-419a-ab55-258df76b2f10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_1" metaid="f3b3362f-8411-486a-bd4e-8dc1eaea32b1"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6ee48e78-2cc0-44d9-a080-830090a9ff8c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d26878e1-ef5e-442b-b1ca-7aa1aeba247a" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction90" name="dissociation of MAPK-PP from scaffold" metaid="_810345" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810345">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="_56783892-a720-40b4-a5c9-d6f602d0fd6d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="cb2af4c3-e3b9-4744-abec-90e250968c10"/>
+          <speciesReference species="S_m1_0_1" metaid="cda7e21a-492e-4639-a9b3-a2c175164d23"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2453b929-bbad-4d9c-9ed0-d7427ac31a71">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_2e124d1f-37fe-4bf1-bb0b-a612adc10daf" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction91" name="binding of MAPK-PP on scaffold" metaid="_810415" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810415">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_7b44bdd3-6dac-4020-8ba9-873e146c5ff5"/>
+          <speciesReference species="S_m1_1_m1" metaid="ade0eb32-24e3-4ccc-b5bd-6f274db04eda"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_m1" metaid="_2ab6d490-ffa2-41af-b3f0-841374f51cb6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6df446b5-8f12-4969-b8f7-793973e9373b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_6e4071f6-744e-491e-962b-996e0a77aba9" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction92" name="dissociation of MAPK-PP from scaffold" metaid="_810485" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810485">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_m1" metaid="_9d6ec4b7-2cab-47f8-b66d-c9f41cdc9d6f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_49b36de5-c673-49a5-940d-200794424ae0"/>
+          <speciesReference species="S_m1_1_m1" metaid="e7f2c9f8-0612-4351-99b0-39393d665568"/>
+        </listOfProducts>
+        <kineticLaw metaid="a61b5371-9c41-438f-bf5a-35aca85135e8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="ddc63456-9d4b-46c2-8e17-192ad4a5352d" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction93" name="binding of MAPK-PP on scaffold" metaid="_810555" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810555">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_7e2d007b-6e72-4a9e-a9d4-04c1edd93162"/>
+          <speciesReference species="S_m1_1_0" metaid="_89ee87c5-2288-43d2-9595-f364124371e7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_0" metaid="_6fe1252f-e265-4131-bffb-49650c48acb5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0b4eec4c-c2db-498f-b4e3-59d925352e76">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_2d4e5ba7-f591-4a0c-aeb1-e124ed07a1cc" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction94" name="dissociation of MAPK-PP from scaffold" metaid="_810625" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810625">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_0" metaid="ceff9226-e8db-4227-b494-4569cac9e7f2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="f133b247-9009-4421-bb16-e7610ca7e419"/>
+          <speciesReference species="S_m1_1_0" metaid="f010c330-9cef-485f-b9ab-633a9e7fddec"/>
+        </listOfProducts>
+        <kineticLaw metaid="a13d2e33-ffac-4ff7-b496-dbac16d48a58">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c9713f61-eae1-421f-9bbe-b1dfb5055103" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction95" name="binding of MAPK-PP on scaffold" metaid="_810695" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810695">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_12544072-dbf9-420b-a8d3-798ebf40dee9"/>
+          <speciesReference species="S_m1_1_1" metaid="_5c4a5d55-86bd-43fe-ad4c-a60290f537a2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_91c9b451-6451-4e71-ad1c-453274abb02f"/>
+        </listOfProducts>
+        <kineticLaw metaid="b8d3d436-ab18-4643-b4fa-86293786f17d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_33a99871-2491-4c65-9026-0376bcefa0aa" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction96" name="dissociation of MAPK-PP from scaffold" metaid="_810765" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810765">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="_2e78dcb3-77ae-4097-b226-de53986c35ec"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_29e49a28-91b7-4ca4-b3cc-6bfec4f1a383"/>
+          <speciesReference species="S_m1_1_1" metaid="e324b616-657a-4f4f-8ceb-0db2bdfb775b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_58ce390a-5a98-47d3-8e91-daea021b8bb0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_42239dd5-5c5d-4c2d-9812-4d81365a45e7" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction97" name="binding of MAPK-PP on scaffold" metaid="_810835" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810835">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="b4e8d33d-21f7-4a15-a35d-84903c5ae588"/>
+          <speciesReference species="S_m1_2_m1" metaid="_5fdba987-1bf8-4f0f-8e61-c1d081118d40"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_m1" metaid="_3aa3de4c-5260-42a1-a73d-1ec8e369584c"/>
+        </listOfProducts>
+        <kineticLaw metaid="fd7ff7b2-9633-4317-86f9-8f12018ca7c3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_628a4e1d-9126-4cbf-80a0-81e49680354f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction98" name="dissociation of MAPK-PP from scaffold" metaid="_810908" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810908">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_m1" metaid="_451dbfde-235a-4202-99eb-0a193a1b17e2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="ebca580b-0889-4b49-8434-d4b9d81399a4"/>
+          <speciesReference species="S_m1_2_m1" metaid="d0797aa3-1cb3-4c00-b2ea-365cfb22b9a1"/>
+        </listOfProducts>
+        <kineticLaw metaid="de56c159-e364-4bf1-a35e-dedfd360027a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="a9b64029-8fe0-439e-88a3-be80273dd75d" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction99" name="binding of MAPK-PP on scaffold" metaid="_810975" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_810975">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="cb00346e-4560-4257-adb4-08f7941db2ee"/>
+          <speciesReference species="S_m1_2_0" metaid="a16bfe7c-e9ae-4084-8892-6425c48af02f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="_70f81283-9c1b-4a7d-af85-73a8c2b97849"/>
+        </listOfProducts>
+        <kineticLaw metaid="_59782493-92e9-41ad-ae78-3fbc9a81c0f3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_4bf26013-66c2-45a2-ac38-f28488555777" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction100" name="dissociation of MAPK-PP from scaffold" metaid="_811045" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S_2_2_0" metaid="_392f51f4-2c28-4111-ae93-20e1c4c6ca13"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_3c51326c-3d18-489e-8729-066d1a31c257"/>
+          <speciesReference species="S_m1_2_0" metaid="c46f433c-a263-4782-ace3-989062f953a2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_551de820-e6b1-4cba-8b83-92f45314a70d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e153c231-5f4c-42a2-945d-eaf2a1e44af6" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction101" name="binding of MAPK-PP on scaffold" metaid="_811117" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_811117">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051019"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="f4e4a644-e842-4cf2-aded-d00eca3e68fe"/>
+          <speciesReference species="S_m1_2_1" metaid="_16b774fe-f065-4233-a996-f98ddeabec3b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="c6e7bbc2-c344-46cd-94b3-9b6ffb45f7b2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0a482232-eee6-47d3-a430-6b29eb2001e0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_373e0f37-2dc6-4e82-9f77-74f327d50f7b" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction102" name="dissociation of MAPK-PP from scaffold" metaid="_811185" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_811185">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_1" metaid="e38a75df-7d84-4eca-8851-3bb7e4c244cc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_25193eb0-1f39-4989-82a3-dd9ff490ac6e"/>
+          <speciesReference species="S_m1_2_1" metaid="_1ceb5c9a-add8-4c8e-a3df-e7c52a48549b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_534ee9cc-7ee0-482e-89e3-bd6b283be93b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_617572a1-766c-4c7c-9096-2a209dceadf9" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction103" name="binding of MEK on scaffold" metaid="_811255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_55f5d887-678a-47f6-b3c3-d121a6a63568"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_9ad9ebc2-bc1d-43c4-8f45-bafd69614a3a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_m1" metaid="d38843cd-e37c-4d46-ad19-cdaa92d9e85e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1e71ac70-1cd4-4a77-8d93-ca2d57b78f21">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_37753f17-f38c-497b-bbb7-e28f85b92582" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction104" name="dissociation of MEK from scaffold" metaid="_811325" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_811325">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_m1" metaid="_7a24dd8c-01ff-42e1-9a33-376dd8c1ad50"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_6e502461-d95e-419a-b5f6-ecd0432fc43a"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_621e8a5a-daa5-4796-94f3-58ded4d7398d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7fb506c0-bd71-444d-9204-0fa3ebee4eff">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_072cfe45-933c-48c9-a47c-67dba75cedd2" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction105" name="binding of MEK on scaffold" metaid="_811395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_30ae0f5d-ca29-4ece-88aa-20a3deafc5b8"/>
+          <speciesReference species="S_m1_m1_0" metaid="f4eac8b7-8bfc-46b4-89e1-f9faf5f24ed2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_0" metaid="_7809acaa-bb44-4348-8bc3-1dc55f77c962"/>
+        </listOfProducts>
+        <kineticLaw metaid="f802435a-fbf0-41ee-83d0-76e910f3604e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="f2178108-f493-431b-8ad3-6750ce97459f" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction106" name="dissociation of MEK from scaffold" metaid="_811466" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_811466">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_0" metaid="_67b76bd7-fb98-4178-bd86-725dfedca819"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="ab1ab35c-ed91-4f77-afe7-21064e1e9992"/>
+          <speciesReference species="S_m1_m1_0" metaid="f3c1e924-37b6-4319-a69f-795177aa26eb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1bd8a5a3-3723-4f68-b75b-18a072cdc4a0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_9d38b3b4-e5c1-404d-9da5-05637d97012b" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction107" name="binding of MEK on scaffold" metaid="_811536" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="a017db2a-287c-4fa7-ada6-324b4cc8c8f4"/>
+          <speciesReference species="S_m1_m1_1" metaid="b371f5c5-7375-473f-ac18-3999eeec44c9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_1" metaid="_54e85ef2-3817-40c5-bb1e-0a3e613b048c"/>
+        </listOfProducts>
+        <kineticLaw metaid="ed422aa5-35fa-4a1f-8489-bd8140723628">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="f78fcfb9-c021-4c01-916a-bf5f2516356a" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction108" name="dissociation of MEK from scaffold" metaid="_811605" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_811605">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_1" metaid="_224b1663-079d-4e7f-a90a-f1f94fb45f31"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_7bf47a06-ea92-4997-a1df-879af51afa1b"/>
+          <speciesReference species="S_m1_m1_1" metaid="faedd3ad-5e21-46b4-935d-3ccfb8cd1b9a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5cd8516b-e21e-4ac7-a91d-c3f288c84527">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_61c71e78-5b9d-4195-8742-492859560ac1" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction109" name="binding of MEK-P on scaffold" metaid="_811675" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_029dee0b-d1db-421a-b1d1-1ec3386096d1"/>
+          <speciesReference species="S_m1_m1_m1" metaid="d36b1494-ad96-4f24-ab6f-07dce4047f82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_m1" metaid="bfec5ef0-c6e5-474e-a366-82dc160d81d8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_74dfd7ab-8299-410a-916f-e7a1eb324c75">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_118a429f-af96-4f16-b779-00256a7d8cc3" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction110" name="dissociation of MEK-P from scaffold" metaid="_811745" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_811745">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_m1" metaid="_617c913d-707d-4ef9-9b56-6c192c28c6bf"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="c17ded01-7bdb-4f05-8b6b-0f86c1eb97e4"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_6085fd60-3d88-4845-9816-691d615c3dd0"/>
+        </listOfProducts>
+        <kineticLaw metaid="_526266ed-ca58-42a0-9350-8f426f52f840">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_8ad13e73-84b6-434d-b598-dfa968b5a124" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction111" name="binding of MEK-P on scaffold" metaid="_811815" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_1175fcfe-29af-429d-9bc7-ab18542b28d8"/>
+          <speciesReference species="S_m1_m1_0" metaid="f1853edb-1cb5-4803-a289-5ff8186d7b06"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_0" metaid="_06ae27a1-939a-4363-ad39-71194dc76360"/>
+        </listOfProducts>
+        <kineticLaw metaid="cf54e1ff-ef89-456f-81a4-1b246d8117ea">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="dc78dfac-9ce9-4c7d-96d1-567e88dcef98" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction112" name="dissociation of MEK-P from scaffold" metaid="_811885" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_811885">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_0" metaid="a0981c8f-d059-4536-b2cf-b6fa8dc58d7f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_3b43886d-8087-4187-8f5e-a2562ca2b7f5"/>
+          <speciesReference species="S_m1_m1_0" metaid="a7d57c71-f9de-4246-b3f1-94d0d63d635d"/>
+        </listOfProducts>
+        <kineticLaw metaid="a9f44bd6-4ae5-4fd1-a257-ad3d51ab6f2e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e39aff96-a367-4dab-8592-8c30828fbef5" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction113" name="binding of MEK-P on scaffold" metaid="_811955" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_15d4e7ee-36e1-48dc-af88-f9e19fc9c77e"/>
+          <speciesReference species="S_m1_m1_1" metaid="ce1877a3-eab9-45de-8646-cc74d8834a46"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_1" metaid="_7db565e3-0313-410b-994c-056018e9a64a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5396ce42-a377-4629-923d-d3095d044132">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="f402a34c-095c-4ce4-ace4-5377abc79965" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction114" name="dissociation of MEK-P from scaffold" metaid="_812025" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_812025">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_1" metaid="_9adfc7aa-8671-474f-93ed-5cb36ff0c51d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="f424a320-5268-4e7c-81db-b42b8111f86e"/>
+          <speciesReference species="S_m1_m1_1" metaid="_747cb88e-00ed-42fc-b782-f347506d1b8f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_82806122-c3ac-4a88-904f-43db3b3ca2f1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_5cb851d6-2e8b-437f-97e3-b88f70bcae76" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction115" name="binding of MEK-PP on scaffold" metaid="_812095" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_95274da3-ff34-4f24-b9c3-9bb55d0fccc8"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_6dd3dcd1-967c-4c09-bbf9-1f917fa8eaa3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_m1" metaid="e78750bf-24e6-4bce-a617-9176ddba8c7e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3b3adbfe-1aec-4a2f-9171-41f504c4df4c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_01eed30d-21f4-4446-b388-dddd1501062d" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction116" name="dissociation of MEK-PP from scaffold" metaid="_812165" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_812165">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_m1" metaid="_0d90b16b-bb6c-4dd7-8b76-63928585e802"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="fa747aa2-8ec8-4321-ae7f-5c2e36322d2d"/>
+          <speciesReference species="S_m1_m1_m1" metaid="decbc562-8bd8-48c3-aa1d-e71997127880"/>
+        </listOfProducts>
+        <kineticLaw metaid="d99bce9b-2b6c-4e49-948e-d8ab4c72bc74">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="f7b3d5fe-d94e-48f4-bbf9-bb91d3ef1833" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction117" name="binding of MEK-PP on scaffold" metaid="_812235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_4f5f7e6b-335a-4080-80c0-2eee60b396a1"/>
+          <speciesReference species="S_m1_m1_0" metaid="a2aa64b8-93d0-4de1-9733-ccf6767198db"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_0" metaid="_2f39dcc1-8acc-49db-81e9-3dbd0f84c153"/>
+        </listOfProducts>
+        <kineticLaw metaid="_71a965c1-fe6b-48d8-bae6-a3b39ce901a6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_97d2f730-c106-413c-b790-f4fda9ee0d4f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction118" name="dissociation of MEK-PP from scaffold" metaid="_812305" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_812305">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_0" metaid="_3fd4e5ce-1b70-4f5e-a310-e5813b8eac7f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_2c28cdad-b31f-42d6-966d-ff07bfbfe788"/>
+          <speciesReference species="S_m1_m1_0" metaid="_03320111-ffde-4bea-8a92-a13cf338784b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_850fc158-6b6b-436e-ab8d-003d78869a67">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="b0365ddc-8d03-420e-b9ed-567df2716c18" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction119" name="binding of MEK-PP on scaffold" metaid="_812375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_7e9188c6-3e3b-4686-bc01-60520b16c778"/>
+          <speciesReference species="S_m1_m1_1" metaid="e16d8dbf-c1f5-4b33-9c83-e5c393ac7d04"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_1" metaid="ef5f3c48-65d6-478d-a93b-fccbe2f7e77a"/>
+        </listOfProducts>
+        <kineticLaw metaid="a9231e86-514c-42e0-968b-cc25a964a69b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_47f79cde-50a3-4891-b9bb-afd306113487" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction120" name="dissociation of MEK-PP from scaffold" metaid="_812445" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_812445">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_1" metaid="_019465e7-667c-4cbd-9a44-6253ff307bf5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_62cba67b-c8f2-4072-8f17-b5e07939de77"/>
+          <speciesReference species="S_m1_m1_1" metaid="_762dd27f-a99c-4552-8a71-a6fdc4f46e4d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_464997de-4333-4955-a41a-604b7a1051b0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_80b9bf02-5ab4-4030-8ce3-eecd36379798" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction121" name="binding of MEK on scaffold" metaid="_812515" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="b129f779-49b8-410f-8203-74ac1c50c860"/>
+          <speciesReference species="S_0_m1_m1" metaid="e1d73476-a997-43cc-9b29-bb615e21fb3f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_m1" metaid="a7b7c467-891e-4f72-bd99-0a3ade282b0f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8c8d4010-c688-4671-9ad7-6d16ef797f69">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_12295625-223e-4b3b-86ba-bc166e1d5145" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction122" name="dissociation of MEK from scaffold" metaid="_812585" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_812585">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_m1" metaid="d4a2ad3b-405d-45aa-b806-0df952ab9eaf"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="d644bd7f-f5c5-4ec0-ac72-51fb9dbca97d"/>
+          <speciesReference species="S_0_m1_m1" metaid="_7a311369-767f-4749-ab4a-201c7e4b2774"/>
+        </listOfProducts>
+        <kineticLaw metaid="d0aab6ba-8481-4e40-9a78-1ed47c59cbdf">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_9d5967e8-9c83-4a9a-832a-38292549b348" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction123" name="binding of MEK on scaffold" metaid="_812655" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_0b7808b4-974f-4ecd-b214-6db8ec39ffe7"/>
+          <speciesReference species="S_0_m1_0" metaid="b87a6147-7e1f-4665-88b5-82cededa05b1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_0" metaid="fae2557e-3cd1-4448-abc1-0a4d87cfc70c"/>
+        </listOfProducts>
+        <kineticLaw metaid="bea50a27-fab6-44cd-96ec-37c83e18c68a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="ee97f100-dbc5-4145-99c8-0e9dd2513f0d" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction124" name="dissociation of MEK from scaffold" metaid="_812725" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_812725">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_0" metaid="_3a4125cc-17c1-451b-9351-ad3fd124e8ac"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="f4b920bb-ec95-439d-8d88-760ea11d9bf0"/>
+          <speciesReference species="S_0_m1_0" metaid="d3e78e30-f98c-4d36-9729-c4ef066023f5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_66358d11-d855-4012-81ab-6f346f4bbd2f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="e1822980-e1a8-4e48-a1b8-d79dcbee51f3" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction125" name="binding of MEK on scaffold" metaid="_812795" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_4b18d4b3-df5c-40a2-9b27-4475329c4632"/>
+          <speciesReference species="S_0_m1_1" metaid="_18120711-11c6-4958-851f-6bee1da43f54"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_1" metaid="_0f1d68f8-dc14-4f65-b415-9bf0b8fc0878"/>
+        </listOfProducts>
+        <kineticLaw metaid="d47b09e6-30d6-4609-b48e-16406c188c04">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_4468ce0d-a165-499c-88a7-7707451bd41b" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction126" name="dissociation of MEK from scaffold" metaid="_812865" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_812865">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="_56b0c985-cac4-4b49-a3ac-44530ccbf656"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_6fb377c1-d392-4547-8d97-03d1d01adb29"/>
+          <speciesReference species="S_0_m1_1" metaid="_123dee29-1aa6-4f77-be34-447d61922be5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_13876369-9ea9-4843-96f6-be5d87133949">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_3944a20a-3cc5-47b8-9fa8-44c047524d6f" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction127" name="binding of MEK-P on scaffold" metaid="_812935" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="b8b70b07-c017-4d6a-9bf7-8fbe9124d765"/>
+          <speciesReference species="S_0_m1_m1" metaid="f0128681-f6fb-41bb-9ce3-be717eb4e375"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_m1" metaid="_52af0b33-3dea-4e23-bc8a-a6dbdddca3b0"/>
+        </listOfProducts>
+        <kineticLaw metaid="a66e92e5-ba9d-475b-b0d7-d94a73ad8e3d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="ce09214a-cf6f-42d3-ad71-edb74b5a51bf" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction128" name="dissociation of MEK-P from scaffold" metaid="_813005" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_813005">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_m1" metaid="_7b6f9411-9621-4e36-8827-9e03a85cf2b6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="ca857986-ae18-43e7-8f73-f4354ea5f847"/>
+          <speciesReference species="S_0_m1_m1" metaid="_0e465ec4-d3c5-4bbd-bb8e-c7298bc96dd2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6f34c380-ab70-42dc-8397-395936723612">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c17e403e-442a-4c4c-b29e-6df663cc368a" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction129" name="binding of MEK-P on scaffold" metaid="_813075" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="e1be3ede-311c-4206-8650-0015b4462741"/>
+          <speciesReference species="S_0_m1_0" metaid="f69919e7-5507-486f-ad54-cc16d2578be5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_0" metaid="_2363ad23-39b5-47ce-b302-188bdf108258"/>
+        </listOfProducts>
+        <kineticLaw metaid="_10e9ad82-ad4c-4a38-ab6d-2d333db2d693">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="a1713117-592e-442f-9d7e-ab13079987f4" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction130" name="dissociation of MEK-P from scaffold" metaid="_813145" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_813145">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_0" metaid="_63985695-babe-4db8-9c37-674ab0556daf"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="a85203cb-a424-4b19-933b-f3096a0f0b4e"/>
+          <speciesReference species="S_0_m1_0" metaid="_1c4ee97c-bb2b-407c-9040-5cf66e3d4a78"/>
+        </listOfProducts>
+        <kineticLaw metaid="e3af5e75-fcb7-4ba9-90d4-98f764d2af8f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="dcf69f81-a50f-4fa6-aca1-77a6da406258" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction131" name="binding of MEK-P on scaffold" metaid="_813216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="fc8753df-c32f-4829-ad00-6abb01b43185"/>
+          <speciesReference species="S_0_m1_1" metaid="e4caf139-08f1-420b-b022-368079b4a8d6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="_36ba9951-bcaf-4223-be1f-1c687b563f36"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3dccb76c-870f-4dcb-b444-b9fdba0ff413">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_5aeeca8e-60c8-46e8-9618-54eb40f5500f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction132" name="dissociation of MEK-P from scaffold" metaid="_813285" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_813285">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="d3289a4d-5bac-4b3a-92f8-35899cb54733"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="ed525ab4-df31-4cc8-b14a-dbe96fb27b9e"/>
+          <speciesReference species="S_0_m1_1" metaid="b450054d-2025-4723-9783-d8a7ee2564bc"/>
+        </listOfProducts>
+        <kineticLaw metaid="fd1bcc3b-dd58-410b-984a-2f6032cc1d41">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_21459953-6099-4c0a-a18f-cd7b79c62273" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction133" name="binding of MEK-PP on scaffold" metaid="_813355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="cd27de05-efd5-47b6-89e6-5e68d87055ae"/>
+          <speciesReference species="S_0_m1_m1" metaid="b061d316-9443-4c95-a440-67841eef31ac"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_m1" metaid="_2a41bc82-693c-42de-954f-b4a6ee417969"/>
+        </listOfProducts>
+        <kineticLaw metaid="e802d220-5b79-4d27-a88c-4b2d38ee6287">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="a3e1c6cd-913b-4c74-96df-bcbf235ef90f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction134" name="dissociation of MEK-PP from scaffold" metaid="_813425" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_813425">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_m1" metaid="_4e9fb3cc-dc2a-4181-8fcc-30c4bdc01dee"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="dd67a7b4-a76a-49a5-9998-67e1f9ead4d3"/>
+          <speciesReference species="S_0_m1_m1" metaid="fe646c05-adc2-4de3-aa29-5ab386f69577"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3e7d4d4d-b7ff-4ac5-bcf7-78a8b1b42649">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_22b00a8c-99a2-4412-bdc0-4b5478f90515" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction135" name="binding of MEK-PP on scaffold" metaid="_813495" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_2b3e8b31-63d6-4a53-9791-c46887965418"/>
+          <speciesReference species="S_0_m1_0" metaid="e85cda63-327d-46a9-a53c-16a651b9b488"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_0" metaid="_3e887caf-0673-4f0e-8133-3a8dd6b91644"/>
+        </listOfProducts>
+        <kineticLaw metaid="ee939763-cd91-479c-aca1-16dacf9535a0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_6319a288-7f07-4d2f-9108-993e6113b077" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction136" name="dissociation of MEK-PP from scaffold" metaid="_813565" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_813565">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="_49243c54-9809-44f1-9708-f4a132a8cb57"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="bff2ef4c-2d36-428c-b033-62b3068637dc"/>
+          <speciesReference species="S_0_m1_0" metaid="_4408bcdf-308c-42c5-84ab-613f2c899534"/>
+        </listOfProducts>
+        <kineticLaw metaid="c91b3376-b373-4c94-8639-75eb891453a9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="f7150f7d-a23b-4fd6-8d3a-348c0efe435e" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction137" name="binding of MEK-PP on scaffold" metaid="_813635" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="f9df43a8-c2ba-4d99-8e03-3a8557ed723c"/>
+          <speciesReference species="S_0_m1_1" metaid="_44fb8c21-fc6e-4f0e-a73a-11bd5f4b2d21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="_08b193c4-1d2e-48cd-b2ab-c79ca6fd767b"/>
+        </listOfProducts>
+        <kineticLaw metaid="d36b4d63-f70a-4c52-ae67-806314ef6214">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_2b0f6dc5-eccf-4ce5-b15a-0c3dd928ae95" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction138" name="dissociation of MEK-PP from scaffold" metaid="_813705" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_813705">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="_4af69ac9-d01b-46e9-a517-939903d98530"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_00eb7329-f325-4f91-8495-009fe8cf386e"/>
+          <speciesReference species="S_0_m1_1" metaid="_97e1a948-b122-4c05-9143-fb39a8a048f1"/>
+        </listOfProducts>
+        <kineticLaw metaid="_384d5898-fb83-45fb-8854-418216c5be18">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_75fc4e0e-e0ad-4754-be86-e93c0485b0b5" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction139" name="binding of MEK on scaffold" metaid="_813775" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_7f5c6d57-4020-4819-a384-42b70298e063"/>
+          <speciesReference species="S_1_m1_m1" metaid="_4b051307-ff4a-4832-99ec-8685856e0726"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_m1" metaid="_0790a8c0-025c-49c0-8fb7-3739caa16479"/>
+        </listOfProducts>
+        <kineticLaw metaid="_84bf0d25-80b2-4426-ace1-6ac653306b23">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_04a6c167-2cfc-4ca2-8914-68a525bd9a04" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction140" name="dissociation of MEK from scaffold" metaid="_813845" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_813845">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_m1" metaid="_638f121e-ea32-4ac6-86e0-e38aeab13999"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_741de893-169d-4deb-957f-113ce7546647"/>
+          <speciesReference species="S_1_m1_m1" metaid="bddd97d3-674f-472a-abbe-2722c9762583"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9c1f3918-2af3-4e19-b691-20b9cfd32bfa">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="af5bb9d7-278d-44d0-94c8-02f5419a8f27" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction141" name="binding of MEK on scaffold" metaid="_813915" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_4bb7c6bf-7236-4b6f-b224-00039c33eb71"/>
+          <speciesReference species="S_1_m1_0" metaid="_3ab28882-e65e-4683-a65d-8f87ff5c5346"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_0" metaid="_05d7d94c-f4ff-478d-aefc-1431b66c01aa"/>
+        </listOfProducts>
+        <kineticLaw metaid="cd2ca788-4482-4836-8392-54781bd7d25f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_8bc81602-b75f-4d93-91bb-5c99bd04b464" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction142" name="dissociation of MEK from scaffold" metaid="_813985" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_813985">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_0" metaid="f27e1834-d2a5-4d5f-894a-fbd0faf8cfe0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="d5915298-9a79-45e4-b503-75d059028e6f"/>
+          <speciesReference species="S_1_m1_0" metaid="_29a68bdb-3a42-479c-8cbb-a738b697edfc"/>
+        </listOfProducts>
+        <kineticLaw metaid="_423a5278-77ca-43c4-9a76-eb9942f86a6c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_007d6d15-ea26-441c-b752-4a345a50e8b7" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction143" name="binding of MEK on scaffold" metaid="_814055" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_9bb5830d-7a5e-4d52-8088-7c07203d902e"/>
+          <speciesReference species="S_1_m1_1" metaid="_1870d7b4-9c39-4d95-aab4-824f4b74a95f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_1" metaid="_78826935-5c7f-416e-b213-c0a08306225a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_89b5119b-9d0e-4c44-af02-dc5c572b207f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="b7355f3c-57a2-43c0-b976-2ac875f72b75" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction144" name="dissociation of MEK from scaffold" metaid="_814125" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_814125">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="f5692bf4-a2e4-47ff-ae32-83f284ba1b9a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_8f21ca4e-f0be-4279-bca7-297f5eb910d3"/>
+          <speciesReference species="S_1_m1_1" metaid="_5bdcfafe-25f3-4a09-8bee-d4021edfdc2c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_86e3fc6c-adb9-4b0b-bcc3-6843e12119c5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="b8d7c955-a3b3-42f7-8f4a-8414ea257389" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction145" name="binding of MEK-P on scaffold" metaid="_814199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="bf27da40-eac9-44d3-9102-e16cfa8a8b94"/>
+          <speciesReference species="S_1_m1_m1" metaid="_313fd225-dd2c-4152-90b9-11d0c2134985"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_m1" metaid="d2f17ec0-f760-4940-b5d3-11686e2cf12b"/>
+        </listOfProducts>
+        <kineticLaw metaid="c456661f-2340-456c-a1ab-1644d844124f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="b05373be-f43d-483a-b23a-2bf073b982b6" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction146" name="dissociation of MEK-P from scaffold" metaid="_814265" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_814265">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_m1" metaid="_56f0c4fc-fbe1-4d27-860c-e5f52234669b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_5801e75f-3282-432b-b60b-edbfb759784f"/>
+          <speciesReference species="S_1_m1_m1" metaid="_4bdc1b01-d64c-4292-869c-b1f7b4ac74d9"/>
+        </listOfProducts>
+        <kineticLaw metaid="_09a150be-0301-4de4-bce3-82b9d09c613e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_732d935f-e7a4-4066-af30-8d475bade275" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction147" name="binding of MEK-P on scaffold" metaid="_814338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_2cbde9fc-46f8-4208-9b3b-33e2b986dcf9"/>
+          <speciesReference species="S_1_m1_0" metaid="_788cc100-3f9c-48e2-8c63-c056e2ff03d0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_0" metaid="_8acdab70-76f6-481e-a8fa-6c0c444b5e1f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1199d193-769e-4213-b65e-aebc790ce2d1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="f7a057e6-e3b1-4d54-ab2e-78db1f009231" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction148" name="dissociation of MEK-P from scaffold" metaid="_814405" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_814405">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_0" metaid="feedcd8e-9e0b-4c94-8eec-b984028e158a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_5d065f9b-2bff-4d08-b36c-718d670205f5"/>
+          <speciesReference species="S_1_m1_0" metaid="_04543017-fcb3-4ceb-99b4-ad2fd944d045"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8ed90ec3-084b-4bd6-ae51-ef2819102c0b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_15e0dae3-24a2-417f-a637-8596f86bbad3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction149" name="binding of MEK-P on scaffold" metaid="_814475" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="e3314363-6d4e-43c2-be32-34ac7c6097d0"/>
+          <speciesReference species="S_1_m1_1" metaid="_75199fd9-5ba5-4794-a1bb-b0beadb64f77"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="_5e6f82e6-7926-49af-935c-a03abf60b494"/>
+        </listOfProducts>
+        <kineticLaw metaid="_73dc80e7-cb6e-40df-b700-8038c4eac003">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_62084b81-e320-4575-9cdf-05b44e796134" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction150" name="dissociation of MEK-P from scaffold" metaid="_814549" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_814549">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_62221eae-950a-4e22-b124-5eb0130495f7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_2a346cf3-c0c7-4245-aa79-d1c42ec36eee"/>
+          <speciesReference species="S_1_m1_1" metaid="_470d9dfc-dff7-47dc-aa39-37da33830531"/>
+        </listOfProducts>
+        <kineticLaw metaid="bd2e5315-f9ff-48fe-9977-f6a401aca3c0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_969ebcb4-547d-4fd7-928e-f6d3eaf7137e" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction151" name="binding of MEK-PP on scaffold" metaid="_814615" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_9c11d691-bd9f-454c-b9f8-ffce722919d3"/>
+          <speciesReference species="S_1_m1_m1" metaid="a5292a3d-0654-46f9-9b39-8226a9f09e24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_m1" metaid="_0c4bd214-3314-41c5-a61e-53dead703c49"/>
+        </listOfProducts>
+        <kineticLaw metaid="cfc0cf4c-332f-41d3-b8fd-62be29135769">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_8bf000a9-6206-482e-97ce-7b575c752fc0" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction152" name="dissociation of MEK-PP from scaffold" metaid="_814685" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_814685">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_m1" metaid="_50f1cd03-c502-4e59-9074-a25180cd2c7a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_1ff993eb-7f32-4f27-a115-7189992ec28d"/>
+          <speciesReference species="S_1_m1_m1" metaid="d26e3de5-08e7-410d-9197-60e225cfc72b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_001dd675-9243-4949-9968-87735b4bd7e2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_18255db9-9832-41e9-b606-0b935c7fe5cb" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction153" name="binding of MEK-PP on scaffold" metaid="_814755" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_88ea484b-12f3-4736-bb8b-7ed536e381b4"/>
+          <speciesReference species="S_1_m1_0" metaid="_767524de-ca3c-40e4-a9d7-7c740167694a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="ac182b34-8af1-44f6-88e4-353c5534667a"/>
+        </listOfProducts>
+        <kineticLaw metaid="fc4b460d-975c-49f5-b78c-6e73e33e953b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_0e1f3042-1a20-4d8d-8e2c-3726dc691cf1" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction154" name="dissociation of MEK-PP from scaffold" metaid="_814825" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_814825">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="_3a927e1e-41c3-4e39-b865-719525cccf38"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="bd4b2cb2-1edd-4fe7-b136-572d2053a9ca"/>
+          <speciesReference species="S_1_m1_0" metaid="_46541d36-a970-4b78-9d53-4e1ff20f0c8e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_366c5650-c07b-47ae-bab6-71babbd62e97">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="a9fa92ee-b19c-4145-bd64-7a4ab1cc870d" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction155" name="binding of MEK-PP on scaffold" metaid="_814895" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_864a5a56-e33e-478d-b303-f398846eff73"/>
+          <speciesReference species="S_1_m1_1" metaid="_238f7bbe-abfd-42a3-94cc-297927aaf11e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_7a4eb8b8-2ceb-47ec-b1ec-f06e1b11a553"/>
+        </listOfProducts>
+        <kineticLaw metaid="bc960317-b3e9-46a1-ab41-0743e4b2b690">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="ef3ecf6d-f4eb-4695-9e5b-e2ccb17fd531" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction156" name="dissociation of MEK-PP from scaffold" metaid="_814965" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_814965">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="_9cdda500-cd11-4cdb-8b8c-01f4c35ef07e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_2becba34-3852-470c-9aa9-a920f0191970"/>
+          <speciesReference species="S_1_m1_1" metaid="_3068e1a5-f666-41c1-a269-452638fc917c"/>
+        </listOfProducts>
+        <kineticLaw metaid="f011d499-29b3-496d-96d9-fd81a0a78616">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_658c9a9d-4028-4789-99e1-e7e6fdca6cac" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction157" name="binding of MEK on scaffold" metaid="_815035" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_842e7043-c6c1-4e28-9400-14b0b0f539d0"/>
+          <speciesReference species="S_2_m1_m1" metaid="_1f4863a7-d514-44eb-b93a-1507b37afec6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_m1" metaid="f7a9ac6d-d9ac-4f8a-bf45-327f38b4436b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2b90ad70-905d-4a9f-ad11-e2e3b2b0f63e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_7faf841b-8448-4ed9-9075-b02108a78188" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction158" name="dissociation of MEK from scaffold" metaid="_815105" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_815105">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_m1" metaid="bb837705-6bad-497c-8f69-e8240e670e37"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_9e534495-c5c4-4eb7-b1a1-6f701b1405ca"/>
+          <speciesReference species="S_2_m1_m1" metaid="_6ad9ab3c-afce-4509-8321-8c208ede22f6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_591f9366-10e8-4630-a869-a15723b7765a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="d0c0614f-8b6c-480d-840d-48aa9ab7c9ce" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction159" name="binding of MEK on scaffold" metaid="_815175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_7e93770d-939e-4d6c-bb56-90a31999002b"/>
+          <speciesReference species="S_2_m1_0" metaid="c7c79efc-3184-450e-97a2-444b6d19e54e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_0" metaid="_7674fb33-954c-4d84-a64e-52bd38cead39"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0389a0f8-150e-4c87-915f-287ec402663c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_249963a6-a54e-4214-b758-0ec8ccf0508c" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction160" name="dissociation of MEK from scaffold" metaid="_815245" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_815245">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_0" metaid="_4b19b1f7-b769-4091-b2dc-df0ec678be98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="abbf35fb-4927-4c0e-aad7-cc115ad0c279"/>
+          <speciesReference species="S_2_m1_0" metaid="f1dd2992-a81e-42cb-a6c1-78f5cd6549db"/>
+        </listOfProducts>
+        <kineticLaw metaid="d1f57db9-1b41-4285-90ab-fa90f1d8b7b5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="dd0fe9b1-59dc-444d-af9e-b1e7b873e05e" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction161" name="binding of MEK on scaffold" metaid="_815315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_701b251f-2456-4d3f-be95-973bd60893ca"/>
+          <speciesReference species="S_2_m1_1" metaid="_96ef9547-3828-4bd4-b18a-cab5297a54ca"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_1" metaid="_28d0caac-4bdb-43a1-8151-4b42b5d87d63"/>
+        </listOfProducts>
+        <kineticLaw metaid="b3c20270-01e0-4bb7-b6ce-d0ffe9aff1ef">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="cca44575-656e-4867-a058-173ea7a112f3" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction162" name="dissociation of MEK from scaffold" metaid="_815385" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_815385">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="_20435309-a5c0-48d1-8886-9a0fb5baf0ab"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="c3e69b74-2932-4663-b0fb-a20c3d9b6825"/>
+          <speciesReference species="S_2_m1_1" metaid="_2a360817-9ea0-4b21-bc82-40d4c56338f3"/>
+        </listOfProducts>
+        <kineticLaw metaid="f5b4234e-dda0-42aa-a1d6-191ce8bde584">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_9f29d278-7935-4353-99ed-645600d7e844" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction163" name="binding of MEK-P on scaffold" metaid="_815455" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="faf19a70-1fa1-4507-9fd3-92165b6908e2"/>
+          <speciesReference species="S_2_m1_m1" metaid="_6cb45525-8510-4c31-bdab-1d09b08993d6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_m1" metaid="_79025238-f236-47b2-916d-888c5af77068"/>
+        </listOfProducts>
+        <kineticLaw metaid="_48c081cf-6b4b-41bb-add0-9e8234a3bac6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_7c9da3d3-fdd4-47d3-b6e3-0201b65b9b6b" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction164" name="dissociation of MEK-P from scaffold" metaid="_815525" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_815525">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_m1" metaid="_1a310fa9-24c7-4556-8948-edc56acbbadb"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="c6681763-99fc-4a92-aefa-54023ddcf8cc"/>
+          <speciesReference species="S_2_m1_m1" metaid="_509656d2-1fb0-4b46-afbf-56b11061de38"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2873e2c5-ef47-42a6-a187-5e8734df13a8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c87c94d3-0096-4627-b0d8-87cefcb5dc39" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction165" name="binding of MEK-P on scaffold" metaid="_815595" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_1e202dfc-d10b-4fb4-aca1-69f4eab9abf6"/>
+          <speciesReference species="S_2_m1_0" metaid="_3653e97c-5175-4a1f-8beb-a7bea57da53a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_0" metaid="_32110b3d-9ae8-4a1f-8ae9-fed9a65097b7"/>
+        </listOfProducts>
+        <kineticLaw metaid="db692820-1e2e-4d59-af4a-cd1760703d95">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e2b3407a-1199-4a14-ba42-552146ce3ce7" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction166" name="dissociation of MEK-P from scaffold" metaid="_815665" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_815665">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_0" metaid="_46932307-33c7-4e9c-a540-622d2a3c7a81"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_544f52ea-94c0-47b6-b820-c6c08e03d7b7"/>
+          <speciesReference species="S_2_m1_0" metaid="bfa58603-f7ca-4308-9d4f-1eefbf1c3885"/>
+        </listOfProducts>
+        <kineticLaw metaid="_63b123a7-ecf4-4f5b-91c8-7c02e5a8bfe6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_4f358c4d-6da4-4305-a950-76b6c8a6a960" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction167" name="binding of MEK-P on scaffold" metaid="_815735" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="e094f9bb-bcee-469c-8cb2-e3d765cdddec"/>
+          <speciesReference species="S_2_m1_1" metaid="_8a8fc143-4466-42f2-b949-2fe5004a07ce"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_376439d9-575f-45c4-b334-46530db3d009"/>
+        </listOfProducts>
+        <kineticLaw metaid="_39fdb791-204b-401a-81bd-f0f0d1029543">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_40738679-ff39-46e2-8c1b-246aaeb476f3" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction168" name="dissociation of MEK-P from scaffold" metaid="_815805" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_815805">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="_4341a102-0db6-4535-a421-2f8b95977060"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_8462a41b-fca3-4b52-b8d5-0ca13428ac98"/>
+          <speciesReference species="S_2_m1_1" metaid="_81bca735-f23c-4bbd-b96a-edc7f0b3efaa"/>
+        </listOfProducts>
+        <kineticLaw metaid="b706f523-116d-487e-8cac-e45d247353b9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_77d5f24f-a2d9-404a-8f55-dbdcafe47775" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction169" name="binding of MEK-PP on scaffold" metaid="_815875" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_80364cf4-a1a3-42e0-8c3d-3b850924c986"/>
+          <speciesReference species="S_2_m1_m1" metaid="_63de38bd-83a1-40f2-b42b-594ca2b3ee0e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_m1" metaid="d05aadd8-1ca1-4d2a-8356-63c8c19b0fcb"/>
+        </listOfProducts>
+        <kineticLaw metaid="eddc4de5-50b5-446f-b02e-e5dd6c5ed017">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_2a2f0465-7d48-43e3-a047-3bbf0d650e4e" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction170" name="dissociation of MEK-PP from scaffold" metaid="_815945" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_815945">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_m1" metaid="_5504ba58-593c-4885-b374-4adfa42dc7fc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_77ec9467-ec0e-41f7-a6c2-555b5a1da7aa"/>
+          <speciesReference species="S_2_m1_m1" metaid="_8d53e15d-b4a0-49fb-b2cb-f83196b0704f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_405a9c46-b661-49be-b11c-79defec656a1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_2b5e9414-bfed-40ab-b044-d36bade18416" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction171" name="binding of MEK-PP on scaffold" metaid="_816017" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_520c6dd1-4816-42a0-8051-a138de066b7d"/>
+          <speciesReference species="S_2_m1_0" metaid="_452c988e-e1e2-4913-a9e9-a4d468510fc4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="_77ef64aa-f255-40a3-92ec-27c884e75c5b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2d7b1a14-9f37-42cf-88b6-1e34c9ffc6de">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_21a9483b-5aee-4e91-b80c-de11e3831354" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction172" name="dissociation of MEK-PP from scaffold" metaid="_816085" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_816085">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_0" metaid="_3bc51087-1735-4ff4-830d-aa1225c0e80e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_0cb6505f-acf5-4ae2-ad8b-d05f9aab6112"/>
+          <speciesReference species="S_2_m1_0" metaid="c28e68bd-f073-4d22-9a84-c9c2c5bf9301"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2c05c4ee-5a8b-491a-9ad4-d8b2c2690bb4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e060798e-27ca-4db6-bc83-476e3d9a2c26" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction173" name="binding of MEK-PP on scaffold" metaid="_816155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_1c02e636-11be-4de7-844a-98b9e5bd0615"/>
+          <speciesReference species="S_2_m1_1" metaid="_26d92d5e-17a6-4ae3-b798-bfba87a848d8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="c6339a9a-3136-4df0-b715-d6884c195294"/>
+        </listOfProducts>
+        <kineticLaw metaid="abf00dce-a7d4-47cc-8cf3-56dde2120393">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="f34ecfc6-af69-4bac-b1c8-4ce50cfafd95" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction174" name="dissociation of MEK-PP from scaffold" metaid="_816225" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_816225">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_1" metaid="_93a3b072-47cc-4896-868b-890498b29239"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_0c1350e9-96e3-40b1-beaa-4844160be257"/>
+          <speciesReference species="S_2_m1_1" metaid="a51f47b4-cfeb-40d2-a4e9-bcb0fd84581d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5a65103a-b566-4d10-88e8-1397efcdf900">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_5364cd06-3712-4ae5-9427-0f643702c684" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction175" name="binding of RAF on scaffold" metaid="_816295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="d9b8fde4-1522-4d46-aee4-f526eb776ce9"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_8c4ef1fc-4dd5-4ec1-9df6-248935887669"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_m1_0" metaid="_38ad438c-394a-4374-82e4-b5308204e810"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4a012cd5-537e-4ab6-a699-697c20e440b6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_6b6eba98-fe0a-4fa2-a09b-fd5c6a961656" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction176" name="dissociation of RAF from scaffold" metaid="_816365" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_816365">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_m1_0" metaid="c801a3f2-4c93-4c1b-b25c-a4c2d9ab9d91"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_40800df8-fcc2-41bc-a755-44ded7c6d897"/>
+          <speciesReference species="S_m1_m1_m1" metaid="f9fb7992-f1d3-4db9-b730-12c9425fabc5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1c143f10-142c-4c42-b82c-1cdca68d8529">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_3cb09410-3367-4006-8a89-d0113f451bf3" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction177" name="binding of RAF-P on scaffold" metaid="_816435" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="d0bfd979-4007-425e-bdc4-80a1402cf8e0"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_9e2753e2-50e1-4244-82e3-fa23bd0d0655"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_m1_1" metaid="_83b31ad2-27eb-445b-af33-34b8554f715e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5db27076-4a5d-4edf-8c11-fd56b9c2477a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_70f7c476-21b6-4810-8ffc-043ccf33f764" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction178" name="dissociation of RAF-P from scaffold" metaid="_816504" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_816504">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_m1_1" metaid="cfcdcf22-8a0d-49b3-ac65-ff63997e036f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_71e2f175-1233-48ce-96b8-6f89b045e895"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_6098c961-893c-4b51-b46c-9a9687834cef"/>
+        </listOfProducts>
+        <kineticLaw metaid="_823cfbc6-9433-4830-b400-98481560412c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_0de16603-7953-4bce-883b-0f72608ed888" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction179" name="binding of RAF on scaffold" metaid="_816575" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_128e697c-43dd-4283-b56a-3ce14248ef06"/>
+          <speciesReference species="S_m1_0_m1" metaid="_780635e6-d3ff-4714-a540-2d5a5a6fc94c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_0" metaid="a0d106cc-72fe-4b96-9867-b9d7cdfc5ced"/>
+        </listOfProducts>
+        <kineticLaw metaid="a932b22d-9285-4f63-8692-b55f852fbf42">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_65b4e0bb-3823-48bb-a7b5-7c9510d6aa5b" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction180" name="dissociation of RAF from scaffold" metaid="_816645" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_816645">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_0" metaid="_3946c5ef-8795-4d22-b598-213ebe513a2f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="bfddb473-adb7-4684-b617-55a5cc861fa2"/>
+          <speciesReference species="S_m1_0_m1" metaid="_38127722-409e-4dfb-8226-bd2289ee603d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6fe8543e-4ba1-4968-9895-e329cc3c34d5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="a1116beb-49b6-432a-87bb-88471b6a7e30" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction181" name="binding of RAF-P on scaffold" metaid="_816715" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_28060053-ded0-420f-83ca-df4afb92f5d9"/>
+          <speciesReference species="S_m1_0_m1" metaid="d45ed4c0-cc48-445a-8358-c32b21a93c27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_1" metaid="c60d2280-39a6-4e1c-9cf1-acc9fc8a4236"/>
+        </listOfProducts>
+        <kineticLaw metaid="_64a174df-52ba-482f-b54a-829d2b2395fc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_55d4de05-5452-4e7f-bd1c-7922ae95c9b6" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction182" name="dissociation of RAF-P from scaffold" metaid="_816785" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_816785">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_1" metaid="_13ccada4-40a7-41dd-b927-2bf56e669477"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_355c8ebb-1685-47b2-90ae-0a347da7791a"/>
+          <speciesReference species="S_m1_0_m1" metaid="_4838e7d5-fa54-480d-8858-4185ee010aa4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4c1f9634-1b81-440f-a985-467fd732d5c4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="a17c316a-bf2b-4770-8838-07a1ec288241" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction183" name="binding of RAF on scaffold" metaid="_816855" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="b1349882-ef77-4fe3-a6c0-aba0e0620e82"/>
+          <speciesReference species="S_m1_1_m1" metaid="_48dccb22-eb97-4b75-9ae2-4a7f539f18d8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_0" metaid="d4cde5e2-1233-41de-9e3e-d679c324b2c9"/>
+        </listOfProducts>
+        <kineticLaw metaid="eced851c-2228-49cf-8ab0-f27bf2298082">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_290241f4-0ede-414e-ac05-f7aebb5dded1" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction184" name="dissociation of RAF from scaffold" metaid="_816924" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_816924">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_0" metaid="_226dce35-0512-4f59-8edd-99d04f712dc3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="faea7fbe-05fc-4657-8deb-2c7944b3b160"/>
+          <speciesReference species="S_m1_1_m1" metaid="b9f37771-c401-417e-aa3b-d3430d23d687"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7ef576bd-c15c-4e7e-9e94-12ae03ed09e7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_1c2ff3ba-2562-4844-b61a-b41b97bb929d" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction185" name="binding of RAF-P on scaffold" metaid="_816994" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_010d96f2-95ee-4b85-9be1-689c7a6a5a19"/>
+          <speciesReference species="S_m1_1_m1" metaid="_10307655-1459-4883-a45d-3c0e0c80a3c0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_1" metaid="_9103f75b-aa08-4bb3-8552-e9f28c271f04"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9cf3faee-ba6b-4813-a00a-2f37f3d319e1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_79069236-6666-40bf-b639-c934cb732f42" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction186" name="dissociation of RAF-P from scaffold" metaid="_817078" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_817078">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_1" metaid="c4c26567-d216-4ae3-837b-ee86126fc5d0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="db58934d-2c5c-4fed-858e-e92cc59ad68c"/>
+          <speciesReference species="S_m1_1_m1" metaid="c9fd36cd-bac8-49b3-8cd4-7ad7e0757dcf"/>
+        </listOfProducts>
+        <kineticLaw metaid="b679170d-b177-4973-94f0-942fd365c437">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="d7ad7e2a-0261-4029-be91-e62bc9abe7f2" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction187" name="binding of RAF on scaffold" metaid="_817145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_978fac8e-6416-491a-a58e-14f387627b84"/>
+          <speciesReference species="S_m1_2_m1" metaid="ef796f80-afd9-45cf-8c66-edd923dedba7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_0" metaid="_65eb0008-075f-4a33-a877-82c1e4a2e04d"/>
+        </listOfProducts>
+        <kineticLaw metaid="af245504-185b-4e6d-bb78-477b22ba7edc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="f9527dd9-f4bf-48fa-afc4-339b2cf8916e" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction188" name="dissociation of RAF from scaffold" metaid="_817215" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_817215">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_0" metaid="a15d1206-a529-4e33-850b-46d30fdbd381"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_8bfce823-c617-408f-853d-ec229636cc8b"/>
+          <speciesReference species="S_m1_2_m1" metaid="e5f55a6a-854d-4c1c-8838-2f4b49e6b83c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1e3e2e4e-ab62-4b1d-bdaf-54480e56ff5d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="dced081c-59b1-456d-8896-deeab51faf94" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction189" name="binding of RAF-P on scaffold" metaid="_817285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_066c3720-4a65-4710-890a-ca0c119d95ae"/>
+          <speciesReference species="S_m1_2_m1" metaid="_67f7151c-51b8-4bc1-9d0b-a6d55897c2b7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_1" metaid="bc1c9de3-5490-44c2-9486-f69a7700c163"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4bca05c7-64c1-4836-9a3f-98f2034af025">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_0d126546-261f-4357-b9c6-1720775031f3" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction190" name="dissociation of RAF-P from scaffold" metaid="_817355" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_817355">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_1" metaid="_868ebcae-81ed-4769-9eb8-68597d69621f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="af8df4e2-8aef-4182-9cc9-325ba3a110be"/>
+          <speciesReference species="S_m1_2_m1" metaid="c0a4b5ce-cf9d-4d06-ab2a-31a6cfcbe9e7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_90b69924-1137-4b65-aa86-5b2a7d6010fd">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_00288352-84f2-4ea2-898b-91e241ed2ce4" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction191" name="binding of RAF on scaffold" metaid="_817424" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_7fb872e0-9025-4336-aa67-45d9e2753c8e"/>
+          <speciesReference species="S_0_m1_m1" metaid="_564c2f38-d27a-49f1-ac14-410584875e34"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_0" metaid="_81847a50-45fa-4f00-b5fb-ea70c5726d87"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4125146d-e686-4b69-9c19-4bb711aa64da">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="a4b1bdde-79f2-4207-8893-b7f3253da9a1" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction192" name="dissociation of RAF from scaffold" metaid="_817495" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_817495">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_0" metaid="dcf1cc0a-71ba-47eb-8e24-51f508a46f3d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="baf7fcc8-0a79-4e06-a9e0-078a34c89384"/>
+          <speciesReference species="S_0_m1_m1" metaid="_40f713ed-ca88-483d-b63f-3b326c0697da"/>
+        </listOfProducts>
+        <kineticLaw metaid="be0d65d7-b393-4825-bcae-05afc304f787">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_162faf45-54c8-4a6e-8f38-99fb240eee07" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction193" name="binding of RAF-P on scaffold" metaid="_817565" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_079df8c0-76e4-42d5-a41e-7f4329e0d8b1"/>
+          <speciesReference species="S_0_m1_m1" metaid="b280c8ca-bea8-47db-89e8-103991670b36"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_1" metaid="_7ee7dcd0-cabe-4d99-8df1-cdb83f1fe4fe"/>
+        </listOfProducts>
+        <kineticLaw metaid="_059a3d9a-405b-4b5f-926b-30f80952334b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="ae35c774-e627-49dc-8acf-2ef7f6ddd427" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction194" name="dissociation of RAF-P from scaffold" metaid="_817634" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_817634">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_1" metaid="ae0e57c4-15c7-42a7-aea3-250c8c551888"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_02197b80-bf88-40d7-9714-713883095e50"/>
+          <speciesReference species="S_0_m1_m1" metaid="a19cbdee-f6ef-4423-a62b-2946558e6a0f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2742a0b9-1de2-4d15-a47a-a6a2b3c868f6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e2e678b8-0adb-4a9c-9fec-a5e8cc1159d2" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction195" name="binding of RAF on scaffold" metaid="_817705" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_6544eb9c-18e0-41d7-9853-368e0f3eef71"/>
+          <speciesReference species="S_0_0_m1" metaid="_32d24d1a-16c9-4a48-8020-205203de5ff0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_0" metaid="_45e5b205-903f-442a-ad36-b331104e49d9"/>
+        </listOfProducts>
+        <kineticLaw metaid="d3f095a8-e827-4df7-a452-3fd033b8d0f6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="b09947a6-b7c0-435c-8d7d-edc3415dfb91" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction196" name="dissociation of RAF from scaffold" metaid="_817774" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_817774">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_0" metaid="f0f1754d-3e5a-441f-96ed-76028a59f8cc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_7657bdac-eedb-4192-98a0-9a9fa0520e62"/>
+          <speciesReference species="S_0_0_m1" metaid="ac1c0fca-e70d-47e1-83f3-ed69b1842b98"/>
+        </listOfProducts>
+        <kineticLaw metaid="ab2c9c87-3565-49ec-b09c-b4eb0450b8c0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="baf5f1b9-0147-43c0-baa9-1e9fbcc6cacb" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction197" name="binding of RAF-P on scaffold" metaid="_817845" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_951a2134-2519-4a77-aabb-007952e1c95c"/>
+          <speciesReference species="S_0_0_m1" metaid="e67d066d-8ebe-4eeb-97c6-d7a3066dea21"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_1" metaid="_7593138f-f23c-4de9-82d3-a7d4d8658344"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8834d34b-ade8-474b-b9c0-176ac8127872">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_59c3a075-f98d-44ee-b86d-9a2df7c5ab42" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction198" name="dissociation of RAF from scaffold" metaid="_817915" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_817915">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="_3bdfb37c-925c-4db6-9db6-f14d154b5ec8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="b1ef3ca4-3cd5-427e-87bf-3f348d7be96d"/>
+          <speciesReference species="S_0_0_m1" metaid="f643d3c8-f07e-4d3f-b813-db82afaf6b4c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_74fe7884-0a59-44c7-8fc7-29d6360e5f2d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_556754f3-85fa-4edc-91d9-cb5e09bc71e9" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction199" name="binding of RAF on scaffold" metaid="_817985" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="cc608558-eb84-43e9-b605-cb4f4158cf24"/>
+          <speciesReference species="S_0_1_m1" metaid="_1d59a03d-b1cc-4654-83ca-28afb391797c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_0" metaid="d33430bb-3feb-4426-ab35-4682eb057f06"/>
+        </listOfProducts>
+        <kineticLaw metaid="c6dface2-4525-40f8-bde6-3620965b6278">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_74489e1c-2dfb-4b2e-b2eb-89bb01019902" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction200" name="dissociation of RAF from scaffold" metaid="_818056" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_818056">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_0" metaid="c7d91643-dff4-42c0-920e-2803270be93f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="a39a9806-a0ae-4773-80f0-97c04c083647"/>
+          <speciesReference species="S_0_1_m1" metaid="_198be801-ac18-495c-88b3-a10d8ac9f755"/>
+        </listOfProducts>
+        <kineticLaw metaid="b0f4b253-99d1-46da-804a-e86a0837b9e3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_4fce85f8-216e-4470-b02d-204c2d9f10d3" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction201" name="binding of RAF-P on scaffold" metaid="_818125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="b0439f96-48ed-4b77-a311-8dfdf2577f77"/>
+          <speciesReference species="S_0_1_m1" metaid="_6220d1e5-771e-46cd-9080-9d4cb5584d17"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="_98d0680c-5bdf-4ae3-866d-5cfda3ffde23"/>
+        </listOfProducts>
+        <kineticLaw metaid="_117c35ff-4b2c-4e69-9032-5d3b09257d62">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_08c011fd-402f-4c9f-919d-0bbcc6b227d6" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction202" name="dissociation of RAF-P from scaffold" metaid="_818195" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_818195">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="bd06742d-1b16-41fb-b73c-c6a0eb30b911"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="b5c1c527-8610-4896-aa20-5fdc3c5b6417"/>
+          <speciesReference species="S_0_1_m1" metaid="d1bef0a4-e1ec-479d-a572-6df9fa3cf08a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7459908c-15dd-46f8-b278-49a3f0153667">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="f68dabb3-3aeb-4395-bc2a-07829eb0488a" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction203" name="binding of RAF on scaffold" metaid="_818264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_92c09ace-7b98-43fb-9cc6-f7b65379fec2"/>
+          <speciesReference species="S_0_2_m1" metaid="_3264cf31-2085-41b3-82a0-a3588483146d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_0" metaid="f00b74ce-1496-4019-b022-62da7a2cf9ae"/>
+        </listOfProducts>
+        <kineticLaw metaid="fe2a570e-1d5d-4c17-8c1f-b9fa8d7bb564">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_7d1f1841-52e5-46ab-a0fc-fe476537747f" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction204" name="dissociation of RAF from scaffold" metaid="_818334" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_818334">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="_066a6818-a1dd-481a-91c8-7d424eec414b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_9c239c10-3606-45b7-93b9-e17bd5f6290f"/>
+          <speciesReference species="S_0_2_m1" metaid="_63bbf671-a74c-432a-a017-4530390e92d9"/>
+        </listOfProducts>
+        <kineticLaw metaid="feef8795-02d6-49ef-b8fd-63f5686b7372">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="d28b8059-c42f-435e-840b-2c959c1abf40" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction205" name="binding of RAF-P on scaffold" metaid="_818405" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="aa45c028-d837-4d93-942b-4b8333c06b1c"/>
+          <speciesReference species="S_0_2_m1" metaid="_19ad7ec9-67e8-4d2a-b0b0-123fb3e89829"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="_65842578-f209-4244-b5cc-9b78f2ddd481"/>
+        </listOfProducts>
+        <kineticLaw metaid="e4f47033-815f-4725-b143-76ee2f4cea34">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e4deb01c-3ea1-4f50-b27d-0b34d62573b9" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction206" name="dissociation of RAF-P from scaffold" metaid="_818475" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_818475">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="f678c3c6-10f1-4ddf-a908-b1cce505e654"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_42166b39-d2c1-4292-a531-2985ffd92031"/>
+          <speciesReference species="S_0_2_m1" metaid="e4fb5611-2c6b-4490-b38b-007a896f1808"/>
+        </listOfProducts>
+        <kineticLaw metaid="f94566c1-575d-477e-b697-474dbe1491bc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_9512939c-fcd3-4609-9773-7ef54bab0324" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction207" name="binding of RAF on scaffold" metaid="_818545" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_5c81b170-048d-4bc0-8081-a4e2a797291e"/>
+          <speciesReference species="S_1_m1_m1" metaid="_3e82c9de-e104-4cec-ad4d-48693a9f70dd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_0" metaid="_784d6308-6008-47fd-8623-c6016f6b34d5"/>
+        </listOfProducts>
+        <kineticLaw metaid="a249f97d-ffb4-42b3-8914-1e92f3300baa">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_217a3142-4175-4444-81a1-d99e05f12b35" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction208" name="dissociation of RAF from scaffold" metaid="_818614" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_818614">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_0" metaid="ebafe907-7004-495b-83eb-d71c9e1b2253"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_50e8405d-c8bc-429a-bc33-aecceec2c5b9"/>
+          <speciesReference species="S_1_m1_m1" metaid="_3ab9c8cd-9739-4de4-9e75-f531e8dd4c22"/>
+        </listOfProducts>
+        <kineticLaw metaid="bc90a271-94c1-4b91-9a2a-9ee7f9295dbc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="bcf17948-687c-4be4-9e7e-284e1ee4c059" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction209" name="binding of RAF-P on scaffold" metaid="_818685" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="c7ae12c8-91cb-479b-a68f-4b91ab7443c5"/>
+          <speciesReference species="S_1_m1_m1" metaid="_4da6e170-788a-42f6-98c9-06bfa3a804bf"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_1" metaid="fad10b07-63de-4b44-bfd0-973a30a56016"/>
+        </listOfProducts>
+        <kineticLaw metaid="_299127ba-beb1-46db-93be-671474ce1b9b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_27e3484b-d6b7-4f0b-b549-efe41f5a2ab9" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction210" name="dissociation of RAF-P from scaffold" metaid="_818755" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_818755">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_1" metaid="_0d1e5ffc-60b6-4d36-a4a3-91e170319673"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_7b14e3ed-d58f-417d-a2cf-87cb7b43a2d6"/>
+          <speciesReference species="S_1_m1_m1" metaid="eb195748-6fe1-436b-b09d-4889ca45b0ba"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6388258a-2c1c-47ce-9fe4-018ee943f9fb">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c93a2c33-007f-4729-ab5d-c95e199cb32c" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction211" name="binding of RAF on scaffold" metaid="_818824" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_57a6048b-6564-4fb5-bdca-22323b466331"/>
+          <speciesReference species="S_1_0_m1" metaid="_5af5900c-edb5-470d-8cc4-d0bdcce7cfcd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_0" metaid="_69dfaf53-541a-434e-8617-90539efaa903"/>
+        </listOfProducts>
+        <kineticLaw metaid="b2bd2371-5311-4822-9e34-61169bb0fc39">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="f5fc6d5a-9f87-4717-a1b6-cec9411f28fd" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction212" name="dissociation of RAF from scaffold" metaid="_818894" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_818894">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_0" metaid="bbe718dd-1acd-41e1-a061-78c9db15b16b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_452676f4-b8c9-4282-ba7f-cac842fe166b"/>
+          <speciesReference species="S_1_0_m1" metaid="c37b872c-7a26-453b-832b-9a07c72fc95b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_93fbba97-4d0d-44f1-868b-06f5611bb826">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_8b7283eb-f924-497e-a42e-1f3fa56237f6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction213" name="binding of RAF-P on scaffold" metaid="_818965" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_81f7eaa1-4333-4a26-aaad-08856b9d3a9b"/>
+          <speciesReference species="S_1_0_m1" metaid="_3c7d3f5b-fafe-48e5-86bc-b9c9784a536d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_1" metaid="b10784b0-6d2c-494f-b29a-48d31d56eb55"/>
+        </listOfProducts>
+        <kineticLaw metaid="e733e5fc-c1e6-497a-8c42-b08fa2e5ce78">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_8e1f67d6-a22f-4f97-8af2-298051877e67" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction214" name="dissociation of RAF-P from scaffold" metaid="_819034" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_819034">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="_136e1c86-5b9b-4d98-b604-4a46a6753aa6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_3d347ccb-729c-4dd8-9615-c5da450657d9"/>
+          <speciesReference species="S_1_0_m1" metaid="_3cc321ff-59c3-4860-a61e-9e46dac3b137"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6f45b557-0342-4737-be8c-e1655a8fd4d1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_53ae08c6-4be0-4916-a299-f3a35638b2a3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction215" name="binding of RAF on scaffold" metaid="_819104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="f609f9f2-bb12-49af-9023-1293e2f01d42"/>
+          <speciesReference species="S_1_1_m1" metaid="_295e646c-cded-489c-907e-d3e939a4a3c2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_0" metaid="_3987b2d6-4982-46a3-aa97-7372a1c905a6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_76bce2cc-2171-426c-b6c9-551d8b640768">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_6e815b16-f95b-4679-8e67-3c3207af84d8" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction216" name="dissociation of RAF from scaffold" metaid="_819174" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_819174">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_0" metaid="_3a7ce47a-8a54-469a-aa8e-d3d9508b27a8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_701fb577-e5b7-4fb1-a411-38fa7044f8d0"/>
+          <speciesReference species="S_1_1_m1" metaid="_2406ff9f-cd55-4485-a399-ee715d731f87"/>
+        </listOfProducts>
+        <kineticLaw metaid="ba7122b9-db91-4e95-80b0-efc73e147d58">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_4558d4ee-4f83-45df-8757-dbdfdd189e24" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction217" name="binding of RAF-P on scaffold" metaid="_819246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="b12a7fc5-ac2d-427b-915d-72082f9d1487"/>
+          <speciesReference species="S_1_1_m1" metaid="_6ec771e5-1910-4cbb-b41b-b04e12a64783"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="b2c651b5-513a-445f-9664-9f01c415726e"/>
+        </listOfProducts>
+        <kineticLaw metaid="d669ca15-6f9e-45a2-ad96-c6652bd6ee2b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e939d55a-aaa9-4da2-9e17-67bf266b542c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction218" name="dissociation of RAF-P from scaffold" metaid="_819314" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_819314">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_8a8cb9da-e14e-4d0d-a504-9c639993837c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_7240cb8e-14fc-4cf6-a7de-21bda06c55c6"/>
+          <speciesReference species="S_1_1_m1" metaid="b91dca8a-2027-4dd0-aff6-54e39151461a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_30ca2829-7244-43c4-990c-acf1136dae6c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_57dec852-3797-4927-b7e7-8d7825d17696" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction219" name="binding of RAF on scaffold" metaid="_819385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="e9383336-6264-4435-a23b-4967206f81fa"/>
+          <speciesReference species="S_1_2_m1" metaid="c4306a30-3af5-488b-b943-a4ef51d14f9c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="dedbf355-00b1-4711-b63d-38a0299deda3"/>
+        </listOfProducts>
+        <kineticLaw metaid="fbe9e3d7-1ca1-4f46-832c-46a0058d68cd">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_78fe8927-e14b-4bb2-a3e3-ddc238c0a646" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction220" name="dissociation of RAF from scaffold" metaid="_819455" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_819455">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="_2d0e1186-9f54-47ff-8e17-7940090b4fc3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="f649e2cc-2d59-4800-9fd8-fc6da30aac12"/>
+          <speciesReference species="S_1_2_m1" metaid="_535f1cc2-986c-4502-a26f-0f60cc928114"/>
+        </listOfProducts>
+        <kineticLaw metaid="c816cc7a-64c6-4c7c-9b9e-0584180b664b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_05c66268-ad83-46d1-a7c9-d25ee3190fa5" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction221" name="binding of RAF-P on scaffold" metaid="_819526" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_6634f6c7-9896-409c-92cc-300e61900540"/>
+          <speciesReference species="S_1_2_m1" metaid="b90e7da7-e8be-452d-8880-57f12762ffb8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_1189404a-4867-4c88-bf69-c46c1cc66b02"/>
+        </listOfProducts>
+        <kineticLaw metaid="db55f434-65a4-46cb-b040-674aac18f1e0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="a7674277-6082-4775-a6dd-660206b842e1" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction222" name="dissociation of RAF-P from scaffold" metaid="_819595" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_819595">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="_76a4f5d8-e199-48b7-98a5-b1db52a85060"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="fdc5cc53-7701-4377-9054-1e97f242b880"/>
+          <speciesReference species="S_1_2_m1" metaid="d381b00d-c9e3-447b-8701-e5e313dc6750"/>
+        </listOfProducts>
+        <kineticLaw metaid="b3aed205-a462-459e-9acc-7e2a7bb62c2f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_3b36a3a9-4aa9-44a0-8c89-375286ae9b01" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction223" name="binding of RAF on scaffold" metaid="_819664" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_7442fdb0-db02-4948-95d1-710ac0436937"/>
+          <speciesReference species="S_2_m1_m1" metaid="e2e42861-96eb-4e38-a520-3126694af277"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_0" metaid="_92a986c2-5f4e-4c71-bf32-4067d89f0559"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4e31af39-88cd-4afc-b8c8-abd78c204032">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_33be8393-8f01-4ab3-91f6-ed8ad32cc2c9" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction224" name="dissociation of RAF from scaffold" metaid="_819734" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_819734">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_0" metaid="b3d0b5ec-6aac-4eac-ae78-dfbb3a4da0e5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_0c0d0634-510f-4786-8480-b7efd75449d2"/>
+          <speciesReference species="S_2_m1_m1" metaid="_5257d05f-8b63-47e7-aae7-323969d61ec5"/>
+        </listOfProducts>
+        <kineticLaw metaid="ec7f9adb-ca51-4504-bf47-4701a144b208">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_9c656ddf-3d03-4c4e-9e4c-ff34bdfd5c1b" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction225" name="binding of RAF-P on scaffold" metaid="_819804" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_32e68669-c6de-443a-9bf3-1b5271882b1d"/>
+          <speciesReference species="S_2_m1_m1" metaid="_06441a5f-c17d-45eb-85b4-3809010cb947"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_1" metaid="bd89fcea-14b0-4476-bb12-6491128fc572"/>
+        </listOfProducts>
+        <kineticLaw metaid="_38b53ee6-32d6-4439-8bd4-efabf6e927fd">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_3ce94bb2-4bfa-4004-a27b-ff326933449a" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction226" name="dissociation of RAF-P from scaffold" metaid="_819874" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_819874">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_1" metaid="_31fa82ee-d975-4486-bbd8-cd97cd0c237d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_55afe6cf-cfc7-42fb-85e5-13cab9182d65"/>
+          <speciesReference species="S_2_m1_m1" metaid="cbdc98af-ce08-447f-a623-cbc54ebdb260"/>
+        </listOfProducts>
+        <kineticLaw metaid="e1c414ca-32a5-47fd-b6c0-347220e06dca">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e5e1e647-5891-4eed-a526-abd95c1e67ea" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction227" name="binding of RAF on scaffold" metaid="_819945" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_64e0480b-75df-4ead-a398-3752fc008ebf"/>
+          <speciesReference species="S_2_0_m1" metaid="d95086f5-9457-46e8-8d4e-33d8729dbb8e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_0" metaid="de6f70fa-7da9-49fd-b084-45edabdcab05"/>
+        </listOfProducts>
+        <kineticLaw metaid="_990b4752-0569-4ca6-aca2-0335b3d2d23c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_00aea755-143f-47ee-8b87-f89634daaf50" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction228" name="dissociation of RAF from scaffold" metaid="_820015" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_820015">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_0" metaid="_8fe58ff3-1104-4a7c-b447-ac0a28286328"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_7492c5d3-74a7-4fa3-a326-c58dfdaf72f4"/>
+          <speciesReference species="S_2_0_m1" metaid="_42e8cc41-46f8-4b7e-840c-cdd2db7efaee"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2a867507-06a1-45b3-8889-071dad18496f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_5c0c4b9c-75fc-4a23-a117-6f1b19a52895" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction229" name="binding of RAF-P on scaffold" metaid="_820084" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_30348a29-0d2f-4a3f-bf84-eefd3d73211b"/>
+          <speciesReference species="S_2_0_m1" metaid="_889d68af-2a8b-4fb1-b823-c140249355fc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_1" metaid="_9ed94bef-caea-4ef2-b2cb-2488a8058775"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3102cc18-8d84-4338-9ea9-26a68f5dbdc1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_78bf9b68-dc54-4094-ae24-25e9cb2b9d70" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction230" name="dissociation of RAF-P from scaffold" metaid="_820154" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_820154">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="_81055a5b-ce16-44b5-b60d-a2dc6a11df97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_62670309-4c5f-4d0b-8041-44ad245fcaae"/>
+          <speciesReference species="S_2_0_m1" metaid="ba3b3ac7-1535-4216-a748-29114ac2a989"/>
+        </listOfProducts>
+        <kineticLaw metaid="_25d3dcfa-0ed8-4302-ac3b-b40832b5d2d7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_4bbd4295-eb4b-4e13-a1b1-b0f83dd54eb8" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction231" name="binding of RAF on scaffold" metaid="_820226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_727880a0-a8ec-41a6-be72-438fbfd45928"/>
+          <speciesReference species="S_2_1_m1" metaid="d75f8e5e-d575-4571-b3e3-0f28a9e396c7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_0" metaid="d1dc5675-685d-4a02-921d-8a07c1ba4e33"/>
+        </listOfProducts>
+        <kineticLaw metaid="_07a35bcf-1ec0-494b-9336-2007eac4cd1a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="da2694ac-58c2-4f0f-a27a-ce91f134a00c" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction232" name="dissociation of RAF from scaffold" metaid="_820295" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_820295">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_0" metaid="e94a4544-034c-476b-b926-98187373ae10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_8f1b9746-07df-43e6-b307-8b9a168df3e7"/>
+          <speciesReference species="S_2_1_m1" metaid="_8ced6953-434d-4b1f-a80f-1b53236b2bd8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_685cf10a-e280-460b-92f7-95c7851d95ac">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_85dac932-8826-4866-92a5-a94d0d15c713" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction233" name="binding of RAF-P on scaffold" metaid="_820364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_95e62e07-5584-4768-ac57-80d7d6487967"/>
+          <speciesReference species="S_2_1_m1" metaid="_5f2d70ab-69cb-4393-a023-bd2c579164c4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_5efcf02d-2560-4b60-a264-d01015d8079b"/>
+        </listOfProducts>
+        <kineticLaw metaid="b1707855-d863-44e3-bacc-7e163d74af7c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="f7952c7e-a5f7-46b8-bdd2-ddea9abce137" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction234" name="dissociation of RAF-P from scaffold" metaid="_820434" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_820434">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="a0ef7d8a-f333-4f75-a7d8-42212bca2ea8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="b1f3f188-c623-49ce-8a4a-fdbf843f3e8e"/>
+          <speciesReference species="S_2_1_m1" metaid="e4196b38-6277-4841-8c0a-1d8d6ee15e67"/>
+        </listOfProducts>
+        <kineticLaw metaid="_468dda01-c623-444b-a2ba-06036256e9f5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="be9325c9-2484-47d6-a3d4-696abdf2035f" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction235" name="binding of RAF on scaffold" metaid="_820504" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="c2b1335b-4472-481e-a95f-f4b891aabcb0"/>
+          <speciesReference species="S_2_2_m1" metaid="_172ff4f4-5c09-4bbe-84cf-4d04b34618f8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="_91ed9212-800d-4a0d-bd0f-819750f94b45"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9392a095-e793-4d4d-819f-432fa1faabae">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_3c2ae223-b2e8-428c-a89d-589e4fa9dfa1" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction236" name="dissociation of RAF from scaffold" metaid="_820574" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_820574">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_0" metaid="_61ac3379-b573-4bec-984b-929037b325e3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_5e1de833-ab61-402e-8359-044a47e8c713"/>
+          <speciesReference species="S_2_2_m1" metaid="_5b5572eb-edb6-46df-896c-279bbe8ebb9c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6efa6bb5-d174-4adf-abaa-0a1c6054aa6c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_8d411d6e-1d48-466c-8393-c13e45197a4f" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction237" name="binding of RAF-P on scaffold" metaid="_820644" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_6591c83e-0236-4a94-b3bd-e2a6cfd0a6fb"/>
+          <speciesReference species="S_2_2_m1" metaid="_894b1ec7-54a7-41f6-94c6-f1b114dc866a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="_629f293f-170c-442e-b5d4-b7018cc70219"/>
+        </listOfProducts>
+        <kineticLaw metaid="_88173556-f955-4de7-8296-b42163fa9d5e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="c8d02f71-876c-49ec-b563-3e3cc4b1f5ed" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction238" name="dissociation of RAF-P from scaffold" metaid="_820714" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_820714">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_1" metaid="_25d9f066-b4e6-40b3-9b6e-bbf121a39ce0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="d0c675a4-4a98-42d4-bb52-058058336687"/>
+          <speciesReference species="S_2_2_m1" metaid="_844052bb-c88d-42df-bec4-4ac951ce9a19"/>
+        </listOfProducts>
+        <kineticLaw metaid="_90391a7a-a531-4851-b22d-25a2a2a96522">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e8370b78-44e7-49ae-8c66-c0ebce5a822d" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction239" name="phosphorylation of MAPK on scaffold" metaid="_820784" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_820784">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004708"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_m1" metaid="d21f4dc7-2267-4916-9c12-a7da831fd8da"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_m1" metaid="b735321a-7a06-40e0-abae-fb5575eac2d6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4058d54a-d6c2-4824-ab02-036e0630ef45">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_2dfea1e9-7c6c-46b8-b6b9-9697d5625d93" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction240" name="phosphorylation of MAPK on scaffold" metaid="_820837" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_820837">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004708"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="d33ac8c7-43e9-4914-9d72-055893d7ca0e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="b624ed1f-c232-4ad0-b5e5-d7997fefb940"/>
+        </listOfProducts>
+        <kineticLaw metaid="d5ea6d92-3280-4f79-b4c0-296d408f2623">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_87adcdfb-07a0-437c-8fa2-2affabd23177" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction241" name="phosphorylation of MAPK on scaffold" metaid="_820887" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_820887">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004708"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="fe7045e7-be38-4879-8b06-34896d0d6da0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_4f9fa454-093e-4472-b209-c87c735a7ea9"/>
+        </listOfProducts>
+        <kineticLaw metaid="d7aa90f7-7308-4bce-a66a-2aea63dc838d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="db99c191-e9b3-4a22-ac4a-30a528a7f7c2" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction242" name="phosphorylation of MAPK-P on scaffold" metaid="_820937" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_820937">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000187"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004708"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_m1" metaid="_2f5ddefb-ab0a-4231-b39b-c058ac311821"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_m1" metaid="f6249d47-75ae-4968-b8f9-5ef31522730c"/>
+        </listOfProducts>
+        <kineticLaw metaid="f09517e8-5759-4ae2-be34-04977e62c27f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9a </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9a" metaid="_4d5522f5-7bbb-460d-abb3-22d74f2df5b7" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction243" name="phosphorylation of MAPK-P on scaffold" metaid="_820987" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_820987">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000187"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004708"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="_2e16459a-81ae-480e-86b1-7d2f7c87c9dd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="c73adf6c-9e88-46a5-bff3-1bb92083dc48"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3d3bbb15-daa9-4444-bfc7-41cef6902544">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9a </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9a" metaid="ef9859e1-ba60-4365-9d3a-876d96088a90" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction244" name="phosphorylation of MAPK-P on scaffold" metaid="_821037" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821037">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000187"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004708"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="c7ee70bd-2ae5-4056-b665-455862b2c27b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="_7aaa016a-b838-4c47-9d7a-ff036352d0c9"/>
+        </listOfProducts>
+        <kineticLaw metaid="_14e62e5d-ec23-4c42-8a1f-6c362836a9c8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9a </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9a" metaid="_38563d7f-09d0-4b07-8b31-bea97ac4feed" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction245" name="phosphorylation of MEK on scaffold" metaid="_821087" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821087">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_1" metaid="_6a18452b-6969-46b1-8cfe-0acf091ca2ab"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_1" metaid="c6816098-32f4-409a-93d9-2d9cf827b39f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8e47a8e5-ab4d-4cb3-8aa8-1e979783cd66">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="b5ef468f-5ad5-4aed-b1ce-f191d01e525f" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction246" name="phosphorylation of MEK-P on scaffold" metaid="_821137" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821137">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000186"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_1" metaid="fb787944-99e4-40d4-a5e3-43f409fd4136"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_1" metaid="daccb894-9c39-44c0-9486-f5a0253578ee"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7ab554ed-be24-41b8-a9ec-1fc2a328bad6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="d65b5cdb-1538-4d85-bcfd-05ee4daa28eb" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction247" name="phosphorylation of MEK on scaffold" metaid="_821187" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821187">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="dfc8416b-a007-4f51-b82b-5376dc27796b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="_954c12a9-ff2e-4a84-926e-b3fb314cd8dd"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2ee6b4ef-075a-40e6-b8d3-5efe04873051">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="d737e81f-86fc-42fd-a563-f6acb34f8d93" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction248" name="phosphorylation of MEK-P on scaffold" metaid="_821237" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821237">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000186"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="_69fae5cd-167d-46b7-bdcf-ef34651b445d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="_89401104-0862-4583-9cdb-fc47db8fa543"/>
+        </listOfProducts>
+        <kineticLaw metaid="_96fa8e39-7692-4064-8490-dea8c6b9e961">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="db10eec0-21e6-418b-9139-f13b4f627136" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction249" name="phosphorylation of MEK on scaffold" metaid="_821287" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821287">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="b794ffc4-c3d7-4c56-a030-27fe6b08202a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="_30e0df21-02bc-4031-a324-9daf2a60f2f8"/>
+        </listOfProducts>
+        <kineticLaw metaid="a8f066f0-e17d-49d8-8061-2341b3759d8b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="_32e3f33f-e3db-41f2-88ea-54b80ebeed23" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction250" name="phosphorylation of MEK-P on scaffold" metaid="_821337" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821337">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000186"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_9b3895e5-121d-4521-b652-283cfa69ff48"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_6c313b2f-29d3-441a-ba97-963a1a75d82c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7a8390c4-cfbc-4b80-9023-088a8169e6da">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="_64582113-b970-4d99-b70c-f48e5f411e0f" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction251" name="phosphorylation of MEK on scaffold" metaid="_821387" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821387">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="_5bb277d6-8c55-4bc4-8fe2-b62d245f036e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_65b3ac4b-d8f6-405b-82c0-74729bdf490f"/>
+        </listOfProducts>
+        <kineticLaw metaid="c26ee4d0-692e-44f0-a9f3-0c0df0792282">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="_209b5502-a770-428f-a740-f3edc152e7f6" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction252" name="phosphorylation of MEK-P on scaffold" metaid="_821437" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821437">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000186"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="b0d15d31-d42e-4f01-ab1e-a526b2296e45"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="_9530c77f-189c-4d6d-8054-467a85fde517"/>
+        </listOfProducts>
+        <kineticLaw metaid="_96a4b464-1dcb-4f5b-bf70-1e50a832f0a5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="_94b4a7dc-3097-4fdc-8d4b-ac25075dc622" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction253" name="binding of RAF and RAFK" metaid="_821487" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821487">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_364fed02-b311-4704-ab79-e05e9b7e5c79"/>
+          <speciesReference species="S_m1_m1_0" metaid="be61676b-4708-481e-8764-95f56b53d8e5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_m1_0" metaid="_4b13a3f8-5e40-4298-b1e5-34fafa1902b8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_102c02d4-e10b-4d2d-9087-ac0891e67330">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_36db051b-1e3c-48c7-a4c6-045f9e415ea8" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction254" name="dissociation of RAF_RAFK" metaid="_821555" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821555">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_m1_0" metaid="_6cb5d6a9-031f-45d2-859d-509c7dbd0279"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_28bb5ff7-5b9c-4cf0-a3bd-154f335b47f3"/>
+          <speciesReference species="S_m1_m1_0" metaid="_1da1babb-d4af-4072-baca-f41ce7c28eee"/>
+        </listOfProducts>
+        <kineticLaw metaid="_90768fad-9858-43d4-b67d-e5104c7755e2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_4d4b2172-d268-4249-b9af-0ff40cc7e5ca" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction255" name="phosphorylation of RAF on scaffold" metaid="_821624" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821624">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_m1_0" metaid="cb83ff9e-91da-4a32-a31e-a694356a715c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="cb11fb62-3932-45fb-ae84-77027608fbca"/>
+          <speciesReference species="S_m1_m1_1" metaid="_3e3bd982-226e-489b-a2f8-c57ef5be8c53"/>
+        </listOfProducts>
+        <kineticLaw metaid="d919f806-bbff-4f82-b70d-3a562b286eff">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_1b8a6426-ae25-4cfb-b780-2bb731ed3640" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction256" name="binding of RAF and RAFK" metaid="_821694" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821694">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_41073a50-fdf1-48a5-bdee-5169e9dc525d"/>
+          <speciesReference species="S_m1_0_0" metaid="_55399972-60db-4b93-9a2d-011ba1954580"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_0_0" metaid="_5fd1e9fc-34a1-4d34-849c-c1ec9f94e7a0"/>
+        </listOfProducts>
+        <kineticLaw metaid="_94bcea4a-96d4-4607-9d2d-4bd5d35fcf92">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_02f1b03d-39c1-4bc5-b406-f29ea48b4db6" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction257" name="dissociation of RAF_RAFK" metaid="_821764" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821764">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_0_0" metaid="_744d9483-7bc0-4af9-8897-809e0d10ce99"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_07d4a47a-8241-45e2-9da5-9f3f75d50802"/>
+          <speciesReference species="S_m1_0_0" metaid="_8040fc3e-1ebc-448b-9a7a-995337ff6dca"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8f447639-b86a-4374-b15f-a6d8dd235a8d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_908e4ff9-da7f-4b1d-bdf5-eff1a644464b" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction258" name="phosphorylation of RAF on scaffold" metaid="_821834" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821834">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_0_0" metaid="_6b0aa312-66db-46a0-b864-debb9fa9bc67"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_8092f79b-b8db-43f3-a189-7bcea4c29877"/>
+          <speciesReference species="S_m1_0_1" metaid="f4c163b7-8ef6-4100-ba9b-1152613c4c85"/>
+        </listOfProducts>
+        <kineticLaw metaid="c9e6c158-3fb4-4ae9-85a4-7b16f7a1cd73">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="c9776ca2-3644-4238-b41b-d5efc333387c" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction259" name="binding of RAF and RAFK" metaid="_821904" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821904">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="aa3bc754-7463-4115-841c-1b9053faa203"/>
+          <speciesReference species="S_m1_1_0" metaid="_3c07b729-e708-4956-9434-9cbb7d826d63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_1_0" metaid="_4feabba9-fbaf-4c67-8c78-16bd883f7dde"/>
+        </listOfProducts>
+        <kineticLaw metaid="_08810950-73c8-46fd-b89c-c55d5a295608">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="faaede7f-b32e-4a36-b84e-a7ac5d5a918f" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction260" name="dissociation of RAF_RAFK" metaid="_821974" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_821974">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_1_0" metaid="c198763a-19ec-4240-9eab-9944d526ee5e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_92a339cc-32f1-4933-9150-c90e3833d3de"/>
+          <speciesReference species="S_m1_1_0" metaid="be098412-ecac-4023-85c7-f524826fc23f"/>
+        </listOfProducts>
+        <kineticLaw metaid="ee04bbfd-0d92-461c-8cd6-bae70f904e25">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_97ab3bf5-adbb-46fb-acf2-620a55a549b1" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction261" name="phosphorylation of RAF on scaffold" metaid="_822044" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822044">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_1_0" metaid="_704eabda-8111-4d8b-8b1a-4b4778d1e1cc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_759ad0fb-2ef5-4f82-b552-6d0a5b14a438"/>
+          <speciesReference species="S_m1_1_1" metaid="_7a139f1c-cb14-4565-88ca-5e710b3e97f6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2bdededc-69df-4832-a1cd-11023b285246">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_1e3633ad-1fb9-4b56-ae40-86d53a373e4f" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction262" name="binding of RAF and RAFK" metaid="_822114" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822114">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_3d182d20-c80d-438e-9036-f20f0683ca2c"/>
+          <speciesReference species="S_m1_2_0" metaid="_109a69e0-4a7f-44b0-97f4-52cef743643f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_2_0" metaid="_00453534-6d6b-4c46-bb4b-23fe65221a32"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4cc086c8-4ef8-46c3-93e4-34bbb71284b8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="e7dbee50-e2bb-49d3-96cf-283ac28a2408" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction263" name="dissociation of RAF_RAFK" metaid="_822186" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822186">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_2_0" metaid="_69844106-aa54-4d7d-9152-5b310b56726b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_29dfab29-3751-4af3-ac14-e02f8912b160"/>
+          <speciesReference species="S_m1_2_0" metaid="_9c636303-58c5-42ce-a4ca-aa3609b2efc8"/>
+        </listOfProducts>
+        <kineticLaw metaid="daba6af7-8c95-4c88-aff6-4f723d769375">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_9c4a90ed-243b-406c-b589-41e307a4cbbd" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction264" name="phosphorylation of RAF on scaffold" metaid="_822254" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822254">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_2_0" metaid="_078fbc52-2d52-4850-800f-34f32ea992d9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_89c30c35-95d9-4275-9c39-e077f16f2753"/>
+          <speciesReference species="S_m1_2_1" metaid="f96b8576-cc75-43f7-8c77-cb7a46ba3a4f"/>
+        </listOfProducts>
+        <kineticLaw metaid="c8d31129-1dc0-4919-a1d0-7482179e8e16">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="d93b4df6-9326-4ab2-8a0b-c1820b186ac4" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction265" name="binding of RAF and RAFK" metaid="_822324" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822324">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_0a95fadd-96f5-4911-99ef-5598312bda35"/>
+          <speciesReference species="S_0_m1_0" metaid="_250ba5d0-eb1e-4a4d-875c-d82070969276"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_m1_0" metaid="_5138ac48-4570-4877-a04c-9fb379628156"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6b9591ae-2803-4c3b-ae23-a4af3c99c461">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="a2e9c6d2-9770-46d7-b7e7-c6830b9c07da" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction266" name="dissociation of RAF_RAFK" metaid="_822394" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822394">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_m1_0" metaid="d2b1d8e0-6bbb-402c-ac01-fa07c4c2ff83"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_1b03bffd-0e59-4039-91a0-ccd32b5e512d"/>
+          <speciesReference species="S_0_m1_0" metaid="_56c73400-6393-4c9c-b841-6a3a28b0020f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6eabbeb0-fd02-4013-b29f-c7c22373cdd2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_3989527f-f2d8-4e7a-bcdb-78a6b7b6d96e" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction267" name="phosphorylation of RAF on scaffold" metaid="_822464" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822464">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_m1_0" metaid="bb91312b-4e96-43e7-afa9-c5a808809a24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="e4079a8c-f094-4362-b90f-abdc23a7408f"/>
+          <speciesReference species="S_0_m1_1" metaid="_995520b4-4e18-4e22-a4a2-6be0e1d86da8"/>
+        </listOfProducts>
+        <kineticLaw metaid="df2c1840-06f0-4e60-812a-f6401a5a1b09">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_53a46f86-eae5-46d3-82f9-1d406e97de9c" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction268" name="binding of RAF and RAFK" metaid="_822534" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822534">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_80a65cde-289f-4b1e-800f-70a4deb31910"/>
+          <speciesReference species="S_0_0_0" metaid="_34741f18-ad50-4d46-b3c2-9e47a091b8b2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_0_0" metaid="ab1a9432-7c18-457f-ab0b-06e9cce24cbd"/>
+        </listOfProducts>
+        <kineticLaw metaid="_41c54e2b-285c-4914-96ce-f8d549c62c22">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_5f58a245-574d-4e54-8b7d-844d82838abe" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction269" name="dissociation of RAF_RAFK" metaid="_822604" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822604">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_0_0" metaid="_65d09eb7-3c8b-41e2-880f-fa67ab1899a0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="dc51262f-8854-4dfd-94db-e22a2327412b"/>
+          <speciesReference species="S_0_0_0" metaid="_274aed51-4f55-47e9-9d11-010c0849d6d1"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6cc10462-534e-4a1a-aaac-1dfbb8613ba0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_341581f8-0279-43cb-85cf-3c9beef913a4" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction270" name="phosphorylation of RAF on scaffold" metaid="_822674" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822674">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_0_0" metaid="_18992f9f-6913-4aec-8656-c86b9a5da0e4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="d1203d08-cf90-469a-aec7-c3e3aba68c71"/>
+          <speciesReference species="S_0_0_1" metaid="_8d8ca6a1-7c98-4d18-9475-6452f08c11db"/>
+        </listOfProducts>
+        <kineticLaw metaid="_892a9d37-7833-4bef-9b61-e89234cff036">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_66266f4a-f1ad-4de5-923a-6dd8143d3574" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction271" name="binding of RAF and RAFK" metaid="_822744" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822744">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_44f68dad-931e-45e9-8362-498f1a338c53"/>
+          <speciesReference species="S_0_1_0" metaid="_1780e17f-721f-4375-bf5b-d1507062d71a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_1_0" metaid="_605da6c0-a3a2-4b71-9ef3-225410cb5a2a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_36a841dc-ec5c-4eb4-8b70-e8bdb180f802">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_10856c59-ee2b-4004-8377-2f262f7ef90a" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction272" name="dissociation of RAF_RAFK" metaid="_822814" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822814">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_1_0" metaid="f49f3492-7454-4959-9abf-841b9dba1aa9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="fb0285a4-fec5-4567-a220-72fd0ec442d5"/>
+          <speciesReference species="S_0_1_0" metaid="e469539b-069a-431b-8d38-950c2ab4cb8d"/>
+        </listOfProducts>
+        <kineticLaw metaid="af107a31-ea01-4b48-beb6-00c563416e6c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_9dd2e58b-748b-4aff-9132-8fd04082ae60" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction273" name="phosphorylation of RAF on scaffold" metaid="_822884" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822884">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_1_0" metaid="_19f74be5-248c-4dd5-aa83-a28804609bb3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="c7018f7f-d839-4324-add8-37aa9b1801a1"/>
+          <speciesReference species="S_0_1_1" metaid="_30df8d4e-100c-4fd7-aa80-b22aceace3bd"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2fd3f587-352e-4c18-9603-f3fe7dd696a1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="b9cd60d0-ac90-42e6-ab2f-aecdf8aa3fcb" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction274" name="binding of RAF and RAFK" metaid="_822954" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_822954">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_13617455-2946-46a2-8f02-0a49523b7173"/>
+          <speciesReference species="S_0_2_0" metaid="eaf430cd-5038-4391-9ead-77baa686be6f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_2_0" metaid="cc81de7a-eb7b-4c55-a533-a923d00b7ff3"/>
+        </listOfProducts>
+        <kineticLaw metaid="_560441f2-163e-452b-a203-c880c44435b7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_5625b984-1ca9-4bd4-9f24-9e2aff4ad952" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction275" name="dissociation of RAF_RAFK" metaid="_823024" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823024">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_2_0" metaid="b64a7d1e-67d1-444f-b012-85181b25693a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_413dfae4-b0fa-440d-8e7c-3a8e02c1088a"/>
+          <speciesReference species="S_0_2_0" metaid="b0a61df6-0083-4c4e-b47e-bdfce3f4e7a5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4d2ce9ae-b532-4910-95e6-084e2376fa78">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_4fe3fcea-ce51-40e4-a37f-0ded95a38899" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction276" name="phosphorylation of RAF on scaffold" metaid="_823094" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823094">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_2_0" metaid="b538f59d-8ef7-4b30-b1f5-dbd8e5446610"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_0a2bee2f-584f-4ce7-adea-90a9f062e642"/>
+          <speciesReference species="S_0_2_1" metaid="e8af4f56-054b-43f2-8858-301b7ae70fc4"/>
+        </listOfProducts>
+        <kineticLaw metaid="e933cab7-a02a-441b-9e1b-ae7af6f8cdb8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_4a249bd6-3402-4e21-8077-e97fc06f17a2" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction277" name="binding of RAF and RAFK" metaid="_823164" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823164">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="c11e756d-0fc3-47a1-9ebb-4d250560db6e"/>
+          <speciesReference species="S_1_m1_0" metaid="_3a3c25e6-9b04-49bb-a071-0d0fb6177c8b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_m1_0" metaid="_7359ae1a-cd0d-48f0-95e0-a07cebe52fba"/>
+        </listOfProducts>
+        <kineticLaw metaid="ece65890-e7d1-4f72-bd47-63a21b1a1061">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_11d36e74-b1e4-4c68-8e1e-ead04783480c" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction278" name="dissociation of RAF_RAFK" metaid="_823234" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823234">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_m1_0" metaid="_266f3b4b-b116-40f8-b7d7-72276c007070"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="c63e3e5e-62dc-49a9-a052-711784ea0a83"/>
+          <speciesReference species="S_1_m1_0" metaid="d91ee94b-c854-471c-8ec7-8ea312576875"/>
+        </listOfProducts>
+        <kineticLaw metaid="f6d2d71b-d858-4a30-9871-72e3c1d2930b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_421d394e-3ebe-4a12-a6c0-31c09b651c0a" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction279" name="phosphorylation of RAF on scaffold" metaid="_823304" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823304">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_m1_0" metaid="e715e8de-4174-450b-beaf-aa280d94c2f8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_4265a3e9-f712-4cae-ada1-d5f1a2d71ef5"/>
+          <speciesReference species="S_1_m1_1" metaid="fbfb2bf1-64ae-4eaf-96ba-4daa16c65fa7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6704abb2-258f-4a25-a181-e2d17a69cc44">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="c3a4cb68-233f-4dc0-a303-647751b4a7c0" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction280" name="binding of RAF and RAFK" metaid="_823374" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823374">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_8a13bc55-ee7f-4689-a1ab-9403563a1bc7"/>
+          <speciesReference species="S_1_0_0" metaid="_89f5d92f-980d-4119-812e-a87b2c0efe06"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_0_0" metaid="e1357335-faa7-407a-8de6-297d14069aa6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_37c9da6f-580f-4fd5-80d6-e9a7f59aa022">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="a2c20c4b-7e89-4e5d-befd-d14c09a63ac4" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction281" name="dissociation of RAF_RAFK" metaid="_823444" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823444">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_0_0" metaid="c2ffcdad-2aa9-48e3-a0f4-2abb9c4c0fd9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="d68547e9-f37a-465e-b7c7-c69db2df05be"/>
+          <speciesReference species="S_1_0_0" metaid="aa8d2270-8602-49b1-a552-61e1a2a7ff06"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5f122f6e-31d0-49bb-b027-f0df016b7dfd">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_118413ee-dad1-44e3-8d65-c6d95afa469e" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction282" name="phosphorylation of RAF on scaffold" metaid="_823514" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823514">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_0_0" metaid="ea084dd2-49c2-44ca-86bf-52e50240468a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_69fab0b0-dce0-484e-b69a-a2b304f1eb28"/>
+          <speciesReference species="S_1_0_1" metaid="_7d94b6b2-5a9f-4de0-a03e-fd7e7b90dae7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_411e7c79-f5d0-4a99-98a9-b122142ac64a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="c1b62222-c9df-44e3-8a7c-ff497d58d3a5" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction283" name="binding of RAF and RAFK" metaid="_823584" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823584">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_8ec6d8c0-1d8a-45b4-8ad0-6cece94be623"/>
+          <speciesReference species="S_1_1_0" metaid="_43a955b1-522f-436e-b030-85a59e66d71c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_1_0" metaid="_07b42398-f204-4575-81d0-80ef6071708c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_053e5ccc-82f5-441d-bfee-13794a9ecfc8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="ad60f047-f522-437f-8ac9-55c1fee5cb27" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction284" name="dissociation of RAF_RAFK" metaid="_823654" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823654">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_1_0" metaid="a9bd85e8-79c3-49b0-9f55-68e63d138c1f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_0ac15094-aa2d-40bc-ae66-67b95a99d4c7"/>
+          <speciesReference species="S_1_1_0" metaid="a30d42d0-5770-4bad-941f-669832d1f3eb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1415c570-4d59-4089-bae5-8cc7c17c4e9b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="fe99170b-c6f6-4494-8722-06e55ca705ef" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction285" name="phosphorylation of RAF on scaffold" metaid="_823724" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823724">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_1_0" metaid="_1cfbbea5-34dc-4530-8f22-08682c4ba497"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="fad24346-8d75-4313-a948-25f659aa47d7"/>
+          <speciesReference species="S_1_1_1" metaid="_8c4b6d28-8028-4754-9c6a-1c1b94c4c1a3"/>
+        </listOfProducts>
+        <kineticLaw metaid="_525e2a72-344d-494e-978c-6ec55c73a2a4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="ea241e60-9c34-4a3e-a825-17d92f7386a6" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction286" name="binding of RAF and RAFK" metaid="_823794" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823794">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="e01bb05b-b07a-4c0a-ac10-65fba827350c"/>
+          <speciesReference species="S_1_2_0" metaid="c205814c-a6fd-43b3-8dcc-8c5b4e65e98e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_2_0" metaid="d2313848-9937-463d-8102-6f32444f1e02"/>
+        </listOfProducts>
+        <kineticLaw metaid="_853a458b-62d9-441b-9656-85c91de0d4a6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_981bbfb1-be60-4f10-8ff4-6ed05a0ed168" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction287" name="dissociation of RAF_RAFK" metaid="_823864" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823864">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_2_0" metaid="_5b311a63-538b-4ec9-9510-0e5977de5df1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_16063d83-2705-4c74-8b54-7ae216a6e218"/>
+          <speciesReference species="S_1_2_0" metaid="cfc7190f-ea01-44f0-a99f-9975e6df12ad"/>
+        </listOfProducts>
+        <kineticLaw metaid="d23ac27a-3504-4a09-b31c-60ea79cf865e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_1e919550-ff6d-4096-8925-55c6335a2c10" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction288" name="phosphorylation of RAF on scaffold" metaid="_823934" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_823934">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_2_0" metaid="_8f38c047-0770-45a7-a9b3-cccd4f0e2e0a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_2a2f5e79-86af-45a2-accc-c9edcb50fd00"/>
+          <speciesReference species="S_1_2_1" metaid="d9a0c218-d1e4-4fc7-93d3-8dac77d894ac"/>
+        </listOfProducts>
+        <kineticLaw metaid="_534cb245-e450-4713-b970-c449c6bd14b5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="dd85e0c6-1530-40d0-a3e6-b808dff91271" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction289" name="binding of RAF and RAFK" metaid="_824004" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824004">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_61793e88-25d6-45c9-bca6-5bb8e5560026"/>
+          <speciesReference species="S_2_m1_0" metaid="e35ef5ac-6d75-4d0a-9dca-9ff2309537a7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_m1_0" metaid="_33357b01-dd77-4270-9564-720a5469d6d9"/>
+        </listOfProducts>
+        <kineticLaw metaid="fcd2b728-a698-4fec-9add-240a5b518159">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_744dcf95-cf81-41cc-977b-21d857f14aa5" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction290" name="dissociation of RAF_RAFK" metaid="_824074" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824074">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_m1_0" metaid="b04176c7-dbd7-4c19-aec2-b318a8f45081"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_2df71fdd-17c6-410b-a0d4-f4b64d78ac13"/>
+          <speciesReference species="S_2_m1_0" metaid="_12668be0-47cf-4e1a-ba24-44fb6af42581"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9459309c-6208-4531-a883-1e3b77336dfb">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_4b482ede-b6e4-43a4-aa87-52a9a73840cd" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction291" name="phosphorylation of RAF on scaffold" metaid="_824144" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824144">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_m1_0" metaid="cf68d8f7-139e-47ec-a0c6-2b33d3a92cf4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_6c6ebdd7-661a-47f0-a943-dcff2c0b4729"/>
+          <speciesReference species="S_2_m1_1" metaid="ad6ee9aa-559d-4c60-8ad1-5431a3cf33c0"/>
+        </listOfProducts>
+        <kineticLaw metaid="_994eb7d7-0cc3-438e-98d5-a23371408087">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_0cc4a737-5e97-499c-9e9f-27fb6cfb42e1" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction292" name="binding of RAF and RAFK" metaid="_824218" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824218">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_99154f90-19ac-44af-bf02-b7e1eeff9baf"/>
+          <speciesReference species="S_2_0_0" metaid="d4ae2e43-aad8-4447-81bd-d5ec751aad2d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_0_0" metaid="ff2cd557-fb35-49b1-9cbe-99f9890e1a9d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_00dc747c-ea17-403e-b1e0-b1621d65b82c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_5d08ca21-cb05-49bb-ba11-15da9ed74217" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction293" name="dissociation of RAF_RAFK" metaid="_824284" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824284">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_0_0" metaid="_36e3e29b-14b2-421c-944d-1944bf67b222"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="b309c27e-c12e-4434-98c7-7d867cb6a8ca"/>
+          <speciesReference species="S_2_0_0" metaid="_67d95415-e310-45aa-96e5-b2596f4fbf05"/>
+        </listOfProducts>
+        <kineticLaw metaid="d926d67e-ada7-4d6f-9fdd-a8a010dac5c9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_93caaa0a-085d-4522-8d59-c678d9a398bb" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction294" name="phosphorylation of RAF on scaffold" metaid="_824354" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824354">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_0_0" metaid="_091f297f-7553-4532-8271-d4f18755f77b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_70bf69d7-fc9a-4918-b97e-16ddc1be0dcc"/>
+          <speciesReference species="S_2_0_1" metaid="_28a428a0-ef98-4636-b52c-c58109c736d9"/>
+        </listOfProducts>
+        <kineticLaw metaid="_31db6ae6-2c0f-46d3-9599-69f8005077d5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_3dfec366-d19b-41dc-89fe-74d0135ec40e" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction295" name="binding of RAF and RAFK" metaid="_824424" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824424">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_87a6ccba-587d-4bd9-b323-a216a9d1d86c"/>
+          <speciesReference species="S_2_1_0" metaid="_1a23ac31-985b-4116-8339-7abf40e0d557"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_1_0" metaid="f3261871-e522-45d1-8dc4-c4dc027c46df"/>
+        </listOfProducts>
+        <kineticLaw metaid="d4e4121b-f085-46f4-8c46-6c02397ca7cf">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="a1125666-8d1e-4ff4-b873-17a317a35c27" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction296" name="dissociation of RAF_RAFK" metaid="_824496" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824496">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_1_0" metaid="_473fdcaf-5b33-4d81-b817-1bcfd9b3460d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_0a6ba55e-8bee-4ee3-bbf8-303444c5f1c8"/>
+          <speciesReference species="S_2_1_0" metaid="bc50c3e5-07d7-4cdc-96d1-388c15e065dd"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0f64d65d-e8ba-4074-85ed-19d5fbb97ad4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="f9d088a8-45d7-432e-b69c-904cbea60f0f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction297" name="phosphorylation of RAF on scaffold" metaid="_824564" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824564">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_1_0" metaid="_37db1b0e-f557-4642-a524-0c1da985caf7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="d8c0eb75-75bb-4e23-9cd0-c7b188322bd6"/>
+          <speciesReference species="S_2_1_1" metaid="_56215f38-0c7d-4a6f-b6fb-61d107100d32"/>
+        </listOfProducts>
+        <kineticLaw metaid="dbd56862-3ba3-4337-8eaf-8d78d2ea92dd">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_8885d8d3-2ab6-4e2f-b6fb-dae569d9f653" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction298" name="binding of RAF and RAFK" metaid="_824634" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824634">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0031435"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_4714cf1a-e890-42c8-9fb8-b7087a1c54da"/>
+          <speciesReference species="S_2_2_0" metaid="_3569549c-b226-4ec9-97a4-998f18c7f309"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_2_0" metaid="f7939939-e5d0-4f21-ad11-d53422770f21"/>
+        </listOfProducts>
+        <kineticLaw metaid="ca3cee0f-fb01-4409-9c9e-0daa0944e0be">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_9099c1a1-f2ce-4535-a4dc-e4ee5c9b02a0" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction299" name="dissociation of RAF_RAFK" metaid="_824704" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824704">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0043241"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_2_0" metaid="_8b5ae4eb-a686-4d96-928a-0211d443ec09"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_1bc5f900-9f64-4f6d-b0cf-44809e8195b6"/>
+          <speciesReference species="S_2_2_0" metaid="c616e1c8-217a-4fa5-abb9-c6b0ee09322c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9f3f3ece-5ba7-4bad-ab54-ec84a72ad2af">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_0e3f4fe9-dd08-41d6-b05b-9ecfe0b42556" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction300" name="phosphorylation of RAF on scaffold" metaid="_824774" reversible="false">
+        <annotation>
+    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#_824774">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_2_0" metaid="_9f47e61d-bcf2-41c1-b634-9acd3a8076de"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="c45f14a7-6f46-4861-ab95-e5e43bc4bbcb"/>
+          <speciesReference species="S_2_2_1" metaid="_1bb17d2c-fe36-4035-bc43-fdc40bbb3ade"/>
+        </listOfProducts>
+        <kineticLaw metaid="de6f1b0f-ffd8-42cc-95ce-3af641bcb9a6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_42e27408-4dc3-4371-a3d7-36f4f55a450e" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/biomod33/BIOMD0000000033.xml b/autotest/python-benchmark-bioinf/biomod33/BIOMD0000000033.xml
new file mode 100644
index 0000000..83c8064
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/biomod33/BIOMD0000000033.xml
@@ -0,0 +1,1744 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+
+<!-- This model was downloaded from BioModels Database -->
+<!-- Mon Mar 30 19:29:36 BST 2015                      -->
+<!-- http://www.ebi.ac.uk/biomodels/                   -->
+
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" metaid="metaid_0000001" version="1">
+  <model id="Brown2004_NGF_EGF_signaling" name="Brown2004_NGF_EGF_signaling" metaid="metaid_0000002">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>Contact Ryan Gutenkunst (rng7 at cornell.edu) for any questions on the SBMLization or annotation of this model.</p>
+            <p>KS Brown KS and JP Sethna      <br/>
+          "Statistical mechanical approaches to models with many poorly known parameters."      <br/>
+          Physical Review E 68:021904 (2003)      <br/>
+          PMID: 14525003      </p>
+            <p>KS Brown, CC Hill, GA Calero, CR Myers, KH Lee, JP Sethna, and RA Cerione      <br/>
+          "The statistical mechanics of complex signaling networks: 
+        nerve growth factor signaling"      <br/>
+          Physical Biology 1:184-195 (2004)      <br/>
+          PMID: not yet indexed      </p>
+            <h3>Notes:</h3>
+            <p>The figures in the paper show results from computations performed over an ensemble of all parameter sets that fit the avaiable data. This file contains only the best fit parameters. The full ensemble of parameters is available at http://www.lassp.cornell.edu/sethna/GeneDynamics/PC12DataFiles/ (Also, the best-fit parameter set produces a curve for DN Rap1 that is less "peakish" than the ensemble average.)</p>
+            <p>The conversion factors for EGF and NGF concentrations account for their molecular weights and the density of cells in the culture dish. These concentrations are saturating, so the exact values are not critical.</p>
+            <p>Because the Erk data fit to measure only fold changes in activity, there is no absolute scale for the y-axes. Thus the curves from this file have different magnitudes than those published.</p>
+            <p>To reproduce the figures from the paper:      <br/>
+          2a) For EGF stimulation, set the initial concentration of EGF to 100 ng/ml * 100020 (molecule/cell)/(ng/ml) = 10002000.      <br/>
+          For NGF stimulation, set the initial concentration of NGF to 50 ng/ml * 4560 (molecule/cell)/(ng/ml) = 456000      <br/>
+          5a) To simulate LY294002 addition, set kPI3KRas and kPI3K to 0.      <br/>
+          5b) To simulate a dominant negative Rap1, set kRap1ToBRaf to 0.      <br/>
+          To simulate a dominant negative Ras, set kRasToRaf1 and kPI3KRas to 0.      <br/>
+                </p>
+            <p>Almost all the data fit with this model by the authors are from Western blots. Given 
+the uncertainties in antibody effectiveness and other factors, one can't 
+a priori derive a conversion between the arbitrary units for a given set 
+of data and molecules per cell. So the authors used an adjustable 
+"scale factor" that converts between molecules per cell and Western blot 
+units.</p>
+            <p>For the EGF stimulation data in figure 2a) the scale factor conversion 
+is 1.414e-05 (U/mg)/(molecule/cell).
+For the NGF stimulation data in figure 2a) it is 7.135e-06 
+(U/mg)/(molecule/cell).</p>
+            <br/>
+            <p>To the extent possible under law, all copyright and related or neighbouring rights to this encoded model have been dedicated to the public domain worldwide. Please refer to      <a href="http://creativecommons.org/publicdomain/zero/1.0/" title="Creative Commons CC0">CC0 Public Domain Dedication</a>
+          for more information.      </p>
+            <p>In summary, you are entitled to use this encoded model in absolutely any manner you deem suitable, verbatim, or with modification, alone or embedded it in a larger context, redistribute it, commercially or not, in a restricted way or not.</p>
+            <br/>
+            <p>To cite BioModels Database, please use:      <a href="http://www.ncbi.nlm.nih.gov/pubmed/20587024" target="_blank">Li C, Donizelli M, Rodriguez N, Dharuri H, Endler L, Chelliah V, Li L, He E, Henry A, Stefan MI, Snoep JL, Hucka M, Le Novère N, Laibe C (2010) BioModels Database: An enhanced, curated and annotated resource for published quantitative kinetic models. BMC Syst Biol., 4:92.</a>
+                </p>
+            </body>
+      
+    </notes>
+    <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000002">
+	<dc:creator>
+	<rdf:Bag>
+	<rdf:li rdf:parseType="Resource">
+	<vCard:N rdf:parseType="Resource">
+	<vCard:Family>Le Novère</vCard:Family>
+	<vCard:Given>Nicolas</vCard:Given>
+	</vCard:N>
+	<vCard:EMAIL>lenov at ebi.ac.uk</vCard:EMAIL>
+	<vCard:ORG rdf:parseType="Resource">
+	<vCard:Orgname>EMBL-EBI</vCard:Orgname>
+	</vCard:ORG>
+	</rdf:li>
+	<rdf:li rdf:parseType="Resource">
+	<vCard:N rdf:parseType="Resource">
+	<vCard:Family>Gutenkunst</vCard:Family>
+	<vCard:Given>Ryan</vCard:Given>
+	</vCard:N>
+	<vCard:EMAIL>rng7 at cornell.edu</vCard:EMAIL>
+	<vCard:ORG rdf:parseType="Resource">
+	<vCard:Orgname>Cornell University</vCard:Orgname>
+	</vCard:ORG>
+	</rdf:li>
+	</rdf:Bag>
+	</dc:creator>
+	<dcterms:created rdf:parseType="Resource">
+	<dcterms:W3CDTF>2005-06-10T14:09:32Z</dcterms:W3CDTF>
+	</dcterms:created>
+	<dcterms:modified rdf:parseType="Resource">
+	<dcterms:W3CDTF>2014-04-04T13:21:52Z</dcterms:W3CDTF>
+	</dcterms:modified>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/MODEL6619514794"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000033"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:isDescribedBy>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/pubmed/14525003"/>
+	</rdf:Bag>
+	</bqmodel:isDescribedBy>
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0070371"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	<bqbiol:hasTaxon>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/taxonomy/131567"/>
+	</rdf:Bag>
+	</bqbiol:hasTaxon>
+	<bqbiol:hasProperty>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/mamo/MAMO_0000046"/>
+	</rdf:Bag>
+	</bqbiol:hasProperty>
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0048011"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0007173"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+      <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="item (default)" metaid="metaid_0000110">
+        <listOfUnits>
+          <unit metaid="_915682" kind="item"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="minute (default)" metaid="metaid_1000110">
+        <listOfUnits>
+          <unit metaid="_915694" multiplier="60" kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="cell" metaid="metaid_0000051" size="1">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000051">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005623"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="EGF" initialConcentration="10002000" metaid="metaid_0000052" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000052">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07522"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="NGF" initialConcentration="456000" metaid="metaid_0000053" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000053">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P25427"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="freeEGFReceptor" initialConcentration="80000" metaid="metaid_0000054" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000054">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QX70"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="boundEGFReceptor" initialConcentration="0" metaid="metaid_0000055" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000055">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QX70"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07522"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="freeNGFReceptor" initialConcentration="10000" metaid="metaid_0000056" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000056">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P35739"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="boundNGFReceptor" initialConcentration="0" metaid="metaid_0000057" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000057">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P35739"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P25427"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="SosInactive" initialConcentration="120000" metaid="metaid_0000058" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000058">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ensembl/ENSRNOP00000009359"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I1"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="SosActive" initialConcentration="0" metaid="metaid_0000059" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000059">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ensembl/ENSRNOP00000009359"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I1"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="P90RskInactive" initialConcentration="120000" metaid="metaid_0000060" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000060">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I2"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63531"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="P90RskActive" initialConcentration="0" metaid="metaid_0000061" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000061">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I2"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63531"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RasInactive" initialConcentration="120000" metaid="metaid_0000062" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000062">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RasActive" initialConcentration="0" metaid="metaid_0000063" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000063">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RasGapActive" initialConcentration="120000" constant="true" metaid="metaid_0000064" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000064">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P50904"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Raf1Inactive" initialConcentration="120000" metaid="metaid_0000065" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000065">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P11345"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Raf1Active" initialConcentration="0" metaid="metaid_0000066" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000066">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P11345"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="BRafInactive" initialConcentration="120000" metaid="metaid_0000067" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000067">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q99MC6"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="BRafActive" initialConcentration="0" metaid="metaid_0000068" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000068">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q99MC6"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="MekInactive" initialConcentration="600000" metaid="metaid_0000069" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000069">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q01986"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P36506"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="MekActive" initialConcentration="0" metaid="metaid_0000070" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000070">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q01986"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P36506"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="ErkInactive" initialConcentration="600000" metaid="metaid_0000071" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000071">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P21708"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P63086"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="ErkActive" initialConcentration="0" metaid="metaid_0000072" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000072">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P21708"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P63086"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PI3KInactive" initialConcentration="120000" metaid="metaid_0000073" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000073">
+              <bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR015433"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005942"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PI3KActive" initialConcentration="0" metaid="metaid_0000074" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000074">
+              <bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR015433"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005942"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="AktInactive" initialConcentration="120000" metaid="metaid_0000075" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000075">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47196"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47197"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63484"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="AktActive" initialConcentration="0" metaid="metaid_0000076" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000076">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47196"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47197"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63484"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="C3GInactive" initialConcentration="120000" metaid="metaid_0000077" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000077">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QYV3"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="C3GActive" initialConcentration="0" metaid="metaid_0000078" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000078">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QYV3"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Rap1Inactive" initialConcentration="120000" metaid="metaid_0000079" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000079">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P10113"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q62636"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Rap1Active" initialConcentration="0" metaid="metaid_0000080" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000080">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P10113"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q62636"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RapGapActive" initialConcentration="120000" constant="true" metaid="metaid_0000081" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000081">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47736"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PP2AActive" initialConcentration="120000" constant="true" metaid="metaid_0000082" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000082">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000159"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Raf1PPtase" initialConcentration="120000" constant="true" metaid="metaid_0000083" compartment="cell"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="krbEGF" metaid="metaid_0000003" value="2.18503E-5"/>
+      <parameter id="kruEGF" metaid="metaid_0000004" value="0.0121008"/>
+      <parameter id="krbNGF" metaid="metaid_0000005" value="1.38209E-7"/>
+      <parameter id="kruNGF" metaid="metaid_0000006" value="0.00723811"/>
+      <parameter id="kEGF" metaid="metaid_0000007" value="694.731"/>
+      <parameter id="KmEGF" metaid="metaid_0000008" value="6086070"/>
+      <parameter id="kNGF" metaid="metaid_0000009" value="389.428"/>
+      <parameter id="KmNGF" metaid="metaid_0000010" value="2112.66"/>
+      <parameter id="kdSos" metaid="metaid_0000011" value="1611.97"/>
+      <parameter id="KmdSos" metaid="metaid_0000012" value="896896"/>
+      <parameter id="kSos" metaid="metaid_0000013" value="32.344"/>
+      <parameter id="KmSos" metaid="metaid_0000014" value="3.59543E4"/>
+      <parameter id="kRasGap" metaid="metaid_0000015" value="1509.36"/>
+      <parameter id="KmRasGap" metaid="metaid_0000016" value="1432410"/>
+      <parameter id="kRasToRaf1" metaid="metaid_0000017" value="0.884096"/>
+      <parameter id="KmRasToRaf1" metaid="metaid_0000018" value="6.24646E4"/>
+      <parameter id="kpRaf1" metaid="metaid_0000019" value="185.759"/>
+      <parameter id="KmpRaf1" metaid="metaid_0000020" value="4768350"/>
+      <parameter id="kpBRaf" metaid="metaid_0000021" value="125.089"/>
+      <parameter id="KmpBRaf" metaid="metaid_0000022" value="157948"/>
+      <parameter id="kdMek" metaid="metaid_0000023" value="2.83243"/>
+      <parameter id="KmdMek" metaid="metaid_0000024" value="518753"/>
+      <parameter id="kpMekCytoplasmic" metaid="metaid_0000025" value="9.85367"/>
+      <parameter id="KmpMekCytoplasmic" metaid="metaid_0000026" value="1007340"/>
+      <parameter id="kdErk" metaid="metaid_0000027" value="8.8912"/>
+      <parameter id="KmdErk" metaid="metaid_0000028" value="3496490"/>
+      <parameter id="kpP90Rsk" metaid="metaid_0000029" value="0.0213697"/>
+      <parameter id="KmpP90Rsk" metaid="metaid_0000030" value="763523"/>
+      <parameter id="kPI3K" metaid="metaid_0000031" value="10.6737"/>
+      <parameter id="KmPI3K" metaid="metaid_0000032" value="184912"/>
+      <parameter id="kPI3KRas" metaid="metaid_0000033" value="0.0771067"/>
+      <parameter id="KmPI3KRas" metaid="metaid_0000034" value="272056"/>
+      <parameter id="kAkt" metaid="metaid_0000035" value="0.0566279"/>
+      <parameter id="KmAkt" metaid="metaid_0000036" value="653951"/>
+      <parameter id="kdRaf1ByAkt" metaid="metaid_0000037" value="15.1212"/>
+      <parameter id="KmRaf1ByAkt" metaid="metaid_0000038" value="119355"/>
+      <parameter id="kC3GNGF" metaid="metaid_0000039" value="146.912"/>
+      <parameter id="KmC3GNGF" metaid="metaid_0000040" value="1.28762E4"/>
+      <parameter id="kC3G" metaid="metaid_0000041" value="1.40145"/>
+      <parameter id="KmC3G" metaid="metaid_0000042" value="1.09656E4"/>
+      <parameter id="kRapGap" metaid="metaid_0000043" value="27.265"/>
+      <parameter id="KmRapGap" metaid="metaid_0000044" value="295990"/>
+      <parameter id="kRap1ToBRaf" metaid="metaid_0000045" value="2.20995"/>
+      <parameter id="KmRap1ToBRaf" metaid="metaid_0000046" value="1025460"/>
+      <parameter id="kdRaf1" metaid="metaid_0000047" value="0.126329"/>
+      <parameter id="KmdRaf1" metaid="metaid_0000048" value="1061.71"/>
+      <parameter id="kdBRaf" metaid="metaid_0000049" value="441.287"/>
+      <parameter id="KmdBRaf" metaid="metaid_0000050" value="10879500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="EGFBindingReaction" name="EGF binding" metaid="metaid_0000084" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000084">
+              <bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0048408"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0045741"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EGF" metaid="_915707"/>
+          <speciesReference species="freeEGFReceptor" metaid="_915719"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="boundEGFReceptor" metaid="_915730"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915743">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <ci> krbEGF </ci>
+              <ci> EGF </ci>
+              <ci> freeEGFReceptor </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="EGFUnbindingReaction" name="EFG unbinding" metaid="metaid_0000085" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000085">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0007175"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="boundEGFReceptor" metaid="_915755"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EGF" metaid="_915767"/>
+          <speciesReference species="freeEGFReceptor" metaid="_915779"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915791">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <ci> kruEGF </ci>
+              <ci> boundEGFReceptor </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="NGFBindingReaction" name="NGF binding" metaid="metaid_0000086" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000086">
+              <bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051396"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0048406"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="NGF" metaid="_915803"/>
+          <speciesReference species="freeNGFReceptor" metaid="_915816"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="boundNGFReceptor" metaid="_915828"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915840">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> krbNGF </ci>
+              <ci> NGF </ci>
+              <ci> freeNGFReceptor </ci>
+              <ci> cell </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="NGFUnbindingReaction" name="NGF unbinding" metaid="metaid_0000087" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000087">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051395"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="boundNGFReceptor" metaid="_915852"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="NGF" metaid="_915864"/>
+          <speciesReference species="freeNGFReceptor" metaid="_915876"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915888">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kruNGF </ci>
+              <ci> boundNGFReceptor </ci>
+              <ci> cell </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="SosActivationByEGFReaction" name="SOS activation by EGF" metaid="metaid_0000088">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000088">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004716"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="SosInactive" metaid="_915900"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="SosActive" metaid="_915912"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundEGFReceptor" metaid="_915924"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_915936">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kEGF </ci>
+                  <ci> boundEGFReceptor </ci>
+                  <ci> SosInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> SosInactive </ci>
+                  <ci> KmEGF </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="SosActivationByNGFReaction" name="SOS activation by NGF" metaid="metaid_0000089">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000089">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004716"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="SosInactive" metaid="_915948"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="SosActive" metaid="_915960"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundNGFReceptor" metaid="_915972"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_915984">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kNGF </ci>
+                  <ci> boundNGFReceptor </ci>
+                  <ci> SosInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> SosInactive </ci>
+                  <ci> KmNGF </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="SosDeactivationReaction" name="SOS deactivation" metaid="metaid_0000090">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000090">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="SosActive" metaid="_915996"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="SosInactive" metaid="_916008"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="P90RskActive" metaid="_916020"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916032">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdSos </ci>
+                  <ci> P90RskActive </ci>
+                  <ci> SosActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> SosActive </ci>
+                  <ci> KmdSos </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="RasActivationReaction" name="Ras activation" metaid="metaid_0000091">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000091">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0046579"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RasInactive" metaid="_916044"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RasActive" metaid="_916056"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="SosActive" metaid="_916068"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916080">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kSos </ci>
+                  <ci> SosActive </ci>
+                  <ci> RasInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> RasInactive </ci>
+                  <ci> KmSos </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="RasDeactivationReaction" name="Ras deactivation" metaid="metaid_0000092">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000092">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0046580"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RasActive" metaid="_916092"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RasInactive" metaid="_916104"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RasGapActive" metaid="_916116"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916128">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRasGap </ci>
+                  <ci> RasGapActive </ci>
+                  <ci> RasActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> RasActive </ci>
+                  <ci> KmRasGap </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Raf1ByRasActivationReaction" name="Raf1 activation by Ras" metaid="metaid_0000093">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000093">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Raf1Inactive" metaid="_916140"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Raf1Active" metaid="_916152"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RasActive" metaid="_916164"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916176">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRasToRaf1 </ci>
+                  <ci> RasActive </ci>
+                  <ci> Raf1Inactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Raf1Inactive </ci>
+                  <ci> KmRasToRaf1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="MekbyRaf1ActivationReaction" name="Mek activation by Raf1" metaid="metaid_0000094">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000094">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000186"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MekInactive" metaid="_916188"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MekActive" metaid="_916200"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Raf1Active" metaid="_916212"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916224">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpRaf1 </ci>
+                  <ci> Raf1Active </ci>
+                  <ci> MekInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> MekInactive </ci>
+                  <ci> KmpRaf1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="MekbyBRafActivationReaction" name="Mek activation by B-Raf" metaid="metaid_0000095">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000095">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000186"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MekInactive" metaid="_916236"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MekActive" metaid="_916248"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="BRafActive" metaid="_916260"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916272">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpBRaf </ci>
+                  <ci> BRafActive </ci>
+                  <ci> MekInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> MekInactive </ci>
+                  <ci> KmpBRaf </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="ErkActivationReaction" name="Erk activation" metaid="metaid_0000096">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000096">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000187"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004708"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="ErkInactive" metaid="_916284"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="ErkActive" metaid="_916296"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="MekActive" metaid="_916308"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916320">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpMekCytoplasmic </ci>
+                  <ci> MekActive </ci>
+                  <ci> ErkInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> ErkInactive </ci>
+                  <ci> KmpMekCytoplasmic </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="MekDeactivationReaction" name="Mek deactivation" metaid="metaid_0000097">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000097">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MekActive" metaid="_916332"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MekInactive" metaid="_916344"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="PP2AActive" metaid="_916356"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916368">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdMek </ci>
+                  <ci> PP2AActive </ci>
+                  <ci> MekActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> MekActive </ci>
+                  <ci> KmdMek </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="ErkDeactivationReaction" name="Erk deactivation" metaid="metaid_0000098">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000098">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000188"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="ErkActive" metaid="_916380"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="ErkInactive" metaid="_916392"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="PP2AActive" metaid="_916404"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916416">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdErk </ci>
+                  <ci> PP2AActive </ci>
+                  <ci> ErkActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> ErkActive </ci>
+                  <ci> KmdErk </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Raf1byPPtaseDeactivationReaction" name="Raf1 deactivation by PPase" metaid="metaid_0000099">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000099">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Raf1Active" metaid="_916428"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Raf1Inactive" metaid="_916440"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Raf1PPtase" metaid="_916452"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916464">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdRaf1 </ci>
+                  <ci> Raf1PPtase </ci>
+                  <ci> Raf1Active </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Raf1Active </ci>
+                  <ci> KmdRaf1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="P90RskActivationReaction" name="P90Rsk activation" metaid="metaid_0000100">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000100">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004707"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="P90RskInactive" metaid="_916476"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P90RskActive" metaid="_916488"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="ErkActive" metaid="_916500"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916512">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpP90Rsk </ci>
+                  <ci> ErkActive </ci>
+                  <ci> P90RskInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> P90RskInactive </ci>
+                  <ci> KmpP90Rsk </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="PI3KbyEGFRActivationReaction" name="PI3K activation by EGFR" metaid="metaid_0000101">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000101">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PI3KInactive" metaid="_916524"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PI3KActive" metaid="_916536"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundEGFReceptor" metaid="_916548"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916560">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kPI3K </ci>
+                  <ci> boundEGFReceptor </ci>
+                  <ci> PI3KInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> PI3KInactive </ci>
+                  <ci> KmPI3K </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="PI3KbyRasActivationReaction" name="PI3K activation by Ras" metaid="metaid_0000102">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000102">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PI3KInactive" metaid="_916572"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PI3KActive" metaid="_916584"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RasActive" metaid="_916596"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916608">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kPI3KRas </ci>
+                  <ci> RasActive </ci>
+                  <ci> PI3KInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> PI3KInactive </ci>
+                  <ci> KmPI3KRas </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="AktActivationReaction" name="Akt activation" metaid="metaid_0000103">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000103">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0045860"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="AktInactive" metaid="_916620"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="AktActive" metaid="_916632"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="PI3KActive" metaid="_916644"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916656">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kAkt </ci>
+                  <ci> PI3KActive </ci>
+                  <ci> AktInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> AktInactive </ci>
+                  <ci> KmAkt </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Raf1ByAktDeactivationReaction" name="Raf1 deactivation by Akt" metaid="metaid_0000104">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000104">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Raf1Active" metaid="_916669"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Raf1Inactive" metaid="_916681"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="AktActive" metaid="_916693"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916705">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdRaf1ByAkt </ci>
+                  <ci> AktActive </ci>
+                  <ci> Raf1Active </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Raf1Active </ci>
+                  <ci> KmRaf1ByAkt </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="C3GActivationReaction" name="C3G activation" metaid="metaid_0000105">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000105">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004716"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="C3GInactive" metaid="_916717"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C3GActive" metaid="_916729"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundNGFReceptor" metaid="_916741"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916753">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kC3GNGF </ci>
+                  <ci> boundNGFReceptor </ci>
+                  <ci> C3GInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> C3GInactive </ci>
+                  <ci> KmC3GNGF </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Rap1ActivationReaction" name="Rap1 activation" metaid="metaid_0000106">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000106">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0046582"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Rap1Inactive" metaid="_916765"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Rap1Active" metaid="_916777"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="C3GActive" metaid="_916789"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916801">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kC3G </ci>
+                  <ci> C3GActive </ci>
+                  <ci> Rap1Inactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Rap1Inactive </ci>
+                  <ci> KmC3G </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Rap1DeactivationReaction" name="Rap1 deactivation" metaid="metaid_0000107">
+        <listOfReactants>
+          <speciesReference species="Rap1Active" metaid="_916814"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Rap1Inactive" metaid="_916826"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RapGapActive" metaid="_916838"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916850">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRapGap </ci>
+                  <ci> RapGapActive </ci>
+                  <ci> Rap1Active </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Rap1Active </ci>
+                  <ci> KmRapGap </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="BRafByRap1ActivationReaction" name="BRaf activation by Rap1" metaid="metaid_0000108">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000108">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="BRafInactive" metaid="_916862"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="BRafActive" metaid="_916874"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Rap1Active" metaid="_916886"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916898">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRap1ToBRaf </ci>
+                  <ci> Rap1Active </ci>
+                  <ci> BRafInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> BRafInactive </ci>
+                  <ci> KmRap1ToBRaf </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="BRafbyPPtaseDeactivationReaction" name="BRaf deactivation by PPase" metaid="metaid_0000109">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000109">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="BRafActive" metaid="_916911"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="BRafInactive" metaid="_916924"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Raf1PPtase" metaid="_916937"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916949">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdBRaf </ci>
+                  <ci> Raf1PPtase </ci>
+                  <ci> BRafActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> BRafActive </ci>
+                  <ci> KmdBRaf </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/jana_wolf/Jana_WolfGlycolysis.xml b/autotest/python-benchmark-bioinf/jana_wolf/Jana_WolfGlycolysis.xml
new file mode 100644
index 0000000..0348e07
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/jana_wolf/Jana_WolfGlycolysis.xml
@@ -0,0 +1,2803 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Created on: 1/11/2014 8:29:19 AM-->
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" version="1" xmlns:jd2="http://www.sys-bio.org/sbml/jd2">
+  <!--                     -->
+  <!--  Model Starts Here  -->
+  <!--                     -->
+  <model id="Jana_WolfGlycolysis" name="JanaWolf Glycolysis">
+    <annotation>
+      <jd2:JDesignerLayout version="2.0" MajorVersion="2" MinorVersion="3" BuildVersion="45" xmlns:jd2="http://www.sys-bio.org/sbml/jd2">
+        <jd2:header>
+          <jd2:VersionHeader JDesignerVersion="1.0" />
+          <jd2:ModelHeader Author="" ModelVersion="" ModelTitle="JanaWolf Glycolysis" />
+          <jd2:TimeCourseDetails timeStart="0" timeEnd="5" numberOfPoints="500" />
+        </jd2:header>
+        <jd2:JDGraphicsHeader BackGroundColor="FFFFFFEF" />
+        <jd2:listOfCompartments>
+          <jd2:compartment id="compartment" size="1" visible="false">
+            <jd2:boundingBox x="0" y="0" w="0" h="0" />
+            <jd2:membraneStyle thickness="12" color="FF00A5FF" />
+            <jd2:interiorStyle color="FFEEEEFF" />
+            <jd2:text value="compartment" visible="true">
+              <jd2:position rx="-31" ry="-16" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+          </jd2:compartment>
+        </jd2:listOfCompartments>
+        <jd2:listOfSpecies>
+          <jd2:species id="Glucose" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="280" y="84" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="Glucose" visible="true">
+              <jd2:position rx="5" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="54" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="54" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="21" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="fructose_1_6_bisphosphate" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="293" y="202" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="fructose_1_6_bisphosphate" visible="true">
+              <jd2:position rx="4" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="150" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="150" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="69" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="glyceraldehyde_3_phosphate" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="286" y="314" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="glyceraldehyde_3_phosphate" visible="true">
+              <jd2:position rx="3" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="157" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="157" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="72" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="glycerate_3_phosphate" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="302" y="438" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="glycerate_3_phosphate" visible="true">
+              <jd2:position rx="4" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="128" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="128" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="58" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="pyruvate" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="333" y="569" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="pyruvate" visible="true">
+              <jd2:position rx="5" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="57" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="57" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="22" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="Acetyladehyde" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="320" y="652" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="Acetyladehyde" visible="true">
+              <jd2:position rx="5" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="87" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="87" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="37" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="External_acetaldehyde" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="425" y="722" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="External_acetaldehyde" visible="true">
+              <jd2:position rx="3" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="124" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="124" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="56" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="ATP" boundaryCondition="false" compartment="compartment" initialConcentration="3">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="509" y="79" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="ATP" visible="true">
+              <jd2:position rx="5" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="34" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="34" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="11" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtNone" startColor="FFFF7FAA" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+            <jd2:listOfAliasNodes>
+              <jd2:alias name="___ATP_0" x="486" y="530" />
+              <jd2:alias name="___ATP_1" x="486" y="415" />
+            </jd2:listOfAliasNodes>
+          </jd2:species>
+          <jd2:species id="ADP" boundaryCondition="false" compartment="compartment" initialConcentration="1">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="506" y="172" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="ADP" visible="true">
+              <jd2:position rx="4" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="35" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="35" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="11" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtNone" startColor="FFFFD4D4" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+            <jd2:listOfAliasNodes>
+              <jd2:alias name="___ADP_0" x="481" y="475" />
+              <jd2:alias name="___ADP_1" x="477" y="351" />
+            </jd2:listOfAliasNodes>
+          </jd2:species>
+          <jd2:species id="NAD" boundaryCondition="false" compartment="compartment" initialConcentration="0.5">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="138" y="247" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="NAD" visible="true">
+              <jd2:position rx="5" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="36" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="36" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="12" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtNone" startColor="FF7FFF55" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FFC0C0C0" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+            <jd2:listOfAliasNodes>
+              <jd2:alias name="___NAD_0" x="127" y="638" />
+              <jd2:alias name="___NAD_1" x="232" y="356" />
+            </jd2:listOfAliasNodes>
+          </jd2:species>
+          <jd2:species id="NADH" boundaryCondition="false" compartment="compartment" initialConcentration="0.5">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="217" y="598" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="NADH" visible="true">
+              <jd2:position rx="4" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="43" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="43" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="15" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtNone" startColor="FFD4FFAA" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+            <jd2:listOfAliasNodes>
+              <jd2:alias name="___NADH_0" x="253" y="248" />
+              <jd2:alias name="___NADH_1" x="228" y="397" />
+            </jd2:listOfAliasNodes>
+          </jd2:species>
+          <jd2:species id="External_glucose" boundaryCondition="true" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="121" y="61" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="External_glucose" visible="true">
+              <jd2:position rx="3" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="97" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="97" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="42" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="ethanol" boundaryCondition="true" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="137" y="738" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="ethanol" visible="true">
+              <jd2:position rx="4" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="49" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="49" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="18" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="Glycerol" boundaryCondition="true" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="119" y="319" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="Glycerol" visible="true">
+              <jd2:position rx="5" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="54" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="54" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="21" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="Sink" boundaryCondition="true" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="574" y="777" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="Sink" visible="true">
+              <jd2:position rx="5" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="34" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="34" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="11" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+        </jd2:listOfSpecies>
+        <jd2:listOfReactions>
+          <jd2:reaction id="J0" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="External_glucose" stoichiometry="1" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="Glucose" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J0_inputFlux" />
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF969696" lineColor="FFFF9900" lineThickness="2">
+              <jd2:lineType type="ltBezier">
+                <jd2:edge>
+                  <jd2:pt x="169" y="73" type="substrate" speciesRef="External_glucose" />
+                  <jd2:pt x="246" y="91" type="controlPoint" />
+                  <jd2:pt x="247" y="92" type="controlPoint" />
+                  <jd2:pt x="307" y="96" type="product" speciesRef="Glucose" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J1" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="Glucose" stoichiometry="1" />
+              <jd2:speciesReference species="ATP" stoichiometry="2" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="fructose_1_6_bisphosphate" stoichiometry="1" />
+              <jd2:speciesReference species="ADP" stoichiometry="2" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges>
+              <jd2:modifierEdge>
+                <jd2:speciesReference species="ATP" />
+                <jd2:destinationReaction name="J1" regulatorType="rtNegative" relativePosition="0.247058823529412" destinationArcId="2" destinationLineSegmentId="0" />
+                <jd2:display lineThickness="2" lineColor="FF0000FF" lineDashStyle="dsSolid" negativeMarkerStyle="rmBar">
+                  <jd2:lineType type="ltLine">
+                    <jd2:pt x="526" y="91" type="modifier" speciesRef="ATP" />
+                    <jd2:pt x="435" y="155" />
+                  </jd2:lineType>
+                </jd2:display>
+              </jd2:modifierEdge>
+            </jd2:listOfModifierEdges>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J1_k1*Glucose*ATP*(1/(1+pow(ATP/J1_Ki,J1_n)))" />
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF969696" lineColor="FFFF9900" lineThickness="2">
+              <jd2:edgeCenter x="408" y="138" />
+              <jd2:lineType type="ltBezier">
+                <jd2:edge type="substrate">
+                  <jd2:pt x="307" y="96" type="substrate" speciesRef="Glucose" />
+                  <jd2:pt x="372" y="105" type="controlPoint" />
+                  <jd2:pt x="360" y="89" type="controlPoint" />
+                  <jd2:pt x="408" y="138" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="substrate">
+                  <jd2:pt x="526" y="91" type="substrate" speciesRef="ATP" />
+                  <jd2:pt x="449" y="87" type="controlPoint" />
+                  <jd2:pt x="360" y="89" type="controlPoint" />
+                  <jd2:pt x="408" y="138" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="408" y="138" type="centerPoint" />
+                  <jd2:pt x="456" y="187" type="controlPoint" />
+                  <jd2:pt x="413" y="178" type="controlPoint" />
+                  <jd2:pt x="368" y="214" type="product" speciesRef="fructose_1_6_bisphosphate" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="408" y="138" type="centerPoint" />
+                  <jd2:pt x="456" y="187" type="controlPoint" />
+                  <jd2:pt x="456" y="201" type="controlPoint" />
+                  <jd2:pt x="523" y="184" type="product" speciesRef="ADP" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J2" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="fructose_1_6_bisphosphate" stoichiometry="1" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="glyceraldehyde_3_phosphate" stoichiometry="1" />
+              <jd2:speciesReference species="glyceraldehyde_3_phosphate" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="builtin">
+              <jd2:rateEquation value="immUBi" />
+              <jd2:listOfSymbols>
+                <jd2:parameter id="J2_k" value="9.8" />
+              </jd2:listOfSymbols>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF969696" lineColor="FFFF9900" lineThickness="2">
+              <jd2:edgeCenter x="359" y="258" />
+              <jd2:lineType type="ltBezier">
+                <jd2:edge type="substrate">
+                  <jd2:pt x="368" y="214" type="substrate" speciesRef="fructose_1_6_bisphosphate" />
+                  <jd2:pt x="361" y="240" type="controlPoint" />
+                  <jd2:pt x="359" y="241" type="controlPoint" />
+                  <jd2:pt x="359" y="258" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="359" y="258" type="centerPoint" />
+                  <jd2:pt x="359" y="275" type="controlPoint" />
+                  <jd2:pt x="321" y="258" type="controlPoint" />
+                  <jd2:pt x="364" y="326" type="product" speciesRef="glyceraldehyde_3_phosphate" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="359" y="258" type="centerPoint" />
+                  <jd2:pt x="359" y="275" type="controlPoint" />
+                  <jd2:pt x="395" y="261" type="controlPoint" />
+                  <jd2:pt x="364" y="326" type="product" speciesRef="glyceraldehyde_3_phosphate" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J3" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="glyceraldehyde_3_phosphate" stoichiometry="1" />
+              <jd2:speciesReference species="NADH" stoichiometry="1">
+                <jd2:aliasRef aliasRef="___NADH_0" />
+              </jd2:speciesReference>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="NAD" stoichiometry="1" />
+              <jd2:speciesReference species="Glycerol" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="builtin">
+              <jd2:rateEquation value="immBiBi" />
+              <jd2:listOfSymbols>
+                <jd2:parameter id="J3_k" value="85.7" />
+              </jd2:listOfSymbols>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF969696" lineColor="FFFF9900" lineThickness="2">
+              <jd2:edgeCenter x="227" y="313" />
+              <jd2:lineType type="ltBezier">
+                <jd2:edge type="substrate">
+                  <jd2:pt x="364" y="326" type="substrate" speciesRef="glyceraldehyde_3_phosphate" />
+                  <jd2:pt x="238" y="312" type="controlPoint" />
+                  <jd2:pt x="260" y="311" type="controlPoint" />
+                  <jd2:pt x="227" y="313" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="substrate">
+                  <jd2:pt x="274" y="260" type="substrate" speciesRef="NADH" />
+                  <jd2:pt x="270" y="296" type="controlPoint" />
+                  <jd2:pt x="260" y="311" type="controlPoint" />
+                  <jd2:pt x="227" y="313" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="227" y="313" type="centerPoint" />
+                  <jd2:pt x="194" y="315" type="controlPoint" />
+                  <jd2:pt x="176" y="304" type="controlPoint" />
+                  <jd2:pt x="156" y="259" type="product" speciesRef="NAD" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="227" y="313" type="centerPoint" />
+                  <jd2:pt x="194" y="315" type="controlPoint" />
+                  <jd2:pt x="195" y="318" type="controlPoint" />
+                  <jd2:pt x="146" y="331" type="product" speciesRef="Glycerol" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J4" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="glyceraldehyde_3_phosphate" stoichiometry="1" />
+              <jd2:speciesReference species="ADP" stoichiometry="1">
+                <jd2:aliasRef aliasRef="___ADP_1" />
+              </jd2:speciesReference>
+              <jd2:speciesReference species="NAD" stoichiometry="1">
+                <jd2:aliasRef aliasRef="___NAD_1" />
+              </jd2:speciesReference>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="ATP" stoichiometry="1">
+                <jd2:aliasRef aliasRef="___ATP_1" />
+              </jd2:speciesReference>
+              <jd2:speciesReference species="glycerate_3_phosphate" stoichiometry="1" />
+              <jd2:speciesReference species="NADH" stoichiometry="1">
+                <jd2:aliasRef aliasRef="___NADH_1" />
+              </jd2:speciesReference>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(J4_kg*J4_kp*glyceraldehyde_3_phosphate*NAD*ADP-J4_ka*J4_kk*glycerate_3_phosphate*ATP*NADH)/(J4_ka*NADH+J4_kp*ADP)" />
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF969696" lineColor="FFFF9900" lineThickness="2">
+              <jd2:edgeCenter x="359" y="384" />
+              <jd2:lineType type="ltBezier">
+                <jd2:edge type="substrate">
+                  <jd2:pt x="364" y="326" type="substrate" speciesRef="glyceraldehyde_3_phosphate" />
+                  <jd2:pt x="359" y="345" type="controlPoint" />
+                  <jd2:pt x="359" y="353" type="controlPoint" />
+                  <jd2:pt x="359" y="384" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="substrate">
+                  <jd2:pt x="494" y="363" type="substrate" speciesRef="ADP" />
+                  <jd2:pt x="459" y="385" type="controlPoint" />
+                  <jd2:pt x="359" y="353" type="controlPoint" />
+                  <jd2:pt x="359" y="384" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="substrate">
+                  <jd2:pt x="250" y="368" type="substrate" speciesRef="NAD" />
+                  <jd2:pt x="289" y="389" type="controlPoint" />
+                  <jd2:pt x="359" y="353" type="controlPoint" />
+                  <jd2:pt x="359" y="384" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="359" y="384" type="centerPoint" />
+                  <jd2:pt x="359" y="415" type="controlPoint" />
+                  <jd2:pt x="418" y="383" type="controlPoint" />
+                  <jd2:pt x="503" y="427" type="product" speciesRef="ATP" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="359" y="384" type="centerPoint" />
+                  <jd2:pt x="359" y="415" type="controlPoint" />
+                  <jd2:pt x="359" y="400" type="controlPoint" />
+                  <jd2:pt x="366" y="450" type="product" speciesRef="glycerate_3_phosphate" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="359" y="384" type="centerPoint" />
+                  <jd2:pt x="359" y="415" type="controlPoint" />
+                  <jd2:pt x="323" y="396" type="controlPoint" />
+                  <jd2:pt x="249" y="409" type="product" speciesRef="NADH" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J5" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="glycerate_3_phosphate" stoichiometry="1" />
+              <jd2:speciesReference species="ADP" stoichiometry="1">
+                <jd2:aliasRef aliasRef="___ADP_0" />
+              </jd2:speciesReference>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="ATP" stoichiometry="1">
+                <jd2:aliasRef aliasRef="___ATP_0" />
+              </jd2:speciesReference>
+              <jd2:speciesReference species="pyruvate" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="builtin">
+              <jd2:rateEquation value="immBiBi" />
+              <jd2:listOfSymbols>
+                <jd2:parameter id="J5_k" value="80" />
+              </jd2:listOfSymbols>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF969696" lineColor="FFFF9900" lineThickness="2">
+              <jd2:edgeCenter x="355" y="514" />
+              <jd2:lineType type="ltBezier">
+                <jd2:edge type="substrate">
+                  <jd2:pt x="366" y="450" type="substrate" speciesRef="glycerate_3_phosphate" />
+                  <jd2:pt x="355" y="481" type="controlPoint" />
+                  <jd2:pt x="355" y="470" type="controlPoint" />
+                  <jd2:pt x="355" y="514" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="substrate">
+                  <jd2:pt x="498" y="487" type="substrate" speciesRef="ADP" />
+                  <jd2:pt x="431" y="487" type="controlPoint" />
+                  <jd2:pt x="355" y="470" type="controlPoint" />
+                  <jd2:pt x="355" y="514" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="355" y="514" type="centerPoint" />
+                  <jd2:pt x="355" y="558" type="controlPoint" />
+                  <jd2:pt x="424" y="534" type="controlPoint" />
+                  <jd2:pt x="503" y="542" type="product" speciesRef="ATP" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="355" y="514" type="centerPoint" />
+                  <jd2:pt x="355" y="558" type="controlPoint" />
+                  <jd2:pt x="355" y="540" type="controlPoint" />
+                  <jd2:pt x="361" y="581" type="product" speciesRef="pyruvate" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J6" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="pyruvate" stoichiometry="1" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="Acetyladehyde" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="builtin">
+              <jd2:rateEquation value="imm" />
+              <jd2:listOfSymbols>
+                <jd2:parameter id="J6_k" value="9.7" />
+              </jd2:listOfSymbols>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF969696" lineColor="FFFF9900" lineThickness="2">
+              <jd2:lineType type="ltBezier">
+                <jd2:edge>
+                  <jd2:pt x="361" y="581" type="substrate" speciesRef="pyruvate" />
+                  <jd2:pt x="355" y="617" type="controlPoint" />
+                  <jd2:pt x="355" y="617" type="controlPoint" />
+                  <jd2:pt x="363" y="664" type="product" speciesRef="Acetyladehyde" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J7" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="Acetyladehyde" stoichiometry="1" />
+              <jd2:speciesReference species="NADH" stoichiometry="1" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="NAD" stoichiometry="1">
+                <jd2:aliasRef aliasRef="___NAD_0" />
+              </jd2:speciesReference>
+              <jd2:speciesReference species="ethanol" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="builtin">
+              <jd2:rateEquation value="immBiBi" />
+              <jd2:listOfSymbols>
+                <jd2:parameter id="J7_k" value="2000" />
+              </jd2:listOfSymbols>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF969696" lineColor="FFFF9900" lineThickness="2">
+              <jd2:edgeCenter x="230" y="680" />
+              <jd2:lineType type="ltBezier">
+                <jd2:edge type="substrate">
+                  <jd2:pt x="363" y="664" type="substrate" speciesRef="Acetyladehyde" />
+                  <jd2:pt x="280" y="666" type="controlPoint" />
+                  <jd2:pt x="274" y="662" type="controlPoint" />
+                  <jd2:pt x="230" y="680" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="substrate">
+                  <jd2:pt x="238" y="610" type="substrate" speciesRef="NADH" />
+                  <jd2:pt x="250" y="641" type="controlPoint" />
+                  <jd2:pt x="274" y="662" type="controlPoint" />
+                  <jd2:pt x="230" y="680" type="centerPoint" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="230" y="680" type="centerPoint" />
+                  <jd2:pt x="186" y="698" type="controlPoint" />
+                  <jd2:pt x="181" y="681" type="controlPoint" />
+                  <jd2:pt x="145" y="650" type="product" speciesRef="NAD" />
+                </jd2:edge>
+                <jd2:edge type="product">
+                  <jd2:pt x="230" y="680" type="centerPoint" />
+                  <jd2:pt x="186" y="698" type="controlPoint" />
+                  <jd2:pt x="176" y="702" type="controlPoint" />
+                  <jd2:pt x="161" y="750" type="product" speciesRef="ethanol" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J8" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="Acetyladehyde" stoichiometry="1" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="External_acetaldehyde" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="builtin">
+              <jd2:rateEquation value="rmm" />
+              <jd2:listOfSymbols>
+                <jd2:parameter id="J8_k1" value="375" />
+                <jd2:parameter id="J8_k2" value="375" />
+              </jd2:listOfSymbols>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF969696" lineColor="FFFF9900" lineThickness="2">
+              <jd2:lineType type="ltBezier">
+                <jd2:edge>
+                  <jd2:pt x="363" y="664" type="substrate" speciesRef="Acetyladehyde" />
+                  <jd2:pt x="418" y="694" type="controlPoint" />
+                  <jd2:pt x="418" y="694" type="controlPoint" />
+                  <jd2:pt x="487" y="734" type="product" speciesRef="External_acetaldehyde" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J9" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="ATP" stoichiometry="1" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="ADP" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="builtin">
+              <jd2:rateEquation value="imm" />
+              <jd2:listOfSymbols>
+                <jd2:parameter id="J9_k" value="28" />
+              </jd2:listOfSymbols>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF969696" lineColor="FFFF9900" lineThickness="2">
+              <jd2:lineType type="ltBezier">
+                <jd2:edge>
+                  <jd2:pt x="526" y="91" type="substrate" speciesRef="ATP" />
+                  <jd2:pt x="604" y="133" type="controlPoint" />
+                  <jd2:pt x="607" y="136" type="controlPoint" />
+                  <jd2:pt x="523" y="184" type="product" speciesRef="ADP" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J10" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="External_acetaldehyde" stoichiometry="1" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="Sink" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="builtin">
+              <jd2:rateEquation value="imm" />
+              <jd2:listOfSymbols>
+                <jd2:parameter id="J10_k" value="80" />
+              </jd2:listOfSymbols>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF969696" lineColor="FFFF9900" lineThickness="2">
+              <jd2:lineType type="ltBezier">
+                <jd2:edge>
+                  <jd2:pt x="487" y="734" type="substrate" speciesRef="External_acetaldehyde" />
+                  <jd2:pt x="532" y="756" type="controlPoint" />
+                  <jd2:pt x="532" y="756" type="controlPoint" />
+                  <jd2:pt x="591" y="789" type="product" speciesRef="Sink" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+        </jd2:listOfReactions>
+      </jd2:JDesignerLayout>
+      <listOfLayouts xmlns="http://projects.eml.org/bcb/sbml/level2">
+        <layout id="JDesigner2_0" xmlns="http://projects.eml.org/bcb/sbml/level2">
+          <!--Created by SBW SBML LayoutViewer/Manipulator-->
+          <annotation>
+            <listOfRenderStyles xmlns="http://sys-bio.org/xml/render/level1">
+              <renderStyle id="RenderStyle_0">
+                <fillStyle fillType="Solid" startColor="ffffffef" />
+                <listOfSpeciesStyles>
+                  <speciesStyle id="sStyle_0" reference="sGlyph_0">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="54" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_1" reference="sGlyph_1">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="150" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_2" reference="sGlyph_2">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="157" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_3" reference="sGlyph_3">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="128" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_4" reference="sGlyph_4">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="57" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_5" reference="sGlyph_5">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="87" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_6" reference="sGlyph_6">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="124" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_7" reference="sGlyph_7">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ffff7faa" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="34" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_8" reference="sGlyph_8">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ffffd4d4" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="35" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_9" reference="sGlyph_9">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ff7fff55" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="36" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ffc0c0c0" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_10" reference="sGlyph_10">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ffd4ffaa" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="43" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_11" reference="sGlyph_11">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="97" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff000000" thickness="3" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_12" reference="sGlyph_12">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="49" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff000000" thickness="3" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_13" reference="sGlyph_13">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="54" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff000000" thickness="3" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_14" reference="sGlyph_14">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="34" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff000000" thickness="3" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_7_alias_0" reference="sGlyph_7_alias_0">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ffff7faa" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="34" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_7_alias_1" reference="sGlyph_7_alias_1">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ffff7faa" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="34" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_8_alias_2" reference="sGlyph_8_alias_2">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ffffd4d4" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="35" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_8_alias_3" reference="sGlyph_8_alias_3">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ffffd4d4" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="35" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_9_alias_4" reference="sGlyph_9_alias_4">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ff7fff55" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="36" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ffc0c0c0" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_9_alias_5" reference="sGlyph_9_alias_5">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ff7fff55" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="36" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ffc0c0c0" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_10_alias_6" reference="sGlyph_10_alias_6">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ffd4ffaa" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="43" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_10_alias_7" reference="sGlyph_10_alias_7">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="Solid" startColor="ffd4ffaa" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="43" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                </listOfSpeciesStyles>
+                <listOfReactionStyles>
+                  <reactionStyle id="rStyle_0" reference="rGlyph_0">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ff969696" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff9900" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_1" reference="rGlyph_1">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ff969696" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff9900" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_2" reference="rGlyph_2">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ff969696" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff9900" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_3" reference="rGlyph_3">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ff969696" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff9900" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_4" reference="rGlyph_4">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ff969696" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff9900" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_5" reference="rGlyph_5">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ff969696" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff9900" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_6" reference="rGlyph_6">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ff969696" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff9900" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_7" reference="rGlyph_7">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ff969696" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff9900" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_8" reference="rGlyph_8">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ff969696" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff9900" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_9" reference="rGlyph_9">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ff969696" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff9900" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_10" reference="rGlyph_10">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ff969696" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff9900" thickness="2" style="Solid" />
+                  </reactionStyle>
+                </listOfReactionStyles>
+                <listOfTextStyles>
+                  <textStyle>
+                    <fontStyle id="tStyle_0" reference="tGlyph_0" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_1" reference="tGlyph_1" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_2" reference="tGlyph_2" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_3" reference="tGlyph_3" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_4" reference="tGlyph_4" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_5" reference="tGlyph_5" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_6" reference="tGlyph_6" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_7" reference="tGlyph_7" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_8" reference="tGlyph_10" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_9" reference="tGlyph_13" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_10" reference="tGlyph_16" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_11" reference="tGlyph_19" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_12" reference="tGlyph_20" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_13" reference="tGlyph_21" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_14" reference="tGlyph_22" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="_alias_0" reference="sGlyph_7_alias_0_text" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="_alias_1" reference="sGlyph_7_alias_1_text" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="_alias_2" reference="sGlyph_8_alias_2_text" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="_alias_3" reference="sGlyph_8_alias_3_text" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="_alias_4" reference="sGlyph_9_alias_4_text" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="_alias_5" reference="sGlyph_9_alias_5_text" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="_alias_6" reference="sGlyph_10_alias_6_text" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="_alias_7" reference="sGlyph_10_alias_7_text" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                </listOfTextStyles>
+                <listOfGroups>
+                  <group groupName="alias">
+                    <reference id="___ATP_0" reference="tGlyph_7" glyphType="SpeciesGlyph" SReferenceGlyph="sGlyph_7" SReferenceStyle="sStyle_7">
+                      <boundingBox>
+                        <position x="486" y="530" />
+                        <dimensions width="34" height="24" />
+                      </boundingBox>
+                    </reference>
+                    <reference id="___ATP_1" reference="tGlyph_7" glyphType="SpeciesGlyph" SReferenceGlyph="sGlyph_7" SReferenceStyle="sStyle_7">
+                      <boundingBox>
+                        <position x="486" y="415" />
+                        <dimensions width="34" height="24" />
+                      </boundingBox>
+                    </reference>
+                    <reference id="___ADP_0" reference="tGlyph_10" glyphType="SpeciesGlyph" SReferenceGlyph="sGlyph_8" SReferenceStyle="sStyle_8">
+                      <boundingBox>
+                        <position x="481" y="475" />
+                        <dimensions width="35" height="24" />
+                      </boundingBox>
+                    </reference>
+                    <reference id="___ADP_1" reference="tGlyph_10" glyphType="SpeciesGlyph" SReferenceGlyph="sGlyph_8" SReferenceStyle="sStyle_8">
+                      <boundingBox>
+                        <position x="477" y="351" />
+                        <dimensions width="35" height="24" />
+                      </boundingBox>
+                    </reference>
+                    <reference id="___NAD_0" reference="tGlyph_13" glyphType="SpeciesGlyph" SReferenceGlyph="sGlyph_9" SReferenceStyle="sStyle_9">
+                      <boundingBox>
+                        <position x="127" y="638" />
+                        <dimensions width="36" height="24" />
+                      </boundingBox>
+                    </reference>
+                    <reference id="___NAD_1" reference="tGlyph_13" glyphType="SpeciesGlyph" SReferenceGlyph="sGlyph_9" SReferenceStyle="sStyle_9">
+                      <boundingBox>
+                        <position x="232" y="356" />
+                        <dimensions width="36" height="24" />
+                      </boundingBox>
+                    </reference>
+                    <reference id="___NADH_0" reference="tGlyph_16" glyphType="SpeciesGlyph" SReferenceGlyph="sGlyph_10" SReferenceStyle="sStyle_10">
+                      <boundingBox>
+                        <position x="253" y="248" />
+                        <dimensions width="43" height="24" />
+                      </boundingBox>
+                    </reference>
+                    <reference id="___NADH_1" reference="tGlyph_16" glyphType="SpeciesGlyph" SReferenceGlyph="sGlyph_10" SReferenceStyle="sStyle_10">
+                      <boundingBox>
+                        <position x="228" y="397" />
+                        <dimensions width="43" height="24" />
+                      </boundingBox>
+                    </reference>
+                  </group>
+                </listOfGroups>
+              </renderStyle>
+            </listOfRenderStyles>
+            <listOfRenderInformation xmlns="http://projects.eml.org/bcb/sbml/render/level2">
+              <renderInformation id="ConvertedRenderStyle" programName="SBML Layout Viewer - SBW version" programVersion="2.7.5121.21120 Compiled on: 1/9/2014 11:44:00 AM">
+                <listOfColorDefinitions>
+                  <colorDefinition id="Color_0" value="#969696" />
+                  <colorDefinition id="Color_1" value="#ff7faa" />
+                  <colorDefinition id="Color_2" value="#ffd4d4" />
+                  <colorDefinition id="Color_3" value="#7fff55" />
+                  <colorDefinition id="Color_4" value="#c0c0c0" />
+                  <colorDefinition id="Color_5" value="#d4ffaa" />
+                  <colorDefinition id="Color_6" value="#000000" />
+                  <colorDefinition id="Color_7" value="#ff9900" />
+                </listOfColorDefinitions>
+                <listOfGradientDefinitions>
+                  <linearGradient x1="0%" y1="0%" z1="0%" x2="100%" y2="0%" z2="100%" id="LinearGradient_0" spreadMethod="reflect">
+                    <stop offset="0%" stop-color="#ccffff" />
+                    <stop offset="100%" stop-color="#ffffff" />
+                  </linearGradient>
+                </listOfGradientDefinitions>
+                <listOfLineEndings>
+                  <lineEnding id="product" enableRotationalMapping="true">
+                    <boundingBox>
+                      <position x="-10" y="-5" />
+                      <dimensions width="10" height="10" />
+                    </boundingBox>
+                    <g stroke="Color_7" stroke-width="0.001" fill="Color_7" font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <polygon>
+                        <listOfCurveSegments>
+                          <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                            <start x="0%" y="0%" />
+                            <end x="100%" y="50%" />
+                          </curveSegment>
+                          <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                            <start x="100%" y="50%" />
+                            <end x="0%" y="100%" />
+                          </curveSegment>
+                          <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                            <start x="0%" y="100%" />
+                            <end x="33%" y="50%" />
+                          </curveSegment>
+                          <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                            <start x="33%" y="50%" />
+                            <end x="0%" y="0%" />
+                          </curveSegment>
+                        </listOfCurveSegments>
+                      </polygon>
+                    </g>
+                  </lineEnding>
+                  <lineEnding id="inhibitor" enableRotationalMapping="true">
+                    <boundingBox>
+                      <position x="-0.5" y="-4" />
+                      <dimensions width="0.6" height="8" />
+                    </boundingBox>
+                    <g stroke="Color_7" stroke-width="2" font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <polygon>
+                        <listOfElements>
+                          <element xsi:type="RenderPoint" x="0" y="0" z="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
+                          <element xsi:type="RenderPoint" x="0.3" y="0" z="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
+                          <element xsi:type="RenderPoint" x="0.3" y="8" z="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
+                          <element xsi:type="RenderPoint" x="0" y="8" z="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
+                        </listOfElements>
+                      </polygon>
+                    </g>
+                  </lineEnding>
+                </listOfLineEndings>
+                <listOfStyles>
+                  <style idList="sGlyph_0">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_0" stroke-width="1" fill="LinearGradient_0" x="0" y="0" width="54" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_1">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_0" stroke-width="1" fill="LinearGradient_0" x="0" y="0" width="150" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_2">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_0" stroke-width="1" fill="LinearGradient_0" x="0" y="0" width="157" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_3">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_0" stroke-width="1" fill="LinearGradient_0" x="0" y="0" width="128" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_4">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_0" stroke-width="1" fill="LinearGradient_0" x="0" y="0" width="57" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_5">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_0" stroke-width="1" fill="LinearGradient_0" x="0" y="0" width="87" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_6">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_0" stroke-width="1" fill="LinearGradient_0" x="0" y="0" width="124" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_7 sGlyph_7_alias_0 sGlyph_7_alias_1">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_0" stroke-width="1" fill="Color_1" x="0" y="0" width="34" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_8 sGlyph_8_alias_2 sGlyph_8_alias_3">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_0" stroke-width="1" fill="Color_2" x="0" y="0" width="35" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_9 sGlyph_9_alias_4 sGlyph_9_alias_5">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_4" stroke-width="1" fill="Color_3" x="0" y="0" width="36" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_10 sGlyph_10_alias_6 sGlyph_10_alias_7">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_0" stroke-width="1" fill="Color_5" x="0" y="0" width="43" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_11">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_6" stroke-width="3" fill="LinearGradient_0" x="0" y="0" width="97" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_12">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_6" stroke-width="3" fill="LinearGradient_0" x="0" y="0" width="49" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_13">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_6" stroke-width="3" fill="LinearGradient_0" x="0" y="0" width="54" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_14">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_6" stroke-width="3" fill="LinearGradient_0" x="0" y="0" width="34" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style roleList=" product">
+                    <g stroke="Color_7" stroke-width="2" font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top" endHead="product" />
+                  </style>
+                  <style roleList="substrate sidesubstrate" idList="rGlyph_0 rGlyph_1 rGlyph_2 rGlyph_3 rGlyph_4 rGlyph_5 rGlyph_6 rGlyph_7 rGlyph_8 rGlyph_9 rGlyph_10">
+                    <g stroke="Color_7" stroke-width="2" font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top" />
+                  </style>
+                  <style roleList=" inhibitor">
+                    <g stroke="Color_7" stroke-width="2" font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top" endHead="inhibitor" />
+                  </style>
+                  <style idList="tGlyph_0 tGlyph_1 tGlyph_2 tGlyph_3 tGlyph_4 tGlyph_5 tGlyph_6 tGlyph_7 tGlyph_10 tGlyph_13 tGlyph_16 tGlyph_19 tGlyph_20 tGlyph_21 tGlyph_22 sGlyph_7_alias_0_text sGlyph_7_alias_1_text sGlyph_8_alias_2_text sGlyph_8_alias_3_text sGlyph_9_alias_4_text sGlyph_9_alias_5_text sGlyph_10_alias_6_text sGlyph_10_alias_7_text">
+                    <g stroke="Color_6" font-family="Arial" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" vtext-anchor="top" />
+                  </style>
+                </listOfStyles>
+              </renderInformation>
+            </listOfRenderInformation>
+          </annotation>
+          <dimensions width="727" height="862.5" />
+          <listOfSpeciesGlyphs>
+            <speciesGlyph id="sGlyph_0" species="Glucose">
+              <boundingBox>
+                <position x="280" y="84" />
+                <dimensions width="54" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_1" species="fructose_1_6_bisphosphate">
+              <boundingBox>
+                <position x="293" y="202" />
+                <dimensions width="150" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_2" species="glyceraldehyde_3_phosphate">
+              <boundingBox>
+                <position x="286" y="314" />
+                <dimensions width="157" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_3" species="glycerate_3_phosphate">
+              <boundingBox>
+                <position x="302" y="438" />
+                <dimensions width="128" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_4" species="pyruvate">
+              <boundingBox>
+                <position x="333" y="569" />
+                <dimensions width="57" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_5" species="Acetyladehyde">
+              <boundingBox>
+                <position x="320" y="652" />
+                <dimensions width="87" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_6" species="External_acetaldehyde">
+              <boundingBox>
+                <position x="425" y="722" />
+                <dimensions width="124" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_7" species="ATP">
+              <boundingBox>
+                <position x="509" y="79" />
+                <dimensions width="34" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_8" species="ADP">
+              <boundingBox>
+                <position x="506" y="172" />
+                <dimensions width="35" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_9" species="NAD">
+              <boundingBox>
+                <position x="138" y="247" />
+                <dimensions width="36" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_10" species="NADH">
+              <boundingBox>
+                <position x="217" y="598" />
+                <dimensions width="43" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_11" species="External_glucose">
+              <boundingBox>
+                <position x="121" y="61" />
+                <dimensions width="97" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_12" species="ethanol">
+              <boundingBox>
+                <position x="137" y="738" />
+                <dimensions width="49" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_13" species="Glycerol">
+              <boundingBox>
+                <position x="119" y="319" />
+                <dimensions width="54" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_14" species="Sink">
+              <boundingBox>
+                <position x="574" y="777" />
+                <dimensions width="34" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_7_alias_0" species="ATP">
+              <boundingBox>
+                <position x="486" y="530" />
+                <dimensions width="34" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_7_alias_1" species="ATP">
+              <boundingBox>
+                <position x="486" y="415" />
+                <dimensions width="34" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_8_alias_2" species="ADP">
+              <boundingBox>
+                <position x="481" y="475" />
+                <dimensions width="35" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_8_alias_3" species="ADP">
+              <boundingBox>
+                <position x="477" y="351" />
+                <dimensions width="35" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_9_alias_4" species="NAD">
+              <boundingBox>
+                <position x="127" y="638" />
+                <dimensions width="36" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_9_alias_5" species="NAD">
+              <boundingBox>
+                <position x="232" y="356" />
+                <dimensions width="36" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_10_alias_6" species="NADH">
+              <boundingBox>
+                <position x="253" y="248" />
+                <dimensions width="43" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_10_alias_7" species="NADH">
+              <boundingBox>
+                <position x="228" y="397" />
+                <dimensions width="43" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+          </listOfSpeciesGlyphs>
+          <listOfReactionGlyphs>
+            <reactionGlyph id="rGlyph_0" reaction="J0">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J0_0" render:objectRole="product" speciesReference="Glucose" speciesGlyph="sGlyph_0" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="225" y="85.4117647058823" />
+                        <end x="273" y="94.2" />
+                        <basePoint1 x="246" y="91" />
+                        <basePoint2 x="247" y="92" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J0_2" render:objectRole="substrate" speciesReference="External_glucose" speciesGlyph="sGlyph_11" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_1" reaction="J1">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J1_0" render:objectRole="product" speciesReference="fructose_1_6_bisphosphate" speciesGlyph="sGlyph_1" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="408" y="138" />
+                        <end x="389" y="198" />
+                        <basePoint1 x="456" y="187" />
+                        <basePoint2 x="413" y="178" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J1_1" render:objectRole="product" speciesReference="ADP" speciesGlyph="sGlyph_8" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="408" y="138" />
+                        <end x="499" y="189.407407407407" />
+                        <basePoint1 x="456" y="187" />
+                        <basePoint2 x="456" y="201" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J1_3" render:objectRole="substrate" speciesReference="Glucose" speciesGlyph="sGlyph_0" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="341" y="100.738461538462" />
+                        <end x="408" y="138" />
+                        <basePoint1 x="372" y="105" />
+                        <basePoint2 x="360" y="89" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J1_4" render:objectRole="substrate" speciesReference="ATP" speciesGlyph="sGlyph_7" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="502" y="90.1168831168831" />
+                        <end x="408" y="138" />
+                        <basePoint1 x="449" y="87" />
+                        <basePoint2 x="360" y="89" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J1_5" render:objectRole="inhibitor" speciesReference="ATP" speciesGlyph="sGlyph_7" role="inhibitor" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="503" y="106.956043956044" />
+                        <end x="435" y="155" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_2" reaction="J2">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J2_0" render:objectRole="product" speciesReference="glyceraldehyde_3_phosphate" speciesGlyph="sGlyph_2" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="359" y="258" />
+                        <end x="352.823529411765" y="308" />
+                        <basePoint1 x="359" y="275" />
+                        <basePoint2 x="321" y="258" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J2_1" render:objectRole="product" speciesReference="glyceraldehyde_3_phosphate" speciesGlyph="sGlyph_2" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="359" y="258" />
+                        <end x="373.130769230769" y="307" />
+                        <basePoint1 x="359" y="275" />
+                        <basePoint2 x="395" y="261" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J2_3" render:objectRole="substrate" speciesReference="fructose_1_6_bisphosphate" speciesGlyph="sGlyph_1" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="362.769230769231" y="233" />
+                        <end x="359" y="258" />
+                        <basePoint1 x="361" y="240" />
+                        <basePoint2 x="359" y="241" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_3" reaction="J3">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J3_0" render:objectRole="product" speciesReference="NAD" speciesGlyph="sGlyph_9" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="227" y="313" />
+                        <end x="164.333333333333" y="278" />
+                        <basePoint1 x="194" y="315" />
+                        <basePoint2 x="176" y="304" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J3_1" render:objectRole="product" speciesReference="Glycerol" speciesGlyph="sGlyph_13" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="227" y="313" />
+                        <end x="180" y="321.836734693878" />
+                        <basePoint1 x="194" y="315" />
+                        <basePoint2 x="195" y="318" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J3_3" render:objectRole="substrate" speciesReference="glyceraldehyde_3_phosphate" speciesGlyph="sGlyph_2" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="279" y="317.312252964427" />
+                        <end x="227" y="313" />
+                        <basePoint1 x="238" y="312" />
+                        <basePoint2 x="260" y="311" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J3_4" render:objectRole="substrate" speciesReference="NADH" speciesGlyph="sGlyph_10_alias_6" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="273" y="279" />
+                        <end x="227" y="313" />
+                        <basePoint1 x="270" y="296" />
+                        <basePoint2 x="260" y="311" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_4" reaction="J4">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J4_0" render:objectRole="product" speciesReference="ATP" speciesGlyph="sGlyph_7_alias_1" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="359" y="384" />
+                        <end x="479" y="415.2" />
+                        <basePoint1 x="359" y="415" />
+                        <basePoint2 x="418" y="383" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J4_1" render:objectRole="product" speciesReference="glycerate_3_phosphate" speciesGlyph="sGlyph_3" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="359" y="384" />
+                        <end x="363.32" y="431" />
+                        <basePoint1 x="359" y="415" />
+                        <basePoint2 x="359" y="400" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J4_2" render:objectRole="product" speciesReference="NADH" speciesGlyph="sGlyph_10_alias_7" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="359" y="384" />
+                        <end x="278" y="404.197278911565" />
+                        <basePoint1 x="359" y="415" />
+                        <basePoint2 x="323" y="396" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J4_4" render:objectRole="substrate" speciesReference="glyceraldehyde_3_phosphate" speciesGlyph="sGlyph_2" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="359.026315789474" y="345" />
+                        <end x="359" y="384" />
+                        <basePoint1 x="359" y="345" />
+                        <basePoint2 x="359" y="353" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J4_5" render:objectRole="substrate" speciesReference="ADP" speciesGlyph="sGlyph_8_alias_3" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="471" y="377.845070422535" />
+                        <end x="359" y="384" />
+                        <basePoint1 x="459" y="385" />
+                        <basePoint2 x="359" y="353" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J4_6" render:objectRole="substrate" speciesReference="NAD" speciesGlyph="sGlyph_9_alias_5" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="275" y="380.692307692308" />
+                        <end x="359" y="384" />
+                        <basePoint1 x="289" y="389" />
+                        <basePoint2 x="359" y="353" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_5" reaction="J5">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J5_0" render:objectRole="product" speciesReference="ATP" speciesGlyph="sGlyph_7_alias_0" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="355" y="514" />
+                        <end x="479" y="540.278481012658" />
+                        <basePoint1 x="355" y="558" />
+                        <basePoint2 x="424" y="534" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J5_1" render:objectRole="product" speciesReference="pyruvate" speciesGlyph="sGlyph_4" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="355" y="514" />
+                        <end x="358.59756097561" y="562" />
+                        <basePoint1 x="355" y="558" />
+                        <basePoint2 x="355" y="540" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J5_3" render:objectRole="substrate" speciesReference="glycerate_3_phosphate" speciesGlyph="sGlyph_3" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="359.741935483871" y="469" />
+                        <end x="355" y="514" />
+                        <basePoint1 x="355" y="481" />
+                        <basePoint2 x="355" y="470" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J5_4" render:objectRole="substrate" speciesReference="ADP" speciesGlyph="sGlyph_8_alias_2" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="473" y="487" />
+                        <end x="355" y="514" />
+                        <basePoint1 x="431" y="487" />
+                        <basePoint2 x="355" y="470" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_6" reaction="J6">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J6_0" render:objectRole="product" speciesReference="Acetyladehyde" speciesGlyph="sGlyph_5" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="358.333333333333" y="600" />
+                        <end x="360.329787234043" y="645" />
+                        <basePoint1 x="355" y="617" />
+                        <basePoint2 x="355" y="617" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J6_2" render:objectRole="substrate" speciesReference="pyruvate" speciesGlyph="sGlyph_4" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_7" reaction="J7">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J7_0" render:objectRole="product" speciesReference="NAD" speciesGlyph="sGlyph_9_alias_4" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="230" y="680" />
+                        <end x="164.935483870968" y="667" />
+                        <basePoint1 x="186" y="698" />
+                        <basePoint2 x="181" y="681" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J7_1" render:objectRole="product" speciesReference="ethanol" speciesGlyph="sGlyph_12" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="230" y="680" />
+                        <end x="167.125" y="731" />
+                        <basePoint1 x="186" y="698" />
+                        <basePoint2 x="176" y="702" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J7_3" render:objectRole="substrate" speciesReference="Acetyladehyde" speciesGlyph="sGlyph_5" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="313" y="665.041916167665" />
+                        <end x="230" y="680" />
+                        <basePoint1 x="280" y="666" />
+                        <basePoint2 x="274" y="662" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J7_4" render:objectRole="substrate" speciesReference="NADH" speciesGlyph="sGlyph_10" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="244.951612903226" y="629" />
+                        <end x="230" y="680" />
+                        <basePoint1 x="250" y="641" />
+                        <basePoint2 x="274" y="662" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_8" reaction="J8">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J8_0" render:objectRole="product" speciesReference="External_acetaldehyde" speciesGlyph="sGlyph_6" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="392.3" y="679" />
+                        <end x="460.3" y="718" />
+                        <basePoint1 x="418" y="694" />
+                        <basePoint2 x="418" y="694" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J8_2" render:objectRole="substrate" speciesReference="Acetyladehyde" speciesGlyph="sGlyph_5" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_9" reaction="J9">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J9_0" render:objectRole="product" speciesReference="ADP" speciesGlyph="sGlyph_8" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="550" y="103.153846153846" />
+                        <end x="547" y="170.940119760479" />
+                        <basePoint1 x="604" y="133" />
+                        <basePoint2 x="607" y="136" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J9_2" render:objectRole="substrate" speciesReference="ATP" speciesGlyph="sGlyph_7" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_10" reaction="J10">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J10_0" render:objectRole="product" speciesReference="Sink" speciesGlyph="sGlyph_14" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="CubicBezier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="518.545454545455" y="749" />
+                        <end x="568" y="776.491525423729" />
+                        <basePoint1 x="532" y="756" />
+                        <basePoint2 x="532" y="756" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J10_2" render:objectRole="substrate" speciesReference="External_acetaldehyde" speciesGlyph="sGlyph_6" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+          </listOfReactionGlyphs>
+          <listOfTextGlyphs>
+            <textGlyph id="tGlyph_0" graphicalObject="sGlyph_0" text="Glucose">
+              <boundingBox>
+                <position x="280" y="84" />
+                <dimensions width="54" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_1" graphicalObject="sGlyph_1" text="fructose_1_6_bisphosphate">
+              <boundingBox>
+                <position x="293" y="202" />
+                <dimensions width="150" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_2" graphicalObject="sGlyph_2" text="glyceraldehyde_3_phosphate">
+              <boundingBox>
+                <position x="286" y="314" />
+                <dimensions width="157" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_3" graphicalObject="sGlyph_3" text="glycerate_3_phosphate">
+              <boundingBox>
+                <position x="302" y="438" />
+                <dimensions width="128" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_4" graphicalObject="sGlyph_4" text="pyruvate">
+              <boundingBox>
+                <position x="333" y="569" />
+                <dimensions width="57" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_5" graphicalObject="sGlyph_5" text="Acetyladehyde">
+              <boundingBox>
+                <position x="320" y="652" />
+                <dimensions width="87" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_6" graphicalObject="sGlyph_6" text="External_acetaldehyde">
+              <boundingBox>
+                <position x="425" y="722" />
+                <dimensions width="124" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="sGlyph_7_alias_0_text" graphicalObject="sGlyph_7_alias_0" text="ATP">
+              <boundingBox>
+                <position x="486" y="530" />
+                <dimensions width="34" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="sGlyph_7_alias_1_text" graphicalObject="sGlyph_7_alias_1" text="ATP">
+              <boundingBox>
+                <position x="486" y="415" />
+                <dimensions width="34" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_7" graphicalObject="sGlyph_7" text="ATP">
+              <boundingBox>
+                <position x="509" y="79" />
+                <dimensions width="34" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="sGlyph_8_alias_2_text" graphicalObject="sGlyph_8_alias_2" text="ADP">
+              <boundingBox>
+                <position x="481" y="475" />
+                <dimensions width="35" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="sGlyph_8_alias_3_text" graphicalObject="sGlyph_8_alias_3" text="ADP">
+              <boundingBox>
+                <position x="477" y="351" />
+                <dimensions width="35" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_10" graphicalObject="sGlyph_8" text="ADP">
+              <boundingBox>
+                <position x="506" y="172" />
+                <dimensions width="35" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="sGlyph_9_alias_4_text" graphicalObject="sGlyph_9_alias_4" text="NAD">
+              <boundingBox>
+                <position x="127" y="638" />
+                <dimensions width="36" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="sGlyph_9_alias_5_text" graphicalObject="sGlyph_9_alias_5" text="NAD">
+              <boundingBox>
+                <position x="232" y="356" />
+                <dimensions width="36" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_13" graphicalObject="sGlyph_9" text="NAD">
+              <boundingBox>
+                <position x="138" y="247" />
+                <dimensions width="36" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="sGlyph_10_alias_6_text" graphicalObject="sGlyph_10_alias_6" text="NADH">
+              <boundingBox>
+                <position x="253" y="248" />
+                <dimensions width="43" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="sGlyph_10_alias_7_text" graphicalObject="sGlyph_10_alias_7" text="NADH">
+              <boundingBox>
+                <position x="228" y="397" />
+                <dimensions width="43" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_16" graphicalObject="sGlyph_10" text="NADH">
+              <boundingBox>
+                <position x="217" y="598" />
+                <dimensions width="43" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_19" graphicalObject="sGlyph_11" text="External_glucose">
+              <boundingBox>
+                <position x="121" y="61" />
+                <dimensions width="97" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_20" graphicalObject="sGlyph_12" text="ethanol">
+              <boundingBox>
+                <position x="137" y="738" />
+                <dimensions width="49" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_21" graphicalObject="sGlyph_13" text="Glycerol">
+              <boundingBox>
+                <position x="119" y="319" />
+                <dimensions width="54" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_22" graphicalObject="sGlyph_14" text="Sink">
+              <boundingBox>
+                <position x="574" y="777" />
+                <dimensions width="34" height="24" />
+              </boundingBox>
+            </textGlyph>
+          </listOfTextGlyphs>
+        </layout>
+      </listOfLayouts>
+    </annotation>
+    <listOfCompartments>
+      <compartment id="compartment" size="1" />
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="Glucose" boundaryCondition="false" initialConcentration="0" compartment="compartment" />
+      <species id="fructose_1_6_bisphosphate" boundaryCondition="false" initialConcentration="0" compartment="compartment" />
+      <species id="glyceraldehyde_3_phosphate" boundaryCondition="false" initialConcentration="0" compartment="compartment" />
+      <species id="glycerate_3_phosphate" boundaryCondition="false" initialConcentration="0" compartment="compartment" />
+      <species id="pyruvate" boundaryCondition="false" initialConcentration="0" compartment="compartment" />
+      <species id="Acetyladehyde" boundaryCondition="false" initialConcentration="0" compartment="compartment" />
+      <species id="External_acetaldehyde" boundaryCondition="false" initialConcentration="0" compartment="compartment" />
+      <species id="ATP" boundaryCondition="false" initialConcentration="3" compartment="compartment" />
+      <species id="ADP" boundaryCondition="false" initialConcentration="1" compartment="compartment" />
+      <species id="NAD" boundaryCondition="false" initialConcentration="0.5" compartment="compartment" />
+      <species id="NADH" boundaryCondition="false" initialConcentration="0.5" compartment="compartment" />
+      <species id="External_glucose" boundaryCondition="true" initialConcentration="0" compartment="compartment" />
+      <species id="ethanol" boundaryCondition="true" initialConcentration="0" compartment="compartment" />
+      <species id="Glycerol" boundaryCondition="true" initialConcentration="0" compartment="compartment" />
+      <species id="Sink" boundaryCondition="true" initialConcentration="0" compartment="compartment" />
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="J0_inputFlux" value="50" />
+      <parameter id="J1_k1" value="550" />
+      <parameter id="J1_Ki" value="1" />
+      <parameter id="J1_n" value="4" />
+      <parameter id="J2_J2_k" value="9.8" />
+      <parameter id="J3_J3_k" value="85.7" />
+      <parameter id="J4_kg" value="323.8" />
+      <parameter id="J4_kp" value="76411.1" />
+      <parameter id="J4_ka" value="57823.1" />
+      <parameter id="J4_kk" value="23.7" />
+      <parameter id="J5_J5_k" value="80" />
+      <parameter id="J6_J6_k" value="9.7" />
+      <parameter id="J7_J7_k" value="2000" />
+      <parameter id="J8_J8_k1" value="375" />
+      <parameter id="J8_J8_k2" value="375" />
+      <parameter id="J9_J9_k" value="28" />
+      <parameter id="J10_J10_k" value="80" />
+      <parameter id="J2_k" value="9.8" />
+      <parameter id="J3_k" value="85.7" />
+      <parameter id="J5_k" value="80" />
+      <parameter id="J6_k" value="9.7" />
+      <parameter id="J7_k" value="2000" />
+      <parameter id="J8_k1" value="375" />
+      <parameter id="J8_k2" value="375" />
+      <parameter id="J9_k" value="28" />
+      <parameter id="J10_k" value="80" />
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="false">
+        <listOfReactants>
+          <speciesReference species="External_glucose" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Glucose" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci>
+                        J0_inputFlux
+                  </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="Glucose" stoichiometry="1" />
+          <speciesReference species="ATP" stoichiometry="2" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="fructose_1_6_bisphosphate" stoichiometry="1" />
+          <speciesReference species="ADP" stoichiometry="2" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci>
+                           J1_k1
+                     </ci>
+              <ci>
+                           Glucose
+                     </ci>
+              <ci>
+                           ATP
+                     </ci>
+              <apply>
+                <divide />
+                <cn type="integer">
+                              1
+                        </cn>
+                <apply>
+                  <plus />
+                  <cn type="integer">
+                                 1
+                           </cn>
+                  <apply>
+                    <power />
+                    <apply>
+                      <divide />
+                      <ci>
+                                       ATP
+                                 </ci>
+                      <ci>
+                                       J1_Ki
+                                 </ci>
+                    </apply>
+                    <ci>
+                                    J1_n
+                              </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="fructose_1_6_bisphosphate" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="glyceraldehyde_3_phosphate" stoichiometry="1" />
+          <speciesReference species="glyceraldehyde_3_phosphate" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci>
+                           J2_J2_k
+                     </ci>
+              <ci>
+                           fructose_1_6_bisphosphate
+                     </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="glyceraldehyde_3_phosphate" stoichiometry="1" />
+          <speciesReference species="NADH" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="NAD" stoichiometry="1" />
+          <speciesReference species="Glycerol" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci>
+                           J3_J3_k
+                     </ci>
+              <ci>
+                           glyceraldehyde_3_phosphate
+                     </ci>
+              <ci>
+                           NADH
+                     </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="glyceraldehyde_3_phosphate" stoichiometry="1" />
+          <speciesReference species="ADP" stoichiometry="1" />
+          <speciesReference species="NAD" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="ATP" stoichiometry="1" />
+          <speciesReference species="glycerate_3_phosphate" stoichiometry="1" />
+          <speciesReference species="NADH" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide />
+              <apply>
+                <minus />
+                <apply>
+                  <times />
+                  <ci>
+                                 J4_kg
+                           </ci>
+                  <ci>
+                                 J4_kp
+                           </ci>
+                  <ci>
+                                 glyceraldehyde_3_phosphate
+                           </ci>
+                  <ci>
+                                 NAD
+                           </ci>
+                  <ci>
+                                 ADP
+                           </ci>
+                </apply>
+                <apply>
+                  <times />
+                  <ci>
+                                 J4_ka
+                           </ci>
+                  <ci>
+                                 J4_kk
+                           </ci>
+                  <ci>
+                                 glycerate_3_phosphate
+                           </ci>
+                  <ci>
+                                 ATP
+                           </ci>
+                  <ci>
+                                 NADH
+                           </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus />
+                <apply>
+                  <times />
+                  <ci>
+                                 J4_ka
+                           </ci>
+                  <ci>
+                                 NADH
+                           </ci>
+                </apply>
+                <apply>
+                  <times />
+                  <ci>
+                                 J4_kp
+                           </ci>
+                  <ci>
+                                 ADP
+                           </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J5" reversible="false">
+        <listOfReactants>
+          <speciesReference species="glycerate_3_phosphate" stoichiometry="1" />
+          <speciesReference species="ADP" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="ATP" stoichiometry="1" />
+          <speciesReference species="pyruvate" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci>
+                           J5_J5_k
+                     </ci>
+              <ci>
+                           glycerate_3_phosphate
+                     </ci>
+              <ci>
+                           ADP
+                     </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J6" reversible="false">
+        <listOfReactants>
+          <speciesReference species="pyruvate" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Acetyladehyde" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci>
+                           J6_J6_k
+                     </ci>
+              <ci>
+                           pyruvate
+                     </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J7" reversible="false">
+        <listOfReactants>
+          <speciesReference species="Acetyladehyde" stoichiometry="1" />
+          <speciesReference species="NADH" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="NAD" stoichiometry="1" />
+          <speciesReference species="ethanol" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci>
+                           J7_J7_k
+                     </ci>
+              <ci>
+                           Acetyladehyde
+                     </ci>
+              <ci>
+                           NADH
+                     </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J8" reversible="false">
+        <listOfReactants>
+          <speciesReference species="Acetyladehyde" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="External_acetaldehyde" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus />
+              <apply>
+                <times />
+                <ci>
+                              J8_J8_k1
+                        </ci>
+                <ci>
+                              Acetyladehyde
+                        </ci>
+              </apply>
+              <apply>
+                <times />
+                <ci>
+                              J8_J8_k2
+                        </ci>
+                <ci>
+                              External_acetaldehyde
+                        </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J9" reversible="false">
+        <listOfReactants>
+          <speciesReference species="ATP" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="ADP" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci>
+                           J9_J9_k
+                     </ci>
+              <ci>
+                           ATP
+                     </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J10" reversible="false">
+        <listOfReactants>
+          <speciesReference species="External_acetaldehyde" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Sink" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci>
+                           J10_J10_k
+                     </ci>
+              <ci>
+                           External_acetaldehyde
+                     </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
\ No newline at end of file
diff --git a/autotest/python-benchmark-bioinf/jarnac_bench_ode.jan b/autotest/python-benchmark-bioinf/jarnac_bench_ode.jan
new file mode 100644
index 0000000..e00bce1
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/jarnac_bench_ode.jan
@@ -0,0 +1,74 @@
+// Jarnac benchmarking script, Apr 2015
+// Authors: J Kyle Medley
+// Language: Jarnac 3.33b
+// Usage: Open in Jarnac IDE and run
+
+// Benchmark names and paths (rel to directory this script resides in)
+
+names = [ "jana_wolf", //A glycolytic model featuring complex dynamics with 15 species, 11 reactions, and 30 parameters with complex rate laws
+          "biomod14", // A large, mass-action model of a 3-stage mitogen-activated protein kinase (MAPK). Contains 86 species and 300 reactions
+          "biomod33", // A model which makes heavy use of Michaelis-Menten kinetics. Contains 32 species and 26 reactions
+          "00001", // A series of Brusselator models, each containing $N$ copies of a single Brusselator
+          "00002", 
+          "00050", 
+          "00100", 
+          "00150", 
+          "00200", 
+          "00250", 
+          "00300", 
+          "00350", 
+          "00400", 
+          "00450", 
+          "00500" ]
+
+paths = ["jana_wolf\\Jana_WolfGlycolysis.xml", 
+         "biomod14\\BIOMD0000000014.xml", 
+         "biomod33\\BIOMD0000000033.xml", 
+         "00001\\00001-sbml-l2v4.xml", 
+         "00002\\00002-sbml-l2v4.xml", 
+         "00050\\00050-sbml-l2v4.xml", 
+         "00100\\00100-sbml-l2v4.xml", 
+         "00150\\00150-sbml-l2v4.xml", 
+         "00200\\00200-sbml-l2v4.xml", 
+         "00250\\00250-sbml-l2v4.xml", 
+         "00300\\00300-sbml-l2v4.xml", 
+         "00350\\00350-sbml-l2v4.xml", 
+         "00400\\00400-sbml-l2v4.xml", 
+         "00450\\00450-sbml-l2v4.xml", 
+         "00500\\00500-sbml-l2v4.xml"]
+
+// Get version info
+println sys.version
+
+// Run three trials
+for trial = 1 to 3 do
+begin
+  println "Trial ", trial
+  println "Name,", "Load_time,", "Run_time,", "Total_time"
+  for n = 1 to names.count do
+  begin            
+    // Get names/paths
+    name = names[n]
+    path = paths[n]
+    
+    // import SBML model
+    t_load = timer 
+    p = network(path)
+    t_load = timer - t_load
+    
+    // set tolerances
+    p.sim.rtol = 0.0001
+    p.sim.atol = 1.000000E-007 
+    p.sim.maxOrder = 5
+  
+    // simulate model
+    t_sim = timer
+    m = p.sim.eval (0, 50, 50);
+    t_sim = timer - t_sim
+  
+    t_total = t_load + t_sim
+    
+    // print timing info
+    println name, ",", t_load/1000, ",", t_sim/1000, ",", t_total/1000
+  end
+end
\ No newline at end of file
diff --git a/autotest/python-benchmark-bioinf/jarnac_bench_stoch.jan b/autotest/python-benchmark-bioinf/jarnac_bench_stoch.jan
new file mode 100644
index 0000000..1e266a1
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/jarnac_bench_stoch.jan
@@ -0,0 +1,41 @@
+// Jarnac benchmarking script, Apr 2015
+// Authors: J Kyle Medley
+// Language: Jarnac 3.33b
+// Usage: Open in Jarnac IDE and run
+
+// Benchmark names and paths (rel to directory this script resides in)
+
+names = [ "stoch" ] // Simple stochastic model
+
+paths = ["stoch\\stoch_l2v4.xml" ]
+
+println sys.version
+
+// Benchmark three trials
+for trial = 1 to 3 do
+begin
+  println "Trial ", trial
+  println "Name,", "Load_time,", "Run_time,", "Total_time"
+  for n = 1 to names.count do
+  begin            
+    name = names[n]
+    path = paths[n]
+    
+    // import SBML model
+    t_load = timer 
+    p = network(path)
+    t_load = timer - t_load
+    
+    // do not set tolerances since this is a stochastic simulation
+  
+    // simulate model
+    t_sim = timer
+    m = gillespie (p, 10, [<p.Time>, <p.A>, <p.B>, <p.C>, <p.D>, <p.E>]);
+    t_sim = timer - t_sim
+  
+    t_total = t_load + t_sim
+  
+    // print timing info
+    println name, ",", t_load/1000, ",", t_sim/1000, ",", t_total/1000
+  end
+end
\ No newline at end of file
diff --git a/autotest/python-benchmark-bioinf/jean_marie/Jean_Marie_AMPA16_RobHow_v6.xml b/autotest/python-benchmark-bioinf/jean_marie/Jean_Marie_AMPA16_RobHow_v6.xml
new file mode 100644
index 0000000..8f9047d
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/jean_marie/Jean_Marie_AMPA16_RobHow_v6.xml
@@ -0,0 +1,2602 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" xmlns:celldesigner="http://www.sbml.org/2001/ns/celldesigner" level="2" version="4">
+<model metaid="AMPA16" id="AMPA16_v3">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>AMPA 16 states from Robert et Howe et al 2003
+Optimized by RG
+Current calculation by NA
+Permeability for Ca2+ Na+ K+ by NA
+Add variable nbAMPA by NA
+May, 5, 2010
+version 3: 
+date: 2010 - 11 - 30
+author: JMB
+based on v2
+Added Vm as input so EPSP can be linked to the Vm of the AMPA model
+version 4: 
+date: 2011 - 05 - 15
+author: JMB
+based on v3
+Added units for new versions of the parser!
+version 5: 
+date: 2011 - 06 - 14
+author: JMB
+based on v4
+Added species LTP_ampaNbModFactor to have TLP modulate the number of ampa-r
+=============================
+version 6
+date: 2 Nov 2011
+added kinetic parameters for ampakine modulation
+nicolas.
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:modelVersion>4.0</celldesigner:modelVersion>
+<celldesigner:modelDisplay sizeX="1200" sizeY="800"/>
+<celldesigner:listOfCompartmentAliases/>
+<celldesigner:listOfComplexSpeciesAliases/>
+<celldesigner:listOfSpeciesAliases>
+<celldesigner:speciesAlias id="sa1" species="R0">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="22.5" y="192.91666666666669" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa2" species="R1">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="238.5" y="192.91666666666669" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa3" species="R2">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="455.0" y="192.9166666666667" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa4" species="R3">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="666.5" y="192.91666666666666" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa5" species="R4">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="884.25" y="192.91666666666669" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa6" species="Glu">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="139.25" y="140.5" w="70.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="70.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccff66" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa7" species="Glu">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="356.5" y="140.5" w="70.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="70.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccff66" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa8" species="Glu">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="569.0" y="140.5" w="70.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="70.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccff66" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa9" species="Glu">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="789.0" y="140.5" w="70.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="70.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccff66" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa10" species="D0">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="25.5" y="366.5" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa11" species="D1">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="238.25" y="366.5" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa12" species="D2">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="454.66666666666663" y="368.3333333333333" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa13" species="D3">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="666.375" y="366.6666666666667" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa14" species="D4">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="884.25" y="366.5" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa15" species="E2">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="454.83333333333326" y="549.5" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa16" species="E3">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="666.5" y="549.5" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa17" species="E4">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="884.5" y="549.5" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa18" species="O2">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="455.0" y="4.5" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa19" species="O3">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="666.5" y="4.5" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa20" species="O4">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="884.5" y="4.5" w="80.0" h="40.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="40.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccffcc" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa21" species="Glu">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="139.25" y="328.0" w="70.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="70.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccff66" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa22" species="Glu">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="356.5" y="328.0" w="70.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="70.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccff66" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa23" species="Glu">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="569.0" y="328.0" w="70.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="70.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccff66" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa24" species="Glu">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="789.0" y="328.0" w="70.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="70.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccff66" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa25" species="Glu">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="569.0" y="509.5" w="70.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="70.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccff66" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa26" species="Glu">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="789.0" y="509.5" w="70.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="70.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ffccff66" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa27" species="Vm">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="68.5" y="25.5" w="25.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="25.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ff9999ff" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+<celldesigner:speciesAlias id="sa28" species="LTP_ampaNbModFactor">
+<celldesigner:activity>inactive</celldesigner:activity>
+<celldesigner:bounds x="200.5" y="28.5" w="25.0" h="25.0"/>
+<celldesigner:font size="12"/>
+<celldesigner:view state="usual"/>
+<celldesigner:usualView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="25.0" height="25.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="ff9999ff" scheme="Color"/>
+</celldesigner:usualView>
+<celldesigner:briefView>
+<celldesigner:innerPosition x="0.0" y="0.0"/>
+<celldesigner:boxSize width="80.0" height="60.0"/>
+<celldesigner:singleLine width="1.0"/>
+<celldesigner:paint color="3fff0000" scheme="Color"/>
+</celldesigner:briefView>
+<celldesigner:info state="empty" angle="-1.5707963267948966"/>
+</celldesigner:speciesAlias>
+</celldesigner:listOfSpeciesAliases>
+<celldesigner:listOfGroups/>
+<celldesigner:listOfProteins>
+<celldesigner:protein id="pr1" name="R0" type="GENERIC"/>
+<celldesigner:protein id="pr2" name="R1" type="GENERIC"/>
+<celldesigner:protein id="pr3" name="R2" type="GENERIC"/>
+<celldesigner:protein id="pr4" name="R3" type="GENERIC"/>
+<celldesigner:protein id="pr5" name="R4" type="GENERIC"/>
+<celldesigner:protein id="pr6" name="D0" type="GENERIC"/>
+<celldesigner:protein id="pr7" name="D1" type="GENERIC"/>
+<celldesigner:protein id="pr8" name="D2" type="GENERIC"/>
+<celldesigner:protein id="pr9" name="D3" type="GENERIC"/>
+<celldesigner:protein id="pr10" name="D4" type="GENERIC"/>
+<celldesigner:protein id="pr11" name="E2" type="GENERIC"/>
+<celldesigner:protein id="pr12" name="E3" type="GENERIC"/>
+<celldesigner:protein id="pr13" name="E4" type="GENERIC"/>
+<celldesigner:protein id="pr14" name="O2" type="GENERIC"/>
+<celldesigner:protein id="pr15" name="O3" type="GENERIC"/>
+<celldesigner:protein id="pr16" name="O4" type="GENERIC"/>
+</celldesigner:listOfProteins>
+<celldesigner:listOfGenes/>
+<celldesigner:listOfRNAs/>
+<celldesigner:listOfAntisenseRNAs/>
+<celldesigner:listOfLayers/>
+<celldesigner:listOfBlockDiagrams/>
+</celldesigner:extension>
+</annotation>
+<listOfUnitDefinitions>
+<unitDefinition metaid="per_mM_per_msec" id="per_mM_per_msec" name="per_mM_per_msec">
+<listOfUnits>
+<unit metaid="CDMT00075" kind="mole" exponent="-1" scale="-3"/>
+<unit metaid="CDMT00076" kind="litre"/>
+<unit metaid="CDMT00077" kind="second" exponent="-1" scale="-3"/>
+</listOfUnits>
+</unitDefinition>
+<unitDefinition metaid="per_msec" id="per_msec" name="per_msec">
+<listOfUnits>
+<unit metaid="CDMT00078" kind="second" exponent="-1" scale="-3"/>
+</listOfUnits>
+</unitDefinition>
+<unitDefinition metaid="pS" id="pS" name="pS">
+<listOfUnits>
+<unit metaid="CDMT00079" kind="siemens" scale="-12"/>
+</listOfUnits>
+</unitDefinition>
+<unitDefinition metaid="mV" id="mV" name="mV">
+<listOfUnits>
+<unit metaid="CDMT00080" kind="volt" scale="-3"/>
+</listOfUnits>
+</unitDefinition>
+<unitDefinition metaid="pA" id="pA" name="pA">
+<listOfUnits>
+<unit metaid="CDMT00081" kind="ampere" scale="-12"/>
+</listOfUnits>
+</unitDefinition>
+<unitDefinition metaid="percent" id="percent" name="percent"/>
+<unitDefinition metaid="substance" id="substance" name="substance">
+<listOfUnits>
+<unit metaid="CDMT00082" kind="mole"/>
+</listOfUnits>
+</unitDefinition>
+<unitDefinition metaid="volume" id="volume" name="volume">
+<listOfUnits>
+<unit metaid="CDMT00083" kind="litre"/>
+</listOfUnits>
+</unitDefinition>
+<unitDefinition metaid="area" id="area" name="area">
+<listOfUnits>
+<unit metaid="CDMT00084" kind="metre" exponent="2"/>
+</listOfUnits>
+</unitDefinition>
+<unitDefinition metaid="length" id="length" name="length">
+<listOfUnits>
+<unit metaid="CDMT00085" kind="metre"/>
+</listOfUnits>
+</unitDefinition>
+<unitDefinition metaid="time" id="time" name="time">
+<listOfUnits>
+<unit metaid="CDMT00086" kind="second"/>
+</listOfUnits>
+</unitDefinition>
+</listOfUnitDefinitions>
+<listOfCompartments>
+<compartment metaid="default" id="default" size="1" units="volume"/>
+</listOfCompartments>
+<listOfSpecies>
+<species metaid="R0" id="R0" name="R0" compartment="default" initialAmount="1" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr1</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="R1" id="R1" name="R1" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr2</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="R2" id="R2" name="R2" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr3</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="R3" id="R3" name="R3" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr4</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="R4" id="R4" name="R4" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr5</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="Glu" id="Glu" name="Glu" compartment="default" initialAmount="0" boundaryCondition="true" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class>
+<celldesigner:name>Glu</celldesigner:name>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="D0" id="D0" name="D0" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr6</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="D1" id="D1" name="D1" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr7</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="D2" id="D2" name="D2" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr8</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="D3" id="D3" name="D3" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr9</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="D4" id="D4" name="D4" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr10</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="E2" id="E2" name="E2" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr11</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="E3" id="E3" name="E3" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr12</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="E4" id="E4" name="E4" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr13</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="O2" id="O2" name="O2" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr14</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="O3" id="O3" name="O3" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr15</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="O4" id="O4" name="O4" compartment="default" initialAmount="0" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>PROTEIN</celldesigner:class>
+<celldesigner:proteinReference>pr16</celldesigner:proteinReference>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="Vm" id="Vm" name="Vm" compartment="default" initialAmount="-60" hasOnlySubstanceUnits="true" boundaryCondition="true" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>ION</celldesigner:class>
+<celldesigner:name>Vm</celldesigner:name>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+<species metaid="LTP_ampaNbModFactor" id="LTP_ampaNbModFactor" name="LTP_ampaNbModFactor" compartment="default" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="true" charge="0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
+<celldesigner:speciesIdentity>
+<celldesigner:class>ION</celldesigner:class>
+<celldesigner:name>LTP_ampaNbModFactor</celldesigner:name>
+</celldesigner:speciesIdentity>
+</celldesigner:extension>
+</annotation>
+</species>
+</listOfSpecies>
+<listOfParameters>
+<parameter metaid="kass_re1" id="kass_re1" value="10" units="per_mM_per_msec"/>
+<parameter metaid="kdiss_re1" id="kdiss_re1" value="7" units="per_msec"/>
+<parameter metaid="kass_re5" id="kass_re5" value="10" units="per_mM_per_msec"/>
+<parameter metaid="kdiss_re5" id="kdiss_re5" value="0.00041" units="per_msec"/>
+<parameter metaid="kass_re11" id="kass_re11" value="0" units="per_msec" constant="false"/>
+<parameter metaid="kdiss_re11" id="kdiss_re11" value="0.001" units="per_msec"/>
+<parameter metaid="kass_re12" id="kass_re12" value="0" units="per_msec" constant="false"/>
+<parameter metaid="kdiss_re12" id="kdiss_re12" value="0.017" units="per_msec"/>
+<parameter metaid="kass_re16" id="kass_re16" value="0.55" units="per_msec"/>
+<parameter metaid="kdiss_re16" id="kdiss_re16" value="0" units="per_msec" constant="false"/>
+<parameter metaid="kass_re19" id="kass_re19" value="0.2" units="per_msec"/>
+<parameter metaid="kdiss_re19" id="kdiss_re19" value="0.035" units="per_msec"/>
+<parameter metaid="conduc_O2" id="conduc_O2" name="conductance for state O2" value="9" units="pS"/>
+<parameter metaid="conduc_O3" id="conduc_O3" name="conductance for state O3" value="15" units="pS"/>
+<parameter metaid="conduc_O4" id="conduc_O4" name="conductance for state 04" value="21" units="pS"/>
+<parameter metaid="Erev_AMPA" id="Erev_AMPA" name="AMPA reversal potential " value="0" units="mV"/>
+<parameter metaid="current_AMPA" id="current_AMPA" name="AMPA current" value="0" units="pA" constant="false"/>
+<parameter metaid="sumOpen" id="sumOpen" name="sumOpen = O2+O3+O4" value="0" units="dimensionless" constant="false"/>
+<parameter metaid="PNa" id="PNa" name="Permeability for Sodium (Na)" value="50" units="percent"/>
+<parameter metaid="PK" id="PK" name="Permeability for Potassium (K)" value="49.5" units="percent"/>
+<parameter metaid="PCa" id="PCa" name="Permeability for Calcium (Ca)" value="0.5" units="percent"/>
+<parameter metaid="ICa_AMPA" id="ICa_AMPA" name="AMPA mediated current by Ca" value="0" units="pA" constant="false"/>
+<parameter metaid="INa_AMPA" id="INa_AMPA" name="AMPA mediated current by Na" value="0" units="pA" constant="false"/>
+<parameter metaid="IK_AMPA" id="IK_AMPA" name="AMPA mediated current by K" value="0" units="pA" constant="false"/>
+<parameter metaid="nbAMPAR" id="nbAMPAR" name="nbAMPAR" value="1" units="dimensionless"/>
+<parameter metaid="NewNbAMPAR" id="NewNbAMPAR" value="0" units="dimensionless" constant="false"/>
+<parameter metaid="Deact_factor" id="Deact_factor" name="1.4601 for 1 Mm and 1.9725 for 5 mM" value="1" units="dimensionless"/>
+<parameter metaid="Desens_factor" id="Desens_factor" name="1.8560 for 1mM and 13.4046 for 5 mM" value="1" units="dimensionless"/>
+<parameter metaid="kdiss_re16_Init" id="kdiss_re16_Init" value="0.3" units="per_msec"/>
+<parameter metaid="kass_re11_Init" id="kass_re11_Init" value="3.3e-06" units="per_msec"/>
+<parameter metaid="kass_re12_Init" id="kass_re12_Init" value="0.42" units="per_msec"/>
+</listOfParameters>
+<listOfRules>
+<assignmentRule metaid="CDMT00087" variable="current_AMPA">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<times/>
+<apply>
+<plus/>
+<apply>
+<times/>
+<ci> conduc_O2 </ci>
+<ci> O2 </ci>
+</apply>
+<apply>
+<times/>
+<ci> conduc_O3 </ci>
+<ci> O3 </ci>
+</apply>
+<apply>
+<times/>
+<ci> conduc_O4 </ci>
+<ci> O4 </ci>
+</apply>
+</apply>
+<apply>
+<minus/>
+<ci> Vm </ci>
+<ci> Erev_AMPA </ci>
+</apply>
+<cn> 0.001 </cn>
+<ci> NewNbAMPAR </ci>
+</apply>
+</math>
+</assignmentRule>
+<assignmentRule metaid="CDMT00088" variable="sumOpen">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<plus/>
+<ci> O2 </ci>
+<ci> O3 </ci>
+<ci> O4 </ci>
+</apply>
+</math>
+</assignmentRule>
+<assignmentRule metaid="CDMT00089" variable="INa_AMPA">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<times/>
+<apply>
+<divide/>
+<ci> PNa </ci>
+<cn type="integer"> 100 </cn>
+</apply>
+<ci> current_AMPA </ci>
+</apply>
+</math>
+</assignmentRule>
+<assignmentRule metaid="CDMT00090" variable="IK_AMPA">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<times/>
+<apply>
+<divide/>
+<ci> PK </ci>
+<cn type="integer"> 100 </cn>
+</apply>
+<ci> current_AMPA </ci>
+</apply>
+</math>
+</assignmentRule>
+<assignmentRule metaid="CDMT00091" variable="ICa_AMPA">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<times/>
+<apply>
+<divide/>
+<ci> PCa </ci>
+<cn type="integer"> 100 </cn>
+</apply>
+<ci> current_AMPA </ci>
+</apply>
+</math>
+</assignmentRule>
+<assignmentRule metaid="CDMT00093" variable="NewNbAMPAR">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<times/>
+<ci> nbAMPAR </ci>
+<ci> LTP_ampaNbModFactor </ci>
+</apply>
+</math>
+</assignmentRule>
+<assignmentRule metaid="CDMT00001" variable="kdiss_re16">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<divide/>
+<ci> kdiss_re16_Init </ci>
+<ci> Deact_factor </ci>
+</apply>
+</math>
+</assignmentRule>
+<assignmentRule metaid="CDMT00092" variable="kass_re11">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<divide/>
+<ci> kass_re11_Init </ci>
+<ci> Desens_factor </ci>
+</apply>
+</math>
+</assignmentRule>
+<assignmentRule metaid="CDMT00094" variable="kass_re12">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<divide/>
+<ci> kass_re12_Init </ci>
+<ci> Desens_factor </ci>
+</apply>
+</math>
+</assignmentRule>
+</listOfRules>
+<listOfReactions>
+<reaction metaid="re1" id="re1" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for second order forward, first order reverse, reversible reactions, two reactants, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R0" alias="sa1">
+<celldesigner:linkAnchor position="E"/>
+</celldesigner:baseReactant>
+<celldesigner:baseReactant species="Glu" alias="sa6">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="R1" alias="sa2">
+<celldesigner:linkAnchor position="W"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection arm="0" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="1" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="2" index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.0,0.5173611111111103</celldesigner:editPoints>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00002" species="R0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa1</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+<speciesReference metaid="CDMT00003" species="Glu">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa6</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00004" species="R1">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa2</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00005">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 4 </cn>
+<ci> kass_re1 </ci>
+<ci> R0 </ci>
+<ci> Glu </ci>
+</apply>
+<apply>
+<times/>
+<cn type="integer"> 1 </cn>
+<ci> kdiss_re1 </ci>
+<ci> R1 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re2" id="re2" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for second order forward, first order reverse, reversible reactions, two reactants, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R1" alias="sa2">
+<celldesigner:linkAnchor position="E"/>
+</celldesigner:baseReactant>
+<celldesigner:baseReactant species="Glu" alias="sa7">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="R2" alias="sa3">
+<celldesigner:linkAnchor position="W"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection arm="0" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="1" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="2" index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">-4.440892098500626E-16,0.521939953810624</celldesigner:editPoints>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00006" species="R1">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa2</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+<speciesReference metaid="CDMT00007" species="Glu">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa7</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00008" species="R2">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa3</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00009">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 3 </cn>
+<ci> kass_re1 </ci>
+<ci> R1 </ci>
+<ci> Glu </ci>
+</apply>
+<apply>
+<times/>
+<cn type="integer"> 2 </cn>
+<ci> kdiss_re1 </ci>
+<ci> R2 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re3" id="re3" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for second order forward, first order reverse, reversible reactions, two reactants, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R2" alias="sa3">
+<celldesigner:linkAnchor position="E"/>
+</celldesigner:baseReactant>
+<celldesigner:baseReactant species="Glu" alias="sa8">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="R3" alias="sa4">
+<celldesigner:linkAnchor position="W"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection arm="0" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="1" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="2" index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">-1.7763568394002505E-15,0.5153664302600474</celldesigner:editPoints>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00010" species="R2">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa3</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+<speciesReference metaid="CDMT00011" species="Glu">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa8</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00012" species="R3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa4</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00013">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 2 </cn>
+<ci> kass_re1 </ci>
+<ci> R2 </ci>
+<ci> Glu </ci>
+</apply>
+<apply>
+<times/>
+<cn type="integer"> 3 </cn>
+<ci> kdiss_re1 </ci>
+<ci> R3 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re4" id="re4" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for second order forward, first order reverse, reversible reactions, two reactants, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R3" alias="sa4">
+<celldesigner:linkAnchor position="E"/>
+</celldesigner:baseReactant>
+<celldesigner:baseReactant species="Glu" alias="sa9">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="R4" alias="sa5">
+<celldesigner:linkAnchor position="W"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection arm="0" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="1" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="2" index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">-1.7763568394002505E-15,0.5396096440872569</celldesigner:editPoints>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00014" species="R3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa4</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+<speciesReference metaid="CDMT00015" species="Glu">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa9</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00016" species="R4">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa5</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00017">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 1 </cn>
+<ci> kass_re1 </ci>
+<ci> R3 </ci>
+<ci> Glu </ci>
+</apply>
+<apply>
+<times/>
+<cn type="integer"> 4 </cn>
+<ci> kdiss_re1 </ci>
+<ci> R4 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re5" id="re5" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for second order forward, first order reverse, reversible reactions, two reactants, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="D0" alias="sa10">
+<celldesigner:linkAnchor position="E"/>
+</celldesigner:baseReactant>
+<celldesigner:baseReactant species="Glu" alias="sa21">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="D1" alias="sa11">
+<celldesigner:linkAnchor position="W"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection arm="0" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="1" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="2" index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.0,0.5111633372502933</celldesigner:editPoints>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00018" species="D0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa10</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+<speciesReference metaid="CDMT00019" species="Glu">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa21</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00020" species="D1">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa11</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00021">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 3 </cn>
+<ci> kass_re5 </ci>
+<ci> D0 </ci>
+<ci> Glu </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re5 </ci>
+<ci> D1 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re6" id="re6" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for second order forward, first order reverse, reversible reactions, two reactants, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="D1" alias="sa11">
+<celldesigner:linkAnchor position="E"/>
+</celldesigner:baseReactant>
+<celldesigner:baseReactant species="Glu" alias="sa22">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="D2" alias="sa12">
+<celldesigner:linkAnchor position="W"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection arm="0" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="1" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="2" index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.020429917960532507,0.5126052142824937</celldesigner:editPoints>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00022" species="D1">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa11</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+<speciesReference metaid="CDMT00023" species="Glu">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa22</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00024" species="D2">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa12</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00025">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 3 </cn>
+<ci> kass_re1 </ci>
+<ci> D1 </ci>
+<ci> Glu </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re1 </ci>
+<ci> D2 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re7" id="re7" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for second order forward, first order reverse, reversible reactions, two reactants, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="D2" alias="sa12">
+<celldesigner:linkAnchor position="E"/>
+</celldesigner:baseReactant>
+<celldesigner:baseReactant species="Glu" alias="sa23">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="D3" alias="sa13">
+<celldesigner:linkAnchor position="W"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection arm="0" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="1" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="2" index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.017157737357434755,0.5075729378417888</celldesigner:editPoints>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00026" species="D2">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa12</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+<speciesReference metaid="CDMT00027" species="Glu">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa23</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00028" species="D3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa13</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00029">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 2 </cn>
+<ci> kass_re1 </ci>
+<ci> D2 </ci>
+<ci> Glu </ci>
+</apply>
+<apply>
+<times/>
+<cn type="integer"> 2 </cn>
+<ci> kdiss_re1 </ci>
+<ci> D3 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re8" id="re8" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for second order forward, first order reverse, reversible reactions, two reactants, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="D3" alias="sa13">
+<celldesigner:linkAnchor position="E"/>
+</celldesigner:baseReactant>
+<celldesigner:baseReactant species="Glu" alias="sa24">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="D4" alias="sa14">
+<celldesigner:linkAnchor position="W"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection arm="0" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="1" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="2" index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.0016643493058303704,0.5389752422852636</celldesigner:editPoints>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00030" species="D3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa13</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+<speciesReference metaid="CDMT00031" species="Glu">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa24</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00032" species="D4">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa14</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00033">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 1 </cn>
+<ci> kass_re1 </ci>
+<ci> D3 </ci>
+<ci> Glu </ci>
+</apply>
+<apply>
+<times/>
+<cn type="integer"> 3 </cn>
+<ci> kdiss_re1 </ci>
+<ci> D4 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re9" id="re9" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for second order forward, first order reverse, reversible reactions, two reactants, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="E2" alias="sa15">
+<celldesigner:linkAnchor position="E"/>
+</celldesigner:baseReactant>
+<celldesigner:baseReactant species="Glu" alias="sa25">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="E3" alias="sa16">
+<celldesigner:linkAnchor position="W"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection arm="0" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="1" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="2" index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.0,0.515748031496063</celldesigner:editPoints>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00034" species="E2">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa15</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+<speciesReference metaid="CDMT00035" species="Glu">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa25</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00036" species="E3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa16</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00037">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 2 </cn>
+<ci> kass_re1 </ci>
+<ci> E2 </ci>
+<ci> Glu </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re1 </ci>
+<ci> E3 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re10" id="re10" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for second order forward, first order reverse, reversible reactions, two reactants, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="E3" alias="sa16">
+<celldesigner:linkAnchor position="E"/>
+</celldesigner:baseReactant>
+<celldesigner:baseReactant species="Glu" alias="sa26">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="E4" alias="sa17">
+<celldesigner:linkAnchor position="W"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection arm="0" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="1" index="0" value="unknown"/>
+<celldesigner:lineDirection arm="2" index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.0,0.5389908256880762</celldesigner:editPoints>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00038" species="E3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa16</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+<speciesReference metaid="CDMT00039" species="Glu">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa26</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00040" species="E4">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa17</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00041">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<ci> kass_re1 </ci>
+<ci> E3 </ci>
+<ci> Glu </ci>
+</apply>
+<apply>
+<times/>
+<cn type="integer"> 2 </cn>
+<ci> kdiss_re1 </ci>
+<ci> E4 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re11" id="re11" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for first order forward, first order reverse, reversible reactions, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R0" alias="sa1">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="D0" alias="sa10">
+<celldesigner:linkAnchor position="N"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00042" species="R0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa1</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00043" species="D0">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa10</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00044">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 4 </cn>
+<ci> kass_re11 </ci>
+<ci> R0 </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re11 </ci>
+<ci> D0 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re12" id="re12" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for first order forward, first order reverse, reversible reactions, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R1" alias="sa2">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="D1" alias="sa11">
+<celldesigner:linkAnchor position="N"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00045" species="R1">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa2</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00046" species="D1">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa11</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00047">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 1 </cn>
+<ci> kass_re12_Init </ci>
+<ci> R1 </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re12 </ci>
+<ci> D1 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re13" id="re13" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for first order forward, first order reverse, reversible reactions, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R2" alias="sa3">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="D2" alias="sa12">
+<celldesigner:linkAnchor position="N"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00048" species="R2">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa3</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00049" species="D2">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa12</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00050">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 2 </cn>
+<ci> kass_re12_Init </ci>
+<ci> R2 </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re12 </ci>
+<ci> D2 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re14" id="re14" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for first order forward, first order reverse, reversible reactions, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R3" alias="sa4">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="D3" alias="sa13">
+<celldesigner:linkAnchor position="N"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00051" species="R3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa4</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00052" species="D3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa13</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00053">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 3 </cn>
+<ci> kass_re12_Init </ci>
+<ci> R3 </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re12 </ci>
+<ci> D3 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re15" id="re15" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for first order forward, first order reverse, reversible reactions, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R4" alias="sa5">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="D4" alias="sa14">
+<celldesigner:linkAnchor position="N"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00054" species="R4">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa5</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00055" species="D4">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa14</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00056">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 4 </cn>
+<ci> kass_re12_Init </ci>
+<ci> R4 </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re12 </ci>
+<ci> D4 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re16" id="re16" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for first order forward, first order reverse, reversible reactions, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R2" alias="sa3">
+<celldesigner:linkAnchor position="N"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="O2" alias="sa18">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00057" species="R2">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa3</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00058" species="O2">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa18</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00059">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 2 </cn>
+<ci> kass_re16 </ci>
+<ci> R2 </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re16 </ci>
+<ci> O2 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re17" id="re17" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for first order forward, first order reverse, reversible reactions, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R3" alias="sa4">
+<celldesigner:linkAnchor position="N"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="O3" alias="sa19">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00060" species="R3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa4</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00061" species="O3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa19</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00062">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 3 </cn>
+<ci> kass_re16 </ci>
+<ci> R3 </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re16 </ci>
+<ci> O3 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re18" id="re18" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for first order forward, first order reverse, reversible reactions, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="R4" alias="sa5">
+<celldesigner:linkAnchor position="N"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="O4" alias="sa20">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00063" species="R4">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa5</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00064" species="O4">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa20</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00065">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 4 </cn>
+<ci> kass_re16 </ci>
+<ci> R4 </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re16 </ci>
+<ci> O4 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re19" id="re19" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for first order forward, first order reverse, reversible reactions, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="D2" alias="sa12">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="E2" alias="sa15">
+<celldesigner:linkAnchor position="N"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00066" species="D2">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa12</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00067" species="E2">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa15</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00068">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 1 </cn>
+<ci> kass_re19 </ci>
+<ci> D2 </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re19 </ci>
+<ci> E2 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re20" id="re20" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for first order forward, first order reverse, reversible reactions, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="D3" alias="sa13">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="E3" alias="sa16">
+<celldesigner:linkAnchor position="N"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00069" species="D3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa13</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00070" species="E3">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa16</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00071">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 2 </cn>
+<ci> kass_re19 </ci>
+<ci> D3 </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re19 </ci>
+<ci> E3 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+<reaction metaid="re21" id="re21" fast="false">
+<notes>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title/>
+</head>
+<body>mass action rate law for first order forward, first order reverse, reversible reactions, continuous scheme
+</body>
+</html>
+</notes>
+<annotation>
+<celldesigner:extension>
+<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType>
+<celldesigner:baseReactants>
+<celldesigner:baseReactant species="D4" alias="sa14">
+<celldesigner:linkAnchor position="S"/>
+</celldesigner:baseReactant>
+</celldesigner:baseReactants>
+<celldesigner:baseProducts>
+<celldesigner:baseProduct species="E4" alias="sa17">
+<celldesigner:linkAnchor position="N"/>
+</celldesigner:baseProduct>
+</celldesigner:baseProducts>
+<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0">
+<celldesigner:listOfLineDirection>
+<celldesigner:lineDirection index="0" value="unknown"/>
+</celldesigner:listOfLineDirection>
+</celldesigner:connectScheme>
+<celldesigner:line width="1.0" color="ff000000"/>
+</celldesigner:extension>
+</annotation>
+<listOfReactants>
+<speciesReference metaid="CDMT00072" species="D4">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa14</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfReactants>
+<listOfProducts>
+<speciesReference metaid="CDMT00073" species="E4">
+<annotation>
+<celldesigner:extension>
+<celldesigner:alias>sa17</celldesigner:alias>
+</celldesigner:extension>
+</annotation>
+</speciesReference>
+</listOfProducts>
+<kineticLaw metaid="CDMT00074">
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+<apply>
+<minus/>
+<apply>
+<times/>
+<cn type="integer"> 3 </cn>
+<ci> kass_re19 </ci>
+<ci> D4 </ci>
+</apply>
+<apply>
+<times/>
+<ci> kdiss_re19 </ci>
+<ci> E4 </ci>
+</apply>
+</apply>
+</math>
+</kineticLaw>
+</reaction>
+</listOfReactions>
+</model>
+</sbml>
diff --git a/autotest/python-benchmark-bioinf/jean_marie_converted_bench.jan b/autotest/python-benchmark-bioinf/jean_marie_converted_bench.jan
new file mode 100644
index 0000000..c1aa2cb
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/jean_marie_converted_bench.jan
@@ -0,0 +1,113 @@
+// SBML to Jarnac Translator
+// Dated: 4/21/2015 12:44:44 PM
+
+// Jarnac benchmarking script, Apr 2015
+// Authors: J Kyle Medley
+// Language: Jarnac 3.33b
+// Usage: Open in Jarnac IDE and run for three trials
+
+// This file is the Jean-Marie AMPA receptor converted to Jarnac's own format
+
+p = defn AMPA16_v3
+      vol default;
+      var R0, R1, R2, R3, R4, D0;
+      var D1, D2, D3, D4, E2, E3;
+      var E4, O2, O3, O4;
+      ext src, waste;
+      ext Glu, Vm, LTP_ampaNbModFactor;
+
+      current_AMPA = (conduc_O2 * O2 + conduc_O3 * O3 + conduc_O4 * O4) * (Vm - Erev_AMPA) * 0.001 * NewNbAMPAR;
+      sumOpen = O2 + O3 + O4;
+      INa_AMPA = PNa / 100 * current_AMPA;
+      IK_AMPA = PK / 100 * current_AMPA;
+      ICa_AMPA = PCa / 100 * current_AMPA;
+      NewNbAMPAR = nbAMPAR * LTP_ampaNbModFactor;
+      kdiss_re16 = kdiss_re16_Init / Deact_factor;
+      kass_re11 = kass_re11_Init / Desens_factor;
+      kass_re12 = kass_re12_Init / Desens_factor;
+      re1: R0 + Glu -> R1;  4 * kass_re1 * R0 * Glu - 1 * kdiss_re1 * R1;
+      re2: R1 + Glu -> R2;  3 * kass_re1 * R1 * Glu - 2 * kdiss_re1 * R2;
+      re3: R2 + Glu -> R3;  2 * kass_re1 * R2 * Glu - 3 * kdiss_re1 * R3;
+      re4: R3 + Glu -> R4;  1 * kass_re1 * R3 * Glu - 4 * kdiss_re1 * R4;
+      re5: D0 + Glu -> D1;  3 * kass_re5 * D0 * Glu - kdiss_re5 * D1;
+      re6: D1 + Glu -> D2;  3 * kass_re1 * D1 * Glu - kdiss_re1 * D2;
+      re7: D2 + Glu -> D3;  2 * kass_re1 * D2 * Glu - 2 * kdiss_re1 * D3;
+      re8: D3 + Glu -> D4;  1 * kass_re1 * D3 * Glu - 3 * kdiss_re1 * D4;
+      re9: E2 + Glu -> E3;  2 * kass_re1 * E2 * Glu - kdiss_re1 * E3;
+      re10: E3 + Glu -> E4;  kass_re1 * E3 * Glu - 2 * kdiss_re1 * E4;
+      re11: R0 -> D0;  4 * kass_re11 * R0 - kdiss_re11 * D0;
+      re12: R1 -> D1;  1 * kass_re12_Init * R1 - kdiss_re12 * D1;
+      re13: R2 -> D2;  2 * kass_re12_Init * R2 - kdiss_re12 * D2;
+      re14: R3 -> D3;  3 * kass_re12_Init * R3 - kdiss_re12 * D3;
+      re15: R4 -> D4;  4 * kass_re12_Init * R4 - kdiss_re12 * D4;
+      re16: R2 -> O2;  2 * kass_re16 * R2 - kdiss_re16 * O2;
+      re17: R3 -> O3;  3 * kass_re16 * R3 - kdiss_re16 * O3;
+      re18: R4 -> O4;  4 * kass_re16 * R4 - kdiss_re16 * O4;
+      re19: D2 -> E2;  1 * kass_re19 * D2 - kdiss_re19 * E2;
+      re20: D3 -> E3;  2 * kass_re19 * D3 - kdiss_re19 * E3;
+      re21: D4 -> E4;  3 * kass_re19 * D4 - kdiss_re19 * E4;
+  end;
+
+p.default = 1;
+p.Glu = 0;
+p.Vm = -60;
+p.LTP_ampaNbModFactor = 1;
+p.R0 = 1;
+p.R1 = 0;
+p.R2 = 0;
+p.R3 = 0;
+p.R4 = 0;
+p.D0 = 0;
+p.D1 = 0;
+p.D2 = 0;
+p.D3 = 0;
+p.D4 = 0;
+p.E2 = 0;
+p.E3 = 0;
+p.E4 = 0;
+p.O2 = 0;
+p.O3 = 0;
+p.O4 = 0;
+p.kass_re1 = 10;
+p.kdiss_re1 = 7;
+p.kass_re5 = 10;
+p.kdiss_re5 = 0.00041;
+p.kass_re11 = 0;
+p.kdiss_re11 = 0.001;
+p.kass_re12 = 0;
+p.kdiss_re12 = 0.017;
+p.kass_re16 = 0.55;
+p.kdiss_re16 = 0;
+p.kass_re19 = 0.2;
+p.kdiss_re19 = 0.035;
+p.conduc_O2 = 9;
+p.conduc_O3 = 15;
+p.conduc_O4 = 21;
+p.Erev_AMPA = 0;
+p.current_AMPA = 0;
+p.sumOpen = 0;
+p.PNa = 50;
+p.PK = 49.5;
+p.PCa = 0.5;
+p.ICa_AMPA = 0;
+p.INa_AMPA = 0;
+p.IK_AMPA = 0;
+p.nbAMPAR = 1;
+p.NewNbAMPAR = 0;
+p.Deact_factor = 1;
+p.Desens_factor = 1;
+p.kdiss_re16_Init = 0.3;
+p.kass_re11_Init = 3.3E-006;
+p.kass_re12_Init = 0.42;
+
+// END OF MODEL
+  
+// set tolerances
+p.sim.rtol = 0.0001
+p.sim.atol = 1.000000E-007 
+p.sim.maxOrder = 5
+
+t1 = timer;
+m = p.sim.eval (0, 50, 50);
+println (timer - t1)/1000;
+
diff --git a/autotest/python-benchmark-bioinf/rr_bench_ode.py b/autotest/python-benchmark-bioinf/rr_bench_ode.py
new file mode 100644
index 0000000..acb4743
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/rr_bench_ode.py
@@ -0,0 +1,87 @@
+#!/usr/bin/env python
+
+# Roadrunner benchmarking script, Apr 2015
+# Authors: Andy Somogyi, J Kyle Medley
+# Language: Python 2.7.9
+# Usage: cd <this_dir> && python bench.py >rr-ode-results.csv
+
+from __future__ import print_function
+import roadrunner
+import time
+import csv
+from sys import stderr, stdout, exit
+
+# Set tolerance parameters (must match across simulators)
+absolute_tol_default = 1.000000e-007
+rel_tol_default = 0.0001
+
+tests = [ \
+  ('jean_marie', "./jean_marie/Jean_Marie_AMPA16_RobHow_v6.xml", 0.25, 0.024),
+  ('jana_wolf', "./jana_wolf/Jana_WolfGlycolysis.xml", 0.3, 0.357),
+  ('biomod14', "./biomod14/BIOMD0000000014.xml", 1.000, 0.04),
+  ('biomod33', "./biomod33/BIOMD0000000033.xml", 0.191, 0.09),
+  ('00001',   "./00001/00001-sbml-l2v4.xml",     0.084, 0.03),
+  ('00002',   "./00002/00002-sbml-l2v4.xml",     0.086, 0.03),
+  ('00050',  "./00050/00050-sbml-l2v4.xml",      0.389, 0.06),
+  ('00100', "./00100/00100-sbml-l2v4.xml",       0.829, 0.07),
+  ('00150', "./00150/00150-sbml-l2v4.xml",       1.230, 0.07),
+  ('00200', "./00200/00200-sbml-l2v4.xml",       1.806, 0.07),
+  ('00250', "./00250/00250-sbml-l2v4.xml",       3.236, 0.08),
+  ('00300', "./00300/00300-sbml-l2v4.xml",       3.188, 0.08),
+  ('00350', "./00350/00350-sbml-l2v4.xml",       4.130, 0.08),
+  ('00400', "./00400/00400-sbml-l2v4.xml",       4.735, 0.10),
+  ('00450', "./00450/00450-sbml-l2v4.xml",       5.211, 0.10),
+  ('00500', "./00500/00500-sbml-l2v4.xml",       6.209, 0.10)]
+
+start = 0;
+end = 50;
+steps = 50;
+
+csvwriter = csv.writer(stdout, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
+
+# set to true if performance regression detected
+regDetected = False
+
+def formatTime(t):
+  return round(t,4)
+
+def timeit(name, path, loadTimeCap, runTimeCap):
+  print('Model: {}'.format(name), file=stderr)
+  startTime = time.time()
+  global regDetected
+  passFail = 'pass'
+
+  # Load the model
+  r=roadrunner.RoadRunner(path)
+
+  # use these settings for consistent performance
+  r.getIntegrator().setValue('relative_tolerance', rel_tol_default)
+  r.getIntegrator().setValue('absolute_tolerance', absolute_tol_default)
+  r.getIntegrator().setValue('stiff', False)
+
+  loadTime = time.time()
+  if loadTime-startTime > loadTimeCap:
+    regDetected = True
+    passFail = '***FAIL***'
+
+  m=r.simulate(start, end, steps)
+  endTime = time.time()
+  if endTime-loadTime > runTimeCap:
+    regDetected = True
+    passFail = '***FAIL***'
+
+  csvwriter.writerow([name, formatTime(loadTime-startTime), formatTime(endTime-loadTime), formatTime(endTime-startTime), passFail])
+
+# First row in output: Version info
+print(roadrunner.__version__, file=stderr)
+csvwriter.writerow([roadrunner.__version__])
+
+for n in range(1):
+  print('Trial {}'.format(n+1), file=stderr)
+  csvwriter.writerow(['Trial {}'.format(n+1)])
+  csvwriter.writerow(['Name', 'Load_time', 'Run_time', 'Total_time'])
+  for t in tests:
+      timeit(*t)
+
+if regDetected == True:
+  exit(1)
\ No newline at end of file
diff --git a/autotest/python-benchmark-bioinf/rr_bench_stoch.py b/autotest/python-benchmark-bioinf/rr_bench_stoch.py
new file mode 100644
index 0000000..4dc92a2
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/rr_bench_stoch.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+
+# Roadrunner benchmarking script, Apr 2015
+# Authors: J Kyle Medley
+# Language: Python 2.7.9
+# Usage: cd <this_dir> && python rr_bench_stoch.py >rr-stoch-results.csv
+
+from __future__ import print_function
+from roadrunner import *
+import time
+import csv
+from sys import stderr, stdout
+
+tests = [ \
+  ('stoch', "./stoch/stoch_l2v4.xml")]
+
+start = 0;
+end = 10;
+steps = 10;
+
+csvwriter = csv.writer(stdout, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
+
+def timeit(name, path):
+  print('Model: {}'.format(name), file=stderr)
+  startTime = time.time()
+  r=RoadRunner(path)
+  loadTime = time.time()
+  m=r.simulate(start,end,steps,integrator='gillespie')
+  endTime = time.time()
+
+  csvwriter.writerow([name, loadTime-startTime, endTime-loadTime, endTime-startTime])
+
+
+for n in range(3):
+  print('Trial {}'.format(n+1), file=stderr)
+  csvwriter.writerow(['Trial {}'.format(n+1)])
+  csvwriter.writerow(['Name', 'Load_time', 'Run_time', 'Total_time'])
+  for t in tests:
+      timeit(*t)
+
diff --git a/autotest/python-benchmark-bioinf/stoch/stoch_l2v4.xml b/autotest/python-benchmark-bioinf/stoch/stoch_l2v4.xml
new file mode 100644
index 0000000..19b3cd5
--- /dev/null
+++ b/autotest/python-benchmark-bioinf/stoch/stoch_l2v4.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="stoch" name="stoch">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="default_compartment" initialConcentration="100000"/>
+      <species id="B" compartment="default_compartment" initialConcentration="1000"/>
+      <species id="C" compartment="default_compartment" initialConcentration="1000"/>
+      <species id="D" compartment="default_compartment" initialConcentration="1000"/>
+      <species id="E" compartment="default_compartment" initialConcentration="100000"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.2"/>
+      <parameter id="k2" value="0.05"/>
+      <parameter id="k3" value="0.1"/>
+      <parameter id="k4" value="0.01"/>
+      <parameter id="k5" value="0.05"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="_J0">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J1">
+        <listOfReactants>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k2 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J2">
+        <listOfReactants>
+          <speciesReference species="C"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k3 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J3">
+        <listOfReactants>
+          <speciesReference species="D"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k4 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J4">
+        <listOfReactants>
+          <speciesReference species="E"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k5 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/autotest/python-unit-tests/run.py b/autotest/python-unit-tests/run.py
new file mode 100644
index 0000000..95d4ab8
--- /dev/null
+++ b/autotest/python-unit-tests/run.py
@@ -0,0 +1,6 @@
+from __future__ import print_function
+import roadrunner
+from sys import exit
+
+# exit code is number of failed tests
+exit(roadrunner.runTests())
\ No newline at end of file
diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
new file mode 100644
index 0000000..a992b95
--- /dev/null
+++ b/cmake/FindLLVM.cmake
@@ -0,0 +1,208 @@
+# Find LLVM
+#
+# It defines the following variables
+#  LLVM_FOUND        - True if llvm found.
+#  LLVM_INCLUDE_DIRS  - where to find llvm include files
+#  LLVM_LIBRARY_DIRS  - where to find llvm libs
+#  LLVM_LDFLAGS       - llvm linker flags
+#  LLVM_LIBRARIES          - list of llvm libs for working with modules.
+#                      This is a list of absolute path file names, which is
+#                      evidently the cmake convention.
+#  LLVM_FLAGS     - flags to add to the CXX compiler for llvm support
+#  LLVM_VERSION_MAJOR
+#  LLVM_VERSION_MINOR
+#  LLVM_VERSION_PATCH
+#################################################################################
+
+# this function borrowed from PlPlot, Copyright (C) 2006  Alan W. Irwin
+function(TRANSFORM_VERSION numerical_result version)
+    # internal_version ignores everything in version after any character that
+    # is not 0-9 or ".".  This should take care of the case when there is
+    # some non-numerical data in the patch version.
+    #message(STATUS "DEBUG: version = ${version}")
+    string(REGEX REPLACE "^([0-9.]+).*$" "\\1" internal_version ${version})
+
+    # internal_version is normally a period-delimited triplet string of the form
+    # "major.minor.patch", but patch and/or minor could be missing.
+    # Transform internal_version into a numerical result that can be compared.
+    string(REGEX REPLACE "^([0-9]*).+$" "\\1" major ${internal_version})
+    string(REGEX REPLACE "^[0-9]*\\.([0-9]*).*$" "\\1" minor ${internal_version})
+    string(REGEX REPLACE "^[0-9]*\\.[0-9]*\\.([0-9]*)$" "\\1" patch ${internal_version})
+
+    if(NOT patch MATCHES "^[0-9]+$")
+        set(patch 0)
+    endif(NOT patch MATCHES "^[0-9]+$")
+
+    if(NOT minor MATCHES "[0-9]+")
+        set(minor 0)
+    endif(NOT minor MATCHES "[0-9]+")
+
+    if(NOT major MATCHES "[0-9]+")
+        set(major 0)
+    endif(NOT major MATCHES "[0-9]+")
+    #message(STATUS "DEBUG: internal_version = ${internal_version}")
+    #message(STATUS "DEBUG: major = ${major}")
+    #message(STATUS "DEBUG: minor= ${minor}")
+    #message(STATUS "DEBUG: patch = ${patch}")
+    math(EXPR internal_numerical_result
+        "${major}*1000000 + ${minor}*1000 + ${patch}"
+        #"${major}*1000000 + ${minor}*1000"
+    )
+    #message(STATUS "DEBUG: ${numerical_result} = ${internal_numerical_result}")
+    set(${numerical_result} ${internal_numerical_result} PARENT_SCOPE)
+endfunction(TRANSFORM_VERSION)
+
+
+find_program(LLVM_CONFIG_EXECUTABLE
+    NAMES llvm-config-${LLVM_MIN_VERSION_TEXT} llvm-config
+    PATHS /opt/local/bin /usr/local/bin
+    HINTS "$ENV{LLVM_DIR}/bin"
+    DOC "llvm-config executable"
+    )
+
+if (LLVM_CONFIG_EXECUTABLE)
+    message(STATUS "LLVM llvm-config found at: ${LLVM_CONFIG_EXECUTABLE}")
+
+    execute_process(
+        COMMAND ${LLVM_CONFIG_EXECUTABLE} --version
+        OUTPUT_VARIABLE LLVM_VERSION
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        )
+
+    # Version Info
+    execute_process(COMMAND ${LLVM_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE LLVM_STRING_VERSION )
+    string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)([^\n\r\t ]*)" "\\1" LLVM_VERSION_MAJOR
+        "${LLVM_VERSION}")
+    string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)([^\n\r\t ]*)" "\\2" LLVM_VERSION_MINOR
+        "${LLVM_VERSION}")
+    string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)([^\n\r\t ]*)" "\\3" LLVM_VERSION_PATCH
+        "${LLVM_VERSION}")
+    message(STATUS "LLVM_VERSION_MAJOR: ${LLVM_VERSION_MAJOR}")
+    message(STATUS "LLVM_VERSION_MINOR: ${LLVM_VERSION_MINOR}")
+    message(STATUS "LLVM_VERSION_PATCH: ${LLVM_VERSION_PATCH}")
+
+    execute_process(COMMAND ${LLVM_CONFIG_EXECUTABLE} --bindir OUTPUT_VARIABLE LLVM_BIN_DIR )
+    execute_process(COMMAND ${LLVM_CONFIG_EXECUTABLE} --libdir OUTPUT_VARIABLE LLVM_LIB_DIR )
+    MESSAGE(STATUS "LLVM_BIN_DIR: " ${LLVM_BIN_DIR})
+    MESSAGE(STATUS "LLVM_LIB_DIR: " ${LLVM_LIB_DIR})
+
+    # Include Dir
+    execute_process(
+        COMMAND ${LLVM_CONFIG_EXECUTABLE} --includedir
+        OUTPUT_VARIABLE LLVM_INCLUDE_DIRS
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        )
+    message(STATUS "LLVM_INCLUDE_DIRS: ${LLVM_INCLUDE_DIRS}")
+
+    # Lib Dir
+    execute_process(
+        COMMAND ${LLVM_CONFIG_EXECUTABLE} --libdir
+        OUTPUT_VARIABLE LLVM_LIBRARY_DIRS
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        )
+    message(STATUS "LLVM_LIBRARY_DIRS:  ${LLVM_LIBRARY_DIRS}")
+
+    # C++ Flags, strip out stuff that CMake build adds
+    execute_process(
+        COMMAND ${LLVM_CONFIG_EXECUTABLE} --cxxflags
+        OUTPUT_VARIABLE LLVM_FLAGS
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        )
+    # strip this from llvm's version, we should add this ourselves in
+    # production mode to main CFLAGS
+    STRING(REPLACE "-DNDEBUG" "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-D_DEBUG" "" LLVM_FLAGS ${LLVM_FLAGS})
+    # remove optimization from flags, our cmake build will decide what optimization to use
+    STRING(REGEX REPLACE "-O[0-9]" "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-fno-rtti" "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-fno-exceptions" "" LLVM_FLAGS ${LLVM_FLAGS})
+    # this causes problems as most other libs compiled without this.
+    # should be OK linking to LLVM as this just results in a slightly larger lib (I think, I hope...)
+    string(REPLACE "-fvisibility-inlines-hidden" "" LLVM_FLAGS ${LLVM_FLAGS})
+
+    # remove extra warnings that the llvm-config added
+    STRING(REPLACE "-Wcast-qual" "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-Woverloaded-virtual" "" LLVM_FLAGS ${LLVM_FLAGS})
+ 
+    # some LLVMs add these options
+    # -Wall -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -pedantic 
+    # -Wno-long-long -Wno-uninitialized -Wnon-virtual-dtor
+
+
+    STRING(REPLACE "-Wall" "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-W " "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-Wno-unused-parameter" "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-Wwrite-strings" "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-Wno-missing-field-initializers" "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-pedantic" "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-Wno-long-long" "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-Wno-uninitialized" "" LLVM_FLAGS ${LLVM_FLAGS})
+    STRING(REPLACE "-Wnon-virtual-dtor" "" LLVM_FLAGS ${LLVM_FLAGS})
+
+
+    MESSAGE(STATUS "LLVM_FLAGS: " ${LLVM_FLAGS})
+
+
+
+    # link libraries, currently only need core, jit and native.
+    # TODO: in future, replace this with something like LLVM_CORE_LIBS, LLVM_JIT_LIBS...
+    execute_process(
+        COMMAND ${LLVM_CONFIG_EXECUTABLE} --libfiles core jit native
+        OUTPUT_VARIABLE LLVM_LIBRARIES
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        )
+    if(WIN32)
+      # llvm-config returns .a library names, even on Windows, so manually convert .a -> .lib and remove lib prefix.
+      STRING(REGEX REPLACE "lib([^/\\]*)\\.a" "\\1.lib" LLVM_LIBRARIES ${LLVM_LIBRARIES})
+    endif()
+    # we get a space sep list from llvm-config, make it a cmake ; separated list.
+    STRING(REGEX REPLACE "[\n\t\r ]+" ";" LLVM_LIBRARIES ${LLVM_LIBRARIES})
+    message(STATUS "LLVM_LIBRARIES: ${LLVM_LIBRARIES}")
+
+    # starting with LLVM 3.4 (at least on Ubuntu) it requres functions in
+    # ncurses for console IO formatting. So, we find ncurses here.
+
+    if (((LLVM_VERSION_MAJOR GREATER 3) OR (LLVM_VERSION_MAJOR EQUAL 3)) AND
+            (LLVM_VERSION_MINOR GREATER 4) OR (LLVM_VERSION_MINOR EQUAL 4))
+        if (UNIX)
+            #message("UNIX true")
+            message("LLVM VERSION >= 3.4, looking for curses library")
+            find_package(Curses REQUIRED)
+            #message("curses: ${CURSES_FOUND}")
+            #message("curdir: ${CURSES_INCLUDE_DIR}")
+            #message("curlib: ${CURSES_LIBRARIES}")
+            #message("LLVM_LIBRARIES: ${LLVM_LIBRARIES}")
+
+            set(LLVM_LIBRARIES "${LLVM_LIBRARIES};${CURSES_LIBRARIES}")
+
+
+            # LLVM 3.5 seems to require zlib, at least on OSX 10.9. 
+            # no big deal to just add it on UNIX in general as it already there. 
+            if (LLVM_VERSION_MINOR GREATER 4)
+                message("LLVM > 3.4, looking for zlib")
+                find_package(ZLIB REQUIRED)
+                set (LLVM_LIBRARIES "${LLVM_LIBRARIES};${ZLIB_LIBRARY}")
+            endif()
+            message("LLVM_LIBRARIES: ${LLVM_LIBRARIES}")
+
+        else()
+            #message("NOT UNIX")
+        endif()    
+
+    else()
+        #message("LLVM VERSION < 3.4")
+    endif()
+
+    if(LLVM_INCLUDE_DIRS)
+        set(LLVM_FOUND TRUE)
+        message(STATUS "Found LLVM: ${LLVM_INCLUDE_DIRS}")
+    endif(LLVM_INCLUDE_DIRS)
+
+
+else (LLVM_CONFIG_EXECUTABLE)
+    message(STATUS "Could NOT find LLVM executable")
+endif (LLVM_CONFIG_EXECUTABLE)
+
+if(NOT LLVM_FOUND AND LLVM_FIND_REQUIRED)
+    message(FATAL_ERROR "Could NOT find LLVM")
+endif(NOT LLVM_FOUND AND LLVM_FIND_REQUIRED)
diff --git a/cmake/FindNumPy.cmake b/cmake/FindNumPy.cmake
new file mode 100644
index 0000000..a353673
--- /dev/null
+++ b/cmake/FindNumPy.cmake
@@ -0,0 +1,101 @@
+# - Find the NumPy libraries
+# This module finds if NumPy is installed, and sets the following variables
+# indicating where it is.
+#
+# TODO: Update to provide the libraries and paths for linking npymath lib.
+#
+#  NUMPY_FOUND               - was NumPy found
+#  NUMPY_VERSION             - the version of NumPy found as a string
+#  NUMPY_VERSION_MAJOR       - the major version number of NumPy
+#  NUMPY_VERSION_MINOR       - the minor version number of NumPy
+#  NUMPY_VERSION_PATCH       - the patch version number of NumPy
+#  NUMPY_VERSION_DECIMAL     - e.g. version 1.6.1 is 10601
+#  NUMPY_INCLUDE_DIRS        - path to the NumPy include files
+
+#============================================================================
+# Copyright 2012 Continuum Analytics, Inc.
+#
+# MIT License
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files
+# (the "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to permit
+# persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+#
+#============================================================================
+
+# Finding NumPy involves calling the Python interpreter
+if(NumPy_FIND_REQUIRED)
+    find_package(PythonInterp REQUIRED)
+else()
+    find_package(PythonInterp)
+endif()
+
+if(NOT PYTHONINTERP_FOUND)
+    set(NUMPY_FOUND FALSE)
+    return()
+endif()
+
+execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c"
+    "import numpy as n; print(n.__version__); print(n.get_include());"
+    RESULT_VARIABLE _NUMPY_SEARCH_SUCCESS
+    OUTPUT_VARIABLE _NUMPY_VALUES_OUTPUT
+    ERROR_VARIABLE _NUMPY_ERROR_VALUE
+    OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+if(NOT _NUMPY_SEARCH_SUCCESS MATCHES 0)
+    if(NumPy_FIND_REQUIRED)
+        message(FATAL_ERROR
+            "NumPy import failure:\n${_NUMPY_ERROR_VALUE}")
+    endif()
+    set(NUMPY_FOUND FALSE)
+    return()
+endif()
+
+# Convert the process output into a list
+string(REGEX REPLACE ";" "\\\\;" _NUMPY_VALUES ${_NUMPY_VALUES_OUTPUT})
+string(REGEX REPLACE "\n" ";" _NUMPY_VALUES ${_NUMPY_VALUES})
+list(GET _NUMPY_VALUES 0 NUMPY_VERSION)
+list(GET _NUMPY_VALUES 1 NUMPY_INCLUDE_DIRS)
+
+string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" _VER_CHECK "${NUMPY_VERSION}")
+if("${_VER_CHECK}" STREQUAL "")
+    # The output from Python was unexpected. Raise an error always
+    # here, because we found NumPy, but it appears to be corrupted somehow.
+    message(FATAL_ERROR
+        "Requested version and include path from NumPy, got instead:\n${_NUMPY_VALUES_OUTPUT}\n")
+    return()
+endif()
+
+# Make sure all directory separators are '/'
+string(REGEX REPLACE "\\\\" "/" NUMPY_INCLUDE_DIRS ${NUMPY_INCLUDE_DIRS})
+
+# Get the major and minor version numbers
+string(REGEX REPLACE "\\." ";" _NUMPY_VERSION_LIST ${NUMPY_VERSION})
+list(GET _NUMPY_VERSION_LIST 0 NUMPY_VERSION_MAJOR)
+list(GET _NUMPY_VERSION_LIST 1 NUMPY_VERSION_MINOR)
+list(GET _NUMPY_VERSION_LIST 2 NUMPY_VERSION_PATCH)
+string(REGEX MATCH "[0-9]*" NUMPY_VERSION_PATCH ${NUMPY_VERSION_PATCH})
+math(EXPR NUMPY_VERSION_DECIMAL
+    "(${NUMPY_VERSION_MAJOR} * 10000) + (${NUMPY_VERSION_MINOR} * 100) + ${NUMPY_VERSION_PATCH}")
+
+find_package_message(NUMPY
+    "Found NumPy: version \"${NUMPY_VERSION}\" ${NUMPY_INCLUDE_DIRS}"
+    "${NUMPY_INCLUDE_DIRS}${NUMPY_VERSION}")
+
+set(NUMPY_FOUND TRUE)
+
diff --git a/cmake/SlicerMacroGetOperatingSystemArchitectureBitness.cmake b/cmake/SlicerMacroGetOperatingSystemArchitectureBitness.cmake
new file mode 100644
index 0000000..5f3dfad
--- /dev/null
+++ b/cmake/SlicerMacroGetOperatingSystemArchitectureBitness.cmake
@@ -0,0 +1,64 @@
+################################################################################
+#
+#  Program: 3D Slicer
+#
+#  Copyright (c) Kitware Inc.
+#
+#  See COPYRIGHT.txt
+#  or http://www.slicer.org/copyright/copyright.txt for details.
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  This file was originally developed by Jean-Christophe Fillion-Robin, Kitware Inc.
+#  and was partially funded by NIH grant 3P41RR013218-12S1
+#
+################################################################################
+
+#
+# SlicerMacroGetOperatingSystemArchitectureBitness(<var-prefix>)
+# is used to extract information associated with the current platform.
+#
+# The macro defines the following variables:
+#  <var-prefix>_BITNESS - bitness of the platform: 32 or 64
+#  <var-prefix>_OS - which is on the this value: linux, macosx, win
+#  <var-prefix>_ARCHITECTURE - which is on the this value: i386, amd64, ppc
+
+macro(SlicerMacroGetOperatingSystemArchitectureBitness MY_VAR_PREFIX)
+	# Sanity checks
+	if("${MY_VAR_PREFIX}" STREQUAL "")
+		message(FATAL_ERROR "error: VAR_PREFIX should be specified !")
+	endif()
+	
+	set(${MY_VAR_PREFIX}_ARCHITECTURE "")
+	
+	set(${MY_VAR_PREFIX}_ARCHITECTURE i386)
+	set(${MY_VAR_PREFIX}_BITNESS 32)
+	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+		set(${MY_VAR_PREFIX}_BITNESS 64)
+		set(${MY_VAR_PREFIX}_ARCHITECTURE amd64)
+	endif()
+	
+	if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+		set(${MY_VAR_PREFIX}_OS "win")
+		
+	elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+		set(${MY_VAR_PREFIX}_OS "linux")
+		
+	elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+		set(${MY_VAR_PREFIX}_OS "macosx")
+		if(CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc")
+			set(${MY_VAR_PREFIX}_ARCHITECTURE "ppc")
+		endif()
+		
+		#elseif(CMAKE_SYSTEM_NAME STREQUAL "Solaris")
+		
+		#  set(${MY_VAR_PREFIX}_BUILD "solaris8") # What about solaris9 and solaris10 ?
+		
+	endif()
+	
+endmacro()
+
diff --git a/data/simpleNoise-MissingData.dat b/data/simpleNoise-MissingData.dat
new file mode 100644
index 0000000..839ffb8
--- /dev/null
+++ b/data/simpleNoise-MissingData.dat
@@ -0,0 +1,310 @@
+[INFO]
+ROAD_RUNNER_VERSION=0.5
+CREATOR=rrWinC-0.1
+NUMBER_OF_COLS=2
+NUMBER_OF_ROWS=150
+COLUMN_HEADERS=time,S1
+
+[DATA]
+0,0.0582654758004938
+0.033557,-
+0.0671141,-
+0.100671, -
+0.134228,1.767708385183879
+0.167785,1.124148863381977
+0.201342,1.595979743355486
+0.234899,2.372571375050897
+0.268456,2.17337502085956
+0.302013,2.321934170376892
+0.33557,3.170324477676908
+0.369128,2.357966281482565
+0.402685,3.292230703251287
+0.436242,3.248889479681335
+0.469799,2.699513962357177
+0.503356,2.695871056559986
+0.536913,3.196966218087442
+0.57047,3.238836097753827
+0.604027,3.409462116105846
+0.637584,3.149770579538291
+0.671141,3.405315824398895
+0.704698,3.705649652448641
+0.738255,3.63482292699852
+0.771812,4.249983398085814
+0.805369,3.697721634328057
+0.838926,4.625044694469078
+0.872483,4.043247250129159
+0.90604,3.846962438004862
+0.939597,3.896884325879508
+0.973154,4.184642188120114
+1.00671,4.415457291060789
+1.04027,4.207425125353223
+1.07383,4.44086183791622
+1.10738,4.843809344473288
+1.14094,4.954051292746685
+1.1745,4.503469886511821
+1.20805,4.689638278703605
+1.24161,4.885193367408234
+1.27517,4.299946572622029
+1.30872,4.72156849140826
+1.34228,4.660424803281376
+1.37584,5.198480068729932
+1.4094,4.625046538851912
+1.44295,4.284775761657847
+1.47651,4.812189376201981
+1.51007,4.315534413743905
+1.54362,4.760980724294873
+1.57718,4.727276149095751
+1.61074,5.237875326158199
+1.6443,5.600815089366542
+1.67785,4.318761730291738
+1.71141,4.910575287893207
+1.74497,4.910444429719779
+1.77852,4.707206764832537
+1.81208,-
+1.84564,-
+1.87919,-
+1.91275,-
+1.94631,-
+1.97987,-
+2.01342,-
+2.04698,-
+2.08054,-
+2.11409,-
+2.14765,-
+2.18121,-
+2.21477,-
+2.24832,-
+2.28188,-
+2.31544,4.422983378242331
+2.34899,5.359364761227682
+2.38255,4.841872916594042
+2.41611,4.453602273193792
+2.44966,4.816580223637219
+2.48322,4.656582564588272
+2.51678,5.606489266513825
+2.55034,4.582834118892858
+2.58389,5.358413054546794
+2.61745,5.037585812172553
+2.65101,5.010047150101671
+2.68456,4.4740587778492
+2.71812,4.831098366349361
+2.75168,5.110478523683992
+2.78523,5.406622806396703
+2.81879,4.821015162955469
+2.85235,3.84955636141737
+2.88591,5.33068293503717
+2.91946,4.457110980807898
+2.95302,5.089099893440706
+2.98658,5.263826825274227
+3.02013,5.137363913563429
+3.05369,5.468545048272188
+3.08725,4.878568124831146
+3.12081,5.524605182380045
+3.15436,4.886604661602519
+3.18792,4.770206289781423
+3.22148,5.004728653822274
+3.25503,5.96102300691395
+3.28859,4.739755869682671
+3.32215,4.219066375817334
+3.3557,5.267931444647911
+3.38926,5.131554352206982
+3.42282,5.198859840560068
+3.45638,5.526803174575454
+3.48993,5.25165668211094
+3.52349,5.025769485188667
+3.55705,5.23626131298009
+3.5906,5.348796866788495
+3.62416,4.913142022821413
+3.65772,5.430708114414467
+3.69128,5.502394268211688
+3.72483,5.210185306316648
+3.75839,4.940425421771406
+3.79195,4.470056455834484
+3.8255,6.074688947921385
+3.85906,-
+3.89262,-
+3.92617,-
+3.95973,-
+3.99329,-
+4.02685,-
+4.0604,5.015702423793794
+4.09396,4.70803660666891
+4.12752,5.077026819818495
+4.16107,5.268065312812933
+4.19463,4.76519133844461
+4.22819,4.947124097295847
+4.26174,5.181903572895836
+4.2953,4.823406593053663
+4.32886,5.937215809206706
+4.36242,5.389886357475535
+4.39597,4.46174030872919
+4.42953,5.137726744785479
+4.46309,5.071354516498011
+4.49664,4.972575109929679
+4.5302,5.367046106476844
+4.56376,5.373614524156654
+4.59732,5.808062852861663
+4.63087,5.179565409978449
+4.66443,4.860756885037591
+4.69799,5.479590909331817
+4.73154,4.835465486149173
+4.7651,4.102564137893276
+4.79866,4.48084878713809
+4.83221,4.780026732616937
+4.86577,5.135013746875311
+4.89933,6.122314311172008
+4.93289,4.76220788442304
+4.96644,5.586151299813839
+5,5.14698369921444
+
+[WEIGHTS]
+1,1
+2,1
+3,1
+4,1
+5,1
+6,1
+7,1
+8,1
+9,1
+10,1
+11,1
+12,1
+13,1
+14,1
+15,1
+16,1
+17,1
+18,1
+19,1
+20,1
+21,1
+22,1
+23,1
+24,1
+25,1
+26,1
+27,1
+28,1
+29,1
+30,1
+31,1
+32,1
+33,1
+34,1
+35,1
+36,1
+37,1
+38,1
+39,1
+40,1
+41,1
+42,1
+43,1
+44,1
+45,1
+46,1
+47,1
+48,1
+49,1
+50,1
+51,1
+52,1
+53,1
+54,1
+55,1
+56,1
+57,1
+58,1
+59,1
+60,1
+61,1
+62,1
+63,1
+64,1
+65,1
+66,1
+67,1
+68,1
+69,1
+70,1
+71,1
+72,1
+73,1
+74,1
+75,1
+76,1
+77,1
+78,1
+79,1
+80,1
+81,1
+82,1
+83,1
+84,1
+85,1
+86,1
+87,1
+88,1
+89,1
+90,1
+91,1
+92,1
+93,1
+94,1
+95,1
+96,1
+97,1
+98,1
+99,1
+100,1
+101,1
+102,1
+103,1
+104,1
+105,1
+106,1
+107,1
+108,1
+109,1
+110,1
+111,1
+112,1
+113,1
+114,1
+115,1
+116,1
+117,1
+118,1
+119,1
+120,1
+121,1
+122,1
+123,1
+124,1
+125,1
+126,1
+127,1
+128,1
+129,1
+130,1
+131,1
+132,1
+133,1
+134,1
+135,1
+136,1
+137,1
+138,1
+139,1
+140,1
+141,1
+142,1
+143,1
+144,1
+145,1
+146,1
+147,1
+148,1
+149,1
+150,1
diff --git a/data/simpleNoise.dat b/data/simpleNoise.dat
new file mode 100644
index 0000000..9c134c8
--- /dev/null
+++ b/data/simpleNoise.dat
@@ -0,0 +1,310 @@
+[INFO]
+ROAD_RUNNER_VERSION=0.5
+CREATOR=rrWinC-0.1
+NUMBER_OF_COLS=2
+NUMBER_OF_ROWS=150
+COLUMN_HEADERS=time,S1
+
+[DATA]
+0,0.0582654758004938
+0.033557,0.6781112628786208
+0.0671141,0.7047993949907539
+0.100671,1.077699403070225
+0.134228,1.767708385183879
+0.167785,1.124148863381977
+0.201342,1.595979743355486
+0.234899,2.372571375050897
+0.268456,2.17337502085956
+0.302013,2.321934170376892
+0.33557,3.170324477676908
+0.369128,2.357966281482565
+0.402685,3.292230703251287
+0.436242,3.248889479681335
+0.469799,2.699513962357177
+0.503356,2.695871056559986
+0.536913,3.196966218087442
+0.57047,3.238836097753827
+0.604027,3.409462116105846
+0.637584,3.149770579538291
+0.671141,3.405315824398895
+0.704698,3.705649652448641
+0.738255,3.63482292699852
+0.771812,4.249983398085814
+0.805369,3.697721634328057
+0.838926,4.625044694469078
+0.872483,4.043247250129159
+0.90604,3.846962438004862
+0.939597,3.896884325879508
+0.973154,4.184642188120114
+1.00671,4.415457291060789
+1.04027,4.207425125353223
+1.07383,4.44086183791622
+1.10738,4.843809344473288
+1.14094,4.954051292746685
+1.1745,4.503469886511821
+1.20805,4.689638278703605
+1.24161,4.885193367408234
+1.27517,4.299946572622029
+1.30872,4.72156849140826
+1.34228,4.660424803281376
+1.37584,5.198480068729932
+1.4094,4.625046538851912
+1.44295,4.284775761657847
+1.47651,4.812189376201981
+1.51007,4.315534413743905
+1.54362,4.760980724294873
+1.57718,4.727276149095751
+1.61074,5.237875326158199
+1.6443,5.600815089366542
+1.67785,4.318761730291738
+1.71141,4.910575287893207
+1.74497,4.910444429719779
+1.77852,4.707206764832537
+1.81208,5.213752689807981
+1.84564,5.416894072468551
+1.87919,5.109702295781155
+1.91275,4.390348370171798
+1.94631,4.828143106602059
+1.97987,4.448237643348246
+2.01342,4.790821773105939
+2.04698,5.280684727436937
+2.08054,5.451184451999881
+2.11409,6.152410174015533
+2.14765,4.278788363460737
+2.18121,4.869497490057987
+2.21477,4.730963482419092
+2.24832,5.15528720617903
+2.28188,4.566142748367781
+2.31544,4.422983378242331
+2.34899,5.359364761227682
+2.38255,4.841872916594042
+2.41611,4.453602273193792
+2.44966,4.816580223637219
+2.48322,4.656582564588272
+2.51678,5.606489266513825
+2.55034,4.582834118892858
+2.58389,5.358413054546794
+2.61745,5.037585812172553
+2.65101,5.010047150101671
+2.68456,4.4740587778492
+2.71812,4.831098366349361
+2.75168,5.110478523683992
+2.78523,5.406622806396703
+2.81879,4.821015162955469
+2.85235,3.84955636141737
+2.88591,5.33068293503717
+2.91946,4.457110980807898
+2.95302,5.089099893440706
+2.98658,5.263826825274227
+3.02013,5.137363913563429
+3.05369,5.468545048272188
+3.08725,4.878568124831146
+3.12081,5.524605182380045
+3.15436,4.886604661602519
+3.18792,4.770206289781423
+3.22148,5.004728653822274
+3.25503,5.96102300691395
+3.28859,4.739755869682671
+3.32215,4.219066375817334
+3.3557,5.267931444647911
+3.38926,5.131554352206982
+3.42282,5.198859840560068
+3.45638,5.526803174575454
+3.48993,5.25165668211094
+3.52349,5.025769485188667
+3.55705,5.23626131298009
+3.5906,5.348796866788495
+3.62416,4.913142022821413
+3.65772,5.430708114414467
+3.69128,5.502394268211688
+3.72483,5.210185306316648
+3.75839,4.940425421771406
+3.79195,4.470056455834484
+3.8255,6.074688947921385
+3.85906,4.900235208799796
+3.89262,5.528227141152619
+3.92617,4.678299243366317
+3.95973,4.854321398962651
+3.99329,4.693375919300093
+4.02685,5.079449489237679
+4.0604,5.015702423793794
+4.09396,4.70803660666891
+4.12752,5.077026819818495
+4.16107,5.268065312812933
+4.19463,4.76519133844461
+4.22819,4.947124097295847
+4.26174,5.181903572895836
+4.2953,4.823406593053663
+4.32886,5.937215809206706
+4.36242,5.389886357475535
+4.39597,4.46174030872919
+4.42953,5.137726744785479
+4.46309,5.071354516498011
+4.49664,4.972575109929679
+4.5302,5.367046106476844
+4.56376,5.373614524156654
+4.59732,5.808062852861663
+4.63087,5.179565409978449
+4.66443,4.860756885037591
+4.69799,5.479590909331817
+4.73154,4.835465486149173
+4.7651,4.102564137893276
+4.79866,4.48084878713809
+4.83221,4.780026732616937
+4.86577,5.135013746875311
+4.89933,6.122314311172008
+4.93289,4.76220788442304
+4.96644,5.586151299813839
+5,5.14698369921444
+
+[WEIGHTS]
+1,1
+2,1
+3,1
+4,1
+5,1
+6,1
+7,1
+8,1
+9,1
+10,1
+11,1
+12,1
+13,1
+14,1
+15,1
+16,1
+17,1
+18,1
+19,1
+20,1
+21,1
+22,1
+23,1
+24,1
+25,1
+26,1
+27,1
+28,1
+29,1
+30,1
+31,1
+32,1
+33,1
+34,1
+35,1
+36,1
+37,1
+38,1
+39,1
+40,1
+41,1
+42,1
+43,1
+44,1
+45,1
+46,1
+47,1
+48,1
+49,1
+50,1
+51,1
+52,1
+53,1
+54,1
+55,1
+56,1
+57,1
+58,1
+59,1
+60,1
+61,1
+62,1
+63,1
+64,1
+65,1
+66,1
+67,1
+68,1
+69,1
+70,1
+71,1
+72,1
+73,1
+74,1
+75,1
+76,1
+77,1
+78,1
+79,1
+80,1
+81,1
+82,1
+83,1
+84,1
+85,1
+86,1
+87,1
+88,1
+89,1
+90,1
+91,1
+92,1
+93,1
+94,1
+95,1
+96,1
+97,1
+98,1
+99,1
+100,1
+101,1
+102,1
+103,1
+104,1
+105,1
+106,1
+107,1
+108,1
+109,1
+110,1
+111,1
+112,1
+113,1
+114,1
+115,1
+116,1
+117,1
+118,1
+119,1
+120,1
+121,1
+122,1
+123,1
+124,1
+125,1
+126,1
+127,1
+128,1
+129,1
+130,1
+131,1
+132,1
+133,1
+134,1
+135,1
+136,1
+137,1
+138,1
+139,1
+140,1
+141,1
+142,1
+143,1
+144,1
+145,1
+146,1
+147,1
+148,1
+149,1
+150,1
diff --git a/data/simpleNoiseWeights.dat b/data/simpleNoiseWeights.dat
new file mode 100644
index 0000000..b162696
--- /dev/null
+++ b/data/simpleNoiseWeights.dat
@@ -0,0 +1,310 @@
+[INFO]
+ROAD_RUNNER_VERSION=0.5
+CREATOR=rrWinC-0.1
+NUMBER_OF_COLS=2
+NUMBER_OF_ROWS=150
+COLUMN_HEADERS=time,S1
+
+[DATA]
+0,0.0582654758004938
+0.033557,0.6781112628786208
+0.0671141,0.7047993949907539
+0.100671,1.077699403070225
+0.134228,1.767708385183879
+0.167785,1.124148863381977
+0.201342,1.595979743355486
+0.234899,2.372571375050897
+0.268456,2.17337502085956
+0.302013,2.321934170376892
+0.33557,3.170324477676908
+0.369128,2.357966281482565
+0.402685,3.292230703251287
+0.436242,3.248889479681335
+0.469799,2.699513962357177
+0.503356,2.695871056559986
+0.536913,3.196966218087442
+0.57047,3.238836097753827
+0.604027,3.409462116105846
+0.637584,3.149770579538291
+0.671141,3.405315824398895
+0.704698,3.705649652448641
+0.738255,3.63482292699852
+0.771812,4.249983398085814
+0.805369,3.697721634328057
+0.838926,4.625044694469078
+0.872483,4.043247250129159
+0.90604,3.846962438004862
+0.939597,3.896884325879508
+0.973154,4.184642188120114
+1.00671,4.415457291060789
+1.04027,4.207425125353223
+1.07383,4.44086183791622
+1.10738,4.843809344473288
+1.14094,4.954051292746685
+1.1745,4.503469886511821
+1.20805,4.689638278703605
+1.24161,4.885193367408234
+1.27517,4.299946572622029
+1.30872,4.72156849140826
+1.34228,4.660424803281376
+1.37584,5.198480068729932
+1.4094,4.625046538851912
+1.44295,4.284775761657847
+1.47651,4.812189376201981
+1.51007,4.315534413743905
+1.54362,4.760980724294873
+1.57718,4.727276149095751
+1.61074,5.237875326158199
+1.6443,5.600815089366542
+1.67785,4.318761730291738
+1.71141,4.910575287893207
+1.74497,4.910444429719779
+1.77852,4.707206764832537
+1.81208,5.213752689807981
+1.84564,5.416894072468551
+1.87919,5.109702295781155
+1.91275,4.390348370171798
+1.94631,4.828143106602059
+1.97987,4.448237643348246
+2.01342,4.790821773105939
+2.04698,5.280684727436937
+2.08054,5.451184451999881
+2.11409,6.152410174015533
+2.14765,4.278788363460737
+2.18121,4.869497490057987
+2.21477,4.730963482419092
+2.24832,5.15528720617903
+2.28188,4.566142748367781
+2.31544,4.422983378242331
+2.34899,5.359364761227682
+2.38255,4.841872916594042
+2.41611,4.453602273193792
+2.44966,4.816580223637219
+2.48322,4.656582564588272
+2.51678,5.606489266513825
+2.55034,4.582834118892858
+2.58389,5.358413054546794
+2.61745,5.037585812172553
+2.65101,5.010047150101671
+2.68456,4.4740587778492
+2.71812,4.831098366349361
+2.75168,5.110478523683992
+2.78523,5.406622806396703
+2.81879,4.821015162955469
+2.85235,3.84955636141737
+2.88591,5.33068293503717
+2.91946,4.457110980807898
+2.95302,5.089099893440706
+2.98658,5.263826825274227
+3.02013,5.137363913563429
+3.05369,5.468545048272188
+3.08725,4.878568124831146
+3.12081,5.524605182380045
+3.15436,4.886604661602519
+3.18792,4.770206289781423
+3.22148,5.004728653822274
+3.25503,5.96102300691395
+3.28859,4.739755869682671
+3.32215,4.219066375817334
+3.3557,5.267931444647911
+3.38926,5.131554352206982
+3.42282,5.198859840560068
+3.45638,5.526803174575454
+3.48993,5.25165668211094
+3.52349,5.025769485188667
+3.55705,5.23626131298009
+3.5906,5.348796866788495
+3.62416,4.913142022821413
+3.65772,5.430708114414467
+3.69128,5.502394268211688
+3.72483,5.210185306316648
+3.75839,4.940425421771406
+3.79195,4.470056455834484
+3.8255,6.074688947921385
+3.85906,4.900235208799796
+3.89262,5.528227141152619
+3.92617,4.678299243366317
+3.95973,4.854321398962651
+3.99329,4.693375919300093
+4.02685,5.079449489237679
+4.0604,5.015702423793794
+4.09396,4.70803660666891
+4.12752,5.077026819818495
+4.16107,5.268065312812933
+4.19463,4.76519133844461
+4.22819,4.947124097295847
+4.26174,5.181903572895836
+4.2953,4.823406593053663
+4.32886,5.937215809206706
+4.36242,5.389886357475535
+4.39597,4.46174030872919
+4.42953,5.137726744785479
+4.46309,5.071354516498011
+4.49664,4.972575109929679
+4.5302,5.367046106476844
+4.56376,5.373614524156654
+4.59732,5.808062852861663
+4.63087,5.179565409978449
+4.66443,4.860756885037591
+4.69799,5.479590909331817
+4.73154,4.835465486149173
+4.7651,4.102564137893276
+4.79866,4.48084878713809
+4.83221,4.780026732616937
+4.86577,5.135013746875311
+4.89933,6.122314311172008
+4.93289,4.76220788442304
+4.96644,5.586151299813839
+5,5.14698369921444
+
+[WEIGHTS]
+1,100
+2,100
+3,100
+4,100
+5,100
+6,100
+7,100
+8,100
+9,100
+10,100
+11,100
+12,100
+13,100
+14,100
+15,100
+16,100
+17,100
+18,100
+19,100
+20,100
+21,100
+22,100
+23,100
+24,100
+25,100
+26,100
+27,100
+28,100
+29,100
+30,100
+31,100
+32,100
+33,100
+34,100
+35,100
+36,100
+37,100
+38,100
+39,100
+40,100
+41,100
+42,100
+43,100
+44,100
+45,100
+46,100
+47,100
+48,100
+49,100
+50,100
+51,100
+52,100
+53,100
+54,100
+55,100
+56,100
+57,100
+58,100
+59,100
+60,100
+61,100
+62,100
+63,100
+64,100
+65,100
+66,100
+67,100
+68,100
+69,100
+70,100
+71,100
+72,100
+73,100
+74,100
+75,1
+76,1
+77,1
+78,1
+79,1
+80,1
+81,1
+82,1
+83,1
+84,1
+85,1
+86,1
+87,1
+88,1
+89,1
+90,1
+91,1
+92,1
+93,1
+94,1
+95,1
+96,1
+97,1
+98,1
+99,1
+100,1
+101,1
+102,1
+103,1
+104,1
+105,1
+106,1
+107,1
+108,1
+109,1
+110,1
+111,1
+112,1
+113,1
+114,1
+115,1
+116,1
+117,1
+118,1
+119,1
+120,1
+121,1
+122,1
+123,1
+124,1
+125,1
+126,1
+127,1
+128,1
+129,1
+130,1
+131,1
+132,1
+133,1
+134,1
+135,1
+136,1
+137,1
+138,1
+139,1
+140,1
+141,1
+142,1
+143,1
+144,1
+145,1
+146,1
+147,1
+148,1
+149,1
+150,1
diff --git a/data/sosbench/00009/00009-sbml-l2v4.xml b/data/sosbench/00009/00009-sbml-l2v4.xml
new file mode 100644
index 0000000..5fb3cd6
--- /dev/null
+++ b/data/sosbench/00009/00009-sbml-l2v4.xml
@@ -0,0 +1,1337 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+
+<!-- This model was downloaded from BioModels Database -->
+<!-- Mon Apr 21 19:44:15 BST 2014                      -->
+<!-- http://www.ebi.ac.uk/biomodels/                   -->
+
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" metaid="_770249" version="4">
+  <model id="BIOMD0000000009" name="Huang1996 - Ultrasensitivity in MAPK cascade" metaid="_000001">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <div class="dc:title">Huang1996 - Ultrasensitivity in MAPK cascade</div>
+            <div class="dc:description">      <p>The temporal sequence of kinase activation, from MAPKKK (activated RAF) to the final effector MAPK (activated ERK), is described here. It is observed from the model that there is an increase in sensitivity along the levels of the cascade, where the activity of MAPK reaches its maximal before MAPKKK.</p>
+                </div>
+            <div class="dc:bibliographicCitation">      <p>This model is described in the article:</p>
+                <div class="bibo:title">        <a href="http://identifiers.org/pubmed/8816754" title="Access to this publication">Ultrasensitivity in the mitogen-activated protein kinase cascade.</a>
+                    </div>
+                <div class="bibo:authorList">Huang CY, Ferrell JE Jr</div>
+                <div class="bibo:Journal">Proc. Natl. Acad. Sci. U.S.A. 1996:93(19):10078-83</div>
+                <p>Abstract:</p>
+                <div class="bibo:abstract">        <p>The mitogen-activated protein kinase (MAPK) cascade is a highly conserved series of three protein kinases implicated in diverse biological processes. Here we demonstrate that the cascade arrangement has unexpected consequences for the dynamics of MAPK signaling. We solved the rate equations for the cascade numerically and found that MAPK is predicted to behave like a highly cooperative enzyme, even though it was not assumed that any o [...]
+                    </div>
+                </div>
+            <div class="bm:curation">      <p>The species K_PP_norm, KKK_P_norm and KK_PP_norm are the relative concentrations of the active MAPK, MAPKK and MAPKKK, that is the double, or single resp. phophorylated forms divided by the total concentrations of each kinase. For MAPK additionally the also active MAPK divided by the maximal concentration of active MAPK is given by rel_K_PP_max. The parameter K_PP_norm_max, the maximal ratio of active MapK, has to be calculated for each chang [...]
+                </div>
+            <div class="dc:publisher">      <p>This model is hosted on        <a href="http://www.ebi.ac.uk/biomodels/">BioModels Database</a>
+            and identified by:        <a href="http://identifiers.org/biomodels.db/BIOMD0000000009">BIOMD0000000009</a>
+            .        </p>
+                <p>To cite BioModels Database, please use:        <a href="http://identifiers.org/pubmed/20587024" title="Latest BioModels Database publication">BioModels Database: An enhanced, curated and annotated resource for published quantitative kinetic models</a>
+            .        </p>
+                </div>
+            <div class="dc:license">      <p>To the extent possible under law, all copyright and related or neighbouring rights to this encoded model have been dedicated to the public domain worldwide. Please refer to        <a href="http://creativecommons.org/publicdomain/zero/1.0/" title="Access to: CC0 1.0 Universal (CC0 1.0), Public Domain Dedication">CC0 Public Domain Dedication</a>
+            for more information.        </p>
+                </div>
+            </body>
+      
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+        <rdf:Description rdf:about="#_000001">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Machne</vCard:Family>
+                  <vCard:Given>Rainer</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>raim at tbi.univie.ac.at</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>University of Vienna</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2005-02-10T23:39:30Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2013-07-16T10:02:42Z</dcterms:W3CDTF>
+          </dcterms:modified>
+          <bqmodel:is>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/biomodels.db/MODEL6615048798"/>
+            </rdf:Bag>
+          </bqmodel:is>
+          <bqmodel:is>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000009"/>
+            </rdf:Bag>
+          </bqmodel:is>
+          <bqmodel:isDescribedBy>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/pubmed/8816754"/>
+            </rdf:Bag>
+          </bqmodel:isDescribedBy>
+          <bqbiol:isHomologTo>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_634"/>
+            </rdf:Bag>
+          </bqbiol:isHomologTo>
+          <bqbiol:isVersionOf>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000165"/>
+            </rdf:Bag>
+          </bqbiol:isVersionOf>
+          <bqbiol:occursIn>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/taxonomy/8355"/>
+            </rdf:Bag>
+          </bqbiol:occursIn>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+      <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="micromole" metaid="metaid_0000046">
+        <listOfUnits>
+          <unit scale="-6" metaid="_396483" kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" metaid="_506358" size="4E-12"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="E1" initialConcentration="3E-5" name="MAPKKK activator (Ras)" metaid="_506372" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506372">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="E2" initialConcentration="0.0003" name="MAPKKK inactivator" metaid="_506392" compartment="compartment"/>
+      <species id="KKK" initialConcentration="0.003" name="Mos" metaid="_506412" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506412">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="P_KKK" initialConcentration="0" name="Mos-P" metaid="_506432" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506432">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KK" initialConcentration="1.2" name="Mek1" metaid="_506452" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506452">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="P_KK" initialConcentration="0" name="Mek1-P" metaid="_506472" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506472">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="PP_KK" initialConcentration="0" name="Mek1-PP" metaid="_506492" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506492">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K" initialConcentration="1.2" name="Erk2" metaid="_506512" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506512">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="P_K" initialConcentration="0" name="Erk2-P" metaid="_506532" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506532">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="PP_K" initialConcentration="0" name="Erk2-PP" metaid="_506552" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506552">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KPase" initialConcentration="0.12" name="MAPK-Pase" metaid="_506572" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506572">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KKPase" initialConcentration="0.0003" name="MAPKK-Pase" metaid="_506592" compartment="compartment"/>
+      <species id="E1_KKK" initialConcentration="0" name="E1_Mos" metaid="_506612" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506612">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                  <rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="E2_P_KKK" initialConcentration="0" name="E2_Mos-P" metaid="_506632" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506632">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="P_KKK_KK" initialConcentration="0" name="P-Mos_Mek1" metaid="_506652" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506652">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="P_KKK_P_KK" initialConcentration="0" name="P-Mos_P-Mek1" metaid="_506672" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506672">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="PP_KK_K" initialConcentration="0" name="PP-Mek1_Erk2" metaid="_506692" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506692">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="PP_KK_P_K" initialConcentration="0" name="PP-Mek1_P-Erk2" metaid="_506712" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506712">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KKPase_PP_KK" initialConcentration="0" name="MAPKK-Pase_PP-Mek1" metaid="_506732" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506732">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KKPase_P_KK" initialConcentration="0" name="MAPKK-Pase_P-Mek1" metaid="_506752" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506752">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KPase_PP_K" initialConcentration="0" name="MAPK-Pase_PP-Erk2" metaid="_506772" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506772">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KPase_P_K" initialConcentration="0" name="MAPK-Pase_P-Erk2" metaid="_506792" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506792">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_PP_norm" name="K_PP_norm" metaid="metaid_0000047" compartment="compartment"/>
+      <species id="KK_PP_norm" name="KK_PP_norm" metaid="metaid_0000048" compartment="compartment"/>
+      <species id="KKK_P_norm" name="KKK_P_norm" metaid="metaid_0000049" compartment="compartment"/>
+      <species id="rel_K_PP_max" name="relative maximal K_PP" metaid="metaid_0100049" compartment="compartment"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="K_PP_norm_max" metaid="metaid_0011050" value="0.900049">
+        <notes>
+          <p xmlns="http://www.w3.org/1999/xhtml">
+        the maximal value of K_PP_norm at a stimulation conc. of 10.</p>
+          
+        </notes>
+</parameter>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="metaid_0000050" variable="K_PP_norm">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">        
+          <apply>
+            <divide/>
+            <apply>
+              <plus/>
+              <ci> PP_K </ci>
+              <ci> KPase_PP_K </ci>
+            </apply>
+            <apply>
+              <plus/>
+              <ci> PP_K </ci>
+              <ci> P_K </ci>
+              <ci> K </ci>
+              <ci> PP_KK_K </ci>
+              <ci> PP_KK_P_K </ci>
+              <ci> KPase_PP_K </ci>
+              <ci> KPase_P_K </ci>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="met100050" variable="rel_K_PP_max">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">        
+          <apply>
+            <divide/>
+            <ci> K_PP_norm </ci>
+            <ci> K_PP_norm_max </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="metai0051" variable="KK_PP_norm">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">        
+          <apply>
+            <divide/>
+            <apply>
+              <plus/>
+              <ci> PP_KK </ci>
+              <ci> PP_KK_K </ci>
+              <ci> PP_KK_P_K </ci>
+              <ci> KKPase_PP_KK </ci>
+            </apply>
+            <apply>
+              <plus/>
+              <ci> PP_KK </ci>
+              <ci> P_KK </ci>
+              <ci> KK </ci>
+              <ci> PP_KK_K </ci>
+              <ci> PP_KK_P_K </ci>
+              <ci> P_KKK_KK </ci>
+              <ci> P_KKK_P_KK </ci>
+              <ci> KKPase_PP_KK </ci>
+              <ci> KKPase_P_KK </ci>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="metaid_0000052" variable="KKK_P_norm">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">        
+          <apply>
+            <divide/>
+            <apply>
+              <plus/>
+              <ci> P_KKK </ci>
+              <ci> P_KKK_KK </ci>
+              <ci> P_KKK_P_KK </ci>
+            </apply>
+            <apply>
+              <plus/>
+              <ci> KKK </ci>
+              <ci> P_KKK </ci>
+              <ci> P_KKK_KK </ci>
+              <ci> P_KKK_P_KK </ci>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="r1a" name="binding of MAPKKK activator" metaid="_506812">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506812">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KKK" metaid="_396495"/>
+          <speciesReference species="E1" metaid="_396507"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E1_KKK" metaid="_396519"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396531">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a1 </ci>
+                  <ci> E1 </ci>
+                  <ci> KKK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d1 </ci>
+                  <ci> E1_KKK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a1" metaid="_815886" value="1000"/>
+            <parameter id="d1" metaid="_815887" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r1b" name="MAPKKK activation" metaid="_506833" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506833">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_525"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="E1_KKK" metaid="_396543"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E1" metaid="_396555"/>
+          <speciesReference species="P_KKK" metaid="_396567"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396579">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> E1_KKK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k2" metaid="_815888" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r2a" name="binding of MAPKKK inactivator" metaid="_506853">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506853">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_KKK" metaid="_396591"/>
+          <speciesReference species="E2" metaid="_396603"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E2_P_KKK" metaid="_396615"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396627">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a2 </ci>
+                  <ci> E2 </ci>
+                  <ci> P_KKK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d2 </ci>
+                  <ci> E2_P_KKK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a2" metaid="_815889" value="1000"/>
+            <parameter id="d2" metaid="_815890" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r2b" name="MAPKKK inactivation" metaid="_506873" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506873">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051390"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="E2_P_KKK" metaid="_396639"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E2" metaid="_396651"/>
+          <speciesReference species="KKK" metaid="_396663"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396675">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> E2_P_KKK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k2" metaid="_815891" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r3a" name="binding P-MAPKKK and MAPKK" metaid="_506893">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506893">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_143"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KK" metaid="_396687"/>
+          <speciesReference species="P_KKK" metaid="_396699"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_KKK_KK" metaid="_396712"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396724">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a3 </ci>
+                  <ci> KK </ci>
+                  <ci> P_KKK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d3 </ci>
+                  <ci> P_KKK_KK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a3" metaid="_815892" value="1000"/>
+            <parameter id="d3" metaid="_815893" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r3b" name="phosphorylation of MAPKK" metaid="_506913" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506913">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_614"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.25"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_KKK_KK" metaid="_396736"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_KK" metaid="_396748"/>
+          <speciesReference species="P_KKK" metaid="_396760"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396772">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> P_KKK_KK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="_815894" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r4a" name="binding MAPKK-Pase and P-MAPKK" metaid="_506933">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506933">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_KK" metaid="_396784"/>
+          <speciesReference species="KKPase" metaid="_396796"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="KKPase_P_KK" metaid="_396808"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396820">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a4 </ci>
+                  <ci> P_KK </ci>
+                  <ci> KKPase </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d4 </ci>
+                  <ci> KKPase_P_KK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a4" metaid="_815895" value="1000"/>
+            <parameter id="d4" metaid="_815896" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r4b" name="dephosphorylation of P-MAPKK" metaid="_506953" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506953">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KKPase_P_KK" metaid="_396832"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="KK" metaid="_396844"/>
+          <speciesReference species="KKPase" metaid="_396856"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396868">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k4 </ci>
+              <ci> KKPase_P_KK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k4" metaid="_815897" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r5a" name="binding P-MAPKKK and P-MAPKK" metaid="_506973">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506973">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_143"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_KK" metaid="_396880"/>
+          <speciesReference species="P_KKK" metaid="_396892"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_KKK_P_KK" metaid="_396904"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396916">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a5 </ci>
+                  <ci> P_KK </ci>
+                  <ci> P_KKK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d5 </ci>
+                  <ci> P_KKK_P_KK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a5" metaid="_815899" value="1000"/>
+            <parameter id="d5" metaid="_815901" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r5b" name="phosphorylation of P-MAPKK" metaid="_506993" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506993">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_614"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.25"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_KKK_P_KK" metaid="_396928"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PP_KK" metaid="_396940"/>
+          <speciesReference species="P_KKK" metaid="_396952"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396965">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k5 </ci>
+              <ci> P_KKK_P_KK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5" metaid="_815902" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r6a" name="binding MAPKK-Pase and PP-MAPKK" metaid="_507013">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507013">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="PP_KK" metaid="_396977"/>
+          <speciesReference species="KKPase" metaid="_396989"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="KKPase_PP_KK" metaid="_397001"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397013">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a6 </ci>
+                  <ci> PP_KK </ci>
+                  <ci> KKPase </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d6 </ci>
+                  <ci> KKPase_PP_KK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a6" metaid="_815903" value="1000"/>
+            <parameter id="d6" metaid="_815904" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r6b" name="dephosphorylation of PP-MAPKK" metaid="_507033" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507033">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051389"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KKPase_PP_KK" metaid="_397025"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_KK" metaid="_397037"/>
+          <speciesReference species="KKPase" metaid="_397049"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397061">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k6 </ci>
+              <ci> KKPase_PP_KK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k6" metaid="_815905" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r7a" name="binding MAPK and PP-MAPKK" metaid="_507053">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507053">
+              <bqbiol:hasVersion>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_1780"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_495"/>
+                </rdf:Bag>
+              </bqbiol:hasVersion>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K" metaid="_397073"/>
+          <speciesReference species="PP_KK" metaid="_397085"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PP_KK_K" metaid="_397097"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397109">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a7 </ci>
+                  <ci> K </ci>
+                  <ci> PP_KK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d7 </ci>
+                  <ci> PP_KK_K </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a7" metaid="_815906" value="1000"/>
+            <parameter id="d7" metaid="_815907" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r7b" name="phosphorylation of MAPK" metaid="_507073" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507073">
+              <bqbiol:hasVersion>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_136"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_2247"/>
+                </rdf:Bag>
+              </bqbiol:hasVersion>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.12.2"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="PP_KK_K" metaid="_397121"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_K" metaid="_397133"/>
+          <speciesReference species="PP_KK" metaid="_397145"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397158">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k7 </ci>
+              <ci> PP_KK_K </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_815908" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r8a" name="binding MAPK-Pase and P-MAPK" metaid="_507093">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507093">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_K" metaid="_397170"/>
+          <speciesReference species="KPase" metaid="_397182"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="KPase_P_K" metaid="_397194"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397206">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a8 </ci>
+                  <ci> P_K </ci>
+                  <ci> KPase </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d8 </ci>
+                  <ci> KPase_P_K </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a8" metaid="_815909" value="1000"/>
+            <parameter id="d8" metaid="_815910" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r8b" name="dephosphorylation of P-MAPK" metaid="_507113" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507113">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KPase_P_K" metaid="_397218"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" metaid="_397230"/>
+          <speciesReference species="KPase" metaid="_397242"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397254">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k8 </ci>
+              <ci> KPase_P_K </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k8" metaid="_815911" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r9a" name="binding PP-MAPKK and P-MAPK" metaid="_507133">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507133">
+              <bqbiol:hasVersion>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_1780"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_495"/>
+                </rdf:Bag>
+              </bqbiol:hasVersion>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_K" metaid="_397266"/>
+          <speciesReference species="PP_KK" metaid="_397278"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PP_KK_P_K" metaid="_397291"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397303">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a9 </ci>
+                  <ci> P_K </ci>
+                  <ci> PP_KK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d9 </ci>
+                  <ci> PP_KK_P_K </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a9" metaid="_815912" value="1000"/>
+            <parameter id="d9" metaid="_815913" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r9b" name="phosphorylation of P-MAPK" metaid="_507153" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507153">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.12.2"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000187"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:hasVersion>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_136"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_2247"/>
+                </rdf:Bag>
+              </bqbiol:hasVersion>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="PP_KK_P_K" metaid="_397315"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PP_KK" metaid="_397327"/>
+          <speciesReference species="PP_K" metaid="_397339"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397351">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k9 </ci>
+              <ci> PP_KK_P_K </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9" metaid="_815914" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r10a" name="binding MAPK-Pase and PP-MAPK" metaid="_507173">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507173">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="PP_K" metaid="_397363"/>
+          <speciesReference species="KPase" metaid="_397376"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="KPase_PP_K" metaid="_397388"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397400">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a10 </ci>
+                  <ci> PP_K </ci>
+                  <ci> KPase </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d10 </ci>
+                  <ci> KPase_PP_K </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a10" metaid="_815916" value="1000"/>
+            <parameter id="d10" metaid="_815918" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r10b" name="dephosphorylation of PP-MAPK" metaid="_507193" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507193">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000188"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KPase_PP_K" metaid="_397412"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_K" metaid="_397424"/>
+          <speciesReference species="KPase" metaid="_397436"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397448">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k10 </ci>
+              <ci> KPase_PP_K </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k10" metaid="_815919" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/data/sosbench/00009/00009-settings.txt b/data/sosbench/00009/00009-settings.txt
new file mode 100644
index 0000000..6c0df2a
--- /dev/null
+++ b/data/sosbench/00009/00009-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 150
+steps: 150
+variables: E1, E2, KKK, P_KKK, KK, P_KK, PP_KK, K, P_K, PP_K, KPase, KKPase, E1_KKK, E2_P_KKK, P_KKK_KK, P_KKK_P_KK, PP_KK_K, PP_KK_P_K, KKPase_PP_KK, KKPase_P_KK, KPase_PP_K, KPase_P_K, K_PP_norm, KK_PP_norm, KKK_P_norm, rel_K_PP_max
+absolute: 1.0e-15
+relative: 1.0e-9
+amount: 
+concentration: E1, E2, KKK, P_KKK, KK, P_KK, PP_KK, K, P_K, PP_K, KPase, KKPase, E1_KKK, E2_P_KKK, P_KKK_KK, P_KKK_P_KK, PP_KK_K, PP_KK_P_K, KKPase_PP_KK, KKPase_P_KK, KPase_PP_K, KPase_P_K, K_PP_norm, KK_PP_norm, KKK_P_norm, rel_K_PP_max
+
diff --git a/data/sosbench/00009/bench.py b/data/sosbench/00009/bench.py
new file mode 100644
index 0000000..29f44aa
--- /dev/null
+++ b/data/sosbench/00009/bench.py
@@ -0,0 +1,27 @@
+def run():
+    from roadrunner import *
+
+    o=SimulateOptions()
+
+    #o.stiff = True
+
+    o.duration=150
+
+    o.steps = 300
+
+    o.absolute = 1e-15
+    o.relative = 1e-9
+
+    o.resetModel = True
+
+    r=RoadRunner("00001-sbml-l2v4.xml")
+
+    Logger.setLevel(Logger.LOG_INFORMATION)
+    
+    r.simulate(o);
+
+    plot(r.getSimulationResult())
+
+
+if __name__ == "__main__":
+    run()
diff --git a/data/sosbench/00014/00014-sbml-l2v2.xml b/data/sosbench/00014/00014-sbml-l2v2.xml
new file mode 100644
index 0000000..27a01ee
--- /dev/null
+++ b/data/sosbench/00014/00014-sbml-l2v2.xml
@@ -0,0 +1,12390 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+
+<!-- This model was downloaded from BioModels Database -->
+<!-- Tue Apr 22 05:56:43 BST 2014                      -->
+<!-- http://www.ebi.ac.uk/biomodels/                   -->
+
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" metaid="_001885" version="1">
+  <model id="MAPK_in_Scaffold" name="Levchenko2000_MAPK_Scaffold" metaid="_000001">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <h1>MAPK cascade on a scaffold</h1>
+            <table border="0" cellpadding="2" cellspacing="0">      <thead>        <tr>          <th align="left" bgcolor="#eeeeee" valign="middle">Citation</th>
+                        </tr>
+                    </thead>
+                <tbody>        <tr>          <td>Levchenko, A., Bruck, J., Sternberg, P.W. (2000)
+							.Scaffold proteins may biphasically affect the levels of mitogen-activated protein kinase signaling and reduce its threshold properties. Proc. Natl. Acad. Sci. USA 97(11):5818-5823.            <a href="http://www.pnas.org/cgi/content/abstract/97/11/5818">http://www.pnas.org/cgi/content/abstract/97/11/5818</a>
+                            </td>
+                        </tr>
+                    </tbody>
+                </table>
+            <table border="0" cellpadding="2" cellspacing="0">      <thead>        <tr>          <th align="left" bgcolor="#eeeeee" valign="middle">Description</th>
+                        </tr>
+                    </thead>
+                <tbody>        <tr>          <td>This model describes a basic 3-stage Mitogen Activated Protein Kinase (MAPK). Kinases in solution are written as  K[3,J], K[2,J], K[1,J] for MAPKKK, MAPKK, and MAPK, respectively, J indicates the phosphorylation level, J=0,1 for K3 and J=0,1,2 for K2 and K1. Scaffolds have three slots, for MAPK, MAPKK, and MAPKKK, respectively. Bound and free scaffold are denoted as S[i,j,k], where i, j, and k indicate the binding of K[1,i], K[2,j] and K[3 [...]
+                        </tr>
+                    </tbody>
+                </table>
+            <table border="0" cellpadding="2" cellspacing="0">      <thead>        <tr>          <th align="left" bgcolor="#eeeeee" valign="middle">Rate constant      </th>
+                        <th align="left" bgcolor="#eeeeee" valign="middle">Reaction</th>
+                        </tr>
+                    </thead>
+                <tbody>        <tr>          <td>a10 = 5.</td>
+                        <td>MAPKP + K[1, 2] -> K_MAPKP[1, 2]</td>
+                        </tr>
+                    <tr>          <td>a1 = 1.</td>
+                        <td>RAFK + K[3, 0] -> K_RAFK[3, 0]</td>
+                        </tr>
+                    <tr>          <td>a2 = 0.5</td>
+                        <td>RAFP + K[3, 1] -> K_RAFP[3, 1]</td>
+                        </tr>
+                    <tr>          <td>a3 = 3.3</td>
+                        <td>K[2, 0] + K[3, 1] -> K_K[2, 0, 3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>a4 = 10.</td>
+                        <td>MEKP + K[2, 1] -> K_MEKP[2, 1]</td>
+                        </tr>
+                    <tr>          <td>a5 = 3.3</td>
+                        <td>K[2, 1] + K[3, 1] -> K_K[2, 1, 3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>a6 = 10.</td>
+                        <td>MEKP + K[2, 2] -> K_MEKP[2, 2]</td>
+                        </tr>
+                    <tr>          <td>a7 = 20.</td>
+                        <td>K[1, 0] + K[2, 2] -> K_K[1, 0, 2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>a8 = 5.</td>
+                        <td>MAPKP + K[1, 1] -> K_MAPKP[1, 1]</td>
+                        </tr>
+                    <tr>          <td>a9 = 20.</td>
+                        <td>K[1, 1] + K[2, 2] -> K_K[1, 1, 2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>d10 = 0.4</td>
+                        <td>K_MAPKP[1, 2] -> MAPKP + K[1, 2]</td>
+                        </tr>
+                    <tr>          <td>d1 = 0.4</td>
+                        <td>K_RAFK[3, 0] -> RAFK + K[3, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[0, 0, 0] -> RAFK + S[0, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[0, -1, 0] -> RAFK + S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[0, 1, 0] -> RAFK + S[0, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[0, 2, 0] -> RAFK + S[0, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[-1, 0, 0] -> RAFK + S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[1, 0, 0] -> RAFK + S[1, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[-1, -1, 0] -> RAFK + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[-1, 1, 0] -> RAFK + S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[1, -1, 0] -> RAFK + S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[1, 1, 0] -> RAFK + S[1, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[-1, 2, 0] -> RAFK + S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[1, 2, 0] -> RAFK + S[1, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[2, 0, 0] -> RAFK + S[2, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[2, -1, 0] -> RAFK + S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[2, 1, 0] -> RAFK + S[2, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[2, 2, 0] -> RAFK + S[2, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>d2 = 0.5</td>
+                        <td>K_RAFP[3, 1] -> RAFP + K[3, 1]</td>
+                        </tr>
+                    <tr>          <td>d3 = 0.42</td>
+                        <td>K_K[2, 0, 3, 1] -> K[2, 0] + K[3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>d4 = 0.8</td>
+                        <td>K_MEKP[2, 1] -> MEKP + K[2, 1]</td>
+                        </tr>
+                    <tr>          <td>d5 = 0.4</td>
+                        <td>K_K[2, 1, 3, 1] -> K[2, 1] + K[3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>d6 = 0.8</td>
+                        <td>K_MEKP[2, 2] -> MEKP + K[2, 2]</td>
+                        </tr>
+                    <tr>          <td>d7 = 0.6</td>
+                        <td>K_K[1, 0, 2, 2] -> K[1, 0] + K[2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>d8 = 0.4</td>
+                        <td>K_MAPKP[1, 1] -> MAPKP + K[1, 1]</td>
+                        </tr>
+                    <tr>          <td>d9 = 0.6</td>
+                        <td>K_K[1, 1, 2, 2] -> K[1, 1] + K[2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>k10 = 0.1</td>
+                        <td>K_MAPKP[1, 2] -> MAPKP + K[1, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>K_RAFK[3, 0] -> RAFK + K[3, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[0, 0, 0] -> RAFK + S[0, 0, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[0, -1, 0] -> RAFK + S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[0, 1, 0] -> RAFK + S[0, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[0, 2, 0] -> RAFK + S[0, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[-1, 0, 0] -> RAFK + S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[1, 0, 0] -> RAFK + S[1, 0, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[-1, -1, 0] -> RAFK + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[-1, 1, 0] -> RAFK + S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[1, -1, 0] -> RAFK + S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[1, 1, 0] -> RAFK + S[1, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[-1, 2, 0] -> RAFK + S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[1, 2, 0] -> RAFK + S[1, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[2, 0, 0] -> RAFK + S[2, 0, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[2, -1, 0] -> RAFK + S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[2, 1, 0] -> RAFK + S[2, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[2, 2, 0] -> RAFK + S[2, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[0, 0, 0] -> S_RAFK[0, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[0, -1, 0] -> S_RAFK[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[0, 1, 0] -> S_RAFK[0, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[0, 2, 0] -> S_RAFK[0, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[-1, 0, 0] -> S_RAFK[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[1, 0, 0] -> S_RAFK[1, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[-1, -1, 0] -> S_RAFK[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[-1, 1, 0] -> S_RAFK[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[1, -1, 0] -> S_RAFK[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[1, 1, 0] -> S_RAFK[1, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[-1, 2, 0] -> S_RAFK[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[1, 2, 0] -> S_RAFK[1, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[2, 0, 0] -> S_RAFK[2, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[2, -1, 0] -> S_RAFK[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[2, 1, 0] -> S_RAFK[2, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[2, 2, 0] -> S_RAFK[2, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>k2 = 0.1</td>
+                        <td>K_RAFP[3, 1] -> RAFP + K[3, 0]</td>
+                        </tr>
+                    <tr>          <td>k3 = 0.1</td>
+                        <td>K_K[2, 0, 3, 1] -> K[2, 1] + K[3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k3 = 0.1</td>
+                        <td>S[0, 0, 1] -> S[0, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k3 = 0.1</td>
+                        <td>S[-1, 0, 1] -> S[-1, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k3 = 0.1</td>
+                        <td>S[1, 0, 1] -> S[1, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k3 = 0.1</td>
+                        <td>S[2, 0, 1] -> S[2, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k4 = 0.1</td>
+                        <td>K_MEKP[2, 1] -> MEKP + K[2, 0]</td>
+                        </tr>
+                    <tr>          <td>k5 = 0.1</td>
+                        <td>K_K[2, 1, 3, 1] -> K[2, 2] + K[3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k5a = 0.1</td>
+                        <td>S[0, 1, 1] -> S[0, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k5a = 0.1</td>
+                        <td>S[-1, 1, 1] -> S[-1, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k5a = 0.1</td>
+                        <td>S[1, 1, 1] -> S[1, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k5a = 0.1</td>
+                        <td>S[2, 1, 1] -> S[2, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k6 = 0.1</td>
+                        <td>K_MEKP[2, 2] -> MEKP + K[2, 1]</td>
+                        </tr>
+                    <tr>          <td>k7 = 0.1</td>
+                        <td>K_K[1, 0, 2, 2] -> K[1, 1] + K[2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>k7 = 0.1</td>
+                        <td>S[0, 2, 0] -> S[1, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>k7 = 0.1</td>
+                        <td>S[0, 2, -1] -> S[1, 2, -1]</td>
+                        </tr>
+                    <tr>          <td>k7 = 0.1</td>
+                        <td>S[0, 2, 1] -> S[1, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k8 = 0.1</td>
+                        <td>K_MAPKP[1, 1] -> MAPKP + K[1, 0]</td>
+                        </tr>
+                    <tr>          <td>k9 = 0.1</td>
+                        <td>K_K[1, 1, 2, 2] -> K[1, 2] + K[2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>k9a = 0.1</td>
+                        <td>S[1, 2, 0] -> S[2, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>k9a = 0.1</td>
+                        <td>S[1, 2, -1] -> S[2, 2, -1]</td>
+                        </tr>
+                    <tr>          <td>k9a = 0.1</td>
+                        <td>S[1, 2, 1] -> S[2, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, 0] -> K[1, 0] + S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, 0] -> K[2, 0] + S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, 0] -> K[3, 0] + S[0, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, -1] -> K[1, 0] + S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, 1] -> K[1, 0] + S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, -1] -> K[2, 0] + S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, 1] -> K[2, 0] + S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, -1, 0] -> K[1, 0] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 1, 0] -> K[1, 0] + S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, -1, 0] -> K[3, 0] + S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 1, 0] -> K[3, 0] + S[0, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, -1, -1] -> K[1, 0] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, -1, 1] -> K[1, 0] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 1, -1] -> K[1, 0] + S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 1, 1] -> K[1, 0] + S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 2, 0] -> K[1, 0] + S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 2, 0] -> K[3, 0] + S[0, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 2, -1] -> K[1, 0] + S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 2, 1] -> K[1, 0] + S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 0, 0] -> K[2, 0] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 0, 0] -> K[2, 0] + S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 0, 0] -> K[3, 0] + S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 0, 0] -> K[3, 0] + S[1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 0, -1] -> K[2, 0] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 0, 1] -> K[2, 0] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 0, -1] -> K[2, 0] + S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 0, 1] -> K[2, 0] + S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, -1, 0] -> K[3, 0] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 1, 0] -> K[3, 0] + S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, -1, 0] -> K[3, 0] + S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 1, 0] -> K[3, 0] + S[1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 2, 0] -> K[3, 0] + S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 2, 0] -> K[3, 0] + S[1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 0, 0] -> K[2, 0] + S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 0, 0] -> K[3, 0] + S[2, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 0, -1] -> K[2, 0] + S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 0, 1] -> K[2, 0] + S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, -1, 0] -> K[3, 0] + S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 1, 0] -> K[3, 0] + S[2, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 2, 0] -> K[3, 0] + S[2, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 0, 0] -> S[0, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 0, -1] -> S[0, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 0, 1] -> S[0, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, -1, 0] -> S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 1, 0] -> S[0, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, -1, -1] -> S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, -1, 1] -> S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 1, -1] -> S[0, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 1, 1] -> S[0, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 2, 0] -> S[0, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 2, -1] -> S[0, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 2, 1] -> S[0, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[0, -1, 0] -> S[0, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[0, -1, -1] -> S[0, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[0, -1, 1] -> S[0, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[-1, -1, 0] -> S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[1, -1, 0] -> S[1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[-1, -1, -1] -> S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[-1, -1, 1] -> S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[1, -1, -1] -> S[1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[1, -1, 1] -> S[1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[2, -1, 0] -> S[2, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[2, -1, -1] -> S[2, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[2, -1, 1] -> S[2, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[0, 0, -1] -> S[0, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[0, -1, -1] -> S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[0, 1, -1] -> S[0, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[0, 2, -1] -> S[0, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[-1, 0, -1] -> S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[1, 0, -1] -> S[1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[-1, -1, -1] -> S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[-1, 1, -1] -> S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[1, -1, -1] -> S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[1, 1, -1] -> S[1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[-1, 2, -1] -> S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[1, 2, -1] -> S[1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[2, 0, -1] -> S[2, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[2, -1, -1] -> S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[2, 1, -1] -> S[2, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[2, 2, -1] -> S[2, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 0, 1] -> K[3, 1] + S[0, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 1, 0] -> K[2, 1] + S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 1, -1] -> K[2, 1] + S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 1, 1] -> K[2, 1] + S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, -1, 1] -> K[3, 1] + S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 1, 1] -> K[3, 1] + S[0, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 2, 0] -> K[2, 2] + S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 2, -1] -> K[2, 2] + S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 2, 1] -> K[2, 2] + S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 2, 1] -> K[3, 1] + S[0, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 0, 0] -> K[1, 1] + S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 0, -1] -> K[1, 1] + S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 0, 1] -> K[1, 1] + S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 0, 1] -> K[3, 1] + S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 0, 1] -> K[3, 1] + S[1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, -1, 0] -> K[1, 1] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, 0] -> K[1, 1] + S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 1, 0] -> K[2, 1] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, 0] -> K[2, 1] + S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, -1, -1] -> K[1, 1] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, -1, 1] -> K[1, 1] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, -1] -> K[1, 1] + S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, 1] -> K[1, 1] + S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 1, -1] -> K[2, 1] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 1, 1] -> K[2, 1] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, -1] -> K[2, 1] + S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, 1] -> K[2, 1] + S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, -1, 1] -> K[3, 1] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 1, 1] -> K[3, 1] + S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, -1, 1] -> K[3, 1] + S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, 1] -> K[3, 1] + S[1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, 0] -> K[1, 1] + S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 2, 0] -> K[2, 2] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, 0] -> K[2, 2] + S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, -1] -> K[1, 1] + S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, 1] -> K[1, 1] + S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 2, -1] -> K[2, 2] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 2, 1] -> K[2, 2] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, -1] -> K[2, 2] + S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, 1] -> K[2, 2] + S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 2, 1] -> K[3, 1] + S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, 1] -> K[3, 1] + S[1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 0, 0] -> K[1, 2] + S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 0, -1] -> K[1, 2] + S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 0, 1] -> K[1, 2] + S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 0, 1] -> K[3, 1] + S[2, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, -1, 0] -> K[1, 2] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, 0] -> K[1, 2] + S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, 0] -> K[2, 1] + S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, -1, -1] -> K[1, 2] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, -1, 1] -> K[1, 2] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, -1] -> K[1, 2] + S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, 1] -> K[1, 2] + S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, -1] -> K[2, 1] + S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, 1] -> K[2, 1] + S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, -1, 1] -> K[3, 1] + S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, 1] -> K[3, 1] + S[2, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, 0] -> K[1, 2] + S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, 0] -> K[2, 2] + S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, -1] -> K[1, 2] + S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, 1] -> K[1, 2] + S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, -1] -> K[2, 2] + S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, 1] -> K[2, 2] + S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, 1] -> K[3, 1] + S[2, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 0, 0] -> S[1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 0, -1] -> S[1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 0, 1] -> S[1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, -1, 0] -> S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 1, 0] -> S[1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, -1, -1] -> S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, -1, 1] -> S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 1, -1] -> S[1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 1, 1] -> S[1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 2, 0] -> S[1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 2, -1] -> S[1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 2, 1] -> S[1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 0, 0] -> S[2, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 0, -1] -> S[2, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 0, 1] -> S[2, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, -1, 0] -> S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 1, 0] -> S[2, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, -1, -1] -> S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, -1, 1] -> S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 1, -1] -> S[2, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 1, 1] -> S[2, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 2, 0] -> S[2, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 2, -1] -> S[2, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 2, 1] -> S[2, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[0, -1, 0] -> S[0, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[0, -1, -1] -> S[0, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[0, -1, 1] -> S[0, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[-1, -1, 0] -> S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[1, -1, 0] -> S[1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[-1, -1, -1] -> S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[-1, -1, 1] -> S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[1, -1, -1] -> S[1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[1, -1, 1] -> S[1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[2, -1, 0] -> S[2, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[2, -1, -1] -> S[2, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[2, -1, 1] -> S[2, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[0, -1, 0] -> S[0, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[0, -1, -1] -> S[0, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[0, -1, 1] -> S[0, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[-1, -1, 0] -> S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[1, -1, 0] -> S[1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[-1, -1, -1] -> S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[-1, -1, 1] -> S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[1, -1, -1] -> S[1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[1, -1, 1] -> S[1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[2, -1, 0] -> S[2, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[2, -1, -1] -> S[2, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[2, -1, 1] -> S[2, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[0, 0, -1] -> S[0, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[0, -1, -1] -> S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[0, 1, -1] -> S[0, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[0, 2, -1] -> S[0, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[-1, 0, -1] -> S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[1, 0, -1] -> S[1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[-1, -1, -1] -> S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[-1, 1, -1] -> S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[1, -1, -1] -> S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[1, 1, -1] -> S[1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[-1, 2, -1] -> S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[1, 2, -1] -> S[1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[2, 0, -1] -> S[2, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[2, -1, -1] -> S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[2, 1, -1] -> S[2, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[2, 2, -1] -> S[2, 2,
+							 1]</td>
+                        </tr>
+                    </tbody>
+                </table>
+            <table border="0" cellpadding="2" cellspacing="0">      <thead>        <tr>          <th align="left" bgcolor="#eeeeee" valign="middle">Variable</th>
+                        <th align="left" bgcolor="#eeeeee" valign="middle">IC  </th>
+                        <th align="left" bgcolor="#eeeeee" valign="middle">ODE</th>
+                        </tr>
+                    </thead>
+                <tbody>        <tr>          <td>MAPKP</td>
+                        <td>0.3</td>
+                        <td>MAPKP'[t] == -(a8*MAPKP[t]*K[1, 1][t]) - a10*MAPKP[
+							t]*K[1, 2][t] + d8*K_MAPKP[1, 1][t] + k8*K_MAPKP[
+							1, 1][t] + d10*K_MAPKP[1, 2][t] + k10*K_MAPKP[1,
+							 2][t]</td>
+                        </tr>
+                    <tr>          <td>MEKP</td>
+                        <td>0.2</td>
+                        <td>MEKP'[t] == -(a4*MEKP[t]*K[2, 1][t]) - a6*MEKP[t]*
+							K[2, 2][t] + d4*K_MEKP[2, 1][t] + k4*K_MEKP[2,
+							 1][t] + d6*K_MEKP[2, 2][t] + k6*K_MEKP[2, 2]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>RAFK</td>
+                        <td>0.1</td>
+                        <td>RAFK'[t] == -(a1*RAFK[t]*K[3, 0][t]) + d1*K_RAFK[3,
+							 0][t] + k1*K_RAFK[3, 0][t] - k1a*RAFK[t]*S[-1,
+							 -1, 0][t] - k1a*RAFK[t]*S[-1, 0, 0][t] -
+							 k1a*RAFK[t]*S[-1, 1, 0][t] - k1a*RAFK[t]*S[-1, 2,
+							 0][t] - k1a*RAFK[t]*S[0, -1, 0][t] - k1a*
+							RAFK[t]*S[0, 0, 0][t] - k1a*RAFK[t]*S[0, 1, 0][t]
+							 - k1a*RAFK[t]*S[0, 2, 0][t] - k1a*RAFK[t]*S[1,
+							 -1, 0][t] - k1a*RAFK[t]*S[1, 0, 0][t] -
+							 k1a*RAFK[t]*S[1, 1, 0][t] - k1a*RAFK[t]*S[1, 2,
+							 0][t] - k1a*RAFK[t]*S[2, -1, 0][t] - k1a*
+							RAFK[t]*S[2, 0, 0][t] - k1a*RAFK[t]*S[2, 1, 0][t]
+							 - k1a*RAFK[t]*S[2, 2, 0][t] + d1a*S_RAFK[-1,
+							 -1, 0][t] + k1*S_RAFK[-1, -1, 0][t] +
+							 d1a*S_RAFK[-1, 0, 0][t] + k1*S_RAFK[-1, 0,
+							 0][t] + d1a*S_RAFK[-1, 1, 0][t] + k1*S_RAFK[
+							-1, 1, 0][t] + d1a*S_RAFK[-1, 2, 0][t] +
+							 k1*S_RAFK[-1, 2, 0][t] + d1a*S_RAFK[0, -1,
+							 0][t] + k1*S_RAFK[0, -1, 0][t] + d1a*S_RAFK[
+							0, 0, 0][t] + k1*S_RAFK[0, 0, 0][t] +
+							 d1a*S_RAFK[0, 1, 0][t] + k1*S_RAFK[0, 1, 0][
+							t] + d1a*S_RAFK[0, 2, 0][t] + k1*S_RAFK[0, 2,
+							 0][t] + d1a*S_RAFK[1, -1, 0][t] + k1*S_RAFK[
+							1, -1, 0][t] + d1a*S_RAFK[1, 0, 0][t] +
+							 k1*S_RAFK[1, 0, 0][t] + d1a*S_RAFK[1, 1, 0][
+							t] + k1*S_RAFK[1, 1, 0][t] + d1a*S_RAFK[1, 2,
+							 0][t] + k1*S_RAFK[1, 2, 0][t] + d1a*S_RAFK[
+							2, -1, 0][t] + k1*S_RAFK[2, -1, 0][t] +
+							 d1a*S_RAFK[2, 0, 0][t] + k1*S_RAFK[2, 0, 0][
+							t] + d1a*S_RAFK[2, 1, 0][t] + k1*S_RAFK[2, 1,
+							 0][t] + d1a*S_RAFK[2, 2, 0][t] + k1*S_RAFK[
+							2, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>RAFP</td>
+                        <td>0.3</td>
+                        <td>RAFP'[t] == -(a2*RAFP[t]*K[3, 1][t]) + d2*K_RAFP[3,
+							 1][t] + k2*K_RAFP[3, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[1, 0]</td>
+                        <td>0.4</td>
+                        <td>(K[1, 0])'[t] == -(a7*K[1, 0][t]*K[2, 2][t]) +
+							 d7*K_K[1, 0, 2, 2][t] + k8*K_MAPKP[1, 1][t]
+							 - kon*K[1, 0][t]*S[-1, -1, -1][t] - kon*K[1,
+							 0][t]*S[-1, -1, 0][t] - kon*K[1, 0][t]*S[-1,
+							 -1, 1][t] - kon*K[1, 0][t]*S[-1, 0, -1][t]
+							 - kon*K[1, 0][t]*S[-1, 0, 0][t] - kon*K[1,
+							 0][t]*S[-1, 0, 1][t] - kon*K[1, 0][t]*S[-1,
+							 1, -1][t] - kon*K[1, 0][t]*S[-1, 1, 0][t]
+							 - kon*K[1, 0][t]*S[-1, 1, 1][t] - kon*K[1,
+							 0][t]*S[-1, 2, -1][t] - kon*K[1, 0][t]*S[-1,
+							 2, 0][t] - kon*K[1, 0][t]*S[-1, 2, 1][t]
+							 + koff*S[0, -1, -1][t] + koff*S[0, -1,
+							 0][t] + koff*S[0, -1, 1][t] + koff*S[0,
+							 0, -1][t] + koff*S[0, 0, 0][t] + koff*
+							S[0, 0, 1][t] + koff*S[0, 1, -1][t] +
+							 koff*S[0, 1, 0][t] + koff*S[0, 1, 1][t]
+							 + koff*S[0, 2, -1][t] + koff*S[0, 2, 0]
+							[t] + koff*S[0, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[1, 1]</td>
+                        <td>0</td>
+                        <td>(K[1, 1])'[t] == -(a8*MAPKP[t]*K[1, 1][t]) -
+							 a9*K[1, 1][t]*K[2, 2][t] + k7*K_K[1, 0, 2,
+							 2][t] + d9*K_K[1, 1, 2, 2][t] + d8*
+							K_MAPKP[1, 1][t] + k10*K_MAPKP[1, 2][t] - kpon*K[
+							1, 1][t]*S[-1, -1, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 -1, 0][t] - kpon*K[1, 1][t]*S[-1, -1, 1][t]
+							 - kpon*K[1, 1][t]*S[-1, 0, -1][t] - kpon*K[
+							1, 1][t]*S[-1, 0, 0][t] - kpon*K[1, 1][t]*S[-1,
+							 0, 1][t] - kpon*K[1, 1][t]*S[-1, 1, -1][t]
+							 - kpon*K[1, 1][t]*S[-1, 1, 0][t] - kpon*K[1,
+							 1][t]*S[-1, 1, 1][t] - kpon*K[1, 1][t]*S[-1,
+							 2, -1][t] - kpon*K[1, 1][t]*S[-1, 2, 0][t]
+							 - kpon*K[1, 1][t]*S[-1, 2, 1][t] + kpoff*S[
+							1, -1, -1][t] + kpoff*S[1, -1, 0][t] +
+							 kpoff*S[1, -1, 1][t] + kpoff*S[1, 0, -1][t]
+							 + kpoff*S[1, 0, 0][t] + kpoff*S[1, 0,
+							 1][t] + kpoff*S[1, 1, -1][t] + kpoff*S[1,
+							 1, 0][t] + kpoff*S[1, 1, 1][t] + kpoff*
+							S[1, 2, -1][t] + kpoff*S[1, 2, 0][t] +
+							 kpoff*S[1, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[1, 2]</td>
+                        <td>0</td>
+                        <td>(K[1, 2])'[t] == -(a10*MAPKP[t]*K[1, 2][t]) +
+							 k9*K_K[1, 1, 2, 2][t] + d10*K_MAPKP[1, 2][t]
+							 - kpon*K[1, 2][t]*S[-1, -1, -1][t] - kpon*K[
+							1, 2][t]*S[-1, -1, 0][t] - kpon*K[1, 2][t]*S[-1,
+							 -1, 1][t] - kpon*K[1, 2][t]*S[-1, 0, -1][t]
+							 - kpon*K[1, 2][t]*S[-1, 0, 0][t] - kpon*K[1,
+							 2][t]*S[-1, 0, 1][t] - kpon*K[1, 2][t]*S[-1,
+							 1, -1][t] - kpon*K[1, 2][t]*S[-1, 1, 0][t]
+							 - kpon*K[1, 2][t]*S[-1, 1, 1][t] - kpon*K[1,
+							 2][t]*S[-1, 2, -1][t] - kpon*K[1, 2][t]*S[-1,
+							 2, 0][t] - kpon*K[1, 2][t]*S[-1, 2, 1][t]
+							 + kpoff*S[2, -1, -1][t] + kpoff*S[2, -1,
+							 0][t] + kpoff*S[2, -1, 1][t] + kpoff*S[2,
+							 0, -1][t] + kpoff*S[2, 0, 0][t] +
+							 kpoff*S[2, 0, 1][t] + kpoff*S[2, 1, -1][t]
+							 + kpoff*S[2, 1, 0][t] + kpoff*S[2, 1,
+							 1][t] + kpoff*S[2, 2, -1][t] + kpoff*S[2,
+							 2, 0][t] + kpoff*S[2, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[2, 0]</td>
+                        <td>0.2</td>
+                        <td>(K[2, 0])'[t] == -(a3*K[2, 0][t]*K[3, 1][t]) +
+							 d3*K_K[2, 0, 3, 1][t] + k4*K_MEKP[2, 1][t]
+							 - kon*K[2, 0][t]*S[-1, -1, -1][t] - kon*K[2,
+							 0][t]*S[-1, -1, 0][t] - kon*K[2, 0][t]*S[-1,
+							 -1, 1][t] + koff*S[-1, 0, -1][t] +
+							 koff*S[-1, 0, 0][t] + koff*S[-1, 0, 1][t]
+							 - kon*K[2, 0][t]*S[0, -1, -1][t] - kon*K[2,
+							 0][t]*S[0, -1, 0][t] - kon*K[2, 0][t]*S[0, -
+							1, 1][t] + koff*S[0, 0, -1][t] + koff*S[0,
+							 0, 0][t] + koff*S[0, 0, 1][t] - kon*K[
+							2, 0][t]*S[1, -1, -1][t] - kon*K[2, 0][t]*S[1,
+							 -1, 0][t] - kon*K[2, 0][t]*S[1, -1, 1][t]
+							 + koff*S[1, 0, -1][t] + koff*S[1, 0, 0]
+							[t] + koff*S[1, 0, 1][t] - kon*K[2, 0][t]*S[
+							2, -1, -1][t] - kon*K[2, 0][t]*S[2, -1, 0][t]
+							 - kon*K[2, 0][t]*S[2, -1, 1][t] + koff*S[2,
+							 0, -1][t] + koff*S[2, 0, 0][t] + koff*
+							S[2, 0, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[2, 1]</td>
+                        <td>0</td>
+                        <td>(K[2, 1])'[t] == -(a4*MEKP[t]*K[2, 1][t]) -
+							 a5*K[2, 1][t]*K[3, 1][t] + k3*K_K[2, 0, 3,
+							 1][t] + d5*K_K[2, 1, 3, 1][t] + d4*
+							K_MEKP[2, 1][t] + k6*K_MEKP[2, 2][t] - kpon*K[2,
+							 1][t]*S[-1, -1, -1][t] - kpon*K[2, 1][t]*S[-1,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[-1, -1, 1][t]
+							 + kpoff*S[-1, 1, -1][t] + kpoff*S[-1, 1,
+							 0][t] + kpoff*S[-1, 1, 1][t] - kpon*K[2,
+							 1][t]*S[0, -1, -1][t] - kpon*K[2, 1][t]*S[0,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[0, -1, 1][t]
+							 + kpoff*S[0, 1, -1][t] + kpoff*S[0, 1,
+							 0][t] + kpoff*S[0, 1, 1][t] - kpon*K[2,
+							 1][t]*S[1, -1, -1][t] - kpon*K[2, 1][t]*S[1,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[1, -1, 1][t]
+							 + kpoff*S[1, 1, -1][t] + kpoff*S[1, 1,
+							 0][t] + kpoff*S[1, 1, 1][t] - kpon*K[2,
+							 1][t]*S[2, -1, -1][t] - kpon*K[2, 1][t]*S[2,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[2, -1, 1][t]
+							 + kpoff*S[2, 1, -1][t] + kpoff*S[2, 1,
+							 0][t] + kpoff*S[2, 1, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[2, 2]</td>
+                        <td>0</td>
+                        <td>(K[2, 2])'[t] == -(a6*MEKP[t]*K[2, 2][t]) -
+							 a7*K[1, 0][t]*K[2, 2][t] - a9*K[1, 1][t]*K[2,
+							 2][t] + d7*K_K[1, 0, 2, 2][t] + k7*K_K[
+							1, 0, 2, 2][t] + d9*K_K[1, 1, 2, 2][t]
+							 + k9*K_K[1, 1, 2, 2][t] + k5*K_K[2, 1,
+							 3, 1][t] + d6*K_MEKP[2, 2][t] - kpon*K[2,
+							 2][t]*S[-1, -1, -1][t] - kpon*K[2, 2][t]*S[-1,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[-1, -1, 1][t]
+							 + kpoff*S[-1, 2, -1][t] + kpoff*S[-1, 2,
+							 0][t] + kpoff*S[-1, 2, 1][t] - kpon*K[2,
+							 2][t]*S[0, -1, -1][t] - kpon*K[2, 2][t]*S[0,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[0, -1, 1][t]
+							 + kpoff*S[0, 2, -1][t] + kpoff*S[0, 2,
+							 0][t] + kpoff*S[0, 2, 1][t] - kpon*K[2,
+							 2][t]*S[1, -1, -1][t] - kpon*K[2, 2][t]*S[1,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[1, -1, 1][t]
+							 + kpoff*S[1, 2, -1][t] + kpoff*S[1, 2,
+							 0][t] + kpoff*S[1, 2, 1][t] - kpon*K[2,
+							 2][t]*S[2, -1, -1][t] - kpon*K[2, 2][t]*S[2,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[2, -1, 1][t]
+							 + kpoff*S[2, 2, -1][t] + kpoff*S[2, 2,
+							 0][t] + kpoff*S[2, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[3, 0]</td>
+                        <td>0.3</td>
+                        <td>(K[3, 0])'[t] == -(a1*RAFK[t]*K[3, 0][t]) +
+							 d1*K_RAFK[3, 0][t] + k2*K_RAFP[3, 1][t] -
+							 kon*K[3, 0][t]*S[-1, -1, -1][t] + koff*S[-1,
+							 -1, 0][t] - kon*K[3, 0][t]*S[-1, 0, -1][t]
+							 + koff*S[-1, 0, 0][t] - kon*K[3, 0][t]*S[-1,
+							 1, -1][t] + koff*S[-1, 1, 0][t] - kon*
+							K[3, 0][t]*S[-1, 2, -1][t] + koff*S[-1, 2, 0]
+							[t] - kon*K[3, 0][t]*S[0, -1, -1][t] + koff*
+							S[0, -1, 0][t] - kon*K[3, 0][t]*S[0, 0, -1][
+							t] + koff*S[0, 0, 0][t] - kon*K[3, 0][t]*S[0,
+							 1, -1][t] + koff*S[0, 1, 0][t] - kon*K[
+							3, 0][t]*S[0, 2, -1][t] + koff*S[0, 2, 0][t]
+							 - kon*K[3, 0][t]*S[1, -1, -1][t] + koff*S[1,
+							 -1, 0][t] - kon*K[3, 0][t]*S[1, 0, -1][t]
+							 + koff*S[1, 0, 0][t] - kon*K[3, 0][t]*S[1,
+							 1, -1][t] + koff*S[1, 1, 0][t] - kon*K[
+							3, 0][t]*S[1, 2, -1][t] + koff*S[1, 2, 0][t]
+							 - kon*K[3, 0][t]*S[2, -1, -1][t] + koff*S[2,
+							 -1, 0][t] - kon*K[3, 0][t]*S[2, 0, -1][t]
+							 + koff*S[2, 0, 0][t] - kon*K[3, 0][t]*S[2,
+							 1, -1][t] + koff*S[2, 1, 0][t] - kon*K[
+							3, 0][t]*S[2, 2, -1][t] + koff*S[2, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>K[3, 1]</td>
+                        <td>0</td>
+                        <td>(K[3, 1])'[t] == -(a2*RAFP[t]*K[3, 1][t]) -
+							 a3*K[2, 0][t]*K[3, 1][t] - a5*K[2, 1][t]*K[3,
+							 1][t] + d3*K_K[2, 0, 3, 1][t] + k3*K_K[
+							2, 0, 3, 1][t] + d5*K_K[2, 1, 3, 1][t]
+							 + k5*K_K[2, 1, 3, 1][t] + k1*K_RAFK[3,
+							 0][t] + d2*K_RAFP[3, 1][t] - kpon*K[3, 1][t]
+							*S[-1, -1, -1][t] + kpoff*S[-1, -1, 1][t] -
+							 kpon*K[3, 1][t]*S[-1, 0, -1][t] + kpoff*S[-1,
+							 0, 1][t] - kpon*K[3, 1][t]*S[-1, 1, -1][t]
+							 + kpoff*S[-1, 1, 1][t] - kpon*K[3, 1][t]*S[-
+							1, 2, -1][t] + kpoff*S[-1, 2, 1][t] -
+							 kpon*K[3, 1][t]*S[0, -1, -1][t] + kpoff*S[0,
+							 -1, 1][t] - kpon*K[3, 1][t]*S[0, 0, -1][t]
+							 + kpoff*S[0, 0, 1][t] - kpon*K[3, 1][t]*S[0,
+							 1, -1][t] + kpoff*S[0, 1, 1][t] - kpon*
+							K[3, 1][t]*S[0, 2, -1][t] + kpoff*S[0, 2, 1][
+							t] - kpon*K[3, 1][t]*S[1, -1, -1][t] + kpoff*
+							S[1, -1, 1][t] - kpon*K[3, 1][t]*S[1, 0, -1][
+							t] + kpoff*S[1, 0, 1][t] - kpon*K[3, 1][t]*S[
+							1, 1, -1][t] + kpoff*S[1, 1, 1][t] -
+							 kpon*K[3, 1][t]*S[1, 2, -1][t] + kpoff*S[1,
+							 2, 1][t] - kpon*K[3, 1][t]*S[2, -1, -1][t]
+							 + kpoff*S[2, -1, 1][t] - kpon*K[3, 1][t]*S[
+							2, 0, -1][t] + kpoff*S[2, 0, 1][t] -
+							 kpon*K[3, 1][t]*S[2, 1, -1][t] + kpoff*S[2,
+							 1, 1][t] - kpon*K[3, 1][t]*S[2, 2, -1][t]
+							 + kpoff*S[2, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K_K[1, 0, 2, 2]</td>
+                        <td>0</td>
+                        <td>(K_K[1, 0, 2, 2])'[t] == a7*K[1, 0][t]*K[2,
+							 2][t] - d7*K_K[1, 0, 2, 2][t] - k7*K_K[
+							1, 0, 2, 2][t]</td>
+                        </tr>
+                    <tr>          <td>K_K[1, 1, 2, 2]</td>
+                        <td>0</td>
+                        <td>(K_K[1, 1, 2, 2])'[t] == a9*K[1, 1][t]*K[2,
+							 2][t] - d9*K_K[1, 1, 2, 2][t] - k9*K_K[
+							1, 1, 2, 2][t]</td>
+                        </tr>
+                    <tr>          <td>K_K[2, 0, 3, 1]</td>
+                        <td>0</td>
+                        <td>(K_K[2, 0, 3, 1])'[t] == a3*K[2, 0][t]*K[3,
+							 1][t] - d3*K_K[2, 0, 3, 1][t] - k3*K_K[
+							2, 0, 3, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K_K[2, 1, 3, 1]</td>
+                        <td>0</td>
+                        <td>(K_K[2, 1, 3, 1])'[t] == a5*K[2, 1][t]*K[3,
+							 1][t] - d5*K_K[2, 1, 3, 1][t] - k5*K_K[
+							2, 1, 3, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K_MAPKP[1, 1]</td>
+                        <td>0</td>
+                        <td>(K_MAPKP[1, 1])'[t] == a8*MAPKP[t]*K[1, 1][t] -
+							 d8*K_MAPKP[1, 1][t] - k8*K_MAPKP[1, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K_MAPKP[1, 2]</td>
+                        <td>0</td>
+                        <td>(K_MAPKP[1, 2])'[t] == a10*MAPKP[t]*K[1, 2][t] -
+							 d10*K_MAPKP[1, 2][t] - k10*K_MAPKP[1, 2][t]</td>
+                        </tr>
+                    <tr>          <td>K_MEKP[2, 1]</td>
+                        <td>0</td>
+                        <td>(K_MEKP[2, 1])'[t] == a4*MEKP[t]*K[2, 1][t] -
+							 d4*K_MEKP[2, 1][t] - k4*K_MEKP[2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K_MEKP[2, 2]</td>
+                        <td>0</td>
+                        <td>(K_MEKP[2, 2])'[t] == a6*MEKP[t]*K[2, 2][t] -
+							 d6*K_MEKP[2, 2][t] - k6*K_MEKP[2, 2][t]</td>
+                        </tr>
+                    <tr>          <td>K_RAFK[3, 0]</td>
+                        <td>0</td>
+                        <td>(K_RAFK[3, 0])'[t] == a1*RAFK[t]*K[3, 0][t] -
+							 d1*K_RAFK[3, 0][t] - k1*K_RAFK[3, 0][t]</td>
+                        </tr>
+                    <tr>          <td>K_RAFP[3, 1]</td>
+                        <td>0</td>
+                        <td>(K_RAFP[3, 1])'[t] == a2*RAFP[t]*K[3, 1][t] -
+							 d2*K_RAFP[3, 1][t] - k2*K_RAFP[3, 1][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, -1, -1]</td>
+                        <td>0.1</td>
+                        <td>(S[-1, -1, -1])'[t] == -(kon*K[1, 0][t]*S[-1,
+							 -1, -1][t]) - kpon*K[1, 1][t]*S[-1, -1, -1][
+							t] - kpon*K[1, 2][t]*S[-1, -1, -1][t] - kon*
+							K[2, 0][t]*S[-1, -1, -1][t] - kpon*K[2, 1][t]*S[-
+							1, -1, -1][t] - kpon*K[2, 2][t]*S[-1, -1, -1]
+							[t] - kon*K[3, 0][t]*S[-1, -1, -1][t] - kpon*
+							K[3, 1][t]*S[-1, -1, -1][t] + koff*S[-1, -1,
+							 0][t] + kpoff*S[-1, -1, 1][t] + koff*S[-1,
+							 0, -1][t] + kpoff*S[-1, 1, -1][t] +
+							 kpoff*S[-1, 2, -1][t] + koff*S[0, -1, -1][t]
+							 + kpoff*S[1, -1, -1][t] + kpoff*S[2, -1,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S[-1, -1, 0])'[t] == kon*K[3, 0][t]*S[-1, -1,
+							 -1][t] - koff*S[-1, -1, 0][t] - k1a*RAFK[t]*
+							S[-1, -1, 0][t] - kon*K[1, 0][t]*S[-1, -1, 0]
+							[t] - kpon*K[1, 1][t]*S[-1, -1, 0][t] - kpon*
+							K[1, 2][t]*S[-1, -1, 0][t] - kon*K[2, 0][t]*S[-1,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[-1, -1, 0][t]
+							 - kpon*K[2, 2][t]*S[-1, -1, 0][t] + koff*S[-
+							1, 0, 0][t] + kpoff*S[-1, 1, 0][t] +
+							 kpoff*S[-1, 2, 0][t] + koff*S[0, -1, 0][t]
+							 + kpoff*S[1, -1, 0][t] + kpoff*S[2, -1,
+							 0][t] + d1a*S_RAFK[-1, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, -1, 1]</td>
+                        <td>0</td>
+                        <td>(S[-1, -1, 1])'[t] == kpon*K[3, 1][t]*S[-1, -
+							1, -1][t] - kpoff*S[-1, -1, 1][t] - kon*K[1,
+							 0][t]*S[-1, -1, 1][t] - kpon*K[1, 1][t]*S[-1,
+							 -1, 1][t] - kpon*K[1, 2][t]*S[-1, -1, 1][t]
+							 - kon*K[2, 0][t]*S[-1, -1, 1][t] - kpon*K[2,
+							 1][t]*S[-1, -1, 1][t] - kpon*K[2, 2][t]*S[-1,
+							 -1, 1][t] + koff*S[-1, 0, 1][t] +
+							 kpoff*S[-1, 1, 1][t] + kpoff*S[-1, 2, 1][t]
+							 + koff*S[0, -1, 1][t] + kpoff*S[1, -1,
+							 1][t] + kpoff*S[2, -1, 1][t] + k1*S_RAFK[-1,
+							 -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 0, -1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 0, -1])'[t] == kon*K[2, 0][t]*S[-1, -1,
+							 -1][t] - koff*S[-1, 0, -1][t] - kon*K[1,
+							 0][t]*S[-1, 0, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 0, -1][t] - kpon*K[1, 2][t]*S[-1, 0, -1][t]
+							 - kon*K[3, 0][t]*S[-1, 0, -1][t] - kpon*K[3,
+							 1][t]*S[-1, 0, -1][t] + koff*S[-1, 0, 0][t]
+							 + kpoff*S[-1, 0, 1][t] + koff*S[0, 0, -
+							1][t] + kpoff*S[1, 0, -1][t] + kpoff*S[2, 0,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S[-1, 0, 0])'[t] == kon*K[2, 0][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[-1, 0, -1][t] -
+							 2*koff*S[-1, 0, 0][t] - k1a*RAFK[t]*S[-1, 0,
+							 0][t] - kon*K[1, 0][t]*S[-1, 0, 0][t] -
+							 kpon*K[1, 1][t]*S[-1, 0, 0][t] - kpon*K[1,
+							 2][t]*S[-1, 0, 0][t] + koff*S[0, 0, 0][t]
+							 + kpoff*S[1, 0, 0][t] + kpoff*S[2, 0,
+							 0][t] + d1a*S_RAFK[-1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 0, 1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 0, 1])'[t] == kon*K[2, 0][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[-1, 0, -1][t] -
+							 k3*S[-1, 0, 1][t] - koff*S[-1, 0, 1][t]
+							 - kpoff*S[-1, 0, 1][t] - kon*K[1, 0][t]*S[-
+							1, 0, 1][t] - kpon*K[1, 1][t]*S[-1, 0, 1][t]
+							 - kpon*K[1, 2][t]*S[-1, 0, 1][t] + koff*S[0,
+							 0, 1][t] + kpoff*S[1, 0, 1][t] + kpoff*
+							S[2, 0, 1][t] + k1*S_RAFK[-1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 1, -1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 1, -1])'[t] == kpon*K[2, 1][t]*S[-1, -
+							1, -1][t] - kpoff*S[-1, 1, -1][t] - kon*K[1,
+							 0][t]*S[-1, 1, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 1, -1][t] - kpon*K[1, 2][t]*S[-1, 1, -1][t]
+							 - kon*K[3, 0][t]*S[-1, 1, -1][t] - kpon*K[3,
+							 1][t]*S[-1, 1, -1][t] + koff*S[-1, 1, 0][t]
+							 + kpoff*S[-1, 1, 1][t] + koff*S[0, 1, -
+							1][t] + kpoff*S[1, 1, -1][t] + kpoff*S[2, 1,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S[-1, 1, 0])'[t] == kpon*K[2, 1][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[-1, 1, -1][t] -
+							 koff*S[-1, 1, 0][t] - kpoff*S[-1, 1, 0][t]
+							 - k1a*RAFK[t]*S[-1, 1, 0][t] - kon*K[1, 0][
+							t]*S[-1, 1, 0][t] - kpon*K[1, 1][t]*S[-1, 1,
+							 0][t] - kpon*K[1, 2][t]*S[-1, 1, 0][t] +
+							 koff*S[0, 1, 0][t] + kpoff*S[1, 1, 0][t]
+							 + kpoff*S[2, 1, 0][t] + d1a*S_RAFK[-1, 1,
+							 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 1, 1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 1, 1])'[t] == kpon*K[2, 1][t]*S[-1, -1,
+							 1][t] + k3*S[-1, 0, 1][t] + kpon*K[3,
+							 1][t]*S[-1, 1, -1][t] - k5a*S[-1, 1, 1][t]
+							 - 2*kpoff*S[-1, 1, 1][t] - kon*K[1, 0][t]*S[
+							-1, 1, 1][t] - kpon*K[1, 1][t]*S[-1, 1, 1][t]
+							 - kpon*K[1, 2][t]*S[-1, 1, 1][t] + koff*S[0,
+							 1, 1][t] + kpoff*S[1, 1, 1][t] + kpoff*
+							S[2, 1, 1][t] + k1*S_RAFK[-1, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 2, -1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 2, -1])'[t] == kpon*K[2, 2][t]*S[-1, -
+							1, -1][t] - kpoff*S[-1, 2, -1][t] - kon*K[1,
+							 0][t]*S[-1, 2, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 2, -1][t] - kpon*K[1, 2][t]*S[-1, 2, -1][t]
+							 - kon*K[3, 0][t]*S[-1, 2, -1][t] - kpon*K[3,
+							 1][t]*S[-1, 2, -1][t] + koff*S[-1, 2, 0][t]
+							 + kpoff*S[-1, 2, 1][t] + koff*S[0, 2, -
+							1][t] + kpoff*S[1, 2, -1][t] + kpoff*S[2, 2,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S[-1, 2, 0])'[t] == kpon*K[2, 2][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[-1, 2, -1][t] -
+							 koff*S[-1, 2, 0][t] - kpoff*S[-1, 2, 0][t]
+							 - k1a*RAFK[t]*S[-1, 2, 0][t] - kon*K[1, 0][
+							t]*S[-1, 2, 0][t] - kpon*K[1, 1][t]*S[-1, 2,
+							 0][t] - kpon*K[1, 2][t]*S[-1, 2, 0][t] +
+							 koff*S[0, 2, 0][t] + kpoff*S[1, 2, 0][t]
+							 + kpoff*S[2, 2, 0][t] + d1a*S_RAFK[-1, 2,
+							 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 2, 1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 2, 1])'[t] == kpon*K[2, 2][t]*S[-1, -1,
+							 1][t] + k5a*S[-1, 1, 1][t] + kpon*K[3,
+							 1][t]*S[-1, 2, -1][t] - 2*kpoff*S[-1, 2, 1][
+							t] - kon*K[1, 0][t]*S[-1, 2, 1][t] - kpon*K[
+							1, 1][t]*S[-1, 2, 1][t] - kpon*K[1, 2][t]*S[-1,
+							 2, 1][t] + koff*S[0, 2, 1][t] + kpoff*
+							S[1, 2, 1][t] + kpoff*S[2, 2, 1][t] +
+							 k1*S_RAFK[-1, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, -1, -1]</td>
+                        <td>0</td>
+                        <td>(S[0, -1, -1])'[t] == kon*K[1, 0][t]*S[-1, -1,
+							 -1][t] - koff*S[0, -1, -1][t] - kon*K[2,
+							 0][t]*S[0, -1, -1][t] - kpon*K[2, 1][t]*S[0,
+							 -1, -1][t] - kpon*K[2, 2][t]*S[0, -1, -1][t]
+							 - kon*K[3, 0][t]*S[0, -1, -1][t] - kpon*K[3,
+							 1][t]*S[0, -1, -1][t] + koff*S[0, -1, 0][t]
+							 + kpoff*S[0, -1, 1][t] + koff*S[0, 0, -
+							1][t] + kpoff*S[0, 1, -1][t] + kpoff*S[0, 2,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S[0, -1, 0])'[t] == kon*K[1, 0][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[0, -1, -1][t] -
+							 2*koff*S[0, -1, 0][t] - k1a*RAFK[t]*S[0, -1,
+							 0][t] - kon*K[2, 0][t]*S[0, -1, 0][t] -
+							 kpon*K[2, 1][t]*S[0, -1, 0][t] - kpon*K[2,
+							 2][t]*S[0, -1, 0][t] + koff*S[0, 0, 0][t]
+							 + kpoff*S[0, 1, 0][t] + kpoff*S[0, 2,
+							 0][t] + d1a*S_RAFK[0, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, -1, 1]</td>
+                        <td>0</td>
+                        <td>(S[0, -1, 1])'[t] == kon*K[1, 0][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[0, -1, -1][t] -
+							 koff*S[0, -1, 1][t] - kpoff*S[0, -1, 1][t]
+							 - kon*K[2, 0][t]*S[0, -1, 1][t] - kpon*K[2,
+							 1][t]*S[0, -1, 1][t] - kpon*K[2, 2][t]*S[0,
+							 -1, 1][t] + koff*S[0, 0, 1][t] + kpoff*
+							S[0, 1, 1][t] + kpoff*S[0, 2, 1][t] +
+							 k1*S_RAFK[0, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 0, -1]</td>
+                        <td>0</td>
+                        <td>(S[0, 0, -1])'[t] == kon*K[1, 0][t]*S[-1, 0,
+							 -1][t] + kon*K[2, 0][t]*S[0, -1, -1][t] -
+							 2*koff*S[0, 0, -1][t] - kon*K[3, 0][t]*S[0,
+							 0, -1][t] - kpon*K[3, 1][t]*S[0, 0, -1][t]
+							 + koff*S[0, 0, 0][t] + kpoff*S[0, 0, 1]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S[0, 0, 0])'[t] == kon*K[1, 0][t]*S[-1, 0,
+							 0][t] + kon*K[2, 0][t]*S[0, -1, 0][t] +
+							 kon*K[3, 0][t]*S[0, 0, -1][t] - 3*koff*S[0,
+							 0, 0][t] - k1a*RAFK[t]*S[0, 0, 0][t] +
+							 d1a*S_RAFK[0, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 0, 1]</td>
+                        <td>0</td>
+                        <td>(S[0, 0, 1])'[t] == kon*K[1, 0][t]*S[-1, 0,
+							 1][t] + kon*K[2, 0][t]*S[0, -1, 1][t] +
+							 kpon*K[3, 1][t]*S[0, 0, -1][t] - k3*S[0, 0,
+							 1][t] - 2*koff*S[0, 0, 1][t] - kpoff*S[0,
+							 0, 1][t] + k1*S_RAFK[0, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 1, -1]</td>
+                        <td>0</td>
+                        <td>(S[0, 1, -1])'[t] == kon*K[1, 0][t]*S[-1, 1,
+							 -1][t] + kpon*K[2, 1][t]*S[0, -1, -1][t] -
+							 koff*S[0, 1, -1][t] - kpoff*S[0, 1, -1][t]
+							 - kon*K[3, 0][t]*S[0, 1, -1][t] - kpon*K[3,
+							 1][t]*S[0, 1, -1][t] + koff*S[0, 1, 0][t]
+							 + kpoff*S[0, 1, 1][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S[0, 1, 0])'[t] == kon*K[1, 0][t]*S[-1, 1,
+							 0][t] + kpon*K[2, 1][t]*S[0, -1, 0][t] +
+							 kon*K[3, 0][t]*S[0, 1, -1][t] - 2*koff*S[0,
+							 1, 0][t] - kpoff*S[0, 1, 0][t] - k1a*
+							RAFK[t]*S[0, 1, 0][t] + d1a*S_RAFK[0, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 1, 1]</td>
+                        <td>0</td>
+                        <td>(S[0, 1, 1])'[t] == kon*K[1, 0][t]*S[-1, 1,
+							 1][t] + kpon*K[2, 1][t]*S[0, -1, 1][t] +
+							 k3*S[0, 0, 1][t] + kpon*K[3, 1][t]*S[0, 1,
+							 -1][t] - k5a*S[0, 1, 1][t] - koff*S[0,
+							 1, 1][t] - 2*kpoff*S[0, 1, 1][t] + k1*
+							S_RAFK[0, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 2, -1]</td>
+                        <td>0</td>
+                        <td>(S[0, 2, -1])'[t] == kon*K[1, 0][t]*S[-1, 2,
+							 -1][t] + kpon*K[2, 2][t]*S[0, -1, -1][t] -
+							 k7*S[0, 2, -1][t] - koff*S[0, 2, -1][t]
+							 - kpoff*S[0, 2, -1][t] - kon*K[3, 0][t]*S[0,
+							 2, -1][t] - kpon*K[3, 1][t]*S[0, 2, -1][t]
+							 + koff*S[0, 2, 0][t] + kpoff*S[0, 2, 1]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S[0, 2, 0])'[t] == kon*K[1, 0][t]*S[-1, 2,
+							 0][t] + kpon*K[2, 2][t]*S[0, -1, 0][t] +
+							 kon*K[3, 0][t]*S[0, 2, -1][t] - k7*S[0, 2,
+							 0][t] - 2*koff*S[0, 2, 0][t] - kpoff*S[0,
+							 2, 0][t] - k1a*RAFK[t]*S[0, 2, 0][t] +
+							 d1a*S_RAFK[0, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 2, 1]</td>
+                        <td>0</td>
+                        <td>(S[0, 2, 1])'[t] == kon*K[1, 0][t]*S[-1, 2,
+							 1][t] + kpon*K[2, 2][t]*S[0, -1, 1][t] +
+							 k5a*S[0, 1, 1][t] + kpon*K[3, 1][t]*S[0, 2,
+							 -1][t] - k7*S[0, 2, 1][t] - koff*S[0,
+							 2, 1][t] - 2*kpoff*S[0, 2, 1][t] + k1*
+							S_RAFK[0, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, -1, -1]</td>
+                        <td>0</td>
+                        <td>(S[1, -1, -1])'[t] == kpon*K[1, 1][t]*S[-1, -
+							1, -1][t] - kpoff*S[1, -1, -1][t] - kon*K[2,
+							 0][t]*S[1, -1, -1][t] - kpon*K[2, 1][t]*S[1,
+							 -1, -1][t] - kpon*K[2, 2][t]*S[1, -1, -1][t]
+							 - kon*K[3, 0][t]*S[1, -1, -1][t] - kpon*K[3,
+							 1][t]*S[1, -1, -1][t] + koff*S[1, -1, 0][t]
+							 + kpoff*S[1, -1, 1][t] + koff*S[1, 0, -
+							1][t] + kpoff*S[1, 1, -1][t] + kpoff*S[1, 2,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S[1, -1, 0])'[t] == kpon*K[1, 1][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[1, -1, -1][t] -
+							 koff*S[1, -1, 0][t] - kpoff*S[1, -1, 0][t]
+							 - k1a*RAFK[t]*S[1, -1, 0][t] - kon*K[2, 0][
+							t]*S[1, -1, 0][t] - kpon*K[2, 1][t]*S[1, -1,
+							 0][t] - kpon*K[2, 2][t]*S[1, -1, 0][t] +
+							 koff*S[1, 0, 0][t] + kpoff*S[1, 1, 0][t]
+							 + kpoff*S[1, 2, 0][t] + d1a*S_RAFK[1, -1,
+							 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, -1, 1]</td>
+                        <td>0</td>
+                        <td>(S[1, -1, 1])'[t] == kpon*K[1, 1][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[1, -1, -1][t] -
+							 2*kpoff*S[1, -1, 1][t] - kon*K[2, 0][t]*S[1,
+							 -1, 1][t] - kpon*K[2, 1][t]*S[1, -1, 1][t]
+							 - kpon*K[2, 2][t]*S[1, -1, 1][t] + koff*S[1,
+							 0, 1][t] + kpoff*S[1, 1, 1][t] + kpoff*
+							S[1, 2, 1][t] + k1*S_RAFK[1, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 0, -1]</td>
+                        <td>0</td>
+                        <td>(S[1, 0, -1])'[t] == kpon*K[1, 1][t]*S[-1, 0,
+							 -1][t] + kon*K[2, 0][t]*S[1, -1, -1][t] -
+							 koff*S[1, 0, -1][t] - kpoff*S[1, 0, -1][t]
+							 - kon*K[3, 0][t]*S[1, 0, -1][t] - kpon*K[3,
+							 1][t]*S[1, 0, -1][t] + koff*S[1, 0, 0][t]
+							 + kpoff*S[1, 0, 1][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S[1, 0, 0])'[t] == kpon*K[1, 1][t]*S[-1, 0,
+							 0][t] + kon*K[2, 0][t]*S[1, -1, 0][t] +
+							 kon*K[3, 0][t]*S[1, 0, -1][t] - 2*koff*S[1,
+							 0, 0][t] - kpoff*S[1, 0, 0][t] - k1a*
+							RAFK[t]*S[1, 0, 0][t] + d1a*S_RAFK[1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 0, 1]</td>
+                        <td>0</td>
+                        <td>(S[1, 0, 1])'[t] == kpon*K[1, 1][t]*S[-1, 0,
+							 1][t] + kon*K[2, 0][t]*S[1, -1, 1][t] +
+							 kpon*K[3, 1][t]*S[1, 0, -1][t] - k3*S[1, 0,
+							 1][t] - koff*S[1, 0, 1][t] - 2*kpoff*S[1,
+							 0, 1][t] + k1*S_RAFK[1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 1, -1]</td>
+                        <td>0</td>
+                        <td>(S[1, 1, -1])'[t] == kpon*K[1, 1][t]*S[-1, 1,
+							 -1][t] + kpon*K[2, 1][t]*S[1, -1, -1][t] -
+							 2*kpoff*S[1, 1, -1][t] - kon*K[3, 0][t]*S[1,
+							 1, -1][t] - kpon*K[3, 1][t]*S[1, 1, -1][t]
+							 + koff*S[1, 1, 0][t] + kpoff*S[1, 1, 1]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S[1, 1, 0])'[t] == kpon*K[1, 1][t]*S[-1, 1,
+							 0][t] + kpon*K[2, 1][t]*S[1, -1, 0][t] +
+							 kon*K[3, 0][t]*S[1, 1, -1][t] - koff*S[1, 1,
+							 0][t] - 2*kpoff*S[1, 1, 0][t] - k1a*RAFK[t]*
+							S[1, 1, 0][t] + d1a*S_RAFK[1, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 1, 1]</td>
+                        <td>0</td>
+                        <td>(S[1, 1, 1])'[t] == kpon*K[1, 1][t]*S[-1, 1,
+							 1][t] + kpon*K[2, 1][t]*S[1, -1, 1][t] +
+							 k3*S[1, 0, 1][t] + kpon*K[3, 1][t]*S[1, 1,
+							 -1][t] - k5a*S[1, 1, 1][t] - 3*kpoff*S[1,
+							 1, 1][t] + k1*S_RAFK[1, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 2, -1]</td>
+                        <td>0</td>
+                        <td>(S[1, 2, -1])'[t] == kpon*K[1, 1][t]*S[-1, 2,
+							 -1][t] + k7*S[0, 2, -1][t] + kpon*K[2,
+							 2][t]*S[1, -1, -1][t] - k9a*S[1, 2, -1][t]
+							 - 2*kpoff*S[1, 2, -1][t] - kon*K[3, 0][t]*S[
+							1, 2, -1][t] - kpon*K[3, 1][t]*S[1, 2, -1][t]
+							 + koff*S[1, 2, 0][t] + kpoff*S[1, 2, 1]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S[1, 2, 0])'[t] == kpon*K[1, 1][t]*S[-1, 2,
+							 0][t] + k7*S[0, 2, 0][t] + kpon*K[2, 2]
+							[t]*S[1, -1, 0][t] + kon*K[3, 0][t]*S[1, 2, -
+							1][t] - k9a*S[1, 2, 0][t] - koff*S[1, 2,
+							 0][t] - 2*kpoff*S[1, 2, 0][t] - k1a*RAFK[t]*
+							S[1, 2, 0][t] + d1a*S_RAFK[1, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 2, 1]</td>
+                        <td>0</td>
+                        <td>(S[1, 2, 1])'[t] == kpon*K[1, 1][t]*S[-1, 2,
+							 1][t] + k7*S[0, 2, 1][t] + kpon*K[2, 2]
+							[t]*S[1, -1, 1][t] + k5a*S[1, 1, 1][t] +
+							 kpon*K[3, 1][t]*S[1, 2, -1][t] - k9a*S[1, 2,
+							 1][t] - 3*kpoff*S[1, 2, 1][t] + k1*S_RAFK[1,
+							 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, -1, -1]</td>
+                        <td>0</td>
+                        <td>(S[2, -1, -1])'[t] == kpon*K[1, 2][t]*S[-1, -
+							1, -1][t] - kpoff*S[2, -1, -1][t] - kon*K[2,
+							 0][t]*S[2, -1, -1][t] - kpon*K[2, 1][t]*S[2,
+							 -1, -1][t] - kpon*K[2, 2][t]*S[2, -1, -1][t]
+							 - kon*K[3, 0][t]*S[2, -1, -1][t] - kpon*K[3,
+							 1][t]*S[2, -1, -1][t] + koff*S[2, -1, 0][t]
+							 + kpoff*S[2, -1, 1][t] + koff*S[2, 0, -
+							1][t] + kpoff*S[2, 1, -1][t] + kpoff*S[2, 2,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S[2, -1, 0])'[t] == kpon*K[1, 2][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[2, -1, -1][t] -
+							 koff*S[2, -1, 0][t] - kpoff*S[2, -1, 0][t]
+							 - k1a*RAFK[t]*S[2, -1, 0][t] - kon*K[2, 0][
+							t]*S[2, -1, 0][t] - kpon*K[2, 1][t]*S[2, -1,
+							 0][t] - kpon*K[2, 2][t]*S[2, -1, 0][t] +
+							 koff*S[2, 0, 0][t] + kpoff*S[2, 1, 0][t]
+							 + kpoff*S[2, 2, 0][t] + d1a*S_RAFK[2, -1,
+							 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, -1, 1]</td>
+                        <td>0</td>
+                        <td>(S[2, -1, 1])'[t] == kpon*K[1, 2][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[2, -1, -1][t] -
+							 2*kpoff*S[2, -1, 1][t] - kon*K[2, 0][t]*S[2,
+							 -1, 1][t] - kpon*K[2, 1][t]*S[2, -1, 1][t]
+							 - kpon*K[2, 2][t]*S[2, -1, 1][t] + koff*S[2,
+							 0, 1][t] + kpoff*S[2, 1, 1][t] + kpoff*
+							S[2, 2, 1][t] + k1*S_RAFK[2, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 0, -1]</td>
+                        <td>0</td>
+                        <td>(S[2, 0, -1])'[t] == kpon*K[1, 2][t]*S[-1, 0,
+							 -1][t] + kon*K[2, 0][t]*S[2, -1, -1][t] -
+							 koff*S[2, 0, -1][t] - kpoff*S[2, 0, -1][t]
+							 - kon*K[3, 0][t]*S[2, 0, -1][t] - kpon*K[3,
+							 1][t]*S[2, 0, -1][t] + koff*S[2, 0, 0][t]
+							 + kpoff*S[2, 0, 1][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S[2, 0, 0])'[t] == kpon*K[1, 2][t]*S[-1, 0,
+							 0][t] + kon*K[2, 0][t]*S[2, -1, 0][t] +
+							 kon*K[3, 0][t]*S[2, 0, -1][t] - 2*koff*S[2,
+							 0, 0][t] - kpoff*S[2, 0, 0][t] - k1a*
+							RAFK[t]*S[2, 0, 0][t] + d1a*S_RAFK[2, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 0, 1]</td>
+                        <td>0</td>
+                        <td>(S[2, 0, 1])'[t] == kpon*K[1, 2][t]*S[-1, 0,
+							 1][t] + kon*K[2, 0][t]*S[2, -1, 1][t] +
+							 kpon*K[3, 1][t]*S[2, 0, -1][t] - k3*S[2, 0,
+							 1][t] - koff*S[2, 0, 1][t] - 2*kpoff*S[2,
+							 0, 1][t] + k1*S_RAFK[2, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 1, -1]</td>
+                        <td>0</td>
+                        <td>(S[2, 1, -1])'[t] == kpon*K[1, 2][t]*S[-1, 1,
+							 -1][t] + kpon*K[2, 1][t]*S[2, -1, -1][t] -
+							 2*kpoff*S[2, 1, -1][t] - kon*K[3, 0][t]*S[2,
+							 1, -1][t] - kpon*K[3, 1][t]*S[2, 1, -1][t]
+							 + koff*S[2, 1, 0][t] + kpoff*S[2, 1, 1]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S[2, 1, 0])'[t] == kpon*K[1, 2][t]*S[-1, 1,
+							 0][t] + kpon*K[2, 1][t]*S[2, -1, 0][t] +
+							 kon*K[3, 0][t]*S[2, 1, -1][t] - koff*S[2, 1,
+							 0][t] - 2*kpoff*S[2, 1, 0][t] - k1a*RAFK[t]*
+							S[2, 1, 0][t] + d1a*S_RAFK[2, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 1, 1]</td>
+                        <td>0</td>
+                        <td>(S[2, 1, 1])'[t] == kpon*K[1, 2][t]*S[-1, 1,
+							 1][t] + kpon*K[2, 1][t]*S[2, -1, 1][t] +
+							 k3*S[2, 0, 1][t] + kpon*K[3, 1][t]*S[2, 1,
+							 -1][t] - k5a*S[2, 1, 1][t] - 3*kpoff*S[2,
+							 1, 1][t] + k1*S_RAFK[2, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 2, -1]</td>
+                        <td>0</td>
+                        <td>(S[2, 2, -1])'[t] == kpon*K[1, 2][t]*S[-1, 2,
+							 -1][t] + k9a*S[1, 2, -1][t] + kpon*K[2,
+							 2][t]*S[2, -1, -1][t] - 2*kpoff*S[2, 2, -1][
+							t] - kon*K[3, 0][t]*S[2, 2, -1][t] - kpon*K[
+							3, 1][t]*S[2, 2, -1][t] + koff*S[2, 2, 0][t]
+							 + kpoff*S[2, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S[2, 2, 0])'[t] == kpon*K[1, 2][t]*S[-1, 2,
+							 0][t] + k9a*S[1, 2, 0][t] + kpon*K[2,
+							 2][t]*S[2, -1, 0][t] + kon*K[3, 0][t]*S[2,
+							 2, -1][t] - koff*S[2, 2, 0][t] - 2*
+							kpoff*S[2, 2, 0][t] - k1a*RAFK[t]*S[2, 2, 0][t]
+							 + d1a*S_RAFK[2, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 2, 1]</td>
+                        <td>0</td>
+                        <td>(S[2, 2, 1])'[t] == kpon*K[1, 2][t]*S[-1, 2,
+							 1][t] + k9a*S[1, 2, 1][t] + kpon*K[2,
+							 2][t]*S[2, -1, 1][t] + k5a*S[2, 1, 1][t]
+							 + kpon*K[3, 1][t]*S[2, 2, -1][t] - 3*kpoff*
+							S[2, 2, 1][t] + k1*S_RAFK[2, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[-1, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[-1, -1, 0])'[t] == k1a*RAFK[t]*S[-1, -1,
+							 0][t] - d1a*S_RAFK[-1, -1, 0][t] - k1*
+							S_RAFK[-1, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[-1, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[-1, 0, 0])'[t] == k1a*RAFK[t]*S[-1, 0,
+							 0][t] - d1a*S_RAFK[-1, 0, 0][t] - k1*S_RAFK[
+							-1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[-1, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[-1, 1, 0])'[t] == k1a*RAFK[t]*S[-1, 1,
+							 0][t] - d1a*S_RAFK[-1, 1, 0][t] - k1*S_RAFK[
+							-1, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[-1, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[-1, 2, 0])'[t] == k1a*RAFK[t]*S[-1, 2,
+							 0][t] - d1a*S_RAFK[-1, 2, 0][t] - k1*S_RAFK[
+							-1, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[0, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[0, -1, 0])'[t] == k1a*RAFK[t]*S[0, -1,
+							 0][t] - d1a*S_RAFK[0, -1, 0][t] - k1*S_RAFK[
+							0, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[0, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[0, 0, 0])'[t] == k1a*RAFK[t]*S[0, 0,
+							 0][t] - d1a*S_RAFK[0, 0, 0][t] - k1*S_RAFK[
+							0, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[0, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[0, 1, 0])'[t] == k1a*RAFK[t]*S[0, 1,
+							 0][t] - d1a*S_RAFK[0, 1, 0][t] - k1*S_RAFK[
+							0, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[0, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[0, 2, 0])'[t] == k1a*RAFK[t]*S[0, 2,
+							 0][t] - d1a*S_RAFK[0, 2, 0][t] - k1*S_RAFK[
+							0, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[1, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[1, -1, 0])'[t] == k1a*RAFK[t]*S[1, -1,
+							 0][t] - d1a*S_RAFK[1, -1, 0][t] - k1*S_RAFK[
+							1, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[1, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[1, 0, 0])'[t] == k1a*RAFK[t]*S[1, 0,
+							 0][t] - d1a*S_RAFK[1, 0, 0][t] - k1*S_RAFK[
+							1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[1, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[1, 1, 0])'[t] == k1a*RAFK[t]*S[1, 1,
+							 0][t] - d1a*S_RAFK[1, 1, 0][t] - k1*S_RAFK[
+							1, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[1, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[1, 2, 0])'[t] == k1a*RAFK[t]*S[1, 2,
+							 0][t] - d1a*S_RAFK[1, 2, 0][t] - k1*S_RAFK[
+							1, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[2, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[2, -1, 0])'[t] == k1a*RAFK[t]*S[2, -1,
+							 0][t] - d1a*S_RAFK[2, -1, 0][t] - k1*S_RAFK[
+							2, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[2, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[2, 0, 0])'[t] == k1a*RAFK[t]*S[2, 0,
+							 0][t] - d1a*S_RAFK[2, 0, 0][t] - k1*S_RAFK[
+							2, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[2, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[2, 1, 0])'[t] == k1a*RAFK[t]*S[2, 1,
+							 0][t] - d1a*S_RAFK[2, 1, 0][t] - k1*S_RAFK[
+							2, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[2, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[2, 2, 0])'[t] == k1a*RAFK[t]*S[2, 2,
+							 0][t] - d1a*S_RAFK[2, 2, 0][t] - k1*S_RAFK[
+							2, 2, 0][t]</td>
+                        </tr>
+                    </tbody>
+                </table>
+            <p>Generated by Cellerator Version 1.0 update 2.1203 using Mathematica 4.2 for 
+				Mac OS X (June 4, 2002), December 4, 2002 15:06:10, using (PowerMac,PowerPC,Mac 
+				OS X,MacOSX,Darwin)</p>
+            <p>author=B.E.Shapiro</p>
+            </body>
+      
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+        <rdf:Description rdf:about="#_000001">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Shapiro</vCard:Family>
+                  <vCard:Given>Bruce</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bshapiro at jpl.nasa.gov</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>NASA Jet Propulsion Laboratory</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2005-02-25T23:43:21Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2013-06-03T13:36:47Z</dcterms:W3CDTF>
+          </dcterms:modified>
+          <bqmodel:is>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/biomodels.db/MODEL6616691524"/>
+            </rdf:Bag>
+          </bqmodel:is>
+          <bqmodel:is>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000014"/>
+            </rdf:Bag>
+          </bqmodel:is>
+          <bqmodel:isDescribedBy>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/pubmed/10823939"/>
+            </rdf:Bag>
+          </bqmodel:isDescribedBy>
+          <bqbiol:isVersionOf>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0005078"/>
+              <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000165"/>
+            </rdf:Bag>
+          </bqbiol:isVersionOf>
+          <bqbiol:isHomologTo>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_634"/>
+            </rdf:Bag>
+          </bqbiol:isHomologTo>
+          <bqbiol:occursIn>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/taxonomy/8355"/>
+            </rdf:Bag>
+          </bqbiol:occursIn>
+          <bqmodel:isDerivedFrom>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000011"/>
+            </rdf:Bag>
+          </bqmodel:isDerivedFrom>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+      <listOfCompartments>
+      <compartment id="Cytoplasm" metaid="_801486" size="1">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801486">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0005737"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="MAPKP" initialAmount="0.3" hasOnlySubstanceUnits="true" name="MAPK phosphatase" metaid="_801521" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801521">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="MEKP" initialAmount="0.2" hasOnlySubstanceUnits="true" name="MEK phosphatase" metaid="_801552" compartment="Cytoplasm"/>
+      <species id="RAFK" initialAmount="0.1" hasOnlySubstanceUnits="true" name="RAF kinase" metaid="_801582" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801582">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="RAFP" initialAmount="0.3" hasOnlySubstanceUnits="true" name="RAF phosphatase" metaid="_801612" compartment="Cytoplasm"/>
+      <species id="K_1_0" initialAmount="0.4" hasOnlySubstanceUnits="true" name="MAPK" metaid="_801641" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801641">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-P" metaid="_801671" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801671">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_1_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-PP" metaid="_801701" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801701">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_2_0" initialAmount="0.2" hasOnlySubstanceUnits="true" name="MEK" metaid="_801731" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801731">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-P" metaid="_801761" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801761">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-PP" metaid="_801791" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801791">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_3_0" initialAmount="0.3" hasOnlySubstanceUnits="true" name="RAF" metaid="_801821" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801821">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="RAF-P" metaid="_801851" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801851">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_K_1_0_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK_MEK-PP" metaid="_801882" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801882">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_K_1_1_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-P_MEK-PP" metaid="_801911" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801911">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_K_2_0_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK_RAF-P" metaid="_801941" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801941">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_K_2_1_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-P_RAF-P" metaid="_801971" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801971">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_MAPKP_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-P_MAPKPase" metaid="_802001" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802001">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_MAPKP_1_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-PP_MAPKPase" metaid="_802032" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802032">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_MEKP_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-P_MEKPase" metaid="_802061" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802061">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_MEKP_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-PP_MEKPase" metaid="_802092" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802092">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_RAFK_3_0" initialAmount="0" hasOnlySubstanceUnits="true" name="RAF_RAFK" metaid="_802121" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802121">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_RAFP_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="RAF-P_RAFPase" metaid="_802151" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802151">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_m1_m1" initialAmount="0.1" hasOnlySubstanceUnits="true" name="Scaffold" metaid="_802181" compartment="Cytoplasm"/>
+      <species id="S_m1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_RAF" metaid="_802211" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802211">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_RAF-P" metaid="_802241" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802241">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK" metaid="_802271" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802271">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK_RAF" metaid="_802301" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802301">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK_RAF-P" metaid="_802332" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802332">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P" metaid="_802362" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802362">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P_RAF" metaid="_802392" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802392">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P_RAF-P" metaid="_802421" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802421">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP" metaid="_802451" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802451">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP_RAF" metaid="_802481" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802481">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP_RAF-P" metaid="_802511" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802511">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_m1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK" metaid="_802541" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802541">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_RAF" metaid="_802571" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802571">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_RAF-P" metaid="_802602" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802602">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK" metaid="_802631" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802631">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK_RAF" metaid="_802661" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802661">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK_RAF-P" metaid="_802691" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802691">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P" metaid="_802721" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802721">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P_RAF" metaid="_802751" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802751">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P_RAF-P" metaid="_802781" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802781">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP" metaid="_802812" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802812">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP_RAF" metaid="_802842" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802842">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP_RAF-P" metaid="_802871" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802871">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_m1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P" metaid="_802901" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802901">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_RAF" metaid="_802931" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802931">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_RAF-P" metaid="_802961" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802961">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK" metaid="_802991" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802991">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK_RAF" metaid="_803021" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803021">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK_RAF-P" metaid="_803051" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803051">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P" metaid="_803082" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803082">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P_RAF" metaid="_803111" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803111">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P_RAF-P" metaid="_803141" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803141">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP" metaid="_803171" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803171">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP_RAF" metaid="_803201" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803201">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP_RAF-P" metaid="_803231" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803231">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_m1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP" metaid="_803261" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803261">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_RAF" metaid="_803291" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803291">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_RAF-P" metaid="_803322" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803322">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK" metaid="_803351" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803351">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK_RAF" metaid="_803382" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803382">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK_RAF-P" metaid="_803411" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803411">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P" metaid="_803441" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803441">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P_RAF" metaid="_803471" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803471">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P_RAF-P" metaid="_803501" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803501">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP" metaid="_803531" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803531">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP_RAF" metaid="_803561" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803561">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP_RAF-P" metaid="_803591" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803591">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_m1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_RAF" metaid="_803621" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803621">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_m1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK_RAF" metaid="_803651" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803651">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_m1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P_RAF" metaid="_803681" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803681">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_m1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP_RAF" metaid="_803711" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803711">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_0_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_RAF" metaid="_803741" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803741">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_0_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK_RAF" metaid="_803771" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803771">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_0_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P_RAF" metaid="_803801" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803801">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_0_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP_RAF" metaid="_803831" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803831">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_RAF" metaid="_803861" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803861">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK_RAF" metaid="_803891" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803891">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P_RAF" metaid="_803921" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803921">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP_RAF" metaid="_803951" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803951">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_2_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_RAF" metaid="_803981" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803981">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_2_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK_RAF" metaid="_804011" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804011">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_2_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P_RAF" metaid="_804041" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804041">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_2_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP_RAF" metaid="_804071" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804071">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="Reaction1" name="binding of RAF and RAFK" metaid="_804118" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804118">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006461"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_1bbaa86f_2ad5_41c9_9be3_364fc67ac033"/>
+          <speciesReference species="K_3_0" metaid="ab969a19_012d_4237_9807_12831313829c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_RAFK_3_0" metaid="_5e3212b6_c35c_49e1_bfc1_686289d29167"/>
+        </listOfProducts>
+        <kineticLaw metaid="a6cbed13_fb00_4eb0_a60e_c807447dba61">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a1 </ci>
+              <ci> RAFK </ci>
+              <ci> K_3_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a1" metaid="_4fd78910_731a_43a5_aeb0_39cfab7d8605" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction2" name="dissociation of RAF_RAFK" metaid="_804185" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804185">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFK_3_0" metaid="_9f82639d_5ea5_47a7_b2bd_eb7331a1d83f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_6d88863e_f966_4679_adcc_b9d737784004"/>
+          <speciesReference species="K_3_0" metaid="_9cf5a530_86fc_4ce4_bbb2_3da748d0f19d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_60d7061e_f505_4731_9b7b_a7433585f896">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1 </ci>
+              <ci> K_RAFK_3_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1" metaid="_8c4e760e_1fe6_4d16_be3a_ec0c03e4c6ae" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction3" name="phosphorylation of RAF" metaid="_804255" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804255">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFK_3_0" metaid="_7c8dd651_8a2e_42f3_a87d_6ca6a20fd1da"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="b5b43fcd_81e9_4016_a772_506058332043"/>
+          <speciesReference species="K_3_1" metaid="_8f889b49_208a_41d2_9b5c_34dcb66bcbca"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8ce6c546_2328_438c_8556_b5a0daf1cead">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> K_RAFK_3_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_599c70c3_5f12_41aa_aee1_f044b530d26b" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction4" name="binding of RAF-P and RAF phosphatase" metaid="_804325" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804325">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFP" metaid="_2f151523_aa9c_4ff5_85b1_8432953d3beb"/>
+          <speciesReference species="K_3_1" metaid="_8dc42e37_5a7a_4a41_8058_ba270ceaa8b6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_RAFP_3_1" metaid="_8eeba172_c127_4891_8f36_0fbbda0de051"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2defe34a_9698_40be_b764_63c2fc70f49a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a2 </ci>
+              <ci> RAFP </ci>
+              <ci> K_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a2" metaid="_9369fa2c_5802_41ed_b8d4_07be685bdbac" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction5" name="dissociation of RAF-P_RAFPase" metaid="_804395" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804395">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFP_3_1" metaid="_7fb07dcd_66b4_48b2_9376_ec0166cb445d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFP" metaid="_43d4dbfd_2a31_4af9_92b2_642d5f6f967a"/>
+          <speciesReference species="K_3_1" metaid="_258055db_b484_4b70_8bff_a567299fc04a"/>
+        </listOfProducts>
+        <kineticLaw metaid="bc66b485_30c0_4ee3_82b8_f7a62e23a50f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d2 </ci>
+              <ci> K_RAFP_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d2" metaid="_44065a05_b5b5_48ec_bb68_bbc6040116ba" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction6" name="dephosphorylation of RAF-P" metaid="_804466" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804466">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFP_3_1" metaid="_79d01386_96fe_4460_9c75_7eec093bfb87"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFP" metaid="a1649a84_7924_4745_b05e_b12eff206ee4"/>
+          <speciesReference species="K_3_0" metaid="_175fc210_bb02_47e2_bdb0_6352337a0ff8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_29e718d5_392d_4dbe_9eb9_026333918800">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> K_RAFP_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k2" metaid="_0d0b525f_7219_4bb2_b3ed_adf7ed2a949c" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction7" name="binding of MEK and RAF-P" metaid="_804536" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804536">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_143"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_2_0" metaid="ef1a79b7_a2e3_4a34_a720_f0232c309d06"/>
+          <speciesReference species="K_3_1" metaid="_71b18200_87c7_4694_bb5e_7745caf4b05a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_2_0_3_1" metaid="_292ec4dd_5505_4da6_99b6_9dd17275cd36"/>
+        </listOfProducts>
+        <kineticLaw metaid="fdd9df3d_a382_4c2b_bdcb_6efd244e0350">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a3 </ci>
+              <ci> K_2_0 </ci>
+              <ci> K_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a3" metaid="_119ee771_c19f_4e32_b6fa_cd4e3413bf35" value="3.3"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction8" name="dissociation of MEK_RAF-P" metaid="_804605" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804605">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_0_3_1" metaid="fe778619_29b9_4bc4_804d_3cab30a5ac00"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_84cb6cdc_f5de_4fa1_b03d_350632e86545"/>
+          <speciesReference species="K_3_1" metaid="_063151dc_dd38_4f37_aa60_6423016a0184"/>
+        </listOfProducts>
+        <kineticLaw metaid="_57a9f76e_46ed_497d_a083_0d1705adc3f4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d3 </ci>
+              <ci> K_K_2_0_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d3" metaid="_1f3f011a_f140_471d_a424_f501947125ed" value="0.42"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction9" name="phosphorylation of MEK" metaid="_804677" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804677">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.25"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_0_3_1" metaid="b432ac2a_301d_4591_910c_33aa45d2de93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_805411de_352e_46b4_8caa_9a90d19898bd"/>
+          <speciesReference species="K_3_1" metaid="_26f084b5_3e69_42f6_9e9e_99e93c46f663"/>
+        </listOfProducts>
+        <kineticLaw metaid="_46582d2d_da6c_457b_8ca4_492d2bf41e4f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> K_K_2_0_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="c68d14e6_4f88_4b2b_9b8a_c5614fb57dcc" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction10" name="binding of MEK-P and MEK phosphatase" metaid="_804745" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804745">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="MEKP" metaid="a6fe3a88_8a12_421b_95f2_97730eab755d"/>
+          <speciesReference species="K_2_1" metaid="_60187c37_be38_403f_997a_914867338358"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MEKP_2_1" metaid="_0556a782_2b1e_4636_9c24_9e1950fc7ace"/>
+        </listOfProducts>
+        <kineticLaw metaid="_75cfdc41_95d8_4ea6_99ae_7f49c2e33cf8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a4 </ci>
+              <ci> MEKP </ci>
+              <ci> K_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a4" metaid="_5c7e2361_6ac3_42eb_974f_7a150cdb96b7" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction11" name="dissociation of MEK-P_MEKPase" metaid="_804815" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804815">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_1" metaid="a1496dbb_0968_4964_88b6_c4f4ae384e89"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="_52361433_dea6_4914_bbad_07e5e43dbc9d"/>
+          <speciesReference species="K_2_1" metaid="b9b3f34b_b936_4bce_b4ef_18977875f818"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1d38fce3_d55f_4dfb_8fe3_6542967d635f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d4 </ci>
+              <ci> K_MEKP_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d4" metaid="f63ae2c4_3f22_481a_a140_b8ba6dcc5b09" value="0.8"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction12" name="dephosphorylation of MEK-P" metaid="_804885" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804885">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_1" metaid="_09c9cc23_a692_4479_b50c_62d00c2f27cd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="_9bfa8406_ad80_4927_b53d_12360a90f236"/>
+          <speciesReference species="K_2_0" metaid="_36fcaba9_809d_4815_a8de_61a59e0eb2a3"/>
+        </listOfProducts>
+        <kineticLaw metaid="c0850334_dd28_417f_a558_84eed2c18834">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> K_MEKP_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k4" metaid="_3ce03063_0ae4_40e3_98bc_36b1b18c05e0" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction13" name="binding of MEK-P and RAF-P" metaid="_804955" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804955">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_143"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_0392bb20_729a_431c_b0f5_2af3457729fb"/>
+          <speciesReference species="K_3_1" metaid="_05025b9c_447f_4737_bb36_333e6d850c1a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_2_1_3_1" metaid="_78d1df41_4708_46d5_a5a6_1acb8f02b7ac"/>
+        </listOfProducts>
+        <kineticLaw metaid="e5679d10_b701_4e09_b1a3_94f70932b9a5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a5 </ci>
+              <ci> K_2_1 </ci>
+              <ci> K_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a5" metaid="c76f4405_4ce6_44e1_8e3a_844dea4237cf" value="3.3"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction14" name="dissociation of MEK-P_RAF-P" metaid="_805026" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805026">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_1_3_1" metaid="_4da90d86_1762_4816_8f2b_f84a58e75e84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_20aff140_ddba_47a0_92a0_bb7095f518cd"/>
+          <speciesReference species="K_3_1" metaid="c911977f_cf8f_4580_8323_05dde3d8e398"/>
+        </listOfProducts>
+        <kineticLaw metaid="f84137bb_ff33_453a_9918_53f3fade113a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d5 </ci>
+              <ci> K_K_2_1_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d5" metaid="e71b5628_07da_4fa9_9b8e_cf466574a885" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction15" name="phosphorylation of MEK-P" metaid="_805095" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805095">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_614"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_1_3_1" metaid="_053e8867_aff2_45b3_a12a_f9395726cb14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_9314b557_54b1_4c47_ad99_72112dfc30bc"/>
+          <speciesReference species="K_3_1" metaid="_62ae3d25_0698_4003_939d_32ea2ce99cbf"/>
+        </listOfProducts>
+        <kineticLaw metaid="aeaf61ba_c77d_41fc_ad83_c442f6ba1bc8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5 </ci>
+              <ci> K_K_2_1_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5" metaid="_01b39a28_f9f3_42e6_a387_1b2c33088721" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction16" name="binding of MEK-PP and MEK phosphatase" metaid="_805165" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805165">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="MEKP" metaid="_2b779f9d_0950_4599_8c39_471cef7b67e5"/>
+          <speciesReference species="K_2_2" metaid="_1219df67_9fd0_4888_a1d8_2c15efbc7545"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MEKP_2_2" metaid="_3e2d4d9d_4576_4968_b37c_96f739fc4e7d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_819a927a_a5f9_434f_9c0d_2f186593b674">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a6 </ci>
+              <ci> MEKP </ci>
+              <ci> K_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a6" metaid="c92fa460_37bb_4ab4_b3fa_803ce6616acd" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction17" name="dissociation of MEK-PP_MEKPase" metaid="_805235" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805235">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_2" metaid="_0693ef50_1e2f_48ae_89d8_84623360f842"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="_87e46a98_b040_4ce1_b6d7_6c1a84a331e2"/>
+          <speciesReference species="K_2_2" metaid="_1f344c65_9ba9_4fd6_8833_52a9d2dbd7d6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_22b7a296_9074_437a_a407_32a5a9d84003">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d6 </ci>
+              <ci> K_MEKP_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d6" metaid="_1afecfb4_21b6_46f5_8a6e_703970273cc0" value="0.8"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction18" name="dephosphorylation of MEK-PP" metaid="_805305" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805305">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_2" metaid="_83440eed_901a_405c_8490_3551e6aaf5b9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="a5d62df8_5b87_474a_b2f9_ce7d1757e459"/>
+          <speciesReference species="K_2_1" metaid="e0be1828_a29e_4e94_a3e4_3a6c837a5a6f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_72b0c58a_bff6_44db_b0f3_aa0e212ce9b6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k6 </ci>
+              <ci> K_MEKP_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k6" metaid="d92abcf1_f9cf_4a3a_8d4f_d1920a6acba6" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction19" name="binding of MAPK and MEK-PP" metaid="_805375" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805375">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_1780"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_495"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_72301fe2_8b82_49fd_9e4f_b7a60ccd632d"/>
+          <speciesReference species="K_2_2" metaid="_6ada9ab1_ea17_4857_aa3d_008e8c0c6ca0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_1_0_2_2" metaid="_77dee215_774d_4179_9a2a_e211bb2cc42b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_939a6ac5_6e65_48bc_966c_ea1d8cead86e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a7 </ci>
+              <ci> K_1_0 </ci>
+              <ci> K_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a7" metaid="_5d8451ff_6bd5_48ea_b8ea_d904255a9c32" value="20"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction20" name="dissociation of MAPK_MEK-PP" metaid="_805445" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805445">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_0_2_2" metaid="_0ac8c512_4abf_4a4e_814d_9958df596d6b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_149af1af_7eae_4468_8429_86f040d61965"/>
+          <speciesReference species="K_2_2" metaid="f1b16bc4_fd55_4d4f_b3ef_d712a62e1fe1"/>
+        </listOfProducts>
+        <kineticLaw metaid="b3c42ac7_4f6b_4958_9843_df516dbde7e6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d7 </ci>
+              <ci> K_K_1_0_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d7" metaid="a974ec75_103f_462f_8c1b_121b5ed49737" value="0.6"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction21" name="phosphorylation of MAPK" metaid="_805515" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805515">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.12.2"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_136"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_2247"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_0_2_2" metaid="_9b63cbd9_a756_42e3_9148_2e59e4a842b6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="ef13e07d_9f8b_476f_a326_f4e75d736dd0"/>
+          <speciesReference species="K_2_2" metaid="_57c231c8_ce20_4d6d_b101_2b4c851d662c"/>
+        </listOfProducts>
+        <kineticLaw metaid="c9eacfce_264c_4827_9880_e6524a860462">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> K_K_1_0_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_644b5462_e189_436a_ab24_bf0535b0b2ab" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction22" name="binding of MAPK-P and MAPK phosphatase" metaid="_805585" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805585">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="MAPKP" metaid="_9cfb41ba_61a7_475a_b0c4_add8f98bb37c"/>
+          <speciesReference species="K_1_1" metaid="_58aa33c9_647a_4d3d_86f7_fe80bd63c65c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MAPKP_1_1" metaid="_51949d68_5b0c_443c_a501_91c448c1e9a3"/>
+        </listOfProducts>
+        <kineticLaw metaid="dd260093_e519_48a1_b33a_0e379da58b21">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a8 </ci>
+              <ci> MAPKP </ci>
+              <ci> K_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a8" metaid="_6ab47ba3_e00d_44d9_aec3_2146c074891c" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction23" name="dissociation of MAPK-P_MAPKPase" metaid="_805655" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805655">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_1" metaid="acbc9760_9d3a_4e93_a249_99d9856e2e98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="_0cf3c960_2e12_48f0_9b9e_f60cf6dde7f4"/>
+          <speciesReference species="K_1_1" metaid="c641be86_a520_4a1a_8adb_387b715d173a"/>
+        </listOfProducts>
+        <kineticLaw metaid="c232a0b0_3cf0_40dd_a171_520ac226e399">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d8 </ci>
+              <ci> K_MAPKP_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d8" metaid="e74b803a_d8b9_44bc_9fb6_d7fecbfb92b9" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction24" name="dephosphorylation of MAPK-P" metaid="_805725" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805725">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_1" metaid="_9a0bb008_e633_4f1e_b9e9_10ea9cc01238"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="_2a7855a6_6479_4b99_a669_90f511330381"/>
+          <speciesReference species="K_1_0" metaid="a8ad46bc_006a_4e68_83fc_9aecdf346b16"/>
+        </listOfProducts>
+        <kineticLaw metaid="ec0ea0d6_c75c_47b8_bb35_c58d7e252b63">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k8 </ci>
+              <ci> K_MAPKP_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k8" metaid="_82787690_1cbd_4383_bd76_a42e7d8f2174" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction25" name="binding of MAPK-P and MEK-PP" metaid="_805801" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805801">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_37e3fe65_cd54_4e2b_addb_d857517bd540"/>
+          <speciesReference species="K_2_2" metaid="_1418b733_8aa5_493f_b08b_a9feb57caec6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_1_1_2_2" metaid="_87223da5_e7c8_46a4_b1dd_451b8d58e633"/>
+        </listOfProducts>
+        <kineticLaw metaid="_011567d5_fecb_4d87_9201_5acbbc1ad802">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a9 </ci>
+              <ci> K_1_1 </ci>
+              <ci> K_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a9" metaid="b0a5be82_9067_42fe_9ab5_6208e87aa33a" value="20"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction26" name="dissociation of MAPK-P_MEK-PP" metaid="_805865" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805865">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_1_2_2" metaid="_059d6a61_81b3_4403_8e13_5447cde55c71"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_8cfe5b51_f7d5_40ef_aafd_409ca23b863c"/>
+          <speciesReference species="K_2_2" metaid="fdd713fd_b42a_4b41_bf0e_7319904de042"/>
+        </listOfProducts>
+        <kineticLaw metaid="e9687720_c69f_4f84_a353_f7ade84f658d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d9 </ci>
+              <ci> K_K_1_1_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d9" metaid="_1508aa9a_79c3_4391_b2f8_bf9063547557" value="0.6"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction27" name="phosphorylation of MAPK-P" metaid="_805935" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805935">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000187"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_1_2_2" metaid="a225084b_13ed_429e_aac0_08522f0e8e12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_6c38a985_bf58_45be_9600_33699fac2b95"/>
+          <speciesReference species="K_2_2" metaid="_185ad415_f6ef_489f_a06a_22ff1f24c545"/>
+        </listOfProducts>
+        <kineticLaw metaid="a3845b2b_2a4b_4619_80f1_841f86a0e7a1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9 </ci>
+              <ci> K_K_1_1_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9" metaid="_1b7ef836_2dcf_4db0_8ca9_f4f8ebe6816c" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction28" name="binding of MAPK-PP and MAPK phosphatase" metaid="_806005" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806005">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="MAPKP" metaid="d0afd796_8b5e_47d1_acd8_adc20f63c789"/>
+          <speciesReference species="K_1_2" metaid="faa0a5db_6eff_43c4_af9c_84d1c3544179"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MAPKP_1_2" metaid="f3887d02_7468_4e05_9826_ad568bc16322"/>
+        </listOfProducts>
+        <kineticLaw metaid="_71584e67_4e06_4740_af48_16ab0e43d7f8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a10 </ci>
+              <ci> MAPKP </ci>
+              <ci> K_1_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a10" metaid="fc377dbb_3f5e_4084_92af_b52b28f68b12" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction29" name="dissociation of MAPK-PP_MAPKPase" metaid="_806075" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806075">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_2" metaid="_5e8f3a91_e92b_4a7d_8db4_30f9845ccba8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="a9b6c765_746e_47df_9aad_171b1e7a1eeb"/>
+          <speciesReference species="K_1_2" metaid="_1c925536_8d71_4ff9_86e0_300fc51daa71"/>
+        </listOfProducts>
+        <kineticLaw metaid="d978d998_6e0b_48d1_a025_96ab3ac1d974">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d10 </ci>
+              <ci> K_MAPKP_1_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d10" metaid="_9e9cd862_9306_40ee_a9c3_e66738c55522" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction30" name="dephosphorylation of MAPK-PP" metaid="_806145" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806145">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000188"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_2" metaid="d9c080a1_a9b7_4f4c_b8ce_ecaacbd97fd9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="_2076137e_ca25_4606_8661_4dc7b3cf65ea"/>
+          <speciesReference species="K_1_1" metaid="c1255abe_92e5_4099_af1a_72d2cf484539"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8005a14d_3f4b_4d8d_be6c_2ba5ca6f4e74">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k10 </ci>
+              <ci> K_MAPKP_1_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k10" metaid="ed5cb674_48bc_47fc_bdcb_b888a2c0c803" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction31" name="binding of MAPK on scaffold" metaid="_806215" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806215">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_8d44206f_0816_4b6d_ae66_19821a652deb"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_54982ccb_63de_47e0_9afb_63128475bc3a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_m1" metaid="_21ad5993_5784_45ff_9e77_b573fab659f9"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad4b0df6_5de0_44b2_a11a_a3c4baf704d8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_1c2ae0bc_fe90_4886_bdf0_177989248c8e" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction32" name="dissociation of MAPK from scaffold" metaid="_806285" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806285">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_m1" metaid="_679e4f48_68c8_475d_9d01_08ea1932c16d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="eef299d5_3f19_4da7_ac7b_a28d0b0d37c2"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_4cbe9ea2_bc16_4c44_af34_1d6a790e1bda"/>
+        </listOfProducts>
+        <kineticLaw metaid="d2fe38ae_d7dd_44db_bb32_3cb98d02ef56">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="b017813c_4c3c_4258_aa7c_d0a5fadbd23a" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction33" name="binding of MAPK on scaffold" metaid="_806355" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806355">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_95d00652_dd42_424c_b2cb_6f19977f8e12"/>
+          <speciesReference species="S_m1_m1_0" metaid="_44720ed8_bf43_4153_ab67_061988de416a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_0" metaid="_0a3fbc30_4d72_4b92_b790_670bb53f15fe"/>
+        </listOfProducts>
+        <kineticLaw metaid="bc5e696f_c181_49c9_9e30_b5eba994a552">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="cfa9ecc3_f1d0_4f3b_8447_18d25cc6fda4" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction34" name="dissociation of MAPK from scaffold" metaid="_806425" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806425">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_0" metaid="_2a0bce01_c63e_43ea_96e6_c287da33d43d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="f36f0219_835a_464a_ad53_7af2e55518cf"/>
+          <speciesReference species="S_m1_m1_0" metaid="_12fc4885_dd7b_4726_a3e5_a711bf1d030e"/>
+        </listOfProducts>
+        <kineticLaw metaid="e939b2a5_22a9_4344_9e6d_81a9a20ac0d6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_5710fae0_a04b_46ae_a4bb_3764f6ff6def" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction35" name="binding of MAPK on scaffold" metaid="_806495" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806495">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_7116701c_8faa_4861_96b8_9c743ce0da64"/>
+          <speciesReference species="S_m1_m1_1" metaid="_922d8eed_f077_43ce_9b61_2ada1ecb1001"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_1" metaid="bbe50116_5de0_4075_96c8_73889677b771"/>
+        </listOfProducts>
+        <kineticLaw metaid="c66901e4_096e_4df5_9310_8b32564c6253">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="ad365d23_625c_4b3a_81cc_4b3c4704f591" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction36" name="dissociation of MAPK from scaffold" metaid="_806565" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806565">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_1" metaid="_6f5b8be9_f05f_4b4a_afe3_21f981f9276d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_820ceeea_21b5_4eea_9aea_28108cdd2223"/>
+          <speciesReference species="S_m1_m1_1" metaid="c7522af0_a40b_4b4b_b0eb_bf57c1334aa6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_92d9cd3c_16bc_4517_916e_2f0d215dbf21">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="f5a16eca_c4d5_47c9_a398_42fb99710d7e" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction37" name="binding of MAPK on scaffold" metaid="_806635" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806635">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="f98c0588_e0fe_4e55_8746_6f365e2e128f"/>
+          <speciesReference species="S_m1_0_m1" metaid="_0caa85d8_2322_4323_9f48_e7d251a51e03"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_m1" metaid="fc7ddf92_b2e0_4e47_a67b_495e29bb0b18"/>
+        </listOfProducts>
+        <kineticLaw metaid="ef8d33b7_0aab_49f7_9293_3af432d13145">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="dd95ad8e_4e03_491a_9742_7a2236d038b3" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction38" name="dissociation of MAPK from scaffold" metaid="_806705" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806705">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_m1" metaid="_68d9c2a6_df30_47ca_af15_f2820bc4e1e0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="e3503a29_7eab_454a_a087_5333a851e2de"/>
+          <speciesReference species="S_m1_0_m1" metaid="ffa5b305_4cd8_42d0_9556_71c50e709e86"/>
+        </listOfProducts>
+        <kineticLaw metaid="_33ba75cf_aad9_4f66_9f69_69825f0b58e0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_27dee579_6d9b_408c_bc7b_c3a461d1ab00" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction39" name="binding of MAPK on scaffold" metaid="_806775" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806775">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="eb846242_75c6_4b0d_80e4_b3445e5429fe"/>
+          <speciesReference species="S_m1_0_0" metaid="a99dbf00_a8af_424d_a7fb_412eef15003d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_0" metaid="_0f07b1ae_c3a1_40cf_ac09_2bedc6d0e18a"/>
+        </listOfProducts>
+        <kineticLaw metaid="a8047c1b_044c_4939_af85_e96a2710c6c0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="c46ae85c_a568_4647_8b7a_0fdb241ae3b0" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction40" name="dissociation of MAPK from scaffold" metaid="_806845" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806845">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_0" metaid="_5dd7cb1a_2515_432e_a163_3035a0820406"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_7ae0e985_c77a_45de_8a5e_08f096f8c8bb"/>
+          <speciesReference species="S_m1_0_0" metaid="ba5247f0_c4ba_49d2_bcfa_f4dd2a41521e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6ecb906a_b648_4ef8_b299_df8e741a7bf8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_73b3742b_1c1f_4f75_a7d6_7f11b5b850f9" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction41" name="binding of MAPK on scaffold" metaid="_806915" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806915">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_3c8e6a2c_9cb2_41b9_a335_a7fb55aed4b9"/>
+          <speciesReference species="S_m1_0_1" metaid="_50d6383d_97a3_4378_b970_846acf76d524"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_1" metaid="_7ffe0563_5691_474d_a082_5a0c68d64200"/>
+        </listOfProducts>
+        <kineticLaw metaid="e3f87418_cfa3_424c_af31_cf68cde0f827">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="d614eae0_8689_40be_a42b_51de462e9104" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction42" name="dissociation of MAPK from scaffold" metaid="_806986" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806986">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="bf6ece91_77a8_4f29_a5d9_e2bfa0832be7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_90229dba_f5c9_4069_8b47_c06f2e6ac251"/>
+          <speciesReference species="S_m1_0_1" metaid="_278400c3_11a9_498e_862e_82b66934bca5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8bcfe26c_aa33_4ac5_9302_a7a4e0d81521">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="def82c34_ec06_40d4_a25d_eb6062b3987d" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction43" name="binding of MAPK on scaffold" metaid="_807057" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807057">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="f498afae_9582_48b1_ae03_68c2150ee829"/>
+          <speciesReference species="S_m1_1_m1" metaid="c029197f_faf0_45ea_8eb1_1693bb32a47c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_m1" metaid="_8972fe27_c4fa_451f_b174_dab7598ac71a"/>
+        </listOfProducts>
+        <kineticLaw metaid="f3f759ae_760b_49d7_90dd_a6f3910e7817">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_3fca06ff_70d2_4dc1_9e84_5d37df414da3" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction44" name="dissociation of MAPK from scaffold" metaid="_807125" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807125">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_m1" metaid="d34d231b_d79f_49d0_8692_a812e12453c8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_0d44602e_bac5_412f_845d_ef01dc171b3a"/>
+          <speciesReference species="S_m1_1_m1" metaid="d601dd6d_bc80_4678_be1a_e5cf6bb36125"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2a59e7e1_293b_407e_825d_4228a8636f78">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="b1dedcc6_35d1_4b04_98d4_8d5296d5b077" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction45" name="binding of MAPK on scaffold" metaid="_807195" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807195">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_702f0130_160a_46f4_b522_f48e8d1f7e2c"/>
+          <speciesReference species="S_m1_1_0" metaid="_633e0f8d_0a94_4063_be69_c16c52c178a2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_0" metaid="_6ec5136a_2af0_44e0_8e3b_97e603f301d8"/>
+        </listOfProducts>
+        <kineticLaw metaid="a7c352fe_376f_47da_af33_c52581199421">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_8a525a57_f55c_4433_9971_05ea777f174b" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction46" name="dissociation of MAPK from scaffold" metaid="_807265" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807265">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_0" metaid="_892ec070_5314_4573_bf1d_b2e46f47c282"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_3827619b_a27c_4165_b92d_ad7b42781411"/>
+          <speciesReference species="S_m1_1_0" metaid="d42cd4c6_dbd3_4a5c_8214_7afed8226ba0"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1494756a_c738_4b2f_bbbb_4e07092a343a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_5f9fb942_4fb8_4a60_aae8_9324f3d0bd66" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction47" name="binding of MAPK on scaffold" metaid="_807335" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807335">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_5e26b5ec_4a49_4180_814d_3645f96fd20e"/>
+          <speciesReference species="S_m1_1_1" metaid="_8bc6f010_ca44_48a9_b280_eb85a34bc94a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="cae48680_319c_4cf7_ad3f_5626eb4d6ad1"/>
+        </listOfProducts>
+        <kineticLaw metaid="_08b48b73_8230_409c_8d03_a6ca24e96a30">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_3ba4d06a_69b0_4f8b_a318_d1490c3f85c6" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction48" name="dissociation of MAPK from scaffold" metaid="_807405" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807405">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="e156a515_ea17_4e26_9824_00074201c8d3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_5c52f0c8_b966_4b29_a390_ede009aeee1e"/>
+          <speciesReference species="S_m1_1_1" metaid="_58dafeb0_db38_4911_8338_e7b9480e61c7"/>
+        </listOfProducts>
+        <kineticLaw metaid="c5e1a2dd_4c86_4263_a647_c0d947ea6996">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_608d5261_4907_451b_8edd_207847ef65d1" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction49" name="binding of MAPK on scaffold" metaid="_807475" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807475">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_9746080b_3f65_48b3_9fa4_729f42ac0d0c"/>
+          <speciesReference species="S_m1_2_m1" metaid="_839c75c0_4417_4967_b64a_6e4870623dc2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_m1" metaid="f690f3c7_60c6_4f3e_97c2_3f5b1bf03195"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6cd62deb_3751_482d_9d3c_e848ae35d9c7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_866139c4_dd34_4e7b_bb16_59799634e274" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction50" name="dissociation of MAPK from scaffold" metaid="_807545" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807545">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_m1" metaid="cd23beca_50ae_4190_a463_72bfcdde284a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_60308ad8_b177_48cb_90f0_561816ae8053"/>
+          <speciesReference species="S_m1_2_m1" metaid="_69389020_1b15_45d0_9d6a_2704573e5dcb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_56fb5668_4643_4157_90f3_32124921ae88">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_11377573_d7e8_4668_836f_34e2167e2e06" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction51" name="binding of MAPK on scaffold" metaid="_807615" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807615">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_9997a17d_b2e6_484f_9d48_7ee0a2e23178"/>
+          <speciesReference species="S_m1_2_0" metaid="_0f28f920_9fb1_44d5_9aff_ec77c6416c82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_0" metaid="dc95af44_7661_412d_b6ab_d2ba83cd5126"/>
+        </listOfProducts>
+        <kineticLaw metaid="a53fad25_807e_455c_afd2_3381771142e9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_8fba0b64_cd76_4ece_85b0_58b865a21e44" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction52" name="dissociation of MAPK from scaffold" metaid="_807685" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807685">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="a9744921_1ea5_49fe_be40_6a23f36aa930"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_427dccbd_c72e_4388_a5c2_e53833c0a20b"/>
+          <speciesReference species="S_m1_2_0" metaid="_85c3bed8_f300_4825_9a2c_d0fc7ffd491d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3a0142c2_6d87_4a36_916d_229d84c06b52">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_452fdbd8_c331_4db4_a228_7ba2106a2745" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction53" name="binding of MAPK on scaffold" metaid="_807755" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807755">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_481d76f9_3e89_4a6b_8fd0_ec387839da11"/>
+          <speciesReference species="S_m1_2_1" metaid="_589d1cce_b308_499e_afa2_7c3bf71a03f9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="_19417f0e_1415_4a08_9f1d_fd020189ecde"/>
+        </listOfProducts>
+        <kineticLaw metaid="_30cc4d22_ab21_4de1_9925_b19a2835711d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_212f4bf4_57d6_4d28_8fda_c2286fcf2463" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction54" name="dissociation of MAPK from scaffold" metaid="_807825" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807825">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="_5f0a6778_3895_418e_ba12_9537cf2bf386"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="c51adc5c_8f72_4e4e_9a09_0a6b1079e298"/>
+          <speciesReference species="S_m1_2_1" metaid="_457f4162_57cc_4c1b_a052_b8235a03889c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_52431105_ca8d_447a_b424_33183fe31d8d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_6ef59f83_f18a_4a44_b4c3_1c644021a96f" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction55" name="binding of MAPK-P on scaffold" metaid="_807895" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807895">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="f0dfe197_da2a_4cd6_9014_523b33af0778"/>
+          <speciesReference species="S_m1_m1_m1" metaid="ea711528_9fde_4bbe_9ee4_6ffe78639262"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_m1" metaid="_77322f92_6d42_4aa6_b6fc_e6a887eac66a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3757d397_fbb1_4668_b2ec_e396dda34e6a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="bcdbf392_6a4e_41f7_a077_a4b02e8c1d41" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction56" name="dissociation of MAPK-P from scaffold" metaid="_807965" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807965">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_m1" metaid="_3d08feee_f265_49f8_963a_5ceec92a72d6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_19e01fdf_7903_45e5_8d86_ad38096ef6c2"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_33ccad13_0013_417f_b0c2_cb80ef4d611c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_69a919c5_c8af_4d2a_8f43_c83b7588b0ed">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_508d6a8d_f6f2_4235_b07a_0c035d00515a" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction57" name="binding of MAPK-P on scaffold" metaid="_808035" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808035">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="bef7996f_e614_4946_8e77_5f0dea8c9c28"/>
+          <speciesReference species="S_m1_m1_0" metaid="_4130f069_f9ae_4343_8b86_0c330e0f43eb"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_0" metaid="_1e278601_b4e8_4024_bb5b_5f4852dcddcb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9b960fb7_8126_495d_8837_9f2c3cccd821">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_05d1176e_6d31_438b_927e_39076846f276" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction58" name="dissociation of MAPK-P from scaffold" metaid="_808105" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808105">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_0" metaid="_86acfed2_9fa8_4d96_8e9a_10d9efc68551"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_5522e699_3b76_4d9e_8d57_bb91ad326706"/>
+          <speciesReference species="S_m1_m1_0" metaid="_38cfbb5e_23d6_4e76_9090_4d40a53316dd"/>
+        </listOfProducts>
+        <kineticLaw metaid="_441bbcba_337a_448d_b885_880212ece80e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="aad82b8e_af7d_4cc9_88d8_00441be8b681" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction59" name="binding of MAPK-P on scaffold" metaid="_808175" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808175">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="ddfe3613_1bbb_4755_a6f7_ee5a8cdc466d"/>
+          <speciesReference species="S_m1_m1_1" metaid="ebd9c6b8_2ba0_4c29_9562_a5b0532d723a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_1" metaid="_05341f52_6aa4_4b41_b1e2_f566e2b44db1"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8e50710b_f001_4c8d_9977_7225d04bd764">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="a63035f7_72f4_4ab3_bf9d_d20f33a08931" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction60" name="dissociation of MAPK-P from scaffold" metaid="_808245" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808245">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_1" metaid="cc515283_54ad_4840_bb15_352f1b098df5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="ce375669_7fb6_41ab_97c0_c8e384df69a4"/>
+          <speciesReference species="S_m1_m1_1" metaid="f71329f1_fef0_40d2_8988_c6f3a740a97d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2ed7fb7b_5a65_4ba9_b4f2_3d6031b171e2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_440b9c8a_ac1c_43a7_af03_4a5ecb500700" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction61" name="binding of MAPK-P on scaffold" metaid="_808315" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808315">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_4c9924d7_5de6_4699_9e5d_3f264e12938c"/>
+          <speciesReference species="S_m1_0_m1" metaid="_96a2d9bd_4966_436f_8528_2c7cd6736210"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_m1" metaid="_329dbddd_bbbe_456a_a150_80c35fc482aa"/>
+        </listOfProducts>
+        <kineticLaw metaid="_750cb82f_8eb9_4592_9422_f1cad30d6457">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_78e54b0d_9beb_41bf_893e_31d538105f38" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction62" name="dissociation of MAPK-P from scaffold" metaid="_808385" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808385">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_m1" metaid="_3599e26f_6e52_4464_8b52_4e1ccc1825a5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="cda0d8fc_1f16_4fa6_a829_51ddc9c28357"/>
+          <speciesReference species="S_m1_0_m1" metaid="_3461adb1_db80_49b8_973e_ebbccf9b051c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_45b6f1ae_4f88_4a9c_ae45_5a1206e352ca">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_21f59a08_f6a4_4aee_9c87_4c953563bea7" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction63" name="binding of MAPK-P on scaffold" metaid="_808455" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808455">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_32a2402d_be9f_4644_8c84_571a0c861470"/>
+          <speciesReference species="S_m1_0_0" metaid="_583c29c5_4df2_43c3_97b3_51c8b0e21a2e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_0" metaid="_431d24eb_69be_42ca_a210_c4933b0dc44d"/>
+        </listOfProducts>
+        <kineticLaw metaid="d6ab5245_874b_45be_b67c_5b1e872c4d4a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_493104fc_2179_4293_a7fc_84a7bd628da8" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction64" name="dissociation of MAPK-P from scaffold" metaid="_808525" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808525">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_0" metaid="e59e8aa5_8e62_4b4b_98da_b28371d4f00b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="ec56a0fe_acbd_4832_b5dc_6356198b9d77"/>
+          <speciesReference species="S_m1_0_0" metaid="d0b1e414_de8a_431a_99a3_40e6e3c72874"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7720491a_2106_4d36_ac76_212795004649">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="f50e8546_91f8_4df2_94cc_8a6bbf6cf8e8" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction65" name="binding of MAPK-P on scaffold" metaid="_808595" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808595">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_05681cd9_dd80_4786_9ec6_033f8b5b5edd"/>
+          <speciesReference species="S_m1_0_1" metaid="f0299ec4_2e24_415d_9d09_49456ccaf40c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_1" metaid="_2735d0f3_521d_4979_873a_662ef73e7c5b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2685fca4_8b40_41a1_bd58_00250de83d09">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d9215240_a7f5_44ce_8d11_cea9c22e96f8" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction66" name="dissociation of MAPK-P from scaffold" metaid="_808665" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808665">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="_3392a8f7_ff15_47ff_afca_321d15a25019"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="bc3b55d4_5add_4c70_b933_aa84ab9b7aed"/>
+          <speciesReference species="S_m1_0_1" metaid="_980f5607_d327_47f5_bd96_8e78ab08ca1c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9a5ea6a6_2d56_4245_aa52_fe6f308d281b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_47824b6b_cd84_4423_8d6a_49a1c0aaaff1" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction67" name="binding of MAPK-P on scaffold" metaid="_808735" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808735">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="d8981b4b_58bf_4f35_bc41_4f74223e711b"/>
+          <speciesReference species="S_m1_1_m1" metaid="bc1ee302_b303_4872_9ba6_fd102f2489a4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_m1" metaid="_24097238_35ad_421e_8dc7_0fd4ce66ea15"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6903929c_c3e7_40db_bff5_5fcafba4e7a7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_8d1fe041_b7fb_4417_87b1_d5d08976e9db" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction68" name="dissociation of MAPK-P from scaffold" metaid="_808805" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808805">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_m1" metaid="_42b000fc_b27b_4152_93dc_d801c349853a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="d1978506_c1f2_4ce5_9ff8_b610ae309769"/>
+          <speciesReference species="S_m1_1_m1" metaid="_0a805426_7b81_4977_9982_e2bcd57da779"/>
+        </listOfProducts>
+        <kineticLaw metaid="d2c564f6_2f23_4f35_bbc2_a181461e6045">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_3ba3c2a7_d930_403d_8e2d_3f19a9c6b33c" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction69" name="binding of MAPK-P on scaffold" metaid="_808876" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808876">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_54453285_9acb_4584_99c9_e9eed5673208"/>
+          <speciesReference species="S_m1_1_0" metaid="f7c29069_fb8d_4825_a50d_6e150bf7e297"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_0" metaid="_45e61e4f_0b0a_4828_a38b_207cb3ce8f14"/>
+        </listOfProducts>
+        <kineticLaw metaid="ff71bbe2_ddf2_4101_8e9e_d6321254721f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="f804bee4_eb8c_4803_855c_89554ac9ed94" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction70" name="dissociation of MAPK-P from scaffold" metaid="_808945" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808945">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_0" metaid="_0d5fbd35_433e_4725_9be8_a4a9e1d6f29c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_297443a1_1fcf_4227_8695_9fd487229f25"/>
+          <speciesReference species="S_m1_1_0" metaid="_0aac00dc_d471_442c_9437_eaa102fd31a2"/>
+        </listOfProducts>
+        <kineticLaw metaid="e4e16615_3c7e_45e2_86e9_a9f44610fdf7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_3066dfc2_3a70_4d98_a776_a71e33bb115e" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction71" name="binding of MAPK-P on scaffold" metaid="_809015" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809015">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_09f42eba_99f3_4e95_8168_7679df43287e"/>
+          <speciesReference species="S_m1_1_1" metaid="_02165f52_c67c_4846_993b_d03e35338e3b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="e4c6bbef_491a_4e56_a317_695e49ab63f8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4826e292_b4ff_4af0_a010_36a157d74ae2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="b99b1c9a_be4d_479c_bf9d_53faf1f4b9be" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction72" name="dissociation of MAPK-P from scaffold" metaid="_809085" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809085">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_9882ea54_0a52_4e8e_becf_a9cd8fe42123"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_42dce091_76d6_440e_880d_f041cd7cc71b"/>
+          <speciesReference species="S_m1_1_1" metaid="bf871c39_c9e3_43ee_80c7_8c863f0cca59"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8d45afa6_3d54_4825_a7ba_b5db3ef3fd2e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_2fcf83dc_2193_4fd2_a53b_f2f493e35ea0" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction73" name="binding of MAPK-P on scaffold" metaid="_809155" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809155">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_0087bd02_4571_45ef_872e_812a13608277"/>
+          <speciesReference species="S_m1_2_m1" metaid="_240fc2c2_2160_4615_b255_899a97aab543"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_m1" metaid="_5f4e4443_a21e_4f92_a163_5eff9cf7b5ef"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0e5ac7d7_e955_4d02_8118_ecf6705e2d33">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_3b7dc33a_e248_4d23_a814_574415edceb6" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction74" name="dissociation of MAPK-P from scaffold" metaid="_809225" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809225">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_m1" metaid="e6f5c9c3_a7d9_4c0b_b0ed_307213a2cba0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_33e5f2b6_9018_411c_a738_bbfce5140c7c"/>
+          <speciesReference species="S_m1_2_m1" metaid="_4c050ad8_68c3_4b86_8180_16954287265a"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad914e0f_920d_49b9_b42e_ecd30c153920">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c145f423_58b4_4414_b059_2261e548aec6" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction75" name="binding of MAPK-P on scaffold" metaid="_809295" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809295">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_01ecf963_c3b3_4ca0_a8bb_c8692e8769b6"/>
+          <speciesReference species="S_m1_2_0" metaid="a569cc4d_2782_4644_a240_92b3f0d3c253"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="_85ae49e0_9222_49cd_bc99_6197416c2aea"/>
+        </listOfProducts>
+        <kineticLaw metaid="f8eaa051_bc51_4920_bdfd_31562495e693">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_25a8278a_69c0_472b_a75e_e6dbf3e7e2ae" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction76" name="dissociation of MAPK-P from scaffold" metaid="_809365" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809365">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="_0bebdb49_cc8f_4380_9f06_6af15bfa466f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_4c83ff5c_9ae9_46ab_8506_50e933445f6e"/>
+          <speciesReference species="S_m1_2_0" metaid="_7e98ca2c_2959_4af2_87d1_cd47a11a6e1c"/>
+        </listOfProducts>
+        <kineticLaw metaid="b68b0d64_a139_4231_9907_6d8746adb779">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="ddd6275f_d870_432c_ac22_f8af215471d6" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction77" name="binding of MAPK-P on scaffold" metaid="_809435" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809435">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_037e3d14_8a43_4d93_a2d5_9b3173eea55f"/>
+          <speciesReference species="S_m1_2_1" metaid="_63180cb7_cb94_4b91_b698_c764859c2721"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_7ab8c440_4340_4d03_b5d7_a5f760412439"/>
+        </listOfProducts>
+        <kineticLaw metaid="f6016009_df84_4b55_95be_08b301f4f697">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_13dc602f_3417_4c7d_9da5_55800a78bce3" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction78" name="dissociation of MAPK-P from scaffold" metaid="_809505" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809505">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="_74b85695_4379_4bdb_b25e_4980ed549f76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_8d6de291_1492_4761_8a50_5f9150887fc4"/>
+          <speciesReference species="S_m1_2_1" metaid="_516fc964_eeee_443c_a8e2_2382307b1301"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7f3286be_eaae_4b27_a78c_700a46d498d4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_15e7cacd_21e7_4f00_87a3_9bafe3468668" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction79" name="binding of MAPK-PP on scaffold" metaid="_809575" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809575">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_2bf69d64_e119_44e5_8ecc_8900dc54d661"/>
+          <speciesReference species="S_m1_m1_m1" metaid="f1d4c0bb_6a6a_42af_941b_fb2fc2f6e050"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_m1" metaid="_93781aad_1748_4bd3_b6d4_92ac96f9bfa7"/>
+        </listOfProducts>
+        <kineticLaw metaid="c8e85289_4c4b_4abd_a959_678cf34b1c06">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e8f284f9_1b43_4201_82e3_bdd751ceb36c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction80" name="dissociation of MAPK-PP from scaffold" metaid="_809646" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809646">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_m1" metaid="f0efb26e_03c1_40bd_bcfe_a44bbb2f8d02"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_16f15beb_f52f_4390_8623_6119e2761b99"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_9d4c8d38_3d5a_4053_b5da_4282020a16a6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_54c51c9a_acbd_4bf8_b07d_aa25efe7b147">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_7b0d5429_db60_45d1_83d5_d66ba6fd858d" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction81" name="binding of MAPK-PP on scaffold" metaid="_809715" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809715">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_39aac7b9_4e21_49d3_9768_e697b54792e7"/>
+          <speciesReference species="S_m1_m1_0" metaid="f6c2a0a7_1a2e_441e_9b05_ade461bc7195"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_0" metaid="e87e700f_95b0_4768_95b9_975a064181b6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_63630a5e_2c6c_4cf3_b55f_032151be53b6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="fd50501e_815a_4627_87e2_849b94be6fc0" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction82" name="dissociation of MAPK-PP from scaffold" metaid="_809785" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809785">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_0" metaid="_6945bae4_ebb8_4366_8bfe_dc6b2fc52be7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="bda05dd8_5753_42df_8536_c9010f76c958"/>
+          <speciesReference species="S_m1_m1_0" metaid="_07866f8d_887a_4c52_9aa2_d03201eea6a1"/>
+        </listOfProducts>
+        <kineticLaw metaid="ede40282_5691_44a8_a09d_9f5bee859efc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c22095af_068d_4731_a517_35aa954dbfa6" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction83" name="binding of MAPK-PP on scaffold" metaid="_809855" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809855">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_52c643a1_9ee5_4cb3_9804_fdef7b301cd8"/>
+          <speciesReference species="S_m1_m1_1" metaid="_1a49f771_f4c5_46b8_9909_26ecd8e3aacc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_1" metaid="_5c219195_318f_47ef_83e3_a1dced07d463"/>
+        </listOfProducts>
+        <kineticLaw metaid="_966ccbcc_7d43_4427_ad04_6761f176d3aa">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_10f7dbcc_353d_4089_bab8_8e8dbd4c0566" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction84" name="dissociation of MAPK-PP from scaffold" metaid="_809925" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809925">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_1" metaid="_37ba6a35_6e75_4008_9dac_7dfcfeecd7a9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_34893fe8_1632_4873_bd41_d2e661322e2a"/>
+          <speciesReference species="S_m1_m1_1" metaid="_1c0edc52_6563_45a0_90b0_7199fa150403"/>
+        </listOfProducts>
+        <kineticLaw metaid="_533921a9_9111_4096_bd18_316ab9a3ed37">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_74363c4b_9b15_45c5_ad2c_baf4a3b22209" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction85" name="binding of MAPK-PP on scaffold" metaid="_809995" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809995">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_1eebf4d4_32f3_4c2d_9635_1a55dab33721"/>
+          <speciesReference species="S_m1_0_m1" metaid="f194c216_cedc_4396_a673_e84e10faa776"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_m1" metaid="_09acdddd_c108_4dfe_94cf_537fc24a7b8f"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad8b7b25_12f8_4eb6_b7c1_47003460653d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="b96d5c21_8664_4e06_a576_772b890b5bc7" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction86" name="dissociation of MAPK-PP from scaffold" metaid="_810065" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810065">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_m1" metaid="_95c89fce_8925_4bcd_8332_1c760b4f2702"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_4478c867_881b_465e_be10_fd730eac2699"/>
+          <speciesReference species="S_m1_0_m1" metaid="_1dfc5e9b_f8a2_4fe2_a4fe_b58ae9b0f2a7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9b562ee9_9480_4ddc_9eea_cf2581278670">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="b669806f_f2f4_4ddc_b758_822b2fff232f" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction87" name="binding of MAPK-PP on scaffold" metaid="_810135" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810135">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_41511ab3_7ab1_4309_af3c_1075225f6735"/>
+          <speciesReference species="S_m1_0_0" metaid="_59fd0579_c237_4ae7_9121_ea5117a455b1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_0" metaid="bbd9a7b0_b48b_4730_a68a_7086b7419a54"/>
+        </listOfProducts>
+        <kineticLaw metaid="_37684ed3_8ad5_4c52_9c8c_981358e87791">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_1c5b174d_ff29_4af1_96b1_c39b544c3ce8" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction88" name="dissociation of MAPK-PP from scaffold" metaid="_810205" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810205">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_0" metaid="_6702de02_7a96_470f_ad51_cc599710dd55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="c3e141fa_da75_4c6b_8f34_0287bb86e4a8"/>
+          <speciesReference species="S_m1_0_0" metaid="_3e656fc8_60c3_4db9_99ac_57aac597a29f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_30d711c0_8b6c_4394_b72f_e8e370074900">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="afac37bd_bd20_46d6_8476_157054aecfe8" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction89" name="binding of MAPK-PP on scaffold" metaid="_810275" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810275">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_9791f0e9_6efc_4b61_a747_0634f4f9bbaa"/>
+          <speciesReference species="S_m1_0_1" metaid="_8683fd4a_f563_4116_b04a_d14ba725b54d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_1" metaid="_6e0a74e0_3a40_49e7_b5b0_0d39f9e0c859"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8ac2d092_6b76_4084_816f_cc300de1619c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_01310d2f_062b_430c_8ed5_e3fd2b57357f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction90" name="dissociation of MAPK-PP from scaffold" metaid="_810345" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810345">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="ca28728f_5010_4ac2_8b59_dbc6739c1881"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="cff80b39_1bf3_47c2_9ef6_99f457b888d2"/>
+          <speciesReference species="S_m1_0_1" metaid="_83dce4f0_360a_4a6c_a6e6_241b56f26b26"/>
+        </listOfProducts>
+        <kineticLaw metaid="e3101064_804a_4724_ba1a_bab8ebf327ce">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_09601c60_c016_4e59_bd1b_4b2fc0e07c69" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction91" name="binding of MAPK-PP on scaffold" metaid="_810415" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810415">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="c470df56_89e0_45a1_ba62_d39f5c75c246"/>
+          <speciesReference species="S_m1_1_m1" metaid="_90d7e3c6_e0b4_49ff_8c6d_588585c2dd64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_m1" metaid="_44aaded6_b7df_4392_9d48_becd35519b94"/>
+        </listOfProducts>
+        <kineticLaw metaid="_60557504_fab6_41ff_9e12_ecb1754708e5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_1d6d00c5_3d05_47f3_97d3_9f5147831111" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction92" name="dissociation of MAPK-PP from scaffold" metaid="_810485" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810485">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_m1" metaid="_20405a7c_5d8d_4e65_b2f7_c0050da49d97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_2a220e7d_2bc2_4fc3_908b_c06f94972a7b"/>
+          <speciesReference species="S_m1_1_m1" metaid="e4a210ca_617e_481e_a5a4_fc41330e0c2d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5b5d66fd_0df1_418a_b41f_e8825b1fb066">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e8fb1fc2_f086_4d8c_af28_3138f80d4464" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction93" name="binding of MAPK-PP on scaffold" metaid="_810555" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810555">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="c4bbc363_ed68_487d_818e_7c293e8282c0"/>
+          <speciesReference species="S_m1_1_0" metaid="_2cf60c2b_e922_46f6_b81e_9c64a14760ca"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_0" metaid="_67403259_54b3_4c7e_9823_fef365cce6dc"/>
+        </listOfProducts>
+        <kineticLaw metaid="_34350140_a8c2_4e25_a2d0_7db88dd277f3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_162ce5a1_f015_4241_9ffd_76abcbf83362" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction94" name="dissociation of MAPK-PP from scaffold" metaid="_810625" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810625">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_0" metaid="ad4ae90e_9cbe_4bee_a05b_b7fbd4352422"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_120e6083_b7b7_4ee7_97c8_842ac8d119af"/>
+          <speciesReference species="S_m1_1_0" metaid="a7a4a433_30b7_4de2_aed6_978ca2746705"/>
+        </listOfProducts>
+        <kineticLaw metaid="_09d87751_15b3_48f3_8645_f03d4e4a1225">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="f54b6d99_84bd_4548_8bfd_362a71b95260" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction95" name="binding of MAPK-PP on scaffold" metaid="_810695" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810695">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="c8ae3b34_e2a1_4829_bb62_6df2a7dd8df6"/>
+          <speciesReference species="S_m1_1_1" metaid="ad81da92_ff4e_4b7f_956a_4ebadbf76f1e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_93fd1606_dc87_48cb_8a60_abcd75075044"/>
+        </listOfProducts>
+        <kineticLaw metaid="_859f9be7_8af9_4fc0_aa35_3f83c9c1adca">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e331a98a_d59b_4804_b5ea_7fe65cb496bf" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction96" name="dissociation of MAPK-PP from scaffold" metaid="_810765" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810765">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="_4ba5a955_a323_477a_a17c_99864b562df5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_669cc542_8dfb_4f8d_8732_75a5f0a573d5"/>
+          <speciesReference species="S_m1_1_1" metaid="f593dad7_1635_4a80_b631_7bcab5cc9c12"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7a530b1c_bb2f_49be_bbea_a48d41598e71">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_7174f58a_7ee8_4af4_b564_0704448f9b97" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction97" name="binding of MAPK-PP on scaffold" metaid="_810835" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810835">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_169446f8_d876_4abc_b345_a4a920000549"/>
+          <speciesReference species="S_m1_2_m1" metaid="_41eb124e_ed74_4d9b_8f57_54c92fa66ba0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_m1" metaid="_767f670d_4fd8_43e7_80d8_3beae368707d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_09a43913_a8b1_4a36_a709_47174be893f7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e378a8c1_d46f_418a_91a1_582c05e5c5ac" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction98" name="dissociation of MAPK-PP from scaffold" metaid="_810908" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810908">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_m1" metaid="_39cd515c_695b_4a10_9ead_3408f4584e30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_5f89a898_3e38_44bb_94c8_8cf24432909c"/>
+          <speciesReference species="S_m1_2_m1" metaid="_672e84f4_296a_4b02_8c30_341f34162703"/>
+        </listOfProducts>
+        <kineticLaw metaid="b6a8c8e2_ddf2_42b7_81bf_dd0fb9806f4a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="adae9e6d_217a_4321_888f_d7523402f6a7" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction99" name="binding of MAPK-PP on scaffold" metaid="_810975" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810975">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="f241cbbe_d321_4d0a_af16_0523aaa2e851"/>
+          <speciesReference species="S_m1_2_0" metaid="_0ac7a6a2_5d5e_4f51_a961_6b9427147fa3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="fd45760c_a592_44a8_aedf_e4561e4b57de"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3f8ca11c_67fc_4f88_91f9_d37cb7f2f404">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_2d52ef46_e170_46b0_a7f0_bed53e8be087" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction100" name="dissociation of MAPK-PP from scaffold" metaid="_811045" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S_2_2_0" metaid="_743042e0_0512_4ea4_9cb8_281a085a1a2e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="ea9ab8cc_d298_47a5_926a_4b1a53c97cdb"/>
+          <speciesReference species="S_m1_2_0" metaid="_2c4fd5dc_c0b0_40e2_9bce_456dbfcd7135"/>
+        </listOfProducts>
+        <kineticLaw metaid="_14156ace_7422_4012_b2c9_beeac217de76">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_16a8792a_ca7f_4b86_82ae_09a8ee49bf08" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction101" name="binding of MAPK-PP on scaffold" metaid="_811117" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811117">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_09c0b1c6_2248_4b26_86ed_3e024c246246"/>
+          <speciesReference species="S_m1_2_1" metaid="_17e3a605_db53_41ce_b840_654283d9b715"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="b8a0664a_1aa0_4395_8d39_3b1f6660e350"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7cd478c4_9c06_417f_b651_37012081bc41">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d4b114c0_8f8a_4fe0_ba4c_1a04a7400a3a" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction102" name="dissociation of MAPK-PP from scaffold" metaid="_811185" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811185">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_1" metaid="_75fe750b_0bb9_4cec_aa6c_d19ddd9bf491"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_84709771_b4ad_430d_a0d3_e63791d41155"/>
+          <speciesReference species="S_m1_2_1" metaid="_23f6f086_202c_4dac_b383_d523449ea865"/>
+        </listOfProducts>
+        <kineticLaw metaid="dc29165e_50ee_4925_ac66_e8695a06b98c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_3a483200_b564_4356_b5de_108a54acb3c3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction103" name="binding of MEK on scaffold" metaid="_811255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_4d994ce7_06f9_4e62_bafe_48c97b9b9abe"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_263a3715_2e2a_41c8_9975_3b1f1faa1dfe"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_m1" metaid="_3b25a898_7949_48a3_9d6a_0e23aa9a7dd7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6f00081a_d754_48dc_859b_0f6d4950c9f4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="e0d71f46_4905_47f5_b4fb_07741b34a779" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction104" name="dissociation of MEK from scaffold" metaid="_811325" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811325">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_m1" metaid="_5c04cee6_9e2c_4855_b66c_880ce9973a00"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="dcbf0b94_069d_46ff_a86e_c2122714542c"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_3e68905c_c28a_4636_bd86_5369d34defc5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4bd753b4_345f_475b_a627_11d7031099a5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="d22b9baa_844f_42a4_870a_be8f3a1b5851" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction105" name="binding of MEK on scaffold" metaid="_811395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="b9bee40c_c11c_40ff_8c6b_a337720a1f8b"/>
+          <speciesReference species="S_m1_m1_0" metaid="_58f7cbf6_c7c2_4fd0_b1a4_a8b37edbd2b5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_0" metaid="_766f3e6f_f9f7_4133_a54c_7a23c9b890c7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_00580fdf_3855_4cb8_8f98_ce0727f43038">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="bd848818_fd21_46ca_a3f9_f119d2106c37" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction106" name="dissociation of MEK from scaffold" metaid="_811466" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811466">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_0" metaid="_444c643a_0df6_443c_944b_31b1adf8985e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="e3076b87_20ef_4902_8ca7_1c280946c84a"/>
+          <speciesReference species="S_m1_m1_0" metaid="a6731143_3aa7_49f0_a0b6_638c7e7792fa"/>
+        </listOfProducts>
+        <kineticLaw metaid="d76c3c47_f473_421c_8c33_a7b7d2662bd6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_3a085397_088c_4585_a76a_4027f8d04aef" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction107" name="binding of MEK on scaffold" metaid="_811536" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_16319d2a_605a_4856_a47f_09867cd99f0e"/>
+          <speciesReference species="S_m1_m1_1" metaid="_1beeefaf_011f_4e37_9baa_5a840f10167d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_1" metaid="d60ecb6a_1a8d_4cf3_b3e0_b106f3416ff8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_84b1c3fc_85af_4f8d_a4a1_a5d1b34294ce">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_4baf0e2c_52d1_4b4a_9381_66e377d44057" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction108" name="dissociation of MEK from scaffold" metaid="_811605" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811605">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_1" metaid="_8b938a08_31a7_4905_aace_ebb8df09a363"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_7bbf4bd2_b8ee_4b72_945c_1ad23a717f66"/>
+          <speciesReference species="S_m1_m1_1" metaid="d7473ae1_9f95_4073_b2d1_e7536ba9725a"/>
+        </listOfProducts>
+        <kineticLaw metaid="b63e7b0b_60ce_4da0_a2e2_971ad1e8fb18">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_3eb3a9f7_2ac9_4da9_b891_3499145e0f67" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction109" name="binding of MEK-P on scaffold" metaid="_811675" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="bd781f28_1591_4204_8c01_1e81b88e40d1"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_139ab242_6fde_41b0_b4de_bc47ae4ba1cf"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_m1" metaid="_9499c04f_f46c_4e5b_978a_bda23f2a718f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8e635ab0_a9aa_4541_bea0_efb3afe9d7df">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="ac517b37_85af_4b4b_9036_8ab4ee68418d" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction110" name="dissociation of MEK-P from scaffold" metaid="_811745" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811745">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_m1" metaid="_9f1737ed_2c43_4783_b4c8_49667e1fd47e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="b7f3d980_8b8a_4a23_9c54_284e66ad0696"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_7b71834f_00aa_4d58_aeb9_0a93509fcfe9"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6280cbb6_21b5_4868_ad21_df39e1c084a4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_21c288fd_3a0a_4c30_bad1_476948f014e0" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction111" name="binding of MEK-P on scaffold" metaid="_811815" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_729da3d2_993c_4f21_a508_b162a794607e"/>
+          <speciesReference species="S_m1_m1_0" metaid="a3f8e8b7_e98b_4a5a_aba9_230364fd0636"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_0" metaid="_985d4a2d_f011_4fe3_b136_8a7dd88a66d8"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad0d6042_d93a_4fe8_92ae_f99ac0ae02e2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_01f0786c_a357_4fa9_907a_509db31ea8d4" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction112" name="dissociation of MEK-P from scaffold" metaid="_811885" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811885">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_0" metaid="_703dba14_db9c_475d_adb2_37e4e4e90795"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_24cd6dba_f137_49ce_b960_a8fc42d1a62a"/>
+          <speciesReference species="S_m1_m1_0" metaid="_5dc99b10_a181_42ae_834e_52b490d6ec14"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7203ec3e_0bcb_4e6f_b509_51c5931dbb17">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_28170848_1ccc_46ca_81dc_ae6bf74bbdfc" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction113" name="binding of MEK-P on scaffold" metaid="_811955" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_09c25a52_a17d_4068_ba50_8a7fbcb30e9c"/>
+          <speciesReference species="S_m1_m1_1" metaid="cd8b47bb_4a34_431c_a376_fdc9b37f1c39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_1" metaid="f5ea3645_fa26_40df_a525_ffd699f847cd"/>
+        </listOfProducts>
+        <kineticLaw metaid="fa307a58_c309_42cc_bb30_08812af66d61">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_9851be0a_3e30_4926_9f06_5a3e55bba426" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction114" name="dissociation of MEK-P from scaffold" metaid="_812025" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812025">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_1" metaid="_9d0dcfa8_2cc1_4739_8972_594b6d0321d6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="c9de9140_4cb5_47ed_91cd_78362f751be9"/>
+          <speciesReference species="S_m1_m1_1" metaid="_288f5fa2_9f79_4a4d_a478_4bf0598fd89a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6b1aa21f_4f35_4817_9e03_081c1264bcd1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_18b620f6_3c05_4700_9513_3041fa3da022" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction115" name="binding of MEK-PP on scaffold" metaid="_812095" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="d6c44c31_3cf8_44df_b86c_b3b9ae528401"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_7150bd9c_06bc_40df_9c84_57aca0e1c0ca"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_m1" metaid="_804ce694_4355_4eca_b066_b0ea94af9282"/>
+        </listOfProducts>
+        <kineticLaw metaid="_68b1e9d1_3678_49ec_a513_af2d1ab6ee0b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="ec825d48_6d26_465c_be7c_e2e550b5dabf" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction116" name="dissociation of MEK-PP from scaffold" metaid="_812165" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812165">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_m1" metaid="bdaf6219_a0f0_46d9_829c_a15fdec65372"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_8a7e345e_4217_4101_bf79_ddf83073a566"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_3be71f51_8bb4_4552_8f23_0c241b79ffa5"/>
+        </listOfProducts>
+        <kineticLaw metaid="ce8552a7_16d1_4aa8_9898_5fd922585535">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="bc4a5746_5f68_4443_9422_f42625f677f0" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction117" name="binding of MEK-PP on scaffold" metaid="_812235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_1532a437_040b_471a_87c7_7e2bcc4c6d69"/>
+          <speciesReference species="S_m1_m1_0" metaid="_9234f846_c82e_43ae_8d9d_e1f89e9fedc7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_0" metaid="_1a795506_0744_4024_908e_1a61bf36e575"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7b5a46f3_eea8_4dc3_83f9_b322cc504f05">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_2d195bae_1111_40bf_9717_400c5ef1e602" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction118" name="dissociation of MEK-PP from scaffold" metaid="_812305" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812305">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_0" metaid="_1feb9386_f617_4587_8bec_3d0f89b0ec26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_12b05fae_59a8_40a9_a5a8_d92177849505"/>
+          <speciesReference species="S_m1_m1_0" metaid="fca44226_204e_4d6d_bf4a_7e9a71297b6b"/>
+        </listOfProducts>
+        <kineticLaw metaid="aa0dfdb5_e727_4f1d_b4e3_73498922bfcb">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_4a2bc093_a36a_4b75_9f20_7531890f7ec3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction119" name="binding of MEK-PP on scaffold" metaid="_812375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="d89f9260_d394_4b68_8b5f_8485e82518ae"/>
+          <speciesReference species="S_m1_m1_1" metaid="_29a535bc_0803_473b_b3d4_bdbd03c43b33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_1" metaid="ad09b0e8_8172_416e_97df_f87892482efa"/>
+        </listOfProducts>
+        <kineticLaw metaid="_56ee93ba_862f_4e3f_86af_2c023370d109">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_60119679_14f9_4709_964d_8c0e1a7c0f11" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction120" name="dissociation of MEK-PP from scaffold" metaid="_812445" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812445">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_1" metaid="_08f42c82_2257_4a78_9e07_9782143a09e9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_81156d22_1685_4e8a_b97b_c49b95ddc009"/>
+          <speciesReference species="S_m1_m1_1" metaid="_5cb0b6c7_18bc_4697_8778_f74eaafbdef6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4be7df6a_fdd1_47ec_abba_1ef8ea21903e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="fe9f5b83_b96e_45bc_beed_d306e7063d40" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction121" name="binding of MEK on scaffold" metaid="_812515" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="eedc3eb9_c0bd_41af_bbd7_39d037690451"/>
+          <speciesReference species="S_0_m1_m1" metaid="_14493653_300a_477a_b014_482daac67e1b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_m1" metaid="dd7cfe05_af1f_43e9_b7f8_2c0e2a5a3634"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8a656fce_3bc2_4800_9d9a_5eeca46102ba">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="ad01a2ee_3fde_46ca_9590_a0f42f3fffdd" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction122" name="dissociation of MEK from scaffold" metaid="_812585" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812585">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_m1" metaid="_0ade0ab1_7ca7_46fe_9c6b_0f298b2fdc7d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="f604ef98_f723_4da6_98a8_64baecca77b3"/>
+          <speciesReference species="S_0_m1_m1" metaid="_0b11a201_89b6_43df_8f95_63a9f97f53d1"/>
+        </listOfProducts>
+        <kineticLaw metaid="_778527d7_73ce_430b_bf1b_0a09ef00d01d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_6f994129_834a_4c0b_8121_234b053ed799" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction123" name="binding of MEK on scaffold" metaid="_812655" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="b05c35b8_d314_4912_a624_5da535ad52db"/>
+          <speciesReference species="S_0_m1_0" metaid="_3920f527_b19e_46fa_a161_221f9383dbee"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_0" metaid="_2f36528e_50bb_4dc3_94e6_2eb08f1c90ee"/>
+        </listOfProducts>
+        <kineticLaw metaid="_05455285_ed78_4c52_8757_1e1e1bcd0805">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="bc38504d_b444_4352_a2d8_f7ba03c7de7e" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction124" name="dissociation of MEK from scaffold" metaid="_812725" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812725">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_0" metaid="_7dcd2fec_4237_4a9d_b3bb_c0b9313dcc59"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="cada1ce6_a738_49e2_aa60_e1e75b19ac7a"/>
+          <speciesReference species="S_0_m1_0" metaid="eecb1e13_4cd7_4bd5_b1f4_88a76ba6f194"/>
+        </listOfProducts>
+        <kineticLaw metaid="e516fe8d_7651_43d6_856e_8db890b24cd2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="ccb56eac_cc29_44a7_b600_f8c18ad4acfe" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction125" name="binding of MEK on scaffold" metaid="_812795" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="d8162243_5468_4ca2_b29f_7db6347e14aa"/>
+          <speciesReference species="S_0_m1_1" metaid="_13259f18_2f01_4ace_a956_e48f10b8a496"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_1" metaid="_9683a867_65b5_40be_8f50_95efa3b3ab99"/>
+        </listOfProducts>
+        <kineticLaw metaid="ddd7f96b_1f64_4bc4_9d9c_6848c2f7fb10">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_5727d1a4_c3b9_46e4_bb90_5b4feba3bead" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction126" name="dissociation of MEK from scaffold" metaid="_812865" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812865">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="_5aba269a_bd24_4074_b9e7_9eda4c58d626"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_08ab63a6_fe61_4732_801b_d465d8d09647"/>
+          <speciesReference species="S_0_m1_1" metaid="_3e8b05fc_ec36_4b29_a5c2_476bcaab771e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0b557c68_13e6_4b8e_a66c_493b0f580537">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="a1c912e1_e44a_43ac_b4e8_9318893ffd96" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction127" name="binding of MEK-P on scaffold" metaid="_812935" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_9908dffc_436c_4054_a7ad_d6675de4d3ab"/>
+          <speciesReference species="S_0_m1_m1" metaid="_06afe30c_fdc6_4277_b58d_098f57111221"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_m1" metaid="ab283536_68b2_4fe4_a5ce_eeed25a9c7bb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1a7b1efb_893c_4d43_bc32_5fe464d3dbc3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_8c9318b5_c036_4e2a_b2a9_4a94c23c2cc0" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction128" name="dissociation of MEK-P from scaffold" metaid="_813005" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813005">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_m1" metaid="d11f90cd_0091_4b6c_bc6d_eee399406078"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_6d781497_3fa3_4033_ac8f_0aff4d0c19bc"/>
+          <speciesReference species="S_0_m1_m1" metaid="f844b073_c023_4e11_a1a5_20d8394a3c2d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3291e4f3_3e6c_4b4f_9e98_027de5cfb819">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_5e0de32a_905b_4cda_8c37_d0f3529d67a5" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction129" name="binding of MEK-P on scaffold" metaid="_813075" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_930bde9a_63bb_4394_9f71_ff151ebcc4ff"/>
+          <speciesReference species="S_0_m1_0" metaid="_98677388_a2c4_4f09_af11_c5d200dab46e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_0" metaid="_7cc9c105_8060_4192_9e07_7eaf10e7e624"/>
+        </listOfProducts>
+        <kineticLaw metaid="_161318b0_3c29_4f2a_b7f2_b3e05ce6fd54">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_1a42dbf0_1cbd_4829_a429_c5f91e894151" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction130" name="dissociation of MEK-P from scaffold" metaid="_813145" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813145">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_0" metaid="_214502cb_fd7f_4495_8f8a_be23cc3e1df5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_7a956aa6_b698_4fac_963b_e53cb1a5ae2f"/>
+          <speciesReference species="S_0_m1_0" metaid="_841098ff_e186_4524_b72f_d5529e878fd6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1a3b494d_6574_4f31_9d1d_b8377635bed7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_2d2309d4_d52e_4591_84e5_5118caf35606" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction131" name="binding of MEK-P on scaffold" metaid="_813216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="f6cf914b_b146_45e1_ac0f_b0ddb5243d42"/>
+          <speciesReference species="S_0_m1_1" metaid="_347f9f9d_2c72_4e43_a6c7_8ce76c15a170"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="_093b19bb_f56a_44fd_aa89_79cbc4d8efba"/>
+        </listOfProducts>
+        <kineticLaw metaid="fa988bff_5958_46ab_8031_523f974f9c38">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_3d9a6b3d_9591_4cb7_bdfd_b50524990876" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction132" name="dissociation of MEK-P from scaffold" metaid="_813285" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813285">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="_43c4106d_3c10_41bd_ba00_3a0e58f9c2d2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="cc65062e_8a8c_4e33_ae00_f132b4d4af19"/>
+          <speciesReference species="S_0_m1_1" metaid="_4c0e42a4_da6b_4ed3_99ac_32e092a97b4a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2231859f_fe9c_47b1_be22_41b3fab9d774">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="a63c8497_56e8_4f6c_8d53_42d4539d19d8" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction133" name="binding of MEK-PP on scaffold" metaid="_813355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_8e4cef4e_a241_4c78_8061_4af06989963e"/>
+          <speciesReference species="S_0_m1_m1" metaid="_2117b6a1_4861_40ec_9fbf_1aa2b7e77163"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_m1" metaid="d0590f67_d0e3_4c3f_855d_f9768b402aec"/>
+        </listOfProducts>
+        <kineticLaw metaid="ded2452e_cc2f_4dec_a987_e82a2f187d4a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_4f5000af_9dcf_4b0c_a80f_a7e4c4e61e6a" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction134" name="dissociation of MEK-PP from scaffold" metaid="_813425" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813425">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_m1" metaid="a4dd9a4e_74b0_4536_bd93_1c57f66acceb"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_1c2337c2_1247_4329_8c77_6e524e05f389"/>
+          <speciesReference species="S_0_m1_m1" metaid="_0f3bd9d4_27f4_4124_8768_d4212564f196"/>
+        </listOfProducts>
+        <kineticLaw metaid="bb96aae8_7305_4747_b430_307d9f38030e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_338e9aa9_27f5_401e_957f_6de2c9159a6b" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction135" name="binding of MEK-PP on scaffold" metaid="_813495" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="c4382cf8_219e_4bdd_b3e4_47867119bc84"/>
+          <speciesReference species="S_0_m1_0" metaid="_7eb5d281_8800_438d_99c7_734c8a087bbd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_0" metaid="ea69f7f6_b5c7_4c55_baa4_5191704c240f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4923d296_c603_4fee_a9b4_f86b0d162051">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_9c7d7314_808f_4ac1_9b95_08327f4d870c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction136" name="dissociation of MEK-PP from scaffold" metaid="_813565" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813565">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="_342ab6b5_5d0e_4f75_abe4_d89fa961f525"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="f66bc9fc_436f_4f1a_a52d_67f914ce3403"/>
+          <speciesReference species="S_0_m1_0" metaid="_31bc2bfa_6832_498c_8782_f02b282ef490"/>
+        </listOfProducts>
+        <kineticLaw metaid="eab21b2b_1169_4ca1_bb6c_abb4b602d7aa">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_7e4abae7_9366_49d4_974a_785adeab4b69" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction137" name="binding of MEK-PP on scaffold" metaid="_813635" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_6db8f9d7_5557_418b_9b56_24550e7435d9"/>
+          <speciesReference species="S_0_m1_1" metaid="_8c8c7b6c_08d5_4f8a_b312_47dc58e9fe9d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="_0d6f48ec_4430_43b0_9185_179e2262a84f"/>
+        </listOfProducts>
+        <kineticLaw metaid="ea271c8e_cfe7_4f6c_ac82_c83d5c8bc763">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="cf77fff7_990e_46bf_8c39_d91fe0c8b6d4" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction138" name="dissociation of MEK-PP from scaffold" metaid="_813705" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813705">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="c69c17c4_a692_4d61_ab10_384a3f10778b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_02438bdc_86f7_42c3_9002_6e12b95ea4c6"/>
+          <speciesReference species="S_0_m1_1" metaid="dd644dc8_63b7_4033_8284_bd1ab4bad7d0"/>
+        </listOfProducts>
+        <kineticLaw metaid="f3de6a6a_412c_4839_8749_d0640cfed8c4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_69e7b415_3b43_4e69_9408_63554a66bd73" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction139" name="binding of MEK on scaffold" metaid="_813775" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_97325d9d_7c35_4666_814e_d4cb10f34cc3"/>
+          <speciesReference species="S_1_m1_m1" metaid="a4fcea54_05c0_414d_994c_bc15f1fcd24c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_m1" metaid="c4760914_d833_4d9c_9e6b_a3fc18bcab81"/>
+        </listOfProducts>
+        <kineticLaw metaid="_385d0174_863b_4c50_813a_2812f2d5ca6d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="aa57d508_6336_4beb_ba72_b57d30fcdfbd" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction140" name="dissociation of MEK from scaffold" metaid="_813845" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813845">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_m1" metaid="_7cf4d15e_092d_4e99_9944_8c971f00773f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_47e6de29_dc57_4a1d_9e1c_25a643fdca8f"/>
+          <speciesReference species="S_1_m1_m1" metaid="_641d4e92_6f8b_4cb3_94b4_0edbe7176137"/>
+        </listOfProducts>
+        <kineticLaw metaid="c7b6574f_0639_4d81_9410_6f58b87cf660">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="b4759816_73d6_441b_904b_47730f2cc662" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction141" name="binding of MEK on scaffold" metaid="_813915" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_447aef08_edd5_4b8b_9abd_8b2466791975"/>
+          <speciesReference species="S_1_m1_0" metaid="f94d9a72_6c3d_4102_a4fc_f0ab976d0e1f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_0" metaid="_4e33ddf4_2960_45cf_a3c7_1d7998c4e61d"/>
+        </listOfProducts>
+        <kineticLaw metaid="e95b5276_632f_4388_9085_7df9751ebb8a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_791aa060_11be_4c88_8590_0ecf81e053de" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction142" name="dissociation of MEK from scaffold" metaid="_813985" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813985">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_0" metaid="_5aefee6f_7a2c_420d_887e_b17bdecccbbc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_58185044_3fd0_43a9_9218_510352b7c17b"/>
+          <speciesReference species="S_1_m1_0" metaid="a2854bfb_ba61_4b4a_99ee_bf03c87c593f"/>
+        </listOfProducts>
+        <kineticLaw metaid="f325c7b5_3419_4cb6_9d1a_492ee7667baf">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="d1042ddb_887f_4d2a_9a05_8f521176e476" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction143" name="binding of MEK on scaffold" metaid="_814055" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_47f9fac3_011e_46f6_9b8a_ca0faef933b1"/>
+          <speciesReference species="S_1_m1_1" metaid="_94761f4e_a913_48c0_9aa2_4b53345513e0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_1" metaid="f53e5ebf_05a7_475a_929e_57f5cbf12f80"/>
+        </listOfProducts>
+        <kineticLaw metaid="bd953fc4_bfb4_4467_8a76_a854f8c50222">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_1ecde70b_2846_4e1d_9854_386d51ba9b8c" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction144" name="dissociation of MEK from scaffold" metaid="_814125" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814125">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="f6435b39_a4a7_42c5_8ff7_e0c251924aad"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="f1dda9c7_44b9_47da_aa98_f0abd9f338f3"/>
+          <speciesReference species="S_1_m1_1" metaid="_75b98a9d_7144_48bc_8fc0_1c93d3abfabc"/>
+        </listOfProducts>
+        <kineticLaw metaid="dc6855d3_5e98_4759_9b63_6c6537b03c1f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_7c1fc3b0_0006_4119_a134_14de3292b7f6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction145" name="binding of MEK-P on scaffold" metaid="_814199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_73690fab_0eee_4df4_bb10_ac61bf81009a"/>
+          <speciesReference species="S_1_m1_m1" metaid="_5551287b_17c5_44db_8e03_4deb372687c5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_m1" metaid="_224485ae_dbae_43f9_8af1_e36ba34d6831"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4add7814_28a4_4f5e_a4c0_eb620581bb15">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_7d1c7b9e_06b0_4bd5_88d8_ee77516ad22c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction146" name="dissociation of MEK-P from scaffold" metaid="_814265" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814265">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_m1" metaid="_66fd9b24_8179_46b7_8c3b_5306b0b7c7c4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_1fdc7784_f70e_483e_aadd_12a5ad713618"/>
+          <speciesReference species="S_1_m1_m1" metaid="fe4a51c5_25c7_4cac_9016_17cb0686b84a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_59e22804_cd73_4448_b52e_fa5edf022323">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="f6b322a3_3b34_410b_bdd6_a28722e9b095" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction147" name="binding of MEK-P on scaffold" metaid="_814338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="b8a26763_bfae_4e04_93d4_e8ffae37f89f"/>
+          <speciesReference species="S_1_m1_0" metaid="_62366522_f522_4584_8b71_16e6fafedd24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_0" metaid="d8b31d27_20bd_445b_8210_705d8c77c3a9"/>
+        </listOfProducts>
+        <kineticLaw metaid="_16a86fd5_b8e2_40e7_bfbd_9c9c876faecc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_9a81051c_e424_4dd9_a28e_1af2dd864830" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction148" name="dissociation of MEK-P from scaffold" metaid="_814405" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814405">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_0" metaid="a511911b_8543_4523_8ef2_cebfb22cbc7a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="e3ec5b15_20a1_42b9_a54d_033de6ebeebb"/>
+          <speciesReference species="S_1_m1_0" metaid="_60fa8dc8_e0b1_4ca7_9f79_a42eca20c9e0"/>
+        </listOfProducts>
+        <kineticLaw metaid="_813d7e09_8194_4033_8e94_be425bbe2bbc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_4c867a3c_e1fa_48f1_ba14_aba9510cf0ca" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction149" name="binding of MEK-P on scaffold" metaid="_814475" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="c20677eb_edeb_4461_9352_52d783b1c820"/>
+          <speciesReference species="S_1_m1_1" metaid="dfb8cc81_176c_4dc2_85ff_af6a95e89836"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="_2eb6f3f0_d6d8_44dc_9f25_a45dd82d9246"/>
+        </listOfProducts>
+        <kineticLaw metaid="_151eef03_d833_472d_b33e_5a3ccb56acf2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_4c9490e1_aa17_457d_b44c_6e89482d4139" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction150" name="dissociation of MEK-P from scaffold" metaid="_814549" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814549">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_68e34330_8d97_44aa_87ac_7363a73e0332"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="b68b7bf7_caab_4d15_9b22_32218cd8d4f5"/>
+          <speciesReference species="S_1_m1_1" metaid="_3d8e7cd2_4def_4a74_a715_d13cb353c7f4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_04555d13_18fd_4a52_a7ee_a039d8b958c2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_620b77fc_c383_4b5b_a1f4_b1a1d7553f27" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction151" name="binding of MEK-PP on scaffold" metaid="_814615" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_20b1584f_96e1_4672_9e8c_db904743f443"/>
+          <speciesReference species="S_1_m1_m1" metaid="_39c458f7_d30b_4b1b_a7b2_096a0e9afcca"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_m1" metaid="ceffde3e_1bb3_408a_b0da_be2c2da1791c"/>
+        </listOfProducts>
+        <kineticLaw metaid="f56c8a50_3f0a_46e4_aaa1_6b0fa1222edf">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_54f5cc7e_7e98_44b0_9906_89d60fab0123" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction152" name="dissociation of MEK-PP from scaffold" metaid="_814685" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814685">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_m1" metaid="_67c6f510_4768_463e_b16b_2abfbfca500e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="ff3c4273_5f0b_43ac_9fe7_3b9fcd4ce9d2"/>
+          <speciesReference species="S_1_m1_m1" metaid="_4b4d737c_9b65_401d_a024_bac5e96348c8"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad0c5079_a935_42ff_b6c8_1744e9f0b6c7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_58674c5b_ba87_4c2d_9354_14b21d02aaf7" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction153" name="binding of MEK-PP on scaffold" metaid="_814755" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_0e30c6b6_8383_4377_8106_289a56a90831"/>
+          <speciesReference species="S_1_m1_0" metaid="f2c9f168_f26e_45aa_b274_f8139260afc8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="_3e0faad3_56df_4c86_8035_b2d0393893c8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7eca309b_1c52_4ceb_98a3_12370acf1a64">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="c4f982ad_46ff_4222_91e4_5e2b19b87015" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction154" name="dissociation of MEK-PP from scaffold" metaid="_814825" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814825">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="_2bdfce05_db0c_4558_9d30_84611481d650"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_45ebf59e_14ce_4311_8601_55e063020b1f"/>
+          <speciesReference species="S_1_m1_0" metaid="_4ce6fa6f_521e_4629_86f2_277363fa7996"/>
+        </listOfProducts>
+        <kineticLaw metaid="_84bab94b_33f2_4962_9cf1_81e068d5d6d0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_42b4eca6_6ae5_47a5_9183_f70937b558e3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction155" name="binding of MEK-PP on scaffold" metaid="_814895" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_62a787f2_103e_4548_af45_9521f15df6fa"/>
+          <speciesReference species="S_1_m1_1" metaid="_86fc4196_eb7b_4509_9ff0_4877c5920b6e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="bc81ca28_e943_4ed3_acf6_5031abcc706a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_61a6afb1_7a49_4b2a_aade_6b5766b9e71d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d7298599_f987_4cf4_b6c0_5bb8b0d73972" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction156" name="dissociation of MEK-PP from scaffold" metaid="_814965" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814965">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="_7f814eb5_1270_43ad_9b75_65657c310a98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="aa48fe5e_3a79_4462_b802_3f5cd707b0ad"/>
+          <speciesReference species="S_1_m1_1" metaid="_01f0869c_3025_4d62_8032_4c7217fb6752"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8d92d5b3_b806_4759_af15_bbcf0aeced15">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_7977a005_3b6b_4a2b_81cf_0a77081fa9e3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction157" name="binding of MEK on scaffold" metaid="_815035" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="d58274fd_576a_4d45_bed2_275acc003d66"/>
+          <speciesReference species="S_2_m1_m1" metaid="ff1cd58b_448e_4fcf_9009_653922cdc658"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_m1" metaid="_6f7223f2_c3bb_4b0f_bd4e_321604ba5aa2"/>
+        </listOfProducts>
+        <kineticLaw metaid="b755cfcc_607d_4d6c_ae24_4a8eb273a922">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_53459ff2_850d_48f5_ac48_28675f0d007d" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction158" name="dissociation of MEK from scaffold" metaid="_815105" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815105">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_m1" metaid="_16f78e38_f66f_4546_8b24_f4a654d2d85b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_7c1bc48a_6050_43e6_b728_e0b0d6410c30"/>
+          <speciesReference species="S_2_m1_m1" metaid="_979bc7b4_c867_406a_baf2_5d488283c0c1"/>
+        </listOfProducts>
+        <kineticLaw metaid="c88d319c_407a_4c1c_abb8_a059f9dd324a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="ace0c328_ea69_4498_b63e_72eef76a4be6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction159" name="binding of MEK on scaffold" metaid="_815175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_64738913_a3bb_4800_9bda_49daffe1e79f"/>
+          <speciesReference species="S_2_m1_0" metaid="_28ebf38d_ac2b_47db_9526_2cacb5e51587"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_0" metaid="c5e4b0c7_77f1_4fbe_a924_16d6e37054de"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5a031cac_da10_4ea1_8981_48d74cf683a0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="dd323536_9f22_460f_8c67_e1a5d200f9e2" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction160" name="dissociation of MEK from scaffold" metaid="_815245" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815245">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_0" metaid="_5aba0010_8faa_4cc1_b660_f7853eee17e6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_8f0c5311_8568_45d3_97f3_477236afacef"/>
+          <speciesReference species="S_2_m1_0" metaid="d764384a_f8e9_41d7_9c34_7e5f50607518"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2ba00ba5_390c_49ef_837e_9e1d9734eed9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_3ec00879_e07c_4709_ac0f_d0710a4e98ca" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction161" name="binding of MEK on scaffold" metaid="_815315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_0eef63b2_1ace_4e07_8a33_cea8a698ad7c"/>
+          <speciesReference species="S_2_m1_1" metaid="_0a9c3dc4_fb02_4f2a_93b4_47ae02779541"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_1" metaid="_5e5861da_2091_42b1_b0af_42dd7ba7c8c4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_17a924f4_abb5_4b0e_bcd2_1347f7104360">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_2a4d3cba_3411_4111_bbbf_3c446d2548de" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction162" name="dissociation of MEK from scaffold" metaid="_815385" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815385">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="_849d4b38_3045_48d9_981a_9717e7e58aa7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_356471a5_8c81_498e_8d84_eed18ff78a70"/>
+          <speciesReference species="S_2_m1_1" metaid="_141c0391_715c_4462_bbee_cbc40893ec94"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5645b5b7_d948_4838_a43e_c28c5230a479">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="b9c08bdc_4db7_44ea_9e1b_a15d379ad9a5" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction163" name="binding of MEK-P on scaffold" metaid="_815455" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_10a3f62c_b35f_4b47_bae0_6f65180ed120"/>
+          <speciesReference species="S_2_m1_m1" metaid="_6e45d4bc_24ef_4771_9bda_fc6ff40afd2d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_m1" metaid="_5359ba0c_84aa_4811_a5ea_474b7cade041"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7435f770_aef8_4585_becb_3768b301de68">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d5a64817_10d7_44f6_aa5d_cda528edb63f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction164" name="dissociation of MEK-P from scaffold" metaid="_815525" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815525">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_m1" metaid="_7dc29aec_c4d6_4f0a_87a9_0c00eced8ddf"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_66559f5b_6748_46f3_8398_ae048c2e35eb"/>
+          <speciesReference species="S_2_m1_m1" metaid="c3662369_3f84_48c4_ab45_4d17cd458d02"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0367ec7d_7149_4f16_8900_667f8b9d3a4e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_04986bce_3a72_4652_8eee_9d65e617d065" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction165" name="binding of MEK-P on scaffold" metaid="_815595" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_6a868a3f_7c8f_4745_9e77_4ac723a58a2a"/>
+          <speciesReference species="S_2_m1_0" metaid="ad093733_9c25_44c4_8385_109b99a06c33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_0" metaid="_5c736fc6_71ea_47de_b72e_0e3888b62ba6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_96cdb5c7_2924_42c4_8573_5063ef1e2dcb">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_1962e683_bffd_456f_88b1_a577d3cc8f4d" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction166" name="dissociation of MEK-P from scaffold" metaid="_815665" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815665">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_0" metaid="_44e5172b_796d_4d41_abf7_8bf190a20e8b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="c91227ea_3a81_4519_abf7_e00f1f2d53b0"/>
+          <speciesReference species="S_2_m1_0" metaid="b573dc81_c607_42a5_aab9_0d9f948959da"/>
+        </listOfProducts>
+        <kineticLaw metaid="bfccbde7_6f6f_4faa_856c_3ab3bc79ebb9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_91dc7fc5_3e7d_4ef3_a9cf_daa385b3f8ec" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction167" name="binding of MEK-P on scaffold" metaid="_815735" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_9af08736_07b3_4006_8401_ed241c6e0a53"/>
+          <speciesReference species="S_2_m1_1" metaid="_6c805673_e9b4_4ea0_84a6_7be77f051e27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_190c557f_a57e_4915_8be6_7aea02dbd9fb"/>
+        </listOfProducts>
+        <kineticLaw metaid="d9bc30b9_a6c7_47a7_92ff_8135c2dbe3aa">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_347bf415_f174_4630_88c9_c1499301bb04" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction168" name="dissociation of MEK-P from scaffold" metaid="_815805" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815805">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="_909003c5_9db4_4d9a_8b7f_8bcc395398f4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_6f095a83_76b3_4348_ad26_1b1eb58dc303"/>
+          <speciesReference species="S_2_m1_1" metaid="ee07b275_2a6f_43d5_8c3d_afdd97908b5a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9ea11192_7a65_419d_9ae1_1e6c52534138">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_49cbe681_e283_4e38_a95e_b6505c6da2c9" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction169" name="binding of MEK-PP on scaffold" metaid="_815875" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_10a35343_b518_4c7f_9ba9_d95b3362088e"/>
+          <speciesReference species="S_2_m1_m1" metaid="ecfe2335_9ab1_437b_99f1_3eb3504be82a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_m1" metaid="_844ef822_49d3_48e0_97b3_bdb516b88a60"/>
+        </listOfProducts>
+        <kineticLaw metaid="e6a70874_a93b_4340_80d9_3f2763a6df2b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="b3b63f72_2b15_485d_b6bf_c3b8dd5a753b" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction170" name="dissociation of MEK-PP from scaffold" metaid="_815945" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815945">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_m1" metaid="c742efd5_db2b_4cb4_a6a3_d4ac993dd82c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="c66133fb_e082_4f44_a178_8168f3fab8e2"/>
+          <speciesReference species="S_2_m1_m1" metaid="_099b9d8b_0905_43b1_a580_eaa5f5df5e88"/>
+        </listOfProducts>
+        <kineticLaw metaid="f532679a_2f99_40a1_88eb_d56ff68c25ea">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_1b75c4d7_f1d4_49e7_ac48_8ce692899ce0" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction171" name="binding of MEK-PP on scaffold" metaid="_816017" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="bfac15eb_8760_46ee_bf17_15a4be46225c"/>
+          <speciesReference species="S_2_m1_0" metaid="_5a8358db_b35b_4835_925c_2c85ef0cbb93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="_917db875_10cf_440a_9e19_965fbff4ab2c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3d11a2b0_9e7f_4a69_a356_e8174192c45b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="ad73e01f_a951_4c6d_90ca_796ed2602105" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction172" name="dissociation of MEK-PP from scaffold" metaid="_816085" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816085">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_0" metaid="c982e8c2_70a8_481f_9c0e_910636652cab"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_24c1e452_e333_49d8_875a_2739553909a7"/>
+          <speciesReference species="S_2_m1_0" metaid="a384e7a0_770b_4bd8_ba0e_3509b8ad4d9b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1154cd64_7601_46d4_8ae6_c324d0cf6468">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_314da964_6f68_441c_8777_b1e317bce397" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction173" name="binding of MEK-PP on scaffold" metaid="_816155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="c093c5be_2cf6_43bc_ac69_4ce573ba4482"/>
+          <speciesReference species="S_2_m1_1" metaid="f2e8358c_9477_414e_9474_52124119e4bc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="c37b5e81_2e90_4a84_8129_89d264c91b23"/>
+        </listOfProducts>
+        <kineticLaw metaid="e49714f9_6cc6_4c82_85fa_66b4f561ccc3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_6d9f2705_48c6_403c_8354_72e7dabda86f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction174" name="dissociation of MEK-PP from scaffold" metaid="_816225" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816225">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_1" metaid="ea14a4ce_e39f_449d_bc00_e0fd958f28fc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_6aa27ed5_1970_4c43_8393_f9bea69b9ef9"/>
+          <speciesReference species="S_2_m1_1" metaid="dbacaa31_e939_4775_b0d9_d86e6b263df3"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0e136e30_8f82_4709_aee5_209dae6b2081">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e480b4b0_43e3_429f_a9be_276cf250910d" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction175" name="binding of RAF on scaffold" metaid="_816295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="c4a19cf4_ef3a_4cdb_9315_1d4e4cca92d6"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_09a2208f_c609_4d75_ae04_fed088fec173"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_m1_0" metaid="_0ac11cb0_e00d_4665_81c2_ab0119f660a7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_69fb9cfa_7f9b_43b8_828b_1350c58ac643">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_2c78bc95_edf0_4b2d_9d49_8acc29ee48b5" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction176" name="dissociation of RAF from scaffold" metaid="_816365" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816365">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_m1_0" metaid="_80519de0_c704_46b4_bd52_777c7380661d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_91249bd8_699d_480b_bbf1_0949e86e5d78"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_46ed7fd5_3fc5_4a51_99c5_74e94e93018a"/>
+        </listOfProducts>
+        <kineticLaw metaid="ba6edcb7_8e2c_4134_a449_2455c5944eec">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_720c529a_0ea5_4e9c_a539_204ce1531ec0" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction177" name="binding of RAF-P on scaffold" metaid="_816435" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_7312be0c_a4f5_44e9_8c7d_0a83c0be5fde"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_1ec63fb1_a3b2_4d5a_8f8a_954b8b3f4a3a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_m1_1" metaid="_3d53764e_97a1_41a4_a293_199f1a621bde"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9b90e3dc_d710_4411_a783_47b9141736d1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_492397ef_1286_4248_948d_c7f9a40a3810" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction178" name="dissociation of RAF-P from scaffold" metaid="_816504" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816504">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_m1_1" metaid="f621e872_7820_464e_9879_6f024d8fb13b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_4725d454_0e7d_4f80_be80_a9fbb960965d"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_0ff89b51_e9b4_4dd0_8dc3_3b269c97b6d9"/>
+        </listOfProducts>
+        <kineticLaw metaid="b7b4b74d_f30a_489c_ba38_e1afafa93c51">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="f73a2364_67e6_4f5c_9e91_3e5eda919638" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction179" name="binding of RAF on scaffold" metaid="_816575" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_84a2402a_b5fb_4da0_8070_3d06f188eb4f"/>
+          <speciesReference species="S_m1_0_m1" metaid="_23e4755a_d00d_47ac_9159_c7a3b089a34c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_0" metaid="cfc0a2fa_aa3c_46fb_9947_cc28bb14e810"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1aa1f950_d2d9_42e3_a722_987273aaa8f7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="cc0fd572_5735_4962_a2e7_b4afd0236ae9" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction180" name="dissociation of RAF from scaffold" metaid="_816645" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816645">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_0" metaid="_9e9bea29_0f87_478f_b24e_5bd4e8298f68"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_010ccd41_97f1_4343_b50e_d9b19490523d"/>
+          <speciesReference species="S_m1_0_m1" metaid="c0ae9308_1be7_4574_81ae_1f18ffb81529"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3bc3618f_5cbd_4e89_90b0_5c78a60e8c02">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="f7429da5_357b_4995_9796_0e93dbd06ebb" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction181" name="binding of RAF-P on scaffold" metaid="_816715" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_17acf875_63f8_45ed_a611_0617ef0ee210"/>
+          <speciesReference species="S_m1_0_m1" metaid="cbb72e24_58d3_4f40_970e_71a737694061"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_1" metaid="_8d5d0f55_b615_4f1f_b457_0aaad84af4fc"/>
+        </listOfProducts>
+        <kineticLaw metaid="bdfa6b4f_9513_4245_97c8_d32206f90247">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_052002ed_b32e_4562_940e_76da21231859" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction182" name="dissociation of RAF-P from scaffold" metaid="_816785" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816785">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_1" metaid="cc9f6df9_e7e0_49f6_a4fd_2433295d2f8e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_0f6d0f39_a535_47a3_ac3b_a34eb237fb01"/>
+          <speciesReference species="S_m1_0_m1" metaid="_4b4c652c_118d_4f68_b215_1e1f4574a7e2"/>
+        </listOfProducts>
+        <kineticLaw metaid="fa70bd9f_4c94_49cc_9910_3b8f0a2b7bb5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="da663df2_ec76_4398_88ea_619fcefef994" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction183" name="binding of RAF on scaffold" metaid="_816855" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="f871b62c_cb5d_4d82_9dab_64d5317a60d8"/>
+          <speciesReference species="S_m1_1_m1" metaid="_38308b06_fa26_422f_97ad_c0f1eb1c8880"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_0" metaid="_19806c21_0f80_4151_b17c_c8b57dd2efc2"/>
+        </listOfProducts>
+        <kineticLaw metaid="cc1feaa1_bcd4_4af9_83ee_3e940aa08b6a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_008f83f8_7f41_473d_b35d_3220b2b221c2" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction184" name="dissociation of RAF from scaffold" metaid="_816924" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816924">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_0" metaid="_40b350b5_4fc3_4d47_8968_1c40bc9e09b7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="a0da955f_5b0d_4dd6_9ee1_fc4d972f65a3"/>
+          <speciesReference species="S_m1_1_m1" metaid="ddc87532_20a4_4b04_914b_1d8fcef60c29"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9142fb65_6ae9_4ff1_91d7_4c9b107c4947">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="f1127756_5c7a_4384_b539_998554a55fd6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction185" name="binding of RAF-P on scaffold" metaid="_816994" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="ca2d85a0_7a61_41e7_b839_fd5728521bd5"/>
+          <speciesReference species="S_m1_1_m1" metaid="bc2377b0_5edd_44b4_857a_1cb6022878ce"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_1" metaid="b7258253_588b_4d82_9f54_eb19b4cb96f1"/>
+        </listOfProducts>
+        <kineticLaw metaid="a007cd40_f3a9_4e57_982f_da8a68cbb24b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="af704877_1794_4e58_81b6_65dfcc365332" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction186" name="dissociation of RAF-P from scaffold" metaid="_817078" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817078">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_1" metaid="c29cacb6_da39_468b_b84d_dbe231561fae"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_8e8b47f5_100f_48dc_912b_81b7fade6afb"/>
+          <speciesReference species="S_m1_1_m1" metaid="be9fdd7b_752d_4ff7_a2ed_c2baa9124245"/>
+        </listOfProducts>
+        <kineticLaw metaid="_53295656_d04d_4d31_9d17_a528a1448537">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_1f1effa5_6966_4a80_9bf0_6d6e80194e1f" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction187" name="binding of RAF on scaffold" metaid="_817145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="b0063278_6ec7_4e35_9092_1a1eb7073990"/>
+          <speciesReference species="S_m1_2_m1" metaid="eebb0a2a_092d_46ee_998f_cb44eecd9bae"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_0" metaid="_1abe8ac2_49e5_4b33_a101_2452146f6899"/>
+        </listOfProducts>
+        <kineticLaw metaid="a7a31785_6431_4808_b8ff_1223a00e172c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_65fd8375_ff8c_4e2a_bf6a_1ab6bb4f3943" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction188" name="dissociation of RAF from scaffold" metaid="_817215" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817215">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_0" metaid="_7c4c5f6a_6c1a_44f2_992b_ee834a358d3a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_7e9dd3e1_a71e_4abc_b45c_5a733102c3c8"/>
+          <speciesReference species="S_m1_2_m1" metaid="fa6f76fe_bb2e_4c68_a2f4_85a10f55076a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0567d996_4623_4d7b_960f_56d9c3442014">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="d3004844_034e_488a_92a1_4f4f71077fdc" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction189" name="binding of RAF-P on scaffold" metaid="_817285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_52f6d38b_a784_4f40_851b_b5fd8fc70c3e"/>
+          <speciesReference species="S_m1_2_m1" metaid="_804ddae5_478c_49cd_9fd0_9622bf2700dc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_1" metaid="_2175be09_1092_4389_b09d_981135ef0664"/>
+        </listOfProducts>
+        <kineticLaw metaid="_80c3a82f_6f6a_4143_bb9a_6a9a621e0da4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="b33debd9_6d67_4aab_a079_6ccba4fde7d9" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction190" name="dissociation of RAF-P from scaffold" metaid="_817355" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817355">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_1" metaid="ad5f783d_3f36_4565_9626_49545fbbe91d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="c76e8ea6_8bf5_4f9a_9434_5a8ef5f18c8d"/>
+          <speciesReference species="S_m1_2_m1" metaid="c48bf010_2baa_482d_a9ff_c8393e8e424f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4f8a128d_1191_4a98_a06f_8ec9103595a5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e935568c_bf1e_45a6_b0a2_7818e780a406" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction191" name="binding of RAF on scaffold" metaid="_817424" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="fde77b16_e0eb_45bd_891c_3700d425dcf2"/>
+          <speciesReference species="S_0_m1_m1" metaid="cdf50dab_10dd_439d_8fb6_5115b34c9224"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_0" metaid="bdb3b29e_9f4d_48ae_ade5_9838ab5c0cbf"/>
+        </listOfProducts>
+        <kineticLaw metaid="_89a23d13_bc93_4e1a_9e4a_f160c959bf4e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_3abaefd8_6f09_4fcc_95a0_0004359170a9" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction192" name="dissociation of RAF from scaffold" metaid="_817495" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817495">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_0" metaid="bc39e7a0_a71d_44ca_b86a_922cf968c917"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_2c5622bf_dd78_450e_94e0_255a1bc3a10c"/>
+          <speciesReference species="S_0_m1_m1" metaid="_46f1bae1_9200_42f0_87cd_17e21f1b72e0"/>
+        </listOfProducts>
+        <kineticLaw metaid="_66e4fa2e_d4c2_4e58_857f_38773f287317">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_410f6938_54cb_4a15_8d64_82aeefd2426d" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction193" name="binding of RAF-P on scaffold" metaid="_817565" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="b131d30d_4425_4d36_8bc0_42d52a194c09"/>
+          <speciesReference species="S_0_m1_m1" metaid="_8acab8eb_32a6_4e24_9dcd_b44e809dcd76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_1" metaid="_0fb7212b_de62_48db_8df4_cd36ba0ecdd1"/>
+        </listOfProducts>
+        <kineticLaw metaid="bac3fb51_4222_48af_be37_9c5f31fe6ee6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_03030f36_047b_4262_990c_0cfeca96472f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction194" name="dissociation of RAF-P from scaffold" metaid="_817634" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817634">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_1" metaid="d6403e21_dd35_4f68_9474_38e104f69992"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="f398c2df_083f_477e_9455_913de16d61da"/>
+          <speciesReference species="S_0_m1_m1" metaid="_169e3df1_706d_4b40_8f1e_3dae7fb095ba"/>
+        </listOfProducts>
+        <kineticLaw metaid="b03d40f5_e854_42d0_a845_4047d48c79a6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c2049281_d2bb_4b5c_a29c_d82638b79ec3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction195" name="binding of RAF on scaffold" metaid="_817705" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="b0fefa31_9d30_4860_9e36_6621c43dfc5e"/>
+          <speciesReference species="S_0_0_m1" metaid="_64169fd2_1c1c_4c88_bf71_28ea51e84e63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_0" metaid="c07f8f7a_957a_4b5e_aa61_824c15021de5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_48c84932_d92f_4bd7_a69d_f24a11309059">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="ce973f13_0ed2_43b2_95da_9f09f90096e3" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction196" name="dissociation of RAF from scaffold" metaid="_817774" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817774">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_0" metaid="df8e73fa_cbfd_4237_b257_a65192122342"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_926d44b5_d2a9_45f8_b257_1a7270b0e3be"/>
+          <speciesReference species="S_0_0_m1" metaid="daca19e8_1d05_4159_b93c_2d1df72c6f2a"/>
+        </listOfProducts>
+        <kineticLaw metaid="f5124d91_9de5_47ce_85b0_4e0e5ac5c9f1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_2ed08e9f_0362_41d5_a0a5_114b3827023b" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction197" name="binding of RAF-P on scaffold" metaid="_817845" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_1fcb7a51_cf06_4ae1_ac9b_4cfdcf989c57"/>
+          <speciesReference species="S_0_0_m1" metaid="_7fa8e2ce_5cb3_4908_b821_205c804e9ea6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_1" metaid="_71f66bb9_8dec_4288_8f48_d81a9fbf8753"/>
+        </listOfProducts>
+        <kineticLaw metaid="bf8f4b91_f65d_4c5e_86e5_616b1325fb6d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d5a925d3_a117_4f11_8c0c_f363cf3ccf4f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction198" name="dissociation of RAF from scaffold" metaid="_817915" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817915">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="_1497d1b3_4065_4bd7_a5e0_8a4b8e14a34b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="f19ece03_ab4b_4be4_8f02_4b83c2456141"/>
+          <speciesReference species="S_0_0_m1" metaid="_5c01015d_26e8_40aa_a9c9_163ae6a432c4"/>
+        </listOfProducts>
+        <kineticLaw metaid="a4ed11ae_c871_4858_b79c_13d2ac0ec6eb">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c3bc84e2_b548_4d9f_b139_bd15cc7b1dd3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction199" name="binding of RAF on scaffold" metaid="_817985" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_431d7c91_82b0_4dae_90e5_e0fc647caadc"/>
+          <speciesReference species="S_0_1_m1" metaid="_869db5ef_4e06_4f16_a1a5_f8d2ed90ac8a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_0" metaid="b91b8f83_a8f1_4c00_9e75_fb95dee0cb0d"/>
+        </listOfProducts>
+        <kineticLaw metaid="f74d10d7_0d6e_4455_99a2_e974eda1c803">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_36ed5356_8205_4efe_b1ba_385eaecd9613" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction200" name="dissociation of RAF from scaffold" metaid="_818056" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818056">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_0" metaid="_83739d7d_2f94_48cd_8140_69d4c375a1fa"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="efbae06c_0e7b_46ec_a649_b8b349cab52a"/>
+          <speciesReference species="S_0_1_m1" metaid="_5763f635_17fe_4e83_836a_3cbe2e27415b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_273f3b42_4b1e_4e11_b551_68e956f5100c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="c79d4022_5f44_479e_92b6_36e111b60d75" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction201" name="binding of RAF-P on scaffold" metaid="_818125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="a5925f77_742e_455f_a901_afd8ac88009d"/>
+          <speciesReference species="S_0_1_m1" metaid="bad902dd_daa2_4222_8265_5b418cddc21a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="_301db2e1_8a48_4816_afdc_4ea458988114"/>
+        </listOfProducts>
+        <kineticLaw metaid="df63310c_d748_4b99_8599_49d7ebf03970">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="b6628246_14fe_4587_8cb6_413a549f4b0c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction202" name="dissociation of RAF-P from scaffold" metaid="_818195" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818195">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="a9b5f87a_9f7f_4bc8_a4ec_d7c227667c79"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="f19fd6db_d67f_46d3_80b4_622d173b1026"/>
+          <speciesReference species="S_0_1_m1" metaid="_8bb66980_16a4_44c1_9d02_214253dd660a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_58d3f491_d61a_4fd1_88c0_aea532d6e281">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="b7c35366_147d_48c4_bfa5_06dbe374bac6" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction203" name="binding of RAF on scaffold" metaid="_818264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_81b2e5cd_e779_4185_90a6_866e1f799fca"/>
+          <speciesReference species="S_0_2_m1" metaid="c332f030_167a_4f2a_bc80_a840b1186a55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_0" metaid="_8426ecc1_ebf7_4bfa_a8b1_c7ba54907288"/>
+        </listOfProducts>
+        <kineticLaw metaid="f3f34a37_3120_46bc_991a_047ea152266e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_32107e44_ed54_48c2_a9e2_f460b20aa71e" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction204" name="dissociation of RAF from scaffold" metaid="_818334" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818334">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="_311f8354_e916_425c_b90e_bc4e883f8f33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="c0e75900_7aab_443e_ab65_c688be12597a"/>
+          <speciesReference species="S_0_2_m1" metaid="_35bdc3f7_4290_44c9_8b5a_68e4752996dc"/>
+        </listOfProducts>
+        <kineticLaw metaid="_82f1d418_6a1f_4a85_99b7_92b567448f7f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_13bafe1a_7c29_40f8_9317_aef1c91dabb6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction205" name="binding of RAF-P on scaffold" metaid="_818405" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_767e65ce_7b8a_4835_b3e5_5de05a2fd89d"/>
+          <speciesReference species="S_0_2_m1" metaid="_35d6165e_04bb_4e3c_9da3_fe699ffdbb84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="fc41d057_ccea_4068_8023_a9584c361efc"/>
+        </listOfProducts>
+        <kineticLaw metaid="f3b001e9_cb43_4942_95a6_019ee70bf0c3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_73d6be8a_24fd_4b09_a5b3_11080d591a93" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction206" name="dissociation of RAF-P from scaffold" metaid="_818475" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818475">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="_282d45d8_7c14_437b_bd00_b896d5f7da93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="c6782bdd_637c_4a0f_a1b1_9ffbdd45193a"/>
+          <speciesReference species="S_0_2_m1" metaid="_0c7a510c_ab77_491d_9fdc_b0f2b73601d2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1c7d7a24_519d_49ef_b176_38ede5765c8b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_63a51ecb_760a_484a_bbf4_0fea2932b70e" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction207" name="binding of RAF on scaffold" metaid="_818545" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_5fd81424_d156_4aa7_8000_b5301816701e"/>
+          <speciesReference species="S_1_m1_m1" metaid="_2b5099a7_ed7c_4ebf_9b6e_6395a2b819db"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_0" metaid="_47314875_547b_4be7_ba28_34d78bf3905f"/>
+        </listOfProducts>
+        <kineticLaw metaid="e8bb4a38_8c85_43f5_a2b6_e9db4dd8659d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_21197a34_2886_40c1_84de_0c82aa69203d" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction208" name="dissociation of RAF from scaffold" metaid="_818614" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818614">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_0" metaid="_9afab913_b331_424a_a129_d3154524fc92"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_8310e67c_f459_4e07_bc1a_414c706ef9ba"/>
+          <speciesReference species="S_1_m1_m1" metaid="_95509c6a_73c0_4ced_b497_c61a420559ee"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1f75f71d_bbe5_4354_a67c_13d323afdd85">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_58cc39be_57ae_4182_a37f_a225cbc56baf" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction209" name="binding of RAF-P on scaffold" metaid="_818685" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="f5a13564_7066_4b46_854d_e385349ba94f"/>
+          <speciesReference species="S_1_m1_m1" metaid="e3014a95_7397_4985_b2d7_20558fdb3854"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_1" metaid="_0d75b9fd_d178_48fa_bc88_179283a5582e"/>
+        </listOfProducts>
+        <kineticLaw metaid="afd870f4_63b2_4a97_bc15_c0c9ad5e6702">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_4eac62b1_7df2_48da_8683_d1c7827a2f83" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction210" name="dissociation of RAF-P from scaffold" metaid="_818755" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818755">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_1" metaid="c67526c6_5801_48c4_96df_6a5669d0b03f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_6b6b5150_38fb_458a_b8ab_f3f1ed76837e"/>
+          <speciesReference species="S_1_m1_m1" metaid="_84be0b46_f3f8_45d2_9a49_293312133f42"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3c4ddaac_5c01_441d_9035_61da666414ff">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="beeba18d_a070_4347_a37e_4b7d54b32e4d" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction211" name="binding of RAF on scaffold" metaid="_818824" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_3228da01_63bd_4aeb_b858_b2341bac6c3a"/>
+          <speciesReference species="S_1_0_m1" metaid="a570909f_3393_4245_be1f_1b0c07fab1f7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_0" metaid="_9f4a2f75_e3d1_40e8_a6b5_99d7a6f70e7e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_17da5e01_04e6_4de2_8962_7e39e291f1f6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="ae0be53e_e03e_4b9f_883c_f7bbd8e147aa" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction212" name="dissociation of RAF from scaffold" metaid="_818894" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818894">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_0" metaid="a0b8c9cc_0570_4f5d_a0f6_fb1539166724"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_54b6e67c_d3fc_4206_ad36_29ae15e5103c"/>
+          <speciesReference species="S_1_0_m1" metaid="_88f55f2a_df78_42e7_bb50_96060c59c07e"/>
+        </listOfProducts>
+        <kineticLaw metaid="d2aab6cf_6df5_4068_b07c_ef73fd8d3233">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_5e815645_1d01_44c3_837b_3fe98df245d1" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction213" name="binding of RAF-P on scaffold" metaid="_818965" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_47b341d0_7eea_45e1_aad3_81532878d844"/>
+          <speciesReference species="S_1_0_m1" metaid="c86fa500_170e_4d9f_89df_a452a0fb2831"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_1" metaid="b6b34e72_964d_4e78_aa5b_68e20a794104"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2833d9b3_4eaa_4dba_be4d_34e09b114967">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_7447ad90_3e42_4236_81ca_b9685d55b994" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction214" name="dissociation of RAF-P from scaffold" metaid="_819034" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819034">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="_3de57e90_7e3d_476c_9a74_00ec08a1ec23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="b005a30e_906a_475d_b799_fc2979b7865e"/>
+          <speciesReference species="S_1_0_m1" metaid="_7eaa4e4d_5c76_445a_acbc_d734d8aba216"/>
+        </listOfProducts>
+        <kineticLaw metaid="_016f2189_20fc_4f8d_ad94_bbeb29e808d7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_6fdeb866_e301_40e3_9941_fd84701e15cd" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction215" name="binding of RAF on scaffold" metaid="_819104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_376e5fcc_251e_4eb2_8d6b_6573ab949017"/>
+          <speciesReference species="S_1_1_m1" metaid="_6643974f_29ac_4f61_b806_dfeafccd2368"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_0" metaid="ea096f98_1334_470e_ab70_a52dc129f39a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3f95d3ab_38bd_48da_b220_20a91d237383">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_6b7d6262_65c0_440e_b8c8_d3e8d4b5ef96" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction216" name="dissociation of RAF from scaffold" metaid="_819174" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819174">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_0" metaid="_0e60b94d_5bc7_4352_bd61_cdfa6301abb0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_1f8b6418_e760_447a_90e5_ab6da70a23f1"/>
+          <speciesReference species="S_1_1_m1" metaid="_94f02dcb_6bb2_478f_969b_2e2dae9cfc8d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6ea8da40_71eb_4b11_b2da_dd71e9491c19">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="a61d0ba3_39d9_4b70_a713_47553aeaabe4" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction217" name="binding of RAF-P on scaffold" metaid="_819246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_388bcf34_f505_4265_bd23_9f41eacb15df"/>
+          <speciesReference species="S_1_1_m1" metaid="_68dcf62c_af49_4316_8605_ecb418e92250"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="_0e31247c_d0f9_4f20_9e00_5d9ed08e2d1b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_82af5aed_3bda_48b9_8bf5_4a2151d077a4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_20ad40ea_edae_4830_8b82_dd8af9b7ae05" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction218" name="dissociation of RAF-P from scaffold" metaid="_819314" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819314">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_067c7321_9518_4ba9_8b63_6fad9e8cc4ee"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="b199b6b7_92ce_473f_88f3_4bacb5aba42d"/>
+          <speciesReference species="S_1_1_m1" metaid="_65313d43_86f5_4229_b5d5_f1d83a5e085a"/>
+        </listOfProducts>
+        <kineticLaw metaid="c8f16c87_f5f5_4085_a7fe_150d4c8e9660">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_52499450_3c00_452e_81e0_0978f20a3a77" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction219" name="binding of RAF on scaffold" metaid="_819385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="d1f69740_d730_467e_94dd_e26a38febce9"/>
+          <speciesReference species="S_1_2_m1" metaid="daad4d00_8347_4c61_b917_890ad1693a5e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="_69904ef2_2712_4595_8ec5_4ee0aa3285df"/>
+        </listOfProducts>
+        <kineticLaw metaid="ef97e59a_7cb8_496c_bbec_69eb832405ae">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_11b859e4_338b_4b0a_bd5d_9c24e0f419fb" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction220" name="dissociation of RAF from scaffold" metaid="_819455" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819455">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="_544ba566_e26e_4c99_8f31_f027b5d1292b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_83a98ff1_334b_4815_94c5_cf947f2dbe60"/>
+          <speciesReference species="S_1_2_m1" metaid="_0e4043a5_7fd5_4eae_a337_8a26858c9a54"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8c6af981_9b84_4073_9670_fb29b55a327e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_85926081_e0b5_465e_b7e8_d2d0aa676cf7" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction221" name="binding of RAF-P on scaffold" metaid="_819526" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_98f57887_0e7a_42e6_825e_4cdb914e78f4"/>
+          <speciesReference species="S_1_2_m1" metaid="_0e9549d9_6b67_4bbb_9ae0_1d6b77313426"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_9c2001f6_780e_444e_adfe_af43cd4f502f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_38ca8964_5e7c_44e4_93a9_b31d43fb325e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d89a9959_d33b_4f63_8f2a_4830b3e9283c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction222" name="dissociation of RAF-P from scaffold" metaid="_819595" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819595">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="_555c3eb4_d61e_43e8_b6a0_46978ca0f286"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="ebfe7c59_09ff_48ec_aa18_c78d51df339a"/>
+          <speciesReference species="S_1_2_m1" metaid="_7ecece98_f9a8_440e_8a85_b3d945b678b2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3df85508_c7b3_4420_ac6a_29004251cee4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="a4fab0c4_1c06_426c_bd5b_4a2393e8f687" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction223" name="binding of RAF on scaffold" metaid="_819664" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="dfc9abfe_9875_402c_99e8_9fd9e0a454c7"/>
+          <speciesReference species="S_2_m1_m1" metaid="_87d97e55_c847_4707_9d8a_5d113df05c55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_0" metaid="_022dfb3f_b3dc_4828_8869_dfa7c3300ab6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7cadff45_afc1_4863_a92e_33f7a1c21b1e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_315b1b85_ce85_4037_bc88_b7f4e0b4c910" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction224" name="dissociation of RAF from scaffold" metaid="_819734" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819734">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_0" metaid="b118f0a4_5ab3_4f99_8e4e_19864055513c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="b4b67bdb_2e6a_4d16_9362_541fff6b9b50"/>
+          <speciesReference species="S_2_m1_m1" metaid="ea7f4ae2_b889_4b71_96e1_582fc70df57f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4078d97f_a382_451f_8741_6f036d18b44c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_86a4e98a_c0aa_4e28_aeb7_c27c4f3e058f" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction225" name="binding of RAF-P on scaffold" metaid="_819804" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_0029c124_ef1d_477e_adf9_685d65940a42"/>
+          <speciesReference species="S_2_m1_m1" metaid="_112bf8f8_d469_4c33_b1d8_b5250f1c99a1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_1" metaid="bfa47bae_c508_4a1a_99af_dab7484cfd2d"/>
+        </listOfProducts>
+        <kineticLaw metaid="d38565c6_86b1_49e2_8699_e876ee99a467">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="afd9224d_811e_4d3a_8062_094df4294904" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction226" name="dissociation of RAF-P from scaffold" metaid="_819874" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819874">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_1" metaid="_5070e30d_5b3e_44d5_b350_b0932d9c9dcd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="fda9c177_d23d_40df_8ad3_859669faa90f"/>
+          <speciesReference species="S_2_m1_m1" metaid="_0450a33b_d75e_4093_9bda_5229fd68ae51"/>
+        </listOfProducts>
+        <kineticLaw metaid="_77d60dd7_537f_4356_a2ab_a84fe06861b9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_25958b9e_8e6b_485b_9eb7_fecdeb4c45ab" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction227" name="binding of RAF on scaffold" metaid="_819945" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_40fe3dc9_e8e5_4511_9366_939ba2941a39"/>
+          <speciesReference species="S_2_0_m1" metaid="_50b5af39_37fe_47ed_9ac2_187d10925c41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_0" metaid="dc69ec2d_fe33_4030_b645_6a145d41f952"/>
+        </listOfProducts>
+        <kineticLaw metaid="cfd381b4_2772_47e7_abc3_d3144aeebe18">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_9e496300_7253_4d1e_a74a_a38cb3535950" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction228" name="dissociation of RAF from scaffold" metaid="_820015" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820015">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_0" metaid="f3533a5b_9f3b_451d_bbc7_dcf13291c9a3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="aa5bfb30_6aee_4872_aedf_f98c93fd1e5f"/>
+          <speciesReference species="S_2_0_m1" metaid="_6aeab3b9_7024_4ae8_be2e_102a49ad9843"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6db64bcc_ac55_4a9d_beae_5e0f862d19ff">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_04d54be9_b0db_4404_b01e_b715c75d4844" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction229" name="binding of RAF-P on scaffold" metaid="_820084" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_7793b9c4_d8d7_44f5_b337_e71d2cee0d96"/>
+          <speciesReference species="S_2_0_m1" metaid="_0af3ced7_d35b_4208_a414_01d34cab2393"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_1" metaid="d95d34c9_9ad5_423b_a1e1_c7aae8bdf824"/>
+        </listOfProducts>
+        <kineticLaw metaid="_119f18a7_0db0_48e3_b589_4739287dab7f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_3a64e42d_932d_47a0_a402_86857be7fabf" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction230" name="dissociation of RAF-P from scaffold" metaid="_820154" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820154">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="a22c50b2_4dfb_44e3_aa13_7f85b7b1b37d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_57fbf128_dd59_4b66_a90f_89ff606db4c2"/>
+          <speciesReference species="S_2_0_m1" metaid="_2b110e50_fcb4_4b5e_bfb8_180743bee438"/>
+        </listOfProducts>
+        <kineticLaw metaid="da29ab0a_f2c6_44ad_be0b_59cdbc6d00a3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_39c968e3_db67_42c9_bca0_e23526797103" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction231" name="binding of RAF on scaffold" metaid="_820226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="ffc73bfc_6b03_4a89_8a9a_6e433e9e2f99"/>
+          <speciesReference species="S_2_1_m1" metaid="_70538719_ea01_4847_b384_6cbe9e7bce12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_0" metaid="_812af358_1313_436a_844b_ce326c3f7d39"/>
+        </listOfProducts>
+        <kineticLaw metaid="_34654b59_7a43_4c23_8cb5_a84b666e2c52">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_7f22ac63_bebf_41f7_b725_f08ca084c0af" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction232" name="dissociation of RAF from scaffold" metaid="_820295" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820295">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_0" metaid="_289ad225_e0f0_487a_914c_af7486a394f6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_5870a7f9_c19b_4aa2_b3cd_1ff49b5e7f47"/>
+          <speciesReference species="S_2_1_m1" metaid="_7c6aedb9_86eb_4202_8a5f_c9ddd37b2413"/>
+        </listOfProducts>
+        <kineticLaw metaid="_21af01ac_7c4a_4f76_9c71_f386b0dff35a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_6d556e58_4c30_4cc7_820c_2a2bfc245cc6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction233" name="binding of RAF-P on scaffold" metaid="_820364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_53b200e4_f254_41bf_a8eb_c9eeb3604bd1"/>
+          <speciesReference species="S_2_1_m1" metaid="a1db2b64_5dc3_414d_ade9_2c01d0182af2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_7253d44e_552a_4897_abad_538b3bb8fa65"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9604f5ab_6624_420f_88dc_159bee0034a1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="dccae730_78d1_4da8_af27_0a69cdde5088" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction234" name="dissociation of RAF-P from scaffold" metaid="_820434" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820434">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="_1a5402da_8784_466a_a3d1_2690ee7ae429"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="d9302fef_53c6_4667_b0ba_3cee4c389a3f"/>
+          <speciesReference species="S_2_1_m1" metaid="_71a3a6e8_2c2d_4660_b60e_6f5b638efa7c"/>
+        </listOfProducts>
+        <kineticLaw metaid="b89c8fc6_2493_49db_b46d_0faea41e1ef2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_797fddcf_ae8e_4182_bc83_837ba03298f8" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction235" name="binding of RAF on scaffold" metaid="_820504" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="d56d5ba0_68f0_4195_a3f1_2c02822dfa60"/>
+          <speciesReference species="S_2_2_m1" metaid="fe5db53f_ef34_48db_b352_ce9cacc6ca2a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="_54d38d02_02b7_4e02_9a56_af340a85fa67"/>
+        </listOfProducts>
+        <kineticLaw metaid="_81a7081f_d437_4c63_be7a_36e3fc8060b8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_6e2ba136_0969_401a_9fef_3e526fd6bc29" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction236" name="dissociation of RAF from scaffold" metaid="_820574" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820574">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_0" metaid="_8e8bcf34_1375_479c_a922_330c73ba52c8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_0f4b4b05_f9cd_41d0_b4eb_d52b78cbc993"/>
+          <speciesReference species="S_2_2_m1" metaid="_35f16be1_c9d1_4054_9189_ffe0cc0d33c0"/>
+        </listOfProducts>
+        <kineticLaw metaid="c05d8103_467d_4253_8705_3dbb87663efc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_42db2c65_038f_41a7_a85e_3dd1385a4ad6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction237" name="binding of RAF-P on scaffold" metaid="_820644" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="ebd7d515_ce05_45c9_a2d6_058bb68fdfd1"/>
+          <speciesReference species="S_2_2_m1" metaid="c43de5b6_e523_4bb6_9955_8ba53f5bbf11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="_30ad8649_fe73_4bd7_ad22_7886ed96bd58"/>
+        </listOfProducts>
+        <kineticLaw metaid="_871e4001_4f31_4456_913e_c149b4fedb48">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e37f04a1_4114_4166_89fa_47370b020039" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction238" name="dissociation of RAF-P from scaffold" metaid="_820714" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820714">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_1" metaid="_6728e009_6e40_4642_9e2a_6898f81b8628"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_2ce1b1b1_1a1e_48aa_a2ec_8258258b3f48"/>
+          <speciesReference species="S_2_2_m1" metaid="_43371e9a_4d8e_4db4_bf51_436d8cd63e67"/>
+        </listOfProducts>
+        <kineticLaw metaid="c873274d_dbfe_40c7_b42f_826e3f2b5c94">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_98bc7de3_c114_43ae_a877_4516b049fb92" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction239" name="phosphorylation of MAPK on scaffold" metaid="_820784" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820784">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_m1" metaid="_33c9f42c_b24d_46f6_b8f7_1b154019690d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_m1" metaid="_2645511e_2d4c_41ee_a1f6_3d4aa62fbf40"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931decd8_7a17_444e_b277_54a9814680ad">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_714367f7_6618_438b_8607_01173b90d1ee" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction240" name="phosphorylation of MAPK on scaffold" metaid="_820837" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820837">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="cc5e55b5_4564_4bf6_9145_e1338da9149f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="fe79eba3_d519_4244_b4a7_b75bb3b10f3b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4cf0cf5f_cc5a_48d2_a4a1_d9bcd52b8a60">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_4b46e09b_1c37_4c83_a74e_b550e6698cde" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction241" name="phosphorylation of MAPK on scaffold" metaid="_820887" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820887">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="_799f8b57_4186_47bf_bf79_e53376bf8881"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_6985cf4c_2e18_4fde_a95d_2efd7ab464c4"/>
+        </listOfProducts>
+        <kineticLaw metaid="b3f788e2_1538_4c5a_88dd_8d3862e6cbc3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_64f9a5a8_5f09_403d_b26e_236ec6fcc7d8" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction242" name="phosphorylation of MAPK-P on scaffold" metaid="_820937" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820937">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000187"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_m1" metaid="_70714c16_f37d_4a03_b4d2_64018d6a3576"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_m1" metaid="_89d9b1f2_69df_43a7_8984_9f85a3156c6f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_73e287f1_bead_4a16_9756_bb2cc8e555b1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9a </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9a" metaid="_5dcd8547_7a98_4a08_b296_476c608f60fb" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction243" name="phosphorylation of MAPK-P on scaffold" metaid="_820987" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820987">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000187"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="b78f9187_5c22_4ba6_bc1c_8f2b946a5e2e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="_2d853ace_33c8_4ba3_a4e5_dd6575e41bae"/>
+        </listOfProducts>
+        <kineticLaw metaid="e7986450_0f5f_4428_84f9_b03715ef6330">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9a </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9a" metaid="d70faf00_f07d_4303_bceb_7002af068cad" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction244" name="phosphorylation of MAPK-P on scaffold" metaid="_821037" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821037">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000187"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="_6ba3b5c5_13f8_49b2_9e1a_cbcbb0f2210b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="_5e91237e_e2c8_4003_a44f_78e5579ec868"/>
+        </listOfProducts>
+        <kineticLaw metaid="_34a20b7a_9b24_480c_999a_1660cbddb6e8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9a </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9a" metaid="_86e73be1_3f0b_46c0_a913_63f9ccedf403" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction245" name="phosphorylation of MEK on scaffold" metaid="_821087" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821087">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_1" metaid="_3abe209e_3351_4be6_ae07_fa479e35ea55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_1" metaid="a8562c82_c60b_4671_aad7_d0030c11eea4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_54542e0d_42f3_4bac_982a_18218c211121">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="_62263366_f924_4595_8b31_5cece8082296" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction246" name="phosphorylation of MEK-P on scaffold" metaid="_821137" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821137">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_1" metaid="_9681866a_73c9_44bf_bff5_a4373a8e41fd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_1" metaid="_47bb55a1_3e31_48f2_a8b9_30ec6e1aec67"/>
+        </listOfProducts>
+        <kineticLaw metaid="_24e8bb42_47bd_4562_a616_b8e124e076a2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="_8e43f9f3_6335_4895_9b63_9bde55225ac3" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction247" name="phosphorylation of MEK on scaffold" metaid="_821187" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821187">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="_2f339d0a_1b61_4f9e_b4de_25dfa728479b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="_2bbea285_0b56_4590_915b_6ded96fe3b58"/>
+        </listOfProducts>
+        <kineticLaw metaid="_76e6e368_e146_488f_9962_fc5ad29e0173">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="ee35cb09_c869_4ed1_abe5_deea605a5a13" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction248" name="phosphorylation of MEK-P on scaffold" metaid="_821237" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821237">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="_8fb1c6f7_e002_4706_aaba_2572c2e1f2c5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="e75182a0_8440_480a_8b4b_dc73676bea78"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2c7adf90_6fb0_46c3_ab86_2dac78e7e377">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="_1eabc1b7_1b35_4b01_bdfe_189cff40ad7f" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction249" name="phosphorylation of MEK on scaffold" metaid="_821287" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821287">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="f1613fe7_e09a_40f9_8506_e929f72c9a10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="_47d074d6_8d13_49f8_8156_ff2ac0da78f9"/>
+        </listOfProducts>
+        <kineticLaw metaid="b5167dc7_94df_4ffa_86b9_74a1c23c8b68">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="_2b9a725e_27a4_4107_a227_21e2f048f355" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction250" name="phosphorylation of MEK-P on scaffold" metaid="_821337" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821337">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_615d37ed_8b71_4195_afcd_c745929bd3ba"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_8697e98f_1565_4063_befd_a69801e803cb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1d94610f_e536_4d8f_979c_a1da5c0a3a2e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="_6ae9c735_cb36_4420_8179_e843b9a0e449" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction251" name="phosphorylation of MEK on scaffold" metaid="_821387" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821387">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="eb53c015_e78d_4ee1_b1ed_9213639225ab"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_716123fd_91a6_4657_afe1_bcc7a31cb8a9"/>
+        </listOfProducts>
+        <kineticLaw metaid="b14f9595_69ce_4368_a6b5_9a46849be89e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="_9ecdafb1_e5b1_46b8_b209_850da459a8a5" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction252" name="phosphorylation of MEK-P on scaffold" metaid="_821437" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821437">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="_0b7a6ffc_3bb4_467c_8569_e8a6d553ff88"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="_769f2ca5_8117_4faf_b760_fdb977d05362"/>
+        </listOfProducts>
+        <kineticLaw metaid="_14fc6c9a_1e35_4115_87f1_2381ff0888b8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="de9a8fa8_5b98_4af2_8c6d_8903e1f5002b" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction253" name="binding of RAF and RAFK" metaid="_821487" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821487">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="ae99e826_d104_4847_88a6_9fbe960c6517"/>
+          <speciesReference species="S_m1_m1_0" metaid="_02603c7f_0b39_4fe5_a3b7_d964a9aa5b7f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_m1_0" metaid="e0507907_bdcc_4f09_a74c_703fc3be7f55"/>
+        </listOfProducts>
+        <kineticLaw metaid="ddefbddc_05db_416f_93ea_badc73f5fc37">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_4230c38c_b2d7_44d4_83c2_59da45786b79" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction254" name="dissociation of RAF_RAFK" metaid="_821555" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821555">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_m1_0" metaid="fa56a9d2_641f_4a52_b35b_bf63ddfb0503"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_31ddb562_0fa3_4e1e_a909_06a3a74a026a"/>
+          <speciesReference species="S_m1_m1_0" metaid="_503d29d3_3c7c_4d66_87f9_707f120d10b1"/>
+        </listOfProducts>
+        <kineticLaw metaid="aee8c88e_93da_4638_9cb7_892d44d3fe1a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_481254b8_2888_4570_95db_0cff67b7dc1c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction255" name="phosphorylation of RAF on scaffold" metaid="_821624" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821624">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_m1_0" metaid="_1130d5e6_6cbd_4aa3_8576_53c3150098a6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="b6c40349_18cb_4129_ac71_ddd1751d5c64"/>
+          <speciesReference species="S_m1_m1_1" metaid="_716b1cfb_bbdf_4eb3_9a7f_761e54c5ab3c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_90d6fa16_40d8_4377_b02c_1334ae9e15f6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_6e9bc1a4_33a7_424b_9978_599700c954f6" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction256" name="binding of RAF and RAFK" metaid="_821694" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821694">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="a6905d36_07c1_4a78_932d_7b8a8dbe8107"/>
+          <speciesReference species="S_m1_0_0" metaid="cfe59013_0419_4e27_83fb_39ce60e095e0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_0_0" metaid="_3e0d985f_1f4f_4b97_b36b_ef9a24e9e4c4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2d96a1c0_4224_4726_bd6f_c81993f339d4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_0ce756fd_fb05_480f_96a2_cd15a70bedc4" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction257" name="dissociation of RAF_RAFK" metaid="_821764" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821764">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_0_0" metaid="c89c3021_2aa6_47c7_a842_6ebebd715d22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_9175876b_54b3_4839_9901_1988e38383be"/>
+          <speciesReference species="S_m1_0_0" metaid="_6c37a77e_a921_4298_a798_68370c83d462"/>
+        </listOfProducts>
+        <kineticLaw metaid="f0713195_8d74_4a00_93ba_b310694530b9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_89045aaa_5b94_4b10_85d5_dae96dac4917" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction258" name="phosphorylation of RAF on scaffold" metaid="_821834" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821834">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_0_0" metaid="f81f8050_eca0_433f_b594_9759cbaebc2c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="f20e269c_e368_432c_aadb_8717462de799"/>
+          <speciesReference species="S_m1_0_1" metaid="_01235356_3a08_4c8b_9776_a2efefd1d0bf"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9625605a_4de5_4df8_a635_3e4dd99ce0e2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_0193843c_55e7_428c_a8dd_baf911fed19b" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction259" name="binding of RAF and RAFK" metaid="_821904" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821904">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_98edd1cf_d232_4d33_a4a7_39a32a5c9083"/>
+          <speciesReference species="S_m1_1_0" metaid="_70bac7e1_436a_4bd1_b884_036f46597df7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_1_0" metaid="f2127dcc_95ce_4aa9_abc5_b2f957188f22"/>
+        </listOfProducts>
+        <kineticLaw metaid="f3370d51_eefb_4658_bf26_bc5016672148">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_09e332ee_8e26_44d8_8b6c_0fd1dcff5595" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction260" name="dissociation of RAF_RAFK" metaid="_821974" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821974">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_1_0" metaid="_6535cb9f_0f1e_4999_b5d5_4bac0d613b1e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_8941b69d_82b7_4b85_863b_ab888dcd0738"/>
+          <speciesReference species="S_m1_1_0" metaid="_5ef548f4_d41e_4af8_8a1f_c5be388bd0c2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_50ec6432_5083_4374_aa40_5d8108705e6f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_95df8f47_7272_489b_9808_e00bf3b244ea" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction261" name="phosphorylation of RAF on scaffold" metaid="_822044" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822044">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_1_0" metaid="_45802640_46ec_43d8_a3aa_0c2d27c0b6f6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_2ff704cb_b98c_4675_848a_6b60a7168ce7"/>
+          <speciesReference species="S_m1_1_1" metaid="f4f2cd3a_f8af_4a0b_afb7_5c7a28d303bb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9ceaa3f6_c9ef_4ba3_a058_488654da9267">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_237111b8_3071_4a2d_92e3_e589822facda" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction262" name="binding of RAF and RAFK" metaid="_822114" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822114">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="be7b875c_2f2e_4ee5_8cd4_a97365a698bd"/>
+          <speciesReference species="S_m1_2_0" metaid="_12ee5fd2_2ad3_4634_962c_c5215a1620ed"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_2_0" metaid="_341b4dde_a59b_444a_ae2b_335005da7f21"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5db698eb_58d2_439f_aa0c_fccf26d2492a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_3968ccf4_b449_495a_a5bc_e050098c3542" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction263" name="dissociation of RAF_RAFK" metaid="_822186" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822186">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_2_0" metaid="_86c1381c_50f7_466e_871d_7112a25a6f3f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_97bff562_8eaf_44b5_8e5d_440410550084"/>
+          <speciesReference species="S_m1_2_0" metaid="_5bd9cbd2_6db1_4af5_821c_a2eca96b1fad"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4335242c_5d7c_4dd6_867e_2947be813be2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="a5864639_19b8_455d_9b98_42b8c016b464" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction264" name="phosphorylation of RAF on scaffold" metaid="_822254" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822254">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_2_0" metaid="_145b3036_95b1_4a79_b18b_c4b43a6d137d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_7c881e18_a15f_43c6_8c32_94bbcd8052c7"/>
+          <speciesReference species="S_m1_2_1" metaid="c5f43658_8a8f_456d_94a7_704ade7fddb1"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad23feb8_e953_4fe2_bfd8_8593a7620eba">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_5c947169_0bbf_4443_befa_d97bf877bb67" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction265" name="binding of RAF and RAFK" metaid="_822324" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822324">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="cb526332_f60d_4f6c_bebc_0feaf41c0985"/>
+          <speciesReference species="S_0_m1_0" metaid="cf141921_7f52_49db_8f37_7c5ea6ab528f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_m1_0" metaid="_9b072b52_e376_4c1a_83af_7ca31335a8ca"/>
+        </listOfProducts>
+        <kineticLaw metaid="_08e06e5c_4f80_4644_825d_0e91035b30a5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_064d6461_2590_4e6e_9cb5_6ba1505474dc" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction266" name="dissociation of RAF_RAFK" metaid="_822394" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822394">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_m1_0" metaid="_8439eee7_53ad_4ee8_82eb_0968191976d7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="ea35e9e0_254b_4df3_931f_275afee2ae9a"/>
+          <speciesReference species="S_0_m1_0" metaid="_180f4099_4aa1_416a_adea_29a032bf3734"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0fa970c3_502e_4ee4_85b8_345b1d2589f6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="bde0e00e_e02b_4724_82ef_9bb16870f89a" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction267" name="phosphorylation of RAF on scaffold" metaid="_822464" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822464">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_m1_0" metaid="f6ff8348_f16b_4de5_b804_786242749010"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="f9448ca7_ce7e_4ed5_bfac_6571059a9b4c"/>
+          <speciesReference species="S_0_m1_1" metaid="e5013548_18a2_477b_aa07_b8c4b71cafff"/>
+        </listOfProducts>
+        <kineticLaw metaid="a4a41ff8_5e98_43ae_a277_b738190ed4e7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="b9bc4c5f_148c_4b86_a069_46f5f6a8fb58" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction268" name="binding of RAF and RAFK" metaid="_822534" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822534">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="ba06adb2_fcf5_414b_8c91_156c47a31477"/>
+          <speciesReference species="S_0_0_0" metaid="_9191e521_874e_4fad_9849_e0c1403a8629"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_0_0" metaid="_9333e0ab_4d52_462d_babb_c4fb9cca2eaa"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6b3604c9_2a8c_4eaf_a288_e6613b5d843d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_0303fa34_f5e9_42be_81c0_818d29d6748f" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction269" name="dissociation of RAF_RAFK" metaid="_822604" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822604">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_0_0" metaid="cefc8d21_41b9_459e_8caf_90b11049402a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="a9d95340_5dcc_40ec_9363_592024aa146c"/>
+          <speciesReference species="S_0_0_0" metaid="_9e398dec_31d4_4830_bb04_fa0f0a84f837"/>
+        </listOfProducts>
+        <kineticLaw metaid="ece16266_1ec4_4de0_a250_eae0bdbc57c6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_7191a928_f1e5_417f_a69b_946c8cd0042c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction270" name="phosphorylation of RAF on scaffold" metaid="_822674" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822674">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_0_0" metaid="c9134768_1a2f_4145_9a15_d5630557fe15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="e8e2bfac_0e5b_4f26_b593_39026fb9d45b"/>
+          <speciesReference species="S_0_0_1" metaid="d663a74e_6bdf_4145_ae36_6f5001242343"/>
+        </listOfProducts>
+        <kineticLaw metaid="_997c5798_203b_466d_9844_540c3ee8b9a9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_04b5ee9e_c07e_4ad8_8139_067ed5ad4264" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction271" name="binding of RAF and RAFK" metaid="_822744" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822744">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_235bc210_fc1f_4c98_8875_3da422296b6b"/>
+          <speciesReference species="S_0_1_0" metaid="_79d5cbdd_b6b9_48a9_8b68_3683dea7cfd3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_1_0" metaid="ebbfe38f_2fd3_4a0a_a211_1f75c0ff1e98"/>
+        </listOfProducts>
+        <kineticLaw metaid="_40aee6d4_3c33_498e_8691_4d36a6fcd8d1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_55cddeb5_9678_41eb_b44f_74781df38e50" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction272" name="dissociation of RAF_RAFK" metaid="_822814" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822814">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_1_0" metaid="b3dc97f2_e778_456d_9049_fb2397ec64e3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_07966aba_6885_45ba_a3ce_2067efdaf5f3"/>
+          <speciesReference species="S_0_1_0" metaid="_8aca193b_0800_4860_b836_c37dc7f0320c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4018e81f_6174_488a_bd36_98e6890f59f8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_007e9cd6_a0e3_4f55_b6e4_088ac0bc0801" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction273" name="phosphorylation of RAF on scaffold" metaid="_822884" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822884">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_1_0" metaid="_28d6f2c7_4b95_4a2f_a6d5_d5cfa6d295a0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="ff8a80ec_7238_47b8_ae3c_76dc816bb55b"/>
+          <speciesReference species="S_0_1_1" metaid="c9a8a00d_209f_4f77_aad4_ea9f7be36af7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_710f7d10_1580_4c19_bdce_f25057b2d6fb">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="f7a12826_3cf9_4359_a15b_3bea743057eb" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction274" name="binding of RAF and RAFK" metaid="_822954" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822954">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_3de6c807_2176_45d1_980e_85a53dc3670d"/>
+          <speciesReference species="S_0_2_0" metaid="_5ecb5dea_dec5_420d_976b_83de6eb1120f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_2_0" metaid="_57781d12_f985_4322_a1df_970f27beefbd"/>
+        </listOfProducts>
+        <kineticLaw metaid="_262df1dd_ab84_4d9f_bb08_a42c0374acf7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_5230eaf2_badb_450f_8e0e_3d13bb2e0f38" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction275" name="dissociation of RAF_RAFK" metaid="_823024" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823024">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_2_0" metaid="a233ee9a_8953_4105_b2fd_9fac9043fbdb"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_159780c2_dc4b_4444_97ee_589b9c807dce"/>
+          <speciesReference species="S_0_2_0" metaid="_59e1af75_acef_4cbf_8541_201e7d974538"/>
+        </listOfProducts>
+        <kineticLaw metaid="_80e39cba_1574_46df_8fe6_2c8ea9a8aacd">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_953a4c1d_82e5_47a9_8332_19ba2d89e3f1" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction276" name="phosphorylation of RAF on scaffold" metaid="_823094" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823094">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_2_0" metaid="_9e415cc6_7ace_4bc0_9e72_91cc55d6579f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_918e473d_2990_41b2_b799_c498b968cd37"/>
+          <speciesReference species="S_0_2_1" metaid="_7dac58a6_356a_42aa_a156_354fd4b7660e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_74c32523_202e_40c4_a12f_436ac06780f7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_98d224a1_58fa_4775_8501_eb7bd5f5dca1" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction277" name="binding of RAF and RAFK" metaid="_823164" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823164">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="a042f45b_3b90_48fe_829c_694507d127ca"/>
+          <speciesReference species="S_1_m1_0" metaid="ac55f8ac_8a73_4bce_8e40_86fb2055de94"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_m1_0" metaid="_4e86db37_2f13_4580_9d4c_e0d8b7ef9936"/>
+        </listOfProducts>
+        <kineticLaw metaid="ae1dee61_56b9_4640_aea5_96b8114f4ce6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_79b40cbc_96f2_48af_8c4a_10de66bb4a1d" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction278" name="dissociation of RAF_RAFK" metaid="_823234" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823234">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_m1_0" metaid="bbedb374_7428_4b35_add6_16a3e816c540"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="bc2f08da_6251_4f85_a77d_be4404c8840e"/>
+          <speciesReference species="S_1_m1_0" metaid="fc2f3e1f_178b_4906_9153_215906e9f7e8"/>
+        </listOfProducts>
+        <kineticLaw metaid="ee3f284d_6f2f_439b_89cd_d3558a9d2ad2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="b954c738_ade1_4f60_9642_a2e4b072579f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction279" name="phosphorylation of RAF on scaffold" metaid="_823304" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823304">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_m1_0" metaid="c3fc9ed1_fa34_417c_9b38_e264bd368a7a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_6a79cb36_af92_4c07_b553_0de42b5b0831"/>
+          <speciesReference species="S_1_m1_1" metaid="c9592ff3_d5e2_4428_8756_b2d9969e8d46"/>
+        </listOfProducts>
+        <kineticLaw metaid="d9e53214_2866_4224_bf1d_b4759cf77199">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="cab9db93_badc_4d14_83a3_6febfb231e4b" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction280" name="binding of RAF and RAFK" metaid="_823374" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823374">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_52f60aba_7da3_4cf3_ac64_4c5c57be85c5"/>
+          <speciesReference species="S_1_0_0" metaid="_0f1ab31f_6642_4e41_89f0_b7f772810094"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_0_0" metaid="_54f7c02d_4138_4da5_b8c8_161945ec7673"/>
+        </listOfProducts>
+        <kineticLaw metaid="c4fb58eb_a4ec_43e6_bd57_546ad1f06922">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="bb6b5d2b_a7da_453c_af6c_aa17d93d20cf" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction281" name="dissociation of RAF_RAFK" metaid="_823444" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823444">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_0_0" metaid="e622ea25_d03c_4a29_9c07_1d11b71ab337"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_75ff4f68_a973_4bba_ba7e_a83a3d602c3f"/>
+          <speciesReference species="S_1_0_0" metaid="_126315d4_ceab_4a1b_bfce_0c446f97f22e"/>
+        </listOfProducts>
+        <kineticLaw metaid="dda1f23c_2a0e_4a28_9f96_78801bb0a282">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_59529a63_55fc_4328_b4da_3b461e6559bb" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction282" name="phosphorylation of RAF on scaffold" metaid="_823514" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823514">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_0_0" metaid="_283870b2_51e7_4912_a180_0f99724b9e72"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_6fe9719b_dfb5_4067_9662_03a116879f4c"/>
+          <speciesReference species="S_1_0_1" metaid="_21380910_754e_468c_9ebd_f06a7faf694a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6aae564a_b8eb_4c03_8fb5_426c28677f26">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_02f50748_ba80_43af_974e_92c77c1d69d8" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction283" name="binding of RAF and RAFK" metaid="_823584" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823584">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="fbd84292_73c4_4c2d_8e23_79227509e4db"/>
+          <speciesReference species="S_1_1_0" metaid="_06213661_589b_430a_b717_13b25dfeb1ad"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_1_0" metaid="_5ad9d891_41c3_4a67_b1f4_0ba0449b7442"/>
+        </listOfProducts>
+        <kineticLaw metaid="_97a4d1d1_ac4c_4a02_8fc8_d9191348ddd7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_6c53983f_6885_4755_8a93_8448bd8f48b6" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction284" name="dissociation of RAF_RAFK" metaid="_823654" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823654">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_1_0" metaid="_2f5cda82_ec93_41d2_8457_d908ead71175"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_0912daa2_2f8d_4600_8590_78e31d7ca6e3"/>
+          <speciesReference species="S_1_1_0" metaid="c1f08ff8_4206_44d4_b97f_8980aa8e732a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_27c06793_8888_4939_b0c4_545787616db4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_3dca561e_fabd_4b8f_a87f_2695730c7dad" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction285" name="phosphorylation of RAF on scaffold" metaid="_823724" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823724">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_1_0" metaid="_7c63d7d9_7e6a_441d_92a2_8fc920531b90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="b1fdb550_19c8_4faa_a4f6_9118a60178bd"/>
+          <speciesReference species="S_1_1_1" metaid="_16852a75_911b_4a8d_b424_996be48550a2"/>
+        </listOfProducts>
+        <kineticLaw metaid="dbe0a057_4ead_4474_97ba_8fcdf20e746c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_07483a6a_0363_4652_b5c9_ba6064130fdd" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction286" name="binding of RAF and RAFK" metaid="_823794" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823794">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_05d597ea_da10_49e5_ab42_0be2f56d69d7"/>
+          <speciesReference species="S_1_2_0" metaid="ddb2f875_a499_41bb_98fa_99434b265ff6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_2_0" metaid="_40dca9f8_7c5c_422f_9e65_189c1e5b9828"/>
+        </listOfProducts>
+        <kineticLaw metaid="e1aa39d2_b08f_4e32_9587_55b04f855051">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="bc23dbd8_3d6a_4649_9b85_faba3ac688c3" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction287" name="dissociation of RAF_RAFK" metaid="_823864" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823864">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_2_0" metaid="_489bac19_da8b_4a62_941c_e558fb567d8c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_98f33489_086b_4ab8_b754_0576d15c6655"/>
+          <speciesReference species="S_1_2_0" metaid="_6b22c02e_54bb_4628_a307_54858a5144ee"/>
+        </listOfProducts>
+        <kineticLaw metaid="a9ef0f6c_fd27_4e37_b6f5_9d9748a8fcf4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_6b8e22aa_005e_4744_bf60_c7252de5de95" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction288" name="phosphorylation of RAF on scaffold" metaid="_823934" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823934">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_2_0" metaid="_7d86f924_aefa_43d1_b36e_e019df340226"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_8e525dd9_63ad_4921_86a8_35f8adf48400"/>
+          <speciesReference species="S_1_2_1" metaid="_4825d37f_e463_45ec_b22f_ccfacd8c377e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_70b82074_2358_48ee_9111_f6b1b60ff17e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="cbdce37a_2952_4f52_8184_393ae062877f" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction289" name="binding of RAF and RAFK" metaid="_824004" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824004">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_92a028b0_3ba2_4cca_8015_400ef8d251c9"/>
+          <speciesReference species="S_2_m1_0" metaid="_6137cfc4_e652_485a_b2fc_ca78baf7c91a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_m1_0" metaid="ec8c8621_3037_4f34_a8ea_7c339c9d578b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1da3c439_dcd2_46e7_b1c0_2dfd425a246b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_0a7be3c6_271f_487d_8b46_986e293d09c1" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction290" name="dissociation of RAF_RAFK" metaid="_824074" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824074">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_m1_0" metaid="_09da51b0_f0e8_425a_be7a_0953f0641947"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_251b6dde_f8ac_45ff_8328_457365ff9748"/>
+          <speciesReference species="S_2_m1_0" metaid="_9417f559_46c3_40f7_8fc7_d0bf8dcae925"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3af22062_1108_4755_bdac_15d87f535d57">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="f4d362f8_dc40_486b_87b4_0784582cdf4d" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction291" name="phosphorylation of RAF on scaffold" metaid="_824144" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824144">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_m1_0" metaid="_62b3fcdc_034d_4674_8dda_58ac85e6b1b8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_836a3b64_60fe_4d24_bf45_e5a1d9105c93"/>
+          <speciesReference species="S_2_m1_1" metaid="d5680dde_1228_44ed_b809_9140bdc65e62"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5eb5459c_84ac_49eb_b807_67fb63b3fd6c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_990ce321_868c_41ed_9a62_33b757ea3d5a" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction292" name="binding of RAF and RAFK" metaid="_824218" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824218">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_5fa45056_19f3_4d47_8209_6368210c764b"/>
+          <speciesReference species="S_2_0_0" metaid="_9b44d5b7_f027_425f_bd09_9ac5eafa8bcd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_0_0" metaid="_8a78608d_1897_4aa4_996c_bd0f08bb3ee7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4dadba7d_7488_4f96_95ab_067b3ea7ce8a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_28b78a0b_4651_483e_874e_097de57bd1a9" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction293" name="dissociation of RAF_RAFK" metaid="_824284" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824284">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_0_0" metaid="_73eaff4d_adc0_4c2b_8f1c_06a8dd20e4eb"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_4fd5263b_bf25_4fa8_b4a9_afeeef883941"/>
+          <speciesReference species="S_2_0_0" metaid="bfa62de2_50d8_4b23_932b_7a45fc9d3e73"/>
+        </listOfProducts>
+        <kineticLaw metaid="ab9fd5c3_af48_4c37_a6af_8ef2c5ac04ab">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_9b7300a2_5465_4566_a9a5_4407848bedf7" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction294" name="phosphorylation of RAF on scaffold" metaid="_824354" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824354">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_0_0" metaid="_0bfb90ce_ea00_4853_947c_6b22d7d80125"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_22fe2623_1dd8_4f50_a205_a7f42b6ad3d8"/>
+          <speciesReference species="S_2_0_1" metaid="beee9f19_eb1b_4731_ae7f_9fcc41af2594"/>
+        </listOfProducts>
+        <kineticLaw metaid="aeaf7383_b514_43e7_95cb_84cc6894b449">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="ce9b676c_ecc7_4b8b_9a16_6d6a5fc967e3" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction295" name="binding of RAF and RAFK" metaid="_824424" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824424">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_9df2f012_0759_4ddc_b978_7c61e63f145d"/>
+          <speciesReference species="S_2_1_0" metaid="_5a9ed71c_1456_45e4_998f_330696b669a9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_1_0" metaid="_38d697d9_548c_4376_8686_333e6b19bc0d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_00b71cb8_1caa_4ed8_ae55_3acb25bfdafc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="bd6df03b_8af9_42ca_9e73_8fed8e1dc4ce" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction296" name="dissociation of RAF_RAFK" metaid="_824496" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824496">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_1_0" metaid="_988d6bcf_513c_4ba8_ac44_e80fa63939d1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_4dbda538_85a1_4135_9853_667275ae6c7d"/>
+          <speciesReference species="S_2_1_0" metaid="_6e044f33_0aa6_4355_a035_bff15b48b05c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_12767a8a_28d9_4b19_80e3_8925317c0c58">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_320f1d40_d4e4_4d17_9139_fbd86c13f396" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction297" name="phosphorylation of RAF on scaffold" metaid="_824564" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824564">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_1_0" metaid="_1bb44634_790e_4662_abb3_697a3a01e5e0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="cf7260c7_c650_4930_83eb_3122e01e971e"/>
+          <speciesReference species="S_2_1_1" metaid="_9f1b9bbf_b65e_44dd_b8ed_d6dfd976fa6c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3cd1d828_ffaa_4b9f_9291_7c49d65ffa33">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="a1ed100b_145f_449d_ae8a_0d3171259f9e" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction298" name="binding of RAF and RAFK" metaid="_824634" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824634">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_3da08a9f_eb7d_4842_a3ad_6a4893409648"/>
+          <speciesReference species="S_2_2_0" metaid="_7f6d4ece_0f69_4062_9cac_9f348f5892be"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_2_0" metaid="_80f57270_8c93_475a_849d_747c9d191039"/>
+        </listOfProducts>
+        <kineticLaw metaid="e736339a_1856_404a_be42_126fe8a12cc5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_3f5d3966_f5c0_4638_8639_d296fa7a6575" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction299" name="dissociation of RAF_RAFK" metaid="_824704" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824704">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_2_0" metaid="dd4f8ae3_fd74_47f1_aeb2_aaf0be10a1c7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_9494071d_c810_4c32_8da2_e75cad8ae6b1"/>
+          <speciesReference species="S_2_2_0" metaid="_8fa95dc6_be8b_4f6b_ab4b_16645f99afac"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2f48adf5_140a_452e_93eb_ede0b3a3c05c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="ce139a44_b5c8_45be_8f98_18317c81b3f3" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction300" name="phosphorylation of RAF on scaffold" metaid="_824774" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824774">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_2_0" metaid="c2b747b2_1141_4d4a_915c_d9ff7416e893"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_95c149e2_0f74_4e46_907e_c1a200fead60"/>
+          <speciesReference species="S_2_2_1" metaid="dc394c10_9fca_40ff_8355_c71488d38415"/>
+        </listOfProducts>
+        <kineticLaw metaid="_16cde5a7_77b2_4e69_89a8_81218b777436">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_379ff860_419c_48e8_a019_9911a309026a" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/data/sosbench/00014/00014-settings.txt b/data/sosbench/00014/00014-settings.txt
new file mode 100644
index 0000000..60b81ec
--- /dev/null
+++ b/data/sosbench/00014/00014-settings.txt
@@ -0,0 +1,14 @@
+start: 0
+duration: 300
+steps: 300
+variables: MAPKP, MEKP, RAFK, RAFP, K_1_0, K_1_1, K_1_2, K_2_0, K_2_1, K_2_2, K_3_0, K_3_1, K_K_1_0_2_2, K_K_1_1_2_2, K_K_2_0_3_1, K_K_2_1_3_1, K_MAPKP_1_1, K_MAPKP_1_2, K_MEKP_2_1, K_MEKP_2_2, K_RAFK_3_0, K_RAFP_3_1, S_m1_m1_m1, S_m1_m1_0, S_m1_m1_1, S_m1_0_m1, S_m1_0_0, S_m1_0_1, S_m1_1_m1, S_m1_1_0, S_m1_1_1, S_m1_2_m1, S_m1_2_0, S_m1_2_1, S_0_m1_m1, S_0_m1_0, S_0_m1_1, S_0_0_m1, S_0_0_0, S_0_0_1, S_0_1_m1, S_0_1_0, S_0_1_1, S_0_2_m1, S_0_2_0, S_0_2_1, S_1_m1_m1, S_1_m1_0, S_1_m1_1, S [...]
+absolute: 1.0e-4
+relative: 1.0e-9
+amount: 
+concentration: MAPKP, MEKP, RAFK, RAFP, K_1_0, K_1_1, K_1_2, K_2_0, K_2_1, K_2_2, K_3_0, K_3_1, K_K_1_0_2_2, K_K_1_1_2_2, K_K_2_0_3_1, K_K_2_1_3_1, K_MAPKP_1_1, K_MAPKP_1_2, K_MEKP_2_1, K_MEKP_2_2, K_RAFK_3_0, K_RAFP_3_1, S_m1_m1_m1, S_m1_m1_0, S_m1_m1_1, S_m1_0_m1, S_m1_0_0, S_m1_0_1, S_m1_1_m1, S_m1_1_0, S_m1_1_1, S_m1_2_m1, S_m1_2_0, S_m1_2_1, S_0_m1_m1, S_0_m1_0, S_0_m1_1, S_0_0_m1, S_0_0_0, S_0_0_1, S_0_1_m1, S_0_1_0, S_0_1_1, S_0_2_m1, S_0_2_0, S_0_2_1, S_1_m1_m1, S_1_m1_0, S_1_m1_ [...]
+
+
+
+
+
+
diff --git a/data/sosbench/00022/00022-sbml-l2v1.xml b/data/sosbench/00022/00022-sbml-l2v1.xml
new file mode 100644
index 0000000..28d6d9d
--- /dev/null
+++ b/data/sosbench/00022/00022-sbml-l2v1.xml
@@ -0,0 +1,1702 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+
+<!-- This model was downloaded from BioModels Database -->
+<!-- Tue Apr 22 06:21:16 BST 2014                      -->
+<!-- http://www.ebi.ac.uk/biomodels/                   -->
+
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" metaid="metaid_000001" version="1">
+  <model id="Ueda2001_CircClock" name="Ueda2001_CircClock" metaid="metaid_0000002">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>Bruce Shapiro: Generated by Cellerator Version 1.0 update 3.0303 using Mathematica 4.1 for Microsoft Windows (June 13, 2001), April 2, 2003 16:49:13, using (PC,x86, Microsoft Windows,WindowsNT,Windows)</p>
+            <p>Bruce Shapiro: Corrected 29 March 2005</p>
+            <p>Nicolas Le Novère: Added Dbt and Cyc species, and the corresponding reactions. 23 April 2005</p>
+            <br/>
+            <p>To the extent possible under law, all copyright and related or neighbouring rights to this encoded model have been dedicated to the public domain worldwide. Please refer to      <a href="http://creativecommons.org/publicdomain/zero/1.0/" title="Creative Commons CC0">CC0 Public Domain Dedication</a>
+          for more information.      </p>
+            <p>In summary, you are entitled to use this encoded model in absolutely any manner you deem suitable, verbatim, or with modification, alone or embedded it in a larger context, redistribute it, commercially or not, in a restricted way or not.</p>
+            <br/>
+            <p>To cite BioModels Database, please use:      <a href="http://www.ncbi.nlm.nih.gov/pubmed/20587024" target="_blank">Li C, Donizelli M, Rodriguez N, Dharuri H, Endler L, Chelliah V, Li L, He E, Henry A, Stefan MI, Snoep JL, Hucka M, Le Novère N, Laibe C (2010) BioModels Database: An enhanced, curated and annotated resource for published quantitative kinetic models. BMC Syst Biol., 4:92.</a>
+                </p>
+            </body>
+      
+    </notes>
+    <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000002">
+	<dc:creator>
+	<rdf:Bag>
+	<rdf:li rdf:parseType="Resource">
+	<vCard:N rdf:parseType="Resource">
+	<vCard:Family>Le Novère</vCard:Family>
+	<vCard:Given>Nicolas</vCard:Given>
+	</vCard:N>
+	<vCard:EMAIL>lenov at ebi.ac.uk</vCard:EMAIL>
+	<vCard:ORG rdf:parseType="Resource">
+	<vCard:Orgname>EMBL-EBI</vCard:Orgname>
+	</vCard:ORG>
+	</rdf:li>
+	<rdf:li rdf:parseType="Resource">
+	<vCard:N rdf:parseType="Resource">
+	<vCard:Family>Shapiro</vCard:Family>
+	<vCard:Given>Bruce</vCard:Given>
+	</vCard:N>
+	<vCard:EMAIL>bshapiro at jpl.nasa.gov</vCard:EMAIL>
+	<vCard:ORG rdf:parseType="Resource">
+	<vCard:Orgname>NASA Jet Propulsion Laboratory</vCard:Orgname>
+	</vCard:ORG>
+	</rdf:li>
+	</rdf:Bag>
+	</dc:creator>
+	<dcterms:created rdf:parseType="Resource">
+	<dcterms:W3CDTF>2005-09-21T17:16:35Z</dcterms:W3CDTF>
+	</dcterms:created>
+	<dcterms:modified rdf:parseType="Resource">
+	<dcterms:W3CDTF>2014-03-26T16:51:09Z</dcterms:W3CDTF>
+	</dcterms:modified>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/MODEL6617909980"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000022"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:isDescribedBy>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/pubmed/11403560"/>
+	</rdf:Bag>
+	</bqmodel:isDescribedBy>
+	<bqmodel:isDerivedFrom>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/pubmed/10531060"/>
+	</rdf:Bag>
+	</bqmodel:isDerivedFrom>
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/kegg.pathway/dme04710"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0007623"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	<bqbiol:hasTaxon>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/taxonomy/7227"/>
+	</rdf:Bag>
+	</bqbiol:hasTaxon>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+      <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="nanomole (default)" metaid="metaid_0000052">
+        <listOfUnits>
+          <unit scale="-9" metaid="_930858" kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="hour (default)" metaid="metaid_0000053">
+        <listOfUnits>
+          <unit metaid="_930873" multiplier="3600" kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Drosophilia" metaid="metaid_0000003" size="1"/>
+      <compartment id="compartment_0000003" name="cytoplasm" metaid="metaid_0000055" size="1">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000055">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005737"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </compartment>
+      <compartment id="compartment_0000002" name="nucleus" metaid="metaid_0000054" outside="compartment_0000003" size="1">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000054">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005634"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="EmptySet" initialAmount="0" metaid="metaid_0000004" boundaryCondition="true" compartment="Drosophilia"/>
+      <species id="CCc" initialAmount="0.3" name="Clk-Cyc_cyt" metaid="metaid_0000005" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000005">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61735"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61734"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="CCn" initialAmount="0.4" name="Clk-Cyc_nuc" metaid="metaid_0000006" compartment="compartment_0000002">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000006">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61734"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61735"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Clkc" initialAmount="0.2" name="Clk_cyt" metaid="metaid_0000007" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000007">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61735"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Clkm" initialAmount="0.1" name="Clk_mRNA" metaid="metaid_0000008" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000008">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/chebi/CHEBI:33699"/>
+	<rdf:li rdf:resource="http://identifiers.org/kegg.compound/C00046"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Perc" initialAmount="0.6" name="Per_cyt" metaid="metaid_0000009" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000009">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07663"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Perm" initialAmount="0.5" name="Per_mRNA" metaid="metaid_0000010" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000010">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/chebi/CHEBI:33699"/>
+	<rdf:li rdf:resource="http://identifiers.org/kegg.compound/C00046"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PTc" initialAmount="0.9" name="Per-Tim_cyt" metaid="metaid_0000011" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000011">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07663"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P49021"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PTn" initialAmount="1" name="Per-Tim_nuc" metaid="metaid_0000012" compartment="compartment_0000002">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000012">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07663"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P49021"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Timc" initialAmount="0.8" name="Tim_cyt" metaid="metaid_0000013" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000013">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P49021"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Timm" initialAmount="0.7" name="Tim_mRNA" metaid="metaid_0000014" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000014">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/chebi/CHEBI:33699"/>
+	<rdf:li rdf:resource="http://identifiers.org/kegg.compound/C00046"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="species_0000012" constant="true" initialAmount="1" name="Cyc_cyt" metaid="metaid_0000056" boundaryCondition="true" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000056">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61734"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="species_0000013" constant="true" initialAmount="1" name="Dbt_cyt" metaid="metaid_0000057" boundaryCondition="true" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000057">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O76324"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="Reaction1" name="Per transcription" metaid="metaid_0000015" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000015">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006355"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0009299"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_930886"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Perm" metaid="_930898"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="CCn" metaid="_930911"/>
+          <modifierSpeciesReference species="PTn" metaid="_930923"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_930935">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <plus/>
+                <ci> c1 </ci>
+                <apply>
+                  <divide/>
+                  <apply>
+                    <times/>
+                    <apply>
+                      <plus/>
+                      <ci> B1 </ci>
+                      <apply>
+                        <power/>
+                        <apply>
+                          <divide/>
+                          <ci> CCn </ci>
+                          <ci> A1 </ci>
+                        </apply>
+                        <ci> a </ci>
+                      </apply>
+                    </apply>
+                    <ci> s1 </ci>
+                  </apply>
+                  <apply>
+                    <plus/>
+                    <cn type="integer"> 1 </cn>
+                    <ci> B1 </ci>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> CCn </ci>
+                        <ci> A1 </ci>
+                      </apply>
+                      <ci> a </ci>
+                    </apply>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> PTn </ci>
+                        <ci> r1 </ci>
+                      </apply>
+                      <ci> r </ci>
+                    </apply>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a" metaid="_923615" value="1"/>
+            <parameter id="A1" metaid="_923617" value="0.45"/>
+            <parameter id="B1" metaid="_923619" value="0"/>
+            <parameter id="c1" name="C1" metaid="_923621" value="0"/>
+            <parameter id="r1" name="R1" metaid="_923623" value="1.02"/>
+            <parameter id="s1" name="S1" metaid="_923625" value="1.45"/>
+            <parameter id="r" metaid="_923627" value="4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction2" name="non-specific Per mRNA degradation" metaid="metaid_0000016" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000016">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Perm" metaid="_930948"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_930961"/>
+        </listOfProducts>
+        <kineticLaw metaid="_930973">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> D0 </ci>
+              <ci> Perm </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923629" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction3" name="Tim transcription" metaid="metaid_0000017" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000017">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0009299"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006355"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_930986"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Timm" metaid="_930998"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="CCn" metaid="_931010"/>
+          <modifierSpeciesReference species="PTn" metaid="_931022"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931035">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <plus/>
+                <ci> c2 </ci>
+                <apply>
+                  <divide/>
+                  <apply>
+                    <times/>
+                    <apply>
+                      <plus/>
+                      <ci> B2 </ci>
+                      <apply>
+                        <power/>
+                        <apply>
+                          <divide/>
+                          <ci> CCn </ci>
+                          <ci> A2 </ci>
+                        </apply>
+                        <ci> a </ci>
+                      </apply>
+                    </apply>
+                    <ci> s3 </ci>
+                  </apply>
+                  <apply>
+                    <plus/>
+                    <cn type="integer"> 1 </cn>
+                    <ci> B2 </ci>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> CCn </ci>
+                        <ci> A2 </ci>
+                      </apply>
+                      <ci> a </ci>
+                    </apply>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> PTn </ci>
+                        <ci> r2 </ci>
+                      </apply>
+                      <ci> r </ci>
+                    </apply>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a" metaid="_923631" value="1"/>
+            <parameter id="A2" metaid="_923633" value="0.45"/>
+            <parameter id="B2" metaid="_923635" value="0"/>
+            <parameter id="c2" name="C2" metaid="_923637" value="0"/>
+            <parameter id="r2" name="R2" metaid="_923639" value="1.02"/>
+            <parameter id="s3" name="S3" metaid="_923641" value="1.45"/>
+            <parameter id="r" metaid="_923643" value="4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction4" name="non-specific Tim mRNA degradation" metaid="metaid_0000018" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000018">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Timm" metaid="_931048"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931061"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931074">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> Drosophilia </ci>
+              <ci> D0 </ci>
+              <ci> Timm </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923645" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction5" name="Clk transcription" metaid="metaid_0000019" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000019">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0009299"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006355"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_931087"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Clkm" metaid="_931100"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="PTn" metaid="_931113"/>
+          <modifierSpeciesReference species="CCn" metaid="_931125"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931138">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <plus/>
+                <ci> c3 </ci>
+                <apply>
+                  <divide/>
+                  <apply>
+                    <times/>
+                    <apply>
+                      <plus/>
+                      <ci> B3 </ci>
+                      <apply>
+                        <power/>
+                        <apply>
+                          <divide/>
+                          <ci> PTn </ci>
+                          <ci> A3 </ci>
+                        </apply>
+                        <ci> a </ci>
+                      </apply>
+                    </apply>
+                    <ci> s5 </ci>
+                  </apply>
+                  <apply>
+                    <plus/>
+                    <cn type="integer"> 1 </cn>
+                    <ci> B3 </ci>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> PTn </ci>
+                        <ci> A3 </ci>
+                      </apply>
+                      <ci> a </ci>
+                    </apply>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> CCn </ci>
+                        <ci> r3 </ci>
+                      </apply>
+                      <ci> r </ci>
+                    </apply>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a" metaid="_923647" value="1"/>
+            <parameter id="A3" metaid="_923649" value="0.8"/>
+            <parameter id="B3" metaid="_923651" value="0.6"/>
+            <parameter id="c3" name="C3" metaid="_923653" value="0"/>
+            <parameter id="r3" name="R3" metaid="_923655" value="0.89"/>
+            <parameter id="s5" name="S5" metaid="_923657" value="1.63"/>
+            <parameter id="r" metaid="_923659" value="4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction6" name="non-specific Clk mRNA degradation" metaid="metaid_0000020" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000020">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Clkm" metaid="_931151"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931164"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931177">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> Drosophilia </ci>
+              <ci> Clkm </ci>
+              <ci> D0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923661" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction7" name="Clk-Cyc nuclear import" metaid="metaid_0000021" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000021">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006606"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCc" metaid="_931190"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="CCn" metaid="_931203"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931216">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> CCc </ci>
+                  <ci> T3 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> k3 </ci>
+                  <ci> CCc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" name="K3" metaid="_923663" value="2"/>
+            <parameter id="T3" metaid="_923665" value="1.63"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction8" name="Clk-Cyc nuclear export" metaid="metaid_0000022" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000022">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006611"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCn" metaid="_931229"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="CCc" metaid="_931242"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931255">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> CCn </ci>
+                  <ci> T4 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> k4 </ci>
+                  <ci> CCn </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k4" metaid="_923667" value="2"/>
+            <parameter id="T4" metaid="_923669" value="0.52"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction9" name="Per-Tim nuclear export" metaid="metaid_0000023" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000023">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006611"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTn" metaid="_931268"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PTc" metaid="_931281"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931294">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> PTn </ci>
+                  <ci> T2 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> k2 </ci>
+                  <ci> PTn </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k2" name="K2" metaid="_923671" value="2"/>
+            <parameter id="T2" metaid="_923673" value="0.72"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction10" name="Per-Tim nuclear import" metaid="metaid_0000024" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000024">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006606"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTc" metaid="_931307"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PTn" metaid="_931320"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931334">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> PTc </ci>
+                  <ci> T1 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> k1 </ci>
+                  <ci> PTc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" name="K1" metaid="_923675" value="2"/>
+            <parameter id="T1" metaid="_923677" value="1.73"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction11" name="Clk Cyc equilibrium" metaid="metaid_0000025">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000025">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006461"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="species_0000012" metaid="_931347"/>
+          <speciesReference species="Clkc" metaid="_931360"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="CCc" metaid="_931373"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931386">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> Clkc </ci>
+                  <ci> v3 </ci>
+                  <ci> species_0000012 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> parameter_0000073 </ci>
+                  <ci> CCc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="v3" name="V3" metaid="_923679" value="1.63"/>
+            <parameter id="parameter_0000073" name="V4" metaid="_923681" value="1.63"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction12" name="Per Tim equilibrium" metaid="metaid_0000026">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000026">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006461"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Perc" metaid="_931399"/>
+          <speciesReference species="Timc" metaid="_931412"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PTc" metaid="_931425"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931438">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> Perc </ci>
+                  <ci> Timc </ci>
+                  <ci> v1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> parameter_0000072 </ci>
+                  <ci> PTc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="v1" name="V1" metaid="_923683" value="1.45"/>
+            <parameter id="parameter_0000072" name="V2" metaid="_923685" value="1.45"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction16" name="Tim translation" metaid="metaid_0000030" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000030">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006412"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_931451"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Timc" metaid="_931464"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Timm" metaid="_931477"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931490">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> s4 </ci>
+              <ci> Timm </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="s4" name="S4" metaid="_923687" value="0.48"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction18" name="Clk translation" metaid="metaid_0000032" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000032">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006412"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_931502"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Clkc" metaid="_931514"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Clkm" metaid="_931526"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931538">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> Clkm </ci>
+              <ci> s6 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="s6" name="S6" metaid="_923689" value="0.47"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction19" name="Per translation" metaid="metaid_0000033" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000033">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006412"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_931550"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Perc" metaid="_931562"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Perm" metaid="_931574"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931586">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> s2 </ci>
+              <ci> Perm </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="s2" name="S2" metaid="_923691" value="0.48"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction20" name="non-specific Per_cyt degradation" metaid="metaid_0000034" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000034">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Perc" metaid="_931598"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931610"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931622">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> Drosophilia </ci>
+              <ci> D0 </ci>
+              <ci> Perc </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923693" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction21" name="non-specific Per-Tim_cyt degradation" metaid="metaid_0000035" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000035">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTc" metaid="_931634"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931646"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931658">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> D0 </ci>
+              <ci> PTc </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923695" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction23" name="non-specific Per-Tim_nuc degradation" metaid="metaid_0000037" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000037">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTn" metaid="_931670"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931682"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931694">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <ci> D0 </ci>
+              <ci> PTn </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923697" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction24" name="non-specific Clk-Cyc_cyt degradation" metaid="metaid_0000038" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000038">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCc" metaid="_931706"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931718"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931730">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> CCc </ci>
+              <ci> D0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923699" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction25" name="non-specific Clk_cyt degradation" metaid="metaid_0000039" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000039">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Clkc" metaid="_931742"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931754"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931766">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> Clkc </ci>
+              <ci> D0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923701" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction26" name="non-specific Clk-Cyc_nuc degradation" metaid="metaid_0000040" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000040">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCn" metaid="_931778"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931790"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931802">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <ci> CCn </ci>
+              <ci> D0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923703" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction27" name="non-specific Tim_cyt degradation" metaid="metaid_0000041" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000041">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Timc" metaid="_931814"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931826"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931838">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> D0 </ci>
+              <ci> Timc </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923705" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction28" name="Per mRNA degradation" metaid="metaid_0000042" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000042">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Perm" metaid="_931850"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931862"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931874">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D1 </ci>
+                  <ci> Perm </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L1 </ci>
+                  <ci> Perm </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D1" metaid="_923707" value="0.94"/>
+            <parameter id="L1" metaid="_923709" value="0.3"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction29" name="Dbt regulated Per_cyt degradation" metaid="metaid_0000043" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000043">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Perc" metaid="_931886"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931898"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="species_0000013" metaid="_931910"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931922">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D2 </ci>
+                  <ci> species_0000013 </ci>
+                  <ci> Perc </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L2 </ci>
+                  <ci> Perc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D2" metaid="_923712" value="0.44"/>
+            <parameter id="L2" metaid="_923714" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction30" name="Tim mRNA degradation" metaid="metaid_0000044" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000044">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Timm" metaid="_931934"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931946"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931958">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D3 </ci>
+                  <ci> Timm </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L3 </ci>
+                  <ci> Timm </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D3" metaid="_923716" value="0.94"/>
+            <parameter id="L3" metaid="_923718" value="0.3"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction31" name="Tim_cyt degradation" metaid="metaid_0000045" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000045">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Timc" metaid="_931970"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931982"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931994">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D4 </ci>
+                  <ci> Timc </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L4 </ci>
+                  <ci> Timc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D4" metaid="_923720" value="0.44"/>
+            <parameter id="L4" metaid="_923722" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction32" name="Per-Tim_cyt degradation" metaid="metaid_0000046" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000046">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTc" metaid="_932006"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932018"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932030">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D5 </ci>
+                  <ci> PTc </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L5 </ci>
+                  <ci> PTc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D5" metaid="_923724" value="0.44"/>
+            <parameter id="L5" metaid="_923726" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction33" name="Per-Tim_nuc degradation" metaid="metaid_0000047" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000047">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTn" metaid="_932042"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932054"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932066">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D6 </ci>
+                  <ci> PTn </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L6 </ci>
+                  <ci> PTn </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D6" metaid="_923728" value="0.29"/>
+            <parameter id="L6" metaid="_923730" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction34" name="Clk mRNA degradation" metaid="metaid_0000048" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000048">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Clkm" metaid="_932078"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932090"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932102">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> Clkm </ci>
+                  <ci> D7 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Clkm </ci>
+                  <ci> L7 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D7" metaid="_923732" value="0.54"/>
+            <parameter id="L7" metaid="_923734" value="0.13"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction35" name="Clk_cyt degradation" metaid="metaid_0000049" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000049">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Clkc" metaid="_932114"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932126"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932138">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> Clkc </ci>
+                  <ci> D8 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Clkc </ci>
+                  <ci> L8 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D8" metaid="_923736" value="0.6"/>
+            <parameter id="L8" metaid="_923738" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction36" name="Clk-Cyc_cyt degradation" metaid="metaid_0000050" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000050">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCc" metaid="_932150"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932162"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932174">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> CCc </ci>
+                  <ci> D9 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> CCc </ci>
+                  <ci> L9 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D9" metaid="_923740" value="0.6"/>
+            <parameter id="L9" metaid="_923742" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction37" metaid="metaid_0000051" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000051">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCn" metaid="_932186"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932198"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932210">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> CCn </ci>
+                  <ci> D10 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> CCn </ci>
+                  <ci> L10 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D10" metaid="_923744" value="0.3"/>
+            <parameter id="L10" metaid="_923746" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/data/sosbench/00022/00022-settings.txt b/data/sosbench/00022/00022-settings.txt
new file mode 100644
index 0000000..3806020
--- /dev/null
+++ b/data/sosbench/00022/00022-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 2000
+steps: 2000
+variables:  CCc, CCn, Clkc, Clkm, Perc, Perm, PTc, PTn, Timc, Timm
+absolute: 1.0e-4
+relative: 1.0e-9
+amount: 
+concentration: CCc, CCn, Clkc, Clkm, Perc, Perm, PTc, PTn, Timc, Timm
+
diff --git a/data/sosbench/00033/00033-sbml-l2v1.xml b/data/sosbench/00033/00033-sbml-l2v1.xml
new file mode 100644
index 0000000..4e5a258
--- /dev/null
+++ b/data/sosbench/00033/00033-sbml-l2v1.xml
@@ -0,0 +1,1744 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+
+<!-- This model was downloaded from BioModels Database -->
+<!-- Tue Apr 22 06:53:14 BST 2014                      -->
+<!-- http://www.ebi.ac.uk/biomodels/                   -->
+
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" metaid="metaid_0000001" version="1">
+  <model id="Brown2004_NGF_EGF_signaling" name="Brown2004_NGF_EGF_signaling" metaid="metaid_0000002">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>Contact Ryan Gutenkunst (rng7 at cornell.edu) for any questions on the SBMLization or annotation of this model.</p>
+            <p>KS Brown KS and JP Sethna      <br/>
+          "Statistical mechanical approaches to models with many poorly known parameters."      <br/>
+          Physical Review E 68:021904 (2003)      <br/>
+          PMID: 14525003      </p>
+            <p>KS Brown, CC Hill, GA Calero, CR Myers, KH Lee, JP Sethna, and RA Cerione      <br/>
+          "The statistical mechanics of complex signaling networks: 
+        nerve growth factor signaling"      <br/>
+          Physical Biology 1:184-195 (2004)      <br/>
+          PMID: not yet indexed      </p>
+            <h3>Notes:</h3>
+            <p>The figures in the paper show results from computations performed over an ensemble of all parameter sets that fit the avaiable data. This file contains only the best fit parameters. The full ensemble of parameters is available at http://www.lassp.cornell.edu/sethna/GeneDynamics/PC12DataFiles/ (Also, the best-fit parameter set produces a curve for DN Rap1 that is less "peakish" than the ensemble average.)</p>
+            <p>The conversion factors for EGF and NGF concentrations account for their molecular weights and the density of cells in the culture dish. These concentrations are saturating, so the exact values are not critical.</p>
+            <p>Because the Erk data fit to measure only fold changes in activity, there is no absolute scale for the y-axes. Thus the curves from this file have different magnitudes than those published.</p>
+            <p>To reproduce the figures from the paper:      <br/>
+          2a) For EGF stimulation, set the initial concentration of EGF to 100 ng/ml * 100020 (molecule/cell)/(ng/ml) = 10002000.      <br/>
+          For NGF stimulation, set the initial concentration of NGF to 50 ng/ml * 4560 (molecule/cell)/(ng/ml) = 456000      <br/>
+          5a) To simulate LY294002 addition, set kPI3KRas and kPI3K to 0.      <br/>
+          5b) To simulate a dominant negative Rap1, set kRap1ToBRaf to 0.      <br/>
+          To simulate a dominant negative Ras, set kRasToRaf1 and kPI3KRas to 0.      <br/>
+                </p>
+            <p>Almost all the data fit with this model by the authors are from Western blots. Given 
+the uncertainties in antibody effectiveness and other factors, one can't 
+a priori derive a conversion between the arbitrary units for a given set 
+of data and molecules per cell. So the authors used an adjustable 
+"scale factor" that converts between molecules per cell and Western blot 
+units.</p>
+            <p>For the EGF stimulation data in figure 2a) the scale factor conversion 
+is 1.414e-05 (U/mg)/(molecule/cell).
+For the NGF stimulation data in figure 2a) it is 7.135e-06 
+(U/mg)/(molecule/cell).</p>
+            <br/>
+            <p>To the extent possible under law, all copyright and related or neighbouring rights to this encoded model have been dedicated to the public domain worldwide. Please refer to      <a href="http://creativecommons.org/publicdomain/zero/1.0/" title="Creative Commons CC0">CC0 Public Domain Dedication</a>
+          for more information.      </p>
+            <p>In summary, you are entitled to use this encoded model in absolutely any manner you deem suitable, verbatim, or with modification, alone or embedded it in a larger context, redistribute it, commercially or not, in a restricted way or not.</p>
+            <br/>
+            <p>To cite BioModels Database, please use:      <a href="http://www.ncbi.nlm.nih.gov/pubmed/20587024" target="_blank">Li C, Donizelli M, Rodriguez N, Dharuri H, Endler L, Chelliah V, Li L, He E, Henry A, Stefan MI, Snoep JL, Hucka M, Le Novère N, Laibe C (2010) BioModels Database: An enhanced, curated and annotated resource for published quantitative kinetic models. BMC Syst Biol., 4:92.</a>
+                </p>
+            </body>
+      
+    </notes>
+    <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000002">
+	<dc:creator>
+	<rdf:Bag>
+	<rdf:li rdf:parseType="Resource">
+	<vCard:N rdf:parseType="Resource">
+	<vCard:Family>Le Novère</vCard:Family>
+	<vCard:Given>Nicolas</vCard:Given>
+	</vCard:N>
+	<vCard:EMAIL>lenov at ebi.ac.uk</vCard:EMAIL>
+	<vCard:ORG rdf:parseType="Resource">
+	<vCard:Orgname>EMBL-EBI</vCard:Orgname>
+	</vCard:ORG>
+	</rdf:li>
+	<rdf:li rdf:parseType="Resource">
+	<vCard:N rdf:parseType="Resource">
+	<vCard:Family>Gutenkunst</vCard:Family>
+	<vCard:Given>Ryan</vCard:Given>
+	</vCard:N>
+	<vCard:EMAIL>rng7 at cornell.edu</vCard:EMAIL>
+	<vCard:ORG rdf:parseType="Resource">
+	<vCard:Orgname>Cornell University</vCard:Orgname>
+	</vCard:ORG>
+	</rdf:li>
+	</rdf:Bag>
+	</dc:creator>
+	<dcterms:created rdf:parseType="Resource">
+	<dcterms:W3CDTF>2005-06-10T14:09:32Z</dcterms:W3CDTF>
+	</dcterms:created>
+	<dcterms:modified rdf:parseType="Resource">
+	<dcterms:W3CDTF>2014-04-04T13:21:52Z</dcterms:W3CDTF>
+	</dcterms:modified>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/MODEL6619514794"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000033"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:isDescribedBy>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/pubmed/14525003"/>
+	</rdf:Bag>
+	</bqmodel:isDescribedBy>
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0070371"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	<bqbiol:hasTaxon>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/taxonomy/131567"/>
+	</rdf:Bag>
+	</bqbiol:hasTaxon>
+	<bqbiol:hasProperty>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/mamo/MAMO_0000046"/>
+	</rdf:Bag>
+	</bqbiol:hasProperty>
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0048011"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0007173"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+      <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="item (default)" metaid="metaid_0000110">
+        <listOfUnits>
+          <unit metaid="_915682" kind="item"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="minute (default)" metaid="metaid_1000110">
+        <listOfUnits>
+          <unit metaid="_915694" multiplier="60" kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="cell" metaid="metaid_0000051" size="1">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000051">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005623"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="EGF" initialConcentration="10002000" metaid="metaid_0000052" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000052">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07522"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="NGF" initialConcentration="456000" metaid="metaid_0000053" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000053">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P25427"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="freeEGFReceptor" initialConcentration="80000" metaid="metaid_0000054" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000054">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QX70"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="boundEGFReceptor" initialConcentration="0" metaid="metaid_0000055" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000055">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QX70"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07522"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="freeNGFReceptor" initialConcentration="10000" metaid="metaid_0000056" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000056">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P35739"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="boundNGFReceptor" initialConcentration="0" metaid="metaid_0000057" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000057">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P35739"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P25427"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="SosInactive" initialConcentration="120000" metaid="metaid_0000058" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000058">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ensembl/ENSRNOP00000009359"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I1"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="SosActive" initialConcentration="0" metaid="metaid_0000059" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000059">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ensembl/ENSRNOP00000009359"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I1"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="P90RskInactive" initialConcentration="120000" metaid="metaid_0000060" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000060">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I2"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63531"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="P90RskActive" initialConcentration="0" metaid="metaid_0000061" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000061">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I2"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63531"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RasInactive" initialConcentration="120000" metaid="metaid_0000062" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000062">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RasActive" initialConcentration="0" metaid="metaid_0000063" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000063">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RasGapActive" initialConcentration="120000" constant="true" metaid="metaid_0000064" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000064">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P50904"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Raf1Inactive" initialConcentration="120000" metaid="metaid_0000065" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000065">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P11345"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Raf1Active" initialConcentration="0" metaid="metaid_0000066" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000066">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P11345"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="BRafInactive" initialConcentration="120000" metaid="metaid_0000067" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000067">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q99MC6"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="BRafActive" initialConcentration="0" metaid="metaid_0000068" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000068">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q99MC6"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="MekInactive" initialConcentration="600000" metaid="metaid_0000069" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000069">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q01986"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P36506"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="MekActive" initialConcentration="0" metaid="metaid_0000070" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000070">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q01986"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P36506"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="ErkInactive" initialConcentration="600000" metaid="metaid_0000071" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000071">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P21708"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P63086"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="ErkActive" initialConcentration="0" metaid="metaid_0000072" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000072">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P21708"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P63086"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PI3KInactive" initialConcentration="120000" metaid="metaid_0000073" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000073">
+              <bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR015433"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005942"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PI3KActive" initialConcentration="0" metaid="metaid_0000074" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000074">
+              <bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR015433"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005942"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="AktInactive" initialConcentration="120000" metaid="metaid_0000075" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000075">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47196"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47197"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63484"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="AktActive" initialConcentration="0" metaid="metaid_0000076" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000076">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47196"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47197"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63484"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="C3GInactive" initialConcentration="120000" metaid="metaid_0000077" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000077">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QYV3"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="C3GActive" initialConcentration="0" metaid="metaid_0000078" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000078">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QYV3"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Rap1Inactive" initialConcentration="120000" metaid="metaid_0000079" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000079">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P10113"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q62636"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Rap1Active" initialConcentration="0" metaid="metaid_0000080" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000080">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P10113"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q62636"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RapGapActive" initialConcentration="120000" constant="true" metaid="metaid_0000081" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000081">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47736"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PP2AActive" initialConcentration="120000" constant="true" metaid="metaid_0000082" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000082">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000159"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Raf1PPtase" initialConcentration="120000" constant="true" metaid="metaid_0000083" compartment="cell"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="krbEGF" metaid="metaid_0000003" value="2.18503E-5"/>
+      <parameter id="kruEGF" metaid="metaid_0000004" value="0.0121008"/>
+      <parameter id="krbNGF" metaid="metaid_0000005" value="1.38209E-7"/>
+      <parameter id="kruNGF" metaid="metaid_0000006" value="0.00723811"/>
+      <parameter id="kEGF" metaid="metaid_0000007" value="694.731"/>
+      <parameter id="KmEGF" metaid="metaid_0000008" value="6086070"/>
+      <parameter id="kNGF" metaid="metaid_0000009" value="389.428"/>
+      <parameter id="KmNGF" metaid="metaid_0000010" value="2112.66"/>
+      <parameter id="kdSos" metaid="metaid_0000011" value="1611.97"/>
+      <parameter id="KmdSos" metaid="metaid_0000012" value="896896"/>
+      <parameter id="kSos" metaid="metaid_0000013" value="32.344"/>
+      <parameter id="KmSos" metaid="metaid_0000014" value="3.59543E4"/>
+      <parameter id="kRasGap" metaid="metaid_0000015" value="1509.36"/>
+      <parameter id="KmRasGap" metaid="metaid_0000016" value="1432410"/>
+      <parameter id="kRasToRaf1" metaid="metaid_0000017" value="0.884096"/>
+      <parameter id="KmRasToRaf1" metaid="metaid_0000018" value="6.24646E4"/>
+      <parameter id="kpRaf1" metaid="metaid_0000019" value="185.759"/>
+      <parameter id="KmpRaf1" metaid="metaid_0000020" value="4768350"/>
+      <parameter id="kpBRaf" metaid="metaid_0000021" value="125.089"/>
+      <parameter id="KmpBRaf" metaid="metaid_0000022" value="157948"/>
+      <parameter id="kdMek" metaid="metaid_0000023" value="2.83243"/>
+      <parameter id="KmdMek" metaid="metaid_0000024" value="518753"/>
+      <parameter id="kpMekCytoplasmic" metaid="metaid_0000025" value="9.85367"/>
+      <parameter id="KmpMekCytoplasmic" metaid="metaid_0000026" value="1007340"/>
+      <parameter id="kdErk" metaid="metaid_0000027" value="8.8912"/>
+      <parameter id="KmdErk" metaid="metaid_0000028" value="3496490"/>
+      <parameter id="kpP90Rsk" metaid="metaid_0000029" value="0.0213697"/>
+      <parameter id="KmpP90Rsk" metaid="metaid_0000030" value="763523"/>
+      <parameter id="kPI3K" metaid="metaid_0000031" value="10.6737"/>
+      <parameter id="KmPI3K" metaid="metaid_0000032" value="184912"/>
+      <parameter id="kPI3KRas" metaid="metaid_0000033" value="0.0771067"/>
+      <parameter id="KmPI3KRas" metaid="metaid_0000034" value="272056"/>
+      <parameter id="kAkt" metaid="metaid_0000035" value="0.0566279"/>
+      <parameter id="KmAkt" metaid="metaid_0000036" value="653951"/>
+      <parameter id="kdRaf1ByAkt" metaid="metaid_0000037" value="15.1212"/>
+      <parameter id="KmRaf1ByAkt" metaid="metaid_0000038" value="119355"/>
+      <parameter id="kC3GNGF" metaid="metaid_0000039" value="146.912"/>
+      <parameter id="KmC3GNGF" metaid="metaid_0000040" value="1.28762E4"/>
+      <parameter id="kC3G" metaid="metaid_0000041" value="1.40145"/>
+      <parameter id="KmC3G" metaid="metaid_0000042" value="1.09656E4"/>
+      <parameter id="kRapGap" metaid="metaid_0000043" value="27.265"/>
+      <parameter id="KmRapGap" metaid="metaid_0000044" value="295990"/>
+      <parameter id="kRap1ToBRaf" metaid="metaid_0000045" value="2.20995"/>
+      <parameter id="KmRap1ToBRaf" metaid="metaid_0000046" value="1025460"/>
+      <parameter id="kdRaf1" metaid="metaid_0000047" value="0.126329"/>
+      <parameter id="KmdRaf1" metaid="metaid_0000048" value="1061.71"/>
+      <parameter id="kdBRaf" metaid="metaid_0000049" value="441.287"/>
+      <parameter id="KmdBRaf" metaid="metaid_0000050" value="10879500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="EGFBindingReaction" name="EGF binding" metaid="metaid_0000084" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000084">
+              <bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0048408"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0045741"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EGF" metaid="_915707"/>
+          <speciesReference species="freeEGFReceptor" metaid="_915719"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="boundEGFReceptor" metaid="_915730"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915743">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <ci> krbEGF </ci>
+              <ci> EGF </ci>
+              <ci> freeEGFReceptor </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="EGFUnbindingReaction" name="EFG unbinding" metaid="metaid_0000085" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000085">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0007175"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="boundEGFReceptor" metaid="_915755"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EGF" metaid="_915767"/>
+          <speciesReference species="freeEGFReceptor" metaid="_915779"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915791">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <ci> kruEGF </ci>
+              <ci> boundEGFReceptor </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="NGFBindingReaction" name="NGF binding" metaid="metaid_0000086" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000086">
+              <bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051396"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0048406"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="NGF" metaid="_915803"/>
+          <speciesReference species="freeNGFReceptor" metaid="_915816"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="boundNGFReceptor" metaid="_915828"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915840">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> krbNGF </ci>
+              <ci> NGF </ci>
+              <ci> freeNGFReceptor </ci>
+              <ci> cell </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="NGFUnbindingReaction" name="NGF unbinding" metaid="metaid_0000087" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000087">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051395"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="boundNGFReceptor" metaid="_915852"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="NGF" metaid="_915864"/>
+          <speciesReference species="freeNGFReceptor" metaid="_915876"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915888">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kruNGF </ci>
+              <ci> boundNGFReceptor </ci>
+              <ci> cell </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="SosActivationByEGFReaction" name="SOS activation by EGF" metaid="metaid_0000088">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000088">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004716"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="SosInactive" metaid="_915900"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="SosActive" metaid="_915912"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundEGFReceptor" metaid="_915924"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_915936">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kEGF </ci>
+                  <ci> boundEGFReceptor </ci>
+                  <ci> SosInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> SosInactive </ci>
+                  <ci> KmEGF </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="SosActivationByNGFReaction" name="SOS activation by NGF" metaid="metaid_0000089">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000089">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004716"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="SosInactive" metaid="_915948"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="SosActive" metaid="_915960"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundNGFReceptor" metaid="_915972"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_915984">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kNGF </ci>
+                  <ci> boundNGFReceptor </ci>
+                  <ci> SosInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> SosInactive </ci>
+                  <ci> KmNGF </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="SosDeactivationReaction" name="SOS deactivation" metaid="metaid_0000090">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000090">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="SosActive" metaid="_915996"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="SosInactive" metaid="_916008"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="P90RskActive" metaid="_916020"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916032">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdSos </ci>
+                  <ci> P90RskActive </ci>
+                  <ci> SosActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> SosActive </ci>
+                  <ci> KmdSos </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="RasActivationReaction" name="Ras activation" metaid="metaid_0000091">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000091">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0046579"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RasInactive" metaid="_916044"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RasActive" metaid="_916056"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="SosActive" metaid="_916068"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916080">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kSos </ci>
+                  <ci> SosActive </ci>
+                  <ci> RasInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> RasInactive </ci>
+                  <ci> KmSos </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="RasDeactivationReaction" name="Ras deactivation" metaid="metaid_0000092">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000092">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0046580"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RasActive" metaid="_916092"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RasInactive" metaid="_916104"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RasGapActive" metaid="_916116"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916128">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRasGap </ci>
+                  <ci> RasGapActive </ci>
+                  <ci> RasActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> RasActive </ci>
+                  <ci> KmRasGap </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Raf1ByRasActivationReaction" name="Raf1 activation by Ras" metaid="metaid_0000093">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000093">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Raf1Inactive" metaid="_916140"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Raf1Active" metaid="_916152"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RasActive" metaid="_916164"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916176">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRasToRaf1 </ci>
+                  <ci> RasActive </ci>
+                  <ci> Raf1Inactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Raf1Inactive </ci>
+                  <ci> KmRasToRaf1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="MekbyRaf1ActivationReaction" name="Mek activation by Raf1" metaid="metaid_0000094">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000094">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000186"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MekInactive" metaid="_916188"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MekActive" metaid="_916200"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Raf1Active" metaid="_916212"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916224">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpRaf1 </ci>
+                  <ci> Raf1Active </ci>
+                  <ci> MekInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> MekInactive </ci>
+                  <ci> KmpRaf1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="MekbyBRafActivationReaction" name="Mek activation by B-Raf" metaid="metaid_0000095">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000095">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000186"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MekInactive" metaid="_916236"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MekActive" metaid="_916248"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="BRafActive" metaid="_916260"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916272">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpBRaf </ci>
+                  <ci> BRafActive </ci>
+                  <ci> MekInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> MekInactive </ci>
+                  <ci> KmpBRaf </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="ErkActivationReaction" name="Erk activation" metaid="metaid_0000096">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000096">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000187"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004708"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="ErkInactive" metaid="_916284"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="ErkActive" metaid="_916296"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="MekActive" metaid="_916308"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916320">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpMekCytoplasmic </ci>
+                  <ci> MekActive </ci>
+                  <ci> ErkInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> ErkInactive </ci>
+                  <ci> KmpMekCytoplasmic </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="MekDeactivationReaction" name="Mek deactivation" metaid="metaid_0000097">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000097">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MekActive" metaid="_916332"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MekInactive" metaid="_916344"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="PP2AActive" metaid="_916356"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916368">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdMek </ci>
+                  <ci> PP2AActive </ci>
+                  <ci> MekActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> MekActive </ci>
+                  <ci> KmdMek </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="ErkDeactivationReaction" name="Erk deactivation" metaid="metaid_0000098">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000098">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000188"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="ErkActive" metaid="_916380"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="ErkInactive" metaid="_916392"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="PP2AActive" metaid="_916404"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916416">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdErk </ci>
+                  <ci> PP2AActive </ci>
+                  <ci> ErkActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> ErkActive </ci>
+                  <ci> KmdErk </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Raf1byPPtaseDeactivationReaction" name="Raf1 deactivation by PPase" metaid="metaid_0000099">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000099">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Raf1Active" metaid="_916428"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Raf1Inactive" metaid="_916440"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Raf1PPtase" metaid="_916452"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916464">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdRaf1 </ci>
+                  <ci> Raf1PPtase </ci>
+                  <ci> Raf1Active </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Raf1Active </ci>
+                  <ci> KmdRaf1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="P90RskActivationReaction" name="P90Rsk activation" metaid="metaid_0000100">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000100">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004707"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="P90RskInactive" metaid="_916476"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P90RskActive" metaid="_916488"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="ErkActive" metaid="_916500"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916512">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpP90Rsk </ci>
+                  <ci> ErkActive </ci>
+                  <ci> P90RskInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> P90RskInactive </ci>
+                  <ci> KmpP90Rsk </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="PI3KbyEGFRActivationReaction" name="PI3K activation by EGFR" metaid="metaid_0000101">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000101">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PI3KInactive" metaid="_916524"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PI3KActive" metaid="_916536"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundEGFReceptor" metaid="_916548"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916560">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kPI3K </ci>
+                  <ci> boundEGFReceptor </ci>
+                  <ci> PI3KInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> PI3KInactive </ci>
+                  <ci> KmPI3K </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="PI3KbyRasActivationReaction" name="PI3K activation by Ras" metaid="metaid_0000102">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000102">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PI3KInactive" metaid="_916572"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PI3KActive" metaid="_916584"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RasActive" metaid="_916596"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916608">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kPI3KRas </ci>
+                  <ci> RasActive </ci>
+                  <ci> PI3KInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> PI3KInactive </ci>
+                  <ci> KmPI3KRas </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="AktActivationReaction" name="Akt activation" metaid="metaid_0000103">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000103">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0045860"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="AktInactive" metaid="_916620"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="AktActive" metaid="_916632"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="PI3KActive" metaid="_916644"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916656">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kAkt </ci>
+                  <ci> PI3KActive </ci>
+                  <ci> AktInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> AktInactive </ci>
+                  <ci> KmAkt </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Raf1ByAktDeactivationReaction" name="Raf1 deactivation by Akt" metaid="metaid_0000104">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000104">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Raf1Active" metaid="_916669"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Raf1Inactive" metaid="_916681"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="AktActive" metaid="_916693"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916705">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdRaf1ByAkt </ci>
+                  <ci> AktActive </ci>
+                  <ci> Raf1Active </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Raf1Active </ci>
+                  <ci> KmRaf1ByAkt </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="C3GActivationReaction" name="C3G activation" metaid="metaid_0000105">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000105">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004716"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="C3GInactive" metaid="_916717"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C3GActive" metaid="_916729"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundNGFReceptor" metaid="_916741"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916753">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kC3GNGF </ci>
+                  <ci> boundNGFReceptor </ci>
+                  <ci> C3GInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> C3GInactive </ci>
+                  <ci> KmC3GNGF </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Rap1ActivationReaction" name="Rap1 activation" metaid="metaid_0000106">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000106">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0046582"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Rap1Inactive" metaid="_916765"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Rap1Active" metaid="_916777"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="C3GActive" metaid="_916789"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916801">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kC3G </ci>
+                  <ci> C3GActive </ci>
+                  <ci> Rap1Inactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Rap1Inactive </ci>
+                  <ci> KmC3G </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Rap1DeactivationReaction" name="Rap1 deactivation" metaid="metaid_0000107">
+        <listOfReactants>
+          <speciesReference species="Rap1Active" metaid="_916814"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Rap1Inactive" metaid="_916826"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RapGapActive" metaid="_916838"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916850">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRapGap </ci>
+                  <ci> RapGapActive </ci>
+                  <ci> Rap1Active </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Rap1Active </ci>
+                  <ci> KmRapGap </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="BRafByRap1ActivationReaction" name="BRaf activation by Rap1" metaid="metaid_0000108">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000108">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="BRafInactive" metaid="_916862"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="BRafActive" metaid="_916874"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Rap1Active" metaid="_916886"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916898">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRap1ToBRaf </ci>
+                  <ci> Rap1Active </ci>
+                  <ci> BRafInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> BRafInactive </ci>
+                  <ci> KmRap1ToBRaf </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="BRafbyPPtaseDeactivationReaction" name="BRaf deactivation by PPase" metaid="metaid_0000109">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000109">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="BRafActive" metaid="_916911"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="BRafInactive" metaid="_916924"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Raf1PPtase" metaid="_916937"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916949">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdBRaf </ci>
+                  <ci> Raf1PPtase </ci>
+                  <ci> BRafActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> BRafActive </ci>
+                  <ci> KmdBRaf </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/data/sosbench/00033/00033-settings.txt b/data/sosbench/00033/00033-settings.txt
new file mode 100644
index 0000000..2207bc0
--- /dev/null
+++ b/data/sosbench/00033/00033-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 60
+steps: 60
+variables:  EGF, NGF, freeEGFReceptor, boundEGFReceptor, freeNGFReceptor, boundNGFReceptor, SosInactive, SosActive, P90RskInactive, P90RskActive, RasInactive, RasActive, RasGapActive, Raf1Inactive, Raf1Active, BRafInactive, BRafActive, MekInactive, MekActive, ErkInactive, ErkActive, PI3KInactive, PI3KActive, AktInactive, AktActive, C3GInactive, C3GActive, Rap1Inactive, Rap1Active, RapGapActive, PP2AActive, Raf1PPtase
+absolute: 1.0e-4
+relative: 1.0e-9
+amount: 
+concentration: EGF, NGF, freeEGFReceptor, boundEGFReceptor, freeNGFReceptor, boundNGFReceptor, SosInactive, SosActive, P90RskInactive, P90RskActive, RasInactive, RasActive, RasGapActive, Raf1Inactive, Raf1Active, BRafInactive, BRafActive, MekInactive, MekActive, ErkInactive, ErkActive, PI3KInactive, PI3KActive, AktInactive, AktActive, C3GInactive, C3GActive, Rap1Inactive, Rap1Active, RapGapActive, PP2AActive, Raf1PPtase
diff --git a/data/sosbench/09/09-sbml-l2v4.xml b/data/sosbench/09/09-sbml-l2v4.xml
new file mode 100644
index 0000000..5fb3cd6
--- /dev/null
+++ b/data/sosbench/09/09-sbml-l2v4.xml
@@ -0,0 +1,1337 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+
+<!-- This model was downloaded from BioModels Database -->
+<!-- Mon Apr 21 19:44:15 BST 2014                      -->
+<!-- http://www.ebi.ac.uk/biomodels/                   -->
+
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" metaid="_770249" version="4">
+  <model id="BIOMD0000000009" name="Huang1996 - Ultrasensitivity in MAPK cascade" metaid="_000001">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <div class="dc:title">Huang1996 - Ultrasensitivity in MAPK cascade</div>
+            <div class="dc:description">      <p>The temporal sequence of kinase activation, from MAPKKK (activated RAF) to the final effector MAPK (activated ERK), is described here. It is observed from the model that there is an increase in sensitivity along the levels of the cascade, where the activity of MAPK reaches its maximal before MAPKKK.</p>
+                </div>
+            <div class="dc:bibliographicCitation">      <p>This model is described in the article:</p>
+                <div class="bibo:title">        <a href="http://identifiers.org/pubmed/8816754" title="Access to this publication">Ultrasensitivity in the mitogen-activated protein kinase cascade.</a>
+                    </div>
+                <div class="bibo:authorList">Huang CY, Ferrell JE Jr</div>
+                <div class="bibo:Journal">Proc. Natl. Acad. Sci. U.S.A. 1996:93(19):10078-83</div>
+                <p>Abstract:</p>
+                <div class="bibo:abstract">        <p>The mitogen-activated protein kinase (MAPK) cascade is a highly conserved series of three protein kinases implicated in diverse biological processes. Here we demonstrate that the cascade arrangement has unexpected consequences for the dynamics of MAPK signaling. We solved the rate equations for the cascade numerically and found that MAPK is predicted to behave like a highly cooperative enzyme, even though it was not assumed that any o [...]
+                    </div>
+                </div>
+            <div class="bm:curation">      <p>The species K_PP_norm, KKK_P_norm and KK_PP_norm are the relative concentrations of the active MAPK, MAPKK and MAPKKK, that is the double, or single resp. phophorylated forms divided by the total concentrations of each kinase. For MAPK additionally the also active MAPK divided by the maximal concentration of active MAPK is given by rel_K_PP_max. The parameter K_PP_norm_max, the maximal ratio of active MapK, has to be calculated for each chang [...]
+                </div>
+            <div class="dc:publisher">      <p>This model is hosted on        <a href="http://www.ebi.ac.uk/biomodels/">BioModels Database</a>
+            and identified by:        <a href="http://identifiers.org/biomodels.db/BIOMD0000000009">BIOMD0000000009</a>
+            .        </p>
+                <p>To cite BioModels Database, please use:        <a href="http://identifiers.org/pubmed/20587024" title="Latest BioModels Database publication">BioModels Database: An enhanced, curated and annotated resource for published quantitative kinetic models</a>
+            .        </p>
+                </div>
+            <div class="dc:license">      <p>To the extent possible under law, all copyright and related or neighbouring rights to this encoded model have been dedicated to the public domain worldwide. Please refer to        <a href="http://creativecommons.org/publicdomain/zero/1.0/" title="Access to: CC0 1.0 Universal (CC0 1.0), Public Domain Dedication">CC0 Public Domain Dedication</a>
+            for more information.        </p>
+                </div>
+            </body>
+      
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+        <rdf:Description rdf:about="#_000001">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Machne</vCard:Family>
+                  <vCard:Given>Rainer</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>raim at tbi.univie.ac.at</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>University of Vienna</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2005-02-10T23:39:30Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2013-07-16T10:02:42Z</dcterms:W3CDTF>
+          </dcterms:modified>
+          <bqmodel:is>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/biomodels.db/MODEL6615048798"/>
+            </rdf:Bag>
+          </bqmodel:is>
+          <bqmodel:is>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000009"/>
+            </rdf:Bag>
+          </bqmodel:is>
+          <bqmodel:isDescribedBy>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/pubmed/8816754"/>
+            </rdf:Bag>
+          </bqmodel:isDescribedBy>
+          <bqbiol:isHomologTo>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_634"/>
+            </rdf:Bag>
+          </bqbiol:isHomologTo>
+          <bqbiol:isVersionOf>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000165"/>
+            </rdf:Bag>
+          </bqbiol:isVersionOf>
+          <bqbiol:occursIn>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/taxonomy/8355"/>
+            </rdf:Bag>
+          </bqbiol:occursIn>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+      <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="micromole" metaid="metaid_0000046">
+        <listOfUnits>
+          <unit scale="-6" metaid="_396483" kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" metaid="_506358" size="4E-12"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="E1" initialConcentration="3E-5" name="MAPKKK activator (Ras)" metaid="_506372" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506372">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="E2" initialConcentration="0.0003" name="MAPKKK inactivator" metaid="_506392" compartment="compartment"/>
+      <species id="KKK" initialConcentration="0.003" name="Mos" metaid="_506412" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506412">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="P_KKK" initialConcentration="0" name="Mos-P" metaid="_506432" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506432">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KK" initialConcentration="1.2" name="Mek1" metaid="_506452" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506452">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="P_KK" initialConcentration="0" name="Mek1-P" metaid="_506472" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506472">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="PP_KK" initialConcentration="0" name="Mek1-PP" metaid="_506492" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506492">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K" initialConcentration="1.2" name="Erk2" metaid="_506512" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506512">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="P_K" initialConcentration="0" name="Erk2-P" metaid="_506532" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506532">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="PP_K" initialConcentration="0" name="Erk2-PP" metaid="_506552" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506552">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KPase" initialConcentration="0.12" name="MAPK-Pase" metaid="_506572" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506572">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KKPase" initialConcentration="0.0003" name="MAPKK-Pase" metaid="_506592" compartment="compartment"/>
+      <species id="E1_KKK" initialConcentration="0" name="E1_Mos" metaid="_506612" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506612">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                  <rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="E2_P_KKK" initialConcentration="0" name="E2_Mos-P" metaid="_506632" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506632">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="P_KKK_KK" initialConcentration="0" name="P-Mos_Mek1" metaid="_506652" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506652">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="P_KKK_P_KK" initialConcentration="0" name="P-Mos_P-Mek1" metaid="_506672" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506672">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P12965"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="PP_KK_K" initialConcentration="0" name="PP-Mek1_Erk2" metaid="_506692" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506692">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="PP_KK_P_K" initialConcentration="0" name="PP-Mek1_P-Erk2" metaid="_506712" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506712">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KKPase_PP_KK" initialConcentration="0" name="MAPKK-Pase_PP-Mek1" metaid="_506732" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506732">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KKPase_P_KK" initialConcentration="0" name="MAPKK-Pase_P-Mek1" metaid="_506752" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506752">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KPase_PP_K" initialConcentration="0" name="MAPK-Pase_PP-Erk2" metaid="_506772" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506772">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="KPase_P_K" initialConcentration="0" name="MAPK-Pase_P-Erk2" metaid="_506792" compartment="compartment">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506792">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_PP_norm" name="K_PP_norm" metaid="metaid_0000047" compartment="compartment"/>
+      <species id="KK_PP_norm" name="KK_PP_norm" metaid="metaid_0000048" compartment="compartment"/>
+      <species id="KKK_P_norm" name="KKK_P_norm" metaid="metaid_0000049" compartment="compartment"/>
+      <species id="rel_K_PP_max" name="relative maximal K_PP" metaid="metaid_0100049" compartment="compartment"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="K_PP_norm_max" metaid="metaid_0011050" value="0.900049">
+        <notes>
+          <p xmlns="http://www.w3.org/1999/xhtml">
+        the maximal value of K_PP_norm at a stimulation conc. of 10.</p>
+          
+        </notes>
+</parameter>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="metaid_0000050" variable="K_PP_norm">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">        
+          <apply>
+            <divide/>
+            <apply>
+              <plus/>
+              <ci> PP_K </ci>
+              <ci> KPase_PP_K </ci>
+            </apply>
+            <apply>
+              <plus/>
+              <ci> PP_K </ci>
+              <ci> P_K </ci>
+              <ci> K </ci>
+              <ci> PP_KK_K </ci>
+              <ci> PP_KK_P_K </ci>
+              <ci> KPase_PP_K </ci>
+              <ci> KPase_P_K </ci>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="met100050" variable="rel_K_PP_max">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">        
+          <apply>
+            <divide/>
+            <ci> K_PP_norm </ci>
+            <ci> K_PP_norm_max </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="metai0051" variable="KK_PP_norm">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">        
+          <apply>
+            <divide/>
+            <apply>
+              <plus/>
+              <ci> PP_KK </ci>
+              <ci> PP_KK_K </ci>
+              <ci> PP_KK_P_K </ci>
+              <ci> KKPase_PP_KK </ci>
+            </apply>
+            <apply>
+              <plus/>
+              <ci> PP_KK </ci>
+              <ci> P_KK </ci>
+              <ci> KK </ci>
+              <ci> PP_KK_K </ci>
+              <ci> PP_KK_P_K </ci>
+              <ci> P_KKK_KK </ci>
+              <ci> P_KKK_P_KK </ci>
+              <ci> KKPase_PP_KK </ci>
+              <ci> KKPase_P_KK </ci>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="metaid_0000052" variable="KKK_P_norm">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">        
+          <apply>
+            <divide/>
+            <apply>
+              <plus/>
+              <ci> P_KKK </ci>
+              <ci> P_KKK_KK </ci>
+              <ci> P_KKK_P_KK </ci>
+            </apply>
+            <apply>
+              <plus/>
+              <ci> KKK </ci>
+              <ci> P_KKK </ci>
+              <ci> P_KKK_KK </ci>
+              <ci> P_KKK_P_KK </ci>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="r1a" name="binding of MAPKKK activator" metaid="_506812">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506812">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KKK" metaid="_396495"/>
+          <speciesReference species="E1" metaid="_396507"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E1_KKK" metaid="_396519"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396531">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a1 </ci>
+                  <ci> E1 </ci>
+                  <ci> KKK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d1 </ci>
+                  <ci> E1_KKK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a1" metaid="_815886" value="1000"/>
+            <parameter id="d1" metaid="_815887" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r1b" name="MAPKKK activation" metaid="_506833" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506833">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_525"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="E1_KKK" metaid="_396543"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E1" metaid="_396555"/>
+          <speciesReference species="P_KKK" metaid="_396567"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396579">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> E1_KKK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k2" metaid="_815888" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r2a" name="binding of MAPKKK inactivator" metaid="_506853">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506853">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_KKK" metaid="_396591"/>
+          <speciesReference species="E2" metaid="_396603"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E2_P_KKK" metaid="_396615"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396627">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a2 </ci>
+                  <ci> E2 </ci>
+                  <ci> P_KKK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d2 </ci>
+                  <ci> E2_P_KKK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a2" metaid="_815889" value="1000"/>
+            <parameter id="d2" metaid="_815890" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r2b" name="MAPKKK inactivation" metaid="_506873" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506873">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051390"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="E2_P_KKK" metaid="_396639"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E2" metaid="_396651"/>
+          <speciesReference species="KKK" metaid="_396663"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396675">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> E2_P_KKK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k2" metaid="_815891" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r3a" name="binding P-MAPKKK and MAPKK" metaid="_506893">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506893">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_143"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KK" metaid="_396687"/>
+          <speciesReference species="P_KKK" metaid="_396699"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_KKK_KK" metaid="_396712"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396724">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a3 </ci>
+                  <ci> KK </ci>
+                  <ci> P_KKK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d3 </ci>
+                  <ci> P_KKK_KK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a3" metaid="_815892" value="1000"/>
+            <parameter id="d3" metaid="_815893" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r3b" name="phosphorylation of MAPKK" metaid="_506913" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506913">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_614"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.25"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_KKK_KK" metaid="_396736"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_KK" metaid="_396748"/>
+          <speciesReference species="P_KKK" metaid="_396760"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396772">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> P_KKK_KK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="_815894" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r4a" name="binding MAPKK-Pase and P-MAPKK" metaid="_506933">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506933">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_KK" metaid="_396784"/>
+          <speciesReference species="KKPase" metaid="_396796"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="KKPase_P_KK" metaid="_396808"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396820">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a4 </ci>
+                  <ci> P_KK </ci>
+                  <ci> KKPase </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d4 </ci>
+                  <ci> KKPase_P_KK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a4" metaid="_815895" value="1000"/>
+            <parameter id="d4" metaid="_815896" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r4b" name="dephosphorylation of P-MAPKK" metaid="_506953" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506953">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KKPase_P_KK" metaid="_396832"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="KK" metaid="_396844"/>
+          <speciesReference species="KKPase" metaid="_396856"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396868">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k4 </ci>
+              <ci> KKPase_P_KK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k4" metaid="_815897" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r5a" name="binding P-MAPKKK and P-MAPKK" metaid="_506973">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506973">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_143"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_KK" metaid="_396880"/>
+          <speciesReference species="P_KKK" metaid="_396892"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_KKK_P_KK" metaid="_396904"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396916">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a5 </ci>
+                  <ci> P_KK </ci>
+                  <ci> P_KKK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d5 </ci>
+                  <ci> P_KKK_P_KK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a5" metaid="_815899" value="1000"/>
+            <parameter id="d5" metaid="_815901" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r5b" name="phosphorylation of P-MAPKK" metaid="_506993" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_506993">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_614"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.25"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_KKK_P_KK" metaid="_396928"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PP_KK" metaid="_396940"/>
+          <speciesReference species="P_KKK" metaid="_396952"/>
+        </listOfProducts>
+        <kineticLaw metaid="_396965">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k5 </ci>
+              <ci> P_KKK_P_KK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5" metaid="_815902" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r6a" name="binding MAPKK-Pase and PP-MAPKK" metaid="_507013">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507013">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="PP_KK" metaid="_396977"/>
+          <speciesReference species="KKPase" metaid="_396989"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="KKPase_PP_KK" metaid="_397001"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397013">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a6 </ci>
+                  <ci> PP_KK </ci>
+                  <ci> KKPase </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d6 </ci>
+                  <ci> KKPase_PP_KK </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a6" metaid="_815903" value="1000"/>
+            <parameter id="d6" metaid="_815904" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r6b" name="dephosphorylation of PP-MAPKK" metaid="_507033" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507033">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051389"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KKPase_PP_KK" metaid="_397025"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_KK" metaid="_397037"/>
+          <speciesReference species="KKPase" metaid="_397049"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397061">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k6 </ci>
+              <ci> KKPase_PP_KK </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k6" metaid="_815905" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r7a" name="binding MAPK and PP-MAPKK" metaid="_507053">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507053">
+              <bqbiol:hasVersion>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_1780"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_495"/>
+                </rdf:Bag>
+              </bqbiol:hasVersion>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K" metaid="_397073"/>
+          <speciesReference species="PP_KK" metaid="_397085"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PP_KK_K" metaid="_397097"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397109">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a7 </ci>
+                  <ci> K </ci>
+                  <ci> PP_KK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d7 </ci>
+                  <ci> PP_KK_K </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a7" metaid="_815906" value="1000"/>
+            <parameter id="d7" metaid="_815907" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r7b" name="phosphorylation of MAPK" metaid="_507073" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507073">
+              <bqbiol:hasVersion>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_136"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_2247"/>
+                </rdf:Bag>
+              </bqbiol:hasVersion>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.12.2"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="PP_KK_K" metaid="_397121"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_K" metaid="_397133"/>
+          <speciesReference species="PP_KK" metaid="_397145"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397158">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k7 </ci>
+              <ci> PP_KK_K </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_815908" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r8a" name="binding MAPK-Pase and P-MAPK" metaid="_507093">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507093">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_K" metaid="_397170"/>
+          <speciesReference species="KPase" metaid="_397182"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="KPase_P_K" metaid="_397194"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397206">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a8 </ci>
+                  <ci> P_K </ci>
+                  <ci> KPase </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d8 </ci>
+                  <ci> KPase_P_K </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a8" metaid="_815909" value="1000"/>
+            <parameter id="d8" metaid="_815910" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r8b" name="dephosphorylation of P-MAPK" metaid="_507113" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507113">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KPase_P_K" metaid="_397218"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" metaid="_397230"/>
+          <speciesReference species="KPase" metaid="_397242"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397254">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k8 </ci>
+              <ci> KPase_P_K </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k8" metaid="_815911" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r9a" name="binding PP-MAPKK and P-MAPK" metaid="_507133">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507133">
+              <bqbiol:hasVersion>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_1780"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_495"/>
+                </rdf:Bag>
+              </bqbiol:hasVersion>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="P_K" metaid="_397266"/>
+          <speciesReference species="PP_KK" metaid="_397278"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PP_KK_P_K" metaid="_397291"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397303">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a9 </ci>
+                  <ci> P_K </ci>
+                  <ci> PP_KK </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d9 </ci>
+                  <ci> PP_KK_P_K </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a9" metaid="_815912" value="1000"/>
+            <parameter id="d9" metaid="_815913" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r9b" name="phosphorylation of P-MAPK" metaid="_507153" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507153">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.12.2"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000187"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:hasVersion>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_136"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_2247"/>
+                </rdf:Bag>
+              </bqbiol:hasVersion>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="PP_KK_P_K" metaid="_397315"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PP_KK" metaid="_397327"/>
+          <speciesReference species="PP_K" metaid="_397339"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397351">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k9 </ci>
+              <ci> PP_KK_P_K </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9" metaid="_815914" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r10a" name="binding MAPK-Pase and PP-MAPK" metaid="_507173">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507173">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="PP_K" metaid="_397363"/>
+          <speciesReference species="KPase" metaid="_397376"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="KPase_PP_K" metaid="_397388"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397400">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> a10 </ci>
+                  <ci> PP_K </ci>
+                  <ci> KPase </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> d10 </ci>
+                  <ci> KPase_PP_K </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a10" metaid="_815916" value="1000"/>
+            <parameter id="d10" metaid="_815918" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r10b" name="dephosphorylation of PP-MAPK" metaid="_507193" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_507193">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000188"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="KPase_PP_K" metaid="_397412"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P_K" metaid="_397424"/>
+          <speciesReference species="KPase" metaid="_397436"/>
+        </listOfProducts>
+        <kineticLaw metaid="_397448">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k10 </ci>
+              <ci> KPase_PP_K </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k10" metaid="_815919" value="150"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/data/sosbench/09/09-settings.txt b/data/sosbench/09/09-settings.txt
new file mode 100644
index 0000000..6c0df2a
--- /dev/null
+++ b/data/sosbench/09/09-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 150
+steps: 150
+variables: E1, E2, KKK, P_KKK, KK, P_KK, PP_KK, K, P_K, PP_K, KPase, KKPase, E1_KKK, E2_P_KKK, P_KKK_KK, P_KKK_P_KK, PP_KK_K, PP_KK_P_K, KKPase_PP_KK, KKPase_P_KK, KPase_PP_K, KPase_P_K, K_PP_norm, KK_PP_norm, KKK_P_norm, rel_K_PP_max
+absolute: 1.0e-15
+relative: 1.0e-9
+amount: 
+concentration: E1, E2, KKK, P_KKK, KK, P_KK, PP_KK, K, P_K, PP_K, KPase, KKPase, E1_KKK, E2_P_KKK, P_KKK_KK, P_KKK_P_KK, PP_KK_K, PP_KK_P_K, KKPase_PP_KK, KKPase_P_KK, KPase_PP_K, KPase_P_K, K_PP_norm, KK_PP_norm, KKK_P_norm, rel_K_PP_max
+
diff --git a/data/sosbench/09/bench.py b/data/sosbench/09/bench.py
new file mode 100644
index 0000000..29f44aa
--- /dev/null
+++ b/data/sosbench/09/bench.py
@@ -0,0 +1,27 @@
+def run():
+    from roadrunner import *
+
+    o=SimulateOptions()
+
+    #o.stiff = True
+
+    o.duration=150
+
+    o.steps = 300
+
+    o.absolute = 1e-15
+    o.relative = 1e-9
+
+    o.resetModel = True
+
+    r=RoadRunner("00001-sbml-l2v4.xml")
+
+    Logger.setLevel(Logger.LOG_INFORMATION)
+    
+    r.simulate(o);
+
+    plot(r.getSimulationResult())
+
+
+if __name__ == "__main__":
+    run()
diff --git a/data/sosbench/10000/10000-sbml-l2v1.xml b/data/sosbench/10000/10000-sbml-l2v1.xml
new file mode 100644
index 0000000..3c9804f
--- /dev/null
+++ b/data/sosbench/10000/10000-sbml-l2v1.xml
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" version="1">
+  <model id="MayLeonardRepressilator">
+    <listOfCompartments>
+      <compartment id="compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="boundary" compartment="compartment" initialAmount="0" boundaryCondition="true"/>
+      <species id="x1" compartment="compartment" initialAmount="1"/>
+      <species id="x2" compartment="compartment" initialAmount="1"/>
+      <species id="x3" compartment="compartment" initialAmount="0.1"/>
+      <species id="y1" compartment="compartment" initialAmount="1"/>
+      <species id="y2" compartment="compartment" initialAmount="0.1"/>
+      <species id="y3" compartment="compartment" initialAmount="0.1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="alpha" value="2"/>
+      <parameter id="beta" value="1"/>
+      <parameter id="rho" value="3.8"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="r1">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="x1"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="y1"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> beta </ci>
+            <apply>
+              <minus/>
+              <ci> y1 </ci>
+              <ci> x1 </ci>
+            </apply>
+          </apply>
+        </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r2">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="x2"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="y2"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> beta </ci>
+            <apply>
+              <minus/>
+              <ci> y2 </ci>
+              <ci> x2 </ci>
+            </apply>
+          </apply>
+        </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r3">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="x3"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="y3"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> beta </ci>
+            <apply>
+              <minus/>
+              <ci> y3 </ci>
+              <ci> x3 </ci>
+            </apply>
+          </apply>
+        </math>
+        </kineticLaw>
+        </reaction>
+        <reaction id="r4">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="y1"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="x1"/>
+		<modifierSpeciesReference species="x3"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> alpha </ci>
+                <ci> x1 </ci>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> x1 </ci>
+                <apply>
+                  <times/>
+                  <ci> rho </ci>
+                  <ci> x3 </ci>
+                </apply>
+              </apply>
+            </apply>
+            <ci> y1 </ci>
+          </apply>
+        </math>
+      </kineticLaw>
+      </reaction>
+      <reaction id="r5">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="y2"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="x1"/>
+		<modifierSpeciesReference species="x2"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> alpha </ci>
+                <ci> x2 </ci>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> x2 </ci>
+                <apply>
+                  <times/>
+                  <ci> rho </ci>
+                  <ci> x1 </ci>
+                </apply>
+              </apply>
+            </apply>
+            <ci> y2 </ci>
+          </apply>
+        </math>
+       </kineticLaw>
+       </reaction>
+       <reaction id="r6">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="y3"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="x2"/>
+		<modifierSpeciesReference species="x3"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> alpha </ci>
+                <ci> x3 </ci>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> x3 </ci>
+                <apply>
+                  <times/>
+                  <ci> rho </ci>
+                  <ci> x2 </ci>
+                </apply>
+              </apply>
+            </apply>
+            <ci> y3 </ci>
+          </apply>
+        </math>
+       </kineticLaw>
+       </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/data/sosbench/10000/10000-settings.txt b/data/sosbench/10000/10000-settings.txt
new file mode 100644
index 0000000..65a80fd
--- /dev/null
+++ b/data/sosbench/10000/10000-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 100000
+steps: 100000
+variables:  x1, x2, x3, y1, y2, y3
+absolute: 1.0e-4
+relative: 1.0e-9
+amount: 
+concentration: x1, x2, x3, y1, y2, y3
+
diff --git a/data/sosbench/10001/10001-sbml-l2v1.xml b/data/sosbench/10001/10001-sbml-l2v1.xml
new file mode 100644
index 0000000..7b020e2
--- /dev/null
+++ b/data/sosbench/10001/10001-sbml-l2v1.xml
@@ -0,0 +1,1232 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 1/25/2011 from JDesigner 2.3.45 -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2" level = "2" version = "1" xmlns:jd2 = "http://www.sys-bio.org/sbml/jd2">
+   <!--                     -->
+   <!--  Model Starts Here  -->
+   <!--                     -->
+   <model id = "Jana_WolfGlycolysis" name = "JanaWolf Glycolysis">
+      <annotation>
+         <jd2:JDesignerLayout version = "2.0" MajorVersion = "2" MinorVersion = "3" BuildVersion = "45"
+                              xmlns:jd2 = "http://www.sys-bio.org/sbml/jd2">
+            <jd2:header>
+               <jd2:VersionHeader JDesignerVersion = "1.0"/>
+               <jd2:ModelHeader Author = "" ModelVersion = "" ModelTitle = "JanaWolf Glycolysis"/>
+               <jd2:TimeCourseDetails timeStart = "0" timeEnd = "5" numberOfPoints = "500"/>
+            </jd2:header>
+            <jd2:JDGraphicsHeader BackGroundColor = "FFFFFFEF"/>
+            <jd2:listOfCompartments>
+               <jd2:compartment id = "compartment" size = "1" visible = "false">
+                  <jd2:boundingBox x = "0" y = "0" w = "0" h = "0"/>
+                  <jd2:membraneStyle thickness = "12" color = "FF00A5FF"/>
+                  <jd2:interiorStyle color = "FFEEEEFF"/>
+                  <jd2:text value = "compartment" visible = "true">
+                     <jd2:position rx = "-31" ry = "-16"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+               </jd2:compartment>
+            </jd2:listOfCompartments>
+            <jd2:listOfSpecies>
+               <jd2:species id = "Glucose" boundaryCondition = "false" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "280" y = "84"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "Glucose" visible = "true">
+                     <jd2:position rx = "5" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "54" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "54" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "21" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "fructose_1_6_bisphosphate" boundaryCondition = "false" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "293" y = "202"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "fructose_1_6_bisphosphate" visible = "true">
+                     <jd2:position rx = "4" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "150" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "150" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "69" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "glyceraldehyde_3_phosphate" boundaryCondition = "false" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "286" y = "314"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "glyceraldehyde_3_phosphate" visible = "true">
+                     <jd2:position rx = "3" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "157" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "157" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "72" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "glycerate_3_phosphate" boundaryCondition = "false" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "302" y = "438"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "glycerate_3_phosphate" visible = "true">
+                     <jd2:position rx = "4" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "128" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "128" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "58" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "pyruvate" boundaryCondition = "false" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "333" y = "569"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "pyruvate" visible = "true">
+                     <jd2:position rx = "5" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "57" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "57" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "22" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "Acetyladehyde" boundaryCondition = "false" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "320" y = "652"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "Acetyladehyde" visible = "true">
+                     <jd2:position rx = "5" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "87" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "87" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "37" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "External_acetaldehyde" boundaryCondition = "false" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "425" y = "722"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "External_acetaldehyde" visible = "true">
+                     <jd2:position rx = "3" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "124" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "124" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "56" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "ATP" boundaryCondition = "false" compartment = "compartment" initialConcentration = "3">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "509" y = "79"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "ATP" visible = "true">
+                     <jd2:position rx = "5" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "34" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "34" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "11" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtNone" startColor = "FFFF7FAA" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+                  <jd2:listOfAliasNodes>
+                     <jd2:alias name = "___ATP_0" x = "486" y = "530"/>
+                     <jd2:alias name = "___ATP_1" x = "486" y = "415"/>
+                  </jd2:listOfAliasNodes>
+               </jd2:species>
+               <jd2:species id = "ADP" boundaryCondition = "false" compartment = "compartment" initialConcentration = "1">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "506" y = "172"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "ADP" visible = "true">
+                     <jd2:position rx = "4" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "35" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "35" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "11" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtNone" startColor = "FFFFD4D4" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+                  <jd2:listOfAliasNodes>
+                     <jd2:alias name = "___ADP_0" x = "481" y = "475"/>
+                     <jd2:alias name = "___ADP_1" x = "477" y = "351"/>
+                  </jd2:listOfAliasNodes>
+               </jd2:species>
+               <jd2:species id = "NAD" boundaryCondition = "false" compartment = "compartment" initialConcentration = "0.5">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "138" y = "247"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "NAD" visible = "true">
+                     <jd2:position rx = "5" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "36" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "36" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "12" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtNone" startColor = "FF7FFF55" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FFC0C0C0" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+                  <jd2:listOfAliasNodes>
+                     <jd2:alias name = "___NAD_0" x = "127" y = "638"/>
+                     <jd2:alias name = "___NAD_1" x = "232" y = "356"/>
+                  </jd2:listOfAliasNodes>
+               </jd2:species>
+               <jd2:species id = "NADH" boundaryCondition = "false" compartment = "compartment" initialConcentration = "0.5">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "217" y = "598"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "NADH" visible = "true">
+                     <jd2:position rx = "4" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "43" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "43" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "15" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtNone" startColor = "FFD4FFAA" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+                  <jd2:listOfAliasNodes>
+                     <jd2:alias name = "___NADH_0" x = "253" y = "248"/>
+                     <jd2:alias name = "___NADH_1" x = "228" y = "397"/>
+                  </jd2:listOfAliasNodes>
+               </jd2:species>
+               <jd2:species id = "External_glucose" boundaryCondition = "true" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "121" y = "61"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "External_glucose" visible = "true">
+                     <jd2:position rx = "3" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "97" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "97" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "42" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "ethanol" boundaryCondition = "true" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "137" y = "738"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "ethanol" visible = "true">
+                     <jd2:position rx = "4" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "49" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "49" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "18" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "Glycerol" boundaryCondition = "true" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "119" y = "319"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "Glycerol" visible = "true">
+                     <jd2:position rx = "5" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "54" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "54" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "21" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "Sink" boundaryCondition = "true" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "574" y = "777"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "Sink" visible = "true">
+                     <jd2:position rx = "5" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "34" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "34" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "11" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+            </jd2:listOfSpecies>
+            <jd2:listOfReactions>
+               <jd2:reaction id = "J0" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "External_glucose" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "Glucose" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J0_inputFlux"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF969696" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "169" y = "73" type = "substrate" speciesRef = "External_glucose"/>
+                           <jd2:pt x = "246" y = "91" type = "controlPoint"/>
+                           <jd2:pt x = "247" y = "92" type = "controlPoint"/>
+                           <jd2:pt x = "307" y = "96" type = "product" speciesRef = "Glucose"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J1" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "Glucose" stoichiometry = "1"/>
+                     <jd2:speciesReference species = "ATP" stoichiometry = "2"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "fructose_1_6_bisphosphate" stoichiometry = "1"/>
+                     <jd2:speciesReference species = "ADP" stoichiometry = "2"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges>
+                     <jd2:modifierEdge>
+                        <jd2:speciesReference species = "ATP"/>
+                        <jd2:destinationReaction name = "J1" regulatorType = "rtNegative" relativePosition = "0.247058823529412" destinationArcId = "2"
+                                                 destinationLineSegmentId = "0"/>
+                        <jd2:display lineThickness = "2" lineColor = "FF0000FF" lineDashStyle = "dsSolid" negativeMarkerStyle = "rmBar">
+                           <jd2:lineType type = "ltLine">
+                              <jd2:pt x = "526" y = "91" type = "modifier" speciesRef = "ATP"/>
+                              <jd2:pt x = "435" y = "155"/>
+                           </jd2:lineType>
+                        </jd2:display>
+                     </jd2:modifierEdge>
+                  </jd2:listOfModifierEdges>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J1_k1*Glucose*ATP*(1/(1+pow(ATP/J1_Ki,J1_n)))"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF969696" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:edgeCenter x = "408" y = "138"/>
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "307" y = "96" type = "substrate" speciesRef = "Glucose"/>
+                           <jd2:pt x = "372" y = "105" type = "controlPoint"/>
+                           <jd2:pt x = "360" y = "89" type = "controlPoint"/>
+                           <jd2:pt x = "408" y = "138" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "526" y = "91" type = "substrate" speciesRef = "ATP"/>
+                           <jd2:pt x = "449" y = "87" type = "controlPoint"/>
+                           <jd2:pt x = "360" y = "89" type = "controlPoint"/>
+                           <jd2:pt x = "408" y = "138" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "408" y = "138" type = "centerPoint"/>
+                           <jd2:pt x = "456" y = "187" type = "controlPoint"/>
+                           <jd2:pt x = "413" y = "178" type = "controlPoint"/>
+                           <jd2:pt x = "368" y = "214" type = "product" speciesRef = "fructose_1_6_bisphosphate"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "408" y = "138" type = "centerPoint"/>
+                           <jd2:pt x = "456" y = "187" type = "controlPoint"/>
+                           <jd2:pt x = "456" y = "201" type = "controlPoint"/>
+                           <jd2:pt x = "523" y = "184" type = "product" speciesRef = "ADP"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J2" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "fructose_1_6_bisphosphate" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "glyceraldehyde_3_phosphate" stoichiometry = "1"/>
+                     <jd2:speciesReference species = "glyceraldehyde_3_phosphate" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "builtin">
+                     <jd2:rateEquation value = "immUBi"/>
+                     <jd2:listOfSymbols>
+                        <jd2:parameter id = "J2_k" value = "9.8"/>
+                     </jd2:listOfSymbols>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF969696" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:edgeCenter x = "359" y = "258"/>
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "368" y = "214" type = "substrate" speciesRef = "fructose_1_6_bisphosphate"/>
+                           <jd2:pt x = "361" y = "240" type = "controlPoint"/>
+                           <jd2:pt x = "359" y = "241" type = "controlPoint"/>
+                           <jd2:pt x = "359" y = "258" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "359" y = "258" type = "centerPoint"/>
+                           <jd2:pt x = "359" y = "275" type = "controlPoint"/>
+                           <jd2:pt x = "321" y = "258" type = "controlPoint"/>
+                           <jd2:pt x = "364" y = "326" type = "product" speciesRef = "glyceraldehyde_3_phosphate"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "359" y = "258" type = "centerPoint"/>
+                           <jd2:pt x = "359" y = "275" type = "controlPoint"/>
+                           <jd2:pt x = "395" y = "261" type = "controlPoint"/>
+                           <jd2:pt x = "364" y = "326" type = "product" speciesRef = "glyceraldehyde_3_phosphate"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J3" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "glyceraldehyde_3_phosphate" stoichiometry = "1"/>
+                     <jd2:speciesReference species = "NADH" stoichiometry = "1">
+                        <jd2:aliasRef aliasRef = "___NADH_0"/>
+                     </jd2:speciesReference>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "NAD" stoichiometry = "1"/>
+                     <jd2:speciesReference species = "Glycerol" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "builtin">
+                     <jd2:rateEquation value = "immBiBi"/>
+                     <jd2:listOfSymbols>
+                        <jd2:parameter id = "J3_k" value = "85.7"/>
+                     </jd2:listOfSymbols>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF969696" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:edgeCenter x = "227" y = "313"/>
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "364" y = "326" type = "substrate" speciesRef = "glyceraldehyde_3_phosphate"/>
+                           <jd2:pt x = "238" y = "312" type = "controlPoint"/>
+                           <jd2:pt x = "260" y = "311" type = "controlPoint"/>
+                           <jd2:pt x = "227" y = "313" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "274" y = "260" type = "substrate" speciesRef = "NADH"/>
+                           <jd2:pt x = "270" y = "296" type = "controlPoint"/>
+                           <jd2:pt x = "260" y = "311" type = "controlPoint"/>
+                           <jd2:pt x = "227" y = "313" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "227" y = "313" type = "centerPoint"/>
+                           <jd2:pt x = "194" y = "315" type = "controlPoint"/>
+                           <jd2:pt x = "176" y = "304" type = "controlPoint"/>
+                           <jd2:pt x = "156" y = "259" type = "product" speciesRef = "NAD"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "227" y = "313" type = "centerPoint"/>
+                           <jd2:pt x = "194" y = "315" type = "controlPoint"/>
+                           <jd2:pt x = "195" y = "318" type = "controlPoint"/>
+                           <jd2:pt x = "146" y = "331" type = "product" speciesRef = "Glycerol"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J4" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "glyceraldehyde_3_phosphate" stoichiometry = "1"/>
+                     <jd2:speciesReference species = "ADP" stoichiometry = "1">
+                        <jd2:aliasRef aliasRef = "___ADP_1"/>
+                     </jd2:speciesReference>
+                     <jd2:speciesReference species = "NAD" stoichiometry = "1">
+                        <jd2:aliasRef aliasRef = "___NAD_1"/>
+                     </jd2:speciesReference>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "ATP" stoichiometry = "1">
+                        <jd2:aliasRef aliasRef = "___ATP_1"/>
+                     </jd2:speciesReference>
+                     <jd2:speciesReference species = "glycerate_3_phosphate" stoichiometry = "1"/>
+                     <jd2:speciesReference species = "NADH" stoichiometry = "1">
+                        <jd2:aliasRef aliasRef = "___NADH_1"/>
+                     </jd2:speciesReference>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "(J4_kg*J4_kp*glyceraldehyde_3_phosphate*NAD*ADP-J4_ka*J4_kk*glycerate_3_phosphate*ATP*NADH)/(J4_ka*NADH+J4_kp*ADP)"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF969696" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:edgeCenter x = "359" y = "384"/>
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "364" y = "326" type = "substrate" speciesRef = "glyceraldehyde_3_phosphate"/>
+                           <jd2:pt x = "359" y = "345" type = "controlPoint"/>
+                           <jd2:pt x = "359" y = "353" type = "controlPoint"/>
+                           <jd2:pt x = "359" y = "384" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "494" y = "363" type = "substrate" speciesRef = "ADP"/>
+                           <jd2:pt x = "459" y = "385" type = "controlPoint"/>
+                           <jd2:pt x = "359" y = "353" type = "controlPoint"/>
+                           <jd2:pt x = "359" y = "384" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "250" y = "368" type = "substrate" speciesRef = "NAD"/>
+                           <jd2:pt x = "289" y = "389" type = "controlPoint"/>
+                           <jd2:pt x = "359" y = "353" type = "controlPoint"/>
+                           <jd2:pt x = "359" y = "384" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "359" y = "384" type = "centerPoint"/>
+                           <jd2:pt x = "359" y = "415" type = "controlPoint"/>
+                           <jd2:pt x = "418" y = "383" type = "controlPoint"/>
+                           <jd2:pt x = "503" y = "427" type = "product" speciesRef = "ATP"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "359" y = "384" type = "centerPoint"/>
+                           <jd2:pt x = "359" y = "415" type = "controlPoint"/>
+                           <jd2:pt x = "359" y = "400" type = "controlPoint"/>
+                           <jd2:pt x = "366" y = "450" type = "product" speciesRef = "glycerate_3_phosphate"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "359" y = "384" type = "centerPoint"/>
+                           <jd2:pt x = "359" y = "415" type = "controlPoint"/>
+                           <jd2:pt x = "323" y = "396" type = "controlPoint"/>
+                           <jd2:pt x = "249" y = "409" type = "product" speciesRef = "NADH"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J5" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "glycerate_3_phosphate" stoichiometry = "1"/>
+                     <jd2:speciesReference species = "ADP" stoichiometry = "1">
+                        <jd2:aliasRef aliasRef = "___ADP_0"/>
+                     </jd2:speciesReference>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "ATP" stoichiometry = "1">
+                        <jd2:aliasRef aliasRef = "___ATP_0"/>
+                     </jd2:speciesReference>
+                     <jd2:speciesReference species = "pyruvate" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "builtin">
+                     <jd2:rateEquation value = "immBiBi"/>
+                     <jd2:listOfSymbols>
+                        <jd2:parameter id = "J5_k" value = "80"/>
+                     </jd2:listOfSymbols>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF969696" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:edgeCenter x = "355" y = "514"/>
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "366" y = "450" type = "substrate" speciesRef = "glycerate_3_phosphate"/>
+                           <jd2:pt x = "355" y = "481" type = "controlPoint"/>
+                           <jd2:pt x = "355" y = "470" type = "controlPoint"/>
+                           <jd2:pt x = "355" y = "514" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "498" y = "487" type = "substrate" speciesRef = "ADP"/>
+                           <jd2:pt x = "431" y = "487" type = "controlPoint"/>
+                           <jd2:pt x = "355" y = "470" type = "controlPoint"/>
+                           <jd2:pt x = "355" y = "514" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "355" y = "514" type = "centerPoint"/>
+                           <jd2:pt x = "355" y = "558" type = "controlPoint"/>
+                           <jd2:pt x = "424" y = "534" type = "controlPoint"/>
+                           <jd2:pt x = "503" y = "542" type = "product" speciesRef = "ATP"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "355" y = "514" type = "centerPoint"/>
+                           <jd2:pt x = "355" y = "558" type = "controlPoint"/>
+                           <jd2:pt x = "355" y = "540" type = "controlPoint"/>
+                           <jd2:pt x = "361" y = "581" type = "product" speciesRef = "pyruvate"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J6" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "pyruvate" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "Acetyladehyde" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "builtin">
+                     <jd2:rateEquation value = "imm"/>
+                     <jd2:listOfSymbols>
+                        <jd2:parameter id = "J6_k" value = "9.7"/>
+                     </jd2:listOfSymbols>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF969696" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "361" y = "581" type = "substrate" speciesRef = "pyruvate"/>
+                           <jd2:pt x = "355" y = "617" type = "controlPoint"/>
+                           <jd2:pt x = "355" y = "617" type = "controlPoint"/>
+                           <jd2:pt x = "363" y = "664" type = "product" speciesRef = "Acetyladehyde"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J7" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "Acetyladehyde" stoichiometry = "1"/>
+                     <jd2:speciesReference species = "NADH" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "NAD" stoichiometry = "1">
+                        <jd2:aliasRef aliasRef = "___NAD_0"/>
+                     </jd2:speciesReference>
+                     <jd2:speciesReference species = "ethanol" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "builtin">
+                     <jd2:rateEquation value = "immBiBi"/>
+                     <jd2:listOfSymbols>
+                        <jd2:parameter id = "J7_k" value = "2000"/>
+                     </jd2:listOfSymbols>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF969696" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:edgeCenter x = "230" y = "680"/>
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "363" y = "664" type = "substrate" speciesRef = "Acetyladehyde"/>
+                           <jd2:pt x = "280" y = "666" type = "controlPoint"/>
+                           <jd2:pt x = "274" y = "662" type = "controlPoint"/>
+                           <jd2:pt x = "230" y = "680" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "substrate">
+                           <jd2:pt x = "238" y = "610" type = "substrate" speciesRef = "NADH"/>
+                           <jd2:pt x = "250" y = "641" type = "controlPoint"/>
+                           <jd2:pt x = "274" y = "662" type = "controlPoint"/>
+                           <jd2:pt x = "230" y = "680" type = "centerPoint"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "230" y = "680" type = "centerPoint"/>
+                           <jd2:pt x = "186" y = "698" type = "controlPoint"/>
+                           <jd2:pt x = "181" y = "681" type = "controlPoint"/>
+                           <jd2:pt x = "145" y = "650" type = "product" speciesRef = "NAD"/>
+                        </jd2:edge>
+                        <jd2:edge type = "product">
+                           <jd2:pt x = "230" y = "680" type = "centerPoint"/>
+                           <jd2:pt x = "186" y = "698" type = "controlPoint"/>
+                           <jd2:pt x = "176" y = "702" type = "controlPoint"/>
+                           <jd2:pt x = "161" y = "750" type = "product" speciesRef = "ethanol"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J8" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "Acetyladehyde" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "External_acetaldehyde" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "builtin">
+                     <jd2:rateEquation value = "rmm"/>
+                     <jd2:listOfSymbols>
+                        <jd2:parameter id = "J8_k1" value = "375"/>
+                        <jd2:parameter id = "J8_k2" value = "375"/>
+                     </jd2:listOfSymbols>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF969696" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "363" y = "664" type = "substrate" speciesRef = "Acetyladehyde"/>
+                           <jd2:pt x = "418" y = "694" type = "controlPoint"/>
+                           <jd2:pt x = "418" y = "694" type = "controlPoint"/>
+                           <jd2:pt x = "487" y = "734" type = "product" speciesRef = "External_acetaldehyde"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J9" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "ATP" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "ADP" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "builtin">
+                     <jd2:rateEquation value = "imm"/>
+                     <jd2:listOfSymbols>
+                        <jd2:parameter id = "J9_k" value = "28"/>
+                     </jd2:listOfSymbols>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF969696" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "526" y = "91" type = "substrate" speciesRef = "ATP"/>
+                           <jd2:pt x = "604" y = "133" type = "controlPoint"/>
+                           <jd2:pt x = "607" y = "136" type = "controlPoint"/>
+                           <jd2:pt x = "523" y = "184" type = "product" speciesRef = "ADP"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J10" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "External_acetaldehyde" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "Sink" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "builtin">
+                     <jd2:rateEquation value = "imm"/>
+                     <jd2:listOfSymbols>
+                        <jd2:parameter id = "J10_k" value = "80"/>
+                     </jd2:listOfSymbols>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF969696" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "487" y = "734" type = "substrate" speciesRef = "External_acetaldehyde"/>
+                           <jd2:pt x = "532" y = "756" type = "controlPoint"/>
+                           <jd2:pt x = "532" y = "756" type = "controlPoint"/>
+                           <jd2:pt x = "591" y = "789" type = "product" speciesRef = "Sink"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+            </jd2:listOfReactions>
+         </jd2:JDesignerLayout>
+      </annotation>
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "Glucose" boundaryCondition = "false" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "fructose_1_6_bisphosphate" boundaryCondition = "false" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "glyceraldehyde_3_phosphate" boundaryCondition = "false" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "glycerate_3_phosphate" boundaryCondition = "false" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "pyruvate" boundaryCondition = "false" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "Acetyladehyde" boundaryCondition = "false" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "External_acetaldehyde" boundaryCondition = "false" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "ATP" boundaryCondition = "false" initialConcentration = "3" compartment = "compartment"/>
+         <species id = "ADP" boundaryCondition = "false" initialConcentration = "1" compartment = "compartment"/>
+         <species id = "NAD" boundaryCondition = "false" initialConcentration = "0.5" compartment = "compartment"/>
+         <species id = "NADH" boundaryCondition = "false" initialConcentration = "0.5" compartment = "compartment"/>
+         <species id = "External_glucose" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "ethanol" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "Glycerol" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "Sink" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "J0_inputFlux" value = "50"/>
+         <parameter id = "J1_k1" value = "550"/>
+         <parameter id = "J1_Ki" value = "1"/>
+         <parameter id = "J1_n" value = "4"/>
+         <parameter id = "J2_J2_k" value = "9.8"/>
+         <parameter id = "J3_J3_k" value = "85.7"/>
+         <parameter id = "J4_kg" value = "323.8"/>
+         <parameter id = "J4_kp" value = "76411.1"/>
+         <parameter id = "J4_ka" value = "57823.1"/>
+         <parameter id = "J4_kk" value = "23.7"/>
+         <parameter id = "J5_J5_k" value = "80"/>
+         <parameter id = "J6_J6_k" value = "9.7"/>
+         <parameter id = "J7_J7_k" value = "2000"/>
+         <parameter id = "J8_J8_k1" value = "375"/>
+         <parameter id = "J8_J8_k2" value = "375"/>
+         <parameter id = "J9_J9_k" value = "28"/>
+         <parameter id = "J10_J10_k" value = "80"/>
+         <parameter id = "J2_k" value = "9.8"/>
+         <parameter id = "J3_k" value = "85.7"/>
+         <parameter id = "J5_k" value = "80"/>
+         <parameter id = "J6_k" value = "9.7"/>
+         <parameter id = "J7_k" value = "2000"/>
+         <parameter id = "J8_k1" value = "375"/>
+         <parameter id = "J8_k2" value = "375"/>
+         <parameter id = "J9_k" value = "28"/>
+         <parameter id = "J10_k" value = "80"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "J0" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "External_glucose" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "Glucose" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <ci>
+                        J0_inputFlux
+                  </ci>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J1" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "Glucose" stoichiometry = "1"/>
+               <speciesReference species = "ATP" stoichiometry = "2"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "fructose_1_6_bisphosphate" stoichiometry = "1"/>
+               <speciesReference species = "ADP" stoichiometry = "2"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           J1_k1
+                     </ci>
+                     <ci>
+                           Glucose
+                     </ci>
+                     <ci>
+                           ATP
+                     </ci>
+                     <apply>
+                        <divide/>
+                        <cn type = "integer">
+                              1
+                        </cn>
+                        <apply>
+                           <plus/>
+                           <cn type = "integer">
+                                 1
+                           </cn>
+                           <apply>
+                              <power/>
+                              <apply>
+                                 <divide/>
+                                 <ci>
+                                       ATP
+                                 </ci>
+                                 <ci>
+                                       J1_Ki
+                                 </ci>
+                              </apply>
+                              <ci>
+                                    J1_n
+                              </ci>
+                           </apply>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J2" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "fructose_1_6_bisphosphate" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "glyceraldehyde_3_phosphate" stoichiometry = "1"/>
+               <speciesReference species = "glyceraldehyde_3_phosphate" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           J2_J2_k
+                     </ci>
+                     <ci>
+                           fructose_1_6_bisphosphate
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J3" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "glyceraldehyde_3_phosphate" stoichiometry = "1"/>
+               <speciesReference species = "NADH" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "NAD" stoichiometry = "1"/>
+               <speciesReference species = "Glycerol" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           J3_J3_k
+                     </ci>
+                     <ci>
+                           glyceraldehyde_3_phosphate
+                     </ci>
+                     <ci>
+                           NADH
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J4" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "glyceraldehyde_3_phosphate" stoichiometry = "1"/>
+               <speciesReference species = "ADP" stoichiometry = "1"/>
+               <speciesReference species = "NAD" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "ATP" stoichiometry = "1"/>
+               <speciesReference species = "glycerate_3_phosphate" stoichiometry = "1"/>
+               <speciesReference species = "NADH" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 J4_kg
+                           </ci>
+                           <ci>
+                                 J4_kp
+                           </ci>
+                           <ci>
+                                 glyceraldehyde_3_phosphate
+                           </ci>
+                           <ci>
+                                 NAD
+                           </ci>
+                           <ci>
+                                 ADP
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 J4_ka
+                           </ci>
+                           <ci>
+                                 J4_kk
+                           </ci>
+                           <ci>
+                                 glycerate_3_phosphate
+                           </ci>
+                           <ci>
+                                 ATP
+                           </ci>
+                           <ci>
+                                 NADH
+                           </ci>
+                        </apply>
+                     </apply>
+                     <apply>
+                        <plus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 J4_ka
+                           </ci>
+                           <ci>
+                                 NADH
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 J4_kp
+                           </ci>
+                           <ci>
+                                 ADP
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J5" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "glycerate_3_phosphate" stoichiometry = "1"/>
+               <speciesReference species = "ADP" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "ATP" stoichiometry = "1"/>
+               <speciesReference species = "pyruvate" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           J5_J5_k
+                     </ci>
+                     <ci>
+                           glycerate_3_phosphate
+                     </ci>
+                     <ci>
+                           ADP
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J6" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "pyruvate" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "Acetyladehyde" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           J6_J6_k
+                     </ci>
+                     <ci>
+                           pyruvate
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J7" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "Acetyladehyde" stoichiometry = "1"/>
+               <speciesReference species = "NADH" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "NAD" stoichiometry = "1"/>
+               <speciesReference species = "ethanol" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           J7_J7_k
+                     </ci>
+                     <ci>
+                           Acetyladehyde
+                     </ci>
+                     <ci>
+                           NADH
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J8" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "Acetyladehyde" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "External_acetaldehyde" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <minus/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J8_J8_k1
+                        </ci>
+                        <ci>
+                              Acetyladehyde
+                        </ci>
+                     </apply>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J8_J8_k2
+                        </ci>
+                        <ci>
+                              External_acetaldehyde
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J9" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "ATP" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "ADP" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           J9_J9_k
+                     </ci>
+                     <ci>
+                           ATP
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J10" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "External_acetaldehyde" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "Sink" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           J10_J10_k
+                     </ci>
+                     <ci>
+                           External_acetaldehyde
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
diff --git a/data/sosbench/10001/10001-settings.txt b/data/sosbench/10001/10001-settings.txt
new file mode 100644
index 0000000..8e76c88
--- /dev/null
+++ b/data/sosbench/10001/10001-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 0.001
+steps: 1
+variables:  Glucose, fructose_1_6_bisphosphate, glyceraldehyde_3_phosphate, glycerate_3_phosphate, pyruvate, Acetyladehyde, External_acetaldehyde, ATP, ADP, NAD, NADH
+absolute: 1.0e-4
+relative: 1.0e-9
+amount: 
+concentration: Glucose, fructose_1_6_bisphosphate, glyceraldehyde_3_phosphate, glycerate_3_phosphate, pyruvate, Acetyladehyde, External_acetaldehyde, ATP, ADP, NAD, NADH
+
diff --git a/data/sosbench/14/14-sbml-l2v4.xml b/data/sosbench/14/14-sbml-l2v4.xml
new file mode 100644
index 0000000..27a01ee
--- /dev/null
+++ b/data/sosbench/14/14-sbml-l2v4.xml
@@ -0,0 +1,12390 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+
+<!-- This model was downloaded from BioModels Database -->
+<!-- Tue Apr 22 05:56:43 BST 2014                      -->
+<!-- http://www.ebi.ac.uk/biomodels/                   -->
+
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" metaid="_001885" version="1">
+  <model id="MAPK_in_Scaffold" name="Levchenko2000_MAPK_Scaffold" metaid="_000001">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <h1>MAPK cascade on a scaffold</h1>
+            <table border="0" cellpadding="2" cellspacing="0">      <thead>        <tr>          <th align="left" bgcolor="#eeeeee" valign="middle">Citation</th>
+                        </tr>
+                    </thead>
+                <tbody>        <tr>          <td>Levchenko, A., Bruck, J., Sternberg, P.W. (2000)
+							.Scaffold proteins may biphasically affect the levels of mitogen-activated protein kinase signaling and reduce its threshold properties. Proc. Natl. Acad. Sci. USA 97(11):5818-5823.            <a href="http://www.pnas.org/cgi/content/abstract/97/11/5818">http://www.pnas.org/cgi/content/abstract/97/11/5818</a>
+                            </td>
+                        </tr>
+                    </tbody>
+                </table>
+            <table border="0" cellpadding="2" cellspacing="0">      <thead>        <tr>          <th align="left" bgcolor="#eeeeee" valign="middle">Description</th>
+                        </tr>
+                    </thead>
+                <tbody>        <tr>          <td>This model describes a basic 3-stage Mitogen Activated Protein Kinase (MAPK). Kinases in solution are written as  K[3,J], K[2,J], K[1,J] for MAPKKK, MAPKK, and MAPK, respectively, J indicates the phosphorylation level, J=0,1 for K3 and J=0,1,2 for K2 and K1. Scaffolds have three slots, for MAPK, MAPKK, and MAPKKK, respectively. Bound and free scaffold are denoted as S[i,j,k], where i, j, and k indicate the binding of K[1,i], K[2,j] and K[3 [...]
+                        </tr>
+                    </tbody>
+                </table>
+            <table border="0" cellpadding="2" cellspacing="0">      <thead>        <tr>          <th align="left" bgcolor="#eeeeee" valign="middle">Rate constant      </th>
+                        <th align="left" bgcolor="#eeeeee" valign="middle">Reaction</th>
+                        </tr>
+                    </thead>
+                <tbody>        <tr>          <td>a10 = 5.</td>
+                        <td>MAPKP + K[1, 2] -> K_MAPKP[1, 2]</td>
+                        </tr>
+                    <tr>          <td>a1 = 1.</td>
+                        <td>RAFK + K[3, 0] -> K_RAFK[3, 0]</td>
+                        </tr>
+                    <tr>          <td>a2 = 0.5</td>
+                        <td>RAFP + K[3, 1] -> K_RAFP[3, 1]</td>
+                        </tr>
+                    <tr>          <td>a3 = 3.3</td>
+                        <td>K[2, 0] + K[3, 1] -> K_K[2, 0, 3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>a4 = 10.</td>
+                        <td>MEKP + K[2, 1] -> K_MEKP[2, 1]</td>
+                        </tr>
+                    <tr>          <td>a5 = 3.3</td>
+                        <td>K[2, 1] + K[3, 1] -> K_K[2, 1, 3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>a6 = 10.</td>
+                        <td>MEKP + K[2, 2] -> K_MEKP[2, 2]</td>
+                        </tr>
+                    <tr>          <td>a7 = 20.</td>
+                        <td>K[1, 0] + K[2, 2] -> K_K[1, 0, 2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>a8 = 5.</td>
+                        <td>MAPKP + K[1, 1] -> K_MAPKP[1, 1]</td>
+                        </tr>
+                    <tr>          <td>a9 = 20.</td>
+                        <td>K[1, 1] + K[2, 2] -> K_K[1, 1, 2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>d10 = 0.4</td>
+                        <td>K_MAPKP[1, 2] -> MAPKP + K[1, 2]</td>
+                        </tr>
+                    <tr>          <td>d1 = 0.4</td>
+                        <td>K_RAFK[3, 0] -> RAFK + K[3, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[0, 0, 0] -> RAFK + S[0, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[0, -1, 0] -> RAFK + S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[0, 1, 0] -> RAFK + S[0, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[0, 2, 0] -> RAFK + S[0, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[-1, 0, 0] -> RAFK + S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[1, 0, 0] -> RAFK + S[1, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[-1, -1, 0] -> RAFK + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[-1, 1, 0] -> RAFK + S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[1, -1, 0] -> RAFK + S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[1, 1, 0] -> RAFK + S[1, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[-1, 2, 0] -> RAFK + S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[1, 2, 0] -> RAFK + S[1, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[2, 0, 0] -> RAFK + S[2, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[2, -1, 0] -> RAFK + S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[2, 1, 0] -> RAFK + S[2, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>d1a = 0</td>
+                        <td>S_RAFK[2, 2, 0] -> RAFK + S[2, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>d2 = 0.5</td>
+                        <td>K_RAFP[3, 1] -> RAFP + K[3, 1]</td>
+                        </tr>
+                    <tr>          <td>d3 = 0.42</td>
+                        <td>K_K[2, 0, 3, 1] -> K[2, 0] + K[3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>d4 = 0.8</td>
+                        <td>K_MEKP[2, 1] -> MEKP + K[2, 1]</td>
+                        </tr>
+                    <tr>          <td>d5 = 0.4</td>
+                        <td>K_K[2, 1, 3, 1] -> K[2, 1] + K[3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>d6 = 0.8</td>
+                        <td>K_MEKP[2, 2] -> MEKP + K[2, 2]</td>
+                        </tr>
+                    <tr>          <td>d7 = 0.6</td>
+                        <td>K_K[1, 0, 2, 2] -> K[1, 0] + K[2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>d8 = 0.4</td>
+                        <td>K_MAPKP[1, 1] -> MAPKP + K[1, 1]</td>
+                        </tr>
+                    <tr>          <td>d9 = 0.6</td>
+                        <td>K_K[1, 1, 2, 2] -> K[1, 1] + K[2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>k10 = 0.1</td>
+                        <td>K_MAPKP[1, 2] -> MAPKP + K[1, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>K_RAFK[3, 0] -> RAFK + K[3, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[0, 0, 0] -> RAFK + S[0, 0, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[0, -1, 0] -> RAFK + S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[0, 1, 0] -> RAFK + S[0, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[0, 2, 0] -> RAFK + S[0, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[-1, 0, 0] -> RAFK + S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[1, 0, 0] -> RAFK + S[1, 0, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[-1, -1, 0] -> RAFK + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[-1, 1, 0] -> RAFK + S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[1, -1, 0] -> RAFK + S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[1, 1, 0] -> RAFK + S[1, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[-1, 2, 0] -> RAFK + S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[1, 2, 0] -> RAFK + S[1, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[2, 0, 0] -> RAFK + S[2, 0, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[2, -1, 0] -> RAFK + S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[2, 1, 0] -> RAFK + S[2, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k1 = 0.1</td>
+                        <td>S_RAFK[2, 2, 0] -> RAFK + S[2, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[0, 0, 0] -> S_RAFK[0, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[0, -1, 0] -> S_RAFK[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[0, 1, 0] -> S_RAFK[0, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[0, 2, 0] -> S_RAFK[0, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[-1, 0, 0] -> S_RAFK[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[1, 0, 0] -> S_RAFK[1, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[-1, -1, 0] -> S_RAFK[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[-1, 1, 0] -> S_RAFK[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[1, -1, 0] -> S_RAFK[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[1, 1, 0] -> S_RAFK[1, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[-1, 2, 0] -> S_RAFK[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[1, 2, 0] -> S_RAFK[1, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[2, 0, 0] -> S_RAFK[2, 0, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[2, -1, 0] -> S_RAFK[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[2, 1, 0] -> S_RAFK[2, 1, 0]</td>
+                        </tr>
+                    <tr>          <td>k1a = 100</td>
+                        <td>RAFK + S[2, 2, 0] -> S_RAFK[2, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>k2 = 0.1</td>
+                        <td>K_RAFP[3, 1] -> RAFP + K[3, 0]</td>
+                        </tr>
+                    <tr>          <td>k3 = 0.1</td>
+                        <td>K_K[2, 0, 3, 1] -> K[2, 1] + K[3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k3 = 0.1</td>
+                        <td>S[0, 0, 1] -> S[0, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k3 = 0.1</td>
+                        <td>S[-1, 0, 1] -> S[-1, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k3 = 0.1</td>
+                        <td>S[1, 0, 1] -> S[1, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k3 = 0.1</td>
+                        <td>S[2, 0, 1] -> S[2, 1, 1]</td>
+                        </tr>
+                    <tr>          <td>k4 = 0.1</td>
+                        <td>K_MEKP[2, 1] -> MEKP + K[2, 0]</td>
+                        </tr>
+                    <tr>          <td>k5 = 0.1</td>
+                        <td>K_K[2, 1, 3, 1] -> K[2, 2] + K[3,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>k5a = 0.1</td>
+                        <td>S[0, 1, 1] -> S[0, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k5a = 0.1</td>
+                        <td>S[-1, 1, 1] -> S[-1, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k5a = 0.1</td>
+                        <td>S[1, 1, 1] -> S[1, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k5a = 0.1</td>
+                        <td>S[2, 1, 1] -> S[2, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k6 = 0.1</td>
+                        <td>K_MEKP[2, 2] -> MEKP + K[2, 1]</td>
+                        </tr>
+                    <tr>          <td>k7 = 0.1</td>
+                        <td>K_K[1, 0, 2, 2] -> K[1, 1] + K[2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>k7 = 0.1</td>
+                        <td>S[0, 2, 0] -> S[1, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>k7 = 0.1</td>
+                        <td>S[0, 2, -1] -> S[1, 2, -1]</td>
+                        </tr>
+                    <tr>          <td>k7 = 0.1</td>
+                        <td>S[0, 2, 1] -> S[1, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>k8 = 0.1</td>
+                        <td>K_MAPKP[1, 1] -> MAPKP + K[1, 0]</td>
+                        </tr>
+                    <tr>          <td>k9 = 0.1</td>
+                        <td>K_K[1, 1, 2, 2] -> K[1, 2] + K[2,
+							 2]</td>
+                        </tr>
+                    <tr>          <td>k9a = 0.1</td>
+                        <td>S[1, 2, 0] -> S[2, 2, 0]</td>
+                        </tr>
+                    <tr>          <td>k9a = 0.1</td>
+                        <td>S[1, 2, -1] -> S[2, 2, -1]</td>
+                        </tr>
+                    <tr>          <td>k9a = 0.1</td>
+                        <td>S[1, 2, 1] -> S[2, 2, 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, 0] -> K[1, 0] + S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, 0] -> K[2, 0] + S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, 0] -> K[3, 0] + S[0, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, -1] -> K[1, 0] + S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, 1] -> K[1, 0] + S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, -1] -> K[2, 0] + S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 0, 1] -> K[2, 0] + S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, -1, 0] -> K[1, 0] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 1, 0] -> K[1, 0] + S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, -1, 0] -> K[3, 0] + S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 1, 0] -> K[3, 0] + S[0, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, -1, -1] -> K[1, 0] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, -1, 1] -> K[1, 0] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 1, -1] -> K[1, 0] + S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 1, 1] -> K[1, 0] + S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 2, 0] -> K[1, 0] + S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 2, 0] -> K[3, 0] + S[0, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 2, -1] -> K[1, 0] + S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[0, 2, 1] -> K[1, 0] + S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 0, 0] -> K[2, 0] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 0, 0] -> K[2, 0] + S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 0, 0] -> K[3, 0] + S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 0, 0] -> K[3, 0] + S[1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 0, -1] -> K[2, 0] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 0, 1] -> K[2, 0] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 0, -1] -> K[2, 0] + S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 0, 1] -> K[2, 0] + S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, -1, 0] -> K[3, 0] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 1, 0] -> K[3, 0] + S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, -1, 0] -> K[3, 0] + S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 1, 0] -> K[3, 0] + S[1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[-1, 2, 0] -> K[3, 0] + S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[1, 2, 0] -> K[3, 0] + S[1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 0, 0] -> K[2, 0] + S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 0, 0] -> K[3, 0] + S[2, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 0, -1] -> K[2, 0] + S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 0, 1] -> K[2, 0] + S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, -1, 0] -> K[3, 0] + S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 1, 0] -> K[3, 0] + S[2, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>koff = 0.5</td>
+                        <td>S[2, 2, 0] -> K[3, 0] + S[2, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 0, 0] -> S[0, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 0, -1] -> S[0, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 0, 1] -> S[0, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, -1, 0] -> S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 1, 0] -> S[0, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, -1, -1] -> S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, -1, 1] -> S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 1, -1] -> S[0, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 1, 1] -> S[0, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 2, 0] -> S[0, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 2, -1] -> S[0, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[1, 0] + S[-1, 2, 1] -> S[0, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[0, -1, 0] -> S[0, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[0, -1, -1] -> S[0, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[0, -1, 1] -> S[0, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[-1, -1, 0] -> S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[1, -1, 0] -> S[1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[-1, -1, -1] -> S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[-1, -1, 1] -> S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[1, -1, -1] -> S[1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[1, -1, 1] -> S[1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[2, -1, 0] -> S[2, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[2, -1, -1] -> S[2, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[2, 0] + S[2, -1, 1] -> S[2, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[0, 0, -1] -> S[0, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[0, -1, -1] -> S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[0, 1, -1] -> S[0, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[0, 2, -1] -> S[0, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[-1, 0, -1] -> S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[1, 0, -1] -> S[1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[-1, -1, -1] -> S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[-1, 1, -1] -> S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[1, -1, -1] -> S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[1, 1, -1] -> S[1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[-1, 2, -1] -> S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[1, 2, -1] -> S[1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[2, 0, -1] -> S[2, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[2, -1, -1] -> S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[2, 1, -1] -> S[2, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kon = 10</td>
+                        <td>K[3, 0] + S[2, 2, -1] -> S[2, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 0, 1] -> K[3, 1] + S[0, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 1, 0] -> K[2, 1] + S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 1, -1] -> K[2, 1] + S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 1, 1] -> K[2, 1] + S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, -1, 1] -> K[3, 1] + S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 1, 1] -> K[3, 1] + S[0, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 2, 0] -> K[2, 2] + S[0, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 2, -1] -> K[2, 2] + S[0, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 2, 1] -> K[2, 2] + S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[0, 2, 1] -> K[3, 1] + S[0, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 0, 0] -> K[1, 1] + S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 0, -1] -> K[1, 1] + S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 0, 1] -> K[1, 1] + S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 0, 1] -> K[3, 1] + S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 0, 1] -> K[3, 1] + S[1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, -1, 0] -> K[1, 1] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, 0] -> K[1, 1] + S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 1, 0] -> K[2, 1] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, 0] -> K[2, 1] + S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, -1, -1] -> K[1, 1] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, -1, 1] -> K[1, 1] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, -1] -> K[1, 1] + S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, 1] -> K[1, 1] + S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 1, -1] -> K[2, 1] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 1, 1] -> K[2, 1] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, -1] -> K[2, 1] + S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, 1] -> K[2, 1] + S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, -1, 1] -> K[3, 1] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 1, 1] -> K[3, 1] + S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, -1, 1] -> K[3, 1] + S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 1, 1] -> K[3, 1] + S[1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, 0] -> K[1, 1] + S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 2, 0] -> K[2, 2] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, 0] -> K[2, 2] + S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, -1] -> K[1, 1] + S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, 1] -> K[1, 1] + S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 2, -1] -> K[2, 2] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 2, 1] -> K[2, 2] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, -1] -> K[2, 2] + S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, 1] -> K[2, 2] + S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[-1, 2, 1] -> K[3, 1] + S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[1, 2, 1] -> K[3, 1] + S[1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 0, 0] -> K[1, 2] + S[-1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 0, -1] -> K[1, 2] + S[-1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 0, 1] -> K[1, 2] + S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 0, 1] -> K[3, 1] + S[2, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, -1, 0] -> K[1, 2] + S[-1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, 0] -> K[1, 2] + S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, 0] -> K[2, 1] + S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, -1, -1] -> K[1, 2] + S[-1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, -1, 1] -> K[1, 2] + S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, -1] -> K[1, 2] + S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, 1] -> K[1, 2] + S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, -1] -> K[2, 1] + S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, 1] -> K[2, 1] + S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, -1, 1] -> K[3, 1] + S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 1, 1] -> K[3, 1] + S[2, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, 0] -> K[1, 2] + S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, 0] -> K[2, 2] + S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, -1] -> K[1, 2] + S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, 1] -> K[1, 2] + S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, -1] -> K[2, 2] + S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, 1] -> K[2, 2] + S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpoff = 0.05</td>
+                        <td>S[2, 2, 1] -> K[3, 1] + S[2, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 0, 0] -> S[1, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 0, -1] -> S[1, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 0, 1] -> S[1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, -1, 0] -> S[1, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 1, 0] -> S[1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, -1, -1] -> S[1, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, -1, 1] -> S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 1, -1] -> S[1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 1, 1] -> S[1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 2, 0] -> S[1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 2, -1] -> S[1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 1] + S[-1, 2, 1] -> S[1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 0, 0] -> S[2, 0,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 0, -1] -> S[2, 0,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 0, 1] -> S[2, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, -1, 0] -> S[2, -1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 1, 0] -> S[2, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, -1, -1] -> S[2, -1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, -1, 1] -> S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 1, -1] -> S[2, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 1, 1] -> S[2, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 2, 0] -> S[2, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 2, -1] -> S[2, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[1, 2] + S[-1, 2, 1] -> S[2, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[0, -1, 0] -> S[0, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[0, -1, -1] -> S[0, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[0, -1, 1] -> S[0, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[-1, -1, 0] -> S[-1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[1, -1, 0] -> S[1, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[-1, -1, -1] -> S[-1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[-1, -1, 1] -> S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[1, -1, -1] -> S[1, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[1, -1, 1] -> S[1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[2, -1, 0] -> S[2, 1,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[2, -1, -1] -> S[2, 1,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 1] + S[2, -1, 1] -> S[2, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[0, -1, 0] -> S[0, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[0, -1, -1] -> S[0, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[0, -1, 1] -> S[0, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[-1, -1, 0] -> S[-1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[1, -1, 0] -> S[1, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[-1, -1, -1] -> S[-1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[-1, -1, 1] -> S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[1, -1, -1] -> S[1, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[1, -1, 1] -> S[1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[2, -1, 0] -> S[2, 2,
+							 0]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[2, -1, -1] -> S[2, 2,
+							 -1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[2, 2] + S[2, -1, 1] -> S[2, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[0, 0, -1] -> S[0, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[0, -1, -1] -> S[0, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[0, 1, -1] -> S[0, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[0, 2, -1] -> S[0, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[-1, 0, -1] -> S[-1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[1, 0, -1] -> S[1, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[-1, -1, -1] -> S[-1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[-1, 1, -1] -> S[-1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[1, -1, -1] -> S[1, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[1, 1, -1] -> S[1, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[-1, 2, -1] -> S[-1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[1, 2, -1] -> S[1, 2,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[2, 0, -1] -> S[2, 0,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[2, -1, -1] -> S[2, -1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[2, 1, -1] -> S[2, 1,
+							 1]</td>
+                        </tr>
+                    <tr>          <td>kpon = 0</td>
+                        <td>K[3, 1] + S[2, 2, -1] -> S[2, 2,
+							 1]</td>
+                        </tr>
+                    </tbody>
+                </table>
+            <table border="0" cellpadding="2" cellspacing="0">      <thead>        <tr>          <th align="left" bgcolor="#eeeeee" valign="middle">Variable</th>
+                        <th align="left" bgcolor="#eeeeee" valign="middle">IC  </th>
+                        <th align="left" bgcolor="#eeeeee" valign="middle">ODE</th>
+                        </tr>
+                    </thead>
+                <tbody>        <tr>          <td>MAPKP</td>
+                        <td>0.3</td>
+                        <td>MAPKP'[t] == -(a8*MAPKP[t]*K[1, 1][t]) - a10*MAPKP[
+							t]*K[1, 2][t] + d8*K_MAPKP[1, 1][t] + k8*K_MAPKP[
+							1, 1][t] + d10*K_MAPKP[1, 2][t] + k10*K_MAPKP[1,
+							 2][t]</td>
+                        </tr>
+                    <tr>          <td>MEKP</td>
+                        <td>0.2</td>
+                        <td>MEKP'[t] == -(a4*MEKP[t]*K[2, 1][t]) - a6*MEKP[t]*
+							K[2, 2][t] + d4*K_MEKP[2, 1][t] + k4*K_MEKP[2,
+							 1][t] + d6*K_MEKP[2, 2][t] + k6*K_MEKP[2, 2]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>RAFK</td>
+                        <td>0.1</td>
+                        <td>RAFK'[t] == -(a1*RAFK[t]*K[3, 0][t]) + d1*K_RAFK[3,
+							 0][t] + k1*K_RAFK[3, 0][t] - k1a*RAFK[t]*S[-1,
+							 -1, 0][t] - k1a*RAFK[t]*S[-1, 0, 0][t] -
+							 k1a*RAFK[t]*S[-1, 1, 0][t] - k1a*RAFK[t]*S[-1, 2,
+							 0][t] - k1a*RAFK[t]*S[0, -1, 0][t] - k1a*
+							RAFK[t]*S[0, 0, 0][t] - k1a*RAFK[t]*S[0, 1, 0][t]
+							 - k1a*RAFK[t]*S[0, 2, 0][t] - k1a*RAFK[t]*S[1,
+							 -1, 0][t] - k1a*RAFK[t]*S[1, 0, 0][t] -
+							 k1a*RAFK[t]*S[1, 1, 0][t] - k1a*RAFK[t]*S[1, 2,
+							 0][t] - k1a*RAFK[t]*S[2, -1, 0][t] - k1a*
+							RAFK[t]*S[2, 0, 0][t] - k1a*RAFK[t]*S[2, 1, 0][t]
+							 - k1a*RAFK[t]*S[2, 2, 0][t] + d1a*S_RAFK[-1,
+							 -1, 0][t] + k1*S_RAFK[-1, -1, 0][t] +
+							 d1a*S_RAFK[-1, 0, 0][t] + k1*S_RAFK[-1, 0,
+							 0][t] + d1a*S_RAFK[-1, 1, 0][t] + k1*S_RAFK[
+							-1, 1, 0][t] + d1a*S_RAFK[-1, 2, 0][t] +
+							 k1*S_RAFK[-1, 2, 0][t] + d1a*S_RAFK[0, -1,
+							 0][t] + k1*S_RAFK[0, -1, 0][t] + d1a*S_RAFK[
+							0, 0, 0][t] + k1*S_RAFK[0, 0, 0][t] +
+							 d1a*S_RAFK[0, 1, 0][t] + k1*S_RAFK[0, 1, 0][
+							t] + d1a*S_RAFK[0, 2, 0][t] + k1*S_RAFK[0, 2,
+							 0][t] + d1a*S_RAFK[1, -1, 0][t] + k1*S_RAFK[
+							1, -1, 0][t] + d1a*S_RAFK[1, 0, 0][t] +
+							 k1*S_RAFK[1, 0, 0][t] + d1a*S_RAFK[1, 1, 0][
+							t] + k1*S_RAFK[1, 1, 0][t] + d1a*S_RAFK[1, 2,
+							 0][t] + k1*S_RAFK[1, 2, 0][t] + d1a*S_RAFK[
+							2, -1, 0][t] + k1*S_RAFK[2, -1, 0][t] +
+							 d1a*S_RAFK[2, 0, 0][t] + k1*S_RAFK[2, 0, 0][
+							t] + d1a*S_RAFK[2, 1, 0][t] + k1*S_RAFK[2, 1,
+							 0][t] + d1a*S_RAFK[2, 2, 0][t] + k1*S_RAFK[
+							2, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>RAFP</td>
+                        <td>0.3</td>
+                        <td>RAFP'[t] == -(a2*RAFP[t]*K[3, 1][t]) + d2*K_RAFP[3,
+							 1][t] + k2*K_RAFP[3, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[1, 0]</td>
+                        <td>0.4</td>
+                        <td>(K[1, 0])'[t] == -(a7*K[1, 0][t]*K[2, 2][t]) +
+							 d7*K_K[1, 0, 2, 2][t] + k8*K_MAPKP[1, 1][t]
+							 - kon*K[1, 0][t]*S[-1, -1, -1][t] - kon*K[1,
+							 0][t]*S[-1, -1, 0][t] - kon*K[1, 0][t]*S[-1,
+							 -1, 1][t] - kon*K[1, 0][t]*S[-1, 0, -1][t]
+							 - kon*K[1, 0][t]*S[-1, 0, 0][t] - kon*K[1,
+							 0][t]*S[-1, 0, 1][t] - kon*K[1, 0][t]*S[-1,
+							 1, -1][t] - kon*K[1, 0][t]*S[-1, 1, 0][t]
+							 - kon*K[1, 0][t]*S[-1, 1, 1][t] - kon*K[1,
+							 0][t]*S[-1, 2, -1][t] - kon*K[1, 0][t]*S[-1,
+							 2, 0][t] - kon*K[1, 0][t]*S[-1, 2, 1][t]
+							 + koff*S[0, -1, -1][t] + koff*S[0, -1,
+							 0][t] + koff*S[0, -1, 1][t] + koff*S[0,
+							 0, -1][t] + koff*S[0, 0, 0][t] + koff*
+							S[0, 0, 1][t] + koff*S[0, 1, -1][t] +
+							 koff*S[0, 1, 0][t] + koff*S[0, 1, 1][t]
+							 + koff*S[0, 2, -1][t] + koff*S[0, 2, 0]
+							[t] + koff*S[0, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[1, 1]</td>
+                        <td>0</td>
+                        <td>(K[1, 1])'[t] == -(a8*MAPKP[t]*K[1, 1][t]) -
+							 a9*K[1, 1][t]*K[2, 2][t] + k7*K_K[1, 0, 2,
+							 2][t] + d9*K_K[1, 1, 2, 2][t] + d8*
+							K_MAPKP[1, 1][t] + k10*K_MAPKP[1, 2][t] - kpon*K[
+							1, 1][t]*S[-1, -1, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 -1, 0][t] - kpon*K[1, 1][t]*S[-1, -1, 1][t]
+							 - kpon*K[1, 1][t]*S[-1, 0, -1][t] - kpon*K[
+							1, 1][t]*S[-1, 0, 0][t] - kpon*K[1, 1][t]*S[-1,
+							 0, 1][t] - kpon*K[1, 1][t]*S[-1, 1, -1][t]
+							 - kpon*K[1, 1][t]*S[-1, 1, 0][t] - kpon*K[1,
+							 1][t]*S[-1, 1, 1][t] - kpon*K[1, 1][t]*S[-1,
+							 2, -1][t] - kpon*K[1, 1][t]*S[-1, 2, 0][t]
+							 - kpon*K[1, 1][t]*S[-1, 2, 1][t] + kpoff*S[
+							1, -1, -1][t] + kpoff*S[1, -1, 0][t] +
+							 kpoff*S[1, -1, 1][t] + kpoff*S[1, 0, -1][t]
+							 + kpoff*S[1, 0, 0][t] + kpoff*S[1, 0,
+							 1][t] + kpoff*S[1, 1, -1][t] + kpoff*S[1,
+							 1, 0][t] + kpoff*S[1, 1, 1][t] + kpoff*
+							S[1, 2, -1][t] + kpoff*S[1, 2, 0][t] +
+							 kpoff*S[1, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[1, 2]</td>
+                        <td>0</td>
+                        <td>(K[1, 2])'[t] == -(a10*MAPKP[t]*K[1, 2][t]) +
+							 k9*K_K[1, 1, 2, 2][t] + d10*K_MAPKP[1, 2][t]
+							 - kpon*K[1, 2][t]*S[-1, -1, -1][t] - kpon*K[
+							1, 2][t]*S[-1, -1, 0][t] - kpon*K[1, 2][t]*S[-1,
+							 -1, 1][t] - kpon*K[1, 2][t]*S[-1, 0, -1][t]
+							 - kpon*K[1, 2][t]*S[-1, 0, 0][t] - kpon*K[1,
+							 2][t]*S[-1, 0, 1][t] - kpon*K[1, 2][t]*S[-1,
+							 1, -1][t] - kpon*K[1, 2][t]*S[-1, 1, 0][t]
+							 - kpon*K[1, 2][t]*S[-1, 1, 1][t] - kpon*K[1,
+							 2][t]*S[-1, 2, -1][t] - kpon*K[1, 2][t]*S[-1,
+							 2, 0][t] - kpon*K[1, 2][t]*S[-1, 2, 1][t]
+							 + kpoff*S[2, -1, -1][t] + kpoff*S[2, -1,
+							 0][t] + kpoff*S[2, -1, 1][t] + kpoff*S[2,
+							 0, -1][t] + kpoff*S[2, 0, 0][t] +
+							 kpoff*S[2, 0, 1][t] + kpoff*S[2, 1, -1][t]
+							 + kpoff*S[2, 1, 0][t] + kpoff*S[2, 1,
+							 1][t] + kpoff*S[2, 2, -1][t] + kpoff*S[2,
+							 2, 0][t] + kpoff*S[2, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[2, 0]</td>
+                        <td>0.2</td>
+                        <td>(K[2, 0])'[t] == -(a3*K[2, 0][t]*K[3, 1][t]) +
+							 d3*K_K[2, 0, 3, 1][t] + k4*K_MEKP[2, 1][t]
+							 - kon*K[2, 0][t]*S[-1, -1, -1][t] - kon*K[2,
+							 0][t]*S[-1, -1, 0][t] - kon*K[2, 0][t]*S[-1,
+							 -1, 1][t] + koff*S[-1, 0, -1][t] +
+							 koff*S[-1, 0, 0][t] + koff*S[-1, 0, 1][t]
+							 - kon*K[2, 0][t]*S[0, -1, -1][t] - kon*K[2,
+							 0][t]*S[0, -1, 0][t] - kon*K[2, 0][t]*S[0, -
+							1, 1][t] + koff*S[0, 0, -1][t] + koff*S[0,
+							 0, 0][t] + koff*S[0, 0, 1][t] - kon*K[
+							2, 0][t]*S[1, -1, -1][t] - kon*K[2, 0][t]*S[1,
+							 -1, 0][t] - kon*K[2, 0][t]*S[1, -1, 1][t]
+							 + koff*S[1, 0, -1][t] + koff*S[1, 0, 0]
+							[t] + koff*S[1, 0, 1][t] - kon*K[2, 0][t]*S[
+							2, -1, -1][t] - kon*K[2, 0][t]*S[2, -1, 0][t]
+							 - kon*K[2, 0][t]*S[2, -1, 1][t] + koff*S[2,
+							 0, -1][t] + koff*S[2, 0, 0][t] + koff*
+							S[2, 0, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[2, 1]</td>
+                        <td>0</td>
+                        <td>(K[2, 1])'[t] == -(a4*MEKP[t]*K[2, 1][t]) -
+							 a5*K[2, 1][t]*K[3, 1][t] + k3*K_K[2, 0, 3,
+							 1][t] + d5*K_K[2, 1, 3, 1][t] + d4*
+							K_MEKP[2, 1][t] + k6*K_MEKP[2, 2][t] - kpon*K[2,
+							 1][t]*S[-1, -1, -1][t] - kpon*K[2, 1][t]*S[-1,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[-1, -1, 1][t]
+							 + kpoff*S[-1, 1, -1][t] + kpoff*S[-1, 1,
+							 0][t] + kpoff*S[-1, 1, 1][t] - kpon*K[2,
+							 1][t]*S[0, -1, -1][t] - kpon*K[2, 1][t]*S[0,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[0, -1, 1][t]
+							 + kpoff*S[0, 1, -1][t] + kpoff*S[0, 1,
+							 0][t] + kpoff*S[0, 1, 1][t] - kpon*K[2,
+							 1][t]*S[1, -1, -1][t] - kpon*K[2, 1][t]*S[1,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[1, -1, 1][t]
+							 + kpoff*S[1, 1, -1][t] + kpoff*S[1, 1,
+							 0][t] + kpoff*S[1, 1, 1][t] - kpon*K[2,
+							 1][t]*S[2, -1, -1][t] - kpon*K[2, 1][t]*S[2,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[2, -1, 1][t]
+							 + kpoff*S[2, 1, -1][t] + kpoff*S[2, 1,
+							 0][t] + kpoff*S[2, 1, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[2, 2]</td>
+                        <td>0</td>
+                        <td>(K[2, 2])'[t] == -(a6*MEKP[t]*K[2, 2][t]) -
+							 a7*K[1, 0][t]*K[2, 2][t] - a9*K[1, 1][t]*K[2,
+							 2][t] + d7*K_K[1, 0, 2, 2][t] + k7*K_K[
+							1, 0, 2, 2][t] + d9*K_K[1, 1, 2, 2][t]
+							 + k9*K_K[1, 1, 2, 2][t] + k5*K_K[2, 1,
+							 3, 1][t] + d6*K_MEKP[2, 2][t] - kpon*K[2,
+							 2][t]*S[-1, -1, -1][t] - kpon*K[2, 2][t]*S[-1,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[-1, -1, 1][t]
+							 + kpoff*S[-1, 2, -1][t] + kpoff*S[-1, 2,
+							 0][t] + kpoff*S[-1, 2, 1][t] - kpon*K[2,
+							 2][t]*S[0, -1, -1][t] - kpon*K[2, 2][t]*S[0,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[0, -1, 1][t]
+							 + kpoff*S[0, 2, -1][t] + kpoff*S[0, 2,
+							 0][t] + kpoff*S[0, 2, 1][t] - kpon*K[2,
+							 2][t]*S[1, -1, -1][t] - kpon*K[2, 2][t]*S[1,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[1, -1, 1][t]
+							 + kpoff*S[1, 2, -1][t] + kpoff*S[1, 2,
+							 0][t] + kpoff*S[1, 2, 1][t] - kpon*K[2,
+							 2][t]*S[2, -1, -1][t] - kpon*K[2, 2][t]*S[2,
+							 -1, 0][t] - kpon*K[2, 2][t]*S[2, -1, 1][t]
+							 + kpoff*S[2, 2, -1][t] + kpoff*S[2, 2,
+							 0][t] + kpoff*S[2, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K[3, 0]</td>
+                        <td>0.3</td>
+                        <td>(K[3, 0])'[t] == -(a1*RAFK[t]*K[3, 0][t]) +
+							 d1*K_RAFK[3, 0][t] + k2*K_RAFP[3, 1][t] -
+							 kon*K[3, 0][t]*S[-1, -1, -1][t] + koff*S[-1,
+							 -1, 0][t] - kon*K[3, 0][t]*S[-1, 0, -1][t]
+							 + koff*S[-1, 0, 0][t] - kon*K[3, 0][t]*S[-1,
+							 1, -1][t] + koff*S[-1, 1, 0][t] - kon*
+							K[3, 0][t]*S[-1, 2, -1][t] + koff*S[-1, 2, 0]
+							[t] - kon*K[3, 0][t]*S[0, -1, -1][t] + koff*
+							S[0, -1, 0][t] - kon*K[3, 0][t]*S[0, 0, -1][
+							t] + koff*S[0, 0, 0][t] - kon*K[3, 0][t]*S[0,
+							 1, -1][t] + koff*S[0, 1, 0][t] - kon*K[
+							3, 0][t]*S[0, 2, -1][t] + koff*S[0, 2, 0][t]
+							 - kon*K[3, 0][t]*S[1, -1, -1][t] + koff*S[1,
+							 -1, 0][t] - kon*K[3, 0][t]*S[1, 0, -1][t]
+							 + koff*S[1, 0, 0][t] - kon*K[3, 0][t]*S[1,
+							 1, -1][t] + koff*S[1, 1, 0][t] - kon*K[
+							3, 0][t]*S[1, 2, -1][t] + koff*S[1, 2, 0][t]
+							 - kon*K[3, 0][t]*S[2, -1, -1][t] + koff*S[2,
+							 -1, 0][t] - kon*K[3, 0][t]*S[2, 0, -1][t]
+							 + koff*S[2, 0, 0][t] - kon*K[3, 0][t]*S[2,
+							 1, -1][t] + koff*S[2, 1, 0][t] - kon*K[
+							3, 0][t]*S[2, 2, -1][t] + koff*S[2, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>K[3, 1]</td>
+                        <td>0</td>
+                        <td>(K[3, 1])'[t] == -(a2*RAFP[t]*K[3, 1][t]) -
+							 a3*K[2, 0][t]*K[3, 1][t] - a5*K[2, 1][t]*K[3,
+							 1][t] + d3*K_K[2, 0, 3, 1][t] + k3*K_K[
+							2, 0, 3, 1][t] + d5*K_K[2, 1, 3, 1][t]
+							 + k5*K_K[2, 1, 3, 1][t] + k1*K_RAFK[3,
+							 0][t] + d2*K_RAFP[3, 1][t] - kpon*K[3, 1][t]
+							*S[-1, -1, -1][t] + kpoff*S[-1, -1, 1][t] -
+							 kpon*K[3, 1][t]*S[-1, 0, -1][t] + kpoff*S[-1,
+							 0, 1][t] - kpon*K[3, 1][t]*S[-1, 1, -1][t]
+							 + kpoff*S[-1, 1, 1][t] - kpon*K[3, 1][t]*S[-
+							1, 2, -1][t] + kpoff*S[-1, 2, 1][t] -
+							 kpon*K[3, 1][t]*S[0, -1, -1][t] + kpoff*S[0,
+							 -1, 1][t] - kpon*K[3, 1][t]*S[0, 0, -1][t]
+							 + kpoff*S[0, 0, 1][t] - kpon*K[3, 1][t]*S[0,
+							 1, -1][t] + kpoff*S[0, 1, 1][t] - kpon*
+							K[3, 1][t]*S[0, 2, -1][t] + kpoff*S[0, 2, 1][
+							t] - kpon*K[3, 1][t]*S[1, -1, -1][t] + kpoff*
+							S[1, -1, 1][t] - kpon*K[3, 1][t]*S[1, 0, -1][
+							t] + kpoff*S[1, 0, 1][t] - kpon*K[3, 1][t]*S[
+							1, 1, -1][t] + kpoff*S[1, 1, 1][t] -
+							 kpon*K[3, 1][t]*S[1, 2, -1][t] + kpoff*S[1,
+							 2, 1][t] - kpon*K[3, 1][t]*S[2, -1, -1][t]
+							 + kpoff*S[2, -1, 1][t] - kpon*K[3, 1][t]*S[
+							2, 0, -1][t] + kpoff*S[2, 0, 1][t] -
+							 kpon*K[3, 1][t]*S[2, 1, -1][t] + kpoff*S[2,
+							 1, 1][t] - kpon*K[3, 1][t]*S[2, 2, -1][t]
+							 + kpoff*S[2, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K_K[1, 0, 2, 2]</td>
+                        <td>0</td>
+                        <td>(K_K[1, 0, 2, 2])'[t] == a7*K[1, 0][t]*K[2,
+							 2][t] - d7*K_K[1, 0, 2, 2][t] - k7*K_K[
+							1, 0, 2, 2][t]</td>
+                        </tr>
+                    <tr>          <td>K_K[1, 1, 2, 2]</td>
+                        <td>0</td>
+                        <td>(K_K[1, 1, 2, 2])'[t] == a9*K[1, 1][t]*K[2,
+							 2][t] - d9*K_K[1, 1, 2, 2][t] - k9*K_K[
+							1, 1, 2, 2][t]</td>
+                        </tr>
+                    <tr>          <td>K_K[2, 0, 3, 1]</td>
+                        <td>0</td>
+                        <td>(K_K[2, 0, 3, 1])'[t] == a3*K[2, 0][t]*K[3,
+							 1][t] - d3*K_K[2, 0, 3, 1][t] - k3*K_K[
+							2, 0, 3, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K_K[2, 1, 3, 1]</td>
+                        <td>0</td>
+                        <td>(K_K[2, 1, 3, 1])'[t] == a5*K[2, 1][t]*K[3,
+							 1][t] - d5*K_K[2, 1, 3, 1][t] - k5*K_K[
+							2, 1, 3, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K_MAPKP[1, 1]</td>
+                        <td>0</td>
+                        <td>(K_MAPKP[1, 1])'[t] == a8*MAPKP[t]*K[1, 1][t] -
+							 d8*K_MAPKP[1, 1][t] - k8*K_MAPKP[1, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K_MAPKP[1, 2]</td>
+                        <td>0</td>
+                        <td>(K_MAPKP[1, 2])'[t] == a10*MAPKP[t]*K[1, 2][t] -
+							 d10*K_MAPKP[1, 2][t] - k10*K_MAPKP[1, 2][t]</td>
+                        </tr>
+                    <tr>          <td>K_MEKP[2, 1]</td>
+                        <td>0</td>
+                        <td>(K_MEKP[2, 1])'[t] == a4*MEKP[t]*K[2, 1][t] -
+							 d4*K_MEKP[2, 1][t] - k4*K_MEKP[2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>K_MEKP[2, 2]</td>
+                        <td>0</td>
+                        <td>(K_MEKP[2, 2])'[t] == a6*MEKP[t]*K[2, 2][t] -
+							 d6*K_MEKP[2, 2][t] - k6*K_MEKP[2, 2][t]</td>
+                        </tr>
+                    <tr>          <td>K_RAFK[3, 0]</td>
+                        <td>0</td>
+                        <td>(K_RAFK[3, 0])'[t] == a1*RAFK[t]*K[3, 0][t] -
+							 d1*K_RAFK[3, 0][t] - k1*K_RAFK[3, 0][t]</td>
+                        </tr>
+                    <tr>          <td>K_RAFP[3, 1]</td>
+                        <td>0</td>
+                        <td>(K_RAFP[3, 1])'[t] == a2*RAFP[t]*K[3, 1][t] -
+							 d2*K_RAFP[3, 1][t] - k2*K_RAFP[3, 1][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, -1, -1]</td>
+                        <td>0.1</td>
+                        <td>(S[-1, -1, -1])'[t] == -(kon*K[1, 0][t]*S[-1,
+							 -1, -1][t]) - kpon*K[1, 1][t]*S[-1, -1, -1][
+							t] - kpon*K[1, 2][t]*S[-1, -1, -1][t] - kon*
+							K[2, 0][t]*S[-1, -1, -1][t] - kpon*K[2, 1][t]*S[-
+							1, -1, -1][t] - kpon*K[2, 2][t]*S[-1, -1, -1]
+							[t] - kon*K[3, 0][t]*S[-1, -1, -1][t] - kpon*
+							K[3, 1][t]*S[-1, -1, -1][t] + koff*S[-1, -1,
+							 0][t] + kpoff*S[-1, -1, 1][t] + koff*S[-1,
+							 0, -1][t] + kpoff*S[-1, 1, -1][t] +
+							 kpoff*S[-1, 2, -1][t] + koff*S[0, -1, -1][t]
+							 + kpoff*S[1, -1, -1][t] + kpoff*S[2, -1,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S[-1, -1, 0])'[t] == kon*K[3, 0][t]*S[-1, -1,
+							 -1][t] - koff*S[-1, -1, 0][t] - k1a*RAFK[t]*
+							S[-1, -1, 0][t] - kon*K[1, 0][t]*S[-1, -1, 0]
+							[t] - kpon*K[1, 1][t]*S[-1, -1, 0][t] - kpon*
+							K[1, 2][t]*S[-1, -1, 0][t] - kon*K[2, 0][t]*S[-1,
+							 -1, 0][t] - kpon*K[2, 1][t]*S[-1, -1, 0][t]
+							 - kpon*K[2, 2][t]*S[-1, -1, 0][t] + koff*S[-
+							1, 0, 0][t] + kpoff*S[-1, 1, 0][t] +
+							 kpoff*S[-1, 2, 0][t] + koff*S[0, -1, 0][t]
+							 + kpoff*S[1, -1, 0][t] + kpoff*S[2, -1,
+							 0][t] + d1a*S_RAFK[-1, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, -1, 1]</td>
+                        <td>0</td>
+                        <td>(S[-1, -1, 1])'[t] == kpon*K[3, 1][t]*S[-1, -
+							1, -1][t] - kpoff*S[-1, -1, 1][t] - kon*K[1,
+							 0][t]*S[-1, -1, 1][t] - kpon*K[1, 1][t]*S[-1,
+							 -1, 1][t] - kpon*K[1, 2][t]*S[-1, -1, 1][t]
+							 - kon*K[2, 0][t]*S[-1, -1, 1][t] - kpon*K[2,
+							 1][t]*S[-1, -1, 1][t] - kpon*K[2, 2][t]*S[-1,
+							 -1, 1][t] + koff*S[-1, 0, 1][t] +
+							 kpoff*S[-1, 1, 1][t] + kpoff*S[-1, 2, 1][t]
+							 + koff*S[0, -1, 1][t] + kpoff*S[1, -1,
+							 1][t] + kpoff*S[2, -1, 1][t] + k1*S_RAFK[-1,
+							 -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 0, -1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 0, -1])'[t] == kon*K[2, 0][t]*S[-1, -1,
+							 -1][t] - koff*S[-1, 0, -1][t] - kon*K[1,
+							 0][t]*S[-1, 0, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 0, -1][t] - kpon*K[1, 2][t]*S[-1, 0, -1][t]
+							 - kon*K[3, 0][t]*S[-1, 0, -1][t] - kpon*K[3,
+							 1][t]*S[-1, 0, -1][t] + koff*S[-1, 0, 0][t]
+							 + kpoff*S[-1, 0, 1][t] + koff*S[0, 0, -
+							1][t] + kpoff*S[1, 0, -1][t] + kpoff*S[2, 0,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S[-1, 0, 0])'[t] == kon*K[2, 0][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[-1, 0, -1][t] -
+							 2*koff*S[-1, 0, 0][t] - k1a*RAFK[t]*S[-1, 0,
+							 0][t] - kon*K[1, 0][t]*S[-1, 0, 0][t] -
+							 kpon*K[1, 1][t]*S[-1, 0, 0][t] - kpon*K[1,
+							 2][t]*S[-1, 0, 0][t] + koff*S[0, 0, 0][t]
+							 + kpoff*S[1, 0, 0][t] + kpoff*S[2, 0,
+							 0][t] + d1a*S_RAFK[-1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 0, 1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 0, 1])'[t] == kon*K[2, 0][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[-1, 0, -1][t] -
+							 k3*S[-1, 0, 1][t] - koff*S[-1, 0, 1][t]
+							 - kpoff*S[-1, 0, 1][t] - kon*K[1, 0][t]*S[-
+							1, 0, 1][t] - kpon*K[1, 1][t]*S[-1, 0, 1][t]
+							 - kpon*K[1, 2][t]*S[-1, 0, 1][t] + koff*S[0,
+							 0, 1][t] + kpoff*S[1, 0, 1][t] + kpoff*
+							S[2, 0, 1][t] + k1*S_RAFK[-1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 1, -1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 1, -1])'[t] == kpon*K[2, 1][t]*S[-1, -
+							1, -1][t] - kpoff*S[-1, 1, -1][t] - kon*K[1,
+							 0][t]*S[-1, 1, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 1, -1][t] - kpon*K[1, 2][t]*S[-1, 1, -1][t]
+							 - kon*K[3, 0][t]*S[-1, 1, -1][t] - kpon*K[3,
+							 1][t]*S[-1, 1, -1][t] + koff*S[-1, 1, 0][t]
+							 + kpoff*S[-1, 1, 1][t] + koff*S[0, 1, -
+							1][t] + kpoff*S[1, 1, -1][t] + kpoff*S[2, 1,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S[-1, 1, 0])'[t] == kpon*K[2, 1][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[-1, 1, -1][t] -
+							 koff*S[-1, 1, 0][t] - kpoff*S[-1, 1, 0][t]
+							 - k1a*RAFK[t]*S[-1, 1, 0][t] - kon*K[1, 0][
+							t]*S[-1, 1, 0][t] - kpon*K[1, 1][t]*S[-1, 1,
+							 0][t] - kpon*K[1, 2][t]*S[-1, 1, 0][t] +
+							 koff*S[0, 1, 0][t] + kpoff*S[1, 1, 0][t]
+							 + kpoff*S[2, 1, 0][t] + d1a*S_RAFK[-1, 1,
+							 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 1, 1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 1, 1])'[t] == kpon*K[2, 1][t]*S[-1, -1,
+							 1][t] + k3*S[-1, 0, 1][t] + kpon*K[3,
+							 1][t]*S[-1, 1, -1][t] - k5a*S[-1, 1, 1][t]
+							 - 2*kpoff*S[-1, 1, 1][t] - kon*K[1, 0][t]*S[
+							-1, 1, 1][t] - kpon*K[1, 1][t]*S[-1, 1, 1][t]
+							 - kpon*K[1, 2][t]*S[-1, 1, 1][t] + koff*S[0,
+							 1, 1][t] + kpoff*S[1, 1, 1][t] + kpoff*
+							S[2, 1, 1][t] + k1*S_RAFK[-1, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 2, -1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 2, -1])'[t] == kpon*K[2, 2][t]*S[-1, -
+							1, -1][t] - kpoff*S[-1, 2, -1][t] - kon*K[1,
+							 0][t]*S[-1, 2, -1][t] - kpon*K[1, 1][t]*S[-1,
+							 2, -1][t] - kpon*K[1, 2][t]*S[-1, 2, -1][t]
+							 - kon*K[3, 0][t]*S[-1, 2, -1][t] - kpon*K[3,
+							 1][t]*S[-1, 2, -1][t] + koff*S[-1, 2, 0][t]
+							 + kpoff*S[-1, 2, 1][t] + koff*S[0, 2, -
+							1][t] + kpoff*S[1, 2, -1][t] + kpoff*S[2, 2,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S[-1, 2, 0])'[t] == kpon*K[2, 2][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[-1, 2, -1][t] -
+							 koff*S[-1, 2, 0][t] - kpoff*S[-1, 2, 0][t]
+							 - k1a*RAFK[t]*S[-1, 2, 0][t] - kon*K[1, 0][
+							t]*S[-1, 2, 0][t] - kpon*K[1, 1][t]*S[-1, 2,
+							 0][t] - kpon*K[1, 2][t]*S[-1, 2, 0][t] +
+							 koff*S[0, 2, 0][t] + kpoff*S[1, 2, 0][t]
+							 + kpoff*S[2, 2, 0][t] + d1a*S_RAFK[-1, 2,
+							 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[-1, 2, 1]</td>
+                        <td>0</td>
+                        <td>(S[-1, 2, 1])'[t] == kpon*K[2, 2][t]*S[-1, -1,
+							 1][t] + k5a*S[-1, 1, 1][t] + kpon*K[3,
+							 1][t]*S[-1, 2, -1][t] - 2*kpoff*S[-1, 2, 1][
+							t] - kon*K[1, 0][t]*S[-1, 2, 1][t] - kpon*K[
+							1, 1][t]*S[-1, 2, 1][t] - kpon*K[1, 2][t]*S[-1,
+							 2, 1][t] + koff*S[0, 2, 1][t] + kpoff*
+							S[1, 2, 1][t] + kpoff*S[2, 2, 1][t] +
+							 k1*S_RAFK[-1, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, -1, -1]</td>
+                        <td>0</td>
+                        <td>(S[0, -1, -1])'[t] == kon*K[1, 0][t]*S[-1, -1,
+							 -1][t] - koff*S[0, -1, -1][t] - kon*K[2,
+							 0][t]*S[0, -1, -1][t] - kpon*K[2, 1][t]*S[0,
+							 -1, -1][t] - kpon*K[2, 2][t]*S[0, -1, -1][t]
+							 - kon*K[3, 0][t]*S[0, -1, -1][t] - kpon*K[3,
+							 1][t]*S[0, -1, -1][t] + koff*S[0, -1, 0][t]
+							 + kpoff*S[0, -1, 1][t] + koff*S[0, 0, -
+							1][t] + kpoff*S[0, 1, -1][t] + kpoff*S[0, 2,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S[0, -1, 0])'[t] == kon*K[1, 0][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[0, -1, -1][t] -
+							 2*koff*S[0, -1, 0][t] - k1a*RAFK[t]*S[0, -1,
+							 0][t] - kon*K[2, 0][t]*S[0, -1, 0][t] -
+							 kpon*K[2, 1][t]*S[0, -1, 0][t] - kpon*K[2,
+							 2][t]*S[0, -1, 0][t] + koff*S[0, 0, 0][t]
+							 + kpoff*S[0, 1, 0][t] + kpoff*S[0, 2,
+							 0][t] + d1a*S_RAFK[0, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, -1, 1]</td>
+                        <td>0</td>
+                        <td>(S[0, -1, 1])'[t] == kon*K[1, 0][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[0, -1, -1][t] -
+							 koff*S[0, -1, 1][t] - kpoff*S[0, -1, 1][t]
+							 - kon*K[2, 0][t]*S[0, -1, 1][t] - kpon*K[2,
+							 1][t]*S[0, -1, 1][t] - kpon*K[2, 2][t]*S[0,
+							 -1, 1][t] + koff*S[0, 0, 1][t] + kpoff*
+							S[0, 1, 1][t] + kpoff*S[0, 2, 1][t] +
+							 k1*S_RAFK[0, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 0, -1]</td>
+                        <td>0</td>
+                        <td>(S[0, 0, -1])'[t] == kon*K[1, 0][t]*S[-1, 0,
+							 -1][t] + kon*K[2, 0][t]*S[0, -1, -1][t] -
+							 2*koff*S[0, 0, -1][t] - kon*K[3, 0][t]*S[0,
+							 0, -1][t] - kpon*K[3, 1][t]*S[0, 0, -1][t]
+							 + koff*S[0, 0, 0][t] + kpoff*S[0, 0, 1]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S[0, 0, 0])'[t] == kon*K[1, 0][t]*S[-1, 0,
+							 0][t] + kon*K[2, 0][t]*S[0, -1, 0][t] +
+							 kon*K[3, 0][t]*S[0, 0, -1][t] - 3*koff*S[0,
+							 0, 0][t] - k1a*RAFK[t]*S[0, 0, 0][t] +
+							 d1a*S_RAFK[0, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 0, 1]</td>
+                        <td>0</td>
+                        <td>(S[0, 0, 1])'[t] == kon*K[1, 0][t]*S[-1, 0,
+							 1][t] + kon*K[2, 0][t]*S[0, -1, 1][t] +
+							 kpon*K[3, 1][t]*S[0, 0, -1][t] - k3*S[0, 0,
+							 1][t] - 2*koff*S[0, 0, 1][t] - kpoff*S[0,
+							 0, 1][t] + k1*S_RAFK[0, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 1, -1]</td>
+                        <td>0</td>
+                        <td>(S[0, 1, -1])'[t] == kon*K[1, 0][t]*S[-1, 1,
+							 -1][t] + kpon*K[2, 1][t]*S[0, -1, -1][t] -
+							 koff*S[0, 1, -1][t] - kpoff*S[0, 1, -1][t]
+							 - kon*K[3, 0][t]*S[0, 1, -1][t] - kpon*K[3,
+							 1][t]*S[0, 1, -1][t] + koff*S[0, 1, 0][t]
+							 + kpoff*S[0, 1, 1][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S[0, 1, 0])'[t] == kon*K[1, 0][t]*S[-1, 1,
+							 0][t] + kpon*K[2, 1][t]*S[0, -1, 0][t] +
+							 kon*K[3, 0][t]*S[0, 1, -1][t] - 2*koff*S[0,
+							 1, 0][t] - kpoff*S[0, 1, 0][t] - k1a*
+							RAFK[t]*S[0, 1, 0][t] + d1a*S_RAFK[0, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 1, 1]</td>
+                        <td>0</td>
+                        <td>(S[0, 1, 1])'[t] == kon*K[1, 0][t]*S[-1, 1,
+							 1][t] + kpon*K[2, 1][t]*S[0, -1, 1][t] +
+							 k3*S[0, 0, 1][t] + kpon*K[3, 1][t]*S[0, 1,
+							 -1][t] - k5a*S[0, 1, 1][t] - koff*S[0,
+							 1, 1][t] - 2*kpoff*S[0, 1, 1][t] + k1*
+							S_RAFK[0, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 2, -1]</td>
+                        <td>0</td>
+                        <td>(S[0, 2, -1])'[t] == kon*K[1, 0][t]*S[-1, 2,
+							 -1][t] + kpon*K[2, 2][t]*S[0, -1, -1][t] -
+							 k7*S[0, 2, -1][t] - koff*S[0, 2, -1][t]
+							 - kpoff*S[0, 2, -1][t] - kon*K[3, 0][t]*S[0,
+							 2, -1][t] - kpon*K[3, 1][t]*S[0, 2, -1][t]
+							 + koff*S[0, 2, 0][t] + kpoff*S[0, 2, 1]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S[0, 2, 0])'[t] == kon*K[1, 0][t]*S[-1, 2,
+							 0][t] + kpon*K[2, 2][t]*S[0, -1, 0][t] +
+							 kon*K[3, 0][t]*S[0, 2, -1][t] - k7*S[0, 2,
+							 0][t] - 2*koff*S[0, 2, 0][t] - kpoff*S[0,
+							 2, 0][t] - k1a*RAFK[t]*S[0, 2, 0][t] +
+							 d1a*S_RAFK[0, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[0, 2, 1]</td>
+                        <td>0</td>
+                        <td>(S[0, 2, 1])'[t] == kon*K[1, 0][t]*S[-1, 2,
+							 1][t] + kpon*K[2, 2][t]*S[0, -1, 1][t] +
+							 k5a*S[0, 1, 1][t] + kpon*K[3, 1][t]*S[0, 2,
+							 -1][t] - k7*S[0, 2, 1][t] - koff*S[0,
+							 2, 1][t] - 2*kpoff*S[0, 2, 1][t] + k1*
+							S_RAFK[0, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, -1, -1]</td>
+                        <td>0</td>
+                        <td>(S[1, -1, -1])'[t] == kpon*K[1, 1][t]*S[-1, -
+							1, -1][t] - kpoff*S[1, -1, -1][t] - kon*K[2,
+							 0][t]*S[1, -1, -1][t] - kpon*K[2, 1][t]*S[1,
+							 -1, -1][t] - kpon*K[2, 2][t]*S[1, -1, -1][t]
+							 - kon*K[3, 0][t]*S[1, -1, -1][t] - kpon*K[3,
+							 1][t]*S[1, -1, -1][t] + koff*S[1, -1, 0][t]
+							 + kpoff*S[1, -1, 1][t] + koff*S[1, 0, -
+							1][t] + kpoff*S[1, 1, -1][t] + kpoff*S[1, 2,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S[1, -1, 0])'[t] == kpon*K[1, 1][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[1, -1, -1][t] -
+							 koff*S[1, -1, 0][t] - kpoff*S[1, -1, 0][t]
+							 - k1a*RAFK[t]*S[1, -1, 0][t] - kon*K[2, 0][
+							t]*S[1, -1, 0][t] - kpon*K[2, 1][t]*S[1, -1,
+							 0][t] - kpon*K[2, 2][t]*S[1, -1, 0][t] +
+							 koff*S[1, 0, 0][t] + kpoff*S[1, 1, 0][t]
+							 + kpoff*S[1, 2, 0][t] + d1a*S_RAFK[1, -1,
+							 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, -1, 1]</td>
+                        <td>0</td>
+                        <td>(S[1, -1, 1])'[t] == kpon*K[1, 1][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[1, -1, -1][t] -
+							 2*kpoff*S[1, -1, 1][t] - kon*K[2, 0][t]*S[1,
+							 -1, 1][t] - kpon*K[2, 1][t]*S[1, -1, 1][t]
+							 - kpon*K[2, 2][t]*S[1, -1, 1][t] + koff*S[1,
+							 0, 1][t] + kpoff*S[1, 1, 1][t] + kpoff*
+							S[1, 2, 1][t] + k1*S_RAFK[1, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 0, -1]</td>
+                        <td>0</td>
+                        <td>(S[1, 0, -1])'[t] == kpon*K[1, 1][t]*S[-1, 0,
+							 -1][t] + kon*K[2, 0][t]*S[1, -1, -1][t] -
+							 koff*S[1, 0, -1][t] - kpoff*S[1, 0, -1][t]
+							 - kon*K[3, 0][t]*S[1, 0, -1][t] - kpon*K[3,
+							 1][t]*S[1, 0, -1][t] + koff*S[1, 0, 0][t]
+							 + kpoff*S[1, 0, 1][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S[1, 0, 0])'[t] == kpon*K[1, 1][t]*S[-1, 0,
+							 0][t] + kon*K[2, 0][t]*S[1, -1, 0][t] +
+							 kon*K[3, 0][t]*S[1, 0, -1][t] - 2*koff*S[1,
+							 0, 0][t] - kpoff*S[1, 0, 0][t] - k1a*
+							RAFK[t]*S[1, 0, 0][t] + d1a*S_RAFK[1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 0, 1]</td>
+                        <td>0</td>
+                        <td>(S[1, 0, 1])'[t] == kpon*K[1, 1][t]*S[-1, 0,
+							 1][t] + kon*K[2, 0][t]*S[1, -1, 1][t] +
+							 kpon*K[3, 1][t]*S[1, 0, -1][t] - k3*S[1, 0,
+							 1][t] - koff*S[1, 0, 1][t] - 2*kpoff*S[1,
+							 0, 1][t] + k1*S_RAFK[1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 1, -1]</td>
+                        <td>0</td>
+                        <td>(S[1, 1, -1])'[t] == kpon*K[1, 1][t]*S[-1, 1,
+							 -1][t] + kpon*K[2, 1][t]*S[1, -1, -1][t] -
+							 2*kpoff*S[1, 1, -1][t] - kon*K[3, 0][t]*S[1,
+							 1, -1][t] - kpon*K[3, 1][t]*S[1, 1, -1][t]
+							 + koff*S[1, 1, 0][t] + kpoff*S[1, 1, 1]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S[1, 1, 0])'[t] == kpon*K[1, 1][t]*S[-1, 1,
+							 0][t] + kpon*K[2, 1][t]*S[1, -1, 0][t] +
+							 kon*K[3, 0][t]*S[1, 1, -1][t] - koff*S[1, 1,
+							 0][t] - 2*kpoff*S[1, 1, 0][t] - k1a*RAFK[t]*
+							S[1, 1, 0][t] + d1a*S_RAFK[1, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 1, 1]</td>
+                        <td>0</td>
+                        <td>(S[1, 1, 1])'[t] == kpon*K[1, 1][t]*S[-1, 1,
+							 1][t] + kpon*K[2, 1][t]*S[1, -1, 1][t] +
+							 k3*S[1, 0, 1][t] + kpon*K[3, 1][t]*S[1, 1,
+							 -1][t] - k5a*S[1, 1, 1][t] - 3*kpoff*S[1,
+							 1, 1][t] + k1*S_RAFK[1, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 2, -1]</td>
+                        <td>0</td>
+                        <td>(S[1, 2, -1])'[t] == kpon*K[1, 1][t]*S[-1, 2,
+							 -1][t] + k7*S[0, 2, -1][t] + kpon*K[2,
+							 2][t]*S[1, -1, -1][t] - k9a*S[1, 2, -1][t]
+							 - 2*kpoff*S[1, 2, -1][t] - kon*K[3, 0][t]*S[
+							1, 2, -1][t] - kpon*K[3, 1][t]*S[1, 2, -1][t]
+							 + koff*S[1, 2, 0][t] + kpoff*S[1, 2, 1]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S[1, 2, 0])'[t] == kpon*K[1, 1][t]*S[-1, 2,
+							 0][t] + k7*S[0, 2, 0][t] + kpon*K[2, 2]
+							[t]*S[1, -1, 0][t] + kon*K[3, 0][t]*S[1, 2, -
+							1][t] - k9a*S[1, 2, 0][t] - koff*S[1, 2,
+							 0][t] - 2*kpoff*S[1, 2, 0][t] - k1a*RAFK[t]*
+							S[1, 2, 0][t] + d1a*S_RAFK[1, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[1, 2, 1]</td>
+                        <td>0</td>
+                        <td>(S[1, 2, 1])'[t] == kpon*K[1, 1][t]*S[-1, 2,
+							 1][t] + k7*S[0, 2, 1][t] + kpon*K[2, 2]
+							[t]*S[1, -1, 1][t] + k5a*S[1, 1, 1][t] +
+							 kpon*K[3, 1][t]*S[1, 2, -1][t] - k9a*S[1, 2,
+							 1][t] - 3*kpoff*S[1, 2, 1][t] + k1*S_RAFK[1,
+							 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, -1, -1]</td>
+                        <td>0</td>
+                        <td>(S[2, -1, -1])'[t] == kpon*K[1, 2][t]*S[-1, -
+							1, -1][t] - kpoff*S[2, -1, -1][t] - kon*K[2,
+							 0][t]*S[2, -1, -1][t] - kpon*K[2, 1][t]*S[2,
+							 -1, -1][t] - kpon*K[2, 2][t]*S[2, -1, -1][t]
+							 - kon*K[3, 0][t]*S[2, -1, -1][t] - kpon*K[3,
+							 1][t]*S[2, -1, -1][t] + koff*S[2, -1, 0][t]
+							 + kpoff*S[2, -1, 1][t] + koff*S[2, 0, -
+							1][t] + kpoff*S[2, 1, -1][t] + kpoff*S[2, 2,
+							 -1][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S[2, -1, 0])'[t] == kpon*K[1, 2][t]*S[-1, -1,
+							 0][t] + kon*K[3, 0][t]*S[2, -1, -1][t] -
+							 koff*S[2, -1, 0][t] - kpoff*S[2, -1, 0][t]
+							 - k1a*RAFK[t]*S[2, -1, 0][t] - kon*K[2, 0][
+							t]*S[2, -1, 0][t] - kpon*K[2, 1][t]*S[2, -1,
+							 0][t] - kpon*K[2, 2][t]*S[2, -1, 0][t] +
+							 koff*S[2, 0, 0][t] + kpoff*S[2, 1, 0][t]
+							 + kpoff*S[2, 2, 0][t] + d1a*S_RAFK[2, -1,
+							 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, -1, 1]</td>
+                        <td>0</td>
+                        <td>(S[2, -1, 1])'[t] == kpon*K[1, 2][t]*S[-1, -1,
+							 1][t] + kpon*K[3, 1][t]*S[2, -1, -1][t] -
+							 2*kpoff*S[2, -1, 1][t] - kon*K[2, 0][t]*S[2,
+							 -1, 1][t] - kpon*K[2, 1][t]*S[2, -1, 1][t]
+							 - kpon*K[2, 2][t]*S[2, -1, 1][t] + koff*S[2,
+							 0, 1][t] + kpoff*S[2, 1, 1][t] + kpoff*
+							S[2, 2, 1][t] + k1*S_RAFK[2, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 0, -1]</td>
+                        <td>0</td>
+                        <td>(S[2, 0, -1])'[t] == kpon*K[1, 2][t]*S[-1, 0,
+							 -1][t] + kon*K[2, 0][t]*S[2, -1, -1][t] -
+							 koff*S[2, 0, -1][t] - kpoff*S[2, 0, -1][t]
+							 - kon*K[3, 0][t]*S[2, 0, -1][t] - kpon*K[3,
+							 1][t]*S[2, 0, -1][t] + koff*S[2, 0, 0][t]
+							 + kpoff*S[2, 0, 1][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S[2, 0, 0])'[t] == kpon*K[1, 2][t]*S[-1, 0,
+							 0][t] + kon*K[2, 0][t]*S[2, -1, 0][t] +
+							 kon*K[3, 0][t]*S[2, 0, -1][t] - 2*koff*S[2,
+							 0, 0][t] - kpoff*S[2, 0, 0][t] - k1a*
+							RAFK[t]*S[2, 0, 0][t] + d1a*S_RAFK[2, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 0, 1]</td>
+                        <td>0</td>
+                        <td>(S[2, 0, 1])'[t] == kpon*K[1, 2][t]*S[-1, 0,
+							 1][t] + kon*K[2, 0][t]*S[2, -1, 1][t] +
+							 kpon*K[3, 1][t]*S[2, 0, -1][t] - k3*S[2, 0,
+							 1][t] - koff*S[2, 0, 1][t] - 2*kpoff*S[2,
+							 0, 1][t] + k1*S_RAFK[2, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 1, -1]</td>
+                        <td>0</td>
+                        <td>(S[2, 1, -1])'[t] == kpon*K[1, 2][t]*S[-1, 1,
+							 -1][t] + kpon*K[2, 1][t]*S[2, -1, -1][t] -
+							 2*kpoff*S[2, 1, -1][t] - kon*K[3, 0][t]*S[2,
+							 1, -1][t] - kpon*K[3, 1][t]*S[2, 1, -1][t]
+							 + koff*S[2, 1, 0][t] + kpoff*S[2, 1, 1]
+							[t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S[2, 1, 0])'[t] == kpon*K[1, 2][t]*S[-1, 1,
+							 0][t] + kpon*K[2, 1][t]*S[2, -1, 0][t] +
+							 kon*K[3, 0][t]*S[2, 1, -1][t] - koff*S[2, 1,
+							 0][t] - 2*kpoff*S[2, 1, 0][t] - k1a*RAFK[t]*
+							S[2, 1, 0][t] + d1a*S_RAFK[2, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 1, 1]</td>
+                        <td>0</td>
+                        <td>(S[2, 1, 1])'[t] == kpon*K[1, 2][t]*S[-1, 1,
+							 1][t] + kpon*K[2, 1][t]*S[2, -1, 1][t] +
+							 k3*S[2, 0, 1][t] + kpon*K[3, 1][t]*S[2, 1,
+							 -1][t] - k5a*S[2, 1, 1][t] - 3*kpoff*S[2,
+							 1, 1][t] + k1*S_RAFK[2, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 2, -1]</td>
+                        <td>0</td>
+                        <td>(S[2, 2, -1])'[t] == kpon*K[1, 2][t]*S[-1, 2,
+							 -1][t] + k9a*S[1, 2, -1][t] + kpon*K[2,
+							 2][t]*S[2, -1, -1][t] - 2*kpoff*S[2, 2, -1][
+							t] - kon*K[3, 0][t]*S[2, 2, -1][t] - kpon*K[
+							3, 1][t]*S[2, 2, -1][t] + koff*S[2, 2, 0][t]
+							 + kpoff*S[2, 2, 1][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S[2, 2, 0])'[t] == kpon*K[1, 2][t]*S[-1, 2,
+							 0][t] + k9a*S[1, 2, 0][t] + kpon*K[2,
+							 2][t]*S[2, -1, 0][t] + kon*K[3, 0][t]*S[2,
+							 2, -1][t] - koff*S[2, 2, 0][t] - 2*
+							kpoff*S[2, 2, 0][t] - k1a*RAFK[t]*S[2, 2, 0][t]
+							 + d1a*S_RAFK[2, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S[2, 2, 1]</td>
+                        <td>0</td>
+                        <td>(S[2, 2, 1])'[t] == kpon*K[1, 2][t]*S[-1, 2,
+							 1][t] + k9a*S[1, 2, 1][t] + kpon*K[2,
+							 2][t]*S[2, -1, 1][t] + k5a*S[2, 1, 1][t]
+							 + kpon*K[3, 1][t]*S[2, 2, -1][t] - 3*kpoff*
+							S[2, 2, 1][t] + k1*S_RAFK[2, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[-1, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[-1, -1, 0])'[t] == k1a*RAFK[t]*S[-1, -1,
+							 0][t] - d1a*S_RAFK[-1, -1, 0][t] - k1*
+							S_RAFK[-1, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[-1, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[-1, 0, 0])'[t] == k1a*RAFK[t]*S[-1, 0,
+							 0][t] - d1a*S_RAFK[-1, 0, 0][t] - k1*S_RAFK[
+							-1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[-1, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[-1, 1, 0])'[t] == k1a*RAFK[t]*S[-1, 1,
+							 0][t] - d1a*S_RAFK[-1, 1, 0][t] - k1*S_RAFK[
+							-1, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[-1, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[-1, 2, 0])'[t] == k1a*RAFK[t]*S[-1, 2,
+							 0][t] - d1a*S_RAFK[-1, 2, 0][t] - k1*S_RAFK[
+							-1, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[0, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[0, -1, 0])'[t] == k1a*RAFK[t]*S[0, -1,
+							 0][t] - d1a*S_RAFK[0, -1, 0][t] - k1*S_RAFK[
+							0, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[0, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[0, 0, 0])'[t] == k1a*RAFK[t]*S[0, 0,
+							 0][t] - d1a*S_RAFK[0, 0, 0][t] - k1*S_RAFK[
+							0, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[0, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[0, 1, 0])'[t] == k1a*RAFK[t]*S[0, 1,
+							 0][t] - d1a*S_RAFK[0, 1, 0][t] - k1*S_RAFK[
+							0, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[0, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[0, 2, 0])'[t] == k1a*RAFK[t]*S[0, 2,
+							 0][t] - d1a*S_RAFK[0, 2, 0][t] - k1*S_RAFK[
+							0, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[1, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[1, -1, 0])'[t] == k1a*RAFK[t]*S[1, -1,
+							 0][t] - d1a*S_RAFK[1, -1, 0][t] - k1*S_RAFK[
+							1, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[1, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[1, 0, 0])'[t] == k1a*RAFK[t]*S[1, 0,
+							 0][t] - d1a*S_RAFK[1, 0, 0][t] - k1*S_RAFK[
+							1, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[1, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[1, 1, 0])'[t] == k1a*RAFK[t]*S[1, 1,
+							 0][t] - d1a*S_RAFK[1, 1, 0][t] - k1*S_RAFK[
+							1, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[1, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[1, 2, 0])'[t] == k1a*RAFK[t]*S[1, 2,
+							 0][t] - d1a*S_RAFK[1, 2, 0][t] - k1*S_RAFK[
+							1, 2, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[2, -1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[2, -1, 0])'[t] == k1a*RAFK[t]*S[2, -1,
+							 0][t] - d1a*S_RAFK[2, -1, 0][t] - k1*S_RAFK[
+							2, -1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[2, 0, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[2, 0, 0])'[t] == k1a*RAFK[t]*S[2, 0,
+							 0][t] - d1a*S_RAFK[2, 0, 0][t] - k1*S_RAFK[
+							2, 0, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[2, 1, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[2, 1, 0])'[t] == k1a*RAFK[t]*S[2, 1,
+							 0][t] - d1a*S_RAFK[2, 1, 0][t] - k1*S_RAFK[
+							2, 1, 0][t]</td>
+                        </tr>
+                    <tr>          <td>S_RAFK[2, 2, 0]</td>
+                        <td>0</td>
+                        <td>(S_RAFK[2, 2, 0])'[t] == k1a*RAFK[t]*S[2, 2,
+							 0][t] - d1a*S_RAFK[2, 2, 0][t] - k1*S_RAFK[
+							2, 2, 0][t]</td>
+                        </tr>
+                    </tbody>
+                </table>
+            <p>Generated by Cellerator Version 1.0 update 2.1203 using Mathematica 4.2 for 
+				Mac OS X (June 4, 2002), December 4, 2002 15:06:10, using (PowerMac,PowerPC,Mac 
+				OS X,MacOSX,Darwin)</p>
+            <p>author=B.E.Shapiro</p>
+            </body>
+      
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+        <rdf:Description rdf:about="#_000001">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Shapiro</vCard:Family>
+                  <vCard:Given>Bruce</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bshapiro at jpl.nasa.gov</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>NASA Jet Propulsion Laboratory</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2005-02-25T23:43:21Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2013-06-03T13:36:47Z</dcterms:W3CDTF>
+          </dcterms:modified>
+          <bqmodel:is>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/biomodels.db/MODEL6616691524"/>
+            </rdf:Bag>
+          </bqmodel:is>
+          <bqmodel:is>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000014"/>
+            </rdf:Bag>
+          </bqmodel:is>
+          <bqmodel:isDescribedBy>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/pubmed/10823939"/>
+            </rdf:Bag>
+          </bqmodel:isDescribedBy>
+          <bqbiol:isVersionOf>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0005078"/>
+              <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000165"/>
+            </rdf:Bag>
+          </bqbiol:isVersionOf>
+          <bqbiol:isHomologTo>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_634"/>
+            </rdf:Bag>
+          </bqbiol:isHomologTo>
+          <bqbiol:occursIn>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/taxonomy/8355"/>
+            </rdf:Bag>
+          </bqbiol:occursIn>
+          <bqmodel:isDerivedFrom>
+            <rdf:Bag>
+              <rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000011"/>
+            </rdf:Bag>
+          </bqmodel:isDerivedFrom>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+      <listOfCompartments>
+      <compartment id="Cytoplasm" metaid="_801486" size="1">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801486">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0005737"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="MAPKP" initialAmount="0.3" hasOnlySubstanceUnits="true" name="MAPK phosphatase" metaid="_801521" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801521">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="MEKP" initialAmount="0.2" hasOnlySubstanceUnits="true" name="MEK phosphatase" metaid="_801552" compartment="Cytoplasm"/>
+      <species id="RAFK" initialAmount="0.1" hasOnlySubstanceUnits="true" name="RAF kinase" metaid="_801582" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801582">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="RAFP" initialAmount="0.3" hasOnlySubstanceUnits="true" name="RAF phosphatase" metaid="_801612" compartment="Cytoplasm"/>
+      <species id="K_1_0" initialAmount="0.4" hasOnlySubstanceUnits="true" name="MAPK" metaid="_801641" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801641">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-P" metaid="_801671" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801671">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_1_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-PP" metaid="_801701" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801701">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_2_0" initialAmount="0.2" hasOnlySubstanceUnits="true" name="MEK" metaid="_801731" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801731">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-P" metaid="_801761" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801761">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-PP" metaid="_801791" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801791">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_3_0" initialAmount="0.3" hasOnlySubstanceUnits="true" name="RAF" metaid="_801821" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801821">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="RAF-P" metaid="_801851" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801851">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_K_1_0_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK_MEK-PP" metaid="_801882" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801882">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_K_1_1_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-P_MEK-PP" metaid="_801911" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801911">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_K_2_0_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK_RAF-P" metaid="_801941" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801941">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_K_2_1_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-P_RAF-P" metaid="_801971" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_801971">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_MAPKP_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-P_MAPKPase" metaid="_802001" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802001">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_MAPKP_1_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MAPK-PP_MAPKPase" metaid="_802032" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802032">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q90W58"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_MEKP_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-P_MEKPase" metaid="_802061" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802061">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_MEKP_2_2" initialAmount="0" hasOnlySubstanceUnits="true" name="MEK-PP_MEKPase" metaid="_802092" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802092">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_RAFK_3_0" initialAmount="0" hasOnlySubstanceUnits="true" name="RAF_RAFK" metaid="_802121" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802121">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="K_RAFP_3_1" initialAmount="0" hasOnlySubstanceUnits="true" name="RAF-P_RAFPase" metaid="_802151" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802151">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_m1_m1" initialAmount="0.1" hasOnlySubstanceUnits="true" name="Scaffold" metaid="_802181" compartment="Cytoplasm"/>
+      <species id="S_m1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_RAF" metaid="_802211" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802211">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_RAF-P" metaid="_802241" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802241">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK" metaid="_802271" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802271">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK_RAF" metaid="_802301" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802301">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK_RAF-P" metaid="_802332" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802332">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P" metaid="_802362" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802362">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P_RAF" metaid="_802392" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802392">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P_RAF-P" metaid="_802421" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802421">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP" metaid="_802451" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802451">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP_RAF" metaid="_802481" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802481">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_m1_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP_RAF-P" metaid="_802511" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802511">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_m1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK" metaid="_802541" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802541">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_RAF" metaid="_802571" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802571">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_RAF-P" metaid="_802602" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802602">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK" metaid="_802631" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802631">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK_RAF" metaid="_802661" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802661">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK_RAF-P" metaid="_802691" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802691">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P" metaid="_802721" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802721">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P_RAF" metaid="_802751" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802751">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P_RAF-P" metaid="_802781" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802781">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP" metaid="_802812" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802812">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP_RAF" metaid="_802842" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802842">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_0_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP_RAF-P" metaid="_802871" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802871">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_m1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P" metaid="_802901" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802901">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_RAF" metaid="_802931" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802931">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_RAF-P" metaid="_802961" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802961">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK" metaid="_802991" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_802991">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK_RAF" metaid="_803021" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803021">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK_RAF-P" metaid="_803051" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803051">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P" metaid="_803082" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803082">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P_RAF" metaid="_803111" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803111">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P_RAF-P" metaid="_803141" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803141">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP" metaid="_803171" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803171">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP_RAF" metaid="_803201" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803201">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_1_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP_RAF-P" metaid="_803231" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803231">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_m1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP" metaid="_803261" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803261">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_RAF" metaid="_803291" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803291">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_m1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_RAF-P" metaid="_803322" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803322">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_0_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK" metaid="_803351" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803351">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK_RAF" metaid="_803382" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803382">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_0_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK_RAF-P" metaid="_803411" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803411">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_1_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P" metaid="_803441" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803441">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P_RAF" metaid="_803471" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803471">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_1_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P_RAF-P" metaid="_803501" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803501">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_2_m1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP" metaid="_803531" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803531">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP_RAF" metaid="_803561" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803561">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_2_2_1" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP_RAF-P" metaid="_803591" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803591">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_m1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_RAF" metaid="_803621" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803621">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_m1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK_RAF" metaid="_803651" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803651">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_m1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-P_RAF" metaid="_803681" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803681">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_m1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MEK-PP_RAF" metaid="_803711" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803711">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_0_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_RAF" metaid="_803741" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803741">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_0_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK_RAF" metaid="_803771" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803771">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_0_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-P_RAF" metaid="_803801" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803801">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_0_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK_MEK-PP_RAF" metaid="_803831" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803831">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_1_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_RAF" metaid="_803861" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803861">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_1_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK_RAF" metaid="_803891" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803891">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_1_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-P_RAF" metaid="_803921" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803921">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_1_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-P_MEK-PP_RAF" metaid="_803951" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803951">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_2_m1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_RAF" metaid="_803981" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_803981">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_2_0_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK_RAF" metaid="_804011" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804011">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_2_1_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-P_RAF" metaid="_804041" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804041">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+      <species id="S_RAFK_2_2_0" initialAmount="0" hasOnlySubstanceUnits="true" name="Scaffold_MAPK-PP_MEK-PP_RAF" metaid="_804071" compartment="Cytoplasm">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804071">
+              <bqbiol:hasPart>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P09560"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/Q05116"/>
+                  <rdf:li rdf:resource="http://identifiers.org/uniprot/P26696"/>
+                </rdf:Bag>
+              </bqbiol:hasPart>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+      </species>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="Reaction1" name="binding of RAF and RAFK" metaid="_804118" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804118">
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006461"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_1bbaa86f_2ad5_41c9_9be3_364fc67ac033"/>
+          <speciesReference species="K_3_0" metaid="ab969a19_012d_4237_9807_12831313829c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_RAFK_3_0" metaid="_5e3212b6_c35c_49e1_bfc1_686289d29167"/>
+        </listOfProducts>
+        <kineticLaw metaid="a6cbed13_fb00_4eb0_a60e_c807447dba61">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a1 </ci>
+              <ci> RAFK </ci>
+              <ci> K_3_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a1" metaid="_4fd78910_731a_43a5_aeb0_39cfab7d8605" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction2" name="dissociation of RAF_RAFK" metaid="_804185" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804185">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFK_3_0" metaid="_9f82639d_5ea5_47a7_b2bd_eb7331a1d83f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_6d88863e_f966_4679_adcc_b9d737784004"/>
+          <speciesReference species="K_3_0" metaid="_9cf5a530_86fc_4ce4_bbb2_3da748d0f19d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_60d7061e_f505_4731_9b7b_a7433585f896">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1 </ci>
+              <ci> K_RAFK_3_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1" metaid="_8c4e760e_1fe6_4d16_be3a_ec0c03e4c6ae" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction3" name="phosphorylation of RAF" metaid="_804255" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804255">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFK_3_0" metaid="_7c8dd651_8a2e_42f3_a87d_6ca6a20fd1da"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="b5b43fcd_81e9_4016_a772_506058332043"/>
+          <speciesReference species="K_3_1" metaid="_8f889b49_208a_41d2_9b5c_34dcb66bcbca"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8ce6c546_2328_438c_8556_b5a0daf1cead">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> K_RAFK_3_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_599c70c3_5f12_41aa_aee1_f044b530d26b" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction4" name="binding of RAF-P and RAF phosphatase" metaid="_804325" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804325">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFP" metaid="_2f151523_aa9c_4ff5_85b1_8432953d3beb"/>
+          <speciesReference species="K_3_1" metaid="_8dc42e37_5a7a_4a41_8058_ba270ceaa8b6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_RAFP_3_1" metaid="_8eeba172_c127_4891_8f36_0fbbda0de051"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2defe34a_9698_40be_b764_63c2fc70f49a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a2 </ci>
+              <ci> RAFP </ci>
+              <ci> K_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a2" metaid="_9369fa2c_5802_41ed_b8d4_07be685bdbac" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction5" name="dissociation of RAF-P_RAFPase" metaid="_804395" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804395">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFP_3_1" metaid="_7fb07dcd_66b4_48b2_9376_ec0166cb445d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFP" metaid="_43d4dbfd_2a31_4af9_92b2_642d5f6f967a"/>
+          <speciesReference species="K_3_1" metaid="_258055db_b484_4b70_8bff_a567299fc04a"/>
+        </listOfProducts>
+        <kineticLaw metaid="bc66b485_30c0_4ee3_82b8_f7a62e23a50f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d2 </ci>
+              <ci> K_RAFP_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d2" metaid="_44065a05_b5b5_48ec_bb68_bbc6040116ba" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction6" name="dephosphorylation of RAF-P" metaid="_804466" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804466">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_RAFP_3_1" metaid="_79d01386_96fe_4460_9c75_7eec093bfb87"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFP" metaid="a1649a84_7924_4745_b05e_b12eff206ee4"/>
+          <speciesReference species="K_3_0" metaid="_175fc210_bb02_47e2_bdb0_6352337a0ff8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_29e718d5_392d_4dbe_9eb9_026333918800">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> K_RAFP_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k2" metaid="_0d0b525f_7219_4bb2_b3ed_adf7ed2a949c" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction7" name="binding of MEK and RAF-P" metaid="_804536" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804536">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_143"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_2_0" metaid="ef1a79b7_a2e3_4a34_a720_f0232c309d06"/>
+          <speciesReference species="K_3_1" metaid="_71b18200_87c7_4694_bb5e_7745caf4b05a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_2_0_3_1" metaid="_292ec4dd_5505_4da6_99b6_9dd17275cd36"/>
+        </listOfProducts>
+        <kineticLaw metaid="fdd9df3d_a382_4c2b_bdcb_6efd244e0350">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a3 </ci>
+              <ci> K_2_0 </ci>
+              <ci> K_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a3" metaid="_119ee771_c19f_4e32_b6fa_cd4e3413bf35" value="3.3"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction8" name="dissociation of MEK_RAF-P" metaid="_804605" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804605">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_0_3_1" metaid="fe778619_29b9_4bc4_804d_3cab30a5ac00"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_84cb6cdc_f5de_4fa1_b03d_350632e86545"/>
+          <speciesReference species="K_3_1" metaid="_063151dc_dd38_4f37_aa60_6423016a0184"/>
+        </listOfProducts>
+        <kineticLaw metaid="_57a9f76e_46ed_497d_a083_0d1705adc3f4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d3 </ci>
+              <ci> K_K_2_0_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d3" metaid="_1f3f011a_f140_471d_a424_f501947125ed" value="0.42"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction9" name="phosphorylation of MEK" metaid="_804677" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804677">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.25"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_0_3_1" metaid="b432ac2a_301d_4591_910c_33aa45d2de93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_805411de_352e_46b4_8caa_9a90d19898bd"/>
+          <speciesReference species="K_3_1" metaid="_26f084b5_3e69_42f6_9e9e_99e93c46f663"/>
+        </listOfProducts>
+        <kineticLaw metaid="_46582d2d_da6c_457b_8ca4_492d2bf41e4f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> K_K_2_0_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="c68d14e6_4f88_4b2b_9b8a_c5614fb57dcc" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction10" name="binding of MEK-P and MEK phosphatase" metaid="_804745" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804745">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="MEKP" metaid="a6fe3a88_8a12_421b_95f2_97730eab755d"/>
+          <speciesReference species="K_2_1" metaid="_60187c37_be38_403f_997a_914867338358"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MEKP_2_1" metaid="_0556a782_2b1e_4636_9c24_9e1950fc7ace"/>
+        </listOfProducts>
+        <kineticLaw metaid="_75cfdc41_95d8_4ea6_99ae_7f49c2e33cf8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a4 </ci>
+              <ci> MEKP </ci>
+              <ci> K_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a4" metaid="_5c7e2361_6ac3_42eb_974f_7a150cdb96b7" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction11" name="dissociation of MEK-P_MEKPase" metaid="_804815" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804815">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_1" metaid="a1496dbb_0968_4964_88b6_c4f4ae384e89"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="_52361433_dea6_4914_bbad_07e5e43dbc9d"/>
+          <speciesReference species="K_2_1" metaid="b9b3f34b_b936_4bce_b4ef_18977875f818"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1d38fce3_d55f_4dfb_8fe3_6542967d635f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d4 </ci>
+              <ci> K_MEKP_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d4" metaid="f63ae2c4_3f22_481a_a140_b8ba6dcc5b09" value="0.8"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction12" name="dephosphorylation of MEK-P" metaid="_804885" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804885">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_1" metaid="_09c9cc23_a692_4479_b50c_62d00c2f27cd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="_9bfa8406_ad80_4927_b53d_12360a90f236"/>
+          <speciesReference species="K_2_0" metaid="_36fcaba9_809d_4815_a8de_61a59e0eb2a3"/>
+        </listOfProducts>
+        <kineticLaw metaid="c0850334_dd28_417f_a558_84eed2c18834">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> K_MEKP_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k4" metaid="_3ce03063_0ae4_40e3_98bc_36b1b18c05e0" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction13" name="binding of MEK-P and RAF-P" metaid="_804955" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_804955">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_143"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_0392bb20_729a_431c_b0f5_2af3457729fb"/>
+          <speciesReference species="K_3_1" metaid="_05025b9c_447f_4737_bb36_333e6d850c1a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_2_1_3_1" metaid="_78d1df41_4708_46d5_a5a6_1acb8f02b7ac"/>
+        </listOfProducts>
+        <kineticLaw metaid="e5679d10_b701_4e09_b1a3_94f70932b9a5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a5 </ci>
+              <ci> K_2_1 </ci>
+              <ci> K_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a5" metaid="c76f4405_4ce6_44e1_8e3a_844dea4237cf" value="3.3"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction14" name="dissociation of MEK-P_RAF-P" metaid="_805026" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805026">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_1_3_1" metaid="_4da90d86_1762_4816_8f2b_f84a58e75e84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_20aff140_ddba_47a0_92a0_bb7095f518cd"/>
+          <speciesReference species="K_3_1" metaid="c911977f_cf8f_4580_8323_05dde3d8e398"/>
+        </listOfProducts>
+        <kineticLaw metaid="f84137bb_ff33_453a_9918_53f3fade113a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d5 </ci>
+              <ci> K_K_2_1_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d5" metaid="e71b5628_07da_4fa9_9b8e_cf466574a885" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction15" name="phosphorylation of MEK-P" metaid="_805095" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805095">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_614"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_2_1_3_1" metaid="_053e8867_aff2_45b3_a12a_f9395726cb14"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_9314b557_54b1_4c47_ad99_72112dfc30bc"/>
+          <speciesReference species="K_3_1" metaid="_62ae3d25_0698_4003_939d_32ea2ce99cbf"/>
+        </listOfProducts>
+        <kineticLaw metaid="aeaf61ba_c77d_41fc_ad83_c442f6ba1bc8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5 </ci>
+              <ci> K_K_2_1_3_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5" metaid="_01b39a28_f9f3_42e6_a387_1b2c33088721" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction16" name="binding of MEK-PP and MEK phosphatase" metaid="_805165" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805165">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="MEKP" metaid="_2b779f9d_0950_4599_8c39_471cef7b67e5"/>
+          <speciesReference species="K_2_2" metaid="_1219df67_9fd0_4888_a1d8_2c15efbc7545"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MEKP_2_2" metaid="_3e2d4d9d_4576_4968_b37c_96f739fc4e7d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_819a927a_a5f9_434f_9c0d_2f186593b674">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a6 </ci>
+              <ci> MEKP </ci>
+              <ci> K_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a6" metaid="c92fa460_37bb_4ab4_b3fa_803ce6616acd" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction17" name="dissociation of MEK-PP_MEKPase" metaid="_805235" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805235">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_2" metaid="_0693ef50_1e2f_48ae_89d8_84623360f842"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="_87e46a98_b040_4ce1_b6d7_6c1a84a331e2"/>
+          <speciesReference species="K_2_2" metaid="_1f344c65_9ba9_4fd6_8833_52a9d2dbd7d6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_22b7a296_9074_437a_a407_32a5a9d84003">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d6 </ci>
+              <ci> K_MEKP_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d6" metaid="_1afecfb4_21b6_46f5_8a6e_703970273cc0" value="0.8"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction18" name="dephosphorylation of MEK-PP" metaid="_805305" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805305">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006470"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MEKP_2_2" metaid="_83440eed_901a_405c_8490_3551e6aaf5b9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MEKP" metaid="a5d62df8_5b87_474a_b2f9_ce7d1757e459"/>
+          <speciesReference species="K_2_1" metaid="e0be1828_a29e_4e94_a3e4_3a6c837a5a6f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_72b0c58a_bff6_44db_b0f3_aa0e212ce9b6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k6 </ci>
+              <ci> K_MEKP_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k6" metaid="d92abcf1_f9cf_4a3a_8d4f_d1920a6acba6" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction19" name="binding of MAPK and MEK-PP" metaid="_805375" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805375">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031434"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_1780"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_495"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_72301fe2_8b82_49fd_9e4f_b7a60ccd632d"/>
+          <speciesReference species="K_2_2" metaid="_6ada9ab1_ea17_4857_aa3d_008e8c0c6ca0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_1_0_2_2" metaid="_77dee215_774d_4179_9a2a_e211bb2cc42b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_939a6ac5_6e65_48bc_966c_ea1d8cead86e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a7 </ci>
+              <ci> K_1_0 </ci>
+              <ci> K_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a7" metaid="_5d8451ff_6bd5_48ea_b8ea_d904255a9c32" value="20"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction20" name="dissociation of MAPK_MEK-PP" metaid="_805445" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805445">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_0_2_2" metaid="_0ac8c512_4abf_4a4e_814d_9958df596d6b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_149af1af_7eae_4468_8429_86f040d61965"/>
+          <speciesReference species="K_2_2" metaid="f1b16bc4_fd55_4d4f_b3ef_d712a62e1fe1"/>
+        </listOfProducts>
+        <kineticLaw metaid="b3c42ac7_4f6b_4958_9843_df516dbde7e6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d7 </ci>
+              <ci> K_K_1_0_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d7" metaid="a974ec75_103f_462f_8c1b_121b5ed49737" value="0.6"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction21" name="phosphorylation of MAPK" metaid="_805515" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805515">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.12.2"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0006468"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+              <bqbiol:isHomologTo>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_136"/>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_2247"/>
+                </rdf:Bag>
+              </bqbiol:isHomologTo>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_0_2_2" metaid="_9b63cbd9_a756_42e3_9148_2e59e4a842b6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="ef13e07d_9f8b_476f_a326_f4e75d736dd0"/>
+          <speciesReference species="K_2_2" metaid="_57c231c8_ce20_4d6d_b101_2b4c851d662c"/>
+        </listOfProducts>
+        <kineticLaw metaid="c9eacfce_264c_4827_9880_e6524a860462">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> K_K_1_0_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_644b5462_e189_436a_ab24_bf0535b0b2ab" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction22" name="binding of MAPK-P and MAPK phosphatase" metaid="_805585" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805585">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="MAPKP" metaid="_9cfb41ba_61a7_475a_b0c4_add8f98bb37c"/>
+          <speciesReference species="K_1_1" metaid="_58aa33c9_647a_4d3d_86f7_fe80bd63c65c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MAPKP_1_1" metaid="_51949d68_5b0c_443c_a501_91c448c1e9a3"/>
+        </listOfProducts>
+        <kineticLaw metaid="dd260093_e519_48a1_b33a_0e379da58b21">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a8 </ci>
+              <ci> MAPKP </ci>
+              <ci> K_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a8" metaid="_6ab47ba3_e00d_44d9_aec3_2146c074891c" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction23" name="dissociation of MAPK-P_MAPKPase" metaid="_805655" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805655">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_1" metaid="acbc9760_9d3a_4e93_a249_99d9856e2e98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="_0cf3c960_2e12_48f0_9b9e_f60cf6dde7f4"/>
+          <speciesReference species="K_1_1" metaid="c641be86_a520_4a1a_8adb_387b715d173a"/>
+        </listOfProducts>
+        <kineticLaw metaid="c232a0b0_3cf0_40dd_a171_520ac226e399">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d8 </ci>
+              <ci> K_MAPKP_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d8" metaid="e74b803a_d8b9_44bc_9fb6_d7fecbfb92b9" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction24" name="dephosphorylation of MAPK-P" metaid="_805725" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805725">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_1" metaid="_9a0bb008_e633_4f1e_b9e9_10ea9cc01238"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="_2a7855a6_6479_4b99_a669_90f511330381"/>
+          <speciesReference species="K_1_0" metaid="a8ad46bc_006a_4e68_83fc_9aecdf346b16"/>
+        </listOfProducts>
+        <kineticLaw metaid="ec0ea0d6_c75c_47b8_bb35_c58d7e252b63">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k8 </ci>
+              <ci> K_MAPKP_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k8" metaid="_82787690_1cbd_4383_bd76_a42e7d8f2174" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction25" name="binding of MAPK-P and MEK-PP" metaid="_805801" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805801">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_37e3fe65_cd54_4e2b_addb_d857517bd540"/>
+          <speciesReference species="K_2_2" metaid="_1418b733_8aa5_493f_b08b_a9feb57caec6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_K_1_1_2_2" metaid="_87223da5_e7c8_46a4_b1dd_451b8d58e633"/>
+        </listOfProducts>
+        <kineticLaw metaid="_011567d5_fecb_4d87_9201_5acbbc1ad802">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a9 </ci>
+              <ci> K_1_1 </ci>
+              <ci> K_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a9" metaid="b0a5be82_9067_42fe_9ab5_6208e87aa33a" value="20"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction26" name="dissociation of MAPK-P_MEK-PP" metaid="_805865" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805865">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_1_2_2" metaid="_059d6a61_81b3_4403_8e13_5447cde55c71"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_8cfe5b51_f7d5_40ef_aafd_409ca23b863c"/>
+          <speciesReference species="K_2_2" metaid="fdd713fd_b42a_4b41_bf0e_7319904de042"/>
+        </listOfProducts>
+        <kineticLaw metaid="e9687720_c69f_4f84_a353_f7ade84f658d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d9 </ci>
+              <ci> K_K_1_1_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d9" metaid="_1508aa9a_79c3_4391_b2f8_bf9063547557" value="0.6"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction27" name="phosphorylation of MAPK-P" metaid="_805935" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_805935">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000187"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_K_1_1_2_2" metaid="a225084b_13ed_429e_aac0_08522f0e8e12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_6c38a985_bf58_45be_9600_33699fac2b95"/>
+          <speciesReference species="K_2_2" metaid="_185ad415_f6ef_489f_a06a_22ff1f24c545"/>
+        </listOfProducts>
+        <kineticLaw metaid="a3845b2b_2a4b_4619_80f1_841f86a0e7a1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9 </ci>
+              <ci> K_K_1_1_2_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9" metaid="_1b7ef836_2dcf_4db0_8ca9_f4f8ebe6816c" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction28" name="binding of MAPK-PP and MAPK phosphatase" metaid="_806005" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806005">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="MAPKP" metaid="d0afd796_8b5e_47d1_acd8_adc20f63c789"/>
+          <speciesReference species="K_1_2" metaid="faa0a5db_6eff_43c4_af9c_84d1c3544179"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_MAPKP_1_2" metaid="f3887d02_7468_4e05_9826_ad568bc16322"/>
+        </listOfProducts>
+        <kineticLaw metaid="_71584e67_4e06_4740_af48_16ab0e43d7f8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> a10 </ci>
+              <ci> MAPKP </ci>
+              <ci> K_1_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a10" metaid="fc377dbb_3f5e_4084_92af_b52b28f68b12" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction29" name="dissociation of MAPK-PP_MAPKPase" metaid="_806075" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806075">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_2" metaid="_5e8f3a91_e92b_4a7d_8db4_30f9845ccba8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="a9b6c765_746e_47df_9aad_171b1e7a1eeb"/>
+          <speciesReference species="K_1_2" metaid="_1c925536_8d71_4ff9_86e0_300fc51daa71"/>
+        </listOfProducts>
+        <kineticLaw metaid="d978d998_6e0b_48d1_a025_96ab3ac1d974">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d10 </ci>
+              <ci> K_MAPKP_1_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d10" metaid="_9e9cd862_9306_40ee_a9c3_e66738c55522" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction30" name="dephosphorylation of MAPK-PP" metaid="_806145" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806145">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000188"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_MAPKP_1_2" metaid="d9c080a1_a9b7_4f4c_b8ce_ecaacbd97fd9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MAPKP" metaid="_2076137e_ca25_4606_8661_4dc7b3cf65ea"/>
+          <speciesReference species="K_1_1" metaid="c1255abe_92e5_4099_af1a_72d2cf484539"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8005a14d_3f4b_4d8d_be6c_2ba5ca6f4e74">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k10 </ci>
+              <ci> K_MAPKP_1_2 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k10" metaid="ed5cb674_48bc_47fc_bdcb_b888a2c0c803" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction31" name="binding of MAPK on scaffold" metaid="_806215" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806215">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_8d44206f_0816_4b6d_ae66_19821a652deb"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_54982ccb_63de_47e0_9afb_63128475bc3a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_m1" metaid="_21ad5993_5784_45ff_9e77_b573fab659f9"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad4b0df6_5de0_44b2_a11a_a3c4baf704d8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_1c2ae0bc_fe90_4886_bdf0_177989248c8e" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction32" name="dissociation of MAPK from scaffold" metaid="_806285" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806285">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_m1" metaid="_679e4f48_68c8_475d_9d01_08ea1932c16d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="eef299d5_3f19_4da7_ac7b_a28d0b0d37c2"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_4cbe9ea2_bc16_4c44_af34_1d6a790e1bda"/>
+        </listOfProducts>
+        <kineticLaw metaid="d2fe38ae_d7dd_44db_bb32_3cb98d02ef56">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="b017813c_4c3c_4258_aa7c_d0a5fadbd23a" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction33" name="binding of MAPK on scaffold" metaid="_806355" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806355">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_95d00652_dd42_424c_b2cb_6f19977f8e12"/>
+          <speciesReference species="S_m1_m1_0" metaid="_44720ed8_bf43_4153_ab67_061988de416a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_0" metaid="_0a3fbc30_4d72_4b92_b790_670bb53f15fe"/>
+        </listOfProducts>
+        <kineticLaw metaid="bc5e696f_c181_49c9_9e30_b5eba994a552">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="cfa9ecc3_f1d0_4f3b_8447_18d25cc6fda4" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction34" name="dissociation of MAPK from scaffold" metaid="_806425" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806425">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_0" metaid="_2a0bce01_c63e_43ea_96e6_c287da33d43d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="f36f0219_835a_464a_ad53_7af2e55518cf"/>
+          <speciesReference species="S_m1_m1_0" metaid="_12fc4885_dd7b_4726_a3e5_a711bf1d030e"/>
+        </listOfProducts>
+        <kineticLaw metaid="e939b2a5_22a9_4344_9e6d_81a9a20ac0d6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_5710fae0_a04b_46ae_a4bb_3764f6ff6def" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction35" name="binding of MAPK on scaffold" metaid="_806495" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806495">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_7116701c_8faa_4861_96b8_9c743ce0da64"/>
+          <speciesReference species="S_m1_m1_1" metaid="_922d8eed_f077_43ce_9b61_2ada1ecb1001"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_1" metaid="bbe50116_5de0_4075_96c8_73889677b771"/>
+        </listOfProducts>
+        <kineticLaw metaid="c66901e4_096e_4df5_9310_8b32564c6253">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="ad365d23_625c_4b3a_81cc_4b3c4704f591" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction36" name="dissociation of MAPK from scaffold" metaid="_806565" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806565">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_1" metaid="_6f5b8be9_f05f_4b4a_afe3_21f981f9276d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_820ceeea_21b5_4eea_9aea_28108cdd2223"/>
+          <speciesReference species="S_m1_m1_1" metaid="c7522af0_a40b_4b4b_b0eb_bf57c1334aa6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_92d9cd3c_16bc_4517_916e_2f0d215dbf21">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="f5a16eca_c4d5_47c9_a398_42fb99710d7e" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction37" name="binding of MAPK on scaffold" metaid="_806635" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806635">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="f98c0588_e0fe_4e55_8746_6f365e2e128f"/>
+          <speciesReference species="S_m1_0_m1" metaid="_0caa85d8_2322_4323_9f48_e7d251a51e03"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_m1" metaid="fc7ddf92_b2e0_4e47_a67b_495e29bb0b18"/>
+        </listOfProducts>
+        <kineticLaw metaid="ef8d33b7_0aab_49f7_9293_3af432d13145">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="dd95ad8e_4e03_491a_9742_7a2236d038b3" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction38" name="dissociation of MAPK from scaffold" metaid="_806705" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806705">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_m1" metaid="_68d9c2a6_df30_47ca_af15_f2820bc4e1e0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="e3503a29_7eab_454a_a087_5333a851e2de"/>
+          <speciesReference species="S_m1_0_m1" metaid="ffa5b305_4cd8_42d0_9556_71c50e709e86"/>
+        </listOfProducts>
+        <kineticLaw metaid="_33ba75cf_aad9_4f66_9f69_69825f0b58e0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_27dee579_6d9b_408c_bc7b_c3a461d1ab00" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction39" name="binding of MAPK on scaffold" metaid="_806775" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806775">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="eb846242_75c6_4b0d_80e4_b3445e5429fe"/>
+          <speciesReference species="S_m1_0_0" metaid="a99dbf00_a8af_424d_a7fb_412eef15003d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_0" metaid="_0f07b1ae_c3a1_40cf_ac09_2bedc6d0e18a"/>
+        </listOfProducts>
+        <kineticLaw metaid="a8047c1b_044c_4939_af85_e96a2710c6c0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="c46ae85c_a568_4647_8b7a_0fdb241ae3b0" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction40" name="dissociation of MAPK from scaffold" metaid="_806845" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806845">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_0" metaid="_5dd7cb1a_2515_432e_a163_3035a0820406"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_7ae0e985_c77a_45de_8a5e_08f096f8c8bb"/>
+          <speciesReference species="S_m1_0_0" metaid="ba5247f0_c4ba_49d2_bcfa_f4dd2a41521e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6ecb906a_b648_4ef8_b299_df8e741a7bf8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_73b3742b_1c1f_4f75_a7d6_7f11b5b850f9" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction41" name="binding of MAPK on scaffold" metaid="_806915" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806915">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_3c8e6a2c_9cb2_41b9_a335_a7fb55aed4b9"/>
+          <speciesReference species="S_m1_0_1" metaid="_50d6383d_97a3_4378_b970_846acf76d524"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_1" metaid="_7ffe0563_5691_474d_a082_5a0c68d64200"/>
+        </listOfProducts>
+        <kineticLaw metaid="e3f87418_cfa3_424c_af31_cf68cde0f827">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="d614eae0_8689_40be_a42b_51de462e9104" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction42" name="dissociation of MAPK from scaffold" metaid="_806986" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_806986">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="bf6ece91_77a8_4f29_a5d9_e2bfa0832be7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_90229dba_f5c9_4069_8b47_c06f2e6ac251"/>
+          <speciesReference species="S_m1_0_1" metaid="_278400c3_11a9_498e_862e_82b66934bca5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8bcfe26c_aa33_4ac5_9302_a7a4e0d81521">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="def82c34_ec06_40d4_a25d_eb6062b3987d" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction43" name="binding of MAPK on scaffold" metaid="_807057" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807057">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="f498afae_9582_48b1_ae03_68c2150ee829"/>
+          <speciesReference species="S_m1_1_m1" metaid="c029197f_faf0_45ea_8eb1_1693bb32a47c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_m1" metaid="_8972fe27_c4fa_451f_b174_dab7598ac71a"/>
+        </listOfProducts>
+        <kineticLaw metaid="f3f759ae_760b_49d7_90dd_a6f3910e7817">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_3fca06ff_70d2_4dc1_9e84_5d37df414da3" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction44" name="dissociation of MAPK from scaffold" metaid="_807125" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807125">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_m1" metaid="d34d231b_d79f_49d0_8692_a812e12453c8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_0d44602e_bac5_412f_845d_ef01dc171b3a"/>
+          <speciesReference species="S_m1_1_m1" metaid="d601dd6d_bc80_4678_be1a_e5cf6bb36125"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2a59e7e1_293b_407e_825d_4228a8636f78">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="b1dedcc6_35d1_4b04_98d4_8d5296d5b077" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction45" name="binding of MAPK on scaffold" metaid="_807195" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807195">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_702f0130_160a_46f4_b522_f48e8d1f7e2c"/>
+          <speciesReference species="S_m1_1_0" metaid="_633e0f8d_0a94_4063_be69_c16c52c178a2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_0" metaid="_6ec5136a_2af0_44e0_8e3b_97e603f301d8"/>
+        </listOfProducts>
+        <kineticLaw metaid="a7c352fe_376f_47da_af33_c52581199421">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_8a525a57_f55c_4433_9971_05ea777f174b" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction46" name="dissociation of MAPK from scaffold" metaid="_807265" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807265">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_0" metaid="_892ec070_5314_4573_bf1d_b2e46f47c282"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_3827619b_a27c_4165_b92d_ad7b42781411"/>
+          <speciesReference species="S_m1_1_0" metaid="d42cd4c6_dbd3_4a5c_8214_7afed8226ba0"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1494756a_c738_4b2f_bbbb_4e07092a343a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_5f9fb942_4fb8_4a60_aae8_9324f3d0bd66" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction47" name="binding of MAPK on scaffold" metaid="_807335" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807335">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_5e26b5ec_4a49_4180_814d_3645f96fd20e"/>
+          <speciesReference species="S_m1_1_1" metaid="_8bc6f010_ca44_48a9_b280_eb85a34bc94a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="cae48680_319c_4cf7_ad3f_5626eb4d6ad1"/>
+        </listOfProducts>
+        <kineticLaw metaid="_08b48b73_8230_409c_8d03_a6ca24e96a30">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_3ba4d06a_69b0_4f8b_a318_d1490c3f85c6" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction48" name="dissociation of MAPK from scaffold" metaid="_807405" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807405">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="e156a515_ea17_4e26_9824_00074201c8d3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_5c52f0c8_b966_4b29_a390_ede009aeee1e"/>
+          <speciesReference species="S_m1_1_1" metaid="_58dafeb0_db38_4911_8338_e7b9480e61c7"/>
+        </listOfProducts>
+        <kineticLaw metaid="c5e1a2dd_4c86_4263_a647_c0d947ea6996">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_608d5261_4907_451b_8edd_207847ef65d1" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction49" name="binding of MAPK on scaffold" metaid="_807475" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807475">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_9746080b_3f65_48b3_9fa4_729f42ac0d0c"/>
+          <speciesReference species="S_m1_2_m1" metaid="_839c75c0_4417_4967_b64a_6e4870623dc2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_m1" metaid="f690f3c7_60c6_4f3e_97c2_3f5b1bf03195"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6cd62deb_3751_482d_9d3c_e848ae35d9c7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_866139c4_dd34_4e7b_bb16_59799634e274" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction50" name="dissociation of MAPK from scaffold" metaid="_807545" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807545">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_m1" metaid="cd23beca_50ae_4190_a463_72bfcdde284a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_60308ad8_b177_48cb_90f0_561816ae8053"/>
+          <speciesReference species="S_m1_2_m1" metaid="_69389020_1b15_45d0_9d6a_2704573e5dcb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_56fb5668_4643_4157_90f3_32124921ae88">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_11377573_d7e8_4668_836f_34e2167e2e06" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction51" name="binding of MAPK on scaffold" metaid="_807615" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807615">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_9997a17d_b2e6_484f_9d48_7ee0a2e23178"/>
+          <speciesReference species="S_m1_2_0" metaid="_0f28f920_9fb1_44d5_9aff_ec77c6416c82"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_0" metaid="dc95af44_7661_412d_b6ab_d2ba83cd5126"/>
+        </listOfProducts>
+        <kineticLaw metaid="a53fad25_807e_455c_afd2_3381771142e9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_8fba0b64_cd76_4ece_85b0_58b865a21e44" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction52" name="dissociation of MAPK from scaffold" metaid="_807685" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807685">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="a9744921_1ea5_49fe_be40_6a23f36aa930"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="_427dccbd_c72e_4388_a5c2_e53833c0a20b"/>
+          <speciesReference species="S_m1_2_0" metaid="_85c3bed8_f300_4825_9a2c_d0fc7ffd491d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3a0142c2_6d87_4a36_916d_229d84c06b52">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_452fdbd8_c331_4db4_a228_7ba2106a2745" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction53" name="binding of MAPK on scaffold" metaid="_807755" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807755">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_0" metaid="_481d76f9_3e89_4a6b_8fd0_ec387839da11"/>
+          <speciesReference species="S_m1_2_1" metaid="_589d1cce_b308_499e_afa2_7c3bf71a03f9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="_19417f0e_1415_4a08_9f1d_fd020189ecde"/>
+        </listOfProducts>
+        <kineticLaw metaid="_30cc4d22_ab21_4de1_9925_b19a2835711d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_1_0 </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_212f4bf4_57d6_4d28_8fda_c2286fcf2463" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction54" name="dissociation of MAPK from scaffold" metaid="_807825" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807825">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="_5f0a6778_3895_418e_ba12_9537cf2bf386"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_0" metaid="c51adc5c_8f72_4e4e_9a09_0a6b1079e298"/>
+          <speciesReference species="S_m1_2_1" metaid="_457f4162_57cc_4c1b_a052_b8235a03889c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_52431105_ca8d_447a_b424_33183fe31d8d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_6ef59f83_f18a_4a44_b4c3_1c644021a96f" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction55" name="binding of MAPK-P on scaffold" metaid="_807895" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807895">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="f0dfe197_da2a_4cd6_9014_523b33af0778"/>
+          <speciesReference species="S_m1_m1_m1" metaid="ea711528_9fde_4bbe_9ee4_6ffe78639262"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_m1" metaid="_77322f92_6d42_4aa6_b6fc_e6a887eac66a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3757d397_fbb1_4668_b2ec_e396dda34e6a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="bcdbf392_6a4e_41f7_a077_a4b02e8c1d41" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction56" name="dissociation of MAPK-P from scaffold" metaid="_807965" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_807965">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_m1" metaid="_3d08feee_f265_49f8_963a_5ceec92a72d6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_19e01fdf_7903_45e5_8d86_ad38096ef6c2"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_33ccad13_0013_417f_b0c2_cb80ef4d611c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_69a919c5_c8af_4d2a_8f43_c83b7588b0ed">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_508d6a8d_f6f2_4235_b07a_0c035d00515a" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction57" name="binding of MAPK-P on scaffold" metaid="_808035" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808035">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="bef7996f_e614_4946_8e77_5f0dea8c9c28"/>
+          <speciesReference species="S_m1_m1_0" metaid="_4130f069_f9ae_4343_8b86_0c330e0f43eb"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_0" metaid="_1e278601_b4e8_4024_bb5b_5f4852dcddcb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9b960fb7_8126_495d_8837_9f2c3cccd821">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_05d1176e_6d31_438b_927e_39076846f276" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction58" name="dissociation of MAPK-P from scaffold" metaid="_808105" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808105">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_0" metaid="_86acfed2_9fa8_4d96_8e9a_10d9efc68551"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_5522e699_3b76_4d9e_8d57_bb91ad326706"/>
+          <speciesReference species="S_m1_m1_0" metaid="_38cfbb5e_23d6_4e76_9090_4d40a53316dd"/>
+        </listOfProducts>
+        <kineticLaw metaid="_441bbcba_337a_448d_b885_880212ece80e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="aad82b8e_af7d_4cc9_88d8_00441be8b681" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction59" name="binding of MAPK-P on scaffold" metaid="_808175" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808175">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="ddfe3613_1bbb_4755_a6f7_ee5a8cdc466d"/>
+          <speciesReference species="S_m1_m1_1" metaid="ebd9c6b8_2ba0_4c29_9562_a5b0532d723a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_1" metaid="_05341f52_6aa4_4b41_b1e2_f566e2b44db1"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8e50710b_f001_4c8d_9977_7225d04bd764">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="a63035f7_72f4_4ab3_bf9d_d20f33a08931" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction60" name="dissociation of MAPK-P from scaffold" metaid="_808245" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808245">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_1" metaid="cc515283_54ad_4840_bb15_352f1b098df5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="ce375669_7fb6_41ab_97c0_c8e384df69a4"/>
+          <speciesReference species="S_m1_m1_1" metaid="f71329f1_fef0_40d2_8988_c6f3a740a97d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2ed7fb7b_5a65_4ba9_b4f2_3d6031b171e2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_440b9c8a_ac1c_43a7_af03_4a5ecb500700" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction61" name="binding of MAPK-P on scaffold" metaid="_808315" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808315">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_4c9924d7_5de6_4699_9e5d_3f264e12938c"/>
+          <speciesReference species="S_m1_0_m1" metaid="_96a2d9bd_4966_436f_8528_2c7cd6736210"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_m1" metaid="_329dbddd_bbbe_456a_a150_80c35fc482aa"/>
+        </listOfProducts>
+        <kineticLaw metaid="_750cb82f_8eb9_4592_9422_f1cad30d6457">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_78e54b0d_9beb_41bf_893e_31d538105f38" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction62" name="dissociation of MAPK-P from scaffold" metaid="_808385" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808385">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_m1" metaid="_3599e26f_6e52_4464_8b52_4e1ccc1825a5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="cda0d8fc_1f16_4fa6_a829_51ddc9c28357"/>
+          <speciesReference species="S_m1_0_m1" metaid="_3461adb1_db80_49b8_973e_ebbccf9b051c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_45b6f1ae_4f88_4a9c_ae45_5a1206e352ca">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_21f59a08_f6a4_4aee_9c87_4c953563bea7" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction63" name="binding of MAPK-P on scaffold" metaid="_808455" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808455">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_32a2402d_be9f_4644_8c84_571a0c861470"/>
+          <speciesReference species="S_m1_0_0" metaid="_583c29c5_4df2_43c3_97b3_51c8b0e21a2e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_0" metaid="_431d24eb_69be_42ca_a210_c4933b0dc44d"/>
+        </listOfProducts>
+        <kineticLaw metaid="d6ab5245_874b_45be_b67c_5b1e872c4d4a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_493104fc_2179_4293_a7fc_84a7bd628da8" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction64" name="dissociation of MAPK-P from scaffold" metaid="_808525" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808525">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_0" metaid="e59e8aa5_8e62_4b4b_98da_b28371d4f00b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="ec56a0fe_acbd_4832_b5dc_6356198b9d77"/>
+          <speciesReference species="S_m1_0_0" metaid="d0b1e414_de8a_431a_99a3_40e6e3c72874"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7720491a_2106_4d36_ac76_212795004649">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="f50e8546_91f8_4df2_94cc_8a6bbf6cf8e8" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction65" name="binding of MAPK-P on scaffold" metaid="_808595" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808595">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_05681cd9_dd80_4786_9ec6_033f8b5b5edd"/>
+          <speciesReference species="S_m1_0_1" metaid="f0299ec4_2e24_415d_9d09_49456ccaf40c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_1" metaid="_2735d0f3_521d_4979_873a_662ef73e7c5b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2685fca4_8b40_41a1_bd58_00250de83d09">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d9215240_a7f5_44ce_8d11_cea9c22e96f8" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction66" name="dissociation of MAPK-P from scaffold" metaid="_808665" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808665">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="_3392a8f7_ff15_47ff_afca_321d15a25019"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="bc3b55d4_5add_4c70_b933_aa84ab9b7aed"/>
+          <speciesReference species="S_m1_0_1" metaid="_980f5607_d327_47f5_bd96_8e78ab08ca1c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9a5ea6a6_2d56_4245_aa52_fe6f308d281b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_47824b6b_cd84_4423_8d6a_49a1c0aaaff1" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction67" name="binding of MAPK-P on scaffold" metaid="_808735" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808735">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="d8981b4b_58bf_4f35_bc41_4f74223e711b"/>
+          <speciesReference species="S_m1_1_m1" metaid="bc1ee302_b303_4872_9ba6_fd102f2489a4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_m1" metaid="_24097238_35ad_421e_8dc7_0fd4ce66ea15"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6903929c_c3e7_40db_bff5_5fcafba4e7a7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_8d1fe041_b7fb_4417_87b1_d5d08976e9db" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction68" name="dissociation of MAPK-P from scaffold" metaid="_808805" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808805">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_m1" metaid="_42b000fc_b27b_4152_93dc_d801c349853a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="d1978506_c1f2_4ce5_9ff8_b610ae309769"/>
+          <speciesReference species="S_m1_1_m1" metaid="_0a805426_7b81_4977_9982_e2bcd57da779"/>
+        </listOfProducts>
+        <kineticLaw metaid="d2c564f6_2f23_4f35_bbc2_a181461e6045">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_3ba3c2a7_d930_403d_8e2d_3f19a9c6b33c" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction69" name="binding of MAPK-P on scaffold" metaid="_808876" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808876">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_54453285_9acb_4584_99c9_e9eed5673208"/>
+          <speciesReference species="S_m1_1_0" metaid="f7c29069_fb8d_4825_a50d_6e150bf7e297"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_0" metaid="_45e61e4f_0b0a_4828_a38b_207cb3ce8f14"/>
+        </listOfProducts>
+        <kineticLaw metaid="ff71bbe2_ddf2_4101_8e9e_d6321254721f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="f804bee4_eb8c_4803_855c_89554ac9ed94" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction70" name="dissociation of MAPK-P from scaffold" metaid="_808945" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_808945">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_0" metaid="_0d5fbd35_433e_4725_9be8_a4a9e1d6f29c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_297443a1_1fcf_4227_8695_9fd487229f25"/>
+          <speciesReference species="S_m1_1_0" metaid="_0aac00dc_d471_442c_9437_eaa102fd31a2"/>
+        </listOfProducts>
+        <kineticLaw metaid="e4e16615_3c7e_45e2_86e9_a9f44610fdf7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_3066dfc2_3a70_4d98_a776_a71e33bb115e" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction71" name="binding of MAPK-P on scaffold" metaid="_809015" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809015">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_09f42eba_99f3_4e95_8168_7679df43287e"/>
+          <speciesReference species="S_m1_1_1" metaid="_02165f52_c67c_4846_993b_d03e35338e3b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="e4c6bbef_491a_4e56_a317_695e49ab63f8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4826e292_b4ff_4af0_a010_36a157d74ae2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="b99b1c9a_be4d_479c_bf9d_53faf1f4b9be" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction72" name="dissociation of MAPK-P from scaffold" metaid="_809085" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809085">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_9882ea54_0a52_4e8e_becf_a9cd8fe42123"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_42dce091_76d6_440e_880d_f041cd7cc71b"/>
+          <speciesReference species="S_m1_1_1" metaid="bf871c39_c9e3_43ee_80c7_8c863f0cca59"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8d45afa6_3d54_4825_a7ba_b5db3ef3fd2e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_2fcf83dc_2193_4fd2_a53b_f2f493e35ea0" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction73" name="binding of MAPK-P on scaffold" metaid="_809155" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809155">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_0087bd02_4571_45ef_872e_812a13608277"/>
+          <speciesReference species="S_m1_2_m1" metaid="_240fc2c2_2160_4615_b255_899a97aab543"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_m1" metaid="_5f4e4443_a21e_4f92_a163_5eff9cf7b5ef"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0e5ac7d7_e955_4d02_8118_ecf6705e2d33">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_3b7dc33a_e248_4d23_a814_574415edceb6" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction74" name="dissociation of MAPK-P from scaffold" metaid="_809225" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809225">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_m1" metaid="e6f5c9c3_a7d9_4c0b_b0ed_307213a2cba0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_33e5f2b6_9018_411c_a738_bbfce5140c7c"/>
+          <speciesReference species="S_m1_2_m1" metaid="_4c050ad8_68c3_4b86_8180_16954287265a"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad914e0f_920d_49b9_b42e_ecd30c153920">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c145f423_58b4_4414_b059_2261e548aec6" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction75" name="binding of MAPK-P on scaffold" metaid="_809295" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809295">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_01ecf963_c3b3_4ca0_a8bb_c8692e8769b6"/>
+          <speciesReference species="S_m1_2_0" metaid="a569cc4d_2782_4644_a240_92b3f0d3c253"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="_85ae49e0_9222_49cd_bc99_6197416c2aea"/>
+        </listOfProducts>
+        <kineticLaw metaid="f8eaa051_bc51_4920_bdfd_31562495e693">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_25a8278a_69c0_472b_a75e_e6dbf3e7e2ae" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction76" name="dissociation of MAPK-P from scaffold" metaid="_809365" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809365">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="_0bebdb49_cc8f_4380_9f06_6af15bfa466f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_4c83ff5c_9ae9_46ab_8506_50e933445f6e"/>
+          <speciesReference species="S_m1_2_0" metaid="_7e98ca2c_2959_4af2_87d1_cd47a11a6e1c"/>
+        </listOfProducts>
+        <kineticLaw metaid="b68b0d64_a139_4231_9907_6d8746adb779">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="ddd6275f_d870_432c_ac22_f8af215471d6" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction77" name="binding of MAPK-P on scaffold" metaid="_809435" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809435">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_1" metaid="_037e3d14_8a43_4d93_a2d5_9b3173eea55f"/>
+          <speciesReference species="S_m1_2_1" metaid="_63180cb7_cb94_4b91_b698_c764859c2721"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_7ab8c440_4340_4d03_b5d7_a5f760412439"/>
+        </listOfProducts>
+        <kineticLaw metaid="f6016009_df84_4b55_95be_08b301f4f697">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_1 </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_13dc602f_3417_4c7d_9da5_55800a78bce3" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction78" name="dissociation of MAPK-P from scaffold" metaid="_809505" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809505">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="_74b85695_4379_4bdb_b25e_4980ed549f76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_1" metaid="_8d6de291_1492_4761_8a50_5f9150887fc4"/>
+          <speciesReference species="S_m1_2_1" metaid="_516fc964_eeee_443c_a8e2_2382307b1301"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7f3286be_eaae_4b27_a78c_700a46d498d4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_15e7cacd_21e7_4f00_87a3_9bafe3468668" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction79" name="binding of MAPK-PP on scaffold" metaid="_809575" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809575">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_2bf69d64_e119_44e5_8ecc_8900dc54d661"/>
+          <speciesReference species="S_m1_m1_m1" metaid="f1d4c0bb_6a6a_42af_941b_fb2fc2f6e050"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_m1" metaid="_93781aad_1748_4bd3_b6d4_92ac96f9bfa7"/>
+        </listOfProducts>
+        <kineticLaw metaid="c8e85289_4c4b_4abd_a959_678cf34b1c06">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e8f284f9_1b43_4201_82e3_bdd751ceb36c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction80" name="dissociation of MAPK-PP from scaffold" metaid="_809646" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809646">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_m1" metaid="f0efb26e_03c1_40bd_bcfe_a44bbb2f8d02"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_16f15beb_f52f_4390_8623_6119e2761b99"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_9d4c8d38_3d5a_4053_b5da_4282020a16a6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_54c51c9a_acbd_4bf8_b07d_aa25efe7b147">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_7b0d5429_db60_45d1_83d5_d66ba6fd858d" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction81" name="binding of MAPK-PP on scaffold" metaid="_809715" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809715">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_39aac7b9_4e21_49d3_9768_e697b54792e7"/>
+          <speciesReference species="S_m1_m1_0" metaid="f6c2a0a7_1a2e_441e_9b05_ade461bc7195"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_0" metaid="e87e700f_95b0_4768_95b9_975a064181b6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_63630a5e_2c6c_4cf3_b55f_032151be53b6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="fd50501e_815a_4627_87e2_849b94be6fc0" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction82" name="dissociation of MAPK-PP from scaffold" metaid="_809785" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809785">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_0" metaid="_6945bae4_ebb8_4366_8bfe_dc6b2fc52be7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="bda05dd8_5753_42df_8536_c9010f76c958"/>
+          <speciesReference species="S_m1_m1_0" metaid="_07866f8d_887a_4c52_9aa2_d03201eea6a1"/>
+        </listOfProducts>
+        <kineticLaw metaid="ede40282_5691_44a8_a09d_9f5bee859efc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c22095af_068d_4731_a517_35aa954dbfa6" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction83" name="binding of MAPK-PP on scaffold" metaid="_809855" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809855">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_52c643a1_9ee5_4cb3_9804_fdef7b301cd8"/>
+          <speciesReference species="S_m1_m1_1" metaid="_1a49f771_f4c5_46b8_9909_26ecd8e3aacc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_1" metaid="_5c219195_318f_47ef_83e3_a1dced07d463"/>
+        </listOfProducts>
+        <kineticLaw metaid="_966ccbcc_7d43_4427_ad04_6761f176d3aa">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_10f7dbcc_353d_4089_bab8_8e8dbd4c0566" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction84" name="dissociation of MAPK-PP from scaffold" metaid="_809925" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809925">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_1" metaid="_37ba6a35_6e75_4008_9dac_7dfcfeecd7a9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_34893fe8_1632_4873_bd41_d2e661322e2a"/>
+          <speciesReference species="S_m1_m1_1" metaid="_1c0edc52_6563_45a0_90b0_7199fa150403"/>
+        </listOfProducts>
+        <kineticLaw metaid="_533921a9_9111_4096_bd18_316ab9a3ed37">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_74363c4b_9b15_45c5_ad2c_baf4a3b22209" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction85" name="binding of MAPK-PP on scaffold" metaid="_809995" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_809995">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_1eebf4d4_32f3_4c2d_9635_1a55dab33721"/>
+          <speciesReference species="S_m1_0_m1" metaid="f194c216_cedc_4396_a673_e84e10faa776"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_m1" metaid="_09acdddd_c108_4dfe_94cf_537fc24a7b8f"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad8b7b25_12f8_4eb6_b7c1_47003460653d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="b96d5c21_8664_4e06_a576_772b890b5bc7" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction86" name="dissociation of MAPK-PP from scaffold" metaid="_810065" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810065">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_m1" metaid="_95c89fce_8925_4bcd_8332_1c760b4f2702"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_4478c867_881b_465e_be10_fd730eac2699"/>
+          <speciesReference species="S_m1_0_m1" metaid="_1dfc5e9b_f8a2_4fe2_a4fe_b58ae9b0f2a7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9b562ee9_9480_4ddc_9eea_cf2581278670">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="b669806f_f2f4_4ddc_b758_822b2fff232f" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction87" name="binding of MAPK-PP on scaffold" metaid="_810135" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810135">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_41511ab3_7ab1_4309_af3c_1075225f6735"/>
+          <speciesReference species="S_m1_0_0" metaid="_59fd0579_c237_4ae7_9121_ea5117a455b1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_0" metaid="bbd9a7b0_b48b_4730_a68a_7086b7419a54"/>
+        </listOfProducts>
+        <kineticLaw metaid="_37684ed3_8ad5_4c52_9c8c_981358e87791">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_1c5b174d_ff29_4af1_96b1_c39b544c3ce8" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction88" name="dissociation of MAPK-PP from scaffold" metaid="_810205" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810205">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_0" metaid="_6702de02_7a96_470f_ad51_cc599710dd55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="c3e141fa_da75_4c6b_8f34_0287bb86e4a8"/>
+          <speciesReference species="S_m1_0_0" metaid="_3e656fc8_60c3_4db9_99ac_57aac597a29f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_30d711c0_8b6c_4394_b72f_e8e370074900">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="afac37bd_bd20_46d6_8476_157054aecfe8" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction89" name="binding of MAPK-PP on scaffold" metaid="_810275" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810275">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_9791f0e9_6efc_4b61_a747_0634f4f9bbaa"/>
+          <speciesReference species="S_m1_0_1" metaid="_8683fd4a_f563_4116_b04a_d14ba725b54d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_1" metaid="_6e0a74e0_3a40_49e7_b5b0_0d39f9e0c859"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8ac2d092_6b76_4084_816f_cc300de1619c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_01310d2f_062b_430c_8ed5_e3fd2b57357f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction90" name="dissociation of MAPK-PP from scaffold" metaid="_810345" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810345">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="ca28728f_5010_4ac2_8b59_dbc6739c1881"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="cff80b39_1bf3_47c2_9ef6_99f457b888d2"/>
+          <speciesReference species="S_m1_0_1" metaid="_83dce4f0_360a_4a6c_a6e6_241b56f26b26"/>
+        </listOfProducts>
+        <kineticLaw metaid="e3101064_804a_4724_ba1a_bab8ebf327ce">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_09601c60_c016_4e59_bd1b_4b2fc0e07c69" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction91" name="binding of MAPK-PP on scaffold" metaid="_810415" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810415">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="c470df56_89e0_45a1_ba62_d39f5c75c246"/>
+          <speciesReference species="S_m1_1_m1" metaid="_90d7e3c6_e0b4_49ff_8c6d_588585c2dd64"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_m1" metaid="_44aaded6_b7df_4392_9d48_becd35519b94"/>
+        </listOfProducts>
+        <kineticLaw metaid="_60557504_fab6_41ff_9e12_ecb1754708e5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_1d6d00c5_3d05_47f3_97d3_9f5147831111" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction92" name="dissociation of MAPK-PP from scaffold" metaid="_810485" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810485">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_m1" metaid="_20405a7c_5d8d_4e65_b2f7_c0050da49d97"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_2a220e7d_2bc2_4fc3_908b_c06f94972a7b"/>
+          <speciesReference species="S_m1_1_m1" metaid="e4a210ca_617e_481e_a5a4_fc41330e0c2d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5b5d66fd_0df1_418a_b41f_e8825b1fb066">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e8fb1fc2_f086_4d8c_af28_3138f80d4464" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction93" name="binding of MAPK-PP on scaffold" metaid="_810555" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810555">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="c4bbc363_ed68_487d_818e_7c293e8282c0"/>
+          <speciesReference species="S_m1_1_0" metaid="_2cf60c2b_e922_46f6_b81e_9c64a14760ca"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_0" metaid="_67403259_54b3_4c7e_9823_fef365cce6dc"/>
+        </listOfProducts>
+        <kineticLaw metaid="_34350140_a8c2_4e25_a2d0_7db88dd277f3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_162ce5a1_f015_4241_9ffd_76abcbf83362" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction94" name="dissociation of MAPK-PP from scaffold" metaid="_810625" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810625">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_0" metaid="ad4ae90e_9cbe_4bee_a05b_b7fbd4352422"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_120e6083_b7b7_4ee7_97c8_842ac8d119af"/>
+          <speciesReference species="S_m1_1_0" metaid="a7a4a433_30b7_4de2_aed6_978ca2746705"/>
+        </listOfProducts>
+        <kineticLaw metaid="_09d87751_15b3_48f3_8645_f03d4e4a1225">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="f54b6d99_84bd_4548_8bfd_362a71b95260" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction95" name="binding of MAPK-PP on scaffold" metaid="_810695" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810695">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="c8ae3b34_e2a1_4829_bb62_6df2a7dd8df6"/>
+          <speciesReference species="S_m1_1_1" metaid="ad81da92_ff4e_4b7f_956a_4ebadbf76f1e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_93fd1606_dc87_48cb_8a60_abcd75075044"/>
+        </listOfProducts>
+        <kineticLaw metaid="_859f9be7_8af9_4fc0_aa35_3f83c9c1adca">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e331a98a_d59b_4804_b5ea_7fe65cb496bf" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction96" name="dissociation of MAPK-PP from scaffold" metaid="_810765" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810765">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="_4ba5a955_a323_477a_a17c_99864b562df5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_669cc542_8dfb_4f8d_8732_75a5f0a573d5"/>
+          <speciesReference species="S_m1_1_1" metaid="f593dad7_1635_4a80_b631_7bcab5cc9c12"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7a530b1c_bb2f_49be_bbea_a48d41598e71">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_7174f58a_7ee8_4af4_b564_0704448f9b97" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction97" name="binding of MAPK-PP on scaffold" metaid="_810835" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810835">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_169446f8_d876_4abc_b345_a4a920000549"/>
+          <speciesReference species="S_m1_2_m1" metaid="_41eb124e_ed74_4d9b_8f57_54c92fa66ba0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_m1" metaid="_767f670d_4fd8_43e7_80d8_3beae368707d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_09a43913_a8b1_4a36_a709_47174be893f7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e378a8c1_d46f_418a_91a1_582c05e5c5ac" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction98" name="dissociation of MAPK-PP from scaffold" metaid="_810908" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810908">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_m1" metaid="_39cd515c_695b_4a10_9ead_3408f4584e30"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_5f89a898_3e38_44bb_94c8_8cf24432909c"/>
+          <speciesReference species="S_m1_2_m1" metaid="_672e84f4_296a_4b02_8c30_341f34162703"/>
+        </listOfProducts>
+        <kineticLaw metaid="b6a8c8e2_ddf2_42b7_81bf_dd0fb9806f4a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="adae9e6d_217a_4321_888f_d7523402f6a7" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction99" name="binding of MAPK-PP on scaffold" metaid="_810975" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_810975">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="f241cbbe_d321_4d0a_af16_0523aaa2e851"/>
+          <speciesReference species="S_m1_2_0" metaid="_0ac7a6a2_5d5e_4f51_a961_6b9427147fa3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="fd45760c_a592_44a8_aedf_e4561e4b57de"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3f8ca11c_67fc_4f88_91f9_d37cb7f2f404">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_2d52ef46_e170_46b0_a7f0_bed53e8be087" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction100" name="dissociation of MAPK-PP from scaffold" metaid="_811045" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S_2_2_0" metaid="_743042e0_0512_4ea4_9cb8_281a085a1a2e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="ea9ab8cc_d298_47a5_926a_4b1a53c97cdb"/>
+          <speciesReference species="S_m1_2_0" metaid="_2c4fd5dc_c0b0_40e2_9bce_456dbfcd7135"/>
+        </listOfProducts>
+        <kineticLaw metaid="_14156ace_7422_4012_b2c9_beeac217de76">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_16a8792a_ca7f_4b86_82ae_09a8ee49bf08" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction101" name="binding of MAPK-PP on scaffold" metaid="_811117" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811117">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0051019"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="K_1_2" metaid="_09c0b1c6_2248_4b26_86ed_3e024c246246"/>
+          <speciesReference species="S_m1_2_1" metaid="_17e3a605_db53_41ce_b840_654283d9b715"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="b8a0664a_1aa0_4395_8d39_3b1f6660e350"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7cd478c4_9c06_417f_b651_37012081bc41">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_1_2 </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d4b114c0_8f8a_4fe0_ba4c_1a04a7400a3a" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction102" name="dissociation of MAPK-PP from scaffold" metaid="_811185" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811185">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_1" metaid="_75fe750b_0bb9_4cec_aa6c_d19ddd9bf491"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_1_2" metaid="_84709771_b4ad_430d_a0d3_e63791d41155"/>
+          <speciesReference species="S_m1_2_1" metaid="_23f6f086_202c_4dac_b383_d523449ea865"/>
+        </listOfProducts>
+        <kineticLaw metaid="dc29165e_50ee_4925_ac66_e8695a06b98c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_3a483200_b564_4356_b5de_108a54acb3c3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction103" name="binding of MEK on scaffold" metaid="_811255" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_4d994ce7_06f9_4e62_bafe_48c97b9b9abe"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_263a3715_2e2a_41c8_9975_3b1f1faa1dfe"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_m1" metaid="_3b25a898_7949_48a3_9d6a_0e23aa9a7dd7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6f00081a_d754_48dc_859b_0f6d4950c9f4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="e0d71f46_4905_47f5_b4fb_07741b34a779" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction104" name="dissociation of MEK from scaffold" metaid="_811325" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811325">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_m1" metaid="_5c04cee6_9e2c_4855_b66c_880ce9973a00"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="dcbf0b94_069d_46ff_a86e_c2122714542c"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_3e68905c_c28a_4636_bd86_5369d34defc5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4bd753b4_345f_475b_a627_11d7031099a5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="d22b9baa_844f_42a4_870a_be8f3a1b5851" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction105" name="binding of MEK on scaffold" metaid="_811395" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="b9bee40c_c11c_40ff_8c6b_a337720a1f8b"/>
+          <speciesReference species="S_m1_m1_0" metaid="_58f7cbf6_c7c2_4fd0_b1a4_a8b37edbd2b5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_0" metaid="_766f3e6f_f9f7_4133_a54c_7a23c9b890c7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_00580fdf_3855_4cb8_8f98_ce0727f43038">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="bd848818_fd21_46ca_a3f9_f119d2106c37" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction106" name="dissociation of MEK from scaffold" metaid="_811466" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811466">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_0" metaid="_444c643a_0df6_443c_944b_31b1adf8985e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="e3076b87_20ef_4902_8ca7_1c280946c84a"/>
+          <speciesReference species="S_m1_m1_0" metaid="a6731143_3aa7_49f0_a0b6_638c7e7792fa"/>
+        </listOfProducts>
+        <kineticLaw metaid="d76c3c47_f473_421c_8c33_a7b7d2662bd6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_3a085397_088c_4585_a76a_4027f8d04aef" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction107" name="binding of MEK on scaffold" metaid="_811536" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_16319d2a_605a_4856_a47f_09867cd99f0e"/>
+          <speciesReference species="S_m1_m1_1" metaid="_1beeefaf_011f_4e37_9baa_5a840f10167d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_1" metaid="d60ecb6a_1a8d_4cf3_b3e0_b106f3416ff8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_84b1c3fc_85af_4f8d_a4a1_a5d1b34294ce">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_4baf0e2c_52d1_4b4a_9381_66e377d44057" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction108" name="dissociation of MEK from scaffold" metaid="_811605" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811605">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_1" metaid="_8b938a08_31a7_4905_aace_ebb8df09a363"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_7bbf4bd2_b8ee_4b72_945c_1ad23a717f66"/>
+          <speciesReference species="S_m1_m1_1" metaid="d7473ae1_9f95_4073_b2d1_e7536ba9725a"/>
+        </listOfProducts>
+        <kineticLaw metaid="b63e7b0b_60ce_4da0_a2e2_971ad1e8fb18">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_3eb3a9f7_2ac9_4da9_b891_3499145e0f67" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction109" name="binding of MEK-P on scaffold" metaid="_811675" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="bd781f28_1591_4204_8c01_1e81b88e40d1"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_139ab242_6fde_41b0_b4de_bc47ae4ba1cf"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_m1" metaid="_9499c04f_f46c_4e5b_978a_bda23f2a718f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8e635ab0_a9aa_4541_bea0_efb3afe9d7df">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="ac517b37_85af_4b4b_9036_8ab4ee68418d" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction110" name="dissociation of MEK-P from scaffold" metaid="_811745" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811745">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_m1" metaid="_9f1737ed_2c43_4783_b4c8_49667e1fd47e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="b7f3d980_8b8a_4a23_9c54_284e66ad0696"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_7b71834f_00aa_4d58_aeb9_0a93509fcfe9"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6280cbb6_21b5_4868_ad21_df39e1c084a4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_21c288fd_3a0a_4c30_bad1_476948f014e0" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction111" name="binding of MEK-P on scaffold" metaid="_811815" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_729da3d2_993c_4f21_a508_b162a794607e"/>
+          <speciesReference species="S_m1_m1_0" metaid="a3f8e8b7_e98b_4a5a_aba9_230364fd0636"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_0" metaid="_985d4a2d_f011_4fe3_b136_8a7dd88a66d8"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad0d6042_d93a_4fe8_92ae_f99ac0ae02e2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_01f0786c_a357_4fa9_907a_509db31ea8d4" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction112" name="dissociation of MEK-P from scaffold" metaid="_811885" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_811885">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_0" metaid="_703dba14_db9c_475d_adb2_37e4e4e90795"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_24cd6dba_f137_49ce_b960_a8fc42d1a62a"/>
+          <speciesReference species="S_m1_m1_0" metaid="_5dc99b10_a181_42ae_834e_52b490d6ec14"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7203ec3e_0bcb_4e6f_b509_51c5931dbb17">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_28170848_1ccc_46ca_81dc_ae6bf74bbdfc" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction113" name="binding of MEK-P on scaffold" metaid="_811955" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_09c25a52_a17d_4068_ba50_8a7fbcb30e9c"/>
+          <speciesReference species="S_m1_m1_1" metaid="cd8b47bb_4a34_431c_a376_fdc9b37f1c39"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_1" metaid="f5ea3645_fa26_40df_a525_ffd699f847cd"/>
+        </listOfProducts>
+        <kineticLaw metaid="fa307a58_c309_42cc_bb30_08812af66d61">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_9851be0a_3e30_4926_9f06_5a3e55bba426" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction114" name="dissociation of MEK-P from scaffold" metaid="_812025" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812025">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_1" metaid="_9d0dcfa8_2cc1_4739_8972_594b6d0321d6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="c9de9140_4cb5_47ed_91cd_78362f751be9"/>
+          <speciesReference species="S_m1_m1_1" metaid="_288f5fa2_9f79_4a4d_a478_4bf0598fd89a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6b1aa21f_4f35_4817_9e03_081c1264bcd1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_18b620f6_3c05_4700_9513_3041fa3da022" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction115" name="binding of MEK-PP on scaffold" metaid="_812095" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="d6c44c31_3cf8_44df_b86c_b3b9ae528401"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_7150bd9c_06bc_40df_9c84_57aca0e1c0ca"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_m1" metaid="_804ce694_4355_4eca_b066_b0ea94af9282"/>
+        </listOfProducts>
+        <kineticLaw metaid="_68b1e9d1_3678_49ec_a513_af2d1ab6ee0b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="ec825d48_6d26_465c_be7c_e2e550b5dabf" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction116" name="dissociation of MEK-PP from scaffold" metaid="_812165" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812165">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_m1" metaid="bdaf6219_a0f0_46d9_829c_a15fdec65372"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_8a7e345e_4217_4101_bf79_ddf83073a566"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_3be71f51_8bb4_4552_8f23_0c241b79ffa5"/>
+        </listOfProducts>
+        <kineticLaw metaid="ce8552a7_16d1_4aa8_9898_5fd922585535">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="bc4a5746_5f68_4443_9422_f42625f677f0" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction117" name="binding of MEK-PP on scaffold" metaid="_812235" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_1532a437_040b_471a_87c7_7e2bcc4c6d69"/>
+          <speciesReference species="S_m1_m1_0" metaid="_9234f846_c82e_43ae_8d9d_e1f89e9fedc7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_0" metaid="_1a795506_0744_4024_908e_1a61bf36e575"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7b5a46f3_eea8_4dc3_83f9_b322cc504f05">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_2d195bae_1111_40bf_9717_400c5ef1e602" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction118" name="dissociation of MEK-PP from scaffold" metaid="_812305" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812305">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_0" metaid="_1feb9386_f617_4587_8bec_3d0f89b0ec26"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_12b05fae_59a8_40a9_a5a8_d92177849505"/>
+          <speciesReference species="S_m1_m1_0" metaid="fca44226_204e_4d6d_bf4a_7e9a71297b6b"/>
+        </listOfProducts>
+        <kineticLaw metaid="aa0dfdb5_e727_4f1d_b4e3_73498922bfcb">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_4a2bc093_a36a_4b75_9f20_7531890f7ec3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction119" name="binding of MEK-PP on scaffold" metaid="_812375" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="d89f9260_d394_4b68_8b5f_8485e82518ae"/>
+          <speciesReference species="S_m1_m1_1" metaid="_29a535bc_0803_473b_b3d4_bdbd03c43b33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_1" metaid="ad09b0e8_8172_416e_97df_f87892482efa"/>
+        </listOfProducts>
+        <kineticLaw metaid="_56ee93ba_862f_4e3f_86af_2c023370d109">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_60119679_14f9_4709_964d_8c0e1a7c0f11" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction120" name="dissociation of MEK-PP from scaffold" metaid="_812445" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812445">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_1" metaid="_08f42c82_2257_4a78_9e07_9782143a09e9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_81156d22_1685_4e8a_b97b_c49b95ddc009"/>
+          <speciesReference species="S_m1_m1_1" metaid="_5cb0b6c7_18bc_4697_8778_f74eaafbdef6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4be7df6a_fdd1_47ec_abba_1ef8ea21903e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="fe9f5b83_b96e_45bc_beed_d306e7063d40" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction121" name="binding of MEK on scaffold" metaid="_812515" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="eedc3eb9_c0bd_41af_bbd7_39d037690451"/>
+          <speciesReference species="S_0_m1_m1" metaid="_14493653_300a_477a_b014_482daac67e1b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_m1" metaid="dd7cfe05_af1f_43e9_b7f8_2c0e2a5a3634"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8a656fce_3bc2_4800_9d9a_5eeca46102ba">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="ad01a2ee_3fde_46ca_9590_a0f42f3fffdd" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction122" name="dissociation of MEK from scaffold" metaid="_812585" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812585">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_m1" metaid="_0ade0ab1_7ca7_46fe_9c6b_0f298b2fdc7d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="f604ef98_f723_4da6_98a8_64baecca77b3"/>
+          <speciesReference species="S_0_m1_m1" metaid="_0b11a201_89b6_43df_8f95_63a9f97f53d1"/>
+        </listOfProducts>
+        <kineticLaw metaid="_778527d7_73ce_430b_bf1b_0a09ef00d01d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_6f994129_834a_4c0b_8121_234b053ed799" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction123" name="binding of MEK on scaffold" metaid="_812655" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="b05c35b8_d314_4912_a624_5da535ad52db"/>
+          <speciesReference species="S_0_m1_0" metaid="_3920f527_b19e_46fa_a161_221f9383dbee"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_0" metaid="_2f36528e_50bb_4dc3_94e6_2eb08f1c90ee"/>
+        </listOfProducts>
+        <kineticLaw metaid="_05455285_ed78_4c52_8757_1e1e1bcd0805">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="bc38504d_b444_4352_a2d8_f7ba03c7de7e" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction124" name="dissociation of MEK from scaffold" metaid="_812725" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812725">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_0" metaid="_7dcd2fec_4237_4a9d_b3bb_c0b9313dcc59"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="cada1ce6_a738_49e2_aa60_e1e75b19ac7a"/>
+          <speciesReference species="S_0_m1_0" metaid="eecb1e13_4cd7_4bd5_b1f4_88a76ba6f194"/>
+        </listOfProducts>
+        <kineticLaw metaid="e516fe8d_7651_43d6_856e_8db890b24cd2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="ccb56eac_cc29_44a7_b600_f8c18ad4acfe" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction125" name="binding of MEK on scaffold" metaid="_812795" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="d8162243_5468_4ca2_b29f_7db6347e14aa"/>
+          <speciesReference species="S_0_m1_1" metaid="_13259f18_2f01_4ace_a956_e48f10b8a496"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_1" metaid="_9683a867_65b5_40be_8f50_95efa3b3ab99"/>
+        </listOfProducts>
+        <kineticLaw metaid="ddd7f96b_1f64_4bc4_9d9c_6848c2f7fb10">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_5727d1a4_c3b9_46e4_bb90_5b4feba3bead" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction126" name="dissociation of MEK from scaffold" metaid="_812865" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_812865">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="_5aba269a_bd24_4074_b9e7_9eda4c58d626"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_08ab63a6_fe61_4732_801b_d465d8d09647"/>
+          <speciesReference species="S_0_m1_1" metaid="_3e8b05fc_ec36_4b29_a5c2_476bcaab771e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0b557c68_13e6_4b8e_a66c_493b0f580537">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="a1c912e1_e44a_43ac_b4e8_9318893ffd96" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction127" name="binding of MEK-P on scaffold" metaid="_812935" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_9908dffc_436c_4054_a7ad_d6675de4d3ab"/>
+          <speciesReference species="S_0_m1_m1" metaid="_06afe30c_fdc6_4277_b58d_098f57111221"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_m1" metaid="ab283536_68b2_4fe4_a5ce_eeed25a9c7bb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1a7b1efb_893c_4d43_bc32_5fe464d3dbc3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_8c9318b5_c036_4e2a_b2a9_4a94c23c2cc0" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction128" name="dissociation of MEK-P from scaffold" metaid="_813005" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813005">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_m1" metaid="d11f90cd_0091_4b6c_bc6d_eee399406078"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_6d781497_3fa3_4033_ac8f_0aff4d0c19bc"/>
+          <speciesReference species="S_0_m1_m1" metaid="f844b073_c023_4e11_a1a5_20d8394a3c2d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3291e4f3_3e6c_4b4f_9e98_027de5cfb819">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_5e0de32a_905b_4cda_8c37_d0f3529d67a5" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction129" name="binding of MEK-P on scaffold" metaid="_813075" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_930bde9a_63bb_4394_9f71_ff151ebcc4ff"/>
+          <speciesReference species="S_0_m1_0" metaid="_98677388_a2c4_4f09_af11_c5d200dab46e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_0" metaid="_7cc9c105_8060_4192_9e07_7eaf10e7e624"/>
+        </listOfProducts>
+        <kineticLaw metaid="_161318b0_3c29_4f2a_b7f2_b3e05ce6fd54">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_1a42dbf0_1cbd_4829_a429_c5f91e894151" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction130" name="dissociation of MEK-P from scaffold" metaid="_813145" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813145">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_0" metaid="_214502cb_fd7f_4495_8f8a_be23cc3e1df5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_7a956aa6_b698_4fac_963b_e53cb1a5ae2f"/>
+          <speciesReference species="S_0_m1_0" metaid="_841098ff_e186_4524_b72f_d5529e878fd6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1a3b494d_6574_4f31_9d1d_b8377635bed7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_2d2309d4_d52e_4591_84e5_5118caf35606" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction131" name="binding of MEK-P on scaffold" metaid="_813216" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="f6cf914b_b146_45e1_ac0f_b0ddb5243d42"/>
+          <speciesReference species="S_0_m1_1" metaid="_347f9f9d_2c72_4e43_a6c7_8ce76c15a170"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="_093b19bb_f56a_44fd_aa89_79cbc4d8efba"/>
+        </listOfProducts>
+        <kineticLaw metaid="fa988bff_5958_46ab_8031_523f974f9c38">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_3d9a6b3d_9591_4cb7_bdfd_b50524990876" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction132" name="dissociation of MEK-P from scaffold" metaid="_813285" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813285">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="_43c4106d_3c10_41bd_ba00_3a0e58f9c2d2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="cc65062e_8a8c_4e33_ae00_f132b4d4af19"/>
+          <speciesReference species="S_0_m1_1" metaid="_4c0e42a4_da6b_4ed3_99ac_32e092a97b4a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2231859f_fe9c_47b1_be22_41b3fab9d774">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="a63c8497_56e8_4f6c_8d53_42d4539d19d8" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction133" name="binding of MEK-PP on scaffold" metaid="_813355" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_8e4cef4e_a241_4c78_8061_4af06989963e"/>
+          <speciesReference species="S_0_m1_m1" metaid="_2117b6a1_4861_40ec_9fbf_1aa2b7e77163"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_m1" metaid="d0590f67_d0e3_4c3f_855d_f9768b402aec"/>
+        </listOfProducts>
+        <kineticLaw metaid="ded2452e_cc2f_4dec_a987_e82a2f187d4a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_4f5000af_9dcf_4b0c_a80f_a7e4c4e61e6a" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction134" name="dissociation of MEK-PP from scaffold" metaid="_813425" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813425">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_m1" metaid="a4dd9a4e_74b0_4536_bd93_1c57f66acceb"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_1c2337c2_1247_4329_8c77_6e524e05f389"/>
+          <speciesReference species="S_0_m1_m1" metaid="_0f3bd9d4_27f4_4124_8768_d4212564f196"/>
+        </listOfProducts>
+        <kineticLaw metaid="bb96aae8_7305_4747_b430_307d9f38030e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_338e9aa9_27f5_401e_957f_6de2c9159a6b" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction135" name="binding of MEK-PP on scaffold" metaid="_813495" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="c4382cf8_219e_4bdd_b3e4_47867119bc84"/>
+          <speciesReference species="S_0_m1_0" metaid="_7eb5d281_8800_438d_99c7_734c8a087bbd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_0" metaid="ea69f7f6_b5c7_4c55_baa4_5191704c240f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4923d296_c603_4fee_a9b4_f86b0d162051">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_9c7d7314_808f_4ac1_9b95_08327f4d870c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction136" name="dissociation of MEK-PP from scaffold" metaid="_813565" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813565">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="_342ab6b5_5d0e_4f75_abe4_d89fa961f525"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="f66bc9fc_436f_4f1a_a52d_67f914ce3403"/>
+          <speciesReference species="S_0_m1_0" metaid="_31bc2bfa_6832_498c_8782_f02b282ef490"/>
+        </listOfProducts>
+        <kineticLaw metaid="eab21b2b_1169_4ca1_bb6c_abb4b602d7aa">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_7e4abae7_9366_49d4_974a_785adeab4b69" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction137" name="binding of MEK-PP on scaffold" metaid="_813635" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_6db8f9d7_5557_418b_9b56_24550e7435d9"/>
+          <speciesReference species="S_0_m1_1" metaid="_8c8c7b6c_08d5_4f8a_b312_47dc58e9fe9d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="_0d6f48ec_4430_43b0_9185_179e2262a84f"/>
+        </listOfProducts>
+        <kineticLaw metaid="ea271c8e_cfe7_4f6c_ac82_c83d5c8bc763">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="cf77fff7_990e_46bf_8c39_d91fe0c8b6d4" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction138" name="dissociation of MEK-PP from scaffold" metaid="_813705" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813705">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="c69c17c4_a692_4d61_ab10_384a3f10778b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_02438bdc_86f7_42c3_9002_6e12b95ea4c6"/>
+          <speciesReference species="S_0_m1_1" metaid="dd644dc8_63b7_4033_8284_bd1ab4bad7d0"/>
+        </listOfProducts>
+        <kineticLaw metaid="f3de6a6a_412c_4839_8749_d0640cfed8c4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_69e7b415_3b43_4e69_9408_63554a66bd73" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction139" name="binding of MEK on scaffold" metaid="_813775" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_97325d9d_7c35_4666_814e_d4cb10f34cc3"/>
+          <speciesReference species="S_1_m1_m1" metaid="a4fcea54_05c0_414d_994c_bc15f1fcd24c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_m1" metaid="c4760914_d833_4d9c_9e6b_a3fc18bcab81"/>
+        </listOfProducts>
+        <kineticLaw metaid="_385d0174_863b_4c50_813a_2812f2d5ca6d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="aa57d508_6336_4beb_ba72_b57d30fcdfbd" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction140" name="dissociation of MEK from scaffold" metaid="_813845" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813845">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_m1" metaid="_7cf4d15e_092d_4e99_9944_8c971f00773f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_47e6de29_dc57_4a1d_9e1c_25a643fdca8f"/>
+          <speciesReference species="S_1_m1_m1" metaid="_641d4e92_6f8b_4cb3_94b4_0edbe7176137"/>
+        </listOfProducts>
+        <kineticLaw metaid="c7b6574f_0639_4d81_9410_6f58b87cf660">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="b4759816_73d6_441b_904b_47730f2cc662" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction141" name="binding of MEK on scaffold" metaid="_813915" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_447aef08_edd5_4b8b_9abd_8b2466791975"/>
+          <speciesReference species="S_1_m1_0" metaid="f94d9a72_6c3d_4102_a4fc_f0ab976d0e1f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_0" metaid="_4e33ddf4_2960_45cf_a3c7_1d7998c4e61d"/>
+        </listOfProducts>
+        <kineticLaw metaid="e95b5276_632f_4388_9085_7df9751ebb8a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_791aa060_11be_4c88_8590_0ecf81e053de" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction142" name="dissociation of MEK from scaffold" metaid="_813985" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_813985">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_0" metaid="_5aefee6f_7a2c_420d_887e_b17bdecccbbc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_58185044_3fd0_43a9_9218_510352b7c17b"/>
+          <speciesReference species="S_1_m1_0" metaid="a2854bfb_ba61_4b4a_99ee_bf03c87c593f"/>
+        </listOfProducts>
+        <kineticLaw metaid="f325c7b5_3419_4cb6_9d1a_492ee7667baf">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="d1042ddb_887f_4d2a_9a05_8f521176e476" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction143" name="binding of MEK on scaffold" metaid="_814055" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_47f9fac3_011e_46f6_9b8a_ca0faef933b1"/>
+          <speciesReference species="S_1_m1_1" metaid="_94761f4e_a913_48c0_9aa2_4b53345513e0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_1" metaid="f53e5ebf_05a7_475a_929e_57f5cbf12f80"/>
+        </listOfProducts>
+        <kineticLaw metaid="bd953fc4_bfb4_4467_8a76_a854f8c50222">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_1ecde70b_2846_4e1d_9854_386d51ba9b8c" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction144" name="dissociation of MEK from scaffold" metaid="_814125" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814125">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="f6435b39_a4a7_42c5_8ff7_e0c251924aad"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="f1dda9c7_44b9_47da_aa98_f0abd9f338f3"/>
+          <speciesReference species="S_1_m1_1" metaid="_75b98a9d_7144_48bc_8fc0_1c93d3abfabc"/>
+        </listOfProducts>
+        <kineticLaw metaid="dc6855d3_5e98_4759_9b63_6c6537b03c1f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_7c1fc3b0_0006_4119_a134_14de3292b7f6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction145" name="binding of MEK-P on scaffold" metaid="_814199" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_73690fab_0eee_4df4_bb10_ac61bf81009a"/>
+          <speciesReference species="S_1_m1_m1" metaid="_5551287b_17c5_44db_8e03_4deb372687c5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_m1" metaid="_224485ae_dbae_43f9_8af1_e36ba34d6831"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4add7814_28a4_4f5e_a4c0_eb620581bb15">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_7d1c7b9e_06b0_4bd5_88d8_ee77516ad22c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction146" name="dissociation of MEK-P from scaffold" metaid="_814265" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814265">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_m1" metaid="_66fd9b24_8179_46b7_8c3b_5306b0b7c7c4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_1fdc7784_f70e_483e_aadd_12a5ad713618"/>
+          <speciesReference species="S_1_m1_m1" metaid="fe4a51c5_25c7_4cac_9016_17cb0686b84a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_59e22804_cd73_4448_b52e_fa5edf022323">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="f6b322a3_3b34_410b_bdd6_a28722e9b095" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction147" name="binding of MEK-P on scaffold" metaid="_814338" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="b8a26763_bfae_4e04_93d4_e8ffae37f89f"/>
+          <speciesReference species="S_1_m1_0" metaid="_62366522_f522_4584_8b71_16e6fafedd24"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_0" metaid="d8b31d27_20bd_445b_8210_705d8c77c3a9"/>
+        </listOfProducts>
+        <kineticLaw metaid="_16a86fd5_b8e2_40e7_bfbd_9c9c876faecc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_9a81051c_e424_4dd9_a28e_1af2dd864830" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction148" name="dissociation of MEK-P from scaffold" metaid="_814405" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814405">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_0" metaid="a511911b_8543_4523_8ef2_cebfb22cbc7a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="e3ec5b15_20a1_42b9_a54d_033de6ebeebb"/>
+          <speciesReference species="S_1_m1_0" metaid="_60fa8dc8_e0b1_4ca7_9f79_a42eca20c9e0"/>
+        </listOfProducts>
+        <kineticLaw metaid="_813d7e09_8194_4033_8e94_be425bbe2bbc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_4c867a3c_e1fa_48f1_ba14_aba9510cf0ca" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction149" name="binding of MEK-P on scaffold" metaid="_814475" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="c20677eb_edeb_4461_9352_52d783b1c820"/>
+          <speciesReference species="S_1_m1_1" metaid="dfb8cc81_176c_4dc2_85ff_af6a95e89836"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="_2eb6f3f0_d6d8_44dc_9f25_a45dd82d9246"/>
+        </listOfProducts>
+        <kineticLaw metaid="_151eef03_d833_472d_b33e_5a3ccb56acf2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_4c9490e1_aa17_457d_b44c_6e89482d4139" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction150" name="dissociation of MEK-P from scaffold" metaid="_814549" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814549">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_68e34330_8d97_44aa_87ac_7363a73e0332"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="b68b7bf7_caab_4d15_9b22_32218cd8d4f5"/>
+          <speciesReference species="S_1_m1_1" metaid="_3d8e7cd2_4def_4a74_a715_d13cb353c7f4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_04555d13_18fd_4a52_a7ee_a039d8b958c2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_620b77fc_c383_4b5b_a1f4_b1a1d7553f27" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction151" name="binding of MEK-PP on scaffold" metaid="_814615" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_20b1584f_96e1_4672_9e8c_db904743f443"/>
+          <speciesReference species="S_1_m1_m1" metaid="_39c458f7_d30b_4b1b_a7b2_096a0e9afcca"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_m1" metaid="ceffde3e_1bb3_408a_b0da_be2c2da1791c"/>
+        </listOfProducts>
+        <kineticLaw metaid="f56c8a50_3f0a_46e4_aaa1_6b0fa1222edf">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_54f5cc7e_7e98_44b0_9906_89d60fab0123" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction152" name="dissociation of MEK-PP from scaffold" metaid="_814685" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814685">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_m1" metaid="_67c6f510_4768_463e_b16b_2abfbfca500e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="ff3c4273_5f0b_43ac_9fe7_3b9fcd4ce9d2"/>
+          <speciesReference species="S_1_m1_m1" metaid="_4b4d737c_9b65_401d_a024_bac5e96348c8"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad0c5079_a935_42ff_b6c8_1744e9f0b6c7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_58674c5b_ba87_4c2d_9354_14b21d02aaf7" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction153" name="binding of MEK-PP on scaffold" metaid="_814755" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_0e30c6b6_8383_4377_8106_289a56a90831"/>
+          <speciesReference species="S_1_m1_0" metaid="f2c9f168_f26e_45aa_b274_f8139260afc8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="_3e0faad3_56df_4c86_8035_b2d0393893c8"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7eca309b_1c52_4ceb_98a3_12370acf1a64">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="c4f982ad_46ff_4222_91e4_5e2b19b87015" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction154" name="dissociation of MEK-PP from scaffold" metaid="_814825" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814825">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="_2bdfce05_db0c_4558_9d30_84611481d650"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_45ebf59e_14ce_4311_8601_55e063020b1f"/>
+          <speciesReference species="S_1_m1_0" metaid="_4ce6fa6f_521e_4629_86f2_277363fa7996"/>
+        </listOfProducts>
+        <kineticLaw metaid="_84bab94b_33f2_4962_9cf1_81e068d5d6d0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_42b4eca6_6ae5_47a5_9183_f70937b558e3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction155" name="binding of MEK-PP on scaffold" metaid="_814895" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_62a787f2_103e_4548_af45_9521f15df6fa"/>
+          <speciesReference species="S_1_m1_1" metaid="_86fc4196_eb7b_4509_9ff0_4877c5920b6e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="bc81ca28_e943_4ed3_acf6_5031abcc706a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_61a6afb1_7a49_4b2a_aade_6b5766b9e71d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d7298599_f987_4cf4_b6c0_5bb8b0d73972" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction156" name="dissociation of MEK-PP from scaffold" metaid="_814965" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_814965">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="_7f814eb5_1270_43ad_9b75_65657c310a98"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="aa48fe5e_3a79_4462_b802_3f5cd707b0ad"/>
+          <speciesReference species="S_1_m1_1" metaid="_01f0869c_3025_4d62_8032_4c7217fb6752"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8d92d5b3_b806_4759_af15_bbcf0aeced15">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_7977a005_3b6b_4a2b_81cf_0a77081fa9e3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction157" name="binding of MEK on scaffold" metaid="_815035" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="d58274fd_576a_4d45_bed2_275acc003d66"/>
+          <speciesReference species="S_2_m1_m1" metaid="ff1cd58b_448e_4fcf_9009_653922cdc658"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_m1" metaid="_6f7223f2_c3bb_4b0f_bd4e_321604ba5aa2"/>
+        </listOfProducts>
+        <kineticLaw metaid="b755cfcc_607d_4d6c_ae24_4a8eb273a922">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_53459ff2_850d_48f5_ac48_28675f0d007d" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction158" name="dissociation of MEK from scaffold" metaid="_815105" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815105">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_m1" metaid="_16f78e38_f66f_4546_8b24_f4a654d2d85b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_7c1bc48a_6050_43e6_b728_e0b0d6410c30"/>
+          <speciesReference species="S_2_m1_m1" metaid="_979bc7b4_c867_406a_baf2_5d488283c0c1"/>
+        </listOfProducts>
+        <kineticLaw metaid="c88d319c_407a_4c1c_abb8_a059f9dd324a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="ace0c328_ea69_4498_b63e_72eef76a4be6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction159" name="binding of MEK on scaffold" metaid="_815175" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_64738913_a3bb_4800_9bda_49daffe1e79f"/>
+          <speciesReference species="S_2_m1_0" metaid="_28ebf38d_ac2b_47db_9526_2cacb5e51587"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_0" metaid="c5e4b0c7_77f1_4fbe_a924_16d6e37054de"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5a031cac_da10_4ea1_8981_48d74cf683a0">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="dd323536_9f22_460f_8c67_e1a5d200f9e2" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction160" name="dissociation of MEK from scaffold" metaid="_815245" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815245">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_0" metaid="_5aba0010_8faa_4cc1_b660_f7853eee17e6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_8f0c5311_8568_45d3_97f3_477236afacef"/>
+          <speciesReference species="S_2_m1_0" metaid="d764384a_f8e9_41d7_9c34_7e5f50607518"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2ba00ba5_390c_49ef_837e_9e1d9734eed9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_3ec00879_e07c_4709_ac0f_d0710a4e98ca" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction161" name="binding of MEK on scaffold" metaid="_815315" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_0" metaid="_0eef63b2_1ace_4e07_8a33_cea8a698ad7c"/>
+          <speciesReference species="S_2_m1_1" metaid="_0a9c3dc4_fb02_4f2a_93b4_47ae02779541"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_1" metaid="_5e5861da_2091_42b1_b0af_42dd7ba7c8c4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_17a924f4_abb5_4b0e_bcd2_1347f7104360">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_2_0 </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_2a4d3cba_3411_4111_bbbf_3c446d2548de" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction162" name="dissociation of MEK from scaffold" metaid="_815385" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815385">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="_849d4b38_3045_48d9_981a_9717e7e58aa7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_0" metaid="_356471a5_8c81_498e_8d84_eed18ff78a70"/>
+          <speciesReference species="S_2_m1_1" metaid="_141c0391_715c_4462_bbee_cbc40893ec94"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5645b5b7_d948_4838_a43e_c28c5230a479">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="b9c08bdc_4db7_44ea_9e1b_a15d379ad9a5" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction163" name="binding of MEK-P on scaffold" metaid="_815455" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_10a3f62c_b35f_4b47_bae0_6f65180ed120"/>
+          <speciesReference species="S_2_m1_m1" metaid="_6e45d4bc_24ef_4771_9bda_fc6ff40afd2d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_m1" metaid="_5359ba0c_84aa_4811_a5ea_474b7cade041"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7435f770_aef8_4585_becb_3768b301de68">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d5a64817_10d7_44f6_aa5d_cda528edb63f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction164" name="dissociation of MEK-P from scaffold" metaid="_815525" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815525">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_m1" metaid="_7dc29aec_c4d6_4f0a_87a9_0c00eced8ddf"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_66559f5b_6748_46f3_8398_ae048c2e35eb"/>
+          <speciesReference species="S_2_m1_m1" metaid="c3662369_3f84_48c4_ab45_4d17cd458d02"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0367ec7d_7149_4f16_8900_667f8b9d3a4e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_04986bce_3a72_4652_8eee_9d65e617d065" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction165" name="binding of MEK-P on scaffold" metaid="_815595" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_6a868a3f_7c8f_4745_9e77_4ac723a58a2a"/>
+          <speciesReference species="S_2_m1_0" metaid="ad093733_9c25_44c4_8385_109b99a06c33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_0" metaid="_5c736fc6_71ea_47de_b72e_0e3888b62ba6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_96cdb5c7_2924_42c4_8573_5063ef1e2dcb">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_1962e683_bffd_456f_88b1_a577d3cc8f4d" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction166" name="dissociation of MEK-P from scaffold" metaid="_815665" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815665">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_0" metaid="_44e5172b_796d_4d41_abf7_8bf190a20e8b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="c91227ea_3a81_4519_abf7_e00f1f2d53b0"/>
+          <speciesReference species="S_2_m1_0" metaid="b573dc81_c607_42a5_aab9_0d9f948959da"/>
+        </listOfProducts>
+        <kineticLaw metaid="bfccbde7_6f6f_4faa_856c_3ab3bc79ebb9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_91dc7fc5_3e7d_4ef3_a9cf_daa385b3f8ec" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction167" name="binding of MEK-P on scaffold" metaid="_815735" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_1" metaid="_9af08736_07b3_4006_8401_ed241c6e0a53"/>
+          <speciesReference species="S_2_m1_1" metaid="_6c805673_e9b4_4ea0_84a6_7be77f051e27"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_190c557f_a57e_4915_8be6_7aea02dbd9fb"/>
+        </listOfProducts>
+        <kineticLaw metaid="d9bc30b9_a6c7_47a7_92ff_8135c2dbe3aa">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_1 </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_347bf415_f174_4630_88c9_c1499301bb04" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction168" name="dissociation of MEK-P from scaffold" metaid="_815805" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815805">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="_909003c5_9db4_4d9a_8b7f_8bcc395398f4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_1" metaid="_6f095a83_76b3_4348_ad26_1b1eb58dc303"/>
+          <speciesReference species="S_2_m1_1" metaid="ee07b275_2a6f_43d5_8c3d_afdd97908b5a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9ea11192_7a65_419d_9ae1_1e6c52534138">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_49cbe681_e283_4e38_a95e_b6505c6da2c9" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction169" name="binding of MEK-PP on scaffold" metaid="_815875" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="_10a35343_b518_4c7f_9ba9_d95b3362088e"/>
+          <speciesReference species="S_2_m1_m1" metaid="ecfe2335_9ab1_437b_99f1_3eb3504be82a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_m1" metaid="_844ef822_49d3_48e0_97b3_bdb516b88a60"/>
+        </listOfProducts>
+        <kineticLaw metaid="e6a70874_a93b_4340_80d9_3f2763a6df2b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="b3b63f72_2b15_485d_b6bf_c3b8dd5a753b" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction170" name="dissociation of MEK-PP from scaffold" metaid="_815945" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_815945">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_m1" metaid="c742efd5_db2b_4cb4_a6a3_d4ac993dd82c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="c66133fb_e082_4f44_a178_8168f3fab8e2"/>
+          <speciesReference species="S_2_m1_m1" metaid="_099b9d8b_0905_43b1_a580_eaa5f5df5e88"/>
+        </listOfProducts>
+        <kineticLaw metaid="f532679a_2f99_40a1_88eb_d56ff68c25ea">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_1b75c4d7_f1d4_49e7_ac48_8ce692899ce0" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction171" name="binding of MEK-PP on scaffold" metaid="_816017" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="bfac15eb_8760_46ee_bf17_15a4be46225c"/>
+          <speciesReference species="S_2_m1_0" metaid="_5a8358db_b35b_4835_925c_2c85ef0cbb93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="_917db875_10cf_440a_9e19_965fbff4ab2c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3d11a2b0_9e7f_4a69_a356_e8174192c45b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="ad73e01f_a951_4c6d_90ca_796ed2602105" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction172" name="dissociation of MEK-PP from scaffold" metaid="_816085" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816085">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_0" metaid="c982e8c2_70a8_481f_9c0e_910636652cab"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_24c1e452_e333_49d8_875a_2739553909a7"/>
+          <speciesReference species="S_2_m1_0" metaid="a384e7a0_770b_4bd8_ba0e_3509b8ad4d9b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1154cd64_7601_46d4_8ae6_c324d0cf6468">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_314da964_6f68_441c_8777_b1e317bce397" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction173" name="binding of MEK-PP on scaffold" metaid="_816155" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_2_2" metaid="c093c5be_2cf6_43bc_ac69_4ce573ba4482"/>
+          <speciesReference species="S_2_m1_1" metaid="f2e8358c_9477_414e_9474_52124119e4bc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="c37b5e81_2e90_4a84_8129_89d264c91b23"/>
+        </listOfProducts>
+        <kineticLaw metaid="e49714f9_6cc6_4c82_85fa_66b4f561ccc3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_2_2 </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_6d9f2705_48c6_403c_8354_72e7dabda86f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction174" name="dissociation of MEK-PP from scaffold" metaid="_816225" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816225">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_1" metaid="ea14a4ce_e39f_449d_bc00_e0fd958f28fc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_2_2" metaid="_6aa27ed5_1970_4c43_8393_f9bea69b9ef9"/>
+          <speciesReference species="S_2_m1_1" metaid="dbacaa31_e939_4775_b0d9_d86e6b263df3"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0e136e30_8f82_4709_aee5_209dae6b2081">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e480b4b0_43e3_429f_a9be_276cf250910d" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction175" name="binding of RAF on scaffold" metaid="_816295" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="c4a19cf4_ef3a_4cdb_9315_1d4e4cca92d6"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_09a2208f_c609_4d75_ae04_fed088fec173"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_m1_0" metaid="_0ac11cb0_e00d_4665_81c2_ab0119f660a7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_69fb9cfa_7f9b_43b8_828b_1350c58ac643">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_2c78bc95_edf0_4b2d_9d49_8acc29ee48b5" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction176" name="dissociation of RAF from scaffold" metaid="_816365" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816365">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_m1_0" metaid="_80519de0_c704_46b4_bd52_777c7380661d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_91249bd8_699d_480b_bbf1_0949e86e5d78"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_46ed7fd5_3fc5_4a51_99c5_74e94e93018a"/>
+        </listOfProducts>
+        <kineticLaw metaid="ba6edcb7_8e2c_4134_a449_2455c5944eec">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_720c529a_0ea5_4e9c_a539_204ce1531ec0" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction177" name="binding of RAF-P on scaffold" metaid="_816435" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_7312be0c_a4f5_44e9_8c7d_0a83c0be5fde"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_1ec63fb1_a3b2_4d5a_8f8a_954b8b3f4a3a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_m1_1" metaid="_3d53764e_97a1_41a4_a293_199f1a621bde"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9b90e3dc_d710_4411_a783_47b9141736d1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_492397ef_1286_4248_948d_c7f9a40a3810" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction178" name="dissociation of RAF-P from scaffold" metaid="_816504" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816504">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_m1_1" metaid="f621e872_7820_464e_9879_6f024d8fb13b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_4725d454_0e7d_4f80_be80_a9fbb960965d"/>
+          <speciesReference species="S_m1_m1_m1" metaid="_0ff89b51_e9b4_4dd0_8dc3_3b269c97b6d9"/>
+        </listOfProducts>
+        <kineticLaw metaid="b7b4b74d_f30a_489c_ba38_e1afafa93c51">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="f73a2364_67e6_4f5c_9e91_3e5eda919638" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction179" name="binding of RAF on scaffold" metaid="_816575" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_84a2402a_b5fb_4da0_8070_3d06f188eb4f"/>
+          <speciesReference species="S_m1_0_m1" metaid="_23e4755a_d00d_47ac_9159_c7a3b089a34c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_0" metaid="cfc0a2fa_aa3c_46fb_9947_cc28bb14e810"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1aa1f950_d2d9_42e3_a722_987273aaa8f7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="cc0fd572_5735_4962_a2e7_b4afd0236ae9" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction180" name="dissociation of RAF from scaffold" metaid="_816645" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816645">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_0" metaid="_9e9bea29_0f87_478f_b24e_5bd4e8298f68"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_010ccd41_97f1_4343_b50e_d9b19490523d"/>
+          <speciesReference species="S_m1_0_m1" metaid="c0ae9308_1be7_4574_81ae_1f18ffb81529"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3bc3618f_5cbd_4e89_90b0_5c78a60e8c02">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="f7429da5_357b_4995_9796_0e93dbd06ebb" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction181" name="binding of RAF-P on scaffold" metaid="_816715" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_17acf875_63f8_45ed_a611_0617ef0ee210"/>
+          <speciesReference species="S_m1_0_m1" metaid="cbb72e24_58d3_4f40_970e_71a737694061"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_0_1" metaid="_8d5d0f55_b615_4f1f_b457_0aaad84af4fc"/>
+        </listOfProducts>
+        <kineticLaw metaid="bdfa6b4f_9513_4245_97c8_d32206f90247">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_052002ed_b32e_4562_940e_76da21231859" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction182" name="dissociation of RAF-P from scaffold" metaid="_816785" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816785">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_1" metaid="cc9f6df9_e7e0_49f6_a4fd_2433295d2f8e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_0f6d0f39_a535_47a3_ac3b_a34eb237fb01"/>
+          <speciesReference species="S_m1_0_m1" metaid="_4b4c652c_118d_4f68_b215_1e1f4574a7e2"/>
+        </listOfProducts>
+        <kineticLaw metaid="fa70bd9f_4c94_49cc_9910_3b8f0a2b7bb5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="da663df2_ec76_4398_88ea_619fcefef994" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction183" name="binding of RAF on scaffold" metaid="_816855" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="f871b62c_cb5d_4d82_9dab_64d5317a60d8"/>
+          <speciesReference species="S_m1_1_m1" metaid="_38308b06_fa26_422f_97ad_c0f1eb1c8880"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_0" metaid="_19806c21_0f80_4151_b17c_c8b57dd2efc2"/>
+        </listOfProducts>
+        <kineticLaw metaid="cc1feaa1_bcd4_4af9_83ee_3e940aa08b6a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_008f83f8_7f41_473d_b35d_3220b2b221c2" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction184" name="dissociation of RAF from scaffold" metaid="_816924" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_816924">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_0" metaid="_40b350b5_4fc3_4d47_8968_1c40bc9e09b7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="a0da955f_5b0d_4dd6_9ee1_fc4d972f65a3"/>
+          <speciesReference species="S_m1_1_m1" metaid="ddc87532_20a4_4b04_914b_1d8fcef60c29"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9142fb65_6ae9_4ff1_91d7_4c9b107c4947">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="f1127756_5c7a_4384_b539_998554a55fd6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction185" name="binding of RAF-P on scaffold" metaid="_816994" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="ca2d85a0_7a61_41e7_b839_fd5728521bd5"/>
+          <speciesReference species="S_m1_1_m1" metaid="bc2377b0_5edd_44b4_857a_1cb6022878ce"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_1" metaid="b7258253_588b_4d82_9f54_eb19b4cb96f1"/>
+        </listOfProducts>
+        <kineticLaw metaid="a007cd40_f3a9_4e57_982f_da8a68cbb24b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="af704877_1794_4e58_81b6_65dfcc365332" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction186" name="dissociation of RAF-P from scaffold" metaid="_817078" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817078">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_1" metaid="c29cacb6_da39_468b_b84d_dbe231561fae"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_8e8b47f5_100f_48dc_912b_81b7fade6afb"/>
+          <speciesReference species="S_m1_1_m1" metaid="be9fdd7b_752d_4ff7_a2ed_c2baa9124245"/>
+        </listOfProducts>
+        <kineticLaw metaid="_53295656_d04d_4d31_9d17_a528a1448537">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_1f1effa5_6966_4a80_9bf0_6d6e80194e1f" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction187" name="binding of RAF on scaffold" metaid="_817145" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="b0063278_6ec7_4e35_9092_1a1eb7073990"/>
+          <speciesReference species="S_m1_2_m1" metaid="eebb0a2a_092d_46ee_998f_cb44eecd9bae"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_0" metaid="_1abe8ac2_49e5_4b33_a101_2452146f6899"/>
+        </listOfProducts>
+        <kineticLaw metaid="a7a31785_6431_4808_b8ff_1223a00e172c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_65fd8375_ff8c_4e2a_bf6a_1ab6bb4f3943" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction188" name="dissociation of RAF from scaffold" metaid="_817215" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817215">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_0" metaid="_7c4c5f6a_6c1a_44f2_992b_ee834a358d3a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_7e9dd3e1_a71e_4abc_b45c_5a733102c3c8"/>
+          <speciesReference species="S_m1_2_m1" metaid="fa6f76fe_bb2e_4c68_a2f4_85a10f55076a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0567d996_4623_4d7b_960f_56d9c3442014">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="d3004844_034e_488a_92a1_4f4f71077fdc" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction189" name="binding of RAF-P on scaffold" metaid="_817285" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_52f6d38b_a784_4f40_851b_b5fd8fc70c3e"/>
+          <speciesReference species="S_m1_2_m1" metaid="_804ddae5_478c_49cd_9fd0_9622bf2700dc"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_1" metaid="_2175be09_1092_4389_b09d_981135ef0664"/>
+        </listOfProducts>
+        <kineticLaw metaid="_80c3a82f_6f6a_4143_bb9a_6a9a621e0da4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_m1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="b33debd9_6d67_4aab_a079_6ccba4fde7d9" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction190" name="dissociation of RAF-P from scaffold" metaid="_817355" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817355">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_2_1" metaid="ad5f783d_3f36_4565_9626_49545fbbe91d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="c76e8ea6_8bf5_4f9a_9434_5a8ef5f18c8d"/>
+          <speciesReference species="S_m1_2_m1" metaid="c48bf010_2baa_482d_a9ff_c8393e8e424f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4f8a128d_1191_4a98_a06f_8ec9103595a5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_m1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="e935568c_bf1e_45a6_b0a2_7818e780a406" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction191" name="binding of RAF on scaffold" metaid="_817424" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="fde77b16_e0eb_45bd_891c_3700d425dcf2"/>
+          <speciesReference species="S_0_m1_m1" metaid="cdf50dab_10dd_439d_8fb6_5115b34c9224"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_0" metaid="bdb3b29e_9f4d_48ae_ade5_9838ab5c0cbf"/>
+        </listOfProducts>
+        <kineticLaw metaid="_89a23d13_bc93_4e1a_9e4a_f160c959bf4e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_3abaefd8_6f09_4fcc_95a0_0004359170a9" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction192" name="dissociation of RAF from scaffold" metaid="_817495" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817495">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_0" metaid="bc39e7a0_a71d_44ca_b86a_922cf968c917"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_2c5622bf_dd78_450e_94e0_255a1bc3a10c"/>
+          <speciesReference species="S_0_m1_m1" metaid="_46f1bae1_9200_42f0_87cd_17e21f1b72e0"/>
+        </listOfProducts>
+        <kineticLaw metaid="_66e4fa2e_d4c2_4e58_857f_38773f287317">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_410f6938_54cb_4a15_8d64_82aeefd2426d" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction193" name="binding of RAF-P on scaffold" metaid="_817565" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="b131d30d_4425_4d36_8bc0_42d52a194c09"/>
+          <speciesReference species="S_0_m1_m1" metaid="_8acab8eb_32a6_4e24_9dcd_b44e809dcd76"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_m1_1" metaid="_0fb7212b_de62_48db_8df4_cd36ba0ecdd1"/>
+        </listOfProducts>
+        <kineticLaw metaid="bac3fb51_4222_48af_be37_9c5f31fe6ee6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_03030f36_047b_4262_990c_0cfeca96472f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction194" name="dissociation of RAF-P from scaffold" metaid="_817634" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817634">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_m1_1" metaid="d6403e21_dd35_4f68_9474_38e104f69992"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="f398c2df_083f_477e_9455_913de16d61da"/>
+          <speciesReference species="S_0_m1_m1" metaid="_169e3df1_706d_4b40_8f1e_3dae7fb095ba"/>
+        </listOfProducts>
+        <kineticLaw metaid="b03d40f5_e854_42d0_a845_4047d48c79a6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c2049281_d2bb_4b5c_a29c_d82638b79ec3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction195" name="binding of RAF on scaffold" metaid="_817705" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="b0fefa31_9d30_4860_9e36_6621c43dfc5e"/>
+          <speciesReference species="S_0_0_m1" metaid="_64169fd2_1c1c_4c88_bf71_28ea51e84e63"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_0" metaid="c07f8f7a_957a_4b5e_aa61_824c15021de5"/>
+        </listOfProducts>
+        <kineticLaw metaid="_48c84932_d92f_4bd7_a69d_f24a11309059">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="ce973f13_0ed2_43b2_95da_9f09f90096e3" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction196" name="dissociation of RAF from scaffold" metaid="_817774" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817774">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_0" metaid="df8e73fa_cbfd_4237_b257_a65192122342"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_926d44b5_d2a9_45f8_b257_1a7270b0e3be"/>
+          <speciesReference species="S_0_0_m1" metaid="daca19e8_1d05_4159_b93c_2d1df72c6f2a"/>
+        </listOfProducts>
+        <kineticLaw metaid="f5124d91_9de5_47ce_85b0_4e0e5ac5c9f1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_2ed08e9f_0362_41d5_a0a5_114b3827023b" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction197" name="binding of RAF-P on scaffold" metaid="_817845" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_1fcb7a51_cf06_4ae1_ac9b_4cfdcf989c57"/>
+          <speciesReference species="S_0_0_m1" metaid="_7fa8e2ce_5cb3_4908_b821_205c804e9ea6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_0_1" metaid="_71f66bb9_8dec_4288_8f48_d81a9fbf8753"/>
+        </listOfProducts>
+        <kineticLaw metaid="bf8f4b91_f65d_4c5e_86e5_616b1325fb6d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d5a925d3_a117_4f11_8c0c_f363cf3ccf4f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction198" name="dissociation of RAF from scaffold" metaid="_817915" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_817915">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="_1497d1b3_4065_4bd7_a5e0_8a4b8e14a34b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="f19ece03_ab4b_4be4_8f02_4b83c2456141"/>
+          <speciesReference species="S_0_0_m1" metaid="_5c01015d_26e8_40aa_a9c9_163ae6a432c4"/>
+        </listOfProducts>
+        <kineticLaw metaid="a4ed11ae_c871_4858_b79c_13d2ac0ec6eb">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="c3bc84e2_b548_4d9f_b139_bd15cc7b1dd3" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction199" name="binding of RAF on scaffold" metaid="_817985" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_431d7c91_82b0_4dae_90e5_e0fc647caadc"/>
+          <speciesReference species="S_0_1_m1" metaid="_869db5ef_4e06_4f16_a1a5_f8d2ed90ac8a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_0" metaid="b91b8f83_a8f1_4c00_9e75_fb95dee0cb0d"/>
+        </listOfProducts>
+        <kineticLaw metaid="f74d10d7_0d6e_4455_99a2_e974eda1c803">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_36ed5356_8205_4efe_b1ba_385eaecd9613" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction200" name="dissociation of RAF from scaffold" metaid="_818056" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818056">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_0" metaid="_83739d7d_2f94_48cd_8140_69d4c375a1fa"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="efbae06c_0e7b_46ec_a649_b8b349cab52a"/>
+          <speciesReference species="S_0_1_m1" metaid="_5763f635_17fe_4e83_836a_3cbe2e27415b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_273f3b42_4b1e_4e11_b551_68e956f5100c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="c79d4022_5f44_479e_92b6_36e111b60d75" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction201" name="binding of RAF-P on scaffold" metaid="_818125" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="a5925f77_742e_455f_a901_afd8ac88009d"/>
+          <speciesReference species="S_0_1_m1" metaid="bad902dd_daa2_4222_8265_5b418cddc21a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="_301db2e1_8a48_4816_afdc_4ea458988114"/>
+        </listOfProducts>
+        <kineticLaw metaid="df63310c_d748_4b99_8599_49d7ebf03970">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="b6628246_14fe_4587_8cb6_413a549f4b0c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction202" name="dissociation of RAF-P from scaffold" metaid="_818195" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818195">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="a9b5f87a_9f7f_4bc8_a4ec_d7c227667c79"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="f19fd6db_d67f_46d3_80b4_622d173b1026"/>
+          <speciesReference species="S_0_1_m1" metaid="_8bb66980_16a4_44c1_9d02_214253dd660a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_58d3f491_d61a_4fd1_88c0_aea532d6e281">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="b7c35366_147d_48c4_bfa5_06dbe374bac6" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction203" name="binding of RAF on scaffold" metaid="_818264" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_81b2e5cd_e779_4185_90a6_866e1f799fca"/>
+          <speciesReference species="S_0_2_m1" metaid="c332f030_167a_4f2a_bc80_a840b1186a55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_0" metaid="_8426ecc1_ebf7_4bfa_a8b1_c7ba54907288"/>
+        </listOfProducts>
+        <kineticLaw metaid="f3f34a37_3120_46bc_991a_047ea152266e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_32107e44_ed54_48c2_a9e2_f460b20aa71e" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction204" name="dissociation of RAF from scaffold" metaid="_818334" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818334">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="_311f8354_e916_425c_b90e_bc4e883f8f33"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="c0e75900_7aab_443e_ab65_c688be12597a"/>
+          <speciesReference species="S_0_2_m1" metaid="_35bdc3f7_4290_44c9_8b5a_68e4752996dc"/>
+        </listOfProducts>
+        <kineticLaw metaid="_82f1d418_6a1f_4a85_99b7_92b567448f7f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_13bafe1a_7c29_40f8_9317_aef1c91dabb6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction205" name="binding of RAF-P on scaffold" metaid="_818405" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_767e65ce_7b8a_4835_b3e5_5de05a2fd89d"/>
+          <speciesReference species="S_0_2_m1" metaid="_35d6165e_04bb_4e3c_9da3_fe699ffdbb84"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="fc41d057_ccea_4068_8023_a9584c361efc"/>
+        </listOfProducts>
+        <kineticLaw metaid="f3b001e9_cb43_4942_95a6_019ee70bf0c3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_73d6be8a_24fd_4b09_a5b3_11080d591a93" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction206" name="dissociation of RAF-P from scaffold" metaid="_818475" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818475">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="_282d45d8_7c14_437b_bd00_b896d5f7da93"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="c6782bdd_637c_4a0f_a1b1_9ffbdd45193a"/>
+          <speciesReference species="S_0_2_m1" metaid="_0c7a510c_ab77_491d_9fdc_b0f2b73601d2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1c7d7a24_519d_49ef_b176_38ede5765c8b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_63a51ecb_760a_484a_bbf4_0fea2932b70e" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction207" name="binding of RAF on scaffold" metaid="_818545" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_5fd81424_d156_4aa7_8000_b5301816701e"/>
+          <speciesReference species="S_1_m1_m1" metaid="_2b5099a7_ed7c_4ebf_9b6e_6395a2b819db"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_0" metaid="_47314875_547b_4be7_ba28_34d78bf3905f"/>
+        </listOfProducts>
+        <kineticLaw metaid="e8bb4a38_8c85_43f5_a2b6_e9db4dd8659d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_21197a34_2886_40c1_84de_0c82aa69203d" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction208" name="dissociation of RAF from scaffold" metaid="_818614" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818614">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_0" metaid="_9afab913_b331_424a_a129_d3154524fc92"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_8310e67c_f459_4e07_bc1a_414c706ef9ba"/>
+          <speciesReference species="S_1_m1_m1" metaid="_95509c6a_73c0_4ced_b497_c61a420559ee"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1f75f71d_bbe5_4354_a67c_13d323afdd85">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_58cc39be_57ae_4182_a37f_a225cbc56baf" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction209" name="binding of RAF-P on scaffold" metaid="_818685" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="f5a13564_7066_4b46_854d_e385349ba94f"/>
+          <speciesReference species="S_1_m1_m1" metaid="e3014a95_7397_4985_b2d7_20558fdb3854"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_m1_1" metaid="_0d75b9fd_d178_48fa_bc88_179283a5582e"/>
+        </listOfProducts>
+        <kineticLaw metaid="afd870f4_63b2_4a97_bc15_c0c9ad5e6702">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_4eac62b1_7df2_48da_8683_d1c7827a2f83" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction210" name="dissociation of RAF-P from scaffold" metaid="_818755" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818755">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_m1_1" metaid="c67526c6_5801_48c4_96df_6a5669d0b03f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_6b6b5150_38fb_458a_b8ab_f3f1ed76837e"/>
+          <speciesReference species="S_1_m1_m1" metaid="_84be0b46_f3f8_45d2_9a49_293312133f42"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3c4ddaac_5c01_441d_9035_61da666414ff">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="beeba18d_a070_4347_a37e_4b7d54b32e4d" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction211" name="binding of RAF on scaffold" metaid="_818824" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_3228da01_63bd_4aeb_b858_b2341bac6c3a"/>
+          <speciesReference species="S_1_0_m1" metaid="a570909f_3393_4245_be1f_1b0c07fab1f7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_0" metaid="_9f4a2f75_e3d1_40e8_a6b5_99d7a6f70e7e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_17da5e01_04e6_4de2_8962_7e39e291f1f6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="ae0be53e_e03e_4b9f_883c_f7bbd8e147aa" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction212" name="dissociation of RAF from scaffold" metaid="_818894" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_818894">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_0" metaid="a0b8c9cc_0570_4f5d_a0f6_fb1539166724"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_54b6e67c_d3fc_4206_ad36_29ae15e5103c"/>
+          <speciesReference species="S_1_0_m1" metaid="_88f55f2a_df78_42e7_bb50_96060c59c07e"/>
+        </listOfProducts>
+        <kineticLaw metaid="d2aab6cf_6df5_4068_b07c_ef73fd8d3233">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_5e815645_1d01_44c3_837b_3fe98df245d1" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction213" name="binding of RAF-P on scaffold" metaid="_818965" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_47b341d0_7eea_45e1_aad3_81532878d844"/>
+          <speciesReference species="S_1_0_m1" metaid="c86fa500_170e_4d9f_89df_a452a0fb2831"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_0_1" metaid="b6b34e72_964d_4e78_aa5b_68e20a794104"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2833d9b3_4eaa_4dba_be4d_34e09b114967">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_7447ad90_3e42_4236_81ca_b9685d55b994" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction214" name="dissociation of RAF-P from scaffold" metaid="_819034" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819034">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="_3de57e90_7e3d_476c_9a74_00ec08a1ec23"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="b005a30e_906a_475d_b799_fc2979b7865e"/>
+          <speciesReference species="S_1_0_m1" metaid="_7eaa4e4d_5c76_445a_acbc_d734d8aba216"/>
+        </listOfProducts>
+        <kineticLaw metaid="_016f2189_20fc_4f8d_ad94_bbeb29e808d7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_6fdeb866_e301_40e3_9941_fd84701e15cd" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction215" name="binding of RAF on scaffold" metaid="_819104" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_376e5fcc_251e_4eb2_8d6b_6573ab949017"/>
+          <speciesReference species="S_1_1_m1" metaid="_6643974f_29ac_4f61_b806_dfeafccd2368"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_0" metaid="ea096f98_1334_470e_ab70_a52dc129f39a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3f95d3ab_38bd_48da_b220_20a91d237383">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_6b7d6262_65c0_440e_b8c8_d3e8d4b5ef96" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction216" name="dissociation of RAF from scaffold" metaid="_819174" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819174">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_0" metaid="_0e60b94d_5bc7_4352_bd61_cdfa6301abb0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_1f8b6418_e760_447a_90e5_ab6da70a23f1"/>
+          <speciesReference species="S_1_1_m1" metaid="_94f02dcb_6bb2_478f_969b_2e2dae9cfc8d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6ea8da40_71eb_4b11_b2da_dd71e9491c19">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="a61d0ba3_39d9_4b70_a713_47553aeaabe4" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction217" name="binding of RAF-P on scaffold" metaid="_819246" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_388bcf34_f505_4265_bd23_9f41eacb15df"/>
+          <speciesReference species="S_1_1_m1" metaid="_68dcf62c_af49_4316_8605_ecb418e92250"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="_0e31247c_d0f9_4f20_9e00_5d9ed08e2d1b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_82af5aed_3bda_48b9_8bf5_4a2151d077a4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_20ad40ea_edae_4830_8b82_dd8af9b7ae05" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction218" name="dissociation of RAF-P from scaffold" metaid="_819314" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819314">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_067c7321_9518_4ba9_8b63_6fad9e8cc4ee"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="b199b6b7_92ce_473f_88f3_4bacb5aba42d"/>
+          <speciesReference species="S_1_1_m1" metaid="_65313d43_86f5_4229_b5d5_f1d83a5e085a"/>
+        </listOfProducts>
+        <kineticLaw metaid="c8f16c87_f5f5_4085_a7fe_150d4c8e9660">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_52499450_3c00_452e_81e0_0978f20a3a77" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction219" name="binding of RAF on scaffold" metaid="_819385" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="d1f69740_d730_467e_94dd_e26a38febce9"/>
+          <speciesReference species="S_1_2_m1" metaid="daad4d00_8347_4c61_b917_890ad1693a5e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="_69904ef2_2712_4595_8ec5_4ee0aa3285df"/>
+        </listOfProducts>
+        <kineticLaw metaid="ef97e59a_7cb8_496c_bbec_69eb832405ae">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_11b859e4_338b_4b0a_bd5d_9c24e0f419fb" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction220" name="dissociation of RAF from scaffold" metaid="_819455" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819455">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="_544ba566_e26e_4c99_8f31_f027b5d1292b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_83a98ff1_334b_4815_94c5_cf947f2dbe60"/>
+          <speciesReference species="S_1_2_m1" metaid="_0e4043a5_7fd5_4eae_a337_8a26858c9a54"/>
+        </listOfProducts>
+        <kineticLaw metaid="_8c6af981_9b84_4073_9670_fb29b55a327e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_85926081_e0b5_465e_b7e8_d2d0aa676cf7" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction221" name="binding of RAF-P on scaffold" metaid="_819526" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_98f57887_0e7a_42e6_825e_4cdb914e78f4"/>
+          <speciesReference species="S_1_2_m1" metaid="_0e9549d9_6b67_4bbb_9ae0_1d6b77313426"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_9c2001f6_780e_444e_adfe_af43cd4f502f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_38ca8964_5e7c_44e4_93a9_b31d43fb325e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="d89a9959_d33b_4f63_8f2a_4830b3e9283c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction222" name="dissociation of RAF-P from scaffold" metaid="_819595" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819595">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="_555c3eb4_d61e_43e8_b6a0_46978ca0f286"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="ebfe7c59_09ff_48ec_aa18_c78d51df339a"/>
+          <speciesReference species="S_1_2_m1" metaid="_7ecece98_f9a8_440e_8a85_b3d945b678b2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3df85508_c7b3_4420_ac6a_29004251cee4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="a4fab0c4_1c06_426c_bd5b_4a2393e8f687" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction223" name="binding of RAF on scaffold" metaid="_819664" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="dfc9abfe_9875_402c_99e8_9fd9e0a454c7"/>
+          <speciesReference species="S_2_m1_m1" metaid="_87d97e55_c847_4707_9d8a_5d113df05c55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_0" metaid="_022dfb3f_b3dc_4828_8869_dfa7c3300ab6"/>
+        </listOfProducts>
+        <kineticLaw metaid="_7cadff45_afc1_4863_a92e_33f7a1c21b1e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_315b1b85_ce85_4037_bc88_b7f4e0b4c910" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction224" name="dissociation of RAF from scaffold" metaid="_819734" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819734">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_0" metaid="b118f0a4_5ab3_4f99_8e4e_19864055513c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="b4b67bdb_2e6a_4d16_9362_541fff6b9b50"/>
+          <speciesReference species="S_2_m1_m1" metaid="ea7f4ae2_b889_4b71_96e1_582fc70df57f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4078d97f_a382_451f_8741_6f036d18b44c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_86a4e98a_c0aa_4e28_aeb7_c27c4f3e058f" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction225" name="binding of RAF-P on scaffold" metaid="_819804" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_0029c124_ef1d_477e_adf9_685d65940a42"/>
+          <speciesReference species="S_2_m1_m1" metaid="_112bf8f8_d469_4c33_b1d8_b5250f1c99a1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_m1_1" metaid="bfa47bae_c508_4a1a_99af_dab7484cfd2d"/>
+        </listOfProducts>
+        <kineticLaw metaid="d38565c6_86b1_49e2_8699_e876ee99a467">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_m1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="afd9224d_811e_4d3a_8062_094df4294904" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction226" name="dissociation of RAF-P from scaffold" metaid="_819874" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_819874">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_m1_1" metaid="_5070e30d_5b3e_44d5_b350_b0932d9c9dcd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="fda9c177_d23d_40df_8ad3_859669faa90f"/>
+          <speciesReference species="S_2_m1_m1" metaid="_0450a33b_d75e_4093_9bda_5229fd68ae51"/>
+        </listOfProducts>
+        <kineticLaw metaid="_77d60dd7_537f_4356_a2ab_a84fe06861b9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_m1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_25958b9e_8e6b_485b_9eb7_fecdeb4c45ab" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction227" name="binding of RAF on scaffold" metaid="_819945" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="_40fe3dc9_e8e5_4511_9366_939ba2941a39"/>
+          <speciesReference species="S_2_0_m1" metaid="_50b5af39_37fe_47ed_9ac2_187d10925c41"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_0" metaid="dc69ec2d_fe33_4030_b645_6a145d41f952"/>
+        </listOfProducts>
+        <kineticLaw metaid="cfd381b4_2772_47e7_abc3_d3144aeebe18">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_9e496300_7253_4d1e_a74a_a38cb3535950" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction228" name="dissociation of RAF from scaffold" metaid="_820015" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820015">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_0" metaid="f3533a5b_9f3b_451d_bbc7_dcf13291c9a3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="aa5bfb30_6aee_4872_aedf_f98c93fd1e5f"/>
+          <speciesReference species="S_2_0_m1" metaid="_6aeab3b9_7024_4ae8_be2e_102a49ad9843"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6db64bcc_ac55_4a9d_beae_5e0f862d19ff">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_04d54be9_b0db_4404_b01e_b715c75d4844" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction229" name="binding of RAF-P on scaffold" metaid="_820084" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_7793b9c4_d8d7_44f5_b337_e71d2cee0d96"/>
+          <speciesReference species="S_2_0_m1" metaid="_0af3ced7_d35b_4208_a414_01d34cab2393"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_0_1" metaid="d95d34c9_9ad5_423b_a1e1_c7aae8bdf824"/>
+        </listOfProducts>
+        <kineticLaw metaid="_119f18a7_0db0_48e3_b589_4739287dab7f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_0_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="_3a64e42d_932d_47a0_a402_86857be7fabf" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction230" name="dissociation of RAF-P from scaffold" metaid="_820154" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820154">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="a22c50b2_4dfb_44e3_aa13_7f85b7b1b37d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_57fbf128_dd59_4b66_a90f_89ff606db4c2"/>
+          <speciesReference species="S_2_0_m1" metaid="_2b110e50_fcb4_4b5e_bfb8_180743bee438"/>
+        </listOfProducts>
+        <kineticLaw metaid="da29ab0a_f2c6_44ad_be0b_59cdbc6d00a3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_39c968e3_db67_42c9_bca0_e23526797103" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction231" name="binding of RAF on scaffold" metaid="_820226" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="ffc73bfc_6b03_4a89_8a9a_6e433e9e2f99"/>
+          <speciesReference species="S_2_1_m1" metaid="_70538719_ea01_4847_b384_6cbe9e7bce12"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_0" metaid="_812af358_1313_436a_844b_ce326c3f7d39"/>
+        </listOfProducts>
+        <kineticLaw metaid="_34654b59_7a43_4c23_8cb5_a84b666e2c52">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_7f22ac63_bebf_41f7_b725_f08ca084c0af" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction232" name="dissociation of RAF from scaffold" metaid="_820295" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820295">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_0" metaid="_289ad225_e0f0_487a_914c_af7486a394f6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_5870a7f9_c19b_4aa2_b3cd_1ff49b5e7f47"/>
+          <speciesReference species="S_2_1_m1" metaid="_7c6aedb9_86eb_4202_8a5f_c9ddd37b2413"/>
+        </listOfProducts>
+        <kineticLaw metaid="_21af01ac_7c4a_4f76_9c71_f386b0dff35a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_6d556e58_4c30_4cc7_820c_2a2bfc245cc6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction233" name="binding of RAF-P on scaffold" metaid="_820364" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="_53b200e4_f254_41bf_a8eb_c9eeb3604bd1"/>
+          <speciesReference species="S_2_1_m1" metaid="a1db2b64_5dc3_414d_ade9_2c01d0182af2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_7253d44e_552a_4897_abad_538b3bb8fa65"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9604f5ab_6624_420f_88dc_159bee0034a1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_1_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="dccae730_78d1_4da8_af27_0a69cdde5088" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction234" name="dissociation of RAF-P from scaffold" metaid="_820434" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820434">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="_1a5402da_8784_466a_a3d1_2690ee7ae429"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="d9302fef_53c6_4667_b0ba_3cee4c389a3f"/>
+          <speciesReference species="S_2_1_m1" metaid="_71a3a6e8_2c2d_4660_b60e_6f5b638efa7c"/>
+        </listOfProducts>
+        <kineticLaw metaid="b89c8fc6_2493_49db_b46d_0faea41e1ef2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_797fddcf_ae8e_4182_bc83_837ba03298f8" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction235" name="binding of RAF on scaffold" metaid="_820504" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_0" metaid="d56d5ba0_68f0_4195_a3f1_2c02822dfa60"/>
+          <speciesReference species="S_2_2_m1" metaid="fe5db53f_ef34_48db_b352_ce9cacc6ca2a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="_54d38d02_02b7_4e02_9a56_af340a85fa67"/>
+        </listOfProducts>
+        <kineticLaw metaid="_81a7081f_d437_4c63_be7a_36e3fc8060b8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kon </ci>
+              <ci> K_3_0 </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kon" metaid="_6e2ba136_0969_401a_9fef_3e526fd6bc29" value="10"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction236" name="dissociation of RAF from scaffold" metaid="_820574" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820574">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_0" metaid="_8e8bcf34_1375_479c_a922_330c73ba52c8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_0" metaid="_0f4b4b05_f9cd_41d0_b4eb_d52b78cbc993"/>
+          <speciesReference species="S_2_2_m1" metaid="_35f16be1_c9d1_4054_9189_ffe0cc0d33c0"/>
+        </listOfProducts>
+        <kineticLaw metaid="c05d8103_467d_4253_8705_3dbb87663efc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> koff </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="koff" metaid="_42db2c65_038f_41a7_a85e_3dd1385a4ad6" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction237" name="binding of RAF-P on scaffold" metaid="_820644" reversible="false">
+        <listOfReactants>
+          <speciesReference species="K_3_1" metaid="ebd7d515_ce05_45c9_a2d6_058bb68fdfd1"/>
+          <speciesReference species="S_2_2_m1" metaid="c43de5b6_e523_4bb6_9955_8ba53f5bbf11"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="_30ad8649_fe73_4bd7_ad22_7886ed96bd58"/>
+        </listOfProducts>
+        <kineticLaw metaid="_871e4001_4f31_4456_913e_c149b4fedb48">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpon </ci>
+              <ci> K_3_1 </ci>
+              <ci> S_2_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpon" metaid="e37f04a1_4114_4166_89fa_47370b020039" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction238" name="dissociation of RAF-P from scaffold" metaid="_820714" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820714">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_2_1" metaid="_6728e009_6e40_4642_9e2a_6898f81b8628"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K_3_1" metaid="_2ce1b1b1_1a1e_48aa_a2ec_8258258b3f48"/>
+          <speciesReference species="S_2_2_m1" metaid="_43371e9a_4d8e_4db4_bf51_436d8cd63e67"/>
+        </listOfProducts>
+        <kineticLaw metaid="c873274d_dbfe_40c7_b42f_826e3f2b5c94">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kpoff </ci>
+              <ci> S_2_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="kpoff" metaid="_98bc7de3_c114_43ae_a877_4516b049fb92" value="0.05"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction239" name="phosphorylation of MAPK on scaffold" metaid="_820784" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820784">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_m1" metaid="_33c9f42c_b24d_46f6_b8f7_1b154019690d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_m1" metaid="_2645511e_2d4c_41ee_a1f6_3d4aa62fbf40"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931decd8_7a17_444e_b277_54a9814680ad">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> S_0_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_714367f7_6618_438b_8607_01173b90d1ee" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction240" name="phosphorylation of MAPK on scaffold" metaid="_820837" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820837">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_0" metaid="cc5e55b5_4564_4bf6_9145_e1338da9149f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_0" metaid="fe79eba3_d519_4244_b4a7_b75bb3b10f3b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4cf0cf5f_cc5a_48d2_a4a1_d9bcd52b8a60">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_4b46e09b_1c37_4c83_a74e_b550e6698cde" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction241" name="phosphorylation of MAPK on scaffold" metaid="_820887" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820887">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_2_1" metaid="_799f8b57_4186_47bf_bf79_e53376bf8881"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_6985cf4c_2e18_4fde_a95d_2efd7ab464c4"/>
+        </listOfProducts>
+        <kineticLaw metaid="b3f788e2_1538_4c5a_88dd_8d3862e6cbc3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k7 </ci>
+              <ci> S_0_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k7" metaid="_64f9a5a8_5f09_403d_b26e_236ec6fcc7d8" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction242" name="phosphorylation of MAPK-P on scaffold" metaid="_820937" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820937">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000187"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_m1" metaid="_70714c16_f37d_4a03_b4d2_64018d6a3576"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_m1" metaid="_89d9b1f2_69df_43a7_8984_9f85a3156c6f"/>
+        </listOfProducts>
+        <kineticLaw metaid="_73e287f1_bead_4a16_9756_bb2cc8e555b1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9a </ci>
+              <ci> S_1_2_m1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9a" metaid="_5dcd8547_7a98_4a08_b296_476c608f60fb" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction243" name="phosphorylation of MAPK-P on scaffold" metaid="_820987" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_820987">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000187"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_0" metaid="b78f9187_5c22_4ba6_bc1c_8f2b946a5e2e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_0" metaid="_2d853ace_33c8_4ba3_a4e5_dd6575e41bae"/>
+        </listOfProducts>
+        <kineticLaw metaid="e7986450_0f5f_4428_84f9_b03715ef6330">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9a </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9a" metaid="d70faf00_f07d_4303_bceb_7002af068cad" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction244" name="phosphorylation of MAPK-P on scaffold" metaid="_821037" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821037">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000187"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004708"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_2_1" metaid="_6ba3b5c5_13f8_49b2_9e1a_cbcbb0f2210b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="_5e91237e_e2c8_4003_a44f_78e5579ec868"/>
+        </listOfProducts>
+        <kineticLaw metaid="_34a20b7a_9b24_480c_999a_1660cbddb6e8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k9a </ci>
+              <ci> S_1_2_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k9a" metaid="_86e73be1_3f0b_46c0_a913_63f9ccedf403" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction245" name="phosphorylation of MEK on scaffold" metaid="_821087" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821087">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_0_1" metaid="_3abe209e_3351_4be6_ae07_fa479e35ea55"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_1_1" metaid="a8562c82_c60b_4671_aad7_d0030c11eea4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_54542e0d_42f3_4bac_982a_18218c211121">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_m1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="_62263366_f924_4595_8b31_5cece8082296" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction246" name="phosphorylation of MEK-P on scaffold" metaid="_821137" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821137">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_m1_1_1" metaid="_9681866a_73c9_44bf_bff5_a4373a8e41fd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_m1_2_1" metaid="_47bb55a1_3e31_48f2_a8b9_30ec6e1aec67"/>
+        </listOfProducts>
+        <kineticLaw metaid="_24e8bb42_47bd_4562_a616_b8e124e076a2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_m1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="_8e43f9f3_6335_4895_9b63_9bde55225ac3" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction247" name="phosphorylation of MEK on scaffold" metaid="_821187" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821187">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_0_1" metaid="_2f339d0a_1b61_4f9e_b4de_25dfa728479b"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_1_1" metaid="_2bbea285_0b56_4590_915b_6ded96fe3b58"/>
+        </listOfProducts>
+        <kineticLaw metaid="_76e6e368_e146_488f_9962_fc5ad29e0173">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_0_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="ee35cb09_c869_4ed1_abe5_deea605a5a13" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction248" name="phosphorylation of MEK-P on scaffold" metaid="_821237" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821237">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_0_1_1" metaid="_8fb1c6f7_e002_4706_aaba_2572c2e1f2c5"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_0_2_1" metaid="e75182a0_8440_480a_8b4b_dc73676bea78"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2c7adf90_6fb0_46c3_ab86_2dac78e7e377">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_0_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="_1eabc1b7_1b35_4b01_bdfe_189cff40ad7f" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction249" name="phosphorylation of MEK on scaffold" metaid="_821287" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821287">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_0_1" metaid="f1613fe7_e09a_40f9_8506_e929f72c9a10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_1_1" metaid="_47d074d6_8d13_49f8_8156_ff2ac0da78f9"/>
+        </listOfProducts>
+        <kineticLaw metaid="b5167dc7_94df_4ffa_86b9_74a1c23c8b68">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_1_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="_2b9a725e_27a4_4107_a227_21e2f048f355" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction250" name="phosphorylation of MEK-P on scaffold" metaid="_821337" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821337">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_1_1_1" metaid="_615d37ed_8b71_4195_afcd_c745929bd3ba"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_1_2_1" metaid="_8697e98f_1565_4063_befd_a69801e803cb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1d94610f_e536_4d8f_979c_a1da5c0a3a2e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_1_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="_6ae9c735_cb36_4420_8179_e843b9a0e449" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction251" name="phosphorylation of MEK on scaffold" metaid="_821387" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821387">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_0_1" metaid="eb53c015_e78d_4ee1_b1ed_9213639225ab"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_1_1" metaid="_716123fd_91a6_4657_afe1_bcc7a31cb8a9"/>
+        </listOfProducts>
+        <kineticLaw metaid="b14f9595_69ce_4368_a6b5_9a46849be89e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S_2_0_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" metaid="_9ecdafb1_e5b1_46b8_b209_850da459a8a5" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction252" name="phosphorylation of MEK-P on scaffold" metaid="_821437" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821437">
+              <bqbiol:is>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000186"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0004709"/>
+                </rdf:Bag>
+              </bqbiol:is>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_2_1_1" metaid="_0b7a6ffc_3bb4_467c_8569_e8a6d553ff88"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_2_2_1" metaid="_769f2ca5_8117_4faf_b760_fdb977d05362"/>
+        </listOfProducts>
+        <kineticLaw metaid="_14fc6c9a_1e35_4115_87f1_2381ff0888b8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k5a </ci>
+              <ci> S_2_1_1 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k5a" metaid="de9a8fa8_5b98_4af2_8c6d_8903e1f5002b" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction253" name="binding of RAF and RAFK" metaid="_821487" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821487">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="ae99e826_d104_4847_88a6_9fbe960c6517"/>
+          <speciesReference species="S_m1_m1_0" metaid="_02603c7f_0b39_4fe5_a3b7_d964a9aa5b7f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_m1_0" metaid="e0507907_bdcc_4f09_a74c_703fc3be7f55"/>
+        </listOfProducts>
+        <kineticLaw metaid="ddefbddc_05db_416f_93ea_badc73f5fc37">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_4230c38c_b2d7_44d4_83c2_59da45786b79" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction254" name="dissociation of RAF_RAFK" metaid="_821555" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821555">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_m1_0" metaid="fa56a9d2_641f_4a52_b35b_bf63ddfb0503"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_31ddb562_0fa3_4e1e_a909_06a3a74a026a"/>
+          <speciesReference species="S_m1_m1_0" metaid="_503d29d3_3c7c_4d66_87f9_707f120d10b1"/>
+        </listOfProducts>
+        <kineticLaw metaid="aee8c88e_93da_4638_9cb7_892d44d3fe1a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_481254b8_2888_4570_95db_0cff67b7dc1c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction255" name="phosphorylation of RAF on scaffold" metaid="_821624" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821624">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_m1_0" metaid="_1130d5e6_6cbd_4aa3_8576_53c3150098a6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="b6c40349_18cb_4129_ac71_ddd1751d5c64"/>
+          <speciesReference species="S_m1_m1_1" metaid="_716b1cfb_bbdf_4eb3_9a7f_761e54c5ab3c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_90d6fa16_40d8_4377_b02c_1334ae9e15f6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_6e9bc1a4_33a7_424b_9978_599700c954f6" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction256" name="binding of RAF and RAFK" metaid="_821694" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821694">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="a6905d36_07c1_4a78_932d_7b8a8dbe8107"/>
+          <speciesReference species="S_m1_0_0" metaid="cfe59013_0419_4e27_83fb_39ce60e095e0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_0_0" metaid="_3e0d985f_1f4f_4b97_b36b_ef9a24e9e4c4"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2d96a1c0_4224_4726_bd6f_c81993f339d4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_0ce756fd_fb05_480f_96a2_cd15a70bedc4" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction257" name="dissociation of RAF_RAFK" metaid="_821764" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821764">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_0_0" metaid="c89c3021_2aa6_47c7_a842_6ebebd715d22"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_9175876b_54b3_4839_9901_1988e38383be"/>
+          <speciesReference species="S_m1_0_0" metaid="_6c37a77e_a921_4298_a798_68370c83d462"/>
+        </listOfProducts>
+        <kineticLaw metaid="f0713195_8d74_4a00_93ba_b310694530b9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_89045aaa_5b94_4b10_85d5_dae96dac4917" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction258" name="phosphorylation of RAF on scaffold" metaid="_821834" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821834">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_0_0" metaid="f81f8050_eca0_433f_b594_9759cbaebc2c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="f20e269c_e368_432c_aadb_8717462de799"/>
+          <speciesReference species="S_m1_0_1" metaid="_01235356_3a08_4c8b_9776_a2efefd1d0bf"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9625605a_4de5_4df8_a635_3e4dd99ce0e2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_0193843c_55e7_428c_a8dd_baf911fed19b" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction259" name="binding of RAF and RAFK" metaid="_821904" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821904">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_98edd1cf_d232_4d33_a4a7_39a32a5c9083"/>
+          <speciesReference species="S_m1_1_0" metaid="_70bac7e1_436a_4bd1_b884_036f46597df7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_1_0" metaid="f2127dcc_95ce_4aa9_abc5_b2f957188f22"/>
+        </listOfProducts>
+        <kineticLaw metaid="f3370d51_eefb_4658_bf26_bc5016672148">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_09e332ee_8e26_44d8_8b6c_0fd1dcff5595" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction260" name="dissociation of RAF_RAFK" metaid="_821974" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_821974">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_1_0" metaid="_6535cb9f_0f1e_4999_b5d5_4bac0d613b1e"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_8941b69d_82b7_4b85_863b_ab888dcd0738"/>
+          <speciesReference species="S_m1_1_0" metaid="_5ef548f4_d41e_4af8_8a1f_c5be388bd0c2"/>
+        </listOfProducts>
+        <kineticLaw metaid="_50ec6432_5083_4374_aa40_5d8108705e6f">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_95df8f47_7272_489b_9808_e00bf3b244ea" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction261" name="phosphorylation of RAF on scaffold" metaid="_822044" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822044">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_1_0" metaid="_45802640_46ec_43d8_a3aa_0c2d27c0b6f6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_2ff704cb_b98c_4675_848a_6b60a7168ce7"/>
+          <speciesReference species="S_m1_1_1" metaid="f4f2cd3a_f8af_4a0b_afb7_5c7a28d303bb"/>
+        </listOfProducts>
+        <kineticLaw metaid="_9ceaa3f6_c9ef_4ba3_a058_488654da9267">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_237111b8_3071_4a2d_92e3_e589822facda" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction262" name="binding of RAF and RAFK" metaid="_822114" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822114">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="be7b875c_2f2e_4ee5_8cd4_a97365a698bd"/>
+          <speciesReference species="S_m1_2_0" metaid="_12ee5fd2_2ad3_4634_962c_c5215a1620ed"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_m1_2_0" metaid="_341b4dde_a59b_444a_ae2b_335005da7f21"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5db698eb_58d2_439f_aa0c_fccf26d2492a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_3968ccf4_b449_495a_a5bc_e050098c3542" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction263" name="dissociation of RAF_RAFK" metaid="_822186" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822186">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_2_0" metaid="_86c1381c_50f7_466e_871d_7112a25a6f3f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_97bff562_8eaf_44b5_8e5d_440410550084"/>
+          <speciesReference species="S_m1_2_0" metaid="_5bd9cbd2_6db1_4af5_821c_a2eca96b1fad"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4335242c_5d7c_4dd6_867e_2947be813be2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="a5864639_19b8_455d_9b98_42b8c016b464" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction264" name="phosphorylation of RAF on scaffold" metaid="_822254" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822254">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_m1_2_0" metaid="_145b3036_95b1_4a79_b18b_c4b43a6d137d"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_7c881e18_a15f_43c6_8c32_94bbcd8052c7"/>
+          <speciesReference species="S_m1_2_1" metaid="c5f43658_8a8f_456d_94a7_704ade7fddb1"/>
+        </listOfProducts>
+        <kineticLaw metaid="ad23feb8_e953_4fe2_bfd8_8593a7620eba">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_m1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_5c947169_0bbf_4443_befa_d97bf877bb67" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction265" name="binding of RAF and RAFK" metaid="_822324" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822324">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="cb526332_f60d_4f6c_bebc_0feaf41c0985"/>
+          <speciesReference species="S_0_m1_0" metaid="cf141921_7f52_49db_8f37_7c5ea6ab528f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_m1_0" metaid="_9b072b52_e376_4c1a_83af_7ca31335a8ca"/>
+        </listOfProducts>
+        <kineticLaw metaid="_08e06e5c_4f80_4644_825d_0e91035b30a5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_064d6461_2590_4e6e_9cb5_6ba1505474dc" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction266" name="dissociation of RAF_RAFK" metaid="_822394" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822394">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_m1_0" metaid="_8439eee7_53ad_4ee8_82eb_0968191976d7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="ea35e9e0_254b_4df3_931f_275afee2ae9a"/>
+          <speciesReference species="S_0_m1_0" metaid="_180f4099_4aa1_416a_adea_29a032bf3734"/>
+        </listOfProducts>
+        <kineticLaw metaid="_0fa970c3_502e_4ee4_85b8_345b1d2589f6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="bde0e00e_e02b_4724_82ef_9bb16870f89a" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction267" name="phosphorylation of RAF on scaffold" metaid="_822464" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822464">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_m1_0" metaid="f6ff8348_f16b_4de5_b804_786242749010"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="f9448ca7_ce7e_4ed5_bfac_6571059a9b4c"/>
+          <speciesReference species="S_0_m1_1" metaid="e5013548_18a2_477b_aa07_b8c4b71cafff"/>
+        </listOfProducts>
+        <kineticLaw metaid="a4a41ff8_5e98_43ae_a277_b738190ed4e7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="b9bc4c5f_148c_4b86_a069_46f5f6a8fb58" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction268" name="binding of RAF and RAFK" metaid="_822534" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822534">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="ba06adb2_fcf5_414b_8c91_156c47a31477"/>
+          <speciesReference species="S_0_0_0" metaid="_9191e521_874e_4fad_9849_e0c1403a8629"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_0_0" metaid="_9333e0ab_4d52_462d_babb_c4fb9cca2eaa"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6b3604c9_2a8c_4eaf_a288_e6613b5d843d">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_0303fa34_f5e9_42be_81c0_818d29d6748f" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction269" name="dissociation of RAF_RAFK" metaid="_822604" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822604">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_0_0" metaid="cefc8d21_41b9_459e_8caf_90b11049402a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="a9d95340_5dcc_40ec_9363_592024aa146c"/>
+          <speciesReference species="S_0_0_0" metaid="_9e398dec_31d4_4830_bb04_fa0f0a84f837"/>
+        </listOfProducts>
+        <kineticLaw metaid="ece16266_1ec4_4de0_a250_eae0bdbc57c6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_7191a928_f1e5_417f_a69b_946c8cd0042c" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction270" name="phosphorylation of RAF on scaffold" metaid="_822674" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822674">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_0_0" metaid="c9134768_1a2f_4145_9a15_d5630557fe15"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="e8e2bfac_0e5b_4f26_b593_39026fb9d45b"/>
+          <speciesReference species="S_0_0_1" metaid="d663a74e_6bdf_4145_ae36_6f5001242343"/>
+        </listOfProducts>
+        <kineticLaw metaid="_997c5798_203b_466d_9844_540c3ee8b9a9">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_04b5ee9e_c07e_4ad8_8139_067ed5ad4264" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction271" name="binding of RAF and RAFK" metaid="_822744" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822744">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_235bc210_fc1f_4c98_8875_3da422296b6b"/>
+          <speciesReference species="S_0_1_0" metaid="_79d5cbdd_b6b9_48a9_8b68_3683dea7cfd3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_1_0" metaid="ebbfe38f_2fd3_4a0a_a211_1f75c0ff1e98"/>
+        </listOfProducts>
+        <kineticLaw metaid="_40aee6d4_3c33_498e_8691_4d36a6fcd8d1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_55cddeb5_9678_41eb_b44f_74781df38e50" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction272" name="dissociation of RAF_RAFK" metaid="_822814" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822814">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_1_0" metaid="b3dc97f2_e778_456d_9049_fb2397ec64e3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_07966aba_6885_45ba_a3ce_2067efdaf5f3"/>
+          <speciesReference species="S_0_1_0" metaid="_8aca193b_0800_4860_b836_c37dc7f0320c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4018e81f_6174_488a_bd36_98e6890f59f8">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_007e9cd6_a0e3_4f55_b6e4_088ac0bc0801" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction273" name="phosphorylation of RAF on scaffold" metaid="_822884" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822884">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_1_0" metaid="_28d6f2c7_4b95_4a2f_a6d5_d5cfa6d295a0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="ff8a80ec_7238_47b8_ae3c_76dc816bb55b"/>
+          <speciesReference species="S_0_1_1" metaid="c9a8a00d_209f_4f77_aad4_ea9f7be36af7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_710f7d10_1580_4c19_bdce_f25057b2d6fb">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="f7a12826_3cf9_4359_a15b_3bea743057eb" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction274" name="binding of RAF and RAFK" metaid="_822954" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_822954">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_3de6c807_2176_45d1_980e_85a53dc3670d"/>
+          <speciesReference species="S_0_2_0" metaid="_5ecb5dea_dec5_420d_976b_83de6eb1120f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_0_2_0" metaid="_57781d12_f985_4322_a1df_970f27beefbd"/>
+        </listOfProducts>
+        <kineticLaw metaid="_262df1dd_ab84_4d9f_bb08_a42c0374acf7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_5230eaf2_badb_450f_8e0e_3d13bb2e0f38" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction275" name="dissociation of RAF_RAFK" metaid="_823024" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823024">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_2_0" metaid="a233ee9a_8953_4105_b2fd_9fac9043fbdb"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_159780c2_dc4b_4444_97ee_589b9c807dce"/>
+          <speciesReference species="S_0_2_0" metaid="_59e1af75_acef_4cbf_8541_201e7d974538"/>
+        </listOfProducts>
+        <kineticLaw metaid="_80e39cba_1574_46df_8fe6_2c8ea9a8aacd">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_953a4c1d_82e5_47a9_8332_19ba2d89e3f1" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction276" name="phosphorylation of RAF on scaffold" metaid="_823094" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823094">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_0_2_0" metaid="_9e415cc6_7ace_4bc0_9e72_91cc55d6579f"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_918e473d_2990_41b2_b799_c498b968cd37"/>
+          <speciesReference species="S_0_2_1" metaid="_7dac58a6_356a_42aa_a156_354fd4b7660e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_74c32523_202e_40c4_a12f_436ac06780f7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_0_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_98d224a1_58fa_4775_8501_eb7bd5f5dca1" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction277" name="binding of RAF and RAFK" metaid="_823164" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823164">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="a042f45b_3b90_48fe_829c_694507d127ca"/>
+          <speciesReference species="S_1_m1_0" metaid="ac55f8ac_8a73_4bce_8e40_86fb2055de94"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_m1_0" metaid="_4e86db37_2f13_4580_9d4c_e0d8b7ef9936"/>
+        </listOfProducts>
+        <kineticLaw metaid="ae1dee61_56b9_4640_aea5_96b8114f4ce6">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_79b40cbc_96f2_48af_8c4a_10de66bb4a1d" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction278" name="dissociation of RAF_RAFK" metaid="_823234" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823234">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_m1_0" metaid="bbedb374_7428_4b35_add6_16a3e816c540"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="bc2f08da_6251_4f85_a77d_be4404c8840e"/>
+          <speciesReference species="S_1_m1_0" metaid="fc2f3e1f_178b_4906_9153_215906e9f7e8"/>
+        </listOfProducts>
+        <kineticLaw metaid="ee3f284d_6f2f_439b_89cd_d3558a9d2ad2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="b954c738_ade1_4f60_9642_a2e4b072579f" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction279" name="phosphorylation of RAF on scaffold" metaid="_823304" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823304">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_m1_0" metaid="c3fc9ed1_fa34_417c_9b38_e264bd368a7a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_6a79cb36_af92_4c07_b553_0de42b5b0831"/>
+          <speciesReference species="S_1_m1_1" metaid="c9592ff3_d5e2_4428_8756_b2d9969e8d46"/>
+        </listOfProducts>
+        <kineticLaw metaid="d9e53214_2866_4224_bf1d_b4759cf77199">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="cab9db93_badc_4d14_83a3_6febfb231e4b" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction280" name="binding of RAF and RAFK" metaid="_823374" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823374">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_52f60aba_7da3_4cf3_ac64_4c5c57be85c5"/>
+          <speciesReference species="S_1_0_0" metaid="_0f1ab31f_6642_4e41_89f0_b7f772810094"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_0_0" metaid="_54f7c02d_4138_4da5_b8c8_161945ec7673"/>
+        </listOfProducts>
+        <kineticLaw metaid="c4fb58eb_a4ec_43e6_bd57_546ad1f06922">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="bb6b5d2b_a7da_453c_af6c_aa17d93d20cf" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction281" name="dissociation of RAF_RAFK" metaid="_823444" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823444">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_0_0" metaid="e622ea25_d03c_4a29_9c07_1d11b71ab337"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_75ff4f68_a973_4bba_ba7e_a83a3d602c3f"/>
+          <speciesReference species="S_1_0_0" metaid="_126315d4_ceab_4a1b_bfce_0c446f97f22e"/>
+        </listOfProducts>
+        <kineticLaw metaid="dda1f23c_2a0e_4a28_9f96_78801bb0a282">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_59529a63_55fc_4328_b4da_3b461e6559bb" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction282" name="phosphorylation of RAF on scaffold" metaid="_823514" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823514">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_0_0" metaid="_283870b2_51e7_4912_a180_0f99724b9e72"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_6fe9719b_dfb5_4067_9662_03a116879f4c"/>
+          <speciesReference species="S_1_0_1" metaid="_21380910_754e_468c_9ebd_f06a7faf694a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_6aae564a_b8eb_4c03_8fb5_426c28677f26">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_02f50748_ba80_43af_974e_92c77c1d69d8" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction283" name="binding of RAF and RAFK" metaid="_823584" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823584">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="fbd84292_73c4_4c2d_8e23_79227509e4db"/>
+          <speciesReference species="S_1_1_0" metaid="_06213661_589b_430a_b717_13b25dfeb1ad"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_1_0" metaid="_5ad9d891_41c3_4a67_b1f4_0ba0449b7442"/>
+        </listOfProducts>
+        <kineticLaw metaid="_97a4d1d1_ac4c_4a02_8fc8_d9191348ddd7">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_6c53983f_6885_4755_8a93_8448bd8f48b6" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction284" name="dissociation of RAF_RAFK" metaid="_823654" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823654">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_1_0" metaid="_2f5cda82_ec93_41d2_8457_d908ead71175"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_0912daa2_2f8d_4600_8590_78e31d7ca6e3"/>
+          <speciesReference species="S_1_1_0" metaid="c1f08ff8_4206_44d4_b97f_8980aa8e732a"/>
+        </listOfProducts>
+        <kineticLaw metaid="_27c06793_8888_4939_b0c4_545787616db4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_3dca561e_fabd_4b8f_a87f_2695730c7dad" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction285" name="phosphorylation of RAF on scaffold" metaid="_823724" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823724">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_1_0" metaid="_7c63d7d9_7e6a_441d_92a2_8fc920531b90"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="b1fdb550_19c8_4faa_a4f6_9118a60178bd"/>
+          <speciesReference species="S_1_1_1" metaid="_16852a75_911b_4a8d_b424_996be48550a2"/>
+        </listOfProducts>
+        <kineticLaw metaid="dbe0a057_4ead_4474_97ba_8fcdf20e746c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_07483a6a_0363_4652_b5c9_ba6064130fdd" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction286" name="binding of RAF and RAFK" metaid="_823794" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823794">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_05d597ea_da10_49e5_ab42_0be2f56d69d7"/>
+          <speciesReference species="S_1_2_0" metaid="ddb2f875_a499_41bb_98fa_99434b265ff6"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_1_2_0" metaid="_40dca9f8_7c5c_422f_9e65_189c1e5b9828"/>
+        </listOfProducts>
+        <kineticLaw metaid="e1aa39d2_b08f_4e32_9587_55b04f855051">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="bc23dbd8_3d6a_4649_9b85_faba3ac688c3" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction287" name="dissociation of RAF_RAFK" metaid="_823864" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823864">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_2_0" metaid="_489bac19_da8b_4a62_941c_e558fb567d8c"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_98f33489_086b_4ab8_b754_0576d15c6655"/>
+          <speciesReference species="S_1_2_0" metaid="_6b22c02e_54bb_4628_a307_54858a5144ee"/>
+        </listOfProducts>
+        <kineticLaw metaid="a9ef0f6c_fd27_4e37_b6f5_9d9748a8fcf4">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_6b8e22aa_005e_4744_bf60_c7252de5de95" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction288" name="phosphorylation of RAF on scaffold" metaid="_823934" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_823934">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_1_2_0" metaid="_7d86f924_aefa_43d1_b36e_e019df340226"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_8e525dd9_63ad_4921_86a8_35f8adf48400"/>
+          <speciesReference species="S_1_2_1" metaid="_4825d37f_e463_45ec_b22f_ccfacd8c377e"/>
+        </listOfProducts>
+        <kineticLaw metaid="_70b82074_2358_48ee_9111_f6b1b60ff17e">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_1_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="cbdce37a_2952_4f52_8184_393ae062877f" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction289" name="binding of RAF and RAFK" metaid="_824004" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824004">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_92a028b0_3ba2_4cca_8015_400ef8d251c9"/>
+          <speciesReference species="S_2_m1_0" metaid="_6137cfc4_e652_485a_b2fc_ca78baf7c91a"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_m1_0" metaid="ec8c8621_3037_4f34_a8ea_7c339c9d578b"/>
+        </listOfProducts>
+        <kineticLaw metaid="_1da3c439_dcd2_46e7_b1c0_2dfd425a246b">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_0a7be3c6_271f_487d_8b46_986e293d09c1" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction290" name="dissociation of RAF_RAFK" metaid="_824074" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824074">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_m1_0" metaid="_09da51b0_f0e8_425a_be7a_0953f0641947"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_251b6dde_f8ac_45ff_8328_457365ff9748"/>
+          <speciesReference species="S_2_m1_0" metaid="_9417f559_46c3_40f7_8fc7_d0bf8dcae925"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3af22062_1108_4755_bdac_15d87f535d57">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="f4d362f8_dc40_486b_87b4_0784582cdf4d" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction291" name="phosphorylation of RAF on scaffold" metaid="_824144" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824144">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_m1_0" metaid="_62b3fcdc_034d_4674_8dda_58ac85e6b1b8"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_836a3b64_60fe_4d24_bf45_e5a1d9105c93"/>
+          <speciesReference species="S_2_m1_1" metaid="d5680dde_1228_44ed_b809_9140bdc65e62"/>
+        </listOfProducts>
+        <kineticLaw metaid="_5eb5459c_84ac_49eb_b807_67fb63b3fd6c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_m1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_990ce321_868c_41ed_9a62_33b757ea3d5a" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction292" name="binding of RAF and RAFK" metaid="_824218" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824218">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_5fa45056_19f3_4d47_8209_6368210c764b"/>
+          <speciesReference species="S_2_0_0" metaid="_9b44d5b7_f027_425f_bd09_9ac5eafa8bcd"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_0_0" metaid="_8a78608d_1897_4aa4_996c_bd0f08bb3ee7"/>
+        </listOfProducts>
+        <kineticLaw metaid="_4dadba7d_7488_4f96_95ab_067b3ea7ce8a">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_28b78a0b_4651_483e_874e_097de57bd1a9" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction293" name="dissociation of RAF_RAFK" metaid="_824284" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824284">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_0_0" metaid="_73eaff4d_adc0_4c2b_8f1c_06a8dd20e4eb"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_4fd5263b_bf25_4fa8_b4a9_afeeef883941"/>
+          <speciesReference species="S_2_0_0" metaid="bfa62de2_50d8_4b23_932b_7a45fc9d3e73"/>
+        </listOfProducts>
+        <kineticLaw metaid="ab9fd5c3_af48_4c37_a6af_8ef2c5ac04ab">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_9b7300a2_5465_4566_a9a5_4407848bedf7" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction294" name="phosphorylation of RAF on scaffold" metaid="_824354" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824354">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_0_0" metaid="_0bfb90ce_ea00_4853_947c_6b22d7d80125"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_22fe2623_1dd8_4f50_a205_a7f42b6ad3d8"/>
+          <speciesReference species="S_2_0_1" metaid="beee9f19_eb1b_4731_ae7f_9fcc41af2594"/>
+        </listOfProducts>
+        <kineticLaw metaid="aeaf7383_b514_43e7_95cb_84cc6894b449">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_0_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="ce9b676c_ecc7_4b8b_9a16_6d6a5fc967e3" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction295" name="binding of RAF and RAFK" metaid="_824424" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824424">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_9df2f012_0759_4ddc_b978_7c61e63f145d"/>
+          <speciesReference species="S_2_1_0" metaid="_5a9ed71c_1456_45e4_998f_330696b669a9"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_1_0" metaid="_38d697d9_548c_4376_8686_333e6b19bc0d"/>
+        </listOfProducts>
+        <kineticLaw metaid="_00b71cb8_1caa_4ed8_ae55_3acb25bfdafc">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="bd6df03b_8af9_42ca_9e73_8fed8e1dc4ce" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction296" name="dissociation of RAF_RAFK" metaid="_824496" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824496">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_1_0" metaid="_988d6bcf_513c_4ba8_ac44_e80fa63939d1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_4dbda538_85a1_4135_9853_667275ae6c7d"/>
+          <speciesReference species="S_2_1_0" metaid="_6e044f33_0aa6_4355_a035_bff15b48b05c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_12767a8a_28d9_4b19_80e3_8925317c0c58">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="_320f1d40_d4e4_4d17_9139_fbd86c13f396" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction297" name="phosphorylation of RAF on scaffold" metaid="_824564" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824564">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_1_0" metaid="_1bb44634_790e_4662_abb3_697a3a01e5e0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="cf7260c7_c650_4930_83eb_3122e01e971e"/>
+          <speciesReference species="S_2_1_1" metaid="_9f1b9bbf_b65e_44dd_b8ed_d6dfd976fa6c"/>
+        </listOfProducts>
+        <kineticLaw metaid="_3cd1d828_ffaa_4b9f_9291_7c49d65ffa33">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_1_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="a1ed100b_145f_449d_ae8a_0d3171259f9e" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction298" name="binding of RAF and RAFK" metaid="_824634" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824634">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/reactome/REACT_996"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0031435"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="RAFK" metaid="_3da08a9f_eb7d_4842_a3ad_6a4893409648"/>
+          <speciesReference species="S_2_2_0" metaid="_7f6d4ece_0f69_4062_9cac_9f348f5892be"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S_RAFK_2_2_0" metaid="_80f57270_8c93_475a_849d_747c9d191039"/>
+        </listOfProducts>
+        <kineticLaw metaid="e736339a_1856_404a_be42_126fe8a12cc5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1a </ci>
+              <ci> RAFK </ci>
+              <ci> S_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1a" metaid="_3f5d3966_f5c0_4638_8639_d296fa7a6575" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction299" name="dissociation of RAF_RAFK" metaid="_824704" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824704">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0043241"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_2_0" metaid="dd4f8ae3_fd74_47f1_aeb2_aaf0be10a1c7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_9494071d_c810_4c32_8da2_e75cad8ae6b1"/>
+          <speciesReference species="S_2_2_0" metaid="_8fa95dc6_be8b_4f6b_ab4b_16645f99afac"/>
+        </listOfProducts>
+        <kineticLaw metaid="_2f48adf5_140a_452e_93eb_ede0b3a3c05c">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> d1a </ci>
+              <ci> S_RAFK_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="d1a" metaid="ce139a44_b5c8_45be_8f98_18317c81b3f3" value="0"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction300" name="phosphorylation of RAF on scaffold" metaid="_824774" reversible="false">
+        <annotation>
+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+            <rdf:Description rdf:about="#_824774">
+              <bqbiol:isVersionOf>
+                <rdf:Bag>
+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.11.1"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0008349"/>
+                  <rdf:li rdf:resource="http://identifiers.org/obo.go/GO:0000185"/>
+                </rdf:Bag>
+              </bqbiol:isVersionOf>
+            </rdf:Description>
+          </rdf:RDF>
+        </annotation>
+              <listOfReactants>
+          <speciesReference species="S_RAFK_2_2_0" metaid="c2b747b2_1141_4d4a_915c_d9ff7416e893"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RAFK" metaid="_95c149e2_0f74_4e46_907e_c1a200fead60"/>
+          <speciesReference species="S_2_2_1" metaid="dc394c10_9fca_40ff_8355_c71488d38415"/>
+        </listOfProducts>
+        <kineticLaw metaid="_16cde5a7_77b2_4e69_89a8_81218b777436">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S_RAFK_2_2_0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" metaid="_379ff860_419c_48e8_a019_9911a309026a" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/data/sosbench/14/14-settings.txt b/data/sosbench/14/14-settings.txt
new file mode 100644
index 0000000..60b81ec
--- /dev/null
+++ b/data/sosbench/14/14-settings.txt
@@ -0,0 +1,14 @@
+start: 0
+duration: 300
+steps: 300
+variables: MAPKP, MEKP, RAFK, RAFP, K_1_0, K_1_1, K_1_2, K_2_0, K_2_1, K_2_2, K_3_0, K_3_1, K_K_1_0_2_2, K_K_1_1_2_2, K_K_2_0_3_1, K_K_2_1_3_1, K_MAPKP_1_1, K_MAPKP_1_2, K_MEKP_2_1, K_MEKP_2_2, K_RAFK_3_0, K_RAFP_3_1, S_m1_m1_m1, S_m1_m1_0, S_m1_m1_1, S_m1_0_m1, S_m1_0_0, S_m1_0_1, S_m1_1_m1, S_m1_1_0, S_m1_1_1, S_m1_2_m1, S_m1_2_0, S_m1_2_1, S_0_m1_m1, S_0_m1_0, S_0_m1_1, S_0_0_m1, S_0_0_0, S_0_0_1, S_0_1_m1, S_0_1_0, S_0_1_1, S_0_2_m1, S_0_2_0, S_0_2_1, S_1_m1_m1, S_1_m1_0, S_1_m1_1, S [...]
+absolute: 1.0e-4
+relative: 1.0e-9
+amount: 
+concentration: MAPKP, MEKP, RAFK, RAFP, K_1_0, K_1_1, K_1_2, K_2_0, K_2_1, K_2_2, K_3_0, K_3_1, K_K_1_0_2_2, K_K_1_1_2_2, K_K_2_0_3_1, K_K_2_1_3_1, K_MAPKP_1_1, K_MAPKP_1_2, K_MEKP_2_1, K_MEKP_2_2, K_RAFK_3_0, K_RAFP_3_1, S_m1_m1_m1, S_m1_m1_0, S_m1_m1_1, S_m1_0_m1, S_m1_0_0, S_m1_0_1, S_m1_1_m1, S_m1_1_0, S_m1_1_1, S_m1_2_m1, S_m1_2_0, S_m1_2_1, S_0_m1_m1, S_0_m1_0, S_0_m1_1, S_0_0_m1, S_0_0_0, S_0_0_1, S_0_1_m1, S_0_1_0, S_0_1_1, S_0_2_m1, S_0_2_0, S_0_2_1, S_1_m1_m1, S_1_m1_0, S_1_m1_ [...]
+
+
+
+
+
+
diff --git a/data/sosbench/22/22-sbml-l2v1.xml b/data/sosbench/22/22-sbml-l2v1.xml
new file mode 100644
index 0000000..28d6d9d
--- /dev/null
+++ b/data/sosbench/22/22-sbml-l2v1.xml
@@ -0,0 +1,1702 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+
+<!-- This model was downloaded from BioModels Database -->
+<!-- Tue Apr 22 06:21:16 BST 2014                      -->
+<!-- http://www.ebi.ac.uk/biomodels/                   -->
+
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" metaid="metaid_000001" version="1">
+  <model id="Ueda2001_CircClock" name="Ueda2001_CircClock" metaid="metaid_0000002">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>Bruce Shapiro: Generated by Cellerator Version 1.0 update 3.0303 using Mathematica 4.1 for Microsoft Windows (June 13, 2001), April 2, 2003 16:49:13, using (PC,x86, Microsoft Windows,WindowsNT,Windows)</p>
+            <p>Bruce Shapiro: Corrected 29 March 2005</p>
+            <p>Nicolas Le Novère: Added Dbt and Cyc species, and the corresponding reactions. 23 April 2005</p>
+            <br/>
+            <p>To the extent possible under law, all copyright and related or neighbouring rights to this encoded model have been dedicated to the public domain worldwide. Please refer to      <a href="http://creativecommons.org/publicdomain/zero/1.0/" title="Creative Commons CC0">CC0 Public Domain Dedication</a>
+          for more information.      </p>
+            <p>In summary, you are entitled to use this encoded model in absolutely any manner you deem suitable, verbatim, or with modification, alone or embedded it in a larger context, redistribute it, commercially or not, in a restricted way or not.</p>
+            <br/>
+            <p>To cite BioModels Database, please use:      <a href="http://www.ncbi.nlm.nih.gov/pubmed/20587024" target="_blank">Li C, Donizelli M, Rodriguez N, Dharuri H, Endler L, Chelliah V, Li L, He E, Henry A, Stefan MI, Snoep JL, Hucka M, Le Novère N, Laibe C (2010) BioModels Database: An enhanced, curated and annotated resource for published quantitative kinetic models. BMC Syst Biol., 4:92.</a>
+                </p>
+            </body>
+      
+    </notes>
+    <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000002">
+	<dc:creator>
+	<rdf:Bag>
+	<rdf:li rdf:parseType="Resource">
+	<vCard:N rdf:parseType="Resource">
+	<vCard:Family>Le Novère</vCard:Family>
+	<vCard:Given>Nicolas</vCard:Given>
+	</vCard:N>
+	<vCard:EMAIL>lenov at ebi.ac.uk</vCard:EMAIL>
+	<vCard:ORG rdf:parseType="Resource">
+	<vCard:Orgname>EMBL-EBI</vCard:Orgname>
+	</vCard:ORG>
+	</rdf:li>
+	<rdf:li rdf:parseType="Resource">
+	<vCard:N rdf:parseType="Resource">
+	<vCard:Family>Shapiro</vCard:Family>
+	<vCard:Given>Bruce</vCard:Given>
+	</vCard:N>
+	<vCard:EMAIL>bshapiro at jpl.nasa.gov</vCard:EMAIL>
+	<vCard:ORG rdf:parseType="Resource">
+	<vCard:Orgname>NASA Jet Propulsion Laboratory</vCard:Orgname>
+	</vCard:ORG>
+	</rdf:li>
+	</rdf:Bag>
+	</dc:creator>
+	<dcterms:created rdf:parseType="Resource">
+	<dcterms:W3CDTF>2005-09-21T17:16:35Z</dcterms:W3CDTF>
+	</dcterms:created>
+	<dcterms:modified rdf:parseType="Resource">
+	<dcterms:W3CDTF>2014-03-26T16:51:09Z</dcterms:W3CDTF>
+	</dcterms:modified>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/MODEL6617909980"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000022"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:isDescribedBy>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/pubmed/11403560"/>
+	</rdf:Bag>
+	</bqmodel:isDescribedBy>
+	<bqmodel:isDerivedFrom>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/pubmed/10531060"/>
+	</rdf:Bag>
+	</bqmodel:isDerivedFrom>
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/kegg.pathway/dme04710"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0007623"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	<bqbiol:hasTaxon>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/taxonomy/7227"/>
+	</rdf:Bag>
+	</bqbiol:hasTaxon>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+      <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="nanomole (default)" metaid="metaid_0000052">
+        <listOfUnits>
+          <unit scale="-9" metaid="_930858" kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="hour (default)" metaid="metaid_0000053">
+        <listOfUnits>
+          <unit metaid="_930873" multiplier="3600" kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Drosophilia" metaid="metaid_0000003" size="1"/>
+      <compartment id="compartment_0000003" name="cytoplasm" metaid="metaid_0000055" size="1">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000055">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005737"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </compartment>
+      <compartment id="compartment_0000002" name="nucleus" metaid="metaid_0000054" outside="compartment_0000003" size="1">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000054">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005634"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="EmptySet" initialAmount="0" metaid="metaid_0000004" boundaryCondition="true" compartment="Drosophilia"/>
+      <species id="CCc" initialAmount="0.3" name="Clk-Cyc_cyt" metaid="metaid_0000005" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000005">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61735"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61734"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="CCn" initialAmount="0.4" name="Clk-Cyc_nuc" metaid="metaid_0000006" compartment="compartment_0000002">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000006">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61734"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61735"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Clkc" initialAmount="0.2" name="Clk_cyt" metaid="metaid_0000007" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000007">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61735"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Clkm" initialAmount="0.1" name="Clk_mRNA" metaid="metaid_0000008" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000008">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/chebi/CHEBI:33699"/>
+	<rdf:li rdf:resource="http://identifiers.org/kegg.compound/C00046"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Perc" initialAmount="0.6" name="Per_cyt" metaid="metaid_0000009" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000009">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07663"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Perm" initialAmount="0.5" name="Per_mRNA" metaid="metaid_0000010" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000010">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/chebi/CHEBI:33699"/>
+	<rdf:li rdf:resource="http://identifiers.org/kegg.compound/C00046"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PTc" initialAmount="0.9" name="Per-Tim_cyt" metaid="metaid_0000011" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000011">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07663"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P49021"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PTn" initialAmount="1" name="Per-Tim_nuc" metaid="metaid_0000012" compartment="compartment_0000002">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000012">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07663"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P49021"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Timc" initialAmount="0.8" name="Tim_cyt" metaid="metaid_0000013" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000013">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P49021"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Timm" initialAmount="0.7" name="Tim_mRNA" metaid="metaid_0000014" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000014">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/chebi/CHEBI:33699"/>
+	<rdf:li rdf:resource="http://identifiers.org/kegg.compound/C00046"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="species_0000012" constant="true" initialAmount="1" name="Cyc_cyt" metaid="metaid_0000056" boundaryCondition="true" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000056">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O61734"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="species_0000013" constant="true" initialAmount="1" name="Dbt_cyt" metaid="metaid_0000057" boundaryCondition="true" compartment="compartment_0000003">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000057">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/O76324"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="Reaction1" name="Per transcription" metaid="metaid_0000015" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000015">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006355"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0009299"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_930886"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Perm" metaid="_930898"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="CCn" metaid="_930911"/>
+          <modifierSpeciesReference species="PTn" metaid="_930923"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_930935">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <plus/>
+                <ci> c1 </ci>
+                <apply>
+                  <divide/>
+                  <apply>
+                    <times/>
+                    <apply>
+                      <plus/>
+                      <ci> B1 </ci>
+                      <apply>
+                        <power/>
+                        <apply>
+                          <divide/>
+                          <ci> CCn </ci>
+                          <ci> A1 </ci>
+                        </apply>
+                        <ci> a </ci>
+                      </apply>
+                    </apply>
+                    <ci> s1 </ci>
+                  </apply>
+                  <apply>
+                    <plus/>
+                    <cn type="integer"> 1 </cn>
+                    <ci> B1 </ci>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> CCn </ci>
+                        <ci> A1 </ci>
+                      </apply>
+                      <ci> a </ci>
+                    </apply>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> PTn </ci>
+                        <ci> r1 </ci>
+                      </apply>
+                      <ci> r </ci>
+                    </apply>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a" metaid="_923615" value="1"/>
+            <parameter id="A1" metaid="_923617" value="0.45"/>
+            <parameter id="B1" metaid="_923619" value="0"/>
+            <parameter id="c1" name="C1" metaid="_923621" value="0"/>
+            <parameter id="r1" name="R1" metaid="_923623" value="1.02"/>
+            <parameter id="s1" name="S1" metaid="_923625" value="1.45"/>
+            <parameter id="r" metaid="_923627" value="4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction2" name="non-specific Per mRNA degradation" metaid="metaid_0000016" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000016">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Perm" metaid="_930948"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_930961"/>
+        </listOfProducts>
+        <kineticLaw metaid="_930973">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> D0 </ci>
+              <ci> Perm </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923629" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction3" name="Tim transcription" metaid="metaid_0000017" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000017">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0009299"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006355"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_930986"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Timm" metaid="_930998"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="CCn" metaid="_931010"/>
+          <modifierSpeciesReference species="PTn" metaid="_931022"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931035">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <plus/>
+                <ci> c2 </ci>
+                <apply>
+                  <divide/>
+                  <apply>
+                    <times/>
+                    <apply>
+                      <plus/>
+                      <ci> B2 </ci>
+                      <apply>
+                        <power/>
+                        <apply>
+                          <divide/>
+                          <ci> CCn </ci>
+                          <ci> A2 </ci>
+                        </apply>
+                        <ci> a </ci>
+                      </apply>
+                    </apply>
+                    <ci> s3 </ci>
+                  </apply>
+                  <apply>
+                    <plus/>
+                    <cn type="integer"> 1 </cn>
+                    <ci> B2 </ci>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> CCn </ci>
+                        <ci> A2 </ci>
+                      </apply>
+                      <ci> a </ci>
+                    </apply>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> PTn </ci>
+                        <ci> r2 </ci>
+                      </apply>
+                      <ci> r </ci>
+                    </apply>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a" metaid="_923631" value="1"/>
+            <parameter id="A2" metaid="_923633" value="0.45"/>
+            <parameter id="B2" metaid="_923635" value="0"/>
+            <parameter id="c2" name="C2" metaid="_923637" value="0"/>
+            <parameter id="r2" name="R2" metaid="_923639" value="1.02"/>
+            <parameter id="s3" name="S3" metaid="_923641" value="1.45"/>
+            <parameter id="r" metaid="_923643" value="4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction4" name="non-specific Tim mRNA degradation" metaid="metaid_0000018" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000018">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Timm" metaid="_931048"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931061"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931074">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> Drosophilia </ci>
+              <ci> D0 </ci>
+              <ci> Timm </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923645" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction5" name="Clk transcription" metaid="metaid_0000019" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000019">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0009299"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006355"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_931087"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Clkm" metaid="_931100"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="PTn" metaid="_931113"/>
+          <modifierSpeciesReference species="CCn" metaid="_931125"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931138">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <plus/>
+                <ci> c3 </ci>
+                <apply>
+                  <divide/>
+                  <apply>
+                    <times/>
+                    <apply>
+                      <plus/>
+                      <ci> B3 </ci>
+                      <apply>
+                        <power/>
+                        <apply>
+                          <divide/>
+                          <ci> PTn </ci>
+                          <ci> A3 </ci>
+                        </apply>
+                        <ci> a </ci>
+                      </apply>
+                    </apply>
+                    <ci> s5 </ci>
+                  </apply>
+                  <apply>
+                    <plus/>
+                    <cn type="integer"> 1 </cn>
+                    <ci> B3 </ci>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> PTn </ci>
+                        <ci> A3 </ci>
+                      </apply>
+                      <ci> a </ci>
+                    </apply>
+                    <apply>
+                      <power/>
+                      <apply>
+                        <divide/>
+                        <ci> CCn </ci>
+                        <ci> r3 </ci>
+                      </apply>
+                      <ci> r </ci>
+                    </apply>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="a" metaid="_923647" value="1"/>
+            <parameter id="A3" metaid="_923649" value="0.8"/>
+            <parameter id="B3" metaid="_923651" value="0.6"/>
+            <parameter id="c3" name="C3" metaid="_923653" value="0"/>
+            <parameter id="r3" name="R3" metaid="_923655" value="0.89"/>
+            <parameter id="s5" name="S5" metaid="_923657" value="1.63"/>
+            <parameter id="r" metaid="_923659" value="4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction6" name="non-specific Clk mRNA degradation" metaid="metaid_0000020" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000020">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Clkm" metaid="_931151"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931164"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931177">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> Drosophilia </ci>
+              <ci> Clkm </ci>
+              <ci> D0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923661" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction7" name="Clk-Cyc nuclear import" metaid="metaid_0000021" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000021">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006606"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCc" metaid="_931190"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="CCn" metaid="_931203"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931216">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> CCc </ci>
+                  <ci> T3 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> k3 </ci>
+                  <ci> CCc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k3" name="K3" metaid="_923663" value="2"/>
+            <parameter id="T3" metaid="_923665" value="1.63"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction8" name="Clk-Cyc nuclear export" metaid="metaid_0000022" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000022">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006611"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCn" metaid="_931229"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="CCc" metaid="_931242"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931255">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> CCn </ci>
+                  <ci> T4 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> k4 </ci>
+                  <ci> CCn </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k4" metaid="_923667" value="2"/>
+            <parameter id="T4" metaid="_923669" value="0.52"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction9" name="Per-Tim nuclear export" metaid="metaid_0000023" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000023">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006611"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTn" metaid="_931268"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PTc" metaid="_931281"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931294">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> PTn </ci>
+                  <ci> T2 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> k2 </ci>
+                  <ci> PTn </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k2" name="K2" metaid="_923671" value="2"/>
+            <parameter id="T2" metaid="_923673" value="0.72"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction10" name="Per-Tim nuclear import" metaid="metaid_0000024" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000024">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006606"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTc" metaid="_931307"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PTn" metaid="_931320"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931334">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> PTc </ci>
+                  <ci> T1 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> k1 </ci>
+                  <ci> PTc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="k1" name="K1" metaid="_923675" value="2"/>
+            <parameter id="T1" metaid="_923677" value="1.73"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction11" name="Clk Cyc equilibrium" metaid="metaid_0000025">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000025">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006461"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="species_0000012" metaid="_931347"/>
+          <speciesReference species="Clkc" metaid="_931360"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="CCc" metaid="_931373"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931386">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> Clkc </ci>
+                  <ci> v3 </ci>
+                  <ci> species_0000012 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> parameter_0000073 </ci>
+                  <ci> CCc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="v3" name="V3" metaid="_923679" value="1.63"/>
+            <parameter id="parameter_0000073" name="V4" metaid="_923681" value="1.63"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction12" name="Per Tim equilibrium" metaid="metaid_0000026">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000026">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006461"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Perc" metaid="_931399"/>
+          <speciesReference species="Timc" metaid="_931412"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PTc" metaid="_931425"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931438">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> Perc </ci>
+                  <ci> Timc </ci>
+                  <ci> v1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> parameter_0000072 </ci>
+                  <ci> PTc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="v1" name="V1" metaid="_923683" value="1.45"/>
+            <parameter id="parameter_0000072" name="V2" metaid="_923685" value="1.45"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction16" name="Tim translation" metaid="metaid_0000030" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000030">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006412"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_931451"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Timc" metaid="_931464"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Timm" metaid="_931477"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931490">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> s4 </ci>
+              <ci> Timm </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="s4" name="S4" metaid="_923687" value="0.48"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction18" name="Clk translation" metaid="metaid_0000032" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000032">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006412"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_931502"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Clkc" metaid="_931514"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Clkm" metaid="_931526"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931538">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> Clkm </ci>
+              <ci> s6 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="s6" name="S6" metaid="_923689" value="0.47"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction19" name="Per translation" metaid="metaid_0000033" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000033">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006412"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EmptySet" metaid="_931550"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Perc" metaid="_931562"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Perm" metaid="_931574"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931586">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> s2 </ci>
+              <ci> Perm </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="s2" name="S2" metaid="_923691" value="0.48"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction20" name="non-specific Per_cyt degradation" metaid="metaid_0000034" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000034">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Perc" metaid="_931598"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931610"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931622">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> Drosophilia </ci>
+              <ci> D0 </ci>
+              <ci> Perc </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923693" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction21" name="non-specific Per-Tim_cyt degradation" metaid="metaid_0000035" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000035">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTc" metaid="_931634"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931646"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931658">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> D0 </ci>
+              <ci> PTc </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923695" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction23" name="non-specific Per-Tim_nuc degradation" metaid="metaid_0000037" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000037">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTn" metaid="_931670"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931682"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931694">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <ci> D0 </ci>
+              <ci> PTn </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923697" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction24" name="non-specific Clk-Cyc_cyt degradation" metaid="metaid_0000038" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000038">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCc" metaid="_931706"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931718"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931730">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> CCc </ci>
+              <ci> D0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923699" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction25" name="non-specific Clk_cyt degradation" metaid="metaid_0000039" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000039">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Clkc" metaid="_931742"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931754"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931766">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> Clkc </ci>
+              <ci> D0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923701" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction26" name="non-specific Clk-Cyc_nuc degradation" metaid="metaid_0000040" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000040">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCn" metaid="_931778"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931790"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931802">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <ci> CCn </ci>
+              <ci> D0 </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923703" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction27" name="non-specific Tim_cyt degradation" metaid="metaid_0000041" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000041">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Timc" metaid="_931814"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931826"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931838">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <ci> D0 </ci>
+              <ci> Timc </ci>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D0" metaid="_923705" value="0.012"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction28" name="Per mRNA degradation" metaid="metaid_0000042" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000042">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Perm" metaid="_931850"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931862"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931874">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D1 </ci>
+                  <ci> Perm </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L1 </ci>
+                  <ci> Perm </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D1" metaid="_923707" value="0.94"/>
+            <parameter id="L1" metaid="_923709" value="0.3"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction29" name="Dbt regulated Per_cyt degradation" metaid="metaid_0000043" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000043">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Perc" metaid="_931886"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931898"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="species_0000013" metaid="_931910"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_931922">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D2 </ci>
+                  <ci> species_0000013 </ci>
+                  <ci> Perc </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L2 </ci>
+                  <ci> Perc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D2" metaid="_923712" value="0.44"/>
+            <parameter id="L2" metaid="_923714" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction30" name="Tim mRNA degradation" metaid="metaid_0000044" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000044">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Timm" metaid="_931934"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931946"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931958">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D3 </ci>
+                  <ci> Timm </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L3 </ci>
+                  <ci> Timm </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D3" metaid="_923716" value="0.94"/>
+            <parameter id="L3" metaid="_923718" value="0.3"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction31" name="Tim_cyt degradation" metaid="metaid_0000045" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000045">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Timc" metaid="_931970"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_931982"/>
+        </listOfProducts>
+        <kineticLaw metaid="_931994">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D4 </ci>
+                  <ci> Timc </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L4 </ci>
+                  <ci> Timc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D4" metaid="_923720" value="0.44"/>
+            <parameter id="L4" metaid="_923722" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction32" name="Per-Tim_cyt degradation" metaid="metaid_0000046" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000046">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTc" metaid="_932006"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932018"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932030">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D5 </ci>
+                  <ci> PTc </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L5 </ci>
+                  <ci> PTc </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D5" metaid="_923724" value="0.44"/>
+            <parameter id="L5" metaid="_923726" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction33" name="Per-Tim_nuc degradation" metaid="metaid_0000047" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000047">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PTn" metaid="_932042"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932054"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932066">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> D6 </ci>
+                  <ci> PTn </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> L6 </ci>
+                  <ci> PTn </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D6" metaid="_923728" value="0.29"/>
+            <parameter id="L6" metaid="_923730" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction34" name="Clk mRNA degradation" metaid="metaid_0000048" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000048">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0006402"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Clkm" metaid="_932078"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932090"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932102">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> Clkm </ci>
+                  <ci> D7 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Clkm </ci>
+                  <ci> L7 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D7" metaid="_923732" value="0.54"/>
+            <parameter id="L7" metaid="_923734" value="0.13"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction35" name="Clk_cyt degradation" metaid="metaid_0000049" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000049">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Clkc" metaid="_932114"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932126"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932138">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> Clkc </ci>
+                  <ci> D8 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Clkc </ci>
+                  <ci> L8 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D8" metaid="_923736" value="0.6"/>
+            <parameter id="L8" metaid="_923738" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction36" name="Clk-Cyc_cyt degradation" metaid="metaid_0000050" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000050">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCc" metaid="_932150"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932162"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932174">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000003 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> CCc </ci>
+                  <ci> D9 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> CCc </ci>
+                  <ci> L9 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D9" metaid="_923740" value="0.6"/>
+            <parameter id="L9" metaid="_923742" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Reaction37" metaid="metaid_0000051" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000051">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0030163"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="CCn" metaid="_932186"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EmptySet" metaid="_932198"/>
+        </listOfProducts>
+        <kineticLaw metaid="_932210">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> compartment_0000002 </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> CCn </ci>
+                  <ci> D10 </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> CCn </ci>
+                  <ci> L10 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                  <listOfParameters>
+            <parameter id="D10" metaid="_923744" value="0.3"/>
+            <parameter id="L10" metaid="_923746" value="0.2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/data/sosbench/22/22-settings.txt b/data/sosbench/22/22-settings.txt
new file mode 100644
index 0000000..3806020
--- /dev/null
+++ b/data/sosbench/22/22-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 2000
+steps: 2000
+variables:  CCc, CCn, Clkc, Clkm, Perc, Perm, PTc, PTn, Timc, Timm
+absolute: 1.0e-4
+relative: 1.0e-9
+amount: 
+concentration: CCc, CCn, Clkc, Clkm, Perc, Perm, PTc, PTn, Timc, Timm
+
diff --git a/data/sosbench/33/33-sbml-l2v1.xml b/data/sosbench/33/33-sbml-l2v1.xml
new file mode 100644
index 0000000..4e5a258
--- /dev/null
+++ b/data/sosbench/33/33-sbml-l2v1.xml
@@ -0,0 +1,1744 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+
+<!-- This model was downloaded from BioModels Database -->
+<!-- Tue Apr 22 06:53:14 BST 2014                      -->
+<!-- http://www.ebi.ac.uk/biomodels/                   -->
+
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" metaid="metaid_0000001" version="1">
+  <model id="Brown2004_NGF_EGF_signaling" name="Brown2004_NGF_EGF_signaling" metaid="metaid_0000002">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>Contact Ryan Gutenkunst (rng7 at cornell.edu) for any questions on the SBMLization or annotation of this model.</p>
+            <p>KS Brown KS and JP Sethna      <br/>
+          "Statistical mechanical approaches to models with many poorly known parameters."      <br/>
+          Physical Review E 68:021904 (2003)      <br/>
+          PMID: 14525003      </p>
+            <p>KS Brown, CC Hill, GA Calero, CR Myers, KH Lee, JP Sethna, and RA Cerione      <br/>
+          "The statistical mechanics of complex signaling networks: 
+        nerve growth factor signaling"      <br/>
+          Physical Biology 1:184-195 (2004)      <br/>
+          PMID: not yet indexed      </p>
+            <h3>Notes:</h3>
+            <p>The figures in the paper show results from computations performed over an ensemble of all parameter sets that fit the avaiable data. This file contains only the best fit parameters. The full ensemble of parameters is available at http://www.lassp.cornell.edu/sethna/GeneDynamics/PC12DataFiles/ (Also, the best-fit parameter set produces a curve for DN Rap1 that is less "peakish" than the ensemble average.)</p>
+            <p>The conversion factors for EGF and NGF concentrations account for their molecular weights and the density of cells in the culture dish. These concentrations are saturating, so the exact values are not critical.</p>
+            <p>Because the Erk data fit to measure only fold changes in activity, there is no absolute scale for the y-axes. Thus the curves from this file have different magnitudes than those published.</p>
+            <p>To reproduce the figures from the paper:      <br/>
+          2a) For EGF stimulation, set the initial concentration of EGF to 100 ng/ml * 100020 (molecule/cell)/(ng/ml) = 10002000.      <br/>
+          For NGF stimulation, set the initial concentration of NGF to 50 ng/ml * 4560 (molecule/cell)/(ng/ml) = 456000      <br/>
+          5a) To simulate LY294002 addition, set kPI3KRas and kPI3K to 0.      <br/>
+          5b) To simulate a dominant negative Rap1, set kRap1ToBRaf to 0.      <br/>
+          To simulate a dominant negative Ras, set kRasToRaf1 and kPI3KRas to 0.      <br/>
+                </p>
+            <p>Almost all the data fit with this model by the authors are from Western blots. Given 
+the uncertainties in antibody effectiveness and other factors, one can't 
+a priori derive a conversion between the arbitrary units for a given set 
+of data and molecules per cell. So the authors used an adjustable 
+"scale factor" that converts between molecules per cell and Western blot 
+units.</p>
+            <p>For the EGF stimulation data in figure 2a) the scale factor conversion 
+is 1.414e-05 (U/mg)/(molecule/cell).
+For the NGF stimulation data in figure 2a) it is 7.135e-06 
+(U/mg)/(molecule/cell).</p>
+            <br/>
+            <p>To the extent possible under law, all copyright and related or neighbouring rights to this encoded model have been dedicated to the public domain worldwide. Please refer to      <a href="http://creativecommons.org/publicdomain/zero/1.0/" title="Creative Commons CC0">CC0 Public Domain Dedication</a>
+          for more information.      </p>
+            <p>In summary, you are entitled to use this encoded model in absolutely any manner you deem suitable, verbatim, or with modification, alone or embedded it in a larger context, redistribute it, commercially or not, in a restricted way or not.</p>
+            <br/>
+            <p>To cite BioModels Database, please use:      <a href="http://www.ncbi.nlm.nih.gov/pubmed/20587024" target="_blank">Li C, Donizelli M, Rodriguez N, Dharuri H, Endler L, Chelliah V, Li L, He E, Henry A, Stefan MI, Snoep JL, Hucka M, Le Novère N, Laibe C (2010) BioModels Database: An enhanced, curated and annotated resource for published quantitative kinetic models. BMC Syst Biol., 4:92.</a>
+                </p>
+            </body>
+      
+    </notes>
+    <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000002">
+	<dc:creator>
+	<rdf:Bag>
+	<rdf:li rdf:parseType="Resource">
+	<vCard:N rdf:parseType="Resource">
+	<vCard:Family>Le Novère</vCard:Family>
+	<vCard:Given>Nicolas</vCard:Given>
+	</vCard:N>
+	<vCard:EMAIL>lenov at ebi.ac.uk</vCard:EMAIL>
+	<vCard:ORG rdf:parseType="Resource">
+	<vCard:Orgname>EMBL-EBI</vCard:Orgname>
+	</vCard:ORG>
+	</rdf:li>
+	<rdf:li rdf:parseType="Resource">
+	<vCard:N rdf:parseType="Resource">
+	<vCard:Family>Gutenkunst</vCard:Family>
+	<vCard:Given>Ryan</vCard:Given>
+	</vCard:N>
+	<vCard:EMAIL>rng7 at cornell.edu</vCard:EMAIL>
+	<vCard:ORG rdf:parseType="Resource">
+	<vCard:Orgname>Cornell University</vCard:Orgname>
+	</vCard:ORG>
+	</rdf:li>
+	</rdf:Bag>
+	</dc:creator>
+	<dcterms:created rdf:parseType="Resource">
+	<dcterms:W3CDTF>2005-06-10T14:09:32Z</dcterms:W3CDTF>
+	</dcterms:created>
+	<dcterms:modified rdf:parseType="Resource">
+	<dcterms:W3CDTF>2014-04-04T13:21:52Z</dcterms:W3CDTF>
+	</dcterms:modified>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/MODEL6619514794"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/biomodels.db/BIOMD0000000033"/>
+	</rdf:Bag>
+	</bqmodel:is>
+	<bqmodel:isDescribedBy>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/pubmed/14525003"/>
+	</rdf:Bag>
+	</bqmodel:isDescribedBy>
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0070371"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	<bqbiol:hasTaxon>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/taxonomy/131567"/>
+	</rdf:Bag>
+	</bqbiol:hasTaxon>
+	<bqbiol:hasProperty>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/mamo/MAMO_0000046"/>
+	</rdf:Bag>
+	</bqbiol:hasProperty>
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0048011"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0007173"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+      <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="item (default)" metaid="metaid_0000110">
+        <listOfUnits>
+          <unit metaid="_915682" kind="item"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="minute (default)" metaid="metaid_1000110">
+        <listOfUnits>
+          <unit metaid="_915694" multiplier="60" kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="cell" metaid="metaid_0000051" size="1">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000051">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005623"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="EGF" initialConcentration="10002000" metaid="metaid_0000052" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000052">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07522"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="NGF" initialConcentration="456000" metaid="metaid_0000053" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000053">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P25427"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="freeEGFReceptor" initialConcentration="80000" metaid="metaid_0000054" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000054">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QX70"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="boundEGFReceptor" initialConcentration="0" metaid="metaid_0000055" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000055">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QX70"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P07522"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="freeNGFReceptor" initialConcentration="10000" metaid="metaid_0000056" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000056">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P35739"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="boundNGFReceptor" initialConcentration="0" metaid="metaid_0000057" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000057">
+	<bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P35739"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P25427"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="SosInactive" initialConcentration="120000" metaid="metaid_0000058" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000058">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ensembl/ENSRNOP00000009359"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I1"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="SosActive" initialConcentration="0" metaid="metaid_0000059" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000059">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ensembl/ENSRNOP00000009359"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I1"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="P90RskInactive" initialConcentration="120000" metaid="metaid_0000060" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000060">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I2"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63531"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="P90RskActive" initialConcentration="0" metaid="metaid_0000061" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000061">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9Z1I2"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63531"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RasInactive" initialConcentration="120000" metaid="metaid_0000062" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000062">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RasActive" initialConcentration="0" metaid="metaid_0000063" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000063">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR003577"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RasGapActive" initialConcentration="120000" constant="true" metaid="metaid_0000064" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000064">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P50904"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Raf1Inactive" initialConcentration="120000" metaid="metaid_0000065" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000065">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P11345"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Raf1Active" initialConcentration="0" metaid="metaid_0000066" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000066">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P11345"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="BRafInactive" initialConcentration="120000" metaid="metaid_0000067" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000067">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q99MC6"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="BRafActive" initialConcentration="0" metaid="metaid_0000068" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000068">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q99MC6"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="MekInactive" initialConcentration="600000" metaid="metaid_0000069" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000069">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q01986"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P36506"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="MekActive" initialConcentration="0" metaid="metaid_0000070" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000070">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q01986"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P36506"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="ErkInactive" initialConcentration="600000" metaid="metaid_0000071" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000071">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P21708"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P63086"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="ErkActive" initialConcentration="0" metaid="metaid_0000072" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000072">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P21708"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P63086"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PI3KInactive" initialConcentration="120000" metaid="metaid_0000073" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000073">
+              <bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR015433"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005942"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PI3KActive" initialConcentration="0" metaid="metaid_0000074" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000074">
+              <bqbiol:hasPart>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/interpro/IPR015433"/>
+	</rdf:Bag>
+	</bqbiol:hasPart>
+	
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0005942"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="AktInactive" initialConcentration="120000" metaid="metaid_0000075" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000075">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47196"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47197"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63484"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="AktActive" initialConcentration="0" metaid="metaid_0000076" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000076">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47196"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47197"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q63484"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="C3GInactive" initialConcentration="120000" metaid="metaid_0000077" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000077">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QYV3"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="C3GActive" initialConcentration="0" metaid="metaid_0000078" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000078">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q9QYV3"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Rap1Inactive" initialConcentration="120000" metaid="metaid_0000079" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000079">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P10113"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q62636"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Rap1Active" initialConcentration="0" metaid="metaid_0000080" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000080">
+	<bqbiol:hasVersion>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P10113"/>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/Q62636"/>
+	</rdf:Bag>
+	</bqbiol:hasVersion>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="RapGapActive" initialConcentration="120000" constant="true" metaid="metaid_0000081" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000081">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/uniprot/P47736"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="PP2AActive" initialConcentration="120000" constant="true" metaid="metaid_0000082" compartment="cell">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000082">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000159"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+            </species>
+      <species id="Raf1PPtase" initialConcentration="120000" constant="true" metaid="metaid_0000083" compartment="cell"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="krbEGF" metaid="metaid_0000003" value="2.18503E-5"/>
+      <parameter id="kruEGF" metaid="metaid_0000004" value="0.0121008"/>
+      <parameter id="krbNGF" metaid="metaid_0000005" value="1.38209E-7"/>
+      <parameter id="kruNGF" metaid="metaid_0000006" value="0.00723811"/>
+      <parameter id="kEGF" metaid="metaid_0000007" value="694.731"/>
+      <parameter id="KmEGF" metaid="metaid_0000008" value="6086070"/>
+      <parameter id="kNGF" metaid="metaid_0000009" value="389.428"/>
+      <parameter id="KmNGF" metaid="metaid_0000010" value="2112.66"/>
+      <parameter id="kdSos" metaid="metaid_0000011" value="1611.97"/>
+      <parameter id="KmdSos" metaid="metaid_0000012" value="896896"/>
+      <parameter id="kSos" metaid="metaid_0000013" value="32.344"/>
+      <parameter id="KmSos" metaid="metaid_0000014" value="3.59543E4"/>
+      <parameter id="kRasGap" metaid="metaid_0000015" value="1509.36"/>
+      <parameter id="KmRasGap" metaid="metaid_0000016" value="1432410"/>
+      <parameter id="kRasToRaf1" metaid="metaid_0000017" value="0.884096"/>
+      <parameter id="KmRasToRaf1" metaid="metaid_0000018" value="6.24646E4"/>
+      <parameter id="kpRaf1" metaid="metaid_0000019" value="185.759"/>
+      <parameter id="KmpRaf1" metaid="metaid_0000020" value="4768350"/>
+      <parameter id="kpBRaf" metaid="metaid_0000021" value="125.089"/>
+      <parameter id="KmpBRaf" metaid="metaid_0000022" value="157948"/>
+      <parameter id="kdMek" metaid="metaid_0000023" value="2.83243"/>
+      <parameter id="KmdMek" metaid="metaid_0000024" value="518753"/>
+      <parameter id="kpMekCytoplasmic" metaid="metaid_0000025" value="9.85367"/>
+      <parameter id="KmpMekCytoplasmic" metaid="metaid_0000026" value="1007340"/>
+      <parameter id="kdErk" metaid="metaid_0000027" value="8.8912"/>
+      <parameter id="KmdErk" metaid="metaid_0000028" value="3496490"/>
+      <parameter id="kpP90Rsk" metaid="metaid_0000029" value="0.0213697"/>
+      <parameter id="KmpP90Rsk" metaid="metaid_0000030" value="763523"/>
+      <parameter id="kPI3K" metaid="metaid_0000031" value="10.6737"/>
+      <parameter id="KmPI3K" metaid="metaid_0000032" value="184912"/>
+      <parameter id="kPI3KRas" metaid="metaid_0000033" value="0.0771067"/>
+      <parameter id="KmPI3KRas" metaid="metaid_0000034" value="272056"/>
+      <parameter id="kAkt" metaid="metaid_0000035" value="0.0566279"/>
+      <parameter id="KmAkt" metaid="metaid_0000036" value="653951"/>
+      <parameter id="kdRaf1ByAkt" metaid="metaid_0000037" value="15.1212"/>
+      <parameter id="KmRaf1ByAkt" metaid="metaid_0000038" value="119355"/>
+      <parameter id="kC3GNGF" metaid="metaid_0000039" value="146.912"/>
+      <parameter id="KmC3GNGF" metaid="metaid_0000040" value="1.28762E4"/>
+      <parameter id="kC3G" metaid="metaid_0000041" value="1.40145"/>
+      <parameter id="KmC3G" metaid="metaid_0000042" value="1.09656E4"/>
+      <parameter id="kRapGap" metaid="metaid_0000043" value="27.265"/>
+      <parameter id="KmRapGap" metaid="metaid_0000044" value="295990"/>
+      <parameter id="kRap1ToBRaf" metaid="metaid_0000045" value="2.20995"/>
+      <parameter id="KmRap1ToBRaf" metaid="metaid_0000046" value="1025460"/>
+      <parameter id="kdRaf1" metaid="metaid_0000047" value="0.126329"/>
+      <parameter id="KmdRaf1" metaid="metaid_0000048" value="1061.71"/>
+      <parameter id="kdBRaf" metaid="metaid_0000049" value="441.287"/>
+      <parameter id="KmdBRaf" metaid="metaid_0000050" value="10879500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="EGFBindingReaction" name="EGF binding" metaid="metaid_0000084" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000084">
+              <bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0048408"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0045741"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="EGF" metaid="_915707"/>
+          <speciesReference species="freeEGFReceptor" metaid="_915719"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="boundEGFReceptor" metaid="_915730"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915743">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <ci> krbEGF </ci>
+              <ci> EGF </ci>
+              <ci> freeEGFReceptor </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="EGFUnbindingReaction" name="EFG unbinding" metaid="metaid_0000085" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000085">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0007175"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="boundEGFReceptor" metaid="_915755"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="EGF" metaid="_915767"/>
+          <speciesReference species="freeEGFReceptor" metaid="_915779"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915791">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <ci> kruEGF </ci>
+              <ci> boundEGFReceptor </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="NGFBindingReaction" name="NGF binding" metaid="metaid_0000086" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000086">
+              <bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051396"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0048406"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="NGF" metaid="_915803"/>
+          <speciesReference species="freeNGFReceptor" metaid="_915816"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="boundNGFReceptor" metaid="_915828"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915840">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> krbNGF </ci>
+              <ci> NGF </ci>
+              <ci> freeNGFReceptor </ci>
+              <ci> cell </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="NGFUnbindingReaction" name="NGF unbinding" metaid="metaid_0000087" reversible="false">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000087">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0051395"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="boundNGFReceptor" metaid="_915852"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="NGF" metaid="_915864"/>
+          <speciesReference species="freeNGFReceptor" metaid="_915876"/>
+        </listOfProducts>
+        <kineticLaw metaid="_915888">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> kruNGF </ci>
+              <ci> boundNGFReceptor </ci>
+              <ci> cell </ci>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="SosActivationByEGFReaction" name="SOS activation by EGF" metaid="metaid_0000088">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000088">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004716"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="SosInactive" metaid="_915900"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="SosActive" metaid="_915912"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundEGFReceptor" metaid="_915924"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_915936">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kEGF </ci>
+                  <ci> boundEGFReceptor </ci>
+                  <ci> SosInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> SosInactive </ci>
+                  <ci> KmEGF </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="SosActivationByNGFReaction" name="SOS activation by NGF" metaid="metaid_0000089">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000089">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004716"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="SosInactive" metaid="_915948"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="SosActive" metaid="_915960"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundNGFReceptor" metaid="_915972"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_915984">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kNGF </ci>
+                  <ci> boundNGFReceptor </ci>
+                  <ci> SosInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> SosInactive </ci>
+                  <ci> KmNGF </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="SosDeactivationReaction" name="SOS deactivation" metaid="metaid_0000090">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000090">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="SosActive" metaid="_915996"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="SosInactive" metaid="_916008"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="P90RskActive" metaid="_916020"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916032">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdSos </ci>
+                  <ci> P90RskActive </ci>
+                  <ci> SosActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> SosActive </ci>
+                  <ci> KmdSos </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="RasActivationReaction" name="Ras activation" metaid="metaid_0000091">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000091">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0046579"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RasInactive" metaid="_916044"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RasActive" metaid="_916056"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="SosActive" metaid="_916068"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916080">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kSos </ci>
+                  <ci> SosActive </ci>
+                  <ci> RasInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> RasInactive </ci>
+                  <ci> KmSos </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="RasDeactivationReaction" name="Ras deactivation" metaid="metaid_0000092">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000092">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0046580"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="RasActive" metaid="_916092"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="RasInactive" metaid="_916104"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RasGapActive" metaid="_916116"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916128">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRasGap </ci>
+                  <ci> RasGapActive </ci>
+                  <ci> RasActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> RasActive </ci>
+                  <ci> KmRasGap </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Raf1ByRasActivationReaction" name="Raf1 activation by Ras" metaid="metaid_0000093">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000093">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Raf1Inactive" metaid="_916140"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Raf1Active" metaid="_916152"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RasActive" metaid="_916164"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916176">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRasToRaf1 </ci>
+                  <ci> RasActive </ci>
+                  <ci> Raf1Inactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Raf1Inactive </ci>
+                  <ci> KmRasToRaf1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="MekbyRaf1ActivationReaction" name="Mek activation by Raf1" metaid="metaid_0000094">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000094">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000186"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MekInactive" metaid="_916188"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MekActive" metaid="_916200"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Raf1Active" metaid="_916212"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916224">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpRaf1 </ci>
+                  <ci> Raf1Active </ci>
+                  <ci> MekInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> MekInactive </ci>
+                  <ci> KmpRaf1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="MekbyBRafActivationReaction" name="Mek activation by B-Raf" metaid="metaid_0000095">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000095">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004709"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000186"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MekInactive" metaid="_916236"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MekActive" metaid="_916248"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="BRafActive" metaid="_916260"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916272">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpBRaf </ci>
+                  <ci> BRafActive </ci>
+                  <ci> MekInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> MekInactive </ci>
+                  <ci> KmpBRaf </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="ErkActivationReaction" name="Erk activation" metaid="metaid_0000096">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000096">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000187"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004708"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="ErkInactive" metaid="_916284"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="ErkActive" metaid="_916296"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="MekActive" metaid="_916308"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916320">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpMekCytoplasmic </ci>
+                  <ci> MekActive </ci>
+                  <ci> ErkInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> ErkInactive </ci>
+                  <ci> KmpMekCytoplasmic </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="MekDeactivationReaction" name="Mek deactivation" metaid="metaid_0000097">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000097">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="MekActive" metaid="_916332"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="MekInactive" metaid="_916344"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="PP2AActive" metaid="_916356"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916368">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdMek </ci>
+                  <ci> PP2AActive </ci>
+                  <ci> MekActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> MekActive </ci>
+                  <ci> KmdMek </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="ErkDeactivationReaction" name="Erk deactivation" metaid="metaid_0000098">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000098">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000188"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="ErkActive" metaid="_916380"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="ErkInactive" metaid="_916392"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="PP2AActive" metaid="_916404"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916416">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdErk </ci>
+                  <ci> PP2AActive </ci>
+                  <ci> ErkActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> ErkActive </ci>
+                  <ci> KmdErk </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Raf1byPPtaseDeactivationReaction" name="Raf1 deactivation by PPase" metaid="metaid_0000099">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000099">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Raf1Active" metaid="_916428"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Raf1Inactive" metaid="_916440"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Raf1PPtase" metaid="_916452"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916464">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdRaf1 </ci>
+                  <ci> Raf1PPtase </ci>
+                  <ci> Raf1Active </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Raf1Active </ci>
+                  <ci> KmdRaf1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="P90RskActivationReaction" name="P90Rsk activation" metaid="metaid_0000100">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000100">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004707"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="P90RskInactive" metaid="_916476"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P90RskActive" metaid="_916488"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="ErkActive" metaid="_916500"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916512">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kpP90Rsk </ci>
+                  <ci> ErkActive </ci>
+                  <ci> P90RskInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> P90RskInactive </ci>
+                  <ci> KmpP90Rsk </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="PI3KbyEGFRActivationReaction" name="PI3K activation by EGFR" metaid="metaid_0000101">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000101">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PI3KInactive" metaid="_916524"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PI3KActive" metaid="_916536"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundEGFReceptor" metaid="_916548"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916560">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kPI3K </ci>
+                  <ci> boundEGFReceptor </ci>
+                  <ci> PI3KInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> PI3KInactive </ci>
+                  <ci> KmPI3K </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="PI3KbyRasActivationReaction" name="PI3K activation by Ras" metaid="metaid_0000102">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000102">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0008349"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="PI3KInactive" metaid="_916572"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="PI3KActive" metaid="_916584"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RasActive" metaid="_916596"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916608">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kPI3KRas </ci>
+                  <ci> RasActive </ci>
+                  <ci> PI3KInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> PI3KInactive </ci>
+                  <ci> KmPI3KRas </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="AktActivationReaction" name="Akt activation" metaid="metaid_0000103">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000103">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0045860"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="AktInactive" metaid="_916620"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="AktActive" metaid="_916632"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="PI3KActive" metaid="_916644"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916656">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kAkt </ci>
+                  <ci> PI3KActive </ci>
+                  <ci> AktInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> AktInactive </ci>
+                  <ci> KmAkt </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Raf1ByAktDeactivationReaction" name="Raf1 deactivation by Akt" metaid="metaid_0000104">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000104">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Raf1Active" metaid="_916669"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Raf1Inactive" metaid="_916681"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="AktActive" metaid="_916693"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916705">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdRaf1ByAkt </ci>
+                  <ci> AktActive </ci>
+                  <ci> Raf1Active </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Raf1Active </ci>
+                  <ci> KmRaf1ByAkt </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="C3GActivationReaction" name="C3G activation" metaid="metaid_0000105">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000105">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0004716"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="C3GInactive" metaid="_916717"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C3GActive" metaid="_916729"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="boundNGFReceptor" metaid="_916741"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916753">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kC3GNGF </ci>
+                  <ci> boundNGFReceptor </ci>
+                  <ci> C3GInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> C3GInactive </ci>
+                  <ci> KmC3GNGF </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Rap1ActivationReaction" name="Rap1 activation" metaid="metaid_0000106">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000106">
+	<bqbiol:is>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0046582"/>
+	</rdf:Bag>
+	</bqbiol:is>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="Rap1Inactive" metaid="_916765"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Rap1Active" metaid="_916777"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="C3GActive" metaid="_916789"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916801">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kC3G </ci>
+                  <ci> C3GActive </ci>
+                  <ci> Rap1Inactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Rap1Inactive </ci>
+                  <ci> KmC3G </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="Rap1DeactivationReaction" name="Rap1 deactivation" metaid="metaid_0000107">
+        <listOfReactants>
+          <speciesReference species="Rap1Active" metaid="_916814"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Rap1Inactive" metaid="_916826"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="RapGapActive" metaid="_916838"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916850">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRapGap </ci>
+                  <ci> RapGapActive </ci>
+                  <ci> Rap1Active </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> Rap1Active </ci>
+                  <ci> KmRapGap </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="BRafByRap1ActivationReaction" name="BRaf activation by Rap1" metaid="metaid_0000108">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000108">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/2.7.1.37"/>
+	<rdf:li rdf:resource="http://identifiers.org/go/GO:0000185"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="BRafInactive" metaid="_916862"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="BRafActive" metaid="_916874"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Rap1Active" metaid="_916886"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916898">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kRap1ToBRaf </ci>
+                  <ci> Rap1Active </ci>
+                  <ci> BRafInactive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> BRafInactive </ci>
+                  <ci> KmRap1ToBRaf </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+      <reaction id="BRafbyPPtaseDeactivationReaction" name="BRaf deactivation by PPase" metaid="metaid_0000109">
+        <annotation>
+	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+	<rdf:Description rdf:about="#metaid_0000109">
+	<bqbiol:isVersionOf>
+	<rdf:Bag>
+	<rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.3.16"/>
+	</rdf:Bag>
+	</bqbiol:isVersionOf>
+	</rdf:Description>
+	</rdf:RDF>
+	</annotation>
+              <listOfReactants>
+          <speciesReference species="BRafActive" metaid="_916911"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="BRafInactive" metaid="_916924"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="Raf1PPtase" metaid="_916937"/>
+        </listOfModifiers>
+        <kineticLaw metaid="_916949">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">          
+            <apply>
+              <times/>
+              <ci> cell </ci>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> kdBRaf </ci>
+                  <ci> Raf1PPtase </ci>
+                  <ci> BRafActive </ci>
+                </apply>
+                <apply>
+                  <plus/>
+                  <ci> BRafActive </ci>
+                  <ci> KmdBRaf </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+                </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/data/sosbench/33/33-settings.txt b/data/sosbench/33/33-settings.txt
new file mode 100644
index 0000000..2207bc0
--- /dev/null
+++ b/data/sosbench/33/33-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 60
+steps: 60
+variables:  EGF, NGF, freeEGFReceptor, boundEGFReceptor, freeNGFReceptor, boundNGFReceptor, SosInactive, SosActive, P90RskInactive, P90RskActive, RasInactive, RasActive, RasGapActive, Raf1Inactive, Raf1Active, BRafInactive, BRafActive, MekInactive, MekActive, ErkInactive, ErkActive, PI3KInactive, PI3KActive, AktInactive, AktActive, C3GInactive, C3GActive, Rap1Inactive, Rap1Active, RapGapActive, PP2AActive, Raf1PPtase
+absolute: 1.0e-4
+relative: 1.0e-9
+amount: 
+concentration: EGF, NGF, freeEGFReceptor, boundEGFReceptor, freeNGFReceptor, boundNGFReceptor, SosInactive, SosActive, P90RskInactive, P90RskActive, RasInactive, RasActive, RasGapActive, Raf1Inactive, Raf1Active, BRafInactive, BRafActive, MekInactive, MekActive, ErkInactive, ErkActive, PI3KInactive, PI3KActive, AktInactive, AktActive, C3GInactive, C3GActive, Rap1Inactive, Rap1Active, RapGapActive, PP2AActive, Raf1PPtase
diff --git a/data/sosbench/notes.txt b/data/sosbench/notes.txt
new file mode 100644
index 0000000..b760b26
--- /dev/null
+++ b/data/sosbench/notes.txt
@@ -0,0 +1,8 @@
+# RR and COPASI test programs have the same command line args:
+time rr-sbml-benchmark /Users/andy/src/sbml_test/cases/semantic/ 00966 /dev/null 3 1 -stiff
+
+# LibSBMLSim is run like this:
+time simulateSBML -t 1000 -s 1000 -m 13 ~/src/sbml_test/cases/semantic/00966/00966-sbml-l3v1.xml
+
+# The Java one is run like:
+time java -cp SimulationCoreLibrary_v1.3_incl-libs.jar org.simulator.SBMLTestSuiteRunner /Users/andy/sosbench/ 10001 10001
diff --git a/data/sosbench/repressilator/repressilator-sbml-l2v1.xml b/data/sosbench/repressilator/repressilator-sbml-l2v1.xml
new file mode 100644
index 0000000..3c9804f
--- /dev/null
+++ b/data/sosbench/repressilator/repressilator-sbml-l2v1.xml
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" version="1">
+  <model id="MayLeonardRepressilator">
+    <listOfCompartments>
+      <compartment id="compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="boundary" compartment="compartment" initialAmount="0" boundaryCondition="true"/>
+      <species id="x1" compartment="compartment" initialAmount="1"/>
+      <species id="x2" compartment="compartment" initialAmount="1"/>
+      <species id="x3" compartment="compartment" initialAmount="0.1"/>
+      <species id="y1" compartment="compartment" initialAmount="1"/>
+      <species id="y2" compartment="compartment" initialAmount="0.1"/>
+      <species id="y3" compartment="compartment" initialAmount="0.1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="alpha" value="2"/>
+      <parameter id="beta" value="1"/>
+      <parameter id="rho" value="3.8"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="r1">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="x1"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="y1"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> beta </ci>
+            <apply>
+              <minus/>
+              <ci> y1 </ci>
+              <ci> x1 </ci>
+            </apply>
+          </apply>
+        </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r2">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="x2"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="y2"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> beta </ci>
+            <apply>
+              <minus/>
+              <ci> y2 </ci>
+              <ci> x2 </ci>
+            </apply>
+          </apply>
+        </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="r3">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="x3"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="y3"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> beta </ci>
+            <apply>
+              <minus/>
+              <ci> y3 </ci>
+              <ci> x3 </ci>
+            </apply>
+          </apply>
+        </math>
+        </kineticLaw>
+        </reaction>
+        <reaction id="r4">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="y1"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="x1"/>
+		<modifierSpeciesReference species="x3"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> alpha </ci>
+                <ci> x1 </ci>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> x1 </ci>
+                <apply>
+                  <times/>
+                  <ci> rho </ci>
+                  <ci> x3 </ci>
+                </apply>
+              </apply>
+            </apply>
+            <ci> y1 </ci>
+          </apply>
+        </math>
+      </kineticLaw>
+      </reaction>
+      <reaction id="r5">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="y2"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="x1"/>
+		<modifierSpeciesReference species="x2"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> alpha </ci>
+                <ci> x2 </ci>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> x2 </ci>
+                <apply>
+                  <times/>
+                  <ci> rho </ci>
+                  <ci> x1 </ci>
+                </apply>
+              </apply>
+            </apply>
+            <ci> y2 </ci>
+          </apply>
+        </math>
+       </kineticLaw>
+       </reaction>
+       <reaction id="r6">
+        <listOfReactants>
+		<speciesReference species="boundary"/>
+        </listOfReactants>
+        <listOfProducts>
+		<speciesReference species="y3"/>
+        </listOfProducts>
+        <listOfModifiers>
+		<modifierSpeciesReference species="x2"/>
+		<modifierSpeciesReference species="x3"/>
+        </listOfModifiers>
+        <kineticLaw>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> alpha </ci>
+                <ci> x3 </ci>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> x3 </ci>
+                <apply>
+                  <times/>
+                  <ci> rho </ci>
+                  <ci> x2 </ci>
+                </apply>
+              </apply>
+            </apply>
+            <ci> y3 </ci>
+          </apply>
+        </math>
+       </kineticLaw>
+       </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/data/sosbench/repressilator/repressilator-settings.txt b/data/sosbench/repressilator/repressilator-settings.txt
new file mode 100644
index 0000000..65a80fd
--- /dev/null
+++ b/data/sosbench/repressilator/repressilator-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 100000
+steps: 100000
+variables:  x1, x2, x3, y1, y2, y3
+absolute: 1.0e-4
+relative: 1.0e-9
+amount: 
+concentration: x1, x2, x3, y1, y2, y3
+
diff --git a/docs/css/default.css b/docs/css/default.css
new file mode 100644
index 0000000..222165e
--- /dev/null
+++ b/docs/css/default.css
@@ -0,0 +1,256 @@
+/*
+ * default.css_t
+ * ~~~~~~~~~~~~~
+ *
+ * Sphinx stylesheet -- default theme.
+ *
+ * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+ at import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+    font-family: sans-serif;
+    font-size: 100%;
+    background-color: #FFFFFF;
+    color: #000;
+    margin: 0;
+    padding: 0;
+}
+
+div.document {
+    background-color: #1c4e63;
+}
+
+div.documentwrapper {
+    float: left;
+    width: 100%;
+}
+
+div.bodywrapper {
+    margin: 0 0 0 230px;
+}
+
+div.body {
+    background-color: #ffffff;
+    color: #000000;
+    padding: 0 20px 30px 20px;
+}
+
+div.footer {
+    color: #ffffff;
+    width: 100%;
+    padding: 9px 0 9px 0;
+    text-align: center;
+    font-size: 75%;
+}
+
+div.footer a {
+    color: #ffffff;
+    text-decoration: underline;
+}
+
+div.related {
+    background-color: #133f52;
+    line-height: 30px;
+    color: #ffffff;
+}
+
+div.related a {
+    color: #ffffff;
+}
+
+div.sphinxsidebar {
+}
+
+div.sphinxsidebar h3 {
+    font-family: 'Trebuchet MS', sans-serif;
+    color: #ffffff;
+    font-size: 1.4em;
+    font-weight: normal;
+    margin: 0;
+    padding: 0;
+}
+
+div.sphinxsidebar h3 a {
+    color: #ffffff;
+}
+
+div.sphinxsidebar h4 {
+    font-family: 'Trebuchet MS', sans-serif;
+    color: #ffffff;
+    font-size: 1.3em;
+    font-weight: normal;
+    margin: 5px 0 0 0;
+    padding: 0;
+}
+
+div.sphinxsidebar p {
+    color: #ffffff;
+}
+
+div.sphinxsidebar p.topless {
+    margin: 5px 10px 10px 10px;
+}
+
+div.sphinxsidebar ul {
+    margin: 10px;
+    padding: 0;
+    color: #ffffff;
+}
+
+div.sphinxsidebar a {
+    color: #98dbcc;
+}
+
+div.sphinxsidebar input {
+    border: 1px solid #98dbcc;
+    font-family: sans-serif;
+    font-size: 1em;
+}
+
+
+
+/* -- hyperlink styles ------------------------------------------------------ */
+
+a {
+    color: #355f7c;
+    text-decoration: none;
+}
+
+a:visited {
+    color: #355f7c;
+    text-decoration: none;
+}
+
+a:hover {
+    text-decoration: underline;
+}
+
+
+
+/* -- body styles ----------------------------------------------------------- */
+
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+    font-family: 'Trebuchet MS', sans-serif;
+    background-color: #f2f2f2;
+    font-weight: normal;
+    color: #20435c;
+    border-bottom: 1px solid #ccc;
+    margin: 20px -20px 10px -20px;
+    padding: 3px 0 3px 10px;
+}
+
+div.body h1 { margin-top: 0; font-size: 200%; }
+div.body h2 { font-size: 160%; }
+div.body h3 { font-size: 140%; }
+div.body h4 { font-size: 120%; }
+div.body h5 { font-size: 110%; }
+div.body h6 { font-size: 100%; }
+
+a.headerlink {
+    color: #c60f0f;
+    font-size: 0.8em;
+    padding: 0 4px 0 4px;
+    text-decoration: none;
+}
+
+a.headerlink:hover {
+    background-color: #c60f0f;
+    color: white;
+}
+
+div.body p, div.body dd, div.body li {
+    text-align: justify;
+    line-height: 130%;
+}
+
+div.admonition p.admonition-title + p {
+    display: inline;
+}
+
+div.admonition p {
+    margin-bottom: 5px;
+}
+
+div.admonition pre {
+    margin-bottom: 5px;
+}
+
+div.admonition ul, div.admonition ol {
+    margin-bottom: 5px;
+}
+
+div.note {
+    background-color: #eee;
+    border: 1px solid #ccc;
+}
+
+div.seealso {
+    background-color: #ffc;
+    border: 1px solid #ff6;
+}
+
+div.topic {
+    background-color: #eee;
+}
+
+div.warning {
+    background-color: #ffe4e4;
+    border: 1px solid #f66;
+}
+
+p.admonition-title {
+    display: inline;
+}
+
+p.admonition-title:after {
+    content: ":";
+}
+
+pre {
+    padding: 5px;
+    background-color: #eeffcc;
+    color: #333333;
+    line-height: 120%;
+    border: 1px solid #ac9;
+    border-left: none;
+    border-right: none;
+}
+
+tt {
+    background-color: #ecf0f3;
+    padding: 0 1px 0 1px;
+    font-size: 0.95em;
+}
+
+th {
+    background-color: #ede;
+}
+
+.warning tt {
+    background: #efc2c2;
+}
+
+.note tt {
+    background: #d6d6d6;
+}
+
+.viewcode-back {
+    font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+    background-color: #f4debf;
+    border-top: 1px solid #ac9;
+    border-bottom: 1px solid #ac9;
+}
diff --git a/docs/css/genericons.css b/docs/css/genericons.css
new file mode 100644
index 0000000..5a36281
--- /dev/null
+++ b/docs/css/genericons.css
@@ -0,0 +1,194 @@
+/**
+
+	Genericons Helper CSS
+
+*/
+
+
+/**
+ * The font was graciously generated by Font Squirrel (http://www.fontsquirrel.com). We love those guys.
+ */
+
+ at font-face {
+    font-family: 'Genericons';
+    src: url('font/genericons-regular-webfont.eot');
+}
+
+ at font-face {
+    font-family: 'Genericons';
+    src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAACs4AA4AAAAARowAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcaW/Oz0dERUYAAAFgAAAAHQAAACAAqwAET1MvMgAAAYAAAABCAAAAYFFfaIVjbWFwAAABxAAAAJcAAAGyqWOQYWdhc3AAAAJcAAAACAAAAAgAAAAQZ2x5ZgAAAmQAACOsAAA47IE+VnJoZWFkAAAmEAAAACsAAAA2BFJrzGhoZWEAACY8AAAAHAAAACQQAwfdaG10eAAAJlgAAACGAAABBlHsRCBsb2NhAAAm4AAAAP4AAAD+AbXzmG1heHAAACfgAAAAHgAAACAA0ADAbmFtZQAAKAAAAAFhAAAC2ELRXhRwb3N0AAApZAAAAcwAAAT2hTWbEXdlYmYAACswAAAABgAAAAZeqFJ [...]
+         url('font/genericons-regular-webfont.ttf') format('truetype'),
+         url('font/genericons-regular-webfont.svg#genericonsregular') format('svg');
+    font-weight: normal;
+    font-style: normal;
+}
+
+
+/**
+ * All Genericons
+ */
+
+.genericon {
+	display: inline-block;
+	width: 16px;
+	height: 16px;
+	-webkit-font-smoothing: antialiased;
+	font-size: 16px;
+	line-height: 1;
+	font-family: 'Genericons';
+	text-decoration: inherit;
+	font-weight: normal;
+	font-style: normal;
+	vertical-align: top;
+}
+
+/**
+ * IE7 and IE6 hacks
+ */
+
+.genericon {
+	*overflow: auto;
+	*zoom: 1;
+	*display: inline;
+}
+
+/**
+ * Individual icons
+ */
+
+/* Post formats */
+.genericon-standard:before {        content: '\f100'; }
+.genericon-aside:before {           content: '\f101'; }
+.genericon-image:before {           content: '\f102'; }
+.genericon-gallery:before {         content: '\f103'; }
+.genericon-video:before {           content: '\f104'; }
+.genericon-status:before {          content: '\f105'; }
+.genericon-quote:before {           content: '\f106'; }
+.genericon-link:before {            content: '\f107'; }
+.genericon-chat:before {            content: '\f108'; }
+.genericon-audio:before {           content: '\f109'; }
+
+/* Social icons */
+.genericon-github:before {          content: '\f200'; }
+.genericon-dribbble:before {        content: '\f201'; }
+.genericon-twitter:before {         content: '\f202'; }
+.genericon-facebook:before {        content: '\f203'; }
+.genericon-facebook-alt:before {    content: '\f204'; }
+.genericon-wordpress:before {       content: '\f205'; }
+.genericon-googleplus:before {      content: '\f206'; }
+.genericon-linkedin:before {        content: '\f207'; }
+.genericon-linkedin-alt:before {    content: '\f208'; }
+.genericon-pinterest:before {       content: '\f209'; }
+.genericon-pinterest-alt:before {   content: '\f210'; }
+.genericon-flickr:before {          content: '\f211'; }
+.genericon-vimeo:before {           content: '\f212'; }
+.genericon-youtube:before {         content: '\f213'; }
+.genericon-tumblr:before {          content: '\f214'; }
+.genericon-instagram:before {       content: '\f215'; }
+.genericon-codepen:before {         content: '\f216'; }
+.genericon-polldaddy:before {       content: '\f217'; }
+.genericon-googleplus-alt:before {  content: '\f218'; }
+.genericon-path:before {            content: '\f219'; }
+.genericon-skype:before {           content: '\f220'; }
+.genericon-digg:before {            content: '\f221'; }
+.genericon-reddit:before {          content: '\f222'; }
+.genericon-stumbleupon:before {     content: '\f223'; }
+.genericon-pocket:before {          content: '\f224'; }
+
+/* Meta icons */
+.genericon-comment:before {         content: '\f300'; }
+.genericon-category:before {        content: '\f301'; }
+.genericon-tag:before {             content: '\f302'; }
+.genericon-time:before {            content: '\f303'; }
+.genericon-user:before {            content: '\f304'; }
+.genericon-day:before {             content: '\f305'; }
+.genericon-week:before {            content: '\f306'; }
+.genericon-month:before {           content: '\f307'; }
+.genericon-pinned:before {          content: '\f308'; }
+
+/* Other icons */
+.genericon-search:before {          content: '\f400'; }
+.genericon-unzoom:before {          content: '\f401'; }
+.genericon-zoom:before {            content: '\f402'; }
+.genericon-show:before {            content: '\f403'; }
+.genericon-hide:before {            content: '\f404'; }
+.genericon-close:before {           content: '\f405'; }
+.genericon-close-alt:before {       content: '\f406'; }
+.genericon-trash:before {           content: '\f407'; }
+.genericon-star:before {            content: '\f408'; }
+.genericon-home:before {            content: '\f409'; }
+.genericon-mail:before {            content: '\f410'; }
+.genericon-edit:before {            content: '\f411'; }
+.genericon-reply:before {           content: '\f412'; }
+.genericon-feed:before {            content: '\f413'; }
+.genericon-warning:before {         content: '\f414'; }
+.genericon-share:before {           content: '\f415'; }
+.genericon-attachment:before {      content: '\f416'; }
+.genericon-location:before {        content: '\f417'; }
+.genericon-checkmark:before {       content: '\f418'; }
+.genericon-menu:before {            content: '\f419'; }
+.genericon-refresh:before {         content: '\f420'; }
+.genericon-minimize:before {        content: '\f421'; }
+.genericon-maximize:before {        content: '\f422'; }
+.genericon-404:before {             content: '\f423'; }
+.genericon-spam:before {            content: '\f424'; }
+.genericon-summary:before {         content: '\f425'; }
+.genericon-cloud:before {           content: '\f426'; }
+.genericon-key:before {             content: '\f427'; }
+.genericon-dot:before {             content: '\f428'; }
+.genericon-next:before {            content: '\f429'; }
+.genericon-previous:before {        content: '\f430'; }
+.genericon-expand:before {          content: '\f431'; }
+.genericon-collapse:before {        content: '\f432'; }
+.genericon-dropdown:before {        content: '\f433'; }
+.genericon-dropdown-left:before {   content: '\f434'; }
+.genericon-top:before {             content: '\f435'; }
+.genericon-draggable:before {       content: '\f436'; }
+.genericon-phone:before {           content: '\f437'; }
+.genericon-send-to-phone:before {   content: '\f438'; }
+.genericon-plugin:before {          content: '\f439'; }
+.genericon-cloud-download:before {  content: '\f440'; }
+.genericon-cloud-upload:before {    content: '\f441'; }
+.genericon-external:before {        content: '\f442'; }
+.genericon-document:before {        content: '\f443'; }
+.genericon-book:before {            content: '\f444'; }
+.genericon-cog:before {             content: '\f445'; }
+.genericon-unapprove:before {       content: '\f446'; }
+.genericon-cart:before {            content: '\f447'; }
+.genericon-pause:before {           content: '\f448'; }
+.genericon-stop:before {            content: '\f449'; }
+.genericon-skip-back:before {       content: '\f450'; }
+.genericon-skip-ahead:before {      content: '\f451'; }
+.genericon-play:before {            content: '\f452'; }
+.genericon-tablet:before {          content: '\f453'; }
+.genericon-send-to-tablet:before {  content: '\f454'; }
+.genericon-info:before {            content: '\f455'; }
+.genericon-notice:before {          content: '\f456'; }
+.genericon-help:before {            content: '\f457'; }
+.genericon-fastforward:before {     content: '\f458'; }
+.genericon-rewind:before {          content: '\f459'; }
+.genericon-portfolio:before {       content: '\f460'; }
+.genericon-heart:before {           content: '\f461'; }
+.genericon-code:before {            content: '\f462'; }
+.genericon-subscribe:before {       content: '\f463'; }
+.genericon-unsubscribe:before {     content: '\f464'; }
+.genericon-subscribed:before {      content: '\f465'; }
+.genericon-reply-alt:before {       content: '\f466'; }
+.genericon-reply-single:before {    content: '\f467'; }
+.genericon-flag:before {            content: '\f468'; }
+.genericon-print:before {           content: '\f469'; }
+.genericon-lock:before {            content: '\f470'; }
+.genericon-bold:before {            content: '\f471'; }
+.genericon-italic:before {          content: '\f472'; }
+.genericon-picture:before {         content: '\f473'; }
+
+/* Generic shapes */
+.genericon-uparrow:before {         content: '\f500'; }
+.genericon-rightarrow:before {      content: '\f501'; }
+.genericon-downarrow:before {       content: '\f502'; }
+.genericon-leftarrow:before {       content: '\f503'; }
+
+
+
+
+
diff --git a/docs/css/ie.css b/docs/css/ie.css
new file mode 100644
index 0000000..c815a14
--- /dev/null
+++ b/docs/css/ie.css
@@ -0,0 +1,284 @@
+/*
+Styles for older IE versions (previous to IE9).
+*/
+
+.site {
+	min-width: 1040px;
+}
+
+.genericon:before:hover,
+.menu-toggle:after:hover,
+.date a:before:hover,
+.entry-meta .author a:before:hover,
+.format-audio .entry-content:before:hover,
+.comments-link a:before:hover,
+.tags-links a:first-child:before:hover,
+.categories-links a:first-child:before:hover,
+.edit-link > a:before:hover,
+.attachment-meta:before:hover,
+.attachment-meta a:before:hover,
+.comment-awaiting-moderation:before:hover,
+.comment-reply-link:before:hover,
+.comment-reply-title small a:before:hover,
+.bypostauthor > .comment-body .fn:before:hover {
+	text-decoration: none;
+}
+
+.nav-menu .sub-menu ul,
+.nav-menu .children ul {
+	left: 100%;
+}
+
+.site-header .home-link {
+	max-width: 1040px;
+}
+
+.site-header .search-form [type="search"],
+.site-header .search-form [type="text"] {
+	padding-top: 6px;
+}
+
+img.alignright {
+	margin-right: 0;
+}
+
+img.alignleft {
+	margin-left: 0;
+}
+
+.site-main .sidebar-inner {
+	width: 1040px;
+}
+
+.site-main .widget-area {
+	margin-right: 60px;
+}
+
+.format-image .entry-content .size-full {
+	margin: 0;
+	max-width: 604px;
+}
+
+.gallery-columns-1 .gallery-item,
+.gallery-columns-2 .gallery-item,
+.gallery-columns-3 .gallery-item {
+	max-width: none;
+}
+
+.gallery img {
+	width: auto;
+}
+
+.gallery-caption {
+	background: #000;
+	filter: alpha(opacity=0);
+}
+
+.gallery-item:hover .gallery-caption {
+	filter: alpha(opacity=70);
+}
+
+.comment {
+	clear: both;
+}
+
+.comment-meta,
+.comment-content,
+.comment-list .reply {
+	width: 480px;
+}
+
+.depth-2 .comment-meta,
+.depth-2 .comment-content,
+.comment-list .depth-2 .reply {
+	width: 460px;
+}
+
+.depth-3 .comment-meta,
+.depth-3 .comment-content,
+.comment-list .depth-3 .reply {
+	width: 440px;
+}
+
+.depth-4 .comment-meta,
+.depth-4 .comment-content,
+.comment-list .depth-4 .reply {
+	width: 420px;
+}
+
+.depth-5 .comment-meta,
+.depth-5 .comment-content,
+.comment-list .depth-5 .reply {
+	width: 400px;
+}
+
+.comment-meta {
+	margin-bottom: 0;
+}
+
+.widget {
+	background: #f7f5e7;
+}
+
+.site-footer .widget {
+	background: none;
+}
+
+/* Internet Explorer 8 */
+.ie8 .site {
+	border: 0;
+}
+
+.ie8 img.size-full,
+.ie8 img.size-large {
+	height: auto;
+	width: auto;
+}
+
+.ie8 .sidebar .entry-header,
+.ie8 .sidebar .entry-content,
+.ie8 .sidebar .entry-summary,
+.ie8 .sidebar .entry-meta {
+	max-width: 724px;
+}
+
+.ie8 .author-info {
+	margin-left: 0;
+}
+
+.ie8 .paging-navigation .nav-previous .meta-nav {
+	padding: 5px 0 8px;
+	width: 40px;
+}
+
+.ie8 .paging-navigation .nav-next {
+	line-height: 1;
+}
+
+.ie8 .format-status .entry-content:before,
+.ie8 .format-status .entry-meta:before {
+	content: none;
+}
+
+.ie8 .site-main .widget-area {
+	margin-right: 0;
+}
+
+/* Internet Explorer 7 */
+.ie7 audio,
+.ie7 canvas,
+.ie7 video {
+	display: inline;
+	zoom: 1;
+}
+
+.ie7 legend {
+	margin-left: -7px;
+}
+
+.ie7 button,
+.ie7 input,
+.ie7 select,
+.ie7 textarea {
+	vertical-align: middle;
+}
+
+.ie7 button,
+.ie7 input[type="button"],
+.ie7 input[type="reset"],
+.ie7 input[type="submit"] {
+	overflow: visible;
+}
+
+.ie7 input[type="checkbox"],
+.ie7 input[type="radio"] {
+	height: 13px;
+	width: 13px;
+}
+
+.ie7 .screen-reader-text {
+	clip: rect(1px 1px 1px 1px); /* IE7 */
+}
+
+.ie7 .site-header {
+	position: relative;
+	z-index: 1;
+}
+
+.ie7 .main-navigation {
+	max-width: 930px;
+	padding-right: 150px;
+}
+
+.ie7 .nav-menu li a,
+.ie7 .nav-menu li {
+	display: block;
+	float: left;
+}
+
+.ie7 .nav-menu ul {
+	top: 40px;
+}
+
+.ie7 .nav-menu li ul ul {
+	left: 100%;
+	top: 0;
+}
+
+.ie7 .site-header .search-form [type="search"],
+.ie7 .site-header .search-form [type="text"] {
+	background-color: #fff;
+	border: 2px solid #c3c0ab;
+	cursor: text;
+	height: 28px;
+	outline: 0;
+	width: 150px;
+}
+
+.ie7 .entry-header,
+.ie7 .entry-content,
+.ie7 .entry-summary,
+.ie7 .entry-meta {
+	width: 604px;
+}
+
+.ie7 .format-status .entry-content,
+.ie7 .format-status .entry-meta {
+	padding-left: 60px;
+}
+
+.ie7 .sidebar .format-status .entry-content,
+.ie7 .sidebar .format-status .entry-meta {
+	padding-left: 60px;
+}
+
+.ie7 .sidebar .post-navigation .nav-links,
+.ie7 .sidebar .paging-navigation .nav-links {
+	width: 604px;
+}
+
+.ie7 .paging-navigation .meta-nav {
+	padding: 0 0 10px;
+	vertical-align: middle;
+	width: 40px;
+}
+
+.ie7 .comments-title,
+.ie7 .comment-list,
+.ie7 .comment-reply-title,
+.ie7 .comment-respond .comment-form {
+	width: 604px;
+}
+
+.ie7 .site-footer .widget-area {
+	max-width: none;
+	left: auto;
+}
+
+/* RTL for Internet Explorer 7 & 8 */
+.rtl .format-audio .entry-content:before,
+.rtl .comment-reply-link:before,
+.rtl .comment-reply-login:before {
+	-ms-filter: "FlipH";
+	filter: FlipH;
+}
\ No newline at end of file
diff --git a/docs/css/pygments.css b/docs/css/pygments.css
new file mode 100644
index 0000000..d79caa1
--- /dev/null
+++ b/docs/css/pygments.css
@@ -0,0 +1,62 @@
+.highlight .hll { background-color: #ffffcc }
+.highlight  { background: #eeffcc; }
+.highlight .c { color: #408090; font-style: italic } /* Comment */
+.highlight .err { border: 1px solid #FF0000 } /* Error */
+.highlight .k { color: #007020; font-weight: bold } /* Keyword */
+.highlight .o { color: #666666 } /* Operator */
+.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #007020 } /* Comment.Preproc */
+.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #333333 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #007020 } /* Keyword.Pseudo */
+.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #902000 } /* Keyword.Type */
+.highlight .m { color: #208050 } /* Literal.Number */
+.highlight .s { color: #4070a0 } /* Literal.String */
+.highlight .na { color: #4070a0 } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+.highlight .no { color: #60add5 } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #007020 } /* Name.Exception */
+.highlight .nf { color: #06287e } /* Name.Function */
+.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #bb60d5 } /* Name.Variable */
+.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mf { color: #208050 } /* Literal.Number.Float */
+.highlight .mh { color: #208050 } /* Literal.Number.Hex */
+.highlight .mi { color: #208050 } /* Literal.Number.Integer */
+.highlight .mo { color: #208050 } /* Literal.Number.Oct */
+.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
+.highlight .sc { color: #4070a0 } /* Literal.String.Char */
+.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
+.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
+.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
+.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
+.highlight .sx { color: #c65d09 } /* Literal.String.Other */
+.highlight .sr { color: #235388 } /* Literal.String.Regex */
+.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
+.highlight .ss { color: #517918 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
+.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
+.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
+.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/docs/css/quicklatex-format.css b/docs/css/quicklatex-format.css
new file mode 100644
index 0000000..24c3057
--- /dev/null
+++ b/docs/css/quicklatex-format.css
@@ -0,0 +1,93 @@
+/* 
+  Inline formulas format:
+  <img class="$1" src="imageURL"/>
+
+  $1 - default class ql-img-inline-formula
+  
+/* Style for <img> tag of in-text formula */
+.ql-img-inline-formula{
+	background:none !important; 
+	border:none !important;
+	padding:0px !important;
+	margin:0px  !important;
+}
+
+/* Style for the <img> tag of displayed equation */
+.ql-img-displayed-equation{
+	background:none  !important;
+	border:none  !important;
+	padding:0px  !important;
+	margin:0px   !important;
+	vertical-align:middle  !important;
+	display:inline-block  !important;	
+}
+
+/* Style for <img> tag of tikZ images */
+.ql-img-picture{
+	background:none  !important;
+	border:none  !important;
+	padding:0px  !important;
+	margin:0px  !important;
+}
+
+/* Style for <p> tag of displayed equation - align: center */
+.ql-center-displayed-equation {
+	text-align:center  !important;
+	white-space: nowrap  !important;
+	overflow:hidden  !important;
+}
+
+/* Style for <p> tag of displayed equation - align: left */
+.ql-left-displayed-equation {
+	text-align:left  !important;
+	white-space: nowrap  !important;
+	overflow:hidden  !important;
+}
+
+/* Style for <p> tag of displayed equation - align: right */
+.ql-right-displayed-equation {
+	text-align:right  !important;
+	white-space: nowrap  !important;
+	overflow:hidden  !important;
+}
+
+/* Equation numbering - align: left */
+.ql-left-eqno{
+	width:3em !important;
+    text-align:left !important;
+	float:left !important;
+	display:inline-block !important;	
+	font-size:110% !important;
+}
+
+/* Equation numbering - align: right */
+.ql-right-eqno{
+	width:3em !important;
+    text-align:right !important;
+	float:right !important;
+	display:inline-block !important;	
+	font-size:110%	!important;
+}
+
+/* <p> tikZ picture styles*/
+.ql-center-picture{
+	border:none  !important;
+	text-align:center  !important;
+	background:none !important; 
+}
+
+/* Error reporting */
+.ql-errors{
+ color: #222222;
+ font-family: Georgia,"Bitstream Charter",serif;
+ font-size: 16px;
+ border:1px solid #FF0000;
+}
+
+/* Operating mode - manual */
+.ql-manual-mode{
+	background:none;
+	border:none;
+	padding:0px;
+	margin:0px;
+}
\ No newline at end of file
diff --git a/docs/css/style.css b/docs/css/style.css
new file mode 100644
index 0000000..2fef098
--- /dev/null
+++ b/docs/css/style.css
@@ -0,0 +1,3142 @@
+/*
+Theme Name: Twenty Thirteen
+Theme URI: http://wordpress.org/themes/twentythirteen
+Author: the WordPress team
+Author URI: http://wordpress.org/
+Description: The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
+Version: 1.1
+License: GNU General Public License v2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
+Text Domain: twentythirteen
+
+This theme, like WordPress, is licensed under the GPL.
+Use it to make something cool, have fun, and share what you've learned with others.
+*/
+
+
+/**
+ * Table of Contents:
+ *
+ * 1.0 - Reset
+ * 2.0 - Repeatable Patterns
+ * 3.0 - Basic Structure
+ * 4.0 - Header
+ *   4.1 - Site Header
+ *   4.2 - Navigation
+ * 5.0 - Content
+ *   5.1 - Entry Header
+ *   5.2 - Entry Meta
+ *   5.3 - Entry Content
+ *   5.4 - Galleries
+ *   5.5 - Post Formats
+ *   5.6 - Attachments
+ *   5.7 - Post/Paging Navigation
+ *   5.8 - Author Bio
+ *   5.9 - Archives
+ *   5.10 - Search Results/No posts
+ *   5.11 - 404
+ *   5.12 - Comments
+ *   5.13 - Multisite
+ * 6.0 - Sidebar
+ *   6.1 - Widgets
+ * 7.0 - Footer
+ * 8.0 - Media Queries
+ * 9.0 - Print
+ * ----------------------------------------------------------------------------
+ */
+
+
+/**
+ * 1.0 Reset
+ *
+ * Modified from Normalize.css to provide cross-browser consistency and a smart
+ * default styling of HTML elements.
+ *
+ * @see http://git.io/normalize
+ * ----------------------------------------------------------------------------
+ */
+
+* {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing:    border-box;
+	box-sizing:         border-box;
+}
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+nav,
+section,
+summary {
+	display: block;
+}
+
+audio,
+canvas,
+video {
+	display: inline-block;
+}
+
+audio:not([controls]) {
+	display: none;
+	height: 0;
+}
+
+[hidden] {
+	display: none;
+}
+
+html {
+	font-size: 100%;
+	overflow-y: scroll;
+	-webkit-text-size-adjust: 100%;
+	-ms-text-size-adjust: 100%;
+}
+
+html,
+button,
+input,
+select,
+textarea {
+	font-family: "Source Sans Pro", Helvetica, sans-serif;
+}
+
+body {
+	color: #141412;
+	line-height: 1.5;
+	margin: 0;
+}
+
+a {
+	color: #ca3c08;
+	text-decoration: none;
+}
+
+a:visited {
+	color: #ac0404;
+}
+
+a:focus {
+	outline: thin dotted;
+}
+
+a:active,
+a:hover {
+	color: #ea9629;
+	outline: 0;
+}
+
+a:hover {
+	text-decoration: underline;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+	clear: both;
+	font-family: Bitter, Georgia, serif;
+	line-height: 1.3;
+}
+
+h1 {
+	font-size: 48px;
+	margin: 33px 0;
+}
+
+h2 {
+	font-size: 30px;
+	margin: 25px 0;
+}
+
+h3 {
+	font-size: 22px;
+	margin: 22px 0;
+}
+
+h4 {
+	font-size: 20px;
+	margin: 25px 0;
+}
+
+h5 {
+	font-size: 18px;
+	margin: 30px 0;
+}
+
+h6 {
+	font-size: 16px;
+	margin: 36px 0;
+}
+
+address {
+	font-style: italic;
+	margin: 0 0 24px;
+}
+
+abbr[title] {
+	border-bottom: 1px dotted;
+}
+
+b,
+strong {
+	font-weight: bold;
+}
+
+dfn {
+	font-style: italic;
+}
+
+mark {
+	background: #ff0;
+	color: #000;
+}
+
+p {
+	margin: 0 0 24px;
+}
+
+code,
+kbd,
+pre,
+samp {
+	font-family: monospace, serif;
+	font-size: 14px;
+	-webkit-hyphens: none;
+	-moz-hyphens:    none;
+	-ms-hyphens:     none;
+	hyphens:         none;
+}
+
+pre {
+	//background: #f5f5f5;
+	color: #666;
+	font-family: monospace;
+	font-size: 14px;
+	margin: 20px 0;
+	overflow: auto;
+	//padding: 20px;
+	white-space: pre;
+	white-space: pre-wrap;
+	word-wrap: break-word;
+}
+
+blockquote,
+q {
+	-webkit-hyphens: none;
+	-moz-hyphens:    none;
+	-ms-hyphens:     none;
+	hyphens:         none;
+	quotes: none;
+}
+
+blockquote:before,
+blockquote:after,
+q:before,
+q:after {
+	content: "";
+	content: none;
+}
+
+blockquote {
+	font-size: 18px;
+	font-style: italic;
+	font-weight: 300;
+	margin: 24px 40px;
+}
+
+blockquote blockquote {
+	margin-right: 0;
+}
+
+blockquote cite,
+blockquote small {
+	font-size: 14px;
+	font-weight: normal;
+	text-transform: uppercase;
+}
+
+blockquote em,
+blockquote i {
+	font-style: normal;
+	font-weight: 300;
+}
+
+blockquote strong,
+blockquote b {
+	font-weight: 400;
+}
+
+small {
+	font-size: smaller;
+}
+
+sub,
+sup {
+	font-size: 75%;
+	line-height: 0;
+	position: relative;
+	vertical-align: baseline;
+}
+
+sup {
+	top: -0.5em;
+}
+
+sub {
+	bottom: -0.25em;
+}
+
+dl {
+	margin: 0 20px;
+}
+
+dt {
+	font-weight: bold;
+}
+
+dd {
+	margin: 0 0 20px;
+}
+
+menu,
+ol,
+ul {
+	margin: 16px 0;
+	padding: 0 0 0 40px;
+}
+
+ul {
+	list-style-type: square;
+}
+
+nav ul,
+nav ol {
+	list-style: none;
+	list-style-image: none;
+}
+
+li > ul,
+li > ol {
+	margin: 0;
+}
+
+img {
+	-ms-interpolation-mode: bicubic;
+	border: 0;
+	vertical-align: middle;
+}
+
+svg:not(:root) {
+	overflow: hidden;
+}
+
+figure {
+	margin: 0;
+}
+
+form {
+	margin: 0;
+}
+
+fieldset {
+	border: 1px solid #c0c0c0;
+	margin: 0 2px;
+	padding: 0.35em 0.625em 0.75em;
+}
+
+legend {
+	border: 0;
+	padding: 0;
+	white-space: normal;
+}
+
+button,
+input,
+select,
+textarea {
+	font-size: 100%;
+	margin: 0;
+	max-width: 100%;
+	vertical-align: baseline;
+}
+
+button,
+input {
+	line-height: normal;
+}
+
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+	-webkit-appearance: button;
+	cursor: pointer;
+}
+
+button[disabled],
+input[disabled] {
+	cursor: default;
+}
+
+input[type="checkbox"],
+input[type="radio"] {
+	padding: 0;
+}
+
+input[type="search"] {
+	-webkit-appearance: textfield;
+	padding-right: 2px; /* Don't cut off the webkit search cancel button */
+	width: 270px;
+}
+
+input[type="search"]::-webkit-search-decoration {
+	-webkit-appearance: none;
+}
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+	border: 0;
+	padding: 0;
+}
+
+textarea {
+	overflow: auto;
+	vertical-align: top;
+}
+
+table {
+	border-bottom: 1px solid #ededed;
+	border-collapse: collapse;
+	border-spacing: 0;
+	font-size: 14px;
+	line-height: 2;
+	margin: 0 0 20px;
+	width: 100%;
+}
+
+caption,
+th,
+td {
+	font-weight: normal;
+	text-align: left;
+}
+
+caption {
+	font-size: 16px;
+	margin: 20px 0;
+}
+
+th {
+	font-weight: bold;
+	text-transform: uppercase;
+}
+
+td {
+	border-top: 1px solid #ededed;
+	padding: 6px 10px 6px 0;
+}
+
+del {
+	color: #333;
+}
+
+ins {
+	background: #fff9c0;
+	text-decoration: none;
+}
+
+hr {
+	background: url(images/dotted-line.png) repeat center top;
+	background-size: 4px 4px;
+	border: 0;
+	height: 1px;
+	margin: 0 0 24px;
+}
+
+
+/**
+ * 2.0 Repeatable Patterns
+ * ----------------------------------------------------------------------------
+ */
+
+.genericon:before,
+.menu-toggle:after,
+.featured-post:before,
+.date a:before,
+.entry-meta .author a:before,
+.format-audio .entry-content:before,
+.comments-link a:before,
+.tags-links a:first-child:before,
+.categories-links a:first-child:before,
+.edit-link a:before,
+.attachment .entry-title:before,
+.attachment-meta:before,
+.attachment-meta a:before,
+.comment-awaiting-moderation:before,
+.comment-reply-link:before,
+.comment-reply-login:before,
+.comment-reply-title small a:before,
+.bypostauthor > .comment-body .fn:before,
+.error404 .page-title:before {
+	-webkit-font-smoothing: antialiased;
+	display: inline-block;
+	font: normal 16px/1 Genericons;
+	vertical-align: text-bottom;
+}
+
+/* Clearing floats */
+.clear:after,
+.attachment .entry-header:after,
+.site-footer .widget-area:after,
+.entry-content:after,
+.page-content:after,
+.navigation:after,
+.nav-links:after,
+.gallery:after,
+.comment-form-author:after,
+.comment-form-email:after,
+.comment-form-url:after,
+.comment-body:after {
+	clear: both;
+}
+
+.clear:before,
+.clear:after,
+.attachment .entry-header:before,
+.attachment .entry-header:after,
+.site-footer .widget-area:before,
+.site-footer .widget-area:after,
+.entry-content:before,
+.entry-content:after,
+.page-content:before,
+.page-content:after,
+.navigation:before,
+.navigation:after,
+.nav-links:before,
+.nav-links:after,
+.gallery:before,
+.gallery:after,
+.comment-form-author:before,
+.comment-form-author:after,
+.comment-form-email:before,
+.comment-form-email:after,
+.comment-form-url:before,
+.comment-form-url:after,
+.comment-body:before,
+.comment-body:after {
+	content: "";
+	display: table;
+}
+
+/* Assistive text */
+.screen-reader-text {
+	clip: rect(1px, 1px, 1px, 1px);
+	position: absolute !important;
+}
+
+.screen-reader-text:focus {
+	background-color: #f1f1f1;
+	border-radius: 3px;
+	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
+	clip: auto !important;
+	color: #21759b;
+	display: block;
+	font-size: 14px;
+	font-weight: bold;
+	height: auto;
+	line-height: normal;
+	padding: 15px 23px 14px;
+	position: absolute;
+	left: 5px;
+	top: 5px;
+	text-decoration: none;
+	width: auto;
+	z-index: 100000; /* Above WP toolbar */
+}
+
+/* Form fields, general styles first. */
+button,
+input,
+textarea {
+	border: 2px solid #d4d0ba;
+	font-family: inherit;
+	padding: 5px;
+}
+
+input,
+textarea {
+	color: #141412;
+}
+
+input:focus,
+textarea:focus {
+	border: 2px solid #c3c0ab;
+	outline: 0;
+}
+
+/* Buttons */
+button,
+input[type="submit"],
+input[type="button"],
+input[type="reset"] {
+	background: #e05d22; /* Old browsers */
+	background: -webkit-linear-gradient(top, #e05d22 0%, #d94412 100%); /* Chrome 10+, Safari 5.1+ */
+	background:   linear-gradient(to bottom, #e05d22 0%, #d94412 100%); /* W3C */
+	border: none;
+	border-bottom: 3px solid #b93207;
+	border-radius: 2px;
+	color: #fff;
+	display: inline-block;
+	padding: 11px 24px 10px;
+	text-decoration: none;
+}
+
+button:hover,
+button:focus,
+input[type="submit"]:hover,
+input[type="button"]:hover,
+input[type="reset"]:hover,
+input[type="submit"]:focus,
+input[type="button"]:focus,
+input[type="reset"]:focus {
+	background: #ed6a31; /* Old browsers */
+	background: -webkit-linear-gradient(top, #ed6a31 0%, #e55627 100%); /* Chrome 10+, Safari 5.1+ */
+	background:   linear-gradient(to bottom, #ed6a31 0%, #e55627 100%); /* W3C */
+	outline: none;
+}
+
+button:active,
+input[type="submit"]:active,
+input[type="button"]:active,
+input[type="reset"]:active {
+	background: #d94412; /* Old browsers */
+	background: -webkit-linear-gradient(top, #d94412 0%, #e05d22 100%); /* Chrome 10+, Safari 5.1+ */
+	background:   linear-gradient(to bottom, #d94412 0%, #e05d22 100%); /* W3C */
+	border: none;
+	border-top: 3px solid #b93207;
+	padding: 10px 24px 11px;
+}
+
+.post-password-required input[type="submit"] {
+	padding: 7px 24px 4px;
+	vertical-align: bottom;
+}
+
+.post-password-required input[type="submit"]:active {
+	padding: 5px 24px 6px;
+}
+
+/* Placeholder text color -- selectors need to be separate to work. */
+::-webkit-input-placeholder {
+	color: #7d7b6d;
+}
+
+:-moz-placeholder {
+	color: #7d7b6d;
+}
+
+::-moz-placeholder {
+	color: #7d7b6d;
+}
+
+:-ms-input-placeholder {
+	color: #7d7b6d;
+}
+
+/*
+ * Responsive images
+ *
+ * Fluid images for posts, comments, and widgets
+ */
+.entry-content img,
+.entry-summary img,
+.comment-content img,
+.widget img,
+.wp-caption {
+	max-width: 100%;
+}
+
+/* Make sure images with WordPress-added height and width attributes are scaled correctly. */
+.entry-content img,
+.entry-summary img,
+.comment-content img[height],
+img[class*="align"],
+img[class*="wp-image-"],
+img[class*="attachment-"] {
+	height: auto;
+}
+
+img.size-full,
+img.size-large,
+img.wp-post-image {
+	height: auto;
+	max-width: 100%;
+}
+
+/* Make sure videos and embeds fit their containers. */
+embed,
+iframe,
+object,
+video {
+	max-width: 100%;
+}
+
+/* Override the Twitter embed fixed width. */
+.entry-content .twitter-tweet-rendered {
+	max-width: 100% !important;
+}
+
+/* Images */
+.alignleft {
+	float: left;
+}
+
+.alignright {
+	float: right;
+}
+
+.aligncenter {
+	display: block;
+	margin-left: auto;
+	margin-right: auto;
+}
+
+img.alignleft {
+	margin: 5px 20px 5px 0;
+}
+
+.wp-caption.alignleft {
+	margin: 5px 10px 5px 0;
+}
+
+img.alignright {
+	margin: 5px 0 5px 20px;
+}
+
+.wp-caption.alignright {
+	margin: 5px 0 5px 10px;
+}
+
+img.aligncenter {
+	margin: 5px auto;
+}
+
+img.alignnone {
+	margin: 5px 0;
+}
+
+.wp-caption .wp-caption-text,
+.entry-caption,
+.gallery-caption {
+	color: #220e10;
+	font-size: 18px;
+	font-style: italic;
+	font-weight: 300;
+}
+
+img.wp-smiley,
+.rsswidget img {
+	border: 0;
+	border-radius: 0;
+	box-shadow: none;
+	margin-bottom: 0;
+	margin-top: 0;
+	padding: 0;
+}
+
+.wp-caption.alignleft + ul,
+.wp-caption.alignleft + ol  {
+	list-style-position: inside;
+}
+
+
+/**
+ * 3.0 Basic Structure
+ * ----------------------------------------------------------------------------
+ */
+
+.site {
+	background-color: #fff;
+	border-left: 1px solid #f2f2f2;
+	border-right: 1px solid #f2f2f2;
+	margin: 0 auto;
+	max-width: 1600px;
+	width: 100%;
+}
+
+.site-main {
+	position: relative;
+}
+
+.site-main .sidebar-container {
+	height: 0;
+	position: absolute;
+	top: 40px;
+	width: 100%;
+	z-index: 1;
+}
+
+.site-main .sidebar-inner {
+	margin: 0 auto;
+	max-width: 1040px;
+}
+
+
+/**
+ * 4.0 Header
+ * ----------------------------------------------------------------------------
+ */
+
+/**
+ * 4.1 Site Header
+ * ----------------------------------------------------------------------------
+ */
+
+.site-header {
+	position: relative;
+}
+
+.site-header .home-link {
+	color: #141412;
+	display: block;
+	margin: 0 auto;
+	max-width: 1080px;
+	min-height: 230px;
+	padding: 0 20px;
+	text-decoration: none;
+	width: 100%;
+}
+
+.site-header .site-title:hover {
+	text-decoration: underline;
+}
+
+.site-title {
+	font-size: 60px;
+	font-weight: bold;
+	line-height: 1;
+	margin: 0;
+	padding: 58px 0 10px;
+}
+
+.site-description {
+	font: 300 italic 24px "Source Sans Pro", Helvetica, sans-serif;
+	margin: 0;
+}
+
+
+/**
+ * 4.2 Navigation
+ * ----------------------------------------------------------------------------
+ */
+
+.main-navigation {
+	clear: both;
+	margin: 0 auto;
+	max-width: 1080px;
+	min-height: 45px;
+	position: relative;
+}
+
+ul.nav-menu,
+div.nav-menu > ul {
+	margin: 0;
+	padding: 0 40px 0 0;
+}
+
+.nav-menu li {
+	display: inline-block;
+	position: relative;
+}
+
+.nav-menu li a {
+	color: #141412;
+	display: block;
+	font-size: 15px;
+	line-height: 1;
+	padding: 15px 20px;
+	text-decoration: none;
+}
+
+.nav-menu li:hover > a,
+.nav-menu li a:hover {
+	background-color: #220e10;
+	color: #fff;
+}
+
+/*Logo in menu*/
+.nav-menu li.menu-item-14 {
+        width: 75px; height: 31px; 
+        background: url("/wp-content/uploads/2013/11/libroadrunner_logo75_tan.png"); 
+        vertical-align:middle;
+        text-indent: -99999px;
+}
+
+.nav-menu li.menu-item-14 a:hover {
+        width: 75px; height: 31px; 
+	background: url("/wp-content/uploads/2013/11/libroadrunner_logo75.png"); 
+        vertical-align:middle;
+}
+
+.nav-menu .sub-menu,
+.nav-menu .children {
+	background-color: #220e10;
+	border: 2px solid #f7f5e7;
+	border-top: 0;
+	display: none;
+	padding: 0;
+	position: absolute;
+	left: -2px;
+	z-index: 99999;
+}
+
+.nav-menu .sub-menu ul,
+.nav-menu .children ul {
+	border-left: 0;
+	left: 100%;
+	top: 0;
+}
+
+ul.nav-menu ul a,
+.nav-menu ul ul a {
+	color: #fff;
+	margin: 0;
+	width: 200px;
+}
+
+ul.nav-menu ul a:hover,
+.nav-menu ul ul a:hover {
+	background-color: #db572f;
+}
+
+ul.nav-menu li:hover > ul,
+.nav-menu ul li:hover > ul {
+	display: block;
+}
+
+.nav-menu .current_page_item > a,
+.nav-menu .current_page_ancestor > a,
+.nav-menu .current-menu-item > a,
+.nav-menu .current-menu-ancestor > a {
+	color: #bc360a;
+	font-style: italic;
+}
+
+.menu-toggle {
+	display: none;
+}
+
+/* Navbar */
+.navbar {
+	background-color: #f7f5e7;
+	margin: 0 auto;
+	max-width: 1600px;
+	width: 100%;
+}
+
+.site-header .search-form {
+	position: absolute;
+	right: 20px;
+	top: 1px;
+}
+
+.site-header .search-field {
+	background-color: transparent;
+	background-image: url(images/search-icon.png);
+	background-position: 5px center;
+	background-repeat: no-repeat;
+	background-size: 24px 24px;
+	border: none;
+	cursor: pointer;
+	height: 37px;
+	margin: 3px 0;
+	padding: 0 0 0 34px;
+	position: relative;
+	-webkit-transition: width 400ms ease, background 400ms ease;
+	transition:         width 400ms ease, background 400ms ease;
+	width: 0;
+}
+
+.site-header .search-field:focus {
+	background-color: #fff;
+	border: 2px solid #c3c0ab;
+	cursor: text;
+	outline: 0;
+	width: 230px;
+}
+
+
+/**
+ * 5.0 Content
+ * ----------------------------------------------------------------------------
+ */
+
+.hentry {
+	padding: 40px 0;
+}
+
+.entry-header,
+.entry-content,
+.entry-summary,
+.entry-meta {
+	margin: 0 auto;
+	max-width: 604px;
+	width: 100%;
+}
+
+.sidebar .entry-header,
+.sidebar .entry-content,
+.sidebar .entry-summary,
+.sidebar .entry-meta {
+	max-width: 1040px;
+	padding: 0 376px 0 60px;
+}
+
+
+/**
+ * 5.1 Entry Header
+ * ----------------------------------------------------------------------------
+ */
+
+.sidebar .entry-header .entry-meta {
+	padding: 0;
+}
+
+.entry-thumbnail img {
+	display: block;
+	margin: 0 auto 10px;
+}
+
+.entry-header {
+	margin-bottom: 30px;
+}
+
+.entry-title {
+	font-weight: normal;
+	margin: 0 0 5px;
+}
+
+.entry-title a {
+	color: #141412;
+}
+
+.entry-title a:hover {
+	color: #ea9629;
+}
+
+.home .entry-header {
+display: none;
+}
+
+/**
+ * 5.2 Entry Meta
+ * ----------------------------------------------------------------------------
+ */
+
+.entry-meta {
+	clear: both;
+	font-size: 14px;
+}
+
+.entry-meta a {
+	color: #bc360a;
+}
+
+.entry-meta a:hover {
+	color: #bc360a;
+}
+
+.entry-meta > span {
+	margin-right: 20px;
+}
+
+.entry-meta > span:last-child {
+	margin-right: 0;
+}
+
+.featured-post:before {
+	content: "\f308";
+	margin-right: 2px;
+}
+
+.entry-meta .date a:before {
+	content: "\f303";
+}
+
+.comments-link a:before {
+	content: "\f300";
+	margin-right: 2px;
+	position: relative;
+	top: -1px;
+}
+
+.entry-meta .author a:before {
+	content: "\f304";
+	position: relative;
+	top: -1px;
+}
+
+.categories-links a:first-child:before {
+	content: "\f301";
+}
+
+.tags-links a:first-child:before {
+	content: "\f302";
+	position: relative;
+	top: -1px;
+}
+
+.edit-link a:before {
+	content: "\f411";
+	position: relative;
+	top: -1px;
+}
+
+.single-author .entry-meta .author,
+.sticky.format-standard .entry-meta .date,
+.sticky.format-audio .entry-meta .date,
+.sticky.format-chat .entry-meta .date,
+.sticky.format-image .entry-meta .date,
+.sticky.format-gallery .entry-meta .date {
+	display: none;
+}
+
+
+/**
+ * 5.3 Entry Content
+ * ----------------------------------------------------------------------------
+ */
+
+.entry-content {
+	-webkit-hyphens: auto;
+	-moz-hyphens:    auto;
+	-ms-hyphens:     auto;
+	hyphens:         auto;
+	word-wrap: break-word;
+}
+
+.entry-content a,
+.comment-content a {
+	color: #bc360a;
+}
+
+.entry-content a:hover,
+.comment-content a:hover {
+	color: #ea9629;
+}
+
+.entry-content blockquote {
+	font-size: 24px;
+}
+
+.entry-content blockquote cite,
+.entry-content blockquote small {
+	font-size: 16px;
+}
+
+.entry-content img.alignleft,
+.entry-content .wp-caption.alignleft {
+	margin-left: -60px;
+}
+
+.entry-content img.alignright,
+.entry-content .wp-caption.alignright {
+	margin-right: -60px;
+}
+
+footer.entry-meta {
+	margin-top: 24px;
+}
+
+.format-standard footer.entry-meta {
+	margin-top: 0;
+}
+
+/* Page links */
+.page-links {
+	clear: both;
+	font-size: 16px;
+	font-style: italic;
+	font-weight: normal;
+	line-height: 2.2;
+	margin: 20px 0;
+	text-transform: uppercase;
+}
+
+.page-links a,
+.page-links > span {
+	background: #fff;
+	border: 1px solid #fff;
+	padding: 5px 10px;
+	text-decoration: none;
+}
+
+.format-status .entry-content .page-links a,
+.format-gallery .entry-content .page-links a,
+.format-chat .entry-content .page-links a,
+.format-quote .entry-content .page-links a,
+.page-links a {
+	background: #e63f2a;
+	border: 1px solid #e63f2a;
+	color: #fff;
+}
+
+.format-gallery .entry-content .page-links a:hover,
+.format-audio .entry-content .page-links a:hover,
+.format-status .entry-content .page-links a:hover,
+.format-video .entry-content .page-links a:hover,
+.format-chat .entry-content .page-links a:hover,
+.format-quote .entry-content .page-links a:hover,
+.page-links a:hover {
+	background: #fff;
+	color: #e63f2a;
+}
+
+.format-status .entry-content .page-links > span,
+.format-quote .entry-content .page-links > span {
+	background: none;
+}
+
+.page-links .page-links-title {
+	background: transparent;
+	border: none;
+	margin-right: 20px;
+	padding: 0;
+}
+
+/* Mediaelements */
+.hentry .mejs-mediaelement,
+.hentry .mejs-container .mejs-controls {
+	background: #220e10;
+}
+
+.hentry .mejs-controls .mejs-time-rail .mejs-time-loaded,
+.hentry .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
+	background: #fff;
+}
+
+.hentry .mejs-controls .mejs-time-rail .mejs-time-current {
+	background: #ea9629;
+}
+
+.hentry .mejs-controls .mejs-time-rail .mejs-time-total,
+.hentry .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total {
+	background: #595959;
+}
+
+.hentry .mejs-controls .mejs-time-rail span,
+.hentry .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,
+.hentry .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
+	border-radius: 0;
+}
+
+
+/**
+ * 5.4 Galleries
+ * ----------------------------------------------------------------------------
+ */
+
+.gallery {
+	margin-bottom: 20px;
+	margin-left: -4px;
+}
+
+.gallery-item {
+	float: left;
+	margin: 0 4px 4px 0;
+	overflow: hidden;
+	position: relative;
+}
+
+.gallery-columns-1.gallery-size-medium,
+.gallery-columns-1.gallery-size-thumbnail,
+.gallery-columns-2.gallery-size-thumbnail,
+.gallery-columns-3.gallery-size-thumbnail {
+	display: table;
+	margin: 0 auto 20px;
+}
+
+.gallery-columns-1 .gallery-item,
+.gallery-columns-2 .gallery-item,
+.gallery-columns-3 .gallery-item {
+	text-align: center;
+}
+
+.gallery-columns-4 .gallery-item {
+	max-width: 23%;
+	max-width: -webkit-calc(25% - 4px);
+	max-width:         calc(25% - 4px);
+}
+
+.gallery-columns-5 .gallery-item {
+	max-width: 19%;
+	max-width: -webkit-calc(20% - 4px);
+	max-width:         calc(20% - 4px);
+}
+
+.gallery-columns-6 .gallery-item {
+	max-width: 15%;
+	max-width: -webkit-calc(16.7% - 4px);
+	max-width:         calc(16.7% - 4px);
+}
+
+.gallery-columns-7 .gallery-item {
+	max-width: 13%;
+	max-width: -webkit-calc(14.28% - 4px);
+	max-width:         calc(14.28% - 4px);
+}
+
+.gallery-columns-8 .gallery-item {
+	max-width: 11%;
+	max-width: -webkit-calc(12.5% - 4px);
+	max-width:         calc(12.5% - 4px);
+}
+
+.gallery-columns-9 .gallery-item {
+	max-width: 9%;
+	max-width: -webkit-calc(11.1% - 4px);
+	max-width:         calc(11.1% - 4px);
+}
+
+.gallery-columns-1 .gallery-item:nth-of-type(1n),
+.gallery-columns-2 .gallery-item:nth-of-type(2n),
+.gallery-columns-3 .gallery-item:nth-of-type(3n),
+.gallery-columns-4 .gallery-item:nth-of-type(4n),
+.gallery-columns-5 .gallery-item:nth-of-type(5n),
+.gallery-columns-6 .gallery-item:nth-of-type(6n),
+.gallery-columns-7 .gallery-item:nth-of-type(7n),
+.gallery-columns-8 .gallery-item:nth-of-type(8n),
+.gallery-columns-9 .gallery-item:nth-of-type(9n) {
+	margin-right: 0;
+}
+
+.gallery-caption {
+	background-color: rgba(0, 0, 0, 0.7);
+	box-sizing: border-box;
+	color: #fff;
+	font-size: 14px;
+	line-height: 1.3;
+	margin: 0;
+	max-height: 50%;
+	opacity: 0;
+	padding: 2px 8px;
+	position: absolute;
+	bottom: 0;
+	left: 0;
+	text-align: left;
+	-webkit-transition: opacity 400ms ease;
+	transition:         opacity 400ms ease;
+	width: 100%;
+}
+
+.gallery-caption:before {
+	box-shadow: 0 -10px 15px #000 inset;
+	content: "";
+	height: 100%;
+	min-height: 49px;
+	position: absolute;
+	left: 0;
+	top: 0;
+	width: 100%;
+}
+
+.gallery-item:hover .gallery-caption {
+	opacity: 1;
+}
+
+.gallery-columns-7 .gallery-caption,
+.gallery-columns-8 .gallery-caption,
+.gallery-columns-9 .gallery-caption {
+	display: none;
+}
+
+
+/**
+ * 5.5 Post Formats
+ * ----------------------------------------------------------------------------
+ */
+
+/* Aside */
+.format-aside {
+	background-color: #f7f5e7;
+}
+
+.blog .format-aside:first-of-type,
+.single .format-aside:first-of-type,
+.format-aside + .format-aside,
+.format-aside + .format-link,
+.format-link + .format-aside {
+	box-shadow: inset 0 2px 2px rgba(173, 165, 105, 0.2);
+}
+
+.format-aside .entry-meta {
+	margin-top: 0;
+}
+
+.format-aside blockquote {
+	font-size: 100%;
+	font-weight: normal;
+}
+
+.format-aside cite {
+	font-size: 100%;
+	text-transform: none;
+}
+
+.format-aside cite:before {
+	content: "\2014";
+	margin-right: 5px;
+}
+
+/* Audio */
+.format-audio {
+	background-color: #db572f;
+}
+
+.format-audio .entry-title {
+	font-size: 28px;
+	font-weight: bold;
+}
+
+.format-audio .entry-content:before {
+	content: "\f109";
+	float: left;
+	font-size: 64px;
+	position: relative;
+	top: 4px;
+}
+
+.format-audio .entry-content a,
+.format-audio .entry-meta a,
+.format-audio .entry-content a:hover,
+.format-audio .entry-meta a:hover {
+	color: #fbfaf3;
+}
+
+.format-audio .audio-content {
+	background: url(images/dotted-line.png) repeat-y left top;
+	background-size: 4px 4px;
+	float: right;
+	padding-left: 35px;
+	width: 80%;
+	width: -webkit-calc(100% - 85px);
+	width:         calc(100% - 85px);
+}
+
+.format-audio .wp-audio-shortcode {
+	height: 30px !important; /* Override mediaelement.js style */
+	margin: 20px 0;
+	max-width: 400px !important; /* Override mediaelement.js style */
+}
+
+.format-audio audio {
+	max-width: 100% !important; /* Avoid player width overflow. */
+}
+
+/* Chat */
+.format-chat {
+	background-color: #eadaa6;
+}
+
+.format-chat .entry-title {
+	font-size: 28px;
+	font-weight: bold;
+}
+
+.format-chat .entry-meta a,
+.format-chat .entry-content a {
+	color: #722d19;
+}
+
+.format-chat .entry-meta .date a:before {
+	content: "\f108";
+	margin-right: 2px;
+}
+
+.format-chat .entry-meta .author {
+	display: none;
+}
+
+.format-chat .chat {
+	margin: 0;
+}
+
+.format-chat .chat .chat-timestamp {
+	color: #722d19;
+	float: right;
+	font-size: 12px;
+	font-weight: normal;
+	margin: 5px 10px 0;
+}
+
+.format-chat .chat .fn {
+	font-style: normal;
+}
+
+/* Gallery */
+.format-gallery {
+	background-color: #fbca3c;
+}
+
+.format-gallery .entry-header {
+	margin-bottom: 15px;
+}
+
+.format-gallery .entry-title {
+	font-size: 50px;
+	font-weight: 400;
+	margin: 0;
+}
+
+.format-gallery .entry-meta a,
+.format-gallery .entry-content a {
+	color: #722d19;
+}
+
+/* Image */
+.format-image .entry-title {
+	font-size: 28px;
+	font-weight: bold;
+}
+
+.format-image .categories-links,
+.format-image .tags-links {
+	display: none;
+}
+
+/* Link */
+.format-link {
+	background-color: #f7f5e7;
+}
+
+.blog .format-link:first-of-type,
+.single .format-link:first-of-type {
+	box-shadow: inset 0 2px 2px rgba(173, 165, 105, 0.2);
+}
+
+.format-link .entry-header,
+.format-link .entry-content p:last-child {
+	margin-bottom: 0;
+}
+
+.format-link .entry-title {
+	color: #ca3c08;
+	display: inline;
+	font: 300 italic 20px "Source Sans Pro", Helvetica, sans-serif;
+	margin-right: 20px;
+}
+
+.format-link .entry-title a {
+	color: #bc360a;
+}
+
+.format-link div.entry-meta {
+	display: inline;
+}
+
+/* Quote */
+.format-quote {
+	background-color: #210d10;
+}
+
+.format-quote .entry-content,
+.format-quote .entry-meta {
+	color: #f7f5e7;
+}
+
+.format-quote .entry-content blockquote {
+	font-size: 28px;
+	margin: 0;
+}
+
+.format-quote .entry-content a,
+.format-quote .entry-meta a,
+.format-quote .linked {
+	color: #e63f2a;
+}
+
+.format-quote .entry-content cite a {
+	border-bottom: 1px dotted #fff;
+	color: #fff;
+}
+
+.format-quote .entry-content cite a:hover {
+	text-decoration: none;
+}
+
+.format-quote blockquote small,
+.format-quote blockquote cite {
+	display: block;
+	font-size: 16px;
+}
+
+.format-quote blockquote {
+	font-style: italic;
+	font-weight: 300;
+	padding-left: 75px;
+	position: relative;
+}
+
+.format-quote blockquote:before {
+	content: '\201C';
+	font-size: 140px;
+	font-weight: 400;
+	line-height: .8;
+	padding-right: 25px;
+	position: absolute;
+	left: -15px;
+	top: -3px;
+}
+
+.format-quote .entry-meta .author {
+	display: none;
+}
+
+/* Status */
+.format-status {
+	background-color: #722d19;
+	padding: 0;
+}
+
+.format-status .entry-content,
+.format-status .entry-meta {
+	padding-left: 35px;
+	position: relative;
+}
+
+.format-status .entry-content a {
+	color: #eadaa6;
+}
+
+.format-status .entry-meta a {
+	color: #f7f5e7;
+}
+
+.sidebar .format-status .entry-content,
+.sidebar .format-status .entry-meta {
+	padding-left: 95px;
+}
+
+.format-status .entry-content:before,
+.format-status .entry-meta:before {
+	background: url(images/dotted-line.png) repeat-y left bottom;
+	background-size: 4px 4px;
+	content: "";
+	display: block;
+	height: 100%;
+	position: absolute;
+	left: 10px;
+	top: 0;
+	width: 1px;
+}
+
+.sidebar .format-status .entry-content:before,
+.sidebar .format-status .entry-meta:before {
+	left: 70px;
+}
+
+.format-status .categories-links,
+.format-status .tags-links {
+	display: none;
+}
+
+/* Ensures the dots in the dot background are in lockstep. */
+.format-status .entry-meta:before {
+	background-position: left top;
+}
+
+.format-status .entry-content {
+	color: #f7f5e7;
+	font-size: 24px;
+	font-style: italic;
+	font-weight: 300;
+	padding-bottom: 30px;
+	padding-top: 40px;
+	position: relative;
+}
+
+.format-status .entry-content p:first-child:before {
+	background-color: rgba(0, 0, 0, 0.65);
+	content: "";
+	height: 3px;
+	margin-top: 13px;
+	position: absolute;
+	left: 4px;
+	width: 13px;
+}
+
+.sidebar .format-status .entry-content > p:first-child:before {
+	left: 64px;
+}
+
+.format-status .entry-content p:last-child {
+	margin-bottom: 0;
+}
+
+.format-status .entry-meta {
+	margin-top: 0;
+	padding-bottom: 40px;
+}
+
+.format-status .entry-meta .date a:before {
+	content: "\f105";
+}
+
+/* Video */
+.format-video {
+	background-color: #db572f;
+}
+
+.format-video .entry-content a,
+.format-video .entry-meta a,
+.format-video .entry-content a:hover,
+.format-video .entry-meta a:hover {
+	color: #fbfaf3;
+}
+
+.format-video .entry-title {
+	font-size: 50px;
+	font-weight: 400;
+}
+
+.format-video .entry-meta {
+	color: #220e10;
+}
+
+
+/**
+ * 5.6 Attachments
+ * ----------------------------------------------------------------------------
+ */
+
+.attachment .hentry {
+	background-color: #e8e5ce;
+	margin: 0;
+	padding: 0;
+}
+
+.attachment .entry-header {
+	margin-bottom: 0;
+	max-width: 1040px;
+	padding: 30px 0;
+}
+
+.attachment .entry-title {
+	display: inline-block;
+	float: left;
+	font: 300 italic 30px "Source Sans Pro", Helvetica, sans-serif;
+	margin: 0;
+}
+
+.attachment .entry-title:before {
+	content: "\f416";
+	font-size: 32px;
+	margin-right: 10px;
+}
+
+.attachment .entry-meta {
+	clear: none;
+	color: inherit;
+	float: right;
+	max-width: 604px;
+	padding: 9px 0 0;
+	text-align: right;
+}
+
+.hentry.attachment:not(.image-attachment) .entry-meta {
+	max-width: 104px;
+}
+
+.attachment footer.entry-meta {
+	display: none;
+}
+
+.attachment-meta:before {
+	content: "\f307";
+}
+
+.full-size-link a:before {
+	content: "\f402";
+}
+
+.full-size-link:before {
+	content: none;
+}
+
+.attachment .entry-meta a,
+.attachment .entry-meta .edit-link:before,
+.attachment .full-size-link:before {
+	color: #ca3c08;
+}
+
+.attachment .entry-content {
+	background-color: #fff;
+	max-width: 100%;
+	padding: 40px 0;
+}
+
+.image-navigation {
+	margin: 0 auto;
+	max-width: 1040px;
+	position: relative;
+}
+
+.image-navigation a:hover {
+	text-decoration: none;
+}
+
+.image-navigation .nav-previous,
+.image-navigation .nav-next {
+	position: absolute;
+	top: 50px;
+}
+
+.image-navigation .nav-previous {
+	left: 0;
+}
+
+.image-navigation .nav-next {
+	right: 0;
+}
+
+.image-navigation .meta-nav {
+	font-size: 32px;
+	font-weight: 300;
+	vertical-align: -4px;
+}
+
+.attachment .entry-attachment,
+.attachment .type-attachment p {
+	margin: 0 auto;
+	max-width: 724px;
+	text-align: center;
+}
+
+.attachment .entry-attachment .attachment {
+	display: inline-block;
+}
+
+.attachment .entry-caption {
+	text-align: left;
+}
+
+.attachment .entry-description {
+	margin: 20px auto 0;
+	max-width: 604px;
+}
+
+.attachment .entry-caption p:last-child,
+.attachment .entry-description p:last-child {
+	margin: 0;
+}
+
+.attachment .site-main .sidebar-container {
+	display: none;
+}
+
+
+/**
+ * 5.7 Post/Paging Navigation
+ * ----------------------------------------------------------------------------
+ */
+
+.navigation .nav-previous {
+	float: left;
+}
+
+.navigation .nav-next {
+	float: right;
+}
+
+.navigation a {
+	color: #bc360a;
+}
+
+.navigation a:hover {
+	color: #ea9629;
+	text-decoration: none;
+}
+
+.paging-navigation {
+	background-color: #e8e5ce;
+	padding: 40px 0;
+}
+
+.paging-navigation .nav-links {
+	margin: 0 auto;
+	max-width: 604px;
+	width: 100%;
+}
+
+.sidebar .paging-navigation .nav-links {
+	max-width: 1040px;
+	padding: 0 376px 0 60px;
+}
+
+.paging-navigation .nav-next {
+	padding: 13px 0;
+}
+
+.paging-navigation a {
+	font-size: 22px;
+	font-style: italic;
+	font-weight: 300;
+}
+
+.paging-navigation .meta-nav {
+	background-color: #e63f2a;
+	border-radius: 50%;
+	color: #fff;
+	display: inline-block;
+	font-size: 26px;
+	padding: 3px 0 8px;
+	text-align: center;
+	width: 50px;
+}
+
+.paging-navigation .nav-previous .meta-nav {
+	margin-right: 10px;
+	padding: 17px 0 23px;
+	width: 80px;
+}
+
+.paging-navigation .nav-next .meta-nav {
+	margin-left: 10px;
+}
+
+.paging-navigation a:hover .meta-nav {
+	background-color: #ea9629;
+	text-decoration: none;
+}
+
+.post-navigation {
+	background-color: #fff;
+	color: #ca3c08;
+	font-size: 20px;
+	font-style: italic;
+	font-weight: 300;
+	padding: 20px 0;
+}
+
+.post-navigation .nav-links {
+	margin: 0 auto;
+	max-width: 1040px;
+}
+
+.sidebar .post-navigation .nav-links {
+	padding: 0 376px 0 60px;
+}
+
+.post-navigation a[rel="next"] {
+	float: right;
+	text-align: right;
+}
+
+
+/**
+ * 5.8 Author Bio
+ * ----------------------------------------------------------------------------
+ */
+
+.author-info {
+	margin: 0 auto;
+	max-width: 604px;
+	padding: 30px 0 10px;
+	text-align: left; /* gallery & video post formats */
+	width: 100%;
+}
+
+.author.sidebar .author-info {
+	max-width: 1040px;
+	padding: 30px 376px 10px 60px;
+}
+
+.single .author-info {
+	padding: 50px 0 0;
+}
+
+.author-avatar .avatar {
+	float: left;
+	margin: 0 30px 30px 0;
+}
+
+.single-format-status .author-description {
+	color: #f7f5e7;
+}
+
+.author-description .author-title {
+	clear: none;
+	font: 300 italic 20px "Source Sans Pro", Helvetica, sans-serif;
+	margin: 0 0 8px;
+}
+
+.author-link {
+	color: #ca3c08;
+	margin-left: 2px;
+}
+
+.author.archive .author-link {
+	display: none;
+}
+
+
+/**
+ * 5.9 Archives
+ * ----------------------------------------------------------------------------
+ */
+
+.archive-header {
+	background-color: #e8e5ce;
+}
+
+.archive-title,
+.archive-meta {
+	font: 300 italic 30px "Source Sans Pro", Helvetica, sans-serif;
+	margin: 0 auto;
+	max-width: 1040px;
+	padding: 30px 0;
+	width: 100%;
+}
+
+.archive-meta {
+	font-size: 16px;
+	font-style: normal;
+	font-weight: normal;
+	margin-top: -15px;
+	padding: 0 0 11px;
+}
+
+.sidebar .archive-meta {
+	padding-right: 316px;
+}
+
+
+/**
+ * 5.10 Search Results/No posts
+ * ----------------------------------------------------------------------------
+ */
+
+.page-header {
+	background-color: #e8e5ce;
+}
+
+.page-title {
+	font: 300 italic 30px "Source Sans Pro", Helvetica, sans-serif;
+	margin: 0 auto;
+	max-width: 1040px;
+	padding: 30px 0;
+	width: 100%;
+}
+
+.page-content {
+	margin: 0 auto;
+	max-width: 604px;
+	padding: 40px 0;
+	width: 100%;
+}
+
+.sidebar .page-content {
+	margin: 0 auto;
+	max-width: 1040px;
+	padding: 40px 376px 40px 60px;
+}
+
+
+/**
+ * 5.11 404
+ * ----------------------------------------------------------------------------
+ */
+
+.error404 .page-header {
+	background-color: #fff;
+}
+
+.error404 .page-title {
+	line-height: 0.6;
+	margin: 0;
+	padding: 300px;
+	position: relative;
+	text-align: center;
+	width: auto;
+}
+
+.error404 .page-title:before {
+	color: #e8e5ce;
+	content: "\f423";
+	font-size: 964px;
+	line-height: 0.6;
+	overflow: hidden;
+	position: absolute;
+	left: 7px;
+	top: 28px;
+}
+
+.error404 .page-wrapper {
+	background-color: #e8e5ce;
+}
+
+.error404 .page-header,
+.error404 .page-content {
+	margin: 0 auto;
+	max-width: 1040px;
+	padding-bottom: 40px;
+	width: 100%;
+}
+
+
+/**
+ * 5.12 Comments
+ * ----------------------------------------------------------------------------
+ */
+
+.comments-title,
+.comment-list,
+.comment-reply-title,
+.must-log-in,
+.comment-respond .comment-form,
+.comment-respond iframe {
+	display: block;
+	margin-left: auto;
+	margin-right: auto;
+	max-width: 604px;
+	width: 100%;
+}
+
+.sidebar .comments-title,
+.sidebar .comment-list,
+.sidebar .must-log-in,
+.sidebar .comment-reply-title,
+.sidebar .comment-navigation,
+.sidebar .comment-respond .comment-form {
+	max-width: 1040px;
+	padding-left: 60px;
+	padding-right: 376px;
+}
+
+.comments-title {
+	font: 300 italic 28px "Source Sans Pro", Helvetica, sans-serif;
+}
+
+.comment-list,
+.comment-list .children {
+	list-style-type: none;
+	padding: 0;
+}
+
+.comment-list .children {
+	margin-left: 20px;
+}
+
+.comment-list > li:after,
+.comment-list .children > li:before {
+	background: url(images/dotted-line.png) repeat left top;
+	background-size: 4px 4px;
+	content: "";
+	display: block;
+	height: 1px;
+	width: 100%;
+}
+
+.comment-list > li:last-child:after {
+	display: none;
+}
+
+.comment-body {
+	padding: 24px 0;
+	position: relative;
+}
+
+.comment-author {
+	float: left;
+	max-width: 74px;
+}
+
+.comment-author .avatar {
+	display: block;
+	margin-bottom: 10px;
+}
+
+.comment-author .fn {
+	word-wrap: break-word;
+}
+
+.comment-author .fn,
+.comment-author .url,
+.comment-reply-link,
+.comment-reply-login {
+	color: #bc360a;
+	font-size: 14px;
+	font-style: normal;
+	font-weight: normal;
+}
+
+.says {
+	display: none;
+}
+
+.no-avatars .comment-author {
+	margin: 0 0 5px;
+	max-width: 100%;
+	position: relative;
+}
+
+.no-avatars .comment-metadata,
+.no-avatars .comment-content,
+.no-avatars .comment-list .reply {
+	width: 100%;
+}
+
+.bypostauthor > .comment-body .fn:before {
+	content: "\f408";
+	vertical-align: text-top;
+}
+
+.comment-list .edit-link {
+	margin-left: 20px;
+}
+
+.comment-metadata,
+.comment-awaiting-moderation,
+.comment-content,
+.comment-list .reply {
+	float: right;
+	width: 79%;
+	width: -webkit-calc(100% - 124px);
+	width:         calc(100% - 124px);
+	word-wrap: break-word;
+}
+
+.comment-meta,
+.comment-meta a {
+	color: #a2a2a2;
+	font-size: 13px;
+}
+
+.comment-meta a:hover {
+	color: #ea9629;
+}
+
+.comment-metadata {
+	margin-bottom: 20px;
+}
+
+.ping-meta {
+	color: #a2a2a2;
+	font-size: 13px;
+	line-height: 2;
+}
+
+.comment-awaiting-moderation {
+	color: #a2a2a2;
+}
+
+.comment-awaiting-moderation:before {
+	content: "\f414";
+	margin-right: 5px;
+	position: relative;
+	top: -2px;
+}
+
+.comment-reply-link:before,
+.comment-reply-login:before {
+	content: "\f412";
+	margin-right: 3px;
+}
+
+/* Comment form */
+.comment-respond {
+	background-color: #f7f5e7;
+	padding: 30px 0;
+}
+
+.comment .comment-respond {
+	margin-bottom: 20px;
+	padding: 20px;
+}
+
+.comment-reply-title {
+	font: 300 italic 28px "Source Sans Pro", Helvetica, sans-serif;
+}
+
+.comment-reply-title small a {
+	color: #131310;
+	display: inline-block;
+	float: right;
+	height: 16px;
+	overflow: hidden;
+	width: 16px;
+}
+
+.comment-reply-title small a:hover {
+	color: #ed331c;
+	text-decoration: none;
+}
+
+.comment-reply-title small a:before {
+	content: "\f406";
+	vertical-align: top;
+}
+
+.sidebar .comment-list .comment-reply-title,
+.sidebar .comment-list .comment-respond .comment-form {
+	padding: 0;
+}
+
+.comment-form .comment-notes {
+	margin-bottom: 15px;
+}
+
+.comment-form .comment-form-author,
+.comment-form .comment-form-email,
+.comment-form .comment-form-url {
+	margin-bottom: 8px;
+}
+
+.comment-form [for="author"],
+.comment-form [for="email"],
+.comment-form [for="url"],
+.comment-form [for="comment"] {
+	float: left;
+	padding: 5px 0;
+	width: 120px;
+}
+
+.comment-form .required {
+	color: #ed331c;
+}
+
+.comment-form input[type="text"],
+.comment-form input[type="email"],
+.comment-form input[type="url"] {
+	max-width: 270px;
+	width: 60%;
+}
+
+.comment-form textarea {
+	width: 100%;
+}
+
+.form-allowed-tags,
+.form-allowed-tags code {
+	color: #686758;
+	font-size: 12px;
+}
+
+.form-allowed-tags code {
+	font-size: 10px;
+	margin-left: 3px;
+}
+
+.comment-list .pingback,
+.comment-list .trackback {
+	padding-top: 24px;
+}
+
+.comment-navigation {
+	font-size: 20px;
+	font-style: italic;
+	font-weight: 300;
+	margin: 0 auto;
+	max-width: 604px;
+	padding: 20px 0 30px;
+	width: 100%;
+}
+
+.no-comments {
+	background-color: #f7f5e7;
+	font-size: 20px;
+	font-style: italic;
+	font-weight: 300;
+	margin: 0;
+	padding: 40px 0;
+	text-align: center;
+}
+
+.sidebar .no-comments {
+	padding-left: 60px;
+	padding-right: 376px;
+}
+
+
+/**
+ * 5.13 Multisite
+ * ----------------------------------------------------------------------------
+ */
+
+.site-main .mu_register {
+	margin: 0 auto;
+	max-width: 604px;
+	width: 100%;
+}
+
+.mu_alert {
+	margin-top: 25px;
+}
+
+.site-main .mu_register input[type="submit"],
+.site-main .mu_register #blog_title,
+.site-main .mu_register #user_email,
+.site-main .mu_register #blogname,
+.site-main .mu_register #user_name {
+	font-size: inherit;
+	width: 270px;
+}
+
+.site-main .mu_register input[type="submit"] {
+	width: auto;
+}
+
+
+/**
+ * 6.0 Sidebar
+ * ----------------------------------------------------------------------------
+ */
+
+.site-main .widget-area {
+	float: right;
+	width: 300px;
+}
+
+
+/**
+ * 6.1 Widgets
+ * ----------------------------------------------------------------------------
+ */
+
+.widget {
+	background-color: rgba(247, 245, 231, 0.7);
+	font-size: 14px;
+	-webkit-hyphens: auto;
+	-moz-hyphens:    auto;
+	-ms-hyphens:     auto;
+	hyphens:         auto;
+	margin: 0 0 24px;
+	padding: 20px;
+	word-wrap: break-word;
+}
+
+.widget .widget-title {
+	font: 300 italic 20px "Source Sans Pro", Helvetica, sans-serif;
+	margin: 0 0 10px;
+}
+
+.widget ul,
+.widget ol {
+	list-style-type: none;
+	margin: 0;
+	padding: 0;
+}
+
+.widget li {
+	padding: 5px 0;
+}
+
+.widget .children li:last-child {
+	padding-bottom: 0;
+}
+
+.widget li > ul,
+.widget li > ol {
+	margin-left: 20px;
+}
+
+.widget a {
+	color: #bc360a;
+}
+
+.widget a:hover {
+	color: #ea9629;
+}
+
+/* Search widget */
+.search-form .search-submit {
+	display: none;
+}
+
+/* RSS Widget */
+.widget_rss .rss-date {
+	display: block;
+}
+
+.widget_rss .rss-date,
+.widget_rss li > cite {
+	color: #a2a2a2;
+}
+
+/* Calendar Widget */
+.widget_calendar table,
+.widget_calendar td {
+	border: 0;
+	border-collapse: separate;
+	border-spacing: 1px;
+}
+
+.widget_calendar caption {
+	font-size: 14px;
+	margin: 0;
+}
+
+.widget_calendar th,
+.widget_calendar td {
+	padding: 0;
+	text-align: center;
+}
+
+.widget_calendar a {
+	display: block;
+}
+
+.widget_calendar a:hover {
+	background-color: rgba(0, 0, 0, 0.15);
+}
+
+.widget_calendar tbody td {
+	background-color: rgba(255, 255, 255, 0.5);
+}
+
+.site-footer .widget_calendar tbody td {
+	background-color: rgba(255, 255, 255, 0.05);
+}
+
+.widget_calendar tbody .pad, .site-footer .widget_calendar tbody .pad {
+	background-color: transparent;
+}
+
+
+/**
+ * 7.0 Footer
+ * ----------------------------------------------------------------------------
+ */
+
+.site-footer {
+	background-color: #e8e5ce;
+	color: #686758;
+	font-size: 14px;
+	text-align: center;
+}
+
+.site-footer .widget-area,
+.sidebar .site-footer {
+	text-align: left;
+}
+
+.site-footer a {
+	color: #686758;
+}
+
+.site-footer .sidebar-container {
+	background-color: #220e10;
+	padding: 20px 0;
+}
+
+.site-footer .widget-area {
+	margin: 0 auto;
+	max-width: 1040px;
+	width: 100%;
+}
+
+.sidebar .site-footer .widget-area {
+	max-width: 724px;
+	position: relative;
+	left: -158px;
+}
+
+.site-footer .widget {
+	background: transparent;
+	color: #fff;
+	float: left;
+	margin-right: 20px;
+	width: 245px;
+}
+
+.sidebar .site-footer .widget {
+	width: 228px;
+}
+
+.sidebar .site-footer .widget:nth-of-type(4),
+.sidebar .site-footer .widget:nth-of-type(3) {
+	margin-right: 0;
+}
+
+.site-footer .widget a {
+	color: #e6402a;
+}
+
+.site-footer .widget-title,
+.site-footer .widget-title a,
+.site-footer .wp-caption-text {
+	color: #fff;
+}
+
+.site-info {
+	margin: 0 auto;
+	max-width: 1040px;
+	padding: 30px 0;
+	width: 100%;
+}
+
+#wpstats {
+	display: block;
+	margin: -10px auto 0;
+}
+
+
+/**
+ * 8.0 Media Queries
+ * ----------------------------------------------------------------------------
+ */
+
+ at media (max-width: 1599px) {
+	.site {
+		border: 0;
+	}
+}
+
+ at media (max-width: 1069px) {
+	.sidebar img.alignleft,
+	.sidebar .wp-caption.alignleft {
+		margin-left: 0;
+	}
+
+	.sidebar img.alignright,
+	.sidebar .wp-caption.alignright {
+		margin-right: 0;
+	}
+
+	.error404 .page-header {
+		margin-left: auto;
+		max-width: 604px;
+		width: 100%;
+	}
+
+	.archive-header,
+	.search .page-header,
+	.archive .page-header,
+	.blog .page-header,
+	.error404 .page-content,
+	.search .page-content,
+	.archive .page-content,
+	.attachment .entry-header,
+	.attachment .entry-content,
+	.post-navigation .nav-links,
+	.sidebar .site-info,
+	.site-footer .widget-area {
+		padding-left: 20px;
+		padding-right: 20px;
+	}
+
+	.error404 .page-title {
+		font-size: 24px;
+		padding: 180px;
+	}
+
+	.error404 .page-title:before {
+		font-size: 554px;
+	}
+
+	.attachment .image-navigation {
+		max-width: 724px;
+	}
+
+	.image-navigation .nav-previous,
+	.image-navigation .nav-next {
+		position: static;
+	}
+
+	.site-main .widget-area {
+		margin-right: 60px;
+	}
+}
+
+ at media (max-width: 999px) {
+	.sidebar .entry-header,
+	.sidebar .entry-content,
+	.sidebar .entry-summary,
+	.sidebar .entry-meta,
+	.sidebar .comment-list,
+	.sidebar .comment-reply-title,
+	.sidebar .comment-navigation,
+	.sidebar .comment-respond .comment-form,
+	.sidebar .featured-gallery,
+	.sidebar .post-navigation .nav-links,
+	.author.sidebar .author-info {
+		max-width: 604px;
+		padding-left: 0;
+		padding-right: 0;
+	}
+
+	.sidebar .site-info,
+	.search.sidebar .page-content,
+	.blog.sidebar .page-content,
+	.attachment .entry-header,
+	.sidebar .comments-title {
+		max-width: 604px;
+	}
+
+	.sidebar .archive-meta,
+	.attachment .entry-header,
+	.search.sidebar .page-content,
+	.blog.sidebar .page-content,
+	.sidebar .site-info,
+	.sidebar .comments-title,
+	.sidebar .no-comments {
+		padding-left: 0;
+		padding-right: 0;
+	}
+
+	.attachment .entry-meta {
+		float: left;
+		text-align: left;
+		width: 100%;
+	}
+
+	.attachment .entry-content {
+		max-width: 100%;
+		padding: 40px 0;
+	}
+
+	.format-status .entry-content {
+		padding-top: 40px;
+	}
+
+	.format-status .entry-meta {
+		padding-bottom: 40px;
+	}
+
+	.sidebar .format-status .entry-content,
+	.sidebar .format-status .entry-meta {
+		padding-left: 35px;
+	}
+
+	.sidebar .format-status .entry-content:before,
+	.sidebar .format-status .entry-meta:before {
+		left: 10px;
+	}
+
+	.sidebar .format-status .entry-content p:first-child:before {
+		left: 4px;
+	}
+
+	.sidebar .paging-navigation .nav-links {
+		padding: 0 60px;
+	}
+
+	.site-main .sidebar-container {
+		height: auto;
+		margin: 0 auto;
+		max-width: 604px;
+		position: relative;
+		top: 20px;
+	}
+
+	.site-main .widget-area {
+		float: none;
+		margin: 0;
+		width: 100%;
+	}
+
+	.sidebar .site-footer .widget-area {
+		max-width: 100%;
+		left: 0;
+	}
+}
+
+/* Collapse oversized image and pulled images after iPad breakpoint. */
+ at media (max-width: 767px) {
+	.entry-content img.alignleft,
+	.entry-content .wp-caption.alignleft {
+		margin-left: 0;
+	}
+
+	.entry-content img.alignright,
+	.entry-content .wp-caption.alignright {
+		margin-right: 0;
+	}
+
+	.attachment .image-navigation,
+	.attachment .entry-attachment .attachment {
+		max-width: 604px;
+		padding: 0;
+		width: 100%;
+	}
+
+	.gallery-caption {
+		display: none;
+	}
+}
+
+ at media (max-width: 643px) {
+	.site-title {
+		font-size: 30px;
+	}
+
+	#content .entry-header,
+	#content .entry-content,
+	#content .entry-summary,
+	#content footer.entry-meta,
+	#content .featured-gallery,
+	.search.sidebar .page-content,
+	.blog.sidebar .page-content,
+	.sidebar .post-navigation .nav-links,
+	.paging-navigation .nav-links,
+	#content .author-info,
+	.comments-area .comments-title,
+	.comments-area .comment-list,
+	.comments-area .comment-navigation,
+	.comment-respond,
+	.sidebar .site-info,
+	.sidebar .paging-navigation .nav-links {
+		padding-left: 20px;
+		padding-right: 20px;
+	}
+
+	#content .format-status .entry-content,
+	#content .format-status .entry-met {
+		padding-left: 35px;
+	}
+
+	/* Small menu */
+	.menu-toggle {
+		cursor: pointer;
+		display: inline-block;
+		font: bold 16px/1.3 "Source Sans Pro", Helvetica, sans-serif;
+		margin: 0;
+		padding: 12px 0 12px 20px;
+	}
+
+	.menu-toggle:after {
+		content: "\f502";
+		font-size: 12px;
+		padding-left: 8px;
+		vertical-align: -4px;
+	}
+
+	.toggled-on .menu-toggle:after {
+		content: "\f500";
+		vertical-align: 2px;
+	}
+
+	.toggled-on .nav-menu,
+	.toggled-on .nav-menu > ul {
+		display: block;
+		margin-left: 0;
+		padding: 0;
+		width: 100%;
+	}
+
+	.toggled-on li,
+	.toggled-on .children {
+		display: block;
+	}
+
+	.toggled-on .nav-menu li > ul {
+		background-color: transparent;
+		display: block;
+		float: none;
+		margin-left: 20px;
+		position: relative;
+		left: auto;
+		top: auto;
+	}
+
+	.toggled-on .nav-menu li > ul a {
+		color: #141412;
+		width: auto;
+	}
+
+	.toggled-on .nav-menu li:hover > a,
+	.toggled-on .nav-menu .children a {
+		background-color: transparent;
+		color: #141412;
+	}
+
+	.toggled-on .nav-menu li a:hover,
+	.toggled-on .nav-menu ul a:hover {
+		background-color: #db572f;
+		color: #fff;
+	}
+
+	ul.nav-menu,
+	div.nav-menu > ul {
+		display: none;
+	}
+
+	#content .featured-gallery {
+		padding-left: 24px;
+	}
+
+	.gallery-columns-1 .gallery-item {
+		margin-right: 0;
+		width: 100%;
+	}
+
+	.entry-title,
+	.format-chat .entry-title,
+	.format-image .entry-title,
+	.format-gallery .entry-title,
+	.format-video .entry-title {
+		font-size: 22px;
+		font-weight: bold;
+	}
+
+	.format-quote blockquote,
+	.format-status .entry-content {
+		font-size: 18px;
+	}
+
+	.format-quote blockquote small,
+	.format-quote blockquote cite {
+		font-size: 13px;
+	}
+
+	.error404 .page-title {
+		padding: 40px 0 0;
+	}
+
+	.error404 .page-title:before {
+		content: normal;
+	}
+
+	.comment-author {
+		margin-right: 30px;
+	}
+
+	.comment-author .avatar {
+		height: auto;
+		max-width: 100%;
+	}
+
+	.comment-metadata,
+	.comment-content,
+	.comment-list .reply {
+		width: 70%;
+		width: -webkit-calc(100% - 104px);
+		width:         calc(100% - 104px);
+	}
+
+	.comment-form input[type="text"],
+	.comment-form input[type="email"],
+	.comment-form input[type="url"] {
+		width: -webkit-calc(100% - 120px);
+		width:         calc(100% - 120px);
+	}
+
+	.comment-form textarea {
+		height: 80px; /* Smaller field for mobile. */
+	}
+
+	/* Audio */
+	.format-audio .entry-content:before {
+		display: none;
+	}
+
+	.format-audio .audio-content {
+		background-image: none;
+		float: none;
+		padding-left: 0;
+		width: auto;
+	}
+}
+
+/* Mobile devices */
+ at media (max-width: 359px) {
+	.gallery {
+		margin-left: 0;
+	}
+
+	.gallery .gallery-item,
+	.gallery-columns-2.gallery-size-thumbnail .gallery-item {
+		max-width: none;
+		width: 49%;
+		width: -webkit-calc(50% - 4px);
+		width:         calc(50% - 4px);
+	}
+
+	.gallery-columns-1.gallery-size-medium,
+	.gallery-columns-1.gallery-size-thumbnail,
+	.gallery-columns-2.gallery-size-thumbnail,
+	.gallery-columns-3.gallery-size-thumbnail {
+		display: block;
+	}
+
+	.gallery-columns-1 .gallery-item,
+	.gallery-columns-1.gallery-size-medium .gallery-item,
+	.gallery-columns-1.gallery-size-thumbnail .gallery-item {
+		text-align: center;
+		width: 98%;
+		width: -webkit-calc(100% - 4px);
+		width:         calc(100% - 4px);
+	}
+
+	.gallery-columns-3 .gallery-item:nth-of-type(3n),
+	.gallery-columns-5 .gallery-item:nth-of-type(5n),
+	.gallery-columns-7 .gallery-item:nth-of-type(7n),
+	.gallery-columns-9 .gallery-item:nth-of-type(9n) {
+		margin-right: 4px;
+	}
+
+	.gallery br {
+		display: none;
+	}
+
+	.gallery .gallery-item:nth-of-type(even) {
+		margin-right: 0;
+	}
+
+	/* Comments */
+	.comment-author {
+		margin: 0 0 5px;
+		max-width: 100%;
+	}
+
+	.comment-author .avatar {
+		display: inline;
+		margin: 0 5px 0 0;
+		max-width: 20px;
+	}
+
+	.comment-metadata,
+	.comment-content,
+	.comment-list .reply {
+		width: 100%;
+	}
+}
+
+
+/**
+ * 9.0 Print
+ * ----------------------------------------------------------------------------
+ */
+
+/* Retina-specific styles. */
+ at media print,
+	(-o-min-device-pixel-ratio: 5/4),
+	(-webkit-min-device-pixel-ratio: 1.25),
+	(min-resolution: 120dpi) {
+
+	.site-header .search-field {
+		background-image: url(images/search-icon-2x.png);
+	}
+
+	.format-audio .audio-content,
+	.format-status .entry-content:before,
+	.format-status .entry-meta:before,
+	.comment-list > li:after,
+	.comment-list .children > li:before {
+		background-image: url(images/dotted-line-2x.png);
+	}
+}
+
+ at media print {
+	body {
+		background: none !important;
+		color: #000;
+		font-size: 10pt;
+	}
+
+	footer a[rel="bookmark"]:link:after,
+	footer a[rel="bookmark"]:visited:after {
+		content: " [" attr(href) "] "; /* Show URLs */
+	}
+
+	.site {
+		max-width: 98%;
+	}
+
+	.site-header {
+		background-image: none !important;
+	}
+
+	.site-header .home-link {
+		max-width: none;
+		min-height: 0;
+	}
+
+	.site-title {
+		color: #000;
+		font-size: 21pt;
+	}
+
+	.site-description {
+		font-size: 10pt;
+	}
+
+	.author-avatar,
+	.site-footer,
+	.comment-respond,
+	.comments-area .comment-edit-link,
+	.comments-area .reply,
+	.comments-link,
+	.entry-meta .edit-link,
+	.page-links,
+	.site-content nav,
+	.widget-area,
+	.main-navigation,
+	.navbar,
+	.more-link {
+		display: none;
+	}
+
+	.entry-header,
+	.entry-content,
+	.entry-summary,
+	.entry-meta {
+		margin: 0;
+		width: 100%;
+	}
+
+	.page-title,
+	.entry-title {
+		font-size: 21pt;
+	}
+
+	.entry-meta,
+	.entry-meta a {
+		color: #444;
+		font-size: 10pt;
+	}
+
+	.entry-content img.alignleft,
+	.entry-content .wp-caption.alignleft {
+		margin-left: 0;
+	}
+
+	.entry-content img.alignright,
+	.entry-content .wp-caption.alignright {
+		margin-right: 0;
+	}
+
+	.format-image .entry-content .size-full {
+		margin: 0;
+	}
+
+	/* Remove colors from post formats */
+	.hentry {
+		background-color: #fff;
+	}
+
+	/* Comments */
+	.comments-area > li.comment {
+		background: none;
+		position: relative;
+		width: auto;
+	}
+
+	.comment-metadata {
+		float: none;
+	}
+
+	.comment-author .fn,
+	.comment-reply-link,
+	.comment-reply-login {
+		color: #333;
+	}
+}
diff --git a/docs/css/widgets.css b/docs/css/widgets.css
new file mode 100644
index 0000000..a2d6295
--- /dev/null
+++ b/docs/css/widgets.css
@@ -0,0 +1,13 @@
+/*
+ * Widget styles for Jetpack
+ */
+
+/* Clear floats */
+.jetpack-image-container:after {
+	clear: both;
+}
+.jetpack-image-container:before,
+.jetpack-image-container:after {
+	display: table;
+	content: "";
+}
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..1b5ad1d
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<!--[if IE 7]>
+<html class="ie ie7" lang="en-US">
+<![endif]-->
+<!--[if IE 8]>
+<html class="ie ie8" lang="en-US">
+<![endif]-->
+<!--[if !(IE 7) | !(IE 8)  ]><!-->
+<html lang="en-US">
+<!--<![endif]-->
+<head>
+
+	<meta charset="UTF-8">
+	<title>libroadrunner | Landing page for libroadrunner project</title>
+	
+	
+	<!--[if lt IE 9]>
+	<script src="http://libroadrunner.org/wp-content/themes/twentythirteen/js/html5.js"></script>
+	<![endif]-->
+	
+
+<link rel="stylesheet" href="css/default.css" type="text/css" />
+<link rel="stylesheet" href="css/pygments.css" type="text/css" />
+
+<link rel='stylesheet' id='wp-quicklatex-format-css'  href='css/quicklatex-format.css' type='text/css' media='all' />
+<link rel='stylesheet' id='jetpack-widgets-css'  href='css/widgets.css' type='text/css' media='all' />
+<!--
+<link rel='stylesheet' id='twentythirteen-fonts-css'  href='//fonts.googleapis.com/css?family=Source+Sans+Pro%3A300%2C400%2C700%2C300italic%2C400italic%2C700italic%7CBitter%3A400%2C700&subset=latin%2Clatin-ext' type='text/css' media='all' />
+-->
+<link rel='stylesheet' id='genericons-css'  href='css/genericons.css' type='text/css' media='all' />
+<link rel='stylesheet' id='twentythirteen-style-css'  href='css/style.css' type='text/css' media='all' />
+<!--[if lt IE 9]>
+<link rel='stylesheet' id='twentythirteen-ie-css'  href='css/ie.css' type='text/css' media='all' />
+<![endif]-->
+ 
+	</head>
+
+<body class="home page page-id-5 page-template-default single-author">
+					<div class="entry-content">
+						<h1>libRoadrunner</h1>
+<p>A high performance and portable simulation engine for systems and synthetic biology.</p>
+<div class="body">
+<p>To get started try the Python script below. These commands will load an example SBML model, run a time course simulation, and plot the results.</p>
+<div class="highlight-python">
+<div class="highlight">
+<pre>
+<span class="kn">import</span> <span class="nn">roadrunner</span>
+<span class="kn">import</span> <span class="nn">roadrunner.testing</span>
+<span class="n">rr</span> <span class="o">=</span> <span class="n">roadrunner</span><span class="o">.</span><span class="n">RoadRunner</span><span class="p">()</span>
+<span class="n">rr</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="s">roadrunner.testing.getData('feedback.xml')</span><span class="p">)</span>
+<span class="n">result</span> <span class="o">=</span> <span class="n">rr</span><span class="o">.</span><span class="n">simulate</span><span class="p">()</span>
+<span class="n">roadrunner</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">result</span><span class="p">)</span>
+</pre>
+</div>
+</div>
+</div> <!-- #body -->							
+
+libRoadRunner has three extensive APIs designed specially for modelers.
+The links below point to local documentation on your system. For up to date documentation please visit: <a href="http://libroadrunner.org">http://libroadrunner.org</a>
+<ol>
+<li><a href="cpp_api_docs/index.html">C++ API</a></li>
+<li><a href="c_api_docs/html/index.html">C API</a></li>
+<li><a href="python_docs/index.html">Python bindings</a></li>
+</ol>
+
+<p><a title="Documentation" href="http://libroadrunner.org/documentation-2/">libRoadRunner 1.0</a> supports the following features:</p>
+<ul>
+<li>Time Dependent Simulation (with optional conservation law reduction) using CVODE from the <a href="http://computation.llnl.gov/casc/sundials/main.html" target="_blank">sundials suite</a>.</li>
+<li>Steady State evaluation using <a href="http://www.zib.de/en/numerik/software/ant/nleq2.html" target="_blank">NLEQ2</a></li>
+<li>Supports SBML Level 2 to 3 but currently excludes algebraic rules and delay differential equations</li>
+<li>Uses latest libSBML distribution</li>
+<li>Defaults to LLVM code generation on the backend, resulting is very fast simulation times</li>
+<li>Optional generation of model C code and linking at run-time</li>
+<li><span style="line-height: 1.5;">Supports Metabolic Control Analysis</span></li>
+<li>Supports Frequency Domain Analysis</li>
+<li>APIs support fast access to model quantities</li>
+<li>Access to other items such as:</li>
+</ul>
+<ol style="list-style-type: lower-alpha;">
+<ol>
+<li>Eigenvalues and Eigenvectors</li>
+<li>Jacobian, full and reduced</li>
+<li>Structural Matrices of the stoichiometry matrix</li>
+</ol>
+</ol>
+<h2>Availability</h2>
+<p>libRoadRunner is <a title="Apache 2.0 License" href="http://www.apache.org/licenses/LICENSE-2.0">licensed for free</a> as an <a title="GitHub" href="https://github.com/AndySomogyi/roadrunner">open source</a> (Apache License, Version 2.0) programmatic <strong>library</strong> for use in other applications without restriction and as a <strong>standalone</strong> command line driven application.</p>
+<p>On Windows, OS X, and Linux binary files can be downloaded from <a title="SourceForge" href="http://sourceforge.net/projects/libroadrunner/files">http://sourceforge.net/projects/libroadrunner/files</a> and <strong><a title="Install libRoadrunner" href="http://libroadrunner.org/install-roadrunner/">installed </a></strong>ready for use.</p>
+<h3>Acknowledgements</h3>
+<p>This work is funded by the generous support of the NIH/NIGMS grant: GM081070</p>
+<p><a href="http://libroadrunner.org/wp-content/uploads/2013/11/nigms_logo_Small.png"><img class="alignnone size-thumbnail wp-image-206" alt="nigms_logo_Small" src="http://libroadrunner.org/wp-content/uploads/2013/11/nigms_logo_Small-120x150.png" width="120" height="150" /></a></p>
+<h2><a name="license"></a></h2>
+<h3>Licence</h3>
+<p>Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at</p>
+<p><a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p>
+<p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.</p>
+<p>In plain English this means:</p>
+<p>You CAN freely download and use this software, in whole or in part, for personal or commercial purposes without restriction.</p>
+<p>You CAN use the software in packages or distributions that you create.</p>
+<p>You SHOULD include a copy of the license in any redistribution you may make;</p>
+<p>You are NOT required include the source of software, or any modifications you may have made to it, in any redistribution you assemble.</p>
+<p><strong>YOU CANNOT:</strong> redistribute any piece of this software without proper attribution</p>
+<p> </p>
+<p> </p>
+<p><span style="color: #333333;">libroadrunner logo</span></p>
+<p style="padding-left: 30px;"><span style="color: #333333; font-size: 14px;">The libroadrunner logo is an adaptation of the image originally posted to <a title="en:Flickr" href="http://en.wikipedia.org/wiki/Flickr"><span style="color: #333333;">Flickr</span></a> by El Brujo+ at <a href="http://flickr.com/photos/11039104@N08/2954808342" rel="nofollow"><span style="color: #333333;">http://flickr.com/photos/11039104@N08/2954808342</span></a>. It was reviewed on <time datetime="2009-08-09"> [...]
+											</div><!-- .entry-content -->
+
+					<footer class="entry-meta">
+											</footer><!-- .entry-meta -->
+				</article><!-- #post -->
+
+		</div><!-- #content -->
+	</div><!-- #primary -->
+
+</body>
+</html>
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
new file mode 100644
index 0000000..416c332
--- /dev/null
+++ b/examples/CMakeLists.txt
@@ -0,0 +1,31 @@
+cmake_minimum_required(VERSION 2.8)
+PROJECT(rrExamples)
+set(RR_INCLUDE_ROOT "../source")
+
+# rr Includes
+include_directories(${RR_INCLUDE_ROOT})
+include_directories(${THIRD_PARTY_INSTALL_FOLDER}/include)
+include_directories(${THIRD_PARTY_INSTALL_FOLDER}/include/sbml)
+include_directories(${THIRD_PARTY_INSTALL_FOLDER}/include/cvode)
+
+if(${MSVC})
+endif(${MSVC})
+
+set(examples
+one_rr
+#load_model_dll
+)
+
+foreach(example ${examples})
+    #add_subdirectory(${example})
+
+    FILE (GLOB hdrs ${example}/*.h)
+     install (FILES ${hdrs}                         DESTINATION Examples/${example}    COMPONENT example_files)
+    FILE (GLOB src ${example}/*.cpp)
+     install (FILES ${src}                         DESTINATION Examples/${example}    COMPONENT example_files)
+     install (FILES ${example}/Readme.txt             DESTINATION Examples/${example}    COMPONENT example_files)
+     install (FILES ${example}/CMakeLists.txt         DESTINATION Examples/${example}    COMPONENT example_files)
+endforeach(example)
+
+install (FILES Readme.txt             DESTINATION Examples COMPONENT info)
+install (FILES CMakeLists.txt         DESTINATION Examples COMPONENT example_files)
diff --git a/examples/Readme.txt b/examples/Readme.txt
new file mode 100644
index 0000000..e69de29
diff --git a/examples/brusselator/brusselator.py b/examples/brusselator/brusselator.py
new file mode 100644
index 0000000..de4edaf
--- /dev/null
+++ b/examples/brusselator/brusselator.py
@@ -0,0 +1,155 @@
+#!/usr/bin/env python
+
+import time
+import numpy as n
+import matplotlib.pyplot as plt
+import roadrunner 
+
+r = roadrunner.RoadRunner('brusselator.xml')
+max_x = 9
+max_y = 10
+
+
+dx=0.005       # lattice size in x-direction.
+dy=0.005      # lattice size in y-direction.
+ 
+nx = int(1/dx)
+ny = int(1/dy)
+ns = r.model.getStateVector().size
+
+#D = 0.001 * n.array([1.0, 10.0]) # diffusion constant
+#D = 0.000001 * n.array([1, 10.0]) # diffusion constant
+D = 0.000001 * n.array([0.1, 20.]) # diffusion constant
+dt = 0.01
+
+timestep = 0
+timeseries = None
+
+dx2=dx**2 # squared lattice spacings
+dy2=dy**2 # 
+
+# state of the system, time, and
+# two lattices,  need to be copies of each other
+time = 0
+u0 = n.zeros([nx,ny,ns])
+u1 = n.zeros([nx,ny,ns])
+
+# copy of u, this is were rate of change of u will be stored
+dudt = n.copy(u0)
+
+
+ran = n.random.random((nx,ny))
+u0[:,:,1] = ran * 3
+u0[:,:,0] = ran * 3
+
+#u1[:] = u0
+
+
+# output image
+img = n.zeros([nx, ny, 3], dtype=n.float32) 
+
+# output plot
+imgplt = plt.imshow(img, interpolation='nearest')
+
+def rd_step(ui, uo):
+
+    """
+    perform a reaction-diffusion step
+    
+    takes the input lattice, ui, performs the reaction - diffusion step, 
+    and writes the output to uo.
+    
+    ui and uo are (nx,ny,2) 3 dimensional arrays, the last index 
+    are the 2 elements of the brusselator state vector.
+
+    This is an example of how to write extremly inefficient Python code. The general 
+    rule of writing fast code in Python is to write as little Python as possible. 
+    
+    """
+    global time, nx, ny, r, timeseries, timestep
+
+    for i in range(0,nx):
+        for j in range(0,ny):
+            # laplacian in x direction   
+            uxx = ( ui[i+1 if i < nx-1 else 0, j] - 2*ui[i,j] + ui[i-1, j] )/dx2 
+            
+            # laplacian in y direction         
+            uyy = ( ui[i,j+1 if j < ny-1 else 0] - 2*ui[i,j] + ui[i, j-1] )/dy2
+            
+            # add rate of change due to reaction part
+            uo[i,j] = ui[i,j] + dt*D*(uxx+uyy) + dt * r.model.getStateVectorRate(time, ui[i,j])
+
+            
+    time = time + dt
+    timeseries[timestep, :] = uo[1,1,:]
+    timestep = timestep + 1
+           
+
+def rd_step_vec(ui, uo):
+    """
+    A vectorized version of the reaction diffusion step, code is much smaller 
+    and runs about 200 times faster than the non-vectorized version above. 
+    
+    This function uses a numpy expression to
+    evaluate the derivatives in the Laplacian, and
+    calculates u[i,j] based on ui[i,j].
+    """
+
+    global time, timeseries, timestep, dt, dx2, dy2, dudt
+    
+    two_ui = 2.0 * ui
+    uxx = (n.roll(ui,1,0) + n.roll(ui,-1,0) - two_ui) / dx2
+    uyy = (n.roll(ui,1,1) + n.roll(ui,-1,1) - two_ui) / dy2
+    uo[:,:,:] = ui + dt * (D * (uxx+uyy) + r.model.getStateVectorRate(time, ui, dudt))
+
+    time = time + dt
+    timeseries[timestep, :] = uo[1,1,:]
+    timestep = timestep + 1
+
+
+def update_img(uo):
+    """
+    update the output image.
+    """
+    global timestep, max_x, max_y
+
+    if timestep % 100 == 0:
+
+        max_x = n.max(uo[:,:,0])
+        max_y = n.max(uo[:,:,1])
+
+        img[:,:,0] = uo[:,:,0] / max_x
+        
+        img[:,:,1] = uo[:,:,1] / max_y
+        
+        imgplt.set_array(img)
+        
+        m = plt.get_current_fig_manager()
+        m.canvas.draw()
+           
+def step(ui, uo):
+    global timestep
+    rd_step_vec(ui, uo)
+
+    update_img(uo)
+
+    print("{}, {},{}".format(timestep, uo[1,1,0],uo[1,1,0])) 
+
+
+
+def run(nsteps):
+    global timeseries, timestep
+    ui = u0
+    uo = u1
+
+    timestep = 0
+    timeseries = n.zeros([nsteps, 2])
+
+    plt.show(block=False)
+
+    for i in n.arange(nsteps):
+        step(ui, uo)
+        ui, uo = uo, ui
+
+
+
diff --git a/examples/brusselator/brusselator.xml b/examples/brusselator/brusselator.xml
new file mode 100644
index 0000000..6dd98fc
--- /dev/null
+++ b/examples/brusselator/brusselator.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" 
+      level="3" version="1" >
+      
+  <model id="The_Brusselator" substanceUnits="substance" timeUnits="second" volumeUnits="volume" 
+         areaUnits="area" lengthUnits="metre" extentUnits="substance">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>The famous Brusselator model in which a chemical species X catalyses</p>
+        <p>its own formation. In a certain region of parameter space the Brusselator</p>
+        <p>can function in a limit cycle regime around an unstable steady state.</p>
+        <p/>
+        <p>Run this simulation and then check the report file to see how Gepasi can find 
+        an unstable steady state, and calculate the eigenvalues of the Jacobian matrix.</p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="compartment" initialAmount="3" substanceUnits="substance" 
+               hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" />
+      <species id="Y" compartment="compartment" initialAmount="3" substanceUnits="substance" 
+               hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" />
+      <species id="A" compartment="compartment" initialAmount="0.5" substanceUnits="substance" 
+               hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="B" compartment="compartment" initialAmount="3" substanceUnits="substance" 
+               hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="D" compartment="compartment" initialAmount="0" substanceUnits="substance" 
+               hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="E" compartment="compartment" initialAmount="0" substanceUnits="substance" 
+               hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="R1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k_1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k_1" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="2" constant="true"/>
+          <speciesReference species="Y" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="3" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k_2 </ci>
+              <ci> X </ci>
+              <ci> X </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k_2" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="true"/>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="true"/>
+          <speciesReference species="D" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k_3 </ci>
+              <ci> X </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k_3" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="R4" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k_4 </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k_4" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/examples/brusselator/stinkbug.png b/examples/brusselator/stinkbug.png
new file mode 100644
index 0000000..6d6c4d0
Binary files /dev/null and b/examples/brusselator/stinkbug.png differ
diff --git a/examples/create_uuid/main.cpp b/examples/create_uuid/main.cpp
new file mode 100644
index 0000000..d101e49
--- /dev/null
+++ b/examples/create_uuid/main.cpp
@@ -0,0 +1,22 @@
+#pragma hdrstop
+#pragma argsused
+
+#include <iostream>
+#include "Poco/UUIDGenerator.h"
+#include "Poco/UUIDGenerator.h"
+
+using Poco::UUID;
+using Poco::UUIDGenerator;
+
+int main()
+{
+	UUIDGenerator& generator = UUIDGenerator::defaultGenerator();
+	UUID uuid2(generator.createRandom());
+	UUID uuid3(generator.createRandom());
+	std::cout << uuid2.toString() << std::endl;
+	std::cout << uuid3.toString() << std::endl;
+    return 0;
+}
+
+
+#pragma comment(lib, "poco_foundation-static.lib")
\ No newline at end of file
diff --git a/examples/events/00026-sbml-l3v1.xml b/examples/events/00026-sbml-l3v1.xml
new file mode 100644
index 0000000..4358356
--- /dev/null
+++ b/examples/events/00026-sbml-l3v1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00026" id="case00026" name="case00026" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/examples/events/00041-sbml-l3v1.xml b/examples/events/00041-sbml-l3v1.xml
new file mode 100644
index 0000000..833a337
--- /dev/null
+++ b/examples/events/00041-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00041" id="case00041" name="case00041" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S2 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/examples/events/00074-sbml-l3v1.xml b/examples/events/00074-sbml-l3v1.xml
new file mode 100644
index 0000000..ffb5e82
--- /dev/null
+++ b/examples/events/00074-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00074" id="case00074" name="case00074" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/examples/events/00172-sbml-l3v1.xml b/examples/events/00172-sbml-l3v1.xml
new file mode 100644
index 0000000..0162f71
--- /dev/null
+++ b/examples/events/00172-sbml-l3v1.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00172" id="case00172" name="case00172" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/examples/events/00348-sbml-l3v1.xml b/examples/events/00348-sbml-l3v1.xml
new file mode 100644
index 0000000..7b8a2c4
--- /dev/null
+++ b/examples/events/00348-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00348" id="case00348" name="case00348" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/examples/events/00363-sbml-l3v1.xml b/examples/events/00363-sbml-l3v1.xml
new file mode 100644
index 0000000..2cf3bf7
--- /dev/null
+++ b/examples/events/00363-sbml-l3v1.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00363" id="case00363" name="case00363" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/examples/events/00952-sbml-l3v1.xml b/examples/events/00952-sbml-l3v1.xml
new file mode 100644
index 0000000..ae50942
--- /dev/null
+++ b/examples/events/00952-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 12:30 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00952" name="case00952">
+    <listOfParameters>
+      <parameter id="S" value="0"  constant="false"/>
+      <parameter id="Q" value="0" constant="false"/>
+      <parameter id="R" value="0" constant="false"/>
+      <parameter id="reset" value="0" constant="false"/>
+      <parameter id="error" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="S">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> Q </ci>
+            <ci> R </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="Qinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Rinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="error_check" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <abs/>
+                <apply>
+                  <minus/>
+                  <ci> Q </ci>
+                  <ci> R </ci>
+                </apply>
+              </apply>
+              <cn type="integer"> 4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="error">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/examples/events/00964-sbml-l3v1.xml b/examples/events/00964-sbml-l3v1.xml
new file mode 100644
index 0000000..31b29d8
--- /dev/null
+++ b/examples/events/00964-sbml-l3v1.xml
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 13:35 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00963" name="case00963">
+    <listOfParameters>
+      <parameter id="S" value="0" constant="false"/>
+      <parameter id="Q" value="0" constant="false"/>
+      <parameter id="R" value="0" constant="false"/>
+      <parameter id="T" value="0" constant="false"/>
+      <parameter id="reset" value="0" constant="false"/>
+      <parameter id="tolerance" value="5" constant="true"/>
+      <parameter id="error" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="S">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> Q </ci>
+            <ci> R </ci>
+            <ci> T </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="Qinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Rinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Tinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="T">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> T </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="error_check" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <or/>
+              <apply>
+                <geq/>
+                <apply>
+                  <abs/>
+                  <apply>
+                    <minus/>
+                    <ci> Q </ci>
+                    <ci> R </ci>
+                  </apply>
+                </apply>
+                <ci> tolerance </ci>
+              </apply>
+              <apply>
+                <geq/>
+                <apply>
+                  <abs/>
+                  <apply>
+                    <minus/>
+                    <ci> Q </ci>
+                    <ci> T </ci>
+                  </apply>
+                </apply>
+                <ci> tolerance </ci>
+              </apply>
+              <apply>
+                <geq/>
+                <apply>
+                  <abs/>
+                  <apply>
+                    <minus/>
+                    <ci> T </ci>
+                    <ci> R </ci>
+                  </apply>
+                </apply>
+                <ci> tolerance </ci>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="error">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/examples/events/00966-sbml-l3v1.xml b/examples/events/00966-sbml-l3v1.xml
new file mode 100644
index 0000000..9587de7
--- /dev/null
+++ b/examples/events/00966-sbml-l3v1.xml
@@ -0,0 +1,1169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00966" name="case00966">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculateerror">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x0 </ci>
+            </bvar>
+            <bvar>
+              <ci> x1 </ci>
+            </bvar>
+            <bvar>
+              <ci> x2 </ci>
+            </bvar>
+            <bvar>
+              <ci> x3 </ci>
+            </bvar>
+            <bvar>
+              <ci> x4 </ci>
+            </bvar>
+            <bvar>
+              <ci> x5 </ci>
+            </bvar>
+            <bvar>
+              <ci> x6 </ci>
+            </bvar>
+            <bvar>
+              <ci> x7 </ci>
+            </bvar>
+            <bvar>
+              <ci> x8 </ci>
+            </bvar>
+            <bvar>
+              <ci> x9 </ci>
+            </bvar>
+            <bvar>
+              <ci> x10 </ci>
+            </bvar>
+            <bvar>
+              <ci> x11 </ci>
+            </bvar>
+            <bvar>
+              <ci> x12 </ci>
+            </bvar>
+            <bvar>
+              <ci> x13 </ci>
+            </bvar>
+            <bvar>
+              <ci> x14 </ci>
+            </bvar>
+            <bvar>
+              <ci> x15 </ci>
+            </bvar>
+            <bvar>
+              <ci> x16 </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x0 </ci>
+                    <cn> 0.0952 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 0.0952 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x1 </ci>
+                    <cn> 1.523 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 1.523 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x2 </ci>
+                    <cn> 11.428 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 11.428 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x3 </ci>
+                    <cn> 53.32 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 53.32 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x4 </ci>
+                    <cn> 173.29 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 173.29 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x5 </ci>
+                    <cn> 415.898 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 415.898 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x6 </ci>
+                    <cn> 762.48 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 762.48 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x7 </ci>
+                    <cn> 1089.26 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 1089.26 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x8 </ci>
+                    <cn> 1225.415 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 1225.415 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x9 </ci>
+                    <cn> 1089.26 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 1089.26 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x10 </ci>
+                    <cn> 762.48 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 762.48 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x11 </ci>
+                    <cn> 415.898 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 415.898 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x12 </ci>
+                    <cn> 173.29 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 173.29 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x13 </ci>
+                    <cn> 53.32 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 53.32 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x14 </ci>
+                    <cn> 11.428 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 11.428 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x15 </ci>
+                    <cn> 1.523 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 1.523 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x16 </ci>
+                    <cn> 0.0952 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 0.0952 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfParameters>
+      <parameter id="S" value="0" constant="false"/>
+      <parameter id="Q" value="0" constant="false"/>
+      <parameter id="R" value="0" constant="false"/>
+      <parameter id="reset" value="0" constant="false"/>
+      <parameter id="chicount" value="0" constant="false"/>
+      <parameter id="chitest" value="0" constant="false"/>
+      <parameter id="assemble" value="0" constant="false"/>
+      <parameter id="chi0" value="0" constant="false"/>
+      <parameter id="chi1" value="0" constant="false"/>
+      <parameter id="chi2" value="0" constant="false"/>
+      <parameter id="chi3" value="0" constant="false"/>
+      <parameter id="chi4" value="0" constant="false"/>
+      <parameter id="chi5" value="0" constant="false"/>
+      <parameter id="chi6" value="0" constant="false"/>
+      <parameter id="chi7" value="0" constant="false"/>
+      <parameter id="chi8" value="0" constant="false"/>
+      <parameter id="chi9" value="0" constant="false"/>
+      <parameter id="chi10" value="0" constant="false"/>
+      <parameter id="chi11" value="0" constant="false"/>
+      <parameter id="chi12" value="0" constant="false"/>
+      <parameter id="chi13" value="0" constant="false"/>
+      <parameter id="chi14" value="0" constant="false"/>
+      <parameter id="chi15" value="0" constant="false"/>
+      <parameter id="chi16" value="0" constant="false"/>
+      <parameter id="tests" value="0" constant="false"/>
+      <parameter id="finalchi" value="0" constant="false"/>
+      <parameter id="error" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="S">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> Q </ci>
+            <ci> R </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="Rinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="chicount">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chicount </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Qinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="chitest">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chitest </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="chicount">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chicount </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="repeat" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <floor/>
+                <apply>
+                  <divide/>
+                  <ci> chicount </ci>
+                  <cn type="integer"> 16 </cn>
+                </apply>
+              </apply>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 5 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="assemble">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="chicount">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 0 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi0">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi0 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi1 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi2 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E3" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 3 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E4" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 4 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi4 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E5" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 5 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi5">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi5 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E6" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 6 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi6">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi6 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E7" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 7 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi7">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi7 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E8" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 8 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi8">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi8 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E9" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 9 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi9">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi9 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E10" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 10 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi10">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi10 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E11" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 11 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi11">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi11 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E12" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 12 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi12">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi12 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E13" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 13 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi13">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi13 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E14" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 14 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi14">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi14 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E15" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 15 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi15">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi15 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E16" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 16 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi16">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi16 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E17" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> assemble </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="tests">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> tests </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="chitest">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="assemble">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E18" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> tests </ci>
+                <cn type="integer"> 6240 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> finalchi </ci>
+                <cn type="integer"> 0 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 0 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="finalchi">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> calculateerror </ci>
+                <ci> chi0 </ci>
+                <ci> chi1 </ci>
+                <ci> chi2 </ci>
+                <ci> chi3 </ci>
+                <ci> chi4 </ci>
+                <ci> chi5 </ci>
+                <ci> chi6 </ci>
+                <ci> chi7 </ci>
+                <ci> chi8 </ci>
+                <ci> chi9 </ci>
+                <ci> chi10 </ci>
+                <ci> chi11 </ci>
+                <ci> chi12 </ci>
+                <ci> chi13 </ci>
+                <ci> chi14 </ci>
+                <ci> chi15 </ci>
+                <ci> chi16 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="error_check" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> finalchi </ci>
+              <cn type="integer"> 50 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> -1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="error">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/examples/events/00978-sbml-l3v1.xml b/examples/events/00978-sbml-l3v1.xml
new file mode 100644
index 0000000..6c9989b
--- /dev/null
+++ b/examples/events/00978-sbml-l3v1.xml
@@ -0,0 +1,302 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-17 15:24 with libSBML version 4.2.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00978" name="case00978">
+    <listOfParameters>
+      <parameter id="multitrig" value="0" constant="false"/>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="y" value="0" constant="false"/>
+      <parameter id="z" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 9 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 8 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E3" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 7 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E4" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 6 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E5" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 5 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E6" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 4 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E7" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E8" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E9" useValuesFromTriggerTime="false">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> multitrig </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="x">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> x </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E10" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> multitrig </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="y">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> y </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E11" useValuesFromTriggerTime="false">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> multitrig </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="z">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> z </ci>
+                <cn type="integer"> 3 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/examples/events/events.py b/examples/events/events.py
new file mode 100644
index 0000000..501ea3a
--- /dev/null
+++ b/examples/events/events.py
@@ -0,0 +1,55 @@
+#!/usr/bin/env python
+
+import roadrunner 
+
+retval = 0
+
+## event handling functions
+def onEventTrigger(model, eventIndex, eventId):
+    print("event {} was triggered at time {}".format(eventId, model.getTime()))
+
+
+def onEventAssignment(model, eventIndex, eventId):
+    print("event {} was assignend at time {}".format(eventId, model.getTime()))
+
+def testEvents(fileName):
+    r=roadrunner.RoadRunner(fileName)
+
+    eventIds = r.model.getEventIds()
+
+    for eid in eventIds:
+        e=r.model.getEvent(eid)
+        e.setOnTrigger(onEventTrigger)
+        e.setOnAssignment(onEventAssignment)
+
+    r.simulate()
+
+## integration handling functions
+
+def onTimeStep(integrator, model, time):
+    """
+    is called after the internal integrator completes each internal time step.
+    """
+    print("onTimeStep, time: {}".format(time))
+
+def onEvent(integrator, model, time):
+    """
+    whenever model event occurs and after it is procesed.
+    """
+    print("onEvent, time: {}".format(time))
+
+def testMultiStepIntegrator(fname, t0, tf, dt, minStep = -1, maxStep=-1):
+    r=roadrunner.RoadRunner(fname)
+
+    listener = roadrunner.PyIntegratorListener()
+    listener.setOnTimeStep(onTimeStep)
+    listener.setOnEvent(onEvent)
+    
+    r.getIntegrator().setListener(listener)
+    
+    r.simulateOptions.integratorFlags = roadrunner.SimulateOptions.MULTI_STEP
+    r.simulateOptions.initialTimeStep = dt
+    r.simulateOptions.maximumTimeStep = maxStep
+    r.simulateOptions.minimumTimeStep = minStep
+    r.integrate(t0, tf)
+
diff --git a/examples/events/feedback.xml b/examples/events/feedback.xml
new file mode 100644
index 0000000..7b8f423
--- /dev/null
+++ b/examples/events/feedback.xml
@@ -0,0 +1,471 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2" xmlns:jd2="http://www.sys-bio.org/sbml/jd2" level="2" version="1">
+  <model id="feedback" name="Feedback">
+    <annotation>
+      <jd2:JDesignerLayout xmlns:jd2="http://www.sys-bio.org/sbml/jd2" version="2.0" MajorVersion="2" MinorVersion="3" BuildVersion="45">
+        <jd2:header>
+          <jd2:VersionHeader JDesignerVersion="1.0"/>
+          <jd2:ModelHeader ModelTitle="Feedback"/>
+          <jd2:TimeCourseDetails timeStart="0" timeEnd="25" numberOfPoints="200"/>
+        </jd2:header>
+        <jd2:JDGraphicsHeader BackGroundColor="FFFFFFEF"/>
+        <jd2:listOfCompartments>
+          <jd2:compartment id="compartment" size="1" visible="false">
+            <jd2:boundingBox x="0" y="0" w="0" h="0"/>
+            <jd2:membraneStyle thickness="12" color="FF00A5FF"/>
+            <jd2:interiorStyle color="FFEEEEFF"/>
+            <jd2:text value="compartment" visible="true">
+              <jd2:position rx="-31" ry="-16"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+          </jd2:compartment>
+        </jd2:listOfCompartments>
+        <jd2:listOfSpecies>
+          <jd2:species id="S1" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="138" y="104"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S1" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S2" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="234" y="143"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S2" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S3" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="318" y="178"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S3" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S4" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="411" y="212"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S4" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="X0" boundaryCondition="true" compartment="compartment" initialConcentration="10">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="33" y="60"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="X0" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="X1" boundaryCondition="true" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="415" y="292"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="X1" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+        </jd2:listOfSpecies>
+        <jd2:listOfReactions>
+          <jd2:reaction id="J0" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="X0" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S1" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges>
+              <jd2:modifierEdge>
+                <jd2:speciesReference species="S4"/>
+                <jd2:destinationReaction name="J0" regulatorType="rtNegative" relativePosition="0.415929203539823" destinationArcId="0" destinationLineSegmentId="0"/>
+                <jd2:display lineThickness="2" lineColor="FF0000FF" lineDashStyle="dsSolid" negativeMarkerStyle="rmBar">
+                  <jd2:lineType type="ltSegmentedLine">
+                    <jd2:pt x="423" y="224" type="modifier" speciesRef="S4"/>
+                    <jd2:pt x="353" y="243"/>
+                    <jd2:pt x="69" y="127"/>
+                    <jd2:pt x="84" y="101"/>
+                  </jd2:lineType>
+                </jd2:display>
+              </jd2:modifierEdge>
+            </jd2:listOfModifierEdges>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J0_VM1*(X0-S1/J0_Keq1)/(1+X0+S1+pow(S4,J0_h))"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="45" y="72" type="substrate" speciesRef="X0"/>
+                  <jd2:pt x="150" y="116" type="product" speciesRef="S1"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J1" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S1" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S2" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S1-2*S2)/(1+S1+S2)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="150" y="116" type="substrate" speciesRef="S1"/>
+                  <jd2:pt x="246" y="155" type="product" speciesRef="S2"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J2" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S2" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S3" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S2-2*S3)/(1+S2+S3)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="246" y="155" type="substrate" speciesRef="S2"/>
+                  <jd2:pt x="330" y="190" type="product" speciesRef="S3"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J3" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S3" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S4" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S3-2*S4)/(1+S3+S4)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="330" y="190" type="substrate" speciesRef="S3"/>
+                  <jd2:pt x="423" y="224" type="product" speciesRef="S4"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J4" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S4" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="X1" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J4_V4*S4/(J4_KS4+S4)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="423" y="224" type="substrate" speciesRef="S4"/>
+                  <jd2:pt x="427" y="304" type="product" speciesRef="X1"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+        </jd2:listOfReactions>
+      </jd2:JDesignerLayout>
+    </annotation>
+    <listOfCompartments>
+      <compartment id="compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="compartment" initialConcentration="0"/>
+      <species id="S2" compartment="compartment" initialConcentration="0"/>
+      <species id="S3" compartment="compartment" initialConcentration="0"/>
+      <species id="S4" compartment="compartment" initialConcentration="0"/>
+      <species id="X0" compartment="compartment" initialConcentration="10" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialConcentration="0" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="J0_VM1" value="10"/>
+      <parameter id="J0_Keq1" value="10"/>
+      <parameter id="J0_h" value="10"/>
+      <parameter id="J4_V4" value="2.5"/>
+      <parameter id="J4_KS4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> J0_VM1 </ci>
+                <apply>
+                  <minus/>
+                  <ci> X0 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S1 </ci>
+                    <ci> J0_Keq1 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> X0 </ci>
+                <ci> S1 </ci>
+                <apply>
+                  <power/>
+                  <ci> S4 </ci>
+                  <ci> J0_h </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S2 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S3 </ci>
+                <ci> S4 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> J4_V4 </ci>
+                <ci> S4 </ci>
+              </apply>
+              <apply>
+                <plus/>
+                <ci> J4_KS4 </ci>
+                <ci> S4 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/examples/load_model_dll/CMakeLists.txt b/examples/load_model_dll/CMakeLists.txt
new file mode 100644
index 0000000..df0d5f5
--- /dev/null
+++ b/examples/load_model_dll/CMakeLists.txt
@@ -0,0 +1,49 @@
+cmake_minimum_required(VERSION 2.8)
+set(target load_model_dll)
+
+add_executable(${target} 
+main.cpp 
+)
+
+add_definitions(
+-DPOCO_STATIC
+-DSTATIC_PUGI
+-DLIBSBML_STATIC 
+-DSTATIC_RR
+-DSTATIC_LIBSTRUCT
+-DLIBLAX_STATIC  
+-DSTATIC_NLEQ
+)
+
+if(WIN32)
+add_definitions(
+-DWIN32
+)
+
+target_link_libraries (${target} 
+roadrunner-static
+)
+endif()
+
+#Not sure why linux linker need all libraries at linktime?? All symbols 'should' be in roadrunner-static
+if(UNIX)
+target_link_libraries (${target} 
+roadrunner-static
+nleq-static.a
+rr-libstruct-static
+lapack
+blas
+f2c
+libsbml-static.a
+xml2
+sundials_nvecserial.a
+sundials_cvode.a
+pthread
+dl
+)
+endif()
+
+
+install (TARGETS ${target} 		
+        DESTINATION bin 
+        COMPONENT examples)
diff --git a/examples/load_model_dll/Readme.txt b/examples/load_model_dll/Readme.txt
new file mode 100644
index 0000000..449f52d
--- /dev/null
+++ b/examples/load_model_dll/Readme.txt
@@ -0,0 +1 @@
+This example shows how to use the RoadRunner API to do jobs in Threads.
diff --git a/examples/load_model_dll/main.cpp b/examples/load_model_dll/main.cpp
new file mode 100644
index 0000000..ec90389
--- /dev/null
+++ b/examples/load_model_dll/main.cpp
@@ -0,0 +1,46 @@
+#include <iostream>
+#include "rrRoadRunner.h"
+#include "rrLogger.h"
+#include "rrUtils.h"
+#include "rrException.h"
+
+using namespace rr;
+
+int main(int argc, char** argv)
+{
+    try
+    {
+        const char* rootPath = "..";
+
+        gLog.setLevel(lInfo);
+        string tmpFolder = joinPath(rootPath, "temp");
+
+        const string modelFile = joinPath(rootPath, "models", "test_1.xml");
+
+
+        //Load modelFiles..
+        Log(lInfo)<<" ---------- LOADING/GENERATING MODEL: "<<modelFile;
+
+        RoadRunner rr1("", tmpFolder);
+        if(!rr1.load(modelFile))    //This will generate a model DLL
+        {
+
+            Log(Logger::LOG_ERROR)<<"Failed to create model DLL....";
+            return -1;
+        }
+
+    }
+    catch(const Exception& ex)
+    {
+
+        Log(Logger::LOG_ERROR)<<"There was a  problem: "<<ex.getMessage();
+    }
+
+    //Pause(true);
+    return 0;
+}
+#if defined(CG_IDE) || defined(MSVS)
+#pragma comment(lib, "roadrunner-static.lib")
+#pragma comment(lib, "poco_foundation-static.lib")
+#pragma comment(lib, "rr-libstruct-static.lib")
+#endif
diff --git a/examples/logging.py b/examples/logging.py
new file mode 100755
index 0000000..d6ce9a5
--- /dev/null
+++ b/examples/logging.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+import roadrunner as rr
+
+rr.Logger.setLevel(rr.Logger.LOG_TRACE)
+
+def log():
+    rr.Logger.log(rr.Logger.LOG_FATAL, "A fatal message")
+    rr.Logger.log(rr.Logger.LOG_CRITICAL, "A critical message")
+    rr.Logger.log(rr.Logger.LOG_ERROR, "An error message")
+    rr.Logger.log(rr.Logger.LOG_WARNING, "A warning message")
+    rr.Logger.log(rr.Logger.LOG_NOTICE, "A notice message")
+    rr.Logger.log(rr.Logger.LOG_INFORMATION, "An informational message")
+    rr.Logger.log(rr.Logger.LOG_DEBUG, "A debugging message.")
+    rr.Logger.log(rr.Logger.LOG_TRACE,  "A tracing message. This is the lowest priority.")
+
+rr.Logger.log(rr.Logger.LOG_NOTICE, "logging with default colors:")
+log()
+
+rr.Logger.setFormattingPattern("%Y-%m-%d %H:%M:%S %p: %t")
+log()
+
+
+rr.Logger.setProperty("traceColor", "red")
+rr.Logger.setProperty("debugColor", "green")
+rr.Logger.setProperty("informationColor", "blue")
+rr.Logger.setProperty("noticeColor", "magenta")
+rr.Logger.setProperty("warningColor", "cyan")
+rr.Logger.setProperty("errorColor", "gray")
+rr.Logger.setProperty("criticalColor", "white")
+rr.Logger.setProperty("fatalColor", "brown")
+
+rr.Logger.log(rr.Logger.LOG_NOTICE, "logging with new and better colors:")
+log()
+
+
diff --git a/examples/one_rr/CMakeLists.txt b/examples/one_rr/CMakeLists.txt
new file mode 100644
index 0000000..a124d51
--- /dev/null
+++ b/examples/one_rr/CMakeLists.txt
@@ -0,0 +1,49 @@
+cmake_minimum_required(VERSION 2.8)
+set(target one_rr)
+
+add_executable(${target} 
+main.cpp 
+)
+
+add_definitions(
+-DPOCO_STATIC
+-DSTATIC_PUGI
+-DLIBSBML_STATIC 
+-DSTATIC_RR
+-DSTATIC_LIBSTRUCT
+-DLIBLAX_STATIC  
+-DSTATIC_NLEQ
+)
+
+if(WIN32)
+add_definitions(
+-DWIN32
+)
+
+target_link_libraries (${target} 
+roadrunner-static
+)
+endif()
+
+#Not sure why linux linker need all libraries at linktime?? All symbols 'should' be in roadrunner-static
+if(UNIX)
+target_link_libraries (${target} 
+roadrunner-static
+nleq-static.a
+rr-libstruct-static
+lapack
+blas
+f2c
+libsbml-static.a
+xml2
+sundials_nvecserial.a
+sundials_cvode.a
+pthread
+dl
+)
+endif()
+
+
+install (TARGETS ${target} 		
+        DESTINATION bin 
+        COMPONENT examples)
diff --git a/examples/one_rr/Readme.txt b/examples/one_rr/Readme.txt
new file mode 100644
index 0000000..90c371b
--- /dev/null
+++ b/examples/one_rr/Readme.txt
@@ -0,0 +1,4 @@
+This example shows how to 
+1) Create a RoadRunner instance 
+2) Simulate a model
+3) Write data to a terminal
diff --git a/examples/one_rr/main.cpp b/examples/one_rr/main.cpp
new file mode 100644
index 0000000..b10386f
--- /dev/null
+++ b/examples/one_rr/main.cpp
@@ -0,0 +1,47 @@
+#include <iostream>
+#include "rrRoadRunner.h"
+#include "rrException.h"
+#include "rrUtils.h"
+#include "rrLogger.h"
+using namespace rr;
+
+int main(int argc, char** argv)
+{
+    const char* rootPath = "..";
+
+    try
+    {
+        gLog.setLevel(lInfo);
+        string tmpFolder = joinPath(rootPath, "temp");
+
+        const string modelFile = joinPath(rootPath, "models", "test_1.xml");
+
+        //Load modelFiles..
+        Log(lInfo)<<" ---------- LOADING/GENERATING MODELS ------";
+
+        RoadRunner rr1("", tmpFolder);
+        LoadSBMLOptions opt;
+        opt.modelGeneratorOpt |= LoadSBMLOptions::RECOMPILE;
+        if(!rr1.load(modelFile, &opt))
+        {
+            Log(Logger::LOG_ERROR)<<"There was a problem loading model in file: "<<modelFile;
+            throw(Exception("Bad things in loadSBMLFromFile function"));
+        }
+
+        Log(lInfo)<<" ---------- SIMULATE ---------------------";
+
+        rr1.simulate();
+        Log(lInfo)<<"Data:"<<*(rr1.getSimulationData());
+    }
+    catch(const Exception& ex)
+    {
+
+        Log(Logger::LOG_ERROR)<<"There was a  problem: "<<ex.getMessage();
+    }
+
+    return 0;
+}
+
+
+
+
diff --git a/examples/two_rrs/CMakeLists.txt b/examples/two_rrs/CMakeLists.txt
new file mode 100644
index 0000000..699d084
--- /dev/null
+++ b/examples/two_rrs/CMakeLists.txt
@@ -0,0 +1,49 @@
+cmake_minimum_required(VERSION 2.8)
+set(target many_threads)
+
+add_executable(		   ${target} 
+main.cpp 
+)
+
+add_definitions(
+-DPOCO_STATIC
+-DSTATIC_PUGI
+-DLIBSBML_STATIC 
+-DSTATIC_RR
+-DSTATIC_LIBSTRUCT
+-DLIBLAX_STATIC  
+-DSTATIC_NLEQ
+)
+
+if(WIN32)
+add_definitions(
+-DWIN32
+)
+
+target_link_libraries (${target} 
+roadrunner-static
+)
+endif()
+
+#Not sure why linux linker need all libraries at linktime?? All symbols 'should' be in roadrunner-static
+if(UNIX)
+target_link_libraries (${target} 
+roadrunner-static
+nleq-static.a
+rr-libstruct-static
+lapack
+blas
+f2c
+libsbml-static.a
+libxml2.so
+sundials_nvecserial.a
+sundials_cvode.a
+pthread
+dl
+)
+endif()
+
+
+install (TARGETS ${target} 		
+        DESTINATION bin 
+        COMPONENT examples)
diff --git a/examples/two_rrs/Readme.txt b/examples/two_rrs/Readme.txt
new file mode 100644
index 0000000..449f52d
--- /dev/null
+++ b/examples/two_rrs/Readme.txt
@@ -0,0 +1 @@
+This example shows how to use the RoadRunner API to do jobs in Threads.
diff --git a/examples/two_rrs/main.cpp b/examples/two_rrs/main.cpp
new file mode 100644
index 0000000..04ace20
--- /dev/null
+++ b/examples/two_rrs/main.cpp
@@ -0,0 +1,49 @@
+#include <iostream>
+#include "rrRoadRunner.h"
+#include "rrLogger.h"
+#include "rrUtils.h"
+#include "rrException.h"
+
+using namespace rr;
+
+int main(int argc, char** argv)
+{
+
+    try
+    {
+        LogOutput::mLogToConsole = true;
+
+        //Use a list of roadrunners
+        const char* rootPath = "..";
+
+//        gLog.SetCutOffLogLevel(lDebug1);
+        gLog.setLevel(lInfo);
+        string tmpFolder = joinPath(rootPath, "temp");
+
+        const string modelFile = joinPath(rootPath, "models", "feedback.xml");
+
+        //Load modelFiles..
+        Log(lInfo)<<" ---------- LOADING/GENERATING MODELS ------";
+
+        RoadRunner rr1("", tmpFolder);
+        RoadRunner rr2("", tmpFolder);
+        rr1.load(modelFile);
+        rr2.load(modelFile);
+
+        Log(lInfo)<<" ---------- SIMULATE ---------------------";
+
+        Log(lInfo)<<"Data:"<<rr1.simulate();
+        Log(lInfo)<<"Data:"<<rr2.simulate();
+    }
+    catch(const Exception& ex)
+    {
+        Log(Logger::ERROR)<<"There was a  problem: "<<ex.getMessage();
+    }
+
+    //Pause(true);
+    return 0;
+}
+
+#pragma comment(lib, "roadrunner.lib")
+#pragma comment(lib, "poco_foundation-static.lib")
+#pragma comment(lib, "rr-libstruct-static.lib")
diff --git a/installer/CMakeLists.txt b/installer/CMakeLists.txt
new file mode 100644
index 0000000..cec4ffb
--- /dev/null
+++ b/installer/CMakeLists.txt
@@ -0,0 +1,3 @@
+if(WIN32)
+    add_subdirectory(windows)
+endif(WIN32)
\ No newline at end of file
diff --git a/installer/windows/CMakeLists.txt b/installer/windows/CMakeLists.txt
new file mode 100644
index 0000000..8581ea9
--- /dev/null
+++ b/installer/windows/CMakeLists.txt
@@ -0,0 +1,8 @@
+install(
+    DIRECTORY .
+    DESTINATION installer/windows    
+    FILES_MATCHING 
+    PATTERN "*.iss"
+    PATTERN "*.ico"
+    )
+
diff --git a/installer/windows/libRoadRunner-python-2.7-win32-full-setup.iss b/installer/windows/libRoadRunner-python-2.7-win32-full-setup.iss
new file mode 100644
index 0000000..98fa764
--- /dev/null
+++ b/installer/windows/libRoadRunner-python-2.7-win32-full-setup.iss
@@ -0,0 +1,386 @@
+; Script generated by the Inno Setup Script Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+
+#define MyAppName "libroadrunner"
+#define MyAppVersion "1.0.1"
+#define MyAppPublisher "University of Washington, Seattle, WA, USA"
+#define MyAppURL "http://libroadrunner.org/"
+#define MyAppSetupIconFile "libroadrunner_logo_tan.ico"
+#define ThisInstallerPostfix "win32-full-setup"
+
+#define PyInstaller "python-2.7.6.msi"
+#define NumpyInstaller "numpy-1.8.0-win32-superpack-python2.7.exe"
+#define MatplotlibInstaller "matplotlib-1.3.1.win32-py2.7.exe"
+;#define DateutilInstaller "python-dateutil-2.2.win32-py2.7.exe"
+;#define PyparsingInstaller "pyparsing-2.0.1.win32-py2.7.exe"
+;#define SixInstaller "six-1.5.2.win32-py2.7.exe"
+#define PipInstaller "get-pip.py"
+
+;downloads turned off, installers packaged
+;#define PyInstallerURL "http://python.org/ftp/python/2.7.6/python-2.7.6.msi" 
+;#define NumpyInstallerURL "http://downloads.sourceforge.net/project/numpy/NumPy/1.8.0/numpy-1.8.0-win32-superpack-python2.7.exe?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fnumpy%2Ffiles%2FNumPy%2F&ts=1390956336&use_mirror=softlayer-ams"
+;#define MatplotlibInstallerURL "https://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.3.1/matplotlib-1.3.1.win32-py2.7.exe"
+;#define DateutilInstallerURL "http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-dateutil" ;there does not appear to be a direct URL to the file
+;#define PyparsingInstallerURL "http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyparsing" The one from "http://downloads.sourceforge.net/project/pyparsing/pyparsing/pyparsing-2.0.1/pyparsing-2.0.1.win32-py2.7.exe" did not work.
+;#define SixInstaller "http://www.lfd.uci.edu/~gohlke/pythonlibs/#six"
+;#define PipInstallerURL "https://raw.github.com/pypa/pip/master/contrib/get-pip.py"
+ 
+#define Py "Python"
+#define PyVer "2.7"
+#define Numpy "numpy"
+;#define NumpyVer "1.0"
+#define Matplotlib "matplotlib"
+;#define MatplotlibVer "1.0"
+#define AppDir "roadrunner"
+#define Pip "C:\Python27\Scripts\pip.exe"
+
+;Used for downloader
+;#include ReadReg(HKEY_LOCAL_MACHINE,'Software\Sherlock Software\InnoTools\Downloader','ScriptPath','');
+
+[Setup]
+; NOTE: The value of AppId uniquely identifies this application.
+; Do not use the same AppId value in installers for other applications.
+; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
+AppId={{3B0C903B-773D-48DE-84D5-EA90B0BF67AE}
+AppName={#MyAppName}
+AppVersion={#MyAppVersion}
+;AppVerName={#MyAppName} {#MyAppVersion}
+AppPublisher={#MyAppPublisher}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DisableWelcomePage=yes
+DefaultDirName={code:SetDefaultAppDirName}
+;DefaultDirName=C:\Python27\Lib\site-packages\{#AppDir}
+
+;enable the next line for debug only
+;DisableDirPage=yes
+
+
+;DefaultGroupName=libRoadRunner
+DisableProgramGroupPage=yes
+;LicenseFile=..\..\LICENSE.txt
+;InfoBeforeFile=..\..\NOTICE.txt
+DisableReadyPage=yes
+;DisableFinishedPage=yes   ;finished page is good feedback
+OutputDir=.
+OutputBaseFilename={#MyAppName}-{#MyAppVersion}-{#Py}-{#PyVer}-{#ThisInstallerPostfix}
+SetupIconFile={#MyAppSetupIconFile}
+Compression=lzma
+SolidCompression=yes
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+
+[Files]
+Source: "..\..\site-packages\{#AppDir}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "..\..\LICENSE.TXT"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\NEWS.TXT"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\NOTICE.TXT"; DestDir: "{app}"; DestName:"NOTICE1.TXT"; Flags: ignoreversion
+Source: "libRoadrunner-installer-dependencies\NOTICE.TXT"; DestDir: "{app}"; DestName:"NOTICE2.TXT"; Flags: ignoreversion
+Source: "..\..\bin\iconv.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\bin\libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\bin\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\bin\msvcr100.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\bin\msvcp100.dll"; DestDir: "{app}"; Flags: ignoreversion 
+Source: "libRoadrunner-installer-dependencies\{#MatplotlibInstaller}"; DestDir: "{tmp}"; Flags: ignoreversion onlyifdoesntexist
+
+Source: "libRoadrunner-installer-dependencies\{#PipInstaller}"; DestDir: "{tmp}"; Flags: ignoreversion onlyifdoesntexist
+Source: "libRoadrunner-installer-dependencies\{#NumpyInstaller}"; DestDir: "{tmp}"; Flags: ignoreversion onlyifdoesntexist 
+Source: "libRoadrunner-installer-dependencies\{#PyInstaller}"; DestDir: "{tmp}"; Flags: ignoreversion onlyifdoesntexist
+; NOTE: Don't use "Flags: ignoreversion" on any shared system files
+
+[Run]
+Filename: "{tmp}\{#PipInstaller}"; Verb: "open"; WorkingDir: "{tmp}"; Flags: shellexec waituntilterminated runmaximized
+Filename: "{#Pip}"; Parameters: "install python-dateutil"; WorkingDir: "{tmp}"; Flags: shellexec waituntilterminated runmaximized
+Filename: "{#Pip}"; Parameters: "install pyparsing"; WorkingDir: "{tmp}"; Flags: shellexec waituntilterminated runmaximized
+Filename: "{#Pip}"; Parameters: "install six"; WorkingDir: "{tmp}"; Flags: shellexec waituntilterminated runmaximized
+
+[Code]
+//////////////////////////////////////////////////////////////////////////////
+const
+  appDir = '{#AppDir}';
+  pyReg = 'SOFTWARE\{#Py}\PythonCore\{#PyVer}\InstallPath';
+  pyRegWow6443Node = 'SOFTWARE\Wow6432Node\{#Py}\PythonCore\{#PyVer}\InstallPath';
+
+var
+  installPython, installMatplot, installNumpy: Boolean;
+  DefaultAppDirName: String;
+
+
+//////////////////////////////////////////////////////////////////////////////
+procedure ExitProcess(exitCode:integer);
+  external 'ExitProcess at kernel32.dll stdcall';
+
+//////////////////////////////////////////////////////////////////////////////
+function GetPathForPythonSitePackages(): string;
+var          
+  InstallPath: string;
+begin
+  
+  if RegQueryStringValue(HKEY_LOCAL_MACHINE, pyReg, '', InstallPath) then
+    begin
+    Log('HKLM pyReg: '+ InstallPath);
+    Result := InstallPath + 'Lib\site-packages\';
+    end
+  else
+  if RegQueryStringValue(HKEY_CURRENT_USER, pyReg, '', InstallPath) then
+    begin
+    Log('HKCU pyReg: '+ InstallPath);
+    Result := InstallPath + 'Lib\site-packages\'; 
+    end
+  else
+  if RegQueryStringValue(HKEY_LOCAL_MACHINE, pyRegWow6443Node, '', InstallPath) then
+    begin
+    Log('HKLM pyRegWow6443Node: '+ InstallPath);
+    Result := InstallPath + 'Lib\site-packages\';
+    end
+  else
+    begin
+    MsgBox('Our installer did not find your Python installation. You need '
+    + 'Python to run {#MyAppName}. In the next step use [Your Python installation'
+    + ' location]\Lib\site-packages\{#AppDir} directory.',mbError,MB_OK);
+    //ExitProcess(1);
+    end
+end;
+
+//////////////////////////////////////////////////////////////////////////////
+function IsPythonInstalled(): Boolean;
+var          
+  InstallPath: string; //not really used here
+begin
+  
+  if RegQueryStringValue(HKEY_LOCAL_MACHINE, pyReg, '', InstallPath) then
+    begin
+    Result := True;
+    end
+  else
+  if RegQueryStringValue(HKEY_CURRENT_USER, pyReg, '', InstallPath) then
+    begin
+    Result := True;
+    end
+  else
+  if RegQueryStringValue(HKEY_LOCAL_MACHINE, pyRegWow6443Node, '', InstallPath) then
+    begin
+    Result := True;
+    end
+  else
+    begin
+    Result := False;
+    end
+end;
+
+//////////////////////////////////////////////////////////////////////////////
+function SetDefaultAppDirName(Value: String): String;
+begin
+  Result := DefaultAppDirName;
+end;
+
+//////////////////////////////////////////////////////////////////////////////
+function IsInstalled(name: String): Boolean;
+//function IsInstalled(name: string; version: string): boolean;  //ver not neeeded
+var          
+  InstallPath: string;
+  reg : string;
+begin
+  //reg := 'Software\' + name + '\' + version
+  // + '\InstallPath'
+  // Log('reg Python: ' + reg)
+  
+  //if Numpy/ matplotlib installed - direct check for file
+  InstallPath := GetPathForPythonSitePackages() + name + '/__init__.py'
+  Log('install dir: ' + InstallPath)
+  if FileExists(InstallPath) then
+  //if RegQueryStringValue(HKEY_CURRENT_USER, reg, 'InstallPath', InstallPath) then
+   //numpy doesnt have a reg entry! (also gets its install path, not used here)
+    begin 
+    Result := True;
+    end
+  else 
+    begin
+    Result := False;
+    end;
+end;
+
+//////////////////////////////////////////////////////////////////////////////
+procedure RunMsiInstaller(execName: string);
+var
+  ResultCode: Integer;
+  ExecPath: String;
+  ExecCommand: String;
+begin
+  ExecPath := ExpandConstant('{tmp}\') + execName;
+  ExecCommand := '/i ' + ExecPath + ''; //+ ' /qb'; //qb does it silently
+ 
+  //Check that the msi installer file is present
+  if FileExists(ExecPath) then
+    begin
+    Log('ExecPath exists : ' + ExecPath);
+    end 
+  else 
+    begin
+    Log('ExecPath doe not exist : ' + ExecPath);
+    MsgBox('Could not find ' + execName + ' installer',mbError,MB_OK);
+    ExitProcess(1);
+    //something went wrong: hell or high water python installer must be there
+    end;
+  
+  //execute msi installer, otherwie error and exit
+  if not ShellExec('', 'msiexec.exe', ExecCommand, '', SW_SHOWNORMAL, 
+                   ewWaitUntilTerminated, ResultCode) then
+      //msi exec not working
+      MsgBox('Msi installer failed to run!' + #13#10 + ExecCommand + ' ' +  
+             SysErrorMessage(ResultCode), mbError, MB_OK);
+end;
+
+//////////////////////////////////////////////////////////////////////////////
+function InitializeSetup(): Boolean;
+var
+tmpPy: String;
+begin
+  //if python installed get path for python site-packages
+  //if isInstalled('{#Py}\PythonCore','{#PyVer}') then
+  if IsPythonInstalled() then
+  begin
+    Log('Python: ' + 'True');
+    installPython := False;
+    //Python must be installed, get its path
+    DefaultAppDirName := GetPathForPythonSitePackages() + AppDir;
+    Log('SetDefaultAppDirName: ' + DefaultAppDirName);    
+  end
+  else //Add Python to tmp folder [ // or download list.. ]
+  begin
+    Log('Python: ' + 'False');
+    installPython := True;
+    tmpPy := ExpandConstant('{tmp}\{#PyInstaller}');
+    //FileCopy(ExpandConstant('{#PyInstaller}'), tmpPy, false);
+    ExtractTemporaryFile('{#PyInstaller}')
+    Log('tmpPy: '+ tmpPy);
+
+    {//Check that the msi tmpPy installer file is present
+    if FileExists(tmpPy) then
+      begin
+      Log('tmpPy exists : ' + tmpPy);
+      end 
+    else 
+      begin
+      Log('MSI tmpPy does not exist : ' + tmpPy);
+      MsgBox('Could not find MSI' + tmpPy + ' installer',mbError,MB_OK);
+      ExitProcess(1);
+      //something went wrong: hell or high water python installer must be there
+      end;
+     }
+    DefaultAppDirName := 'C:\Python27\Lib\site-packages\{#AppDir}' //pretend default path 
+                                                                   //will be used when python is installed
+                                                                   //not seeing another way to prepopulate
+                                                                   //the Dir Destination page.
+                                                                   //installing Pyton earlier not an option
+                                                                   //as {tmp} was not created yet, so cant
+                                                                   //extract python installer yet 
+    //itd_addfile('{#PyInstallerURL}',ExpandConstant('{tmp}\{#PyInstaller}'));
+    //itd_addfile('http://sbol.bhi.washington.edu/ppp/setup-dummyPython.exe',ExpandConstant('{tmp}\setup-dummyPython.exe'));
+  end;
+
+  Result := True; //Required for fwd progress, false would exist
+end;
+
+//////////////////////////////////////////////////////////////////////////////
+procedure InitializeWizard();
+begin
+ //itd_init;  //turned off when packaging installers
+
+  //Install Python now if needed, we want it in place before anything else is done
+  if (installPython) then
+     RunMsiInstaller('{#PyInstaller}');
+
+  //Python must be installed, get its path
+  DefaultAppDirName := GetPathForPythonSitePackages() + AppDir;
+  Log('SetDefaultAppDirName: ' + DefaultAppDirName);
+
+  //Check if Numpy is installed
+  if IsInstalled('{#Numpy}') then
+  //if IsInstalled('{#Numpy}','{#NumpyVer}') then  //ver not needed
+    begin
+    Log('Numpy: ' + 'True');
+    installNumpy := False;
+    end 
+  else
+    //Add Numpy to d/l list
+    begin
+    Log('Numpy: ' + 'False');
+    installNumpy := True;
+
+    //filecopy(ExpandConstant('{#NumpyInstaller}'),ExpandConstant('{tmp}\{#NumpyInstaller}'),false);
+    ExtractTemporaryFile('{#NumpyInstaller}');
+
+    //The following were used to test downloader srategy
+    //itd_addfile('http://sbol.bhi.washington.edu/ppp/setup-dummyNump.exe',
+    //            ExpandConstant('{tmp}\setup-dummyNump.exe'));
+    end;
+ 
+  //Check if Matplotlib is installed
+  if IsInstalled('{#Matplotlib}') then
+  //if IsInstalled('{#Matplotlib}','{#MatplotlibVer}') then   //ver not needed
+    begin
+    Log('Matplotlib: ' + 'True');
+    installMatplot := False;
+    end
+  else
+    //Add Matplotlib to d/l list
+    begin
+    Log('Matplotlib: ' + 'False');
+    installMatplot := True;
+
+    //filecopy(ExpandConstant('{#MatplotlibInstaller}'),ExpandConstant('{tmp}\{#MatplotlibInstaller}'),false);
+    ExtractTemporaryFile('{#MatplotlibInstaller}');
+    //ExtractTemporaryFile('{#DateutilInstaller}');
+    //ExtractTemporaryFile('{#PyparsingInstaller}');
+    //ExtractTemporaryFile('{#SixInstaller}');
+
+
+    //The following were used to test downloader srategy
+    //td_addfile('http://sbol.bhi.washington.edu/ppp/setup-dummyMatplot.exe',
+    //            ExpandConstant('{tmp}\setup-dummyMatplot.exe'));
+    end;
+
+  //Downloads turned off, packaging installers.
+  //Start the download after the "Ready to install" screen is shown
+  //itd_downloadafter(wpReady);
+end;
+
+//////////////////////////////////////////////////////////////////////////////
+procedure RunOtherInstaller(execName: string);
+var
+  ResultCode: Integer;
+begin
+  if not Exec(ExpandConstant('{tmp}\' + execName), '', '', SW_SHOWNORMAL,
+    ewWaitUntilTerminated, ResultCode)
+  then
+    MsgBox('Other installer failed to run!' + #13#10 + execName +
+      SysErrorMessage(ResultCode), mbError, MB_OK);
+end; 
+
+//////////////////////////////////////////////////////////////////////////////
+// Install Numpy and Matplotlib if mising
+procedure CurStepChanged(CurStep: TSetupStep);
+var 
+   ResultCode: Integer;
+begin
+  if CurStep=ssInstall then //If on the installation step
+  //Lets install those files that were downloaded for us 
+    begin 
+    if ForceDirectories(ExpandConstant('{app}')) then 
+      begin
+      Log('app: ' + ExpandConstant('{app}'));
+      if (installNumpy) then                                    
+        RunOtherInstaller('{#NumpyInstaller}');
+      if (installMatplot) then
+        begin
+        RunOtherInstaller('{#MatplotlibInstaller}');
+        //RunOtherInstaller('{#DateutilInstaller}');
+        //RunOtherInstaller('{#PyparsingInstaller}');
+        //RunOtherInstaller('{#SixInstaller}');
+        end;
+      end;
+    end;
+end;
\ No newline at end of file
diff --git a/installer/windows/libRoadRunner-win32-minimal-setup.iss b/installer/windows/libRoadRunner-win32-minimal-setup.iss
new file mode 100644
index 0000000..18c623f
--- /dev/null
+++ b/installer/windows/libRoadRunner-win32-minimal-setup.iss
@@ -0,0 +1,122 @@
+; Script generated by the Inno Setup Script Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+
+#define MyAppName "libroadrunner"
+#define MyAppVersion "1.0.1"
+#define MyAppPublisher "University of Washington, Seattle, WA, USA"
+#define MyAppURL "http://libroadrunner.org/"
+#define MyAppSetupIconFile "libroadrunner_logo_tan.ico"
+#define ThisInstallerPostfix "win32-minimal-setup"
+ 
+#define Py "Python"
+#define PyVer "2.7"
+#define AppDir "roadrunner"
+
+;Used for downloader
+;#include ReadReg(HKEY_LOCAL_MACHINE,'Software\Sherlock Software\InnoTools\Downloader','ScriptPath','');
+
+[Setup]
+; NOTE: The value of AppId uniquely identifies this application.
+; Do not use the same AppId value in installers for other applications.
+; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
+AppId={{3B0C903B-773D-48DE-84D5-EA90B0BF67AE}
+AppName={#MyAppName}
+AppVersion={#MyAppVersion}
+;AppVerName={#MyAppName} {#MyAppVersion}
+AppPublisher={#MyAppPublisher}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DisableWelcomePage=yes
+DefaultDirName={code:SetDefaultAppDirName}
+
+;enable the next line for debug only
+;DisableDirPage=yes
+
+
+;DefaultGroupName=libRoadRunner
+DisableProgramGroupPage=yes
+;LicenseFile=..\..\LICENSE.txt
+;InfoBeforeFile=..\..\NOTICE.txt
+DisableReadyPage=yes
+;DisableFinishedPage=yes ;Finished page is good feedback
+OutputDir=.
+OutputBaseFilename={#MyAppName}-{#MyAppVersion}-{#ThisInstallerPostfix}
+SetupIconFile={#MyAppSetupIconFile}
+Compression=lzma
+SolidCompression=yes
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+
+[Files]
+Source: "..\..\site-packages\{#AppDir}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "..\..\LICENSE.TXT"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\NEWS.TXT"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\NOTICE.TXT"; DestDir: "{app}"; DestName:"NOTICE1.TXT"; Flags: ignoreversion
+Source: "libRoadrunner-installer-dependencies\NOTICE.TXT"; DestDir: "{app}"; DestName:"NOTICE2.TXT"; Flags: ignoreversion
+Source: "..\..\bin\iconv.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\bin\libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\bin\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\bin\msvcr100.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\bin\msvcp100.dll"; DestDir: "{app}"; Flags: ignoreversion 
+
+; NOTE: Don't use "Flags: ignoreversion" on any shared system files
+
+[Code]
+//////////////////////////////////////////////////////////////////////////////
+const
+  appDir = '{#AppDir}';
+  pyReg = 'SOFTWARE\{#Py}\PythonCore\{#PyVer}\InstallPath';
+  pyRegWow6443Node = 'SOFTWARE\Wow6432Node\{#Py}\PythonCore\{#PyVer}\InstallPath';
+
+var
+  DefaultAppDirName: String;
+
+//////////////////////////////////////////////////////////////////////////////
+function GetPathForPythonSitePackages(): string;
+var          
+  InstallPath: string;
+begin
+  
+  if RegQueryStringValue(HKEY_LOCAL_MACHINE, pyReg, '', InstallPath) then
+    begin
+    Log('HKLM pyReg: '+ InstallPath);
+    Result := InstallPath + 'Lib\site-packages\';
+    end
+  else
+  if RegQueryStringValue(HKEY_CURRENT_USER, pyReg, '', InstallPath) then
+    begin
+    Log('HKCU pyReg: '+ InstallPath);
+    Result := InstallPath + 'Lib\site-packages\'; 
+    end
+  else
+  if RegQueryStringValue(HKEY_LOCAL_MACHINE, pyRegWow6443Node, '', InstallPath) then
+    begin
+    Log('HKLM pyRegWow6443Node: '+ InstallPath);
+    Result := InstallPath + 'Lib\site-packages\';
+    end
+  else
+    begin
+    MsgBox('Our installer did not find your Python installation. You need '
+    + 'Python to run {#MyAppName}. In the next step use [Your Python installation'
+    + ' location]\Lib\site-packages\{#AppDir} directory.',mbError,MB_OK);
+    end
+end;
+
+//////////////////////////////////////////////////////////////////////////////
+function SetDefaultAppDirName(Value: String): String;
+begin
+  
+  if (GetPathForPythonSitePackages() <> '') then
+    begin
+    DefaultAppDirName := GetPathForPythonSitePackages() + AppDir;
+    Result := DefaultAppDirName;
+    end
+  else 
+    begin
+    Result := 'C:\Python27\Lib\site-packages\{#AppDir}';
+    end;
+
+end;
+
diff --git a/installer/windows/libroadrunner_logo_tan.ico b/installer/windows/libroadrunner_logo_tan.ico
new file mode 100644
index 0000000..744f3ac
Binary files /dev/null and b/installer/windows/libroadrunner_logo_tan.ico differ
diff --git a/installer/windows/trash.ico b/installer/windows/trash.ico
new file mode 100644
index 0000000..ede6c5d
Binary files /dev/null and b/installer/windows/trash.ico differ
diff --git a/make_docs.sh b/make_docs.sh
new file mode 100755
index 0000000..d5f805c
--- /dev/null
+++ b/make_docs.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# lame ass quick hack to make the docs
+# this 'script' is not intended to live any longer than a 
+# week or so utill we get a system down to make docs.
+
+cwd=""`pwd`""
+
+echo "cwd is ${cwd}"
+
+
+cd "$cwd/source"
+doxygen doxygen.conf
+cd "$cwd"
+
+
+#cd "$cwd/wrappers/C"
+#doxygen core_c_api.doxy
+#cd "$cwd"
+
+cd  "$cwd/wrappers/Python/doc"
+make html
+cd "$cwd"
+
diff --git a/models/BorisEJB.xml b/models/BorisEJB.xml
new file mode 100644
index 0000000..dd4e675
--- /dev/null
+++ b/models/BorisEJB.xml
@@ -0,0 +1,929 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 1/25/2011 from JDesigner 2.3.45 -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2" level = "2" version = "1" xmlns:jd2 = "http://www.sys-bio.org/sbml/jd2">
+   <!--                     -->
+   <!--  Model Starts Here  -->
+   <!--                     -->
+   <model id = "BorisEJB" name = "BorisEJB">
+      <annotation>
+         <jd2:JDesignerLayout version = "2.0" MajorVersion = "2" MinorVersion = "3" BuildVersion = "45"
+                              xmlns:jd2 = "http://www.sys-bio.org/sbml/jd2">
+            <jd2:header>
+               <jd2:VersionHeader JDesignerVersion = "1.0"/>
+               <jd2:ModelHeader Author = "" ModelVersion = "" ModelTitle = "BorisEJB"/>
+               <jd2:TimeCourseDetails timeStart = "0" timeEnd = "4000" numberOfPoints = "1000"/>
+            </jd2:header>
+            <jd2:JDGraphicsHeader BackGroundColor = "FFFFFFEF"/>
+            <jd2:listOfCompartments>
+               <jd2:compartment id = "compartment" size = "1" visible = "false">
+                  <jd2:boundingBox x = "0" y = "0" w = "0" h = "0"/>
+                  <jd2:membraneStyle thickness = "12" color = "FF00A5FF"/>
+                  <jd2:interiorStyle color = "FFEEEEFF"/>
+                  <jd2:text value = "compartment" visible = "true">
+                     <jd2:position rx = "-31" ry = "-16"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+               </jd2:compartment>
+            </jd2:listOfCompartments>
+            <jd2:listOfSpecies>
+               <jd2:species id = "MKKK" boundaryCondition = "false" compartment = "compartment" initialConcentration = "90">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "41" y = "74"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "MKKK" visible = "true">
+                     <jd2:position rx = "4" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "43" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "43" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "15" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "MKKK_P" boundaryCondition = "false" compartment = "compartment" initialConcentration = "10">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "179" y = "74"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "MKKK_P" visible = "true">
+                     <jd2:position rx = "3" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "55" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "55" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "21" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "MKK" boundaryCondition = "false" compartment = "compartment" initialConcentration = "280">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "78" y = "197"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "MKK" visible = "true">
+                     <jd2:position rx = "4" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "36" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "36" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "12" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "MKK_P" boundaryCondition = "false" compartment = "compartment" initialConcentration = "10">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "195" y = "197"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "MKK_P" visible = "true">
+                     <jd2:position rx = "3" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "48" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "48" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "18" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "MKK_PP" boundaryCondition = "false" compartment = "compartment" initialConcentration = "10">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "312" y = "197"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "MKK_PP" visible = "true">
+                     <jd2:position rx = "3" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "54" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "54" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "21" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "MAPK" boundaryCondition = "false" compartment = "compartment" initialConcentration = "280">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "166" y = "318"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "MAPK" visible = "true">
+                     <jd2:position rx = "4" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "43" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "43" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "15" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "MAPK_P" boundaryCondition = "false" compartment = "compartment" initialConcentration = "10">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "326" y = "318"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "MAPK_P" visible = "true">
+                     <jd2:position rx = "3" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "55" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "55" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "21" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "MAPK_PP" boundaryCondition = "false" compartment = "compartment" initialConcentration = "10">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "486" y = "312"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "MAPK_PP" visible = "true">
+                     <jd2:position rx = "2" ry = "6"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "DefaultMolecule" w = "61" h = "24" boundarySpeciesStyle = "bsBox"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suRoundSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "61" h = "24"/>
+                        <jd2:text value = "S1" visible = "false">
+                           <jd2:position rx = "24" ry = "5"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtHorizLinear" startColor = "FFCCFFFF" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FF969696" thickness = "1" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+            </jd2:listOfSpecies>
+            <jd2:listOfReactions>
+               <jd2:reaction id = "J0" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "MKKK" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "MKKK_P" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges>
+                     <jd2:modifierEdge>
+                        <jd2:speciesReference species = "MAPK_PP"/>
+                        <jd2:destinationReaction name = "J0" regulatorType = "rtNegative" relativePosition = "0.555555555555556" destinationArcId = "0"
+                                                 destinationLineSegmentId = "0"/>
+                        <jd2:display lineThickness = "2" lineColor = "FFFF0000" lineDashStyle = "dsSolid" negativeMarkerStyle = "rmBar">
+                           <jd2:lineType type = "ltSegmentedLine">
+                              <jd2:pt x = "516" y = "324" type = "modifier" speciesRef = "MAPK_PP"/>
+                              <jd2:pt x = "305" y = "11"/>
+                              <jd2:pt x = "131" y = "11"/>
+                              <jd2:pt x = "132" y = "35"/>
+                           </jd2:lineType>
+                        </jd2:display>
+                     </jd2:modifierEdge>
+                  </jd2:listOfModifierEdges>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J0_V1*MKKK/((1+pow(MAPK_PP/J0_Ki,J0_n))*(J0_K1+MKKK))"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FFC0C0C0" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "62" y = "86" type = "substrate" speciesRef = "MKKK"/>
+                           <jd2:pt x = "127" y = "34" type = "controlPoint"/>
+                           <jd2:pt x = "128" y = "34" type = "controlPoint"/>
+                           <jd2:pt x = "206" y = "86" type = "product" speciesRef = "MKKK_P"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J1" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "MKKK_P" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "MKKK" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J1_V2*MKKK_P/(J1_KK2+MKKK_P)"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FFC0C0C0" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "206" y = "86" type = "substrate" speciesRef = "MKKK_P"/>
+                           <jd2:pt x = "131" y = "115" type = "controlPoint"/>
+                           <jd2:pt x = "131" y = "115" type = "controlPoint"/>
+                           <jd2:pt x = "62" y = "86" type = "product" speciesRef = "MKKK"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J2" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "MKK" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "MKK_P" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges>
+                     <jd2:modifierEdge>
+                        <jd2:speciesReference species = "MKKK_P"/>
+                        <jd2:destinationReaction name = "J2" regulatorType = "rtPositive" relativePosition = "0.577235772357724" destinationArcId = "0"
+                                                 destinationLineSegmentId = "0"/>
+                        <jd2:display lineThickness = "2" lineColor = "FF0000FF" lineDashStyle = "dsSolid" positiveMarkerStyle = "rmEmptyCircle">
+                           <jd2:lineType type = "ltLine">
+                              <jd2:pt x = "206" y = "86" type = "modifier" speciesRef = "MKKK_P"/>
+                              <jd2:pt x = "156" y = "162"/>
+                           </jd2:lineType>
+                        </jd2:display>
+                     </jd2:modifierEdge>
+                  </jd2:listOfModifierEdges>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J2_k3*MKKK_P*MKK/(J2_KK3+MKK)"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FFC0C0C0" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "96" y = "209" type = "substrate" speciesRef = "MKK"/>
+                           <jd2:pt x = "153" y = "163" type = "controlPoint"/>
+                           <jd2:pt x = "153" y = "163" type = "controlPoint"/>
+                           <jd2:pt x = "219" y = "209" type = "product" speciesRef = "MKK_P"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J3" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "MKK_P" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "MKK_PP" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges>
+                     <jd2:modifierEdge>
+                        <jd2:speciesReference species = "MKKK_P"/>
+                        <jd2:destinationReaction name = "J3" regulatorType = "rtPositive" relativePosition = "0.55" destinationArcId = "0"
+                                                 destinationLineSegmentId = "0"/>
+                        <jd2:display lineThickness = "2" lineColor = "FF0000FF" lineDashStyle = "dsSolid" positiveMarkerStyle = "rmEmptyCircle">
+                           <jd2:lineType type = "ltLine">
+                              <jd2:pt x = "206" y = "86" type = "modifier" speciesRef = "MKKK_P"/>
+                              <jd2:pt x = "271" y = "162"/>
+                           </jd2:lineType>
+                        </jd2:display>
+                     </jd2:modifierEdge>
+                  </jd2:listOfModifierEdges>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J3_k4*MKKK_P*MKK_P/(J3_KK4+MKK_P)"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FFC0C0C0" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "219" y = "209" type = "substrate" speciesRef = "MKK_P"/>
+                           <jd2:pt x = "270" y = "163" type = "controlPoint"/>
+                           <jd2:pt x = "270" y = "163" type = "controlPoint"/>
+                           <jd2:pt x = "339" y = "209" type = "product" speciesRef = "MKK_PP"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J4" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "MKK_PP" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "MKK_P" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J4_V5*MKK_PP/(J4_KK5+MKK_PP)"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FFC0C0C0" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "339" y = "209" type = "substrate" speciesRef = "MKK_PP"/>
+                           <jd2:pt x = "277" y = "233" type = "controlPoint"/>
+                           <jd2:pt x = "277" y = "233" type = "controlPoint"/>
+                           <jd2:pt x = "219" y = "209" type = "product" speciesRef = "MKK_P"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J5" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "MKK_P" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "MKK" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J5_V6*MKK_P/(J5_KK6+MKK_P)"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FFC0C0C0" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "219" y = "209" type = "substrate" speciesRef = "MKK_P"/>
+                           <jd2:pt x = "154" y = "233" type = "controlPoint"/>
+                           <jd2:pt x = "154" y = "233" type = "controlPoint"/>
+                           <jd2:pt x = "96" y = "209" type = "product" speciesRef = "MKK"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J6" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "MAPK" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "MAPK_P" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges>
+                     <jd2:modifierEdge>
+                        <jd2:speciesReference species = "MKK_PP"/>
+                        <jd2:destinationReaction name = "J6" regulatorType = "rtPositive" relativePosition = "0.542168674698795" destinationArcId = "0"
+                                                 destinationLineSegmentId = "0"/>
+                        <jd2:display lineThickness = "2" lineColor = "FF0000FF" lineDashStyle = "dsSolid" positiveMarkerStyle = "rmEmptyCircle">
+                           <jd2:lineType type = "ltLine">
+                              <jd2:pt x = "339" y = "209" type = "modifier" speciesRef = "MKK_PP"/>
+                              <jd2:pt x = "266" y = "283"/>
+                           </jd2:lineType>
+                        </jd2:display>
+                     </jd2:modifierEdge>
+                  </jd2:listOfModifierEdges>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J6_k7*MKK_PP*MAPK/(J6_KK7+MAPK)"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FFC0C0C0" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "187" y = "330" type = "substrate" speciesRef = "MAPK"/>
+                           <jd2:pt x = "266" y = "284" type = "controlPoint"/>
+                           <jd2:pt x = "266" y = "284" type = "controlPoint"/>
+                           <jd2:pt x = "353" y = "330" type = "product" speciesRef = "MAPK_P"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J7" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "MAPK_P" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "MAPK_PP" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges>
+                     <jd2:modifierEdge>
+                        <jd2:speciesReference species = "MKK_PP"/>
+                        <jd2:destinationReaction name = "J7" regulatorType = "rtPositive" relativePosition = "0.496932515337423" destinationArcId = "0"
+                                                 destinationLineSegmentId = "0"/>
+                        <jd2:display lineThickness = "2" lineColor = "FF0000FF" lineDashStyle = "dsSolid" positiveMarkerStyle = "rmEmptyCircle">
+                           <jd2:lineType type = "ltLine">
+                              <jd2:pt x = "339" y = "209" type = "modifier" speciesRef = "MKK_PP"/>
+                              <jd2:pt x = "421" y = "284"/>
+                           </jd2:lineType>
+                        </jd2:display>
+                     </jd2:modifierEdge>
+                  </jd2:listOfModifierEdges>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J7_k8*MKK_PP*MAPK_P/(J7_KK8+MAPK_P)"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FFC0C0C0" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "353" y = "330" type = "substrate" speciesRef = "MAPK_P"/>
+                           <jd2:pt x = "427" y = "284" type = "controlPoint"/>
+                           <jd2:pt x = "427" y = "284" type = "controlPoint"/>
+                           <jd2:pt x = "516" y = "324" type = "product" speciesRef = "MAPK_PP"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J8" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "MAPK_PP" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "MAPK_P" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J8_V9*MAPK_PP/(J8_KK9+MAPK_PP)"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FFC0C0C0" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "516" y = "324" type = "substrate" speciesRef = "MAPK_PP"/>
+                           <jd2:pt x = "433" y = "355" type = "controlPoint"/>
+                           <jd2:pt x = "433" y = "355" type = "controlPoint"/>
+                           <jd2:pt x = "353" y = "330" type = "product" speciesRef = "MAPK_P"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+               <jd2:reaction id = "J9" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "MAPK_P" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "MAPK" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "explicit">
+                     <jd2:rateEquation value = "J9_V10*MAPK_P/(J9_KK10+MAPK_P)"/>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FFC0C0C0" lineColor = "FFFF9900" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "353" y = "330" type = "substrate" speciesRef = "MAPK_P"/>
+                           <jd2:pt x = "266" y = "349" type = "controlPoint"/>
+                           <jd2:pt x = "266" y = "349" type = "controlPoint"/>
+                           <jd2:pt x = "187" y = "330" type = "product" speciesRef = "MAPK"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                  </jd2:display>
+               </jd2:reaction>
+            </jd2:listOfReactions>
+         </jd2:JDesignerLayout>
+      </annotation>
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "MKKK" boundaryCondition = "false" initialConcentration = "90" compartment = "compartment"/>
+         <species id = "MKKK_P" boundaryCondition = "false" initialConcentration = "10" compartment = "compartment"/>
+         <species id = "MKK" boundaryCondition = "false" initialConcentration = "280" compartment = "compartment"/>
+         <species id = "MKK_P" boundaryCondition = "false" initialConcentration = "10" compartment = "compartment"/>
+         <species id = "MKK_PP" boundaryCondition = "false" initialConcentration = "10" compartment = "compartment"/>
+         <species id = "MAPK" boundaryCondition = "false" initialConcentration = "280" compartment = "compartment"/>
+         <species id = "MAPK_P" boundaryCondition = "false" initialConcentration = "10" compartment = "compartment"/>
+         <species id = "MAPK_PP" boundaryCondition = "false" initialConcentration = "10" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "J0_V1" value = "2.5"/>
+         <parameter id = "J0_Ki" value = "9"/>
+         <parameter id = "J0_n" value = "1"/>
+         <parameter id = "J0_K1" value = "10"/>
+         <parameter id = "J1_V2" value = "0.25"/>
+         <parameter id = "J1_KK2" value = "8"/>
+         <parameter id = "J2_k3" value = "0.025"/>
+         <parameter id = "J2_KK3" value = "15"/>
+         <parameter id = "J3_k4" value = "0.025"/>
+         <parameter id = "J3_KK4" value = "15"/>
+         <parameter id = "J4_V5" value = "0.75"/>
+         <parameter id = "J4_KK5" value = "15"/>
+         <parameter id = "J5_V6" value = "0.75"/>
+         <parameter id = "J5_KK6" value = "15"/>
+         <parameter id = "J6_k7" value = "0.025"/>
+         <parameter id = "J6_KK7" value = "15"/>
+         <parameter id = "J7_k8" value = "0.025"/>
+         <parameter id = "J7_KK8" value = "15"/>
+         <parameter id = "J8_V9" value = "0.5"/>
+         <parameter id = "J8_KK9" value = "15"/>
+         <parameter id = "J9_V10" value = "0.5"/>
+         <parameter id = "J9_KK10" value = "15"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "J0" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "MKKK" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "MKKK_P" stoichiometry = "1"/>
+            </listOfProducts>
+            <listOfModifiers>
+               <modifierSpeciesReference species = "MAPK_PP"/>
+            </listOfModifiers>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J0_V1
+                        </ci>
+                        <ci>
+                              MKKK
+                        </ci>
+                     </apply>
+                     <apply>
+                        <times/>
+                        <apply>
+                           <plus/>
+                           <cn type = "integer">
+                                 1
+                           </cn>
+                           <apply>
+                              <power/>
+                              <apply>
+                                 <divide/>
+                                 <ci>
+                                       MAPK_PP
+                                 </ci>
+                                 <ci>
+                                       J0_Ki
+                                 </ci>
+                              </apply>
+                              <ci>
+                                    J0_n
+                              </ci>
+                           </apply>
+                        </apply>
+                        <apply>
+                           <plus/>
+                           <ci>
+                                 J0_K1
+                           </ci>
+                           <ci>
+                                 MKKK
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J1" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "MKKK_P" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "MKKK" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J1_V2
+                        </ci>
+                        <ci>
+                              MKKK_P
+                        </ci>
+                     </apply>
+                     <apply>
+                        <plus/>
+                        <ci>
+                              J1_KK2
+                        </ci>
+                        <ci>
+                              MKKK_P
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J2" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "MKK" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "MKK_P" stoichiometry = "1"/>
+            </listOfProducts>
+            <listOfModifiers>
+               <modifierSpeciesReference species = "MKKK_P"/>
+            </listOfModifiers>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J2_k3
+                        </ci>
+                        <ci>
+                              MKKK_P
+                        </ci>
+                        <ci>
+                              MKK
+                        </ci>
+                     </apply>
+                     <apply>
+                        <plus/>
+                        <ci>
+                              J2_KK3
+                        </ci>
+                        <ci>
+                              MKK
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J3" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "MKK_P" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "MKK_PP" stoichiometry = "1"/>
+            </listOfProducts>
+            <listOfModifiers>
+               <modifierSpeciesReference species = "MKKK_P"/>
+            </listOfModifiers>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J3_k4
+                        </ci>
+                        <ci>
+                              MKKK_P
+                        </ci>
+                        <ci>
+                              MKK_P
+                        </ci>
+                     </apply>
+                     <apply>
+                        <plus/>
+                        <ci>
+                              J3_KK4
+                        </ci>
+                        <ci>
+                              MKK_P
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J4" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "MKK_PP" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "MKK_P" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J4_V5
+                        </ci>
+                        <ci>
+                              MKK_PP
+                        </ci>
+                     </apply>
+                     <apply>
+                        <plus/>
+                        <ci>
+                              J4_KK5
+                        </ci>
+                        <ci>
+                              MKK_PP
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J5" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "MKK_P" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "MKK" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J5_V6
+                        </ci>
+                        <ci>
+                              MKK_P
+                        </ci>
+                     </apply>
+                     <apply>
+                        <plus/>
+                        <ci>
+                              J5_KK6
+                        </ci>
+                        <ci>
+                              MKK_P
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J6" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "MAPK" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "MAPK_P" stoichiometry = "1"/>
+            </listOfProducts>
+            <listOfModifiers>
+               <modifierSpeciesReference species = "MKK_PP"/>
+            </listOfModifiers>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J6_k7
+                        </ci>
+                        <ci>
+                              MKK_PP
+                        </ci>
+                        <ci>
+                              MAPK
+                        </ci>
+                     </apply>
+                     <apply>
+                        <plus/>
+                        <ci>
+                              J6_KK7
+                        </ci>
+                        <ci>
+                              MAPK
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J7" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "MAPK_P" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "MAPK_PP" stoichiometry = "1"/>
+            </listOfProducts>
+            <listOfModifiers>
+               <modifierSpeciesReference species = "MKK_PP"/>
+            </listOfModifiers>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J7_k8
+                        </ci>
+                        <ci>
+                              MKK_PP
+                        </ci>
+                        <ci>
+                              MAPK_P
+                        </ci>
+                     </apply>
+                     <apply>
+                        <plus/>
+                        <ci>
+                              J7_KK8
+                        </ci>
+                        <ci>
+                              MAPK_P
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J8" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "MAPK_PP" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "MAPK_P" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J8_V9
+                        </ci>
+                        <ci>
+                              MAPK_PP
+                        </ci>
+                     </apply>
+                     <apply>
+                        <plus/>
+                        <ci>
+                              J8_KK9
+                        </ci>
+                        <ci>
+                              MAPK_PP
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J9" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "MAPK_P" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "MAPK" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              J9_V10
+                        </ci>
+                        <ci>
+                              MAPK_P
+                        </ci>
+                     </apply>
+                     <apply>
+                        <plus/>
+                        <ci>
+                              J9_KK10
+                        </ci>
+                        <ci>
+                              MAPK_P
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
diff --git a/models/CMakeLists.txt b/models/CMakeLists.txt
new file mode 100644
index 0000000..8521f1a
--- /dev/null
+++ b/models/CMakeLists.txt
@@ -0,0 +1,24 @@
+cmake_minimum_required(VERSION 2.8)
+
+PROJECT(rrModels)
+
+set(models
+README.txt
+bistable.xml
+feedback.xml
+sbml_test_0001.xml 				
+#ss_threestep.xml 	
+#ss_threeSpecies.xml
+)
+
+if(BUILD_TESTS)
+add_subdirectory(test_models)
+endif()
+
+install(    FILES ${models}
+            DESTINATION models 	
+            COMPONENT sbml_models)
+
+install(    FILES README.txt
+            DESTINATION models 	
+            COMPONENT sbml_models)
diff --git a/models/MinimizationTest_A.xml b/models/MinimizationTest_A.xml
new file mode 100644
index 0000000..cb0f1ca
--- /dev/null
+++ b/models/MinimizationTest_A.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by JarnacLite version 1.0.4424.32089 on 2013-05-03 15:46 with libSBML version 5.3.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="cell" name="cell">
+    <listOfCompartments>
+      <compartment id="compartment" size="1" />
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="x0" compartment="compartment" initialConcentration="1" boundaryCondition="true" />
+      <species id="x1" compartment="compartment" initialConcentration="0" boundaryCondition="true" />
+      <species id="s1" compartment="compartment" initialConcentration="0" boundaryCondition="false" />
+      <species id="s2" compartment="compartment" initialConcentration="0" boundaryCondition="false" />
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1.2" constant="true" />
+      <parameter id="k2" value="4.5" constant="true" />
+      <parameter id="k3" value="3.4" constant="true" />
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="_J0" reversible="false">
+        <listOfReactants>
+          <speciesReference species="x0" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="s1" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci> k1 </ci>
+              <ci> x0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="s1" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="s2" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci> k2 </ci>
+              <ci> s1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="s2" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="x1" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci> k3 </ci>
+              <ci> s2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/README.txt b/models/README.txt
new file mode 100644
index 0000000..d06627a
--- /dev/null
+++ b/models/README.txt
@@ -0,0 +1,78 @@
+libRoadRunner
+Copyright 2013
+
+E. T. Somogyi 1, M. T. Karlsson 2, M. Swat 1, M. Galdzicki 3 and H. M Sauro 3
+
+1 Biocomplexity Institute, Indiana University, Simon Hall MSB1, Bloomington, IN 47405
+2 Dune Scientific, 10522 Lake City Way NE, #302 Seattle WA
+3 Department of Bioengineering, University of Washington, Seattle, WA, 98195
+
+libRoadRunner high performance and portable simulation engine for systems and synthetic biology.
+
+libRoadRunner 1.0 supports the following features:
+
+- Time Dependent Simulation (with optional conservation law reduction) using CVODE
+- Supports SBML Level 2 to 3 but currently excludes algebraic rules and delay differential equations
+- Uses latest libSBML distribution
+- Defaults to LLVM code generation on the backend, resulting is very fast simulation times
+- Optional generation of model C code and linking at run-time
+- Add plugins, distribution comes with Levenberg-Marquardt optimizer plugin
+- Compute steady state
+- Metabolic Control Analysis
+- Frequency Domain Analysis
+- Access to:
+  - Eigenvalues and Eigenvectors
+  - Jacobian, full and reduced
+  - Structural Matrices of the stoichiometry matrix
+
+
+Availability
+
+RoadRunner is licensed for free as an open source programmatic library for use in other 
+applications and as a standalone command line driven application. Its C++ API, C API, and 
+Python APIs have comprehensive documentation. On Windows, OS X, and Linux binary files can be 
+
+downloaded from http://sourceforge.net/projects/libroadrunner/files and can be installed 
+ready for use.
+
+
+Acknowledgements
+
+This work is funded by NIGMS grant: GM081070
+
+Licence
+
+Licensed under the Apache License, Version 2.0 (the License); you may not use this 
+file except in compliance with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed 
+under the License is distributed on an �AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+OF ANY KIND, either express or implied. See the License for the specific language 
+governing permissions and limitations under the License.
+
+In plain english this means:
+
+You CAN freely download and use this software, in whole or in part, for personal, 
+company internal, or commercial purposes;
+
+You CAN use the software in packages or distributions that you create.
+
+You SHOULD include a copy of the license in any redistribution you may make;
+
+You are NOT required include the source of software, or of any modifications you may 
+have made to it, in any redistribution you may assemble that includes it.
+
+YOU CANNOT: redistribute any piece of this software without proper attribution;
+
+ 
+
+  
+
+libRoadRunner logo
+
+  The libroadrunner logo is an adaptation of the image originally posted to Flickr by 
+  El Brujo+ at http://flickr.com/photos/11039104@N08/2954808342. It was reviewed on 
+  9 August 2009 by the FlickreviewR robot and was confirmed to be licensed under the 
+  terms of the cc-by-sa-2.0.
diff --git a/models/bistable.xml b/models/bistable.xml
new file mode 100644
index 0000000..7909bc1
--- /dev/null
+++ b/models/bistable.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by JarnacLite version 1.0.4965.360 on 2013-10-09 15:31 with libSBML version 5.8.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="cell" name="cell">
+    <listOfCompartments>
+      <compartment id="compartment" size="1" />
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="Xo" compartment="compartment" initialConcentration="0" boundaryCondition="true" />
+      <species id="w" compartment="compartment" initialConcentration="0" boundaryCondition="true" />
+      <species id="x" compartment="compartment" initialConcentration="0.05" boundaryCondition="false" />
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.9" constant="true" />
+      <parameter id="k2" value="0.3" constant="true" />
+      <parameter id="k3" value="0.7" constant="true" />
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="Xo" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="x" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus />
+              <cn> 0.1 </cn>
+              <apply>
+                <divide />
+                <apply>
+                  <times />
+                  <ci> k1 </ci>
+                  <apply>
+                    <power />
+                    <ci> x </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                </apply>
+                <apply>
+                  <plus />
+                  <ci> k2 </ci>
+                  <apply>
+                    <power />
+                    <ci> x </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="x" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="w" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci> k3 </ci>
+              <ci> x </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
\ No newline at end of file
diff --git a/models/bug.xml b/models/bug.xml
new file mode 100644
index 0000000..50ed940
--- /dev/null
+++ b/models/bug.xml
@@ -0,0 +1,452 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 10/4/2012 from JDesigner 2.4.3 -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2" level = "2" version = "1" xmlns:jd2 = "http://www.sys-bio.org/sbml/jd2">
+   <!--                     -->
+   <!--  Model Starts Here  -->
+   <!--                     -->
+   <model id = "untitled">
+      <notes>
+         <p xmlns = "http://www.w3.org/1999/xhtml">
+            <body/>
+         </p>
+      </notes>
+      <annotation>
+         <jd2:JDesignerLayout version = "2.0" MajorVersion = "2" MinorVersion = "4" BuildVersion = "54"
+                              xmlns:jd2 = "http://www.sys-bio.org/sbml/jd2">
+            <jd2:header>
+               <jd2:VersionHeader JDesignerVersion = "2.0"/>
+               <jd2:ModelHeader Author = "" ModelVersion = "0.0" ModelTitle = "untitled"/>
+               <jd2:TimeCourseDetails timeStart = "0" timeEnd = "10" numberOfPoints = "1000"/>
+            </jd2:header>
+            <jd2:JDGraphicsHeader BackGroundColor = "FFFFFFEF"/>
+            <jd2:listOfCompartments>
+               <jd2:compartment id = "compartment" size = "1" visible = "false">
+                  <jd2:boundingBox x = "0" y = "0" w = "64" h = "64"/>
+                  <jd2:membraneStyle thickness = "12" color = "FF00A5FF"/>
+                  <jd2:interiorStyle color = "FFEEEEFF"/>
+                  <jd2:text value = "compartment" visible = "true">
+                     <jd2:position rx = "32" ry = "58"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+               </jd2:compartment>
+            </jd2:listOfCompartments>
+            <jd2:listOfSpecies>
+               <jd2:species id = "Node0" boundaryCondition = "false" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "93" y = "83"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "Node0" visible = "true">
+                     <jd2:position rx = "13" ry = "14"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "C2592840" w = "62" h = "40" boundarySpeciesStyle = "bsShadow"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suOvalSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "62" h = "40"/>
+                        <jd2:text value = "S13" visible = "false">
+                           <jd2:position rx = "22" ry = "13"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtVertLinear" startColor = "FFFFCC99" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FFFF6600" thickness = "2" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+               <jd2:species id = "Node1" boundaryCondition = "false" compartment = "compartment" initialConcentration = "0">
+                  <jd2:positionLocked value = "false"/>
+                  <jd2:boundingBox x = "223" y = "159"/>
+                  <jd2:displayValue visible = "false">
+                     <jd2:position rx = "0" ry = "0"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                  </jd2:displayValue>
+                  <jd2:text value = "Node1" visible = "true">
+                     <jd2:position rx = "13" ry = "14"/>
+                     <jd2:font fontName = "Arial" fontSize = "8" fontStyle = "" fontColor = "FF000000"/>
+                  </jd2:text>
+                  <jd2:complex id = "C2592840" w = "62" h = "40" boundarySpeciesStyle = "bsShadow"
+                               boundaryStyleColor = "FF0000FF" captionPosition = "npCenter" aliasBoundaryColor = "FFFF0000" aliasBoundaryThickness = "3">
+                     <jd2:subunit shape = "suOvalSquare">
+                        <jd2:boundingBox rx = "0" ry = "0" w = "62" h = "40"/>
+                        <jd2:text value = "S13" visible = "false">
+                           <jd2:position rx = "22" ry = "13"/>
+                           <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                        </jd2:text>
+                        <jd2:color scheme = "gtVertLinear" startColor = "FFFFCC99" endColor = "FFFFFFFF"/>
+                        <jd2:edgeStyle color = "FFFF6600" thickness = "2" stroke = "dsSolid"/>
+                     </jd2:subunit>
+                  </jd2:complex>
+               </jd2:species>
+            </jd2:listOfSpecies>
+            <jd2:listOfReactions>
+               <jd2:reaction id = "J0" reversible = "false">
+                  <jd2:listOfReactants>
+                     <jd2:speciesReference species = "Node0" stoichiometry = "1"/>
+                  </jd2:listOfReactants>
+                  <jd2:listOfProducts>
+                     <jd2:speciesReference species = "Node1" stoichiometry = "1"/>
+                  </jd2:listOfProducts>
+                  <jd2:listOfModifierEdges/>
+                  <jd2:kineticLaw type = "builtin">
+                     <jd2:rateEquation value = "imm"/>
+                     <jd2:listOfSymbols>
+                        <jd2:parameter id = "J0_k" value = "0.1"/>
+                     </jd2:listOfSymbols>
+                  </jd2:kineticLaw>
+                  <jd2:display arrowStyle = "ar1" arrowFillColor = "FF808080" lineColor = "FF339966" lineThickness = "2">
+                     <jd2:lineType type = "ltBezier">
+                        <jd2:edge>
+                           <jd2:pt x = "124" y = "103" type = "substrate" speciesRef = "Node0"/>
+                           <jd2:pt x = "188" y = "140" type = "controlPoint"/>
+                           <jd2:pt x = "188" y = "140" type = "controlPoint"/>
+                           <jd2:pt x = "254" y = "179" type = "product" speciesRef = "Node1"/>
+                        </jd2:edge>
+                     </jd2:lineType>
+                     <jd2:displayValue visible = "false" showValue = "false" value = "0">
+                        <jd2:position rx = "0" ry = "0"/>
+                        <jd2:font fontName = "Arial" fontSize = "8" fontColor = "FF000000" fontStyle = ""/>
+                     </jd2:displayValue>
+                  </jd2:display>
+               </jd2:reaction>
+            </jd2:listOfReactions>
+         </jd2:JDesignerLayout>
+      </annotation>
+      <listOfFunctionDefinitions>
+         <functionDefinition id = "mod">
+            <math xmlns = "http://www.w3.org/1998/Math/MathML">
+               <lambda>
+                  <bvar>
+                     <ci>
+                           x
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           y
+                     </ci>
+                  </bvar>
+                  <apply>
+                     <minus/>
+                     <ci>
+                           x
+                     </ci>
+                     <apply>
+                        <times/>
+                        <ci>
+                              y
+                        </ci>
+                        <apply>
+                           <floor/>
+                           <apply>
+                              <divide/>
+                              <ci>
+                                    x
+                              </ci>
+                              <ci>
+                                    y
+                              </ci>
+                           </apply>
+                        </apply>
+                     </apply>
+                  </apply>
+               </lambda>
+            </math>
+         </functionDefinition>
+         <functionDefinition id = "normal">
+            <annotation>
+               <distribution xmlns = "http://sbml.org/annotations/distribution" definition = "http://en.wikipedia.org/wiki/Normal_distribution"/>
+            </annotation>
+            <math xmlns = "http://www.w3.org/1998/Math/MathML">
+               <lambda>
+                  <bvar>
+                     <ci>
+                           m
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           s
+                     </ci>
+                  </bvar>
+                  <ci>
+                        m
+                  </ci>
+               </lambda>
+            </math>
+         </functionDefinition>
+         <functionDefinition id = "uniform">
+            <annotation>
+               <distribution xmlns = "http://sbml.org/annotations/distribution" definition = "http://en.wikipedia.org/wiki/Uniform_distribution_(continuous)"/>
+            </annotation>
+            <math xmlns = "http://www.w3.org/1998/Math/MathML">
+               <lambda>
+                  <bvar>
+                     <ci>
+                           a
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           b
+                     </ci>
+                  </bvar>
+                  <apply>
+                     <divide/>
+                     <apply>
+                        <plus/>
+                        <ci>
+                              a
+                        </ci>
+                        <ci>
+                              b
+                        </ci>
+                     </apply>
+                     <cn type = "integer">
+                           2
+                     </cn>
+                  </apply>
+               </lambda>
+            </math>
+         </functionDefinition>
+         <functionDefinition id = "sawTooth">
+            <math xmlns = "http://www.w3.org/1998/Math/MathML">
+               <lambda>
+                  <bvar>
+                     <ci>
+                           time
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           period
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           center
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           amplitude
+                     </ci>
+                  </bvar>
+                  <apply>
+                     <plus/>
+                     <ci>
+                           center
+                     </ci>
+                     <apply>
+                        <times/>
+                        <ci>
+                              amplitude
+                        </ci>
+                        <apply>
+                           <minus/>
+                           <apply>
+                              <divide/>
+                              <ci>
+                                    time
+                              </ci>
+                              <ci>
+                                    period
+                              </ci>
+                           </apply>
+                           <apply>
+                              <floor/>
+                              <apply>
+                                 <plus/>
+                                 <apply>
+                                    <divide/>
+                                    <ci>
+                                          time
+                                    </ci>
+                                    <ci>
+                                          period
+                                    </ci>
+                                 </apply>
+                                 <cn>
+                                       0.5
+                                 </cn>
+                              </apply>
+                           </apply>
+                        </apply>
+                     </apply>
+                  </apply>
+               </lambda>
+            </math>
+         </functionDefinition>
+         <functionDefinition id = "squareWave">
+            <math xmlns = "http://www.w3.org/1998/Math/MathML">
+               <lambda>
+                  <bvar>
+                     <ci>
+                           time
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           period
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           center
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           amplitude
+                     </ci>
+                  </bvar>
+                  <apply>
+                     <plus/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              amplitude
+                        </ci>
+                        <apply>
+                           <gt/>
+                           <apply>
+                              <sin/>
+                              <apply>
+                                 <divide/>
+                                 <apply>
+                                    <times/>
+                                    <cn type = "integer">
+                                          2
+                                    </cn>
+                                    <cn>
+                                          3.1414926
+                                    </cn>
+                                    <ci>
+                                          time
+                                    </ci>
+                                 </apply>
+                                 <ci>
+                                       period
+                                 </ci>
+                              </apply>
+                           </apply>
+                           <cn type = "integer">
+                                 0
+                           </cn>
+                        </apply>
+                     </apply>
+                     <ci>
+                           center
+                     </ci>
+                  </apply>
+               </lambda>
+            </math>
+         </functionDefinition>
+         <functionDefinition id = "triangleWave">
+            <math xmlns = "http://www.w3.org/1998/Math/MathML">
+               <lambda>
+                  <bvar>
+                     <ci>
+                           time
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           period
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           center
+                     </ci>
+                  </bvar>
+                  <bvar>
+                     <ci>
+                           amplitude
+                     </ci>
+                  </bvar>
+                  <apply>
+                     <plus/>
+                     <ci>
+                           center
+                     </ci>
+                     <apply>
+                        <times/>
+                        <ci>
+                              amplitude
+                        </ci>
+                        <apply>
+                           <abs/>
+                           <apply>
+                              <minus/>
+                              <apply>
+                                 <divide/>
+                                 <ci>
+                                       time
+                                 </ci>
+                                 <ci>
+                                       period
+                                 </ci>
+                              </apply>
+                              <apply>
+                                 <floor/>
+                                 <apply>
+                                    <plus/>
+                                    <apply>
+                                       <divide/>
+                                       <ci>
+                                             time
+                                       </ci>
+                                       <ci>
+                                             period
+                                       </ci>
+                                    </apply>
+                                    <cn>
+                                          0.5
+                                    </cn>
+                                 </apply>
+                              </apply>
+                           </apply>
+                        </apply>
+                     </apply>
+                  </apply>
+               </lambda>
+            </math>
+         </functionDefinition>
+      </listOfFunctionDefinitions>
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "Node0" boundaryCondition = "false" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "Node1" boundaryCondition = "false" initialConcentration = "0" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "J0_k" value = "0.1"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "J0" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "Node0" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "Node1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           J0_k
+                     </ci>
+                     <ci>
+                           Node0
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
diff --git a/models/feedback.xml b/models/feedback.xml
new file mode 100644
index 0000000..c70e259
--- /dev/null
+++ b/models/feedback.xml
@@ -0,0 +1,470 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2" xmlns:jd2="http://www.sys-bio.org/sbml/jd2" level="2" version="1">
+  <model id="feedback" name="Feedback">
+    <annotation>
+      <jd2:JDesignerLayout xmlns:jd2="http://www.sys-bio.org/sbml/jd2" version="2.0" MajorVersion="2" MinorVersion="3" BuildVersion="45">
+        <jd2:header>
+          <jd2:VersionHeader JDesignerVersion="1.0"/>
+          <jd2:ModelHeader ModelTitle="Feedback"/>
+          <jd2:TimeCourseDetails timeStart="0" timeEnd="25" numberOfPoints="200"/>
+        </jd2:header>
+        <jd2:JDGraphicsHeader BackGroundColor="FFFFFFEF"/>
+        <jd2:listOfCompartments>
+          <jd2:compartment id="compartment" size="1" visible="false">
+            <jd2:boundingBox x="0" y="0" w="0" h="0"/>
+            <jd2:membraneStyle thickness="12" color="FF00A5FF"/>
+            <jd2:interiorStyle color="FFEEEEFF"/>
+            <jd2:text value="compartment" visible="true">
+              <jd2:position rx="-31" ry="-16"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+          </jd2:compartment>
+        </jd2:listOfCompartments>
+        <jd2:listOfSpecies>
+          <jd2:species id="S1" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="138" y="104"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S1" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S2" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="234" y="143"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S2" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S3" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="318" y="178"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S3" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S4" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="411" y="212"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S4" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="X0" boundaryCondition="true" compartment="compartment" initialConcentration="10">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="33" y="60"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="X0" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="X1" boundaryCondition="true" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="415" y="292"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="X1" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+        </jd2:listOfSpecies>
+        <jd2:listOfReactions>
+          <jd2:reaction id="J0" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="X0" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S1" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges>
+              <jd2:modifierEdge>
+                <jd2:speciesReference species="S4"/>
+                <jd2:destinationReaction name="J0" regulatorType="rtNegative" relativePosition="0.415929203539823" destinationArcId="0" destinationLineSegmentId="0"/>
+                <jd2:display lineThickness="2" lineColor="FF0000FF" lineDashStyle="dsSolid" negativeMarkerStyle="rmBar">
+                  <jd2:lineType type="ltSegmentedLine">
+                    <jd2:pt x="423" y="224" type="modifier" speciesRef="S4"/>
+                    <jd2:pt x="353" y="243"/>
+                    <jd2:pt x="69" y="127"/>
+                    <jd2:pt x="84" y="101"/>
+                  </jd2:lineType>
+                </jd2:display>
+              </jd2:modifierEdge>
+            </jd2:listOfModifierEdges>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J0_VM1*(X0-S1/J0_Keq1)/(1+X0+S1+pow(S4,J0_h))"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="45" y="72" type="substrate" speciesRef="X0"/>
+                  <jd2:pt x="150" y="116" type="product" speciesRef="S1"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J1" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S1" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S2" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S1-2*S2)/(1+S1+S2)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="150" y="116" type="substrate" speciesRef="S1"/>
+                  <jd2:pt x="246" y="155" type="product" speciesRef="S2"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J2" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S2" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S3" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S2-2*S3)/(1+S2+S3)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="246" y="155" type="substrate" speciesRef="S2"/>
+                  <jd2:pt x="330" y="190" type="product" speciesRef="S3"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J3" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S3" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S4" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S3-2*S4)/(1+S3+S4)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="330" y="190" type="substrate" speciesRef="S3"/>
+                  <jd2:pt x="423" y="224" type="product" speciesRef="S4"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J4" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S4" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="X1" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J4_V4*S4/(J4_KS4+S4)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="423" y="224" type="substrate" speciesRef="S4"/>
+                  <jd2:pt x="427" y="304" type="product" speciesRef="X1"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+        </jd2:listOfReactions>
+      </jd2:JDesignerLayout>
+    </annotation>
+    <listOfCompartments>
+      <compartment id="compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="compartment" initialConcentration="0"/>
+      <species id="S2" compartment="compartment" initialConcentration="0"/>
+      <species id="S3" compartment="compartment" initialConcentration="0"/>
+      <species id="S4" compartment="compartment" initialConcentration="0"/>
+      <species id="X0" compartment="compartment" initialConcentration="10" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialConcentration="0" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="J0_VM1" value="10"/>
+      <parameter id="J0_Keq1" value="10"/>
+      <parameter id="J0_h" value="10"/>
+      <parameter id="J4_V4" value="2.5"/>
+      <parameter id="J4_KS4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> J0_VM1 </ci>
+                <apply>
+                  <minus/>
+                  <ci> X0 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S1 </ci>
+                    <ci> J0_Keq1 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> X0 </ci>
+                <ci> S1 </ci>
+                <apply>
+                  <power/>
+                  <ci> S4 </ci>
+                  <ci> J0_h </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S2 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S3 </ci>
+                <ci> S4 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> J4_V4 </ci>
+                <ci> S4 </ci>
+              </apply>
+              <apply>
+                <plus/>
+                <ci> J4_KS4 </ci>
+                <ci> S4 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/functest.xml b/models/functest.xml
new file mode 100644
index 0000000..4853d68
--- /dev/null
+++ b/models/functest.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5 on 2014-06-03 17:26 with libSBML version 5.9.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="functest" name="functest">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="test">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfParameters>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </rateRule>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> test </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/.cases-archive-date b/models/sbml-test-suite/cases/semantic/.cases-archive-date
new file mode 100644
index 0000000..bbca509
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/.cases-archive-date
@@ -0,0 +1 @@
+2014-10-22
diff --git a/models/sbml-test-suite/cases/semantic/.cases-tags-map b/models/sbml-test-suite/cases/semantic/.cases-tags-map
new file mode 100644
index 0000000..4c8a441
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/.cases-tags-map
@@ -0,0 +1,1197 @@
+0D-Compartment AlgebraicRule Amount AssignedConstantStoichiometry AssignedVariableStoichiometry AssignmentRule BoundaryCondition CSymbolAvogadro CSymbolDelay CSymbolTime Compartment Concentration ConstantSpecies ConversionFactors EventIsNotPersistent EventIsPersistent EventNoDelay EventPriority EventT0Firing EventUsesAssignmentTimeValues EventUsesTriggerTimeValues EventWithDelay FastReaction FunctionDefinition HasOnlySubstanceUnits InitialAssignment InitialValueReassigned LocalParameters [...]
+00001 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00002 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00003 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00004 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00005 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00006 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00007 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00008 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00009 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00010 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00011 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00012 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00013 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00014 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00015 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00016 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00017 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00018 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00019 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00020 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00021 Compartment Species Reaction Parameter Amount NonUnityCompartment NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00022 Compartment Species Reaction Parameter Amount NonUnityCompartment NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00023 Compartment Species Reaction Parameter Amount ConstantSpecies BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00024 Compartment Species Reaction Parameter Amount ConstantSpecies BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00025 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00026 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00027 Compartment Species Reaction InitialAssignment Amount NonUnityCompartment LocalParameters InitialValueReassigned 2.2 2.3 2.4 3.1 
+00028 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00029 Compartment Species AssignmentRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00030 Compartment Species AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00031 Compartment Species RateRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00032 Compartment Species Parameter RateRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00033 Compartment Species Reaction Parameter RateRule Amount NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00034 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00035 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00036 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00037 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00038 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00039 Compartment Species Reaction Parameter AlgebraicRule Amount 2.1 2.2 2.3 2.4 3.1 
+00040 Compartment Species Parameter AlgebraicRule RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00041 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00042 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00043 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00044 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00045 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00046 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00047 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00048 Compartment Species Reaction Parameter Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00049 Compartment Species Reaction Parameter Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00050 Compartment Species Reaction Parameter Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00051 Compartment Species Reaction Parameter RateRule Amount NonConstantCompartment NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00052 Compartment Species Reaction Parameter RateRule Amount NonConstantCompartment NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00053 Compartment Species Reaction Parameter RateRule Amount NonConstantCompartment NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00054 Compartment Species Reaction Parameter Amount MultiCompartment NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00055 Compartment Species Reaction Parameter Amount MultiCompartment NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00056 Compartment Species Reaction Parameter Amount MultiCompartment ReversibleReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+00057 Compartment Species Reaction Amount LocalParameters 1.2 2.1 2.2 2.3 2.4 3.1 
+00058 Compartment Species Reaction Parameter Amount LocalParameters 1.2 2.1 2.2 2.3 2.4 3.1 
+00059 Compartment Species Reaction Parameter Amount LocalParameters 1.2 2.1 2.2 2.3 2.4 3.1 
+00060 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00061 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00062 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00063 Compartment Species Reaction Parameter Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00064 Compartment Species Reaction Parameter Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00065 Compartment Species Reaction Parameter Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00066 Compartment Species Reaction Parameter RateRule Amount NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00067 Compartment Species Reaction Parameter RateRule Amount NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00068 StoichiometryMath Compartment Species Reaction Parameter Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00069 StoichiometryMath Compartment Species Reaction Parameter Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00070 StoichiometryMath Compartment Species Reaction Parameter Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00071 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00072 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00073 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00074 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00075 Compartment Species Reaction Parameter Amount NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00076 Compartment Species Reaction Parameter Amount NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00077 Compartment Species Reaction Parameter Amount NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00078 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00079 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00080 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Amount 2.1 2.2 2.3 2.4 3.1 
+00081 Compartment Species Reaction Parameter RateRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00082 Compartment Species Reaction Parameter RateRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00083 Compartment Species Reaction Parameter RateRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00084 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00085 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00086 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00087 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00088 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00089 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00090 Compartment Species Reaction Parameter AssignmentRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00091 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00092 Compartment Species Reaction Parameter RateRule AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00093 Compartment Species Reaction Parameter RateRule AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00094 Compartment Species Reaction Parameter RateRule AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00095 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00096 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00097 Compartment Species Reaction Parameter FunctionDefinition Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00098 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00099 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00100 Compartment Species Reaction Parameter FunctionDefinition Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00101 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00102 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00103 Compartment Species Reaction Parameter FunctionDefinition Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00104 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00105 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00106 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00107 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00108 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00109 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00110 Compartment Species Reaction Parameter FunctionDefinition Amount MultiCompartment NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00111 Compartment Species Reaction Parameter FunctionDefinition Amount MultiCompartment NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00112 Compartment Species Reaction Parameter FunctionDefinition Amount MultiCompartment ReversibleReaction 2.1 2.2 2.3 2.4 3.1 
+00113 Compartment Species Reaction Parameter FunctionDefinition Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00114 Compartment Species Reaction Parameter FunctionDefinition Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00115 Compartment Species Reaction Parameter FunctionDefinition Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00116 Compartment Species Reaction Parameter FunctionDefinition Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00117 Compartment Species Reaction Parameter FunctionDefinition Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00118 Compartment Species Reaction Parameter FunctionDefinition Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00119 Compartment Species Reaction Parameter FunctionDefinition Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00120 Compartment Species Reaction Parameter FunctionDefinition Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00121 Compartment Species Reaction Parameter FunctionDefinition Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00122 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00123 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00124 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00125 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00126 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00127 Compartment Parameter Reaction Species FunctionDefinition Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00128 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00129 StoichiometryMath Compartment Species Reaction Parameter FunctionDefinition Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00130 StoichiometryMath Compartment Species Reaction Parameter FunctionDefinition Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00131 StoichiometryMath Compartment Species Reaction Parameter FunctionDefinition Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00132 Compartment Species Reaction FunctionDefinition Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00133 Compartment Parameter Species Reaction FunctionDefinition Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00134 Compartment Species Parameter Reaction FunctionDefinition Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00135 Compartment Species Reaction Parameter InitialAssignment Amount 2.2 2.3 2.4 3.1 
+00136 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00137 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00138 Compartment Species Reaction Parameter AssignmentRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00139 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00140 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00141 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00142 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00143 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00144 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00145 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00146 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00147 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00148 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00149 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00150 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00151 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00152 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00153 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00154 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00155 Compartment Species Reaction Parameter AssignmentRule Amount 0D-Compartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00156 Compartment Species Reaction Parameter AssignmentRule Amount 0D-Compartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00157 Compartment Species Reaction Parameter AssignmentRule Amount NonUnityCompartment InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00158 Compartment Species Reaction Parameter AssignmentRule Amount NonUnityCompartment InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00159 Compartment Species Reaction Parameter AssignmentRule Amount NonUnityStoichiometry InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00160 Compartment Species Reaction Parameter AssignmentRule Amount NonUnityStoichiometry InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00161 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00162 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00163 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00164 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00165 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00166 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00167 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00168 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00169 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00170 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00171 Parameter FunctionDefinition RateRule NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00172 Parameter RateRule EventNoDelay NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00173 Parameter RateRule NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00174 Parameter AssignmentRule InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00175 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00176 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00177 Parameter RateRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00178 Parameter FunctionDefinition RateRule NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00179 Parameter FunctionDefinition RateRule NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00180 Parameter InitialAssignment RateRule NonConstantParameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+00181 Parameter RateRule AssignmentRule NonConstantParameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00182 Parameter RateRule AlgebraicRule NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00183 Parameter FunctionDefinition RateRule AssignmentRule NonConstantParameter InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00184 Parameter FunctionDefinition RateRule AlgebraicRule NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00185 Parameter InitialAssignment RateRule AssignmentRule NonConstantParameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+00186 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00187 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00188 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00189 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00190 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00191 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00192 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00193 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00194 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00195 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00196 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00197 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00198 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00199 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00200 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00201 Compartment Species Reaction Parameter Amount 2.1 2.2 2.3 2.4 3.1 
+00202 Compartment Species Reaction Parameter Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00203 Compartment Species Reaction Parameter Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00204 Compartment Species Reaction Parameter Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00205 Compartment Species Reaction Parameter Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00206 Compartment Species Reaction Parameter Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00207 Compartment Species Reaction Parameter Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00208 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00209 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00210 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00211 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00212 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00213 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00214 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00215 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00216 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00217 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00218 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00219 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00220 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00221 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00222 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00223 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00224 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00225 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00226 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00227 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00228 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00229 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00230 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00231 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00232 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00233 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00234 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00235 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00236 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00237 Compartment Species Reaction Parameter Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00238 Compartment Species Reaction Parameter Amount 0D-Compartment BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00239 Compartment Species Reaction Parameter Amount 0D-Compartment BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00240 Compartment Species Reaction Parameter Amount 0D-Compartment BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00241 Compartment Species Reaction Parameter Amount 0D-Compartment BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00242 Compartment Species Reaction Parameter Amount 0D-Compartment BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00243 Compartment Species Reaction Parameter Amount 0D-Compartment BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00244 Compartment Species Reaction Parameter Amount 0D-Compartment BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00245 Compartment Species Reaction Parameter Amount 0D-Compartment BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00246 Compartment Species Reaction Parameter Amount 0D-Compartment BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00247 Compartment Species Reaction Parameter Amount 0D-Compartment BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00248 Compartment Species Reaction Parameter Amount ConstantSpecies NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00249 Compartment Species Reaction Parameter Amount ConstantSpecies NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00250 Compartment Species Reaction Parameter Amount ConstantSpecies NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00251 Compartment Species Reaction Parameter Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00252 Compartment Species Reaction Parameter Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00253 Compartment Species Reaction Parameter Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00254 Compartment Species Reaction Parameter Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00255 Compartment Species Reaction Parameter Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00256 Compartment Species Reaction Parameter Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00257 Compartment Species Reaction Parameter Amount ConstantSpecies 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00258 Compartment Species Reaction Parameter Amount ConstantSpecies 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00259 Compartment Species Reaction Parameter Amount ConstantSpecies 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00260 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00261 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00262 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00263 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00264 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00265 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00266 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00267 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00268 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00269 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00270 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00271 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00272 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00273 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00274 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00275 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00276 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00277 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00278 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00279 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00280 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00281 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00282 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00283 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00284 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00285 Compartment Species Reaction Parameter FunctionDefinition Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00286 Compartment Species Reaction Parameter AssignmentRule Amount MultiCompartment NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00287 Compartment Species Reaction Parameter AssignmentRule Amount MultiCompartment InitialValueReassigned NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00288 Compartment Species Reaction Parameter AssignmentRule Amount MultiCompartment ReversibleReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+00289 Compartment Species Reaction Parameter AssignmentRule Amount MultiCompartment InitialValueReassigned NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00290 Compartment Species Reaction Parameter AssignmentRule Amount MultiCompartment InitialValueReassigned NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00291 Compartment Species Reaction Parameter AssignmentRule Amount MultiCompartment NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00292 Compartment Species Reaction Parameter AssignmentRule Amount MultiCompartment InitialValueReassigned NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00293 Compartment Species Reaction Parameter AssignmentRule Amount MultiCompartment InitialValueReassigned ReversibleReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+00294 Compartment Species Reaction Parameter AssignmentRule Amount MultiCompartment InitialValueReassigned ReversibleReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+00295 Compartment Species Reaction Parameter AssignmentRule Amount HasOnlySubstanceUnits InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00296 Compartment Species Reaction Parameter AssignmentRule Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00297 Compartment Species Reaction Parameter AssignmentRule Amount BoundaryCondition InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00298 Compartment Species Reaction Parameter AssignmentRule Amount BoundaryCondition InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00299 Compartment Species Reaction Parameter AssignmentRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00300 Compartment Species Reaction Parameter AssignmentRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00301 Compartment Species Reaction Parameter AssignmentRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00302 Compartment Species Reaction Parameter AssignmentRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00303 Compartment Species Reaction Parameter AssignmentRule Amount BoundaryCondition InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00304 Compartment Species Reaction Parameter AssignmentRule Amount ConstantSpecies BoundaryCondition InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00305 Compartment Species Reaction Parameter AssignmentRule Amount ConstantSpecies BoundaryCondition InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00306 Compartment Species Reaction Parameter AssignmentRule Amount BoundaryCondition ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00307 Compartment Species Reaction Parameter AssignmentRule Amount BoundaryCondition ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00308 Compartment Species Reaction Parameter AssignmentRule Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00309 Compartment Species Reaction Parameter AssignmentRule Amount ConstantSpecies InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00310 Compartment Species Reaction Parameter AssignmentRule RateRule Amount NonConstantCompartment NonUnityCompartment NonConstantParameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00311 Compartment Species Reaction Parameter AssignmentRule RateRule Amount NonConstantCompartment NonUnityCompartment NonConstantParameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00312 Compartment Species Reaction Parameter AssignmentRule RateRule Amount NonConstantCompartment NonUnityCompartment NonConstantParameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00313 Compartment Species RateRule Reaction Parameter AssignmentRule Amount NonConstantCompartment NonUnityCompartment NonConstantParameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00314 Compartment Species RateRule Reaction Parameter AssignmentRule Amount NonConstantCompartment NonUnityCompartment NonConstantParameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00315 Compartment Species RateRule Reaction Parameter AssignmentRule Amount NonConstantCompartment NonUnityCompartment NonConstantParameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00316 Compartment Species RateRule Reaction Parameter AssignmentRule Amount NonConstantCompartment NonUnityCompartment NonConstantParameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00317 Compartment Species RateRule Reaction Parameter AssignmentRule Amount NonConstantCompartment NonUnityCompartment NonConstantParameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00318 Compartment Species RateRule Reaction Parameter AssignmentRule Amount NonConstantCompartment NonUnityCompartment NonConstantParameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00319 Compartment Species Reaction Parameter RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00320 Compartment Species Reaction Parameter RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00321 Compartment Species Reaction Parameter RateRule Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00322 Compartment Species Reaction Parameter RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00323 Compartment Species Reaction Parameter RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00324 Compartment Species Reaction Parameter RateRule Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00325 Compartment Species Reaction Parameter RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00326 Compartment Species Reaction Parameter RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00327 Compartment Species Reaction Parameter RateRule Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00328 Compartment Species Reaction Parameter RateRule Amount NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00329 Compartment Species Reaction Parameter RateRule Amount NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00330 Compartment Species Reaction Parameter RateRule Amount NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00331 Compartment Species Reaction Parameter RateRule Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00332 Compartment Species Reaction Parameter RateRule Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00333 Compartment Species Reaction Parameter RateRule Amount HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00334 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00335 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00336 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00337 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00338 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00339 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00340 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00341 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00342 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00343 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00344 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00345 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00346 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00347 Compartment Species Reaction Parameter RateRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00348 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00349 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00350 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00351 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00352 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00353 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00354 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00355 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00356 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00357 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00358 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00359 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00360 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00361 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00362 Compartment Species Reaction Parameter EventNoDelay Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00363 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00364 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00365 Compartment Species Reaction Parameter EventNoDelay Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00366 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00367 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00368 Compartment Species Reaction Parameter EventNoDelay Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00369 Compartment Species Reaction Parameter EventNoDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00370 Compartment Species Reaction Parameter EventNoDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00371 Compartment Species Reaction Parameter EventNoDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00372 Compartment Species Reaction Parameter EventNoDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00373 Compartment Species Reaction Parameter EventNoDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00374 Compartment Species Reaction Parameter EventNoDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00375 Compartment Species Reaction Parameter EventNoDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00376 Compartment Species Reaction Parameter EventNoDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00377 Compartment Species Reaction Parameter EventNoDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00378 Compartment Species Reaction Parameter EventNoDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00379 Compartment Species Reaction Parameter EventNoDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00380 Compartment Species Reaction Parameter EventNoDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00381 Compartment Species Reaction Parameter EventNoDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00382 Compartment Species Reaction Parameter EventNoDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00383 Compartment Species Reaction Parameter EventNoDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00384 Compartment Species Reaction Parameter EventNoDelay Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00385 Compartment Species Reaction Parameter EventNoDelay Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00386 Compartment Species Reaction Parameter EventNoDelay Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00387 Compartment Species Reaction Parameter EventNoDelay Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00388 StoichiometryMath Compartment Species Reaction Parameter EventNoDelay Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00389 Compartment Species Reaction EventNoDelay Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00390 Compartment Species Reaction Parameter EventNoDelay Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00391 StoichiometryMath Compartment Species Reaction Parameter EventNoDelay Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00392 Compartment Species Reaction EventNoDelay Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00393 Compartment Species Reaction Parameter EventNoDelay Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00394 StoichiometryMath Compartment Species Reaction Parameter EventNoDelay Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00395 Compartment Species Reaction EventNoDelay Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00396 Parameter RateRule EventNoDelay NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00397 Parameter RateRule EventNoDelay NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00398 Parameter RateRule EventNoDelay NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00399 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00400 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00401 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00402 Parameter RateRule EventNoDelay NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00403 Parameter RateRule EventNoDelay NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00404 Parameter RateRule EventNoDelay NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00405 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00406 Compartment Species Reaction Parameter EventWithDelay Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00407 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00408 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00409 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00410 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00411 Compartment Species Reaction Parameter EventWithDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00412 Compartment Species Reaction Parameter EventWithDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00413 Compartment Species Reaction Parameter EventWithDelay FunctionDefinition Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00414 Compartment Species Reaction Parameter EventWithDelay FunctionDefinition Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00415 Compartment Species Reaction Parameter EventWithDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00416 Compartment Species Reaction Parameter EventWithDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00417 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00418 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00419 Compartment Species Reaction Parameter EventWithDelay Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00420 Compartment Species Reaction Parameter EventWithDelay Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00421 Compartment Species Reaction Parameter EventWithDelay Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00422 Compartment Species Reaction Parameter EventWithDelay Amount 0D-Compartment EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00423 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00424 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00425 Compartment Species Reaction Parameter EventWithDelay Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00426 Compartment Species Reaction Parameter EventWithDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00427 Compartment Species Reaction Parameter EventWithDelay Amount NonUnityCompartment EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00428 Compartment Species Reaction Parameter EventWithDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00429 Compartment Species Reaction Parameter EventWithDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00430 Compartment Species Reaction Parameter EventWithDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00431 Compartment Species Reaction Parameter EventWithDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00432 Compartment Species Reaction Parameter EventWithDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00433 Compartment Species Reaction Parameter EventWithDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00434 Compartment Species Reaction Parameter EventWithDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00435 Compartment Species Reaction Parameter EventWithDelay Amount BoundaryCondition EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00436 Compartment Species Reaction Parameter EventWithDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00437 Compartment Species Reaction Parameter EventWithDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00438 Compartment Species Reaction Parameter EventWithDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00439 Compartment Species Reaction Parameter EventWithDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00440 Compartment Species Reaction Parameter EventWithDelay Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00441 Compartment Species Reaction Parameter EventWithDelay Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00442 Compartment Species Reaction Parameter EventWithDelay Amount ConstantSpecies EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00443 Compartment Species Reaction Parameter EventWithDelay Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00444 Compartment Species Reaction Parameter EventWithDelay Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00445 StoichiometryMath Compartment Species Reaction Parameter EventWithDelay Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00446 Compartment Species Reaction EventWithDelay Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00447 Compartment Species Reaction Parameter EventWithDelay Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00448 StoichiometryMath Compartment Species Reaction Parameter EventWithDelay Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00449 Compartment Species Reaction EventWithDelay Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00450 Compartment Species Reaction Parameter EventWithDelay Amount NonUnityStoichiometry EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00451 StoichiometryMath Compartment Species Reaction Parameter EventWithDelay Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00452 Compartment Species Reaction EventWithDelay Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00453 Parameter RateRule EventWithDelay NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00454 Parameter RateRule EventWithDelay NonConstantParameter EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00455 Parameter RateRule EventWithDelay NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00456 Compartment Species Reaction Parameter EventWithDelay Amount EventUsesTriggerTimeValues 2.1 2.2 2.3 2.4 3.1 
+00457 Compartment Species Reaction Parameter EventWithDelay Amount EventUsesTriggerTimeValues 2.1 2.2 2.3 2.4 3.1 
+00458 Compartment Species Reaction Parameter EventWithDelay Amount EventUsesTriggerTimeValues 2.1 2.2 2.3 2.4 3.1 
+00459 Parameter RateRule EventWithDelay NonConstantParameter EventUsesTriggerTimeValues 2.1 2.2 2.3 2.4 3.1 
+00460 Parameter RateRule EventWithDelay NonConstantParameter EventUsesTriggerTimeValues 2.1 2.2 2.3 2.4 3.1 
+00461 Parameter RateRule EventWithDelay NonConstantParameter EventUsesTriggerTimeValues 2.1 2.2 2.3 2.4 3.1 
+00462 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00463 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00464 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00465 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00466 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00467 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00468 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00469 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00470 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00471 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00472 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00473 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00474 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00475 Compartment Species Reaction Parameter InitialAssignment Amount 2.2 2.3 2.4 3.1 
+00476 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00477 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00478 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00479 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00480 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00481 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00482 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00483 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00484 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00485 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00486 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00487 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00488 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00489 Compartment Species Reaction Parameter InitialAssignment Amount 0D-Compartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00490 Compartment Species Reaction Parameter InitialAssignment Amount 0D-Compartment 2.2 2.3 2.4 3.1 
+00491 Compartment Species Reaction Parameter InitialAssignment Amount 0D-Compartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00492 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00493 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00494 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00495 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00496 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00497 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00498 Compartment Species Reaction Parameter InitialAssignment Amount BoundaryCondition InitialValueReassigned 2.2 2.3 2.4 3.1 
+00499 Compartment Species Reaction Parameter InitialAssignment Amount BoundaryCondition InitialValueReassigned 2.2 2.3 2.4 3.1 
+00500 Compartment Species Reaction Parameter InitialAssignment Amount BoundaryCondition 2.2 2.3 2.4 3.1 
+00501 Compartment Species Reaction Parameter InitialAssignment Amount BoundaryCondition InitialValueReassigned 2.2 2.3 2.4 3.1 
+00502 Compartment Species Reaction Parameter InitialAssignment Amount BoundaryCondition 2.2 2.3 2.4 3.1 
+00503 Compartment Species Reaction Parameter InitialAssignment Amount BoundaryCondition InitialValueReassigned 2.2 2.3 2.4 3.1 
+00504 Compartment Species Reaction Parameter InitialAssignment Amount ConstantSpecies InitialValueReassigned 2.2 2.3 2.4 3.1 
+00505 Compartment Species Reaction Parameter InitialAssignment Amount ConstantSpecies 2.2 2.3 2.4 3.1 
+00506 Compartment Species Reaction Parameter InitialAssignment Amount ConstantSpecies InitialValueReassigned 2.2 2.3 2.4 3.1 
+00507 Compartment Species Reaction Parameter InitialAssignment Amount ConstantSpecies 2.2 2.3 2.4 3.1 
+00508 Compartment Species Reaction Parameter InitialAssignment Amount ConstantSpecies InitialValueReassigned 2.2 2.3 2.4 3.1 
+00509 Compartment Species Reaction Parameter InitialAssignment Amount ConstantSpecies InitialValueReassigned 2.2 2.3 2.4 3.1 
+00510 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityStoichiometry InitialValueReassigned 2.2 2.3 2.4 3.1 
+00511 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityStoichiometry InitialValueReassigned 2.2 2.3 2.4 3.1 
+00512 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityStoichiometry 2.2 2.3 2.4 3.1 
+00513 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityStoichiometry InitialValueReassigned 2.2 2.3 2.4 3.1 
+00514 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityStoichiometry InitialValueReassigned 2.2 2.3 2.4 3.1 
+00515 Compartment Species Reaction Parameter InitialAssignment Amount NonUnityStoichiometry InitialValueReassigned 2.2 2.3 2.4 3.1 
+00516 StoichiometryMath Compartment Species Reaction Parameter InitialAssignment Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 2.2 2.3 2.4 
+00517 StoichiometryMath Compartment Species Reaction Parameter InitialAssignment Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 2.2 2.3 2.4 
+00518 StoichiometryMath Compartment Species Reaction Parameter InitialAssignment Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.2 2.3 2.4 
+00519 StoichiometryMath Compartment Species Reaction Parameter InitialAssignment Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 2.2 2.3 2.4 
+00520 StoichiometryMath Compartment Species Reaction Parameter InitialAssignment Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.2 2.3 2.4 
+00521 StoichiometryMath Compartment Species Reaction Parameter InitialAssignment Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 2.2 2.3 2.4 
+00522 Compartment Species Reaction Parameter InitialAssignment Amount LocalParameters InitialValueReassigned 2.2 2.3 2.4 3.1 
+00523 Compartment Species Reaction Parameter InitialAssignment Amount LocalParameters 2.2 2.3 2.4 3.1 
+00524 Compartment Species Reaction Parameter InitialAssignment Amount LocalParameters InitialValueReassigned 2.2 2.3 2.4 3.1 
+00525 Compartment Species Reaction Parameter InitialAssignment Amount LocalParameters InitialValueReassigned 2.2 2.3 2.4 3.1 
+00526 Compartment Species Reaction Parameter InitialAssignment Amount LocalParameters InitialValueReassigned 2.2 2.3 2.4 3.1 
+00527 Compartment Species Reaction Parameter InitialAssignment Amount LocalParameters InitialValueReassigned 2.2 2.3 2.4 3.1 
+00528 Compartment Species Reaction Parameter InitialAssignment FunctionDefinition Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00529 Compartment Species Reaction Parameter InitialAssignment FunctionDefinition Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00530 Compartment Species Reaction Parameter InitialAssignment FunctionDefinition Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00531 Compartment Species Reaction Parameter AlgebraicRule Amount 2.1 2.2 2.3 2.4 3.1 
+00532 Compartment Species Reaction Parameter AlgebraicRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00533 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00534 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00535 Compartment Species Reaction Parameter AlgebraicRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00536 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00537 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00538 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00539 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00540 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00541 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00542 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00543 Compartment Species Reaction Parameter AlgebraicRule Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00544 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00545 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00546 Compartment Species Reaction Parameter AlgebraicRule Amount 0D-Compartment 2.1 2.2 2.3 2.4 3.1 
+00547 Compartment Species Reaction Parameter AlgebraicRule Amount NonUnityCompartment InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00548 Compartment Species Reaction Parameter AlgebraicRule Amount NonUnityCompartment InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00549 Compartment Species Reaction Parameter AlgebraicRule Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00550 Compartment Species Reaction Parameter AlgebraicRule Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00551 Compartment Species Reaction Parameter AlgebraicRule Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00552 Compartment Species Reaction Parameter AlgebraicRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00553 Compartment Species Reaction Parameter AlgebraicRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00554 Compartment Species Reaction Parameter AlgebraicRule Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00555 Compartment Species Reaction Parameter AlgebraicRule Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00556 Compartment Species Reaction Parameter AlgebraicRule Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00557 Compartment Species Reaction Parameter AlgebraicRule Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00558 Compartment Species Reaction Parameter AlgebraicRule Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00559 Compartment Species Reaction Parameter AlgebraicRule Amount NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00560 Compartment Species Reaction Parameter AlgebraicRule Amount NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00561 StoichiometryMath Compartment Species Reaction Parameter AlgebraicRule Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 2.1 2.2 2.3 2.4 
+00562 StoichiometryMath Compartment Species Reaction Parameter AlgebraicRule Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 2.1 2.2 2.3 2.4 
+00563 StoichiometryMath Compartment Species Reaction Parameter AlgebraicRule Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00564 StoichiometryMath Compartment Species Reaction Parameter AlgebraicRule Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00565 Compartment Species Reaction Parameter AlgebraicRule Amount LocalParameters InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00566 Compartment Species Reaction AlgebraicRule Amount LocalParameters 1.2 2.1 2.2 2.3 2.4 3.1 
+00567 Compartment Species Reaction Parameter AlgebraicRule FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00568 Compartment Species Reaction Parameter AlgebraicRule FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00569 Compartment Species Reaction Parameter AlgebraicRule FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00570 Compartment Species Reaction Parameter AlgebraicRule FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00571 Compartment Species Reaction Parameter AlgebraicRule FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00572 Compartment Species Reaction Parameter AlgebraicRule FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00573 Parameter RateRule AlgebraicRule NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00574 Parameter RateRule AlgebraicRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00575 Parameter RateRule AlgebraicRule NonConstantParameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00576 Parameter RateRule AlgebraicRule NonConstantParameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00577 Compartment Species Reaction Parameter Concentration BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00578 Compartment Species Reaction Parameter Concentration BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00579 Compartment Species Reaction Parameter Concentration BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00580 Compartment Species Reaction Parameter Concentration NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00581 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00582 Compartment Species Reaction Parameter Concentration BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00583 Compartment Species Reaction Parameter Concentration NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00584 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00585 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00586 Compartment Species Reaction Parameter Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00587 Compartment Species Reaction Parameter Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00588 Compartment Species Reaction Parameter Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00589 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00590 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00591 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00592 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00593 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00594 Compartment Species Reaction Parameter Concentration 2.1 2.2 2.3 2.4 3.1 
+00595 Compartment Species Reaction Concentration LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00596 Compartment Species Reaction Parameter Concentration LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00597 Compartment Species Reaction Parameter Concentration LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00598 Compartment Species Reaction Parameter Concentration ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00599 Compartment Species Reaction Parameter Concentration ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00600 Compartment Species Reaction Parameter Concentration ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00601 Compartment Species Reaction Parameter Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00602 Compartment Species Reaction Parameter Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00603 Compartment Species Reaction Parameter Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00604 Compartment Species Reaction Parameter FunctionDefinition Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00605 Compartment Species Reaction Parameter FunctionDefinition Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00606 Compartment Species Reaction Parameter FunctionDefinition Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00607 Compartment Species Reaction Parameter AssignmentRule Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00608 Compartment Species Reaction Parameter AssignmentRule Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00609 StoichiometryMath Compartment Species Reaction Parameter AssignmentRule Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 2.1 2.2 2.3 2.4 
+00610 StoichiometryMath Compartment Species Reaction Parameter AssignmentRule Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 2.1 2.2 2.3 2.4 
+00611 Compartment Species Reaction Parameter AssignmentRule Amount LocalParameters InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00612 Compartment Species Reaction Parameter AssignmentRule Amount LocalParameters InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00613 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00614 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00615 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00616 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00617 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00618 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00619 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00620 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00621 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00622 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00623 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00624 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00625 Compartment Species Reaction Parameter RateRule AssignmentRule FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00626 Compartment Species Reaction Parameter RateRule AssignmentRule FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00627 Compartment Species Reaction Parameter RateRule AssignmentRule FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00628 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00629 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00630 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00631 Compartment Species Reaction Parameter AssignmentRule InitialAssignment FunctionDefinition Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00632 Compartment Species Reaction Parameter AssignmentRule InitialAssignment FunctionDefinition Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00633 Compartment Species Reaction Parameter AssignmentRule InitialAssignment FunctionDefinition Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00634 Compartment Species Reaction Parameter AssignmentRule EventNoDelay FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00635 Compartment Species Reaction Parameter AssignmentRule EventNoDelay FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00636 Compartment Species Reaction Parameter AssignmentRule EventNoDelay FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00637 Compartment Species Reaction Parameter AssignmentRule EventWithDelay FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00638 Compartment Species Reaction Parameter AssignmentRule EventWithDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00639 Compartment Species Reaction Parameter AssignmentRule EventWithDelay FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00640 Compartment Species Reaction Parameter RateRule InitialAssignment Amount 2.2 2.3 2.4 3.1 
+00641 Compartment Species Reaction Parameter RateRule InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00642 Compartment Species Reaction Parameter RateRule InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00643 Compartment Species Reaction Parameter RateRule AssignmentRule InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00644 Compartment Species Reaction Parameter RateRule AssignmentRule InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00645 Compartment Species Reaction Parameter RateRule AssignmentRule InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00646 Compartment Species Reaction Parameter RateRule EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00647 Compartment Species Reaction Parameter RateRule EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00648 Compartment Species Reaction Parameter RateRule EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00649 Compartment Species Reaction Parameter RateRule EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00650 Compartment Species Reaction Parameter RateRule EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00651 Compartment Species Reaction Parameter RateRule EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00652 Compartment Species Reaction Parameter RateRule AssignmentRule EventNoDelay Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00653 Compartment Species Reaction Parameter RateRule AssignmentRule EventNoDelay Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00654 Compartment Species Reaction Parameter RateRule AssignmentRule EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00655 Compartment Species Reaction Parameter RateRule AssignmentRule EventWithDelay Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00656 Compartment Species Reaction Parameter RateRule AssignmentRule EventWithDelay Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00657 Compartment Species Reaction Parameter RateRule AssignmentRule EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00658 Compartment Species Reaction Parameter AlgebraicRule InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00659 Compartment Species Reaction Parameter AlgebraicRule InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00660 Compartment Species Reaction Parameter AlgebraicRule InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00661 Compartment Species Reaction Parameter AlgebraicRule EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00662 Compartment Species Reaction Parameter AlgebraicRule EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00663 Compartment Species Reaction Parameter AlgebraicRule EventNoDelay Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00664 Compartment Species Reaction Parameter AlgebraicRule EventWithDelay Amount EventUsesTriggerTimeValues InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00665 Compartment Species Reaction Parameter AlgebraicRule EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00666 Compartment Species Reaction Parameter AlgebraicRule EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00667 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Amount NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00668 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Amount NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00669 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00670 Compartment Species Reaction Parameter RateRule AssignmentRule Amount NonUnityCompartment InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00671 Compartment Species Reaction Parameter RateRule AssignmentRule Amount NonUnityCompartment InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00672 Compartment Species Reaction Parameter RateRule AssignmentRule Amount NonUnityCompartment InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00673 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule Amount NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00674 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule Amount NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00675 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule Amount NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00676 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Amount NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00677 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Amount NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00678 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Amount NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00679 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Amount NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00680 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00681 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Amount NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00682 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Amount NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00683 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00684 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Amount NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00685 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00686 Compartment Species Reaction Parameter RateRule AssignmentRule Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00687 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00688 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Concentration NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00689 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00690 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00691 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Amount BoundaryCondition InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00692 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Amount BoundaryCondition InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00693 Compartment Species Reaction Parameter RateRule AssignmentRule Amount BoundaryCondition InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00694 Compartment Species Reaction Parameter RateRule AssignmentRule Amount BoundaryCondition InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00695 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule Amount BoundaryCondition InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00696 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule Amount BoundaryCondition InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00697 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Amount BoundaryCondition InitialValueReassigned 2.2 2.3 2.4 3.1 
+00698 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Amount BoundaryCondition InitialValueReassigned 2.2 2.3 2.4 3.1 
+00699 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Amount BoundaryCondition InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00700 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Amount BoundaryCondition InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00701 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Amount BoundaryCondition InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00702 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Amount BoundaryCondition InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00703 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Amount LocalParameters InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00704 Compartment Species Reaction Parameter RateRule AssignmentRule Amount LocalParameters InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00705 Compartment Species Reaction Parameter AlgebraicRule AssignmentRule Amount LocalParameters InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00706 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Amount LocalParameters InitialValueReassigned 2.2 2.3 2.4 3.1 
+00707 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00708 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Amount LocalParameters InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00709 Compartment Species Reaction Parameter RateRule Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00710 Compartment Species Reaction Parameter RateRule Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00711 Compartment Species Reaction Parameter RateRule Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00712 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount NonConstantParameter NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00713 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount NonConstantParameter NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00714 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount NonConstantParameter NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00715 Compartment Species Reaction Parameter RateRule AssignmentRule Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00716 Compartment Species Reaction Parameter RateRule AssignmentRule Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00717 Compartment Species Reaction Parameter RateRule Amount ConstantSpecies 2.1 2.2 2.3 2.4 3.1 
+00718 Compartment Species Reaction Parameter RateRule Amount NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00719 Compartment Species Reaction Parameter RateRule Amount NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00720 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00721 Compartment Species Reaction Parameter RateRule AssignmentRule Amount NonUnityStoichiometry InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00722 Compartment Species Reaction Parameter RateRule InitialAssignment Amount NonUnityStoichiometry InitialValueReassigned 2.2 2.3 2.4 3.1 
+00723 Compartment Species Reaction Parameter RateRule EventNoDelay Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00724 Compartment Species Reaction Parameter RateRule EventWithDelay Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00725 StoichiometryMath Compartment Species Reaction Parameter RateRule Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00726 StoichiometryMath Compartment Species Reaction Parameter RateRule Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00727 StoichiometryMath Compartment Species Reaction Parameter FunctionDefinition RateRule Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00728 StoichiometryMath Compartment Species Reaction Parameter RateRule AssignmentRule Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 2.1 2.2 2.3 2.4 
+00729 StoichiometryMath Compartment Species Reaction Parameter RateRule InitialAssignment Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 2.2 2.3 2.4 
+00730 StoichiometryMath Compartment Species Reaction Parameter RateRule EventNoDelay Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00731 StoichiometryMath Compartment Species Reaction Parameter RateRule EventWithDelay Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00732 Compartment Species Reaction Parameter RateRule Amount LocalParameters 1.2 2.1 2.2 2.3 2.4 3.1 
+00733 Compartment Species Reaction Parameter FunctionDefinition RateRule Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00734 Compartment Species Reaction Parameter RateRule AssignmentRule Amount LocalParameters InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00735 Compartment Species Reaction Parameter RateRule InitialAssignment Amount LocalParameters InitialValueReassigned 2.2 2.3 2.4 3.1 
+00736 Compartment Species Reaction Parameter RateRule EventNoDelay Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00737 Compartment Species Reaction Parameter RateRule EventWithDelay Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00738 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00739 Compartment Species Reaction Parameter FunctionDefinition AssignmentRule Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00740 Compartment Species Reaction Parameter FunctionDefinition RateRule Concentration NonConstantParameter NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00741 Compartment Species Reaction Parameter FunctionDefinition RateRule Concentration NonConstantParameter NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00742 Compartment Species Reaction Parameter FunctionDefinition RateRule Concentration NonConstantParameter NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00743 Compartment Species Reaction Parameter EventNoDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00744 Compartment Species Reaction Parameter EventNoDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00745 Compartment Species Reaction Parameter EventNoDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00746 Compartment Species Reaction Parameter EventNoDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00747 Compartment Species Reaction Parameter EventNoDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00748 Compartment Species Reaction Parameter EventNoDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00749 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00750 Compartment Species Reaction Parameter AssignmentRule EventNoDelay Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00751 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00752 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00753 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00754 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition InitialAssignment Amount 2.2 2.3 2.4 3.1 
+00755 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00756 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00757 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition EventWithDelay Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00758 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition EventWithDelay Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00759 Compartment Species Reaction Parameter EventNoDelay FunctionDefinition EventWithDelay Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00760 Compartment Species Reaction Parameter AlgebraicRule EventNoDelay FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00761 Compartment Species Reaction Parameter AlgebraicRule EventNoDelay FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00762 Compartment Species Reaction Parameter AlgebraicRule EventNoDelay FunctionDefinition Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00763 Compartment Species Reaction Parameter EventWithDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00764 Compartment Species Reaction Parameter EventWithDelay Concentration NonUnityCompartment EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00765 Compartment Species Reaction Parameter EventWithDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00766 Compartment Species Reaction Parameter EventWithDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00767 Compartment Species Reaction Parameter EventWithDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00768 Compartment Species Reaction Parameter EventWithDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00769 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00770 Compartment Species Reaction Parameter AssignmentRule EventWithDelay Concentration NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00771 Compartment Species Reaction Parameter EventWithDelay InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00772 Compartment Species Reaction Parameter EventWithDelay InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00773 Compartment Species Reaction Parameter EventWithDelay InitialAssignment Amount 2.2 2.3 2.4 3.1 
+00774 Compartment Species Reaction Parameter EventWithDelay EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00775 Compartment Species Reaction Parameter EventWithDelay EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00776 Compartment Species Reaction Parameter EventWithDelay EventNoDelay Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00777 Compartment Species Reaction Parameter AssignmentRule EventWithDelay AlgebraicRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00778 Compartment Species Reaction Parameter AlgebraicRule EventWithDelay InitialAssignment Amount 2.2 2.3 2.4 3.1 
+00779 Compartment Species Reaction Parameter AlgebraicRule EventWithDelay InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00780 Compartment Species Reaction Parameter AlgebraicRule EventWithDelay InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00781 Compartment Species Reaction Parameter InitialAssignment Concentration NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00782 Compartment Species Reaction Parameter InitialAssignment Concentration NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00783 Compartment Species Reaction Parameter InitialAssignment Concentration NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00784 Compartment Species Reaction Parameter InitialAssignment Concentration NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00785 Compartment Species Reaction Parameter InitialAssignment Concentration NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00786 Compartment Species Reaction Parameter InitialAssignment Concentration NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00787 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Concentration NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00788 Compartment Species Reaction Parameter AssignmentRule InitialAssignment Concentration NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00789 Compartment Species Reaction Parameter EventNoDelay InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00790 Compartment Species Reaction Parameter EventNoDelay InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00791 Compartment Species Reaction Parameter EventNoDelay InitialAssignment Amount 2.2 2.3 2.4 3.1 
+00792 Compartment Species Reaction Parameter InitialAssignment Concentration InitialValueReassigned 2.2 2.3 2.4 3.1 
+00793 Compartment Species Reaction Parameter InitialAssignment Concentration InitialValueReassigned 2.2 2.3 2.4 3.1 
+00794 Compartment Species Reaction Parameter InitialAssignment Concentration InitialValueReassigned 2.2 2.3 2.4 3.1 
+00795 Compartment Species Reaction Parameter InitialAssignment Concentration InitialValueReassigned 2.2 2.3 2.4 3.1 
+00796 Compartment Species Reaction Parameter InitialAssignment Concentration InitialValueReassigned 2.2 2.3 2.4 3.1 
+00797 Compartment Species Reaction Parameter InitialAssignment Concentration InitialValueReassigned 2.2 2.3 2.4 3.1 
+00798 Compartment Species Reaction Parameter InitialAssignment Concentration 2.2 2.3 2.4 3.1 
+00799 Compartment Species Reaction Parameter InitialAssignment Concentration InitialValueReassigned 2.2 2.3 2.4 3.1 
+00800 Compartment Species Reaction Parameter InitialAssignment Concentration InitialValueReassigned 2.2 2.3 2.4 3.1 
+00801 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00802 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00803 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00804 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00805 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00806 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00807 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00808 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00809 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00810 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00811 Compartment Species Reaction Parameter Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00812 Compartment Species Reaction Parameter Amount NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00813 Compartment Species Reaction Parameter Amount NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00814 Compartment Species Reaction Parameter Amount NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00815 Compartment Species Reaction Parameter Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00816 Compartment Species Reaction Parameter Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00817 Compartment Species Reaction Parameter Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00818 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00819 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00820 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00821 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00822 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00823 Compartment Species Reaction Parameter Amount BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00824 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00825 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00826 Compartment Species Reaction Parameter Amount NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+00827 StoichiometryMath Compartment Species Reaction Parameter Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00828 StoichiometryMath Compartment Species Reaction Parameter Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00829 StoichiometryMath Compartment Species Reaction Parameter Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00830 Compartment Species Reaction Parameter Amount LocalParameters 1.2 2.1 2.2 2.3 2.4 3.1 
+00831 Compartment Species Reaction Amount LocalParameters 1.2 2.1 2.2 2.3 2.4 3.1 
+00832 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00833 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00834 Compartment Species Reaction Parameter FunctionDefinition Amount 2.1 2.2 2.3 2.4 3.1 
+00835 Compartment Species Reaction Parameter InitialAssignment Amount 2.2 2.3 2.4 3.1 
+00836 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00837 Compartment Species Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00838 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00839 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00840 Compartment Species Reaction Parameter AssignmentRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00841 Compartment Species Reaction Parameter RateRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00842 Compartment Species Reaction Parameter RateRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00843 Compartment Species Reaction Parameter RateRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+00844 Compartment Species Reaction Parameter AlgebraicRule Amount ReversibleReaction InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00845 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00846 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00847 Compartment Species Reaction Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00848 Compartment Species Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00849 Compartment Species Reaction Parameter EventWithDelay Amount ReversibleReaction EventUsesTriggerTimeValues 2.1 2.2 2.3 2.4 3.1 
+00850 Compartment Species Reaction Parameter EventWithDelay Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00851 Compartment Species Reaction Parameter CSymbolTime Amount 2.1 2.2 2.3 2.4 3.1 
+00852 Compartment Species Reaction Parameter CSymbolTime Amount 2.1 2.2 2.3 2.4 3.1 
+00853 Compartment Species Reaction Parameter CSymbolTime Amount 2.1 2.2 2.3 2.4 3.1 
+00854 Compartment Species Reaction Parameter FunctionDefinition CSymbolTime Amount 2.1 2.2 2.3 2.4 3.1 
+00855 Compartment Species Reaction Parameter FunctionDefinition CSymbolTime Amount 2.1 2.2 2.3 2.4 3.1 
+00856 Compartment Species Reaction Parameter FunctionDefinition CSymbolTime Amount 2.1 2.2 2.3 2.4 3.1 
+00857 Compartment Species Reaction Parameter CSymbolTime Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00858 Compartment Species Reaction Parameter CSymbolTime Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00859 Compartment Species Reaction Parameter CSymbolTime Amount NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00860 Compartment Species Reaction Parameter CSymbolTime Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00861 Compartment Species Reaction Parameter CSymbolTime Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00862 Compartment Species Reaction Parameter CSymbolTime Concentration NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00863 Compartment Species Reaction Parameter CSymbolTime Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00864 Compartment Species Reaction Parameter CSymbolTime Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00865 Compartment Species Reaction Parameter CSymbolTime Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00866 Compartment Species Reaction Parameter CSymbolTime Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00867 Compartment Species Reaction Parameter CSymbolTime Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00868 Compartment Species Reaction Parameter CSymbolTime Amount BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00869 Compartment Species Reaction Parameter CSymbolTime BoundaryCondition Amount 2.1 2.2 2.3 2.4 3.1 
+00870 Compartment Species Reaction Parameter Amount ReversibleReaction FastReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+00871 Compartment Species Reaction Parameter Amount FastReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+00872 Compartment Species Reaction Parameter Amount ReversibleReaction FastReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00873 Compartment Species Reaction Parameter Amount ReversibleReaction FastReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00874 Compartment Species Reaction Parameter Amount FastReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00875 Compartment Species Reaction Parameter Amount FastReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+00876 Compartment Species Reaction Parameter AlgebraicRule Amount ReversibleReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+00877 Compartment Species Reaction Parameter CSymbolTime InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00878 Compartment Species CSymbolTime Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00879 Compartment Species CSymbolTime Reaction Parameter InitialAssignment Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+00880 Compartment Species CSymbolTime Reaction Parameter AssignmentRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00881 Compartment Species CSymbolTime Reaction Parameter AssignmentRule Amount InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00882 Compartment Species Reaction Parameter CSymbolTime Amount ConstantSpecies BoundaryCondition 2.1 2.2 2.3 2.4 3.1 
+00883 Compartment Species Reaction Parameter CSymbolTime EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00884 Compartment Species Reaction CSymbolTime Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00885 Compartment Species Reaction CSymbolTime Parameter EventNoDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00886 Compartment Species CSymbolTime Reaction Parameter EventWithDelay Amount 2.1 2.2 2.3 2.4 3.1 
+00887 Compartment Species Reaction Parameter CSymbolTime EventWithDelay EventNoDelay Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00888 Compartment Species CSymbolTime Reaction Parameter RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00889 Compartment Species Reaction Parameter CSymbolTime RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00890 Compartment Species Reaction CSymbolTime Parameter RateRule Amount 2.1 2.2 2.3 2.4 3.1 
+00891 Parameter RateRule CSymbolTime NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00892 Parameter RateRule CSymbolTime NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00893 Parameter RateRule CSymbolTime NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00894 Compartment Species Reaction Parameter CSymbolTime Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00895 Compartment Species Reaction Parameter CSymbolTime Amount NonUnityStoichiometry 2.1 2.2 2.3 2.4 3.1 
+00896 Compartment Species Reaction Parameter CSymbolTime Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00897 Compartment Species Reaction Parameter CSymbolTime Amount LocalParameters 2.1 2.2 2.3 2.4 3.1 
+00898 StoichiometryMath Compartment Species Reaction Parameter CSymbolTime Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00899 StoichiometryMath Compartment Species Reaction Parameter CSymbolTime Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00900 StoichiometryMath Compartment Species Reaction Parameter CSymbolTime Amount LocalParameters AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00901 Compartment Parameter RateRule NonConstantCompartment NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00902 Compartment RateRule NonConstantCompartment NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00903 Compartment RateRule NonConstantCompartment NonUnityCompartment MultiCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00904 Compartment RateRule NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00905 Compartment RateRule NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00906 Compartment Parameter RateRule NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00907 Compartment Parameter RateRule NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00908 Compartment RateRule NonConstantCompartment NonUnityCompartment MultiCompartment 2.1 2.2 2.3 2.4 3.1 
+00909 Compartment RateRule NonConstantCompartment NonUnityCompartment MultiCompartment 2.1 2.2 2.3 2.4 3.1 
+00910 Compartment RateRule NonConstantCompartment NonUnityCompartment MultiCompartment 2.1 2.2 2.3 2.4 3.1 
+00911 Compartment RateRule FunctionDefinition NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00912 Compartment RateRule InitialAssignment NonConstantCompartment NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00913 Compartment RateRule InitialAssignment NonConstantCompartment NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00914 Compartment RateRule FunctionDefinition NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00915 Compartment RateRule FunctionDefinition NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00916 Compartment RateRule InitialAssignment NonConstantCompartment NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00917 Compartment RateRule InitialAssignment NonConstantCompartment NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00918 Compartment RateRule InitialAssignment NonConstantCompartment NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00919 Compartment RateRule InitialAssignment NonConstantCompartment NonUnityCompartment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00920 Parameter InitialAssignment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00921 Parameter InitialAssignment InitialValueReassigned 2.2 2.3 2.4 3.1 
+00922 Parameter InitialAssignment 2.2 2.3 2.4 3.1 
+00923 Parameter AssignmentRule InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00924 Parameter AssignmentRule InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00925 Parameter AssignmentRule 1.2 2.1 2.2 2.3 2.4 3.1 
+00926 Compartment Species RateRule Concentration NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00927 Compartment Species RateRule Amount NonConstantCompartment NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+00928 Compartment CSymbolTime Species Reaction Parameter EventNoDelay Amount EventT0Firing 3.1 
+00929 Compartment CSymbolTime Species Reaction Parameter EventNoDelay Amount EventT0Firing 3.1 
+00930 Compartment CSymbolTime Species EventNoDelay EventPriority Amount 3.1 
+00931 Compartment CSymbolTime Species EventNoDelay EventPriority Amount 3.1 
+00932 Compartment Species Reaction Parameter EventWithDelay Amount EventIsNotPersistent 3.1 
+00933 Compartment Species Reaction Parameter EventWithDelay Amount EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+00934 CSymbolTime Compartment EventNoDelay EventPriority Species Amount EventIsPersistent 3.1 
+00935 CSymbolTime Compartment EventNoDelay EventPriority Species Amount EventIsNotPersistent EventIsPersistent 3.1 
+00936 AssignmentRule CSymbolTime Compartment EventWithDelay Species Concentration BoundaryCondition EventIsPersistent EventUsesAssignmentTimeValues InitialValueReassigned 2.4 3.1 
+00937 AssignmentRule CSymbolDelay CSymbolTime Parameter NonConstantParameter InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00938 AssignmentRule CSymbolDelay CSymbolTime Compartment InitialAssignment Parameter Reaction Species Amount NonConstantParameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+00939 AssignmentRule CSymbolDelay Compartment Parameter Reaction Species Amount NonConstantParameter InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00940 AssignmentRule CSymbolDelay CSymbolTime Compartment InitialAssignment Parameter Species Amount NonConstantParameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+00941 AssignmentRule CSymbolDelay CSymbolTime InitialAssignment Parameter NonConstantParameter 2.2 2.3 2.4 3.1 
+00942 AssignmentRule CSymbolDelay CSymbolTime Compartment InitialAssignment Parameter Species Amount NonConstantParameter 2.2 2.3 2.4 3.1 
+00943 AssignmentRule CSymbolDelay CSymbolTime InitialAssignment Parameter NonConstantParameter 2.2 2.3 2.4 3.1 
+00944 Compartment EventNoDelay Parameter Reaction Species Amount NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00945 Compartment EventNoDelay Parameter Reaction Species Amount NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00946 AssignmentRule Compartment EventNoDelay Parameter Reaction Species Amount NonConstantCompartment NonConstantParameter NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00947 Compartment EventNoDelay Parameter Reaction Species Concentration NonConstantCompartment NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00948 AssignmentRule Compartment EventNoDelay Parameter Reaction Species Concentration NonConstantCompartment NonConstantParameter NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00949 Parameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00950 InitialAssignment Parameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+00951 Parameter 1.2 2.1 2.2 2.3 2.4 3.1 
+00952 AssignmentRule CSymbolTime EventNoDelay EventPriority Parameter EventIsNotPersistent NonConstantParameter RandomEventExecution 3.1 
+00953 AssignmentRule CSymbolTime EventNoDelay Parameter NonConstantParameter EventIsNotPersistent InitialValueReassigned 3.1 
+00954 AssignmentRule Parameter InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+00955 AssignmentRule CSymbolTime Parameter NonConstantParameter InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00956 InitialAssignment Parameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+00957 AssignmentRule Parameter NonConstantParameter InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00958 InitialAssignment Parameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+00959 AssignmentRule CSymbolTime Parameter NonConstantParameter InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00960 CSymbolAvogadro InitialAssignment Parameter InitialValueReassigned 3.1 
+00961 AssignmentRule CSymbolAvogadro Parameter InitialValueReassigned 3.1 
+00962 AssignmentRule CSymbolTime EventNoDelay EventPriority Parameter EventIsNotPersistent NonConstantParameter RandomEventExecution 3.1 
+00963 CSymbolTime EventNoDelay EventPriority Parameter EventIsNotPersistent NonConstantParameter 3.1 
+00964 AssignmentRule CSymbolTime EventNoDelay EventPriority Parameter EventIsNotPersistent NonConstantParameter RandomEventExecution 3.1 
+00965 AssignmentRule CSymbolTime EventNoDelay EventPriority Parameter EventIsNotPersistent EventIsPersistent EventUsesTriggerTimeValues NonConstantParameter RandomEventExecution 3.1 Parameter EventNoDelay EventPriority AssignmentRule CSymbolTime 3.1 
+00966 AssignmentRule CSymbolTime EventNoDelay EventPriority FunctionDefinition Parameter EventIsNotPersistent EventIsPersistent EventUsesTriggerTimeValues NonConstantParameter RandomEventExecution 3.1 
+00967 CSymbolTime EventNoDelay EventPriority Parameter NonConstantParameter EventIsNotPersistent 3.1 
+00968 StoichiometryMath Compartment Parameter Reaction Species Amount AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00969 Compartment InitialAssignment Parameter Reaction Species Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+00970 AssignmentRule Compartment Parameter Reaction Species Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+00971 AssignmentRule Compartment Parameter Reaction Species Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+00972 Compartment EventNoDelay Parameter Reaction Species Amount AssignedVariableStoichiometry NonUnityStoichiometry 3.1 
+00973 StoichiometryMath Compartment Parameter RateRule Reaction Species Amount AssignedVariableStoichiometry NonConstantParameter NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00974 AssignmentRule Compartment InitialAssignment Parameter RateRule Reaction Species Amount InitialValueReassigned NonConstantParameter SpeciesReferenceInMath 3.1 
+00975 Compartment Parameter Reaction Species Amount ConversionFactors NonUnityStoichiometry 3.1 
+00976 Compartment Parameter Reaction Species Amount ConversionFactors NonUnityStoichiometry 3.1 
+00977 Compartment Parameter Reaction Species Amount ConversionFactors NonUnityStoichiometry 3.1 
+00978 CSymbolTime EventNoDelay EventPriority Parameter EventIsNotPersistent EventIsPersistent EventUsesAssignmentTimeValues EventUsesTriggerTimeValues NonConstantParameter 3.1 
+00979 CSymbolTime EventNoDelay Parameter NonConstantParameter 2.1 2.2 2.3 2.4 3.1 
+00980 CSymbolTime EventWithDelay Parameter EventUsesAssignmentTimeValues NonConstantParameter 2.4 3.1 
+00981 AssignmentRule CSymbolDelay CSymbolTime Compartment Parameter RateRule NonConstantParameter InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00982 AssignmentRule CSymbolDelay CSymbolTime Parameter RateRule NonConstantParameter InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00983 AlgebraicRule AssignmentRule CSymbolDelay CSymbolTime Parameter RateRule NonConstantParameter InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00984 AssignmentRule CSymbolDelay CSymbolTime Compartment EventNoDelay Parameter RateRule NonConstantParameter InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00985 AssignmentRule CSymbolDelay Parameter RateRule NonConstantParameter InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+00986 Compartment Reaction Species Amount FastReaction HasOnlySubstanceUnits 1.2 2.1 2.2 2.3 2.4 3.1 
+00987 CSymbolTime Compartment EventNoDelay Parameter Reaction Species Amount FastReaction NonConstantParameter HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00988 Compartment EventWithDelay EventNoDelay Parameter Reaction Species Amount EventIsPersistent FastReaction NonConstantParameter HasOnlySubstanceUnits 2.1 2.2 2.3 2.4 3.1 
+00989 StoichiometryMath Compartment Parameter Reaction Species Amount AssignedVariableStoichiometry HasOnlySubstanceUnits NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00990 StoichiometryMath Compartment Parameter RateRule Reaction Species Amount AssignedVariableStoichiometry NonUnityStoichiometry NonConstantParameter 2.1 2.2 2.3 2.4 
+00991 StoichiometryMath Compartment EventNoDelay Parameter Reaction Species Amount AssignedVariableStoichiometry NonUnityStoichiometry NonConstantParameter 2.1 2.2 2.3 2.4 
+00992 StoichiometryMath AssignmentRule Compartment Parameter Reaction Species Amount AssignedVariableStoichiometry HasOnlySubstanceUnits InitialValueReassigned NonUnityStoichiometry NonConstantParameter 2.1 2.2 2.3 2.4 
+00993 StoichiometryMath AlgebraicRule Compartment Parameter Reaction Species Amount AssignedVariableStoichiometry InitialValueReassigned NonConstantParameter NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00994 StoichiometryMath CSymbolTime Compartment Parameter Reaction Species Amount AssignedVariableStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+00995 EventNoDelay Parameter EventT0Firing NonConstantParameter 3.1 
+00996 EventNoDelay Parameter RateRule EventT0Firing NonConstantParameter 3.1 
+00997 EventNoDelay EventPriority Parameter EventT0Firing NonConstantParameter 3.1 
+00998 Compartment Reaction Species Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+00999 AssignmentRule Compartment Parameter RateRule Species Amount HasOnlySubstanceUnits MultiCompartment NonConstantCompartment NonConstantParameter NonUnityCompartment InitialValueReassigned 2.1 2.2 2.3 2.4 3.1 
+01000 AssignmentRule CSymbolAvogadro CSymbolTime Compartment EventNoDelay EventPriority EventWithDelay FunctionDefinition InitialAssignment Parameter RateRule Reaction Species Amount AssignedConstantStoichiometry AssignedVariableStoichiometry BoundaryCondition ConstantSpecies ConversionFactors EventIsNotPersistent EventIsPersistent EventT0Firing EventUsesAssignmentTimeValues EventUsesTriggerTimeValues HasOnlySubstanceUnits InitialValueReassigned LocalParameters MultiCompartment NonConsta [...]
+01001 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01002 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01003 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01004 Compartment Species Reaction Parameter FunctionDefinition Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01005 Compartment Species Reaction Parameter FunctionDefinition Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01006 Compartment Species Reaction Parameter FunctionDefinition Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01007 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01008 Compartment Species Reaction Parameter RateRule Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01009 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01010 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01011 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01012 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01013 Compartment Species Reaction Parameter Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01014 Compartment Species Reaction Parameter AssignmentRule Amount HasOnlySubstanceUnits InitialValueReassigned NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01015 Compartment Species Reaction Parameter AssignmentRule Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01016 Compartment Species Reaction Parameter RateRule Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01017 Compartment Species Reaction Parameter RateRule Amount HasOnlySubstanceUnits NonUnityCompartment 2.1 2.2 2.3 2.4 3.1 
+01018 Compartment Species Reaction Parameter Amount ReversibleReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+01019 Compartment Species Reaction Parameter Amount ReversibleReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+01020 Compartment Species Reaction Parameter Amount ReversibleReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+01021 Compartment Species Reaction Parameter Amount ReversibleReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+01022 Compartment Species Reaction Parameter Amount ReversibleReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+01023 Compartment Species Reaction Parameter Amount ReversibleReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+01024 Compartment Species Reaction Parameter Amount ReversibleReaction NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+01025 Compartment Species Reaction Parameter Amount ReversibleReaction NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+01026 Compartment Species Reaction Parameter Amount ReversibleReaction NonUnityStoichiometry 1.2 2.1 2.2 2.3 2.4 3.1 
+01027 StoichiometryMath Compartment Species Reaction Parameter Amount ReversibleReaction AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+01028 StoichiometryMath Compartment Species Reaction Parameter Amount ReversibleReaction AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+01029 StoichiometryMath Compartment Species Reaction Parameter Amount ReversibleReaction AssignedConstantStoichiometry NonUnityStoichiometry 2.1 2.2 2.3 2.4 
+01030 Compartment Species Reaction Parameter Amount ReversibleReaction LocalParameters 1.2 2.1 2.2 2.3 2.4 3.1 
+01031 Compartment Species Reaction Amount ReversibleReaction LocalParameters 1.2 2.1 2.2 2.3 2.4 3.1 
+01032 Compartment Species Reaction Parameter FunctionDefinition Amount ReversibleReaction 2.1 2.2 2.3 2.4 3.1 
+01033 Compartment Species Reaction Parameter FunctionDefinition Amount ReversibleReaction 2.1 2.2 2.3 2.4 3.1 
+01034 Compartment Species Reaction Parameter FunctionDefinition Amount ReversibleReaction 2.1 2.2 2.3 2.4 3.1 
+01035 Compartment Species Reaction Parameter InitialAssignment Amount ReversibleReaction 2.2 2.3 2.4 3.1 
+01036 Compartment Species Reaction Parameter InitialAssignment Amount ReversibleReaction InitialValueReassigned 2.2 2.3 2.4 3.1 
+01037 Compartment Species Reaction Parameter InitialAssignment Amount ReversibleReaction InitialValueReassigned 2.2 2.3 2.4 3.1 
+01038 Compartment Species Reaction Parameter AssignmentRule Amount ReversibleReaction InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+01039 Compartment Species Reaction Parameter AssignmentRule Amount ReversibleReaction InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+01040 Compartment Species Reaction Parameter AssignmentRule Amount ReversibleReaction InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+01041 Compartment Species Reaction Parameter RateRule Amount ReversibleReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+01042 Compartment Species Reaction Parameter RateRule Amount ReversibleReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+01043 Compartment Species Reaction Parameter RateRule Amount ReversibleReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+01044 Compartment Species Reaction Parameter AlgebraicRule Amount InitialValueReassigned 1.2 2.1 2.2 2.3 2.4 3.1 
+01045 Compartment Species Reaction Parameter EventNoDelay Amount ReversibleReaction 2.1 2.2 2.3 2.4 3.1 
+01046 Compartment Species Reaction Parameter EventNoDelay Amount ReversibleReaction 2.1 2.2 2.3 2.4 3.1 
+01047 Compartment Species Reaction Parameter EventNoDelay Amount ReversibleReaction 2.1 2.2 2.3 2.4 3.1 
+01048 Compartment Species Reaction Parameter EventWithDelay Amount ReversibleReaction 2.1 2.2 2.3 2.4 3.1 
+01049 Compartment Species Reaction Parameter EventWithDelay Amount ReversibleReaction EventUsesTriggerTimeValues 2.1 2.2 2.3 2.4 3.1 
+01050 Compartment Species Reaction Parameter EventWithDelay Amount ReversibleReaction EventIsPersistent 2.1 2.2 2.3 2.4 3.1 
+01051 Compartment Species Reaction Parameter Amount FastReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+01052 Compartment Species Reaction Parameter Amount FastReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+01053 Compartment Species Reaction Parameter Amount FastReaction BoundaryCondition 1.2 2.1 2.2 2.3 2.4 3.1 
+01054 Compartment Species Reaction Parameter AlgebraicRule Amount 1.2 2.1 2.2 2.3 2.4 3.1 
+01055 Compartment Species Reaction Parameter Amount ReversibleReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+01056 Compartment Species Reaction Parameter Amount ReversibleReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+01057 Compartment Species Reaction Parameter Amount ReversibleReaction 1.2 2.1 2.2 2.3 2.4 3.1 
+01058 Compartment Species Reaction Parameter Amount ReversibleReaction NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+01059 Compartment Species Reaction Parameter Amount ReversibleReaction NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+01060 Compartment Species Reaction Parameter Amount ReversibleReaction NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+01061 Compartment Species Reaction Parameter Concentration ReversibleReaction NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+01062 Compartment Species Reaction Parameter Concentration ReversibleReaction NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+01063 Compartment Species Reaction Parameter Concentration ReversibleReaction NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+01064 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount ReversibleReaction AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01065 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01066 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01067 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01068 InitialAssignment Compartment Species Reaction Parameter FunctionDefinition InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01069 InitialAssignment Compartment Species Reaction Parameter FunctionDefinition InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01070 InitialAssignment Compartment Species Reaction Parameter FunctionDefinition InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01071 InitialAssignment Compartment Species Reaction Parameter EventNoDelay InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01072 InitialAssignment Compartment Species Reaction Parameter EventNoDelay InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01073 InitialAssignment Compartment Species Reaction Parameter EventNoDelay InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01074 InitialAssignment Compartment Species Reaction Parameter EventWithDelay InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01075 InitialAssignment Compartment Species Reaction Parameter EventWithDelay InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01076 InitialAssignment Compartment Species Reaction Parameter EventWithDelay InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01077 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+01078 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+01079 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+01080 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+01081 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+01082 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+01083 InitialAssignment Compartment Species Reaction Parameter AlgebraicRule InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01084 InitialAssignment Compartment Species Reaction Parameter AlgebraicRule InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01085 InitialAssignment Compartment Species Reaction Parameter AlgebraicRule InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01086 InitialAssignment Compartment Species Reaction Parameter AlgebraicRule InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01087 InitialAssignment Compartment Species Reaction Parameter AssignmentRule InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+01088 InitialAssignment Compartment Species Reaction Parameter AssignmentRule InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+01089 InitialAssignment Compartment Species Reaction Parameter RateRule InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01090 InitialAssignment Compartment Species Reaction Parameter RateRule InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01091 InitialAssignment Compartment Species Reaction Parameter FunctionDefinition RateRule InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01092 InitialAssignment Compartment Species Reaction Parameter RateRule AssignmentRule InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+01093 InitialAssignment Compartment Species Reaction Parameter RateRule InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry InitialValueReassigned 3.1 
+01094 InitialAssignment Compartment Species Reaction Parameter RateRule EventNoDelay InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01095 InitialAssignment Compartment Species Reaction Parameter RateRule EventWithDelay InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01096 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01097 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01098 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01099 InitialAssignment Compartment Species Reaction Parameter CSymbolTime InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01100 Compartment Species Reaction Parameter CSymbolTime InitialAssignment InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01101 Compartment Species Reaction Parameter CSymbolTime InitialAssignment InitialValueReassigned Amount LocalParameters AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01102 Compartment InitialAssignment Parameter Reaction Species InitialValueReassigned Amount AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01103 Compartment Parameter RateRule Reaction Species Amount AssignedVariableStoichiometry NonUnityStoichiometry 3.1 
+01104 AssignmentRule Compartment Parameter Reaction Species Amount AssignedVariableStoichiometry InitialValueReassigned NonUnityStoichiometry HasOnlySubstanceUnits 3.1 
+01105 AssignmentRule Compartment Parameter RateRule Reaction Species Amount AssignedVariableStoichiometry NonUnityStoichiometry NonConstantParameter InitialValueReassigned 3.1 
+01106 AssignmentRule Compartment EventNoDelay Parameter Reaction Species Amount AssignedVariableStoichiometry NonUnityStoichiometry NonConstantParameter InitialValueReassigned 3.1 
+01107 AssignmentRule Compartment Parameter Reaction Species InitialValueReassigned Amount AssignedVariableStoichiometry NonUnityStoichiometry NonConstantParameter HasOnlySubstanceUnits 3.1 
+01108 AlgebraicRule AssignmentRule Compartment Parameter Reaction Species InitialValueReassigned Amount AssignedVariableStoichiometry InitialValueReassigned NonConstantParameter NonUnityStoichiometry 3.1 
+01109 AssignmentRule CSymbolTime Compartment Parameter Reaction Species InitialValueReassigned Amount AssignedVariableStoichiometry NonUnityStoichiometry 3.1 
+01110 Compartment Species Reaction Parameter InitialAssignment InitialValueReassigned Amount ReversibleReaction AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01111 InitialAssignment Compartment Species Reaction Parameter InitialValueReassigned Amount ReversibleReaction AssignedConstantStoichiometry NonUnityStoichiometry 3.1 
+01112 InitialAssignment Parameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+01113 InitialAssignment Parameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+01114 InitialAssignment Parameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+01115 InitialAssignment Parameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+01116 InitialAssignment Parameter InitialValueReassigned 2.2 2.3 2.4 3.1 
+01117 Compartment RateRule Species Amount ConstantSpecies NonConstantCompartment NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+01118 Compartment RateRule Species Amount BoundaryCondition ConstantSpecies NonConstantCompartment NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+01119 CSymbolTime EventPriority EventWithDelay Parameter NonConstantParameter 3.1 
+01120 Compartment EventWithDelay RateRule Species Amount EventT0Firing HasOnlySubstanceUnits NonConstantCompartment NonUnityCompartment 3.1 
+01121 AssignmentRule CSymbolAvogadro CSymbolTime Compartment FunctionDefinition InitialAssignment Parameter RateRule Reaction Species Amount AssignedConstantStoichiometry AssignedVariableStoichiometry BoundaryCondition ConstantSpecies ConversionFactors HasOnlySubstanceUnits InitialValueReassigned LocalParameters MultiCompartment NonConstantCompartment NonConstantParameter NonUnityCompartment NonUnityStoichiometry SpeciesReferenceInMath 3.1 
+01122 Compartment RateRule Reaction Species Amount BoundaryCondition NonConstantCompartment NonUnityCompartment 1.2 2.1 2.2 2.3 2.4 3.1 
+01123 Compartment RateRule Reaction Species Amount BoundaryCondition HasOnlySubstanceUnits NonConstantCompartment NonUnityCompartment 3.1 
+01124 Parameter comp:ModelDefinition comp:ReplacedElement comp:Submodel 3.1 
+01125 Parameter comp:ModelDefinition comp:Port comp:ReplacedElement comp:Submodel 3.1 
+01126 Parameter comp:ModelDefinition comp:Port comp:ReplacedElement comp:Submodel comp:SubmodelOutput 3.1 
+01127 InitialAssignment Parameter RateRule comp:ModelDefinition comp:Port comp:ReplacedElement comp:Submodel InitialValueReassigned NonConstantParameter comp:SubmodelOutput 3.1 
+01128 Parameter comp:ModelDefinition comp:ReplacedBy comp:Submodel 3.1 
+01129 Compartment Species comp:ModelDefinition comp:Submodel Amount ConstantSpecies MultiCompartment comp:SubmodelOutput 3.1 
+01130 Compartment Species comp:ModelDefinition comp:ReplacedElement comp:SBaseRef comp:Submodel Concentration ConstantSpecies NonUnityCompartment MultiCompartment comp:SubmodelOutput 3.1 
+01131 Compartment Species comp:ModelDefinition comp:ReplacedElement comp:SBaseRef comp:Submodel Concentration ConstantSpecies MultiCompartment NonUnityCompartment comp:SubmodelOutput 3.1 
+01132 Compartment Species comp:ModelDefinition comp:ReplacedElement comp:SBaseRef comp:Submodel Concentration ConstantSpecies MultiCompartment NonUnityCompartment comp:SubmodelOutput 3.1 
+01133 Compartment Species comp:ModelDefinition comp:ReplacedBy comp:ReplacedElement comp:SBaseRef comp:Submodel Concentration ConstantSpecies MultiCompartment NonUnityCompartment comp:SubmodelOutput 3.1 
+01134 Compartment Species comp:ModelDefinition comp:Port comp:ReplacedBy comp:ReplacedElement comp:SBaseRef comp:Submodel Concentration MultiCompartment NonUnityCompartment comp:SubmodelOutput 3.1 
+01135 Parameter comp:ModelDefinition comp:ReplacedBy comp:SBaseRef comp:Submodel 3.1 
+01136 Parameter comp:ModelDefinition comp:ReplacedBy comp:SBaseRef comp:ReplacedElement comp:Submodel 3.1 
+01137 AssignmentRule Parameter comp:ModelDefinition comp:ReplacedElement comp:Submodel InitialValueReassigned comp:ConversionFactor 3.1 
+01138 AssignmentRule Parameter comp:ModelDefinition comp:ReplacedElement comp:Submodel InitialValueReassigned NonConstantParameter comp:ConversionFactor comp:SubmodelOutput 3.1 
+01139 Parameter RateRule comp:ModelDefinition comp:ReplacedElement comp:Submodel NonConstantParameter comp:ConversionFactor 3.1 
+01140 Compartment Parameter RateRule Species comp:ModelDefinition comp:ReplacedElement comp:Submodel Amount HasOnlySubstanceUnits MultiCompartment comp:ConversionFactor 3.1 
+01141 Compartment Parameter RateRule comp:ModelDefinition comp:ReplacedElement comp:Submodel NonConstantCompartment NonUnityCompartment comp:ConversionFactor 3.1 
+01142 AlgebraicRule AssignmentRule CSymbolDelay CSymbolTime Compartment EventWithDelay InitialAssignment Parameter RateRule Reaction Species comp:ModelDefinition comp:ReplacedBy comp:ReplacedElement comp:Submodel Amount HasOnlySubstanceUnits InitialValueReassigned NonConstantParameter comp:TimeConversionFactor 3.1 
+01143 Compartment Parameter Reaction Species comp:ModelDefinition comp:Submodel Amount HasOnlySubstanceUnits comp:ExtentConversionFactor comp:SubmodelOutput 3.1 
+01144 CSymbolTime Compartment Parameter Reaction Species comp:ModelDefinition comp:ReplacedElement comp:Submodel Amount HasOnlySubstanceUnits comp:ExtentConversionFactor comp:SubmodelOutput comp:TimeConversionFactor 3.1 
+01145 Compartment Parameter Reaction Species comp:ModelDefinition comp:Submodel Amount HasOnlySubstanceUnits comp:ExtentConversionFactor comp:SubmodelOutput 3.1 
+01146 AssignmentRule CSymbolTime Parameter comp:ModelDefinition comp:Submodel InitialValueReassigned NonConstantParameter comp:SubmodelOutput comp:TimeConversionFactor 3.1 
+01147 AssignmentRule CSymbolTime InitialAssignment Parameter comp:ModelDefinition comp:Submodel InitialValueReassigned NonConstantParameter comp:SubmodelOutput comp:TimeConversionFactor 3.1 
+01148 CSymbolTime Compartment Parameter Reaction Species comp:ModelDefinition comp:Submodel Amount HasOnlySubstanceUnits comp:ExtentConversionFactor comp:SubmodelOutput comp:TimeConversionFactor 3.1 
+01149 Parameter comp:Deletion comp:ModelDefinition comp:ReplacedElement comp:Submodel 3.1 
+01150 Parameter RateRule comp:ModelDefinition comp:ReplacedElement comp:Submodel NonConstantParameter 3.1 
+01151 Parameter RateRule comp:Deletion comp:ModelDefinition comp:ReplacedElement comp:Submodel NonConstantParameter 3.1 
+01152 CSymbolTime EventNoDelay Parameter comp:ModelDefinition comp:ReplacedElement comp:Submodel NonConstantParameter comp:ConversionFactor 3.1 
+01153 InitialAssignment Parameter comp:Deletion comp:ModelDefinition comp:Port comp:ReplacedElement comp:SBaseRef comp:Submodel InitialValueReassigned comp:SubmodelOutput 3.1 
+01154 Parameter comp:Deletion comp:ModelDefinition comp:Submodel comp:SubmodelOutput 3.1 
+01155 CSymbolTime EventNoDelay Parameter comp:Deletion comp:ModelDefinition comp:Submodel NonConstantParameter comp:SubmodelOutput 3.1 
+01156 CSymbolTime EventWithDelay Parameter comp:Deletion comp:ModelDefinition comp:Submodel NonConstantParameter comp:SubmodelOutput 3.1 
+01157 CSymbolTime EventNoDelay Parameter comp:Deletion comp:ModelDefinition comp:Submodel NonConstantParameter comp:SubmodelOutput 3.1 
+01158 CSymbolTime EventNoDelay Parameter comp:Deletion comp:ModelDefinition comp:Submodel NonConstantParameter comp:SubmodelOutput 3.1 
+01159 Compartment Parameter Reaction Species comp:Deletion comp:ModelDefinition comp:Submodel Amount HasOnlySubstanceUnits comp:SubmodelOutput 3.1 
+01160 Compartment Parameter Reaction Species comp:ModelDefinition comp:ReplacedElement comp:Submodel Amount HasOnlySubstanceUnits comp:SubmodelOutput 3.1 
+01161 Compartment Parameter Reaction Species comp:ModelDefinition comp:Submodel Amount HasOnlySubstanceUnits LocalParameters comp:SubmodelOutput 3.1 
+01162 Parameter comp:Deletion comp:ModelDefinition comp:Port comp:ReplacedElement comp:Submodel 3.1 
+01163 Parameter RateRule comp:ModelDefinition comp:Port comp:ReplacedElement comp:Submodel NonConstantParameter 3.1 
+01164 Compartment Reaction Species comp:ModelDefinition comp:Submodel Amount MultiCompartment comp:SubmodelOutput 3.1 
+01165 Compartment Reaction Species comp:Deletion comp:ExternalModelDefinition comp:ModelDefinition comp:Port comp:ReplacedElement comp:Submodel Amount comp:SubmodelOutput 3.1 
+01166 Compartment Reaction Species comp:Deletion comp:ModelDefinition comp:Port comp:ReplacedElement comp:Submodel Amount 3.1 
+01167 Compartment Reaction Species comp:ExternalModelDefinition comp:Submodel Amount comp:SubmodelOutput 3.1 
+01168 Compartment Reaction Species comp:ExternalModelDefinition comp:Submodel Amount comp:SubmodelOutput 3.1 
+01169 AssignmentRule Compartment EventNoDelay EventPriority Parameter RateRule Reaction Species comp:Deletion comp:ModelDefinition comp:Port comp:ReplacedElement comp:Submodel Amount InitialValueReassigned NonConstantParameter comp:ConversionFactor comp:ExtentConversionFactor comp:SubmodelOutput comp:TimeConversionFactor 3.1 
+01170 CSymbolTime Compartment Parameter Reaction Species comp:ModelDefinition comp:ReplacedBy comp:ReplacedElement comp:Submodel Amount HasOnlySubstanceUnits comp:TimeConversionFactor 3.1 
+01171 AssignmentRule CSymbolTime Parameter comp:ModelDefinition comp:ReplacedElement comp:Submodel InitialValueReassigned NonConstantParameter comp:TimeConversionFactor 3.1 
+01172 CSymbolTime Parameter RateRule comp:ModelDefinition comp:ReplacedElement comp:Submodel NonConstantParameter comp:TimeConversionFactor 3.1 
+01173 AssignmentRule CSymbolDelay CSymbolTime Parameter comp:ModelDefinition comp:ReplacedElement comp:Submodel InitialValueReassigned NonConstantParameter comp:TimeConversionFactor 3.1 
+01174 AlgebraicRule CSymbolDelay CSymbolTime InitialAssignment Parameter comp:ModelDefinition comp:ReplacedElement comp:Submodel InitialValueReassigned NonConstantParameter comp:TimeConversionFactor 3.1 
+01175 CSymbolTime Compartment Parameter Reaction Species comp:ModelDefinition comp:ReplacedBy comp:ReplacedElement comp:Submodel Amount HasOnlySubstanceUnits comp:TimeConversionFactor 3.1 
+01176 AssignmentRule CSymbolDelay CSymbolTime Compartment Parameter Reaction Species comp:ModelDefinition comp:ReplacedBy comp:ReplacedElement comp:Submodel Amount HasOnlySubstanceUnits InitialValueReassigned NonConstantParameter comp:TimeConversionFactor 3.1 
+01177 CSymbolTime EventWithDelay Parameter comp:ModelDefinition comp:ReplacedElement comp:Submodel EventUsesTriggerTimeValues NonConstantParameter comp:TimeConversionFactor 3.1 
+01178 AssignmentRule Compartment Parameter Reaction Species comp:ModelDefinition comp:Submodel Amount HasOnlySubstanceUnits InitialValueReassigned comp:ExtentConversionFactor comp:SubmodelOutput 3.1 
+01179 CSymbolTime Parameter RateRule comp:ModelDefinition comp:ReplacedElement comp:Submodel NonConstantParameter comp:ConversionFactor comp:TimeConversionFactor 3.1 
+01180 AssignmentRule Compartment Parameter Reaction Species comp:ModelDefinition comp:Submodel Amount HasOnlySubstanceUnits InitialValueReassigned comp:SubmodelOutput comp:TimeConversionFactor 3.1 
+01181 AssignmentRule Compartment Parameter Reaction Species comp:ModelDefinition comp:Submodel Amount HasOnlySubstanceUnits InitialValueReassigned comp:ExtentConversionFactor comp:SubmodelOutput comp:TimeConversionFactor 3.1 
+01182 AssignmentRule Compartment Parameter Reaction Species comp:ModelDefinition comp:ReplacedElement comp:Submodel Amount HasOnlySubstanceUnits InitialValueReassigned MultiCompartment comp:ExtentConversionFactor comp:SubmodelOutput comp:TimeConversionFactor 3.1 
+01183 AssignmentRule Compartment Parameter Reaction Species comp:ModelDefinition comp:ReplacedElement comp:Submodel Amount HasOnlySubstanceUnits InitialValueReassigned MultiCompartment comp:ConversionFactor comp:ExtentConversionFactor comp:SubmodelOutput  comp:TimeConversionFactor 3.1 
+01184 Compartment InitialAssignment Parameter Reaction Species Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+01185 Compartment InitialAssignment Parameter Reaction Species Amount InitialValueReassigned 2.2 2.3 2.4 3.1 
+01186 Compartment Reaction Species fbc:FluxBound fbc:FluxObjective fbc:Objective BoundaryCondition NonUnityStoichiometry fbc:BoundGreaterEqual fbc:BoundLessEqual fbc:MaximizeObjective 3.1 
+01187 Compartment Reaction Species fbc:FluxBound fbc:FluxObjective fbc:Objective BoundaryCondition NonUnityStoichiometry fbc:BoundGreaterEqual fbc:BoundLessEqual fbc:MinimizeObjective 3.1 
+01188 Compartment Reaction Species fbc:FluxBound fbc:FluxObjective fbc:Objective BoundaryCondition NonUnityStoichiometry fbc:BoundGreaterEqual fbc:BoundLessEqual fbc:MaximizeObjective 3.1 
+01189 Compartment Reaction Species fbc:FluxBound fbc:FluxObjective fbc:Objective BoundaryCondition NonUnityStoichiometry fbc:BoundGreaterEqual fbc:BoundLessEqual fbc:MinimizeObjective 3.1 
+01190 Compartment Reaction Species fbc:FluxBound fbc:FluxObjective fbc:Objective BoundaryCondition NonUnityStoichiometry fbc:BoundGreaterEqual fbc:BoundLessEqual fbc:MaximizeObjective 3.1 
+01191 Compartment Reaction Species fbc:FluxBound fbc:FluxObjective fbc:Objective BoundaryCondition NonUnityStoichiometry fbc:BoundGreaterEqual fbc:BoundLessEqual fbc:MaximizeObjective fbc:MinimizeObjective 3.1 
+01192 Compartment Reaction Species fbc:FluxBound fbc:FluxObjective fbc:Objective BoundaryCondition NonUnityStoichiometry fbc:BoundGreaterEqual fbc:BoundLessEqual fbc:MaximizeObjective 3.1 
+01193 Compartment Reaction Species fbc:FluxBound fbc:FluxObjective fbc:Objective BoundaryCondition NonUnityStoichiometry fbc:BoundGreaterEqual fbc:BoundLessEqual fbc:MaximizeObjective 3.1 
+01194 Compartment Reaction Species fbc:FluxBound fbc:FluxObjective fbc:Objective BoundaryCondition NonUnityStoichiometry fbc:BoundGreaterEqual fbc:BoundLessEqual fbc:MaximizeObjective 3.1 
+01195 Compartment Reaction Species fbc:FluxBound fbc:FluxObjective fbc:Objective BoundaryCondition NonUnityStoichiometry fbc:BoundEqual fbc:BoundGreaterEqual fbc:BoundLessEqual fbc:MaximizeObjective 3.1 
+01196 Compartment Reaction Species fbc:FluxBound fbc:FluxObjective fbc:Objective BoundaryCondition NonUnityStoichiometry fbc:BoundGreaterEqual fbc:BoundLessEqual fbc:MaximizeObjective 3.1 
diff --git a/models/sbml-test-suite/cases/semantic/00001/00001-results.csv b/models/sbml-test-suite/cases/semantic/00001/00001-results.csv
new file mode 100644
index 0000000..3abe477
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00001/00001-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0
+0.1,0.0001357256127053939,1.427438729460607e-005
+0.2,0.0001228096129616973,2.719038703830272e-005
+0.3,0.0001111227331022577,3.887726689774233e-005
+0.4,0.0001005480069053459,4.945199309465411e-005
+0.5,9.097959895689501e-005,5.902040104310499e-005
+0.6,8.232174541410396e-005,6.767825458589604e-005
+0.7,7.448779556871142e-005,7.551220443128858e-005
+0.8,6.739934461758323e-005,8.260065538241677e-005
+0.9,6.098544896108986e-005,8.901455103891014e-005
+1,5.518191617571635e-005,9.481808382428365e-005
+1.1,4.993066255471193e-005,0.0001000693374452881
+1.2,4.517913178683031e-005,0.0001048208682131697
+1.3,4.087976895510189e-005,0.0001091202310448981
+1.4,3.698954459124097e-005,0.000113010455408759
+1.5,3.346952402226447e-005,0.0001165304759777355
+1.6,3.028447769919831e-005,0.0001197155223008017
+1.7,2.740252860791019e-005,0.0001225974713920898
+1.8,2.479483323323798e-005,0.000125205166766762
+1.9,2.243529288339526e-005,0.0001275647071166047
+2,2.03002924854919e-005,0.0001296997075145081
+2.1,1.836846423794729e-005,0.0001316315357620527
+2.2,1.662047375435008e-005,0.0001333795262456499
+2.3,1.503882655842056e-005,0.0001349611734415794
+2.4,1.360769299341187e-005,0.0001363923070065881
+2.5,1.231274979358482e-005,0.0001376872502064152
+2.6,1.114103673215008e-005,0.0001388589632678499
+2.7,1.008082691096246e-005,0.0001399191730890375
+2.8,9.121509393782692e-006,0.0001408784906062173
+2.9,8.253483008461082e-006,0.0001417465169915389
+3,7.468060255179591e-006,0.0001425319397448204
+3.1,6.757380359033671e-006,0.0001432426196409663
+3.2,6.114330596754931e-006,0.0001438856694032451
+3.3,5.532475110186e-006,0.000144467524889814
+3.4,5.00599049404891e-006,0.0001449940095059511
+3.5,4.529607513347775e-006,0.0001454703924866522
+3.6,4.098558367093884e-006,0.0001459014416329061
+3.7,3.708528970550908e-006,0.0001462914710294491
+3.8,3.355615778424839e-006,0.0001466443842215752
+3.9,3.036286716870657e-006,0.0001469637132831294
+4,2.747345833310127e-006,0.0001472526541666899
+4.1,2.485901310264186e-006,0.0001475140986897358
+4.2,2.249336523071655e-006,0.0001477506634769283
+4.3,2.03528385183014e-006,0.0001479647161481699
+4.4,1.841600985460266e-006,0.0001481583990145397
+4.5,1.666349480736346e-006,0.0001483336505192637
+4.6,1.507775361695036e-006,0.000148492224638305
+4.7,1.364291565254372e-006,0.0001486357084347456
+4.8,1.234462057353003e-006,0.000148765537942647
+4.9,1.116987460638651e-006,0.0001488830125393614
+5,1.01069204986282e-006,0.0001489893079501372
diff --git a/models/sbml-test-suite/cases/semantic/00001/00001-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00001/00001-sbml-l1v2.xml
new file mode 100644
index 0000000..a094410
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00001/00001-sbml-l1v2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00001">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.00015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00001/00001-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00001/00001-sbml-l2v4.xml
new file mode 100644
index 0000000..60c5c4a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00001/00001-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00001" id="case00001" name="case00001">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00001/00001-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00001/00001-sbml-l3v1.xml
new file mode 100644
index 0000000..135d833
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00001/00001-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00001" id="case00001" name="case00001" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00001/00001-settings.txt b/models/sbml-test-suite/cases/semantic/00001/00001-settings.txt
new file mode 100644
index 0000000..afe6b3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00001/00001-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00002/00002-results.csv b/models/sbml-test-suite/cases/semantic/00002/00002-results.csv
new file mode 100644
index 0000000..6c8bdce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00002/00002-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.1,0.001357256127053939,0.0001427438729460607
+0.2,0.001228096129616973,0.0002719038703830273
+0.3,0.001111227331022577,0.0003887726689774233
+0.4,0.001005480069053459,0.0004945199309465411
+0.5,0.0009097959895689501,0.0005902040104310499
+0.6,0.0008232174541410396,0.0006767825458589605
+0.7,0.0007448779556871142,0.0007551220443128858
+0.8,0.0006739934461758324,0.0008260065538241676
+0.9,0.0006098544896108987,0.0008901455103891014
+1,0.0005518191617571635,0.0009481808382428365
+1.1,0.0004993066255471192,0.001000693374452881
+1.2,0.0004517913178683031,0.001048208682131697
+1.3,0.0004087976895510189,0.001091202310448981
+1.4,0.0003698954459124097,0.00113010455408759
+1.5,0.0003346952402226448,0.001165304759777355
+1.6,0.0003028447769919831,0.001197155223008017
+1.7,0.0002740252860791019,0.001225974713920898
+1.8,0.0002479483323323798,0.00125205166766762
+1.9,0.0002243529288339526,0.001275647071166047
+2,0.000203002924854919,0.001296997075145081
+2.1,0.0001836846423794728,0.001316315357620527
+2.2,0.0001662047375435008,0.001333795262456499
+2.3,0.0001503882655842056,0.001349611734415794
+2.4,0.0001360769299341187,0.001363923070065881
+2.5,0.0001231274979358482,0.001376872502064152
+2.6,0.0001114103673215008,0.001388589632678499
+2.7,0.0001008082691096246,0.001399191730890375
+2.8,9.121509393782692e-005,0.001408784906062173
+2.9,8.253483008461081e-005,0.001417465169915389
+3,7.468060255179592e-005,0.001425319397448204
+3.1,6.75738035903367e-005,0.001432426196409663
+3.2,6.114330596754932e-005,0.001438856694032451
+3.3,5.532475110186e-005,0.00144467524889814
+3.4,5.00599049404891e-005,0.001449940095059511
+3.5,4.529607513347775e-005,0.001454703924866522
+3.6,4.098558367093884e-005,0.001459014416329061
+3.7,3.708528970550908e-005,0.001462914710294491
+3.8,3.355615778424838e-005,0.001466443842215752
+3.9,3.036286716870657e-005,0.001469637132831294
+4,2.747345833310127e-005,0.001472526541666899
+4.1,2.485901310264186e-005,0.001475140986897358
+4.2,2.249336523071656e-005,0.001477506634769284
+4.3,2.03528385183014e-005,0.001479647161481699
+4.4,1.841600985460266e-005,0.001481583990145397
+4.5,1.666349480736346e-005,0.001483336505192637
+4.6,1.507775361695037e-005,0.00148492224638305
+4.7,1.364291565254372e-005,0.001486357084347456
+4.8,1.234462057353003e-005,0.00148765537942647
+4.9,1.116987460638651e-005,0.001488830125393614
+5,1.01069204986282e-005,0.001489893079501372
diff --git a/models/sbml-test-suite/cases/semantic/00002/00002-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00002/00002-sbml-l1v2.xml
new file mode 100644
index 0000000..d65d7de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00002/00002-sbml-l1v2.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00002">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1"/>
+      <parameter name="k2" value="0"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S2"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00002/00002-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00002/00002-sbml-l2v4.xml
new file mode 100644
index 0000000..7303fbc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00002/00002-sbml-l2v4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00002" id="case00002" name="case00002">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="0"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00002/00002-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00002/00002-sbml-l3v1.xml
new file mode 100644
index 0000000..23f7640
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00002/00002-sbml-l3v1.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00002" id="case00002" name="case00002" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="0" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00002/00002-settings.txt b/models/sbml-test-suite/cases/semantic/00002/00002-settings.txt
new file mode 100644
index 0000000..203055a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00002/00002-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00003/00003-results.csv b/models/sbml-test-suite/cases/semantic/00003/00003-results.csv
new file mode 100644
index 0000000..8ae873c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00003/00003-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.015,0
+0.1,0.01357256127053939,0.002854877458921213
+0.2,0.01228096129616973,0.005438077407660545
+0.3,0.01111227331022577,0.007775453379548465
+0.4,0.01005480069053459,0.009890398618930821
+0.5,0.009097959895689501,0.011804080208621
+0.6,0.008232174541410396,0.01353565091717921
+0.7,0.007448779556871142,0.01510244088625772
+0.8,0.006739934461758324,0.01652013107648335
+0.9,0.006098544896108987,0.01780291020778203
+1,0.005518191617571635,0.01896361676485673
+1.1,0.004993066255471193,0.02001386748905762
+1.2,0.00451791317868303,0.02096417364263394
+1.3,0.004087976895510189,0.02182404620897962
+1.4,0.003698954459124097,0.02260209108175181
+1.5,0.003346952402226447,0.02330609519554711
+1.6,0.003028447769919831,0.02394310446016034
+1.7,0.002740252860791019,0.02451949427841796
+1.8,0.002479483323323798,0.0250410333533524
+1.9,0.002243529288339526,0.02551294142332095
+2,0.00203002924854919,0.02593994150290162
+2.1,0.001836846423794729,0.02632630715241054
+2.2,0.001662047375435008,0.02667590524912998
+2.3,0.001503882655842056,0.02699223468831589
+2.4,0.001360769299341187,0.02727846140131763
+2.5,0.001231274979358482,0.02753745004128304
+2.6,0.001114103673215008,0.02777179265356998
+2.7,0.001008082691096246,0.02798383461780751
+2.8,0.0009121509393782692,0.02817569812124346
+2.9,0.0008253483008461082,0.02834930339830779
+3,0.0007468060255179592,0.02850638794896408
+3.1,0.000675738035903367,0.02864852392819327
+3.2,0.0006114330596754932,0.02877713388064902
+3.3,0.0005532475110185999,0.0288935049779628
+3.4,0.000500599049404891,0.02899880190119022
+3.5,0.0004529607513347775,0.02909407849733045
+3.6,0.0004098558367093884,0.02918028832658122
+3.7,0.0003708528970550908,0.02925829420588982
+3.8,0.0003355615778424838,0.02932887684431503
+3.9,0.0003036286716870657,0.02939274265662587
+4,0.0002747345833310127,0.02945053083333797
+4.1,0.0002485901310264186,0.02950281973794716
+4.2,0.0002249336523071656,0.02955013269538567
+4.3,0.000203528385183014,0.02959294322963397
+4.4,0.0001841600985460266,0.02963167980290795
+4.5,0.0001666349480736346,0.02966673010385273
+4.6,0.0001507775361695037,0.02969844492766099
+4.7,0.0001364291565254372,0.02972714168694913
+4.8,0.0001234462057353003,0.0297531075885294
+4.9,0.0001116987460638651,0.02977660250787227
+5,0.000101069204986282,0.02979786159002744
diff --git a/models/sbml-test-suite/cases/semantic/00003/00003-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00003/00003-sbml-l1v2.xml
new file mode 100644
index 0000000..303d430
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00003/00003-sbml-l1v2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00003">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00003/00003-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00003/00003-sbml-l2v4.xml
new file mode 100644
index 0000000..f444c29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00003/00003-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00003" id="case00003" name="case00003">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00003/00003-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00003/00003-sbml-l3v1.xml
new file mode 100644
index 0000000..8ad77d2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00003/00003-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00003" id="case00003" name="case00003" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00003/00003-settings.txt b/models/sbml-test-suite/cases/semantic/00003/00003-settings.txt
new file mode 100644
index 0000000..7e2d237
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00003/00003-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00004/00004-results.csv b/models/sbml-test-suite/cases/semantic/00004/00004-results.csv
new file mode 100644
index 0000000..57033b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00004/00004-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.2,0.1429760887550795,0.01404782248984108
+0.4,0.1418174101699119,0.01636517966017622
+0.6,0.1417105224008525,0.01657895519829501
+0.8,0.1417013304160731,0.01659733916785408
+1.,0.141700544848195,0.01659891030361024
+1.2,0.1417004777475279,0.0165990445049445
+1.4,0.1417004720162983,0.01659905596740376
+1.6,0.14170047152678,0.0165990569464404
+1.8,0.141700471484969,0.01659905703006241
+2.,0.1417004714814062,0.01659905703718799
+2.2,0.1417004714810928,0.01659905703781462
+2.4,0.1417004714810663,0.01659905703786755
+2.6,0.1417004714810641,0.01659905703787191
+2.8,0.1417004714810644,0.01659905703787145
+3.,0.1417004714810646,0.01659905703787109
+3.2,0.1417004714810644,0.01659905703787141
+3.4,0.1417004714810644,0.01659905703787141
+3.6,0.1417004714810643,0.01659905703787156
+3.8,0.1417004714810643,0.01659905703787157
+4.,0.1417004714810643,0.01659905703787159
+4.2,0.1417004714810643,0.01659905703787159
+4.4,0.1417004714810643,0.01659905703787158
+4.6,0.1417004714810643,0.01659905703787157
+4.8,0.1417004714810643,0.01659905703787157
+5.,0.1417004714810643,0.01659905703787158
+5.2,0.1417004714810643,0.01659905703787158
+5.4,0.1417004714810643,0.01659905703787158
+5.6,0.1417004714810643,0.01659905703787158
+5.8,0.1417004714810643,0.01659905703787158
+6.,0.1417004714810643,0.01659905703787158
+6.2,0.1417004714810643,0.01659905703787158
+6.4,0.1417004714810643,0.01659905703787157
+6.6,0.1417004714810643,0.01659905703787157
+6.8,0.1417004714810643,0.01659905703787157
+7.,0.1417004714810643,0.01659905703787157
+7.2,0.1417004714810643,0.01659905703787157
+7.4,0.1417004714810643,0.01659905703787158
+7.6,0.1417004714810643,0.01659905703787158
+7.8,0.1417004714810643,0.01659905703787158
+8.,0.1417004714810643,0.01659905703787158
+8.2,0.1417004714810643,0.01659905703787158
+8.4,0.1417004714810643,0.01659905703787157
+8.6,0.1417004714810643,0.01659905703787157
+8.8,0.1417004714810643,0.01659905703787157
+9.,0.1417004714810643,0.01659905703787157
+9.2,0.1417004714810643,0.01659905703787157
+9.4,0.1417004714810643,0.01659905703787157
+9.6,0.1417004714810643,0.01659905703787157
+9.8,0.1417004714810643,0.01659905703787157
+10.,0.1417004714810643,0.01659905703787157
diff --git a/models/sbml-test-suite/cases/semantic/00004/00004-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00004/00004-sbml-l1v2.xml
new file mode 100644
index 0000000..f23b964
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00004/00004-sbml-l1v2.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00004">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.15" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.35"/>
+      <parameter name="k2" value="180"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * pow(S2, 2)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00004/00004-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00004/00004-sbml-l2v4.xml
new file mode 100644
index 0000000..3b567c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00004/00004-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00004" id="case00004" name="case00004">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35"/>
+      <parameter id="k2" name="k2" value="180"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00004/00004-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00004/00004-sbml-l3v1.xml
new file mode 100644
index 0000000..e80e5fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00004/00004-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00004" id="case00004" name="case00004" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35" constant="true"/>
+      <parameter id="k2" name="k2" value="180" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00004/00004-settings.txt b/models/sbml-test-suite/cases/semantic/00004/00004-settings.txt
new file mode 100644
index 0000000..0a0c994
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00004/00004-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00005/00005-results.csv b/models/sbml-test-suite/cases/semantic/00005/00005-results.csv
new file mode 100644
index 0000000..fe43670
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00005/00005-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0.00015
+0.1,0.0001357256127053939,0.0001642743872946061
+0.2,0.0001228096129616973,0.0001771903870383027
+0.3,0.0001111227331022577,0.0001888772668977423
+0.4,0.0001005480069053459,0.0001994519930946541
+0.5,9.097959895689501e-005,0.000209020401043105
+0.6,8.232174541410396e-005,0.0002176782545858961
+0.7,7.448779556871142e-005,0.0002255122044312886
+0.8,6.739934461758323e-005,0.0002326006553824168
+0.9,6.098544896108986e-005,0.0002390145510389101
+1,5.518191617571635e-005,0.0002448180838242837
+1.1,4.993066255471193e-005,0.0002500693374452881
+1.2,4.517913178683031e-005,0.0002548208682131697
+1.3,4.087976895510189e-005,0.0002591202310448981
+1.4,3.698954459124097e-005,0.000263010455408759
+1.5,3.346952402226447e-005,0.0002665304759777355
+1.6,3.028447769919831e-005,0.0002697155223008017
+1.7,2.740252860791019e-005,0.0002725974713920898
+1.8,2.479483323323798e-005,0.000275205166766762
+1.9,2.243529288339526e-005,0.0002775647071166048
+2,2.03002924854919e-005,0.0002796997075145081
+2.1,1.836846423794729e-005,0.0002816315357620527
+2.2,1.662047375435008e-005,0.0002833795262456499
+2.3,1.503882655842056e-005,0.0002849611734415794
+2.4,1.360769299341187e-005,0.0002863923070065881
+2.5,1.231274979358482e-005,0.0002876872502064152
+2.6,1.114103673215008e-005,0.0002888589632678499
+2.7,1.008082691096246e-005,0.0002899191730890375
+2.8,9.121509393782692e-006,0.0002908784906062173
+2.9,8.253483008461082e-006,0.0002917465169915389
+3,7.468060255179591e-006,0.0002925319397448204
+3.1,6.757380359033671e-006,0.0002932426196409663
+3.2,6.114330596754931e-006,0.000293885669403245
+3.3,5.532475110186e-006,0.000294467524889814
+3.4,5.00599049404891e-006,0.0002949940095059511
+3.5,4.529607513347775e-006,0.0002954703924866522
+3.6,4.098558367093884e-006,0.0002959014416329061
+3.7,3.708528970550908e-006,0.0002962914710294491
+3.8,3.355615778424839e-006,0.0002966443842215752
+3.9,3.036286716870657e-006,0.0002969637132831294
+4,2.747345833310127e-006,0.0002972526541666899
+4.1,2.485901310264186e-006,0.0002975140986897358
+4.2,2.249336523071655e-006,0.0002977506634769284
+4.3,2.03528385183014e-006,0.0002979647161481699
+4.4,1.841600985460266e-006,0.0002981583990145398
+4.5,1.666349480736346e-006,0.0002983336505192636
+4.6,1.507775361695036e-006,0.000298492224638305
+4.7,1.364291565254372e-006,0.0002986357084347456
+4.8,1.234462057353003e-006,0.000298765537942647
+4.9,1.116987460638651e-006,0.0002988830125393614
+5,1.01069204986282e-006,0.0002989893079501372
diff --git a/models/sbml-test-suite/cases/semantic/00005/00005-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00005/00005-sbml-l1v2.xml
new file mode 100644
index 0000000..deb5643
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00005/00005-sbml-l1v2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00005">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.00015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.00015" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00005/00005-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00005/00005-sbml-l2v4.xml
new file mode 100644
index 0000000..8e6a425
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00005/00005-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00005" id="case00005" name="case00005">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00005/00005-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00005/00005-sbml-l3v1.xml
new file mode 100644
index 0000000..18ccbbe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00005/00005-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00005" id="case00005" name="case00005" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00005/00005-settings.txt b/models/sbml-test-suite/cases/semantic/00005/00005-settings.txt
new file mode 100644
index 0000000..4e5ac53
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00005/00005-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00006/00006-results.csv b/models/sbml-test-suite/cases/semantic/00006/00006-results.csv
new file mode 100644
index 0000000..145336b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00006/00006-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0.0015
+0.1,0.0015,0.0015
+0.2,0.0015,0.0015
+0.3,0.0015,0.0015
+0.4,0.0015,0.0015
+0.5,0.0015,0.0015
+0.6,0.0015,0.0015
+0.7,0.0015,0.0015
+0.8,0.0015,0.0015
+0.9,0.0015,0.0015
+1,0.0015,0.0015
+1.1,0.0015,0.0015
+1.2,0.0015,0.0015
+1.3,0.0015,0.0015
+1.4,0.0015,0.0015
+1.5,0.0015,0.0015
+1.6,0.0015,0.0015
+1.7,0.0015,0.0015
+1.8,0.0015,0.0015
+1.9,0.0015,0.0015
+2,0.0015,0.0015
+2.1,0.0015,0.0015
+2.2,0.0015,0.0015
+2.3,0.0015,0.0015
+2.4,0.0015,0.0015
+2.5,0.0015,0.0015
+2.6,0.0015,0.0015
+2.7,0.0015,0.0015
+2.8,0.0015,0.0015
+2.9,0.0015,0.0015
+3,0.0015,0.0015
+3.1,0.0015,0.0015
+3.2,0.0015,0.0015
+3.3,0.0015,0.0015
+3.4,0.0015,0.0015
+3.5,0.0015,0.0015
+3.6,0.0015,0.0015
+3.7,0.0015,0.0015
+3.8,0.0015,0.0015
+3.9,0.0015,0.0015
+4,0.0015,0.0015
+4.1,0.0015,0.0015
+4.2,0.0015,0.0015
+4.3,0.0015,0.0015
+4.4,0.0015,0.0015
+4.5,0.0015,0.0015
+4.6,0.0015,0.0015
+4.7,0.0015,0.0015
+4.8,0.0015,0.0015
+4.9,0.0015,0.0015
+5,0.0015,0.0015
diff --git a/models/sbml-test-suite/cases/semantic/00006/00006-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00006/00006-sbml-l1v2.xml
new file mode 100644
index 0000000..666c7d5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00006/00006-sbml-l1v2.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00006">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.0015" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.5"/>
+      <parameter name="k2" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S2"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00006/00006-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00006/00006-sbml-l2v4.xml
new file mode 100644
index 0000000..b50141c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00006/00006-sbml-l2v4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00006" id="case00006" name="case00006">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00006/00006-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00006/00006-sbml-l3v1.xml
new file mode 100644
index 0000000..afa2e92
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00006/00006-sbml-l3v1.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00006" id="case00006" name="case00006" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00006/00006-settings.txt b/models/sbml-test-suite/cases/semantic/00006/00006-settings.txt
new file mode 100644
index 0000000..203055a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00006/00006-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00007/00007-results.csv b/models/sbml-test-suite/cases/semantic/00007/00007-results.csv
new file mode 100644
index 0000000..2ecd7be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00007/00007-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.015,0.015
+0.3,0.015,0.01608384770507171
+0.6,0.015,0.01708938035362413
+0.9,0.015,0.01802225671860934
+1.2,0.015,0.01888772668977423
+1.5,0.015,0.01969066081813542
+1.8,0.015,0.0204355777256734
+2.1,0.015,0.02112666953449777
+2.4,0.015,0.02176782545858961
+2.7,0.015,0.02236265369088676
+3,0.015,0.02291450170888478
+3.3,0.015,0.02342647511302576
+3.6,0.015,0.02390145510389101
+3.9,0.015,0.02434211469655265
+4.2,0.015,0.02475093376333267
+4.5,0.015,0.02513021298962475
+4.8,0.015,0.02548208682131697
+5.1,0.015,0.02580853547667889
+5.4,0.015,0.02611139609031163
+5.7,0.015,0.02639237305187487
+6,0.015,0.02665304759777355
+6.3,0.015,0.02689488670978271
+6.6,0.015,0.02711925137068869
+6.9,0.015,0.02732740422340652
+7.2,0.015,0.0275205166766762
+7.5,0.015,0.02769967549732607
+7.8,0.015,0.0278658889262023
+8.1,0.015,0.02802009235218255
+8.4,0.015,0.02816315357620527
+8.7,0.015,0.02829587769493855
+9,0.015,0.02841901163157204
+9.3,0.015,0.02853324833922975
+9.6,0.015,0.02863923070065881
+9.9,0.015,0.02873755514614034
+10.2,0.015,0.0288287750099827
+10.5,0.015,0.02891340364448623
+10.8,0.015,0.02899191730890375
+11.1,0.015,0.0290647578496549
+11.4,0.015,0.02913233518687742
+11.7,0.015,0.02919502962130905
+12,0.015,0.02925319397448204
+12.3,0.015,0.0293071555742748
+12.6,0.015,0.0293572180969944
+12.9,0.015,0.02940366327635668
+13.2,0.015,0.0294467524889814
+13.5,0.015,0.02948672822532501
+13.8,0.015,0.02952381545432898
+14.1,0.015,0.02955822288946339
+14.4,0.015,0.02959014416329061
+14.7,0.015,0.02961975891715913
+15,0.015,0.02964723381215986
diff --git a/models/sbml-test-suite/cases/semantic/00007/00007-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00007/00007-sbml-l1v2.xml
new file mode 100644
index 0000000..aabbb67
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00007/00007-sbml-l1v2.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00007">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.015" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="0.015" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.5"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S2"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00007/00007-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00007/00007-sbml-l2v4.xml
new file mode 100644
index 0000000..7612f3d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00007/00007-sbml-l2v4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00007" id="case00007" name="case00007">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00007/00007-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00007/00007-sbml-l3v1.xml
new file mode 100644
index 0000000..795a618
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00007/00007-sbml-l3v1.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00007" id="case00007" name="case00007" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00007/00007-settings.txt b/models/sbml-test-suite/cases/semantic/00007/00007-settings.txt
new file mode 100644
index 0000000..66cc826
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00007/00007-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00008/00008-results.csv b/models/sbml-test-suite/cases/semantic/00008/00008-results.csv
new file mode 100644
index 0000000..18a7e41
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00008/00008-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0.15
+0.2,0.142862806352697,0.15
+0.4,0.1364048064808486,0.15
+0.6,0.1305613665511289,0.15
+0.8,0.125274003452673,0.15
+1,0.1204897994784475,0.15
+1.2,0.116160872707052,0.15
+1.4,0.1122438977843557,0.15
+1.6,0.1086996723087916,0.15
+1.8,0.1054927244805449,0.15
+2,0.1025909580878582,0.15
+2.2,0.09996533127735596,0.15
+2.4,0.09758956589341515,0.15
+2.6,0.09543988447755095,0.15
+2.8,0.09349477229562049,0.15
+3,0.09173476201113223,0.15
+3.2,0.09014223884959915,0.15
+3.4,0.0887012643039551,0.15
+3.6,0.08739741661661898,0.15
+3.8,0.08621764644169763,0.15
+4,0.08515014624274596,0.15
+4.2,0.08418423211897365,0.15
+4.4,0.08331023687717504,0.15
+4.6,0.08251941327921028,0.15
+4.8,0.08180384649670594,0.15
+5,0.08115637489679241,0.15
+5.2,0.08057051836607504,0.15
+5.4,0.08004041345548123,0.15
+5.6,0.07956075469689135,0.15
+5.8,0.07912674150423055,0.15
+6,0.0787340301275898,0.15
+6.2,0.07837869017951683,0.15
+6.4,0.07805716529837746,0.15
+6.6,0.077766237555093,0.15
+6.8,0.07750299524702446,0.15
+7,0.07726480375667388,0.15
+7.2,0.07704927918354694,0.15
+7.4,0.07685426448527545,0.15
+7.6,0.07667780788921241,0.15
+7.8,0.07651814335843533,0.15
+8,0.07637367291665506,0.15
+8.2,0.07624295065513209,0.15
+8.4,0.07612466826153583,0.15
+8.6,0.07601764192591506,0.15
+8.8,0.07592080049273013,0.15
+9,0.07583317474036817,0.15
+9.2,0.07575388768084752,0.15
+9.4,0.07568214578262719,0.15
+9.6,0.0756172310286765,0.15
+9.8,0.07555849373031932,0.15
+10,0.07550534602493141,0.15
diff --git a/models/sbml-test-suite/cases/semantic/00008/00008-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00008/00008-sbml-l1v2.xml
new file mode 100644
index 0000000..d8cc9d4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00008/00008-sbml-l1v2.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00008">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.15" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.15" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.5"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S2"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00008/00008-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00008/00008-sbml-l2v4.xml
new file mode 100644
index 0000000..5eb14a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00008/00008-sbml-l2v4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00008" id="case00008" name="case00008">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00008/00008-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00008/00008-sbml-l3v1.xml
new file mode 100644
index 0000000..fdea62f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00008/00008-sbml-l3v1.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00008" id="case00008" name="case00008" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00008/00008-settings.txt b/models/sbml-test-suite/cases/semantic/00008/00008-settings.txt
new file mode 100644
index 0000000..0a0c994
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00008/00008-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00009/00009-results.csv b/models/sbml-test-suite/cases/semantic/00009/00009-results.csv
new file mode 100644
index 0000000..7fd98c6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00009/00009-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0.00015
+0.1,0.00015,0.00015
+0.2,0.00015,0.00015
+0.3,0.00015,0.00015
+0.4,0.00015,0.00015
+0.5,0.00015,0.00015
+0.6,0.00015,0.00015
+0.7,0.00015,0.00015
+0.8,0.00015,0.00015
+0.9,0.00015,0.00015
+1,0.00015,0.00015
+1.1,0.00015,0.00015
+1.2,0.00015,0.00015
+1.3,0.00015,0.00015
+1.4,0.00015,0.00015
+1.5,0.00015,0.00015
+1.6,0.00015,0.00015
+1.7,0.00015,0.00015
+1.8,0.00015,0.00015
+1.9,0.00015,0.00015
+2,0.00015,0.00015
+2.1,0.00015,0.00015
+2.2,0.00015,0.00015
+2.3,0.00015,0.00015
+2.4,0.00015,0.00015
+2.5,0.00015,0.00015
+2.6,0.00015,0.00015
+2.7,0.00015,0.00015
+2.8,0.00015,0.00015
+2.9,0.00015,0.00015
+3,0.00015,0.00015
+3.1,0.00015,0.00015
+3.2,0.00015,0.00015
+3.3,0.00015,0.00015
+3.4,0.00015,0.00015
+3.5,0.00015,0.00015
+3.6,0.00015,0.00015
+3.7,0.00015,0.00015
+3.8,0.00015,0.00015
+3.9,0.00015,0.00015
+4,0.00015,0.00015
+4.1,0.00015,0.00015
+4.2,0.00015,0.00015
+4.3,0.00015,0.00015
+4.4,0.00015,0.00015
+4.5,0.00015,0.00015
+4.6,0.00015,0.00015
+4.7,0.00015,0.00015
+4.8,0.00015,0.00015
+4.9,0.00015,0.00015
+5,0.00015,0.00015
diff --git a/models/sbml-test-suite/cases/semantic/00009/00009-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00009/00009-sbml-l1v2.xml
new file mode 100644
index 0000000..730e3ba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00009/00009-sbml-l1v2.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00009">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.00015" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="0.00015" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.5"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S2"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00009/00009-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00009/00009-sbml-l2v4.xml
new file mode 100644
index 0000000..fdaac6d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00009/00009-sbml-l2v4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00009" id="case00009" name="case00009">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00009/00009-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00009/00009-sbml-l3v1.xml
new file mode 100644
index 0000000..c764bcb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00009/00009-sbml-l3v1.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00009" id="case00009" name="case00009" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00009/00009-settings.txt b/models/sbml-test-suite/cases/semantic/00009/00009-settings.txt
new file mode 100644
index 0000000..4e5ac53
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00009/00009-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00010/00010-results.csv b/models/sbml-test-suite/cases/semantic/00010/00010-results.csv
new file mode 100644
index 0000000..0b33666
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00010/00010-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.1,0.0001139219668511557,0.0002139219668511558,0.00008607803314884429
+0.2,0.0001259033426653174,0.0002259033426653176,0.0000740966573346826
+0.3,0.0001362145405457597,0.0002362145405457599,0.00006378545945424029
+0.4,0.000145088316316368,0.0002450883163163682,0.00005491168368363203
+0.5,0.0001527250035279472,0.0002527250035279475,0.00004727499647205278
+0.6,0.0001592970288925667,0.000259297028892567,0.00004070297110743328
+0.7,0.0001649528029009038,0.0002649528029009041,0.00003504719709909622
+0.8,0.0001698200266425576,0.0002698200266425577,0.00003017997335744267
+0.9,0.0001740086476392488,0.0002740086476392489,0.00002599135236075146
+1.,0.0001776132619625782,0.0002776132619625783,0.00002238673803742199
+1.1,0.0001807152882044536,0.0002807152882044537,0.00001928471179554665
+1.2,0.0001833847960251599,0.00028338479602516,0.00001661520397484034
+1.3,0.0001856820874124478,0.0002856820874124478,0.00001431791258755249
+1.4,0.000187659057944331,0.000287659057944331,0.00001234094205566926
+1.5,0.0001893603699108989,0.000289360369910899,0.00001063963008910132
+1.6,0.0001908244571673363,0.0002908244571673365,9.17554283266388e-6
+1.7,0.000192084396299467,0.0002920843962994671,7.915603700533238e-6
+1.8,0.0001931686521662484,0.0002931686521662485,6.831347833751853e-6
+1.9,0.0001941017209649583,0.0002941017209649585,5.898279035041828e-6
+2.,0.0001949046837806552,0.0002949046837806553,5.095316219345007e-6
+2.1,0.0001955956814954404,0.0002955956814954406,4.404318504559747e-6
+2.2,0.0001961903264279383,0.0002961903264279386,3.809673572061813e-6
+2.3,0.0001967020539167234,0.0002967020539167237,3.297946083276711e-6
+2.4,0.0001971424259516313,0.0002971424259516315,2.857574048368886e-6
+2.5,0.0001975213921965914,0.0002975213921965916,2.478607803408781e-6
+2.6,0.0001978475149270233,0.0002978475149270236,2.152485072976826e-6
+2.7,0.000198128162601406,0.0002981281626014063,1.87183739859414e-6
+2.8,0.0001983696762860535,0.0002983696762860538,1.630323713946612e-6
+2.9,0.0001985775128842811,0.0002985775128842815,1.422487115718978e-6
+3.,0.000198756368403927,0.0002987563684039273,1.2436315960731e-6
+3.1,0.0001989102840312875,0.0002989102840312879,1.089715968712557e-6
+3.2,0.0001990427373788496,0.00029904273737885,9.572626211504738e-7
+3.3,0.0001991567211432377,0.0002991567211432381,8.432788567623562e-7
+3.4,0.0001992548107446296,0.0002992548107446301,7.451892553705255e-7
+3.5,0.0001993392224997719,0.0002993392224997724,6.607775002282274e-7
+3.6,0.0001994118636873173,0.0002994118636873178,5.881363126827596e-7
+3.7,0.0001994743756349663,0.0002994743756349668,5.256243650337667e-7
+3.8,0.000199528170791853,0.0002995281707918535,4.718292081471105e-7
+3.9,0.000199574464628818,0.0002995744646288185,4.255353711821277e-7
+4.,0.0001996143031359566,0.0002996143031359571,3.856968640434912e-7
+4.1,0.0001996485864572413,0.0002996485864572417,3.514135427588514e-7
+4.2,0.0001996780892236281,0.0002996780892236285,3.219107763720299e-7
+4.3,0.0001997034780521935,0.000299703478052194,2.965219478065709e-7
+4.4,0.0001997253266060485,0.000299725326606049,2.746733939515959e-7
+4.5,0.000199744128549907,0.0002997441285499075,2.558714500930616e-7
+4.6,0.0001997603087107391,0.0002997603087107395,2.396912892610337e-7
+4.7,0.0001997742326534578,0.0002997742326534582,2.257673465422817e-7
+4.8,0.0001997862150047174,0.0002997862150047178,2.137849952827201e-7
+4.9,0.0001997965265230575,0.0002997965265230579,2.034734769426494e-7
+5.,0.0001998054001596749,0.0002998054001596753,1.945998403252452e-7
diff --git a/models/sbml-test-suite/cases/semantic/00010/00010-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00010/00010-sbml-l1v2.xml
new file mode 100644
index 0000000..df2ebfe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00010/00010-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00010">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.0002" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="3.5"/>
+      <parameter name="k2" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00010/00010-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00010/00010-sbml-l2v4.xml
new file mode 100644
index 0000000..75297d4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00010/00010-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00010" id="case00010" name="case00010">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.5"/>
+      <parameter id="k2" name="k2" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00010/00010-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00010/00010-sbml-l3v1.xml
new file mode 100644
index 0000000..b5eef9f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00010/00010-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00010" id="case00010" name="case00010" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.5" constant="true"/>
+      <parameter id="k2" name="k2" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00010/00010-settings.txt b/models/sbml-test-suite/cases/semantic/00010/00010-settings.txt
new file mode 100644
index 0000000..53db0cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00010/00010-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00011/00011-results.csv b/models/sbml-test-suite/cases/semantic/00011/00011-results.csv
new file mode 100644
index 0000000..e9d1784
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00011/00011-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.4,0.001,0.002094577655554321,0.000905422344445679
+0.8,0.001,0.002180129387840088,0.0008198706121599117
+1.2,0.001,0.002257516576750601,0.0007424834232493992
+1.6,0.001,0.002327518397256901,0.0006724816027430991
+2,0.001,0.002390839664551708,0.0006091603354482921
+2.4,0.001,0.002448117930499942,0.0005518820695000582
+2.8,0.001,0.002499929902846643,0.0005000700971533573
+3.2,0.001,0.00254679725181425,0.0004532027481857498
+3.6,0.001,0.002589191862553121,0.0004108081374468795
+4,0.001,0.002627540586329722,0.0003724594136702786
+4.4,0.001,0.002662229538289968,0.0003377704617100319
+4.8,0.001,0.002693607985069846,0.000306392014930154
+5.2,0.001,0.002721991861395829,0.0002780081386041706
+5.6,0.001,0.002747666951082084,0.0002523330489179162
+6,0.001,0.002770891764452404,0.0002291082355475963
+6.4,0.001,0.002791900141158288,0.0002080998588417123
+6.8,0.001,0.002810903604599693,0.0001890963954003072
+7.2,0.001,0.002828093491654016,0.000171906508345984
+7.6,0.001,0.002843642879156537,0.0001563571208434636
+8,0.001,0.002857708326529137,0.0001422916734708627
+8.4,0.001,0.002870431452103012,0.0001295685478969879
+8.8,0.001,0.002881940359006601,0.0001180596409933993
+9.2,0.001,0.002892350924975347,0.000107649075024653
+9.6,0.001,0.002901767969069763,9.823203093023724e-005
+10,0.001,0.002910286307048927,8.971369295107265e-005
+10.4,0.001,0.002917991706025482,8.200829397451825e-005
+10.8,0.001,0.002924961748014085,7.503825198591568e-005
+11.2,0.001,0.00293126661106799,6.873338893200969e-005
+11.6,0.001,0.002936969775868649,6.303022413135136e-005
+12,0.001,0.002942128664882633,5.787133511736755e-005
+12.4,0.001,0.002946795220521272,5.320477947872794e-005
+12.8,0.001,0.002951016428124206,4.898357187579435e-005
+13.2,0.001,0.002954834789032522,4.516521096747807e-005
+13.6,0.001,0.002958288748514644,4.171125148535609e-005
+14,0.001,0.002961413082853537,3.858691714646279e-005
+14.4,0.001,0.002964239249492641,3.576075050735944e-005
+14.8,0.001,0.002966795703765972,3.320429623402774e-005
+15.2,0.001,0.002969108185401418,3.089181459858201e-005
+15.6,0.001,0.002971199977681866,2.880002231813392e-005
+16,0.001,0.002973092141873561,2.690785812643913e-005
+16.4,0.001,0.002974803729282023,2.519627071797759e-005
+16.8,0.001,0.002976351973070623,2.364802692937692e-005
+17.2,0.001,0.002977752461773152,2.224753822684833e-005
+17.6,0.001,0.002979019296247381,2.098070375261934e-005
+18,0.001,0.002980165231649928,1.983476835007206e-005
+18.4,0.001,0.002981201805861891,1.879819413810926e-005
+18.8,0.001,0.002982139455658308,1.786054434169159e-005
+19.2,0.001,0.00298298762179111,1.70123782088902e-005
+19.6,0.001,0.002983754844043575,1.624515595642484e-005
+20,0.001,0.002984448847213371,1.555115278662856e-005
diff --git a/models/sbml-test-suite/cases/semantic/00011/00011-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00011/00011-sbml-l1v2.xml
new file mode 100644
index 0000000..f1c4c74
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00011/00011-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00011">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.001" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="0.002" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00011/00011-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00011/00011-sbml-l2v4.xml
new file mode 100644
index 0000000..d089c38
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00011/00011-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00011" id="case00011" name="case00011">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00011/00011-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00011/00011-sbml-l3v1.xml
new file mode 100644
index 0000000..7e799ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00011/00011-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00011" id="case00011" name="case00011" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00011/00011-settings.txt b/models/sbml-test-suite/cases/semantic/00011/00011-settings.txt
new file mode 100644
index 0000000..1651ee1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00011/00011-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00012/00012-results.csv b/models/sbml-test-suite/cases/semantic/00012/00012-results.csv
new file mode 100644
index 0000000..428526d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00012/00012-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.32,0.01,0.02,0.009277293656034377
+0.64,0.01,0.02,0.008610151616282386
+0.96,0.01,0.02,0.007994301894025602
+1.28,0.01,0.02,0.007425800948492695
+1.6,0.01,0.02,0.006901008432735009
+1.92,0.01,0.02,0.006416563882977724
+2.24,0.01,0.02,0.00596936520017886
+2.56,0.01,0.02,0.005556548786004656
+2.88,0.01,0.02,0.005175471206023734
+3.2,0.01,0.02,0.004823692262701883
+3.52,0.01,0.02,0.004498959369806865
+3.84,0.01,0.02,0.004199193128166053
+4.16,0.01,0.02,0.003922474010412533
+4.48,0.01,0.02,0.003667030069456571
+4.8,0.01,0.02,0.0034312255919747
+5.12,0.01,0.02,0.003213550624260025
+5.44,0.01,0.02,0.003012611303363425
+5.76,0.01,0.02,0.002827120931611945
+6.08,0.01,0.02,0.002655891737350819
+6.4,0.01,0.02,0.002497827269149761
+6.72,0.01,0.02,0.002351915374770454
+7.04,0.01,0.02,0.002217221719936675
+7.36,0.01,0.02,0.002092883805405055
+7.68,0.01,0.02,0.001978105444025291
+8,0.01,0.02,0.001872151662424159
+8.32,0.01,0.02,0.001774343994666675
+8.64,0.01,0.02,0.001684056137757788
+8.96,0.01,0.02,0.001600709941164976
+9.28,0.01,0.02,0.001523771704680999
+9.6,0.01,0.02,0.001452748760920478
+9.92,0.01,0.02,0.001387186320566642
+10.24,0.01,0.02,0.001326664560167018
+10.56,0.01,0.02,0.001270795933830029
+10.88,0.01,0.02,0.001219222691608188
+11.2,0.01,0.02,0.001171614588677049
+11.52,0.01,0.02,0.001127666770640857
+11.84,0.01,0.02,0.001087097821423623
+12.16,0.01,0.02,0.001049647961245465
+12.48,0.01,0.02,0.001015077383145113
+12.8,0.01,0.02,0.0009831647173966424
+13.12,0.01,0.02,0.0009537056139874563
+13.44,0.01,0.02,0.0009265114340805425
+13.76,0.01,0.02,0.0009014080420818913
+14.08,0.01,0.02,0.0008782346905781848
+14.4,0.01,0.02,0.00085684299100455
+14.72,0.01,0.02,0.0008370959634511358
+15.04,0.01,0.02,0.0008188671595240318
+15.36,0.01,0.02,0.0008020398526438452
+15.68,0.01,0.02,0.0007865062905970807
+16,0.01,0.02,0.0007721670055541013
diff --git a/models/sbml-test-suite/cases/semantic/00012/00012-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00012/00012-sbml-l1v2.xml
new file mode 100644
index 0000000..1e5aca7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00012/00012-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00012">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.01" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="0.02" units="substance" boundaryCondition="true"/>
+      <species name="S3" compartment="compartment" initialAmount="0.01" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00012/00012-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00012/00012-sbml-l2v4.xml
new file mode 100644
index 0000000..651189b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00012/00012-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00012" id="case00012" name="case00012">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00012/00012-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00012/00012-sbml-l3v1.xml
new file mode 100644
index 0000000..8f774b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00012/00012-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00012" id="case00012" name="case00012" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00012/00012-settings.txt b/models/sbml-test-suite/cases/semantic/00012/00012-settings.txt
new file mode 100644
index 0000000..d412228
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00012/00012-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 16.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00013/00013-results.csv b/models/sbml-test-suite/cases/semantic/00013/00013-results.csv
new file mode 100644
index 0000000..1b40280
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00013/00013-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.1,0.1,0.2,0.1
+0.2,0.1,0.2,0.1
+0.3,0.1,0.2,0.1
+0.4,0.1,0.2,0.1
+0.5,0.1,0.2,0.1
+0.6,0.1,0.2,0.1
+0.7,0.1,0.2,0.1
+0.8,0.1,0.2,0.1
+0.9,0.1,0.2,0.1
+1,0.1,0.2,0.1
+1.1,0.1,0.2,0.1
+1.2,0.1,0.2,0.1
+1.3,0.1,0.2,0.1
+1.4,0.1,0.2,0.1
+1.5,0.1,0.2,0.1
+1.6,0.1,0.2,0.1
+1.7,0.1,0.2,0.1
+1.8,0.1,0.2,0.1
+1.9,0.1,0.2,0.1
+2,0.1,0.2,0.1
+2.1,0.1,0.2,0.1
+2.2,0.1,0.2,0.1
+2.3,0.1,0.2,0.1
+2.4,0.1,0.2,0.1
+2.5,0.1,0.2,0.1
+2.6,0.1,0.2,0.1
+2.7,0.1,0.2,0.1
+2.8,0.1,0.2,0.1
+2.9,0.1,0.2,0.1
+3,0.1,0.2,0.1
+3.1,0.1,0.2,0.1
+3.2,0.1,0.2,0.1
+3.3,0.1,0.2,0.1
+3.4,0.1,0.2,0.1
+3.5,0.1,0.2,0.1
+3.6,0.1,0.2,0.1
+3.7,0.1,0.2,0.1
+3.8,0.1,0.2,0.1
+3.9,0.1,0.2,0.1
+4,0.1,0.2,0.1
+4.1,0.1,0.2,0.1
+4.2,0.1,0.2,0.1
+4.3,0.1,0.2,0.1
+4.4,0.1,0.2,0.1
+4.5,0.1,0.2,0.1
+4.6,0.1,0.2,0.1
+4.7,0.1,0.2,0.1
+4.8,0.1,0.2,0.1
+4.9,0.1,0.2,0.1
+5,0.1,0.2,0.1
diff --git a/models/sbml-test-suite/cases/semantic/00013/00013-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00013/00013-sbml-l1v2.xml
new file mode 100644
index 0000000..cc282ec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00013/00013-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00013">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.1" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="0.2" units="substance" boundaryCondition="true"/>
+      <species name="S3" compartment="compartment" initialAmount="0.1" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00013/00013-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00013/00013-sbml-l2v4.xml
new file mode 100644
index 0000000..66f8b65
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00013/00013-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00013" id="case00013" name="case00013">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00013/00013-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00013/00013-sbml-l3v1.xml
new file mode 100644
index 0000000..7963f94
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00013/00013-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00013" id="case00013" name="case00013" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00013/00013-settings.txt b/models/sbml-test-suite/cases/semantic/00013/00013-settings.txt
new file mode 100644
index 0000000..01ff453
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00013/00013-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00014/00014-results.csv b/models/sbml-test-suite/cases/semantic/00014/00014-results.csv
new file mode 100644
index 0000000..6ea01ba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00014/00014-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.4,0.0001190136286651481,0.0002095068143325741,0.0000904931856674259
+0.8,0.0001362100508573988,0.0002181050254286994,0.00008189497457130057
+1.2,0.0001517614847468959,0.000225880742373448,0.00007411925762655202
+1.6,0.0001658240070196734,0.0002329120035098368,0.00006708799649016322
+2.,0.0001785390597417493,0.0002392695298708747,0.00006073047012912532
+2.4,0.0001900347989105559,0.000245017399455278,0.00005498260054472202
+2.8,0.0002004273369013054,0.0002502136684506527,0.00004978633154934726
+3.2,0.000209821851471249,0.0002549109257356245,0.00004508907426437548
+3.6,0.000218313600908524,0.000259156800454262,0.00004084319954573796
+4.,0.0002259888441663867,0.0002629944220831933,0.00003700557791680663
+4.4,0.0002329256805753161,0.0002664628402876581,0.00003353715971234189
+4.8,0.0002391948041803924,0.0002695974020901962,0.00003040259790980376
+5.2,0.000244860196823204,0.0002724300984116019,0.00002756990158839797
+5.6,0.0002499797665851899,0.0002749898832925948,0.00002501011670740502
+6.,0.0002546058973507666,0.0002773029486753831,0.00002269705132461668
+6.4,0.0002587859873910351,0.0002793929936955174,0.00002060700630448241
+6.8,0.0002625629038719519,0.0002812814519359757,0.00001871854806402403
+7.2,0.0002659754277500879,0.0002829877138750438,0.00001701228612495599
+7.6,0.0002690586163843907,0.0002845293081921952,0.00001547069180780459
+8.,0.0002718441797984708,0.0002859220898992353,0.00001407791010076453
+8.4,0.0002743607891695722,0.000287180394584786,0.00001281960541521386
+8.8,0.0002766343564691178,0.0002883171782345588,0.00001168282176544103
+9.2,0.00027868831308961,0.0002893441565448049,0.00001065584345519492
+9.6,0.0002805438395916552,0.0002902719197958274,9.728080204172387e-6
+10.,0.0002822200758864657,0.0002911100379432327,8.889962056767134e-6
+10.4,0.0002837343219542903,0.0002918671609771451,8.132839022854794e-6
+10.8,0.0002851022132032721,0.0002925511066016359,7.448893398363915e-6
+11.2,0.0002863378797658294,0.0002931689398829146,6.831060117085244e-6
+11.6,0.0002874540907009285,0.000293727045350464,6.272954649535728e-6
+12.,0.0002884623842946539,0.0002942311921473267,5.768807852673049e-6
+12.4,0.0002893731852276009,0.0002946865926138002,5.313407386199536e-6
+12.8,0.000290195912615575,0.0002950979563077873,4.902043692212488e-6
+13.2,0.0002909390771434229,0.0002954695385717111,4.53046142828855e-6
+13.6,0.0002916103683841686,0.000295805184192084,4.194815807915687e-6
+14.,0.0002922167337756496,0.0002961083668878245,3.891633112175218e-6
+14.4,0.0002927644500383181,0.0002963822250191587,3.617774980840967e-6
+14.8,0.0002932591874053072,0.0002966295937026533,3.370406297346419e-6
+15.2,0.0002937060679568074,0.0002968530339784034,3.146966021596316e-6
+15.6,0.0002941097190706556,0.0002970548595353275,2.945140464672211e-6
+16.,0.0002944743211490247,0.000297237160574512,2.762839425487712e-6
+16.4,0.0002948036507056289,0.0002974018253528141,2.598174647185613e-6
+16.8,0.0002951011193145603,0.0002975505596572798,2.449440342719885e-6
+17.2,0.0002953698087743533,0.0002976849043871763,2.315095612823376e-6
+17.6,0.0002956125026712475,0.0002978062513356233,2.193748664376296e-6
+18.,0.0002958317154121956,0.0002979158577060974,2.084142293902268e-6
+18.4,0.0002960297183746286,0.0002980148591873138,1.985140812685762e-6
+18.8,0.0002962085633630277,0.0002981042816815135,1.895718318486209e-6
+19.2,0.0002963701038063581,0.0002981850519031786,1.814948096821025e-6
+19.6,0.0002965160139116946,0.0002982580069558469,1.741993044152744e-6
+20.,0.0002966478058352696,0.0002983239029176344,1.67609708236524e-6
diff --git a/models/sbml-test-suite/cases/semantic/00014/00014-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00014/00014-sbml-l1v2.xml
new file mode 100644
index 0000000..0100a49
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00014/00014-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00014">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.0002" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="10000"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * pow(S1, 2) * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00014/00014-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00014/00014-sbml-l2v4.xml
new file mode 100644
index 0000000..d7ea77a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00014/00014-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00014" id="case00014" name="case00014">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="10000"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00014/00014-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00014/00014-sbml-l3v1.xml
new file mode 100644
index 0000000..3a76515
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00014/00014-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00014" id="case00014" name="case00014" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="10000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00014/00014-settings.txt b/models/sbml-test-suite/cases/semantic/00014/00014-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00014/00014-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00015/00015-results.csv b/models/sbml-test-suite/cases/semantic/00015/00015-results.csv
new file mode 100644
index 0000000..bec69de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00015/00015-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.001,0.002,0.001
+0.05,0.0009881763185936637,0.0009881763185936637,0.002011823681406335,0.001011823681406336
+0.1,0.0009776045704354247,0.0009776045704354247,0.002022395429564574,0.001022395429564575
+0.15,0.0009681471874861807,0.0009681471874861807,0.002031852812513817,0.001031852812513819
+0.2,0.0009596826954519924,0.0009596826954519924,0.002040317304548006,0.001040317304548007
+0.25,0.000952103640521798,0.000952103640521798,0.002047896359478199,0.001047896359478201
+0.3,0.0009453148196611825,0.0009453148196611825,0.002054685180338815,0.001054685180338817
+0.35,0.0009392317791711321,0.0009392317791711321,0.002060768220828866,0.001060768220828867
+0.4,0.0009337794739060343,0.0009337794739060343,0.002066220526093964,0.001066220526093965
+0.45,0.0009288911732781272,0.0009288911732781272,0.002071108826721871,0.001071108826721872
+0.5,0.0009245074632981542,0.0009245074632981542,0.002075492536701844,0.001075492536701845
+0.55,0.0009205753888393123,0.0009205753888393123,0.002079424611160686,0.001079424611160687
+0.6,0.0009170477299169823,0.0009170477299169823,0.002082952270083016,0.001082952270083017
+0.65,0.000913882331744461,0.000913882331744461,0.002086117668255537,0.001086117668255539
+0.7,0.0009110415395831867,0.0009110415395831867,0.002088958460416811,0.001088958460416813
+0.75,0.0009084917047627593,0.0009084917047627593,0.002091508295237238,0.001091508295237241
+0.8,0.0009062027359712747,0.0009062027359712747,0.002093797264028723,0.001093797264028725
+0.85,0.0009041477095597671,0.0009041477095597671,0.002095852290440231,0.001095852290440233
+0.9,0.0009023025254484357,0.0009023025254484357,0.002097697474551562,0.001097697474551564
+0.95,0.0009006456024375326,0.0009006456024375326,0.002099354397562465,0.001099354397562468
+1.,0.0008991576080333725,0.0008991576080333725,0.002100842391966626,0.001100842391966628
+1.05,0.0008978212197413985,0.0008978212197413985,0.0021021787802586,0.001102178780258602
+1.1,0.0008966209111901844,0.0008966209111901844,0.002103379088809813,0.001103379088809816
+1.15,0.0008955427612353118,0.0008955427612353118,0.002104457238764686,0.001104457238764689
+1.2,0.0008945742852942542,0.0008945742852942542,0.002105425714705744,0.001105425714705746
+1.25,0.0008937042847197123,0.0008937042847197123,0.002106295715280285,0.001106295715280288
+1.3,0.0008929227124227983,0.0008929227124227983,0.0021070772875772,0.001107077287577202
+1.35,0.0008922205529065652,0.0008922205529065652,0.002107779447093433,0.001107779447093435
+1.4,0.0008915897150946207,0.0008915897150946207,0.002108410284905377,0.00110841028490538
+1.45,0.0008910229365336312,0.0008910229365336312,0.002108977063466367,0.001108977063466369
+1.5,0.0008905136976823736,0.0008905136976823736,0.002109486302317625,0.001109486302317627
+1.55,0.0008900561453907,0.0008900561453907,0.002109943854609298,0.0011099438546093
+1.6,0.0008896450241029877,0.0008896450241029877,0.00211035497589701,0.001110354975897013
+1.65,0.0008892756145087616,0.0008892756145087616,0.002110724385491237,0.001110724385491239
+1.7,0.0008889436785150039,0.0008889436785150039,0.002111056321484994,0.001111056321484997
+1.75,0.0008886454098168041,0.0008886454098168041,0.002111354590183194,0.001111354590183197
+1.8,0.0008883773896663043,0.0008883773896663043,0.002111622610333694,0.001111622610333696
+1.85,0.0008881365472312589,0.0008881365472312589,0.002111863452768739,0.001111863452768741
+1.9,0.0008879201240430675,0.0008879201240430675,0.00211207987595693,0.001112079875956933
+1.95,0.0008877256418803576,0.0008877256418803576,0.00211227435811964,0.001112274358119643
+2.,0.000887550875076103,0.000887550875076103,0.002112449124923895,0.001112449124923898
+2.05,0.0008873938234154172,0.0008873938234154172,0.002112606176584581,0.001112606176584583
+2.1,0.0008872526901002382,0.0008872526901002382,0.002112747309899759,0.001112747309899762
+2.15,0.0008871258607904046,0.0008871258607904046,0.002112874139209592,0.001112874139209596
+2.2,0.0008870118850347167,0.0008870118850347167,0.00211298811496528,0.001112988114965283
+2.25,0.0008869094595996376,0.0008869094595996376,0.00211309054040036,0.001113090540400363
+2.3,0.000886817413500254,0.000886817413500254,0.002113182586499743,0.001113182586499746
+2.35,0.0008867346945584242,0.0008867346945584242,0.002113265305441573,0.001113265305441576
+2.4,0.0008866603573232605,0.0008866603573232605,0.002113339642676737,0.00111333964267674
+2.45,0.000886593552292134,0.000886593552292134,0.002113406447707863,0.001113406447707866
+2.5,0.0008865335160035233,0.0008865335160035233,0.002113466483996474,0.001113466483996477
diff --git a/models/sbml-test-suite/cases/semantic/00015/00015-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00015/00015-sbml-l1v2.xml
new file mode 100644
index 0000000..05a5007
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00015/00015-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00015">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.001" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.001" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.002" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0.001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="750"/>
+      <parameter name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00015/00015-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00015/00015-sbml-l2v4.xml
new file mode 100644
index 0000000..1708e56
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00015/00015-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00015" id="case00015" name="case00015">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00015/00015-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00015/00015-sbml-l3v1.xml
new file mode 100644
index 0000000..b21f371
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00015/00015-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00015" id="case00015" name="case00015" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00015/00015-settings.txt b/models/sbml-test-suite/cases/semantic/00015/00015-settings.txt
new file mode 100644
index 0000000..ca38ee7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00015/00015-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00016/00016-results.csv b/models/sbml-test-suite/cases/semantic/00016/00016-results.csv
new file mode 100644
index 0000000..5eef9a0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00016/00016-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.01,0.02,0.01
+0.1,0.00977052142853781,0.00977052142853781,0.02022947857146219,0.01
+0.2,0.009577237262090684,0.009577237262090684,0.02042276273790932,0.01
+0.3,0.009413963552312968,0.009413963552312968,0.02058603644768704,0.01
+0.4,0.009275700766988991,0.009275700766988991,0.02072429923301101,0.01
+0.5,0.009158373374893486,0.009158373374893486,0.02084162662510652,0.01
+0.6,0.009058635156577284,0.009058635156577284,0.02094136484342272,0.01
+0.7,0.008973721749145636,0.008973721749145636,0.02102627825085437,0.01
+0.8,0.008901337023486388,0.008901337023486388,0.02109866297651361,0.01
+0.9,0.008839565134392673,0.008839565134392673,0.02116043486560733,0.01
+1.,0.00878680093391672,0.00878680093391672,0.02121319906608328,0.01
+1.1,0.008741695113668681,0.008741695113668681,0.02125830488633132,0.01
+1.2,0.00870310988273181,0.00870310988273181,0.02129689011726819,0.01
+1.3,0.008670083422677136,0.008670083422677136,0.02132991657732287,0.01
+1.4,0.008641800845520998,0.008641800845520998,0.021358199154479,0.01
+1.5,0.008617570407395467,0.008617570407395467,0.02138242959260453,0.01
+1.6,0.008596804007986957,0.008596804007986957,0.02140319599201304,0.01
+1.7,0.008579000840898317,0.008579000840898317,0.02142099915910168,0.01
+1.8,0.008563733943238196,0.008563733943238196,0.0214362660567618,0.01
+1.9,0.008550639028206873,0.008550639028206873,0.02144936097179312,0.01
+2.,0.008539404864908607,0.008539404864908607,0.02146059513509139,0.01
+2.1,0.008529765389901617,0.008529765389901617,0.02147023461009837,0.01
+2.2,0.008521493080378203,0.008521493080378203,0.02147850691962179,0.01
+2.3,0.008514393107037544,0.008514393107037544,0.02148560689296245,0.01
+2.4,0.008508298705301356,0.008508298705301356,0.02149170129469863,0.01
+2.5,0.008503066958390391,0.008503066958390391,0.0214969330416096,0.01
+2.6,0.008498575412734228,0.008498575412734228,0.02150142458726576,0.01
+2.7,0.008494719081292659,0.008494719081292659,0.02150528091870733,0.01
+2.8,0.008491407932142355,0.008491407932142355,0.02150859206785764,0.01
+2.9,0.00848856475779844,0.00848856475779844,0.02151143524220155,0.01
+3.,0.008486123302822282,0.008486123302822282,0.02151387669717771,0.01
+3.1,0.008484026741507354,0.008484026741507354,0.02151597325849264,0.01
+3.2,0.008482226283489578,0.008482226283489578,0.02151777371651041,0.01
+3.3,0.008480680076575743,0.008480680076575743,0.02151931992342425,0.01
+3.4,0.008479352185618434,0.008479352185618434,0.02152064781438155,0.01
+3.5,0.008478211755201208,0.008478211755201208,0.02152178824479878,0.01
+3.6,0.008477232311730701,0.008477232311730701,0.02152276768826929,0.01
+3.7,0.008476391115964076,0.008476391115964076,0.02152360888403591,0.01
+3.8,0.008475668639608569,0.008475668639608569,0.02152433136039142,0.01
+3.9,0.008475048127366935,0.008475048127366935,0.02152495187263305,0.01
+4.,0.00847451518217711,0.00847451518217711,0.02152548481782288,0.01
+4.1,0.00847405744284755,0.00847405744284755,0.02152594255715244,0.01
+4.2,0.008473664294031051,0.008473664294031051,0.02152633570596894,0.01
+4.3,0.008473326619416625,0.008473326619416625,0.02152667338058336,0.01
+4.4,0.008473036589875027,0.008473036589875027,0.02152696341012496,0.01
+4.5,0.008472787481588065,0.008472787481588065,0.02152721251841192,0.01
+4.6,0.008472573519909286,0.008472573519909286,0.0215274264800907,0.01
+4.7,0.008472389745526968,0.008472389745526968,0.02152761025447302,0.01
+4.8,0.008472231899043166,0.008472231899043166,0.02152776810095682,0.01
+4.9,0.008472096322121173,0.008472096322121173,0.02152790367787882,0.01
+5.,0.008471979872620499,0.008471979872620499,0.02152802012737949,0.01
diff --git a/models/sbml-test-suite/cases/semantic/00016/00016-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00016/00016-sbml-l1v2.xml
new file mode 100644
index 0000000..92ea337
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00016/00016-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00016">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.01" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.02" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0.01" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="75"/>
+      <parameter name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00016/00016-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00016/00016-sbml-l2v4.xml
new file mode 100644
index 0000000..dd1e19f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00016/00016-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00016" id="case00016" name="case00016">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00016/00016-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00016/00016-sbml-l3v1.xml
new file mode 100644
index 0000000..9b36807
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00016/00016-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00016" id="case00016" name="case00016" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00016/00016-settings.txt b/models/sbml-test-suite/cases/semantic/00016/00016-settings.txt
new file mode 100644
index 0000000..9888299
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00016/00016-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00017/00017-results.csv b/models/sbml-test-suite/cases/semantic/00017/00017-results.csv
new file mode 100644
index 0000000..fb86319
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00017/00017-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.1,0.2,0.1
+1.,0.09955844034963175,0.09955844034963175,0.2004415596503685,0.1710120614745358
+2.,0.1136861084111015,0.1136861084111015,0.1863138915888988,0.2417365623042284
+3.,0.1299216234906496,0.1299216234906496,0.1700783765093507,0.3367968600392411
+4.,0.146601884588176,0.146601884588176,0.1533981154118243,0.4636610597904508
+5.,0.1629186118417217,0.1629186118417217,0.1370813881582785,0.6272810339468698
+6.,0.1782245019251297,0.1782245019251297,0.1217754980748707,0.8306023636438446
+7.,0.1920938667743042,0.1920938667743042,0.1079061332256961,1.074346354948108
+8.,0.2043409966055195,0.2043409966055195,0.09565900339448101,1.357277667223507
+9.,0.2149700462729938,0.2149700462729938,0.08502995372700664,1.676797242574361
+10.,0.2241019512324638,0.2241019512324638,0.07589804876753655,2.029576253716449
+11.,0.2319115336775824,0.2319115336775824,0.06808846632241792,2.412058008241573
+12.,0.2385857620515268,0.2385857620515268,0.06141423794847354,2.820783098949745
+13.,0.244300968442256,0.244300968442256,0.05569903155774425,3.252564740247556
+14.,0.249212925558633,0.249212925558633,0.05078707444136724,3.704561311268228
+15.,0.2534543029137677,0.2534543029137677,0.0465456970862326,4.174287670146975
+16.,0.2571357914523362,0.2571357914523362,0.04286420854766413,4.659594422360757
+17.,0.2603487329923676,0.2603487329923676,0.03965126700763283,5.158633158343672
+18.,0.2631681236509505,0.2631681236509505,0.03683187634904987,5.669817779171953
+19.,0.2656554636036077,0.2656554636036077,0.03434453639639274,6.19178708812229
+20.,0.267861248055347,0.267861248055347,0.03213875194465332,6.723370963696586
+21.,0.2698270533244205,0.2698270533244205,0.03017294667557978,7.263560879653211
+22.,0.2715872429158037,0.2715872429158037,0.02841275708419658,7.811484753755007
+23.,0.2731703446431377,0.2731703446431377,0.02682965535686251,8.366385751561543
+24.,0.2746001547812616,0.2746001547812616,0.02539984521873878,8.927604543312663
+25.,0.2758966209282178,0.2758966209282178,0.02410337907178257,9.494564499497867
+26.,0.2770765478552155,0.2770765478552155,0.0229234521447848,10.06675934896822
+27.,0.2781541627257351,0.2781541627257351,0.02184583727426523,10.64374288312327
+28.,0.2791415689445125,0.2791415689445125,0.02085843105548771,11.22512035187041
+29.,0.2800491118442777,0.2800491118442777,0.01995088815572256,11.81054125584319
+30.,0.2808856745125525,0.2808856745125525,0.01911432548744758,12.39969329038457
+31.,0.2816589181149434,0.2816589181149434,0.0183410818850567,12.99229724103304
+32.,0.2823754780029132,0.2823754780029132,0.01762452199708696,13.58810266602079
+33.,0.2830411244545095,0.2830411244545095,0.01695887554549067,14.18688423176698
+34.,0.2836608950244461,0.2836608950244461,0.01633910497555405,14.78843859141483
+35.,0.2842392040043384,0.2842392040043384,0.01576079599566173,15.39258171650746
+36.,0.2847799333494115,0.2847799333494115,0.01522006665058854,15.99914660801888
+37.,0.2852865085393319,0.2852865085393319,0.01471349146066806,16.60798132587116
+38.,0.2857619621297554,0.2857619621297554,0.01423803787024454,17.21894728706255
+39.,0.2862089872136495,0.2862089872136495,0.01379101278635045,17.83191779078465
+40.,0.2866299825712446,0.2866299825712446,0.01337001742875535,18.44677673619136
+41.,0.2870270909465964,0.2870270909465964,0.01297290905340357,19.06341750419226
+42.,0.2874022316193681,0.2874022316193681,0.01259776838063194,19.68174197926728
+43.,0.2877571282186964,0.2877571282186964,0.01224287178130364,20.30165969137322
+44.,0.288093332558671,0.288093332558671,0.01190666744132908,20.92308706097497
+45.,0.2884122451317656,0.2884122451317656,0.01158775486823439,21.54594673302907
+46.,0.2887151327858296,0.2887151327858296,0.01128486721417051,22.1701669878785
+47.,0.2890031440191211,0.2890031440191211,0.01099685598087898,22.79568121884572
+48.,0.2892773222541475,0.2892773222541475,0.01072267774585259,23.42242746782844
+49.,0.2895386173905607,0.2895386173905607,0.01046138260943939,24.05034801148265
+50.,0.2897878958886305,0.2897878958886305,0.01021210411136962,24.67938899162038
diff --git a/models/sbml-test-suite/cases/semantic/00017/00017-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00017/00017-sbml-l1v2.xml
new file mode 100644
index 0000000..479544c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00017/00017-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00017">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.1" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.2" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0.1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="7.5"/>
+      <parameter name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00017/00017-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00017/00017-sbml-l2v4.xml
new file mode 100644
index 0000000..21b3c84
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00017/00017-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00017" id="case00017" name="case00017">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00017/00017-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00017/00017-sbml-l3v1.xml
new file mode 100644
index 0000000..69d8697
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00017/00017-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00017" id="case00017" name="case00017" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00017/00017-settings.txt b/models/sbml-test-suite/cases/semantic/00017/00017-settings.txt
new file mode 100644
index 0000000..6819342
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00017/00017-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 50.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00018/00018-results.csv b/models/sbml-test-suite/cases/semantic/00018/00018-results.csv
new file mode 100644
index 0000000..a5d1e35
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00018/00018-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0002,0,0
+1,7.751199456389922e-005,0.000152461818856017,7.00261865800838e-005,7.00261865800838e-005
+2,5.975290195964454e-005,0.0001167160748010023,0.0001235310232393532,0.0001235310232393532
+3,4.595841261897188e-005,8.951138470226144e-005,0.0001645302026787667,0.0001645302026787667
+4,3.531535790898094e-005,6.870005167548727e-005,0.0001959845904155318,0.0001959845904155318
+5,2.71266288048284e-005,5.274496492293589e-005,0.0002201284062722357,0.0002201284062722357
+6,2.083357085889959e-005,4.050179548475092e-005,0.0002386646336563495,0.0002386646336563495
+7,1.599969726542897e-005,3.110339886455841e-005,0.0002528969038700127,0.0002528969038700127
+8,1.228742609193784e-005,2.388763203254854e-005,0.0002638249418755137,0.0002638249418755137
+9,9.436760067741321e-006,1.834724877184782e-005,0.0002722159911604109,0.0002722159911604109
+10,7.247805596181169e-006,1.409313760897207e-005,0.0002786590567948469,0.0002786590567948469
+11,5.566990115453411e-006,1.08266377101551e-005,0.0002836063721743916,0.0002836063721743916
+12,4.27636485658973e-006,8.318459631621457e-006,0.0002874051755117889,0.0002874051755117889
+13,3.285353217931591e-006,6.392554944813804e-006,0.0002903220918372547,0.0002903220918372547
+14,2.524402414258634e-006,4.913748098825087e-006,0.0002925618494869164,0.0002925618494869164
+15,1.940104981274625e-006,3.778245404081064e-006,0.0002942816496146444,0.0002942816496146444
+16,1.491451528873924e-006,2.906349234005177e-006,0.000295602199237121,0.000295602199237121
+17,1.146952566428517e-006,2.236863422690989e-006,0.0002966161840108806,0.0002966161840108806
+18,8.82428659172138e-007,1.722798257593153e-006,0.0002973947730832348,0.0002973947730832348
+19,6.793139658823817e-007,1.328073441528471e-006,0.0002979926125925893,0.0002979926125925893
+20,5.23352146323461e-007,1.024983680413449e-006,0.0002984516641732632,0.0002984516641732632
+21,4.035968022368121e-007,7.922561367197607e-007,0.0002988041470610435,0.0002988041470610435
+22,3.116427174435943e-007,6.135564294563331e-007,0.0002990748008531002,0.0002990748008531002
+23,2.410357250326532e-007,4.763417816047078e-007,0.0002992826224933627,0.0002992826224933627
+24,1.868200733920088e-007,3.709813829880376e-007,0.00029944219854362,0.00029944219854362
+25,1.451905709762394e-007,2.900803788113433e-007,0.0002995647290502125,0.0002995647290502125
+26,1.132253623588175e-007,2.27960555465248e-007,0.000299658814082176,0.000299658814082176
+27,8.868088454919554e-008,1.802618659109756e-007,0.0002997310572495399,0.0002997310572495399
+28,6.983442035893314e-008,1.436364537536024e-007,0.0002997865291258876,0.0002997865291258876
+29,5.536317885165486e-008,1.155136628513642e-007,0.000299829123158297,0.000299829123158297
+30,4.425142175763859e-008,9.391955046662375e-008,0.0002998618290277758,0.0002998618290277758
+31,3.571920483765572e-008,7.733840611062482e-008,0.0002998869423890517,0.0002998869423890517
+32,2.916772015770838e-008,6.460653196360383e-008,0.0002999062257478787,0.0002999062257478787
+33,2.413722694247485e-008,5.483048743499287e-008,0.0002999210322856226,0.0002999210322856226
+34,2.027461733579646e-008,4.732405781717661e-008,0.000299932401324847,0.000299932401324847
+35,1.730858215604665e-008,4.15599924616056e-008,0.0002999411314253824,0.0002999411314253824
+36,1.503116249804405e-008,3.713415294785581e-008,0.0002999478346845541,0.0002999478346845541
+37,1.328252292780595e-008,3.373592194806391e-008,0.0002999529815551242,0.0002999529815551242
+38,1.193968090722958e-008,3.11263004735951e-008,0.0002999569340186192,0.0002999569340186192
+39,1.090874008625382e-008,2.91228143909842e-008,0.0002999599684455228,0.0002999599684455228
+40,1.0116986979749e-008,2.758415543396467e-008,0.0002999622988575863,0.0002999622988575863
+41,9.509162504979549e-009,2.640293547618339e-008,0.0002999640879020188,0.0002999640879020188
+42,9.042331080205401e-009,2.549571535170635e-008,0.0002999654619535681,0.0002999654619535681
+43,8.683997407678788e-009,2.479934509601022e-008,0.0002999665166574963,0.0002999665166574963
+44,8.408709743935531e-009,2.42643628838432e-008,0.0002999673269273722,0.0002999673269273722
+45,8.197487191492512e-009,2.385388205555443e-008,0.0002999679486307529,0.0002999679486307529
+46,8.035146354530607e-009,2.353839585154588e-008,0.0002999684264577939,0.0002999684264577939
+47,7.91059418939011e-009,2.329634652819727e-008,0.0002999687930592824,0.0002999687930592824
+48,7.8149597723826e-009,2.311049471341998e-008,0.0002999690745455142,0.0002999690745455142
+49,7.741476538203313e-009,2.296769055503222e-008,0.0002999692908329067,0.0002999692908329067
+50,7.685096166364853e-009,2.285812336419283e-008,0.0002999694567804694,0.0002999694567804694
diff --git a/models/sbml-test-suite/cases/semantic/00018/00018-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00018/00018-sbml-l1v2.xml
new file mode 100644
index 0000000..f2a79c8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00018/00018-sbml-l1v2.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00018">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.0002" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="k3" value="0.4"/>
+      <parameter name="k4" value="0.1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S2"/>
+      </reaction>
+      <reaction name="reaction3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k3 * S2"/>
+      </reaction>
+      <reaction name="reaction4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k4 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00018/00018-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00018/00018-sbml-l2v4.xml
new file mode 100644
index 0000000..878cc57
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00018/00018-sbml-l2v4.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00018" id="case00018" name="case00018">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.4"/>
+      <parameter id="k4" name="k4" value="0.1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction4" name="reaction4" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00018/00018-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00018/00018-sbml-l3v1.xml
new file mode 100644
index 0000000..24381e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00018/00018-sbml-l3v1.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00018" id="case00018" name="case00018" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.4" constant="true"/>
+      <parameter id="k4" name="k4" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction4" name="reaction4" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00018/00018-settings.txt b/models/sbml-test-suite/cases/semantic/00018/00018-settings.txt
new file mode 100644
index 0000000..bde72a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00018/00018-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 50.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00019/00019-results.csv b/models/sbml-test-suite/cases/semantic/00019/00019-results.csv
new file mode 100644
index 0000000..7578152
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00019/00019-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.002,0.002,0,0
+0.16,0.001569848916641367,0.001542438689075063,0.0004301510833586337,0.00002741022756630551
+0.32,0.001378303838926825,0.001290590033400975,0.0006216961610731771,0.00008771380552584979
+0.48,0.001293244225691129,0.001130466813400907,0.0007067557743088723,0.0001627774122902212
+0.64,0.001260798004914163,0.001016703049465849,0.0007392019950858381,0.000244094955448312
+0.8,0.001255842864534175,0.000928496228461573,0.0007441571354658266,0.000327346636072599
+0.96,0.001265713561021739,0.0008554739450796913,0.0007342864389782623,0.0004102396159420452
+1.12,0.001283705896158912,0.000792178728933134,0.0007162941038410892,0.0004915271672257748
+1.28,0.001306149753302726,0.0007356245427639471,0.0006938502466972759,0.0005705252105387757
+1.44,0.00133098189971848,0.0006841203991710334,0.0006690181002815208,0.0006468615005474447
+1.6,0.001357013455575374,0.0006366723890475229,0.0006429865444246266,0.0007203410665278497
+1.76,0.001383540982088471,0.0005926686838173421,0.0006164590179115299,0.0007908722982711273
+1.92,0.001410135222869264,0.000551709638114211,0.0005898647771307368,0.0008584255847550511
+2.08,0.001436524491456616,0.0005135147197625902,0.0005634755085433851,0.0009230097716940233
+2.24,0.001462529543331092,0.0004778710334396073,0.0005374704566689094,0.0009846585098914819
+2.4,0.001488026870411633,0.0004446047192029172,0.0005119731295883687,0.001043422151208713
+2.56,0.001512927852622842,0.0004135650703096746,0.0004870721473771602,0.001099362782313164
+2.72,0.001537166820211718,0.000384615773215252,0.0004628331797882843,0.001152551046996462
+2.88,0.001560694144462882,0.0003576301471857509,0.0004393058555371203,0.001203063997277127
+3.04,0.001583472168909728,0.0003324886247128327,0.0004165278310902743,0.001250983544196891
+3.2,0.001605472741160729,0.0003090774750358708,0.0003945272588392725,0.001296395266124855
+3.36,0.001626675640828656,0.0002872882023808128,0.0003733243591713457,0.001339387438447839
+3.52,0.001647067503837851,0.0002670172950463399,0.0003529324961621508,0.001380050208791507
+3.68,0.001666641017762816,0.0002481661417742487,0.0003333589822371857,0.001418474875988563
+3.84,0.001685394263272109,0.0002306410131206111,0.0003146057367278923,0.001454753250151495
+4.,0.001703330134216152,0.0002143530525615869,0.0002966698657838495,0.001488977081654562
+4.16,0.001720455801982503,0.0001992182496209559,0.0002795441980174985,0.001521237552361543
+4.32,0.001736782207980302,0.0001851573827765904,0.0002632177920196992,0.001551624825203708
+4.48,0.001752323578691538,0.000172095929424345,0.0002476764213084631,0.001580227649267189
+4.64,0.001767096962377448,0.0001599639443227781,0.0002329030376225526,0.001607133018054667
+4.8,0.001781121789474063,0.0001486959112195744,0.0002188782105259379,0.001632425878254485
+4.96,0.001794419458969382,0.0001382305725728685,0.0002055805410306183,0.001656188886396511
+5.12,0.001807012953349887,0.0001285107431738578,0.0001929870466501142,0.001678502210176026
+5.28,0.001818926483860902,0.0001194831125745962,0.0001810735161390984,0.001699443371286303
+5.44,0.001830185167306368,0.0001110980411297785,0.0001698148326936326,0.001719087126176587
+5.6,0.001840814734755438,0.0001033093535120085,0.0001591852652445632,0.001737505381243426
+5.76,0.001850841271897176,0.00009607413302066248,0.000149158728102825,0.00175476713887651
+5.92,0.001860290990186098,0.00008935251937308706,0.0001397090098139031,0.001770938470813007
+6.08,0.001869190027457309,0.00008310751193250604,0.0001308099725426913,0.0017860825155248
+6.24,0.001877564276337804,0.00007730478006519533,0.0001224357236621967,0.001800259496272606
+6.4,0.001885439238556956,0.00007191248153744327,0.0001145607614430444,0.00181352675701951
+6.56,0.001892839903069441,0.00006690108988420569,0.0001071600969305593,0.001825938813185232
+6.72,0.001899790645902278,0.0000622432309601106,0.0001002093540977223,0.001837547414942165
+6.88,0.001906315149543145,0.00005791352905308032,0.00009368485045685597,0.001848401620490061
+7.04,0.001912436339837156,0.00005388846236448365,0.00008756366016284404,0.001858547877472669
+7.2,0.001918176338332443,0.00005014622784943915,0.00008182366166755747,0.001868030110483
+7.36,0.00192355642822817,0.00004666661502743423,0.00007644357177182963,0.001876889813200733
+7.52,0.001928597032118402,0.00004343088850079216,0.00007140296788159806,0.001885166143617606
+7.68,0.00193331769992535,0.00004042167873065849,0.00006668230007465033,0.001892896021194688
+7.84,0.00193773710552577,0.00003762288065476563,0.0000622628944742302,0.001900114224871001
+8.,0.001941873050713064,0.0000350195597083204,0.00005812694928693673,0.00190685349100474
diff --git a/models/sbml-test-suite/cases/semantic/00019/00019-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00019/00019-sbml-l1v2.xml
new file mode 100644
index 0000000..160e38b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00019/00019-sbml-l1v2.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00019">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.002" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.002" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1000"/>
+      <parameter name="k2" value="0.9"/>
+      <parameter name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+      <reaction name="reaction3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k3 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00019/00019-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00019/00019-sbml-l2v4.xml
new file mode 100644
index 0000000..98b67e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00019/00019-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00019" id="case00019" name="case00019">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000"/>
+      <parameter id="k2" name="k2" value="0.9"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00019/00019-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00019/00019-sbml-l3v1.xml
new file mode 100644
index 0000000..5eb30e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00019/00019-sbml-l3v1.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00019" id="case00019" name="case00019" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.9" constant="true"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00019/00019-settings.txt b/models/sbml-test-suite/cases/semantic/00019/00019-settings.txt
new file mode 100644
index 0000000..62ad919
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00019/00019-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00020/00020-results.csv b/models/sbml-test-suite/cases/semantic/00020/00020-results.csv
new file mode 100644
index 0000000..e723c92
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00020/00020-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0,0,0
+0.24,0.008453538346846506,0.001454831071137629,0.00008455835338141203,7.072228634439726e-6
+0.48,0.007146231058158351,0.002520166433772904,0.000283906440194946,0.00004969606787380212
+0.72,0.006041093828554424,0.003274843012541096,0.0005365100516148011,0.0001475531072896802
+0.96,0.005106861833658081,0.00378340229540728,0.0008015586895992745,0.0003081771813353681
+1.2,0.004317105234288111,0.004098538943279028,0.001053158341211751,0.0005311974812211178
+1.44,0.003649481464542673,0.004263143832696125,0.001276001451340476,0.0008113732514207333
+1.68,0.003085103150665788,0.004312007292688917,0.001462159382080854,0.001140730174564447
+1.92,0.002608003778812705,0.004273237783284368,0.001608724749122239,0.001510033688780696
+2.16,0.00220468599527665,0.004169442414082824,0.00171609458261195,0.001909777008028582
+2.4,0.001863739760380732,0.004018708255571021,0.001786734391398633,0.002330817592649623
+2.64,0.001575519553293583,0.003835417132257367,0.001824301130873269,0.00276476218357579
+2.88,0.001331871495998426,0.003630921317861969,0.001833032293331501,0.00320417489280811
+3.12,0.001125902676439727,0.00341410312445347,0.001817330809194504,0.003642663389912303
+3.36,0.0009517861450266875,0.003191837653782872,0.001781492690813456,0.004074883510376989
+3.6,0.0008045960674945864,0.002969374851512534,0.001729537551166219,0.004496491529826664
+3.84,0.0006801683710185862,0.002750654375963528,0.001665112208314487,0.004904065044703403
+4.08,0.0005749829406731081,0.002538564588359131,0.00159144525870408,0.005295007212263686
+4.32,0.0004860640337868669,0.002335155118072074,0.001511336321942772,0.005667444526198289
+4.56,0.0004108960948738093,0.002141810903000101,0.00142716805704294,0.006020124945083152
+4.8,0.0003473525894572437,0.001959394302037076,0.001340932357835529,0.006352320750670152
+5.04,0.0002936358434804465,0.001788360784045256,0.001254264610053529,0.006663738762420769
+5.28,0.0002482261862863,0.001628852782461907,0.001168481732986072,0.006954439298265722
+5.52,0.0002098389584499896,0.001480775538012853,0.001084621086976831,0.007224764416560327
+5.76,0.0001773881681965548,0.001343858110519208,0.001003478322058856,0.007475275399225378
+6.,0.0001499557682133135,0.001217702204140667,0.0009256429624612923,0.007706699065184726
+6.24,0.0001267656836901065,0.001101821001776929,0.0008515310353873998,0.007919882279145562
+6.48,0.0001071618568130006,0.0009956698296180763,0.0007814144129213955,0.00811575390064753
+6.72,0.000090589686589961,0.0008986701600034477,0.0007154467829673075,0.008295293370439285
+6.96,0.0000765803389437116,0.0008102281998521764,0.0006536863290706198,0.00845950513213349
+7.2,0.0000647374831883374,0.000729749094506507,0.0005961153026085176,0.008609398119696635
+7.44,0.0000547260796603013,0.0006566475957936834,0.0005426567312051505,0.008745969593340858
+7.68,0.00004626290129753488,0.0005903558925388717,0.0004931885371566311,0.008870192669006959
+7.92,0.00003910852101580128,0.0005303291766538547,0.0004475553485745649,0.008983006953755777
+8.16,0.00003306053821036642,0.0004760494141142706,0.0004055782808409214,0.009085311766834443
+8.4,0.00002794785275341849,0.0004270277040873123,0.0003670629518984246,0.009177961491260848
+8.64,0.00002362582449606703,0.0003828055382544989,0.0003318059754864494,0.009261762661762989
+8.88,0.00001997218133503561,0.0003429552135214197,0.0002996001542722822,0.009337472450871268
+9.12,0.00001688356007862278,0.0003070796027471518,0.0002702385717038395,0.009405798265470393
+9.36,0.00001427258225590035,0.0002748114481553626,0.0002435177585303471,0.0094673982110584
+9.6,0.00001206538214116755,0.0002458123092265648,0.0002192400880837546,0.00952288222054852
+9.84,0.00001019951705993918,0.000219771269931836,0.0001972155340528313,0.009572813678955401
+10.08,8.622200858407419e-6,0.0001964034881381492,0.0001772629058730018,0.009617711405130449
+10.32,7.288810559051342e-6,0.0001754486520430871,0.0001592106600960201,0.009658051877301846
+10.56,6.161623956491448e-6,0.0001566693938991099,0.000142897371200183,0.009694271610944217
+10.8,5.208752439640959e-6,0.0001398496994557697,0.000128171932176832,0.009726769615927761
+11.04,4.403238848795567e-6,0.0001247933420052002,0.0001148935437723423,0.009755909875373666
+11.28,3.722294845800334e-6,0.0001113223622593372,0.0001029315413441364,0.009782023801550731
+11.52,3.146656221698272e-6,0.00009927560917098424,0.0000921650997544605,0.00980541263485286
+11.76,2.660037903480227e-6,0.00008850735196558502,0.00008248284943483211,0.009826349760696108
+12.,2.248673242193545e-6,0.00007888596983770683,0.0000737824305610546,0.009845082926359039
diff --git a/models/sbml-test-suite/cases/semantic/00020/00020-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00020/00020-sbml-l1v2.xml
new file mode 100644
index 0000000..8348a98
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00020/00020-sbml-l1v2.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00020">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.7"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S2"/>
+      </reaction>
+      <reaction name="reaction3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k3 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00020/00020-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00020/00020-sbml-l2v4.xml
new file mode 100644
index 0000000..b4ea7be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00020/00020-sbml-l2v4.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00020" id="case00020" name="case00020">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00020/00020-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00020/00020-sbml-l3v1.xml
new file mode 100644
index 0000000..aa63d6f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00020/00020-sbml-l3v1.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00020" id="case00020" name="case00020" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00020/00020-settings.txt b/models/sbml-test-suite/cases/semantic/00020/00020-settings.txt
new file mode 100644
index 0000000..927b43a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00020/00020-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00021/00021-results.csv b/models/sbml-test-suite/cases/semantic/00021/00021-results.csv
new file mode 100644
index 0000000..16c0367
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00021/00021-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0
+0.2,0.000139875492173728,2.024901565254404e-005
+0.4,0.0001305256120642271,3.894877587154593e-005
+0.6,0.0001219682238838072,5.606355223238568e-005
+0.8,0.000114200237953347,7.159952409330598e-005
+1,0.000107201245018582,8.559750996283608e-005
+1.2,0.0001009373816110877,9.812523677782476e-005
+1.4,9.536508254712646e-005,0.0001092698349057471
+1.6,9.043448152433292e-005,0.0001191310369513342
+1.8,8.609232056401365e-005,0.0001278153588719727
+2,8.22843125522507e-005,0.0001354313748954986
+2.2,7.89569630220664e-005,0.0001420860739558672
+2.4,7.605889764313384e-005,0.0001478822047137324
+2.6,7.354176383336432e-005,0.0001529164723332714
+2.8,7.136078295621167e-005,0.0001572784340875768
+3,6.947502797025393e-005,0.0001610499440594922
+3.2,6.784749466187853e-005,0.000164305010676243
+3.4,6.644502447887954e-005,0.000167109951042241
+3.6,6.523812636508502e-005,0.00016952374726983
+3.8,6.420073507361817e-005,0.0001715985298527637
+4,6.330993432972986e-005,0.0001733801313405404
+4.2,6.254566606085372e-005,0.0001749086678782926
+4.4,6.189043999493345e-005,0.0001762191200101332
+4.6,6.132905332281956e-005,0.0001773418933543609
+4.8,6.084832707644896e-005,0.0001783033458471021
+5,6.04368624688784e-005,0.0001791262750622432
+5.2,6.008481939710178e-005,0.0001798303612057964
+5.4,5.978371904320798e-005,0.000180432561913584
+5.6,5.952626511734896e-005,0.0001809474697653021
+5.8,5.930618503710379e-005,0.0001813876299257924
+6,5.911809240224345e-005,0.0001817638151955131
+6.2,5.895736831336634e-005,0.0001820852633732674
+6.4,5.882005162607282e-005,0.0001823598967478544
+6.6,5.870274777972455e-005,0.0001825945044405509
+6.8,5.860255296946021e-005,0.0001827948940610796
+7,5.85169788646058e-005,0.0001829660422707884
+7.2,5.844389834768807e-005,0.0001831122033046239
+7.4,5.838149236364353e-005,0.000183237015272713
+7.6,5.832820367467966e-005,0.0001833435926506407
+7.8,5.828270427556528e-005,0.0001834345914488695
+8,5.824385542921286e-005,0.0001835122891415743
+8.2,5.821068822649138e-005,0.0001835786235470172
+8.4,5.818237067247762e-005,0.0001836352586550448
+8.6,5.815819624279553e-005,0.000183683607514409
+8.8,5.813755742232408e-005,0.0001837248851553518
+9,5.811993905715414e-005,0.0001837601218856917
+9.2,5.810489818621595e-005,0.0001837902036275681
+9.4,5.809205848303176e-005,0.0001838158830339365
+9.6,5.808109822979702e-005,0.0001838378035404059
+9.8,5.807174154807663e-005,0.0001838565169038467
+10,5.80637547770679e-005,0.0001838724904458642
diff --git a/models/sbml-test-suite/cases/semantic/00021/00021-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00021/00021-sbml-l1v2.xml
new file mode 100644
index 0000000..c5bad3c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00021/00021-sbml-l1v2.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00021">
+    <listOfCompartments>
+      <compartment name="compartment" volume="0.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.00015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.35"/>
+      <parameter name="k2" value="180"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * pow(S2, 2)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00021/00021-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00021/00021-sbml-l2v4.xml
new file mode 100644
index 0000000..47f524e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00021/00021-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00021" id="case00021" name="case00021">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="0.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35"/>
+      <parameter id="k2" name="k2" value="180"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00021/00021-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00021/00021-sbml-l3v1.xml
new file mode 100644
index 0000000..0d83f55
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00021/00021-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00021" id="case00021" name="case00021" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="0.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35" constant="true"/>
+      <parameter id="k2" name="k2" value="180" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00021/00021-settings.txt b/models/sbml-test-suite/cases/semantic/00021/00021-settings.txt
new file mode 100644
index 0000000..a9e799c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00021/00021-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00022/00022-results.csv b/models/sbml-test-suite/cases/semantic/00022/00022-results.csv
new file mode 100644
index 0000000..1b9490c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00022/00022-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.5,0.001355798595559484,1.131631198347641e-006
+1,0.00122692341811822,1.024059859814996e-006
+1.5,0.001110298440504707,9.267180455421073e-007
+2,0.001004759245516778,8.386171289534968e-007
+2.5,0.0009092520156885838,7.589209714462444e-007
+3,0.0008228232402262395,6.867776906808153e-007
+3.5,0.0007446099295755377,6.214964389063632e-007
+4,0.0006738311776847116,5.624155612317647e-007
+4.5,0.0006097802886901245,5.089493595983931e-007
+5,0.0005518177136525919,4.605873221007581e-007
+5.5,0.0004993647829658758,4.168065710146459e-007
+6,0.0004518977648580773,3.77181104062356e-007
+6.5,0.0004089427173383061,3.413208315076395e-007
+7,0.0003700707388238509,3.088797741692315e-007
+7.5,0.0003348937245471513,2.795255121309117e-007
+8,0.000303060461501457,2.529568502280306e-007
+8.5,0.0002742531116163773,2.289078982791045e-007
+9,0.0002481840328193765,2.071492510603488e-007
+9.5,0.0002245929564635763,1.874511812417133e-007
+10,0.0002032442893498761,1.696507648502231e-007
+10.5,0.0001839249521276985,1.535169908113633e-007
+11,0.0001664419995090258,1.389247822863822e-007
+11.5,0.000150620890714676,1.257161315385146e-007
+12,0.0001363036516222274,1.137650224842314e-007
+12.5,0.0001233473165029412,1.029628738364661e-007
+13,0.0001116225597848092,9.317607845352118e-008
+13.5,0.0001010123081651319,8.431220821285437e-008
+14,9.141060815004247e-005,7.629361176281461e-008
+14.5,8.27215858494886e-005,6.904427810762928e-008
+15,7.48584875384628e-005,6.24906059449674e-008
+15.5,6.774283257285294e-005,5.654731461050179e-008
+16,6.130355574985126e-005,5.116834558867296e-008
+16.5,5.547635733075017e-005,4.630476784698201e-008
+17,5.020306690189125e-005,4.19001929799082e-008
+17.5,4.543100052334828e-005,3.793357784965092e-008
+18,4.111258049560371e-005,3.431712394977984e-008
+18.5,3.720463189793379e-005,3.105504300817127e-008
+19,3.366815448099471e-005,2.810174373844332e-008
+19.5,3.046782724480374e-005,2.543547601608584e-008
+20,2.757171066997843e-005,2.301974920497002e-008
+20.5,2.495088662712e-005,2.083175562902301e-008
+21,2.257919225238339e-005,1.884634206382111e-008
+21.5,2.043293141353348e-005,1.705484601761144e-008
+22,1.849068110318699e-005,1.543496599289783e-008
+22.5,1.6733039398952e-005,1.397719590217467e-008
+23,1.514249397029585e-005,1.264124157026794e-008
+23.5,1.370312993320265e-005,1.143759378280741e-008
+24,1.240058129551518e-005,1.035051233477929e-008
+24.5,1.122184313950008e-005,9.368885833646954e-009
+25,1.015515710879537e-005,8.475403666901927e-009
diff --git a/models/sbml-test-suite/cases/semantic/00022/00022-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00022/00022-sbml-l1v2.xml
new file mode 100644
index 0000000..d8eb652
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00022/00022-sbml-l1v2.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00022">
+    <listOfCompartments>
+      <compartment name="compartment" volume="0.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.35"/>
+      <parameter name="k2" value="180"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="3" denominator="10"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="7" denominator="10"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S2"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00022/00022-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00022/00022-sbml-l2v4.xml
new file mode 100644
index 0000000..974eefd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00022/00022-sbml-l2v4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00022" id="case00022" name="case00022">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="0.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35"/>
+      <parameter id="k2" name="k2" value="180"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="0.3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="0.7"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00022/00022-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00022/00022-sbml-l3v1.xml
new file mode 100644
index 0000000..1ee54c1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00022/00022-sbml-l3v1.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00022" id="case00022" name="case00022" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="0.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35" constant="true"/>
+      <parameter id="k2" name="k2" value="180" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="0.3" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="0.7" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00022/00022-settings.txt b/models/sbml-test-suite/cases/semantic/00022/00022-settings.txt
new file mode 100644
index 0000000..0a78b94
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00022/00022-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00023/00023-results.csv b/models/sbml-test-suite/cases/semantic/00023/00023-results.csv
new file mode 100644
index 0000000..5e62485
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00023/00023-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.2,0,0
+0.1,0.09759144911341092,0.2,0.001999986666781695,0.001999986666781695
+0.2,0.09535693254028187,0.2,0.003999893336748443,0.003999893336748443
+0.3,0.09328385587779553,0.2,0.005999640026451803,0.005999640026451803
+0.4,0.09136058821676538,0.2,0.007999146775697881,0.007999146775697881
+0.5,0.08957630869004361,0.2,0.009998333666377493,0.009998333666377493
+0.6,0.08792093455315332,0.2,0.01199712082956388,0.01199712082956388
+0.7,0.08638516342976922,0.2,0.01399542845896147,0.01399542845896147
+0.8,0.0849603826970136,0.2,0.01599317682635142,0.01599317682635142
+0.9,0.08363855169342913,0.2,0.01799028629444921,0.01799028629444921
+1,0.0824122090838859,0.2,0.0199866773253542,0.0199866773253542
+1.1,0.08127448909141642,0.2,0.02198227049510912,0.02198227049510912
+1.2,0.08021899099387111,0.2,0.02397698651084535,0.02397698651084535
+1.3,0.07923974681284694,0.2,0.0259707462175162,0.0259707462175162
+1.4,0.07833124812307188,0.2,0.02796347061095045,0.02796347061095045
+1.5,0.0774884098145454,0.2,0.02995508085222658,0.02995508085222658
+1.6,0.0767064793021856,0.2,0.03194549828330394,0.03194549828330394
+1.7,0.07598103202120829,0.2,0.03393464443196528,0.03393464443196528
+1.8,0.07530799948317511,0.2,0.03592244102718861,0.03592244102718861
+1.9,0.07468361225950014,0.2,0.03790881001359746,0.03790881001359746
+2,0.07410434521988453,0.2,0.03989367356485781,0.03989367356485781
+2.1,0.07356691845739809,0.2,0.04187695408867884,0.04187695408867884
+2.2,0.07306832218467854,0.2,0.04385857424264295,0.04385857424264295
+2.3,0.07260576536608632,0.2,0.04583845694828027,0.04583845694828027
+2.4,0.07217663596785608,0.2,0.04781652540432234,0.04781652540432234
+2.5,0.07177850125717374,0.2,0.04979270309046514,0.04979270309046514
+2.6,0.07140912900105584,0.2,0.05176691378366587,0.05176691378366587
+2.7,0.07106645673586055,0.2,0.05373908157000954,0.05373908157000954
+2.8,0.07074855201253288,0.2,0.05570913086099459,0.05570913086099459
+2.9,0.07045361114331128,0.2,0.05767698639529631,0.05767698639529631
+3,0.07017997062122942,0.2,0.0596425732540212,0.0596425732540212
+3.1,0.0699261082028538,0.2,0.0616058168696922,0.0616058168696922
+3.2,0.06969059833238385,0.2,0.0635666430461747,0.0635666430461747
+3.3,0.06947210676529221,0.2,0.06552497796298111,0.06552497796298111
+3.4,0.06926939161614944,0.2,0.0674807481808324,0.0674807481808324
+3.5,0.06908131991101843,0.2,0.06943388065843188,0.06943388065843188
+3.6,0.06890684512200219,0.2,0.0713843027614743,0.0713843027614743
+3.7,0.06874498437425805,0.2,0.07333194228028277,0.07333194228028277
+3.8,0.06859481807508797,0.2,0.07527672743042656,0.07527672743042656
+3.9,0.06845549238266896,0.2,0.07721858686147709,0.07721858686147709
+4,0.06832623222662504,0.2,0.07915744967195848,0.07915744967195848
+4.1,0.06820631801046115,0.2,0.08109324541896618,0.08109324541896618
+4.2,0.06809507360605278,0.2,0.08302590413324192,0.08302590413324192
+4.3,0.06799186632039554,0.2,0.08495535631930629,0.08495535631930629
+4.4,0.06789610913820446,0.2,0.08688153296401921,0.08688153296401921
+4.5,0.06780726989338795,0.2,0.0888043655512665,0.0888043655512665
+4.6,0.06772485402191752,0.2,0.09072378606997902,0.09072378606997902
+4.7,0.0676483968275262,0.2,0.09263972702822254,0.09263972702822254
+4.8,0.06757746346648155,0.2,0.09455212145332476,0.09455212145332476
+4.9,0.0675116524798345,0.2,0.09646090289812656,0.09646090289812656
+5,0.06745059678156079,0.2,0.09836600546044098,0.09836600546044098
diff --git a/models/sbml-test-suite/cases/semantic/00023/00023-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00023/00023-sbml-l2v4.xml
new file mode 100644
index 0000000..2a381a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00023/00023-sbml-l2v4.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00023" id="case00023" name="case00023">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance" boundaryCondition="true" constant="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.1"/>
+      <parameter id="k4" name="k4" value="0.1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction4" name="reaction4" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00023/00023-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00023/00023-sbml-l3v1.xml
new file mode 100644
index 0000000..d8d1556
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00023/00023-sbml-l3v1.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00023" id="case00023" name="case00023" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.1" constant="true"/>
+      <parameter id="k4" name="k4" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction4" name="reaction4" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00023/00023-settings.txt b/models/sbml-test-suite/cases/semantic/00023/00023-settings.txt
new file mode 100644
index 0000000..0e87183
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00023/00023-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00024/00024-results.csv b/models/sbml-test-suite/cases/semantic/00024/00024-results.csv
new file mode 100644
index 0000000..d58058a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00024/00024-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0002,0,0
+0.5,8.813038152334262e-005,0.0001744850627091159,0,3.738455576754147e-005
+1,7.75119858900571e-005,0.0001524616689196838,0,7.002634519025911e-005
+1.5,6.808411478851575e-005,0.000133352660465004,0,9.856322474648023e-005
+2,5.975280976877561e-005,0.0001167152071450191,0,0.0001235319830862053
+2.5,5.241263240877023e-005,0.0001021969214060838,0,0.000145390446185146
+3,4.595809539412773e-005,8.950921747231847e-005,0,0.0001645326871335538
+3.5,4.028934164522503e-005,7.841066186822912e-005,0,0.0001812999964865459
+4,3.531466268661501e-005,6.869617799355334e-005,0,0.0001959891593198317
+4.5,3.095131243666216e-005,6.018973640950844e-005,0,0.0002088589511538294
+5,2.712543090574133e-005,5.273916790604741e-005,0,0.0002201354011882113
+5.5,2.377152997817138e-005,4.621230874993008e-005,0,0.0002300161612718986
+6,2.083178929537581e-005,4.049401410330646e-005,0,0.0002386741966013178
+6.5,1.825529558139527e-005,3.548376265493366e-005,0,0.0002462609417636711
+7,1.599729465769619e-005,3.109368323960946e-005,0,0.0002529090221026944
+7.5,1.401848985409666e-005,2.724689679131966e-005,0,0.0002587346133545837
+8,1.228440106711644e-005,2.387610376397612e-005,0,0.0002638394951689075
+8.5,1.076478829181236e-005,2.092236916727605e-005,0,0.0002683128425409116
+9,9.4331380710451e-006,1.833407086194104e-005,0,0.0002722327910670139
+9.5,8.266208716854875e-006,1.606598530246706e-005,0,0.0002756678059806781
+10,7.243629095034964e-006,1.407849054189106e-005,0,0.000278677880363074
+10.5,6.347545515047231e-006,1.233687018907218e-005,0,0.0002813155842958806
+11,5.562311436362565e-006,1.081070480799698e-005,0,0.0002836269837556405
+11.5,4.874215069707502e-006,9.473339362778483e-006,0,0.0002856524455675141
+12,4.271240397954697e-006,8.301416972765875e-006,0,0.0002874273426292794
+12.5,3.742857602890027e-006,7.27447058874774e-006,0,0.0002889826718083623
+13,3.279839328413717e-006,6.374565319599391e-006,0,0.0002903455953519869
+13.5,2.874099622713425e-006,5.585985083823606e-006,0,0.000291539915293463
+14,2.518552775782422e-006,4.894958068829545e-006,0,0.000292586489155388
+14.5,2.206989603509899e-006,4.289416177971906e-006,0,0.0002935035942185182
+15,1.93396902711733e-006,3.758784249949296e-006,0,0.0002943072467229334
+15.5,1.694723059785955e-006,3.293795361345937e-006,0,0.0002950114815788681
+16,1.485073544169897e-006,2.886328982152501e-006,0,0.0002956285974736776
+16.5,1.301359188406596e-006,2.529269155208928e-006,0,0.0002961693716563845
+17,1.140371627351963e-006,2.216380221344079e-006,0,0.000296643248151304
+17.5,9.992993929660326e-007,1.942197919047134e-006,0,0.0002970585026879868
+18,8.756788156630725e-007,1.701933956369776e-006,0,0.0002974223872279672
+18.5,7.673509993477567e-007,1.491392388242566e-006,0,0.0002977412566124097
+19,6.724241188532954e-007,1.306896338674608e-006,0,0.0002980206795424721
+19.5,5.892403814042596e-007,1.145223788033951e-006,0,0.0002982655358305618
+20,5.163470751544862e-007,1.003551303955406e-006,0,0.0002984801016208901
+20.5,4.524711992128814e-007,8.794047331704522e-007,0,0.0002986681240676167
+21,3.964972321088265e-007,7.706159931307923e-007,0,0.0002988328867747604
+21.5,3.474476504538409e-007,6.752852088301114e-007,0,0.000298977267140716
+22,3.044658575827644e-007,5.91747533580445e-007,0,0.0002991037866088368
+22.5,2.668012240439329e-007,5.185440743018545e-007,0,0.0002992146547016542
+23,2.337959786881129e-007,4.543964135661275e-007,0,0.0002993118076077458
+23.5,2.048737214241665e-007,3.981842834492657e-007,0,0.0002993969419951266
+24,1.795293570297735e-007,3.489260012907694e-007,0,0.0002994715446416795
+24.5,1.573202742225427e-007,3.057613256916056e-007,0,0.0002995369184000858
+25,1.378586159438603e-007,2.67936433349664e-007,0,0.0002995942049507065
diff --git a/models/sbml-test-suite/cases/semantic/00024/00024-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00024/00024-sbml-l2v4.xml
new file mode 100644
index 0000000..661d3de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00024/00024-sbml-l2v4.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00024" id="case00024" name="case00024">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true" constant="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.4"/>
+      <parameter id="k4" name="k4" value="0.1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction4" name="reaction4" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00024/00024-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00024/00024-sbml-l3v1.xml
new file mode 100644
index 0000000..e38f2af
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00024/00024-sbml-l3v1.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00024" id="case00024" name="case00024" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.4" constant="true"/>
+      <parameter id="k4" name="k4" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction4" name="reaction4" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00024/00024-settings.txt b/models/sbml-test-suite/cases/semantic/00024/00024-settings.txt
new file mode 100644
index 0000000..1850cb9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00024/00024-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00025/00025-results.csv b/models/sbml-test-suite/cases/semantic/00025/00025-results.csv
new file mode 100644
index 0000000..a960d65
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00025/00025-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0.0015
+0.1,0.001357256127053939,0.001642743872946061
+0.2,0.001228096129616973,0.001771903870383027
+0.3,0.001111227331022577,0.001888772668977423
+0.4,0.001005480069053459,0.001994519930946541
+0.5,0.0009097959895689501,0.00209020401043105
+0.6,0.0008232174541410396,0.00217678254585896
+0.7,0.0007448779556871142,0.002255122044312886
+0.8,0.0006739934461758324,0.002326006553824168
+0.9,0.0006098544896108987,0.002390145510389101
+1,0.0005518191617571635,0.002448180838242837
+1.1,0.0004993066255471192,0.002500693374452881
+1.2,0.0004517913178683031,0.002548208682131697
+1.3,0.0004087976895510189,0.002591202310448981
+1.4,0.0003698954459124097,0.00263010455408759
+1.5,0.0003346952402226448,0.002665304759777356
+1.6,0.0003028447769919831,0.002697155223008017
+1.7,0.0002740252860791019,0.002725974713920898
+1.8,0.0002479483323323798,0.00275205166766762
+1.9,0.0002243529288339526,0.002775647071166048
+2,0.000203002924854919,0.002796997075145081
+2.1,0.0001836846423794728,0.002816315357620527
+2.2,0.0001662047375435008,0.002833795262456499
+2.3,0.0001503882655842056,0.002849611734415794
+2.4,0.0001360769299341187,0.002863923070065882
+2.5,0.0001231274979358482,0.002876872502064152
+2.6,0.0001114103673215008,0.002888589632678499
+2.7,0.0001008082691096246,0.002899191730890375
+2.8,9.121509393782692e-005,0.002908784906062173
+2.9,8.253483008461081e-005,0.002917465169915389
+3,7.468060255179592e-005,0.002925319397448204
+3.1,6.75738035903367e-005,0.002932426196409663
+3.2,6.114330596754932e-005,0.002938856694032451
+3.3,5.532475110186e-005,0.00294467524889814
+3.4,5.00599049404891e-005,0.002949940095059511
+3.5,4.529607513347775e-005,0.002954703924866522
+3.6,4.098558367093884e-005,0.002959014416329061
+3.7,3.708528970550908e-005,0.002962914710294491
+3.8,3.355615778424838e-005,0.002966443842215752
+3.9,3.036286716870657e-005,0.002969637132831294
+4,2.747345833310127e-005,0.002972526541666899
+4.1,2.485901310264186e-005,0.002975140986897358
+4.2,2.249336523071656e-005,0.002977506634769284
+4.3,2.03528385183014e-005,0.002979647161481698
+4.4,1.841600985460266e-005,0.002981583990145397
+4.5,1.666349480736346e-005,0.002983336505192637
+4.6,1.507775361695037e-005,0.00298492224638305
+4.7,1.364291565254372e-005,0.002986357084347456
+4.8,1.234462057353003e-005,0.00298765537942647
+4.9,1.116987460638651e-005,0.002988830125393614
+5,1.01069204986282e-005,0.002989893079501372
diff --git a/models/sbml-test-suite/cases/semantic/00025/00025-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00025/00025-sbml-l2v4.xml
new file mode 100644
index 0000000..3100190
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00025/00025-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00025" id="case00025" name="case00025">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00025/00025-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00025/00025-sbml-l3v1.xml
new file mode 100644
index 0000000..c3a2eb3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00025/00025-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00025" id="case00025" name="case00025" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00025/00025-settings.txt b/models/sbml-test-suite/cases/semantic/00025/00025-settings.txt
new file mode 100644
index 0000000..203055a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00025/00025-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00026/00026-results.csv b/models/sbml-test-suite/cases/semantic/00026/00026-results.csv
new file mode 100644
index 0000000..8a0a84b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00026/00026-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0.
+0.1,0.9048374180172196,0.09516258198278092
+0.2,0.8187307521474208,0.1812692478525797
+0.3,0.7408182201023447,0.2591817798976557
+0.4,0.6703200379848521,0.3296799620151481
+0.5,0.6065306542979904,0.3934693457020097
+0.6,0.5488116333710606,0.4511883666289398
+0.7,0.4965853030966702,0.50341469690333
+0.8,0.4493289640981568,0.5506710359018434
+0.9,0.406569635991948,0.5934303640080523
+1.,0.3678794381552668,0.6321205618447336
+1.1,0.3328710676851778,0.6671289323148227
+1.2,0.3011942038176674,0.6988057961823331
+1.3,0.272531784772877,0.7274682152271235
+1.4,0.2465969526910352,0.7534030473089654
+1.5,0.223130156396217,0.7768698436037837
+1.6,0.2018964999441263,0.7981035000558744
+1.7,0.1826835018163205,0.8173164981836802
+1.8,0.1652988755559843,0.8347011244440164
+1.9,0.1495686182600013,0.8504313817399995
+2.,0.1353352791104195,0.8646647208895813
+2.1,0.122456415768212,0.8775435842317889
+2.2,0.1108031452486894,0.8891968547513114
+2.3,0.1002588376427423,0.8997411623572586
+2.4,0.9071795134152282,0.9928204893198768
+2.5,0.8208499685956376,1.079150034139467
+2.6,0.7427357647458855,1.157264237989219
+2.7,0.6720551114408854,1.227944891294219
+2.8,0.60810061163655,1.291899391098555
+2.9,0.550232180180828,1.349767822554276
+3.,0.4978706631220512,1.402129339613053
+3.1,0.4504920051769058,1.449507997558199
+3.2,0.407622024287213,1.492377978447892
+3.3,0.3688316490870735,1.531168353648032
+3.4,0.3337326924361815,1.566267310298924
+3.5,0.3019738276331729,1.598026175101932
+3.6,0.2732372185046276,1.626762784230477
+3.7,0.2472352588470616,1.652764743888043
+3.8,0.2237077125741589,1.676292290160946
+3.9,0.2024191100462686,1.697580892688836
+4.,0.1831563849387873,1.716843617796318
+4.1,0.1657267477652851,1.73427325496982
+4.2,0.149955760690705,1.7500442420444
+4.3,0.135685585379551,1.764314417355554
+4.4,0.122773396298772,1.777226606436333
+4.5,0.1110899554339955,1.788910047301109
+4.6,0.1005183551255503,1.799481647609555
+4.7,0.9095277402416306,1.890472268048498
+4.8,0.8229747318877279,1.977025276402401
+4.9,0.7446583294413564,2.055341678848772
+5.,0.6737947221998067,2.126205286090322
diff --git a/models/sbml-test-suite/cases/semantic/00026/00026-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00026/00026-sbml-l2v4.xml
new file mode 100644
index 0000000..58574bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00026/00026-sbml-l2v4.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00026" id="case00026" name="case00026">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00026/00026-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00026/00026-sbml-l3v1.xml
new file mode 100644
index 0000000..4358356
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00026/00026-sbml-l3v1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00026" id="case00026" name="case00026" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00026/00026-settings.txt b/models/sbml-test-suite/cases/semantic/00026/00026-settings.txt
new file mode 100644
index 0000000..57603a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00026/00026-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00027/00027-results.csv b/models/sbml-test-suite/cases/semantic/00027/00027-results.csv
new file mode 100644
index 0000000..36000bf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00027/00027-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.015,0
+0.002,0.012280960924476,0.002719039075524003
+0.004,0.0100548005983731,0.004945199401626899
+0.006,0.008232174701303326,0.006767825298696671
+0.008,0.006739934713617812,0.008260065286382188
+0.01,0.005518191998985918,0.009481808001014081
+0.012,0.00451791360377229,0.01048208639622771
+0.014,0.003698954880641971,0.01130104511935803
+0.016,0.003028448161891342,0.01197155183810866
+0.018,0.002479483673552914,0.01252051632644709
+0.02,0.002030029553413318,0.01296997044658668
+0.022,0.001662047636334835,0.01333795236366517
+0.024,0.001360769520340652,0.01363923047965935
+0.026,0.001114103859523066,0.01388589614047693
+0.028,0.0009121510964157774,0.01408784890358422
+0.03,0.0007468061583827261,0.01425319384161727
+0.032,0.0006114331728711382,0.01438856682712886
+0.034,0.00050059914673839,0.01449940085326161
+0.036,0.0004098559212911885,0.01459014407870881
+0.038,0.0003355616521442075,0.01466443834785579
+0.04,0.000274734649270998,0.014725265350729
+0.042,0.0002249337113448927,0.01477506628865511
+0.044,0.0001841601517739875,0.01481583984822601
+0.046,0.0001507775843961977,0.0148492224156038
+0.048,0.0001234462495564224,0.01487655375044358
+0.05,0.0001010692448433276,0.01489893075515667
+0.052,8.274850253822127e-005,0.01491725149746178
+0.054,6.77487469976649e-005,0.01493225125300234
+0.056,5.546798545378934e-005,0.01494453201454621
+0.058,4.541334792496192e-005,0.01495458665207504
+0.06,3.718130612480119e-005,0.0149628186938752
+0.062,3.044148082042009e-005,0.01496955851917958
+0.064,2.492337986986708e-005,0.01497507662013013
+0.066,2.040553917764462e-005,0.01497959446082235
+0.068,1.670663983540011e-005,0.0149832933601646
+0.07,1.36782347234151e-005,0.01498632176527658
+0.072,1.11987898474032e-005,0.01498880121015259
+0.074,9.168800192385344e-006,0.01499083119980761
+0.076,7.506780214533255e-006,0.01499249321978547
+0.078,6.146024395046887e-006,0.01499385397560495
+0.08,5.031941938793125e-006,0.01499496805806121
+0.082,4.119810695735593e-006,0.01499588018930426
+0.084,3.373007268976845e-006,0.01499662699273102
+0.086,2.761591891741225e-006,0.01499723840810826
+0.088,2.260996922574389e-006,0.01499773900307742
+0.09,1.851146476353637e-006,0.01499814885352364
+0.092,1.515594641443042e-006,0.01499848440535856
+0.094,1.240858240367245e-006,0.01499875914175963
+0.096,1.015935226443859e-006,0.01499898406477356
+0.098,8.317763300952175e-007,0.0149991682236699
+0.1,6.810038720960112e-007,0.0149993189961279
diff --git a/models/sbml-test-suite/cases/semantic/00027/00027-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00027/00027-sbml-l2v4.xml
new file mode 100644
index 0000000..6116334
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00027/00027-sbml-l2v4.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00027" id="case00027" name="case00027">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="0.534" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.534 </cn>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="100"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00027/00027-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00027/00027-sbml-l3v1.xml
new file mode 100644
index 0000000..6792846
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00027/00027-sbml-l3v1.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00027" id="case00027" name="case00027" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="0.534" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.534 </cn>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="100"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00027/00027-settings.txt b/models/sbml-test-suite/cases/semantic/00027/00027-settings.txt
new file mode 100644
index 0000000..ee933af
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00027/00027-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00028/00028-results.csv b/models/sbml-test-suite/cases/semantic/00028/00028-results.csv
new file mode 100644
index 0000000..1bf2d1d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00028/00028-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,2.968510666825692e-41
+0.04,0.9616000000000002,0.03839999999999999
+0.08,0.9232000000000002,0.07679999999999999
+0.12,0.8848000000000002,0.1151999999999999
+0.16,0.8464000000000002,0.1535999999999999
+0.2,0.8080000000000002,0.1919999999999999
+0.24,0.7696000000000001,0.2303999999999999
+0.28,0.7452999999998636,0.2547000000001361
+0.32,0.7356999999998598,0.2643000000001399
+0.36,0.7260999999998581,0.2739000000001415
+0.4,0.7164999999998615,0.283500000000138
+0.44,0.7068999999998745,0.2931000000001252
+0.48,0.6972999999998801,0.3027000000001194
+0.52,0.6876999999998895,0.3123000000001101
+0.56,0.6780999999998967,0.3219000000001029
+0.6,0.6684999999998996,0.3315000000001001
+0.64,0.6588999999999035,0.3411000000000961
+0.68,0.6492999999999041,0.3507000000000954
+0.72,0.6396999999999051,0.3603000000000945
+0.76,0.6300999999999054,0.3699000000000943
+0.8,0.6204999999999055,0.3795000000000941
+0.84,0.6108999999999059,0.3891000000000938
+0.88,0.6012999999999062,0.3987000000000934
+0.92,0.5916999999999064,0.4083000000000932
+0.96,0.5820999999999064,0.4179000000000932
+1.,0.5724999999999065,0.4275000000000931
+1.04,0.5628999999999067,0.437100000000093
+1.08,0.5532999999999067,0.4467000000000929
+1.12,0.5436999999999068,0.4563000000000928
+1.16,0.5340999999999068,0.4659000000000928
+1.2,0.5244999999999068,0.4755000000000927
+1.24,0.5148999999999068,0.4851000000000928
+1.28,0.5052999999999068,0.4947000000000928
+1.32,0.4985666666666957,0.5014333333333044
+1.36,0.4953666666666957,0.5046333333333044
+1.4,0.4921666666666957,0.5078333333333043
+1.44,0.4889666666666956,0.5110333333333043
+1.48,0.4857666666666956,0.5142333333333043
+1.52,0.4825666666666956,0.5174333333333043
+1.56,0.4793666666666957,0.5206333333333043
+1.6,0.4761666666666956,0.5238333333333042
+1.64,0.4729666666666956,0.5270333333333043
+1.68,0.4697666666666956,0.5302333333333043
+1.72,0.4665666666666956,0.5334333333333043
+1.76,0.4633666666666956,0.5366333333333043
+1.8,0.4601666666666956,0.5398333333333043
+1.84,0.4569666666666956,0.5430333333333043
+1.88,0.4537666666666956,0.5462333333333043
+1.92,0.4505666666666957,0.5494333333333043
+1.96,0.4473666666666956,0.5526333333333043
+2.,0.4441666666666956,0.5558333333333043
diff --git a/models/sbml-test-suite/cases/semantic/00028/00028-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00028/00028-sbml-l2v4.xml
new file mode 100644
index 0000000..db18ddf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00028/00028-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00028" id="case00028" name="case00028">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="4"/>
+      <parameter id="p2" name="p2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <apply>
+                <factorial/>
+                <apply>
+                  <ceiling/>
+                  <apply>
+                    <times/>
+                    <ci> p1 </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <power/>
+                <ci> p2 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00028/00028-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00028/00028-sbml-l3v1.xml
new file mode 100644
index 0000000..4a1c966
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00028/00028-sbml-l3v1.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00028" id="case00028" name="case00028" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="4" constant="true"/>
+      <parameter id="p2" name="p2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <apply>
+                <factorial/>
+                <apply>
+                  <ceiling/>
+                  <apply>
+                    <times/>
+                    <ci> p1 </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <power/>
+                <ci> p2 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00028/00028-settings.txt b/models/sbml-test-suite/cases/semantic/00028/00028-settings.txt
new file mode 100644
index 0000000..64234e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00028/00028-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00029/00029-results.csv b/models/sbml-test-suite/cases/semantic/00029/00029-results.csv
new file mode 100644
index 0000000..cb4ca45
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00029/00029-results.csv
@@ -0,0 +1,52 @@
+time,S1
+0,7.
+0.04,7.
+0.08,7.
+0.12,7.
+0.16,7.
+0.2,7.
+0.24,7.
+0.28,7.
+0.32,7.
+0.36,7.
+0.4,7.
+0.44,7.
+0.48,7.
+0.52,7.
+0.56,7.
+0.6,7.
+0.64,7.
+0.68,7.
+0.72,7.
+0.76,7.
+0.8,7.
+0.84,7.
+0.88,7.
+0.92,7.
+0.96,7.
+1.,7.
+1.04,7.
+1.08,7.
+1.12,7.
+1.16,7.
+1.2,7.
+1.24,7.
+1.28,7.
+1.32,7.
+1.36,7.
+1.4,7.
+1.44,7.
+1.48,7.
+1.52,7.
+1.56,7.
+1.6,7.
+1.64,7.
+1.68,7.
+1.72,7.
+1.76,7.
+1.8,7.
+1.84,7.
+1.88,7.
+1.92,7.
+1.96,7.
+2.,7.
diff --git a/models/sbml-test-suite/cases/semantic/00029/00029-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00029/00029-sbml-l1v2.xml
new file mode 100644
index 0000000..83f0bfb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00029/00029-sbml-l1v2.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00029">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="7" units="substance"/>
+    </listOfSpecies>
+    <listOfRules>
+      <speciesConcentrationRule formula="7" species="S1"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00029/00029-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00029/00029-sbml-l2v4.xml
new file mode 100644
index 0000000..5fbc104
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00029/00029-sbml-l2v4.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00029" id="case00029" name="case00029">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="7" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 7 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00029/00029-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00029/00029-sbml-l3v1.xml
new file mode 100644
index 0000000..69c2c05
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00029/00029-sbml-l3v1.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00029" id="case00029" name="case00029" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="7" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 7 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00029/00029-settings.txt b/models/sbml-test-suite/cases/semantic/00029/00029-settings.txt
new file mode 100644
index 0000000..1ecb035
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00029/00029-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1
+absolute: 0.0001
+relative: 0.0001
+amount: S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00030/00030-results.csv b/models/sbml-test-suite/cases/semantic/00030/00030-results.csv
new file mode 100644
index 0000000..cb4ca45
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00030/00030-results.csv
@@ -0,0 +1,52 @@
+time,S1
+0,7.
+0.04,7.
+0.08,7.
+0.12,7.
+0.16,7.
+0.2,7.
+0.24,7.
+0.28,7.
+0.32,7.
+0.36,7.
+0.4,7.
+0.44,7.
+0.48,7.
+0.52,7.
+0.56,7.
+0.6,7.
+0.64,7.
+0.68,7.
+0.72,7.
+0.76,7.
+0.8,7.
+0.84,7.
+0.88,7.
+0.92,7.
+0.96,7.
+1.,7.
+1.04,7.
+1.08,7.
+1.12,7.
+1.16,7.
+1.2,7.
+1.24,7.
+1.28,7.
+1.32,7.
+1.36,7.
+1.4,7.
+1.44,7.
+1.48,7.
+1.52,7.
+1.56,7.
+1.6,7.
+1.64,7.
+1.68,7.
+1.72,7.
+1.76,7.
+1.8,7.
+1.84,7.
+1.88,7.
+1.92,7.
+1.96,7.
+2.,7.
diff --git a/models/sbml-test-suite/cases/semantic/00030/00030-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00030/00030-sbml-l1v2.xml
new file mode 100644
index 0000000..6a725d5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00030/00030-sbml-l1v2.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00030">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfRules>
+      <speciesConcentrationRule formula="7" species="S1"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00030/00030-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00030/00030-sbml-l2v4.xml
new file mode 100644
index 0000000..abcabf8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00030/00030-sbml-l2v4.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00030" id="case00030" name="case00030">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 7 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00030/00030-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00030/00030-sbml-l3v1.xml
new file mode 100644
index 0000000..b51e752
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00030/00030-sbml-l3v1.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00030" id="case00030" name="case00030" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 7 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00030/00030-settings.txt b/models/sbml-test-suite/cases/semantic/00030/00030-settings.txt
new file mode 100644
index 0000000..1ecb035
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00030/00030-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1
+absolute: 0.0001
+relative: 0.0001
+amount: S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00031/00031-results.csv b/models/sbml-test-suite/cases/semantic/00031/00031-results.csv
new file mode 100644
index 0000000..7d13cc5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00031/00031-results.csv
@@ -0,0 +1,52 @@
+time,S1
+0,0
+0.1,0.7
+0.2,1.4
+0.3,2.1
+0.4,2.8
+0.5,3.5
+0.6,4.2
+0.7,4.9
+0.8,5.6
+0.9,6.3
+1.,7.
+1.1,7.7
+1.2,8.4
+1.3,9.1
+1.4,9.8
+1.5,10.5
+1.6,11.2
+1.7,11.9
+1.8,12.6
+1.9,13.3
+2.,14.
+2.1,14.7
+2.2,15.4
+2.3,16.1
+2.4,16.8
+2.5,17.5
+2.6,18.2
+2.7,18.9
+2.8,19.6
+2.9,20.3
+3.,21.
+3.1,21.7
+3.2,22.4
+3.3,23.1
+3.4,23.8
+3.5,24.5
+3.6,25.2
+3.7,25.9
+3.8,26.6
+3.9,27.3
+4.,28.
+4.1,28.7
+4.2,29.4
+4.3,30.1
+4.4,30.8
+4.5,31.5
+4.6,32.2
+4.7,32.9
+4.8,33.6
+4.9,34.3
+5.,35.
diff --git a/models/sbml-test-suite/cases/semantic/00031/00031-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00031/00031-sbml-l1v2.xml
new file mode 100644
index 0000000..d8dad50
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00031/00031-sbml-l1v2.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00031">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfRules>
+      <speciesConcentrationRule formula="7" type="rate" species="S1"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00031/00031-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00031/00031-sbml-l2v4.xml
new file mode 100644
index 0000000..4791679
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00031/00031-sbml-l2v4.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00031" id="case00031" name="case00031">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00031/00031-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00031/00031-sbml-l3v1.xml
new file mode 100644
index 0000000..9169f03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00031/00031-sbml-l3v1.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00031" id="case00031" name="case00031" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00031/00031-settings.txt b/models/sbml-test-suite/cases/semantic/00031/00031-settings.txt
new file mode 100644
index 0000000..a299a5c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00031/00031-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1
+absolute: 0.0001
+relative: 0.0001
+amount: S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00032/00032-results.csv b/models/sbml-test-suite/cases/semantic/00032/00032-results.csv
new file mode 100644
index 0000000..2708382
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00032/00032-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.015,0
+0.1,0.01357256127053939,0.001427438729460607
+0.2,0.01228096129616973,0.002719038703830272
+0.3,0.01111227331022577,0.003887726689774232
+0.4,0.01005480069053459,0.004945199309465411
+0.5,0.009097959895689501,0.005902040104310499
+0.6,0.008232174541410396,0.006767825458589605
+0.7,0.007448779556871142,0.007551220443128857
+0.8,0.006739934461758324,0.008260065538241676
+0.9,0.006098544896108987,0.008901455103891013
+1,0.005518191617571635,0.009481808382428365
+1.1,0.004993066255471193,0.01000693374452881
+1.2,0.00451791317868303,0.01048208682131697
+1.3,0.004087976895510189,0.01091202310448981
+1.4,0.003698954459124097,0.0113010455408759
+1.5,0.003346952402226447,0.01165304759777355
+1.6,0.003028447769919831,0.01197155223008017
+1.7,0.002740252860791019,0.01225974713920898
+1.8,0.002479483323323798,0.0125205166766762
+1.9,0.002243529288339526,0.01275647071166047
+2,0.00203002924854919,0.01296997075145081
+2.1,0.001836846423794729,0.01316315357620527
+2.2,0.001662047375435008,0.01333795262456499
+2.3,0.001503882655842056,0.01349611734415794
+2.4,0.001360769299341187,0.01363923070065881
+2.5,0.001231274979358482,0.01376872502064152
+2.6,0.001114103673215008,0.01388589632678499
+2.7,0.001008082691096246,0.01399191730890376
+2.8,0.0009121509393782692,0.01408784906062173
+2.9,0.0008253483008461082,0.01417465169915389
+3,0.0007468060255179592,0.01425319397448204
+3.1,0.000675738035903367,0.01432426196409663
+3.2,0.0006114330596754932,0.01438856694032451
+3.3,0.0005532475110185999,0.0144467524889814
+3.4,0.000500599049404891,0.01449940095059511
+3.5,0.0004529607513347775,0.01454703924866522
+3.6,0.0004098558367093884,0.01459014416329061
+3.7,0.0003708528970550908,0.01462914710294491
+3.8,0.0003355615778424838,0.01466443842215752
+3.9,0.0003036286716870657,0.01469637132831293
+4,0.0002747345833310127,0.01472526541666899
+4.1,0.0002485901310264186,0.01475140986897358
+4.2,0.0002249336523071656,0.01477506634769283
+4.3,0.000203528385183014,0.01479647161481699
+4.4,0.0001841600985460266,0.01481583990145397
+4.5,0.0001666349480736346,0.01483336505192637
+4.6,0.0001507775361695037,0.0148492224638305
+4.7,0.0001364291565254372,0.01486357084347456
+4.8,0.0001234462057353003,0.0148765537942647
+4.9,0.0001116987460638651,0.01488830125393614
+5,0.000101069204986282,0.01489893079501372
diff --git a/models/sbml-test-suite/cases/semantic/00032/00032-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00032/00032-sbml-l1v2.xml
new file mode 100644
index 0000000..fdeb756
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00032/00032-sbml-l1v2.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00032">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="-1 * k1 * S1" type="rate" species="S1"/>
+      <speciesConcentrationRule formula="k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00032/00032-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00032/00032-sbml-l2v4.xml
new file mode 100644
index 0000000..b011a9c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00032/00032-sbml-l2v4.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00032" id="case00032" name="case00032">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00032/00032-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00032/00032-sbml-l3v1.xml
new file mode 100644
index 0000000..367af48
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00032/00032-sbml-l3v1.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00032" id="case00032" name="case00032" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00032/00032-settings.txt b/models/sbml-test-suite/cases/semantic/00032/00032-settings.txt
new file mode 100644
index 0000000..7e2d237
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00032/00032-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00033/00033-results.csv b/models/sbml-test-suite/cases/semantic/00033/00033-results.csv
new file mode 100644
index 0000000..c111fe5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00033/00033-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.06,0.1411375990245739,0.00886240097542614
+0.12,0.1325599895248442,0.01744001047515582
+0.18,0.1242797775603146,0.02572022243968537
+0.24,0.1163072381446205,0.03369276185537946
+0.3,0.1086503897898159,0.04134961021018401
+0.36,0.1013150834557676,0.04868491654423239
+0.42,0.09430510270748233,0.05569489729251767
+0.48,0.08762227917625511,0.0623777208237449
+0.54,0.08126661558771934,0.06873338441228067
+0.6,0.0752364107004801,0.07476358929951991
+0.66,0.06952839945833072,0.08047160054166929
+0.72,0.0641378901949831,0.08586210980501692
+0.78,0.05905890273243494,0.09094109726756506
+0.84,0.05428431325875888,0.09571568674124113
+0.9,0.04980599205678643,0.1001940079432135
+0.96,0.04561493999519868,0.1043850600048013
+1.02,0.04170142500329206,0.1082985749967079
+1.08,0.03805510703735506,0.1119448929626449
+1.14,0.03466516519802469,0.1153348348019753
+1.2,0.03152041071195981,0.1184795892880402
+1.26,0.02860939884438689,0.1213906011556131
+1.32,0.02592052932530702,0.124079470674693
+1.38,0.02344214074828227,0.1265578592517177
+1.44,0.02116259612613519,0.1288374038738648
+1.5,0.01907035992265364,0.1309296400773463
+1.56,0.01715406706866901,0.132845932931331
+1.62,0.01540258388941347,0.1345974161105865
+1.68,0.01380506096155368,0.1361949390384463
+1.74,0.01235097791085119,0.1376490220891488
+1.8,0.01103018090604092,0.138969819093959
+1.86,0.009832913196997807,0.1401670868030021
+1.92,0.008749838777304768,0.1412501612226952
+1.98,0.007772060331038365,0.1422279396689616
+2.04,0.006891131318671611,0.1431088686813283
+2.1,0.006099063386208345,0.1439009366137916
+2.16,0.005388328206977112,0.1446116717930228
+2.22,0.004751855444914028,0.1452481445550859
+2.28,0.004183027217103266,0.1458169727828966
+2.34,0.003675669393462081,0.1463243306065378
+2.4,0.003224040087621936,0.146775959912378
+2.46,0.002822816573929963,0.14717718342607
+2.52,0.002467079911008414,0.1475329200889915
+2.58,0.002152296219593746,0.1478477037804061
+2.64,0.001874299805437468,0.1481257001945624
+2.7,0.00162927505946424,0.1483707249405356
+2.76,0.001413735220012804,0.1485862647799871
+2.82,0.001224503176262308,0.1487754968237376
+2.88,0.00105869309830174,0.1489413069016981
+2.94,0.0009136892566133247,0.1490863107433866
+3.,0.0007871277598822648,0.1492128722401176
diff --git a/models/sbml-test-suite/cases/semantic/00033/00033-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00033/00033-sbml-l1v2.xml
new file mode 100644
index 0000000..186c788
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00033/00033-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00033">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.15" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="0.5" type="rate" name="k1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00033/00033-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00033/00033-sbml-l2v4.xml
new file mode 100644
index 0000000..309c87b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00033/00033-sbml-l2v4.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00033" id="case00033" name="case00033">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.5 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00033/00033-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00033/00033-sbml-l3v1.xml
new file mode 100644
index 0000000..3e5a447
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00033/00033-sbml-l3v1.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00033" id="case00033" name="case00033" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.5 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00033/00033-settings.txt b/models/sbml-test-suite/cases/semantic/00033/00033-settings.txt
new file mode 100644
index 0000000..bf6daf2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00033/00033-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00034/00034-results.csv b/models/sbml-test-suite/cases/semantic/00034/00034-results.csv
new file mode 100644
index 0000000..534df1c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00034/00034-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.4,0.0001095101185704268,0.0002095101185704269,0.00009048988142957316
+0.8,0.0001181144069599281,0.0002181144069599282,0.00008188559304007183
+1.2,0.0001258991045544968,0.0002258991045544968,0.0000741008954455032
+1.6,0.0001329422472699064,0.0002329422472699064,0.00006705775273009363
+2.,0.0001393144472761547,0.0002393144472761548,0.00006068555272384526
+2.4,0.0001450795984151714,0.0002450795984151715,0.00005492040158482855
+2.8,0.0001502955121232816,0.0002502955121232817,0.00004970448787671837
+3.2,0.0001550144989238427,0.0002550144989238427,0.00004498550107615731
+3.6,0.0001592838895931068,0.0002592838895931068,0.00004071611040689317
+4.,0.0001631465105444803,0.0002631465105444803,0.00003685348945551974
+4.4,0.0001666411046561742,0.0002666411046561745,0.00003335889534382568
+4.8,0.0001698027350358279,0.0002698027350358282,0.00003019726496417199
+5.2,0.0001726631193237813,0.0002726631193237816,0.0000273368806762186
+5.6,0.0001752509564151416,0.0002752509564151418,0.00002474904358485839
+6.,0.0001775922118992758,0.000277592211899276,0.0000224077881007242
+6.4,0.0001797103780663186,0.0002797103780663189,0.00002028962193368134
+6.8,0.0001816267100701786,0.0002816267100701788,0.00001837328992982138
+7.2,0.0001833604383162523,0.0002833604383162526,0.0000166395616837476
+7.6,0.0001849289608100614,0.0002849289608100616,0.0000150710391899386
+8.,0.0001863480182435769,0.0002863480182435771,0.00001365198175642305
+8.4,0.0001876318525082696,0.0002876318525082699,0.00001236814749173031
+8.8,0.0001887933490866441,0.0002887933490866443,0.00001120665091335583
+9.2,0.0001898441626961193,0.0002898441626961196,0.00001015583730388064
+9.6,0.0001907948424799535,0.0002907948424799538,9.20515752004643e-6
+10.,0.000191654928308744,0.0002916549283087443,8.345071691255907e-6
+10.4,0.0001924330531584597,0.0002924330531584598,7.566946841540313e-6
+10.8,0.0001931370278747662,0.0002931370278747665,6.862972125233738e-6
+11.2,0.0001937739168704251,0.0002937739168704254,6.226083129574812e-6
+11.6,0.0001943501142494414,0.0002943501142494416,5.649885750558534e-6
+12.,0.0001948714027090762,0.0002948714027090764,5.128597290923749e-6
+12.4,0.000195343014303889,0.0002953430143038892,4.656985696110964e-6
+12.8,0.0001957696832021258,0.0002957696832021261,4.230316797874113e-6
+13.2,0.0001961556926907649,0.0002961556926907652,3.844307309234976e-6
+13.6,0.0001965049170114392,0.0002965049170114395,3.495082988560712e-6
+14.,0.0001968208612513208,0.0002968208612513211,3.179138748679095e-6
+14.4,0.0001971066969301388,0.000297106696930139,2.893303069861129e-6
+14.8,0.0001973652936202133,0.0002973652936202136,2.634706379786535e-6
+15.2,0.0001975992470092075,0.0002975992470092078,2.400752990792365e-6
+15.6,0.0001978109052016946,0.0002978109052016948,2.189094798305286e-6
+16.,0.0001980023928351154,0.0002980023928351156,1.997607164884541e-6
+16.4,0.0001981756323031491,0.0002981756323031494,1.824367696850767e-6
+16.8,0.0001983323626750603,0.0002983323626750606,1.667637324939605e-6
+17.2,0.0001984741569924392,0.0002984741569924395,1.525843007560685e-6
+17.6,0.0001986024385593296,0.0002986024385593299,1.397561440670295e-6
+18.,0.0001987184952063118,0.0002987184952063121,1.281504793688099e-6
+18.4,0.0001988234920553257,0.0002988234920553259,1.176507944674233e-6
+18.8,0.0001989184829449158,0.0002989184829449161,1.081517055084097e-6
+19.2,0.0001990044213453334,0.0002990044213453337,9.95578654666521e-7
+19.6,0.0001990821699792793,0.0002990821699792796,9.178300207205713e-7
+20.,0.0001991525093891402,0.0002991525093891405,8.474906108597139e-7
diff --git a/models/sbml-test-suite/cases/semantic/00034/00034-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00034/00034-sbml-l2v4.xml
new file mode 100644
index 0000000..66ff4ae
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00034/00034-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00034" id="case00034" name="case00034">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00034/00034-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00034/00034-sbml-l3v1.xml
new file mode 100644
index 0000000..7f315e8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00034/00034-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00034" id="case00034" name="case00034" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00034/00034-settings.txt b/models/sbml-test-suite/cases/semantic/00034/00034-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00034/00034-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00035/00035-results.csv b/models/sbml-test-suite/cases/semantic/00035/00035-results.csv
new file mode 100644
index 0000000..bec69de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00035/00035-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.001,0.002,0.001
+0.05,0.0009881763185936637,0.0009881763185936637,0.002011823681406335,0.001011823681406336
+0.1,0.0009776045704354247,0.0009776045704354247,0.002022395429564574,0.001022395429564575
+0.15,0.0009681471874861807,0.0009681471874861807,0.002031852812513817,0.001031852812513819
+0.2,0.0009596826954519924,0.0009596826954519924,0.002040317304548006,0.001040317304548007
+0.25,0.000952103640521798,0.000952103640521798,0.002047896359478199,0.001047896359478201
+0.3,0.0009453148196611825,0.0009453148196611825,0.002054685180338815,0.001054685180338817
+0.35,0.0009392317791711321,0.0009392317791711321,0.002060768220828866,0.001060768220828867
+0.4,0.0009337794739060343,0.0009337794739060343,0.002066220526093964,0.001066220526093965
+0.45,0.0009288911732781272,0.0009288911732781272,0.002071108826721871,0.001071108826721872
+0.5,0.0009245074632981542,0.0009245074632981542,0.002075492536701844,0.001075492536701845
+0.55,0.0009205753888393123,0.0009205753888393123,0.002079424611160686,0.001079424611160687
+0.6,0.0009170477299169823,0.0009170477299169823,0.002082952270083016,0.001082952270083017
+0.65,0.000913882331744461,0.000913882331744461,0.002086117668255537,0.001086117668255539
+0.7,0.0009110415395831867,0.0009110415395831867,0.002088958460416811,0.001088958460416813
+0.75,0.0009084917047627593,0.0009084917047627593,0.002091508295237238,0.001091508295237241
+0.8,0.0009062027359712747,0.0009062027359712747,0.002093797264028723,0.001093797264028725
+0.85,0.0009041477095597671,0.0009041477095597671,0.002095852290440231,0.001095852290440233
+0.9,0.0009023025254484357,0.0009023025254484357,0.002097697474551562,0.001097697474551564
+0.95,0.0009006456024375326,0.0009006456024375326,0.002099354397562465,0.001099354397562468
+1.,0.0008991576080333725,0.0008991576080333725,0.002100842391966626,0.001100842391966628
+1.05,0.0008978212197413985,0.0008978212197413985,0.0021021787802586,0.001102178780258602
+1.1,0.0008966209111901844,0.0008966209111901844,0.002103379088809813,0.001103379088809816
+1.15,0.0008955427612353118,0.0008955427612353118,0.002104457238764686,0.001104457238764689
+1.2,0.0008945742852942542,0.0008945742852942542,0.002105425714705744,0.001105425714705746
+1.25,0.0008937042847197123,0.0008937042847197123,0.002106295715280285,0.001106295715280288
+1.3,0.0008929227124227983,0.0008929227124227983,0.0021070772875772,0.001107077287577202
+1.35,0.0008922205529065652,0.0008922205529065652,0.002107779447093433,0.001107779447093435
+1.4,0.0008915897150946207,0.0008915897150946207,0.002108410284905377,0.00110841028490538
+1.45,0.0008910229365336312,0.0008910229365336312,0.002108977063466367,0.001108977063466369
+1.5,0.0008905136976823736,0.0008905136976823736,0.002109486302317625,0.001109486302317627
+1.55,0.0008900561453907,0.0008900561453907,0.002109943854609298,0.0011099438546093
+1.6,0.0008896450241029877,0.0008896450241029877,0.00211035497589701,0.001110354975897013
+1.65,0.0008892756145087616,0.0008892756145087616,0.002110724385491237,0.001110724385491239
+1.7,0.0008889436785150039,0.0008889436785150039,0.002111056321484994,0.001111056321484997
+1.75,0.0008886454098168041,0.0008886454098168041,0.002111354590183194,0.001111354590183197
+1.8,0.0008883773896663043,0.0008883773896663043,0.002111622610333694,0.001111622610333696
+1.85,0.0008881365472312589,0.0008881365472312589,0.002111863452768739,0.001111863452768741
+1.9,0.0008879201240430675,0.0008879201240430675,0.00211207987595693,0.001112079875956933
+1.95,0.0008877256418803576,0.0008877256418803576,0.00211227435811964,0.001112274358119643
+2.,0.000887550875076103,0.000887550875076103,0.002112449124923895,0.001112449124923898
+2.05,0.0008873938234154172,0.0008873938234154172,0.002112606176584581,0.001112606176584583
+2.1,0.0008872526901002382,0.0008872526901002382,0.002112747309899759,0.001112747309899762
+2.15,0.0008871258607904046,0.0008871258607904046,0.002112874139209592,0.001112874139209596
+2.2,0.0008870118850347167,0.0008870118850347167,0.00211298811496528,0.001112988114965283
+2.25,0.0008869094595996376,0.0008869094595996376,0.00211309054040036,0.001113090540400363
+2.3,0.000886817413500254,0.000886817413500254,0.002113182586499743,0.001113182586499746
+2.35,0.0008867346945584242,0.0008867346945584242,0.002113265305441573,0.001113265305441576
+2.4,0.0008866603573232605,0.0008866603573232605,0.002113339642676737,0.00111333964267674
+2.45,0.000886593552292134,0.000886593552292134,0.002113406447707863,0.001113406447707866
+2.5,0.0008865335160035233,0.0008865335160035233,0.002113466483996474,0.001113466483996477
diff --git a/models/sbml-test-suite/cases/semantic/00035/00035-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00035/00035-sbml-l2v4.xml
new file mode 100644
index 0000000..6769975
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00035/00035-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00035" id="case00035" name="case00035">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00035/00035-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00035/00035-sbml-l3v1.xml
new file mode 100644
index 0000000..c95ccc1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00035/00035-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00035" id="case00035" name="case00035" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00035/00035-settings.txt b/models/sbml-test-suite/cases/semantic/00035/00035-settings.txt
new file mode 100644
index 0000000..ca38ee7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00035/00035-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00036/00036-results.csv b/models/sbml-test-suite/cases/semantic/00036/00036-results.csv
new file mode 100644
index 0000000..502ea08
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00036/00036-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.01125,0.015
+0.004,0.009210720972127296,0.01703927902787271
+0.008,0.007541100517900942,0.01870889948209906
+0.012,0.006174130906057797,0.0200758690939422
+0.016,0.005054950846318742,0.02119504915368126
+0.02,0.004138643713178726,0.02211135628682127
+0.024,0.003388434884012274,0.02286156511598773
+0.028,0.002774215844343073,0.02347578415565693
+0.032,0.002271335827439873,0.02397866417256013
+0.036,0.001859612492492848,0.02439038750750715
+0.04,0.001522521936411893,0.02472747806358811
+0.044,0.001246535531576256,0.02500346446842374
+0.048,0.001020576974505891,0.02522942302549411
+0.052,0.000835577754911256,0.02541442224508874
+0.056,0.000684113204533702,0.0255658867954663
+0.06,0.0005601045191384694,0.02568989548086153
+0.064,0.0004585747947566199,0.02579142520524338
+0.068,0.0003754492870536683,0.02587455071294633
+0.072,0.0003073918775320412,0.02594260812246796
+0.076,0.000251671183381863,0.02599832881661814
+0.08,0.0002060509374982595,0.02604394906250174
+0.084,0.0001687002392303742,0.02608129976076963
+0.088,0.00013812007390952,0.02611187992609048
+0.092,0.0001130831521271278,0.02613691684787287
+0.096,9.258465430147531e-005,0.02615741534569853
+0.1,7.580190373971149e-005,0.02617419809626029
+0.104,6.206134973355866e-005,0.02618793865026644
+0.108,5.081153560439252e-005,0.02619918846439561
+0.112,4.160096681043297e-005,0.02620839903318957
+0.116,3.40599908854779e-005,0.02621594000911452
+0.12,2.788596198749654e-005,0.0262221140380125
+0.124,2.283109465832701e-005,0.02622716890534167
+0.128,1.869251932320676e-005,0.02623130748067679
+0.132,1.53041404224138e-005,0.02623469585957759
+0.136,1.252997041325403e-005,0.02623747002958675
+0.14,1.02586721124883e-005,0.02623974132788751
+0.144,8.399090344237635e-006,0.02624160090965576
+0.148,6.876593562707694e-006,0.02624312340643729
+0.152,5.630078626206872e-006,0.02624436992137379
+0.156,4.609518513522601e-006,0.02624539048148648
+0.16,3.773954563903258e-006,0.0262462260454361
+0.164,3.0898526621866e-006,0.02624691014733781
+0.168,2.529757397012042e-006,0.02624747024260299
+0.172,2.071190178760264e-006,0.02624792880982124
+0.176,1.695747094824113e-006,0.02624830425290518
+0.18,1.388360295975145e-006,0.02624861163970402
+0.184,1.1366932706673e-006,0.02624886330672933
+0.188,9.30645737512113e-007,0.02624906935426249
+0.192,7.619482855221059e-007,0.02624923805171448
+0.196,6.238304936119908e-007,0.02624937616950639
+0.2,5.107492098279543e-007,0.02624948925079017
diff --git a/models/sbml-test-suite/cases/semantic/00036/00036-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00036/00036-sbml-l2v4.xml
new file mode 100644
index 0000000..9be1e17
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00036/00036-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00036" id="case00036" name="case00036">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00036/00036-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00036/00036-sbml-l3v1.xml
new file mode 100644
index 0000000..093df65
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00036/00036-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00036" id="case00036" name="case00036" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00036/00036-settings.txt b/models/sbml-test-suite/cases/semantic/00036/00036-settings.txt
new file mode 100644
index 0000000..d4a0a91
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00036/00036-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00037/00037-results.csv b/models/sbml-test-suite/cases/semantic/00037/00037-results.csv
new file mode 100644
index 0000000..7a77cf2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00037/00037-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1125,0.15
+0.004,0.09210720972127295,0.170392790278727
+0.008,0.07541100517900942,0.1870889948209906
+0.012,0.06174130906057797,0.200758690939422
+0.016,0.05054950846318743,0.2119504915368126
+0.02,0.04138643713178726,0.2211135628682127
+0.024,0.03388434884012274,0.2286156511598773
+0.028,0.02774215844343073,0.2347578415565693
+0.032,0.02271335827439873,0.2397866417256013
+0.036,0.01859612492492848,0.2439038750750715
+0.04,0.01522521936411893,0.2472747806358811
+0.044,0.01246535531576256,0.2500346446842374
+0.048,0.01020576974505891,0.2522942302549411
+0.052,0.008355777549112559,0.2541442224508874
+0.056,0.00684113204533702,0.255658867954663
+0.06,0.005601045191384694,0.2568989548086153
+0.064,0.004585747947566199,0.2579142520524338
+0.068,0.003754492870536683,0.2587455071294633
+0.072,0.003073918775320412,0.2594260812246796
+0.076,0.00251671183381863,0.2599832881661814
+0.08,0.002060509374982595,0.2604394906250174
+0.084,0.001687002392303742,0.2608129976076963
+0.088,0.0013812007390952,0.2611187992609048
+0.092,0.001130831521271278,0.2613691684787287
+0.096,0.0009258465430147532,0.2615741534569853
+0.1,0.0007580190373971149,0.2617419809626029
+0.104,0.0006206134973355866,0.2618793865026644
+0.108,0.0005081153560439252,0.2619918846439561
+0.112,0.0004160096681043297,0.2620839903318957
+0.116,0.0003405999088547791,0.2621594000911452
+0.12,0.0002788596198749654,0.2622211403801251
+0.124,0.0002283109465832701,0.2622716890534168
+0.128,0.0001869251932320676,0.2623130748067679
+0.132,0.000153041404224138,0.2623469585957758
+0.136,0.0001252997041325403,0.2623747002958675
+0.14,0.000102586721124883,0.2623974132788751
+0.144,8.399090344237636e-005,0.2624160090965576
+0.148,6.876593562707694e-005,0.2624312340643729
+0.152,5.630078626206871e-005,0.262443699213738
+0.156,4.6095185135226e-005,0.2624539048148648
+0.16,3.773954563903258e-005,0.2624622604543609
+0.164,3.0898526621866e-005,0.2624691014733782
+0.168,2.529757397012042e-005,0.2624747024260299
+0.172,2.071190178760264e-005,0.2624792880982124
+0.176,1.695747094824113e-005,0.2624830425290518
+0.18,1.388360295975145e-005,0.2624861163970402
+0.184,1.1366932706673e-005,0.2624886330672933
+0.188,9.30645737512113e-006,0.2624906935426249
+0.192,7.619482855221059e-006,0.2624923805171448
+0.196,6.238304936119908e-006,0.2624937616950639
+0.2,5.107492098279543e-006,0.2624948925079017
diff --git a/models/sbml-test-suite/cases/semantic/00037/00037-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00037/00037-sbml-l2v4.xml
new file mode 100644
index 0000000..0075715
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00037/00037-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00037" id="case00037" name="case00037">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00037/00037-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00037/00037-sbml-l3v1.xml
new file mode 100644
index 0000000..7f3cde2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00037/00037-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00037" id="case00037" name="case00037" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00037/00037-settings.txt b/models/sbml-test-suite/cases/semantic/00037/00037-settings.txt
new file mode 100644
index 0000000..9d62e54
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00037/00037-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00038/00038-results.csv b/models/sbml-test-suite/cases/semantic/00038/00038-results.csv
new file mode 100644
index 0000000..9bdb714
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00038/00038-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5e-15,1.125e-15
+0.002,0.9048374180106257,0.09516258198937563,0.07137193649203171
+0.004,0.8187307530723747,0.1812692469276268,0.1359519351957201
+0.006,0.7408182203787158,0.2591817796212859,0.1943863347159644
+0.008,0.6703200430580986,0.329679956941903,0.2472599677064272
+0.01,0.6065306540164868,0.3934693459835148,0.2951020094876361
+0.012,0.5488116293468805,0.451188370653121,0.3383912779898408
+0.014,0.4965852979525998,0.5034147020474019,0.3775610265355514
+0.016,0.4493289546252374,0.5506710453747641,0.4130032840310731
+0.018,0.4065696424619247,0.5934303575380767,0.4450727681535575
+0.02,0.3678794359139681,0.6321205640860333,0.4740904230645249
+0.022,0.3328710678707299,0.6671289321292716,0.5003466990969537
+0.024,0.3011942094467193,0.6988057905532822,0.5241043429149616
+0.026,0.2725317790458483,0.7274682209541534,0.545601165715615
+0.028,0.2465969626674991,0.7534030373325025,0.5650522779993769
+0.03,0.2231301439725429,0.7768698560274587,0.582652392020594
+0.032,0.2018964935291754,0.7981035064708261,0.5985776298531195
+0.034,0.1826835069508385,0.8173164930491629,0.6129873697868721
+0.036,0.1652988849678202,0.8347011150321813,0.6260258362741359
+0.038,0.1495686170457738,0.8504313829542277,0.6378235372156707
+0.04,0.1353352714954645,0.864664728504537,0.6484985463784027
+0.042,0.1224564133001061,0.8775435866998952,0.6581576900249215
+0.044,0.1108031494985982,0.8891968505014032,0.6668976378760525
+0.046,0.1002588428706511,0.8997411571293503,0.6748058678470128
+0.048,0.09071795082690521,0.9092820491730961,0.6819615368798221
+0.05,0.08208499047421201,0.9179150095257894,0.688436257144342
+0.052,0.07427356932635879,0.9257264306736424,0.6942948230052318
+0.054,0.06720550837802191,0.9327944916219793,0.6995958687164844
+0.056,0.06081006253263057,0.9391899374673706,0.704392453100528
+0.058,0.05502321776194832,0.944976782238053,0.7087325866785397
+0.06,0.0497870629171926,0.9502129370828087,0.7126597028121065
+0.062,0.04504919726066174,0.9549508027393396,0.7162131020545047
+0.064,0.04076220197461959,0.9592377980253817,0.7194283485190363
+0.066,0.03688316738934409,0.9631168326106572,0.7223376244579929
+0.068,0.03337326805451652,0.9666267319454848,0.7249700489591136
+0.07,0.03019737989286006,0.9698026201071412,0.7273519650803559
+0.072,0.02732371957386455,0.9726762804261367,0.7295072103196025
+0.074,0.02472352563618659,0.9752764743638145,0.7314573557728609
+0.076,0.02237077174195353,0.9776292282580476,0.7332219211935358
+0.078,0.02024190998080058,0.9797580900192006,0.7348185675144005
+0.08,0.01831563666972636,0.9816843633302748,0.7362632724977061
+0.082,0.0165726738487437,0.9834273261512576,0.7375704946134431
+0.084,0.01499557652386406,0.9850044234761372,0.7387533176071029
+0.086,0.01356855881596286,0.9864314411840384,0.7398235808880289
+0.088,0.01227733883928211,0.9877226611607191,0.7407919958705393
+0.09,0.0111089951817288,0.9888910048182725,0.7416682536137043
+0.092,0.01005183493943785,0.9899481650605633,0.7424611237954225
+0.094,0.009095277023762914,0.9909047229762382,0.7431785422321786
+0.096,0.008229746826545095,0.9917702531734561,0.743827689880092
+0.098,0.007446582747460394,0.9925534172525407,0.7444150629394055
+0.1,0.00673794699912688,0.9932620530008743,0.7449465397506557
diff --git a/models/sbml-test-suite/cases/semantic/00038/00038-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00038/00038-sbml-l1v2.xml
new file mode 100644
index 0000000..73eb661
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00038/00038-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00038">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * S2" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00038/00038-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00038/00038-sbml-l2v4.xml
new file mode 100644
index 0000000..417791e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00038/00038-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00038" id="case00038" name="case00038">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00038/00038-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00038/00038-sbml-l3v1.xml
new file mode 100644
index 0000000..79d8bed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00038/00038-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00038" id="case00038" name="case00038" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00038/00038-settings.txt b/models/sbml-test-suite/cases/semantic/00038/00038-settings.txt
new file mode 100644
index 0000000..9023c19
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00038/00038-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00039/00039-results.csv b/models/sbml-test-suite/cases/semantic/00039/00039-results.csv
new file mode 100644
index 0000000..88f7570
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00039/00039-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.5,0.4999999999842559
+0.16,0.5739281095125899,0.4260718904874106
+0.32,0.6369254866236794,0.3630745133763205
+0.48,0.6906083155581501,0.30939168444185
+0.64,0.736353793962171,0.2636462060378285
+0.8,0.7753355198683673,0.2246644801316328
+0.96,0.8085535558446483,0.1914464441553515
+1.12,0.8368600992314946,0.1631399007685055
+1.28,0.8609813447622151,0.139018655237785
+1.44,0.8815361146754089,0.118463885324591
+1.6,0.899051734533174,0.100948265466826
+1.76,0.9139775615252637,0.08602243847473631
+1.92,0.9266965125582579,0.07330348744174212
+2.08,0.9375348878667573,0.06246511213324264
+2.24,0.9467707421917562,0.05322925780824374
+2.4,0.9546410181735099,0.04535898182648982
+2.56,0.9613476250250896,0.03865237497491051
+2.72,0.9670626184380221,0.03293738156197812
+2.88,0.9719326146078336,0.02806738539216619
+3.04,0.9760825550873162,0.02391744491268389
+3.2,0.9796188929238931,0.02038110707610681
+3.36,0.9826323564591044,0.01736764354089558
+3.52,0.9852002655690912,0.01479973443090859
+3.68,0.9873884944987122,0.01261150550128767
+3.84,0.9892531778810572,0.0107468221189429
+4.,0.9908421581576016,0.009157841842397963
+4.16,0.9921961999738774,0.007803800026123091
+4.32,0.9933500369970373,0.006649963002962486
+4.48,0.9943332722558585,0.005666727744141651
+4.64,0.9951711319413535,0.004828868058646258
+4.8,0.9958851083729519,0.00411489162704783
+4.96,0.9964935186058299,0.003506481394170329
+5.12,0.9970119727510895,0.002988027248910255
+5.28,0.9974537702831016,0.002546229716899019
+5.44,0.9978302449162486,0.002169755083750729
+5.6,0.9981510559423313,0.001848944057669407
+5.76,0.9984244333720221,0.001575566627976481
+5.92,0.9986573899795481,0.001342610020452677
+6.08,0.9988559026360773,0.001144097363921531
+6.24,0.9990250642962542,0.0009749357037470103
+6.4,0.999169214219677,0.000830785780323134
+6.56,0.9992920506524029,0.0007079493475972055
+6.72,0.9993967263400581,0.0006032736599348744
+6.88,0.999485921857897,0.0005140781421161779
+7.04,0.9995619289778747,0.0004380710221218694
+7.2,0.9996266971187943,0.0003733028812061835
+7.36,0.9996818893560302,0.0003181106439720465
+7.52,0.9997289215207235,0.0002710784792764278
+7.68,0.9997690001365761,0.0002309998634216546
+7.84,0.9998031531541657,0.0001968468458358626
+8.,0.9998322572709389,0.0001677427290610876
diff --git a/models/sbml-test-suite/cases/semantic/00039/00039-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00039/00039-sbml-l2v4.xml
new file mode 100644
index 0000000..605b685
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00039/00039-sbml-l2v4.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00039" id="case00039" name="case00039">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00039/00039-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00039/00039-sbml-l3v1.xml
new file mode 100644
index 0000000..e544f27
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00039/00039-sbml-l3v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00039" id="case00039" name="case00039" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00039/00039-settings.txt b/models/sbml-test-suite/cases/semantic/00039/00039-settings.txt
new file mode 100644
index 0000000..379b7b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00039/00039-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00040/00040-results.csv b/models/sbml-test-suite/cases/semantic/00040/00040-results.csv
new file mode 100644
index 0000000..88f7570
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00040/00040-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.5,0.4999999999842559
+0.16,0.5739281095125899,0.4260718904874106
+0.32,0.6369254866236794,0.3630745133763205
+0.48,0.6906083155581501,0.30939168444185
+0.64,0.736353793962171,0.2636462060378285
+0.8,0.7753355198683673,0.2246644801316328
+0.96,0.8085535558446483,0.1914464441553515
+1.12,0.8368600992314946,0.1631399007685055
+1.28,0.8609813447622151,0.139018655237785
+1.44,0.8815361146754089,0.118463885324591
+1.6,0.899051734533174,0.100948265466826
+1.76,0.9139775615252637,0.08602243847473631
+1.92,0.9266965125582579,0.07330348744174212
+2.08,0.9375348878667573,0.06246511213324264
+2.24,0.9467707421917562,0.05322925780824374
+2.4,0.9546410181735099,0.04535898182648982
+2.56,0.9613476250250896,0.03865237497491051
+2.72,0.9670626184380221,0.03293738156197812
+2.88,0.9719326146078336,0.02806738539216619
+3.04,0.9760825550873162,0.02391744491268389
+3.2,0.9796188929238931,0.02038110707610681
+3.36,0.9826323564591044,0.01736764354089558
+3.52,0.9852002655690912,0.01479973443090859
+3.68,0.9873884944987122,0.01261150550128767
+3.84,0.9892531778810572,0.0107468221189429
+4.,0.9908421581576016,0.009157841842397963
+4.16,0.9921961999738774,0.007803800026123091
+4.32,0.9933500369970373,0.006649963002962486
+4.48,0.9943332722558585,0.005666727744141651
+4.64,0.9951711319413535,0.004828868058646258
+4.8,0.9958851083729519,0.00411489162704783
+4.96,0.9964935186058299,0.003506481394170329
+5.12,0.9970119727510895,0.002988027248910255
+5.28,0.9974537702831016,0.002546229716899019
+5.44,0.9978302449162486,0.002169755083750729
+5.6,0.9981510559423313,0.001848944057669407
+5.76,0.9984244333720221,0.001575566627976481
+5.92,0.9986573899795481,0.001342610020452677
+6.08,0.9988559026360773,0.001144097363921531
+6.24,0.9990250642962542,0.0009749357037470103
+6.4,0.999169214219677,0.000830785780323134
+6.56,0.9992920506524029,0.0007079493475972055
+6.72,0.9993967263400581,0.0006032736599348744
+6.88,0.999485921857897,0.0005140781421161779
+7.04,0.9995619289778747,0.0004380710221218694
+7.2,0.9996266971187943,0.0003733028812061835
+7.36,0.9996818893560302,0.0003181106439720465
+7.52,0.9997289215207235,0.0002710784792764278
+7.68,0.9997690001365761,0.0002309998634216546
+7.84,0.9998031531541657,0.0001968468458358626
+8.,0.9998322572709389,0.0001677427290610876
diff --git a/models/sbml-test-suite/cases/semantic/00040/00040-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00040/00040-sbml-l2v4.xml
new file mode 100644
index 0000000..630c237
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00040/00040-sbml-l2v4.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00040" id="case00040" name="case00040">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00040/00040-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00040/00040-sbml-l3v1.xml
new file mode 100644
index 0000000..3febfcf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00040/00040-sbml-l3v1.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00040" id="case00040" name="case00040" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00040/00040-settings.txt b/models/sbml-test-suite/cases/semantic/00040/00040-settings.txt
new file mode 100644
index 0000000..379b7b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00040/00040-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00041/00041-results.csv b/models/sbml-test-suite/cases/semantic/00041/00041-results.csv
new file mode 100644
index 0000000..7e3bffb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00041/00041-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,3.017554874593445e-21
+0.1,0.9048374291506092,0.09516257084939062
+0.2,0.8187307114813726,0.1812692885186272
+0.3,0.7408182303505035,0.2591817696494963
+0.4,0.670320018678707,0.3296799813212927
+0.5,0.6065306703372417,0.3934693296627582
+0.6,0.5488116324448958,0.451188367555104
+0.7,0.4965853222647196,0.003414674670732265
+0.8,0.4493289950070516,0.05067100192840032
+0.9,0.4065696851801405,0.09343031175531146
+1.,0.3678794479760372,0.1321205489594147
+1.1,0.332871102101951,0.1671288948335009
+1.2,0.3011942134441199,0.1988057834913321
+1.3,0.2725318132903869,0.227468183645065
+1.4,0.2465969682759202,0.2534030286595317
+1.5,0.223130171644777,0.276869825290675
+1.6,0.2018963413035738,0.2981036556318782
+1.7,0.182683416557527,0.317316580377925
+1.8,0.1652988986362092,0.3347010982992427
+1.9,0.1495686190316366,0.3504313779038154
+2.,0.1353352579904875,0.3646647389449644
+2.1,0.1224563878500772,0.3775436090853747
+2.2,0.1108031166956049,0.389196880239847
+2.3,0.100258848971145,0.3997411479643069
+2.4,0.9071796432250384,0.4928203578288746
+2.5,0.8208501039165948,0.07914989473990578
+2.6,0.7427358383622886,0.157264160294212
+2.7,0.6720552021772151,0.2279447964792855
+2.8,0.6081007040100576,0.2918992946464431
+2.9,0.5502322486261672,0.3497677500303335
+3.,0.4978707616546623,0.4021292370018383
+3.1,0.4504920822591677,0.449507916397333
+3.2,0.407622068635972,0.4923779300205287
+3.3,0.3688317431689666,0.03116821851975527
+3.4,0.333732758732828,0.06626720295589377
+3.5,0.3019738115972467,0.09802615009147512
+3.6,0.2732372129648918,0.12676274872383
+3.7,0.2472353014841183,0.1527646602046035
+3.8,0.2237077571968594,0.1762922044918624
+3.9,0.2024191377894888,0.1975808238992331
+4.,0.1831564207357002,0.2168435409530216
+4.1,0.165726771504379,0.2342731901843428
+4.2,0.1499557590100787,0.2500442026786431
+4.3,0.1356854969074691,0.2643144647812527
+4.4,0.1227733485892541,0.2772266130994677
+4.5,0.1110899792534638,0.2889099824352581
+4.6,0.100518366442518,0.2994815952462038
+4.7,0.9095278274447503,0.3904721354088694
+4.8,0.8229748098140642,0.4770251530395556
+4.9,0.7446584243122389,0.05534150027922275
+5.,0.6737948053756899,0.1262051192157717
diff --git a/models/sbml-test-suite/cases/semantic/00041/00041-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00041/00041-sbml-l2v4.xml
new file mode 100644
index 0000000..fd1a0cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00041/00041-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00041" id="case00041" name="case00041">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S2 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00041/00041-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00041/00041-sbml-l3v1.xml
new file mode 100644
index 0000000..833a337
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00041/00041-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00041" id="case00041" name="case00041" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S2 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00041/00041-settings.txt b/models/sbml-test-suite/cases/semantic/00041/00041-settings.txt
new file mode 100644
index 0000000..57603a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00041/00041-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00042/00042-results.csv b/models/sbml-test-suite/cases/semantic/00042/00042-results.csv
new file mode 100644
index 0000000..3abe477
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00042/00042-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0
+0.1,0.0001357256127053939,1.427438729460607e-005
+0.2,0.0001228096129616973,2.719038703830272e-005
+0.3,0.0001111227331022577,3.887726689774233e-005
+0.4,0.0001005480069053459,4.945199309465411e-005
+0.5,9.097959895689501e-005,5.902040104310499e-005
+0.6,8.232174541410396e-005,6.767825458589604e-005
+0.7,7.448779556871142e-005,7.551220443128858e-005
+0.8,6.739934461758323e-005,8.260065538241677e-005
+0.9,6.098544896108986e-005,8.901455103891014e-005
+1,5.518191617571635e-005,9.481808382428365e-005
+1.1,4.993066255471193e-005,0.0001000693374452881
+1.2,4.517913178683031e-005,0.0001048208682131697
+1.3,4.087976895510189e-005,0.0001091202310448981
+1.4,3.698954459124097e-005,0.000113010455408759
+1.5,3.346952402226447e-005,0.0001165304759777355
+1.6,3.028447769919831e-005,0.0001197155223008017
+1.7,2.740252860791019e-005,0.0001225974713920898
+1.8,2.479483323323798e-005,0.000125205166766762
+1.9,2.243529288339526e-005,0.0001275647071166047
+2,2.03002924854919e-005,0.0001296997075145081
+2.1,1.836846423794729e-005,0.0001316315357620527
+2.2,1.662047375435008e-005,0.0001333795262456499
+2.3,1.503882655842056e-005,0.0001349611734415794
+2.4,1.360769299341187e-005,0.0001363923070065881
+2.5,1.231274979358482e-005,0.0001376872502064152
+2.6,1.114103673215008e-005,0.0001388589632678499
+2.7,1.008082691096246e-005,0.0001399191730890375
+2.8,9.121509393782692e-006,0.0001408784906062173
+2.9,8.253483008461082e-006,0.0001417465169915389
+3,7.468060255179591e-006,0.0001425319397448204
+3.1,6.757380359033671e-006,0.0001432426196409663
+3.2,6.114330596754931e-006,0.0001438856694032451
+3.3,5.532475110186e-006,0.000144467524889814
+3.4,5.00599049404891e-006,0.0001449940095059511
+3.5,4.529607513347775e-006,0.0001454703924866522
+3.6,4.098558367093884e-006,0.0001459014416329061
+3.7,3.708528970550908e-006,0.0001462914710294491
+3.8,3.355615778424839e-006,0.0001466443842215752
+3.9,3.036286716870657e-006,0.0001469637132831294
+4,2.747345833310127e-006,0.0001472526541666899
+4.1,2.485901310264186e-006,0.0001475140986897358
+4.2,2.249336523071655e-006,0.0001477506634769283
+4.3,2.03528385183014e-006,0.0001479647161481699
+4.4,1.841600985460266e-006,0.0001481583990145397
+4.5,1.666349480736346e-006,0.0001483336505192637
+4.6,1.507775361695036e-006,0.000148492224638305
+4.7,1.364291565254372e-006,0.0001486357084347456
+4.8,1.234462057353003e-006,0.000148765537942647
+4.9,1.116987460638651e-006,0.0001488830125393614
+5,1.01069204986282e-006,0.0001489893079501372
diff --git a/models/sbml-test-suite/cases/semantic/00042/00042-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00042/00042-sbml-l2v4.xml
new file mode 100644
index 0000000..3310927
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00042/00042-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00042" id="case00042" name="case00042">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00042/00042-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00042/00042-sbml-l3v1.xml
new file mode 100644
index 0000000..ede378e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00042/00042-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00042" id="case00042" name="case00042" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00042/00042-settings.txt b/models/sbml-test-suite/cases/semantic/00042/00042-settings.txt
new file mode 100644
index 0000000..4e5ac53
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00042/00042-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00043/00043-results.csv b/models/sbml-test-suite/cases/semantic/00043/00043-results.csv
new file mode 100644
index 0000000..0e89c56
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00043/00043-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.4,0.001094548868370728,0.002094548868370727,0.0009054511316292719
+0.8,0.00118001848953847,0.002180018489538469,0.0008199815104615298
+1.2,0.001257276749958873,0.002257276749958871,0.0007427232500411273
+1.6,0.001327109297396784,0.002327109297396782,0.0006728907026032167
+2.,0.001390227209184955,0.002390227209184953,0.0006097727908150456
+2.4,0.001447273964930345,0.002447273964930343,0.0005527260350696556
+2.8,0.001498831750824368,0.002498831750824366,0.0005011682491756331
+3.2,0.001545427271591323,0.002545427271591322,0.0004545727284086771
+3.6,0.001587536949569996,0.002587536949569994,0.0004124630504300042
+4.,0.001625591689598026,0.002625591689598024,0.0003744083104019749
+4.4,0.001659981183772631,0.002659981183772629,0.0003400188162273701
+4.8,0.001691057760349918,0.002691057760349917,0.0003089422396500824
+5.2,0.001719140076169886,0.002719140076169885,0.0002808599238301143
+5.6,0.001744516233233725,0.002744516233233724,0.0002554837667662752
+6.,0.001767446616066154,0.002767446616066153,0.0002325533839338463
+6.4,0.0017881666657187,0.002788166665718698,0.0002118333342813009
+6.8,0.001806889246985867,0.002806889246985865,0.0001931107530141337
+7.2,0.001823806724165519,0.002823806724165518,0.0001761932758344814
+7.6,0.001839092942842859,0.002839092942842857,0.0001609070571571419
+8.,0.00185290508620386,0.002852905086203859,0.00014709491379614
+8.4,0.001865385198822914,0.002865385198822912,0.0001346148011770866
+8.8,0.001876661656975843,0.002876661656975842,0.0001233383430241569
+9.2,0.001886850480279047,0.002886850480279046,0.0001131495197209531
+9.6,0.001896056518122009,0.002896056518122009,0.0001039434818779907
+10.,0.001904374522582393,0.002904374522582392,0.00009562547741760679
+10.4,0.001911890117170247,0.002911890117170246,0.00008810988282975318
+10.8,0.001918680675619498,0.002918680675619496,0.00008131932438050237
+11.2,0.001924816116826219,0.002924816116826218,0.00007518388317378116
+11.6,0.00193035962201589,0.002930359622015888,0.00006964037798411025
+12.,0.001935368283094718,0.002935368283094717,0.00006463171690528209
+12.4,0.00193989368877822,0.002939893688778219,0.00006010631122177972
+12.8,0.001943982454438532,0.002943982454438531,0.000056017545561468
+13.2,0.001947676701050027,0.002947676701050026,0.00005232329894997333
+13.6,0.001951014488103085,0.002951014488103083,0.00004898551189691535
+14.,0.001954030204893596,0.002954030204893595,0.0000459697951064034
+14.4,0.001956754924176747,0.002956754924176745,0.00004324507582325254
+14.8,0.001959216721659568,0.002959216721659566,0.00004078327834043178
+15.2,0.001961440964382299,0.002961440964382297,0.00003855903561770112
+15.6,0.001963450572468844,0.002963450572468842,0.00003654942753115635
+16.,0.001965266255251286,0.002965266255251284,0.00003473374474871375
+16.4,0.001966906724398662,0.00296690672439866,0.00003309327560133805
+16.8,0.0019683888865201,0.002968388886520098,0.00003161111347990038
+17.2,0.001969728017215254,0.002969728017215252,0.00003027198278474602
+17.6,0.001970937918356177,0.002970937918356176,0.00002906208164382243
+18.,0.001972031060213723,0.002972031060213721,0.00002796893978627687
+18.4,0.001973018709886818,0.002973018709886816,0.00002698129011318129
+18.8,0.001973911047352977,0.002973911047352976,0.000026088952647022
+19.2,0.001974717270331516,0.002974717270331515,0.00002528272966848327
+19.6,0.001975445688837711,0.00297544568883771,0.00002455431116228797
+20.,0.001976103810860182,0.00297610381086018,0.00002389618913981748
diff --git a/models/sbml-test-suite/cases/semantic/00043/00043-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00043/00043-sbml-l2v4.xml
new file mode 100644
index 0000000..a76ab82
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00043/00043-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00043" id="case00043" name="case00043">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00043/00043-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00043/00043-sbml-l3v1.xml
new file mode 100644
index 0000000..fe61585
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00043/00043-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00043" id="case00043" name="case00043" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00043/00043-settings.txt b/models/sbml-test-suite/cases/semantic/00043/00043-settings.txt
new file mode 100644
index 0000000..1651ee1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00043/00043-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00044/00044-results.csv b/models/sbml-test-suite/cases/semantic/00044/00044-results.csv
new file mode 100644
index 0000000..794e03b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00044/00044-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.01,0.02,0.01
+0.05,0.009881763185936597,0.009881763185936597,0.0201182368140634,0.0101182368140634
+0.1,0.009776045704354061,0.009776045704354061,0.02022395429564595,0.01022395429564593
+0.15,0.009681471874858708,0.009681471874858708,0.02031852812514131,0.01031852812514129
+0.2,0.009596826954519965,0.009596826954519965,0.02040317304548005,0.01040317304548003
+0.25,0.009521036405217656,0.009521036405217656,0.02047896359478236,0.01047896359478234
+0.3,0.009453148196573325,0.009453148196573325,0.02054685180342669,0.01054685180342667
+0.35,0.00939231779176645,0.00939231779176645,0.02060768220823357,0.01060768220823355
+0.4,0.0093377947389342,0.0093377947389342,0.02066220526106582,0.0106622052610658
+0.45,0.009288911732840318,0.009288911732840318,0.0207110882671597,0.01071108826715968
+0.5,0.009245074632986852,0.009245074632986852,0.02075492536701316,0.01075492536701314
+0.55,0.009205753888269501,0.009205753888269501,0.02079424611173051,0.01079424611173049
+0.6,0.009170477298995758,0.009170477298995758,0.02082952270100426,0.01082952270100424
+0.65,0.009138823317456296,0.009138823317456296,0.02086117668254371,0.0108611766825437
+0.7,0.009110415395753039,0.009110415395753039,0.02088958460424697,0.01088958460424696
+0.75,0.009084917047516178,0.009084917047516178,0.02091508295248383,0.01091508295248382
+0.8,0.009062027359775286,0.009062027359775286,0.02093797264022472,0.01093797264022471
+0.85,0.009041477095967039,0.009041477095967039,0.02095852290403297,0.01095852290403296
+0.9,0.00902302525508963,0.00902302525508963,0.02097697474491037,0.01097697474491037
+0.95,0.009006456024877661,0.009006456024877661,0.02099354397512234,0.01099354397512233
+1.,0.008991576080139961,0.008991576080139961,0.02100842391986004,0.01100842391986003
+1.05,0.008978212196908823,0.008978212196908823,0.02102178780309118,0.01102178780309117
+1.1,0.008966209111335979,0.008966209111335979,0.02103379088866403,0.01103379088866402
+1.15,0.008955427611876582,0.008955427611876582,0.02104457238812342,0.01104457238812341
+1.2,0.008945742852631038,0.008945742852631038,0.02105425714736897,0.01105425714736896
+1.25,0.008937042847072761,0.008937042847072761,0.02106295715292724,0.01106295715292723
+1.3,0.00892922712427552,0.00892922712427552,0.02107077287572448,0.01107077287572448
+1.35,0.008922205529245103,0.008922205529245103,0.0210777944707549,0.01107779447075489
+1.4,0.008915897151202516,0.008915897151202516,0.02108410284879748,0.01108410284879748
+1.45,0.008910229365606682,0.008910229365606682,0.02108977063439332,0.01108977063439331
+1.5,0.008905136977053772,0.008905136977053772,0.02109486302294623,0.01109486302294622
+1.55,0.008900561454040278,0.008900561454040278,0.02109943854595972,0.01109943854595972
+1.6,0.008896450241022868,0.008896450241022868,0.02110354975897713,0.01110354975897713
+1.65,0.008892756144979316,0.008892756144979316,0.02110724385502068,0.01110724385502068
+1.7,0.008889436785004593,0.008889436785004593,0.0211105632149954,0.0111105632149954
+1.75,0.008886454098026836,0.008886454098026836,0.02111354590197316,0.01111354590197316
+1.8,0.008883773896550293,0.008883773896550293,0.02111622610344971,0.0111162261034497
+1.85,0.008881365472239794,0.008881365472239794,0.02111863452776021,0.0111186345277602
+1.9,0.008879201240400182,0.008879201240400182,0.02112079875959982,0.01112079875959981
+1.95,0.008877256418782245,0.008877256418782245,0.02112274358121776,0.01112274358121775
+2.,0.008875508750721662,0.008875508750721662,0.02112449124927834,0.01112449124927833
+2.05,0.008873938234101184,0.008873938234101184,0.02112606176589882,0.01112606176589881
+2.1,0.00887252690093993,0.00887252690093993,0.02112747309906008,0.01112747309906007
+2.15,0.00887125860783596,0.00887125860783596,0.02112874139216404,0.01112874139216404
+2.2,0.008870118850276904,0.008870118850276904,0.0211298811497231,0.01112988114972309
+2.25,0.008869094595926992,0.008869094595926992,0.02113090540407301,0.011130905404073
+2.3,0.008868174134936689,0.008868174134936689,0.02113182586506331,0.01113182586506331
+2.35,0.008867346945524178,0.008867346945524178,0.02113265305447582,0.01113265305447582
+2.4,0.008866603573166534,0.008866603573166534,0.02113339642683347,0.01113339642683346
+2.45,0.008865935522902011,0.008865935522902011,0.02113406447709799,0.01113406447709798
+2.5,0.008865335160035212,0.008865335160035212,0.02113466483996479,0.01113466483996478
diff --git a/models/sbml-test-suite/cases/semantic/00044/00044-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00044/00044-sbml-l2v4.xml
new file mode 100644
index 0000000..aeb8cd5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00044/00044-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00044" id="case00044" name="case00044">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00044/00044-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00044/00044-sbml-l3v1.xml
new file mode 100644
index 0000000..76786e0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00044/00044-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00044" id="case00044" name="case00044" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00044/00044-settings.txt b/models/sbml-test-suite/cases/semantic/00044/00044-settings.txt
new file mode 100644
index 0000000..c97b0ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00044/00044-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00045/00045-results.csv b/models/sbml-test-suite/cases/semantic/00045/00045-results.csv
new file mode 100644
index 0000000..a017f72
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00045/00045-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.1,0.1357256127053939,0.01427438729460607
+0.2,0.1228096129616973,0.02719038703830272
+0.3,0.1111227331022577,0.03887726689774233
+0.4,0.1005480069053459,0.04945199309465411
+0.5,0.09097959895689502,0.05902040104310499
+0.6,0.08232174541410396,0.06767825458589605
+0.7,0.07448779556871142,0.07551220443128857
+0.8,0.06739934461758323,0.08260065538241676
+0.9,0.06098544896108987,0.08901455103891014
+1,0.05518191617571635,0.09481808382428365
+1.1,0.04993066255471193,0.1000693374452881
+1.2,0.04517913178683031,0.1048208682131697
+1.3,0.04087976895510189,0.1091202310448981
+1.4,0.03698954459124097,0.113010455408759
+1.5,0.03346952402226448,0.1165304759777355
+1.6,0.03028447769919831,0.1197155223008017
+1.7,0.02740252860791019,0.1225974713920898
+1.8,0.02479483323323798,0.125205166766762
+1.9,0.02243529288339526,0.1275647071166048
+2,0.02030029248549191,0.1296997075145081
+2.1,0.01836846423794728,0.1316315357620527
+2.2,0.01662047375435008,0.1333795262456499
+2.3,0.01503882655842056,0.1349611734415795
+2.4,0.01360769299341187,0.1363923070065881
+2.5,0.01231274979358482,0.1376872502064152
+2.6,0.01114103673215008,0.1388589632678499
+2.7,0.01008082691096246,0.1399191730890375
+2.8,0.009121509393782692,0.1408784906062173
+2.9,0.008253483008461082,0.1417465169915389
+3,0.007468060255179591,0.1425319397448204
+3.1,0.00675738035903367,0.1432426196409663
+3.2,0.006114330596754931,0.1438856694032451
+3.3,0.005532475110186,0.144467524889814
+3.4,0.00500599049404891,0.1449940095059511
+3.5,0.004529607513347776,0.1454703924866522
+3.6,0.004098558367093884,0.1459014416329061
+3.7,0.003708528970550908,0.1462914710294491
+3.8,0.003355615778424839,0.1466443842215752
+3.9,0.003036286716870657,0.1469637132831294
+4,0.002747345833310127,0.1472526541666899
+4.1,0.002485901310264186,0.1475140986897358
+4.2,0.002249336523071656,0.1477506634769283
+4.3,0.00203528385183014,0.1479647161481699
+4.4,0.001841600985460266,0.1481583990145397
+4.5,0.001666349480736346,0.1483336505192636
+4.6,0.001507775361695036,0.148492224638305
+4.7,0.001364291565254372,0.1486357084347456
+4.8,0.001234462057353003,0.148765537942647
+4.9,0.001116987460638651,0.1488830125393613
+5,0.00101069204986282,0.1489893079501372
diff --git a/models/sbml-test-suite/cases/semantic/00045/00045-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00045/00045-sbml-l2v4.xml
new file mode 100644
index 0000000..e555712
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00045/00045-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00045" id="case00045" name="case00045">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00045/00045-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00045/00045-sbml-l3v1.xml
new file mode 100644
index 0000000..ca7691f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00045/00045-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00045" id="case00045" name="case00045" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00045/00045-settings.txt b/models/sbml-test-suite/cases/semantic/00045/00045-settings.txt
new file mode 100644
index 0000000..5a66c8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00045/00045-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00046/00046-results.csv b/models/sbml-test-suite/cases/semantic/00046/00046-results.csv
new file mode 100644
index 0000000..534df1c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00046/00046-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.4,0.0001095101185704268,0.0002095101185704269,0.00009048988142957316
+0.8,0.0001181144069599281,0.0002181144069599282,0.00008188559304007183
+1.2,0.0001258991045544968,0.0002258991045544968,0.0000741008954455032
+1.6,0.0001329422472699064,0.0002329422472699064,0.00006705775273009363
+2.,0.0001393144472761547,0.0002393144472761548,0.00006068555272384526
+2.4,0.0001450795984151714,0.0002450795984151715,0.00005492040158482855
+2.8,0.0001502955121232816,0.0002502955121232817,0.00004970448787671837
+3.2,0.0001550144989238427,0.0002550144989238427,0.00004498550107615731
+3.6,0.0001592838895931068,0.0002592838895931068,0.00004071611040689317
+4.,0.0001631465105444803,0.0002631465105444803,0.00003685348945551974
+4.4,0.0001666411046561742,0.0002666411046561745,0.00003335889534382568
+4.8,0.0001698027350358279,0.0002698027350358282,0.00003019726496417199
+5.2,0.0001726631193237813,0.0002726631193237816,0.0000273368806762186
+5.6,0.0001752509564151416,0.0002752509564151418,0.00002474904358485839
+6.,0.0001775922118992758,0.000277592211899276,0.0000224077881007242
+6.4,0.0001797103780663186,0.0002797103780663189,0.00002028962193368134
+6.8,0.0001816267100701786,0.0002816267100701788,0.00001837328992982138
+7.2,0.0001833604383162523,0.0002833604383162526,0.0000166395616837476
+7.6,0.0001849289608100614,0.0002849289608100616,0.0000150710391899386
+8.,0.0001863480182435769,0.0002863480182435771,0.00001365198175642305
+8.4,0.0001876318525082696,0.0002876318525082699,0.00001236814749173031
+8.8,0.0001887933490866441,0.0002887933490866443,0.00001120665091335583
+9.2,0.0001898441626961193,0.0002898441626961196,0.00001015583730388064
+9.6,0.0001907948424799535,0.0002907948424799538,9.20515752004643e-6
+10.,0.000191654928308744,0.0002916549283087443,8.345071691255907e-6
+10.4,0.0001924330531584597,0.0002924330531584598,7.566946841540313e-6
+10.8,0.0001931370278747662,0.0002931370278747665,6.862972125233738e-6
+11.2,0.0001937739168704251,0.0002937739168704254,6.226083129574812e-6
+11.6,0.0001943501142494414,0.0002943501142494416,5.649885750558534e-6
+12.,0.0001948714027090762,0.0002948714027090764,5.128597290923749e-6
+12.4,0.000195343014303889,0.0002953430143038892,4.656985696110964e-6
+12.8,0.0001957696832021258,0.0002957696832021261,4.230316797874113e-6
+13.2,0.0001961556926907649,0.0002961556926907652,3.844307309234976e-6
+13.6,0.0001965049170114392,0.0002965049170114395,3.495082988560712e-6
+14.,0.0001968208612513208,0.0002968208612513211,3.179138748679095e-6
+14.4,0.0001971066969301388,0.000297106696930139,2.893303069861129e-6
+14.8,0.0001973652936202133,0.0002973652936202136,2.634706379786535e-6
+15.2,0.0001975992470092075,0.0002975992470092078,2.400752990792365e-6
+15.6,0.0001978109052016946,0.0002978109052016948,2.189094798305286e-6
+16.,0.0001980023928351154,0.0002980023928351156,1.997607164884541e-6
+16.4,0.0001981756323031491,0.0002981756323031494,1.824367696850767e-6
+16.8,0.0001983323626750603,0.0002983323626750606,1.667637324939605e-6
+17.2,0.0001984741569924392,0.0002984741569924395,1.525843007560685e-6
+17.6,0.0001986024385593296,0.0002986024385593299,1.397561440670295e-6
+18.,0.0001987184952063118,0.0002987184952063121,1.281504793688099e-6
+18.4,0.0001988234920553257,0.0002988234920553259,1.176507944674233e-6
+18.8,0.0001989184829449158,0.0002989184829449161,1.081517055084097e-6
+19.2,0.0001990044213453334,0.0002990044213453337,9.95578654666521e-7
+19.6,0.0001990821699792793,0.0002990821699792796,9.178300207205713e-7
+20.,0.0001991525093891402,0.0002991525093891405,8.474906108597139e-7
diff --git a/models/sbml-test-suite/cases/semantic/00046/00046-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00046/00046-sbml-l2v4.xml
new file mode 100644
index 0000000..0e7d438
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00046/00046-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00046" id="case00046" name="case00046">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00046/00046-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00046/00046-sbml-l3v1.xml
new file mode 100644
index 0000000..5f96187
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00046/00046-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00046" id="case00046" name="case00046" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00046/00046-settings.txt b/models/sbml-test-suite/cases/semantic/00046/00046-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00046/00046-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00047/00047-results.csv b/models/sbml-test-suite/cases/semantic/00047/00047-results.csv
new file mode 100644
index 0000000..bec69de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00047/00047-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.001,0.002,0.001
+0.05,0.0009881763185936637,0.0009881763185936637,0.002011823681406335,0.001011823681406336
+0.1,0.0009776045704354247,0.0009776045704354247,0.002022395429564574,0.001022395429564575
+0.15,0.0009681471874861807,0.0009681471874861807,0.002031852812513817,0.001031852812513819
+0.2,0.0009596826954519924,0.0009596826954519924,0.002040317304548006,0.001040317304548007
+0.25,0.000952103640521798,0.000952103640521798,0.002047896359478199,0.001047896359478201
+0.3,0.0009453148196611825,0.0009453148196611825,0.002054685180338815,0.001054685180338817
+0.35,0.0009392317791711321,0.0009392317791711321,0.002060768220828866,0.001060768220828867
+0.4,0.0009337794739060343,0.0009337794739060343,0.002066220526093964,0.001066220526093965
+0.45,0.0009288911732781272,0.0009288911732781272,0.002071108826721871,0.001071108826721872
+0.5,0.0009245074632981542,0.0009245074632981542,0.002075492536701844,0.001075492536701845
+0.55,0.0009205753888393123,0.0009205753888393123,0.002079424611160686,0.001079424611160687
+0.6,0.0009170477299169823,0.0009170477299169823,0.002082952270083016,0.001082952270083017
+0.65,0.000913882331744461,0.000913882331744461,0.002086117668255537,0.001086117668255539
+0.7,0.0009110415395831867,0.0009110415395831867,0.002088958460416811,0.001088958460416813
+0.75,0.0009084917047627593,0.0009084917047627593,0.002091508295237238,0.001091508295237241
+0.8,0.0009062027359712747,0.0009062027359712747,0.002093797264028723,0.001093797264028725
+0.85,0.0009041477095597671,0.0009041477095597671,0.002095852290440231,0.001095852290440233
+0.9,0.0009023025254484357,0.0009023025254484357,0.002097697474551562,0.001097697474551564
+0.95,0.0009006456024375326,0.0009006456024375326,0.002099354397562465,0.001099354397562468
+1.,0.0008991576080333725,0.0008991576080333725,0.002100842391966626,0.001100842391966628
+1.05,0.0008978212197413985,0.0008978212197413985,0.0021021787802586,0.001102178780258602
+1.1,0.0008966209111901844,0.0008966209111901844,0.002103379088809813,0.001103379088809816
+1.15,0.0008955427612353118,0.0008955427612353118,0.002104457238764686,0.001104457238764689
+1.2,0.0008945742852942542,0.0008945742852942542,0.002105425714705744,0.001105425714705746
+1.25,0.0008937042847197123,0.0008937042847197123,0.002106295715280285,0.001106295715280288
+1.3,0.0008929227124227983,0.0008929227124227983,0.0021070772875772,0.001107077287577202
+1.35,0.0008922205529065652,0.0008922205529065652,0.002107779447093433,0.001107779447093435
+1.4,0.0008915897150946207,0.0008915897150946207,0.002108410284905377,0.00110841028490538
+1.45,0.0008910229365336312,0.0008910229365336312,0.002108977063466367,0.001108977063466369
+1.5,0.0008905136976823736,0.0008905136976823736,0.002109486302317625,0.001109486302317627
+1.55,0.0008900561453907,0.0008900561453907,0.002109943854609298,0.0011099438546093
+1.6,0.0008896450241029877,0.0008896450241029877,0.00211035497589701,0.001110354975897013
+1.65,0.0008892756145087616,0.0008892756145087616,0.002110724385491237,0.001110724385491239
+1.7,0.0008889436785150039,0.0008889436785150039,0.002111056321484994,0.001111056321484997
+1.75,0.0008886454098168041,0.0008886454098168041,0.002111354590183194,0.001111354590183197
+1.8,0.0008883773896663043,0.0008883773896663043,0.002111622610333694,0.001111622610333696
+1.85,0.0008881365472312589,0.0008881365472312589,0.002111863452768739,0.001111863452768741
+1.9,0.0008879201240430675,0.0008879201240430675,0.00211207987595693,0.001112079875956933
+1.95,0.0008877256418803576,0.0008877256418803576,0.00211227435811964,0.001112274358119643
+2.,0.000887550875076103,0.000887550875076103,0.002112449124923895,0.001112449124923898
+2.05,0.0008873938234154172,0.0008873938234154172,0.002112606176584581,0.001112606176584583
+2.1,0.0008872526901002382,0.0008872526901002382,0.002112747309899759,0.001112747309899762
+2.15,0.0008871258607904046,0.0008871258607904046,0.002112874139209592,0.001112874139209596
+2.2,0.0008870118850347167,0.0008870118850347167,0.00211298811496528,0.001112988114965283
+2.25,0.0008869094595996376,0.0008869094595996376,0.00211309054040036,0.001113090540400363
+2.3,0.000886817413500254,0.000886817413500254,0.002113182586499743,0.001113182586499746
+2.35,0.0008867346945584242,0.0008867346945584242,0.002113265305441573,0.001113265305441576
+2.4,0.0008866603573232605,0.0008866603573232605,0.002113339642676737,0.00111333964267674
+2.45,0.000886593552292134,0.000886593552292134,0.002113406447707863,0.001113406447707866
+2.5,0.0008865335160035233,0.0008865335160035233,0.002113466483996474,0.001113466483996477
diff --git a/models/sbml-test-suite/cases/semantic/00047/00047-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00047/00047-sbml-l2v4.xml
new file mode 100644
index 0000000..044c50c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00047/00047-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00047" id="case00047" name="case00047">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00047/00047-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00047/00047-sbml-l3v1.xml
new file mode 100644
index 0000000..a68c29c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00047/00047-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00047" id="case00047" name="case00047" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00047/00047-settings.txt b/models/sbml-test-suite/cases/semantic/00047/00047-settings.txt
new file mode 100644
index 0000000..ca38ee7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00047/00047-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00048/00048-results.csv b/models/sbml-test-suite/cases/semantic/00048/00048-results.csv
new file mode 100644
index 0000000..2708382
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00048/00048-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.015,0
+0.1,0.01357256127053939,0.001427438729460607
+0.2,0.01228096129616973,0.002719038703830272
+0.3,0.01111227331022577,0.003887726689774232
+0.4,0.01005480069053459,0.004945199309465411
+0.5,0.009097959895689501,0.005902040104310499
+0.6,0.008232174541410396,0.006767825458589605
+0.7,0.007448779556871142,0.007551220443128857
+0.8,0.006739934461758324,0.008260065538241676
+0.9,0.006098544896108987,0.008901455103891013
+1,0.005518191617571635,0.009481808382428365
+1.1,0.004993066255471193,0.01000693374452881
+1.2,0.00451791317868303,0.01048208682131697
+1.3,0.004087976895510189,0.01091202310448981
+1.4,0.003698954459124097,0.0113010455408759
+1.5,0.003346952402226447,0.01165304759777355
+1.6,0.003028447769919831,0.01197155223008017
+1.7,0.002740252860791019,0.01225974713920898
+1.8,0.002479483323323798,0.0125205166766762
+1.9,0.002243529288339526,0.01275647071166047
+2,0.00203002924854919,0.01296997075145081
+2.1,0.001836846423794729,0.01316315357620527
+2.2,0.001662047375435008,0.01333795262456499
+2.3,0.001503882655842056,0.01349611734415794
+2.4,0.001360769299341187,0.01363923070065881
+2.5,0.001231274979358482,0.01376872502064152
+2.6,0.001114103673215008,0.01388589632678499
+2.7,0.001008082691096246,0.01399191730890376
+2.8,0.0009121509393782692,0.01408784906062173
+2.9,0.0008253483008461082,0.01417465169915389
+3,0.0007468060255179592,0.01425319397448204
+3.1,0.000675738035903367,0.01432426196409663
+3.2,0.0006114330596754932,0.01438856694032451
+3.3,0.0005532475110185999,0.0144467524889814
+3.4,0.000500599049404891,0.01449940095059511
+3.5,0.0004529607513347775,0.01454703924866522
+3.6,0.0004098558367093884,0.01459014416329061
+3.7,0.0003708528970550908,0.01462914710294491
+3.8,0.0003355615778424838,0.01466443842215752
+3.9,0.0003036286716870657,0.01469637132831293
+4,0.0002747345833310127,0.01472526541666899
+4.1,0.0002485901310264186,0.01475140986897358
+4.2,0.0002249336523071656,0.01477506634769283
+4.3,0.000203528385183014,0.01479647161481699
+4.4,0.0001841600985460266,0.01481583990145397
+4.5,0.0001666349480736346,0.01483336505192637
+4.6,0.0001507775361695037,0.0148492224638305
+4.7,0.0001364291565254372,0.01486357084347456
+4.8,0.0001234462057353003,0.0148765537942647
+4.9,0.0001116987460638651,0.01488830125393614
+5,0.000101069204986282,0.01489893079501372
diff --git a/models/sbml-test-suite/cases/semantic/00048/00048-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00048/00048-sbml-l2v4.xml
new file mode 100644
index 0000000..cfc5165
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00048/00048-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00048" id="case00048" name="case00048">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00048/00048-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00048/00048-sbml-l3v1.xml
new file mode 100644
index 0000000..4e422a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00048/00048-sbml-l3v1.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00048" id="case00048" name="case00048" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00048/00048-settings.txt b/models/sbml-test-suite/cases/semantic/00048/00048-settings.txt
new file mode 100644
index 0000000..7e2d237
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00048/00048-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00049/00049-results.csv b/models/sbml-test-suite/cases/semantic/00049/00049-results.csv
new file mode 100644
index 0000000..d18ae34
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00049/00049-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.4,0.1036416406743523,0.2036416406743524,0.09635835932564763
+0.8,0.1066467469151817,0.2066467469151818,0.09335325308481826
+1.2,0.1091220870110208,0.2091220870110209,0.09087791298897919
+1.6,0.1111580088302945,0.2111580088302946,0.08884199116970542
+2.,0.1128304590098088,0.2128304590098089,0.08716954099019114
+2.4,0.1142029420287858,0.2142029420287858,0.08579705797121414
+2.8,0.1153283262456635,0.2153283262456635,0.08467167375433643
+3.2,0.1162504725709547,0.2162504725709547,0.0837495274290453
+3.6,0.1170056623804662,0.2170056623804662,0.08299433761953378
+4.,0.1176238421700514,0.2176238421700513,0.08237615782994858
+4.4,0.1181296801231808,0.2181296801231808,0.08187031987681915
+4.8,0.1185434657806843,0.2185434657806842,0.08145653421931567
+5.2,0.1188818660658657,0.2188818660658657,0.08111813393413427
+5.6,0.1191585586495932,0.2191585586495931,0.0808414413504068
+6.,0.1193847579572253,0.2193847579572253,0.08061524204277463
+6.4,0.1195696531394105,0.2195696531394105,0.08043034686058943
+6.8,0.1197207697261893,0.2197207697261894,0.08027923027381064
+7.2,0.1198442673474518,0.2198442673474519,0.08015573265254812
+7.6,0.1199451862750527,0.2199451862750527,0.08005481372494729
+8.,0.1200276494708259,0.2200276494708259,0.07997235052917406
+8.4,0.1200950287873767,0.2200950287873767,0.07990497121262324
+8.8,0.1201500807898832,0.2201500807898832,0.07984991921011672
+9.2,0.1201950596921134,0.2201950596921134,0.07980494030788658
+9.6,0.1202318074086614,0.2202318074086613,0.0797681925913386
+10.,0.1202618295374586,0.2202618295374586,0.07973817046254133
+10.4,0.1202863567540331,0.2202863567540331,0.07971364324596685
+10.8,0.1203063943093443,0.2203063943093442,0.07969360569065567
+11.2,0.1203227638867165,0.2203227638867165,0.07967723611328343
+11.6,0.1203361368503024,0.2203361368503024,0.07966386314969757
+12.,0.1203470615811985,0.2203470615811985,0.07965293841880143
+12.4,0.1203559863136198,0.2203559863136198,0.07964401368638014
+12.8,0.1203632770501945,0.2203632770501945,0.07963672294980545
+13.2,0.1203692330345358,0.2203692330345358,0.0796307669654642
+13.6,0.1203740985168358,0.2203740985168358,0.0796259014831642
+14.,0.1203780732153493,0.2203780732153493,0.07962192678465064
+14.4,0.1203813201702078,0.2203813201702078,0.0796186798297922
+14.8,0.1203839726340524,0.2203839726340524,0.07961602736594758
+15.2,0.120386139463139,0.220386139463139,0.07961386053686096
+15.6,0.1203879095411651,0.2203879095411651,0.07961209045883482
+16.,0.1203893555329705,0.2203893555329705,0.07961064446702942
+16.4,0.1203905367745162,0.2203905367745162,0.07960946322548374
+16.8,0.1203915017256821,0.2203915017256821,0.07960849827431787
+17.2,0.120392290002795,0.220392290002795,0.07960770999720499
+17.6,0.1203929339492998,0.2203929339492999,0.07960706605070014
+18.,0.1203934599860304,0.2203934599860305,0.07960654001396955
+18.4,0.1203938897104487,0.2203938897104488,0.07960611028955125
+18.8,0.1203942407525631,0.2203942407525632,0.07960575924743688
+19.2,0.1203945275172804,0.2203945275172805,0.07960547248271959
+19.6,0.120394761777847,0.2203947617778471,0.07960523822215298
+20.,0.120394953144649,0.2203949531446491,0.07960504685535099
diff --git a/models/sbml-test-suite/cases/semantic/00049/00049-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00049/00049-sbml-l2v4.xml
new file mode 100644
index 0000000..0a27d9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00049/00049-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00049" id="case00049" name="case00049">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00049/00049-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00049/00049-sbml-l3v1.xml
new file mode 100644
index 0000000..7f26549
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00049/00049-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00049" id="case00049" name="case00049" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00049/00049-settings.txt b/models/sbml-test-suite/cases/semantic/00049/00049-settings.txt
new file mode 100644
index 0000000..7baa566
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00049/00049-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00050/00050-results.csv b/models/sbml-test-suite/cases/semantic/00050/00050-results.csv
new file mode 100644
index 0000000..1f20cb3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00050/00050-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0001,0.0002,0.0001
+0.05,0.00009881763185936636,0.00009881763185936636,0.0002011823681406337,0.0001011823681406336
+0.1,0.00009776045704354217,0.00009776045704354217,0.0002022395429564579,0.0001022395429564578
+0.15,0.00009681471874860227,0.00009681471874860227,0.0002031852812513978,0.0001031852812513977
+0.2,0.00009596826954523736,0.00009596826954523736,0.0002040317304547627,0.0001040317304547626
+0.25,0.00009521036405216778,0.00009521036405216778,0.0002047896359478323,0.0001047896359478322
+0.3,0.00009453148196592693,0.00009453148196592693,0.0002054685180340731,0.000105468518034073
+0.35,0.00009392317791776141,0.00009392317791776141,0.0002060768220822386,0.0001060768220822385
+0.4,0.00009337794738948058,0.00009337794738948058,0.0002066220526105195,0.0001066220526105194
+0.45,0.00009288911732837295,0.00009288911732837295,0.0002071108826716272,0.000107110882671627
+0.5,0.00009245074632986106,0.00009245074632986106,0.0002075492536701391,0.0001075492536701389
+0.55,0.00009205753888299987,0.00009205753888299987,0.0002079424611170002,0.0001079424611170001
+0.6,0.00009170477298883471,0.00009170477298883471,0.0002082952270111654,0.0001082952270111653
+0.65,0.00009138823317527069,0.00009138823317527069,0.0002086117668247294,0.0001086117668247293
+0.7,0.00009110415396099831,0.00009110415396099831,0.0002088958460390018,0.0001088958460390016
+0.75,0.00009084917047839726,0.00009084917047839726,0.0002091508295216029,0.0001091508295216027
+0.8,0.00009062027359765853,0.00009062027359765853,0.0002093797264023416,0.0001093797264023414
+0.85,0.00009041477095491564,0.00009041477095491564,0.0002095852290450845,0.0001095852290450843
+0.9,0.00009023025254293393,0.00009023025254293393,0.0002097697474570662,0.000109769747457066
+0.95,0.00009006456024225406,0.00009006456024225406,0.0002099354397577461,0.0001099354397577459
+1.,0.0000899157608037785,0.0000899157608037785,0.0002100842391962216,0.0001100842391962215
+1.05,0.00008978212197544293,0.00008978212197544293,0.0002102178780245572,0.000110217878024557
+1.1,0.00008966209112051003,0.00008966209112051003,0.0002103379088794901,0.0001103379088794899
+1.15,0.00008955427612480443,0.00008955427612480443,0.0002104457238751957,0.0001104457238751955
+1.2,0.00008945742853027119,0.00008945742853027119,0.0002105425714697289,0.0001105425714697288
+1.25,0.00008937042847232368,0.00008937042847232368,0.0002106295715276765,0.0001106295715276763
+1.3,0.00008929227124217369,0.00008929227124217369,0.0002107077287578264,0.0001107077287578263
+1.35,0.00008922205529019385,0.00008922205529019385,0.0002107779447098063,0.0001107779447098061
+1.4,0.00008915897150878656,0.00008915897150878656,0.0002108410284912136,0.0001108410284912134
+1.45,0.0000891022936526405,0.0000891022936526405,0.0002108977063473596,0.0001108977063473595
+1.5,0.0000890513697676157,0.0000890513697676157,0.0002109486302323844,0.0001109486302323843
+1.55,0.00008900561453869841,0.00008900561453869841,0.0002109943854613017,0.0001109943854613015
+1.6,0.00008896450241029446,0.00008896450241029446,0.0002110354975897057,0.0001110354975897055
+1.65,0.00008892756145115164,0.00008892756145115164,0.0002110724385488485,0.0001110724385488483
+1.7,0.00008889436785188132,0.00008889436785188132,0.0002111056321481188,0.0001111056321481186
+1.75,0.00008886454098205454,0.00008886454098205454,0.0002111354590179456,0.0001111354590179454
+1.8,0.000088837738966932,0.000088837738966932,0.0002111622610330681,0.000111162261033068
+1.85,0.00008881365472332338,0.00008881365472332338,0.0002111863452766767,0.0001111863452766766
+1.9,0.00008879201240439325,0.00008879201240439325,0.0002112079875956069,0.0001112079875956067
+1.95,0.00008877256418810459,0.00008877256418810459,0.0002112274358118955,0.0001112274358118954
+2.,0.00008875508750772273,0.00008875508750772273,0.0002112449124922774,0.0001112449124922772
+2.05,0.00008873938234168529,0.00008873938234168529,0.0002112606176583148,0.0001112606176583147
+2.1,0.00008872526901018729,0.00008872526901018729,0.0002112747309898128,0.0001112747309898127
+2.15,0.00008871258607921388,0.00008871258607921388,0.0002112874139207862,0.0001112874139207861
+2.2,0.00008870118850364647,0.00008870118850364647,0.0002112988114963536,0.0001112988114963535
+2.25,0.00008869094596013268,0.00008869094596013268,0.0002113090540398674,0.0001113090540398673
+2.3,0.00008868174135018246,0.00008868174135018246,0.0002113182586498177,0.0001113182586498175
+2.35,0.00008867346945598279,0.00008867346945598279,0.0002113265305440173,0.0001113265305440172
+2.4,0.00008866603573247522,0.00008866603573247522,0.0002113339642675249,0.0001113339642675247
+2.45,0.00008865935522925674,0.00008865935522925674,0.0002113406447707434,0.0001113406447707432
+2.5,0.00008865335160035238,0.00008865335160035238,0.0002113466483996477,0.0001113466483996476
diff --git a/models/sbml-test-suite/cases/semantic/00050/00050-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00050/00050-sbml-l2v4.xml
new file mode 100644
index 0000000..9c83427
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00050/00050-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00050" id="case00050" name="case00050">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00050/00050-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00050/00050-sbml-l3v1.xml
new file mode 100644
index 0000000..b2d2f62
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00050/00050-sbml-l3v1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00050" id="case00050" name="case00050" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00050/00050-settings.txt b/models/sbml-test-suite/cases/semantic/00050/00050-settings.txt
new file mode 100644
index 0000000..a8bef47
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00050/00050-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00051/00051-results.csv b/models/sbml-test-suite/cases/semantic/00051/00051-results.csv
new file mode 100644
index 0000000..35046f2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00051/00051-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,C
+0,1.5000000000,0.0000000000,1.0000000000
+0.12,1.3464413766,0.1535586234,0.9880717129
+0.24,1.2086029468,0.2913970532,0.9762857098
+0.36,1.0848753380,0.4151246620,0.9646402935
+0.48,0.9738139897,0.5261860103,0.9531337871
+0.6,0.8741223784,0.6258776216,0.9417645336
+0.72,0.7846362551,0.7153637449,0.9305308958
+0.84,0.7043112699,0.7956887301,0.9194312561
+0.96,0.6322090893,0.8677909107,0.9084640161
+1.08,0.5674884455,0.9325115545,0.8976275964
+1.2,0.5093932102,0.9906067898,0.8869204367
+1.32,0.4572454628,1.0427545372,0.8763409951
+1.44,0.4104361254,1.0895638746,0.8658877481
+1.56,0.3684188010,1.1315811990,0.8555591904
+1.68,0.3307029052,1.1692970948,0.8453538347
+1.8,0.2968480272,1.2031519728,0.8352702114
+1.92,0.2664590285,1.2335409715,0.8253068685
+2.04,0.2391809322,1.2608190678,0.8154623712
+2.16,0.2146954606,1.2853045394,0.8057353019
+2.28,0.1927165219,1.3072834781,0.7961242598
+2.4,0.1729877176,1.3270122824,0.7866278611
+2.52,0.1552785092,1.3447214908,0.7772447381
+2.64,0.1393823114,1.3606176886,0.7679735397
+2.76,0.1251133827,1.3748866173,0.7588129308
+2.88,0.1123052471,1.3876947529,0.7497615922
+3,0.1008082762,1.3991917238,0.7408182207
+3.12,0.0904882999,1.4095117001,0.7319815282
+3.24,0.0812247937,1.4187752063,0.7232502424
+3.36,0.0729096157,1.4270903843,0.7146231058
+3.48,0.0654456896,1.4345543104,0.7060988762
+3.6,0.0587458500,1.4412541500,0.6976763261
+3.72,0.0527319069,1.4472680931,0.6893542425
+3.84,0.0473336049,1.4526663951,0.6811314272
+3.96,0.0424879615,1.4575120385,0.6730066959
+4.08,0.0381383569,1.4618616431,0.6649788788
+4.2,0.0342340513,1.4657659487,0.6570468198
+4.32,0.0307294215,1.4692705785,0.6492093767
+4.44,0.0275835836,1.4724164164,0.6414654208
+4.56,0.0247597811,1.4752402189,0.6338138371
+4.68,0.0222250666,1.4777749334,0.6262535237
+4.8,0.0199498312,1.4800501688,0.6187833918
+4.92,0.0179075203,1.4820924797,0.6114023658
+5.04,0.0160742847,1.4839257153,0.6041093829
+5.16,0.0144287209,1.4855712791,0.5969033927
+5.28,0.0129516198,1.4870483802,0.5897833576
+5.4,0.0116257296,1.4883742704,0.5827482524
+5.52,0.0104355781,1.4895644219,0.5757970639
+5.64,0.0093672607,1.4906327393,0.5689287912
+5.76,0.0084083141,1.4915916859,0.5621424452
+5.88,0.0075475334,1.4924524666,0.5554370487
+6,0.0067748756,1.4932251244,0.5488116361
diff --git a/models/sbml-test-suite/cases/semantic/00051/00051-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00051/00051-sbml-l1v2.xml
new file mode 100644
index 0000000..604c913
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00051/00051-sbml-l1v2.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00051">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.9"/>
+      <parameter name="p1" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="-1 * C * p1" type="rate" compartment="C"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00051/00051-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00051/00051-sbml-l2v4.xml
new file mode 100644
index 0000000..657fe50
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00051/00051-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00051" id="case00051" name="case00051">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00051/00051-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00051/00051-sbml-l3v1.xml
new file mode 100644
index 0000000..cd38ba2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00051/00051-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00051" id="case00051" name="case00051" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00051/00051-settings.txt b/models/sbml-test-suite/cases/semantic/00051/00051-settings.txt
new file mode 100644
index 0000000..19939a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00051/00051-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, C
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, C
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00052/00052-results.csv b/models/sbml-test-suite/cases/semantic/00052/00052-results.csv
new file mode 100644
index 0000000..2927724
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00052/00052-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,C
+0,1,2,1,1
+0.1,0.8884766656,1.8884766656,1.1115233344,0.9900498337
+0.2,0.7992514430,1.7992514430,1.2007485570,0.9801986733
+0.3,0.7269596366,1.7269596366,1.2730403634,0.9704455335
+0.4,0.6677757943,1.6677757943,1.3322242057,0.9607894392
+0.5,0.6188985426,1.6188985426,1.3811014574,0.9512294245
+0.6,0.5782299513,1.5782299513,1.4217700487,0.9417645336
+0.7,0.5441690663,1.5441690663,1.4558309337,0.9323938199
+0.8,0.5154743186,1.5154743186,1.4845256814,0.9231163464
+0.9,0.4911691743,1.4911691743,1.5088308257,0.9139311853
+1,0.4704762513,1.4704762513,1.5295237487,0.9048374180
+1.1,0.4527711037,1.4527711037,1.5472288963,0.8958341353
+1.2,0.4375472504,1.4375472504,1.5624527496,0.8869204367
+1.3,0.4243907916,1.4243907916,1.5756092084,0.8780954309
+1.4,0.4129620996,1.4129620996,1.5870379004,0.8693582354
+1.5,0.4029800832,1.4029800832,1.5970199168,0.8607079764
+1.6,0.3942119661,1.3942119661,1.6057880339,0.8521437890
+1.7,0.3864637222,1.3864637222,1.6135362778,0.8436648166
+1.8,0.3795733832,1.3795733832,1.6204266168,0.8352702114
+1.9,0.3734054839,1.3734054839,1.6265945161,0.8269591339
+2,0.3678462756,1.3678462756,1.6321537244,0.8187307531
+2.1,0.3628004397,1.3628004397,1.6371995603,0.8105842460
+2.2,0.3581876907,1.3581876907,1.6418123093,0.8025187980
+2.3,0.3539406050,1.3539406050,1.6460593950,0.7945336025
+2.4,0.3500024430,1.3500024430,1.6499975570,0.7866278611
+2.5,0.3463253178,1.3463253178,1.6536746822,0.7788007831
+2.6,0.3428692027,1.3428692027,1.6571307973,0.7710515858
+2.7,0.3396000129,1.3396000129,1.6603999871,0.7633794943
+2.8,0.3364895237,1.3364895237,1.6635104763,0.7557837415
+2.9,0.3335136355,1.3335136355,1.6664863645,0.7482635676
+3,0.3306522608,1.3306522608,1.6693477392,0.7408182207
+3.1,0.3278886176,1.3278886176,1.6721113824,0.7334469562
+3.2,0.3252083319,1.3252083319,1.6747916681,0.7261490371
+3.3,0.3225996656,1.3225996656,1.6774003344,0.7189237334
+3.4,0.3200526594,1.3200526594,1.6799473406,0.7117703228
+3.5,0.3175588312,1.3175588312,1.6824411688,0.7046880897
+3.6,0.3151113460,1.3151113460,1.6848886540,0.6976763260
+3.7,0.3127043753,1.3127043753,1.6872956247,0.6907343306
+3.8,0.3103329382,1.3103329382,1.6896670618,0.6838614092
+3.9,0.3079930578,1.3079930578,1.6920069422,0.6770568745
+4,0.3056813912,1.3056813912,1.6943186088,0.6703200460
+4.1,0.3033950586,1.3033950586,1.6966049414,0.6636502501
+4.2,0.3011317134,1.3011317134,1.6988682866,0.6570468198
+4.3,0.2988894485,1.2988894485,1.7011105515,0.6505090947
+4.4,0.2966666404,1.2966666404,1.7033333596,0.6440364210
+4.5,0.2944619395,1.2944619395,1.7055380605,0.6376281516
+4.6,0.2922743162,1.2922743161,1.7077256838,0.6312836455
+4.7,0.2901027604,1.2901027604,1.7098972396,0.6250022683
+4.8,0.2879464143,1.2879464142,1.7120535857,0.6187833918
+4.9,0.2858046574,1.2858046574,1.7141953426,0.6126263942
+5,0.2836770960,1.2836770960,1.7163229040,0.6065306597
diff --git a/models/sbml-test-suite/cases/semantic/00052/00052-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00052/00052-sbml-l1v2.xml
new file mode 100644
index 0000000..0ba7dfa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00052/00052-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00052">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="2" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="p1" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="-1 * C * p1" type="rate" compartment="C"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00052/00052-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00052/00052-sbml-l2v4.xml
new file mode 100644
index 0000000..3dc97bf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00052/00052-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00052" id="case00052" name="case00052">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00052/00052-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00052/00052-sbml-l3v1.xml
new file mode 100644
index 0000000..be56655
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00052/00052-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00052" id="case00052" name="case00052" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00052/00052-settings.txt b/models/sbml-test-suite/cases/semantic/00052/00052-settings.txt
new file mode 100644
index 0000000..9317df8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00052/00052-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, C
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, C
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00053/00053-results.csv b/models/sbml-test-suite/cases/semantic/00053/00053-results.csv
new file mode 100644
index 0000000..cc216ec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00053/00053-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,C
+0,1,1.5,2,1,1
+0.04,0.9762188960,1.4762188960,2.0237811040,1.0237811040,0.9960079893
+0.08,0.9547108935,1.4547108935,2.0452891065,1.0452891065,0.9920319148
+0.12,0.9352505187,1.4352505187,2.0647494813,1.0647494813,0.9880717129
+0.16,0.9176359669,1.4176359669,2.0823640331,1.0823640331,0.9841273201
+0.2,0.9016870771,1.4016870771,2.0983129229,1.0983129229,0.9801986733
+0.24,0.8872434491,1.3872434491,2.1127565509,1.1127565509,0.9762857098
+0.28,0.8741602897,1.3741602897,2.1258397103,1.1258397103,0.9723883668
+0.32,0.8623079232,1.3623079232,2.1376920768,1.1376920768,0.9685065821
+0.36,0.8515701059,1.3515701059,2.1484298941,1.1484298941,0.9646402935
+0.4,0.8418413260,1.3418413260,2.1581586740,1.1581586740,0.9607894392
+0.44,0.8330268304,1.3330268304,2.1669731696,1.1669731696,0.9569539575
+0.48,0.8250413691,1.3250413691,2.1749586309,1.1749586309,0.9531337871
+0.52,0.8178072184,1.3178072184,2.1821927816,1.1821927816,0.9493288668
+0.56,0.8112543228,1.3112543228,2.1887456772,1.1887456772,0.9455391359
+0.6,0.8053196697,1.3053196697,2.1946803303,1.1946803303,0.9417645336
+0.64,0.7999456148,1.2999456148,2.2000543852,1.2000543852,0.9380049995
+0.68,0.7950798794,1.2950798794,2.2049201206,1.2049201206,0.9342604736
+0.72,0.7906756201,1.2906756201,2.2093243799,1.2093243799,0.9305308958
+0.76,0.7866899603,1.2866899603,2.2133100397,1.2133100397,0.9268162066
+0.8,0.7830837035,1.2830837035,2.2169162965,1.2169162965,0.9231163464
+0.84,0.7798217360,1.2798217360,2.2201782640,1.2201782640,0.9194312561
+0.88,0.7768721841,1.2768721841,2.2231278159,1.2231278159,0.9157608767
+0.92,0.7742057337,1.2742057337,2.2257942663,1.2257942663,0.9121051495
+0.96,0.7717957767,1.2717957767,2.2282042233,1.2282042233,0.9084640161
+1,0.7696185785,1.2696185785,2.2303814215,1.2303814215,0.9048374180
+1.04,0.7676523507,1.2676523507,2.2323476493,1.2323476493,0.9012252974
+1.08,0.7658770521,1.2658770521,2.2341229479,1.2341229479,0.8976275964
+1.12,0.7642746381,1.2642746381,2.2357253619,1.2357253619,0.8940442575
+1.16,0.7628290056,1.2628290056,2.2371709944,1.2371709944,0.8904752233
+1.2,0.7615253066,1.2615253066,2.2384746934,1.2384746934,0.8869204367
+1.24,0.7603498697,1.2603498697,2.2396501303,1.2396501303,0.8833798409
+1.28,0.7592904169,1.2592904169,2.2407095831,1.2407095831,0.8798533791
+1.32,0.7583360617,1.2583360617,2.2416639383,1.2416639383,0.8763409951
+1.36,0.7574767548,1.2574767548,2.2425232452,1.2425232452,0.8728426325
+1.4,0.7567032191,1.2567032191,2.2432967809,1.2432967809,0.8693582354
+1.44,0.7560070457,1.2560070457,2.2439929543,1.2439929543,0.8658877481
+1.48,0.7553808989,1.2553808989,2.2446191011,1.2446191011,0.8624311149
+1.52,0.7548180563,1.2548180563,2.2451819437,1.2451819437,0.8589882807
+1.56,0.7543122879,1.2543122879,2.2456877121,1.2456877121,0.8555591904
+1.6,0.7538578561,1.2538578561,2.2461421439,1.2461421439,0.8521437890
+1.64,0.7534497197,1.2534497197,2.2465502803,1.2465502803,0.8487420219
+1.68,0.7530834516,1.2530834516,2.2469165484,1.2469165484,0.8453538347
+1.72,0.7527549405,1.2527549405,2.2472450595,1.2472450595,0.8419791732
+1.76,0.7524603706,1.2524603706,2.2475396294,1.2475396294,0.8386179833
+1.8,0.7521962352,1.2521962352,2.2478037648,1.2478037648,0.8352702114
+1.84,0.7519595202,1.2519595202,2.2480404798,1.2480404798,0.8319358038
+1.88,0.7517475627,1.2517475627,2.2482524373,1.2482524373,0.8286147072
+1.92,0.7515578834,1.2515578834,2.2484421166,1.2484421166,0.8253068685
+1.96,0.7513881812,1.2513881812,2.2486118188,1.2486118188,0.8220122347
+2,0.7512363555,1.2512363555,2.2487636445,1.2487636445,0.8187307531
diff --git a/models/sbml-test-suite/cases/semantic/00053/00053-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00053/00053-sbml-l1v2.xml
new file mode 100644
index 0000000..93a0454
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00053/00053-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00053">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="2" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="p1" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="-1 * C * p1" type="rate" compartment="C"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00053/00053-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00053/00053-sbml-l2v4.xml
new file mode 100644
index 0000000..057ca3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00053/00053-sbml-l2v4.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00053" id="case00053" name="case00053">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00053/00053-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00053/00053-sbml-l3v1.xml
new file mode 100644
index 0000000..d9dfc83
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00053/00053-sbml-l3v1.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00053" id="case00053" name="case00053" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00053/00053-settings.txt b/models/sbml-test-suite/cases/semantic/00053/00053-settings.txt
new file mode 100644
index 0000000..fc13d99
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00053/00053-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4, C
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4, C
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00054/00054-results.csv b/models/sbml-test-suite/cases/semantic/00054/00054-results.csv
new file mode 100644
index 0000000..3795720
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00054/00054-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.,0
+0.2,0.8545116421896971,1.094349434867706,0.0511389229425955
+0.4,0.7206278488413399,1.175305106192761,0.1040670449658973
+0.6,0.6010674407660164,1.240942599572447,0.1579899596615349
+0.8,0.4970183403290728,1.290884675384844,0.212096984286081
+1.,0.4083745161832901,1.325994791611734,0.265630692204974
+1.2,0.3341155469390854,1.347949954745231,0.3179344983156817
+1.4,0.272694919541516,1.358828068096968,0.3684770123615139
+1.6,0.2223570077770742,1.360785872430616,0.4168571197923081
+1.8,0.1813560541831919,1.355848095251937,0.4627958505648693
+2.,0.1480848034665973,1.345794345250848,0.5061208512825532
+2.2,0.1211348788738203,1.33211714960952,0.5467479715166584
+2.4,0.09931238371036356,1.316024725004807,0.5846628912848278
+2.6,0.08162781275162951,1.298467741904044,0.6199044453443255
+2.8,0.06727349983883411,1.280176145900419,0.652550354260745
+3.,0.05559683889653904,1.261697647856399,0.6827055132470608
+3.2,0.0460738804024662,1.243433444036523,0.7104926755610087
+3.4,0.03828549425335121,1.225669285870276,0.7360452198763716
+3.6,0.03189695162590554,1.208601388655244,0.7595016597188484
+3.8,0.02664094885031378,1.192357488867614,0.7810015622820699
+4.,0.02230382377471794,1.17701359012775,0.8006825860975304
+4.2,0.01871449594028731,1.162607117789731,0.8186783862699806
+4.4,0.01573564771472331,1.149147160425056,0.8351171918602193
+4.6,0.01325675856027309,1.136622350099999,0.8501208913397267
+4.8,0.01118861138260501,1.125006891525885,0.8638044970915084
+5.,0.009458953234124847,1.114265150960945,0.8762758958049286
+5.2,0.008009075626262034,1.104355117453637,0.8876358069200995
+5.4,0.006791119870345013,1.095230993483321,0.8979778866463327
+5.6,0.005765945497131551,1.086845118994649,0.9073889355082183
+5.8,0.004901434246256687,1.079149382546575,0.9159491832071673
+6.,0.004171151471798588,1.072096239671702,0.9237326088564986
+6.2,0.0035532729392181,1.065639433234182,0.9308072938265988
+6.4,0.003029727783923451,1.059734486280199,0.9372357859358763
+6.6,0.002585511579317234,1.054339023963551,0.9430754644571309
+6.8,0.002208133464119083,1.049412967464709,0.9483788990711709
+7.,0.001887169037824219,1.044918631943717,0.953194199018458
+7.2,0.001613897607580474,1.040820753156728,0.9575653492356909
+7.4,0.001381007708115122,1.037086463510941,0.9615325287809424
+7.6,0.0011823566368014,1.033685231375225,0.9651324119879725
+7.8,0.001012773608033861,1.03058877510799,0.9683984512839749
+8.,0.0008678981288873261,1.027770960415306,0.9713611414558051
+8.2,0.0007440468255732901,1.025207687278339,0.9740482658960861
+8.4,0.0006381034301407493,1.022876771391985,0.9764851251778727
+8.6,0.0005474276455848171,1.0207578236996,0.9786947486548141
+8.8,0.0004697794539116533,1.018832130697244,0.9806980898488434
+9.,0.0004032560953891281,1.017082537444007,0.9825142064606025
+9.2,0.0003462394382999299,1.015493334426803,0.9841604261348952
+9.4,0.0002973519746999921,1.014050149467981,0.985652498557317
+9.6,0.0002554199055239301,1.012739844978499,0.9870047351159755
+9.8,0.0002194421317241591,1.011550421016374,0.9882301368519003
+10.,0.0001885641619698101,1.010470924334414,0.9893405115036146
diff --git a/models/sbml-test-suite/cases/semantic/00054/00054-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00054/00054-sbml-l1v2.xml
new file mode 100644
index 0000000..3963adf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00054/00054-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00054">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S2 + -1 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00054/00054-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00054/00054-sbml-l2v4.xml
new file mode 100644
index 0000000..57e74e0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00054/00054-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00054" id="case00054" name="case00054">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00054/00054-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00054/00054-sbml-l3v1.xml
new file mode 100644
index 0000000..289f4c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00054/00054-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00054" id="case00054" name="case00054" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00054/00054-settings.txt b/models/sbml-test-suite/cases/semantic/00054/00054-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00054/00054-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00055/00055-results.csv b/models/sbml-test-suite/cases/semantic/00055/00055-results.csv
new file mode 100644
index 0000000..803705f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00055/00055-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,1.,0,0.1
+0.16,0.9168569277838017,0.6000768626504221,0.4791414256442691,0.1039247839215058
+0.32,0.8546333228659704,0.5857703440668562,0.5489550463715684,0.110641286695604
+0.48,0.7956522106834803,0.607248528042342,0.578701079022463,0.118398182251714
+0.64,0.7386849550682197,0.6308035432604188,0.6034078641381798,0.1271036375331811
+0.8,0.6839083305759893,0.6530467633006168,0.6262069963062501,0.1368379098171428
+0.96,0.6315720040977767,0.6735042037746417,0.6472181882548948,0.1477056038726861
+1.12,0.5818782933515416,0.6920022588411508,0.6662988036769399,0.1598206441303666
+1.28,0.5349721641808066,0.7084186016714628,0.6833047926039664,0.1733044415437632
+1.44,0.4909429773754813,0.7226571254141516,0.698114762103167,0.1882851351071992
+1.6,0.4498288220209162,0.7346435667980966,0.7106309850535679,0.2048966261274184
+1.76,0.4116221592509474,0.7443228171376553,0.7207778069215277,0.2232772166898686
+1.92,0.3762762139858894,0.7516563775679606,0.728499633806505,0.2435677746396439
+2.08,0.3437116644268027,0.7566200294779325,0.7337589422553204,0.2659093638399433
+2.24,0.3138232608870123,0.7592018988758969,0.7365345489832371,0.2904402912538527
+2.4,0.2864860910966188,0.7594010555864183,0.7368203117538605,0.3172925415631016
+2.56,0.2615612974044432,0.7572267323886128,0.7346243686533283,0.3465876015536152
+2.72,0.2389011227356933,0.7526981983281828,0.729968965427578,0.3784317135085454
+2.88,0.2183532330883643,0.7458452634436385,0.7228908524341612,0.4129106510338353
+3.04,0.199764311105142,0.7367093445287801,0.7134421768002019,0.4500841675658754
+3.2,0.1829829541894543,0.725344973171017,0.7016917385879412,0.4899803340515867
+3.36,0.1678619334910339,0.7118215823654041,0.6877264297556218,0.5325900543879397
+3.52,0.1542598872190964,0.6962253803293221,0.6716526477952694,0.5778620846563116
+3.68,0.1420425237994117,0.6786610828196484,0.6535974404885682,0.6256989528923707
+3.84,0.1310834138556781,0.6592532747722521,0.6337091492153994,0.6759541621566695
+4.,0.1212644441370506,0.638147172736052,0.6121573313740102,0.728431051752886
+4.16,0.1124760006887528,0.6155085893762105,0.5891317893026858,0.7828836206323497
+4.32,0.1046169405401425,0.5915229502785363,0.5648405991985029,0.8390195099828174
+4.48,0.09759440288559384,0.5663932827951041,0.5395071180409047,0.8965051962783963
+4.64,0.09132350274763186,0.540337181441337,0.5133660409923327,0.9549732748186976
+4.8,0.08572694252783509,0.5135828453631646,0.4866586747182771,1.014031537390722
+4.96,0.08073457009130023,0.4863643706874451,0.459627672271031,1.073273386950222
+5.12,0.07628290600368925,0.458916553210999,0.4325115320325821,1.132289008752729
+5.28,0.07231465779517505,0.4314695052101337,0.405539188522707,1.190676648471983
+5.44,0.06877823461467613,0.4042434074609302,0.3789250139801297,1.248053343944263
+5.6,0.06562727229033216,0.377443702911745,0.3528645088412497,1.304064515956672
+5.76,0.06282017623815895,0.3512569923877283,0.327530891164688,1.358391940209424
+5.92,0.06031968691038397,0.3258478269524358,0.3030727150157191,1.41075977112146
+6.08,0.05809247125724507,0.301356508977451,0.279612558823996,1.460938460941307
+6.24,0.05610874186677274,0.2778979327828026,0.257246746370269,1.508746578980155
+6.4,0.05434190458183297,0.2555614191696642,0.2360459959642182,1.554050680284284
+6.56,0.05276823470550485,0.2344114352641816,0.2160568449941988,1.596763485036114
+6.72,0.05136658051284996,0.2144890556019939,0.1973036775290493,1.636840686356106
+6.88,0.05011809414012494,0.1958139806622137,0.1797911600147493,1.674276765182911
+7.04,0.04900598716260836,0.1783869465005089,0.1635069201589362,1.709100146177946
+7.2,0.04801531010324373,0.1621923491085206,0.1484243058189508,1.741368034969284
+7.36,0.04713275392625004,0.1472009371178772,0.1345050972433275,1.771161211712545
+7.52,0.04634647175444837,0.1333724505975661,0.1217020736926459,1.798579003955339
+7.68,0.04564591918030812,0.120658111457017,0.1099613641041856,1.823734605258488
+7.84,0.04502171143856329,0.1090029002711426,0.0992245390855864,1.846750849204707
+8.,0.04446549586381162,0.09834757899966618,0.08943042343039783,1.867756501706124
diff --git a/models/sbml-test-suite/cases/semantic/00055/00055-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00055/00055-sbml-l1v2.xml
new file mode 100644
index 0000000..7c798a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00055/00055-sbml-l1v2.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00055">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="compartment1" initialAmount="0.1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="7.5"/>
+      <parameter name="k3" value="0.75"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S2 + -1 * S3)"/>
+      </reaction>
+      <reaction name="reaction3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k3 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00055/00055-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00055/00055-sbml-l2v4.xml
new file mode 100644
index 0000000..abda165
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00055/00055-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00055" id="case00055" name="case00055">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="7.5"/>
+      <parameter id="k3" name="k3" value="0.75"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00055/00055-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00055/00055-sbml-l3v1.xml
new file mode 100644
index 0000000..c940318
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00055/00055-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00055" id="case00055" name="case00055" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="7.5" constant="true"/>
+      <parameter id="k3" name="k3" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00055/00055-settings.txt b/models/sbml-test-suite/cases/semantic/00055/00055-settings.txt
new file mode 100644
index 0000000..95e6115
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00055/00055-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00056/00056-results.csv b/models/sbml-test-suite/cases/semantic/00056/00056-results.csv
new file mode 100644
index 0000000..67997fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00056/00056-results.csv
@@ -0,0 +1,52 @@
+time,S1,S3
+0,1.,0
+0.1,0.9059975214227116,0.09400247857728859
+0.2,0.8230406258575571,0.1769593741424432
+0.3,0.749831417845986,0.2501685821540142
+0.4,0.6852245273338708,0.3147754726661293
+0.5,0.6282091408343498,0.3717908591656502
+0.6,0.5778932236160496,0.4221067763839504
+0.7,0.5334896101178051,0.466510389882195
+0.8,0.4943035526566229,0.5056964473433773
+0.9,0.4597219662763589,0.5402780337236413
+1.,0.4292038245330994,0.5707961754669008
+1.1,0.4022716657817301,0.5977283342182701
+1.2,0.3785041262694676,0.6214958737305327
+1.3,0.3575293197835072,0.642470680216493
+1.4,0.3390191416998285,0.6609808583001717
+1.5,0.3226839681507816,0.6773160318492186
+1.6,0.3082682094962556,0.6917317905037446
+1.7,0.2955463743875845,0.7044536256124157
+1.8,0.2843193676977128,0.7156806323022872
+1.9,0.2744115857111025,0.7255884142888976
+2.,0.2656679949201993,0.7343320050798007
+2.1,0.257951796880444,0.7420482031195561
+2.2,0.2511422889619022,0.7488577110380978
+2.3,0.2451329047675662,0.7548670952324338
+2.4,0.2398296523877353,0.7601703476122648
+2.5,0.2351495432759342,0.7648504567240659
+2.6,0.2310193585776437,0.7689806414223565
+2.7,0.2273744902392763,0.7726255097607238
+2.8,0.2241579067252131,0.775842093274787
+2.9,0.2213192749149221,0.778680725085078
+3.,0.2188141919645028,0.7811858080354973
+3.1,0.2166034682093493,0.7833965317906507
+3.2,0.214652511045503,0.7853474889544971
+3.3,0.2129307933852048,0.7870692066147954
+3.4,0.2114113841912606,0.7885886158087395
+3.5,0.2100705126466335,0.7899294873533667
+3.6,0.2088871971668756,0.7911128028331245
+3.7,0.2078429226422461,0.792157077357754
+3.8,0.2069213543818581,0.793078645618142
+3.9,0.2061080746795249,0.7938919253204752
+4.,0.2053903575605491,0.794609642439451
+4.1,0.2047569730441992,0.7952430269558008
+4.2,0.2041980136396187,0.7958019863603813
+4.3,0.2037047345655623,0.7962952654344378
+4.4,0.2032694171270742,0.7967305828729259
+4.5,0.2028852499981949,0.7971147500018052
+4.6,0.2025462239824446,0.7974537760175555
+4.7,0.2022470351006097,0.7977529648993902
+4.8,0.2019830017268032,0.7980169982731968
+4.9,0.2017499927510556,0.7982500072489444
+5.,0.2015443633090342,0.7984556366909658
diff --git a/models/sbml-test-suite/cases/semantic/00056/00056-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00056/00056-sbml-l1v2.xml
new file mode 100644
index 0000000..6e102a0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00056/00056-sbml-l1v2.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00056">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance" boundaryCondition="false"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance" boundaryCondition="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S3 + -1 * S1)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00056/00056-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00056/00056-sbml-l2v4.xml
new file mode 100644
index 0000000..ed9ffb9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00056/00056-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00056" id="case00056" name="case00056">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S3 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00056/00056-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00056/00056-sbml-l3v1.xml
new file mode 100644
index 0000000..73201fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00056/00056-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00056" id="case00056" name="case00056" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S3 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00056/00056-settings.txt b/models/sbml-test-suite/cases/semantic/00056/00056-settings.txt
new file mode 100644
index 0000000..f36db12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00056/00056-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00057/00057-results.csv b/models/sbml-test-suite/cases/semantic/00057/00057-results.csv
new file mode 100644
index 0000000..7fdd220
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00057/00057-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0003,0,0
+0.1,0.0002714512254107643,0.00002583199948770478,2.71677510153098e-6
+0.2,0.000245619225923318,0.00004452321211359072,9.857561963091391e-6
+0.3,0.0002222454662044993,0.00005760197537637732,0.00002015255841912358
+0.4,0.0002010960138106981,0.00006629732457526539,0.00003260666161403672
+0.5,0.0001819591979136104,0.00007159536556360122,0.00004644543652278861
+0.6,0.0001646434908280482,0.00007428522725532528,0.00006107128191662663
+0.7,0.0001489755911371703,0.00007499650195609019,0.00007602790690673963
+0.8,0.0001347986892348828,0.00007422973383775961,0.00009097157692735763
+0.9,0.0001219708979219134,0.0000723812314563207,0.0001056478706217659
+1.,0.0001103638323511286,0.00006976324738105611,0.0001198729202678153
+1.1,0.00009986132510914512,0.00006662037760096923,0.0001335182972898856
+1.2,0.00009035826357364681,0.00006314287758590473,0.0001464988588404485
+1.3,0.00008175953791023388,0.00005947746444483443,0.0001587629976449317
+1.4,0.00007397908918247083,0.00005573607039401397,0.0001702848404235151
+1.5,0.00006693904804455724,0.00005200292753315323,0.0001810580244222894
+1.6,0.00006056895539820716,0.00004834029420439219,0.0001910907503974005
+1.7,0.00005480505721564335,0.00004479307622719349,0.000200401866557163
+1.8,0.00004958966646650812,0.00004139254973142655,0.0002090177838020652
+1.9,0.00004487058576688912,0.00003815935420902786,0.0002169700600240829
+2.,0.00004060058497084382,0.00003510589330378466,0.0002242935217253714
+2.1,0.00003673692847578171,0.0000322382554291641,0.0002310248160950541
+2.2,0.00003324094750881306,0.00002955774553705127,0.0002372013069541355
+2.3,0.00003007765311684035,0.00002706210239286244,0.000242860244490297
+2.4,0.0000272153859867076,0.00002474646187160947,0.0002480381521416827
+2.5,0.00002462549958700959,0.00002260411548697108,0.0002527703849260189
+2.6,0.00002228207346418242,0.00002062710413761349,0.0002570908223982038
+2.7,0.00002016165382190702,0.00001880667953870605,0.0002610316666393869
+2.8,0.00001824301878769236,0.00001713365967221606,0.0002646233215400916
+2.9,0.0000165069660170495,0.0000155986995929438,0.0002678943343900068
+3.,0.00001493612051048485,0.00001419249485703459,0.0002708713846324806
+3.1,0.00001351476071818985,0.0000129059315268946,0.0002735793077549156
+3.2,0.00001222866119335048,0.00001173019401120569,0.0002760411447954439
+3.3,0.00001106495022025635,0.00001065683980878265,0.0002782782099709611
+3.4,0.00001001198098802117,9.677848443452958e-6,0.000280310170568526
+3.5,9.059215026843491e-6,8.7856504368686e-6,0.0002821551345362881
+3.6,8.197116734302593e-6,7.97314099151459e-6,0.000283829742274183
+3.7,7.41705794117233e-6,7.233682112596215e-6,0.0002853492599462317
+3.8,6.711231556879121e-6,6.561096126644267e-6,0.0002867276723164769
+3.9,6.072573433740824e-6,5.949652939872762e-6,0.0002879777736263867
+4.,5.494691666604189e-6,5.394052878081549e-6,0.0002891112554553146
+4.1,4.971802620511139e-6,4.88940654938448e-6,0.0002901387908301047
+4.2,4.498673046137297e-6,4.431212848761486e-6,0.0002910701141051015
+4.3,4.070567703674693e-6,4.015335965462469e-6,0.0002919140963308631
+4.4,3.683201970960815e-6,3.637982048328919e-6,0.0002926788159807106
+4.5,3.332698961540423e-6,3.295676020219208e-6,0.0002933716250182408
+4.6,3.015550723483148e-6,2.985238902844767e-6,0.0002939992103736725
+4.7,2.72858313062177e-6,2.703765910875726e-6,0.0002945676509585028
+4.8,2.468924114830822e-6,2.448605493813074e-6,0.0002950824703913564
+4.9,2.233974921403539e-6,2.217339441512301e-6,0.0002955486856370844
+5.,2.021384099844981e-6,2.007764120863613e-6,0.0002959708517792916
diff --git a/models/sbml-test-suite/cases/semantic/00057/00057-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00057/00057-sbml-l1v2.xml
new file mode 100644
index 0000000..b24791c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00057/00057-sbml-l1v2.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00057">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0003" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k * S1">
+          <listOfParameters>
+            <parameter name="k" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k * S2">
+          <listOfParameters>
+            <parameter name="k" value="2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00057/00057-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00057/00057-sbml-l2v4.xml
new file mode 100644
index 0000000..65bee37
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00057/00057-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00057" id="case00057" name="case00057">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0003" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00057/00057-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00057/00057-sbml-l3v1.xml
new file mode 100644
index 0000000..25f965a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00057/00057-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00057" id="case00057" name="case00057" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0003" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="2"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00057/00057-settings.txt b/models/sbml-test-suite/cases/semantic/00057/00057-settings.txt
new file mode 100644
index 0000000..53db0cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00057/00057-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00058/00058-results.csv b/models/sbml-test-suite/cases/semantic/00058/00058-results.csv
new file mode 100644
index 0000000..7fdd220
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00058/00058-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0003,0,0
+0.1,0.0002714512254107643,0.00002583199948770478,2.71677510153098e-6
+0.2,0.000245619225923318,0.00004452321211359072,9.857561963091391e-6
+0.3,0.0002222454662044993,0.00005760197537637732,0.00002015255841912358
+0.4,0.0002010960138106981,0.00006629732457526539,0.00003260666161403672
+0.5,0.0001819591979136104,0.00007159536556360122,0.00004644543652278861
+0.6,0.0001646434908280482,0.00007428522725532528,0.00006107128191662663
+0.7,0.0001489755911371703,0.00007499650195609019,0.00007602790690673963
+0.8,0.0001347986892348828,0.00007422973383775961,0.00009097157692735763
+0.9,0.0001219708979219134,0.0000723812314563207,0.0001056478706217659
+1.,0.0001103638323511286,0.00006976324738105611,0.0001198729202678153
+1.1,0.00009986132510914512,0.00006662037760096923,0.0001335182972898856
+1.2,0.00009035826357364681,0.00006314287758590473,0.0001464988588404485
+1.3,0.00008175953791023388,0.00005947746444483443,0.0001587629976449317
+1.4,0.00007397908918247083,0.00005573607039401397,0.0001702848404235151
+1.5,0.00006693904804455724,0.00005200292753315323,0.0001810580244222894
+1.6,0.00006056895539820716,0.00004834029420439219,0.0001910907503974005
+1.7,0.00005480505721564335,0.00004479307622719349,0.000200401866557163
+1.8,0.00004958966646650812,0.00004139254973142655,0.0002090177838020652
+1.9,0.00004487058576688912,0.00003815935420902786,0.0002169700600240829
+2.,0.00004060058497084382,0.00003510589330378466,0.0002242935217253714
+2.1,0.00003673692847578171,0.0000322382554291641,0.0002310248160950541
+2.2,0.00003324094750881306,0.00002955774553705127,0.0002372013069541355
+2.3,0.00003007765311684035,0.00002706210239286244,0.000242860244490297
+2.4,0.0000272153859867076,0.00002474646187160947,0.0002480381521416827
+2.5,0.00002462549958700959,0.00002260411548697108,0.0002527703849260189
+2.6,0.00002228207346418242,0.00002062710413761349,0.0002570908223982038
+2.7,0.00002016165382190702,0.00001880667953870605,0.0002610316666393869
+2.8,0.00001824301878769236,0.00001713365967221606,0.0002646233215400916
+2.9,0.0000165069660170495,0.0000155986995929438,0.0002678943343900068
+3.,0.00001493612051048485,0.00001419249485703459,0.0002708713846324806
+3.1,0.00001351476071818985,0.0000129059315268946,0.0002735793077549156
+3.2,0.00001222866119335048,0.00001173019401120569,0.0002760411447954439
+3.3,0.00001106495022025635,0.00001065683980878265,0.0002782782099709611
+3.4,0.00001001198098802117,9.677848443452958e-6,0.000280310170568526
+3.5,9.059215026843491e-6,8.7856504368686e-6,0.0002821551345362881
+3.6,8.197116734302593e-6,7.97314099151459e-6,0.000283829742274183
+3.7,7.41705794117233e-6,7.233682112596215e-6,0.0002853492599462317
+3.8,6.711231556879121e-6,6.561096126644267e-6,0.0002867276723164769
+3.9,6.072573433740824e-6,5.949652939872762e-6,0.0002879777736263867
+4.,5.494691666604189e-6,5.394052878081549e-6,0.0002891112554553146
+4.1,4.971802620511139e-6,4.88940654938448e-6,0.0002901387908301047
+4.2,4.498673046137297e-6,4.431212848761486e-6,0.0002910701141051015
+4.3,4.070567703674693e-6,4.015335965462469e-6,0.0002919140963308631
+4.4,3.683201970960815e-6,3.637982048328919e-6,0.0002926788159807106
+4.5,3.332698961540423e-6,3.295676020219208e-6,0.0002933716250182408
+4.6,3.015550723483148e-6,2.985238902844767e-6,0.0002939992103736725
+4.7,2.72858313062177e-6,2.703765910875726e-6,0.0002945676509585028
+4.8,2.468924114830822e-6,2.448605493813074e-6,0.0002950824703913564
+4.9,2.233974921403539e-6,2.217339441512301e-6,0.0002955486856370844
+5.,2.021384099844981e-6,2.007764120863613e-6,0.0002959708517792916
diff --git a/models/sbml-test-suite/cases/semantic/00058/00058-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00058/00058-sbml-l1v2.xml
new file mode 100644
index 0000000..1bc968e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00058/00058-sbml-l1v2.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00058">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0003" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k * S2">
+          <listOfParameters>
+            <parameter name="k" value="2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00058/00058-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00058/00058-sbml-l2v4.xml
new file mode 100644
index 0000000..0834799
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00058/00058-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00058" id="case00058" name="case00058">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0003" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00058/00058-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00058/00058-sbml-l3v1.xml
new file mode 100644
index 0000000..f1a64de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00058/00058-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00058" id="case00058" name="case00058" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0003" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="2"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00058/00058-settings.txt b/models/sbml-test-suite/cases/semantic/00058/00058-settings.txt
new file mode 100644
index 0000000..53db0cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00058/00058-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00059/00059-results.csv b/models/sbml-test-suite/cases/semantic/00059/00059-results.csv
new file mode 100644
index 0000000..018601f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00059/00059-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0003,0,0
+0.1,0.000245619225582405,0.00005166399960954946,2.716774808045773e-6
+0.2,0.0002010960137733958,0.00008904642429427576,9.857561932328626e-6
+0.3,0.0001646434886566536,0.0001152039547276628,0.0000201525566156838
+0.4,0.0001347986889904324,0.0001325946495944801,0.00003260666141508764
+0.5,0.0001103638241359258,0.0001431907458686794,0.00004644542999539494
+0.6,0.00009035825875259442,0.0001485704630459845,0.00006107127820142123
+0.7,0.00007397908890358363,0.0001499930043984052,0.00007602790669801139
+0.8,0.00006056895080687855,0.0001484594755834553,0.00009097157360966641
+0.9,0.00004958966492808489,0.0001447624655096847,0.0001056478695622306
+1.,0.0000406005800295965,0.0001395265029678559,0.0001198729170025478
+1.1,0.00003324094741515092,0.0001332407553539371,0.0001335182972309122
+1.2,0.00002721538308615677,0.0001262857597659792,0.0001464988571478643
+1.3,0.00002228207208820834,0.0001189549310185986,0.0001587629968931933
+1.4,0.00001824301800737331,0.0001114721419505362,0.0001702848400420907
+1.5,0.00001493611875644046,0.0001040058575965284,0.0001810580236470314
+1.6,0.00001222866119266618,0.00009668058841092362,0.0001910907503964105
+1.7,0.00001001197984821619,0.00008958615395271321,0.0002004018661990708
+1.8,8.19711633098438e-6,0.00008278509996917932,0.0002090177836998365
+1.9,6.711231187571977e-6,0.00007631870884687056,0.0002169700599655577
+2.,5.494691055598727e-6,0.00007021178726868594,0.0002242935216757156
+2.1,4.498673040347463e-6,0.00006447651086506189,0.0002310248160945909
+2.2,3.683201531495044e-6,0.00005911549145760068,0.0002372013070109045
+2.3,3.015550612258865e-6,0.00005412420487215687,0.0002428602445155845
+2.4,2.468923948532545e-6,0.00004949292384567282,0.0002480381522057949
+2.5,2.02138389113855e-6,0.00004520823107603998,0.0002527703850328218
+2.6,1.654969316327554e-6,0.00004125420827901965,0.0002570908224046531
+2.7,1.354974116401581e-6,0.0000376133591012376,0.0002610316667823612
+2.8,1.109359086878779e-6,0.00003426731934437948,0.000264623321568742
+2.9,9.082663517018003e-7,0.00003119739916586855,0.0002678943344824299
+3.,7.436255833901457e-7,0.00002838498968024295,0.0002708713847363671
+3.1,6.088291827082291e-7,0.00002581186304769722,0.0002735793077695948
+3.2,4.984671200323521e-7,0.00002346038795706608,0.0002760411449229018
+3.3,4.081104050867007e-7,0.00002131367960990346,0.0002782782099850101
+3.4,3.341325142022331e-7,0.00001935569683414716,0.0002803101706516508
+3.5,2.735645670343178e-7,0.00001757130082631205,0.0002821551346066538
+3.6,2.239757373649298e-7,0.00001594628196979023,0.0002838297422928449
+3.7,1.833758056841471e-7,0.00001446736415641274,0.0002853492600379032
+3.8,1.501354289758728e-7,0.00001312219224992214,0.000286727672321102
+3.9,1.229204813826964e-7,0.00001189930582829427,0.0002879777736903231
+4.,1.006387812369949e-7,0.00001078810572248043,0.0002891112554962826
+4.1,8.239606818941693e-8,9.778813083294175e-6,0.0002901387908485164
+4.2,6.746018910645492e-8,8.862425646302508e-6,0.000291070114164591
+4.3,5.523173800497266e-8,8.030671930440056e-6,0.000291914096331555
+4.4,4.521991761592196e-8,7.275964056383692e-6,0.0002926788160260005
+4.5,3.702293906163585e-8,6.591352020693132e-6,0.0002933716250402453
+4.6,3.031181915867321e-8,5.97047779096368e-6,0.0002939992103898778
+4.7,2.481721678896513e-8,5.407531788010504e-6,0.0002945676509952006
+4.8,2.031862094729485e-8,4.897210987513532e-6,0.0002950824703915393
+4.9,1.663547790905336e-8,4.434678854398002e-6,0.0002955486856676931
+5.,1.361997892895116e-8,4.015528241593439e-6,0.0002959708517794777
diff --git a/models/sbml-test-suite/cases/semantic/00059/00059-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00059/00059-sbml-l1v2.xml
new file mode 100644
index 0000000..de75910
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00059/00059-sbml-l1v2.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00059">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0003" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * S1 * S2">
+          <listOfParameters>
+            <parameter name="S1" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00059/00059-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00059/00059-sbml-l2v4.xml
new file mode 100644
index 0000000..d3156f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00059/00059-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00059" id="case00059" name="case00059">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0003" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="S1" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00059/00059-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00059/00059-sbml-l3v1.xml
new file mode 100644
index 0000000..379c290
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00059/00059-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00059" id="case00059" name="case00059" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0003" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="S1" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00059/00059-settings.txt b/models/sbml-test-suite/cases/semantic/00059/00059-settings.txt
new file mode 100644
index 0000000..53db0cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00059/00059-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00060/00060-results.csv b/models/sbml-test-suite/cases/semantic/00060/00060-results.csv
new file mode 100644
index 0000000..9da35da
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00060/00060-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.07,0.001350486783627322,0.0001495132163726771
+0.14,0.001215876367941789,0.0002841236320582098
+0.21,0.001094683298279733,0.000405316701720266
+0.28,0.0009855702229769807,0.0005144297770230189
+0.35,0.0008873330465146263,0.0006126669534853732
+0.42,0.000798887695313261,0.0007011123046867385
+0.49,0.0007192581547299241,0.0007807418452700754
+0.56,0.0006475657829421294,0.0008524342170578701
+0.63,0.000583019325077099,0.0009169806749229005
+0.7,0.0005249066226811803,0.0009750933773188192
+0.77,0.000472586282156046,0.001027413717843953
+0.84,0.000425481032854416,0.001074518967145583
+0.91,0.0003830710007045363,0.001116928999295463
+0.98,0.0003448882266481977,0.001155111773351801
+1.05,0.0003105113013980686,0.00118948869860193
+1.12,0.0002795609312855421,0.001220439068714457
+1.19,0.0002516955829459092,0.00124830441705409
+1.26,0.0002266077088446278,0.001273392291155371
+1.33,0.0002040204591428142,0.001295979540857185
+1.4,0.0001836846234973735,0.001316315376502626
+1.47,0.0001653757860107959,0.001334624213989203
+1.54,0.0001488918708762929,0.001351108129123706
+1.61,0.0001340509923009085,0.00136594900769909
+1.68,0.0001206894003389316,0.001379310599661067
+1.75,0.0001086596355159219,0.001391340364484077
+1.82,0.00009782892769785534,0.001402171072302144
+1.89,0.00008807777797864005,0.001411922222021359
+1.96,0.00007929858874062557,0.001420701411259374
+2.03,0.00007139446758163289,0.001428605532418366
+2.1,0.00006427818429933827,0.001435721815700661
+2.17,0.00005787122433861103,0.001442128775661388
+2.24,0.00005210288690616698,0.001447897113093832
+2.31,0.00004690950702164682,0.001453090492978353
+2.38,0.0000422337758168036,0.001457766224183196
+2.45,0.00003802410452178141,0.001461975895478218
+2.52,0.00003423403685097421,0.001465765963149025
+2.59,0.0000308217416432268,0.001469178258356772
+2.66,0.00002774956781637961,0.00147225043218362
+2.73,0.00002498361752340058,0.001475016382476599
+2.8,0.00002249336523076609,0.001477506634769233
+2.87,0.00002025132680118384,0.001479748673198815
+2.94,0.00001823276527773152,0.001481767234722268
+3.01,0.00001641540687461692,0.001483584593125382
+3.08,0.00001477919396717005,0.001485220806032829
+3.15,0.0000133060695671776,0.001486693930432822
+3.22,0.0000119797805517605,0.001488020219448239
+3.29,0.00001078569115755022,0.001489214308842449
+3.36,9.710622201069345e-6,0.00149028937779893
+3.43,8.742711016705953e-6,0.001491257288983293
+3.5,7.87127759882431e-6,0.001492128722401175
diff --git a/models/sbml-test-suite/cases/semantic/00060/00060-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00060/00060-sbml-l2v4.xml
new file mode 100644
index 0000000..0c886b7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00060/00060-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00060" id="case00060" name="case00060">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00060/00060-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00060/00060-sbml-l3v1.xml
new file mode 100644
index 0000000..aeb5453
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00060/00060-sbml-l3v1.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00060" id="case00060" name="case00060" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00060/00060-settings.txt b/models/sbml-test-suite/cases/semantic/00060/00060-settings.txt
new file mode 100644
index 0000000..9c4188e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00060/00060-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00061/00061-results.csv b/models/sbml-test-suite/cases/semantic/00061/00061-results.csv
new file mode 100644
index 0000000..0f96b70
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00061/00061-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.3,0.001075732452247863,0.002075732452247862,0.0009242675477521362
+0.6,0.001143844032353959,0.002143844032353958,0.0008561559676460401
+0.9,0.001205059001742304,0.002205059001742304,0.0007949409982576948
+1.2,0.001260041271031724,0.002260041271031723,0.0007399587289682754
+1.5,0.001309397693309883,0.002309397693309883,0.0006906023066901167
+1.8,0.001353681568666824,0.002353681568666823,0.0006463184313331768
+2.1,0.001393396247551767,0.002393396247551766,0.0006066037524482333
+2.4,0.001428998724686619,0.002428998724686618,0.0005710012753133812
+2.7,0.001460903181588641,0.00246090318158864,0.0005390968184113591
+3.,0.001489484410475039,0.002489484410475039,0.000510515589524961
+3.3,0.001515081085547144,0.002515081085547144,0.0004849189144528561
+3.6,0.001537998873163197,0.002537998873163197,0.0004620011268368029
+3.9,0.00155851332632117,0.00255851332632117,0.0004414866736788301
+4.2,0.001576872630580545,0.002576872630580545,0.0004231273694194548
+4.5,0.001593300112626801,0.002593300112626801,0.0004066998873731995
+4.8,0.00160799657878716,0.00260799657878716,0.0003920034212128402
+5.1,0.001621142450412158,0.002621142450412158,0.0003788575495878422
+5.4,0.001632899760353041,0.002632899760353042,0.0003671002396469585
+5.7,0.001643413899365991,0.002643413899365993,0.0003565861006340086
+6.,0.001652815316115478,0.002652815316115479,0.0003471846838845215
+6.3,0.001661220961714698,0.0026612209617147,0.000338779038285301
+6.6,0.00166873565286461,0.002668735652864612,0.0003312643471353888
+6.9,0.001675453324259319,0.002675453324259322,0.0003245466757406797
+7.2,0.001681458083265648,0.00268145808326565,0.0003185419167343511
+7.5,0.00168682525641397,0.002686825256413972,0.0003131747435860297
+7.8,0.00169162229112492,0.002691622291124921,0.0003083777088750799
+8.1,0.001695909538684076,0.002695909538684078,0.0003040904613159236
+8.4,0.001699740999061354,0.002699740999061356,0.0003002590009386451
+8.7,0.001703164997640559,0.00270316499764056,0.0002968350023594406
+9.,0.001706224766923826,0.002706224766923827,0.0002937752330761735
+9.3,0.001708958958703985,0.002708958958703985,0.000291041041296015
+9.6,0.001711402148536649,0.002711402148536649,0.0002885978514633507
+9.9,0.001713585253315973,0.002713585253315973,0.0002864147466840273
+10.2,0.001715535916677679,0.002715535916677679,0.0002844640833223214
+10.5,0.00171727885321098,0.00271727885321098,0.0002827211467890202
+10.8,0.001718836156942929,0.00271883615694293,0.0002811638430570705
+11.1,0.001720227577185778,0.002720227577185778,0.0002797724228142218
+11.4,0.001721470765401623,0.002721470765401623,0.0002785292345983766
+11.7,0.0017225814984667,0.0027225814984667,0.0002774185015333
+12.,0.001723573877238243,0.002723573877238243,0.0002764261227617566
+12.3,0.001724460503920449,0.002724460503920448,0.0002755394960795507
+12.6,0.001725252640862268,0.002725252640862267,0.0002747473591377321
+12.9,0.001725960352584212,0.002725960352584211,0.0002740396474157885
+13.2,0.001726592632842087,0.002726592632842086,0.0002734073671579133
+13.5,0.001727157518023408,0.002727157518023407,0.0002728424819765921
+13.8,0.001727662188580085,0.002727662188580084,0.0002723378114199149
+14.1,0.00172811306060082,0.002728113060600819,0.0002718869393991807
+14.4,0.001728515867110058,0.002728515867110057,0.0002714841328899422
+14.7,0.001728875730321088,0.002728875730321087,0.0002711242696789123
+15.,0.001729197227942944,0.002729197227942944,0.0002708027720570558
diff --git a/models/sbml-test-suite/cases/semantic/00061/00061-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00061/00061-sbml-l2v4.xml
new file mode 100644
index 0000000..7f6cd03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00061/00061-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00061" id="case00061" name="case00061">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="17"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00061/00061-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00061/00061-sbml-l3v1.xml
new file mode 100644
index 0000000..ae1e879
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00061/00061-sbml-l3v1.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00061" id="case00061" name="case00061" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="17" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00061/00061-settings.txt b/models/sbml-test-suite/cases/semantic/00061/00061-settings.txt
new file mode 100644
index 0000000..8f5672c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00061/00061-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00062/00062-results.csv b/models/sbml-test-suite/cases/semantic/00062/00062-results.csv
new file mode 100644
index 0000000..0f9d6c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00062/00062-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7
+0.04,9.389597079643723e-7,1.438959707964372e-6,2.061040292035627e-6,5.610402920356275e-7
+0.08,8.866960875357621e-7,1.386696087535762e-6,2.113303912464238e-6,6.133039124642377e-7
+0.12,8.417588271763808e-7,1.341758827176381e-6,2.158241172823618e-6,6.58241172823619e-7
+0.16,8.029811572858246e-7,1.302981157285825e-6,2.197018842714174e-6,6.970188427141752e-7
+0.2,7.694143855642448e-7,1.269414385564245e-6,2.230585614435754e-6,7.305856144357549e-7
+0.24,7.402798425167762e-7,1.240279842516776e-6,2.259720157483222e-6,7.597201574832235e-7
+0.28,7.149330646010629e-7,1.214933064601063e-6,2.285066935398935e-6,7.850669353989368e-7
+0.32,6.92836683000088e-7,1.192836683000088e-6,2.307163316999909e-6,8.071633169999118e-7
+0.36,6.735396919433461e-7,1.173539691943346e-6,2.326460308056651e-6,8.264603080566536e-7
+0.4,6.566613024219375e-7,1.156661302421938e-6,2.343338697578059e-6,8.433386975780623e-7
+0.44,6.418783689951896e-7,1.14187836899519e-6,2.358121631004807e-6,8.581216310048101e-7
+0.48,6.289153769923319e-7,1.128915376992332e-6,2.371084623007665e-6,8.710846230076679e-7
+0.52,6.175364356356689e-7,1.117536435635669e-6,2.382463564364328e-6,8.824635643643308e-7
+0.56,6.075388526511111e-7,1.107538852651112e-6,2.392461147348885e-6,8.924611473488886e-7
+0.6,5.987478929217906e-7,1.098747892921791e-6,2.401252107078206e-6,9.012521070782091e-7
+0.64,5.910124738048314e-7,1.091012473804832e-6,2.408987526195165e-6,9.089875261951684e-7
+0.68,5.842016280296117e-7,1.084201628029612e-6,2.415798371970385e-6,9.15798371970388e-7
+0.72,5.782015661418184e-7,1.078201566141819e-6,2.421798433858179e-6,9.217984338581814e-7
+0.76,5.729132256002133e-7,1.072913225600214e-6,2.427086774399783e-6,9.270867743997865e-7
+0.8,5.682502086988119e-7,1.068250208698813e-6,2.431749791301184e-6,9.317497913011878e-7
+0.84,5.641370352567391e-7,1.06413703525674e-6,2.435862964743258e-6,9.358629647432606e-7
+0.88,5.605076688194867e-7,1.060507668819488e-6,2.43949233118051e-6,9.39492331180513e-7
+0.92,5.573042712221429e-7,1.057304271222144e-6,2.442695728777854e-6,9.426957287778568e-7
+0.96,5.544761233621076e-7,1.054476123362109e-6,2.445523876637889e-6,9.455238766378921e-7
+1.,5.519787002370357e-7,1.051978700237037e-6,2.448021299762961e-6,9.480212997629641e-7
+1.04,5.497728818090925e-7,1.049772881809094e-6,2.450227118190905e-6,9.502271181909072e-7
+1.08,5.478242815365218e-7,1.047824281536523e-6,2.452175718463475e-6,9.521757184634779e-7
+1.12,5.461026294104691e-7,1.04610262941047e-6,2.453897370589528e-6,9.538973705895307e-7
+1.16,5.44581289484622e-7,1.044581289484623e-6,2.455418710515375e-6,9.554187105153779e-7
+1.2,5.432367862310685e-7,1.04323678623107e-6,2.456763213768928e-6,9.567632137689313e-7
+1.24,5.420484412027306e-7,1.042048441202732e-6,2.457951558797266e-6,9.579515587972693e-7
+1.28,5.409980120713418e-7,1.040998012071343e-6,2.459001987928655e-6,9.590019879286578e-7
+1.32,5.400694192262633e-7,1.040069419226265e-6,2.459930580773733e-6,9.599305807737363e-7
+1.36,5.392484692176387e-7,1.03924846921764e-6,2.460751530782358e-6,9.607515307823608e-7
+1.4,5.385226343054472e-7,1.038522634305448e-6,2.461477365694549e-6,9.614773656945525e-7
+1.44,5.37880857267953e-7,1.037880857267954e-6,2.462119142732043e-6,9.621191427320468e-7
+1.48,5.373133757509462e-7,1.037313375750947e-6,2.46268662424905e-6,9.626866242490536e-7
+1.52,5.368115661223508e-7,1.036811566122352e-6,2.463188433877645e-6,9.631884338776489e-7
+1.56,5.363678095699785e-7,1.03636780956998e-6,2.463632190430018e-6,9.636321904300213e-7
+1.6,5.359753758055117e-7,1.035975375805513e-6,2.464024624194484e-6,9.640246241944878e-7
+1.64,5.356283191145352e-7,1.035628319114537e-6,2.46437168088546e-6,9.643716808854643e-7
+1.68,5.353213841798119e-7,1.035321384179813e-6,2.464678615820183e-6,9.646786158201878e-7
+1.72,5.350499255337026e-7,1.035049925533704e-6,2.464950074466293e-6,9.649500744662967e-7
+1.76,5.348098370543882e-7,1.034809837054389e-6,2.465190162945607e-6,9.651901629456114e-7
+1.8,5.345974899863946e-7,1.034597489986396e-6,2.465402510013601e-6,9.654025100136049e-7
+1.84,5.34409675950601e-7,1.034409675950602e-6,2.465590324049394e-6,9.655903240493985e-7
+1.88,5.342435579014371e-7,1.034243557901439e-6,2.465756442098559e-6,9.657564420985623e-7
+1.92,5.340966271938641e-7,1.034096627193866e-6,2.465903372806131e-6,9.659033728061353e-7
+1.96,5.339666664953589e-7,1.03396666649536e-6,2.466033333504637e-6,9.660333335046404e-7
+2.,5.338517145486229e-7,1.033851714548625e-6,2.466148285451373e-6,9.661482854513763e-7
diff --git a/models/sbml-test-suite/cases/semantic/00062/00062-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00062/00062-sbml-l2v4.xml
new file mode 100644
index 0000000..4c75e70
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00062/00062-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00062" id="case00062" name="case00062">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000"/>
+      <parameter id="k2" name="k2" value="300000"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00062/00062-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00062/00062-sbml-l3v1.xml
new file mode 100644
index 0000000..1c5a234
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00062/00062-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00062" id="case00062" name="case00062" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000" constant="true"/>
+      <parameter id="k2" name="k2" value="300000" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00062/00062-settings.txt b/models/sbml-test-suite/cases/semantic/00062/00062-settings.txt
new file mode 100644
index 0000000..c94e1f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00062/00062-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00063/00063-results.csv b/models/sbml-test-suite/cases/semantic/00063/00063-results.csv
new file mode 100644
index 0000000..7eec637
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00063/00063-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,2
+0.04,1.33038,0.169619,2
+0.08,1.17994,0.320058,2
+0.12,1.04651,0.453486,2
+0.16,0.928175,0.571825,2
+0.2,0.823217,0.676783,2
+0.24,0.730128,0.769872,2
+0.28,0.647566,0.852434,2
+0.32,0.574339,0.925661,2
+0.36,0.509393,0.990607,2
+0.4,0.451791,1.04821,2
+0.44,0.400703,1.0993,2
+0.48,0.355392,1.14461,2
+0.52,0.315204,1.1848,2
+0.56,0.279561,1.22044,2
+0.6,0.247948,1.25205,2
+0.64,0.21991,1.28009,2
+0.68,0.195043,1.30496,2
+0.72,0.172988,1.32701,2
+0.76,0.153426,1.34657,2
+0.8,0.136077,1.36392,2
+0.84,0.120689,1.37931,2
+0.88,0.107042,1.39296,2
+0.92,0.0949377,1.40506,2
+0.96,0.0842021,1.4158,2
+1,0.0746806,1.42532,2
+1.04,0.0662358,1.43376,2
+1.08,0.0587458,1.44125,2
+1.12,0.0521029,1.4479,2
+1.16,0.0462111,1.45379,2
+1.2,0.0409856,1.45901,2
+1.24,0.036351,1.46365,2
+1.28,0.0322404,1.46776,2
+1.32,0.0285947,1.47141,2
+1.36,0.0253612,1.47464,2
+1.4,0.0224934,1.47751,2
+1.44,0.0199498,1.48005,2
+1.48,0.0176939,1.48231,2
+1.52,0.0156931,1.48431,2
+1.56,0.0139185,1.48608,2
+1.6,0.0123446,1.48766,2
+1.64,0.0109487,1.48905,2
+1.68,0.00971062,1.49029,2
+1.72,0.00861255,1.49139,2
+1.76,0.00763865,1.49236,2
+1.8,0.00677487,1.49323,2
+1.84,0.00600877,1.49399,2
+1.88,0.0053293,1.49467,2
+1.92,0.00472667,1.49527,2
+1.96,0.00419218,1.49581,2
+2,0.00371813,1.49628,2
diff --git a/models/sbml-test-suite/cases/semantic/00063/00063-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00063/00063-sbml-l2v4.xml
new file mode 100644
index 0000000..f3a187f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00063/00063-sbml-l2v4.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00063" id="case00063" name="case00063">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00063/00063-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00063/00063-sbml-l3v1.xml
new file mode 100644
index 0000000..75dbc23
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00063/00063-sbml-l3v1.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00063" id="case00063" name="case00063" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00063/00063-settings.txt b/models/sbml-test-suite/cases/semantic/00063/00063-settings.txt
new file mode 100644
index 0000000..da16cc5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00063/00063-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00064/00064-results.csv b/models/sbml-test-suite/cases/semantic/00064/00064-results.csv
new file mode 100644
index 0000000..f3658a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00064/00064-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.04,0.8939260929073057,1.893926092907305,1.106073907092694,1.5
+0.08,0.8077741939685046,1.807774193968505,1.192225806031494,1.5
+0.12,0.7369707423711714,1.736970742371171,1.263029257628828,1.5
+0.16,0.6782139161187001,1.678213916118701,1.321786083881298,1.5
+0.2,0.6290601740740094,1.62906017407401,1.370939825925989,1.5
+0.24,0.5876624725013505,1.587662472501351,1.412337527498648,1.5
+0.28,0.5525990035830646,1.552599003583065,1.447400996416934,1.5
+0.32,0.522757857809592,1.522757857809592,1.477242142190407,1.5
+0.36,0.4972574369094412,1.497257436909441,1.502742563090558,1.5
+0.4,0.4753902825485309,1.475390282548531,1.524609717451468,1.5
+0.44,0.4565826415081507,1.45658264150815,1.543417358491849,1.5
+0.48,0.4403648433944844,1.440364843394484,1.559635156605515,1.5
+0.52,0.4263492559690245,1.426349255969025,1.573650744030975,1.5
+0.56,0.4142136530890916,1.414213653089091,1.585786346910908,1.5
+0.6,0.4036884320007798,1.40368843200078,1.596311567999219,1.5
+0.64,0.3945467772214788,1.394546777221479,1.60545322277852,1.5
+0.68,0.3865969043064956,1.386596904306496,1.613403095693503,1.5
+0.72,0.3796759370612184,1.379675937061218,1.620324062938781,1.5
+0.76,0.3736450179172018,1.373645017917201,1.626354982082798,1.5
+0.8,0.3683853588233823,1.368385358823382,1.631614641176617,1.5
+0.84,0.3637950347692141,1.363795034769214,1.636204965230786,1.5
+0.88,0.3597863576111557,1.359786357611155,1.640213642388844,1.5
+0.92,0.3562837106718859,1.356283710671885,1.643716289328114,1.5
+0.96,0.3532217541401485,1.353221754140148,1.646778245859851,1.5
+1.,0.350543922897919,1.350543922897919,1.649456077102081,1.5
+1.04,0.3482011718921883,1.348201171892188,1.651798828107811,1.5
+1.08,0.3461509169090781,1.346150916909078,1.653849083090921,1.5
+1.12,0.3443561379982226,1.344356137998222,1.655643862001777,1.5
+1.16,0.3427846164417647,1.342784616441765,1.657215383558234,1.5
+1.2,0.3414082866474316,1.341408286647431,1.658591713352568,1.5
+1.24,0.340202675748726,1.340202675748726,1.659797324251273,1.5
+1.28,0.339146437278187,1.339146437278187,1.660853562721812,1.5
+1.32,0.3382209288762538,1.338220928876254,1.661779071123745,1.5
+1.36,0.3374098682811131,1.337409868281113,1.662590131718886,1.5
+1.4,0.3366990248799463,1.336699024879947,1.663300975120052,1.5
+1.44,0.3360759546517185,1.336075954651718,1.663924045348281,1.5
+1.48,0.3355297724857262,1.335529772485726,1.664470227514273,1.5
+1.52,0.3350509564947727,1.335050956494773,1.664949043505227,1.5
+1.56,0.3346311688196882,1.334631168819688,1.665368831180311,1.5
+1.6,0.33426311108594,1.33426311108594,1.665736888914059,1.5
+1.64,0.3339403938659051,1.333940393865905,1.666059606134094,1.5
+1.68,0.3336574184083673,1.333657418408367,1.666342581591632,1.5
+1.72,0.3334092806405675,1.333409280640567,1.666590719359432,1.5
+1.76,0.3331916852382305,1.33319168523823,1.666808314761769,1.5
+1.8,0.3330008667798775,1.333000866779877,1.666999133220122,1.5
+1.84,0.3328335253044871,1.332833525304487,1.667166474695512,1.5
+1.88,0.3326867697024615,1.332686769702461,1.667313230297538,1.5
+1.92,0.3325580648462905,1.33255806484629,1.667441935153709,1.5
+1.96,0.3324451881691856,1.332445188169185,1.667554811830814,1.5
+2.,0.3323461919822612,1.33234619198226,1.667653808017739,1.5
diff --git a/models/sbml-test-suite/cases/semantic/00064/00064-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00064/00064-sbml-l2v4.xml
new file mode 100644
index 0000000..04713f2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00064/00064-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00064" id="case00064" name="case00064">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1.5" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00064/00064-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00064/00064-sbml-l3v1.xml
new file mode 100644
index 0000000..6460dd3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00064/00064-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00064" id="case00064" name="case00064" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00064/00064-settings.txt b/models/sbml-test-suite/cases/semantic/00064/00064-settings.txt
new file mode 100644
index 0000000..5e3c6a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00064/00064-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00065/00065-results.csv b/models/sbml-test-suite/cases/semantic/00065/00065-results.csv
new file mode 100644
index 0000000..4f6dba2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00065/00065-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7,9.999999999999999e-7
+0.04,9.389597079643723e-7,1.438959707964372e-6,2.061040292035627e-6,5.610402920356275e-7,9.999999999999999e-7
+0.08,8.866960875357621e-7,1.386696087535762e-6,2.113303912464238e-6,6.133039124642377e-7,9.999999999999999e-7
+0.12,8.417588271763808e-7,1.341758827176381e-6,2.158241172823618e-6,6.58241172823619e-7,9.999999999999999e-7
+0.16,8.029811572858246e-7,1.302981157285825e-6,2.197018842714174e-6,6.970188427141752e-7,9.999999999999999e-7
+0.2,7.694143855642448e-7,1.269414385564245e-6,2.230585614435754e-6,7.305856144357549e-7,9.999999999999999e-7
+0.24,7.402798425167762e-7,1.240279842516776e-6,2.259720157483222e-6,7.597201574832235e-7,9.999999999999999e-7
+0.28,7.149330646010629e-7,1.214933064601063e-6,2.285066935398935e-6,7.850669353989368e-7,9.999999999999999e-7
+0.32,6.92836683000088e-7,1.192836683000088e-6,2.307163316999909e-6,8.071633169999118e-7,9.999999999999999e-7
+0.36,6.735396919433461e-7,1.173539691943346e-6,2.326460308056651e-6,8.264603080566536e-7,9.999999999999999e-7
+0.4,6.566613024219375e-7,1.156661302421938e-6,2.343338697578059e-6,8.433386975780623e-7,9.999999999999999e-7
+0.44,6.418783689951896e-7,1.14187836899519e-6,2.358121631004807e-6,8.581216310048101e-7,9.999999999999999e-7
+0.48,6.289153769923319e-7,1.128915376992332e-6,2.371084623007665e-6,8.710846230076679e-7,9.999999999999999e-7
+0.52,6.175364356356689e-7,1.117536435635669e-6,2.382463564364328e-6,8.824635643643308e-7,9.999999999999999e-7
+0.56,6.075388526511111e-7,1.107538852651112e-6,2.392461147348885e-6,8.924611473488886e-7,9.999999999999999e-7
+0.6,5.987478929217906e-7,1.098747892921791e-6,2.401252107078206e-6,9.012521070782091e-7,9.999999999999999e-7
+0.64,5.910124738048314e-7,1.091012473804832e-6,2.408987526195165e-6,9.089875261951684e-7,9.999999999999999e-7
+0.68,5.842016280296117e-7,1.084201628029612e-6,2.415798371970385e-6,9.15798371970388e-7,9.999999999999999e-7
+0.72,5.782015661418184e-7,1.078201566141819e-6,2.421798433858179e-6,9.217984338581814e-7,9.999999999999999e-7
+0.76,5.729132256002133e-7,1.072913225600214e-6,2.427086774399783e-6,9.270867743997865e-7,9.999999999999999e-7
+0.8,5.682502086988119e-7,1.068250208698813e-6,2.431749791301184e-6,9.317497913011878e-7,9.999999999999999e-7
+0.84,5.641370352567391e-7,1.06413703525674e-6,2.435862964743258e-6,9.358629647432606e-7,9.999999999999999e-7
+0.88,5.605076688194867e-7,1.060507668819488e-6,2.43949233118051e-6,9.39492331180513e-7,9.999999999999999e-7
+0.92,5.573042712221429e-7,1.057304271222144e-6,2.442695728777854e-6,9.426957287778568e-7,9.999999999999999e-7
+0.96,5.544761233621076e-7,1.054476123362109e-6,2.445523876637889e-6,9.455238766378921e-7,9.999999999999999e-7
+1.,5.519787002370357e-7,1.051978700237037e-6,2.448021299762961e-6,9.480212997629641e-7,9.999999999999999e-7
+1.04,5.497728818090925e-7,1.049772881809094e-6,2.450227118190905e-6,9.502271181909072e-7,9.999999999999999e-7
+1.08,5.478242815365218e-7,1.047824281536523e-6,2.452175718463475e-6,9.521757184634779e-7,9.999999999999999e-7
+1.12,5.461026294104691e-7,1.04610262941047e-6,2.453897370589528e-6,9.538973705895307e-7,9.999999999999999e-7
+1.16,5.44581289484622e-7,1.044581289484623e-6,2.455418710515375e-6,9.554187105153779e-7,9.999999999999999e-7
+1.2,5.432367862310685e-7,1.04323678623107e-6,2.456763213768928e-6,9.567632137689313e-7,9.999999999999999e-7
+1.24,5.420484412027306e-7,1.042048441202732e-6,2.457951558797266e-6,9.579515587972693e-7,9.999999999999999e-7
+1.28,5.409980120713418e-7,1.040998012071343e-6,2.459001987928655e-6,9.590019879286578e-7,9.999999999999999e-7
+1.32,5.400694192262633e-7,1.040069419226265e-6,2.459930580773733e-6,9.599305807737363e-7,9.999999999999999e-7
+1.36,5.392484692176387e-7,1.03924846921764e-6,2.460751530782358e-6,9.607515307823608e-7,9.999999999999999e-7
+1.4,5.385226343054472e-7,1.038522634305448e-6,2.461477365694549e-6,9.614773656945525e-7,9.999999999999999e-7
+1.44,5.37880857267953e-7,1.037880857267954e-6,2.462119142732043e-6,9.621191427320468e-7,9.999999999999999e-7
+1.48,5.373133757509462e-7,1.037313375750947e-6,2.46268662424905e-6,9.626866242490536e-7,9.999999999999999e-7
+1.52,5.368115661223508e-7,1.036811566122352e-6,2.463188433877645e-6,9.631884338776489e-7,9.999999999999999e-7
+1.56,5.363678095699785e-7,1.03636780956998e-6,2.463632190430018e-6,9.636321904300213e-7,9.999999999999999e-7
+1.6,5.359753758055117e-7,1.035975375805513e-6,2.464024624194484e-6,9.640246241944878e-7,9.999999999999999e-7
+1.64,5.356283191145352e-7,1.035628319114537e-6,2.46437168088546e-6,9.643716808854643e-7,9.999999999999999e-7
+1.68,5.353213841798119e-7,1.035321384179813e-6,2.464678615820183e-6,9.646786158201878e-7,9.999999999999999e-7
+1.72,5.350499255337026e-7,1.035049925533704e-6,2.464950074466293e-6,9.649500744662967e-7,9.999999999999999e-7
+1.76,5.348098370543882e-7,1.034809837054389e-6,2.465190162945607e-6,9.651901629456114e-7,9.999999999999999e-7
+1.8,5.345974899863946e-7,1.034597489986396e-6,2.465402510013601e-6,9.654025100136049e-7,9.999999999999999e-7
+1.84,5.34409675950601e-7,1.034409675950602e-6,2.465590324049394e-6,9.655903240493985e-7,9.999999999999999e-7
+1.88,5.342435579014371e-7,1.034243557901439e-6,2.465756442098559e-6,9.657564420985623e-7,9.999999999999999e-7
+1.92,5.340966271938641e-7,1.034096627193866e-6,2.465903372806131e-6,9.659033728061353e-7,9.999999999999999e-7
+1.96,5.339666664953589e-7,1.03396666649536e-6,2.466033333504637e-6,9.660333335046404e-7,9.999999999999999e-7
+2.,5.338517145486229e-7,1.033851714548625e-6,2.466148285451373e-6,9.661482854513763e-7,9.999999999999999e-7
diff --git a/models/sbml-test-suite/cases/semantic/00065/00065-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00065/00065-sbml-l2v4.xml
new file mode 100644
index 0000000..9da1ccb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00065/00065-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00065" id="case00065" name="case00065">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00065/00065-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00065/00065-sbml-l3v1.xml
new file mode 100644
index 0000000..83ad581
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00065/00065-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00065" id="case00065" name="case00065" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00065/00065-settings.txt b/models/sbml-test-suite/cases/semantic/00065/00065-settings.txt
new file mode 100644
index 0000000..291c70d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00065/00065-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00066/00066-results.csv b/models/sbml-test-suite/cases/semantic/00066/00066-results.csv
new file mode 100644
index 0000000..74f3779
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00066/00066-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7
+0.2,8.029075029489195e-7,1.302907502948918e-6,2.19709249705108e-6,6.970924970510802e-7
+0.4,6.726218868729241e-7,1.172621886872923e-6,2.327378113127074e-6,8.273781131270757e-7
+0.6,5.857576268540955e-7,1.085757626854094e-6,2.414242373145903e-6,9.142423731459043e-7
+0.8,5.261543916809855e-7,1.026154391680984e-6,2.473845608319012e-6,9.738456083190141e-7
+1.,4.834294161492641e-7,9.834294161492632e-7,2.516570583850733e-6,1.016570583850735e-6
+1.2,4.511864899329632e-7,9.511864899329625e-7,2.548813510067033e-6,1.048813510067036e-6
+1.4,4.255895723016487e-7,9.25589572301648e-7,2.574410427698347e-6,1.074410427698351e-6
+1.6,4.043699577434607e-7,9.043699577434602e-7,2.595630042256535e-6,1.095630042256539e-6
+1.8,3.861840802554097e-7,8.86184080255409e-7,2.613815919744586e-6,1.11381591974459e-6
+2.,3.70220445112519e-7,8.702204451125184e-7,2.629779554887477e-6,1.129779554887481e-6
+2.2,3.559697744701632e-7,8.559697744701623e-7,2.644030225529833e-6,1.144030225529837e-6
+2.4,3.430953038462356e-7,8.430953038462346e-7,2.65690469615376e-6,1.156904696153765e-6
+2.6,3.313612329362532e-7,8.313612329362522e-7,2.668638767063742e-6,1.168638767063747e-6
+2.8,3.205934887518381e-7,8.20593488751837e-7,2.679406511248157e-6,1.179406511248162e-6
+3.,3.106579018495731e-7,8.10657901849572e-7,2.689342098150423e-6,1.189342098150427e-6
+3.2,3.014476404321911e-7,8.0144764043219e-7,2.698552359567804e-6,1.198552359567809e-6
+3.4,2.928755938161449e-7,7.92875593816144e-7,2.707124406183851e-6,1.207124406183855e-6
+3.6,2.848694746318269e-7,7.848694746318259e-7,2.715130525368168e-6,1.215130525368173e-6
+3.8,2.773684862729591e-7,7.773684862729583e-7,2.722631513727036e-6,1.222631513727041e-6
+4.,2.703209446600595e-7,7.703209446600587e-7,2.729679055339935e-6,1.229679055339941e-6
+4.2,2.63682517134766e-7,7.636825171347649e-7,2.736317482865228e-6,1.236317482865235e-6
+4.4,2.574148825404379e-7,7.574148825404369e-7,2.742585117459555e-6,1.242585117459563e-6
+4.6,2.514846903359752e-7,7.514846903359743e-7,2.748515309664018e-6,1.248515309664026e-6
+4.8,2.458627390310606e-7,7.458627390310599e-7,2.754137260968933e-6,1.25413726096894e-6
+5.,2.405233193259841e-7,7.405233193259832e-7,2.759476680674009e-6,1.259476680674017e-6
+5.2,2.354436829241214e-7,7.354436829241204e-7,2.764556317075871e-6,1.264556317075879e-6
+5.4,2.30603609159441e-7,7.3060360915944e-7,2.769396390840551e-6,1.26939639084056e-6
+5.6,2.259850480936206e-7,7.259850480936197e-7,2.774014951906372e-6,1.27401495190638e-6
+5.8,2.215718245146499e-7,7.215718245146492e-7,2.778428175485343e-6,1.278428175485351e-6
+6.,2.173493906402217e-7,7.173493906402209e-7,2.782650609359771e-6,1.282650609359779e-6
+6.2,2.133046182086756e-7,7.133046182086748e-7,2.786695381791318e-6,1.286695381791325e-6
+6.4,2.094256225604155e-7,7.094256225604147e-7,2.790574377439578e-6,1.290574377439584e-6
+6.6,2.057016131401005e-7,7.057016131400995e-7,2.794298386859893e-6,1.294298386859899e-6
+6.8,2.021227655604821e-7,7.02122765560481e-7,2.797877234439512e-6,1.297877234439518e-6
+7.,1.986801118449664e-7,6.986801118449652e-7,2.801319888155027e-6,1.301319888155034e-6
+7.2,1.953654456196953e-7,6.953654456196941e-7,2.804634554380298e-6,1.304634554380305e-6
+7.4,1.921712400319751e-7,6.921712400319738e-7,2.807828759968019e-6,1.307828759968025e-6
+7.6,1.890905763345434e-7,6.890905763345422e-7,2.81090942366545e-6,1.310909423665457e-6
+7.8,1.861170815266786e-7,6.861170815266774e-7,2.813882918473314e-6,1.313882918473322e-6
+8.,1.832448737180179e-7,6.832448737180167e-7,2.816755126281975e-6,1.316755126281983e-6
+8.2,1.804685140983985e-7,6.80468514098397e-7,2.819531485901595e-6,1.319531485901602e-6
+8.4,1.777829645829209e-7,6.777829645829195e-7,2.822217035417073e-6,1.32221703541708e-6
+8.6,1.751835503369116e-7,6.751835503369101e-7,2.824816449663082e-6,1.324816449663089e-6
+8.8,1.726659265487461e-7,6.726659265487447e-7,2.827334073451247e-6,1.327334073451255e-6
+9.,1.702260488609898e-7,6.702260488609888e-7,2.829773951139004e-6,1.329773951139012e-6
+9.2,1.678601470070621e-7,6.678601470070612e-7,2.832139852992931e-6,1.332139852992939e-6
+9.4,1.655647012442428e-7,6.65564701244242e-7,2.83443529875575e-6,1.334435298755759e-6
+9.6,1.633364212306357e-7,6.63336421230635e-7,2.836663578769358e-6,1.336663578769366e-6
+9.8,1.611722270571228e-7,6.611722270571219e-7,2.83882777294287e-6,1.338827772942878e-6
+10.,1.590692321735305e-7,6.590692321735296e-7,2.840930767826462e-6,1.340930767826471e-6
diff --git a/models/sbml-test-suite/cases/semantic/00066/00066-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00066/00066-sbml-l1v2.xml
new file mode 100644
index 0000000..7c5137d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00066/00066-sbml-l1v2.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00066">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-006" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-006" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="2e-006" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="5e-007" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1000000"/>
+      <parameter name="k2" value="300000"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="1000000" type="rate" name="k1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00066/00066-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00066/00066-sbml-l2v4.xml
new file mode 100644
index 0000000..3b0641b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00066/00066-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00066" id="case00066" name="case00066">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000000" constant="false"/>
+      <parameter id="k2" name="k2" value="300000"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1000000 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00066/00066-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00066/00066-sbml-l3v1.xml
new file mode 100644
index 0000000..9065585
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00066/00066-sbml-l3v1.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00066" id="case00066" name="case00066" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000000" constant="false"/>
+      <parameter id="k2" name="k2" value="300000" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1000000 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00066/00066-settings.txt b/models/sbml-test-suite/cases/semantic/00066/00066-settings.txt
new file mode 100644
index 0000000..bb92d29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00066/00066-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00067/00067-results.csv b/models/sbml-test-suite/cases/semantic/00067/00067-results.csv
new file mode 100644
index 0000000..05131cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00067/00067-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.7559029788826112,1.755902978882609,1.24409702111739
+0.2,0.6007006089720854,1.600700608972084,1.399299391027915
+0.3,0.496708560767012,1.496708560767011,1.503291439232989
+0.4,0.4245309800540125,1.424530980054011,1.575469019945988
+0.5,0.3731672936542822,1.373167293654281,1.626832706345718
+0.6,0.3359247718623075,1.335924771862306,1.664075228137693
+0.7,0.3085141143794628,1.308514114379461,1.691485885620538
+0.8,0.2880771347915344,1.288077134791532,1.711922865208467
+0.9,0.272652848859116,1.272652848859114,1.727347151140885
+1.,0.2608662691506496,1.260866269150648,1.739133730849352
+1.1,0.2517377193037144,1.251737719303712,1.748262280696287
+1.2,0.2445610368402386,1.244561036840237,1.755438963159762
+1.3,0.2388230007041806,1.238823000704178,1.761176999295821
+1.4,0.2341484904914554,1.234148490491453,1.765851509508546
+1.5,0.2302623018957213,1.230262301895719,1.76973769810428
+1.6,0.2269620735477691,1.226962073547767,1.773037926452232
+1.7,0.2240988144408829,1.224098814440881,1.775901185559118
+1.8,0.2215627754244312,1.221562775424429,1.77843722457557
+1.9,0.2192731131613439,1.219273113161341,1.780726886838658
+2.,0.2171702943627735,1.217170294362771,1.782829705637228
+2.1,0.2152104943395021,1.2152104943395,1.784789505660499
+2.2,0.2133614627833888,1.213361462783386,1.786638537216613
+2.3,0.2115994698766264,1.211599469876624,1.788400530123375
+2.4,0.2099070492827414,1.209907049282739,1.79009295071726
+2.5,0.2082713326516642,1.208271332651662,1.791728667348337
+2.6,0.2066828220935776,1.206682822093575,1.793317177906424
+2.7,0.2051344863347591,1.205134486334756,1.794865513665243
+2.8,0.2036210964209045,1.203621096420902,1.796378903579097
+2.9,0.202138739509889,1.202138739509887,1.797861260490113
+3.,0.2006844614338594,1.200684461433857,1.799315538566142
+3.1,0.1992560068864118,1.19925600688641,1.80074399311359
+3.2,0.1978516295141905,1.197851629514188,1.802148370485811
+3.3,0.1964699535894195,1.196469953589417,1.803530046410582
+3.4,0.1951098739141451,1.195109873914143,1.804890126085856
+3.5,0.1937704831061576,1.193770483106156,1.806229516893844
+3.6,0.1924510189033801,1.192451018903378,1.807548981096621
+3.7,0.1911508262726874,1.191150826272685,1.808849173727314
+3.8,0.1898693299107304,1.189869329910728,1.810130670089271
+3.9,0.1886060144834389,1.188606014483437,1.811393985516562
+4.,0.1873604103623232,1.187360410362321,1.812639589637678
+4.1,0.1861320833376219,1.186132083337619,1.81386791666238
+4.2,0.1849206271850507,1.184920627185048,1.815079372814951
+4.3,0.1837256582690985,1.183725658269096,1.816274341730903
+4.4,0.1825468116379681,1.182546811637966,1.817453188362034
+4.5,0.1813837381508482,1.181383738150846,1.818616261849153
+4.6,0.1802361023587213,1.180236102358719,1.81976389764128
+4.7,0.1791035809205938,1.179103580920591,1.820896419079408
+4.8,0.1779858614058846,1.177985861405882,1.822014138594117
+4.9,0.1768826413676107,1.176882641367608,1.823117358632391
+5.,0.1757936276141259,1.175793627614123,1.824206372385876
diff --git a/models/sbml-test-suite/cases/semantic/00067/00067-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00067/00067-sbml-l1v2.xml
new file mode 100644
index 0000000..203692a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00067/00067-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00067">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="2" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.7"/>
+      <parameter name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="0.2" type="rate" name="k1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00067/00067-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00067/00067-sbml-l2v4.xml
new file mode 100644
index 0000000..8a404a6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00067/00067-sbml-l2v4.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00067" id="case00067" name="case00067">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.2 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00067/00067-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00067/00067-sbml-l3v1.xml
new file mode 100644
index 0000000..707fc30
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00067/00067-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00067" id="case00067" name="case00067" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.2 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00067/00067-settings.txt b/models/sbml-test-suite/cases/semantic/00067/00067-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00067/00067-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00068/00068-results.csv b/models/sbml-test-suite/cases/semantic/00068/00068-results.csv
new file mode 100644
index 0000000..a6e2372
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00068/00068-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5,0
+0.1,1.29106,0.417876
+0.2,1.11123,0.777545
+0.3,0.956442,1.08712
+0.4,0.823217,1.35357
+0.5,0.70855,1.5829
+0.6,0.609854,1.78029
+0.7,0.524907,1.95019
+0.8,0.451791,2.09642
+0.9,0.38886,2.22228
+1,0.334695,2.33061
+1.1,0.288075,2.42385
+1.2,0.247948,2.5041
+1.3,0.213411,2.57318
+1.4,0.183685,2.63263
+1.5,0.158099,2.6838
+1.6,0.136077,2.72785
+1.7,0.117122,2.76576
+1.8,0.100808,2.79838
+1.9,0.0867665,2.82647
+2,0.0746806,2.85064
+2.1,0.0642782,2.87144
+2.2,0.0553248,2.88935
+2.3,0.0476185,2.90476
+2.4,0.0409856,2.91803
+2.5,0.0352766,2.92945
+2.6,0.0303629,2.93927
+2.7,0.0261336,2.94773
+2.8,0.0224934,2.95501
+2.9,0.0193602,2.96128
+3,0.0166635,2.96667
+3.1,0.0143424,2.97132
+3.2,0.0123446,2.97531
+3.3,0.0106251,2.97875
+3.4,0.00914512,2.98171
+3.5,0.00787128,2.98426
+3.6,0.00677487,2.98645
+3.7,0.00583119,2.98834
+3.8,0.00501895,2.98996
+3.9,0.00431985,2.99136
+4,0.00371813,2.99256
+4.1,0.00320022,2.9936
+4.2,0.00275446,2.99449
+4.3,0.00237078,2.99526
+4.4,0.00204055,2.99592
+4.5,0.00175632,2.99649
+4.6,0.00151168,2.99698
+4.7,0.00130111,2.9974
+4.8,0.00111988,2.99776
+4.9,0.000963889,2.99807
+5,0.000829627,2.99834
diff --git a/models/sbml-test-suite/cases/semantic/00068/00068-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00068/00068-sbml-l2v4.xml
new file mode 100644
index 0000000..4e32b29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00068/00068-sbml-l2v4.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00068" id="case00068" name="case00068">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00068/00068-settings.txt b/models/sbml-test-suite/cases/semantic/00068/00068-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00068/00068-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00069/00069-results.csv b/models/sbml-test-suite/cases/semantic/00069/00069-results.csv
new file mode 100644
index 0000000..c20deef
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00069/00069-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.2,0.06026999450447567,0.1602699945044757,0.1325638225527571
+0.4,0.04268333961660282,0.142683339616603,0.1418528676323988
+0.6,0.03357765983556926,0.1335776598355695,0.1424035721589239
+0.8,0.0283605195948833,0.1283605195948835,0.1391614685124014
+1.,0.0251055383419735,0.1251055383419737,0.1342098436993093
+1.2,0.02290057966583209,0.1229005796658323,0.1285304784690697
+1.4,0.02128205755099267,0.1212820575509929,0.1226142543900989
+1.6,0.02000384331785076,0.1200038433178509,0.1167131248141063
+1.8,0.01893143526818101,0.1189314352681812,0.1109563728215837
+2.,0.01798975984136668,0.1179897598413669,0.1054082486199686
+2.2,0.01713615737675474,0.1171361573767549,0.1000978933078293
+2.4,0.01634595116808371,0.1163459511680839,0.09503534729323513
+2.6,0.01560457030937368,0.1156045703093738,0.09022028548428555
+2.8,0.01490318387660439,0.1149031838766046,0.08564684606999259
+3.,0.01423625245687628,0.1142362524568765,0.08130632264624788
+3.2,0.01360014234228671,0.1136001423422869,0.07718867114905336
+3.4,0.01299233481282606,0.1129923348128263,0.0732833530826757
+3.6,0.01241097179461016,0.1124109717946104,0.06957980410254521
+3.8,0.01185459304237128,0.1118545930423715,0.06606768990834234
+4.,0.01132198317521432,0.1113219831752146,0.06273704091474152
+4.2,0.01081208208059032,0.1108120820805905,0.05957831775470132
+4.4,0.01032393208082159,0.1103239320808218,0.05658243733015416
+4.6,0.009856646572341254,0.1098566465723415,0.05374077667939401
+4.8,0.009409391227002725,0.1094093912270029,0.05104516431309351
+5.,0.008981372621443101,0.1089813726214433,0.04848786494072975
+5.2,0.008571831255386306,0.1085718312553865,0.04606156084870068
+5.4,0.008180037178861902,0.1081800371788621,0.04375933182190062
+5.6,0.007805287177054144,0.1078052871770543,0.04157463471258147
+5.8,0.007446902886247841,0.107446902886248,0.03950128326181792
+6.,0.007104229478903338,0.1071042294789035,0.03753342867456033
+6.2,0.006776634677346643,0.1067766346773468,0.03566554087489447
+6.4,0.006463507975699908,0.1064635079757001,0.03389239072320646
+6.6,0.006164259975154165,0.1061642599751544,0.03220903303116753
+6.8,0.005878321813335861,0.105878321813336,0.03061079075755631
+7.,0.005605144618167919,0.1056051446181681,0.0290932398270416
+7.2,0.005344198991414939,0.1053441989914151,0.0276521948551526
+7.4,0.005094974515305867,0.1050949745153061,0.0262836957757327
+7.6,0.004856979269116657,0.1048569792691169,0.02498399523735497
+7.8,0.00462973934066655,0.1046297393406667,0.0237495466069903
+8.,0.004412798352022151,0.1044127983520223,0.02257699278149474
+8.2,0.004205716984593675,0.1042057169845939,0.02146315560758481
+8.4,0.0040080725065542,0.1040080725065544,0.02040502591183416
+8.6,0.003819458304378426,0.1038194583043786,0.01939975412166226
+8.8,0.003639483417289322,0.1036394834172895,0.01844464142717623
+9.,0.003467772070759823,0.10346777207076,0.01753713141413579
+9.2,0.003303963225459985,0.1033039632254601,0.0166748022825526
+9.4,0.003147710121188777,0.1031477101211889,0.01585535942674347
+9.6,0.002998679822925638,0.1029986798229258,0.01507662841948827
+9.8,0.002856552775971812,0.102856552775972,0.01433654843080588
+10.,0.002721022384689117,0.1027210223846893,0.01363316616217136
diff --git a/models/sbml-test-suite/cases/semantic/00069/00069-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00069/00069-sbml-l2v4.xml
new file mode 100644
index 0000000..6a4dc60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00069/00069-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00069" id="case00069" name="case00069">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="17"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00069/00069-settings.txt b/models/sbml-test-suite/cases/semantic/00069/00069-settings.txt
new file mode 100644
index 0000000..67c4569
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00069/00069-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00070/00070-results.csv b/models/sbml-test-suite/cases/semantic/00070/00070-results.csv
new file mode 100644
index 0000000..f936b8e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00070/00070-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.4,0.01211992074997756,0.02211992074997756,0.009019616915219758
+0.8,0.01397739166858373,0.02397739166858373,0.008193485028526001
+1.2,0.01560841574860294,0.02560841574860294,0.007502981557086072
+1.6,0.01704543520496746,0.02704543520496747,0.006930891457278738
+2.,0.01831731950052899,0.028317319500529,0.006461601550663354
+2.4,0.01944950035144862,0.02944950035144862,0.006081162605303472
+2.8,0.02046419743818918,0.03046419743818918,0.005777262103486356
+3.2,0.02138069625042429,0.03138069625042429,0.005539138755113306
+3.6,0.02221564378305729,0.03221564378305728,0.005357465361780741
+4.,0.02298334830729808,0.03298334830729807,0.005224213763972068
+4.4,0.02369606463772798,0.03369606463772797,0.005132516653573932
+4.8,0.02436426210266756,0.03436426210266755,0.005076531170105792
+5.2,0.02499686694787568,0.03499686694787567,0.005051311386424118
+5.6,0.02560148029419739,0.03560148029419738,0.0050526908139266
+6.,0.02618457121833129,0.03618457121833128,0.005077176425994485
+6.4,0.02675164602405536,0.03675164602405535,0.005121854492372197
+6.8,0.02730739512593108,0.03730739512593108,0.005184308068245577
+7.2,0.02785582034626196,0.03785582034626195,0.005262544956209874
+7.6,0.02840034407528276,0.03840034407528274,0.005354935648421202
+8.,0.02894390290297536,0.03894390290297535,0.005460159947721384
+8.4,0.02948902748622174,0.03948902748622172,0.005577161410554785
+8.8,0.03003791050596323,0.04003791050596321,0.00570510864732961
+9.2,0.03059246453702083,0.0405924645370208,0.005843362472875665
+9.6,0.03115437077894351,0.04115437077894348,0.005991448476837656
+10.,0.03172512067323813,0.0417251206732381,0.006149033787078897
+10.4,0.03230605104284804,0.04230605104284802,0.006315907724308831
+10.8,0.03289837377724626,0.04289837377724624,0.006491965776133379
+11.2,0.03350320096558257,0.04350320096558255,0.006677196379467629
+11.6,0.03412156620756993,0.0441215662075699,0.006871670101063849
+12.,0.03475444276060817,0.04475444276060815,0.007075530798566348
+12.4,0.03540275892945014,0.04540275892945011,0.007288988579514877
+12.8,0.03606741119410781,0.04606741119410778,0.00751231427163754
+13.2,0.036749275465095,0.04674927546509498,0.007745835192592584
+13.6,0.03744921679344014,0.04744921679344012,0.007989932083485385
+14.,0.03816809779439996,0.04816809779439994,0.008245036820083307
+14.4,0.03890678598614837,0.04890678598614834,0.008511631237191029
+14.8,0.03966616031045842,0.0496661603104584,0.008790246585596052
+15.2,0.04044711686441206,0.05044711686441203,0.009081463530369616
+15.6,0.04125057424123802,0.05125057424123799,0.009385913138168859
+16.,0.04207747818492377,0.05207747818492373,0.009704277902556389
+16.4,0.04292880618721785,0.05292880618721782,0.01003729384780326
+16.8,0.04380557158216798,0.05380557158216795,0.01038575268270765
+17.2,0.04470882760730317,0.05470882760730314,0.01075050469962183
+17.6,0.04563967137584849,0.05563967137584846,0.01113246216647768
+18.,0.04659924756082902,0.05659924756082899,0.01153260289305666
+18.4,0.04758875250706901,0.05758875250706898,0.0119519748851973
+18.8,0.04860943780258584,0.05860943780258581,0.01239170072721347
+19.2,0.04966261447688499,0.05966261447688495,0.0128529832449623
+19.6,0.05074965695410634,0.0607496569541063,0.01333711125251528
+20.,0.05187200728339189,0.06187200728339186,0.01384546607967008
diff --git a/models/sbml-test-suite/cases/semantic/00070/00070-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00070/00070-sbml-l2v4.xml
new file mode 100644
index 0000000..9941183
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00070/00070-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00070" id="case00070" name="case00070">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00070/00070-settings.txt b/models/sbml-test-suite/cases/semantic/00070/00070-settings.txt
new file mode 100644
index 0000000..d088026
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00070/00070-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00071/00071-results.csv b/models/sbml-test-suite/cases/semantic/00071/00071-results.csv
new file mode 100644
index 0000000..9c1d03a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00071/00071-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.9048374180172196,0.09516258198278092
+0.2,0.8187307521474208,0.1812692478525797
+0.3,0.7408182201023446,0.2591817798976557
+0.4,0.6703200379848521,0.3296799620151481
+0.5,0.6065306542979904,0.3934693457020097
+0.6,0.5488116333710605,0.4511883666289398
+0.7,0.4965853030966702,0.50341469690333
+0.8,0.4493289640981568,0.5506710359018434
+0.9,0.406569635991948,0.5934303640080523
+1.,0.3678794381552668,0.6321205618447336
+1.1,0.3328710676851778,0.6671289323148227
+1.2,0.3011942038176673,0.6988057961823332
+1.3,0.272531784772877,0.7274682152271235
+1.4,0.2465969526910352,0.7534030473089654
+1.5,0.223130156396217,0.7768698436037837
+1.6,0.2018964999441263,0.7981035000558744
+1.7,0.1826835018163205,0.8173164981836803
+1.8,0.1652988755559843,0.8347011244440164
+1.9,0.1495686182600013,0.8504313817399995
+2.,0.1353352791104195,0.8646647208895813
+2.1,0.122456415768212,0.8775435842317889
+2.2,0.1108031452486894,0.8891968547513114
+2.3,0.1002588376427423,0.8997411623572586
+2.4,0.09071794885958585,0.9092820511404151
+2.5,0.08208499460648469,0.9179150053935164
+2.6,0.07427357440154631,0.9257264255984547
+2.7,0.06720550927175093,0.9327944907282501
+2.8,0.06081005947365539,0.9391899405263457
+2.9,0.05502321642261129,0.9449767835773897
+3.,0.0497870649291562,0.9502129350708449
+3.1,0.04504919931903034,0.9549508006809707
+3.2,0.04076220137573458,0.9592377986242665
+3.3,0.03688316532854148,0.9631168346714594
+3.4,0.9071795166219389,1.056032540763022
+3.5,0.8208499714349863,1.142362085949975
+3.6,0.7427357670094507,1.220476290375511
+3.7,0.6720551135221035,1.291156943862858
+3.8,0.6081006135577288,1.355111443827233
+3.9,0.5502321813961924,1.412979875988769
+4.,0.4978706647307489,1.465341392654213
+4.1,0.4504920070356809,1.512720050349281
+4.2,0.4076220261736848,1.555590031211277
+4.3,0.368831652498239,1.594380404886722
+4.4,0.333732693621585,1.629479363763377
+4.5,0.301973828709931,1.661238228675031
+4.6,0.2732372194727199,1.689974837912242
+4.7,0.2472352595949652,1.715976797789997
+4.8,0.2237077134481071,1.739504343936854
+4.9,0.2024191106585974,1.760792946726364
+5.,0.1831563856062985,1.780055671778663
diff --git a/models/sbml-test-suite/cases/semantic/00071/00071-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00071/00071-sbml-l2v4.xml
new file mode 100644
index 0000000..8da5722
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00071/00071-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00071" id="case00071" name="case00071">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00071/00071-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00071/00071-sbml-l3v1.xml
new file mode 100644
index 0000000..0cb13fc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00071/00071-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00071" id="case00071" name="case00071" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00071/00071-settings.txt b/models/sbml-test-suite/cases/semantic/00071/00071-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00071/00071-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00072/00072-results.csv b/models/sbml-test-suite/cases/semantic/00072/00072-results.csv
new file mode 100644
index 0000000..54180f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00072/00072-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,3.017554874593445e-21
+0.1,0.9048374291506092,0.09516257084939062
+0.2,0.8187307114813726,0.1812692885186272
+0.3,0.7408182303505035,0.2591817696494963
+0.4,0.670320018678707,0.3296799813212927
+0.5,0.6065306703372417,0.3934693296627582
+0.6,0.5488116324448958,0.451188367555104
+0.7,0.4965853153464418,0.5034146846535581
+0.8,0.4493289947639874,0.5506710052360127
+0.9,0.4065696833971563,0.5934303166028438
+1.,0.3678794571080853,0.6321205428919147
+1.1,0.332871102392804,0.6671288976071959
+1.2,0.3011942367188367,0.002071094670271491
+1.3,0.2725318285085486,0.03073350288055963
+1.4,0.2465969930511745,0.05666833833793376
+1.5,0.223130105320886,0.08013522606822229
+1.6,0.2018964728061915,0.1013688585829168
+1.7,0.1826835320342869,0.1205817993548213
+1.8,0.1652989084143771,0.1379664229747312
+1.9,0.1495686372534036,0.1536966941357046
+2.,0.1353352908442836,0.1679300405448247
+2.1,0.1224564381234205,0.1808088932656878
+2.2,0.1108031484341332,0.192462182954975
+2.3,0.1002588274396409,0.2030065039494673
+2.4,0.09071795880726595,0.2125473725818424
+2.5,0.08208500061719177,0.2211803307719165
+2.6,0.07427357855932513,0.2289917528297832
+2.7,0.0672054930664475,0.2360598383226608
+2.8,0.06081004471606968,0.2424552866730386
+2.9,0.05502321103223988,0.2482421203568684
+3.,0.04978706196658269,0.2534782694225256
+3.1,0.04504919797808404,0.2582161334110243
+3.2,0.04076220612416698,0.2625031252649414
+3.3,0.03688317038617336,0.2663821610029349
+3.4,0.9071795239852924,0.3592978585873348
+3.5,0.8208499757560844,0.4456274068165426
+3.6,0.7427358111274327,0.5237415714451941
+3.7,0.6720551527357173,0.5944222298369095
+3.8,0.6081006376065074,0.6583767449661194
+3.9,0.5502322159796563,0.7162451665929705
+4.,0.4978707016612551,0.7686066809113717
+4.1,0.4504920605688604,0.01439996134250885
+4.2,0.4076220725291869,0.05726994938218228
+4.3,0.3688316876677357,0.09606033424363358
+4.4,0.3337326833376722,0.131159338573697
+4.5,0.3019738420907511,0.1629181798206182
+4.6,0.2732372390900223,0.1916547828213469
+4.7,0.2472352821368488,0.2176567397745204
+4.8,0.2237077241314822,0.2411842977798871
+4.9,0.202419133482896,0.2624728884284733
+5.,0.1831564069213658,0.2817356149900034
diff --git a/models/sbml-test-suite/cases/semantic/00072/00072-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00072/00072-sbml-l2v4.xml
new file mode 100644
index 0000000..34a405f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00072/00072-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00072" id="case00072" name="case00072">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S2 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00072/00072-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00072/00072-sbml-l3v1.xml
new file mode 100644
index 0000000..04cb686
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00072/00072-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00072" id="case00072" name="case00072" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S2 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00072/00072-settings.txt b/models/sbml-test-suite/cases/semantic/00072/00072-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00072/00072-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00073/00073-results.csv b/models/sbml-test-suite/cases/semantic/00073/00073-results.csv
new file mode 100644
index 0000000..cdfbd3a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00073/00073-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.9048374341176447,0.09516256588235534
+0.2,0.8187307136695796,0.1812692863304204
+0.3,0.7408182352154927,0.2591817647845072
+0.4,0.6703200218973487,0.3296799781026513
+0.5,0.6065306697832678,0.3934693302167323
+0.6,0.5488115654828064,0.4511884345171937
+0.7,0.4965853226306858,0.5034146773693141
+0.8,0.4493289583627271,0.5506710416372728
+0.9,0.4065695809572424,0.5934304190427576
+1.,0.3678793069261338,0.6321206930738663
+1.1,0.3328709333866132,0.6671290666133868
+1.2,0.3011940857387674,0.6988059142612326
+1.3,0.2725317160738367,0.7274682839261632
+1.4,0.2465969245854344,0.7534030754145655
+1.5,0.2231300974127065,0.7768699025872934
+1.6,0.2018963328990883,0.7981036671009116
+1.7,0.1826833976667965,0.8173166023332034
+1.8,0.165298876702493,0.834701123297507
+1.9,0.1495685370163797,0.8504314629836201
+2.,0.135335149218818,0.8646648507811818
+2.1,0.1224563649944055,0.8775436350055942
+2.2,0.1108031449935889,0.8891968550064109
+2.3,0.1002588300545228,0.899741169945477
+2.4,0.09071795943820887,0.9092820405617911
+2.5,0.08208500118809176,0.9179149988119083
+2.6,0.07427357907589805,0.9257264209241019
+2.7,0.06720549353385753,0.9327945064661424
+2.8,0.06081004513900189,0.9391899548609979
+2.9,0.05502321141492232,0.9449767885850776
+3.,0.04978706231284709,0.9502129376871527
+3.1,0.04504919829139637,0.9549508017086034
+3.2,0.04076220640766666,0.9592377935923331
+3.3,0.03688317064269811,0.9631168293573017
+3.4,0.9071794974015088,0.09282050259849102
+3.5,0.8208498984749371,0.1791501015250625
+3.6,0.7427357544953114,0.2572642455046882
+3.7,0.672055066702458,0.3279449332975416
+3.8,0.6081005977298045,0.3918994022701952
+3.9,0.5502321148821717,0.449767885117828
+4.,0.4978706803325018,0.5021293196674979
+4.1,0.4504919826386692,0.5495080173613303
+4.2,0.4076219246875768,0.5923780753124229
+4.3,0.368831510272948,0.6311684897270517
+4.4,0.3337325291629043,0.6662674708370954
+4.5,0.3019736960007208,0.698026303999279
+4.6,0.2732371401110338,0.7267628598889661
+4.7,0.2472352212793681,0.7527647787206317
+4.8,0.2237076312404008,0.776292368759599
+4.9,0.2024190926732558,0.797580907326744
+5.,0.1831563741403468,0.816843625859653
diff --git a/models/sbml-test-suite/cases/semantic/00073/00073-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00073/00073-sbml-l2v4.xml
new file mode 100644
index 0000000..f0eb2a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00073/00073-sbml-l2v4.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00073" id="case00073" name="case00073">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00073/00073-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00073/00073-sbml-l3v1.xml
new file mode 100644
index 0000000..86dc54f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00073/00073-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00073" id="case00073" name="case00073" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00073/00073-settings.txt b/models/sbml-test-suite/cases/semantic/00073/00073-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00073/00073-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00074/00074-results.csv b/models/sbml-test-suite/cases/semantic/00074/00074-results.csv
new file mode 100644
index 0000000..2b426c1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00074/00074-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.9048374341176447,0.09516256588235534
+0.2,0.8187307136695796,0.1812692863304204
+0.3,0.7408182352154927,0.2591817647845072
+0.4,0.6703200218973487,0.3296799781026513
+0.5,0.6065306697832678,0.3934693302167323
+0.6,0.5488115654828064,0.4511884345171937
+0.7,0.4965853226306858,0.5034146773693141
+0.8,0.4493289583627271,0.5506710416372728
+0.9,0.4065695809572424,0.5934304190427576
+1.,0.3678793069261338,0.6321206930738663
+1.1,0.3328709333866132,0.6671290666133868
+1.2,0.3011940857387674,0.6988059142612326
+1.3,0.2725317160738367,0.7274682839261632
+1.4,0.2465969245854344,0.7534030754145655
+1.5,0.2231300974127065,0.7768699025872934
+1.6,0.2018963328990883,0.7981036671009116
+1.7,0.1826833976667965,0.8173166023332034
+1.8,0.165298876702493,0.834701123297507
+1.9,0.1495685370163797,0.8504314629836201
+2.,0.135335149218818,0.8646648507811818
+2.1,0.1224563649944055,0.8775436350055942
+2.2,0.1108031449935889,0.8891968550064109
+2.3,0.1002588300545228,0.899741169945477
+2.4,0.9071794675475756,0.0928205324524242
+2.5,0.8208498714623409,0.1791501285376587
+2.6,0.742735730053253,0.2572642699467465
+2.7,0.6720550445855161,0.3279449554144835
+2.8,0.6081005777194488,0.3918994222805508
+2.9,0.5502320967696113,0.4497679032303881
+3.,0.4978706639467115,0.5021293360532878
+3.1,0.4504919678173597,0.5495080321826395
+3.2,0.4076219112779494,0.59237808872205
+3.3,0.3688314981381275,0.6311685018618719
+3.4,0.3337325181804438,0.6662674818195557
+3.5,0.3019736860610942,0.6980263139389052
+3.6,0.273237131116012,0.7267628688839874
+3.7,0.2472352131395075,0.7527647868604918
+3.8,0.223707623883271,0.7762923761167285
+3.9,0.2024189073854559,0.7975810926145436
+4.,0.1831562544984233,0.8168437455015762
+4.1,0.1657267297742411,0.8342732702257583
+4.2,0.1499556643884204,0.8500443356115789
+4.3,0.1356854443925292,0.8643145556074702
+4.4,0.1227733311126997,0.8772266688872997
+4.5,0.1110899390636157,0.8889100609363836
+4.6,0.1005183352267325,0.8994816647732668
+4.7,0.909527562004924,0.0904724379950758
+4.8,0.8229745694686326,0.1770254305313671
+4.9,0.7446581813655849,0.2553418186344147
+5.,0.6737945904397265,0.326205409560273
diff --git a/models/sbml-test-suite/cases/semantic/00074/00074-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00074/00074-sbml-l2v4.xml
new file mode 100644
index 0000000..c38e2cf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00074/00074-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00074" id="case00074" name="case00074">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00074/00074-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00074/00074-sbml-l3v1.xml
new file mode 100644
index 0000000..ffb5e82
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00074/00074-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00074" id="case00074" name="case00074" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00074/00074-settings.txt b/models/sbml-test-suite/cases/semantic/00074/00074-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00074/00074-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00075/00075-results.csv b/models/sbml-test-suite/cases/semantic/00075/00075-results.csv
new file mode 100644
index 0000000..b01aab0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00075/00075-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5,0
+0.05,1.391615228088515,0.1083847719114849
+0.1,1.291061934765855,0.2089380652341449
+0.15,1.197774329988969,0.3022256700110307
+0.2,1.111227269586558,0.3887727304134423
+0.25,1.03093392327386,0.4690660767261398
+0.3,0.9564421397093568,0.5435578602906432
+0.35,0.8873330347820352,0.6126669652179648
+0.4,0.8232173873640709,0.676782612635929
+0.45,0.7637345501158618,0.7362654498841382
+0.5,0.7085498496239198,0.79145015037608
+0.55,0.6573523573312188,0.842647642668781
+0.6,0.6098544586734016,0.8901455413265982
+0.65,0.5657885246484069,0.934211475351593
+0.7,0.5249065195213218,0.9750934804786781
+0.75,0.4869787207742062,1.013021279225794
+0.8,0.4517912913992617,1.048208708600738
+0.85,0.4191463961638267,1.080853603836173
+0.9,0.3888604354123524,1.111139564587648
+0.95,0.3607626599424759,1.139237340057524
+1,0.3346952259101315,1.165304774089869
+1.05,0.310511372742968,1.189488627257032
+1.1,0.2880748324842001,1.2119251675158
+1.15,0.2672595940770408,1.232740405922959
+1.2,0.2479483599154577,1.252051640084542
+1.25,0.2300324323709055,1.269967567629095
+1.3,0.2134111416214167,1.286588858378583
+1.35,0.1979907771377658,1.302009222862234
+1.4,0.1836846397973105,1.31631536020269
+1.45,0.1704122704592222,1.329587729540778
+1.5,0.158098840663372,1.341901159336628
+1.55,0.1466751773736709,1.353324822626329
+1.6,0.1360769655138448,1.363923034486155
+1.65,0.1262444872601899,1.37375551273981
+1.7,0.117122520221296,1.382877479778704
+1.75,0.1086596607850394,1.391340339214961
+1.8,0.1008082733864866,1.399191726613513
+1.85,0.0935242412508972,1.406475758749103
+1.9,0.08676649722597654,1.413233502774024
+1.95,0.08049704639357075,1.419502953606429
+2,0.07468062903387782,1.425319370966122
+2.05,0.0692844526180606,1.43071554738194
+2.1,0.06427820295050396,1.435721797049496
+2.15,0.05963369515198724,1.440366304848013
+2.2,0.05532475859203422,1.444675241407966
+2.25,0.05132719291277927,1.448672807087221
+2.3,0.04761847138626259,1.452381528613738
+2.35,0.04417771823933112,1.455822281760669
+2.4,0.04098560007264136,1.459014399927359
+2.45,0.03802412484679803,1.461975875153202
+2.5,0.03527663475161597,1.464723365248384
diff --git a/models/sbml-test-suite/cases/semantic/00075/00075-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00075/00075-sbml-l1v2.xml
new file mode 100644
index 0000000..60e7e03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00075/00075-sbml-l1v2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00075">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00075/00075-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00075/00075-sbml-l2v4.xml
new file mode 100644
index 0000000..5c68a7a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00075/00075-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00075" id="case00075" name="case00075">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00075/00075-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00075/00075-sbml-l3v1.xml
new file mode 100644
index 0000000..1c4c77c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00075/00075-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00075" id="case00075" name="case00075" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00075/00075-settings.txt b/models/sbml-test-suite/cases/semantic/00075/00075-settings.txt
new file mode 100644
index 0000000..c213d0c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00075/00075-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00076/00076-results.csv b/models/sbml-test-suite/cases/semantic/00076/00076-results.csv
new file mode 100644
index 0000000..fd092fc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00076/00076-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.015
+0.12,0.007887812841393791,0.01788781284139379,0.01711218715860621
+0.24,0.006379854386378986,0.01637985438637899,0.01862014561362101
+0.36,0.00525968068917743,0.01525968068917743,0.01974031931082257
+0.48,0.004402800657964936,0.01440280065796494,0.02059719934203506
+0.6,0.003732507770700404,0.01373250777070041,0.02126749222929959
+0.72,0.003198943004009685,0.01319894300400969,0.02180105699599031
+0.84,0.002768286491298849,0.01276828649129885,0.02223171350870115
+0.96,0.002416784163357835,0.01241678416335784,0.02258321583664216
+1.08,0.002127261495133862,0.01212726149513387,0.02287273850486613
+1.2,0.001886994467274888,0.01188699446727489,0.02311300553272511
+1.32,0.001686359237460563,0.01168635923746057,0.02331364076253943
+1.44,0.001517946687467427,0.01151794668746743,0.02348205331253257
+1.56,0.001375965023733937,0.01137596502373394,0.02362403497626606
+1.68,0.001255826116145275,0.01125582611614528,0.02374417388385472
+1.8,0.001153852958633267,0.01115385295863327,0.02384614704136673
+1.92,0.001067070512974439,0.01106707051297444,0.02393292948702555
+2.04,0.0009930505194777411,0.01099305051947775,0.02400694948052225
+2.16,0.00092979494533487,0.01092979494533488,0.02407020505466512
+2.28,0.000875649826006383,0.01087564982600639,0.02412435017399361
+2.4,0.0008292386500326413,0.01082923865003265,0.02417076134996735
+2.52,0.0007894086067949275,0.01078940860679493,0.02421059139320506
+2.64,0.0007551914039054561,0.01075519140390546,0.02424480859609453
+2.76,0.0007257703699579081,0.01072577036995791,0.02427422963004208
+2.88,0.0007004535448364069,0.01070045354483641,0.02429954645516358
+3,0.0006786546452938364,0.01067865464529384,0.02432134535470615
+3.12,0.0006598738591602755,0.01065987385916028,0.02434012614083972
+3.24,0.0006436857590406054,0.01064368575904061,0.02435631424095939
+3.36,0.0006297264395791923,0.0106297264395792,0.0243702735604208
+3.48,0.0006176847622553956,0.0106176847622554,0.0243823152377446
+3.6,0.0006072940639301296,0.01060729406393014,0.02439270593606986
+3.72,0.0005983255619783229,0.01059832556197833,0.02440167443802167
+3.84,0.0005905828122370812,0.01059058281223709,0.02440941718776291
+3.96,0.0005838969893857104,0.01058389698938572,0.02441610301061428
+4.08,0.0005781227127512331,0.01057812271275124,0.02442187728724876
+4.2,0.0005731351577813068,0.01057313515778131,0.02442686484221868
+4.32,0.0005688262882287615,0.01056882628822877,0.02443117371177123
+4.44,0.0005651036932135212,0.01056510369321353,0.02443489630678647
+4.56,0.0005618869355807463,0.01056188693558075,0.02443811306441924
+4.68,0.0005591073287992725,0.01055910732879928,0.02444089267120072
+4.8,0.0005567051862494987,0.0105567051862495,0.02444329481375049
+4.92,0.0005546290163185728,0.01055462901631858,0.02444537098368142
+5.04,0.0005528347471627733,0.01055283474716278,0.02444716525283722
+5.16,0.0005512837498363617,0.01055128374983637,0.02444871625016363
+5.28,0.0005499431274625461,0.01054994312746255,0.02445005687253744
+5.4,0.0005487844001690569,0.01054878440016906,0.02445121559983093
+5.52,0.0005477826053079572,0.01054778260530796,0.02445221739469203
+5.64,0.0005469166538940505,0.01054691665389406,0.02445308334610594
+5.76,0.0005461681589517598,0.01054616815895177,0.02445383184104823
+5.88,0.0005455210123523956,0.0105455210123524,0.02445447898764759
+6,0.0005449615543521918,0.0105449615543522,0.0244550384456478
diff --git a/models/sbml-test-suite/cases/semantic/00076/00076-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00076/00076-sbml-l1v2.xml
new file mode 100644
index 0000000..4ca87b4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00076/00076-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00076">
+    <listOfCompartments>
+      <compartment name="compartment" volume="0.7" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.02" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.015" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="75"/>
+      <parameter name="k2" value="0.025"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00076/00076-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00076/00076-sbml-l2v4.xml
new file mode 100644
index 0000000..15cd6c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00076/00076-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00076" id="case00076" name="case00076">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="0.7" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00076/00076-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00076/00076-sbml-l3v1.xml
new file mode 100644
index 0000000..18718c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00076/00076-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00076" id="case00076" name="case00076" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="0.7" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00076/00076-settings.txt b/models/sbml-test-suite/cases/semantic/00076/00076-settings.txt
new file mode 100644
index 0000000..080d3c3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00076/00076-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00077/00077-results.csv b/models/sbml-test-suite/cases/semantic/00077/00077-results.csv
new file mode 100644
index 0000000..4fd2192
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00077/00077-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,1.7,2,1
+0.04,1.345690643262533,1.545690643262533,2.154309356737467,1.154309356737467
+0.08,1.242310875293056,1.442310875293056,2.257689124706944,1.257689124706944
+0.12,1.172062544997324,1.372062544997324,2.327937455002676,1.327937455002676
+0.16,1.123866449401868,1.323866449401868,2.376133550598133,1.376133550598133
+0.2,1.090581836986356,1.290581836986356,2.409418163013644,1.409418163013644
+0.24,1.067490501697485,1.267490501697485,2.432509498302515,1.432509498302515
+0.28,1.051420224535641,1.251420224535641,2.448579775464359,1.448579775464359
+0.32,1.040211666524886,1.240211666524886,2.459788333475113,1.459788333475114
+0.36,1.032382060267607,1.232382060267607,2.467617939732393,1.467617939732393
+0.4,1.026906972010435,1.226906972010435,2.473093027989565,1.473093027989565
+0.44,1.023075581800697,1.223075581800696,2.476924418199304,1.476924418199304
+0.48,1.02039304364579,1.22039304364579,2.47960695635421,1.47960695635421
+0.52,1.018513927670824,1.218513927670824,2.481486072329176,1.481486072329176
+0.56,1.017197428471936,1.217197428471937,2.482802571528064,1.482802571528064
+0.6,1.016275142610003,1.216275142610003,2.483724857389997,1.483724857389997
+0.64,1.015628499173571,1.215628499173571,2.484371500826429,1.484371500826429
+0.68,1.015175503426871,1.215175503426871,2.484824496573129,1.484824496573129
+0.72,1.014857843947978,1.214857843947978,2.485142156052022,1.485142156052022
+0.76,1.014635289446976,1.214635289446976,2.485364710553025,1.485364710553024
+0.8,1.014479166385348,1.214479166385348,2.485520833614653,1.485520833614652
+0.84,1.014369901000503,1.214369901000503,2.485630098999498,1.485630098999497
+0.88,1.014293067492449,1.21429306749245,2.485706932507551,1.485706932507551
+0.92,1.014239471146432,1.214239471146432,2.485760528853569,1.485760528853568
+0.96,1.014201693771354,1.214201693771354,2.485798306228646,1.485798306228646
+1,1.014175244999132,1.214175244999132,2.485824755000868,1.485824755000868
+1.04,1.014156869855309,1.214156869855309,2.485843130144691,1.485843130144691
+1.08,1.014143779365715,1.214143779365715,2.485856220634286,1.485856220634285
+1.12,1.014134635972575,1.214134635972575,2.485865364027425,1.485865364027425
+1.16,1.01412837786953,1.214128377869531,2.48587162213047,1.485871622130469
+1.2,1.014123892791626,1.214123892791626,2.485876107208374,1.485876107208374
+1.24,1.014120657096529,1.214120657096529,2.485879342903472,1.485879342903471
+1.28,1.014118472033279,1.214118472033279,2.485881527966722,1.485881527966721
+1.32,1.014117032291797,1.214117032291797,2.485882967708203,1.485882967708203
+1.36,1.014115951456608,1.214115951456608,2.485884048543392,1.485884048543392
+1.4,1.014115117421276,1.214115117421275,2.485884882578725,1.485884882578725
+1.44,1.014114554834453,1.214114554834453,2.485885445165546,1.485885445165547
+1.48,1.014114223915537,1.214114223915537,2.485885776084464,1.485885776084463
+1.52,1.014114030780063,1.214114030780062,2.485885969219937,1.485885969219938
+1.56,1.014113845470503,1.214113845470503,2.485886154529498,1.485886154529497
+1.6,1.014113689475497,1.214113689475498,2.485886310524503,1.485886310524502
+1.64,1.014113584251205,1.214113584251205,2.485886415748795,1.485886415748795
+1.68,1.014113522357218,1.214113522357218,2.485886477642782,1.485886477642782
+1.72,1.014113486233768,1.214113486233768,2.485886513766232,1.485886513766232
+1.76,1.014113451574126,1.214113451574127,2.485886548425874,1.485886548425873
+1.8,1.01411342239739,1.21411342239739,2.48588657760261,1.48588657760261
+1.84,1.014113402716621,1.214113402716621,2.485886597283379,1.485886597283379
+1.88,1.014113391140192,1.214113391140192,2.485886608859808,1.485886608859808
+1.92,1.014113384383791,1.214113384383791,2.485886615616209,1.485886615616209
+1.96,1.01411337797346,1.21411337797346,2.48588662202654,1.48588662202654
+2,1.014113372884704,1.214113372884704,2.485886627115296,1.485886627115296
diff --git a/models/sbml-test-suite/cases/semantic/00077/00077-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00077/00077-sbml-l1v2.xml
new file mode 100644
index 0000000..4bf205a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00077/00077-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00077">
+    <listOfCompartments>
+      <compartment name="compartment" volume="0.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.7" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="2" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00077/00077-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00077/00077-sbml-l2v4.xml
new file mode 100644
index 0000000..a3e396c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00077/00077-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00077" id="case00077" name="case00077">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="0.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.7" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00077/00077-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00077/00077-sbml-l3v1.xml
new file mode 100644
index 0000000..4f97352
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00077/00077-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00077" id="case00077" name="case00077" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="0.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.7" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00077/00077-settings.txt b/models/sbml-test-suite/cases/semantic/00077/00077-settings.txt
new file mode 100644
index 0000000..77b384f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00077/00077-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00078/00078-results.csv b/models/sbml-test-suite/cases/semantic/00078/00078-results.csv
new file mode 100644
index 0000000..9ad26e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00078/00078-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.75
+0.03,0.8607079760046011,0.6392920239953988,0.9589380359930983
+0.06,0.7408182187851266,0.7591817812148733,1.13877267182231
+0.09,0.6376281513619531,0.8623718486380468,1.29355777295707
+0.12,0.5488116324790245,0.9511883675209754,1.426782551281463
+0.15,0.4723665523675789,1.027633447632421,1.541450171448631
+0.18,0.4065696591817331,1.093430340818266,1.640145511227399
+0.21,0.3499377479934664,1.150062252006533,1.7250933780098
+0.24,0.3011942058973194,1.19880579410268,1.79820869115402
+0.27,0.2592402583065857,1.240759741693414,1.86113961254012
+0.3,0.2231301601145403,1.276869839885459,1.915304759828188
+0.33,0.192049908617731,1.307950091382268,1.961925137073402
+0.36,0.1652988879466963,1.334701112053302,2.002051668079954
+0.39,0.142274071178682,1.357725928821317,2.036588893231976
+0.42,0.122456427740621,1.377543572259378,2.066315358389067
+0.45,0.1053992239708796,1.394600776029119,2.091901164043679
+0.48,0.09071795221798294,1.409282047782015,2.113923071673023
+0.51,0.07808166359192761,1.421918336408071,2.132877504612106
+0.54,0.0672055124346767,1.432794487565321,2.149191731347982
+0.57,0.05784431885694214,1.442155681143056,2.163233521714584
+0.6,0.04978706762941471,1.450212932370583,2.175319398555875
+0.63,0.04285212678013002,1.457147873219868,2.185721809829802
+0.66,0.03688316733228994,1.463116832667708,2.194675249001562
+0.69,0.03174563593062018,1.468254364069378,2.202381546104067
+0.72,0.02732372157612305,1.472676278423875,2.209014417635812
+0.75,0.0235177450623918,1.476482254937606,2.214723382406409
+0.78,0.020241911392245,1.479758088607753,2.219637132911629
+0.81,0.01742237444284712,1.482577625557151,2.223866438335726
+0.84,0.01499557606320662,1.485004423936791,2.227506635905188
+0.87,0.01290681143214134,1.487093188567857,2.230639782851785
+0.9,0.01110899534694557,1.488891004653053,2.233336506979579
+0.93,0.009561600994777534,1.490438399005221,2.235657598507831
+0.96,0.008229746514211402,1.491770253485787,2.23765538022868
+0.99,0.0070834087604974,1.492916591239501,2.239374886859251
+1.02,0.006096746564734585,1.493903253435263,2.240854880152896
+1.05,0.005247518295685175,1.494752481704313,2.242128722556469
+1.08,0.004516580665897863,1.4954834193341,2.24322512900115
+1.11,0.003887456870325582,1.496112543129672,2.244168814694509
+1.14,0.003345965097746232,1.496654034902252,2.244981052353378
+1.17,0.002879898894963282,1.497120101105035,2.245680151657552
+1.2,0.002478752041516806,1.497521247958481,2.246281871937722
+1.23,0.002133481738219926,1.497866518261778,2.246799777392667
+1.26,0.001836304775287698,1.49816369522471,2.247245542837066
+1.29,0.001580522122116845,1.498419477877881,2.247629216816823
+1.32,0.001360367940232464,1.498639632059766,2.247959448089649
+1.35,0.001170879501987668,1.49882912049801,2.248243680747016
+1.38,0.00100778532226311,1.498992214677735,2.248488322016603
+1.41,0.0008674088848875772,1.499132591115111,2.248698886672666
+1.44,0.0007465857756517949,1.499253414224346,2.24888012133652
+1.47,0.0006425923557480322,1.49935740764425,2.249036111466375
+1.5,0.0005530843701503933,1.499446915629848,2.249170373444771
diff --git a/models/sbml-test-suite/cases/semantic/00078/00078-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00078/00078-sbml-l2v4.xml
new file mode 100644
index 0000000..9443865
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00078/00078-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00078" id="case00078" name="case00078">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00078/00078-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00078/00078-sbml-l3v1.xml
new file mode 100644
index 0000000..d9352ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00078/00078-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00078" id="case00078" name="case00078" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00078/00078-settings.txt b/models/sbml-test-suite/cases/semantic/00078/00078-settings.txt
new file mode 100644
index 0000000..08bc47c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00078/00078-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00079/00079-results.csv b/models/sbml-test-suite/cases/semantic/00079/00079-results.csv
new file mode 100644
index 0000000..0b1504b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00079/00079-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0002,0.00015,0.00015
+0.15,0.00008081786749845926,0.0001808178674984593,0.0001691821325015407,0.0001356134006238444
+0.3,0.00006655823476993413,0.0001665582347699341,0.0001834417652300658,0.0001249186760774506
+0.45,0.00005560572168996224,0.0001556057216899622,0.0001943942783100377,0.0001167042912674716
+0.6,0.00004698031046410292,0.0001469803104641029,0.0002030196895358971,0.0001102352328480772
+0.75,0.0000400528195984328,0.0001400528195984328,0.0002099471804015671,0.0001050396146988246
+0.9,0.00003440071970856081,0.0001344007197085608,0.0002155992802914391,0.0001008005397814206
+1.05,0.0000297296708879916,0.0001297296708879916,0.0002202703291120084,0.00009729725316599371
+1.2,0.00002582829645687315,0.0001258282964568731,0.0002241717035431268,0.00009437122234265488
+1.35,0.00002254085214418552,0.0001225408521441855,0.0002274591478558144,0.00009190563910813915
+1.5,0.00001975003977101087,0.0001197500397710108,0.0002302499602289892,0.00008981252982825815
+1.65,0.00001736582963922409,0.0001173658296392241,0.000232634170360776,0.00008802437222941807
+1.8,0.00001531797292908185,0.0001153179729290818,0.0002346820270709182,0.00008648847969681139
+1.95,0.00001355085810498809,0.000113550858104988,0.000236449141895012,0.00008516314357874107
+2.1,0.00001201989745082821,0.0001120198974508282,0.0002379801025491719,0.00008401492308812115
+2.25,0.00001068893731343204,0.000110688937313432,0.000239311062686568,0.00008301670298507403
+2.4,9.528366872111855e-6,0.0001095283668721118,0.0002404716331278883,0.00008214627515408389
+2.55,8.513717394436715e-6,0.0001085137173944367,0.0002414862826055634,0.00008138528804582754
+2.7,7.624607742300081e-6,0.0001076246077423,0.0002423753922577,0.00008071845580672505
+2.85,6.84394003292788e-6,0.0001068439400329278,0.0002431560599670723,0.0000801329550246959
+3.,6.15727913612228e-6,0.0001061572791361222,0.0002438427208638779,0.00007961795935209171
+3.15,5.552368348756283e-6,0.0001055523683487562,0.0002444476316512439,0.00007916427626156721
+3.3,5.018747096216342e-6,0.0001050187470962163,0.0002449812529037838,0.00007876406032216227
+3.45,4.547446539946668e-6,0.0001045474465399466,0.0002454525534600535,0.00007841058490496001
+3.6,4.130745706109385e-6,0.0001041307457061094,0.0002458692542938907,0.00007809805927958206
+3.75,3.761972564713332e-6,0.0001037619725647133,0.0002462380274352867,0.00007782147942353502
+3.9,3.43534311547266e-6,0.0001034353431154726,0.0002465646568845274,0.00007757650733660452
+4.05,3.145827940874638e-6,0.0001031458279408746,0.0002468541720591254,0.000077359370955656
+4.2,2.889042068839459e-6,0.0001028890420688394,0.0002471109579311606,0.0000771667815516296
+4.35,2.661153595424794e-6,0.0001026611535954248,0.0002473388464045752,0.00007699586519656862
+4.5,2.458806568257823e-6,0.0001024588065682578,0.0002475411934317422,0.00007684410492619338
+4.65,2.279056319180358e-6,0.0001022790563191803,0.0002477209436808197,0.00007670929223938527
+4.8,2.119314642288444e-6,0.0001021193146422884,0.0002478806853577115,0.00007658948598171634
+4.95,1.977303149524839e-6,0.0001019773031495248,0.0002480226968504751,0.00007648297736214365
+5.1,1.851013523391479e-6,0.0001018510135233915,0.0002481489864766084,0.00007638826014254361
+5.25,1.738673200439163e-6,0.0001017386732004391,0.0002482613267995607,0.00007630400490032938
+5.4,1.638716074588458e-6,0.0001016387160745884,0.0002483612839254114,0.00007622903705594135
+5.55,1.549757099746178e-6,0.0001015497570997461,0.0002484502429002536,0.00007616231782480963
+5.7,1.470570294757172e-6,0.0001014705702947571,0.0002485294297052426,0.00007610292772106789
+5.85,1.400069598371049e-6,0.000101400069598371,0.0002485999304016288,0.00007605005219877829
+6.,1.337292269367426e-6,0.0001013372922693674,0.0002486627077306324,0.00007600296920202558
+6.15,1.281384214941823e-6,0.0001012813842149418,0.000248718615785058,0.00007596103816120638
+6.3,1.231587583622904e-6,0.0001012315875836229,0.0002487684124163769,0.00007592369068771718
+6.45,1.187229312946346e-6,0.0001011872293129463,0.0002488127706870535,0.00007589042198470978
+6.6,1.147711488200044e-6,0.0001011477114882,0.0002488522885117998,0.00007586078361615004
+6.75,1.11250283516206e-6,0.000101112502835162,0.0002488874971648377,0.00007583437712637154
+6.9,1.081130902187849e-6,0.0001010811309021878,0.0002489188690978119,0.00007581084817664089
+7.05,1.053175706327654e-6,0.0001010531757063276,0.0002489468242936721,0.00007578988177974574
+7.2,1.028263471396072e-6,0.000101028263471396,0.0002489717365286037,0.00007577119760354705
+7.35,1.006061794658034e-6,0.000101006061794658,0.0002489939382053418,0.00007575454634599353
+7.5,9.862747192259888e-7,0.0001009862747192259,0.0002490137252807739,0.00007573970603941948
diff --git a/models/sbml-test-suite/cases/semantic/00079/00079-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00079/00079-sbml-l2v4.xml
new file mode 100644
index 0000000..bee9d19
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00079/00079-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00079" id="case00079" name="case00079">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="0.0025"/>
+      <parameter id="p1" name="p1" value="0.75"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00079/00079-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00079/00079-sbml-l3v1.xml
new file mode 100644
index 0000000..017ba11
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00079/00079-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00079" id="case00079" name="case00079" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0025" constant="true"/>
+      <parameter id="p1" name="p1" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00079/00079-settings.txt b/models/sbml-test-suite/cases/semantic/00079/00079-settings.txt
new file mode 100644
index 0000000..cd8a9d3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00079/00079-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 7.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00080/00080-results.csv b/models/sbml-test-suite/cases/semantic/00080/00080-results.csv
new file mode 100644
index 0000000..c74fb37
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00080/00080-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,1.,0,0,0,0
+1.,0.9048374180359039,0.005001228333422857,0.09016135363067331,0.02576038675162094,0.06440096687905236
+2.,0.81873075307754,0.01868716190434765,0.1625820850181125,0.04645202429088927,0.1161300607272231
+3.,0.7408182206807572,0.03930059668123809,0.2198811826380047,0.06282319503942993,0.1570579875985748
+4.,0.6703200460354038,0.06534611489969713,0.2643338390648992,0.07552395401854263,0.1888098850463565
+5.,0.6065306597127428,0.09555556461490918,0.2979137756723482,0.08511822162067093,0.2127955540516773
+6.,0.5488116360923064,0.1288578005464169,0.3223305633612767,0.09209444667465049,0.2302361166866262
+7.,0.4965853037895238,0.1643521814989771,0.3390625147114991,0.09687500420328545,0.2421875105082136
+8.,0.4493289641151712,0.2012853777149268,0.3493856581699018,0.09982447376282907,0.2495611844070726
+9.,0.4065696597408367,0.2390310932192192,0.354399247039944,0.1012569277256983,0.2531423193142457
+10.,0.3678794411699183,0.2770723537291697,0.3550482051009119,0.1014423443145462,0.2536058607863656
+11.,0.3328710836948183,0.3149860514991711,0.3521428648060104,0.1006122470874315,0.2515306177185788
+12.,0.3011942119099881,0.352429474128752,0.3463763139612599,0.09896466113178853,0.2474116528294713
+13.,0.2725317930334045,0.3891285764782901,0.3383396304883054,0.09666846585380153,0.2416711646345038
+14.,0.2465969639423488,0.4248677829577178,0.3285352530999333,0.09386721517140952,0.2346680379285238
+15.,0.2231301601493792,0.4594811324280999,0.3173887074225206,0.0906824878350059,0.2267062195875147
+16.,0.2018965179929995,0.4928446001519286,0.3052588818550715,0.08721682338716328,0.2180420584679082
+17.,0.182683524051438,0.5248694508176798,0.2924470251308817,0.08355629289453762,0.208890732236344
+18.,0.1652988882205959,0.5554964939519806,0.2792046178274233,0.07977274795069237,0.1994318698767309
+19.,0.149568619221904,0.5846911284990802,0.2657402522790157,0.07592578636543306,0.1898144659135826
+20.,0.1353352832361008,0.6124390767730282,0.2522256399908711,0.07206446856882031,0.1801611714220507
+21.,0.1224564282526542,0.63874272007428,0.2388008516730657,0.06822881476373306,0.1705720369093326
+22.,0.1108031583621599,0.6636179588276038,0.225578882810236,0.06445110937435316,0.1611277734358828
+23.,0.100258843723926,0.6870915294646313,0.2126496268114424,0.0607570362318407,0.1518925905796017
+24.,0.09071795329048584,0.7091987185333267,0.2000833281761873,0.05716666519319638,0.1429166629829909
+25.,0.08208499862491029,0.7299814218283263,0.1879335795467632,0.05369530844193234,0.1342382711048308
+26.,0.07427357821527655,0.7494865027401111,0.1762399190446121,0.05035426258417488,0.1258856564604372
+27.,0.06720551274062122,0.7677644097245179,0.1650300775348604,0.04715145072424584,0.1178786268106146
+28.,0.06081006262601914,0.7848680177749257,0.1543219195990549,0.04409197702830142,0.1102299425707535
+29.,0.05502322005714129,0.800851663189283,0.1441251167535755,0.04117860478673586,0.1029465119668396
+30.,0.04978706836853547,0.8157703447998138,0.1344425868316503,0.03841216766618581,0.09603041916546453
+31.,0.04504920239417217,0.8296790682439455,0.1252717293618818,0.03579192267482336,0.08947980668705841
+32.,0.04076220397912649,0.8426323128540738,0.1166054831667989,0.03331585233337113,0.08328963083342783
+33.,0.03688316740223248,0.8546836033789004,0.1084332292188664,0.03098092263396183,0.07745230658490456
+34.,0.03337326996145213,0.8658851710643436,0.1007415589742037,0.02878330256405822,0.07195825641014555
+35.,0.03019738342347413,0.8762876906511056,0.09351492592541967,0.02671855026440562,0.06679637566101404
+36.,0.02732372244837982,0.885940081628776,0.0867361959228436,0.0247817702636696,0.061954425659174
+37.,0.02472352647130077,0.8948893636456698,0.080387109883029,0.02296774568086543,0.05741936420216357
+38.,0.02237077185698059,0.9031805573401509,0.0744486708028678,0.02127104880081937,0.05317762200204842
+39.,0.02024191144647653,0.9108566230540404,0.06890146549948235,0.01968613299985209,0.04921533249963024
+40.,0.01831563888928142,0.9179584309330599,0.06372593017765799,0.018207408622188,0.04551852155546999
+41.,0.0165726754022089,0.9245247568310115,0.05890256776677881,0.01682930507622251,0.04207326269055628
+42.,0.01499557682085349,0.9305922992295035,0.05441212394964226,0.01554632112846921,0.03886580282117303
+43.,0.01356855901253162,0.936195713077694,0.05023572790977367,0.01435306511707819,0.03588266279269547
+44.,0.01227733990337768,0.9413676570591904,0.04635500303743118,0.01324428658212319,0.03311071645530798
+45.,0.01110899653854936,0.9461388513169161,0.04275215214453379,0.01221490061272394,0.03053725153180985
+46.,0.01005183574495275,0.9505381431211673,0.0394100211338793,0.01126000603825122,0.02815001509562806
+47.,0.009095277102036353,0.9545925783597876,0.0363121445381753,0.01037489843947865,0.02593724609869664
+48.,0.00822974704938636,0.9583274770699414,0.03344277588067154,0.009555078823049012,0.02388769705762252
+49.,0.007446583071316532,0.9617665115250151,0.03078690540366784,0.00879625868676224,0.0219906467169056
+50.,0.006737946999624693,0.9649317856433222,0.02833026735705258,0.008094362102015023,0.02023590525503755
diff --git a/models/sbml-test-suite/cases/semantic/00080/00080-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00080/00080-sbml-l2v4.xml
new file mode 100644
index 0000000..62f2625
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00080/00080-sbml-l2v4.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00080" id="case00080" name="case00080">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="func1" name="func1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <apply>
+                  <plus/>
+                  <ci> y </ci>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.15"/>
+      <parameter id="p1" name="p1" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> func1 </ci>
+            <ci> S3 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="rule2" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> S4 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00080/00080-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00080/00080-sbml-l3v1.xml
new file mode 100644
index 0000000..401400e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00080/00080-sbml-l3v1.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00080" id="case00080" name="case00080" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="func1" name="func1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <apply>
+                  <plus/>
+                  <ci> y </ci>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.15" constant="true"/>
+      <parameter id="p1" name="p1" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> func1 </ci>
+            <ci> S3 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="rule2" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> S4 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00080/00080-settings.txt b/models/sbml-test-suite/cases/semantic/00080/00080-settings.txt
new file mode 100644
index 0000000..83e51ab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00080/00080-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 50.0
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00081/00081-results.csv b/models/sbml-test-suite/cases/semantic/00081/00081-results.csv
new file mode 100644
index 0000000..6809c32
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00081/00081-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,0
+0.2,1.11123,0.388773,0.03
+0.4,0.823217,0.676783,0.06
+0.6,0.609854,0.890146,0.09
+0.8,0.451791,1.04821,0.12
+1,0.334695,1.1653,0.15
+1.2,0.247948,1.25205,0.18
+1.4,0.183685,1.31632,0.21
+1.6,0.136077,1.36392,0.24
+1.8,0.100808,1.39919,0.27
+2,0.0746806,1.42532,0.3
+2.2,0.0553248,1.44468,0.33
+2.4,0.0409856,1.45901,0.36
+2.6,0.0303629,1.46964,0.39
+2.8,0.0224934,1.47751,0.42
+3,0.0166635,1.48334,0.45
+3.2,0.0123446,1.48766,0.48
+3.4,0.00914512,1.49085,0.51
+3.6,0.00677487,1.49323,0.54
+3.8,0.00501895,1.49498,0.57
+4,0.00371813,1.49628,0.6
+4.2,0.00275446,1.49725,0.63
+4.4,0.00204055,1.49796,0.66
+4.6,0.00151168,1.49849,0.69
+4.8,0.00111988,1.49888,0.72
+5,0.000829627,1.49917,0.75
+5.2,0.000614602,1.49939,0.78
+5.4,0.000455309,1.49954,0.81
+5.6,0.000337301,1.49966,0.84
+5.8,0.000249879,1.49975,0.87
+6,0.000185115,1.49981,0.9
+6.2,0.000137136,1.49986,0.93
+6.4,0.000101593,1.4999,0.96
+6.6,7.5262e-005,1.49992,0.99
+6.8,5.57555e-005,1.49994,1.02
+7,4.13047e-005,1.49996,1.05
+7.2,3.05993e-005,1.49997,1.08
+7.4,2.26685e-005,1.49998,1.11
+7.6,1.67932e-005,1.49998,1.14
+7.8,1.24407e-005,1.49999,1.17
+8,9.21632e-006,1.49999,1.2
+8.2,6.82762e-006,1.49999,1.23
+8.4,5.05802e-006,1.49999,1.26
+8.6,3.74708e-006,1.5,1.29
+8.8,2.7759e-006,1.5,1.32
+9,2.05644e-006,1.5,1.35
+9.2,1.52345e-006,1.5,1.38
+9.4,1.1286e-006,1.5,1.41
+9.6,8.36086e-007,1.5,1.44
+9.8,6.19387e-007,1.5,1.47
+10,4.58853e-007,1.5,1.5
diff --git a/models/sbml-test-suite/cases/semantic/00081/00081-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00081/00081-sbml-l1v2.xml
new file mode 100644
index 0000000..c3810f8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00081/00081-sbml-l1v2.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00081">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.15" type="rate" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00081/00081-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00081/00081-sbml-l2v4.xml
new file mode 100644
index 0000000..fc7e3c7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00081/00081-sbml-l2v4.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00081" id="case00081" name="case00081">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00081/00081-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00081/00081-sbml-l3v1.xml
new file mode 100644
index 0000000..590e680
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00081/00081-sbml-l3v1.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00081" id="case00081" name="case00081" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00081/00081-settings.txt b/models/sbml-test-suite/cases/semantic/00081/00081-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00081/00081-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00082/00082-results.csv b/models/sbml-test-suite/cases/semantic/00082/00082-results.csv
new file mode 100644
index 0000000..9647b87
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00082/00082-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0015,0.002,0.0015,0.001
+0.06,0.00137507814862767,0.001875078148627671,0.001624921851372329,0.001059999999999999
+0.12,0.00126719742134552,0.001767197421345521,0.001732802578654479,0.001119999999999999
+0.18,0.001173119646956834,0.001673119646956834,0.001826880353043165,0.001179999999999999
+0.24,0.001090378147108593,0.001590378147108593,0.001909621852891407,0.001239999999999998
+0.3,0.001017060886518246,0.001517060886518246,0.001982939113481753,0.001299999999999998
+0.36,0.0009516628690340908,0.001451662869034091,0.002048337130965909,0.001359999999999998
+0.42,0.0008929832974654511,0.001392983297465451,0.002107016702534548,0.001419999999999998
+0.48,0.0008400524139912019,0.001340052413991202,0.002159947586008798,0.001479999999999998
+0.54,0.0007920784724773225,0.001292078472477322,0.002207921527522677,0.001539999999999998
+0.6,0.0007484086865106419,0.001248408686510641,0.002251591313489358,0.001599999999999998
+0.66,0.0007085000300235577,0.001208500030023557,0.002291499969976442,0.001659999999999998
+0.72,0.0006718970873112247,0.001171897087311224,0.002328102912688775,0.001719999999999998
+0.78,0.0006382150641021372,0.001138215064102136,0.002361784935897863,0.001779999999999998
+0.84,0.0006071266295859195,0.001107126629585919,0.00239287337041408,0.001839999999999998
+0.9,0.0005783515441294472,0.001078351544129447,0.002421648455870552,0.001899999999999998
+0.96,0.0005516485093991994,0.001051648509399199,0.0024483514906008,0.001959999999999998
+1.02,0.0005268086192602702,0.00102680861926027,0.002473191380739729,0.002019999999999998
+1.08,0.0005036500976545656,0.001003650097654565,0.002496349902345434,0.002079999999999998
+1.14,0.0004820140330258112,0.0009820140330258106,0.002517985966974188,0.002139999999999997
+1.2,0.0004617608983954129,0.0009617608983954123,0.002538239101604586,0.002199999999999997
+1.26,0.0004427676760514547,0.000942767676051454,0.002557232323948544,0.002259999999999997
+1.32,0.0004249254868184779,0.0009249254868184771,0.002575074513181521,0.002319999999999997
+1.38,0.0004081376148488995,0.0009081376148488987,0.0025918623851511,0.002379999999999997
+1.44,0.0003923178545884004,0.0008923178545883996,0.002607682145411599,0.002439999999999997
+1.5,0.0003773891211367695,0.0008773891211367688,0.00262261087886323,0.002499999999999997
+1.56,0.0003632822691917447,0.0008632822691917439,0.002636717730808255,0.002559999999999997
+1.62,0.0003499351093920424,0.0008499351093920416,0.002650064890607957,0.002619999999999997
+1.68,0.0003372915370316162,0.0008372915370316155,0.002662708462968384,0.002679999999999997
+1.74,0.0003253008165265972,0.0008253008165265966,0.002674699183473403,0.002739999999999998
+1.8,0.0003139169553180486,0.0008139169553180479,0.002686083044681952,0.002799999999999998
+1.86,0.0003030981486100249,0.0008030981486100243,0.002696901851389975,0.002859999999999998
+1.92,0.0002928063336382183,0.0007928063336382178,0.002707193666361782,0.002919999999999998
+1.98,0.0002830067572119695,0.000783006757211969,0.002716993242788031,0.002979999999999998
+2.04,0.0002736676412238118,0.0007736676412238113,0.002726332358776189,0.003039999999999998
+2.1,0.0002647598621988913,0.0007647598621988906,0.002735240137801109,0.003099999999999998
+2.16,0.0002562566780759379,0.0007562566780759373,0.002743743321924063,0.003159999999999998
+2.22,0.000248133498035157,0.0007481334980351565,0.002751866501964843,0.003219999999999998
+2.28,0.000240367660238228,0.0007403676602382277,0.002759632339761772,0.003279999999999998
+2.34,0.0002329382505222779,0.0007329382505222776,0.002767061749477722,0.003339999999999998
+2.4,0.0002258259402493775,0.0007258259402493772,0.002774174059750623,0.003399999999999998
+2.46,0.000219012834014918,0.0007190128340149177,0.002780987165985083,0.003459999999999998
+2.52,0.0002124823390034832,0.0007124823390034829,0.002787517660996518,0.003519999999999998
+2.58,0.000206219049529157,0.0007062190495291566,0.002793780950470844,0.003579999999999998
+2.64,0.0002002086452446645,0.0007002086452446641,0.002799791354755336,0.003639999999999999
+2.7,0.0001944377936278993,0.0006944377936278988,0.002805562206372102,0.003699999999999999
+2.76,0.0001888940683960155,0.0006888940683960151,0.002811105931603985,0.003759999999999998
+2.82,0.0001835658709395443,0.0006835658709395439,0.002816434129060456,0.003819999999999998
+2.88,0.0001784423648233237,0.0006784423648233233,0.002821557635176677,0.003879999999999998
+2.94,0.0001735134135837644,0.0006735134135837641,0.002826486586416236,0.003939999999999998
+3.,0.0001687695243721802,0.0006687695243721798,0.002831230475627821,0.003999999999999998
diff --git a/models/sbml-test-suite/cases/semantic/00082/00082-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00082/00082-sbml-l1v2.xml
new file mode 100644
index 0000000..82bce4c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00082/00082-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00082">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.002" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0.001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="750"/>
+      <parameter name="k2" value="0.0025"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="(1/1000)" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00082/00082-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00082/00082-sbml-l2v4.xml
new file mode 100644
index 0000000..d0280b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00082/00082-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00082" id="case00082" name="case00082">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="0.0025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 1000 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00082/00082-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00082/00082-sbml-l3v1.xml
new file mode 100644
index 0000000..99703f1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00082/00082-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00082" id="case00082" name="case00082" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 1000 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00082/00082-settings.txt b/models/sbml-test-suite/cases/semantic/00082/00082-settings.txt
new file mode 100644
index 0000000..e4c2297
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00082/00082-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00083/00083-results.csv b/models/sbml-test-suite/cases/semantic/00083/00083-results.csv
new file mode 100644
index 0000000..7ac54ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00083/00083-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2,1.5,4
+0.2,1.29106,2.20894,1.575,3.975
+0.4,1.11123,2.38877,1.65,3.95
+0.6,0.956442,2.54356,1.725,3.925
+0.8,0.823217,2.67678,1.8,3.9
+1,0.70855,2.79145,1.875,3.875
+1.2,0.609854,2.89015,1.95,3.85
+1.4,0.524907,2.97509,2.025,3.825
+1.6,0.451791,3.04821,2.1,3.8
+1.8,0.38886,3.11114,2.175,3.775
+2,0.334695,3.1653,2.25,3.75
+2.2,0.288075,3.21193,2.325,3.725
+2.4,0.247948,3.25205,2.4,3.7
+2.6,0.213411,3.28659,2.475,3.675
+2.8,0.183685,3.31632,2.55,3.65
+3,0.158099,3.3419,2.625,3.625
+3.2,0.136077,3.36392,2.7,3.6
+3.4,0.117122,3.38288,2.775,3.575
+3.6,0.100808,3.39919,2.85,3.55
+3.8,0.0867665,3.41323,2.925,3.525
+4,0.0746806,3.42532,3,3.5
+4.2,0.0642782,3.43572,3.075,3.475
+4.4,0.0553248,3.44468,3.15,3.45
+4.6,0.0476185,3.45238,3.225,3.425
+4.8,0.0409856,3.45901,3.3,3.4
+5,0.0352766,3.46472,3.375,3.375
+5.2,0.0303629,3.46964,3.45,3.35
+5.4,0.0261336,3.47387,3.525,3.325
+5.6,0.0224934,3.47751,3.6,3.3
+5.8,0.0193602,3.48064,3.675,3.275
+6,0.0166635,3.48334,3.75,3.25
+6.2,0.0143424,3.48566,3.825,3.225
+6.4,0.0123446,3.48766,3.9,3.2
+6.6,0.0106251,3.48937,3.975,3.175
+6.8,0.00914512,3.49085,4.05,3.15
+7,0.00787128,3.49213,4.125,3.125
+7.2,0.00677487,3.49323,4.2,3.1
+7.4,0.00583119,3.49417,4.275,3.075
+7.6,0.00501895,3.49498,4.35,3.05
+7.8,0.00431985,3.49568,4.425,3.025
+8,0.00371813,3.49628,4.5,3
+8.2,0.00320022,3.4968,4.575,2.975
+8.4,0.00275446,3.49725,4.65,2.95
+8.6,0.00237078,3.49763,4.725,2.925
+8.8,0.00204055,3.49796,4.8,2.9
+9,0.00175632,3.49824,4.875,2.875
+9.2,0.00151168,3.49849,4.95,2.85
+9.4,0.00130111,3.4987,5.025,2.825
+9.6,0.00111988,3.49888,5.1,2.8
+9.8,0.000963889,3.49904,5.175,2.775
+10,0.000829627,3.49917,5.25,2.75
diff --git a/models/sbml-test-suite/cases/semantic/00083/00083-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00083/00083-sbml-l1v2.xml
new file mode 100644
index 0000000..5c7644b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00083/00083-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00083">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="2" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="4" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.5 * k1" type="rate" species="S3"/>
+      <speciesConcentrationRule formula="-0.5 * k2" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00083/00083-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00083/00083-sbml-l2v4.xml
new file mode 100644
index 0000000..f21a3d5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00083/00083-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00083" id="case00083" name="case00083">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00083/00083-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00083/00083-sbml-l3v1.xml
new file mode 100644
index 0000000..5e97827
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00083/00083-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00083" id="case00083" name="case00083" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00083/00083-settings.txt b/models/sbml-test-suite/cases/semantic/00083/00083-settings.txt
new file mode 100644
index 0000000..76bab9a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00083/00083-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00084/00084-results.csv b/models/sbml-test-suite/cases/semantic/00084/00084-results.csv
new file mode 100644
index 0000000..ab4f8ff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00084/00084-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,0
+0.2,1.357256127053428,0.1427438729465714,0.02999999999999997
+0.4,1.228096129429214,0.2719038705707859,0.05999999999999998
+0.6,1.111227328652719,0.38877267134728,0.08999999999999999
+0.8,1.005480061768341,0.4945199382316579,0.12
+1.,0.9097959792141546,0.5902040207858453,0.15
+1.2,0.8232174440471927,0.6767825559528072,0.18
+1.4,0.7448779486604566,0.7551220513395433,0.21
+1.6,0.6739934250319198,0.8260065749680801,0.24
+1.8,0.609854468508766,0.8901455314912339,0.27
+2.,0.5518191490426368,0.9481808509573631,0.3000000000000001
+2.2,0.4993066045463078,1.000693395453692,0.3300000000000001
+2.4,0.4517913111548999,1.0482086888451,0.3600000000000001
+2.6,0.4087976698717358,1.091202330128264,0.3900000000000001
+2.8,0.3698954415356814,1.130104558464318,0.4200000000000002
+3.,0.3346952123701,1.1653047876299,0.4500000000000001
+3.2,0.3028447399044904,1.197155260095509,0.4800000000000001
+3.4,0.2740252629181825,1.225974737081817,0.5100000000000002
+3.6,0.2479483294245126,1.252051670575487,0.5400000000000001
+3.8,0.2243529237471261,1.275647076252874,0.5700000000000001
+4.,0.2030029055070209,1.296997094492979,0.6
+4.2,0.1836846201105935,1.316315379889406,0.6300000000000002
+4.4,0.1662047257394442,1.333795274260556,0.6600000000000002
+4.6,0.1503882650222622,1.349611734977738,0.6900000000000001
+4.8,0.1360769251016774,1.363923074898323,0.7200000000000002
+5.,0.1231274849341658,1.376872515065834,0.75
+5.2,0.1114103542653585,1.388589645734642,0.78
+5.4,0.1008082633951715,1.399191736604829,0.81
+5.6,0.09121509392944982,1.40878490607055,0.84
+5.8,0.08253482600323869,1.417465173996761,0.8700000000000001
+6.,0.07468059406233876,1.425319405937661,0.9
+6.2,0.0675737961259077,1.432426203874092,0.93
+6.4,0.06114330338590592,1.438856696614094,0.96
+6.6,0.05532475100542715,1.444675248994573,0.9900000000000001
+6.8,0.05005990175288475,1.449940098247116,1.02
+7.,0.04529606973202827,1.454703930267972,1.05
+7.2,0.04098557951945122,1.459014420480549,1.08
+7.4,0.03708528865056771,1.462914711349433,1.11
+7.6,0.03355615751727949,1.466443842482721,1.14
+7.8,0.03036286481653946,1.469637135183461,1.17
+8.,0.02747345497862662,1.472526545021374,1.2
+8.2,0.02485901086499449,1.475140989135006,1.23
+8.4,0.02249336486444446,1.477506635135556,1.26
+8.6,0.02035283815978888,1.479647161840211,1.29
+8.8,0.01841600819348908,1.481583991806511,1.32
+9.,0.01666349277242664,1.483336507227574,1.35
+9.2,0.0150777524548418,1.484922247545159,1.38
+9.4,0.01364291556013602,1.486357084439864,1.41
+9.6,0.01234462020696607,1.487655379793034,1.440000000000001
+9.8,0.01116987410893719,1.488830125891063,1.47
+10.,0.01010692049869076,1.48989307950131,1.5
diff --git a/models/sbml-test-suite/cases/semantic/00084/00084-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00084/00084-sbml-l2v4.xml
new file mode 100644
index 0000000..2c619d2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00084/00084-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00084" id="case00084" name="case00084">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <cn> 0.05 </cn>
+            <cn type="integer"> 3 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00084/00084-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00084/00084-sbml-l3v1.xml
new file mode 100644
index 0000000..560f6ad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00084/00084-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00084" id="case00084" name="case00084" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <cn> 0.05 </cn>
+            <cn type="integer"> 3 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00084/00084-settings.txt b/models/sbml-test-suite/cases/semantic/00084/00084-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00084/00084-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00085/00085-results.csv b/models/sbml-test-suite/cases/semantic/00085/00085-results.csv
new file mode 100644
index 0000000..a9c17e3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00085/00085-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5e-6,1.999999999999999e-6,1.5e-6,9.999999999999999e-7
+0.04,1.429101617374899e-6,1.929101617374899e-6,1.5708983826251e-6,1.039999999999999e-6
+0.08,1.365640510436678e-6,1.865640510436678e-6,1.634359489563321e-6,1.079999999999999e-6
+0.12,1.308619235011071e-6,1.808619235011071e-6,1.691380764988928e-6,1.119999999999999e-6
+0.16,1.257208281669946e-6,1.757208281669946e-6,1.742791718330054e-6,1.159999999999999e-6
+0.2,1.210712125804626e-6,1.710712125804627e-6,1.789287874195373e-6,1.199999999999999e-6
+0.24,1.168543198528488e-6,1.668543198528488e-6,1.831456801471511e-6,1.239999999999999e-6
+0.28,1.130201698254015e-6,1.630201698254015e-6,1.869798301745984e-6,1.279999999999999e-6
+0.32,1.095259799256283e-6,1.595259799256283e-6,1.904740200743717e-6,1.319999999999999e-6
+0.36,1.063349113775737e-6,1.563349113775737e-6,1.936650886224262e-6,1.359999999999999e-6
+0.4,1.034150748793527e-6,1.534150748793527e-6,1.965849251206472e-6,1.399999999999999e-6
+0.44,1.007387238334951e-6,1.507387238334951e-6,1.992612761665048e-6,1.439999999999999e-6
+0.48,9.828160565256459e-7,1.482816056525646e-6,2.017183943474353e-6,1.479999999999999e-6
+0.52,9.602242896181551e-7,1.460224289618155e-6,2.039775710381844e-6,1.519999999999999e-6
+0.56,9.394242649249865e-7,1.439424264924987e-6,2.060575735075013e-6,1.559999999999999e-6
+0.6,9.20249933890922e-7,1.420249933890922e-6,2.079750066109077e-6,1.599999999999999e-6
+0.64,9.025538599989074e-7,1.402553859998908e-6,2.097446140001092e-6,1.639999999999999e-6
+0.68,8.862047133005753e-7,1.386204713300576e-6,2.113795286699424e-6,1.679999999999999e-6
+0.72,8.710851185562283e-7,1.371085118556229e-6,2.128914881443771e-6,1.719999999999999e-6
+0.76,8.570899097144852e-7,1.357089909714485e-6,2.142910090285515e-6,1.759999999999999e-6
+0.8,8.441245760577852e-7,1.344124576057785e-6,2.155875423942215e-6,1.799999999999999e-6
+0.84,8.321039667333955e-7,1.332103966733396e-6,2.167896033266605e-6,1.84e-6
+0.88,8.20951202549713e-7,1.320951202549713e-6,2.179048797450287e-6,1.879999999999999e-6
+0.92,8.105966860091018e-7,1.310596686009102e-6,2.189403313990898e-6,1.919999999999999e-6
+0.96,8.00977314072616e-7,1.300977314072616e-6,2.199022685927384e-6,1.959999999999999e-6
+1.,7.920357183528692e-7,1.292035718352869e-6,2.207964281647131e-6,1.999999999999999e-6
+1.04,7.837196837418143e-7,1.283719683741815e-6,2.216280316258187e-6,2.04e-6
+1.08,7.759815828986375e-7,1.275981582898638e-6,2.224018417101364e-6,2.08e-6
+1.12,7.687778986000643e-7,1.268777898600064e-6,2.231222101399937e-6,2.12e-6
+1.16,7.620688258916928e-7,1.262068825891693e-6,2.237931174108309e-6,2.159999999999999e-6
+1.2,7.558178872248252e-7,1.255817887224825e-6,2.244182112775177e-6,2.199999999999999e-6
+1.24,7.49991607692367e-7,1.249991607692367e-6,2.250008392307635e-6,2.239999999999999e-6
+1.28,7.445592377055501e-7,1.24455923770555e-6,2.255440762294452e-6,2.279999999999999e-6
+1.32,7.394924947483878e-7,1.239492494748388e-6,2.260507505251614e-6,2.319999999999999e-6
+1.36,7.347653328922174e-7,1.234765332892217e-6,2.265234667107784e-6,2.359999999999999e-6
+1.4,7.303537404846366e-7,1.230353740484636e-6,2.269646259515365e-6,2.399999999999999e-6
+1.44,7.26235559300547e-7,1.226235559300546e-6,2.273764440699455e-6,2.439999999999999e-6
+1.48,7.223903226105044e-7,1.222390322610504e-6,2.277609677389498e-6,2.479999999999999e-6
+1.52,7.187991133734252e-7,1.218799113373425e-6,2.281200886626577e-6,2.52e-6
+1.56,7.154444257006133e-7,1.215444425700613e-6,2.284555574299389e-6,2.559999999999999e-6
+1.6,7.12310050649281e-7,1.21231005064928e-6,2.287689949350721e-6,2.599999999999999e-6
+1.64,7.093809683763071e-7,1.209380968376307e-6,2.290619031623695e-6,2.639999999999999e-6
+1.68,7.06643251301966e-7,1.206643251301965e-6,2.293356748698036e-6,2.68e-6
+1.72,7.040839763086335e-7,1.204083976308633e-6,2.295916023691368e-6,2.72e-6
+1.76,7.01691144999293e-7,1.201691144999293e-6,2.298308855000709e-6,2.76e-6
+1.8,6.994536111602286e-7,1.199453611160228e-6,2.300546388839773e-6,2.8e-6
+1.84,6.973610146762509e-7,1.19736101467625e-6,2.302638985323751e-6,2.84e-6
+1.88,6.954037212261433e-7,1.195403721226143e-6,2.304596278773858e-6,2.88e-6
+1.92,6.935727664703723e-7,1.193572766470372e-6,2.306427233529629e-6,2.92e-6
+1.96,6.918598093163473e-7,1.191859809316347e-6,2.308140190683655e-6,2.96e-6
+2.,6.902570786598537e-7,1.190257078659853e-6,2.309742921340148e-6,2.999999999999999e-6
diff --git a/models/sbml-test-suite/cases/semantic/00085/00085-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00085/00085-sbml-l2v4.xml
new file mode 100644
index 0000000..6294f82
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00085/00085-sbml-l2v4.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00085" id="case00085" name="case00085">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k2 </ci>
+            <cn type="e-notation"> 4 <sep/> -6 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00085/00085-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00085/00085-sbml-l3v1.xml
new file mode 100644
index 0000000..639da86
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00085/00085-sbml-l3v1.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00085" id="case00085" name="case00085" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k2 </ci>
+            <cn type="e-notation"> 4 <sep/> -6 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00085/00085-settings.txt b/models/sbml-test-suite/cases/semantic/00085/00085-settings.txt
new file mode 100644
index 0000000..c94e1f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00085/00085-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00086/00086-results.csv b/models/sbml-test-suite/cases/semantic/00086/00086-results.csv
new file mode 100644
index 0000000..2172a05
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00086/00086-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.2,1.291061964126633,2.208938035873365,1.575,3.974999999999997
+0.4,1.111227328999979,2.388772671000018,1.65,3.949999999999997
+0.6,0.9564422260573599,2.543557773942637,1.725,3.924999999999997
+0.8,0.8232174417704156,2.676782558229582,1.8,3.899999999999997
+1.,0.7085498146778015,2.791450185322196,1.875,3.874999999999996
+1.2,0.6098544791208975,2.8901455208791,1.95,3.849999999999996
+1.4,0.524906503928793,2.975093496071204,2.025,3.824999999999996
+1.6,0.4517913176949686,3.04820868230503,2.100000000000001,3.799999999999997
+1.8,0.3888603886615855,3.111139611338413,2.175000000000002,3.774999999999997
+2.,0.3346952383710083,3.16530476162899,2.250000000000002,3.749999999999997
+2.2,0.2880748606225309,3.211925139377469,2.325000000000002,3.724999999999996
+2.4,0.2479483283895992,3.2520516716104,2.400000000000002,3.699999999999996
+2.6,0.2134111022386297,3.28658889776137,2.475000000000002,3.674999999999996
+2.8,0.1836846422110086,3.316315357788991,2.550000000000002,3.649999999999996
+3.,0.1580988308679081,3.341901169132091,2.625000000000002,3.624999999999996
+3.2,0.1360769225598581,3.363923077440142,2.700000000000002,3.599999999999996
+3.4,0.1171224913226296,3.382877508677371,2.775000000000003,3.574999999999995
+3.6,0.1008082620792309,3.399191737920769,2.850000000000003,3.549999999999995
+3.8,0.08676647559205617,3.413233524407944,2.925000000000002,3.524999999999995
+4.,0.07468059430005927,3.425319405699941,3.000000000000003,3.499999999999995
+4.2,0.06427818450460404,3.435721815495396,3.075000000000002,3.474999999999995
+4.4,0.05532474853920612,3.444675251460794,3.150000000000002,3.449999999999994
+4.6,0.04761845427776668,3.452381545722233,3.225000000000003,3.424999999999994
+4.8,0.04098558327925753,3.459014416720743,3.300000000000003,3.399999999999994
+5.,0.03527661690205007,3.46472338309795,3.375000000000002,3.374999999999994
+5.2,0.03036286426974758,3.469637135730252,3.450000000000002,3.349999999999993
+5.4,0.02613355906881876,3.473866440931181,3.525000000000002,3.324999999999994
+5.6,0.02249336317323212,3.477506636826768,3.600000000000002,3.299999999999993
+5.8,0.01936021793923888,3.480639782060761,3.675000000000002,3.274999999999993
+6.,0.01666349468975461,3.483336505310246,3.750000000000001,3.249999999999993
+6.2,0.0143424027752596,3.485657597224741,3.825000000000001,3.224999999999993
+6.4,0.01234461993751979,3.48765538006248,3.900000000000001,3.199999999999992
+6.6,0.01062511239180348,3.489374887608196,3.975000000000001,3.174999999999992
+6.8,0.00914511883627382,3.490854881163726,4.050000000000001,3.149999999999992
+7.,0.007871276868823579,3.492128723131176,4.125000000000001,3.124999999999992
+7.2,0.006774871075802334,3.493225128924198,4.200000000000001,3.099999999999991
+7.4,0.005831185817979645,3.49416881418202,4.275000000000001,3.074999999999991
+7.6,0.00501894814949461,3.494981051850506,4.350000000000001,3.049999999999991
+7.8,0.004319848522474589,3.495680151477526,4.425,3.024999999999991
+8.,0.003718127919023451,3.496281872080977,4.5,2.999999999999991
+8.2,0.003200222300893763,3.496799777699107,4.575000000000001,2.97499999999999
+8.4,0.002754456906723903,3.497245543093276,4.65,2.94999999999999
+8.6,0.002370783130531548,3.497629216869469,4.724999999999999,2.92499999999999
+8.8,0.002040552037546954,3.497959447962453,4.799999999999999,2.89999999999999
+9.,0.001756319420144707,3.498243680579856,4.874999999999999,2.87499999999999
+9.2,0.001511678071223855,3.498488321928777,4.949999999999999,2.849999999999989
+9.4,0.001301113316543749,3.498698886683457,5.024999999999999,2.824999999999989
+9.6,0.001119878588677131,3.498880121411323,5.099999999999999,2.799999999999989
+9.8,0.0009638884488152033,3.499036111551186,5.174999999999998,2.774999999999988
+10.,0.0008296265552260677,3.499170373444775,5.249999999999999,2.749999999999988
diff --git a/models/sbml-test-suite/cases/semantic/00086/00086-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00086/00086-sbml-l2v4.xml
new file mode 100644
index 0000000..54a7e3b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00086/00086-sbml-l2v4.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00086" id="case00086" name="case00086">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+            </apply>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00086/00086-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00086/00086-sbml-l3v1.xml
new file mode 100644
index 0000000..8cd9006
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00086/00086-sbml-l3v1.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00086" id="case00086" name="case00086" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+            </apply>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00086/00086-settings.txt b/models/sbml-test-suite/cases/semantic/00086/00086-settings.txt
new file mode 100644
index 0000000..76bab9a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00086/00086-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00087/00087-results.csv b/models/sbml-test-suite/cases/semantic/00087/00087-results.csv
new file mode 100644
index 0000000..fb931c1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00087/00087-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5e-15,1.125e-15
+0.004,0.8187307530723747,0.1812692469276268,0.1359519351957201
+0.008,0.6703200430580986,0.329679956941903,0.2472599677064272
+0.012,0.5488116293468805,0.451188370653121,0.3383912779898408
+0.016,0.4493289546252374,0.5506710453747641,0.4130032840310731
+0.02,0.3678794359139681,0.6321205640860333,0.4740904230645249
+0.024,0.3011942094467193,0.6988057905532822,0.5241043429149616
+0.028,0.2465969626674991,0.7534030373325025,0.5650522779993769
+0.032,0.2018964935291754,0.7981035064708261,0.5985776298531195
+0.036,0.1652988849678202,0.8347011150321813,0.6260258362741359
+0.04,0.1353352714954645,0.864664728504537,0.6484985463784027
+0.044,0.1108031494985982,0.8891968505014032,0.6668976378760525
+0.048,0.09071795082690521,0.9092820491730961,0.6819615368798221
+0.052,0.07427356932635879,0.9257264306736424,0.6942948230052318
+0.056,0.06081006253263057,0.9391899374673706,0.704392453100528
+0.06,0.0497870629171926,0.9502129370828087,0.7126597028121065
+0.064,0.04076220197461959,0.9592377980253817,0.7194283485190363
+0.068,0.03337326805451652,0.9666267319454848,0.7249700489591136
+0.072,0.02732371957386455,0.9726762804261367,0.7295072103196025
+0.076,0.02237077174195353,0.9776292282580476,0.7332219211935358
+0.08,0.01831563666972636,0.9816843633302748,0.7362632724977061
+0.084,0.01499557652386406,0.9850044234761372,0.7387533176071029
+0.088,0.01227733883928211,0.9877226611607191,0.7407919958705393
+0.092,0.01005183493943785,0.9899481650605633,0.7424611237954225
+0.096,0.008229746826545095,0.9917702531734561,0.743827689880092
+0.1,0.006737946192598444,0.9932620538074027,0.744946540355552
+0.104,0.005516564412195571,0.9944834355878056,0.7458625766908542
+0.108,0.00451658044847067,0.9954834195515304,0.7466125646636477
+0.112,0.003697863534266975,0.9963021364657341,0.7472266023493006
+0.116,0.003027554572863586,0.9969724454271375,0.7477293340703532
+0.12,0.002478751915807851,0.9975212480841935,0.7481409360631451
+0.124,0.002029430626058564,0.9979705693739428,0.7484779270304571
+0.128,0.001661557071911287,0.9983384429280901,0.7487538321960676
+0.132,0.001360368010508971,0.9986396319894924,0.7489797239921193
+0.136,0.00111377505146256,0.9988862249485388,0.7491646687114041
+0.14,0.0009118818924094849,0.9990881181075919,0.7493160885806939
+0.144,0.0007465857882774603,0.9992534142117238,0.7494400606587928
+0.148,0.0006112526879497787,0.9993887473120517,0.7495415604840387
+0.152,0.0005004514326483704,0.9994995485673531,0.7496246614255148
+0.156,0.0004097349341824022,0.999590265065819,0.7496926987993642
+0.16,0.0003354626113323167,0.9996645373886691,0.7497484030415018
+0.164,0.0002746535543565629,0.9997253464456448,0.7497940098342336
+0.168,0.0002248673004973711,0.9997751326995039,0.7498313495246279
+0.172,0.0001841057927500737,0.999815894207251,0.7498619206554382
+0.176,0.0001507330568411096,0.99984926694316,0.7498869502073699
+0.18,0.0001234098016218831,0.9998765901983791,0.7499074426487843
+0.184,0.0001010393931045971,0.9998989606068964,0.7499242204551723
+0.188,0.00008272405891206208,0.9999172759410889,0.7499379569558166
+0.192,0.00006772873467503825,0.999932271265326,0.7499492034489945
+0.196,0.00005545159279193006,0.999944548407209,0.7499584113054067
+0.2,0.0000453999297631575,0.9999546000702378,0.7499659500526784
diff --git a/models/sbml-test-suite/cases/semantic/00087/00087-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00087/00087-sbml-l1v2.xml
new file mode 100644
index 0000000..b8f8ec0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00087/00087-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00087">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * S2" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00087/00087-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00087/00087-sbml-l2v4.xml
new file mode 100644
index 0000000..5c39b54
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00087/00087-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00087" id="case00087" name="case00087">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00087/00087-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00087/00087-sbml-l3v1.xml
new file mode 100644
index 0000000..6c9eaa2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00087/00087-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00087" id="case00087" name="case00087" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00087/00087-settings.txt b/models/sbml-test-suite/cases/semantic/00087/00087-settings.txt
new file mode 100644
index 0000000..4bd389f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00087/00087-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00088/00088-results.csv b/models/sbml-test-suite/cases/semantic/00088/00088-results.csv
new file mode 100644
index 0000000..639af3d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00088/00088-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5,1.5
+0.002,0.9048374180298151,1.595162581970184,1.357256127044722
+0.004,0.8187307530681273,1.681269246931872,1.228096129602191
+0.006,0.7408182193488152,1.759181780651184,1.111227329023222
+0.008,0.6703200446005016,1.829679955399498,1.005480066900752
+0.01,0.6065306582216469,1.893469341778353,0.9097959873324704
+0.012,0.5488116279746936,1.951188372025306,0.8232174419620403
+0.014,0.4965852942194755,2.003414705780524,0.7448779413292133
+0.016,0.4493289550124405,2.05067104498756,0.6739934325186607
+0.018,0.4065696526281135,2.093430347371887,0.6098544789421702
+0.02,0.367879420534622,2.132120579465379,0.551819130801933
+0.022,0.332871083685481,2.167128916314521,0.4993066255282215
+0.024,0.3011942117955147,2.198805788204488,0.4517913176932721
+0.026,0.272531792936601,2.227468207063402,0.4087976894049015
+0.028,0.2465969635581143,2.253403036441888,0.3698954453371715
+0.03,0.2231301588787694,2.276869841121233,0.3346952383181541
+0.032,0.2018965179678406,2.298103482032162,0.302844776951761
+0.034,0.1826835239954876,2.317316476004514,0.2740252859932314
+0.036,0.1652988855842224,2.334701114415779,0.2479483283763336
+0.038,0.1495686148809349,2.350431385119067,0.2243529223214024
+0.04,0.1353352814487064,2.364664718551296,0.2030029221730597
+0.042,0.1224564281022391,2.377543571897763,0.1836846421533586
+0.044,0.1108031507393283,2.389196849260674,0.1662047261089925
+0.046,0.1002588432860093,2.399741156713993,0.1503882649290139
+0.048,0.09071794848096638,2.409282051519036,0.1360769227214495
+0.05,0.08208499477447869,2.417915005225524,0.123127492161718
+0.052,0.07427357749555751,2.425726422504445,0.1114103662433362
+0.054,0.06720550805915247,2.43279449194085,0.1008082620887287
+0.056,0.06081006192096977,2.439189938079032,0.09121509288145465
+0.058,0.05502321675213212,2.444976783247871,0.08253482512819818
+0.06,0.04978706287890981,2.450212937121093,0.07468059431836471
+0.062,0.04504919917276128,2.454950800827242,0.06757379875914193
+0.064,0.04076220388614407,2.459237796113859,0.0611433058292161
+0.066,0.03688316573382829,2.463116834266175,0.05532474860074244
+0.068,0.03337326638582902,2.466626733614174,0.05005989957874354
+0.07,0.03019738086628357,2.46980261913372,0.04529607129942536
+0.072,0.02732372217357464,2.472676277826429,0.04098558326036196
+0.074,0.02472352571198212,2.475276474288021,0.03708528856797319
+0.076,0.02237076960334407,2.477629230396659,0.03355615440501611
+0.078,0.02024190951058104,2.479758090489422,0.03036286426587157
+0.08,0.01831563849185267,2.48168436150815,0.027473457737779
+0.082,0.01657267511024451,2.483427324889758,0.02485901266536676
+0.084,0.01499557545045937,2.485004424549543,0.02249336317568905
+0.086,0.01356855760362629,2.486431442396376,0.02035283640543943
+0.088,0.01227733946482116,2.487722660535182,0.01841600919723174
+0.09,0.01110899645777147,2.488891003542231,0.01666349468665721
+0.092,0.01005183494493383,2.489948165055069,0.01507775241740075
+0.094,0.00909527611150167,2.490904723888501,0.0136429141672525
+0.096,0.008229746631288649,2.491770253368714,0.01234461994693297
+0.098,0.00744658306782908,2.492553416932173,0.01116987460174362
+0.1,0.006737946999097323,2.493262053000905,0.01010692049864598
diff --git a/models/sbml-test-suite/cases/semantic/00088/00088-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00088/00088-sbml-l1v2.xml
new file mode 100644
index 0000000..97d322a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00088/00088-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00088">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.5"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * S1" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00088/00088-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00088/00088-sbml-l2v4.xml
new file mode 100644
index 0000000..c7ebe09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00088/00088-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00088" id="case00088" name="case00088">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00088/00088-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00088/00088-sbml-l3v1.xml
new file mode 100644
index 0000000..1f5a859
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00088/00088-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00088" id="case00088" name="case00088" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00088/00088-settings.txt b/models/sbml-test-suite/cases/semantic/00088/00088-settings.txt
new file mode 100644
index 0000000..82f7a2e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00088/00088-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00089/00089-results.csv b/models/sbml-test-suite/cases/semantic/00089/00089-results.csv
new file mode 100644
index 0000000..01dbc7b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00089/00089-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.002,0.0000109053777943434,0.0000159053777943434,9.094622205656598e-6,0.0000238580666915151
+0.004,0.00001171804228251662,0.00001671804228251662,8.281957717483374e-6,0.00002507706342377493
+0.006,0.00001244713132634022,0.00001744713132634021,7.552868673659781e-6,0.00002617069698951032
+0.008,0.00001310095331375486,0.00001810095331375485,6.899046686245141e-6,0.00002715142997063228
+0.01,0.00001368704797789294,0.00001868704797789294,6.312952022107055e-6,0.00002803057196683941
+0.012,0.00001421224595425761,0.00001921224595425761,5.78775404574239e-6,0.00002881836893138641
+0.014,0.00001468272586778236,0.00001968272586778236,5.317274132217635e-6,0.00002952408880167355
+0.016,0.00001510406942050725,0.00002010406942050724,4.895930579492749e-6,0.00003015610413076087
+0.018,0.00001548131278425667,0.00002048131278425667,4.518687215743327e-6,0.00003072196917638501
+0.02,0.00001581899521052541,0.00002081899521052541,4.18100478947459e-6,0.00003122849281578811
+0.022,0.00001612120391233186,0.00002112120391233186,3.878796087668141e-6,0.00003168180586849779
+0.024,0.00001639161625412129,0.00002139161625412129,3.608383745878706e-6,0.00003208742438118194
+0.026,0.00001663353848292564,0.00002163353848292564,3.366461517074359e-6,0.00003245030772438846
+0.028,0.00001684994070619666,0.00002184994070619666,3.150059293803342e-6,0.00003277491105929499
+0.03,0.00001704348970316175,0.00002204348970316175,2.956510296838257e-6,0.00003306523455474262
+0.032,0.0000172165788894356,0.0000222165788894356,2.783421110564403e-6,0.0000333248683341534
+0.034,0.00001737135488078071,0.00002237135488078071,2.628645119219295e-6,0.00003355703232117106
+0.036,0.00001750974236580373,0.00002250974236580373,2.490257634196269e-6,0.0000337646135487056
+0.038,0.0000176334663201411,0.0000226334663201411,2.366533679858896e-6,0.00003395019948021165
+0.04,0.00001774407237369759,0.00002274407237369759,2.255927626302408e-6,0.00003411610856054639
+0.042,0.00001784294461612877,0.00002284294461612877,2.157055383871224e-6,0.00003426441692419317
+0.044,0.00001793132279599719,0.00002293132279599719,2.068677204002809e-6,0.00003439698419399578
+0.046,0.00001801031633213305,0.00002301031633213305,1.989683667866949e-6,0.00003451547449819957
+0.048,0.00001808091853071518,0.00002308091853071518,1.919081469284809e-6,0.00003462137779607277
+0.05,0.00001814401812562751,0.00002314401812562751,1.855981874372483e-6,0.00003471602718844127
+0.052,0.00001820041012932935,0.00002320041012932935,1.799589870670643e-6,0.00003480061519399403
+0.054,0.00001825080588483521,0.0000232508058848352,1.749194115164788e-6,0.00003487620882725281
+0.056,0.00001829584172380471,0.00002329584172380471,1.704158276195284e-6,0.00003494376258570707
+0.058,0.00001833608656429554,0.00002333608656429554,1.663913435704451e-6,0.00003500412984644332
+0.06,0.0000183720491533273,0.0000233720491533273,1.627950846672692e-6,0.00003505807372999096
+0.062,0.00001840418449551653,0.00002340418449551653,1.59581550448346e-6,0.0000351062767432748
+0.064,0.00001843289934717659,0.00002343289934717659,1.567100652823411e-6,0.00003514934902076488
+0.066,0.00001845855735967333,0.00002345855735967333,1.541442640326661e-6,0.00003518783603951
+0.068,0.00001848148358138501,0.00002348148358138501,1.518516418614989e-6,0.00003522222537207752
+0.07,0.0000185019685712271,0.0000235019685712271,1.498031428772894e-6,0.00003525295285684065
+0.072,0.00001852027204623268,0.00002352027204623268,1.479727953767324e-6,0.00003528040806934902
+0.074,0.00001853662614255671,0.00002353662614255671,1.463373857443293e-6,0.00003530493921383506
+0.076,0.0000185512383342178,0.0000235512383342178,1.448761665782199e-6,0.0000353268575013267
+0.078,0.00001856429404500036,0.00002356429404500036,1.435705954999633e-6,0.00003534644106750055
+0.08,0.00001857595898536501,0.000023575958985365,1.424041014634993e-6,0.00003536393847804751
+0.082,0.00001858638123816249,0.00002358638123816249,1.413618761837513e-6,0.00003537957185724373
+0.084,0.00001859569312501541,0.00002359569312501541,1.404306874984587e-6,0.00003539353968752312
+0.086,0.00001860401289120659,0.00002360401289120659,1.395987108793411e-6,0.00003540601933680989
+0.088,0.00001861144620155142,0.00002361144620155142,1.388553798448579e-6,0.00003541716930232713
+0.09,0.00001861808747644323,0.00002361808747644323,1.381912523556772e-6,0.00003542713121466484
+0.092,0.00001862402108648331,0.00002362402108648331,1.37597891351669e-6,0.00003543603162972496
+0.094,0.00001862932242057374,0.00002362932242057374,1.370677579426262e-6,0.0000354439836308606
+0.096,0.00001863405884077109,0.00002363405884077109,1.365941159228905e-6,0.00003545108826115664
+0.098,0.00001863829053175789,0.00002363829053175789,1.361709468242104e-6,0.00003545743579763685
+0.1,0.00001864207126644319,0.00002364207126644319,1.357928733556804e-6,0.00003546310689966479
diff --git a/models/sbml-test-suite/cases/semantic/00089/00089-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00089/00089-sbml-l1v2.xml
new file mode 100644
index 0000000..a1208ca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00089/00089-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00089">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150000"/>
+      <parameter name="k2" value="50"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S2" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00089/00089-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00089/00089-sbml-l2v4.xml
new file mode 100644
index 0000000..3122992
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00089/00089-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00089" id="case00089" name="case00089">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00089/00089-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00089/00089-sbml-l3v1.xml
new file mode 100644
index 0000000..d27521e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00089/00089-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00089" id="case00089" name="case00089" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00089/00089-settings.txt b/models/sbml-test-suite/cases/semantic/00089/00089-settings.txt
new file mode 100644
index 0000000..a12e253
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00089/00089-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00090/00090-results.csv b/models/sbml-test-suite/cases/semantic/00090/00090-results.csv
new file mode 100644
index 0000000..01dbc7b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00090/00090-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.002,0.0000109053777943434,0.0000159053777943434,9.094622205656598e-6,0.0000238580666915151
+0.004,0.00001171804228251662,0.00001671804228251662,8.281957717483374e-6,0.00002507706342377493
+0.006,0.00001244713132634022,0.00001744713132634021,7.552868673659781e-6,0.00002617069698951032
+0.008,0.00001310095331375486,0.00001810095331375485,6.899046686245141e-6,0.00002715142997063228
+0.01,0.00001368704797789294,0.00001868704797789294,6.312952022107055e-6,0.00002803057196683941
+0.012,0.00001421224595425761,0.00001921224595425761,5.78775404574239e-6,0.00002881836893138641
+0.014,0.00001468272586778236,0.00001968272586778236,5.317274132217635e-6,0.00002952408880167355
+0.016,0.00001510406942050725,0.00002010406942050724,4.895930579492749e-6,0.00003015610413076087
+0.018,0.00001548131278425667,0.00002048131278425667,4.518687215743327e-6,0.00003072196917638501
+0.02,0.00001581899521052541,0.00002081899521052541,4.18100478947459e-6,0.00003122849281578811
+0.022,0.00001612120391233186,0.00002112120391233186,3.878796087668141e-6,0.00003168180586849779
+0.024,0.00001639161625412129,0.00002139161625412129,3.608383745878706e-6,0.00003208742438118194
+0.026,0.00001663353848292564,0.00002163353848292564,3.366461517074359e-6,0.00003245030772438846
+0.028,0.00001684994070619666,0.00002184994070619666,3.150059293803342e-6,0.00003277491105929499
+0.03,0.00001704348970316175,0.00002204348970316175,2.956510296838257e-6,0.00003306523455474262
+0.032,0.0000172165788894356,0.0000222165788894356,2.783421110564403e-6,0.0000333248683341534
+0.034,0.00001737135488078071,0.00002237135488078071,2.628645119219295e-6,0.00003355703232117106
+0.036,0.00001750974236580373,0.00002250974236580373,2.490257634196269e-6,0.0000337646135487056
+0.038,0.0000176334663201411,0.0000226334663201411,2.366533679858896e-6,0.00003395019948021165
+0.04,0.00001774407237369759,0.00002274407237369759,2.255927626302408e-6,0.00003411610856054639
+0.042,0.00001784294461612877,0.00002284294461612877,2.157055383871224e-6,0.00003426441692419317
+0.044,0.00001793132279599719,0.00002293132279599719,2.068677204002809e-6,0.00003439698419399578
+0.046,0.00001801031633213305,0.00002301031633213305,1.989683667866949e-6,0.00003451547449819957
+0.048,0.00001808091853071518,0.00002308091853071518,1.919081469284809e-6,0.00003462137779607277
+0.05,0.00001814401812562751,0.00002314401812562751,1.855981874372483e-6,0.00003471602718844127
+0.052,0.00001820041012932935,0.00002320041012932935,1.799589870670643e-6,0.00003480061519399403
+0.054,0.00001825080588483521,0.0000232508058848352,1.749194115164788e-6,0.00003487620882725281
+0.056,0.00001829584172380471,0.00002329584172380471,1.704158276195284e-6,0.00003494376258570707
+0.058,0.00001833608656429554,0.00002333608656429554,1.663913435704451e-6,0.00003500412984644332
+0.06,0.0000183720491533273,0.0000233720491533273,1.627950846672692e-6,0.00003505807372999096
+0.062,0.00001840418449551653,0.00002340418449551653,1.59581550448346e-6,0.0000351062767432748
+0.064,0.00001843289934717659,0.00002343289934717659,1.567100652823411e-6,0.00003514934902076488
+0.066,0.00001845855735967333,0.00002345855735967333,1.541442640326661e-6,0.00003518783603951
+0.068,0.00001848148358138501,0.00002348148358138501,1.518516418614989e-6,0.00003522222537207752
+0.07,0.0000185019685712271,0.0000235019685712271,1.498031428772894e-6,0.00003525295285684065
+0.072,0.00001852027204623268,0.00002352027204623268,1.479727953767324e-6,0.00003528040806934902
+0.074,0.00001853662614255671,0.00002353662614255671,1.463373857443293e-6,0.00003530493921383506
+0.076,0.0000185512383342178,0.0000235512383342178,1.448761665782199e-6,0.0000353268575013267
+0.078,0.00001856429404500036,0.00002356429404500036,1.435705954999633e-6,0.00003534644106750055
+0.08,0.00001857595898536501,0.000023575958985365,1.424041014634993e-6,0.00003536393847804751
+0.082,0.00001858638123816249,0.00002358638123816249,1.413618761837513e-6,0.00003537957185724373
+0.084,0.00001859569312501541,0.00002359569312501541,1.404306874984587e-6,0.00003539353968752312
+0.086,0.00001860401289120659,0.00002360401289120659,1.395987108793411e-6,0.00003540601933680989
+0.088,0.00001861144620155142,0.00002361144620155142,1.388553798448579e-6,0.00003541716930232713
+0.09,0.00001861808747644323,0.00002361808747644323,1.381912523556772e-6,0.00003542713121466484
+0.092,0.00001862402108648331,0.00002362402108648331,1.37597891351669e-6,0.00003543603162972496
+0.094,0.00001862932242057374,0.00002362932242057374,1.370677579426262e-6,0.0000354439836308606
+0.096,0.00001863405884077109,0.00002363405884077109,1.365941159228905e-6,0.00003545108826115664
+0.098,0.00001863829053175789,0.00002363829053175789,1.361709468242104e-6,0.00003545743579763685
+0.1,0.00001864207126644319,0.00002364207126644319,1.357928733556804e-6,0.00003546310689966479
diff --git a/models/sbml-test-suite/cases/semantic/00090/00090-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00090/00090-sbml-l1v2.xml
new file mode 100644
index 0000000..272a3d2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00090/00090-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00090">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="2.25e-005" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150000"/>
+      <parameter name="k2" value="50"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S2" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00090/00090-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00090/00090-sbml-l2v4.xml
new file mode 100644
index 0000000..91d8f6e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00090/00090-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00090" id="case00090" name="case00090">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00090/00090-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00090/00090-sbml-l3v1.xml
new file mode 100644
index 0000000..693507d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00090/00090-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00090" id="case00090" name="case00090" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00090/00090-settings.txt b/models/sbml-test-suite/cases/semantic/00090/00090-settings.txt
new file mode 100644
index 0000000..a12e253
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00090/00090-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00091/00091-results.csv b/models/sbml-test-suite/cases/semantic/00091/00091-results.csv
new file mode 100644
index 0000000..01dbc7b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00091/00091-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.002,0.0000109053777943434,0.0000159053777943434,9.094622205656598e-6,0.0000238580666915151
+0.004,0.00001171804228251662,0.00001671804228251662,8.281957717483374e-6,0.00002507706342377493
+0.006,0.00001244713132634022,0.00001744713132634021,7.552868673659781e-6,0.00002617069698951032
+0.008,0.00001310095331375486,0.00001810095331375485,6.899046686245141e-6,0.00002715142997063228
+0.01,0.00001368704797789294,0.00001868704797789294,6.312952022107055e-6,0.00002803057196683941
+0.012,0.00001421224595425761,0.00001921224595425761,5.78775404574239e-6,0.00002881836893138641
+0.014,0.00001468272586778236,0.00001968272586778236,5.317274132217635e-6,0.00002952408880167355
+0.016,0.00001510406942050725,0.00002010406942050724,4.895930579492749e-6,0.00003015610413076087
+0.018,0.00001548131278425667,0.00002048131278425667,4.518687215743327e-6,0.00003072196917638501
+0.02,0.00001581899521052541,0.00002081899521052541,4.18100478947459e-6,0.00003122849281578811
+0.022,0.00001612120391233186,0.00002112120391233186,3.878796087668141e-6,0.00003168180586849779
+0.024,0.00001639161625412129,0.00002139161625412129,3.608383745878706e-6,0.00003208742438118194
+0.026,0.00001663353848292564,0.00002163353848292564,3.366461517074359e-6,0.00003245030772438846
+0.028,0.00001684994070619666,0.00002184994070619666,3.150059293803342e-6,0.00003277491105929499
+0.03,0.00001704348970316175,0.00002204348970316175,2.956510296838257e-6,0.00003306523455474262
+0.032,0.0000172165788894356,0.0000222165788894356,2.783421110564403e-6,0.0000333248683341534
+0.034,0.00001737135488078071,0.00002237135488078071,2.628645119219295e-6,0.00003355703232117106
+0.036,0.00001750974236580373,0.00002250974236580373,2.490257634196269e-6,0.0000337646135487056
+0.038,0.0000176334663201411,0.0000226334663201411,2.366533679858896e-6,0.00003395019948021165
+0.04,0.00001774407237369759,0.00002274407237369759,2.255927626302408e-6,0.00003411610856054639
+0.042,0.00001784294461612877,0.00002284294461612877,2.157055383871224e-6,0.00003426441692419317
+0.044,0.00001793132279599719,0.00002293132279599719,2.068677204002809e-6,0.00003439698419399578
+0.046,0.00001801031633213305,0.00002301031633213305,1.989683667866949e-6,0.00003451547449819957
+0.048,0.00001808091853071518,0.00002308091853071518,1.919081469284809e-6,0.00003462137779607277
+0.05,0.00001814401812562751,0.00002314401812562751,1.855981874372483e-6,0.00003471602718844127
+0.052,0.00001820041012932935,0.00002320041012932935,1.799589870670643e-6,0.00003480061519399403
+0.054,0.00001825080588483521,0.0000232508058848352,1.749194115164788e-6,0.00003487620882725281
+0.056,0.00001829584172380471,0.00002329584172380471,1.704158276195284e-6,0.00003494376258570707
+0.058,0.00001833608656429554,0.00002333608656429554,1.663913435704451e-6,0.00003500412984644332
+0.06,0.0000183720491533273,0.0000233720491533273,1.627950846672692e-6,0.00003505807372999096
+0.062,0.00001840418449551653,0.00002340418449551653,1.59581550448346e-6,0.0000351062767432748
+0.064,0.00001843289934717659,0.00002343289934717659,1.567100652823411e-6,0.00003514934902076488
+0.066,0.00001845855735967333,0.00002345855735967333,1.541442640326661e-6,0.00003518783603951
+0.068,0.00001848148358138501,0.00002348148358138501,1.518516418614989e-6,0.00003522222537207752
+0.07,0.0000185019685712271,0.0000235019685712271,1.498031428772894e-6,0.00003525295285684065
+0.072,0.00001852027204623268,0.00002352027204623268,1.479727953767324e-6,0.00003528040806934902
+0.074,0.00001853662614255671,0.00002353662614255671,1.463373857443293e-6,0.00003530493921383506
+0.076,0.0000185512383342178,0.0000235512383342178,1.448761665782199e-6,0.0000353268575013267
+0.078,0.00001856429404500036,0.00002356429404500036,1.435705954999633e-6,0.00003534644106750055
+0.08,0.00001857595898536501,0.000023575958985365,1.424041014634993e-6,0.00003536393847804751
+0.082,0.00001858638123816249,0.00002358638123816249,1.413618761837513e-6,0.00003537957185724373
+0.084,0.00001859569312501541,0.00002359569312501541,1.404306874984587e-6,0.00003539353968752312
+0.086,0.00001860401289120659,0.00002360401289120659,1.395987108793411e-6,0.00003540601933680989
+0.088,0.00001861144620155142,0.00002361144620155142,1.388553798448579e-6,0.00003541716930232713
+0.09,0.00001861808747644323,0.00002361808747644323,1.381912523556772e-6,0.00003542713121466484
+0.092,0.00001862402108648331,0.00002362402108648331,1.37597891351669e-6,0.00003543603162972496
+0.094,0.00001862932242057374,0.00002362932242057374,1.370677579426262e-6,0.0000354439836308606
+0.096,0.00001863405884077109,0.00002363405884077109,1.365941159228905e-6,0.00003545108826115664
+0.098,0.00001863829053175789,0.00002363829053175789,1.361709468242104e-6,0.00003545743579763685
+0.1,0.00001864207126644319,0.00002364207126644319,1.357928733556804e-6,0.00003546310689966479
diff --git a/models/sbml-test-suite/cases/semantic/00091/00091-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00091/00091-sbml-l1v2.xml
new file mode 100644
index 0000000..0cd08ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00091/00091-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00091">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="2.25" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150000"/>
+      <parameter name="k2" value="50"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S2" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00091/00091-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00091/00091-sbml-l2v4.xml
new file mode 100644
index 0000000..353d5c8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00091/00091-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00091" id="case00091" name="case00091">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00091/00091-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00091/00091-sbml-l3v1.xml
new file mode 100644
index 0000000..e0ce9f6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00091/00091-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00091" id="case00091" name="case00091" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00091/00091-settings.txt b/models/sbml-test-suite/cases/semantic/00091/00091-settings.txt
new file mode 100644
index 0000000..a12e253
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00091/00091-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00092/00092-results.csv b/models/sbml-test-suite/cases/semantic/00092/00092-results.csv
new file mode 100644
index 0000000..6a24006
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00092/00092-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.0000109217168516862,0.00001592171685168619,9.078283148313796e-6,0.0000163825752775293
+0.4,0.00001175322248611593,0.00001675322248611592,8.246777513884069e-6,0.00001762983372917389
+0.6,0.00001250334614858563,0.00001750334614858562,7.496653851414367e-6,0.00001875501922287844
+0.8,0.00001318005293522239,0.00001818005293522239,6.819947064777604e-6,0.00001977007940283359
+1.,0.00001379052838101457,0.00001879052838101457,6.209471618985424e-6,0.00002068579257152185
+1.2,0.00001434125475998713,0.00001934125475998713,5.65874524001286e-6,0.0000215118821399807
+1.4,0.00001483807988873711,0.00001983807988873711,5.161920111262883e-6,0.00002225711983310566
+1.6,0.00001528627923921957,0.00002028627923921957,4.713720760780419e-6,0.00002292941885882936
+1.8,0.00001569061195944459,0.00002069061195944459,4.309388040555399e-6,0.00002353591793916689
+2.,0.00001605537201135175,0.00002105537201135175,3.944627988648242e-6,0.00002408305801702762
+2.2,0.00001638443067396678,0.00002138443067396677,3.615569326033227e-6,0.00002457664601095016
+2.4,0.00001668128397414227,0.00002168128397414227,3.318716025857725e-6,0.00002502192596121341
+2.6,0.00001694908334211642,0.00002194908334211642,3.050916657883575e-6,0.00002542362501317464
+2.8,0.00001719067238789137,0.00002219067238789137,2.809327612108627e-6,0.00002578600858183706
+3.,0.00001740861636010126,0.00002240861636010126,2.591383639898737e-6,0.00002611292454015189
+3.2,0.00001760522951714257,0.00002260522951714257,2.39477048285742e-6,0.00002640784427571386
+3.4,0.00001778259957214644,0.00002278259957214644,2.21740042785355e-6,0.00002667389935821966
+3.6,0.00001794260981060975,0.00002294260981060975,2.057390189390241e-6,0.00002691391471591463
+3.8,0.00001808695942631759,0.00002308695942631759,1.913040573682397e-6,0.00002713043913947639
+4.,0.00001821718110098768,0.00002321718110098767,1.782818899012317e-6,0.00002732577165148152
+4.2,0.00001833465754334666,0.00002333465754334665,1.665342456653334e-6,0.00002750198631501999
+4.4,0.00001844063628729467,0.00002344063628729467,1.559363712705321e-6,0.00002766095443094201
+4.6,0.00001853624246760236,0.00002353624246760236,1.463757532397627e-6,0.00002780436370140355
+4.8,0.00001862249149504929,0.00002362249149504929,1.377508504950703e-6,0.00002793373724257394
+5.,0.00001870029898173963,0.00002370029898173963,1.299701018260363e-6,0.00002805044847260945
+5.2,0.00001877049122313275,0.00002377049122313275,1.229508776867238e-6,0.00002815573683469913
+5.4,0.00001883381359495538,0.00002383381359495538,1.166186405044614e-6,0.00002825072039243307
+5.6,0.00001889093834173048,0.00002389093834173048,1.109061658269508e-6,0.00002833640751259573
+5.8,0.0000189424721616409,0.0000239424721616409,1.057527838359091e-6,0.00002841370824246136
+6.,0.00001898896223094105,0.00002398896223094104,1.011037769058948e-6,0.00002848344334641157
+6.2,0.00001903090215108336,0.00002403090215108336,9.690978489166296e-7,0.00002854635322662505
+6.4,0.00001906873725747461,0.00002406873725747461,9.312627425253851e-7,0.00002860310588621192
+6.6,0.00001910286932261635,0.00002410286932261635,8.971306773836423e-7,0.00002865430398392453
+6.8,0.00001913366080733739,0.00002413366080733739,8.663391926626051e-7,0.00002870049121100609
+7.,0.00001916143865302751,0.00002416143865302751,8.385613469724786e-7,0.00002874215797954127
+7.2,0.00001918649778658127,0.00002418649778658127,8.135022134187217e-7,0.00002877974667987191
+7.4,0.00001920910428992916,0.00002420910428992916,7.908957100708378e-7,0.00002881365643489374
+7.6,0.00001922949821801625,0.00002422949821801625,7.705017819837406e-7,0.00002884424732702439
+7.8,0.00001924789614108157,0.00002424789614108157,7.521038589184182e-7,0.00002887184421162237
+8.,0.00001926449342284265,0.00002426449342284265,7.355065771573465e-7,0.00002889674013426397
+8.2,0.00001927946627059378,0.00002427946627059377,7.205337294062175e-7,0.00002891919940589067
+8.4,0.00001929297367883728,0.00002429297367883728,7.070263211627083e-7,0.00002893946051825593
+8.6,0.0000193051590741782,0.0000243051590741782,6.948409258217906e-7,0.0000289577386112673
+8.8,0.00001931615184599961,0.00002431615184599961,6.838481540003791e-7,0.00002897422776899942
+9.,0.00001932606872021517,0.00002432606872021517,6.7393127978482e-7,0.00002898910308032276
+9.2,0.00001933501499859236,0.00002433501499859236,6.649850014076305e-7,0.00002900252249788854
+9.4,0.0000193430856767989,0.0000243430856767989,6.569143232010876e-7,0.00002901462851519836
+9.6,0.00001935036645303882,0.00002435036645303882,6.496335469611699e-7,0.00002902554967955824
+9.8,0.00001935693463667982,0.00002435693463667982,6.430653633201714e-7,0.00002903540195501973
+10.,0.00001936285997490206,0.00002436285997490206,6.371400250979317e-7,0.00002904428996235309
diff --git a/models/sbml-test-suite/cases/semantic/00092/00092-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00092/00092-sbml-l1v2.xml
new file mode 100644
index 0000000..2ef5392
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00092/00092-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00092">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="2.25" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.015"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S1" species="S4"/>
+      <speciesConcentrationRule formula="k2 * S3 + -1 * k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00092/00092-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00092/00092-sbml-l2v4.xml
new file mode 100644
index 0000000..23ab37d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00092/00092-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00092" id="case00092" name="case00092">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00092/00092-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00092/00092-sbml-l3v1.xml
new file mode 100644
index 0000000..5008294
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00092/00092-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00092" id="case00092" name="case00092" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00092/00092-settings.txt b/models/sbml-test-suite/cases/semantic/00092/00092-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00092/00092-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00093/00093-results.csv b/models/sbml-test-suite/cases/semantic/00093/00093-results.csv
new file mode 100644
index 0000000..6a24006
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00093/00093-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.0000109217168516862,0.00001592171685168619,9.078283148313796e-6,0.0000163825752775293
+0.4,0.00001175322248611593,0.00001675322248611592,8.246777513884069e-6,0.00001762983372917389
+0.6,0.00001250334614858563,0.00001750334614858562,7.496653851414367e-6,0.00001875501922287844
+0.8,0.00001318005293522239,0.00001818005293522239,6.819947064777604e-6,0.00001977007940283359
+1.,0.00001379052838101457,0.00001879052838101457,6.209471618985424e-6,0.00002068579257152185
+1.2,0.00001434125475998713,0.00001934125475998713,5.65874524001286e-6,0.0000215118821399807
+1.4,0.00001483807988873711,0.00001983807988873711,5.161920111262883e-6,0.00002225711983310566
+1.6,0.00001528627923921957,0.00002028627923921957,4.713720760780419e-6,0.00002292941885882936
+1.8,0.00001569061195944459,0.00002069061195944459,4.309388040555399e-6,0.00002353591793916689
+2.,0.00001605537201135175,0.00002105537201135175,3.944627988648242e-6,0.00002408305801702762
+2.2,0.00001638443067396678,0.00002138443067396677,3.615569326033227e-6,0.00002457664601095016
+2.4,0.00001668128397414227,0.00002168128397414227,3.318716025857725e-6,0.00002502192596121341
+2.6,0.00001694908334211642,0.00002194908334211642,3.050916657883575e-6,0.00002542362501317464
+2.8,0.00001719067238789137,0.00002219067238789137,2.809327612108627e-6,0.00002578600858183706
+3.,0.00001740861636010126,0.00002240861636010126,2.591383639898737e-6,0.00002611292454015189
+3.2,0.00001760522951714257,0.00002260522951714257,2.39477048285742e-6,0.00002640784427571386
+3.4,0.00001778259957214644,0.00002278259957214644,2.21740042785355e-6,0.00002667389935821966
+3.6,0.00001794260981060975,0.00002294260981060975,2.057390189390241e-6,0.00002691391471591463
+3.8,0.00001808695942631759,0.00002308695942631759,1.913040573682397e-6,0.00002713043913947639
+4.,0.00001821718110098768,0.00002321718110098767,1.782818899012317e-6,0.00002732577165148152
+4.2,0.00001833465754334666,0.00002333465754334665,1.665342456653334e-6,0.00002750198631501999
+4.4,0.00001844063628729467,0.00002344063628729467,1.559363712705321e-6,0.00002766095443094201
+4.6,0.00001853624246760236,0.00002353624246760236,1.463757532397627e-6,0.00002780436370140355
+4.8,0.00001862249149504929,0.00002362249149504929,1.377508504950703e-6,0.00002793373724257394
+5.,0.00001870029898173963,0.00002370029898173963,1.299701018260363e-6,0.00002805044847260945
+5.2,0.00001877049122313275,0.00002377049122313275,1.229508776867238e-6,0.00002815573683469913
+5.4,0.00001883381359495538,0.00002383381359495538,1.166186405044614e-6,0.00002825072039243307
+5.6,0.00001889093834173048,0.00002389093834173048,1.109061658269508e-6,0.00002833640751259573
+5.8,0.0000189424721616409,0.0000239424721616409,1.057527838359091e-6,0.00002841370824246136
+6.,0.00001898896223094105,0.00002398896223094104,1.011037769058948e-6,0.00002848344334641157
+6.2,0.00001903090215108336,0.00002403090215108336,9.690978489166296e-7,0.00002854635322662505
+6.4,0.00001906873725747461,0.00002406873725747461,9.312627425253851e-7,0.00002860310588621192
+6.6,0.00001910286932261635,0.00002410286932261635,8.971306773836423e-7,0.00002865430398392453
+6.8,0.00001913366080733739,0.00002413366080733739,8.663391926626051e-7,0.00002870049121100609
+7.,0.00001916143865302751,0.00002416143865302751,8.385613469724786e-7,0.00002874215797954127
+7.2,0.00001918649778658127,0.00002418649778658127,8.135022134187217e-7,0.00002877974667987191
+7.4,0.00001920910428992916,0.00002420910428992916,7.908957100708378e-7,0.00002881365643489374
+7.6,0.00001922949821801625,0.00002422949821801625,7.705017819837406e-7,0.00002884424732702439
+7.8,0.00001924789614108157,0.00002424789614108157,7.521038589184182e-7,0.00002887184421162237
+8.,0.00001926449342284265,0.00002426449342284265,7.355065771573465e-7,0.00002889674013426397
+8.2,0.00001927946627059378,0.00002427946627059377,7.205337294062175e-7,0.00002891919940589067
+8.4,0.00001929297367883728,0.00002429297367883728,7.070263211627083e-7,0.00002893946051825593
+8.6,0.0000193051590741782,0.0000243051590741782,6.948409258217906e-7,0.0000289577386112673
+8.8,0.00001931615184599961,0.00002431615184599961,6.838481540003791e-7,0.00002897422776899942
+9.,0.00001932606872021517,0.00002432606872021517,6.7393127978482e-7,0.00002898910308032276
+9.2,0.00001933501499859236,0.00002433501499859236,6.649850014076305e-7,0.00002900252249788854
+9.4,0.0000193430856767989,0.0000243430856767989,6.569143232010876e-7,0.00002901462851519836
+9.6,0.00001935036645303882,0.00002435036645303882,6.496335469611699e-7,0.00002902554967955824
+9.8,0.00001935693463667982,0.00002435693463667982,6.430653633201714e-7,0.00002903540195501973
+10.,0.00001936285997490206,0.00002436285997490206,6.371400250979317e-7,0.00002904428996235309
diff --git a/models/sbml-test-suite/cases/semantic/00093/00093-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00093/00093-sbml-l1v2.xml
new file mode 100644
index 0000000..5327168
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00093/00093-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00093">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.015"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S1" species="S4"/>
+      <speciesConcentrationRule formula="k2 * S3 + -1 * k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00093/00093-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00093/00093-sbml-l2v4.xml
new file mode 100644
index 0000000..30fdad1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00093/00093-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00093" id="case00093" name="case00093">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00093/00093-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00093/00093-sbml-l3v1.xml
new file mode 100644
index 0000000..bf3749b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00093/00093-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00093" id="case00093" name="case00093" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00093/00093-settings.txt b/models/sbml-test-suite/cases/semantic/00093/00093-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00093/00093-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00094/00094-results.csv b/models/sbml-test-suite/cases/semantic/00094/00094-results.csv
new file mode 100644
index 0000000..6a24006
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00094/00094-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.0000109217168516862,0.00001592171685168619,9.078283148313796e-6,0.0000163825752775293
+0.4,0.00001175322248611593,0.00001675322248611592,8.246777513884069e-6,0.00001762983372917389
+0.6,0.00001250334614858563,0.00001750334614858562,7.496653851414367e-6,0.00001875501922287844
+0.8,0.00001318005293522239,0.00001818005293522239,6.819947064777604e-6,0.00001977007940283359
+1.,0.00001379052838101457,0.00001879052838101457,6.209471618985424e-6,0.00002068579257152185
+1.2,0.00001434125475998713,0.00001934125475998713,5.65874524001286e-6,0.0000215118821399807
+1.4,0.00001483807988873711,0.00001983807988873711,5.161920111262883e-6,0.00002225711983310566
+1.6,0.00001528627923921957,0.00002028627923921957,4.713720760780419e-6,0.00002292941885882936
+1.8,0.00001569061195944459,0.00002069061195944459,4.309388040555399e-6,0.00002353591793916689
+2.,0.00001605537201135175,0.00002105537201135175,3.944627988648242e-6,0.00002408305801702762
+2.2,0.00001638443067396678,0.00002138443067396677,3.615569326033227e-6,0.00002457664601095016
+2.4,0.00001668128397414227,0.00002168128397414227,3.318716025857725e-6,0.00002502192596121341
+2.6,0.00001694908334211642,0.00002194908334211642,3.050916657883575e-6,0.00002542362501317464
+2.8,0.00001719067238789137,0.00002219067238789137,2.809327612108627e-6,0.00002578600858183706
+3.,0.00001740861636010126,0.00002240861636010126,2.591383639898737e-6,0.00002611292454015189
+3.2,0.00001760522951714257,0.00002260522951714257,2.39477048285742e-6,0.00002640784427571386
+3.4,0.00001778259957214644,0.00002278259957214644,2.21740042785355e-6,0.00002667389935821966
+3.6,0.00001794260981060975,0.00002294260981060975,2.057390189390241e-6,0.00002691391471591463
+3.8,0.00001808695942631759,0.00002308695942631759,1.913040573682397e-6,0.00002713043913947639
+4.,0.00001821718110098768,0.00002321718110098767,1.782818899012317e-6,0.00002732577165148152
+4.2,0.00001833465754334666,0.00002333465754334665,1.665342456653334e-6,0.00002750198631501999
+4.4,0.00001844063628729467,0.00002344063628729467,1.559363712705321e-6,0.00002766095443094201
+4.6,0.00001853624246760236,0.00002353624246760236,1.463757532397627e-6,0.00002780436370140355
+4.8,0.00001862249149504929,0.00002362249149504929,1.377508504950703e-6,0.00002793373724257394
+5.,0.00001870029898173963,0.00002370029898173963,1.299701018260363e-6,0.00002805044847260945
+5.2,0.00001877049122313275,0.00002377049122313275,1.229508776867238e-6,0.00002815573683469913
+5.4,0.00001883381359495538,0.00002383381359495538,1.166186405044614e-6,0.00002825072039243307
+5.6,0.00001889093834173048,0.00002389093834173048,1.109061658269508e-6,0.00002833640751259573
+5.8,0.0000189424721616409,0.0000239424721616409,1.057527838359091e-6,0.00002841370824246136
+6.,0.00001898896223094105,0.00002398896223094104,1.011037769058948e-6,0.00002848344334641157
+6.2,0.00001903090215108336,0.00002403090215108336,9.690978489166296e-7,0.00002854635322662505
+6.4,0.00001906873725747461,0.00002406873725747461,9.312627425253851e-7,0.00002860310588621192
+6.6,0.00001910286932261635,0.00002410286932261635,8.971306773836423e-7,0.00002865430398392453
+6.8,0.00001913366080733739,0.00002413366080733739,8.663391926626051e-7,0.00002870049121100609
+7.,0.00001916143865302751,0.00002416143865302751,8.385613469724786e-7,0.00002874215797954127
+7.2,0.00001918649778658127,0.00002418649778658127,8.135022134187217e-7,0.00002877974667987191
+7.4,0.00001920910428992916,0.00002420910428992916,7.908957100708378e-7,0.00002881365643489374
+7.6,0.00001922949821801625,0.00002422949821801625,7.705017819837406e-7,0.00002884424732702439
+7.8,0.00001924789614108157,0.00002424789614108157,7.521038589184182e-7,0.00002887184421162237
+8.,0.00001926449342284265,0.00002426449342284265,7.355065771573465e-7,0.00002889674013426397
+8.2,0.00001927946627059378,0.00002427946627059377,7.205337294062175e-7,0.00002891919940589067
+8.4,0.00001929297367883728,0.00002429297367883728,7.070263211627083e-7,0.00002893946051825593
+8.6,0.0000193051590741782,0.0000243051590741782,6.948409258217906e-7,0.0000289577386112673
+8.8,0.00001931615184599961,0.00002431615184599961,6.838481540003791e-7,0.00002897422776899942
+9.,0.00001932606872021517,0.00002432606872021517,6.7393127978482e-7,0.00002898910308032276
+9.2,0.00001933501499859236,0.00002433501499859236,6.649850014076305e-7,0.00002900252249788854
+9.4,0.0000193430856767989,0.0000243430856767989,6.569143232010876e-7,0.00002901462851519836
+9.6,0.00001935036645303882,0.00002435036645303882,6.496335469611699e-7,0.00002902554967955824
+9.8,0.00001935693463667982,0.00002435693463667982,6.430653633201714e-7,0.00002903540195501973
+10.,0.00001936285997490206,0.00002436285997490206,6.371400250979317e-7,0.00002904428996235309
diff --git a/models/sbml-test-suite/cases/semantic/00094/00094-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00094/00094-sbml-l1v2.xml
new file mode 100644
index 0000000..8cc6857
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00094/00094-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00094">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.015"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S1" species="S4"/>
+      <speciesConcentrationRule formula="k2 * S3 + -1 * k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00094/00094-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00094/00094-sbml-l2v4.xml
new file mode 100644
index 0000000..5b8029b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00094/00094-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00094" id="case00094" name="case00094">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00094/00094-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00094/00094-sbml-l3v1.xml
new file mode 100644
index 0000000..17c2da7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00094/00094-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00094" id="case00094" name="case00094" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00094/00094-settings.txt b/models/sbml-test-suite/cases/semantic/00094/00094-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00094/00094-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00095/00095-results.csv b/models/sbml-test-suite/cases/semantic/00095/00095-results.csv
new file mode 100644
index 0000000..73d3fa1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00095/00095-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0.00015
+0.1,0.0001357256127044512,0.0001642743872955487
+0.2,0.0001228096129601035,0.0001771903870398965
+0.3,0.0001111227329012265,0.0001888772670987734
+0.4,0.0001005480066895219,0.0001994519933104781
+0.5,0.00009097959873311362,0.0002090204012668864
+0.6,0.0000823217441909965,0.0002176782558090035
+0.7,0.00007448779412800789,0.0002255122058719921
+0.8,0.00006739934325119319,0.0002326006567488068
+0.9,0.00006098544789977927,0.0002390145521002207
+1.,0.00005518191314879876,0.0002448180868512012
+1.1,0.00004993066255290618,0.0002500693374470939
+1.2,0.00004517913176937713,0.0002548208682306231
+1.3,0.00004087976893996636,0.0002591202310600339
+1.4,0.00003698954452772124,0.000263010455472279
+1.5,0.00003346952383474364,0.0002665304761652566
+1.6,0.00003028447769462973,0.0002697155223053705
+1.7,0.00002740252859888868,0.0002725974714011115
+1.8,0.000024794832848087,0.0002752051671519132
+1.9,0.00002243529223550772,0.0002775647077644924
+2.,0.00002030029220243819,0.000279699707797562
+2.1,0.00001836846422408618,0.0002816315357759141
+2.2,0.0000166204726214449,0.0002833795273785553
+2.3,0.00001503882651274187,0.0002849611734872583
+2.4,0.00001360769224549595,0.0002863923077545042
+2.5,0.00001231274924669219,0.000287687250753308
+2.6,0.00001114103660074252,0.0002888589633992576
+2.7,0.0000100808262093954,0.0002899191737906047
+2.8,9.121509309001526e-6,0.0002908784906909986
+2.9,8.253482479489172e-6,0.0002917465175205109
+3.,7.468059429032513e-6,0.0002925319405709676
+3.1,6.757379900256014e-6,0.0002932426200997441
+3.2,6.114330589885904e-6,0.0002938856694101142
+3.3,5.532474839665124e-6,0.000294467525160335
+3.4,5.005989952069576e-6,0.0002949940100479305
+3.5,4.529607142491108e-6,0.0002954703928575089
+3.6,4.098558334702724e-6,0.0002959014416652973
+3.7,3.708528845349415e-6,0.0002962914711546506
+3.8,3.355615434814517e-6,0.0002966443845651855
+3.9,3.036286432368964e-6,0.0002969637135676311
+4.,2.747345780569854e-6,0.0002972526542194302
+4.1,2.48590126082391e-6,0.0002975140987391762
+4.2,2.249336313134024e-6,0.0002977506636868661
+4.3,2.035283642772105e-6,0.0002979647163572279
+4.4,1.841600924125254e-6,0.0002981583990758748
+4.5,1.666349466322297e-6,0.0002983336505336777
+4.6,1.507775238724424e-6,0.0002984922247612756
+4.7,1.36429141728699e-6,0.0002986357085827131
+4.8,1.234461997192815e-6,0.0002987655380028073
+4.9,1.116987459948307e-6,0.0002988830125400518
+5.,1.010692049864613e-6,0.0002989893079501354
diff --git a/models/sbml-test-suite/cases/semantic/00095/00095-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00095/00095-sbml-l2v4.xml
new file mode 100644
index 0000000..35d8b8c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00095/00095-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00095" id="case00095" name="case00095">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00095/00095-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00095/00095-sbml-l3v1.xml
new file mode 100644
index 0000000..dfb1a9c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00095/00095-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00095" id="case00095" name="case00095" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00095/00095-settings.txt b/models/sbml-test-suite/cases/semantic/00095/00095-settings.txt
new file mode 100644
index 0000000..4e5ac53
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00095/00095-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00096/00096-results.csv b/models/sbml-test-suite/cases/semantic/00096/00096-results.csv
new file mode 100644
index 0000000..73d3fa1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00096/00096-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0.00015
+0.1,0.0001357256127044512,0.0001642743872955487
+0.2,0.0001228096129601035,0.0001771903870398965
+0.3,0.0001111227329012265,0.0001888772670987734
+0.4,0.0001005480066895219,0.0001994519933104781
+0.5,0.00009097959873311362,0.0002090204012668864
+0.6,0.0000823217441909965,0.0002176782558090035
+0.7,0.00007448779412800789,0.0002255122058719921
+0.8,0.00006739934325119319,0.0002326006567488068
+0.9,0.00006098544789977927,0.0002390145521002207
+1.,0.00005518191314879876,0.0002448180868512012
+1.1,0.00004993066255290618,0.0002500693374470939
+1.2,0.00004517913176937713,0.0002548208682306231
+1.3,0.00004087976893996636,0.0002591202310600339
+1.4,0.00003698954452772124,0.000263010455472279
+1.5,0.00003346952383474364,0.0002665304761652566
+1.6,0.00003028447769462973,0.0002697155223053705
+1.7,0.00002740252859888868,0.0002725974714011115
+1.8,0.000024794832848087,0.0002752051671519132
+1.9,0.00002243529223550772,0.0002775647077644924
+2.,0.00002030029220243819,0.000279699707797562
+2.1,0.00001836846422408618,0.0002816315357759141
+2.2,0.0000166204726214449,0.0002833795273785553
+2.3,0.00001503882651274187,0.0002849611734872583
+2.4,0.00001360769224549595,0.0002863923077545042
+2.5,0.00001231274924669219,0.000287687250753308
+2.6,0.00001114103660074252,0.0002888589633992576
+2.7,0.0000100808262093954,0.0002899191737906047
+2.8,9.121509309001526e-6,0.0002908784906909986
+2.9,8.253482479489172e-6,0.0002917465175205109
+3.,7.468059429032513e-6,0.0002925319405709676
+3.1,6.757379900256014e-6,0.0002932426200997441
+3.2,6.114330589885904e-6,0.0002938856694101142
+3.3,5.532474839665124e-6,0.000294467525160335
+3.4,5.005989952069576e-6,0.0002949940100479305
+3.5,4.529607142491108e-6,0.0002954703928575089
+3.6,4.098558334702724e-6,0.0002959014416652973
+3.7,3.708528845349415e-6,0.0002962914711546506
+3.8,3.355615434814517e-6,0.0002966443845651855
+3.9,3.036286432368964e-6,0.0002969637135676311
+4.,2.747345780569854e-6,0.0002972526542194302
+4.1,2.48590126082391e-6,0.0002975140987391762
+4.2,2.249336313134024e-6,0.0002977506636868661
+4.3,2.035283642772105e-6,0.0002979647163572279
+4.4,1.841600924125254e-6,0.0002981583990758748
+4.5,1.666349466322297e-6,0.0002983336505336777
+4.6,1.507775238724424e-6,0.0002984922247612756
+4.7,1.36429141728699e-6,0.0002986357085827131
+4.8,1.234461997192815e-6,0.0002987655380028073
+4.9,1.116987459948307e-6,0.0002988830125400518
+5.,1.010692049864613e-6,0.0002989893079501354
diff --git a/models/sbml-test-suite/cases/semantic/00096/00096-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00096/00096-sbml-l2v4.xml
new file mode 100644
index 0000000..c0f2669
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00096/00096-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00096" id="case00096" name="case00096">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00096/00096-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00096/00096-sbml-l3v1.xml
new file mode 100644
index 0000000..57973fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00096/00096-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00096" id="case00096" name="case00096" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00096/00096-settings.txt b/models/sbml-test-suite/cases/semantic/00096/00096-settings.txt
new file mode 100644
index 0000000..4e5ac53
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00096/00096-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00097/00097-results.csv b/models/sbml-test-suite/cases/semantic/00097/00097-results.csv
new file mode 100644
index 0000000..73d3fa1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00097/00097-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0.00015
+0.1,0.0001357256127044512,0.0001642743872955487
+0.2,0.0001228096129601035,0.0001771903870398965
+0.3,0.0001111227329012265,0.0001888772670987734
+0.4,0.0001005480066895219,0.0001994519933104781
+0.5,0.00009097959873311362,0.0002090204012668864
+0.6,0.0000823217441909965,0.0002176782558090035
+0.7,0.00007448779412800789,0.0002255122058719921
+0.8,0.00006739934325119319,0.0002326006567488068
+0.9,0.00006098544789977927,0.0002390145521002207
+1.,0.00005518191314879876,0.0002448180868512012
+1.1,0.00004993066255290618,0.0002500693374470939
+1.2,0.00004517913176937713,0.0002548208682306231
+1.3,0.00004087976893996636,0.0002591202310600339
+1.4,0.00003698954452772124,0.000263010455472279
+1.5,0.00003346952383474364,0.0002665304761652566
+1.6,0.00003028447769462973,0.0002697155223053705
+1.7,0.00002740252859888868,0.0002725974714011115
+1.8,0.000024794832848087,0.0002752051671519132
+1.9,0.00002243529223550772,0.0002775647077644924
+2.,0.00002030029220243819,0.000279699707797562
+2.1,0.00001836846422408618,0.0002816315357759141
+2.2,0.0000166204726214449,0.0002833795273785553
+2.3,0.00001503882651274187,0.0002849611734872583
+2.4,0.00001360769224549595,0.0002863923077545042
+2.5,0.00001231274924669219,0.000287687250753308
+2.6,0.00001114103660074252,0.0002888589633992576
+2.7,0.0000100808262093954,0.0002899191737906047
+2.8,9.121509309001526e-6,0.0002908784906909986
+2.9,8.253482479489172e-6,0.0002917465175205109
+3.,7.468059429032513e-6,0.0002925319405709676
+3.1,6.757379900256014e-6,0.0002932426200997441
+3.2,6.114330589885904e-6,0.0002938856694101142
+3.3,5.532474839665124e-6,0.000294467525160335
+3.4,5.005989952069576e-6,0.0002949940100479305
+3.5,4.529607142491108e-6,0.0002954703928575089
+3.6,4.098558334702724e-6,0.0002959014416652973
+3.7,3.708528845349415e-6,0.0002962914711546506
+3.8,3.355615434814517e-6,0.0002966443845651855
+3.9,3.036286432368964e-6,0.0002969637135676311
+4.,2.747345780569854e-6,0.0002972526542194302
+4.1,2.48590126082391e-6,0.0002975140987391762
+4.2,2.249336313134024e-6,0.0002977506636868661
+4.3,2.035283642772105e-6,0.0002979647163572279
+4.4,1.841600924125254e-6,0.0002981583990758748
+4.5,1.666349466322297e-6,0.0002983336505336777
+4.6,1.507775238724424e-6,0.0002984922247612756
+4.7,1.36429141728699e-6,0.0002986357085827131
+4.8,1.234461997192815e-6,0.0002987655380028073
+4.9,1.116987459948307e-6,0.0002988830125400518
+5.,1.010692049864613e-6,0.0002989893079501354
diff --git a/models/sbml-test-suite/cases/semantic/00097/00097-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00097/00097-sbml-l2v4.xml
new file mode 100644
index 0000000..637d5aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00097/00097-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00097" id="case00097" name="case00097">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00097/00097-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00097/00097-sbml-l3v1.xml
new file mode 100644
index 0000000..db70fea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00097/00097-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00097" id="case00097" name="case00097" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00097/00097-settings.txt b/models/sbml-test-suite/cases/semantic/00097/00097-settings.txt
new file mode 100644
index 0000000..4e5ac53
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00097/00097-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00098/00098-results.csv b/models/sbml-test-suite/cases/semantic/00098/00098-results.csv
new file mode 100644
index 0000000..ea88e39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00098/00098-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.4,0.0001095101185704268,0.0002095101185704269,0.00009048988142957316
+0.8,0.0001181144069599281,0.0002181144069599282,0.00008188559304007183
+1.2,0.0001258991045544968,0.0002258991045544968,0.00007410089544550321
+1.6,0.0001329422472699064,0.0002329422472699064,0.00006705775273009363
+2.,0.0001393144472761547,0.0002393144472761548,0.00006068555272384526
+2.4,0.0001450795984151714,0.0002450795984151715,0.00005492040158482856
+2.8,0.0001502955121232816,0.0002502955121232817,0.00004970448787671837
+3.2,0.0001550144989238427,0.0002550144989238427,0.00004498550107615731
+3.6,0.0001592838895931068,0.0002592838895931068,0.00004071611040689317
+4.,0.0001631465105444803,0.0002631465105444803,0.00003685348945551974
+4.4,0.0001666411046561742,0.0002666411046561745,0.00003335889534382568
+4.8,0.0001698027350358279,0.0002698027350358282,0.000030197264964172
+5.2,0.0001726631193237813,0.0002726631193237816,0.0000273368806762186
+5.6,0.0001752509564151416,0.0002752509564151418,0.0000247490435848584
+6.,0.0001775922118992758,0.000277592211899276,0.0000224077881007242
+6.4,0.0001797103780663186,0.0002797103780663189,0.00002028962193368134
+6.8,0.0001816267100701786,0.0002816267100701788,0.00001837328992982138
+7.2,0.0001833604383162523,0.0002833604383162526,0.0000166395616837476
+7.6,0.0001849289608100614,0.0002849289608100616,0.0000150710391899386
+8.,0.0001863480182435769,0.0002863480182435771,0.00001365198175642305
+8.4,0.0001876318525082696,0.0002876318525082699,0.00001236814749173031
+8.8,0.0001887933490866441,0.0002887933490866443,0.00001120665091335583
+9.2,0.0001898441626961193,0.0002898441626961196,0.00001015583730388065
+9.6,0.0001907948424799535,0.0002907948424799538,9.205157520046435e-6
+10.,0.000191654928308744,0.0002916549283087443,8.345071691255907e-6
+10.4,0.0001924330531584597,0.0002924330531584598,7.566946841540313e-6
+10.8,0.0001931370278747662,0.0002931370278747665,6.862972125233738e-6
+11.2,0.0001937739168704251,0.0002937739168704254,6.226083129574814e-6
+11.6,0.0001943501142494414,0.0002943501142494416,5.649885750558537e-6
+12.,0.0001948714027090762,0.0002948714027090764,5.128597290923749e-6
+12.4,0.000195343014303889,0.0002953430143038892,4.656985696110964e-6
+12.8,0.0001957696832021258,0.0002957696832021261,4.230316797874113e-6
+13.2,0.0001961556926907649,0.0002961556926907652,3.844307309234977e-6
+13.6,0.0001965049170114392,0.0002965049170114395,3.495082988560714e-6
+14.,0.0001968208612513208,0.0002968208612513211,3.179138748679095e-6
+14.4,0.0001971066969301388,0.000297106696930139,2.893303069861129e-6
+14.8,0.0001973652936202133,0.0002973652936202136,2.634706379786535e-6
+15.2,0.0001975992470092075,0.0002975992470092078,2.400752990792366e-6
+15.6,0.0001978109052016946,0.0002978109052016948,2.189094798305287e-6
+16.,0.0001980023928351154,0.0002980023928351156,1.997607164884541e-6
+16.4,0.0001981756323031491,0.0002981756323031494,1.824367696850769e-6
+16.8,0.0001983323626750603,0.0002983323626750606,1.667637324939605e-6
+17.2,0.0001984741569924392,0.0002984741569924395,1.525843007560685e-6
+17.6,0.0001986024385593296,0.0002986024385593299,1.397561440670295e-6
+18.,0.0001987184952063118,0.0002987184952063121,1.281504793688099e-6
+18.4,0.0001988234920553257,0.0002988234920553259,1.176507944674234e-6
+18.8,0.0001989184829449158,0.0002989184829449161,1.081517055084097e-6
+19.2,0.0001990044213453334,0.0002990044213453337,9.955786546665216e-7
+19.6,0.0001990821699792793,0.0002990821699792796,9.178300207205713e-7
+20.,0.0001991525093891402,0.0002991525093891405,8.474906108597139e-7
diff --git a/models/sbml-test-suite/cases/semantic/00098/00098-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00098/00098-sbml-l2v4.xml
new file mode 100644
index 0000000..8f4b1c3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00098/00098-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00098" id="case00098" name="case00098">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00098/00098-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00098/00098-sbml-l3v1.xml
new file mode 100644
index 0000000..a23f577
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00098/00098-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00098" id="case00098" name="case00098" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00098/00098-settings.txt b/models/sbml-test-suite/cases/semantic/00098/00098-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00098/00098-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00099/00099-results.csv b/models/sbml-test-suite/cases/semantic/00099/00099-results.csv
new file mode 100644
index 0000000..ea88e39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00099/00099-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.4,0.0001095101185704268,0.0002095101185704269,0.00009048988142957316
+0.8,0.0001181144069599281,0.0002181144069599282,0.00008188559304007183
+1.2,0.0001258991045544968,0.0002258991045544968,0.00007410089544550321
+1.6,0.0001329422472699064,0.0002329422472699064,0.00006705775273009363
+2.,0.0001393144472761547,0.0002393144472761548,0.00006068555272384526
+2.4,0.0001450795984151714,0.0002450795984151715,0.00005492040158482856
+2.8,0.0001502955121232816,0.0002502955121232817,0.00004970448787671837
+3.2,0.0001550144989238427,0.0002550144989238427,0.00004498550107615731
+3.6,0.0001592838895931068,0.0002592838895931068,0.00004071611040689317
+4.,0.0001631465105444803,0.0002631465105444803,0.00003685348945551974
+4.4,0.0001666411046561742,0.0002666411046561745,0.00003335889534382568
+4.8,0.0001698027350358279,0.0002698027350358282,0.000030197264964172
+5.2,0.0001726631193237813,0.0002726631193237816,0.0000273368806762186
+5.6,0.0001752509564151416,0.0002752509564151418,0.0000247490435848584
+6.,0.0001775922118992758,0.000277592211899276,0.0000224077881007242
+6.4,0.0001797103780663186,0.0002797103780663189,0.00002028962193368134
+6.8,0.0001816267100701786,0.0002816267100701788,0.00001837328992982138
+7.2,0.0001833604383162523,0.0002833604383162526,0.0000166395616837476
+7.6,0.0001849289608100614,0.0002849289608100616,0.0000150710391899386
+8.,0.0001863480182435769,0.0002863480182435771,0.00001365198175642305
+8.4,0.0001876318525082696,0.0002876318525082699,0.00001236814749173031
+8.8,0.0001887933490866441,0.0002887933490866443,0.00001120665091335583
+9.2,0.0001898441626961193,0.0002898441626961196,0.00001015583730388065
+9.6,0.0001907948424799535,0.0002907948424799538,9.205157520046435e-6
+10.,0.000191654928308744,0.0002916549283087443,8.345071691255907e-6
+10.4,0.0001924330531584597,0.0002924330531584598,7.566946841540313e-6
+10.8,0.0001931370278747662,0.0002931370278747665,6.862972125233738e-6
+11.2,0.0001937739168704251,0.0002937739168704254,6.226083129574814e-6
+11.6,0.0001943501142494414,0.0002943501142494416,5.649885750558537e-6
+12.,0.0001948714027090762,0.0002948714027090764,5.128597290923749e-6
+12.4,0.000195343014303889,0.0002953430143038892,4.656985696110964e-6
+12.8,0.0001957696832021258,0.0002957696832021261,4.230316797874113e-6
+13.2,0.0001961556926907649,0.0002961556926907652,3.844307309234977e-6
+13.6,0.0001965049170114392,0.0002965049170114395,3.495082988560714e-6
+14.,0.0001968208612513208,0.0002968208612513211,3.179138748679095e-6
+14.4,0.0001971066969301388,0.000297106696930139,2.893303069861129e-6
+14.8,0.0001973652936202133,0.0002973652936202136,2.634706379786535e-6
+15.2,0.0001975992470092075,0.0002975992470092078,2.400752990792366e-6
+15.6,0.0001978109052016946,0.0002978109052016948,2.189094798305287e-6
+16.,0.0001980023928351154,0.0002980023928351156,1.997607164884541e-6
+16.4,0.0001981756323031491,0.0002981756323031494,1.824367696850769e-6
+16.8,0.0001983323626750603,0.0002983323626750606,1.667637324939605e-6
+17.2,0.0001984741569924392,0.0002984741569924395,1.525843007560685e-6
+17.6,0.0001986024385593296,0.0002986024385593299,1.397561440670295e-6
+18.,0.0001987184952063118,0.0002987184952063121,1.281504793688099e-6
+18.4,0.0001988234920553257,0.0002988234920553259,1.176507944674234e-6
+18.8,0.0001989184829449158,0.0002989184829449161,1.081517055084097e-6
+19.2,0.0001990044213453334,0.0002990044213453337,9.955786546665216e-7
+19.6,0.0001990821699792793,0.0002990821699792796,9.178300207205713e-7
+20.,0.0001991525093891402,0.0002991525093891405,8.474906108597139e-7
diff --git a/models/sbml-test-suite/cases/semantic/00099/00099-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00099/00099-sbml-l2v4.xml
new file mode 100644
index 0000000..54520cf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00099/00099-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00099" id="case00099" name="case00099">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00099/00099-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00099/00099-sbml-l3v1.xml
new file mode 100644
index 0000000..7818eda
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00099/00099-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00099" id="case00099" name="case00099" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00099/00099-settings.txt b/models/sbml-test-suite/cases/semantic/00099/00099-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00099/00099-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00100/00100-results.csv b/models/sbml-test-suite/cases/semantic/00100/00100-results.csv
new file mode 100644
index 0000000..ea88e39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00100/00100-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.4,0.0001095101185704268,0.0002095101185704269,0.00009048988142957316
+0.8,0.0001181144069599281,0.0002181144069599282,0.00008188559304007183
+1.2,0.0001258991045544968,0.0002258991045544968,0.00007410089544550321
+1.6,0.0001329422472699064,0.0002329422472699064,0.00006705775273009363
+2.,0.0001393144472761547,0.0002393144472761548,0.00006068555272384526
+2.4,0.0001450795984151714,0.0002450795984151715,0.00005492040158482856
+2.8,0.0001502955121232816,0.0002502955121232817,0.00004970448787671837
+3.2,0.0001550144989238427,0.0002550144989238427,0.00004498550107615731
+3.6,0.0001592838895931068,0.0002592838895931068,0.00004071611040689317
+4.,0.0001631465105444803,0.0002631465105444803,0.00003685348945551974
+4.4,0.0001666411046561742,0.0002666411046561745,0.00003335889534382568
+4.8,0.0001698027350358279,0.0002698027350358282,0.000030197264964172
+5.2,0.0001726631193237813,0.0002726631193237816,0.0000273368806762186
+5.6,0.0001752509564151416,0.0002752509564151418,0.0000247490435848584
+6.,0.0001775922118992758,0.000277592211899276,0.0000224077881007242
+6.4,0.0001797103780663186,0.0002797103780663189,0.00002028962193368134
+6.8,0.0001816267100701786,0.0002816267100701788,0.00001837328992982138
+7.2,0.0001833604383162523,0.0002833604383162526,0.0000166395616837476
+7.6,0.0001849289608100614,0.0002849289608100616,0.0000150710391899386
+8.,0.0001863480182435769,0.0002863480182435771,0.00001365198175642305
+8.4,0.0001876318525082696,0.0002876318525082699,0.00001236814749173031
+8.8,0.0001887933490866441,0.0002887933490866443,0.00001120665091335583
+9.2,0.0001898441626961193,0.0002898441626961196,0.00001015583730388065
+9.6,0.0001907948424799535,0.0002907948424799538,9.205157520046435e-6
+10.,0.000191654928308744,0.0002916549283087443,8.345071691255907e-6
+10.4,0.0001924330531584597,0.0002924330531584598,7.566946841540313e-6
+10.8,0.0001931370278747662,0.0002931370278747665,6.862972125233738e-6
+11.2,0.0001937739168704251,0.0002937739168704254,6.226083129574814e-6
+11.6,0.0001943501142494414,0.0002943501142494416,5.649885750558537e-6
+12.,0.0001948714027090762,0.0002948714027090764,5.128597290923749e-6
+12.4,0.000195343014303889,0.0002953430143038892,4.656985696110964e-6
+12.8,0.0001957696832021258,0.0002957696832021261,4.230316797874113e-6
+13.2,0.0001961556926907649,0.0002961556926907652,3.844307309234977e-6
+13.6,0.0001965049170114392,0.0002965049170114395,3.495082988560714e-6
+14.,0.0001968208612513208,0.0002968208612513211,3.179138748679095e-6
+14.4,0.0001971066969301388,0.000297106696930139,2.893303069861129e-6
+14.8,0.0001973652936202133,0.0002973652936202136,2.634706379786535e-6
+15.2,0.0001975992470092075,0.0002975992470092078,2.400752990792366e-6
+15.6,0.0001978109052016946,0.0002978109052016948,2.189094798305287e-6
+16.,0.0001980023928351154,0.0002980023928351156,1.997607164884541e-6
+16.4,0.0001981756323031491,0.0002981756323031494,1.824367696850769e-6
+16.8,0.0001983323626750603,0.0002983323626750606,1.667637324939605e-6
+17.2,0.0001984741569924392,0.0002984741569924395,1.525843007560685e-6
+17.6,0.0001986024385593296,0.0002986024385593299,1.397561440670295e-6
+18.,0.0001987184952063118,0.0002987184952063121,1.281504793688099e-6
+18.4,0.0001988234920553257,0.0002988234920553259,1.176507944674234e-6
+18.8,0.0001989184829449158,0.0002989184829449161,1.081517055084097e-6
+19.2,0.0001990044213453334,0.0002990044213453337,9.955786546665216e-7
+19.6,0.0001990821699792793,0.0002990821699792796,9.178300207205713e-7
+20.,0.0001991525093891402,0.0002991525093891405,8.474906108597139e-7
diff --git a/models/sbml-test-suite/cases/semantic/00100/00100-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00100/00100-sbml-l2v4.xml
new file mode 100644
index 0000000..5bb1587
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00100/00100-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00100" id="case00100" name="case00100">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00100/00100-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00100/00100-sbml-l3v1.xml
new file mode 100644
index 0000000..d37e2c7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00100/00100-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00100" id="case00100" name="case00100" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00100/00100-settings.txt b/models/sbml-test-suite/cases/semantic/00100/00100-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00100/00100-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00101/00101-results.csv b/models/sbml-test-suite/cases/semantic/00101/00101-results.csv
new file mode 100644
index 0000000..e806e15
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00101/00101-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.e-15,0.0001,0.0002,0.0001
+0.05,2.408067238201047e-6,0.000102408067237201,0.0001975919327627989,0.00009759193276279898
+0.1,4.639480507278463e-6,0.0001046394805062784,0.0001953605194937215,0.00009536051949372156
+0.15,6.704891488196789e-6,0.0001067048914871967,0.0001932951085128032,0.00009329510851280322
+0.2,8.614674771347517e-6,0.0001086146747703475,0.0001913853252296525,0.0000913853252296525
+0.25,0.00001037886983835288,0.0001103788698373528,0.0001896211301626471,0.00008962113016264715
+0.3,0.00001200713710973649,0.0001120071371087364,0.0001879928628912635,0.00008799286289126352
+0.35,0.00001350872542165995,0.0001135087254206599,0.00018649127457934,0.00008649127457934005
+0.4,0.0000148924500841593,0.0001148924500831593,0.0001851075499168407,0.00008510754991684069
+0.45,0.00001616667973365867,0.0001161666797326586,0.0001838333202673413,0.00008383332026734134
+0.5,0.00001733933072606912,0.0001173393307250691,0.0001826606692749309,0.00008266066927493089
+0.55,0.00001841786716280415,0.0001184178671618041,0.0001815821328381958,0.00008158213283819586
+0.6,0.00001940930743707748,0.0001194093074360774,0.0001805906925639225,0.00008059069256392253
+0.65,0.00002032023267061723,0.0001203202326696172,0.0001796797673303828,0.00007967976733038278
+0.7,0.00002115679973400346,0.0001211567997330034,0.0001788432002669965,0.00007884320026699656
+0.75,0.00002192475813762037,0.0001219247581366203,0.0001780752418633796,0.00007807524186337965
+0.8,0.00002262946078397149,0.0001226294607829714,0.0001773705392170285,0.00007737053921702853
+0.85,0.00002327589185975924,0.0001232758918587592,0.0001767241081412408,0.00007672410814124078
+0.9,0.00002386867798701138,0.0001238686779860112,0.0001761313220139887,0.00007613132201398866
+0.95,0.00002441210936888597,0.0001244121093678858,0.0001755878906321141,0.00007558789063211405
+1.,0.00002491015972718151,0.0001249101597261814,0.0001750898402738185,0.00007508984027381852
+1.05,0.00002536650493828417,0.0001253665049372841,0.0001746334950627158,0.00007463349506271588
+1.1,0.00002578454178579099,0.0001257845417847909,0.0001742154582152091,0.00007421545821520905
+1.15,0.00002616740590906523,0.0001261674059080651,0.0001738325940919348,0.00007383259409193482
+1.2,0.0000265179894905052,0.0001265179894895051,0.0001734820105104949,0.00007348201051049484
+1.25,0.0000268389578701798,0.0001268389578691797,0.0001731610421308202,0.00007316104213082024
+1.3,0.00002713276552428565,0.0001271327655232855,0.0001728672344767144,0.00007286723447671439
+1.35,0.0000274016714048404,0.0001274016714038403,0.0001725983285961596,0.00007259832859615965
+1.4,0.00002764775275287553,0.0001276477527518754,0.0001723522472481245,0.00007235224724812452
+1.45,0.00002787291913909742,0.0001278729191380973,0.0001721270808619026,0.00007212708086190263
+1.5,0.00002807892520238191,0.0001280789252013818,0.0001719210747986181,0.00007192107479861815
+1.55,0.00002826738165799147,0.0001282673816569914,0.0001717326183430086,0.00007173261834300857
+1.6,0.00002843976739248698,0.0001284397673914869,0.0001715602326085131,0.00007156023260851307
+1.65,0.00002859743932063227,0.0001285974393196322,0.0001714025606803678,0.00007140256068036776
+1.7,0.00002874164186716938,0.0001287416418661693,0.0001712583581338307,0.00007125835813383065
+1.75,0.00002887351613652456,0.0001288735161355244,0.0001711264838644755,0.00007112648386447547
+1.8,0.00002899410813613097,0.0001289941081351309,0.0001710058918648691,0.00007100589186486908
+1.85,0.00002910437644146876,0.0001291043764404687,0.0001708956235595313,0.00007089562355953128
+1.9,0.00002920519928652073,0.0001292051992855206,0.0001707948007144793,0.00007079480071447931
+1.95,0.00002929738111535275,0.0001292973811143526,0.0001707026188856473,0.00007070261888564729
+2.,0.00002938165862966956,0.0001293816586286694,0.0001706183413713305,0.00007061834137133048
+2.05,0.00002945870636666264,0.0001294587063656625,0.0001705412936343374,0.0000705412936343374
+2.1,0.00002952914180614656,0.0001295291418051464,0.0001704708581948535,0.00007047085819485348
+2.15,0.00002959353017744639,0.0001295935301764463,0.0001704064698235536,0.00007040646982355366
+2.2,0.00002965238871057583,0.0001296523887095757,0.0001703476112904242,0.00007034761129042422
+2.25,0.0000297061907184514,0.0001297061907174513,0.0001702938092825487,0.00007029380928254866
+2.3,0.00002975536927245931,0.0001297553692714592,0.0001702446307285408,0.00007024463072854075
+2.35,0.00002980032057857972,0.0001298003205775796,0.0001701996794224204,0.00007019967942242033
+2.4,0.00002984140707776234,0.0001298414070767622,0.0001701585929232378,0.00007015859292323771
+2.45,0.00002987896025482238,0.0001298789602538222,0.0001701210397461777,0.00007012103974617769
+2.5,0.00002991328342051705,0.0001299132834195169,0.000170086716580483,0.00007008671658048301
diff --git a/models/sbml-test-suite/cases/semantic/00101/00101-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00101/00101-sbml-l2v4.xml
new file mode 100644
index 0000000..a70b6d5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00101/00101-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00101" id="case00101" name="case00101">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00101/00101-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00101/00101-sbml-l3v1.xml
new file mode 100644
index 0000000..582cf6c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00101/00101-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00101" id="case00101" name="case00101" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00101/00101-settings.txt b/models/sbml-test-suite/cases/semantic/00101/00101-settings.txt
new file mode 100644
index 0000000..a8bef47
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00101/00101-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00102/00102-results.csv b/models/sbml-test-suite/cases/semantic/00102/00102-results.csv
new file mode 100644
index 0000000..1f20cb3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00102/00102-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0001,0.0002,0.0001
+0.05,0.00009881763185936636,0.00009881763185936636,0.0002011823681406337,0.0001011823681406336
+0.1,0.00009776045704354217,0.00009776045704354217,0.0002022395429564579,0.0001022395429564578
+0.15,0.00009681471874860227,0.00009681471874860227,0.0002031852812513978,0.0001031852812513977
+0.2,0.00009596826954523736,0.00009596826954523736,0.0002040317304547627,0.0001040317304547626
+0.25,0.00009521036405216778,0.00009521036405216778,0.0002047896359478323,0.0001047896359478322
+0.3,0.00009453148196592693,0.00009453148196592693,0.0002054685180340731,0.000105468518034073
+0.35,0.00009392317791776141,0.00009392317791776141,0.0002060768220822386,0.0001060768220822385
+0.4,0.00009337794738948058,0.00009337794738948058,0.0002066220526105195,0.0001066220526105194
+0.45,0.00009288911732837295,0.00009288911732837295,0.0002071108826716272,0.000107110882671627
+0.5,0.00009245074632986106,0.00009245074632986106,0.0002075492536701391,0.0001075492536701389
+0.55,0.00009205753888299987,0.00009205753888299987,0.0002079424611170002,0.0001079424611170001
+0.6,0.00009170477298883471,0.00009170477298883471,0.0002082952270111654,0.0001082952270111653
+0.65,0.00009138823317527069,0.00009138823317527069,0.0002086117668247294,0.0001086117668247293
+0.7,0.00009110415396099831,0.00009110415396099831,0.0002088958460390018,0.0001088958460390016
+0.75,0.00009084917047839726,0.00009084917047839726,0.0002091508295216029,0.0001091508295216027
+0.8,0.00009062027359765853,0.00009062027359765853,0.0002093797264023416,0.0001093797264023414
+0.85,0.00009041477095491564,0.00009041477095491564,0.0002095852290450845,0.0001095852290450843
+0.9,0.00009023025254293393,0.00009023025254293393,0.0002097697474570662,0.000109769747457066
+0.95,0.00009006456024225406,0.00009006456024225406,0.0002099354397577461,0.0001099354397577459
+1.,0.0000899157608037785,0.0000899157608037785,0.0002100842391962216,0.0001100842391962215
+1.05,0.00008978212197544293,0.00008978212197544293,0.0002102178780245572,0.000110217878024557
+1.1,0.00008966209112051003,0.00008966209112051003,0.0002103379088794901,0.0001103379088794899
+1.15,0.00008955427612480443,0.00008955427612480443,0.0002104457238751957,0.0001104457238751955
+1.2,0.00008945742853027119,0.00008945742853027119,0.0002105425714697289,0.0001105425714697288
+1.25,0.00008937042847232368,0.00008937042847232368,0.0002106295715276765,0.0001106295715276763
+1.3,0.00008929227124217369,0.00008929227124217369,0.0002107077287578264,0.0001107077287578263
+1.35,0.00008922205529019385,0.00008922205529019385,0.0002107779447098063,0.0001107779447098061
+1.4,0.00008915897150878656,0.00008915897150878656,0.0002108410284912136,0.0001108410284912134
+1.45,0.0000891022936526405,0.0000891022936526405,0.0002108977063473596,0.0001108977063473595
+1.5,0.0000890513697676157,0.0000890513697676157,0.0002109486302323844,0.0001109486302323843
+1.55,0.00008900561453869841,0.00008900561453869841,0.0002109943854613017,0.0001109943854613015
+1.6,0.00008896450241029446,0.00008896450241029446,0.0002110354975897057,0.0001110354975897055
+1.65,0.00008892756145115164,0.00008892756145115164,0.0002110724385488485,0.0001110724385488483
+1.7,0.00008889436785188132,0.00008889436785188132,0.0002111056321481188,0.0001111056321481186
+1.75,0.00008886454098205454,0.00008886454098205454,0.0002111354590179456,0.0001111354590179454
+1.8,0.000088837738966932,0.000088837738966932,0.0002111622610330681,0.000111162261033068
+1.85,0.00008881365472332338,0.00008881365472332338,0.0002111863452766767,0.0001111863452766766
+1.9,0.00008879201240439325,0.00008879201240439325,0.0002112079875956069,0.0001112079875956067
+1.95,0.00008877256418810459,0.00008877256418810459,0.0002112274358118955,0.0001112274358118954
+2.,0.00008875508750772273,0.00008875508750772273,0.0002112449124922774,0.0001112449124922772
+2.05,0.00008873938234168529,0.00008873938234168529,0.0002112606176583148,0.0001112606176583147
+2.1,0.00008872526901018729,0.00008872526901018729,0.0002112747309898128,0.0001112747309898127
+2.15,0.00008871258607921388,0.00008871258607921388,0.0002112874139207862,0.0001112874139207861
+2.2,0.00008870118850364647,0.00008870118850364647,0.0002112988114963536,0.0001112988114963535
+2.25,0.00008869094596013268,0.00008869094596013268,0.0002113090540398674,0.0001113090540398673
+2.3,0.00008868174135018246,0.00008868174135018246,0.0002113182586498177,0.0001113182586498175
+2.35,0.00008867346945598279,0.00008867346945598279,0.0002113265305440173,0.0001113265305440172
+2.4,0.00008866603573247522,0.00008866603573247522,0.0002113339642675249,0.0001113339642675247
+2.45,0.00008865935522925674,0.00008865935522925674,0.0002113406447707434,0.0001113406447707432
+2.5,0.00008865335160035238,0.00008865335160035238,0.0002113466483996477,0.0001113466483996476
diff --git a/models/sbml-test-suite/cases/semantic/00102/00102-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00102/00102-sbml-l2v4.xml
new file mode 100644
index 0000000..41db4fc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00102/00102-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00102" id="case00102" name="case00102">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00102/00102-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00102/00102-sbml-l3v1.xml
new file mode 100644
index 0000000..99ea348
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00102/00102-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00102" id="case00102" name="case00102" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00102/00102-settings.txt b/models/sbml-test-suite/cases/semantic/00102/00102-settings.txt
new file mode 100644
index 0000000..a8bef47
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00102/00102-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00103/00103-results.csv b/models/sbml-test-suite/cases/semantic/00103/00103-results.csv
new file mode 100644
index 0000000..1f20cb3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00103/00103-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0001,0.0002,0.0001
+0.05,0.00009881763185936636,0.00009881763185936636,0.0002011823681406337,0.0001011823681406336
+0.1,0.00009776045704354217,0.00009776045704354217,0.0002022395429564579,0.0001022395429564578
+0.15,0.00009681471874860227,0.00009681471874860227,0.0002031852812513978,0.0001031852812513977
+0.2,0.00009596826954523736,0.00009596826954523736,0.0002040317304547627,0.0001040317304547626
+0.25,0.00009521036405216778,0.00009521036405216778,0.0002047896359478323,0.0001047896359478322
+0.3,0.00009453148196592693,0.00009453148196592693,0.0002054685180340731,0.000105468518034073
+0.35,0.00009392317791776141,0.00009392317791776141,0.0002060768220822386,0.0001060768220822385
+0.4,0.00009337794738948058,0.00009337794738948058,0.0002066220526105195,0.0001066220526105194
+0.45,0.00009288911732837295,0.00009288911732837295,0.0002071108826716272,0.000107110882671627
+0.5,0.00009245074632986106,0.00009245074632986106,0.0002075492536701391,0.0001075492536701389
+0.55,0.00009205753888299987,0.00009205753888299987,0.0002079424611170002,0.0001079424611170001
+0.6,0.00009170477298883471,0.00009170477298883471,0.0002082952270111654,0.0001082952270111653
+0.65,0.00009138823317527069,0.00009138823317527069,0.0002086117668247294,0.0001086117668247293
+0.7,0.00009110415396099831,0.00009110415396099831,0.0002088958460390018,0.0001088958460390016
+0.75,0.00009084917047839726,0.00009084917047839726,0.0002091508295216029,0.0001091508295216027
+0.8,0.00009062027359765853,0.00009062027359765853,0.0002093797264023416,0.0001093797264023414
+0.85,0.00009041477095491564,0.00009041477095491564,0.0002095852290450845,0.0001095852290450843
+0.9,0.00009023025254293393,0.00009023025254293393,0.0002097697474570662,0.000109769747457066
+0.95,0.00009006456024225406,0.00009006456024225406,0.0002099354397577461,0.0001099354397577459
+1.,0.0000899157608037785,0.0000899157608037785,0.0002100842391962216,0.0001100842391962215
+1.05,0.00008978212197544293,0.00008978212197544293,0.0002102178780245572,0.000110217878024557
+1.1,0.00008966209112051003,0.00008966209112051003,0.0002103379088794901,0.0001103379088794899
+1.15,0.00008955427612480443,0.00008955427612480443,0.0002104457238751957,0.0001104457238751955
+1.2,0.00008945742853027119,0.00008945742853027119,0.0002105425714697289,0.0001105425714697288
+1.25,0.00008937042847232368,0.00008937042847232368,0.0002106295715276765,0.0001106295715276763
+1.3,0.00008929227124217369,0.00008929227124217369,0.0002107077287578264,0.0001107077287578263
+1.35,0.00008922205529019385,0.00008922205529019385,0.0002107779447098063,0.0001107779447098061
+1.4,0.00008915897150878656,0.00008915897150878656,0.0002108410284912136,0.0001108410284912134
+1.45,0.0000891022936526405,0.0000891022936526405,0.0002108977063473596,0.0001108977063473595
+1.5,0.0000890513697676157,0.0000890513697676157,0.0002109486302323844,0.0001109486302323843
+1.55,0.00008900561453869841,0.00008900561453869841,0.0002109943854613017,0.0001109943854613015
+1.6,0.00008896450241029446,0.00008896450241029446,0.0002110354975897057,0.0001110354975897055
+1.65,0.00008892756145115164,0.00008892756145115164,0.0002110724385488485,0.0001110724385488483
+1.7,0.00008889436785188132,0.00008889436785188132,0.0002111056321481188,0.0001111056321481186
+1.75,0.00008886454098205454,0.00008886454098205454,0.0002111354590179456,0.0001111354590179454
+1.8,0.000088837738966932,0.000088837738966932,0.0002111622610330681,0.000111162261033068
+1.85,0.00008881365472332338,0.00008881365472332338,0.0002111863452766767,0.0001111863452766766
+1.9,0.00008879201240439325,0.00008879201240439325,0.0002112079875956069,0.0001112079875956067
+1.95,0.00008877256418810459,0.00008877256418810459,0.0002112274358118955,0.0001112274358118954
+2.,0.00008875508750772273,0.00008875508750772273,0.0002112449124922774,0.0001112449124922772
+2.05,0.00008873938234168529,0.00008873938234168529,0.0002112606176583148,0.0001112606176583147
+2.1,0.00008872526901018729,0.00008872526901018729,0.0002112747309898128,0.0001112747309898127
+2.15,0.00008871258607921388,0.00008871258607921388,0.0002112874139207862,0.0001112874139207861
+2.2,0.00008870118850364647,0.00008870118850364647,0.0002112988114963536,0.0001112988114963535
+2.25,0.00008869094596013268,0.00008869094596013268,0.0002113090540398674,0.0001113090540398673
+2.3,0.00008868174135018246,0.00008868174135018246,0.0002113182586498177,0.0001113182586498175
+2.35,0.00008867346945598279,0.00008867346945598279,0.0002113265305440173,0.0001113265305440172
+2.4,0.00008866603573247522,0.00008866603573247522,0.0002113339642675249,0.0001113339642675247
+2.45,0.00008865935522925674,0.00008865935522925674,0.0002113406447707434,0.0001113406447707432
+2.5,0.00008865335160035238,0.00008865335160035238,0.0002113466483996477,0.0001113466483996476
diff --git a/models/sbml-test-suite/cases/semantic/00103/00103-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00103/00103-sbml-l2v4.xml
new file mode 100644
index 0000000..159c012
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00103/00103-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00103" id="case00103" name="case00103">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00103/00103-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00103/00103-sbml-l3v1.xml
new file mode 100644
index 0000000..2d31bd0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00103/00103-sbml-l3v1.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00103" id="case00103" name="case00103" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00103/00103-settings.txt b/models/sbml-test-suite/cases/semantic/00103/00103-settings.txt
new file mode 100644
index 0000000..a8bef47
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00103/00103-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00104/00104-results.csv b/models/sbml-test-suite/cases/semantic/00104/00104-results.csv
new file mode 100644
index 0000000..35046f2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00104/00104-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,C
+0,1.5000000000,0.0000000000,1.0000000000
+0.12,1.3464413766,0.1535586234,0.9880717129
+0.24,1.2086029468,0.2913970532,0.9762857098
+0.36,1.0848753380,0.4151246620,0.9646402935
+0.48,0.9738139897,0.5261860103,0.9531337871
+0.6,0.8741223784,0.6258776216,0.9417645336
+0.72,0.7846362551,0.7153637449,0.9305308958
+0.84,0.7043112699,0.7956887301,0.9194312561
+0.96,0.6322090893,0.8677909107,0.9084640161
+1.08,0.5674884455,0.9325115545,0.8976275964
+1.2,0.5093932102,0.9906067898,0.8869204367
+1.32,0.4572454628,1.0427545372,0.8763409951
+1.44,0.4104361254,1.0895638746,0.8658877481
+1.56,0.3684188010,1.1315811990,0.8555591904
+1.68,0.3307029052,1.1692970948,0.8453538347
+1.8,0.2968480272,1.2031519728,0.8352702114
+1.92,0.2664590285,1.2335409715,0.8253068685
+2.04,0.2391809322,1.2608190678,0.8154623712
+2.16,0.2146954606,1.2853045394,0.8057353019
+2.28,0.1927165219,1.3072834781,0.7961242598
+2.4,0.1729877176,1.3270122824,0.7866278611
+2.52,0.1552785092,1.3447214908,0.7772447381
+2.64,0.1393823114,1.3606176886,0.7679735397
+2.76,0.1251133827,1.3748866173,0.7588129308
+2.88,0.1123052471,1.3876947529,0.7497615922
+3,0.1008082762,1.3991917238,0.7408182207
+3.12,0.0904882999,1.4095117001,0.7319815282
+3.24,0.0812247937,1.4187752063,0.7232502424
+3.36,0.0729096157,1.4270903843,0.7146231058
+3.48,0.0654456896,1.4345543104,0.7060988762
+3.6,0.0587458500,1.4412541500,0.6976763261
+3.72,0.0527319069,1.4472680931,0.6893542425
+3.84,0.0473336049,1.4526663951,0.6811314272
+3.96,0.0424879615,1.4575120385,0.6730066959
+4.08,0.0381383569,1.4618616431,0.6649788788
+4.2,0.0342340513,1.4657659487,0.6570468198
+4.32,0.0307294215,1.4692705785,0.6492093767
+4.44,0.0275835836,1.4724164164,0.6414654208
+4.56,0.0247597811,1.4752402189,0.6338138371
+4.68,0.0222250666,1.4777749334,0.6262535237
+4.8,0.0199498312,1.4800501688,0.6187833918
+4.92,0.0179075203,1.4820924797,0.6114023658
+5.04,0.0160742847,1.4839257153,0.6041093829
+5.16,0.0144287209,1.4855712791,0.5969033927
+5.28,0.0129516198,1.4870483802,0.5897833576
+5.4,0.0116257296,1.4883742704,0.5827482524
+5.52,0.0104355781,1.4895644219,0.5757970639
+5.64,0.0093672607,1.4906327393,0.5689287912
+5.76,0.0084083141,1.4915916859,0.5621424452
+5.88,0.0075475334,1.4924524666,0.5554370487
+6,0.0067748756,1.4932251244,0.5488116361
diff --git a/models/sbml-test-suite/cases/semantic/00104/00104-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00104/00104-sbml-l2v4.xml
new file mode 100644
index 0000000..4626d65
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00104/00104-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00104" id="case00104" name="case00104">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00104/00104-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00104/00104-sbml-l3v1.xml
new file mode 100644
index 0000000..4193ff0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00104/00104-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00104" id="case00104" name="case00104" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00104/00104-settings.txt b/models/sbml-test-suite/cases/semantic/00104/00104-settings.txt
new file mode 100644
index 0000000..61d2556
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00104/00104-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6
+steps: 50
+variables: S1, S2, C
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, C
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00105/00105-results.csv b/models/sbml-test-suite/cases/semantic/00105/00105-results.csv
new file mode 100644
index 0000000..2927724
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00105/00105-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,C
+0,1,2,1,1
+0.1,0.8884766656,1.8884766656,1.1115233344,0.9900498337
+0.2,0.7992514430,1.7992514430,1.2007485570,0.9801986733
+0.3,0.7269596366,1.7269596366,1.2730403634,0.9704455335
+0.4,0.6677757943,1.6677757943,1.3322242057,0.9607894392
+0.5,0.6188985426,1.6188985426,1.3811014574,0.9512294245
+0.6,0.5782299513,1.5782299513,1.4217700487,0.9417645336
+0.7,0.5441690663,1.5441690663,1.4558309337,0.9323938199
+0.8,0.5154743186,1.5154743186,1.4845256814,0.9231163464
+0.9,0.4911691743,1.4911691743,1.5088308257,0.9139311853
+1,0.4704762513,1.4704762513,1.5295237487,0.9048374180
+1.1,0.4527711037,1.4527711037,1.5472288963,0.8958341353
+1.2,0.4375472504,1.4375472504,1.5624527496,0.8869204367
+1.3,0.4243907916,1.4243907916,1.5756092084,0.8780954309
+1.4,0.4129620996,1.4129620996,1.5870379004,0.8693582354
+1.5,0.4029800832,1.4029800832,1.5970199168,0.8607079764
+1.6,0.3942119661,1.3942119661,1.6057880339,0.8521437890
+1.7,0.3864637222,1.3864637222,1.6135362778,0.8436648166
+1.8,0.3795733832,1.3795733832,1.6204266168,0.8352702114
+1.9,0.3734054839,1.3734054839,1.6265945161,0.8269591339
+2,0.3678462756,1.3678462756,1.6321537244,0.8187307531
+2.1,0.3628004397,1.3628004397,1.6371995603,0.8105842460
+2.2,0.3581876907,1.3581876907,1.6418123093,0.8025187980
+2.3,0.3539406050,1.3539406050,1.6460593950,0.7945336025
+2.4,0.3500024430,1.3500024430,1.6499975570,0.7866278611
+2.5,0.3463253178,1.3463253178,1.6536746822,0.7788007831
+2.6,0.3428692027,1.3428692027,1.6571307973,0.7710515858
+2.7,0.3396000129,1.3396000129,1.6603999871,0.7633794943
+2.8,0.3364895237,1.3364895237,1.6635104763,0.7557837415
+2.9,0.3335136355,1.3335136355,1.6664863645,0.7482635676
+3,0.3306522608,1.3306522608,1.6693477392,0.7408182207
+3.1,0.3278886176,1.3278886176,1.6721113824,0.7334469562
+3.2,0.3252083319,1.3252083319,1.6747916681,0.7261490371
+3.3,0.3225996656,1.3225996656,1.6774003344,0.7189237334
+3.4,0.3200526594,1.3200526594,1.6799473406,0.7117703228
+3.5,0.3175588312,1.3175588312,1.6824411688,0.7046880897
+3.6,0.3151113460,1.3151113460,1.6848886540,0.6976763260
+3.7,0.3127043753,1.3127043753,1.6872956247,0.6907343306
+3.8,0.3103329382,1.3103329382,1.6896670618,0.6838614092
+3.9,0.3079930578,1.3079930578,1.6920069422,0.6770568745
+4,0.3056813912,1.3056813912,1.6943186088,0.6703200460
+4.1,0.3033950586,1.3033950586,1.6966049414,0.6636502501
+4.2,0.3011317134,1.3011317134,1.6988682866,0.6570468198
+4.3,0.2988894485,1.2988894485,1.7011105515,0.6505090947
+4.4,0.2966666404,1.2966666404,1.7033333596,0.6440364210
+4.5,0.2944619395,1.2944619395,1.7055380605,0.6376281516
+4.6,0.2922743162,1.2922743161,1.7077256838,0.6312836455
+4.7,0.2901027604,1.2901027604,1.7098972396,0.6250022683
+4.8,0.2879464143,1.2879464142,1.7120535857,0.6187833918
+4.9,0.2858046574,1.2858046574,1.7141953426,0.6126263942
+5,0.2836770960,1.2836770960,1.7163229040,0.6065306597
diff --git a/models/sbml-test-suite/cases/semantic/00105/00105-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00105/00105-sbml-l2v4.xml
new file mode 100644
index 0000000..d9734f8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00105/00105-sbml-l2v4.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00105" id="case00105" name="case00105">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00105/00105-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00105/00105-sbml-l3v1.xml
new file mode 100644
index 0000000..07d9183
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00105/00105-sbml-l3v1.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00105" id="case00105" name="case00105" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00105/00105-settings.txt b/models/sbml-test-suite/cases/semantic/00105/00105-settings.txt
new file mode 100644
index 0000000..dfce592
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00105/00105-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2, S3, C
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, C
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00106/00106-results.csv b/models/sbml-test-suite/cases/semantic/00106/00106-results.csv
new file mode 100644
index 0000000..cc216ec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00106/00106-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,C
+0,1,1.5,2,1,1
+0.04,0.9762188960,1.4762188960,2.0237811040,1.0237811040,0.9960079893
+0.08,0.9547108935,1.4547108935,2.0452891065,1.0452891065,0.9920319148
+0.12,0.9352505187,1.4352505187,2.0647494813,1.0647494813,0.9880717129
+0.16,0.9176359669,1.4176359669,2.0823640331,1.0823640331,0.9841273201
+0.2,0.9016870771,1.4016870771,2.0983129229,1.0983129229,0.9801986733
+0.24,0.8872434491,1.3872434491,2.1127565509,1.1127565509,0.9762857098
+0.28,0.8741602897,1.3741602897,2.1258397103,1.1258397103,0.9723883668
+0.32,0.8623079232,1.3623079232,2.1376920768,1.1376920768,0.9685065821
+0.36,0.8515701059,1.3515701059,2.1484298941,1.1484298941,0.9646402935
+0.4,0.8418413260,1.3418413260,2.1581586740,1.1581586740,0.9607894392
+0.44,0.8330268304,1.3330268304,2.1669731696,1.1669731696,0.9569539575
+0.48,0.8250413691,1.3250413691,2.1749586309,1.1749586309,0.9531337871
+0.52,0.8178072184,1.3178072184,2.1821927816,1.1821927816,0.9493288668
+0.56,0.8112543228,1.3112543228,2.1887456772,1.1887456772,0.9455391359
+0.6,0.8053196697,1.3053196697,2.1946803303,1.1946803303,0.9417645336
+0.64,0.7999456148,1.2999456148,2.2000543852,1.2000543852,0.9380049995
+0.68,0.7950798794,1.2950798794,2.2049201206,1.2049201206,0.9342604736
+0.72,0.7906756201,1.2906756201,2.2093243799,1.2093243799,0.9305308958
+0.76,0.7866899603,1.2866899603,2.2133100397,1.2133100397,0.9268162066
+0.8,0.7830837035,1.2830837035,2.2169162965,1.2169162965,0.9231163464
+0.84,0.7798217360,1.2798217360,2.2201782640,1.2201782640,0.9194312561
+0.88,0.7768721841,1.2768721841,2.2231278159,1.2231278159,0.9157608767
+0.92,0.7742057337,1.2742057337,2.2257942663,1.2257942663,0.9121051495
+0.96,0.7717957767,1.2717957767,2.2282042233,1.2282042233,0.9084640161
+1,0.7696185785,1.2696185785,2.2303814215,1.2303814215,0.9048374180
+1.04,0.7676523507,1.2676523507,2.2323476493,1.2323476493,0.9012252974
+1.08,0.7658770521,1.2658770521,2.2341229479,1.2341229479,0.8976275964
+1.12,0.7642746381,1.2642746381,2.2357253619,1.2357253619,0.8940442575
+1.16,0.7628290056,1.2628290056,2.2371709944,1.2371709944,0.8904752233
+1.2,0.7615253066,1.2615253066,2.2384746934,1.2384746934,0.8869204367
+1.24,0.7603498697,1.2603498697,2.2396501303,1.2396501303,0.8833798409
+1.28,0.7592904169,1.2592904169,2.2407095831,1.2407095831,0.8798533791
+1.32,0.7583360617,1.2583360617,2.2416639383,1.2416639383,0.8763409951
+1.36,0.7574767548,1.2574767548,2.2425232452,1.2425232452,0.8728426325
+1.4,0.7567032191,1.2567032191,2.2432967809,1.2432967809,0.8693582354
+1.44,0.7560070457,1.2560070457,2.2439929543,1.2439929543,0.8658877481
+1.48,0.7553808989,1.2553808989,2.2446191011,1.2446191011,0.8624311149
+1.52,0.7548180563,1.2548180563,2.2451819437,1.2451819437,0.8589882807
+1.56,0.7543122879,1.2543122879,2.2456877121,1.2456877121,0.8555591904
+1.6,0.7538578561,1.2538578561,2.2461421439,1.2461421439,0.8521437890
+1.64,0.7534497197,1.2534497197,2.2465502803,1.2465502803,0.8487420219
+1.68,0.7530834516,1.2530834516,2.2469165484,1.2469165484,0.8453538347
+1.72,0.7527549405,1.2527549405,2.2472450595,1.2472450595,0.8419791732
+1.76,0.7524603706,1.2524603706,2.2475396294,1.2475396294,0.8386179833
+1.8,0.7521962352,1.2521962352,2.2478037648,1.2478037648,0.8352702114
+1.84,0.7519595202,1.2519595202,2.2480404798,1.2480404798,0.8319358038
+1.88,0.7517475627,1.2517475627,2.2482524373,1.2482524373,0.8286147072
+1.92,0.7515578834,1.2515578834,2.2484421166,1.2484421166,0.8253068685
+1.96,0.7513881812,1.2513881812,2.2486118188,1.2486118188,0.8220122347
+2,0.7512363555,1.2512363555,2.2487636445,1.2487636445,0.8187307531
diff --git a/models/sbml-test-suite/cases/semantic/00106/00106-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00106/00106-sbml-l2v4.xml
new file mode 100644
index 0000000..ca53dd0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00106/00106-sbml-l2v4.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00106" id="case00106" name="case00106">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00106/00106-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00106/00106-sbml-l3v1.xml
new file mode 100644
index 0000000..1f5fc5a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00106/00106-sbml-l3v1.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00106" id="case00106" name="case00106" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> C </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00106/00106-settings.txt b/models/sbml-test-suite/cases/semantic/00106/00106-settings.txt
new file mode 100644
index 0000000..8dc021e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00106/00106-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4, C
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4, C
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00107/00107-results.csv b/models/sbml-test-suite/cases/semantic/00107/00107-results.csv
new file mode 100644
index 0000000..9b9bbe1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00107/00107-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0.15
+0.04,0.144118415873024,0.155881584126976
+0.08,0.1384674372242192,0.1615325627757808
+0.12,0.133038036776677,0.1669619632233229
+0.16,0.1278215445140758,0.1721784554859242
+0.2,0.1228096059402711,0.1771903940597289
+0.24,0.1179941820792959,0.1820058179207041
+0.28,0.1133675519600698,0.1866324480399302
+0.32,0.1089223347329172,0.1910776652670828
+0.36,0.1046514319886703,0.1953485680113296
+0.4,0.1005480036442401,0.1994519963557599
+0.44,0.0966054679426161,0.2033945320573838
+0.48,0.09281750348717477,0.2071824965128252
+0.52,0.0891780673491535,0.2108219326508464
+0.56,0.08568134784252481,0.2143186521574751
+0.6,0.08232174478077149,0.2176782552192285
+0.64,0.07909386947688658,0.2209061305231134
+0.68,0.07599254640892396,0.224007453591076
+0.72,0.07301282804514452,0.2269871719548554
+0.76,0.07014995617935266,0.2298500438206473
+0.8,0.06739934576651033,0.2326006542334896
+0.84,0.06475658492273707,0.2352434150772629
+0.88,0.06221743628894753,0.2377825637110524
+0.92,0.05977784916865486,0.2402221508313451
+0.96,0.05743392787202085,0.2425660721279791
+1,0.05518191848157573,0.2448180815184242
+1.04,0.05301820885221818,0.2469817911477818
+1.08,0.0509393297276674,0.2490606702723325
+1.12,0.04894196467805614,0.2510580353219438
+1.16,0.0470229241822305,0.2529770758177694
+1.2,0.04517913479243745,0.2548208652075625
+1.24,0.04340763913432476,0.2565923608656752
+1.28,0.04170559682101478,0.2582944031789852
+1.32,0.04007029258931759,0.2599297074106823
+1.36,0.03849911508011228,0.2615008849198877
+1.4,0.0369895479671432,0.2630104520328567
+1.44,0.03553916995701998,0.2644608300429799
+1.48,0.03414565553759764,0.2658543444624023
+1.52,0.03280678163934492,0.267193218360655
+1.56,0.03152041026218931,0.2684795897378106
+1.6,0.03028448121238958,0.2697155187876104
+1.64,0.02909701210253573,0.2709029878974642
+1.68,0.02795609896427093,0.272043901035729
+1.72,0.02685992170215866,0.2731400782978413
+1.76,0.0258067298697462,0.2741932701302537
+1.8,0.02479483672301853,0.2752051632769814
+1.84,0.02382261922039844,0.2761773807796015
+1.88,0.0228885199300234,0.2771114800699765
+1.92,0.02199104771580686,0.278008952284193
+1.96,0.02112876723744896,0.2788712327625509
+2,0.02030029712902991,0.27969970287097
diff --git a/models/sbml-test-suite/cases/semantic/00107/00107-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00107/00107-sbml-l2v4.xml
new file mode 100644
index 0000000..2ddb55b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00107/00107-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00107" id="case00107" name="case00107">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="2.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00107/00107-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00107/00107-sbml-l3v1.xml
new file mode 100644
index 0000000..948cf14
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00107/00107-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00107" id="case00107" name="case00107" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="2.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00107/00107-settings.txt b/models/sbml-test-suite/cases/semantic/00107/00107-settings.txt
new file mode 100644
index 0000000..7c6cc29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00107/00107-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00108/00108-results.csv b/models/sbml-test-suite/cases/semantic/00108/00108-results.csv
new file mode 100644
index 0000000..127821a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00108/00108-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.2,0.0001048757375167116,0.0002048757375167115,9.512426248328843e-005
+0.4,0.0001095135888263384,0.0002095135888263384,9.048641117366155e-005
+0.6,0.0001139251577266342,0.0002139251577266342,8.607484227336583e-005
+0.8,0.0001181214819132174,0.0002181214819132174,8.187851808678264e-005
+1,0.0001221130618053172,0.0002221130618053173,7.788693819468276e-005
+1.2,0.0001259098844791149,0.0002259098844791149,7.409011552088507e-005
+1.4,0.0001295214513160429,0.0002295214513160429,7.047854868395713e-005
+1.6,0.0001329567994663229,0.000232956799466323,6.704320053367703e-005
+1.8,0.0001362245256197488,0.0002362245256197488,6.377547438025121e-005
+2,0.0001393328076534532,0.0002393328076534532,6.066719234654683e-005
+2.2,0.0001422894236232674,0.0002422894236232674,5.771057637673258e-005
+2.4,0.0001451017735968801,0.0002451017735968801,5.489822640311991e-005
+2.6,0.000147776895185035,0.000247776895185035,5.222310481496498e-005
+2.8,0.0001503214842714716,0.0002503214842714716,4.967851572852835e-005
+3,0.0001527419087643092,0.0002527419087643093,4.725809123569076e-005
+3.2,0.0001550442270882028,0.0002550442270882028,4.495577291179719e-005
+3.4,0.0001572342013255109,0.0002572342013255109,4.27657986744891e-005
+3.6,0.0001593173130189283,0.0002593173130189284,4.068268698107166e-005
+3.8,0.0001612987760511027,0.0002612987760511028,3.870122394889727e-005
+4,0.0001631835500166306,0.0002631835500166306,3.681644998336944e-005
+4.2,0.0001649763526819458,0.0002649763526819458,3.502364731805417e-005
+4.4,0.0001666816714384871,0.0002666816714384871,3.331832856151289e-005
+4.6,0.0001683037750540708,0.0002683037750540709,3.169622494592915e-005
+4.8,0.0001698467237389552,0.0002698467237389552,3.015327626104482e-005
+5,0.0001713143798949776,0.0002713143798949777,2.868562010502236e-005
+5.2,0.0001727104172985198,0.0002727104172985198,2.72895827014802e-005
+5.4,0.0001740383305548166,0.0002740383305548166,2.596166944518336e-005
+5.6,0.0001753014438885184,0.0002753014438885184,2.469855611148158e-005
+5.8,0.000176502919002516,0.000276502919002516,2.349708099748394e-005
+6,0.0001776457639411966,0.0002776457639411966,2.235423605880343e-005
+6.2,0.0001787328391037708,0.0002787328391037709,2.126716089622916e-005
+6.4,0.0001797668664944941,0.0002797668664944941,2.023313350550589e-005
+6.6,0.0001807504339080192,0.0002807504339080192,1.924956609198081e-005
+6.8,0.0001816860044106026,0.0002816860044106027,1.831399558939737e-005
+7,0.0001825759193496053,0.0002825759193496053,1.742408065039469e-005
+7.2,0.0001834224072236534,0.0002834224072236534,1.657759277634655e-005
+7.4,0.0001842275867207718,0.0002842275867207718,1.57724132792282e-005
+7.6,0.0001849934737525678,0.0002849934737525677,1.500652624743223e-005
+7.8,0.0001857219858653905,0.0002857219858653904,1.427801413460955e-005
+8,0.0001864149464176429,0.0002864149464176429,1.358505358235705e-005
+8.2,0.0001870740909442449,0.0002870740909442449,1.292590905575506e-005
+8.4,0.0001877010688694025,0.0002877010688694024,1.229893113059753e-005
+8.6,0.0001882974504613561,0.0002882974504613561,1.170254953864392e-005
+8.8,0.0001888647284946983,0.0002888647284946983,1.113527150530174e-005
+9,0.0001894043230715245,0.0002894043230715244,1.059567692847555e-005
+9.2,0.0001899175856231485,0.0002899175856231484,1.008241437685148e-005
+9.4,0.000190405800429043,0.000290405800429043,9.594199570956977e-006
+9.6,0.0001908701903934501,0.0002908701903934501,9.129809606549882e-006
+9.8,0.0001913119178807953,0.0002913119178807952,8.688082119204696e-006
+10,0.0001917320886325124,0.0002917320886325123,8.267911367487608e-006
diff --git a/models/sbml-test-suite/cases/semantic/00108/00108-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00108/00108-sbml-l2v4.xml
new file mode 100644
index 0000000..cb27860
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00108/00108-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00108" id="case00108" name="case00108">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="2.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00108/00108-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00108/00108-sbml-l3v1.xml
new file mode 100644
index 0000000..7b677d5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00108/00108-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00108" id="case00108" name="case00108" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="2.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00108/00108-settings.txt b/models/sbml-test-suite/cases/semantic/00108/00108-settings.txt
new file mode 100644
index 0000000..8de331f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00108/00108-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00109/00109-results.csv b/models/sbml-test-suite/cases/semantic/00109/00109-results.csv
new file mode 100644
index 0000000..54a126c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00109/00109-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0005,0.001,0.002,0.0015
+0.4,0.0005116233421026607,0.001011623342102661,0.00198837665789734,0.00148837665789734
+0.8,0.0005225220835882086,0.001022522083588209,0.001977477916411792,0.001477477916411792
+1.2,0.0005327378285886398,0.00103273782858864,0.00196726217141136,0.00146726217141136
+1.6,0.000542310247498704,0.001042310247498704,0.001957689752501296,0.001457689752501296
+2,0.0005512771060719887,0.001051277106071989,0.001948722893928012,0.001448722893928011
+2.4,0.0005596742983203074,0.001059674298320308,0.001940325701679693,0.001440325701679693
+2.8,0.0005675359030741477,0.001067535903074148,0.001932464096925852,0.001432464096925852
+3.2,0.000574894228333933,0.001074894228333933,0.001925105771666067,0.001425105771666067
+3.6,0.0005817798680673266,0.001081779868067327,0.001918220131932674,0.001418220131932674
+4,0.0005882217694127809,0.001088221769412781,0.00191177823058722,0.001411778230587219
+4.4,0.0005942472826176563,0.001094247282617656,0.001905752717382344,0.001405752717382344
+4.8,0.0005998822360009781,0.001099882236000978,0.001900117763999023,0.001400117763999022
+5.2,0.000605150994309335,0.001105150994309335,0.001894849005690666,0.001394849005690665
+5.6,0.0006100765220499318,0.001110076522049932,0.001889923477950068,0.001389923477950068
+6,0.0006146804557609395,0.001114680455760939,0.001885319544239061,0.001385319544239061
+6.4,0.0006189831547413307,0.001118983154741331,0.00188101684525867,0.001381016845258669
+6.8,0.0006230037780138061,0.001123003778013806,0.001876996221986194,0.001376996221986194
+7.2,0.0006267603315842897,0.00112676033158429,0.001873239668415711,0.00137323966841571
+7.6,0.000630269738555089,0.001130269738555089,0.001869730261444912,0.001369730261444911
+8,0.0006335478899563686,0.001133547889956369,0.001866452110043632,0.001366452110043631
+8.4,0.000636609702712179,0.001136609702712179,0.001863390297287821,0.001363390297287821
+8.8,0.0006394691746928158,0.001139469174692816,0.001860530825307184,0.001360530825307184
+9.2,0.0006421394313418862,0.001142139431341886,0.001857860568658114,0.001357860568658114
+9.6,0.0006446327822729071,0.001144632782272907,0.001855367217727093,0.001355367217727093
+10,0.0006469607592145288,0.001146960759214529,0.001853039240785471,0.001353039240785471
+10.4,0.0006491341713331071,0.001149134171333107,0.001850865828666893,0.001350865828666893
+10.8,0.0006511631370049194,0.001151163137004919,0.001848836862995081,0.001348836862995081
+11.2,0.0006530571357448596,0.001153057135744859,0.001846942864255141,0.001346942864255141
+11.6,0.0006548250359316316,0.001154825035931632,0.001845174964068369,0.001345174964068369
+12,0.0006564751416047982,0.001156475141604798,0.001843524858395202,0.001343524858395202
+12.4,0.0006580152183481337,0.001158015218348134,0.001841984781651867,0.001341984781651867
+12.8,0.0006594525330031369,0.001159452533003137,0.001840547466996863,0.001340547466996863
+13.2,0.0006607938804233861,0.001160793880423386,0.001839206119576614,0.001339206119576614
+13.6,0.0006620456137184835,0.001162045613718483,0.001837954386281517,0.001337954386281517
+14,0.0006632136748170178,0.001163213674817018,0.001836786325182982,0.001336786325182983
+14.4,0.0006643036133519465,0.001164303613351947,0.001835696386648054,0.001335696386648054
+14.8,0.0006653206222439838,0.001165320622243984,0.001834679377756016,0.001334679377756016
+15.2,0.000666269546790461,0.001166269546790461,0.001833730453209539,0.001333730453209539
+15.6,0.0006671549212590538,0.001167154921259054,0.001832845078740946,0.001332845078740946
+16,0.0006679809759805445,0.001167980975980545,0.001832019024019456,0.001332019024019456
+16.4,0.0006687516656398398,0.00116875166563984,0.00183124833436016,0.00133124833436016
+16.8,0.0006694706843970863,0.001169470684397087,0.001830529315602914,0.001330529315602914
+17.2,0.0006701414784716165,0.001170141478471617,0.001829858521528384,0.001329858521528384
+17.6,0.0006707672721405454,0.001170767272140546,0.001829232727859455,0.001329232727859455
+18,0.0006713510697613251,0.001171351069761325,0.001828648930238675,0.001328648930238675
+18.4,0.0006718956805421712,0.001171895680542171,0.001828104319457829,0.001328104319457829
+18.8,0.0006724037271046829,0.001172403727104683,0.001827596272895317,0.001327596272895317
+19.2,0.0006728776539202739,0.001172877653920274,0.001827122346079726,0.001327122346079726
+19.6,0.0006733197480252198,0.00117331974802522,0.00182668025197478,0.00132668025197478
+20,0.0006737321409803639,0.001173732140980364,0.001826267859019636,0.001326267859019636
diff --git a/models/sbml-test-suite/cases/semantic/00109/00109-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00109/00109-sbml-l2v4.xml
new file mode 100644
index 0000000..32da46c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00109/00109-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00109" id="case00109" name="case00109">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="12.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00109/00109-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00109/00109-sbml-l3v1.xml
new file mode 100644
index 0000000..e3a1207
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00109/00109-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00109" id="case00109" name="case00109" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="12.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00109/00109-settings.txt b/models/sbml-test-suite/cases/semantic/00109/00109-settings.txt
new file mode 100644
index 0000000..0e1930a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00109/00109-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00110/00110-results.csv b/models/sbml-test-suite/cases/semantic/00110/00110-results.csv
new file mode 100644
index 0000000..3795720
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00110/00110-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.,0
+0.2,0.8545116421896971,1.094349434867706,0.0511389229425955
+0.4,0.7206278488413399,1.175305106192761,0.1040670449658973
+0.6,0.6010674407660164,1.240942599572447,0.1579899596615349
+0.8,0.4970183403290728,1.290884675384844,0.212096984286081
+1.,0.4083745161832901,1.325994791611734,0.265630692204974
+1.2,0.3341155469390854,1.347949954745231,0.3179344983156817
+1.4,0.272694919541516,1.358828068096968,0.3684770123615139
+1.6,0.2223570077770742,1.360785872430616,0.4168571197923081
+1.8,0.1813560541831919,1.355848095251937,0.4627958505648693
+2.,0.1480848034665973,1.345794345250848,0.5061208512825532
+2.2,0.1211348788738203,1.33211714960952,0.5467479715166584
+2.4,0.09931238371036356,1.316024725004807,0.5846628912848278
+2.6,0.08162781275162951,1.298467741904044,0.6199044453443255
+2.8,0.06727349983883411,1.280176145900419,0.652550354260745
+3.,0.05559683889653904,1.261697647856399,0.6827055132470608
+3.2,0.0460738804024662,1.243433444036523,0.7104926755610087
+3.4,0.03828549425335121,1.225669285870276,0.7360452198763716
+3.6,0.03189695162590554,1.208601388655244,0.7595016597188484
+3.8,0.02664094885031378,1.192357488867614,0.7810015622820699
+4.,0.02230382377471794,1.17701359012775,0.8006825860975304
+4.2,0.01871449594028731,1.162607117789731,0.8186783862699806
+4.4,0.01573564771472331,1.149147160425056,0.8351171918602193
+4.6,0.01325675856027309,1.136622350099999,0.8501208913397267
+4.8,0.01118861138260501,1.125006891525885,0.8638044970915084
+5.,0.009458953234124847,1.114265150960945,0.8762758958049286
+5.2,0.008009075626262034,1.104355117453637,0.8876358069200995
+5.4,0.006791119870345013,1.095230993483321,0.8979778866463327
+5.6,0.005765945497131551,1.086845118994649,0.9073889355082183
+5.8,0.004901434246256687,1.079149382546575,0.9159491832071673
+6.,0.004171151471798588,1.072096239671702,0.9237326088564986
+6.2,0.0035532729392181,1.065639433234182,0.9308072938265988
+6.4,0.003029727783923451,1.059734486280199,0.9372357859358763
+6.6,0.002585511579317234,1.054339023963551,0.9430754644571309
+6.8,0.002208133464119083,1.049412967464709,0.9483788990711709
+7.,0.001887169037824219,1.044918631943717,0.953194199018458
+7.2,0.001613897607580474,1.040820753156728,0.9575653492356909
+7.4,0.001381007708115122,1.037086463510941,0.9615325287809424
+7.6,0.0011823566368014,1.033685231375225,0.9651324119879725
+7.8,0.001012773608033861,1.03058877510799,0.9683984512839749
+8.,0.0008678981288873261,1.027770960415306,0.9713611414558051
+8.2,0.0007440468255732901,1.025207687278339,0.9740482658960861
+8.4,0.0006381034301407493,1.022876771391985,0.9764851251778727
+8.6,0.0005474276455848171,1.0207578236996,0.9786947486548141
+8.8,0.0004697794539116533,1.018832130697244,0.9806980898488434
+9.,0.0004032560953891281,1.017082537444007,0.9825142064606025
+9.2,0.0003462394382999299,1.015493334426803,0.9841604261348952
+9.4,0.0002973519746999921,1.014050149467981,0.985652498557317
+9.6,0.0002554199055239301,1.012739844978499,0.9870047351159755
+9.8,0.0002194421317241591,1.011550421016374,0.9882301368519003
+10.,0.0001885641619698101,1.010470924334414,0.9893405115036146
diff --git a/models/sbml-test-suite/cases/semantic/00110/00110-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00110/00110-sbml-l2v4.xml
new file mode 100644
index 0000000..bf1316a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00110/00110-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00110" id="case00110" name="case00110">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> S2 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00110/00110-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00110/00110-sbml-l3v1.xml
new file mode 100644
index 0000000..b6bfaad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00110/00110-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00110" id="case00110" name="case00110" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> S2 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00110/00110-settings.txt b/models/sbml-test-suite/cases/semantic/00110/00110-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00110/00110-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00111/00111-results.csv b/models/sbml-test-suite/cases/semantic/00111/00111-results.csv
new file mode 100644
index 0000000..803705f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00111/00111-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,1.,0,0.1
+0.16,0.9168569277838017,0.6000768626504221,0.4791414256442691,0.1039247839215058
+0.32,0.8546333228659704,0.5857703440668562,0.5489550463715684,0.110641286695604
+0.48,0.7956522106834803,0.607248528042342,0.578701079022463,0.118398182251714
+0.64,0.7386849550682197,0.6308035432604188,0.6034078641381798,0.1271036375331811
+0.8,0.6839083305759893,0.6530467633006168,0.6262069963062501,0.1368379098171428
+0.96,0.6315720040977767,0.6735042037746417,0.6472181882548948,0.1477056038726861
+1.12,0.5818782933515416,0.6920022588411508,0.6662988036769399,0.1598206441303666
+1.28,0.5349721641808066,0.7084186016714628,0.6833047926039664,0.1733044415437632
+1.44,0.4909429773754813,0.7226571254141516,0.698114762103167,0.1882851351071992
+1.6,0.4498288220209162,0.7346435667980966,0.7106309850535679,0.2048966261274184
+1.76,0.4116221592509474,0.7443228171376553,0.7207778069215277,0.2232772166898686
+1.92,0.3762762139858894,0.7516563775679606,0.728499633806505,0.2435677746396439
+2.08,0.3437116644268027,0.7566200294779325,0.7337589422553204,0.2659093638399433
+2.24,0.3138232608870123,0.7592018988758969,0.7365345489832371,0.2904402912538527
+2.4,0.2864860910966188,0.7594010555864183,0.7368203117538605,0.3172925415631016
+2.56,0.2615612974044432,0.7572267323886128,0.7346243686533283,0.3465876015536152
+2.72,0.2389011227356933,0.7526981983281828,0.729968965427578,0.3784317135085454
+2.88,0.2183532330883643,0.7458452634436385,0.7228908524341612,0.4129106510338353
+3.04,0.199764311105142,0.7367093445287801,0.7134421768002019,0.4500841675658754
+3.2,0.1829829541894543,0.725344973171017,0.7016917385879412,0.4899803340515867
+3.36,0.1678619334910339,0.7118215823654041,0.6877264297556218,0.5325900543879397
+3.52,0.1542598872190964,0.6962253803293221,0.6716526477952694,0.5778620846563116
+3.68,0.1420425237994117,0.6786610828196484,0.6535974404885682,0.6256989528923707
+3.84,0.1310834138556781,0.6592532747722521,0.6337091492153994,0.6759541621566695
+4.,0.1212644441370506,0.638147172736052,0.6121573313740102,0.728431051752886
+4.16,0.1124760006887528,0.6155085893762105,0.5891317893026858,0.7828836206323497
+4.32,0.1046169405401425,0.5915229502785363,0.5648405991985029,0.8390195099828174
+4.48,0.09759440288559384,0.5663932827951041,0.5395071180409047,0.8965051962783963
+4.64,0.09132350274763186,0.540337181441337,0.5133660409923327,0.9549732748186976
+4.8,0.08572694252783509,0.5135828453631646,0.4866586747182771,1.014031537390722
+4.96,0.08073457009130023,0.4863643706874451,0.459627672271031,1.073273386950222
+5.12,0.07628290600368925,0.458916553210999,0.4325115320325821,1.132289008752729
+5.28,0.07231465779517505,0.4314695052101337,0.405539188522707,1.190676648471983
+5.44,0.06877823461467613,0.4042434074609302,0.3789250139801297,1.248053343944263
+5.6,0.06562727229033216,0.377443702911745,0.3528645088412497,1.304064515956672
+5.76,0.06282017623815895,0.3512569923877283,0.327530891164688,1.358391940209424
+5.92,0.06031968691038397,0.3258478269524358,0.3030727150157191,1.41075977112146
+6.08,0.05809247125724507,0.301356508977451,0.279612558823996,1.460938460941307
+6.24,0.05610874186677274,0.2778979327828026,0.257246746370269,1.508746578980155
+6.4,0.05434190458183297,0.2555614191696642,0.2360459959642182,1.554050680284284
+6.56,0.05276823470550485,0.2344114352641816,0.2160568449941988,1.596763485036114
+6.72,0.05136658051284996,0.2144890556019939,0.1973036775290493,1.636840686356106
+6.88,0.05011809414012494,0.1958139806622137,0.1797911600147493,1.674276765182911
+7.04,0.04900598716260836,0.1783869465005089,0.1635069201589362,1.709100146177946
+7.2,0.04801531010324373,0.1621923491085206,0.1484243058189508,1.741368034969284
+7.36,0.04713275392625004,0.1472009371178772,0.1345050972433275,1.771161211712545
+7.52,0.04634647175444837,0.1333724505975661,0.1217020736926459,1.798579003955339
+7.68,0.04564591918030812,0.120658111457017,0.1099613641041856,1.823734605258488
+7.84,0.04502171143856329,0.1090029002711426,0.0992245390855864,1.846750849204707
+8.,0.04446549586381162,0.09834757899966618,0.08943042343039783,1.867756501706124
diff --git a/models/sbml-test-suite/cases/semantic/00111/00111-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00111/00111-sbml-l2v4.xml
new file mode 100644
index 0000000..0cd9ecd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00111/00111-sbml-l2v4.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00111" id="case00111" name="case00111">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="7.5"/>
+      <parameter id="k3" name="k3" value="0.75"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00111/00111-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00111/00111-sbml-l3v1.xml
new file mode 100644
index 0000000..5bb60f6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00111/00111-sbml-l3v1.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00111" id="case00111" name="case00111" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="7.5" constant="true"/>
+      <parameter id="k3" name="k3" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00111/00111-settings.txt b/models/sbml-test-suite/cases/semantic/00111/00111-settings.txt
new file mode 100644
index 0000000..95e6115
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00111/00111-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00112/00112-results.csv b/models/sbml-test-suite/cases/semantic/00112/00112-results.csv
new file mode 100644
index 0000000..67997fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00112/00112-results.csv
@@ -0,0 +1,52 @@
+time,S1,S3
+0,1.,0
+0.1,0.9059975214227116,0.09400247857728859
+0.2,0.8230406258575571,0.1769593741424432
+0.3,0.749831417845986,0.2501685821540142
+0.4,0.6852245273338708,0.3147754726661293
+0.5,0.6282091408343498,0.3717908591656502
+0.6,0.5778932236160496,0.4221067763839504
+0.7,0.5334896101178051,0.466510389882195
+0.8,0.4943035526566229,0.5056964473433773
+0.9,0.4597219662763589,0.5402780337236413
+1.,0.4292038245330994,0.5707961754669008
+1.1,0.4022716657817301,0.5977283342182701
+1.2,0.3785041262694676,0.6214958737305327
+1.3,0.3575293197835072,0.642470680216493
+1.4,0.3390191416998285,0.6609808583001717
+1.5,0.3226839681507816,0.6773160318492186
+1.6,0.3082682094962556,0.6917317905037446
+1.7,0.2955463743875845,0.7044536256124157
+1.8,0.2843193676977128,0.7156806323022872
+1.9,0.2744115857111025,0.7255884142888976
+2.,0.2656679949201993,0.7343320050798007
+2.1,0.257951796880444,0.7420482031195561
+2.2,0.2511422889619022,0.7488577110380978
+2.3,0.2451329047675662,0.7548670952324338
+2.4,0.2398296523877353,0.7601703476122648
+2.5,0.2351495432759342,0.7648504567240659
+2.6,0.2310193585776437,0.7689806414223565
+2.7,0.2273744902392763,0.7726255097607238
+2.8,0.2241579067252131,0.775842093274787
+2.9,0.2213192749149221,0.778680725085078
+3.,0.2188141919645028,0.7811858080354973
+3.1,0.2166034682093493,0.7833965317906507
+3.2,0.214652511045503,0.7853474889544971
+3.3,0.2129307933852048,0.7870692066147954
+3.4,0.2114113841912606,0.7885886158087395
+3.5,0.2100705126466335,0.7899294873533667
+3.6,0.2088871971668756,0.7911128028331245
+3.7,0.2078429226422461,0.792157077357754
+3.8,0.2069213543818581,0.793078645618142
+3.9,0.2061080746795249,0.7938919253204752
+4.,0.2053903575605491,0.794609642439451
+4.1,0.2047569730441992,0.7952430269558008
+4.2,0.2041980136396187,0.7958019863603813
+4.3,0.2037047345655623,0.7962952654344378
+4.4,0.2032694171270742,0.7967305828729259
+4.5,0.2028852499981949,0.7971147500018052
+4.6,0.2025462239824446,0.7974537760175555
+4.7,0.2022470351006097,0.7977529648993902
+4.8,0.2019830017268032,0.7980169982731968
+4.9,0.2017499927510556,0.7982500072489444
+5.,0.2015443633090342,0.7984556366909658
diff --git a/models/sbml-test-suite/cases/semantic/00112/00112-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00112/00112-sbml-l2v4.xml
new file mode 100644
index 0000000..ab01a08
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00112/00112-sbml-l2v4.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00112" id="case00112" name="case00112">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S3 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00112/00112-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00112/00112-sbml-l3v1.xml
new file mode 100644
index 0000000..f9ba51f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00112/00112-sbml-l3v1.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00112" id="case00112" name="case00112" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S3 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00112/00112-settings.txt b/models/sbml-test-suite/cases/semantic/00112/00112-settings.txt
new file mode 100644
index 0000000..f36db12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00112/00112-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00113/00113-results.csv b/models/sbml-test-suite/cases/semantic/00113/00113-results.csv
new file mode 100644
index 0000000..1fdd034
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00113/00113-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.07,0.1350486782780117,0.0149513217219882
+0.14,0.1215876368909954,0.02841236310900452
+0.21,0.1094683301896844,0.04053166981031553
+0.28,0.0985570229341304,0.05144297706586959
+0.35,0.08873330419301235,0.06126669580698766
+0.42,0.07988876918317956,0.07011123081682045
+0.49,0.07192581507448764,0.07807418492551238
+0.56,0.06475657833902225,0.08524342166097777
+0.63,0.05830193294804702,0.091698067051953
+0.7,0.05249066129275634,0.09750933870724368
+0.77,0.04725862921900601,0.1027413707809939
+0.84,0.0425481022438116,0.1074518977561884
+0.91,0.03830710111959149,0.1116928988804085
+0.98,0.03448882126848498,0.115511178731515
+1.05,0.03105112918269254,0.1189488708173074
+1.12,0.02795609418350344,0.1220439058164965
+1.19,0.02516955914681425,0.1248304408531857
+1.26,0.0226607697057791,0.1273392302942209
+1.33,0.02040204564502601,0.129597954354974
+1.4,0.01836846328805947,0.1316315367119405
+1.47,0.01653757867296935,0.1334624213270306
+1.54,0.01488918630202426,0.1351108136979757
+1.61,0.01340509933018752,0.1365949006698125
+1.68,0.01206894071629078,0.1379310592837092
+1.75,0.0108659632471508,0.1391340367528492
+1.82,0.009782892336561332,0.1402171076634387
+1.89,0.008807778048925888,0.1411922219510741
+1.96,0.007929859272405652,0.1420701407275943
+2.03,0.007139446402557409,0.1428605535974426
+2.1,0.006427818246797193,0.1435721817532028
+2.17,0.00578712270499476,0.1442128772950052
+2.24,0.005210288836599309,0.1447897111634007
+2.31,0.004690950427264062,0.1453090495727359
+2.38,0.004223377549253244,0.1457766224507467
+2.45,0.003802410676647419,0.1461975893233526
+2.52,0.003423403662507857,0.1465765963374921
+2.59,0.003082173991827529,0.1469178260081724
+2.66,0.002774956824584184,0.1472250431754158
+2.73,0.002498361905131533,0.1475016380948685
+2.8,0.002249336434671369,0.1477506635653286
+2.87,0.002025132591367026,0.147974867408633
+2.94,0.001823276596864806,0.1481767234031352
+3.01,0.001641540767723146,0.1483584592322768
+3.08,0.001477919310125027,0.148522080689875
+3.15,0.001330606924139155,0.1486693930758609
+3.22,0.001197978122369313,0.1488020218776307
+3.29,0.001078569136411792,0.1489214308635883
+3.36,0.0009710621578983203,0.1490289378421018
+3.43,0.0008742710854447105,0.1491257289145554
+3.5,0.0007871277598824305,0.1492128722401177
diff --git a/models/sbml-test-suite/cases/semantic/00113/00113-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00113/00113-sbml-l2v4.xml
new file mode 100644
index 0000000..ec1b68c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00113/00113-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00113" id="case00113" name="case00113">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00113/00113-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00113/00113-sbml-l3v1.xml
new file mode 100644
index 0000000..47563d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00113/00113-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00113" id="case00113" name="case00113" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00113/00113-settings.txt b/models/sbml-test-suite/cases/semantic/00113/00113-settings.txt
new file mode 100644
index 0000000..234a779
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00113/00113-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00114/00114-results.csv b/models/sbml-test-suite/cases/semantic/00114/00114-results.csv
new file mode 100644
index 0000000..fc2e78c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00114/00114-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.3,0.0107573245263036,0.0207573245263036,0.009242675473696393
+0.6,0.01143844032399364,0.02143844032399363,0.008561559676006358
+0.9,0.01205059002918453,0.02205059002918451,0.00794940997081547
+1.2,0.0126004127098879,0.02260041270988789,0.007399587290112099
+1.5,0.01309397692199032,0.0230939769219903,0.006906023078009675
+1.8,0.01353681568660831,0.02353681568660826,0.0064631843133917
+2.1,0.01393396247952724,0.0239339624795272,0.006066037520472761
+2.4,0.0142899872481082,0.02428998724810816,0.005710012751891803
+2.7,0.01460903182071222,0.02460903182071218,0.005390968179287785
+3.,0.01489484409232644,0.0248948440923264,0.005105155907673569
+3.3,0.01515081084694252,0.02515081084694247,0.004849189153057497
+3.6,0.01537998869347943,0.02537998869347938,0.004620011306520581
+3.9,0.01558513323430038,0.02558513323430033,0.004414866765699634
+4.2,0.0157687262861454,0.02576872628614535,0.004231273713854616
+4.5,0.01593300111526188,0.02593300111526183,0.004066998884738128
+4.8,0.01607996580765136,0.02607996580765131,0.003920034192348652
+5.1,0.01621142452544579,0.02621142452544574,0.003788575474554223
+5.4,0.01632899756411668,0.02632899756411663,0.003671002435883329
+5.7,0.01643413902737924,0.0264341390273792,0.003565860972620763
+6.,0.01652815314876347,0.02652815314876343,0.003471846851236531
+6.3,0.01661220960323651,0.02661220960323646,0.003387790396763498
+6.6,0.01668735658785168,0.02668735658785164,0.003312643412148322
+6.9,0.01675453325808131,0.02675453325808126,0.003245466741918693
+7.2,0.01681458078048978,0.02681458078048973,0.003185419219510229
+7.5,0.01686825256927799,0.02686825256927794,0.003131747430722018
+7.8,0.01691622295033605,0.026916222950336,0.003083777049663961
+8.1,0.01695909536930477,0.02695909536930472,0.00304090463069524
+8.4,0.01699740995947226,0.02699740995947221,0.003002590040527753
+8.7,0.01703165000524086,0.02703165000524082,0.002968349994759145
+9.,0.0170622476978809,0.02706224769788085,0.002937752302119105
+9.3,0.01708958958709868,0.02708958958709864,0.002910410412901322
+9.6,0.01711402146224128,0.02711402146224123,0.002885978537758733
+9.9,0.01713585250052718,0.02713585250052713,0.002864147499472829
+10.2,0.017155359143258,0.02715535914325795,0.002844640856742009
+10.5,0.01717278853270583,0.02717278853270579,0.002827211467294172
+10.8,0.01718836158851136,0.02718836158851131,0.002811638411488654
+11.1,0.01720227579230374,0.02720227579230369,0.002797724207696273
+11.4,0.01721470766561739,0.02721470766561734,0.002785292334382621
+11.7,0.01722581498445295,0.0272258149844529,0.002774185015547063
+12.,0.01723573876268361,0.02723573876268356,0.002764261237316406
+12.3,0.0172446050257902,0.02724460502579016,0.002755394974209808
+12.6,0.01725252639938255,0.02725252639938251,0.002747473600617453
+12.9,0.01725960352673867,0.02725960352673862,0.002740396473261339
+13.2,0.0172659263365826,0.02726592633658256,0.002734073663417407
+13.5,0.0172715751884987,0.02727157518849865,0.002728424811501315
+13.8,0.01727662189012656,0.02727662189012652,0.002723378109873447
+14.1,0.01728113060541156,0.02728113060541151,0.002718869394588449
+14.4,0.01728515866675279,0.02728515866675275,0.002714841333247219
+14.7,0.01728875730117757,0.02728875730117752,0.002711242698822441
+15.,0.01729197227942947,0.02729197227942942,0.002708027720570544
diff --git a/models/sbml-test-suite/cases/semantic/00114/00114-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00114/00114-sbml-l2v4.xml
new file mode 100644
index 0000000..3fa6230
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00114/00114-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00114" id="case00114" name="case00114">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00114/00114-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00114/00114-sbml-l3v1.xml
new file mode 100644
index 0000000..22d0374
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00114/00114-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00114" id="case00114" name="case00114" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00114/00114-settings.txt b/models/sbml-test-suite/cases/semantic/00114/00114-settings.txt
new file mode 100644
index 0000000..529f687
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00114/00114-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00115/00115-results.csv b/models/sbml-test-suite/cases/semantic/00115/00115-results.csv
new file mode 100644
index 0000000..0f9d6c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00115/00115-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7
+0.04,9.389597079643723e-7,1.438959707964372e-6,2.061040292035627e-6,5.610402920356275e-7
+0.08,8.866960875357621e-7,1.386696087535762e-6,2.113303912464238e-6,6.133039124642377e-7
+0.12,8.417588271763808e-7,1.341758827176381e-6,2.158241172823618e-6,6.58241172823619e-7
+0.16,8.029811572858246e-7,1.302981157285825e-6,2.197018842714174e-6,6.970188427141752e-7
+0.2,7.694143855642448e-7,1.269414385564245e-6,2.230585614435754e-6,7.305856144357549e-7
+0.24,7.402798425167762e-7,1.240279842516776e-6,2.259720157483222e-6,7.597201574832235e-7
+0.28,7.149330646010629e-7,1.214933064601063e-6,2.285066935398935e-6,7.850669353989368e-7
+0.32,6.92836683000088e-7,1.192836683000088e-6,2.307163316999909e-6,8.071633169999118e-7
+0.36,6.735396919433461e-7,1.173539691943346e-6,2.326460308056651e-6,8.264603080566536e-7
+0.4,6.566613024219375e-7,1.156661302421938e-6,2.343338697578059e-6,8.433386975780623e-7
+0.44,6.418783689951896e-7,1.14187836899519e-6,2.358121631004807e-6,8.581216310048101e-7
+0.48,6.289153769923319e-7,1.128915376992332e-6,2.371084623007665e-6,8.710846230076679e-7
+0.52,6.175364356356689e-7,1.117536435635669e-6,2.382463564364328e-6,8.824635643643308e-7
+0.56,6.075388526511111e-7,1.107538852651112e-6,2.392461147348885e-6,8.924611473488886e-7
+0.6,5.987478929217906e-7,1.098747892921791e-6,2.401252107078206e-6,9.012521070782091e-7
+0.64,5.910124738048314e-7,1.091012473804832e-6,2.408987526195165e-6,9.089875261951684e-7
+0.68,5.842016280296117e-7,1.084201628029612e-6,2.415798371970385e-6,9.15798371970388e-7
+0.72,5.782015661418184e-7,1.078201566141819e-6,2.421798433858179e-6,9.217984338581814e-7
+0.76,5.729132256002133e-7,1.072913225600214e-6,2.427086774399783e-6,9.270867743997865e-7
+0.8,5.682502086988119e-7,1.068250208698813e-6,2.431749791301184e-6,9.317497913011878e-7
+0.84,5.641370352567391e-7,1.06413703525674e-6,2.435862964743258e-6,9.358629647432606e-7
+0.88,5.605076688194867e-7,1.060507668819488e-6,2.43949233118051e-6,9.39492331180513e-7
+0.92,5.573042712221429e-7,1.057304271222144e-6,2.442695728777854e-6,9.426957287778568e-7
+0.96,5.544761233621076e-7,1.054476123362109e-6,2.445523876637889e-6,9.455238766378921e-7
+1.,5.519787002370357e-7,1.051978700237037e-6,2.448021299762961e-6,9.480212997629641e-7
+1.04,5.497728818090925e-7,1.049772881809094e-6,2.450227118190905e-6,9.502271181909072e-7
+1.08,5.478242815365218e-7,1.047824281536523e-6,2.452175718463475e-6,9.521757184634779e-7
+1.12,5.461026294104691e-7,1.04610262941047e-6,2.453897370589528e-6,9.538973705895307e-7
+1.16,5.44581289484622e-7,1.044581289484623e-6,2.455418710515375e-6,9.554187105153779e-7
+1.2,5.432367862310685e-7,1.04323678623107e-6,2.456763213768928e-6,9.567632137689313e-7
+1.24,5.420484412027306e-7,1.042048441202732e-6,2.457951558797266e-6,9.579515587972693e-7
+1.28,5.409980120713418e-7,1.040998012071343e-6,2.459001987928655e-6,9.590019879286578e-7
+1.32,5.400694192262633e-7,1.040069419226265e-6,2.459930580773733e-6,9.599305807737363e-7
+1.36,5.392484692176387e-7,1.03924846921764e-6,2.460751530782358e-6,9.607515307823608e-7
+1.4,5.385226343054472e-7,1.038522634305448e-6,2.461477365694549e-6,9.614773656945525e-7
+1.44,5.37880857267953e-7,1.037880857267954e-6,2.462119142732043e-6,9.621191427320468e-7
+1.48,5.373133757509462e-7,1.037313375750947e-6,2.46268662424905e-6,9.626866242490536e-7
+1.52,5.368115661223508e-7,1.036811566122352e-6,2.463188433877645e-6,9.631884338776489e-7
+1.56,5.363678095699785e-7,1.03636780956998e-6,2.463632190430018e-6,9.636321904300213e-7
+1.6,5.359753758055117e-7,1.035975375805513e-6,2.464024624194484e-6,9.640246241944878e-7
+1.64,5.356283191145352e-7,1.035628319114537e-6,2.46437168088546e-6,9.643716808854643e-7
+1.68,5.353213841798119e-7,1.035321384179813e-6,2.464678615820183e-6,9.646786158201878e-7
+1.72,5.350499255337026e-7,1.035049925533704e-6,2.464950074466293e-6,9.649500744662967e-7
+1.76,5.348098370543882e-7,1.034809837054389e-6,2.465190162945607e-6,9.651901629456114e-7
+1.8,5.345974899863946e-7,1.034597489986396e-6,2.465402510013601e-6,9.654025100136049e-7
+1.84,5.34409675950601e-7,1.034409675950602e-6,2.465590324049394e-6,9.655903240493985e-7
+1.88,5.342435579014371e-7,1.034243557901439e-6,2.465756442098559e-6,9.657564420985623e-7
+1.92,5.340966271938641e-7,1.034096627193866e-6,2.465903372806131e-6,9.659033728061353e-7
+1.96,5.339666664953589e-7,1.03396666649536e-6,2.466033333504637e-6,9.660333335046404e-7
+2.,5.338517145486229e-7,1.033851714548625e-6,2.466148285451373e-6,9.661482854513763e-7
diff --git a/models/sbml-test-suite/cases/semantic/00115/00115-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00115/00115-sbml-l2v4.xml
new file mode 100644
index 0000000..d2301fe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00115/00115-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00115" id="case00115" name="case00115">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000"/>
+      <parameter id="k2" name="k2" value="300000"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00115/00115-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00115/00115-sbml-l3v1.xml
new file mode 100644
index 0000000..da5c4ed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00115/00115-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00115" id="case00115" name="case00115" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000" constant="true"/>
+      <parameter id="k2" name="k2" value="300000" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00115/00115-settings.txt b/models/sbml-test-suite/cases/semantic/00115/00115-settings.txt
new file mode 100644
index 0000000..c94e1f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00115/00115-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00116/00116-results.csv b/models/sbml-test-suite/cases/semantic/00116/00116-results.csv
new file mode 100644
index 0000000..7867b4d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00116/00116-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0.0015
+0.3,0.0015,0.001608384770535253
+0.6,0.0015,0.00170893803552885
+0.9,0.0015,0.001802225671939768
+1.2,0.0015,0.001888772669170708
+1.5,0.0015,0.001969066083242594
+1.8,0.0015,0.002043557775315651
+2.1,0.0015,0.002112666970565565
+2.4,0.0015,0.00217678257450301
+2.7,0.0015,0.002236265385859585
+3.,0.0015,0.002291450171242896
+3.3,0.0015,0.002342647521222876
+3.6,0.0015,0.002390145531162018
+3.9,0.0015,0.002434211484233284
+4.2,0.0015,0.002475093377605455
+4.5,0.0015,0.002513021312734632
+4.8,0.0015,0.002548208709350951
+5.1,0.0015,0.002580853585547613
+5.4,0.0015,0.002611139652375636
+5.7,0.0015,0.002639237348219649
+6.,0.0015,0.002665304797412531
+6.3,0.0015,0.002689488699660849
+6.6,0.0015,0.002711925155268584
+6.9,0.0015,0.002732740430787891
+7.2,0.0015,0.002752051669392695
+7.5,0.0015,0.00276996754995669
+7.8,0.0015,0.00278658892756623
+8.1,0.0015,0.002802009286539436
+8.4,0.0015,0.002816315381336797
+8.7,0.0015,0.002829587769730896
+9.,0.0015,0.002841901188992218
+9.3,0.0015,0.002853324871948506
+9.6,0.0015,0.002863923087682524
+9.9,0.0015,0.002873755514781012
+10.2,0.0015,0.002882877520097572
+10.5,0.0015,0.002891340392622886
+10.8,0.0015,0.002899191743976059
+11.1,0.0015,0.002906475785082945
+11.4,0.0015,0.002913233532807377
+11.7,0.0015,0.002919502983014347
+12.,0.0015,0.002925319407164662
+12.3,0.0015,0.002930715557512014
+12.6,0.0015,0.002935721820156017
+12.9,0.0015,0.002940366343107046
+13.2,0.0015,0.002944675256101779
+13.5,0.0015,0.002948672822594044
+13.8,0.0015,0.002952381553174481
+14.1,0.0015,0.002955822300408218
+14.4,0.0015,0.00295901441999219
+14.7,0.0015,0.002961975892895468
+15.,0.0015,0.002964723381215431
diff --git a/models/sbml-test-suite/cases/semantic/00116/00116-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00116/00116-sbml-l2v4.xml
new file mode 100644
index 0000000..6740662
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00116/00116-sbml-l2v4.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00116" id="case00116" name="case00116">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00116/00116-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00116/00116-sbml-l3v1.xml
new file mode 100644
index 0000000..b03930d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00116/00116-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00116" id="case00116" name="case00116" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00116/00116-settings.txt b/models/sbml-test-suite/cases/semantic/00116/00116-settings.txt
new file mode 100644
index 0000000..64efffe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00116/00116-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00117/00117-results.csv b/models/sbml-test-suite/cases/semantic/00117/00117-results.csv
new file mode 100644
index 0000000..68bb3a9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00117/00117-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0.0015
+0.3,0.001395530981933051,0.0015
+0.6,0.00130561366274822,0.0015
+0.9,0.001228221111347407,0.0015
+1.2,0.001161608715946625,0.0015
+1.5,0.00110427491290546,0.0015
+1.8,0.001054927235485962,0.0015
+2.1,0.00101245331164691,0.0015
+2.4,0.0009758956489154745,0.0015
+2.7,0.0009444301767825607,0.0015
+3.,0.0009173475996708913,0.0015
+3.3,0.0008940374194274471,0.0015
+3.6,0.0008739741640450687,0.0015
+3.9,0.0008567055524444004,0.0015
+4.2,0.0008418423072234367,0.0015
+4.5,0.0008290494086200515,0.0015
+4.8,0.0008180384639650391,0.0015
+5.1,0.0008085612389223515,0.0015
+5.4,0.0008004041310211461,0.0015
+5.7,0.0007933832379613977,0.0015
+6.,0.0007873402920655591,0.0015
+6.3,0.0007821390944551905,0.0015
+6.6,0.0007776623687253547,0.0015
+6.9,0.0007738092267720041,0.0015
+7.2,0.0007704927867771905,0.0015
+7.5,0.0007676383090155449,0.0015
+7.8,0.000765181429835783,0.0015
+8.1,0.0007630667807024899,0.0015
+8.4,0.00076124667983736,0.0015
+8.7,0.000759680109231246,0.0015
+9.,0.0007583317453450751,0.0015
+9.3,0.0007571712012975757,0.0015
+9.6,0.0007561723087612572,0.0015
+9.9,0.0007553125565860707,0.0015
+10.2,0.0007545725587937523,0.0015
+10.5,0.0007539356387180366,0.0015
+10.8,0.0007533874348692,0.0015
+11.1,0.0007529155928728347,0.0015
+11.4,0.0007525094734722176,0.0015
+11.7,0.0007521599243246496,0.0015
+12.,0.000751859063477012,0.0015
+12.3,0.0007516001109246373,0.0015
+12.6,0.0007513772285375607,0.0015
+12.9,0.0007511853911760702,0.0015
+13.2,0.0007510202758265246,0.0015
+13.5,0.0007508781596512216,0.0015
+13.8,0.000750755838772665,0.0015
+14.1,0.0007506505562959529,0.0015
+14.4,0.0007505599391559257,0.0015
+14.7,0.0007504819442315951,0.0015
+15.,0.0007504148132773427,0.0015
diff --git a/models/sbml-test-suite/cases/semantic/00117/00117-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00117/00117-sbml-l2v4.xml
new file mode 100644
index 0000000..0e3140e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00117/00117-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00117" id="case00117" name="case00117">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k2 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00117/00117-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00117/00117-sbml-l3v1.xml
new file mode 100644
index 0000000..5f094eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00117/00117-sbml-l3v1.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00117" id="case00117" name="case00117" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k2 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00117/00117-settings.txt b/models/sbml-test-suite/cases/semantic/00117/00117-settings.txt
new file mode 100644
index 0000000..64efffe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00117/00117-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00118/00118-results.csv b/models/sbml-test-suite/cases/semantic/00118/00118-results.csv
new file mode 100644
index 0000000..7c323c5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00118/00118-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0.001
+0.3,0.0015,0.001
+0.6,0.0015,0.001
+0.9,0.0015,0.001
+1.2,0.0015,0.001
+1.5,0.0015,0.001
+1.8,0.0015,0.001
+2.1,0.0015,0.001
+2.4,0.0015,0.001
+2.7,0.0015,0.001
+3.,0.0015,0.001
+3.3,0.0015,0.001
+3.6,0.0015,0.001
+3.9,0.0015,0.001
+4.2,0.0015,0.001
+4.5,0.0015,0.001
+4.8,0.0015,0.001
+5.1,0.0015,0.001
+5.4,0.0015,0.001
+5.7,0.0015,0.001
+6.,0.0015,0.001
+6.3,0.0015,0.001
+6.6,0.0015,0.001
+6.9,0.0015,0.001
+7.2,0.0015,0.001
+7.5,0.0015,0.001
+7.8,0.0015,0.001
+8.1,0.0015,0.001
+8.4,0.0015,0.001
+8.7,0.0015,0.001
+9.,0.0015,0.001
+9.3,0.0015,0.001
+9.6,0.0015,0.001
+9.9,0.0015,0.001
+10.2,0.0015,0.001
+10.5,0.0015,0.001
+10.8,0.0015,0.001
+11.1,0.0015,0.001
+11.4,0.0015,0.001
+11.7,0.0015,0.001
+12.,0.0015,0.001
+12.3,0.0015,0.001
+12.6,0.0015,0.001
+12.9,0.0015,0.001
+13.2,0.0015,0.001
+13.5,0.0015,0.001
+13.8,0.0015,0.001
+14.1,0.0015,0.001
+14.4,0.0015,0.001
+14.7,0.0015,0.001
+15.,0.0015,0.001
diff --git a/models/sbml-test-suite/cases/semantic/00118/00118-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00118/00118-sbml-l2v4.xml
new file mode 100644
index 0000000..be9f5ae
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00118/00118-sbml-l2v4.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00118" id="case00118" name="case00118">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00118/00118-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00118/00118-sbml-l3v1.xml
new file mode 100644
index 0000000..618ecd3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00118/00118-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00118" id="case00118" name="case00118" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00118/00118-settings.txt b/models/sbml-test-suite/cases/semantic/00118/00118-settings.txt
new file mode 100644
index 0000000..64efffe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00118/00118-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00119/00119-results.csv b/models/sbml-test-suite/cases/semantic/00119/00119-results.csv
new file mode 100644
index 0000000..7eec637
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00119/00119-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,2
+0.04,1.33038,0.169619,2
+0.08,1.17994,0.320058,2
+0.12,1.04651,0.453486,2
+0.16,0.928175,0.571825,2
+0.2,0.823217,0.676783,2
+0.24,0.730128,0.769872,2
+0.28,0.647566,0.852434,2
+0.32,0.574339,0.925661,2
+0.36,0.509393,0.990607,2
+0.4,0.451791,1.04821,2
+0.44,0.400703,1.0993,2
+0.48,0.355392,1.14461,2
+0.52,0.315204,1.1848,2
+0.56,0.279561,1.22044,2
+0.6,0.247948,1.25205,2
+0.64,0.21991,1.28009,2
+0.68,0.195043,1.30496,2
+0.72,0.172988,1.32701,2
+0.76,0.153426,1.34657,2
+0.8,0.136077,1.36392,2
+0.84,0.120689,1.37931,2
+0.88,0.107042,1.39296,2
+0.92,0.0949377,1.40506,2
+0.96,0.0842021,1.4158,2
+1,0.0746806,1.42532,2
+1.04,0.0662358,1.43376,2
+1.08,0.0587458,1.44125,2
+1.12,0.0521029,1.4479,2
+1.16,0.0462111,1.45379,2
+1.2,0.0409856,1.45901,2
+1.24,0.036351,1.46365,2
+1.28,0.0322404,1.46776,2
+1.32,0.0285947,1.47141,2
+1.36,0.0253612,1.47464,2
+1.4,0.0224934,1.47751,2
+1.44,0.0199498,1.48005,2
+1.48,0.0176939,1.48231,2
+1.52,0.0156931,1.48431,2
+1.56,0.0139185,1.48608,2
+1.6,0.0123446,1.48766,2
+1.64,0.0109487,1.48905,2
+1.68,0.00971062,1.49029,2
+1.72,0.00861255,1.49139,2
+1.76,0.00763865,1.49236,2
+1.8,0.00677487,1.49323,2
+1.84,0.00600877,1.49399,2
+1.88,0.0053293,1.49467,2
+1.92,0.00472667,1.49527,2
+1.96,0.00419218,1.49581,2
+2,0.00371813,1.49628,2
diff --git a/models/sbml-test-suite/cases/semantic/00119/00119-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00119/00119-sbml-l2v4.xml
new file mode 100644
index 0000000..7a65064
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00119/00119-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00119" id="case00119" name="case00119">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00119/00119-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00119/00119-sbml-l3v1.xml
new file mode 100644
index 0000000..bba3a2f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00119/00119-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00119" id="case00119" name="case00119" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00119/00119-settings.txt b/models/sbml-test-suite/cases/semantic/00119/00119-settings.txt
new file mode 100644
index 0000000..da16cc5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00119/00119-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00120/00120-results.csv b/models/sbml-test-suite/cases/semantic/00120/00120-results.csv
new file mode 100644
index 0000000..f3658a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00120/00120-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.04,0.8939260929073057,1.893926092907305,1.106073907092694,1.5
+0.08,0.8077741939685046,1.807774193968505,1.192225806031494,1.5
+0.12,0.7369707423711714,1.736970742371171,1.263029257628828,1.5
+0.16,0.6782139161187001,1.678213916118701,1.321786083881298,1.5
+0.2,0.6290601740740094,1.62906017407401,1.370939825925989,1.5
+0.24,0.5876624725013505,1.587662472501351,1.412337527498648,1.5
+0.28,0.5525990035830646,1.552599003583065,1.447400996416934,1.5
+0.32,0.522757857809592,1.522757857809592,1.477242142190407,1.5
+0.36,0.4972574369094412,1.497257436909441,1.502742563090558,1.5
+0.4,0.4753902825485309,1.475390282548531,1.524609717451468,1.5
+0.44,0.4565826415081507,1.45658264150815,1.543417358491849,1.5
+0.48,0.4403648433944844,1.440364843394484,1.559635156605515,1.5
+0.52,0.4263492559690245,1.426349255969025,1.573650744030975,1.5
+0.56,0.4142136530890916,1.414213653089091,1.585786346910908,1.5
+0.6,0.4036884320007798,1.40368843200078,1.596311567999219,1.5
+0.64,0.3945467772214788,1.394546777221479,1.60545322277852,1.5
+0.68,0.3865969043064956,1.386596904306496,1.613403095693503,1.5
+0.72,0.3796759370612184,1.379675937061218,1.620324062938781,1.5
+0.76,0.3736450179172018,1.373645017917201,1.626354982082798,1.5
+0.8,0.3683853588233823,1.368385358823382,1.631614641176617,1.5
+0.84,0.3637950347692141,1.363795034769214,1.636204965230786,1.5
+0.88,0.3597863576111557,1.359786357611155,1.640213642388844,1.5
+0.92,0.3562837106718859,1.356283710671885,1.643716289328114,1.5
+0.96,0.3532217541401485,1.353221754140148,1.646778245859851,1.5
+1.,0.350543922897919,1.350543922897919,1.649456077102081,1.5
+1.04,0.3482011718921883,1.348201171892188,1.651798828107811,1.5
+1.08,0.3461509169090781,1.346150916909078,1.653849083090921,1.5
+1.12,0.3443561379982226,1.344356137998222,1.655643862001777,1.5
+1.16,0.3427846164417647,1.342784616441765,1.657215383558234,1.5
+1.2,0.3414082866474316,1.341408286647431,1.658591713352568,1.5
+1.24,0.340202675748726,1.340202675748726,1.659797324251273,1.5
+1.28,0.339146437278187,1.339146437278187,1.660853562721812,1.5
+1.32,0.3382209288762538,1.338220928876254,1.661779071123745,1.5
+1.36,0.3374098682811131,1.337409868281113,1.662590131718886,1.5
+1.4,0.3366990248799463,1.336699024879947,1.663300975120052,1.5
+1.44,0.3360759546517185,1.336075954651718,1.663924045348281,1.5
+1.48,0.3355297724857262,1.335529772485726,1.664470227514273,1.5
+1.52,0.3350509564947727,1.335050956494773,1.664949043505227,1.5
+1.56,0.3346311688196882,1.334631168819688,1.665368831180311,1.5
+1.6,0.33426311108594,1.33426311108594,1.665736888914059,1.5
+1.64,0.3339403938659051,1.333940393865905,1.666059606134094,1.5
+1.68,0.3336574184083673,1.333657418408367,1.666342581591632,1.5
+1.72,0.3334092806405675,1.333409280640567,1.666590719359432,1.5
+1.76,0.3331916852382305,1.33319168523823,1.666808314761769,1.5
+1.8,0.3330008667798775,1.333000866779877,1.666999133220122,1.5
+1.84,0.3328335253044871,1.332833525304487,1.667166474695512,1.5
+1.88,0.3326867697024615,1.332686769702461,1.667313230297538,1.5
+1.92,0.3325580648462905,1.33255806484629,1.667441935153709,1.5
+1.96,0.3324451881691856,1.332445188169185,1.667554811830814,1.5
+2.,0.3323461919822612,1.33234619198226,1.667653808017739,1.5
diff --git a/models/sbml-test-suite/cases/semantic/00120/00120-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00120/00120-sbml-l2v4.xml
new file mode 100644
index 0000000..7e904b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00120/00120-sbml-l2v4.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00120" id="case00120" name="case00120">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1.5" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S3 </ci>
+                <ci> S4 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00120/00120-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00120/00120-sbml-l3v1.xml
new file mode 100644
index 0000000..1702460
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00120/00120-sbml-l3v1.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00120" id="case00120" name="case00120" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S3 </ci>
+                <ci> S4 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00120/00120-settings.txt b/models/sbml-test-suite/cases/semantic/00120/00120-settings.txt
new file mode 100644
index 0000000..5e3c6a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00120/00120-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00121/00121-results.csv b/models/sbml-test-suite/cases/semantic/00121/00121-results.csv
new file mode 100644
index 0000000..4f6dba2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00121/00121-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7,9.999999999999999e-7
+0.04,9.389597079643723e-7,1.438959707964372e-6,2.061040292035627e-6,5.610402920356275e-7,9.999999999999999e-7
+0.08,8.866960875357621e-7,1.386696087535762e-6,2.113303912464238e-6,6.133039124642377e-7,9.999999999999999e-7
+0.12,8.417588271763808e-7,1.341758827176381e-6,2.158241172823618e-6,6.58241172823619e-7,9.999999999999999e-7
+0.16,8.029811572858246e-7,1.302981157285825e-6,2.197018842714174e-6,6.970188427141752e-7,9.999999999999999e-7
+0.2,7.694143855642448e-7,1.269414385564245e-6,2.230585614435754e-6,7.305856144357549e-7,9.999999999999999e-7
+0.24,7.402798425167762e-7,1.240279842516776e-6,2.259720157483222e-6,7.597201574832235e-7,9.999999999999999e-7
+0.28,7.149330646010629e-7,1.214933064601063e-6,2.285066935398935e-6,7.850669353989368e-7,9.999999999999999e-7
+0.32,6.92836683000088e-7,1.192836683000088e-6,2.307163316999909e-6,8.071633169999118e-7,9.999999999999999e-7
+0.36,6.735396919433461e-7,1.173539691943346e-6,2.326460308056651e-6,8.264603080566536e-7,9.999999999999999e-7
+0.4,6.566613024219375e-7,1.156661302421938e-6,2.343338697578059e-6,8.433386975780623e-7,9.999999999999999e-7
+0.44,6.418783689951896e-7,1.14187836899519e-6,2.358121631004807e-6,8.581216310048101e-7,9.999999999999999e-7
+0.48,6.289153769923319e-7,1.128915376992332e-6,2.371084623007665e-6,8.710846230076679e-7,9.999999999999999e-7
+0.52,6.175364356356689e-7,1.117536435635669e-6,2.382463564364328e-6,8.824635643643308e-7,9.999999999999999e-7
+0.56,6.075388526511111e-7,1.107538852651112e-6,2.392461147348885e-6,8.924611473488886e-7,9.999999999999999e-7
+0.6,5.987478929217906e-7,1.098747892921791e-6,2.401252107078206e-6,9.012521070782091e-7,9.999999999999999e-7
+0.64,5.910124738048314e-7,1.091012473804832e-6,2.408987526195165e-6,9.089875261951684e-7,9.999999999999999e-7
+0.68,5.842016280296117e-7,1.084201628029612e-6,2.415798371970385e-6,9.15798371970388e-7,9.999999999999999e-7
+0.72,5.782015661418184e-7,1.078201566141819e-6,2.421798433858179e-6,9.217984338581814e-7,9.999999999999999e-7
+0.76,5.729132256002133e-7,1.072913225600214e-6,2.427086774399783e-6,9.270867743997865e-7,9.999999999999999e-7
+0.8,5.682502086988119e-7,1.068250208698813e-6,2.431749791301184e-6,9.317497913011878e-7,9.999999999999999e-7
+0.84,5.641370352567391e-7,1.06413703525674e-6,2.435862964743258e-6,9.358629647432606e-7,9.999999999999999e-7
+0.88,5.605076688194867e-7,1.060507668819488e-6,2.43949233118051e-6,9.39492331180513e-7,9.999999999999999e-7
+0.92,5.573042712221429e-7,1.057304271222144e-6,2.442695728777854e-6,9.426957287778568e-7,9.999999999999999e-7
+0.96,5.544761233621076e-7,1.054476123362109e-6,2.445523876637889e-6,9.455238766378921e-7,9.999999999999999e-7
+1.,5.519787002370357e-7,1.051978700237037e-6,2.448021299762961e-6,9.480212997629641e-7,9.999999999999999e-7
+1.04,5.497728818090925e-7,1.049772881809094e-6,2.450227118190905e-6,9.502271181909072e-7,9.999999999999999e-7
+1.08,5.478242815365218e-7,1.047824281536523e-6,2.452175718463475e-6,9.521757184634779e-7,9.999999999999999e-7
+1.12,5.461026294104691e-7,1.04610262941047e-6,2.453897370589528e-6,9.538973705895307e-7,9.999999999999999e-7
+1.16,5.44581289484622e-7,1.044581289484623e-6,2.455418710515375e-6,9.554187105153779e-7,9.999999999999999e-7
+1.2,5.432367862310685e-7,1.04323678623107e-6,2.456763213768928e-6,9.567632137689313e-7,9.999999999999999e-7
+1.24,5.420484412027306e-7,1.042048441202732e-6,2.457951558797266e-6,9.579515587972693e-7,9.999999999999999e-7
+1.28,5.409980120713418e-7,1.040998012071343e-6,2.459001987928655e-6,9.590019879286578e-7,9.999999999999999e-7
+1.32,5.400694192262633e-7,1.040069419226265e-6,2.459930580773733e-6,9.599305807737363e-7,9.999999999999999e-7
+1.36,5.392484692176387e-7,1.03924846921764e-6,2.460751530782358e-6,9.607515307823608e-7,9.999999999999999e-7
+1.4,5.385226343054472e-7,1.038522634305448e-6,2.461477365694549e-6,9.614773656945525e-7,9.999999999999999e-7
+1.44,5.37880857267953e-7,1.037880857267954e-6,2.462119142732043e-6,9.621191427320468e-7,9.999999999999999e-7
+1.48,5.373133757509462e-7,1.037313375750947e-6,2.46268662424905e-6,9.626866242490536e-7,9.999999999999999e-7
+1.52,5.368115661223508e-7,1.036811566122352e-6,2.463188433877645e-6,9.631884338776489e-7,9.999999999999999e-7
+1.56,5.363678095699785e-7,1.03636780956998e-6,2.463632190430018e-6,9.636321904300213e-7,9.999999999999999e-7
+1.6,5.359753758055117e-7,1.035975375805513e-6,2.464024624194484e-6,9.640246241944878e-7,9.999999999999999e-7
+1.64,5.356283191145352e-7,1.035628319114537e-6,2.46437168088546e-6,9.643716808854643e-7,9.999999999999999e-7
+1.68,5.353213841798119e-7,1.035321384179813e-6,2.464678615820183e-6,9.646786158201878e-7,9.999999999999999e-7
+1.72,5.350499255337026e-7,1.035049925533704e-6,2.464950074466293e-6,9.649500744662967e-7,9.999999999999999e-7
+1.76,5.348098370543882e-7,1.034809837054389e-6,2.465190162945607e-6,9.651901629456114e-7,9.999999999999999e-7
+1.8,5.345974899863946e-7,1.034597489986396e-6,2.465402510013601e-6,9.654025100136049e-7,9.999999999999999e-7
+1.84,5.34409675950601e-7,1.034409675950602e-6,2.465590324049394e-6,9.655903240493985e-7,9.999999999999999e-7
+1.88,5.342435579014371e-7,1.034243557901439e-6,2.465756442098559e-6,9.657564420985623e-7,9.999999999999999e-7
+1.92,5.340966271938641e-7,1.034096627193866e-6,2.465903372806131e-6,9.659033728061353e-7,9.999999999999999e-7
+1.96,5.339666664953589e-7,1.03396666649536e-6,2.466033333504637e-6,9.660333335046404e-7,9.999999999999999e-7
+2.,5.338517145486229e-7,1.033851714548625e-6,2.466148285451373e-6,9.661482854513763e-7,9.999999999999999e-7
diff --git a/models/sbml-test-suite/cases/semantic/00121/00121-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00121/00121-sbml-l2v4.xml
new file mode 100644
index 0000000..5d830ec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00121/00121-sbml-l2v4.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00121" id="case00121" name="case00121">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00121/00121-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00121/00121-sbml-l3v1.xml
new file mode 100644
index 0000000..1030a76
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00121/00121-sbml-l3v1.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00121" id="case00121" name="case00121" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00121/00121-settings.txt b/models/sbml-test-suite/cases/semantic/00121/00121-settings.txt
new file mode 100644
index 0000000..291c70d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00121/00121-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00122/00122-results.csv b/models/sbml-test-suite/cases/semantic/00122/00122-results.csv
new file mode 100644
index 0000000..877c62b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00122/00122-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.06,0.001411375990220016,0.00008862400977998259
+0.12,0.001325599895304937,0.000174400104695062
+0.18,0.001242797775648382,0.000257202224351617
+0.24,0.001163072381913453,0.0003369276180865465
+0.3,0.001086503900236496,0.0004134960997635034
+0.36,0.001013150831244311,0.0004868491687556888
+0.42,0.0009430510280539969,0.0005569489719460028
+0.48,0.0008762227938208461,0.0006237772061791536
+0.54,0.0008126661525801315,0.0006873338474198682
+0.6,0.0007523641084101306,0.0007476358915898691
+0.66,0.0006952839959157623,0.0008047160040842374
+0.72,0.000641378899194711,0.0008586211008052887
+0.78,0.000590589028833627,0.0009094109711663727
+0.84,0.0005428431324543974,0.0009571568675456023
+0.9,0.0004980599214596593,0.00100194007854034
+0.96,0.0004561494002353921,0.001043850599764607
+1.02,0.0004170142493408994,0.0010829857506591
+1.08,0.0003805510706018845,0.001119448929398115
+1.14,0.0003466516517488696,0.00115334834825113
+1.2,0.0003152041076367951,0.001184795892363204
+1.26,0.0002860939883024401,0.001213906011697559
+1.32,0.0002592052935670112,0.001240794706432988
+1.38,0.0002344214077639068,0.001265578592236092
+1.44,0.0002116259613839618,0.001288374038616038
+1.5,0.0001907035992550029,0.001309296400744997
+1.56,0.0001715406687785414,0.001328459331221458
+1.62,0.0001540258393954955,0.001345974160604504
+1.68,0.0001380506139391335,0.001361949386060866
+1.74,0.0001235097823672145,0.001376490217632785
+1.8,0.0001103018135414316,0.001389698186458568
+1.86,0.0000983291362897851,0.001401670863710214
+1.92,0.00008749838640414378,0.001412501613595856
+1.98,0.00007772060262944781,0.001422279397370551
+2.04,0.00006891131304700913,0.00143108868695299
+2.1,0.00006099063608726101,0.001439009363912738
+2.16,0.00005388328855307065,0.001446116711446928
+2.22,0.00004751855775449508,0.001452481442245504
+2.28,0.0000418302753864969,0.001458169724613502
+2.34,0.00003675669402165957,0.001463243305978339
+2.4,0.00003224039830878176,0.001467759601691217
+2.46,0.00002822816679545671,0.001471771833204542
+2.52,0.00002467080071374672,0.001475329199286252
+2.58,0.00002152296021011733,0.001478477039789882
+2.64,0.0000187429977072712,0.001481257002292728
+2.7,0.00001629275199913792,0.001483707248000861
+2.76,0.00001413735149805248,0.001485862648501946
+2.82,0.000012245030534378,0.001487754969465621
+2.88,0.00001058693018501228,0.001489413069814987
+2.94,9.136892742694239e-6,0.001490863107257305
+3.,7.871277598754563e-6,0.001492128722401245
diff --git a/models/sbml-test-suite/cases/semantic/00122/00122-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00122/00122-sbml-l2v4.xml
new file mode 100644
index 0000000..56f2c40
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00122/00122-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00122" id="case00122" name="case00122">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+      <parameter id="k3" name="k3" value="0.3"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> k2 </ci>
+            <ci> k3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00122/00122-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00122/00122-sbml-l3v1.xml
new file mode 100644
index 0000000..b122dd8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00122/00122-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00122" id="case00122" name="case00122" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+      <parameter id="k3" name="k3" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> k2 </ci>
+            <ci> k3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00122/00122-settings.txt b/models/sbml-test-suite/cases/semantic/00122/00122-settings.txt
new file mode 100644
index 0000000..bf0806c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00122/00122-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00123/00123-results.csv b/models/sbml-test-suite/cases/semantic/00123/00123-results.csv
new file mode 100644
index 0000000..74f3779
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00123/00123-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7
+0.2,8.029075029489195e-7,1.302907502948918e-6,2.19709249705108e-6,6.970924970510802e-7
+0.4,6.726218868729241e-7,1.172621886872923e-6,2.327378113127074e-6,8.273781131270757e-7
+0.6,5.857576268540955e-7,1.085757626854094e-6,2.414242373145903e-6,9.142423731459043e-7
+0.8,5.261543916809855e-7,1.026154391680984e-6,2.473845608319012e-6,9.738456083190141e-7
+1.,4.834294161492641e-7,9.834294161492632e-7,2.516570583850733e-6,1.016570583850735e-6
+1.2,4.511864899329632e-7,9.511864899329625e-7,2.548813510067033e-6,1.048813510067036e-6
+1.4,4.255895723016487e-7,9.25589572301648e-7,2.574410427698347e-6,1.074410427698351e-6
+1.6,4.043699577434607e-7,9.043699577434602e-7,2.595630042256535e-6,1.095630042256539e-6
+1.8,3.861840802554097e-7,8.86184080255409e-7,2.613815919744586e-6,1.11381591974459e-6
+2.,3.70220445112519e-7,8.702204451125184e-7,2.629779554887477e-6,1.129779554887481e-6
+2.2,3.559697744701632e-7,8.559697744701623e-7,2.644030225529833e-6,1.144030225529837e-6
+2.4,3.430953038462356e-7,8.430953038462346e-7,2.65690469615376e-6,1.156904696153765e-6
+2.6,3.313612329362532e-7,8.313612329362522e-7,2.668638767063742e-6,1.168638767063747e-6
+2.8,3.205934887518381e-7,8.20593488751837e-7,2.679406511248157e-6,1.179406511248162e-6
+3.,3.106579018495731e-7,8.10657901849572e-7,2.689342098150423e-6,1.189342098150427e-6
+3.2,3.014476404321911e-7,8.0144764043219e-7,2.698552359567804e-6,1.198552359567809e-6
+3.4,2.928755938161449e-7,7.92875593816144e-7,2.707124406183851e-6,1.207124406183855e-6
+3.6,2.848694746318269e-7,7.848694746318259e-7,2.715130525368168e-6,1.215130525368173e-6
+3.8,2.773684862729591e-7,7.773684862729583e-7,2.722631513727036e-6,1.222631513727041e-6
+4.,2.703209446600595e-7,7.703209446600587e-7,2.729679055339935e-6,1.229679055339941e-6
+4.2,2.63682517134766e-7,7.636825171347649e-7,2.736317482865228e-6,1.236317482865235e-6
+4.4,2.574148825404379e-7,7.574148825404369e-7,2.742585117459555e-6,1.242585117459563e-6
+4.6,2.514846903359752e-7,7.514846903359743e-7,2.748515309664018e-6,1.248515309664026e-6
+4.8,2.458627390310606e-7,7.458627390310599e-7,2.754137260968933e-6,1.25413726096894e-6
+5.,2.405233193259841e-7,7.405233193259832e-7,2.759476680674009e-6,1.259476680674017e-6
+5.2,2.354436829241214e-7,7.354436829241204e-7,2.764556317075871e-6,1.264556317075879e-6
+5.4,2.30603609159441e-7,7.3060360915944e-7,2.769396390840551e-6,1.26939639084056e-6
+5.6,2.259850480936206e-7,7.259850480936197e-7,2.774014951906372e-6,1.27401495190638e-6
+5.8,2.215718245146499e-7,7.215718245146492e-7,2.778428175485343e-6,1.278428175485351e-6
+6.,2.173493906402217e-7,7.173493906402209e-7,2.782650609359771e-6,1.282650609359779e-6
+6.2,2.133046182086756e-7,7.133046182086748e-7,2.786695381791318e-6,1.286695381791325e-6
+6.4,2.094256225604155e-7,7.094256225604147e-7,2.790574377439578e-6,1.290574377439584e-6
+6.6,2.057016131401005e-7,7.057016131400995e-7,2.794298386859893e-6,1.294298386859899e-6
+6.8,2.021227655604821e-7,7.02122765560481e-7,2.797877234439512e-6,1.297877234439518e-6
+7.,1.986801118449664e-7,6.986801118449652e-7,2.801319888155027e-6,1.301319888155034e-6
+7.2,1.953654456196953e-7,6.953654456196941e-7,2.804634554380298e-6,1.304634554380305e-6
+7.4,1.921712400319751e-7,6.921712400319738e-7,2.807828759968019e-6,1.307828759968025e-6
+7.6,1.890905763345434e-7,6.890905763345422e-7,2.81090942366545e-6,1.310909423665457e-6
+7.8,1.861170815266786e-7,6.861170815266774e-7,2.813882918473314e-6,1.313882918473322e-6
+8.,1.832448737180179e-7,6.832448737180167e-7,2.816755126281975e-6,1.316755126281983e-6
+8.2,1.804685140983985e-7,6.80468514098397e-7,2.819531485901595e-6,1.319531485901602e-6
+8.4,1.777829645829209e-7,6.777829645829195e-7,2.822217035417073e-6,1.32221703541708e-6
+8.6,1.751835503369116e-7,6.751835503369101e-7,2.824816449663082e-6,1.324816449663089e-6
+8.8,1.726659265487461e-7,6.726659265487447e-7,2.827334073451247e-6,1.327334073451255e-6
+9.,1.702260488609898e-7,6.702260488609888e-7,2.829773951139004e-6,1.329773951139012e-6
+9.2,1.678601470070621e-7,6.678601470070612e-7,2.832139852992931e-6,1.332139852992939e-6
+9.4,1.655647012442428e-7,6.65564701244242e-7,2.83443529875575e-6,1.334435298755759e-6
+9.6,1.633364212306357e-7,6.63336421230635e-7,2.836663578769358e-6,1.336663578769366e-6
+9.8,1.611722270571228e-7,6.611722270571219e-7,2.83882777294287e-6,1.338827772942878e-6
+10.,1.590692321735305e-7,6.590692321735296e-7,2.840930767826462e-6,1.340930767826471e-6
diff --git a/models/sbml-test-suite/cases/semantic/00123/00123-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00123/00123-sbml-l2v4.xml
new file mode 100644
index 0000000..4bc3ef8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00123/00123-sbml-l2v4.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00123" id="case00123" name="case00123">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000000" constant="false"/>
+      <parameter id="k2" name="k2" value="300000"/>
+      <parameter id="k3" name="k3" value="700000"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> k2 </ci>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00123/00123-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00123/00123-sbml-l3v1.xml
new file mode 100644
index 0000000..1e3f5f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00123/00123-sbml-l3v1.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00123" id="case00123" name="case00123" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000000" constant="false"/>
+      <parameter id="k2" name="k2" value="300000" constant="true"/>
+      <parameter id="k3" name="k3" value="700000" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> k2 </ci>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00123/00123-settings.txt b/models/sbml-test-suite/cases/semantic/00123/00123-settings.txt
new file mode 100644
index 0000000..bb92d29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00123/00123-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00124/00124-results.csv b/models/sbml-test-suite/cases/semantic/00124/00124-results.csv
new file mode 100644
index 0000000..64e28a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00124/00124-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.7559029788826112,1.755902978882609,1.24409702111739
+0.2,0.6007006089720855,1.600700608972084,1.399299391027915
+0.3,0.4967085607677789,1.496708560767777,1.503291439232222
+0.4,0.4245309800526532,1.424530980052651,1.575469019947348
+0.5,0.3731672936545643,1.373167293654563,1.626832706345436
+0.6,0.3359247718625778,1.335924771862576,1.664075228137423
+0.7,0.308514114379649,1.308514114379647,1.691485885620352
+0.8,0.2880771347908323,1.288077134790831,1.711922865209168
+0.9,0.2726528488575926,1.272652848857591,1.727347151142408
+1.,0.260866269151961,1.26086626915196,1.739133730848039
+1.1,0.2517377193027191,1.251737719302718,1.748262280697281
+1.2,0.2445610368399119,1.244561036839911,1.755438963160088
+1.3,0.2388230007038188,1.238823000703818,1.761176999296181
+1.4,0.2341484904915038,1.234148490491503,1.765851509508496
+1.5,0.2302623018959791,1.230262301895978,1.769737698104021
+1.6,0.2269620735476896,1.226962073547689,1.77303792645231
+1.7,0.2240988144407467,1.224098814440746,1.775901185559253
+1.8,0.2215627754246808,1.22156277542468,1.778437224575319
+1.9,0.2192731131623071,1.219273113162306,1.780726886837693
+2.,0.2171702943620927,1.217170294362092,1.782829705637907
+2.1,0.2152104943378695,1.215210494337869,1.78478950566213
+2.2,0.2133614627816235,1.213361462781623,1.786638537218376
+2.3,0.2115994698751938,1.211599469875193,1.788400530124806
+2.4,0.2099070492819335,1.209907049281933,1.790092950718066
+2.5,0.2082713326530085,1.208271332653008,1.791728667346991
+2.6,0.2066828220925605,1.20668282209256,1.793317177907439
+2.7,0.2051344863353277,1.205134486335327,1.794865513664672
+2.8,0.2036210964210073,1.203621096421007,1.796378903578992
+2.9,0.2021387395092771,1.202138739509277,1.797861260490722
+3.,0.2006844614342397,1.20068446143424,1.79931553856576
+3.1,0.1992560068864908,1.199256006886491,1.800743993113509
+3.2,0.197851629513949,1.197851629513949,1.80214837048605
+3.3,0.1964699535895529,1.196469953589553,1.803530046410446
+3.4,0.1951098739141413,1.195109873914141,1.804890126085858
+3.5,0.1937704831061206,1.193770483106121,1.806229516893878
+3.6,0.1924510189034107,1.192451018903411,1.807548981096589
+3.7,0.1911508262726778,1.191150826272678,1.808849173727322
+3.8,0.1898693299107126,1.189869329910712,1.810130670089287
+3.9,0.188606014483433,1.188606014483433,1.811393985516566
+4.,0.1873604103623313,1.187360410362331,1.812639589637668
+4.1,0.1861320833376364,1.186132083337636,1.813867916662363
+4.2,0.1849206271850601,1.18492062718506,1.815079372814939
+4.3,0.1837256582690886,1.183725658269089,1.81627434173091
+4.4,0.1825468116379474,1.182546811637947,1.817453188362052
+4.5,0.1813837381508288,1.181383738150829,1.81861626184917
+4.6,0.1802361023587102,1.18023610235871,1.819763897641289
+4.7,0.1791035809205896,1.17910358092059,1.820896419079409
+4.8,0.1779858614058873,1.177985861405887,1.822014138594112
+4.9,0.1768826413676196,1.17688264136762,1.823117358632379
+5.,0.1757936276141255,1.175793627614125,1.824206372385874
diff --git a/models/sbml-test-suite/cases/semantic/00124/00124-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00124/00124-sbml-l2v4.xml
new file mode 100644
index 0000000..21d6347
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00124/00124-sbml-l2v4.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00124" id="case00124" name="case00124">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+      <parameter id="k3" name="k3" value="-0.1"/>
+      <parameter id="p1" name="p1" value="1"/>
+      <parameter id="p2" name="p2" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <apply>
+                <times/>
+                <ci> k2 </ci>
+                <ci> p2 </ci>
+              </apply>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00124/00124-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00124/00124-sbml-l3v1.xml
new file mode 100644
index 0000000..c6b6ef1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00124/00124-sbml-l3v1.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00124" id="case00124" name="case00124" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+      <parameter id="k3" name="k3" value="-0.1" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+      <parameter id="p2" name="p2" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <apply>
+                <times/>
+                <ci> k2 </ci>
+                <ci> p2 </ci>
+              </apply>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00124/00124-settings.txt b/models/sbml-test-suite/cases/semantic/00124/00124-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00124/00124-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00125/00125-results.csv b/models/sbml-test-suite/cases/semantic/00125/00125-results.csv
new file mode 100644
index 0000000..bf665a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00125/00125-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.1,0.001357256127051686,0.0002854877458966267
+0.2,0.001228096128816912,0.0005438077423661762
+0.3,0.001111227329840852,0.0007775453403182963
+0.4,0.001005480068749936,0.0009890398625001272
+0.5,0.0009097959863009685,0.001180408027398063
+0.6,0.0008232174474355213,0.001353565105128957
+0.7,0.0007448779322189658,0.001510244135562068
+0.8,0.0006739934325273751,0.00165201313494525
+0.9,0.0006098544672518116,0.001780291065496377
+1.,0.0005518191538089337,0.001896361692382133
+1.1,0.0004993066050194266,0.002001386789961147
+1.2,0.0004517913137972213,0.002096417372405557
+1.3,0.0004087976712904976,0.002182404657419005
+1.4,0.0003698954179708094,0.002260209164058382
+1.5,0.0003346952383387746,0.002330609523322452
+1.6,0.0003028447671498223,0.002394310465700356
+1.7,0.0002740252577435433,0.002451949484512913
+1.8,0.0002479483036608773,0.002504103392678246
+1.9,0.0002243529166406996,0.002551294166718601
+2.,0.0002030029248545213,0.002593994150290957
+2.1,0.0001836846325950647,0.00263263073480987
+2.2,0.0001662047184562854,0.002667590563087429
+2.3,0.000150388249849984,0.002699223500300032
+2.4,0.0001360769254314781,0.002727846149137044
+2.5,0.0001231274972244723,0.002753745005551056
+2.6,0.0001114103590582034,0.002777179281883594
+2.7,0.000100808256969332,0.002798383486061336
+2.8,0.00009121508586487751,0.002817569828270246
+2.9,0.00008253482887390666,0.002834930342252187
+3.,0.00007468060105827317,0.002850638797883454
+3.1,0.00006757379731024466,0.002864852405379511
+3.2,0.00006114329864966907,0.002877713402700663
+3.3,0.00005532474730066296,0.002889350505398675
+3.4,0.00005005990481183556,0.00289988019037633
+3.5,0.00004529607335896638,0.002909407853282068
+3.6,0.00004098557925383444,0.002918028841492332
+3.7,0.00003708528552862079,0.00292582942894276
+3.8,0.00003355615620016777,0.002932887687599666
+3.9,0.00003036286714628799,0.002939274265707426
+4.,0.00002747345667732632,0.00294505308664535
+4.1,0.00002485901018510633,0.00295028197962979
+4.2,0.00002249336298570973,0.002955013274028583
+4.3,0.00002035283797824032,0.002959294324043522
+4.4,0.0000184160096757091,0.002963167980648584
+4.5,0.0000166634934627227,0.002966673013074557
+4.6,0.00001507775179419891,0.002969844496411604
+4.7,0.00001364291452987253,0.002972714170940257
+4.8,0.00001234462045270541,0.002975310759094591
+4.9,0.00001116987449301665,0.002977660251013968
+5.,0.00001010692049868943,0.002979786159002623
diff --git a/models/sbml-test-suite/cases/semantic/00125/00125-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00125/00125-sbml-l2v4.xml
new file mode 100644
index 0000000..74621db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00125/00125-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00125" id="case00125" name="case00125">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00125/00125-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00125/00125-sbml-l3v1.xml
new file mode 100644
index 0000000..3088f6f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00125/00125-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00125" id="case00125" name="case00125" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00125/00125-settings.txt b/models/sbml-test-suite/cases/semantic/00125/00125-settings.txt
new file mode 100644
index 0000000..203055a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00125/00125-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00126/00126-results.csv b/models/sbml-test-suite/cases/semantic/00126/00126-results.csv
new file mode 100644
index 0000000..28ebb62
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00126/00126-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.2,0.001399081391479351,0.0002018372170412996
+0.4,0.001307639273053734,0.0003847214538925329
+0.6,0.001226932459375801,0.0005461350812483992
+0.8,0.001157335977144543,0.0006853280457109152
+1.,0.001098512285863247,0.0008029754282735076
+1.2,0.001049631036470739,0.0009007379270585232
+1.4,0.001009581715665887,0.0009808365686682272
+1.6,0.0009771467584642928,0.001045706483071417
+1.8,0.0009511242312430109,0.00109775153751398
+2.,0.0009304033783239136,0.001139193243352175
+2.2,0.0009140030071055189,0.001171993985788965
+2.4,0.0009010839458374852,0.001197832108325032
+2.6,0.000890945352562561,0.00121810929487488
+2.8,0.0008830122271584702,0.001233975545683062
+3.,0.0008768191130793576,0.001246361773841287
+3.2,0.0008719930697044065,0.001256013860591189
+3.4,0.000868237600207622,0.001263524799584758
+3.6,0.0008653184147644469,0.001269363170471108
+3.8,0.0008630512085738145,0.001273897582852373
+4.,0.0008612915304643342,0.001277416939071334
+4.2,0.000859926465655244,0.001280147068689514
+4.4,0.0008588679415439903,0.001282264116912022
+4.6,0.0008580473744250301,0.001283905251149942
+4.8,0.0008574114220058736,0.001285177155988255
+5.,0.0008569186412296622,0.001286162717540678
+5.2,0.0008565368546424142,0.001286926290715174
+5.4,0.0008562410947450436,0.001287517810509915
+5.6,0.0008560119971381727,0.001287976005723657
+5.8,0.0008558345483912128,0.001288330903217577
+6.,0.0008556971116020959,0.001288605776795811
+6.2,0.0008555906689177579,0.001288818662164487
+6.4,0.0008555082332209568,0.001288983533558089
+6.6,0.0008554443914370926,0.001289111217125817
+6.8,0.0008553949505788157,0.001289210098842371
+7.,0.0008553566629811831,0.001289286674037636
+7.2,0.000855327012769549,0.001289345974460904
+7.4,0.0008553040514727443,0.001289391897054514
+7.6,0.0008552862703996751,0.001289427459200652
+7.8,0.000855272500946722,0.001289454998106558
+8.,0.0008552618379787796,0.001289476324042443
+8.2,0.0008552535807110657,0.001289492838577871
+8.4,0.0008552471864503234,0.001289505627099356
+8.6,0.0008552422348369637,0.001289515530326075
+8.8,0.0008552384003748195,0.001289523199250363
+9.,0.0008552354310554782,0.001289529137889046
+9.2,0.0008552331316796391,0.001289533736640724
+9.4,0.0008552313510769768,0.001289537297846049
+9.6,0.0008552299722171448,0.001289540055565713
+9.8,0.0008552289044639767,0.001289542191072049
+10.,0.0008552280776139069,0.001289543844772189
diff --git a/models/sbml-test-suite/cases/semantic/00126/00126-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00126/00126-sbml-l2v4.xml
new file mode 100644
index 0000000..ccadb39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00126/00126-sbml-l2v4.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00126" id="case00126" name="case00126">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35"/>
+      <parameter id="k2" name="k2" value="180"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00126/00126-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00126/00126-sbml-l3v1.xml
new file mode 100644
index 0000000..d1e66e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00126/00126-sbml-l3v1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00126" id="case00126" name="case00126" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35" constant="true"/>
+      <parameter id="k2" name="k2" value="180" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00126/00126-settings.txt b/models/sbml-test-suite/cases/semantic/00126/00126-settings.txt
new file mode 100644
index 0000000..5b08c07
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00126/00126-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00127/00127-results.csv b/models/sbml-test-suite/cases/semantic/00127/00127-results.csv
new file mode 100644
index 0000000..2342030
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00127/00127-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.4,0.001188439701806473,0.002094219850903236,0.0009057801490967617
+0.8,0.001358175125429311,0.002179087562714655,0.0008209124372853428
+1.2,0.001510921447533891,0.002255460723766945,0.0007445392762330531
+1.6,0.001648256572868598,0.002324128286434299,0.0006758717135656996
+2.,0.001771630472315623,0.002385815236157812,0.0006141847638421872
+2.4,0.001882373510733117,0.002441186755366558,0.00055881324463344
+2.8,0.001981704116928109,0.002490852058464054,0.0005091479415359443
+3.2,0.002070736095468486,0.002535368047734243,0.0004646319522657555
+3.6,0.002150485573575678,0.002575242786787839,0.0004247572132121592
+4.,0.002221877799170583,0.002610938899585291,0.0003890611004147071
+4.4,0.002285753639434473,0.002642876819717237,0.0003571231802827618
+4.8,0.002342875901121914,0.002671437950560957,0.0003285620494390416
+5.2,0.002393935396724235,0.002696967698362117,0.0003030323016378815
+5.6,0.002439556776521012,0.002719778388260506,0.000280221611739493
+6.,0.002480303891684566,0.002740151945842283,0.0002598480541577158
+6.4,0.002516685265022995,0.002758342632511498,0.0002416573674885015
+6.8,0.002549158640398754,0.002774579320199377,0.000225420679800622
+7.2,0.002578135879365168,0.002789067939682584,0.000210932060317415
+7.6,0.002603986900342505,0.002801993450171252,0.0001980065498287465
+8.,0.002627043896637798,0.002813521948318898,0.0001864780516811
+8.4,0.002647604653465762,0.00282380232673288,0.0001761976732671184
+8.8,0.002665936179117387,0.002832968089558692,0.0001670319104413061
+9.2,0.002682277534942494,0.002841138767471246,0.0001588612325287523
+9.6,0.002696842645484782,0.00284842132274239,0.0001515786772576082
+10.,0.002709822934195501,0.002854911467097749,0.0001450885329022494
+10.4,0.002721389512708532,0.002860694756354265,0.0001393052436457336
+10.8,0.0027316952574751,0.002865847628737549,0.0001341523712624496
+11.2,0.002740876778267927,0.002870438389133962,0.0001295616108660364
+11.6,0.002749056046662006,0.002874528023331002,0.0001254719766689965
+12.,0.002756341909738721,0.002878170954869359,0.0001218290451306391
+12.4,0.002762831536706244,0.002881415768353121,0.0001185842316468775
+12.8,0.002768611613799772,0.002884305806899884,0.0001156941931001134
+13.2,0.002773759434684944,0.002886879717342471,0.0001131202826575275
+13.6,0.00277834395117649,0.002889171975588244,0.0001108280244117543
+14.,0.002782426640472358,0.002891213320236178,0.0001087866797638204
+14.4,0.002786062292307725,0.002893031146153862,0.0001069688538461369
+14.8,0.002789299746105558,0.002894649873052779,0.00010535012694722
+15.2,0.00279218252955231,0.002896091264776154,0.0001039087352238443
+15.6,0.002794749431274247,0.002897374715637123,0.0001026252843628758
+16.,0.00279703501278868,0.002898517506394339,0.0001014824936056592
+16.4,0.002799070064363962,0.002899535032181981,0.0001004649678180179
+16.8,0.002800882011807525,0.002900441005903762,0.0000995589940962367
+17.2,0.002802495286079857,0.002901247643039928,0.0000987523569600705
+17.6,0.002803931649416938,0.002901965824708468,0.00009803417529153018
+18.,0.002805210485376209,0.002902605242688104,0.00009739475731189438
+18.4,0.002806349057822277,0.002903174528911137,0.0000968254710888608
+18.8,0.002807362741383379,0.002903681370691689,0.00009631862930830972
+19.2,0.00280826522588171,0.002904132612940855,0.0000958673870591436
+19.6,0.002809068701224745,0.002904534350612372,0.00009546564938762648
+20.,0.002809784025229707,0.002904892012614853,0.00009510798738514517
diff --git a/models/sbml-test-suite/cases/semantic/00127/00127-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00127/00127-sbml-l2v4.xml
new file mode 100644
index 0000000..8f0b643
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00127/00127-sbml-l2v4.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00127" id="case00127" name="case00127">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00127/00127-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00127/00127-sbml-l3v1.xml
new file mode 100644
index 0000000..f0bade5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00127/00127-sbml-l3v1.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00127" id="case00127" name="case00127" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00127/00127-settings.txt b/models/sbml-test-suite/cases/semantic/00127/00127-settings.txt
new file mode 100644
index 0000000..1651ee1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00127/00127-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00128/00128-results.csv b/models/sbml-test-suite/cases/semantic/00128/00128-results.csv
new file mode 100644
index 0000000..e2b0083
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00128/00128-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.001,0.002,0.001
+1.,0.0009955844035527627,0.0009955844035527627,0.002004415596447242,0.001710120614658549
+2.,0.001136861084115997,0.001136861084115997,0.001863138915884007,0.002417365623034126
+3.,0.001299216234906503,0.001299216234906503,0.001700783765093501,0.003367968600392368
+4.,0.001466018845881737,0.001466018845881737,0.001533981154118268,0.004636610597904889
+5.,0.001629186118417186,0.001629186118417186,0.001370813881582818,0.006272810339469035
+6.,0.001782245019249633,0.001782245019249633,0.001217754980750371,0.008306023636451732
+7.,0.001920938667741307,0.001920938667741307,0.001079061332258697,0.01074346354949322
+8.,0.002043409966056035,0.002043409966056035,0.0009565900339439692,0.0135727766722294
+9.,0.0021497004627268,0.0021497004627268,0.0008502995372732041,0.01676797242580119
+10.,0.002241019512325904,0.002241019512325904,0.0007589804876740988,0.02029576253722186
+11.,0.002319115336776706,0.002319115336776706,0.000680884663223297,0.02412058008248057
+12.,0.002385857620513976,0.002385857620513976,0.0006141423794860292,0.02820783098959763
+13.,0.002443009684418857,0.002443009684418857,0.0005569903155811473,0.03252564740261354
+14.,0.002492129255590867,0.002492129255590867,0.0005078707444091359,0.03704561311269393
+15.,0.002534543029147379,0.002534543029147379,0.0004654569708526239,0.04174287670140062
+16.,0.002571357914493171,0.002571357914493171,0.0004286420855068328,0.04659594422417837
+17.,0.002603487329915652,0.002603487329915652,0.0003965126700843507,0.05158633158365986
+18.,0.002631681236514769,0.002631681236514769,0.0003683187634852345,0.05669817779172459
+19.,0.002656554636038931,0.002656554636038931,0.0003434453639610724,0.06191787088126288
+20.,0.002678612480553938,0.002678612480553938,0.0003213875194460661,0.06723370963704682
+21.,0.002698270533249292,0.002698270533249292,0.0003017294667507133,0.07263560879651913
+22.,0.002715872429157586,0.002715872429157586,0.0002841275708424209,0.07811484753764469
+23.,0.002731703446434017,0.002731703446434017,0.0002682965535659894,0.08366385751564309
+24.,0.002746001547813661,0.002746001547813661,0.0002539984521863463,0.08927604543318662
+25.,0.002758966209282418,0.002758966209282418,0.0002410337907175904,0.09494564499506107
+26.,0.002770765478549437,0.002770765478549437,0.0002292345214505711,0.1006675934898391
+27.,0.002781541627258491,0.002781541627258491,0.0002184583727415174,0.1064374288312921
+28.,0.002791415689443112,0.002791415689443112,0.0002085843105568966,0.112251203518845
+29.,0.002800491118445336,0.002800491118445336,0.0001995088815546719,0.1181054125584538
+30.,0.002808856745124002,0.002808856745124002,0.0001911432548760072,0.1239969329039815
+31.,0.002816589181150238,0.002816589181150238,0.0001834108188497722,0.1299229724104011
+32.,0.002823754780030751,0.002823754780030751,0.0001762452199692588,0.1358810266602499
+33.,0.002830411244545011,0.002830411244545011,0.0001695887554549991,0.1418688423177621
+34.,0.002836608950244562,0.002836608950244562,0.0001633910497554469,0.1478843859142372
+35.,0.002842392040042785,0.002842392040042785,0.0001576079599572246,0.1539258171651822
+36.,0.002847799333493328,0.002847799333493328,0.000152200666506682,0.1599914660802969
+37.,0.002852865085393122,0.002852865085393122,0.0001471349146068876,0.1660798132588007
+38.,0.002857619621298308,0.002857619621298308,0.0001423803787017028,0.1721894728706808
+39.,0.002862089872137387,0.002862089872137387,0.0001379101278626239,0.1783191779078963
+40.,0.002866299825711602,0.002866299825711602,0.0001337001742884077,0.1844677673620279
+41.,0.002870270909466095,0.002870270909466095,0.0001297290905339148,0.1906341750419996
+42.,0.002874022316193714,0.002874022316193714,0.0001259776838062962,0.1968174197927543
+43.,0.002877571282186807,0.002877571282186807,0.0001224287178132023,0.2030165969138222
+44.,0.002880933325586323,0.002880933325586323,0.0001190666744136872,0.20923087060985
+45.,0.002884122451317058,0.002884122451317058,0.0001158775486829531,0.2154594673304011
+46.,0.002887151327857542,0.002887151327857542,0.0001128486721424682,0.2217016698789032
+47.,0.002890031440190392,0.002890031440190392,0.0001099685598096176,0.2279568121885794
+48.,0.002892773222540377,0.002892773222540377,0.0001072267774596341,0.2342242746784209
+49.,0.002895386173905708,0.002895386173905708,0.000104613826094302,0.2405034801149068
+50.,0.002897878958886367,0.002897878958886367,0.0001021210411136427,0.2467938899162871
diff --git a/models/sbml-test-suite/cases/semantic/00128/00128-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00128/00128-sbml-l2v4.xml
new file mode 100644
index 0000000..f1695ff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00128/00128-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00128" id="case00128" name="case00128">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00128/00128-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00128/00128-sbml-l3v1.xml
new file mode 100644
index 0000000..23eb29d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00128/00128-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00128" id="case00128" name="case00128" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00128/00128-settings.txt b/models/sbml-test-suite/cases/semantic/00128/00128-settings.txt
new file mode 100644
index 0000000..a5a55c3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00128/00128-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 50.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00129/00129-results.csv b/models/sbml-test-suite/cases/semantic/00129/00129-results.csv
new file mode 100644
index 0000000..9373a5c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00129/00129-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5,0
+0.1,1.291061964045341,0.4178760719093156
+0.2,1.111227330323169,0.7775453393536607
+0.3,0.9564422181701498,1.087115563659699
+0.4,0.8232174416554475,1.353565116689103
+0.5,0.7085498160995695,1.582900367800859
+0.6,0.6098544864049196,1.780291027190159
+0.7,0.5249066151966118,1.950186769606775
+0.8,0.4517912959422058,2.096417408115587
+0.9,0.3888603764504554,2.222279247099088
+1.,0.3346952207759654,2.330609558448068
+1.1,0.288074832571813,2.423850334856373
+1.2,0.2479483043779198,2.504103391244159
+1.3,0.2134110911696576,2.573177817660683
+1.4,0.1836846385039438,2.63263072299211
+1.5,0.1580988364196165,2.683802327160766
+1.6,0.1360769232976315,2.727846153404735
+1.7,0.1171224872957385,2.765755025408521
+1.8,0.1008082575374642,2.79838348492507
+1.9,0.08676647401565509,2.826467051968689
+2.,0.07468060037294749,2.850638799254104
+2.1,0.06427819028053913,2.871443619438921
+2.2,0.05532474891667567,2.889350502166648
+2.3,0.04761845011445885,2.904763099771082
+2.4,0.04098557893252342,2.918028842134952
+2.5,0.03527661555443043,2.929446768891139
+2.6,0.03036286601905099,2.939274267961898
+2.7,0.02613356195161657,2.947732876096767
+2.8,0.02249336454390506,2.95501327091219
+2.9,0.01936021720225144,2.961279565595497
+3.,0.01666349288805201,2.966673014223896
+3.1,0.01434240148761273,2.971315197024775
+3.2,0.01234461999446627,2.975310760011067
+3.3,0.01062511336681583,2.978749773266368
+3.4,0.009145119645693488,2.981709760708613
+3.5,0.007871276984012054,2.984257446031976
+3.6,0.006774870644943125,2.986450258710114
+3.7,0.005831185259484416,2.988337629481031
+3.8,0.005018947904788619,2.989962104190423
+3.9,0.004319848708448,2.991360302583104
+4.,0.003718128210546544,2.992563743578907
+4.1,0.003200222432874866,2.99359955513425
+4.2,0.002754456860882202,2.994491086278235
+4.3,0.00237078299580598,2.995258434008388
+4.4,0.002040551923412866,2.995918896153174
+4.5,0.001756319409540545,2.996487361180918
+4.6,0.001511678130977185,2.996976643738045
+4.7,0.00130111335745946,2.99739777328508
+4.8,0.001119878593261028,2.997760242813477
+4.9,0.0009638884325227682,2.998072223134954
+5.,0.0008296265552292313,2.998340746889541
diff --git a/models/sbml-test-suite/cases/semantic/00129/00129-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00129/00129-sbml-l2v4.xml
new file mode 100644
index 0000000..e8a1292
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00129/00129-sbml-l2v4.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00129" id="case00129" name="case00129">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <ci> multiply </ci>
+                  <cn type="integer"> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00129/00129-settings.txt b/models/sbml-test-suite/cases/semantic/00129/00129-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00129/00129-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00130/00130-results.csv b/models/sbml-test-suite/cases/semantic/00130/00130-results.csv
new file mode 100644
index 0000000..37deeff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00130/00130-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.2,0.0001049678872290109,0.000204967887229011,0.00008935801342384627
+0.4,0.0001092867024455099,0.00020928670244551,0.00007996536177943267
+0.6,0.0001130321690168877,0.0002130321690168878,0.00007167583688438726
+0.8,0.0001162714553284234,0.0002162714553284234,0.00006436004375663157
+1.,0.0001190640860459349,0.000219064086045935,0.00005790353761152735
+1.2,0.0001214627691840038,0.0002214627691840038,0.00005220515083979148
+1.4,0.0001235141437751109,0.000223514143775111,0.00004717549420669622
+1.6,0.0001252594525206547,0.0002252594525206547,0.00004273561876015412
+1.8,0.0001267351462310028,0.0002267351462310028,0.00003881582137377712
+2.,0.0001279734251514827,0.0002279734251514828,0.00003535458107750071
+2.2,0.0001290027220007664,0.0002290027220007665,0.00003229761452756871
+2.4,0.0001298481342624947,0.0002298481342624947,0.0000295970343161665
+2.6,0.0001305318079657506,0.0002305318079657506,0.00002721060442857585
+2.8,0.0001310732773342392,0.0002310732773342392,0.00002510108334831633
+3.,0.0001314897716417322,0.0002314897716417322,0.00002323563231040139
+3.2,0.0001317964812408573,0.0002317964812408574,0.00002158530339914912
+3.4,0.0001320067964212401,0.0002320067964212401,0.00002012458090254194
+3.6,0.0001321325195330724,0.0002321325195330725,0.00001883097473182636
+3.8,0.0001321840505389405,0.0002321840505389405,0.00001768466529256701
+4.,0.0001321705530534201,0.0002321705530534201,0.00001666818613446786
+4.2,0.000132100099881748,0.0002321000998817481,0.00001576614609250501
+4.4,0.0001319798020668975,0.0002319798020668975,0.00001496498315598953
+4.6,0.0001318159227364145,0.0002318159227364145,0.00001425274751023108
+4.8,0.0001316139769680322,0.0002316139769680323,0.00001361891135594207
+5.,0.0001313788220185457,0.0002313788220185458,0.00001305419719110638
+5.2,0.000131114733630567,0.0002311147336305671,0.00001255043265710087
+5.4,0.0001308254766507607,0.0002308254766507608,0.0000121004162681365
+5.6,0.000130514364656215,0.0002305143646562151,0.00001169780407956452
+5.8,0.0001301843145562327,0.0002301843145562327,0.00001133700593747196
+6.,0.0001298378926346726,0.0002298378926346727,0.00001101309801465029
+6.2,0.0001294773581789834,0.0002294773581789835,0.00001072173994368136
+6.4,0.000129104697801224,0.000229104697801224,0.0000104591096448718
+6.6,0.0001287216594965303,0.0002287216594965304,0.00001022183865296273
+6.8,0.0001283297810176946,0.0002283297810176946,0.00001000695824349699
+7.,0.0001279304138829305,0.0002279304138829306,9.811853856272812e-6
+7.2,0.0001275247465782585,0.0002275247465782585,9.634221041966458e-6
+7.4,0.0001271138239522637,0.0002271138239522638,9.472028640557187e-6
+7.6,0.0001266985636930818,0.0002266985636930819,9.323487501953424e-6
+7.8,0.000126279772004367,0.0002262797720043671,9.187020720727183e-6
+8.,0.0001258581569887372,0.0002258581569887373,9.061238223460108e-6
+8.2,0.0001254343401830284,0.0002254343401830285,8.944914865343358e-6
+8.4,0.0001250088667154233,0.0002250088667154234,8.836971142674893e-6
+8.6,0.0001245822147095617,0.0002245822147095617,8.736455329968283e-6
+8.8,0.0001241548032986063,0.0002241548032986063,8.642528256917661e-6
+9.,0.0001237269995395111,0.0002237269995395111,8.554450174270116e-6
+9.2,0.0001232991245852229,0.0002232991245852229,8.471569027533806e-6
+9.4,0.000122871459333382,0.000222871459333382,8.393309721043572e-6
+9.6,0.0001224442492293916,0.0002224442492293916,8.319164989084229e-6
+9.8,0.0001220177083991156,0.0002220177083991156,8.248687541454805e-6
+10.,0.0001215920234434612,0.0002215920234434613,8.181482848422862e-6
diff --git a/models/sbml-test-suite/cases/semantic/00130/00130-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00130/00130-sbml-l2v4.xml
new file mode 100644
index 0000000..0e34a9c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00130/00130-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00130" id="case00130" name="case00130">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="170"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <ci> multiply </ci>
+                  <cn type="integer"> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00130/00130-settings.txt b/models/sbml-test-suite/cases/semantic/00130/00130-settings.txt
new file mode 100644
index 0000000..61fa7e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00130/00130-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00131/00131-results.csv b/models/sbml-test-suite/cases/semantic/00131/00131-results.csv
new file mode 100644
index 0000000..0dd3485
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00131/00131-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.4,0.001211992074998905,0.002211992074998905,0.0009019616915216053
+0.8,0.001397739166860507,0.002397739166860506,0.0008193485028517552
+1.2,0.001560841574848738,0.002560841574848738,0.0007502981557138531
+1.6,0.001704543520548538,0.002704543520548538,0.0006930891457027398
+2.,0.00183173195004247,0.00283173195004247,0.0006461601550715605
+2.4,0.001944950035155365,0.002944950035155365,0.000608116260524392
+2.8,0.002046419743650067,0.003046419743650066,0.0005777262104408076
+3.2,0.002138069625255656,0.003138069625255655,0.0005539138753926685
+3.6,0.002221564378098057,0.003221564378098056,0.0005357465362955854
+4.,0.002298334830848789,0.003298334830848788,0.0005224213763285951
+4.4,0.002369606464041181,0.00336960646404118,0.0005132516652013191
+4.8,0.002436426210393057,0.003436426210393056,0.0005076531169363622
+5.2,0.002499686694646308,0.003499686694646307,0.0005051311387266043
+5.6,0.002560148029289237,0.003560148029289236,0.0005052690814712107
+6.,0.00261845712180747,0.003618457121807469,0.0005077176426149809
+6.4,0.002675164602404142,0.003675164602404142,0.0005121854492379368
+6.8,0.002730739512579624,0.003730739512579624,0.0005184308068328562
+7.2,0.00278558203460376,0.003785582034603759,0.0005262544956351314
+7.6,0.002840034407499673,0.003840034407499672,0.000535493564860565
+8.,0.002894390290265171,0.00389439029026517,0.0005460159947935543
+8.4,0.002948902748541754,0.003948902748541752,0.0005577161411107398
+8.8,0.003003791050570922,0.004003791050570919,0.00057051086475121
+9.2,0.00305924645375504,0.004059246453755039,0.0005843362472482212
+9.6,0.00311543707791777,0.00411543707791777,0.0005991448476650034
+10.,0.003172512067306292,0.004172512067306293,0.0006149033787225266
+10.4,0.003230605104258685,0.004230605104258686,0.0006315907724554601
+10.8,0.003289837377728877,0.004289837377728878,0.0006491965776089854
+11.2,0.003350320096573574,0.004350320096573575,0.0006677196379282225
+11.6,0.003412156620759446,0.004412156620759446,0.0006871670101022352
+12.,0.00347544427605479,0.00447544427605479,0.0007075530798679033
+12.4,0.003540275892941055,0.004540275892941056,0.000728898857963124
+12.8,0.003606741119412653,0.004606741119412655,0.0007512314271554475
+13.2,0.003674927546509664,0.004674927546509664,0.0007745835192491462
+13.6,0.00374492167934585,0.004744921679345851,0.0007989932083649857
+14.,0.003816809779436331,0.004816809779436333,0.000824503681992045
+14.4,0.003890678598618143,0.004890678598618144,0.0008511631237291009
+14.8,0.003966616031043099,0.004966616031043101,0.0008790246585532214
+15.2,0.00404471168643906,0.005044711686439062,0.0009081463530332975
+15.6,0.00412505742413239,0.005125057424132392,0.0009385913138311161
+16.,0.004207747818483778,0.00520774781848378,0.000970427790242388
+16.4,0.004292880618733478,0.00529288061873348,0.001003729384797438
+16.8,0.004380557158205429,0.00538055715820543,0.001038575268254692
+17.2,0.004470882760738035,0.005470882760738037,0.00107505046997285
+17.6,0.004563967137579102,0.005563967137579103,0.001113246216639963
+18.,0.004659924756083034,0.005659924756083036,0.001153260289305864
+18.4,0.00475887525071132,0.005758875250711322,0.001195197488525706
+18.8,0.004860943780259571,0.005860943780259573,0.0012391700727227
+19.2,0.004966261447687392,0.005966261447687393,0.001285298324494727
+19.6,0.00507496569540986,0.006074965695409862,0.001333711125250468
+20.,0.005187200728339175,0.006187200728339177,0.001384546607967003
diff --git a/models/sbml-test-suite/cases/semantic/00131/00131-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00131/00131-sbml-l2v4.xml
new file mode 100644
index 0000000..2ff1cf1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00131/00131-sbml-l2v4.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00131" id="case00131" name="case00131">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="17"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> p1 </ci>
+                  <cn> 2 </cn>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00131/00131-settings.txt b/models/sbml-test-suite/cases/semantic/00131/00131-settings.txt
new file mode 100644
index 0000000..1651ee1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00131/00131-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00132/00132-results.csv b/models/sbml-test-suite/cases/semantic/00132/00132-results.csv
new file mode 100644
index 0000000..58ee8bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00132/00132-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.003,0,0
+0.1,0.002714512254107723,0.0002583199948759298,0.00002716775101634493
+0.2,0.002456192259233351,0.0004452321211338257,0.00009857561963282264
+0.3,0.002222454662044366,0.0005760197537705389,0.0002015255841850931
+0.4,0.002010960138106317,0.0006629732457590778,0.0003260666161346042
+0.5,0.001819591979136014,0.0007159536556367538,0.0004644543652272303
+0.6,0.00164643490828194,0.0007428522725419034,0.0006107128191761555
+0.7,0.001489755911370701,0.0007499650195678912,0.0007602790690614066
+0.8,0.001347986892348898,0.0007422973383771304,0.0009097157692739688
+0.9,0.00121970897922062,0.000723812314554972,0.001056478706224405
+1.,0.001103638323514569,0.0006976324737944654,0.001198729202690962
+1.1,0.000998613251091493,0.0006662037760094873,0.001335182972899017
+1.2,0.0009035826357341084,0.0006314287758680276,0.001464988588397861
+1.3,0.0008175953791015886,0.0005947746444508134,0.001587629976447595
+1.4,0.0007397908918253121,0.0005573607039383695,0.001702848404236316
+1.5,0.0006693904804431175,0.0005200292753378421,0.001810580244219037
+1.6,0.0006056895539819219,0.0004834029420442362,0.001910907503973839
+1.7,0.0005480505721587562,0.0004479307622674452,0.002004018665573796
+1.8,0.0004958966646648792,0.0004139254973145624,0.002090177838020554
+1.9,0.0004487058576668212,0.0003815935420931737,0.002169700600240001
+2.,0.0004060058497106896,0.0003510589330352242,0.002242935217254082
+2.1,0.0003673692847572785,0.0003223825542921479,0.002310248160950569
+2.2,0.0003324094750865654,0.0002955774553717047,0.002372013069541726
+2.3,0.0003007765311695708,0.0002706210239279341,0.002428602444902491
+2.4,0.000272153859869162,0.0002474646187151608,0.002480381521415673
+2.5,0.0002462549958717734,0.0002260411548691852,0.002527703849259037
+2.6,0.0002228207346423269,0.0002062710413760337,0.002570908223981633
+2.7,0.0002016165382182421,0.0001880667953871132,0.002610316666394639
+2.8,0.0001824301878760485,0.0001713365967221431,0.002646233215401803
+2.9,0.0001650696601696204,0.0001559869959293318,0.002678943343901043
+3.,0.0001493612051039878,0.0001419249485701647,0.002708713846325842
+3.1,0.0001351476071810623,0.0001290593152687036,0.002735793077550228
+3.2,0.0001222866119349456,0.0001173019401125686,0.00276041144795248
+3.3,0.0001106495022042718,0.0001065683980885302,0.002782782099707191
+3.4,0.0001001198098820659,0.00009677848443539212,0.002803101705682536
+3.5,0.00009059215026785384,0.00008785650436839633,0.002821551345363743
+3.6,0.00008197116734315366,0.00007973140991521727,0.002838297422741622
+3.7,0.00007417057941255374,0.00007233682112645839,0.00285349259946098
+3.8,0.00006711231557018678,0.00006561096126733011,0.002867276723162476
+3.9,0.00006072573433916418,0.00005949652939990481,0.002879777736260924
+4.,0.00005494691666793375,0.00005394052878214234,0.002891112554549917
+4.1,0.00004971802620693676,0.00004889406549517538,0.002901387908297879
+4.2,0.00004498673046297292,0.00004431212848882035,0.002910701141048199
+4.3,0.00004070567703801142,0.00004015335965560451,0.002919140963306377
+4.4,0.00003683201971047706,0.00003637982048397786,0.002926788159805538
+4.5,0.00003332698961586456,0.00003295676020256175,0.002933716250181567
+4.6,0.00003015550723491267,0.00002985238902850772,0.002939992103736573
+4.7,0.00002728583130598542,0.00002703765910855144,0.002945676509585458
+4.8,0.00002468924114785753,0.00002448605493773273,0.002950824703914405
+4.9,0.00002233974921348396,0.00002217339441463122,0.002955486856371879
+5.,0.00002021384099846521,0.00002007764120864467,0.002959708517792885
diff --git a/models/sbml-test-suite/cases/semantic/00132/00132-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00132/00132-sbml-l2v4.xml
new file mode 100644
index 0000000..9c42991
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00132/00132-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00132" id="case00132" name="case00132">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.003" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00132/00132-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00132/00132-sbml-l3v1.xml
new file mode 100644
index 0000000..7e34578
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00132/00132-sbml-l3v1.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00132" id="case00132" name="case00132" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.003" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="2"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00132/00132-settings.txt b/models/sbml-test-suite/cases/semantic/00132/00132-settings.txt
new file mode 100644
index 0000000..4544040
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00132/00132-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00133/00133-results.csv b/models/sbml-test-suite/cases/semantic/00133/00133-results.csv
new file mode 100644
index 0000000..58ee8bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00133/00133-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.003,0,0
+0.1,0.002714512254107723,0.0002583199948759298,0.00002716775101634493
+0.2,0.002456192259233351,0.0004452321211338257,0.00009857561963282264
+0.3,0.002222454662044366,0.0005760197537705389,0.0002015255841850931
+0.4,0.002010960138106317,0.0006629732457590778,0.0003260666161346042
+0.5,0.001819591979136014,0.0007159536556367538,0.0004644543652272303
+0.6,0.00164643490828194,0.0007428522725419034,0.0006107128191761555
+0.7,0.001489755911370701,0.0007499650195678912,0.0007602790690614066
+0.8,0.001347986892348898,0.0007422973383771304,0.0009097157692739688
+0.9,0.00121970897922062,0.000723812314554972,0.001056478706224405
+1.,0.001103638323514569,0.0006976324737944654,0.001198729202690962
+1.1,0.000998613251091493,0.0006662037760094873,0.001335182972899017
+1.2,0.0009035826357341084,0.0006314287758680276,0.001464988588397861
+1.3,0.0008175953791015886,0.0005947746444508134,0.001587629976447595
+1.4,0.0007397908918253121,0.0005573607039383695,0.001702848404236316
+1.5,0.0006693904804431175,0.0005200292753378421,0.001810580244219037
+1.6,0.0006056895539819219,0.0004834029420442362,0.001910907503973839
+1.7,0.0005480505721587562,0.0004479307622674452,0.002004018665573796
+1.8,0.0004958966646648792,0.0004139254973145624,0.002090177838020554
+1.9,0.0004487058576668212,0.0003815935420931737,0.002169700600240001
+2.,0.0004060058497106896,0.0003510589330352242,0.002242935217254082
+2.1,0.0003673692847572785,0.0003223825542921479,0.002310248160950569
+2.2,0.0003324094750865654,0.0002955774553717047,0.002372013069541726
+2.3,0.0003007765311695708,0.0002706210239279341,0.002428602444902491
+2.4,0.000272153859869162,0.0002474646187151608,0.002480381521415673
+2.5,0.0002462549958717734,0.0002260411548691852,0.002527703849259037
+2.6,0.0002228207346423269,0.0002062710413760337,0.002570908223981633
+2.7,0.0002016165382182421,0.0001880667953871132,0.002610316666394639
+2.8,0.0001824301878760485,0.0001713365967221431,0.002646233215401803
+2.9,0.0001650696601696204,0.0001559869959293318,0.002678943343901043
+3.,0.0001493612051039878,0.0001419249485701647,0.002708713846325842
+3.1,0.0001351476071810623,0.0001290593152687036,0.002735793077550228
+3.2,0.0001222866119349456,0.0001173019401125686,0.00276041144795248
+3.3,0.0001106495022042718,0.0001065683980885302,0.002782782099707191
+3.4,0.0001001198098820659,0.00009677848443539212,0.002803101705682536
+3.5,0.00009059215026785384,0.00008785650436839633,0.002821551345363743
+3.6,0.00008197116734315366,0.00007973140991521727,0.002838297422741622
+3.7,0.00007417057941255374,0.00007233682112645839,0.00285349259946098
+3.8,0.00006711231557018678,0.00006561096126733011,0.002867276723162476
+3.9,0.00006072573433916418,0.00005949652939990481,0.002879777736260924
+4.,0.00005494691666793375,0.00005394052878214234,0.002891112554549917
+4.1,0.00004971802620693676,0.00004889406549517538,0.002901387908297879
+4.2,0.00004498673046297292,0.00004431212848882035,0.002910701141048199
+4.3,0.00004070567703801142,0.00004015335965560451,0.002919140963306377
+4.4,0.00003683201971047706,0.00003637982048397786,0.002926788159805538
+4.5,0.00003332698961586456,0.00003295676020256175,0.002933716250181567
+4.6,0.00003015550723491267,0.00002985238902850772,0.002939992103736573
+4.7,0.00002728583130598542,0.00002703765910855144,0.002945676509585458
+4.8,0.00002468924114785753,0.00002448605493773273,0.002950824703914405
+4.9,0.00002233974921348396,0.00002217339441463122,0.002955486856371879
+5.,0.00002021384099846521,0.00002007764120864467,0.002959708517792885
diff --git a/models/sbml-test-suite/cases/semantic/00133/00133-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00133/00133-sbml-l2v4.xml
new file mode 100644
index 0000000..a9fb0dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00133/00133-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00133" id="case00133" name="case00133">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.003" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00133/00133-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00133/00133-sbml-l3v1.xml
new file mode 100644
index 0000000..970b6ef
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00133/00133-sbml-l3v1.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00133" id="case00133" name="case00133" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.003" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="2"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00133/00133-settings.txt b/models/sbml-test-suite/cases/semantic/00133/00133-settings.txt
new file mode 100644
index 0000000..4544040
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00133/00133-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00134/00134-results.csv b/models/sbml-test-suite/cases/semantic/00134/00134-results.csv
new file mode 100644
index 0000000..fa8a42f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00134/00134-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.003,0,0
+0.1,0.002456192257103839,0.0005166399937139673,0.00002716774918219068
+0.2,0.002010960109584259,0.0008904642949303505,0.00009857559548538686
+0.3,0.001646434892106387,0.001152039537134158,0.0002015255707594512
+0.4,0.001347986885622179,0.00132594650370581,0.0003260666106720065
+0.5,0.001103638300955732,0.00143190735166926,0.0004644543473750038
+0.6,0.0009035826286300819,0.001485704557704674,0.0006107128136652399
+0.7,0.0007397908483764976,0.001499930115110866,0.0007602790365126328
+0.8,0.0006056894901737906,0.001484594786523826,0.0009097157233023801
+0.9,0.0004958966323275653,0.001447624683934783,0.001056478683737648
+1.,0.0004060058338632938,0.001395264973858635,0.001198729192278067
+1.1,0.0003324094352825606,0.001332407616714266,0.00133518294800317
+1.2,0.0002721538596383365,0.001262857552102437,0.001464988588259223
+1.3,0.0002228207099778215,0.001189549326892355,0.001587629963129821
+1.4,0.0001824301775308249,0.001114721423394465,0.001702848399074708
+1.5,0.000149361198049094,0.001040058560799869,0.001810580241151034
+1.6,0.0001222865977214699,0.000966805903753773,0.001910907498524755
+1.7,0.0001001198098810039,0.0008958615245541648,0.002004018665564829
+1.8,0.00008197115789478445,0.0008278510063739391,0.002090177835731274
+1.9,0.00006711231233544052,0.0007631870879906924,0.002169700599673864
+2.,0.00005494691361199443,0.0007021178693478264,0.002242935217040177
+2.1,0.00004498672542998452,0.0006447651135424704,0.002310248161027543
+2.2,0.00003683201967232173,0.0005911549107868622,0.002372013069540814
+2.3,0.00003015550364673762,0.0005412420505603828,0.002428602445792877
+2.4,0.00002468924016515498,0.0004949292380679929,0.00248038152176685
+2.5,0.00002021383970473442,0.0004520823103483117,0.002527703849946951
+2.6,0.00001654969149759228,0.0004125420833348748,0.00257090822516753
+2.7,0.00001354974277866088,0.0003761335907881417,0.002610316666433195
+2.8,0.0000110935897985995,0.0003426731933727582,0.002646233216828639
+2.9,9.082663948524427e-6,0.0003119739917955835,0.002678943344255889
+3.,7.436255993355122e-6,0.0002838498968622304,0.002708713847144412
+3.1,6.088291296062331e-6,0.0002581186300779949,0.00273579307862594
+3.2,4.984671781344166e-6,0.0002346038801886113,0.002760411448030041
+3.3,4.081103608004648e-6,0.0002131367954795862,0.002782782100912406
+3.4,3.341325363212455e-6,0.0001935569687383372,0.002803101705898448
+3.5,2.735645677464542e-6,0.0001757130082649453,0.002821551346057588
+3.6,2.239757214597225e-6,0.0001594628192973124,0.002838297423488088
+3.7,1.833758259778576e-6,0.0001446736421813784,0.002853492599558841
+3.8,1.501354113277519e-6,0.0001312219218650862,0.002867276724021634
+3.9,1.229204915936419e-6,0.0001189930587148886,0.002879777736369172
+4.,1.006387795439265e-6,0.0001078810571351216,0.002891112555069437
+4.1,8.239606384440344e-7,0.00009778813059827178,0.002901387908763281
+4.2,6.74601959669936e-7,0.00008862425689481752,0.00291070114114551
+4.3,5.523173122122162e-7,0.00008030671881537588,0.002919140963872409
+4.4,4.521992203054076e-7,0.00007275964092773593,0.002926788159851956
+4.5,3.702293771616393e-7,0.0000659135200778675,0.002933716250544969
+4.6,3.031181815682691e-7,0.000059704777809157,0.002939992104009272
+4.7,2.48172190203432e-7,0.00005407531813976632,0.002945676509670028
+4.8,2.03186184369645e-7,0.00004897210954456711,0.002950824704271061
+4.9,1.663547972910194e-7,0.00004434678881429255,0.002955486856388414
+5.,1.361997892895408e-7,0.00004015528241593427,0.002959708517794773
diff --git a/models/sbml-test-suite/cases/semantic/00134/00134-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00134/00134-sbml-l2v4.xml
new file mode 100644
index 0000000..a3b175b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00134/00134-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00134" id="case00134" name="case00134">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.003" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="S1" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00134/00134-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00134/00134-sbml-l3v1.xml
new file mode 100644
index 0000000..b590347
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00134/00134-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00134" id="case00134" name="case00134" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.003" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="S1" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00134/00134-settings.txt b/models/sbml-test-suite/cases/semantic/00134/00134-settings.txt
new file mode 100644
index 0000000..4544040
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00134/00134-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00135/00135-results.csv b/models/sbml-test-suite/cases/semantic/00135/00135-results.csv
new file mode 100644
index 0000000..4bf82c8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00135/00135-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.001125,0.0015
+0.004,0.0009210720972009006,0.001703927902799099
+0.008,0.0007541100501825257,0.001870889949817474
+0.012,0.0006174130814924056,0.002007586918507594
+0.016,0.0005054950743806021,0.002119504925619397
+0.02,0.0004138643481875394,0.00221113565181246
+0.024,0.0003388434882712148,0.002286156511728786
+0.028,0.0002774215839658503,0.002347578416034151
+0.032,0.0002271335827333935,0.002397866417266608
+0.036,0.0001859612467957158,0.002439038753204286
+0.04,0.0001522521910771578,0.002472747808922843
+0.044,0.0001246535449362991,0.002500346455063701
+0.048,0.0001020576913240233,0.002522942308675977
+0.052,0.00008355777409817264,0.002541442225901828
+0.056,0.0000684113200363408,0.00255658867996366
+0.06,0.00005601044570491372,0.002568989554295087
+0.064,0.0000458574794664848,0.002579142520533516
+0.068,0.00003754492459037428,0.002587455075409627
+0.072,0.00003073918757984475,0.002594260812420156
+0.076,0.0000251671157136834,0.002599832884286318
+0.08,0.00002060509340414687,0.002604394906595855
+0.084,0.0000168700223166791,0.002608129977683323
+0.088,0.000013812006956085,0.002611187993043917
+0.092,0.00001130831427452763,0.002613691685725474
+0.096,9.258464986612653e-6,0.002615741535013389
+0.1,7.580189856284953e-6,0.002617419810143717
+0.104,6.206134573408182e-6,0.002618793865426593
+0.108,5.081153295145938e-6,0.002619918846704855
+0.112,4.160096349226785e-6,0.002620839903650775
+0.116,3.405998966160306e-6,0.002621594001033842
+0.12,2.788595940031731e-6,0.002622211404059971
+0.124,2.283109418130245e-6,0.002622716890581872
+0.128,1.869251740425161e-6,0.002623130748259577
+0.132,1.530414028867102e-6,0.002623469585971135
+0.136,1.252996904969885e-6,0.002623747003095033
+0.14,1.025867209891834e-6,0.002623974132790111
+0.144,8.399089412524498e-7,0.00262416009105875
+0.148,6.876593557942636e-7,0.002624312340644208
+0.152,5.630078013212072e-7,0.002624436992198681
+0.156,4.609518479357258e-7,0.002624539048152066
+0.16,3.773954175926709e-7,0.002624622604582409
+0.164,3.089852602255036e-7,0.002624691014739776
+0.168,2.529757161559067e-7,0.002624747024283846
+0.172,2.071190107154452e-7,0.002624792880989286
+0.176,1.695746958683272e-7,0.002624830425304134
+0.18,1.38836022498496e-7,0.002624861163977503
+0.184,1.136693196491151e-7,0.002624886330680353
+0.188,9.306456746647762e-8,0.002624906935432535
+0.192,7.619482481612759e-8,0.002624923805175186
+0.196,6.238304421582976e-8,0.002624937616955786
+0.2,5.107492098323102e-8,0.002624948925079018
diff --git a/models/sbml-test-suite/cases/semantic/00135/00135-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00135/00135-sbml-l2v4.xml
new file mode 100644
index 0000000..318f8b7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00135/00135-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00135" id="case00135" name="case00135">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001125" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00135/00135-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00135/00135-sbml-l3v1.xml
new file mode 100644
index 0000000..39b27f5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00135/00135-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00135" id="case00135" name="case00135" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00135/00135-settings.txt b/models/sbml-test-suite/cases/semantic/00135/00135-settings.txt
new file mode 100644
index 0000000..dfedf1f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00135/00135-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00136/00136-results.csv b/models/sbml-test-suite/cases/semantic/00136/00136-results.csv
new file mode 100644
index 0000000..1b5a704
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00136/00136-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,1.5
+0.2,0.904837,1.59516
+0.4,0.818731,1.68127
+0.6,0.740818,1.75918
+0.8,0.67032,1.82968
+1,0.606531,1.89347
+1.2,0.548812,1.95119
+1.4,0.496585,2.00341
+1.6,0.449329,2.05067
+1.8,0.40657,2.09343
+2,0.367879,2.13212
+2.2,0.332871,2.16713
+2.4,0.301194,2.19881
+2.6,0.272532,2.22747
+2.8,0.246597,2.2534
+3,0.22313,2.27687
+3.2,0.201897,2.2981
+3.4,0.182684,2.31732
+3.6,0.165299,2.3347
+3.8,0.149569,2.35043
+4,0.135335,2.36466
+4.2,0.122456,2.37754
+4.4,0.110803,2.3892
+4.6,0.100259,2.39974
+4.8,0.090718,2.40928
+5,0.082085,2.41792
+5.2,0.0742736,2.42573
+5.4,0.0672055,2.43279
+5.6,0.0608101,2.43919
+5.8,0.0550232,2.44498
+6,0.0497871,2.45021
+6.2,0.0450492,2.45495
+6.4,0.0407622,2.45924
+6.6,0.0368832,2.46312
+6.8,0.0333733,2.46663
+7,0.0301974,2.4698
+7.2,0.0273237,2.47268
+7.4,0.0247235,2.47528
+7.6,0.0223708,2.47763
+7.8,0.0202419,2.47976
+8,0.0183156,2.48168
+8.2,0.0165727,2.48343
+8.4,0.0149956,2.485
+8.6,0.0135686,2.48643
+8.8,0.0122773,2.48772
+9,0.011109,2.48889
+9.2,0.0100518,2.48995
+9.4,0.00909528,2.4909
+9.6,0.00822975,2.49177
+9.8,0.00744658,2.49255
+10,0.00673795,2.49326
diff --git a/models/sbml-test-suite/cases/semantic/00136/00136-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00136/00136-sbml-l2v4.xml
new file mode 100644
index 0000000..be692c5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00136/00136-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00136" id="case00136" name="case00136">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 100 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00136/00136-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00136/00136-sbml-l3v1.xml
new file mode 100644
index 0000000..4a50a50
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00136/00136-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00136" id="case00136" name="case00136" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 100 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00136/00136-settings.txt b/models/sbml-test-suite/cases/semantic/00136/00136-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00136/00136-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00137/00137-results.csv b/models/sbml-test-suite/cases/semantic/00137/00137-results.csv
new file mode 100644
index 0000000..fb931c1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00137/00137-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5e-15,1.125e-15
+0.004,0.8187307530723747,0.1812692469276268,0.1359519351957201
+0.008,0.6703200430580986,0.329679956941903,0.2472599677064272
+0.012,0.5488116293468805,0.451188370653121,0.3383912779898408
+0.016,0.4493289546252374,0.5506710453747641,0.4130032840310731
+0.02,0.3678794359139681,0.6321205640860333,0.4740904230645249
+0.024,0.3011942094467193,0.6988057905532822,0.5241043429149616
+0.028,0.2465969626674991,0.7534030373325025,0.5650522779993769
+0.032,0.2018964935291754,0.7981035064708261,0.5985776298531195
+0.036,0.1652988849678202,0.8347011150321813,0.6260258362741359
+0.04,0.1353352714954645,0.864664728504537,0.6484985463784027
+0.044,0.1108031494985982,0.8891968505014032,0.6668976378760525
+0.048,0.09071795082690521,0.9092820491730961,0.6819615368798221
+0.052,0.07427356932635879,0.9257264306736424,0.6942948230052318
+0.056,0.06081006253263057,0.9391899374673706,0.704392453100528
+0.06,0.0497870629171926,0.9502129370828087,0.7126597028121065
+0.064,0.04076220197461959,0.9592377980253817,0.7194283485190363
+0.068,0.03337326805451652,0.9666267319454848,0.7249700489591136
+0.072,0.02732371957386455,0.9726762804261367,0.7295072103196025
+0.076,0.02237077174195353,0.9776292282580476,0.7332219211935358
+0.08,0.01831563666972636,0.9816843633302748,0.7362632724977061
+0.084,0.01499557652386406,0.9850044234761372,0.7387533176071029
+0.088,0.01227733883928211,0.9877226611607191,0.7407919958705393
+0.092,0.01005183493943785,0.9899481650605633,0.7424611237954225
+0.096,0.008229746826545095,0.9917702531734561,0.743827689880092
+0.1,0.006737946192598444,0.9932620538074027,0.744946540355552
+0.104,0.005516564412195571,0.9944834355878056,0.7458625766908542
+0.108,0.00451658044847067,0.9954834195515304,0.7466125646636477
+0.112,0.003697863534266975,0.9963021364657341,0.7472266023493006
+0.116,0.003027554572863586,0.9969724454271375,0.7477293340703532
+0.12,0.002478751915807851,0.9975212480841935,0.7481409360631451
+0.124,0.002029430626058564,0.9979705693739428,0.7484779270304571
+0.128,0.001661557071911287,0.9983384429280901,0.7487538321960676
+0.132,0.001360368010508971,0.9986396319894924,0.7489797239921193
+0.136,0.00111377505146256,0.9988862249485388,0.7491646687114041
+0.14,0.0009118818924094849,0.9990881181075919,0.7493160885806939
+0.144,0.0007465857882774603,0.9992534142117238,0.7494400606587928
+0.148,0.0006112526879497787,0.9993887473120517,0.7495415604840387
+0.152,0.0005004514326483704,0.9994995485673531,0.7496246614255148
+0.156,0.0004097349341824022,0.999590265065819,0.7496926987993642
+0.16,0.0003354626113323167,0.9996645373886691,0.7497484030415018
+0.164,0.0002746535543565629,0.9997253464456448,0.7497940098342336
+0.168,0.0002248673004973711,0.9997751326995039,0.7498313495246279
+0.172,0.0001841057927500737,0.999815894207251,0.7498619206554382
+0.176,0.0001507330568411096,0.99984926694316,0.7498869502073699
+0.18,0.0001234098016218831,0.9998765901983791,0.7499074426487843
+0.184,0.0001010393931045971,0.9998989606068964,0.7499242204551723
+0.188,0.00008272405891206208,0.9999172759410889,0.7499379569558166
+0.192,0.00006772873467503825,0.999932271265326,0.7499492034489945
+0.196,0.00005545159279193006,0.999944548407209,0.7499584113054067
+0.2,0.0000453999297631575,0.9999546000702378,0.7499659500526784
diff --git a/models/sbml-test-suite/cases/semantic/00137/00137-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00137/00137-sbml-l1v2.xml
new file mode 100644
index 0000000..3ee5cd6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00137/00137-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00137">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * S2" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00137/00137-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00137/00137-sbml-l2v4.xml
new file mode 100644
index 0000000..1ad99fe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00137/00137-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00137" id="case00137" name="case00137">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00137/00137-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00137/00137-sbml-l3v1.xml
new file mode 100644
index 0000000..702d05c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00137/00137-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00137" id="case00137" name="case00137" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00137/00137-settings.txt b/models/sbml-test-suite/cases/semantic/00137/00137-settings.txt
new file mode 100644
index 0000000..4bd389f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00137/00137-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00138/00138-results.csv b/models/sbml-test-suite/cases/semantic/00138/00138-results.csv
new file mode 100644
index 0000000..fb931c1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00138/00138-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5e-15,1.125e-15
+0.004,0.8187307530723747,0.1812692469276268,0.1359519351957201
+0.008,0.6703200430580986,0.329679956941903,0.2472599677064272
+0.012,0.5488116293468805,0.451188370653121,0.3383912779898408
+0.016,0.4493289546252374,0.5506710453747641,0.4130032840310731
+0.02,0.3678794359139681,0.6321205640860333,0.4740904230645249
+0.024,0.3011942094467193,0.6988057905532822,0.5241043429149616
+0.028,0.2465969626674991,0.7534030373325025,0.5650522779993769
+0.032,0.2018964935291754,0.7981035064708261,0.5985776298531195
+0.036,0.1652988849678202,0.8347011150321813,0.6260258362741359
+0.04,0.1353352714954645,0.864664728504537,0.6484985463784027
+0.044,0.1108031494985982,0.8891968505014032,0.6668976378760525
+0.048,0.09071795082690521,0.9092820491730961,0.6819615368798221
+0.052,0.07427356932635879,0.9257264306736424,0.6942948230052318
+0.056,0.06081006253263057,0.9391899374673706,0.704392453100528
+0.06,0.0497870629171926,0.9502129370828087,0.7126597028121065
+0.064,0.04076220197461959,0.9592377980253817,0.7194283485190363
+0.068,0.03337326805451652,0.9666267319454848,0.7249700489591136
+0.072,0.02732371957386455,0.9726762804261367,0.7295072103196025
+0.076,0.02237077174195353,0.9776292282580476,0.7332219211935358
+0.08,0.01831563666972636,0.9816843633302748,0.7362632724977061
+0.084,0.01499557652386406,0.9850044234761372,0.7387533176071029
+0.088,0.01227733883928211,0.9877226611607191,0.7407919958705393
+0.092,0.01005183493943785,0.9899481650605633,0.7424611237954225
+0.096,0.008229746826545095,0.9917702531734561,0.743827689880092
+0.1,0.006737946192598444,0.9932620538074027,0.744946540355552
+0.104,0.005516564412195571,0.9944834355878056,0.7458625766908542
+0.108,0.00451658044847067,0.9954834195515304,0.7466125646636477
+0.112,0.003697863534266975,0.9963021364657341,0.7472266023493006
+0.116,0.003027554572863586,0.9969724454271375,0.7477293340703532
+0.12,0.002478751915807851,0.9975212480841935,0.7481409360631451
+0.124,0.002029430626058564,0.9979705693739428,0.7484779270304571
+0.128,0.001661557071911287,0.9983384429280901,0.7487538321960676
+0.132,0.001360368010508971,0.9986396319894924,0.7489797239921193
+0.136,0.00111377505146256,0.9988862249485388,0.7491646687114041
+0.14,0.0009118818924094849,0.9990881181075919,0.7493160885806939
+0.144,0.0007465857882774603,0.9992534142117238,0.7494400606587928
+0.148,0.0006112526879497787,0.9993887473120517,0.7495415604840387
+0.152,0.0005004514326483704,0.9994995485673531,0.7496246614255148
+0.156,0.0004097349341824022,0.999590265065819,0.7496926987993642
+0.16,0.0003354626113323167,0.9996645373886691,0.7497484030415018
+0.164,0.0002746535543565629,0.9997253464456448,0.7497940098342336
+0.168,0.0002248673004973711,0.9997751326995039,0.7498313495246279
+0.172,0.0001841057927500737,0.999815894207251,0.7498619206554382
+0.176,0.0001507330568411096,0.99984926694316,0.7498869502073699
+0.18,0.0001234098016218831,0.9998765901983791,0.7499074426487843
+0.184,0.0001010393931045971,0.9998989606068964,0.7499242204551723
+0.188,0.00008272405891206208,0.9999172759410889,0.7499379569558166
+0.192,0.00006772873467503825,0.999932271265326,0.7499492034489945
+0.196,0.00005545159279193006,0.999944548407209,0.7499584113054067
+0.2,0.0000453999297631575,0.9999546000702378,0.7499659500526784
diff --git a/models/sbml-test-suite/cases/semantic/00138/00138-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00138/00138-sbml-l1v2.xml
new file mode 100644
index 0000000..c8eb7e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00138/00138-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00138">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1.125e-015" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * S2" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00138/00138-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00138/00138-sbml-l2v4.xml
new file mode 100644
index 0000000..f79fe63
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00138/00138-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00138" id="case00138" name="case00138">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.125e-015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00138/00138-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00138/00138-sbml-l3v1.xml
new file mode 100644
index 0000000..209b442
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00138/00138-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00138" id="case00138" name="case00138" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.125e-015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00138/00138-settings.txt b/models/sbml-test-suite/cases/semantic/00138/00138-settings.txt
new file mode 100644
index 0000000..4bd389f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00138/00138-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00139/00139-results.csv b/models/sbml-test-suite/cases/semantic/00139/00139-results.csv
new file mode 100644
index 0000000..8e35840
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00139/00139-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5,1.125
+0.004,0.8187307530676618,1.681269246932338,1.125
+0.008,0.6703200445963148,1.829679955403685,1.125
+0.012,0.5488116278801775,1.951188372119822,1.125
+0.016,0.449328955000974,2.050671044999026,1.125
+0.02,0.3678794218130604,2.13212057818694,1.125
+0.024,0.301194211796878,2.198805788203122,1.125
+0.028,0.2465969634863038,2.253403036513695,1.125
+0.032,0.201896517961193,2.298103482038806,1.125
+0.036,0.1652988856791528,2.334701114320846,1.125
+0.04,0.1353352813111232,2.364664718688876,1.125
+0.044,0.1108031508117612,2.389196849188238,1.125
+0.048,0.09071794825997922,2.40928205174002,1.125
+0.052,0.07427357734076378,2.425726422659235,1.125
+0.056,0.06081006203147329,2.439189937968526,1.125
+0.06,0.04978706286010512,2.450212937139894,1.125
+0.064,0.04076220391907791,2.459237796080921,1.125
+0.068,0.03337326635776841,2.466626733642231,1.125
+0.072,0.02732372220719369,2.472676277792806,1.125
+0.076,0.0223707695813303,2.477629230418668,1.125
+0.08,0.01831563851174824,2.48168436148825,1.125
+0.084,0.01499557543805677,2.485004424561941,1.125
+0.088,0.01227733947218062,2.487722660527817,1.125
+0.092,0.01005183494073134,2.489948165059266,1.125
+0.096,0.008229746630965678,2.491770253369032,1.125
+0.1,0.00673794655601583,2.493262053443981,1.125
+0.104,0.005516564054622322,2.494483435945375,1.125
+0.108,0.004516580714880022,2.495483419285117,1.125
+0.112,0.003697863418041411,2.496302136581956,1.125
+0.116,0.003027554639312844,2.496972445360684,1.125
+0.12,0.002478751946381971,2.497521248053615,1.125
+0.124,0.002029430594024159,2.497970569405973,1.125
+0.128,0.001661557103258304,2.498338442896739,1.125
+0.132,0.001360368025002953,2.498639631974994,1.125
+0.136,0.00111377502723757,2.49888622497276,1.125
+0.14,0.0009118819639233941,2.499088118036074,1.125
+0.144,0.0007465857257485878,2.499253414274249,1.125
+0.148,0.0006112527609588556,2.499388747239039,1.125
+0.152,0.0005004513787313287,2.499499548621266,1.125
+0.156,0.0004097349767031332,2.499590265023294,1.125
+0.16,0.0003354625929110364,2.499664537407086,1.125
+0.164,0.0002746535655855185,2.499725346434412,1.125
+0.168,0.0002248673026109955,2.499775132697386,1.125
+0.172,0.0001841057881992628,2.499815894211798,1.125
+0.176,0.0001507330623439277,2.499849266937653,1.125
+0.18,0.0001234097985157131,2.499876590201481,1.125
+0.184,0.0001010393946631621,2.499898960605334,1.125
+0.188,0.00008272406051884208,2.499917275939478,1.125
+0.192,0.00006772873270135953,2.499932271267296,1.125
+0.196,0.00005545159522950977,2.499944548404767,1.125
+0.2,0.00004539992976286813,2.499954600070233,1.125
diff --git a/models/sbml-test-suite/cases/semantic/00139/00139-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00139/00139-sbml-l1v2.xml
new file mode 100644
index 0000000..8b20f73
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00139/00139-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00139">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1.125" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="1" compartment="compartment"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00139/00139-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00139/00139-sbml-l2v4.xml
new file mode 100644
index 0000000..4225c8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00139/00139-sbml-l2v4.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00139" id="case00139" name="case00139">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.125" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00139/00139-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00139/00139-sbml-l3v1.xml
new file mode 100644
index 0000000..9ecbdfd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00139/00139-sbml-l3v1.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00139" id="case00139" name="case00139" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00139/00139-settings.txt b/models/sbml-test-suite/cases/semantic/00139/00139-settings.txt
new file mode 100644
index 0000000..4bd389f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00139/00139-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00140/00140-results.csv b/models/sbml-test-suite/cases/semantic/00140/00140-results.csv
new file mode 100644
index 0000000..8e35840
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00140/00140-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5,1.125
+0.004,0.8187307530676618,1.681269246932338,1.125
+0.008,0.6703200445963148,1.829679955403685,1.125
+0.012,0.5488116278801775,1.951188372119822,1.125
+0.016,0.449328955000974,2.050671044999026,1.125
+0.02,0.3678794218130604,2.13212057818694,1.125
+0.024,0.301194211796878,2.198805788203122,1.125
+0.028,0.2465969634863038,2.253403036513695,1.125
+0.032,0.201896517961193,2.298103482038806,1.125
+0.036,0.1652988856791528,2.334701114320846,1.125
+0.04,0.1353352813111232,2.364664718688876,1.125
+0.044,0.1108031508117612,2.389196849188238,1.125
+0.048,0.09071794825997922,2.40928205174002,1.125
+0.052,0.07427357734076378,2.425726422659235,1.125
+0.056,0.06081006203147329,2.439189937968526,1.125
+0.06,0.04978706286010512,2.450212937139894,1.125
+0.064,0.04076220391907791,2.459237796080921,1.125
+0.068,0.03337326635776841,2.466626733642231,1.125
+0.072,0.02732372220719369,2.472676277792806,1.125
+0.076,0.0223707695813303,2.477629230418668,1.125
+0.08,0.01831563851174824,2.48168436148825,1.125
+0.084,0.01499557543805677,2.485004424561941,1.125
+0.088,0.01227733947218062,2.487722660527817,1.125
+0.092,0.01005183494073134,2.489948165059266,1.125
+0.096,0.008229746630965678,2.491770253369032,1.125
+0.1,0.00673794655601583,2.493262053443981,1.125
+0.104,0.005516564054622322,2.494483435945375,1.125
+0.108,0.004516580714880022,2.495483419285117,1.125
+0.112,0.003697863418041411,2.496302136581956,1.125
+0.116,0.003027554639312844,2.496972445360684,1.125
+0.12,0.002478751946381971,2.497521248053615,1.125
+0.124,0.002029430594024159,2.497970569405973,1.125
+0.128,0.001661557103258304,2.498338442896739,1.125
+0.132,0.001360368025002953,2.498639631974994,1.125
+0.136,0.00111377502723757,2.49888622497276,1.125
+0.14,0.0009118819639233941,2.499088118036074,1.125
+0.144,0.0007465857257485878,2.499253414274249,1.125
+0.148,0.0006112527609588556,2.499388747239039,1.125
+0.152,0.0005004513787313287,2.499499548621266,1.125
+0.156,0.0004097349767031332,2.499590265023294,1.125
+0.16,0.0003354625929110364,2.499664537407086,1.125
+0.164,0.0002746535655855185,2.499725346434412,1.125
+0.168,0.0002248673026109955,2.499775132697386,1.125
+0.172,0.0001841057881992628,2.499815894211798,1.125
+0.176,0.0001507330623439277,2.499849266937653,1.125
+0.18,0.0001234097985157131,2.499876590201481,1.125
+0.184,0.0001010393946631621,2.499898960605334,1.125
+0.188,0.00008272406051884208,2.499917275939478,1.125
+0.192,0.00006772873270135953,2.499932271267296,1.125
+0.196,0.00005545159522950977,2.499944548404767,1.125
+0.2,0.00004539992976286813,2.499954600070233,1.125
diff --git a/models/sbml-test-suite/cases/semantic/00140/00140-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00140/00140-sbml-l1v2.xml
new file mode 100644
index 0000000..7ffa078
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00140/00140-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00140">
+    <listOfCompartments>
+      <compartment name="compartment" volume="5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1.125" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="1" compartment="compartment"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00140/00140-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00140/00140-sbml-l2v4.xml
new file mode 100644
index 0000000..43aaace
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00140/00140-sbml-l2v4.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00140" id="case00140" name="case00140">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.125" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00140/00140-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00140/00140-sbml-l3v1.xml
new file mode 100644
index 0000000..3205463
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00140/00140-sbml-l3v1.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00140" id="case00140" name="case00140" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00140/00140-settings.txt b/models/sbml-test-suite/cases/semantic/00140/00140-settings.txt
new file mode 100644
index 0000000..4bd389f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00140/00140-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00141/00141-results.csv b/models/sbml-test-suite/cases/semantic/00141/00141-results.csv
new file mode 100644
index 0000000..8e35840
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00141/00141-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5,1.125
+0.004,0.8187307530676618,1.681269246932338,1.125
+0.008,0.6703200445963148,1.829679955403685,1.125
+0.012,0.5488116278801775,1.951188372119822,1.125
+0.016,0.449328955000974,2.050671044999026,1.125
+0.02,0.3678794218130604,2.13212057818694,1.125
+0.024,0.301194211796878,2.198805788203122,1.125
+0.028,0.2465969634863038,2.253403036513695,1.125
+0.032,0.201896517961193,2.298103482038806,1.125
+0.036,0.1652988856791528,2.334701114320846,1.125
+0.04,0.1353352813111232,2.364664718688876,1.125
+0.044,0.1108031508117612,2.389196849188238,1.125
+0.048,0.09071794825997922,2.40928205174002,1.125
+0.052,0.07427357734076378,2.425726422659235,1.125
+0.056,0.06081006203147329,2.439189937968526,1.125
+0.06,0.04978706286010512,2.450212937139894,1.125
+0.064,0.04076220391907791,2.459237796080921,1.125
+0.068,0.03337326635776841,2.466626733642231,1.125
+0.072,0.02732372220719369,2.472676277792806,1.125
+0.076,0.0223707695813303,2.477629230418668,1.125
+0.08,0.01831563851174824,2.48168436148825,1.125
+0.084,0.01499557543805677,2.485004424561941,1.125
+0.088,0.01227733947218062,2.487722660527817,1.125
+0.092,0.01005183494073134,2.489948165059266,1.125
+0.096,0.008229746630965678,2.491770253369032,1.125
+0.1,0.00673794655601583,2.493262053443981,1.125
+0.104,0.005516564054622322,2.494483435945375,1.125
+0.108,0.004516580714880022,2.495483419285117,1.125
+0.112,0.003697863418041411,2.496302136581956,1.125
+0.116,0.003027554639312844,2.496972445360684,1.125
+0.12,0.002478751946381971,2.497521248053615,1.125
+0.124,0.002029430594024159,2.497970569405973,1.125
+0.128,0.001661557103258304,2.498338442896739,1.125
+0.132,0.001360368025002953,2.498639631974994,1.125
+0.136,0.00111377502723757,2.49888622497276,1.125
+0.14,0.0009118819639233941,2.499088118036074,1.125
+0.144,0.0007465857257485878,2.499253414274249,1.125
+0.148,0.0006112527609588556,2.499388747239039,1.125
+0.152,0.0005004513787313287,2.499499548621266,1.125
+0.156,0.0004097349767031332,2.499590265023294,1.125
+0.16,0.0003354625929110364,2.499664537407086,1.125
+0.164,0.0002746535655855185,2.499725346434412,1.125
+0.168,0.0002248673026109955,2.499775132697386,1.125
+0.172,0.0001841057881992628,2.499815894211798,1.125
+0.176,0.0001507330623439277,2.499849266937653,1.125
+0.18,0.0001234097985157131,2.499876590201481,1.125
+0.184,0.0001010393946631621,2.499898960605334,1.125
+0.188,0.00008272406051884208,2.499917275939478,1.125
+0.192,0.00006772873270135953,2.499932271267296,1.125
+0.196,0.00005545159522950977,2.499944548404767,1.125
+0.2,0.00004539992976286813,2.499954600070233,1.125
diff --git a/models/sbml-test-suite/cases/semantic/00141/00141-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00141/00141-sbml-l1v2.xml
new file mode 100644
index 0000000..e46f36d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00141/00141-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00141">
+    <listOfCompartments>
+      <compartment name="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1.125" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="1" compartment="compartment"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00141/00141-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00141/00141-sbml-l2v4.xml
new file mode 100644
index 0000000..3dfd63a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00141/00141-sbml-l2v4.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00141" id="case00141" name="case00141">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.125" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00141/00141-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00141/00141-sbml-l3v1.xml
new file mode 100644
index 0000000..a4b187b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00141/00141-sbml-l3v1.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00141" id="case00141" name="case00141" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00141/00141-settings.txt b/models/sbml-test-suite/cases/semantic/00141/00141-settings.txt
new file mode 100644
index 0000000..4bd389f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00141/00141-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00142/00142-results.csv b/models/sbml-test-suite/cases/semantic/00142/00142-results.csv
new file mode 100644
index 0000000..dbc8f14
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00142/00142-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.00001,0.000015,0.00001
+0.004,0.00001171804228248603,0.00001671804228248603,8.281957717513968e-6
+0.008,0.00001310095331391059,0.00001810095331391059,6.899046686089409e-6
+0.012,0.00001421224595408018,0.00001921224595408016,5.787754045919824e-6
+0.016,0.00001510406942054186,0.00002010406942054185,4.895930579458139e-6
+0.02,0.00001581899521073821,0.00002081899521073819,4.181004789261788e-6
+0.024,0.00001639161625397317,0.00002139161625397316,3.608383746026822e-6
+0.028,0.00001684994070619628,0.00002184994070619626,3.150059293803723e-6
+0.032,0.00001721657888961542,0.00002221657888961541,2.783421110384575e-6
+0.036,0.00001750974236591257,0.00002250974236591255,2.490257634087424e-6
+0.04,0.00001774407237374435,0.00002274407237374433,2.255927626255648e-6
+0.044,0.00001793132279600444,0.00002293132279600443,2.068677203995551e-6
+0.048,0.00001808091853068592,0.0000230809185306859,1.919081469314072e-6
+0.052,0.00001820041012930617,0.00002320041012930616,1.799589870693818e-6
+0.056,0.00001829584172383535,0.00002329584172383534,1.704158276164635e-6
+0.06,0.00001837204915327158,0.00002337204915327156,1.627950846728408e-6
+0.064,0.00001843289934718111,0.0000234328993471811,1.567100652818871e-6
+0.068,0.00001848148358139371,0.00002348148358139369,1.518516418606279e-6
+0.072,0.00001852027204624574,0.00002352027204624573,1.479727953754242e-6
+0.076,0.00001855123833425574,0.00002355123833425572,1.448761665744252e-6
+0.08,0.00001857595898535781,0.00002357595898535779,1.424041014642179e-6
+0.084,0.00001859569312497732,0.0000235956931249773,1.404306875022668e-6
+0.088,0.00001861144620156202,0.00002361144620156201,1.388553798437966e-6
+0.092,0.00001862402108653137,0.00002362402108653136,1.375978913468616e-6
+0.096,0.00001863405884075938,0.00002363405884075937,1.365941159240609e-6
+0.1,0.00001864207127178561,0.0000236420712717856,1.357928728214386e-6
+0.104,0.00001864846695706035,0.00002364846695706034,1.351533042939646e-6
+0.108,0.00001865357208075213,0.00002365357208075212,1.346427919247867e-6
+0.112,0.00001865764704048443,0.00002365764704048442,1.342352959515569e-6
+0.116,0.00001866089970034157,0.00002366089970034156,1.339100299658429e-6
+0.12,0.00001866349598014565,0.00002366349598014564,1.336504019854347e-6
+0.124,0.0000186655683286453,0.00002366556832864529,1.334431671354699e-6
+0.128,0.00001866722247374555,0.00002366722247374554,1.332777526254452e-6
+0.132,0.0000186685428079121,0.00002366854280791209,1.331457192087897e-6
+0.136,0.00001866959669150238,0.00002366959669150236,1.330403308497626e-6
+0.14,0.00001867043789438688,0.00002367043789438687,1.329562105613121e-6
+0.144,0.00001867110933723736,0.00002367110933723734,1.328890662762643e-6
+0.148,0.00001867164527818636,0.00002367164527818635,1.32835472181364e-6
+0.152,0.00001867207306203043,0.00002367207306203041,1.327926937969573e-6
+0.156,0.00001867241451554808,0.00002367241451554807,1.327585484451914e-6
+0.16,0.00001867268706080211,0.0000236726870608021,1.327312939197885e-6
+0.164,0.0000186729046047036,0.00002367290460470359,1.327095395296398e-6
+0.168,0.00001867307824529587,0.00002367307824529585,1.326921754704132e-6
+0.172,0.00001867321684369252,0.0000236732168436925,1.326783156307481e-6
+0.176,0.00001867332747214223,0.00002367332747214221,1.326672527857771e-6
+0.18,0.00001867341577419696,0.00002367341577419694,1.326584225803042e-6
+0.184,0.00001867348625633764,0.00002367348625633763,1.326513743662354e-6
+0.188,0.00001867354251443507,0.00002367354251443506,1.326457485564932e-6
+0.192,0.00001867358741904819,0.00002367358741904818,1.32641258095181e-6
+0.196,0.00001867362326149052,0.00002367362326149051,1.326376738509479e-6
+0.2,0.00001867365187051742,0.0000236736518705174,1.326348129482583e-6
diff --git a/models/sbml-test-suite/cases/semantic/00142/00142-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00142/00142-sbml-l1v2.xml
new file mode 100644
index 0000000..1fd708e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00142/00142-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00142">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150000"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="1" compartment="compartment"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00142/00142-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00142/00142-sbml-l2v4.xml
new file mode 100644
index 0000000..8b324b9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00142/00142-sbml-l2v4.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00142" id="case00142" name="case00142">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00142/00142-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00142/00142-sbml-l3v1.xml
new file mode 100644
index 0000000..525cf9c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00142/00142-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00142" id="case00142" name="case00142" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00142/00142-settings.txt b/models/sbml-test-suite/cases/semantic/00142/00142-settings.txt
new file mode 100644
index 0000000..4792b97
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00142/00142-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00143/00143-results.csv b/models/sbml-test-suite/cases/semantic/00143/00143-results.csv
new file mode 100644
index 0000000..dbc8f14
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00143/00143-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.00001,0.000015,0.00001
+0.004,0.00001171804228248603,0.00001671804228248603,8.281957717513968e-6
+0.008,0.00001310095331391059,0.00001810095331391059,6.899046686089409e-6
+0.012,0.00001421224595408018,0.00001921224595408016,5.787754045919824e-6
+0.016,0.00001510406942054186,0.00002010406942054185,4.895930579458139e-6
+0.02,0.00001581899521073821,0.00002081899521073819,4.181004789261788e-6
+0.024,0.00001639161625397317,0.00002139161625397316,3.608383746026822e-6
+0.028,0.00001684994070619628,0.00002184994070619626,3.150059293803723e-6
+0.032,0.00001721657888961542,0.00002221657888961541,2.783421110384575e-6
+0.036,0.00001750974236591257,0.00002250974236591255,2.490257634087424e-6
+0.04,0.00001774407237374435,0.00002274407237374433,2.255927626255648e-6
+0.044,0.00001793132279600444,0.00002293132279600443,2.068677203995551e-6
+0.048,0.00001808091853068592,0.0000230809185306859,1.919081469314072e-6
+0.052,0.00001820041012930617,0.00002320041012930616,1.799589870693818e-6
+0.056,0.00001829584172383535,0.00002329584172383534,1.704158276164635e-6
+0.06,0.00001837204915327158,0.00002337204915327156,1.627950846728408e-6
+0.064,0.00001843289934718111,0.0000234328993471811,1.567100652818871e-6
+0.068,0.00001848148358139371,0.00002348148358139369,1.518516418606279e-6
+0.072,0.00001852027204624574,0.00002352027204624573,1.479727953754242e-6
+0.076,0.00001855123833425574,0.00002355123833425572,1.448761665744252e-6
+0.08,0.00001857595898535781,0.00002357595898535779,1.424041014642179e-6
+0.084,0.00001859569312497732,0.0000235956931249773,1.404306875022668e-6
+0.088,0.00001861144620156202,0.00002361144620156201,1.388553798437966e-6
+0.092,0.00001862402108653137,0.00002362402108653136,1.375978913468616e-6
+0.096,0.00001863405884075938,0.00002363405884075937,1.365941159240609e-6
+0.1,0.00001864207127178561,0.0000236420712717856,1.357928728214386e-6
+0.104,0.00001864846695706035,0.00002364846695706034,1.351533042939646e-6
+0.108,0.00001865357208075213,0.00002365357208075212,1.346427919247867e-6
+0.112,0.00001865764704048443,0.00002365764704048442,1.342352959515569e-6
+0.116,0.00001866089970034157,0.00002366089970034156,1.339100299658429e-6
+0.12,0.00001866349598014565,0.00002366349598014564,1.336504019854347e-6
+0.124,0.0000186655683286453,0.00002366556832864529,1.334431671354699e-6
+0.128,0.00001866722247374555,0.00002366722247374554,1.332777526254452e-6
+0.132,0.0000186685428079121,0.00002366854280791209,1.331457192087897e-6
+0.136,0.00001866959669150238,0.00002366959669150236,1.330403308497626e-6
+0.14,0.00001867043789438688,0.00002367043789438687,1.329562105613121e-6
+0.144,0.00001867110933723736,0.00002367110933723734,1.328890662762643e-6
+0.148,0.00001867164527818636,0.00002367164527818635,1.32835472181364e-6
+0.152,0.00001867207306203043,0.00002367207306203041,1.327926937969573e-6
+0.156,0.00001867241451554808,0.00002367241451554807,1.327585484451914e-6
+0.16,0.00001867268706080211,0.0000236726870608021,1.327312939197885e-6
+0.164,0.0000186729046047036,0.00002367290460470359,1.327095395296398e-6
+0.168,0.00001867307824529587,0.00002367307824529585,1.326921754704132e-6
+0.172,0.00001867321684369252,0.0000236732168436925,1.326783156307481e-6
+0.176,0.00001867332747214223,0.00002367332747214221,1.326672527857771e-6
+0.18,0.00001867341577419696,0.00002367341577419694,1.326584225803042e-6
+0.184,0.00001867348625633764,0.00002367348625633763,1.326513743662354e-6
+0.188,0.00001867354251443507,0.00002367354251443506,1.326457485564932e-6
+0.192,0.00001867358741904819,0.00002367358741904818,1.32641258095181e-6
+0.196,0.00001867362326149052,0.00002367362326149051,1.326376738509479e-6
+0.2,0.00001867365187051742,0.0000236736518705174,1.326348129482583e-6
diff --git a/models/sbml-test-suite/cases/semantic/00143/00143-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00143/00143-sbml-l1v2.xml
new file mode 100644
index 0000000..fcbd881
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00143/00143-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00143">
+    <listOfCompartments>
+      <compartment name="compartment" volume="5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150000"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="1" compartment="compartment"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00143/00143-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00143/00143-sbml-l2v4.xml
new file mode 100644
index 0000000..41fdbc6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00143/00143-sbml-l2v4.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00143" id="case00143" name="case00143">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00143/00143-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00143/00143-sbml-l3v1.xml
new file mode 100644
index 0000000..8da8ba9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00143/00143-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00143" id="case00143" name="case00143" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00143/00143-settings.txt b/models/sbml-test-suite/cases/semantic/00143/00143-settings.txt
new file mode 100644
index 0000000..4792b97
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00143/00143-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00144/00144-results.csv b/models/sbml-test-suite/cases/semantic/00144/00144-results.csv
new file mode 100644
index 0000000..dbc8f14
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00144/00144-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.00001,0.000015,0.00001
+0.004,0.00001171804228248603,0.00001671804228248603,8.281957717513968e-6
+0.008,0.00001310095331391059,0.00001810095331391059,6.899046686089409e-6
+0.012,0.00001421224595408018,0.00001921224595408016,5.787754045919824e-6
+0.016,0.00001510406942054186,0.00002010406942054185,4.895930579458139e-6
+0.02,0.00001581899521073821,0.00002081899521073819,4.181004789261788e-6
+0.024,0.00001639161625397317,0.00002139161625397316,3.608383746026822e-6
+0.028,0.00001684994070619628,0.00002184994070619626,3.150059293803723e-6
+0.032,0.00001721657888961542,0.00002221657888961541,2.783421110384575e-6
+0.036,0.00001750974236591257,0.00002250974236591255,2.490257634087424e-6
+0.04,0.00001774407237374435,0.00002274407237374433,2.255927626255648e-6
+0.044,0.00001793132279600444,0.00002293132279600443,2.068677203995551e-6
+0.048,0.00001808091853068592,0.0000230809185306859,1.919081469314072e-6
+0.052,0.00001820041012930617,0.00002320041012930616,1.799589870693818e-6
+0.056,0.00001829584172383535,0.00002329584172383534,1.704158276164635e-6
+0.06,0.00001837204915327158,0.00002337204915327156,1.627950846728408e-6
+0.064,0.00001843289934718111,0.0000234328993471811,1.567100652818871e-6
+0.068,0.00001848148358139371,0.00002348148358139369,1.518516418606279e-6
+0.072,0.00001852027204624574,0.00002352027204624573,1.479727953754242e-6
+0.076,0.00001855123833425574,0.00002355123833425572,1.448761665744252e-6
+0.08,0.00001857595898535781,0.00002357595898535779,1.424041014642179e-6
+0.084,0.00001859569312497732,0.0000235956931249773,1.404306875022668e-6
+0.088,0.00001861144620156202,0.00002361144620156201,1.388553798437966e-6
+0.092,0.00001862402108653137,0.00002362402108653136,1.375978913468616e-6
+0.096,0.00001863405884075938,0.00002363405884075937,1.365941159240609e-6
+0.1,0.00001864207127178561,0.0000236420712717856,1.357928728214386e-6
+0.104,0.00001864846695706035,0.00002364846695706034,1.351533042939646e-6
+0.108,0.00001865357208075213,0.00002365357208075212,1.346427919247867e-6
+0.112,0.00001865764704048443,0.00002365764704048442,1.342352959515569e-6
+0.116,0.00001866089970034157,0.00002366089970034156,1.339100299658429e-6
+0.12,0.00001866349598014565,0.00002366349598014564,1.336504019854347e-6
+0.124,0.0000186655683286453,0.00002366556832864529,1.334431671354699e-6
+0.128,0.00001866722247374555,0.00002366722247374554,1.332777526254452e-6
+0.132,0.0000186685428079121,0.00002366854280791209,1.331457192087897e-6
+0.136,0.00001866959669150238,0.00002366959669150236,1.330403308497626e-6
+0.14,0.00001867043789438688,0.00002367043789438687,1.329562105613121e-6
+0.144,0.00001867110933723736,0.00002367110933723734,1.328890662762643e-6
+0.148,0.00001867164527818636,0.00002367164527818635,1.32835472181364e-6
+0.152,0.00001867207306203043,0.00002367207306203041,1.327926937969573e-6
+0.156,0.00001867241451554808,0.00002367241451554807,1.327585484451914e-6
+0.16,0.00001867268706080211,0.0000236726870608021,1.327312939197885e-6
+0.164,0.0000186729046047036,0.00002367290460470359,1.327095395296398e-6
+0.168,0.00001867307824529587,0.00002367307824529585,1.326921754704132e-6
+0.172,0.00001867321684369252,0.0000236732168436925,1.326783156307481e-6
+0.176,0.00001867332747214223,0.00002367332747214221,1.326672527857771e-6
+0.18,0.00001867341577419696,0.00002367341577419694,1.326584225803042e-6
+0.184,0.00001867348625633764,0.00002367348625633763,1.326513743662354e-6
+0.188,0.00001867354251443507,0.00002367354251443506,1.326457485564932e-6
+0.192,0.00001867358741904819,0.00002367358741904818,1.32641258095181e-6
+0.196,0.00001867362326149052,0.00002367362326149051,1.326376738509479e-6
+0.2,0.00001867365187051742,0.0000236736518705174,1.326348129482583e-6
diff --git a/models/sbml-test-suite/cases/semantic/00144/00144-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00144/00144-sbml-l1v2.xml
new file mode 100644
index 0000000..a5b7af7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00144/00144-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00144">
+    <listOfCompartments>
+      <compartment name="compartment" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150000"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="1" compartment="compartment"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00144/00144-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00144/00144-sbml-l2v4.xml
new file mode 100644
index 0000000..a807310
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00144/00144-sbml-l2v4.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00144" id="case00144" name="case00144">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00144/00144-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00144/00144-sbml-l3v1.xml
new file mode 100644
index 0000000..b640b00
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00144/00144-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00144" id="case00144" name="case00144" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00144/00144-settings.txt b/models/sbml-test-suite/cases/semantic/00144/00144-settings.txt
new file mode 100644
index 0000000..4792b97
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00144/00144-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00145/00145-results.csv b/models/sbml-test-suite/cases/semantic/00145/00145-results.csv
new file mode 100644
index 0000000..d3ecbae
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00145/00145-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.01499999999999999,0.0125
+0.02,0.0107333731678108,0.01573337316781079,0.01176662683218919
+0.04,0.01134637917808555,0.01634637917808554,0.01115362082191445
+0.06,0.01185688338948279,0.01685688338948279,0.0106431166105172
+0.08,0.01228071839341882,0.01728071839341881,0.01021928160658118
+0.1,0.01263169957255572,0.01763169957255571,0.009868300427444279
+0.12,0.01292173510467326,0.01792173510467325,0.009578264895326735
+0.14,0.01316098866440966,0.01816098866440965,0.009339011335590334
+0.16,0.01335806664404052,0.01835806664404051,0.009141933355959475
+0.18,0.01352021094528677,0.01852021094528676,0.008979789054713227
+0.2,0.01365348316183073,0.01865348316183072,0.008846516838169268
+0.22,0.01376293637643949,0.01876293637643948,0.00873706362356051
+0.24,0.01385276815242448,0.01885276815242447,0.008647231847575518
+0.26,0.01392645599609438,0.01892645599609436,0.008573544003905619
+0.28,0.01398687431755011,0.01898687431755011,0.008513125682449882
+0.3,0.01403639460999633,0.01903639460999633,0.008463605390003662
+0.32,0.01407697045854244,0.01907697045854243,0.008423029541457559
+0.34,0.01411020928074671,0.0191102092807467,0.00838979071925329
+0.36,0.01413743231040482,0.01913743231040481,0.008362567689595175
+0.38,0.0141597246617121,0.0191597246617121,0.008340275338287895
+0.4,0.01417797701274969,0.01917797701274968,0.008322022987250309
+0.42,0.01419291965757047,0.01919291965757047,0.008307080342429523
+0.44,0.01420515186447863,0.01920515186447863,0.008294848135521363
+0.46,0.01421516440600885,0.01921516440600885,0.008284835593991145
+0.48,0.01422335964701092,0.01922335964701091,0.008276640352989079
+0.5,0.01423006706088395,0.01923006706088395,0.008269932939116051
+0.52,0.01423555653023727,0.01923555653023727,0.008264443469762725
+0.54,0.01424004909638809,0.01924004909638809,0.008259950903611907
+0.56,0.01424372567100509,0.01924372567100509,0.00825627432899491
+0.58,0.0142467344030178,0.0192467344030178,0.0082532655969822
+0.6,0.01424919657322301,0.01924919657322301,0.008250803426776984
+0.62,0.01425121142245196,0.01925121142245196,0.008248788577548037
+0.64,0.01425286020676365,0.01925286020676364,0.00824713979323635
+0.66,0.01425420942557734,0.01925420942557733,0.008245790574422659
+0.68,0.0142553134838605,0.0192553134838605,0.008244686516139498
+0.7,0.01425621693699069,0.0192562169369907,0.008243783063009302
+0.72,0.01425695621968097,0.01925695621968098,0.008243043780319021
+0.74,0.01425756116856299,0.01925756116856299,0.008242438831437007
+0.76,0.01425805618709039,0.0192580561870904,0.008241943812909605
+0.78,0.01425846125273128,0.01925846125273128,0.008241538747268718
+0.8,0.01425879271048614,0.01925879271048615,0.008241207289513857
+0.82,0.01425906393285741,0.01925906393285742,0.008240936067142589
+0.84,0.01425928586973788,0.0192592858697379,0.008240714130262111
+0.86,0.01425946747534668,0.01925946747534669,0.00824053252465332
+0.88,0.01425961607743492,0.01925961607743493,0.008240383922565078
+0.9,0.01425973767577086,0.01925973767577087,0.008240262324229134
+0.92,0.0142598371764218,0.01925983717642181,0.008240162823578192
+0.94,0.01425991859447706,0.01925991859447707,0.008240081405522934
+0.96,0.0142599852172695,0.01925998521726951,0.0082400147827305
+0.98,0.01426003973274351,0.01926003973274352,0.008239960267256483
+1.,0.0142600843409608,0.01926008434096081,0.008239915659039191
diff --git a/models/sbml-test-suite/cases/semantic/00145/00145-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00145/00145-sbml-l1v2.xml
new file mode 100644
index 0000000..a780e4e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00145/00145-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00145">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0125" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150"/>
+      <parameter name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="5" name="k2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00145/00145-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00145/00145-sbml-l2v4.xml
new file mode 100644
index 0000000..c276371
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00145/00145-sbml-l2v4.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00145" id="case00145" name="case00145">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0125" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150"/>
+      <parameter id="k2" name="k2" value="5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 5 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00145/00145-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00145/00145-sbml-l3v1.xml
new file mode 100644
index 0000000..7dfeb61
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00145/00145-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00145" id="case00145" name="case00145" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 5 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00145/00145-settings.txt b/models/sbml-test-suite/cases/semantic/00145/00145-settings.txt
new file mode 100644
index 0000000..7f66c12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00145/00145-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00146/00146-results.csv b/models/sbml-test-suite/cases/semantic/00146/00146-results.csv
new file mode 100644
index 0000000..d3ecbae
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00146/00146-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.01499999999999999,0.0125
+0.02,0.0107333731678108,0.01573337316781079,0.01176662683218919
+0.04,0.01134637917808555,0.01634637917808554,0.01115362082191445
+0.06,0.01185688338948279,0.01685688338948279,0.0106431166105172
+0.08,0.01228071839341882,0.01728071839341881,0.01021928160658118
+0.1,0.01263169957255572,0.01763169957255571,0.009868300427444279
+0.12,0.01292173510467326,0.01792173510467325,0.009578264895326735
+0.14,0.01316098866440966,0.01816098866440965,0.009339011335590334
+0.16,0.01335806664404052,0.01835806664404051,0.009141933355959475
+0.18,0.01352021094528677,0.01852021094528676,0.008979789054713227
+0.2,0.01365348316183073,0.01865348316183072,0.008846516838169268
+0.22,0.01376293637643949,0.01876293637643948,0.00873706362356051
+0.24,0.01385276815242448,0.01885276815242447,0.008647231847575518
+0.26,0.01392645599609438,0.01892645599609436,0.008573544003905619
+0.28,0.01398687431755011,0.01898687431755011,0.008513125682449882
+0.3,0.01403639460999633,0.01903639460999633,0.008463605390003662
+0.32,0.01407697045854244,0.01907697045854243,0.008423029541457559
+0.34,0.01411020928074671,0.0191102092807467,0.00838979071925329
+0.36,0.01413743231040482,0.01913743231040481,0.008362567689595175
+0.38,0.0141597246617121,0.0191597246617121,0.008340275338287895
+0.4,0.01417797701274969,0.01917797701274968,0.008322022987250309
+0.42,0.01419291965757047,0.01919291965757047,0.008307080342429523
+0.44,0.01420515186447863,0.01920515186447863,0.008294848135521363
+0.46,0.01421516440600885,0.01921516440600885,0.008284835593991145
+0.48,0.01422335964701092,0.01922335964701091,0.008276640352989079
+0.5,0.01423006706088395,0.01923006706088395,0.008269932939116051
+0.52,0.01423555653023727,0.01923555653023727,0.008264443469762725
+0.54,0.01424004909638809,0.01924004909638809,0.008259950903611907
+0.56,0.01424372567100509,0.01924372567100509,0.00825627432899491
+0.58,0.0142467344030178,0.0192467344030178,0.0082532655969822
+0.6,0.01424919657322301,0.01924919657322301,0.008250803426776984
+0.62,0.01425121142245196,0.01925121142245196,0.008248788577548037
+0.64,0.01425286020676365,0.01925286020676364,0.00824713979323635
+0.66,0.01425420942557734,0.01925420942557733,0.008245790574422659
+0.68,0.0142553134838605,0.0192553134838605,0.008244686516139498
+0.7,0.01425621693699069,0.0192562169369907,0.008243783063009302
+0.72,0.01425695621968097,0.01925695621968098,0.008243043780319021
+0.74,0.01425756116856299,0.01925756116856299,0.008242438831437007
+0.76,0.01425805618709039,0.0192580561870904,0.008241943812909605
+0.78,0.01425846125273128,0.01925846125273128,0.008241538747268718
+0.8,0.01425879271048614,0.01925879271048615,0.008241207289513857
+0.82,0.01425906393285741,0.01925906393285742,0.008240936067142589
+0.84,0.01425928586973788,0.0192592858697379,0.008240714130262111
+0.86,0.01425946747534668,0.01925946747534669,0.00824053252465332
+0.88,0.01425961607743492,0.01925961607743493,0.008240383922565078
+0.9,0.01425973767577086,0.01925973767577087,0.008240262324229134
+0.92,0.0142598371764218,0.01925983717642181,0.008240162823578192
+0.94,0.01425991859447706,0.01925991859447707,0.008240081405522934
+0.96,0.0142599852172695,0.01925998521726951,0.0082400147827305
+0.98,0.01426003973274351,0.01926003973274352,0.008239960267256483
+1.,0.0142600843409608,0.01926008434096081,0.008239915659039191
diff --git a/models/sbml-test-suite/cases/semantic/00146/00146-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00146/00146-sbml-l1v2.xml
new file mode 100644
index 0000000..5ebeecc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00146/00146-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00146">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0125" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150"/>
+      <parameter name="k2" value="0.005"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="5" name="k2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00146/00146-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00146/00146-sbml-l2v4.xml
new file mode 100644
index 0000000..3d6b84e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00146/00146-sbml-l2v4.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00146" id="case00146" name="case00146">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0125" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150"/>
+      <parameter id="k2" name="k2" value="0.005" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 5 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00146/00146-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00146/00146-sbml-l3v1.xml
new file mode 100644
index 0000000..77ce187
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00146/00146-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00146" id="case00146" name="case00146" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150" constant="true"/>
+      <parameter id="k2" name="k2" value="0.005" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 5 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00146/00146-settings.txt b/models/sbml-test-suite/cases/semantic/00146/00146-settings.txt
new file mode 100644
index 0000000..7f66c12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00146/00146-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00147/00147-results.csv b/models/sbml-test-suite/cases/semantic/00147/00147-results.csv
new file mode 100644
index 0000000..d3ecbae
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00147/00147-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.01499999999999999,0.0125
+0.02,0.0107333731678108,0.01573337316781079,0.01176662683218919
+0.04,0.01134637917808555,0.01634637917808554,0.01115362082191445
+0.06,0.01185688338948279,0.01685688338948279,0.0106431166105172
+0.08,0.01228071839341882,0.01728071839341881,0.01021928160658118
+0.1,0.01263169957255572,0.01763169957255571,0.009868300427444279
+0.12,0.01292173510467326,0.01792173510467325,0.009578264895326735
+0.14,0.01316098866440966,0.01816098866440965,0.009339011335590334
+0.16,0.01335806664404052,0.01835806664404051,0.009141933355959475
+0.18,0.01352021094528677,0.01852021094528676,0.008979789054713227
+0.2,0.01365348316183073,0.01865348316183072,0.008846516838169268
+0.22,0.01376293637643949,0.01876293637643948,0.00873706362356051
+0.24,0.01385276815242448,0.01885276815242447,0.008647231847575518
+0.26,0.01392645599609438,0.01892645599609436,0.008573544003905619
+0.28,0.01398687431755011,0.01898687431755011,0.008513125682449882
+0.3,0.01403639460999633,0.01903639460999633,0.008463605390003662
+0.32,0.01407697045854244,0.01907697045854243,0.008423029541457559
+0.34,0.01411020928074671,0.0191102092807467,0.00838979071925329
+0.36,0.01413743231040482,0.01913743231040481,0.008362567689595175
+0.38,0.0141597246617121,0.0191597246617121,0.008340275338287895
+0.4,0.01417797701274969,0.01917797701274968,0.008322022987250309
+0.42,0.01419291965757047,0.01919291965757047,0.008307080342429523
+0.44,0.01420515186447863,0.01920515186447863,0.008294848135521363
+0.46,0.01421516440600885,0.01921516440600885,0.008284835593991145
+0.48,0.01422335964701092,0.01922335964701091,0.008276640352989079
+0.5,0.01423006706088395,0.01923006706088395,0.008269932939116051
+0.52,0.01423555653023727,0.01923555653023727,0.008264443469762725
+0.54,0.01424004909638809,0.01924004909638809,0.008259950903611907
+0.56,0.01424372567100509,0.01924372567100509,0.00825627432899491
+0.58,0.0142467344030178,0.0192467344030178,0.0082532655969822
+0.6,0.01424919657322301,0.01924919657322301,0.008250803426776984
+0.62,0.01425121142245196,0.01925121142245196,0.008248788577548037
+0.64,0.01425286020676365,0.01925286020676364,0.00824713979323635
+0.66,0.01425420942557734,0.01925420942557733,0.008245790574422659
+0.68,0.0142553134838605,0.0192553134838605,0.008244686516139498
+0.7,0.01425621693699069,0.0192562169369907,0.008243783063009302
+0.72,0.01425695621968097,0.01925695621968098,0.008243043780319021
+0.74,0.01425756116856299,0.01925756116856299,0.008242438831437007
+0.76,0.01425805618709039,0.0192580561870904,0.008241943812909605
+0.78,0.01425846125273128,0.01925846125273128,0.008241538747268718
+0.8,0.01425879271048614,0.01925879271048615,0.008241207289513857
+0.82,0.01425906393285741,0.01925906393285742,0.008240936067142589
+0.84,0.01425928586973788,0.0192592858697379,0.008240714130262111
+0.86,0.01425946747534668,0.01925946747534669,0.00824053252465332
+0.88,0.01425961607743492,0.01925961607743493,0.008240383922565078
+0.9,0.01425973767577086,0.01925973767577087,0.008240262324229134
+0.92,0.0142598371764218,0.01925983717642181,0.008240162823578192
+0.94,0.01425991859447706,0.01925991859447707,0.008240081405522934
+0.96,0.0142599852172695,0.01925998521726951,0.0082400147827305
+0.98,0.01426003973274351,0.01926003973274352,0.008239960267256483
+1.,0.0142600843409608,0.01926008434096081,0.008239915659039191
diff --git a/models/sbml-test-suite/cases/semantic/00147/00147-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00147/00147-sbml-l1v2.xml
new file mode 100644
index 0000000..6b8f8f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00147/00147-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00147">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0125" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150"/>
+      <parameter name="k2"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="5" name="k2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00147/00147-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00147/00147-sbml-l2v4.xml
new file mode 100644
index 0000000..f2ae0b8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00147/00147-sbml-l2v4.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00147" id="case00147" name="case00147">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0125" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150"/>
+      <parameter id="k2" name="k2" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 5 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00147/00147-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00147/00147-sbml-l3v1.xml
new file mode 100644
index 0000000..d0307d6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00147/00147-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00147" id="case00147" name="case00147" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 5 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00147/00147-settings.txt b/models/sbml-test-suite/cases/semantic/00147/00147-settings.txt
new file mode 100644
index 0000000..7f66c12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00147/00147-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00148/00148-results.csv b/models/sbml-test-suite/cases/semantic/00148/00148-results.csv
new file mode 100644
index 0000000..041b894
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00148/00148-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.1499999999999999
+0.12,0.09139311852644117,0.1586068814735587
+0.24,0.08352702113974656,0.1664729788602533
+0.36,0.07633794937987473,0.1736620506201252
+0.48,0.06976763237489869,0.1802323676251012
+0.6,0.06376281506960336,0.1862371849303965
+0.72,0.05827482408082893,0.191725175919171
+0.84,0.05325917946017996,0.1967408205398199
+0.96,0.04867522557563626,0.2013247744243636
+1.08,0.04448580589767878,0.2055141941023212
+1.2,0.04065696526315358,0.2093430347368464
+1.32,0.03715766891948471,0.2128423310805153
+1.44,0.03395955204357266,0.2160404479564273
+1.56,0.03103669412169825,0.2189633058783017
+1.68,0.02836540263904359,0.2216345973609564
+1.8,0.02592402591328776,0.2240759740867122
+1.92,0.02369277583908844,0.2263072241609115
+2.04,0.02165356668635158,0.2283464333136484
+2.16,0.01978986978973196,0.230210130210268
+2.28,0.01808657902183681,0.2319134209781632
+2.4,0.01652988860407735,0.2334701113959226
+2.52,0.01510718053003732,0.2348928194699627
+2.64,0.01380692369140938,0.2361930763085906
+2.76,0.01261857781240004,0.2373814221875999
+2.88,0.01153251208978275,0.2384674879102172
+3.,0.0105399219722673,0.2394600780277327
+3.12,0.009632763157067488,0.2403672368429325
+3.24,0.008803682979352897,0.241196317020647
+3.36,0.008045960662639645,0.2419540393373603
+3.48,0.00735345403239818,0.2426465459676018
+3.6,0.006720550810506056,0.2432794491894939
+3.72,0.006142121202788211,0.2438578787972117
+3.84,0.005613476270039652,0.2443865237299602
+3.96,0.005130330883855005,0.2448696691161449
+4.08,0.004688769207925339,0.2453112307920746
+4.2,0.004285212266809503,0.2457147877331904
+4.32,0.003916389075931983,0.2460836109240679
+4.44,0.003579310144860433,0.2464206898551395
+4.56,0.003271243259048244,0.2467287567409517
+4.68,0.002989691344245891,0.247010308655754
+4.8,0.002732372234594424,0.2472676277654055
+4.92,0.002497200187421858,0.247502799812578
+5.04,0.002282269055219653,0.2477177309447802
+5.16,0.002085836784322146,0.2479141632156778
+5.28,0.001906311232549219,0.2480936887674507
+5.4,0.001742237271402873,0.248257762728597
+5.52,0.001592284998529948,0.2484077150014699
+5.64,0.001455238963816379,0.2485447610361835
+5.76,0.001329988322006072,0.2486700116779938
+5.88,0.001215517832216641,0.2487844821677832
+6.,0.001110899653825505,0.2488891003461744
diff --git a/models/sbml-test-suite/cases/semantic/00148/00148-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00148/00148-sbml-l1v2.xml
new file mode 100644
index 0000000..9bc6f89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00148/00148-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00148">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.15" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="0.75" name="k1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00148/00148-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00148/00148-sbml-l2v4.xml
new file mode 100644
index 0000000..af45f5c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00148/00148-sbml-l2v4.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00148" id="case00148" name="case00148">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00148/00148-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00148/00148-sbml-l3v1.xml
new file mode 100644
index 0000000..44ee6a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00148/00148-sbml-l3v1.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00148" id="case00148" name="case00148" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00148/00148-settings.txt b/models/sbml-test-suite/cases/semantic/00148/00148-settings.txt
new file mode 100644
index 0000000..4a191ed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00148/00148-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00149/00149-results.csv b/models/sbml-test-suite/cases/semantic/00149/00149-results.csv
new file mode 100644
index 0000000..041b894
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00149/00149-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.1499999999999999
+0.12,0.09139311852644117,0.1586068814735587
+0.24,0.08352702113974656,0.1664729788602533
+0.36,0.07633794937987473,0.1736620506201252
+0.48,0.06976763237489869,0.1802323676251012
+0.6,0.06376281506960336,0.1862371849303965
+0.72,0.05827482408082893,0.191725175919171
+0.84,0.05325917946017996,0.1967408205398199
+0.96,0.04867522557563626,0.2013247744243636
+1.08,0.04448580589767878,0.2055141941023212
+1.2,0.04065696526315358,0.2093430347368464
+1.32,0.03715766891948471,0.2128423310805153
+1.44,0.03395955204357266,0.2160404479564273
+1.56,0.03103669412169825,0.2189633058783017
+1.68,0.02836540263904359,0.2216345973609564
+1.8,0.02592402591328776,0.2240759740867122
+1.92,0.02369277583908844,0.2263072241609115
+2.04,0.02165356668635158,0.2283464333136484
+2.16,0.01978986978973196,0.230210130210268
+2.28,0.01808657902183681,0.2319134209781632
+2.4,0.01652988860407735,0.2334701113959226
+2.52,0.01510718053003732,0.2348928194699627
+2.64,0.01380692369140938,0.2361930763085906
+2.76,0.01261857781240004,0.2373814221875999
+2.88,0.01153251208978275,0.2384674879102172
+3.,0.0105399219722673,0.2394600780277327
+3.12,0.009632763157067488,0.2403672368429325
+3.24,0.008803682979352897,0.241196317020647
+3.36,0.008045960662639645,0.2419540393373603
+3.48,0.00735345403239818,0.2426465459676018
+3.6,0.006720550810506056,0.2432794491894939
+3.72,0.006142121202788211,0.2438578787972117
+3.84,0.005613476270039652,0.2443865237299602
+3.96,0.005130330883855005,0.2448696691161449
+4.08,0.004688769207925339,0.2453112307920746
+4.2,0.004285212266809503,0.2457147877331904
+4.32,0.003916389075931983,0.2460836109240679
+4.44,0.003579310144860433,0.2464206898551395
+4.56,0.003271243259048244,0.2467287567409517
+4.68,0.002989691344245891,0.247010308655754
+4.8,0.002732372234594424,0.2472676277654055
+4.92,0.002497200187421858,0.247502799812578
+5.04,0.002282269055219653,0.2477177309447802
+5.16,0.002085836784322146,0.2479141632156778
+5.28,0.001906311232549219,0.2480936887674507
+5.4,0.001742237271402873,0.248257762728597
+5.52,0.001592284998529948,0.2484077150014699
+5.64,0.001455238963816379,0.2485447610361835
+5.76,0.001329988322006072,0.2486700116779938
+5.88,0.001215517832216641,0.2487844821677832
+6.,0.001110899653825505,0.2488891003461744
diff --git a/models/sbml-test-suite/cases/semantic/00149/00149-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00149/00149-sbml-l1v2.xml
new file mode 100644
index 0000000..e1d8f64
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00149/00149-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00149">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.15" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="750"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="0.75" name="k1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00149/00149-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00149/00149-sbml-l2v4.xml
new file mode 100644
index 0000000..8812f22
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00149/00149-sbml-l2v4.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00149" id="case00149" name="case00149">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00149/00149-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00149/00149-sbml-l3v1.xml
new file mode 100644
index 0000000..b398a11
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00149/00149-sbml-l3v1.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00149" id="case00149" name="case00149" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00149/00149-settings.txt b/models/sbml-test-suite/cases/semantic/00149/00149-settings.txt
new file mode 100644
index 0000000..4a191ed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00149/00149-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00150/00150-results.csv b/models/sbml-test-suite/cases/semantic/00150/00150-results.csv
new file mode 100644
index 0000000..041b894
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00150/00150-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.1499999999999999
+0.12,0.09139311852644117,0.1586068814735587
+0.24,0.08352702113974656,0.1664729788602533
+0.36,0.07633794937987473,0.1736620506201252
+0.48,0.06976763237489869,0.1802323676251012
+0.6,0.06376281506960336,0.1862371849303965
+0.72,0.05827482408082893,0.191725175919171
+0.84,0.05325917946017996,0.1967408205398199
+0.96,0.04867522557563626,0.2013247744243636
+1.08,0.04448580589767878,0.2055141941023212
+1.2,0.04065696526315358,0.2093430347368464
+1.32,0.03715766891948471,0.2128423310805153
+1.44,0.03395955204357266,0.2160404479564273
+1.56,0.03103669412169825,0.2189633058783017
+1.68,0.02836540263904359,0.2216345973609564
+1.8,0.02592402591328776,0.2240759740867122
+1.92,0.02369277583908844,0.2263072241609115
+2.04,0.02165356668635158,0.2283464333136484
+2.16,0.01978986978973196,0.230210130210268
+2.28,0.01808657902183681,0.2319134209781632
+2.4,0.01652988860407735,0.2334701113959226
+2.52,0.01510718053003732,0.2348928194699627
+2.64,0.01380692369140938,0.2361930763085906
+2.76,0.01261857781240004,0.2373814221875999
+2.88,0.01153251208978275,0.2384674879102172
+3.,0.0105399219722673,0.2394600780277327
+3.12,0.009632763157067488,0.2403672368429325
+3.24,0.008803682979352897,0.241196317020647
+3.36,0.008045960662639645,0.2419540393373603
+3.48,0.00735345403239818,0.2426465459676018
+3.6,0.006720550810506056,0.2432794491894939
+3.72,0.006142121202788211,0.2438578787972117
+3.84,0.005613476270039652,0.2443865237299602
+3.96,0.005130330883855005,0.2448696691161449
+4.08,0.004688769207925339,0.2453112307920746
+4.2,0.004285212266809503,0.2457147877331904
+4.32,0.003916389075931983,0.2460836109240679
+4.44,0.003579310144860433,0.2464206898551395
+4.56,0.003271243259048244,0.2467287567409517
+4.68,0.002989691344245891,0.247010308655754
+4.8,0.002732372234594424,0.2472676277654055
+4.92,0.002497200187421858,0.247502799812578
+5.04,0.002282269055219653,0.2477177309447802
+5.16,0.002085836784322146,0.2479141632156778
+5.28,0.001906311232549219,0.2480936887674507
+5.4,0.001742237271402873,0.248257762728597
+5.52,0.001592284998529948,0.2484077150014699
+5.64,0.001455238963816379,0.2485447610361835
+5.76,0.001329988322006072,0.2486700116779938
+5.88,0.001215517832216641,0.2487844821677832
+6.,0.001110899653825505,0.2488891003461744
diff --git a/models/sbml-test-suite/cases/semantic/00150/00150-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00150/00150-sbml-l1v2.xml
new file mode 100644
index 0000000..01aa409
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00150/00150-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00150">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.15" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="0.75" name="k1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00150/00150-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00150/00150-sbml-l2v4.xml
new file mode 100644
index 0000000..3e5462d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00150/00150-sbml-l2v4.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00150" id="case00150" name="case00150">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00150/00150-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00150/00150-sbml-l3v1.xml
new file mode 100644
index 0000000..7a19b44
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00150/00150-sbml-l3v1.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00150" id="case00150" name="case00150" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00150/00150-settings.txt b/models/sbml-test-suite/cases/semantic/00150/00150-settings.txt
new file mode 100644
index 0000000..4a191ed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00150/00150-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00151/00151-results.csv b/models/sbml-test-suite/cases/semantic/00151/00151-results.csv
new file mode 100644
index 0000000..01dbc7b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00151/00151-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.002,0.0000109053777943434,0.0000159053777943434,9.094622205656598e-6,0.0000238580666915151
+0.004,0.00001171804228251662,0.00001671804228251662,8.281957717483374e-6,0.00002507706342377493
+0.006,0.00001244713132634022,0.00001744713132634021,7.552868673659781e-6,0.00002617069698951032
+0.008,0.00001310095331375486,0.00001810095331375485,6.899046686245141e-6,0.00002715142997063228
+0.01,0.00001368704797789294,0.00001868704797789294,6.312952022107055e-6,0.00002803057196683941
+0.012,0.00001421224595425761,0.00001921224595425761,5.78775404574239e-6,0.00002881836893138641
+0.014,0.00001468272586778236,0.00001968272586778236,5.317274132217635e-6,0.00002952408880167355
+0.016,0.00001510406942050725,0.00002010406942050724,4.895930579492749e-6,0.00003015610413076087
+0.018,0.00001548131278425667,0.00002048131278425667,4.518687215743327e-6,0.00003072196917638501
+0.02,0.00001581899521052541,0.00002081899521052541,4.18100478947459e-6,0.00003122849281578811
+0.022,0.00001612120391233186,0.00002112120391233186,3.878796087668141e-6,0.00003168180586849779
+0.024,0.00001639161625412129,0.00002139161625412129,3.608383745878706e-6,0.00003208742438118194
+0.026,0.00001663353848292564,0.00002163353848292564,3.366461517074359e-6,0.00003245030772438846
+0.028,0.00001684994070619666,0.00002184994070619666,3.150059293803342e-6,0.00003277491105929499
+0.03,0.00001704348970316175,0.00002204348970316175,2.956510296838257e-6,0.00003306523455474262
+0.032,0.0000172165788894356,0.0000222165788894356,2.783421110564403e-6,0.0000333248683341534
+0.034,0.00001737135488078071,0.00002237135488078071,2.628645119219295e-6,0.00003355703232117106
+0.036,0.00001750974236580373,0.00002250974236580373,2.490257634196269e-6,0.0000337646135487056
+0.038,0.0000176334663201411,0.0000226334663201411,2.366533679858896e-6,0.00003395019948021165
+0.04,0.00001774407237369759,0.00002274407237369759,2.255927626302408e-6,0.00003411610856054639
+0.042,0.00001784294461612877,0.00002284294461612877,2.157055383871224e-6,0.00003426441692419317
+0.044,0.00001793132279599719,0.00002293132279599719,2.068677204002809e-6,0.00003439698419399578
+0.046,0.00001801031633213305,0.00002301031633213305,1.989683667866949e-6,0.00003451547449819957
+0.048,0.00001808091853071518,0.00002308091853071518,1.919081469284809e-6,0.00003462137779607277
+0.05,0.00001814401812562751,0.00002314401812562751,1.855981874372483e-6,0.00003471602718844127
+0.052,0.00001820041012932935,0.00002320041012932935,1.799589870670643e-6,0.00003480061519399403
+0.054,0.00001825080588483521,0.0000232508058848352,1.749194115164788e-6,0.00003487620882725281
+0.056,0.00001829584172380471,0.00002329584172380471,1.704158276195284e-6,0.00003494376258570707
+0.058,0.00001833608656429554,0.00002333608656429554,1.663913435704451e-6,0.00003500412984644332
+0.06,0.0000183720491533273,0.0000233720491533273,1.627950846672692e-6,0.00003505807372999096
+0.062,0.00001840418449551653,0.00002340418449551653,1.59581550448346e-6,0.0000351062767432748
+0.064,0.00001843289934717659,0.00002343289934717659,1.567100652823411e-6,0.00003514934902076488
+0.066,0.00001845855735967333,0.00002345855735967333,1.541442640326661e-6,0.00003518783603951
+0.068,0.00001848148358138501,0.00002348148358138501,1.518516418614989e-6,0.00003522222537207752
+0.07,0.0000185019685712271,0.0000235019685712271,1.498031428772894e-6,0.00003525295285684065
+0.072,0.00001852027204623268,0.00002352027204623268,1.479727953767324e-6,0.00003528040806934902
+0.074,0.00001853662614255671,0.00002353662614255671,1.463373857443293e-6,0.00003530493921383506
+0.076,0.0000185512383342178,0.0000235512383342178,1.448761665782199e-6,0.0000353268575013267
+0.078,0.00001856429404500036,0.00002356429404500036,1.435705954999633e-6,0.00003534644106750055
+0.08,0.00001857595898536501,0.000023575958985365,1.424041014634993e-6,0.00003536393847804751
+0.082,0.00001858638123816249,0.00002358638123816249,1.413618761837513e-6,0.00003537957185724373
+0.084,0.00001859569312501541,0.00002359569312501541,1.404306874984587e-6,0.00003539353968752312
+0.086,0.00001860401289120659,0.00002360401289120659,1.395987108793411e-6,0.00003540601933680989
+0.088,0.00001861144620155142,0.00002361144620155142,1.388553798448579e-6,0.00003541716930232713
+0.09,0.00001861808747644323,0.00002361808747644323,1.381912523556772e-6,0.00003542713121466484
+0.092,0.00001862402108648331,0.00002362402108648331,1.37597891351669e-6,0.00003543603162972496
+0.094,0.00001862932242057374,0.00002362932242057374,1.370677579426262e-6,0.0000354439836308606
+0.096,0.00001863405884077109,0.00002363405884077109,1.365941159228905e-6,0.00003545108826115664
+0.098,0.00001863829053175789,0.00002363829053175789,1.361709468242104e-6,0.00003545743579763685
+0.1,0.00001864207126644319,0.00002364207126644319,1.357928733556804e-6,0.00003546310689966479
diff --git a/models/sbml-test-suite/cases/semantic/00151/00151-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00151/00151-sbml-l2v4.xml
new file mode 100644
index 0000000..03e2e20
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00151/00151-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00151" id="case00151" name="case00151">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00151/00151-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00151/00151-sbml-l3v1.xml
new file mode 100644
index 0000000..fa9af08
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00151/00151-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00151" id="case00151" name="case00151" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00151/00151-settings.txt b/models/sbml-test-suite/cases/semantic/00151/00151-settings.txt
new file mode 100644
index 0000000..a12e253
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00151/00151-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00152/00152-results.csv b/models/sbml-test-suite/cases/semantic/00152/00152-results.csv
new file mode 100644
index 0000000..9bdb714
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00152/00152-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5e-15,1.125e-15
+0.002,0.9048374180106257,0.09516258198937563,0.07137193649203171
+0.004,0.8187307530723747,0.1812692469276268,0.1359519351957201
+0.006,0.7408182203787158,0.2591817796212859,0.1943863347159644
+0.008,0.6703200430580986,0.329679956941903,0.2472599677064272
+0.01,0.6065306540164868,0.3934693459835148,0.2951020094876361
+0.012,0.5488116293468805,0.451188370653121,0.3383912779898408
+0.014,0.4965852979525998,0.5034147020474019,0.3775610265355514
+0.016,0.4493289546252374,0.5506710453747641,0.4130032840310731
+0.018,0.4065696424619247,0.5934303575380767,0.4450727681535575
+0.02,0.3678794359139681,0.6321205640860333,0.4740904230645249
+0.022,0.3328710678707299,0.6671289321292716,0.5003466990969537
+0.024,0.3011942094467193,0.6988057905532822,0.5241043429149616
+0.026,0.2725317790458483,0.7274682209541534,0.545601165715615
+0.028,0.2465969626674991,0.7534030373325025,0.5650522779993769
+0.03,0.2231301439725429,0.7768698560274587,0.582652392020594
+0.032,0.2018964935291754,0.7981035064708261,0.5985776298531195
+0.034,0.1826835069508385,0.8173164930491629,0.6129873697868721
+0.036,0.1652988849678202,0.8347011150321813,0.6260258362741359
+0.038,0.1495686170457738,0.8504313829542277,0.6378235372156707
+0.04,0.1353352714954645,0.864664728504537,0.6484985463784027
+0.042,0.1224564133001061,0.8775435866998952,0.6581576900249215
+0.044,0.1108031494985982,0.8891968505014032,0.6668976378760525
+0.046,0.1002588428706511,0.8997411571293503,0.6748058678470128
+0.048,0.09071795082690521,0.9092820491730961,0.6819615368798221
+0.05,0.08208499047421201,0.9179150095257894,0.688436257144342
+0.052,0.07427356932635879,0.9257264306736424,0.6942948230052318
+0.054,0.06720550837802191,0.9327944916219793,0.6995958687164844
+0.056,0.06081006253263057,0.9391899374673706,0.704392453100528
+0.058,0.05502321776194832,0.944976782238053,0.7087325866785397
+0.06,0.0497870629171926,0.9502129370828087,0.7126597028121065
+0.062,0.04504919726066174,0.9549508027393396,0.7162131020545047
+0.064,0.04076220197461959,0.9592377980253817,0.7194283485190363
+0.066,0.03688316738934409,0.9631168326106572,0.7223376244579929
+0.068,0.03337326805451652,0.9666267319454848,0.7249700489591136
+0.07,0.03019737989286006,0.9698026201071412,0.7273519650803559
+0.072,0.02732371957386455,0.9726762804261367,0.7295072103196025
+0.074,0.02472352563618659,0.9752764743638145,0.7314573557728609
+0.076,0.02237077174195353,0.9776292282580476,0.7332219211935358
+0.078,0.02024190998080058,0.9797580900192006,0.7348185675144005
+0.08,0.01831563666972636,0.9816843633302748,0.7362632724977061
+0.082,0.0165726738487437,0.9834273261512576,0.7375704946134431
+0.084,0.01499557652386406,0.9850044234761372,0.7387533176071029
+0.086,0.01356855881596286,0.9864314411840384,0.7398235808880289
+0.088,0.01227733883928211,0.9877226611607191,0.7407919958705393
+0.09,0.0111089951817288,0.9888910048182725,0.7416682536137043
+0.092,0.01005183493943785,0.9899481650605633,0.7424611237954225
+0.094,0.009095277023762914,0.9909047229762382,0.7431785422321786
+0.096,0.008229746826545095,0.9917702531734561,0.743827689880092
+0.098,0.007446582747460394,0.9925534172525407,0.7444150629394055
+0.1,0.00673794699912688,0.9932620530008743,0.7449465397506557
diff --git a/models/sbml-test-suite/cases/semantic/00152/00152-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00152/00152-sbml-l2v4.xml
new file mode 100644
index 0000000..b1d5436
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00152/00152-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00152" id="case00152" name="case00152">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00152/00152-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00152/00152-sbml-l3v1.xml
new file mode 100644
index 0000000..f762040
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00152/00152-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00152" id="case00152" name="case00152" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00152/00152-settings.txt b/models/sbml-test-suite/cases/semantic/00152/00152-settings.txt
new file mode 100644
index 0000000..82f7a2e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00152/00152-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00153/00153-results.csv b/models/sbml-test-suite/cases/semantic/00153/00153-results.csv
new file mode 100644
index 0000000..64e8e1f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00153/00153-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.0015,0.001,0.00225
+0.002,0.001090537779433926,0.001590537779433926,0.0009094622205660736,0.002385806669150889
+0.004,0.001171804228251088,0.001671804228251088,0.0008281957717489122,0.002507706342376632
+0.006,0.001244713132637305,0.001744713132637305,0.0007552868673626948,0.002617069698955958
+0.008,0.001310095331379109,0.001810095331379109,0.0006899046686208911,0.002715142997068664
+0.01,0.001368704797791689,0.001868704797791689,0.0006312952022083107,0.002803057196687534
+0.012,0.001421224595436436,0.001921224595436436,0.0005787754045635637,0.002881836893154655
+0.014,0.001468272586801471,0.001968272586801472,0.0005317274131985286,0.002952408880202208
+0.016,0.001510406942087761,0.002010406942087762,0.0004895930579122387,0.003015610413131643
+0.018,0.001548131278475432,0.002048131278475433,0.0004518687215245681,0.003072196917713149
+0.02,0.001581899521115031,0.002081899521115032,0.0004181004788849688,0.003122849281672548
+0.022,0.001612120391185141,0.002112120391185141,0.0003878796088148591,0.003168180586777712
+0.024,0.00163916162536562,0.002139161625365621,0.0003608383746343797,0.003208742438048432
+0.026,0.001663353848357894,0.002163353848357895,0.0003366461516421058,0.003245030772536843
+0.028,0.001684994070622704,0.002184994070622705,0.0003150059293772958,0.003277491105934058
+0.03,0.001704348970262974,0.002204348970262975,0.0002956510297370255,0.003306523455394463
+0.032,0.001721657889024611,0.002221657889024613,0.0002783421109753881,0.00333248683353692
+0.034,0.001737135488008387,0.002237135488008388,0.0002628645119916124,0.003355703232012582
+0.036,0.001750974236642282,0.002250974236642284,0.0002490257633577168,0.003376461354963426
+0.038,0.001763346631955341,0.002263346631955343,0.0002366533680446576,0.003395019947933015
+0.04,0.001774407237406171,0.002274407237406173,0.0002255927625938284,0.003411610856109259
+0.042,0.001784294461577139,0.00228429446157714,0.0002157055384228606,0.003426441692365711
+0.044,0.001793132279612108,0.002293132279612109,0.0002068677203878916,0.003439698419418164
+0.046,0.001801031633268969,0.002301031633268971,0.00019896836673103,0.003451547449903457
+0.048,0.001808091853020197,0.002308091853020199,0.0001919081469798018,0.003462137779530299
+0.05,0.001814401812537744,0.002314401812537746,0.000185598187462255,0.00347160271880662
+0.052,0.001820041012968795,0.002320041012968796,0.0001799589870312047,0.003480061519453195
+0.054,0.001825080588505974,0.002325080588505975,0.0001749194114940256,0.003487620882758963
+0.056,0.001829584172344202,0.002329584172344204,0.0001704158276557972,0.003494376258516306
+0.058,0.001833608656423342,0.002333608656423344,0.0001663913435766573,0.003500412984635016
+0.06,0.001837204915360448,0.00233720491536045,0.0001627950846395506,0.003505807373040676
+0.062,0.001840418449590051,0.002340418449590054,0.0001595815504099475,0.003510627674385081
+0.064,0.001843289934711521,0.002343289934711524,0.0001567100652884775,0.003514934902067286
+0.066,0.00184585573592488,0.002345855735924883,0.0001541442640751184,0.003518783603887325
+0.068,0.00184814835809368,0.002348148358093683,0.0001518516419063186,0.003522222537140525
+0.07,0.001850196857099186,0.002350196857099189,0.0001498031429008129,0.003525295285648783
+0.072,0.001852027204631942,0.002352027204631944,0.000147972795368057,0.003528040806947917
+0.074,0.001853662614294034,0.002353662614294036,0.0001463373857059648,0.003530493921441055
+0.076,0.001855123833474518,0.00235512383347452,0.0001448761665254812,0.00353268575021178
+0.078,0.001856429404540458,0.002356429404540461,0.0001435705954595404,0.003534644106810691
+0.08,0.001857595898529686,0.002357595898529689,0.0001424041014703123,0.003536393847794534
+0.082,0.001858638123780916,0.002358638123780918,0.0001413618762190828,0.003537957185671378
+0.084,0.001859569312467868,0.00235956931246787,0.0001404306875321312,0.003539353968701806
+0.086,0.001860401289103498,0.002360401289103501,0.000139598710896501,0.003540601933655252
+0.088,0.00186114462015805,0.002361144620158053,0.0001388553798419489,0.003541716930237079
+0.09,0.001861808747662811,0.002361808747662814,0.0001381912523371879,0.003542713121494221
+0.092,0.001862402108672467,0.002362402108672469,0.0001375978913275323,0.003543603163008704
+0.094,0.001862932242073836,0.002362932242073838,0.0001370677579261634,0.003544398363110757
+0.096,0.001863405884072171,0.002363405884072173,0.0001365941159278277,0.00354510882610826
+0.098,0.001863829053170395,0.002363829053170396,0.0001361709468296046,0.003545743579755595
+0.1,0.001864207126644318,0.002364207126644321,0.0001357928733556805,0.003546310689966481
diff --git a/models/sbml-test-suite/cases/semantic/00153/00153-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00153/00153-sbml-l2v4.xml
new file mode 100644
index 0000000..23599d4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00153/00153-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00153" id="case00153" name="case00153">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1500"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00153/00153-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00153/00153-sbml-l3v1.xml
new file mode 100644
index 0000000..305ff4a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00153/00153-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00153" id="case00153" name="case00153" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1500" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00153/00153-settings.txt b/models/sbml-test-suite/cases/semantic/00153/00153-settings.txt
new file mode 100644
index 0000000..e2dc377
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00153/00153-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00154/00154-results.csv b/models/sbml-test-suite/cases/semantic/00154/00154-results.csv
new file mode 100644
index 0000000..c6300a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00154/00154-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.01499999999999999,0.01125
+0.002,0.009048374180298721,0.01595162581970128,0.01196371936477596
+0.004,0.008187307530684183,0.01681269246931582,0.01260951935198686
+0.006,0.007408182193499562,0.01759181780650044,0.01319386335487533
+0.008,0.006703200445986811,0.0182967995540132,0.0137225996655099
+0.01,0.00606530658217818,0.01893469341782183,0.01420102006336637
+0.012,0.005488116279449232,0.01951188372055078,0.01463391279041309
+0.014,0.004965852941955196,0.02003414705804482,0.01502561029353361
+0.016,0.004493289550107299,0.02050671044989272,0.01538003283741954
+0.018,0.004065696526557078,0.02093430347344294,0.0157007276050822
+0.02,0.003678794208586615,0.0213212057914134,0.01599090434356005
+0.022,0.003328710836856665,0.02167128916314336,0.01625346687235752
+0.024,0.003011942117965253,0.02198805788203477,0.01649104341152607
+0.026,0.002725317929317832,0.02227468207068219,0.01670601155301164
+0.028,0.00246596963525794,0.02253403036474208,0.01690052277355656
+0.03,0.002231301588971263,0.02276869841102876,0.01707652380827157
+0.032,0.002018965179849746,0.02298103482015027,0.0172357761151127
+0.034,0.00182683523892677,0.02317316476107325,0.01737987357080493
+0.036,0.001652988860632831,0.02334701113936719,0.01751025835452539
+0.038,0.001495686149841626,0.02350431385015839,0.01762823538761879
+0.04,0.00135335280927234,0.02364664719072768,0.01773498539304576
+0.042,0.001224564282518591,0.02377543571748144,0.01783157678811107
+0.044,0.001108031511686222,0.0238919684883138,0.01791897636623535
+0.046,0.001002588437016289,0.02399741156298373,0.0179980586722378
+0.048,0.0009071794775683284,0.0240928205224317,0.01806961539182377
+0.05,0.0008208499570243267,0.0241791500429757,0.01813436253223177
+0.052,0.0007427357674259612,0.02425726423257406,0.01819294817443055
+0.054,0.0006720550815740289,0.024327944918426,0.0182459586888195
+0.056,0.0006081006242809926,0.02439189937571903,0.01829392453178927
+0.058,0.0005502321583977833,0.02444976784160225,0.01833732588120169
+0.06,0.0004978706289191835,0.02450212937108084,0.01837659702831063
+0.062,0.0004504919990431481,0.02454950800095688,0.01841213100071766
+0.064,0.0004076220396851822,0.02459237796031485,0.01844428347023613
+0.066,0.0003688316513799027,0.02463116834862012,0.01847337626146509
+0.068,0.000333732662671268,0.02466626733732876,0.01849970050299656
+0.07,0.0003019738127091471,0.02469802618729088,0.01852351964046816
+0.072,0.0002732372238699707,0.02472676277613005,0.01854507208209754
+0.074,0.0002472352535280901,0.02475276474647193,0.01856457355985395
+0.076,0.0002237076945614411,0.02477629230543858,0.01858221922907894
+0.078,0.0002024190971411715,0.02479758090285885,0.01859818567714414
+0.08,0.0001831563869082785,0.02481684361309174,0.01861263270981881
+0.082,0.000165726749141663,0.02483427325085836,0.01862570493814377
+0.084,0.0001499557532009462,0.02485004424679908,0.01863753318509931
+0.086,0.0001356855769299333,0.02486431442307009,0.01864823581730257
+0.088,0.0001227733960989864,0.02487722660390104,0.01865791995292578
+0.09,0.0001110899636602908,0.02488891003633974,0.0186666825272548
+0.092,0.0001005183484594362,0.02489948165154059,0.01867461123865544
+0.094,0.00009095276141543134,0.0249090472385846,0.01868178542893845
+0.096,0.00008229746723958263,0.02491770253276045,0.01868827689957033
+0.098,0.00007446583055799796,0.02492553416944203,0.01869415062708152
+0.1,0.0000673794699909769,0.02493262053000906,0.01869946539750679
diff --git a/models/sbml-test-suite/cases/semantic/00154/00154-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00154/00154-sbml-l2v4.xml
new file mode 100644
index 0000000..6d2eeda
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00154/00154-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00154" id="case00154" name="case00154">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00154/00154-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00154/00154-sbml-l3v1.xml
new file mode 100644
index 0000000..4eb6aec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00154/00154-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00154" id="case00154" name="case00154" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00154/00154-settings.txt b/models/sbml-test-suite/cases/semantic/00154/00154-settings.txt
new file mode 100644
index 0000000..7d8e2b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00154/00154-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00155/00155-results.csv b/models/sbml-test-suite/cases/semantic/00155/00155-results.csv
new file mode 100644
index 0000000..64e8e1f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00155/00155-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.0015,0.001,0.00225
+0.002,0.001090537779433926,0.001590537779433926,0.0009094622205660736,0.002385806669150889
+0.004,0.001171804228251088,0.001671804228251088,0.0008281957717489122,0.002507706342376632
+0.006,0.001244713132637305,0.001744713132637305,0.0007552868673626948,0.002617069698955958
+0.008,0.001310095331379109,0.001810095331379109,0.0006899046686208911,0.002715142997068664
+0.01,0.001368704797791689,0.001868704797791689,0.0006312952022083107,0.002803057196687534
+0.012,0.001421224595436436,0.001921224595436436,0.0005787754045635637,0.002881836893154655
+0.014,0.001468272586801471,0.001968272586801472,0.0005317274131985286,0.002952408880202208
+0.016,0.001510406942087761,0.002010406942087762,0.0004895930579122387,0.003015610413131643
+0.018,0.001548131278475432,0.002048131278475433,0.0004518687215245681,0.003072196917713149
+0.02,0.001581899521115031,0.002081899521115032,0.0004181004788849688,0.003122849281672548
+0.022,0.001612120391185141,0.002112120391185141,0.0003878796088148591,0.003168180586777712
+0.024,0.00163916162536562,0.002139161625365621,0.0003608383746343797,0.003208742438048432
+0.026,0.001663353848357894,0.002163353848357895,0.0003366461516421058,0.003245030772536843
+0.028,0.001684994070622704,0.002184994070622705,0.0003150059293772958,0.003277491105934058
+0.03,0.001704348970262974,0.002204348970262975,0.0002956510297370255,0.003306523455394463
+0.032,0.001721657889024611,0.002221657889024613,0.0002783421109753881,0.00333248683353692
+0.034,0.001737135488008387,0.002237135488008388,0.0002628645119916124,0.003355703232012582
+0.036,0.001750974236642282,0.002250974236642284,0.0002490257633577168,0.003376461354963426
+0.038,0.001763346631955341,0.002263346631955343,0.0002366533680446576,0.003395019947933015
+0.04,0.001774407237406171,0.002274407237406173,0.0002255927625938284,0.003411610856109259
+0.042,0.001784294461577139,0.00228429446157714,0.0002157055384228606,0.003426441692365711
+0.044,0.001793132279612108,0.002293132279612109,0.0002068677203878916,0.003439698419418164
+0.046,0.001801031633268969,0.002301031633268971,0.00019896836673103,0.003451547449903457
+0.048,0.001808091853020197,0.002308091853020199,0.0001919081469798018,0.003462137779530299
+0.05,0.001814401812537744,0.002314401812537746,0.000185598187462255,0.00347160271880662
+0.052,0.001820041012968795,0.002320041012968796,0.0001799589870312047,0.003480061519453195
+0.054,0.001825080588505974,0.002325080588505975,0.0001749194114940256,0.003487620882758963
+0.056,0.001829584172344202,0.002329584172344204,0.0001704158276557972,0.003494376258516306
+0.058,0.001833608656423342,0.002333608656423344,0.0001663913435766573,0.003500412984635016
+0.06,0.001837204915360448,0.00233720491536045,0.0001627950846395506,0.003505807373040676
+0.062,0.001840418449590051,0.002340418449590054,0.0001595815504099475,0.003510627674385081
+0.064,0.001843289934711521,0.002343289934711524,0.0001567100652884775,0.003514934902067286
+0.066,0.00184585573592488,0.002345855735924883,0.0001541442640751184,0.003518783603887325
+0.068,0.00184814835809368,0.002348148358093683,0.0001518516419063186,0.003522222537140525
+0.07,0.001850196857099186,0.002350196857099189,0.0001498031429008129,0.003525295285648783
+0.072,0.001852027204631942,0.002352027204631944,0.000147972795368057,0.003528040806947917
+0.074,0.001853662614294034,0.002353662614294036,0.0001463373857059648,0.003530493921441055
+0.076,0.001855123833474518,0.00235512383347452,0.0001448761665254812,0.00353268575021178
+0.078,0.001856429404540458,0.002356429404540461,0.0001435705954595404,0.003534644106810691
+0.08,0.001857595898529686,0.002357595898529689,0.0001424041014703123,0.003536393847794534
+0.082,0.001858638123780916,0.002358638123780918,0.0001413618762190828,0.003537957185671378
+0.084,0.001859569312467868,0.00235956931246787,0.0001404306875321312,0.003539353968701806
+0.086,0.001860401289103498,0.002360401289103501,0.000139598710896501,0.003540601933655252
+0.088,0.00186114462015805,0.002361144620158053,0.0001388553798419489,0.003541716930237079
+0.09,0.001861808747662811,0.002361808747662814,0.0001381912523371879,0.003542713121494221
+0.092,0.001862402108672467,0.002362402108672469,0.0001375978913275323,0.003543603163008704
+0.094,0.001862932242073836,0.002362932242073838,0.0001370677579261634,0.003544398363110757
+0.096,0.001863405884072171,0.002363405884072173,0.0001365941159278277,0.00354510882610826
+0.098,0.001863829053170395,0.002363829053170396,0.0001361709468296046,0.003545743579755595
+0.1,0.001864207126644318,0.002364207126644321,0.0001357928733556805,0.003546310689966481
diff --git a/models/sbml-test-suite/cases/semantic/00155/00155-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00155/00155-sbml-l2v4.xml
new file mode 100644
index 0000000..02e0931
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00155/00155-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00155" id="case00155" name="case00155">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1500"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00155/00155-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00155/00155-sbml-l3v1.xml
new file mode 100644
index 0000000..31e3519
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00155/00155-sbml-l3v1.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00155" id="case00155" name="case00155" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1500" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00155/00155-settings.txt b/models/sbml-test-suite/cases/semantic/00155/00155-settings.txt
new file mode 100644
index 0000000..e2dc377
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00155/00155-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00156/00156-results.csv b/models/sbml-test-suite/cases/semantic/00156/00156-results.csv
new file mode 100644
index 0000000..4bf3c53
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00156/00156-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.01499999999999999,0.01125
+0.004,0.008187307530680034,0.01681269246931997,0.01260951935198997
+0.008,0.006703200446109104,0.0182967995538909,0.01372259966541817
+0.012,0.005488116279702441,0.01951188372029756,0.01463391279022317
+0.016,0.004493289549976909,0.02050671045002309,0.01538003283751732
+0.02,0.003678794210562703,0.0213212057894373,0.01599090434207797
+0.024,0.003011942117958215,0.02198805788204179,0.01649104341153134
+0.028,0.002465969635284876,0.02253403036471514,0.01690052277353635
+0.032,0.002018965179723722,0.02298103482027629,0.01723577611520722
+0.036,0.001652988857468265,0.02334701114253175,0.01751025835689881
+0.04,0.001353352812613542,0.02364664718738647,0.01773498539053985
+0.044,0.001108031508480931,0.02389196849151908,0.01791897636863931
+0.048,0.0009071794820474554,0.02409282051795256,0.01806961538846442
+0.052,0.0007427357726601365,0.02425726422733988,0.01819294817050491
+0.056,0.0006081006210447077,0.02439189937895531,0.01829392453421648
+0.06,0.0004978706285800326,0.02450212937141998,0.01837659702856499
+0.064,0.0004076220394459287,0.02459237796055409,0.01844428347041556
+0.068,0.0003337326633610282,0.02466626733663899,0.01849970050247924
+0.072,0.0002732372225084497,0.02472676277749157,0.01854507208311868
+0.076,0.0002237076955250316,0.02477629230447498,0.01858221922835624
+0.08,0.0001831563855475733,0.02481684361445244,0.01861263271083933
+0.084,0.0001499557540926317,0.02485004424590739,0.01863753318443054
+0.088,0.0001227733950734052,0.02487722660492662,0.01865791995369496
+0.092,0.0001005183491563367,0.02489948165084368,0.01867461123813276
+0.096,0.00008229746656790124,0.02491770253343212,0.01868827690007409
+0.1,0.00006737946536036425,0.02493262053463966,0.01869946540097974
+0.104,0.00005516564072119911,0.02494483435927882,0.01870862576945911
+0.108,0.00004516580700131323,0.0249548341929987,0.01871612564474903
+0.112,0.00003697863429039314,0.02496302136570963,0.01872226602428222
+0.116,0.00003027554629226551,0.02496972445370775,0.01872729334028081
+0.12,0.00002478751952729548,0.02497521248047272,0.01873140936035454
+0.124,0.00002029430587750922,0.02497970569412251,0.01873477927059188
+0.128,0.00001661557106506624,0.02498338442893495,0.01873753832170121
+0.132,0.00001360368021648072,0.02498639631978354,0.01873979723983765
+0.136,0.00001113775028559483,0.02498886224971442,0.01874164668728581
+0.14,9.118819626718427e-6,0.0249908811803733,0.01874316088527997
+0.144,7.465857259677554e-6,0.02499253414274034,0.01874440060705525
+0.148,6.112527611322198e-6,0.0249938874723887,0.01874541560429152
+0.152,5.004513783904731e-6,0.02499499548621611,0.01874624661466209
+0.156,4.097349775260032e-6,0.02499590265022476,0.01874692698766857
+0.16,3.354625923452533e-6,0.02499664537407657,0.01874748403055743
+0.164,2.74653566496269e-6,0.02499725346433506,0.01874794009825129
+0.168,2.248673020115334e-6,0.02499775132697991,0.01874831349523493
+0.172,1.841057889747198e-6,0.02499815894211027,0.01874861920658271
+0.176,1.507330618079977e-6,0.02499849266938195,0.01874886950203646
+0.18,1.234097990968661e-6,0.02499876590200906,0.01874907442650679
+0.184,1.010393942301259e-6,0.02499898960605772,0.01874924220454329
+0.188,8.27240609181872e-7,0.02499917275939084,0.01874937956954313
+0.192,6.772873237754864e-7,0.02499932271267625,0.01874949203450719
+0.196,5.545159548426703e-7,0.02499944548404518,0.01874958411303389
+0.2,4.539992976287656e-7,0.0249995460007024,0.0187496595005268
diff --git a/models/sbml-test-suite/cases/semantic/00156/00156-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00156/00156-sbml-l2v4.xml
new file mode 100644
index 0000000..337a2e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00156/00156-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00156" id="case00156" name="case00156">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00156/00156-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00156/00156-sbml-l3v1.xml
new file mode 100644
index 0000000..a5fa4d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00156/00156-sbml-l3v1.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00156" id="case00156" name="case00156" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00156/00156-settings.txt b/models/sbml-test-suite/cases/semantic/00156/00156-settings.txt
new file mode 100644
index 0000000..f7f098f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00156/00156-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00157/00157-results.csv b/models/sbml-test-suite/cases/semantic/00157/00157-results.csv
new file mode 100644
index 0000000..c7e14c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00157/00157-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.015,0.01,0.0225
+0.04,0.00896271952128061,0.01396271952128061,0.01103728047871939,0.02094407928192092
+0.08,0.008245809155649951,0.01324580915564995,0.01175419084435005,0.01986871373347493
+0.12,0.007740765080677723,0.01274076508067772,0.01225923491932228,0.01911114762101658
+0.16,0.0073801681061252,0.0123801681061252,0.0126198318938748,0.0185702521591878
+0.2,0.007120230100609034,0.01212023010060903,0.01287976989939097,0.01818034515091355
+0.24,0.006931557955897762,0.01193155795589776,0.01306844204410224,0.01789733693384665
+0.28,0.006793927624357449,0.01179392762435745,0.01320607237564256,0.01769089143653618
+0.32,0.006693164476723277,0.01169316447672327,0.01330683552327673,0.01753974671508492
+0.36,0.00661919606181988,0.01161919606181988,0.01338080393818012,0.01742879409272983
+0.4,0.006564791323519591,0.01156479132351959,0.01343520867648041,0.01734718698527939
+0.44,0.006524719085506023,0.01152471908550603,0.01347528091449398,0.01728707862825904
+0.48,0.006495171637548483,0.01149517163754849,0.01350482836245152,0.01724275745632273
+0.52,0.006473366360482276,0.01147336636048228,0.01352663363951772,0.01721004954072342
+0.56,0.006457267376198227,0.01145726737619823,0.01354273262380177,0.01718590106429735
+0.6,0.006445375984840082,0.01144537598484009,0.01355462401515992,0.01716806397726013
+0.64,0.006436587936494917,0.01143658793649492,0.01356341206350508,0.01715488190474238
+0.68,0.006430094917865836,0.01143009491786584,0.01356990508213416,0.01714514237679876
+0.72,0.006425293264487228,0.01142529326448723,0.01357470673551277,0.01713793989673085
+0.76,0.006421745362116712,0.01142174536211671,0.01357825463788329,0.01713261804317507
+0.8,0.006419120297396871,0.01141912029739687,0.01358087970260313,0.01712868044609531
+0.84,0.006417181250237096,0.0114171812502371,0.0135828187497629,0.01712577187535565
+0.88,0.006415745439007132,0.01141574543900713,0.01358425456099287,0.01712361815851071
+0.92,0.006414685345739002,0.011414685345739,0.013585314654261,0.01712202801860851
+0.96,0.006413900486944607,0.01141390048694461,0.01358609951305539,0.01712085073041692
+1,0.006413319900040597,0.0114133199000406,0.0135866800999594,0.0171199798500609
+1.04,0.006412891832077096,0.0114128918320771,0.0135871081679229,0.01711933774811565
+1.08,0.006412573726486235,0.01141257372648624,0.01358742627351376,0.01711886058972936
+1.12,0.006412338933902585,0.01141233893390259,0.01358766106609741,0.01711850840085389
+1.16,0.006412166282514143,0.01141216628251415,0.01358783371748585,0.01711824942377122
+1.2,0.006412037409717185,0.01141203740971719,0.01358796259028281,0.01711805611457579
+1.24,0.006411942008899559,0.01141194200889956,0.01358805799110044,0.01711791301334935
+1.28,0.006411872406256665,0.01141187240625667,0.01358812759374333,0.01711780860938501
+1.32,0.006411820885259327,0.01141182088525933,0.01358817911474067,0.017117731327889
+1.36,0.00641178183855507,0.01141178183855507,0.01358821816144493,0.01711767275783261
+1.4,0.006411753149369226,0.01141175314936923,0.01358824685063077,0.01711762972405385
+1.44,0.006411732601574054,0.01141173260157406,0.01358826739842594,0.01711759890236109
+1.48,0.00641171758973512,0.01141171758973512,0.01358828241026488,0.01711757638460269
+1.52,0.006411705800604383,0.01141170580060439,0.01358829419939561,0.01711755870090658
+1.56,0.006411696931238735,0.01141169693123874,0.01358830306876126,0.01711754539685811
+1.6,0.00641169062254611,0.01141169062254611,0.01358830937745389,0.01711753593381917
+1.64,0.006411686283457635,0.01141168628345764,0.01358831371654237,0.01711752942518646
+1.68,0.006411683101876431,0.01141168310187643,0.01358831689812357,0.01711752465281466
+1.72,0.00641168042641531,0.01141168042641531,0.01358831957358469,0.01711752063962297
+1.76,0.006411678408903158,0.01141167840890316,0.01358832159109684,0.01711751761335474
+1.8,0.006411676973864893,0.01141167697386489,0.01358832302613511,0.01711751546079735
+1.84,0.00641167598685106,0.01141167598685106,0.01358832401314894,0.0171175139802766
+1.88,0.006411675263135815,0.01141167526313582,0.01358832473686418,0.01711751289470373
+1.92,0.006411674663080083,0.01141167466308008,0.01358832533691992,0.01711751199462013
+1.96,0.006411674218164838,0.01141167421816484,0.01358832578183516,0.01711751132724726
+2,0.006411673890056467,0.01141167389005647,0.01358832610994353,0.01711751083508471
diff --git a/models/sbml-test-suite/cases/semantic/00157/00157-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00157/00157-sbml-l1v2.xml
new file mode 100644
index 0000000..7a6a75e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00157/00157-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00157">
+    <listOfCompartments>
+      <compartment name="compartment" volume="0.01" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.01" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="3.25"/>
+      <parameter name="k2" value="1.75"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S2" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00157/00157-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00157/00157-sbml-l2v4.xml
new file mode 100644
index 0000000..2068fd1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00157/00157-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00157" id="case00157" name="case00157">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="0.01" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.25"/>
+      <parameter id="k2" name="k2" value="1.75"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00157/00157-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00157/00157-sbml-l3v1.xml
new file mode 100644
index 0000000..878e05d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00157/00157-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00157" id="case00157" name="case00157" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="0.01" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.25" constant="true"/>
+      <parameter id="k2" name="k2" value="1.75" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00157/00157-settings.txt b/models/sbml-test-suite/cases/semantic/00157/00157-settings.txt
new file mode 100644
index 0000000..324e199
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00157/00157-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00158/00158-results.csv b/models/sbml-test-suite/cases/semantic/00158/00158-results.csv
new file mode 100644
index 0000000..e8add3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00158/00158-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.015,0.01125
+0.01,0.06065306290837863,0.05434693709162136,0.04076020281871601
+0.02,0.03678794154106774,0.07821205845893227,0.0586590438441992
+0.03,0.0223130150396286,0.09268698496037139,0.06951523872027855
+0.04,0.01353353109869931,0.1014664689013007,0.07609985167597551
+0.05,0.008208500134114897,0.1067914998658851,0.08009362489941384
+0.06,0.00497870865410008,0.1100212913458999,0.08251596850942494
+0.07,0.003019738969592351,0.1119802610304076,0.08398519577280574
+0.08,0.001831564644670943,0.113168435355329,0.08487632651649679
+0.09,0.001110900176650731,0.1138890998233493,0.08541682486751194
+0.1,0.0006737949997800316,0.11432620500022,0.08574465375016498
+0.11,0.0004086774436473318,0.1145913225563526,0.08594349191726451
+0.12,0.0002478753517282718,0.1147521246482717,0.08606409348620379
+0.13,0.0001503440485942981,0.1148496559514057,0.0861372419635543
+0.14,9.118826386608998e-005,0.1149088117361339,0.08618160880210044
+0.15,5.530848659413545e-005,0.1149446915134058,0.08620851863505441
+0.16,3.354629672817409e-005,0.1149664537032718,0.08622484027745386
+0.17,2.034685596644085e-005,0.1149796531440335,0.08623473985802518
+0.18,1.234099588083937e-005,0.1149876590041191,0.08624074425308936
+0.19,7.485190876096466e-006,0.1149925148091239,0.08624438610684294
+0.2,4.539998966347675e-006,0.1149954600010336,0.08624659500077524
+0.21,2.753649105572176e-006,0.1149972463508944,0.08624793476317082
+0.22,1.670172911721508e-006,0.1149983298270883,0.0862487473703162
+0.23,1.013011218183196e-006,0.1149989869887818,0.08624924024158637
+0.24,6.14421316233885e-007,0.1149993855786838,0.08624953918401283
+0.25,3.726664552273463e-007,0.1149996273335448,0.0862497205001586
+0.26,2.260324803837027e-007,0.1149997739675196,0.08624983047563972
+0.27,1.370961731536899e-007,0.1149998629038268,0.08624989717787016
+0.28,8.315372730633015e-008,0.1149999168462727,0.08624993763470454
+0.29,5.043565158754986e-008,0.1149999495643484,0.08624996217326132
+0.3,3.05910879192525e-008,0.1149999694089121,0.08624997705668407
+0.31,1.855457905017443e-008,0.114999981445421,0.08624998608406571
+0.32,1.125347499904014e-008,0.114999988746525,0.08624999155989375
+0.33,6.824946809123548e-009,0.1149999931750532,0.08624999488128989
+0.34,4.140090222830755e-009,0.1149999958599098,0.08624999689493233
+0.35,2.511458113614069e-009,0.1149999974885419,0.08624999811640642
+0.36,1.522388980119892e-009,0.114999998477611,0.08624999885820828
+0.37,9.244897303787907e-010,0.1149999990755103,0.0862499993066327
+0.38,5.596899165997892e-010,0.1149999994403101,0.08624999958023256
+0.39,3.405511097262386e-010,0.1149999996594489,0.08624999974458668
+0.4,2.05580598201265e-010,0.1149999997944194,0.08624999984581454
+0.41,1.254192351237151e-010,0.1149999998745808,0.08624999990593557
+0.42,7.586766642034451e-011,0.1149999999241324,0.08624999994309925
+0.43,4.553922564310159e-011,0.1149999999544608,0.08624999996584558
+0.44,2.8469075371082e-011,0.1149999999715309,0.0862499999786482
+0.45,1.69788716960205e-011,0.1149999999830211,0.08624999998726583
+0.46,9.787446014217333e-012,0.1149999999902126,0.08624999999265941
+0.47,6.354628209814874e-012,0.1149999999936454,0.08624999999523401
+0.48,4.315404673076746e-012,0.1149999999956846,0.08624999999676343
+0.49,2.610926998731712e-012,0.1149999999973891,0.0862499999980418
+0.5,1.590977922481723e-012,0.114999999998409,0.08624999999880675
diff --git a/models/sbml-test-suite/cases/semantic/00158/00158-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00158/00158-sbml-l1v2.xml
new file mode 100644
index 0000000..1d25351
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00158/00158-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00158">
+    <listOfCompartments>
+      <compartment name="compartment" volume="0.08" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * S2" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00158/00158-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00158/00158-sbml-l2v4.xml
new file mode 100644
index 0000000..39677db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00158/00158-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00158" id="case00158" name="case00158">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="0.08" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00158/00158-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00158/00158-sbml-l3v1.xml
new file mode 100644
index 0000000..0b2127f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00158/00158-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00158" id="case00158" name="case00158" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="0.08" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00158/00158-settings.txt b/models/sbml-test-suite/cases/semantic/00158/00158-settings.txt
new file mode 100644
index 0000000..b264fce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00158/00158-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00159/00159-results.csv b/models/sbml-test-suite/cases/semantic/00159/00159-results.csv
new file mode 100644
index 0000000..f83279d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00159/00159-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.004,0.00001353214014314357,0.00001670955121969292,8.290448780307078e-6,0.00002506432682953939
+0.008,0.0000164087678932162,0.00001806929659992941,6.930703400070591e-6,0.00002710394489989412
+0.012,0.00001876008965174808,0.00001914640253538648,5.853597464613523e-6,0.00002871960380307973
+0.016,0.00002069247581830461,0.00001999645082364621,5.003549176353793e-6,0.00002999467623546932
+0.02,0.00002229211260103997,0.00002066491953337513,4.335080466624881e-6,0.0000309973793000627
+0.024,0.00002362838371796048,0.00002118869624276109,3.81130375723892e-6,0.00003178304436414165
+0.028,0.00002475686541923327,0.00002159749894840161,3.402501051598399e-6,0.00003239624842260242
+0.032,0.00002572189740171844,0.00002191514290531068,3.084857094689329e-6,0.00003287271435796603
+0.036,0.00002655874520397902,0.00002216063435927573,2.839365640724281e-6,0.00003324095153891359
+0.04,0.00002729538780138211,0.00002234909165659627,2.650908343403734e-6,0.00003352363748489441
+0.044,0.00002795398091458547,0.00002249250962645506,2.507490373544946e-6,0.00003373876443968259
+0.048,0.00002855204263220027,0.00002260038524995126,2.399614750048743e-6,0.0000339005778749269
+0.052,0.0000291034082122638,0.00002268022543515159,2.319774564848414e-6,0.00003402033815272739
+0.056,0.00002961899431785591,0.00002273795586503062,2.262044134969394e-6,0.00003410693379754592
+0.06,0.00003010741011984059,0.00002277824944464628,2.221750555353735e-6,0.00003416737416696942
+0.064,0.00003057544145659667,0.00002280478745658725,2.195212543412767e-6,0.00003420718118488088
+0.068,0.00003102843619507883,0.00002282046802492652,2.179531975073488e-6,0.00003423070203738979
+0.072,0.00003147060875118521,0.00002282757122459879,2.172428775401216e-6,0.00003424135683689819
+0.076,0.0000319052811552028,0.00002282789002877649,2.172109971223513e-6,0.00003424183504316474
+0.08,0.00003233507270558658,0.00002282283348349975,2.177166516500256e-6,0.00003423425022524963
+0.084,0.00003276205039179992,0.0000228135086441354,2.186491355864616e-6,0.0000342202629662031
+0.088,0.00003318784682483295,0.00002280078487961793,2.199215120382082e-6,0.0000342011773194269
+0.092,0.00003361375316430759,0.00002278534458823088,2.214655411769132e-6,0.00003417801688234632
+0.096,0.0000340407925660958,0.00002276772331401351,2.232276685986498e-6,0.00003415158497102027
+0.1,0.00003446977754811539,0.00002274834110028361,2.251658899716397e-6,0.00003412251165042542
+0.104,0.00003490135543178365,0.00002272752734173503,2.272472658264973e-6,0.00003409129101260256
+0.108,0.00003533604380447261,0.00002270554018961899,2.294459810381019e-6,0.00003405831028442848
+0.112,0.00003577425856638272,0.0000226825819076131,2.317418092386904e-6,0.00003402387286141966
+0.116,0.00003621633582586649,0.00002265881086556964,2.341189134430368e-6,0.00003398821629835446
+0.12,0.00003666254918727617,0.00002263435101435156,2.365648985648446e-6,0.00003395152652152734
+0.124,0.00003711312326033319,0.00002260929929340805,2.390700706591953e-6,0.00003391394894011208
+0.128,0.00003756824428968626,0.00002258373146230764,2.416268537692353e-6,0.00003387559719346147
+0.132,0.00003802806849549236,0.00002255770667897239,2.442293321027606e-6,0.00003383656001845859
+0.136,0.00003849272860980571,0.00002253127108960528,2.468728910394726e-6,0.00003379690663440792
+0.14,0.00003896233899721296,0.00002250446064275196,2.495539357248048e-6,0.00003375669096412794
+0.144,0.00003943699967813188,0.00002247730330186601,2.522696698133992e-6,0.00003371595495279902
+0.148,0.00003991679948224355,0.00002244982078087146,2.550179219128543e-6,0.00003367473117130719
+0.152,0.00004040181851472256,0.00002242202990269694,2.577970097303062e-6,0.00003363304485404541
+0.156,0.00004089213008956547,0.00002239394366538577,2.606056334614227e-6,0.00003359091549807866
+0.16,0.00004138780224147511,0.00002236557207681096,2.634427923189039e-6,0.00003354835811521644
+0.164,0.00004188889891180535,0.00002233692281044646,2.663077189553537e-6,0.0000335053842156697
+0.168,0.00004239548088022853,0.00002230800172164118,2.691998278358817e-6,0.00003346200258246178
+0.172,0.00004290760648201224,0.00002227881324575926,2.721186754240745e-6,0.00003341821986863889
+0.176,0.00004342533217726357,0.0000222493607152157,2.750639284784302e-6,0.00003337404107282355
+0.18,0.00004394871299467572,0.00002221964660761162,2.780353392388387e-6,0.00003332946991141742
+0.184,0.00004447780287262208,0.00002218967273714452,2.810327262855483e-6,0.00003328450910571678
+0.188,0.0000450126549291448,0.00002215944040716424,2.840559592835765e-6,0.00003323916061074636
+0.192,0.00004555332167104856,0.00002212895052927716,2.871049470722834e-6,0.00003319342579391575
+0.196,0.00004609985515435915,0.00002209820371550657,2.901796284493422e-6,0.00003314730557325986
+0.2,0.00004665230711011648,0.00002206720035157333,2.932799648426667e-6,0.00003310080052736
diff --git a/models/sbml-test-suite/cases/semantic/00159/00159-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00159/00159-sbml-l1v2.xml
new file mode 100644
index 0000000..dbed6e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00159/00159-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00159">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150000"/>
+      <parameter name="k2" value="50"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S2" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00159/00159-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00159/00159-sbml-l2v4.xml
new file mode 100644
index 0000000..2d1f62e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00159/00159-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00159" id="case00159" name="case00159">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00159/00159-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00159/00159-sbml-l3v1.xml
new file mode 100644
index 0000000..723df18
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00159/00159-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00159" id="case00159" name="case00159" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00159/00159-settings.txt b/models/sbml-test-suite/cases/semantic/00159/00159-settings.txt
new file mode 100644
index 0000000..137f6e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00159/00159-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00160/00160-results.csv b/models/sbml-test-suite/cases/semantic/00160/00160-results.csv
new file mode 100644
index 0000000..225295f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00160/00160-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5e-15,1.125e-15
+0.004,0.6703200443966531,0.1648399778016746,0.123629983351256
+0.008,0.4493289640232794,0.2753355179883616,0.2065016384912712
+0.012,0.3011942113466172,0.3494028943266928,0.2620521707450196
+0.016,0.2018964969130733,0.3990517515434647,0.2992888136575985
+0.02,0.1353352751931727,0.4323323624034151,0.3242492718025613
+0.024,0.09071795221685866,0.4546410238915721,0.3409807679186791
+0.028,0.06081006228369605,0.4695949688581534,0.352196226643615
+0.032,0.04076220193301533,0.4796188990334937,0.3597141742751203
+0.036,0.02732371975100736,0.4863381401244976,0.3647536050933732
+0.04,0.01831563669401434,0.4908421816529942,0.3681316362397456
+0.044,0.01227733863872624,0.4938613306806383,0.3703959980104787
+0.048,0.008229746578220826,0.495885126710891,0.3719138450331682
+0.052,0.005516564363629281,0.4972417178181868,0.37293128836364
+0.056,0.003697863691350243,0.4981510681543264,0.3736133011157448
+0.06,0.002478752046672531,0.4987606239766652,0.3740704679824989
+0.064,0.001661557106567084,0.499169221446718,0.3743769160850385
+0.068,0.001113775014322182,0.4994431124928405,0.3745823343696304
+0.072,0.0007465857326049492,0.4996267071336991,0.3747200303502743
+0.076,0.0005004514059278028,0.4997497742970377,0.3748123307227783
+0.08,0.0003354626248942511,0.4998322686875545,0.3748742015156659
+0.084,0.0002248673223639778,0.4998875663388197,0.3749156747541148
+0.088,0.0001507330668489352,0.4999246334665772,0.3749434750999329
+0.092,0.000101039391550278,0.4999494803042265,0.3749621102281699
+0.096,0.00006772872837241617,0.4999661356358154,0.3749746017268615
+0.1,0.00004539992522490477,0.4999773000373892,0.3749829750280419
+0.104,0.00003043248140329732,0.4999847837592999,0.3749885878194749
+0.108,0.0000203995032549002,0.4999898002483741,0.3749923501862806
+0.112,0.00001367419593667363,0.4999931629020332,0.3749948721765249
+0.116,9.166087214023582e-6,0.4999954169563944,0.3749965627172958
+0.12,6.144211718673478e-6,0.4999969278941422,0.3749976959206066
+0.124,4.118588214211946e-6,0.4999979407058945,0.3749984555294209
+0.128,2.760772300512771e-6,0.4999986196138515,0.3749989647103886
+0.132,1.850601104105163e-6,0.4999990746994497,0.3749993060245873
+0.136,1.240495071968188e-6,0.4999993797524658,0.3749995348143494
+0.14,8.315287100545464e-7,0.4999995842356468,0.3749996881767351
+0.144,5.573903362541067e-7,0.4999997213048337,0.3749997909786253
+0.148,3.736298988621584e-7,0.4999998131850523,0.3749998598887892
+0.152,2.504516072733404e-7,0.4999998747741981,0.3749999060806485
+0.156,1.678827367645209e-7,0.4999999160586334,0.374999937043975
+0.16,1.125351692856078e-7,0.4999999437324171,0.3749999577993128
+0.164,7.543458309792616e-8,0.4999999622827102,0.3749999717120326
+0.168,5.056531285582396e-8,0.4999999747173453,0.3749999810380089
+0.172,3.389494117803422e-8,0.4999999830525311,0.3749999872893983
+0.176,2.27204575173701e-8,0.4999999886397729,0.3749999914798297
+0.18,1.522997792636772e-8,0.4999999923850127,0.3749999942887595
+0.184,1.020895975364609e-8,0.4999999948955218,0.3749999961716414
+0.188,6.84327070699205e-9,0.4999999965783663,0.3749999974337747
+0.192,4.587181727042355e-9,0.4999999977064108,0.3749999982798081
+0.196,3.074879836496537e-9,0.4999999984625617,0.3749999988469213
+0.2,2.061153622501101e-9,0.4999999989694249,0.3749999992270687
diff --git a/models/sbml-test-suite/cases/semantic/00160/00160-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00160/00160-sbml-l1v2.xml
new file mode 100644
index 0000000..2faab55
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00160/00160-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00160">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * S2" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00160/00160-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00160/00160-sbml-l2v4.xml
new file mode 100644
index 0000000..e9f939e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00160/00160-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00160" id="case00160" name="case00160">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00160/00160-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00160/00160-sbml-l3v1.xml
new file mode 100644
index 0000000..99f9364
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00160/00160-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00160" id="case00160" name="case00160" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00160/00160-settings.txt b/models/sbml-test-suite/cases/semantic/00160/00160-settings.txt
new file mode 100644
index 0000000..4bd389f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00160/00160-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00161/00161-results.csv b/models/sbml-test-suite/cases/semantic/00161/00161-results.csv
new file mode 100644
index 0000000..077daf8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00161/00161-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.01499999999999999,0
+0.1,0.01357256127033397,0.001427438729666023
+0.2,0.01228096129100411,0.002719038708995884
+0.3,0.01111227330359033,0.003887726696409658
+0.4,0.01005480057054202,0.004945199429457969
+0.5,0.009097959801389584,0.00590204019861041
+0.6,0.008232174498496273,0.00676782550150372
+0.7,0.007448779553823956,0.007551220446176037
+0.8,0.006739934215385759,0.008260065784614235
+0.9,0.006098544771064459,0.008901455228935534
+1.,0.005518191315175401,0.009481808684824592
+1.1,0.004993066242811124,0.01000693375718887
+1.2,0.004517912903924455,0.01048208709607554
+1.3,0.004087976878755582,0.01091202312124441
+1.4,0.003698954265071974,0.01130104573492802
+1.5,0.003346952081712421,0.01165304791828757
+1.6,0.003028447702965832,0.01197155229703416
+1.7,0.002740252827903471,0.01225974717209652
+1.8,0.002479483117207911,0.01252051688279208
+1.9,0.002243529011222396,0.01275647098877759
+2.,0.00203002907001679,0.0129699709299832
+2.1,0.001836846396810475,0.01316315360318952
+2.2,0.001662047344228168,0.01333795265577182
+2.3,0.001503882518640432,0.01349611748135956
+2.4,0.001360769131556771,0.01363923086844322
+2.5,0.001231274881496236,0.01376872511850376
+2.6,0.00111410366379587,0.01388589633620412
+2.7,0.001008082664356536,0.01399191733564346
+2.8,0.0009121508493851816,0.01408784915061481
+2.9,0.0008253482002429309,0.01417465179975706
+3.,0.0007468059728554316,0.01425319402714456
+3.1,0.0006757380333962868,0.0143242619666037
+3.2,0.0006114330382788998,0.01438856696172109
+3.3,0.0005532474527664752,0.01444675254723351
+3.4,0.0005005989896794293,0.01449940101032056
+3.5,0.0004529607236026351,0.01454703927639735
+3.6,0.0004098558363866104,0.01459014416361338
+3.7,0.0003708528807586986,0.01462914711924129
+3.8,0.000335561540589286,0.0146644384594107
+3.9,0.0003036286365921482,0.01469637136340784
+4.,0.0002747345691026944,0.0147252654308973
+4.1,0.0002485901310181353,0.01475140986898185
+4.2,0.0002249336403524908,0.0147750663596475
+4.3,0.0002035283616249049,0.01479647163837508
+4.4,0.0001841600781455433,0.01481583992185444
+4.5,0.0001666349410051638,0.01483336505899483
+4.6,0.0001507775359400847,0.01484922246405991
+4.7,0.0001364291480123777,0.01486357085198761
+4.8,0.0001234461909945071,0.01487655380900548
+4.9,0.0001116987387727886,0.0148883012612272
+5.,0.000101069204986923,0.01489893079501307
diff --git a/models/sbml-test-suite/cases/semantic/00161/00161-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00161/00161-sbml-l1v2.xml
new file mode 100644
index 0000000..7010868
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00161/00161-sbml-l1v2.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00161">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.015"/>
+      <parameter name="S2" value="0"/>
+      <parameter name="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="-1 * k1 * S1" type="rate" name="S1"/>
+      <parameterRule formula="k1 * S1" type="rate" name="S2"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00161/00161-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00161/00161-sbml-l2v4.xml
new file mode 100644
index 0000000..a48f9a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00161/00161-sbml-l2v4.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00161" id="case00161" name="case00161">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00161/00161-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00161/00161-sbml-l3v1.xml
new file mode 100644
index 0000000..ac3d235
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00161/00161-sbml-l3v1.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00161" id="case00161" name="case00161" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00161/00161-settings.txt b/models/sbml-test-suite/cases/semantic/00161/00161-settings.txt
new file mode 100644
index 0000000..de36dec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00161/00161-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00162/00162-results.csv b/models/sbml-test-suite/cases/semantic/00162/00162-results.csv
new file mode 100644
index 0000000..077daf8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00162/00162-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.01499999999999999,0
+0.1,0.01357256127033397,0.001427438729666023
+0.2,0.01228096129100411,0.002719038708995884
+0.3,0.01111227330359033,0.003887726696409658
+0.4,0.01005480057054202,0.004945199429457969
+0.5,0.009097959801389584,0.00590204019861041
+0.6,0.008232174498496273,0.00676782550150372
+0.7,0.007448779553823956,0.007551220446176037
+0.8,0.006739934215385759,0.008260065784614235
+0.9,0.006098544771064459,0.008901455228935534
+1.,0.005518191315175401,0.009481808684824592
+1.1,0.004993066242811124,0.01000693375718887
+1.2,0.004517912903924455,0.01048208709607554
+1.3,0.004087976878755582,0.01091202312124441
+1.4,0.003698954265071974,0.01130104573492802
+1.5,0.003346952081712421,0.01165304791828757
+1.6,0.003028447702965832,0.01197155229703416
+1.7,0.002740252827903471,0.01225974717209652
+1.8,0.002479483117207911,0.01252051688279208
+1.9,0.002243529011222396,0.01275647098877759
+2.,0.00203002907001679,0.0129699709299832
+2.1,0.001836846396810475,0.01316315360318952
+2.2,0.001662047344228168,0.01333795265577182
+2.3,0.001503882518640432,0.01349611748135956
+2.4,0.001360769131556771,0.01363923086844322
+2.5,0.001231274881496236,0.01376872511850376
+2.6,0.00111410366379587,0.01388589633620412
+2.7,0.001008082664356536,0.01399191733564346
+2.8,0.0009121508493851816,0.01408784915061481
+2.9,0.0008253482002429309,0.01417465179975706
+3.,0.0007468059728554316,0.01425319402714456
+3.1,0.0006757380333962868,0.0143242619666037
+3.2,0.0006114330382788998,0.01438856696172109
+3.3,0.0005532474527664752,0.01444675254723351
+3.4,0.0005005989896794293,0.01449940101032056
+3.5,0.0004529607236026351,0.01454703927639735
+3.6,0.0004098558363866104,0.01459014416361338
+3.7,0.0003708528807586986,0.01462914711924129
+3.8,0.000335561540589286,0.0146644384594107
+3.9,0.0003036286365921482,0.01469637136340784
+4.,0.0002747345691026944,0.0147252654308973
+4.1,0.0002485901310181353,0.01475140986898185
+4.2,0.0002249336403524908,0.0147750663596475
+4.3,0.0002035283616249049,0.01479647163837508
+4.4,0.0001841600781455433,0.01481583992185444
+4.5,0.0001666349410051638,0.01483336505899483
+4.6,0.0001507775359400847,0.01484922246405991
+4.7,0.0001364291480123777,0.01486357085198761
+4.8,0.0001234461909945071,0.01487655380900548
+4.9,0.0001116987387727886,0.0148883012612272
+5.,0.000101069204986923,0.01489893079501307
diff --git a/models/sbml-test-suite/cases/semantic/00162/00162-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00162/00162-sbml-l1v2.xml
new file mode 100644
index 0000000..bce2c3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00162/00162-sbml-l1v2.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00162">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.015"/>
+      <parameter name="S2" value="0"/>
+      <parameter name="k1" value="1"/>
+      <parameter name="k2" value="0"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="k2 * S2 + -1 * k1 * S1" type="rate" name="S1"/>
+      <parameterRule formula="k1 * S1 + -1 * k2 * S2" type="rate" name="S2"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00162/00162-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00162/00162-sbml-l2v4.xml
new file mode 100644
index 0000000..a28509c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00162/00162-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00162" id="case00162" name="case00162">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="0"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00162/00162-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00162/00162-sbml-l3v1.xml
new file mode 100644
index 0000000..20a966a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00162/00162-sbml-l3v1.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00162" id="case00162" name="case00162" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="0" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00162/00162-settings.txt b/models/sbml-test-suite/cases/semantic/00162/00162-settings.txt
new file mode 100644
index 0000000..de36dec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00162/00162-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00163/00163-results.csv b/models/sbml-test-suite/cases/semantic/00163/00163-results.csv
new file mode 100644
index 0000000..83b7a99
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00163/00163-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.01499999999999999,0
+0.1,0.0142862806351185,0.0007137193648814871
+0.2,0.01364048064368723,0.001359519356312763
+0.3,0.01305613665351408,0.001943863346485914
+0.4,0.01252740028051138,0.002472599719488608
+0.5,0.01204897989984184,0.002951020100158149
+0.6,0.01161608724361433,0.003383912756385657
+0.7,0.01122438976962701,0.003775610230372984
+0.8,0.01086996723078894,0.004130032769211053
+0.9,0.01054927226645208,0.00445072773354791
+1.,0.01025909575761628,0.004740904242383711
+1.1,0.00999653303318985,0.005003466966810145
+1.2,0.009758956483054085,0.005241043516945912
+1.3,0.009543988427439149,0.005456011572560845
+1.4,0.009349477113489322,0.005650522886510672
+1.5,0.009173476198678264,0.005826523801321731
+1.6,0.009014223876335677,0.005985776123664316
+1.7,0.008870126383751245,0.006129873616248748
+1.8,0.008739741568208996,0.006260258431790998
+1.9,0.008621764510305019,0.006378235489694975
+2.,0.008515014464280979,0.006484985535719016
+2.1,0.008418423042777257,0.006581576957222737
+2.2,0.008331023525682435,0.00666897647431756
+2.3,0.008251941186151577,0.006748058813848418
+2.4,0.008180384537034705,0.006819615462965288
+2.5,0.008115637362401015,0.006884362637598976
+2.6,0.008057051721465435,0.006942948278534556
+2.7,0.008004041241385111,0.00699595875861488
+2.8,0.007956075375458261,0.00704392462454173
+2.9,0.007912674065177274,0.007087325934822716
+3.,0.007873402935641598,0.007126597064358392
+3.1,0.007837868948187597,0.007162131051812394
+3.2,0.007805716466725847,0.007194283533274143
+3.3,0.007776623698415269,0.007223376301584721
+3.4,0.007750299473052479,0.007249700526947512
+3.5,0.007726480328930511,0.00727351967106948
+3.6,0.007704927876068947,0.007295072123931043
+3.7,0.007685426410269022,0.007314573589730969
+3.8,0.007667780754306389,0.007332219245693602
+3.9,0.007651814304525338,0.007348185695474652
+4.,0.007637367263330001,0.007362632736669989
+4.1,0.007624295039876328,0.007375704960123663
+4.2,0.007612466802958315,0.007387533197041676
+4.3,0.007601764171605316,0.007398235828394675
+4.4,0.007592080030285513,0.007407919969714478
+4.5,0.007583317456856534,0.007416682543143457
+4.6,0.007575388752540185,0.007424611247459806
+4.7,0.007568214564198133,0.007431785435801857
+4.8,0.007561723090142138,0.007438276909857852
+4.9,0.007555849370135378,0.007444150629864612
+5.,0.007550534602494556,0.007449465397505435
diff --git a/models/sbml-test-suite/cases/semantic/00163/00163-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00163/00163-sbml-l1v2.xml
new file mode 100644
index 0000000..ea01a6d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00163/00163-sbml-l1v2.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00163">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.015"/>
+      <parameter name="S2" value="0"/>
+      <parameter name="k1" value="0.5"/>
+      <parameter name="k2" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="k2 * S2 + -1 * k1 * S1" type="rate" name="S1"/>
+      <parameterRule formula="k1 * S1 + -1 * k2 * S2" type="rate" name="S2"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00163/00163-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00163/00163-sbml-l2v4.xml
new file mode 100644
index 0000000..10fa6bb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00163/00163-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00163" id="case00163" name="case00163">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00163/00163-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00163/00163-sbml-l3v1.xml
new file mode 100644
index 0000000..441ed79
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00163/00163-sbml-l3v1.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00163" id="case00163" name="case00163" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00163/00163-settings.txt b/models/sbml-test-suite/cases/semantic/00163/00163-settings.txt
new file mode 100644
index 0000000..de36dec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00163/00163-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00164/00164-results.csv b/models/sbml-test-suite/cases/semantic/00164/00164-results.csv
new file mode 100644
index 0000000..94c24b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00164/00164-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.01499999999999999,0.01499999999999999
+0.1,0.01499999999999999,0.01499999999999999
+0.2,0.01499999999999999,0.01499999999999999
+0.3,0.01499999999999999,0.01499999999999999
+0.4,0.01499999999999999,0.01499999999999999
+0.5,0.01499999999999999,0.01499999999999999
+0.6,0.01499999999999999,0.01499999999999999
+0.7,0.01499999999999999,0.01499999999999999
+0.8,0.01499999999999999,0.01499999999999999
+0.9,0.01499999999999999,0.01499999999999999
+1.,0.01499999999999999,0.01499999999999999
+1.1,0.01499999999999999,0.01499999999999999
+1.2,0.01499999999999999,0.01499999999999999
+1.3,0.01499999999999999,0.01499999999999999
+1.4,0.01499999999999999,0.01499999999999999
+1.5,0.01499999999999999,0.01499999999999999
+1.6,0.01499999999999999,0.01499999999999999
+1.7,0.01499999999999999,0.01499999999999999
+1.8,0.01499999999999999,0.01499999999999999
+1.9,0.01499999999999999,0.01499999999999999
+2.,0.01499999999999999,0.01499999999999999
+2.1,0.01499999999999999,0.01499999999999999
+2.2,0.01499999999999999,0.01499999999999999
+2.3,0.01499999999999999,0.01499999999999999
+2.4,0.01499999999999999,0.01499999999999999
+2.5,0.01499999999999999,0.01499999999999999
+2.6,0.01499999999999999,0.01499999999999999
+2.7,0.01499999999999999,0.01499999999999999
+2.8,0.01499999999999999,0.01499999999999999
+2.9,0.01499999999999999,0.01499999999999999
+3.,0.01499999999999999,0.01499999999999999
+3.1,0.01499999999999999,0.01499999999999999
+3.2,0.01499999999999999,0.01499999999999999
+3.3,0.01499999999999999,0.01499999999999999
+3.4,0.01499999999999999,0.01499999999999999
+3.5,0.01499999999999999,0.01499999999999999
+3.6,0.01499999999999999,0.01499999999999999
+3.7,0.01499999999999999,0.01499999999999999
+3.8,0.01499999999999999,0.01499999999999999
+3.9,0.01499999999999999,0.01499999999999999
+4.,0.01499999999999999,0.01499999999999999
+4.1,0.01499999999999999,0.01499999999999999
+4.2,0.01499999999999999,0.01499999999999999
+4.3,0.01499999999999999,0.01499999999999999
+4.4,0.01499999999999999,0.01499999999999999
+4.5,0.01499999999999999,0.01499999999999999
+4.6,0.01499999999999999,0.01499999999999999
+4.7,0.01499999999999999,0.01499999999999999
+4.8,0.01499999999999999,0.01499999999999999
+4.9,0.01499999999999999,0.01499999999999999
+5.,0.01499999999999999,0.01499999999999999
diff --git a/models/sbml-test-suite/cases/semantic/00164/00164-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00164/00164-sbml-l1v2.xml
new file mode 100644
index 0000000..4c7780f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00164/00164-sbml-l1v2.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00164">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.015"/>
+      <parameter name="S2" value="0.015"/>
+      <parameter name="k1" value="0.5"/>
+      <parameter name="k2" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="k2 * S2 + -1 * k1 * S1" type="rate" name="S1"/>
+      <parameterRule formula="k1 * S1 + -1 * k2 * S2" type="rate" name="S2"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00164/00164-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00164/00164-sbml-l2v4.xml
new file mode 100644
index 0000000..2b49d4e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00164/00164-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00164" id="case00164" name="case00164">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0.015" constant="false"/>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00164/00164-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00164/00164-sbml-l3v1.xml
new file mode 100644
index 0000000..ee9e532
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00164/00164-sbml-l3v1.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00164" id="case00164" name="case00164" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0.015" constant="false"/>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00164/00164-settings.txt b/models/sbml-test-suite/cases/semantic/00164/00164-settings.txt
new file mode 100644
index 0000000..de36dec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00164/00164-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00165/00165-results.csv b/models/sbml-test-suite/cases/semantic/00165/00165-results.csv
new file mode 100644
index 0000000..fc15293
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00165/00165-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.015,0.02,0.01
+0.24,0.01609456962140525,0.02109456962140527,0.008905430378594744
+0.48,0.01706104801329038,0.02206104801329039,0.007938951986709625
+0.72,0.01791422658949486,0.02291422658949487,0.007085773410505144
+0.96,0.01866723274755613,0.02366723274755614,0.006332767252443875
+1.2,0.01933170750541143,0.02433170750541144,0.005668292494588579
+1.44,0.01991796571512148,0.0249179657151215,0.005082034284878528
+1.68,0.02043514139959288,0.02543514139959289,0.004564858600407129
+1.92,0.02089131837886398,0.02589131837886399,0.004108681621136026
+2.16,0.02129364695769636,0.02629364695769637,0.003706353042303652
+2.4,0.02164844911706563,0.02664844911706565,0.003351550882934374
+2.64,0.02196131243757461,0.02696131243757463,0.003038687562425397
+2.88,0.02223717347380448,0.02723717347380449,0.002762826526195532
+3.12,0.02248039232425307,0.02748039232425309,0.002519607675746937
+3.36,0.02269481893393462,0.02769481893393464,0.002305181066065387
+3.6,0.02288385197153325,0.02788385197153326,0.002116148028466761
+3.84,0.02305049118472827,0.02805049118472828,0.001949508815271744
+4.08,0.02319738336852105,0.02819738336852107,0.001802616631478959
+4.32,0.02332686413520951,0.02832686413520953,0.001673135864790501
+4.56,0.02344099378772814,0.02844099378772815,0.001559006212271875
+4.8,0.02354158939444096,0.02854158939444098,0.00145841060555905
+5.04,0.02363025398765608,0.02863025398765609,0.001369746012343935
+5.28,0.02370840072360417,0.02870840072360418,0.001291599276395849
+5.52,0.02377727615373406,0.02877727615373408,0.001222723846265957
+5.76,0.02383797914444607,0.02883797914444609,0.001162020855553955
+6.,0.02389147864733914,0.02889147864733916,0.001108521352660885
+6.24,0.02393862886746623,0.02893862886746624,0.001061371132533798
+6.48,0.02398018286113083,0.02898018286113085,0.001019817138869191
+6.72,0.02401680448190315,0.02901680448190317,0.0009831955180968784
+6.96,0.02404907889240328,0.0290490788924033,0.0009509211075967506
+7.2,0.02407752191950814,0.02907752191950816,0.0009224780804918889
+7.44,0.02410258822566648,0.0291025882256665,0.000897411774333552
+7.68,0.02412467855779409,0.02912467855779411,0.0008753214422059414
+7.92,0.02414414613249427,0.02914414613249429,0.000855853867505762
+8.16,0.02416130228697301,0.02916130228697302,0.000838697713027024
+8.4,0.02417642134418156,0.02917642134418158,0.0008235786558184726
+8.64,0.0241897451829386,0.02918974518293862,0.0008102548170614313
+8.88,0.02420148692625343,0.02920148692625344,0.0007985130737466016
+9.12,0.02421183437190129,0.02921183437190131,0.0007881656280987388
+9.36,0.02422095310474906,0.02922095310474907,0.0007790468952509682
+9.6,0.02422898899926009,0.0292289889992601,0.0007710110007399415
+9.84,0.02423607060680689,0.02923607060680691,0.0007639293931931392
+10.08,0.02424231126242342,0.02924231126242344,0.0007576887375766097
+10.32,0.02424781082764061,0.02924781082764062,0.0007521891723594238
+10.56,0.0242526572857124,0.02925265728571242,0.0007473427142876287
+10.8,0.02425692819167317,0.02925692819167319,0.0007430718083268622
+11.04,0.02426069190494597,0.02926069190494599,0.0007393080950540638
+11.28,0.0242640086525881,0.02926400865258812,0.0007359913474119345
+11.52,0.02426693150365549,0.0292669315036555,0.0007330684963445521
+11.76,0.02426950723731307,0.02926950723731308,0.000730492762686965
+12.,0.02427177708159215,0.02927177708159216,0.0007282229184078893
diff --git a/models/sbml-test-suite/cases/semantic/00165/00165-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00165/00165-sbml-l1v2.xml
new file mode 100644
index 0000000..984e103
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00165/00165-sbml-l1v2.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00165">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.015"/>
+      <parameter name="S2" value="0.02"/>
+      <parameter name="S3" value="0.01"/>
+      <parameter name="k1" value="0.5"/>
+      <parameter name="k2" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="k2 * S3 + -1 * k1 * S1 * S2" type="rate" name="S1"/>
+      <parameterRule formula="k2 * S3 + -1 * k1 * S1 * S2" type="rate" name="S2"/>
+      <parameterRule formula="k1 * S1 * S2 + -1 * k2 * S3" type="rate" name="S3"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00165/00165-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00165/00165-sbml-l2v4.xml
new file mode 100644
index 0000000..c37c287
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00165/00165-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00165" id="case00165" name="case00165">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0.02" constant="false"/>
+      <parameter id="S3" name="S3" value="0.01" constant="false"/>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00165/00165-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00165/00165-sbml-l3v1.xml
new file mode 100644
index 0000000..2a9f290
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00165/00165-sbml-l3v1.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00165" id="case00165" name="case00165" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0.02" constant="false"/>
+      <parameter id="S3" name="S3" value="0.01" constant="false"/>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00165/00165-settings.txt b/models/sbml-test-suite/cases/semantic/00165/00165-settings.txt
new file mode 100644
index 0000000..226a288
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00165/00165-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00166/00166-results.csv b/models/sbml-test-suite/cases/semantic/00166/00166-results.csv
new file mode 100644
index 0000000..794e03b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00166/00166-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.01,0.02,0.01
+0.05,0.009881763185936597,0.009881763185936597,0.0201182368140634,0.0101182368140634
+0.1,0.009776045704354061,0.009776045704354061,0.02022395429564595,0.01022395429564593
+0.15,0.009681471874858708,0.009681471874858708,0.02031852812514131,0.01031852812514129
+0.2,0.009596826954519965,0.009596826954519965,0.02040317304548005,0.01040317304548003
+0.25,0.009521036405217656,0.009521036405217656,0.02047896359478236,0.01047896359478234
+0.3,0.009453148196573325,0.009453148196573325,0.02054685180342669,0.01054685180342667
+0.35,0.00939231779176645,0.00939231779176645,0.02060768220823357,0.01060768220823355
+0.4,0.0093377947389342,0.0093377947389342,0.02066220526106582,0.0106622052610658
+0.45,0.009288911732840318,0.009288911732840318,0.0207110882671597,0.01071108826715968
+0.5,0.009245074632986852,0.009245074632986852,0.02075492536701316,0.01075492536701314
+0.55,0.009205753888269501,0.009205753888269501,0.02079424611173051,0.01079424611173049
+0.6,0.009170477298995758,0.009170477298995758,0.02082952270100426,0.01082952270100424
+0.65,0.009138823317456296,0.009138823317456296,0.02086117668254371,0.0108611766825437
+0.7,0.009110415395753039,0.009110415395753039,0.02088958460424697,0.01088958460424696
+0.75,0.009084917047516178,0.009084917047516178,0.02091508295248383,0.01091508295248382
+0.8,0.009062027359775286,0.009062027359775286,0.02093797264022472,0.01093797264022471
+0.85,0.009041477095967039,0.009041477095967039,0.02095852290403297,0.01095852290403296
+0.9,0.00902302525508963,0.00902302525508963,0.02097697474491037,0.01097697474491037
+0.95,0.009006456024877661,0.009006456024877661,0.02099354397512234,0.01099354397512233
+1.,0.008991576080139961,0.008991576080139961,0.02100842391986004,0.01100842391986003
+1.05,0.008978212196908823,0.008978212196908823,0.02102178780309118,0.01102178780309117
+1.1,0.008966209111335979,0.008966209111335979,0.02103379088866403,0.01103379088866402
+1.15,0.008955427611876582,0.008955427611876582,0.02104457238812342,0.01104457238812341
+1.2,0.008945742852631038,0.008945742852631038,0.02105425714736897,0.01105425714736896
+1.25,0.008937042847072761,0.008937042847072761,0.02106295715292724,0.01106295715292723
+1.3,0.00892922712427552,0.00892922712427552,0.02107077287572448,0.01107077287572448
+1.35,0.008922205529245103,0.008922205529245103,0.0210777944707549,0.01107779447075489
+1.4,0.008915897151202516,0.008915897151202516,0.02108410284879748,0.01108410284879748
+1.45,0.008910229365606682,0.008910229365606682,0.02108977063439332,0.01108977063439331
+1.5,0.008905136977053772,0.008905136977053772,0.02109486302294623,0.01109486302294622
+1.55,0.008900561454040278,0.008900561454040278,0.02109943854595972,0.01109943854595972
+1.6,0.008896450241022868,0.008896450241022868,0.02110354975897713,0.01110354975897713
+1.65,0.008892756144979316,0.008892756144979316,0.02110724385502068,0.01110724385502068
+1.7,0.008889436785004593,0.008889436785004593,0.0211105632149954,0.0111105632149954
+1.75,0.008886454098026836,0.008886454098026836,0.02111354590197316,0.01111354590197316
+1.8,0.008883773896550293,0.008883773896550293,0.02111622610344971,0.0111162261034497
+1.85,0.008881365472239794,0.008881365472239794,0.02111863452776021,0.0111186345277602
+1.9,0.008879201240400182,0.008879201240400182,0.02112079875959982,0.01112079875959981
+1.95,0.008877256418782245,0.008877256418782245,0.02112274358121776,0.01112274358121775
+2.,0.008875508750721662,0.008875508750721662,0.02112449124927834,0.01112449124927833
+2.05,0.008873938234101184,0.008873938234101184,0.02112606176589882,0.01112606176589881
+2.1,0.00887252690093993,0.00887252690093993,0.02112747309906008,0.01112747309906007
+2.15,0.00887125860783596,0.00887125860783596,0.02112874139216404,0.01112874139216404
+2.2,0.008870118850276904,0.008870118850276904,0.0211298811497231,0.01112988114972309
+2.25,0.008869094595926992,0.008869094595926992,0.02113090540407301,0.011130905404073
+2.3,0.008868174134936689,0.008868174134936689,0.02113182586506331,0.01113182586506331
+2.35,0.008867346945524178,0.008867346945524178,0.02113265305447582,0.01113265305447582
+2.4,0.008866603573166534,0.008866603573166534,0.02113339642683347,0.01113339642683346
+2.45,0.008865935522902011,0.008865935522902011,0.02113406447709799,0.01113406447709798
+2.5,0.008865335160035212,0.008865335160035212,0.02113466483996479,0.01113466483996478
diff --git a/models/sbml-test-suite/cases/semantic/00166/00166-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00166/00166-sbml-l1v2.xml
new file mode 100644
index 0000000..60b4ae3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00166/00166-sbml-l1v2.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00166">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.01"/>
+      <parameter name="S2" value="0.01"/>
+      <parameter name="S3" value="0.02"/>
+      <parameter name="S4" value="0.01"/>
+      <parameter name="k1" value="75"/>
+      <parameter name="k2" value="25"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="k2 * S3 * S4 + -1 * k1 * S1 * S2" type="rate" name="S1"/>
+      <parameterRule formula="k2 * S3 * S4 + -1 * k1 * S1 * S2" type="rate" name="S2"/>
+      <parameterRule formula="k1 * S1 * S2 + -1 * k2 * S3 * S4" type="rate" name="S3"/>
+      <parameterRule formula="k1 * S1 * S2 + -1 * k2 * S3 * S4" type="rate" name="S4"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00166/00166-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00166/00166-sbml-l2v4.xml
new file mode 100644
index 0000000..e59b60c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00166/00166-sbml-l2v4.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00166" id="case00166" name="case00166">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.01" constant="false"/>
+      <parameter id="S2" name="S2" value="0.01" constant="false"/>
+      <parameter id="S3" name="S3" value="0.02" constant="false"/>
+      <parameter id="S4" name="S4" value="0.01" constant="false"/>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00166/00166-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00166/00166-sbml-l3v1.xml
new file mode 100644
index 0000000..119d102
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00166/00166-sbml-l3v1.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00166" id="case00166" name="case00166" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.01" constant="false"/>
+      <parameter id="S2" name="S2" value="0.01" constant="false"/>
+      <parameter id="S3" name="S3" value="0.02" constant="false"/>
+      <parameter id="S4" name="S4" value="0.01" constant="false"/>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00166/00166-settings.txt b/models/sbml-test-suite/cases/semantic/00166/00166-settings.txt
new file mode 100644
index 0000000..a1d49fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00166/00166-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00167/00167-results.csv b/models/sbml-test-suite/cases/semantic/00167/00167-results.csv
new file mode 100644
index 0000000..b1c344d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00167/00167-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.02,0,0
+0.8,0.008438422093885546,0.0192028387117014,0.002358739194413051,0.002358739194413051
+1.6,0.007421306450830345,0.01798738743731154,0.004591306111858115,0.004591306111858115
+2.4,0.00666893141295993,0.01666307138800265,0.006667997199037422,0.006667997199037422
+3.2,0.006057514348061334,0.01535842901461645,0.00858405663732222,0.00858405663732222
+4.,0.005531188957280115,0.01412384641014328,0.01034496463257661,0.01034496463257661
+4.8,0.005063751405810757,0.01297616972261446,0.01196007887157478,0.01196007887157478
+5.6,0.004642030601480095,0.01191806260909099,0.01343990678942892,0.01343990678942892
+6.4,0.004258653976301784,0.01094639082180815,0.01479495520189007,0.01479495520189007
+7.2,0.003908895661424383,0.01005584001697825,0.01603526432159737,0.01603526432159737
+8.,0.003589298605476243,0.009240463615621629,0.01717023777890213,0.01717023777890213
+8.8,0.00329706773833108,0.008494332523156683,0.01820859973851224,0.01820859973851224
+9.6,0.003029798510032612,0.007811795863673245,0.01915840562629414,0.01915840562629414
+10.4,0.00278535153229329,0.007187573993023128,0.02002707447468359,0.02002707447468359
+11.2,0.002561791082531733,0.006616779856966241,0.02082142906050203,0.02082142906050203
+12.,0.00235735178070899,0.006094910472010052,0.02154773774728096,0.02154773774728096
+12.8,0.002170417893239599,0.005617826575806711,0.0222117555309537,0.0222117555309537
+13.6,0.001999508528481415,0.005181728296042019,0.02281876317547657,0.02281876317547657
+14.4,0.001843265771630905,0.004783130167228341,0.02337360406114076,0.02337360406114076
+15.2,0.001700444465477931,0.004418836895206759,0.02388071863931532,0.02388071863931532
+16.,0.001569903066589637,0.004085920442177782,0.02434417649123259,0.02434417649123259
+16.8,0.001450595292447829,0.00378169857487411,0.02476770613267806,0.02476770613267806
+17.6,0.001341562451249565,0.003503714967555609,0.02515472258119483,0.02515472258119483
+18.4,0.001241926347807231,0.003249720737952796,0.02550835291423998,0.02550835291423998
+19.2,0.001150882754573814,0.0030176574474049,0.02583145979802129,0.02583145979802129
+20.,0.001067695323206693,0.002805641264682291,0.02612666341211102,0.02612666341211102
+20.8,0.0009916900574330899,0.002611948607898212,0.0263963613346687,0.0263963613346687
+21.6,0.0009222501328897306,0.002435002711023217,0.02664274715608705,0.02664274715608705
+22.4,0.0008588111439142498,0.002273361316479685,0.02686782753960606,0.02686782753960606
+23.2,0.0008008567736720979,0.002125705479297453,0.02707343774703045,0.02707343774703045
+24.,0.0007479147449952423,0.001990829112660207,0.02726125614234455,0.02726125614234455
+24.8,0.0006995531263204693,0.001867629461780806,0.02743281741189872,0.02743281741189872
+25.6,0.0006553769600472034,0.001755098418728878,0.02758952462122392,0.02758952462122392
+26.4,0.0006150251128445272,0.001652314418233266,0.0277326604689222,0.0277326604689222
+27.2,0.0005781674338563596,0.0015584351320089,0.02786339743413474,0.02786339743413474
+28.,0.0005445021216222968,0.001472690705770889,0.02798280717260681,0.02798280717260681
+28.8,0.0005137533129966037,0.00139437757127588,0.02809186911572751,0.02809186911572751
+29.6,0.0004856688784591386,0.001322852792041464,0.02819147832949939,0.02819147832949939
+30.4,0.0004600183953714237,0.001257528868868147,0.02828245273576042,0.02828245273576042
+31.2,0.0004365912941187272,0.001197868991252414,0.02836553971462885,0.02836553971462885
+32.,0.0004151951654234588,0.001143382703924065,0.02844142213065247,0.02844142213065247
+32.8,0.0003956541939423009,0.001093621898771984,0.02851072390728571,0.02851072390728571
+33.6,0.0003778077430438505,0.00104817719511416,0.02857401506184198,0.02857401506184198
+34.4,0.0003615090481187765,0.001006674598984241,0.02863181635289698,0.02863181635289698
+35.2,0.0003466240290771834,0.0009687724682206194,0.02868460350270219,0.02868460350270219
+36.,0.0003330301990570598,0.0009341587244065877,0.02873281107653635,0.02873281107653635
+36.8,0.0003206156547407878,0.0009025482741627698,0.02877683607109644,0.02877683607109644
+37.6,0.0003092781765651826,0.0008736807116534176,0.0288170411117814,0.0288170411117814
+38.4,0.0002989243989773648,0.0008473182005125478,0.02885375740051009,0.02885375740051009
+39.2,0.0002894690255536422,0.0008232434708471854,0.02888728750359918,0.02888728750359918
+40.,0.0002808341534671952,0.0008012580955491157,0.02891790775098369,0.02891790775098369
diff --git a/models/sbml-test-suite/cases/semantic/00167/00167-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00167/00167-sbml-l1v2.xml
new file mode 100644
index 0000000..095dc41
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00167/00167-sbml-l1v2.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00167">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.01"/>
+      <parameter name="S2" value="0.02"/>
+      <parameter name="S3" value="0"/>
+      <parameter name="S4" value="0"/>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="k3" value="0.15"/>
+      <parameter name="k4" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="k2 * S2 + -1 * k1 * S1" type="rate" name="S1"/>
+      <parameterRule formula="k1 * S1 + -1 * k2 * S2 + -1 * k3 * S2 + k4 * S3 * S4" type="rate" name="S2"/>
+      <parameterRule formula="k3 * S2 + -1 * k4 * S3 * S4" type="rate" name="S3"/>
+      <parameterRule formula="k3 * S2 + -1 * k4 * S3 * S4" type="rate" name="S4"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00167/00167-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00167/00167-sbml-l2v4.xml
new file mode 100644
index 0000000..43db4e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00167/00167-sbml-l2v4.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00167" id="case00167" name="case00167">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.01" constant="false"/>
+      <parameter id="S2" name="S2" value="0.02" constant="false"/>
+      <parameter id="S3" name="S3" value="0" constant="false"/>
+      <parameter id="S4" name="S4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.15"/>
+      <parameter id="k4" name="k4" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00167/00167-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00167/00167-sbml-l3v1.xml
new file mode 100644
index 0000000..4990795
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00167/00167-sbml-l3v1.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00167" id="case00167" name="case00167" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.01" constant="false"/>
+      <parameter id="S2" name="S2" value="0.02" constant="false"/>
+      <parameter id="S3" name="S3" value="0" constant="false"/>
+      <parameter id="S4" name="S4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.15" constant="true"/>
+      <parameter id="k4" name="k4" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00167/00167-settings.txt b/models/sbml-test-suite/cases/semantic/00167/00167-settings.txt
new file mode 100644
index 0000000..faed8a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00167/00167-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 40.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00168/00168-results.csv b/models/sbml-test-suite/cases/semantic/00168/00168-results.csv
new file mode 100644
index 0000000..6053044
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00168/00168-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.02,0.02,0,0
+0.16,0.01569848916641787,0.01542438689075437,0.00430151083358212,0.0002741022756635089
+0.32,0.01378303838927242,0.01290590033401337,0.006216961610727577,0.000877138055259048
+0.48,0.01293244225691502,0.01130466813401225,0.007067557743084979,0.001627774122902776
+0.64,0.01260798004914945,0.01016703049466503,0.007392019950850554,0.002440949554484422
+0.8,0.01255842864533526,0.009284962284610434,0.007441571354664747,0.003273466360724834
+0.96,0.01265713561021207,0.008554739450792617,0.007342864389787933,0.004102396159419456
+1.12,0.01283705896158347,0.007921787289326827,0.007162941038416532,0.004915271672256646
+1.28,0.01306149753303241,0.007356245427643597,0.006938502466967599,0.005705252105388809
+1.44,0.01330981899718516,0.006841203991710636,0.006690181002814847,0.00646861500547452
+1.6,0.01357013455575221,0.006366723890474059,0.006429865444247807,0.007203410665278141
+1.76,0.01383540982088734,0.005926686838175415,0.006164590179112681,0.007908722982711908
+1.92,0.01410135222869195,0.005517096381141623,0.005898647771308073,0.008584255847550303
+2.08,0.01436524491456678,0.005135147197626353,0.005634755085433236,0.009230097716940409
+2.24,0.01462529543330922,0.004778710334394979,0.005374704566690793,0.009846585098914234
+2.4,0.01488026870411666,0.0044460471920294,0.005119731295883358,0.01043422151208725
+2.56,0.01512927852622999,0.004135650703097704,0.00487072147377002,0.01099362782313228
+2.72,0.01537166820211594,0.003846157732151806,0.004628331797884073,0.01152551046996412
+2.88,0.01560694144462731,0.003576301471856607,0.004393058555372701,0.01203063997277069
+3.04,0.01583472168909713,0.003324886247128248,0.004165278310902892,0.01250983544196886
+3.2,0.01605472741160993,0.003090774750360643,0.003945272588390082,0.01296395266124927
+3.36,0.01626675640828738,0.002872882023808803,0.003733243591712647,0.01339387438447856
+3.52,0.01647067503837555,0.002670172950460723,0.003529324961624471,0.01380050208791481
+3.68,0.01666641017763063,0.002481661417745012,0.003333589822369391,0.0141847487598856
+3.84,0.01685394263271604,0.002306410131200383,0.003146057367283981,0.01454753250151564
+4.,0.01703330134216369,0.002143530525618666,0.002966698657836334,0.01488977081654501
+4.16,0.01720455801982345,0.001992182496207366,0.002795441980176578,0.01521237552361606
+4.32,0.0173678220798028,0.001851573827765615,0.002632177920197227,0.01551624825203717
+4.48,0.01752323578691734,0.001720959294247217,0.002476764213082679,0.01580227649267011
+4.64,0.01767096962377271,0.00159963944322404,0.002329030376227316,0.01607133018054865
+4.8,0.01781121789474361,0.001486959112203555,0.002188782105256412,0.01632425878254003
+4.96,0.01794419458969165,0.001382305725721954,0.002055805410308374,0.01656188886396967
+5.12,0.01807012953350111,0.001285107431747892,0.001929870466498916,0.01678502210175319
+5.28,0.01818926483860748,0.001194831125737415,0.001810735161392549,0.01699443371287003
+5.44,0.01830185167306458,0.001110980411306453,0.001698148326935459,0.01719087126175809
+5.6,0.01840814734755401,0.001033093535111372,0.001591852652446036,0.0173750538124426
+5.76,0.01850841271897154,0.0009607413302131633,0.001491587281028493,0.01754767138875834
+5.92,0.0186029099018616,0.0008935251937238676,0.00139709009813844,0.01770938470813769
+6.08,0.01869190027457248,0.0008310751193287057,0.001308099725427552,0.01786082515524374
+6.24,0.01877564276337876,0.000773047800648542,0.001224357236621284,0.01800259496273017
+6.4,0.01885439238556937,0.0007191248153750584,0.001145607614430678,0.01813526757019426
+6.56,0.01892839903069386,0.0006690108988435414,0.00107160096930619,0.01825938813185027
+6.72,0.01899790645902361,0.0006224323095990797,0.001002093540976439,0.01837547414942448
+6.88,0.0190631514954292,0.0005791352905355677,0.0009368485045708473,0.01848401620489358
+7.04,0.01912436339837367,0.0005388846236408612,0.0008756366016263776,0.01858547877473276
+7.2,0.01918176338332103,0.0005014622785001988,0.0008182366166790065,0.01868030110482079
+7.36,0.01923556428228494,0.0004666661502693134,0.0007644357177151036,0.01876889813201557
+7.52,0.0192859703211803,0.0004343088850132973,0.0007140296788197392,0.01885166143616695
+7.68,0.01933317699925733,0.0004042167873014737,0.0006668230007427104,0.0189289602119558
+7.84,0.01937737105525446,0.0003762288065517539,0.0006226289447455888,0.01900114224870264
+8.,0.01941873050713064,0.0003501955970832106,0.0005812694928694051,0.01906853491004737
diff --git a/models/sbml-test-suite/cases/semantic/00168/00168-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00168/00168-sbml-l1v2.xml
new file mode 100644
index 0000000..1e3ecb2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00168/00168-sbml-l1v2.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00168">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.02"/>
+      <parameter name="S2" value="0.02"/>
+      <parameter name="S3" value="0"/>
+      <parameter name="S4" value="0"/>
+      <parameter name="k1" value="100"/>
+      <parameter name="k2" value="0.9"/>
+      <parameter name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="-1 * k1 * S1 * S2 + k2 * S3 + k3 * S3" type="rate" name="S1"/>
+      <parameterRule formula="k2 * S3 + -1 * k1 * S1 * S2" type="rate" name="S2"/>
+      <parameterRule formula="k1 * S1 * S2 + -1 * k2 * S3 + -1 * k3 * S3" type="rate" name="S3"/>
+      <parameterRule formula="k3 * S3" type="rate" name="S4"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00168/00168-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00168/00168-sbml-l2v4.xml
new file mode 100644
index 0000000..98c6d9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00168/00168-sbml-l2v4.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00168" id="case00168" name="case00168">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.02" constant="false"/>
+      <parameter id="S2" name="S2" value="0.02" constant="false"/>
+      <parameter id="S3" name="S3" value="0" constant="false"/>
+      <parameter id="S4" name="S4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="100"/>
+      <parameter id="k2" name="k2" value="0.9"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00168/00168-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00168/00168-sbml-l3v1.xml
new file mode 100644
index 0000000..108a6df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00168/00168-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00168" id="case00168" name="case00168" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.02" constant="false"/>
+      <parameter id="S2" name="S2" value="0.02" constant="false"/>
+      <parameter id="S3" name="S3" value="0" constant="false"/>
+      <parameter id="S4" name="S4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="100" constant="true"/>
+      <parameter id="k2" name="k2" value="0.9" constant="true"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00168/00168-settings.txt b/models/sbml-test-suite/cases/semantic/00168/00168-settings.txt
new file mode 100644
index 0000000..2556199
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00168/00168-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00169/00169-results.csv b/models/sbml-test-suite/cases/semantic/00169/00169-results.csv
new file mode 100644
index 0000000..e723c92
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00169/00169-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0,0,0
+0.24,0.008453538346846506,0.001454831071137629,0.00008455835338141203,7.072228634439726e-6
+0.48,0.007146231058158351,0.002520166433772904,0.000283906440194946,0.00004969606787380212
+0.72,0.006041093828554424,0.003274843012541096,0.0005365100516148011,0.0001475531072896802
+0.96,0.005106861833658081,0.00378340229540728,0.0008015586895992745,0.0003081771813353681
+1.2,0.004317105234288111,0.004098538943279028,0.001053158341211751,0.0005311974812211178
+1.44,0.003649481464542673,0.004263143832696125,0.001276001451340476,0.0008113732514207333
+1.68,0.003085103150665788,0.004312007292688917,0.001462159382080854,0.001140730174564447
+1.92,0.002608003778812705,0.004273237783284368,0.001608724749122239,0.001510033688780696
+2.16,0.00220468599527665,0.004169442414082824,0.00171609458261195,0.001909777008028582
+2.4,0.001863739760380732,0.004018708255571021,0.001786734391398633,0.002330817592649623
+2.64,0.001575519553293583,0.003835417132257367,0.001824301130873269,0.00276476218357579
+2.88,0.001331871495998426,0.003630921317861969,0.001833032293331501,0.00320417489280811
+3.12,0.001125902676439727,0.00341410312445347,0.001817330809194504,0.003642663389912303
+3.36,0.0009517861450266875,0.003191837653782872,0.001781492690813456,0.004074883510376989
+3.6,0.0008045960674945864,0.002969374851512534,0.001729537551166219,0.004496491529826664
+3.84,0.0006801683710185862,0.002750654375963528,0.001665112208314487,0.004904065044703403
+4.08,0.0005749829406731081,0.002538564588359131,0.00159144525870408,0.005295007212263686
+4.32,0.0004860640337868669,0.002335155118072074,0.001511336321942772,0.005667444526198289
+4.56,0.0004108960948738093,0.002141810903000101,0.00142716805704294,0.006020124945083152
+4.8,0.0003473525894572437,0.001959394302037076,0.001340932357835529,0.006352320750670152
+5.04,0.0002936358434804465,0.001788360784045256,0.001254264610053529,0.006663738762420769
+5.28,0.0002482261862863,0.001628852782461907,0.001168481732986072,0.006954439298265722
+5.52,0.0002098389584499896,0.001480775538012853,0.001084621086976831,0.007224764416560327
+5.76,0.0001773881681965548,0.001343858110519208,0.001003478322058856,0.007475275399225378
+6.,0.0001499557682133135,0.001217702204140667,0.0009256429624612923,0.007706699065184726
+6.24,0.0001267656836901065,0.001101821001776929,0.0008515310353873998,0.007919882279145562
+6.48,0.0001071618568130006,0.0009956698296180763,0.0007814144129213955,0.00811575390064753
+6.72,0.000090589686589961,0.0008986701600034477,0.0007154467829673075,0.008295293370439285
+6.96,0.0000765803389437116,0.0008102281998521764,0.0006536863290706198,0.00845950513213349
+7.2,0.0000647374831883374,0.000729749094506507,0.0005961153026085176,0.008609398119696635
+7.44,0.0000547260796603013,0.0006566475957936834,0.0005426567312051505,0.008745969593340858
+7.68,0.00004626290129753488,0.0005903558925388717,0.0004931885371566311,0.008870192669006959
+7.92,0.00003910852101580128,0.0005303291766538547,0.0004475553485745649,0.008983006953755777
+8.16,0.00003306053821036642,0.0004760494141142706,0.0004055782808409214,0.009085311766834443
+8.4,0.00002794785275341849,0.0004270277040873123,0.0003670629518984246,0.009177961491260848
+8.64,0.00002362582449606703,0.0003828055382544989,0.0003318059754864494,0.009261762661762989
+8.88,0.00001997218133503561,0.0003429552135214197,0.0002996001542722822,0.009337472450871268
+9.12,0.00001688356007862278,0.0003070796027471518,0.0002702385717038395,0.009405798265470393
+9.36,0.00001427258225590035,0.0002748114481553626,0.0002435177585303471,0.0094673982110584
+9.6,0.00001206538214116755,0.0002458123092265648,0.0002192400880837546,0.00952288222054852
+9.84,0.00001019951705993918,0.000219771269931836,0.0001972155340528313,0.009572813678955401
+10.08,8.622200858407419e-6,0.0001964034881381492,0.0001772629058730018,0.009617711405130449
+10.32,7.288810559051342e-6,0.0001754486520430871,0.0001592106600960201,0.009658051877301846
+10.56,6.161623956491448e-6,0.0001566693938991099,0.000142897371200183,0.009694271610944217
+10.8,5.208752439640959e-6,0.0001398496994557697,0.000128171932176832,0.009726769615927761
+11.04,4.403238848795567e-6,0.0001247933420052002,0.0001148935437723423,0.009755909875373666
+11.28,3.722294845800334e-6,0.0001113223622593372,0.0001029315413441364,0.009782023801550731
+11.52,3.146656221698272e-6,0.00009927560917098424,0.0000921650997544605,0.00980541263485286
+11.76,2.660037903480227e-6,0.00008850735196558502,0.00008248284943483211,0.009826349760696108
+12.,2.248673242193545e-6,0.00007888596983770683,0.0000737824305610546,0.009845082926359039
diff --git a/models/sbml-test-suite/cases/semantic/00169/00169-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00169/00169-sbml-l1v2.xml
new file mode 100644
index 0000000..f0b7221
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00169/00169-sbml-l1v2.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00169">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.01"/>
+      <parameter name="S2" value="0"/>
+      <parameter name="S3" value="0"/>
+      <parameter name="S4" value="0"/>
+      <parameter name="k1" value="0.7"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="-1 * k1 * S1" type="rate" name="S1"/>
+      <parameterRule formula="k1 * S1 + -1 * k2 * S2" type="rate" name="S2"/>
+      <parameterRule formula="k2 * S2 + -1 * k3 * S3" type="rate" name="S3"/>
+      <parameterRule formula="k3 * S3" type="rate" name="S4"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00169/00169-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00169/00169-sbml-l2v4.xml
new file mode 100644
index 0000000..a186f3b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00169/00169-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00169" id="case00169" name="case00169">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.01" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="S3" name="S3" value="0" constant="false"/>
+      <parameter id="S4" name="S4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00169/00169-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00169/00169-sbml-l3v1.xml
new file mode 100644
index 0000000..78021a8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00169/00169-sbml-l3v1.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00169" id="case00169" name="case00169" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.01" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="S3" name="S3" value="0" constant="false"/>
+      <parameter id="S4" name="S4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00169/00169-settings.txt b/models/sbml-test-suite/cases/semantic/00169/00169-settings.txt
new file mode 100644
index 0000000..149e393
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00169/00169-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00170/00170-results.csv b/models/sbml-test-suite/cases/semantic/00170/00170-results.csv
new file mode 100644
index 0000000..21fa1db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00170/00170-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0002,0,0
+0.1,0.00009759144954152037,0.0002,2.999999969999996e-6,2.999999969999996e-6
+0.2,0.00009535693253773029,0.0002,5.999999760000007e-6,5.999999760000007e-6
+0.3,0.0000932838739162335,0.0002,8.999999190000085e-6,8.999999190000085e-6
+0.4,0.00009136060731420732,0.0002,0.00001199999808000036,0.00001199999808000036
+0.5,0.00008957630928945743,0.0002,0.00001499999625000112,0.00001499999625000112
+0.6,0.00008792093837779865,0.0002,0.00001799999352000279,0.00001799999352000279
+0.7,0.00008638517876667794,0.0002,0.00002099998971000604,0.00002099998971000604
+0.8,0.00008496038778810302,0.0002,0.00002399998464001178,0.00002399998464001178
+0.9,0.00008363854734209329,0.0002,0.00002699997813002124,0.00002699997813002124
+1.,0.00008241221808584587,0.0002,0.00002999997000003598,0.00002999997000003598
+1.1,0.00008127449921636707,0.0002,0.00003299996007005795,0.00003299996007005795
+1.2,0.00008021898832218446,0.0002,0.00003599994816008956,0.00003599994816008956
+1.3,0.00007923974509341374,0.0002,0.00003899993409013364,0.00003899993409013364
+1.4,0.00007833125817808986,0.0002,0.0000419999176801936,0.0000419999176801936
+1.5,0.00007748841522312912,0.0002,0.00004499989875027335,0.00004499989875027335
+1.6,0.0000767064714491791,0.0002,0.00004799987712037746,0.00004799987712037746
+1.7,0.00007598103181535857,0.0002,0.00005099985261051112,0.00005099985261051112
+1.8,0.00007530800825239604,0.0002,0.00005399982504068022,0.00005399982504068022
+1.9,0.00007468361359229725,0.0002,0.00005699979423089136,0.00005699979423089136
+2.,0.00007410433698099544,0.0002,0.00005999976000115196,0.00005999976000115196
+2.1,0.00007356691808214677,0.0002,0.00006299972217147024,0.00006299972217147024
+2.2,0.00007306832996540627,0.0002,0.00006599968056185528,0.00006599968056185528
+2.3,0.00007260576702399178,0.0002,0.00006899963499231705,0.00006899963499231705
+2.4,0.00007217662835450045,0.0002,0.00007199958528286651,0.00007199958528286651
+2.5,0.00007177849864194459,0.0002,0.00007499953125351557,0.00007499953125351557
+2.6,0.0000714091354816418,0.0002,0.00007799947272427724,0.00007799947272427724
+2.7,0.0000710664604262193,0.0002,0.00008099940951516554,0.00008099940951516554
+2.8,0.00007074854667992257,0.0002,0.00008399934144619565,0.00008399934144619565
+2.9,0.00007045360493456428,0.0002,0.00008699926833738392,0.00008699926833738392
+3.,0.00007017997397620253,0.0002,0.00008999919000874788,0.00008999919000874788
+3.1,0.00006992611405116064,0.0002,0.00009299910628030635,0.00009299910628030635
+3.2,0.00006969059775488087,0.0002,0.00009599901697207942,0.00009599901697207942
+3.3,0.00006947209953590854,0.0002,0.00009899892190408852,0.00009899892190408852
+3.4,0.00006926938873664486,0.0002,0.0001019988208963565,0.0001019988208963565
+3.5,0.00006908132467859657,0.0002,0.0001049987137689075,0.0001049987137689075
+3.6,0.00006890684991477772,0.0002,0.0001079986003417674,0.0001079986003417674
+3.7,0.00006874498245294198,0.0002,0.0001109984804349634,0.0001109984804349634
+3.8,0.00006859481059963972,0.0002,0.0001139983538685241,0.0001139983538685241
+3.9,0.00006845548931872576,0.0002,0.0001169982204624801,0.0001169982204624801
+4.,0.00006832623523444156,0.0002,0.0001199980800368632,0.0001199980800368632
+4.1,0.00006820632086935244,0.0002,0.0001229979324117073,0.0001229979324117073
+4.2,0.00006809507082443052,0.0002,0.0001259977774070478,0.0001259977774070478
+4.3,0.00006799185908103938,0.0002,0.0001289976148429218,0.0001289976148429218
+4.4,0.00006789610530009096,0.0002,0.0001319974445393684,0.0001319974445393684
+4.5,0.00006780727055340876,0.0002,0.0001349972663164284,0.0001349972663164284
+4.6,0.00006772485449343976,0.0002,0.0001379970799941447,0.0001379970799941447
+4.7,0.000067648393353272,0.0002,0.0001409968853925619,0.0001409968853925619
+4.8,0.00006757745724575534,0.0002,0.0001439966823317268,0.0001439966823317268
+4.9,0.00006751164678175083,0.0002,0.000146996470631688,0.000146996470631688
+5.,0.00006745059152855294,0.0002,0.0001499962501124965,0.0001499962501124965
diff --git a/models/sbml-test-suite/cases/semantic/00170/00170-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00170/00170-sbml-l1v2.xml
new file mode 100644
index 0000000..f7491ad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00170/00170-sbml-l1v2.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00170">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.0001"/>
+      <parameter name="S2" value="0.0002"/>
+      <parameter name="S3" value="0"/>
+      <parameter name="S4" value="0"/>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="k3" value="0.15"/>
+      <parameter name="k4" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="k2 * S2 + -1 * k1 * S1" type="rate" name="S1"/>
+      <parameterRule formula="k3 * S2 + -1 * k4 * S3 * S4" type="rate" name="S3"/>
+      <parameterRule formula="k3 * S2 + -1 * k4 * S3 * S4" type="rate" name="S4"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00170/00170-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00170/00170-sbml-l2v4.xml
new file mode 100644
index 0000000..59a1dca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00170/00170-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00170" id="case00170" name="case00170">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.0001" constant="false"/>
+      <parameter id="S2" name="S2" value="0.0002" constant="false"/>
+      <parameter id="S3" name="S3" value="0" constant="false"/>
+      <parameter id="S4" name="S4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.15"/>
+      <parameter id="k4" name="k4" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00170/00170-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00170/00170-sbml-l3v1.xml
new file mode 100644
index 0000000..bf74d12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00170/00170-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00170" id="case00170" name="case00170" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.0001" constant="false"/>
+      <parameter id="S2" name="S2" value="0.0002" constant="false"/>
+      <parameter id="S3" name="S3" value="0" constant="false"/>
+      <parameter id="S4" name="S4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.15" constant="true"/>
+      <parameter id="k4" name="k4" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k4 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00170/00170-settings.txt b/models/sbml-test-suite/cases/semantic/00170/00170-settings.txt
new file mode 100644
index 0000000..52f095a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00170/00170-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00171/00171-results.csv b/models/sbml-test-suite/cases/semantic/00171/00171-results.csv
new file mode 100644
index 0000000..7bdb159
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00171/00171-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.01499999999999999,0.01499999999999999
+0.1,0.01357256126948464,0.01642743873051536
+0.2,0.01228096129367179,0.0177190387063282
+0.3,0.01111227328724238,0.01888772671275761
+0.4,0.01005480067247635,0.01994519932752364
+0.5,0.009097959852195525,0.02090204014780447
+0.6,0.008232174539488008,0.02176782546051198
+0.7,0.007448779494605224,0.02255122050539476
+0.8,0.00673993433630271,0.02326006566369727
+0.9,0.006098544757806171,0.02390145524219381
+1.,0.005518191327676948,0.02448180867232303
+1.1,0.004993065722896427,0.02500693427710356
+1.2,0.004517912866585789,0.0254820871334142
+1.3,0.004087976890770157,0.02591202310922982
+1.4,0.00369895427307114,0.02630104572692884
+1.5,0.003346952046421475,0.02665304795357851
+1.6,0.003028447554385142,0.02697155244561484
+1.7,0.002740252855820912,0.02725974714417907
+1.8,0.00247948320415971,0.02752051679584027
+1.9,0.002243529050808319,0.02775647094919166
+2.,0.002030029099901097,0.02796997090009888
+2.1,0.001836846419016669,0.02816315358098332
+2.2,0.00166204729927813,0.02833795270072185
+2.3,0.001503882497389622,0.02849611750261036
+2.4,0.001360769196957179,0.02863923080304281
+2.5,0.001231274975030152,0.02876872502496983
+2.6,0.001114103624655906,0.02888589637534408
+2.7,0.001008082585476647,0.02899191741452334
+2.8,0.0009121508689484809,0.0290878491310515
+2.9,0.0008253482970910493,0.02917465170290893
+3.,0.000746805994631636,0.02925319400536835
+3.1,0.0006757379655548576,0.02932426203444513
+3.2,0.0006114330112859634,0.02938856698871402
+3.3,0.0005532475078661967,0.02944675249213379
+3.4,0.0005005990298107992,0.02949940097018919
+3.5,0.000452960704515244,0.02954703929548474
+3.6,0.0004098558035019747,0.02959014419649801
+3.7,0.0003708528944761182,0.02962914710552387
+3.8,0.0003355615654468509,0.02966443843455313
+3.9,0.0003036286405514351,0.02969637135944855
+4.,0.000274734560568306,0.02972526543943168
+4.1,0.0002485901289601081,0.02975140987103987
+4.2,0.0002249336444889268,0.02977506635551106
+4.3,0.0002035283644938554,0.02979647163550613
+4.4,0.0001841600829600752,0.02981583991703991
+4.5,0.0001666349464462933,0.02983336505355369
+4.6,0.0001507775312542368,0.02984922246874575
+4.7,0.0001364291427888675,0.02986357085721112
+4.8,0.000123446195074801,0.02987655380492518
+4.9,0.0001116987448005875,0.0298883012551994
+5.,0.0001010692049866125,0.02989893079501337
diff --git a/models/sbml-test-suite/cases/semantic/00171/00171-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00171/00171-sbml-l2v4.xml
new file mode 100644
index 0000000..bd5783b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00171/00171-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00171" id="case00171" name="case00171">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0.015" constant="false"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00171/00171-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00171/00171-sbml-l3v1.xml
new file mode 100644
index 0000000..860ed1a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00171/00171-sbml-l3v1.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00171" id="case00171" name="case00171" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.015" constant="false"/>
+      <parameter id="S2" name="S2" value="0.015" constant="false"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00171/00171-settings.txt b/models/sbml-test-suite/cases/semantic/00171/00171-settings.txt
new file mode 100644
index 0000000..de36dec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00171/00171-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00172/00172-results.csv b/models/sbml-test-suite/cases/semantic/00172/00172-results.csv
new file mode 100644
index 0000000..e57f78d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00172/00172-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.9048374180172196,0.09516258198278092
+0.2,0.8187307521474208,0.1812692478525797
+0.3,0.7408182201023447,0.2591817798976557
+0.4,0.6703200379848521,0.3296799620151481
+0.5,0.6065306542979904,0.3934693457020097
+0.6,0.5488116333710606,0.4511883666289398
+0.7,0.4965853030966702,0.50341469690333
+0.8,0.4493289640981568,0.5506710359018434
+0.9,0.406569635991948,0.5934303640080523
+1.,0.3678794381552668,0.6321205618447336
+1.1,0.3328710676851778,0.6671289323148227
+1.2,0.3011942038176674,0.6988057961823331
+1.3,0.272531784772877,0.7274682152271235
+1.4,0.2465969526910352,0.7534030473089654
+1.5,0.223130156396217,0.7768698436037837
+1.6,0.2018964999441263,0.7981035000558744
+1.7,0.1826835018163205,0.8173164981836802
+1.8,0.1652988755559843,0.8347011244440164
+1.9,0.1495686182600013,0.8504313817399995
+2.,0.1353352791104195,0.8646647208895813
+2.1,0.122456415768212,0.8775435842317889
+2.2,0.1108031452486894,0.8891968547513114
+2.3,0.1002588376427423,0.8997411623572586
+2.4,0.9071795134152282,0.9928204893198768
+2.5,0.8208499685956376,1.079150034139467
+2.6,0.7427357647458855,1.157264237989219
+2.7,0.6720551114408854,1.227944891294219
+2.8,0.60810061163655,1.291899391098555
+2.9,0.550232180180828,1.349767822554276
+3.,0.4978706631220512,1.402129339613053
+3.1,0.4504920051769058,1.449507997558199
+3.2,0.407622024287213,1.492377978447892
+3.3,0.3688316490870735,1.531168353648032
+3.4,0.3337326924361815,1.566267310298924
+3.5,0.3019738276331729,1.598026175101932
+3.6,0.2732372185046276,1.626762784230477
+3.7,0.2472352588470616,1.652764743888043
+3.8,0.2237077125741589,1.676292290160946
+3.9,0.2024191100462686,1.697580892688836
+4.,0.1831563849387873,1.716843617796318
+4.1,0.1657267477652851,1.73427325496982
+4.2,0.149955760690705,1.7500442420444
+4.3,0.135685585379551,1.764314417355554
+4.4,0.122773396298772,1.777226606436333
+4.5,0.1110899554339955,1.788910047301109
+4.6,0.1005183551255503,1.799481647609555
+4.7,0.9095277402416306,1.890472268048498
+4.8,0.8229747318877279,1.977025276402401
+4.9,0.7446583294413564,2.055341678848772
+5.,0.6737947221998067,2.126205286090322
diff --git a/models/sbml-test-suite/cases/semantic/00172/00172-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00172/00172-sbml-l2v4.xml
new file mode 100644
index 0000000..b692035
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00172/00172-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00172" id="case00172" name="case00172">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00172/00172-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00172/00172-sbml-l3v1.xml
new file mode 100644
index 0000000..0162f71
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00172/00172-sbml-l3v1.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00172" id="case00172" name="case00172" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00172/00172-settings.txt b/models/sbml-test-suite/cases/semantic/00172/00172-settings.txt
new file mode 100644
index 0000000..6782772
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00172/00172-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00173/00173-results.csv b/models/sbml-test-suite/cases/semantic/00173/00173-results.csv
new file mode 100644
index 0000000..0e82812
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00173/00173-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.04,0.9616000000000002,0.03839999999999999
+0.08,0.9232000000000002,0.07679999999999999
+0.12,0.8848000000000002,0.1151999999999999
+0.16,0.8464000000000002,0.1535999999999999
+0.2,0.8080000000000002,0.1919999999999999
+0.24,0.7696000000000001,0.2303999999999999
+0.28,0.7452999999998636,0.2547000000001361
+0.32,0.7356999999998598,0.2643000000001399
+0.36,0.7260999999998581,0.2739000000001415
+0.4,0.7164999999998615,0.283500000000138
+0.44,0.7068999999998745,0.2931000000001252
+0.48,0.6972999999998801,0.3027000000001194
+0.52,0.6876999999998895,0.3123000000001101
+0.56,0.6780999999998967,0.3219000000001029
+0.6,0.6684999999998996,0.3315000000001001
+0.64,0.6588999999999035,0.3411000000000961
+0.68,0.6492999999999041,0.3507000000000954
+0.72,0.6396999999999051,0.3603000000000945
+0.76,0.6300999999999054,0.3699000000000943
+0.8,0.6204999999999055,0.3795000000000941
+0.84,0.6108999999999059,0.3891000000000938
+0.88,0.6012999999999062,0.3987000000000934
+0.92,0.5916999999999064,0.4083000000000932
+0.96,0.5820999999999064,0.4179000000000932
+1.,0.5724999999999065,0.4275000000000931
+1.04,0.5628999999999067,0.437100000000093
+1.08,0.5532999999999067,0.4467000000000929
+1.12,0.5436999999999068,0.4563000000000928
+1.16,0.5340999999999068,0.4659000000000928
+1.2,0.5244999999999068,0.4755000000000927
+1.24,0.5148999999999068,0.4851000000000928
+1.28,0.5052999999999068,0.4947000000000928
+1.32,0.4985666666666957,0.5014333333333044
+1.36,0.4953666666666957,0.5046333333333044
+1.4,0.4921666666666957,0.5078333333333043
+1.44,0.4889666666666956,0.5110333333333043
+1.48,0.4857666666666956,0.5142333333333043
+1.52,0.4825666666666956,0.5174333333333043
+1.56,0.4793666666666957,0.5206333333333043
+1.6,0.4761666666666956,0.5238333333333042
+1.64,0.4729666666666956,0.5270333333333043
+1.68,0.4697666666666956,0.5302333333333043
+1.72,0.4665666666666956,0.5334333333333043
+1.76,0.4633666666666956,0.5366333333333043
+1.8,0.4601666666666956,0.5398333333333043
+1.84,0.4569666666666956,0.5430333333333043
+1.88,0.4537666666666956,0.5462333333333043
+1.92,0.4505666666666957,0.5494333333333043
+1.96,0.4473666666666956,0.5526333333333043
+2.,0.4441666666666956,0.5558333333333043
diff --git a/models/sbml-test-suite/cases/semantic/00173/00173-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00173/00173-sbml-l2v4.xml
new file mode 100644
index 0000000..fbc296e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00173/00173-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00173" id="case00173" name="case00173">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="p1" name="p1" value="4"/>
+      <parameter id="p2" name="p2" value="25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <apply>
+              <factorial/>
+              <apply>
+                <ceiling/>
+                <apply>
+                  <times/>
+                  <ci> p1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+            <apply>
+              <power/>
+              <ci> p2 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <apply>
+              <factorial/>
+              <apply>
+                <ceiling/>
+                <apply>
+                  <times/>
+                  <ci> p1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+            <apply>
+              <power/>
+              <ci> p2 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00173/00173-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00173/00173-sbml-l3v1.xml
new file mode 100644
index 0000000..4b62d82
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00173/00173-sbml-l3v1.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00173" id="case00173" name="case00173" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="p1" name="p1" value="4" constant="true"/>
+      <parameter id="p2" name="p2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <apply>
+              <factorial/>
+              <apply>
+                <ceiling/>
+                <apply>
+                  <times/>
+                  <ci> p1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+            <apply>
+              <power/>
+              <ci> p2 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <apply>
+              <factorial/>
+              <apply>
+                <ceiling/>
+                <apply>
+                  <times/>
+                  <ci> p1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+            <apply>
+              <power/>
+              <ci> p2 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00173/00173-settings.txt b/models/sbml-test-suite/cases/semantic/00173/00173-settings.txt
new file mode 100644
index 0000000..394f18a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00173/00173-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00174/00174-results.csv b/models/sbml-test-suite/cases/semantic/00174/00174-results.csv
new file mode 100644
index 0000000..202582a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00174/00174-results.csv
@@ -0,0 +1,52 @@
+time,S1
+0,7
+0.04,7
+0.08,7
+0.12,7
+0.16,7
+0.2,7
+0.24,7
+0.28,7
+0.32,7
+0.36,7
+0.4,7
+0.44,7
+0.48,7
+0.52,7
+0.56,7
+0.6,7
+0.64,7
+0.68,7
+0.72,7
+0.76,7
+0.8,7
+0.84,7
+0.88,7
+0.92,7
+0.96,7
+1,7
+1.04,7
+1.08,7
+1.12,7
+1.16,7
+1.2,7
+1.24,7
+1.28,7
+1.32,7
+1.36,7
+1.4,7
+1.44,7
+1.48,7
+1.52,7
+1.56,7
+1.6,7
+1.64,7
+1.68,7
+1.72,7
+1.76,7
+1.8,7
+1.84,7
+1.88,7
+1.92,7
+1.96,7
+2,7
diff --git a/models/sbml-test-suite/cases/semantic/00174/00174-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00174/00174-sbml-l1v2.xml
new file mode 100644
index 0000000..b414ac2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00174/00174-sbml-l1v2.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00174">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="7" name="S1"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00174/00174-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00174/00174-sbml-l2v4.xml
new file mode 100644
index 0000000..e299f0f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00174/00174-sbml-l2v4.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00174" id="case00174" name="case00174">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 7 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00174/00174-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00174/00174-sbml-l3v1.xml
new file mode 100644
index 0000000..0348f44
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00174/00174-sbml-l3v1.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00174" id="case00174" name="case00174" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 7 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00174/00174-settings.txt b/models/sbml-test-suite/cases/semantic/00174/00174-settings.txt
new file mode 100644
index 0000000..b90d7e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00174/00174-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00175/00175-results.csv b/models/sbml-test-suite/cases/semantic/00175/00175-results.csv
new file mode 100644
index 0000000..8324e30
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00175/00175-results.csv
@@ -0,0 +1,52 @@
+time,S1
+0,0
+0.04,0.28
+0.08,0.5599999999999999
+0.12,0.8399999999999998
+0.16,1.119999999999999
+0.2,1.399999999999999
+0.24,1.679999999999999
+0.28,1.96
+0.32,2.239999999999999
+0.36,2.52
+0.4,2.8
+0.44,3.08
+0.48,3.359999999999999
+0.52,3.64
+0.56,3.92
+0.6,4.199999999999999
+0.64,4.479999999999999
+0.68,4.759999999999999
+0.72,5.039999999999999
+0.76,5.319999999999999
+0.8,5.599999999999999
+0.84,5.879999999999999
+0.88,6.159999999999999
+0.92,6.439999999999999
+0.96,6.719999999999999
+1.,7.
+1.04,7.28
+1.08,7.56
+1.12,7.84
+1.16,8.119999999999999
+1.2,8.4
+1.24,8.679999999999999
+1.28,8.96
+1.32,9.240000000000002
+1.36,9.520000000000001
+1.4,9.8
+1.44,10.08
+1.48,10.36
+1.52,10.64
+1.56,10.92
+1.6,11.2
+1.64,11.48
+1.68,11.76
+1.72,12.04
+1.76,12.32
+1.8,12.6
+1.84,12.88
+1.88,13.16
+1.92,13.44
+1.96,13.72
+2.,14.
diff --git a/models/sbml-test-suite/cases/semantic/00175/00175-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00175/00175-sbml-l1v2.xml
new file mode 100644
index 0000000..71454d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00175/00175-sbml-l1v2.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00175">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="7" type="rate" name="S1"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00175/00175-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00175/00175-sbml-l2v4.xml
new file mode 100644
index 0000000..8330a26
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00175/00175-sbml-l2v4.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00175" id="case00175" name="case00175">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00175/00175-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00175/00175-sbml-l3v1.xml
new file mode 100644
index 0000000..085c2a1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00175/00175-sbml-l3v1.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00175" id="case00175" name="case00175" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00175/00175-settings.txt b/models/sbml-test-suite/cases/semantic/00175/00175-settings.txt
new file mode 100644
index 0000000..7635dc5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00175/00175-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00176/00176-results.csv b/models/sbml-test-suite/cases/semantic/00176/00176-results.csv
new file mode 100644
index 0000000..3240e04
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00176/00176-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.1,0.1357256126935943,0.01427438730640575
+0.2,0.1228096129574067,0.02719038704259337
+0.3,0.1111227331019605,0.03887726689803949
+0.4,0.1005480058387723,0.04945199416122774
+0.5,0.09097959846085959,0.05902040153914048
+0.6,0.08232174538428828,0.06767825461571179
+0.7,0.07448779540356809,0.07551220459643198
+0.8,0.06739934357745737,0.0826006564225427
+0.9,0.06098544645336589,0.08901455354663417
+1.,0.05518191394253594,0.09481808605746411
+1.1,0.04993066173261703,0.100069338267383
+1.2,0.04517912914907073,0.1048208708509293
+1.3,0.04087976894025895,0.109120231059741
+1.4,0.03698954235262948,0.1130104576473705
+1.5,0.03346952157818602,0.116530478421814
+1.6,0.03028447755038003,0.11971552244962
+1.7,0.02740252772258111,0.1225974722774189
+1.8,0.02479483067125312,0.1252051693287469
+1.9,0.02243529017352873,0.1275647098264712
+2.,0.02030029115864977,0.1296997088413502
+2.1,0.01836846420340621,0.1316315357965938
+2.2,0.01662047309580654,0.1333795269041934
+2.3,0.01503882492765828,0.1349611750723417
+2.4,0.01360769138593678,0.1363923086140632
+2.5,0.01231274908507645,0.1376872509149235
+2.6,0.01114103672952391,0.1388589632704761
+2.7,0.01008082643527148,0.1399191735647285
+2.8,0.009121508364061333,0.1408784916359386
+2.9,0.008253482061780496,0.1417465179382195
+3.,0.007468059884146198,0.1425319401158538
+3.1,0.006757380357903661,0.1432426196420963
+3.2,0.006114330261205475,0.1438856697387945
+3.3,0.00553247446489544,0.1444675255351046
+3.4,0.005005989940724158,0.1449940100592759
+3.5,0.004529607323544309,0.1454703926764557
+3.6,0.004098558360471937,0.1459014416395281
+3.7,0.003708528738473407,0.1462914712615266
+3.8,0.003355615376961898,0.1466443846230381
+3.9,0.003036286396032851,0.1469637136039672
+4.,0.002747345738982134,0.1472526542610179
+4.1,0.002485901299343255,0.1475140987006568
+4.2,0.002249336365216954,0.1477506636347831
+4.3,0.002035283603802354,0.1479647163961977
+4.4,0.001841600801009512,0.1481583991989906
+4.5,0.001666349435549751,0.1483336505644503
+4.6,0.00150777534914414,0.1484922246508559
+4.7,0.001364291459421423,0.1486357085405787
+4.8,0.00123446190515946,0.1487655380948406
+4.9,0.001116987389533269,0.1488830126104668
+5.,0.001010692049869319,0.1489893079501307
diff --git a/models/sbml-test-suite/cases/semantic/00176/00176-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00176/00176-sbml-l1v2.xml
new file mode 100644
index 0000000..3a1af00
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00176/00176-sbml-l1v2.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00176">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.15"/>
+      <parameter name="S2" value="0"/>
+      <parameter name="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="-1 * k1 * S1" type="rate" name="S1"/>
+      <parameterRule formula="k1 * S1" type="rate" name="S2"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00176/00176-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00176/00176-sbml-l2v4.xml
new file mode 100644
index 0000000..c5e591e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00176/00176-sbml-l2v4.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00176" id="case00176" name="case00176">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.15" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00176/00176-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00176/00176-sbml-l3v1.xml
new file mode 100644
index 0000000..85e84a9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00176/00176-sbml-l3v1.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00176" id="case00176" name="case00176" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.15" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00176/00176-settings.txt b/models/sbml-test-suite/cases/semantic/00176/00176-settings.txt
new file mode 100644
index 0000000..c131bb2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00176/00176-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00177/00177-results.csv b/models/sbml-test-suite/cases/semantic/00177/00177-results.csv
new file mode 100644
index 0000000..a4d25ba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00177/00177-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.12,0.1476781574524061,0.002321842547593822
+0.24,0.1443491898598092,0.005650810140190643
+0.36,0.1400830266124285,0.009916973387571331
+0.48,0.1349676732958411,0.01503232670415873
+0.6,0.1291061960915418,0.02089380390845805
+0.72,0.1226132745827039,0.02738672541729598
+0.84,0.115611484026674,0.03438851597332594
+0.96,0.1082274788182291,0.04177252118177073
+1.08,0.1005882349841203,0.04941176501587957
+1.2,0.09281751003923507,0.05718248996076485
+1.32,0.08503265097218283,0.0649673490278171
+1.44,0.07734185825162484,0.07265814174837509
+1.56,0.06984198647477529,0.08015801352522464
+1.68,0.06261690596688007,0.08738309403311986
+1.8,0.05573650550480994,0.09426349449518998
+1.92,0.04925620665638758,0.1007437933436123
+2.04,0.0432170601979771,0.1067829398020228
+2.16,0.03764632391185581,0.1123536760881441
+2.28,0.03255839962233333,0.1174416003776666
+2.4,0.02795609804793557,0.1220439019520643
+2.52,0.02383214523906825,0.1261678547609317
+2.64,0.02017078598634166,0.1298292140136583
+2.76,0.01694944891087535,0.1330505510891245
+2.88,0.01414039101707149,0.1358596089829284
+3.,0.01171224999309195,0.1382877500069079
+3.12,0.009631464527270591,0.1403685354727293
+3.24,0.007863527469738436,0.1421364725302614
+3.36,0.006374051479168534,0.1436259485208313
+3.48,0.005129638940657724,0.1448703610593421
+3.6,0.004098558178796969,0.1459014418212029
+3.72,0.003251235956874932,0.1467487640431249
+3.84,0.002560583776110881,0.147439416223889
+3.96,0.002002177357090461,0.1479978226429095
+4.08,0.001554315327136586,0.1484456846728633
+4.2,0.001197978172900067,0.1488020218270998
+4.32,0.0009167093223572912,0.1490832906776426
+4.44,0.0006964462089804113,0.1493035537910195
+4.56,0.0005253109748821438,0.1494746890251177
+4.68,0.0003933856491519518,0.1496066143508479
+4.8,0.0002924782868314906,0.1497075217131684
+4.92,0.0002158946334994375,0.1497841053665005
+5.04,0.0001582206403589148,0.149841779359641
+5.16,0.0001151217712936877,0.1498848782287062
+5.28,0.00008316198947962724,0.1499168380105203
+5.4,0.00005964381252607419,0.1499403561874739
+5.52,0.00004246968629202681,0.1499575303137079
+5.64,0.00003002380137955871,0.1499699761986204
+5.76,0.00002107295422505636,0.1499789270457749
+5.88,0.00001468447013254127,0.1499853155298674
+6.,0.00001015931047364626,0.1499898406895263
diff --git a/models/sbml-test-suite/cases/semantic/00177/00177-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00177/00177-sbml-l1v2.xml
new file mode 100644
index 0000000..3272030
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00177/00177-sbml-l1v2.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00177">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="0.15"/>
+      <parameter name="S2" value="0"/>
+      <parameter name="k1" value="0.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="0.5" type="rate" name="k1"/>
+      <parameterRule formula="-1 * k1 * S1" type="rate" name="S1"/>
+      <parameterRule formula="k1 * S1" type="rate" name="S2"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00177/00177-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00177/00177-sbml-l2v4.xml
new file mode 100644
index 0000000..75fd82c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00177/00177-sbml-l2v4.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00177" id="case00177" name="case00177">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.15" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.5 </cn>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00177/00177-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00177/00177-sbml-l3v1.xml
new file mode 100644
index 0000000..ccad2cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00177/00177-sbml-l3v1.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00177" id="case00177" name="case00177" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.15" constant="false"/>
+      <parameter id="S2" name="S2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.5 </cn>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00177/00177-settings.txt b/models/sbml-test-suite/cases/semantic/00177/00177-settings.txt
new file mode 100644
index 0000000..0d8ab48
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00177/00177-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00178/00178-results.csv b/models/sbml-test-suite/cases/semantic/00178/00178-results.csv
new file mode 100644
index 0000000..d18ae34
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00178/00178-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.4,0.1036416406743523,0.2036416406743524,0.09635835932564763
+0.8,0.1066467469151817,0.2066467469151818,0.09335325308481826
+1.2,0.1091220870110208,0.2091220870110209,0.09087791298897919
+1.6,0.1111580088302945,0.2111580088302946,0.08884199116970542
+2.,0.1128304590098088,0.2128304590098089,0.08716954099019114
+2.4,0.1142029420287858,0.2142029420287858,0.08579705797121414
+2.8,0.1153283262456635,0.2153283262456635,0.08467167375433643
+3.2,0.1162504725709547,0.2162504725709547,0.0837495274290453
+3.6,0.1170056623804662,0.2170056623804662,0.08299433761953378
+4.,0.1176238421700514,0.2176238421700513,0.08237615782994858
+4.4,0.1181296801231808,0.2181296801231808,0.08187031987681915
+4.8,0.1185434657806843,0.2185434657806842,0.08145653421931567
+5.2,0.1188818660658657,0.2188818660658657,0.08111813393413427
+5.6,0.1191585586495932,0.2191585586495931,0.0808414413504068
+6.,0.1193847579572253,0.2193847579572253,0.08061524204277463
+6.4,0.1195696531394105,0.2195696531394105,0.08043034686058943
+6.8,0.1197207697261893,0.2197207697261894,0.08027923027381064
+7.2,0.1198442673474518,0.2198442673474519,0.08015573265254812
+7.6,0.1199451862750527,0.2199451862750527,0.08005481372494729
+8.,0.1200276494708259,0.2200276494708259,0.07997235052917406
+8.4,0.1200950287873767,0.2200950287873767,0.07990497121262324
+8.8,0.1201500807898832,0.2201500807898832,0.07984991921011672
+9.2,0.1201950596921134,0.2201950596921134,0.07980494030788658
+9.6,0.1202318074086614,0.2202318074086613,0.0797681925913386
+10.,0.1202618295374586,0.2202618295374586,0.07973817046254133
+10.4,0.1202863567540331,0.2202863567540331,0.07971364324596685
+10.8,0.1203063943093443,0.2203063943093442,0.07969360569065567
+11.2,0.1203227638867165,0.2203227638867165,0.07967723611328343
+11.6,0.1203361368503024,0.2203361368503024,0.07966386314969757
+12.,0.1203470615811985,0.2203470615811985,0.07965293841880143
+12.4,0.1203559863136198,0.2203559863136198,0.07964401368638014
+12.8,0.1203632770501945,0.2203632770501945,0.07963672294980545
+13.2,0.1203692330345358,0.2203692330345358,0.0796307669654642
+13.6,0.1203740985168358,0.2203740985168358,0.0796259014831642
+14.,0.1203780732153493,0.2203780732153493,0.07962192678465064
+14.4,0.1203813201702078,0.2203813201702078,0.0796186798297922
+14.8,0.1203839726340524,0.2203839726340524,0.07961602736594758
+15.2,0.120386139463139,0.220386139463139,0.07961386053686096
+15.6,0.1203879095411651,0.2203879095411651,0.07961209045883482
+16.,0.1203893555329705,0.2203893555329705,0.07961064446702942
+16.4,0.1203905367745162,0.2203905367745162,0.07960946322548374
+16.8,0.1203915017256821,0.2203915017256821,0.07960849827431787
+17.2,0.120392290002795,0.220392290002795,0.07960770999720499
+17.6,0.1203929339492998,0.2203929339492999,0.07960706605070014
+18.,0.1203934599860304,0.2203934599860305,0.07960654001396955
+18.4,0.1203938897104487,0.2203938897104488,0.07960611028955125
+18.8,0.1203942407525631,0.2203942407525632,0.07960575924743688
+19.2,0.1203945275172804,0.2203945275172805,0.07960547248271959
+19.6,0.120394761777847,0.2203947617778471,0.07960523822215298
+20.,0.120394953144649,0.2203949531446491,0.07960504685535099
diff --git a/models/sbml-test-suite/cases/semantic/00178/00178-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00178/00178-sbml-l2v4.xml
new file mode 100644
index 0000000..740205e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00178/00178-sbml-l2v4.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00178" id="case00178" name="case00178">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.1" constant="false"/>
+      <parameter id="S2" name="S2" value="0.2" constant="false"/>
+      <parameter id="S3" name="S3" value="0.1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00178/00178-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00178/00178-sbml-l3v1.xml
new file mode 100644
index 0000000..cb1870a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00178/00178-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00178" id="case00178" name="case00178" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.1" constant="false"/>
+      <parameter id="S2" name="S2" value="0.2" constant="false"/>
+      <parameter id="S3" name="S3" value="0.1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00178/00178-settings.txt b/models/sbml-test-suite/cases/semantic/00178/00178-settings.txt
new file mode 100644
index 0000000..c28115a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00178/00178-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00179/00179-results.csv b/models/sbml-test-suite/cases/semantic/00179/00179-results.csv
new file mode 100644
index 0000000..e8e8bc9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00179/00179-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.08,0.09092009390892481,0.1909200939089248,0.1090799060910751
+0.16,0.08340700131967482,0.1834070013196747,0.1165929986803251
+0.24,0.07713364606652332,0.1771336460665232,0.1228663539334766
+0.32,0.07185561939974284,0.1718556193997427,0.1281443806002571
+0.4,0.06738662218448979,0.1673866221844896,0.1326133778155102
+0.48,0.06358218735088415,0.163582187350884,0.1364178126491159
+0.56,0.06032859866669353,0.1603285986666934,0.1396714013333064
+0.64,0.05753516236315896,0.1575351623631588,0.142464837636841
+0.72,0.05512871138598043,0.1551287113859803,0.1448712886140196
+0.8,0.05304961570360911,0.153049615703609,0.1469503842963909
+0.88,0.05124883869609593,0.1512488386960958,0.148751161303904
+0.96,0.04968573781457318,0.149685737814573,0.1503142621854268
+1.04,0.04832638536011158,0.1483263853601115,0.1516736146398884
+1.12,0.04714228683427713,0.147142286834277,0.1528577131657228
+1.2,0.04610937636583911,0.146109376365839,0.1538906236341608
+1.28,0.04520722851657529,0.1452072285165752,0.1547927714834246
+1.36,0.04441843301126716,0.144418433011267,0.1555815669887328
+1.44,0.04372809225427781,0.1437280922542777,0.1562719077457221
+1.52,0.0431234152027236,0.1431234152027235,0.1568765847972763
+1.6,0.04259338612739692,0.1425933861273968,0.157406613872603
+1.68,0.04212849342681392,0.1421284934268138,0.157871506573186
+1.76,0.04172050420171352,0.1417205042017134,0.1582794957982864
+1.84,0.04136227750245772,0.1413622775024576,0.1586377224975422
+1.92,0.04104760806121936,0.1410476080612193,0.1589523919387806
+2.,0.04077109492299399,0.1407710949229938,0.159228905077006
+2.08,0.04052803052979328,0.1405280305297931,0.1594719694702067
+2.16,0.04031430621696763,0.1403143062169675,0.1596856937830323
+2.24,0.04012633224420805,0.1401263322442079,0.159873667755792
+2.32,0.0399609682808148,0.1399609682808146,0.1600390317191852
+2.4,0.03981546613917131,0.1398154661391711,0.1601845338608287
+2.48,0.03968741769332993,0.1396874176933298,0.1603125823066701
+2.56,0.03957471180297889,0.1395747118029787,0.1604252881970211
+2.64,0.03947549691730013,0.1394754969173,0.1605245030826998
+2.72,0.03938814742801582,0.1393881474280157,0.1606118525719842
+2.8,0.03931123652694805,0.1393112365269479,0.1606887634730519
+2.88,0.03924351047643198,0.1392435104764318,0.160756489523568
+2.96,0.03918386731794209,0.1391838673179419,0.1608161326820579
+3.04,0.03913133872636084,0.1391313387263607,0.1608686612736391
+3.12,0.03908507322277625,0.1390850732227761,0.1609149267772237
+3.2,0.03904432168079906,0.139044321680799,0.1609556783192009
+3.28,0.03900842510541803,0.1390084251054179,0.1609915748945819
+3.36,0.0389768038494436,0.1389768038494435,0.1610231961505563
+3.44,0.03894894766634567,0.1389489476663456,0.1610510523336543
+3.52,0.03892440734976612,0.138924407349766,0.1610755926502338
+3.6,0.0389027875713836,0.1389027875713835,0.1610972124286163
+3.68,0.0388837403209448,0.1388837403209447,0.1611162596790551
+3.76,0.03886695909066217,0.1388669590906621,0.1611330409093377
+3.84,0.03885217394804862,0.1388521739480486,0.1611478260519513
+3.92,0.03883914727782073,0.1388391472778207,0.1611608527221792
+4.,0.03882766975938506,0.138827669759385,0.1611723302406148
diff --git a/models/sbml-test-suite/cases/semantic/00179/00179-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00179/00179-sbml-l2v4.xml
new file mode 100644
index 0000000..24df55e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00179/00179-sbml-l2v4.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00179" id="case00179" name="case00179">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.1" constant="false"/>
+      <parameter id="S2" name="S2" value="0.2" constant="false"/>
+      <parameter id="S3" name="S3" value="0.1" constant="false"/>
+      <parameter id="S4" name="S4" value="0.1" constant="false"/>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <apply>
+                <times/>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00179/00179-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00179/00179-sbml-l3v1.xml
new file mode 100644
index 0000000..c47246f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00179/00179-sbml-l3v1.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00179" id="case00179" name="case00179" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.1" constant="false"/>
+      <parameter id="S2" name="S2" value="0.2" constant="false"/>
+      <parameter id="S3" name="S3" value="0.1" constant="false"/>
+      <parameter id="S4" name="S4" value="0.1" constant="false"/>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <apply>
+                <times/>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00179/00179-settings.txt b/models/sbml-test-suite/cases/semantic/00179/00179-settings.txt
new file mode 100644
index 0000000..c974ea1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00179/00179-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00180/00180-results.csv b/models/sbml-test-suite/cases/semantic/00180/00180-results.csv
new file mode 100644
index 0000000..7ff03af
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00180/00180-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0.2
+0.3,0.1391615229463535,0.2108384770536465
+0.6,0.1291061964126002,0.2208938035873997
+0.9,0.1197774327919221,0.2302225672080779
+1.2,0.1111227329029389,0.238877267097061
+1.5,0.103093391817496,0.2469066081825039
+1.8,0.09564422260193579,0.2543557773980641
+2.1,0.08873330350044143,0.2612666964995585
+2.4,0.08232174419512508,0.2676782558048748
+2.7,0.07637346284741589,0.273626537152584
+3.,0.07085498147265907,0.2791450185273408
+3.3,0.06573524881443595,0.2842647511855639
+3.6,0.06098544789864095,0.289014552101359
+3.9,0.05657885248949638,0.2934211475105035
+4.2,0.05249065047580127,0.2975093495241986
+4.5,0.04869787010135855,0.3013021298986414
+4.8,0.04517913176937717,0.3048208682306228
+5.1,0.04191464522161554,0.3080853547783845
+5.4,0.03888603886806264,0.3111139611319373
+5.7,0.0360762692626957,0.3139237307373042
+6.,0.0334695238344943,0.3165304761655056
+6.3,0.03105113275886969,0.3189488672411302
+6.6,0.02880748604724594,0.321192513952754
+6.9,0.02672595700414016,0.3232740429958598
+7.2,0.0247948328562483,0.3252051671437516
+7.5,0.02300324498952532,0.3269967550104746
+7.8,0.02134111021345373,0.3286588897865462
+8.1,0.01979907601951981,0.3302009239804801
+8.4,0.01836846422738477,0.3316315357726151
+8.7,0.01704122253059521,0.3329587774694047
+9.,0.01580988305864736,0.3341901169413525
+9.3,0.01466751590193778,0.3353324840980621
+9.6,0.01360769223576376,0.3363923077642362
+9.9,0.01262444775758212,0.3373755522424178
+10.2,0.01171224912273351,0.3382877508772664
+10.5,0.0108659628053496,0.3391340371946504
+10.8,0.01008082620917874,0.3399191737908213
+11.1,0.009352420865796759,0.3406475791342032
+11.4,0.008676647569370896,0.3413233524306291
+11.7,0.008049702927670441,0.3419502970723296
+12.,0.007468059428709456,0.3425319405712906
+12.3,0.006928443524613543,0.3430715564753866
+12.6,0.006427818434646323,0.3435721815653538
+12.9,0.005963366800841416,0.3440366331991587
+13.2,0.005532474835010338,0.3444675251649898
+13.5,0.005132717610876483,0.3448672823891237
+13.8,0.004761845418649366,0.3452381545813508
+14.1,0.004417771105319858,0.3455822288946803
+14.4,0.004098558336623424,0.3459014416633768
+14.7,0.00380241082238581,0.3461975891776144
+15.,0.003527661878401435,0.3464723381215987
diff --git a/models/sbml-test-suite/cases/semantic/00180/00180-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00180/00180-sbml-l2v4.xml
new file mode 100644
index 0000000..e5b37a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00180/00180-sbml-l2v4.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00180" id="case00180" name="case00180">
+    <listOfParameters>
+      <parameter id="S1" name="S1" constant="false"/>
+      <parameter id="S2" name="S2" value="0.2" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00180/00180-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00180/00180-sbml-l3v1.xml
new file mode 100644
index 0000000..30c1082
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00180/00180-sbml-l3v1.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00180" id="case00180" name="case00180" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" constant="false"/>
+      <parameter id="S2" name="S2" value="0.2" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00180/00180-settings.txt b/models/sbml-test-suite/cases/semantic/00180/00180-settings.txt
new file mode 100644
index 0000000..8ec6844
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00180/00180-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00181/00181-results.csv b/models/sbml-test-suite/cases/semantic/00181/00181-results.csv
new file mode 100644
index 0000000..9bdb714
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00181/00181-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5e-15,1.125e-15
+0.002,0.9048374180106257,0.09516258198937563,0.07137193649203171
+0.004,0.8187307530723747,0.1812692469276268,0.1359519351957201
+0.006,0.7408182203787158,0.2591817796212859,0.1943863347159644
+0.008,0.6703200430580986,0.329679956941903,0.2472599677064272
+0.01,0.6065306540164868,0.3934693459835148,0.2951020094876361
+0.012,0.5488116293468805,0.451188370653121,0.3383912779898408
+0.014,0.4965852979525998,0.5034147020474019,0.3775610265355514
+0.016,0.4493289546252374,0.5506710453747641,0.4130032840310731
+0.018,0.4065696424619247,0.5934303575380767,0.4450727681535575
+0.02,0.3678794359139681,0.6321205640860333,0.4740904230645249
+0.022,0.3328710678707299,0.6671289321292716,0.5003466990969537
+0.024,0.3011942094467193,0.6988057905532822,0.5241043429149616
+0.026,0.2725317790458483,0.7274682209541534,0.545601165715615
+0.028,0.2465969626674991,0.7534030373325025,0.5650522779993769
+0.03,0.2231301439725429,0.7768698560274587,0.582652392020594
+0.032,0.2018964935291754,0.7981035064708261,0.5985776298531195
+0.034,0.1826835069508385,0.8173164930491629,0.6129873697868721
+0.036,0.1652988849678202,0.8347011150321813,0.6260258362741359
+0.038,0.1495686170457738,0.8504313829542277,0.6378235372156707
+0.04,0.1353352714954645,0.864664728504537,0.6484985463784027
+0.042,0.1224564133001061,0.8775435866998952,0.6581576900249215
+0.044,0.1108031494985982,0.8891968505014032,0.6668976378760525
+0.046,0.1002588428706511,0.8997411571293503,0.6748058678470128
+0.048,0.09071795082690521,0.9092820491730961,0.6819615368798221
+0.05,0.08208499047421201,0.9179150095257894,0.688436257144342
+0.052,0.07427356932635879,0.9257264306736424,0.6942948230052318
+0.054,0.06720550837802191,0.9327944916219793,0.6995958687164844
+0.056,0.06081006253263057,0.9391899374673706,0.704392453100528
+0.058,0.05502321776194832,0.944976782238053,0.7087325866785397
+0.06,0.0497870629171926,0.9502129370828087,0.7126597028121065
+0.062,0.04504919726066174,0.9549508027393396,0.7162131020545047
+0.064,0.04076220197461959,0.9592377980253817,0.7194283485190363
+0.066,0.03688316738934409,0.9631168326106572,0.7223376244579929
+0.068,0.03337326805451652,0.9666267319454848,0.7249700489591136
+0.07,0.03019737989286006,0.9698026201071412,0.7273519650803559
+0.072,0.02732371957386455,0.9726762804261367,0.7295072103196025
+0.074,0.02472352563618659,0.9752764743638145,0.7314573557728609
+0.076,0.02237077174195353,0.9776292282580476,0.7332219211935358
+0.078,0.02024190998080058,0.9797580900192006,0.7348185675144005
+0.08,0.01831563666972636,0.9816843633302748,0.7362632724977061
+0.082,0.0165726738487437,0.9834273261512576,0.7375704946134431
+0.084,0.01499557652386406,0.9850044234761372,0.7387533176071029
+0.086,0.01356855881596286,0.9864314411840384,0.7398235808880289
+0.088,0.01227733883928211,0.9877226611607191,0.7407919958705393
+0.09,0.0111089951817288,0.9888910048182725,0.7416682536137043
+0.092,0.01005183493943785,0.9899481650605633,0.7424611237954225
+0.094,0.009095277023762914,0.9909047229762382,0.7431785422321786
+0.096,0.008229746826545095,0.9917702531734561,0.743827689880092
+0.098,0.007446582747460394,0.9925534172525407,0.7444150629394055
+0.1,0.00673794699912688,0.9932620530008743,0.7449465397506557
diff --git a/models/sbml-test-suite/cases/semantic/00181/00181-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00181/00181-sbml-l1v2.xml
new file mode 100644
index 0000000..b00810c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00181/00181-sbml-l1v2.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00181">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="S1" value="1"/>
+      <parameter name="S2" value="1.5e-015"/>
+      <parameter name="S3"/>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="k1 * S2" name="S3"/>
+      <parameterRule formula="-1 * k2 * S1" type="rate" name="S1"/>
+      <parameterRule formula="k2 * S1" type="rate" name="S2"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00181/00181-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00181/00181-sbml-l2v4.xml
new file mode 100644
index 0000000..b6916ca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00181/00181-sbml-l2v4.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00181" id="case00181" name="case00181">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="1.5e-015" constant="false"/>
+      <parameter id="S3" name="S3" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00181/00181-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00181/00181-sbml-l3v1.xml
new file mode 100644
index 0000000..4d6e0e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00181/00181-sbml-l3v1.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00181" id="case00181" name="case00181" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="1.5e-015" constant="false"/>
+      <parameter id="S3" name="S3" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00181/00181-settings.txt b/models/sbml-test-suite/cases/semantic/00181/00181-settings.txt
new file mode 100644
index 0000000..901e38c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00181/00181-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00182/00182-results.csv b/models/sbml-test-suite/cases/semantic/00182/00182-results.csv
new file mode 100644
index 0000000..e162de6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00182/00182-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.5,0.4999999999947998
+0.16,0.5600732724748251,0.4399267275251748
+0.32,0.6129289688596486,0.3870710311403516
+0.48,0.6594342566494116,0.3405657433505879
+0.64,0.7003520931255908,0.2996479068744071
+0.8,0.7363537804442047,0.263646219555798
+0.96,0.7680299793123229,0.2319700206876689
+1.12,0.7959003926457068,0.2040996073542653
+1.28,0.8204222697247864,0.1795777302751801
+1.44,0.8419979261307588,0.15800207386928
+1.6,0.860981339704563,0.1390186602957058
+1.76,0.8776839601747683,0.1223160398258197
+1.92,0.8923798175453931,0.1076201824549468
+2.08,0.9053100181180958,0.09468998187998996
+2.24,0.9166866990804246,0.08331330091289138
+2.4,0.926696510142139,0.07330348984725329
+2.56,0.9355036829528615,0.06449631708087612
+2.72,0.9432526897331663,0.05674731017708301
+2.88,0.9500706920698688,0.04992930785317327
+3.04,0.9560695444858143,0.04393045575650789
+3.2,0.9613476388863826,0.03865236183705546
+3.36,0.965991602643054,0.03400839367860233
+3.52,0.9700776052525524,0.02992238828864497
+3.68,0.9736726778315385,0.02632732028472391
+3.84,0.976835818172874,0.023164181454316
+4.,0.9796189153398212,0.02038108418899506
+4.16,0.9820676338582401,0.01793236564514089
+4.32,0.9842221464911749,0.01577785413693172
+4.48,0.9861178023094451,0.01388220158774007
+4.64,0.9877857014526942,0.01221430003644593
+4.8,0.9892532080147872,0.01074679198305575
+4.96,0.9905443985959461,0.009455600495307019
+5.12,0.9916804571657056,0.008319543267372485
+5.28,0.9926800220476457,0.007319977808526145
+5.44,0.9935594925660828,0.006440507065202664
+5.6,0.9943332977192327,0.005666701681176236
+5.76,0.9950141328438149,0.004985866523209099
+5.92,0.9956131679140419,0.004386831727301168
+6.08,0.9961402310151908,0.003859769892092482
+6.24,0.9966039708298813,0.003396028471152796
+6.4,0.997011993370091,0.002988003419154628
+6.56,0.9973709820976364,0.002629020003745044
+6.72,0.9976868439383336,0.002313156015062054
+6.88,0.9979647587581915,0.002035241241808517
+7.04,0.9982092862039339,0.001790713796066119
+7.2,0.9984244364165109,0.001575563583489017
+7.36,0.9986137366243959,0.001386263375604105
+7.52,0.9987802926929891,0.001219707307010715
+7.68,0.9989268365308172,0.001073163469182841
+7.84,0.9990557731899847,0.0009442268100152401
+8.,0.9991692186959846,0.0008307813040151508
diff --git a/models/sbml-test-suite/cases/semantic/00182/00182-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00182/00182-sbml-l2v4.xml
new file mode 100644
index 0000000..f26169b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00182/00182-sbml-l2v4.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00182" id="case00182" name="case00182">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.5" constant="false"/>
+      <parameter id="S2" name="S2" value="0.5" constant="false"/>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="0.8"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00182/00182-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00182/00182-sbml-l3v1.xml
new file mode 100644
index 0000000..acfc235
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00182/00182-sbml-l3v1.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00182" id="case00182" name="case00182" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.5" constant="false"/>
+      <parameter id="S2" name="S2" value="0.5" constant="false"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.8" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00182/00182-settings.txt b/models/sbml-test-suite/cases/semantic/00182/00182-settings.txt
new file mode 100644
index 0000000..50ca41d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00182/00182-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00183/00183-results.csv b/models/sbml-test-suite/cases/semantic/00183/00183-results.csv
new file mode 100644
index 0000000..2088da6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00183/00183-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.3499999999999999
+0.004,0.8521437889659271,0.6478562110340728,0.4534993477238509
+0.008,0.7261490370099963,0.7738509629900036,0.5416956740930025
+0.012,0.6187833910589808,0.8812166089410191,0.6168516262587133
+0.016,0.5272924236301457,0.9727075763698542,0.6808953034588979
+0.02,0.4493289640806086,1.050671035919391,0.7354697251435737
+0.024,0.3828928836856359,1.117107116314363,0.7819749814200543
+0.028,0.3262797940967068,1.173720205903292,0.8216041441323048
+0.032,0.2780372939321393,1.22196270606786,0.8553738942475022
+0.036,0.2369277586796814,1.263072241320318,0.8841505689242228
+0.04,0.2018965173079565,1.298103482692043,0.9086724378844302
+0.044,0.1720448635343399,1.327955136465659,0.9295685955259617
+0.048,0.1466069577282333,1.353393042271766,0.9473751295902364
+0.052,0.1249302111803126,1.375069788819687,0.9625488521737812
+0.056,0.1064585043790715,1.393541495620928,0.97547904693465
+0.06,0.09071795211515471,1.409282047884845,0.9864974335193915
+0.064,0.07730473940611788,1.422695260593882,0.9958866824157174
+0.068,0.06587475213937434,1.434125247860625,1.003887673502438
+0.072,0.05613476270806458,1.443865237291935,1.010705666104354
+0.076,0.04783488628753512,1.452165113712464,1.016515579598725
+0.08,0.04076220168681167,1.459237798313188,1.021466458819231
+0.084,0.03473525855326238,1.465264741446737,1.025685319012716
+0.088,0.02959943484041981,1.47040056515958,1.029280395611705
+0.092,0.02522297291118765,1.474777027088811,1.032343918962168
+0.096,0.02149359973319753,1.478506400266802,1.034954480186761
+0.1,0.01831563753905426,1.481684362460945,1.037179053722661
+0.104,0.0156075567904658,1.484392443209533,1.039074710246673
+0.108,0.01329988259769493,1.486700117402304,1.040690082181613
+0.112,0.01133341236490663,1.488666587635092,1.042066611344564
+0.116,0.009657696967719944,1.490342303032279,1.043239612122595
+0.12,0.008229746498091546,1.491770253501907,1.044239177451335
+0.124,0.007012927372856186,1.492987072627143,1.045090950839
+0.128,0.005976022511618941,1.49402397748838,1.045816784241866
+0.132,0.005092430473182725,1.494907569526816,1.046435298668771
+0.136,0.004339483004628697,1.49566051699537,1.046962361896759
+0.14,0.003697863495003418,1.496302136504995,1.047411495553496
+0.144,0.003151111414239947,1.496848888585759,1.047794222010031
+0.148,0.002685200023862053,1.497314799976137,1.048120359983296
+0.152,0.002288176525783352,1.497711823474215,1.048398276431951
+0.156,0.001949855417341254,1.498050144582657,1.04863510120786
+0.16,0.001661557185693494,1.498338442814305,1.048836909970013
+0.164,0.001415885637870887,1.498584114362128,1.049008880053489
+0.168,0.001206538153964614,1.498793461846034,1.049155423292224
+0.172,0.001028143995558128,1.49897185600444,1.049280299203108
+0.176,0.0008761265212615268,1.499123873478737,1.049386711435116
+0.18,0.0007465857745348233,1.499253414225464,1.049477389957825
+0.184,0.0006361984316307026,1.499363801568368,1.049554661097857
+0.188,0.0005421325428552584,1.499457867457143,1.04962050722
+0.192,0.0004619748798627931,1.499538025120136,1.049676617584095
+0.196,0.0003936690251042635,1.499606330974894,1.049724431682426
+0.2,0.0003354626279042733,1.499664537372094,1.049765176160466
diff --git a/models/sbml-test-suite/cases/semantic/00183/00183-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00183/00183-sbml-l2v4.xml
new file mode 100644
index 0000000..5ede6d6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00183/00183-sbml-l2v4.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00183" id="case00183" name="case00183">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="0.5" constant="false"/>
+      <parameter id="S3" name="S3" constant="false"/>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="40"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <apply>
+              <ci> multiply </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00183/00183-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00183/00183-sbml-l3v1.xml
new file mode 100644
index 0000000..cdb3b3d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00183/00183-sbml-l3v1.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00183" id="case00183" name="case00183" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="0.5" constant="false"/>
+      <parameter id="S3" name="S3" constant="false"/>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="40" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <apply>
+              <ci> multiply </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00183/00183-settings.txt b/models/sbml-test-suite/cases/semantic/00183/00183-settings.txt
new file mode 100644
index 0000000..33af950
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00183/00183-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00184/00184-results.csv b/models/sbml-test-suite/cases/semantic/00184/00184-results.csv
new file mode 100644
index 0000000..a075fb3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00184/00184-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.5,0.4999999999987561
+0.12,0.5457679658879734,0.4542320341120265
+0.24,0.5873465209814089,0.4126534790185911
+0.36,0.6251191557479182,0.374880844252084
+0.48,0.6594342566583221,0.3405657433416756
+0.6,0.6906082839286966,0.3093917160712902
+0.72,0.7189287715077336,0.2810712284922607
+0.84,0.7446568983153402,0.2553431016846943
+0.96,0.7680299793167145,0.2319700206832438
+1.08,0.7892635833269802,0.2107364166729741
+1.2,0.8085535471131722,0.1914464528870661
+1.32,0.8260777861169432,0.1739222138826527
+1.44,0.8419979261339168,0.1580020738662739
+1.56,0.8564608000490833,0.1435391999517126
+1.68,0.8695998005640279,0.1304001994336425
+1.8,0.8815361097611154,0.1184638902414526
+1.92,0.8923798175473174,0.1076201824545957
+2.04,0.9022309363774789,0.09776906361121608
+2.16,0.9111803235145179,0.0888196765023289
+2.28,0.9193105196497067,0.08068948035053655
+2.4,0.9266965148744407,0.07330348524417859
+2.52,0.9334064128198498,0.06659358706766029
+2.64,0.9395021235419829,0.06049787584776285
+2.76,0.9450398692564638,0.05496013203099623
+2.88,0.9500707105886252,0.04992928620900759
+3.,0.9546410348548065,0.04535897205335565
+3.12,0.958793011517209,0.04120699305937933
+3.24,0.9625649334332055,0.03743506750226648
+3.36,0.9659915897570146,0.03400840860277597
+3.48,0.9691045822491629,0.03089541524047479
+3.6,0.9719326244489104,0.02806737604664388
+3.72,0.9745017994007845,0.02549820611236852
+3.84,0.9768358020557922,0.02316419884100555
+3.96,0.9789561593601048,0.0210438390876771
+4.08,0.9808824276529988,0.01911757304307553
+4.2,0.9826323733554928,0.01736762564473545
+4.32,0.9842221361683817,0.01577786415419283
+4.44,0.9856663783944126,0.0143336223630703
+4.56,0.9869784203727507,0.01302157903582584
+4.68,0.9881703632438015,0.01182963680997382
+4.8,0.9892532005247891,0.01074679941688177
+4.92,0.9902369193762743,0.009763080511225654
+5.04,0.9911305943326018,0.008869405740034672
+5.16,0.99194246235749,0.008057538063797281
+5.28,0.9926800162531078,0.007319983775069701
+5.4,0.9933500567171271,0.006649945210878444
+5.52,0.993958764678083,0.006041234138359888
+5.64,0.9945117536858915,0.005488245066632657
+5.76,0.9950141245113951,0.004985878593742717
+5.88,0.9954705103096819,0.00452948775510044
+6.,0.9958851208751847,0.00411487900713954
diff --git a/models/sbml-test-suite/cases/semantic/00184/00184-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00184/00184-sbml-l2v4.xml
new file mode 100644
index 0000000..0381b8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00184/00184-sbml-l2v4.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00184" id="case00184" name="case00184">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.5" constant="false"/>
+      <parameter id="S2" name="S2" value="0.5" constant="false"/>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="0.8"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> S1 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> S2 </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> k1 </ci>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k2 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00184/00184-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00184/00184-sbml-l3v1.xml
new file mode 100644
index 0000000..32d5c69
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00184/00184-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00184" id="case00184" name="case00184" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="0.5" constant="false"/>
+      <parameter id="S2" name="S2" value="0.5" constant="false"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.8" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> S1 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> S2 </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> k1 </ci>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k2 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00184/00184-settings.txt b/models/sbml-test-suite/cases/semantic/00184/00184-settings.txt
new file mode 100644
index 0000000..b889001
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00184/00184-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00185/00185-results.csv b/models/sbml-test-suite/cases/semantic/00185/00185-results.csv
new file mode 100644
index 0000000..a806d8d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00185/00185-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.499999999999999e-15,1.124999999999999e-15
+0.005,0.778800782549914,0.2211992174500875,0.1658994130875656
+0.01,0.6065306571417218,0.3934693428582797,0.2951020071437098
+0.015,0.4723665281375129,0.5276334718624885,0.3957251038968664
+0.02,0.3678794404183979,0.6321205595816035,0.4740904196862026
+0.025,0.2865047853543507,0.7134952146456503,0.5351214109842377
+0.03,0.2231301553766562,0.7768698446233449,0.5826523834675086
+0.035,0.1737739389187315,0.8262260610812696,0.6196695458109522
+0.04,0.1353352790371354,0.8646647209628656,0.6484985407221491
+0.045,0.1053992207474827,0.8946007792525183,0.6709505844393888
+0.05,0.08208499521675297,0.917915004783248,0.6884362535874359
+0.055,0.06392785820622204,0.9360721417937789,0.7020541063453342
+0.06,0.04978706575763054,0.9502129342423704,0.7126597006817778
+0.065,0.03877420558510252,0.9612257944148985,0.7209193458111739
+0.07,0.03019738150680485,0.9698026184931962,0.7273519638698972
+0.075,0.02351774423647876,0.9764822557635223,0.7323616918226417
+0.08,0.01831563752977749,0.9816843624702235,0.7362632718526676
+0.085,0.01426423277650006,0.9857357672235008,0.7393018254176256
+0.09,0.01110899560037834,0.9888910043996225,0.7416682532997168
+0.095,0.008651694430928292,0.9913483055690726,0.7435112291768044
+0.1,0.006737946366708454,0.9932620536332924,0.7449465402249693
+0.105,0.005247517883898602,0.9947524821161022,0.7460643615870766
+0.11,0.004086771020570889,0.9959132289794299,0.7469349217345724
+0.115,0.003182780459108444,0.9968172195408924,0.7476129146556693
+0.12,0.002478751905407076,0.9975212480945937,0.7481409360709453
+0.125,0.001930453919027908,0.9980695460809728,0.7485521595607296
+0.13,0.001503439019741428,0.9984965609802591,0.7488724207351944
+0.135,0.001170879483140671,0.9988291205168601,0.749121840387645
+0.14,0.0009118818565805188,0.9990881181434203,0.7493160886075652
+0.145,0.0007101743028798929,0.9992898256971208,0.7494673692728406
+0.15,0.0005530843025759714,0.9994469156974249,0.7495851867730687
+0.155,0.0004307424876447046,0.9995692575123561,0.7496769431342671
+0.16,0.0003354625865832137,0.9996645374134175,0.7497484030600631
+0.165,0.0002612585251578182,0.9997387414748428,0.7498040561061321
+0.17,0.0002034683440910991,0.9997965316559095,0.7498473987419321
+0.175,0.0001584613058641409,0.9998415386941363,0.7498811540206022
+0.18,0.000123409789266341,0.9998765902107342,0.7499074426580507
+0.185,0.00009611164069338991,0.9999038883593071,0.7499279162694803
+0.19,0.00007485182119994831,0.9999251481788005,0.7499438611341003
+0.195,0.00005829465711662822,0.9999417053428838,0.7499562790071628
+0.2,0.00004539992474664481,0.9999546000752538,0.7499659500564404
+0.205,0.00003535749706224828,0.9999646425029382,0.7499734818772037
+0.21,0.00002753644650101713,0.9999724635534994,0.7499793476651246
+0.215,0.0000214454061839674,0.9999785545938166,0.7499839159453625
+0.22,0.00001670169920133072,0.9999832983007992,0.7499874737255993
+0.225,0.00001300729647625534,0.9999869927035242,0.7499902445276431
+0.23,0.00001013009273030884,0.99998986990727,0.7499924024304525
+0.235,7.889324190804969e-6,0.9999921106758096,0.7499940830068572
+0.24,6.144211889888937e-6,0.9999938557881107,0.7499953918410831
+0.245,4.785117056997739e-6,0.9999952148829437,0.7499964111622078
+0.25,3.72665317215066e-6,0.9999962733468287,0.7499972050101215
diff --git a/models/sbml-test-suite/cases/semantic/00185/00185-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00185/00185-sbml-l2v4.xml
new file mode 100644
index 0000000..30b2e4f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00185/00185-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00185" id="case00185" name="case00185">
+    <listOfParameters>
+      <parameter id="S1" name="S1" constant="false"/>
+      <parameter id="S2" name="S2" constant="false"/>
+      <parameter id="S3" name="S3" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 1.33333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci>k2</ci>
+            <cn type="e-notation"> 3 <sep/> -17 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00185/00185-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00185/00185-sbml-l3v1.xml
new file mode 100644
index 0000000..99f7819
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00185/00185-sbml-l3v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00185" id="case00185" name="case00185" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" constant="false"/>
+      <parameter id="S2" name="S2" constant="false"/>
+      <parameter id="S3" name="S3" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 1.33333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <cn type="e-notation"> 3 <sep/> -17 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00185/00185-settings.txt b/models/sbml-test-suite/cases/semantic/00185/00185-settings.txt
new file mode 100644
index 0000000..12143f5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00185/00185-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.25
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00186/00186-results.csv b/models/sbml-test-suite/cases/semantic/00186/00186-results.csv
new file mode 100644
index 0000000..73a7e23
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00186/00186-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.00011,0.0001
+0.4,0.00007490637402844687,0.00008490637402844689,0.0001250936259715531
+0.8,0.00005951665265557149,0.0000695166526555715,0.0001404833473444284
+1.2,0.00004911791278830473,0.0000591179127883047,0.0001508820872116951
+1.6,0.0000416239090649751,0.00005162390906497507,0.0001583760909350247
+2.,0.0000359689371355377,0.00004596893713553768,0.0001640310628644621
+2.4,0.00003155180271764324,0.00004155180271764321,0.0001684481972823566
+2.8,0.00002800760616002601,0.00003800760616002597,0.0001719923938399738
+3.2,0.0000251020356180555,0.00003510203561805547,0.0001748979643819442
+3.6,0.00002267774778506206,0.00003267774778506204,0.0001773222522149377
+4.,0.00002062516146740559,0.00003062516146740555,0.0001793748385325941
+4.4,0.00001886561288567112,0.00002886561288567109,0.0001811343871143286
+4.8,0.00001734117006760923,0.0000273411700676092,0.0001826588299323905
+5.2,0.00001600822505561165,0.00002600822505561161,0.000183991774944388
+5.6,0.00001483332434636002,0.00002483332434635998,0.0001851666756536397
+6.,0.00001379037565414424,0.0000237903756541442,0.0001862096243458555
+6.4,0.00001285872892108877,0.00002285872892108873,0.000187141271078911
+6.8,0.0000120218270390362,0.00002202182703903616,0.0001879781729609635
+7.2,0.00001126624033814561,0.00002126624033814557,0.0001887337596618541
+7.6,0.00001058096078953974,0.00002058096078953969,0.00018941903921046
+8.,9.956879926164861e-6,0.00001995687992616481,0.0001900431200738349
+8.4,9.386395901006134e-6,0.00001938639590100609,0.0001906136040989936
+8.8,8.863114381706205e-6,0.00001886311438170616,0.0001911368856182936
+9.2,8.381617818548414e-6,0.00001838161781854837,0.0001916183821814514
+9.6,7.937285688042559e-6,0.00001793728568804251,0.0001920627143119573
+10.,7.526153232322573e-6,0.00001752615323232253,0.0001924738467676772
+10.4,7.144799018237956e-6,0.00001714479901823791,0.0001928552009817618
+10.8,6.790254801976313e-6,0.00001679025480197627,0.0001932097451980235
+11.2,6.459932979488453e-6,0.00001645993297948841,0.0001935400670205113
+11.6,6.151567436209703e-6,0.00001615156743620966,0.0001938484325637901
+12.,5.863165129017313e-6,0.00001586316512901727,0.0001941368348709824
+12.4,5.592965987037847e-6,0.0000155929659870378,0.0001944070340129619
+12.8,5.339409945450242e-6,0.0000153394099454502,0.0001946605900545495
+13.2,5.101109278660804e-6,0.00001510110927866076,0.0001948988907213389
+13.6,4.876825413953594e-6,0.00001487682541395355,0.0001951231745860461
+14.,4.665449389547977e-6,0.00001466544938954793,0.0001953345506104517
+14.4,4.465985366492283e-6,0.00001446598536649224,0.0001955340146335074
+14.8,4.277536401413398e-6,0.00001427753640141335,0.0001957224635985863
+15.2,4.099292729161946e-6,0.0000140992927291619,0.0001959007072708377
+15.6,3.930521108621695e-6,0.00001393052110862165,0.0001960694788913779
+16.,3.770556183729902e-6,0.00001377055618372986,0.0001962294438162698
+16.4,3.618792762225115e-6,0.00001361879276222507,0.0001963812072377746
+16.8,3.474679045541593e-6,0.00001347467904554155,0.0001965253209544581
+17.2,3.337711045900931e-6,0.00001333771104590089,0.0001966622889540987
+17.6,3.207427355626929e-6,0.00001320742735562689,0.0001967925726443727
+18.,3.08340476831056e-6,0.00001308340476831052,0.0001969165952316891
+18.4,2.965254519279808e-6,0.00001296525451927977,0.0001970347454807198
+18.8,2.852618635598769e-6,0.00001285261863559873,0.0001971473813644009
+19.2,2.745167153509515e-6,0.00001274516715350947,0.0001972548328464901
+19.6,2.642595328162591e-6,0.00001264259532816255,0.0001973574046718371
+20.,2.544621219809706e-6,0.00001254462121980967,0.0001974553787801899
diff --git a/models/sbml-test-suite/cases/semantic/00186/00186-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00186/00186-sbml-l1v2.xml
new file mode 100644
index 0000000..4359bcc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00186/00186-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00186">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.00011" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="7500"/>
+      <parameter name="k2" value="0"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00186/00186-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00186/00186-sbml-l2v4.xml
new file mode 100644
index 0000000..2b52ed3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00186/00186-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00186" id="case00186" name="case00186">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00011" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="0"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00186/00186-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00186/00186-sbml-l3v1.xml
new file mode 100644
index 0000000..2085e4e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00186/00186-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00186" id="case00186" name="case00186" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00011" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="0" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00186/00186-settings.txt b/models/sbml-test-suite/cases/semantic/00186/00186-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00186/00186-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00187/00187-results.csv b/models/sbml-test-suite/cases/semantic/00187/00187-results.csv
new file mode 100644
index 0000000..c8ebccb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00187/00187-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.00011,0.0001
+0.6,0.0001139292023915992,0.0001239292023915992,0.00008607079760840077
+1.2,0.0001259181780647489,0.000135918178064749,0.00007408182193525106
+1.8,0.0001362371849318289,0.000146237184931829,0.00006376281506817101
+2.4,0.0001451188372094333,0.0001551188372094334,0.00005488116279056662
+3.,0.0001527633456885648,0.0001627633456885649,0.00004723665431143517
+3.6,0.0001593430347274699,0.00016934303472747,0.00004065696527253001
+4.2,0.0001650062330731307,0.0001750062330731308,0.00003499376692686928
+4.8,0.0001698805788204117,0.0001798805788204118,0.00003011942117958816
+5.4,0.000174075974089276,0.000184075974089276,0.00002592402591072393
+6.,0.0001776869841093203,0.0001876869841093204,0.00002231301589067958
+6.6,0.0001807950092873018,0.0001907950092873019,0.00001920499071269808
+7.2,0.0001834701114506968,0.0001934701114506969,0.00001652988854930306
+7.8,0.0001857725931774651,0.0001957725931774652,0.00001422740682253474
+8.4,0.0001877543571920225,0.0001977543571920225,0.00001224564280797741
+9.,0.0001894600779197461,0.0001994600779197462,0.00001053992208025372
+9.6,0.0001909282051482071,0.0002009282051482072,9.071794851792674e-6
+10.2,0.0001921918339049796,0.0002021918339049797,7.808166095020192e-6
+10.8,0.0001932794491934882,0.0002032794491934883,6.720550806511549e-6
+11.4,0.0001942155682958183,0.0002042155682958184,5.784431704181509e-6
+12.,0.0001950212937121461,0.0002050212937121462,4.978706287853701e-6
+12.6,0.0001957147876952505,0.0002057147876952506,4.285212304749336e-6
+13.2,0.0001963116834264583,0.0002063116834264584,3.688316573541534e-6
+13.8,0.0001968254363798953,0.0002068254363798954,3.174563620104534e-6
+14.4,0.0001972676277827799,0.0002072676277827799,2.732372217219965e-6
+15.,0.0001976482255412223,0.0002076482255412223,2.351774458777552e-6
+15.6,0.0001979758090490903,0.0002079758090490904,2.024190950909439e-6
+16.2,0.0001982577627285202,0.0002082577627285203,1.742237271479597e-6
+16.8,0.0001985004424548286,0.0002085004424548286,1.499557545171246e-6
+17.4,0.0001987093188040184,0.0002087093188040185,1.290681195981409e-6
+18.,0.0001988891003541256,0.0002088891003541257,1.110899645874202e-6
+18.6,0.0001990438398147672,0.0002090438398147673,9.56160185232539e-7
+19.2,0.0001991770253370264,0.0002091770253370265,8.229746629733334e-7
+19.8,0.0001992916591734868,0.0002092916591734869,7.083408265130113e-7
+20.4,0.0001993903254108516,0.0002093903254108517,6.096745891481767e-7
+21.,0.0001994752482090554,0.0002094752482090555,5.247517909444167e-7
+21.6,0.0001995483419287799,0.00020954834192878,4.516580712198344e-7
+22.2,0.000199611254279111,0.0002096112542791111,3.887457208887974e-7
+22.8,0.0001996654034564124,0.0002096654034564125,3.345965435873798e-7
+23.4,0.0001997120100980038,0.0002097120100980039,2.879899019959747e-7
+24.,0.0001997521248050576,0.0002097521248050577,2.478751949421875e-7
+24.6,0.0001997866518465724,0.0002097866518465724,2.133481534274013e-7
+25.2,0.0001998163695397927,0.0002098163695397928,1.836304602070429e-7
+25.8,0.0001998419477916512,0.0002098419477916512,1.580522083485912e-7
+26.4,0.0001998639631977126,0.0002098639631977126,1.360368022872283e-7
+27.,0.0001998829120384949,0.0002098829120384949,1.170879615049686e-7
+27.6,0.000199899221461628,0.0002098992214616281,1.007785383717647e-7
+28.2,0.0001999132591120346,0.0002099132591120347,8.674088796516676e-8
+28.8,0.0001999253414273987,0.0002099253414273988,7.465857260108057e-8
+29.4,0.0001999357407702054,0.0002099357407702055,6.425922979442296e-8
+30.,0.0001999446915629847,0.0002099446915629848,5.53084370150692e-8
diff --git a/models/sbml-test-suite/cases/semantic/00187/00187-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00187/00187-sbml-l1v2.xml
new file mode 100644
index 0000000..96afd29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00187/00187-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00187">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.00011" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00187/00187-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00187/00187-sbml-l2v4.xml
new file mode 100644
index 0000000..7db77dd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00187/00187-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00187" id="case00187" name="case00187">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00011" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00187/00187-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00187/00187-sbml-l3v1.xml
new file mode 100644
index 0000000..3fc0361
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00187/00187-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00187" id="case00187" name="case00187" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00011" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00187/00187-settings.txt b/models/sbml-test-suite/cases/semantic/00187/00187-settings.txt
new file mode 100644
index 0000000..8c22e5c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00187/00187-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 30.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00188/00188-results.csv b/models/sbml-test-suite/cases/semantic/00188/00188-results.csv
new file mode 100644
index 0000000..d635013
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00188/00188-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00015,0.0002,0.0001
+0.3,0.00007368019760864701,0.0001236801976086469,0.000226319802391353,0.0001263198023913529
+0.6,0.00005691622792226087,0.0001069162279222608,0.0002430837720777391,0.000143083772077739
+0.9,0.00004536548816163925,0.00009536548816163921,0.0002546345118383607,0.0001546345118383606
+1.2,0.00003696944369788546,0.00008696944369788542,0.0002630305563021146,0.0001630305563021144
+1.5,0.00003062633326332046,0.0000806263332633204,0.0002693736667366794,0.0001693736667366794
+1.8,0.00002569307763027493,0.00007569307763027488,0.0002743069223697249,0.0001743069223697249
+2.1,0.00002176901801353853,0.00007176901801353847,0.0002782309819864614,0.0001782309819864613
+2.4,0.00001859147505352908,0.00006859147505352902,0.0002814085249464708,0.0001814085249464708
+2.7,0.00001598102515663847,0.00006598102515663842,0.0002840189748433615,0.0001840189748433614
+3.,0.0000138109137152034,0.00006381091371520334,0.0002861890862847965,0.0001861890862847966
+3.3,0.00001198903377924664,0.00006198903377924659,0.0002880109662207533,0.0001880109662207533
+3.6,0.00001044683561194869,0.00006044683561194863,0.0002895531643880512,0.0001895531643880513
+3.9,9.132241861871903e-6,0.00005913224186187184,0.0002908677581381279,0.0001908677581381281
+4.2,8.004979180101335e-6,0.00005800497918010127,0.0002919950208198985,0.0001919950208198987
+4.5,7.033413817697576e-6,0.00005703341381769751,0.0002929665861823023,0.0001929665861823024
+4.8,6.192355916519558e-6,0.00005619235591651949,0.0002938076440834802,0.0001938076440834804
+5.1,5.461503032243884e-6,0.00005546150303224381,0.0002945384969677559,0.0001945384969677561
+5.4,4.824314621749682e-6,0.00005482431462174961,0.00029517568537825,0.0001951756853782503
+5.7,4.267186110456954e-6,0.00005426718611045688,0.0002957328138895428,0.000195732813889543
+6.,3.778831378772419e-6,0.00005377883137877235,0.0002962211686212274,0.0001962211686212275
+6.3,3.349815951361987e-6,0.00005334981595136191,0.0002966501840486379,0.0001966501840486379
+6.6,2.972199101785306e-6,0.00005297219910178523,0.0002970278008982146,0.0001970278008982146
+6.9,2.639255957678536e-6,0.00005263925595767845,0.0002973607440423213,0.0001973607440423214
+7.2,2.345260000761588e-6,0.0000523452600007615,0.0002976547399992383,0.0001976547399992383
+7.5,2.085310667327195e-6,0.00005208531066732711,0.0002979146893326727,0.0001979146893326727
+7.8,1.855195364364519e-6,0.00005185519536436444,0.0002981448046356354,0.0001981448046356353
+8.1,1.651278499707484e-6,0.00005165127849970741,0.0002983487215002924,0.0001983487215002924
+8.4,1.470411032359501e-6,0.00005147041103235943,0.0002985295889676404,0.0001985295889676403
+8.7,1.309856727583839e-6,0.00005130985672758377,0.0002986901432724161,0.000198690143272416
+9.,1.167230901021771e-6,0.00005116723090102171,0.0002988327690989781,0.0001988327690989781
+9.3,1.04045001818413e-6,0.00005104045001818407,0.0002989595499818157,0.0001989595499818157
+9.6,9.276893451359356e-7,0.00005092768934513588,0.0002990723106548639,0.0001990723106548639
+9.9,8.273474196344372e-7,0.00005082734741963438,0.0002991726525803654,0.0001991726525803655
+10.2,7.380160770576887e-7,0.00005073801607705762,0.0002992619839229422,0.0001992619839229422
+10.5,6.5845508067832e-7,0.00005065845508067825,0.0002993415449193215,0.0001993415449193215
+10.8,5.875703939142218e-7,0.00005058757039391415,0.0002994124296060857,0.0001994124296060857
+11.1,5.243956511735608e-7,0.00005052439565117349,0.0002994756043488263,0.0001994756043488263
+11.4,4.680762171527548e-7,0.00005046807621715268,0.0002995319237828471,0.0001995319237828471
+11.7,4.178554440275581e-7,0.00005041785544402748,0.0002995821445559722,0.0001995821445559723
+12.,3.73062773868273e-7,0.00005037306277386819,0.0002996269372261315,0.0001996269372261316
+12.3,3.331034509248209e-7,0.00005033310345092474,0.0002996668965490748,0.0001996668965490751
+12.6,2.97449516729052e-7,0.00005029744951672897,0.0002997025504832706,0.0001997025504832709
+12.9,2.656319630480487e-7,0.00005026563196304798,0.0002997343680369516,0.0001997343680369519
+13.2,2.372339079133671e-7,0.00005023723390791329,0.0002997627660920862,0.0001997627660920866
+13.5,2.118846174411075e-7,0.00005021188461744103,0.0002997881153825585,0.0001997881153825588
+13.8,1.892541976515405e-7,0.00005018925419765147,0.0002998107458023481,0.0001998107458023484
+14.1,1.690489653548226e-7,0.00005016904896535475,0.0002998309510346448,0.0001998309510346451
+14.4,1.510073815561557e-7,0.00005015100738155609,0.0002998489926184435,0.0001998489926184438
+14.7,1.348964489916357e-7,0.00005013489644899157,0.000299865103551008,0.0001998651035510083
+15.,1.205085189229158e-7,0.00005012050851892285,0.0002998794914810767,0.000199879491481077
diff --git a/models/sbml-test-suite/cases/semantic/00188/00188-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00188/00188-sbml-l1v2.xml
new file mode 100644
index 0000000..6be02a8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00188/00188-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00188">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.00015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0002" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0.0001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="7500"/>
+      <parameter name="k2" value="0"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00188/00188-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00188/00188-sbml-l2v4.xml
new file mode 100644
index 0000000..a9d25d0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00188/00188-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00188" id="case00188" name="case00188">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="0"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00188/00188-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00188/00188-sbml-l3v1.xml
new file mode 100644
index 0000000..5de1092
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00188/00188-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00188" id="case00188" name="case00188" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="0" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00188/00188-settings.txt b/models/sbml-test-suite/cases/semantic/00188/00188-settings.txt
new file mode 100644
index 0000000..77f0342
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00188/00188-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00189/00189-results.csv b/models/sbml-test-suite/cases/semantic/00189/00189-results.csv
new file mode 100644
index 0000000..6e7621b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00189/00189-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00015,0.0002,0.0001
+0.16,0.0001203183253789267,0.0001703183253789267,0.0001796816746210732,0.00007968167462107329
+0.32,0.0001351701070509771,0.0001851701070509772,0.0001648298929490228,0.00006482989294902284
+0.48,0.0001464283468879237,0.0001964283468879237,0.0001535716531120762,0.0000535716531120763
+0.64,0.0001552001195841855,0.0002052001195841856,0.0001447998804158144,0.00004479988041581445
+0.8,0.0001621819160843872,0.0002121819160843873,0.0001378180839156127,0.00003781808391561272
+0.96,0.0001678339350354727,0.0002178339350354727,0.0001321660649645273,0.00003216606496452727
+1.12,0.0001724725231039362,0.0002224725231039362,0.0001275274768960637,0.0000275274768960637
+1.28,0.0001763223547555464,0.0002263223547555464,0.0001236776452444535,0.0000236776452444535
+1.44,0.0001795474217997807,0.0002295474217997807,0.0001204525782002192,0.00002045257820021921
+1.6,0.0001822702387692378,0.0002322702387692378,0.0001177297612307621,0.00001772976123076213
+1.76,0.0001845841801379365,0.0002345841801379365,0.0001154158198620635,0.00001541581986206344
+1.92,0.0001865616534764017,0.0002365616534764018,0.0001134383465235982,0.00001343834652359821
+2.08,0.0001882596622179285,0.0002382596622179285,0.0001117403377820715,0.00001174033778207151
+2.24,0.0001897236821851097,0.0002397236821851097,0.0001102763178148904,0.00001027631781489031
+2.4,0.0001909904187245019,0.0002409904187245019,0.0001090095812754982,9.009581275498122e-6
+2.56,0.0001920898073262338,0.0002420898073262338,0.0001079101926737662,7.910192673766187e-6
+2.72,0.0001930464863304726,0.0002430464863304726,0.0001069535136695274,6.953513669527411e-6
+2.88,0.000193880901093884,0.0002438809010938841,0.000106119098906116,6.11909890611596e-6
+3.04,0.000194610141023413,0.0002446101410234129,0.0001053898589765871,5.389858976587048e-6
+3.2,0.0001952485829876353,0.0002452485829876352,0.0001047514170123648,4.751417012364729e-6
+3.36,0.000195808392121367,0.0002458083921213668,0.0001041916078786331,4.191607878633071e-6
+3.52,0.0001962999151469548,0.0002462999151469548,0.0001037000848530453,3.700084853045197e-6
+3.68,0.0001967319926671745,0.0002467319926671744,0.0001032680073328256,3.268007332825562e-6
+3.84,0.0001971122091312186,0.0002471122091312186,0.0001028877908687815,2.887790868781412e-6
+4.,0.0001974470958224077,0.0002474470958224076,0.0001025529041775925,2.552904177592397e-6
+4.16,0.0001977422946414746,0.0002477422946414745,0.0001022577053585255,2.257705358525463e-6
+4.32,0.0001980026941344877,0.0002480026941344876,0.0001019973058655124,1.997305865512355e-6
+4.48,0.0001982325405172269,0.0002482325405172268,0.0001017674594827732,1.76745948277319e-6
+4.64,0.000198435530846928,0.0002484355308469279,0.0001015644691530721,1.564469153072078e-6
+4.8,0.0001986148907070758,0.0002486148907070756,0.0001013851092929243,1.385109292924302e-6
+4.96,0.0001987734394127744,0.0002487734394127743,0.0001012265605872257,1.226560587225662e-6
+5.12,0.0001989136451374367,0.0002489136451374366,0.0001010863548625635,1.086354862563409e-6
+5.28,0.0001990376718374566,0.0002490376718374565,0.0001009623281625435,9.623281625434808e-7
+5.44,0.0001991474192602293,0.0002491474192602292,0.0001008525807397708,8.525807397707576e-7
+5.6,0.0001992445570354826,0.0002492445570354824,0.0001007554429645175,7.554429645175091e-7
+5.76,0.000199330554070353,0.0002493305540703528,0.0001006694459296471,6.694459296471052e-7
+5.92,0.0001994067038519119,0.0002494067038519116,0.0001005932961480883,5.932961480882998e-7
+6.08,0.0001994741463054495,0.0002494741463054493,0.0001005258536945508,5.258536945507034e-7
+6.24,0.0001995338867898991,0.000249533886789899,0.0001004661132101011,4.661132101010165e-7
+6.4,0.0001995868124634277,0.0002495868124634275,0.0001004131875365725,4.131875365724786e-7
+6.56,0.0001996337066465624,0.0002496337066465623,0.0001003662933534378,3.662933534377744e-7
+6.72,0.0001996752614668772,0.0002496752614668771,0.000100324738533123,3.247385331229662e-7
+6.88,0.0001997120884808259,0.0002497120884808258,0.0001002879115191743,2.879115191742147e-7
+7.04,0.0001997447284853575,0.0002497447284853574,0.0001002552715146427,2.552715146426003e-7
+7.2,0.000199773659829122,0.0002497736598291218,0.0001002263401708782,2.263401708781356e-7
+7.36,0.0001997993056323709,0.0002497993056323706,0.0001002006943676293,2.006943676292626e-7
+7.52,0.0001998220404528901,0.0002498220404528899,0.0001001779595471101,1.779595471100219e-7
+7.68,0.0001998421958024909,0.0002498421958024907,0.0001001578041975093,1.578041975092515e-7
+7.84,0.0001998600651924247,0.0002498600651924245,0.0001001399348075755,1.399348075754643e-7
+8.,0.0001998759085952461,0.000249875908595246,0.0001001240914047541,1.240914047540281e-7
diff --git a/models/sbml-test-suite/cases/semantic/00189/00189-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00189/00189-sbml-l1v2.xml
new file mode 100644
index 0000000..d8ec8d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00189/00189-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00189">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.00015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0002" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0.0001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0"/>
+      <parameter name="k2" value="7500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00189/00189-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00189/00189-sbml-l2v4.xml
new file mode 100644
index 0000000..ea2d7e8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00189/00189-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00189" id="case00189" name="case00189">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0"/>
+      <parameter id="k2" name="k2" value="7500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00189/00189-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00189/00189-sbml-l3v1.xml
new file mode 100644
index 0000000..04a62a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00189/00189-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00189" id="case00189" name="case00189" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0" constant="true"/>
+      <parameter id="k2" name="k2" value="7500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00189/00189-settings.txt b/models/sbml-test-suite/cases/semantic/00189/00189-settings.txt
new file mode 100644
index 0000000..c50ce93
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00189/00189-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00190/00190-results.csv b/models/sbml-test-suite/cases/semantic/00190/00190-results.csv
new file mode 100644
index 0000000..153e770
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00190/00190-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,10.,0
+1.,9.950000000000008,0.05000000000000001
+2.,9.900000000000007,0.1
+3.,9.850000000000008,0.15
+4.,9.800000000000009,0.2
+5.,9.750000000000008,0.25
+6.,9.700000000000009,0.2999999999999999
+7.,9.650000000000009,0.3499999999999999
+8.,9.60000000000001,0.4
+9.,9.550000000000009,0.45
+10.,9.50000000000001,0.5
+11.,9.450000000000009,0.55
+12.,9.400000000000009,0.5999999999999999
+13.,9.35000000000001,0.65
+14.,9.300000000000009,0.6999999999999999
+15.,9.250000000000008,0.75
+16.,9.200000000000009,0.8
+17.,9.150000000000009,0.85
+18.,9.10000000000001,0.9000000000000001
+19.,9.050000000000009,0.9500000000000001
+20.,9.000000000000008,1.
+21.,8.950000000000009,1.05
+22.,8.900000000000009,1.1
+23.,8.85000000000001,1.15
+24.,8.800000000000009,1.2
+25.,8.750000000000008,1.25
+26.,8.700000000000009,1.3
+27.,8.650000000000009,1.35
+28.,8.60000000000001,1.4
+29.,8.550000000000009,1.45
+30.,8.500000000000008,1.5
+31.,8.450000000000009,1.55
+32.,8.400000000000009,1.6
+33.,8.35000000000001,1.65
+34.,8.300000000000009,1.7
+35.,8.250000000000008,1.75
+36.,8.200000000000009,1.8
+37.,8.150000000000009,1.85
+38.,8.10000000000001,1.9
+39.,8.050000000000009,1.95
+40.,8.000000000000008,2.
+41.,7.950000000000009,2.05
+42.,7.900000000000009,2.1
+43.,7.850000000000009,2.15
+44.,7.800000000000009,2.2
+45.,7.750000000000009,2.25
+46.,7.700000000000009,2.299999999999999
+47.,7.650000000000009,2.35
+48.,7.600000000000009,2.399999999999999
+49.,7.550000000000009,2.45
+50.,7.500000000000009,2.5
diff --git a/models/sbml-test-suite/cases/semantic/00190/00190-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00190/00190-sbml-l2v4.xml
new file mode 100644
index 0000000..4ae1a93
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00190/00190-sbml-l2v4.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00190" id="case00190" name="case00190">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <false/>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00190/00190-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00190/00190-sbml-l3v1.xml
new file mode 100644
index 0000000..48f33d0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00190/00190-sbml-l3v1.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00190" id="case00190" name="case00190" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <false/>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00190/00190-settings.txt b/models/sbml-test-suite/cases/semantic/00190/00190-settings.txt
new file mode 100644
index 0000000..6d01bbc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00190/00190-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 50.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00191/00191-results.csv b/models/sbml-test-suite/cases/semantic/00191/00191-results.csv
new file mode 100644
index 0000000..8022727
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00191/00191-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,10.,0,10.,0
+0.1,9.048374179721133,0.9516258202788616,9.995000000000002,0.005
+0.2,8.187307521692892,1.812692478307102,9.990000000000002,0.01
+0.3,7.408182198378273,2.591817801621722,9.985000000000001,0.015
+0.4,6.703200398921646,3.296799601078348,9.98,0.02
+0.5,6.065306565630086,3.934693434369909,9.974999999999999,0.025
+0.6,5.488116360696975,4.511883639303017,9.840697154461873,0.1593028455381203
+0.7,4.965853036364301,5.034146963635691,9.690697154461872,0.3093028455381202
+0.8,4.493289630151469,5.506710369848523,9.540697154461875,0.4593028455381202
+0.9,4.065696587070039,5.934303412929953,9.390697154461877,0.6093028455381202
+1.,3.678794337680904,6.321205662319088,9.24069715446188,0.75930284553812
+1.1,3.32871079112572,6.671289208874271,9.09069715446188,0.9093028455381203
+1.2,3.011942103454854,6.988057896545138,8.940697154461881,1.05930284553812
+1.3,2.725317930233366,7.274682069766625,8.790697154461883,1.20930284553812
+1.4,2.465969629389174,7.534030370610818,8.640697154461882,1.35930284553812
+1.5,2.231301325889154,7.768698674110838,8.490697154461884,1.509302845538119
+1.6,2.018964989571498,7.981035010428494,8.340697154461885,1.65930284553812
+1.7,1.826835202772336,8.173164797227658,8.190697154461883,1.809302845538119
+1.8,1.652988810820756,8.347011189179237,8.040697154461883,1.95930284553812
+1.9,1.495686146674353,8.504313853325641,7.890697154461882,2.10930284553812
+2.,1.353352795919592,8.646647204080402,7.740697154461883,2.25930284553812
+2.1,1.224564225929522,8.775435774070471,7.590697154461882,2.40930284553812
+2.2,1.108031571901821,8.891968428098172,7.440697154461883,2.55930284553812
+2.3,1.002588380788116,8.997411619211876,7.290697154461883,2.70930284553812
+2.4,0.9071795323625095,9.092820467637484,7.140697154461882,2.85930284553812
+2.5,0.8208499383729974,9.179150061626995,6.990697154461884,3.009302845538119
+2.6,0.7427357790992594,9.257264220900731,6.840697154461883,3.15930284553812
+2.7,0.672055118078251,9.327944881921739,6.690697154461884,3.30930284553812
+2.8,0.6081005825080679,9.391899417491924,6.540697154461884,3.45930284553812
+2.9,0.5502321289964987,9.449767871003492,6.390697154461884,3.60930284553812
+3.,0.4978706063020289,9.502129393697963,6.240697154461885,3.759302845538119
+3.1,0.4504919629020188,9.549508037097973,6.090697154461883,3.909302845538119
+3.2,0.4076220075213432,9.592377992478647,5.940697154461883,4.05930284553812
+3.3,0.3688316674780788,9.631168332521914,5.790697154461883,4.20930284553812
+3.4,0.3337326980509871,9.666267301949005,5.640697154461883,4.35930284553812
+3.5,0.3019738177011027,9.698026182298891,5.490697154461884,4.509302845538119
+3.6,0.2732371925468827,9.726762807453111,5.340697154461883,4.659302845538119
+3.7,0.2472352268861604,9.752764773113833,5.190697154461883,4.80930284553812
+3.8,0.2237076861080609,9.776292313891932,5.040697154461883,4.95930284553812
+3.9,0.2024190949683468,9.797580905031646,4.890697154461882,5.10930284553812
+4.,0.1831563830540355,9.816843616945957,4.740697154461883,5.25930284553812
+4.1,0.1657267539826885,9.834273246017303,4.590697154461882,5.40930284553812
+4.2,0.1499557624709558,9.850044237529036,4.440697154461883,5.55930284553812
+4.3,0.1356855763256111,9.864314423674381,4.290697154461883,5.709302845538119
+4.4,0.1227733809469085,9.877226619053084,4.140697154461883,5.85930284553812
+4.5,0.1110899485343183,9.888910051465675,3.990697154461884,6.00930284553812
+4.6,0.1005183461689471,9.899481653831045,3.840697154461883,6.15930284553812
+4.7,0.09095276663680253,9.909047233363191,3.690697154461883,6.30930284553812
+4.8,0.08229747034505319,9.91770252965494,3.540697154461883,6.45930284553812
+4.9,0.07446583011984332,9.925534169880149,3.390697154461883,6.609302845538119
+5.,0.0673794699913176,9.932620530008675,3.240697154461884,6.759302845538118
diff --git a/models/sbml-test-suite/cases/semantic/00191/00191-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00191/00191-sbml-l2v4.xml
new file mode 100644
index 0000000..66d810d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00191/00191-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00191" id="case00191" name="case00191">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <geq/>
+                  <ci> S2 </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00191/00191-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00191/00191-sbml-l3v1.xml
new file mode 100644
index 0000000..302c690
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00191/00191-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00191" id="case00191" name="case00191" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <geq/>
+                  <ci> S2 </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00191/00191-settings.txt b/models/sbml-test-suite/cases/semantic/00191/00191-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00191/00191-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00192/00192-results.csv b/models/sbml-test-suite/cases/semantic/00192/00192-results.csv
new file mode 100644
index 0000000..397a74c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00192/00192-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,10.,0,10.,0
+0.08,9.231163463763895,0.7688365362360987,9.996000000000004,0.004
+0.16,8.521437889473094,1.478562110526899,9.992000000000002,0.008
+0.24,7.866278608880327,2.133721391119666,9.988000000000001,0.01199999999999999
+0.32,7.261490366831131,2.738509633168864,9.984,0.016
+0.4,6.703200398921646,3.296799601078348,9.98,0.02
+0.48,6.187833843231774,3.812166156768221,9.975999999999999,0.02399999999999999
+0.56,5.712090633632988,4.287909366367006,9.971999999999999,0.02799999999999999
+0.64,5.272924199542948,4.727075800457047,9.968,0.032
+0.72,4.867522497268947,5.132477502731047,9.964,0.03599999999999999
+0.8,4.493289622533991,5.506710377466004,9.959999999999999,0.03999999999999999
+0.88,4.147828995543827,5.852171004456168,9.955999999999999,0.04399999999999999
+0.96,3.828928656211171,6.171071343788823,9.952,0.04799999999999998
+1.04,3.534546611732733,6.465453388267262,9.948,0.05199999999999999
+1.12,3.26279780752228,6.737202192477715,9.944,0.056
+1.2,3.011942119124525,6.98805788087547,9.939999999999999,0.05999999999999999
+1.28,2.780373004508355,7.219626995491637,9.825760566283127,0.1742394337168689
+1.36,2.566607768998751,7.433392231001241,9.705760566283123,0.294239433716869
+1.44,2.369277578980382,7.630722421019609,9.58576056628312,0.4142394337168688
+1.52,2.18711886851453,7.812881131485462,9.465760566283119,0.5342394337168688
+1.6,2.018965175685882,7.98103482431411,9.345760566283118,0.6542394337168691
+1.68,1.86373975536693,8.136260244633062,9.225760566283119,0.7742394337168688
+1.76,1.72044861595436,8.27955138404563,9.10576056628312,0.8942394337168689
+1.84,1.588174234357464,8.411825765642527,8.98576056628312,1.014239433716869
+1.92,1.466069611694447,8.533930388305544,8.865760566283121,1.134239433716868
+2.,1.353352803218943,8.646647196781048,8.745760566283122,1.254239433716868
+2.08,1.249302120134065,8.750697879865924,8.625760566283123,1.374239433716869
+2.16,1.153251183056564,8.846748816943426,8.505760566283123,1.494239433716869
+2.24,1.064584973426151,8.935415026573837,8.385760566283124,1.614239433716869
+2.32,0.9827358007632098,9.017264199236779,8.265760566283125,1.734239433716868
+2.4,0.9071794914861456,9.092820508513842,8.145760566283124,1.854239433716868
+2.48,0.8374322267946364,9.162567773205353,8.025760566283123,1.974239433716868
+2.56,0.7730473856877979,9.226952614312191,7.905760566283123,2.094239433716868
+2.64,0.7136126850650282,9.286387314934961,7.785760566283123,2.214239433716868
+2.72,0.6587475397033886,9.341252460296601,7.665760566283123,2.334239433716868
+2.8,0.608100625208807,9.391899374791183,7.545760566283124,2.454239433716868
+2.88,0.5613476283368077,9.438652371663181,7.425760566283124,2.574239433716867
+2.96,0.5181891705682446,9.481810829431742,7.305760566283124,2.694239433716868
+3.04,0.4783488912783545,9.521651108721632,7.185760566283123,2.814239433716868
+3.12,0.4415716773717656,9.558428322628222,7.065760566283124,2.934239433716868
+3.2,0.4076220296434289,9.592377970356558,6.945760566283124,3.054239433716869
+3.28,0.3762825548145029,9.623717445185485,6.825760566283124,3.174239433716868
+3.36,0.3473525735026511,9.652647426497337,6.705760566283124,3.294239433716868
+3.44,0.3206468352137679,9.679353164786221,6.585760566283123,3.414239433716868
+3.52,0.2959943321272479,9.70400566787274,6.465760566283123,3.534239433716868
+3.6,0.2732372040795781,9.726762795920409,6.345760566283124,3.654239433716868
+3.68,0.252229727734852,9.747770272265135,6.225760566283124,3.774239433716868
+3.76,0.2328373834698842,9.767162616530104,6.105760566283125,3.894239433716867
+3.84,0.2149359939991643,9.785064006000823,5.985760566283125,4.014239433716867
+3.92,0.1984109421319521,9.801589057868035,5.865760566283126,4.134239433716866
+4.,0.1831563888886577,9.81684361111133,5.745760566283125,4.254239433716867
diff --git a/models/sbml-test-suite/cases/semantic/00192/00192-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00192/00192-sbml-l2v4.xml
new file mode 100644
index 0000000..d7153f7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00192/00192-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00192" id="case00192" name="case00192">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <gt/>
+                  <ci> S2 </ci>
+                  <cn type="integer"> 7 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00192/00192-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00192/00192-sbml-l3v1.xml
new file mode 100644
index 0000000..dfbe4d5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00192/00192-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00192" id="case00192" name="case00192" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <gt/>
+                  <ci> S2 </ci>
+                  <cn type="integer"> 7 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00192/00192-settings.txt b/models/sbml-test-suite/cases/semantic/00192/00192-settings.txt
new file mode 100644
index 0000000..40d7cf9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00192/00192-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00193/00193-results.csv b/models/sbml-test-suite/cases/semantic/00193/00193-results.csv
new file mode 100644
index 0000000..dde4d14
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00193/00193-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,5.,0,5.,0
+0.04,4.803947195684428,0.196052804315572,4.998000000000002,0.001999999999999999
+0.08,4.61558173185226,0.3844182681477387,4.996000000000001,0.004
+0.12,4.43460218151028,0.5653978184897187,4.994,0.005999999999999999
+0.16,4.260718941432526,0.7392810585674729,4.992,0.007999999999999998
+0.2,4.093653764788253,0.9063462352117456,4.99,0.00999999999999999
+0.24,3.933139305334343,1.06686069466564,4.963558149406154,0.0364418505938531
+0.28,3.778918707039327,1.221081292960658,4.903558149406155,0.09644185059385318
+0.32,3.630745185369339,1.369254814630646,4.843558149406155,0.156441850593853
+0.36,3.48838163010352,1.511618369896465,4.783558149406155,0.216441850593853
+0.4,3.351600227881407,1.648399772118578,4.723558149406153,0.2764418505938531
+0.44,3.22018209822348,1.779817901776505,4.663558149406154,0.336441850593853
+0.48,3.09391695601604,1.906083043983945,4.603558149406154,0.396441850593853
+0.52,2.972602738903915,2.02739726109607,4.543558149406155,0.4564418505938531
+0.56,2.856045313184196,2.143954686815789,4.483558149406154,0.5164418505938532
+0.6,2.744058176666234,2.255941823333751,4.423558149406154,0.576441850593853
+0.64,2.63646211970905,2.363537880290935,4.363558149406155,0.636441850593853
+0.68,2.533084944991752,2.466915055008233,4.303558149406154,0.6964418505938532
+0.72,2.433761239987687,2.566238760012298,4.243558149406154,0.756441850593853
+0.76,2.338332098618619,2.661667901381366,4.183558149406154,0.8164418505938531
+0.8,2.246644808635647,2.753355191364338,4.123558149406154,0.8764418505938531
+0.84,2.158552615788973,2.841447384211012,4.063558149406153,0.9364418505938531
+0.88,2.073914536109741,2.926085463890244,4.003558149406154,0.9964418505938531
+0.92,1.992595170473933,3.007404829526052,3.943558149406154,1.056441850593853
+0.96,1.914464405878247,3.085535594121738,3.883558149406154,1.116441850593852
+1.,1.839397202471498,3.160602797528487,3.823558149406153,1.176441850593853
+1.04,1.767273403698755,3.232726596301229,3.763558149406153,1.236441850593853
+1.08,1.69797760394896,3.302022396051025,3.703558149406153,1.296441850593853
+1.12,1.63139888148742,3.368601118512564,3.643558149406153,1.356441850593852
+1.16,1.567430869095165,3.43256913090482,3.583558149406154,1.416441850593852
+1.2,1.505970953994722,3.494029046005263,3.523558149406154,1.476441850593852
+1.24,1.446921079745172,3.553078920254813,3.463558149406153,1.536441850593853
+1.28,1.390186393940991,3.609813606058994,3.403558149406153,1.596441850593853
+1.32,1.335676509825407,3.664323490174577,3.343558149406153,1.656441850593853
+1.36,1.283303784123197,3.716696215876787,3.283558149406153,1.716441850593853
+1.4,1.232984812193491,3.767015187806494,3.223558149406153,1.776441850593853
+1.44,1.18463870871985,3.815361291280134,3.163558149406154,1.836441850593853
+1.48,1.13818841806422,3.861811581935765,3.103558149406154,1.896441850593853
+1.52,1.093559371223575,3.906440628776409,3.043558149406154,1.956441850593853
+1.56,1.05068031466341,3.949319685336574,2.983558149406154,2.016441850593853
+1.6,1.009482549210711,3.990517450789274,2.923558149406154,2.076441850593853
+1.64,0.9699001561728396,4.030099843827145,2.863558149406153,2.136441850593853
+1.68,0.9318698600615534,4.068130139938431,2.803558149406153,2.196441850593853
+1.72,0.8953306762910041,4.10466932370898,2.743558149406154,2.256441850593853
+1.76,0.8602243137341797,4.139775686265805,2.683558149406154,2.316441850593853
+1.8,0.8264943765339538,4.173505623466031,2.623558149406154,2.376441850593853
+1.84,0.794087130528259,4.205912869471726,2.563558149406154,2.436441850593853
+1.88,0.7629504470109611,4.237049552989024,2.503558149406154,2.496441850593853
+1.92,0.7330348106508317,4.266965189349153,2.443558149406154,2.556441850593853
+1.96,0.7042920291228591,4.295707970877126,2.383558149406154,2.616441850593853
+2.,0.6766764161837665,4.323323583816218,2.323558149406154,2.676441850593853
diff --git a/models/sbml-test-suite/cases/semantic/00193/00193-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00193/00193-sbml-l2v4.xml
new file mode 100644
index 0000000..3881df4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00193/00193-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00193" id="case00193" name="case00193">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <leq/>
+                  <ci> S1 </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00193/00193-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00193/00193-sbml-l3v1.xml
new file mode 100644
index 0000000..13bcad7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00193/00193-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00193" id="case00193" name="case00193" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <leq/>
+                  <ci> S1 </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00193/00193-settings.txt b/models/sbml-test-suite/cases/semantic/00193/00193-settings.txt
new file mode 100644
index 0000000..50b290f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00193/00193-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00194/00194-results.csv b/models/sbml-test-suite/cases/semantic/00194/00194-results.csv
new file mode 100644
index 0000000..7e171b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00194/00194-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,5.,0,5.,0
+0.04,4.803947195684428,0.196052804315572,4.998000000000002,0.001999999999999999
+0.08,4.61558173185226,0.3844182681477387,4.996000000000001,0.004
+0.12,4.43460218151028,0.5653978184897187,4.994,0.005999999999999999
+0.16,4.260718941432526,0.7392810585674729,4.992,0.007999999999999998
+0.2,4.093653764788253,0.9063462352117456,4.99,0.00999999999999999
+0.24,3.933139304050132,1.066860695949867,4.987999999999999,0.012
+0.28,3.778918704158512,1.221081295841486,4.985999999999998,0.014
+0.32,3.630745136152671,1.369254863847327,4.983999999999998,0.016
+0.36,3.488381584471709,1.511618415528289,4.981999999999998,0.018
+0.4,3.351600206042375,1.648399793957623,4.979999999999997,0.02
+0.44,3.220182103028669,1.77981789697133,4.977999999999998,0.022
+0.48,3.093916952112063,1.906083047887936,4.975999999999997,0.024
+0.52,2.972602711834332,2.027397288165667,4.973999999999997,0.026
+0.56,2.856045279289337,2.143954720710661,4.971999999999996,0.028
+0.6,2.744058146564626,2.255941853435373,4.969999999999997,0.03
+0.64,2.636462104985466,2.363537895014533,4.967999999999996,0.032
+0.68,2.533084961829347,2.466915038170651,4.965999999999998,0.034
+0.72,2.433761279800225,2.566238720199773,4.925063411820807,0.07493658817918295
+0.76,2.338332133352514,2.661667866647484,4.865063411820806,0.134936588179183
+0.8,2.24664481932098,2.753355180679019,4.805063411820807,0.1949365881791831
+0.84,2.158552617157947,2.841447382842051,4.745063411820806,0.2549365881791829
+0.88,2.07391455725935,2.926085442740649,4.685063411820807,0.3149365881791831
+0.92,1.992595201018224,3.007404798981775,4.625063411820807,0.3749365881791831
+0.96,1.914464423400145,3.085535576599854,4.565063411820808,0.4349365881791829
+1.,1.839397200479121,3.160602799520878,4.505063411820807,0.4949365881791831
+1.04,1.76727340767314,3.232726592326859,4.445063411820807,0.5549365881791831
+1.08,1.697977628234836,3.302022371765164,4.385063411820808,0.614936588179183
+1.12,1.631398971176578,3.368601028823422,4.325063411820808,0.6749365881791833
+1.16,1.567430899855402,3.432569100144597,4.265063411820809,0.7349365881791829
+1.2,1.505971036094059,3.494028963905941,4.205063411820809,0.7949365881791828
+1.24,1.446921084492353,3.553078915507647,4.145063411820809,0.8549365881791828
+1.28,1.390186498768901,3.609813501231099,4.085063411820808,0.9149365881791832
+1.32,1.33567649019163,3.66432350980837,4.025063411820808,0.974936588179183
+1.36,1.283303861395623,3.716696138604376,3.965063411820808,1.034936588179183
+1.4,1.232984809253073,3.767015190746926,3.905063411820808,1.094936588179182
+1.44,1.184638793367656,3.815361206632343,3.845063411820808,1.154936588179182
+1.48,1.138188430480574,3.861811569519425,3.785063411820808,1.214936588179182
+1.52,1.093559414425446,3.906440585574553,3.725063411820808,1.274936588179182
+1.56,1.050680341963039,3.94931965803696,3.665063411820808,1.334936588179182
+1.6,1.009482588460035,3.990517411539964,3.605063411820808,1.394936588179182
+1.64,0.9699002066538704,4.03009979334613,3.545063411820808,1.454936588179182
+1.68,0.9318697857193911,4.068130214280609,3.485063411820808,1.514936588179182
+1.72,0.8953307249046147,4.104669275095385,3.425063411820808,1.574936588179182
+1.76,0.8602242334577195,4.139775766542281,3.365063411820808,1.634936588179182
+1.8,0.8264944253323813,4.173505574667619,3.305063411820808,1.694936588179182
+1.84,0.7940870530121462,4.205912946987854,3.245063411820808,1.754936588179183
+1.88,0.7629505120465386,4.237049487953463,3.185063411820809,1.814936588179182
+1.92,0.7330347935099752,4.266965206490026,3.125063411820809,1.874936588179182
+1.96,0.7042920942527113,4.29570790574729,3.065063411820809,1.934936588179182
+2.,0.6766764161868289,4.323323583813173,3.005063411820809,1.994936588179183
diff --git a/models/sbml-test-suite/cases/semantic/00194/00194-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00194/00194-sbml-l2v4.xml
new file mode 100644
index 0000000..c390609
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00194/00194-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00194" id="case00194" name="case00194">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <lt/>
+                  <ci> S1 </ci>
+                  <cn> 2.5 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00194/00194-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00194/00194-sbml-l3v1.xml
new file mode 100644
index 0000000..d56954a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00194/00194-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00194" id="case00194" name="case00194" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <lt/>
+                  <ci> S1 </ci>
+                  <cn> 2.5 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00194/00194-settings.txt b/models/sbml-test-suite/cases/semantic/00194/00194-settings.txt
new file mode 100644
index 0000000..50b290f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00194/00194-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00195/00195-results.csv b/models/sbml-test-suite/cases/semantic/00195/00195-results.csv
new file mode 100644
index 0000000..fdecee6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00195/00195-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.08,0.8869204366919467,0.1130795633080534
+0.16,0.7866278610497007,0.2133721389502993
+0.24,0.6976763254223297,0.3023236745776706
+0.32,0.6187833853041783,0.3812166146958218
+0.4,0.5488116337412075,0.4511883662587927
+0.48,0.4867522506327937,0.5132477493672065
+0.56,0.4317104993597877,0.5682895006402125
+0.64,0.3828928686588485,0.6171071313411516
+0.72,0.33959552446736,0.6604044755326402
+0.8,0.3011942047740071,0.6988057952259931
+0.88,0.2671352864035119,0.7328647135964885
+0.96,0.2369277495715355,0.7630722504284648
+1.04,0.2101360646288953,0.7898639353711051
+1.12,0.1863739599667083,0.813626040033292
+1.2,0.1652988770784167,0.8347011229215837
+1.28,0.1466069545675791,0.8533930454324213
+1.36,0.1300286979461537,0.8699713020538466
+1.44,0.1153251189377415,0.8846748810622587
+1.52,0.1022841945910649,0.8977158054089353
+1.6,0.09071795326208592,0.9092820467379144
+1.68,0.08045959708003683,0.9195404029199636
+1.76,0.0713612687035619,0.9286387312964384
+1.84,0.06329176176675555,0.9367082382332448
+1.92,0.05613476036745193,0.9438652396325485
+2.,0.04978706466304067,0.9502129353369597
+2.08,0.04415716489082416,0.9558428351091762
+2.16,0.03916389357850806,0.9608361064214923
+2.24,0.03473525518968546,0.9652647448103148
+2.32,0.03080741075037944,0.9691925892496209
+2.4,0.02732371913488829,0.9726762808651121
+2.48,0.02423396782326241,0.9757660321767379
+2.56,0.02149359884424033,0.97850640115576
+2.64,0.01906311387185919,0.980936886128141
+2.72,0.01690746405056779,0.9830925359494324
+2.8,0.01499557596456353,0.9850044240354367
+2.88,0.01329988272047269,0.9867001172795275
+2.96,0.01179593744184723,0.988204062558153
+3.04,0.0104620586631701,0.9895379413368301
+3.12,0.009279012822025678,0.9907209871779746
+3.2,0.008229747025679258,0.9917702529743209
+3.28,0.007299129959427914,0.9927008700405723
+3.36,0.006473748281044984,0.9935262517189552
+3.44,0.005741699052086095,0.9942583009479142
+3.52,0.005092430620396043,0.9949075693796042
+3.6,0.004516580563864834,0.9954834194361355
+3.68,0.004005847661386252,0.9959941523386141
+3.76,0.003552868232512129,0.9964471317674882
+3.84,0.003151111278914129,0.9968488887210861
+3.92,0.002794785249384445,0.9972052147506157
+4.,0.002478752176685558,0.9975212478233145
diff --git a/models/sbml-test-suite/cases/semantic/00195/00195-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00195/00195-sbml-l2v4.xml
new file mode 100644
index 0000000..fe81997
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00195/00195-sbml-l2v4.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00195" id="case00195" name="case00195">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> S1 </ci>
+              <ci> compartment </ci>
+              <piecewise>
+                <piece>
+                  <ci> p1 </ci>
+                  <true/>
+                </piece>
+                <otherwise>
+                  <ci> p2 </ci>
+                </otherwise>
+              </piecewise>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00195/00195-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00195/00195-sbml-l3v1.xml
new file mode 100644
index 0000000..e211f1f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00195/00195-sbml-l3v1.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00195" id="case00195" name="case00195" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> S1 </ci>
+              <ci> compartment </ci>
+              <piecewise>
+                <piece>
+                  <ci> p1 </ci>
+                  <true/>
+                </piece>
+                <otherwise>
+                  <ci> p2 </ci>
+                </otherwise>
+              </piecewise>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00195/00195-settings.txt b/models/sbml-test-suite/cases/semantic/00195/00195-settings.txt
new file mode 100644
index 0000000..e9738bf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00195/00195-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00196/00196-results.csv b/models/sbml-test-suite/cases/semantic/00196/00196-results.csv
new file mode 100644
index 0000000..2ea87af
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00196/00196-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.04,0.9599999999999999,0.04000000000000001
+0.08,0.9232380952379406,0.07676190476205965
+0.12,0.8872380952379406,0.1127619047620596
+0.16,0.8518941798941619,0.148105820105838
+0.2,0.8198941798941618,0.1801058201058379
+0.24,0.7878941798941618,0.212105820105838
+0.28,0.756645502645749,0.2433544973542505
+0.32,0.728645502645749,0.2713544973542504
+0.36,0.7006455026457491,0.2993544973542504
+0.4,0.672645502645749,0.3273544973542506
+0.44,0.6477913832209618,0.3522086167790382
+0.48,0.6237913832209618,0.3762086167790382
+0.52,0.5997913832209619,0.4002086167790383
+0.56,0.5757913832209619,0.4242086167790384
+0.6,0.5550642479230049,0.4449357520769948
+0.64,0.5350642479230048,0.4649357520769948
+0.68,0.5150642479230048,0.4849357520769949
+0.72,0.4950642479230049,0.504935752076995
+0.76,0.4752894935764935,0.5247105064235069
+0.8,0.4592894935764935,0.5407105064235069
+0.84,0.4432894935764936,0.5567105064235068
+0.88,0.4272894935764936,0.5727105064235068
+0.92,0.4112894935764935,0.5887105064235068
+0.96,0.3952894935764935,0.6047105064235068
+1.,0.3797052154205543,0.6202947845794462
+1.04,0.3677052154205543,0.6322947845794461
+1.08,0.3557052154205543,0.644294784579446
+1.12,0.3437052154205542,0.656294784579446
+1.16,0.3317052154205543,0.6682947845794459
+1.2,0.3197052154205543,0.6802947845794459
+1.24,0.3077052154205542,0.6922947845794459
+1.28,0.2957052154205542,0.7042947845794459
+1.32,0.2843749055186466,0.7156250944813534
+1.36,0.2763749055186466,0.7236250944813534
+1.4,0.2683749055186466,0.7316250944813534
+1.44,0.2603749055186467,0.7396250944813535
+1.48,0.2523749055186467,0.7476250944813535
+1.52,0.2443749055186467,0.7556250944813534
+1.56,0.2363749055186467,0.7636250944813534
+1.6,0.2283749055186467,0.7716250944813534
+1.64,0.2203749055186468,0.7796250944813533
+1.68,0.2123749055186467,0.7876250944813533
+1.72,0.2043749055186467,0.7956250944813534
+1.76,0.1963749055186467,0.8036250944813534
+1.8,0.1894255479970107,0.8105744520029892
+1.84,0.1854255479970107,0.8145744520029892
+1.88,0.1814255479970107,0.8185744520029892
+1.92,0.1774255479970107,0.8225744520029892
+1.96,0.1734255479970107,0.8265744520029891
+2.,0.1694255479970107,0.8305744520029891
diff --git a/models/sbml-test-suite/cases/semantic/00196/00196-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00196/00196-sbml-l1v2.xml
new file mode 100644
index 0000000..5ac82e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00196/00196-sbml-l1v2.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00196">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="p1" value="10.5"/>
+      <parameter name="p2" value="10"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="floor(p1 * S1) * pow(p2, -1)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00196/00196-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00196/00196-sbml-l2v4.xml
new file mode 100644
index 0000000..6eae101
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00196/00196-sbml-l2v4.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00196" id="case00196" name="case00196">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="10.5"/>
+      <parameter id="p2" name="p2" value="10"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <apply>
+                <floor/>
+                <apply>
+                  <times/>
+                  <ci> p1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <power/>
+                <ci> p2 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00196/00196-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00196/00196-sbml-l3v1.xml
new file mode 100644
index 0000000..b97797e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00196/00196-sbml-l3v1.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00196" id="case00196" name="case00196" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="10.5" constant="true"/>
+      <parameter id="p2" name="p2" value="10" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <apply>
+                <floor/>
+                <apply>
+                  <times/>
+                  <ci> p1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <power/>
+                <ci> p2 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00196/00196-settings.txt b/models/sbml-test-suite/cases/semantic/00196/00196-settings.txt
new file mode 100644
index 0000000..82ed861
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00196/00196-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00197/00197-results.csv b/models/sbml-test-suite/cases/semantic/00197/00197-results.csv
new file mode 100644
index 0000000..1515e5b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00197/00197-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.04,0.9560000000000002,0.04400000000000001
+0.08,0.9156709956710038,0.08432900432899716
+0.12,0.8756709956710038,0.1243290043289972
+0.16,0.8378181818186256,0.1621818181813757
+0.2,0.8018181818186256,0.1981818181813757
+0.24,0.7658181818186254,0.2341818181813757
+0.28,0.7333833573840478,0.2666166426159525
+0.32,0.7013833573840477,0.2986166426159526
+0.36,0.669383357384048,0.3306166426159526
+0.4,0.6410437710445092,0.3589562289554917
+0.44,0.6130437710445093,0.3869562289554917
+0.48,0.5850437710445093,0.4149562289554917
+0.52,0.5590987425279573,0.4409012574720439
+0.56,0.5350987425279573,0.4649012574720439
+0.6,0.5110987425279572,0.4889012574720439
+0.64,0.4870987425279572,0.5129012574720439
+0.68,0.4652806981382091,0.5347193018617925
+0.72,0.4452806981382091,0.5547193018617925
+0.76,0.4252806981382091,0.5747193018617925
+0.8,0.4052806981382091,0.5947193018617925
+0.84,0.3852806981382091,0.6147193018617926
+0.88,0.3684150347005457,0.6315849652994566
+0.92,0.3524150347005456,0.6475849652994565
+0.96,0.3364150347005457,0.6635849652994565
+1.,0.3204150347005457,0.6795849652994564
+1.04,0.3044150347005457,0.6955849652994564
+1.08,0.2884150347005457,0.7115849652994569
+1.12,0.2757398474540714,0.7242601525459312
+1.16,0.2637398474540714,0.7362601525459312
+1.2,0.2517398474540714,0.7482601525459312
+1.24,0.2397398474540714,0.7602601525459312
+1.28,0.2277398474540714,0.7722601525459312
+1.32,0.2157398474540714,0.7842601525459312
+1.36,0.2037398474540713,0.7962601525459313
+1.4,0.1917398474540714,0.8082601525459309
+1.44,0.1833186284614281,0.8166813715385744
+1.48,0.1753186284614281,0.8246813715385744
+1.52,0.1673186284614282,0.8326813715385744
+1.56,0.1593186284614281,0.8406813715385743
+1.6,0.1513186284614281,0.8486813715385743
+1.64,0.1433186284614282,0.8566813715385743
+1.68,0.1353186284614282,0.8646813715385743
+1.72,0.1273186284614282,0.8726813715385743
+1.76,0.1193186284614282,0.8806813715385744
+1.8,0.1113186284614281,0.8886813715385744
+1.84,0.1033186284614281,0.8966813715385744
+1.88,0.09531862846142831,0.9046813715385744
+1.92,0.09127836184976621,0.9087216381502359
+1.96,0.08727836184976622,0.9127216381502358
+2.,0.08327836184976622,0.9167216381502358
diff --git a/models/sbml-test-suite/cases/semantic/00197/00197-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00197/00197-sbml-l1v2.xml
new file mode 100644
index 0000000..5c9bd31
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00197/00197-sbml-l1v2.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00197">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="p1" value="10.5"/>
+      <parameter name="p2" value="10"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="ceil(p1 * S1) * pow(p2, -1)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00197/00197-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00197/00197-sbml-l2v4.xml
new file mode 100644
index 0000000..a3e68b4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00197/00197-sbml-l2v4.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00197" id="case00197" name="case00197">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="10.5"/>
+      <parameter id="p2" name="p2" value="10"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <apply>
+                <ceiling/>
+                <apply>
+                  <times/>
+                  <ci> p1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <power/>
+                <ci> p2 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00197/00197-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00197/00197-sbml-l3v1.xml
new file mode 100644
index 0000000..fec0c15
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00197/00197-sbml-l3v1.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00197" id="case00197" name="case00197" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="10.5" constant="true"/>
+      <parameter id="p2" name="p2" value="10" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <apply>
+                <ceiling/>
+                <apply>
+                  <times/>
+                  <ci> p1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <power/>
+                <ci> p2 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00197/00197-settings.txt b/models/sbml-test-suite/cases/semantic/00197/00197-settings.txt
new file mode 100644
index 0000000..82ed861
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00197/00197-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00198/00198-results.csv b/models/sbml-test-suite/cases/semantic/00198/00198-results.csv
new file mode 100644
index 0000000..de1113e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00198/00198-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,10,-4.55E-21,10,-7.29E-24
+0.06,9.417645324,0.582354676,9.997,0.003
+0.12,8.869204357,1.130795643,9.994,0.006
+0.18,8.352701724,1.647298276,9.991,0.009
+0.24,7.866278614,2.133721386,9.988,0.012
+0.3,7.408181815,2.591818185,9.985,0.015
+0.36,6.976762579,3.023237421,9.982,0.018
+0.42,6.570467753,3.429532247,9.979,0.021
+0.48,6.187833876,3.812166124,9.976,0.024
+0.54,5.827482327,4.172517673,9.973,0.027
+0.6,5.488115852,4.511884148,9.97,0.03
+0.66,5.168513571,4.831486429,9.967,0.033
+0.72,4.867522802,5.132477198,9.925063464,0.074936536
+0.78,4.584060327,5.415939673,9.835063464,0.164936536
+0.84,4.317105411,5.682894589,9.745063464,0.254936536
+0.9,4.065696737,5.934303263,9.655063464,0.344936536
+0.96,3.828928977,6.171071023,9.565063464,0.434936536
+1.02,3.605949516,6.394050484,9.475063464,0.524936536
+1.08,3.395954673,6.604045327,9.385063464,0.614936536
+1.14,3.198190411,6.801809589,9.295063464,0.704936536
+1.2,3.011941538,6.988058462,9.205063464,0.794936536
+1.26,2.836540163,7.163459837,9.115063464,0.884936536
+1.32,2.671352804,7.328647196,9.025063464,0.974936536
+1.38,2.515785069,7.484214931,8.935063464,1.064936536
+1.44,2.369277686,7.630722314,8.845063464,1.154936536
+1.5,2.231301143,7.768698857,8.755063464,1.244936536
+1.56,2.101360906,7.898639094,8.665063464,1.334936536
+1.62,1.978987298,8.021012702,8.590378274,1.409621726
+1.68,1.863740049,8.136259951,8.587378274,1.412621726
+1.74,1.755204118,8.244795882,8.584378274,1.415621726
+1.8,1.652988953,8.347011047,8.581378274,1.418621726
+1.86,1.556726191,8.443273809,8.578378274,1.421621726
+1.92,1.466069851,8.533930149,8.575378274,1.424621726
+1.98,1.380692259,8.619307741,8.572378274,1.427621726
+2.04,1.30028717,8.69971283,8.569378274,1.430621726
+2.1,1.224564344,8.775435656,8.566378274,1.433621726
+2.16,1.15325111,8.84674889,8.563378274,1.436621726
+2.22,1.086091249,8.913908751,8.560378274,1.439621726
+2.28,1.022841984,8.977158016,8.557378274,1.442621726
+2.34,0.96327641,9.03672359,8.554378274,1.445621726
+2.4,0.907179587,9.092820413,8.551378274,1.448621726
+2.46,0.854349203,9.145650797,8.548378274,1.451621726
+2.52,0.804596001,9.195403999,8.545378274,1.454621726
+2.58,0.757739813,9.242260187,8.542378274,1.457621726
+2.64,0.713612586,9.286387414,8.539378274,1.460621726
+2.7,0.672054977,9.327945023,8.536378274,1.463621726
+2.76,0.632917541,9.367082459,8.533378274,1.466621726
+2.82,0.596059407,9.403940593,8.530378274,1.469621726
+2.88,0.561347664,9.438652336,8.527378274,1.472621726
+2.94,0.528657214,9.471342786,8.524378274,1.475621726
+3,0.497870759,9.502129241,8.521378274,1.478621726
diff --git a/models/sbml-test-suite/cases/semantic/00198/00198-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00198/00198-sbml-l2v4.xml
new file mode 100644
index 0000000..8eb1bfa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00198/00198-sbml-l2v4.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00198" id="case00198" name="case00198">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <and/>
+                  <apply>
+                    <gt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> S1 </ci>
+                    <cn type="integer"> 5 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 8 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00198/00198-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00198/00198-sbml-l3v1.xml
new file mode 100644
index 0000000..ab469b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00198/00198-sbml-l3v1.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00198" id="case00198" name="case00198" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <and/>
+                  <apply>
+                    <gt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> S1 </ci>
+                    <cn type="integer"> 5 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 8 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00198/00198-settings.txt b/models/sbml-test-suite/cases/semantic/00198/00198-settings.txt
new file mode 100644
index 0000000..387d859
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00198/00198-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00199/00199-results.csv b/models/sbml-test-suite/cases/semantic/00199/00199-results.csv
new file mode 100644
index 0000000..8022727
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00199/00199-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,10.,0,10.,0
+0.1,9.048374179721133,0.9516258202788616,9.995000000000002,0.005
+0.2,8.187307521692892,1.812692478307102,9.990000000000002,0.01
+0.3,7.408182198378273,2.591817801621722,9.985000000000001,0.015
+0.4,6.703200398921646,3.296799601078348,9.98,0.02
+0.5,6.065306565630086,3.934693434369909,9.974999999999999,0.025
+0.6,5.488116360696975,4.511883639303017,9.840697154461873,0.1593028455381203
+0.7,4.965853036364301,5.034146963635691,9.690697154461872,0.3093028455381202
+0.8,4.493289630151469,5.506710369848523,9.540697154461875,0.4593028455381202
+0.9,4.065696587070039,5.934303412929953,9.390697154461877,0.6093028455381202
+1.,3.678794337680904,6.321205662319088,9.24069715446188,0.75930284553812
+1.1,3.32871079112572,6.671289208874271,9.09069715446188,0.9093028455381203
+1.2,3.011942103454854,6.988057896545138,8.940697154461881,1.05930284553812
+1.3,2.725317930233366,7.274682069766625,8.790697154461883,1.20930284553812
+1.4,2.465969629389174,7.534030370610818,8.640697154461882,1.35930284553812
+1.5,2.231301325889154,7.768698674110838,8.490697154461884,1.509302845538119
+1.6,2.018964989571498,7.981035010428494,8.340697154461885,1.65930284553812
+1.7,1.826835202772336,8.173164797227658,8.190697154461883,1.809302845538119
+1.8,1.652988810820756,8.347011189179237,8.040697154461883,1.95930284553812
+1.9,1.495686146674353,8.504313853325641,7.890697154461882,2.10930284553812
+2.,1.353352795919592,8.646647204080402,7.740697154461883,2.25930284553812
+2.1,1.224564225929522,8.775435774070471,7.590697154461882,2.40930284553812
+2.2,1.108031571901821,8.891968428098172,7.440697154461883,2.55930284553812
+2.3,1.002588380788116,8.997411619211876,7.290697154461883,2.70930284553812
+2.4,0.9071795323625095,9.092820467637484,7.140697154461882,2.85930284553812
+2.5,0.8208499383729974,9.179150061626995,6.990697154461884,3.009302845538119
+2.6,0.7427357790992594,9.257264220900731,6.840697154461883,3.15930284553812
+2.7,0.672055118078251,9.327944881921739,6.690697154461884,3.30930284553812
+2.8,0.6081005825080679,9.391899417491924,6.540697154461884,3.45930284553812
+2.9,0.5502321289964987,9.449767871003492,6.390697154461884,3.60930284553812
+3.,0.4978706063020289,9.502129393697963,6.240697154461885,3.759302845538119
+3.1,0.4504919629020188,9.549508037097973,6.090697154461883,3.909302845538119
+3.2,0.4076220075213432,9.592377992478647,5.940697154461883,4.05930284553812
+3.3,0.3688316674780788,9.631168332521914,5.790697154461883,4.20930284553812
+3.4,0.3337326980509871,9.666267301949005,5.640697154461883,4.35930284553812
+3.5,0.3019738177011027,9.698026182298891,5.490697154461884,4.509302845538119
+3.6,0.2732371925468827,9.726762807453111,5.340697154461883,4.659302845538119
+3.7,0.2472352268861604,9.752764773113833,5.190697154461883,4.80930284553812
+3.8,0.2237076861080609,9.776292313891932,5.040697154461883,4.95930284553812
+3.9,0.2024190949683468,9.797580905031646,4.890697154461882,5.10930284553812
+4.,0.1831563830540355,9.816843616945957,4.740697154461883,5.25930284553812
+4.1,0.1657267539826885,9.834273246017303,4.590697154461882,5.40930284553812
+4.2,0.1499557624709558,9.850044237529036,4.440697154461883,5.55930284553812
+4.3,0.1356855763256111,9.864314423674381,4.290697154461883,5.709302845538119
+4.4,0.1227733809469085,9.877226619053084,4.140697154461883,5.85930284553812
+4.5,0.1110899485343183,9.888910051465675,3.990697154461884,6.00930284553812
+4.6,0.1005183461689471,9.899481653831045,3.840697154461883,6.15930284553812
+4.7,0.09095276663680253,9.909047233363191,3.690697154461883,6.30930284553812
+4.8,0.08229747034505319,9.91770252965494,3.540697154461883,6.45930284553812
+4.9,0.07446583011984332,9.925534169880149,3.390697154461883,6.609302845538119
+5.,0.0673794699913176,9.932620530008675,3.240697154461884,6.759302845538118
diff --git a/models/sbml-test-suite/cases/semantic/00199/00199-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00199/00199-sbml-l2v4.xml
new file mode 100644
index 0000000..4ddcf3c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00199/00199-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00199" id="case00199" name="case00199">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <geq/>
+                  <ci> S2 </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00199/00199-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00199/00199-sbml-l3v1.xml
new file mode 100644
index 0000000..3f9f934
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00199/00199-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00199" id="case00199" name="case00199" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <geq/>
+                  <ci> S2 </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00199/00199-settings.txt b/models/sbml-test-suite/cases/semantic/00199/00199-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00199/00199-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00200/00200-results.csv b/models/sbml-test-suite/cases/semantic/00200/00200-results.csv
new file mode 100644
index 0000000..89bb516
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00200/00200-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,5.,0,4.,0
+0.06,4.708822667837105,0.2911773321628925,3.910000000000001,0.09000000000000001
+0.12,4.434602182403841,0.5653978175961568,3.820000000000001,0.1799999999999999
+0.18,4.176351054125246,0.8236489458747514,3.730000000000001,0.2699999999999999
+0.24,3.933139305227109,1.066860694772888,3.640000000000001,0.3599999999999999
+0.3,3.704091075452381,1.295908924547617,3.550000000000002,0.4499999999999999
+0.36,3.488381584172712,1.511618415827286,3.460000000000001,0.5400000000000001
+0.42,3.285234078347053,1.714765921652945,3.370000000000001,0.6300000000000002
+0.48,3.093916959032302,1.906083040967697,3.280000000000001,0.7200000000000002
+0.54,2.91374126188746,2.086258738112539,3.23230284552935,0.7676971544706497
+0.6,2.744058180478882,2.255941819521117,3.22930284552935,0.7706971544706499
+0.66,2.584256672448816,2.415743327551183,3.22630284552935,0.7736971544706499
+0.72,2.433761275876716,2.566238724123282,3.22330284552935,0.7766971544706498
+0.78,2.292030056542078,2.707969943457921,3.220302845529349,0.7796971544706498
+0.84,2.158552613526303,2.841447386473695,3.21730284552935,0.7826971544706496
+0.9,2.032848291929603,2.967151708070396,3.21430284552935,0.7856971544706495
+0.96,1.914464413088118,3.085535586911881,3.21130284552935,0.7886971544706494
+1.02,1.802974671359082,3.197025328640916,3.208302845529349,0.7916971544706494
+1.08,1.697977593371359,3.302022406628639,3.205302845529349,0.7946971544706494
+1.14,1.599095077955337,3.400904922044662,3.202302845529349,0.7976971544706494
+1.2,1.505971039119358,3.494028960880641,3.199302845529349,0.8006971544706494
+1.26,1.418270124716879,3.581729875283119,3.196302845529349,0.8036971544706493
+1.32,1.335676509641845,3.664323490358155,3.193302845529348,0.8066971544706493
+1.38,1.257892761518133,3.742107238481866,3.190302845529348,0.8096971544706493
+1.44,1.184638735614092,3.815361264385908,3.187302845529348,0.8126971544706493
+1.5,1.115650613148332,3.884349386851667,3.184302845529348,0.8156971544706492
+1.56,1.050680327409255,3.949319672590744,3.181302845529348,0.8186971544706492
+1.62,0.9894934954321037,4.010506504567896,3.162987818581929,0.8370121814180668
+1.68,0.931869880203998,4.068130119796,3.07298781858193,0.9270121814180662
+1.74,0.8776020028945361,4.122397997105461,2.982987818581929,1.017012181418066
+1.8,0.8264944411208045,4.173505558879192,2.89298781858193,1.107012181418066
+1.86,0.778363150390606,4.221636849609391,2.802987818581929,1.197012181418066
+1.92,0.7330348082477534,4.266965191752245,2.71298781858193,1.287012181418066
+1.98,0.6903461848325724,4.309653815167426,2.62298781858193,1.377012181418066
+2.04,0.6501435540988767,4.349856445901122,2.532987818581929,1.467012181418066
+2.1,0.6122821409598477,4.387717859040151,2.442987818581929,1.557012181418066
+2.16,0.5766256050774927,4.423374394922506,2.352987818581929,1.647012181418066
+2.22,0.543045541995216,4.456954458004783,2.262987818581929,1.737012181418066
+2.28,0.5114210283846235,4.488578971615376,2.17298781858193,1.827012181418066
+2.34,0.4816381831722824,4.518361816827718,2.082987818581929,1.917012181418065
+2.4,0.4535897567200161,4.546410243279984,1.992987818581929,2.007012181418065
+2.46,0.4271747447227067,4.572825255277293,1.902987818581929,2.097012181418065
+2.52,0.4022980245806331,4.597701975419367,1.812987818581929,2.187012181418066
+2.58,0.3788700129385659,4.621129987061435,1.722987818581929,2.277012181418065
+2.64,0.3568063151916569,4.643193684808343,1.632987818581929,2.367012181418066
+2.7,0.3360275406751032,4.663972459324896,1.542987818581929,2.457012181418066
+2.76,0.316458838431838,4.683541161568161,1.45298781858193,2.547012181418066
+2.82,0.2980297079906071,4.701970292009392,1.362987818581929,2.637012181418066
+2.88,0.2806737925443158,4.719326207455684,1.272987818581929,2.727012181418066
+2.94,0.2643286414933521,4.735671358506648,1.182987818581929,2.817012181418066
+3.,0.2489353418433115,4.751064658156688,1.092987818581929,2.907012181418066
diff --git a/models/sbml-test-suite/cases/semantic/00200/00200-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00200/00200-sbml-l2v4.xml
new file mode 100644
index 0000000..17ce3f5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00200/00200-sbml-l2v4.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00200" id="case00200" name="case00200">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="4" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <or/>
+                  <apply>
+                    <lt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 2 </cn>
+                  </apply>
+                  <apply>
+                    <gt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 1 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00200/00200-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00200/00200-sbml-l3v1.xml
new file mode 100644
index 0000000..b32bc58
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00200/00200-sbml-l3v1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00200" id="case00200" name="case00200" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <or/>
+                  <apply>
+                    <lt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 2 </cn>
+                  </apply>
+                  <apply>
+                    <gt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 1 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00200/00200-settings.txt b/models/sbml-test-suite/cases/semantic/00200/00200-settings.txt
new file mode 100644
index 0000000..387d859
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00200/00200-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00201/00201-results.csv b/models/sbml-test-suite/cases/semantic/00201/00201-results.csv
new file mode 100644
index 0000000..b51293d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00201/00201-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,5.,0,4.,0
+0.08,4.61558173185226,0.3844182681477387,3.995999999999998,0.004
+0.16,4.260718941432526,0.7392810585674729,3.991999999999997,0.007999999999999998
+0.24,3.933139305334343,1.06686069466564,3.963558149406143,0.0364418505938531
+0.32,3.630745185369339,1.369254814630646,3.843558149406143,0.156441850593853
+0.4,3.351600227881407,1.648399772118578,3.723558149406144,0.2764418505938531
+0.48,3.09391695601604,1.906083043983945,3.603558149406144,0.396441850593853
+0.56,2.856045319203769,2.143954680796219,3.55486099494158,0.4451390050584137
+0.64,2.636462120142463,2.363537879857525,3.55086099494158,0.4491390050584136
+0.72,2.433761279159429,2.566238720840559,3.546860994941579,0.4531390050584135
+0.8,2.246644820574454,2.753355179425534,3.542860994941578,0.4571390050584135
+0.88,2.073914552175663,2.926085447824325,3.538860994941578,0.4611390050584135
+0.96,1.914464426441993,3.085535573557995,3.534860994941577,0.4651390050584134
+1.04,1.767273383818949,3.23272661618104,3.530860994941577,0.4691390050584134
+1.12,1.631398958639886,3.368601041360103,3.526860994941577,0.4731390050584135
+1.2,1.505971035642485,3.494028964357504,3.522860994941578,0.4771390050584135
+1.28,1.390186491781589,3.6098135082184,3.518860994941578,0.4811390050584135
+1.36,1.283303862971519,3.71669613702847,3.514860994941579,0.4851390050584135
+1.44,1.184638786015173,3.815361213984815,3.510860994941579,0.4891390050584135
+1.52,1.093559290811599,3.90644070918839,3.506860994941579,0.4931390050584136
+1.6,1.009482589974326,3.990517410025662,3.50286099494158,0.4971390050584136
+1.68,0.9318698794875678,4.068130120512427,3.396545967976353,0.6034540320236441
+1.76,0.8602243191043588,4.139775680895637,3.276545967976354,0.7234540320236444
+1.84,0.7940871288798482,4.205912871120147,3.156545967976354,0.8434540320236443
+1.92,0.7330348085165142,4.266965191483481,3.036545967976354,0.9634540320236443
+2.,0.6766764161850473,4.323323583814947,2.916545967976353,1.083454032023644
+2.08,0.624651059150206,4.375348940849789,2.796545967976353,1.203454032023644
+2.16,0.5766256028586919,4.423374397141303,2.676545967976353,1.323454032023644
+2.24,0.5322925143300163,4.467707485669979,2.556545967976352,1.443454032023644
+2.32,0.4913679235594085,4.508632076440587,2.436545967976353,1.563454032023644
+2.4,0.4535897622008108,4.546410237799184,2.316545967976352,1.683454032023645
+2.48,0.4187161221223591,4.581283877877636,2.196545967976353,1.803454032023645
+2.56,0.3865237005803942,4.613476299419601,2.076545967976353,1.923454032023645
+2.64,0.3568063419837603,4.643193658016235,1.956545967976352,2.043454032023645
+2.72,0.3293737651784488,4.670626234821546,1.836545967976352,2.163454032023644
+2.8,0.3040503051152253,4.695949694884769,1.716545967976353,2.283454032023644
+2.88,0.2806738052235588,4.719326194776436,1.596545967976353,2.403454032023644
+2.96,0.2590945761150486,4.740905423884946,1.476545967976353,2.523454032023644
+3.04,0.2391744370624046,4.76082556293759,1.356545967976353,2.643454032023644
+3.12,0.2207858311723175,4.779214168827677,1.236545967976353,2.763454032023644
+3.2,0.2038110085871395,4.796188991412855,1.116545967976353,2.883454032023644
+3.28,0.1881412724850287,4.811858727514965,0.9965459679763538,3.003454032023643
+3.36,0.1736762830501812,4.826323716949812,0.8765459679763534,3.123454032023643
+3.44,0.1603234149562458,4.839676585043748,0.7565459679763531,3.243454032023644
+3.52,0.1479971642486656,4.852002835751329,0.6365459679763531,3.363454032023644
+3.6,0.13661860082801,4.863381399171984,0.5165459679763528,3.483454032023644
+3.68,0.1261148630283168,4.873885136971677,0.3965459679763529,3.603454032023644
+3.76,0.1164186910540366,4.883581308945957,0.2765459679763533,3.723454032023644
+3.84,0.1074679962880022,4.892532003711991,0.1565459679763534,3.843454032023643
+3.92,0.09920547142621725,4.900794528573776,0.03654596797635349,3.963454032023643
+4.,0.09157819444421792,4.908421805555775,-0.08345403202364662,4.083454032023643
diff --git a/models/sbml-test-suite/cases/semantic/00201/00201-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00201/00201-sbml-l2v4.xml
new file mode 100644
index 0000000..eb5183d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00201/00201-sbml-l2v4.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00201" id="case00201" name="case00201">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="4" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <xor/>
+                  <apply>
+                    <gt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 1 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 2 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00201/00201-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00201/00201-sbml-l3v1.xml
new file mode 100644
index 0000000..9ca755a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00201/00201-sbml-l3v1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00201" id="case00201" name="case00201" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <piecewise>
+              <piece>
+                <ci> p1 </ci>
+                <apply>
+                  <xor/>
+                  <apply>
+                    <gt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 1 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> S2 </ci>
+                    <cn type="integer"> 2 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> p2 </ci>
+              </otherwise>
+            </piecewise>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00201/00201-settings.txt b/models/sbml-test-suite/cases/semantic/00201/00201-settings.txt
new file mode 100644
index 0000000..40d7cf9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00201/00201-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00202/00202-results.csv b/models/sbml-test-suite/cases/semantic/00202/00202-results.csv
new file mode 100644
index 0000000..7674333
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00202/00202-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5e-006,0
+0.16,1.257926974368271e-006,2.420730256317294e-007
+0.32,1.054920181845851e-006,4.450798181541491e-007
+0.48,8.846750355377282e-007,6.15324964462272e-007
+0.64,7.419043949981051e-007,7.580956050018952e-007
+0.8,6.221743684925429e-007,8.778256315074571e-007
+0.96,5.217666134418096e-007,9.782333865581907e-007
+1.12,4.375628632613587e-007,1.062437136738642e-006
+1.28,3.669480869752361e-007,1.133051913024764e-006
+1.44,3.07729265844014e-007,1.192270734155986e-006
+1.6,2.580672939717042e-007,1.241932706028296e-006
+1.76,2.164198764371851e-007,1.283580123562815e-006
+1.92,1.814935975660748e-007,1.318506402433926e-006
+2.08,1.522037969602312e-007,1.347796203039769e-006
+2.24,1.276408404570398e-007,1.372359159542961e-006
+2.4,1.070419029021066e-007,1.392958097097894e-006
+2.56,8.976726672567693e-008,1.410232733274324e-006
+2.72,7.528044484071173e-008,1.424719555159289e-006
+2.88,6.313153307913577e-008,1.436868466920865e-006
+3.04,5.29432379837327e-008,1.447056762016268e-006
+3.2,4.439915147931774e-008,1.455600848520683e-006
+3.36,3.723392724738238e-008,1.462766072752618e-006
+3.52,3.122504130696942e-008,1.468774958693031e-006
+3.68,2.618588129077173e-008,1.473814118709229e-006
+3.84,2.195995081539188e-008,1.478040049184609e-006
+4,1.841600924038844e-008,1.481583990759612e-006
+4.16,1.544399590305675e-008,1.484556004096944e-006
+4.32,1.2951612184056e-008,1.487048387815944e-006
+4.48,1.086145507924636e-008,1.489138544920754e-006
+4.64,9.108612892748791e-009,1.490891387107252e-006
+4.8,7.63864779595646e-009,1.492361352204044e-006
+4.96,6.405906341754749e-009,1.493594093658246e-006
+5.12,5.372106650426256e-009,1.494627893349574e-006
+5.28,4.505146045114174e-009,1.495494853954887e-006
+5.44,3.778098360291436e-009,1.496221901639709e-006
+5.6,3.168379240031682e-009,1.496831620759969e-006
+5.76,2.657059504510565e-009,1.49734294049549e-006
+5.92,2.228260171378593e-009,1.497771739828622e-006
+6.08,1.868656646111302e-009,1.498131343353889e-006
+6.24,1.567090283391058e-009,1.498432909716609e-006
+6.4,1.314190212797461e-009,1.498685809787203e-006
+6.56,1.102102228729929e-009,1.498897897771271e-006
+6.72,9.242448494239907e-010,1.499075755150576e-006
+6.88,7.750859548825486e-010,1.499224914045118e-006
+7.04,6.500036314149176e-010,1.499349996368585e-006
+7.2,5.451021278903169e-010,1.49945489787211e-006
+7.36,4.57135004603971e-010,1.499542864995396e-006
+7.52,3.833592236212457e-010,1.499616640776379e-006
+7.68,3.214939160951574e-010,1.499678506083905e-006
+7.84,2.696107637878799e-010,1.499730389236212e-006
+8,2.261008498682236e-010,1.499773899150132e-006
diff --git a/models/sbml-test-suite/cases/semantic/00202/00202-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00202/00202-sbml-l2v4.xml
new file mode 100644
index 0000000..45a99cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00202/00202-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00202" id="case00202" name="case00202">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="0.6" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00202/00202-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00202/00202-sbml-l3v1.xml
new file mode 100644
index 0000000..b67465b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00202/00202-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00202" id="case00202" name="case00202" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="0.6" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00202/00202-settings.txt b/models/sbml-test-suite/cases/semantic/00202/00202-settings.txt
new file mode 100644
index 0000000..f2ffb4d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00202/00202-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00203/00203-results.csv b/models/sbml-test-suite/cases/semantic/00203/00203-results.csv
new file mode 100644
index 0000000..1633d92
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00203/00203-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1e-006,2e-006,1e-006
+0.002,1.048770493434172e-006,2.048770493434172e-006,9.512295065658275e-007
+0.004,1.095162417775855e-006,2.095162417775855e-006,9.048375822241445e-007
+0.006,1.13929177311029e-006,2.13929177311029e-006,8.607082268897099e-007
+0.008,1.181268909042559e-006,2.181268909042559e-006,8.187310909574406e-007
+0.01,1.221198792324428e-006,2.221198792324428e-006,7.788012076755717e-007
+0.012,1.259181263505198e-006,2.259181263505198e-006,7.408187364948019e-007
+0.014,1.295311306429831e-006,2.295311306429831e-006,7.046886935701688e-007
+0.016,1.329679258167866e-006,2.329679258167865e-006,6.703207418321341e-007
+0.018,1.362371062236838e-006,2.362371062236838e-006,6.376289377631617e-007
+0.02,1.393468463150504e-006,2.393468463150503e-006,6.065315368494966e-007
+0.022,1.423049220163379e-006,2.423049220163378e-006,5.769507798366212e-007
+0.024,1.451187304647992e-006,2.451187304647992e-006,5.488126953520078e-007
+0.026,1.477953071020101e-006,2.4779530710201e-006,5.220469289798996e-007
+0.028,1.503413455285842e-006,2.503413455285841e-006,4.965865447141585e-007
+0.03,1.527632113999156e-006,2.527632113999156e-006,4.723678860008439e-007
+0.032,1.550669615031673e-006,2.550669615031672e-006,4.493303849683276e-007
+0.034,1.572583556433006e-006,2.572583556433006e-006,4.274164435669943e-007
+0.036,1.593428742325244e-006,2.593428742325244e-006,4.065712576747559e-007
+0.038,1.613257289952887e-006,2.613257289952887e-006,3.867427100471128e-007
+0.04,1.632118787558591e-006,2.632118787558591e-006,3.678812124414088e-007
+0.042,1.650060393301093e-006,2.650060393301093e-006,3.49939606698907e-007
+0.044,1.667126976160938e-006,2.667126976160937e-006,3.328730238390624e-007
+0.046,1.683361206592981e-006,2.683361206592981e-006,3.166387934070187e-007
+0.048,1.698803684102933e-006,2.698803684102933e-006,3.011963158970667e-007
+0.05,1.713493017729462e-006,2.713493017729463e-006,2.865069822705376e-007
+0.052,1.727465944589342e-006,2.727465944589342e-006,2.725340554106583e-007
+0.054,1.740757398061274e-006,2.740757398061274e-006,2.59242601938726e-007
+0.056,1.753400621033723e-006,2.753400621033723e-006,2.46599378966277e-007
+0.058,1.76542722067888e-006,2.76542722067888e-006,2.345727793211196e-007
+0.06,1.776867278077909e-006,2.776867278077909e-006,2.231327219220915e-007
+0.062,1.7877493912957e-006,2.7877493912957e-006,2.122506087043002e-007
+0.064,1.798100779408031e-006,2.798100779408031e-006,2.018992205919697e-007
+0.066,1.807947319308207e-006,2.807947319308207e-006,1.920526806917933e-007
+0.068,1.817313638402447e-006,2.817313638402446e-006,1.826863615975533e-007
+0.07,1.826223153781603e-006,2.826223153781603e-006,1.737768462183968e-007
+0.072,1.834698145200016e-006,2.834698145200016e-006,1.653018547999832e-007
+0.074,1.842759806508167e-006,2.842759806508167e-006,1.572401934918333e-007
+0.076,1.850428291574939e-006,2.850428291574939e-006,1.495717084250608e-007
+0.078,1.857722782652017e-006,2.857722782652017e-006,1.422772173479824e-007
+0.08,1.864661512116116e-006,2.864661512116116e-006,1.353384878838838e-007
+0.082,1.871261837387013e-006,2.871261837387013e-006,1.287381626129872e-007
+0.084,1.877540258342346e-006,2.877540258342346e-006,1.224597416576542e-007
+0.086,1.883512475295264e-006,2.883512475295264e-006,1.164875247047364e-007
+0.088,1.889193425260553e-006,2.889193425260553e-006,1.108065747394469e-007
+0.09,1.894597307461511e-006,2.894597307461511e-006,1.054026925384885e-007
+0.092,1.89973764160463e-006,2.89973764160463e-006,1.002623583953695e-007
+0.094,1.90462727574349e-006,2.90462727574349e-006,9.537272425651019e-008
+0.096,1.909278438156885e-006,2.909278438156884e-006,9.072156184311529e-008
+0.098,1.913702761546686e-006,2.913702761546686e-006,8.629723845331377e-008
+0.1,1.917911305759178e-006,2.917911305759178e-006,8.208869424082157e-008
diff --git a/models/sbml-test-suite/cases/semantic/00203/00203-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00203/00203-sbml-l2v4.xml
new file mode 100644
index 0000000..2a28d50
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00203/00203-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00203" id="case00203" name="case00203">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="3.7" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00203/00203-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00203/00203-sbml-l3v1.xml
new file mode 100644
index 0000000..857b8de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00203/00203-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00203" id="case00203" name="case00203" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="3.7" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00203/00203-settings.txt b/models/sbml-test-suite/cases/semantic/00203/00203-settings.txt
new file mode 100644
index 0000000..0309878
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00203/00203-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.1
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00204/00204-results.csv b/models/sbml-test-suite/cases/semantic/00204/00204-results.csv
new file mode 100644
index 0000000..023c799
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00204/00204-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1e-006,1.5e-006,2e-006,1e-006
+1,3.618401764571842e-008,5.361840176457187e-007,2.963815982354284e-006,1.963815982354281e-006
+2,3.618402584253696e-008,5.361840258425373e-007,2.963815974157464e-006,1.963815974157462e-006
+3,3.618402529061471e-008,5.361840252906155e-007,2.963815974709388e-006,1.963815974709385e-006
+4,3.618402712343193e-008,5.361840271234328e-007,2.963815972876572e-006,1.963815972876568e-006
+5,3.618402683435137e-008,5.361840268343521e-007,2.963815973165651e-006,1.963815973165648e-006
+6,3.618402184389428e-008,5.361840218438948e-007,2.963815978156105e-006,1.963815978156106e-006
+7,3.618402818362416e-008,5.361840281836245e-007,2.963815971816373e-006,1.963815971816378e-006
+8,3.618402825113473e-008,5.361840282511353e-007,2.963815971748861e-006,1.963815971748868e-006
+9,3.618403131754915e-008,5.361840313175496e-007,2.963815968682448e-006,1.963815968682454e-006
+10,3.618402733216414e-008,5.361840273321646e-007,2.963815972667832e-006,1.963815972667839e-006
+11,3.618403369602986e-008,5.361840336960303e-007,2.963815966303966e-006,1.963815966303972e-006
+12,3.618402606185461e-008,5.361840260618552e-007,2.963815973938142e-006,1.963815973938147e-006
+13,3.618403579358454e-008,5.361840357935851e-007,2.963815964206412e-006,1.963815964206417e-006
+14,3.618402498282447e-008,5.361840249828249e-007,2.963815975017171e-006,1.963815975017178e-006
+15,3.618402583697556e-008,5.36184025836976e-007,2.96381597416302e-006,1.963815974163027e-006
+16,3.618403326909094e-008,5.361840332690914e-007,2.963815966730905e-006,1.963815966730911e-006
+17,3.618402054174459e-008,5.361840205417451e-007,2.963815979458252e-006,1.963815979458258e-006
+18,3.618402604482106e-008,5.361840260448216e-007,2.963815973955176e-006,1.963815973955181e-006
+19,3.618401988495732e-008,5.361840198849578e-007,2.963815980115039e-006,1.963815980115045e-006
+20,3.618402645125056e-008,5.36184026451251e-007,2.963815973548746e-006,1.963815973548752e-006
+21,3.618401978602164e-008,5.361840197860222e-007,2.963815980213975e-006,1.963815980213981e-006
+22,3.618402587318737e-008,5.36184025873188e-007,2.963815974126809e-006,1.963815974126815e-006
+23,3.618402739751979e-008,5.361840273975202e-007,2.963815972602476e-006,1.963815972602483e-006
+24,3.61840191125714e-008,5.361840191125718e-007,2.963815980887424e-006,1.963815980887431e-006
+25,3.618402857926267e-008,5.361840285792632e-007,2.963815971420734e-006,1.96381597142074e-006
+26,3.618402899068067e-008,5.361840289906812e-007,2.963815971009316e-006,1.963815971009321e-006
+27,3.61840286997297e-008,5.361840286997302e-007,2.963815971300267e-006,1.963815971300273e-006
+28,3.618402975276555e-008,5.361840297527659e-007,2.96381597024723e-006,1.963815970247237e-006
+29,3.618403490210959e-008,5.3618403490211e-007,2.963815965097886e-006,1.963815965097893e-006
+30,3.618402560239159e-008,5.361840256023921e-007,2.963815974397605e-006,1.963815974397611e-006
+31,3.618403116236515e-008,5.361840311623658e-007,2.963815968837631e-006,1.963815968837637e-006
+32,3.618403082711772e-008,5.361840308271182e-007,2.963815969172879e-006,1.963815969172885e-006
+33,3.618402502184406e-008,5.361840250218445e-007,2.963815974978152e-006,1.963815974978159e-006
+34,3.618402891659271e-008,5.361840289165932e-007,2.963815971083403e-006,1.96381597108341e-006
+35,3.618402486344535e-008,5.361840248634459e-007,2.963815975136551e-006,1.963815975136557e-006
+36,3.618402831061405e-008,5.361840283106146e-007,2.963815971689382e-006,1.963815971689388e-006
+37,3.61840166981224e-008,5.361840166981229e-007,2.963815983301874e-006,1.96381598330188e-006
+38,3.618402626348642e-008,5.361840262634869e-007,2.963815973736509e-006,1.963815973736516e-006
+39,3.618402415514693e-008,5.361840241551474e-007,2.963815975844849e-006,1.963815975844855e-006
+40,3.618402262204223e-008,5.361840226220428e-007,2.963815977377954e-006,1.963815977377961e-006
+41,3.618402745582848e-008,5.36184027455829e-007,2.963815972544169e-006,1.963815972544174e-006
+42,3.618402549913682e-008,5.361840254991373e-007,2.96381597450086e-006,1.963815974500866e-006
+43,3.618402806662115e-008,5.361840280666217e-007,2.963815971933375e-006,1.963815971933381e-006
+44,3.618402482703141e-008,5.36184024827032e-007,2.963815975172965e-006,1.963815975172971e-006
+45,3.618403023124881e-008,5.361840302312494e-007,2.963815969768748e-006,1.963815969768753e-006
+46,3.61840281586688e-008,5.361840281586693e-007,2.963815971841327e-006,1.963815971841334e-006
+47,3.618403369347832e-008,5.361840336934787e-007,2.963815966306518e-006,1.963815966306524e-006
+48,3.618402634429345e-008,5.361840263442939e-007,2.963815973655702e-006,1.963815973655709e-006
+49,3.618402827137857e-008,5.361840282713791e-007,2.963815971728618e-006,1.963815971728624e-006
+50,3.618402755596328e-008,5.361840275559638e-007,2.963815972444034e-006,1.963815972444039e-006
diff --git a/models/sbml-test-suite/cases/semantic/00204/00204-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00204/00204-sbml-l2v4.xml
new file mode 100644
index 0000000..5e2d63b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00204/00204-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00204" id="case00204" name="case00204">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="0.01" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500000"/>
+      <parameter id="k2" name="k2" value="25000"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00204/00204-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00204/00204-sbml-l3v1.xml
new file mode 100644
index 0000000..327c818
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00204/00204-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00204" id="case00204" name="case00204" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="0.01" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500000" constant="true"/>
+      <parameter id="k2" name="k2" value="25000" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00204/00204-settings.txt b/models/sbml-test-suite/cases/semantic/00204/00204-settings.txt
new file mode 100644
index 0000000..bb1db44
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00204/00204-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 50.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00205/00205-results.csv b/models/sbml-test-suite/cases/semantic/00205/00205-results.csv
new file mode 100644
index 0000000..0dea14e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00205/00205-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5e-005,0
+0.4,1.046514489020317e-005,4.534855109796835e-006
+0.8,7.301283842439794e-006,7.698716157560207e-006
+1.2,5.093932868580854e-006,9.906067131419147e-006
+1.6,3.553916389439549e-006,1.144608361056045e-005
+2,2.479483309666382e-006,1.252051669033362e-005
+2.4,1.729876800838996e-006,1.327012319916101e-005
+2.8,1.206894101371858e-006,1.379310589862815e-005
+3.2,8.42021451479075e-007,1.415797854852093e-005
+3.6,5.874584166806555e-007,1.441254158331934e-005
+4,4.098558274215277e-007,1.459014417257847e-005
+4.4,2.859467181096371e-007,1.471405328189036e-005
+4.8,1.99498258083517e-007,1.480050174191648e-005
+5.2,1.391852030461089e-007,1.486081479695389e-005
+5.6,9.710621043350014e-008,1.49028937895665e-005
+6,6.774872756112651e-008,1.493225127243887e-005
+6.4,4.726666469348151e-008,1.495273333530652e-005
+6.8,3.297685402560411e-008,1.49670231459744e-005
+7.2,2.300714696958128e-008,1.497699285303042e-005
+7.6,1.605154547590943e-008,1.498394845452409e-005
+8,1.119879687483054e-008,1.498880120312517e-005
+8.4,7.813144095903439e-009,1.49921868559041e-005
+8.8,5.45105076715052e-009,1.499454894923285e-005
+9.2,3.803073622446111e-009,1.499619692637755e-005
+9.6,2.65331563761169e-009,1.499734668436239e-005
+10,1.851147965170279e-009,1.499814885203483e-005
+10.4,1.291489458844644e-009,1.499870851054116e-005
+10.8,9.01042986774924e-010,1.499909895701322e-005
+11.2,6.286562441947537e-010,1.49993713437558e-005
+11.6,4.385844483006999e-010,1.49995614155517e-005
+12,3.059851197953024e-010,1.49996940148802e-005
+12.4,2.134968970106825e-010,1.499978650310299e-005
+12.8,1.489300250145628e-010,1.499985106997498e-005
+13.2,1.039284496813547e-010,1.499989607155032e-005
+13.6,7.248594767101405e-011,1.499992751405233e-005
+14,5.059461053534674e-011,1.499994940538946e-005
+14.4,3.527801480464395e-011,1.49999647219852e-005
+14.8,2.462686189435551e-011,1.49999753731381e-005
+15.2,1.717774843492154e-011,1.499998282225156e-005
+15.6,1.197477732342743e-011,1.499998802522268e-005
+16,8.374142009252352e-012,1.499999162585799e-005
+16.4,5.829919060918154e-012,1.499999417008094e-005
+16.8,4.061180949398672e-012,1.499999593881905e-005
+17.2,2.850269251539132e-012,1.499999714973075e-005
+17.6,1.984485638083999e-012,1.499999801551436e-005
+18,1.372272640623822e-012,1.499999862772736e-005
+18.4,9.622803948578425e-013,1.499999903771961e-005
+18.8,6.849434964191943e-013,1.49999993150565e-005
+19.2,4.777740743650455e-013,1.499999952222593e-005
+19.6,3.332595272556361e-013,1.499999966674047e-005
+20,2.331802532292026e-013,1.499999976681975e-005
diff --git a/models/sbml-test-suite/cases/semantic/00205/00205-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00205/00205-sbml-l2v4.xml
new file mode 100644
index 0000000..dca4222
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00205/00205-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00205" id="case00205" name="case00205">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="0.3" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00205/00205-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00205/00205-sbml-l3v1.xml
new file mode 100644
index 0000000..0c36768
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00205/00205-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00205" id="case00205" name="case00205" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="0.3" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00205/00205-settings.txt b/models/sbml-test-suite/cases/semantic/00205/00205-settings.txt
new file mode 100644
index 0000000..7ce5416
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00205/00205-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00206/00206-results.csv b/models/sbml-test-suite/cases/semantic/00206/00206-results.csv
new file mode 100644
index 0000000..c36d823
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00206/00206-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.04,0.01009671983907799,0.02009671983907798,0.009903280160922014
+0.08,0.0101924371860607,0.0201924371860607,0.009807562813939297
+0.12,0.01028716217907437,0.02028716217907437,0.009712837820925626
+0.16,0.01038090485872776,0.02038090485872776,0.009619095141272243
+0.2,0.01047367517077939,0.02047367517077938,0.009526324829220613
+0.24,0.01056548296613755,0.02056548296613755,0.009434517033862449
+0.28,0.01065633800081907,0.02065633800081907,0.009343661999180932
+0.32,0.01074624993407359,0.02074624993407359,0.009253750065926407
+0.36,0.01083522833236716,0.02083522833236715,0.009164771667632844
+0.4,0.01092328267129399,0.02092328267129399,0.009076717328706008
+0.44,0.01101042233557654,0.02101042233557654,0.008989577664423461
+0.48,0.01109665661904335,0.02109665661904335,0.008903343380956648
+0.52,0.01118199472285894,0.02118199472285893,0.008818005277141062
+0.56,0.01126644575933904,0.02126644575933903,0.008733554240660961
+0.6,0.01135001875379032,0.02135001875379032,0.008649981246209675
+0.64,0.0114327226445104,0.02143272264451039,0.008567277355489599
+0.68,0.01151456628278228,0.02151456628278228,0.008485433717217716
+0.72,0.01159555843120363,0.02159555843120362,0.008404441568796375
+0.76,0.01167570776733878,0.02167570776733878,0.008324292232661214
+0.8,0.01175502288548761,0.0217550228854876,0.008244977114512395
+0.84,0.01183351229668541,0.02183351229668541,0.008166487703314591
+0.88,0.01191118442871178,0.02191118442871178,0.008088815571288217
+0.92,0.01198804762451333,0.02198804762451332,0.008011952375486669
+0.96,0.01206411014569774,0.02206411014569773,0.007935889854302262
+1,0.01213938017423297,0.02213938017423296,0.007860619825767032
+1.04,0.01221386581244726,0.02221386581244726,0.00778613418755274
+1.08,0.01228757508305016,0.02228757508305015,0.007712424916949838
+1.12,0.01236051592764338,0.02236051592764338,0.007639484072356618
+1.16,0.01243269621006201,0.022432696210062,0.007567303789937994
+1.2,0.01250412371800564,0.02250412371800564,0.00749587628199436
+1.24,0.01257480616303841,0.0225748061630384,0.007425193836961595
+1.28,0.01264475118062038,0.02264475118062037,0.007355248819379618
+1.32,0.01271396632870146,0.02271396632870145,0.007286033671298544
+1.36,0.01278245909091488,0.02278245909091488,0.007217540909085118
+1.4,0.01285023687814198,0.02285023687814198,0.007149763121858019
+1.44,0.01291730702851213,0.02291730702851213,0.007082692971487867
+1.48,0.01298367680744304,0.02298367680744303,0.007016323192556963
+1.52,0.0130493534063127,0.02304935340631269,0.006950646593687304
+1.56,0.01311434394551054,0.02311434394551054,0.006885656054489458
+1.6,0.01317865547593738,0.02317865547593738,0.006821344524062619
+1.64,0.0132422949790054,0.0232422949790054,0.006757705020994599
+1.68,0.01330526936668578,0.02330526936668578,0.006694730633314223
+1.72,0.01336758548025431,0.02336758548025431,0.006632414519745692
+1.76,0.01342925009320522,0.02342925009320522,0.006570749906794778
+1.8,0.01349026991268817,0.02349026991268817,0.006509730087311828
+1.84,0.01355065157950824,0.02355065157950824,0.006449348420491762
+1.88,0.01361040166781684,0.02361040166781684,0.006389598332183156
+1.92,0.01366952668489665,0.02366952668489665,0.006330473315103353
+1.96,0.01372803307365363,0.02372803307365363,0.006271966926346369
+2,0.01378592721321044,0.02378592721321044,0.006214072786789559
diff --git a/models/sbml-test-suite/cases/semantic/00206/00206-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00206/00206-sbml-l2v4.xml
new file mode 100644
index 0000000..cafffc8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00206/00206-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00206" id="case00206" name="case00206">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="9.8" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.4"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00206/00206-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00206/00206-sbml-l3v1.xml
new file mode 100644
index 0000000..6b7fb4f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00206/00206-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00206" id="case00206" name="case00206" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="9.8" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.4" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00206/00206-settings.txt b/models/sbml-test-suite/cases/semantic/00206/00206-settings.txt
new file mode 100644
index 0000000..922a492
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00206/00206-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00207/00207-results.csv b/models/sbml-test-suite/cases/semantic/00207/00207-results.csv
new file mode 100644
index 0000000..3899b9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00207/00207-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1,1.5,2,1
+0.003,0.9903343114882685,1.490334311488268,2.009665688511732,1.009665688511732
+0.006,0.9808345042084325,1.480834504208432,2.019165495791568,1.019165495791568
+0.009,0.9714965696204485,1.471496569620449,2.028503430379552,1.028503430379552
+0.012,0.9623166252743357,1.462316625274336,2.037683374725665,1.037683374725664
+0.015,0.9532909082636757,1.453290908263676,2.046709091736325,1.046709091736324
+0.018,0.9444157752256128,1.444415775225613,2.055584224774387,1.055584224774387
+0.021,0.9356876975318688,1.435687697531869,2.064312302468131,1.064312302468131
+0.024,0.9271032568848995,1.427103256884899,2.072896743115101,1.072896743115101
+0.027,0.9186591387688932,1.418659138768893,2.081340861231107,1.081340861231107
+0.03,0.9103521269257332,1.410352126925733,2.089647873074267,1.089647873074267
+0.033,0.9021791033549972,1.402179103354997,2.097820896645003,1.097820896645003
+0.036,0.8941370445072931,1.394137044507293,2.105862955492707,1.105862955492707
+0.039,0.8862230178355431,1.386223017835543,2.113776982164457,1.113776982164457
+0.042,0.8784341765575127,1.378434176557513,2.121565823442488,1.121565823442488
+0.045,0.8707677552528943,1.370767755252894,2.129232244747106,1.129232244747106
+0.048,0.8632210698633079,1.363221069863308,2.136778930136692,1.136778930136692
+0.051,0.8557915146532548,1.355791514653255,2.144208485346745,1.144208485346745
+0.054,0.8484765594857983,1.348476559485798,2.151523440514202,1.151523440514202
+0.057,0.8412737455984277,1.341273745598428,2.158726254401572,1.158726254401572
+0.06,0.8341806820640735,1.334180682064073,2.165819317935927,1.165819317935927
+0.063,0.8271950457911065,1.327195045791106,2.172804954208893,1.172804954208894
+0.066,0.8203145790778613,1.320314579077861,2.179685420922139,1.179685420922139
+0.069,0.8135370874432146,1.313537087443215,2.186462912556785,1.186462912556785
+0.072,0.8068604361928389,1.306860436192839,2.193139563807161,1.193139563807161
+0.075,0.8002825475522826,1.300282547552283,2.199717452447717,1.199717452447717
+0.078,0.7938014006669704,1.29380140066697,2.20619859933303,1.20619859933303
+0.081,0.787415029619837,1.287415029619837,2.212584970380163,1.212584970380163
+0.084,0.7811215216909044,1.281121521690904,2.218878478309095,1.218878478309096
+0.087,0.7749190145454894,1.274919014545489,2.22508098545451,1.225080985454511
+0.09,0.768805693894715,1.268805693894715,2.231194306105285,1.231194306105285
+0.093,0.7627797934955108,1.262779793495511,2.237220206504489,1.23722020650449
+0.096,0.756839593532603,1.256839593532603,2.243160406467397,1.243160406467397
+0.099,0.7509834192126058,1.250983419212606,2.249016580787394,1.249016580787395
+0.102,0.7452096384456866,1.245209638445686,2.254790361554313,1.254790361554314
+0.105,0.7395166599234144,1.239516659923414,2.260483340076585,1.260483340076586
+0.108,0.7339029331187595,1.233902933118759,2.26609706688124,1.266097066881241
+0.111,0.7283669469569846,1.228366946956985,2.271633053043015,1.271633053043016
+0.114,0.7229072286726673,1.222907228672667,2.277092771327332,1.277092771327333
+0.117,0.7175223418858976,1.217522341885897,2.282477658114102,1.282477658114103
+0.12,0.7122108850128942,1.212210885012894,2.287789114987106,1.287789114987106
+0.123,0.7069714912660045,1.206971491266004,2.293028508733995,1.293028508733996
+0.126,0.7018028275553453,1.201802827555345,2.298197172444655,1.298197172444655
+0.129,0.6967035935540332,1.196703593554033,2.303296406445967,1.303296406445967
+0.132,0.6916725200921061,1.191672520092106,2.308327479907894,1.308327479907894
+0.135,0.6867083678343933,1.186708367834393,2.313291632165607,1.313291632165607
+0.138,0.6818099272805159,1.181809927280516,2.318190072719484,1.318190072719484
+0.141,0.676976018004512,1.176976018004512,2.323023981995488,1.323023981995488
+0.144,0.6722054873890285,1.172205487389028,2.327794512610971,1.327794512610972
+0.147,0.6674972096053364,1.167497209605336,2.332502790394664,1.332502790394664
+0.15,0.6628500849348961,1.162850084934896,2.337149915065104,1.337149915065104
diff --git a/models/sbml-test-suite/cases/semantic/00207/00207-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00207/00207-sbml-l2v4.xml
new file mode 100644
index 0000000..2bf7f19
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00207/00207-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00207" id="case00207" name="case00207">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="4" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="9"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00207/00207-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00207/00207-sbml-l3v1.xml
new file mode 100644
index 0000000..560e5f1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00207/00207-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00207" id="case00207" name="case00207" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="4" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="9" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00207/00207-settings.txt b/models/sbml-test-suite/cases/semantic/00207/00207-settings.txt
new file mode 100644
index 0000000..dd802d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00207/00207-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.15
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00208/00208-results.csv b/models/sbml-test-suite/cases/semantic/00208/00208-results.csv
new file mode 100644
index 0000000..d5f349b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00208/00208-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0.0001
+0.1,0.0001357256126742597,0.0001142743873257403
+0.2,0.0001228096128954889,0.0001271903871045111
+0.3,0.0001111227330766294,0.0001388772669233705
+0.4,0.0001005480068516682,0.0001494519931483319
+0.5,0.00009097959887375714,0.0001590204011262429
+0.6,0.00008232174485545655,0.0001676782551445435
+0.7,0.0000744877947070635,0.0001755122052929366
+0.8,0.00006739934355962143,0.0001826006564403786
+0.9,0.00006098544783937572,0.0001890145521606243
+1.,0.00005518191105426146,0.0001948180889457386
+1.1,0.00004993065968003168,0.0002000693403199684
+1.2,0.00004517913174967631,0.0002048208682503237
+1.3,0.00004087976645779386,0.0002091202335422061
+1.4,0.00003698954425561347,0.0002130104557443865
+1.5,0.00003346952243568353,0.0002165304775643165
+1.6,0.00003028447667617287,0.0002197155233238271
+1.7,0.00002740252797442168,0.0002225974720255783
+1.8,0.00002479483096268447,0.0002252051690373155
+1.9,0.00002243529232867706,0.0002275647076713229
+2.,0.00002030029204661997,0.00022969970795338
+2.1,0.00001836846258309459,0.0002316315374169054
+2.2,0.00001662047273204181,0.0002333795272679582
+2.3,0.000015038826555389,0.000234961173444611
+2.4,0.00001360769209482715,0.0002363923079051728
+2.5,0.00001231274870790273,0.0002376872512920973
+2.6,0.00001114103654802876,0.0002388589634519712
+2.7,0.00001008082660730412,0.0002399191733926959
+2.8,9.121508547808962e-6,0.000240878491452191
+2.9,8.253482573169637e-6,0.0002417465174268303
+3.,7.468060236218503e-6,0.0002425319397637815
+3.1,6.757379861685185e-6,0.0002432426201383148
+3.2,6.114330086812052e-6,0.0002438856699131879
+3.3,5.532475057791357e-6,0.0002444675249422086
+3.4,5.00599029839853e-6,0.0002449940097016014
+3.5,4.529607087896762e-6,0.0002454703929121032
+3.6,4.098558188450128e-6,0.0002459014418115498
+3.7,3.708528944244573e-6,0.0002462914710557553
+3.8,3.355615509310574e-6,0.0002466443844906894
+3.9,3.036286481957772e-6,0.0002469637135180421
+4.,2.747345822226978e-6,0.000247252654177773
+4.1,2.485901190561074e-6,0.0002475140988094389
+4.2,2.249336312523869e-6,0.0002477506636874761
+4.3,2.035283781894116e-6,0.0002479647162181059
+4.4,1.841600960811073e-6,0.000248158399039189
+4.5,1.666349338013526e-6,0.0002483336506619865
+4.6,1.507775255800699e-6,0.0002484922247441993
+4.7,1.364291564250467e-6,0.0002486357084357496
+4.8,1.234461986969878e-6,0.0002487655380130302
+4.9,1.116987390115314e-6,0.0002488830126098847
+5.,1.010692049865426e-6,0.0002489893079501346
diff --git a/models/sbml-test-suite/cases/semantic/00208/00208-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00208/00208-sbml-l2v4.xml
new file mode 100644
index 0000000..5bdd759
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00208/00208-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00208" id="case00208" name="case00208">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00208/00208-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00208/00208-sbml-l3v1.xml
new file mode 100644
index 0000000..865351d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00208/00208-sbml-l3v1.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00208" id="case00208" name="case00208" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00208/00208-settings.txt b/models/sbml-test-suite/cases/semantic/00208/00208-settings.txt
new file mode 100644
index 0000000..4e5ac53
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00208/00208-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00209/00209-results.csv b/models/sbml-test-suite/cases/semantic/00209/00209-results.csv
new file mode 100644
index 0000000..be5862c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00209/00209-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.005,0.1044481221378916,0.2044481221378916,0.09555187786210833
+0.01,0.1079446299755927,0.2079446299755926,0.09205537002440729
+0.015,0.1106858430651386,0.2106858430651386,0.08931415693486134
+0.02,0.1128304590101838,0.2128304590101838,0.08716954098981619
+0.025,0.1145055981480002,0.2145055981480002,0.08549440185199976
+0.03,0.1158123748607399,0.2158123748607399,0.08418762513926003
+0.035,0.1168307813099396,0.2168307813099397,0.08316921869006034
+0.04,0.1176238421366178,0.2176238421366178,0.08237615786338217
+0.045,0.1182410491767997,0.2182410491767997,0.08175895082320031
+0.05,0.1187211708983351,0.2187211708983352,0.08127882910166482
+0.055,0.119094519631828,0.2190945196318281,0.08090548036817192
+0.06,0.1193847579561612,0.2193847579561612,0.08061524204383881
+0.065,0.1196103373432451,0.2196103373432452,0.08038966265675483
+0.07,0.1197856321768527,0.2197856321768527,0.08021436782314728
+0.075,0.1199218338235438,0.2199218338235438,0.0800781661764562
+0.08,0.1200276494188382,0.2200276494188382,0.07997235058116179
+0.085,0.1201098514475569,0.2201098514475569,0.07989014855244303
+0.09,0.1201737055358806,0.2201737055358806,0.0798262944641194
+0.095,0.1202233046094008,0.2202233046094008,0.07977669539059918
+0.1,0.120261829558363,0.220261829558363,0.079738170441637
+0.105,0.1202917520587661,0.2202917520587661,0.07970824794123387
+0.11,0.1203149924710523,0.2203149924710523,0.07968500752894763
+0.115,0.1203330426750826,0.2203330426750825,0.07966695732491739
+0.12,0.1203470616013342,0.2203470616013342,0.07965293839866577
+0.125,0.1203579494268505,0.2203579494268504,0.0796420505731495
+0.13,0.1203664054576069,0.2203664054576068,0.0796335945423931
+0.135,0.1203729727853375,0.2203729727853374,0.07962702721466249
+0.14,0.1203780732193355,0.2203780732193355,0.07962192678066447
+0.145,0.1203820343930572,0.2203820343930572,0.07961796560694271
+0.15,0.1203851107693808,0.2203851107693807,0.07961488923061921
+0.155,0.1203874999985105,0.2203874999985105,0.07961250000148943
+0.16,0.1203893555366262,0.2203893555366261,0.07961064446337377
+0.165,0.1203907965982158,0.2203907965982157,0.07960920340178415
+0.17,0.1203919157765692,0.2203919157765691,0.07960808422343074
+0.175,0.1203927849584649,0.2203927849584648,0.07960721504153504
+0.18,0.1203934599858894,0.2203934599858893,0.07960654001411057
+0.185,0.1203939842342217,0.2203939842342216,0.07960601576577827
+0.19,0.1203943913789151,0.2203943913789151,0.07960560862108484
+0.195,0.1203947075764129,0.2203947075764129,0.07960529242358703
+0.2,0.1203949531451083,0.2203949531451082,0.07960504685489167
+0.205,0.1203951438604251,0.220395143860425,0.07960485613957489
+0.21,0.1203952919737154,0.2203952919737153,0.07960470802628459
+0.215,0.1203954070039401,0.2203954070039401,0.07960459299605983
+0.22,0.1203954963377769,0.2203954963377769,0.07960450366222303
+0.225,0.1203955657178845,0.2203955657178844,0.07960443428211548
+0.23,0.1203956195995317,0.2203956195995317,0.07960438040046824
+0.235,0.1203956614459248,0.2203956614459248,0.07960433855407513
+0.24,0.1203956939448528,0.2203956939448528,0.07960430605514715
+0.245,0.1203957191839631,0.2203957191839631,0.07960428081603689
+0.25,0.1203957387853741,0.2203957387853741,0.07960426121462589
diff --git a/models/sbml-test-suite/cases/semantic/00209/00209-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00209/00209-sbml-l2v4.xml
new file mode 100644
index 0000000..e93627c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00209/00209-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00209" id="case00209" name="case00209">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00209/00209-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00209/00209-sbml-l3v1.xml
new file mode 100644
index 0000000..9f8abc2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00209/00209-sbml-l3v1.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00209" id="case00209" name="case00209" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00209/00209-settings.txt b/models/sbml-test-suite/cases/semantic/00209/00209-settings.txt
new file mode 100644
index 0000000..1ba9ef6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00209/00209-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.25
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00210/00210-results.csv b/models/sbml-test-suite/cases/semantic/00210/00210-results.csv
new file mode 100644
index 0000000..2ed9eb9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00210/00210-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.0015,0.002,0.001
+0.04,0.0006926632324792408,0.00119266323247924,0.002307336767520755,0.001307336767520759
+0.08,0.0005265018953712766,0.001026501895371276,0.00247349810462872,0.001473498104628723
+0.12,0.0004268907133485237,0.000926890713348524,0.002573109286651472,0.001573109286651476
+0.16,0.0003634423078770663,0.0008634423078770666,0.00263655769212293,0.001636557692122933
+0.2,0.0003214546384183692,0.0008214546384183696,0.002678545361581627,0.00167854536158163
+0.24,0.0002929622296131581,0.0007929622296131584,0.002707037770386837,0.001707037770386841
+0.28,0.000273296611775547,0.0007732966117755474,0.00272670338822445,0.001726703388224452
+0.32,0.0002595637779284935,0.000759563777928494,0.002740436222071502,0.001740436222071505
+0.36,0.0002498954882791467,0.0007498954882791473,0.002750104511720849,0.001750104511720852
+0.4,0.0002430496521221716,0.0007430496521221722,0.002756950347877825,0.001756950347877827
+0.44,0.0002381826344637265,0.0007381826344637268,0.00276181736553627,0.001761817365536272
+0.48,0.0002347124732328066,0.0007347124732328069,0.00276528752676719,0.001765287526767192
+0.52,0.0002322331834233109,0.0007322331834233112,0.002767766816576685,0.001767766816576687
+0.56,0.0002304592328733644,0.0007304592328733647,0.002769540767126631,0.001769540767126634
+0.6,0.000229188626046147,0.0007291886260461471,0.002770811373953849,0.001770811373953851
+0.64,0.0002282778610969879,0.0007282778610969879,0.002771722138903008,0.00177172213890301
+0.68,0.000227624676279113,0.0007276246762791131,0.002772375323720883,0.001772375323720885
+0.72,0.000227156043707133,0.0007271560437071331,0.002772843956292862,0.001772843956292865
+0.76,0.0002268197261798769,0.0007268197261798771,0.002773180273820118,0.001773180273820121
+0.8,0.0002265783172812696,0.0007265783172812695,0.002773421682718726,0.001773421682718729
+0.84,0.0002264050094827345,0.0007264050094827344,0.00277359499051726,0.001773594990517264
+0.88,0.0002262805786301308,0.0007262805786301307,0.002773719421369863,0.001773719421369868
+0.92,0.0002261912337637498,0.0007261912337637497,0.002773808766236245,0.001773808766236249
+0.96,0.0002261270782279809,0.0007261270782279808,0.002773872921772014,0.001773872921772017
+1.,0.0002260810085780461,0.0007260810085780458,0.002773918991421949,0.001773918991421952
+1.04,0.0002260479252788478,0.0007260479252788475,0.002773952074721147,0.001773952074721151
+1.08,0.0002260241673805917,0.0007260241673805914,0.002773975832619403,0.001773975832619407
+1.12,0.0002260071058530516,0.0007260071058530513,0.002773992894146943,0.001773992894146947
+1.16,0.0002259948532474378,0.0007259948532474375,0.002774005146752557,0.001774005146752561
+1.2,0.000225986054064158,0.0007259860540641577,0.002774013945935837,0.00177401394593584
+1.24,0.0002259797349005019,0.0007259797349005016,0.002774020265099493,0.001774020265099496
+1.28,0.0002259751967392147,0.0007259751967392144,0.002774024803260779,0.001774024803260784
+1.32,0.0002259719376205396,0.0007259719376205393,0.002774028062379455,0.001774028062379459
+1.36,0.000225969597059507,0.0007259695970595067,0.002774030402940488,0.001774030402940491
+1.4,0.0002259679161649476,0.0007259679161649472,0.002774032083835047,0.00177403208383505
+1.44,0.000225966709011006,0.0007259667090110057,0.002774033290988989,0.001774033290988992
+1.48,0.0002259658420764097,0.0007259658420764094,0.002774034157923585,0.001774034157923589
+1.52,0.0002259652194772247,0.0007259652194772243,0.00277403478052277,0.001774034780522774
+1.56,0.0002259647723514645,0.0007259647723514639,0.00277403522764853,0.001774035227648534
+1.6,0.0002259644512424014,0.0007259644512424009,0.002774035548757593,0.001774035548757597
+1.64,0.0002259642206337479,0.0007259642206337474,0.002774035779366247,0.00177403577936625
+1.68,0.0002259640550185998,0.0007259640550185993,0.002774035944981395,0.001774035944981398
+1.72,0.0002259639360795788,0.0007259639360795782,0.002774036063920416,0.001774036063920419
+1.76,0.0002259638506635629,0.0007259638506635623,0.002774036149336432,0.001774036149336435
+1.8,0.0002259637893201925,0.0007259637893201919,0.002774036210679802,0.001774036210679806
+1.84,0.0002259637452654807,0.0007259637452654801,0.002774036254734514,0.001774036254734518
+1.88,0.000225963713627572,0.0007259637136275714,0.002774036286372423,0.001774036286372426
+1.92,0.000225963690906049,0.0007259636909060484,0.002774036309093945,0.00177403630909395
+1.96,0.000225963674588295,0.0007259636745882943,0.0027740363254117,0.001774036325411703
+2.,0.0002259636628696866,0.000725963662869686,0.002774036337130309,0.001774036337130312
diff --git a/models/sbml-test-suite/cases/semantic/00210/00210-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00210/00210-sbml-l2v4.xml
new file mode 100644
index 0000000..8c90de7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00210/00210-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00210" id="case00210" name="case00210">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00210/00210-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00210/00210-sbml-l3v1.xml
new file mode 100644
index 0000000..571e289
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00210/00210-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00210" id="case00210" name="case00210" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00210/00210-settings.txt b/models/sbml-test-suite/cases/semantic/00210/00210-settings.txt
new file mode 100644
index 0000000..6f0400b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00210/00210-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00211/00211-results.csv b/models/sbml-test-suite/cases/semantic/00211/00211-results.csv
new file mode 100644
index 0000000..2a0af40
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00211/00211-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0.001
+0.02,0.0015,0.001029999999999999
+0.04,0.0015,0.001059999999999999
+0.06,0.0015,0.001089999999999999
+0.08,0.0015,0.001119999999999999
+0.1,0.0015,0.001149999999999999
+0.12,0.0015,0.001179999999999999
+0.14,0.0015,0.001209999999999999
+0.16,0.0015,0.001239999999999999
+0.18,0.0015,0.001269999999999999
+0.2,0.0015,0.001299999999999999
+0.22,0.0015,0.001329999999999999
+0.24,0.0015,0.001359999999999999
+0.26,0.0015,0.001389999999999999
+0.28,0.0015,0.001419999999999999
+0.3,0.0015,0.001449999999999999
+0.32,0.0015,0.001479999999999999
+0.34,0.0015,0.001509999999999999
+0.36,0.0015,0.001539999999999999
+0.38,0.0015,0.001569999999999999
+0.4,0.0015,0.001599999999999999
+0.42,0.0015,0.001629999999999999
+0.44,0.0015,0.001659999999999999
+0.46,0.0015,0.001689999999999999
+0.48,0.0015,0.001719999999999999
+0.5,0.0015,0.001749999999999999
+0.52,0.0015,0.001779999999999999
+0.54,0.0015,0.001809999999999999
+0.56,0.0015,0.001839999999999999
+0.58,0.0015,0.001869999999999999
+0.6,0.0015,0.001899999999999999
+0.62,0.0015,0.001929999999999999
+0.64,0.0015,0.001959999999999999
+0.66,0.0015,0.001989999999999999
+0.68,0.0015,0.002019999999999999
+0.7,0.0015,0.002049999999999999
+0.72,0.0015,0.002079999999999999
+0.74,0.0015,0.002109999999999999
+0.76,0.0015,0.002139999999999999
+0.78,0.0015,0.002169999999999999
+0.8,0.0015,0.002199999999999999
+0.82,0.0015,0.002229999999999999
+0.84,0.0015,0.002259999999999999
+0.86,0.0015,0.002289999999999999
+0.88,0.0015,0.002319999999999999
+0.9,0.0015,0.002349999999999999
+0.92,0.0015,0.002379999999999999
+0.94,0.0015,0.002409999999999999
+0.96,0.0015,0.002439999999999999
+0.98,0.0015,0.002469999999999999
+1.,0.0015,0.002499999999999999
diff --git a/models/sbml-test-suite/cases/semantic/00211/00211-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00211/00211-sbml-l2v4.xml
new file mode 100644
index 0000000..a4e3d0d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00211/00211-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00211" id="case00211" name="case00211">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00211/00211-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00211/00211-sbml-l3v1.xml
new file mode 100644
index 0000000..01269d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00211/00211-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00211" id="case00211" name="case00211" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00211/00211-settings.txt b/models/sbml-test-suite/cases/semantic/00211/00211-settings.txt
new file mode 100644
index 0000000..1405f30
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00211/00211-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00212/00212-results.csv b/models/sbml-test-suite/cases/semantic/00212/00212-results.csv
new file mode 100644
index 0000000..e637acd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00212/00212-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0.001
+0.015,0.001477667909403328,0.001
+0.03,0.001455668300317663,0.001
+0.045,0.001433996222720432,0.001
+0.06,0.001412646800363233,0.001
+0.075,0.001391615229462862,0.001
+0.09,0.001370896777895902,0.001
+0.105,0.001350486783690992,0.001
+0.12,0.001330380655039935,0.001
+0.135,0.001310573867133845,0.001
+0.15,0.001291061964125668,0.001
+0.165,0.001271840555927475,0.001
+0.18,0.001252905317096163,0.001
+0.195,0.001234251986731139,0.001
+0.21,0.001215876368465965,0.001
+0.225,0.001197774327920974,0.001
+0.24,0.001179941791590034,0.001
+0.255,0.001162374743214537,0.001
+0.27,0.001145069240708564,0.001
+0.285,0.001128021378666029,0.001
+0.3,0.0011112273290204,0.001
+0.315,0.00109468330984874,0.001
+0.33,0.001078385597134667,0.001
+0.345,0.001062330529780722,0.001
+0.36,0.001046514485629813,0.001
+0.375,0.001030933918173538,0.001
+0.39,0.001015585308470078,0.001
+0.405,0.001000465215640008,0.001
+0.42,0.000985570227220512,0.001
+0.435,0.0009708969989212393,0.001
+0.45,0.000956442226022027,0.001
+0.465,0.0009422026551891914,0.001
+0.48,0.0009281750873040805,0.001
+0.495,0.0009143563579176401,0.001
+0.51,0.0009007433682132381,0.001
+0.525,0.0008873330350040835,0.001
+0.54,0.0008741223611929209,0.001
+0.555,0.0008611083868682304,0.001
+0.57,0.0008482881546539982,0.001
+0.585,0.0008356587767688883,0.001
+0.6,0.0008232174419478293,0.001
+0.615,0.000810961342841668,0.001
+0.63,0.0007988876918602923,0.001
+0.645,0.000786993797320449,0.001
+0.66,0.0007752769965608102,0.001
+0.675,0.0007637346295888963,0.001
+0.69,0.0007523640983535002,0.001
+0.705,0.000741162860554108,0.001
+0.72,0.0007301283809626106,0.001
+0.735,0.0007192581840696595,0.001
+0.75,0.0007085498291108063,0.001
diff --git a/models/sbml-test-suite/cases/semantic/00212/00212-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00212/00212-sbml-l2v4.xml
new file mode 100644
index 0000000..428fc22
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00212/00212-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00212" id="case00212" name="case00212">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00212/00212-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00212/00212-sbml-l3v1.xml
new file mode 100644
index 0000000..33a2054
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00212/00212-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00212" id="case00212" name="case00212" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00212/00212-settings.txt b/models/sbml-test-suite/cases/semantic/00212/00212-settings.txt
new file mode 100644
index 0000000..0e09d41
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00212/00212-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.75
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00213/00213-results.csv b/models/sbml-test-suite/cases/semantic/00213/00213-results.csv
new file mode 100644
index 0000000..83b673c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00213/00213-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0.001
+0.02,0.0015,0.001
+0.04,0.0015,0.001
+0.06,0.0015,0.001
+0.08,0.0015,0.001
+0.1,0.0015,0.001
+0.12,0.0015,0.001
+0.14,0.0015,0.001
+0.16,0.0015,0.001
+0.18,0.0015,0.001
+0.2,0.0015,0.001
+0.22,0.0015,0.001
+0.24,0.0015,0.001
+0.26,0.0015,0.001
+0.28,0.0015,0.001
+0.3,0.0015,0.001
+0.32,0.0015,0.001
+0.34,0.0015,0.001
+0.36,0.0015,0.001
+0.38,0.0015,0.001
+0.4,0.0015,0.001
+0.42,0.0015,0.001
+0.44,0.0015,0.001
+0.46,0.0015,0.001
+0.48,0.0015,0.001
+0.5,0.0015,0.001
+0.52,0.0015,0.001
+0.54,0.0015,0.001
+0.56,0.0015,0.001
+0.58,0.0015,0.001
+0.6,0.0015,0.001
+0.62,0.0015,0.001
+0.64,0.0015,0.001
+0.66,0.0015,0.001
+0.68,0.0015,0.001
+0.7,0.0015,0.001
+0.72,0.0015,0.001
+0.74,0.0015,0.001
+0.76,0.0015,0.001
+0.78,0.0015,0.001
+0.8,0.0015,0.001
+0.82,0.0015,0.001
+0.84,0.0015,0.001
+0.86,0.0015,0.001
+0.88,0.0015,0.001
+0.9,0.0015,0.001
+0.92,0.0015,0.001
+0.94,0.0015,0.001
+0.96,0.0015,0.001
+0.98,0.0015,0.001
+1.,0.0015,0.001
diff --git a/models/sbml-test-suite/cases/semantic/00213/00213-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00213/00213-sbml-l2v4.xml
new file mode 100644
index 0000000..739c46b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00213/00213-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00213" id="case00213" name="case00213">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00213/00213-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00213/00213-sbml-l3v1.xml
new file mode 100644
index 0000000..5c4161e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00213/00213-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00213" id="case00213" name="case00213" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00213/00213-settings.txt b/models/sbml-test-suite/cases/semantic/00213/00213-settings.txt
new file mode 100644
index 0000000..1405f30
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00213/00213-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00214/00214-results.csv b/models/sbml-test-suite/cases/semantic/00214/00214-results.csv
new file mode 100644
index 0000000..9408c83
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00214/00214-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.4,0.001,0.002094577655559811,0.0009054223444401897
+0.8,0.001,0.002180129387845922,0.000819870612154079
+1.2,0.001,0.002257516577996264,0.0007424834220037369
+1.6,0.001,0.002327518398584009,0.0006724816014159918
+2.,0.001,0.002390839665924874,0.0006091603340751259
+2.4,0.001,0.002448117938164426,0.0005518820618355744
+2.8,0.001,0.002499929912166336,0.0005000700878336648
+3.2,0.001,0.00254679726093964,0.0004532027390603605
+3.6,0.001,0.002589191869942917,0.0004108081300570829
+4.,0.001,0.002627540609647048,0.0003724593903529526
+4.4,0.001,0.002662229538306571,0.0003377704616934315
+4.8,0.001,0.002693607985184953,0.0003063920148150492
+5.2,0.001,0.002721991861487238,0.0002780081385127643
+5.6,0.001,0.002747666951403764,0.0002523330485962375
+6.,0.001,0.002770891765747916,0.0002291082342520859
+6.4,0.001,0.002791900141172316,0.0002080998588276858
+6.8,0.001,0.002810903604677335,0.0001890963953226667
+7.2,0.001,0.002828093494301684,0.000171906505698318
+7.6,0.001,0.002843642883521846,0.0001563571164781552
+8.,0.001,0.002857708328238436,0.0001422916717615651
+8.4,0.001,0.00287043145231985,0.0001295685476801524
+8.8,0.001,0.002881940366866193,0.000118059633133809
+9.2,0.001,0.002892350925758969,0.0001076490742410334
+9.6,0.001,0.002901767973425761,0.00009823202657424175
+10.,0.001,0.002910286311629586,0.00008971368837041577
+10.4,0.001,0.002917991706240408,0.00008200829375959442
+10.8,0.001,0.002924961752621254,0.00007503824737874811
+11.2,0.001,0.002931266612650864,0.00006873338734913788
+11.6,0.001,0.002936969777940973,0.00006303022205902936
+12.,0.001,0.002942128670124603,0.00005787132987539905
+12.4,0.001,0.002946795225093182,0.00005320477490681989
+12.8,0.001,0.00295101642934911,0.00004898357065089147
+13.2,0.001,0.002954834789363778,0.00004516521063622414
+13.6,0.001,0.002958288751202674,0.00004171124879732788
+14.,0.001,0.002961413086301333,0.00003858691369866873
+14.4,0.001,0.002964239251256676,0.00003576074874332643
+14.8,0.001,0.002966795703787279,0.00003320429621272311
+15.2,0.001,0.002969108186458127,0.00003089181354187562
+15.6,0.001,0.002971199979896802,0.00002880002010320081
+16.,0.001,0.002973092143608051,0.00002690785639195143
+16.4,0.001,0.002974803729631298,0.0000251962703687047
+16.8,0.001,0.002976351973306366,0.0000236480266936372
+17.2,0.001,0.002977752462974479,0.00002224753702552361
+17.6,0.001,0.002979019297621866,0.00002098070237813671
+18.,0.001,0.002980165232255823,0.00001983476774418005
+18.4,0.001,0.002981201805862559,0.00001879819413744371
+18.8,0.001,0.002982139456175583,0.00001786054382442007
+19.2,0.001,0.002982987622714546,0.00001701237728545743
+19.6,0.001,0.002983754844516804,0.00001624515548319957
+20.,0.001,0.00298444884721336,0.0000155511527866431
diff --git a/models/sbml-test-suite/cases/semantic/00214/00214-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00214/00214-sbml-l2v4.xml
new file mode 100644
index 0000000..d5ce8b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00214/00214-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00214" id="case00214" name="case00214">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00214/00214-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00214/00214-sbml-l3v1.xml
new file mode 100644
index 0000000..2006a64
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00214/00214-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00214" id="case00214" name="case00214" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00214/00214-settings.txt b/models/sbml-test-suite/cases/semantic/00214/00214-settings.txt
new file mode 100644
index 0000000..1651ee1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00214/00214-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00215/00215-results.csv b/models/sbml-test-suite/cases/semantic/00215/00215-results.csv
new file mode 100644
index 0000000..4258a12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00215/00215-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.2,0.01046893308927767,0.02046893308927767,0.01
+0.4,0.01093569510236578,0.02093569510236578,0.01
+0.6,0.01140023103956334,0.02140023103956333,0.01
+0.8,0.01186248709426236,0.02186248709426235,0.01
+1.,0.01232241066542196,0.02232241066542196,0.01
+1.2,0.01277995040493491,0.0227799504049349,0.01
+1.4,0.01323505618325496,0.02323505618325496,0.01
+1.6,0.01368767915146023,0.02368767915146023,0.01
+1.8,0.0141377717345955,0.02413777173459549,0.01
+2.,0.01458528764725412,0.02458528764725411,0.01
+2.2,0.01503018191072401,0.025030181910724,0.01
+2.4,0.0154724108556069,0.02547241085560689,0.01
+2.6,0.01591193212199409,0.02591193212199408,0.01
+2.8,0.01634870471949837,0.02634870471949836,0.01
+3.,0.01678268897436599,0.02678268897436598,0.01
+3.2,0.01721384650388519,0.02721384650388519,0.01
+3.4,0.01764214036146005,0.02764214036146004,0.01
+3.6,0.01806753490685306,0.02806753490685305,0.01
+3.8,0.01848999580633,0.02848999580632999,0.01
+4.,0.01890949016805414,0.02890949016805413,0.01
+4.2,0.01932598640122886,0.02932598640122885,0.01
+4.4,0.01973945422746058,0.02973945422746058,0.01
+4.6,0.02014986479773742,0.03014986479773741,0.01
+4.8,0.02055719056446687,0.03055719056446687,0.01
+5.,0.02096140527586599,0.03096140527586598,0.01
+5.2,0.02136248413275892,0.03136248413275891,0.01
+5.4,0.02176040347361372,0.03176040347361371,0.01
+5.6,0.02215514117326269,0.03215514117326268,0.01
+5.8,0.02254667621684689,0.03254667621684687,0.01
+6.,0.02293498902025896,0.03293498902025895,0.01
+6.2,0.02332006124628941,0.0333200612462894,0.01
+6.4,0.02370187577422837,0.03370187577422836,0.01
+6.6,0.02408041689122938,0.03408041689122937,0.01
+6.8,0.02445566993912569,0.03445566993912567,0.01
+7.,0.02482762170004582,0.0348276217000458,0.01
+7.2,0.02519626001641472,0.0351962600164147,0.01
+7.4,0.02556157398606333,0.03556157398606332,0.01
+7.6,0.02592355395617208,0.03592355395617206,0.01
+7.8,0.02628219153769956,0.03628219153769955,0.01
+8.,0.02663747903154339,0.03663747903154338,0.01
+8.2,0.02698941059800861,0.03698941059800859,0.01
+8.4,0.02733798084698775,0.03733798084698774,0.01
+8.6,0.02768318588748731,0.03768318588748729,0.01
+8.8,0.02802502291552573,0.03802502291552571,0.01
+9.,0.02836348979247532,0.0383634897924753,0.01
+9.2,0.02869858606312565,0.03869858606312563,0.01
+9.4,0.02903031169866844,0.03903031169866843,0.01
+9.6,0.02935866802140785,0.03935866802140784,0.01
+9.8,0.02968365717281017,0.03968365717281016,0.01
+10.,0.03000528241635089,0.04000528241635088,0.01
diff --git a/models/sbml-test-suite/cases/semantic/00215/00215-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00215/00215-sbml-l2v4.xml
new file mode 100644
index 0000000..8d696eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00215/00215-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00215" id="case00215" name="case00215">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00215/00215-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00215/00215-sbml-l3v1.xml
new file mode 100644
index 0000000..c73a61a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00215/00215-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00215" id="case00215" name="case00215" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00215/00215-settings.txt b/models/sbml-test-suite/cases/semantic/00215/00215-settings.txt
new file mode 100644
index 0000000..406844f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00215/00215-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00216/00216-results.csv b/models/sbml-test-suite/cases/semantic/00216/00216-results.csv
new file mode 100644
index 0000000..f7c9cdd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00216/00216-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.2,0.01,0.02,0.009541556590173217
+0.4,0.01,0.02,0.00910547172928321
+0.6,0.01,0.02,0.008690654977564773
+0.8,0.01,0.02,0.008296069076738271
+1.,0.01,0.02,0.007920727342562066
+1.2,0.01,0.02,0.0075636912669305
+1.4,0.01,0.02,0.007224068023757428
+1.6,0.01,0.02,0.006901008429310504
+1.8,0.01,0.02,0.006593704605565585
+2.,0.01,0.02,0.006301388198925962
+2.2,0.01,0.02,0.006023328211887724
+2.4,0.01,0.02,0.005758829348819877
+2.6,0.01,0.02,0.005507230240898257
+2.8,0.01,0.02,0.005267901770022065
+3.,0.01,0.02,0.005040245496303466
+3.2,0.01,0.02,0.004823692162607824
+3.4,0.01,0.02,0.004617700271936794
+3.6,0.01,0.02,0.004421754734111296
+3.8,0.01,0.02,0.00423536557838383
+4.,0.01,0.02,0.004058066703807031
+4.2,0.01,0.02,0.003889414592265864
+4.4,0.01,0.02,0.003728987916938859
+4.6,0.01,0.02,0.00357638561947101
+4.8,0.01,0.02,0.003431225287171168
+5.,0.01,0.02,0.003293144982626643
+5.2,0.01,0.02,0.003161798739696295
+5.4,0.01,0.02,0.003036858192931405
+5.6,0.01,0.02,0.002918011454638277
+5.8,0.01,0.02,0.002804960508575065
+6.,0.01,0.02,0.002697423356647124
+6.2,0.01,0.02,0.002595130923023148
+6.4,0.01,0.02,0.002497827058265909
+6.6,0.01,0.02,0.002405269098618285
+6.8,0.01,0.02,0.002317225018528585
+7.,0.01,0.02,0.002233474911328262
+7.2,0.01,0.02,0.002153809548992913
+7.4,0.01,0.02,0.002078029212978896
+7.6,0.01,0.02,0.002005944945067506
+7.8,0.01,0.02,0.001937376231325784
+8.,0.01,0.02,0.001872151522726595
+8.2,0.01,0.02,0.001810108081742499
+8.4,0.01,0.02,0.001751090334373443
+8.6,0.01,0.02,0.001694950992052263
+8.8,0.01,0.02,0.001641549682142602
+9.,0.01,0.02,0.001590752603081499
+9.2,0.01,0.02,0.001542433096777216
+9.4,0.01,0.02,0.001496470081158465
+9.6,0.01,0.02,0.001452748717091413
+9.8,0.01,0.02,0.001411159689973437
+10.,0.01,0.02,0.001371598987064654
diff --git a/models/sbml-test-suite/cases/semantic/00216/00216-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00216/00216-sbml-l2v4.xml
new file mode 100644
index 0000000..ee7b129
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00216/00216-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00216" id="case00216" name="case00216">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00216/00216-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00216/00216-sbml-l3v1.xml
new file mode 100644
index 0000000..bbc91d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00216/00216-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00216" id="case00216" name="case00216" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00216/00216-settings.txt b/models/sbml-test-suite/cases/semantic/00216/00216-settings.txt
new file mode 100644
index 0000000..406844f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00216/00216-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00217/00217-results.csv b/models/sbml-test-suite/cases/semantic/00217/00217-results.csv
new file mode 100644
index 0000000..371f88c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00217/00217-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.1,0.01,0.02023491189703647,0.01
+0.2,0.01,0.02046964767619373,0.01
+0.3,0.01,0.02070420746951898,0.01
+0.4,0.01,0.02093859140895273,0.01
+0.5,0.01,0.02117279962633753,0.01
+0.6,0.01,0.02140683225341128,0.01
+0.7,0.01,0.02164068942182114,0.01
+0.8,0.01,0.0218743712631114,0.01
+0.9,0.01,0.02210787790872551,0.01
+1.,0.01,0.0223412094900872,0.01
+1.1,0.01,0.02257436613837505,0.01
+1.2,0.01,0.02280734798464986,0.01
+1.3,0.01,0.02304015515997243,0.01
+1.4,0.01,0.0232727877954035,0.01
+1.5,0.01,0.02350524602189854,0.01
+1.6,0.01,0.02373752997008987,0.01
+1.7,0.01,0.02396963977054805,0.01
+1.8,0.01,0.02420157555384362,0.01
+1.9,0.01,0.02443333745054706,0.01
+2.,0.01,0.02466492559112362,0.01
+2.1,0.01,0.02489634010571641,0.01
+2.2,0.01,0.02512758112440714,0.01
+2.3,0.01,0.02535864877727753,0.01
+2.4,0.01,0.02558954319440921,0.01
+2.5,0.01,0.02582026450577922,0.01
+2.6,0.01,0.02605081284104364,0.01
+2.7,0.01,0.02628118832979728,0.01
+2.8,0.01,0.02651139110163493,0.01
+2.9,0.01,0.02674142128615132,0.01
+3.,0.01,0.02697127901283698,0.01
+3.1,0.01,0.02720096441086275,0.01
+3.2,0.01,0.02743047760933833,0.01
+3.3,0.01,0.02765981873737346,0.01
+3.4,0.01,0.02788898792407779,0.01
+3.5,0.01,0.02811798529845718,0.01
+3.6,0.01,0.02834681098919897,0.01
+3.7,0.01,0.02857546512492963,0.01
+3.8,0.01,0.02880394783427563,0.01
+3.9,0.01,0.02903225924586337,0.01
+4.,0.01,0.02926039948821584,0.01
+4.1,0.01,0.02948836868953871,0.01
+4.2,0.01,0.02971616697797701,0.01
+4.3,0.01,0.02994379448167574,0.01
+4.4,0.01,0.03017125132877941,0.01
+4.5,0.01,0.03039853764727715,0.01
+4.6,0.01,0.03062565356492436,0.01
+4.7,0.01,0.03085259920948005,0.01
+4.8,0.01,0.03107937470864796,0.01
+4.9,0.01,0.03130598018993814,0.01
+5.,0.01,0.0315324157808183,0.01
diff --git a/models/sbml-test-suite/cases/semantic/00217/00217-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00217/00217-sbml-l2v4.xml
new file mode 100644
index 0000000..5b394db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00217/00217-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00217" id="case00217" name="case00217">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00217/00217-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00217/00217-sbml-l3v1.xml
new file mode 100644
index 0000000..078e2d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00217/00217-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00217" id="case00217" name="case00217" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00217/00217-settings.txt b/models/sbml-test-suite/cases/semantic/00217/00217-settings.txt
new file mode 100644
index 0000000..878a0cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00217/00217-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00218/00218-results.csv b/models/sbml-test-suite/cases/semantic/00218/00218-results.csv
new file mode 100644
index 0000000..d9b9ba8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00218/00218-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.01,0.02,0.01
+0.1,0.01,0.009767891492324673,0.02023210850767532,0.01023210850767532
+0.2,0.01,0.009568340160229213,0.02043165983977078,0.01043165983977078
+0.3,0.01,0.009396951014129522,0.02060304898587048,0.01060304898587047
+0.4,0.01,0.009249876154188587,0.02075012384581142,0.01075012384581141
+0.5,0.01,0.009123759349974447,0.02087624065002556,0.01087624065002555
+0.6,0.01,0.009015682513117535,0.02098431748688247,0.01098431748688246
+0.7,0.01,0.008923115425834673,0.02107688457416533,0.01107688457416532
+0.8,0.01,0.008843869158307822,0.02115613084169218,0.01115613084169217
+0.9,0.01,0.008776053761097945,0.02122394623890206,0.01122394623890205
+1.,0.01,0.008718040163995348,0.02128195983600466,0.01128195983600465
+1.1,0.01,0.008668426074490037,0.02133157392550997,0.01133157392550996
+1.2,0.01,0.008626005939478454,0.02137399406052155,0.01137399406052154
+1.3,0.01,0.008589744386590067,0.02141025561340994,0.01141025561340993
+1.4,0.01,0.008558752939687669,0.02144124706031233,0.01144124706031233
+1.5,0.01,0.00853226976986365,0.02146773023013635,0.01146773023013635
+1.6,0.01,0.008509642119302636,0.02149035788069736,0.01149035788069736
+1.7,0.01,0.008490310857371617,0.02150968914262839,0.01150968914262838
+1.8,0.01,0.008473797291802722,0.02152620270819728,0.01152620270819727
+1.9,0.01,0.00845969203794065,0.02154030796205935,0.01154030796205935
+2.,0.01,0.008447644670763254,0.02155235532923675,0.01155235532923674
+2.1,0.01,0.008437355524010516,0.02156264447598949,0.01156264447598948
+2.2,0.01,0.008428568470638261,0.02157143152936174,0.01157143152936173
+2.3,0.01,0.008421064587762027,0.02157893541223798,0.01157893541223797
+2.4,0.01,0.008414656736082824,0.02158534326391718,0.01158534326391717
+2.5,0.01,0.00840918497958186,0.02159081502041814,0.01159081502041814
+2.6,0.01,0.008404512685151466,0.02159548731484853,0.01159548731484853
+2.7,0.01,0.008400523160425527,0.02159947683957447,0.01159947683957447
+2.8,0.01,0.008397116706389902,0.02160288329361009,0.01160288329361009
+2.9,0.01,0.008394208149582468,0.02160579185041752,0.01160579185041753
+3.,0.01,0.008391724739544815,0.02160827526045517,0.01160827526045518
+3.1,0.01,0.008389604365253525,0.02161039563474647,0.01161039563474647
+3.2,0.01,0.008387793983203672,0.02161220601679632,0.01161220601679632
+3.3,0.01,0.008386248286744738,0.02161375171325526,0.01161375171325526
+3.4,0.01,0.008384928581670721,0.02161507141832927,0.01161507141832927
+3.5,0.01,0.008383801832513212,0.02161619816748678,0.01161619816748678
+3.6,0.01,0.008382839837487159,0.02161716016251284,0.01161716016251284
+3.7,0.01,0.008382018511317484,0.0216179814886825,0.01161798148868251
+3.8,0.01,0.008381317284611734,0.02161868271538825,0.01161868271538826
+3.9,0.01,0.008380718597886232,0.02161928140211376,0.01161928140211376
+4.,0.01,0.008380207457497077,0.02161979254250291,0.01161979254250292
+4.1,0.01,0.00837977106316538,0.02162022893683461,0.01162022893683462
+4.2,0.01,0.008379398485760958,0.02162060151423903,0.01162060151423904
+4.3,0.01,0.008379080393727424,0.02162091960627256,0.01162091960627257
+4.4,0.01,0.008378808819681265,0.02162119118031873,0.01162119118031873
+4.5,0.01,0.008378576961078427,0.02162142303892156,0.01162142303892157
+4.6,0.01,0.008378379009651959,0.02162162099034803,0.01162162099034804
+4.7,0.01,0.008378210007292649,0.02162178999270734,0.01162178999270735
+4.8,0.01,0.008378065720349613,0.02162193427965038,0.01162193427965038
+4.9,0.01,0.00837794253447845,0.02162205746552154,0.01162205746552155
+5.,0.01,0.008377837363729118,0.02162216263627087,0.01162216263627088
diff --git a/models/sbml-test-suite/cases/semantic/00218/00218-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00218/00218-sbml-l2v4.xml
new file mode 100644
index 0000000..417412e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00218/00218-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00218" id="case00218" name="case00218">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00218/00218-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00218/00218-sbml-l3v1.xml
new file mode 100644
index 0000000..7e79600
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00218/00218-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00218" id="case00218" name="case00218" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00218/00218-settings.txt b/models/sbml-test-suite/cases/semantic/00218/00218-settings.txt
new file mode 100644
index 0000000..9888299
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00218/00218-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00219/00219-results.csv b/models/sbml-test-suite/cases/semantic/00219/00219-results.csv
new file mode 100644
index 0000000..7be0943
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00219/00219-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0001,0.0002,0.0001
+0.1,0.00009770521428537553,0.00009770521428537553,0.0002022947857146244,0.0001
+0.2,0.00009577237262089544,0.00009577237262089544,0.0002042276273791045,0.0001
+0.3,0.00009413963552308763,0.00009413963552308763,0.0002058603644769123,0.0001
+0.4,0.00009275700766987026,0.00009275700766987026,0.0002072429923301297,0.0001
+0.5,0.00009158373374902328,0.00009158373374902328,0.0002084162662509767,0.0001
+0.6,0.00009058635156605437,0.00009058635156605437,0.0002094136484339456,0.0001
+0.7,0.00008973721749127001,0.00008973721749127001,0.0002102627825087299,0.0001
+0.8,0.0000890133702346149,0.0000890133702346149,0.000210986629765385,0.0001
+0.9,0.00008839565134436068,0.00008839565134436068,0.0002116043486556392,0.0001
+1.,0.0000878680093383464,0.0000878680093383464,0.0002121319906616535,0.0001
+1.1,0.00008741695113584301,0.00008741695113584301,0.0002125830488641569,0.0001
+1.2,0.00008703109882647151,0.00008703109882647151,0.0002129689011735284,0.0001
+1.3,0.00008670083422593989,0.00008670083422593989,0.00021329916577406,0.0001
+1.4,0.00008641800845440885,0.00008641800845440885,0.000213581991545591,0.0001
+1.5,0.00008617570407310818,0.00008617570407310818,0.0002138242959268917,0.0001
+1.6,0.00008596804008090666,0.00008596804008090666,0.0002140319599190933,0.0001
+1.7,0.00008579000840850671,0.00008579000840850671,0.0002142099915914933,0.0001
+1.8,0.00008563733943180702,0.00008563733943180702,0.0002143626605681929,0.0001
+1.9,0.00008550639028285116,0.00008550639028285116,0.0002144936097171488,0.0001
+2.,0.00008539404864868294,0.00008539404864868294,0.000214605951351317,0.0001
+2.1,0.00008529765389876515,0.00008529765389876515,0.0002147023461012348,0.0001
+2.2,0.00008521493080433139,0.00008521493080433139,0.0002147850691956685,0.0001
+2.3,0.00008514393106995085,0.00008514393106995085,0.0002148560689300491,0.0001
+2.4,0.00008508298705353524,0.00008508298705353524,0.0002149170129464647,0.0001
+2.5,0.00008503066958347474,0.00008503066958347474,0.0002149693304165252,0.0001
+2.6,0.00008498575412770825,0.00008498575412770825,0.0002150142458722917,0.0001
+2.7,0.00008494719081259308,0.00008494719081259308,0.0002150528091874068,0.0001
+2.8,0.00008491407932162371,0.00008491407932162371,0.0002150859206783762,0.0001
+2.9,0.00008488564757779455,0.00008488564757779455,0.0002151143524222054,0.0001
+3.,0.00008486123302829292,0.00008486123302829292,0.000215138766971707,0.0001
+3.1,0.00008484026741503914,0.00008484026741503914,0.0002151597325849608,0.0001
+3.2,0.00008482226283507854,0.00008482226283507854,0.0002151777371649214,0.0001
+3.3,0.00008480680076561753,0.00008480680076561753,0.0002151931992343824,0.0001
+3.4,0.00008479352185620953,0.00008479352185620953,0.0002152064781437904,0.0001
+3.5,0.00008478211755210235,0.00008478211755210235,0.0002152178824478976,0.0001
+3.6,0.00008477232311721555,0.00008477232311721555,0.0002152276768827843,0.0001
+3.7,0.00008476391115967918,0.00008476391115967918,0.0002152360888403207,0.0001
+3.8,0.00008475668639619891,0.00008475668639619891,0.000215243313603801,0.0001
+3.9,0.00008475048127372767,0.00008475048127372767,0.0002152495187262722,0.0001
+4.,0.00008474515182177633,0.00008474515182177633,0.0002152548481782236,0.0001
+4.1,0.0000847405744284386,0.0000847405744284386,0.0002152594255715613,0.0001
+4.2,0.00008473664294024749,0.00008473664294024749,0.0002152633570597524,0.0001
+4.3,0.00008473326619409521,0.00008473326619409521,0.0002152667338059047,0.0001
+4.4,0.00008473036589868936,0.00008473036589868936,0.0002152696341013106,0.0001
+4.5,0.00008472787481584676,0.00008472787481584676,0.0002152721251841532,0.0001
+4.6,0.00008472573519910019,0.00008472573519910019,0.0002152742648008997,0.0001
+4.7,0.00008472389745528288,0.00008472389745528288,0.0002152761025447171,0.0001
+4.8,0.00008472231899044903,0.00008472231899044903,0.0002152776810095509,0.0001
+4.9,0.00008472096322121706,0.00008472096322121706,0.0002152790367787829,0.0001
+5.,0.00008471979872620498,0.00008471979872620498,0.000215280201273795,0.0001
diff --git a/models/sbml-test-suite/cases/semantic/00219/00219-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00219/00219-sbml-l2v4.xml
new file mode 100644
index 0000000..9b0814e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00219/00219-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00219" id="case00219" name="case00219">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00219/00219-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00219/00219-sbml-l3v1.xml
new file mode 100644
index 0000000..5d0cc08
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00219/00219-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00219" id="case00219" name="case00219" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00219/00219-settings.txt b/models/sbml-test-suite/cases/semantic/00219/00219-settings.txt
new file mode 100644
index 0000000..428995a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00219/00219-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00220/00220-results.csv b/models/sbml-test-suite/cases/semantic/00220/00220-results.csv
new file mode 100644
index 0000000..22a7a4f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00220/00220-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0001,0.0002,0.0001
+0.16,0.0001,0.0001,0.0002037674264737581,0.0001037674264737582
+0.32,0.0001,0.0001,0.0002070989719480419,0.0001070989719480419
+0.48,0.0001,0.0001,0.0002100372084177267,0.0001100372084177267
+0.64,0.0001,0.0001,0.0002126224703640009,0.0001126224703640009
+0.8,0.0001,0.0001,0.0002148924500652831,0.0001148924500652831
+0.96,0.0001,0.0001,0.0002168819720734132,0.0001168819720734133
+1.12,0.0001,0.0001,0.0002186229060701823,0.0001186229060701823
+1.28,0.0001,0.0001,0.0002201441873611689,0.0001201441873611689
+1.44,0.0001,0.0001,0.0002214719081874261,0.0001214719081874261
+1.6,0.0001,0.0001,0.0002226294608047791,0.0001226294608047791
+1.76,0.0001,0.0001,0.0002236377193744154,0.0001236377193744155
+1.92,0.0001,0.0001,0.0002245152288358044,0.0001245152288358045
+2.08,0.0001,0.0001,0.000225278405391124,0.000125278405391124
+2.24,0.0001,0.0001,0.0002259417413985316,0.0001259417413985317
+2.4,0.0001,0.0001,0.0002265179898623018,0.0001265179898623018
+2.56,0.0001,0.0001,0.0002270183536050983,0.0001270183536050984
+2.72,0.0001,0.0001,0.0002274526501429709,0.0001274526501429709
+2.88,0.0001,0.0001,0.0002278294732862223,0.0001278294732862223
+3.04,0.0001,0.0001,0.0002281563280306118,0.0001281563280306118
+3.2,0.0001,0.0001,0.0002284397677527625,0.0001284397677527625
+3.36,0.0001,0.0001,0.0002286855020318699,0.0001286855020318699
+3.52,0.0001,0.0001,0.0002288985052296775,0.0001288985052296775
+3.68,0.0001,0.0001,0.0002290831055631077,0.0001290831055631077
+3.84,0.0001,0.0001,0.0002292430661840927,0.0001292430661840928
+4.,0.0001,0.0001,0.0002293816588552664,0.0001293816588552664
+4.16,0.0001,0.0001,0.000229501723821998,0.000129501723821998
+4.32,0.0001,0.0001,0.000229605728594744,0.000129605728594744
+4.48,0.0001,0.0001,0.0002296958134420518,0.0001296958134420518
+4.64,0.0001,0.0001,0.0002297738360698052,0.0001297738360698053
+4.8,0.0001,0.0001,0.0002298414070693073,0.0001298414070693074
+4.96,0.0001,0.0001,0.000229899923484448,0.000129899923484448
+5.12,0.0001,0.0001,0.0002299505962617593,0.0001299505962617593
+5.28,0.0001,0.0001,0.0002299944749931296,0.0001299944749931297
+5.44,0.0001,0.0001,0.0002300324692630569,0.0001300324692630569
+5.6,0.0001,0.0001,0.0002300653672119375,0.0001300653672119376
+5.76,0.0001,0.0001,0.0002300938516725757,0.0001300938516725757
+5.92,0.0001,0.0001,0.0002301185141778963,0.0001301185141778963
+6.08,0.0001,0.0001,0.0002301398671208826,0.0001301398671208826
+6.24,0.0001,0.0001,0.0002301583543068825,0.0001301583543068825
+6.4,0.0001,0.0001,0.0002301743601078386,0.0001301743601078386
+6.56,0.0001,0.0001,0.0002301882174014239,0.0001301882174014239
+6.72,0.0001,0.0001,0.0002302002144546907,0.0001302002144546907
+6.88,0.0001,0.0001,0.0002302106008912956,0.0001302106008912956
+7.04,0.0001,0.0001,0.0002302195928633588,0.0001302195928633589
+7.2,0.0001,0.0001,0.000230227377533264,0.0001302273775332641
+7.36,0.0001,0.0001,0.0002302341169569379,0.000130234116956938
+7.52,0.0001,0.0001,0.0002302399514481418,0.0001302399514481418
+7.68,0.0001,0.0001,0.0002302450024924712,0.0001302450024924712
+7.84,0.0001,0.0001,0.0002302493752531182,0.0001302493752531183
+8.,0.0001,0.0001,0.0002302531608368045,0.0001302531608368045
diff --git a/models/sbml-test-suite/cases/semantic/00220/00220-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00220/00220-sbml-l2v4.xml
new file mode 100644
index 0000000..1db0077
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00220/00220-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00220" id="case00220" name="case00220">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00220/00220-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00220/00220-sbml-l3v1.xml
new file mode 100644
index 0000000..5dc1e5f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00220/00220-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00220" id="case00220" name="case00220" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00220/00220-settings.txt b/models/sbml-test-suite/cases/semantic/00220/00220-settings.txt
new file mode 100644
index 0000000..c50ce93
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00220/00220-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00221/00221-results.csv b/models/sbml-test-suite/cases/semantic/00221/00221-results.csv
new file mode 100644
index 0000000..89095f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00221/00221-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0001,0.0002,0.0001
+0.16,0.00009637461505082978,0.0001,0.0002,0.0001036253849491702
+0.32,0.00009340640085625914,0.0001,0.0002,0.0001065935991437408
+0.48,0.00009097623271877828,0.0001,0.0002,0.0001090237672812217
+0.64,0.00008898657900496429,0.0001,0.0002,0.0001110134209950357
+0.8,0.00008735758875865551,0.0001,0.0002,0.0001126424112413445
+0.96,0.00008602388423618707,0.0001,0.0002,0.0001139761157638129
+1.12,0.0000849319383996923,0.0001,0.0002,0.0001150680616003077
+1.28,0.00008403792953473424,0.0001,0.0002,0.0001159620704652657
+1.44,0.00008330597702594909,0.0001,0.0002,0.0001166940229740509
+1.6,0.00008270670503098673,0.0001,0.0002,0.0001172932949690132
+1.76,0.00008221606264437226,0.0001,0.0002,0.0001177839373556277
+1.92,0.0000818143585958608,0.0001,0.0002,0.0001181856414041392
+2.08,0.00008148547117956273,0.0001,0.0002,0.0001185145288204372
+2.24,0.00008121620093753554,0.0001,0.0002,0.0001187837990624644
+2.4,0.0000809957411094962,0.0001,0.0002,0.0001190042588905038
+2.56,0.0000808152438684597,0.0001,0.0002,0.0001191847561315403
+2.72,0.00008066746522644745,0.0001,0.0002,0.0001193325347735525
+2.88,0.0000805464743075213,0.0001,0.0002,0.0001194535256924787
+3.04,0.00008044741532135007,0.0001,0.0002,0.0001195525846786499
+3.2,0.00008036631268300029,0.0001,0.0002,0.0001196336873169997
+3.36,0.00008029991145882537,0.0001,0.0002,0.0001197000885411746
+3.52,0.0000802455467345495,0.0001,0.0002,0.0001197544532654505
+3.68,0.00008020103663592544,0.0001,0.0002,0.0001197989633640745
+3.84,0.00008016459489888797,0.0001,0.0002,0.000119835405101112
+4.,0.00008013475893487515,0.0001,0.0002,0.0001198652410651248
+4.16,0.00008011033128139457,0.0001,0.0002,0.0001198896687186054
+4.32,0.00008009033159246502,0.0001,0.0002,0.0001199096684075349
+4.48,0.00008007395721717572,0.0001,0.0002,0.0001199260427828242
+4.64,0.00008006055108875537,0.0001,0.0002,0.0001199394489112446
+4.8,0.00008004957500574885,0.0001,0.0002,0.0001199504249942511
+4.96,0.00008004058860789107,0.0001,0.0002,0.0001199594113921089
+5.12,0.00008003323112051866,0.0001,0.0002,0.0001199667688794813
+5.28,0.00008002720735700863,0.0001,0.0002,0.0001199727926429913
+5.44,0.00008002227547953125,0.0001,0.0002,0.0001199777245204687
+5.6,0.00008001823762041213,0.0001,0.0002,0.0001199817623795878
+5.76,0.00008001493171610004,0.0001,0.0002,0.0001199850682838999
+5.92,0.00008001222504233953,0.0001,0.0002,0.0001199877749576604
+6.08,0.0000800100090182867,0.0001,0.0002,0.0001199899909817133
+6.24,0.00008000819469952987,0.0001,0.0002,0.0001199918053004701
+6.4,0.00008000670924547366,0.0001,0.0002,0.0001199932907545263
+6.56,0.00008000549306569592,0.0001,0.0002,0.000119994506934304
+6.72,0.00008000449734644883,0.0001,0.0002,0.0001199955026535511
+6.88,0.00008000368211197818,0.0001,0.0002,0.0001199963178880218
+7.04,0.00008000301465836809,0.0001,0.0002,0.0001199969853416319
+7.2,0.00008000246819605889,0.0001,0.0002,0.0001199975318039411
+7.36,0.00008000202078589519,0.0001,0.0002,0.0001199979792141048
+7.52,0.00008000165447958932,0.0001,0.0002,0.0001199983455204106
+7.68,0.00008000135457471509,0.0001,0.0002,0.0001199986454252849
+7.84,0.00008000110903130901,0.0001,0.0002,0.000119998890968691
+8.,0.00008000090799858668,0.0001,0.0002,0.0001199990920014133
diff --git a/models/sbml-test-suite/cases/semantic/00221/00221-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00221/00221-sbml-l2v4.xml
new file mode 100644
index 0000000..f233a7c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00221/00221-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00221" id="case00221" name="case00221">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00221/00221-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00221/00221-sbml-l3v1.xml
new file mode 100644
index 0000000..5c10a58
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00221/00221-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00221" id="case00221" name="case00221" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00221/00221-settings.txt b/models/sbml-test-suite/cases/semantic/00221/00221-settings.txt
new file mode 100644
index 0000000..c50ce93
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00221/00221-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00222/00222-results.csv b/models/sbml-test-suite/cases/semantic/00222/00222-results.csv
new file mode 100644
index 0000000..22381b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00222/00222-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0001,0.0002,0.0001
+0.16,0.00009643873994283253,0.00009643873994283253,0.0002,0.0001
+0.32,0.00009361413752887205,0.00009361413752887205,0.0002,0.0001
+0.48,0.00009135842309252153,0.00009135842309252153,0.0002,0.0001
+0.64,0.00008954715150488775,0.00008954715150488775,0.0002,0.0001
+0.8,0.000088086363539106,0.000088086363539106,0.0002,0.0001
+0.96,0.00008690406844689147,0.00008690406844689147,0.0002,0.0001
+1.12,0.00008594443205431231,0.00008594443205431231,0.0002,0.0001
+1.28,0.00008516371247802808,0.00008516371247802808,0.0002,0.0001
+1.44,0.00008452735188781809,0.00008452735188781809,0.0002,0.0001
+1.6,0.00008400785904865123,0.00008400785904865123,0.0002,0.0001
+1.76,0.00008358323832703814,0.00008358323832703814,0.0002,0.0001
+1.92,0.00008323580724715772,0.00008323580724715772,0.0002,0.0001
+2.08,0.00008295129555445975,0.00008295129555445975,0.0002,0.0001
+2.24,0.00008271814800704863,0.00008271814800704863,0.0002,0.0001
+2.4,0.00008252698426292744,0.00008252698426292744,0.0002,0.0001
+2.56,0.00008237017141702709,0.00008237017141702709,0.0002,0.0001
+2.72,0.00008224148835060175,0.00008224148835060175,0.0002,0.0001
+2.88,0.00008213585609688195,0.00008213585609688195,0.0002,0.0001
+3.04,0.00008204912346775475,0.00008204912346775475,0.0002,0.0001
+3.2,0.0000819778940379299,0.0000819778940379299,0.0002,0.0001
+3.36,0.00008191938659164499,0.00008191938659164499,0.0002,0.0001
+3.52,0.00008187132211907497,0.00008187132211907497,0.0002,0.0001
+3.68,0.00008183183207038997,0.00008183183207038997,0.0002,0.0001
+3.84,0.0000817993837228813,0.0000817993837228813,0.0002,0.0001
+4.,0.00008177271933983485,0.00008177271933983485,0.0002,0.0001
+4.16,0.00008175080651547957,0.00008175080651547957,0.0002,0.0001
+4.32,0.0000817327975395821,0.0000817327975395821,0.0002,0.0001
+4.48,0.00008171799632457047,0.00008171799632457047,0.0002,0.0001
+4.64,0.00008170583108140004,0.00008170583108140004,0.0002,0.0001
+4.8,0.00008169583203852523,0.00008169583203852523,0.0002,0.0001
+4.96,0.00008168761324378885,0.00008168761324378885,0.0002,0.0001
+5.12,0.00008168085770162814,0.00008168085770162814,0.0002,0.0001
+5.28,0.00008167530471514613,0.00008167530471514613,0.0002,0.0001
+5.44,0.0000816707401981347,0.0000816707401981347,0.0002,0.0001
+5.6,0.0000816669881638926,0.0000816669881638926,0.0002,0.0001
+5.76,0.00008166390392215383,0.00008166390392215383,0.0002,0.0001
+5.92,0.00008166136864322125,0.00008166136864322125,0.0002,0.0001
+6.08,0.00008165928457815494,0.00008165928457815494,0.0002,0.0001
+6.24,0.00008165757141407665,0.00008165757141407665,0.0002,0.0001
+6.4,0.00008165616315317507,0.00008165616315317507,0.0002,0.0001
+6.56,0.00008165500551545089,0.00008165500551545089,0.0002,0.0001
+6.72,0.00008165405388879032,0.00008165405388879032,0.0002,0.0001
+6.88,0.000081653271621748,0.000081653271621748,0.0002,0.0001
+7.04,0.0000816526285702638,0.0000816526285702638,0.0002,0.0001
+7.2,0.00008165209995111636,0.00008165209995111636,0.0002,0.0001
+7.36,0.00008165166540624835,0.00008165166540624835,0.0002,0.0001
+7.52,0.0000816513081945397,0.0000816513081945397,0.0002,0.0001
+7.68,0.00008165101454886629,0.00008165101454886629,0.0002,0.0001
+7.84,0.00008165077315983284,0.00008165077315983284,0.0002,0.0001
+8.,0.00008165057472866929,0.00008165057472866929,0.0002,0.0001
diff --git a/models/sbml-test-suite/cases/semantic/00222/00222-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00222/00222-sbml-l2v4.xml
new file mode 100644
index 0000000..8f21639
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00222/00222-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00222" id="case00222" name="case00222">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00222/00222-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00222/00222-sbml-l3v1.xml
new file mode 100644
index 0000000..071d17c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00222/00222-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00222" id="case00222" name="case00222" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00222/00222-settings.txt b/models/sbml-test-suite/cases/semantic/00222/00222-settings.txt
new file mode 100644
index 0000000..c50ce93
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00222/00222-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00223/00223-results.csv b/models/sbml-test-suite/cases/semantic/00223/00223-results.csv
new file mode 100644
index 0000000..3ae692b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00223/00223-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.50000E-06,1.00000E-06
+0.1,1.29106E-06,1.20894E-06
+0.2,1.11123E-06,1.38877E-06
+0.3,9.56442E-07,1.54356E-06
+0.4,8.23217E-07,1.67678E-06
+0.5,7.08550E-07,1.79145E-06
+0.6,6.09854E-07,1.89015E-06
+0.7,5.24907E-07,1.97509E-06
+0.8,4.51791E-07,2.04821E-06
+0.9,3.88860E-07,2.11114E-06
+1,3.34695E-07,2.16530E-06
+1.1,2.88075E-07,2.21193E-06
+1.2,2.47948E-07,2.25205E-06
+1.3,2.13411E-07,2.28659E-06
+1.4,1.83685E-07,2.31632E-06
+1.5,1.58099E-07,2.34190E-06
+1.6,1.36077E-07,2.36392E-06
+1.7,1.17122E-07,2.38288E-06
+1.8,1.00808E-07,2.39919E-06
+1.9,8.67665E-08,2.41323E-06
+2,7.46806E-08,2.42532E-06
+2.1,6.42782E-08,2.43572E-06
+2.2,5.53248E-08,2.44468E-06
+2.3,4.76185E-08,2.45238E-06
+2.4,4.09856E-08,2.45901E-06
+2.5,3.52766E-08,2.46472E-06
+2.6,3.03629E-08,2.46964E-06
+2.7,2.61336E-08,2.47387E-06
+2.8,2.24934E-08,2.47751E-06
+2.9,1.93602E-08,2.48064E-06
+3,1.66635E-08,2.48334E-06
+3.1,1.43424E-08,2.48566E-06
+3.2,1.23446E-08,2.48766E-06
+3.3,1.06251E-08,2.48937E-06
+3.4,9.14512E-09,2.49085E-06
+3.5,7.87128E-09,2.49213E-06
+3.6,6.77487E-09,2.49323E-06
+3.7,5.83119E-09,2.49417E-06
+3.8,5.01895E-09,2.49498E-06
+3.9,4.31985E-09,2.49568E-06
+4,3.71813E-09,2.49628E-06
+4.1,3.20022E-09,2.49680E-06
+4.2,2.75446E-09,2.49725E-06
+4.3,2.37078E-09,2.49763E-06
+4.4,2.04055E-09,2.49796E-06
+4.5,1.75632E-09,2.49824E-06
+4.6,1.51168E-09,2.49849E-06
+4.7,1.30111E-09,2.49870E-06
+4.8,1.11988E-09,2.49888E-06
+4.9,9.63889E-10,2.49904E-06
+5,8.29627E-10,2.49917E-06
diff --git a/models/sbml-test-suite/cases/semantic/00223/00223-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00223/00223-sbml-l2v4.xml
new file mode 100644
index 0000000..75a9e6d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00223/00223-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00223" id="case00223" name="case00223">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00223/00223-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00223/00223-sbml-l3v1.xml
new file mode 100644
index 0000000..f5e0de4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00223/00223-sbml-l3v1.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00223" id="case00223" name="case00223" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00223/00223-settings.txt b/models/sbml-test-suite/cases/semantic/00223/00223-settings.txt
new file mode 100644
index 0000000..88c221b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00223/00223-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00224/00224-results.csv b/models/sbml-test-suite/cases/semantic/00224/00224-results.csv
new file mode 100644
index 0000000..25792cf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00224/00224-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.5
+0.02,0.7635638868221963,1.763563886822197,1.736436113177803
+0.04,0.6032956133325602,1.60329561333256,1.896704386667439
+0.06,0.4891384446518271,1.489138444651828,2.010861555348171
+0.08,0.4049255655556218,1.404925565555623,2.095074434444377
+0.1,0.3411830157960605,1.341183015796062,2.158816984203937
+0.12,0.2919889395535409,1.291988939553542,2.208011060446458
+0.14,0.2534509025130994,1.253450902513101,2.246549097486899
+0.16,0.2229055627613853,1.222905562761387,2.277094437238614
+0.18,0.1984700918960634,1.198470091896066,2.301529908103936
+0.2,0.1787771914693879,1.17877719146939,2.321222808530611
+0.22,0.1628115492937797,1.162811549293782,2.337188450706219
+0.24,0.1498050664228105,1.149805066422813,2.350194933577188
+0.26,0.139167537638592,1.139167537638594,2.360832462361407
+0.28,0.1304394810767746,1.130439481076777,2.369560518923224
+0.3,0.1232592363002355,1.123259236300238,2.376740763699764
+0.32,0.1173394941137277,1.11733949411373,2.382660505886272
+0.34,0.1124502417588514,1.112450241758854,2.387549758241148
+0.36,0.1084061292146969,1.108406129214699,2.391593870785302
+0.38,0.1050569817752994,1.105056981775302,2.3949430182247
+0.4,0.1022805678379795,1.102280567837982,2.39771943216202
+0.42,0.09997701642969013,1.099977016429693,2.400022983570309
+0.44,0.09806446266076045,1.098064462660763,2.401935537339239
+0.46,0.09647562220652873,1.096475622206531,2.40352437779347
+0.48,0.09515507266851848,1.095155072668521,2.404844927331481
+0.5,0.09405707321310226,1.094057073213105,2.405942926786897
+0.52,0.09314381406241804,1.093143814062421,2.406856185937581
+0.54,0.0923840036655715,1.092384003665574,2.407615996334428
+0.56,0.09175171457141906,1.091751714571422,2.40824828542858
+0.58,0.0912254437700123,1.091225443770015,2.408774556229987
+0.6,0.09078734522266294,1.090787345222666,2.409212654777336
+0.62,0.09042259820320718,1.09042259820321,2.409577401796792
+0.64,0.09011888794754138,1.090118887947544,2.409881112052458
+0.66,0.08986597750763451,1.089865977507637,2.410134022492365
+0.68,0.08965535358739046,1.089655353587393,2.410344646412609
+0.7,0.08947993475187132,1.089479934751874,2.410520065248129
+0.72,0.08933382897670098,1.089333828976703,2.410666171023299
+0.74,0.08921213263448037,1.089212132634483,2.410787867365519
+0.76,0.08911076399825983,1.089110763998262,2.41088923600174
+0.78,0.0890263249819789,1.089026324981981,2.410973675018021
+0.8,0.0889559863186348,1.088955986318637,2.411044013681364
+0.82,0.08889739216282034,1.088897392162823,2.411102607837179
+0.84,0.08884858070549722,1.0888485807055,2.411151419294503
+0.86,0.08880791807593488,1.088807918075937,2.411192081924065
+0.88,0.08877404343961109,1.088774043439614,2.411225956560389
+0.9,0.08874582335656343,1.088745823356566,2.411254176643436
+0.92,0.08872231368702106,1.088722313687023,2.411277686312979
+0.94,0.08870272815391824,1.088702728153921,2.411297271846082
+0.96,0.08868641153352445,1.088686411533527,2.411313588466476
+0.98,0.08867281825236779,1.08867281825237,2.411327181747632
+1.,0.088661493698996,1.088661493698998,2.411338506301004
diff --git a/models/sbml-test-suite/cases/semantic/00224/00224-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00224/00224-sbml-l2v4.xml
new file mode 100644
index 0000000..4029a88
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00224/00224-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00224" id="case00224" name="case00224">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00224/00224-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00224/00224-sbml-l3v1.xml
new file mode 100644
index 0000000..32cb537
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00224/00224-sbml-l3v1.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00224" id="case00224" name="case00224" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00224/00224-settings.txt b/models/sbml-test-suite/cases/semantic/00224/00224-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00224/00224-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00225/00225-results.csv b/models/sbml-test-suite/cases/semantic/00225/00225-results.csv
new file mode 100644
index 0000000..37a785c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00225/00225-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.01499999999999999,0.02,0.001
+0.01,0.009268912946140125,0.01426891294614012,0.02073108705385987,0.001731087053859876
+0.02,0.008704254657840668,0.01370425465784066,0.02129574534215933,0.002295745342159333
+0.03,0.008267540254314366,0.01326754025431436,0.02173245974568564,0.002732459745685639
+0.04,0.007929421214327176,0.01292942121432717,0.02207057878567283,0.003070578785672831
+0.05,0.007667423147814838,0.01266742314781483,0.02233257685218516,0.003332576852185167
+0.06,0.007464279783279488,0.01246427978327948,0.02253572021672051,0.003535720216720518
+0.07,0.007306692565004875,0.01230669256500487,0.02269330743499513,0.00369330743499513
+0.08,0.007184398461604595,0.01218439846160459,0.02281560153839541,0.003815601538395411
+0.09,0.007089465059170766,0.01208946505917076,0.02291053494082924,0.00391053494082924
+0.1,0.007015754003523275,0.01201575400352327,0.02298424599647673,0.003984245996476731
+0.11,0.006958510836837507,0.0119585108368375,0.02304148916316249,0.004041489163162499
+0.12,0.006914050291170683,0.01191405029117068,0.02308594970882932,0.004085949708829323
+0.13,0.006879514215875756,0.01187951421587575,0.02312048578412424,0.00412048578412425
+0.14,0.006852684994802387,0.01185268499480238,0.02314731500519761,0.004147315005197619
+0.15,0.006831841517541888,0.01183184151754188,0.02316815848245811,0.004168158482458118
+0.16,0.006815647454354235,0.01181564745435423,0.02318435254564576,0.004184352545645772
+0.17,0.006803065247003114,0.01180306524700311,0.02319693475299688,0.004196934752996892
+0.18,0.006793288984287129,0.01179328898428713,0.02320671101571287,0.004206711015712877
+0.19,0.006785692766236497,0.0117856927662365,0.02321430723376349,0.004214307233763509
+0.2,0.006779790324735417,0.01177979032473541,0.02322020967526457,0.004220209675264589
+0.21,0.006775203939057074,0.01177520393905707,0.02322479606094291,0.004224796060942932
+0.22,0.006771640119181691,0.01177164011918169,0.0232283598808183,0.004228359880818316
+0.23,0.006768870861967878,0.01176887086196788,0.02323112913803212,0.004231129138032128
+0.24,0.006766718995610324,0.01176671899561033,0.02323328100438967,0.004233281004389682
+0.25,0.00676504687238072,0.01176504687238072,0.02323495312761928,0.004234953127619287
+0.26,0.006763747532148994,0.011763747532149,0.02323625246785101,0.004236252467851012
+0.27,0.006762737861055997,0.011762737861056,0.023237262138944,0.004237262138944009
+0.28,0.006761953279671923,0.01176195327967192,0.02323804672032808,0.004238046720328083
+0.29,0.0067613436074279,0.0117613436074279,0.0232386563925721,0.004238656392572106
+0.3,0.006760869850860502,0.0117608698508605,0.0232391301491395,0.004239130149139504
+0.31,0.006760501709609863,0.01176050170960986,0.02323949829039014,0.004239498290390143
+0.32,0.006760215638514977,0.01176021563851497,0.02323978436148502,0.00423978436148503
+0.33,0.006759993341224722,0.01175999334122472,0.02324000665877527,0.004240006658775284
+0.34,0.006759820599579385,0.01175982059957938,0.02324017940042061,0.004240179400420621
+0.35,0.006759686367947742,0.01175968636794774,0.02324031363205225,0.004240313632052264
+0.36,0.00675958206041754,0.01175958206041754,0.02324041793958245,0.004240417939582466
+0.37,0.006759501005452538,0.01175950100545254,0.02324049899454746,0.004240498994547469
+0.38,0.006759438020315084,0.01175943802031508,0.02324056197968491,0.004240561979684922
+0.39,0.006759389076446187,0.01175938907644618,0.02324061092355381,0.004240610923553819
+0.4,0.006759351043249734,0.01175935104324973,0.02324064895675026,0.004240648956750272
+0.41,0.006759321488862771,0.01175932148886276,0.02324067851113722,0.004240678511137236
+0.42,0.006759298523063182,0.01175929852306318,0.02324070147693681,0.004240701476936824
+0.43,0.006759280676844427,0.01175928067684442,0.02324071932315557,0.00424071932315558
+0.44,0.006759266809090178,0.01175926680909017,0.02324073319090982,0.004240733190909828
+0.45,0.006759256032900478,0.01175925603290047,0.02324074396709952,0.004240743967099528
+0.46,0.006759247658928681,0.01175924765892868,0.02324075234107131,0.004240752341071326
+0.47,0.006759241151841838,0.01175924115184184,0.02324075884815815,0.004240758848158168
+0.48,0.006759236095294076,0.01175923609529407,0.02324076390470592,0.00424076390470593
+0.49,0.006759232166058682,0.01175923216605868,0.02324076783394132,0.004240767833941325
+0.5,0.006759229112727695,0.01175922911272769,0.0232407708872723,0.004240770887272311
diff --git a/models/sbml-test-suite/cases/semantic/00225/00225-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00225/00225-sbml-l2v4.xml
new file mode 100644
index 0000000..a6bec74
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00225/00225-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00225" id="case00225" name="case00225">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="620"/>
+      <parameter id="k2" name="k2" value="500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00225/00225-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00225/00225-sbml-l3v1.xml
new file mode 100644
index 0000000..20e52e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00225/00225-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00225" id="case00225" name="case00225" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="620" constant="true"/>
+      <parameter id="k2" name="k2" value="500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00225/00225-settings.txt b/models/sbml-test-suite/cases/semantic/00225/00225-settings.txt
new file mode 100644
index 0000000..bdeb7a8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00225/00225-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00226/00226-results.csv b/models/sbml-test-suite/cases/semantic/00226/00226-results.csv
new file mode 100644
index 0000000..26ae5f8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00226/00226-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5000E-06,1.0000E-06
+0.01,1.5000E-06,1.0225E-06
+0.02,1.5000E-06,1.0450E-06
+0.03,1.5000E-06,1.0675E-06
+0.04,1.5000E-06,1.0900E-06
+0.05,1.5000E-06,1.1125E-06
+0.06,1.5000E-06,1.1350E-06
+0.07,1.5000E-06,1.1575E-06
+0.08,1.5000E-06,1.1800E-06
+0.09,1.5000E-06,1.2025E-06
+0.1,1.5000E-06,1.2250E-06
+0.11,1.5000E-06,1.2475E-06
+0.12,1.5000E-06,1.2700E-06
+0.13,1.5000E-06,1.2925E-06
+0.14,1.5000E-06,1.3150E-06
+0.15,1.5000E-06,1.3375E-06
+0.16,1.5000E-06,1.3600E-06
+0.17,1.5000E-06,1.3825E-06
+0.18,1.5000E-06,1.4050E-06
+0.19,1.5000E-06,1.4275E-06
+0.2,1.5000E-06,1.4500E-06
+0.21,1.5000E-06,1.4725E-06
+0.22,1.5000E-06,1.4950E-06
+0.23,1.5000E-06,1.5175E-06
+0.24,1.5000E-06,1.5400E-06
+0.25,1.5000E-06,1.5625E-06
+0.26,1.5000E-06,1.5850E-06
+0.27,1.5000E-06,1.6075E-06
+0.28,1.5000E-06,1.6300E-06
+0.29,1.5000E-06,1.6525E-06
+0.3,1.5000E-06,1.6750E-06
+0.31,1.5000E-06,1.6975E-06
+0.32,1.5000E-06,1.7200E-06
+0.33,1.5000E-06,1.7425E-06
+0.34,1.5000E-06,1.7650E-06
+0.35,1.5000E-06,1.7875E-06
+0.36,1.5000E-06,1.8100E-06
+0.37,1.5000E-06,1.8325E-06
+0.38,1.5000E-06,1.8550E-06
+0.39,1.5000E-06,1.8775E-06
+0.4,1.5000E-06,1.9000E-06
+0.41,1.5000E-06,1.9225E-06
+0.42,1.5000E-06,1.9450E-06
+0.43,1.5000E-06,1.9675E-06
+0.44,1.5000E-06,1.9900E-06
+0.45,1.5000E-06,2.0125E-06
+0.46,1.5000E-06,2.0350E-06
+0.47,1.5000E-06,2.0575E-06
+0.48,1.5000E-06,2.0800E-06
+0.49,1.5000E-06,2.1025E-06
+0.5,1.5000E-06,2.1250E-06
diff --git a/models/sbml-test-suite/cases/semantic/00226/00226-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00226/00226-sbml-l2v4.xml
new file mode 100644
index 0000000..0d98dc1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00226/00226-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00226" id="case00226" name="case00226">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00226/00226-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00226/00226-sbml-l3v1.xml
new file mode 100644
index 0000000..b7a345b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00226/00226-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00226" id="case00226" name="case00226" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00226/00226-settings.txt b/models/sbml-test-suite/cases/semantic/00226/00226-settings.txt
new file mode 100644
index 0000000..6a8aa63
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00226/00226-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00227/00227-results.csv b/models/sbml-test-suite/cases/semantic/00227/00227-results.csv
new file mode 100644
index 0000000..2528ea9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00227/00227-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.50000E-06,1.00000E-06
+0.01,1.47767E-06,1.00000E-06
+0.02,1.45567E-06,1.00000E-06
+0.03,1.43400E-06,1.00000E-06
+0.04,1.41265E-06,1.00000E-06
+0.05,1.39162E-06,1.00000E-06
+0.06,1.37090E-06,1.00000E-06
+0.07,1.35049E-06,1.00000E-06
+0.08,1.33038E-06,1.00000E-06
+0.09,1.31057E-06,1.00000E-06
+0.1,1.29106E-06,1.00000E-06
+0.11,1.27184E-06,1.00000E-06
+0.12,1.25291E-06,1.00000E-06
+0.13,1.23425E-06,1.00000E-06
+0.14,1.21588E-06,1.00000E-06
+0.15,1.19777E-06,1.00000E-06
+0.16,1.17994E-06,1.00000E-06
+0.17,1.16237E-06,1.00000E-06
+0.18,1.14507E-06,1.00000E-06
+0.19,1.12802E-06,1.00000E-06
+0.2,1.11123E-06,1.00000E-06
+0.21,1.09468E-06,1.00000E-06
+0.22,1.07839E-06,1.00000E-06
+0.23,1.06233E-06,1.00000E-06
+0.24,1.04651E-06,1.00000E-06
+0.25,1.03093E-06,1.00000E-06
+0.26,1.01559E-06,1.00000E-06
+0.27,1.00047E-06,1.00000E-06
+0.28,9.85570E-07,1.00000E-06
+0.29,9.70897E-07,1.00000E-06
+0.3,9.56442E-07,1.00000E-06
+0.31,9.42203E-07,1.00000E-06
+0.32,9.28175E-07,1.00000E-06
+0.33,9.14356E-07,1.00000E-06
+0.34,9.00743E-07,1.00000E-06
+0.35,8.87333E-07,1.00000E-06
+0.36,8.74122E-07,1.00000E-06
+0.37,8.61108E-07,1.00000E-06
+0.38,8.48288E-07,1.00000E-06
+0.39,8.35659E-07,1.00000E-06
+0.4,8.23217E-07,1.00000E-06
+0.41,8.10961E-07,1.00000E-06
+0.42,7.98888E-07,1.00000E-06
+0.43,7.86994E-07,1.00000E-06
+0.44,7.75277E-07,1.00000E-06
+0.45,7.63735E-07,1.00000E-06
+0.46,7.52364E-07,1.00000E-06
+0.47,7.41163E-07,1.00000E-06
+0.48,7.30128E-07,1.00000E-06
+0.49,7.19258E-07,1.00000E-06
+0.5,7.08550E-07,1.00000E-06
diff --git a/models/sbml-test-suite/cases/semantic/00227/00227-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00227/00227-sbml-l2v4.xml
new file mode 100644
index 0000000..41ec33d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00227/00227-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00227" id="case00227" name="case00227">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00227/00227-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00227/00227-sbml-l3v1.xml
new file mode 100644
index 0000000..ba84a3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00227/00227-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00227" id="case00227" name="case00227" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00227/00227-settings.txt b/models/sbml-test-suite/cases/semantic/00227/00227-settings.txt
new file mode 100644
index 0000000..6a8aa63
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00227/00227-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00228/00228-results.csv b/models/sbml-test-suite/cases/semantic/00228/00228-results.csv
new file mode 100644
index 0000000..5600558
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00228/00228-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5e-6,9.999999999999999e-7
+0.01,1.5e-6,9.999999999999999e-7
+0.02,1.5e-6,9.999999999999999e-7
+0.03,1.5e-6,9.999999999999999e-7
+0.04,1.5e-6,9.999999999999999e-7
+0.05,1.5e-6,9.999999999999999e-7
+0.06,1.5e-6,9.999999999999999e-7
+0.07,1.5e-6,9.999999999999999e-7
+0.08,1.5e-6,9.999999999999999e-7
+0.09,1.5e-6,9.999999999999999e-7
+0.1,1.5e-6,9.999999999999999e-7
+0.11,1.5e-6,9.999999999999999e-7
+0.12,1.5e-6,9.999999999999999e-7
+0.13,1.5e-6,9.999999999999999e-7
+0.14,1.5e-6,9.999999999999999e-7
+0.15,1.5e-6,9.999999999999999e-7
+0.16,1.5e-6,9.999999999999999e-7
+0.17,1.5e-6,9.999999999999999e-7
+0.18,1.5e-6,9.999999999999999e-7
+0.19,1.5e-6,9.999999999999999e-7
+0.2,1.5e-6,9.999999999999999e-7
+0.21,1.5e-6,9.999999999999999e-7
+0.22,1.5e-6,9.999999999999999e-7
+0.23,1.5e-6,9.999999999999999e-7
+0.24,1.5e-6,9.999999999999999e-7
+0.25,1.5e-6,9.999999999999999e-7
+0.26,1.5e-6,9.999999999999999e-7
+0.27,1.5e-6,9.999999999999999e-7
+0.28,1.5e-6,9.999999999999999e-7
+0.29,1.5e-6,9.999999999999999e-7
+0.3,1.5e-6,9.999999999999999e-7
+0.31,1.5e-6,9.999999999999999e-7
+0.32,1.5e-6,9.999999999999999e-7
+0.33,1.5e-6,9.999999999999999e-7
+0.34,1.5e-6,9.999999999999999e-7
+0.35,1.5e-6,9.999999999999999e-7
+0.36,1.5e-6,9.999999999999999e-7
+0.37,1.5e-6,9.999999999999999e-7
+0.38,1.5e-6,9.999999999999999e-7
+0.39,1.5e-6,9.999999999999999e-7
+0.4,1.5e-6,9.999999999999999e-7
+0.41,1.5e-6,9.999999999999999e-7
+0.42,1.5e-6,9.999999999999999e-7
+0.43,1.5e-6,9.999999999999999e-7
+0.44,1.5e-6,9.999999999999999e-7
+0.45,1.5e-6,9.999999999999999e-7
+0.46,1.5e-6,9.999999999999999e-7
+0.47,1.5e-6,9.999999999999999e-7
+0.48,1.5e-6,9.999999999999999e-7
+0.49,1.5e-6,9.999999999999999e-7
+0.5,1.5e-6,9.999999999999999e-7
diff --git a/models/sbml-test-suite/cases/semantic/00228/00228-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00228/00228-sbml-l2v4.xml
new file mode 100644
index 0000000..614d258
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00228/00228-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00228" id="case00228" name="case00228">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00228/00228-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00228/00228-sbml-l3v1.xml
new file mode 100644
index 0000000..2d91309
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00228/00228-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00228" id="case00228" name="case00228" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00228/00228-settings.txt b/models/sbml-test-suite/cases/semantic/00228/00228-settings.txt
new file mode 100644
index 0000000..6a8aa63
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00228/00228-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00229/00229-results.csv b/models/sbml-test-suite/cases/semantic/00229/00229-results.csv
new file mode 100644
index 0000000..09599b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00229/00229-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.00000,2.00000,1.50000
+0.008,0.89044,2.00000,1.60956
+0.016,0.79351,2.00000,1.70649
+0.024,0.70774,2.00000,1.79226
+0.032,0.63185,2.00000,1.86815
+0.04,0.56470,2.00000,1.93530
+0.048,0.50529,2.00000,1.99471
+0.056,0.45273,2.00000,2.04727
+0.064,0.40622,2.00000,2.09378
+0.072,0.36507,2.00000,2.13493
+0.08,0.32866,2.00000,2.17134
+0.088,0.29644,2.00000,2.20356
+0.096,0.26794,2.00000,2.23206
+0.104,0.24272,2.00000,2.25728
+0.112,0.22040,2.00000,2.27960
+0.12,0.20066,2.00000,2.29934
+0.128,0.18319,2.00000,2.31681
+0.136,0.16773,2.00000,2.33227
+0.144,0.15406,2.00000,2.34595
+0.152,0.14195,2.00000,2.35805
+0.16,0.13125,2.00000,2.36875
+0.168,0.12177,2.00000,2.37823
+0.176,0.11339,2.00000,2.38661
+0.184,0.10598,2.00000,2.39402
+0.192,0.09941,2.00000,2.40059
+0.2,0.09361,2.00000,2.40639
+0.208,0.08847,2.00000,2.41153
+0.216,0.08393,2.00000,2.41607
+0.224,0.07991,2.00000,2.42009
+0.232,0.07635,2.00000,2.42365
+0.24,0.07320,2.00000,2.42680
+0.248,0.07041,2.00000,2.42959
+0.256,0.06795,2.00000,2.43205
+0.264,0.06577,2.00000,2.43423
+0.272,0.06384,2.00000,2.43616
+0.28,0.06213,2.00000,2.43787
+0.288,0.06062,2.00000,2.43938
+0.296,0.05928,2.00000,2.44072
+0.304,0.05810,2.00000,2.44190
+0.312,0.05706,2.00000,2.44294
+0.32,0.05613,2.00000,2.44387
+0.328,0.05531,2.00000,2.44469
+0.336,0.05459,2.00000,2.44541
+0.344,0.05394,2.00000,2.44606
+0.352,0.05338,2.00000,2.44662
+0.36,0.05288,2.00000,2.44712
+0.368,0.05243,2.00000,2.44757
+0.376,0.05204,2.00000,2.44796
+0.384,0.05169,2.00000,2.44831
+0.392,0.05138,2.00000,2.44862
+0.4,0.05111,2.00000,2.44889
diff --git a/models/sbml-test-suite/cases/semantic/00229/00229-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00229/00229-sbml-l2v4.xml
new file mode 100644
index 0000000..0f462c7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00229/00229-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00229" id="case00229" name="case00229">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00229/00229-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00229/00229-sbml-l3v1.xml
new file mode 100644
index 0000000..06cfdf3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00229/00229-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00229" id="case00229" name="case00229" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00229/00229-settings.txt b/models/sbml-test-suite/cases/semantic/00229/00229-settings.txt
new file mode 100644
index 0000000..e57fd46
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00229/00229-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.4
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00230/00230-results.csv b/models/sbml-test-suite/cases/semantic/00230/00230-results.csv
new file mode 100644
index 0000000..c12fce6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00230/00230-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.5
+0.012,0.8462807412046715,1.846280741204671,1.5
+0.024,0.725761837382013,1.725761837382012,1.5
+0.036,0.6291738306158538,1.629173830615853,1.5
+0.048,0.5503929031988613,1.550392903198861,1.5
+0.06,0.485210244240947,1.485210244240946,1.5
+0.072,0.4306373068050654,1.430637306805065,1.5
+0.084,0.3844931176902005,1.384493117690199,1.5
+0.096,0.3451485184019948,1.345148518401994,1.5
+0.108,0.3113618780925462,1.311361878092545,1.5
+0.12,0.2821702283852747,1.282170228385274,1.5
+0.132,0.2568151967063982,1.256815196706398,1.5
+0.144,0.2346914069059349,1.234691406905934,1.5
+0.156,0.2153097517705509,1.21530975177055,1.5
+0.168,0.198270816998435,1.198270816998434,1.5
+0.18,0.183245270402732,1.183245270402731,1.5
+0.192,0.1699592077394002,1.169959207739399,1.5
+0.204,0.1581830414265467,1.158183041426546,1.5
+0.216,0.1477229712887175,1.147722971288717,1.5
+0.228,0.1384143525711029,1.138414352571102,1.5
+0.24,0.1301165096817964,1.130116509681796,1.5
+0.252,0.1227086002492233,1.122708600249223,1.5
+0.264,0.1160863390862238,1.116086339086223,1.5
+0.276,0.1101593256324639,1.110159325632463,1.5
+0.288,0.104848892174101,1.1048488921741,1.5
+0.3,0.1000863372268574,1.100086337226857,1.5
+0.312,0.09581146542191995,1.095811465421919,1.5
+0.324,0.09197137904734553,1.091971379047345,1.5
+0.336,0.08851946674411891,1.088519466744118,1.5
+0.348,0.08541455758012958,1.085414557580129,1.5
+0.36,0.08262020475218032,1.08262020475218,1.5
+0.372,0.08010407847034024,1.08010407847034,1.5
+0.384,0.07783744718388792,1.077837447183887,1.5
+0.396,0.0757947381265308,1.07579473812653,1.5
+0.408,0.07395315146122601,1.073953151461225,1.5
+0.42,0.07229233203000377,1.072292332030003,1.5
+0.432,0.07079408851345546,1.070794088513455,1.5
+0.444,0.0694421415960323,1.069442141596032,1.5
+0.456,0.06822190709316869,1.068221907093168,1.5
+0.468,0.06712031275432787,1.067120312754327,1.5
+0.48,0.06612562416103615,1.066125624161036,1.5
+0.492,0.06522730651728057,1.06522730651728,1.5
+0.504,0.06441589091898239,1.064415890918982,1.5
+0.516,0.06368286335667269,1.063682863356672,1.5
+0.528,0.06302056398751593,1.063020563987515,1.5
+0.54,0.06242209595032003,1.062422095950319,1.5
+0.552,0.06188124957734346,1.061881249577343,1.5
+0.564,0.06139242970403922,1.061392429704038,1.5
+0.576,0.06095059229919942,1.060950592299199,1.5
+0.588,0.06055118946645154,1.060551189466451,1.5
+0.6,0.06019012029637388,1.060190120296373,1.5
diff --git a/models/sbml-test-suite/cases/semantic/00230/00230-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00230/00230-sbml-l2v4.xml
new file mode 100644
index 0000000..ce09f23
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00230/00230-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00230" id="case00230" name="case00230">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00230/00230-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00230/00230-sbml-l3v1.xml
new file mode 100644
index 0000000..00b8692
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00230/00230-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00230" id="case00230" name="case00230" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00230/00230-settings.txt b/models/sbml-test-suite/cases/semantic/00230/00230-settings.txt
new file mode 100644
index 0000000..259873d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00230/00230-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.6
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00231/00231-results.csv b/models/sbml-test-suite/cases/semantic/00231/00231-results.csv
new file mode 100644
index 0000000..d223f2d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00231/00231-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1.5
+0.005,1,2,1.5727
+0.01,1,2,1.64528
+0.015,1,2,1.71776
+0.02,1,2,1.79013
+0.025,1,2,1.86239
+0.03,1,2,1.93454
+0.035,1,2,2.00659
+0.04,1,2,2.07852
+0.045,1,2,2.15035
+0.05,1,2,2.22207
+0.055,1,2,2.29368
+0.06,1,2,2.36519
+0.065,1,2,2.43659
+0.07,1,2,2.50788
+0.075,1,2,2.57906
+0.08,1,2,2.65014
+0.085,1,2,2.72111
+0.09,1,2,2.79198
+0.095,1,2,2.86274
+0.1,1,2,2.93339
+0.105,1,2,3.00394
+0.11,1,2,3.07438
+0.115,1,2,3.14472
+0.12,1,2,3.21495
+0.125,1,2,3.28507
+0.13,1,2,3.35509
+0.135,1,2,3.42501
+0.14,1,2,3.49482
+0.145,1,2,3.56452
+0.15,1,2,3.63412
+0.155,1,2,3.70362
+0.16,1,2,3.77301
+0.165,1,2,3.8423
+0.17,1,2,3.91148
+0.175,1,2,3.98057
+0.18,1,2,4.04954
+0.185,1,2,4.11842
+0.19,1,2,4.18719
+0.195,1,2,4.25586
+0.2,1,2,4.32442
+0.205,1,2,4.39288
+0.21,1,2,4.46124
+0.215,1,2,4.5295
+0.22,1,2,4.59765
+0.225,1,2,4.66571
+0.23,1,2,4.73366
+0.235,1,2,4.8015
+0.24,1,2,4.86925
+0.245,1,2,4.9369
+0.25,1,2,5.00444
diff --git a/models/sbml-test-suite/cases/semantic/00231/00231-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00231/00231-sbml-l2v4.xml
new file mode 100644
index 0000000..3122655
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00231/00231-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00231" id="case00231" name="case00231">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00231/00231-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00231/00231-sbml-l3v1.xml
new file mode 100644
index 0000000..9cc921d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00231/00231-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00231" id="case00231" name="case00231" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00231/00231-settings.txt b/models/sbml-test-suite/cases/semantic/00231/00231-settings.txt
new file mode 100644
index 0000000..95810f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00231/00231-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.25
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00232/00232-results.csv b/models/sbml-test-suite/cases/semantic/00232/00232-results.csv
new file mode 100644
index 0000000..b5668f2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00232/00232-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1.5
+0.02,1,1.72977,1.5
+0.04,1,1.49719,1.5
+0.06,1,1.297,1.5
+0.08,1,1.12469,1.5
+0.1,1,0.976391,1.5
+0.12,1,0.848745,1.5
+0.14,1,0.738879,1.5
+0.16,1,0.644317,1.5
+0.18,1,0.562926,1.5
+0.2,1,0.492873,1.5
+0.22,1,0.432577,1.5
+0.24,1,0.38068,1.5
+0.26,1,0.336012,1.5
+0.28,1,0.297565,1.5
+0.3,1,0.264474,1.5
+0.32,1,0.235993,1.5
+0.34,1,0.211478,1.5
+0.36,1,0.190379,1.5
+0.38,1,0.172218,1.5
+0.4,1,0.156587,1.5
+0.42,1,0.143133,1.5
+0.44,1,0.131553,1.5
+0.46,1,0.121587,1.5
+0.48,1,0.113008,1.5
+0.5,1,0.105624,1.5
+0.52,1,0.0992693,1.5
+0.54,1,0.0937994,1.5
+0.56,1,0.0890914,1.5
+0.58,1,0.0850392,1.5
+0.6,1,0.0815515,1.5
+0.62,1,0.0785495,1.5
+0.64,1,0.0759657,1.5
+0.66,1,0.0737418,1.5
+0.68,1,0.0718277,1.5
+0.7,1,0.0701802,1.5
+0.72,1,0.0687622,1.5
+0.74,1,0.0675417,1.5
+0.76,1,0.0664912,1.5
+0.78,1,0.065587,1.5
+0.8,1,0.0648088,1.5
+0.82,1,0.064139,1.5
+0.84,1,0.0635624,1.5
+0.86,1,0.0630662,1.5
+0.88,1,0.0626391,1.5
+0.9,1,0.0622715,1.5
+0.92,1,0.0619551,1.5
+0.94,1,0.0616828,1.5
+0.96,1,0.0614484,1.5
+0.98,1,0.0612466,1.5
+1,1,0.061073,1.5
diff --git a/models/sbml-test-suite/cases/semantic/00232/00232-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00232/00232-sbml-l2v4.xml
new file mode 100644
index 0000000..81ac680
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00232/00232-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00232" id="case00232" name="case00232">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00232/00232-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00232/00232-sbml-l3v1.xml
new file mode 100644
index 0000000..32575f2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00232/00232-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00232" id="case00232" name="case00232" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00232/00232-settings.txt b/models/sbml-test-suite/cases/semantic/00232/00232-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00232/00232-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00233/00233-results.csv b/models/sbml-test-suite/cases/semantic/00233/00233-results.csv
new file mode 100644
index 0000000..f81d367
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00233/00233-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00015,0.0002,0.00001
+0.01,0.00009247947266790597,0.00015,0.000207520527332094,0.00001752052733209401
+0.02,0.00008635465962535456,0.00015,0.0002136453403746455,0.00002364534037464545
+0.03,0.00008139718082077768,0.00015,0.0002186028191792223,0.00002860281917922231
+0.04,0.00007740453094149543,0.00015,0.0002225954690585045,0.00003259546905850457
+0.05,0.000074201840660107,0.00015,0.000225798159339893,0.00003579815933989302
+0.06,0.00007164109146360351,0.00015,0.0002283589085363966,0.00003835890853639652
+0.07,0.00006959889221758921,0.00015,0.0002304011077824108,0.00004040110778241082
+0.08,0.00006797358671702676,0.00015,0.0002320264132829733,0.00004202641328297328
+0.09,0.00006668219009121159,0.00015,0.0002333178099087885,0.00004331780990878847
+0.1,0.00006565743737136212,0.00015,0.000234342562628638,0.00004434256262863799
+0.11,0.00006484511337136614,0.00015,0.000235154886628634,0.00004515488662863397
+0.12,0.00006420170958456889,0.00015,0.0002357982904154312,0.00004579829041543123
+0.13,0.00006369243035401843,0.00015,0.0002363075696459816,0.00004630756964598166
+0.14,0.00006328952291525833,0.00015,0.0002367104770847417,0.00004671047708474179
+0.15,0.0000629708994291272,0.00015,0.0002370291005708729,0.00004702910057087293
+0.16,0.00006271900941911302,0.00015,0.0002372809905808871,0.00004728099058088712
+0.17,0.00006251992679917163,0.00015,0.0002374800732008284,0.00004748007320082853
+0.18,0.00006236261236325368,0.00015,0.0002376373876367463,0.00004763738763674649
+0.19,0.00006223832272051335,0.00015,0.0002377616772794867,0.00004776167727948683
+0.2,0.00006214013729622579,0.00015,0.0002378598627037742,0.00004785986270377441
+0.21,0.00006206258120528068,0.00015,0.0002379374187947194,0.00004793741879471952
+0.22,0.00006200132493206209,0.00015,0.0002379986750679379,0.0000479986750679381
+0.23,0.00006195294573996699,0.00015,0.000238047054260033,0.00004804705426003322
+0.24,0.00006191473848803418,0.00015,0.0002380852615119658,0.00004808526151196601
+0.25,0.0000618845657202299,0.00015,0.0002381154342797701,0.00004811543427977029
+0.26,0.00006186073853820958,0.00015,0.0002381392614617904,0.0000481392614617906
+0.27,0.00006184192290372134,0.00015,0.0002381580770962787,0.00004815807709627884
+0.28,0.00006182706500123787,0.00015,0.0002381729349987622,0.0000481729349987623
+0.29,0.0000618153325650141,0.00015,0.000238184667434986,0.00004818466743498607
+0.3,0.00006180606824051524,0.00015,0.0002381939317594848,0.00004819393175948494
+0.31,0.00006179875285497457,0.00015,0.0002382012471450255,0.00004820124714502562
+0.32,0.00006179297645116954,0.00015,0.0002382070235488306,0.00004820702354883067
+0.33,0.00006178841531397862,0.00015,0.0002382115846860215,0.00004821158468602158
+0.34,0.00006178481378614348,0.00015,0.0002382151862138566,0.00004821518621385671
+0.35,0.0000617819699712825,0.00015,0.0002382180300287176,0.0000482180300287177
+0.36,0.00006177972446649751,0.00015,0.0002382202755335026,0.00004822027553350269
+0.37,0.00006177795141493795,0.00015,0.0002382220485850621,0.00004822204858506224
+0.38,0.00006177655138921354,0.00015,0.0002382234486107865,0.00004822344861078665
+0.39,0.00006177544593408903,0.00015,0.000238224554065911,0.00004822455406591117
+0.4,0.00006177457305628669,0.00015,0.0002382254269437134,0.00004822542694371351
+0.41,0.00006177388383230467,0.00015,0.0002382261161676954,0.00004822611616769554
+0.42,0.00006177333962017243,0.00015,0.0002382266603798276,0.00004822666037982776
+0.43,0.0000617729099069702,0.00015,0.0002382270900930298,0.00004822709009302998
+0.44,0.00006177257060787261,0.00015,0.0002382274293921274,0.00004822742939212757
+0.45,0.000061772302694069,0.00015,0.000238227697305931,0.00004822769730593117
+0.46,0.0000617720911511228,0.00015,0.0002382279088488772,0.00004822790884887737
+0.47,0.00006177192411558166,0.00015,0.0002382280758844183,0.0000482280758844185
+0.48,0.00006177179222438642,0.00015,0.0002382282077756136,0.00004822820777561373
+0.49,0.00006177168808309057,0.00015,0.0002382283119169094,0.00004822831191690959
+0.5,0.00006177160585366687,0.00015,0.0002382283941463331,0.00004822839414633328
diff --git a/models/sbml-test-suite/cases/semantic/00233/00233-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00233/00233-sbml-l2v4.xml
new file mode 100644
index 0000000..fbb5a03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00233/00233-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00233" id="case00233" name="case00233">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="62000"/>
+      <parameter id="k2" name="k2" value="50000"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00233/00233-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00233/00233-sbml-l3v1.xml
new file mode 100644
index 0000000..aa37707
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00233/00233-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00233" id="case00233" name="case00233" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="62000" constant="true"/>
+      <parameter id="k2" name="k2" value="50000" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00233/00233-settings.txt b/models/sbml-test-suite/cases/semantic/00233/00233-settings.txt
new file mode 100644
index 0000000..2e64b24
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00233/00233-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00234/00234-results.csv b/models/sbml-test-suite/cases/semantic/00234/00234-results.csv
new file mode 100644
index 0000000..d4e0a44
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00234/00234-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.0015,0.002,0.0001
+0.005,0.0009610209938048829,0.001461020993804882,0.002,0.0001389790061951157
+0.01,0.0009266266349705805,0.00142662663497058,0.002,0.0001733733650294183
+0.015,0.0008962127081068582,0.001396212708106858,0.002,0.0002037872918931406
+0.02,0.0008692676581009655,0.001369267658100965,0.002,0.0002307323418990333
+0.025,0.0008453558195083381,0.001345355819508338,0.002,0.0002546441804916605
+0.03,0.0008241041778464634,0.001324104177846463,0.002,0.0002758958221535353
+0.035,0.0008051918199853566,0.001305191819985357,0.002,0.0002948081800146418
+0.04,0.0007883414536876698,0.00128834145368767,0.002,0.0003116585463123285
+0.045,0.0007733125338117822,0.001273312533811782,0.002,0.000326687466188216
+0.05,0.0007598956447848065,0.001259895644784807,0.002,0.0003401043552151918
+0.055,0.0007479078859886291,0.00124790788598863,0.002,0.0003520921140113691
+0.06,0.0007371890489087647,0.001237189048908765,0.002,0.0003628109510912336
+0.065,0.0007275984310141221,0.001227598431014123,0.002,0.000372401568985876
+0.07,0.0007190121658757802,0.001219012165875781,0.002,0.000380987834124218
+0.075,0.0007113209692044329,0.001211320969204434,0.002,0.0003886790307955651
+0.08,0.0007044282545580415,0.001204428254558042,0.002,0.0003955717454419566
+0.085,0.0006982484646871296,0.001198248464687131,0.002,0.0004017515353128684
+0.09,0.0006927057456725092,0.00119270574567251,0.002,0.0004072942543274889
+0.095,0.0006877326994183647,0.001187732699418365,0.002,0.0004122673005816335
+0.1,0.0006832694060761663,0.001183269406076167,0.002,0.0004167305939238321
+0.105,0.0006792624959157784,0.001179262495915779,0.002,0.0004207375040842198
+0.11,0.0006756644133911145,0.001175664413391115,0.002,0.0004243355866088836
+0.115,0.0006724327176220522,0.001172432717622053,0.002,0.000427567282377946
+0.12,0.0006695295233076022,0.001169529523307603,0.002,0.0004304704766923959
+0.125,0.0006669209613483004,0.001166920961348301,0.002,0.0004330790386516978
+0.13,0.0006645767574899205,0.001164576757489921,0.002,0.0004354232425100777
+0.135,0.0006624698082103548,0.001162469808210355,0.002,0.0004375301917896434
+0.14,0.0006605758585389689,0.001160575858538969,0.002,0.0004394241414610293
+0.145,0.0006588731710745391,0.001158873171074539,0.002,0.0004411268289254592
+0.15,0.0006573422710029481,0.001157342271002948,0.002,0.0004426577289970501
+0.155,0.000655965697168867,0.001155965697168867,0.002,0.0004440343028311312
+0.16,0.0006547277833619248,0.001154727783361925,0.002,0.0004452722166380734
+0.165,0.0006536144776111087,0.001153614477611109,0.002,0.0004463855223888895
+0.17,0.0006526131691242359,0.001152613169124236,0.002,0.0004473868308757623
+0.175,0.0006517125350980894,0.00115171253509809,0.002,0.0004482874649019087
+0.18,0.0006509024069780851,0.001150902406978085,0.002,0.0004490975930219132
+0.185,0.0006501736525502871,0.001150173652550287,0.002,0.0004498263474497112
+0.19,0.0006495180689691682,0.001149518068969168,0.002,0.00045048193103083
+0.195,0.0006489282866615368,0.001148928286661537,0.002,0.0004510717133384615
+0.2,0.0006483976809594743,0.001148397680959475,0.002,0.0004516023190405239
+0.205,0.0006479202985536664,0.001147920298553667,0.002,0.0004520797014463318
+0.21,0.0006474907880410458,0.001147490788041046,0.002,0.0004525092119589524
+0.215,0.0006471043385019633,0.001147104338501963,0.002,0.000452895661498035
+0.22,0.000646756624452896,0.001146756624452896,0.002,0.0004532433755471024
+0.225,0.0006464437564927066,0.001146443756492707,0.002,0.0004535562435072917
+0.23,0.0006461622370370937,0.001146162237037094,0.002,0.0004538377629629046
+0.235,0.0006459089206034136,0.001145908920603414,0.002,0.0004540910793965848
+0.24,0.0006456809781807964,0.001145680978180797,0.002,0.0004543190218192018
+0.245,0.0006454758652952422,0.001145475865295243,0.002,0.0004545241347047561
+0.25,0.0006452912931048742,0.001145291293104874,0.002,0.0004547087068951241
diff --git a/models/sbml-test-suite/cases/semantic/00234/00234-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00234/00234-sbml-l2v4.xml
new file mode 100644
index 0000000..f16b051
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00234/00234-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00234" id="case00234" name="case00234">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="6200"/>
+      <parameter id="k2" name="k2" value="5000"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00234/00234-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00234/00234-sbml-l3v1.xml
new file mode 100644
index 0000000..c18d662
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00234/00234-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00234" id="case00234" name="case00234" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="6200" constant="true"/>
+      <parameter id="k2" name="k2" value="5000" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00234/00234-settings.txt b/models/sbml-test-suite/cases/semantic/00234/00234-settings.txt
new file mode 100644
index 0000000..5aed746
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00234/00234-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.25
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00235/00235-results.csv b/models/sbml-test-suite/cases/semantic/00235/00235-results.csv
new file mode 100644
index 0000000..aae0d72
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00235/00235-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.15,0.2,0.01
+0.015,0.1,0.15,0.211486041654052,0.02148604165405201
+0.03,0.1,0.15,0.2211351277307027,0.03113512773070259
+0.045,0.1,0.15,0.2291242089719926,0.03912420897199254
+0.06,0.1,0.15,0.235659735248833,0.0456597352488329
+0.075,0.1,0.15,0.2409537323425968,0.05095373234259668
+0.09,0.1,0.15,0.2452079155606768,0.05520791556067669
+0.105,0.1,0.15,0.2486046176649837,0.05860461766498351
+0.12,0.1,0.15,0.251302784381888,0.06130278438188785
+0.135,0.1,0.15,0.2534373413746007,0.06343734137460051
+0.15,0.1,0.15,0.2551205733307494,0.06512057333074927
+0.165,0.1,0.15,0.2564445298287114,0.06644452982871131
+0.18,0.1,0.15,0.257483810485921,0.06748381048592089
+0.195,0.1,0.15,0.2582983429765433,0.06829834297654308
+0.21,0.1,0.15,0.2589359429803876,0.0689359429803875
+0.225,0.1,0.15,0.2594345617777038,0.06943456177770361
+0.24,0.1,0.15,0.2598241994307001,0.06982419943069995
+0.255,0.1,0.15,0.2601284960288686,0.07012849602886847
+0.27,0.1,0.15,0.2603660334060317,0.0703660334060316
+0.285,0.1,0.15,0.260551391744781,0.07055139174478086
+0.3,0.1,0.15,0.2606959918677122,0.07069599186771211
+0.315,0.1,0.15,0.2608087716817101,0.07080877168171
+0.33,0.1,0.15,0.260896718657572,0.07089671865757186
+0.345,0.1,0.15,0.2609652908112433,0.07096529081124317
+0.36,0.1,0.15,0.2610187513315414,0.07101875133154124
+0.375,0.1,0.15,0.2610604272828515,0.07106042728285146
+0.39,0.1,0.15,0.2610929139011461,0.07109291390114604
+0.405,0.1,0.15,0.2611182363967523,0.07111823639675223
+0.42,0.1,0.15,0.2611379739285842,0.07113797392858421
+0.435,0.1,0.15,0.2611533576263037,0.07115335762630357
+0.45,0.1,0.15,0.2611653477465593,0.07116534774655923
+0.465,0.1,0.15,0.2611746927245731,0.07117469272457296
+0.48,0.1,0.15,0.2611819759214379,0.07118197592143786
+0.495,0.1,0.15,0.2611876522373934,0.07118765223739329
+0.51,0.1,0.15,0.2611920761443523,0.07119207614435219
+0.525,0.1,0.15,0.2611955239160948,0.07119552391609455
+0.54,0.1,0.15,0.2611982109577017,0.07119821095770148
+0.555,0.1,0.15,0.2612003051015348,0.0712003051015346
+0.57,0.1,0.15,0.2612019371524058,0.07120193715240552
+0.585,0.1,0.15,0.261203209089376,0.07120320908937567
+0.6,0.1,0.15,0.2612042003642312,0.07120420036423083
+0.615,0.1,0.15,0.2612049729003942,0.07120497290039397
+0.63,0.1,0.15,0.2612055749730815,0.07120557497308123
+0.645,0.1,0.15,0.2612060441920419,0.07120604419204167
+0.66,0.1,0.15,0.2612064098703406,0.07120640987034042
+0.675,0.1,0.15,0.2612066948596283,0.07120669485962816
+0.69,0.1,0.15,0.26120691696247,0.07120691696246991
+0.705,0.1,0.15,0.2612070900545965,0.07120709005459635
+0.72,0.1,0.15,0.2612072249534802,0.07120722495348004
+0.735,0.1,0.15,0.2612073300835723,0.07120733008357216
+0.75,0.1,0.15,0.261207412016124,0.07120741201612382
diff --git a/models/sbml-test-suite/cases/semantic/00235/00235-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00235/00235-sbml-l2v4.xml
new file mode 100644
index 0000000..b7da92a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00235/00235-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00235" id="case00235" name="case00235">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="62"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00235/00235-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00235/00235-sbml-l3v1.xml
new file mode 100644
index 0000000..afc0b4b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00235/00235-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00235" id="case00235" name="case00235" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="62" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00235/00235-settings.txt b/models/sbml-test-suite/cases/semantic/00235/00235-settings.txt
new file mode 100644
index 0000000..7d576f6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00235/00235-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.75
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00236/00236-results.csv b/models/sbml-test-suite/cases/semantic/00236/00236-results.csv
new file mode 100644
index 0000000..8c3d71e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00236/00236-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.01499999999999999,0.02,0.001
+0.02,0.008564196093171008,0.013564196093171,0.02,0.001
+0.04,0.007474485823758185,0.01247448582375818,0.02,0.001
+0.06,0.006624419376810758,0.01162441937681075,0.02,0.001
+0.08,0.005946981091034397,0.01094698109103439,0.02,0.001
+0.1,0.00539786786123708,0.01039786786123708,0.02,0.001
+0.12,0.004946612086620344,0.009946612086620345,0.02,0.001
+0.14,0.004571567811984244,0.009571567811984248,0.02,0.001
+0.16,0.004256930640376479,0.009256930640376482,0.02,0.001
+0.18,0.003990890369403372,0.008990890369403375,0.02,0.001
+0.2,0.003764443514798944,0.00876444351479895,0.02,0.001
+0.22,0.003570606562944768,0.008570606562944773,0.02,0.001
+0.24,0.003403880091946882,0.008403880091946888,0.02,0.001
+0.26,0.003259875609493882,0.008259875609493887,0.02,0.001
+0.28,0.003135049658641479,0.008135049658641486,0.02,0.001
+0.3,0.003026511272354698,0.008026511272354704,0.02,0.001
+0.32,0.002931879902585214,0.007931879902585221,0.02,0.001
+0.34,0.002849179104100183,0.007849179104100188,0.02,0.001
+0.36,0.002776755893757765,0.007776755893757768,0.02,0.001
+0.38,0.002713218610254436,0.007713218610254439,0.02,0.001
+0.4,0.002657388852989105,0.007657388852989107,0.02,0.001
+0.42,0.002608263447039295,0.007608263447039298,0.02,0.001
+0.44,0.002564984463100449,0.007564984463100453,0.02,0.001
+0.46,0.002526815058320751,0.007526815058320756,0.02,0.001
+0.48,0.002493120015979984,0.007493120015979988,0.02,0.001
+0.5,0.002463349887652164,0.007463349887652168,0.02,0.001
+0.52,0.002437028019136695,0.007437028019136699,0.02,0.001
+0.54,0.002413739764487704,0.007413739764487709,0.02,0.001
+0.56,0.002393123563373156,0.007393123563373162,0.02,0.001
+0.58,0.002374863470500158,0.007374863470500164,0.02,0.001
+0.6,0.002358682872850378,0.007358682872850384,0.02,0.001
+0.62,0.002344339174614043,0.007344339174614049,0.02,0.001
+0.64,0.002331619335948568,0.007331619335948573,0.02,0.001
+0.66,0.002320335917161482,0.007320335917161488,0.02,0.001
+0.68,0.002310323925757298,0.007310323925757303,0.02,0.001
+0.7,0.002301437867933347,0.007301437867933352,0.02,0.001
+0.72,0.002293549384205619,0.007293549384205624,0.02,0.001
+0.74,0.002286545111631147,0.007286545111631152,0.02,0.001
+0.76,0.002280324868393127,0.007280324868393132,0.02,0.001
+0.78,0.002274800020530679,0.007274800020530683,0.02,0.001
+0.8,0.00226989215764696,0.007269892157646964,0.02,0.001
+0.82,0.00226553185653349,0.007265531856533494,0.02,0.001
+0.84,0.002261657595993792,0.007261657595993798,0.02,0.001
+0.86,0.002258214864664716,0.00725821486466472,0.02,0.001
+0.88,0.002255155342279211,0.007255155342279215,0.02,0.001
+0.9,0.002252436168061515,0.00725243616806152,0.02,0.001
+0.92,0.002250019311835957,0.007250019311835963,0.02,0.001
+0.94,0.002247871032233764,0.007247871032233768,0.02,0.001
+0.96,0.002245961384492117,0.00724596138449212,0.02,0.001
+0.98,0.002244263783277395,0.007244263783277398,0.02,0.001
+1.,0.002242754616421868,0.007242754616421871,0.02,0.001
diff --git a/models/sbml-test-suite/cases/semantic/00236/00236-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00236/00236-sbml-l2v4.xml
new file mode 100644
index 0000000..0a8dabd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00236/00236-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00236" id="case00236" name="case00236">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="620"/>
+      <parameter id="k2" name="k2" value="500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00236/00236-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00236/00236-sbml-l3v1.xml
new file mode 100644
index 0000000..05092c4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00236/00236-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00236" id="case00236" name="case00236" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="620" constant="true"/>
+      <parameter id="k2" name="k2" value="500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00236/00236-settings.txt b/models/sbml-test-suite/cases/semantic/00236/00236-settings.txt
new file mode 100644
index 0000000..2cc7f4a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00236/00236-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00237/00237-results.csv b/models/sbml-test-suite/cases/semantic/00237/00237-results.csv
new file mode 100644
index 0000000..82ba6df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00237/00237-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00015,0.0002,0.00001
+0.016,0.00008770880240313389,0.00015,0.000212291197596866,0.00001
+0.032,0.00007720136465865348,0.00015,0.0002227986353413464,0.00001
+0.048,0.00006821881853803078,0.00015,0.0002317811814619692,0.00001
+0.064,0.00006053986428897548,0.00015,0.0002394601357110244,0.00001
+0.08,0.0000539753179262475,0.00015,0.0002460246820737525,0.00001
+0.096,0.00004836345136081477,0.00015,0.0002516365486391853,0.00001
+0.112,0.0000435660047289637,0.00015,0.0002564339952710364,0.00001
+0.128,0.00003946479228532843,0.00015,0.0002605352077146716,0.00001
+0.144,0.00003595876572893135,0.00015,0.0002640412342710687,0.00001
+0.16,0.00003296155117211029,0.00015,0.0002670384488278897,0.00001
+0.176,0.00003039930734742479,0.00015,0.0002696006926525752,0.00001
+0.192,0.00002820890879693002,0.00015,0.0002717910912030699,0.00001
+0.208,0.0000263363923456172,0.00015,0.0002736636076543828,0.00001
+0.224,0.00002473562466245194,0.00015,0.0002752643753375481,0.00001
+0.24,0.0000233671681178312,0.00015,0.0002766328318821689,0.00001
+0.256,0.00002219730820037916,0.00015,0.0002778026917996209,0.00001
+0.272,0.00002119722528169601,0.00015,0.000278802774718304,0.00001
+0.288,0.00002034227949132893,0.00015,0.0002796577205086711,0.00001
+0.304,0.00001961140725952428,0.00015,0.0002803885927404758,0.00001
+0.32,0.00001898660256313715,0.00015,0.0002810133974368629,0.00001
+0.336,0.00001845247257267234,0.00015,0.0002815475274273277,0.00001
+0.352,0.00001799585912610242,0.00015,0.0002820041408738977,0.00001
+0.368,0.0000176055107799133,0.00015,0.0002823944892200868,0.00001
+0.384,0.00001727181209882855,0.00015,0.0002827281879011715,0.00001
+0.4,0.00001698654166791195,0.00015,0.000283013458332088,0.00001
+0.416,0.00001674267055647158,0.00015,0.0002832573294435284,0.00001
+0.432,0.00001653419172750234,0.00015,0.0002834658082724977,0.00001
+0.448,0.00001635596809216758,0.00015,0.0002836440319078324,0.00001
+0.464,0.00001620360925356004,0.00015,0.00028379639074644,0.00001
+0.48,0.00001607336158459807,0.00015,0.000283926638415402,0.00001
+0.496,0.0000159620158945903,0.00015,0.0002840379841054098,0.00001
+0.512,0.00001586682950877829,0.00015,0.0002841331704912218,0.00001
+0.528,0.00001578545678499919,0.00015,0.0002842145432150009,0.00001
+0.544,0.00001571589347861082,0.00015,0.0002842841065213893,0.00001
+0.56,0.00001565642541923734,0.00015,0.0002843435745807628,0.00001
+0.576,0.00001560558771409571,0.00015,0.0002843944122859044,0.00001
+0.592,0.00001556212784339259,0.00015,0.0002844378721566075,0.00001
+0.608,0.00001552497502913155,0.00015,0.0002844750249708686,0.00001
+0.624,0.00001549321409672506,0.00015,0.000284506785903275,0.00001
+0.64,0.00001546606238376645,0.00015,0.0002845339376162337,0.00001
+0.656,0.00001544285113302607,0.00015,0.0002845571488669742,0.00001
+0.672,0.00001542300836648221,0.00015,0.000284576991633518,0.00001
+0.688,0.00001540604530523952,0.00015,0.0002845939546947606,0.00001
+0.704,0.00001539154400657761,0.00015,0.0002846084559934226,0.00001
+0.72,0.00001537914719439979,0.00015,0.0002846208528056004,0.00001
+0.736,0.00001536854949344274,0.00015,0.0002846314505065575,0.00001
+0.752,0.00001535948975623309,0.00015,0.0002846405102437671,0.00001
+0.768,0.00001535174483719419,0.00015,0.000284648255162806,0.00001
+0.784,0.0000153451238817297,0.00015,0.0002846548761182705,0.00001
+0.8,0.00001533946380650585,0.00015,0.0002846605361934943,0.00001
diff --git a/models/sbml-test-suite/cases/semantic/00237/00237-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00237/00237-sbml-l2v4.xml
new file mode 100644
index 0000000..439e82d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00237/00237-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00237" id="case00237" name="case00237">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="62000"/>
+      <parameter id="k2" name="k2" value="50000"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00237/00237-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00237/00237-sbml-l3v1.xml
new file mode 100644
index 0000000..de31700
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00237/00237-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00237" id="case00237" name="case00237" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="62000" constant="true"/>
+      <parameter id="k2" name="k2" value="50000" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00237/00237-settings.txt b/models/sbml-test-suite/cases/semantic/00237/00237-settings.txt
new file mode 100644
index 0000000..c3f788b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00237/00237-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.8
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00238/00238-results.csv b/models/sbml-test-suite/cases/semantic/00238/00238-results.csv
new file mode 100644
index 0000000..56b3b82
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00238/00238-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.02,0.15,0.003068999999999999
+0.04,0.15,0.006138
+0.06,0.15,0.009206999999999998
+0.08,0.15,0.01227599999999999
+0.1,0.15,0.01534499999999999
+0.12,0.15,0.01841399999999999
+0.14,0.15,0.021483
+0.16,0.15,0.02455199999999999
+0.18,0.15,0.02762099999999999
+0.2,0.15,0.03069
+0.22,0.15,0.03375899999999999
+0.24,0.15,0.036828
+0.26,0.15,0.039897
+0.28,0.15,0.042966
+0.3,0.15,0.046035
+0.32,0.15,0.049104
+0.34,0.15,0.052173
+0.36,0.15,0.05524199999999999
+0.38,0.15,0.058311
+0.4,0.15,0.06138000000000001
+0.42,0.15,0.064449
+0.44,0.15,0.067518
+0.46,0.15,0.07058700000000001
+0.48,0.15,0.07365599999999999
+0.5,0.15,0.076725
+0.52,0.15,0.079794
+0.54,0.15,0.082863
+0.56,0.15,0.085932
+0.58,0.15,0.08900099999999998
+0.6,0.15,0.09206999999999998
+0.62,0.15,0.09513899999999998
+0.64,0.15,0.098208
+0.66,0.15,0.101277
+0.68,0.15,0.104346
+0.7,0.15,0.1074149999999999
+0.72,0.15,0.1104839999999999
+0.74,0.15,0.113553
+0.76,0.15,0.116622
+0.78,0.15,0.119691
+0.8,0.15,0.12276
+0.82,0.15,0.125829
+0.84,0.15,0.128898
+0.86,0.15,0.131967
+0.88,0.15,0.135036
+0.9,0.15,0.138105
+0.92,0.15,0.1411739999999999
+0.94,0.15,0.1442429999999999
+0.96,0.15,0.147312
+0.98,0.15,0.1503809999999999
+1.,0.15,0.15345
diff --git a/models/sbml-test-suite/cases/semantic/00238/00238-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00238/00238-sbml-l2v4.xml
new file mode 100644
index 0000000..a447eec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00238/00238-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00238" id="case00238" name="case00238">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.023"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00238/00238-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00238/00238-sbml-l3v1.xml
new file mode 100644
index 0000000..f694e98
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00238/00238-sbml-l3v1.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00238" id="case00238" name="case00238" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.023" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00238/00238-settings.txt b/models/sbml-test-suite/cases/semantic/00238/00238-settings.txt
new file mode 100644
index 0000000..b381819
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00238/00238-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00239/00239-results.csv b/models/sbml-test-suite/cases/semantic/00239/00239-results.csv
new file mode 100644
index 0000000..43d5ea2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00239/00239-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.1,0.1354138025138073,0
+0.2,0.1222459860593098,0
+0.3,0.1103586254399186,0
+0.4,0.09962720741411706,0
+0.5,0.08993932658722957,0
+0.6,0.08119350802067709,0
+0.7,0.07329814421308973,0
+0.8,0.06617053591780615,0
+0.9,0.05973602564018824,0
+1.,0.05392720449960723,0
+1.1,0.04868326293145026,0
+1.2,0.04394923834925539,0
+1.3,0.0396755565417951,0
+1.4,0.0358174530273225,0
+1.5,0.03233451676091538,0
+1.6,0.02919026587845789,0
+1.7,0.02635176548498342,0
+1.8,0.02378928490612277,0
+1.9,0.02147598379337207,0
+2.,0.01938763116409367,0
+2.1,0.01750235216896948,0
+2.2,0.01580039996508974,0
+2.3,0.01426394808167849,0
+2.4,0.01287690355950299,0
+2.5,0.01162473580403483,0
+2.6,0.0104943318883582,0
+2.7,0.00947384869670188,0
+2.8,0.008552599428126472,0
+2.9,0.00772093356063199,0
+3.,0.00697013925310126,0
+3.1,0.006292353678731931,0
+3.2,0.005680477380265143,0
+3.3,0.005128100232673245,0
+3.4,0.004629436663935584,0
+3.5,0.004179264235853363,0
+3.6,0.003772867379315144,0
+3.7,0.003405988626056955,0
+3.8,0.00307478562603517,0
+3.9,0.00277578955881734,0
+4.,0.002505868280170302,0
+4.1,0.002262194184404419,0
+4.2,0.00204221537323237,0
+4.3,0.001843627790814911,0
+4.4,0.001664351041079446,0
+4.5,0.001502507233076318,0
+4.6,0.00135640144442256,0
+4.7,0.00122450328166152,0
+4.8,0.001105430954362777,0
+4.9,0.0009979373672860871,0
+5.,0.0009008966751652177,0
diff --git a/models/sbml-test-suite/cases/semantic/00239/00239-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00239/00239-sbml-l2v4.xml
new file mode 100644
index 0000000..771a82d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00239/00239-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00239" id="case00239" name="case00239">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.023"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00239/00239-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00239/00239-sbml-l3v1.xml
new file mode 100644
index 0000000..8fbabfe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00239/00239-sbml-l3v1.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00239" id="case00239" name="case00239" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.023" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00239/00239-settings.txt b/models/sbml-test-suite/cases/semantic/00239/00239-settings.txt
new file mode 100644
index 0000000..5a66c8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00239/00239-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00240/00240-results.csv b/models/sbml-test-suite/cases/semantic/00240/00240-results.csv
new file mode 100644
index 0000000..2646e47
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00240/00240-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.00000E-06,2.00000E-06,1.00000E-06
+0.16,1.08716E-06,2.00000E-06,9.12838E-07
+0.32,1.16673E-06,2.00000E-06,8.33274E-07
+0.48,1.23935E-06,2.00000E-06,7.60646E-07
+0.64,1.30565E-06,2.00000E-06,6.94348E-07
+0.8,1.36617E-06,2.00000E-06,6.33829E-07
+0.96,1.42141E-06,2.00000E-06,5.78586E-07
+1.12,1.47184E-06,2.00000E-06,5.28158E-07
+1.28,1.51787E-06,2.00000E-06,4.82125E-07
+1.44,1.55989E-06,2.00000E-06,4.40106E-07
+1.6,1.59825E-06,2.00000E-06,4.01749E-07
+1.76,1.63326E-06,2.00000E-06,3.66735E-07
+1.92,1.66523E-06,2.00000E-06,3.34774E-07
+2.08,1.69440E-06,2.00000E-06,3.05598E-07
+2.24,1.72103E-06,2.00000E-06,2.78966E-07
+2.4,1.74535E-06,2.00000E-06,2.54655E-07
+2.56,1.76754E-06,2.00000E-06,2.32463E-07
+2.72,1.78779E-06,2.00000E-06,2.12206E-07
+2.88,1.80629E-06,2.00000E-06,1.93714E-07
+3.04,1.82317E-06,2.00000E-06,1.76835E-07
+3.2,1.83857E-06,2.00000E-06,1.61426E-07
+3.36,1.85264E-06,2.00000E-06,1.47361E-07
+3.52,1.86548E-06,2.00000E-06,1.34522E-07
+3.68,1.87720E-06,2.00000E-06,1.22802E-07
+3.84,1.88790E-06,2.00000E-06,1.12104E-07
+4,1.89766E-06,2.00000E-06,1.02338E-07
+4.16,1.90658E-06,2.00000E-06,9.34234E-08
+4.32,1.91471E-06,2.00000E-06,8.52858E-08
+4.48,1.92214E-06,2.00000E-06,7.78577E-08
+4.64,1.92892E-06,2.00000E-06,7.10770E-08
+4.8,1.93511E-06,2.00000E-06,6.48874E-08
+4.96,1.94076E-06,2.00000E-06,5.92373E-08
+5.12,1.94592E-06,2.00000E-06,5.40797E-08
+5.28,1.95063E-06,2.00000E-06,4.93717E-08
+5.44,1.95493E-06,2.00000E-06,4.50741E-08
+5.6,1.95885E-06,2.00000E-06,4.11510E-08
+5.76,1.96243E-06,2.00000E-06,3.75700E-08
+5.92,1.96570E-06,2.00000E-06,3.43011E-08
+6.08,1.96868E-06,2.00000E-06,3.13171E-08
+6.24,1.97141E-06,2.00000E-06,2.85933E-08
+6.4,1.97389E-06,2.00000E-06,2.61069E-08
+6.56,1.97616E-06,2.00000E-06,2.38372E-08
+6.72,1.97823E-06,2.00000E-06,2.17654E-08
+6.88,1.98013E-06,2.00000E-06,1.98741E-08
+7.04,1.98185E-06,2.00000E-06,1.81477E-08
+7.2,1.98343E-06,2.00000E-06,1.65718E-08
+7.36,1.98487E-06,2.00000E-06,1.51333E-08
+7.52,1.98618E-06,2.00000E-06,1.38201E-08
+7.68,1.98738E-06,2.00000E-06,1.26215E-08
+7.84,1.98847E-06,2.00000E-06,1.15273E-08
+8,1.98947E-06,2.00000E-06,1.05285E-08
diff --git a/models/sbml-test-suite/cases/semantic/00240/00240-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00240/00240-sbml-l2v4.xml
new file mode 100644
index 0000000..aa33e7d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00240/00240-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00240" id="case00240" name="case00240">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="9.8"/>
+      <parameter id="k2" name="k2" value="0.57"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00240/00240-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00240/00240-sbml-l3v1.xml
new file mode 100644
index 0000000..0c37f2b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00240/00240-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00240" id="case00240" name="case00240" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="9.8" constant="true"/>
+      <parameter id="k2" name="k2" value="0.57" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00240/00240-settings.txt b/models/sbml-test-suite/cases/semantic/00240/00240-settings.txt
new file mode 100644
index 0000000..583ff10
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00240/00240-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00241/00241-results.csv b/models/sbml-test-suite/cases/semantic/00241/00241-results.csv
new file mode 100644
index 0000000..dc7a18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00241/00241-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,9.999999999999999e-7,1.999999999999999e-6,9.999999999999999e-7
+0.04,1.022799202525621e-6,2.02279920252562e-6,9.999999999999999e-7
+0.08,1.045598377832395e-6,2.045598377832393e-6,9.999999999999999e-7
+0.12,1.068397525512305e-6,2.068397525512303e-6,9.999999999999999e-7
+0.16,1.091196645157865e-6,2.091196645157863e-6,9.999999999999999e-7
+0.2,1.113995736361583e-6,2.113995736361581e-6,9.999999999999999e-7
+0.24,1.13679479871597e-6,2.136794798715968e-6,9.999999999999999e-7
+0.28,1.159593831813546e-6,2.159593831813544e-6,9.999999999999999e-7
+0.32,1.182392835246831e-6,2.182392835246828e-6,9.999999999999999e-7
+0.36,1.205191808608341e-6,2.205191808608339e-6,9.999999999999999e-7
+0.4,1.227990751490596e-6,2.227990751490594e-6,9.999999999999999e-7
+0.44,1.250789663486126e-6,2.250789663486123e-6,9.999999999999999e-7
+0.48,1.273588544187458e-6,2.273588544187456e-6,9.999999999999999e-7
+0.52,1.296387393187118e-6,2.296387393187116e-6,9.999999999999999e-7
+0.56,1.319186210077633e-6,2.319186210077631e-6,9.999999999999999e-7
+0.6,1.341984994451545e-6,2.341984994451543e-6,9.999999999999999e-7
+0.64,1.364783745901389e-6,2.364783745901387e-6,9.999999999999999e-7
+0.68,1.387582464019698e-6,2.387582464019696e-6,9.999999999999999e-7
+0.72,1.410381148399008e-6,2.410381148399006e-6,9.999999999999999e-7
+0.76,1.433179798631867e-6,2.433179798631864e-6,9.999999999999999e-7
+0.8,1.455978414310822e-6,2.45597841431082e-6,9.999999999999999e-7
+0.84,1.478776995028425e-6,2.478776995028423e-6,9.999999999999999e-7
+0.88,1.501575540377224e-6,2.501575540377221e-6,9.999999999999999e-7
+0.92,1.524374049949768e-6,2.524374049949766e-6,9.999999999999999e-7
+0.96,1.547172523338613e-6,2.547172523338611e-6,9.999999999999999e-7
+1.,1.56997096013632e-6,2.569970960136318e-6,9.999999999999999e-7
+1.04,1.592769359935452e-6,2.59276935993545e-6,9.999999999999999e-7
+1.08,1.615567722328571e-6,2.615567722328569e-6,9.999999999999999e-7
+1.12,1.63836604690824e-6,2.638366046908237e-6,9.999999999999999e-7
+1.16,1.661164333267027e-6,2.661164333267025e-6,9.999999999999999e-7
+1.2,1.683962580997509e-6,2.683962580997506e-6,9.999999999999999e-7
+1.24,1.706760789692258e-6,2.706760789692256e-6,9.999999999999999e-7
+1.28,1.729558958943851e-6,2.729558958943848e-6,9.999999999999999e-7
+1.32,1.752357088344863e-6,2.752357088344861e-6,9.999999999999999e-7
+1.36,1.775155177487879e-6,2.775155177487877e-6,9.999999999999999e-7
+1.4,1.797953225965489e-6,2.797953225965486e-6,9.999999999999999e-7
+1.44,1.82075123337028e-6,2.820751233370278e-6,9.999999999999999e-7
+1.48,1.843549199294842e-6,2.843549199294841e-6,9.999999999999999e-7
+1.52,1.866347123331767e-6,2.866347123331764e-6,9.999999999999999e-7
+1.56,1.889145005073652e-6,2.88914500507365e-6,9.999999999999999e-7
+1.6,1.911942844113102e-6,2.9119428441131e-6,9.999999999999999e-7
+1.64,1.934740640042722e-6,2.93474064004272e-6,9.999999999999999e-7
+1.68,1.957538392455115e-6,2.957538392455113e-6,9.999999999999999e-7
+1.72,1.980336100942887e-6,2.980336100942885e-6,9.999999999999999e-7
+1.76,2.003133765098654e-6,3.003133765098652e-6,9.999999999999999e-7
+1.8,2.025931384515034e-6,3.025931384515032e-6,9.999999999999999e-7
+1.84,2.048728958784644e-6,3.048728958784643e-6,9.999999999999999e-7
+1.88,2.071526487500106e-6,3.071526487500104e-6,9.999999999999999e-7
+1.92,2.094323970254046e-6,3.094323970254044e-6,9.999999999999999e-7
+1.96,2.117121406639096e-6,3.117121406639094e-6,9.999999999999999e-7
+2.,2.139918796247885e-6,3.139918796247884e-6,9.999999999999999e-7
diff --git a/models/sbml-test-suite/cases/semantic/00241/00241-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00241/00241-sbml-l2v4.xml
new file mode 100644
index 0000000..ba2c8c6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00241/00241-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00241" id="case00241" name="case00241">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="9.8"/>
+      <parameter id="k2" name="k2" value="0.57"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00241/00241-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00241/00241-sbml-l3v1.xml
new file mode 100644
index 0000000..139ef36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00241/00241-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00241" id="case00241" name="case00241" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="9.8" constant="true"/>
+      <parameter id="k2" name="k2" value="0.57" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00241/00241-settings.txt b/models/sbml-test-suite/cases/semantic/00241/00241-settings.txt
new file mode 100644
index 0000000..40b2389
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00241/00241-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00242/00242-results.csv b/models/sbml-test-suite/cases/semantic/00242/00242-results.csv
new file mode 100644
index 0000000..2a00e33
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00242/00242-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.00000E-06,2.00E-06,1.00E-06
+0.08,1.04560E-06,2.00E-06,1.00E-06
+0.16,1.09120E-06,2.00E-06,1.00E-06
+0.24,1.13679E-06,2.00E-06,1.00E-06
+0.32,1.18239E-06,2.00E-06,1.00E-06
+0.4,1.22799E-06,2.00E-06,1.00E-06
+0.48,1.27359E-06,2.00E-06,1.00E-06
+0.56,1.31919E-06,2.00E-06,1.00E-06
+0.64,1.36479E-06,2.00E-06,1.00E-06
+0.72,1.41038E-06,2.00E-06,1.00E-06
+0.8,1.45598E-06,2.00E-06,1.00E-06
+0.88,1.50158E-06,2.00E-06,1.00E-06
+0.96,1.54718E-06,2.00E-06,1.00E-06
+1.04,1.59277E-06,2.00E-06,1.00E-06
+1.12,1.63837E-06,2.00E-06,1.00E-06
+1.2,1.68397E-06,2.00E-06,1.00E-06
+1.28,1.72957E-06,2.00E-06,1.00E-06
+1.36,1.77516E-06,2.00E-06,1.00E-06
+1.44,1.82076E-06,2.00E-06,1.00E-06
+1.52,1.86636E-06,2.00E-06,1.00E-06
+1.6,1.91195E-06,2.00E-06,1.00E-06
+1.68,1.95755E-06,2.00E-06,1.00E-06
+1.76,2.00315E-06,2.00E-06,1.00E-06
+1.84,2.04875E-06,2.00E-06,1.00E-06
+1.92,2.09434E-06,2.00E-06,1.00E-06
+2,2.13994E-06,2.00E-06,1.00E-06
+2.08,2.18554E-06,2.00E-06,1.00E-06
+2.16,2.23113E-06,2.00E-06,1.00E-06
+2.24,2.27673E-06,2.00E-06,1.00E-06
+2.32,2.32232E-06,2.00E-06,1.00E-06
+2.4,2.36792E-06,2.00E-06,1.00E-06
+2.48,2.41352E-06,2.00E-06,1.00E-06
+2.56,2.45911E-06,2.00E-06,1.00E-06
+2.64,2.50471E-06,2.00E-06,1.00E-06
+2.72,2.55031E-06,2.00E-06,1.00E-06
+2.8,2.59590E-06,2.00E-06,1.00E-06
+2.88,2.64150E-06,2.00E-06,1.00E-06
+2.96,2.68709E-06,2.00E-06,1.00E-06
+3.04,2.73269E-06,2.00E-06,1.00E-06
+3.12,2.77828E-06,2.00E-06,1.00E-06
+3.2,2.82388E-06,2.00E-06,1.00E-06
+3.28,2.86948E-06,2.00E-06,1.00E-06
+3.36,2.91507E-06,2.00E-06,1.00E-06
+3.44,2.96067E-06,2.00E-06,1.00E-06
+3.52,3.00626E-06,2.00E-06,1.00E-06
+3.6,3.05186E-06,2.00E-06,1.00E-06
+3.68,3.09745E-06,2.00E-06,1.00E-06
+3.76,3.14305E-06,2.00E-06,1.00E-06
+3.84,3.18864E-06,2.00E-06,1.00E-06
+3.92,3.23424E-06,2.00E-06,1.00E-06
+4,3.27983E-06,2.00E-06,1.00E-06
diff --git a/models/sbml-test-suite/cases/semantic/00242/00242-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00242/00242-sbml-l2v4.xml
new file mode 100644
index 0000000..0e047a1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00242/00242-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00242" id="case00242" name="case00242">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="9.8"/>
+      <parameter id="k2" name="k2" value="0.57"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00242/00242-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00242/00242-sbml-l3v1.xml
new file mode 100644
index 0000000..cfe24fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00242/00242-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00242" id="case00242" name="case00242" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="9.8" constant="true"/>
+      <parameter id="k2" name="k2" value="0.57" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00242/00242-settings.txt b/models/sbml-test-suite/cases/semantic/00242/00242-settings.txt
new file mode 100644
index 0000000..53ae03f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00242/00242-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00243/00243-results.csv b/models/sbml-test-suite/cases/semantic/00243/00243-results.csv
new file mode 100644
index 0000000..642b9e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00243/00243-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,1.5,2.,0.5
+0.12,1.,1.412583341805534,2.087416658194465,0.5874166581944652
+0.24,1.,1.334560056597419,2.165439943402581,0.665439943402581
+0.36,1.,1.265090401454172,2.234909598545828,0.7349095985458282
+0.48,1.,1.203370824364381,2.296629175635619,0.7966291756356188
+0.6,1.,1.148642428120183,2.351357571879816,0.8513575718798164
+0.72,1.,1.100196275028292,2.399803724971707,0.8998037249717075
+0.84,1.,1.057376141392034,2.442623858607965,0.9426238586079656
+0.96,1.,1.0195793375204,2.4804206624796,0.9804206624796
+1.08,1.,0.9862559754418143,2.513744024558185,1.013744024558186
+1.2,1.,0.9569072069726688,2.54309279302733,1.043092793027331
+1.32,1.,0.9310826878972744,2.568917312102724,1.068917312102726
+1.44,1.,0.9083775680838265,2.591622431916172,1.091622431916174
+1.56,1.,0.8884292228099267,2.611570777190072,1.111570777190074
+1.68,1.,0.8709138719723269,2.629086128027672,1.129086128027673
+1.8,1.,0.8555432004770841,2.644456799522914,1.144456799522916
+1.92,1.,0.8420610826014922,2.657938917398507,1.157938917398508
+2.04,1.,0.8302404625735301,2.669759537426469,1.169759537426471
+2.16,1.,0.8198804205995293,2.68011957940047,1.180119579400471
+2.28,1.,0.8108034325961602,2.689196567403838,1.18919656740384
+2.4,1.,0.8028528379976763,2.697147162002322,1.197147162002324
+2.52,1.,0.7958906075993096,2.704109392400689,1.204109392400691
+2.64,1.,0.7897951972382493,2.710204802761749,1.210204802761751
+2.76,1.,0.7844596952903489,2.71554030470965,1.215540304709652
+2.88,1.,0.7797901563845346,2.720209843615464,1.220209843615466
+3.,1.,0.775704050245323,2.724295949754676,1.224295949754678
+3.12,1.,0.7721289301630502,2.727871069836949,1.22787106983695
+3.24,1.,0.7690012582507155,2.730998741749283,1.230998741749285
+3.36,1.,0.7662652866137916,2.733734713386207,1.233734713386209
+3.48,1.,0.7638721765212646,2.736127823478735,1.236127823478736
+3.6,1.,0.7617791127747595,2.738220887225239,1.238220887225241
+3.72,1.,0.7599485956772374,2.740051404322761,1.240051404322763
+3.84,1.,0.7583477763173469,2.741652223682652,1.241652223682654
+3.96,1.,0.7569479176614246,2.743052082338574,1.243052082338576
+4.08,1.,0.7557238465875918,2.744276153412407,1.244276153412409
+4.2,1.,0.7546535166773374,2.745346483322662,1.245346483322663
+4.32,1.,0.7537176550183719,2.746282344981627,1.246282344981628
+4.44,1.,0.7528993916638548,2.747100608336144,1.247100608336146
+4.56,1.,0.7521839674015952,2.747816032598404,1.247816032598406
+4.68,1.,0.7515584710730483,2.748441528926951,1.248441528926953
+4.8,1.,0.7510116096865721,2.748988390313427,1.248988390313429
+4.92,1.,0.7505335060941779,2.749466493905822,1.249466493905823
+5.04,1.,0.7501155217284242,2.749884478271575,1.249884478271576
+5.16,1.,0.749750101770621,2.750249898229379,1.250249898229379
+5.28,1.,0.7494306395643237,2.750569360435676,1.250569360435677
+5.4,1.,0.7491513579051088,2.750848642094891,1.250848642094891
+5.52,1.,0.7489072051252562,2.751092794874744,1.251092794874744
+5.64,1.,0.7486937641455855,2.751306235854414,1.251306235854415
+5.76,1.,0.7485071728880721,2.751492827111928,1.251492827111928
+5.88,1.,0.7483440547199719,2.751655945280028,1.251655945280028
+6.,1.,0.7482014576320058,2.751798542367994,1.251798542367995
diff --git a/models/sbml-test-suite/cases/semantic/00243/00243-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00243/00243-sbml-l2v4.xml
new file mode 100644
index 0000000..b7ff8a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00243/00243-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00243" id="case00243" name="case00243">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6"/>
+      <parameter id="k2" name="k2" value="0.13"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00243/00243-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00243/00243-sbml-l3v1.xml
new file mode 100644
index 0000000..4495c39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00243/00243-sbml-l3v1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00243" id="case00243" name="case00243" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6" constant="true"/>
+      <parameter id="k2" name="k2" value="0.13" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00243/00243-settings.txt b/models/sbml-test-suite/cases/semantic/00243/00243-settings.txt
new file mode 100644
index 0000000..7842fd3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00243/00243-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00244/00244-results.csv b/models/sbml-test-suite/cases/semantic/00244/00244-results.csv
new file mode 100644
index 0000000..2012f3a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00244/00244-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,1.5,2.,0.5
+0.1,0.9286211533757919,1.428621153375792,2.071378846624206,0.5
+0.2,0.8670698625673035,1.367069862567304,2.132930137432695,0.5
+0.3,0.8135977045141983,1.313597704514198,2.1864022954858,0.5
+0.4,0.7668439192949703,1.26684391929497,2.233156080705028,0.5
+0.5,0.7257335147781451,1.225733514778145,2.274266485221854,0.5
+0.6,0.6894059210017028,1.189405921001702,2.310594078998296,0.5
+0.7,0.6571640074653228,1.157164007465322,2.342835992534677,0.5
+0.8,0.6284370067559814,1.128437006755981,2.371562993244018,0.5
+0.9,0.6027531119454302,1.10275311194543,2.397246888054569,0.5
+1.,0.5797188968014018,1.079718896801401,2.420281103198598,0.5
+1.1,0.5590036866707636,1.059003686670763,2.440996313329236,0.5
+1.2,0.540327543022131,1.04032754302213,2.459672456977869,0.5
+1.3,0.523451892391759,1.023451892391758,2.476548107608241,0.5
+1.4,0.5081721878952958,1.008172187895295,2.491827812104704,0.5
+1.5,0.494312054559848,0.9943120545598476,2.505687945440152,0.5
+1.6,0.4817186433430699,0.9817186433430694,2.51828135665693,0.5
+1.7,0.4702588479183189,0.9702588479183184,2.529741152081681,0.5
+1.8,0.4598162492715297,0.9598162492715293,2.54018375072847,0.5
+1.9,0.4502886076004422,0.9502886076004417,2.549711392399558,0.5
+2.,0.4415857959827084,0.9415857959827078,2.558414204017292,0.5
+2.1,0.43362808972603,0.9336280897260295,2.566371910273971,0.5
+2.2,0.4263447297588055,0.926344729758805,2.573655270241196,0.5
+2.3,0.4196727381755359,0.9196727381755355,2.580327261824465,0.5
+2.4,0.4135558932640755,0.9135558932640752,2.586444106735926,0.5
+2.5,0.4079438773407558,0.9079438773407555,2.592056122659245,0.5
+2.6,0.4027915546246904,0.9027915546246903,2.59720844537531,0.5
+2.7,0.3980583439783944,0.8980583439783943,2.601941656021606,0.5
+2.8,0.3937076757828713,0.8937076757828712,2.606292324217129,0.5
+2.9,0.3897065430876524,0.8897065430876524,2.610293456912348,0.5
+3.,0.3860250954356615,0.8860250954356614,2.613974904564339,0.5
+3.1,0.382636289268321,0.882636289268321,2.617363710731679,0.5
+3.2,0.3795155955954526,0.8795155955954526,2.620484404404548,0.5
+3.3,0.3766407194386052,0.8766407194386053,2.623359280561395,0.5
+3.4,0.3739913876706437,0.8739913876706436,2.626008612329357,0.5
+3.5,0.3715491274435419,0.8715491274435418,2.628450872556458,0.5
+3.6,0.3692970918703774,0.8692970918703772,2.630702908129622,0.5
+3.7,0.3672199019860534,0.8672199019860532,2.632780098013947,0.5
+3.8,0.3653035062733418,0.8653035062733416,2.634696493726659,0.5
+3.9,0.3635350511910731,0.8635350511910728,2.636464948808928,0.5
+4.,0.361902768896782,0.8619027688967818,2.638097231103218,0.5
+4.1,0.3603958773092731,0.8603958773092729,2.639604122690727,0.5
+4.2,0.3590044931298228,0.8590044931298224,2.640995506870178,0.5
+4.3,0.3577195475140944,0.857719547514094,2.642280452485906,0.5
+4.4,0.356532714907384,0.8565327149073837,2.643467285092616,0.5
+4.5,0.3554363475166006,0.8554363475166003,2.644563652483399,0.5
+4.6,0.35442341631716,0.8544234163171597,2.64557658368284,0.5
+4.7,0.353487457734319,0.8534874577343187,2.646512542265681,0.5
+4.8,0.3526225253794842,0.8526225253794839,2.647377474620516,0.5
+4.9,0.3518231467815112,0.8518231467815109,2.648176853218489,0.5
+5.,0.3510842819177102,0.85108428191771,2.64891571808229,0.5
diff --git a/models/sbml-test-suite/cases/semantic/00244/00244-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00244/00244-sbml-l2v4.xml
new file mode 100644
index 0000000..762a3c1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00244/00244-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00244" id="case00244" name="case00244">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.5" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6"/>
+      <parameter id="k2" name="k2" value="0.13"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00244/00244-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00244/00244-sbml-l3v1.xml
new file mode 100644
index 0000000..38c2cf8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00244/00244-sbml-l3v1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00244" id="case00244" name="case00244" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6" constant="true"/>
+      <parameter id="k2" name="k2" value="0.13" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00244/00244-settings.txt b/models/sbml-test-suite/cases/semantic/00244/00244-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00244/00244-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00245/00245-results.csv b/models/sbml-test-suite/cases/semantic/00245/00245-results.csv
new file mode 100644
index 0000000..2adcf25
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00245/00245-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,1.5,2.,0.5
+0.2,1.,1.5,2.148909357674639,0.6489093576746416
+0.4,1.,1.5,2.287383693548844,0.7873836935488458
+0.6,1.,1.5,2.415230564160422,0.9152305641604243
+0.8,1.,1.5,2.532483460011828,1.03248346001183
+1.,1.,1.5,2.639366364338099,1.139366364338101
+1.2,1.,1.5,2.736256086867018,1.236256086867021
+1.4,1.,1.5,2.823645184620633,1.323645184620636
+1.6,1.,1.5,2.90210749290042,1.402107492900422
+1.8,1.,1.5,2.972267659131078,1.472267659131079
+2.,1.,1.5,3.034775320619699,1.534775320619701
+2.2,1.,1.5,3.090284114803735,1.590284114803737
+2.4,1.,1.5,3.139435342658826,1.639435342658827
+2.6,1.,1.5,3.182845828804633,1.682845828804635
+2.8,1.,1.5,3.221099423372134,1.721099423372136
+3.,1.,1.5,3.254741589083369,1.75474158908337
+3.2,1.,1.5,3.284276392089438,1.784276392089439
+3.4,1.,1.5,3.310165407818153,1.810165407818154
+3.6,1.,1.5,3.332828056009419,1.83282805600942
+3.8,1.,1.5,3.352642982770467,1.852642982770468
+4.,1.,1.5,3.369950131100018,1.869950131100019
+4.2,1.,1.5,3.385053254844034,1.885053254844036
+4.4,1.,1.5,3.398222655559513,1.898222655559516
+4.6,1.,1.5,3.409698016885486,1.909698016885488
+4.8,1.,1.5,3.419691279136468,1.91969127913647
+5.,1.,1.5,3.428389326946982,1.928389326946984
+5.2,1.,1.5,3.43595658879533,1.935956588795333
+5.4,1.,1.5,3.442537488880812,1.942537488880815
+5.6,1.,1.5,3.44825861088377,1.948258610883773
+5.8,1.,1.5,3.453230823218009,1.953230823218012
+6.,1.,1.5,3.457551014017066,1.957551014017069
+6.2,1.,1.5,3.461303856687148,1.961303856687152
+6.4,1.,1.5,3.464563214147123,1.964563214147126
+6.6,1.,1.5,3.467393490943073,1.967393490943077
+6.8,1.,1.5,3.469850823713362,1.969850823713365
+7.,1.,1.5,3.471984067888772,1.971984067888775
+7.2,1.,1.5,3.473835770046657,1.97383577004666
+7.4,1.,1.5,3.475442928108877,1.97544292810888
+7.6,1.,1.5,3.476837719622619,1.976837719622621
+7.8,1.,1.5,3.478048122994084,1.978048122994086
+8.,1.,1.5,3.479098441286724,1.979098441286726
+8.2,1.,1.5,3.480009802877326,1.980009802877328
+8.4,1.,1.5,3.480800552695784,1.980800552695785
+8.6,1.,1.5,3.481486620575096,1.981486620575098
+8.8,1.,1.5,3.482081845746042,1.982081845746043
+9.,1.,1.5,3.482598241075838,1.982598241075841
+9.2,1.,1.5,3.483046234876064,1.983046234876067
+9.4,1.,1.5,3.483434878508815,1.983434878508818
+9.6,1.,1.5,3.483772027500181,1.983772027500183
+9.8,1.,1.5,3.484064498697761,1.984064498697764
+10.,1.,1.5,3.484318209554856,1.984318209554858
diff --git a/models/sbml-test-suite/cases/semantic/00245/00245-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00245/00245-sbml-l2v4.xml
new file mode 100644
index 0000000..d68539a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00245/00245-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00245" id="case00245" name="case00245">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6"/>
+      <parameter id="k2" name="k2" value="0.13"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00245/00245-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00245/00245-sbml-l3v1.xml
new file mode 100644
index 0000000..d34fabe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00245/00245-sbml-l3v1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00245" id="case00245" name="case00245" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6" constant="true"/>
+      <parameter id="k2" name="k2" value="0.13" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00245/00245-settings.txt b/models/sbml-test-suite/cases/semantic/00245/00245-settings.txt
new file mode 100644
index 0000000..5dd8210
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00245/00245-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00246/00246-results.csv b/models/sbml-test-suite/cases/semantic/00246/00246-results.csv
new file mode 100644
index 0000000..86514b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00246/00246-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1,1.5,2,0.5
+0.16,1,1.3849,2,0.6151
+0.32,1,1.2846,2,0.715403
+0.48,1,1.19719,2,0.802812
+0.64,1,1.12102,2,0.878984
+0.8,1,1.05464,2,0.945364
+0.96,1,0.996789,2,1.00321
+1.12,1,0.946379,2,1.05362
+1.28,1,0.902449,2,1.09755
+1.44,1,0.864166,2,1.13583
+1.6,1,0.830805,2,1.1692
+1.76,1,0.801732,2,1.19827
+1.92,1,0.776397,2,1.2236
+2.08,1,0.754318,2,1.24568
+2.24,1,0.735078,2,1.26492
+2.4,1,0.718311,2,1.28169
+2.56,1,0.7037,2,1.2963
+2.72,1,0.690967,2,1.30903
+2.88,1,0.679871,2,1.32013
+3.04,1,0.670201,2,1.3298
+3.2,1,0.661775,2,1.33823
+3.36,1,0.654431,2,1.34557
+3.52,1,0.648032,2,1.35197
+3.68,1,0.642455,2,1.35754
+3.84,1,0.637595,2,1.3624
+4,1,0.63336,2,1.36664
+4.16,1,0.62967,2,1.37033
+4.32,1,0.626453,2,1.37355
+4.48,1,0.623651,2,1.37635
+4.64,1,0.621208,2,1.37879
+4.8,1,0.61908,2,1.38092
+4.96,1,0.617225,2,1.38278
+5.12,1,0.615609,2,1.38439
+5.28,1,0.6142,2,1.3858
+5.44,1,0.612972,2,1.38703
+5.6,1,0.611903,2,1.3881
+5.76,1,0.61097,2,1.38903
+5.92,1,0.610158,2,1.38984
+6.08,1,0.60945,2,1.39055
+6.24,1,0.608833,2,1.39117
+6.4,1,0.608296,2,1.3917
+6.56,1,0.607827,2,1.39217
+6.72,1,0.607419,2,1.39258
+6.88,1,0.607063,2,1.39294
+7.04,1,0.606753,2,1.39325
+7.2,1,0.606483,2,1.39352
+7.36,1,0.606247,2,1.39375
+7.52,1,0.606042,2,1.39396
+7.68,1,0.605863,2,1.39414
+7.84,1,0.605708,2,1.39429
+8,1,0.605572,2,1.39443
diff --git a/models/sbml-test-suite/cases/semantic/00246/00246-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00246/00246-sbml-l2v4.xml
new file mode 100644
index 0000000..4e0b753
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00246/00246-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00246" id="case00246" name="case00246">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6"/>
+      <parameter id="k2" name="k2" value="0.13"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00246/00246-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00246/00246-sbml-l3v1.xml
new file mode 100644
index 0000000..c95b680
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00246/00246-sbml-l3v1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00246" id="case00246" name="case00246" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6" constant="true"/>
+      <parameter id="k2" name="k2" value="0.13" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00246/00246-settings.txt b/models/sbml-test-suite/cases/semantic/00246/00246-settings.txt
new file mode 100644
index 0000000..95e6115
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00246/00246-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00247/00247-results.csv b/models/sbml-test-suite/cases/semantic/00247/00247-results.csv
new file mode 100644
index 0000000..90d4500
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00247/00247-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,1.5,2.,0.5
+0.1,0.928394405808831,1.42839440580883,2.,0.5
+0.2,0.8662427705470345,1.366242770547033,2.,0.5
+0.3,0.8118912698925396,1.311891269892538,2.,0.5
+0.4,0.7640487259150489,1.264048725915048,2.,0.5
+0.5,0.7216923123618576,1.221692312361856,2.,0.5
+0.6,0.6840012306432394,1.184001230643238,2.,0.5
+0.7,0.6503091255065897,1.150309125506588,2.,0.5
+0.8,0.6200693700281091,1.120069370028108,2.,0.5
+0.9,0.5928292999042553,1.092829299904254,2.,0.5
+1.,0.5682108219181375,1.068210821918136,2.,0.5
+1.1,0.5458956680706152,1.045895668070614,2.,0.5
+1.2,0.5256139938967354,1.025613993896734,2.,0.5
+1.3,0.5071354925322805,1.007135492532279,2.,0.5
+1.4,0.4902624063989098,0.9902624063989089,2.,0.5
+1.5,0.4748239816376311,0.9748239816376302,2.,0.5
+1.6,0.4606719952739837,0.9606719952739827,2.,0.5
+1.7,0.4476771706419762,0.9476771706419753,2.,0.5
+1.8,0.4357262413166232,0.9357262413166221,2.,0.5
+1.9,0.4247195541012997,0.9247195541012986,2.,0.5
+2.,0.4145690887463597,0.9145690887463586,2.,0.5
+2.1,0.4051968141358903,0.9051968141358891,2.,0.5
+2.2,0.3965333236586977,0.8965333236586964,2.,0.5
+2.3,0.3885166700262877,0.8885166700262863,2.,0.5
+2.4,0.3810914132929156,0.8810914132929144,2.,0.5
+2.5,0.3742077897136282,0.874207789713627,2.,0.5
+2.6,0.3678210079667871,0.8678210079667859,2.,0.5
+2.7,0.3618906591137083,0.8618906591137071,2.,0.5
+2.8,0.3563802022962867,0.8563802022962854,2.,0.5
+2.9,0.3512565163246891,0.8512565163246879,2.,0.5
+3.,0.3464895195979554,0.8464895195979543,2.,0.5
+3.1,0.3420518442061399,0.8420518442061389,2.,0.5
+3.2,0.337918532488743,0.837918532488742,2.,0.5
+3.3,0.3340668019194108,0.8340668019194099,2.,0.5
+3.4,0.3304758056803943,0.8304758056803935,2.,0.5
+3.5,0.3271264501175792,0.8271264501175784,2.,0.5
+3.6,0.3240012196326846,0.8240012196326838,2.,0.5
+3.7,0.3210840220733962,0.8210840220733954,2.,0.5
+3.8,0.3183600544270289,0.8183600544270281,2.,0.5
+3.9,0.3158156842229067,0.8158156842229059,2.,0.5
+4.,0.3134383448733655,0.8134383448733647,2.,0.5
+4.1,0.311216437644902,0.8112164376449013,2.,0.5
+4.2,0.3091392449789202,0.8091392449789194,2.,0.5
+4.3,0.3071968579560444,0.8071968579560435,2.,0.5
+4.4,0.305380103738945,0.8053801037389443,2.,0.5
+4.5,0.3036804856637302,0.8036804856637294,2.,0.5
+4.6,0.3020901267392185,0.8020901267392176,2.,0.5
+4.7,0.3006017190478247,0.8006017190478239,2.,0.5
+4.8,0.2992084779104534,0.7992084779104526,2.,0.5
+4.9,0.297904100360099,0.7979041003600981,2.,0.5
+5.,0.2966827270712069,0.796682727071206,2.,0.5
diff --git a/models/sbml-test-suite/cases/semantic/00247/00247-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00247/00247-sbml-l2v4.xml
new file mode 100644
index 0000000..31019cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00247/00247-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00247" id="case00247" name="case00247">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.5" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6"/>
+      <parameter id="k2" name="k2" value="0.13"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00247/00247-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00247/00247-sbml-l3v1.xml
new file mode 100644
index 0000000..cf3563d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00247/00247-sbml-l3v1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00247" id="case00247" name="case00247" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6" constant="true"/>
+      <parameter id="k2" name="k2" value="0.13" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00247/00247-settings.txt b/models/sbml-test-suite/cases/semantic/00247/00247-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00247/00247-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00248/00248-results.csv b/models/sbml-test-suite/cases/semantic/00248/00248-results.csv
new file mode 100644
index 0000000..1958435
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00248/00248-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0.5,1.2
+0.05,1.385087915484535,0.6149120845154655,1.2
+0.1,1.278978897786889,0.7210211022131113,1.2
+0.15,1.180998886760524,0.8190011132394762,1.2
+0.2,1.090524812324853,0.9094751876751474,1.2
+0.25,1.006981795002467,0.9930182049975331,1.2
+0.3,0.9298389935225643,1.070161006477436,1.2
+0.35,0.8586056385983498,1.14139436140165,1.2
+0.4,0.7928296978272892,1.207170302172711,1.2
+0.45,0.7320924912505036,1.267907508749496,1.2
+0.5,0.6760082685513511,1.323991731448649,1.2
+0.55,0.6242207399098376,1.375779260090162,1.2
+0.6,0.5764002585746092,1.423599741425391,1.2
+0.65,0.5322434422448873,1.467756557755113,1.2
+0.7,0.4914693206095517,1.508530679390448,1.2
+0.75,0.4538187415280231,1.546181258471977,1.2
+0.8,0.4190526800220857,1.580947319977914,1.2
+0.85,0.3869497898082085,1.613050210191791,1.2
+0.9,0.3573063453616154,1.642693654638385,1.2
+0.95,0.3299338466192666,1.670066153380733,1.2
+1,0.3046581875970483,1.695341812402952,1.2
+1.05,0.2813189844787809,1.718681015521219,1.2
+1.1,0.2597676529687272,1.740232347031272,1.2
+1.15,0.2398673518853725,1.760132648114627,1.2
+1.2,0.2214916298246789,1.778508370175321,1.2
+1.25,0.2045235348902557,1.795476465109744,1.2
+1.3,0.1888554200015934,1.811144579998406,1.2
+1.35,0.1743875716145927,1.825612428385407,1.2
+1.4,0.161028058747646,1.838971941252354,1.2
+1.45,0.1486920509021578,1.851307949097842,1.2
+1.5,0.137301011130807,1.862698988869193,1.2
+1.55,0.1267826610429951,1.873217338957005,1.2
+1.6,0.1170700999747489,1.882929900025251,1.2
+1.65,0.1081015650567167,1.891898434943283,1.2
+1.7,0.09982013964473262,1.900179860355267,1.2
+1.75,0.0921730988737087,1.907826901126291,1.2
+1.8,0.08511189764894696,1.914888102351052,1.2
+1.85,0.07859165632235549,1.921408343677644,1.2
+1.9,0.07257088420838376,1.927429115791616,1.2
+1.95,0.06701138390832172,1.932988616091678,1.2
+2,0.06187776908133676,1.938122230918663,1.2
+2.05,0.05713742818518536,1.942862571814814,1.2
+2.1,0.05276025424353502,1.947239745756464,1.2
+2.15,0.04871838205570191,1.951281617944297,1.2
+2.2,0.04498616762325691,1.955013832376743,1.2
+2.25,0.04153986753852769,1.958460132461472,1.2
+2.3,0.03835757209218641,1.961642427907813,1.2
+2.35,0.03541908228542968,1.96458091771457,1.2
+2.4,0.03270568721988378,1.967294312780116,1.2
+2.45,0.03020016782926456,1.969799832170735,1.2
+2.5,0.02788660076496451,1.972113399235035,1.2
diff --git a/models/sbml-test-suite/cases/semantic/00248/00248-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00248/00248-sbml-l2v4.xml
new file mode 100644
index 0000000..2e818cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00248/00248-sbml-l2v4.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00248" id="case00248" name="case00248">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1.34" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.2" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.78"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00248/00248-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00248/00248-sbml-l3v1.xml
new file mode 100644
index 0000000..2fde049
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00248/00248-sbml-l3v1.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00248" id="case00248" name="case00248" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1.34" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.78" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00248/00248-settings.txt b/models/sbml-test-suite/cases/semantic/00248/00248-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00248/00248-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00249/00249-results.csv b/models/sbml-test-suite/cases/semantic/00249/00249-results.csv
new file mode 100644
index 0000000..b6d2803
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00249/00249-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.0015,0.00075,0.00125
+0.06,0.0008983056283702695,0.00139830562837027,0.0008516943716297305,0.00125
+0.12,0.0008159008802173351,0.001315900880217335,0.000934099119782665,0.00125
+0.18,0.0007481872872824412,0.001248187287282441,0.001001812712717559,0.00125
+0.24,0.0006919040330670013,0.001191904033067001,0.001058095966932999,0.00125
+0.3,0.0006446740428895972,0.001144674042889597,0.001105325957110403,0.00125
+0.36,0.0006047233684784497,0.00110472336847845,0.00114527663152155,0.00125
+0.42,0.0005707012329943114,0.001070701232994311,0.001179298767005689,0.00125
+0.48,0.0005415609329165119,0.001041560932916512,0.001208439067083488,0.00125
+0.54,0.0005164789104161791,0.001016478910416179,0.001233521089583821,0.00125
+0.6,0.000494798421540288,0.0009947984215402878,0.001255201578459712,0.00125
+0.66,0.0004759895009156586,0.0009759895009156585,0.001274010499084342,0.00125
+0.72,0.0004596199682382772,0.000959619968238277,0.001290380031761723,0.00125
+0.78,0.0004453340762695636,0.0009453340762695635,0.001304665923730437,0.00125
+0.84,0.0004328365408765855,0.0009328365408765853,0.001317163459123415,0.00125
+0.9,0.0004218804361033149,0.0009218804361033148,0.001328119563896685,0.00125
+0.96,0.000412257896052905,0.0009122578960529049,0.001337742103947095,0.00125
+1.02,0.0004037928864205873,0.0009037928864205873,0.001346207113579413,0.00125
+1.08,0.0003963355273054334,0.0008963355273054333,0.001353664472694567,0.00125
+1.14,0.0003897576121528721,0.000889757612152872,0.001360242387847128,0.00125
+1.2,0.0003839490018386172,0.0008839490018386169,0.001366050998161383,0.00125
+1.26,0.0003788147022759362,0.0008788147022759361,0.001371185297724064,0.00125
+1.32,0.0003742724975975772,0.0008742724975975771,0.001375727502402423,0.00125
+1.38,0.0003702510393747493,0.0008702510393747492,0.001379748960625251,0.00125
+1.44,0.000366688216253334,0.0008666882162533338,0.001383311783746666,0.00125
+1.5,0.0003635298157504399,0.0008635298157504398,0.00138647018424956,0.00125
+1.56,0.0003607284533490242,0.0008607284533490241,0.001389271546650976,0.00125
+1.62,0.0003582425905384694,0.0008582425905384693,0.00139175740946153,0.00125
+1.68,0.0003560357670648947,0.0008560357670648946,0.001393964232935105,0.00125
+1.74,0.0003540759434464913,0.0008540759434464911,0.001395924056553509,0.00125
+1.8,0.0003523348847176219,0.0008523348847176218,0.001397665115282378,0.00125
+1.86,0.0003507877329759157,0.0008507877329759155,0.001399212267024084,0.00125
+1.92,0.0003494125202712031,0.000849412520271203,0.001400587479728797,0.00125
+1.98,0.0003481898668199476,0.0008481898668199475,0.001401810133180052,0.00125
+2.04,0.0003471026155925602,0.0008471026155925601,0.001402897384407439,0.00125
+2.1,0.0003461356020276441,0.000846135602027644,0.001403864397972356,0.00125
+2.16,0.0003452753821795532,0.0008452753821795531,0.001404724617820447,0.00125
+2.22,0.0003445100586596626,0.0008445100586596626,0.001405489941340337,0.00125
+2.28,0.0003438290663775355,0.0008438290663775354,0.001406170933622464,0.00125
+2.34,0.0003432230540467571,0.000843223054046757,0.001406776945953243,0.00125
+2.4,0.0003426836981205831,0.000842683698120583,0.001407316301879417,0.00125
+2.46,0.0003422036377721001,0.0008422036377720999,0.0014077963622279,0.00125
+2.52,0.000341776305091624,0.000841776305091624,0.001408223694908376,0.00125
+2.58,0.0003413958939371342,0.0008413958939371339,0.001408604106062866,0.00125
+2.64,0.0003410572226683963,0.0008410572226683961,0.001408942777331604,0.00125
+2.7,0.0003407556955202814,0.0008407556955202812,0.001409244304479718,0.00125
+2.76,0.0003404872311356084,0.0008404872311356083,0.001409512768864392,0.00125
+2.82,0.0003402481815083421,0.0008402481815083417,0.001409751818491658,0.00125
+2.88,0.0003400353275297622,0.0008400353275297619,0.001409964672470238,0.00125
+2.94,0.0003398457863381003,0.0008398457863381001,0.001410154213661899,0.00125
+3,0.0003396769978342559,0.0008396769978342557,0.001410323002165744,0.00125
diff --git a/models/sbml-test-suite/cases/semantic/00249/00249-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00249/00249-sbml-l2v4.xml
new file mode 100644
index 0000000..39dfb34
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00249/00249-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00249" id="case00249" name="case00249">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1.2" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00075" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.00125" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1680"/>
+      <parameter id="k2" name="k2" value="270"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00249/00249-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00249/00249-sbml-l3v1.xml
new file mode 100644
index 0000000..3eb255d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00249/00249-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00249" id="case00249" name="case00249" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1.2" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00075" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.00125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1680" constant="true"/>
+      <parameter id="k2" name="k2" value="270" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00249/00249-settings.txt b/models/sbml-test-suite/cases/semantic/00249/00249-settings.txt
new file mode 100644
index 0000000..3870810
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00249/00249-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00250/00250-results.csv b/models/sbml-test-suite/cases/semantic/00250/00250-results.csv
new file mode 100644
index 0000000..b1ae064
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00250/00250-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,1e-006,1.5e-006,2e-006,5e-007,1e-006
+0.04,1.011434392304436e-006,1.511434392304436e-006,1.988565607695564e-006,4.885656076955641e-007,1e-006
+0.08,1.022526601271082e-006,1.522526601271082e-006,1.977473398728918e-006,4.774733987289183e-007,1e-006
+0.12,1.033289665993205e-006,1.533289665993205e-006,1.966710334006795e-006,4.667103340067947e-007,1e-006
+0.16,1.043735997104477e-006,1.543735997104478e-006,1.956264002895523e-006,4.562640028955226e-007,1e-006
+0.2,1.053877403925974e-006,1.553877403925975e-006,1.946122596074025e-006,4.461225960740255e-007,1e-006
+0.24,1.063725127997921e-006,1.563725127997921e-006,1.936274872002079e-006,4.362748720020795e-007,1e-006
+0.28,1.073289888883181e-006,1.573289888883181e-006,1.926710111116819e-006,4.267101111168188e-007,1e-006
+0.32,1.082581905162138e-006,1.582581905162139e-006,1.917418094837861e-006,4.174180948378615e-007,1e-006
+0.36,1.091610920462277e-006,1.591610920462278e-006,1.908389079537722e-006,4.083890795377226e-007,1e-006
+0.4,1.100386241776245e-006,1.600386241776245e-006,1.899613758223755e-006,3.996137582237555e-007,1e-006
+0.44,1.108916756479742e-006,1.608916756479743e-006,1.891083243520258e-006,3.910832435202576e-007,1e-006
+0.48,1.117210952076499e-006,1.617210952076499e-006,1.882789047923501e-006,3.827890479235014e-007,1e-006
+0.52,1.125276947349984e-006,1.625276947349985e-006,1.874723052650015e-006,3.747230526500154e-007,1e-006
+0.56,1.133122508920091e-006,1.633122508920091e-006,1.866877491079909e-006,3.668774910799087e-007,1e-006
+0.6,1.140755064940201e-006,1.640755064940201e-006,1.859244935059799e-006,3.592449350597993e-007,1e-006
+0.64,1.148181728527759e-006,1.648181728527759e-006,1.851818271472241e-006,3.518182714722413e-007,1e-006
+0.68,1.155409316817053e-006,1.655409316817054e-006,1.844590683182947e-006,3.445906831829468e-007,1e-006
+0.72,1.162444359871658e-006,1.662444359871658e-006,1.837555640128342e-006,3.375556401283423e-007,1e-006
+0.76,1.169293115577017e-006,1.669293115577017e-006,1.830706884422983e-006,3.307068844229832e-007,1e-006
+0.8,1.175961591474237e-006,1.675961591474238e-006,1.824038408525762e-006,3.240384085257625e-007,1e-006
+0.84,1.182455551072989e-006,1.68245555107299e-006,1.81754444892701e-006,3.175444489270107e-007,1e-006
+0.88,1.188780523822392e-006,1.688780523822392e-006,1.811219476177608e-006,3.11219476177608e-007,1e-006
+0.92,1.194941821773855e-006,1.694941821773856e-006,1.805058178226145e-006,3.050581782261447e-007,1e-006
+0.96,1.200944551004809e-006,1.700944551004809e-006,1.799055448995191e-006,2.990554489951912e-007,1e-006
+1,1.206793617142733e-006,1.706793617142734e-006,1.793206382857267e-006,2.932063828572666e-007,1e-006
+1.04,1.212493733922589e-006,1.71249373392259e-006,1.78750626607741e-006,2.875062660774105e-007,1e-006
+1.08,1.218049439301351e-006,1.718049439301351e-006,1.781950560698649e-006,2.819505606986488e-007,1e-006
+1.12,1.223465099877777e-006,1.723465099877777e-006,1.776534900122223e-006,2.765349001222234e-007,1e-006
+1.16,1.228744916584806e-006,1.728744916584807e-006,1.771255083415193e-006,2.712550834151934e-007,1e-006
+1.2,1.233892933071423e-006,1.733892933071423e-006,1.766107066928577e-006,2.661070669285766e-007,1e-006
+1.24,1.238913047973213e-006,1.738913047973214e-006,1.761086952026786e-006,2.610869520267867e-007,1e-006
+1.28,1.243809017150951e-006,1.743809017150951e-006,1.756190982849049e-006,2.561909828490485e-007,1e-006
+1.32,1.248584458673492e-006,1.748584458673492e-006,1.751415541326508e-006,2.514155413265077e-007,1e-006
+1.36,1.253242860526406e-006,1.753242860526406e-006,1.746757139473594e-006,2.467571394735939e-007,1e-006
+1.4,1.257787589904206e-006,1.757787589904206e-006,1.742212410095794e-006,2.42212410095794e-007,1e-006
+1.44,1.26222189468998e-006,1.762221894689979e-006,1.73777810531002e-006,2.377781053100204e-007,1e-006
+1.48,1.26654890749853e-006,1.76654890749853e-006,1.73345109250147e-006,2.334510925014696e-007,1e-006
+1.52,1.270771651990818e-006,1.770771651990818e-006,1.729228348009183e-006,2.292283480091823e-007,1e-006
+1.56,1.274893050754247e-006,1.774893050754247e-006,1.725106949245753e-006,2.251069492457528e-007,1e-006
+1.6,1.278915926286825e-006,1.778915926286825e-006,1.721084073713175e-006,2.210840737131745e-007,1e-006
+1.64,1.282843004250139e-006,1.782843004250139e-006,1.717156995749861e-006,2.171569957498609e-007,1e-006
+1.68,1.286676917778733e-006,1.786676917778733e-006,1.713323082221267e-006,2.133230822212667e-007,1e-006
+1.72,1.29042021506246e-006,1.79042021506246e-006,1.70957978493754e-006,2.095797849375395e-007,1e-006
+1.76,1.294075360111842e-006,1.794075360111841e-006,1.705924639888159e-006,2.059246398881584e-007,1e-006
+1.8,1.297644735332735e-006,1.797644735332735e-006,1.702355264667265e-006,2.023552646672651e-007,1e-006
+1.84,1.30113064366014e-006,1.801130643660139e-006,1.698869356339861e-006,1.988693563398604e-007,1e-006
+1.88,1.304535315944285e-006,1.804535315944284e-006,1.695464684055716e-006,1.954646840557156e-007,1e-006
+1.92,1.307860912311607e-006,1.807860912311607e-006,1.692139087688393e-006,1.921390876883925e-007,1e-006
+1.96,1.311109522826183e-006,1.811109522826183e-006,1.688890477173817e-006,1.888904771738166e-007,1e-006
+2,1.314283171475995e-006,1.814283171475995e-006,1.685716828524005e-006,1.85716828524005e-007,1e-006
diff --git a/models/sbml-test-suite/cases/semantic/00250/00250-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00250/00250-sbml-l2v4.xml
new file mode 100644
index 0000000..f9c9692
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00250/00250-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00250" id="case00250" name="case00250">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="0.2" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00250/00250-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00250/00250-sbml-l3v1.xml
new file mode 100644
index 0000000..99039ca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00250/00250-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00250" id="case00250" name="case00250" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="0.2" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00250/00250-settings.txt b/models/sbml-test-suite/cases/semantic/00250/00250-settings.txt
new file mode 100644
index 0000000..3b2bfb7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00250/00250-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00251/00251-results.csv b/models/sbml-test-suite/cases/semantic/00251/00251-results.csv
new file mode 100644
index 0000000..e8b4bfa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00251/00251-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0.5,1.2
+0.07,1.291681823074468,0.7083181769255309,1.2
+0.14,1.112294621258597,0.8877053787414027,1.2
+0.21,0.9578204943242094,1.04217950567579,1.2
+0.28,0.8247995372370914,1.175200462762908,1.2
+0.35,0.7102523774400476,1.289747622559952,1.2
+0.42,0.6116133913378377,1.388386608662162,1.2
+0.49,0.5266732325847262,1.473326767415273,1.2
+0.56,0.4535294934416448,1.546470506558355,1.2
+0.63,0.3905438683011105,1.609456131698889,1.2
+0.7,0.3363056105401602,1.663694389459839,1.2
+0.77,0.2895998963274639,1.710400103672536,1.2
+0.84,0.2493806151025529,1.750619384897447,1.2
+0.91,0.2147469388804849,1.785253061119514,1.2
+0.98,0.1849231455828263,1.815076854417173,1.2
+1.05,0.1592412444799541,1.840758755520045,1.2
+1.12,0.1371260145908977,1.862873985409102,1.2
+1.19,0.1180821209321377,1.881917879067862,1.2
+1.26,0.1016830200462374,1.898316979953762,1.2
+1.33,0.08756140631730211,1.912438593682697,1.2
+1.4,0.07540098509066232,1.924599014909337,1.2
+1.47,0.06492938833181817,1.935070611668181,1.2
+1.54,0.05591207415016998,1.944087925849829,1.2
+1.61,0.048147073549581,1.951852926450418,1.2
+1.68,0.04146046674392817,1.958539533256071,1.2
+1.75,0.03570248771653136,1.964297512283468,1.2
+1.82,0.0307441697737046,1.969255830226295,1.2
+1.89,0.0264744569598137,1.973525543040186,1.2
+1.96,0.02279771663555112,1.977202283364448,1.2
+2.03,0.01963159750636053,1.980368402493639,1.2
+2.1,0.01690518512530664,1.983094814874693,1.2
+2.17,0.01455741355753196,1.985442586442467,1.2
+2.24,0.01253569763361067,1.987464302366389,1.2
+2.31,0.01079475514952815,1.989205244850471,1.2
+2.38,0.009295592636591753,1.990704407363408,1.2
+2.45,0.008004631989969398,1.99199536801003,1.2
+2.52,0.006892958389969567,1.99310704161003,1.2
+2.59,0.005935672671000888,1.994064327328998,1.2
+2.66,0.00511133363266544,1.994888666367334,1.2
+2.73,0.004401477801948608,1.995598522198051,1.2
+2.8,0.003790205890204676,1.996209794109795,1.2
+2.87,0.003263826682456591,1.996736173317543,1.2
+2.94,0.002810550382888426,1.997189449617111,1.2
+3.01,0.00242022454812119,1.997579775451878,1.2
+3.08,0.002084106693737608,1.997915893306262,1.2
+3.15,0.001794668480923749,1.998205331519076,1.2
+3.22,0.001545427097422398,1.998454572902577,1.2
+3.29,0.00133080005608768,1.998669199943911,1.2
+3.36,0.001145980158834846,1.998854019841164,1.2
+3.43,0.0009868278254410781,1.999013172174558,1.2
+3.5,0.0008497784479825007,1.999150221552016,1.2
diff --git a/models/sbml-test-suite/cases/semantic/00251/00251-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00251/00251-sbml-l2v4.xml
new file mode 100644
index 0000000..d95343c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00251/00251-sbml-l2v4.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00251" id="case00251" name="case00251">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.2" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.78"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00251/00251-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00251/00251-sbml-l3v1.xml
new file mode 100644
index 0000000..0f6709b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00251/00251-sbml-l3v1.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00251" id="case00251" name="case00251" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.78" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00251/00251-settings.txt b/models/sbml-test-suite/cases/semantic/00251/00251-settings.txt
new file mode 100644
index 0000000..901d13b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00251/00251-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00252/00252-results.csv b/models/sbml-test-suite/cases/semantic/00252/00252-results.csv
new file mode 100644
index 0000000..54cf55a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00252/00252-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.0015,0.00075,0.00125
+0.06,0.0008804528629696365,0.001380452862969636,0.0008695471370303632,0.00125
+0.12,0.0007872591443724133,0.001287259144372412,0.0009627408556275863,0.00125
+0.18,0.0007132137705911085,0.001213213770591107,0.001036786229408891,0.00125
+0.24,0.0006534879404781976,0.001153487940478196,0.001096512059521803,0.00125
+0.3,0.0006047233605487407,0.001104723360548739,0.001145276639451259,0.00125
+0.36,0.000564511770972033,0.001064511770972031,0.001185488229027967,0.00125
+0.42,0.0005310811470046662,0.001031081147004665,0.001218918852995334,0.00125
+0.48,0.0005030988062566073,0.001003098806256605,0.001246901193743393,0.00125
+0.54,0.0004795435143631103,0.0009795435143631087,0.00127045648563689,0.00125
+0.6,0.0004596199635488457,0.0009596199635488442,0.001290380036451154,0.00125
+0.66,0.0004427000277291539,0.0009427000277291527,0.001307299972270846,0.00125
+0.72,0.000428281555235534,0.0009282815552355327,0.001321718444764466,0.00125
+0.78,0.0004159587912065841,0.0009159587912065829,0.001334041208793416,0.00125
+0.84,0.0004054008134423058,0.0009054008134423046,0.001344599186557694,0.00125
+0.9,0.0003963355219729678,0.0008963355219729664,0.001353664478027032,0.00125
+0.96,0.0003885375882564818,0.0008885375882564804,0.001361462411743518,0.00125
+1.02,0.0003818192295109984,0.000881819229510997,0.001368180770489001,0.00125
+1.08,0.0003760231154177091,0.0008760231154177078,0.001373976884582291,0.00125
+1.14,0.0003710167730363131,0.0008710167730363118,0.001378983226963687,0.00125
+1.2,0.000366688211374281,0.0008666882113742798,0.001383311788625719,0.00125
+1.26,0.0003629423884275066,0.0008629423884275055,0.001387057611572493,0.00125
+1.32,0.0003596983943281508,0.0008596983943281497,0.001390301605671849,0.00125
+1.38,0.0003568871542365396,0.0008568871542365387,0.00139311284576346,0.00125
+1.44,0.0003544495521496051,0.0008544495521496043,0.001395550447850395,0.00125
+1.5,0.0003523348852176303,0.0008523348852176294,0.001397665114782369,0.00125
+1.56,0.0003504995869273139,0.0008504995869273129,0.001399500413072686,0.00125
+1.62,0.0003489061589270649,0.0008489061589270639,0.001401093841072935,0.00125
+1.68,0.0003475222791979176,0.0008475222791979164,0.001402477720802082,0.00125
+1.74,0.0003463200531420341,0.000846320053142033,0.001403679946857966,0.00125
+1.8,0.0003452753815217509,0.0008452753815217496,0.001404724618478249,0.00125
+1.86,0.000344367427835183,0.0008443674278351817,0.001405632572164817,0.00125
+1.92,0.0003435781509792371,0.0008435781509792358,0.001406421849020762,0.00125
+1.98,0.000342891932409972,0.0008428919324099706,0.001407108067590028,0.00125
+2.04,0.0003422952301688867,0.0008422952301688854,0.001407704769831113,0.00125
+2.1,0.0003417763064300991,0.0008417763064300977,0.001408223693569901,0.00125
+2.16,0.000341324973767674,0.0008413249737676726,0.001408675026232326,0.00125
+2.22,0.0003409323939094107,0.0008409323939094094,0.001409067606090589,0.00125
+2.28,0.0003405908910309772,0.000840590891030976,0.001409409108969022,0.00125
+2.34,0.0003402937985596276,0.0008402937985596265,0.001409706201440372,0.00125
+2.4,0.0003400353269560112,0.0008400353269560099,0.001409964673043988,0.00125
+2.46,0.0003398104424822581,0.0008398104424822568,0.001410189557517741,0.00125
+2.52,0.0003396147727898443,0.0008396147727898431,0.001410385227210155,0.00125
+2.58,0.0003394445154701285,0.0008394445154701272,0.001410555484529871,0.00125
+2.64,0.0003392963647950947,0.0008392963647950935,0.001410703635204904,0.00125
+2.7,0.000339167447110719,0.0008391674471107179,0.00141083255288928,0.00125
+2.76,0.0003390552619560701,0.0008390552619560688,0.001410944738043929,0.00125
+2.82,0.0003389576359057521,0.0008389576359057508,0.001411042364094247,0.00125
+2.88,0.0003388726776481125,0.0008388726776481111,0.001411127322351887,0.00125
+2.94,0.0003387987420388608,0.0008387987420388596,0.001411201257961138,0.00125
+3.,0.0003387343982308917,0.0008387343982308904,0.001411265601769107,0.00125
diff --git a/models/sbml-test-suite/cases/semantic/00252/00252-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00252/00252-sbml-l2v4.xml
new file mode 100644
index 0000000..72e7888
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00252/00252-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00252" id="case00252" name="case00252">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00075" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.00125" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1680"/>
+      <parameter id="k2" name="k2" value="270"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00252/00252-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00252/00252-sbml-l3v1.xml
new file mode 100644
index 0000000..50382f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00252/00252-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00252" id="case00252" name="case00252" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00075" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.00125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1680" constant="true"/>
+      <parameter id="k2" name="k2" value="270" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00252/00252-settings.txt b/models/sbml-test-suite/cases/semantic/00252/00252-settings.txt
new file mode 100644
index 0000000..3870810
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00252/00252-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00253/00253-results.csv b/models/sbml-test-suite/cases/semantic/00253/00253-results.csv
new file mode 100644
index 0000000..4f6dba2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00253/00253-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7,9.999999999999999e-7
+0.04,9.389597079643723e-7,1.438959707964372e-6,2.061040292035627e-6,5.610402920356275e-7,9.999999999999999e-7
+0.08,8.866960875357621e-7,1.386696087535762e-6,2.113303912464238e-6,6.133039124642377e-7,9.999999999999999e-7
+0.12,8.417588271763808e-7,1.341758827176381e-6,2.158241172823618e-6,6.58241172823619e-7,9.999999999999999e-7
+0.16,8.029811572858246e-7,1.302981157285825e-6,2.197018842714174e-6,6.970188427141752e-7,9.999999999999999e-7
+0.2,7.694143855642448e-7,1.269414385564245e-6,2.230585614435754e-6,7.305856144357549e-7,9.999999999999999e-7
+0.24,7.402798425167762e-7,1.240279842516776e-6,2.259720157483222e-6,7.597201574832235e-7,9.999999999999999e-7
+0.28,7.149330646010629e-7,1.214933064601063e-6,2.285066935398935e-6,7.850669353989368e-7,9.999999999999999e-7
+0.32,6.92836683000088e-7,1.192836683000088e-6,2.307163316999909e-6,8.071633169999118e-7,9.999999999999999e-7
+0.36,6.735396919433461e-7,1.173539691943346e-6,2.326460308056651e-6,8.264603080566536e-7,9.999999999999999e-7
+0.4,6.566613024219375e-7,1.156661302421938e-6,2.343338697578059e-6,8.433386975780623e-7,9.999999999999999e-7
+0.44,6.418783689951896e-7,1.14187836899519e-6,2.358121631004807e-6,8.581216310048101e-7,9.999999999999999e-7
+0.48,6.289153769923319e-7,1.128915376992332e-6,2.371084623007665e-6,8.710846230076679e-7,9.999999999999999e-7
+0.52,6.175364356356689e-7,1.117536435635669e-6,2.382463564364328e-6,8.824635643643308e-7,9.999999999999999e-7
+0.56,6.075388526511111e-7,1.107538852651112e-6,2.392461147348885e-6,8.924611473488886e-7,9.999999999999999e-7
+0.6,5.987478929217906e-7,1.098747892921791e-6,2.401252107078206e-6,9.012521070782091e-7,9.999999999999999e-7
+0.64,5.910124738048314e-7,1.091012473804832e-6,2.408987526195165e-6,9.089875261951684e-7,9.999999999999999e-7
+0.68,5.842016280296117e-7,1.084201628029612e-6,2.415798371970385e-6,9.15798371970388e-7,9.999999999999999e-7
+0.72,5.782015661418184e-7,1.078201566141819e-6,2.421798433858179e-6,9.217984338581814e-7,9.999999999999999e-7
+0.76,5.729132256002133e-7,1.072913225600214e-6,2.427086774399783e-6,9.270867743997865e-7,9.999999999999999e-7
+0.8,5.682502086988119e-7,1.068250208698813e-6,2.431749791301184e-6,9.317497913011878e-7,9.999999999999999e-7
+0.84,5.641370352567391e-7,1.06413703525674e-6,2.435862964743258e-6,9.358629647432606e-7,9.999999999999999e-7
+0.88,5.605076688194867e-7,1.060507668819488e-6,2.43949233118051e-6,9.39492331180513e-7,9.999999999999999e-7
+0.92,5.573042712221429e-7,1.057304271222144e-6,2.442695728777854e-6,9.426957287778568e-7,9.999999999999999e-7
+0.96,5.544761233621076e-7,1.054476123362109e-6,2.445523876637889e-6,9.455238766378921e-7,9.999999999999999e-7
+1.,5.519787002370357e-7,1.051978700237037e-6,2.448021299762961e-6,9.480212997629641e-7,9.999999999999999e-7
+1.04,5.497728818090925e-7,1.049772881809094e-6,2.450227118190905e-6,9.502271181909072e-7,9.999999999999999e-7
+1.08,5.478242815365218e-7,1.047824281536523e-6,2.452175718463475e-6,9.521757184634779e-7,9.999999999999999e-7
+1.12,5.461026294104691e-7,1.04610262941047e-6,2.453897370589528e-6,9.538973705895307e-7,9.999999999999999e-7
+1.16,5.44581289484622e-7,1.044581289484623e-6,2.455418710515375e-6,9.554187105153779e-7,9.999999999999999e-7
+1.2,5.432367862310685e-7,1.04323678623107e-6,2.456763213768928e-6,9.567632137689313e-7,9.999999999999999e-7
+1.24,5.420484412027306e-7,1.042048441202732e-6,2.457951558797266e-6,9.579515587972693e-7,9.999999999999999e-7
+1.28,5.409980120713418e-7,1.040998012071343e-6,2.459001987928655e-6,9.590019879286578e-7,9.999999999999999e-7
+1.32,5.400694192262633e-7,1.040069419226265e-6,2.459930580773733e-6,9.599305807737363e-7,9.999999999999999e-7
+1.36,5.392484692176387e-7,1.03924846921764e-6,2.460751530782358e-6,9.607515307823608e-7,9.999999999999999e-7
+1.4,5.385226343054472e-7,1.038522634305448e-6,2.461477365694549e-6,9.614773656945525e-7,9.999999999999999e-7
+1.44,5.37880857267953e-7,1.037880857267954e-6,2.462119142732043e-6,9.621191427320468e-7,9.999999999999999e-7
+1.48,5.373133757509462e-7,1.037313375750947e-6,2.46268662424905e-6,9.626866242490536e-7,9.999999999999999e-7
+1.52,5.368115661223508e-7,1.036811566122352e-6,2.463188433877645e-6,9.631884338776489e-7,9.999999999999999e-7
+1.56,5.363678095699785e-7,1.03636780956998e-6,2.463632190430018e-6,9.636321904300213e-7,9.999999999999999e-7
+1.6,5.359753758055117e-7,1.035975375805513e-6,2.464024624194484e-6,9.640246241944878e-7,9.999999999999999e-7
+1.64,5.356283191145352e-7,1.035628319114537e-6,2.46437168088546e-6,9.643716808854643e-7,9.999999999999999e-7
+1.68,5.353213841798119e-7,1.035321384179813e-6,2.464678615820183e-6,9.646786158201878e-7,9.999999999999999e-7
+1.72,5.350499255337026e-7,1.035049925533704e-6,2.464950074466293e-6,9.649500744662967e-7,9.999999999999999e-7
+1.76,5.348098370543882e-7,1.034809837054389e-6,2.465190162945607e-6,9.651901629456114e-7,9.999999999999999e-7
+1.8,5.345974899863946e-7,1.034597489986396e-6,2.465402510013601e-6,9.654025100136049e-7,9.999999999999999e-7
+1.84,5.34409675950601e-7,1.034409675950602e-6,2.465590324049394e-6,9.655903240493985e-7,9.999999999999999e-7
+1.88,5.342435579014371e-7,1.034243557901439e-6,2.465756442098559e-6,9.657564420985623e-7,9.999999999999999e-7
+1.92,5.340966271938641e-7,1.034096627193866e-6,2.465903372806131e-6,9.659033728061353e-7,9.999999999999999e-7
+1.96,5.339666664953589e-7,1.03396666649536e-6,2.466033333504637e-6,9.660333335046404e-7,9.999999999999999e-7
+2.,5.338517145486229e-7,1.033851714548625e-6,2.466148285451373e-6,9.661482854513763e-7,9.999999999999999e-7
diff --git a/models/sbml-test-suite/cases/semantic/00253/00253-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00253/00253-sbml-l2v4.xml
new file mode 100644
index 0000000..4eb58a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00253/00253-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00253" id="case00253" name="case00253">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00253/00253-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00253/00253-sbml-l3v1.xml
new file mode 100644
index 0000000..e17e3f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00253/00253-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00253" id="case00253" name="case00253" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00253/00253-settings.txt b/models/sbml-test-suite/cases/semantic/00253/00253-settings.txt
new file mode 100644
index 0000000..291c70d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00253/00253-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00254/00254-results.csv b/models/sbml-test-suite/cases/semantic/00254/00254-results.csv
new file mode 100644
index 0000000..8392fe3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00254/00254-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0.5,1.2
+0.12,1.160841421605976,0.8391585783940241,1.2
+0.24,0.8983685417722825,1.101631458227718,1.2
+0.36,0.695242277621799,1.304757722378202,1.2
+0.48,0.538043996670294,1.461956003329707,1.2
+0.6,0.4163891663342948,1.583610833665706,1.2
+0.72,0.3222412160193493,1.677758783980651,1.2
+0.84,0.2493806151208356,1.750619384879164,1.2
+0.96,0.1929942437618318,1.807005756238168,1.2
+1.08,0.1493571451654082,1.850642854834592,1.2
+1.2,0.115586638776791,1.884413361223209,1.2
+1.32,0.08945183646582677,1.910548163534173,1.2
+1.44,0.06922626277132019,1.93077373722868,1.2
+1.56,0.05357380760879532,1.946426192391205,1.2
+1.68,0.04146046271986481,1.958539537280135,1.2
+1.8,0.03208601489363693,1.967913985106363,1.2
+1.92,0.02483118366499229,1.975168816335008,1.2
+2.04,0.0192167114347907,1.980783288565209,1.2
+2.16,0.01487170352018354,1.985128296479816,1.2
+2.28,0.01150912668506117,1.988490873314938,1.2
+2.4,0.008906847584839363,1.99109315241516,1.2
+2.52,0.006892958523760118,1.993107041476239,1.2
+2.64,0.005334421156908493,1.994665578843091,1.2
+2.76,0.004128277942091716,1.995871722057908,1.2
+2.88,0.003194850603599255,1.9968051493964,1.2
+3.,0.002472476545835685,1.997527523454164,1.2
+3.12,0.00191343542063644,1.998086564579363,1.2
+3.24,0.001480796714732029,1.998519203285267,1.2
+3.36,0.00114598011173648,1.998854019888263,1.2
+3.48,0.0008868674677668257,1.999113132532232,1.2
+3.6,0.0006863416786769989,1.999313658321322,1.2
+3.72,0.0005311559168990963,1.9994688440831,1.2
+3.84,0.0004110585398288646,1.99958894146017,1.2
+3.96,0.0003181158611979477,1.999681884138801,1.2
+4.08,0.0002461880476541816,1.999753811952345,1.2
+4.2,0.0001905235197429955,1.999809476480256,1.2
+4.32,0.0001474450587586519,1.99985255494124,1.2
+4.44,0.0001141068846003095,1.999885893115399,1.2
+4.56,0.00008830666328638266,1.999911693336713,1.2
+4.68,0.0000683400206079085,1.999931659979391,1.2
+4.8,0.00005288795087124051,1.999947112049128,1.2
+4.92,0.00004092968303821924,1.999959070316961,1.2
+5.04,0.00003167524825060271,1.999968324751749,1.2
+5.16,0.00002451329417544046,1.999975486705824,1.2
+5.28,0.00001897069879854072,1.999981029301201,1.2
+5.4,0.00001468131575610014,1.999985318684243,1.2
+5.52,0.00001136178651917493,1.99998863821348,1.2
+5.64,8.792821595184006e-6,1.999991207178404,1.2
+5.76,6.804714219048492e-6,1.999993195285781,1.2
+5.88,5.26612927821416e-6,1.999994733870722,1.2
+6.,4.075427568981857e-6,1.999995924572431,1.2
diff --git a/models/sbml-test-suite/cases/semantic/00254/00254-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00254/00254-sbml-l2v4.xml
new file mode 100644
index 0000000..4d57f6b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00254/00254-sbml-l2v4.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00254" id="case00254" name="case00254">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.2" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.78"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00254/00254-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00254/00254-sbml-l3v1.xml
new file mode 100644
index 0000000..30d3c09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00254/00254-sbml-l3v1.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00254" id="case00254" name="case00254" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.78" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00254/00254-settings.txt b/models/sbml-test-suite/cases/semantic/00254/00254-settings.txt
new file mode 100644
index 0000000..2671417
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00254/00254-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00255/00255-results.csv b/models/sbml-test-suite/cases/semantic/00255/00255-results.csv
new file mode 100644
index 0000000..b56a5eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00255/00255-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.0015,0.00075,0.00125
+0.04,0.0009169235056067256,0.001416923505606724,0.0008330764943932752,0.00125
+0.08,0.0008468786342176358,0.001346878634217634,0.000903121365782365,0.00125
+0.12,0.0007872591443728108,0.00128725914437281,0.0009627408556271901,0.00125
+0.16,0.0007361028438799604,0.001236102843879959,0.001013897156120041,0.00125
+0.2,0.0006919040362109429,0.001191904036210941,0.001058095963789058,0.00125
+0.24,0.0006534879404866804,0.001153487940486679,0.00109651205951332,0.00125
+0.28,0.0006199244395007774,0.001119924439500776,0.001130075560499224,0.00125
+0.32,0.0005904674996893005,0.001090467499689299,0.001159532500310701,0.00125
+0.36,0.0005645117709677101,0.001064511770967708,0.001185488229032291,0.00125
+0.4,0.0005415609280681269,0.001041560928068125,0.001208439071931874,0.00125
+0.44,0.0005212042143062595,0.001021204214306258,0.001228795785693742,0.00125
+0.48,0.0005030988062626614,0.00100309880626266,0.00124690119373734,0.00125
+0.52,0.0004869563915516126,0.0009869563915516112,0.001263043608448389,0.00125
+0.56,0.0004725328065845812,0.0009725328065845799,0.00127746719341542,0.00125
+0.6,0.0004596199635470357,0.0009596199635470344,0.001290380036452965,0.00125
+0.64,0.0004480394951282566,0.0009480394951282552,0.001301960504871744,0.00125
+0.68,0.0004376377160333441,0.0009376377160333429,0.001312362283966657,0.00125
+0.72,0.0004282815552422481,0.000928281555242247,0.001321718444757753,0.00125
+0.76,0.0004198552945429055,0.0009198552945429045,0.001330144705457096,0.00125
+0.8,0.0004122578952315277,0.0009122578952315266,0.001337742104768473,0.00125
+0.84,0.0004054008134465801,0.000905400813446579,0.001344599186553421,0.00125
+0.88,0.0003992061929544533,0.0008992061929544523,0.001350793807045548,0.00125
+0.92,0.0003936053629046205,0.0008936053629046194,0.001356394637095381,0.00125
+0.96,0.0003885375882533302,0.0008885375882533291,0.001361462411746672,0.00125
+1.,0.0003839490009289338,0.0008839490009289329,0.001366050999071068,0.00125
+1.04,0.0003797917265594072,0.0008797917265594062,0.001370208273440595,0.00125
+1.08,0.0003760231154140569,0.0008760231154140558,0.001373976884585945,0.00125
+1.12,0.0003726050946649485,0.0008726050946649474,0.001377394905335053,0.00125
+1.16,0.000369503624005554,0.0008695036240055528,0.001380496375994448,0.00125
+1.2,0.0003666882113792198,0.0008666882113792187,0.001383311788620782,0.00125
+1.24,0.0003641315063351885,0.0008641315063351875,0.001385868493664813,0.00125
+1.28,0.0003618089325002381,0.000861808932500237,0.001388191067499764,0.00125
+1.32,0.0003596983943330924,0.0008596983943330913,0.001390301605666909,0.00125
+1.36,0.0003577799855710977,0.0008577799855710965,0.001392220014428904,0.00125
+1.4,0.0003560357678363717,0.0008560357678363706,0.00139396423216363,0.00125
+1.44,0.0003544495521529266,0.0008544495521529254,0.001395550447847076,0.00125
+1.48,0.000353006716331223,0.0008530067163312218,0.001396993283668779,0.00125
+1.52,0.000351694045551988,0.0008516940455519868,0.001398305954448014,0.00125
+1.56,0.0003504995869280427,0.0008504995869280414,0.00139950041307196,0.00125
+1.6,0.0003494125203173725,0.0008494125203173712,0.00140058747968263,0.00125
+1.64,0.00034842304507658,0.0008484230450765787,0.001401576954923422,0.00125
+1.68,0.000347522279194754,0.0008475222791947527,0.001402477720805248,0.00125
+1.72,0.0003467021702908194,0.0008467021702908181,0.001403297829709183,0.00125
+1.76,0.0003459554136421258,0.0008459554136421244,0.001404044586357876,0.00125
+1.8,0.0003452753815188408,0.0008452753815188395,0.001404724618481161,0.00125
+1.84,0.0003446560543544585,0.0008446560543544571,0.001405343945645543,0.00125
+1.88,0.0003440919661316946,0.0008440919661316933,0.001405908033868307,0.00125
+1.92,0.0003435781509769395,0.0008435781509769383,0.001406421849023062,0.00125
+1.96,0.000343110096704576,0.0008431100967045749,0.001406889903295426,0.00125
+2.,0.0003426836998819391,0.0008426836998819379,0.001407316300118063,0.00125
diff --git a/models/sbml-test-suite/cases/semantic/00255/00255-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00255/00255-sbml-l2v4.xml
new file mode 100644
index 0000000..f166a2b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00255/00255-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00255" id="case00255" name="case00255">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00075" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.00125" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1680"/>
+      <parameter id="k2" name="k2" value="270"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00255/00255-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00255/00255-sbml-l3v1.xml
new file mode 100644
index 0000000..27ccdf2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00255/00255-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00255" id="case00255" name="case00255" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00075" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.00125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1680" constant="true"/>
+      <parameter id="k2" name="k2" value="270" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00255/00255-settings.txt b/models/sbml-test-suite/cases/semantic/00255/00255-settings.txt
new file mode 100644
index 0000000..ff46a3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00255/00255-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00256/00256-results.csv b/models/sbml-test-suite/cases/semantic/00256/00256-results.csv
new file mode 100644
index 0000000..2176438
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00256/00256-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7,9.999999999999999e-7
+0.06,9.118290194129193e-7,1.411829019412919e-6,2.08817098058708e-6,5.881709805870804e-7,9.999999999999999e-7
+0.12,8.417588271756139e-7,1.341758827175614e-6,2.158241172824385e-6,6.582411728243858e-7,9.999999999999999e-7
+0.18,7.855985910382263e-7,1.285598591038226e-6,2.214401408961773e-6,7.144014089617735e-7,9.999999999999999e-7
+0.24,7.402798425134829e-7,1.240279842513483e-6,2.259720157486517e-6,7.597201574865168e-7,9.999999999999999e-7
+0.3,7.035085814714767e-7,1.203508581471476e-6,2.296491418528523e-6,7.96491418528523e-7,9.999999999999999e-7
+0.36,6.73539692036937e-7,1.173539692036937e-6,2.326460307963063e-6,8.264603079630627e-7,9.999999999999999e-7
+0.42,6.490261370058649e-7,1.149026137005865e-6,2.350973862994135e-6,8.509738629941348e-7,9.999999999999999e-7
+0.48,6.289153771883994e-7,1.128915377188399e-6,2.3710846228116e-6,8.710846228116004e-7,9.999999999999999e-7
+0.54,6.123764961277961e-7,1.112376496127796e-6,2.387623503872204e-6,8.876235038722037e-7,9.999999999999999e-7
+0.6,5.987478928832415e-7,1.098747892883241e-6,2.401252107116759e-6,9.012521071167582e-7,9.999999999999999e-7
+0.66,5.874989626214238e-7,1.087498962621424e-6,2.412501037378577e-6,9.125010373785759e-7,9.999999999999999e-7
+0.72,5.782015662939211e-7,1.078201566293921e-6,2.421798433706079e-6,9.217984337060786e-7,9.999999999999999e-7
+0.78,5.705085065868457e-7,1.070508506586845e-6,2.429491493413154e-6,9.29491493413154e-7,9.999999999999999e-7
+0.84,5.641370351559669e-7,1.064137035155966e-6,2.435862964844033e-6,9.358629648440328e-7,9.999999999999999e-7
+0.9,5.588560491987012e-7,1.0588560491987e-6,2.441143950801299e-6,9.411439508012986e-7,9.999999999999999e-7
+0.96,5.54476123276361e-7,1.05447612327636e-6,2.44552387672364e-6,9.455238767236387e-7,9.999999999999999e-7
+1.02,5.508415928433592e-7,1.050841592843358e-6,2.449158407156641e-6,9.491584071566405e-7,9.999999999999999e-7
+1.08,5.478242815364985e-7,1.047824281536498e-6,2.452175718463502e-6,9.521757184635012e-7,9.999999999999999e-7
+1.14,5.453184571706131e-7,1.045318457170612e-6,2.454681542829388e-6,9.546815428293868e-7,9.999999999999999e-7
+1.2,5.432367862303652e-7,1.043236786230364e-6,2.456763213769636e-6,9.56763213769635e-7,9.999999999999999e-7
+1.26,5.415070396978726e-7,1.041507039697872e-6,2.458492960302128e-6,9.584929603021274e-7,9.999999999999999e-7
+1.32,5.400694192871188e-7,1.040069419287118e-6,2.459930580712882e-6,9.599305807128812e-7,9.999999999999999e-7
+1.38,5.388743843259536e-7,1.038874384325953e-6,2.461125615674047e-6,9.611256156740464e-7,9.999999999999999e-7
+1.44,5.378808572296934e-7,1.037880857229692e-6,2.462119142770307e-6,9.621191427703068e-7,9.999999999999999e-7
+1.5,5.370547603789125e-7,1.037054760378911e-6,2.462945239621088e-6,9.629452396210877e-7,9.999999999999999e-7
+1.56,5.363678095425542e-7,1.036367809542553e-6,2.463632190457446e-6,9.636321904574461e-7,9.999999999999999e-7
+1.62,5.357965196443812e-7,1.03579651964438e-6,2.46420348035562e-6,9.642034803556188e-7,9.999999999999999e-7
+1.68,5.353213842096146e-7,1.035321384209614e-6,2.464678615790386e-6,9.646786157903853e-7,9.999999999999999e-7
+1.74,5.349261969749238e-7,1.034926196974923e-6,2.465073803025077e-6,9.650738030250762e-7,9.999999999999999e-7
+1.8,5.345974899846689e-7,1.034597489984668e-6,2.465402510015332e-6,9.654025100153309e-7,9.999999999999999e-7
+1.86,5.343240687853064e-7,1.034324068785306e-6,2.465675931214694e-6,9.656759312146931e-7,9.999999999999999e-7
+1.92,5.340966271752668e-7,1.034096627175266e-6,2.465903372824734e-6,9.659033728247327e-7,9.999999999999999e-7
+1.98,5.339074277500615e-7,1.033907427750061e-6,2.466092572249939e-6,9.660925722499381e-7,9.999999999999999e-7
+2.04,5.337500366933075e-7,1.033750036693307e-6,2.466249963306693e-6,9.662499633066918e-7,9.999999999999999e-7
+2.1,5.336191044368139e-7,1.033619104436814e-6,2.466380895563187e-6,9.663808955631854e-7,9.999999999999999e-7
+2.16,5.335101808276804e-7,1.03351018082768e-6,2.46648981917232e-6,9.664898191723191e-7,9.999999999999999e-7
+2.22,5.334195652013067e-7,1.033419565201306e-6,2.466580434798694e-6,9.665804347986929e-7,9.999999999999999e-7
+2.28,5.333441798807924e-7,1.033344179880792e-6,2.466655820119209e-6,9.666558201192074e-7,9.999999999999999e-7
+2.34,5.33281463898093e-7,1.033281463898093e-6,2.466718536101908e-6,9.667185361019064e-7,9.999999999999999e-7
+2.4,5.332292881047817e-7,1.033229288104781e-6,2.466770711895219e-6,9.667707118952178e-7,9.999999999999999e-7
+2.46,5.331858808030405e-7,1.03318588080304e-6,2.46681411919696e-6,9.668141191969589e-7,9.999999999999999e-7
+2.52,5.331497678030709e-7,1.033149767803071e-6,2.46685023219693e-6,9.668502321969287e-7,9.999999999999999e-7
+2.58,5.331197236355189e-7,1.033119723635519e-6,2.466880276364481e-6,9.668802763644804e-7,9.999999999999999e-7
+2.64,5.33094728162488e-7,1.033094728162488e-6,2.466905271837512e-6,9.669052718375114e-7,9.999999999999999e-7
+2.7,5.330739328202904e-7,1.03307393282029e-6,2.46692606717971e-6,9.66926067179709e-7,9.999999999999999e-7
+2.76,5.330566319585533e-7,1.033056631958553e-6,2.466943368041447e-6,9.669433680414461e-7,9.999999999999999e-7
+2.82,5.330422383454465e-7,1.033042238345446e-6,2.466957761654554e-6,9.669577616545527e-7,9.999999999999999e-7
+2.88,5.330302633511526e-7,1.033030263351152e-6,2.466969736648849e-6,9.669697366488468e-7,9.999999999999999e-7
+2.94,5.330203005134711e-7,1.033020300513471e-6,2.46697969948653e-6,9.669796994865282e-7,9.999999999999999e-7
+3.,5.330120117879155e-7,1.033012011787915e-6,2.466987988212085e-6,9.669879882120837e-7,9.999999999999999e-7
diff --git a/models/sbml-test-suite/cases/semantic/00256/00256-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00256/00256-sbml-l2v4.xml
new file mode 100644
index 0000000..96dd7d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00256/00256-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00256" id="case00256" name="case00256">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00256/00256-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00256/00256-sbml-l3v1.xml
new file mode 100644
index 0000000..9d89319
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00256/00256-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00256" id="case00256" name="case00256" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00256/00256-settings.txt b/models/sbml-test-suite/cases/semantic/00256/00256-settings.txt
new file mode 100644
index 0000000..36211e8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00256/00256-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00257/00257-results.csv b/models/sbml-test-suite/cases/semantic/00257/00257-results.csv
new file mode 100644
index 0000000..cdeca14
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00257/00257-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0.5,1.2
+0.08,1.264384077018838,0.7356159229811619,1.2
+0.16,1.065778061337224,0.9342219386627765,1.2
+0.24,0.8983685417700745,1.101631458229926,1.2
+0.32,0.7572552431323984,1.242744756867602,1.2
+0.4,0.6383076445142109,1.36169235548579,1.2
+0.48,0.5380439959779809,1.46195600402202,1.2
+0.56,0.453529493279485,1.546470506720516,1.2
+0.64,0.3822903310789282,1.617709668921073,1.2
+0.72,0.3222412163672573,1.677758783632744,1.2
+0.8,0.2716244261759938,1.728375573824007,1.2
+0.88,0.2289583946330839,1.771041605366917,1.2
+0.96,0.1929942426341919,1.807005757365809,1.2
+1.04,0.1626792351823013,1.8373207648177,1.2
+1.12,0.1371260147928763,1.862873985207125,1.2
+1.2,0.1155866317912834,1.884413368208718,1.2
+1.28,0.09743060352053377,1.902569396479467,1.2
+1.36,0.08212646977837263,1.917873530221629,1.2
+1.44,0.06922626295399601,1.930773737046005,1.2
+1.52,0.0583523896897973,1.941647610310204,1.2
+1.6,0.04918655792909305,1.950813442070908,1.2
+1.68,0.04146046680711999,1.958539533192881,1.2
+1.76,0.03494796735155571,1.965052032648445,1.2
+1.84,0.02945843592625806,1.970541564073743,1.2
+1.92,0.02483118640987259,1.975168813590128,1.2
+2.,0.02093077069089103,1.97906922930911,1.2
+2.08,0.01764302118071386,1.982356978819287,1.2
+2.16,0.01487170367357259,1.985128296326428,1.2
+2.24,0.01253569762662515,1.987464302373376,1.2
+2.32,0.01056662395023793,1.989433376049763,1.2
+2.4,0.008906846961318371,1.991093153038683,1.2
+2.48,0.007507783878629315,1.992492216121372,1.2
+2.56,0.00632848193589254,1.993671518064108,1.2
+2.64,0.005334420951394894,1.994665579048606,1.2
+2.72,0.004496504430463715,1.995503495569537,1.2
+2.8,0.003790205886177253,1.996209794113823,1.2
+2.88,0.003194850793150552,1.99680514920685,1.2
+2.96,0.002693012170068386,1.997306987829932,1.2
+3.04,0.002270001068885598,1.997729998931115,1.2
+3.12,0.001913435561835881,1.998086564438165,1.2
+3.2,0.001612878359791009,1.99838712164021,1.2
+3.28,0.00135953173140767,1.998640468268593,1.2
+3.36,0.001145980158555844,1.998854019841445,1.2
+3.44,0.0009659727622129105,1.999034027237788,1.2
+3.52,0.0008142404032778193,1.999185759596723,1.2
+3.6,0.0006863416922870492,1.999313658307714,1.2
+3.68,0.0005785329987860568,1.999421467001215,1.2
+3.76,0.0004876586364297348,1.999512341363572,1.2
+3.84,0.0004110585459082555,1.999588941454093,1.2
+3.92,0.0003464905659453205,1.999653509434056,1.2
+4.,0.000292064791419562,1.999707935208581,1.2
diff --git a/models/sbml-test-suite/cases/semantic/00257/00257-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00257/00257-sbml-l2v4.xml
new file mode 100644
index 0000000..ec7de6e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00257/00257-sbml-l2v4.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00257" id="case00257" name="case00257">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.2" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.78"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00257/00257-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00257/00257-sbml-l3v1.xml
new file mode 100644
index 0000000..e14ed39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00257/00257-sbml-l3v1.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00257" id="case00257" name="case00257" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.78" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00257/00257-settings.txt b/models/sbml-test-suite/cases/semantic/00257/00257-settings.txt
new file mode 100644
index 0000000..bd32e5c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00257/00257-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00258/00258-results.csv b/models/sbml-test-suite/cases/semantic/00258/00258-results.csv
new file mode 100644
index 0000000..6a33d3e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00258/00258-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.0015,0.00075,0.00125
+0.08,0.0008468786342176516,0.001346878634217651,0.0009031213657823482,0.00125
+0.16,0.0007361028438709496,0.001236102843870949,0.00101389715612905,0.00125
+0.24,0.000653487940492424,0.001153487940492424,0.001096512059507575,0.00125
+0.32,0.0005904674996804485,0.001090467499680448,0.001159532500319551,0.00125
+0.4,0.0005415609280578189,0.001041560928057819,0.00120843907194218,0.00125
+0.48,0.0005030988062704293,0.00100309880627043,0.001246901193729569,0.00125
+0.56,0.000472532806594182,0.0009725328065941826,0.001277467193405817,0.00125
+0.64,0.0004480394951228996,0.0009480394951229001,0.001301960504877099,0.00125
+0.72,0.0004282815552512489,0.0009282815552512492,0.00132171844474875,0.00125
+0.8,0.0004122578952372636,0.0009122578952372641,0.001337742104762736,0.00125
+0.88,0.0003992061929579425,0.000899206192957943,0.001350793807042057,0.00125
+0.96,0.0003885375882504809,0.0008885375882504814,0.001361462411749519,0.00125
+1.04,0.0003797917265571736,0.000879791726557174,0.001370208273442826,0.00125
+1.12,0.000372605094668309,0.0008726050946683094,0.001377394905331691,0.00125
+1.2,0.0003666882113819634,0.0008666882113819639,0.001383311788618036,0.00125
+1.28,0.0003618089324996054,0.000861808932499606,0.001388191067500394,0.00125
+1.36,0.0003577799855688049,0.0008577799855688055,0.001392220014431195,0.00125
+1.44,0.0003544495521544343,0.0008544495521544348,0.001395550447845565,0.00125
+1.52,0.0003516940455496807,0.0008516940455496813,0.001398305954450319,0.00125
+1.6,0.0003494125203199631,0.0008494125203199637,0.001400587479680036,0.00125
+1.68,0.0003475222791930045,0.0008475222791930051,0.001402477720806995,0.00125
+1.76,0.0003459554136407925,0.0008459554136407934,0.001404044586359207,0.00125
+1.84,0.0003446560543528857,0.0008446560543528865,0.001405343945647114,0.00125
+1.92,0.0003435781509752165,0.0008435781509752172,0.001406421849024783,0.00125
+2.,0.0003426836990949715,0.0008426836990949721,0.001407316300905028,0.00125
+2.08,0.0003419412970548051,0.0008419412970548058,0.001408058702945194,0.00125
+2.16,0.0003413249737630686,0.0008413249737630692,0.001408675026236931,0.00125
+2.24,0.0003408132330031489,0.0008408132330031495,0.001409186766996851,0.00125
+2.32,0.0003403882692832197,0.0008403882692832204,0.00140961173071678,0.00125
+2.4,0.0003400353269572704,0.0008400353269572712,0.00140996467304273,0.00125
+2.48,0.0003397421721065273,0.0008397421721065279,0.001410257827893473,0.00125
+2.56,0.0003394986577084061,0.0008394986577084066,0.001410501342291594,0.00125
+2.64,0.0003392963647955141,0.0008392963647955145,0.001410703635204486,0.00125
+2.72,0.0003391283063266777,0.0008391283063266782,0.001410871693673322,0.00125
+2.8,0.0003389886823835531,0.0008389886823835536,0.001411011317616447,0.00125
+2.88,0.0003388726776476627,0.0008388726776476633,0.001411127322352337,0.00125
+2.96,0.0003387762933361548,0.0008387762933361553,0.001411223706663845,0.00125
+3.04,0.0003386962091461921,0.0008386962091461925,0.001411303790853808,0.00125
+3.12,0.0003386296670882043,0.0008386296670882047,0.001411370332911795,0.00125
+3.2,0.0003385743759064389,0.0008385743759064393,0.001411425624093561,0.00125
+3.28,0.0003385284327819855,0.0008385284327819859,0.001411471567218014,0.00125
+3.36,0.000338490256814354,0.0008384902568143545,0.001411509743185645,0.00125
+3.44,0.0003384585346694022,0.0008384585346694027,0.001411541465330597,0.00125
+3.52,0.0003384321747301597,0.0008384321747301603,0.001411567825269839,0.00125
+3.6,0.0003384102707219819,0.0008384102707219826,0.001411589729278017,0.00125
+3.68,0.0003383920692495724,0.000838392069249573,0.001411607930750427,0.00125
+3.76,0.0003383769442332019,0.0008383769442332025,0.001411623055766797,0.00125
+3.84,0.0003383643757793882,0.0008383643757793888,0.001411635624220611,0.00125
+3.92,0.0003383539317272974,0.0008383539317272979,0.001411646068272702,0.00125
+4.,0.0003383452528884331,0.0008383452528884336,0.001411654747111566,0.00125
diff --git a/models/sbml-test-suite/cases/semantic/00258/00258-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00258/00258-sbml-l2v4.xml
new file mode 100644
index 0000000..f9fd5be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00258/00258-sbml-l2v4.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00258" id="case00258" name="case00258">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00075" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.00125" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1680"/>
+      <parameter id="k2" name="k2" value="270"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00258/00258-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00258/00258-sbml-l3v1.xml
new file mode 100644
index 0000000..d1326ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00258/00258-sbml-l3v1.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00258" id="case00258" name="case00258" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00075" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.00125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1680" constant="true"/>
+      <parameter id="k2" name="k2" value="270" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00258/00258-settings.txt b/models/sbml-test-suite/cases/semantic/00258/00258-settings.txt
new file mode 100644
index 0000000..d97d0d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00258/00258-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00259/00259-results.csv b/models/sbml-test-suite/cases/semantic/00259/00259-results.csv
new file mode 100644
index 0000000..b357139
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00259/00259-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7,9.999999999999999e-7
+0.08,8.86696087535961e-7,1.386696087535961e-6,2.113303912464041e-6,6.133039124640398e-7,9.999999999999999e-7
+0.16,8.029811572814139e-7,1.302981157281414e-6,2.197018842718587e-6,6.970188427185869e-7,9.999999999999999e-7
+0.24,7.402798425067113e-7,1.240279842506712e-6,2.259720157493291e-6,7.597201574932895e-7,9.999999999999999e-7
+0.32,6.928366830899931e-7,1.192836683089993e-6,2.307163316910009e-6,8.071633169100077e-7,9.999999999999999e-7
+0.4,6.566613022290422e-7,1.156661302229043e-6,2.34333869777096e-6,8.433386977709586e-7,9.999999999999999e-7
+0.48,6.289153772710785e-7,1.128915377271079e-6,2.371084622728923e-6,8.710846227289223e-7,9.999999999999999e-7
+0.56,6.075388530081344e-7,1.107538853008135e-6,2.392461146991868e-6,8.924611469918664e-7,9.999999999999999e-7
+0.64,5.910124735054459e-7,1.091012473505447e-6,2.408987526494555e-6,9.089875264945549e-7,9.999999999999999e-7
+0.72,5.782015663428329e-7,1.078201566342834e-6,2.421798433657169e-6,9.217984336571679e-7,9.999999999999999e-7
+0.8,5.682502085757507e-7,1.068250208575751e-6,2.431749791424251e-6,9.317497914242501e-7,9.999999999999999e-7
+0.88,5.605076689776301e-7,1.06050766897763e-6,2.439492331022372e-6,9.394923310223707e-7,9.999999999999999e-7
+0.96,5.544761232474018e-7,1.054476123247402e-6,2.445523876752599e-6,9.45523876752599e-7,9.999999999999999e-7
+1.04,5.497728818111768e-7,1.049772881811177e-6,2.450227118188824e-6,9.50227118188824e-7,9.999999999999999e-7
+1.12,5.461026294121773e-7,1.046102629412178e-6,2.453897370587824e-6,9.538973705878235e-7,9.999999999999999e-7
+1.2,5.432367862324693e-7,1.043236786232469e-6,2.456763213767532e-6,9.567632137675318e-7,9.999999999999999e-7
+1.28,5.409980120108547e-7,1.040998012010855e-6,2.459001987989147e-6,9.590019879891466e-7,9.999999999999999e-7
+1.36,5.392484693042074e-7,1.039248469304208e-6,2.460751530695794e-6,9.607515306957936e-7,9.999999999999999e-7
+1.44,5.378808572141848e-7,1.037880857214185e-6,2.462119142785817e-6,9.621191427858164e-7,9.999999999999999e-7
+1.52,5.368115661865137e-7,1.036811566186514e-6,2.463188433813489e-6,9.631884338134875e-7,9.999999999999999e-7
+1.6,5.359753757620653e-7,1.035975375762065e-6,2.464024624237937e-6,9.640246242379359e-7,9.999999999999999e-7
+1.68,5.353213842225789e-7,1.035321384222579e-6,2.464678615777423e-6,9.646786157774221e-7,9.999999999999999e-7
+1.76,5.348098370228335e-7,1.034809837022834e-6,2.465190162977169e-6,9.651901629771676e-7,9.999999999999999e-7
+1.84,5.344096759742781e-7,1.034409675974278e-6,2.465590324025725e-6,9.65590324025723e-7,9.999999999999999e-7
+1.92,5.340966271682948e-7,1.034096627168295e-6,2.465903372831707e-6,9.659033728317061e-7,9.999999999999999e-7
+2.,5.338517142352186e-7,1.033851714235219e-6,2.466148285764784e-6,9.661482857647823e-7,9.999999999999999e-7
+2.08,5.336601000305132e-7,1.033660100030514e-6,2.466339899969489e-6,9.663398999694878e-7,9.999999999999999e-7
+2.16,5.335101808316845e-7,1.033510180831685e-6,2.466489819168318e-6,9.664898191683166e-7,9.999999999999999e-7
+2.24,5.33392880819941e-7,1.033392880819941e-6,2.466607119180061e-6,9.6660711918006e-7,9.999999999999999e-7
+2.32,5.333011010337446e-7,1.033301101033745e-6,2.466698898966258e-6,9.666988989662566e-7,9.999999999999999e-7
+2.4,5.332292881082123e-7,1.033229288108213e-6,2.46677071189179e-6,9.667707118917888e-7,9.999999999999999e-7
+2.48,5.33173097706557e-7,1.033173097706557e-6,2.466826902293445e-6,9.668269022934439e-7,9.999999999999999e-7
+2.56,5.331291308494276e-7,1.033129130849428e-6,2.466870869150575e-6,9.668708691505733e-7,9.999999999999999e-7
+2.64,5.330947281602052e-7,1.033094728160206e-6,2.466905271839797e-6,9.669052718397958e-7,9.999999999999999e-7
+2.72,5.330678088672709e-7,1.033067808867271e-6,2.466932191132731e-6,9.669321911327302e-7,9.999999999999999e-7
+2.8,5.330467451644856e-7,1.033046745164486e-6,2.466953254835517e-6,9.669532548355156e-7,9.999999999999999e-7
+2.88,5.330302633508661e-7,1.033030263350866e-6,2.466969736649136e-6,9.669697366491352e-7,9.999999999999999e-7
+2.96,5.330173665171993e-7,1.033017366517199e-6,2.466982633482803e-6,9.66982633482802e-7,9.999999999999999e-7
+3.04,5.330072750182422e-7,1.033007275018242e-6,2.466992724981759e-6,9.669927249817591e-7,9.999999999999999e-7
+3.12,5.329993785931696e-7,1.032999378593169e-6,2.467000621406832e-6,9.670006214068318e-7,9.999999999999999e-7
+3.2,5.329931997061273e-7,1.032993199706127e-6,2.467006800293874e-6,9.670068002938739e-7,9.999999999999999e-7
+3.28,5.329883648516534e-7,1.032988364851653e-6,2.467011635148348e-6,9.67011635148348e-7,9.999999999999999e-7
+3.36,5.329845816301922e-7,1.032984581630192e-6,2.467015418369809e-6,9.670154183698091e-7,9.999999999999999e-7
+3.44,5.329816212961174e-7,1.032981621296117e-6,2.467018378703883e-6,9.670183787038839e-7,9.999999999999999e-7
+3.52,5.329793048900229e-7,1.032979304890023e-6,2.467020695109978e-6,9.670206951099783e-7,9.999999999999999e-7
+3.6,5.329774923168062e-7,1.032977492316806e-6,2.467022507683195e-6,9.670225076831952e-7,9.999999999999999e-7
+3.68,5.329760739993284e-7,1.032976073999328e-6,2.467023926000672e-6,9.670239260006729e-7,9.999999999999999e-7
+3.76,5.32974964189561e-7,1.032974964189561e-6,2.467025035810439e-6,9.670250358104403e-7,9.999999999999999e-7
+3.84,5.329740957721052e-7,1.032974095772105e-6,2.467025904227895e-6,9.67025904227896e-7,9.999999999999999e-7
+3.92,5.329734162460788e-7,1.032973416246079e-6,2.467026583753921e-6,9.670265837539226e-7,9.999999999999999e-7
+4.,5.329728845274396e-7,1.032972884527439e-6,2.467027115472561e-6,9.67027115472562e-7,9.999999999999999e-7
diff --git a/models/sbml-test-suite/cases/semantic/00259/00259-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00259/00259-sbml-l2v4.xml
new file mode 100644
index 0000000..1d08349
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00259/00259-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00259" id="case00259" name="case00259">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00259/00259-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00259/00259-sbml-l3v1.xml
new file mode 100644
index 0000000..b4ad2cf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00259/00259-sbml-l3v1.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00259" id="case00259" name="case00259" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00259/00259-settings.txt b/models/sbml-test-suite/cases/semantic/00259/00259-settings.txt
new file mode 100644
index 0000000..3d38a3e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00259/00259-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00260/00260-results.csv b/models/sbml-test-suite/cases/semantic/00260/00260-results.csv
new file mode 100644
index 0000000..28ebb62
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00260/00260-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.2,0.001399081391479351,0.0002018372170412996
+0.4,0.001307639273053734,0.0003847214538925329
+0.6,0.001226932459375801,0.0005461350812483992
+0.8,0.001157335977144543,0.0006853280457109152
+1.,0.001098512285863247,0.0008029754282735076
+1.2,0.001049631036470739,0.0009007379270585232
+1.4,0.001009581715665887,0.0009808365686682272
+1.6,0.0009771467584642928,0.001045706483071417
+1.8,0.0009511242312430109,0.00109775153751398
+2.,0.0009304033783239136,0.001139193243352175
+2.2,0.0009140030071055189,0.001171993985788965
+2.4,0.0009010839458374852,0.001197832108325032
+2.6,0.000890945352562561,0.00121810929487488
+2.8,0.0008830122271584702,0.001233975545683062
+3.,0.0008768191130793576,0.001246361773841287
+3.2,0.0008719930697044065,0.001256013860591189
+3.4,0.000868237600207622,0.001263524799584758
+3.6,0.0008653184147644469,0.001269363170471108
+3.8,0.0008630512085738145,0.001273897582852373
+4.,0.0008612915304643342,0.001277416939071334
+4.2,0.000859926465655244,0.001280147068689514
+4.4,0.0008588679415439903,0.001282264116912022
+4.6,0.0008580473744250301,0.001283905251149942
+4.8,0.0008574114220058736,0.001285177155988255
+5.,0.0008569186412296622,0.001286162717540678
+5.2,0.0008565368546424142,0.001286926290715174
+5.4,0.0008562410947450436,0.001287517810509915
+5.6,0.0008560119971381727,0.001287976005723657
+5.8,0.0008558345483912128,0.001288330903217577
+6.,0.0008556971116020959,0.001288605776795811
+6.2,0.0008555906689177579,0.001288818662164487
+6.4,0.0008555082332209568,0.001288983533558089
+6.6,0.0008554443914370926,0.001289111217125817
+6.8,0.0008553949505788157,0.001289210098842371
+7.,0.0008553566629811831,0.001289286674037636
+7.2,0.000855327012769549,0.001289345974460904
+7.4,0.0008553040514727443,0.001289391897054514
+7.6,0.0008552862703996751,0.001289427459200652
+7.8,0.000855272500946722,0.001289454998106558
+8.,0.0008552618379787796,0.001289476324042443
+8.2,0.0008552535807110657,0.001289492838577871
+8.4,0.0008552471864503234,0.001289505627099356
+8.6,0.0008552422348369637,0.001289515530326075
+8.8,0.0008552384003748195,0.001289523199250363
+9.,0.0008552354310554782,0.001289529137889046
+9.2,0.0008552331316796391,0.001289533736640724
+9.4,0.0008552313510769768,0.001289537297846049
+9.6,0.0008552299722171448,0.001289540055565713
+9.8,0.0008552289044639767,0.001289542191072049
+10.,0.0008552280776139069,0.001289543844772189
diff --git a/models/sbml-test-suite/cases/semantic/00260/00260-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00260/00260-sbml-l2v4.xml
new file mode 100644
index 0000000..f2b0864
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00260/00260-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00260" id="case00260" name="case00260">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35"/>
+      <parameter id="k2" name="k2" value="180"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00260/00260-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00260/00260-sbml-l3v1.xml
new file mode 100644
index 0000000..394a0b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00260/00260-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00260" id="case00260" name="case00260" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35" constant="true"/>
+      <parameter id="k2" name="k2" value="180" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00260/00260-settings.txt b/models/sbml-test-suite/cases/semantic/00260/00260-settings.txt
new file mode 100644
index 0000000..5b08c07
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00260/00260-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00261/00261-results.csv b/models/sbml-test-suite/cases/semantic/00261/00261-results.csv
new file mode 100644
index 0000000..50bb95f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00261/00261-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.01499999999999999,0
+0.3,0.0136472413827888,0.002705517234422424
+0.6,0.0129347788241046,0.004130442351790819
+0.9,0.01266348687578943,0.004673026248421159
+1.2,0.01257333646773077,0.004853327064538484
+1.5,0.01254476464096103,0.004910470718077952
+1.8,0.01253584625368254,0.004928307492634944
+2.1,0.01253307576250651,0.00493384847498699
+2.4,0.01253221639310305,0.004935567213793915
+2.7,0.01253194995065031,0.004936100098699391
+3.,0.01253186735373235,0.004936265292535311
+3.3,0.01253184174988861,0.004936316500222796
+3.6,0.01253183381317454,0.004936332373650959
+3.9,0.01253183135295129,0.004936337294097461
+4.2,0.01253183059033076,0.004936338819338513
+4.5,0.01253183035393398,0.004936339292132079
+4.8,0.01253183028065599,0.004936339438688059
+5.1,0.0125318302579418,0.004936339484116444
+5.4,0.01253183025090068,0.004936339498198666
+5.7,0.01253183024871802,0.004936339502563997
+6.,0.01253183024804316,0.00493633950391371
+6.3,0.01253183024783414,0.004936339504331764
+6.6,0.01253183024776741,0.004936339504465223
+6.9,0.0125318302477466,0.004936339504506841
+7.2,0.01253183024774027,0.004936339504519497
+7.5,0.01253183024773827,0.004936339504523499
+7.8,0.01253183024773765,0.004936339504524728
+8.1,0.01253183024773748,0.00493633950452506
+8.4,0.01253183024773749,0.004936339504525038
+8.7,0.01253183024773752,0.004936339504524976
+9.,0.01253183024773753,0.004936339504524958
+9.3,0.01253183024773757,0.004936339504524887
+9.6,0.0125318302477376,0.004936339504524833
+9.9,0.01253183024773756,0.004936339504524911
+10.2,0.01253183024773754,0.004936339504524951
+10.5,0.01253183024773754,0.00493633950452494
+10.8,0.01253183024773754,0.004936339504524957
+11.1,0.01253183024773752,0.004936339504524984
+11.4,0.01253183024773752,0.004936339504524989
+11.7,0.01253183024773752,0.00493633950452499
+12,0.01253183024773752,0.004936339504524993
+12.3,0.01253183024773752,0.004936339504524994
+12.6,0.01253183024773752,0.004936339504524994
+12.9,0.01253183024773752,0.004936339504524993
+13.2,0.01253183024773752,0.004936339504524993
+13.5,0.01253183024773752,0.004936339504524993
+13.8,0.01253183024773752,0.004936339504524993
+14.1,0.01253183024773752,0.004936339504524993
+14.4,0.01253183024773752,0.004936339504524993
+14.7,0.01253183024773752,0.004936339504524994
+15.,0.01253183024773752,0.004936339504524994
diff --git a/models/sbml-test-suite/cases/semantic/00261/00261-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00261/00261-sbml-l2v4.xml
new file mode 100644
index 0000000..0f73e20
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00261/00261-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00261" id="case00261" name="case00261">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35"/>
+      <parameter id="k2" name="k2" value="180"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00261/00261-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00261/00261-sbml-l3v1.xml
new file mode 100644
index 0000000..ea3e74d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00261/00261-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00261" id="case00261" name="case00261" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35" constant="true"/>
+      <parameter id="k2" name="k2" value="180" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00261/00261-settings.txt b/models/sbml-test-suite/cases/semantic/00261/00261-settings.txt
new file mode 100644
index 0000000..66cc826
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00261/00261-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00262/00262-results.csv b/models/sbml-test-suite/cases/semantic/00262/00262-results.csv
new file mode 100644
index 0000000..a62082e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00262/00262-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0
+0.4,0.0001304404926537485,0.00003911901469250293
+0.8,0.0001136223447659013,0.00007275531046819747
+1.2,0.00009930108975136733,0.0001013978204972653
+1.6,0.00008720652685167405,0.0001255869462966519
+2.,0.00007706362347044602,0.0001458727530591079
+2.4,0.00006860721290389749,0.000162785574192205
+2.8,0.00006159130117298233,0.0001768173976540353
+3.2,0.00005579410568013241,0.0001884117886397352
+3.6,0.00005101998469333498,0.0001979600306133301
+4.,0.00004709924951649486,0.0002058015009670103
+4.4,0.000043886663899704,0.000212226672200592
+4.8,0.0000412592207053717,0.0002174815585892566
+5.2,0.00003911361438077308,0.0002217727712384539
+5.6,0.00003736365899754265,0.0002252726820049148
+6.,0.00003593784637421314,0.0002281243072515738
+6.4,0.00003477709377131744,0.0002304458124573652
+6.8,0.00003383276434273492,0.0002323344713145302
+7.2,0.00003306492475746342,0.0002338701504850732
+7.6,0.00003244086950681651,0.0002351182609863671
+8.,0.00003193385633902071,0.0002361322873219587
+8.4,0.00003152205542229461,0.0002369558891554109
+8.8,0.00003118766686070216,0.0002376246662785958
+9.2,0.00003091619096317323,0.0002381676180736536
+9.6,0.00003069582580485206,0.0002386083483902959
+10.,0.00003051697143260319,0.0002389660571347937
+10.4,0.00003037182358524875,0.0002392563528295025
+10.8,0.00003025403996337844,0.0002394919200732431
+11.2,0.00003015846822492811,0.0002396830635501438
+11.6,0.00003008092389632081,0.0002398381522073584
+12.,0.00003001800933290901,0.000239963981334182
+12.4,0.00002996696627694191,0.0002400660674461162
+12.8,0.00002992555587193913,0.0002401488882561218
+13.2,0.00002989196109874826,0.0002402160778025035
+13.6,0.00002986470741511401,0.0002402705851697721
+14.,0.00002984259828239886,0.0002403148034352023
+14.4,0.00002982466281832904,0.000240350674363342
+14.8,0.00002981011327980698,0.0002403797734403861
+15.2,0.00002979831056779447,0.0002404033788644111
+15.6,0.00002978873612926029,0.0002404225277414795
+16.,0.00002978096937384305,0.000240438061252314
+16.4,0.00002977466902578525,0.0002404506619484296
+16.8,0.00002976955820878618,0.0002404608835824277
+17.2,0.0000297654123689917,0.0002404691752620167
+17.6,0.00002976204931810601,0.0002404759013637881
+18.,0.00002975932124965402,0.0002404813575006921
+18.4,0.00002975710828790708,0.0002404857834241859
+18.8,0.00002975531315955333,0.0002404893736808935
+19.2,0.00002975385698918146,0.0002404922860216372
+19.6,0.00002975267576247719,0.0002404946484750458
+20.,0.00002975171757666566,0.0002404965648466688
diff --git a/models/sbml-test-suite/cases/semantic/00262/00262-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00262/00262-sbml-l2v4.xml
new file mode 100644
index 0000000..3806544
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00262/00262-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00262" id="case00262" name="case00262">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35"/>
+      <parameter id="k2" name="k2" value="180"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00262/00262-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00262/00262-sbml-l3v1.xml
new file mode 100644
index 0000000..fb7c240
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00262/00262-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00262" id="case00262" name="case00262" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.35" constant="true"/>
+      <parameter id="k2" name="k2" value="180" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <apply>
+                <power/>
+                <ci> S2 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00262/00262-settings.txt b/models/sbml-test-suite/cases/semantic/00262/00262-settings.txt
new file mode 100644
index 0000000..65de10e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00262/00262-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00263/00263-results.csv b/models/sbml-test-suite/cases/semantic/00263/00263-results.csv
new file mode 100644
index 0000000..1f3923a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00263/00263-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.00005,0.0001
+0.2,0.0001261239094054689,0.00006306195470273448,0.00008693804529726557
+0.4,0.0001488314868519342,0.00007441574342596714,0.0000755842565740329
+0.6,0.0001685683227784838,0.0000842841613892419,0.00006571583861075815
+0.8,0.000185722039219102,0.00009286101960955103,0.000057138980390449
+1.,0.000200629839212088,0.000100314919606044,0.000049685080393956
+1.2,0.0002135850626874906,0.0001067925313437453,0.00004320746865625474
+1.4,0.0002248428721967588,0.0001124214360983794,0.00003757856390162065
+1.6,0.0002346252022476542,0.0001173126011238271,0.00003268739887617293
+1.8,0.0002431250634297191,0.0001215625317148595,0.0000284374682851405
+2.,0.000250510303910191,0.0001252551519550955,0.00002474484804490451
+2.2,0.0002569268595101224,0.0001284634297550612,0.00002153657024493881
+2.4,0.0002625016145385674,0.0001312508072692837,0.00001874919273071633
+2.6,0.0002673448718844692,0.0001336724359422346,0.00001632756405776547
+2.8,0.0002715525120075765,0.0001357762560037882,0.0000142237439962118
+3.,0.0002752078718262178,0.0001376039359131089,0.00001239606408689117
+3.2,0.0002783833799532732,0.0001391916899766366,0.00001080831002336348
+3.4,0.0002811419828498657,0.0001405709914249328,9.429008575067187e-6
+3.6,0.0002835383791342905,0.0001417691895671452,8.23081043285484e-6
+3.8,0.0002856200979181465,0.0001428100489590732,7.189951040926858e-6
+4.,0.0002874284404120448,0.0001437142202060224,6.285779793977668e-6
+4.2,0.0002889992930774421,0.000144499646538721,5.500353461279019e-6
+4.4,0.0002903638327559398,0.0001451819163779699,4.818083622030157e-6
+4.6,0.0002915491462009517,0.0001457745731004758,4.225426899524206e-6
+4.8,0.0002925787675224919,0.0001462893837612459,3.710616238754131e-6
+5.,0.0002934731428316484,0.0001467365714158242,3.263428584175865e-6
+5.2,0.0002942500329843463,0.0001471250164921731,2.874983507826902e-6
+5.4,0.0002949248672960673,0.0001474624336480336,2.537566351966397e-6
+5.6,0.0002955110502613668,0.0001477555251306834,2.244474869316647e-6
+5.8,0.0002960202266492907,0.0001480101133246453,1.989886675354673e-6
+6.,0.0002964625112205976,0.0001482312556102988,1.768744389701248e-6
+6.2,0.0002968466904332433,0.0001484233452166216,1.576654783378398e-6
+6.4,0.0002971803973003313,0.0001485901986501656,1.409801349834367e-6
+6.6,0.000297470262493453,0.0001487351312467265,1.264868753273568e-6
+6.8,0.0002977220452600074,0.0001488610226300037,1.138977369996388e-6
+7.,0.0002979407483620084,0.0001489703741810042,1.029625818995864e-6
+7.2,0.0002981307176975412,0.0001490653588487706,9.346411512294571e-7
+7.4,0.0002982957283809554,0.0001491478641904777,8.52135809522385e-7
+7.6,0.0002984390593169425,0.0001492195296584712,7.804703415288396e-7
+7.8,0.0002985635586687655,0.0001492817793343827,7.182206656173333e-7
+8.,0.0002986717005942904,0.0001493358502971452,6.641497028549167e-7
+8.2,0.0002987656342680039,0.000149382817134002,6.171828659980836e-7
+8.4,0.0002988472263793251,0.0001494236131896625,5.763868103375088e-7
+8.6,0.0002989180982295308,0.0001494590491147654,5.409508852346484e-7
+8.8,0.0002989796585429227,0.0001494898292714613,5.101707285387143e-7
+9.,0.0002990331305448678,0.0001495165652724339,4.834347275661256e-7
+9.2,0.0002990795769816065,0.0001495397884908033,4.602115091967459e-7
+9.4,0.0002991199209563258,0.0001495599604781629,4.400395218371224e-7
+9.6,0.000299154964146842,0.000149577482073421,4.225179265790576e-7
+9.8,0.0002991854031378396,0.0001495927015689198,4.072984310802448e-7
+10.,0.0002992118427370389,0.0001496059213685194,3.940786314805676e-7
diff --git a/models/sbml-test-suite/cases/semantic/00263/00263-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00263/00263-sbml-l2v4.xml
new file mode 100644
index 0000000..222c7db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00263/00263-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00263" id="case00263" name="case00263">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="16000"/>
+      <parameter id="k2" name="k2" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00263/00263-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00263/00263-sbml-l3v1.xml
new file mode 100644
index 0000000..5b6eef4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00263/00263-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00263" id="case00263" name="case00263" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="16000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00263/00263-settings.txt b/models/sbml-test-suite/cases/semantic/00263/00263-settings.txt
new file mode 100644
index 0000000..61fa7e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00263/00263-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00264/00264-results.csv b/models/sbml-test-suite/cases/semantic/00264/00264-results.csv
new file mode 100644
index 0000000..d22ea1e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00264/00264-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.0005,0.001
+0.12,0.00116090246239205,0.0005804512311960253,0.0009195487688039743
+0.24,0.001308726512041506,0.000654363256020753,0.0008456367439792466
+0.36,0.001444506692980867,0.0007222533464904336,0.000777746653509566
+0.48,0.001569197460915552,0.0007845987304577764,0.0007154012695422232
+0.6,0.001683679755643621,0.0008418398778218106,0.000658160122178189
+0.72,0.001788766823768707,0.0008943834118843537,0.0006056165881156459
+0.84,0.001885209441809225,0.0009426047209046126,0.000557395279095387
+0.96,0.001973700646702391,0.0009868503233511954,0.000513149676648804
+1.08,0.002054880040724181,0.00102744002036209,0.0004725599796379089
+1.2,0.002129337749848852,0.001064668874924426,0.0004353311250755733
+1.32,0.002197618078337611,0.001098809039168805,0.0004011909608311938
+1.44,0.002260222882274301,0.00113011144113715,0.0003698885588628494
+1.56,0.002317614669577817,0.001158807334788908,0.0003411926652110912
+1.68,0.002370219558706439,0.001185109779353219,0.0003148902206467802
+1.8,0.002418429974603711,0.001209214987301855,0.0002907850126981439
+1.92,0.002462607125744813,0.001231303562872406,0.0002686964371275928
+2.04,0.002503083425938542,0.001251541712969271,0.0002484582870307285
+2.16,0.002540164590908443,0.001270082295454221,0.0002299177045457778
+2.28,0.002574131728648733,0.001287065864324366,0.0002129341356756329
+2.4,0.002605243237387029,0.001302621618693514,0.0001973783813064846
+2.52,0.002633736558289967,0.001316868279144983,0.0001831317208550155
+2.64,0.002659829791904391,0.001329914895952195,0.0001700851040478036
+2.76,0.002683723188361877,0.001341861594180938,0.000158138405819061
+2.88,0.002705600588213848,0.001352800294106924,0.0001471997058930753
+3.,0.002725630729573032,0.001362815364786516,0.0001371846352134832
+3.12,0.002743968444572112,0.001371984222286056,0.0001280157777139433
+3.24,0.002760755772394213,0.001380377886197106,0.0001196221138028925
+3.36,0.002776122970024771,0.001388061485012385,0.0001119385149876135
+3.48,0.002790189475994519,0.001395094737997259,0.0001049052620027392
+3.6,0.002803064797881977,0.001401532398940988,0.00009846760105901063
+3.72,0.002814849320157733,0.001407424660078866,0.00009257533992113244
+3.84,0.00282563504894352,0.00141281752447176,0.00008718247552823878
+3.96,0.002835506294657645,0.001417753147328822,0.00008224685267117642
+4.08,0.002844540302579797,0.001422270151289898,0.00007772984871010026
+4.2,0.002852807822049092,0.001426403911024546,0.00007359608897545297
+4.32,0.002860373690381942,0.001430186845190971,0.00006981315480902759
+4.44,0.002867297283076044,0.001433648641538022,0.00006635135846197673
+4.56,0.002873632978861828,0.001436816489430914,0.0000631835105690851
+4.68,0.002879430575769614,0.001439715287884807,0.00006028471211519188
+4.8,0.002884735673257483,0.001442367836628741,0.00005763216337125761
+4.92,0.002889590023056953,0.001444795011528476,0.00005520498847152266
+5.04,0.002894031851203572,0.001447015925601786,0.00005298407439821266
+5.16,0.002898096153494187,0.001449048076747093,0.00005095192325290563
+5.28,0.00290181496653207,0.001450907483266035,0.00004909251673396411
+5.4,0.002905217618877923,0.001452608809438961,0.00004739119056103798
+5.52,0.002908330951495861,0.001454165475747931,0.00004583452425206857
+5.64,0.002911179533876139,0.001455589766938069,0.0000444102330619295
+5.76,0.002913785854367085,0.001456892927183542,0.0000431070728164569
+5.88,0.002916170490998606,0.001458085245499303,0.00004191475450069646
+6.,0.002918352292066526,0.001459176146033263,0.00004082385396673612
diff --git a/models/sbml-test-suite/cases/semantic/00264/00264-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00264/00264-sbml-l2v4.xml
new file mode 100644
index 0000000..7691e79
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00264/00264-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00264" id="case00264" name="case00264">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1600"/>
+      <parameter id="k2" name="k2" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00264/00264-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00264/00264-sbml-l3v1.xml
new file mode 100644
index 0000000..ab84d6a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00264/00264-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00264" id="case00264" name="case00264" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1600" constant="true"/>
+      <parameter id="k2" name="k2" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00264/00264-settings.txt b/models/sbml-test-suite/cases/semantic/00264/00264-settings.txt
new file mode 100644
index 0000000..d2982d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00264/00264-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00265/00265-results.csv b/models/sbml-test-suite/cases/semantic/00265/00265-results.csv
new file mode 100644
index 0000000..27e1e30
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00265/00265-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.005,0.01
+0.3,0.01371188097104569,0.006855940485522848,0.00814405951447716
+0.6,0.01664103216315915,0.008320516081579576,0.006679483918420433
+0.9,0.01892334116738668,0.009461670583693342,0.00553832941630667
+1.2,0.02068102955858867,0.01034051477929433,0.004659485220705668
+1.5,0.02202115868714677,0.01101057934357339,0.003989420656426618
+1.8,0.02303449374678869,0.01151724687339434,0.003482753126605661
+2.1,0.02379566370461746,0.01189783185230873,0.003102168147691274
+2.4,0.02436446310368981,0.0121822315518449,0.002817768448155099
+2.7,0.024787817279691,0.0123939086398455,0.002606091360154502
+3.,0.02510196289786199,0.01255098144893099,0.002449018551069009
+3.3,0.02533453894503095,0.01266726947251547,0.002332730527484531
+3.6,0.0255064306559149,0.01275321532795745,0.002246784672042552
+3.9,0.025633309971666,0.012816654985833,0.002183345014167004
+4.2,0.02572687524551835,0.01286343762275917,0.002136562377240828
+4.5,0.02579582508910607,0.01289791254455303,0.002102087455446973
+4.8,0.0258466090496051,0.01292330452480255,0.002076695475197452
+5.1,0.02588399888908784,0.01294199944454392,0.002058000555456085
+5.4,0.02591151947195783,0.01295575973597891,0.002044240264021088
+5.7,0.02593177156584073,0.01296588578292036,0.002034114217079638
+6.,0.02594667265385305,0.01297333632692652,0.002026663673073477
+6.3,0.02595763526776489,0.01297881763388244,0.002021182366117561
+6.6,0.02596569975542497,0.01298284987771248,0.002017150122287517
+6.9,0.0259716318864261,0.01298581594321305,0.002014184056786952
+7.2,0.02597599529913857,0.01298799764956928,0.00201200235043072
+7.5,0.02597920472522948,0.01298960236261474,0.002010397637385264
+7.8,0.02598156529499032,0.01299078264749516,0.002009217352504841
+8.1,0.02598330149810092,0.01299165074905046,0.002008349250949542
+8.4,0.02598457845383968,0.01299228922691984,0.002007710773080165
+8.7,0.02598551763680983,0.01299275881840491,0.002007241181595088
+9.,0.02598620838240298,0.01299310419120149,0.002006895808798512
+9.3,0.02598671640691568,0.01299335820345784,0.002006641796542162
+9.6,0.02598709004517664,0.01299354502258832,0.002006454977411679
+9.9,0.02598736484474345,0.01299368242237172,0.002006317577628279
+10.2,0.02598756695046072,0.01299378347523036,0.002006216524769643
+10.5,0.02598771559232295,0.01299385779616147,0.002006142203838528
+10.8,0.02598782491322013,0.01299391245661006,0.002006087543389937
+11.1,0.0259879053148559,0.01299395265742795,0.002006047342572052
+11.4,0.02598796444736829,0.01299398222368414,0.002006017776315858
+11.7,0.02598800793718754,0.01299400396859377,0.002005996031406233
+12.,0.02598803992236422,0.01299401996118211,0.002005980038817897
+12.3,0.02598806344629138,0.01299403172314569,0.002005968276854317
+12.6,0.02598808074727712,0.01299404037363856,0.002005959626361445
+12.9,0.02598809347154882,0.01299404673577441,0.002005953264225595
+13.2,0.0259881028297686,0.0129940514148843,0.002005948585115705
+13.5,0.02598810971237227,0.01299405485618613,0.002005945143813867
+13.8,0.0259881147742674,0.0129940573871337,0.002005942612866305
+14.1,0.02598811849711257,0.01299405924855628,0.002005940751443718
+14.4,0.02598812123516482,0.01299406061758241,0.002005939382417595
+14.7,0.02598812324884701,0.0129940616244235,0.0020059383755765
+15.,0.02598812472985782,0.01299406236492891,0.00200593763507109
diff --git a/models/sbml-test-suite/cases/semantic/00265/00265-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00265/00265-sbml-l2v4.xml
new file mode 100644
index 0000000..061c845
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00265/00265-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00265" id="case00265" name="case00265">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="160"/>
+      <parameter id="k2" name="k2" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00265/00265-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00265/00265-sbml-l3v1.xml
new file mode 100644
index 0000000..a9fc9ae
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00265/00265-sbml-l3v1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00265" id="case00265" name="case00265" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="160" constant="true"/>
+      <parameter id="k2" name="k2" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00265/00265-settings.txt b/models/sbml-test-suite/cases/semantic/00265/00265-settings.txt
new file mode 100644
index 0000000..529f687
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00265/00265-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00266/00266-results.csv b/models/sbml-test-suite/cases/semantic/00266/00266-results.csv
new file mode 100644
index 0000000..e6e0bff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00266/00266-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,9.999999999999999e-7,4.999999999999999e-7,1.999999999999999e-6,0
+0.1,9.590949637929148e-7,4.590949637929145e-7,2.040905036207085e-6,8.310762670249781e-8
+0.2,9.253483821426487e-7,4.253483821426487e-7,2.074651617857351e-6,1.542961007672865e-7
+0.3,8.974729530649973e-7,3.974729530649972e-7,2.102527046935002e-6,2.158713452149336e-7
+0.4,8.744548617256896e-7,3.744548617256895e-7,2.12554513827431e-6,2.696267598533529e-7
+0.5,8.554853873766762e-7,3.554853873766762e-7,2.144514612623323e-6,3.169767757884124e-7
+0.6,8.399121327004557e-7,3.399121327004557e-7,2.160087867299543e-6,3.59050907102047e-7
+0.7,8.272036208927437e-7,3.272036208927435e-7,2.172796379107256e-6,3.967611843375384e-7
+0.8,8.169231347451763e-7,3.169231347451758e-7,2.183076865254824e-6,4.30851373332566e-7
+0.9,8.08709137127277e-7,3.087091371272765e-7,2.191290862872722e-6,4.619333686194301e-7
+1.,8.022603687403629e-7,3.022603687403623e-7,2.197739631259636e-6,4.90514559287645e-7
+1.1,7.973243840930088e-7,2.973243840930084e-7,2.20267561590699e-6,5.170186325822306e-7
+1.2,7.936886137850903e-7,2.9368861378509e-7,2.206311386214909e-6,5.418016040238431e-7
+1.3,7.911733178026119e-7,2.911733178026114e-7,2.208826682197387e-6,5.651643116988982e-7
+1.4,7.896259916717595e-7,2.896259916717591e-7,2.21037400832824e-6,5.873622268228422e-7
+1.5,7.889168394419304e-7,2.889168394419299e-7,2.211083160558069e-6,6.086133065641727e-7
+1.6,7.889351330844188e-7,2.889351330844183e-7,2.211064866915581e-6,6.291042476558425e-7
+1.7,7.895862171562776e-7,2.895862171562771e-7,2.210413782843722e-6,6.489955815959614e-7
+1.8,7.907890391083183e-7,2.907890391083178e-7,2.209210960891681e-6,6.684258380229337e-7
+1.9,7.924741098912101e-7,2.924741098912097e-7,2.207525890108789e-6,6.87514955084712e-7
+2.,7.945817951816922e-7,2.945817951816918e-7,2.205418204818307e-6,7.06367115256046e-7
+2.1,7.970608824298732e-7,2.970608824298728e-7,2.202939117570126e-6,7.250731074273749e-7
+2.2,7.998673707090754e-7,2.998673707090749e-7,2.200132629290924e-6,7.437123096615806e-7
+2.3,8.029634460334318e-7,3.029634460334313e-7,2.197036553966568e-6,7.623543592139176e-7
+2.4,8.063166138448248e-7,3.063166138448244e-7,2.193683386155174e-6,7.810605602092579e-7
+2.5,8.098989494003018e-7,3.098989494003014e-7,2.190101050599697e-6,7.998850947149646e-7
+2.6,8.136864625709819e-7,3.136864625709816e-7,2.186313537429016e-6,8.188760458223392e-7
+2.7,8.176585548525326e-7,3.176585548525323e-7,2.182341445147466e-6,8.380762700311947e-7
+2.8,8.217975486057434e-7,3.21797548605743e-7,2.178202451394255e-6,8.575241517098653e-7
+2.9,8.260882815524261e-7,3.260882815524257e-7,2.173911718447572e-6,8.772542517662131e-7
+3.,8.305177589295959e-7,3.305177589295954e-7,2.169482241070402e-6,8.972978634494159e-7
+3.1,8.35074853580438e-7,3.350748535804375e-7,2.16492514641956e-6,9.176834911667674e-7
+3.2,8.397500464804077e-7,3.397500464804071e-7,2.16024995351959e-6,9.38437264482009e-7
+3.3,8.445352024090165e-7,3.44535202409016e-7,2.155464797590982e-6,9.595832959418713e-7
+3.4,8.494233728355696e-7,3.494233728355691e-7,2.150576627164428e-6,9.811439947999096e-7
+3.5,8.54408634117724e-7,3.544086341177233e-7,2.145591365882274e-6,1.003140326119716e-6
+3.6,8.594859362065204e-7,3.594859362065198e-7,2.140514063793478e-6,1.025592050844495e-6
+3.7,8.646509823521032e-7,3.646509823521026e-7,2.135349017647895e-6,1.048517918855831e-6
+3.8,8.699001167665787e-7,3.699001167665781e-7,2.13009988323342e-6,1.071935847212275e-6
+3.9,8.752302347358728e-7,3.752302347358723e-7,2.124769765264125e-6,1.095863064908639e-6
+4.,8.806386973888007e-7,3.806386973888e-7,2.119361302611197e-6,1.120316247322267e-6
+4.1,8.861232650741247e-7,3.86123265074124e-7,2.113876734925873e-6,1.145311623828346e-6
+4.2,8.916820363760535e-7,3.916820363760528e-7,2.108317963623944e-6,1.170865075100454e-6
+4.3,8.973133950862054e-7,3.973133950862048e-7,2.102686604913792e-6,1.196992217088581e-6
+4.4,9.030159655819681e-7,4.030159655819674e-7,2.09698403441803e-6,1.223708472092632e-6
+4.5,9.087885747738278e-7,4.087885747738272e-7,2.091211425226169e-6,1.251029129815361e-6
+4.6,9.146302185819183e-7,4.146302185819177e-7,2.085369781418079e-6,1.278969400565197e-6
+4.7,9.205400327958339e-7,4.205400327958333e-7,2.079459967204164e-6,1.307544460693676e-6
+4.8,9.265172685583277e-7,4.265172685583271e-7,2.07348273144167e-6,1.33676949109985e-6
+4.9,9.325612714615254e-7,4.325612714615248e-7,2.067438728538473e-6,1.366659710401398e-6
+5.,9.386714631205069e-7,4.386714631205063e-7,2.061328536879491e-6,1.397230403164984e-6
diff --git a/models/sbml-test-suite/cases/semantic/00266/00266-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00266/00266-sbml-l2v4.xml
new file mode 100644
index 0000000..2eae080
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00266/00266-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00266" id="case00266" name="case00266">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="5e-007" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="900000"/>
+      <parameter id="k2" name="k2" value="150000"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00266/00266-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00266/00266-sbml-l3v1.xml
new file mode 100644
index 0000000..4fed743
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00266/00266-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00266" id="case00266" name="case00266" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="900000" constant="true"/>
+      <parameter id="k2" name="k2" value="150000" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00266/00266-settings.txt b/models/sbml-test-suite/cases/semantic/00266/00266-settings.txt
new file mode 100644
index 0000000..8b20d89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00266/00266-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00267/00267-results.csv b/models/sbml-test-suite/cases/semantic/00267/00267-results.csv
new file mode 100644
index 0000000..fa88431
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00267/00267-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,9.999999999999999e-7,4.999999999999999e-7,1.999999999999999e-6,0
+0.16,9.380774006910731e-7,4.380774006910731e-7,2.061922599308926e-6,1.270902068020413e-7
+0.32,8.925092236776646e-7,3.925092236776645e-7,2.107490776322335e-6,2.271979866277974e-7
+0.48,8.589886396132688e-7,3.589886396132688e-7,2.14101136038673e-6,3.079614955279202e-7
+0.64,8.345113022732038e-7,3.345113022732038e-7,2.165488697726795e-6,3.74613700012303e-7
+0.8,8.169231347451763e-7,3.169231347451758e-7,2.183076865254824e-6,4.30851373332566e-7
+0.96,8.046451833736903e-7,3.046451833736898e-7,2.195354816626309e-6,4.793533959623559e-7
+1.12,7.964993980409851e-7,2.964993980409847e-7,2.203500601959014e-6,5.221025628176882e-7
+1.28,7.915944137496587e-7,2.915944137496582e-7,2.208405586250341e-6,5.605925411470045e-7
+1.44,7.892483425796371e-7,2.892483425796367e-7,2.210751657420362e-6,5.959651838338753e-7
+1.6,7.889351330844188e-7,2.889351330844183e-7,2.211064866915581e-6,6.291042476558425e-7
+1.76,7.902463865153403e-7,2.902463865153398e-7,2.209753613484659e-6,6.607010081678888e-7
+1.92,7.928635898827806e-7,2.928635898827801e-7,2.207136410117218e-6,6.913012586839734e-7
+2.08,7.965375598842505e-7,2.9653755988425e-7,2.203462440115749e-6,7.213396423841679e-7
+2.24,8.010729798465814e-7,3.010729798465808e-7,2.198927020153418e-6,7.511651832733222e-7
+2.4,8.063166138448248e-7,3.063166138448244e-7,2.193683386155174e-6,7.810605602092579e-7
+2.56,8.121482242537937e-7,3.121482242537934e-7,2.187851775746205e-6,8.112568451232634e-7
+2.72,8.184735211424288e-7,3.184735211424285e-7,2.181526478857569e-6,8.419448756198323e-7
+2.88,8.252186483278402e-7,3.252186483278397e-7,2.174781351672158e-6,8.73284109093378e-7
+3.04,8.323258489806493e-7,3.323258489806487e-7,2.167674151019349e-6,9.054095606323141e-7
+3.2,8.397500464804077e-7,3.397500464804071e-7,2.16024995351959e-6,9.38437264482009e-7
+3.36,8.474561433288688e-7,3.474561433288683e-7,2.152543856671129e-6,9.724685837438182e-7
+3.52,8.554168786125677e-7,3.554168786125671e-7,2.144583121387431e-6,1.007593626567411e-6
+3.68,8.636111376090046e-7,3.636111376090041e-7,2.136388862390994e-6,1.043893942922577e-6
+3.84,8.720226036673651e-7,3.720226036673644e-7,2.127977396332633e-6,1.081444674232947e-6
+4.,8.806386973888007e-7,3.806386973888e-7,2.119361302611197e-6,1.120316247322267e-6
+4.16,8.894497329260032e-7,3.894497329260024e-7,2.110550267073995e-6,1.160575720948806e-6
+4.32,8.984482524650327e-7,3.98448252465032e-7,2.101551747534965e-6,1.202287848230268e-6
+4.48,9.076285003064441e-7,4.076285003064435e-7,2.092371499693553e-6,1.245515915181285e-6
+4.64,9.169860081560083e-7,4.169860081560078e-7,2.083013991843989e-6,1.290322400246219e-6
+4.8,9.265172685583277e-7,4.265172685583271e-7,2.07348273144167e-6,1.33676949109985e-6
+4.96,9.362194781573339e-7,4.362194781573333e-7,2.063780521842664e-6,1.384919487563911e-6
+5.12,9.46090336145317e-7,4.460903361453165e-7,2.053909663854681e-6,1.434835113616126e-6
+5.28,9.561278862926699e-7,4.561278862926695e-7,2.043872113707328e-6,1.486579756733153e-6
+5.44,9.663303933343738e-7,4.663303933343732e-7,2.033669606665624e-6,1.540217649118207e-6
+5.6,9.766962463766618e-7,4.766962463766611e-7,2.023303753623336e-6,1.59581400229522e-6
+5.76,9.872238835479023e-7,4.872238835479013e-7,2.012776116452096e-6,1.653435104019759e-6
+5.92,9.979117333479049e-7,4.979117333479038e-7,2.002088266652094e-6,1.713148384744529e-6
+6.08,1.008758169042018e-6,5.087581690420178e-7,1.99124183095798e-6,1.775022459822456e-6
+6.24,1.019761473400109e-6,5.197614734001084e-7,1.980238526599889e-6,1.839127150243748e-6
+6.4,1.030919811449791e-6,5.309198114497905e-7,1.969080188550207e-6,1.905533487478799e-6
+6.56,1.042231209600277e-6,5.422312096002761e-7,1.957768790399721e-6,1.974313703679336e-6
+6.72,1.053693539787688e-6,5.536935397876877e-7,1.946306460212309e-6,2.045541209813389e-6
+6.88,1.065304507522032e-6,5.653045075220317e-7,1.934695492477965e-6,2.119290563867659e-6
+7.04,1.077061643361605e-6,5.770616433616044e-7,1.922938356638393e-6,2.195637428360822e-6
+7.2,1.08896229688808e-6,5.889622968880791e-7,1.911037703111918e-6,2.2746585205103e-6
+7.36,1.101003632614192e-6,6.010036326141917e-7,1.898996367385806e-6,2.356431555924524e-6
+7.52,1.113182627791445e-6,6.131826277914437e-7,1.886817372208553e-6,2.441035184631569e-6
+7.68,1.125496071924502e-6,6.254960719245011e-7,1.874503928075496e-6,2.528548920024679e-6
+7.84,1.137940567403752e-6,6.379405674037517e-7,1.862059432596246e-6,2.61905306305241e-6
+8.,1.150512531055828e-6,6.505125310558271e-7,1.84948746894417e-6,2.712628621643673e-6
diff --git a/models/sbml-test-suite/cases/semantic/00267/00267-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00267/00267-sbml-l2v4.xml
new file mode 100644
index 0000000..34cc836
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00267/00267-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00267" id="case00267" name="case00267">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="5e-007" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="900000"/>
+      <parameter id="k2" name="k2" value="150000"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00267/00267-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00267/00267-sbml-l3v1.xml
new file mode 100644
index 0000000..956dea5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00267/00267-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00267" id="case00267" name="case00267" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="900000" constant="true"/>
+      <parameter id="k2" name="k2" value="150000" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00267/00267-settings.txt b/models/sbml-test-suite/cases/semantic/00267/00267-settings.txt
new file mode 100644
index 0000000..e55e4e9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00267/00267-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00268/00268-results.csv b/models/sbml-test-suite/cases/semantic/00268/00268-results.csv
new file mode 100644
index 0000000..763237a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00268/00268-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,9.999999999999999e-7,4.999999999999999e-7,1.999999999999999e-6,0
+0.2,9.253483821426487e-7,4.253483821426487e-7,2.074651617857351e-6,1.542961007672865e-7
+0.4,8.744548617256896e-7,3.744548617256895e-7,2.12554513827431e-6,2.696267598533529e-7
+0.6,8.399121327004557e-7,3.399121327004557e-7,2.160087867299543e-6,3.59050907102047e-7
+0.8,8.169231347451763e-7,3.169231347451758e-7,2.183076865254824e-6,4.30851373332566e-7
+1.,8.022603687403629e-7,3.022603687403623e-7,2.197739631259636e-6,4.90514559287645e-7
+1.2,7.936886137850903e-7,2.9368861378509e-7,2.206311386214909e-6,5.418016040238431e-7
+1.4,7.896259916717595e-7,2.896259916717591e-7,2.21037400832824e-6,5.873622268228422e-7
+1.6,7.889351330844188e-7,2.889351330844183e-7,2.211064866915581e-6,6.291042476558425e-7
+1.8,7.907890391083183e-7,2.907890391083178e-7,2.209210960891681e-6,6.684258380229337e-7
+2.,7.945817951816922e-7,2.945817951816918e-7,2.205418204818307e-6,7.06367115256046e-7
+2.2,7.998673707090754e-7,2.998673707090749e-7,2.200132629290924e-6,7.437123096615806e-7
+2.4,8.063166138448248e-7,3.063166138448244e-7,2.193683386155174e-6,7.810605602092579e-7
+2.6,8.136864625709819e-7,3.136864625709816e-7,2.186313537429016e-6,8.188760458223392e-7
+2.8,8.217975486057434e-7,3.21797548605743e-7,2.178202451394255e-6,8.575241517098653e-7
+3.,8.305177589295959e-7,3.305177589295954e-7,2.169482241070402e-6,8.972978634494159e-7
+3.2,8.397500464804077e-7,3.397500464804071e-7,2.16024995351959e-6,9.38437264482009e-7
+3.4,8.494233728355696e-7,3.494233728355691e-7,2.150576627164428e-6,9.811439947999096e-7
+3.6,8.594859362065204e-7,3.594859362065198e-7,2.140514063793478e-6,1.025592050844495e-6
+3.8,8.699001167665787e-7,3.699001167665781e-7,2.13009988323342e-6,1.071935847212275e-6
+4.,8.806386973888007e-7,3.806386973888e-7,2.119361302611197e-6,1.120316247322267e-6
+4.2,8.916820363760535e-7,3.916820363760528e-7,2.108317963623944e-6,1.170865075100454e-6
+4.4,9.030159655819681e-7,4.030159655819674e-7,2.09698403441803e-6,1.223708472092632e-6
+4.6,9.146302185819183e-7,4.146302185819177e-7,2.085369781418079e-6,1.278969400565197e-6
+4.8,9.265172685583277e-7,4.265172685583271e-7,2.07348273144167e-6,1.33676949109985e-6
+5.,9.386714630742981e-7,4.386714630742977e-7,2.0613285369257e-6,1.397230403059019e-6
+5.2,9.510883870847765e-7,4.510883870847761e-7,2.048911612915221e-6,1.460474815114508e-6
+5.4,9.637643913105274e-7,4.637643913105267e-7,2.03623560868947e-6,1.526627135396579e-6
+5.6,9.766962463766618e-7,4.766962463766611e-7,2.023303753623336e-6,1.59581400229522e-6
+5.8,9.89880888350362e-7,4.89880888350361e-7,2.010119111649636e-6,1.668164622789424e-6
+6.,1.003315232809746e-6,5.033152328097452e-7,1.996684767190252e-6,1.743810987573669e-6
+6.2,1.016996038997702e-6,5.169960389977012e-7,1.983003961002296e-6,1.822887993530821e-6
+6.4,1.030919811449791e-6,5.309198114497905e-7,1.969080188550207e-6,1.905533487478799e-6
+6.6,1.045082729006857e-6,5.450827290068564e-7,1.95491727099314e-6,1.991888253468153e-6
+6.8,1.059480594119652e-6,5.594805941196515e-7,1.940519405880345e-6,2.082095952281387e-6
+7.,1.074108797962761e-6,5.741087979627604e-7,1.925891202037237e-6,2.176303017601746e-6
+7.2,1.08896229688808e-6,5.889622968880791e-7,1.911037703111918e-6,2.2746585205103e-6
+7.4,1.104035597987792e-6,6.040355979877912e-7,1.895964402012206e-6,2.377314003401754e-6
+7.6,1.119322751718626e-6,6.193227517186248e-7,1.880677248281373e-6,2.484423287717151e-6
+7.8,1.134817350315828e-6,6.348173503158279e-7,1.86518264968417e-6,2.596142257606756e-6
+8.,1.150512531134726e-6,6.505125311347249e-7,1.849487468865273e-6,2.712628621412911e-6
+8.2,1.166400983905927e-6,6.664009839059264e-7,1.833599016094071e-6,2.834041653957183e-6
+8.4,1.182474961960055e-6,6.824749619600544e-7,1.817525038039943e-6,2.960541919467883e-6
+8.6,1.198726296343469e-6,6.987262963434682e-7,1.801273703656529e-6,3.092290978915501e-6
+8.8,1.215146413126555e-6,7.151464131265543e-7,1.784853586873443e-6,3.229451081438175e-6
+9.,1.231726353284198e-6,7.317263532841974e-7,1.7682736467158e-6,3.37218484226342e-6
+9.2,1.248456795516652e-6,7.484567955166518e-7,1.751543204483346e-6,3.52065490880363e-6
+9.4,1.265328080742742e-6,7.653280807427418e-7,1.734671919257256e-6,3.675023616499032e-6
+9.6,1.282330239409242e-6,7.823302394092414e-7,1.717669760590756e-6,3.83545263711051e-6
+9.8,1.299453020122438e-6,7.994530201224373e-7,1.70054697987756e-6,4.002102619751339e-6
+10.,1.316685920339693e-6,8.166859203396927e-7,1.683314079660305e-6,4.175132828286119e-6
diff --git a/models/sbml-test-suite/cases/semantic/00268/00268-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00268/00268-sbml-l2v4.xml
new file mode 100644
index 0000000..349d00d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00268/00268-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00268" id="case00268" name="case00268">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="5e-007" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="900000"/>
+      <parameter id="k2" name="k2" value="150000"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00268/00268-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00268/00268-sbml-l3v1.xml
new file mode 100644
index 0000000..5328675
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00268/00268-sbml-l3v1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00268" id="case00268" name="case00268" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="900000" constant="true"/>
+      <parameter id="k2" name="k2" value="150000" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00268/00268-settings.txt b/models/sbml-test-suite/cases/semantic/00268/00268-settings.txt
new file mode 100644
index 0000000..bb92d29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00268/00268-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00269/00269-results.csv b/models/sbml-test-suite/cases/semantic/00269/00269-results.csv
new file mode 100644
index 0000000..0e82812
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00269/00269-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.04,0.9616000000000002,0.03839999999999999
+0.08,0.9232000000000002,0.07679999999999999
+0.12,0.8848000000000002,0.1151999999999999
+0.16,0.8464000000000002,0.1535999999999999
+0.2,0.8080000000000002,0.1919999999999999
+0.24,0.7696000000000001,0.2303999999999999
+0.28,0.7452999999998636,0.2547000000001361
+0.32,0.7356999999998598,0.2643000000001399
+0.36,0.7260999999998581,0.2739000000001415
+0.4,0.7164999999998615,0.283500000000138
+0.44,0.7068999999998745,0.2931000000001252
+0.48,0.6972999999998801,0.3027000000001194
+0.52,0.6876999999998895,0.3123000000001101
+0.56,0.6780999999998967,0.3219000000001029
+0.6,0.6684999999998996,0.3315000000001001
+0.64,0.6588999999999035,0.3411000000000961
+0.68,0.6492999999999041,0.3507000000000954
+0.72,0.6396999999999051,0.3603000000000945
+0.76,0.6300999999999054,0.3699000000000943
+0.8,0.6204999999999055,0.3795000000000941
+0.84,0.6108999999999059,0.3891000000000938
+0.88,0.6012999999999062,0.3987000000000934
+0.92,0.5916999999999064,0.4083000000000932
+0.96,0.5820999999999064,0.4179000000000932
+1.,0.5724999999999065,0.4275000000000931
+1.04,0.5628999999999067,0.437100000000093
+1.08,0.5532999999999067,0.4467000000000929
+1.12,0.5436999999999068,0.4563000000000928
+1.16,0.5340999999999068,0.4659000000000928
+1.2,0.5244999999999068,0.4755000000000927
+1.24,0.5148999999999068,0.4851000000000928
+1.28,0.5052999999999068,0.4947000000000928
+1.32,0.4985666666666957,0.5014333333333044
+1.36,0.4953666666666957,0.5046333333333044
+1.4,0.4921666666666957,0.5078333333333043
+1.44,0.4889666666666956,0.5110333333333043
+1.48,0.4857666666666956,0.5142333333333043
+1.52,0.4825666666666956,0.5174333333333043
+1.56,0.4793666666666957,0.5206333333333043
+1.6,0.4761666666666956,0.5238333333333042
+1.64,0.4729666666666956,0.5270333333333043
+1.68,0.4697666666666956,0.5302333333333043
+1.72,0.4665666666666956,0.5334333333333043
+1.76,0.4633666666666956,0.5366333333333043
+1.8,0.4601666666666956,0.5398333333333043
+1.84,0.4569666666666956,0.5430333333333043
+1.88,0.4537666666666956,0.5462333333333043
+1.92,0.4505666666666957,0.5494333333333043
+1.96,0.4473666666666956,0.5526333333333043
+2.,0.4441666666666956,0.5558333333333043
diff --git a/models/sbml-test-suite/cases/semantic/00269/00269-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00269/00269-sbml-l2v4.xml
new file mode 100644
index 0000000..98b91d4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00269/00269-sbml-l2v4.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00269" id="case00269" name="case00269">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <apply>
+                <factorial/>
+                <apply>
+                  <ceiling/>
+                  <apply>
+                    <times/>
+                    <ci> x </ci>
+                    <ci> y </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <power/>
+                <ci> z </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="4"/>
+      <parameter id="p2" name="p2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00269/00269-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00269/00269-sbml-l3v1.xml
new file mode 100644
index 0000000..3a85de0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00269/00269-sbml-l3v1.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00269" id="case00269" name="case00269" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <apply>
+                <factorial/>
+                <apply>
+                  <ceiling/>
+                  <apply>
+                    <times/>
+                    <ci> x </ci>
+                    <ci> y </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <power/>
+                <ci> z </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="4" constant="true"/>
+      <parameter id="p2" name="p2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00269/00269-settings.txt b/models/sbml-test-suite/cases/semantic/00269/00269-settings.txt
new file mode 100644
index 0000000..8b0405c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00269/00269-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00270/00270-results.csv b/models/sbml-test-suite/cases/semantic/00270/00270-results.csv
new file mode 100644
index 0000000..397a74c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00270/00270-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,10.,0,10.,0
+0.08,9.231163463763895,0.7688365362360987,9.996000000000004,0.004
+0.16,8.521437889473094,1.478562110526899,9.992000000000002,0.008
+0.24,7.866278608880327,2.133721391119666,9.988000000000001,0.01199999999999999
+0.32,7.261490366831131,2.738509633168864,9.984,0.016
+0.4,6.703200398921646,3.296799601078348,9.98,0.02
+0.48,6.187833843231774,3.812166156768221,9.975999999999999,0.02399999999999999
+0.56,5.712090633632988,4.287909366367006,9.971999999999999,0.02799999999999999
+0.64,5.272924199542948,4.727075800457047,9.968,0.032
+0.72,4.867522497268947,5.132477502731047,9.964,0.03599999999999999
+0.8,4.493289622533991,5.506710377466004,9.959999999999999,0.03999999999999999
+0.88,4.147828995543827,5.852171004456168,9.955999999999999,0.04399999999999999
+0.96,3.828928656211171,6.171071343788823,9.952,0.04799999999999998
+1.04,3.534546611732733,6.465453388267262,9.948,0.05199999999999999
+1.12,3.26279780752228,6.737202192477715,9.944,0.056
+1.2,3.011942119124525,6.98805788087547,9.939999999999999,0.05999999999999999
+1.28,2.780373004508355,7.219626995491637,9.825760566283127,0.1742394337168689
+1.36,2.566607768998751,7.433392231001241,9.705760566283123,0.294239433716869
+1.44,2.369277578980382,7.630722421019609,9.58576056628312,0.4142394337168688
+1.52,2.18711886851453,7.812881131485462,9.465760566283119,0.5342394337168688
+1.6,2.018965175685882,7.98103482431411,9.345760566283118,0.6542394337168691
+1.68,1.86373975536693,8.136260244633062,9.225760566283119,0.7742394337168688
+1.76,1.72044861595436,8.27955138404563,9.10576056628312,0.8942394337168689
+1.84,1.588174234357464,8.411825765642527,8.98576056628312,1.014239433716869
+1.92,1.466069611694447,8.533930388305544,8.865760566283121,1.134239433716868
+2.,1.353352803218943,8.646647196781048,8.745760566283122,1.254239433716868
+2.08,1.249302120134065,8.750697879865924,8.625760566283123,1.374239433716869
+2.16,1.153251183056564,8.846748816943426,8.505760566283123,1.494239433716869
+2.24,1.064584973426151,8.935415026573837,8.385760566283124,1.614239433716869
+2.32,0.9827358007632098,9.017264199236779,8.265760566283125,1.734239433716868
+2.4,0.9071794914861456,9.092820508513842,8.145760566283124,1.854239433716868
+2.48,0.8374322267946364,9.162567773205353,8.025760566283123,1.974239433716868
+2.56,0.7730473856877979,9.226952614312191,7.905760566283123,2.094239433716868
+2.64,0.7136126850650282,9.286387314934961,7.785760566283123,2.214239433716868
+2.72,0.6587475397033886,9.341252460296601,7.665760566283123,2.334239433716868
+2.8,0.608100625208807,9.391899374791183,7.545760566283124,2.454239433716868
+2.88,0.5613476283368077,9.438652371663181,7.425760566283124,2.574239433716867
+2.96,0.5181891705682446,9.481810829431742,7.305760566283124,2.694239433716868
+3.04,0.4783488912783545,9.521651108721632,7.185760566283123,2.814239433716868
+3.12,0.4415716773717656,9.558428322628222,7.065760566283124,2.934239433716868
+3.2,0.4076220296434289,9.592377970356558,6.945760566283124,3.054239433716869
+3.28,0.3762825548145029,9.623717445185485,6.825760566283124,3.174239433716868
+3.36,0.3473525735026511,9.652647426497337,6.705760566283124,3.294239433716868
+3.44,0.3206468352137679,9.679353164786221,6.585760566283123,3.414239433716868
+3.52,0.2959943321272479,9.70400566787274,6.465760566283123,3.534239433716868
+3.6,0.2732372040795781,9.726762795920409,6.345760566283124,3.654239433716868
+3.68,0.252229727734852,9.747770272265135,6.225760566283124,3.774239433716868
+3.76,0.2328373834698842,9.767162616530104,6.105760566283125,3.894239433716867
+3.84,0.2149359939991643,9.785064006000823,5.985760566283125,4.014239433716867
+3.92,0.1984109421319521,9.801589057868035,5.865760566283126,4.134239433716866
+4.,0.1831563888886577,9.81684361111133,5.745760566283125,4.254239433716867
diff --git a/models/sbml-test-suite/cases/semantic/00270/00270-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00270/00270-sbml-l2v4.xml
new file mode 100644
index 0000000..c71a3b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00270/00270-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00270" id="case00270" name="case00270">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <gt/>
+                  <ci> x </ci>
+                  <cn type="integer"> 7 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00270/00270-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00270/00270-sbml-l3v1.xml
new file mode 100644
index 0000000..9528e77
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00270/00270-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00270" id="case00270" name="case00270" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <gt/>
+                  <ci> x </ci>
+                  <cn type="integer"> 7 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00270/00270-settings.txt b/models/sbml-test-suite/cases/semantic/00270/00270-settings.txt
new file mode 100644
index 0000000..647aaf1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00270/00270-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00271/00271-results.csv b/models/sbml-test-suite/cases/semantic/00271/00271-results.csv
new file mode 100644
index 0000000..5c5aa7c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00271/00271-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,10.,0
+0.4,9.980000000000007,0.02
+0.8,9.960000000000008,0.04
+1.2,9.940000000000008,0.06
+1.6,9.920000000000008,0.08000000000000001
+2.,9.900000000000007,0.1
+2.4,9.880000000000007,0.12
+2.8,9.860000000000008,0.14
+3.2,9.840000000000008,0.16
+3.6,9.820000000000009,0.18
+4.,9.800000000000007,0.2
+4.4,9.780000000000008,0.22
+4.8,9.760000000000008,0.24
+5.2,9.740000000000009,0.26
+5.6,9.720000000000009,0.28
+6.,9.700000000000008,0.3
+6.4,9.680000000000008,0.32
+6.8,9.660000000000009,0.34
+7.2,9.640000000000009,0.3600000000000001
+7.6,9.620000000000009,0.38
+8.,9.600000000000008,0.4
+8.4,9.580000000000009,0.4200000000000001
+8.8,9.560000000000009,0.4400000000000001
+9.2,9.540000000000009,0.46
+9.6,9.52000000000001,0.48
+10.,9.500000000000008,0.5000000000000001
+10.4,9.480000000000009,0.5200000000000001
+10.8,9.460000000000009,0.5400000000000001
+11.2,9.44000000000001,0.56
+11.6,9.42000000000001,0.58
+12.,9.400000000000009,0.6
+12.4,9.380000000000009,0.6200000000000001
+12.8,9.36000000000001,0.6400000000000001
+13.2,9.34000000000001,0.66
+13.6,9.32000000000001,0.68
+14.,9.300000000000009,0.7
+14.4,9.28000000000001,0.72
+14.8,9.26000000000001,0.7400000000000001
+15.2,9.24000000000001,0.76
+15.6,9.220000000000011,0.78
+16.,9.200000000000009,0.8
+16.4,9.18000000000001,0.8199999999999999
+16.8,9.16000000000001,0.84
+17.2,9.140000000000011,0.8599999999999999
+17.6,9.120000000000009,0.8800000000000001
+18.,9.10000000000001,0.9
+18.4,9.08000000000001,0.9199999999999999
+18.8,9.060000000000011,0.94
+19.2,9.040000000000011,0.9599999999999999
+19.6,9.02000000000001,0.98
+20.,9.00000000000001,1.
diff --git a/models/sbml-test-suite/cases/semantic/00271/00271-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00271/00271-sbml-l2v4.xml
new file mode 100644
index 0000000..0607668
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00271/00271-sbml-l2v4.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00271" id="case00271" name="case00271">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <ci> y </ci>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00271/00271-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00271/00271-sbml-l3v1.xml
new file mode 100644
index 0000000..2ed6829
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00271/00271-sbml-l3v1.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00271" id="case00271" name="case00271" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <ci> y </ci>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00271/00271-settings.txt b/models/sbml-test-suite/cases/semantic/00271/00271-settings.txt
new file mode 100644
index 0000000..be33efd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00271/00271-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00272/00272-results.csv b/models/sbml-test-suite/cases/semantic/00272/00272-results.csv
new file mode 100644
index 0000000..bf5ac64
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00272/00272-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,10.,0,10.,0
+0.1,9.048374179721133,0.9516258202788616,9.995000000000002,0.005
+0.2,8.187307521692892,1.812692478307102,9.990000000000002,0.01
+0.3,7.408182198378273,2.591817801621721,9.985000000000001,0.01499999999999999
+0.4,6.703200398921646,3.296799601078348,9.98,0.02
+0.5,6.065306565630086,3.934693434369909,9.974999999999999,0.025
+0.6,5.488116360696976,4.511883639303016,9.840697154461873,0.1593028455381201
+0.7,4.965853036364302,5.03414696363569,9.690697154461872,0.3093028455381201
+0.8,4.493289630151469,5.506710369848523,9.540697154461875,0.4593028455381202
+0.9,4.065696587070039,5.934303412929953,9.390697154461877,0.6093028455381202
+1.,3.678794337680904,6.321205662319088,9.24069715446188,0.75930284553812
+1.1,3.32871079112572,6.671289208874271,9.09069715446188,0.9093028455381203
+1.2,3.011942103454855,6.988057896545137,8.940697154461881,1.059302845538119
+1.3,2.725317930233366,7.274682069766625,8.790697154461883,1.20930284553812
+1.4,2.465969629389174,7.534030370610818,8.640697154461882,1.35930284553812
+1.5,2.231301325889154,7.768698674110838,8.490697154461884,1.509302845538119
+1.6,2.018964989571498,7.981035010428494,8.340697154461885,1.65930284553812
+1.7,1.826835202772336,8.173164797227658,8.190697154461885,1.809302845538119
+1.8,1.652988810820756,8.347011189179237,8.040697154461883,1.95930284553812
+1.9,1.495686146674353,8.504313853325641,7.890697154461883,2.10930284553812
+2.,1.353352795919592,8.646647204080402,7.740697154461883,2.25930284553812
+2.1,1.224564225929522,8.775435774070471,7.590697154461882,2.40930284553812
+2.2,1.108031571901821,8.891968428098172,7.440697154461883,2.55930284553812
+2.3,1.002588380788117,8.997411619211876,7.290697154461883,2.709302845538119
+2.4,0.9071795323625099,9.092820467637482,7.140697154461883,2.859302845538119
+2.5,0.8208499383729974,9.179150061626995,6.990697154461884,3.009302845538119
+2.6,0.7427357790992594,9.257264220900731,6.840697154461883,3.15930284553812
+2.7,0.672055118078251,9.327944881921739,6.690697154461884,3.30930284553812
+2.8,0.6081005825080682,9.391899417491924,6.540697154461885,3.459302845538119
+2.9,0.5502321289964989,9.449767871003492,6.390697154461885,3.60930284553812
+3.,0.4978706063020289,9.502129393697963,6.240697154461885,3.759302845538119
+3.1,0.4504919629020188,9.549508037097973,6.090697154461883,3.909302845538119
+3.2,0.4076220075213432,9.592377992478647,5.940697154461883,4.05930284553812
+3.3,0.3688316674780789,9.631168332521914,5.790697154461883,4.209302845538119
+3.4,0.3337326980509873,9.666267301949005,5.640697154461884,4.359302845538119
+3.5,0.3019738177011027,9.698026182298891,5.490697154461884,4.509302845538119
+3.6,0.2732371925468827,9.726762807453111,5.340697154461883,4.659302845538119
+3.7,0.2472352268861604,9.752764773113833,5.190697154461883,4.80930284553812
+3.8,0.223707686108061,9.776292313891932,5.040697154461883,4.95930284553812
+3.9,0.2024190949683469,9.797580905031646,4.890697154461883,5.10930284553812
+4.,0.1831563830540355,9.816843616945957,4.740697154461883,5.25930284553812
+4.1,0.1657267539826886,9.834273246017303,4.590697154461884,5.409302845538118
+4.2,0.1499557624709558,9.850044237529036,4.440697154461883,5.55930284553812
+4.3,0.1356855763256111,9.864314423674381,4.290697154461883,5.709302845538119
+4.4,0.1227733809469085,9.877226619053084,4.140697154461883,5.85930284553812
+4.5,0.1110899485343183,9.888910051465675,3.990697154461884,6.00930284553812
+4.6,0.1005183461689472,9.899481653831045,3.840697154461884,6.159302845538119
+4.7,0.09095276663680253,9.909047233363191,3.690697154461883,6.30930284553812
+4.8,0.08229747034505326,9.91770252965494,3.540697154461884,6.459302845538118
+4.9,0.07446583011984332,9.925534169880149,3.390697154461883,6.609302845538119
+5.,0.0673794699913176,9.932620530008675,3.240697154461884,6.759302845538118
diff --git a/models/sbml-test-suite/cases/semantic/00272/00272-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00272/00272-sbml-l2v4.xml
new file mode 100644
index 0000000..3b34d56
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00272/00272-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00272" id="case00272" name="case00272">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <geq/>
+                  <ci> x </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00272/00272-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00272/00272-sbml-l3v1.xml
new file mode 100644
index 0000000..6738540
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00272/00272-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00272" id="case00272" name="case00272" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <geq/>
+                  <ci> x </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00272/00272-settings.txt b/models/sbml-test-suite/cases/semantic/00272/00272-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00272/00272-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00273/00273-results.csv b/models/sbml-test-suite/cases/semantic/00273/00273-results.csv
new file mode 100644
index 0000000..dde4d14
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00273/00273-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,5.,0,5.,0
+0.04,4.803947195684428,0.196052804315572,4.998000000000002,0.001999999999999999
+0.08,4.61558173185226,0.3844182681477387,4.996000000000001,0.004
+0.12,4.43460218151028,0.5653978184897187,4.994,0.005999999999999999
+0.16,4.260718941432526,0.7392810585674729,4.992,0.007999999999999998
+0.2,4.093653764788253,0.9063462352117456,4.99,0.00999999999999999
+0.24,3.933139305334343,1.06686069466564,4.963558149406154,0.0364418505938531
+0.28,3.778918707039327,1.221081292960658,4.903558149406155,0.09644185059385318
+0.32,3.630745185369339,1.369254814630646,4.843558149406155,0.156441850593853
+0.36,3.48838163010352,1.511618369896465,4.783558149406155,0.216441850593853
+0.4,3.351600227881407,1.648399772118578,4.723558149406153,0.2764418505938531
+0.44,3.22018209822348,1.779817901776505,4.663558149406154,0.336441850593853
+0.48,3.09391695601604,1.906083043983945,4.603558149406154,0.396441850593853
+0.52,2.972602738903915,2.02739726109607,4.543558149406155,0.4564418505938531
+0.56,2.856045313184196,2.143954686815789,4.483558149406154,0.5164418505938532
+0.6,2.744058176666234,2.255941823333751,4.423558149406154,0.576441850593853
+0.64,2.63646211970905,2.363537880290935,4.363558149406155,0.636441850593853
+0.68,2.533084944991752,2.466915055008233,4.303558149406154,0.6964418505938532
+0.72,2.433761239987687,2.566238760012298,4.243558149406154,0.756441850593853
+0.76,2.338332098618619,2.661667901381366,4.183558149406154,0.8164418505938531
+0.8,2.246644808635647,2.753355191364338,4.123558149406154,0.8764418505938531
+0.84,2.158552615788973,2.841447384211012,4.063558149406153,0.9364418505938531
+0.88,2.073914536109741,2.926085463890244,4.003558149406154,0.9964418505938531
+0.92,1.992595170473933,3.007404829526052,3.943558149406154,1.056441850593853
+0.96,1.914464405878247,3.085535594121738,3.883558149406154,1.116441850593852
+1.,1.839397202471498,3.160602797528487,3.823558149406153,1.176441850593853
+1.04,1.767273403698755,3.232726596301229,3.763558149406153,1.236441850593853
+1.08,1.69797760394896,3.302022396051025,3.703558149406153,1.296441850593853
+1.12,1.63139888148742,3.368601118512564,3.643558149406153,1.356441850593852
+1.16,1.567430869095165,3.43256913090482,3.583558149406154,1.416441850593852
+1.2,1.505970953994722,3.494029046005263,3.523558149406154,1.476441850593852
+1.24,1.446921079745172,3.553078920254813,3.463558149406153,1.536441850593853
+1.28,1.390186393940991,3.609813606058994,3.403558149406153,1.596441850593853
+1.32,1.335676509825407,3.664323490174577,3.343558149406153,1.656441850593853
+1.36,1.283303784123197,3.716696215876787,3.283558149406153,1.716441850593853
+1.4,1.232984812193491,3.767015187806494,3.223558149406153,1.776441850593853
+1.44,1.18463870871985,3.815361291280134,3.163558149406154,1.836441850593853
+1.48,1.13818841806422,3.861811581935765,3.103558149406154,1.896441850593853
+1.52,1.093559371223575,3.906440628776409,3.043558149406154,1.956441850593853
+1.56,1.05068031466341,3.949319685336574,2.983558149406154,2.016441850593853
+1.6,1.009482549210711,3.990517450789274,2.923558149406154,2.076441850593853
+1.64,0.9699001561728396,4.030099843827145,2.863558149406153,2.136441850593853
+1.68,0.9318698600615534,4.068130139938431,2.803558149406153,2.196441850593853
+1.72,0.8953306762910041,4.10466932370898,2.743558149406154,2.256441850593853
+1.76,0.8602243137341797,4.139775686265805,2.683558149406154,2.316441850593853
+1.8,0.8264943765339538,4.173505623466031,2.623558149406154,2.376441850593853
+1.84,0.794087130528259,4.205912869471726,2.563558149406154,2.436441850593853
+1.88,0.7629504470109611,4.237049552989024,2.503558149406154,2.496441850593853
+1.92,0.7330348106508317,4.266965189349153,2.443558149406154,2.556441850593853
+1.96,0.7042920291228591,4.295707970877126,2.383558149406154,2.616441850593853
+2.,0.6766764161837665,4.323323583816218,2.323558149406154,2.676441850593853
diff --git a/models/sbml-test-suite/cases/semantic/00273/00273-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00273/00273-sbml-l2v4.xml
new file mode 100644
index 0000000..789a34b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00273/00273-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00273" id="case00273" name="case00273">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <leq/>
+                  <ci> x </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00273/00273-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00273/00273-sbml-l3v1.xml
new file mode 100644
index 0000000..46cf2f2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00273/00273-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00273" id="case00273" name="case00273" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <leq/>
+                  <ci> x </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00273/00273-settings.txt b/models/sbml-test-suite/cases/semantic/00273/00273-settings.txt
new file mode 100644
index 0000000..34a94f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00273/00273-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00274/00274-results.csv b/models/sbml-test-suite/cases/semantic/00274/00274-results.csv
new file mode 100644
index 0000000..7e171b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00274/00274-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,5.,0,5.,0
+0.04,4.803947195684428,0.196052804315572,4.998000000000002,0.001999999999999999
+0.08,4.61558173185226,0.3844182681477387,4.996000000000001,0.004
+0.12,4.43460218151028,0.5653978184897187,4.994,0.005999999999999999
+0.16,4.260718941432526,0.7392810585674729,4.992,0.007999999999999998
+0.2,4.093653764788253,0.9063462352117456,4.99,0.00999999999999999
+0.24,3.933139304050132,1.066860695949867,4.987999999999999,0.012
+0.28,3.778918704158512,1.221081295841486,4.985999999999998,0.014
+0.32,3.630745136152671,1.369254863847327,4.983999999999998,0.016
+0.36,3.488381584471709,1.511618415528289,4.981999999999998,0.018
+0.4,3.351600206042375,1.648399793957623,4.979999999999997,0.02
+0.44,3.220182103028669,1.77981789697133,4.977999999999998,0.022
+0.48,3.093916952112063,1.906083047887936,4.975999999999997,0.024
+0.52,2.972602711834332,2.027397288165667,4.973999999999997,0.026
+0.56,2.856045279289337,2.143954720710661,4.971999999999996,0.028
+0.6,2.744058146564626,2.255941853435373,4.969999999999997,0.03
+0.64,2.636462104985466,2.363537895014533,4.967999999999996,0.032
+0.68,2.533084961829347,2.466915038170651,4.965999999999998,0.034
+0.72,2.433761279800225,2.566238720199773,4.925063411820807,0.07493658817918295
+0.76,2.338332133352514,2.661667866647484,4.865063411820806,0.134936588179183
+0.8,2.24664481932098,2.753355180679019,4.805063411820807,0.1949365881791831
+0.84,2.158552617157947,2.841447382842051,4.745063411820806,0.2549365881791829
+0.88,2.07391455725935,2.926085442740649,4.685063411820807,0.3149365881791831
+0.92,1.992595201018224,3.007404798981775,4.625063411820807,0.3749365881791831
+0.96,1.914464423400145,3.085535576599854,4.565063411820808,0.4349365881791829
+1.,1.839397200479121,3.160602799520878,4.505063411820807,0.4949365881791831
+1.04,1.76727340767314,3.232726592326859,4.445063411820807,0.5549365881791831
+1.08,1.697977628234836,3.302022371765164,4.385063411820808,0.614936588179183
+1.12,1.631398971176578,3.368601028823422,4.325063411820808,0.6749365881791833
+1.16,1.567430899855402,3.432569100144597,4.265063411820809,0.7349365881791829
+1.2,1.505971036094059,3.494028963905941,4.205063411820809,0.7949365881791828
+1.24,1.446921084492353,3.553078915507647,4.145063411820809,0.8549365881791828
+1.28,1.390186498768901,3.609813501231099,4.085063411820808,0.9149365881791832
+1.32,1.33567649019163,3.66432350980837,4.025063411820808,0.974936588179183
+1.36,1.283303861395623,3.716696138604376,3.965063411820808,1.034936588179183
+1.4,1.232984809253073,3.767015190746926,3.905063411820808,1.094936588179182
+1.44,1.184638793367656,3.815361206632343,3.845063411820808,1.154936588179182
+1.48,1.138188430480574,3.861811569519425,3.785063411820808,1.214936588179182
+1.52,1.093559414425446,3.906440585574553,3.725063411820808,1.274936588179182
+1.56,1.050680341963039,3.94931965803696,3.665063411820808,1.334936588179182
+1.6,1.009482588460035,3.990517411539964,3.605063411820808,1.394936588179182
+1.64,0.9699002066538704,4.03009979334613,3.545063411820808,1.454936588179182
+1.68,0.9318697857193911,4.068130214280609,3.485063411820808,1.514936588179182
+1.72,0.8953307249046147,4.104669275095385,3.425063411820808,1.574936588179182
+1.76,0.8602242334577195,4.139775766542281,3.365063411820808,1.634936588179182
+1.8,0.8264944253323813,4.173505574667619,3.305063411820808,1.694936588179182
+1.84,0.7940870530121462,4.205912946987854,3.245063411820808,1.754936588179183
+1.88,0.7629505120465386,4.237049487953463,3.185063411820809,1.814936588179182
+1.92,0.7330347935099752,4.266965206490026,3.125063411820809,1.874936588179182
+1.96,0.7042920942527113,4.29570790574729,3.065063411820809,1.934936588179182
+2.,0.6766764161868289,4.323323583813173,3.005063411820809,1.994936588179183
diff --git a/models/sbml-test-suite/cases/semantic/00274/00274-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00274/00274-sbml-l2v4.xml
new file mode 100644
index 0000000..28bf6fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00274/00274-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00274" id="case00274" name="case00274">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <lt/>
+                  <ci> x </ci>
+                  <cn> 2.5 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00274/00274-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00274/00274-sbml-l3v1.xml
new file mode 100644
index 0000000..5dfe41d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00274/00274-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00274" id="case00274" name="case00274" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <lt/>
+                  <ci> x </ci>
+                  <cn> 2.5 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00274/00274-settings.txt b/models/sbml-test-suite/cases/semantic/00274/00274-settings.txt
new file mode 100644
index 0000000..34a94f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00274/00274-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00275/00275-results.csv b/models/sbml-test-suite/cases/semantic/00275/00275-results.csv
new file mode 100644
index 0000000..b3e5b75
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00275/00275-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,0
+0.1,0.860708,0.139292
+0.2,0.740818,0.259182
+0.3,0.637628,0.362372
+0.4,0.548812,0.451188
+0.5,0.472367,0.527633
+0.6,0.40657,0.59343
+0.7,0.349938,0.650062
+0.8,0.301194,0.698806
+0.9,0.25924,0.74076
+1,0.22313,0.77687
+1.1,0.19205,0.80795
+1.2,0.165299,0.834701
+1.3,0.142274,0.857726
+1.4,0.122456,0.877544
+1.5,0.105399,0.894601
+1.6,0.090718,0.909282
+1.7,0.0780817,0.921918
+1.8,0.0672055,0.932794
+1.9,0.0578443,0.942156
+2,0.0497871,0.950213
+2.1,0.0428521,0.957148
+2.2,0.0368832,0.963117
+2.3,0.0317456,0.968254
+2.4,0.0273237,0.972676
+2.5,0.0235177,0.976482
+2.6,0.0202419,0.979758
+2.7,0.0174224,0.982578
+2.8,0.0149956,0.985004
+2.9,0.0129068,0.987093
+3,0.011109,0.988891
+3.1,0.0095616,0.990438
+3.2,0.00822975,0.99177
+3.3,0.00708341,0.992917
+3.4,0.00609675,0.993903
+3.5,0.00524752,0.994752
+3.6,0.00451658,0.995483
+3.7,0.00388746,0.996113
+3.8,0.00334597,0.996654
+3.9,0.0028799,0.99712
+4,0.00247875,0.997521
+4.1,0.00213348,0.997867
+4.2,0.0018363,0.998164
+4.3,0.00158052,0.998419
+4.4,0.00136037,0.99864
+4.5,0.00117088,0.998829
+4.6,0.00100779,0.998992
+4.7,0.000867409,0.999133
+4.8,0.000746586,0.999253
+4.9,0.000642592,0.999357
+5,0.000553084,0.999447
diff --git a/models/sbml-test-suite/cases/semantic/00275/00275-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00275/00275-sbml-l2v4.xml
new file mode 100644
index 0000000..547daf8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00275/00275-sbml-l2v4.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00275" id="case00275" name="case00275">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <ci> x </ci>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> S1 </ci>
+              <apply>
+                <ci> calculate </ci>
+                <ci> p1 </ci>
+                <ci> p2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00275/00275-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00275/00275-sbml-l3v1.xml
new file mode 100644
index 0000000..3ed57cb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00275/00275-sbml-l3v1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00275" id="case00275" name="case00275" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <ci> x </ci>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> S1 </ci>
+              <apply>
+                <ci> calculate </ci>
+                <ci> p1 </ci>
+                <ci> p2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00275/00275-settings.txt b/models/sbml-test-suite/cases/semantic/00275/00275-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00275/00275-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00276/00276-results.csv b/models/sbml-test-suite/cases/semantic/00276/00276-results.csv
new file mode 100644
index 0000000..4771c9b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00276/00276-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,10.,-4.552802091491864e-21,10.,-7.289529148123556e-24
+0.06,9.417645324461494,0.5823546755385079,9.997000000000005,0.002999999999999993
+0.12,8.869204357249085,1.130795642750916,9.994000000000005,0.005999999999999991
+0.18,8.352701724195318,1.647298275804681,9.991000000000005,0.008999999999999992
+0.24,7.86627861437525,2.13372138562475,9.988000000000004,0.01199999999999999
+0.3,7.408181814681254,2.591818185318747,9.985000000000006,0.015
+0.36,6.976762579073636,3.023237420926364,9.982000000000006,0.018
+0.42,6.570467753233168,3.429532246766833,9.979000000000006,0.02100000000000001
+0.48,6.187833876122906,3.812166123877095,9.976000000000006,0.02400000000000001
+0.54,5.827482326922408,4.172517673077593,9.973000000000007,0.02700000000000001
+0.6,5.488115851819599,4.511884148180402,9.970000000000007,0.03000000000000001
+0.66,5.168513571009209,4.831486428990792,9.967000000000007,0.03300000000000001
+0.72,4.867522801680682,5.132477198319318,9.925063464141729,0.07493653585827722
+0.78,4.584060327435751,5.41593967256425,9.835063464141732,0.1649365358582736
+0.84,4.317105411110747,5.682894588889253,9.745063464141738,0.2549365358582679
+0.9,4.065696736590328,5.934303263409673,9.655063464141738,0.3449365358582675
+0.96,3.828928976608488,6.171071023391514,9.565063464141738,0.4349365358582674
+1.02,3.605949516220043,6.394050483779958,9.475063464141737,0.5249365358582674
+1.08,3.395954672918069,6.604045327081932,9.385063464141737,0.6149365358582675
+1.14,3.198190410638177,6.801809589361824,9.295063464141737,0.7049365358582673
+1.2,3.011941538110932,6.988058461889069,9.205063464141737,0.7949365358582674
+1.26,2.836540163336728,7.163459836663273,9.115063464141737,0.8849365358582674
+1.32,2.671352803555362,7.328647196444638,9.025063464141737,0.9749365358582675
+1.38,2.515785068535645,7.484214931464356,8.935063464141737,1.064936535858267
+1.44,2.369277686209637,7.630722313790364,8.845063464141738,1.154936535858267
+1.5,2.231301142697984,7.768698857302016,8.755063464141738,1.244936535858267
+1.56,2.101360906024427,7.898639093975572,8.665063464141736,1.334936535858267
+1.62,1.97898729797409,8.021012702025911,8.590378274063775,1.409621725936225
+1.68,1.863740049281659,8.136259950718344,8.587378274063775,1.412621725936225
+1.74,1.755204118483646,8.244795881516354,8.584378274063775,1.415621725936225
+1.8,1.652988953004654,8.347011046995348,8.581378274063777,1.418621725936225
+1.86,1.556726190607859,8.443273809392142,8.578378274063776,1.421621725936225
+1.92,1.466069850588538,8.533930149411464,8.575378274063776,1.424621725936225
+1.98,1.380692258899084,8.619307741100918,8.572378274063776,1.427621725936225
+2.04,1.300287169703113,8.69971283029689,8.569378274063776,1.430621725936225
+2.1,1.224564343525834,8.775435656474169,8.566378274063778,1.433621725936225
+2.16,1.153251110139422,8.846748889860581,8.563378274063778,1.436621725936225
+2.22,1.086091249221528,8.913908750778475,8.560378274063777,1.439621725936225
+2.28,1.022841984274188,8.977158015725814,8.557378274063777,1.442621725936225
+2.34,0.9632764101867092,9.036723589813293,8.554378274063777,1.445621725936225
+2.4,0.9071795865385372,9.092820413461463,8.551378274063779,1.448621725936225
+2.46,0.8543492031383482,9.145650796861653,8.548378274063779,1.451621725936225
+2.52,0.8045960009781028,9.1954039990219,8.545378274063779,1.454621725936225
+2.58,0.7577398134001374,9.242260186599866,8.542378274063779,1.457621725936225
+2.64,0.713612585531667,9.286387414468336,8.539378274063778,1.460621725936225
+2.7,0.672054976625789,9.327945023374214,8.536378274063778,1.463621725936225
+2.76,0.6329175414694461,9.367082458530557,8.533378274063778,1.466621725936225
+2.82,0.5960594066138791,9.403940593386124,8.53037827406378,1.469621725936225
+2.88,0.5613476642609354,9.438652335739067,8.52737827406378,1.472621725936225
+2.94,0.5286572136836481,9.471342786316356,8.52437827406378,1.475621725936225
+3.,0.4978707590968576,9.502129240903146,8.52137827406378,1.478621725936225
diff --git a/models/sbml-test-suite/cases/semantic/00276/00276-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00276/00276-sbml-l2v4.xml
new file mode 100644
index 0000000..c70a2a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00276/00276-sbml-l2v4.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00276" id="case00276" name="case00276">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> w </ci>
+            </bvar>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <and/>
+                  <apply>
+                    <gt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> w </ci>
+                    <cn type="integer"> 5 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 8 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00276/00276-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00276/00276-sbml-l3v1.xml
new file mode 100644
index 0000000..386337f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00276/00276-sbml-l3v1.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00276" id="case00276" name="case00276" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> w </ci>
+            </bvar>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <and/>
+                  <apply>
+                    <gt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> w </ci>
+                    <cn type="integer"> 5 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 8 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00276/00276-settings.txt b/models/sbml-test-suite/cases/semantic/00276/00276-settings.txt
new file mode 100644
index 0000000..ca9de12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00276/00276-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00277/00277-results.csv b/models/sbml-test-suite/cases/semantic/00277/00277-results.csv
new file mode 100644
index 0000000..bf5ac64
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00277/00277-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,10.,0,10.,0
+0.1,9.048374179721133,0.9516258202788616,9.995000000000002,0.005
+0.2,8.187307521692892,1.812692478307102,9.990000000000002,0.01
+0.3,7.408182198378273,2.591817801621721,9.985000000000001,0.01499999999999999
+0.4,6.703200398921646,3.296799601078348,9.98,0.02
+0.5,6.065306565630086,3.934693434369909,9.974999999999999,0.025
+0.6,5.488116360696976,4.511883639303016,9.840697154461873,0.1593028455381201
+0.7,4.965853036364302,5.03414696363569,9.690697154461872,0.3093028455381201
+0.8,4.493289630151469,5.506710369848523,9.540697154461875,0.4593028455381202
+0.9,4.065696587070039,5.934303412929953,9.390697154461877,0.6093028455381202
+1.,3.678794337680904,6.321205662319088,9.24069715446188,0.75930284553812
+1.1,3.32871079112572,6.671289208874271,9.09069715446188,0.9093028455381203
+1.2,3.011942103454855,6.988057896545137,8.940697154461881,1.059302845538119
+1.3,2.725317930233366,7.274682069766625,8.790697154461883,1.20930284553812
+1.4,2.465969629389174,7.534030370610818,8.640697154461882,1.35930284553812
+1.5,2.231301325889154,7.768698674110838,8.490697154461884,1.509302845538119
+1.6,2.018964989571498,7.981035010428494,8.340697154461885,1.65930284553812
+1.7,1.826835202772336,8.173164797227658,8.190697154461885,1.809302845538119
+1.8,1.652988810820756,8.347011189179237,8.040697154461883,1.95930284553812
+1.9,1.495686146674353,8.504313853325641,7.890697154461883,2.10930284553812
+2.,1.353352795919592,8.646647204080402,7.740697154461883,2.25930284553812
+2.1,1.224564225929522,8.775435774070471,7.590697154461882,2.40930284553812
+2.2,1.108031571901821,8.891968428098172,7.440697154461883,2.55930284553812
+2.3,1.002588380788117,8.997411619211876,7.290697154461883,2.709302845538119
+2.4,0.9071795323625099,9.092820467637482,7.140697154461883,2.859302845538119
+2.5,0.8208499383729974,9.179150061626995,6.990697154461884,3.009302845538119
+2.6,0.7427357790992594,9.257264220900731,6.840697154461883,3.15930284553812
+2.7,0.672055118078251,9.327944881921739,6.690697154461884,3.30930284553812
+2.8,0.6081005825080682,9.391899417491924,6.540697154461885,3.459302845538119
+2.9,0.5502321289964989,9.449767871003492,6.390697154461885,3.60930284553812
+3.,0.4978706063020289,9.502129393697963,6.240697154461885,3.759302845538119
+3.1,0.4504919629020188,9.549508037097973,6.090697154461883,3.909302845538119
+3.2,0.4076220075213432,9.592377992478647,5.940697154461883,4.05930284553812
+3.3,0.3688316674780789,9.631168332521914,5.790697154461883,4.209302845538119
+3.4,0.3337326980509873,9.666267301949005,5.640697154461884,4.359302845538119
+3.5,0.3019738177011027,9.698026182298891,5.490697154461884,4.509302845538119
+3.6,0.2732371925468827,9.726762807453111,5.340697154461883,4.659302845538119
+3.7,0.2472352268861604,9.752764773113833,5.190697154461883,4.80930284553812
+3.8,0.223707686108061,9.776292313891932,5.040697154461883,4.95930284553812
+3.9,0.2024190949683469,9.797580905031646,4.890697154461883,5.10930284553812
+4.,0.1831563830540355,9.816843616945957,4.740697154461883,5.25930284553812
+4.1,0.1657267539826886,9.834273246017303,4.590697154461884,5.409302845538118
+4.2,0.1499557624709558,9.850044237529036,4.440697154461883,5.55930284553812
+4.3,0.1356855763256111,9.864314423674381,4.290697154461883,5.709302845538119
+4.4,0.1227733809469085,9.877226619053084,4.140697154461883,5.85930284553812
+4.5,0.1110899485343183,9.888910051465675,3.990697154461884,6.00930284553812
+4.6,0.1005183461689472,9.899481653831045,3.840697154461884,6.159302845538119
+4.7,0.09095276663680253,9.909047233363191,3.690697154461883,6.30930284553812
+4.8,0.08229747034505326,9.91770252965494,3.540697154461884,6.459302845538118
+4.9,0.07446583011984332,9.925534169880149,3.390697154461883,6.609302845538119
+5.,0.0673794699913176,9.932620530008675,3.240697154461884,6.759302845538118
diff --git a/models/sbml-test-suite/cases/semantic/00277/00277-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00277/00277-sbml-l2v4.xml
new file mode 100644
index 0000000..3e10f49
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00277/00277-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00277" id="case00277" name="case00277">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <geq/>
+                  <ci> x </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00277/00277-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00277/00277-sbml-l3v1.xml
new file mode 100644
index 0000000..e6ae8a9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00277/00277-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00277" id="case00277" name="case00277" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <geq/>
+                  <ci> x </ci>
+                  <cn type="integer"> 4 </cn>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00277/00277-settings.txt b/models/sbml-test-suite/cases/semantic/00277/00277-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00277/00277-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00278/00278-results.csv b/models/sbml-test-suite/cases/semantic/00278/00278-results.csv
new file mode 100644
index 0000000..89bb516
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00278/00278-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,5.,0,4.,0
+0.06,4.708822667837105,0.2911773321628925,3.910000000000001,0.09000000000000001
+0.12,4.434602182403841,0.5653978175961568,3.820000000000001,0.1799999999999999
+0.18,4.176351054125246,0.8236489458747514,3.730000000000001,0.2699999999999999
+0.24,3.933139305227109,1.066860694772888,3.640000000000001,0.3599999999999999
+0.3,3.704091075452381,1.295908924547617,3.550000000000002,0.4499999999999999
+0.36,3.488381584172712,1.511618415827286,3.460000000000001,0.5400000000000001
+0.42,3.285234078347053,1.714765921652945,3.370000000000001,0.6300000000000002
+0.48,3.093916959032302,1.906083040967697,3.280000000000001,0.7200000000000002
+0.54,2.91374126188746,2.086258738112539,3.23230284552935,0.7676971544706497
+0.6,2.744058180478882,2.255941819521117,3.22930284552935,0.7706971544706499
+0.66,2.584256672448816,2.415743327551183,3.22630284552935,0.7736971544706499
+0.72,2.433761275876716,2.566238724123282,3.22330284552935,0.7766971544706498
+0.78,2.292030056542078,2.707969943457921,3.220302845529349,0.7796971544706498
+0.84,2.158552613526303,2.841447386473695,3.21730284552935,0.7826971544706496
+0.9,2.032848291929603,2.967151708070396,3.21430284552935,0.7856971544706495
+0.96,1.914464413088118,3.085535586911881,3.21130284552935,0.7886971544706494
+1.02,1.802974671359082,3.197025328640916,3.208302845529349,0.7916971544706494
+1.08,1.697977593371359,3.302022406628639,3.205302845529349,0.7946971544706494
+1.14,1.599095077955337,3.400904922044662,3.202302845529349,0.7976971544706494
+1.2,1.505971039119358,3.494028960880641,3.199302845529349,0.8006971544706494
+1.26,1.418270124716879,3.581729875283119,3.196302845529349,0.8036971544706493
+1.32,1.335676509641845,3.664323490358155,3.193302845529348,0.8066971544706493
+1.38,1.257892761518133,3.742107238481866,3.190302845529348,0.8096971544706493
+1.44,1.184638735614092,3.815361264385908,3.187302845529348,0.8126971544706493
+1.5,1.115650613148332,3.884349386851667,3.184302845529348,0.8156971544706492
+1.56,1.050680327409255,3.949319672590744,3.181302845529348,0.8186971544706492
+1.62,0.9894934954321037,4.010506504567896,3.162987818581929,0.8370121814180668
+1.68,0.931869880203998,4.068130119796,3.07298781858193,0.9270121814180662
+1.74,0.8776020028945361,4.122397997105461,2.982987818581929,1.017012181418066
+1.8,0.8264944411208045,4.173505558879192,2.89298781858193,1.107012181418066
+1.86,0.778363150390606,4.221636849609391,2.802987818581929,1.197012181418066
+1.92,0.7330348082477534,4.266965191752245,2.71298781858193,1.287012181418066
+1.98,0.6903461848325724,4.309653815167426,2.62298781858193,1.377012181418066
+2.04,0.6501435540988767,4.349856445901122,2.532987818581929,1.467012181418066
+2.1,0.6122821409598477,4.387717859040151,2.442987818581929,1.557012181418066
+2.16,0.5766256050774927,4.423374394922506,2.352987818581929,1.647012181418066
+2.22,0.543045541995216,4.456954458004783,2.262987818581929,1.737012181418066
+2.28,0.5114210283846235,4.488578971615376,2.17298781858193,1.827012181418066
+2.34,0.4816381831722824,4.518361816827718,2.082987818581929,1.917012181418065
+2.4,0.4535897567200161,4.546410243279984,1.992987818581929,2.007012181418065
+2.46,0.4271747447227067,4.572825255277293,1.902987818581929,2.097012181418065
+2.52,0.4022980245806331,4.597701975419367,1.812987818581929,2.187012181418066
+2.58,0.3788700129385659,4.621129987061435,1.722987818581929,2.277012181418065
+2.64,0.3568063151916569,4.643193684808343,1.632987818581929,2.367012181418066
+2.7,0.3360275406751032,4.663972459324896,1.542987818581929,2.457012181418066
+2.76,0.316458838431838,4.683541161568161,1.45298781858193,2.547012181418066
+2.82,0.2980297079906071,4.701970292009392,1.362987818581929,2.637012181418066
+2.88,0.2806737925443158,4.719326207455684,1.272987818581929,2.727012181418066
+2.94,0.2643286414933521,4.735671358506648,1.182987818581929,2.817012181418066
+3.,0.2489353418433115,4.751064658156688,1.092987818581929,2.907012181418066
diff --git a/models/sbml-test-suite/cases/semantic/00278/00278-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00278/00278-sbml-l2v4.xml
new file mode 100644
index 0000000..5ea0777
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00278/00278-sbml-l2v4.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00278" id="case00278" name="case00278">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <or/>
+                  <apply>
+                    <lt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 2 </cn>
+                  </apply>
+                  <apply>
+                    <gt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 1 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="4" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00278/00278-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00278/00278-sbml-l3v1.xml
new file mode 100644
index 0000000..7afd2f5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00278/00278-sbml-l3v1.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00278" id="case00278" name="case00278" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <or/>
+                  <apply>
+                    <lt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 2 </cn>
+                  </apply>
+                  <apply>
+                    <gt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 1 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00278/00278-settings.txt b/models/sbml-test-suite/cases/semantic/00278/00278-settings.txt
new file mode 100644
index 0000000..ca9de12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00278/00278-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00279/00279-results.csv b/models/sbml-test-suite/cases/semantic/00279/00279-results.csv
new file mode 100644
index 0000000..b51293d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00279/00279-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,5.,0,4.,0
+0.08,4.61558173185226,0.3844182681477387,3.995999999999998,0.004
+0.16,4.260718941432526,0.7392810585674729,3.991999999999997,0.007999999999999998
+0.24,3.933139305334343,1.06686069466564,3.963558149406143,0.0364418505938531
+0.32,3.630745185369339,1.369254814630646,3.843558149406143,0.156441850593853
+0.4,3.351600227881407,1.648399772118578,3.723558149406144,0.2764418505938531
+0.48,3.09391695601604,1.906083043983945,3.603558149406144,0.396441850593853
+0.56,2.856045319203769,2.143954680796219,3.55486099494158,0.4451390050584137
+0.64,2.636462120142463,2.363537879857525,3.55086099494158,0.4491390050584136
+0.72,2.433761279159429,2.566238720840559,3.546860994941579,0.4531390050584135
+0.8,2.246644820574454,2.753355179425534,3.542860994941578,0.4571390050584135
+0.88,2.073914552175663,2.926085447824325,3.538860994941578,0.4611390050584135
+0.96,1.914464426441993,3.085535573557995,3.534860994941577,0.4651390050584134
+1.04,1.767273383818949,3.23272661618104,3.530860994941577,0.4691390050584134
+1.12,1.631398958639886,3.368601041360103,3.526860994941577,0.4731390050584135
+1.2,1.505971035642485,3.494028964357504,3.522860994941578,0.4771390050584135
+1.28,1.390186491781589,3.6098135082184,3.518860994941578,0.4811390050584135
+1.36,1.283303862971519,3.71669613702847,3.514860994941579,0.4851390050584135
+1.44,1.184638786015173,3.815361213984815,3.510860994941579,0.4891390050584135
+1.52,1.093559290811599,3.90644070918839,3.506860994941579,0.4931390050584136
+1.6,1.009482589974326,3.990517410025662,3.50286099494158,0.4971390050584136
+1.68,0.9318698794875678,4.068130120512427,3.396545967976353,0.6034540320236441
+1.76,0.8602243191043588,4.139775680895637,3.276545967976354,0.7234540320236444
+1.84,0.7940871288798482,4.205912871120147,3.156545967976354,0.8434540320236443
+1.92,0.7330348085165142,4.266965191483481,3.036545967976354,0.9634540320236443
+2.,0.6766764161850473,4.323323583814947,2.916545967976353,1.083454032023644
+2.08,0.624651059150206,4.375348940849789,2.796545967976353,1.203454032023644
+2.16,0.5766256028586919,4.423374397141303,2.676545967976353,1.323454032023644
+2.24,0.5322925143300163,4.467707485669979,2.556545967976352,1.443454032023644
+2.32,0.4913679235594085,4.508632076440587,2.436545967976353,1.563454032023644
+2.4,0.4535897622008108,4.546410237799184,2.316545967976352,1.683454032023645
+2.48,0.4187161221223591,4.581283877877636,2.196545967976353,1.803454032023645
+2.56,0.3865237005803942,4.613476299419601,2.076545967976353,1.923454032023645
+2.64,0.3568063419837603,4.643193658016235,1.956545967976352,2.043454032023645
+2.72,0.3293737651784488,4.670626234821546,1.836545967976352,2.163454032023644
+2.8,0.3040503051152253,4.695949694884769,1.716545967976353,2.283454032023644
+2.88,0.2806738052235588,4.719326194776436,1.596545967976353,2.403454032023644
+2.96,0.2590945761150486,4.740905423884946,1.476545967976353,2.523454032023644
+3.04,0.2391744370624046,4.76082556293759,1.356545967976353,2.643454032023644
+3.12,0.2207858311723175,4.779214168827677,1.236545967976353,2.763454032023644
+3.2,0.2038110085871395,4.796188991412855,1.116545967976353,2.883454032023644
+3.28,0.1881412724850287,4.811858727514965,0.9965459679763538,3.003454032023643
+3.36,0.1736762830501812,4.826323716949812,0.8765459679763534,3.123454032023643
+3.44,0.1603234149562458,4.839676585043748,0.7565459679763531,3.243454032023644
+3.52,0.1479971642486656,4.852002835751329,0.6365459679763531,3.363454032023644
+3.6,0.13661860082801,4.863381399171984,0.5165459679763528,3.483454032023644
+3.68,0.1261148630283168,4.873885136971677,0.3965459679763529,3.603454032023644
+3.76,0.1164186910540366,4.883581308945957,0.2765459679763533,3.723454032023644
+3.84,0.1074679962880022,4.892532003711991,0.1565459679763534,3.843454032023643
+3.92,0.09920547142621725,4.900794528573776,0.03654596797635349,3.963454032023643
+4.,0.09157819444421792,4.908421805555775,-0.08345403202364662,4.083454032023643
diff --git a/models/sbml-test-suite/cases/semantic/00279/00279-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00279/00279-sbml-l2v4.xml
new file mode 100644
index 0000000..ad3ef7f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00279/00279-sbml-l2v4.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00279" id="case00279" name="case00279">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <xor/>
+                  <apply>
+                    <gt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 1 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 2 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="4" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5"/>
+      <parameter id="p2" name="p2" value="0.05"/>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00279/00279-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00279/00279-sbml-l3v1.xml
new file mode 100644
index 0000000..b0cddf6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00279/00279-sbml-l3v1.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00279" id="case00279" name="case00279" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculate" name="calculate">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <piecewise>
+              <piece>
+                <ci> y </ci>
+                <apply>
+                  <xor/>
+                  <apply>
+                    <gt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 4 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 1 </cn>
+                  </apply>
+                  <apply>
+                    <lt/>
+                    <ci> x </ci>
+                    <cn type="integer"> 2 </cn>
+                  </apply>
+                </apply>
+              </piece>
+              <otherwise>
+                <ci> z </ci>
+              </otherwise>
+            </piecewise>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.5" constant="true"/>
+      <parameter id="p2" name="p2" value="0.05" constant="true"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> calculate </ci>
+              <ci> S2 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00279/00279-settings.txt b/models/sbml-test-suite/cases/semantic/00279/00279-settings.txt
new file mode 100644
index 0000000..647aaf1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00279/00279-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00280/00280-results.csv b/models/sbml-test-suite/cases/semantic/00280/00280-results.csv
new file mode 100644
index 0000000..956fba8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00280/00280-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0.05
+0.02,0.1448408122358618,0.05515918776413821
+0.04,0.1398590727228537,0.06014092727714634
+0.06,0.1350486782476529,0.06495132175234708
+0.08,0.1304037272494905,0.06959627275050952
+0.1,0.1259185393317754,0.07408146066822463
+0.12,0.1215876264140212,0.0784123735859788
+0.14,0.1174056782365358,0.08259432176346424
+0.16,0.1133675623098883,0.08663243769011172
+0.18,0.1094683255417586,0.09053167445824135
+0.2,0.1057032030146008,0.09429679698539918
+0.22,0.1020675877206709,0.09793241227932915
+0.24,0.09855702192514045,0.1014429780748596
+0.26,0.09516719712367691,0.1048328028763231
+0.28,0.09189395540811331,0.1081060445918867
+0.3,0.08873329683491957,0.1112667031650804
+0.32,0.08568135401905899,0.114318645980941
+0.34,0.08273438488369338,0.1172656151163066
+0.36,0.07988877262457302,0.120111227375427
+0.38,0.07714102685645824,0.1228589731435418
+0.4,0.07448778979863423,0.1255122102013658
+0.42,0.0719258149475453,0.1280741850524547
+0.44,0.06945196099048381,0.1305480390095162
+0.46,0.06706319177569722,0.1329368082243028
+0.48,0.0647565772747597,0.1352434227252403
+0.5,0.06252929877504587,0.1374707012249541
+0.52,0.06037863097632389,0.1396213690236761
+0.54,0.05830193688155878,0.1416980631184412
+0.56,0.0562966677718186,0.1437033322281814
+0.58,0.05436036401414393,0.1456396359858561
+0.6,0.05249065942040668,0.1475093405795933
+0.62,0.05068526621816909,0.1493147337818309
+0.64,0.0489419707617328,0.1510580292382672
+0.66,0.04725863351107359,0.1527413664889264
+0.68,0.04563318971001316,0.1543668102899868
+0.7,0.04406365304529369,0.1559363469547063
+0.72,0.04254810303025993,0.1574518969697401
+0.74,0.04108468140446907,0.1589153185955309
+0.76,0.03967159211600742,0.1603284078839926
+0.78,0.0383071018907864,0.1616928981092136
+0.8,0.03698954330417853,0.1630104566958215
+0.82,0.03571730419016056,0.1642826958098394
+0.84,0.03448882461894073,0.1655111753810593
+0.86,0.03330259688211431,0.1666974031178857
+0.88,0.03215716597056322,0.1678428340294368
+0.9,0.03105113215296241,0.1689488678470376
+0.92,0.02998314208521056,0.1700168579147895
+0.94,0.02895188627327809,0.1710481137267219
+0.96,0.02795609909085441,0.1720439009091456
+0.98,0.02699456066788415,0.1730054393321159
+1,0.02606609402430603,0.173933905975694
diff --git a/models/sbml-test-suite/cases/semantic/00280/00280-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00280/00280-sbml-l2v4.xml
new file mode 100644
index 0000000..148f13e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00280/00280-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00280" id="case00280" name="case00280">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="3.5" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.05" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00280/00280-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00280/00280-sbml-l3v1.xml
new file mode 100644
index 0000000..df3fb6e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00280/00280-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00280" id="case00280" name="case00280" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="3.5" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.05" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00280/00280-settings.txt b/models/sbml-test-suite/cases/semantic/00280/00280-settings.txt
new file mode 100644
index 0000000..cc1cdc0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00280/00280-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00281/00281-results.csv b/models/sbml-test-suite/cases/semantic/00281/00281-results.csv
new file mode 100644
index 0000000..8eac7f2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00281/00281-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0.00015
+0.5,0.0001498028796350454,0.0001501971203649546
+1,0.0001496060183130122,0.0001503939816869878
+1.5,0.0001494094156934833,0.0001505905843065167
+2,0.0001492130714364891,0.0001507869285635109
+2.5,0.0001490169852025059,0.0001509830147974941
+3,0.0001488211566524559,0.0001511788433475441
+3.5,0.0001486255854477068,0.0001513744145522933
+4,0.0001484302712500727,0.0001515697287499273
+4.5,0.000148235213721812,0.000151764786278188
+5,0.0001480404125256261,0.0001519595874743739
+5.5,0.0001478458673246592,0.0001521541326753408
+6,0.0001476515777824983,0.0001523484222175017
+6.5,0.0001474575435631738,0.0001525424564368262
+7,0.0001472637643311574,0.0001527362356688426
+7.5,0.000147070239751361,0.000152929760248639
+8,0.0001468769694891363,0.0001531230305108637
+8.5,0.0001466839532102749,0.000153316046789725
+9,0.0001464911905810092,0.0001535088094189908
+9.5,0.0001462986812680096,0.0001537013187319903
+10,0.000146106424938384,0.000153893575061616
+10.5,0.0001459144212596772,0.0001540855787403228
+11,0.000145722669899871,0.000154277330100129
+11.5,0.0001455311705273851,0.0001544688294726149
+12,0.0001453399228110744,0.0001546600771889255
+12.5,0.0001451489264202284,0.0001548510735797717
+13,0.0001449581810245705,0.0001550418189754295
+13.5,0.0001447676862942585,0.0001552323137057414
+14,0.000144577441899885,0.000155422558100115
+14.5,0.0001443874475124752,0.0001556125524875249
+15,0.0001441977028034855,0.0001558022971965145
+15.5,0.0001440082074448042,0.0001559917925551958
+16,0.0001438189611087506,0.0001561810388912494
+16.5,0.0001436299634680758,0.0001563700365319242
+17,0.000143441214195961,0.000156558785804039
+17.5,0.0001432527129660159,0.000156747287033984
+18,0.0001430644594522789,0.0001569355405477211
+18.5,0.0001428764533292167,0.0001571235466707833
+19,0.0001426886942717251,0.0001573113057282749
+19.5,0.000142501181955127,0.000157498818044873
+20,0.0001423139160551712,0.0001576860839448289
+20.5,0.000142126896248032,0.000157873103751968
+21,0.0001419401222103097,0.0001580598777896903
+21.5,0.0001417535936190306,0.0001582464063809694
+22,0.0001415673101516454,0.0001584326898483546
+22.5,0.0001413812714860277,0.0001586187285139723
+23,0.0001411954773004742,0.0001588045226995258
+23.5,0.0001410099272737046,0.0001589900727262954
+24,0.0001408246210848617,0.0001591753789151383
+24.5,0.0001406395584135096,0.0001593604415864904
+25,0.0001404547389396329,0.0001595452610603671
diff --git a/models/sbml-test-suite/cases/semantic/00281/00281-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00281/00281-sbml-l2v4.xml
new file mode 100644
index 0000000..a6ef603
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00281/00281-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00281" id="case00281" name="case00281">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="0.07" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.00263"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00281/00281-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00281/00281-sbml-l3v1.xml
new file mode 100644
index 0000000..0b3f7ab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00281/00281-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00281" id="case00281" name="case00281" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="0.07" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.00263" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00281/00281-settings.txt b/models/sbml-test-suite/cases/semantic/00281/00281-settings.txt
new file mode 100644
index 0000000..fffe2cf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00281/00281-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00282/00282-results.csv b/models/sbml-test-suite/cases/semantic/00282/00282-results.csv
new file mode 100644
index 0000000..57217d0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00282/00282-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1e-006,2e-006,1e-006
+0.2,1.024689896212125e-006,2.024689896212125e-006,9.753101037878746e-007
+0.4,1.04877019156066e-006,2.048770191560661e-006,9.512298084393393e-007
+0.6,1.072255933554991e-006,2.072255933554991e-006,9.277440664450092e-007
+0.8,1.095161801931354e-006,2.095161801931354e-006,9.048381980686455e-007
+1,1.117502118174554e-006,2.117502118174554e-006,8.824978818254463e-007
+1.2,1.139290843441258e-006,2.139290843441258e-006,8.607091565587413e-007
+1.4,1.160541594105674e-006,2.160541594105673e-006,8.394584058943263e-007
+1.6,1.181267656468025e-006,2.181267656468024e-006,8.187323435319752e-007
+1.8,1.201481986012991e-006,2.20148198601299e-006,7.985180139870094e-007
+2,1.221197213119768e-006,2.221197213119768e-006,7.788027868802314e-007
+2.2,1.240425662742175e-006,2.240425662742175e-006,7.595743372578247e-007
+2.4,1.259179356844411e-006,2.259179356844411e-006,7.408206431555887e-007
+2.6,1.277470013230944e-006,2.277470013230943e-006,7.225299867690561e-007
+2.8,1.295309063810569e-006,2.295309063810568e-006,7.046909361894306e-007
+3,1.312707662522581e-006,2.31270766252258e-006,6.872923374774191e-007
+3.2,1.329676683600674e-006,2.329676683600674e-006,6.703233163993257e-007
+3.4,1.346226729870883e-006,2.346226729870882e-006,6.537732701291171e-007
+3.6,1.362368148200167e-006,2.362368148200166e-006,6.376318517998331e-007
+3.8,1.378111030609659e-006,2.378111030609659e-006,6.218889693903407e-007
+4,1.393465213109074e-006,2.393465213109074e-006,6.065347868909255e-007
+4.2,1.408440292297659e-006,2.408440292297659e-006,5.91559707702341e-007
+4.4,1.42304563167786e-006,2.42304563167786e-006,5.769543683221395e-007
+4.6,1.437290360236887e-006,2.437290360236887e-006,5.627096397631122e-007
+4.8,1.4511833778354e-006,2.4511833778354e-006,5.488166221645995e-007
+5,1.464733369908338e-006,2.464733369908338e-006,5.352666300916614e-007
+5.2,1.477948808982873e-006,2.477948808982873e-006,5.220511910171261e-007
+5.4,1.490837952618112e-006,2.490837952618112e-006,5.091620473818875e-007
+5.6,1.503408855287206e-006,2.503408855287206e-006,4.965911447127938e-007
+5.8,1.515669376968505e-006,2.515669376968504e-006,4.843306230314952e-007
+6,1.527627183149933e-006,2.527627183149933e-006,4.723728168500667e-007
+6.2,1.53928974413454e-006,2.53928974413454e-006,4.607102558654595e-007
+6.4,1.550664349414341e-006,2.550664349414341e-006,4.493356505856584e-007
+6.6,1.561758111572966e-006,2.561758111572966e-006,4.382418884270336e-007
+6.8,1.572577965316264e-006,2.572577965316264e-006,4.274220346837359e-007
+7,1.583130669883008e-006,2.583130669883007e-006,4.168693301169918e-007
+7.2,1.593422822009799e-006,2.593422822009799e-006,4.065771779902007e-007
+7.4,1.603460857695028e-006,2.603460857695028e-006,3.965391423049716e-007
+7.6,1.613251050620455e-006,2.613251050620454e-006,3.867489493795453e-007
+7.8,1.622799517002678e-006,2.622799517002678e-006,3.772004829973216e-007
+8,1.632112226322832e-006,2.632112226322831e-006,3.678877736771683e-007
+8.2,1.641195002241028e-006,2.641195002241028e-006,3.588049977589717e-007
+8.4,1.650053520774476e-006,2.650053520774476e-006,3.499464792255237e-007
+8.6,1.658693316217803e-006,2.658693316217803e-006,3.413066837821964e-007
+8.8,1.667119790207644e-006,2.667119790207644e-006,3.32880209792356e-007
+9,1.675338212322064e-006,2.675338212322063e-006,3.246617876779361e-007
+9.2,1.683353718246141e-006,2.68335371824614e-006,3.166462817538588e-007
+9.4,1.69117131548824e-006,2.691171315488239e-006,3.088286845117602e-007
+9.6,1.698795891665518e-006,2.698795891665517e-006,3.012041083344821e-007
+9.8,1.706232214398288e-006,2.706232214398287e-006,2.937677856017119e-007
+10,1.713484930770211e-006,2.713484930770211e-006,2.865150692297883e-007
diff --git a/models/sbml-test-suite/cases/semantic/00282/00282-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00282/00282-sbml-l2v4.xml
new file mode 100644
index 0000000..a8c7885
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00282/00282-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00282" id="case00282" name="case00282">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="6.8" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.24"/>
+      <parameter id="k2" name="k2" value="0.125"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00282/00282-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00282/00282-sbml-l3v1.xml
new file mode 100644
index 0000000..ebd816f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00282/00282-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00282" id="case00282" name="case00282" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="6.8" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.24" constant="true"/>
+      <parameter id="k2" name="k2" value="0.125" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00282/00282-settings.txt b/models/sbml-test-suite/cases/semantic/00282/00282-settings.txt
new file mode 100644
index 0000000..a27ca7c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00282/00282-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00283/00283-results.csv b/models/sbml-test-suite/cases/semantic/00283/00283-results.csv
new file mode 100644
index 0000000..d4ad782
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00283/00283-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1e-006,2e-006,1e-006
+0.1,1.012422103916698e-006,2.012422103916698e-006,9.875778960833018e-007
+0.2,1.024689896485374e-006,2.024689896485374e-006,9.75310103514626e-007
+0.3,1.036805294308645e-006,2.036805294308644e-006,9.631947056913552e-007
+0.4,1.048770190149795e-006,2.048770190149794e-006,9.512298098502053e-007
+0.5,1.060586453726237e-006,2.060586453726236e-006,9.394135462737633e-007
+0.6,1.072255931709511e-006,2.072255931709512e-006,9.277440682904884e-007
+0.7,1.083780447797132e-006,2.083780447797132e-006,9.162195522028674e-007
+0.8,1.095161802311756e-006,2.095161802311756e-006,9.048381976882436e-007
+0.9,1.106401773341003e-006,2.106401773341003e-006,8.935982266589969e-007
+1,1.117502117322849e-006,2.117502117322849e-006,8.824978826771511e-007
+1.1,1.128464569045626e-006,2.128464569045626e-006,8.715354309543741e-007
+1.2,1.139290841715514e-006,2.139290841715515e-006,8.607091582844854e-007
+1.3,1.149982626580001e-006,2.149982626580002e-006,8.500173734199983e-007
+1.4,1.160541593998645e-006,2.160541593998645e-006,8.39458406001355e-007
+1.5,1.170969393992999e-006,2.170969393993e-006,8.290306060070005e-007
+1.6,1.181267656246619e-006,2.181267656246619e-006,8.187323437533811e-007
+1.7,1.191437990168458e-006,2.191437990168459e-006,8.085620098315413e-007
+1.8,1.20148198453915e-006,2.20148198453915e-006,7.985180154608501e-007
+1.9,1.211401208516891e-006,2.211401208516892e-006,7.885987914831087e-007
+2,1.221197212154059e-006,2.22119721215406e-006,7.788027878459406e-007
+2.1,1.230871526397208e-006,2.230871526397209e-006,7.691284736027915e-007
+2.2,1.240425663146635e-006,2.240425663146636e-006,7.595743368533646e-007
+2.3,1.249861114924084e-006,2.249861114924085e-006,7.501388850759157e-007
+2.4,1.259179355817697e-006,2.259179355817697e-006,7.408206441823029e-007
+2.5,1.268381841967325e-006,2.268381841967326e-006,7.316181580326746e-007
+2.6,1.27747001156453e-006,2.277470011564531e-006,7.225299884354699e-007
+2.7,1.286445284908538e-006,2.286445284908539e-006,7.135547150914612e-007
+2.8,1.295309064094084e-006,2.295309064094084e-006,7.046909359059158e-007
+2.9,1.304062733899104e-006,2.304062733899105e-006,6.959372661008958e-007
+3,1.312707662240651e-006,2.312707662240652e-006,6.872923377593482e-007
+3.1,1.321245200174894e-006,2.321245200174895e-006,6.787547998251053e-007
+3.2,1.329676681949683e-006,2.329676681949684e-006,6.703233180503167e-007
+3.3,1.338003424711302e-006,2.338003424711303e-006,6.619965752886971e-007
+3.4,1.346226729338392e-006,2.346226729338392e-006,6.537732706616078e-007
+3.5,1.354347880870232e-006,2.354347880870232e-006,6.45652119129768e-007
+3.6,1.362368148506745e-006,2.362368148506745e-006,6.376318514932549e-007
+3.7,1.370288785657879e-006,2.37028878565788e-006,6.297112143421204e-007
+3.8,1.378111029668129e-006,2.378111029668129e-006,6.218889703318706e-007
+3.9,1.385836102599929e-006,2.38583610259993e-006,6.141638974000705e-007
+4,1.393465211635996e-006,2.393465211635996e-006,6.06534788364004e-007
+4.1,1.400999549079327e-006,2.400999549079327e-006,5.990004509206731e-007
+4.2,1.408440292399593e-006,2.408440292399593e-006,5.915597076004064e-007
+4.3,1.415788603974353e-006,2.415788603974353e-006,5.84211396025647e-007
+4.4,1.42304563182498e-006,2.42304563182498e-006,5.7695436817502e-007
+4.5,1.430212509994631e-006,2.430212509994631e-006,5.697874900053685e-007
+4.6,1.437290358548247e-006,2.437290358548248e-006,5.627096414517523e-007
+4.7,1.444280283527342e-006,2.444280283527342e-006,5.557197164726577e-007
+4.8,1.451183376947854e-006,2.451183376947854e-006,5.488166230521454e-007
+4.9,1.458000717412472e-006,2.458000717412473e-006,5.419992825875271e-007
+5,1.464733370270248e-006,2.464733370270248e-006,5.352666297297516e-007
diff --git a/models/sbml-test-suite/cases/semantic/00283/00283-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00283/00283-sbml-l2v4.xml
new file mode 100644
index 0000000..1a1a30d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00283/00283-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00283" id="case00283" name="case00283">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="6.8" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.24"/>
+      <parameter id="k2" name="k2" value="0.125"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00283/00283-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00283/00283-sbml-l3v1.xml
new file mode 100644
index 0000000..7ac4d79
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00283/00283-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00283" id="case00283" name="case00283" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="6.8" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.24" constant="true"/>
+      <parameter id="k2" name="k2" value="0.125" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00283/00283-settings.txt b/models/sbml-test-suite/cases/semantic/00283/00283-settings.txt
new file mode 100644
index 0000000..4ecfc50
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00283/00283-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00284/00284-results.csv b/models/sbml-test-suite/cases/semantic/00284/00284-results.csv
new file mode 100644
index 0000000..2027629
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00284/00284-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.008999999999999999,0.011,0.012,0.01
+0.08,0.008527050517999561,0.01052705051799956,0.01247294948200044,0.01047294948200044
+0.16,0.00809934440610605,0.01009934440610605,0.01290065559389395,0.01090065559389395
+0.24,0.007710875129834986,0.009710875129834986,0.01328912487016501,0.01128912487016501
+0.32,0.007356651688581749,0.009356651688581748,0.01364334831141825,0.01164334831141825
+0.4,0.007032497010192411,0.00903249701019241,0.01396750298980759,0.01196750298980759
+0.48,0.006734881429969477,0.008734881429969475,0.01426511857003052,0.01226511857003053
+0.56,0.006460811442136441,0.008460811442136439,0.01453918855786356,0.01253918855786356
+0.64,0.006207719919966858,0.008207719919966855,0.01479228008003314,0.01279228008003315
+0.72,0.005973404825284223,0.007973404825284221,0.01502659517471578,0.01302659517471578
+0.8,0.005755957171122167,0.007755957171122165,0.01524404282887783,0.01324404282887783
+0.88,0.005553717535910179,0.007553717535910177,0.01544628246408982,0.01344628246408982
+0.96,0.005365239651221593,0.007365239651221591,0.01563476034877841,0.01363476034877841
+1.04,0.00518924980596649,0.007189249805966488,0.01581075019403351,0.01381075019403351
+1.12,0.005024628088770654,0.007024628088770652,0.01597537191122934,0.01397537191122935
+1.2,0.00487038532740306,0.006870385327403058,0.01612961467259694,0.01412961467259694
+1.28,0.004725639835420048,0.006725639835420046,0.01627436016457995,0.01427436016457995
+1.36,0.004589607978455913,0.006589607978455912,0.01641039202154408,0.01441039202154409
+1.44,0.004461590786434359,0.006461590786434357,0.01653840921356564,0.01453840921356564
+1.52,0.004340958771553674,0.006340958771553672,0.01665904122844632,0.01465904122844633
+1.6,0.004227146860951147,0.006227146860951145,0.01677285313904885,0.01477285313904886
+1.68,0.004119647013720512,0.006119647013720511,0.01688035298627949,0.01488035298627949
+1.76,0.004017998519039368,0.006017998519039366,0.01698200148096063,0.01498200148096063
+1.84,0.003921783290078165,0.005921783290078163,0.01707821670992183,0.01507821670992184
+1.92,0.003830622545679105,0.005830622545679103,0.01716937745432089,0.0151693774543209
+2,0.003744172016552203,0.005744172016552202,0.0172558279834478,0.0152558279834478
+2.08,0.003662115984752788,0.005662115984752786,0.01733788401524721,0.01533788401524721
+2.16,0.003584166092643658,0.005584166092643656,0.01741583390735634,0.01541583390735634
+2.24,0.003510058837000619,0.005510058837000618,0.01748994116299938,0.01548994116299938
+2.32,0.003439552563097273,0.005439552563097271,0.01756044743690273,0.01556044743690273
+2.4,0.003372423946075472,0.00537242394607547,0.01762757605392453,0.01562757605392453
+2.48,0.003308467537853807,0.005308467537853805,0.01769153246214619,0.0156915324621462
+2.56,0.003247494193780369,0.005247494193780368,0.01775250580621963,0.01575250580621963
+2.64,0.00318932949114522,0.005189329491145219,0.01781067050885478,0.01581067050885478
+2.72,0.003133811132735491,0.00513381113273549,0.01786618886726451,0.01586618886726451
+2.8,0.003080788674595139,0.005080788674595139,0.01791921132540486,0.01591921132540486
+2.88,0.00303012270590645,0.005030122705906449,0.01796987729409355,0.01596987729409355
+2.96,0.002981684175928083,0.004981684175928081,0.01801831582407191,0.01601831582407192
+3.04,0.002935352532196499,0.004935352532196498,0.0180646474678035,0.0160646474678035
+3.12,0.002891015065343142,0.00489101506534314,0.01810898493465685,0.01610898493465686
+3.2,0.002848566806902663,0.004848566806902662,0.01815143319309734,0.01615143319309734
+3.28,0.002807909863018089,0.004807909863018088,0.01819209013698191,0.01619209013698192
+3.36,0.002768953012678438,0.004768953012678437,0.01823104698732156,0.01623104698732156
+3.44,0.002731610403470379,0.004731610403470379,0.01826838959652962,0.01626838959652963
+3.52,0.002695801406376589,0.004695801406376587,0.01830419859362341,0.01630419859362341
+3.6,0.00266145053617631,0.004661450536176309,0.01833854946382369,0.0163385494638237
+3.68,0.002628487029628635,0.004628487029628634,0.01837151297037136,0.01637151297037137
+3.76,0.002596844564871065,0.004596844564871064,0.01840315543512893,0.01640315543512894
+3.84,0.002566460442256674,0.004566460442256673,0.01843353955774333,0.01643353955774333
+3.92,0.002537275509371951,0.00453727550937195,0.01846272449062805,0.01646272449062805
+4,0.002509234147658187,0.004509234147658186,0.01849076585234181,0.01649076585234182
diff --git a/models/sbml-test-suite/cases/semantic/00284/00284-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00284/00284-sbml-l2v4.xml
new file mode 100644
index 0000000..d3d4abd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00284/00284-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00284" id="case00284" name="case00284">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1.98" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.009" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.011" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.012" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="127.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00284/00284-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00284/00284-sbml-l3v1.xml
new file mode 100644
index 0000000..0ff4133
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00284/00284-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00284" id="case00284" name="case00284" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1.98" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.009" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.011" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="127.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00284/00284-settings.txt b/models/sbml-test-suite/cases/semantic/00284/00284-settings.txt
new file mode 100644
index 0000000..47ebbcf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00284/00284-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00285/00285-results.csv b/models/sbml-test-suite/cases/semantic/00285/00285-results.csv
new file mode 100644
index 0000000..839676e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00285/00285-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,9.000000000000001e-005,0.00011,0.00012,0.0001
+0.2,9.287322790842383e-005,0.0001128732279084238,0.0001171267720915762,9.712677209157618e-005
+0.4,9.559085833078577e-005,0.0001155908583307858,0.0001144091416692143,9.440914166921424e-005
+0.6,9.816474431306812e-005,0.0001181647443130681,0.0001118352556869319,9.183525568693188e-005
+0.8,0.0001006055667848328,0.0001206055667848328,0.0001093944332151673,8.939443321516724e-005
+1,0.0001029229766714249,0.0001229229766714249,0.0001070770233285752,8.707702332857515e-005
+1.2,0.0001051257138164242,0.0001251257138164242,0.0001048742861835758,8.487428618357575e-005
+1.4,0.000107221715799754,0.000127221715799754,0.000102778284200246,8.277828420024602e-005
+1.6,0.000109218203402172,0.000129218203402172,0.000100781796597828,8.078179659782801e-005
+1.8,0.0001111217646649844,0.0001311217646649844,9.887823533501558e-005,7.887823533501557e-005
+2,0.00011293841775834,0.00013293841775834,9.706158224166006e-005,7.706158224166005e-005
+2.2,0.0001146736761727923,0.0001346736761727923,9.532632382720775e-005,7.532632382720774e-005
+2.4,0.0001163325960682496,0.0001363325960682496,9.366740393175039e-005,7.366740393175039e-005
+2.6,0.0001179198265479213,0.0001379198265479214,9.208017345207867e-005,7.208017345207866e-005
+2.8,0.0001194396471872483,0.0001394396471872483,9.05603528127517e-005,7.056035281275169e-005
+3,0.0001208960051158271,0.0001408960051158271,8.910399488417293e-005,6.910399488417292e-005
+3.2,0.0001222925474232146,0.0001422925474232146,8.770745257678541e-005,6.77074525767854e-005
+3.4,0.0001236326467197817,0.0001436326467197817,8.636735328021831e-005,6.63673532802183e-005
+3.6,0.0001249194302218335,0.0001449194302218336,8.508056977816644e-005,6.508056977816644e-005
+3.8,0.0001261557976579642,0.0001461557976579642,8.384420234203578e-005,6.384420234203577e-005
+4,0.0001273444446314315,0.0001473444446314315,8.265555536856846e-005,6.265555536856845e-005
+4.2,0.0001284878793266341,0.0001484878793266342,8.151212067336586e-005,6.151212067336585e-005
+4.4,0.0001295884370365785,0.0001495884370365785,8.041156296342147e-005,6.041156296342146e-005
+4.6,0.0001306482979662265,0.0001506482979662266,7.935170203377343e-005,5.935170203377342e-005
+4.8,0.0001316694970624462,0.0001516694970624462,7.833050293755379e-005,5.833050293755378e-005
+5,0.0001326539365791694,0.0001526539365791695,7.734606342083052e-005,5.734606342083051e-005
+5.2,0.0001336033985429844,0.0001536033985429844,7.639660145701561e-005,5.639660145701561e-005
+5.4,0.000134519551423419,0.0001545195514234191,7.548044857658093e-005,5.548044857658092e-005
+5.6,0.0001354039604349968,0.0001554039604349969,7.459603956500313e-005,5.459603956500314e-005
+5.8,0.0001362580963054694,0.0001562580963054694,7.374190369453061e-005,5.374190369453059e-005
+6,0.0001370833401947051,0.0001570833401947051,7.291665980529491e-005,5.29166598052949e-005
+6.2,0.0001378809915728856,0.0001578809915728857,7.211900842711436e-005,5.211900842711435e-005
+6.4,0.0001386522751058499,0.00015865227510585,7.134772489415002e-005,5.134772489415002e-005
+6.6,0.0001393983441446519,0.0001593983441446519,7.06016558553481e-005,5.060165585534808e-005
+6.8,0.0001401202863299988,0.0001601202863299988,6.987971367000115e-005,4.987971367000114e-005
+7,0.000140819129711492,0.0001608191297114921,6.918087028850792e-005,4.918087028850792e-005
+7.2,0.0001414958451026046,0.0001614958451026047,6.850415489739531e-005,4.850415489739531e-005
+7.4,0.0001421513498351178,0.0001621513498351179,6.784865016488214e-005,4.784865016488214e-005
+7.6,0.0001427865130782481,0.0001627865130782481,6.721348692175184e-005,4.721348692175184e-005
+7.8,0.0001434021579399042,0.0001634021579399043,6.659784206009575e-005,4.659784206009575e-005
+8,0.0001439990639191884,0.0001639990639191885,6.600093608081154e-005,4.600093608081153e-005
+8.2,0.0001445779704182483,0.0001645779704182484,6.542202958175165e-005,4.542202958175164e-005
+8.4,0.0001451395799871607,0.0001651395799871607,6.48604200128393e-005,4.486042001283929e-005
+8.6,0.0001456845594413688,0.0001656845594413689,6.431544055863115e-005,4.431544055863113e-005
+8.8,0.0001462135419706203,0.0001662135419706204,6.378645802937966e-005,4.378645802937965e-005
+9,0.00014672713034345,0.0001667271303434501,6.327286965654993e-005,4.327286965654991e-005
+9.2,0.0001472258984031656,0.0001672258984031656,6.27741015968344e-005,4.277410159683439e-005
+9.4,0.0001477103922547513,0.0001677103922547513,6.22896077452487e-005,4.228960774524869e-005
+9.6,0.0001481811315597328,0.0001681811315597329,6.181886844026714e-005,4.181886844026713e-005
+9.8,0.0001486386124835543,0.0001686386124835543,6.136138751644572e-005,4.136138751644572e-005
+10,0.0001490833084847912,0.0001690833084847912,6.091669151520882e-005,4.091669151520882e-005
diff --git a/models/sbml-test-suite/cases/semantic/00285/00285-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00285/00285-sbml-l2v4.xml
new file mode 100644
index 0000000..06bf927
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00285/00285-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00285" id="case00285" name="case00285">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1.98" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="9e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00011" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00012" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00285/00285-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00285/00285-sbml-l3v1.xml
new file mode 100644
index 0000000..445749a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00285/00285-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00285" id="case00285" name="case00285" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1.98" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="9e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00011" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.00012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00285/00285-settings.txt b/models/sbml-test-suite/cases/semantic/00285/00285-settings.txt
new file mode 100644
index 0000000..bfe1d07
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00285/00285-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00286/00286-results.csv b/models/sbml-test-suite/cases/semantic/00286/00286-results.csv
new file mode 100644
index 0000000..475be38
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00286/00286-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,1.,0,0
+0.2,0.8545116421896971,1.094349434867706,0.0511389229425955,0.01278473073564887
+0.4,0.7206278488413399,1.175305106192761,0.1040670449658973,0.02601676124147432
+0.6,0.6010674407660164,1.240942599572447,0.1579899596615349,0.03949748991538373
+0.8,0.4970183403290728,1.290884675384844,0.212096984286081,0.05302424607152027
+1.,0.4083745161832901,1.325994791611734,0.265630692204974,0.06640767305124352
+1.2,0.3341155469390854,1.347949954745231,0.3179344983156816,0.07948362457892041
+1.4,0.2726949195415161,1.358828068096968,0.3684770123615139,0.09211925309037848
+1.6,0.2223570077770742,1.360785872430616,0.4168571197923081,0.104214279948077
+1.8,0.1813560541831919,1.355848095251937,0.4627958505648693,0.1156989626412173
+2.,0.1480848034665973,1.345794345250848,0.5061208512825532,0.1265302128206383
+2.2,0.1211348788738203,1.33211714960952,0.5467479715166584,0.1366869928791646
+2.4,0.0993123837103636,1.316024725004807,0.5846628912848277,0.1461657228212069
+2.6,0.08162781275162951,1.298467741904044,0.6199044453443255,0.1549761113360813
+2.8,0.06727349983883414,1.280176145900419,0.6525503542607449,0.1631375885651862
+3.,0.05559683889653904,1.261697647856399,0.6827055132470608,0.1706763783117652
+3.2,0.0460738804024662,1.243433444036523,0.7104926755610087,0.1776231688902521
+3.4,0.03828549425335123,1.225669285870276,0.7360452198763715,0.1840113049690928
+3.6,0.03189695162590554,1.208601388655244,0.7595016597188484,0.1898754149297121
+3.8,0.02664094885031379,1.192357488867614,0.7810015622820699,0.1952503905705174
+4.,0.02230382377471794,1.17701359012775,0.8006825860975304,0.2001706465243826
+4.2,0.01871449594028731,1.162607117789731,0.8186783862699806,0.2046695965674951
+4.4,0.01573564771472331,1.149147160425056,0.8351171918602193,0.2087792979650548
+4.6,0.0132567585602731,1.136622350099999,0.8501208913397267,0.2125302228349317
+4.8,0.01118861138260502,1.125006891525885,0.8638044970915083,0.215951124272877
+5.,0.009458953234124847,1.114265150960945,0.8762758958049286,0.2190689739512321
+5.2,0.008009075626262034,1.104355117453637,0.8876358069200995,0.2219089517300248
+5.4,0.006791119870345013,1.095230993483321,0.8979778866463327,0.2244944716615831
+5.6,0.005765945497131556,1.086845118994649,0.9073889355082183,0.2268472338770545
+5.8,0.00490143424625669,1.079149382546575,0.9159491832071673,0.2289872958017918
+6.,0.004171151471798588,1.072096239671702,0.9237326088564986,0.2309331522141246
+6.2,0.0035532729392181,1.065639433234182,0.9308072938265988,0.2327018234566497
+6.4,0.003029727783923451,1.059734486280199,0.9372357859358763,0.234308946483969
+6.6,0.002585511579317236,1.054339023963551,0.9430754644571308,0.2357688661142827
+6.8,0.002208133464119085,1.049412967464709,0.9483788990711709,0.2370947247677927
+7.,0.001887169037824219,1.044918631943717,0.953194199018458,0.2382985497546145
+7.2,0.001613897607580474,1.040820753156728,0.9575653492356909,0.2393913373089227
+7.4,0.001381007708115122,1.037086463510941,0.9615325287809424,0.2403831321952356
+7.6,0.001182356636801401,1.033685231375225,0.9651324119879723,0.2412831029969931
+7.8,0.001012773608033862,1.03058877510799,0.9683984512839749,0.2420996128209937
+8.,0.0008678981288873261,1.027770960415306,0.9713611414558051,0.2428402853639512
+8.2,0.0007440468255732912,1.02520768727834,0.974048265896086,0.2435120664740215
+8.4,0.0006381034301407493,1.022876771391985,0.9764851251778727,0.2441212812944682
+8.6,0.0005474276455848171,1.0207578236996,0.9786947486548141,0.2446736871637035
+8.8,0.0004697794539116533,1.018832130697244,0.9806980898488434,0.2451745224622108
+9.,0.0004032560953891281,1.017082537444007,0.9825142064606025,0.2456285516151506
+9.2,0.0003462394382999303,1.015493334426803,0.9841604261348952,0.2460401065337238
+9.4,0.0002973519746999921,1.014050149467981,0.985652498557317,0.2464131246393292
+9.6,0.0002554199055239305,1.012739844978499,0.9870047351159755,0.2467511837789938
+9.8,0.0002194421317241591,1.011550421016374,0.9882301368519003,0.247057534212975
+10.,0.0001885641619698101,1.010470924334414,0.9893405115036146,0.2473351278759036
diff --git a/models/sbml-test-suite/cases/semantic/00286/00286-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00286/00286-sbml-l1v2.xml
new file mode 100644
index 0000000..c07aef1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00286/00286-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00286">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="compartment1" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S3" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S2 + -1 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00286/00286-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00286/00286-sbml-l2v4.xml
new file mode 100644
index 0000000..b63bd8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00286/00286-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00286" id="case00286" name="case00286">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00286/00286-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00286/00286-sbml-l3v1.xml
new file mode 100644
index 0000000..0ec4350
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00286/00286-sbml-l3v1.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00286" id="case00286" name="case00286" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00286/00286-settings.txt b/models/sbml-test-suite/cases/semantic/00286/00286-settings.txt
new file mode 100644
index 0000000..5dd8210
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00286/00286-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00287/00287-results.csv b/models/sbml-test-suite/cases/semantic/00287/00287-results.csv
new file mode 100644
index 0000000..bae2bb6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00287/00287-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,1.,1.,0,0.1,0.5
+0.02,0.9860169121853842,0.8834152646411838,0.1304652716366007,0.1001025515368312,0.4417076323205919
+0.04,0.9736977729987688,0.7972885804322833,0.2286376461092662,0.100376000459681,0.3986442902161416
+0.06,0.9626033977474376,0.7338987220407665,0.3027184579831483,0.1007794222286469,0.3669493610203832
+0.08,0.9524136065577414,0.6874766409479609,0.3588271059932954,0.1012826465010014,0.3437383204739804
+0.1,0.9428941923522959,0.653713499668856,0.4015289628830245,0.1018633450958227,0.326856749834428
+0.12,0.9338734360080311,0.6293920639505246,0.4342295497060197,0.1025049503354237,0.3146960319752623
+0.14,0.9252252400713534,0.6121106901070257,0.4594689207001675,0.1031951491214522,0.3060553450535128
+0.16,0.9168569277838017,0.6000768626504221,0.4791414256442691,0.1039247839215058,0.300038431325211
+0.18,0.9087003677464428,0.5919528771836521,0.4946597098283566,0.1046870452415473,0.2959764385918261
+0.2,0.9007054908093207,0.5867405747034243,0.507077059275532,0.1054768752117219,0.2933702873517121
+0.22,0.8928355337214015,0.5836951763150248,0.5171787651791753,0.1062905247843972,0.2918475881575124
+0.24,0.8850635470982287,0.5822610049978383,0.5255502233481459,0.1071252245557859,0.2911305024989192
+0.26,0.8773698236126561,0.582023481159617,0.5326277560740717,0.1079789391536542,0.2910117405798085
+0.28,0.8697400020919116,0.5826732919498728,0.5387365222324932,0.1088501837257211,0.2913366459749364
+0.3,0.8621636684701438,0.5839796502165126,0.5441187946712474,0.109737886642095,0.2919898251082563
+0.32,0.8546333228659704,0.5857703440668562,0.5489550463715684,0.110641286695604,0.2928851720334281
+0.34,0.8471436164440778,0.5879168515480627,0.5533796759463562,0.1115598560615021,0.2939584257740313
+0.36,0.8396907874503666,0.5903232367960393,0.5574927332163764,0.1124932425372168,0.2951616183980196
+0.38,0.832272244236502,0.5929178658061587,0.5613686637479523,0.1134412262093859,0.2964589329030794
+0.4,0.8248862569746227,0.5956472277335463,0.5650628283492742,0.1144036869425559,0.2978236138667732
+0.42,0.8175317296817186,0.5984713265437108,0.5686163637948148,0.115380579979755,0.2992356632718554
+0.44,0.8102080316037837,0.6013602438767352,0.5720598068929347,0.1163719176265455,0.3006801219383676
+0.46,0.8029148725853817,0.6042915777315661,0.5754157941703709,0.1173777555126806,0.302145788865783
+0.48,0.7956522106834803,0.607248528042342,0.578701079022463,0.118398182251714,0.303624264021171
+0.5,0.7884201840920267,0.6102184753322763,0.5819280288616179,0.1194333117140782,0.3051092376661381
+0.52,0.7812190605551003,0.6131919158978048,0.5851057463516875,0.1204832771954066,0.3065959579489024
+0.54,0.7740492000501384,0.6161616706122656,0.5882409022835047,0.1215482270540904,0.3080808353061328
+0.56,0.7669110271441226,0.6191222945585434,0.5913383568644102,0.1226283214329229,0.3095611472792717
+0.58,0.7598050105184325,0.6220696366692898,0.5944016230164976,0.1237237297957792,0.3110348183346449
+0.6,0.7527316478135608,0.6250005116634118,0.5974332114438859,0.1248346290791408,0.3125002558317059
+0.62,0.7456914544018274,0.6279124555001383,0.6004348877943006,0.1259612023037331,0.3139562277500691
+0.64,0.7386849550682197,0.6308035432604188,0.6034078641381798,0.1271036375331811,0.3154017716302094
+0.66,0.7317126778372982,0.6336722532912643,0.6063529417807495,0.1282621270906874,0.3168361266456321
+0.68,0.7247751493934038,0.6365173660098801,0.6092706176259645,0.1294368669707507,0.31825868300494
+0.7,0.7178728916796794,0.6393378885010846,0.612161163422366,0.1306280563968692,0.3196689442505423
+0.72,0.7110064193707963,0.6421329983355019,0.6150246848050436,0.1318358974886574,0.3210664991677509
+0.74,0.7041762379937585,0.6449020017129052,0.6178611652823685,0.1330605950109668,0.3224510008564526
+0.76,0.6973828425301658,0.6476443022781422,0.6206704990073275,0.1343023561843635,0.3238221511390711
+0.78,0.6906267163767289,0.6503593778889996,0.6234525151927911,0.1355613905414794,0.3251796889444998
+0.8,0.6839083305759893,0.6530467633006168,0.6262069963062501,0.1368379098171428,0.3265233816503084
+0.82,0.6772281432306207,0.6557060373055858,0.6289336915972682,0.1381321278665243,0.3278530186527929
+0.84,0.6705865991009273,0.6583368130668629,0.6316323272351989,0.1394442605970101,0.3291684065334314
+0.86,0.6639841292920336,0.6609387309870713,0.6343026138028509,0.1407745259180433,0.3304693654935356
+0.88,0.6574211510131879,0.6635114533890532,0.6369442518949612,0.1421231437027968,0.3317557266945266
+0.9,0.6508980674286957,0.6660546605104433,0.6395569363072148,0.1434903357536452,0.3330273302552216
+0.92,0.6444152675831729,0.6685680475075933,0.6421403591390347,0.1448763257701982,0.3342840237537966
+0.94,0.6379731262789945,0.6710513222833104,0.6446942121050802,0.1462813393326142,0.3355256611416552
+0.96,0.6315720040977767,0.6735042037746417,0.6472181882548948,0.1477056038726861,0.3367521018873208
+0.98,0.6252122473524303,0.6759264207323787,0.6497119832561949,0.1491493486589952,0.3379632103661893
+1.,0.6188941881183759,0.6783177107657572,0.6521752963403725,0.1506128047754935,0.3391588553828786
diff --git a/models/sbml-test-suite/cases/semantic/00287/00287-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00287/00287-sbml-l1v2.xml
new file mode 100644
index 0000000..5f052b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00287/00287-sbml-l1v2.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00287">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="compartment1" initialAmount="0.1" units="substance"/>
+      <species name="S5" compartment="compartment1" initialAmount="0.1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="7.5"/>
+      <parameter name="k3" value="0.75"/>
+      <parameter name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k4 * S2" species="S5"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S2 + -1 * S3)"/>
+      </reaction>
+      <reaction name="reaction3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k3 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00287/00287-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00287/00287-sbml-l2v4.xml
new file mode 100644
index 0000000..a2ea575
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00287/00287-sbml-l2v4.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00287" id="case00287" name="case00287">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="compartment1" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="7.5"/>
+      <parameter id="k3" name="k3" value="0.75"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00287/00287-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00287/00287-sbml-l3v1.xml
new file mode 100644
index 0000000..7c48762
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00287/00287-sbml-l3v1.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00287" id="case00287" name="case00287" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment1" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="7.5" constant="true"/>
+      <parameter id="k3" name="k3" value="0.75" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00287/00287-settings.txt b/models/sbml-test-suite/cases/semantic/00287/00287-settings.txt
new file mode 100644
index 0000000..24925b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00287/00287-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00288/00288-results.csv b/models/sbml-test-suite/cases/semantic/00288/00288-results.csv
new file mode 100644
index 0000000..434a199
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00288/00288-results.csv
@@ -0,0 +1,52 @@
+time,S1,S3,S5
+0,1.,0,0
+0.2,0.8230406258575571,0.1769593741424432,0.08847968707122162
+0.4,0.6852245273338708,0.3147754726661293,0.1573877363330646
+0.6,0.5778932236160496,0.4221067763839503,0.2110533881919751
+0.8,0.4943035526566229,0.5056964473433773,0.2528482236716886
+1.,0.4292038245330994,0.5707961754669008,0.2853980877334504
+1.2,0.3785041262694676,0.6214958737305326,0.3107479368652663
+1.4,0.3390191416998285,0.6609808583001717,0.3304904291500858
+1.6,0.3082682094962556,0.6917317905037446,0.3458658952518723
+1.8,0.2843193676977128,0.7156806323022872,0.3578403161511436
+2.,0.2656679949201993,0.7343320050798007,0.3671660025399003
+2.2,0.2511422889619022,0.7488577110380978,0.3744288555190489
+2.4,0.2398296523877353,0.7601703476122648,0.3800851738061324
+2.6,0.2310193585776437,0.7689806414223565,0.3844903207111782
+2.8,0.2241579067252131,0.775842093274787,0.3879210466373935
+3.,0.2188141919645028,0.7811858080354973,0.3905929040177486
+3.2,0.214652511045503,0.7853474889544971,0.3926737444772485
+3.4,0.2114113841912606,0.7885886158087395,0.3942943079043697
+3.6,0.2088871971668756,0.7911128028331245,0.3955564014165622
+3.8,0.2069213543818581,0.793078645618142,0.396539322809071
+4.,0.2053903575605491,0.794609642439451,0.3973048212197255
+4.2,0.2041980136396187,0.7958019863603813,0.3979009931801906
+4.4,0.2032694171270742,0.7967305828729259,0.3983652914364629
+4.6,0.2025462239824446,0.7974537760175555,0.3987268880087777
+4.8,0.2019830017268032,0.7980169982731968,0.3990084991365984
+5.,0.2015443629125172,0.7984556370874829,0.3992278185437414
+5.2,0.2012027513450213,0.7987972486549788,0.3993986243274894
+5.4,0.2009367034564515,0.7990632965435485,0.3995316482717742
+5.6,0.2007295055663487,0.7992704944336511,0.3996352472168255
+5.8,0.2005681393655778,0.7994318606344221,0.399715930317211
+6.,0.2004424674859488,0.7995575325140511,0.3997787662570255
+6.2,0.200344593988044,0.7996554060119558,0.3998277030059779
+6.4,0.2002683700011212,0.7997316299988787,0.3998658149994393
+6.6,0.2002090067725906,0.7997909932274093,0.3998954966137046
+6.8,0.2001627746039261,0.7998372253960737,0.3999186126980368
+7.,0.2001267689550597,0.7998732310449401,0.39993661552247
+7.2,0.2000987277617157,0.799901272238284,0.399950636119142
+7.4,0.2000768892785499,0.7999231107214498,0.3999615553607249
+7.6,0.2000598814526359,0.7999401185473638,0.3999700592736819
+7.8,0.2000466357211411,0.7999533642788585,0.3999766821394292
+8.,0.200036319896754,0.7999636801032457,0.3999818400516228
+8.2,0.200028285983105,0.7999717140168948,0.3999858570084474
+8.4,0.2000220291547954,0.7999779708452042,0.3999889854226021
+8.6,0.2000171563043946,0.799982843695605,0.3999914218478025
+8.8,0.2000133613522998,0.7999866386476998,0.3999933193238499
+9.,0.2000104058358991,0.7999895941641005,0.3999947970820502
+9.2,0.2000081040643544,0.7999918959356452,0.3999959479678226
+9.4,0.200006311455903,0.7999936885440966,0.3999968442720483
+9.6,0.2000049153688295,0.7999950846311701,0.3999975423155851
+9.8,0.2000038280889366,0.7999961719110633,0.3999980859555316
+10.,0.2000029813225115,0.7999970186774885,0.3999985093387442
diff --git a/models/sbml-test-suite/cases/semantic/00288/00288-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00288/00288-sbml-l1v2.xml
new file mode 100644
index 0000000..08a7d06
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00288/00288-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00288">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance" boundaryCondition="false"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance" boundaryCondition="false"/>
+      <species name="S5" compartment="compartment1" initialAmount="0" units="substance" boundaryCondition="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k4 * S3" species="S5"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S3 + -1 * S1)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00288/00288-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00288/00288-sbml-l2v4.xml
new file mode 100644
index 0000000..4bf7c88
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00288/00288-sbml-l2v4.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00288" id="case00288" name="case00288">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S3 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00288/00288-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00288/00288-sbml-l3v1.xml
new file mode 100644
index 0000000..ed004e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00288/00288-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00288" id="case00288" name="case00288" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S3 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00288/00288-settings.txt b/models/sbml-test-suite/cases/semantic/00288/00288-settings.txt
new file mode 100644
index 0000000..f789ac1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00288/00288-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S3, S5
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S3, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00289/00289-results.csv b/models/sbml-test-suite/cases/semantic/00289/00289-results.csv
new file mode 100644
index 0000000..a40fbb0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00289/00289-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,1.,0,0
+0.16,0.8827955234448168,1.076460694672494,0.04074378188268736,0.01018594547067184
+0.32,0.7725794459114605,1.144689841422261,0.08273071266627762,0.0206826781665694
+0.48,0.6709855711443917,1.203451722734033,0.1255627061215737,0.03139067653039343
+0.64,0.5790036667002073,1.252174320230461,0.1688220130693304,0.04220550326733262
+0.8,0.4970183403290728,1.290884675384844,0.212096984286081,0.05302424607152027
+0.96,0.4249099442302112,1.320087010631621,0.2550030451381654,0.06375076128454136
+1.12,0.3621842790914722,1.34061820838307,0.2971975125254562,0.07429937813136407
+1.28,0.3081031433688662,1.3535086572146,0.3383881994165322,0.08459704985413306
+1.44,0.2617977828778151,1.359865588550763,0.3783366285714204,0.09458415714285511
+1.6,0.2223570077770742,1.360785872430616,0.4168571197923081,0.104214279948077
+1.76,0.1888890805065819,1.357297842032431,0.453813077460986,0.1134532693652465
+1.92,0.160560670575014,1.350327688235013,0.4891116411899711,0.1222779102974927
+2.08,0.1366179139789044,1.340684463989545,0.522697622031549,0.1306744055078872
+2.24,0.1163946738204805,1.329057969732337,0.5545473564471806,0.1386368391117951
+2.4,0.0993123837103636,1.316024725004807,0.5846628912848277,0.1461657228212069
+2.56,0.08487487017619793,1.302058397925623,0.6130667318981775,0.1532666829745443
+2.72,0.07266051663964341,1.287542239003363,0.6397972443569922,0.159949311089248
+2.88,0.06231346910170124,1.272781783923894,0.6649047469744036,0.1662261867436009
+3.04,0.05353473113676077,1.258017038140361,0.6884482307228765,0.1721120576807191
+3.2,0.0460738804024662,1.243433444036523,0.7104926755610087,0.1776231688902521
+3.36,0.03972154371874017,1.229171587067994,0.7311068692132639,0.1827767173033159
+3.52,0.034302832239823,1.215335499219293,0.7503616685408823,0.1875904171352205
+3.68,0.02967168061780799,1.201999691785774,0.7683286275964159,0.1920821568991039
+3.84,0.02570603754434718,1.189215030282626,0.7850789321730251,0.1962697330432562
+4.,0.02230382377471794,1.17701359012775,0.8006825860975304,0.2001706465243826
+4.16,0.01937955503239065,1.165412642819039,0.8152078021485692,0.2038019505371423
+4.32,0.01686153338312422,1.154417908395309,0.8287205582215647,0.2071801395553911
+4.48,0.01468951873023642,1.144026195374026,0.8412842858957363,0.210321071473934
+4.64,0.01281280216313425,1.134227533663263,0.8529596641736016,0.2132399160434004
+4.8,0.01118861138260502,1.125006891525885,0.8638044970915083,0.215951124272877
+4.96,0.009780795201882948,1.116345549419282,0.8738736553788341,0.2184684138447085
+5.12,0.008558731771620923,1.108222197356039,0.8832190708723389,0.2208047677180847
+5.28,0.007496430068827724,1.100613803204801,0.8918897667263699,0.2229724416815925
+5.44,0.006571782502504352,1.09349629913547,0.8999319183620244,0.2249829795905061
+5.6,0.005765945497131556,1.086845118994649,0.9073889355082183,0.2268472338770545
+5.76,0.005062824597226087,1.080635615620047,0.9143015597827263,0.2285753899456815
+5.92,0.004448646200810996,1.074843381491567,0.9207079723076203,0.230176993076905
+6.08,0.003911599626747677,1.069444491522975,0.9266439088502762,0.231660977212569
+6.24,0.003441537900579296,1.064415683067499,0.9321427790319203,0.23303569475798
+6.4,0.003029727783923451,1.059734486280199,0.9372357859358763,0.234308946483969
+6.56,0.002668640190408553,1.055379315321477,0.9419520444881133,0.2354880111220283
+6.72,0.002351772881661991,1.051329527234875,0.9463186998834615,0.2365796749708653
+6.88,0.002073501239122212,1.047565455878688,0.9503610428821889,0.2375902607205472
+7.04,0.001828952001587177,1.044068425805487,0.9541026221929248,0.2385256555482312
+7.2,0.001613897607580474,1.040820753156728,0.9575653492356909,0.2393913373089227
+7.36,0.001424665182076985,1.037805732913919,0.9607696019040032,0.2401924004760008
+7.52,0.001258059133586335,1.035007616756592,0.9637343241098206,0.2409335810274551
+7.68,0.001111295994698738,1.032411586059094,0.966477117946206,0.2416192794865515
+7.84,0.0009819486974538959,1.030003720378325,0.9690143309242204,0.2422535827310551
+8.,0.000867898129826085,1.02777096041856,0.9713611414516126,0.2428402853629031
diff --git a/models/sbml-test-suite/cases/semantic/00289/00289-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00289/00289-sbml-l1v2.xml
new file mode 100644
index 0000000..2dccd82
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00289/00289-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00289">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="compartment1" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S3" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S2 + -1 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00289/00289-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00289/00289-sbml-l2v4.xml
new file mode 100644
index 0000000..8130303
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00289/00289-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00289" id="case00289" name="case00289">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00289/00289-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00289/00289-sbml-l3v1.xml
new file mode 100644
index 0000000..ebcbfb5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00289/00289-sbml-l3v1.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00289" id="case00289" name="case00289" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00289/00289-settings.txt b/models/sbml-test-suite/cases/semantic/00289/00289-settings.txt
new file mode 100644
index 0000000..7d26374
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00289/00289-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00290/00290-results.csv b/models/sbml-test-suite/cases/semantic/00290/00290-results.csv
new file mode 100644
index 0000000..9409055
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00290/00290-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,1.,0,0
+0.24,0.8266968394177961,1.111697211543909,0.06160594903829406,0.01540148725957351
+0.48,0.6709855711443917,1.203451722734033,0.1255627061215737,0.03139067653039343
+0.72,0.5367585475888132,1.272759036200415,0.1904824162107702,0.04762060405269255
+0.96,0.4249099442302112,1.320087010631621,0.2550030451381654,0.06375076128454136
+1.2,0.3341155469390854,1.347949954745231,0.3179344983156816,0.07948362457892041
+1.44,0.2617977828778151,1.359865588550763,0.3783366285714204,0.09458415714285511
+1.68,0.2049302120729792,1.359532362795447,0.4355374251315726,0.1088843562828931
+1.92,0.160560670575014,1.350327688235013,0.4891116411899711,0.1222779102974927
+2.16,0.1260795238775666,1.335080546149762,0.5388399299726701,0.1347099824931675
+2.4,0.0993123837103636,1.316024725004807,0.5846628912848277,0.1461657228212069
+2.64,0.07851347465108771,1.294848277437382,0.626638247911529,0.1566595619778822
+2.88,0.06231346910170124,1.272781783923894,0.6649047469744036,0.1662261867436009
+3.12,0.04965353606985763,1.250692863256298,0.6996536006738425,0.1749134001684606
+3.36,0.03972154371874017,1.229171587067994,0.7311068692132639,0.1827767173033159
+3.6,0.03189695162590554,1.208601388655244,0.7595016597188484,0.1898754149297121
+3.84,0.02570603754434718,1.189215030282626,0.7850789321730251,0.1962697330432562
+4.08,0.02078672108357968,1.171137460281733,0.8080758186346861,0.2020189546586715
+4.32,0.01686153338312422,1.154417908395309,0.8287205582215647,0.2071801395553911
+4.56,0.01371709079501889,1.139053571574065,0.847229337630915,0.2118073344077287
+4.8,0.01118861138260502,1.125006891525885,0.8638044970915083,0.215951124272877
+5.04,0.009148267917087114,1.112218032630873,0.8786336994520382,0.2196584248630095
+5.28,0.007496430068827724,1.100613803204801,0.8918897667263699,0.2229724416815925
+5.52,0.006155077604554091,1.090113961300786,0.9037309610946584,0.2259327402736646
+5.76,0.005062824597226087,1.080635615620047,0.9143015597827263,0.2285753899456815
+6.,0.004171151471798588,1.072096239671702,0.9237326088564986,0.2309331522141246
+6.24,0.003441537900579296,1.064415683067499,0.9321427790319203,0.23303569475798
+6.48,0.002843272247790876,1.05751746035322,0.9396392673989879,0.2349098168497469
+6.72,0.002351772881661991,1.051329527234875,0.9463186998834615,0.2365796749708653
+6.96,0.00194728955387012,1.045784689093192,0.9522680213529369,0.2380670053382342
+7.2,0.001613897607580474,1.040820753156728,0.9575653492356909,0.2393913373089227
+7.44,0.001338716796963003,1.036380509441651,0.9622807737613849,0.2405701934403462
+7.68,0.001111295994698738,1.032411586059094,0.966477117946206,0.2416192794865515
+7.92,0.0009231329092364352,1.028866235806516,0.9702106312842462,0.2425526578210615
+8.16,0.0007672920768639076,1.025701069905514,0.9735316380176211,0.2433829095044052
+8.4,0.0006381034301407493,1.022876771391985,0.9764851251778727,0.2441212812944682
+8.64,0.0005309211897384495,1.020357795428971,0.9791112833812892,0.2447778208453223
+8.88,0.0004419316309231743,1.018112072449026,0.9814459959200493,0.2453614989800123
+9.12,0.000367998395593427,1.016110717406588,0.9835212841978173,0.2458803210494543
+9.36,0.000306538159724165,1.014327752713252,0.9853657091270217,0.2463414272817554
+9.6,0.0002554199055239305,1.012739844978499,0.9870047351159755,0.2467511837789938
+9.84,0.0002128835867567936,1.011326060632566,0.988461055780675,0.2471152639451687
+10.08,0.0001774736538116803,1.010067636484872,0.9897548898613141,0.2474387224653285
+10.32,0.0001479852825072148,1.008947771050791,0.9909042436666993,0.2477260609166748
+10.56,0.0001234200486948465,1.007951429635788,0.9919251503155148,0.2479812875788787
+10.8,0.0001029500266667125,1.007065169588938,0.9928318803843934,0.2482079700960983
+11.04,0.00008588801055266124,1.006276977895767,0.9936371340936777,0.2484092835234194
+11.28,0.00007166329607191555,1.005576126268144,0.9943522104357814,0.2485880526089453
+11.52,0.00005980158780872636,1.004953038083123,0.9949871603290658,0.2487467900822664
+11.76,0.00004990850534697755,1.004399168854286,0.9955509226403647,0.2488877306600911
+12.,0.00004165597599387735,1.003906898528917,0.9960514454950874,0.2490128613737718
diff --git a/models/sbml-test-suite/cases/semantic/00290/00290-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00290/00290-sbml-l1v2.xml
new file mode 100644
index 0000000..c823a69
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00290/00290-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00290">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="compartment1" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S3" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S2 + -1 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00290/00290-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00290/00290-sbml-l2v4.xml
new file mode 100644
index 0000000..2ac77dd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00290/00290-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00290" id="case00290" name="case00290">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00290/00290-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00290/00290-sbml-l3v1.xml
new file mode 100644
index 0000000..7f7e933
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00290/00290-sbml-l3v1.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00290" id="case00290" name="case00290" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00290/00290-settings.txt b/models/sbml-test-suite/cases/semantic/00290/00290-settings.txt
new file mode 100644
index 0000000..3e6ad9f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00290/00290-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00291/00291-results.csv b/models/sbml-test-suite/cases/semantic/00291/00291-results.csv
new file mode 100644
index 0000000..b040275
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00291/00291-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,1.,1.,0,0.1,0.5
+0.2,0.9007054908093207,0.5867405747034243,0.507077059275532,0.1054768752117219,0.2933702873517121
+0.4,0.8248862569746227,0.5956472277335463,0.5650628283492742,0.1144036869425559,0.2978236138667732
+0.6,0.7527316478135608,0.6250005116634118,0.5974332114438859,0.1248346290791408,0.3125002558317059
+0.8,0.6839083305759893,0.6530467633006168,0.6262069963062501,0.1368379098171428,0.3265233816503084
+1.,0.6188941881219745,0.6783177107638542,0.652175296339128,0.1506128047750422,0.3391588553819271
+1.2,0.5580699355093541,0.7004771965708334,0.6750692803383233,0.1663835875814883,0.3502385982854167
+1.4,0.5016776511356311,0.7193060736367802,0.6946238830157541,0.1843923922118335,0.3596530368183901
+1.6,0.4498288220209162,0.7346435667980966,0.7106309850535679,0.2048966261274184,0.3673217833990483
+1.8,0.4025200745550049,0.746377289254154,0.7229373670031157,0.2281652691877244,0.373188644627077
+2.,0.3596523109461914,0.7544354542072437,0.7314387920532874,0.2544734427932764,0.3772177271036218
+2.2,0.3210510241771589,0.7587799518881075,0.7360740780790504,0.2840949458556823,0.3793899759440537
+2.4,0.2864860910966188,0.7594010555864183,0.7368203117538605,0.3172925415631016,0.3797005277932091
+2.6,0.2556898482076129,0.7563143282022676,0.7336899098348743,0.3543059137552447,0.3781571641011338
+2.8,0.2283727388082643,0.7495599803148534,0.7267298626234202,0.3953374182534616,0.3747799901574267
+3.,0.2042362242897941,0.7392046120826273,0.7160231212861033,0.4405360423414747,0.3696023060413136
+3.2,0.1829829541894543,0.725344973171017,0.7016917385879412,0.4899803340515867,0.3626724865855085
+3.4,0.1643243920800312,0.7081130959060814,0.6839010508269427,0.5436614611869441,0.3540565479530407
+3.6,0.1479862130603775,0.6876819350295605,0.6628639531436101,0.601467898766451,0.3438409675147802
+3.8,0.1337118340814678,0.6642704697804175,0.6388441578601816,0.663173538277932,0.3321352348902088
+4.,0.1212644441370506,0.638147172736052,0.6121573313740102,0.728431051752886,0.319073586368026
+4.2,0.110427872882919,0.6096308163264776,0.5831691553766528,0.7967721554139495,0.3048154081632388
+4.4,0.1010065944243849,0.5790878195931809,0.5522896902135757,0.8676158957688575,0.2895439097965904
+4.6,0.09282511463185025,0.546925719487994,0.5199638907704343,0.9402852751097204,0.273462859743997
+4.8,0.08572694252783509,0.5135828453631646,0.4866586747182771,1.014031537390722,0.2567914226815823
+5.,0.07957330261991783,0.4795148070548622,0.4528474723136833,1.088064418011536,0.2397574035274311
+5.2,0.07424170733907979,0.4451788797728759,0.4189935916488415,1.161585821239202,0.2225894398864379
+5.4,0.06962447731142694,0.4110176892927388,0.385533929775419,1.233823903620414,0.2055088446463694
+5.6,0.06562727229033216,0.377443702911745,0.3528645088412497,1.304064515956672,0.1887218514558725
+5.8,0.06216767566867852,0.3448258986757314,0.3213290367134366,1.371677388942153,0.1724129493378657
+6.,0.05917386042306215,0.3134796540212698,0.2912112522231173,1.43613523333255,0.1567398270106349
+6.2,0.05658335316912937,0.2836604394576527,0.2627313107795275,1.49702489659369,0.1418302197288263
+6.4,0.05434190458183297,0.2555614191696642,0.2360459959642182,1.554050680284284,0.1277807095848321
+6.6,0.05240246832216929,0.2293146352283469,0.2112521805920319,1.607030715857451,0.1146573176141734
+6.8,0.05072428619928738,0.204995144633257,0.1883927437172591,1.655887825450196,0.1024975723166285
+7.,0.04927207537522888,0.1826273006367909,0.1674640684608885,1.700636555527091,0.09131365031839548
+7.2,0.04801531010324373,0.1621923491085206,0.1484243058189508,1.741368034969284,0.08109617455426031
+7.4,0.04692759068839452,0.1436365694024736,0.131201706752592,1.778234133156539,0.07181828470123681
+7.6,0.04598609142944033,0.1268793300475953,0.1157024972819163,1.811432081241047,0.06343966502379766
+7.8,0.04517107935636902,0.1118205947275413,0.1018179451210093,1.841190380795079,0.05591029736377069
+8.,0.04446549586337059,0.09834757900023476,0.08943042343038028,1.867756501706014,0.04917378950011738
+8.2,0.0438545938072886,0.08634040285080768,0.07841840420743134,1.891386599134471,0.04317020142540384
+8.4,0.04332562330186211,0.07567669874597035,0.06866040695879098,1.912337270993375,0.03783834937298517
+8.6,0.04286755992425609,0.06623521710866284,0.06003798918940816,1.930859233777672,0.03311760855433142
+8.8,0.04247086992047509,0.05789852335444876,0.05243789943061923,1.947192707294455,0.02894926167722438
+9.,0.04212730738047034,0.05055490817325893,0.04575352646685312,1.961564257979416,0.02527745408662946
+9.2,0.04182973918327707,0.04409964262457814,0.03988577824915636,1.974184839942987,0.02204982131228907
+9.4,0.04157199385929486,0.03843570567994576,0.03474351319523967,1.985248787265519,0.01921785283997288
+9.6,0.04134873114937574,0.03347410154476495,0.03024363254073425,1.994933534765125,0.01673705077238247
+9.8,0.04115532939107151,0.02913386860310458,0.02631092516395262,2.003399876841871,0.01456693430155229
+10.,0.04098778828915828,0.02534186577194758,0.02287773999514815,2.010792605943746,0.01267093288597379
diff --git a/models/sbml-test-suite/cases/semantic/00291/00291-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00291/00291-sbml-l1v2.xml
new file mode 100644
index 0000000..9831b80
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00291/00291-sbml-l1v2.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00291">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="compartment1" initialAmount="0.1" units="substance"/>
+      <species name="S5" compartment="compartment1" initialAmount="0.5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="7.5"/>
+      <parameter name="k3" value="0.75"/>
+      <parameter name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k4 * S2" species="S5"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S2 + -1 * S3)"/>
+      </reaction>
+      <reaction name="reaction3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k3 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00291/00291-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00291/00291-sbml-l2v4.xml
new file mode 100644
index 0000000..0be1c3a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00291/00291-sbml-l2v4.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00291" id="case00291" name="case00291">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="compartment1" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="7.5"/>
+      <parameter id="k3" name="k3" value="0.75"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00291/00291-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00291/00291-sbml-l3v1.xml
new file mode 100644
index 0000000..41e6d78
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00291/00291-sbml-l3v1.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00291" id="case00291" name="case00291" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment1" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="7.5" constant="true"/>
+      <parameter id="k3" name="k3" value="0.75" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00291/00291-settings.txt b/models/sbml-test-suite/cases/semantic/00291/00291-settings.txt
new file mode 100644
index 0000000..6fd4d9a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00291/00291-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00292/00292-results.csv b/models/sbml-test-suite/cases/semantic/00292/00292-results.csv
new file mode 100644
index 0000000..7cd2714
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00292/00292-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,1.,1.,0,0.1,0.5
+0.12,0.9338734360080311,0.6293920639505246,0.4342295497060197,0.1025049503354237,0.3146960319752623
+0.24,0.8850635470982287,0.5822610049978383,0.5255502233481459,0.1071252245557859,0.2911305024989192
+0.36,0.8396907874503666,0.5903232367960393,0.5574927332163764,0.1124932425372168,0.2951616183980196
+0.48,0.7956522106834803,0.607248528042342,0.578701079022463,0.118398182251714,0.303624264021171
+0.6,0.7527316478135608,0.6250005116634118,0.5974332114438859,0.1248346290791408,0.3125002558317059
+0.72,0.7110064193707963,0.6421329983355019,0.6150246848050436,0.1318358974886574,0.3210664991677509
+0.84,0.6705865991009273,0.6583368130668629,0.6316323272351989,0.1394442605970101,0.3291684065334314
+0.96,0.6315720040977767,0.6735042037746417,0.6472181882548948,0.1477056038726861,0.3367521018873208
+1.08,0.5940450716435912,0.6875686283196925,0.6617178733250874,0.1566684267116279,0.3437843141598462
+1.2,0.5580699355093541,0.7004771965708334,0.6750692803383233,0.1663835875814883,0.3502385982854167
+1.32,0.5236928298801408,0.7121856558852596,0.6872173742854631,0.1769041399491356,0.3560928279426298
+1.44,0.4909429773754813,0.7226571254141516,0.698114762103167,0.1882851351071992,0.3613285627070758
+1.56,0.4598337674398308,0.7318614059415663,0.7077214641441029,0.2005833624744991,0.3659307029707831
+1.68,0.4303641357343036,0.7397743575525382,0.7160044918723177,0.2138570148408393,0.3698871787762691
+1.8,0.4025200745550049,0.746377289254154,0.7229373670031157,0.2281652691877244,0.373188644627077
+1.92,0.3762762139858894,0.7516563775679606,0.728499633806505,0.2435677746396439,0.3758281887839803
+2.04,0.3515974193106986,0.755602140475083,0.7326763999488653,0.2601240402653521,0.3778010702375415
+2.16,0.3284403606583226,0.7582089892911252,0.7354579329995508,0.2778927170510005,0.3791044946455626
+2.28,0.3067550173206166,0.7594748771558562,0.7368393353435044,0.296930770180022,0.3797374385779281
+2.4,0.2864860910966188,0.7594010555864183,0.7368203117538605,0.3172925415631016,0.3797005277932091
+2.52,0.2675743071749395,0.7579919472745813,0.7354050406913472,0.3390287048591315,0.3789959736372906
+2.64,0.2499575919242415,0.7552551356012339,0.7326021508667047,0.3621851216078194,0.3776275678006169
+2.76,0.2335721204164299,0.7512014679499101,0.7284248009610847,0.3868016106725749,0.375600733974955
+2.88,0.2183532330883643,0.7458452634436385,0.7228908524341612,0.4129106510338353,0.3729226317218192
+3.,0.2042362242897941,0.7392046120826273,0.7160231212861033,0.4405360423414747,0.3696023060413136
+3.12,0.1911570090570452,0.7313017471597924,0.707849688564739,0.4696915552184228,0.3656508735798962
+3.24,0.1790526755506972,0.7221634668947795,0.6984042428100624,0.5003796147444603,0.3610817334473897
+3.36,0.1678619334910339,0.7118215823654041,0.6877264297556218,0.5325900543879397,0.355910791182702
+3.48,0.15752546858242,0.7003133610834141,0.6758621758739418,0.5662989944602235,0.350156680541707
+3.6,0.1479862130603775,0.6876819350295605,0.6628639531436101,0.601467898766451,0.3438409675147802
+3.72,0.1391895432327587,0.6739766428276542,0.648790954456158,0.638042859483428,0.3369883214138271
+3.84,0.1310834138556781,0.6592532747722521,0.6337091492153994,0.6759541621566695,0.329626637386126
+3.96,0.1236184385609511,0.6435741917193028,0.6176911927249227,0.7151161769948223,0.3217870958596514
+4.08,0.1167479250544604,0.6270082933215609,0.6008161692257683,0.7554276123982094,0.3135041466607804
+4.2,0.110427872882919,0.6096308163264776,0.5831691553766528,0.7967721554139495,0.3048154081632388
+4.32,0.1046169405401425,0.5915229502785363,0.5648405991985029,0.8390195099828174,0.2957614751392681
+4.44,0.09927638835268061,0.5727712673283137,0.5459255199233744,0.8820268243956304,0.2863856336641568
+4.56,0.09437000207428762,0.5534669703619176,0.5265225425278162,0.9256404850359777,0.2767334851809588
+4.68,0.08986400219536494,0.5337049746089677,0.5067327914093485,0.9696982317863178,0.2668524873044838
+4.8,0.08572694252783509,0.5135828453631646,0.4866586747182771,1.014031537390722,0.2567914226815823
+4.92,0.08192960160318592,0.4931996233690338,0.4664025981171588,1.05846817691062,0.2465998116845169
+5.04,0.07844486957482223,0.472654575068645,0.446065650491809,1.102834904864723,0.2363272875343225
+5.16,0.07524763271431265,0.4520459095478294,0.4257463064631132,1.146960151274744,0.2260229547739147
+5.28,0.07231465779517505,0.4314695052101337,0.405539188522707,1.190676648471983,0.2157347526050668
+5.4,0.06962447731142694,0.4110176892927388,0.385533929775419,1.233823903620414,0.2055088446463694
+5.52,0.0671572770847293,0.3907781095245478,0.3658141712192409,1.276250442171481,0.1953890547622739
+5.64,0.06489478711709127,0.3708327318890752,0.3464567204484908,1.317815760545342,0.1854163659445376
+5.76,0.06282017623815895,0.3512569923877283,0.327530891164688,1.358391940209424,0.1756284961938641
+5.88,0.06091795118724136,0.3321191217338921,0.3090980328691347,1.397864894209731,0.166059560866946
+6.,0.05917386042792056,0.3134796539839271,0.2912112521852068,1.436135233402945,0.1567398269919635
diff --git a/models/sbml-test-suite/cases/semantic/00292/00292-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00292/00292-sbml-l1v2.xml
new file mode 100644
index 0000000..4497a75
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00292/00292-sbml-l1v2.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00292">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="compartment1" initialAmount="1" units="substance"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="compartment1" initialAmount="0.1" units="substance"/>
+      <species name="S5" compartment="compartment1" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="7.5"/>
+      <parameter name="k3" value="0.75"/>
+      <parameter name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k4 * S2" species="S5"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S2 + -1 * S3)"/>
+      </reaction>
+      <reaction name="reaction3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k3 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00292/00292-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00292/00292-sbml-l2v4.xml
new file mode 100644
index 0000000..a5f0933
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00292/00292-sbml-l2v4.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00292" id="case00292" name="case00292">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="compartment1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="7.5"/>
+      <parameter id="k3" name="k3" value="0.75"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00292/00292-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00292/00292-sbml-l3v1.xml
new file mode 100644
index 0000000..130c56f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00292/00292-sbml-l3v1.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00292" id="case00292" name="case00292" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment1" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="7.5" constant="true"/>
+      <parameter id="k3" name="k3" value="0.75" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00292/00292-settings.txt b/models/sbml-test-suite/cases/semantic/00292/00292-settings.txt
new file mode 100644
index 0000000..18b742c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00292/00292-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00293/00293-results.csv b/models/sbml-test-suite/cases/semantic/00293/00293-results.csv
new file mode 100644
index 0000000..b81ad71
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00293/00293-results.csv
@@ -0,0 +1,52 @@
+time,S1,S3,S5
+0,1.,0,0
+0.12,0.8885663805027288,0.1114336194972714,0.05571680974863573
+0.24,0.792654575968266,0.2073454240317342,0.1036727120158671
+0.36,0.7101025212774756,0.2898974787225245,0.1449487393612622
+0.48,0.6390493059397429,0.3609506940602572,0.1804753470301286
+0.6,0.5778932236160496,0.4221067763839503,0.2110533881919751
+0.72,0.5252557084792428,0.4747442915207573,0.2373721457603786
+0.84,0.4799501869978204,0.5200498130021797,0.2600249065010898
+0.96,0.4409553661463275,0.5590446338536726,0.2795223169268363
+1.08,0.4073922083574761,0.592607791642524,0.296303895821262
+1.2,0.3785041262694676,0.6214958737305326,0.3107479368652663
+1.32,0.3536399046684003,0.6463600953315998,0.3231800476657999
+1.44,0.3322390950551261,0.667760904944874,0.333880452472437
+1.56,0.313819257269274,0.6861807427307262,0.3430903713653631
+1.68,0.297965130730487,0.7020348692695132,0.3510174346347566
+1.8,0.2843193676977128,0.7156806323022872,0.3578403161511436
+1.92,0.272574361953172,0.7274256380468281,0.363712819023414
+2.04,0.262465327119779,0.7375346728802211,0.3687673364401105
+2.16,0.2537644017373324,0.7462355982626676,0.3731177991313338
+2.28,0.2462754551811356,0.7537245448188645,0.3768622724094322
+2.4,0.2398296523877353,0.7601703476122648,0.3800851738061324
+2.52,0.2342816930538548,0.7657183069461454,0.3828591534730727
+2.64,0.2295065338163426,0.7704934661836575,0.3852467330918287
+2.76,0.2253965027507301,0.77460349724927,0.387301748624635
+2.88,0.2218589779576611,0.778141022042339,0.3890705110211695
+3.,0.2188141919645028,0.7811858080354973,0.3905929040177486
+3.12,0.216193529116878,0.783806470883122,0.391903235441561
+3.24,0.2139378962476311,0.786062103752369,0.3930310518761845
+3.36,0.2119964613704689,0.7880035386295313,0.3940017693147656
+3.48,0.2103254474078661,0.7896745525921341,0.394837276296067
+3.6,0.2088871971668756,0.7911128028331245,0.3955564014165622
+3.72,0.2076492795765033,0.7923507204234967,0.3961753602117483
+3.84,0.2065837975919595,0.7934162024080406,0.3967081012040203
+3.96,0.2056667256854106,0.7943332743145895,0.3971666371572947
+4.08,0.2048773972173679,0.7951226027826321,0.397561301391316
+4.2,0.2041980136396187,0.7958019863603813,0.3979009931801906
+4.32,0.2036132647279579,0.7963867352720422,0.3981933676360211
+4.44,0.2031099649949907,0.7968900350050094,0.3984450175025047
+4.56,0.202676772346491,0.7973232276535091,0.3986616138267545
+4.68,0.202303918734039,0.7976960812659611,0.3988480406329805
+4.8,0.2019830017268032,0.7980169982731968,0.3990084991365984
+4.92,0.2017067849777667,0.7982932150222333,0.3991466075111166
+5.04,0.2014690438105183,0.7985309561894816,0.3992654780947408
+5.16,0.2012644174105438,0.7987355825894563,0.3993677912947281
+5.28,0.2010882944214454,0.7989117055785546,0.3994558527892773
+5.4,0.2009367034564515,0.7990632965435485,0.3995316482717742
+5.52,0.2008062283365963,0.7991937716634036,0.3995968858317018
+5.64,0.2006939269880465,0.7993060730119534,0.3996530365059767
+5.76,0.2005972686415716,0.7994027313584284,0.3997013656792142
+5.88,0.2005140737566675,0.7994859262433323,0.3997429631216661
+6.,0.20044246749614,0.7995575325038598,0.3997787662519299
diff --git a/models/sbml-test-suite/cases/semantic/00293/00293-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00293/00293-sbml-l1v2.xml
new file mode 100644
index 0000000..f7cc9a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00293/00293-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00293">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance" boundaryCondition="false"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance" boundaryCondition="false"/>
+      <species name="S5" compartment="compartment1" initialAmount="1" units="substance" boundaryCondition="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k4 * S3" species="S5"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S3 + -1 * S1)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00293/00293-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00293/00293-sbml-l2v4.xml
new file mode 100644
index 0000000..26ed652
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00293/00293-sbml-l2v4.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00293" id="case00293" name="case00293">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S3 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00293/00293-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00293/00293-sbml-l3v1.xml
new file mode 100644
index 0000000..2cb3139
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00293/00293-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00293" id="case00293" name="case00293" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S3 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00293/00293-settings.txt b/models/sbml-test-suite/cases/semantic/00293/00293-settings.txt
new file mode 100644
index 0000000..2b984c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00293/00293-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S3, S5
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S3, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00294/00294-results.csv b/models/sbml-test-suite/cases/semantic/00294/00294-results.csv
new file mode 100644
index 0000000..dffbbe1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00294/00294-results.csv
@@ -0,0 +1,52 @@
+time,S1,S3,S5
+0,1.,0,0
+0.08,0.9238699344108396,0.07613006558916067,0.03806503279458033
+0.16,0.8549846018426338,0.1450153981573665,0.07250769907868329
+0.24,0.792654575968266,0.2073454240317342,0.1036727120158671
+0.32,0.7362560359356237,0.2637439640643765,0.1318719820321882
+0.4,0.6852245273338708,0.3147754726661293,0.1573877363330646
+0.48,0.6390493059397429,0.3609506940602572,0.1804753470301286
+0.56,0.5972682386080188,0.4027317613919813,0.2013658806959906
+0.64,0.5594631696760913,0.4405368303239088,0.2202684151619544
+0.72,0.5252557084792428,0.4747442915207573,0.2373721457603786
+0.8,0.4943035526566229,0.5056964473433773,0.2528482236716886
+0.88,0.4662968521016845,0.5337031478983156,0.2668515739491578
+0.96,0.4409553661463275,0.5590446338536726,0.2795223169268363
+1.04,0.4180254251445468,0.5819745748554533,0.2909872874277266
+1.12,0.3972775645540935,0.6027224354459066,0.3013612177229533
+1.2,0.3785041262694676,0.6214958737305326,0.3107479368652663
+1.28,0.3615172131402036,0.6384827868597965,0.3192413934298982
+1.36,0.3461468108230724,0.6538531891769278,0.3269265945884639
+1.44,0.3322390950551261,0.667760904944874,0.333880452472437
+1.52,0.3196548766831552,0.6803451233168449,0.3401725616584224
+1.6,0.3082682094962556,0.6917317905037446,0.3458658952518723
+1.68,0.297965130730487,0.7020348692695132,0.3510174346347566
+1.76,0.2886425212853806,0.7113574787146196,0.3556787393573098
+1.84,0.2802070742838743,0.7197929257161259,0.3598964628580629
+1.92,0.272574361953172,0.7274256380468281,0.363712819023414
+2.,0.2656679949201993,0.7343320050798007,0.3671660025399003
+2.08,0.2594188554444913,0.7405811445555088,0.3702905722777544
+2.16,0.2537644017373324,0.7462355982626676,0.3731177991313338
+2.24,0.2486480424663676,0.7513519575336324,0.3756759787668162
+2.32,0.2440185708242252,0.7559814291757749,0.3779907145878874
+2.4,0.2398296523877353,0.7601703476122648,0.3800851738061324
+2.48,0.2360393616594902,0.7639606383405098,0.3819803191702549
+2.56,0.2326097629879056,0.7673902370120946,0.3836951185060473
+2.64,0.2295065338163426,0.7704934661836575,0.3852467330918287
+2.72,0.2266986159224357,0.7733013840775644,0.3866506920387822
+2.8,0.2241579067252131,0.775842093274787,0.3879210466373935
+2.88,0.2218589779576611,0.778141022042339,0.3890705110211695
+2.96,0.2197788211725295,0.7802211788274705,0.3901105894137352
+3.04,0.2178966174667229,0.7821033825332772,0.3910516912666386
+3.12,0.216193529116878,0.783806470883122,0.391903235441561
+3.2,0.214652511045503,0.7853474889544971,0.3926737444772485
+3.28,0.2132581402264945,0.7867418597735056,0.3933709298867528
+3.36,0.2119964613704689,0.7880035386295313,0.3940017693147656
+3.44,0.210854847131993,0.7891451528680071,0.3945725764340035
+3.52,0.2098218718520623,0.7901781281479379,0.3950890640739689
+3.6,0.2088871971668756,0.7911128028331245,0.3955564014165622
+3.68,0.2080414685380309,0.7919585314619692,0.3959792657309846
+3.76,0.2072762216291498,0.7927237783708502,0.3963618891854251
+3.84,0.2065837975919595,0.7934162024080406,0.3967081012040203
+3.92,0.2059572664459386,0.7940427335540615,0.3970213667770307
+4.,0.2053903575993897,0.7946096424006103,0.3973048212003051
diff --git a/models/sbml-test-suite/cases/semantic/00294/00294-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00294/00294-sbml-l1v2.xml
new file mode 100644
index 0000000..40c7f75
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00294/00294-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00294">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+      <compartment name="compartment1" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment1" initialAmount="1" units="substance" boundaryCondition="false"/>
+      <species name="S3" compartment="compartment1" initialAmount="0" units="substance" boundaryCondition="false"/>
+      <species name="S5" compartment="compartment1" initialAmount="0" units="substance" boundaryCondition="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k4 * S3" species="S5"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment1 * k2 * (S3 + -1 * S1)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00294/00294-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00294/00294-sbml-l2v4.xml
new file mode 100644
index 0000000..d1b1c98
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00294/00294-sbml-l2v4.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00294" id="case00294" name="case00294">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S3 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00294/00294-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00294/00294-sbml-l3v1.xml
new file mode 100644
index 0000000..12c5bc2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00294/00294-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00294" id="case00294" name="case00294" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+      <compartment id="compartment1" name="compartment1" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment1" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment1" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k4 </ci>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment1 </ci>
+              <ci> k2 </ci>
+              <apply>
+                <plus/>
+                <ci> S3 </ci>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00294/00294-settings.txt b/models/sbml-test-suite/cases/semantic/00294/00294-settings.txt
new file mode 100644
index 0000000..eb35edb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00294/00294-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S3, S5
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S3, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00295/00295-results.csv b/models/sbml-test-suite/cases/semantic/00295/00295-results.csv
new file mode 100644
index 0000000..df8be39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00295/00295-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.15,0.1575
+0.1,0.08913661436314215,0.1608633856368579,0.1689065549187008
+0.2,0.07945336021828572,0.1705466397817143,0.1790739717708
+0.3,0.07082203531898217,0.1791779646810179,0.1881368629150688
+0.4,0.06312836433843031,0.1868716356615698,0.1962152174446483
+0.5,0.05627048634020921,0.1937295136597909,0.2034159893427804
+0.6,0.05015760597551761,0.1998423940244824,0.2098345137257066
+0.7,0.04470879177124138,0.2052912082287587,0.2155557686401966
+0.8,0.03985190361830286,0.2101480963816972,0.2206555012007821
+0.9,0.0355226288765542,0.2144773711234459,0.2252012396796182
+1.,0.03166367693632202,0.218336323063678,0.2292531392168619
+1.1,0.02822392960899557,0.2217760703910045,0.2328648739105548
+1.2,0.02515785518796679,0.2248421448120333,0.236084252052635
+1.3,0.02242486038820936,0.2275751396117907,0.2389538965923803
+1.4,0.01998876135216055,0.2300112386478395,0.2415118005802315
+1.5,0.01781730467094188,0.2321826953290582,0.2437918300955111
+1.6,0.01588174216086607,0.234118257839134,0.2458241707310908
+1.7,0.01415644726998046,0.2358435527300196,0.2476357303665206
+1.8,0.0126185778159745,0.2373814221840256,0.2492504932932269
+1.9,0.01124777271435285,0.2387522272856472,0.2506898386499296
+2.,0.01002588435248365,0.2399741156475164,0.2519728214298923
+2.1,0.008936733285953731,0.2410632667140463,0.2531164300497486
+2.2,0.007965901875643541,0.2420340981243565,0.2541358030305743
+2.3,0.007100535104945913,0.2428994648950541,0.2550444381398068
+2.4,0.006329176466986434,0.2436708235330135,0.2558543647096642
+2.5,0.005641613940571294,0.2443583860594287,0.2565763053624002
+2.6,0.005028743173688178,0.2449712568263118,0.2572198196676274
+2.7,0.004482451667525734,0.2455175483324742,0.2577934257490979
+2.8,0.00399550559920431,0.2460044944007956,0.2583047191208354
+2.9,0.003561458300820221,0.2464385416991797,0.2587604687841387
+3.,0.003174563604715692,0.2468254363952843,0.2591667082150485
+3.1,0.002829698235172054,0.2471703017648279,0.2595288168530693
+3.2,0.002522297465782962,0.247477702534217,0.2598515876609279
+3.3,0.002248290373397724,0.2477517096266023,0.2601392951079324
+3.4,0.002004050001037518,0.2479959499989624,0.2603957474989106
+3.5,0.001786342332190145,0.2482136576678098,0.2606243405512003
+3.6,0.001592284996030909,0.248407715003969,0.2608281007541675
+3.7,0.001419309068049474,0.2485806909319505,0.261009725478548
+3.8,0.001265123917433577,0.2487348760825664,0.2611716198866947
+3.9,0.001127688736366048,0.2488723112636339,0.2613159268268156
+4.,0.001005183489106542,0.2489948165108934,0.2614445573364381
+4.1,0.0008959865504444268,0.2491040134495555,0.2615592141220333
+4.2,0.0007986520975188341,0.2492013479024811,0.2616614152976052
+4.3,0.0007118913933040845,0.2492881086066959,0.2617525140370307
+4.4,0.0006345559506823189,0.2493654440493177,0.2618337162517835
+4.5,0.0005656216303037975,0.2494343783696962,0.261906097288181
+4.6,0.000504176014680604,0.2494958239853194,0.2619706151845854
+4.7,0.000449405405876398,0.2495505945941236,0.2620281243238298
+4.8,0.000400584765106651,0.2495994152348933,0.262079385996638
+4.9,0.0003570677179418058,0.2496429322820581,0.2621250788961611
+5.,0.0003182780796518471,0.2496817219203481,0.2621658080163655
diff --git a/models/sbml-test-suite/cases/semantic/00295/00295-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00295/00295-sbml-l2v4.xml
new file mode 100644
index 0000000..e6217d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00295/00295-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00295" id="case00295" name="case00295">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05"/>
+      <parameter id="k2" name="k2" value="1.15"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00295/00295-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00295/00295-sbml-l3v1.xml
new file mode 100644
index 0000000..1408599
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00295/00295-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00295" id="case00295" name="case00295" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05" constant="true"/>
+      <parameter id="k2" name="k2" value="1.15" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00295/00295-settings.txt b/models/sbml-test-suite/cases/semantic/00295/00295-settings.txt
new file mode 100644
index 0000000..01ff453
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00295/00295-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00296/00296-results.csv b/models/sbml-test-suite/cases/semantic/00296/00296-results.csv
new file mode 100644
index 0000000..05ed248
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00296/00296-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.004,0.00001171804228248603,0.00001671804228248603,8.281957717513968e-6,0.00002507706342372904
+0.008,0.00001310095331391059,0.00001810095331391059,6.899046686089409e-6,0.00002715142997086588
+0.012,0.00001421224595408018,0.00001921224595408016,5.787754045919824e-6,0.00002881836893112025
+0.016,0.00001510406942054186,0.00002010406942054185,4.895930579458139e-6,0.00003015610413081277
+0.02,0.00001581899521073821,0.00002081899521073819,4.181004789261788e-6,0.00003122849281610729
+0.024,0.00001639161625397317,0.00002139161625397316,3.608383746026822e-6,0.00003208742438095974
+0.028,0.00001684994070619628,0.00002184994070619626,3.150059293803723e-6,0.0000327749110592944
+0.032,0.00001721657888961542,0.00002221657888961541,2.783421110384575e-6,0.00003332486833442311
+0.036,0.00001750974236591257,0.00002250974236591255,2.490257634087424e-6,0.00003376461354886884
+0.04,0.00001774407237374435,0.00002274407237374433,2.255927626255648e-6,0.0000341161085606165
+0.044,0.00001793132279600444,0.00002293132279600443,2.068677203995551e-6,0.00003439698419400664
+0.048,0.00001808091853068592,0.0000230809185306859,1.919081469314072e-6,0.00003462137779602886
+0.052,0.00001820041012930617,0.00002320041012930616,1.799589870693818e-6,0.00003480061519395924
+0.056,0.00001829584172383535,0.00002329584172383534,1.704158276164635e-6,0.00003494376258575301
+0.06,0.00001837204915327158,0.00002337204915327156,1.627950846728408e-6,0.00003505807372990735
+0.064,0.00001843289934718111,0.0000234328993471811,1.567100652818871e-6,0.00003514934902077165
+0.068,0.00001848148358139371,0.00002348148358139369,1.518516418606279e-6,0.00003522222537209054
+0.072,0.00001852027204624574,0.00002352027204624573,1.479727953754242e-6,0.0000352804080693686
+0.076,0.00001855123833425574,0.00002355123833425572,1.448761665744252e-6,0.00003532685750138359
+0.08,0.00001857595898535781,0.00002357595898535779,1.424041014642179e-6,0.00003536393847803669
+0.084,0.00001859569312497732,0.0000235956931249773,1.404306875022668e-6,0.00003539353968746595
+0.088,0.00001861144620156202,0.00002361144620156201,1.388553798437966e-6,0.00003541716930234301
+0.092,0.00001862402108653137,0.00002362402108653136,1.375978913468616e-6,0.00003543603162979704
+0.096,0.00001863405884075938,0.00002363405884075937,1.365941159240609e-6,0.00003545108826113906
+0.1,0.00001864207127178561,0.0000236420712717856,1.357928728214386e-6,0.00003546310690767839
+0.104,0.00001864846695706035,0.00002364846695706034,1.351533042939646e-6,0.00003547270043559051
+0.108,0.00001865357208075213,0.00002365357208075212,1.346427919247867e-6,0.00003548035812112818
+0.112,0.00001865764704048443,0.00002365764704048442,1.342352959515569e-6,0.00003548647056072663
+0.116,0.00001866089970034157,0.00002366089970034156,1.339100299658429e-6,0.00003549134955051234
+0.12,0.00001866349598014565,0.00002366349598014564,1.336504019854347e-6,0.00003549524397021846
+0.124,0.0000186655683286453,0.00002366556832864529,1.334431671354699e-6,0.00003549835249296793
+0.128,0.00001866722247374555,0.00002366722247374554,1.332777526254452e-6,0.00003550083371061831
+0.132,0.0000186685428079121,0.00002366854280791209,1.331457192087897e-6,0.00003550281421186814
+0.136,0.00001866959669150238,0.00002366959669150236,1.330403308497626e-6,0.00003550439503725355
+0.14,0.00001867043789438688,0.00002367043789438687,1.329562105613121e-6,0.0000355056568415803
+0.144,0.00001867110933723736,0.00002367110933723734,1.328890662762643e-6,0.00003550666400585601
+0.148,0.00001867164527818636,0.00002367164527818635,1.32835472181364e-6,0.00003550746791727952
+0.152,0.00001867207306203043,0.00002367207306203041,1.327926937969573e-6,0.00003550810959304563
+0.156,0.00001867241451554808,0.00002367241451554807,1.327585484451914e-6,0.0000355086217733221
+0.16,0.00001867268706080211,0.0000236726870608021,1.327312939197885e-6,0.00003550903059120315
+0.164,0.0000186729046047036,0.00002367290460470359,1.327095395296398e-6,0.00003550935690705539
+0.168,0.00001867307824529587,0.00002367307824529585,1.326921754704132e-6,0.00003550961736794378
+0.172,0.00001867321684369252,0.0000236732168436925,1.326783156307481e-6,0.00003550982526553875
+0.176,0.00001867332747214223,0.00002367332747214221,1.326672527857771e-6,0.00003550999120821332
+0.18,0.00001867341577419696,0.00002367341577419694,1.326584225803042e-6,0.00003551012366129542
+0.184,0.00001867348625633764,0.00002367348625633763,1.326513743662354e-6,0.00003551022938450644
+0.188,0.00001867354251443507,0.00002367354251443506,1.326457485564932e-6,0.00003551031377165259
+0.192,0.00001867358741904819,0.00002367358741904818,1.32641258095181e-6,0.00003551038112857227
+0.196,0.00001867362326149052,0.00002367362326149051,1.326376738509479e-6,0.00003551043489223576
+0.2,0.00001867365187051742,0.0000236736518705174,1.326348129482583e-6,0.00003551047780577611
diff --git a/models/sbml-test-suite/cases/semantic/00296/00296-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00296/00296-sbml-l2v4.xml
new file mode 100644
index 0000000..e6a62e9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00296/00296-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00296" id="case00296" name="case00296">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00296/00296-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00296/00296-sbml-l3v1.xml
new file mode 100644
index 0000000..3bcf1f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00296/00296-sbml-l3v1.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00296" id="case00296" name="case00296" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00296/00296-settings.txt b/models/sbml-test-suite/cases/semantic/00296/00296-settings.txt
new file mode 100644
index 0000000..137f6e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00296/00296-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00297/00297-results.csv b/models/sbml-test-suite/cases/semantic/00297/00297-results.csv
new file mode 100644
index 0000000..fd01c2f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00297/00297-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.0015,0.001575
+0.1,0.0008913661436337772,0.001608633856366222,0.001689065549184533
+0.2,0.000794533602182509,0.00170546639781749,0.001790739717708364
+0.3,0.0007082203531791279,0.001791779646820871,0.001881368629161915
+0.4,0.0006312836433834666,0.001868716356616532,0.001962152174447359
+0.5,0.0005627048633617323,0.001937295136638267,0.00203415989347018
+0.6,0.0005015760597313704,0.001998423940268629,0.00209834513728206
+0.7,0.0004470879177627265,0.002052912082237273,0.002155557686349136
+0.8,0.0003985190363029381,0.002101480963697061,0.002206555011881915
+0.9,0.0003552262886905962,0.002144773711309403,0.002252012396874873
+1.,0.0003166367693632446,0.002183363230636755,0.002292531392168593
+1.1,0.0002822392960917793,0.00221776070390822,0.002328648739103631
+1.2,0.0002515785518691043,0.002248421448130895,0.00236084252053744
+1.3,0.000224248603852466,0.002275751396147533,0.00238953896595491
+1.4,0.0001998876134764415,0.002300112386523558,0.002415118005849736
+1.5,0.0001781730467033248,0.002321826953296675,0.002437918300961509
+1.6,0.0001588174215934981,0.002341182578406502,0.002458241707326827
+1.7,0.0001415644726764197,0.00235843552732358,0.002476357303689759
+1.8,0.0001261857781290429,0.002373814221870957,0.002492504932964505
+1.9,0.0001124777268732247,0.002387522273126775,0.002506898386783114
+2.,0.0001002588436397276,0.002399741156360272,0.002519728214178286
+2.1,0.00008936733294317148,0.002410632667056829,0.00253116430040967
+2.2,0.00007965901851636966,0.002420340981483631,0.002541358030557812
+2.3,0.00007100535126103015,0.00242899464873897,0.002550444381175919
+2.4,0.00006329176454280688,0.002436708235457194,0.002558543647230054
+2.5,0.00005641613945750923,0.002443583860542491,0.002565763053569616
+2.6,0.00005028743162706599,0.002449712568372935,0.002572198196791582
+2.7,0.00004482451684625292,0.002455175483153748,0.002577934257311435
+2.8,0.00003995505584291513,0.002460044944157086,0.002583047191364941
+2.9,0.00003561458310676478,0.002464385416893236,0.002587604687737899
+3.,0.00003174563596796735,0.002468254364032034,0.002591667082233635
+3.1,0.00002829698235538313,0.002471703017644618,0.002595288168526849
+3.2,0.00002522297470537336,0.002474777025294628,0.002598515876559359
+3.3,0.00002248290368095478,0.002477517096319047,0.002601392951134999
+3.4,0.00002004050007776385,0.002479959499922238,0.002603957474918349
+3.5,0.00001786342326315667,0.002482136576736845,0.002606243405573687
+3.6,0.00001592284999217479,0.002484077150007827,0.002608281007508218
+3.7,0.00001419309065821435,0.002485806909341787,0.002610097254808877
+3.8,0.00001265123916935295,0.002487348760830649,0.002611716198872181
+3.9,0.00001127688738829353,0.002488723112611708,0.002613159268242293
+4.,0.00001005183486738724,0.002489948165132614,0.002614445573389244
+4.1,8.959865529509507e-6,0.002491040134470492,0.002615592141194016
+4.2,7.986520953328516e-6,0.002492013479046672,0.002616614152999006
+4.3,7.118913942377715e-6,0.002492881086057623,0.002617525140360505
+4.4,6.345559502417497e-6,0.002493654440497583,0.002618337162522463
+4.5,5.656216298790359e-6,0.00249434378370121,0.002619060972886271
+4.6,5.041760157743034e-6,0.002494958239842258,0.002619706151834371
+4.7,4.494054048912938e-6,0.002495505945951088,0.002620281243248642
+4.8,4.005847659802922e-6,0.002495994152340197,0.002620793859957208
+4.9,3.570677174866008e-6,0.002496429322825134,0.002621250788966391
+5.,3.182780796518554e-6,0.002496817219203482,0.002621658080163657
diff --git a/models/sbml-test-suite/cases/semantic/00297/00297-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00297/00297-sbml-l1v2.xml
new file mode 100644
index 0000000..94c4f4f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00297/00297-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00297">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.001" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.05"/>
+      <parameter name="k2" value="1.15"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * S2" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00297/00297-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00297/00297-sbml-l2v4.xml
new file mode 100644
index 0000000..6c5973f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00297/00297-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00297" id="case00297" name="case00297">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05"/>
+      <parameter id="k2" name="k2" value="1.15"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00297/00297-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00297/00297-sbml-l3v1.xml
new file mode 100644
index 0000000..68dec6e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00297/00297-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00297" id="case00297" name="case00297" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05" constant="true"/>
+      <parameter id="k2" name="k2" value="1.15" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00297/00297-settings.txt b/models/sbml-test-suite/cases/semantic/00297/00297-settings.txt
new file mode 100644
index 0000000..4544040
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00297/00297-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00298/00298-results.csv b/models/sbml-test-suite/cases/semantic/00298/00298-results.csv
new file mode 100644
index 0000000..dc4fb24
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00298/00298-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.01499999999999999,0.01575
+0.1,0.01,0.01615,0.0169575
+0.2,0.01,0.0173,0.018165
+0.3,0.01,0.01845,0.0193725
+0.4,0.01,0.0196,0.02058
+0.5,0.01,0.02075,0.0217875
+0.6,0.01,0.02190000000000001,0.02299500000000001
+0.7,0.01,0.02305000000000001,0.02420250000000001
+0.8,0.01,0.02420000000000001,0.02541000000000001
+0.9,0.01,0.02535000000000001,0.02661750000000001
+1.,0.01,0.02650000000000001,0.02782500000000001
+1.1,0.01,0.02765000000000001,0.02903250000000001
+1.2,0.01,0.02880000000000001,0.03024000000000001
+1.3,0.01,0.02995000000000001,0.03144750000000001
+1.4,0.01,0.03110000000000001,0.03265500000000001
+1.5,0.01,0.03225,0.03386250000000001
+1.6,0.01,0.0334,0.03507000000000001
+1.7,0.01,0.03455000000000001,0.03627750000000001
+1.8,0.01,0.03570000000000001,0.03748500000000001
+1.9,0.01,0.03685,0.03869250000000001
+2.,0.01,0.038,0.0399
+2.1,0.01,0.03915,0.0411075
+2.2,0.01,0.0403,0.04231500000000001
+2.3,0.01,0.04145,0.04352250000000001
+2.4,0.01,0.0426,0.04473
+2.5,0.01,0.04375,0.0459375
+2.6,0.01,0.0449,0.047145
+2.7,0.01,0.04605,0.0483525
+2.8,0.01,0.0472,0.04956
+2.9,0.01,0.04835,0.0507675
+3.,0.01,0.0495,0.051975
+3.1,0.01,0.05065,0.0531825
+3.2,0.01,0.0518,0.05439
+3.3,0.01,0.05295,0.0555975
+3.4,0.01,0.0541,0.056805
+3.5,0.01,0.05525,0.0580125
+3.6,0.01,0.05639999999999999,0.05922
+3.7,0.01,0.05755,0.0604275
+3.8,0.01,0.0587,0.061635
+3.9,0.01,0.05985,0.0628425
+4.,0.01,0.06099999999999999,0.06404999999999999
+4.1,0.01,0.06215,0.06525750000000001
+4.2,0.01,0.06329999999999999,0.06646499999999999
+4.3,0.01,0.06444999999999999,0.06767249999999999
+4.4,0.01,0.0656,0.06888000000000001
+4.5,0.01,0.06675,0.07008750000000001
+4.6,0.01,0.0679,0.07129500000000001
+4.7,0.01,0.06905,0.07250249999999999
+4.8,0.01,0.07019999999999999,0.07370999999999999
+4.9,0.01,0.07134999999999999,0.07491749999999999
+5.,0.01,0.07249999999999999,0.07612499999999999
diff --git a/models/sbml-test-suite/cases/semantic/00298/00298-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00298/00298-sbml-l1v2.xml
new file mode 100644
index 0000000..b7a75d5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00298/00298-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00298">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.01" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="0.015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.05"/>
+      <parameter name="k2" value="1.15"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * S2" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00298/00298-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00298/00298-sbml-l2v4.xml
new file mode 100644
index 0000000..b91c6a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00298/00298-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00298" id="case00298" name="case00298">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05"/>
+      <parameter id="k2" name="k2" value="1.15"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00298/00298-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00298/00298-sbml-l3v1.xml
new file mode 100644
index 0000000..904a378
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00298/00298-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00298" id="case00298" name="case00298" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05" constant="true"/>
+      <parameter id="k2" name="k2" value="1.15" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00298/00298-settings.txt b/models/sbml-test-suite/cases/semantic/00298/00298-settings.txt
new file mode 100644
index 0000000..878a0cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00298/00298-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00299/00299-results.csv b/models/sbml-test-suite/cases/semantic/00299/00299-results.csv
new file mode 100644
index 0000000..c176063
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00299/00299-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.005,0.00001209249573760923,0.00001709249573760923,7.90750426239077e-6,0.00002563874360641385
+0.01,0.00001368704797792471,0.00001868704797792471,6.312952022075292e-6,0.00002803057196688707
+0.015,0.00001489921272793638,0.00001989921272793638,5.100787272063622e-6,0.00002984881909190457
+0.02,0.00001581899520987993,0.00002081899520987993,4.181004790120067e-6,0.00003122849281481989
+0.025,0.00001651594551337577,0.00002151594551337577,3.484054486624229e-6,0.00003227391827006366
+0.03,0.00001704348970379981,0.00002204348970379981,2.956510296200193e-6,0.00003306523455569971
+0.035,0.00001744248487141649,0.00002244248487141649,2.557515128583508e-6,0.00003366372730712474
+0.04,0.00001774407237338763,0.00002274407237338763,2.255927626612368e-6,0.00003411610856008146
+0.045,0.00001797192799487097,0.00002297192799487097,2.028072005129036e-6,0.00003445789199230646
+0.05,0.00001814401812582075,0.00002314401812582075,1.855981874179254e-6,0.00003471602718873112
+0.055,0.00001827395680010312,0.00002327395680010312,1.726043199896884e-6,0.00003491093520015467
+0.06,0.000018372049153064,0.000023372049153064,1.627950846935997e-6,0.00003505807372959601
+0.065,0.00001844608934065195,0.00002344608934065195,1.553910659348044e-6,0.00003516913401097793
+0.07,0.00001850196857136068,0.00002350196857136067,1.498031428639319e-6,0.00003525295285704101
+0.075,0.00001854413788969743,0.00002354413788969742,1.455862110302568e-6,0.00003531620683454614
+0.08,0.00001857595898539439,0.00002357595898539439,1.424041014605598e-6,0.00003536393847809159
+0.085,0.00001859997013148862,0.00002359997013148862,1.400029868511367e-6,0.00003539995519723294
+0.09,0.00001861808747638856,0.00002361808747638855,1.381912523611429e-6,0.00003542713121458283
+0.095,0.00001863175733501024,0.00002363175733501024,1.368242664989742e-6,0.00003544763600251537
+0.1,0.00001864207127185694,0.00002364207127185694,1.357928728143043e-6,0.00003546310690778541
+0.105,0.00001864985303963847,0.00002364985303963847,1.350146960361513e-6,0.00003547477955945771
+0.11,0.00001865572424379014,0.00002365572424379014,1.344275756209849e-6,0.00003548358636568521
+0.115,0.00001866015392219222,0.00002366015392219222,1.339846077807762e-6,0.00003549023088328833
+0.12,0.00001866349598014245,0.00002366349598014245,1.336504019857534e-6,0.00003549524397021368
+0.125,0.0000186660174480918,0.0000236660174480918,1.333982551908186e-6,0.0000354990261721377
+0.13,0.00001866791980216173,0.00002366791980216173,1.332080197838254e-6,0.0000355018797032426
+0.135,0.00001866935505432747,0.00002366935505432747,1.33064494567251e-6,0.00003550403258149122
+0.14,0.00001867043789438704,0.00002367043789438704,1.329562105612944e-6,0.00003550565684158057
+0.145,0.00001867125485235063,0.00002367125485235062,1.328745147649362e-6,0.00003550688227852594
+0.15,0.00001867187121051007,0.00002367187121051007,1.328128789489918e-6,0.0000355078068157651
+0.155,0.00001867233622719515,0.00002367233622719515,1.327663772804831e-6,0.00003550850434079273
+0.16,0.00001867268706080205,0.00002367268706080205,1.327312939197939e-6,0.00003550903059120308
+0.165,0.00001867295174951829,0.00002367295174951829,1.327048250481702e-6,0.00003550942762427743
+0.17,0.00001867315144535023,0.00002367315144535023,1.326848554649756e-6,0.00003550972716802535
+0.175,0.00001867330210688425,0.00002367330210688425,1.326697893115732e-6,0.00003550995316032638
+0.18,0.00001867341577419709,0.00002367341577419709,1.326584225802893e-6,0.00003551012366129563
+0.185,0.00001867350153096337,0.00002367350153096337,1.326498469036608e-6,0.00003551025229644506
+0.19,0.00001867356623049349,0.00002367356623049349,1.326433769506497e-6,0.00003551034934574023
+0.195,0.00001867361504342729,0.00002367361504342729,1.326384956572687e-6,0.00003551042256514095
+0.2,0.00001867365187058961,0.00002367365187058961,1.326348129410371e-6,0.00003551047780588442
+0.205,0.00001867367965498853,0.00002367367965498853,1.326320345011449e-6,0.0000355105194824828
+0.21,0.00001867370061702528,0.00002367370061702528,1.326299382974703e-6,0.00003551055092553792
+0.215,0.00001867371643190625,0.00002367371643190625,1.326283568093729e-6,0.00003551057464785938
+0.22,0.00001867372836350228,0.00002367372836350228,1.326271636497703e-6,0.00003551059254525342
+0.225,0.0000186737373653455,0.0000236737373653455,1.326262634654477e-6,0.00003551060604801826
+0.23,0.00001867374415682998,0.00002367374415682998,1.326255843170004e-6,0.00003551061623524497
+0.235,0.00001867374928070279,0.00002367374928070278,1.326250719297198e-6,0.00003551062392105418
+0.24,0.00001867375314644485,0.00002367375314644485,1.326246853555132e-6,0.00003551062971966728
+0.245,0.0000186737560629601,0.0000236737560629601,1.326243937039883e-6,0.00003551063409444015
+0.25,0.00001867375826331989,0.00002367375826331989,1.326241736680093e-6,0.00003551063739497983
diff --git a/models/sbml-test-suite/cases/semantic/00299/00299-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00299/00299-sbml-l1v2.xml
new file mode 100644
index 0000000..c430d7b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00299/00299-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00299">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="2.25e-005" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150000"/>
+      <parameter name="k2" value="50"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S2" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00299/00299-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00299/00299-sbml-l2v4.xml
new file mode 100644
index 0000000..41ea659
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00299/00299-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00299" id="case00299" name="case00299">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00299/00299-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00299/00299-sbml-l3v1.xml
new file mode 100644
index 0000000..9e0cf39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00299/00299-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00299" id="case00299" name="case00299" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00299/00299-settings.txt b/models/sbml-test-suite/cases/semantic/00299/00299-settings.txt
new file mode 100644
index 0000000..3b3afdd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00299/00299-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.25
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00300/00300-results.csv b/models/sbml-test-suite/cases/semantic/00300/00300-results.csv
new file mode 100644
index 0000000..12a4efb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00300/00300-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.005,0.00001,0.00001710487911831287,7.895120881687131e-6,0.0000256573186774693
+0.01,0.00001,0.00001873191196392677,6.268088036073225e-6,0.00002809786794589015
+0.015,0.00001,0.00001998957852669364,5.010421473306353e-6,0.00002998436779004046
+0.02,0.00001,0.00002096173216039829,4.038267839601706e-6,0.00003144259824059744
+0.025,0.00001,0.00002171318806780384,3.286811932196167e-6,0.00003256978210170575
+0.03,0.00001,0.00002229405013432261,2.705949865677384e-6,0.00003344107520148392
+0.035,0.00001,0.00002274304582638413,2.256954173615863e-6,0.0000341145687395762
+0.04,0.00001,0.0000230901112764221,1.909888723577888e-6,0.00003463516691463316
+0.045,0.00001,0.00002335838647741973,1.641613522580262e-6,0.0000350375797161296
+0.05,0.00001,0.00002356575830823674,1.434241691763254e-6,0.00003534863746235512
+0.055,0.00001,0.00002372605284194563,1.273947158054363e-6,0.00003558907926291845
+0.06,0.00001,0.00002384995761376542,1.150042386234579e-6,0.00003577493642064813
+0.065,0.00001,0.00002394573372002216,1.054266279977845e-6,0.00003591860058003324
+0.07,0.00001,0.00002401976689717995,9.802331028200559e-7,0.00003602965034576993
+0.075,0.00001,0.00002407699318601627,9.230068139837328e-7,0.0000361154897790244
+0.08,0.00001,0.00002412122805595294,8.787719440470573e-7,0.00003618184208392942
+0.085,0.00001,0.00002415542081178008,8.445791882199289e-7,0.00003623313121767012
+0.09,0.00001,0.00002418185114456809,8.181488554319109e-7,0.00003627277671685214
+0.095,0.00001,0.0000242022813381054,7.977186618946035e-7,0.0000363034220071581
+0.1,0.00001,0.00002421807349016173,7.819265098382663e-7,0.0000363271102352426
+0.105,0.00001,0.00002423028052836255,7.697194716374517e-7,0.00003634542079254383
+0.11,0.00001,0.00002423971635648785,7.602836435121521e-7,0.00003635957453473178
+0.115,0.00001,0.00002424701006548997,7.529899345100342e-7,0.00003637051509823496
+0.12,0.00001,0.00002425264797938784,7.473520206121649e-7,0.00003637897196908176
+0.125,0.00001,0.00002425700597631542,7.429940236845898e-7,0.00003638550896447313
+0.13,0.00001,0.00002426037463093103,7.396253690689766e-7,0.00003639056194639655
+0.135,0.00001,0.00002426297853875925,7.370214612407579e-7,0.00003639446780813888
+0.14,0.00001,0.00002426499131010161,7.350086898983989e-7,0.00003639748696515242
+0.145,0.00001,0.00002426654714768442,7.334528523155914e-7,0.00003639982072152664
+0.15,0.00001,0.00002426774977934056,7.322502206594565e-7,0.00003640162466901084
+0.155,0.00001,0.0000242686793932274,7.313206067726141e-7,0.0000364030190898411
+0.16,0.00001,0.00002426939796668654,7.306020333134681e-7,0.00003640409695002981
+0.165,0.00001,0.00002426995341137486,7.300465886251492e-7,0.00003640493011706229
+0.17,0.00001,0.00002427038275922635,7.296172407736588e-7,0.00003640557413883954
+0.175,0.00001,0.00002427071463797611,7.292853620239012e-7,0.00003640607195696417
+0.18,0.00001,0.00002427097117371709,7.290288262829218e-7,0.00003640645676057564
+0.185,0.00001,0.00002427116947113472,7.288305288652836e-7,0.00003640675420670209
+0.19,0.00001,0.00002427132275153408,7.286772484659205e-7,0.00003640698412730113
+0.195,0.00001,0.00002427144123445138,7.285587655486241e-7,0.00003640716185167707
+0.2,0.00001,0.00002427153281955091,7.284671804490967e-7,0.00003640729922932636
+0.205,0.00001,0.00002427160361313301,7.28396386866997e-7,0.00003640740541969951
+0.21,0.00001,0.00002427165833532742,7.283416646725869e-7,0.00003640748750299113
+0.215,0.00001,0.00002427170063435841,7.282993656415926e-7,0.00003640755095153761
+0.22,0.00001,0.00002427173333088942,7.282666691105877e-7,0.00003640759999633413
+0.225,0.00001,0.00002427175860476242,7.282413952375808e-7,0.00003640763790714364
+0.23,0.00001,0.00002427177814089945,7.282218591005526e-7,0.00003640766721134918
+0.235,0.00001,0.00002427179324195777,7.282067580422307e-7,0.00003640768986293666
+0.24,0.00001,0.0000242718049148763,7.281950851236995e-7,0.00003640770737231445
+0.245,0.00001,0.00002427181393780651,7.281860621934876e-7,0.00003640772090670977
+0.25,0.00001,0.00002427182091232273,7.281790876772761e-7,0.00003640773136848409
diff --git a/models/sbml-test-suite/cases/semantic/00300/00300-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00300/00300-sbml-l1v2.xml
new file mode 100644
index 0000000..bf99a3a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00300/00300-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00300">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="2.25e-005" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150000"/>
+      <parameter name="k2" value="50"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S2" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00300/00300-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00300/00300-sbml-l2v4.xml
new file mode 100644
index 0000000..e4bd765
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00300/00300-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00300" id="case00300" name="case00300">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00300/00300-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00300/00300-sbml-l3v1.xml
new file mode 100644
index 0000000..afadd80
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00300/00300-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00300" id="case00300" name="case00300" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00300/00300-settings.txt b/models/sbml-test-suite/cases/semantic/00300/00300-settings.txt
new file mode 100644
index 0000000..3b3afdd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00300/00300-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.25
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00301/00301-results.csv b/models/sbml-test-suite/cases/semantic/00301/00301-results.csv
new file mode 100644
index 0000000..b531a63
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00301/00301-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.005,0.00001236385882669399,0.00001736385882669399,0.00001,0.000026045788240041
+0.01,0.00001467562687083897,0.00001967562687083897,0.00001,0.00002951344030625846
+0.015,0.00001692862958032926,0.00002192862958032926,0.00001,0.00003289294437049389
+0.02,0.00001911695613109738,0.00002411695613109738,0.00001,0.00003617543419664607
+0.025,0.00002123550027028006,0.00002623550027028006,0.00001,0.0000393532504054201
+0.03,0.00002327998216136619,0.00002827998216136619,0.00001,0.00004241997324204929
+0.035,0.00002524695121794984,0.00003024695121794984,0.00001,0.00004537042682692476
+0.04,0.00002713377223912128,0.00003213377223912128,0.00001,0.00004820065835868192
+0.045,0.00002893859661424524,0.00003393859661424524,0.00001,0.00005090789492136786
+0.05,0.00003066032047380045,0.00003566032047380045,0.00001,0.00005349048071070068
+0.055,0.00003229853454772642,0.00003729853454772643,0.00001,0.00005594780182158964
+0.06,0.00003385346314184815,0.00003885346314184817,0.00001,0.00005828019471277225
+0.065,0.00003532590186136812,0.00004032590186136813,0.00001,0.0000604888527920522
+0.07,0.00003671715025209521,0.00004171715025209522,0.00001,0.00006257572537814283
+0.075,0.00003802894417584136,0.00004302894417584138,0.00001,0.00006454341626376207
+0.08,0.00003926338921261861,0.00004426338921261862,0.00001,0.00006639508381892793
+0.085,0.00004042289653523348,0.00004542289653523349,0.00001,0.00006813434480285024
+0.09,0.00004151012189925619,0.0000465101218992562,0.00001,0.00006976518284888431
+0.095,0.0000425279093388625,0.00004752790933886251,0.00001,0.00007129186400829377
+0.1,0.00004347923945403707,0.00004847923945403708,0.00001,0.00007271885918105562
+0.105,0.0000443671829520987,0.00004936718295209871,0.00001,0.00007405077442814808
+0.11,0.00004519485947651802,0.00005019485947651803,0.00001,0.00007529228921477704
+0.115,0.00004596540167207659,0.0000509654016720766,0.00001,0.0000764481025081149
+0.12,0.0000466819242675087,0.00005168192426750871,0.00001,0.00007752288640126307
+0.125,0.00004734749817192053,0.00005234749817192054,0.00001,0.00007852124725788081
+0.13,0.00004796512865639446,0.00005296512865639447,0.00001,0.0000794476929845917
+0.135,0.00004853773815888025,0.00005353773815888027,0.00001,0.0000803066072383204
+0.14,0.00004906815240976752,0.00005406815240976753,0.00001,0.0000811022286146513
+0.145,0.00004955908927485755,0.00005455908927485757,0.00001,0.00008183863391228636
+0.15,0.00005001315234175096,0.00005501315234175098,0.00001,0.00008251972851262647
+0.155,0.00005043282497123972,0.00005543282497123973,0.00001,0.0000831492374568596
+0.16,0.0000508204675423752,0.00005582046754237522,0.00001,0.00008373070131356283
+0.165,0.00005117831630186701,0.00005617831630186702,0.00001,0.00008426747445280054
+0.17,0.00005150848372509027,0.00005650848372509028,0.00001,0.00008476272558763542
+0.175,0.00005181296011701387,0.00005681296011701389,0.00001,0.00008521944017552084
+0.18,0.00005209361621193541,0.00005709361621193542,0.00001,0.00008564042431790313
+0.185,0.00005235220656034257,0.00005735220656034259,0.00001,0.00008602830984051387
+0.19,0.00005259037351908433,0.00005759037351908435,0.00001,0.00008638556027862652
+0.195,0.00005280965168684426,0.00005780965168684427,0.00001,0.00008671447753026641
+0.2,0.00005301147265051013,0.00005801147265051014,0.00001,0.00008701720897576521
+0.205,0.00005319716992930403,0.00005819716992930404,0.00001,0.00008729575489395607
+0.21,0.00005336798426376741,0.00005836798426376743,0.00001,0.00008755197639565115
+0.215,0.00005352506787080284,0.00005852506787080285,0.00001,0.00008778760180620428
+0.22,0.00005366949031873181,0.00005866949031873182,0.00001,0.00008800423547809774
+0.225,0.00005380224332962554,0.00005880224332962555,0.00001,0.00008820336499443834
+0.23,0.00005392424558161021,0.00005892424558161022,0.00001,0.00008838636837241533
+0.235,0.0000540363473330359,0.00005903634733303591,0.00001,0.00008855452099955387
+0.24,0.00005413933467400823,0.00005913933467400824,0.00001,0.00008870900201101236
+0.245,0.00005423393362360092,0.00005923393362360093,0.00001,0.0000888509004354014
+0.25,0.000054320815427049,0.00005932081542704901,0.00001,0.00008898122314057353
diff --git a/models/sbml-test-suite/cases/semantic/00301/00301-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00301/00301-sbml-l1v2.xml
new file mode 100644
index 0000000..2b6b729
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00301/00301-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00301">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance" boundaryCondition="true"/>
+      <species name="S4" compartment="compartment" initialAmount="2.25e-005" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150000"/>
+      <parameter name="k2" value="50"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S2" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00301/00301-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00301/00301-sbml-l2v4.xml
new file mode 100644
index 0000000..2605dc2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00301/00301-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00301" id="case00301" name="case00301">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00301/00301-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00301/00301-sbml-l3v1.xml
new file mode 100644
index 0000000..11d8bed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00301/00301-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00301" id="case00301" name="case00301" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00301/00301-settings.txt b/models/sbml-test-suite/cases/semantic/00301/00301-settings.txt
new file mode 100644
index 0000000..3b3afdd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00301/00301-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.25
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00302/00302-results.csv b/models/sbml-test-suite/cases/semantic/00302/00302-results.csv
new file mode 100644
index 0000000..b531a63
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00302/00302-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.005,0.00001236385882669399,0.00001736385882669399,0.00001,0.000026045788240041
+0.01,0.00001467562687083897,0.00001967562687083897,0.00001,0.00002951344030625846
+0.015,0.00001692862958032926,0.00002192862958032926,0.00001,0.00003289294437049389
+0.02,0.00001911695613109738,0.00002411695613109738,0.00001,0.00003617543419664607
+0.025,0.00002123550027028006,0.00002623550027028006,0.00001,0.0000393532504054201
+0.03,0.00002327998216136619,0.00002827998216136619,0.00001,0.00004241997324204929
+0.035,0.00002524695121794984,0.00003024695121794984,0.00001,0.00004537042682692476
+0.04,0.00002713377223912128,0.00003213377223912128,0.00001,0.00004820065835868192
+0.045,0.00002893859661424524,0.00003393859661424524,0.00001,0.00005090789492136786
+0.05,0.00003066032047380045,0.00003566032047380045,0.00001,0.00005349048071070068
+0.055,0.00003229853454772642,0.00003729853454772643,0.00001,0.00005594780182158964
+0.06,0.00003385346314184815,0.00003885346314184817,0.00001,0.00005828019471277225
+0.065,0.00003532590186136812,0.00004032590186136813,0.00001,0.0000604888527920522
+0.07,0.00003671715025209521,0.00004171715025209522,0.00001,0.00006257572537814283
+0.075,0.00003802894417584136,0.00004302894417584138,0.00001,0.00006454341626376207
+0.08,0.00003926338921261861,0.00004426338921261862,0.00001,0.00006639508381892793
+0.085,0.00004042289653523348,0.00004542289653523349,0.00001,0.00006813434480285024
+0.09,0.00004151012189925619,0.0000465101218992562,0.00001,0.00006976518284888431
+0.095,0.0000425279093388625,0.00004752790933886251,0.00001,0.00007129186400829377
+0.1,0.00004347923945403707,0.00004847923945403708,0.00001,0.00007271885918105562
+0.105,0.0000443671829520987,0.00004936718295209871,0.00001,0.00007405077442814808
+0.11,0.00004519485947651802,0.00005019485947651803,0.00001,0.00007529228921477704
+0.115,0.00004596540167207659,0.0000509654016720766,0.00001,0.0000764481025081149
+0.12,0.0000466819242675087,0.00005168192426750871,0.00001,0.00007752288640126307
+0.125,0.00004734749817192053,0.00005234749817192054,0.00001,0.00007852124725788081
+0.13,0.00004796512865639446,0.00005296512865639447,0.00001,0.0000794476929845917
+0.135,0.00004853773815888025,0.00005353773815888027,0.00001,0.0000803066072383204
+0.14,0.00004906815240976752,0.00005406815240976753,0.00001,0.0000811022286146513
+0.145,0.00004955908927485755,0.00005455908927485757,0.00001,0.00008183863391228636
+0.15,0.00005001315234175096,0.00005501315234175098,0.00001,0.00008251972851262647
+0.155,0.00005043282497123972,0.00005543282497123973,0.00001,0.0000831492374568596
+0.16,0.0000508204675423752,0.00005582046754237522,0.00001,0.00008373070131356283
+0.165,0.00005117831630186701,0.00005617831630186702,0.00001,0.00008426747445280054
+0.17,0.00005150848372509027,0.00005650848372509028,0.00001,0.00008476272558763542
+0.175,0.00005181296011701387,0.00005681296011701389,0.00001,0.00008521944017552084
+0.18,0.00005209361621193541,0.00005709361621193542,0.00001,0.00008564042431790313
+0.185,0.00005235220656034257,0.00005735220656034259,0.00001,0.00008602830984051387
+0.19,0.00005259037351908433,0.00005759037351908435,0.00001,0.00008638556027862652
+0.195,0.00005280965168684426,0.00005780965168684427,0.00001,0.00008671447753026641
+0.2,0.00005301147265051013,0.00005801147265051014,0.00001,0.00008701720897576521
+0.205,0.00005319716992930403,0.00005819716992930404,0.00001,0.00008729575489395607
+0.21,0.00005336798426376741,0.00005836798426376743,0.00001,0.00008755197639565115
+0.215,0.00005352506787080284,0.00005852506787080285,0.00001,0.00008778760180620428
+0.22,0.00005366949031873181,0.00005866949031873182,0.00001,0.00008800423547809774
+0.225,0.00005380224332962554,0.00005880224332962555,0.00001,0.00008820336499443834
+0.23,0.00005392424558161021,0.00005892424558161022,0.00001,0.00008838636837241533
+0.235,0.0000540363473330359,0.00005903634733303591,0.00001,0.00008855452099955387
+0.24,0.00005413933467400823,0.00005913933467400824,0.00001,0.00008870900201101236
+0.245,0.00005423393362360092,0.00005923393362360093,0.00001,0.0000888509004354014
+0.25,0.000054320815427049,0.00005932081542704901,0.00001,0.00008898122314057353
diff --git a/models/sbml-test-suite/cases/semantic/00302/00302-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00302/00302-sbml-l1v2.xml
new file mode 100644
index 0000000..d6efa98
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00302/00302-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00302">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1e-005" units="substance" boundaryCondition="true"/>
+      <species name="S4" compartment="compartment" initialAmount="2.25e-005" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="150000"/>
+      <parameter name="k2" value="50"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S2" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00302/00302-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00302/00302-sbml-l2v4.xml
new file mode 100644
index 0000000..759f78c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00302/00302-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00302" id="case00302" name="case00302">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00302/00302-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00302/00302-sbml-l3v1.xml
new file mode 100644
index 0000000..7b8433f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00302/00302-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00302" id="case00302" name="case00302" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00302/00302-settings.txt b/models/sbml-test-suite/cases/semantic/00302/00302-settings.txt
new file mode 100644
index 0000000..3b3afdd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00302/00302-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.25
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00303/00303-results.csv b/models/sbml-test-suite/cases/semantic/00303/00303-results.csv
new file mode 100644
index 0000000..19d1a74
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00303/00303-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.00015,0.0001575
+0.1,0.0001,0.0001615,0.000169575
+0.2,0.0001,0.000173,0.00018165
+0.3,0.0001,0.0001845,0.000193725
+0.4,0.0001,0.0001959999999999999,0.0002058
+0.5,0.0001,0.0002075,0.000217875
+0.6,0.0001,0.000219,0.00022995
+0.7,0.0001,0.0002305,0.000242025
+0.8,0.0001,0.000242,0.0002541
+0.9,0.0001,0.0002535,0.000266175
+1.,0.0001,0.000265,0.00027825
+1.1,0.0001,0.0002765,0.000290325
+1.2,0.0001,0.000288,0.0003024
+1.3,0.0001,0.0002995,0.000314475
+1.4,0.0001,0.000311,0.00032655
+1.5,0.0001,0.0003225,0.000338625
+1.6,0.0001,0.000334,0.0003507
+1.7,0.0001,0.0003455,0.000362775
+1.8,0.0001,0.000357,0.00037485
+1.9,0.0001,0.0003685,0.000386925
+2.,0.0001,0.0003799999999999999,0.0003989999999999999
+2.1,0.0001,0.0003914999999999999,0.000411075
+2.2,0.0001,0.0004029999999999999,0.00042315
+2.3,0.0001,0.0004144999999999999,0.000435225
+2.4,0.0001,0.000426,0.0004473
+2.5,0.0001,0.0004374999999999999,0.0004593749999999999
+2.6,0.0001,0.0004489999999999999,0.0004714499999999999
+2.7,0.0001,0.0004604999999999999,0.000483525
+2.8,0.0001,0.000472,0.0004956
+2.9,0.0001,0.0004835,0.000507675
+3.,0.0001,0.000495,0.00051975
+3.1,0.0001,0.0005065,0.0005318249999999999
+3.2,0.0001,0.000518,0.0005439
+3.3,0.0001,0.0005295,0.000555975
+3.4,0.0001,0.000541,0.00056805
+3.5,0.0001,0.0005525,0.000580125
+3.6,0.0001,0.000564,0.0005922
+3.7,0.0001,0.0005755,0.000604275
+3.8,0.0001,0.000587,0.0006163500000000001
+3.9,0.0001,0.0005985,0.000628425
+4.,0.0001,0.00061,0.0006405000000000001
+4.1,0.0001,0.0006215000000000002,0.0006525750000000002
+4.2,0.0001,0.0006330000000000001,0.0006646500000000001
+4.3,0.0001,0.0006445000000000001,0.000676725
+4.4,0.0001,0.0006560000000000001,0.0006888000000000001
+4.5,0.0001,0.0006675000000000001,0.0007008750000000001
+4.6,0.0001,0.0006790000000000001,0.0007129500000000001
+4.7,0.0001,0.0006905000000000001,0.0007250250000000001
+4.8,0.0001,0.0007020000000000001,0.0007371000000000001
+4.9,0.0001,0.0007135,0.000749175
+5.,0.0001,0.000725,0.0007612500000000001
diff --git a/models/sbml-test-suite/cases/semantic/00303/00303-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00303/00303-sbml-l1v2.xml
new file mode 100644
index 0000000..92a7e98
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00303/00303-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00303">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0001" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="0.00015" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.05"/>
+      <parameter name="k2" value="1.15"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * S2" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00303/00303-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00303/00303-sbml-l2v4.xml
new file mode 100644
index 0000000..cd685b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00303/00303-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00303" id="case00303" name="case00303">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05"/>
+      <parameter id="k2" name="k2" value="1.15"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00303/00303-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00303/00303-sbml-l3v1.xml
new file mode 100644
index 0000000..b59f6e9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00303/00303-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00303" id="case00303" name="case00303" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05" constant="true"/>
+      <parameter id="k2" name="k2" value="1.15" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00303/00303-settings.txt b/models/sbml-test-suite/cases/semantic/00303/00303-settings.txt
new file mode 100644
index 0000000..53db0cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00303/00303-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00304/00304-results.csv b/models/sbml-test-suite/cases/semantic/00304/00304-results.csv
new file mode 100644
index 0000000..7726d60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00304/00304-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.15,0.1575
+0.1,0.1,0.1615,0.169575
+0.2,0.1,0.173,0.18165
+0.3,0.1,0.1845,0.193725
+0.4,0.1,0.196,0.2058
+0.5,0.1,0.2075,0.217875
+0.6,0.1,0.219,0.22995
+0.7,0.1,0.2305,0.242025
+0.8,0.1,0.242,0.2541
+0.9,0.1,0.2535,0.2661749999999999
+1.,0.1,0.265,0.27825
+1.1,0.1,0.2765,0.290325
+1.2,0.1,0.288,0.3024
+1.3,0.1,0.2995,0.314475
+1.4,0.1,0.311,0.32655
+1.5,0.1,0.3225,0.338625
+1.6,0.1,0.334,0.3507
+1.7,0.1,0.3455,0.3627750000000001
+1.8,0.1,0.357,0.37485
+1.9,0.1,0.3685,0.386925
+2.,0.1,0.38,0.399
+2.1,0.1,0.3915,0.411075
+2.2,0.1,0.403,0.42315
+2.3,0.1,0.4145,0.4352250000000001
+2.4,0.1,0.4260000000000001,0.4473000000000001
+2.5,0.1,0.4375,0.459375
+2.6,0.1,0.449,0.47145
+2.7,0.1,0.4605,0.483525
+2.8,0.1,0.472,0.4956000000000001
+2.9,0.1,0.4835000000000001,0.5076750000000001
+3.,0.1,0.495,0.51975
+3.1,0.1,0.5065,0.5318250000000001
+3.2,0.1,0.518,0.5439
+3.3,0.1,0.5295,0.5559750000000001
+3.4,0.1,0.541,0.56805
+3.5,0.1,0.5524999999999999,0.580125
+3.6,0.1,0.564,0.5922
+3.7,0.1,0.5755,0.604275
+3.8,0.1,0.587,0.61635
+3.9,0.1,0.5985,0.628425
+4.,0.1,0.6099999999999999,0.6404999999999999
+4.1,0.1,0.6215,0.6525750000000001
+4.2,0.1,0.633,0.66465
+4.3,0.1,0.6445,0.6767250000000001
+4.4,0.1,0.6560000000000001,0.6888000000000001
+4.5,0.1,0.6675,0.7008750000000001
+4.6,0.1,0.6790000000000001,0.7129500000000001
+4.7,0.1,0.6905000000000001,0.7250250000000001
+4.8,0.1,0.7020000000000001,0.7371000000000002
+4.9,0.1,0.7135000000000001,0.7491750000000001
+5.,0.1,0.725,0.76125
diff --git a/models/sbml-test-suite/cases/semantic/00304/00304-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00304/00304-sbml-l2v4.xml
new file mode 100644
index 0000000..6fd82c3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00304/00304-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00304" id="case00304" name="case00304">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" boundaryCondition="true" constant="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05"/>
+      <parameter id="k2" name="k2" value="1.15"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00304/00304-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00304/00304-sbml-l3v1.xml
new file mode 100644
index 0000000..9cb8d2a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00304/00304-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00304" id="case00304" name="case00304" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05" constant="true"/>
+      <parameter id="k2" name="k2" value="1.15" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00304/00304-settings.txt b/models/sbml-test-suite/cases/semantic/00304/00304-settings.txt
new file mode 100644
index 0000000..01ff453
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00304/00304-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00305/00305-results.csv b/models/sbml-test-suite/cases/semantic/00305/00305-results.csv
new file mode 100644
index 0000000..63674cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00305/00305-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.0015,0.001575
+0.1,0.0008913661436337772,0.0015,0.001575
+0.2,0.000794533602182509,0.0015,0.001575
+0.3,0.0007082203531791279,0.0015,0.001575
+0.4,0.0006312836433834666,0.0015,0.001575
+0.5,0.0005627048633617323,0.0015,0.001575
+0.6,0.0005015760597313704,0.0015,0.001575
+0.7,0.0004470879177627265,0.0015,0.001575
+0.8,0.0003985190363029381,0.0015,0.001575
+0.9,0.0003552262886905962,0.0015,0.001575
+1.,0.0003166367693632446,0.0015,0.001575
+1.1,0.0002822392960917793,0.0015,0.001575
+1.2,0.0002515785518691043,0.0015,0.001575
+1.3,0.000224248603852466,0.0015,0.001575
+1.4,0.0001998876134764415,0.0015,0.001575
+1.5,0.0001781730467033248,0.0015,0.001575
+1.6,0.0001588174215934981,0.0015,0.001575
+1.7,0.0001415644726764197,0.0015,0.001575
+1.8,0.0001261857781290429,0.0015,0.001575
+1.9,0.0001124777268732247,0.0015,0.001575
+2.,0.0001002588436397276,0.0015,0.001575
+2.1,0.00008936733294317148,0.0015,0.001575
+2.2,0.00007965901851636966,0.0015,0.001575
+2.3,0.00007100535126103015,0.0015,0.001575
+2.4,0.00006329176454280688,0.0015,0.001575
+2.5,0.00005641613945750923,0.0015,0.001575
+2.6,0.00005028743162706599,0.0015,0.001575
+2.7,0.00004482451684625292,0.0015,0.001575
+2.8,0.00003995505584291513,0.0015,0.001575
+2.9,0.00003561458310676478,0.0015,0.001575
+3.,0.00003174563596796735,0.0015,0.001575
+3.1,0.00002829698235538313,0.0015,0.001575
+3.2,0.00002522297470537336,0.0015,0.001575
+3.3,0.00002248290368095478,0.0015,0.001575
+3.4,0.00002004050007776385,0.0015,0.001575
+3.5,0.00001786342326315667,0.0015,0.001575
+3.6,0.00001592284999217479,0.0015,0.001575
+3.7,0.00001419309065821435,0.0015,0.001575
+3.8,0.00001265123916935295,0.0015,0.001575
+3.9,0.00001127688738829353,0.0015,0.001575
+4.,0.00001005183486738724,0.0015,0.001575
+4.1,8.959865529509507e-6,0.0015,0.001575
+4.2,7.986520953328516e-6,0.0015,0.001575
+4.3,7.118913942377715e-6,0.0015,0.001575
+4.4,6.345559502417497e-6,0.0015,0.001575
+4.5,5.656216298790359e-6,0.0015,0.001575
+4.6,5.041760157743034e-6,0.0015,0.001575
+4.7,4.494054048912938e-6,0.0015,0.001575
+4.8,4.005847659802922e-6,0.0015,0.001575
+4.9,3.570677174866008e-6,0.0015,0.001575
+5.,3.182780796518554e-6,0.0015,0.001575
diff --git a/models/sbml-test-suite/cases/semantic/00305/00305-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00305/00305-sbml-l2v4.xml
new file mode 100644
index 0000000..9f4a79c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00305/00305-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00305" id="case00305" name="case00305">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" boundaryCondition="true" constant="true"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05"/>
+      <parameter id="k2" name="k2" value="1.15"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00305/00305-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00305/00305-sbml-l3v1.xml
new file mode 100644
index 0000000..cf6aa7e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00305/00305-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00305" id="case00305" name="case00305" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="true"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05" constant="true"/>
+      <parameter id="k2" name="k2" value="1.15" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00305/00305-settings.txt b/models/sbml-test-suite/cases/semantic/00305/00305-settings.txt
new file mode 100644
index 0000000..4544040
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00305/00305-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00306/00306-results.csv b/models/sbml-test-suite/cases/semantic/00306/00306-results.csv
new file mode 100644
index 0000000..f23d4c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00306/00306-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.04,0.00001181269243950347,0.000015,8.187307560496523e-6,0.0000225
+0.08,0.00001329679949529948,0.000015,6.703200504700524e-6,0.0000225
+0.12,0.00001451188363500052,0.000015,5.488116364999478e-6,0.0000225
+0.16,0.0000155067103387363,0.000015,4.493289661263701e-6,0.0000225
+0.2,0.0000163212056488141,0.000015,3.678794351185893e-6,0.0000225
+0.24,0.00001698805772661118,0.000015,3.011942273388824e-6,0.0000225
+0.28,0.0000175340301908377,0.000015,2.4659698091623e-6,0.0000225
+0.32,0.00001798103462950329,0.000015,2.018965370496706e-6,0.0000225
+0.36,0.00001834701093856391,0.000015,1.652989061436087e-6,0.0000225
+0.4,0.00001864664696694272,0.000015,1.35335303305728e-6,0.0000225
+0.44,0.00001889196826198845,0.000015,1.108031738011545e-6,0.0000225
+0.48,0.00001909282027605377,0.000015,9.071797239462247e-7,0.0000225
+0.52,0.00001925726397726824,0.000015,7.427360227317519e-7,0.0000225
+0.56,0.00001939189912360932,0.000015,6.081008763906769e-7,0.0000225
+0.6,0.00001950212910869494,0.000015,4.97870891305056e-7,0.0000225
+0.64,0.00001959237769259286,0.000015,4.076223074071384e-7,0.0000225
+0.68,0.00001966626706345103,0.000015,3.337329365489705e-7,0.0000225
+0.72,0.00001972676250080719,0.000015,2.732374991928057e-7,0.0000225
+0.76,0.00001977629202369675,0.000015,2.237079763032458e-7,0.0000225
+0.8,0.00001981684333124825,0.000015,1.831566687517424e-7,0.0000225
+0.84,0.00001985004395964852,0.000015,1.499560403514768e-7,0.0000225
+0.88,0.0000198772263169336,0.000015,1.22773683066396e-7,0.0000225
+0.92,0.00001989948136064214,0.000015,1.00518639357854e-7,0.0000225
+0.96,0.00001991770224196597,0.000015,8.229775803402673e-8,0.0000225
+1.,0.00001993262024161047,0.000015,6.737975838952638e-8,0.0000225
+1.04,0.00001994483406531728,0.000015,5.516593468271173e-8,0.0000225
+1.08,0.00001995483389794684,0.000015,4.516610205314272e-8,0.0000225
+1.12,0.00001996302106996777,0.000015,3.697893003221427e-8,0.0000225
+1.16,0.00001996972415721242,0.000015,3.027584278757348e-8,0.0000225
+1.2,0.00001997521218346747,0.000015,2.478781653251318e-8,0.0000225
+1.24,0.00001997970539659927,0.000015,2.029460340071726e-8,0.0000225
+1.28,0.00001998338413103675,0.000015,1.661586896323275e-8,0.0000225
+1.32,0.00001998639602152987,0.000015,1.360397847011456e-8,0.0000225
+1.36,0.00001998886195118705,0.000015,1.113804881293704e-8,0.0000225
+1.4,0.00001999088088160168,0.000015,9.11911839830172e-9,0.0000225
+1.44,0.0000199925338437707,0.000015,7.466156229288937e-9,0.0000225
+1.48,0.00001999388717325059,0.000015,6.112826749395009e-9,0.0000225
+1.52,0.00001999499518693616,0.000015,5.004813063829089e-9,0.0000225
+1.56,0.00001999590235082773,0.000015,4.097649172251592e-9,0.0000225
+1.6,0.0000199966450745792,0.000015,3.354925420785463e-9,0.0000225
+1.64,0.00001999725316475567,0.000015,2.746835244312324e-9,0.0000225
+1.68,0.0000199977510273304,0.000015,2.248972669583591e-9,0.0000225
+1.72,0.00001999815864240303,0.000015,1.84135759695538e-9,0.0000225
+1.76,0.00001999849236962609,0.000015,1.507630373896863e-9,0.0000225
+1.8,0.00001999876560221248,0.000015,1.234397787515059e-9,0.0000225
+1.84,0.0000199989893062276,0.000015,1.010693772389339e-9,0.0000225
+1.88,0.000019999172459532,0.000015,8.27540467987845e-10,0.0000225
+1.92,0.00001999932241279431,0.000015,6.775872056846857e-10,0.0000225
+1.96,0.00001999944518414304,0.000015,5.548158569514752e-10,0.0000225
+2.,0.00001999954570078408,0.000015,4.542992159043917e-10,0.0000225
diff --git a/models/sbml-test-suite/cases/semantic/00306/00306-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00306/00306-sbml-l2v4.xml
new file mode 100644
index 0000000..19f532a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00306/00306-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00306" id="case00306" name="case00306">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" boundaryCondition="true" constant="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.005"/>
+      <parameter id="k2" name="k2" value="5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00306/00306-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00306/00306-sbml-l3v1.xml
new file mode 100644
index 0000000..8389649
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00306/00306-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00306" id="case00306" name="case00306" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.005" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00306/00306-settings.txt b/models/sbml-test-suite/cases/semantic/00306/00306-settings.txt
new file mode 100644
index 0000000..324e199
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00306/00306-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00307/00307-results.csv b/models/sbml-test-suite/cases/semantic/00307/00307-results.csv
new file mode 100644
index 0000000..11a116a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00307/00307-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.04,0.00001199999996470464,0.00001699999996470464,0.00001,0.00002549999994705697
+0.08,0.00001399999991781661,0.00001899999991781661,0.00001,0.00002849999987672492
+0.12,0.00001599999985774994,0.00002099999985774994,0.00001,0.00003149999978662491
+0.16,0.00001799999978288327,0.00002299999978288328,0.00001,0.00003449999967432492
+0.2,0.00001999999969161661,0.00002499999969161661,0.00001,0.00003749999953742492
+0.24,0.00002199999958234995,0.00002699999958234995,0.00001,0.00004049999937352492
+0.28,0.00002399999945348329,0.00002899999945348329,0.00001,0.00004349999918022493
+0.32,0.00002599999930341663,0.00003099999930341663,0.00001,0.00004649999895512494
+0.36,0.00002799999913054997,0.00003299999913054997,0.00001,0.00004949999869582496
+0.4,0.00002999999893328331,0.00003499999893328332,0.00001,0.00005249999839992498
+0.44,0.00003199999871001666,0.00003699999871001666,0.00001,0.000055499998065025
+0.48,0.00003399999845915001,0.00003899999845915001,0.00001,0.00005849999768872502
+0.52,0.00003599999817908338,0.00004099999817908338,0.00001,0.00006149999726862506
+0.56,0.00003799999786821674,0.00004299999786821674,0.00001,0.00006449999680232512
+0.6,0.00003999999752495011,0.00004499999752495011,0.00001,0.00006749999628742517
+0.64,0.00004199999714768349,0.00004699999714768349,0.00001,0.00007049999572152524
+0.68,0.00004399999673481689,0.00004899999673481689,0.00001,0.00007349999510222533
+0.72,0.00004599999628475028,0.00005099999628475028,0.00001,0.00007649999442712543
+0.76,0.00004799999579588369,0.00005299999579588369,0.00001,0.00007949999369382554
+0.8,0.00004999999526661712,0.00005499999526661712,0.00001,0.00008249999289992568
+0.84,0.00005199999469535056,0.00005699999469535056,0.00001,0.00008549999204302584
+0.88,0.00005399999408048402,0.00005899999408048402,0.00001,0.00008849999112072603
+0.92,0.0000559999934204175,0.0000609999934204175,0.00001,0.00009149999013062626
+0.96,0.000057999992713551,0.00006299999271355099,0.00001,0.00009449998907032648
+1.,0.00005999999195828452,0.00006499999195828452,0.00001,0.00009749998793742678
+1.04,0.00006199999115301808,0.00006699999115301808,0.00001,0.0001004999867295271
+1.08,0.00006399999029615166,0.00006899999029615166,0.00001,0.0001034999854442275
+1.12,0.00006599998938608526,0.00007099998938608526,0.00001,0.0001064999840791279
+1.16,0.0000679999884212189,0.0000729999884212189,0.00001,0.0001094999826318283
+1.2,0.00006999998739995259,0.00007499998739995259,0.00001,0.0001124999810999288
+1.24,0.00007199998632068631,0.00007699998632068631,0.00001,0.0001154999794810294
+1.28,0.00007399998518182006,0.00007899998518182006,0.00001,0.0001184999777727301
+1.32,0.00007599998398175389,0.00008099998398175389,0.00001,0.0001214999759726308
+1.36,0.00007799998271888774,0.00008299998271888774,0.00001,0.0001244999740783316
+1.4,0.00007999998139162165,0.00008499998139162165,0.00001,0.0001274999720874324
+1.44,0.00008199997999835564,0.00008699997999835564,0.00001,0.0001304999699975334
+1.48,0.00008399997853748969,0.00008899997853748969,0.00001,0.0001334999678062345
+1.52,0.0000859999770074238,0.0000909999770074238,0.00001,0.0001364999655111357
+1.56,0.00008799997540655799,0.00009299997540655799,0.00001,0.0001394999631098369
+1.6,0.00008999997373329227,0.00009499997373329227,0.00001,0.0001424999605999384
+1.64,0.0000919999719860266,0.0000969999719860266,0.00001,0.0001454999579790399
+1.68,0.00009399997016316104,0.00009899997016316104,0.00001,0.0001484999552447415
+1.72,0.00009599996826309558,0.0001009999682630955,0.00001,0.0001514999523946433
+1.76,0.00009799996628423021,0.0001029999662842302,0.00001,0.0001544999494263453
+1.8,0.00009999996422496495,0.0001049999642249649,0.00001,0.0001574999463374474
+1.84,0.0001019999620836998,0.0001069999620836998,0.00001,0.0001604999431255497
+1.88,0.0001039999598588347,0.0001089999598588347,0.00001,0.0001634999397882521
+1.92,0.0001059999575487698,0.0001109999575487698,0.00001,0.0001664999363231548
+1.96,0.0001079999551519051,0.0001129999551519051,0.00001,0.0001694999327278577
+2.,0.0001099999526666405,0.0001149999526666405,0.00001,0.0001724999289999608
diff --git a/models/sbml-test-suite/cases/semantic/00307/00307-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00307/00307-sbml-l2v4.xml
new file mode 100644
index 0000000..ac5ed92
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00307/00307-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00307" id="case00307" name="case00307">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" boundaryCondition="true" constant="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.005"/>
+      <parameter id="k2" name="k2" value="5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00307/00307-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00307/00307-sbml-l3v1.xml
new file mode 100644
index 0000000..d664479
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00307/00307-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00307" id="case00307" name="case00307" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.005" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00307/00307-settings.txt b/models/sbml-test-suite/cases/semantic/00307/00307-settings.txt
new file mode 100644
index 0000000..324e199
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00307/00307-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00308/00308-results.csv b/models/sbml-test-suite/cases/semantic/00308/00308-results.csv
new file mode 100644
index 0000000..9240f18
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00308/00308-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,0.00001,0.000015,0.00001,0.0000225,0.00001
+0.08,0.00001329679951480916,0.00001829679951480916,6.703200485190834e-6,0.00002744519927221374,0.00001
+0.16,0.00001550671037590236,0.00002050671037590236,4.493289624097631e-6,0.00003076006556385354,0.00001
+0.24,0.00001698805777841562,0.00002198805777841562,3.011942221584377e-6,0.00003298208666762343,0.00001
+0.32,0.00001798103469323314,0.00002298103469323314,2.018965306766863e-6,0.00003447155203984971,0.00001
+0.4,0.00001864664703903728,0.00002364664703903727,1.35335296096272e-6,0.00003546997055855591,0.00001
+0.48,0.00001909282035469262,0.00002409282035469261,9.07179645307381e-7,0.00003613923053203892,0.00001
+0.56,0.00001939189921047344,0.00002439189921047344,6.081007895265551e-7,0.00003658784881571016,0.00001
+0.64,0.00001959237778258617,0.00002459237778258616,4.07622217413827e-7,0.00003688856667387925,0.00001
+0.72,0.00001972676259392599,0.00002472676259392599,2.732374060740053e-7,0.00003709014389088899,0.00001
+0.8,0.00001981684342642845,0.00002481684342642844,1.831565735715474e-7,0.00003722526513964266,0.00001
+0.88,0.00001987722641351113,0.00002487722641351112,1.227735864888635e-7,0.00003731583962026669,0.00001
+0.96,0.00001991770233951324,0.00002491770233951323,8.229766048676316e-8,0.00003737655350926984,0.00001
+1.04,0.00001994483416355006,0.00002494483416355005,5.516583644994445e-8,0.00003741725124532507,0.00001
+1.12,0.00001996302116869155,0.00002496302116869154,3.697883130844913e-8,0.00003744453175303731,0.00001
+1.2,0.00001997521228254587,0.00002497521228254587,2.478771745412137e-8,0.0000374628184238188,0.00001
+1.28,0.00001998338423037241,0.0000249833842303724,1.66157696275899e-8,0.0000374750763455586,0.00001
+1.36,0.00001998886205070955,0.00002498886205070955,1.113794929044041e-8,0.00003748329307606432,0.00001
+1.44,0.00001999253394342879,0.00002499253394342879,7.466056571202522e-9,0.00003748880091514318,0.00001
+1.52,0.00001999499528669239,0.00002499499528669238,5.004713307603116e-9,0.00003749249293003858,0.00001
+1.6,0.00001999664517440621,0.0000249966451744062,3.354825593783282e-9,0.00003749496776160931,0.00001
+1.68,0.00001999775112720823,0.00002499775112720823,2.248872791759305e-9,0.00003749662669081234,0.00001
+1.76,0.00001999849246954024,0.00002499849246954023,1.507530459752158e-9,0.00003749773870431035,0.00001
+1.84,0.00001999898940616757,0.00002499898940616757,1.010593832417828e-9,0.00003749848410925135,0.00001
+1.92,0.00001999932251275255,0.00002499932251275255,6.774872474425767e-10,0.00003749898376912882,0.00001
+2.,0.00001999954580077606,0.00002499954580077605,4.541992239419803e-10,0.00003749931870116408,0.00001
+2.08,0.00001999969547521608,0.00002499969547521608,3.045247839169836e-10,0.00003749954321282412,0.00001
+2.16,0.00001999979580499504,0.00002499979580499504,2.041950049629172e-10,0.00003749969370749256,0.00001
+2.24,0.00001999986305805812,0.00002499986305805811,1.369419418892263e-10,0.00003749979458708716,0.00001
+2.32,0.00001999990813913514,0.00002499990813913513,9.186086486705049e-11,0.00003749986220870271,0.00001
+2.4,0.00001999993835788518,0.00002499993835788518,6.16421148268431e-11,0.00003749990753682777,0.00001
+2.48,0.00001999995861411924,0.00002499995861411924,4.138588077074866e-11,0.00003749993792117886,0.00001
+2.56,0.00001999997219227895,0.00002499997219227895,2.780772106379957e-11,0.00003749995828841842,0.00001
+2.64,0.0000199999812939915,0.00002499998129399149,1.870600851779761e-11,0.00003749997194098724,0.00001
+2.72,0.00001999998739505177,0.00002499998739505177,1.260494824133841e-11,0.00003749998109257765,0.00001
+2.8,0.0000199999914847147,0.00002499999148471469,8.515285315559852e-12,0.00003749998722707204,0.00001
+2.88,0.00001999999422609768,0.00002499999422609767,5.773902333851581e-12,0.00003749999133914651,0.00001
+2.96,0.0000199999960637016,0.0000249999960637016,3.936298408022039e-12,0.0000374999940955524,0.00001
+3.04,0.00001999999729548433,0.00002499999729548432,2.704515686375113e-12,0.00003749999594322649,0.00001
+3.12,0.00001999999812117296,0.00002499999812117295,1.878827052101711e-12,0.00003749999718175943,0.00001
+3.2,0.00001999999867464859,0.00002499999867464859,1.325351418376078e-12,0.00003749999801197289,0.00001
+3.28,0.0000199999990456544,0.0000249999990456544,9.543456113633746e-13,0.0000374999985684816,0.00001
+3.36,0.00001999999929434703,0.00002499999929434703,7.056529843473206e-13,0.00003749999894152054,0.00001
+3.44,0.00001999999946105068,0.00002499999946105068,5.389493322529663e-13,0.00003749999919157602,0.00001
+3.52,0.00001999999957279548,0.00002499999957279548,4.272045327842205e-13,0.00003749999935919321,0.00001
+3.6,0.00001999999964770027,0.00002499999964770026,3.522997497268663e-13,0.00003749999947155039,0.00001
+3.68,0.00001999999969791044,0.00002499999969791044,3.020895733287562e-13,0.00003749999954686566,0.00001
+3.76,0.00001999999973156733,0.00002499999973156732,2.684326898383329e-13,0.00003749999959735098,0.00001
+3.84,0.00001999999975412822,0.00002499999975412821,2.458717992394972e-13,0.00003749999963119231,0.00001
+3.92,0.00001999999976925123,0.00002499999976925122,2.307487894233044e-13,0.00003749999965387683,0.00001
+4.,0.00001999999977938849,0.00002499999977938848,2.206115296904593e-13,0.00003749999966908273,0.00001
diff --git a/models/sbml-test-suite/cases/semantic/00308/00308-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00308/00308-sbml-l2v4.xml
new file mode 100644
index 0000000..572032b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00308/00308-sbml-l2v4.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00308" id="case00308" name="case00308">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.005"/>
+      <parameter id="k2" name="k2" value="5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00308/00308-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00308/00308-sbml-l3v1.xml
new file mode 100644
index 0000000..7d7762f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00308/00308-sbml-l3v1.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00308" id="case00308" name="case00308" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.005" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00308/00308-settings.txt b/models/sbml-test-suite/cases/semantic/00308/00308-settings.txt
new file mode 100644
index 0000000..264b45a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00308/00308-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00309/00309-results.csv b/models/sbml-test-suite/cases/semantic/00309/00309-results.csv
new file mode 100644
index 0000000..bd148e3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00309/00309-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.015,0.01575,0.015
+0.08,0.009121051495283983,0.01587894850471601,0.01575,0.015
+0.16,0.008319358037350337,0.01668064196264966,0.01575,0.015
+0.24,0.007588129282809789,0.0174118707171902,0.01575,0.015
+0.32,0.006921171801331036,0.01807882819866895,0.01575,0.015
+0.4,0.006312836454909367,0.01868716354509062,0.01575,0.015
+0.48,0.005757970625973931,0.01924202937402606,0.01575,0.015
+0.56,0.00525187461370505,0.01974812538629494,0.01575,0.015
+0.64,0.004790261823854321,0.02020973817614567,0.01575,0.015
+0.72,0.004369222545825165,0.02063077745417482,0.01575,0.015
+0.8,0.003985190389174102,0.02101480961082588,0.01575,0.015
+0.88,0.003634912354802549,0.02136508764519744,0.01575,0.015
+0.96,0.003315422230971924,0.02168457776902806,0.01575,0.015
+1.04,0.003024013755330454,0.02197598624466953,0.01575,0.015
+1.12,0.002758218644484946,0.02224178135551504,0.01575,0.015
+1.2,0.002515785524322805,0.02248421447567718,0.01575,0.015
+1.28,0.002294660901843651,0.02270533909815633,0.01575,0.015
+1.36,0.002092971929522841,0.02290702807047714,0.01575,0.015
+1.44,0.001909010402588446,0.02309098959741154,0.01575,0.015
+1.52,0.001741218206289126,0.02325878179371085,0.01575,0.015
+1.6,0.001588174136462375,0.02341182586353761,0.01575,0.015
+1.68,0.001448581876694765,0.02355141812330522,0.01575,0.015
+1.76,0.001321259030215098,0.02367874096978488,0.01575,0.015
+1.84,0.001205127137642001,0.02379487286235798,0.01575,0.015
+1.92,0.001099202616722555,0.02390079738327743,0.01575,0.015
+2.,0.001002588333826814,0.02399741166617317,0.01575,0.015
+2.08,0.0009144659819080707,0.02408553401809191,0.01575,0.015
+2.16,0.0008340891588876988,0.02416591084111229,0.01575,0.015
+2.24,0.0007607770531842532,0.02423922294681573,0.01575,0.015
+2.32,0.0006939086832531408,0.02430609131674684,0.01575,0.015
+2.4,0.0006329176635833587,0.02436708233641662,0.01575,0.015
+2.48,0.0005772874333470429,0.02442271256665294,0.01575,0.015
+2.56,0.0005265468260459722,0.02447345317395401,0.01575,0.015
+2.64,0.0004802660746956255,0.02451973392530436,0.01575,0.015
+2.72,0.000438053176539242,0.02456194682346074,0.01575,0.015
+2.8,0.0003995505766496269,0.02460044942335036,0.01575,0.015
+2.88,0.0003644321427897324,0.02463556785721025,0.01575,0.015
+2.96,0.0003324004216338487,0.02466759957836613,0.01575,0.015
+3.04,0.0003031841226279281,0.02469681587737206,0.01575,0.015
+3.12,0.0002765357934302327,0.02472346420656975,0.01575,0.015
+3.2,0.0002522297246052741,0.02474777027539471,0.01575,0.015
+3.28,0.0002300600403458963,0.02476993995965409,0.01575,0.015
+3.36,0.0002098389566817497,0.02479016104331823,0.01575,0.015
+3.44,0.0001913951931203883,0.02480860480687959,0.01575,0.015
+3.52,0.0001745725338938425,0.02482542746610614,0.01575,0.015
+3.6,0.0001592285003709146,0.02484077149962907,0.01575,0.015
+3.68,0.0001452331328707087,0.02485476686712928,0.01575,0.015
+3.76,0.0001324678910205353,0.02486753210897945,0.01575,0.015
+3.84,0.0001208246509901022,0.02487917534900989,0.01575,0.015
+3.92,0.000110204790692946,0.02488979520930704,0.01575,0.015
+4.,0.0001005183574466193,0.02489948164255337,0.01575,0.015
diff --git a/models/sbml-test-suite/cases/semantic/00309/00309-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00309/00309-sbml-l2v4.xml
new file mode 100644
index 0000000..b3ba211
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00309/00309-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00309" id="case00309" name="case00309">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.015" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05"/>
+      <parameter id="k2" name="k2" value="1.15"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00309/00309-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00309/00309-sbml-l3v1.xml
new file mode 100644
index 0000000..886e63a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00309/00309-sbml-l3v1.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00309" id="case00309" name="case00309" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05" constant="true"/>
+      <parameter id="k2" name="k2" value="1.15" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00309/00309-settings.txt b/models/sbml-test-suite/cases/semantic/00309/00309-settings.txt
new file mode 100644
index 0000000..7e5270f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00309/00309-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00310/00310-results.csv b/models/sbml-test-suite/cases/semantic/00310/00310-results.csv
new file mode 100644
index 0000000..f706732
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00310/00310-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5,0
+0.2,1.252905297,0.247094703
+0.4,1.046514416,0.453485584
+0.6,0.874122303,0.625877697
+0.8,0.730128305,0.769871695
+1,0.609854386,0.890145614
+1.2,0.509393199,0.990606801
+1.4,0.425480971,1.074519029
+1.6,0.355391593,1.144608407
+1.8,0.296848028,1.203151972
+2,0.247948334,1.252051666
+2.2,0.207103875,1.292896125
+2.4,0.172987713,1.327012287
+2.6,0.144491495,1.355508505
+2.8,0.120689447,1.379310553
+3,0.100808301,1.399191699
+3.2,0.08420217,1.41579783
+3.4,0.070331562,1.429668438
+3.6,0.058745857,1.441254143
+3.8,0.049068663,1.450931337
+4,0.040985592,1.459014408
+4.2,0.034234045,1.465765955
+4.4,0.028594679,1.471405321
+4.6,0.023884285,1.476115715
+4.8,0.019949834,1.480050166
+5,0.016663503,1.483336497
+5.2,0.013918529,1.486081471
+5.4,0.011625734,1.488374266
+5.6,0.009710629,1.490289371
+5.8,0.008110999,1.491889001
+6,0.006774876,1.493225124
+6.2,0.005658852,1.494341148
+6.4,0.00472667,1.49527333
+6.6,0.003948047,1.496051953
+6.8,0.003297686,1.496702314
+7,0.002754459,1.497245541
+7.2,0.002300718,1.497699282
+7.4,0.001921721,1.498078279
+7.6,0.001605157,1.498394843
+7.8,0.00134074,1.49865926
+8,0.00111988,1.49888012
+8.2,0.000935402,1.499064598
+8.4,0.000781314,1.499218686
+8.6,0.000652608,1.499347392
+8.8,0.000545104,1.499454896
+9,0.000455309,1.499544691
+9.2,0.000380306,1.499619694
+9.4,0.000317658,1.499682342
+9.6,0.000265331,1.499734669
+9.8,0.000221623,1.499778377
+10,0.000185115,1.499814885
diff --git a/models/sbml-test-suite/cases/semantic/00310/00310-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00310/00310-sbml-l1v2.xml
new file mode 100644
index 0000000..ddd147b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00310/00310-sbml-l1v2.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00310">
+    <listOfCompartments>
+      <compartment name="C" volume="0.15" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.9"/>
+      <parameter name="p1" value="0.1"/>
+      <parameter name="p2" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="p1 * p2" compartment="C"/>
+      <parameterRule formula="0.1" type="rate" name="p2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00310/00310-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00310/00310-sbml-l2v4.xml
new file mode 100644
index 0000000..2344e79
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00310/00310-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00310" id="case00310" name="case00310">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.15" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00310/00310-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00310/00310-sbml-l3v1.xml
new file mode 100644
index 0000000..8494f2d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00310/00310-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00310" id="case00310" name="case00310" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.15" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00310/00310-settings.txt b/models/sbml-test-suite/cases/semantic/00310/00310-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00310/00310-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00311/00311-results.csv b/models/sbml-test-suite/cases/semantic/00311/00311-results.csv
new file mode 100644
index 0000000..6cfbfcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00311/00311-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5,0
+0.16,1.298831621,0.201168379
+0.32,1.124642392,0.375357608
+0.48,0.973814073,0.526185927
+0.64,0.843213659,0.656786341
+0.8,0.730128305,0.769871695
+0.96,0.632209087,0.867790913
+1.12,0.547422205,0.952577795
+1.28,0.474006231,1.025993769
+1.44,0.410436123,1.089563877
+1.6,0.355391593,1.144608407
+1.76,0.307729288,1.192270712
+1.92,0.266459043,1.233540957
+2.08,0.230723583,1.269276417
+2.24,0.199780718,1.300219282
+2.4,0.172987713,1.327012287
+2.56,0.149787949,1.350212051
+2.72,0.129699529,1.370300471
+2.88,0.112305233,1.387694767
+3.04,0.097243747,1.402756253
+3.2,0.08420217,1.41579783
+3.36,0.072909615,1.427090385
+3.52,0.063131545,1.436868455
+3.68,0.054664844,1.445335156
+3.84,0.047333617,1.452666383
+4,0.040985592,1.459014408
+4.16,0.035488925,1.464511075
+4.32,0.030729432,1.469270568
+4.48,0.026608236,1.473391764
+4.64,0.023039743,1.476960257
+4.8,0.019949834,1.480050166
+4.96,0.01727432,1.48272568
+5.12,0.01495762,1.48504238
+5.28,0.012951619,1.487048381
+5.44,0.01121465,1.48878535
+5.6,0.009710629,1.490289371
+5.76,0.008408313,1.491591687
+5.92,0.007280655,1.492719345
+6.08,0.006304232,1.493695768
+6.24,0.005458757,1.494541243
+6.4,0.00472667,1.49527333
+6.56,0.004092766,1.495907234
+6.72,0.003543877,1.496456123
+6.88,0.003068599,1.496931401
+7.04,0.002657062,1.497342938
+7.2,0.002300718,1.497699282
+7.36,0.001992164,1.498007836
+7.52,0.00172499,1.49827501
+7.68,0.001493647,1.498506353
+7.84,0.001293331,1.498706669
+8,0.00111988,1.49888012
diff --git a/models/sbml-test-suite/cases/semantic/00311/00311-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00311/00311-sbml-l1v2.xml
new file mode 100644
index 0000000..d756c4c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00311/00311-sbml-l1v2.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00311">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.9"/>
+      <parameter name="p1" value="0.1"/>
+      <parameter name="p2" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="p1 * p2" compartment="compartment"/>
+      <parameterRule formula="0.1" type="rate" name="p2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00311/00311-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00311/00311-sbml-l2v4.xml
new file mode 100644
index 0000000..9586246
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00311/00311-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00311" id="case00311" name="case00311">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00311/00311-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00311/00311-sbml-l3v1.xml
new file mode 100644
index 0000000..dfe830d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00311/00311-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00311" id="case00311" name="case00311" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="compartment">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00311/00311-settings.txt b/models/sbml-test-suite/cases/semantic/00311/00311-settings.txt
new file mode 100644
index 0000000..782b0d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00311/00311-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00312/00312-results.csv b/models/sbml-test-suite/cases/semantic/00312/00312-results.csv
new file mode 100644
index 0000000..87b1109
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00312/00312-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5,0
+0.24,1.208602908,0.291397092
+0.48,0.973814073,0.526185927
+0.72,0.784636298,0.715363702
+0.96,0.632209087,0.867790913
+1.2,0.509393199,0.990606801
+1.44,0.410436123,1.089563877
+1.68,0.330702915,1.169297085
+1.92,0.266459043,1.233540957
+2.16,0.21469547,1.28530453
+2.4,0.172987713,1.327012287
+2.64,0.139382298,1.360617702
+2.88,0.112305233,1.387694767
+3.12,0.090488291,1.409511709
+3.36,0.072909615,1.427090385
+3.6,0.058745857,1.441254143
+3.84,0.047333617,1.452666383
+4.08,0.03813837,1.46186163
+4.32,0.030729432,1.469270568
+4.56,0.024759788,1.475240212
+4.8,0.019949834,1.480050166
+5.04,0.016074285,1.483925715
+5.28,0.012951619,1.487048381
+5.52,0.010435577,1.489564423
+5.76,0.008408313,1.491591687
+6,0.006774876,1.493225124
+6.24,0.005458757,1.494541243
+6.48,0.004398314,1.495601686
+6.72,0.003543877,1.496456123
+6.96,0.002855426,1.497144574
+7.2,0.002300718,1.497699282
+7.44,0.001853769,1.498146231
+7.68,0.001493647,1.498506353
+7.92,0.001203485,1.498796515
+8.16,0.00096969,1.49903031
+8.4,0.000781314,1.499218686
+8.64,0.000629532,1.499370468
+8.88,0.000507236,1.499492764
+9.12,0.000408698,1.499591302
+9.36,0.000329303,1.499670697
+9.6,0.000265331,1.499734669
+9.84,0.000213786,1.499786214
+10.08,0.000172255,1.499827745
+10.32,0.000138792,1.499861208
+10.56,0.00011183,1.49988817
+10.8,9.01051E-05,1.499909895
+11.04,7.26009E-05,1.499927399
+11.28,5.84971E-05,1.499941503
+11.52,4.71332E-05,1.499952867
+11.76,3.79769E-05,1.499962023
+12,3.05993E-05,1.499969401
diff --git a/models/sbml-test-suite/cases/semantic/00312/00312-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00312/00312-sbml-l1v2.xml
new file mode 100644
index 0000000..d66b229
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00312/00312-sbml-l1v2.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00312">
+    <listOfCompartments>
+      <compartment name="C" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.9"/>
+      <parameter name="p1" value="0.1"/>
+      <parameter name="p2" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="p1 * p2" compartment="C"/>
+      <parameterRule formula="0.1" type="rate" name="p2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00312/00312-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00312/00312-sbml-l2v4.xml
new file mode 100644
index 0000000..9f4fa49
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00312/00312-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00312" id="case00312" name="case00312">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00312/00312-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00312/00312-sbml-l3v1.xml
new file mode 100644
index 0000000..49b2954
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00312/00312-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00312" id="case00312" name="case00312" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.9" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00312/00312-settings.txt b/models/sbml-test-suite/cases/semantic/00312/00312-settings.txt
new file mode 100644
index 0000000..a75ec03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00312/00312-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00313/00313-results.csv b/models/sbml-test-suite/cases/semantic/00313/00313-results.csv
new file mode 100644
index 0000000..fdd0242
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00313/00313-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.1,0.491741431447793,1.491741431447790,1.508258568552200
+0.2,0.411701206512065,1.411701206512060,1.588298793487930
+0.3,0.397756927813037,1.397756927813040,1.602243072186950
+0.4,0.396824044592369,1.396824044592370,1.603175955407630
+0.5,0.398582965131183,1.398582965131180,1.601417034868810
+0.6,0.400900487010684,1.400900487010710,1.599099512989360
+0.7,0.403327043808096,1.403327043807800,1.596672956191310
+0.8,0.405766979520352,1.405766979519320,1.594233020477590
+0.9,0.408199855981042,1.408199855977710,1.591800144012300
+1,0.410620534247772,1.410620534248730,1.589379465754160
+1.1,0.413029582368125,1.413029582368980,1.586970417633600
+1.2,0.415426105488855,1.415426105489440,1.584573894512310
+1.3,0.417810219561327,1.417810219561000,1.582189780438030
+1.4,0.420182044473239,1.420182044472120,1.579817955524510
+1.5,0.422541722918498,1.422541722917520,1.577458277079550
+1.6,0.424889433214534,1.424889433214430,1.575110566785270
+1.7,0.427225404683992,1.427225404684400,1.572774595316820
+1.8,0.429549760870694,1.429549760871500,1.570450239130920
+1.9,0.431862515615124,1.431862515615180,1.568137484385000
+2,0.434163722600356,1.434163722599390,1.565836277397710
+2.1,0.436453498730526,1.436453498729640,1.563546501267720
+2.2,0.438732046313922,1.438732046313920,1.561267953686070
+2.3,0.440999636155922,1.440999636156570,1.559000363845370
+2.4,0.443256292119791,1.443256292120260,1.556743707881150
+2.5,0.445501977423396,1.445501977422700,1.554498022575210
+2.6,0.447736762044426,1.447736762043500,1.552263237953720
+2.7,0.449960853513825,1.449960853513820,1.550039146486160
+2.8,0.452174568429530,1.452174568430180,1.547825431571790
+2.9,0.454377885850858,1.454377885851100,1.545622114149630
+3,0.456570721573291,1.456570721572380,1.543429278424900
+3.1,0.458753170683451,1.458753170682930,1.541246829315520
+3.2,0.460925547634979,1.460925547635230,1.539074452365530
+3.3,0.463088069011355,1.463088069011950,1.536911930989840
+3.4,0.465240550071131,1.465240550070540,1.534759449927710
+3.5,0.467382987388359,1.467382987387610,1.532617012610150
+3.6,0.469515666355460,1.469515666355560,1.530484333644730
+3.7,0.471638920013430,1.471638920014060,1.528361079987820
+3.8,0.473752524091670,1.473752524091160,1.526247475907310
+3.9,0.475856424499824,1.475856424499130,1.524143575498800
+4,0.477950944140026,1.477950944140190,1.522049055860300
+4.1,0.480036406895659,1.480036406896170,1.519963593105370
+4.2,0.482112516535330,1.482112516534620,1.517887483463260
+4.3,0.484179261247096,1.484179261246730,1.515820738752150
+4.4,0.486237091614850,1.486237091615290,1.513762908386040
+4.5,0.488286121894980,1.488286121895100,1.511713878105250
+4.6,0.490326022681980,1.490326022681140,1.509673977316340
+4.7,0.492356971947798,1.492356971947790,1.507643028052190
+4.8,0.494379498047702,1.494379498048270,1.505620501953420
+4.9,0.496393292259529,1.496393292258950,1.503606707739300
+5,0.498398194650788,1.498398194650790,1.501601805349200
diff --git a/models/sbml-test-suite/cases/semantic/00313/00313-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00313/00313-sbml-l1v2.xml
new file mode 100644
index 0000000..226285a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00313/00313-sbml-l1v2.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00313">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="2" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="2.5"/>
+      <parameter name="p1" value="0.1"/>
+      <parameter name="p2" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="p1 * p2" compartment="C"/>
+      <parameterRule formula="0.1" type="rate" name="p2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00313/00313-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00313/00313-sbml-l2v4.xml
new file mode 100644
index 0000000..f2c1195
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00313/00313-sbml-l2v4.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00313" id="case00313" name="case00313">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+      <parameter id="p2" name="p2" value="1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00313/00313-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00313/00313-sbml-l3v1.xml
new file mode 100644
index 0000000..35fa217
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00313/00313-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00313" id="case00313" name="case00313" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+      <parameter id="p2" name="p2" value="1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00313/00313-settings.txt b/models/sbml-test-suite/cases/semantic/00313/00313-settings.txt
new file mode 100644
index 0000000..46a248c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00313/00313-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00314/00314-results.csv b/models/sbml-test-suite/cases/semantic/00314/00314-results.csv
new file mode 100644
index 0000000..aa5c720
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00314/00314-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.2,1.217835669014110,2.217835669014130,0.782164330985919
+0.4,1.232643430749580,2.232643430749430,0.767356569250145
+0.6,1.246835546621990,2.246835546622020,0.753164453378088
+0.8,1.260461105520280,2.260461105520380,0.739538894479895
+1,1.273556349245760,2.273556349245840,0.726443650754407
+1.2,1.286154180548540,2.286154180548570,0.713845819451522
+1.4,1.298284563100930,2.298284563100850,0.701715436898920
+1.6,1.309974858008260,2.309974858008150,0.690025141991550
+1.8,1.321250531404040,2.321250531404050,0.678749468596003
+2,1.332135338505090,2.332135338505100,0.667864661494936
+2.2,1.342649700493570,2.342649700493510,0.657350299506334
+2.4,1.352814315423240,2.352814315423290,0.647185684576862
+2.6,1.362646889388860,2.362646889388810,0.637353110611069
+2.8,1.372165096592450,2.372165096592440,0.627834903407547
+3,1.381383850943270,2.381383850943280,0.618616149056765
+3.2,1.390318827356460,2.390318827356410,0.609681172643431
+3.4,1.398983293134720,2.398983293134700,0.601016706865227
+3.6,1.407389790098590,2.407389790098620,0.592610209901479
+3.8,1.415550489008000,2.415550489008010,0.584449510992049
+4,1.423476744820910,2.423476744820890,0.576523255179094
+4.2,1.431179043213960,2.431179043213930,0.568820956786029
+4.4,1.438667140757230,2.438667140757200,0.561332859242739
+4.6,1.445950267239890,2.445950267239850,0.554049732760080
+4.8,1.453037129902670,2.453037129902650,0.546962870097314
+5,1.459935943484220,2.459935943484200,0.540064056515776
+5.2,1.466654495330560,2.466654495330550,0.533345504669455
+5.4,1.473200135095300,2.473200135095310,0.526799864904745
+5.6,1.479579695788490,2.479579695788480,0.520420304211536
+5.8,1.485799560989030,2.485799560989000,0.514200439010927
+6,1.491865809105630,2.491865809105600,0.508134190894326
+6.2,1.497784492596090,2.497784492596090,0.502215507403920
+6.4,1.503561445779240,2.503561445779240,0.496438554220782
+6.6,1.509201388190160,2.509201388190120,0.490798611809788
+6.8,1.514709297180370,2.514709297180360,0.485290702819629
+7,1.520090584723920,2.520090584723910,0.479909415276089
+7.2,1.525348964929810,2.525348964929770,0.474651035070162
+7.4,1.530489163490250,2.530489163490240,0.469510836509777
+7.6,1.535515286986000,2.535515286985950,0.464484713013967
+7.8,1.540430859109450,2.540430859109450,0.459569140890571
+8,1.545240172719240,2.545240172719220,0.454759827280723
+8.2,1.549946127140200,2.549946127140210,0.450053872859818
+8.4,1.554552692647950,2.554552692647930,0.445447307352019
+8.6,1.559062689376920,2.559062689376920,0.440937310623104
+8.8,1.563479305461450,2.563479305461440,0.436520694538536
+9,1.567805795360640,2.567805795360640,0.432194204639353
+9.2,1.572044352670160,2.572044352670160,0.427955647329848
+9.4,1.576198402243540,2.576198402243520,0.423801597756436
+9.6,1.580270159186480,2.580270159186480,0.419729840813524
+9.8,1.584261894298720,2.584261894298720,0.415738105701286
+10,1.588176460676830,2.588176460676820,0.411823539323172
diff --git a/models/sbml-test-suite/cases/semantic/00314/00314-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00314/00314-sbml-l1v2.xml
new file mode 100644
index 0000000..acbc34c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00314/00314-sbml-l1v2.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00314">
+    <listOfCompartments>
+      <compartment name="C" volume="0.1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="2" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="25"/>
+      <parameter name="p1" value="0.1"/>
+      <parameter name="p2" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="p1 * p2" compartment="C"/>
+      <parameterRule formula="0.2" type="rate" name="p2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00314/00314-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00314/00314-sbml-l2v4.xml
new file mode 100644
index 0000000..fb24611
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00314/00314-sbml-l2v4.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00314" id="case00314" name="case00314">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="25"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+      <parameter id="p2" name="p2" value="1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.2 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00314/00314-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00314/00314-sbml-l3v1.xml
new file mode 100644
index 0000000..25a56ca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00314/00314-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00314" id="case00314" name="case00314" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+      <parameter id="p2" name="p2" value="1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.2 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00314/00314-settings.txt b/models/sbml-test-suite/cases/semantic/00314/00314-settings.txt
new file mode 100644
index 0000000..1ebd9aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00314/00314-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00315/00315-results.csv b/models/sbml-test-suite/cases/semantic/00315/00315-results.csv
new file mode 100644
index 0000000..b7152a0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00315/00315-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.8,0.0544909062861093,0.1544909062863550,0.1455090937143840
+1.6,0.0455947343163913,0.1455947343169450,0.1544052656847160
+2.4,0.0443310720888626,0.1443310720857500,0.1556689279049140
+3.2,0.0451258818365244,0.1451258818284540,0.1548741181473350
+4,0.0465086958519201,0.1465086958481100,0.1534913041404610
+4.8,0.0480443925585785,0.1480443924960020,0.1519556073162690
+5.6,0.0495972624570779,0.1495972625083440,0.1504027376454550
+6.4,0.0511243768629551,0.1511243769936730,0.1488756233984820
+7.2,0.0526128694828422,0.1526128695274390,0.1473871306063500
+8,0.0540599576559322,0.1540599576444290,0.1459400423210620
+8.8,0.0554661459540989,0.1554661458931790,0.1445338539240610
+9.6,0.0568330100848386,0.1568330100496030,0.1431669898446890
+10.4,0.0581624206037108,0.1581624206135240,0.1418375794159160
+11.2,0.0594562573485564,0.1594562573815090,0.1405437427173480
+12,0.0607163109394090,0.1607163109749780,0.1392836891317290
+12.8,0.0619442551123855,0.1619442551431480,0.1380557449491410
+13.6,0.0631416450729679,0.1631416450998040,0.1368583549807040
+14.4,0.0643099245762261,0.1643099246023810,0.1356900754760830
+15.2,0.0654504350786297,0.1654504351063960,0.1345495649769040
+16,0.0665644245794908,0.1665644246079060,0.1334355754773400
+16.8,0.0676530555469930,0.1676530555700830,0.1323469444991850
+17.6,0.0687174120686126,0.1687174120764730,0.1312825879471090
+18.4,0.0697585066562073,0.1697585066414910,0.1302414933143610
+19.2,0.0707772872133253,0.1707772871815920,0.1292227127232070
+20,0.0717746446450267,0.1717746446191920,0.1282253553033030
+20.8,0.0727514215123632,0.1727514215105300,0.1272485784839710
+21.6,0.0737084195513037,0.1737084195649170,0.1262915804759220
+22.4,0.0746463773091000,0.1746463773268890,0.1253536227264780
+23.2,0.0755659768469091,0.1755659768344550,0.1244340231281820
+24,0.0764678702228170,0.1764678701972580,0.1235321297260650
+24.8,0.0773526941792587,0.1773526941789910,0.1226473058202070
+25.6,0.0782210717071290,0.1782210717249520,0.1217789283285160
+26.4,0.0790735389364929,0.1790735389326920,0.1209264610559050
+27.2,0.0799106000600319,0.1799106000375590,0.1200893998950220
+28,0.0807327798224183,0.1807327798233470,0.1192672201794380
+28.8,0.0815405995862278,0.1815405996004850,0.1184594004422880
+29.6,0.0823344646382451,0.1823344646199590,0.1176655353251830
+30.4,0.0831147966839474,0.1831147966801350,0.1168852033084290
+31.2,0.0838820736368986,0.1838820736516140,0.1161179263925310
+32,0.0846366558676553,0.1846366558543880,0.1153633441058090
+32.8,0.0853788826255077,0.1853788826206480,0.1146211173647720
+33.6,0.0861091893322853,0.1861091893458380,0.1138908106948200
+34.4,0.0868278811128340,0.1868278810977350,0.1131721188569680
+35.2,0.0875352518027189,0.1875352518023350,0.1124647481965120
+36,0.0882317061088935,0.1882317061185160,0.1117682939103510
+36.8,0.0889174677537367,0.1889174677370800,0.1110825322129510
+37.6,0.0895928413921186,0.1895928413977040,0.1104071586190520
+38.4,0.0902581629284684,0.1902581629242030,0.1097418370630010
+39.2,0.0909135977460849,0.1909135977447650,0.1090864022512740
+40,0.0915594936093856,0.1915594936093860,0.1084405063906140
diff --git a/models/sbml-test-suite/cases/semantic/00315/00315-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00315/00315-sbml-l1v2.xml
new file mode 100644
index 0000000..0e6f642
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00315/00315-sbml-l1v2.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00315">
+    <listOfCompartments>
+      <compartment name="C" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.2" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+      <parameter name="p1" value="0.1"/>
+      <parameter name="p2" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="p1 * p2" compartment="C"/>
+      <parameterRule formula="0.1" type="rate" name="p2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00315/00315-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00315/00315-sbml-l2v4.xml
new file mode 100644
index 0000000..729d168
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00315/00315-sbml-l2v4.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00315" id="case00315" name="case00315">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+      <parameter id="p2" name="p2" value="1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00315/00315-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00315/00315-sbml-l3v1.xml
new file mode 100644
index 0000000..8495a1d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00315/00315-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00315" id="case00315" name="case00315" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+      <parameter id="p2" name="p2" value="1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00315/00315-settings.txt b/models/sbml-test-suite/cases/semantic/00315/00315-settings.txt
new file mode 100644
index 0000000..8edc403
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00315/00315-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 40
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00316/00316-results.csv b/models/sbml-test-suite/cases/semantic/00316/00316-results.csv
new file mode 100644
index 0000000..3ea9055
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00316/00316-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1,1.5,1.1,1
+0.24,0.923363769337965,1.423363769308300,1.176636230537470,1.076636230543400
+0.48,0.858044390456856,1.358044390455270,1.241955609536490,1.141955609536810
+0.72,0.801843512319920,1.301843512343600,1.298156487779540,1.198156487774800
+0.96,0.753091882488513,1.253091882440680,1.346908117310600,1.246908117320170
+1.2,0.710499198502741,1.210499198511130,1.389500801532490,1.289500801530820
+1.44,0.673051035995809,1.173051035976830,1.426948963924490,1.326948963928280
+1.68,0.639941290738234,1.139941290731760,1.460058709234570,1.360058709235860
+1.92,0.610519413680738,1.110519413689060,1.489480586354230,1.389480586352570
+2.16,0.584256470730293,1.084256470713140,1.515743529197680,1.415743529201110
+2.4,0.560716777647827,1.060716777646310,1.539283222345800,1.439283222346100
+2.64,0.539539545743106,1.039539545742630,1.560460454254880,1.460460454254980
+2.88,0.520422319235716,1.020422319159430,1.579577680443910,1.479577680459160
+3.12,0.503111170257074,1.003111170307000,1.596888829952600,1.496888829942620
+3.36,0.487389822230163,0.987389822050413,1.612610177014880,1.512610177050830
+3.6,0.473074664885855,0.973074665007993,1.626925335627120,1.526925335602700
+3.84,0.460007438390031,0.960007438318207,1.639992561308310,1.539992561322670
+4.08,0.448051931780283,0.948051931689943,1.651948067840280,1.551948067858350
+4.32,0.437090330785752,0.937090330899434,1.662909669691720,1.562909669668980
+4.56,0.427019503997061,0.927019503764556,1.672980495026420,1.572980495072920
+4.8,0.417749846194829,0.917749846209743,1.682250153867810,1.582250153864830
+5.04,0.409202525515569,0.909202525602010,1.690797474847470,1.590797474830190
+5.28,0.401307875462527,0.901307875152575,1.698692123235670,1.598692123297660
+5.52,0.394004748298369,0.894004748302906,1.705995251720680,1.605995251719770
+5.76,0.387238740255017,0.887238740408826,1.712761260390970,1.612761260360210
+6,0.380961289187115,0.880961288896962,1.719038709594240,1.619038709652270
+6.24,0.375129386096183,0.875129385903469,1.724870613094410,1.624870613132960
+6.48,0.369704562216976,0.869704562517865,1.730295439046750,1.630295438986570
+6.72,0.364652080637564,0.864652080586134,1.735347919146430,1.635347919156710
+6.96,0.359940871038108,0.859940870522626,1.740059126796860,1.640059126899960
+7.2,0.355543152827676,0.855543152987789,1.744456847844790,1.644456847812770
+7.44,0.351433607079959,0.851433607300267,1.748566393845330,1.648566393801270
+7.68,0.347589324252487,0.847589323940187,1.752410674435850,1.652410674498310
+7.92,0.343989686385329,0.843989685844623,1.756010311343710,1.656010311451850
+8.16,0.340616047309213,0.840616047614944,1.759383953974850,1.659383953913700
+8.4,0.337451260157369,0.837451260386706,1.762548740805840,1.662548740759970
+8.64,0.334479731884334,0.834479731524473,1.765520266604230,1.665520266676210
+8.88,0.331687330633482,0.831687329906903,1.768312666314890,1.668312666460200
+9.12,0.329061212354461,0.829061212558736,1.770938788503490,1.670938788462630
+9.36,0.326589477586894,0.826589478058289,1.773410524392950,1.673410524298680
+9.6,0.324261219688442,0.824261219611030,1.775738779986430,1.675738780001910
+9.84,0.322066474803095,0.822066473856980,1.777933521223220,1.677933521412440
+10.08,0.319996197072056,0.819996196664873,1.780003801217780,1.680003801299210
+10.32,0.318041980688412,0.818041981307113,1.781958021910120,1.681958021786380
+10.56,0.316196022541015,0.816196022844997,1.783803978735710,1.683803978674910
+10.8,0.314451156042774,0.814451155577523,1.785548842003160,1.685548842096210
+11.04,0.312800793531465,0.812800791895889,1.787199199599110,1.687199199926220
+11.28,0.311238941131878,0.811238940314206,1.788761055433900,1.688761055597430
+11.52,0.309759969210165,0.809759970025131,1.790240034212690,1.690240034049700
+11.76,0.308358615610908,0.808358616580703,1.791641388462240,1.691641388268280
+12,0.307030018961685,0.807030018961684,1.792969981038310,1.692969981038310
diff --git a/models/sbml-test-suite/cases/semantic/00316/00316-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00316/00316-sbml-l1v2.xml
new file mode 100644
index 0000000..a238908
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00316/00316-sbml-l1v2.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00316">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1.1" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.0365"/>
+      <parameter name="k2" value="0.0025"/>
+      <parameter name="p1" value="0.1"/>
+      <parameter name="p2" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="p1 * p2" compartment="C"/>
+      <parameterRule formula="0.1" type="rate" name="p2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00316/00316-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00316/00316-sbml-l2v4.xml
new file mode 100644
index 0000000..047905c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00316/00316-sbml-l2v4.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00316" id="case00316" name="case00316">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.0365"/>
+      <parameter id="k2" name="k2" value="0.0025"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00316/00316-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00316/00316-sbml-l3v1.xml
new file mode 100644
index 0000000..9b20765
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00316/00316-sbml-l3v1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00316" id="case00316" name="case00316" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.0365" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0025" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00316/00316-settings.txt b/models/sbml-test-suite/cases/semantic/00316/00316-settings.txt
new file mode 100644
index 0000000..50dd6c8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00316/00316-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00317/00317-results.csv b/models/sbml-test-suite/cases/semantic/00317/00317-results.csv
new file mode 100644
index 0000000..4874f39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00317/00317-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.999999999999999,1.500000000000000,1.100000000000000,0.999999999999999
+0.1,0.966524363175098,1.466524363175100,1.133475636824900,1.033475636824900
+0.2,0.935281710538443,1.435281710507180,1.164718289330260,1.064718289336510
+0.3,0.906069761387958,1.406069761395130,1.193930238642150,1.093930238640720
+0.4,0.878708582063715,1.378708582076700,1.221291417990820,1.121291417988230
+0.5,0.853038611798337,1.353038611777500,1.246961388114160,1.146961388118320
+0.6,0.828918562986014,1.328918562963910,1.271081436921160,1.171081436925580
+0.7,0.806222212095523,1.306222212119390,1.293777788004700,1.193777787999930
+0.8,0.784835757032313,1.284835757032910,1.315164242970190,1.215164242970070
+0.9,0.764657384168844,1.264657384124290,1.335342615644010,1.235342615652920
+1,0.745595797062170,1.245595797047940,1.354404202878070,1.254404202880910
+1.1,0.727568167807277,1.227568167841400,1.372431832336040,1.272431832329220
+1.2,0.710499192693271,1.210499192693330,1.389500807306990,1.289500807306980
+1.3,0.694320827745245,1.194320827686820,1.405679172009380,1.305679172021070
+1.4,0.678971478563021,1.178971478534220,1.421028521316030,1.321028521321790
+1.5,0.664394746373734,1.164394746416620,1.435605253806390,1.335605253797820
+1.6,0.650538834320580,1.150538834331310,1.449461165724470,1.349461165722320
+1.7,0.637356555831627,1.137356555782000,1.462643443959940,1.362643443969860
+1.8,0.624804785534300,1.124804785459400,1.475195214151130,1.375195214166110
+1.9,0.612843980118995,1.112843980137950,1.487156019960610,1.387156019956820
+2,0.601437426590946,1.101437426646060,1.498562573640510,1.398562573629490
+2.1,0.590551322834925,1.090551322834680,1.509448677164050,1.409448677164100
+2.2,0.580154571828884,1.080154571740290,1.519845427799010,1.419845427816730
+2.3,0.570218589836333,1.070218589760430,1.529781409844890,1.429781409860070
+2.4,0.560716817649564,1.060716817688560,1.539283182514210,1.439283182506410
+2.5,0.551624451502841,1.051624451567770,1.548375548769870,1.448375548756880
+2.6,0.542918517554500,1.042918517554290,1.557081482444610,1.457081482444650
+2.7,0.534577735339423,1.034577735262570,1.565422264337780,1.465422264353150
+2.8,0.526582384917236,1.026582384851400,1.573417614806270,1.473417614819430
+2.9,0.518914033696143,1.018914033729990,1.581085966445990,1.481085966439230
+3,0.511555376636001,1.011555376692340,1.588444623600610,1.488444623589340
+3.1,0.504490283850527,1.004490283850340,1.595509716148700,1.495509716148730
+3.2,0.497703718700949,0.997703718634015,1.602296281017930,1.502296281031310
+3.3,0.491181664345762,0.991181664288434,1.608818335413460,1.508818335424930
+3.4,0.484910953405526,0.984910953435013,1.615089046718320,1.515089046712420
+3.5,0.478879168944685,0.978879168993756,1.621120831261420,1.521120831251600
+3.6,0.473074675970636,0.973074675970476,1.626925324028680,1.526925324028720
+3.7,0.467486570409676,0.967486570351165,1.632513429344580,1.532513429356280
+3.8,0.462104636861805,0.962104636811698,1.637895362927740,1.537895362937760
+3.9,0.456919238262187,0.956919238287973,1.643080761846110,1.543080761840960
+4,0.451921252264173,0.951921252307074,1.648078747916020,1.548078747907440
+4.1,0.447102092703356,0.947102092703214,1.652897907296050,1.552897907296080
+4.2,0.442453676746218,0.942453676694890,1.657546323038210,1.557546323048470
+4.3,0.437968399770924,0.937968399726971,1.662031600044480,1.562031600053270
+4.4,0.433639061574438,0.933639061597067,1.666360938520600,1.566360938516080
+4.5,0.429458824207218,0.929458824244860,1.670541175950880,1.570541175943350
+4.6,0.425421226983335,0.925421226983270,1.674578773016390,1.574578773016400
+4.7,0.421520171408872,0.921520171390924,1.678479828515750,1.578479828519340
+4.8,0.417749884263303,0.917749884259637,1.682250115721300,1.582250115722030
+4.9,0.414104881087425,0.914104881100511,1.685895118967530,1.585895118964910
+5,0.410579953532674,0.910579953532674,1.689420046467320,1.589420046467320
diff --git a/models/sbml-test-suite/cases/semantic/00317/00317-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00317/00317-sbml-l1v2.xml
new file mode 100644
index 0000000..90984c5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00317/00317-sbml-l1v2.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00317">
+    <listOfCompartments>
+      <compartment name="C" volume="0.1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1.1" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.0365"/>
+      <parameter name="k2" value="0.0025"/>
+      <parameter name="p1" value="0.1"/>
+      <parameter name="p2" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="p1 * p2" compartment="C"/>
+      <parameterRule formula="0.1" type="rate" name="p2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00317/00317-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00317/00317-sbml-l2v4.xml
new file mode 100644
index 0000000..1442d52
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00317/00317-sbml-l2v4.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00317" id="case00317" name="case00317">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.0365"/>
+      <parameter id="k2" name="k2" value="0.0025"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00317/00317-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00317/00317-sbml-l3v1.xml
new file mode 100644
index 0000000..418fb9e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00317/00317-sbml-l3v1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00317" id="case00317" name="case00317" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.0365" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0025" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00317/00317-settings.txt b/models/sbml-test-suite/cases/semantic/00317/00317-settings.txt
new file mode 100644
index 0000000..ee8f26d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00317/00317-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00318/00318-results.csv b/models/sbml-test-suite/cases/semantic/00318/00318-results.csv
new file mode 100644
index 0000000..bf8ac90
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00318/00318-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.999999999999999,1.499999999999990,1.100000000000000,0.999999999999999
+0.06,0.966524363175092,1.466524363175090,1.133475636824900,1.033475636824900
+0.12,0.935281710538442,1.435281710507180,1.164718289330260,1.064718289336510
+0.18,0.906069761387958,1.406069761395120,1.193930238642150,1.093930238640720
+0.24,0.878708582063715,1.378708582076700,1.221291417990820,1.121291417988230
+0.3,0.853038611798336,1.353038611777500,1.246961388114150,1.146961388118320
+0.36,0.828918562986015,1.328918562963910,1.271081436921160,1.171081436925580
+0.42,0.806222212095524,1.306222212119380,1.293777788004700,1.193777787999920
+0.48,0.784835757032313,1.284835757032910,1.315164242970190,1.215164242970060
+0.54,0.764657384168844,1.264657384124290,1.335342615644010,1.235342615652920
+0.6,0.745595797062170,1.245595797047930,1.354404202878060,1.254404202880910
+0.66,0.727568167807277,1.227568167841400,1.372431832336040,1.272431832329210
+0.72,0.710499192693270,1.210499192693330,1.389500807306990,1.289500807306970
+0.78,0.694320827745245,1.194320827686820,1.405679172009380,1.305679172021070
+0.84,0.678971478563020,1.178971478534210,1.421028521316020,1.321028521321780
+0.9,0.664394746373735,1.164394746416620,1.435605253806390,1.335605253797820
+0.96,0.650538834320580,1.150538834331300,1.449461165724460,1.349461165722320
+1.02,0.637356555831627,1.137356555781990,1.462643443959940,1.362643443969860
+1.08,0.624804785534300,1.124804785459400,1.475195214151130,1.375195214166110
+1.14,0.612843980118996,1.112843980137940,1.487156019960600,1.387156019956810
+1.2,0.601437426590946,1.101437426646050,1.498562573640510,1.398562573629480
+1.26,0.590551322834926,1.090551322834680,1.509448677164040,1.409448677164100
+1.32,0.580154571828884,1.080154571740280,1.519845427799010,1.419845427816730
+1.38,0.570218589836332,1.070218589760430,1.529781409844890,1.429781409860070
+1.44,0.560716817649564,1.060716817688560,1.539283182514210,1.439283182506410
+1.5,0.551624451502842,1.051624451567770,1.548375548769860,1.448375548756880
+1.56,0.542918517554500,1.042918517554290,1.557081482444600,1.457081482444650
+1.62,0.534577735339423,1.034577735262570,1.565422264337780,1.465422264353150
+1.68,0.526582384917236,1.026582384851400,1.573417614806260,1.473417614819430
+1.74,0.518914033696144,1.018914033729990,1.581085966445990,1.481085966439220
+1.8,0.511555376636002,1.011555376692340,1.588444623600610,1.488444623589340
+1.86,0.504490283850527,1.004490283850340,1.595509716148690,1.495509716148730
+1.92,0.497703718700949,0.997703718634016,1.602296281017920,1.502296281031310
+1.98,0.491181664345762,0.991181664288434,1.608818335413460,1.508818335424930
+2.04,0.484910953405526,0.984910953435013,1.615089046718310,1.515089046712410
+2.1,0.478879168944684,0.978879168993757,1.621120831261410,1.521120831251600
+2.16,0.473074675970637,0.973074675970475,1.626925324028680,1.526925324028720
+2.22,0.467486570409675,0.967486570351165,1.632513429344570,1.532513429356280
+2.28,0.462104636861806,0.962104636811699,1.637895362927730,1.537895362937750
+2.34,0.456919238262188,0.956919238287975,1.643080761846110,1.543080761840950
+2.4,0.451921252264172,0.951921252307076,1.648078747916010,1.548078747907430
+2.46,0.447102092703357,0.947102092703216,1.652897907296040,1.552897907296070
+2.52,0.442453676746219,0.942453676694890,1.657546323038200,1.557546323048470
+2.58,0.437968399770924,0.937968399726973,1.662031600044470,1.562031600053260
+2.64,0.433639061574439,0.933639061597068,1.666360938520600,1.566360938516070
+2.7,0.429458824207219,0.929458824244861,1.670541175950870,1.570541175943340
+2.76,0.425421226983335,0.925421226983269,1.674578773016390,1.574578773016400
+2.82,0.421520171408872,0.921520171390925,1.678479828515740,1.578479828519330
+2.88,0.417749884263303,0.917749884259636,1.682250115721290,1.582250115722020
+2.94,0.414104881087427,0.914104881100511,1.685895118967530,1.585895118964910
+3,0.410579953532675,0.910579953532675,1.689420046467320,1.589420046467320
diff --git a/models/sbml-test-suite/cases/semantic/00318/00318-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00318/00318-sbml-l1v2.xml
new file mode 100644
index 0000000..90f234c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00318/00318-sbml-l1v2.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00318">
+    <listOfCompartments>
+      <compartment name="C" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1.1" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.0365"/>
+      <parameter name="k2" value="0.0025"/>
+      <parameter name="p1" value="0.1"/>
+      <parameter name="p2" value="0.9"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="p1 * p2" compartment="C"/>
+      <parameterRule formula="0.1" type="rate" name="p2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3 * S4"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00318/00318-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00318/00318-sbml-l2v4.xml
new file mode 100644
index 0000000..3e3643f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00318/00318-sbml-l2v4.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00318" id="case00318" name="case00318">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.0365"/>
+      <parameter id="k2" name="k2" value="0.0025"/>
+      <parameter id="p1" name="p1" value="0.1"/>
+      <parameter id="p2" name="p2" value="0.9" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00318/00318-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00318/00318-sbml-l3v1.xml
new file mode 100644
index 0000000..def2b07
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00318/00318-sbml-l3v1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00318" id="case00318" name="case00318" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.0365" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0025" constant="true"/>
+      <parameter id="p1" name="p1" value="0.1" constant="true"/>
+      <parameter id="p2" name="p2" value="0.9" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00318/00318-settings.txt b/models/sbml-test-suite/cases/semantic/00318/00318-settings.txt
new file mode 100644
index 0000000..8005eb0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00318/00318-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00319/00319-results.csv b/models/sbml-test-suite/cases/semantic/00319/00319-results.csv
new file mode 100644
index 0000000..eea0d8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00319/00319-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,0
+0.12,1.24601,0.253992,0.078
+0.24,1.03502,0.464975,0.156
+0.36,0.859766,0.640234,0.234
+0.48,0.714184,0.785816,0.312
+0.6,0.593253,0.906747,0.39
+0.72,0.492799,1.0072,0.468
+0.84,0.409354,1.09065,0.546
+0.96,0.340039,1.15996,0.624
+1.08,0.282461,1.21754,0.702
+1.2,0.234632,1.26537,0.78
+1.32,0.194903,1.3051,0.858
+1.44,0.1619,1.3381,0.936
+1.56,0.134486,1.36551,1.014
+1.68,0.111714,1.38829,1.092
+1.8,0.0927976,1.4072,1.17
+1.92,0.0770844,1.42292,1.248
+2.04,0.0640318,1.43597,1.326
+2.16,0.0531895,1.44681,1.404
+2.28,0.044183,1.45582,1.482
+2.4,0.0367016,1.4633,1.56
+2.52,0.030487,1.46951,1.638
+2.64,0.0253247,1.47468,1.716
+2.76,0.0210365,1.47896,1.794
+2.88,0.0174745,1.48253,1.872
+3,0.0145155,1.48548,1.95
+3.12,0.0120577,1.48794,2.028
+3.24,0.010016,1.48998,2.106
+3.36,0.00831998,1.49168,2.184
+3.48,0.00691118,1.49309,2.262
+3.6,0.00574093,1.49426,2.34
+3.72,0.00476883,1.49523,2.418
+3.84,0.00396133,1.49604,2.496
+3.96,0.00329057,1.49671,2.574
+4.08,0.00273338,1.49727,2.652
+4.2,0.00227055,1.49773,2.73
+4.32,0.00188608,1.49811,2.808
+4.44,0.00156671,1.49843,2.886
+4.56,0.00130143,1.4987,2.964
+4.68,0.00108106,1.49892,3.042
+4.8,0.000898005,1.4991,3.12
+4.92,0.000745948,1.49925,3.198
+5.04,0.000619638,1.49938,3.276
+5.16,0.000514716,1.49949,3.354
+5.28,0.00042756,1.49957,3.432
+5.4,0.000355163,1.49964,3.51
+5.52,0.000295024,1.4997,3.588
+5.64,0.000245068,1.49975,3.666
+5.76,0.000203571,1.4998,3.744
+5.88,0.000169101,1.49983,3.822
+6,0.000140467,1.49986,3.9
diff --git a/models/sbml-test-suite/cases/semantic/00319/00319-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00319/00319-sbml-l2v4.xml
new file mode 100644
index 0000000..cc15505
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00319/00319-sbml-l2v4.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00319" id="case00319" name="case00319">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.546"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.65 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00319/00319-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00319/00319-sbml-l3v1.xml
new file mode 100644
index 0000000..6a40dbd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00319/00319-sbml-l3v1.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00319" id="case00319" name="case00319" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.546" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.65 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00319/00319-settings.txt b/models/sbml-test-suite/cases/semantic/00319/00319-settings.txt
new file mode 100644
index 0000000..1610d74
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00319/00319-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00320/00320-results.csv b/models/sbml-test-suite/cases/semantic/00320/00320-results.csv
new file mode 100644
index 0000000..d5e1c92
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00320/00320-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,0
+0.06,1.36712,0.132882,0.039
+0.12,1.24601,0.253992,0.078
+0.18,1.13563,0.364373,0.117
+0.24,1.03502,0.464975,0.156
+0.3,0.943334,0.556666,0.195
+0.36,0.859766,0.640234,0.234
+0.42,0.783601,0.716399,0.273
+0.48,0.714184,0.785816,0.312
+0.54,0.650916,0.849084,0.351
+0.6,0.593253,0.906747,0.39
+0.66,0.540698,0.959302,0.429
+0.72,0.492799,1.0072,0.468
+0.78,0.449143,1.05086,0.507
+0.84,0.409354,1.09065,0.546
+0.9,0.37309,1.12691,0.585
+0.96,0.340039,1.15996,0.624
+1.02,0.309916,1.19008,0.663
+1.08,0.282461,1.21754,0.702
+1.14,0.257438,1.24256,0.741
+1.2,0.234632,1.26537,0.78
+1.26,0.213847,1.28615,0.819
+1.32,0.194903,1.3051,0.858
+1.38,0.177637,1.32236,0.897
+1.44,0.1619,1.3381,0.936
+1.5,0.147558,1.35244,0.975
+1.56,0.134486,1.36551,1.014
+1.62,0.122572,1.37743,1.053
+1.68,0.111714,1.38829,1.092
+1.74,0.101817,1.39818,1.131
+1.8,0.0927976,1.4072,1.17
+1.86,0.0845768,1.41542,1.209
+1.92,0.0770844,1.42292,1.248
+1.98,0.0702556,1.42974,1.287
+2.04,0.0640318,1.43597,1.326
+2.1,0.0583594,1.44164,1.365
+2.16,0.0531895,1.44681,1.404
+2.22,0.0484775,1.45152,1.443
+2.28,0.044183,1.45582,1.482
+2.34,0.0402689,1.45973,1.521
+2.4,0.0367016,1.4633,1.56
+2.46,0.0334503,1.46655,1.599
+2.52,0.030487,1.46951,1.638
+2.58,0.0277862,1.47221,1.677
+2.64,0.0253247,1.47468,1.716
+2.7,0.0230812,1.47692,1.755
+2.76,0.0210365,1.47896,1.794
+2.82,0.0191729,1.48083,1.833
+2.88,0.0174745,1.48253,1.872
+2.94,0.0159264,1.48407,1.911
+3,0.0145155,1.48548,1.95
diff --git a/models/sbml-test-suite/cases/semantic/00320/00320-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00320/00320-sbml-l2v4.xml
new file mode 100644
index 0000000..360617c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00320/00320-sbml-l2v4.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00320" id="case00320" name="case00320">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.546"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.65 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00320/00320-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00320/00320-sbml-l3v1.xml
new file mode 100644
index 0000000..a29cc54
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00320/00320-sbml-l3v1.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00320" id="case00320" name="case00320" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.546" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.65 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00320/00320-settings.txt b/models/sbml-test-suite/cases/semantic/00320/00320-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00320/00320-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00321/00321-results.csv b/models/sbml-test-suite/cases/semantic/00321/00321-results.csv
new file mode 100644
index 0000000..22d7cda
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00321/00321-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,0
+0.1,1.28514,0.214863,0.065
+0.2,1.10105,0.398949,0.13
+0.3,0.943334,0.556666,0.195
+0.4,0.808209,0.691791,0.26
+0.5,0.692439,0.807561,0.325
+0.6,0.593253,0.906747,0.39
+0.7,0.508274,0.991726,0.455
+0.8,0.435468,1.06453,0.52
+0.9,0.37309,1.12691,0.585
+1,0.319648,1.18035,0.65
+1.1,0.273861,1.22614,0.715
+1.2,0.234632,1.26537,0.78
+1.3,0.201023,1.29898,0.845
+1.4,0.172228,1.32777,0.91
+1.5,0.147558,1.35244,0.975
+1.6,0.126421,1.37358,1.04
+1.7,0.108312,1.39169,1.105
+1.8,0.0927976,1.4072,1.17
+1.9,0.079505,1.42049,1.235
+2,0.0681166,1.43188,1.3
+2.1,0.0583594,1.44164,1.365
+2.2,0.0499999,1.45,1.43
+2.3,0.0428378,1.45716,1.495
+2.4,0.0367016,1.4633,1.56
+2.5,0.0314444,1.46856,1.625
+2.6,0.0269402,1.47306,1.69
+2.7,0.0230812,1.47692,1.755
+2.8,0.019775,1.48022,1.82
+2.9,0.0169424,1.48306,1.885
+3,0.0145155,1.48548,1.95
+3.1,0.0124363,1.48756,2.015
+3.2,0.0106549,1.48935,2.08
+3.3,0.00912867,1.49087,2.145
+3.4,0.00782106,1.49218,2.21
+3.5,0.00670076,1.4933,2.275
+3.6,0.00574093,1.49426,2.34
+3.7,0.00491858,1.49508,2.405
+3.8,0.00421403,1.49579,2.47
+3.9,0.00361041,1.49639,2.535
+4,0.00309324,1.49691,2.6
+4.1,0.00265016,1.49735,2.665
+4.2,0.00227055,1.49773,2.73
+4.3,0.00194531,1.49805,2.795
+4.4,0.00166666,1.49833,2.86
+4.5,0.00142792,1.49857,2.925
+4.6,0.00122338,1.49878,2.99
+4.7,0.00104814,1.49895,3.055
+4.8,0.000898005,1.4991,3.12
+4.9,0.000769373,1.49923,3.185
+5,0.000659166,1.49934,3.25
diff --git a/models/sbml-test-suite/cases/semantic/00321/00321-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00321/00321-sbml-l2v4.xml
new file mode 100644
index 0000000..83f9d5a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00321/00321-sbml-l2v4.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00321" id="case00321" name="case00321">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.546"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.65 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00321/00321-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00321/00321-sbml-l3v1.xml
new file mode 100644
index 0000000..a6843df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00321/00321-sbml-l3v1.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00321" id="case00321" name="case00321" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.546" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.65 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00321/00321-settings.txt b/models/sbml-test-suite/cases/semantic/00321/00321-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00321/00321-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00322/00322-results.csv b/models/sbml-test-suite/cases/semantic/00322/00322-results.csv
new file mode 100644
index 0000000..78e9da4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00322/00322-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01499999999999999,0.02,0.04,0.01
+0.06,0.013894236295959,0.01889423629595899,0.04110576370404093,0.0106
+0.12,0.01293035148943959,0.01793035148943958,0.04206964851056034,0.01120000000000001
+0.18,0.01208337970680152,0.01708337970680152,0.04291662029319841,0.01180000000000001
+0.24,0.01133388242207648,0.01633388242207648,0.04366611757792346,0.0124
+0.3,0.01066649883349318,0.01566649883349317,0.04433350116650676,0.013
+0.36,0.01006892965972267,0.01506892965972266,0.04493107034027726,0.0136
+0.42,0.009531210255902061,0.01453121025590205,0.04546878974409788,0.0142
+0.48,0.009045181767362577,0.01404518176736257,0.04595481823263736,0.0148
+0.54,0.008604099668818586,0.01360409966881858,0.04639590033118136,0.0154
+0.6,0.008202339686486424,0.01320233968648641,0.04679766031351352,0.016
+0.66,0.007835174461804813,0.0128351744618048,0.04716482553819513,0.0166
+0.72,0.007498601729232705,0.01249860172923269,0.04750139827076723,0.0172
+0.78,0.007189209885470745,0.01218920988547074,0.04781079011452919,0.0178
+0.84,0.006904073289334324,0.01190407328933431,0.04809592671066561,0.0184
+0.9,0.006640668333448691,0.01164066833344868,0.04835933166655125,0.019
+0.96,0.006396806700635405,0.0113968067006354,0.04860319329936453,0.01960000000000001
+1.02,0.006170581469974138,0.01117058146997413,0.0488294185300258,0.02020000000000001
+1.08,0.005960323194359024,0.01096032319435902,0.04903967680564091,0.0208
+1.14,0.005764564023871499,0.01076456402387149,0.04923543597612845,0.0214
+1.2,0.005582008131730946,0.01058200813173094,0.04941799186826899,0.022
+1.26,0.00541150719950462,0.01041150719950461,0.04958849280049531,0.0226
+1.32,0.005252039989951678,0.01025203998995167,0.04974796001004824,0.0232
+1.38,0.005102695258215377,0.01010269525821537,0.04989730474178454,0.0238
+1.44,0.004962657217450432,0.009962657217450429,0.05003734278254949,0.0244
+1.5,0.004831193397946357,0.009831193397946354,0.05016880660205357,0.025
+1.56,0.004707644319067243,0.009707644319067241,0.05029235568093268,0.0256
+1.62,0.004591414569485606,0.009591414569485602,0.05040858543051432,0.0262
+1.68,0.004481965120684526,0.009481965120684523,0.0505180348793154,0.0268
+1.74,0.004378806964970848,0.009378806964970844,0.05062119303502907,0.0274
+1.8,0.004281495309897077,0.009281495309897074,0.05071850469010284,0.02799999999999999
+1.86,0.004189624761672557,0.009189624761672555,0.05081037523832736,0.0286
+1.92,0.004102825047915328,0.009102825047915324,0.05089717495208459,0.0292
+1.98,0.004020757248911517,0.009020757248911512,0.0509792427510884,0.0298
+2.04,0.003943110685794133,0.00894311068579413,0.05105688931420578,0.0304
+2.1,0.003869599855771032,0.008869599855771029,0.05113040014422887,0.031
+2.16,0.003799962064009376,0.008799962064009372,0.05120003793599053,0.0316
+2.22,0.003733955212692638,0.008733955212692634,0.05126604478730727,0.03219999999999999
+2.28,0.003671355763789175,0.008671355763789172,0.05132864423621073,0.03279999999999999
+2.34,0.003611957002567845,0.008611957002567841,0.05138804299743206,0.03339999999999999
+2.4,0.003555567533007039,0.008555567533007037,0.05144443246699286,0.03399999999999999
+2.46,0.003502009891531386,0.008502009891531384,0.05149799010846851,0.03459999999999999
+2.52,0.003451119309474218,0.008451119309474215,0.05154888069052569,0.03519999999999999
+2.58,0.00340274256959411,0.008402742569594107,0.0515972574304058,0.03579999999999999
+2.64,0.003356737061852348,0.008356737061852343,0.05164326293814756,0.03639999999999998
+2.7,0.003312969880610347,0.008312969880610343,0.05168703011938956,0.03699999999999998
+2.76,0.003271317023927509,0.008271317023927506,0.0517286829760724,0.03759999999999998
+2.82,0.003231662671274905,0.0082316626712749,0.051768337328725,0.03819999999999999
+2.88,0.003193898530822479,0.008193898530822476,0.05180610146917742,0.03879999999999998
+2.94,0.003157923249807987,0.008157923249807984,0.05184207675019191,0.03939999999999999
+3.,0.003123641878180672,0.008123641878180668,0.05187635812181922,0.03999999999999999
diff --git a/models/sbml-test-suite/cases/semantic/00322/00322-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00322/00322-sbml-l2v4.xml
new file mode 100644
index 0000000..563f2d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00322/00322-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00322" id="case00322" name="case00322">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.04" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="69"/>
+      <parameter id="k2" name="k2" value="0.023"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 100 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00322/00322-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00322/00322-sbml-l3v1.xml
new file mode 100644
index 0000000..0e49b3e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00322/00322-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00322" id="case00322" name="case00322" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.04" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="69" constant="true"/>
+      <parameter id="k2" name="k2" value="0.023" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 100 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00322/00322-settings.txt b/models/sbml-test-suite/cases/semantic/00322/00322-settings.txt
new file mode 100644
index 0000000..5ff6299
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00322/00322-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00323/00323-results.csv b/models/sbml-test-suite/cases/semantic/00323/00323-results.csv
new file mode 100644
index 0000000..7c71894
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00323/00323-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00015,0.0002,0.0004,0.0001
+0.1,0.0001316163253812888,0.0001816163253812888,0.0004183836746187115,0.00011
+0.2,0.0001168214499428847,0.0001668214499428847,0.0004331785500571156,0.00012
+0.3,0.0001046665503300036,0.0001546665503300036,0.0004453334496699967,0.00013
+0.4,0.00009451014811039423,0.0001445101481103941,0.0004554898518896062,0.0001399999999999999
+0.5,0.0000859029838159684,0.0001359029838159683,0.0004640970161840318,0.0001499999999999999
+0.6,0.00007852103545516139,0.0001285210354551613,0.0004714789645448387,0.0001599999999999999
+0.7,0.00007212471854842257,0.0001221247185484225,0.0004778752814515776,0.0001699999999999999
+0.8,0.00006653306282929624,0.0001165330628292961,0.000483466937170704,0.0001799999999999999
+0.9,0.00006160681780690567,0.0001116068178069056,0.0004883931821930945,0.0001899999999999999
+1.,0.00005723708577316515,0.000107237085773165,0.000492762914226835,0.0001999999999999999
+1.1,0.00005333747541735744,0.0001033374754173573,0.0004966625245826428,0.0002099999999999999
+1.2,0.00004983857467259951,0.00009983857467259942,0.0005001614253274007,0.0002199999999999999
+1.3,0.00004668397228466504,0.00009668397228466492,0.0005033160277153353,0.0002299999999999998
+1.4,0.00004382734944756585,0.00009382734944756574,0.0005061726505524344,0.0002399999999999999
+1.5,0.00004123031889334086,0.00009123031889334074,0.0005087696811066594,0.0002499999999999999
+1.6,0.0000388607962463258,0.00008886079624632572,0.0005111392037536743,0.0002599999999999999
+1.7,0.00003669175620886139,0.0000866917562088613,0.0005133082437911388,0.0002699999999999999
+1.8,0.00003470027420302759,0.00008470027420302752,0.0005152997257969725,0.0002799999999999999
+1.9,0.00003286677453935269,0.00008286677453935262,0.0005171332254606474,0.0002899999999999998
+2.,0.0000311744419112064,0.00008117444191120632,0.0005188255580887938,0.0002999999999999998
+2.1,0.00002960874973085165,0.00007960874973085158,0.0005203912502691485,0.0003099999999999998
+2.2,0.00002815708382805931,0.00007815708382805923,0.0005218429161719409,0.0003199999999999998
+2.3,0.0000268084375668534,0.00007680843756685333,0.0005231915624331468,0.0003299999999999998
+2.4,0.00002555316310911666,0.00007555316310911657,0.0005244468368908836,0.0003399999999999998
+2.5,0.00002438276815973252,0.00007438276815973243,0.0005256172318402678,0.0003499999999999997
+2.6,0.00002328974737450004,0.00007328974737449993,0.0005267102526255003,0.0003599999999999998
+2.7,0.00002226744315652074,0.00007226744315652064,0.0005277325568434796,0.0003699999999999998
+2.8,0.00002130992905070665,0.00007130992905070654,0.0005286900709492938,0.0003799999999999998
+2.9,0.00002041191194636861,0.0000704119119463685,0.0005295880880536317,0.0003899999999999998
+3.,0.00001956864949089404,0.00006956864949089395,0.0005304313505091062,0.0003999999999999998
+3.1,0.00001877588072387674,0.00006877588072387665,0.0005312241192761236,0.0004099999999999998
+3.2,0.00001802976530926542,0.00006802976530926532,0.0005319702346907348,0.0004199999999999998
+3.3,0.00001732683387910517,0.00006732683387910507,0.0005326731661208951,0.0004299999999999998
+3.4,0.00001666394399325347,0.00006666394399325338,0.0005333360560067468,0.0004399999999999999
+3.5,0.00001603824191104827,0.00006603824191104818,0.000533961758088952,0.0004499999999999998
+3.6,0.00001544713113108906,0.00006544713113108897,0.0005345528688689112,0.0004599999999999998
+3.7,0.00001488824304976633,0.00006488824304976624,0.000535111756950234,0.0004699999999999998
+3.8,0.0000143594135011494,0.00006435941350114932,0.0005356405864988511,0.0004799999999999998
+3.9,0.00001385865994428452,0.00006385865994428442,0.0005361413400557158,0.0004899999999999998
+4.,0.00001338416408843401,0.00006338416408843392,0.0005366158359115663,0.0004999999999999997
+4.1,0.00001293425430420289,0.0000629342543042028,0.0005370657456957975,0.0005099999999999999
+4.2,0.00001250739148961633,0.00006250739148961624,0.0005374926085103841,0.0005199999999999998
+4.3,0.00001210215642407381,0.00006210215642407372,0.0005378978435759266,0.0005299999999999998
+4.4,0.00001171723790046718,0.0000617172379004671,0.0005382827620995332,0.00054
+4.5,0.00001135142290622066,0.00006135142290622058,0.0005386485770937797,0.0005499999999999999
+4.6,0.00001100358779853542,0.00006100358779853534,0.000538996412201465,0.0005599999999999999
+4.7,0.00001067269001596165,0.00006067269001596157,0.0005393273099840389,0.0005699999999999999
+4.8,0.00001035776092932197,0.00006035776092932189,0.0005396422390706785,0.0005799999999999998
+4.9,0.00001005789949358027,0.00006005789949358019,0.0005399421005064203,0.0005899999999999999
+5.,9.772266638768184e-6,0.0000597722666387681,0.0005402277333612323,0.0005999999999999998
diff --git a/models/sbml-test-suite/cases/semantic/00323/00323-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00323/00323-sbml-l2v4.xml
new file mode 100644
index 0000000..de9b619
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00323/00323-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00323" id="case00323" name="case00323">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0004" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="6900"/>
+      <parameter id="k2" name="k2" value="0.0023"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 10000 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00323/00323-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00323/00323-sbml-l3v1.xml
new file mode 100644
index 0000000..0e2471e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00323/00323-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00323" id="case00323" name="case00323" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0004" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="6900" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0023" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 10000 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00323/00323-settings.txt b/models/sbml-test-suite/cases/semantic/00323/00323-settings.txt
new file mode 100644
index 0000000..17c3ca9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00323/00323-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00324/00324-results.csv b/models/sbml-test-suite/cases/semantic/00324/00324-results.csv
new file mode 100644
index 0000000..bc79959
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00324/00324-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01499999999999999,0.02,0.04,0.01
+0.16,0.01235400878915678,0.0173540087891568,0.04264599121084324,0.0116
+0.32,0.01046008629741679,0.01546008629741681,0.04453991370258324,0.0132
+0.48,0.00904518176733703,0.01404518176733705,0.04595481823266299,0.01479999999999999
+0.64,0.007953979389205204,0.01295397938920522,0.04704602061079482,0.01639999999999999
+0.8,0.007091601540225644,0.01209160154022566,0.04790839845977438,0.01799999999999999
+0.96,0.00639680670072147,0.01139680670072149,0.04860319329927855,0.01959999999999999
+1.12,0.005828289289103193,0.01082828928910321,0.04917171071089682,0.02119999999999999
+1.28,0.005357172597503614,0.01035717259750364,0.04964282740249641,0.02279999999999999
+1.44,0.004962657217429854,0.009962657217429882,0.05003734278257017,0.02439999999999999
+1.6,0.004629378911684157,0.009629378911684185,0.05037062108831586,0.02599999999999999
+1.76,0.004345740919719564,0.009345740919719595,0.05065425908028045,0.02759999999999999
+1.92,0.004102825047979834,0.009102825047979865,0.05089717495202018,0.02919999999999999
+2.08,0.003893660582293422,0.008893660582293455,0.0511063394177066,0.03079999999999999
+2.24,0.003712720681787602,0.008712720681787637,0.05128727931821242,0.03239999999999999
+2.4,0.003555567533047703,0.008555567533047737,0.05144443246695232,0.034
+2.56,0.003418597848019324,0.008418597848019359,0.05158140215198069,0.0356
+2.72,0.003298856552593621,0.008298856552593656,0.05170114344740639,0.03720000000000001
+2.88,0.003193898530828397,0.008193898530828434,0.05180610146917161,0.0388
+3.04,0.003101684480350926,0.008101684480350963,0.05189831551964908,0.0404
+3.2,0.003020501425913638,0.008020501425913675,0.05197949857408636,0.04200000000000001
+3.36,0.002948901157592547,0.007948901157592587,0.05205109884240744,0.0436
+3.52,0.002885652362943881,0.007885652362943923,0.05211434763705611,0.0452
+3.68,0.002829702583018779,0.007829702583018821,0.05217029741698121,0.0468
+3.84,0.00278014819367522,0.007780148193675263,0.05221985180632476,0.0484
+4.,0.002736209976312178,0.00773620997631222,0.05226379002368781,0.05
+4.16,0.002697213519507901,0.007697213519507942,0.05230278648049208,0.0516
+4.32,0.002662573131492509,0.00766257313149255,0.05233742686850747,0.0532
+4.48,0.00263177860970832,0.007631778609708362,0.05236822139029166,0.0548
+4.64,0.002604384329636084,0.007604384329636125,0.05239561567036388,0.05639999999999999
+4.8,0.002580000062189588,0.007580000062189631,0.05241999993781038,0.05799999999999998
+4.96,0.002558283341795909,0.00755828334179595,0.05244171665820406,0.05959999999999999
+5.12,0.002538933060483854,0.007538933060483895,0.05246106693951611,0.06119999999999999
+5.28,0.002521683974793699,0.00752168397479374,0.05247831602520627,0.06279999999999999
+5.44,0.002506302042751546,0.007506302042751586,0.05249369795724841,0.06439999999999999
+5.6,0.002492580475046066,0.007492580475046107,0.05250741952495389,0.066
+5.76,0.002480336347167951,0.007480336347167991,0.052519663652832,0.06759999999999999
+5.92,0.002469407604734281,0.007469407604734322,0.05253059239526567,0.06919999999999999
+6.08,0.002459650581774736,0.007459650581774777,0.05254034941822521,0.0708
+6.24,0.002450937773824464,0.007450937773824504,0.05254906222617548,0.07239999999999999
+6.4,0.002443155919872494,0.007443155919872533,0.05255684408012745,0.07399999999999999
+6.56,0.002436204362675535,0.007436204362675574,0.05256379563732441,0.07559999999999998
+6.72,0.002429993544652198,0.007429993544652237,0.05257000645534775,0.07719999999999997
+6.88,0.002424443774884383,0.007424443774884422,0.05257555622511556,0.07879999999999998
+7.04,0.002419484093740279,0.007419484093740318,0.05258051590625967,0.08039999999999997
+7.2,0.002415051271993611,0.007415051271993649,0.05258494872800634,0.08199999999999999
+7.36,0.002411088946568401,0.007411088946568438,0.05258891105343155,0.08359999999999999
+7.52,0.002407546866954923,0.007407546866954961,0.05259245313304503,0.08519999999999998
+7.68,0.002404380219785031,0.007404380219785068,0.05259561978021492,0.08679999999999998
+7.84,0.00240154901552201,0.007401549015522047,0.05259845098447794,0.08839999999999997
+8.,0.00239901755887605,0.007399017558876087,0.05260098244112389,0.08999999999999998
diff --git a/models/sbml-test-suite/cases/semantic/00324/00324-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00324/00324-sbml-l2v4.xml
new file mode 100644
index 0000000..b5688cb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00324/00324-sbml-l2v4.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00324" id="case00324" name="case00324">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.04" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="69"/>
+      <parameter id="k2" name="k2" value="0.023"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 100 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00324/00324-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00324/00324-sbml-l3v1.xml
new file mode 100644
index 0000000..7a7f0eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00324/00324-sbml-l3v1.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00324" id="case00324" name="case00324" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.04" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="69" constant="true"/>
+      <parameter id="k2" name="k2" value="0.023" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 100 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00324/00324-settings.txt b/models/sbml-test-suite/cases/semantic/00324/00324-settings.txt
new file mode 100644
index 0000000..a08741a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00324/00324-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00325/00325-results.csv b/models/sbml-test-suite/cases/semantic/00325/00325-results.csv
new file mode 100644
index 0000000..deff2a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00325/00325-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2,1.5,4
+0.16,1.33038,2.16962,1.56,3.98
+0.32,1.17994,2.32006,1.62,3.96
+0.48,1.04651,2.45349,1.68,3.94
+0.64,0.928175,2.57182,1.74,3.92
+0.8,0.823217,2.67678,1.8,3.9
+0.96,0.730128,2.76987,1.86,3.88
+1.12,0.647566,2.85243,1.92,3.86
+1.28,0.574339,2.92566,1.98,3.84
+1.44,0.509393,2.99061,2.04,3.82
+1.6,0.451791,3.04821,2.1,3.8
+1.76,0.400703,3.0993,2.16,3.78
+1.92,0.355392,3.14461,2.22,3.76
+2.08,0.315204,3.1848,2.28,3.74
+2.24,0.279561,3.22044,2.34,3.72
+2.4,0.247948,3.25205,2.4,3.7
+2.56,0.21991,3.28009,2.46,3.68
+2.72,0.195043,3.30496,2.52,3.66
+2.88,0.172988,3.32701,2.58,3.64
+3.04,0.153426,3.34657,2.64,3.62
+3.2,0.136077,3.36392,2.7,3.6
+3.36,0.120689,3.37931,2.76,3.58
+3.52,0.107042,3.39296,2.82,3.56
+3.68,0.0949377,3.40506,2.88,3.54
+3.84,0.0842021,3.4158,2.94,3.52
+4,0.0746806,3.42532,3,3.5
+4.16,0.0662358,3.43376,3.06,3.48
+4.32,0.0587458,3.44125,3.12,3.46
+4.48,0.0521029,3.4479,3.18,3.44
+4.64,0.0462111,3.45379,3.24,3.42
+4.8,0.0409856,3.45901,3.3,3.4
+4.96,0.036351,3.46365,3.36,3.38
+5.12,0.0322404,3.46776,3.42,3.36
+5.28,0.0285947,3.47141,3.48,3.34
+5.44,0.0253612,3.47464,3.54,3.32
+5.6,0.0224934,3.47751,3.6,3.3
+5.76,0.0199498,3.48005,3.66,3.28
+5.92,0.0176939,3.48231,3.72,3.26
+6.08,0.0156931,3.48431,3.78,3.24
+6.24,0.0139185,3.48608,3.84,3.22
+6.4,0.0123446,3.48766,3.9,3.2
+6.56,0.0109487,3.48905,3.96,3.18
+6.72,0.00971062,3.49029,4.02,3.16
+6.88,0.00861255,3.49139,4.08,3.14
+7.04,0.00763865,3.49236,4.14,3.12
+7.2,0.00677487,3.49323,4.2,3.1
+7.36,0.00600877,3.49399,4.26,3.08
+7.52,0.0053293,3.49467,4.32,3.06
+7.68,0.00472667,3.49527,4.38,3.04
+7.84,0.00419218,3.49581,4.44,3.02
+8,0.00371813,3.49628,4.5,3
diff --git a/models/sbml-test-suite/cases/semantic/00325/00325-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00325/00325-sbml-l2v4.xml
new file mode 100644
index 0000000..a57e959
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00325/00325-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00325" id="case00325" name="case00325">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00325/00325-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00325/00325-sbml-l3v1.xml
new file mode 100644
index 0000000..9375ef5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00325/00325-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00325" id="case00325" name="case00325" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00325/00325-settings.txt b/models/sbml-test-suite/cases/semantic/00325/00325-settings.txt
new file mode 100644
index 0000000..aa3b564
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00325/00325-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00326/00326-results.csv b/models/sbml-test-suite/cases/semantic/00326/00326-results.csv
new file mode 100644
index 0000000..c6da7c2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00326/00326-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2,1.5,4
+0.1,1.39162,2.10838,1.5375,3.9875
+0.2,1.29106,2.20894,1.575,3.975
+0.3,1.19777,2.30223,1.6125,3.9625
+0.4,1.11123,2.38877,1.65,3.95
+0.5,1.03093,2.46907,1.6875,3.9375
+0.6,0.956442,2.54356,1.725,3.925
+0.7,0.887333,2.61267,1.7625,3.9125
+0.8,0.823217,2.67678,1.8,3.9
+0.9,0.763735,2.73627,1.8375,3.8875
+1,0.70855,2.79145,1.875,3.875
+1.1,0.657352,2.84265,1.9125,3.8625
+1.2,0.609854,2.89015,1.95,3.85
+1.3,0.565789,2.93421,1.9875,3.8375
+1.4,0.524907,2.97509,2.025,3.825
+1.5,0.486979,3.01302,2.0625,3.8125
+1.6,0.451791,3.04821,2.1,3.8
+1.7,0.419146,3.08085,2.1375,3.7875
+1.8,0.38886,3.11114,2.175,3.775
+1.9,0.360763,3.13924,2.2125,3.7625
+2,0.334695,3.1653,2.25,3.75
+2.1,0.310511,3.18949,2.2875,3.7375
+2.2,0.288075,3.21193,2.325,3.725
+2.3,0.26726,3.23274,2.3625,3.7125
+2.4,0.247948,3.25205,2.4,3.7
+2.5,0.230032,3.26997,2.4375,3.6875
+2.6,0.213411,3.28659,2.475,3.675
+2.7,0.197991,3.30201,2.5125,3.6625
+2.8,0.183685,3.31632,2.55,3.65
+2.9,0.170412,3.32959,2.5875,3.6375
+3,0.158099,3.3419,2.625,3.625
+3.1,0.146675,3.35332,2.6625,3.6125
+3.2,0.136077,3.36392,2.7,3.6
+3.3,0.126244,3.37376,2.7375,3.5875
+3.4,0.117122,3.38288,2.775,3.575
+3.5,0.10866,3.39134,2.8125,3.5625
+3.6,0.100808,3.39919,2.85,3.55
+3.7,0.0935242,3.40648,2.8875,3.5375
+3.8,0.0867665,3.41323,2.925,3.525
+3.9,0.080497,3.4195,2.9625,3.5125
+4,0.0746806,3.42532,3,3.5
+4.1,0.0692844,3.43072,3.0375,3.4875
+4.2,0.0642782,3.43572,3.075,3.475
+4.3,0.0596337,3.44037,3.1125,3.4625
+4.4,0.0553248,3.44468,3.15,3.45
+4.5,0.0513272,3.44867,3.1875,3.4375
+4.6,0.0476185,3.45238,3.225,3.425
+4.7,0.0441777,3.45582,3.2625,3.4125
+4.8,0.0409856,3.45901,3.3,3.4
+4.9,0.0380241,3.46198,3.3375,3.3875
+5,0.0352766,3.46472,3.375,3.375
diff --git a/models/sbml-test-suite/cases/semantic/00326/00326-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00326/00326-sbml-l2v4.xml
new file mode 100644
index 0000000..6b220fc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00326/00326-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00326" id="case00326" name="case00326">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00326/00326-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00326/00326-sbml-l3v1.xml
new file mode 100644
index 0000000..16cd00f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00326/00326-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00326" id="case00326" name="case00326" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00326/00326-settings.txt b/models/sbml-test-suite/cases/semantic/00326/00326-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00326/00326-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00327/00327-results.csv b/models/sbml-test-suite/cases/semantic/00327/00327-results.csv
new file mode 100644
index 0000000..7ac54ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00327/00327-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2,1.5,4
+0.2,1.29106,2.20894,1.575,3.975
+0.4,1.11123,2.38877,1.65,3.95
+0.6,0.956442,2.54356,1.725,3.925
+0.8,0.823217,2.67678,1.8,3.9
+1,0.70855,2.79145,1.875,3.875
+1.2,0.609854,2.89015,1.95,3.85
+1.4,0.524907,2.97509,2.025,3.825
+1.6,0.451791,3.04821,2.1,3.8
+1.8,0.38886,3.11114,2.175,3.775
+2,0.334695,3.1653,2.25,3.75
+2.2,0.288075,3.21193,2.325,3.725
+2.4,0.247948,3.25205,2.4,3.7
+2.6,0.213411,3.28659,2.475,3.675
+2.8,0.183685,3.31632,2.55,3.65
+3,0.158099,3.3419,2.625,3.625
+3.2,0.136077,3.36392,2.7,3.6
+3.4,0.117122,3.38288,2.775,3.575
+3.6,0.100808,3.39919,2.85,3.55
+3.8,0.0867665,3.41323,2.925,3.525
+4,0.0746806,3.42532,3,3.5
+4.2,0.0642782,3.43572,3.075,3.475
+4.4,0.0553248,3.44468,3.15,3.45
+4.6,0.0476185,3.45238,3.225,3.425
+4.8,0.0409856,3.45901,3.3,3.4
+5,0.0352766,3.46472,3.375,3.375
+5.2,0.0303629,3.46964,3.45,3.35
+5.4,0.0261336,3.47387,3.525,3.325
+5.6,0.0224934,3.47751,3.6,3.3
+5.8,0.0193602,3.48064,3.675,3.275
+6,0.0166635,3.48334,3.75,3.25
+6.2,0.0143424,3.48566,3.825,3.225
+6.4,0.0123446,3.48766,3.9,3.2
+6.6,0.0106251,3.48937,3.975,3.175
+6.8,0.00914512,3.49085,4.05,3.15
+7,0.00787128,3.49213,4.125,3.125
+7.2,0.00677487,3.49323,4.2,3.1
+7.4,0.00583119,3.49417,4.275,3.075
+7.6,0.00501895,3.49498,4.35,3.05
+7.8,0.00431985,3.49568,4.425,3.025
+8,0.00371813,3.49628,4.5,3
+8.2,0.00320022,3.4968,4.575,2.975
+8.4,0.00275446,3.49725,4.65,2.95
+8.6,0.00237078,3.49763,4.725,2.925
+8.8,0.00204055,3.49796,4.8,2.9
+9,0.00175632,3.49824,4.875,2.875
+9.2,0.00151168,3.49849,4.95,2.85
+9.4,0.00130111,3.4987,5.025,2.825
+9.6,0.00111988,3.49888,5.1,2.8
+9.8,0.000963889,3.49904,5.175,2.775
+10,0.000829627,3.49917,5.25,2.75
diff --git a/models/sbml-test-suite/cases/semantic/00327/00327-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00327/00327-sbml-l2v4.xml
new file mode 100644
index 0000000..e6d93b9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00327/00327-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00327" id="case00327" name="case00327">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00327/00327-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00327/00327-sbml-l3v1.xml
new file mode 100644
index 0000000..d06b68c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00327/00327-sbml-l3v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00327" id="case00327" name="case00327" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00327/00327-settings.txt b/models/sbml-test-suite/cases/semantic/00327/00327-settings.txt
new file mode 100644
index 0000000..76bab9a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00327/00327-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00328/00328-results.csv b/models/sbml-test-suite/cases/semantic/00328/00328-results.csv
new file mode 100644
index 0000000..1c08ff5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00328/00328-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2,1.5,4
+0.2,1.291061604338241,2.208938395661758,1.5375,3.9875
+0.4,1.111227231191427,2.388772768808573,1.575,3.975
+0.6,0.9564422712232148,2.543557728776785,1.6125,3.9625
+0.8,0.8232173525346542,2.676782647465346,1.65,3.95
+1,0.7085497196455699,2.79145028035443,1.6875,3.9375
+1.2,0.6098545366924391,2.890145463307561,1.725000000000001,3.925
+1.4,0.5249066663034147,2.975093333696586,1.7625,3.9125
+1.6,0.4517912786193564,3.048208721380644,1.8,3.9
+1.8,0.3888603857226867,3.111139614277314,1.8375,3.8875
+2,0.334695311165122,3.165304688834879,1.875,3.875
+2.2,0.2880748911766983,3.211925108823302,1.9125,3.862499999999999
+2.4,0.2479483276425975,3.252051672357403,1.95,3.849999999999999
+2.6,0.2134111397974191,3.286588860202582,1.9875,3.8375
+2.8,0.1836846948868809,3.31631530511312,2.025,3.825
+3,0.1580988552184047,3.341901144781596,2.0625,3.8125
+3.2,0.136076941743883,3.363923058256118,2.1,3.799999999999999
+3.4,0.1171225363668605,3.38287746363314,2.137500000000001,3.7875
+3.6,0.1008083014530985,3.399191698546902,2.175,3.775
+3.8,0.0867664946051602,3.413233505394841,2.2125,3.7625
+4,0.0746806196021121,3.425319380397889,2.25,3.75
+4.2,0.0642782194115554,3.435721780588446,2.2875,3.7375
+4.4,0.05532476977556732,3.444675230224433,2.325,3.725
+4.6,0.04761846512648155,3.452381534873519,2.3625,3.7125
+4.8,0.04098559981704684,3.459014400182954,2.4,3.7
+5,0.03527663733706279,3.464723362662938,2.4375,3.6875
+5.2,0.03036287797440651,3.469637122025594,2.475,3.675
+5.4,0.02613357053307971,3.473866429466921,2.5125,3.6625
+5.6,0.02249337784594791,3.477506622154053,2.55,3.65
+5.8,0.01936022972117273,3.480639770278828,2.5875,3.6375
+6,0.01666350136093459,3.483336498639067,2.625,3.625
+6.2,0.01434240963843023,3.485657590361571,2.6625,3.612499999999999
+6.4,0.01234462913820963,3.487655370861792,2.700000000000001,3.599999999999999
+6.6,0.01062511952436575,3.489374880475636,2.7375,3.5875
+6.8,0.009145124077197975,3.490854875922803,2.775,3.574999999999999
+7,0.007871282604828932,3.492128717395173,2.8125,3.562499999999999
+7.2,0.006774876603433021,3.493225123396568,2.85,3.549999999999999
+7.4,0.005831189337961595,3.49416881066204,2.887500000000001,3.537499999999999
+7.6,0.005018951043884924,3.494981048956117,2.925,3.524999999999999
+7.8,0.004319852204458344,3.495680147795543,2.9625,3.512499999999999
+8,0.003718131239709129,3.496281868760292,3,3.5
+8.2,0.003200224682025523,3.496799775317975,3.037500000000001,3.487499999999999
+8.4,0.002754459126529286,3.497245540873472,3.075000000000001,3.474999999999999
+8.6,0.002370785469039005,3.497629214530962,3.112500000000001,3.4625
+8.8,0.002040553722412068,3.497959446277589,3.150000000000001,3.449999999999999
+9,0.001756320666070736,3.49824367933393,3.1875,3.437499999999999
+9.2,0.00151167947087951,3.498488320529122,3.225000000000001,3.424999999999999
+9.4,0.00130111474494349,3.498698885255058,3.262500000000001,3.412499999999999
+9.6,0.001119879647904192,3.498880120352097,3.3,3.4
+9.8,0.0009638891943776314,3.499036110805623,3.3375,3.387499999999999
+10,0.00082962747663494,3.499170372523366,3.375,3.375
diff --git a/models/sbml-test-suite/cases/semantic/00328/00328-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00328/00328-sbml-l1v2.xml
new file mode 100644
index 0000000..efd6dd0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00328/00328-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00328">
+    <listOfCompartments>
+      <compartment name="compartment" volume="0.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="2" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="4" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.5 * k1" type="rate" species="S3"/>
+      <speciesConcentrationRule formula="-0.5 * k2" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00328/00328-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00328/00328-sbml-l2v4.xml
new file mode 100644
index 0000000..059d180
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00328/00328-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00328" id="case00328" name="case00328">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="0.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00328/00328-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00328/00328-sbml-l3v1.xml
new file mode 100644
index 0000000..e0663ee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00328/00328-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00328" id="case00328" name="case00328" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="0.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00328/00328-settings.txt b/models/sbml-test-suite/cases/semantic/00328/00328-settings.txt
new file mode 100644
index 0000000..76bab9a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00328/00328-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00329/00329-results.csv b/models/sbml-test-suite/cases/semantic/00329/00329-results.csv
new file mode 100644
index 0000000..fe44644
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00329/00329-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,0
+0.1,1.29106194024168,0.2089380597583203,0.02625
+0.2,1.111227274352737,0.3887727256472623,0.05250000000000001
+0.3,0.9564421663551397,0.5435578336448603,0.07875000000000001
+0.4,0.8232174464052903,0.6767825535947096,0.105
+0.5,0.7085498390140652,0.7914501609859347,0.13125
+0.6,0.6098543928888768,0.8901456071111231,0.1575
+0.7,0.5249065325618793,0.9750934674381208,0.18375
+0.8,0.451791346863152,1.048208653136848,0.21
+0.9,0.3888604057128782,1.111139594287122,0.23625
+1,0.3346951992021389,1.165304800797861,0.2625
+1.1,0.2880748556030299,1.21192514439697,0.28875
+1.2,0.2479483783012036,1.252051621698797,0.315
+1.3,0.2134111187645397,1.28658888123546,0.34125
+1.4,0.1836846338737289,1.316315366126271,0.3675000000000001
+1.5,0.1580988594135947,1.341901140586405,0.39375
+1.6,0.1360769637425441,1.363923036257456,0.42
+1.7,0.1171225077159524,1.382877492284048,0.44625
+1.8,0.1008082759682388,1.399191724031761,0.4725
+1.9,0.08676650785104496,1.413233492148955,0.49875
+2,0.0746806232734126,1.425319376726587,0.525
+2.1,0.06427819786222735,1.435721802137773,0.55125
+2.2,0.05532476307684215,1.444675236923158,0.5775
+2.3,0.04761847485501347,1.452381525144986,0.60375
+2.4,0.04098559567318667,1.459014404326813,0.6300000000000001
+2.5,0.03527662564537506,1.464723374354625,0.65625
+2.6,0.03036287885247176,1.469637121147528,0.6824999999999999
+2.7,0.02613357472261175,1.473866425277388,0.7087499999999999
+2.8,0.02249337229672919,1.477506627703271,0.7349999999999998
+2.9,0.01936022486192395,1.480639775138076,0.7612499999999998
+3,0.01666350393132599,1.483336496068674,0.7874999999999999
+3.1,0.01434241031113484,1.485657589688865,0.8137499999999998
+3.2,0.01234462499104447,1.487655375008956,0.8399999999999999
+3.3,0.01062511826351029,1.48937488173649,0.8662499999999997
+3.4,0.009145125945251992,1.490854874054748,0.8924999999999996
+3.5,0.007871281788940416,1.492128718211059,0.9187499999999996
+3.6,0.006774874363156227,1.493225125636844,0.9449999999999995
+3.7,0.005831189520456947,1.494168810479543,0.9712499999999997
+3.8,0.005018951841608576,1.494981048158391,0.9974999999999995
+3.9,0.004319851129805053,1.495680148870195,1.02375
+4,0.003718130313287359,1.496281869686713,1.05
+4.1,0.003200225180698033,1.496799774819302,1.07625
+4.2,0.002754459249477791,1.497245540750522,1.1025
+4.3,0.002370784670994507,1.497629215329005,1.12875
+4.4,0.002040553485197957,1.497959446514802,1.155
+4.5,0.00175632102472807,1.498243678975272,1.18125
+4.6,0.001511679310337454,1.498488320689662,1.2075
+4.7,0.001301114315706835,1.498698885684293,1.23375
+4.8,0.001119879685607367,1.498880120314393,1.26
+4.9,0.0009638894738102902,1.49903611052619,1.28625
+5,0.0008296273844694611,1.499170372615531,1.3125
diff --git a/models/sbml-test-suite/cases/semantic/00329/00329-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00329/00329-sbml-l1v2.xml
new file mode 100644
index 0000000..4feb2e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00329/00329-sbml-l1v2.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00329">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1.75" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.15" type="rate" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00329/00329-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00329/00329-sbml-l2v4.xml
new file mode 100644
index 0000000..be12357
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00329/00329-sbml-l2v4.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00329" id="case00329" name="case00329">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1.75" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00329/00329-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00329/00329-sbml-l3v1.xml
new file mode 100644
index 0000000..ad3023a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00329/00329-sbml-l3v1.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00329" id="case00329" name="case00329" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1.75" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00329/00329-settings.txt b/models/sbml-test-suite/cases/semantic/00329/00329-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00329/00329-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00330/00330-results.csv b/models/sbml-test-suite/cases/semantic/00330/00330-results.csv
new file mode 100644
index 0000000..2147cac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00330/00330-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.015,0.02,0.015,0.01
+0.1,0.01291565265638671,0.01791565265638671,0.01708434734361329,0.01093
+0.2,0.0112962225642375,0.0162962225642375,0.0187037774357625,0.01186
+0.3,0.01000423886535026,0.01500423886535026,0.01999576113464974,0.01279
+0.4,0.008951539776522837,0.01395153977652284,0.02104846022347716,0.01372
+0.5,0.008078981782437222,0.01307898178243723,0.02192101821756277,0.01465
+0.6,0.007345409436505258,0.01234540943650526,0.02265459056349474,0.01558
+0.7,0.006721295933708679,0.01172129593370868,0.02327870406629131,0.01651
+0.8,0.006184900933200671,0.01118490093320068,0.02381509906679933,0.01744
+0.9,0.00571987125368733,0.01071987125368733,0.02428012874631267,0.01837
+1,0.005313665924144095,0.0103136659241441,0.0246863340758559,0.0193
+1.1,0.004956497081592882,0.009956497081592887,0.02504350291840711,0.02023
+1.2,0.004640629541511788,0.009640629541511792,0.0253593704584882,0.02116
+1.3,0.004359851168450031,0.009359851168450036,0.02564014883154996,0.02209
+1.4,0.004109131839376164,0.009109131839376169,0.02589086816062383,0.02302
+1.5,0.003884340117732633,0.008884340117732637,0.02611565988226736,0.02395
+1.6,0.00368206451172571,0.008682064511725714,0.02631793548827428,0.02488
+1.7,0.003499449879989719,0.008499449879989723,0.02650055012001027,0.02581
+1.8,0.003334101373642332,0.008334101373642336,0.02666589862635766,0.02674
+1.9,0.003183982772166799,0.008183982772166802,0.02681601722783319,0.02767
+2,0.003047362314305004,0.008047362314305006,0.02695263768569499,0.0286
+2.1,0.002922750960958742,0.007922750960958746,0.02707724903904125,0.02953
+2.2,0.002808862898726333,0.007808862898726336,0.02719113710127366,0.03046
+2.3,0.002704585858451676,0.007704585858451679,0.02729541414154832,0.03139
+2.4,0.002608945787097054,0.007608945787097058,0.02739105421290294,0.03232
+2.5,0.002521092473464915,0.007521092473464918,0.02747890752653507,0.03325
+2.6,0.002440278053344844,0.007440278053344847,0.02755972194665515,0.03418
+2.7,0.002365839956758251,0.007365839956758253,0.02763416004324174,0.03511
+2.8,0.002297193696878909,0.007297193696878911,0.02770280630312108,0.03604
+2.9,0.002233818594842841,0.007233818594842843,0.02776618140515715,0.03696999999999999
+3,0.002175248843944062,0.007175248843944064,0.02782475115605592,0.0379
+3.1,0.002121069714238006,0.007121069714238008,0.02787893028576198,0.03882999999999999
+3.2,0.002070908504313111,0.007070908504313114,0.02792909149568688,0.03976
+3.3,0.002024428658203663,0.007024428658203666,0.02797557134179632,0.04068999999999999
+3.4,0.001981328020729391,0.006981328020729393,0.02801867197927059,0.04161999999999999
+3.5,0.001941333750996488,0.006941333750996491,0.0280586662490035,0.04254999999999999
+3.6,0.00190419729650161,0.006904197296501613,0.02809580270349838,0.04347999999999998
+3.7,0.001869693480067971,0.006869693480067975,0.02813030651993202,0.04440999999999999
+3.8,0.001837618671171812,0.006837618671171815,0.02816238132882817,0.04533999999999998
+3.9,0.001807786204462327,0.00680778620446233,0.02819221379553766,0.04626999999999999
+4,0.00178002537029585,0.006780025370295852,0.02821997462970414,0.04719999999999999
+4.1,0.001754181053812826,0.006754181053812829,0.02824581894618716,0.04812999999999999
+4.2,0.001730111358168515,0.006730111358168518,0.02826988864183147,0.04905999999999999
+4.3,0.001707685336613063,0.006707685336613065,0.02829231466338692,0.04998999999999999
+4.4,0.001686782782271349,0.006686782782271352,0.02831321721772864,0.05091999999999999
+4.5,0.001667294105818497,0.0066672941058185,0.02833270589418149,0.05184999999999998
+4.6,0.001649118172003977,0.00664911817200398,0.02835088182799601,0.05277999999999997
+4.7,0.00163216124609945,0.006632161246099453,0.02836783875390054,0.05370999999999997
+4.8,0.001616337078087532,0.006616337078087536,0.02838366292191245,0.05463999999999998
+4.9,0.001601566479771727,0.00660156647977173,0.02839843352022826,0.05556999999999999
+5,0.001587775976873535,0.006587775976873538,0.02841222402312645,0.05649999999999998
diff --git a/models/sbml-test-suite/cases/semantic/00330/00330-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00330/00330-sbml-l1v2.xml
new file mode 100644
index 0000000..01274e8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00330/00330-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00330">
+    <listOfCompartments>
+      <compartment name="compartment" volume="0.93" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.02" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.015" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0.01" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="75"/>
+      <parameter name="k2" value="0.025"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="(1/100)" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00330/00330-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00330/00330-sbml-l2v4.xml
new file mode 100644
index 0000000..6807d55
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00330/00330-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00330" id="case00330" name="case00330">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="0.93" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 100 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00330/00330-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00330/00330-sbml-l3v1.xml
new file mode 100644
index 0000000..9cb2de4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00330/00330-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00330" id="case00330" name="case00330" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="0.93" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 100 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00330/00330-settings.txt b/models/sbml-test-suite/cases/semantic/00330/00330-settings.txt
new file mode 100644
index 0000000..9701eba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00330/00330-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00331/00331-results.csv b/models/sbml-test-suite/cases/semantic/00331/00331-results.csv
new file mode 100644
index 0000000..1fc5d7b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00331/00331-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.15,0.1,0.1
+0.2,0.1057032133860833,0.1442967866139167,0.10525
+0.4,0.07448779555272069,0.1755122044472795,0.1104999999999999
+0.6,0.05249066219779822,0.1975093378022019,0.1157499999999999
+0.8,0.03698954147196806,0.2130104585280321,0.1209999999999999
+1.,0.02606609081010956,0.2239339091898905,0.1262499999999999
+1.2,0.01836846348022981,0.2316315365197703,0.1314999999999999
+1.4,0.01294403696559737,0.2370559630344027,0.1367499999999998
+1.6,0.009121509393760081,0.2408784906062401,0.1419999999999998
+1.8,0.006427818524583929,0.2435721814754162,0.1472499999999998
+2.,0.004529607329598275,0.2454703926704018,0.1524999999999997
+2.2,0.003191960377799521,0.2468080396222006,0.1577499999999997
+2.4,0.002249336334268075,0.247750663665732,0.1629999999999997
+2.6,0.001585080652259528,0.2484149193477406,0.1682499999999997
+2.8,0.001116987382680088,0.24888301261732,0.1734999999999996
+3.,0.0007871277175014625,0.2492128722824986,0.1787499999999996
+3.2,0.0005546795491494669,0.2494453204508506,0.1839999999999996
+3.4,0.0003908760439699451,0.2496091239560301,0.1892499999999995
+3.6,0.000275445713319705,0.2497245542866803,0.1944999999999995
+3.8,0.0001941033044858935,0.2498058966955141,0.1997499999999994
+4.,0.0001367822858297263,0.2498632177141703,0.2049999999999994
+4.2,0.00009638885354593587,0.2499036111464541,0.2102499999999994
+4.4,0.00006792407163661078,0.2499320759283635,0.2154999999999993
+4.6,0.00004786528725431635,0.2499521347127458,0.2207499999999993
+4.8,0.00003373009709981664,0.2499662699029003,0.2259999999999993
+5.,0.00002376919697000138,0.2499762308030301,0.2312499999999992
+5.2,0.00001674987126920472,0.2499832501287309,0.2364999999999992
+5.4,0.00001180343383881495,0.2499881965661613,0.2417499999999991
+5.6,8.31773961055665e-6,0.2499916822603896,0.2469999999999991
+5.8,5.861412066607984e-6,0.2499941385879335,0.2522499999999992
+6.,4.130467061591226e-6,0.2499958695329385,0.2574999999999992
+6.2,2.910691178370493e-6,0.2499970893088218,0.2627499999999993
+6.4,2.051129260774627e-6,0.2499979488707394,0.2679999999999994
+6.6,1.445406393291717e-6,0.2499985545936069,0.2732499999999995
+6.8,1.018560702292559e-6,0.2499989814392979,0.2784999999999996
+7.,7.177675470340143e-7,0.2499992822324531,0.2837499999999997
+7.2,5.058022806371088e-7,0.2499994941977196,0.2889999999999998
+7.4,3.564328239950598e-7,0.2499996435671762,0.2942499999999999
+7.6,2.511739657191946e-7,0.2499997488260345,0.2994999999999999
+7.8,1.769993117844025e-7,0.2499998230006884,0.30475
+8.,1.247292971344023e-7,0.2499998752707031,0.3100000000000001
+8.2,8.789525595966719e-8,0.2499999121047443,0.3152500000000003
+8.4,6.193873818849427e-8,0.249999938061262,0.3205000000000002
+8.6,4.364749005596694e-8,0.2499999563525101,0.3257500000000003
+8.8,3.075786860013513e-8,0.2499999692421316,0.3310000000000005
+9.,2.167470190610784e-8,0.2499999783252983,0.3362500000000005
+9.2,1.527390504155955e-8,0.2499999847260952,0.3415000000000006
+9.4,1.076333893475063e-8,0.2499999892366613,0.3467500000000007
+9.6,7.584796409469644e-9,0.2499999924152038,0.3520000000000008
+9.8,5.34491612126284e-9,0.2499999946550841,0.3572500000000009
+10.,3.766498733658382e-9,0.2499999962335015,0.3625000000000009
diff --git a/models/sbml-test-suite/cases/semantic/00331/00331-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00331/00331-sbml-l2v4.xml
new file mode 100644
index 0000000..95be26c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00331/00331-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00331" id="case00331" name="case00331">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75"/>
+      <parameter id="k2" name="k2" value="0.015"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00331/00331-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00331/00331-sbml-l3v1.xml
new file mode 100644
index 0000000..60249a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00331/00331-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00331" id="case00331" name="case00331" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.015" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00331/00331-settings.txt b/models/sbml-test-suite/cases/semantic/00331/00331-settings.txt
new file mode 100644
index 0000000..67c4569
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00331/00331-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00332/00332-results.csv b/models/sbml-test-suite/cases/semantic/00332/00332-results.csv
new file mode 100644
index 0000000..eff3ee0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00332/00332-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5e-6,1.999999999999999e-6,1.5e-6,9.999999999999999e-7
+0.2,1.143765361559367e-6,1.643765361559366e-6,1.856234638440632e-6,1.02e-6
+0.4,9.106905837044867e-7,1.410690583704486e-6,2.089309416295514e-6,1.04e-6
+0.6,7.467198345234815e-7,1.246719834523481e-6,2.253280165476518e-6,1.059999999999999e-6
+0.8,6.25390521058305e-7,1.125390521058304e-6,2.374609478941694e-6,1.079999999999999e-6
+1.,5.322189514144564e-7,1.032218951414455e-6,2.467781048585543e-6,1.099999999999999e-6
+1.2,4.586109416844124e-7,9.586109416844119e-7,2.541389058315587e-6,1.119999999999999e-6
+1.4,3.991442460911372e-7,8.991442460911369e-7,2.600855753908862e-6,1.139999999999999e-6
+1.6,3.502285946131883e-7,8.50228594613188e-7,2.649771405386811e-6,1.159999999999998e-6
+1.8,3.093921067652681e-7,8.093921067652677e-7,2.690607893234731e-6,1.179999999999998e-6
+2.,2.748771378336288e-7,7.748771378336286e-7,2.725122862166371e-6,1.199999999999999e-6
+2.2,2.453995968305578e-7,7.453995968305572e-7,2.754600403169441e-6,1.219999999999999e-6
+2.4,2.199994435426164e-7,7.199994435426158e-7,2.780000556457382e-6,1.239999999999999e-6
+2.6,1.979444645094783e-7,6.979444645094777e-7,2.802055535490521e-6,1.26e-6
+2.8,1.786664278394837e-7,6.78666427839483e-7,2.821333572160515e-6,1.28e-6
+3.,1.617175758622145e-7,6.617175758622139e-7,2.838282424137785e-6,1.299999999999999e-6
+3.2,1.467402641970266e-7,6.46740264197026e-7,2.853259735802973e-6,1.319999999999999e-6
+3.4,1.334453665080154e-7,6.334453665080147e-7,2.866554633491984e-6,1.339999999999999e-6
+3.6,1.215965919700996e-7,6.215965919700989e-7,2.8784034080299e-6,1.359999999999999e-6
+3.8,1.109989345369802e-7,6.109989345369795e-7,2.889001065463019e-6,1.379999999999999e-6
+4.,1.014900271291311e-7,6.014900271291304e-7,2.898509972870868e-6,1.399999999999999e-6
+4.2,9.293358586799289e-8,5.92933585867992e-7,2.907066414132006e-6,1.419999999999999e-6
+4.4,8.521437341108295e-8,5.852143734110821e-7,2.914785626588916e-6,1.439999999999999e-6
+4.6,7.823428790864099e-8,5.782342879086404e-7,2.921765712091357e-6,1.459999999999999e-6
+4.8,7.190929943640214e-8,5.719092994364015e-7,2.928090700563596e-6,1.479999999999999e-6
+5.,6.616701986499932e-8,5.661670198649988e-7,2.933832980135e-6,1.499999999999999e-6
+5.2,6.094476099135e-8,5.609447609913493e-7,2.939055239008649e-6,1.519999999999999e-6
+5.4,5.618796870645792e-8,5.561879687064572e-7,2.943812031293541e-6,1.539999999999998e-6
+5.6,5.184895852575537e-8,5.518489585257547e-7,2.948151041474243e-6,1.559999999999998e-6
+5.8,4.788587385798952e-8,5.478858738579888e-7,2.952114126142009e-6,1.579999999999998e-6
+6.,4.426183191300815e-8,5.442618319130075e-7,2.95573816808699e-6,1.599999999999998e-6
+6.2,4.094421709211298e-8,5.409442170921123e-7,2.959055782907885e-6,1.619999999999998e-6
+6.4,3.790409106044079e-8,5.379040910604402e-7,2.962095908939557e-6,1.639999999999998e-6
+6.6,3.511569849314209e-8,5.351156984931415e-7,2.964884301506856e-6,1.659999999999998e-6
+6.8,3.255605212625713e-8,5.325560521262565e-7,2.967443947873741e-6,1.679999999999998e-6
+7.,3.020457939458526e-8,5.302045793945847e-7,2.969795420605413e-6,1.699999999999998e-6
+7.2,2.80428232671576e-8,5.28042823267157e-7,2.971957176732841e-6,1.719999999999998e-6
+7.4,2.605418643556528e-8,5.260541864355647e-7,2.973945813564434e-6,1.739999999999998e-6
+7.6,2.422371177385015e-8,5.242237117738495e-7,2.975776288226149e-6,1.759999999999997e-6
+7.8,2.253789332552675e-8,5.22537893325526e-7,2.977462106674472e-6,1.779999999999997e-6
+8.,2.098451392723793e-8,5.209845139272372e-7,2.97901548607276e-6,1.799999999999997e-6
+8.2,1.955250035763733e-8,5.195525003576365e-7,2.980447499642361e-6,1.819999999999997e-6
+8.4,1.823180234462865e-8,5.182318023446277e-7,2.98176819765537e-6,1.839999999999997e-6
+8.6,1.701328429119773e-8,5.170132842911967e-7,2.982986715708801e-6,1.859999999999997e-6
+8.8,1.588862840099405e-8,5.15888628400993e-7,2.984111371599005e-6,1.879999999999998e-6
+9.,1.485025456202494e-8,5.148502545620239e-7,2.985149745437974e-6,1.899999999999997e-6
+9.2,1.389124369186681e-8,5.138912436918657e-7,2.986108756308132e-6,1.919999999999997e-6
+9.4,1.300527553270531e-8,5.130052755327042e-7,2.986994724467294e-6,1.939999999999997e-6
+9.6,1.218656833766431e-8,5.121865683376631e-7,2.987813431662335e-6,1.959999999999997e-6
+9.8,1.142983045244039e-8,5.114298304524392e-7,2.988570169547559e-6,1.979999999999997e-6
+10.,1.07302118001339e-8,5.107302118001328e-7,2.989269788199865e-6,1.999999999999997e-6
diff --git a/models/sbml-test-suite/cases/semantic/00332/00332-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00332/00332-sbml-l2v4.xml
new file mode 100644
index 0000000..efa9abb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00332/00332-sbml-l2v4.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00332" id="case00332" name="case00332">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000"/>
+      <parameter id="k2" name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00332/00332-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00332/00332-sbml-l3v1.xml
new file mode 100644
index 0000000..12d0855
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00332/00332-sbml-l3v1.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00332" id="case00332" name="case00332" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00332/00332-settings.txt b/models/sbml-test-suite/cases/semantic/00332/00332-settings.txt
new file mode 100644
index 0000000..bb92d29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00332/00332-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00333/00333-results.csv b/models/sbml-test-suite/cases/semantic/00333/00333-results.csv
new file mode 100644
index 0000000..fc78f76
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00333/00333-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0015,0.002,0.0015,0.004
+0.2,0.00130586,0.00219414,0.0015693,0.003975
+0.4,0.00113685,0.00236315,0.0016386,0.00395
+0.6,0.000989718,0.00251028,0.0017079,0.003925
+0.8,0.000861625,0.00263837,0.0017772,0.0039
+1,0.00075011,0.00274989,0.0018465,0.003875
+1.2,0.000653028,0.00284697,0.0019158,0.00385
+1.4,0.000568511,0.00293149,0.0019851,0.003825
+1.6,0.000494932,0.00300507,0.0020544,0.0038
+1.8,0.000430876,0.00306912,0.0021237,0.003775
+2,0.00037511,0.00312489,0.002193,0.00375
+2.2,0.000326562,0.00317344,0.0022623,0.003725
+2.4,0.000284297,0.0032157,0.0023316,0.0037
+2.6,0.000247502,0.0032525,0.0024009,0.003675
+2.8,0.00021547,0.00328453,0.0024702,0.00365
+3,0.000187583,0.00331242,0.0025395,0.003625
+3.2,0.000163305,0.00333669,0.0026088,0.0036
+3.4,0.00014217,0.00335783,0.0026781,0.003575
+3.6,0.000123769,0.00337623,0.0027474,0.00355
+3.8,0.000107751,0.00339225,0.0028167,0.003525
+4,9.38E-05,0.00340619,0.002886,0.0035
+4.2,8.17E-05,0.00341834,0.0029553,0.003475
+4.4,7.11E-05,0.0034289,0.0030246,0.00345
+4.6,6.19E-05,0.00343811,0.0030939,0.003425
+4.8,5.39E-05,0.00344612,0.0031632,0.0034
+5,4.69E-05,0.00345309,0.0032325,0.003375
+5.2,4.08E-05,0.00345916,0.0033018,0.00335
+5.4,3.56E-05,0.00346445,0.0033711,0.003325
+5.6,3.10E-05,0.00346905,0.0034404,0.0033
+5.8,2.69E-05,0.00347305,0.0035097,0.003275
+6,2.35E-05,0.00347654,0.003579,0.00325
+6.2,2.04E-05,0.00347958,0.0036483,0.003225
+6.4,1.78E-05,0.00348222,0.0037176,0.0032
+6.6,1.55E-05,0.00348452,0.0037869,0.003175
+6.8,1.35E-05,0.00348653,0.0038562,0.00315
+7,1.17E-05,0.00348827,0.0039255,0.003125
+7.2,1.02E-05,0.00348979,0.0039948,0.0031
+7.4,8.89E-06,0.00349111,0.0040641,0.003075
+7.6,7.74E-06,0.00349226,0.0041334,0.00305
+7.8,6.74E-06,0.00349326,0.0042027,0.003025
+8,5.87E-06,0.00349413,0.004272,0.003
+8.2,5.11E-06,0.00349489,0.0043413,0.002975
+8.4,4.45E-06,0.00349555,0.0044106,0.00295
+8.6,3.87E-06,0.00349613,0.0044799,0.002925
+8.8,3.37E-06,0.00349663,0.0045492,0.0029
+9,2.93E-06,0.00349707,0.0046185,0.002875
+9.2,2.55E-06,0.00349745,0.0046878,0.00285
+9.4,2.22E-06,0.00349778,0.0047571,0.002825
+9.6,1.94E-06,0.00349806,0.0048264,0.0028
+9.8,1.69E-06,0.00349831,0.0048957,0.002775
+10,1.47E-06,0.00349853,0.004965,0.00275
diff --git a/models/sbml-test-suite/cases/semantic/00333/00333-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00333/00333-sbml-l2v4.xml
new file mode 100644
index 0000000..342ac45
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00333/00333-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00333" id="case00333" name="case00333">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00333/00333-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00333/00333-sbml-l3v1.xml
new file mode 100644
index 0000000..2ea0d84
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00333/00333-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00333" id="case00333" name="case00333" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00333/00333-settings.txt b/models/sbml-test-suite/cases/semantic/00333/00333-settings.txt
new file mode 100644
index 0000000..c5ba120
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00333/00333-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00334/00334-results.csv b/models/sbml-test-suite/cases/semantic/00334/00334-results.csv
new file mode 100644
index 0000000..e478db6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00334/00334-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.00015,0.0001,0.0001
+0.2,0.0001057032131207802,0.0001442967868792197,0.0001052499999999999
+0.4,0.00007448779471788631,0.0001755122052821137,0.0001104999999999999
+0.6,0.00005249066164086452,0.0001975093383591355,0.0001157499999999999
+0.8,0.00003698954242303311,0.0002130104575769669,0.0001209999999999999
+1.,0.00002606609010507837,0.0002239339098949217,0.0001262499999999999
+1.2,0.00001836846339051403,0.0002316315366094861,0.0001314999999999998
+1.4,0.00001294403677927995,0.0002370559632207201,0.0001367499999999998
+1.6,9.121508535949486e-6,0.0002408784914640506,0.0001419999999999998
+1.8,6.427818414854927e-6,0.0002435721815851452,0.0001472499999999998
+2.,4.529607072343888e-6,0.0002454703929276562,0.0001524999999999998
+2.2,3.191960149759467e-6,0.0002468080398502406,0.0001577499999999999
+2.4,2.249336296741049e-6,0.000247750663703259,0.0001629999999999999
+2.6,1.585080495536166e-6,0.0002484149195044639,0.00016825
+2.8,1.11698734467079e-6,0.0002488830126553293,0.0001735
+3.,7.871276769152095e-7,0.0002492128723230849,0.00017875
+3.2,5.546794981450816e-7,0.0002494453205018551,0.000184
+3.4,3.908760353512645e-7,0.0002496091239646489,0.0001892500000000001
+3.6,2.754456862487645e-7,0.0002497245543137514,0.0001945000000000001
+3.8,1.941032941717481e-7,0.0002498058967058283,0.0001997500000000001
+4.,1.367822793747622e-7,0.0002498632177206253,0.0002050000000000002
+4.2,9.638884301867035e-8,0.0002499036111569814,0.0002102500000000002
+4.4,6.792406955883819e-8,0.0002499320759304412,0.0002155000000000002
+4.6,4.786528275515329e-8,0.0002499521347172449,0.0002207500000000003
+4.8,3.373009462125175e-8,0.0002499662699053787,0.0002260000000000003
+5.,2.376919591185742e-8,0.0002499762308040882,0.0002312500000000003
+5.2,1.674986923852405e-8,0.0002499832501307615,0.0002365000000000004
+5.4,1.180343334097257e-8,0.000249988196566659,0.0002417500000000004
+5.6,8.317738882261389e-9,0.0002499916822611178,0.0002470000000000004
+5.8,5.861411516172085e-9,0.0002499941385884838,0.0002522500000000004
+6.,4.130466879168996e-9,0.0002499958695331208,0.0002575000000000003
+6.2,2.910690811123902e-9,0.0002499970893091888,0.0002627500000000002
+6.4,2.05112914496505e-9,0.0002499979488708549,0.0002680000000000001
+6.6,1.44540627721612e-9,0.0002499985545937227,0.0002732500000000001
+6.8,1.018560587176591e-9,0.0002499989814394127,0.0002785
+7.,7.177675136262508e-10,0.0002499992822324863,0.0002837499999999999
+7.2,5.058022174795106e-10,0.0002499994941977825,0.0002889999999999999
+7.4,3.564327980263388e-10,0.000249999643567202,0.0002942499999999998
+7.6,2.511739472901104e-10,0.0002499997488260528,0.0002994999999999998
+7.8,1.769992889218104e-10,0.0002499998230007111,0.0003047499999999997
+8.,1.247292906677749e-10,0.0002499998752707093,0.0003099999999999996
+8.2,8.789524548772576e-11,0.0002499999121047546,0.0003152499999999996
+8.4,6.193873258007053e-11,0.0002499999380612674,0.0003204999999999995
+8.6,4.364748710184186e-11,0.0002499999563525129,0.0003257499999999994
+8.8,3.075786427982611e-11,0.0002499999692421358,0.0003309999999999994
+9.,2.167470060480925e-11,0.0002499999783252994,0.0003362499999999993
+9.2,1.527390335194797e-11,0.0002499999847260967,0.0003414999999999992
+9.4,1.076333776716795e-11,0.0002499999892366623,0.0003467499999999991
+9.6,7.58479592441254e-12,0.0002499999924152041,0.0003519999999999991
+9.8,5.344915347009084e-12,0.0002499999946550847,0.000357249999999999
+10.,3.766498733774632e-12,0.0002499999962335013,0.000362499999999999
diff --git a/models/sbml-test-suite/cases/semantic/00334/00334-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00334/00334-sbml-l1v2.xml
new file mode 100644
index 0000000..098743f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00334/00334-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00334">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.00015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.0001" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0001" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.75"/>
+      <parameter name="k2" value="1.5e-005"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * k2" type="rate" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00334/00334-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00334/00334-sbml-l2v4.xml
new file mode 100644
index 0000000..8baea6f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00334/00334-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00334" id="case00334" name="case00334">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75"/>
+      <parameter id="k2" name="k2" value="1.5e-005"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00334/00334-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00334/00334-sbml-l3v1.xml
new file mode 100644
index 0000000..138bdaa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00334/00334-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00334" id="case00334" name="case00334" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75" constant="true"/>
+      <parameter id="k2" name="k2" value="1.5e-005" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00334/00334-settings.txt b/models/sbml-test-suite/cases/semantic/00334/00334-settings.txt
new file mode 100644
index 0000000..61fa7e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00334/00334-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00335/00335-results.csv b/models/sbml-test-suite/cases/semantic/00335/00335-results.csv
new file mode 100644
index 0000000..a116ad4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00335/00335-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0015,0.001,0.001
+0.1,0.0015,0.001262499999999999,0.001026249999999999
+0.2,0.0015,0.001524999999999999,0.001052499999999999
+0.3,0.0015,0.0017875,0.001078749999999999
+0.4,0.0015,0.00205,0.001104999999999999
+0.5,0.0015,0.002312499999999999,0.001131249999999999
+0.6,0.0015,0.002575,0.001157499999999999
+0.7,0.0015,0.0028375,0.001183749999999999
+0.8,0.0015,0.003099999999999999,0.001209999999999999
+0.9,0.0015,0.0033625,0.001236249999999999
+1.,0.0015,0.003624999999999999,0.001262499999999999
+1.1,0.0015,0.0038875,0.001288749999999999
+1.2,0.0015,0.00415,0.001314999999999999
+1.3,0.0015,0.0044125,0.001341249999999999
+1.4,0.0015,0.004675,0.001367499999999999
+1.5,0.0015,0.0049375,0.001393749999999999
+1.6,0.0015,0.0052,0.001419999999999999
+1.7,0.0015,0.005462500000000001,0.001446249999999999
+1.8,0.0015,0.005725,0.001472499999999999
+1.9,0.0015,0.0059875,0.001498749999999999
+2.,0.0015,0.00625,0.001524999999999999
+2.1,0.0015,0.0065125,0.001551249999999999
+2.2,0.0015,0.006775,0.001577499999999999
+2.3,0.0015,0.007037500000000001,0.001603749999999999
+2.4,0.0015,0.0073,0.001629999999999999
+2.5,0.0015,0.0075625,0.001656249999999999
+2.6,0.0015,0.007825,0.001682499999999999
+2.7,0.0015,0.0080875,0.001708749999999999
+2.8,0.0015,0.008350000000000001,0.001734999999999999
+2.9,0.0015,0.008612500000000002,0.001761249999999999
+3.,0.0015,0.008875,0.001787499999999999
+3.1,0.0015,0.009137499999999999,0.001813749999999999
+3.2,0.0015,0.0094,0.001839999999999999
+3.3,0.0015,0.0096625,0.001866249999999999
+3.4,0.0015,0.009925000000000001,0.001892499999999999
+3.5,0.0015,0.0101875,0.001918749999999999
+3.6,0.0015,0.01044999999999999,0.001944999999999999
+3.7,0.0015,0.0107125,0.001971249999999999
+3.8,0.0015,0.010975,0.0019975
+3.9,0.0015,0.0112375,0.002023749999999999
+4.,0.0015,0.0115,0.002049999999999999
+4.1,0.0015,0.0117625,0.00207625
+4.2,0.0015,0.01202499999999999,0.002102499999999999
+4.3,0.0015,0.01228749999999999,0.002128749999999999
+4.4,0.0015,0.01255,0.002154999999999999
+4.5,0.0015,0.01281249999999999,0.002181249999999999
+4.6,0.0015,0.013075,0.002207499999999999
+4.7,0.0015,0.0133375,0.002233749999999999
+4.8,0.0015,0.0136,0.002259999999999999
+4.9,0.0015,0.0138625,0.00228625
+5.,0.0015,0.014125,0.002312499999999999
diff --git a/models/sbml-test-suite/cases/semantic/00335/00335-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00335/00335-sbml-l1v2.xml
new file mode 100644
index 0000000..db40cd8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00335/00335-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00335">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0015" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="0.001" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.75"/>
+      <parameter name="k2" value="0.00015"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * k2" type="rate" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00335/00335-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00335/00335-sbml-l2v4.xml
new file mode 100644
index 0000000..027fbe1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00335/00335-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00335" id="case00335" name="case00335">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75"/>
+      <parameter id="k2" name="k2" value="0.00015"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00335/00335-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00335/00335-sbml-l3v1.xml
new file mode 100644
index 0000000..323359d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00335/00335-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00335" id="case00335" name="case00335" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00015" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00335/00335-settings.txt b/models/sbml-test-suite/cases/semantic/00335/00335-settings.txt
new file mode 100644
index 0000000..4544040
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00335/00335-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00336/00336-results.csv b/models/sbml-test-suite/cases/semantic/00336/00336-results.csv
new file mode 100644
index 0000000..3541e8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00336/00336-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.015,0.01,0.01
+0.06,0.01350486783690811,0.01,0.0101575
+0.12,0.01215876368466498,0.01,0.010315
+0.18,0.01094683309850214,0.01,0.0104725
+0.24,0.009855702272300615,0.01,0.01063
+0.3,0.008873330350859473,0.01,0.0107875
+0.36,0.007988876919549746,0.01,0.010945
+0.42,0.007192581805661679,0.01,0.0111025
+0.48,0.006475657786817187,0.01,0.01126
+0.54,0.005830193511220199,0.01,0.01141749999999999
+0.6,0.005249065042438313,0.01,0.01157499999999999
+0.66,0.004725863053519386,0.01,0.01173249999999999
+0.72,0.004254810395851962,0.01,0.01188999999999999
+0.78,0.003830710138207855,0.01,0.01204749999999999
+0.84,0.003448882260196228,0.01,0.01220499999999999
+0.9,0.003105113275502399,0.01,0.01236249999999999
+0.96,0.002795609586227541,0.01,0.01251999999999999
+1.02,0.002516955844876738,0.01,0.01267749999999999
+1.08,0.002266077077380141,0.01,0.01283499999999999
+1.14,0.002040204789050482,0.01,0.01299249999999998
+1.2,0.001836846422988369,0.01,0.01314999999999998
+1.26,0.001653757792664319,0.01,0.01330749999999998
+1.32,0.001488918748501519,0.01,0.01346499999999998
+1.38,0.001340509996566461,0.01,0.01362249999999998
+1.44,0.001206894097371673,0.01,0.01377999999999998
+1.5,0.001086596279189997,0.01,0.01393749999999998
+1.56,0.0009782893441165807,0.01,0.01409499999999998
+1.62,0.0008807778284078626,0.01,0.01425249999999998
+1.68,0.0007929858911517736,0.01,0.01440999999999998
+1.74,0.0007139446718949413,0.01,0.01456749999999998
+1.8,0.0006427818391621365,0.01,0.01472499999999997
+1.86,0.0005787122615936436,0.01,0.01488249999999997
+1.92,0.0005210288839604062,0.01,0.01503999999999997
+1.98,0.00046909504737499,0.01,0.01519749999999997
+2.04,0.0004223377605757211,0.01,0.01535499999999997
+2.1,0.0003802410753491261,0.01,0.01551249999999997
+2.16,0.0003423403582444134,0.01,0.01566999999999997
+2.22,0.0003082173973106315,0.01,0.01582749999999997
+2.28,0.0002774956969386782,0.01,0.01598499999999997
+2.34,0.0002498361919842548,0.01,0.01614249999999997
+2.4,0.0002249336303893812,0.01,0.01629999999999997
+2.46,0.000202513265683622,0.01,0.01645749999999997
+2.52,0.0001823276747603278,0.01,0.01661499999999997
+2.58,0.0001641540654791314,0.01,0.01677249999999997
+2.64,0.0001477919251226638,0.01,0.01692999999999997
+2.7,0.0001330607056641195,0.01,0.01708749999999997
+2.76,0.0001197978147607985,0.01,0.01724499999999996
+2.82,0.0001078569023022201,0.01,0.01740249999999997
+2.88,0.00009710621926538196,0.01,0.01755999999999996
+2.94,0.00008742711518393688,0.01,0.01771749999999996
+3.,0.00007871277598789366,0.01,0.01787499999999997
diff --git a/models/sbml-test-suite/cases/semantic/00336/00336-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00336/00336-sbml-l1v2.xml
new file mode 100644
index 0000000..338cabf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00336/00336-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00336">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.01" units="substance" boundaryCondition="true"/>
+      <species name="S3" compartment="compartment" initialAmount="0.01" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.75"/>
+      <parameter name="k2" value="0.0015"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * k2" type="rate" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00336/00336-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00336/00336-sbml-l2v4.xml
new file mode 100644
index 0000000..5793a64
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00336/00336-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00336" id="case00336" name="case00336">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.01" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75"/>
+      <parameter id="k2" name="k2" value="0.0015"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00336/00336-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00336/00336-sbml-l3v1.xml
new file mode 100644
index 0000000..a380cb2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00336/00336-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00336" id="case00336" name="case00336" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0015" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00336/00336-settings.txt b/models/sbml-test-suite/cases/semantic/00336/00336-settings.txt
new file mode 100644
index 0000000..1171e76
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00336/00336-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00337/00337-results.csv b/models/sbml-test-suite/cases/semantic/00337/00337-results.csv
new file mode 100644
index 0000000..b992dd5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00337/00337-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.15,0.1,0.1
+0.05,0.1374328307443207,0.1,0.1013124999999999
+0.1,0.1259185530789153,0.1,0.1026249999999999
+0.15,0.1153689543308033,0.1,0.1039374999999999
+0.2,0.1057032132661772,0.1,0.1052499999999999
+0.25,0.09684727886692613,0.1,0.1065624999999999
+0.3,0.08873330351136865,0.1,0.1078749999999999
+0.35,0.0812991281543573,0.1,0.1091874999999999
+0.4,0.0744877941298499,0.1,0.1104999999999999
+0.45,0.06824712328185446,0.1,0.1118124999999999
+0.5,0.06252930276118813,0.1,0.1131249999999999
+0.55,0.05729052624567931,0.1,0.1144374999999999
+0.6,0.05249065049685625,0.1,0.1157499999999999
+0.65,0.0480929354433038,0.1,0.1170624999999999
+0.7,0.04406365503835046,0.1,0.1183749999999999
+0.75,0.040371952303047,0.1,0.1196874999999999
+0.8,0.03698954452750763,0.1,0.1209999999999999
+0.85,0.03389051878776312,0.1,0.1223125
+0.9,0.0310511327557434,0.1,0.123625
+0.95,0.02844963321705795,0.1,0.1249375
+1.,0.02606609144072814,0.1,0.12625
+1.05,0.02388224430288321,0.1,0.1275625
+1.1,0.0218813635091941,0.1,0.128875
+1.15,0.02004811763353831,0.1,0.1301875
+1.2,0.01836846423780135,0.1,0.1315
+1.25,0.01682953247698117,0.1,0.1328125
+1.3,0.01541953531970878,0.1,0.134125
+1.35,0.01412766984164036,0.1,0.1354375
+1.4,0.01294403792908405,0.1,0.13675
+1.45,0.01185957134431119,0.1,0.1380625
+1.5,0.01086596279652136,0.1,0.139375
+1.55,0.009955600386228988,0.1,0.1406875
+1.6,0.009121509341820056,0.1,0.142
+1.65,0.008357298873254712,0.1,0.1433125
+1.7,0.007657114740204543,0.1,0.144625
+1.75,0.007015592835460922,0.1,0.1459375
+1.8,0.006427818410079047,0.1,0.14725
+1.85,0.005889288457222595,0.1,0.1485625
+1.9,0.005395877221082473,0.1,0.149875
+1.95,0.004943804594591618,0.1,0.1511875
+2.,0.004529607164043981,0.1,0.1525
+2.05,0.004150111678972002,0.1,0.1538125
+2.1,0.003802410744192565,0.1,0.155125
+2.15,0.003483840547932171,0.1,0.1564375
+2.2,0.003191960457587136,0.1,0.15775
+2.25,0.002924534357016099,0.1,0.1590625
+2.3,0.002679513497591998,0.1,0.160375
+2.35,0.002455020766120696,0.1,0.1616875
+2.4,0.00224933630650236,0.1,0.163
+2.45,0.002060884495970159,0.1,0.1643125
+2.5,0.001888221336366833,0.1,0.165625
diff --git a/models/sbml-test-suite/cases/semantic/00337/00337-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00337/00337-sbml-l1v2.xml
new file mode 100644
index 0000000..c16c2b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00337/00337-sbml-l1v2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00337">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.15" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.1" units="substance" boundaryCondition="true"/>
+      <species name="S3" compartment="compartment" initialAmount="0.1" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="1.75"/>
+      <parameter name="k2" value="0.015"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k1 * k2" type="rate" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00337/00337-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00337/00337-sbml-l2v4.xml
new file mode 100644
index 0000000..60a626c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00337/00337-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00337" id="case00337" name="case00337">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75"/>
+      <parameter id="k2" name="k2" value="0.015"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00337/00337-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00337/00337-sbml-l3v1.xml
new file mode 100644
index 0000000..5f25524
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00337/00337-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00337" id="case00337" name="case00337" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.015" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00337/00337-settings.txt b/models/sbml-test-suite/cases/semantic/00337/00337-settings.txt
new file mode 100644
index 0000000..cf9fe3d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00337/00337-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00338/00338-results.csv b/models/sbml-test-suite/cases/semantic/00338/00338-results.csv
new file mode 100644
index 0000000..3f5c39f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00338/00338-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.50000E-06,2.00000E-06,1.50000E-06,1.00000E-06
+0.05,1.50000E-06,1.89062E-06,1.60938E-06,1.00500E-06
+0.1,1.50000E-06,1.78723E-06,1.71277E-06,1.01000E-06
+0.15,1.50000E-06,1.68950E-06,1.81050E-06,1.01500E-06
+0.2,1.50000E-06,1.59711E-06,1.90289E-06,1.02000E-06
+0.25,1.50000E-06,1.50978E-06,1.99022E-06,1.02500E-06
+0.3,1.50000E-06,1.42722E-06,2.07278E-06,1.03000E-06
+0.35,1.50000E-06,1.34918E-06,2.15082E-06,1.03500E-06
+0.4,1.50000E-06,1.27541E-06,2.22459E-06,1.04000E-06
+0.45,1.50000E-06,1.20568E-06,2.29432E-06,1.04500E-06
+0.5,1.50000E-06,1.13976E-06,2.36024E-06,1.05000E-06
+0.55,1.50000E-06,1.07745E-06,2.42255E-06,1.05500E-06
+0.6,1.50000E-06,1.01854E-06,2.48146E-06,1.06000E-06
+0.65,1.50000E-06,9.62861E-07,2.53714E-06,1.06500E-06
+0.7,1.50000E-06,9.10226E-07,2.58977E-06,1.07000E-06
+0.75,1.50000E-06,8.60471E-07,2.63953E-06,1.07500E-06
+0.8,1.50000E-06,8.13438E-07,2.68656E-06,1.08000E-06
+0.85,1.50000E-06,7.68978E-07,2.73102E-06,1.08500E-06
+0.9,1.50000E-06,7.26951E-07,2.77305E-06,1.09000E-06
+0.95,1.50000E-06,6.87223E-07,2.81278E-06,1.09500E-06
+1,1.50000E-06,6.49668E-07,2.85033E-06,1.10000E-06
+1.05,1.50000E-06,6.14168E-07,2.88583E-06,1.10500E-06
+1.1,1.50000E-06,5.80610E-07,2.91939E-06,1.11000E-06
+1.15,1.50000E-06,5.48888E-07,2.95111E-06,1.11500E-06
+1.2,1.50000E-06,5.18901E-07,2.98110E-06,1.12000E-06
+1.25,1.50000E-06,4.90555E-07,3.00944E-06,1.12500E-06
+1.3,1.50000E-06,4.63760E-07,3.03624E-06,1.13000E-06
+1.35,1.50000E-06,4.38430E-07,3.06157E-06,1.13500E-06
+1.4,1.50000E-06,4.14487E-07,3.08551E-06,1.14000E-06
+1.45,1.50000E-06,3.91853E-07,3.10815E-06,1.14500E-06
+1.5,1.50000E-06,3.70458E-07,3.12954E-06,1.15000E-06
+1.55,1.50000E-06,3.50233E-07,3.14977E-06,1.15500E-06
+1.6,1.50000E-06,3.31115E-07,3.16889E-06,1.16000E-06
+1.65,1.50000E-06,3.13042E-07,3.18696E-06,1.16500E-06
+1.7,1.50000E-06,2.95959E-07,3.20404E-06,1.17000E-06
+1.75,1.50000E-06,2.79809E-07,3.22019E-06,1.17500E-06
+1.8,1.50000E-06,2.64544E-07,3.23546E-06,1.18000E-06
+1.85,1.50000E-06,2.50114E-07,3.24989E-06,1.18500E-06
+1.9,1.50000E-06,2.36473E-07,3.26353E-06,1.19000E-06
+1.95,1.50000E-06,2.23578E-07,3.27642E-06,1.19500E-06
+2,1.50000E-06,2.11389E-07,3.28861E-06,1.20000E-06
+2.05,1.50000E-06,1.99866E-07,3.30013E-06,1.20500E-06
+2.1,1.50000E-06,1.88974E-07,3.31103E-06,1.21000E-06
+2.15,1.50000E-06,1.78678E-07,3.32132E-06,1.21500E-06
+2.2,1.50000E-06,1.68946E-07,3.33105E-06,1.22000E-06
+2.25,1.50000E-06,1.59745E-07,3.34025E-06,1.22500E-06
+2.3,1.50000E-06,1.51048E-07,3.34895E-06,1.23000E-06
+2.35,1.50000E-06,1.42827E-07,3.35717E-06,1.23500E-06
+2.4,1.50000E-06,1.35056E-07,3.36494E-06,1.24000E-06
+2.45,1.50000E-06,1.27710E-07,3.37229E-06,1.24500E-06
+2.5,1.50000E-06,1.20765E-07,3.37923E-06,1.25000E-06
diff --git a/models/sbml-test-suite/cases/semantic/00338/00338-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00338/00338-sbml-l1v2.xml
new file mode 100644
index 0000000..345b861
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00338/00338-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00338">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5e-006" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="2e-006" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1.5e-006" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="1e-006" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="750000"/>
+      <parameter name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="1.000000e-007" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00338/00338-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00338/00338-sbml-l2v4.xml
new file mode 100644
index 0000000..dc2974b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00338/00338-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00338" id="case00338" name="case00338">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000"/>
+      <parameter id="k2" name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00338/00338-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00338/00338-sbml-l3v1.xml
new file mode 100644
index 0000000..19418e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00338/00338-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00338" id="case00338" name="case00338" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00338/00338-settings.txt b/models/sbml-test-suite/cases/semantic/00338/00338-settings.txt
new file mode 100644
index 0000000..717942d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00338/00338-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00339/00339-results.csv b/models/sbml-test-suite/cases/semantic/00339/00339-results.csv
new file mode 100644
index 0000000..e748654
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00339/00339-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5e-6,1.999999999999999e-6,1.5e-6,9.999999999999999e-7
+0.1,1.301158883283288e-6,1.801158883283289e-6,1.5e-6,1.009999999999998e-6
+0.2,1.143757076209944e-6,1.643757076209945e-6,1.5e-6,1.019999999999998e-6
+0.3,1.016144778963997e-6,1.516144778963998e-6,1.5e-6,1.029999999999998e-6
+0.4,9.106645366280135e-7,1.410664536628014e-6,1.5e-6,1.039999999999997e-6
+0.5,8.220759608939247e-7,1.322075960893925e-6,1.5e-6,1.049999999999998e-6
+0.6,7.466717769022267e-7,1.246671776902227e-6,1.5e-6,1.059999999999998e-6
+0.7,6.817553762497286e-7,1.181755376249729e-6,1.5e-6,1.069999999999998e-6
+0.8,6.253183472396886e-7,1.125318347239689e-6,1.5e-6,1.079999999999999e-6
+0.9,5.75834111659975e-7,1.075834111659975e-6,1.5e-6,1.089999999999999e-6
+1.,5.32121575749329e-7,1.032121575749329e-6,1.5e-6,1.099999999999999e-6
+1.1,4.932526203164709e-7,9.932526203164713e-7,1.5e-6,1.109999999999999e-6
+1.2,4.584878214229155e-7,9.584878214229159e-7,1.5e-6,1.119999999999999e-6
+1.3,4.272307826013159e-7,9.272307826013163e-7,1.5e-6,1.129999999999999e-6
+1.4,3.989951546610905e-7,8.989951546610908e-7,1.5e-6,1.139999999999999e-6
+1.5,3.733803681228933e-7,8.733803681228935e-7,1.5e-6,1.149999999999999e-6
+1.6,3.500535041093714e-7,8.500535041093716e-7,1.5e-6,1.159999999999999e-6
+1.7,3.28735597792694e-7,8.287355977926943e-7,1.5e-6,1.169999999999999e-6
+1.8,3.091911222252054e-7,8.091911222252059e-7,1.5e-6,1.179999999999999e-6
+1.9,2.912198433258244e-7,7.912198433258248e-7,1.5e-6,1.19e-6
+2.,2.746504585801654e-7,7.746504585801658e-7,1.5e-6,1.2e-6
+2.1,2.593355337909659e-7,7.593355337909662e-7,1.5e-6,1.21e-6
+2.2,2.45147492101496e-7,7.451474921014963e-7,1.5e-6,1.22e-6
+2.3,2.319753806105815e-7,7.319753806105818e-7,1.5e-6,1.23e-6
+2.4,2.197222366534792e-7,7.197222366534796e-7,1.5e-6,1.24e-6
+2.5,2.083029541037046e-7,7.083029541037051e-7,1.5e-6,1.25e-6
+2.6,1.976425218067792e-7,6.976425218067798e-7,1.5e-6,1.26e-6
+2.7,1.87674567543581e-7,6.876745675435816e-7,1.5e-6,1.27e-6
+2.8,1.783401507905356e-7,6.783401507905361e-7,1.5e-6,1.28e-6
+2.9,1.695867467388653e-7,6.695867467388657e-7,1.5e-6,1.29e-6
+3.,1.613673951398077e-7,6.613673951398083e-7,1.5e-6,1.300000000000001e-6
+3.1,1.536399828225939e-7,6.536399828225945e-7,1.5e-6,1.310000000000001e-6
+3.2,1.463666349393699e-7,6.463666349393706e-7,1.5e-6,1.320000000000001e-6
+3.3,1.395131923655828e-7,6.395131923655835e-7,1.5e-6,1.330000000000001e-6
+3.4,1.330487645313132e-7,6.330487645313137e-7,1.5e-6,1.340000000000001e-6
+3.5,1.269453517322883e-7,6.269453517322889e-7,1.5e-6,1.350000000000001e-6
+3.6,1.211775105198091e-7,6.211775105198096e-7,1.5e-6,1.360000000000001e-6
+3.7,1.157220689920063e-7,6.157220689920067e-7,1.5e-6,1.370000000000001e-6
+3.8,1.105578815296774e-7,6.105578815296778e-7,1.5e-6,1.380000000000001e-6
+3.9,1.056656056073461e-7,6.056656056073465e-7,1.5e-6,1.39e-6
+4.,1.010275227013086e-7,6.010275227013091e-7,1.5e-6,1.4e-6
+4.1,9.662736201432593e-8,5.966273620143263e-7,1.5e-6,1.41e-6
+4.2,9.245016007185843e-8,5.924501600718589e-7,1.5e-6,1.42e-6
+4.3,8.848213472300128e-8,5.884821347230018e-7,1.5e-6,1.43e-6
+4.4,8.471056427991599e-8,5.847105642799165e-7,1.5e-6,1.44e-6
+4.5,8.112369270600632e-8,5.811236927060068e-7,1.5e-6,1.45e-6
+4.6,7.771063957615594e-8,5.777106395761564e-7,1.5e-6,1.46e-6
+4.7,7.446131649381822e-8,5.744613164938185e-7,1.5e-6,1.47e-6
+4.8,7.136636023341329e-8,5.713663602334136e-7,1.5e-6,1.48e-6
+4.9,6.841706867314056e-8,5.684170686731409e-7,1.5e-6,1.49e-6
+5.,6.560534153721536e-8,5.656053415372157e-7,1.5e-6,1.5e-6
diff --git a/models/sbml-test-suite/cases/semantic/00339/00339-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00339/00339-sbml-l1v2.xml
new file mode 100644
index 0000000..90e3d01
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00339/00339-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00339">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5e-006" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="2e-006" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1.5e-006" units="substance" boundaryCondition="true"/>
+      <species name="S4" compartment="compartment" initialAmount="1e-006" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="750000"/>
+      <parameter name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="1.000000e-007" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00339/00339-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00339/00339-sbml-l2v4.xml
new file mode 100644
index 0000000..d48393f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00339/00339-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00339" id="case00339" name="case00339">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000"/>
+      <parameter id="k2" name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00339/00339-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00339/00339-sbml-l3v1.xml
new file mode 100644
index 0000000..263312a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00339/00339-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00339" id="case00339" name="case00339" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00339/00339-settings.txt b/models/sbml-test-suite/cases/semantic/00339/00339-settings.txt
new file mode 100644
index 0000000..8b20d89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00339/00339-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00340/00340-results.csv b/models/sbml-test-suite/cases/semantic/00340/00340-results.csv
new file mode 100644
index 0000000..af3734d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00340/00340-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5e-6,1.999999999999999e-6,1.5e-6,9.999999999999999e-7
+0.1,1.301161272394421e-6,1.801161272394418e-6,1.698838727605578e-6,1.009999999999998e-6
+0.2,1.143765361558006e-6,1.643765361558003e-6,1.856234638441993e-6,1.019999999999998e-6
+0.3,1.016161200466151e-6,1.516161200466148e-6,1.983838799533849e-6,1.029999999999998e-6
+0.4,9.106905837679413e-7,1.410690583767938e-6,2.089309416232058e-6,1.039999999999998e-6
+0.5,8.221126549864135e-7,1.32211265498641e-6,2.177887345013586e-6,1.049999999999998e-6
+0.6,7.467198345704288e-7,1.246719834570425e-6,2.25328016542957e-6,1.059999999999998e-6
+0.7,6.818153082773663e-7,1.181815308277362e-6,2.318184691722633e-6,1.069999999999999e-6
+0.8,6.253905210462073e-7,1.125390521046203e-6,2.374609478953792e-6,1.079999999999999e-6
+0.9,5.759187918340679e-7,1.075918791834064e-6,2.424081208165931e-6,1.089999999999999e-6
+1.,5.322189514262512e-7,1.032218951426247e-6,2.467781048573748e-6,1.099999999999999e-6
+1.1,4.933628238547847e-7,9.933628238547812e-7,2.506637176145214e-6,1.109999999999998e-6
+1.2,4.58610941712386e-7,9.586109417123826e-7,2.541389058287614e-6,1.119999999999998e-6
+1.3,4.27366874517221e-7,9.273668745172175e-7,2.572633125482778e-6,1.129999999999998e-6
+1.4,3.991442460637809e-7,8.991442460637772e-7,2.600855753936219e-6,1.139999999999998e-6
+1.5,3.735424650559099e-7,8.735424650559062e-7,2.626457534944089e-6,1.149999999999998e-6
+1.6,3.502285946293925e-7,8.502285946293887e-7,2.649771405370607e-6,1.159999999999999e-6
+1.7,3.289236550366563e-7,8.289236550366526e-7,2.671076344963343e-6,1.169999999999999e-6
+1.8,3.093921067590785e-7,8.093921067590747e-7,2.690607893240921e-6,1.179999999999999e-6
+1.9,2.914337049572247e-7,7.914337049572207e-7,2.708566295042775e-6,1.189999999999999e-6
+2.,2.74877137849203e-7,7.748771378491991e-7,2.725122862150797e-6,1.199999999999998e-6
+2.1,2.595749631220446e-7,7.595749631220406e-7,2.740425036877956e-6,1.209999999999998e-6
+2.2,2.453995968278437e-7,7.453995968278398e-7,2.754600403172157e-6,1.219999999999998e-6
+2.3,2.322400797389254e-7,7.322400797389214e-7,2.767759920261075e-6,1.229999999999998e-6
+2.4,2.199994435482064e-7,7.199994435482024e-7,2.780000556451795e-6,1.239999999999998e-6
+2.5,2.085925770553576e-7,7.085925770553536e-7,2.791407422944644e-6,1.249999999999998e-6
+2.6,1.979444645186187e-7,6.979444645186148e-7,2.802055535481382e-6,1.259999999999999e-6
+2.7,1.879887295516956e-7,6.879887295516916e-7,2.812011270448305e-6,1.269999999999999e-6
+2.8,1.786664278349736e-7,6.786664278349696e-7,2.821333572165027e-6,1.279999999999999e-6
+2.9,1.699250310846797e-7,6.699250310846757e-7,2.830074968915321e-6,1.289999999999999e-6
+3.,1.617175758627813e-7,6.617175758627775e-7,2.83828242413722e-6,1.299999999999999e-6
+3.1,1.540019460774515e-7,6.540019460774477e-7,2.845998053922549e-6,1.309999999999999e-6
+3.2,1.467402641997253e-7,6.467402641997216e-7,2.853259735800275e-6,1.319999999999999e-6
+3.3,1.398983686340491e-7,6.398983686340453e-7,2.860101631365951e-6,1.329999999999999e-6
+3.4,1.334453665179851e-7,6.334453665179812e-7,2.866554633482015e-6,1.339999999999999e-6
+3.5,1.273532561026892e-7,6.273532561026854e-7,2.872646743897311e-6,1.349999999999999e-6
+3.6,1.215965919789814e-7,6.215965919789776e-7,2.878403408021019e-6,1.359999999999999e-6
+3.7,1.161522005451323e-7,6.161522005451285e-7,2.883847799454868e-6,1.369999999999999e-6
+3.8,1.109989345420157e-7,6.109989345420119e-7,2.889001065457984e-6,1.379999999999998e-6
+3.9,1.061174500319632e-7,6.061174500319593e-7,2.893882549968037e-6,1.389999999999999e-6
+4.,1.014900271381471e-7,6.014900271381433e-7,2.898509972861853e-6,1.399999999999999e-6
+4.1,9.710039394832192e-8,5.971003939483182e-7,2.902899606051678e-6,1.409999999999999e-6
+4.2,9.293358586647296e-8,5.929335858664692e-7,2.907066414133527e-6,1.419999999999999e-6
+4.3,8.897581983737135e-8,5.889758198373676e-7,2.911024180162629e-6,1.429999999999999e-6
+4.4,8.521437340509135e-8,5.852143734050875e-7,2.914785626594909e-6,1.439999999999999e-6
+4.5,8.163748975397465e-8,5.816374897539707e-7,2.918362510246025e-6,1.449999999999999e-6
+4.6,7.823428791329421e-8,5.782342879132903e-7,2.921765712086706e-6,1.459999999999999e-6
+4.7,7.499467902508648e-8,5.749946790250824e-7,2.925005320974913e-6,1.469999999999999e-6
+4.8,7.190929943003597e-8,5.719092994300318e-7,2.928090700569964e-6,1.479999999999999e-6
+4.9,6.896944671869069e-8,5.689694467186865e-7,2.931030553281309e-6,1.489999999999999e-6
+5.,6.616702044830762e-8,5.661670204483036e-7,2.933832979551693e-6,1.499999999999999e-6
diff --git a/models/sbml-test-suite/cases/semantic/00340/00340-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00340/00340-sbml-l1v2.xml
new file mode 100644
index 0000000..4e279bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00340/00340-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00340">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5e-006" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="2e-006" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1.5e-006" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="1e-006" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="750000"/>
+      <parameter name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="1.000000e-007" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00340/00340-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00340/00340-sbml-l2v4.xml
new file mode 100644
index 0000000..5522153
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00340/00340-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00340" id="case00340" name="case00340">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000"/>
+      <parameter id="k2" name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00340/00340-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00340/00340-sbml-l3v1.xml
new file mode 100644
index 0000000..f14be04
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00340/00340-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00340" id="case00340" name="case00340" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00340/00340-settings.txt b/models/sbml-test-suite/cases/semantic/00340/00340-settings.txt
new file mode 100644
index 0000000..8b20d89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00340/00340-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00341/00341-results.csv b/models/sbml-test-suite/cases/semantic/00341/00341-results.csv
new file mode 100644
index 0000000..7339520
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00341/00341-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.50000E-06,2.00000E-06,1.50000E-06,1.00000E-06
+0.1,1.50000E-06,1.78723E-06,1.71277E-06,1.01000E-06
+0.2,1.50000E-06,1.59711E-06,1.90289E-06,1.02000E-06
+0.3,1.50000E-06,1.42722E-06,2.07278E-06,1.03000E-06
+0.4,1.50000E-06,1.27541E-06,2.22459E-06,1.04000E-06
+0.5,1.50000E-06,1.13976E-06,2.36024E-06,1.05000E-06
+0.6,1.50000E-06,1.01854E-06,2.48146E-06,1.06000E-06
+0.7,1.50000E-06,9.10226E-07,2.58977E-06,1.07000E-06
+0.8,1.50000E-06,8.13438E-07,2.68656E-06,1.08000E-06
+0.9,1.50000E-06,7.26951E-07,2.77305E-06,1.09000E-06
+1,1.50000E-06,6.49668E-07,2.85033E-06,1.10000E-06
+1.1,1.50000E-06,5.80610E-07,2.91939E-06,1.11000E-06
+1.2,1.50000E-06,5.18901E-07,2.98110E-06,1.12000E-06
+1.3,1.50000E-06,4.63760E-07,3.03624E-06,1.13000E-06
+1.4,1.50000E-06,4.14487E-07,3.08551E-06,1.14000E-06
+1.5,1.50000E-06,3.70458E-07,3.12954E-06,1.15000E-06
+1.6,1.50000E-06,3.31115E-07,3.16889E-06,1.16000E-06
+1.7,1.50000E-06,2.95959E-07,3.20404E-06,1.17000E-06
+1.8,1.50000E-06,2.64544E-07,3.23546E-06,1.18000E-06
+1.9,1.50000E-06,2.36473E-07,3.26353E-06,1.19000E-06
+2,1.50000E-06,2.11389E-07,3.28861E-06,1.20000E-06
+2.1,1.50000E-06,1.88974E-07,3.31103E-06,1.21000E-06
+2.2,1.50000E-06,1.68946E-07,3.33105E-06,1.22000E-06
+2.3,1.50000E-06,1.51048E-07,3.34895E-06,1.23000E-06
+2.4,1.50000E-06,1.35056E-07,3.36494E-06,1.24000E-06
+2.5,1.50000E-06,1.20765E-07,3.37923E-06,1.25000E-06
+2.6,1.50000E-06,1.07996E-07,3.39200E-06,1.26000E-06
+2.7,1.50000E-06,9.65849E-08,3.40342E-06,1.27000E-06
+2.8,1.50000E-06,8.63886E-08,3.41361E-06,1.28000E-06
+2.9,1.50000E-06,7.72774E-08,3.42272E-06,1.29000E-06
+3,1.50000E-06,6.91359E-08,3.43086E-06,1.30000E-06
+3.1,1.50000E-06,6.18609E-08,3.43814E-06,1.31000E-06
+3.2,1.50000E-06,5.53601E-08,3.44464E-06,1.32000E-06
+3.3,1.50000E-06,4.95512E-08,3.45045E-06,1.33000E-06
+3.4,1.50000E-06,4.43604E-08,3.45564E-06,1.34000E-06
+3.5,1.50000E-06,3.97221E-08,3.46028E-06,1.35000E-06
+3.6,1.50000E-06,3.55775E-08,3.46442E-06,1.36000E-06
+3.7,1.50000E-06,3.18739E-08,3.46813E-06,1.37000E-06
+3.8,1.50000E-06,2.85645E-08,3.47144E-06,1.38000E-06
+3.9,1.50000E-06,2.56073E-08,3.47439E-06,1.39000E-06
+4,1.50000E-06,2.29648E-08,3.47704E-06,1.40000E-06
+4.1,1.50000E-06,2.06035E-08,3.47940E-06,1.41000E-06
+4.2,1.50000E-06,1.84935E-08,3.48151E-06,1.42000E-06
+4.3,1.50000E-06,1.66081E-08,3.48339E-06,1.43000E-06
+4.4,1.50000E-06,1.49233E-08,3.48508E-06,1.44000E-06
+4.5,1.50000E-06,1.34179E-08,3.48658E-06,1.45000E-06
+4.6,1.50000E-06,1.20726E-08,3.48793E-06,1.46000E-06
+4.7,1.50000E-06,1.08706E-08,3.48913E-06,1.47000E-06
+4.8,1.50000E-06,9.79643E-09,3.49020E-06,1.48000E-06
+4.9,1.50000E-06,8.83660E-09,3.49116E-06,1.49000E-06
+5,1.50000E-06,7.97892E-09,3.49202E-06,1.50000E-06
diff --git a/models/sbml-test-suite/cases/semantic/00341/00341-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00341/00341-sbml-l1v2.xml
new file mode 100644
index 0000000..e3b03b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00341/00341-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00341">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5e-006" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="2e-006" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1.5e-006" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="1e-006" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="750000"/>
+      <parameter name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="1.000000e-007" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00341/00341-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00341/00341-sbml-l2v4.xml
new file mode 100644
index 0000000..5fc3c4b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00341/00341-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00341" id="case00341" name="case00341">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000"/>
+      <parameter id="k2" name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00341/00341-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00341/00341-sbml-l3v1.xml
new file mode 100644
index 0000000..fe95cb4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00341/00341-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00341" id="case00341" name="case00341" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00341/00341-settings.txt b/models/sbml-test-suite/cases/semantic/00341/00341-settings.txt
new file mode 100644
index 0000000..8b20d89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00341/00341-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00342/00342-results.csv b/models/sbml-test-suite/cases/semantic/00342/00342-results.csv
new file mode 100644
index 0000000..e748654
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00342/00342-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5e-6,1.999999999999999e-6,1.5e-6,9.999999999999999e-7
+0.1,1.301158883283288e-6,1.801158883283289e-6,1.5e-6,1.009999999999998e-6
+0.2,1.143757076209944e-6,1.643757076209945e-6,1.5e-6,1.019999999999998e-6
+0.3,1.016144778963997e-6,1.516144778963998e-6,1.5e-6,1.029999999999998e-6
+0.4,9.106645366280135e-7,1.410664536628014e-6,1.5e-6,1.039999999999997e-6
+0.5,8.220759608939247e-7,1.322075960893925e-6,1.5e-6,1.049999999999998e-6
+0.6,7.466717769022267e-7,1.246671776902227e-6,1.5e-6,1.059999999999998e-6
+0.7,6.817553762497286e-7,1.181755376249729e-6,1.5e-6,1.069999999999998e-6
+0.8,6.253183472396886e-7,1.125318347239689e-6,1.5e-6,1.079999999999999e-6
+0.9,5.75834111659975e-7,1.075834111659975e-6,1.5e-6,1.089999999999999e-6
+1.,5.32121575749329e-7,1.032121575749329e-6,1.5e-6,1.099999999999999e-6
+1.1,4.932526203164709e-7,9.932526203164713e-7,1.5e-6,1.109999999999999e-6
+1.2,4.584878214229155e-7,9.584878214229159e-7,1.5e-6,1.119999999999999e-6
+1.3,4.272307826013159e-7,9.272307826013163e-7,1.5e-6,1.129999999999999e-6
+1.4,3.989951546610905e-7,8.989951546610908e-7,1.5e-6,1.139999999999999e-6
+1.5,3.733803681228933e-7,8.733803681228935e-7,1.5e-6,1.149999999999999e-6
+1.6,3.500535041093714e-7,8.500535041093716e-7,1.5e-6,1.159999999999999e-6
+1.7,3.28735597792694e-7,8.287355977926943e-7,1.5e-6,1.169999999999999e-6
+1.8,3.091911222252054e-7,8.091911222252059e-7,1.5e-6,1.179999999999999e-6
+1.9,2.912198433258244e-7,7.912198433258248e-7,1.5e-6,1.19e-6
+2.,2.746504585801654e-7,7.746504585801658e-7,1.5e-6,1.2e-6
+2.1,2.593355337909659e-7,7.593355337909662e-7,1.5e-6,1.21e-6
+2.2,2.45147492101496e-7,7.451474921014963e-7,1.5e-6,1.22e-6
+2.3,2.319753806105815e-7,7.319753806105818e-7,1.5e-6,1.23e-6
+2.4,2.197222366534792e-7,7.197222366534796e-7,1.5e-6,1.24e-6
+2.5,2.083029541037046e-7,7.083029541037051e-7,1.5e-6,1.25e-6
+2.6,1.976425218067792e-7,6.976425218067798e-7,1.5e-6,1.26e-6
+2.7,1.87674567543581e-7,6.876745675435816e-7,1.5e-6,1.27e-6
+2.8,1.783401507905356e-7,6.783401507905361e-7,1.5e-6,1.28e-6
+2.9,1.695867467388653e-7,6.695867467388657e-7,1.5e-6,1.29e-6
+3.,1.613673951398077e-7,6.613673951398083e-7,1.5e-6,1.300000000000001e-6
+3.1,1.536399828225939e-7,6.536399828225945e-7,1.5e-6,1.310000000000001e-6
+3.2,1.463666349393699e-7,6.463666349393706e-7,1.5e-6,1.320000000000001e-6
+3.3,1.395131923655828e-7,6.395131923655835e-7,1.5e-6,1.330000000000001e-6
+3.4,1.330487645313132e-7,6.330487645313137e-7,1.5e-6,1.340000000000001e-6
+3.5,1.269453517322883e-7,6.269453517322889e-7,1.5e-6,1.350000000000001e-6
+3.6,1.211775105198091e-7,6.211775105198096e-7,1.5e-6,1.360000000000001e-6
+3.7,1.157220689920063e-7,6.157220689920067e-7,1.5e-6,1.370000000000001e-6
+3.8,1.105578815296774e-7,6.105578815296778e-7,1.5e-6,1.380000000000001e-6
+3.9,1.056656056073461e-7,6.056656056073465e-7,1.5e-6,1.39e-6
+4.,1.010275227013086e-7,6.010275227013091e-7,1.5e-6,1.4e-6
+4.1,9.662736201432593e-8,5.966273620143263e-7,1.5e-6,1.41e-6
+4.2,9.245016007185843e-8,5.924501600718589e-7,1.5e-6,1.42e-6
+4.3,8.848213472300128e-8,5.884821347230018e-7,1.5e-6,1.43e-6
+4.4,8.471056427991599e-8,5.847105642799165e-7,1.5e-6,1.44e-6
+4.5,8.112369270600632e-8,5.811236927060068e-7,1.5e-6,1.45e-6
+4.6,7.771063957615594e-8,5.777106395761564e-7,1.5e-6,1.46e-6
+4.7,7.446131649381822e-8,5.744613164938185e-7,1.5e-6,1.47e-6
+4.8,7.136636023341329e-8,5.713663602334136e-7,1.5e-6,1.48e-6
+4.9,6.841706867314056e-8,5.684170686731409e-7,1.5e-6,1.49e-6
+5.,6.560534153721536e-8,5.656053415372157e-7,1.5e-6,1.5e-6
diff --git a/models/sbml-test-suite/cases/semantic/00342/00342-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00342/00342-sbml-l1v2.xml
new file mode 100644
index 0000000..ccae8af
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00342/00342-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00342">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="1.5e-006" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="2e-006" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="1.5e-006" units="substance" boundaryCondition="true"/>
+      <species name="S4" compartment="compartment" initialAmount="1e-006" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="750000"/>
+      <parameter name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="1.000000e-007" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00342/00342-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00342/00342-sbml-l2v4.xml
new file mode 100644
index 0000000..7254b16
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00342/00342-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00342" id="case00342" name="case00342">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000"/>
+      <parameter id="k2" name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00342/00342-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00342/00342-sbml-l3v1.xml
new file mode 100644
index 0000000..587f0e8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00342/00342-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00342" id="case00342" name="case00342" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00342/00342-settings.txt b/models/sbml-test-suite/cases/semantic/00342/00342-settings.txt
new file mode 100644
index 0000000..8b20d89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00342/00342-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00343/00343-results.csv b/models/sbml-test-suite/cases/semantic/00343/00343-results.csv
new file mode 100644
index 0000000..c89c9b4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00343/00343-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0015,0.002,0.0015,0.004
+0.2,0.0015,0.0022079,0.0015693,0.003975
+0.4,0.0015,0.0024158,0.0016386,0.00395
+0.6,0.0015,0.0026237,0.0017079,0.003925
+0.8,0.0015,0.0028316,0.0017772,0.0039
+1,0.0015,0.0030395,0.0018465,0.003875
+1.2,0.0015,0.0032474,0.0019158,0.00385
+1.4,0.0015,0.0034553,0.0019851,0.003825
+1.6,0.0015,0.0036632,0.0020544,0.0038
+1.8,0.0015,0.0038711,0.0021237,0.003775
+2,0.0015,0.004079,0.002193,0.00375
+2.2,0.0015,0.0042869,0.0022623,0.003725
+2.4,0.0015,0.0044948,0.0023316,0.0037
+2.6,0.0015,0.0047027,0.0024009,0.003675
+2.8,0.0015,0.0049106,0.0024702,0.00365
+3,0.0015,0.0051185,0.0025395,0.003625
+3.2,0.0015,0.0053264,0.0026088,0.0036
+3.4,0.0015,0.0055343,0.0026781,0.003575
+3.6,0.0015,0.0057422,0.0027474,0.00355
+3.8,0.0015,0.0059501,0.0028167,0.003525
+4,0.0015,0.006158,0.002886,0.0035
+4.2,0.0015,0.0063659,0.0029553,0.003475
+4.4,0.0015,0.0065738,0.0030246,0.00345
+4.6,0.0015,0.0067817,0.0030939,0.003425
+4.8,0.0015,0.0069896,0.0031632,0.0034
+5,0.0015,0.0071975,0.0032325,0.003375
+5.2,0.0015,0.0074054,0.0033018,0.00335
+5.4,0.0015,0.0076133,0.0033711,0.003325
+5.6,0.0015,0.0078212,0.0034404,0.0033
+5.8,0.0015,0.0080291,0.0035097,0.003275
+6,0.0015,0.008237,0.003579,0.00325
+6.2,0.0015,0.0084449,0.0036483,0.003225
+6.4,0.0015,0.0086528,0.0037176,0.0032
+6.6,0.0015,0.0088607,0.0037869,0.003175
+6.8,0.0015,0.0090686,0.0038562,0.00315
+7,0.0015,0.0092765,0.0039255,0.003125
+7.2,0.0015,0.0094844,0.0039948,0.0031
+7.4,0.0015,0.0096923,0.0040641,0.003075
+7.6,0.0015,0.0099002,0.0041334,0.00305
+7.8,0.0015,0.0101081,0.0042027,0.003025
+8,0.0015,0.010316,0.004272,0.003
+8.2,0.0015,0.0105239,0.0043413,0.002975
+8.4,0.0015,0.0107318,0.0044106,0.00295
+8.6,0.0015,0.0109397,0.0044799,0.002925
+8.8,0.0015,0.0111476,0.0045492,0.0029
+9,0.0015,0.0113555,0.0046185,0.002875
+9.2,0.0015,0.0115634,0.0046878,0.00285
+9.4,0.0015,0.0117713,0.0047571,0.002825
+9.6,0.0015,0.0119792,0.0048264,0.0028
+9.8,0.0015,0.0121871,0.0048957,0.002775
+10,0.0015,0.012395,0.004965,0.00275
diff --git a/models/sbml-test-suite/cases/semantic/00343/00343-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00343/00343-sbml-l1v2.xml
new file mode 100644
index 0000000..1ff707e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00343/00343-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00343">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0015" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="0.002" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0.004" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.693"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.0005 * k1" type="rate" species="S3"/>
+      <speciesConcentrationRule formula="-0.0005 * k2" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00343/00343-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00343/00343-sbml-l2v4.xml
new file mode 100644
index 0000000..11e0640
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00343/00343-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00343" id="case00343" name="case00343">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00343/00343-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00343/00343-sbml-l3v1.xml
new file mode 100644
index 0000000..e6757cb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00343/00343-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00343" id="case00343" name="case00343" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00343/00343-settings.txt b/models/sbml-test-suite/cases/semantic/00343/00343-settings.txt
new file mode 100644
index 0000000..c5ba120
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00343/00343-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00344/00344-results.csv b/models/sbml-test-suite/cases/semantic/00344/00344-results.csv
new file mode 100644
index 0000000..1831e66
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00344/00344-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0015,0.002,0.0015,0.004
+0.16,0.00134257,0.00215743,0.00155544,0.00398
+0.32,0.00120166,0.00229834,0.00161088,0.00396
+0.48,0.00107554,0.00242446,0.00166632,0.00394
+0.64,0.00096266,0.00253734,0.00172176,0.00392
+0.8,0.000861625,0.00263837,0.0017772,0.0039
+0.96,0.000771194,0.00272881,0.00183264,0.00388
+1.12,0.000690255,0.00280975,0.00188808,0.00386
+1.28,0.00061781,0.00288219,0.00194352,0.00384
+1.44,0.000552968,0.00294703,0.00199896,0.00382
+1.6,0.000494932,0.00300507,0.0020544,0.0038
+1.76,0.000442987,0.00305701,0.00210984,0.00378
+1.92,0.000396494,0.00310351,0.00216528,0.00376
+2.08,0.00035488,0.00314512,0.00222072,0.00374
+2.24,0.000317634,0.00318237,0.00227616,0.00372
+2.4,0.000284297,0.0032157,0.0023316,0.0037
+2.56,0.000254459,0.00324554,0.00238704,0.00368
+2.72,0.000227753,0.00327225,0.00244248,0.00366
+2.88,0.000203849,0.00329615,0.00249792,0.00364
+3.04,0.000182454,0.00331755,0.00255336,0.00362
+3.2,0.000163305,0.00333669,0.0026088,0.0036
+3.36,0.000146166,0.00335383,0.00266424,0.00358
+3.52,0.000130825,0.00336918,0.00271968,0.00356
+3.68,0.000117094,0.00338291,0.00277512,0.00354
+3.84,0.000104805,0.0033952,0.00283056,0.00352
+4,9.38E-05,0.00340619,0.002886,0.0035
+4.16,8.40E-05,0.00341604,0.00294144,0.00348
+4.32,7.51E-05,0.00342485,0.00299688,0.00346
+4.48,6.73E-05,0.00343274,0.00305232,0.00344
+4.64,6.02E-05,0.0034398,0.00310776,0.00342
+4.8,5.39E-05,0.00344612,0.0031632,0.0034
+4.96,4.82E-05,0.00345177,0.00321864,0.00338
+5.12,4.32E-05,0.00345683,0.00327408,0.00336
+5.28,3.86E-05,0.00346136,0.00332952,0.00334
+5.44,3.46E-05,0.00346542,0.00338496,0.00332
+5.6,3.10E-05,0.00346905,0.0034404,0.0033
+5.76,2.77E-05,0.0034723,0.00349584,0.00328
+5.92,2.48E-05,0.0034752,0.00355128,0.00326
+6.08,2.22E-05,0.00347781,0.00360672,0.00324
+6.24,1.99E-05,0.00348014,0.00366216,0.00322
+6.4,1.78E-05,0.00348222,0.0037176,0.0032
+6.56,1.59E-05,0.00348409,0.00377304,0.00318
+6.72,1.42E-05,0.00348576,0.00382848,0.00316
+6.88,1.27E-05,0.00348725,0.00388392,0.00314
+7.04,1.14E-05,0.00348859,0.00393936,0.00312
+7.2,1.02E-05,0.00348979,0.0039948,0.0031
+7.36,9.14E-06,0.00349086,0.00405024,0.00308
+7.52,8.18E-06,0.00349182,0.00410568,0.00306
+7.68,7.32E-06,0.00349268,0.00416112,0.00304
+7.84,6.55E-06,0.00349345,0.00421656,0.00302
+8,5.87E-06,0.00349413,0.004272,0.003
diff --git a/models/sbml-test-suite/cases/semantic/00344/00344-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00344/00344-sbml-l1v2.xml
new file mode 100644
index 0000000..d9cdf6b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00344/00344-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00344">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.002" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0015" units="substance" boundaryCondition="true"/>
+      <species name="S4" compartment="compartment" initialAmount="0.004" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.693"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.0005 * k1" type="rate" species="S3"/>
+      <speciesConcentrationRule formula="-0.0005 * k2" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00344/00344-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00344/00344-sbml-l2v4.xml
new file mode 100644
index 0000000..d71a63b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00344/00344-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00344" id="case00344" name="case00344">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00344/00344-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00344/00344-sbml-l3v1.xml
new file mode 100644
index 0000000..e8b7c90
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00344/00344-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00344" id="case00344" name="case00344" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00344/00344-settings.txt b/models/sbml-test-suite/cases/semantic/00344/00344-settings.txt
new file mode 100644
index 0000000..d8ab834
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00344/00344-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00345/00345-results.csv b/models/sbml-test-suite/cases/semantic/00345/00345-results.csv
new file mode 100644
index 0000000..a96aa7f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00345/00345-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0015,0.002,0.0015,0.004
+0.24,0.00127016,0.00222984,0.00158316,0.00397
+0.48,0.00107554,0.00242446,0.00166632,0.00394
+0.72,0.000910743,0.00258926,0.00174948,0.00391
+0.96,0.000771194,0.00272881,0.00183264,0.00388
+1.2,0.000653028,0.00284697,0.0019158,0.00385
+1.44,0.000552968,0.00294703,0.00199896,0.00382
+1.68,0.00046824,0.00303176,0.00208212,0.00379
+1.92,0.000396494,0.00310351,0.00216528,0.00376
+2.16,0.000335741,0.00316426,0.00224844,0.00373
+2.4,0.000284297,0.0032157,0.0023316,0.0037
+2.64,0.000240736,0.00325926,0.00241476,0.00367
+2.88,0.000203849,0.00329615,0.00249792,0.00364
+3.12,0.000172614,0.00332739,0.00258108,0.00361
+3.36,0.000146166,0.00335383,0.00266424,0.00358
+3.6,0.000123769,0.00337623,0.0027474,0.00355
+3.84,0.000104805,0.0033952,0.00283056,0.00352
+4.08,8.87E-05,0.00341125,0.00291372,0.00349
+4.32,7.51E-05,0.00342485,0.00299688,0.00346
+4.56,6.36E-05,0.00343637,0.00308004,0.00343
+4.8,5.39E-05,0.00344612,0.0031632,0.0034
+5.04,4.56E-05,0.00345437,0.00324636,0.00337
+5.28,3.86E-05,0.00346136,0.00332952,0.00334
+5.52,3.27E-05,0.00346728,0.00341268,0.00331
+5.76,2.77E-05,0.0034723,0.00349584,0.00328
+6,2.35E-05,0.00347654,0.003579,0.00325
+6.24,1.99E-05,0.00348014,0.00366216,0.00322
+6.48,1.68E-05,0.00348318,0.00374532,0.00319
+6.72,1.42E-05,0.00348576,0.00382848,0.00316
+6.96,1.21E-05,0.00348794,0.00391164,0.00313
+7.2,1.02E-05,0.00348979,0.0039948,0.0031
+7.44,8.65E-06,0.00349135,0.00407796,0.00307
+7.68,7.32E-06,0.00349268,0.00416112,0.00304
+7.92,6.20E-06,0.0034938,0.00424428,0.00301
+8.16,5.25E-06,0.00349475,0.00432744,0.00298
+8.4,4.45E-06,0.00349555,0.0044106,0.00295
+8.64,3.76E-06,0.00349624,0.00449376,0.00292
+8.88,3.19E-06,0.00349681,0.00457692,0.00289
+9.12,2.70E-06,0.0034973,0.00466008,0.00286
+9.36,2.29E-06,0.00349771,0.00474324,0.00283
+9.6,1.94E-06,0.00349806,0.0048264,0.0028
+9.84,1.64E-06,0.00349836,0.00490956,0.00277
+10.08,1.39E-06,0.00349861,0.00499272,0.00274
+10.32,1.18E-06,0.00349882,0.00507588,0.00271
+10.56,9.95E-07,0.003499,0.00515904,0.00268
+10.8,8.43E-07,0.00349916,0.0052422,0.00265
+11.04,7.14E-07,0.00349929,0.00532536,0.00262
+11.28,6.04E-07,0.0034994,0.00540852,0.00259
+11.52,5.12E-07,0.00349949,0.00549168,0.00256
+11.76,4.33E-07,0.00349957,0.00557484,0.00253
+12,3.67E-07,0.00349963,0.005658,0.0025
diff --git a/models/sbml-test-suite/cases/semantic/00345/00345-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00345/00345-sbml-l1v2.xml
new file mode 100644
index 0000000..8d67fdb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00345/00345-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00345">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.002" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0.004" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.693"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.0005 * k1" type="rate" species="S3"/>
+      <speciesConcentrationRule formula="-0.0005 * k2" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00345/00345-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00345/00345-sbml-l2v4.xml
new file mode 100644
index 0000000..f62b408
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00345/00345-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00345" id="case00345" name="case00345">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00345/00345-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00345/00345-sbml-l3v1.xml
new file mode 100644
index 0000000..a1775e1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00345/00345-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00345" id="case00345" name="case00345" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00345/00345-settings.txt b/models/sbml-test-suite/cases/semantic/00345/00345-settings.txt
new file mode 100644
index 0000000..927b43a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00345/00345-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00346/00346-results.csv b/models/sbml-test-suite/cases/semantic/00346/00346-results.csv
new file mode 100644
index 0000000..69fe503
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00346/00346-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0015,0.002,0.0015,0.004
+0.12,0.0015,0.00212474,0.00154158,0.003985
+0.24,0.0015,0.00224948,0.00158316,0.00397
+0.36,0.0015,0.00237422,0.00162474,0.003955
+0.48,0.0015,0.00249896,0.00166632,0.00394
+0.6,0.0015,0.0026237,0.0017079,0.003925
+0.72,0.0015,0.00274844,0.00174948,0.00391
+0.84,0.0015,0.00287318,0.00179106,0.003895
+0.96,0.0015,0.00299792,0.00183264,0.00388
+1.08,0.0015,0.00312266,0.00187422,0.003865
+1.2,0.0015,0.0032474,0.0019158,0.00385
+1.32,0.0015,0.00337214,0.00195738,0.003835
+1.44,0.0015,0.00349688,0.00199896,0.00382
+1.56,0.0015,0.00362162,0.00204054,0.003805
+1.68,0.0015,0.00374636,0.00208212,0.00379
+1.8,0.0015,0.0038711,0.0021237,0.003775
+1.92,0.0015,0.00399584,0.00216528,0.00376
+2.04,0.0015,0.00412058,0.00220686,0.003745
+2.16,0.0015,0.00424532,0.00224844,0.00373
+2.28,0.0015,0.00437006,0.00229002,0.003715
+2.4,0.0015,0.0044948,0.0023316,0.0037
+2.52,0.0015,0.00461954,0.00237318,0.003685
+2.64,0.0015,0.00474428,0.00241476,0.00367
+2.76,0.0015,0.00486902,0.00245634,0.003655
+2.88,0.0015,0.00499376,0.00249792,0.00364
+3,0.0015,0.0051185,0.0025395,0.003625
+3.12,0.0015,0.00524324,0.00258108,0.00361
+3.24,0.0015,0.00536798,0.00262266,0.003595
+3.36,0.0015,0.00549272,0.00266424,0.00358
+3.48,0.0015,0.00561746,0.00270582,0.003565
+3.6,0.0015,0.0057422,0.0027474,0.00355
+3.72,0.0015,0.00586694,0.00278898,0.003535
+3.84,0.0015,0.00599168,0.00283056,0.00352
+3.96,0.0015,0.00611642,0.00287214,0.003505
+4.08,0.0015,0.00624116,0.00291372,0.00349
+4.2,0.0015,0.0063659,0.0029553,0.003475
+4.32,0.0015,0.00649064,0.00299688,0.00346
+4.44,0.0015,0.00661538,0.00303846,0.003445
+4.56,0.0015,0.00674012,0.00308004,0.00343
+4.68,0.0015,0.00686486,0.00312162,0.003415
+4.8,0.0015,0.0069896,0.0031632,0.0034
+4.92,0.0015,0.00711434,0.00320478,0.003385
+5.04,0.0015,0.00723908,0.00324636,0.00337
+5.16,0.0015,0.00736382,0.00328794,0.003355
+5.28,0.0015,0.00748856,0.00332952,0.00334
+5.4,0.0015,0.0076133,0.0033711,0.003325
+5.52,0.0015,0.00773804,0.00341268,0.00331
+5.64,0.0015,0.00786278,0.00345426,0.003295
+5.76,0.0015,0.00798752,0.00349584,0.00328
+5.88,0.0015,0.00811226,0.00353742,0.003265
+6,0.0015,0.008237,0.003579,0.00325
diff --git a/models/sbml-test-suite/cases/semantic/00346/00346-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00346/00346-sbml-l1v2.xml
new file mode 100644
index 0000000..31b79fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00346/00346-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00346">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0015" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="compartment" initialAmount="0.002" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S4" compartment="compartment" initialAmount="0.004" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.693"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.0005 * k1" type="rate" species="S3"/>
+      <speciesConcentrationRule formula="-0.0005 * k2" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00346/00346-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00346/00346-sbml-l2v4.xml
new file mode 100644
index 0000000..3892beb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00346/00346-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00346" id="case00346" name="case00346">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00346/00346-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00346/00346-sbml-l3v1.xml
new file mode 100644
index 0000000..fdb1510
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00346/00346-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00346" id="case00346" name="case00346" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00346/00346-settings.txt b/models/sbml-test-suite/cases/semantic/00346/00346-settings.txt
new file mode 100644
index 0000000..664f965
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00346/00346-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00347/00347-results.csv b/models/sbml-test-suite/cases/semantic/00347/00347-results.csv
new file mode 100644
index 0000000..609d79f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00347/00347-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0015,0.002,0.0015,0.004
+0.12,0.00138031,0.00211969,0.00154158,0.003985
+0.24,0.00127016,0.00222984,0.00158316,0.00397
+0.36,0.00116881,0.00233119,0.00162474,0.003955
+0.48,0.00107554,0.00242446,0.00166632,0.00394
+0.6,0.000989718,0.00251028,0.0017079,0.003925
+0.72,0.000910743,0.00258926,0.00174948,0.00391
+0.84,0.000838069,0.00266193,0.00179106,0.003895
+0.96,0.000771194,0.00272881,0.00183264,0.00388
+1.08,0.000709656,0.00279034,0.00187422,0.003865
+1.2,0.000653028,0.00284697,0.0019158,0.00385
+1.32,0.000600919,0.00289908,0.00195738,0.003835
+1.44,0.000552968,0.00294703,0.00199896,0.00382
+1.56,0.000508843,0.00299116,0.00204054,0.003805
+1.68,0.00046824,0.00303176,0.00208212,0.00379
+1.8,0.000430876,0.00306912,0.0021237,0.003775
+1.92,0.000396494,0.00310351,0.00216528,0.00376
+2.04,0.000364855,0.00313514,0.00220686,0.003745
+2.16,0.000335741,0.00316426,0.00224844,0.00373
+2.28,0.00030895,0.00319105,0.00229002,0.003715
+2.4,0.000284297,0.0032157,0.0023316,0.0037
+2.52,0.000261611,0.00323839,0.00237318,0.003685
+2.64,0.000240736,0.00325926,0.00241476,0.00367
+2.76,0.000221526,0.00327847,0.00245634,0.003655
+2.88,0.000203849,0.00329615,0.00249792,0.00364
+3,0.000187583,0.00331242,0.0025395,0.003625
+3.12,0.000172614,0.00332739,0.00258108,0.00361
+3.24,0.00015884,0.00334116,0.00262266,0.003595
+3.36,0.000146166,0.00335383,0.00266424,0.00358
+3.48,0.000134502,0.0033655,0.00270582,0.003565
+3.6,0.000123769,0.00337623,0.0027474,0.00355
+3.72,0.000113893,0.00338611,0.00278898,0.003535
+3.84,0.000104805,0.0033952,0.00283056,0.00352
+3.96,9.64E-05,0.00340356,0.00287214,0.003505
+4.08,8.87E-05,0.00341125,0.00291372,0.00349
+4.2,8.17E-05,0.00341834,0.0029553,0.003475
+4.32,7.51E-05,0.00342485,0.00299688,0.00346
+4.44,6.92E-05,0.00343085,0.00303846,0.003445
+4.56,6.36E-05,0.00343637,0.00308004,0.00343
+4.68,5.86E-05,0.00344144,0.00312162,0.003415
+4.8,5.39E-05,0.00344612,0.0031632,0.0034
+4.92,4.96E-05,0.00345042,0.00320478,0.003385
+5.04,4.56E-05,0.00345437,0.00324636,0.00337
+5.16,4.20E-05,0.00345801,0.00328794,0.003355
+5.28,3.86E-05,0.00346136,0.00332952,0.00334
+5.4,3.56E-05,0.00346445,0.0033711,0.003325
+5.52,3.27E-05,0.00346728,0.00341268,0.00331
+5.64,3.01E-05,0.00346989,0.00345426,0.003295
+5.76,2.77E-05,0.0034723,0.00349584,0.00328
+5.88,2.55E-05,0.00347451,0.00353742,0.003265
+6,2.35E-05,0.00347654,0.003579,0.00325
diff --git a/models/sbml-test-suite/cases/semantic/00347/00347-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00347/00347-sbml-l1v2.xml
new file mode 100644
index 0000000..0eeaec8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00347/00347-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00347">
+    <listOfCompartments>
+      <compartment name="compartment" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="compartment" initialAmount="0.0015" units="substance"/>
+      <species name="S2" compartment="compartment" initialAmount="0.002" units="substance"/>
+      <species name="S3" compartment="compartment" initialAmount="0.0015" units="substance" boundaryCondition="true"/>
+      <species name="S4" compartment="compartment" initialAmount="0.004" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.693"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.0005 * k1" type="rate" species="S3"/>
+      <speciesConcentrationRule formula="-0.0005 * k2" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="compartment * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00347/00347-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00347/00347-sbml-l2v4.xml
new file mode 100644
index 0000000..5ed696a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00347/00347-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00347" id="case00347" name="case00347">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00347/00347-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00347/00347-sbml-l3v1.xml
new file mode 100644
index 0000000..5ea4c0e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00347/00347-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00347" id="case00347" name="case00347" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00347/00347-settings.txt b/models/sbml-test-suite/cases/semantic/00347/00347-settings.txt
new file mode 100644
index 0000000..664f965
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00347/00347-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00348/00348-results.csv b/models/sbml-test-suite/cases/semantic/00348/00348-results.csv
new file mode 100644
index 0000000..876f55f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00348/00348-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.04,0.9523960637194353,1.952396063719436,1.047603936280563
+0.08,0.9092009390881764,1.909200939088178,1.090799060911821
+0.12,0.869904393460821,1.869904393460823,1.130095606539177
+0.16,0.8340700131988868,1.834070013198889,1.165929986801111
+0.2,0.8013223155409106,1.801322315540912,1.198677684459087
+0.24,0.7713364606653292,1.771336460665331,1.228663539334669
+0.28,0.7476982042103491,0.9976982444372477,1.252301795789648
+0.32,0.738142032102101,0.9881420723289996,1.261857967897896
+0.36,0.7291585012403463,0.9791585414672449,1.27084149875965
+0.4,0.7207087403640133,0.9707087805909119,1.279291259635983
+0.44,0.71275700134263,0.9627570415695286,1.287242998657366
+0.48,0.705270357830395,0.9552703980572936,1.294729642169601
+0.52,0.6982184372790587,0.9482184775059573,1.301781562720937
+0.56,0.6915731838841671,0.9415732241110657,1.308426816115829
+0.6,0.6853086468792242,0.9353086871061228,1.314691353120772
+0.64,0.6794007926802284,0.929400832907127,1.320599207319768
+0.68,0.6738273385742595,0.9238273788011581,1.326172661425737
+0.72,0.6685675948594066,0.9185676350863052,1.331432405140589
+0.76,0.6636023354798711,0.9136023757067697,1.336397664520125
+0.8,0.6589136776050269,0.9089137178319255,1.341086322394969
+0.84,0.6544849651385246,0.9044850053654232,1.345515034861472
+0.88,0.6503006719006156,0.9003007121275142,1.349699328099381
+0.92,0.6463463181423877,0.8963463583692863,1.353653681857609
+0.96,0.642608379740159,0.8926084199670576,1.357391620259837
+1.,0.639074219651229,0.8890742598781276,1.360925780348767
+1.04,0.6357320196187156,0.8857320598456142,1.364267980381281
+1.08,0.6325707189853089,0.8825707592122075,1.367429281014687
+1.12,0.6295799588768062,0.8795799991037048,1.37042004112319
+1.16,0.6267500312072581,0.8767500714341567,1.373249968792738
+1.2,0.6240718320217461,0.8740718722486446,1.37592816797825
+1.24,0.6215368187474841,0.8715368589743827,1.378463181252512
+1.28,0.6191369678903746,0.8691370081172732,1.380863032109622
+1.32,0.6168647526219024,0.866864792848801,1.383135247378094
+1.36,0.614713087996803,0.8647131282237016,1.385286912003193
+1.4,0.6126753109387046,0.8626753511656032,1.387324689061292
+1.44,0.6107451604171102,0.8607452006440088,1.389254839582886
+1.48,0.6089167426793985,0.8589167829062971,1.391083257320598
+1.52,0.6071845039991602,0.8571845442260588,1.392815496000836
+1.56,0.6055432112399943,0.8555432514668929,1.394456788760002
+1.6,0.6039879386172742,0.8539879788441728,1.396012061382722
+1.64,0.6025140421826803,0.8525140824095789,1.397485957817316
+1.68,0.601117139389096,0.8511171796159946,1.3988828606109
+1.72,0.5997930946792274,0.849793134906126,1.400206905320768
+1.76,0.5985380099227861,0.8485380501496847,1.40146199007721
+1.8,0.5973482054390288,0.8473482456659274,1.402651794560967
+1.84,0.59622020444187,0.8462202446687686,1.403779795558126
+1.88,0.5951507221902515,0.8451507624171501,1.404849277809744
+1.92,0.5941366589610946,0.8441366991879932,1.405863341038901
+1.96,0.5931750865541681,0.8431751267810667,1.406824913445827
+2.,0.5922632324445518,0.8422632726714504,1.407736767555444
diff --git a/models/sbml-test-suite/cases/semantic/00348/00348-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00348/00348-sbml-l2v4.xml
new file mode 100644
index 0000000..817305d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00348/00348-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00348" id="case00348" name="case00348">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00348/00348-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00348/00348-sbml-l3v1.xml
new file mode 100644
index 0000000..7b8a2c4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00348/00348-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00348" id="case00348" name="case00348" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00348/00348-settings.txt b/models/sbml-test-suite/cases/semantic/00348/00348-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00348/00348-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00349/00349-results.csv b/models/sbml-test-suite/cases/semantic/00349/00349-results.csv
new file mode 100644
index 0000000..57987b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00349/00349-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.04,0.9523960637194353,1.952396063719436,1.047603936280563
+0.08,0.9092009390881764,1.909200939088178,1.090799060911821
+0.12,0.869904393460821,1.869904393460823,1.130095606539177
+0.16,0.8340700131988868,1.834070013198889,1.165929986801111
+0.2,0.8013223155409106,1.801322315540912,1.198677684459087
+0.24,0.7713364606653292,1.771336460665331,1.228663539334669
+0.28,0.7476982042101487,0.9976982444370473,1.252301795789849
+0.32,0.7381420321019122,0.9881420723288107,1.261857967898085
+0.36,0.7291585012401909,0.9791585414670895,1.270841498759807
+0.4,0.7207087403638752,0.9707087805907738,1.279291259636123
+0.44,0.7127570013425947,0.9627570415694933,1.287242998657403
+0.48,0.7052703578303798,0.9552703980572784,1.294729642169619
+0.52,0.6982184372790578,0.9482184775059564,1.301781562720941
+0.56,0.6915731838841752,0.9415732241110738,1.308426816115823
+0.6,0.6853086468799921,0.9353086871068907,1.314691353120006
+0.64,0.6794007926815117,0.9294008329084103,1.320599207318487
+0.68,0.6738273385771412,0.9238273788040398,1.326172661422857
+0.72,0.6685675948567614,0.91856763508366,1.331432405143237
+0.76,0.663602335479067,0.9136023757059655,1.336397664520932
+0.8,0.658913677610335,0.9089137178372336,1.341086322389664
+0.84,0.654484965136405,0.9044850053633036,1.345515034863594
+0.88,0.6503006718899433,0.9003007121168418,1.349699328110056
+0.92,0.6463463181338902,0.8963463583607886,1.353653681866109
+0.96,0.6426083797339665,0.892608419960865,1.357391620266033
+1.,0.6390742196473007,0.8890742598741991,1.360925780352699
+1.04,0.6357320196168875,0.885732059843786,1.364267980383112
+1.08,0.6325707189853326,0.8825707592122311,1.367429281014667
+1.12,0.6295799588783788,0.8795799991052772,1.370420041121621
+1.16,0.6267500312100449,0.8767500714369433,1.373249968789955
+1.2,0.6240718320253986,0.8740718722522971,1.375928167974601
+1.24,0.6215368187516541,0.8715368589785526,1.378463181248345
+1.28,0.6191369678921265,0.869137008119025,1.380863032107873
+1.32,0.616864752611001,0.8668647928378995,1.383135247388999
+1.36,0.6147130879933961,0.8647131282202946,1.385286912006603
+1.4,0.6126753109492503,0.8626753511761488,1.387324689050749
+1.44,0.6107451604187506,0.860745200645649,1.389254839581249
+1.48,0.6089167426710526,0.8589167828979511,1.391083257328947
+1.52,0.6071845039961254,0.8571845442230239,1.392815496003874
+1.56,0.6055432112482208,0.8555432514751193,1.394456788751778
+1.6,0.6039879386187787,0.8539879788456772,1.396012061381221
+1.64,0.6025140421762303,0.8525140824031288,1.397485957823769
+1.68,0.6011171394280937,0.8511171796549922,1.398882860571905
+1.72,0.9981714522854537,0.8481714908268711,1.401828549400027
+1.76,0.9871540094206141,0.8371540479620315,1.412845992264866
+1.8,0.9768271976950984,0.8268272362365157,1.423172803990382
+1.84,0.9671417207642927,0.81714175930571,1.432858280921187
+1.88,0.9580524642747874,0.8080525028162047,1.441947537410693
+1.92,0.9495180701169978,0.7995181086584152,1.450481931568482
+1.96,0.9415005584467961,0.7915005969882135,1.458499443238684
+2.,0.9339649977568963,0.7839650362983137,1.466035003928584
diff --git a/models/sbml-test-suite/cases/semantic/00349/00349-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00349/00349-sbml-l2v4.xml
new file mode 100644
index 0000000..d00d243
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00349/00349-sbml-l2v4.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00349" id="case00349" name="case00349">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00349/00349-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00349/00349-sbml-l3v1.xml
new file mode 100644
index 0000000..61c2861
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00349/00349-sbml-l3v1.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00349" id="case00349" name="case00349" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00349/00349-settings.txt b/models/sbml-test-suite/cases/semantic/00349/00349-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00349/00349-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00350/00350-results.csv b/models/sbml-test-suite/cases/semantic/00350/00350-results.csv
new file mode 100644
index 0000000..b966cd9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00350/00350-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,0.9769357746130268,1.476935774613026,1.27306424106133
+0.35,0.9406532358877074,1.440653235887707,1.30934677978665
+0.4,0.9078838824988081,1.407883882498808,1.342116133175549
+0.45,0.8782145571087487,1.378214557108749,1.371785458565608
+0.5,0.8512920320497492,1.35129203204975,1.398707983624607
+0.55,0.8268125351266615,1.326812535126662,1.423187480547695
+0.6,0.8045134047133377,1.304513404713338,1.445486610961019
+0.65,0.7841663788615219,1.284166378861522,1.465833636812835
+0.7,0.7655721654158855,1.265572165415886,1.484427850258471
+0.75,0.996702196451774,1.496702196451774,1.503297822155853
+0.8,0.9614378795727744,1.461437879572774,1.538562139034853
+0.85,0.9296377460326503,1.429637746032651,1.570362272574977
+0.9,0.9008928711217448,1.400892871121745,1.599107147485882
+0.95,0.8748535242371097,1.37485352423711,1.625146494370517
+1.,0.851218855093672,1.351218855093673,1.648781163513955
+1.05,0.8297286661210362,1.329728666121037,1.670271352486591
+1.1,0.8101568065241388,1.31015680652414,1.689843212083488
+1.15,0.7923058035047682,1.292305803504769,1.707694215102858
+1.2,0.7760025079720182,1.276002507972019,1.723997510635608
+1.25,0.7610944834644319,1.261094483464433,1.738905535143195
+1.3,0.9934042648066647,1.493404264806665,1.756595761187012
+1.35,0.9614352156657994,1.461435215665799,1.788564810327877
+1.4,0.9326065174146404,1.43260651741464,1.817393508579036
+1.45,0.9065533023781111,1.406553302378111,1.843446723615565
+1.5,0.8829622163581833,1.382962216358183,1.867037809635493
+1.55,0.861562676314278,1.361562676314277,1.888437349679399
+1.6,0.8421198587468291,1.342119858746828,1.907880167246848
+1.65,0.8244290219508935,1.324429021950892,1.925571004042784
+1.7,0.8083108862237863,1.308310886223785,1.941689139769891
+1.75,0.7936078494828232,1.293607849482822,1.956392176510854
+1.8,0.7801808507087162,1.280180850708715,1.969819175284961
+1.85,0.7679067729948908,1.26790677299489,1.982093252998786
+1.9,0.7566762708891495,1.256676270889148,1.993323755104528
+1.95,0.9889351940457361,1.488935194045735,2.01106483291566
+2.,0.9603772394373821,1.46037723943738,2.039622787524013
+2.05,0.9346224087470281,1.434622408747026,2.065377618214367
+2.1,0.9113505578810378,1.411350557881035,2.088649469080357
+2.15,0.890285499302647,1.390285499302645,2.109714527658749
+2.2,0.8711877662342509,1.371187766234249,2.128812260727145
+2.25,0.8538487611300295,1.353848761130027,2.146151265831366
+2.3,0.8380860006387865,1.338086000638784,2.161914026322608
+2.35,0.8237392129615901,1.323739212961588,2.176260813999805
+2.4,0.8106671188923192,1.310667118892317,2.189332908069076
+2.45,0.7987447623940254,1.298744762394023,2.20125526456737
+2.5,0.787861277453007,1.287861277453004,2.212138749508388
diff --git a/models/sbml-test-suite/cases/semantic/00350/00350-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00350/00350-sbml-l2v4.xml
new file mode 100644
index 0000000..4e12f6a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00350/00350-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00350" id="case00350" name="case00350">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00350/00350-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00350/00350-sbml-l3v1.xml
new file mode 100644
index 0000000..d8b3850
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00350/00350-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00350" id="case00350" name="case00350" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00350/00350-settings.txt b/models/sbml-test-suite/cases/semantic/00350/00350-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00350/00350-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00351/00351-results.csv b/models/sbml-test-suite/cases/semantic/00351/00351-results.csv
new file mode 100644
index 0000000..e98f6d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00351/00351-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.001199999999999999,0.002,0.001
+0.05,0.0009811504470259415,0.001181150447025941,0.002018849552974059,0.001018849552974058
+0.1,0.0009644169242279544,0.001164416924227954,0.002035583075772045,0.001035583075772045
+0.15,0.0009495494231516365,0.001149549423151636,0.002050450576848363,0.001050450576848363
+0.2,0.0009363300101487497,0.001136330010148749,0.002063669989851249,0.00106366998985125
+0.25,0.0009245681996168226,0.001124568199616822,0.002075431800383176,0.001075431800383177
+0.3,0.0009140971040805593,0.001114097104080559,0.002085902895919439,0.00108590289591944
+0.35,0.0009047701895371841,0.001104770189537184,0.002095229810462815,0.001095229810462815
+0.4,0.001977185022649729,0.001077185007832314,0.002122814992167685,0.001122814992167685
+0.45,0.001930784101506055,0.00103078408668864,0.002169215913311359,0.001169215913311359
+0.5,0.001890959878083497,0.0009909598632660821,0.002209040136733917,0.001209040136733917
+0.55,0.001856711781526364,0.0009567117667089491,0.00224328823329105,0.00124328823329105
+0.6,0.001827208373220512,0.0009272083584030968,0.002272791641596903,0.001272791641596902
+0.65,0.001801754657362376,0.0009017546425449614,0.002298245357455038,0.001298245357455038
+0.7,0.001779766695391401,0.0008797666805739857,0.002320233319426014,0.001320233319426013
+0.75,0.001760751618927884,0.0008607516041104695,0.00233924839588953,0.00133924839588953
+0.8,0.001744291784935604,0.0008442917701181894,0.00235570822988181,0.00135570822988181
+0.85,0.001730032044476051,0.000830032029658636,0.002369967970341364,0.001369967970341363
+0.9,0.001717669480803518,0.0008176694659861026,0.002382330534013898,0.001382330534013896
+0.95,0.001706945035534873,0.0008069450207174579,0.002393054979282543,0.001393054979282541
+1.,0.001697636640357121,0.0007976366255397057,0.002402363374460295,0.001402363374460293
+1.05,0.001689553546778382,0.0007895535319609665,0.002410446468039033,0.001410446468039032
+1.1,0.001682531616443474,0.000782531601626059,0.002417468398373941,0.00141746839837394
+1.15,0.0016764293886306,0.000776429373813185,0.002423570626186815,0.001423570626186814
+1.2,0.001671124780982227,0.0007711247661648115,0.002428875233835189,0.001428875233835187
+1.25,0.001666512308825808,0.0007665122940083924,0.002433487705991608,0.001433487705991606
+1.3,0.00166250073461632,0.0007625007197989042,0.002437499280201096,0.001437499280201094
+1.35,0.001659011077328179,0.000759011062510763,0.002440988937489237,0.001440988937489235
+1.4,0.001655974901280644,0.0007559748864632278,0.002444025113536772,0.001444025113536771
+1.45,0.00165333287049305,0.0007533328556756339,0.002446667144324366,0.001446667144324364
+1.5,0.00165103351647625,0.0007510335016588336,0.002448966498341166,0.001448966498341164
+1.55,0.001649032164466101,0.000749032149648685,0.002450967850351315,0.001450967850351313
+1.6,0.001647290011854103,0.0007472899970366864,0.002452710002963313,0.001452710002963312
+1.65,0.001645773363457925,0.000745773348640509,0.002454226651359491,0.001454226651359489
+1.7,0.001644452926484389,0.0007444529116669728,0.002455547088333027,0.001455547088333026
+1.75,0.001643303238654211,0.0007433032238367953,0.002456696776163204,0.001456696776163203
+1.8,0.00164230216706423,0.0007423021522468146,0.002457697847753185,0.001457697847753184
+1.85,0.001641430451453699,0.0007414304366362832,0.002458569563363717,0.001458569563363715
+1.9,0.001640671347236531,0.0007406713324191144,0.002459328667580885,0.001459328667580884
+1.95,0.001640010280939876,0.0007400102661224598,0.00245998973387754,0.001459989733877538
+2.,0.001639434570211424,0.0007394345553940077,0.002460565444605992,0.00146056544460599
+2.05,0.001638933182419613,0.0007389331676021962,0.002461066832397804,0.001461066832397802
+2.1,0.001638496509199961,0.0007384964943825442,0.002461503505617456,0.001461503505617453
+2.15,0.001638116190639633,0.0007381161758222161,0.002461883824177784,0.001461883824177782
+2.2,0.001637784947953537,0.0007377849331361211,0.002462215066863879,0.001462215066863877
+2.25,0.001637496442252145,0.0007374964274347285,0.002462503572565272,0.001462503572565269
+2.3,0.001637245157493532,0.0007372451426761154,0.002462754857323885,0.001462754857323882
+2.35,0.001637026287941476,0.0007370262731240592,0.002462973726875941,0.001462973726875939
+2.4,0.001636835650102596,0.0007368356352851796,0.002463164364714821,0.001463164364714818
+2.45,0.001636669601476823,0.0007366695866594069,0.002463330413340594,0.001463330413340591
+2.5,0.001636524968904961,0.0007365249540875446,0.002463475045912457,0.001463475045912453
diff --git a/models/sbml-test-suite/cases/semantic/00351/00351-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00351/00351-sbml-l2v4.xml
new file mode 100644
index 0000000..5c37c49
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00351/00351-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00351" id="case00351" name="case00351">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00351/00351-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00351/00351-sbml-l3v1.xml
new file mode 100644
index 0000000..707b5e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00351/00351-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00351" id="case00351" name="case00351" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00351/00351-settings.txt b/models/sbml-test-suite/cases/semantic/00351/00351-settings.txt
new file mode 100644
index 0000000..ca38ee7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00351/00351-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00352/00352-results.csv b/models/sbml-test-suite/cases/semantic/00352/00352-results.csv
new file mode 100644
index 0000000..308425d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00352/00352-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.012,0.02,0.01
+0.05,0.009811504470259153,0.01181150447025915,0.02018849552974085,0.01018849552974084
+0.1,0.009644169242282452,0.01164416924228245,0.02035583075771755,0.01035583075771754
+0.15,0.009495494231513098,0.01149549423151309,0.02050450576848691,0.0105045057684869
+0.2,0.009363300101477201,0.0113633001014772,0.02063669989852281,0.01063669989852279
+0.25,0.009245681996194033,0.01124568199619403,0.02075431800380597,0.01075431800380596
+0.3,0.009140971040995385,0.01114097104099538,0.02085902895900463,0.01085902895900461
+0.35,0.009047701895636769,0.01104770189563677,0.02095229810436324,0.01095229810436323
+0.4,0.01977185016635009,0.0107718500281844,0.02122814997181563,0.0112281499718156
+0.45,0.01930784096225401,0.01030784082408832,0.02169215917591171,0.01169215917591167
+0.5,0.01890959873578043,0.009909598597614748,0.02209040140238529,0.01209040140238525
+0.55,0.01856711777319003,0.009567117635024342,0.02243288236497569,0.01243288236497565
+0.6,0.01821962194571131,0.009219621807545638,0.02278037819245441,0.01028037769883974
+0.65,0.01790554739614988,0.008905547257984198,0.02309445274201584,0.01059445224840118
+0.7,0.01763323691963038,0.008633236781464701,0.02336676321853534,0.01086676272492068
+0.75,0.01739681407433705,0.008396813936171379,0.02360318606382867,0.011103185570214
+0.8,0.01719130567423989,0.00819130553607422,0.02380869446392583,0.01130869397031116
+0.85,0.01701248505923827,0.008012484921072603,0.02398751507892744,0.01148751458531278
+0.9,0.0168567468228288,0.007856746684663133,0.02414325331533692,0.01164325282172225
+0.95,0.0167210054775423,0.007721005339376633,0.02427899466062341,0.01177899416700875
+1.,0.01660261279590809,0.007602612657742417,0.02439738734225763,0.01189738684864296
+1.05,0.01649929019786492,0.007499290059699251,0.0245007099403008,0.01200070944668613
+1.1,0.01640907268610717,0.007409072547941505,0.02459092745205855,0.01209092695844388
+1.15,0.01633026236475865,0.007330262226592986,0.02466973777340706,0.0121697372797924
+1.2,0.01626138967819032,0.007261389540024656,0.0247386104599754,0.01223860996636073
+1.25,0.016201180784499,0.007201180646333333,0.02479881935366672,0.01229881886005205
+1.3,0.01614852992882963,0.007148529790663962,0.02485147020933609,0.01235146971572142
+1.35,0.01610247616048882,0.007102476022323161,0.02489752397767689,0.01239752348406222
+1.4,0.01606218355394513,0.00706218341577946,0.02493781658422059,0.01243781609060592
+1.45,0.01602692430895508,0.007026924170789413,0.02497307582921064,0.01247307533559597
+1.5,0.01599606420611803,0.006996064067952369,0.02500393593204769,0.01250393543843302
+1.55,0.01596905020127199,0.006969050063106331,0.02503094993689373,0.01253094944327905
+1.6,0.01594539973458146,0.006945399596415798,0.02505460040358426,0.01255459990996959
+1.65,0.01592469157730014,0.006924691439134482,0.02507530856086558,0.0125753080672509
+1.7,0.01590655776955142,0.006906557631385763,0.02509344236861429,0.01259344187499962
+1.75,0.01589067686675621,0.00689067672859055,0.02510932327140951,0.01260932277779483
+1.8,0.01587676782325923,0.00687676768509357,0.02512323231490649,0.01262323182129181
+1.85,0.0158645850090506,0.006864584870884938,0.02513541512911512,0.01263541463550045
+1.9,0.01585391349386371,0.006853913355698051,0.025146086644302,0.01264608615068733
+1.95,0.01584456529109178,0.006844565152926111,0.02515543484707394,0.01265543435345927
+2.,0.01583637595635873,0.006836375818193061,0.02516362418180699,0.01266362368819232
+2.05,0.01582920150807595,0.006829201369910282,0.02517079863008977,0.0126707981364751
+2.1,0.01582291594238251,0.00682291580421684,0.02517708419578321,0.01267708370216854
+2.15,0.01581740898084064,0.006817408842674978,0.02518259115732508,0.0126825906637104
+2.2,0.01581258402701203,0.006812583888846375,0.02518741611115368,0.01268741561753901
+2.25,0.0158083565106862,0.006808356372520535,0.02519164362747952,0.01269164313386485
+2.3,0.01580465239367675,0.006804652255511091,0.02519534774448897,0.01269534725087429
+2.35,0.01580140680539051,0.006801406667224847,0.02519859333277521,0.01269859283916053
+2.4,0.01579856293337408,0.006798562795208413,0.02520143720479164,0.01270143671117697
+2.45,0.01579607103210854,0.006796070893942877,0.02520392910605718,0.0127039286124425
+2.5,0.01579388750797751,0.006793887369811848,0.02520611263018821,0.01270611213657353
diff --git a/models/sbml-test-suite/cases/semantic/00352/00352-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00352/00352-sbml-l2v4.xml
new file mode 100644
index 0000000..8f3f3e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00352/00352-sbml-l2v4.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00352" id="case00352" name="case00352">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 400 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 100 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00352/00352-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00352/00352-sbml-l3v1.xml
new file mode 100644
index 0000000..ac555cb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00352/00352-sbml-l3v1.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00352" id="case00352" name="case00352" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 400 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 100 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00352/00352-settings.txt b/models/sbml-test-suite/cases/semantic/00352/00352-settings.txt
new file mode 100644
index 0000000..c97b0ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00352/00352-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00353/00353-results.csv b/models/sbml-test-suite/cases/semantic/00353/00353-results.csv
new file mode 100644
index 0000000..e0fb181
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00353/00353-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.12,0.2,0.1
+0.02,0.09921887611286858,0.1192188761128685,0.2007811238871313,0.1007811238871314
+0.04,0.09847424513283059,0.1184742451328305,0.2015257548671693,0.1015257548671694
+0.06,0.09776429638095351,0.1177642963809535,0.2022357036190464,0.1022357036190464
+0.08,0.09708731836215801,0.117087318362158,0.2029126816378419,0.1029126816378419
+0.1,0.09644169242280342,0.1164416924228034,0.2035583075771964,0.1035583075771965
+0.12,0.09582588704893423,0.1158258870489342,0.2041741129510656,0.1041741129510657
+0.14,0.09523845249420022,0.1152384524942002,0.2047615475057996,0.1047615475057997
+0.16,0.09467801580807853,0.1146780158080785,0.2053219841919213,0.1053219841919214
+0.18,0.09414327623959886,0.1141432762395988,0.205856723760401,0.1058567237604011
+0.2,0.09363300101485659,0.1136330010148565,0.2063669989851433,0.1063669989851434
+0.22,0.09314602105244684,0.1131460210524468,0.206853978947553,0.1068539789475531
+0.24,0.09268122763580709,0.112681227635807,0.2073187723641928,0.1073187723641929
+0.26,0.09223756844628558,0.1122375684462855,0.2077624315537143,0.1077624315537144
+0.28,0.09181404550300273,0.1118140455030027,0.2081859544969972,0.1081859544969972
+0.3,0.09140971040895523,0.1114097104089552,0.2085902895910447,0.1085902895910447
+0.32,0.09102366239947297,0.1110236623994729,0.2089763376005269,0.108976337600527
+0.34,0.09065504585156464,0.1106550458515646,0.2093449541484352,0.1093449541484353
+0.36,0.09030304794901816,0.1103030479490181,0.2096969520509817,0.1096969520509818
+0.38,0.1997218179772967,0.1097218174091725,0.2102781825908274,0.0502781820227033
+0.4,0.1970435096457762,0.107043509077652,0.2129564909223479,0.05295649035422382
+0.42,0.1945184326211862,0.1045184320530619,0.2154815679469379,0.05548156737881382
+0.44,0.1921366168974009,0.1021366163292766,0.2178633836707232,0.05786338310259913
+0.46,0.1898888632661001,0.09988886269797592,0.2201111373020239,0.06011113673389988
+0.48,0.1877666715946276,0.09776667102650336,0.2222333289734965,0.06223332840537244
+0.5,0.1857621767551044,0.09576217618698011,0.2242378238130197,0.0642378232448957
+0.52,0.1838680914254628,0.09386809085733861,0.2261319091426612,0.06613190857453719
+0.54,0.1820776558529174,0.09207765528479321,0.2279223447152066,0.0679223441470826
+0.56,0.1803845914697029,0.09038459090157861,0.2296154090984212,0.06961540853029719
+0.58,0.1787830603236289,0.08878305975550464,0.2312169402444952,0.07121693967637117
+0.6,0.177267628059247,0.08726762749112276,0.2327323725088771,0.07273237194075304
+0.62,0.1758332312863714,0.08583323071824727,0.2341667692817526,0.07416676871362853
+0.64,0.1744751463756614,0.08447514580753727,0.2355248541924626,0.07552485362433854
+0.66,0.1731889648451495,0.08318896427702526,0.2368110357229746,0.07681103515485054
+0.68,0.1719705659091238,0.08197056534099962,0.2380294346590003,0.07802943409087619
+0.7,0.1708160958452637,0.08081609527713951,0.2391839047228604,0.0791839041547363
+0.72,0.1995367608893264,0.07953675851891088,0.2404632414810891,0.05046323911067359
+0.74,0.1978119148539201,0.07781191248350466,0.2421880875164953,0.05218808514607979
+0.76,0.1961811122727138,0.07618110990229833,0.2438188900977017,0.05381888772728614
+0.78,0.1946387223583406,0.07463871998792513,0.2453612800120748,0.05536127764165932
+0.8,0.1931795015628006,0.07317949919238513,0.2468205008076148,0.05682049843719932
+0.82,0.1917985620436818,0.0717985596732663,0.2482014403267336,0.05820143795631816
+0.84,0.190491343135768,0.07049134076535246,0.2495086592346474,0.05950865686423199
+0.86,0.1892535855719983,0.06925358320158271,0.2507464167984171,0.06074641442800173
+0.88,0.1880813079849292,0.06808130561451362,0.2519186943854863,0.06191869201507082
+0.9,0.1869707859326821,0.06697078356226653,0.2530292164377334,0.06302921406731792
+0.92,0.1859185325560109,0.06591853018559541,0.2540814698144045,0.06408146744398904
+0.94,0.1998940372216456,0.06489403526324782,0.2551059647367522,0.05010596277835435
+0.96,0.1986225805753099,0.06362257861691211,0.256377421383088,0.05137741942469004
+0.98,0.1974188368880146,0.06241883492961682,0.2575811650703834,0.05258116311198532
+1.,0.1962789254928741,0.06127892353447635,0.2587210764655238,0.05372107450712579
diff --git a/models/sbml-test-suite/cases/semantic/00353/00353-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00353/00353-sbml-l2v4.xml
new file mode 100644
index 0000000..b906e07
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00353/00353-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00353" id="case00353" name="case00353">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 20 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00353/00353-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00353/00353-sbml-l3v1.xml
new file mode 100644
index 0000000..e370cf0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00353/00353-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00353" id="case00353" name="case00353" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 20 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00353/00353-settings.txt b/models/sbml-test-suite/cases/semantic/00353/00353-settings.txt
new file mode 100644
index 0000000..89d7d77
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00353/00353-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00354/00354-results.csv b/models/sbml-test-suite/cases/semantic/00354/00354-results.csv
new file mode 100644
index 0000000..c64832f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00354/00354-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.04,0.9523960637203322,1.952396063720333,1.047603936279666
+0.08,0.9092009390889094,1.90920093908891,1.090799060911089
+0.12,0.8699043934614226,1.869904393461423,1.130095606538576
+0.16,0.834070013199011,1.834070013199012,1.165929986800988
+0.2,0.8013223155412351,1.801322315541235,1.198677684458764
+0.24,0.7713364606665252,1.771336460666526,1.228663539333473
+0.28,0.7438300027944285,1.743830002794429,1.25616999720557
+0.32,0.7185561940000193,1.71855619400002,1.28144380599998
+0.36,0.6952985199050757,1.695298519905076,1.304701480094923
+0.4,0.6738662218427466,1.673866221842747,1.326133778157252
+0.44,0.6540905900471616,1.654090590047162,1.345909409952837
+0.48,0.6358218735150464,1.635821873515047,1.364178126484952
+0.52,0.6189267212996884,1.618926721299689,1.38107327870031
+0.56,0.6032859866804352,1.603285986680436,1.396714013319563
+0.6,0.5887929210975538,1.588792921097555,1.411207078902444
+0.64,0.5753516236140007,1.575351623614001,1.424648376385998
+0.68,0.5628756924195937,1.562875692419594,1.437124307580405
+0.72,0.5512871138602744,1.551287113860275,1.448712886139724
+0.76,0.5405152830281565,1.540515283028157,1.459484716971842
+0.8,0.5304961570086399,1.53049615700864,1.469503842991359
+0.84,0.5211715234191461,1.521171523419147,1.478828476580852
+0.88,0.5124883869622186,1.512488386962219,1.48751161303778
+0.92,0.5043983995681226,1.504398399568123,1.495601600431876
+0.96,0.499999998389096,1.00000000002755,1.500000001610903
+1.,0.4999999984513939,1.000000000089848,1.500000001548605
+1.04,0.4999999985103431,1.000000000148797,1.500000001489656
+1.08,0.4999999985661251,1.000000000204579,1.500000001433874
+1.12,0.4999999986189364,1.00000000025739,1.500000001381062
+1.16,0.4999999986689241,1.000000000307378,1.500000001331075
+1.2,0.4999999987162351,1.000000000354689,1.500000001283764
+1.24,0.4999999987610208,1.000000000399475,1.500000001238978
+1.28,0.4999999988034051,1.000000000441859,1.500000001196593
+1.32,0.4999999988435228,1.000000000481977,1.500000001156476
+1.36,0.4999999988814956,1.00000000051995,1.500000001118503
+1.4,0.4999999989174325,1.000000000555886,1.500000001082566
+1.44,0.4999999989514515,1.000000000589905,1.500000001048547
+1.48,0.4999999989836561,1.00000000062211,1.500000001016343
+1.52,0.4999999990141359,1.00000000065259,1.500000000985863
+1.56,0.4999999990429824,1.000000000681436,1.500000000957016
+1.6,0.4999999990702856,1.00000000070874,1.500000000929713
+1.64,0.4999999990961262,1.00000000073458,1.500000000903872
+1.68,0.499999999120584,1.000000000759038,1.500000000879415
+1.72,0.4999999991437325,1.000000000782187,1.500000000856266
+1.76,0.4999999991656422,1.000000000804096,1.500000000834356
+1.8,0.4999999991863802,1.000000000824834,1.500000000813618
+1.84,0.4999999992060077,1.000000000844462,1.500000000793991
+1.88,0.4999999992245849,1.000000000863039,1.500000000775414
+1.92,0.4999999992421678,1.000000000880622,1.500000000757831
+1.96,0.4999999992588101,1.000000000897264,1.500000000741188
+2.,0.4999999992745616,1.000000000913016,1.500000000725437
diff --git a/models/sbml-test-suite/cases/semantic/00354/00354-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00354/00354-sbml-l2v4.xml
new file mode 100644
index 0000000..ed7673f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00354/00354-sbml-l2v4.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00354" id="case00354" name="case00354">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.8"/>
+      <parameter id="k4" name="k4" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00354/00354-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00354/00354-sbml-l3v1.xml
new file mode 100644
index 0000000..698a31d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00354/00354-sbml-l3v1.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00354" id="case00354" name="case00354" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.8" constant="true"/>
+      <parameter id="k4" name="k4" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00354/00354-settings.txt b/models/sbml-test-suite/cases/semantic/00354/00354-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00354/00354-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00355/00355-results.csv b/models/sbml-test-suite/cases/semantic/00355/00355-results.csv
new file mode 100644
index 0000000..2ecf5e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00355/00355-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.9302811918710824,1.930281191871081,1.069718808128918
+0.12,0.8699043934614066,1.869904393461405,1.130095606538594
+0.18,0.8173317123161607,1.817331712316159,1.18266828768384
+0.24,0.7713364606626682,1.771336460662666,1.228663539337333
+0.3,0.730928200885119,1.730928200885117,1.269071799114882
+0.36,0.6952985199090328,1.695298519909031,1.304701480090968
+0.42,0.6637810938944052,1.663781093894403,1.336218906105596
+0.48,0.635821873542152,1.63582187354215,1.364178126457849
+0.54,0.6109564954779112,1.610956495477909,1.38904350452209
+0.6,0.588792921121484,1.588792921121482,1.411207078878517
+0.66,0.5689980480153,1.568998048015298,1.431001951984701
+0.72,0.5512871138676819,1.55128711386768,1.448712886132319
+0.78,0.5354153936647438,1.535415393664742,1.464584606335257
+0.84,0.5211715232585429,1.521171523258541,1.478828476741458
+0.9,0.5083721072153912,1.508372107215389,1.49162789278461
+0.96,0.4987405603970523,1.19874056763194,1.501259439602949
+1.02,0.4945498554179313,1.194549862652819,1.50545014458207
+1.08,0.4907237247768129,1.190723732011701,1.509276275223189
+1.14,0.4872292470801127,1.187229254315,1.512770752919889
+1.2,0.4840366690662563,1.184036676301143,1.515963330933746
+1.26,0.4811190690098387,1.181119076244726,1.518880930990164
+1.32,0.4784520620932206,1.178452069328107,1.521547937906782
+1.38,0.4760135387314407,1.176013545966328,1.523986461268562
+1.44,0.4737834335987227,1.17378344083361,1.52621656640128
+1.5,0.4717435241200815,1.171743531354968,1.528256475879921
+1.56,0.4698772486062994,1.169877255841186,1.530122751393703
+1.62,0.4681695367019682,1.168169543936855,1.531830463298034
+1.68,0.4666066783319534,1.16660668556684,1.533393321668049
+1.74,0.4651761834320272,1.165176190666914,1.534823816567976
+1.8,0.4638666745912788,1.163866681826166,1.536133325408724
+1.86,0.4626677761704537,1.16266778340534,1.537332223829549
+1.92,0.4615700237414719,1.161570030976359,1.538429976258531
+1.98,0.4605647944640361,1.160564801698923,1.539435205535967
+2.04,0.4596441982236946,1.159644205458581,1.540355801776308
+2.1,0.4588010419160505,1.158801049150937,1.541198958083952
+2.16,0.458028752661411,1.158028759896298,1.541971247338592
+2.22,0.4573213248633399,1.157321332098227,1.542678675136663
+2.28,0.4566732697488998,1.156673276983787,1.543326730251103
+2.34,0.4560795696338946,1.156079576868781,1.543920430366108
+2.4,0.4555356364354695,1.155535643670356,1.544464363564533
+2.46,0.4550372740048225,1.155037281239709,1.54496272599518
+2.52,0.4545806434886424,1.154580650723529,1.54541935651136
+2.58,0.454162233590361,1.154162240825248,1.545837766409641
+2.64,0.453778830752781,1.153778837987668,1.546221169247221
+2.7,0.4534274939365862,1.153427501171473,1.546572506063416
+2.76,0.4531055311025312,1.153105538337418,1.546894468897471
+2.82,0.4528104778267802,1.152810485061667,1.547189522173222
+2.88,0.4525400778008462,1.152540085035733,1.547459922199156
+2.94,0.4522922652041007,1.152292272438988,1.547707734795901
+3.,0.4520651477186031,1.15206515495349,1.547934852281399
diff --git a/models/sbml-test-suite/cases/semantic/00355/00355-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00355/00355-sbml-l2v4.xml
new file mode 100644
index 0000000..17a011b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00355/00355-sbml-l2v4.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00355" id="case00355" name="case00355">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00355/00355-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00355/00355-sbml-l3v1.xml
new file mode 100644
index 0000000..f233e9f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00355/00355-sbml-l3v1.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00355" id="case00355" name="case00355" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00355/00355-settings.txt b/models/sbml-test-suite/cases/semantic/00355/00355-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00355/00355-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00356/00356-results.csv b/models/sbml-test-suite/cases/semantic/00356/00356-results.csv
new file mode 100644
index 0000000..ba0e26d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00356/00356-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.9756117388415853,1.975611738841584,1.024388261158415
+0.04,0.9523960637194988,1.952396063719497,1.047603936280502
+0.06,0.9302811918701083,1.930281191870107,1.069718808129892
+0.08,0.9092009390873747,1.909200939087373,1.090799060912626
+0.1,0.8890941842701467,1.889094184270145,1.110905815729854
+0.12,0.8699043934602679,1.869904393460266,1.130095606539733
+0.14,0.8515791972754769,1.851579197275475,1.148420802724524
+0.16,0.8340700131976356,1.834070013197634,1.165929986802365
+0.18,0.8173317123156863,1.817331712315685,1.182668287684314
+0.2,0.8013223155409692,1.801322315540968,1.198677684459031
+0.22,0.9811827998264485,1.781182773971378,1.218817226028621
+0.24,0.961519978708471,1.761519952853401,1.238480047146598
+0.26,0.9427383425210044,1.742738316665935,1.257261683334064
+0.28,0.9247882855371473,1.724788259682077,1.275211740317922
+0.3,0.9076237439880885,1.707623718133018,1.292376281866981
+0.32,0.8912018855298864,1.691201859674816,1.308798140325183
+0.34,0.8754828297433154,1.675482803888245,1.324517196111754
+0.36,0.8604293991054575,1.660429373250387,1.339570626749612
+0.38,0.8460068917101722,1.646006865855102,1.353993134144897
+0.4,0.8321828862798059,1.632182860424736,1.367817139575263
+0.42,0.8189270456310218,1.618927019775952,1.381072980224047
+0.44,0.8062109581952509,1.606210932340181,1.393789067659818
+0.46,0.7940079929640433,1.594007967108974,1.405992032891026
+0.48,0.782293155768908,1.582293129913838,1.417706870086161
+0.5,0.77104296462456,1.57104293876949,1.428957061230509
+0.52,0.760235340517997,1.560235314662928,1.439764685337072
+0.54,0.7499408824188843,0.9999409248536148,1.450059143436184
+0.56,0.7460044739380367,0.9960045163727672,1.453995551917033
+0.58,0.7421887209879329,0.9921887634226634,1.457811304867137
+0.6,0.7384895017930435,0.988489544227774,1.461510524062026
+0.62,0.734902859301196,0.9849029017359265,1.465097166553873
+0.64,0.7314249932265896,0.9814250356613201,1.46857503262848
+0.66,0.7280522528353117,0.9780522952700422,1.471947773019758
+0.68,0.7247811291572461,0.9747811715919766,1.475218896697824
+0.7,0.7216082494376466,0.9716082918723771,1.478391776417423
+0.72,0.718530369935327,0.9685304123700575,1.481469655919743
+0.74,0.7155443705133193,0.9655444129480498,1.48445565534175
+0.76,0.7126472487796408,0.9626472912143713,1.487352777075429
+0.78,0.709836114949057,0.9598361573837875,1.490163910906013
+0.8,0.7071081867850456,0.9571082292197761,1.492891839070024
+0.82,0.7044607848399484,0.9544608272746789,1.495539241015121
+0.84,0.7018913279557098,0.9518913703904403,1.49810869789936
+0.86,0.6993973290013446,0.9493973714360751,1.500602696853725
+0.88,0.6969763908305485,0.946976433265279,1.503023635024521
+0.9,0.6946262012733305,0.944626243708061,1.505373824581739
+0.92,0.6923445355970891,0.9423445780318197,1.50765549025798
+0.94,0.6901292390073516,0.9401292814420821,1.509870786847718
+0.96,0.6879782431007155,0.937978285535446,1.512021782754354
+0.98,0.6858895433183526,0.935889585753083,1.514110482536717
+1.,0.6838612092482775,0.9338612516830079,1.516138816606792
diff --git a/models/sbml-test-suite/cases/semantic/00356/00356-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00356/00356-sbml-l2v4.xml
new file mode 100644
index 0000000..d5627f1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00356/00356-sbml-l2v4.xml
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00356" id="case00356" name="case00356">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.5"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00356/00356-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00356/00356-sbml-l3v1.xml
new file mode 100644
index 0000000..d7f882f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00356/00356-sbml-l3v1.xml
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00356" id="case00356" name="case00356" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.5" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00356/00356-settings.txt b/models/sbml-test-suite/cases/semantic/00356/00356-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00356/00356-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00357/00357-results.csv b/models/sbml-test-suite/cases/semantic/00357/00357-results.csv
new file mode 100644
index 0000000..cbc543f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00357/00357-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.9756117388415853,1.975611738841584,1.024388261158415
+0.04,0.9523960637194988,1.952396063719497,1.047603936280502
+0.06,0.9302811918701083,1.930281191870107,1.069718808129892
+0.08,0.9092009390873747,1.909200939087373,1.090799060912626
+0.1,0.8890941842701467,1.889094184270145,1.110905815729854
+0.12,0.8699043934602679,1.869904393460266,1.130095606539733
+0.14,0.8515791972754769,1.851579197275475,1.148420802724524
+0.16,0.8340700131976356,1.834070013197634,1.165929986802365
+0.18,0.8173317123156863,1.817331712315685,1.182668287684314
+0.2,0.8013223155409692,1.801322315540968,1.198677684459031
+0.22,0.9811827998263908,1.78118277397132,1.218817226028679
+0.24,0.9615199787084868,1.761519952853416,1.238480047146583
+0.26,0.9427383425209233,1.742738316665853,1.257261683334147
+0.28,0.9247882855369533,1.724788259681882,1.275211740318117
+0.3,0.9076237439885135,1.707623718133443,1.292376281866557
+0.32,0.8912018855299671,1.691201859674896,1.308798140325103
+0.34,0.8754828297429005,1.675482803887829,1.32451719611217
+0.36,0.8604293991048692,1.660429373249797,1.339570626750202
+0.38,0.8460068917112546,1.646006865856183,1.353993134143816
+0.4,0.8321828862798165,1.632182860424745,1.367817139575255
+0.42,0.8189270456309454,1.618927019775874,1.381072980224125
+0.44,0.8062109581947848,1.606210932339713,1.393789067660286
+0.46,0.7940079929650708,1.594007967109999,1.40599203289
+0.48,0.7822931557710309,1.582293129915959,1.41770687008404
+0.5,0.7710429646213956,1.571042938766324,1.428957061233675
+0.52,0.7640197778799697,1.194019818406362,1.435980247975101
+0.54,0.7576261555791867,1.187626196105579,1.442373870275884
+0.56,0.7514473738512778,1.18144741437767,1.448552652003793
+0.58,0.7454751062952312,1.175475146821624,1.45452491955984
+0.6,0.7397014162049417,1.169701456731334,1.460298609650129
+0.62,0.7341187335422778,1.16411877406867,1.465881292312793
+0.64,0.72871983504664,1.158719875573033,1.471280190808431
+0.66,0.7234978246598637,1.153497865186256,1.476502201195207
+0.68,0.7184461153719609,1.148446155898354,1.48155391048311
+0.7,0.713558412178421,1.143558452704814,1.48644161367665
+0.72,0.7088286971270532,1.138828737653446,1.491171328728018
+0.74,0.7042512140039517,1.134251254530344,1.495748811851119
+0.76,0.69982045451875,1.129820495045143,1.500179571336321
+0.78,0.6955311454018028,1.125531185928195,1.504468880453268
+0.8,0.6913782350277435,1.121378275554136,1.508621790827327
+0.82,0.6873568872057993,1.117356927732192,1.512643138649272
+0.84,0.6834624642938774,1.11346250482027,1.516537561561193
+0.86,0.679690517905053,1.109690558431446,1.520309507950018
+0.88,0.6760367819682685,1.106036822494661,1.523963243886802
+0.9,0.6724971655833327,1.102497206109725,1.527502860271738
+0.92,0.6690677405745109,1.099067781100904,1.53093228528056
+0.94,0.6657447335756894,1.095744774102082,1.534255292279382
+0.96,0.6625245202919525,1.092524560818346,1.537475505563118
+0.98,0.6594036217155445,1.089403662241938,1.540596404139526
+1.,0.6563786899174499,1.086378730443843,1.543621335937621
diff --git a/models/sbml-test-suite/cases/semantic/00357/00357-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00357/00357-sbml-l2v4.xml
new file mode 100644
index 0000000..6c3a865
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00357/00357-sbml-l2v4.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00357" id="case00357" name="case00357">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.5"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.77 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00357/00357-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00357/00357-sbml-l3v1.xml
new file mode 100644
index 0000000..7ce7b69
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00357/00357-sbml-l3v1.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00357" id="case00357" name="case00357" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.5" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.77 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00357/00357-settings.txt b/models/sbml-test-suite/cases/semantic/00357/00357-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00357/00357-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00358/00358-results.csv b/models/sbml-test-suite/cases/semantic/00358/00358-results.csv
new file mode 100644
index 0000000..b82713c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00358/00358-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.9302811918703426,1.930281191870341,1.069718808129658
+0.12,0.8699043934605151,1.869904393460514,1.130095606539485
+0.18,0.8173317123182439,1.817331712318243,1.182668287681756
+0.24,0.7713364606665434,1.771336460666543,1.228663539333456
+0.3,0.7309282008970809,1.73092820089708,1.269071799102919
+0.36,0.9933744576545146,1.493374457654514,1.306625578903541
+0.42,0.949057364918034,1.449057364918034,1.350942671640021
+0.48,0.9098690569449167,1.409869056944916,1.390130979613139
+0.54,0.8750931756540858,1.375093175654085,1.42490686090397
+0.6,0.8441358867470227,1.344135886747022,1.455864149811033
+0.66,0.8165007941744396,1.316500794174439,1.483499242383616
+0.72,0.7917697840619096,1.291769784061909,1.508230252496146
+0.78,0.7695882478245849,1.269588247824584,1.530411788733471
+0.84,0.7496535102960389,1.249653510296038,1.550346526262017
+0.9,0.7317057549790366,1.231705754979036,1.568294281579019
+0.96,0.7155207464743881,1.215520746474388,1.584479290083668
+1.02,0.7009040460290829,1.200904046029082,1.599095990528973
+1.08,0.9616491649391194,1.461649164939119,1.638350886174211
+1.14,0.9252555488070315,1.425255548807031,1.674744502306299
+1.2,0.8930042502054828,1.393004250205482,1.706995800907848
+1.26,0.864340473522836,1.364340473522835,1.735659577590495
+1.32,0.8387991756303456,1.338799175630345,1.761200875482985
+1.38,0.8159876970268258,1.315987697026825,1.784012354086505
+1.44,0.7955723053997996,1.295572305399799,1.804427745713531
+1.5,0.7772676407750432,1.277267640775043,1.822732410338287
+1.56,0.7608283574590906,1.26082835745909,1.83917169365424
+1.62,0.7460424495165329,1.246042449516533,1.853957601596798
+1.68,0.7327258829419285,1.232725882941928,1.867274168171402
+1.74,0.7207182388122629,1.220718238812262,1.879281812301068
+1.8,0.7098791222697726,1.209879122269772,1.890120928843558
+1.86,0.7000852504459268,1.200085250445927,1.899914800667403
+1.92,0.9636790375964983,1.463679037596499,1.93632101640501
+1.98,0.9312875400654174,1.431287540065418,1.968712513936091
+2.04,0.9025982289201454,1.402598228920146,1.997401825081363
+2.1,0.877122080350321,1.377122080350322,2.022877973651187
+2.16,0.8544471569798929,1.354447156979894,2.045552897021615
+2.22,0.8342241155653953,1.334224115565396,2.065775938436113
+2.28,0.8161548904894325,1.316154890489433,2.083845163512076
+2.34,0.7999837573358044,1.299983757335805,2.100016296665704
+2.4,0.7854902027111,1.285490202711101,2.114509851290408
+2.46,0.7724832015355802,1.272483201535581,2.127516852465928
+2.52,0.7607965805778043,1.260796580577805,2.139203473423704
+2.58,0.7502852364949875,1.250285236494988,2.14971481750652
+2.64,0.7408220112753588,1.240822011275359,2.159178042726149
+2.7,0.7322951094059271,1.232295109405927,2.167704944595581
+2.76,0.7246059887436271,1.224605988743627,2.175394065257881
+2.82,0.7176675244886632,1.217667524488663,2.182332529512845
+2.88,0.7114025095465724,1.211402509546573,2.188597544454935
+2.94,0.7057423907130387,1.205742390713039,2.194257663288469
+3.,0.7006261480609645,1.200626148060965,2.199373905940543
diff --git a/models/sbml-test-suite/cases/semantic/00358/00358-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00358/00358-sbml-l2v4.xml
new file mode 100644
index 0000000..1bad2fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00358/00358-sbml-l2v4.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00358" id="case00358" name="case00358">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00358/00358-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00358/00358-sbml-l3v1.xml
new file mode 100644
index 0000000..d59857f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00358/00358-sbml-l3v1.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00358" id="case00358" name="case00358" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00358/00358-settings.txt b/models/sbml-test-suite/cases/semantic/00358/00358-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00358/00358-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00359/00359-results.csv b/models/sbml-test-suite/cases/semantic/00359/00359-results.csv
new file mode 100644
index 0000000..f91eb30
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00359/00359-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.9302811918706259,1.930281191870626,1.069718808129373
+0.12,0.8699043934607424,1.869904393460743,1.130095606539256
+0.18,0.8173317123180922,1.817331712318092,1.182668287681907
+0.24,0.7713364606663244,1.771336460666324,1.228663539333675
+0.3,0.7309282008962503,1.73092820089625,1.269071799103749
+0.36,0.695298519898569,1.695298519898569,1.30470148010143
+0.42,0.6637810938899646,1.663781093889964,1.336218906110035
+0.48,0.6358218735101346,1.635821873510135,1.364178126489864
+0.54,0.610956495491457,1.610956495491457,1.389043504508542
+0.6,0.9766048825930983,1.476604882593098,1.423395125374711
+0.66,0.9356573343646007,1.435657334364599,1.464342673603209
+0.72,0.8994046864595074,1.399404686459506,1.500595321508303
+0.78,0.867203435051439,1.367203435051437,1.532796572916371
+0.84,0.8385175773655191,1.338517577365517,1.561482430602292
+0.9,0.8128971037418368,1.312897103741835,1.587102904225974
+0.96,0.7899614922889826,1.289961492288981,1.610038515678828
+1.02,0.7693868607830972,1.269386860783095,1.630613147184714
+1.08,0.7508958847974859,1.250895884797484,1.649104123170325
+1.14,0.7342498105752052,1.234249810575203,1.665750197392606
+1.2,0.7192420487421431,1.219242048742141,1.680757959225668
+1.26,0.7056930353178985,1.205693035317896,1.694306972649913
+1.32,0.6934460236054337,1.193446023605431,1.706553984362377
+1.38,0.6823636664107876,1.182363666410785,1.717636341557023
+1.44,0.6723251836254008,1.172325183625399,1.72767482434241
+1.5,0.6632240170387911,1.163224017038789,1.73677599092902
+1.56,0.6549658757154724,1.15496587571547,1.745034132252339
+1.62,0.6474670819557927,1.14746708195579,1.752532926012018
+1.68,0.6406532226222286,1.140653222622227,1.759346785345582
+1.74,0.6344579213525392,1.134457921352537,1.765542086615272
+1.8,0.6288218808486489,1.128821880848647,1.771178127119162
+1.86,0.623692016060892,1.12369201606089,1.776307991906918
+1.92,0.6190206974902507,1.119020697490249,1.780979310477559
+1.98,0.6147651547319219,1.11476515473192,1.785234853235888
+2.04,0.610886889168502,1.1108868891685,1.789113118799308
+2.1,0.6073512155742995,1.107351215574298,1.792648792393511
+2.16,0.6041268482453261,1.104126848245325,1.795873159722484
+2.22,0.6011855218708236,1.101185521870822,1.798814486096987
+2.28,0.9777480214985315,1.477748021498532,1.822251986877758
+2.34,0.9423128494025789,1.442312849402579,1.85768715897371
+2.4,0.9109590464073896,1.41095904640739,1.889040961968899
+2.46,0.88313790100523,1.38313790100523,1.916862107371059
+2.52,0.8583893277738405,1.35838932777384,1.941610680602449
+2.58,0.8363247709259694,1.336324770925969,1.96367523745032
+2.64,0.8166139428568914,1.316613942856891,1.983386065519398
+2.7,0.7989744271334062,1.298974427133406,2.001025581242883
+2.76,0.7831634135530438,1.283163413553043,2.016836594823245
+2.82,0.7689711420422004,1.2689711420422,2.031028866334089
+2.88,0.7562155603501019,1.256215560350102,2.043784448026188
+2.94,0.7447380453009435,1.244738045300943,2.055261963075346
+3.,0.7343998363540255,1.234399836354025,2.065600172022264
diff --git a/models/sbml-test-suite/cases/semantic/00359/00359-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00359/00359-sbml-l2v4.xml
new file mode 100644
index 0000000..d70dab8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00359/00359-sbml-l2v4.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00359" id="case00359" name="case00359">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.5"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.6 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00359/00359-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00359/00359-sbml-l3v1.xml
new file mode 100644
index 0000000..a5e9b06
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00359/00359-sbml-l3v1.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00359" id="case00359" name="case00359" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.5" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.6 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00359/00359-settings.txt b/models/sbml-test-suite/cases/semantic/00359/00359-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00359/00359-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00360/00360-results.csv b/models/sbml-test-suite/cases/semantic/00360/00360-results.csv
new file mode 100644
index 0000000..39273e1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00360/00360-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.972711572993271,1.972711572993272,1.027288427006727
+0.04,0.9467834379453146,1.946783437945316,1.053216562054683
+0.06,0.9221273261139468,1.922127326113948,1.077872673886051
+0.08,0.8986623154578377,1.898662315457839,1.10133768454216
+0.1,0.8763140831675205,1.876314083167522,1.123685916832477
+0.12,0.855014242154193,1.855014242154195,1.144985757845804
+0.14,0.8346997627562959,1.834699762756298,1.165300237243702
+0.16,0.8153124563450651,1.815312456345067,1.184687543654932
+0.18,0.7967985160339676,1.796798516033969,1.20320148396603
+0.2,0.7791081204854917,1.779108120485493,1.220891879514506
+0.22,0.762195055138877,1.762195055138879,1.23780494486112
+0.24,0.7460164109277678,1.74601641092777,1.25398358907223
+0.26,0.7305322747691269,1.730532274769129,1.26946772523087
+0.28,0.7157054891531705,1.715705489153172,1.284294510846827
+0.3,0.7015014057381896,1.701501405738191,1.298498594261808
+0.32,0.6947230021589676,0.9947230383781137,1.305276997841029
+0.34,0.6889766389017228,0.9889766751208689,1.311023361098274
+0.36,0.6834048342546927,0.9834048704738388,1.316595165745305
+0.38,0.6780013220932277,0.9780013583123737,1.32199867790677
+0.4,0.6727601128158859,0.972760149035032,1.327239887184112
+0.42,0.6676754787383475,0.9676755149574936,1.33232452126165
+0.44,0.6627419393959384,0.9627419756150844,1.337258060604059
+0.46,0.6579542486792794,0.9579542848984254,1.342045751320718
+0.48,0.6533073834125859,0.953307419631732,1.346692616587412
+0.5,0.6487965303557087,0.9487965665748547,1.351203469644289
+0.52,0.6444170762512972,0.9444171124704433,1.3555829237487
+0.54,0.6401645974911873,0.9401646337103334,1.35983540250881
+0.56,0.6360348505815602,0.9360348868007063,1.363965149418437
+0.58,0.6320237631806678,0.9320237993998139,1.36797623681933
+0.6,0.628127425669534,0.9281274618886801,1.371872574330464
+0.62,0.6243420822669314,0.9243421184860775,1.375657917733066
+0.64,0.6206641272190887,0.9206641634382347,1.379335872780909
+0.66,0.6170900938166097,0.9170901300357557,1.382909906183388
+0.68,0.6136166463442461,0.9136166825633922,1.386383353655751
+0.7,0.6102405787792639,0.91024061499841,1.389759421220733
+0.72,0.6069588083156337,0.9069588445347798,1.393041191684364
+0.74,0.6037683654015149,0.9037684016206609,1.396231634598483
+0.76,0.600666390064604,0.9006664262837501,1.399333609935393
+0.78,0.5976501312848245,0.8976501675039706,1.402349868715173
+0.8,0.5947169380206597,0.8947169742398057,1.405283061979338
+0.82,0.591864253579569,0.8918642897987151,1.408135746420428
+0.84,0.5890896145179219,0.889089650737068,1.410910385482075
+0.86,0.5863906468879278,0.8863906831070739,1.413609353112069
+0.88,0.5837650610461907,0.8837650972653368,1.416234938953806
+0.9,0.5812106444538781,0.8812106806730242,1.418789355546119
+0.92,0.5787252692377618,0.8787253054569078,1.421274730762236
+0.94,0.5763068710556911,0.8763069072748371,1.423693128944306
+0.96,0.5739534690707921,0.8739535052899382,1.426046530929205
+0.98,0.5716631395582545,0.8716631757774006,1.428336860441743
+1.,0.5694340300786632,0.8694340662978092,1.430565969921334
diff --git a/models/sbml-test-suite/cases/semantic/00360/00360-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00360/00360-sbml-l2v4.xml
new file mode 100644
index 0000000..dd7e3cf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00360/00360-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00360" id="case00360" name="case00360">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00360/00360-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00360/00360-sbml-l3v1.xml
new file mode 100644
index 0000000..6701158
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00360/00360-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00360" id="case00360" name="case00360" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00360/00360-settings.txt b/models/sbml-test-suite/cases/semantic/00360/00360-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00360/00360-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00361/00361-results.csv b/models/sbml-test-suite/cases/semantic/00361/00361-results.csv
new file mode 100644
index 0000000..9b381be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00361/00361-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.9727115729935262,1.972711572993525,1.027288427006474
+0.04,0.946783437945648,1.946783437945647,1.053216562054352
+0.06,0.9221273261139239,1.922127326113923,1.077872673886076
+0.08,0.8986623154571672,1.898662315457166,1.101337684542833
+0.1,0.8763140831674646,1.876314083167464,1.123685916832535
+0.12,0.8550142421550962,1.855014242155095,1.144985757844904
+0.14,0.8346997627568262,1.834699762756825,1.165300237243174
+0.16,0.8153124563469191,1.815312456346917,1.184687543653082
+0.18,0.7967985160320069,1.796798516032005,1.203201483967994
+0.2,0.7791081204881952,1.779108120488194,1.220891879511806
+0.22,0.7621950551365336,1.762195055136532,1.237804944863467
+0.24,0.7460164109310469,1.746016410931046,1.253983589068953
+0.26,0.7305322747665247,1.730532274766523,1.269467725233476
+0.28,0.7157054891448038,1.715705489144802,1.284294510855197
+0.3,0.7015014056291496,1.701501405629148,1.298498594370851
+0.32,0.687887681290192,1.687887681290191,1.312112318709808
+0.34,0.6748340937022581,1.674834093702257,1.325165906297742
+0.36,0.6623123655620489,1.662312365562048,1.337687634437952
+0.38,0.6502960107030314,1.65029601070303,1.349703989296969
+0.4,0.6387601948004474,1.638760194800446,1.361239805199553
+0.42,0.6276816096505839,1.627681609650583,1.372318390349416
+0.44,0.6170383582146734,1.617038358214672,1.382961641785327
+0.46,0.6068098555390365,1.606809855539035,1.393190144460964
+0.48,0.5972734101468185,1.497273414533004,1.402726589853182
+0.5,0.5887365368095731,1.488736541195758,1.411263463190427
+0.52,0.5805117400477555,1.48051174443394,1.419488259952245
+0.54,0.5725855249710343,1.472585529357219,1.427414475028967
+0.56,0.5649451142915414,1.464945118677726,1.43505488570846
+0.58,0.5575784009834713,1.457578405369656,1.44242159901653
+0.6,0.5504739051898155,1.450473909576,1.449526094810186
+0.62,0.5436207360790626,1.443620740465247,1.456379263920938
+0.64,0.5370085512680428,1.437008555654227,1.462991448731958
+0.66,0.5306275273153264,1.430627531701511,1.469372472684675
+0.68,0.5244683248785062,1.424468329264691,1.475531675121495
+0.7,0.5185220601752414,1.418522064561426,1.481477939824759
+0.72,0.5127802783179279,1.412780282704112,1.487219721682073
+0.74,0.5072349302849937,1.407234934671178,1.492765069715007
+0.76,0.5018783442839944,1.401878348670179,1.498121655716007
+0.78,0.4967032076798308,1.396703212066015,1.50329679232017
+0.8,0.4917025457440925,1.391702550130277,1.508297454255909
+0.82,0.4868697027041089,1.386869707090293,1.513130297295892
+0.84,0.4821983240601661,1.38219832844635,1.517801675939835
+0.86,0.4776823400727563,1.377682344458941,1.522317659927245
+0.88,0.4733159503905566,1.373315954776741,1.526684049609445
+0.9,0.4690936096686859,1.36909361405487,1.530906390331316
+0.92,0.4650100125298636,1.365010016916048,1.534989987470138
+0.94,0.4610600871524245,1.361060091538609,1.538939912847577
+0.96,0.4572389736471645,1.357238978033349,1.542761026352837
+0.98,0.4535420171653124,1.353542021551497,1.546457982834689
+1.,0.449964761516609,1.349964765902793,1.550035238483392
diff --git a/models/sbml-test-suite/cases/semantic/00361/00361-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00361/00361-sbml-l2v4.xml
new file mode 100644
index 0000000..989312e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00361/00361-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00361" id="case00361" name="case00361">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.6 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00361/00361-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00361/00361-sbml-l3v1.xml
new file mode 100644
index 0000000..7c0ecec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00361/00361-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00361" id="case00361" name="case00361" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.6 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00361/00361-settings.txt b/models/sbml-test-suite/cases/semantic/00361/00361-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00361/00361-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00362/00362-results.csv b/models/sbml-test-suite/cases/semantic/00362/00362-results.csv
new file mode 100644
index 0000000..9270a8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00362/00362-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.972711572993271,1.972711572993272,1.027288427006727
+0.04,0.9467834379453146,1.946783437945316,1.053216562054683
+0.06,0.9221273261139468,1.922127326113948,1.077872673886051
+0.08,0.8986623154578377,1.898662315457839,1.10133768454216
+0.1,0.8763140831675205,1.876314083167522,1.123685916832477
+0.12,0.855014242154193,1.855014242154195,1.144985757845804
+0.14,0.8346997627562959,1.834699762756298,1.165300237243702
+0.16,0.8153124563450651,1.815312456345067,1.184687543654932
+0.18,0.7967985160339676,1.796798516033969,1.20320148396603
+0.2,0.7791081204854917,1.779108120485493,1.220891879514506
+0.22,0.762195055138877,1.762195055138879,1.23780494486112
+0.24,0.7460164109277678,1.74601641092777,1.25398358907223
+0.26,0.7305322747691269,1.730532274769129,1.26946772523087
+0.28,0.7157054891531705,1.715705489153172,1.284294510846827
+0.3,0.7015014057381896,1.701501405738191,1.298498594261808
+0.32,0.6922740533263058,1.242274089545451,1.307725946673692
+0.34,0.6838920110701427,1.233892047289288,1.316107988929855
+0.36,0.6757957243218013,1.225795760540947,1.324204275678196
+0.38,0.6679734245846423,1.217973460803788,1.332026575415356
+0.4,0.6604139473144558,1.210413983533601,1.339586052685542
+0.42,0.6531066940577221,1.203106730276867,1.346893305942276
+0.44,0.6460415969672317,1.196041633186377,1.353958403032766
+0.46,0.6392090865215395,1.189209122740684,1.360790913478459
+0.48,0.6326000602495673,1.182600096468712,1.367399939750431
+0.5,0.6262058565039558,1.176205892723101,1.373794143496042
+0.52,0.6200182259379479,1.170018262157093,1.37998177406205
+0.54,0.6140293085976914,1.164029344816836,1.385970691402307
+0.56,0.6082316111034891,1.158231647322634,1.391768388896509
+0.58,0.6026179888093606,1.152618025028505,1.397382011190638
+0.6,0.5971816194609964,1.147181655680141,1.402818380539002
+0.62,0.5919159898336449,1.14191602605279,1.408084010166353
+0.64,0.5868148775680468,1.136814913787192,1.413185122431951
+0.66,0.5818723355966987,1.131872371815843,1.4181276644033
+0.68,0.5770826774032547,1.1270827136224,1.422917322596744
+0.7,0.5724404625861843,1.122440498805329,1.427559537413814
+0.72,0.5679404838298212,1.117940520048966,1.432059516170177
+0.74,0.5635777547445571,1.113577790963702,1.436422245255441
+0.76,0.5593474982295113,1.109347534448656,1.440652501770487
+0.78,0.5552451363967984,1.105245172615943,1.4447548636032
+0.8,0.5512662790069655,1.10126631522611,1.448733720993033
+0.82,0.5474067199806149,1.09740675619976,1.452593280019383
+0.84,0.5436624174268718,1.093662453646016,1.456337582573127
+0.86,0.5400294922904964,1.090029528509641,1.459970507709502
+0.88,0.5365042253819376,1.086504261601082,1.463495774618061
+0.9,0.5330830395211897,1.083083075740334,1.466916960478809
+0.92,0.5297624953139333,1.079762531533078,1.470237504686065
+0.94,0.5265392925786112,1.076539328797756,1.473460707421387
+0.96,0.5234102554906092,1.073410291709754,1.476589744509389
+0.98,0.520372326399619,1.070372362618764,1.479627673600379
+1.,0.517422566768562,1.067422602987707,1.482577433231437
diff --git a/models/sbml-test-suite/cases/semantic/00362/00362-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00362/00362-sbml-l2v4.xml
new file mode 100644
index 0000000..49106a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00362/00362-sbml-l2v4.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00362" id="case00362" name="case00362">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00362/00362-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00362/00362-sbml-l3v1.xml
new file mode 100644
index 0000000..2568936
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00362/00362-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00362" id="case00362" name="case00362" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00362/00362-settings.txt b/models/sbml-test-suite/cases/semantic/00362/00362-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00362/00362-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00363/00363-results.csv b/models/sbml-test-suite/cases/semantic/00363/00363-results.csv
new file mode 100644
index 0000000..080c433
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00363/00363-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.5,0.9412052883849523,1.941205288384951,1.058794711615048
+1.,0.8890941842696826,1.889094184269681,1.110905815730318
+1.5,0.8427255019053742,1.842725501905372,1.157274498094627
+2.,0.8013223155384274,1.801322315538425,1.198677684461574
+2.5,0.7642376047410027,1.764237604741001,1.235762395258998
+3.,0.7428460010930835,0.9928460029649999,1.257153998906916
+3.5,0.7313529033083475,0.9813529051802639,1.268647096691653
+4.,0.7207087625796077,0.9707087644515241,1.279291237420393
+4.5,0.7108429873830218,0.9608429892549382,1.289157012616978
+5.,0.7016918833868331,0.9516918852587495,1.298308116613167
+5.5,0.6931978459657415,0.9431978478376579,1.306802154034259
+6.,0.6853086668587449,0.9353086687306613,1.314691333141256
+6.5,0.6779769338397374,0.9279769357116538,1.322023066160263
+7.,0.6711595054442518,0.9211595073161682,1.328840494555748
+7.5,0.6648170616207793,0.9148170634926957,1.335182938379221
+8.,0.6589136959265751,0.9089136977984915,1.341086304073425
+8.5,0.6534165777713352,0.9034165796432516,1.346583422228665
+9.,0.6482956377491481,0.8982956396210645,1.351704362250852
+9.5,0.6435232995832111,0.8935233014551275,1.356476700416789
+10.,0.6390742367187065,0.8890742385906229,1.360925763281293
+10.5,0.6349251686923771,0.8849251705642935,1.365074831307623
+11.,0.6310546607010177,0.8810546625729341,1.368945339298982
+11.5,0.6274429593774639,0.8774429612493803,1.372557040622536
+12.,0.6240718481318438,0.8740718500037602,1.375928151868157
+12.5,0.6209245039958017,0.8709245058677181,1.379075496004199
+13.,0.617985377416378,0.8679853792882944,1.382014622583623
+13.5,0.6152400889056406,0.865240090777557,1.38475991109436
+14.,0.612675326308943,0.8626753281808594,1.387324673691057
+14.5,0.610278757282085,0.8602787591540014,1.389721242717916
+15.,0.6080389491035872,0.8580389509755036,1.391961050896413
+15.5,0.605945296041068,0.8559452979129844,1.394054703958933
+16.,0.6039879534204473,0.8539879552923637,1.396012046579554
+16.5,0.6021577776826904,0.8521577795546068,1.39784222231731
+17.,0.6004462735021782,0.8504462753740946,1.399553726497823
+17.5,0.9898417087493378,0.8398417104510188,1.410158291420898
+18.,0.9768273000278322,0.8268273017295132,1.423172700142403
+18.5,0.9648152834979977,0.8148152851996787,1.435184716672237
+19.,0.9537184481575509,0.8037184498592319,1.446281552012684
+19.5,0.9434585223959909,0.7934585240976719,1.456541477774244
+20.,0.9339650769851061,0.7839650786867871,1.466034923185128
+20.5,0.9251745866807544,0.7751745883824354,1.47482541348948
+21.,0.9170296265643633,0.7670296282660443,1.482970373605871
+21.5,0.9094781752785754,0.7594781769802564,1.490521824891659
+22.,0.9024730160349354,0.7524730177366164,1.4975269841353
+22.5,0.8959712092761072,0.7459712109777882,1.504028790894128
+23.,0.8899336374865589,0.7399336391882399,1.510066362683677
+23.5,0.884324618531786,0.734324620233467,1.51567538163845
+24.,0.8791115315922861,0.7291115332939671,1.520888468577949
+24.5,0.8742645369577187,0.7242645386593997,1.525735463212517
+25.,0.869756284182135,0.719756285883816,1.530243715988101
diff --git a/models/sbml-test-suite/cases/semantic/00363/00363-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00363/00363-sbml-l2v4.xml
new file mode 100644
index 0000000..050c137
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00363/00363-sbml-l2v4.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00363" id="case00363" name="case00363">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00363/00363-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00363/00363-sbml-l3v1.xml
new file mode 100644
index 0000000..2cf3bf7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00363/00363-sbml-l3v1.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00363" id="case00363" name="case00363" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00363/00363-settings.txt b/models/sbml-test-suite/cases/semantic/00363/00363-settings.txt
new file mode 100644
index 0000000..3908943
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00363/00363-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00364/00364-results.csv b/models/sbml-test-suite/cases/semantic/00364/00364-results.csv
new file mode 100644
index 0000000..d0738da
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00364/00364-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.2,0.9756117388415876,1.975611738841587,1.024388261158412
+0.4,0.9523960637195637,1.952396063719564,1.047603936280435
+0.6,0.9302811918700532,1.930281191870053,1.069718808129946
+0.8,0.9092009390869552,1.909200939086955,1.090799060913044
+1.,0.8890941842694096,1.88909418426941,1.110905815730589
+1.2,0.8699043934593684,1.869904393459368,1.130095606540631
+1.4,0.8515791972746242,1.851579197274624,1.148420802725375
+1.6,0.8340700131935826,1.834070013193582,1.165929986806417
+1.8,0.8173317123190965,1.817331712319096,1.182668287680903
+2.,0.8013223155943731,1.801322315594373,1.198677684405626
+2.2,0.9811827674900255,1.781182766833125,1.218817233166875
+2.4,0.9615199473481977,1.761519946691297,1.238480053308702
+2.6,0.9427383120825652,1.742738311425664,1.257261688574335
+2.8,0.9247882559701153,1.724788255313214,1.275211744686785
+3.,0.9076237152455785,1.707623714588678,1.292376285411321
+3.2,0.8912018575682807,1.69120185691138,1.308798143088619
+3.4,0.8754828025219061,1.675482801865005,1.324517198134994
+3.6,0.8604293725862948,1.660429371929394,1.339570628070605
+3.8,0.8460068658574633,1.646006865200563,1.353993134799436
+4.,0.8321828610601357,1.632182860403235,1.367817139596764
+4.2,0.8189270210151131,1.618927020358212,1.381072979641787
+4.4,0.8062109341537058,1.606210933496805,1.393789066503194
+4.6,0.7940079694667655,1.594007968809865,1.405992031190134
+4.8,0.7822931327909609,1.58229313213406,1.417706867865939
+5.,0.7710429421463304,1.571042941489429,1.42895705851057
+5.2,0.7602353185111656,1.560235317854265,1.439764682145734
+5.4,0.7498494880494934,1.549849487392592,1.450150512607407
+5.6,0.7398658762760416,1.539865875619141,1.460134124380859
+5.8,0.7302660305218754,1.530266029864974,1.469733970135025
+6.,0.7210325393522171,1.521032538695316,1.478967461304683
+6.2,0.7121489605595162,1.512148959902615,1.487851040097384
+6.4,0.7035997550778975,1.503599754420997,1.496400245579002
+6.6,0.6953702262569985,1.495370225600098,1.504629774399901
+6.8,0.6874464639944217,1.487446463337521,1.512553536662478
+7.,0.6798152932781447,1.479815292621244,1.520184707378755
+7.2,0.6724642249805814,1.472464224323681,1.527535775676318
+7.4,0.665381422053553,1.465381421396653,1.534618578603347
+7.6,0.6585556342993328,1.458555633642432,1.541444366357567
+7.8,0.6519761932072472,1.451976192550346,1.548023807449653
+8.,0.6486294561383085,0.9986294568856753,1.551370544518592
+8.2,0.646699000551052,0.9966990012984188,1.553301000105848
+8.4,0.6448249450935066,0.9948249458408734,1.555175055563394
+8.6,0.6430055396690654,0.9930055404164323,1.556994460987835
+8.8,0.6412390941875888,0.9912390949349556,1.558760906469312
+9.,0.6395239761651964,0.9895239769125632,1.560476024491704
+9.2,0.6378586084901543,0.9878586092375211,1.562141392166746
+9.4,0.6362414672200945,0.9862414679674613,1.563758533436806
+9.6,0.6346710796205414,0.9846710803679082,1.565328921036359
+9.8,0.6331460221835217,0.9831460229308886,1.566853978473378
+10.,0.631664918602275,0.9816649193496418,1.568335082054625
diff --git a/models/sbml-test-suite/cases/semantic/00364/00364-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00364/00364-sbml-l2v4.xml
new file mode 100644
index 0000000..6969240
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00364/00364-sbml-l2v4.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00364" id="case00364" name="case00364">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00364/00364-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00364/00364-sbml-l3v1.xml
new file mode 100644
index 0000000..7ff09c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00364/00364-sbml-l3v1.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00364" id="case00364" name="case00364" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00364/00364-settings.txt b/models/sbml-test-suite/cases/semantic/00364/00364-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00364/00364-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00365/00365-results.csv b/models/sbml-test-suite/cases/semantic/00365/00365-results.csv
new file mode 100644
index 0000000..99e885f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00365/00365-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.2,0.9756117388415876,1.975611738841587,1.024388261158412
+0.4,0.9523960637195637,1.952396063719564,1.047603936280435
+0.6,0.9302811918700532,1.930281191870053,1.069718808129946
+0.8,0.9092009390869552,1.909200939086955,1.090799060913044
+1.,0.8890941842694096,1.88909418426941,1.110905815730589
+1.2,0.8699043934593684,1.869904393459368,1.130095606540631
+1.4,0.8515791972746242,1.851579197274624,1.148420802725375
+1.6,0.8340700131935826,1.834070013193582,1.165929986806417
+1.8,0.8173317123190965,1.817331712319096,1.182668287680903
+2.,0.8013223155943731,1.801322315594373,1.198677684405626
+2.2,0.9323865415328708,1.782386540875971,1.217613459124028
+2.4,0.9139690231420519,1.763969022485152,1.236030977514847
+2.6,0.8963649700584207,1.746364969401521,1.253635030598478
+2.8,0.8795295606282795,1.72952955997138,1.270470440028619
+3.,0.863421096692317,1.713421096035417,1.286578903964582
+3.2,0.8480007355316375,1.698000734874737,1.301999265125262
+3.4,0.8332322507179915,1.683232250061091,1.316767749938908
+3.6,0.8190818146972295,1.669081814040329,1.33091818595967
+3.8,0.8055178030165681,1.655517802359668,1.344482197640331
+4.,0.7925106192218357,1.642510618564936,1.357489381435063
+4.2,0.7800325365339242,1.630032535877024,1.369967464122975
+4.4,0.7680575480665444,1.618057547409644,1.381942452590355
+4.6,0.7565612371297595,1.606561236472859,1.39343876352714
+4.8,0.7455206622234485,1.595520661566548,1.404479338433451
+5.,0.7349142449086204,1.58491424425172,1.415085755748279
+5.2,0.7247216683354342,1.574721667678534,1.425278332321465
+5.4,0.714923787215855,1.564923786558955,1.435076213441044
+5.6,0.7055025488246704,1.55550254816777,1.444497451832229
+5.8,0.698716241392618,0.9987162429114571,1.451283759264282
+6.,0.6955537324263119,0.995553733945151,1.454446268230589
+6.2,0.6924858161143251,0.9924858176331642,1.457514184542575
+6.4,0.6895093891668651,0.9895093906857042,1.460490611490036
+6.6,0.6866214652686289,0.986621466787468,1.463378535388272
+6.8,0.6838191701020837,0.9838191716209228,1.466180830554817
+7.,0.681099736132041,0.9810997376508801,1.46890026452486
+7.2,0.6784604977036813,0.9784604992225204,1.471539502953219
+7.4,0.6758988870860407,0.9758988886048798,1.47410111357086
+7.6,0.6734124300322136,0.9734124315510527,1.476587570624687
+7.8,0.6709987412885729,0.970998742807412,1.479001259368328
+8.,0.6686555217962931,0.9686555233151322,1.481344478860607
+8.2,0.6663805542083198,0.9663805557271589,1.483619446448581
+8.4,0.6641716997639547,0.9641717012827938,1.485828300892946
+8.6,0.6620268949875214,0.9620268965063605,1.487973105669379
+8.8,0.6599441485914893,0.9599441501103284,1.490055852065411
+9.,0.6579215385304518,0.9579215400492909,1.492078462126449
+9.2,0.6559572091978587,0.9559572107166978,1.494042791459042
+9.4,0.6540493687976979,0.954049370316537,1.495950631859202
+9.6,0.6521962864103427,0.9521962879291818,1.497803714246558
+9.8,0.6503962914028238,0.9503962929216629,1.499603709254077
+10.,0.6486477680882116,0.9486477696070507,1.501352232568689
diff --git a/models/sbml-test-suite/cases/semantic/00365/00365-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00365/00365-sbml-l2v4.xml
new file mode 100644
index 0000000..37f57e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00365/00365-sbml-l2v4.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00365" id="case00365" name="case00365">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.95 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00365/00365-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00365/00365-sbml-l3v1.xml
new file mode 100644
index 0000000..6a9f829
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00365/00365-sbml-l3v1.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00365" id="case00365" name="case00365" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.95 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00365/00365-settings.txt b/models/sbml-test-suite/cases/semantic/00365/00365-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00365/00365-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00366/00366-results.csv b/models/sbml-test-suite/cases/semantic/00366/00366-results.csv
new file mode 100644
index 0000000..3809b9b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00366/00366-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.08,0.9092009390889381,1.909200939088938,1.090799060911061
+0.16,0.8340700131993279,1.834070013199328,1.165929986800671
+0.24,0.7713364606642036,1.771336460664204,1.228663539335795
+0.32,0.7185561939993981,1.718556193999399,1.281443806000601
+0.4,0.6738662218399149,1.673866221839915,1.326133778160084
+0.48,0.6358218735248861,1.635821873524886,1.364178126475113
+0.56,0.6032859867041361,1.603285986704136,1.396714013295863
+0.64,0.5753516235888196,1.575351623588819,1.42464837641118
+0.72,0.5512871138606685,1.551287113860669,1.448712886139331
+0.8,0.5304961569893357,1.530496156989336,1.469503843010663
+0.88,0.5124883869522735,1.512488386952274,1.487511613047725
+0.96,0.9905868260546125,1.240586826054612,1.509413176516745
+1.04,0.9501927835089544,1.200192783508954,1.549807219062403
+1.12,0.9153952187872082,1.165395218787207,1.584604783784149
+1.2,0.8852927795945987,1.135292779594598,1.614707222976759
+1.28,0.8591573521268274,1.109157352126827,1.64084265044453
+1.36,0.8363945989351805,1.08639459893518,1.663605403636177
+1.44,0.816514869044552,1.066514869044552,1.683485133526805
+1.52,0.7991114044309755,1.049111404430975,1.700888598140382
+1.6,0.7838437996691262,1.033843799669126,1.716156202902231
+1.68,0.7704252914012411,1.020425291401241,1.729574711170116
+1.76,0.7586128665353287,1.008612866535328,1.741387136036028
+1.84,0.7481994978935874,0.9981994978935873,1.751800504677769
+1.92,0.7390079710418844,0.9890079710418843,1.760992031529472
+2.,0.7308859442339893,0.9808859442339892,1.769114058337367
+2.08,0.7237019557111418,0.9737019557111417,1.776298046860215
+2.16,0.717342175280033,0.9673421752800329,1.782657827291324
+2.24,0.711707729326968,0.9617077293269679,1.788292273244389
+2.32,0.7067125146903322,0.9567125146903321,1.793287487881025
+2.4,0.702281345333369,0.9522813453333689,1.797718657237988
+2.48,0.698348431382394,0.9483484313823938,1.801651571188963
+2.56,0.6948560999807802,0.9448560999807801,1.805143902590577
+2.64,0.6917536920936087,0.9417536920936086,1.808246310477748
+2.72,0.6889966402908804,0.9389966402908803,1.811003362280477
+2.8,0.6865456889218668,0.9365456889218667,1.81345431364949
+2.88,0.6843662125633599,0.9343662125633598,1.815633790007998
+2.96,0.6824276307391109,0.9324276307391108,1.817572371832246
+3.04,0.6807029186689228,0.9307029186689227,1.819297083902434
+3.12,0.679168160062577,0.9291681600625769,1.82083184250878
+3.2,0.6778021852959066,0.9278021852959065,1.82219781727545
+3.28,0.6765862283936729,0.9265862283936728,1.823413774177684
+3.36,0.6755036594189887,0.9255036594189886,1.824496343152368
+3.44,0.6745397201339842,0.9245397201339841,1.825460282437373
+3.52,0.6736813107935338,0.9236813107935337,1.826318691777823
+3.6,0.6729167981662541,0.922916798166254,1.827083204405103
+3.68,0.6722358487715035,0.9222358487715034,1.827764153799853
+3.76,0.6716292801728531,0.921629280172853,1.828370722398504
+3.84,0.6710889286183453,0.9210889286183452,1.828911073953011
+3.92,0.6706075340124659,0.9206075340124658,1.829392468558891
+4.,0.6701786383145843,0.9201786383145842,1.829821364256772
diff --git a/models/sbml-test-suite/cases/semantic/00366/00366-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00366/00366-sbml-l2v4.xml
new file mode 100644
index 0000000..bb083ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00366/00366-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00366" id="case00366" name="case00366">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00366/00366-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00366/00366-sbml-l3v1.xml
new file mode 100644
index 0000000..6e75ea8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00366/00366-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00366" id="case00366" name="case00366" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00366/00366-settings.txt b/models/sbml-test-suite/cases/semantic/00366/00366-settings.txt
new file mode 100644
index 0000000..ed578e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00366/00366-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00367/00367-results.csv b/models/sbml-test-suite/cases/semantic/00367/00367-results.csv
new file mode 100644
index 0000000..34e3ce0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00367/00367-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.08,0.9092009390893448,1.909200939089343,1.090799060910656
+0.16,0.8340700131984895,1.834070013198488,1.165929986801511
+0.24,0.7713364606635648,1.771336460663563,1.228663539336436
+0.32,0.7185561939983758,1.718556193998374,1.281443806001625
+0.4,0.6738662218405511,1.673866221840549,1.32613377815945
+0.48,0.6358218735257268,1.635821873525725,1.364178126474274
+0.56,0.6032859867058224,1.60328598670582,1.396714013294179
+0.64,0.575351623586926,1.575351623586924,1.424648376413075
+0.72,0.5512871138608544,1.551287113860852,1.448712886139147
+0.8,0.5304961569803944,1.530496156980393,1.469503843019607
+0.88,0.512488386957311,1.512488386957309,1.48751161304269
+0.96,0.4968573782095276,1.496857378209525,1.503142621790474
+1.04,0.4832638535431537,1.483263853543151,1.516736146456848
+1.12,0.4714228684334129,1.471422868433411,1.528577131566589
+1.2,0.4610937637509214,1.461093763750919,1.53890623624908
+1.28,0.4520722852961784,1.452072285296176,1.547927714703823
+1.36,0.5899982086668335,1.239998208666832,1.56000179389889
+1.44,0.5780890384494724,1.228089038449471,1.571910964116251
+1.52,0.5676148984255294,1.217614898425528,1.582385104140194
+1.6,0.5583912510985492,1.208391251098548,1.591608751467175
+1.68,0.5502597796627217,1.20025977966272,1.599740222903003
+1.76,0.5430841432110045,1.193084143211003,1.606915859354719
+1.84,0.536746515123322,1.186746515123321,1.613253487442402
+1.92,0.531144757135859,1.181144757135858,1.618855245429865
+2.,0.5261900887582678,1.176190088758266,1.623809913807456
+2.08,0.5218051492703459,1.171805149270345,1.628194853295378
+2.16,0.5179223779880772,1.167922377988076,1.632077624577647
+2.24,0.5144826596598912,1.16448265965989,1.635517342905832
+2.32,0.511434177436192,1.161434177436191,1.638565825129532
+2.4,0.5087314413329389,1.158731441332938,1.641268561232785
+2.48,0.5063344558700015,1.15633445587,1.643665546695722
+2.56,0.5042080258862214,1.154208025886221,1.645791976679502
+2.64,0.5023211234233516,1.152321123423351,1.647678879142372
+2.72,0.500646393319422,1.150646393319421,1.649353609246302
+2.8,0.4991596731940667,1.149159673194066,1.650840329371657
+2.88,0.497839624967575,1.147839624967574,1.652160377598148
+2.96,0.4966673731148323,1.146667373114832,1.653332629450891
+3.04,0.4956262260094703,1.14562622600947,1.654373776556253
+3.12,0.4947014057973903,1.14470140579739,1.655298596768333
+3.2,0.4938798223464016,1.143879822346401,1.656120180219322
+3.28,0.4931498782199138,1.143149878219913,1.65685012434581
+3.36,0.4925012967438282,1.142501296743827,1.657498705821895
+3.44,0.4919249643754283,1.141924964375427,1.658075038190295
+3.52,0.4914127964032285,1.141412796403227,1.658587206162495
+3.6,0.4909576206230706,1.14095762062307,1.659042381942653
+3.68,0.4905530737606678,1.140553073760667,1.659446928805056
+3.76,0.4901935072208667,1.140193507220866,1.659806495344857
+3.84,0.4898739059147442,1.139873905914743,1.66012609665098
+3.92,0.4895898165348397,1.139589816534838,1.660410186030884
+4.,0.4893372844021641,1.139337284402163,1.66066271816356
diff --git a/models/sbml-test-suite/cases/semantic/00367/00367-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00367/00367-sbml-l2v4.xml
new file mode 100644
index 0000000..f55dee7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00367/00367-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00367" id="case00367" name="case00367">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.45 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.6 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00367/00367-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00367/00367-sbml-l3v1.xml
new file mode 100644
index 0000000..a079e2f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00367/00367-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00367" id="case00367" name="case00367" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.45 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.6 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00367/00367-settings.txt b/models/sbml-test-suite/cases/semantic/00367/00367-settings.txt
new file mode 100644
index 0000000..ed578e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00367/00367-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00368/00368-results.csv b/models/sbml-test-suite/cases/semantic/00368/00368-results.csv
new file mode 100644
index 0000000..7ee9cdb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00368/00368-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,0.495528842775089,1.245528842775087,1.254471172899269
+0.35,0.4883471831147287,1.238347183114727,1.26165283255963
+0.4,0.4816994706364788,1.231699470636477,1.268300545037879
+0.45,0.4755429352157447,1.225542935215743,1.274457080458614
+0.5,0.4698386490089092,1.219838649008907,1.280161366665449
+0.55,0.4645511269005653,1.214551126900564,1.285448888773793
+0.6,0.4596479735500529,1.209647973550051,1.290352042124305
+0.65,0.4550995728887103,1.205099572888708,1.294900442785648
+0.7,0.4508788178943903,1.200878817894388,1.299121197779968
+0.75,0.4469608649290386,1.196960864929037,1.30303915074532
+0.8,0.443322921283586,1.193322921283584,1.306677094390773
+0.85,0.4399440509305145,1.189944050930512,1.310055964743844
+0.9,0.4368050103162953,1.186805010316293,1.313195005358063
+0.95,0.4338880856126639,1.183888085612662,1.316111930061695
+1.,0.4311769702828185,1.181176970282817,1.31882304539154
+1.05,0.4286566292593546,1.178656629259352,1.321343386415004
+1.1,0.4263131944809142,1.176313194480912,1.323686821193445
+1.15,0.424133864600036,1.174133864600034,1.325866151074323
+1.2,0.422106816111285,1.172106816111283,1.327893199563074
+1.25,0.4202211220191597,1.170221122019157,1.329778893655199
+1.3,0.418466677085601,1.168466677085599,1.331533338588758
+1.35,0.4168341310461091,1.166834131046107,1.333165884628249
+1.4,0.4153148264978368,1.165314826497835,1.334685189176522
+1.45,0.4139007491093975,1.163900749109395,1.336099266564961
+1.5,0.4125844707223975,1.162584470722395,1.337415544951961
+1.55,0.4113591063997345,1.161359106399732,1.338640909274624
+1.6,0.4102182718361021,1.1602182718361,1.339781743838256
+1.65,0.4091560448678678,1.159156044867866,1.340843970806491
+1.7,0.408166930211514,1.158166930211512,1.341833085462844
+1.75,0.4072458271260996,1.157245827126098,1.342754188548259
+1.8,0.406387999727957,1.156387999727955,1.343612015946402
+1.85,0.4055890497375973,1.155589049737595,1.344410965936761
+1.9,0.4048448915191797,1.154844891519178,1.345155124155179
+1.95,0.404151727628259,1.154151727628257,1.345848288046099
+2.,0.4035060326720598,1.153506032672058,1.346493983002299
+2.05,0.4029045264624033,1.152904526462401,1.347095489211955
+2.1,0.4023441575872703,1.152344157587268,1.347655858087088
+2.15,0.4018220904790884,1.151822090479086,1.34817792519527
+2.2,0.4013356900231842,1.151335690023182,1.348664325651174
+2.25,0.4008825031141751,1.150882503114173,1.349117512560183
+2.3,0.4004602460540636,1.150460246054062,1.349539769620294
+2.35,0.4000667948853636,1.150066794885362,1.349933220788995
+2.4,0.3997001752105691,1.149700175210567,1.350299840463789
+2.45,0.3993585478680304,1.149358547868029,1.350641467806328
+2.5,0.3990402003966779,1.149040200396676,1.35095981527768
diff --git a/models/sbml-test-suite/cases/semantic/00368/00368-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00368/00368-sbml-l2v4.xml
new file mode 100644
index 0000000..1a1bb74
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00368/00368-sbml-l2v4.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00368" id="case00368" name="case00368">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00368/00368-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00368/00368-sbml-l3v1.xml
new file mode 100644
index 0000000..95a75c4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00368/00368-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00368" id="case00368" name="case00368" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00368/00368-settings.txt b/models/sbml-test-suite/cases/semantic/00368/00368-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00368/00368-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00369/00369-results.csv b/models/sbml-test-suite/cases/semantic/00369/00369-results.csv
new file mode 100644
index 0000000..ba56080
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00369/00369-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.1,0.3293269880506974,1.329326988050698,1.670673011949303
+0.2,0.1603862157138507,1.160386215713851,1.839613784286149
+0.3,0.1007571851148016,1.100757185114802,1.899242814885198
+0.4,0.0773445289747388,1.077344528974739,1.922655471025261
+0.5,0.1076567509976469,0.1326567510076469,1.892343249002353
+0.6,0.1404724368753669,0.1654724368853669,1.859527563124633
+0.7,0.1659624587359539,0.1909624587459539,1.834037541264046
+0.8,0.1850150929638001,0.2100150929738001,1.8149849070362
+0.9,0.1988505381543585,0.2238505381643585,1.801149461845642
+1,0.2086880884966271,0.2336880885066271,1.791311911503373
+1.1,0.2155787267001218,0.2405787267101218,1.784421273299879
+1.2,0.2203545781675948,0.2453545781775948,1.779645421832405
+1.3,0.2236405405548551,0.248640540564855,1.776359459445145
+1.4,0.2258900350044425,0.2508900350144425,1.774109964995558
+1.5,0.2274246752156563,0.2524246752256563,1.772575324784344
+1.6,0.2284691568055021,0.2534691568155021,1.771530843194498
+1.7,0.2291788876081457,0.2541788876181457,1.770821112391854
+1.8,0.2296606569569539,0.2546606569669539,1.770339343043046
+1.9,0.2299874569256034,0.2549874569356034,1.770012543074397
+2,0.2302089727211587,0.2552089727311587,1.769791027278841
+2.1,0.2303590794147762,0.2553590794247762,1.769640920585224
+2.2,0.2304608376445016,0.2554608376545016,1.769539162355498
+2.3,0.2305297082270986,0.2555297082370986,1.769470291772902
+2.4,0.2305764200878521,0.255576420097852,1.769423579912148
+2.5,0.2306080030192084,0.2556080030292084,1.769391996980792
+2.6,0.2306294497003764,0.2556294497103764,1.769370550299624
+2.7,0.2306439131468114,0.2556439131568114,1.769356086853188
+2.8,0.2306537714605337,0.2556537714705336,1.769346228539466
+2.9,0.2306604022562159,0.2556604022662158,1.769339597743784
+3,0.2306649034636034,0.2556649034736033,1.769335096536397
+3.1,0.230667979630958,0.2556679796409579,1.769332020369042
+3.2,0.2306700196051496,0.2556700196151496,1.76932998039485
+3.3,0.2306714175164726,0.2556714175264726,1.769328582483527
+3.4,0.2306723898093159,0.255672389819316,1.769327610190684
+3.5,0.2306730218761764,0.2556730218861764,1.769326978123823
+3.6,0.2306734333122337,0.2556734333222336,1.769326566687766
+3.7,0.2306737431764565,0.2556737431864565,1.769326256823543
+3.8,0.2306739587916839,0.2556739588016839,1.769326041208316
+3.9,0.2306740877594914,0.2556740877694914,1.769325912240509
+4,0.2306741593619645,0.2556741593719644,1.769325840638036
+4.1,0.2306742198274901,0.2556742198374901,1.76932578017251
+4.2,0.2306742696112056,0.2556742696212057,1.769325730388794
+4.3,0.2306743015836558,0.2556743015936558,1.769325698416344
+4.4,0.230674319333478,0.255674319343478,1.769325680666522
+4.5,0.2306743306046072,0.2556743306146072,1.769325669395393
+4.6,0.230674341838493,0.255674341848493,1.769325658161507
+4.7,0.2306743498475438,0.2556743498575437,1.769325650152456
+4.8,0.2306743544663971,0.2556743544763971,1.769325645533603
+4.9,0.2306743566036525,0.2556743566136525,1.769325643396347
+5,0.2306743581789619,0.255674358188962,1.769325641821038
diff --git a/models/sbml-test-suite/cases/semantic/00369/00369-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00369/00369-sbml-l2v4.xml
new file mode 100644
index 0000000..5e532ba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00369/00369-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00369" id="case00369" name="case00369">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00369/00369-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00369/00369-sbml-l3v1.xml
new file mode 100644
index 0000000..b9c6c8c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00369/00369-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00369" id="case00369" name="case00369" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00369/00369-settings.txt b/models/sbml-test-suite/cases/semantic/00369/00369-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00369/00369-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00370/00370-results.csv b/models/sbml-test-suite/cases/semantic/00370/00370-results.csv
new file mode 100644
index 0000000..2e2753f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00370/00370-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.05,0.9618066357435586,1.961806635743559,1.038193364256442
+0.1,0.9268722086217724,1.926872208621773,1.073127791378228
+0.15,0.894860664628415,1.894860664628415,1.105139335371585
+0.2,0.8654775104260586,1.865477510426059,1.134522489573942
+0.25,0.8384651874883398,1.83846518748834,1.161534812511661
+0.3,0.813597680457954,1.813597680457954,1.186402319542046
+0.35,0.790674301856744,1.790674301856744,1.209325698143256
+0.4,0.7695176358285456,1.769517635828546,1.230482364171455
+0.45,0.7499701964424401,1.749970196442441,1.25002980355756
+0.5,0.7318906726768211,1.731890672676821,1.268109327323179
+0.55,0.7151529024389756,1.715152902438976,1.284847097561025
+0.6,0.70470563270202,1.41970563284502,1.29529436729798
+0.65,0.69499469559179,1.40999469573479,1.30500530440821
+0.7,0.6859194055134836,1.400919405656484,1.314080594486517
+0.75,0.6774342543286253,1.392434254471625,1.322565745671375
+0.8,0.6694973587434757,1.384497358886476,1.330502641256525
+0.85,0.6620700715969203,1.377070071739921,1.33792992840308
+0.9,0.6551169220659792,1.370116922208979,1.344883077934021
+0.95,0.6486054110787063,1.363605411221706,1.351394588921294
+1,0.6425053872680562,1.357505387411056,1.357494612731944
+1.05,0.6367889252396419,1.351788925382642,1.363211074760358
+1.1,0.6314303039062825,1.346430304049283,1.368569696093718
+1.15,0.6264058031988431,1.341405803341843,1.373594196801157
+1.2,0.6216933178143693,1.336693317957369,1.378306682185631
+1.25,0.6172723137872815,1.332272313930281,1.382727686212719
+1.3,0.6131238282713725,1.328123828414373,1.386876171728628
+1.35,0.6092302686163248,1.324230268759325,1.390769731383676
+1.4,0.6055751907156546,1.320575190858655,1.394424809284345
+1.45,0.6021432854860351,1.317143285629035,1.397856714513965
+1.5,0.5989203841466834,1.313920384289683,1.401079615853317
+1.55,0.5958932726243037,1.310893272767304,1.404106727375696
+1.6,0.593049575444019,1.308049575587019,1.406950424555981
+1.65,0.5903777539201754,1.305377754063175,1.409622246079825
+1.7,0.5878671058496346,1.302867105992635,1.412132894150366
+1.75,0.5855076068819558,1.300507607024956,1.414492393118044
+1.8,0.5832898569059584,1.298289857048958,1.416710143094042
+1.85,0.581205085427134,1.296205085570134,1.418794914572866
+1.9,0.5792451359357054,1.294245136078706,1.420754864064295
+1.95,0.5774023448549022,1.292402344997902,1.422597655145098
+2,0.5756695197110405,1.290669519854041,1.42433048028896
+2.05,0.5740399494809283,1.289039949623928,1.425960050519072
+2.1,0.5725073726923083,1.287507372835308,1.427492627307692
+2.15,0.5710658950630448,1.286065895206045,1.428934104936955
+2.2,1.423419217877703,1.278419217877703,1.436580782265298
+2.25,1.394855893965932,1.249855893965932,1.465144106177069
+2.3,1.368537987411427,1.223537987411427,1.491462012731575
+2.35,1.344255442969549,1.199255442969549,1.515744557173453
+2.4,1.321822262374782,1.176822262374782,1.53817773776822
+2.45,1.301073169495558,1.156073169495558,1.558926830647444
+2.5,1.281860816795572,1.136860816795571,1.57813918334743
diff --git a/models/sbml-test-suite/cases/semantic/00370/00370-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00370/00370-sbml-l2v4.xml
new file mode 100644
index 0000000..2b5df2b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00370/00370-sbml-l2v4.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00370" id="case00370" name="case00370">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.43" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00370/00370-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00370/00370-sbml-l3v1.xml
new file mode 100644
index 0000000..57c80ee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00370/00370-sbml-l3v1.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00370" id="case00370" name="case00370" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.43" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00370/00370-settings.txt b/models/sbml-test-suite/cases/semantic/00370/00370-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00370/00370-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00371/00371-results.csv b/models/sbml-test-suite/cases/semantic/00371/00371-results.csv
new file mode 100644
index 0000000..2be64bb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00371/00371-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.05,0.933759728267557,1.933759728267557,1.066240271732443
+0.1,0.8757163364110242,1.875716336411024,1.124283663588976
+0.15,0.8246075985470511,1.824607598547051,1.175392401452949
+0.2,0.779412719404096,1.779412719404096,1.220587280595904
+0.25,0.7392956038115234,1.739295603811524,1.260704396188477
+0.3,0.7035667233686674,1.703566723368668,1.296433276631333
+0.35,0.671650406083298,1.671650406083298,1.328349593916702
+0.4,0.6430641403049178,1.643064140304918,1.356935859695082
+0.45,0.6173989498751353,1.617398949875135,1.382601050124865
+0.5,0.5943070498996862,1.594307049899686,1.405692950100314
+0.55,0.8819178526531571,1.331917852653157,1.433082147436843
+0.6,0.8524457026347339,1.302445702634734,1.462554297455266
+0.65,0.8258399518041008,1.275839951804101,1.489160048285899
+0.7,0.8017690372969075,1.251769037296908,1.513230962793092
+0.75,0.7799470047605687,1.229947004760569,1.535052995329431
+0.8,0.7601278809936053,1.210127880993605,1.554872119096395
+0.85,0.7420982247180571,1.192098224718057,1.572901775371943
+0.9,0.7256713200316965,1.175671320031696,1.589328680058304
+0.95,0.7106845700963915,1.160684570096391,1.604315429993609
+1,0.6969945003951811,1.146994500395181,1.618005499694819
+1.05,0.6844743447901847,1.134474344790184,1.630525655299816
+1.1,0.673012543066007,1.123012543066007,1.641987457023993
+1.15,0.6625094634616316,1.112509463461632,1.652490536628369
+1.2,0.6528762380379325,1.102876238037932,1.662123762052068
+1.25,0.6440340313657608,1.094034031365761,1.67096596872424
+1.3,0.6359118669010078,1.085911866901008,1.679088133188992
+1.35,0.6284458102091032,1.078445810209103,1.686554189880897
+1.4,0.621578754791411,1.071578754791411,1.693421245298589
+1.45,0.6152591419997494,1.065259141999749,1.699740858090251
+1.5,0.6094400691708334,1.059440069170833,1.705559930919167
+1.55,0.6040792323681542,1.054079232368154,1.710920767721846
+1.6,0.5991385673626728,1.049138567362673,1.715861432727328
+1.65,0.5945832128539764,1.044583212853976,1.720416787236024
+1.7,0.5903813521887364,1.040381352188736,1.724618647901264
+1.75,0.5865042646874235,1.036504264687423,1.728495735402577
+1.8,0.8834311606968436,1.333431160696844,1.746568839483156
+1.85,0.8575510945199192,1.307551094519919,1.772448905660081
+1.9,0.8341980945664409,1.284198094566441,1.795801905613559
+1.95,0.8130842706176832,1.263084270617683,1.816915729562317
+2,0.7939612509254593,1.243961250925459,1.836038749254541
+2.05,0.7766136382249856,1.226613638224986,1.853386361955015
+2.1,0.7608537910520892,1.210853791052089,1.869146209127911
+2.15,0.7465175463157902,1.19651754631579,1.88348245386421
+2.2,0.7334606933690303,1.18346069336903,1.89653930681097
+2.25,0.7215560828984206,1.17155608289842,1.908443917281579
+2.3,0.710691245038404,1.160691245038404,1.919308755141596
+2.35,0.700766371779906,1.150766371779906,1.929233628400094
+2.4,0.6916926260485609,1.141692626048561,1.938307374131439
+2.45,0.6833907326603469,1.133390732660347,1.946609267519653
+2.5,0.6757897744733535,1.125789774473353,1.954210225706647
diff --git a/models/sbml-test-suite/cases/semantic/00371/00371-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00371/00371-sbml-l2v4.xml
new file mode 100644
index 0000000..5fcfbd2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00371/00371-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00371" id="case00371" name="case00371">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.9" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00371/00371-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00371/00371-sbml-l3v1.xml
new file mode 100644
index 0000000..8746549
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00371/00371-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00371" id="case00371" name="case00371" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.9" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00371/00371-settings.txt b/models/sbml-test-suite/cases/semantic/00371/00371-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00371/00371-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00372/00372-results.csv b/models/sbml-test-suite/cases/semantic/00372/00372-results.csv
new file mode 100644
index 0000000..62190d2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00372/00372-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.002,0.0022,0.001,0.0005
+0.1,0.001169997337137436,0.001369997337137436,0.001830002662862564,0.001330002662862564
+0.2,0.0008115408130851177,0.001011540813085118,0.002188459186914881,0.001688459186914882
+0.3,0.0006120011477207058,0.0008120011477207058,0.002387998852279294,0.001887998852279294
+0.4,0.0004850871317240739,0.000685087131724074,0.002514912868275926,0.002014912868275926
+0.5,0.0003974062868405991,0.0005974062868405991,0.0026025937131594,0.0021025937131594
+0.6,0.0003333160051796818,0.0005333160051796818,0.002666683994820318,0.002166683994820318
+0.7,0.0002845131869441907,0.0004845131869441907,0.002715486813055809,0.002215486813055809
+0.8,0.0002461813452089121,0.0004461813452089121,0.002753818654791088,0.002253818654791088
+0.9,0.0002153344315220339,0.0004153344315220339,0.002784665568477966,0.002284665568477967
+1,0.0001900225925485877,0.0003900225925485877,0.002809977407451412,0.002309977407451412
+1.1,0.0001689185474335165,0.0003689185474335166,0.002831081452566483,0.002331081452566484
+1.2,0.0001510874634910886,0.0003510874634910886,0.002848912536508911,0.002348912536508911
+1.3,0.0001358518506353353,0.0003358518506353354,0.002864148149364665,0.002364148149364665
+1.4,0.0001227086846126717,0.0003227086846126717,0.002877291315387328,0.002377291315387328
+1.5,0.000111276625410793,0.000311276625410793,0.002888723374589207,0.002388723374589207
+1.6,0.0001012613049451304,0.0003012613049451303,0.00289873869505487,0.00239873869505487
+1.7,0.000893771617415991,0.0002337716173919899,0.00296622838260801,0.00246622838260801
+1.8,0.0008385581720937447,0.0001785581720697436,0.003021441827930256,0.002521441827930256
+1.9,0.0007984459626392691,0.000138445962615268,0.003061554037384731,0.002561554037384731
+2,0.0007685498935087221,0.000108549893484721,0.003091450106515278,0.002591450106515278
+2.1,0.0007458407009541503,8.584070093014911e-005,0.00311415929906985,0.00261415929906985
+2.2,0.0007283405543149797,6.83405542909785e-005,0.003131659445709021,0.002631659445709021
+2.3,0.000714704386218479,5.470438619447765e-005,0.003145295613805522,0.002645295613805522
+2.4,0.0007039870636021818,4.398706357818049e-005,0.00315601293642182,0.00265601293642182
+2.5,0.0006955065908688068,3.550659084480555e-005,0.003164493409155195,0.002664493409155195
+2.6,0.0006887600980363023,2.876009801230102e-005,0.003171239901987699,0.002671239901987699
+2.7,0.0006833701525923269,2.337015256832558e-005,0.003176629847431675,0.002676629847431675
+2.8,0.0006790493313299056,1.904933130590425e-005,0.003180950668694096,0.002680950668694096
+2.9,0.0006755761188175226,1.557611879352113e-005,0.003184423881206479,0.002684423881206479
+3,0.0006727781270843207,1.277812706031924e-005,0.003187221872939681,0.002687221872939681
+3.1,0.0006705201099874468,1.052010996344537e-005,0.003189479890036555,0.002689479890036555
+3.2,0.0006686952651927193,8.695265168717876e-006,0.003191304734831282,0.002691304734831283
+3.3,0.0006672187988202917,7.218798796290354e-006,0.00319278120120371,0.00269278120120371
+3.4,0.0006660230915530603,6.023091529058938e-006,0.003193976908470942,0.002693976908470942
+3.5,0.0006650540258988259,5.05402587482458e-006,0.003194945974125176,0.002694945974125176
+3.6,0.0006642681633950036,4.268163371002137e-006,0.003195731836628999,0.002695731836628999
+3.7,0.0006636305538192226,3.630553795221218e-006,0.00319636944620478,0.00269636944620478
+3.8,0.0006631130215965296,3.113021572528222e-006,0.003196886978427473,0.002696886978427473
+3.9,0.0006626928164901043,2.692816466102979e-006,0.003197307183533898,0.002697307183533898
+4,0.0006623515450787165,2.351545054715179e-006,0.003197648454945285,0.002697648454945286
+4.1,0.0006620743204183042,2.074320394302825e-006,0.003197925679605698,0.002697925679605698
+4.2,0.0006618490827744191,1.849082750417728e-006,0.003198150917249583,0.002698150917249583
+4.3,0.0006616660572167035,1.666057192702198e-006,0.003198333942807298,0.002698333942807299
+4.4,0.0006615173163961997,1.517316372198424e-006,0.003198482683627802,0.002698482683627802
+4.5,0.0006613964272628261,1.396427238824819e-006,0.003198603572761176,0.002698603572761176
+4.6,0.0006612981653942748,1.298165370273548e-006,0.003198701834629727,0.002698701834629727
+4.7,0.0006612182911482162,1.218291124214882e-006,0.003198781708875785,0.002698781708875785
+4.8,0.0006611533619980754,1.153361974074214e-006,0.003198846638025926,0.002698846638025926
+4.9,0.0006611005770027883,1.100576978787066e-006,0.003198899423021213,0.002698899423021213
+5,0.0006610576655208525,1.057665496851318e-006,0.003198942334503149,0.002698942334503149
diff --git a/models/sbml-test-suite/cases/semantic/00372/00372-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00372/00372-sbml-l2v4.xml
new file mode 100644
index 0000000..46c6968
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00372/00372-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00372" id="case00372" name="case00372">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.24" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0022" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="0.05"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.004 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00372/00372-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00372/00372-sbml-l3v1.xml
new file mode 100644
index 0000000..d1b654f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00372/00372-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00372" id="case00372" name="case00372" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.24" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0022" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="0.05" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.004 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00372/00372-settings.txt b/models/sbml-test-suite/cases/semantic/00372/00372-settings.txt
new file mode 100644
index 0000000..c5082df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00372/00372-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00373/00373-results.csv b/models/sbml-test-suite/cases/semantic/00373/00373-results.csv
new file mode 100644
index 0000000..c5be385
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00373/00373-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.12,0.2,0.1
+0.04,0.1145812719854271,0.08458127198492699,0.235418728015073,0.135418728015073
+0.08,0.09223551064311779,0.0622355106426176,0.2577644893573824,0.1577644893573824
+0.12,0.07829801717552916,0.04829801717502898,0.2717019828249709,0.171701982824971
+0.16,0.06881059772075716,0.03881059772025697,0.281189402279743,0.181189402279743
+0.2,0.06196212273334437,0.03196212273284418,0.2880378772671558,0.1880378772671558
+0.24,0.05680643746881754,0.02680643746831736,0.2931935625316826,0.1931935625316826
+0.28,0.05280108396260715,0.02280108396210697,0.297198916037893,0.197198916037893
+0.32,0.04961269047823853,0.01961269047773835,0.3003873095222616,0.2003873095222617
+0.36,0.04702506308208521,0.01702506308158503,0.3029749369184149,0.202974936918415
+0.4,0.04489184456886269,0.01489184456836252,0.3051081554316374,0.2051081554316375
+0.44,0.04311040665595617,0.01311040665545599,0.306889593344544,0.206889593344544
+0.48,0.04160664589049922,0.01160664588999904,0.3083933541100009,0.2083933541100009
+0.52,0.04032571075949615,0.01032571075899598,0.309674289241004,0.209674289241004
+0.56,0.03922612661863233,0.009226126618132156,0.3107738733818678,0.2107738733818678
+0.6,0.03827593619020423,0.008275936189704056,0.3117240638102959,0.2117240638102959
+0.64,0.03745012889163232,0.007450128891132149,0.3125498711088678,0.2125498711088679
+0.68,0.03672884982352646,0.006728849823026288,0.3132711501769737,0.2132711501769737
+0.72,0.03609612071667186,0.006096120716171698,0.3139038792838282,0.2139038792838283
+0.76,0.03553895576668539,0.005538955766185217,0.3144610442338148,0.2144610442338148
+0.8,0.03504668356604251,0.005046683565542332,0.3149533164344576,0.2149533164344577
+0.84,0.03461045334360448,0.004610453343104307,0.3153895466568957,0.2153895466568957
+0.88,0.03422287328344647,0.004222873282946305,0.3157771267170537,0.2157771267170537
+0.92,0.033877710059409,0.003877710058908839,0.3161222899410912,0.2161222899410912
+0.96,0.03356968672532953,0.003569686724829361,0.3164303132751706,0.2164303132751707
+1,0.03329429395666495,0.003294293956164779,0.3167057060438352,0.2167057060438352
+1.04,0.03304767015673615,0.003047670156235974,0.316952329843764,0.216952329843764
+1.08,0.03277655966145854,0.002776559660958373,0.3172234403390416,0.01022344033804162
+1.12,0.03252064861997937,0.002520648619479194,0.3174793513805208,0.0104793513795208
+1.16,0.03229035641562051,0.002290356415120338,0.3177096435848796,0.01070964358387965
+1.2,0.03208283024320014,0.002082830242699965,0.3179171697573,0.01091716975630003
+1.24,0.03189558670640663,0.001895586705906463,0.3181044132940936,0.01110441329309353
+1.28,0.03172645285980823,0.001726452859308067,0.3182735471406919,0.01127354713969193
+1.32,0.03157352208475753,0.00157352208425736,0.3184264779157426,0.01142647791474263
+1.36,0.031435114927237,0.001435114926736821,0.3185648850732631,0.01156488507226317
+1.4,0.03130974774113261,0.001309747740632437,0.3186902522593675,0.01169025225836756
+1.44,0.03119610674184832,0.001196106741348147,0.3188038932586518,0.01180389325765185
+1.48,0.03109302424048757,0.001093024239987402,0.3189069757600125,0.01190697575901259
+1.52,0.03099946198425119,0.0009994619837510243,0.319000538016249,0.01200053801524897
+1.56,0.03091449218983642,0.0009144921893362475,0.3190855078106638,0.01208550780966375
+1.6,0.03083728718803017,0.0008372871875299955,0.31916271281247,0.01216271281147
+1.64,0.03076710403955502,0.0007671040390548532,0.3192328959609452,0.01223289595994514
+1.68,0.03070327795922861,0.0007032779587284386,0.3192967220412715,0.01229672204027155
+1.72,0.03064521022208914,0.0006452102215889675,0.319354789778411,0.01235478977741102
+1.76,0.03059236339274086,0.0005923633922406878,0.3194076366077593,0.0124076366067593
+1.8,0.03054425244324701,0.0005442524427468328,0.3194557475572531,0.01245574755625316
+1.84,0.0305004404720247,0.0005004404715245299,0.3194995595284755,0.01249955952747546
+1.88,0.03046053284608911,0.0004605328455889424,0.319539467154411,0.01253946715341105
+1.92,0.03042417275287325,0.00042417275237308,0.3195758272476269,0.01257582724662691
+1.96,0.0303910378737396,0.0003910378732394266,0.3196089621267605,0.01260896212576057
+2,0.0303608358684217,0.0003608358679215324,0.3196391641320784,0.01263916413107846
diff --git a/models/sbml-test-suite/cases/semantic/00373/00373-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00373/00373-sbml-l2v4.xml
new file mode 100644
index 0000000..8edd5e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00373/00373-sbml-l2v4.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00373" id="case00373" name="case00373">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="0.0025"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.4 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S2 </ci>
+              <cn> 0.03 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00373/00373-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00373/00373-sbml-l3v1.xml
new file mode 100644
index 0000000..baf8913
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00373/00373-sbml-l3v1.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00373" id="case00373" name="case00373" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0025" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.4 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S2 </ci>
+              <cn> 0.03 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00373/00373-settings.txt b/models/sbml-test-suite/cases/semantic/00373/00373-settings.txt
new file mode 100644
index 0000000..8fcae6f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00373/00373-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00374/00374-results.csv b/models/sbml-test-suite/cases/semantic/00374/00374-results.csv
new file mode 100644
index 0000000..c3b0326
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00374/00374-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0004,0.00048,0.0008,0.0004
+0.04,0.0001956046397330675,0.0004356045677257497,0.0008443954322742512,0.0002043953602669325
+0.08,0.0001739542544056166,0.0004139541823982987,0.0008660458176017024,0.0002260457455943833
+0.12,0.0001560081567656999,0.0003960080847583821,0.0008839919152416189,0.0002439918432343
+0.16,0.000140975770387935,0.0003809756983806171,0.0008990243016193839,0.000259024229612065
+0.2,0.0001282730484428158,0.000368272976435498,0.0009117270235645033,0.0002717269515571842
+0.24,0.0001174591125047977,0.0003574590404974799,0.0009225409595025212,0.0002825408874952022
+0.28,0.0001081948906520713,0.0003481948186447535,0.0009318051813552476,0.0002918051093479286
+0.32,0.0001002153337604376,0.0003402152617531198,0.0009397847382468814,0.0002997846662395623
+0.36,0.00009331027593263131,0.0003333102039253135,0.0009466897960746877,0.0003066897240673686
+0.4,0.00008731095150135913,0.0003273108794940414,0.0009526891205059599,0.0003126890484986407
+0.44,0.00008208031866962154,0.0003220802466623037,0.0009579197533376976,0.0003179196813303784
+0.48,0.0001907335698766484,0.0003107335329966595,0.0009692664670033414,0.0002092664301233515
+0.52,0.0001761725676166792,0.0002961725307366902,0.0009838274692633107,0.0002238274323833207
+0.56,0.0001636895851116288,0.0002836895482316397,0.000996310451768361,0.0002363104148883711
+0.6,0.0001529099151771413,0.0002729098782971522,0.001007090121702848,0.0002470900848228586
+0.64,0.0001435424936621424,0.0002635424567821535,0.001016457543217847,0.0002564575063378574
+0.68,0.0001924232209066192,0.0002524231946161434,0.001027576805383857,0.0002075767790933807
+0.72,0.0001808359452665339,0.0002408359189760581,0.001039164081023942,0.000219164054733466
+0.76,0.000170754694288608,0.0002307546679981322,0.001049245332001868,0.0002292453057113919
+0.8,0.0001899041578438216,0.0002199041371668239,0.001060095862833176,0.0002100958421561783
+0.84,0.0001947140637635229,0.0002097140451908638,0.001070285954809135,0.000205285936236477
+0.88,0.0001997543438513871,0.000199754328996812,0.001080245671003187,0.0002002456561486128
+0.92,0.0001905614680202533,0.0001905614531656782,0.00108943854683432,0.0002094385319797467
+0.96,0.0001824684883023473,0.0001824684734477722,0.001097531526552226,0.0002175315116976527
+1.,0.0001753101706071516,0.0001753101557525765,0.001104689844247422,0.0002246898293928483
+1.04,0.0001689521451650594,0.0001689521303104844,0.001111047869689514,0.0002310478548349405
+1.08,0.0001632840170088368,0.0001632840021542618,0.001116715997845737,0.0002367159829911631
+1.12,0.0001582142416683622,0.0001582142268137872,0.001121785773186211,0.0002417857583316377
+1.16,0.0001536662682293065,0.0001536662533747314,0.001126333746625267,0.0002463337317706935
+1.2,0.0001495755885956236,0.0001495755737410485,0.00113042442625895,0.0002504244114043764
+1.24,0.0001458874627575083,0.0001458874479029333,0.001134112552097065,0.0002541125372424917
+1.28,0.0001425551406575096,0.0001425551258029346,0.001137444874197064,0.0002574448593424904
+1.32,0.0001395384604946395,0.0001395384456400645,0.001140461554359934,0.0002604615395053605
+1.36,0.0001368027327925244,0.0001368027179379493,0.001143197282062049,0.0002631972672074756
+1.4,0.0001343178447372275,0.0001343178298826524,0.001145682170117346,0.0002656821552627725
+1.44,0.0001320575357477944,0.0001320575208932193,0.001147942479106779,0.0002679424642522056
+1.48,0.0001299988065442979,0.0001299987916897229,0.001150001208310276,0.000270001193455702
+1.52,0.00012812143677346,0.0001281214219188849,0.001151878578081114,0.00027187856322654
+1.56,0.0001264075807028818,0.0001264075658483068,0.001153592434151692,0.0002735924192971182
+1.6,0.0001248414396714846,0.0001248414248169096,0.001155158575183089,0.0002751585603285154
+1.64,0.0001234089780376157,0.0001234089631830406,0.001156591036816958,0.0002765910219623843
+1.68,0.0001220976968034975,0.0001220976819489224,0.001157902318051076,0.0002779023031965025
+1.72,0.0001208964281148281,0.0001208964132602531,0.001159103586739745,0.0002791035718851718
+1.76,0.0001197951758033749,0.0001197951609487999,0.001160204839051198,0.000280204824196625
+1.8,0.0001187849657481558,0.0001187849508935807,0.001161215049106417,0.0002812150342518441
+1.84,0.0001178577273143541,0.000117857712459779,0.001162142287540219,0.0002821422726856459
+1.88,0.0001170061884229423,0.0001170061735683672,0.001162993826431631,0.0002829938115770577
+1.92,0.0001162237817333936,0.0001162237668788186,0.00116377623312118,0.0002837762182666063
+1.96,0.0001155045673363194,0.0001155045524817443,0.001164495447518254,0.0002844954326636806
+2.,0.000114843165985539,0.0001148431511309639,0.001165156848869034,0.000285156834014461
diff --git a/models/sbml-test-suite/cases/semantic/00374/00374-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00374/00374-sbml-l2v4.xml
new file mode 100644
index 0000000..02031ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00374/00374-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00374" id="case00374" name="case00374">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.25" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0004" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.00048" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0008" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0004" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00374/00374-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00374/00374-sbml-l3v1.xml
new file mode 100644
index 0000000..c08d082
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00374/00374-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00374" id="case00374" name="case00374" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.25" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0004" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.00048" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0008" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0004" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00374/00374-settings.txt b/models/sbml-test-suite/cases/semantic/00374/00374-settings.txt
new file mode 100644
index 0000000..b130918
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00374/00374-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount:
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00375/00375-results.csv b/models/sbml-test-suite/cases/semantic/00375/00375-results.csv
new file mode 100644
index 0000000..52b72f8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00375/00375-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.9288032303969882,2.,1.071196769603012
+0.12,0.8647030326337924,2.,1.135296967366208
+0.18,0.8069920510231296,2.,1.193007948976871
+0.24,0.7550334427100202,2.,1.24496655728998
+0.3,0.7368963215165583,1.,1.263103678483441
+0.36,0.7231005537379923,1.,1.276899446262008
+0.42,0.7101081888235339,1.,1.289891811176466
+0.48,0.6978724405060314,1.,1.302127559493968
+0.54,0.6863492465199224,1.,1.313650753480077
+0.6,0.6754971107759829,1.,1.324502889224017
+0.66,0.6652769546734973,1.,1.334723045326502
+0.72,0.6556519740715335,1.,1.344348025928466
+0.78,0.6465875088774208,1.,1.353412491122579
+0.84,0.6380509167674822,1.,1.361949083232518
+0.9,0.6300114526124445,1.,1.369988547387555
+0.96,0.6224401750867173,1.,1.377559824913283
+1.02,0.6153098145566124,1.,1.384690185443388
+1.08,0.6085946939943902,1.,1.39140530600561
+1.14,0.6022706316841405,1.,1.39772936831586
+1.2,0.5963148541422123,1.,1.403685145857788
+1.26,0.5907059141089616,1.,1.409294085891038
+1.32,0.5854236133161013,1.,1.414576386683899
+1.38,0.5804489297515343,1.,1.419551070248466
+1.44,0.5757639479521391,1.,1.424236052047861
+1.5,0.5713517868462603,1.,1.42864821315374
+1.56,0.5671965840046383,1.,1.432803415995362
+1.62,0.5632833675955072,1.,1.436716632404493
+1.68,0.5595980183171889,1.,1.440401981682811
+1.74,0.5561273131097659,1.,1.443872686890234
+1.8,0.5528587037789486,1.,1.447141296221051
+1.86,0.549780453794001,1.,1.450219546205999
+1.92,0.5468814717857372,1.,1.453118528214263
+1.98,0.5441512978860143,1.,1.455848702113986
+2.04,0.5415801362271525,1.,1.458419863772848
+2.1,0.5391586908846811,1.,1.460841309115319
+2.16,0.5368782672009727,1.,1.463121732799028
+2.22,0.5347306485143843,1.,1.465269351485616
+2.28,0.5327080859404461,1.,1.467291914059554
+2.34,0.5308033225334506,1.,1.46919667746655
+2.4,0.5290094717080351,1.,1.470990528291965
+2.46,0.5273200922866688,1.,1.472679907713331
+2.52,0.525729097237226,1.,1.474270902762774
+2.58,0.524230746027377,1.,1.475769253972623
+2.64,0.522819662589552,1.,1.477180337410448
+2.7,0.5214907452137682,1.,1.478509254786232
+2.76,0.5202392221562527,1.,1.479760777843747
+2.82,0.519060584035492,1.,1.480939415964508
+2.88,0.5179505805569193,1.,1.482049419443081
+2.94,0.516905220780915,1.,1.483094779219085
+3.,0.5159207387545127,1.,1.484079261245487
diff --git a/models/sbml-test-suite/cases/semantic/00375/00375-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00375/00375-sbml-l2v4.xml
new file mode 100644
index 0000000..12291d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00375/00375-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00375" id="case00375" name="case00375">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00375/00375-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00375/00375-sbml-l3v1.xml
new file mode 100644
index 0000000..8d9cb87
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00375/00375-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00375" id="case00375" name="case00375" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00375/00375-settings.txt b/models/sbml-test-suite/cases/semantic/00375/00375-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00375/00375-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00376/00376-results.csv b/models/sbml-test-suite/cases/semantic/00376/00376-results.csv
new file mode 100644
index 0000000..3e73db2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00376/00376-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.9297682917476098,1.92976829174761,1.
+0.12,0.8680244894931262,1.868024489493127,1.
+0.18,0.8134392152324453,1.813439215232446,1.
+0.24,0.7649440860512688,1.764944086051269,1.
+0.3,0.7378118637503114,0.9878118788945236,1.
+0.36,0.7206840423515349,0.970684057495747,1.
+0.42,0.7048117695527552,0.9548117846969673,1.
+0.48,0.6900819562636462,0.9400819714078583,1.
+0.54,0.6763942163064604,0.9263942314506725,1.
+0.6,0.6636591303390224,0.9136591454832345,1.
+0.66,0.651796794181775,0.9017968093259871,1.
+0.72,0.6407355815906846,0.8907355967348967,1.
+0.78,0.6304111056877598,0.8804111208319719,1.
+0.84,0.6207653287123977,0.8707653438566098,1.
+0.9,0.6117458015493177,0.8617458166935299,1.
+0.96,0.6033050092056265,0.8533050243498386,1.
+1.02,0.595399809943979,0.8453998250881911,1.
+1.08,0.5879909461414754,0.8379909612856875,1.
+1.14,0.581042616572352,0.8310426317165641,1.
+1.2,0.5745221187896829,0.824522133933895,1.
+1.26,0.5683995089320506,0.8183995240762627,1.
+1.32,0.5626473440027599,0.812647359146972,1.
+1.38,0.5572404071711437,0.8072404223153558,1.
+1.44,0.5521555025025369,0.802155517646749,1.
+1.5,0.5473712586062352,0.7973712737504473,1.
+1.56,0.5428679582055281,0.7928679733497402,1.
+1.62,0.5386273849282248,0.7886274000724369,1.
+1.68,0.5346326861271748,0.7846327012713869,1.
+1.74,0.5308682516579552,0.7808682668021673,1.
+1.8,0.5273196054333232,0.7773196205775353,1.
+1.86,0.5239733052360015,0.7739733203802136,1.
+1.92,0.5208168663991185,0.7708168815433306,1.
+1.98,0.5178386702590878,0.7678386854032999,1.
+2.04,0.5150278975268884,0.7650279126711006,1.
+2.1,0.5123744638933305,0.7623744790375426,1.
+2.16,0.5098689621576059,0.759868977301818,1.
+2.22,0.5075026107340191,0.7575026258782312,1.
+2.28,0.5052672064294757,0.7552672215736878,1.
+2.34,0.5031550785937491,0.7531550937379613,1.
+2.4,0.5011590493976552,0.7511590645418673,1.
+2.46,0.4992723978091956,0.7492724129534077,1.
+2.52,0.4974888266209043,0.7474888417651165,1.
+2.58,0.4958024323237376,0.7458024474679496,1.
+2.64,0.494207677625339,0.7442076927695511,1.
+2.7,0.4926993684566867,0.7426993836008989,1.
+2.76,0.4912726256061805,0.7412726407503926,1.
+2.82,0.4899228634387632,0.7399228785829754,1.
+2.88,0.4886457714850323,0.7386457866292445,1.
+2.94,0.4874373012076281,0.7374373163518402,1.
+3.,0.4862936391387831,0.7362936542829952,1.
diff --git a/models/sbml-test-suite/cases/semantic/00376/00376-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00376/00376-sbml-l2v4.xml
new file mode 100644
index 0000000..2518188
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00376/00376-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00376" id="case00376" name="case00376">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00376/00376-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00376/00376-sbml-l3v1.xml
new file mode 100644
index 0000000..77a9b61
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00376/00376-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00376" id="case00376" name="case00376" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00376/00376-settings.txt b/models/sbml-test-suite/cases/semantic/00376/00376-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00376/00376-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00377/00377-results.csv b/models/sbml-test-suite/cases/semantic/00377/00377-results.csv
new file mode 100644
index 0000000..6fa4dcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00377/00377-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.928275987702417,2.,1.
+0.12,0.8627251758718343,2.,1.
+0.18,0.8028162429722459,2.,1.
+0.24,0.7491833349981723,1.1,1.
+0.3,0.7276364448600897,1.1,1.
+0.36,0.7071301583907866,1.1,1.
+0.42,0.6876142195832116,1.1,1.
+0.48,0.6690408003032332,1.1,1.
+0.54,0.6513643812132843,1.1,1.
+0.6,0.6345416415233444,1.1,1.
+0.66,0.6185313538209547,1.1,1.
+0.72,0.603294279583549,1.1,1.
+0.78,0.5887930794363389,1.1,1.
+0.84,0.5749922108144812,1.1,1.
+0.9,0.5618578530623822,1.1,1.
+0.96,0.5493578120416716,1.1,1.
+1.02,0.5374614634130484,1.1,1.
+1.08,0.5261396490303037,1.1,1.
+1.14,0.5153646209509606,1.1,1.
+1.2,0.5051099705695048,1.1,1.
+1.26,0.4953505644153651,1.1,1.
+1.32,0.48606248564015,1.1,1.
+1.38,0.477222973534899,1.1,1.
+1.44,0.4688103655900176,1.1,1.
+1.5,0.4608040446232911,1.1,1.
+1.56,0.4531843841768951,1.1,1.
+1.62,0.4459326880277863,1.1,1.
+1.68,0.4390312696572688,1.1,1.
+1.74,0.4324631184838772,1.1,1.
+1.8,0.4262121781725831,1.1,1.
+1.86,0.4202631394295656,1.1,1.
+1.92,0.4146013865240671,1.1,1.
+1.98,0.40921308561964,1.1,1.
+2.04,0.4040850044675912,1.1,1.
+2.1,0.3992045780192202,1.1,1.
+2.16,0.394559866023168,1.1,1.
+2.22,0.3901394520918141,1.1,1.
+2.28,0.3859325322044779,1.1,1.
+2.34,0.381928785156033,1.1,1.
+2.4,0.378118388988023,1.1,1.
+2.46,0.3744920287825423,1.1,1.
+2.52,0.3710407915482894,1.1,1.
+2.58,0.3677562354844834,1.1,1.
+2.64,0.3646303114000434,1.1,1.
+2.7,0.3616553427664296,1.1,1.
+2.76,0.3588240601902277,1.1,1.
+2.82,0.3561295080580386,1.1,1.
+2.88,0.3535650909245342,1.1,1.
+2.94,0.3511245223933801,1.1,1.
+3.,0.3488018207660126,1.1,1.
diff --git a/models/sbml-test-suite/cases/semantic/00377/00377-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00377/00377-sbml-l2v4.xml
new file mode 100644
index 0000000..496a70d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00377/00377-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00377" id="case00377" name="case00377">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00377/00377-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00377/00377-sbml-l3v1.xml
new file mode 100644
index 0000000..6312762
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00377/00377-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00377" id="case00377" name="case00377" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00377/00377-settings.txt b/models/sbml-test-suite/cases/semantic/00377/00377-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00377/00377-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00378/00378-results.csv b/models/sbml-test-suite/cases/semantic/00378/00378-results.csv
new file mode 100644
index 0000000..0ba9352
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00378/00378-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.9288032303969882,2.,1.071196769603012
+0.12,0.8647030326337924,2.,1.135296967366208
+0.18,0.8069920510231296,2.,1.193007948976871
+0.24,0.7550334427100202,2.,1.24496655728998
+0.3,0.7368963215158869,1.,1.263103678484114
+0.36,0.7231005537373189,1.,1.276899446262681
+0.42,0.710108188823623,1.,1.289891811176377
+0.48,0.6978724405045739,1.,1.302127559495426
+0.54,0.6863492465197902,1.,1.31365075348021
+0.6,0.6754971107716116,1.,1.324502889228389
+0.66,0.6652769546760862,1.,1.334723045323914
+0.72,0.6556519740681783,1.,1.344348025931822
+0.78,0.6465875088793418,1.,1.353412491120658
+0.84,0.6380509167649711,1.,1.361949083235029
+0.9,0.630011452585094,1.,1.369988547414906
+0.96,0.622440175065618,1.,1.377559824934382
+1.02,0.6153098145489904,1.,1.384690185451009
+1.08,0.6085946940418136,1.,1.391405305958186
+1.14,0.6022706317165559,1.,1.397729368283444
+1.2,0.9852594274995795,1.,1.414740575356253
+1.26,0.9628236650779078,1.,1.437176337777925
+1.32,0.9416944595259011,1.,1.458305543329931
+1.38,0.9217957235135121,1.,1.478204279342321
+1.44,0.9030557993389104,1.,1.496944203516923
+1.5,0.8854072032853292,1.,1.514592799570504
+1.56,0.8687863811101813,1.,1.531213621745652
+1.62,0.8531334810145978,1.,1.546866521841236
+1.68,0.8383921350171,1.,1.561607867838733
+1.74,0.8245092572727958,1.,1.575490745583038
+1.8,0.811434849711336,1.,1.588565153144497
+1.86,0.7991218425308634,1.,1.60087816032497
+1.92,0.7875258891077243,1.,1.612474113748109
+1.98,0.7766052314783742,1.,1.623394771377459
+2.04,0.7663205434737091,1.,1.633679459382124
+2.1,0.7566347891022912,1.,1.643365213753542
+2.16,0.7475130941821822,1.,1.652486908673652
+2.22,0.7389226003755766,1.,1.661077402480257
+2.28,0.7308323779832375,1.,1.669167624872596
+2.34,0.7232132933640634,1.,1.67678670949177
+2.4,0.7160379099053993,1.,1.683962092950434
+2.46,0.7092803876642247,1.,1.690719615191609
+2.52,0.7029163930708222,1.,1.697083609785012
+2.58,0.6969230096222984,1.,1.703076993233536
+2.64,0.6912786522543775,1.,1.708721350601457
+2.7,0.6859629979919409,1.,1.714037004863894
+2.76,0.6809569024293309,1.,1.719043100426504
+2.82,0.6762423356101329,1.,1.723757667245702
+2.88,0.6718023288108726,1.,1.728197674044962
+2.94,0.6676208892902753,1.,1.73237911356556
+3.,0.663682955507684,1.,1.736317047348151
diff --git a/models/sbml-test-suite/cases/semantic/00378/00378-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00378/00378-sbml-l2v4.xml
new file mode 100644
index 0000000..e29dbb7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00378/00378-sbml-l2v4.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00378" id="case00378" name="case00378">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00378/00378-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00378/00378-sbml-l3v1.xml
new file mode 100644
index 0000000..9fb08dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00378/00378-sbml-l3v1.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00378" id="case00378" name="case00378" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00378/00378-settings.txt b/models/sbml-test-suite/cases/semantic/00378/00378-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00378/00378-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00379/00379-results.csv b/models/sbml-test-suite/cases/semantic/00379/00379-results.csv
new file mode 100644
index 0000000..3e73db2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00379/00379-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.9297682917476098,1.92976829174761,1.
+0.12,0.8680244894931262,1.868024489493127,1.
+0.18,0.8134392152324453,1.813439215232446,1.
+0.24,0.7649440860512688,1.764944086051269,1.
+0.3,0.7378118637503114,0.9878118788945236,1.
+0.36,0.7206840423515349,0.970684057495747,1.
+0.42,0.7048117695527552,0.9548117846969673,1.
+0.48,0.6900819562636462,0.9400819714078583,1.
+0.54,0.6763942163064604,0.9263942314506725,1.
+0.6,0.6636591303390224,0.9136591454832345,1.
+0.66,0.651796794181775,0.9017968093259871,1.
+0.72,0.6407355815906846,0.8907355967348967,1.
+0.78,0.6304111056877598,0.8804111208319719,1.
+0.84,0.6207653287123977,0.8707653438566098,1.
+0.9,0.6117458015493177,0.8617458166935299,1.
+0.96,0.6033050092056265,0.8533050243498386,1.
+1.02,0.595399809943979,0.8453998250881911,1.
+1.08,0.5879909461414754,0.8379909612856875,1.
+1.14,0.581042616572352,0.8310426317165641,1.
+1.2,0.5745221187896829,0.824522133933895,1.
+1.26,0.5683995089320506,0.8183995240762627,1.
+1.32,0.5626473440027599,0.812647359146972,1.
+1.38,0.5572404071711437,0.8072404223153558,1.
+1.44,0.5521555025025369,0.802155517646749,1.
+1.5,0.5473712586062352,0.7973712737504473,1.
+1.56,0.5428679582055281,0.7928679733497402,1.
+1.62,0.5386273849282248,0.7886274000724369,1.
+1.68,0.5346326861271748,0.7846327012713869,1.
+1.74,0.5308682516579552,0.7808682668021673,1.
+1.8,0.5273196054333232,0.7773196205775353,1.
+1.86,0.5239733052360015,0.7739733203802136,1.
+1.92,0.5208168663991185,0.7708168815433306,1.
+1.98,0.5178386702590878,0.7678386854032999,1.
+2.04,0.5150278975268884,0.7650279126711006,1.
+2.1,0.5123744638933305,0.7623744790375426,1.
+2.16,0.5098689621576059,0.759868977301818,1.
+2.22,0.5075026107340191,0.7575026258782312,1.
+2.28,0.5052672064294757,0.7552672215736878,1.
+2.34,0.5031550785937491,0.7531550937379613,1.
+2.4,0.5011590493976552,0.7511590645418673,1.
+2.46,0.4992723978091956,0.7492724129534077,1.
+2.52,0.4974888266209043,0.7474888417651165,1.
+2.58,0.4958024323237376,0.7458024474679496,1.
+2.64,0.494207677625339,0.7442076927695511,1.
+2.7,0.4926993684566867,0.7426993836008989,1.
+2.76,0.4912726256061805,0.7412726407503926,1.
+2.82,0.4899228634387632,0.7399228785829754,1.
+2.88,0.4886457714850323,0.7386457866292445,1.
+2.94,0.4874373012076281,0.7374373163518402,1.
+3.,0.4862936391387831,0.7362936542829952,1.
diff --git a/models/sbml-test-suite/cases/semantic/00379/00379-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00379/00379-sbml-l2v4.xml
new file mode 100644
index 0000000..9d428d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00379/00379-sbml-l2v4.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00379" id="case00379" name="case00379">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00379/00379-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00379/00379-sbml-l3v1.xml
new file mode 100644
index 0000000..6794afa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00379/00379-sbml-l3v1.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00379" id="case00379" name="case00379" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00379/00379-settings.txt b/models/sbml-test-suite/cases/semantic/00379/00379-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00379/00379-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00380/00380-results.csv b/models/sbml-test-suite/cases/semantic/00380/00380-results.csv
new file mode 100644
index 0000000..60ab714
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00380/00380-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.883923313603504,2.,1.
+0.2,0.7840151816482617,2.,1.
+0.3,0.7276364229931392,1.1,1.
+0.4,0.6940124748515672,1.1,1.
+0.5,0.6630511586800825,1.1,1.
+0.6,0.6345416244512353,1.1,1.
+0.7,0.6082897198992555,1.1,1.
+0.8,0.5841166646631376,1.1,1.
+0.9,0.5618578397348446,1.1,1.
+1.,0.5413616578604511,1.1,1.
+1.1,0.5224885370608858,1.1,1.
+1.2,0.5051099601532602,1.1,1.
+1.3,0.4891075574958259,1.1,1.
+1.4,0.4743723715875501,1.1,1.
+1.5,0.4608040364769432,1.1,1.
+1.6,0.4483101280208406,1.1,1.
+1.7,0.4368056498023796,1.1,1.
+1.8,0.4262121717737782,1.1,1.
+1.9,0.4164575761559271,1.1,1.
+2.,0.4074754330492262,1.1,1.
+2.1,0.3992045730400717,1.1,1.
+2.2,0.391588670633782,1.1,1.
+2.3,0.3845758606696521,1.1,1.
+2.4,0.3781183851149472,1.1,1.
+2.5,0.3721722678270278,1.1,1.
+2.6,0.3666970150711224,1.1,1.
+2.7,0.3616553397536171,1.1,1.
+2.8,0.3570129074926904,1.1,1.
+2.9,0.3527381027974752,1.1,1.
+3.,0.34880180760989,1.1,1.
+3.1,0.3451772297989982,1.1,1.
+3.2,0.3418396792244224,1.1,1.
+3.3,0.3387664235715972,1.1,1.
+3.4,0.3359365304510622,1.1,1.
+3.5,0.333330730331097,1.1,1.
+3.6,0.3309312808821206,1.1,1.
+3.7,0.3287218426257509,1.1,1.
+3.8,0.3266873684439818,1.1,1.
+3.9,0.3248140017492406,1.1,1.
+4.,0.3230889826140687,1.1,1.
+4.1,0.3215005629796549,1.1,1.
+4.2,0.320037927418171,1.1,1.
+4.3,0.3186911176174578,1.1,1.
+4.4,0.3174509614628341,1.1,1.
+4.5,0.3163090120013671,1.1,1.
+4.6,0.3152574904242107,1.1,1.
+4.7,0.3142892356266843,1.1,1.
+4.8,0.3133976558414601,1.1,1.
+4.9,0.3125766821447283,1.1,1.
+5.,0.3118207183763001,1.1,1.
diff --git a/models/sbml-test-suite/cases/semantic/00380/00380-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00380/00380-sbml-l2v4.xml
new file mode 100644
index 0000000..3f1135d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00380/00380-sbml-l2v4.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00380" id="case00380" name="case00380">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00380/00380-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00380/00380-sbml-l3v1.xml
new file mode 100644
index 0000000..26eb5b0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00380/00380-sbml-l3v1.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00380" id="case00380" name="case00380" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00380/00380-settings.txt b/models/sbml-test-suite/cases/semantic/00380/00380-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00380/00380-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00381/00381-results.csv b/models/sbml-test-suite/cases/semantic/00381/00381-results.csv
new file mode 100644
index 0000000..d292f53
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00381/00381-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.975432440159114,2.,1.024567559840885
+0.04,0.9517098713450988,2.,1.0482901286549
+0.06,0.9288032303970602,2.,1.071196769602939
+0.08,0.9066844535358,2.,1.093315546464199
+0.1,0.8853264433787815,2.,1.114673556621218
+0.12,0.8647030326355644,2.,1.135296967364435
+0.14,0.8447889556280925,2.,1.155211044371907
+0.16,0.8255598132790703,2.,1.174440186720929
+0.18,0.8069920510256235,2.,1.193007948974375
+0.2,0.7890629192342585,2.,1.21093708076574
+0.22,0.771750452477357,2.,1.228249547522642
+0.24,0.7550334408138835,2.,1.244966559186115
+0.26,0.9888626635799058,1.5,1.261137351656822
+0.28,0.9731361707599116,1.5,1.276863844476817
+0.3,0.9578362640478572,1.5,1.292163751188871
+0.32,0.9429513721838912,1.5,1.307048643052837
+0.34,0.9284702374738872,1.5,1.321529777762841
+0.36,0.9143819086069027,1.5,1.335618106629825
+0.38,0.9006757298703491,1.5,1.349324285366379
+0.4,0.8873413354367625,1.5,1.362658679799966
+0.42,0.8743686408961491,1.5,1.375631374340579
+0.44,0.8617478349872056,1.5,1.388252180249522
+0.46,0.8494693707506333,1.5,1.400530644486095
+0.48,0.8375239648437932,1.5,1.412476050392935
+0.5,0.8259025834364418,1.5,1.424097431800287
+0.52,0.8145964351188235,1.5,1.435403580117905
+0.54,0.8035969678285119,1.5,1.446403047408216
+0.56,0.7928958653959613,1.5,1.457104149840767
+0.58,0.7824850351985345,1.5,1.467514980038194
+0.6,0.7723566016711511,1.5,1.477643413565577
+0.62,0.7625029034192616,1.5,1.487497111817467
+0.64,0.7529164920770716,1.5,1.497083523159657
+0.66,0.9897441889991041,1.5,1.51025583045535
+0.68,0.9752267535063075,1.5,1.524773265948147
+0.7,0.9611031080886952,1.5,1.538896911365758
+0.72,0.9473625710204803,1.5,1.552637448433973
+0.74,0.9339947500942116,1.5,1.566005269360242
+0.76,0.9209895360040699,1.5,1.579010483450384
+0.78,0.9083370924622692,1.5,1.591662926992184
+0.8,0.8960278501816043,1.5,1.603972169272849
+0.82,0.8840525000089796,1.5,1.615947519445474
+0.84,0.8724019852079584,1.5,1.627598034246495
+0.86,0.8610674925210976,1.5,1.638932526933356
+0.88,0.8500404538917847,1.5,1.649959565562669
+0.9,0.8393125278112152,1.5,1.660687491643238
+0.92,0.8288755980428236,1.5,1.67112442141163
+0.94,0.818721773260682,1.5,1.681278246193771
+0.96,0.8088433761133122,1.5,1.691156643341141
+0.98,0.7992329330549025,1.5,1.700767086399551
+1.,0.7898831761247584,1.5,1.710116843329695
diff --git a/models/sbml-test-suite/cases/semantic/00381/00381-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00381/00381-sbml-l2v4.xml
new file mode 100644
index 0000000..e52e49b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00381/00381-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00381" id="case00381" name="case00381">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00381/00381-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00381/00381-sbml-l3v1.xml
new file mode 100644
index 0000000..f8ad685
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00381/00381-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00381" id="case00381" name="case00381" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00381/00381-settings.txt b/models/sbml-test-suite/cases/semantic/00381/00381-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00381/00381-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00382/00382-results.csv b/models/sbml-test-suite/cases/semantic/00382/00382-results.csv
new file mode 100644
index 0000000..df8fd94
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00382/00382-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.9755511683357893,1.975551168335789,1.
+0.04,0.9521611209389688,1.952161120938968,1.
+0.06,0.9297682917476026,1.929768291747602,1.
+0.08,0.9083157521881661,1.908315752188165,1.
+0.1,0.8877507823390445,1.887750782339043,1.
+0.12,0.8680244894934743,1.868024489493473,1.
+0.14,0.8490914653358743,1.849091465335873,1.
+0.16,0.8309094814366118,1.830909481436611,1.
+0.18,0.8134392152308628,1.813439215230862,1.
+0.2,0.796644002311644,1.796644002311643,1.
+0.22,0.7804896222530736,1.780489622253073,1.
+0.24,0.7649440860483584,1.764944086048357,1.
+0.26,0.99997318607807,1.49997318607807,1.
+0.28,0.9827967527264446,1.482796752726445,1.
+0.3,0.9662440189778907,1.46624401897789,1.
+0.32,0.9502844116988425,1.450284411698842,1.
+0.34,0.9348893062526546,1.434889306252655,1.
+0.36,0.920031873269947,1.420031873269947,1.
+0.38,0.9056869408901836,1.405686940890184,1.
+0.4,0.8918308665902122,1.391830866590212,1.
+0.42,0.8784414257915688,1.378441425791568,1.
+0.44,0.8654977024360142,1.365497702436014,1.
+0.46,0.8529799989371202,1.35297999893712,1.
+0.48,0.8408697453087243,1.340869745308724,1.
+0.5,0.8291494210878547,1.329149421087854,1.
+0.52,0.8178024813619955,1.317802481361995,1.
+0.54,0.8068132898814088,1.306813289881409,1.
+0.56,0.7961670574531325,1.296167057453132,1.
+0.58,0.7858497852831249,1.285849785283125,1.
+0.6,0.7758482128083442,1.275848212808344,1.
+0.62,0.7661497696092493,1.266149769609249,1.
+0.64,0.7567425301287528,1.256742530128752,1.
+0.66,0.9953993632184849,1.495399363218484,1.
+0.68,0.9783898295090324,1.478389829509031,1.
+0.7,0.9619957670515056,1.461995767051504,1.
+0.72,0.9461871303084928,1.446187130308492,1.
+0.74,0.9309357802889541,1.430935780288953,1.
+0.76,0.9162153356263597,1.416215335626358,1.
+0.78,0.9020010386115536,1.402001038611552,1.
+0.8,0.8882696295147242,1.388269629514723,1.
+0.82,0.8749992361659803,1.374999236165978,1.
+0.84,0.8621692737199274,1.362169273719926,1.
+0.86,0.8497603453078912,1.349760345307889,1.
+0.88,0.8377541683422961,1.337754168342294,1.
+0.9,0.8261334834135155,1.326133483413513,1.
+0.92,0.8148819903977918,1.31488199039779,1.
+0.94,0.8039842811801796,1.303984281180177,1.
+0.96,0.7934257793893805,1.293425779389378,1.
+0.98,0.7831926849868465,1.283192684986844,1.
+1.,0.77327192352536,1.273271923525357,1.
diff --git a/models/sbml-test-suite/cases/semantic/00382/00382-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00382/00382-sbml-l2v4.xml
new file mode 100644
index 0000000..0290680
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00382/00382-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00382" id="case00382" name="case00382">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00382/00382-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00382/00382-sbml-l3v1.xml
new file mode 100644
index 0000000..0bc592f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00382/00382-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00382" id="case00382" name="case00382" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00382/00382-settings.txt b/models/sbml-test-suite/cases/semantic/00382/00382-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00382/00382-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00383/00383-results.csv b/models/sbml-test-suite/cases/semantic/00383/00383-results.csv
new file mode 100644
index 0000000..1643eb8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00383/00383-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.975371277949279,2.,1.
+0.04,0.9514704446297804,2.,1.
+0.06,0.9282759877024139,2.,1.
+0.08,0.9057670303416991,2.,1.
+0.1,0.8839233136036406,2.,1.
+0.12,0.8627251758712842,2.,1.
+0.14,0.842153538294358,2.,1.
+0.16,0.8221898839117237,2.,1.
+0.18,0.8028162429725036,2.,1.
+0.2,0.7840151816492387,2.,1.
+0.22,0.7657697762651911,2.,1.
+0.24,0.9980628425517463,1.5,1.
+0.26,0.9808013485570558,1.5,1.
+0.28,0.9639239015462424,1.5,1.
+0.3,0.9474219568021728,1.5,1.
+0.32,0.9312871599200567,1.5,1.
+0.34,0.9155113420321024,1.5,1.
+0.36,0.9000865168103795,1.5,1.
+0.38,0.8850048748951597,1.5,1.
+0.4,0.8702587808832543,1.5,1.
+0.42,0.8558407692448957,1.5,1.
+0.44,0.8417435405453894,1.5,1.
+0.46,0.8279599577501559,1.5,1.
+0.48,0.8144830403392072,1.5,1.
+0.5,0.8013059713915782,1.5,1.
+0.52,0.7884220743315714,1.5,1.
+0.54,0.7758248267700057,1.5,1.
+0.56,0.7635078555606357,1.5,1.
+0.58,0.7514649189207828,1.5,1.
+0.6,0.9848062394836988,1.5,1.
+0.62,0.9678396885478477,1.5,1.
+0.64,0.9512506224130551,1.5,1.
+0.66,0.9350306424583945,1.5,1.
+0.68,0.9191715369382076,1.5,1.
+0.7,0.9036652768755478,1.5,1.
+0.72,0.8885040119097301,1.5,1.
+0.74,0.8736800663426154,1.5,1.
+0.76,0.859185935245097,1.5,1.
+0.78,0.8450142806587082,1.5,1.
+0.8,0.8311579278814992,1.5,1.
+0.82,0.8176098600104961,1.5,1.
+0.84,0.8043632236943857,1.5,1.
+0.86,0.7914113048578554,1.5,1.
+0.88,0.7787475521502251,1.5,1.
+0.9,0.7663655535390141,1.5,1.
+0.92,0.7542590357505255,1.5,1.
+0.94,0.9888322740391145,1.5,1.
+0.96,0.9717761488265954,1.5,1.
+0.98,0.9550995013072285,1.5,1.
+1.,0.9387938885585226,1.5,1.
diff --git a/models/sbml-test-suite/cases/semantic/00383/00383-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00383/00383-sbml-l2v4.xml
new file mode 100644
index 0000000..4f0c4fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00383/00383-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00383" id="case00383" name="case00383">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00383/00383-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00383/00383-sbml-l3v1.xml
new file mode 100644
index 0000000..7ed7c0c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00383/00383-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00383" id="case00383" name="case00383" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00383/00383-settings.txt b/models/sbml-test-suite/cases/semantic/00383/00383-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00383/00383-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00384/00384-results.csv b/models/sbml-test-suite/cases/semantic/00384/00384-results.csv
new file mode 100644
index 0000000..68e8b19
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00384/00384-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00012,0.0002,0.0001
+0.1,0.00009635371690131327,0.0001163537169013132,0.0002036462830986866,0.0001
+0.2,0.00009332231769280039,0.0001133223176928003,0.0002066776823071995,0.0001
+0.3,0.00009079055396258471,0.0001107905539625847,0.0002092094460374152,0.0001
+0.4,0.00008866798289546441,0.0001086679828954644,0.0002113320171045355,0.0001
+0.5,0.00008688276225675999,0.0001068827622567599,0.0002131172377432399,0.0001
+0.6,0.00008537722788355219,0.0001053772278835521,0.0002146227721164478,0.0001
+0.7,0.00008410467650037312,0.0001041046765003731,0.0002158953234996268,0.0001
+0.8,0.00008302698814910257,0.0001030269881491025,0.0002169730118508974,0.0001
+0.9,0.00008211284007654348,0.0001021128400765434,0.0002178871599234565,0.0001
+1.,0.0000813363463865328,0.0001013363463865328,0.0002186636536134671,0.0001
+1.1,0.00008067600650955253,0.0001006760065095525,0.0002193239934904474,0.0001
+1.2,0.00008011388579369815,0.0001001138857936981,0.0002198861142063018,0.0001
+1.3,0.0001932880714413983,0.00009328807136291073,0.0002267119286370891,0.0001
+1.4,0.0001862914370749874,0.00008629143699649975,0.0002337085630035,0.0001
+1.5,0.0001807312375059165,0.00008073123742742885,0.0002392687625725709,0.0001
+1.6,0.0001762751914935286,0.00007627519141504091,0.0002437248085849589,0.0001
+1.7,0.0001726798665516617,0.00007267986647317402,0.0002473201335268258,0.0001
+1.8,0.0001697631884683239,0.00006976318838983621,0.0002502368116101636,0.0001
+1.9,0.0001673866006266145,0.00006738660054812676,0.0002526133994518731,0.0001
+2.,0.0001654431255083146,0.00006544312542982694,0.000254556874570173,0.0001
+2.1,0.0001638491582211782,0.0000638491581426905,0.0002561508418573094,0.0001
+2.2,0.0001625386946032992,0.00006253869452481159,0.0002574613054751883,0.0001
+2.3,0.0001614591755161366,0.00006145917543764891,0.000258540824562351,0.0001
+2.4,0.0001605684509865686,0.00006056845090808095,0.0002594315490919189,0.0001
+2.5,0.0001598325146807944,0.00005983251460230682,0.000260167485397693,0.0001
+2.6,0.0001592237919308095,0.00005922379185232191,0.000260776208147678,0.0001
+2.7,0.0001587198295550707,0.00005871982947658315,0.0002612801705234167,0.0001
+2.8,0.0001583022815077163,0.00005830228142922868,0.0002616977185707711,0.0001
+2.9,0.0001579561117839835,0.00005795611170549592,0.0002620438882945039,0.0001
+3.,0.0001576689690930997,0.00005766896901461203,0.0002623310309853878,0.0001
+3.1,0.0001574306848275269,0.00005743068474903922,0.0002625693152509606,0.0001
+3.2,0.0001572328745537955,0.00005723287447530787,0.000262767125524692,0.0001
+3.3,0.0001570686146420758,0.00005706861456358816,0.0002629313854364116,0.0001
+3.4,0.0001569321806219373,0.00005693218054344961,0.0002630678194565502,0.0001
+3.5,0.000156818835598539,0.00005681883552005139,0.0002631811644799484,0.0001
+3.6,0.0001567246560507653,0.00005672465597227763,0.0002632753440277222,0.0001
+3.7,0.0001566463901647487,0.00005664639008626106,0.0002633536099137387,0.0001
+3.8,0.0001565813412880112,0.00005658134120952349,0.0002634186587904763,0.0001
+3.9,0.0001565272720974435,0.00005652727201895581,0.0002634727279810439,0.0001
+4.,0.0001564823256376736,0.00005648232555918583,0.0002635176744408139,0.0001
+4.1,0.0001564449601782602,0.00005644496009977245,0.0002635550399002273,0.0001
+4.2,0.0001564138953149937,0.00005641389523650597,0.0002635861047634937,0.0001
+4.3,0.0001563880674289335,0.0000563880673504458,0.0002636119326495539,0.0001
+4.4,0.0001563665928151333,0.00005636659273664555,0.0002636334072633541,0.0001
+4.5,0.0001563487371610147,0.00005634873708252698,0.0002636512629174726,0.0001
+4.6,0.0001563338901460802,0.00005633389006759244,0.0002636661099324072,0.0001
+4.7,0.0001563215446128293,0.00005632154453434155,0.0002636784554656581,0.0001
+4.8,0.0001563112788707307,0.00005631127879224303,0.0002636887212077567,0.0001
+4.9,0.000156302742405046,0.00005630274232655825,0.0002636972576734415,0.0001
+5.,0.0001562956438675277,0.00005629564378904,0.0002637043562109597,0.0001
diff --git a/models/sbml-test-suite/cases/semantic/00384/00384-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00384/00384-sbml-l2v4.xml
new file mode 100644
index 0000000..c6e82d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00384/00384-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00384" id="case00384" name="case00384">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00384/00384-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00384/00384-sbml-l3v1.xml
new file mode 100644
index 0000000..d21265c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00384/00384-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00384" id="case00384" name="case00384" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00384/00384-settings.txt b/models/sbml-test-suite/cases/semantic/00384/00384-settings.txt
new file mode 100644
index 0000000..428995a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00384/00384-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00385/00385-results.csv b/models/sbml-test-suite/cases/semantic/00385/00385-results.csv
new file mode 100644
index 0000000..fcacfef
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00385/00385-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.001199999999999999,0.0019,0.001
+0.05,0.0009797230195121775,0.001179723019512177,0.001920276980487822,0.001
+0.1,0.0009612560365058232,0.001161256036505822,0.001938743963494177,0.001
+0.15,0.0009444141346981324,0.001144414134698131,0.001955585865301868,0.001
+0.2,0.0009290348630470457,0.001129034863047045,0.001970965136952954,0.001
+0.25,0.0009149749669413012,0.0011149749669413,0.001985025033058699,0.001
+0.3,0.0009021076761782213,0.001102107676178221,0.001997892323821779,0.001
+0.35,0.000880339504864863,0.001080339504864862,0.001019660482116941,0.001
+0.4,0.000858372420390251,0.00105837242039025,0.001041627566591553,0.001
+0.45,0.0008381832766733108,0.00103818327667331,0.001061816710308493,0.001
+0.5,0.0008196000159966152,0.001019600015996614,0.001080399970985189,0.001
+0.55,0.0008024710140010414,0.00100247101400104,0.001097528972980763,0.001
+0.6,0.001950645152489001,0.0009506451400278194,0.001149354846953984,0.001
+0.65,0.001898654256432725,0.0008986542439715432,0.00120134574301026,0.001
+0.7,0.001852425705664145,0.0008524256932029628,0.00124757429377884,0.001
+0.75,0.001811177669985116,0.0008111776575239339,0.001288822329457869,0.001
+0.8,0.001774259235104723,0.0007742592226435409,0.001325740764338262,0.001
+0.85,0.001741124093145378,0.0007411240806841956,0.001358875906297607,0.001
+0.9,0.00171131037884261,0.0007113103663814283,0.001388689620600374,0.001
+0.95,0.001684424969025387,0.0006844249565642051,0.001415575030417598,0.001
+1.,0.001660131210244225,0.0006601311977830433,0.001439868789198759,0.001
+1.05,0.001638139165069276,0.0006381391526080932,0.001461860834373709,0.001
+1.1,0.001618197828701834,0.000618197816240652,0.001481802170741151,0.001
+1.15,0.001600088864638309,0.0006000888521771263,0.001499911134804676,0.001
+1.2,0.001583621510125389,0.0005836214976642064,0.001516378489317596,0.001
+1.25,0.001568628413334993,0.0005686284008738106,0.001531371586107992,0.001
+1.3,0.001554962205326418,0.0005549621928652351,0.001545037794116567,0.001
+1.35,0.001542492658579055,0.0005424926461178729,0.00155750734086393,0.001
+1.4,0.001531104339808398,0.0005311043273472153,0.001568895659634587,0.001
+1.45,0.001520694579645774,0.0005206945671845911,0.001579305419797211,0.001
+1.5,0.001511171864687424,0.0005111718522262414,0.001588828134755561,0.001
+1.55,0.001502454363224487,0.000502454350763304,0.001597545636218498,0.001
+1.6,0.001494468771602168,0.0004944687591409849,0.001605531227840817,0.001
+1.65,0.00148714924302685,0.0004871492305656675,0.001612850756416135,0.001
+1.7,0.001480436540968089,0.0004804365285069068,0.001619563458474896,0.001
+1.75,0.001474277243934203,0.0004742772314730206,0.001625722755508782,0.001
+1.8,0.001468623118447558,0.0004686231059863755,0.001631376880995427,0.001
+1.85,0.001463430530546368,0.0004634305180851855,0.001636569468896617,0.001
+1.9,0.001458659941680709,0.0004586599292195268,0.001641340057762275,0.001
+1.95,0.001454275482648636,0.0004542754701874536,0.001645724516794349,0.001
+2.,0.001450244578223786,0.0004502445657626037,0.001649755421219199,0.001
+2.05,0.001446537597267398,0.0004465375848062151,0.001653462402175587,0.001
+2.1,0.001443127556499126,0.0004431275440379431,0.001656872442943859,0.001
+2.15,0.001439989867044925,0.0004399898545837425,0.00166001013239806,0.001
+2.2,0.001437102098131985,0.0004371020856708022,0.001662897901311,0.001
+2.25,0.001434443767402115,0.0004344437549409325,0.00166555623204087,0.001
+2.3,0.001431996157069055,0.0004319961446078724,0.00166800384237393,0.001
+2.35,0.001429742149169352,0.0004297421367081694,0.001670257850273633,0.001
+2.4,0.001427666078042398,0.0004276660655812159,0.001672333921400586,0.001
+2.45,0.001425753598566461,0.000425753586105278,0.001674246400876524,0.001
+2.5,0.001423991567758559,0.0004239915552973764,0.001676008431684426,0.001
diff --git a/models/sbml-test-suite/cases/semantic/00385/00385-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00385/00385-sbml-l2v4.xml
new file mode 100644
index 0000000..960990b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00385/00385-sbml-l2v4.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00385" id="case00385" name="case00385">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0019" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S2 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.002 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 0.002 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 1000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00385/00385-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00385/00385-sbml-l3v1.xml
new file mode 100644
index 0000000..56ac9b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00385/00385-sbml-l3v1.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00385" id="case00385" name="case00385" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0019" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S2 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.002 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 0.002 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 1000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00385/00385-settings.txt b/models/sbml-test-suite/cases/semantic/00385/00385-settings.txt
new file mode 100644
index 0000000..ca38ee7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00385/00385-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00386/00386-results.csv b/models/sbml-test-suite/cases/semantic/00386/00386-results.csv
new file mode 100644
index 0000000..01dea03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00386/00386-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.012,0.02,0.01
+0.05,0.009809160675483328,0.01180916067548332,0.02019083932451668,0.01
+0.1,0.009635371690130347,0.01163537169013034,0.02036462830986967,0.01
+0.15,0.009476902941959007,0.011476902941959,0.020523097058041,0.01
+0.2,0.009332231769281444,0.01133223176928144,0.02066776823071857,0.01
+0.25,0.009200013236986196,0.01120001323698619,0.02079998676301382,0.01
+0.3,0.009079055396249495,0.01107905539624949,0.02092094460375052,0.01
+0.35,0.00896829865874949,0.01096829865874949,0.02103170134125053,0.01
+0.4,0.008866798289531971,0.01086679828953197,0.02113320171046804,0.01
+0.45,0.008773709763059599,0.01077370976305959,0.02122629023694042,0.01
+0.5,0.008688276225684375,0.01068827622568437,0.02131172377431564,0.01
+0.55,0.008609817909755502,0.0106098179097555,0.02139018209024451,0.01
+0.6,0.008537722788263115,0.01053772278826311,0.0214622772117369,0.01
+0.65,0.008471438958147855,0.01047143895814785,0.02152856104185216,0.01
+0.7,0.00841046764997075,0.01041046764997075,0.02158953235002926,0.01
+0.75,0.008354357359441398,0.01035435735944139,0.02164564264055861,0.01
+0.8,0.008302698815108906,0.0103026988151089,0.0216973011848911,0.01
+0.85,0.008255120324649589,0.01025512032464959,0.02174487967535042,0.01
+0.9,0.008211284007796367,0.01021128400779636,0.02178871599220364,0.01
+0.95,0.00817088224310895,0.01017088224310895,0.02182911775689106,0.01
+1.,0.008133634638545411,0.01013363463854541,0.0218663653614546,0.01
+1.05,0.008099285340963491,0.01009928534096349,0.02190071465903651,0.01
+1.1,0.008067600650846653,0.01006760065084665,0.02193239934915335,0.01
+1.15,0.00803836690240915,0.01003836690240915,0.02196163309759086,0.01
+1.2,0.008011388579389707,0.0100113885793897,0.0219886114206103,0.01
+1.25,0.01963284254380696,0.009632842510486029,0.00536715745619302,0.01
+1.3,0.01902797112067203,0.009027971087351101,0.005972028879327949,0.01
+1.35,0.01849031337427543,0.0084903133409545,0.006509686625724552,0.01
+1.4,0.01801046380778008,0.008010463774459157,0.006989536192219898,0.01
+1.45,0.01758065877483547,0.007580658741514545,0.00741934122516451,0.01
+1.5,0.01719443292748246,0.007194432894161531,0.007805567072517524,0.01
+1.55,0.01684635848115164,0.006846358447830718,0.00815364151884834,0.01
+1.6,0.01653184504589672,0.00653184501257579,0.008468154954103267,0.01
+1.65,0.01624698416461557,0.006246984131294633,0.008753015835384422,0.01
+1.7,0.01598842729962754,0.005988427266306607,0.00901157270037245,0.01
+1.75,0.01575328913225722,0.005753289098936286,0.00924671086774277,0.01
+1.8,0.01553907043618016,0.00553907040285923,0.009460929563819824,0.01
+1.85,0.01534359574803965,0.005343595714718723,0.009656404251960333,0.01
+1.9,0.01516496283287779,0.005164962799556862,0.009835037167122194,0.01
+1.95,0.01500150144488266,0.005001501411561723,0.00999849855511733,0.01
+2.,0.01485173929053864,0.004851739257217708,0.01014826070946134,0.01
+2.05,0.01471437384851732,0.004714373815196383,0.01028562615148266,0.01
+2.1,0.01458824891374865,0.004588248880427717,0.01041175108625133,0.01
+2.15,0.01447233493184727,0.004472334898526339,0.01052766506815271,0.01
+2.2,0.0143657124788506,0.004365712445529663,0.01063428752114938,0.01
+2.25,0.01426755814721187,0.004267558113890943,0.01073244185278811,0.01
+2.3,0.014177132833377,0.004177132800056073,0.01082286716662298,0.01
+2.35,0.01409377127937272,0.004093771246051786,0.01090622872062726,0.01
+2.4,0.01401687358530468,0.004016873551983753,0.0109831264146953,0.01
+2.45,0.01394589759847045,0.003945897565149519,0.01105410240152953,0.01
+2.5,0.01388035234301167,0.00388035230969074,0.01111964765698831,0.01
diff --git a/models/sbml-test-suite/cases/semantic/00386/00386-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00386/00386-sbml-l2v4.xml
new file mode 100644
index 0000000..e87b77e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00386/00386-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00386" id="case00386" name="case00386">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S2 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 200 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00386/00386-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00386/00386-sbml-l3v1.xml
new file mode 100644
index 0000000..37cd4e0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00386/00386-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00386" id="case00386" name="case00386" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S2 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 200 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00386/00386-settings.txt b/models/sbml-test-suite/cases/semantic/00386/00386-settings.txt
new file mode 100644
index 0000000..c97b0ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00386/00386-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00387/00387-results.csv b/models/sbml-test-suite/cases/semantic/00387/00387-results.csv
new file mode 100644
index 0000000..525fa3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00387/00387-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9424487530290474,1.87202786394052,1.057551246970952
+0.1,0.8935253567664223,1.760647814559027,1.106474643233578
+0.15,0.8516673584578466,1.662832599575355,1.148332641542154
+0.2,0.8156652289448177,1.576243606922262,1.184334771055183
+0.25,0.7845679867904453,1.499045897650766,1.215432013209555
+0.3,0.7576175923644991,1.429779791871586,1.242382407635501
+0.35,0.7417868291933019,0.9727603678089576,1.258213170806698
+0.4,0.7312348474477117,0.9358611979539384,1.268765152552288
+0.45,0.7221240928519471,0.9017217678474913,1.277875907148053
+0.5,0.714296165199064,0.8700422779231045,1.285703834800936
+0.55,0.7076141793730348,0.8405641172955199,1.292385820626965
+0.6,0.7019592422031943,0.8130630637544654,1.298040757796806
+0.65,0.6972276061241483,0.7873437971927379,1.302772393875852
+0.7,0.6933283382718953,0.7632354127169562,1.306671661728104
+0.75,0.6901814193920721,0.740587765735389,1.309818580607928
+0.8,0.6877161639598798,0.7192684387493691,1.31228383604012
+0.85,0.6858699098463757,0.6991602289399335,1.314130090153624
+0.9,0.6845869240398085,0.6801590527607475,1.315413075960191
+0.95,0.6838174818402126,0.6621721850572268,1.316182518159787
+1.,0.6835170876034929,0.6451167708867393,1.316482912396507
+1.05,0.6836458234562047,0.6289185831060459,1.316354176543795
+1.1,0.6841677720894843,0.6135109232495316,1.315832227910515
+1.15,0.6850505476574045,0.5988337288997295,1.314949452342595
+1.2,0.6862648798920734,0.5848327835913388,1.313735120107926
+1.25,0.6877842491842923,0.5714590246153359,1.312215750815707
+1.3,0.6895845920170697,0.5586679844905012,1.31041540798293
+1.35,0.6916440130605349,0.546419246549733,1.308355986939465
+1.4,0.6939425731645145,0.5346760436955494,1.306057426835485
+1.45,0.6964620658088895,0.523404836809613,1.30353793419111
+1.5,0.6991858459067109,0.5125749918093569,1.300814154093288
+1.55,0.702098670161232,0.5021584790572679,1.297901329838767
+1.6,0.7051865575937135,0.4921296110453384,1.294813442406286
+1.65,0.7084366661697537,0.4824648106370353,1.291563333830246
+1.7,0.7118371833992159,0.4731424058035274,1.288162816600783
+1.75,0.7153772293033967,0.4641424477722769,1.284622770696603
+1.8,0.7190467697551488,0.4554465488071012,1.280953230244851
+1.85,0.722836538669513,0.4470377367374341,1.277163461330486
+1.9,0.726737969307438,0.4389003266460185,1.273262030692561
+1.95,0.7307431313359543,0.4310198034777267,1.269256868664045
+2.,0.7348446759362897,0.4233827197290213,1.26515532406371
+2.05,0.7390357854114659,0.4159766016495276,1.260964214588534
+2.1,0.7433101279881068,0.408789865197138,1.256689872011893
+2.15,0.7476618170090421,0.4018117402377496,1.252338182990957
+2.2,0.752085374452218,0.3950322028379428,1.247914625547782
+2.25,0.7565756956830718,0.388441909983748,1.243424304316928
+2.3,0.7611280221147551,0.3820321488692294,1.238871977885244
+2.35,0.7657379115964317,0.3757947821707579,1.234262088403568
+2.4,0.7704012138400148,0.3697222026244524,1.229598786159985
+2.45,0.7751140476542882,0.3638072909949677,1.224885952345711
+2.5,0.7798727805244279,0.3580433783986561,1.220127219475571
diff --git a/models/sbml-test-suite/cases/semantic/00387/00387-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00387/00387-sbml-l2v4.xml
new file mode 100644
index 0000000..d489552
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00387/00387-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00387" id="case00387" name="case00387">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00387/00387-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00387/00387-sbml-l3v1.xml
new file mode 100644
index 0000000..b7bd4fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00387/00387-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00387" id="case00387" name="case00387" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00387/00387-settings.txt b/models/sbml-test-suite/cases/semantic/00387/00387-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00387/00387-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00388/00388-results.csv b/models/sbml-test-suite/cases/semantic/00388/00388-results.csv
new file mode 100644
index 0000000..525fa3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00388/00388-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9424487530290474,1.87202786394052,1.057551246970952
+0.1,0.8935253567664223,1.760647814559027,1.106474643233578
+0.15,0.8516673584578466,1.662832599575355,1.148332641542154
+0.2,0.8156652289448177,1.576243606922262,1.184334771055183
+0.25,0.7845679867904453,1.499045897650766,1.215432013209555
+0.3,0.7576175923644991,1.429779791871586,1.242382407635501
+0.35,0.7417868291933019,0.9727603678089576,1.258213170806698
+0.4,0.7312348474477117,0.9358611979539384,1.268765152552288
+0.45,0.7221240928519471,0.9017217678474913,1.277875907148053
+0.5,0.714296165199064,0.8700422779231045,1.285703834800936
+0.55,0.7076141793730348,0.8405641172955199,1.292385820626965
+0.6,0.7019592422031943,0.8130630637544654,1.298040757796806
+0.65,0.6972276061241483,0.7873437971927379,1.302772393875852
+0.7,0.6933283382718953,0.7632354127169562,1.306671661728104
+0.75,0.6901814193920721,0.740587765735389,1.309818580607928
+0.8,0.6877161639598798,0.7192684387493691,1.31228383604012
+0.85,0.6858699098463757,0.6991602289399335,1.314130090153624
+0.9,0.6845869240398085,0.6801590527607475,1.315413075960191
+0.95,0.6838174818402126,0.6621721850572268,1.316182518159787
+1.,0.6835170876034929,0.6451167708867393,1.316482912396507
+1.05,0.6836458234562047,0.6289185831060459,1.316354176543795
+1.1,0.6841677720894843,0.6135109232495316,1.315832227910515
+1.15,0.6850505476574045,0.5988337288997295,1.314949452342595
+1.2,0.6862648798920734,0.5848327835913388,1.313735120107926
+1.25,0.6877842491842923,0.5714590246153359,1.312215750815707
+1.3,0.6895845920170697,0.5586679844905012,1.31041540798293
+1.35,0.6916440130605349,0.546419246549733,1.308355986939465
+1.4,0.6939425731645145,0.5346760436955494,1.306057426835485
+1.45,0.6964620658088895,0.523404836809613,1.30353793419111
+1.5,0.6991858459067109,0.5125749918093569,1.300814154093288
+1.55,0.702098670161232,0.5021584790572679,1.297901329838767
+1.6,0.7051865575937135,0.4921296110453384,1.294813442406286
+1.65,0.7084366661697537,0.4824648106370353,1.291563333830246
+1.7,0.7118371833992159,0.4731424058035274,1.288162816600783
+1.75,0.7153772293033967,0.4641424477722769,1.284622770696603
+1.8,0.7190467697551488,0.4554465488071012,1.280953230244851
+1.85,0.722836538669513,0.4470377367374341,1.277163461330486
+1.9,0.726737969307438,0.4389003266460185,1.273262030692561
+1.95,0.7307431313359543,0.4310198034777267,1.269256868664045
+2.,0.7348446759362897,0.4233827197290213,1.26515532406371
+2.05,0.7390357854114659,0.4159766016495276,1.260964214588534
+2.1,0.7433101279881068,0.408789865197138,1.256689872011893
+2.15,0.7476618170090421,0.4018117402377496,1.252338182990957
+2.2,0.752085374452218,0.3950322028379428,1.247914625547782
+2.25,0.7565756956830718,0.388441909983748,1.243424304316928
+2.3,0.7611280221147551,0.3820321488692294,1.238871977885244
+2.35,0.7657379115964317,0.3757947821707579,1.234262088403568
+2.4,0.7704012138400148,0.3697222026244524,1.229598786159985
+2.45,0.7751140476542882,0.3638072909949677,1.224885952345711
+2.5,0.7798727805244279,0.3580433783986561,1.220127219475571
diff --git a/models/sbml-test-suite/cases/semantic/00388/00388-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00388/00388-sbml-l2v4.xml
new file mode 100644
index 0000000..07ad934
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00388/00388-sbml-l2v4.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00388" id="case00388" name="case00388">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00388/00388-settings.txt b/models/sbml-test-suite/cases/semantic/00388/00388-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00388/00388-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00389/00389-results.csv b/models/sbml-test-suite/cases/semantic/00389/00389-results.csv
new file mode 100644
index 0000000..85ba5b7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00389/00389-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,0.7428459925896453,0.9928460082640011,1.257154007410356
+0.35,0.731352895069178,0.9813529107435338,1.268647104930823
+0.4,0.7207087545840865,0.9707087702584423,1.279291245415914
+0.45,0.7108429796126424,0.9608429952869982,1.289157020387358
+0.5,0.7016918758244311,0.9516918914987869,1.29830812417557
+0.55,0.6931978385962684,0.9431978542706243,1.306802161403733
+0.6,0.6853086596678703,0.9353086753422261,1.314691340332131
+0.65,0.6779769268161641,0.9279769424905199,1.322023073183837
+0.7,0.6711594985738558,0.9211595142482116,1.328840501426145
+0.75,0.6648170548924163,0.9148170705667721,1.335182945107585
+0.8,0.658913689335723,0.9089137050100788,1.341086310664278
+0.85,0.6534165713012688,0.9034165869756246,1.346583428698732
+0.9,0.6482956314004384,0.8982956470747942,1.351704368599562
+0.95,0.6435232933369411,0.8935233090112969,1.356476706663059
+1.,0.6390742305745718,0.8890742462489276,1.360925769425429
+1.05,0.6349251626445781,0.8849251783189339,1.365074837355423
+1.1,0.6310546547419775,0.8810546704163333,1.368945345258023
+1.15,0.6274429535015206,0.8774429691758765,1.37255704649848
+1.2,0.6240718423318861,0.8740718580062419,1.375928157668115
+1.25,0.6209244982693682,0.870924513943724,1.379075501730633
+1.3,0.6179853717557256,0.8679853874300814,1.382014628244275
+1.35,0.615240083308752,0.8652400989831078,1.384759916691249
+1.4,0.6126753207725994,0.8626753364469552,1.387324679227401
+1.45,0.6102787518029309,0.8602787674772867,1.38972124819707
+1.5,0.6080389436782495,0.8580389593526053,1.391961056321751
+1.55,0.6059452906662398,0.8559453063405956,1.394054709333761
+1.6,0.6039879480929444,0.8539879637673002,1.396012051907056
+1.65,0.6021577723994895,0.8521577880738453,1.397842227600511
+1.7,0.6004462665582031,0.8504462822325589,1.399553733441798
+1.75,0.5988455302953864,0.8488455459697422,1.401154469704614
+1.8,0.5973482146331587,0.8473482303075146,1.402651785366842
+1.85,0.5959474803193596,0.8459474959937154,1.404052519680641
+1.9,0.5946369597637992,0.844636975438155,1.405363040236201
+1.95,0.5934107221420117,0.8434107378163675,1.406589277857989
+2.,0.5922632413518219,0.8422632570261777,1.407736758648179
+2.05,0.5911893663348284,0.8411893820091842,1.408810633665172
+2.1,0.5901842944190188,0.8401843100933746,1.409815705580982
+2.15,0.58924354728359,0.8392435629579458,1.410756452716411
+2.2,0.5883629462461719,0.8383629619205277,1.411637053753829
+2.25,0.5875385912720596,0.8375386069464154,1.412461408727941
+2.3,0.5867668415717237,0.8367668572460795,1.413233158428278
+2.35,0.5860442977449844,0.8360443134193402,1.413955702255017
+2.4,0.5853677860739685,0.8353678017483243,1.414632213926033
+2.45,0.584734343178386,0.8347343588527418,1.415265656821615
+2.5,0.5841411974705695,0.8341412131449254,1.415858802529432
diff --git a/models/sbml-test-suite/cases/semantic/00389/00389-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00389/00389-sbml-l2v4.xml
new file mode 100644
index 0000000..0acddd1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00389/00389-sbml-l2v4.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00389" id="case00389" name="case00389">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.75"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.25"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00389/00389-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00389/00389-sbml-l3v1.xml
new file mode 100644
index 0000000..68107f8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00389/00389-sbml-l3v1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00389" id="case00389" name="case00389" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.75"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.25"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00389/00389-settings.txt b/models/sbml-test-suite/cases/semantic/00389/00389-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00389/00389-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00390/00390-results.csv b/models/sbml-test-suite/cases/semantic/00390/00390-results.csv
new file mode 100644
index 0000000..9f442da
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00390/00390-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.12,0.2,0.1
+0.05,0.09812669061532948,0.1181266906153294,0.203746618769341,0.1018733093846705
+0.1,0.09648510062292781,0.1164851006229278,0.2070297987541444,0.1035148993770722
+0.15,0.0950459751866575,0.1150459751866574,0.209908049626685,0.1049540248133425
+0.2,0.09378388824737581,0.1137838882473758,0.2124322235052484,0.1062161117526242
+0.25,0.09267671009106534,0.1126767100910653,0.2146465798178693,0.1073232899089346
+0.3,0.09170515848538692,0.1117051584853869,0.2165896830292261,0.108294841514613
+0.35,0.09085241097417097,0.1108524109741709,0.218295178051658,0.109147589025829
+0.4,0.09010378008636353,0.1101037800863635,0.2197924398272729,0.1098962199136364
+0.45,0.1958639581433576,0.1058639575621977,0.2282720848756046,0.1141360424378023
+0.5,0.1917080644042606,0.1017080638231007,0.2365838723537985,0.1182919361768992
+0.55,0.1881990908398325,0.0981990902586726,0.2436018194826548,0.1218009097413274
+0.6,0.1852337221841657,0.09523372160300579,0.2495325567939884,0.1247662783969942
+0.65,0.1820557681721483,0.09205576759098843,0.255888464818023,0.1029442288071081
+0.7,0.1792912753895085,0.08929127480834864,0.2614174503833027,0.1057087215897479
+0.75,0.1769351526235497,0.08693515204238984,0.2661296959152203,0.1080648443557067
+0.8,0.1749258865361114,0.08492588595495159,0.2701482280900969,0.110074110443145
+0.85,0.1732115521546758,0.08321155157351604,0.2735768968529681,0.1117884448245805
+0.9,0.1717482259686908,0.08174822538753098,0.2765035492249381,0.1132517710105656
+0.95,0.1704986975978579,0.08049869701669808,0.279002605966604,0.1145012993813985
+1.,0.169431395727055,0.07943139514589522,0.2811372097082097,0.1155686012522013
+1.05,0.168519500707109,0.07851950012594911,0.2829609997481018,0.1164804962721474
+1.1,0.1677402061733072,0.07774020559214732,0.2845195888157054,0.1172597908059492
+1.15,0.167074099473857,0.07707409889269722,0.2858518022146057,0.1179258975053993
+1.2,0.1665046458140025,0.07650464523284271,0.2869907095343146,0.1184953511652538
+1.25,0.1660177514033918,0.07601775082223204,0.287964498355536,0.1189822455758645
+1.3,0.1656013957215132,0.07560139514035341,0.2887972097192932,0.1193986012577431
+1.35,0.1652453222637363,0.07524532168257647,0.2895093566348472,0.1197546747155201
+1.4,0.1649407758173923,0.07494077523623243,0.2901184495275352,0.1200592211618641
+1.45,0.1646802799543693,0.07468027937320946,0.2906394412535811,0.1203197170248871
+1.5,0.1644574483987645,0.0744574478176047,0.2910851043647906,0.1205425485804918
+1.55,0.1642668253879985,0.07426682480683864,0.2914663503863227,0.1207331715912579
+1.6,0.1641037466645248,0.07410374608336504,0.2917925078332701,0.1208962503147315
+1.65,0.1639642273318082,0.07396422675064841,0.2920715464987033,0.1210357696474481
+1.7,0.1638448590466555,0.07384485846549578,0.2923102830690086,0.1211551379326008
+1.75,0.1637427286518541,0.07374272807069434,0.2925145438586115,0.1212572683274022
+1.8,0.1636553444902027,0.07365534390904297,0.2926893121819143,0.1213446524890536
+1.85,0.1635805756770733,0.07358057509591352,0.2928388498081732,0.121419421302183
+1.9,0.1635165999937816,0.07351659941262191,0.2929668011747564,0.1214833969854746
+1.95,0.1634618582542915,0.07346185767313175,0.2930762846537367,0.1215381387249648
+2.,0.1634150173176468,0.07341501673648705,0.293169966527026,0.1215849796616095
+2.05,0.1633749361552467,0.07337493557408693,0.2932501288518263,0.1216250608240096
+2.1,0.163340639075584,0.07334063849442425,0.2933187230111516,0.1216593579036723
+2.15,0.163311291026073,0.07331129044491326,0.2933774191101737,0.1216887059531833
+2.2,0.1632861777252373,0.07328617714407753,0.2934276457118452,0.121713819254019
+2.25,0.1632646879434387,0.07326468736227898,0.2934706252754423,0.1217353090358176
+2.3,0.1632462988594725,0.07324629827831281,0.2935074034433746,0.1217536981197837
+2.35,0.1632305628730697,0.07323056229191002,0.2935388754161802,0.1217694341061865
+2.4,0.1632170972599567,0.07321709667879707,0.2935658066424062,0.1217828997192995
+2.45,0.1632055743744458,0.07320557379328609,0.2935888524134281,0.1217944226048104
+2.5,0.1631957139012584,0.07319571332009872,0.2936085733598029,0.1218042830779978
diff --git a/models/sbml-test-suite/cases/semantic/00390/00390-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00390/00390-sbml-l2v4.xml
new file mode 100644
index 0000000..62fa35e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00390/00390-sbml-l2v4.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00390" id="case00390" name="case00390">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="2"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00390/00390-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00390/00390-sbml-l3v1.xml
new file mode 100644
index 0000000..d44d6b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00390/00390-sbml-l3v1.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00390" id="case00390" name="case00390" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00390/00390-settings.txt b/models/sbml-test-suite/cases/semantic/00390/00390-settings.txt
new file mode 100644
index 0000000..76c1ed9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00390/00390-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00391/00391-results.csv b/models/sbml-test-suite/cases/semantic/00391/00391-results.csv
new file mode 100644
index 0000000..05411e3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00391/00391-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00012,0.0002,0.0001
+0.05,0.00009812669061532844,0.0001181266906153284,0.0002037466187693431,0.0001018733093846715
+0.1,0.00009648510062292909,0.000116485100622929,0.0002070297987541418,0.0001035148993770709
+0.15,0.00009504597518667602,0.000115045975186676,0.0002099080496266479,0.0001049540248133239
+0.2,0.00009378388824737793,0.0001137838882473779,0.0002124322235052441,0.000106216111752622
+0.25,0.00009267671009681956,0.0001126767100968195,0.0002146465798063608,0.0001073232899031804
+0.3,0.00009170515848561759,0.0001117051584856175,0.0002165896830287648,0.0001082948415143824
+0.35,0.00009085241097326033,0.0001108524109732603,0.0002182951780534793,0.0001091475890267396
+0.4,0.00009010378008669134,0.0001101037800866913,0.0002197924398266173,0.0001098962199133086
+0.45,0.0001958639578742163,0.0001058639573319347,0.0002282720853361304,0.0001141360426680652
+0.5,0.0001917080641717751,0.0001017080636294935,0.0002365838727410129,0.0001182919363705064
+0.55,0.0001881990906387454,0.00009819909009646392,0.0002436018198070721,0.000121800909903536
+0.6,0.0001852337220150334,0.00009523372147275191,0.0002495325570544961,0.000124766278527248
+0.65,0.0001820557676908329,0.00009205576714855133,0.0002558884657028972,0.0001029442306036814
+0.7,0.0001792912750147859,0.00008929127447250425,0.0002614174510549913,0.0001057087232797284
+0.75,0.0001769351523412899,0.00008693515179900828,0.0002661296964019832,0.0001080648459532244
+0.8,0.0001749258863297232,0.00008492588578744159,0.0002701482284251167,0.0001100741119647911
+0.85,0.0001732115520193307,0.00008321155147704916,0.0002735768970459015,0.0001117884462751835
+0.9,0.000171748225890832,0.00008174822534855045,0.000276503549302899,0.0001132517724036822
+0.95,0.0001704986975699615,0.00008049869702767994,0.0002790026059446399,0.0001145013007245528
+1.,0.0001694313957446524,0.00007943139520237086,0.0002811372095952581,0.0001155686025498618
+1.05,0.0001685195007603042,0.0000785195002180226,0.0002829609995639547,0.0001164804975342101
+1.1,0.0001677402062587335,0.00007774020571645195,0.000284519588567096,0.0001172597920357807
+1.15,0.000167074099587207,0.00007707409904492543,0.0002858518019101491,0.0001179258987073073
+1.2,0.0001665046459509826,0.0000765046454087011,0.0002869907091825977,0.0001184953523435316
+1.25,0.0001660177515612787,0.00007601775101899715,0.0002879644979620057,0.0001189822467332355
+1.3,0.0001656013958974509,0.00007560139535516936,0.0002887972092896612,0.0001193986023970633
+1.35,0.0001652453224551583,0.0000752453219128767,0.0002895093561742464,0.000119754675839356
+1.4,0.000164940776022001,0.00007494077547971939,0.0002901184490405611,0.0001200592222725133
+1.45,0.0001646802801682464,0.00007468027962596487,0.0002906394407480701,0.0001203197181262678
+1.5,0.0001644574486244433,0.00007445744808216178,0.0002910851038356763,0.0001205425496700709
+1.55,0.0001642668256215368,0.00007426682507925526,0.0002914663498414893,0.0001207331726729774
+1.6,0.0001641037469051803,0.00007410374636289868,0.0002917925072742025,0.000120896251389334
+1.65,0.000163964227579937,0.00007396422703765543,0.000292071545924689,0.0001210357707145773
+1.7,0.0001638448592986754,0.0000738448587563938,0.0002923102824872123,0.0001211551389958389
+1.75,0.0001637427289100738,0.00007374272836779221,0.0002925145432644155,0.0001212572693844405
+1.8,0.000163655344750986,0.00007365534420870447,0.000292689311582591,0.0001213446535435282
+1.85,0.0001635805759425247,0.00007358057540024314,0.0002928388491995136,0.0001214194223519896
+1.9,0.0001635166002615306,0.00007351659971924905,0.0002929668005615018,0.0001214833980329836
+1.95,0.0001634618585249714,0.00007346185798268982,0.0002930762840346202,0.0001215381397695429
+2.,0.0001634150175909007,0.00007341501704861909,0.0002931699659027617,0.0001215849807036136
+2.05,0.0001633749364298305,0.00007337493588754894,0.000293250128224902,0.0001216250618646838
+2.1,0.0001633406393526127,0.00007334063881033114,0.0002933187223793375,0.0001216593589419016
+2.15,0.000163311291303689,0.0000733112907614074,0.000293377418477185,0.0001216887069908253
+2.2,0.0001632861780050142,0.00007328617746273258,0.0002934276450745346,0.0001217138202895001
+2.25,0.0001632646882236222,0.0000732646876813406,0.0002934706246373186,0.0001217353100708921
+2.3,0.0001632462991406507,0.0000732462985983691,0.0002935074028032617,0.0001217536991538636
+2.35,0.0001632305631553908,0.0000732305626131092,0.0002935388747737815,0.0001217694351391235
+2.4,0.0001632170975424065,0.00007321709700012489,0.0002935658059997501,0.0001217829007521078
+2.45,0.0001632055746579937,0.00007320557411571215,0.0002935888517685756,0.0001217944236365205
+2.5,0.0001631957141851558,0.00007319571364287423,0.0002936085727142514,0.0001218042841093585
diff --git a/models/sbml-test-suite/cases/semantic/00391/00391-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00391/00391-sbml-l2v4.xml
new file mode 100644
index 0000000..ddc05c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00391/00391-sbml-l2v4.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00391" id="case00391" name="case00391">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 4000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00391/00391-settings.txt b/models/sbml-test-suite/cases/semantic/00391/00391-settings.txt
new file mode 100644
index 0000000..a8bef47
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00391/00391-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00392/00392-results.csv b/models/sbml-test-suite/cases/semantic/00392/00392-results.csv
new file mode 100644
index 0000000..3d2bc40
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00392/00392-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.001199999999999999,0.002,0.001
+0.05,0.0009811504470259415,0.001181150447025941,0.002018849552974059,0.001018849552974058
+0.1,0.0009644169242279544,0.001164416924227954,0.002035583075772045,0.001035583075772045
+0.15,0.0009495494231516365,0.001149549423151636,0.002050450576848363,0.001050450576848363
+0.2,0.0009363300101487497,0.001136330010148749,0.002063669989851249,0.00106366998985125
+0.25,0.0009245681996168226,0.001124568199616822,0.002075431800383176,0.001075431800383177
+0.3,0.0009140971040805593,0.001114097104080559,0.002085902895919439,0.00108590289591944
+0.35,0.0009047701895371841,0.001104770189537184,0.002095229810462815,0.001095229810462815
+0.4,0.001977185022649644,0.001077185007832226,0.00212281499216777,0.001122814992167773
+0.45,0.001930784101488137,0.00103078408667072,0.002169215913329277,0.001169215913329279
+0.5,0.001890959878205683,0.0009909598633882665,0.00220904013661173,0.001209040136611733
+0.55,0.001856711781404617,0.0009567117665872002,0.002243288233412795,0.001243288233412799
+0.6,0.00182196219507494,0.0009219621802575222,0.002278037819742473,0.001028037790813373
+0.65,0.001790554740699614,0.0008905547258821966,0.002309445274117798,0.001059445245188699
+0.7,0.001763323693559315,0.000863323678741898,0.002336676321258097,0.001086676292328997
+0.75,0.001739681409472619,0.0008396813946552018,0.002360318605344794,0.001110318576415693
+0.8,0.001719130569888307,0.0008191305550708891,0.002380869444929106,0.001130869416000006
+0.85,0.001701248508739062,0.0008012484939216443,0.00239875150607835,0.001148751477149251
+0.9,0.001685674685358051,0.0007856746705406331,0.002414325329459363,0.001164325300530262
+0.95,0.001672100551209104,0.0007721005363916863,0.00242789946360831,0.001177899434679209
+1.,0.001660261283288593,0.0007602612684711754,0.00243973873152882,0.00118973870259972
+1.05,0.001649929023614985,0.000749929008797567,0.002450070991202429,0.001200070962273328
+1.1,0.001640907272600459,0.0007409072577830415,0.002459092742216955,0.001209092713287854
+1.15,0.001633026240586239,0.0007330262257688211,0.002466973774231175,0.001216973745302074
+1.2,0.001626138972145998,0.0007261389573285804,0.002473861042671416,0.001223861013742315
+1.25,0.00162011808304024,0.0007201180682228229,0.002479881931777173,0.001229881902848073
+1.3,0.001614852997629875,0.0007148529828124577,0.002485147017187539,0.001235146988258438
+1.35,0.001610247620784039,0.0007102476059666217,0.002489752394033376,0.001239752365104274
+1.4,0.001606218360203752,0.0007062183453863345,0.002493781654613663,0.001243781625684561
+1.45,0.001602692435955109,0.0007026924211376914,0.002497307578862306,0.001247307549933204
+1.5,0.001599606425564043,0.000699606410746626,0.002500393589253372,0.00125039356032427
+1.55,0.001596905025317318,0.0006969050104999011,0.002503094989500097,0.001253094960570995
+1.6,0.001594539978568026,0.0006945399637506091,0.002505460036249388,0.001255460007320287
+1.65,0.001592469163021722,0.0006924691482043046,0.002507530851795693,0.001257530822866591
+1.7,0.0015906557821905,0.0006906557673730828,0.002509344232626914,0.001259344203697813
+1.75,0.001589067692061278,0.0006890676772438605,0.002510932322756136,0.001260932293827035
+1.8,0.001587676787700841,0.0006876767728834236,0.002512323227116573,0.001262323198187472
+1.85,0.001586458506251674,0.0006864584914342564,0.00251354150856574,0.001263541479636639
+1.9,0.001585391354858653,0.000685391340041236,0.002514608659958761,0.00126460863102966
+1.95,0.001584456534576371,0.0006844565197589538,0.002515543480241043,0.001265543451311942
+2.,0.001583637601085227,0.00068363758626781,0.002516362413732187,0.001266362384803086
+2.05,0.001582920156342166,0.0006829201415247485,0.002517079858475249,0.001267079829546147
+2.1,0.00158229159977077,0.0006822915849533533,0.002517708415046644,0.001267708386117542
+2.15,0.001581740903605169,0.0006817408887877516,0.002518259111212245,0.001268259082283144
+2.2,0.001581258408279502,0.0006812583934620847,0.002518741606537912,0.001268741577608811
+2.25,0.001580835656649248,0.0006808356418318312,0.002519164358168166,0.001269164329239065
+2.3,0.001580465244939838,0.0006804652301224212,0.002519534769877576,0.001269534740948474
+2.35,0.001580140686147678,0.0006801406713302607,0.002519859328669737,0.001269859299740635
+2.4,0.001579856298951095,0.0006798562841336773,0.00252014371586632,0.001270143686937218
+2.45,0.00157960710881866,0.0006796070940012428,0.002520392905998755,0.001270392877069653
+2.5,0.001579388756423211,0.0006793887416057939,0.002520611258394203,0.001270611229465102
diff --git a/models/sbml-test-suite/cases/semantic/00392/00392-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00392/00392-sbml-l2v4.xml
new file mode 100644
index 0000000..75d76c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00392/00392-sbml-l2v4.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00392" id="case00392" name="case00392">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="750"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="250"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 4000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 1000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00392/00392-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00392/00392-sbml-l3v1.xml
new file mode 100644
index 0000000..24f6d9c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00392/00392-sbml-l3v1.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00392" id="case00392" name="case00392" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="750"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="250"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 4000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 1000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00392/00392-settings.txt b/models/sbml-test-suite/cases/semantic/00392/00392-settings.txt
new file mode 100644
index 0000000..ca38ee7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00392/00392-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00393/00393-results.csv b/models/sbml-test-suite/cases/semantic/00393/00393-results.csv
new file mode 100644
index 0000000..5c7b7eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00393/00393-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.9758257295351443,1.946590345225209,1.024174270464856
+0.04,0.9532111927805436,1.896183241569566,1.046788807219456
+0.06,0.9320298816714958,1.848533149416596,1.067970118328504
+0.08,0.9121685166051827,1.803420387308996,1.087831483394817
+0.1,0.8935253567662128,1.76064781455862,1.106474643233788
+0.12,0.8760087692101794,1.720038023265502,1.123991230789821
+0.14,0.8595360029711024,1.681430933927476,1.140463997028898
+0.16,0.8440321329406899,1.64468172515815,1.15596786705931
+0.18,0.8294291603531568,1.609659071197919,1.170570839646843
+0.2,0.815665228948064,1.576243606928575,1.184334771051936
+0.22,0.8026839442023833,1.544326595436473,1.197316055797617
+0.24,0.7904337894960989,1.513808785781832,1.209566210503901
+0.26,0.7788675969682381,1.484599378546997,1.221132403031762
+0.28,0.7679421134984644,1.45661517744808,1.232057886501535
+0.3,0.7576175923524792,1.429779791848289,1.24238240764752
+0.32,0.9955456453372042,1.739686489768749,1.25445437646254
+0.34,0.9764694075067985,1.695213533129465,1.273530614292946
+0.36,0.9585898568854723,1.653041600660702,1.291410164914273
+0.38,0.9418175299849632,1.612997521342305,1.308182491814782
+0.4,0.9260715837545636,1.574924939709211,1.323928438045181
+0.42,0.9112787806559781,1.538682326503874,1.338721241143767
+0.44,0.8973726131546272,1.504141263491592,1.352627408645117
+0.46,0.8842925475647495,1.471184962853005,1.365707474234995
+0.48,0.8719833719093244,1.439706990842671,1.378016649890421
+0.5,0.8603946143792606,1.409610130376034,1.389605407420484
+0.52,0.8494800511314013,1.380805418683335,1.400519970668343
+0.54,0.8391972702909742,1.353211295320452,1.41080275150877
+0.56,0.829507280761968,1.326752838245121,1.420492741037777
+0.58,0.8203741785716303,1.301361112462607,1.429625843228114
+0.6,0.8117648438966453,1.276972578965544,1.438235177903099
+0.62,0.8036486836892858,1.253528592752829,1.446351338110459
+0.64,0.7959973824993714,1.230974917369425,1.454002639300373
+0.66,0.7887847064701006,1.209261342930305,1.461215315329644
+0.68,0.7819863128798952,1.188341315336916,1.468013708919849
+0.7,0.7755795752380004,1.168171596043991,1.474420446561744
+0.72,0.7695434472338662,1.148711997263096,1.480456574565879
+0.74,0.763858317699857,1.129925100165621,1.486141704099888
+0.76,0.7585058947245229,1.111776029665397,1.491494127075222
+0.78,0.7534690971486064,1.094232243706437,1.496530924651138
+0.8,0.9949134416094755,1.737770001399362,1.505086584089389
+0.82,0.9771057775784631,1.694584227083098,1.522894248120401
+0.84,0.960439195983172,1.653594468968874,1.539560829715692
+0.86,0.9448293714983581,1.614637567452966,1.555170654200506
+0.88,0.9301999936385845,1.577565991440851,1.56980003206028
+0.9,0.9164818366814887,1.542246015848934,1.583518189017376
+0.92,0.9036119535298402,1.508556142813849,1.596388072169024
+0.94,0.891532981695657,1.476385743140163,1.608467044003207
+0.96,0.8801925394719689,1.445633874889347,1.619807486226896
+0.98,0.8695426874448692,1.41620823050953,1.630457338253996
+1.,0.8595394801300223,1.388024260365772,1.640460545568842
diff --git a/models/sbml-test-suite/cases/semantic/00393/00393-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00393/00393-sbml-l2v4.xml
new file mode 100644
index 0000000..b22e047
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00393/00393-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00393" id="case00393" name="case00393">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.75 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00393/00393-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00393/00393-sbml-l3v1.xml
new file mode 100644
index 0000000..c9257c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00393/00393-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00393" id="case00393" name="case00393" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.75 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00393/00393-settings.txt b/models/sbml-test-suite/cases/semantic/00393/00393-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00393/00393-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00394/00394-results.csv b/models/sbml-test-suite/cases/semantic/00394/00394-results.csv
new file mode 100644
index 0000000..5c7b7eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00394/00394-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.9758257295351443,1.946590345225209,1.024174270464856
+0.04,0.9532111927805436,1.896183241569566,1.046788807219456
+0.06,0.9320298816714958,1.848533149416596,1.067970118328504
+0.08,0.9121685166051827,1.803420387308996,1.087831483394817
+0.1,0.8935253567662128,1.76064781455862,1.106474643233788
+0.12,0.8760087692101794,1.720038023265502,1.123991230789821
+0.14,0.8595360029711024,1.681430933927476,1.140463997028898
+0.16,0.8440321329406899,1.64468172515815,1.15596786705931
+0.18,0.8294291603531568,1.609659071197919,1.170570839646843
+0.2,0.815665228948064,1.576243606928575,1.184334771051936
+0.22,0.8026839442023833,1.544326595436473,1.197316055797617
+0.24,0.7904337894960989,1.513808785781832,1.209566210503901
+0.26,0.7788675969682381,1.484599378546997,1.221132403031762
+0.28,0.7679421134984644,1.45661517744808,1.232057886501535
+0.3,0.7576175923524792,1.429779791848289,1.24238240764752
+0.32,0.9955456453372042,1.739686489768749,1.25445437646254
+0.34,0.9764694075067985,1.695213533129465,1.273530614292946
+0.36,0.9585898568854723,1.653041600660702,1.291410164914273
+0.38,0.9418175299849632,1.612997521342305,1.308182491814782
+0.4,0.9260715837545636,1.574924939709211,1.323928438045181
+0.42,0.9112787806559781,1.538682326503874,1.338721241143767
+0.44,0.8973726131546272,1.504141263491592,1.352627408645117
+0.46,0.8842925475647495,1.471184962853005,1.365707474234995
+0.48,0.8719833719093244,1.439706990842671,1.378016649890421
+0.5,0.8603946143792606,1.409610130376034,1.389605407420484
+0.52,0.8494800511314013,1.380805418683335,1.400519970668343
+0.54,0.8391972702909742,1.353211295320452,1.41080275150877
+0.56,0.829507280761968,1.326752838245121,1.420492741037777
+0.58,0.8203741785716303,1.301361112462607,1.429625843228114
+0.6,0.8117648438966453,1.276972578965544,1.438235177903099
+0.62,0.8036486836892858,1.253528592752829,1.446351338110459
+0.64,0.7959973824993714,1.230974917369425,1.454002639300373
+0.66,0.7887847064701006,1.209261342930305,1.461215315329644
+0.68,0.7819863128798952,1.188341315336916,1.468013708919849
+0.7,0.7755795752380004,1.168171596043991,1.474420446561744
+0.72,0.7695434472338662,1.148711997263096,1.480456574565879
+0.74,0.763858317699857,1.129925100165621,1.486141704099888
+0.76,0.7585058947245229,1.111776029665397,1.491494127075222
+0.78,0.7534690971486064,1.094232243706437,1.496530924651138
+0.8,0.9949134416094755,1.737770001399362,1.505086584089389
+0.82,0.9771057775784631,1.694584227083098,1.522894248120401
+0.84,0.960439195983172,1.653594468968874,1.539560829715692
+0.86,0.9448293714983581,1.614637567452966,1.555170654200506
+0.88,0.9301999936385845,1.577565991440851,1.56980003206028
+0.9,0.9164818366814887,1.542246015848934,1.583518189017376
+0.92,0.9036119535298402,1.508556142813849,1.596388072169024
+0.94,0.891532981695657,1.476385743140163,1.608467044003207
+0.96,0.8801925394719689,1.445633874889347,1.619807486226896
+0.98,0.8695426874448692,1.41620823050953,1.630457338253996
+1.,0.8595394801300223,1.388024260365772,1.640460545568842
diff --git a/models/sbml-test-suite/cases/semantic/00394/00394-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00394/00394-sbml-l2v4.xml
new file mode 100644
index 0000000..e499c36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00394/00394-sbml-l2v4.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00394" id="case00394" name="case00394">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.75 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00394/00394-settings.txt b/models/sbml-test-suite/cases/semantic/00394/00394-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00394/00394-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00395/00395-results.csv b/models/sbml-test-suite/cases/semantic/00395/00395-results.csv
new file mode 100644
index 0000000..a435594
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00395/00395-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.9756117388416533,1.975611738841653,1.024388261158346
+0.04,0.9523960637195532,1.952396063719553,1.047603936280447
+0.06,0.9302811918701802,1.93028119187018,1.069718808129819
+0.08,0.9092009390875286,1.909200939087528,1.090799060912471
+0.1,0.8890941842701698,1.88909418427017,1.110905815729829
+0.12,0.8699043934601818,1.869904393460182,1.130095606539817
+0.14,0.8515791972753467,1.851579197275347,1.148420802724652
+0.16,0.8340700131973071,1.834070013197307,1.165929986802692
+0.18,0.8173317123195493,1.817331712319549,1.18266828768045
+0.2,0.8013223155395196,1.801322315539519,1.19867768446048
+0.22,0.7860027174658059,1.786002717465806,1.213997282534193
+0.24,0.7713364606691071,1.771336460669107,1.228663539330892
+0.26,0.7572894970001821,1.757289497000182,1.242710502999817
+0.28,0.9925386188184172,1.492538618818417,1.257461407900253
+0.3,0.9769357872560113,1.476935787256011,1.273064239462658
+0.32,0.961971879617013,1.461971879617013,1.288028147101657
+0.34,0.9476142863202009,1.447614286320201,1.302385740398469
+0.36,0.9338325033680973,1.433832503368097,1.316167523350572
+0.38,0.9205979651691578,1.420597965169158,1.329402061549512
+0.4,0.9078838930619659,1.407883893061966,1.342116133656704
+0.42,0.8956651588475464,1.395665158847547,1.354334867871123
+0.44,0.8839181564405015,1.383918156440502,1.366081870278168
+0.46,0.8726206920201096,1.372620692020109,1.37737933469856
+0.48,0.861751877883796,1.361751877883796,1.388248148834874
+0.5,0.8512920410017634,1.351292041001763,1.398707985716906
+0.52,0.841222630427607,1.341222630427607,1.408777396291063
+0.54,0.8315261432071959,1.331526143207196,1.418473883511473
+0.56,0.82218605077992,1.32218605077992,1.427813975938749
+0.58,0.8131867321461578,1.313186732146158,1.436813294572511
+0.6,0.8045134123884586,1.304513412388459,1.445486614330211
+0.62,0.7961521064219812,1.296152106421981,1.453847920296688
+0.64,0.7880895653702602,1.28808956537026,1.461910461348409
+0.66,0.780313236348033,1.280313236348033,1.469686790370636
+0.68,0.7728112070420051,1.272811207042005,1.477188819676664
+0.7,0.7655721720707449,1.265572172070745,1.484427854647925
+0.72,0.7585853937713612,1.258585393771361,1.491414632947308
+0.74,0.751840667580477,1.251840667580477,1.498159359138193
+0.76,0.9893502852663888,1.489350285266389,1.51064974705583
+0.78,0.9751027570143141,1.475102757014314,1.524897275307905
+0.8,0.961437898809679,1.461437898809679,1.53856213351254
+0.82,0.9483265059010029,1.448326505901003,1.551673526421216
+0.84,0.9357412104877128,1.435741210487713,1.564258821834506
+0.86,0.9236563391003781,1.423656339100378,1.57634369322184
+0.88,0.9120477839178408,1.41204778391784,1.587952248404378
+0.9,0.9008928871503977,1.400892887150397,1.599107145171821
+0.92,0.8901703302138517,1.390170330213851,1.609829702108367
+0.94,0.879860039426662,1.379860039426662,1.620139992895557
+0.96,0.8699430953546039,1.369943095354604,1.630056936967615
+0.98,0.8604016551895425,1.360401655189542,1.639598377132676
+1.,0.8512188691020981,1.351218869102098,1.648781163220121
diff --git a/models/sbml-test-suite/cases/semantic/00395/00395-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00395/00395-sbml-l2v4.xml
new file mode 100644
index 0000000..6cadc82
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00395/00395-sbml-l2v4.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00395" id="case00395" name="case00395">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.75"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.25"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00395/00395-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00395/00395-sbml-l3v1.xml
new file mode 100644
index 0000000..ca653bf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00395/00395-sbml-l3v1.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00395" id="case00395" name="case00395" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.75"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.25"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00395/00395-settings.txt b/models/sbml-test-suite/cases/semantic/00395/00395-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00395/00395-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00396/00396-results.csv b/models/sbml-test-suite/cases/semantic/00396/00396-results.csv
new file mode 100644
index 0000000..2ec95dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00396/00396-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.9756117388416533,1.975611738841653,1.024388261158346
+0.04,0.9523960637195532,1.952396063719553,1.047603936280447
+0.06,0.9302811918701802,1.93028119187018,1.069718808129819
+0.08,0.9092009390875286,1.909200939087528,1.090799060912471
+0.1,0.8890941842701698,1.88909418427017,1.110905815729829
+0.12,0.8699043934601818,1.869904393460182,1.130095606539817
+0.14,0.8515791972753467,1.851579197275347,1.148420802724652
+0.16,0.8340700131973071,1.834070013197307,1.165929986802692
+0.18,0.8173317123195493,1.817331712319549,1.18266828768045
+0.2,0.8013223155395196,1.801322315539519,1.19867768446048
+0.22,0.7860027174658059,1.786002717465806,1.213997282534193
+0.24,0.7713364606691071,1.771336460669107,1.228663539330892
+0.26,0.7572894970001821,1.757289497000182,1.242710502999817
+0.28,0.7476982126417363,0.9976982393604071,1.252301787358264
+0.3,0.7428459857883194,0.9928460125069902,1.257154014211681
+0.32,0.7381420403179332,0.9881420670366041,1.261857959682066
+0.34,0.7335812011122213,0.9835812278308921,1.266418798887779
+0.36,0.7291585092543126,0.9791585359729835,1.270841490745687
+0.38,0.7248692112264003,0.9748692379450711,1.2751307887736
+0.4,0.7207087481887639,0.9707087749074347,1.279291251811236
+0.42,0.7166727466535715,0.9666727733722423,1.283327253346429
+0.44,0.7127570089897946,0.9627570357084654,1.287242991010205
+0.46,0.7089575054417689,0.9589575321604397,1.291042494558231
+0.48,0.7052703653107758,0.9552703920294466,1.294729634689224
+0.5,0.7016918697754183,0.9516918964940891,1.298308130224582
+0.52,0.6982184446026521,0.9482184713213229,1.301781555397348
+0.54,0.6948466533688362,0.944846680087507,1.305153346631163
+0.56,0.6915731910602463,0.9415732177789172,1.308426808939753
+0.58,0.6883948780290895,0.9383949047477603,1.31160512197091
+0.6,0.6853086539161732,0.935308680634844,1.314691346083827
+0.62,0.6823115738104574,0.9323116005291283,1.317688426189543
+0.64,0.6794007995868334,0.9294008263055042,1.320599200413166
+0.66,0.6765736020617942,0.9265736287804651,1.323426397938205
+0.68,0.6738273453581556,0.9238273720768265,1.326172654641844
+0.7,0.6711594930777575,0.9211595197964284,1.328840506922242
+0.72,0.668567601525156,0.9185676282438268,1.331432398474844
+0.74,0.6660493090013127,0.9160493357199835,1.333950690998687
+0.76,0.6636023420361175,0.9136023687547884,1.336397657963882
+0.78,0.6612245073245387,0.9112245340432095,1.338775492675461
+0.8,0.6589136840588817,0.9089137107775525,1.341086315941118
+0.82,0.6566678297570397,0.9066678564757105,1.34333217024296
+0.84,0.6544849714924575,0.9044849982111283,1.345515028507543
+0.86,0.6523632008097205,0.9023632275283913,1.34763679919028
+0.88,0.6503006781595775,0.9003007048782484,1.349699321840423
+0.9,0.6482956263154073,0.8982956530340782,1.351704373684593
+0.92,0.6463463243141146,0.8963463510327854,1.353653675685885
+0.94,0.6444511139254361,0.894451140644107,1.355548886074563
+0.96,0.6426083869225152,0.892608413641186,1.357391613077485
+0.98,0.6408165918396622,0.890816618558333,1.359183408160338
+1.,0.6390742272124143,0.8890742539310851,1.360925772787585
diff --git a/models/sbml-test-suite/cases/semantic/00396/00396-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00396/00396-sbml-l2v4.xml
new file mode 100644
index 0000000..f0fffaa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00396/00396-sbml-l2v4.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00396" id="case00396" name="case00396">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00396/00396-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00396/00396-sbml-l3v1.xml
new file mode 100644
index 0000000..568e66a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00396/00396-sbml-l3v1.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00396" id="case00396" name="case00396" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00396/00396-settings.txt b/models/sbml-test-suite/cases/semantic/00396/00396-settings.txt
new file mode 100644
index 0000000..23bda0b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00396/00396-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00397/00397-results.csv b/models/sbml-test-suite/cases/semantic/00397/00397-results.csv
new file mode 100644
index 0000000..f9ca40b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00397/00397-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,0.7428459925891127,0.9928460082634685,1.257154007410889
+0.35,0.7313528950686865,0.9813529107430423,1.268647104931315
+0.4,0.7207087545835924,0.9707087702579482,1.27929124541641
+0.45,0.7108429796123556,0.9608429952867114,1.289157020387646
+0.5,0.7016918758238757,0.9516918914982315,1.298308124176126
+0.55,0.6931978385961052,0.9431978542704611,1.306802161403896
+0.6,0.6853086596666238,0.9353086753409796,1.314691340333378
+0.65,0.6779769268154118,0.9279769424897677,1.32202307318459
+0.7,0.6711594985732114,0.9211595142475672,1.32884050142679
+0.75,0.6648170548931197,0.9148170705674755,1.335182945106882
+0.8,0.6589136893333744,0.9089137050077302,1.341086310666628
+0.85,0.6534165713021207,0.9034165869764765,1.346583428697881
+0.9,0.6482956313962347,0.8982956470705905,1.351704368603767
+0.95,0.6435232933394073,0.8935233090137632,1.356476706660594
+1.,0.6390742305758718,0.8890742462502276,1.36092576942413
+1.05,0.6349251626425381,0.8849251783168939,1.365074837357464
+1.1,0.6310546547423071,0.8810546704166629,1.368945345257695
+1.15,0.6274429535025783,0.8774429691769342,1.372557046497423
+1.2,0.6240718423312382,0.874071858005594,1.375928157668763
+1.25,0.6209244982689198,0.8709245139432756,1.379075501731082
+1.3,0.6179853717539072,0.867985387428263,1.382014628246094
+1.35,0.6152400833061962,0.8652400989805521,1.384759916693805
+1.4,0.6126753207696897,0.8626753364440455,1.387324679230312
+1.45,0.610278751800061,0.8602787674744168,1.389721248199941
+1.5,0.6080389436757707,0.8580389593501265,1.391961056324231
+1.55,0.6059452906644274,0.8559453063387833,1.394054709335574
+1.6,0.603987948091981,0.8539879637663369,1.396012051908021
+1.65,0.6021577724014542,0.8521577880758101,1.397842227598548
+1.7,0.6004462665599967,0.8504462822343525,1.399553733440005
+1.75,0.9898416607573118,0.8398416754315888,1.410158340242768
+1.8,0.976827255303426,0.826827269977703,1.423172745696654
+1.85,0.9648152417550319,0.8148152564293089,1.435184759245048
+1.9,0.9537184091393533,0.8037184238136303,1.446281591860727
+1.95,0.943458485872395,0.793458500546672,1.456541515127686
+2.,0.9339650427480443,0.7839650574223213,1.466034958252036
+2.05,0.9251745545434958,0.7751745692177728,1.474825446456585
+2.1,0.9170295963533945,0.7670296110276715,1.482970404646686
+2.15,0.9094781468436765,0.7594781615179535,1.490521854156404
+2.2,0.9024729892381395,0.7524730039124165,1.497527011761941
+2.25,0.8959711839855681,0.7459711986598451,1.504028817014513
+2.3,0.88993361358303,0.739933628257307,1.510066387417051
+2.35,0.884324595916337,0.734324610590614,1.515675405083744
+2.4,0.8791115101706747,0.7291115248449517,1.520888490829406
+2.45,0.8742645166236849,0.7242645312979619,1.525735484376396
+2.5,0.8697562648740628,0.7197562795483398,1.530243736126018
diff --git a/models/sbml-test-suite/cases/semantic/00397/00397-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00397/00397-sbml-l2v4.xml
new file mode 100644
index 0000000..11db4dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00397/00397-sbml-l2v4.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00397" id="case00397" name="case00397">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00397/00397-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00397/00397-sbml-l3v1.xml
new file mode 100644
index 0000000..7118e8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00397/00397-sbml-l3v1.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00397" id="case00397" name="case00397" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00397/00397-settings.txt b/models/sbml-test-suite/cases/semantic/00397/00397-settings.txt
new file mode 100644
index 0000000..fb116b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00397/00397-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00398/00398-results.csv b/models/sbml-test-suite/cases/semantic/00398/00398-results.csv
new file mode 100644
index 0000000..b966cd9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00398/00398-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,0.9769357746130268,1.476935774613026,1.27306424106133
+0.35,0.9406532358877074,1.440653235887707,1.30934677978665
+0.4,0.9078838824988081,1.407883882498808,1.342116133175549
+0.45,0.8782145571087487,1.378214557108749,1.371785458565608
+0.5,0.8512920320497492,1.35129203204975,1.398707983624607
+0.55,0.8268125351266615,1.326812535126662,1.423187480547695
+0.6,0.8045134047133377,1.304513404713338,1.445486610961019
+0.65,0.7841663788615219,1.284166378861522,1.465833636812835
+0.7,0.7655721654158855,1.265572165415886,1.484427850258471
+0.75,0.996702196451774,1.496702196451774,1.503297822155853
+0.8,0.9614378795727744,1.461437879572774,1.538562139034853
+0.85,0.9296377460326503,1.429637746032651,1.570362272574977
+0.9,0.9008928711217448,1.400892871121745,1.599107147485882
+0.95,0.8748535242371097,1.37485352423711,1.625146494370517
+1.,0.851218855093672,1.351218855093673,1.648781163513955
+1.05,0.8297286661210362,1.329728666121037,1.670271352486591
+1.1,0.8101568065241388,1.31015680652414,1.689843212083488
+1.15,0.7923058035047682,1.292305803504769,1.707694215102858
+1.2,0.7760025079720182,1.276002507972019,1.723997510635608
+1.25,0.7610944834644319,1.261094483464433,1.738905535143195
+1.3,0.9934042648066647,1.493404264806665,1.756595761187012
+1.35,0.9614352156657994,1.461435215665799,1.788564810327877
+1.4,0.9326065174146404,1.43260651741464,1.817393508579036
+1.45,0.9065533023781111,1.406553302378111,1.843446723615565
+1.5,0.8829622163581833,1.382962216358183,1.867037809635493
+1.55,0.861562676314278,1.361562676314277,1.888437349679399
+1.6,0.8421198587468291,1.342119858746828,1.907880167246848
+1.65,0.8244290219508935,1.324429021950892,1.925571004042784
+1.7,0.8083108862237863,1.308310886223785,1.941689139769891
+1.75,0.7936078494828232,1.293607849482822,1.956392176510854
+1.8,0.7801808507087162,1.280180850708715,1.969819175284961
+1.85,0.7679067729948908,1.26790677299489,1.982093252998786
+1.9,0.7566762708891495,1.256676270889148,1.993323755104528
+1.95,0.9889351940457361,1.488935194045735,2.01106483291566
+2.,0.9603772394373821,1.46037723943738,2.039622787524013
+2.05,0.9346224087470281,1.434622408747026,2.065377618214367
+2.1,0.9113505578810378,1.411350557881035,2.088649469080357
+2.15,0.890285499302647,1.390285499302645,2.109714527658749
+2.2,0.8711877662342509,1.371187766234249,2.128812260727145
+2.25,0.8538487611300295,1.353848761130027,2.146151265831366
+2.3,0.8380860006387865,1.338086000638784,2.161914026322608
+2.35,0.8237392129615901,1.323739212961588,2.176260813999805
+2.4,0.8106671188923192,1.310667118892317,2.189332908069076
+2.45,0.7987447623940254,1.298744762394023,2.20125526456737
+2.5,0.787861277453007,1.287861277453004,2.212138749508388
diff --git a/models/sbml-test-suite/cases/semantic/00398/00398-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00398/00398-sbml-l2v4.xml
new file mode 100644
index 0000000..dd8b96d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00398/00398-sbml-l2v4.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00398" id="case00398" name="case00398">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00398/00398-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00398/00398-sbml-l3v1.xml
new file mode 100644
index 0000000..6c50921
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00398/00398-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00398" id="case00398" name="case00398" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00398/00398-settings.txt b/models/sbml-test-suite/cases/semantic/00398/00398-settings.txt
new file mode 100644
index 0000000..fb116b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00398/00398-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00399/00399-results.csv b/models/sbml-test-suite/cases/semantic/00399/00399-results.csv
new file mode 100644
index 0000000..8777338
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00399/00399-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,1.703357399762978,1.453357415437336,1.296642600237021
+0.35,1.631468934799928,1.381468950474285,1.368531065200072
+0.4,1.568065076238946,1.318065091913304,1.431934923761053
+0.45,1.511876989502429,1.261877005176787,1.48812301049757
+0.5,1.461872552458864,1.211872568133221,1.538127447541136
+0.55,1.417203557995799,1.167203573670157,1.5827964420042
+0.6,1.377166457023913,1.127166472698271,1.622833542976086
+0.65,1.341172770100486,1.091172785774844,1.658827229899513
+0.7,1.308726474154995,1.058726489829353,1.691273525845004
+0.75,1.279406535573783,1.029406551248141,1.720593464426216
+0.8,1.252853268621896,1.002853284296254,1.747146731378103
+0.85,1.22875757910682,0.978757594781178,1.771242420893179
+0.9,1.206852386925266,0.9568524025996239,1.793147613074733
+0.95,1.186905753281457,0.9369057689558151,1.813094246718542
+1.,1.168715324098444,0.9187153397728025,1.831284675901555
+1.05,1.152103791133991,0.9021038068083499,1.847896208866008
+1.1,1.136915168647848,0.8869151843222067,1.863084831352151
+1.15,1.123011720166601,0.87301173584096,1.876988279833398
+1.2,1.110271402258422,0.8602714179327812,1.889728597741577
+1.25,1.098585740517478,0.8485857561918372,1.901414259482521
+1.3,1.087858006554348,0.8378580222287065,1.912141993445651
+1.35,1.078001748171245,0.828001763845604,1.921998251828754
+1.4,1.068939459426538,0.8189394751008967,1.931060540573461
+1.45,1.060601509251635,0.8106015249259938,1.939398490748364
+1.5,1.052925202245033,0.802925217919392,1.947074797754966
+1.55,1.045853951514626,0.7958539671889849,1.954146048485373
+1.6,1.039336615274634,0.7893366309489922,1.960663384725365
+1.65,1.033326859741485,0.7833268754158434,1.966673140258514
+1.7,1.02778264815376,0.7777826638281181,1.972217351846239
+1.75,1.022665794822357,0.7726658104967147,1.977334205177643
+1.8,1.017941539013254,0.7679415546876121,1.982058460986745
+1.85,1.013578209905924,0.7635782255802819,1.986421790094075
+1.9,1.009546915227606,0.7595469309019639,1.990453084772394
+1.95,1.005821261831104,0.7558212775054626,1.994178738168895
+2.,1.002377111210018,0.7523771268843764,1.997622888789981
+2.05,0.9991923695241977,0.7491923851985555,2.000807630475802
+2.1,0.9962467949276339,0.7462468106019917,2.003753205072365
+2.15,0.9935218246054606,0.7435218402798184,2.006478175394538
+2.2,0.9910004212439583,0.7410004369183161,2.008999578756041
+2.25,0.9886669358347767,0.7386669515091345,2.011333064165223
+2.3,0.9865069844314663,0.7365070001058241,2.013493015568534
+2.35,0.9845073359078164,0.7345073515821742,2.015492664092184
+2.4,0.9826558170171163,0.7326558326914741,2.017344182982884
+2.45,0.9809412176377911,0.730941233312149,2.019058782362209
+2.5,0.9793532057254981,0.7293532213998559,2.020646794274502
diff --git a/models/sbml-test-suite/cases/semantic/00399/00399-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00399/00399-sbml-l2v4.xml
new file mode 100644
index 0000000..ae34653
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00399/00399-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00399" id="case00399" name="case00399">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00399/00399-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00399/00399-sbml-l3v1.xml
new file mode 100644
index 0000000..b303a23
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00399/00399-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00399" id="case00399" name="case00399" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00399/00399-settings.txt b/models/sbml-test-suite/cases/semantic/00399/00399-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00399/00399-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00400/00400-results.csv b/models/sbml-test-suite/cases/semantic/00400/00400-results.csv
new file mode 100644
index 0000000..301f93b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00400/00400-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9757231912238192,1.982282964312335,1.041993844463846
+0.1,0.9528488626278731,1.964174790440246,1.08297634693188
+0.15,0.9313130024395962,1.945736767952056,1.122950229608347
+0.2,0.9110539984117483,1.927026200626238,1.161919800962013
+0.25,0.8920125679006211,1.90809660248705,1.199890829612329
+0.3,0.8741316878171235,1.888997887743386,1.23687042443949
+0.35,0.8573565326639353,1.869776542431581,1.272866924904483
+0.4,0.8416344025142544,1.850475806033127,1.307889791452618
+0.45,0.8269146572994111,1.831135837660748,1.34194950503984
+0.5,0.8131486544404223,1.811793872216458,1.375057473343119
+0.55,0.8002896910819247,1.792484365543781,1.407225943374293
+0.6,0.7882929379639479,1.773239146957904,1.438467915078148
+0.65,0.7771153636985624,1.754087578981944,1.468797057319492
+0.7,0.7667157364173141,1.735056610686813,1.498227652895872
+0.75,0.7570544770540793,1.716171023936426,1.526774499009494
+0.8,1.691842945395189,1.504890460789781,1.553266602286244
+0.85,1.648766229856397,1.525843358500152,1.575390420114666
+0.9,1.607548124059262,1.544669271843464,1.597782612568489
+0.95,1.56812314112736,1.561493419603752,1.620383447740103
+1.,1.530427495856388,1.576435237450492,1.643137275164334
+1.05,1.494399092412657,1.589608592264399,1.665992323794159
+1.1,1.459977506140636,1.601122002726901,1.688900499603677
+1.15,1.427103975349103,1.611078817698882,1.711817215423229
+1.2,1.395721367297273,1.619577461958461,1.73470117921548
+1.25,1.365774166143353,1.626711603590236,1.757514238737624
+1.3,1.337208450163121,1.632570344773514,1.780221213534579
+1.35,1.309971870093239,1.637238400228054,1.802789738149921
+1.4,1.284013622577026,1.640796280293023,1.825190105601165
+1.45,1.259284414015251,1.643320489220196,1.847395105235768
+1.5,1.235736483025704,1.644883567649672,1.869379957795838
+1.55,1.213323490155055,1.645554464593648,1.891122053722511
+1.6,1.192000547009069,1.64539854512394,1.912600916338204
+1.65,1.171724205327086,1.644477704041733,1.933798099102396
+1.7,1.152452388702849,1.642850607614625,1.95469701215374
+1.75,1.134144360044419,1.640572837073935,1.975282811352861
+1.8,1.116760714293051,1.637696972398283,1.99554232177988
+1.85,1.10026336854387,1.634272682866614,2.015463957060731
+1.9,1.084615496235458,1.630346933410581,2.035037578825174
+1.95,1.069781495215404,1.625964106860865,2.054254406394945
+2.,1.055726979378633,1.62116607557188,2.073106953520701
+2.05,1.042418739476054,1.615992333511019,2.091588935484142
+2.1,1.029824781314767,1.61047997886144,2.109695248295008
+2.15,1.017914143754994,1.604664105733393,2.127421758982827
+2.2,1.006656995602096,1.598577670764537,2.144765342104582
+2.25,0.9960245938596633,1.59225160506532,2.161723809546232
+2.3,0.985989169850961,1.585715074105281,2.178295764514973
+2.35,0.976524069101504,1.578995255332604,2.194480684037107
+2.4,0.9676034897763878,1.572117844481917,2.21027867421291
+2.45,0.9592026600256996,1.56510677158085,2.225690576864666
+2.5,0.9512977599673282,1.55798437989551,2.240717868608377
diff --git a/models/sbml-test-suite/cases/semantic/00400/00400-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00400/00400-sbml-l2v4.xml
new file mode 100644
index 0000000..cdb0b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00400/00400-sbml-l2v4.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00400" id="case00400" name="case00400">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.55"/>
+      <parameter id="k3" name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00400/00400-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00400/00400-sbml-l3v1.xml
new file mode 100644
index 0000000..48a8c41
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00400/00400-sbml-l3v1.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00400" id="case00400" name="case00400" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.55" constant="true"/>
+      <parameter id="k3" name="k3" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00400/00400-settings.txt b/models/sbml-test-suite/cases/semantic/00400/00400-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00400/00400-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00401/00401-results.csv b/models/sbml-test-suite/cases/semantic/00401/00401-results.csv
new file mode 100644
index 0000000..81600f7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00401/00401-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9757231912238192,1.982282964312335,1.041993844463846
+0.1,0.9528488626278731,1.964174790440246,1.08297634693188
+0.15,0.9313130024395962,1.945736767952056,1.122950229608347
+0.2,0.9110539984117483,1.927026200626238,1.161919800962013
+0.25,0.8920125679006211,1.90809660248705,1.199890829612329
+0.3,0.8741316878171235,1.888997887743386,1.23687042443949
+0.35,0.8573565326639353,1.869776542431581,1.272866924904483
+0.4,0.8416344025142544,1.850475806033127,1.307889791452618
+0.45,0.8269146572994111,1.831135837660748,1.34194950503984
+0.5,0.8131486544404223,1.811793872216458,1.375057473343119
+0.55,0.8002896910819247,1.792484365543781,1.407225943374293
+0.6,0.7882929379639479,1.773239146957904,1.438467915078148
+0.65,0.7771153636985624,1.754087578981944,1.468797057319492
+0.7,0.7667157364173141,1.735056610686813,1.498227652895872
+0.75,0.7570544770540793,1.716171023936426,1.526774499009494
+0.8,1.689667294566688,1.553048924919413,0.7572837805138976
+0.85,1.636974334714696,1.572434828253838,0.7905908370314651
+0.9,1.586629976408652,1.589389723290615,0.8239803003007314
+0.95,1.538548380689591,1.604064821385992,0.8573867979244148
+1.,1.492646095613336,1.616604103047066,0.8907498013395969
+1.05,1.448842025424051,1.627144603961409,0.9240133706145382
+1.1,1.407057405994322,1.635816669421852,0.9571259245838249
+1.15,1.367215754552024,1.642744266999864,0.9900399784481099
+1.2,1.329242854134871,1.648045189789635,1.022711956075492
+1.25,1.293066706071095,1.65183133650614,1.055101957422763
+1.3,1.25861748895318,1.654208960337881,1.087173550708937
+1.35,1.225827521568089,1.655278896520142,1.118893581911767
+1.4,1.194631253501424,1.655136715985695,1.150232030512879
+1.45,1.164965151691466,1.653873118043003,1.181161730265529
+1.5,1.136767736650955,1.65157395510441,1.211658308244633
+1.55,1.109979511125847,1.648320509618696,1.241699979255454
+1.6,1.084542906786435,1.644189715207496,1.271267378006067
+1.65,1.060402242893453,1.639254341198622,1.300343415907923
+1.7,1.037503689637564,1.633583161345237,1.328913149017197
+1.75,1.015795245165069,1.627241089968358,1.35696366486657
+1.8,0.9952266743871143,1.620289392220675,1.384483933392209
+1.85,0.9757494589987194,1.612785861718164,1.411464679283115
+1.9,0.9573167560379005,1.604784974027711,1.437898269934387
+1.95,0.9398833003438887,1.596338139682699,1.463778559973411
+2.,0.9234056982083382,1.587493227713954,1.489101074077706
+2.05,0.9078416446071944,1.578296078445995,1.51386227694681
+2.1,0.8931508671506125,1.5687888315197,1.538060301329687
+2.15,0.8792940641382054,1.559011895953033,1.561694039908761
+2.2,0.8662338539603777,1.549002327823318,1.584763818216304
+2.25,0.8539337760011954,1.538795607865554,1.60727061613325
+2.3,0.8423591789403653,1.528424186376993,1.629216634682641
+2.35,0.8314762896004092,1.5179190730151,1.65060463738449
+2.4,0.8212530178928604,1.507308573113377,1.671438408993762
+2.45,0.8116581292378077,1.496619646031108,1.691722224731084
+2.5,0.8026619584705044,1.485876833564779,1.711461207964716
diff --git a/models/sbml-test-suite/cases/semantic/00401/00401-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00401/00401-sbml-l2v4.xml
new file mode 100644
index 0000000..80ec629
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00401/00401-sbml-l2v4.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00401" id="case00401" name="case00401">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.55"/>
+      <parameter id="k3" name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S3 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S1 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00401/00401-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00401/00401-sbml-l3v1.xml
new file mode 100644
index 0000000..ee36ef9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00401/00401-sbml-l3v1.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00401" id="case00401" name="case00401" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.55" constant="true"/>
+      <parameter id="k3" name="k3" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S3 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S1 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00401/00401-settings.txt b/models/sbml-test-suite/cases/semantic/00401/00401-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00401/00401-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00402/00402-results.csv b/models/sbml-test-suite/cases/semantic/00402/00402-results.csv
new file mode 100644
index 0000000..8777338
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00402/00402-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,1.703357399762978,1.453357415437336,1.296642600237021
+0.35,1.631468934799928,1.381468950474285,1.368531065200072
+0.4,1.568065076238946,1.318065091913304,1.431934923761053
+0.45,1.511876989502429,1.261877005176787,1.48812301049757
+0.5,1.461872552458864,1.211872568133221,1.538127447541136
+0.55,1.417203557995799,1.167203573670157,1.5827964420042
+0.6,1.377166457023913,1.127166472698271,1.622833542976086
+0.65,1.341172770100486,1.091172785774844,1.658827229899513
+0.7,1.308726474154995,1.058726489829353,1.691273525845004
+0.75,1.279406535573783,1.029406551248141,1.720593464426216
+0.8,1.252853268621896,1.002853284296254,1.747146731378103
+0.85,1.22875757910682,0.978757594781178,1.771242420893179
+0.9,1.206852386925266,0.9568524025996239,1.793147613074733
+0.95,1.186905753281457,0.9369057689558151,1.813094246718542
+1.,1.168715324098444,0.9187153397728025,1.831284675901555
+1.05,1.152103791133991,0.9021038068083499,1.847896208866008
+1.1,1.136915168647848,0.8869151843222067,1.863084831352151
+1.15,1.123011720166601,0.87301173584096,1.876988279833398
+1.2,1.110271402258422,0.8602714179327812,1.889728597741577
+1.25,1.098585740517478,0.8485857561918372,1.901414259482521
+1.3,1.087858006554348,0.8378580222287065,1.912141993445651
+1.35,1.078001748171245,0.828001763845604,1.921998251828754
+1.4,1.068939459426538,0.8189394751008967,1.931060540573461
+1.45,1.060601509251635,0.8106015249259938,1.939398490748364
+1.5,1.052925202245033,0.802925217919392,1.947074797754966
+1.55,1.045853951514626,0.7958539671889849,1.954146048485373
+1.6,1.039336615274634,0.7893366309489922,1.960663384725365
+1.65,1.033326859741485,0.7833268754158434,1.966673140258514
+1.7,1.02778264815376,0.7777826638281181,1.972217351846239
+1.75,1.022665794822357,0.7726658104967147,1.977334205177643
+1.8,1.017941539013254,0.7679415546876121,1.982058460986745
+1.85,1.013578209905924,0.7635782255802819,1.986421790094075
+1.9,1.009546915227606,0.7595469309019639,1.990453084772394
+1.95,1.005821261831104,0.7558212775054626,1.994178738168895
+2.,1.002377111210018,0.7523771268843764,1.997622888789981
+2.05,0.9991923695241977,0.7491923851985555,2.000807630475802
+2.1,0.9962467949276339,0.7462468106019917,2.003753205072365
+2.15,0.9935218246054606,0.7435218402798184,2.006478175394538
+2.2,0.9910004212439583,0.7410004369183161,2.008999578756041
+2.25,0.9886669358347767,0.7386669515091345,2.011333064165223
+2.3,0.9865069844314663,0.7365070001058241,2.013493015568534
+2.35,0.9845073359078164,0.7345073515821742,2.015492664092184
+2.4,0.9826558170171163,0.7326558326914741,2.017344182982884
+2.45,0.9809412176377911,0.730941233312149,2.019058782362209
+2.5,0.9793532057254981,0.7293532213998559,2.020646794274502
diff --git a/models/sbml-test-suite/cases/semantic/00402/00402-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00402/00402-sbml-l2v4.xml
new file mode 100644
index 0000000..1479f15
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00402/00402-sbml-l2v4.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00402" id="case00402" name="case00402">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00402/00402-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00402/00402-sbml-l3v1.xml
new file mode 100644
index 0000000..4eec37e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00402/00402-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00402" id="case00402" name="case00402" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00402/00402-settings.txt b/models/sbml-test-suite/cases/semantic/00402/00402-settings.txt
new file mode 100644
index 0000000..fb116b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00402/00402-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00403/00403-results.csv b/models/sbml-test-suite/cases/semantic/00403/00403-results.csv
new file mode 100644
index 0000000..301f93b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00403/00403-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9757231912238192,1.982282964312335,1.041993844463846
+0.1,0.9528488626278731,1.964174790440246,1.08297634693188
+0.15,0.9313130024395962,1.945736767952056,1.122950229608347
+0.2,0.9110539984117483,1.927026200626238,1.161919800962013
+0.25,0.8920125679006211,1.90809660248705,1.199890829612329
+0.3,0.8741316878171235,1.888997887743386,1.23687042443949
+0.35,0.8573565326639353,1.869776542431581,1.272866924904483
+0.4,0.8416344025142544,1.850475806033127,1.307889791452618
+0.45,0.8269146572994111,1.831135837660748,1.34194950503984
+0.5,0.8131486544404223,1.811793872216458,1.375057473343119
+0.55,0.8002896910819247,1.792484365543781,1.407225943374293
+0.6,0.7882929379639479,1.773239146957904,1.438467915078148
+0.65,0.7771153636985624,1.754087578981944,1.468797057319492
+0.7,0.7667157364173141,1.735056610686813,1.498227652895872
+0.75,0.7570544770540793,1.716171023936426,1.526774499009494
+0.8,1.691842945395189,1.504890460789781,1.553266602286244
+0.85,1.648766229856397,1.525843358500152,1.575390420114666
+0.9,1.607548124059262,1.544669271843464,1.597782612568489
+0.95,1.56812314112736,1.561493419603752,1.620383447740103
+1.,1.530427495856388,1.576435237450492,1.643137275164334
+1.05,1.494399092412657,1.589608592264399,1.665992323794159
+1.1,1.459977506140636,1.601122002726901,1.688900499603677
+1.15,1.427103975349103,1.611078817698882,1.711817215423229
+1.2,1.395721367297273,1.619577461958461,1.73470117921548
+1.25,1.365774166143353,1.626711603590236,1.757514238737624
+1.3,1.337208450163121,1.632570344773514,1.780221213534579
+1.35,1.309971870093239,1.637238400228054,1.802789738149921
+1.4,1.284013622577026,1.640796280293023,1.825190105601165
+1.45,1.259284414015251,1.643320489220196,1.847395105235768
+1.5,1.235736483025704,1.644883567649672,1.869379957795838
+1.55,1.213323490155055,1.645554464593648,1.891122053722511
+1.6,1.192000547009069,1.64539854512394,1.912600916338204
+1.65,1.171724205327086,1.644477704041733,1.933798099102396
+1.7,1.152452388702849,1.642850607614625,1.95469701215374
+1.75,1.134144360044419,1.640572837073935,1.975282811352861
+1.8,1.116760714293051,1.637696972398283,1.99554232177988
+1.85,1.10026336854387,1.634272682866614,2.015463957060731
+1.9,1.084615496235458,1.630346933410581,2.035037578825174
+1.95,1.069781495215404,1.625964106860865,2.054254406394945
+2.,1.055726979378633,1.62116607557188,2.073106953520701
+2.05,1.042418739476054,1.615992333511019,2.091588935484142
+2.1,1.029824781314767,1.61047997886144,2.109695248295008
+2.15,1.017914143754994,1.604664105733393,2.127421758982827
+2.2,1.006656995602096,1.598577670764537,2.144765342104582
+2.25,0.9960245938596633,1.59225160506532,2.161723809546232
+2.3,0.985989169850961,1.585715074105281,2.178295764514973
+2.35,0.976524069101504,1.578995255332604,2.194480684037107
+2.4,0.9676034897763878,1.572117844481917,2.21027867421291
+2.45,0.9592026600256996,1.56510677158085,2.225690576864666
+2.5,0.9512977599673282,1.55798437989551,2.240717868608377
diff --git a/models/sbml-test-suite/cases/semantic/00403/00403-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00403/00403-sbml-l2v4.xml
new file mode 100644
index 0000000..6ead8dd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00403/00403-sbml-l2v4.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00403" id="case00403" name="case00403">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.55"/>
+      <parameter id="k3" name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00403/00403-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00403/00403-sbml-l3v1.xml
new file mode 100644
index 0000000..1efa5a1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00403/00403-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00403" id="case00403" name="case00403" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.55" constant="true"/>
+      <parameter id="k3" name="k3" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00403/00403-settings.txt b/models/sbml-test-suite/cases/semantic/00403/00403-settings.txt
new file mode 100644
index 0000000..fb116b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00403/00403-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00404/00404-results.csv b/models/sbml-test-suite/cases/semantic/00404/00404-results.csv
new file mode 100644
index 0000000..81600f7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00404/00404-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9757231912238192,1.982282964312335,1.041993844463846
+0.1,0.9528488626278731,1.964174790440246,1.08297634693188
+0.15,0.9313130024395962,1.945736767952056,1.122950229608347
+0.2,0.9110539984117483,1.927026200626238,1.161919800962013
+0.25,0.8920125679006211,1.90809660248705,1.199890829612329
+0.3,0.8741316878171235,1.888997887743386,1.23687042443949
+0.35,0.8573565326639353,1.869776542431581,1.272866924904483
+0.4,0.8416344025142544,1.850475806033127,1.307889791452618
+0.45,0.8269146572994111,1.831135837660748,1.34194950503984
+0.5,0.8131486544404223,1.811793872216458,1.375057473343119
+0.55,0.8002896910819247,1.792484365543781,1.407225943374293
+0.6,0.7882929379639479,1.773239146957904,1.438467915078148
+0.65,0.7771153636985624,1.754087578981944,1.468797057319492
+0.7,0.7667157364173141,1.735056610686813,1.498227652895872
+0.75,0.7570544770540793,1.716171023936426,1.526774499009494
+0.8,1.689667294566688,1.553048924919413,0.7572837805138976
+0.85,1.636974334714696,1.572434828253838,0.7905908370314651
+0.9,1.586629976408652,1.589389723290615,0.8239803003007314
+0.95,1.538548380689591,1.604064821385992,0.8573867979244148
+1.,1.492646095613336,1.616604103047066,0.8907498013395969
+1.05,1.448842025424051,1.627144603961409,0.9240133706145382
+1.1,1.407057405994322,1.635816669421852,0.9571259245838249
+1.15,1.367215754552024,1.642744266999864,0.9900399784481099
+1.2,1.329242854134871,1.648045189789635,1.022711956075492
+1.25,1.293066706071095,1.65183133650614,1.055101957422763
+1.3,1.25861748895318,1.654208960337881,1.087173550708937
+1.35,1.225827521568089,1.655278896520142,1.118893581911767
+1.4,1.194631253501424,1.655136715985695,1.150232030512879
+1.45,1.164965151691466,1.653873118043003,1.181161730265529
+1.5,1.136767736650955,1.65157395510441,1.211658308244633
+1.55,1.109979511125847,1.648320509618696,1.241699979255454
+1.6,1.084542906786435,1.644189715207496,1.271267378006067
+1.65,1.060402242893453,1.639254341198622,1.300343415907923
+1.7,1.037503689637564,1.633583161345237,1.328913149017197
+1.75,1.015795245165069,1.627241089968358,1.35696366486657
+1.8,0.9952266743871143,1.620289392220675,1.384483933392209
+1.85,0.9757494589987194,1.612785861718164,1.411464679283115
+1.9,0.9573167560379005,1.604784974027711,1.437898269934387
+1.95,0.9398833003438887,1.596338139682699,1.463778559973411
+2.,0.9234056982083382,1.587493227713954,1.489101074077706
+2.05,0.9078416446071944,1.578296078445995,1.51386227694681
+2.1,0.8931508671506125,1.5687888315197,1.538060301329687
+2.15,0.8792940641382054,1.559011895953033,1.561694039908761
+2.2,0.8662338539603777,1.549002327823318,1.584763818216304
+2.25,0.8539337760011954,1.538795607865554,1.60727061613325
+2.3,0.8423591789403653,1.528424186376993,1.629216634682641
+2.35,0.8314762896004092,1.5179190730151,1.65060463738449
+2.4,0.8212530178928604,1.507308573113377,1.671438408993762
+2.45,0.8116581292378077,1.496619646031108,1.691722224731084
+2.5,0.8026619584705044,1.485876833564779,1.711461207964716
diff --git a/models/sbml-test-suite/cases/semantic/00404/00404-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00404/00404-sbml-l2v4.xml
new file mode 100644
index 0000000..36a0802
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00404/00404-sbml-l2v4.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00404" id="case00404" name="case00404">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.55"/>
+      <parameter id="k3" name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S3 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S1 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00404/00404-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00404/00404-sbml-l3v1.xml
new file mode 100644
index 0000000..9d36178
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00404/00404-sbml-l3v1.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00404" id="case00404" name="case00404" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.55" constant="true"/>
+      <parameter id="k3" name="k3" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S3 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S1 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00404/00404-settings.txt b/models/sbml-test-suite/cases/semantic/00404/00404-settings.txt
new file mode 100644
index 0000000..fb116b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00404/00404-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00405/00405-results.csv b/models/sbml-test-suite/cases/semantic/00405/00405-results.csv
new file mode 100644
index 0000000..c254e66
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00405/00405-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,0.7309282020859543,1.730928202085952,1.269071797914047
+0.35,0.7009347609657709,1.700934760965768,1.299065239034231
+0.4,0.673866223107894,1.673866223107891,1.326133776892108
+0.45,0.6493876110483846,1.649387611048382,1.350612388951617
+0.5,0.6272103609321588,1.627210360932156,1.372789639067843
+0.55,0.6070846027982892,1.607084602798287,1.392915397201712
+0.6,0.5887929243267927,1.58879292432679,1.411207075673209
+0.65,0.5721453186118006,1.572145318611798,1.427854681388201
+0.7,0.5569750597413533,1.556975059741351,1.443024940258648
+0.75,0.5431352793650461,1.543135279365043,1.456864720634956
+0.8,0.5304961571272683,1.530496157127266,1.469503842872733
+0.85,0.5189425670576404,1.518942567057638,1.481057432942361
+0.9,0.5083721065663444,1.508372106566342,1.491627893433657
+0.95,0.4986934372361642,1.498693437236162,1.501306562763837
+1.,0.489824883421849,1.489824883421847,1.510175116578153
+1.05,0.4816932137605923,1.48169321376059,1.518306786239409
+1.1,0.4742326554226105,1.474232655422608,1.525767344577391
+1.15,0.4673839761065083,1.467383976106506,1.532616023893493
+1.2,0.4610937666662635,1.461093766666261,1.538906233333738
+1.25,0.4553137471166108,1.455313747116608,1.544686252883391
+1.3,0.4544045194312047,1.001347592545363,1.545595480568797
+1.35,0.4565872302289626,1.00353030334312,1.54341276977104
+1.4,0.4586279753740392,1.005571048488197,1.541372024625963
+1.45,0.4605356959553659,1.007478769069523,1.539464304044636
+1.5,0.4623188081118139,1.009261881225971,1.537681191888188
+1.55,0.4639852274883948,1.010928300602553,1.536014772511607
+1.6,0.4655423966857091,1.012485469799867,1.534457603314293
+1.65,0.4669973074878625,1.01394038060202,1.53300269251214
+1.7,0.4683565272559124,1.01529960037007,1.53164347274409
+1.75,0.46962621995299,1.016569293067148,1.530373780047012
+1.8,0.4708121690109726,1.017755242125131,1.529187830989029
+1.85,0.4719197993866802,1.018862872500838,1.528080200613322
+1.9,0.4729541976243669,1.019897270738525,1.527045802375635
+1.95,0.4739201308579399,1.020863203972098,1.526079869142062
+2.,0.4748220635617716,1.02176513667593,1.52517793643823
+2.05,0.4756641803054771,1.022607253419635,1.524335819694524
+2.1,0.4764503985335455,1.023393471647704,1.523549601466456
+2.15,0.4771843855173075,1.024127458631466,1.522815614482694
+2.2,0.4778695732797005,1.024812646393859,1.522130426720301
+2.25,0.4785091732004653,1.025452246314624,1.521490826799536
+2.3,0.4791061896431833,1.026049262757342,1.520893810356818
+2.35,0.4796634327368751,1.026606505851033,1.520336567263126
+2.4,0.4801835304421292,1.027126603556287,1.519816469557872
+2.45,0.4806689400405455,1.027612013154704,1.519331059959456
+2.5,0.4811219582100113,1.028065031324169,1.51887804178999
diff --git a/models/sbml-test-suite/cases/semantic/00405/00405-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00405/00405-sbml-l2v4.xml
new file mode 100644
index 0000000..993716a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00405/00405-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00405" id="case00405" name="case00405">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00405/00405-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00405/00405-sbml-l3v1.xml
new file mode 100644
index 0000000..b250112
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00405/00405-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00405" id="case00405" name="case00405" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00405/00405-settings.txt b/models/sbml-test-suite/cases/semantic/00405/00405-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00405/00405-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00406/00406-results.csv b/models/sbml-test-suite/cases/semantic/00406/00406-results.csv
new file mode 100644
index 0000000..b64bece
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00406/00406-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.08,0.9092009390874071,1.909200939087407,1.090799060912593
+0.16,0.8340700131981037,1.834070013198103,1.165929986801896
+0.24,0.7713364606656902,1.771336460665689,1.22866353933431
+0.32,0.7185561942104774,1.718556194210476,1.281443805789523
+0.4,0.6738662231078412,1.67386622310784,1.326133776892159
+0.48,0.6358218765993757,1.635821876599374,1.364178123400625
+0.56,0.6032859870890211,1.60328598708902,1.396714012910979
+0.64,0.5753516237520852,1.575351623752085,1.424648376247914
+0.72,0.5512871151683068,1.551287115168307,1.448712884831693
+0.8,0.5304961566511394,1.530496156651139,1.46950384334886
+0.88,0.9554660782533791,1.481494883579598,1.518505116420401
+0.96,0.9051479057602227,1.431176711086442,1.568823288913557
+1.04,0.8622836626323354,1.388312467958554,1.611687532041445
+1.12,0.8255799036239144,1.351608708950133,1.648391291049866
+1.2,0.7940118618879776,1.320040667214196,1.679959332785803
+1.28,0.7683262197289689,0.998607766513214,1.705644974944812
+1.36,0.757121845621607,0.987403392405852,1.716849349052174
+1.44,0.7472310313968294,0.9775125781810745,1.72674016327695
+1.52,0.7384893819286184,0.9687709287128635,1.735481812745161
+1.6,0.7307552509098479,0.961036797694093,1.743215943763932
+1.68,0.7239061463370908,0.9541876931213358,1.750065048336689
+1.76,0.7178357933780171,0.9481173401622622,1.756135401295762
+1.84,0.712451715363959,0.942733262148204,1.761519479309821
+1.92,0.7076732351562808,0.9379547819405259,1.766297959517499
+2.,0.7034297955354826,0.9337113423197277,1.770541399138297
+2.08,0.6996595646388056,0.9299411114230506,1.774311630034974
+2.16,0.6963082528985042,0.9265897996827493,1.777662941775275
+2.24,0.6933281125392671,0.9236096593235122,1.780643082134512
+2.32,0.6906770819440094,0.9209586287282545,1.78329411272977
+2.4,0.688318069254847,0.9185996160390921,1.785653125418933
+2.48,0.6836679846955806,0.9958055445043635,1.790303209978199
+2.56,0.6789181354700814,0.9910556952788642,1.795053059203698
+2.64,0.6747062782552972,0.9868438380640801,1.799264916418483
+2.72,0.6709695843591976,0.9831071441679805,1.803001610314582
+2.8,0.6676529578859197,0.9797905176947026,1.80631823678786
+2.88,0.6647080011713362,0.9768455609801191,1.809263193502443
+2.96,0.6620921357506371,0.97422969555942,1.811879058923142
+3.04,0.6597678596043936,0.9719054194131765,1.814203335069386
+3.12,0.6577020885531884,0.9698396483619713,1.816269106120591
+3.2,0.6558656162749337,0.9680031760837166,1.818105578398846
+3.28,0.6542326300919668,0.9663701899007497,1.819738564581813
+3.36,0.6527802979590616,0.9649178577678445,1.821190896714718
+3.44,0.651488404900239,0.9636259647090219,1.82248278977354
+3.52,0.6503390585256355,0.9624766183344184,1.823632136148144
+3.6,0.6493163822231119,0.9614539420318948,1.824654812450668
+3.68,0.6484063029219595,0.9605438627307424,1.82556489175182
+3.76,0.6475963366600636,0.9597338964688465,1.826374858013716
+3.84,0.6468754014212796,0.9590129612300625,1.8270957932525
+3.92,0.6462336535246991,0.958371213333482,1.82773754114908
+4.,0.6456623516955112,0.9577999115042941,1.828308842978268
diff --git a/models/sbml-test-suite/cases/semantic/00406/00406-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00406/00406-sbml-l2v4.xml
new file mode 100644
index 0000000..2d84433
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00406/00406-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00406" id="case00406" name="case00406">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.25 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00406/00406-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00406/00406-sbml-l3v1.xml
new file mode 100644
index 0000000..b683dcf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00406/00406-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00406" id="case00406" name="case00406" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.25 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00406/00406-settings.txt b/models/sbml-test-suite/cases/semantic/00406/00406-settings.txt
new file mode 100644
index 0000000..ed578e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00406/00406-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00407/00407-results.csv b/models/sbml-test-suite/cases/semantic/00407/00407-results.csv
new file mode 100644
index 0000000..8b5f723
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00407/00407-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.08,0.9092009390874071,1.909200939087407,1.090799060912593
+0.16,0.8340700131981037,1.834070013198103,1.165929986801896
+0.24,0.7713364606656902,1.771336460665689,1.22866353933431
+0.32,0.7185561942112284,1.718556194211227,1.281443805788772
+0.4,0.6738662231097322,1.673866223109731,1.326133776890268
+0.48,0.6358218766006871,1.635821876600686,1.364178123399314
+0.56,0.6032859869867426,1.603285986986741,1.396714013013258
+0.64,0.5753516243569335,1.575351624356932,1.424648375643067
+0.72,0.5512871141256678,1.551287114125666,1.448712885874333
+0.8,0.5304961571250335,1.530496157125032,1.469503842874967
+0.88,0.5124883893038579,1.512488389303856,1.487511610696143
+0.96,0.4968573753185884,1.496857375318586,1.503142624681413
+1.04,0.4832638558827129,1.483263855882711,1.516736144117288
+1.12,0.471422870033251,1.471422870033249,1.52857712996675
+1.2,0.4610937666541705,1.461093766654169,1.53890623334583
+1.28,0.4520722868993472,1.452072286899345,1.547927713100654
+1.36,0.4441843311206102,1.444184331120608,1.555815668879391
+1.44,0.4372809218757361,1.437280921875735,1.562719078124265
+1.52,0.4312341500396125,1.431234150039611,1.568765849960388
+1.6,0.4259338605793336,1.425933860579332,1.574066139420667
+1.68,0.4212849345702162,1.421284934570214,1.578715065429785
+1.76,0.417205042476616,1.417205042476614,1.582794957523385
+1.84,0.4136227756304787,1.413622775630477,1.586377224369522
+1.92,0.4104760801710132,1.410476080171011,1.589523919828988
+2.,0.4077109484193791,1.407710948419377,1.592289051580622
+2.08,0.4052803050765335,1.405280305076532,1.594719694923467
+2.16,0.403143063222269,1.403143063222267,1.596856936777732
+2.24,0.4012633223368143,1.401263322336812,1.598736677663187
+2.32,0.9660619208649954,1.466061920864995,1.633335046947711
+2.4,0.9178133134471617,1.417813313447162,1.681583654365544
+2.48,0.8767100828988856,1.376710082898886,1.722686884913821
+2.56,0.8415200329746204,1.341520032974621,1.757876934838086
+2.64,0.8112644001776047,1.311264400177605,1.788132567635101
+2.72,0.7851562412289482,1.285156241228949,1.814240726583758
+2.8,0.7625560353958844,1.262556035395885,1.836840932416822
+2.88,0.7429391128032365,1.242939112803236,1.85645785500947
+2.96,0.7258713914072583,1.225871391407258,1.873525576405448
+3.04,0.710991053147137,1.210991053147137,1.888405914665569
+3.12,0.6979944998326429,1.197994499832643,1.901402467980063
+3.2,0.6866254759356713,1.186625475935672,1.912771491877035
+3.28,0.6766665522563742,1.176666552256375,1.922730415556332
+3.36,0.6679323679704954,1.167932367970496,1.931464599842211
+3.44,0.6602642461269728,1.160264246126973,1.939132721685733
+3.52,0.6535258561504537,1.153525856150454,1.945871111662252
+3.6,0.6475996653960618,1.147599665396063,1.951797302416644
+3.68,0.6423840578809224,1.142384057880923,1.957012909931784
+3.76,0.6377909485402952,1.137790948540295,1.961606019272411
+3.84,0.6337438055345097,1.13374380553451,1.965653162278196
+3.92,0.6301759923107469,1.130175992310747,1.969220975501959
+4.,0.6270293926213635,1.127029392621364,1.972367575191342
diff --git a/models/sbml-test-suite/cases/semantic/00407/00407-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00407/00407-sbml-l2v4.xml
new file mode 100644
index 0000000..3064099
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00407/00407-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00407" id="case00407" name="case00407">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00407/00407-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00407/00407-sbml-l3v1.xml
new file mode 100644
index 0000000..bb3d133
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00407/00407-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00407" id="case00407" name="case00407" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00407/00407-settings.txt b/models/sbml-test-suite/cases/semantic/00407/00407-settings.txt
new file mode 100644
index 0000000..ed578e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00407/00407-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00408/00408-results.csv b/models/sbml-test-suite/cases/semantic/00408/00408-results.csv
new file mode 100644
index 0000000..2fa53fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00408/00408-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00012,0.0002,0.0001
+0.06,9.77643e-05,0.000117764,0.000202236,0.000102236
+0.12,9.5826e-05,0.000115826,0.000204174,0.000104174
+0.18,9.41434e-05,0.000114143,0.000205857,0.000105857
+0.24,9.26813e-05,0.000112681,0.000207319,0.000107319
+0.3,9.14097e-05,0.00011141,0.00020859,0.00010859
+0.36,9.0303e-05,0.000110303,0.000209697,0.000109697
+0.42,8.93392e-05,0.000109339,0.000210661,0.000110661
+0.48,8.84993e-05,0.000108499,0.000211501,0.000111501
+0.54,8.7767e-05,0.000107767,0.000212233,0.000112233
+0.6,8.71283e-05,0.000107128,0.000212872,0.000112872
+0.66,8.6571e-05,0.000106571,0.000213429,0.000113429
+0.72,8.60844e-05,0.000106084,0.000213916,0.000113916
+0.78,8.56596e-05,0.00010566,0.00021434,0.00011434
+0.84,8.52886e-05,0.000105289,0.000214711,0.000114711
+0.9,8.49645e-05,0.000104965,0.000215035,0.000115035
+0.96,8.46813e-05,0.000104681,0.000215319,0.000115319
+1.02,8.44339e-05,0.000104434,0.000215566,0.000115566
+1.08,8.42176e-05,0.000104218,0.000215782,0.000115782
+1.14,8.40285e-05,0.000104029,0.000215971,0.000115971
+1.2,8.38633e-05,0.000103863,0.000216137,0.000116137
+1.26,8.37188e-05,0.000103719,0.000216281,0.000116281
+1.32,8.35924e-05,0.000103592,0.000216408,0.000116408
+1.38,0.000199815,0.000103301,0.000216699,0.000116699
+1.44,0.000194799,9.82849e-05,0.000221715,0.000121715
+1.5,0.000190624,9.41098e-05,0.00022589,0.00012589
+1.56,0.00018714,9.06258e-05,0.000229374,0.000129374
+1.62,0.000184227,8.77125e-05,0.000232288,0.000132288
+1.68,0.000181787,8.5272e-05,0.000234728,0.000134728
+1.74,0.000179739,8.32247e-05,0.000236775,0.000136775
+1.8,0.00017802,8.1505e-05,0.000238495,0.000138495
+1.86,0.000176574,8.0059e-05,0.000239941,0.000139941
+1.92,0.000175357,7.88421e-05,0.000241158,0.000141158
+1.98,0.000174332,7.78172e-05,0.000242183,0.000142183
+2.04,0.000173468,7.69536e-05,0.000243046,0.000143046
+2.1,0.00017274,7.62253e-05,0.000243775,0.000143775
+2.16,0.000172126,7.56111e-05,0.000244389,0.000144389
+2.22,0.000171607,7.50928e-05,0.000244907,0.000144907
+2.28,0.00017117,7.46553e-05,0.000245345,0.000145345
+2.34,0.000170801,7.42859e-05,0.000245714,0.000145714
+2.4,0.000170489,7.3974e-05,0.000246026,0.000146026
+2.46,0.000170225,7.37105e-05,0.000246289,0.000146289
+2.52,0.000170003,7.34879e-05,0.000246512,0.000146512
+2.58,0.000169814,7.32998e-05,0.0002467,0.0001467
+2.64,0.000169656,7.31409e-05,0.000246859,0.000146859
+2.7,0.000169521,7.30066e-05,0.000246993,0.000146993
+2.76,0.000169408,7.28931e-05,0.000247107,0.000147107
+2.82,0.000169312,7.27972e-05,0.000247203,0.000147203
+2.88,0.000169231,7.27161e-05,0.000247284,0.000147284
+2.94,0.000169162,7.26475e-05,0.000247352,0.000147352
+3,0.000169104,7.25896e-05,0.00024741,0.00014741
diff --git a/models/sbml-test-suite/cases/semantic/00408/00408-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00408/00408-sbml-l2v4.xml
new file mode 100644
index 0000000..0b5f848
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00408/00408-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00408" id="case00408" name="case00408">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00408/00408-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00408/00408-sbml-l3v1.xml
new file mode 100644
index 0000000..692e65a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00408/00408-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00408" id="case00408" name="case00408" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00408/00408-settings.txt b/models/sbml-test-suite/cases/semantic/00408/00408-settings.txt
new file mode 100644
index 0000000..53a436e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00408/00408-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00409/00409-results.csv b/models/sbml-test-suite/cases/semantic/00409/00409-results.csv
new file mode 100644
index 0000000..0a4e9a8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00409/00409-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.0012,0.002,0.001
+0.06,0.0009776429639693357,0.001177642963969336,0.002022357036030664,0.001022357036030664
+0.12,0.000958258870594404,0.001158258870594404,0.002041741129405596,0.001041741129405596
+0.18,0.0009414327628994129,0.001141432762899413,0.002058567237100587,0.001058567237100587
+0.24,0.0009268122767605231,0.001126812276760523,0.002073187723239477,0.001073187723239477
+0.3,0.0009140971047287456,0.001114097104728746,0.002085902895271254,0.001085902895271254
+0.36,0.000903030481866197,0.001103030481866197,0.002096969518133803,0.001096969518133803
+0.42,0.0008933922514164685,0.001093392251416469,0.002106607748583532,0.001106607748583531
+0.48,0.0008849931761912676,0.001084993176191268,0.002115006823808733,0.001115006823808732
+0.54,0.0008776702407415627,0.001077670240741563,0.002122329759258437,0.001122329759258437
+0.6,0.0008712827487407564,0.001071282748740756,0.002128717251259244,0.001128717251259244
+0.66,0.000865709062697761,0.001065709062697761,0.002134290937302239,0.001134290937302239
+0.72,0.000860843866810315,0.001060843866810315,0.002139156133189685,0.001139156133189685
+0.78,0.0008565958587462713,0.001056595858746271,0.002143404141253729,0.001143404141253729
+0.84,0.0008528857950152578,0.001052885795015258,0.002147114204984742,0.001147114204984742
+0.9,0.001979141077253969,0.001029951660003986,0.002170048339996013,0.001170048339996014
+0.96,0.001930155902348749,0.0009809664850987652,0.002219033514901234,0.001219033514901235
+1.02,0.001889348457808885,0.0009401590405589017,0.002259840959441097,0.001259840959441098
+1.08,0.001855269699435202,0.000906080282185218,0.002293919717814781,0.001293919717814782
+1.14,0.001826751558921939,0.0008775621416719558,0.002322437858328043,0.001322437858328044
+1.2,0.001802845616205849,0.0008536561989558654,0.002346343801044134,0.001346343801044134
+1.26,0.001782777027233704,0.0008335876099837199,0.002366412390016279,0.00136641239001628
+1.32,0.00176590941917467,0.0008167200019246863,0.002383279998075313,0.001383279998075313
+1.38,0.001751717799200749,0.0008025283819507657,0.002397471618049234,0.001397471618049234
+1.44,0.001739767407777515,0.0007905779905275312,0.002409422009472468,0.001409422009472469
+1.5,0.001729697041807491,0.0007805076245575073,0.002419492375442492,0.001419492375442493
+1.56,0.001721205782709176,0.0007720163654591926,0.002427983634540807,0.001427983634540807
+1.62,0.001714042348364393,0.0007648529311144093,0.00243514706888559,0.001435147068885591
+1.68,0.001707996488859282,0.0007588070716092992,0.0024411929283907,0.001441192928390701
+1.74,0.001702891989879515,0.0007537025726295321,0.002446297427370467,0.001446297427370468
+1.8,0.001687613407869161,0.0007384239906191779,0.002461576009380821,0.001013933454742376
+1.86,0.001670396380379132,0.0007212069631291488,0.002478793036870851,0.001031150482232405
+1.92,0.001655729350834438,0.0007065399335844547,0.002493460066415544,0.001045817511777099
+1.98,0.001643223592389477,0.0006940341751394934,0.002505965824860506,0.00105832327022206
+2.04,0.001632552590622901,0.0006833631733729171,0.002516636826627082,0.001068994271988636
+2.1,0.001623441306235761,0.0006742518889857775,0.002525748111014222,0.001078105556375776
+2.16,0.001615657492418356,0.0006664680751683728,0.002533531924831626,0.001085889370193181
+2.22,0.001609004623633935,0.0006598152063839524,0.002540184793616047,0.001092542238977602
+2.28,0.001603316100125063,0.00065412668287508,0.002545873317124919,0.001098230762486474
+2.34,0.001598450471052143,0.0006492610538021602,0.002550738946197839,0.001103096391559394
+2.4,0.0015942874773765,0.0006450980601265174,0.002554901939873482,0.001107259385235037
+2.46,0.001590724759589128,0.000641535342339145,0.002558464657660855,0.001110822103022409
+2.52,0.001587675107388076,0.0006384856901380935,0.002561514309861906,0.001113871755223461
+2.58,0.001585064154792054,0.0006358747375420714,0.002564125262457928,0.001116482707819483
+2.64,0.00158282844218786,0.0006336390249378775,0.002566360975062122,0.001118718420423677
+2.7,0.001580913783096718,0.0006317243658467348,0.002568275634153265,0.001120633079514819
+2.76,0.001579273884360845,0.0006300844671108624,0.002569915532889137,0.001122272978250692
+2.82,0.001577869178136229,0.0006286797608862466,0.002571320239113753,0.001123677684475308
+2.88,0.001576665831541972,0.000627476414291989,0.002572523585708011,0.001124881031069565
+2.94,0.001575634905664471,0.0006264454884144887,0.002573554511585511,0.001125911956947066
+3,0.001574751640470096,0.0006255622232201135,0.002574437776779886,0.001126795222141441
diff --git a/models/sbml-test-suite/cases/semantic/00409/00409-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00409/00409-sbml-l2v4.xml
new file mode 100644
index 0000000..b8cb785
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00409/00409-sbml-l2v4.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00409" id="case00409" name="case00409">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 4000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 1000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00409/00409-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00409/00409-sbml-l3v1.xml
new file mode 100644
index 0000000..d2fa849
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00409/00409-sbml-l3v1.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00409" id="case00409" name="case00409" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 4000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 1000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00409/00409-settings.txt b/models/sbml-test-suite/cases/semantic/00409/00409-settings.txt
new file mode 100644
index 0000000..3870810
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00409/00409-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00410/00410-results.csv b/models/sbml-test-suite/cases/semantic/00410/00410-results.csv
new file mode 100644
index 0000000..6f34f7c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00410/00410-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.012,0.02,0.01
+0.06,0.00977642963969335,0.01177642963969330,0.02022357036030660,0.01022357036030660
+0.12,0.00958258870594403,0.01158258870594400,0.02041741129405590,0.01041741129405590
+0.18,0.00941432762899413,0.01141432762899410,0.02058567237100580,0.01058567237100580
+0.24,0.00926812276760523,0.01126812276760520,0.02073187723239470,0.01073187723239470
+0.3,0.00914097104728745,0.01114097104728740,0.02085902895271250,0.01085902895271250
+0.36,0.00903030481866196,0.01103030481866190,0.02096969518133800,0.01096969518133800
+0.42,0.00893392251416468,0.01093392251416460,0.02106607748583530,0.01106607748583530
+0.48,0.00884993176191267,0.01084993176191260,0.02115006823808730,0.01115006823808730
+0.54,0.00877670240741562,0.01077670240741560,0.02122329759258430,0.01122329759258430
+0.6,0.00871282748740756,0.01071282748740750,0.02128717251259240,0.01128717251259240
+0.66,0.00865709062697761,0.01065709062697760,0.02134290937302230,0.01134290937302230
+0.72,0.00860843866810314,0.01060843866810310,0.02139156133189680,0.01139156133189680
+0.78,0.00856595858746271,0.01056595858746270,0.02143404141253720,0.01143404141253720
+0.84,0.00852885795015257,0.01052885795015250,0.02147114204984740,0.01147114204984740
+0.9,0.00849644829713834,0.01049644829713830,0.02150355170286160,0.01150355170286160
+0.96,0.00846813097999902,0.01046813097999900,0.02153186902000090,0.01153186902000090
+1.02,0.00844338504645519,0.01044338504645510,0.02155661495354470,0.01155661495354480
+1.08,0.00842175685234487,0.01042175685234480,0.02157824314765510,0.01157824314765510
+1.14,0.00840285113300729,0.01040285113300720,0.02159714886699260,0.01159714886699270
+1.2,0.00838632331320302,0.01038632331320300,0.02161367668679690,0.01161367668679690
+1.26,0.00837187287131583,0.01037187287131580,0.02162812712868410,0.01162812712868410
+1.32,0.00835923760361572,0.01035923760361570,0.02164076239638420,0.01164076239638420
+1.38,0.00834818865886395,0.01034818865886390,0.02165181134113600,0.01165181134113600
+1.44,0.00833852623609079,0.01033852623609070,0.02166147376390920,0.01166147376390920
+1.5,0.00833007585094775,0.01033007585094770,0.02166992414905220,0.01166992414905220
+1.56,0.00832268509111120,0.01032268509111120,0.02167731490888870,0.01167731490888880
+1.62,0.01948929907011490,0.00981001139790206,0.02218998860209790,0.00551070092988509
+1.68,0.01886741963014570,0.00918813195793291,0.02281186804206700,0.00613258036985424
+1.74,0.01834263779021630,0.00866335011800346,0.02333664988199650,0.00665736220978370
+1.8,0.01789838922320100,0.00821910155098820,0.02378089844901170,0.00710161077679895
+1.86,0.01752130646334000,0.00784201879112719,0.02415798120887280,0.00747869353665997
+1.92,0.01720050626582960,0.00752121859361681,0.02447878140638310,0.00779949373417035
+1.98,0.01692705975920380,0.00724777208699100,0.02475222791300890,0.00807294024079616
+2.04,0.01669359256250240,0.00701430489028958,0.02498569510971040,0.00830640743749757
+2.1,0.01649397884855710,0.00681469117634429,0.02518530882365560,0.00850602115144286
+2.16,0.01632310435232600,0.00664381668011318,0.02535618331988680,0.00867689564767397
+2.22,0.01617668069878910,0.00649739302657626,0.02550260697342370,0.00882331930121089
+2.28,0.01605109842495810,0.00637181075274526,0.02562818924725470,0.00894890157504189
+2.34,0.01594330953339690,0.00626402186118409,0.02573597813881580,0.00905669046660307
+2.4,0.01585073284056990,0.00617144516835709,0.02582855483164280,0.00914926715943006
+2.46,0.01577117710376220,0.00609188943154938,0.02590811056845060,0.00922882289623778
+2.52,0.01570277815046320,0.00602349047825041,0.02597650952174950,0.00929722184953675
+2.58,0.01564394713691260,0.00596465946469976,0.02603534053530020,0.00935605286308740
+2.64,0.01559332772544590,0.00591404005323314,0.02608595994676680,0.00940667227455402
+2.7,0.01554976046406520,0.00587047279185245,0.02612952720814750,0.00945023953593471
+2.76,0.01551225302743280,0.00583296535522005,0.02616703464477990,0.00948774697256711
+2.82,0.01547995525158550,0.00580066757937275,0.02619933242062720,0.00952004474841441
+2.88,0.01545213812162230,0.00577285044940950,0.02622714955059040,0.00954786187837765
+2.94,0.01542817602679760,0.00574888835458482,0.02625111164541510,0.00957182397320234
+3,0.01540791520869080,0.00572862753647800,0.02627137246352190,0.00959208479130916
diff --git a/models/sbml-test-suite/cases/semantic/00410/00410-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00410/00410-sbml-l2v4.xml
new file mode 100644
index 0000000..5ca8221
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00410/00410-sbml-l2v4.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00410" id="case00410" name="case00410">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 200 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00410/00410-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00410/00410-sbml-l3v1.xml
new file mode 100644
index 0000000..cbb04f6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00410/00410-sbml-l3v1.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00410" id="case00410" name="case00410" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 200 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00410/00410-settings.txt b/models/sbml-test-suite/cases/semantic/00410/00410-settings.txt
new file mode 100644
index 0000000..bd3fbc9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00410/00410-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00411/00411-results.csv b/models/sbml-test-suite/cases/semantic/00411/00411-results.csv
new file mode 100644
index 0000000..d5c04a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00411/00411-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.889094184270693,1.889094184270692,1.110905815729307
+0.2,0.801322315540552,1.801322315540551,1.198677684459448
+0.3,0.730928200894376,1.730928200894375,1.269071799105624
+0.4,0.673866221840678,1.673866221840677,1.326133778159322
+0.5,0.6272103584597646,1.627210358459764,1.372789641540235
+0.6,0.5887929211043134,1.588792921104312,1.411207078895687
+0.7,0.5569750596093625,1.556975059609361,1.443024940390638
+0.8,0.5304961569887551,1.530496156988754,1.469503843011245
+0.9,0.5083721073184122,1.508372107318411,1.491627892681588
+1.,0.4898248805938803,1.489824880593879,1.51017511940612
+1.1,0.4742326527312816,1.474232652731281,1.525767347268718
+1.2,0.4610937642549557,1.461093764254955,1.538906235745044
+1.3,0.4500002415342581,1.450000241534257,1.549999758465742
+1.4,0.4406180022946301,1.440618002294629,1.55938199770537
+1.5,0.4404970779472324,1.00345673904746,1.559502922052768
+1.6,0.4459601795722471,1.008919840672474,1.554039820427753
+1.7,0.450737681406117,1.013697342506344,1.549262318593883
+1.8,0.4549126226819305,1.017872283782158,1.54508737731807
+1.9,0.4585587096928586,1.021518370793086,1.541441290307142
+2.,0.4617411882817157,1.024700849381943,1.538258811718285
+2.1,0.4645176786068696,1.027477339707097,1.535482321393131
+2.2,0.4669389585424104,1.029898619642638,1.53306104145759
+2.3,0.4690497048505212,1.032009365950749,1.530950295149479
+2.4,0.4708891595959862,1.033848820696214,1.529110840404014
+2.5,0.4724917472304114,1.035451408330639,1.527508252769589
+2.6,0.4738876319252423,1.03684729302547,1.526112368074758
+2.7,0.4751032216695415,1.038062882769769,1.524896778330459
+2.8,0.4761616058842121,1.039121266984439,1.523838394115788
+2.9,0.4770829728925356,1.040042633992763,1.522917027107465
+3.,0.4778849454192272,1.040844606519454,1.522115054580773
+3.1,0.4785829146238312,1.041542575724058,1.521417085376169
+3.2,0.4791903009424713,1.042149962042698,1.520809699057529
+3.3,0.4797188150720117,1.042678476172239,1.520281184927989
+3.4,0.4801786604828988,1.043138321583126,1.519821339517102
+3.5,0.4805787308954027,1.04353839199563,1.519421269104598
+3.6,0.4809267770859189,1.043886438186146,1.519073222914082
+3.7,0.4812295481153891,1.044189209215616,1.518770451884611
+3.8,0.4814929204314992,1.044452581531726,1.518507079568502
+3.9,0.4817220123155889,1.044681673415816,1.518277987684412
+4.,0.4819212793377319,1.044880940437959,1.518078720662269
+4.1,0.4820945988072903,1.045054259907518,1.51790540119271
+4.2,0.4822453455118535,1.045205006612081,1.517754654488147
+4.3,0.4823764562797986,1.045336117380026,1.517623543720202
+4.4,0.4824904865790974,1.045450147679325,1.517509513420903
+4.5,0.4825896598592561,1.045549320959483,1.517410340140744
+4.6,0.4826759105528896,1.045635571653117,1.517324089447111
+4.7,0.4827509215410278,1.045710582641255,1.517249078458973
+4.8,0.482816156786785,1.045775817887012,1.517183843213216
+4.9,0.4828728896254294,1.045832550725656,1.517127110374571
+5.,0.4829222280228105,1.045881889123037,1.51707777197719
diff --git a/models/sbml-test-suite/cases/semantic/00411/00411-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00411/00411-sbml-l2v4.xml
new file mode 100644
index 0000000..e2c9c79
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00411/00411-sbml-l2v4.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00411" id="case00411" name="case00411">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.8"/>
+      <parameter id="k4" name="k4" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00411/00411-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00411/00411-sbml-l3v1.xml
new file mode 100644
index 0000000..1c02af4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00411/00411-sbml-l3v1.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00411" id="case00411" name="case00411" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.8" constant="true"/>
+      <parameter id="k4" name="k4" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00411/00411-settings.txt b/models/sbml-test-suite/cases/semantic/00411/00411-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00411/00411-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00412/00412-results.csv b/models/sbml-test-suite/cases/semantic/00412/00412-results.csv
new file mode 100644
index 0000000..44d10f1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00412/00412-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.889094184270693,1.889094184270692,1.110905815729307
+0.2,0.801322315540552,1.801322315540551,1.198677684459448
+0.3,0.730928200894376,1.730928200894375,1.269071799105624
+0.4,0.673866221840678,1.673866221840677,1.326133778159322
+0.5,0.6272103584597646,1.627210358459764,1.372789641540235
+0.6,0.5887929211043134,1.588792921104312,1.411207078895687
+0.7,0.5569750596093625,1.556975059609361,1.443024940390638
+0.8,0.5304961569887551,1.530496156988754,1.469503843011245
+0.9,0.5083721073184122,1.508372107318411,1.491627892681588
+1.,0.4898248805929459,1.489824880592944,1.510175119407055
+1.1,0.4742326527672517,1.47423265276725,1.52576734723275
+1.2,0.4610937641299905,1.461093764129988,1.538906235870011
+1.3,0.4500002415386766,1.450000241538674,1.549999758461325
+1.4,0.4406180027180706,1.440618002718068,1.559381997281931
+1.5,0.4326718338682339,1.432671833868231,1.567328166131768
+1.6,0.425933861504457,1.425933861504454,1.574066138495545
+1.7,0.4202145772514918,1.420214577251489,1.57978542274851
+1.8,0.4153557867155129,1.41535578671551,1.584644213284489
+1.9,0.4112249979897353,1.411224997989732,1.588775002010267
+2.,0.4077109484332069,1.407710948433204,1.592289051566795
+2.1,0.4047199739044884,1.404719973904485,1.595280026095514
+2.2,0.4021730655113525,1.402173065511349,1.59782693448865
+2.3,0.4000034609739646,1.400003460973961,1.599996539026038
+2.4,0.3981546615690967,1.398154661569093,1.601845338430906
+2.5,0.3965787925938149,1.396578792593811,1.603421207406188
+2.6,0.3952352440935368,1.395235244093533,1.604764755906466
+2.7,0.3940895362796194,1.394089536279616,1.605910463720384
+2.8,0.3931123661898803,1.393112366189877,1.606887633810123
+2.9,0.3922788179356863,1.392278817935682,1.607721182064317
+3.,0.3915676947055916,1.391567694705587,1.608432305294412
+3.1,0.3909609506982603,1.390960950698256,1.609039049301743
+3.2,0.3904432159718587,1.390443215971854,1.609556784028145
+3.3,0.3900014007402893,1.390001400740285,1.609998599259714
+3.4,0.3896243452551179,1.389624345255114,1.610375654744886
+3.5,0.39233098305281,1.202851245543935,1.607669016947194
+3.6,0.3967976747461049,1.207317937237229,1.603202325253899
+3.7,0.400660328455732,1.211180590946856,1.599339671544272
+3.8,0.4039986878600649,1.214518950351189,1.596001312139939
+3.9,0.4068824682482399,1.217402730739364,1.593117531751764
+4.,0.4093724872764656,1.21989274976759,1.590627512723539
+4.1,0.4115217060754962,1.222041968566621,1.588478293924508
+4.2,0.4133761670794224,1.223896429570547,1.586623832920582
+4.3,0.4149758493177244,1.225496111808849,1.58502415068228
+4.4,0.4163554238044283,1.226875686295553,1.583644576195576
+4.5,0.4175449297986078,1.228065192289732,1.582455070201396
+4.6,0.4185703679469545,1.229090630438079,1.581429632053049
+4.7,0.4194542345762013,1.229974497067326,1.580545765423802
+4.8,0.4202159702265645,1.230736232717689,1.579784029773439
+4.9,0.4208723789325573,1.231392641423682,1.579127621067446
+5.,0.4214379653580305,1.231958227849155,1.578562034641973
diff --git a/models/sbml-test-suite/cases/semantic/00412/00412-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00412/00412-sbml-l2v4.xml
new file mode 100644
index 0000000..616b43d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00412/00412-sbml-l2v4.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00412" id="case00412" name="case00412">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00412/00412-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00412/00412-sbml-l3v1.xml
new file mode 100644
index 0000000..9854d46
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00412/00412-sbml-l3v1.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00412" id="case00412" name="case00412" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00412/00412-settings.txt b/models/sbml-test-suite/cases/semantic/00412/00412-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00412/00412-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00413/00413-results.csv b/models/sbml-test-suite/cases/semantic/00413/00413-results.csv
new file mode 100644
index 0000000..a5d17bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00413/00413-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842698306,1.88909418426983,1.110905815730169
+0.2,0.8013223155399747,1.801322315539974,1.198677684460025
+0.3,0.730928201625579,1.73092820162558,1.26907179837442
+0.4,0.6738662227329046,1.673866222732906,1.326133777267093
+0.5,0.6272103607552682,1.62721036075527,1.372789639244729
+0.6,0.6097511705619845,0.9911192295584052,1.390248829438014
+0.7,0.5999105982410568,0.9812786572374775,1.400089401758942
+0.8,0.5913865462987476,0.9727546052951683,1.408613453701251
+0.9,0.583993403292725,0.9653614622891457,1.416006596707274
+1.,0.5775739873626716,0.9589420463590923,1.422426012637327
+1.1,0.5719946653930485,0.9533627243894692,1.428005334606951
+1.2,0.5671414208686108,0.9485094798650315,1.432858579131388
+1.3,0.5629166807741372,0.9442847397705579,1.437083319225862
+1.4,0.5592367125732374,0.9406047715696581,1.440763287426761
+1.5,0.5560294935775436,0.9373975525739642,1.443970506422455
+1.6,0.5532329424072736,0.9346010014036942,1.446767057592725
+1.7,0.5507934486963462,0.9321615076927669,1.449206551303652
+1.8,0.9694863080952634,0.901609329706934,1.479758729289487
+1.9,0.9431419070695659,0.8752649286812365,1.506103130315184
+2.,0.9207258565307056,0.8528488781423762,1.528519180854044
+2.1,0.9015878323703433,0.8337108539820139,1.547657205014406
+2.2,0.8852012777875362,0.8173242993992068,1.564043759597213
+2.3,0.8711359366341293,0.8032589582457999,1.57810910075062
+2.4,0.859037393828322,0.7911604154399926,1.590207643556427
+2.5,0.8486116470539378,0.7807346686656084,1.600633390330811
+2.6,0.8396132880011525,0.7717363096128231,1.609631749383597
+2.7,0.8318363715932309,0.7639593932049015,1.617408665791519
+2.8,0.825107220069687,0.7572302416813576,1.624137817315063
+2.9,0.8192787691434234,0.751401790755094,1.629966268241327
+3.,0.8142260282744494,0.74634904988612,1.635019009110301
+3.1,0.8098424252278396,0.7419654468395102,1.63940261215691
+3.2,0.806036835118738,0.7381598567304086,1.643208202266012
+3.3,0.8027311500928227,0.7348541717044933,1.646513887291927
+3.4,0.7998582730347578,0.7319812946464284,1.649386764349992
+3.5,0.7973604573231352,0.7294834789348058,1.651884580061615
+3.6,0.7951879211956217,0.7273109428072923,1.654057116189129
+3.7,0.7932976867164556,0.7254207083281262,1.655947350668294
+3.8,0.7916526035041181,0.7237756251157887,1.657592433880632
+3.9,0.7902205223346211,0.7223435439462917,1.659024515050129
+4.,0.7889735973715501,0.7210966189832207,1.6602714400132
+4.1,0.7878876821112373,0.7200107037229079,1.661357355273513
+4.2,0.7869418351587166,0.7190648567703872,1.662303202226034
+4.3,0.7861178699581079,0.7182408915697785,1.663127167426643
+4.4,0.7853999928132022,0.7175230144248728,1.663845044571549
+4.5,0.7847744761119642,0.7168974977236348,1.664470561272787
+4.6,0.7842293878714061,0.7163524094830767,1.665015649513345
+4.7,0.7837543448075139,0.7158773664191845,1.665490692577237
+4.8,0.7833403183515216,0.7154633399631922,1.665904719033229
+4.9,0.7829794484540451,0.7151024700657157,1.666265588930706
+5.,0.7826648927315912,0.7147879143432618,1.66658014465316
diff --git a/models/sbml-test-suite/cases/semantic/00413/00413-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00413/00413-sbml-l2v4.xml
new file mode 100644
index 0000000..63bc215
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00413/00413-sbml-l2v4.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00413" id="case00413" name="case00413">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.5"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.25 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00413/00413-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00413/00413-sbml-l3v1.xml
new file mode 100644
index 0000000..861d1f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00413/00413-sbml-l3v1.xml
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00413" id="case00413" name="case00413" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.5" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.25 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00413/00413-settings.txt b/models/sbml-test-suite/cases/semantic/00413/00413-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00413/00413-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00414/00414-results.csv b/models/sbml-test-suite/cases/semantic/00414/00414-results.csv
new file mode 100644
index 0000000..4562606
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00414/00414-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842698306,1.88909418426983,1.110905815730169
+0.2,0.8013223155399747,1.801322315539974,1.198677684460025
+0.3,0.7309282016284016,1.7309282016284,1.269071798371599
+0.4,0.6738662230038553,1.673866223003853,1.326133776996146
+0.5,0.6272103607277154,1.627210360727713,1.372789639272286
+0.6,0.5887929241072837,1.588792924107282,1.411207075892717
+0.7,0.556975059715807,1.556975059715805,1.443024940284195
+0.8,0.5304961562433023,1.530496156243299,1.4695038437567
+0.9,0.5083721055816997,1.508372105581697,1.491627894418302
+1.,0.4898248811470543,1.489824881147052,1.510175118852948
+1.1,0.4742326531219135,1.474232653121911,1.525767346878088
+1.2,0.4610937611353473,1.461093761135345,1.538906238864654
+1.3,0.4548482623751935,1.198627131402665,1.545151737624809
+1.4,0.4527478073067043,1.196526676334176,1.547252192693298
+1.5,0.954160507925058,1.150654261042933,1.593124607984541
+1.6,0.9152683989612253,1.111762152079101,1.632016716948373
+1.7,0.8826913986041711,1.079185151722047,1.664593717305427
+1.8,0.8552696345042167,1.051763387622092,1.692015481405382
+1.9,0.832091632211471,1.028585385329347,1.715193483698127
+2.,0.8124320450336672,1.008925798151543,1.734853070875931
+2.1,0.7957072926289591,0.9922010457468353,1.751577823280639
+2.2,0.7814433386193071,0.9779370917371833,1.76584177729029
+2.3,0.7692519511995192,0.9657457043173954,1.778033164710078
+2.4,0.7588128190765151,0.9553065721943913,1.788472296833083
+2.5,0.7498600277528922,0.9463537808707684,1.797425088156706
+2.6,0.7421715888985339,0.9386653420164101,1.805113527011064
+2.7,0.7355612954079576,0.9320550485258338,1.81172382050164
+2.8,0.7298722977875871,0.9263660509054633,1.817412818122011
+2.9,0.7249719998353563,0.9214657529532325,1.822313116074241
+3.,0.7207479404459497,0.9172416935638259,1.826537175463648
+3.1,0.7171044825132804,0.9135982356311566,1.830180633396317
+3.2,0.7139601000316906,0.9104538531495668,1.833325015877907
+3.3,0.710221519291153,1.198809053446619,1.837063596618444
+3.4,0.6937114228884979,1.182298957043965,1.853573693021099
+3.5,0.6797233034826806,1.168310837638147,1.867561812426916
+3.6,0.6678469056539184,1.156434439809385,1.879438210255678
+3.7,0.6577453682517411,1.146332902407208,1.889539747657855
+3.8,0.6491403600464388,1.137727894201906,1.898144755863158
+3.9,0.6418006623069286,1.130388196462395,1.905484453602668
+4.,0.6355332921379605,1.124120826293427,1.911751823771636
+4.1,0.6301765294869126,1.11876406364238,1.917108586422684
+4.2,0.6255943709660455,1.114181905121512,1.921690744943551
+4.3,0.6216721032070329,1.1102596373625,1.925613012702563
+4.4,0.6183127061910359,1.106900240346503,1.928972409718561
+4.5,0.6154339501891199,1.104021484344587,1.931851165720477
+4.6,0.6129659971249037,1.10155353128037,1.934319118784693
+4.7,0.6108494385608668,1.099436972716333,1.93643567734873
+4.8,0.6090336635003521,1.097621197655819,1.938251452409245
+4.9,0.6074755005240041,1.096063034679471,1.939809615385593
+5.,0.6061380916869021,1.094725625842369,1.941147024222695
diff --git a/models/sbml-test-suite/cases/semantic/00414/00414-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00414/00414-sbml-l2v4.xml
new file mode 100644
index 0000000..cae2a17
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00414/00414-sbml-l2v4.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00414" id="case00414" name="case00414">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.5"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.77 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00414/00414-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00414/00414-sbml-l3v1.xml
new file mode 100644
index 0000000..3e8873c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00414/00414-sbml-l3v1.xml
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00414" id="case00414" name="case00414" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.5" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.77 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00414/00414-settings.txt b/models/sbml-test-suite/cases/semantic/00414/00414-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00414/00414-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00415/00415-results.csv b/models/sbml-test-suite/cases/semantic/00415/00415-results.csv
new file mode 100644
index 0000000..6837f81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00415/00415-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883850672,1.941205288385067,1.058794711614933
+0.1,0.8890941842701964,1.889094184270196,1.110905815729803
+0.15,0.8427255019056684,1.842725501905668,1.157274498094331
+0.2,0.8013223155398252,1.801322315539825,1.198677684460174
+0.25,0.7642376047395395,1.76423760473954,1.235762395260459
+0.3,0.7309282008989562,1.730928200898957,1.269071799101042
+0.35,0.700934761020033,1.700934761020034,1.299065238979965
+0.4,0.6738662232719148,1.673866223271916,1.326133776728083
+0.45,0.6493876112417953,1.649387611241796,1.350612388758203
+0.5,0.6272103623611853,1.627210362361186,1.372789637638813
+0.55,0.6070846034784115,1.607084603478413,1.392915396521587
+0.6,0.5887929237482429,1.588792923748244,1.411207076251755
+0.65,0.9645056825966308,1.46450568259663,1.447274091619809
+0.7,0.9313589448327384,1.431358944832738,1.480420829383701
+0.75,0.9014007604644372,1.401400760464437,1.510379013752002
+0.8,0.8742633766380379,1.374263376638037,1.537516397578402
+0.85,0.8496310107446887,1.349631010744688,1.562148763471751
+0.9,0.8272310101203266,1.327231010120326,1.584548764096114
+0.95,0.806826750596621,1.30682675059662,1.604953023619819
+1.,0.7882119033845924,1.288211903384592,1.623567870831847
+1.05,0.7712057820976323,1.271205782097632,1.640573992118807
+1.1,0.7556494966249779,1.255649496624977,1.656130277591462
+1.15,0.7414028053448672,1.241402805344867,1.670376968871572
+1.2,0.728341491544722,1.228341491544721,1.683438282671718
+1.25,0.7163551709725761,1.216355170972575,1.695424603243864
+1.3,0.7053454729247828,1.205345472924782,1.706434301291657
+1.35,0.6952244499054171,1.195224449905416,1.716555324311023
+1.4,0.6859132973989808,1.18591329739898,1.725866476817459
+1.45,0.6773412196188898,1.177341219618889,1.73443855459755
+1.5,0.6694444708302329,1.169444470830232,1.742335303386207
+1.55,0.6621655322009035,1.162165532200902,1.749614242015537
+1.6,0.9838557954034962,1.483855795403496,1.76930143960408
+1.65,0.9528690688691314,1.452869068869131,1.800288166138445
+1.7,0.9249082006521501,1.42490820065215,1.828249034355427
+1.75,0.8996246404580609,1.39962464045806,1.853532594549516
+1.8,0.8767185500683418,1.376718550068341,1.876438684939236
+1.85,0.8559306194633654,1.355930619463364,1.897226615544212
+1.9,0.8370354940957287,1.337035494095727,1.916121740911849
+1.95,0.8198364256558603,1.319836425655859,1.933320809351717
+2.,0.8041609344757327,1.304160934475732,1.948996300531845
+2.05,0.78985722109259,1.289857221092589,1.963300013914987
+2.1,0.7767912079915554,1.276791207991554,1.976366027016022
+2.15,0.7648440773546207,1.264844077354619,1.988313157652957
+2.2,0.753910208570125,1.253910208570124,1.999247026437452
+2.25,0.7438954394767904,1.24389543947679,2.009261795530787
+2.3,0.734715622444185,1.234715622444184,2.018441612563392
+2.35,0.7262953257134894,1.226295325713489,2.026861909294087
+2.4,0.7185668351826464,1.218566835182646,2.03459039982493
+2.45,0.7114691872161099,1.211469187216109,2.041688047791467
+2.5,0.7049474165844912,1.204947416584491,2.048209818423086
diff --git a/models/sbml-test-suite/cases/semantic/00415/00415-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00415/00415-sbml-l2v4.xml
new file mode 100644
index 0000000..fcb4a04
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00415/00415-sbml-l2v4.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00415" id="case00415" name="case00415">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.25 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00415/00415-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00415/00415-sbml-l3v1.xml
new file mode 100644
index 0000000..826b97b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00415/00415-sbml-l3v1.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00415" id="case00415" name="case00415" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.25 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00415/00415-settings.txt b/models/sbml-test-suite/cases/semantic/00415/00415-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00415/00415-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00416/00416-results.csv b/models/sbml-test-suite/cases/semantic/00416/00416-results.csv
new file mode 100644
index 0000000..d950701
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00416/00416-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842710865,1.889094184271088,1.110905815728911
+0.2,0.8013223155416077,1.801322315541609,1.19867768445839
+0.3,0.7309282008849195,1.730928200884921,1.269071799115078
+0.4,0.6738662218452364,1.673866221845238,1.326133778154761
+0.5,0.6272103584639842,1.627210358463986,1.372789641536013
+0.6,0.5887929226888759,1.588792922688877,1.411207077311122
+0.7,0.5569750597937039,1.556975059793705,1.443024940206294
+0.8,0.5304961560923362,1.530496156092337,1.469503843907662
+0.9,0.5083721056626845,1.508372105662686,1.491627894337313
+1.,0.4898248827858308,1.489824882785832,1.510175117214167
+1.1,0.4742326533013826,1.474232653301384,1.525767346698615
+1.2,0.4610937655793579,1.461093765579359,1.53890623442064
+1.3,0.4500002440071792,1.45000024400718,1.549999755992819
+1.4,0.4406180019310236,1.440618001931025,1.559381998068974
+1.5,0.43267183498093,1.43267183498093,1.567328165019069
+1.6,0.4259338605134929,1.425933860513493,1.574066139486506
+1.7,0.4202145773932609,1.420214577393262,1.579785422606738
+1.8,0.4153557874296201,1.415355787429621,1.584644212570378
+1.9,0.4112249987438322,1.411224998743833,1.588775001256166
+2.,0.4077109482025559,1.407710948202557,1.592289051797442
+2.1,0.4047199733294797,1.40471997332948,1.595280026670519
+2.2,0.4021730654876652,1.402173065487666,1.597826934512333
+2.3,0.400003461279654,1.400003461279655,1.599996538720345
+2.4,0.3981546618840681,1.398154661884069,1.60184533811593
+2.5,0.3965787933606171,1.396578793360618,1.603421206639381
+2.6,0.9781474919441027,1.478147491944102,1.62622090709669
+2.7,0.91689213308559,1.416892133085589,1.687476265955203
+2.8,0.8667560867556585,1.366756086755658,1.737612312285135
+2.9,0.82540877055204,1.32540877055204,1.778959628488753
+3.,0.7910958915855327,1.291095891585533,1.81327250745526
+3.1,0.7624727857693636,1.262472785769363,1.841895613271429
+3.2,0.7384926059291468,1.238492605929146,1.865875793111646
+3.3,0.7183294236287792,1.218329423628779,1.886038975412014
+3.4,0.701324039009362,1.201324039009361,1.903044360031431
+3.5,0.6869450814580566,1.186945081458056,1.917423317582736
+3.6,0.6747605233521123,1.174760523352112,1.929607875688681
+3.7,0.6644164945803805,1.16441649458038,1.939951904460412
+3.8,0.6556212803629579,1.155621280362958,1.948747118677835
+3.9,0.6481330513805161,1.148133051380516,1.956235347660277
+4.,0.641750391091889,1.141750391091889,1.962618007948904
+4.1,0.6363048415512401,1.13630484155124,1.968063557489552
+4.2,0.631655001322992,1.131655001322992,1.972713397717801
+4.3,0.6276818167482813,1.127681816748281,1.976686582292511
+4.4,0.6242847865896534,1.124284786589654,1.980083612451139
+4.5,0.6213788768212091,1.12137887682121,1.982989522219583
+4.6,0.618891995910542,1.118891995910542,1.98547640313025
+4.7,0.6167629242468221,1.116762924246822,1.98760547479397
+4.8,0.6149395952469541,1.114939595246954,1.989428803793838
+4.9,0.6133776741258875,1.113377674125888,1.990990724914905
+5.,0.6120393683253549,1.112039368325356,1.992329030715437
diff --git a/models/sbml-test-suite/cases/semantic/00416/00416-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00416/00416-sbml-l2v4.xml
new file mode 100644
index 0000000..377e709
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00416/00416-sbml-l2v4.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00416" id="case00416" name="case00416">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.5"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.6 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00416/00416-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00416/00416-sbml-l3v1.xml
new file mode 100644
index 0000000..c40bf0e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00416/00416-sbml-l3v1.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00416" id="case00416" name="case00416" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.5" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.6 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00416/00416-settings.txt b/models/sbml-test-suite/cases/semantic/00416/00416-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00416/00416-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00417/00417-results.csv b/models/sbml-test-suite/cases/semantic/00417/00417-results.csv
new file mode 100644
index 0000000..207ab77
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00417/00417-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.92212732611392,1.922127326113919,1.07787267388608
+0.12,0.8550142421543439,1.855014242154343,1.144985757845657
+0.18,0.7967985160353173,1.796798516035316,1.203201483964683
+0.24,0.7460164109255067,1.746016410925506,1.253983589074493
+0.3,0.7015014057374416,1.701501405737441,1.298498594262558
+0.36,0.6623123673429967,1.662312367342996,1.337687632657003
+0.42,0.6276816098177526,1.627681609817752,1.372318390182247
+0.48,0.5969767166241301,1.59697671662413,1.40302328337587
+0.54,0.5696720411427814,1.569672041142781,1.430327958857218
+0.6,0.5453271496408063,1.545327149640806,1.454672850359193
+0.66,0.5235702858268345,1.523570285826834,1.476429714173165
+0.72,0.5040855722741094,1.504085572274109,1.49591442772589
+0.78,0.4866029737588755,1.486602973758875,1.513397026241124
+0.84,0.4708903617758937,1.470890361775893,1.529109638224106
+0.9,0.4567471680935787,1.456747168093578,1.543252831906421
+0.96,0.4439993116782449,1.443999311678244,1.556000688321755
+1.02,0.4324950298364945,1.432495029836494,1.567504970163505
+1.08,0.4221015153318185,1.422101515331818,1.577898484668181
+1.14,0.4127021294094863,1.412702129409485,1.587297870590514
+1.2,0.4041940970356728,1.404194097035672,1.595805902964327
+1.26,0.3964865859157034,1.396486585915703,1.603513414084297
+1.32,0.389499095396984,1.389499095396983,1.610500904603016
+1.38,0.383160111236489,1.383160111236488,1.616839888763511
+1.44,0.3774059337042784,1.377405933704277,1.622594066295722
+1.5,0.3721797237099238,1.372179723709923,1.627820276290076
+1.56,0.3735604327738485,1.001560056573353,1.626439567226151
+1.62,0.3750595655960583,1.003059189395562,1.624940434403942
+1.68,0.3764460050686783,1.004445628868182,1.623553994931322
+1.74,0.3777280517920152,1.005727675591519,1.622271948207984
+1.8,0.3789134200498632,1.006913043849367,1.621086579950136
+1.86,0.3800092758473077,1.008008899646812,1.619990724152692
+1.92,0.3810222708440407,1.009021894643545,1.618977729155959
+1.98,0.3819585804451896,1.009958204244694,1.61804141955481
+2.04,0.3828239313624937,1.010823555161998,1.617176068637506
+2.1,0.383623635225027,1.011623259024532,1.616376364774972
+2.16,0.3843626149374139,1.012362238736918,1.615637385062585
+2.22,0.3850454328617667,1.013045056661271,1.614954567138233
+2.28,0.3856763159234514,1.013675939722956,1.614323684076548
+2.34,0.3862591791825206,1.014258802982025,1.613740820817479
+2.4,0.3867976476345254,1.01479727143403,1.613202352365474
+2.46,0.3872950766562245,1.015294700455729,1.612704923343775
+2.52,0.3877545719835841,1.015754195783088,1.612245428016416
+2.58,0.3881790077871435,1.016178631586648,1.611820992212856
+2.64,0.3885710433659508,1.016570667165455,1.611428956634049
+2.7,0.388933138320998,1.016932762120502,1.611066861679002
+2.76,0.3892675683748834,1.017267192174387,1.610732431625116
+2.82,0.3895764348306328,1.017576058630137,1.610423565169367
+2.88,0.3898616856056408,1.017861309405145,1.610138314394359
+2.94,0.3901251182894259,1.01812474208893,1.609874881710574
+3.,0.3903683957783447,1.018368019577849,1.609631604221655
diff --git a/models/sbml-test-suite/cases/semantic/00417/00417-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00417/00417-sbml-l2v4.xml
new file mode 100644
index 0000000..9ee8faf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00417/00417-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00417" id="case00417" name="case00417">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00417/00417-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00417/00417-sbml-l3v1.xml
new file mode 100644
index 0000000..c8d9a7a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00417/00417-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00417" id="case00417" name="case00417" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00417/00417-settings.txt b/models/sbml-test-suite/cases/semantic/00417/00417-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00417/00417-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00418/00418-results.csv b/models/sbml-test-suite/cases/semantic/00418/00418-results.csv
new file mode 100644
index 0000000..3e9413a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00418/00418-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.08,0.8986623154577072,1.898662315457707,1.101337684542292
+0.16,0.8153124563466905,1.815312456346691,1.184687543653308
+0.24,0.7460164109307722,1.746016410930773,1.253983589069227
+0.32,0.687887681291754,1.687887681291754,1.312112318708245
+0.4,0.6387601948003537,1.638760194800354,1.361239805199645
+0.48,0.5969767153762776,1.596976715376277,1.403023284623722
+0.56,0.5612478472183004,1.5612478472183,1.4387521527817
+0.64,0.5305555424397945,1.530555542439794,1.469444457560205
+0.72,0.5040855716440134,1.504085571644012,1.495914428355987
+0.8,0.4811792718630637,1.481179271863063,1.518820728136936
+0.88,0.4612984295737804,1.46129842957378,1.538701570426219
+0.96,0.4439993144687955,1.443999314468795,1.556000685531204
+1.04,0.4289131768444042,1.428913176844403,1.571086823155596
+1.12,0.4157314069307296,1.415731406930729,1.58426859306927
+1.2,0.4041940935830866,1.404194093583086,1.595805906416913
+1.28,0.3940811235653238,1.394081123565323,1.605918876434676
+1.36,0.3852051325671285,1.385205132567128,1.614794867432871
+1.44,0.3774059352000676,1.377405935200067,1.622594064799932
+1.52,0.3705460345587988,1.370546034558798,1.629453965441201
+1.6,0.3645069915949916,1.364506991594991,1.635493008405008
+1.68,0.359186457489415,1.359186457489414,1.640813542510585
+1.76,0.3544957461655912,1.35449574616559,1.645504253834409
+1.84,0.3503578126666379,1.350357812666637,1.649642187333362
+1.92,0.3467055741077662,1.346705574107766,1.653294425892234
+2.,0.3434805079480224,1.343480507948022,1.656519492051977
+2.08,0.3406314737261576,1.340631473726157,1.659368526273842
+2.16,0.3381137092082591,1.338113709208258,1.661886290791741
+2.24,0.3358879751163335,1.335887975116333,1.664112024883666
+2.32,0.3339198362371741,1.333919836237173,1.666080163762826
+2.4,0.3321790427315868,1.332179042731586,1.667820957268413
+2.48,0.3303613418642678,1.499609016405623,1.669638658135732
+2.56,0.3256866825506977,1.494934357092053,1.674313317449302
+2.64,0.3215922662295473,1.490839940770902,1.678407733770453
+2.72,0.3180041845000821,1.487251859041437,1.681995815499918
+2.8,0.3148583729900508,1.484106047531406,1.685141627009949
+2.88,0.3120992021209749,1.48134687666233,1.687900797879025
+2.96,0.3096782959753752,1.47892597051673,1.690321704024625
+3.04,0.3075535223397171,1.476801196881072,1.692446477660283
+3.12,0.3056881494156114,1.474935823956966,1.694311850584389
+3.2,0.3040501164013345,1.473297790942689,1.695949883598666
+3.28,0.3026114135646702,1.471859088106025,1.69738858643533
+3.36,0.3013475522040778,1.470595226745433,1.698652447795922
+3.44,0.3002371039378372,1.469484778479192,1.699762896062163
+3.52,0.29926130702591,1.468508981567265,1.70073869297409
+3.6,0.2984037266338123,1.467651401175167,1.701596273366188
+3.68,0.2976499581988165,1.466897632740171,1.702350041801183
+3.76,0.2969873714604128,1.466235046001768,1.703012628539587
+3.84,0.2964048863119961,1.465652560853351,1.703595113688003
+3.92,0.2958927805509361,1.465140455092291,1.704107219449064
+4.,0.2954425219242984,1.464690196465654,1.704557478075701
diff --git a/models/sbml-test-suite/cases/semantic/00418/00418-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00418/00418-sbml-l2v4.xml
new file mode 100644
index 0000000..fffb23f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00418/00418-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00418" id="case00418" name="case00418">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.6 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00418/00418-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00418/00418-sbml-l3v1.xml
new file mode 100644
index 0000000..1527f7f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00418/00418-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00418" id="case00418" name="case00418" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.6 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00418/00418-settings.txt b/models/sbml-test-suite/cases/semantic/00418/00418-settings.txt
new file mode 100644
index 0000000..ed578e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00418/00418-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00419/00419-results.csv b/models/sbml-test-suite/cases/semantic/00419/00419-results.csv
new file mode 100644
index 0000000..ca5606c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00419/00419-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.08,0.8986623154568508,1.89866231545685,1.101337684543149
+0.16,0.8153124563474513,1.815312456347451,1.184687543652548
+0.24,0.7460164109301842,1.746016410930184,1.253983589069815
+0.32,0.6878876817014044,1.687887681701405,1.312112318298594
+0.4,0.6387601939655629,1.638760193965564,1.361239806034436
+0.48,0.5969767160191523,1.596976716019153,1.403023283980846
+0.56,0.5612478467581697,1.56124784675817,1.438752153241829
+0.64,0.53055554308257,1.530555543082571,1.469444456917428
+0.72,0.5040855719034077,1.504085571903408,1.495914428096591
+0.8,0.481179271294542,1.481179271294543,1.518820728705456
+0.88,0.4676592009753891,1.237055538155781,1.53234079902461
+0.96,0.455899146519466,1.225295483699858,1.544100853480534
+1.04,0.44550666117768,1.214902998358071,1.55449333882232
+1.12,0.436310453067391,1.205706790247782,1.563689546932609
+1.2,0.4281632083199649,1.197559545500356,1.571836791680035
+1.28,0.4209377266656991,1.19033406384609,1.579062273334301
+1.36,0.414523777880636,1.183920115061027,1.585476222119364
+1.44,0.4088255243964716,1.178221861576863,1.591174475603528
+1.52,0.4037594059077925,1.173155743088184,1.596240594092207
+1.6,0.3992523666568036,1.168648703837195,1.600747633343196
+1.68,0.3952403892829661,1.164636726463357,1.604759610717034
+1.76,0.3916672565050965,1.161063593685488,1.608332743494903
+1.84,0.3884835052448482,1.157879842425239,1.611516494755152
+1.92,0.3856455485869563,1.155041885767348,1.614354451413043
+2.,0.3831149012603666,1.152511238440758,1.616885098739633
+2.08,0.3808575590211965,1.150253896201588,1.619142440978803
+2.16,0.3788434185954137,1.148239755775805,1.621156581404586
+2.24,0.3770458152432424,1.146442152423634,1.622954184756757
+2.32,0.3754410993306275,1.144837436511019,1.624558900669372
+2.4,0.3740082776200388,1.14340461480043,1.625991722379961
+2.48,0.3727287017451881,1.142125038925579,1.627271298254812
+2.56,0.3715857964723151,1.140982133652706,1.628414203527685
+2.64,0.3705648126611139,1.139961149841505,1.629435187338886
+2.72,0.3696526232691016,1.139048960449493,1.630347376730898
+2.8,0.3688375423217367,1.138233879502128,1.631162457678264
+2.88,0.3681091555795534,1.137505492759944,1.631890844420447
+2.96,0.3674581792007334,1.136854516381124,1.632541820799267
+3.04,0.3668763392699926,1.136272676450384,1.633123660730007
+3.12,0.3663562544087907,1.135752591589182,1.633643745591209
+3.2,0.3658913391081333,1.135287676288524,1.634108660891867
+3.28,0.365475716231653,1.134872053412044,1.634524283768347
+3.36,0.3651041396077803,1.134500476788171,1.63489586039222
+3.44,0.3647719253232394,1.13416826250363,1.635228074676761
+3.52,0.364474890861505,1.133871228041896,1.635525109138495
+3.6,0.3642093009201556,1.133605638100547,1.635790699079845
+3.68,0.3639718187578283,1.133368155938219,1.636028181242172
+3.76,0.3637594632893408,1.133155800469732,1.63624053671066
+3.84,0.3635695708054843,1.132965907985875,1.636430429194516
+3.92,0.363399761067365,1.132796098247756,1.636600238932635
+4.,0.363247906638374,1.132644243818765,1.636752093361626
diff --git a/models/sbml-test-suite/cases/semantic/00419/00419-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00419/00419-sbml-l2v4.xml
new file mode 100644
index 0000000..754c888
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00419/00419-sbml-l2v4.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00419" id="case00419" name="case00419">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00419/00419-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00419/00419-sbml-l3v1.xml
new file mode 100644
index 0000000..998328a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00419/00419-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00419" id="case00419" name="case00419" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.8" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00419/00419-settings.txt b/models/sbml-test-suite/cases/semantic/00419/00419-settings.txt
new file mode 100644
index 0000000..ed578e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00419/00419-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00420/00420-results.csv b/models/sbml-test-suite/cases/semantic/00420/00420-results.csv
new file mode 100644
index 0000000..09b856a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00420/00420-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.5,0.9412052883849523,1.941205288384951,1.058794711615048
+1.,0.8890941842696826,1.889094184269681,1.110905815730318
+1.5,0.8427255019053742,1.842725501905372,1.157274498094627
+2.,0.8013223155384274,1.801322315538425,1.198677684461574
+2.5,0.7642376047410027,1.764237604741001,1.235762395258998
+3.,0.7309282020917111,1.730928202091709,1.26907179790829
+3.5,0.7009347609710195,1.700934760971018,1.299065239028981
+4.,0.6738662231128648,1.673866223112863,1.326133776887136
+4.5,0.649387611052792,1.649387611052791,1.350612388947209
+5.,0.6272103609342708,1.627210360934269,1.37278963906573
+5.5,0.6070846028045154,1.607084602804514,1.392915397195485
+6.,0.5887929242947093,1.588792924294707,1.411207075705292
+6.5,0.5721453209287207,1.572145320928718,1.427854679071281
+7.,0.5569750611968954,1.556975061196893,1.443024938803106
+7.5,0.5431352798598068,1.543135279859804,1.456864720140195
+8.,0.5366743695065251,0.9989170841433457,1.463325630493477
+8.5,0.5349244431337041,0.9971671577705247,1.465075556866298
+9.,0.5332927490360116,0.9955354636728323,1.466707250963991
+9.5,0.5317711125651193,0.9940138272019399,1.468228887434883
+10.,0.530351948277623,0.9925946629144436,1.469648051722379
+10.5,0.5290282143638982,0.9912709290007188,1.470971785636104
+11.,0.5277933709963241,0.9900360856331448,1.472206629003678
+11.5,0.5266413421829848,0.9888840568198055,1.473358657817017
+12.,0.5255664812993754,0.987809195936196,1.474433518700627
+12.5,0.5245635380844399,0.9868062527212605,1.475436461915563
+13.,0.5236276303867195,0.9858703450235402,1.476372369613283
+13.5,0.5227542145439044,0.9849969291807251,1.477245785456098
+14.,0.5219390687494912,0.9841817833863119,1.478060931250511
+14.5,0.5211782552916904,0.9834209699285111,1.478821744708312
+15.,0.5204681131779067,0.9827108278147274,1.479531886822096
+15.5,0.5198052323565508,0.9820479469933715,1.480194767643452
+16.,0.9888784519978189,0.9706886378433154,1.491554076793508
+16.5,0.9722484795387328,0.9540586653842293,1.508184049252594
+17.,0.9569698785347102,0.9387800643802067,1.523462650256617
+17.5,0.9429167180787008,0.9247269039241973,1.537515810712626
+18.,0.9299770617316486,0.9117872475771451,1.550455467059678
+18.5,0.9180510972838857,0.8998612831293822,1.562381431507441
+19.,0.9070495640567488,0.8888597499022453,1.573382964734577
+19.5,0.8968924177386968,0.8787026035841933,1.583540111052629
+20.,0.8875076955446719,0.8693178813901684,1.592924833246654
+20.5,0.8788305444776134,0.8606407303231099,1.601601984313713
+21.,0.8708023863060097,0.8526125721515062,1.609630142485316
+21.5,0.8633702069981323,0.8451803928436288,1.617062321793194
+22.,0.8564859155324782,0.8382961013779747,1.623946613258848
+22.5,0.8501058330990353,0.8319160189445318,1.630326695692291
+23.,0.8441901915179241,0.8260003773634206,1.636242337273402
+23.5,0.838702751145991,0.8205129369914875,1.641729777645336
+24.,0.833610413836913,0.8154205996824095,1.646822114954414
+24.5,0.8288829284673624,0.8106931143128589,1.651549600323964
+25.,0.8244925963887485,0.806302782234245,1.655939932402578
diff --git a/models/sbml-test-suite/cases/semantic/00420/00420-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00420/00420-sbml-l2v4.xml
new file mode 100644
index 0000000..b6ed548
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00420/00420-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00420" id="case00420" name="case00420">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00420/00420-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00420/00420-sbml-l3v1.xml
new file mode 100644
index 0000000..80364a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00420/00420-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00420" id="case00420" name="case00420" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00420/00420-settings.txt b/models/sbml-test-suite/cases/semantic/00420/00420-settings.txt
new file mode 100644
index 0000000..3908943
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00420/00420-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00421/00421-results.csv b/models/sbml-test-suite/cases/semantic/00421/00421-results.csv
new file mode 100644
index 0000000..2d59d1e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00421/00421-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.5,0.9412052883848987,1.941205288384898,1.058794711615101
+1.,0.8890941842702448,1.889094184270244,1.110905815729756
+1.5,0.8427255019057344,1.842725501905733,1.157274498094266
+2.,0.8013223155945934,1.801322315594592,1.198677684405407
+2.5,0.7642376060985581,1.764237606098557,1.235762393901442
+3.,0.7309282017232385,1.730928201723238,1.269071798276761
+3.5,0.7009347605607592,1.700934760560758,1.299065239439241
+4.,0.6738662215735278,1.673866221573526,1.326133778426473
+4.5,0.6493876101270086,1.649387610127007,1.350612389872992
+5.,0.6272103613653005,1.627210361365299,1.3727896386347
+5.5,0.6070846025296399,1.607084602529638,1.392915397470361
+6.,0.5887929230783179,1.588792923078316,1.411207076921683
+6.5,0.5721453202298291,1.572145320229827,1.427854679770172
+7.,0.9623099714263593,1.533918617658344,1.466081382341655
+7.5,0.9271634265198247,1.498772072751809,1.50122792724819
+8.,0.8954731286514684,1.467081774883453,1.532918225116546
+8.5,0.8668310557436881,1.438439701975672,1.561560298024327
+9.,0.840888226032128,1.412496872264112,1.587503127735887
+9.5,0.8173444055362507,1.388953051768235,1.611046948231764
+10.,0.7959399192678245,1.367548565499809,1.63245143450019
+10.5,0.7764490571668195,1.348057703398804,1.651942296601195
+11.,0.7586747251204951,1.33028337135248,1.66971662864752
+11.5,0.7424440957237912,1.314052741955776,1.685947258044223
+12.,0.7278195735874196,0.9998413999684163,1.700571780180595
+12.5,0.7220145928414855,0.9940364192224822,1.706376760926529
+13.,0.7166390528362753,0.988660879217272,1.711752300931739
+13.5,0.7116591751747133,0.98368100155571,1.716732178593302
+14.,0.7070441122209881,0.9790659386019848,1.721347241547027
+14.5,0.7027656561855611,0.9747874825665578,1.725625697582454
+15.,0.6987979821619283,0.970819808542925,1.729593371606087
+15.5,0.6951174189730711,0.9671392453540678,1.733273934794944
+16.,0.6917022470281759,0.9637240734091726,1.736689106739839
+16.5,0.6885325169444471,0.9605543433254438,1.739858836823568
+17.,0.6855898891065088,0.9576117154875055,1.742801464661507
+17.5,0.6828574901734128,0.9548793165544095,1.745533863594603
+18.,0.6803197801938264,0.9523416065748231,1.748071573574189
+18.5,0.677962436712557,0.9499842630935537,1.750428917055459
+19.,0.6757722525885181,0.9477940789695148,1.752619101179498
+19.5,0.6737370412122765,0.9457588675932732,1.754654312555739
+20.,0.6718455466805565,0.9438673730615532,1.756545807087459
+20.5,0.6700873726341117,0.9421091990151084,1.758303981133904
+21.,0.6684529054525904,0.9404747318335871,1.759938448315425
+21.5,0.6669332545540223,0.938955080935019,1.761458099213993
+22.,0.6655201932594072,0.9375420196404039,1.762871160508608
+22.5,0.6642061058984661,0.9362279322794628,1.764185247869549
+23.,0.662983939563205,0.9350057659442017,1.76540741420481
+23.5,0.6618471600459068,0.9338689864269035,1.766544193722108
+24.,0.6607897115513481,0.9328115379323448,1.767601642216667
+24.5,0.6598059806097718,0.9318278069907685,1.768585373158243
+25.,0.6588907592527786,0.9309125856337753,1.769500594515237
diff --git a/models/sbml-test-suite/cases/semantic/00421/00421-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00421/00421-sbml-l2v4.xml
new file mode 100644
index 0000000..bb1234b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00421/00421-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00421" id="case00421" name="case00421">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 7.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00421/00421-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00421/00421-sbml-l3v1.xml
new file mode 100644
index 0000000..b98acb9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00421/00421-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00421" id="case00421" name="case00421" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 7.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00421/00421-settings.txt b/models/sbml-test-suite/cases/semantic/00421/00421-settings.txt
new file mode 100644
index 0000000..3908943
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00421/00421-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00422/00422-results.csv b/models/sbml-test-suite/cases/semantic/00422/00422-results.csv
new file mode 100644
index 0000000..d8604be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00422/00422-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.5,0.9412052883848987,1.941205288384898,1.058794711615101
+1.,0.8890941842702448,1.889094184270244,1.110905815729756
+1.5,0.8427255019057344,1.842725501905733,1.157274498094266
+2.,0.8013223155945934,1.801322315594592,1.198677684405407
+2.5,0.7642376060984611,1.76423760609846,1.235762393901539
+3.,0.7309282017231886,1.730928201723187,1.269071798276812
+3.5,0.7009347609846347,1.700934760984634,1.299065239015365
+4.,0.6738662232965709,1.673866223296571,1.326133776703428
+4.5,0.6493876112643165,1.649387611264316,1.350612388735683
+5.,0.6272103623812286,1.627210362381229,1.37278963761877
+5.5,0.6070846034970602,1.60708460349706,1.392915396502939
+6.,0.5887929235427871,1.588792923542788,1.411207076457211
+6.5,0.5721453202068592,1.57214532020686,1.427854679793139
+7.,0.5569750609841017,1.556975060984103,1.443024939015896
+7.5,0.543135278988218,1.543135278988219,1.45686472101178
+8.,0.5304961561988336,1.530496156198835,1.469503843801164
+8.5,0.5189425661876578,1.518942566187659,1.48105743381234
+9.,0.5083721070574303,1.508372107057431,1.491627892942568
+9.5,0.4986934400553009,1.498693440055302,1.501306559944697
+10.,0.4898248825433665,1.489824882543368,1.510175117456632
+10.5,0.4816932117994529,1.481693211799454,1.518306788200545
+11.,0.4742326549731581,1.474232654973159,1.52576734502684
+11.5,0.467383976264579,1.46738397626458,1.532616023735419
+12.,0.4687053365244175,1.001536835376636,1.531294663475581
+12.5,0.4701921815792941,1.003023680431512,1.529807818420704
+13.,0.4715816372662372,1.004413136118455,1.528418362733761
+13.5,0.4728799472726659,1.005711446124884,1.527120052727333
+14.,0.4740929723508396,1.006924471203058,1.525907027649159
+14.5,0.934421047261808,0.9913851447305042,1.541446354121712
+15.,0.9195846649413786,0.9765487624100748,1.556282736442142
+15.5,0.9059384449490079,0.9629025424177041,1.569928956434512
+16.,0.8933740440415782,0.9503381415102744,1.582493357341942
+16.5,0.8817947790749602,0.9387588765436564,1.594072622308559
+17.,0.8711141245119213,0.9280782219806175,1.604753276871598
+17.5,0.8612544423293134,0.9182185397980096,1.614612959054206
+18.,0.8521458851433039,0.909109982612,1.623721516240216
+18.5,0.8437254735826572,0.9006895710513533,1.632141927800862
+19.,0.8359362957760329,0.892900393244729,1.639931105607486
+19.5,0.8287268154422726,0.8856909129109688,1.647140585941246
+20.,0.8220502816125729,0.8790143790812691,1.653817119770946
+20.5,0.8158641898009416,0.8728282872696377,1.660003211582578
+21.,0.8101298570898255,0.8670939545585216,1.665737544293694
+21.5,0.8048119985057833,0.8617760959744794,1.671055402877736
+22.,0.7998784004504853,0.8568424979191814,1.675989000933034
+22.5,0.7952995990652583,0.8522636965339545,1.680567802318261
+23.,0.7910486151934127,0.8480127126621088,1.684818786190107
+23.5,0.7871007270638651,0.8440648245325611,1.688766674319655
+24.,0.7834332331562082,0.8403973306249042,1.692434168227312
+24.5,0.7800252831560999,0.836989380624796,1.69584211822742
+25.,0.7768576950669552,0.8338217925356512,1.699009706316565
diff --git a/models/sbml-test-suite/cases/semantic/00422/00422-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00422/00422-sbml-l2v4.xml
new file mode 100644
index 0000000..7054672
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00422/00422-sbml-l2v4.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00422" id="case00422" name="case00422">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 8 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 12 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.95 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00422/00422-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00422/00422-sbml-l3v1.xml
new file mode 100644
index 0000000..70c99a9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00422/00422-sbml-l3v1.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00422" id="case00422" name="case00422" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.075" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.7 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 8 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 12 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.95 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00422/00422-settings.txt b/models/sbml-test-suite/cases/semantic/00422/00422-settings.txt
new file mode 100644
index 0000000..3908943
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00422/00422-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00423/00423-results.csv b/models/sbml-test-suite/cases/semantic/00423/00423-results.csv
new file mode 100644
index 0000000..af52f33
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00423/00423-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.889094184270693,1.889094184270692,1.110905815729307
+0.2,0.801322315540552,1.801322315540551,1.198677684459448
+0.3,0.730928200894376,1.730928200894375,1.269071799105624
+0.4,0.673866221840678,1.673866221840677,1.326133778159322
+0.5,0.6272103584597646,1.627210358459764,1.372789641540235
+0.6,0.5887929211043134,1.588792921104312,1.411207078895687
+0.7,0.5569750596093625,1.556975059609361,1.443024940390638
+0.8,0.5304961569887551,1.530496156988754,1.469503843011245
+0.9,0.5083721073184122,1.508372107318411,1.491627892681588
+1.,0.489824880594129,1.489824880594127,1.510175119405872
+1.1,0.4742326527317268,1.474232652731725,1.525767347268274
+1.2,0.4610937642547251,1.461093764254723,1.538906235745276
+1.3,0.4500002415327281,1.450000241532726,1.549999758467273
+1.4,0.4406180022916408,1.440618002291639,1.55938199770836
+1.5,0.4326718338715585,1.432671833871557,1.567328166128442
+1.6,0.4259338608552226,1.425933860855221,1.574066139144778
+1.7,0.4202145774612629,1.420214577461261,1.579785422538738
+1.8,0.4153557868648356,1.415355786864834,1.584644213135165
+1.9,0.4112249976767327,1.411224997676731,1.588775002323268
+2.,0.9708460740181482,1.220846074018148,1.619509317567977
+2.1,0.9266985350874592,1.176698535087459,1.663656856498666
+2.2,0.8899316261337326,1.139931626133733,1.700423765452392
+2.3,0.8591410284050161,1.109141028405016,1.731214363181109
+2.4,0.8332352457342481,1.083235245734249,1.757120145851877
+2.5,0.8113539853587649,1.061353985358765,1.77900140622736
+2.6,0.7928109549218521,1.042810954921852,1.797544436664273
+2.7,0.7770528782310879,1.027052878231088,1.813302513355037
+2.8,0.7636296505138136,1.013629650513814,1.826725741072311
+2.9,0.7521721691193927,1.002172169119393,1.838183222466732
+3.,0.742375661425862,0.9923756614258627,1.847979730160263
+3.1,0.7339869747692258,0.9839869747692264,1.856368416816899
+3.2,0.7267947071276849,0.9767947071276855,1.86356068445844
+3.3,0.7206215410828458,0.9706215410828464,1.869733850503279
+3.4,0.7153181483120437,0.9653181483120444,1.875037243274082
+3.5,0.7107583412216012,0.9607583412216018,1.879597050364524
+3.6,0.7068351690077685,0.9568351690077692,1.883520222578357
+3.7,0.7034577505060787,0.9534577505060793,1.886897641080047
+3.8,0.7005486860699038,0.9505486860699045,1.889806705516221
+3.9,0.6980419302835546,0.9480419302835553,1.89231346130257
+4.,0.6958810311335513,0.945881031133552,1.894474360452574
+4.1,0.6940176649133332,0.9440176649133339,1.896337726672792
+4.2,0.6924104136756138,0.9424104136756145,1.897944977910511
+4.3,0.6910237390542965,0.9410237390542972,1.899331652531829
+4.4,0.6898271193924238,0.9398271193924244,1.900528272193702
+4.5,0.6887943218382518,0.9387943218382525,1.901561069747874
+4.6,0.6879027773519533,0.937902777351954,1.902452614234172
+4.7,0.6871330663732798,0.9371330663732805,1.903222325212846
+4.8,0.6864684602778087,0.9364684602778093,1.903886931308317
+4.9,0.6858945519670008,0.9358945519670015,1.904460839619124
+5.,0.6853989194595346,0.9353989194595353,1.904956472126591
diff --git a/models/sbml-test-suite/cases/semantic/00423/00423-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00423/00423-sbml-l2v4.xml
new file mode 100644
index 0000000..78a5bd6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00423/00423-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00423" id="case00423" name="case00423">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00423/00423-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00423/00423-sbml-l3v1.xml
new file mode 100644
index 0000000..54da791
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00423/00423-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00423" id="case00423" name="case00423" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00423/00423-settings.txt b/models/sbml-test-suite/cases/semantic/00423/00423-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00423/00423-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00424/00424-results.csv b/models/sbml-test-suite/cases/semantic/00424/00424-results.csv
new file mode 100644
index 0000000..109620d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00424/00424-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842714988,1.889094184271498,1.110905815728501
+0.2,0.801322315542719,1.801322315542718,1.198677684457282
+0.3,0.73092820088606,1.730928200886058,1.269071799113941
+0.4,0.673866221841767,1.673866221841765,1.326133778158234
+0.5,0.6272103584506303,1.627210358450629,1.37278964154937
+0.6,0.5887929210861411,1.58879292108614,1.411207078913859
+0.7,0.5569750595478453,1.556975059547844,1.443024940452155
+0.8,0.530496157058005,1.530496157058004,1.469503842941995
+0.9,0.5083721073890026,1.508372107389002,1.491627892610997
+1.,0.4898248833703601,1.489824883370359,1.51017511662964
+1.1,0.4742326544310378,1.474232654431037,1.525767345568962
+1.2,0.4610937636230083,1.461093763623007,1.538906236376992
+1.3,0.4500002428010478,1.450000242801047,1.549999757198952
+1.4,0.4406180030666976,1.440618003066697,1.559381996933302
+1.5,0.4326718336372668,1.432671833637267,1.567328166362733
+1.6,0.4259338618170124,1.425933861817012,1.574066138182987
+1.7,0.4202145780137766,1.420214578013777,1.579785421986222
+1.8,0.4153557857699138,1.415355785769914,1.584644214230085
+1.9,0.4112249985187687,1.411224998518768,1.588775001481231
+2.,0.4077109481410498,1.407710948141049,1.59228905185895
+2.1,0.4047199719520301,1.404719971952029,1.59528002804797
+2.2,0.4021730636758799,1.402173063675879,1.59782693632412
+2.3,0.400003459450216,1.400003459450215,1.599996540549784
+2.4,0.3981546605047895,1.398154660504789,1.601845339495211
+2.5,0.3965787925900736,1.396578792590073,1.603421207409927
+2.6,0.3952352453719966,1.395235245371996,1.604764754628003
+2.7,0.3940895362536354,1.394089536253635,1.605910463746365
+2.8,0.3931123651181379,1.393112365118137,1.606887634881862
+2.9,0.3922788184285674,1.392278818428567,1.607721181571432
+3.,0.3915676953024834,1.391567695302483,1.608432304697516
+3.1,0.3909609500914584,1.390960950091458,1.609039049908541
+3.2,0.390443216483258,1.390443216483257,1.609556783516742
+3.3,0.3900014004817017,1.390001400481701,1.609998599518298
+3.4,0.3896243451781586,1.389624345178158,1.610375654821841
+3.5,0.3893025404316602,1.389302540431659,1.61069745956834
+3.6,0.5923284529128339,1.242328452912833,1.618511780355829
+3.7,0.5787316196273361,1.228731619627335,1.632108613641327
+3.8,0.5671522293594316,1.21715222935943,1.643688003909232
+3.9,0.5572737213352798,1.207273721335278,1.653566511933384
+4.,0.5488337031547171,1.198833703154716,1.662006530113946
+4.1,0.5416135297555693,1.191613529755568,1.669226703513094
+4.2,0.5354301743517406,1.185430174351739,1.675410058916923
+4.3,0.5301298149613978,1.180129814961396,1.680710418307266
+4.4,0.5255827304067942,1.175582730406792,1.68525750286187
+4.5,0.5216791961133537,1.171679196113351,1.689161037155311
+4.6,0.5183261567241557,1.168326156724154,1.692514076544508
+4.7,0.515444525285435,1.165444525285433,1.695395707983229
+4.8,0.5129669529932144,1.162966952993212,1.69787328027545
+4.9,0.5108359860489017,1.160835986048899,1.700004247219763
+5.,0.5090025478378967,1.159002547837894,1.701837685430768
diff --git a/models/sbml-test-suite/cases/semantic/00424/00424-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00424/00424-sbml-l2v4.xml
new file mode 100644
index 0000000..73e9f12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00424/00424-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00424" id="case00424" name="case00424">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.45 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.25 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.6 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00424/00424-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00424/00424-sbml-l3v1.xml
new file mode 100644
index 0000000..1a7ef85
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00424/00424-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00424" id="case00424" name="case00424" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.45 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.25 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.6 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00424/00424-settings.txt b/models/sbml-test-suite/cases/semantic/00424/00424-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00424/00424-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00425/00425-results.csv b/models/sbml-test-suite/cases/semantic/00425/00425-results.csv
new file mode 100644
index 0000000..c801bad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00425/00425-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842699198,1.889094184269919,1.11090581573008
+0.2,0.8013223155402242,1.801322315540224,1.198677684459776
+0.3,0.730928202084693,1.730928202084692,1.269071797915307
+0.4,0.6738662230473843,1.673866223047384,1.326133776952616
+0.5,0.6272103610165084,1.627210361016507,1.372789638983492
+0.6,0.5887929243662829,1.588792924366282,1.411207075633717
+0.7,0.55697505989513,1.556975059895129,1.44302494010487
+0.8,0.5304961572187308,1.530496157218729,1.46950384278127
+0.9,0.5083721069409353,1.508372106940934,1.491627893059065
+1.,0.4898248837270831,1.489824883727081,1.510175116272918
+1.1,0.474232655624406,1.474232655624404,1.525767344375595
+1.2,0.4610937667425405,1.461093766742539,1.53890623325746
+1.3,0.4500002401641617,1.45000024016416,1.549999759835839
+1.4,0.4406180045821484,1.440618004582147,1.559381995417852
+1.5,0.432671833380749,1.432671833380748,1.567328166619251
+1.6,0.4259338607588762,1.425933860758875,1.574066139241124
+1.7,0.420214579717966,1.420214579717964,1.579785420282035
+1.8,0.4153557868396918,1.41535578683969,1.584644213160309
+1.9,0.4112249976221424,1.411224997622141,1.588775002377858
+2.,0.4077109485766594,1.407710948576658,1.592289051423341
+2.1,0.4047199745967487,1.404719974596747,1.595280025403252
+2.2,0.4021730656008833,1.402173065600882,1.597826934399117
+2.3,0.4000034611093656,1.400003461109364,1.599996538890635
+2.4,0.398154661874156,1.398154661874154,1.601845338125845
+2.5,0.3965787936734864,1.396578793673485,1.603421206326515
+2.6,0.3952352458484396,1.395235245848438,1.604764754151561
+2.7,0.3940895369838941,1.394089536983893,1.605910463016107
+2.8,0.3931123652446322,1.393112365244631,1.606887634755368
+2.9,0.3922788182732702,1.392278818273269,1.60772118172673
+3.,0.39156769531784,1.391567695317839,1.60843230468216
+3.1,0.3909609500429747,1.390960950042974,1.609039049957026
+3.2,0.3904432168208738,1.390443216820873,1.609556783179126
+3.3,0.4981033836837738,1.248103383683773,1.611773047122494
+3.4,0.4922395991473139,1.242239599147313,1.617636831658954
+3.5,0.4872183022275016,1.237218302227501,1.622658128578766
+3.6,0.4829151944089638,1.232915194408963,1.626961236397304
+3.7,0.4792251629701664,1.229225162970166,1.630651267836101
+3.8,0.4760591023405019,1.226059102340502,1.633817328465765
+3.9,0.4733413150628911,1.22334131506289,1.636535115743377
+4.,0.4710073762848324,1.221007376284832,1.638869054521435
+4.1,0.4690023687014396,1.219002368701439,1.640874062104828
+4.2,0.4672794142486321,1.217279414248632,1.642597016557635
+4.3,0.4657984503774584,1.215798450377458,1.644077980428809
+4.4,0.4645252077893808,1.21452520778938,1.645351223016887
+4.5,0.4634303390573517,1.213430339057351,1.646446091748916
+4.6,0.4624887002111686,1.212488700211168,1.647387730595099
+4.7,0.4616787324285328,1.211678732428532,1.648197698377735
+4.8,0.4609819387393184,1.210981938739318,1.648894492066949
+4.9,0.4603824414432642,1.210382441443264,1.649493989363003
+5.,0.4598666104144234,1.209866610414423,1.650009820391844
diff --git a/models/sbml-test-suite/cases/semantic/00425/00425-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00425/00425-sbml-l2v4.xml
new file mode 100644
index 0000000..962fda4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00425/00425-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00425" id="case00425" name="case00425">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00425/00425-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00425/00425-sbml-l3v1.xml
new file mode 100644
index 0000000..c3e56c6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00425/00425-sbml-l3v1.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00425" id="case00425" name="case00425" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.25 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00425/00425-settings.txt b/models/sbml-test-suite/cases/semantic/00425/00425-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00425/00425-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00426/00426-results.csv b/models/sbml-test-suite/cases/semantic/00426/00426-results.csv
new file mode 100644
index 0000000..939b202
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00426/00426-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.2,0.160386196297707,1.160386196297707,1.839613803702293
+0.4,0.07734451665974397,1.077344516659744,1.922655483340257
+0.6,0.06379356003983308,1.063793560039833,1.936206439960167
+0.8,0.06143037931935413,1.061430379319354,1.938569620680646
+1,0.06101358704300458,1.061013587043004,1.938986412956995
+1.2,0.06093993210783327,1.060939932107833,1.939060067892167
+1.4,0.06092691136410986,1.060926911364109,1.93907308863589
+1.6,0.06092460940962161,1.060924609409621,1.939075390590378
+1.8,0.06092420244047199,1.060924202440472,1.939075797559528
+2,0.06092413049093873,1.060924130490939,1.939075869509062
+2.2,0.06092411777014722,1.060924117770147,1.939075882229853
+2.4,0.06092411552132589,1.060924115521326,1.939075884478674
+2.6,0.06092411512469192,1.060924115124692,1.939075884875308
+2.8,0.06092411505408198,1.060924115054082,1.939075884945918
+3,0.06092411504174283,1.060924115041742,1.939075884958257
+3.2,0.06092411503952873,1.060924115039528,1.939075884960471
+3.4,0.06092411503836545,1.060924115038365,1.939075884961635
+3.6,0.06092411503932273,1.060924115039323,1.939075884960677
+3.8,0.0609241150364204,1.06092411503642,1.93907588496358
+4,0.06092411504041737,1.060924115040417,1.939075884959582
+4.2,0.06092411503788153,1.060924115037881,1.939075884962118
+4.4,0.0609241150402543,1.060924115040254,1.939075884959745
+4.6,0.06092411503777481,1.060924115037775,1.939075884962225
+4.8,0.06092411504011857,1.060924115040118,1.939075884959881
+5,0.06092411503697107,1.060924115036971,1.939075884963029
+5.2,0.06092411504075726,1.060924115040757,1.939075884959243
+5.4,0.06092411503531534,1.060924115035315,1.939075884964685
+5.6,0.06092411504225168,1.060924115042251,1.939075884957748
+5.8,0.060924115035322,1.060924115035322,1.939075884964678
+6,0.06092411504271458,1.060924115042714,1.939075884957285
+6.2,0.0948608992494618,0.1339367842107848,1.905139100750539
+6.4,0.1559633022605392,0.1950391872218623,1.844036697739461
+6.6,0.1907527373769797,0.2298286223383027,1.809247262623021
+6.8,0.2085121635166665,0.2475880484779895,1.791487836483333
+7,0.2170739411931692,0.2561498261544922,1.782926058806831
+7.2,0.2210876231062056,0.2601635080675286,1.778912376893794
+7.4,0.2229444907270376,0.2620203756883606,1.777055509272962
+7.6,0.2237982855231461,0.2628741704844691,1.776201714476853
+7.8,0.2241897555020848,0.2632656404634079,1.775810244497914
+8,0.22436901415624,0.263444899117563,1.775630985843759
+8.2,0.2244510500208216,0.2635269349821447,1.775548949979177
+8.4,0.2244885826740821,0.2635644676354051,1.775511417325916
+8.6,0.2245057522972665,0.2635816372585895,1.775494247702732
+8.8,0.2245136062383012,0.2635894911996243,1.775486393761697
+9,0.2245171987900196,0.2635930837513427,1.775482801209979
+9.2,0.2245188420745259,0.263594727035849,1.775481157925473
+9.4,0.2245195937366443,0.2635954786979673,1.775480406263354
+9.6,0.2245199375539251,0.2635958225152481,1.775480062446073
+9.8,0.2245200948162415,0.2635959797775645,1.775479905183757
+10,0.2245201667547271,0.2635960517160501,1.775479833245271
diff --git a/models/sbml-test-suite/cases/semantic/00426/00426-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00426/00426-sbml-l2v4.xml
new file mode 100644
index 0000000..4b2c188
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00426/00426-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00426" id="case00426" name="case00426">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 5.7 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00426/00426-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00426/00426-sbml-l3v1.xml
new file mode 100644
index 0000000..c42f896
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00426/00426-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00426" id="case00426" name="case00426" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 5.7 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00426/00426-settings.txt b/models/sbml-test-suite/cases/semantic/00426/00426-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00426/00426-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00427/00427-results.csv b/models/sbml-test-suite/cases/semantic/00427/00427-results.csv
new file mode 100644
index 0000000..cbf0e8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00427/00427-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.0,2,1.0
+0.1,0.92687296774251,1.92687053774250,1.07312789225749
+0.2,0.86547802892486,1.86547559892485,1.13452283107514
+0.3,0.81359822874290,1.81359579874289,1.18640263125710
+0.4,0.76951834794080,1.76951591794079,1.23048251205920
+0.5,0.73189124268171,1.73188881268170,1.26810961731829
+0.6,0.69964467860208,1.69964224860208,1.30035618139791
+0.7,0.67191520455608,1.67191277455608,1.32808565544391
+0.8,0.64800031552969,1.64799788552969,1.35200054447030
+0.9,0.62732324873186,1.62732081873185,1.37267761126814
+1,0.60940667081702,1.60940424081701,1.39059418918298
+1.1,0.59385273123898,1.59385030123898,1.40614812876101
+1.2,0.58032774448531,1.58032531448531,1.41967311551468
+1.3,0.56855028661232,1.56854785661231,1.43145057338768
+1.4,0.56206449721743,1.42367149605715,1.43793636278257
+1.5,0.55641658561991,1.41802358445963,1.44358427438009
+1.6,0.55145006564027,1.41305706447999,1.44855079435972
+1.7,0.54708044859516,1.40868744743488,1.45292041140484
+1.8,0.54323422806160,1.40484122690132,1.45676663193840
+1.9,0.53984734119789,1.40145434003761,1.46015351880210
+2,0.53686386956508,1.39847086840480,1.46313699043491
+2.1,0.53423493715626,1.39584193599598,1.46576592284374
+2.2,0.53191777186635,1.39352477070607,1.46808308813364
+2.3,0.52987490317735,1.39148190201707,1.47012595682264
+2.4,0.52807347395858,1.38968047279830,1.47192738604142
+2.5,0.52648464833241,1.38809164717213,1.47351621166758
+2.6,0.52508310077309,1.38669009961280,1.47491775922691
+2.7,0.52384657417539,1.38545357301511,1.47615428582460
+2.8,1.42107716564925,1.37557901979654,1.48602883904317
+2.9,1.36094392185004,1.31544577599733,1.54616208284238
+3,1.30998434879589,1.26448620294319,1.59712165589653
+3.1,1.26656625299330,1.22106810714059,1.64053975169912
+3.2,1.22940388040824,1.18390573455554,1.67770212428418
+3.3,1.19747109417385,1.15197294832114,1.70963491051857
+3.4,1.16993951117535,1.12444136532264,1.73716649351707
+3.5,1.14613359585926,1.10063545000655,1.76097240883316
+3.6,1.12549751186306,1.07999936601035,1.78160849282936
+3.7,1.10757027861957,1.06207213276686,1.79953572607285
+3.8,1.09196689265359,1.04646874680088,1.81513911203883
+3.9,1.07836379839707,1.03286565254437,1.82874220629535
+4,1.06648757578817,1.02098942993546,1.84061842890425
+4.1,1.05610603680543,1.01060789095272,1.85099996788699
+4.2,1.04702114866198,1.00152300280927,1.86008485603044
+4.3,1.03906335664767,0.99356521079497,1.86804264804475
+4.4,1.03208699146049,0.98658884560778,1.87501901323193
+4.5,1.02596652402167,0.98046837816897,1.88113948067075
+4.6,1.02059348961887,0.97509534376616,1.88651251507355
+4.7,1.01587394458816,0.97037579873546,1.89123206010426
+4.8,1.01172635031472,0.96622820446202,1.89537965437769
+4.9,1.00807980276224,0.96258165690954,1.89902620193018
+5,1.00487254337371,0.95937439752101,1.90223346131871
diff --git a/models/sbml-test-suite/cases/semantic/00427/00427-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00427/00427-sbml-l2v4.xml
new file mode 100644
index 0000000..20ed0fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00427/00427-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00427" id="case00427" name="case00427">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.43" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00427/00427-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00427/00427-sbml-l3v1.xml
new file mode 100644
index 0000000..00281c7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00427/00427-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00427" id="case00427" name="case00427" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.43" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00427/00427-settings.txt b/models/sbml-test-suite/cases/semantic/00427/00427-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00427/00427-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00428/00428-results.csv b/models/sbml-test-suite/cases/semantic/00428/00428-results.csv
new file mode 100644
index 0000000..d683cc8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00428/00428-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.1,0.875717,1.87572,1.12428
+0.2,0.779413,1.77941,1.22059
+0.3,0.703567,1.70357,1.29643
+0.4,0.643064,1.64306,1.35694
+0.5,0.594307,1.59431,1.40569
+0.6,0.554692,1.55469,1.44531
+0.7,0.52229,1.52229,1.47771
+0.8,0.495642,1.49564,1.50436
+0.9,0.47363,1.47363,1.52637
+1,0.455378,1.45538,1.54462
+1.1,0.440199,1.4402,1.5598
+1.2,0.427542,1.42754,1.57246
+1.3,0.416967,1.41697,1.58303
+1.4,0.408115,1.40812,1.59188
+1.5,0.400695,1.40069,1.59931
+1.6,0.855803,1.3058,1.64495
+1.7,0.808727,1.25873,1.69203
+1.8,0.770088,1.22009,1.73066
+1.9,0.738168,1.18817,1.76258
+2,0.711658,1.16166,1.78909
+2.1,0.689542,1.13954,1.81121
+2.2,0.671023,1.12102,1.82973
+2.3,0.655468,1.10547,1.84528
+2.4,0.642369,1.09237,1.85838
+2.5,0.631313,1.08131,1.86944
+2.6,0.621965,1.07196,1.87879
+2.7,0.614048,1.06405,1.8867
+2.8,0.607335,1.05733,1.89342
+2.9,0.601636,1.05164,1.89912
+3,0.596793,1.04679,1.90396
+3.1,0.592674,1.04267,1.90808
+3.2,0.589168,1.03917,1.91158
+3.3,0.586184,1.03618,1.91457
+3.4,0.583641,1.03364,1.91711
+3.5,0.581473,1.03147,1.91928
+3.6,0.579625,1.02962,1.92113
+3.7,0.578049,1.02805,1.9227
+3.8,0.576704,1.0267,1.92405
+3.9,0.575557,1.02556,1.9252
+4,0.574577,1.02458,1.92617
+4.1,0.573741,1.02374,1.92701
+4.2,0.573028,1.02303,1.92772
+4.3,0.572418,1.02242,1.92833
+4.4,0.872252,1.32225,1.95632
+4.5,0.829582,1.27958,1.99899
+4.6,0.79468,1.24468,2.0339
+4.7,0.765965,1.21596,2.06261
+4.8,0.742226,1.19223,2.08635
+4.9,0.722523,1.17252,2.10605
+5,0.706115,1.15611,2.12246
diff --git a/models/sbml-test-suite/cases/semantic/00428/00428-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00428/00428-sbml-l2v4.xml
new file mode 100644
index 0000000..7e55d1c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00428/00428-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00428" id="case00428" name="case00428">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.9" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00428/00428-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00428/00428-sbml-l3v1.xml
new file mode 100644
index 0000000..60b3ec1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00428/00428-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00428" id="case00428" name="case00428" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.9" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00428/00428-settings.txt b/models/sbml-test-suite/cases/semantic/00428/00428-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00428/00428-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00429/00429-results.csv b/models/sbml-test-suite/cases/semantic/00429/00429-results.csv
new file mode 100644
index 0000000..9781168
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00429/00429-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.012,0.02,0.01
+0.06,0.00924568907145637,0.01124568107145637,0.02075431092854363,0.01075432692854363
+0.12,0.008824406601221559,0.01082439860122156,0.02117559339877843,0.01117560939877844
+0.18,0.008586485653632509,0.01058647765363251,0.02141351434636749,0.01141353034636749
+0.24,0.008451272400109275,0.01045126440010928,0.02154872759989072,0.01154874359989072
+0.3,0.008374154766963318,0.01037414676696332,0.02162584523303669,0.01162586123303668
+0.36,0.008330082007145337,0.01033007400714534,0.02166991799285466,0.01166993399285466
+0.42,0.008304865163938226,0.01030485716393823,0.02169513483606177,0.01169515083606178
+0.48,0.008290427416418259,0.01029041941641826,0.02170957258358174,0.01170958858358174
+0.54,0.008282158032154444,0.01028215003215444,0.02171784196784556,0.01171785796784556
+0.6,0.008277420617527988,0.01027741261752799,0.02172257938247202,0.01172259538247201
+0.66,0.008274706280385638,0.01027469828038564,0.02172529371961437,0.01172530971961436
+0.72,0.008273150969442623,0.01027314296944262,0.02172684903055738,0.01172686503055738
+0.78,0.008272259742478718,0.01027225174247872,0.02172774025752129,0.01172775625752128
+0.84,0.008271749037913148,0.01027174103791315,0.02172825096208686,0.01172826696208685
+0.9,0.008271456382321607,0.01027144838232161,0.0217285436176784,0.01172855961767839
+0.96,0.008271288676722669,0.01027128067672267,0.02172871132327734,0.01172872732327733
+1.02,0.008271192573127979,0.01027118457312798,0.02172880742687203,0.01172882342687202
+1.08,0.008271137500768013,0.01027112950076801,0.021728862499232,0.01172887849923199
+1.14,0.008271105941422597,0.0102710979414226,0.02172889405857741,0.0117289100585774
+1.2,0.008271087856424079,0.01027107985642408,0.02172891214357593,0.01172892814357592
+1.26,0.008271077492524601,0.0102710694925246,0.02172892250747541,0.0117289385074754
+1.32,0.00509095777208134,0.01056202382671359,0.02143796817328641,0.01143798417328641
+1.38,0.005503075168114382,0.01097414122274663,0.02102585077725338,0.01102586677725337
+1.44,0.005750898631402939,0.01122196468603518,0.02077802731396482,0.01077804331396482
+1.5,0.005898965250501383,0.01137003130513363,0.02062996069486638,0.01062997669486637
+1.56,0.005987088962502349,0.0114581550171346,0.02054183698286541,0.0105418529828654
+1.62,0.006039416256334223,0.01151048231096647,0.02048950968903354,0.01048952568903353
+1.68,0.006070445388002236,0.01154151144263449,0.02045848055736553,0.01045849655736551
+1.74,0.006088830172663636,0.01155989622729589,0.02044009577270413,0.01044011177270411
+1.8,0.006099717935174621,0.01157078398980687,0.02042920801019314,0.01042922401019313
+1.86,0.00610616400528009,0.01157723005991234,0.02042276194008767,0.01042277794008766
+1.92,0.006109979740240164,0.01158104579487242,0.0204189462051276,0.01041896220512758
+1.98,0.006112238229300386,0.01158330428393264,0.02041668771606738,0.01041670371606736
+2.04,0.006113574923682224,0.01158464097831448,0.02041535102168554,0.01041536702168552
+2.1,0.006114366023125932,0.01158543207775819,0.02041455992224183,0.01041457592224181
+2.16,0.006114834211999511,0.01158590026663177,0.02041409173336825,0.01041410773336824
+2.22,0.006115111292449967,0.01158617734708222,0.0204138146529178,0.01041383065291778
+2.28,0.006115275270968671,0.01158634132560093,0.02041365067439909,0.01041366667439908
+2.34,0.006115372314533921,0.01158643836916618,0.02041355363083384,0.01041356963083382
+2.4,0.006115429745407483,0.01158649580003974,0.02041349619996028,0.01041351219996026
+2.46,0.006115463733290775,0.01158652978792303,0.02041346221207699,0.01041347821207697
+2.52,0.006115483847434758,0.01158654990206701,0.02041344209793301,0.01041345809793299
+2.58,0.006115495750962204,0.01158656180559446,0.02041343019440556,0.01041344619440554
+2.64,0.006115502795539572,0.01158656885017183,0.02041342314982819,0.01041343914982817
+2.7,0.006115506964615967,0.01158657301924822,0.0204134189807518,0.01041343498075178
+2.76,0.006115509431853965,0.01158657548648622,0.0204134165135138,0.01041343251351378
+2.82,0.006115510891964836,0.01158657694659709,0.02041341505340293,0.01041343105340291
+2.88,0.006115511756060877,0.01158657781069313,0.02041341418930689,0.01041343018930687
+2.94,0.006115512267405515,0.01158657832203777,0.02041341367796225,0.01041342967796223
+3,0.006115512569965141,0.0115865786245974,0.02041341337540262,0.01041342937540261
diff --git a/models/sbml-test-suite/cases/semantic/00429/00429-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00429/00429-sbml-l2v4.xml
new file mode 100644
index 0000000..69e10c4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00429/00429-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00429" id="case00429" name="case00429">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.24" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00429/00429-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00429/00429-sbml-l3v1.xml
new file mode 100644
index 0000000..d3ef046
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00429/00429-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00429" id="case00429" name="case00429" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.24" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00429/00429-settings.txt b/models/sbml-test-suite/cases/semantic/00429/00429-settings.txt
new file mode 100644
index 0000000..bd3fbc9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00429/00429-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00430/00430-results.csv b/models/sbml-test-suite/cases/semantic/00430/00430-results.csv
new file mode 100644
index 0000000..85173eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00430/00430-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.0012,0.002,0.001
+0.08,0.0008553029984321802,0.00105530299843218,0.002144697001567821,0.00114469700156782
+0.16,0.0008318280125820876,0.001031828012582088,0.002168171987417913,0.001168171987417913
+0.24,0.0008279000588191196,0.00102790005881912,0.002172099941180881,0.001172099941180881
+0.32,0.0008272394514335232,0.001027239451433523,0.002172760548566476,0.001172760548566477
+0.4,0.0008271282545937141,0.001027128254593714,0.002172871745406284,0.001172871745406286
+0.48,0.0008271095346807926,0.001027109534680793,0.002172890465319206,0.001172890465319208
+0.56,0.0002886844768099226,0.001115791269181947,0.002084208730818052,0.001084208730818053
+0.64,0.0004216450400906416,0.001248751832462666,0.001951248167537332,0.0009512481675373341
+0.72,0.0004493161857325391,0.001276422978104564,0.001923577021895434,0.0009235770218954366
+0.8,0.0004548908683092733,0.001281997660681298,0.0019180023393187,0.0009180023393187026
+0.88,0.0004560065315958454,0.00128311332396787,0.001916886676032128,0.0009168866760321308
+0.96,0.0004562295127852738,0.001283336305157299,0.0019166636948427,0.0009166636948427019
+1.04,0.0004562740668872737,0.001283380859259299,0.001916619140740699,0.0009166191407407019
+1.12,0.0004562829688212857,0.00128338976119331,0.001916610238806688,0.0009166102388066902
+1.2,0.0004562847474136673,0.001283391539785692,0.001916608460214306,0.0009166084602143087
+1.28,0.0004562851027719664,0.001283391895143991,0.001916608104856007,0.0009166081048560097
+1.36,0.0004562851737641784,0.001283391966136203,0.001916608033863795,0.0009166080338637974
+1.44,0.0004562851879532114,0.001283391980325236,0.001916608019674762,0.0009166080196747643
+1.52,0.0004562851907874577,0.001283391983159483,0.001916608016840515,0.0009166080168405179
+1.6,0.0004400470604793553,0.00126715385285138,0.001932846147148618,0.0001162381308630659
+1.68,0.0002831891192437283,0.001110295911615753,0.002089704088384245,0.000273096072098693
+1.76,0.0002414130577187283,0.001068519850090752,0.002131480149909244,0.000314872133623693
+1.84,0.0002297865210024511,0.001056893313374475,0.002143106686625522,0.0003264986703399702
+1.92,0.0002265115640874519,0.001053618356459476,0.002146381643540521,0.0003297736272549694
+2,0.0002255859535424223,0.001052692745914447,0.002147307254085551,0.000330699237799999
+2.08,0.0002253240958985919,0.001052430888270616,0.002147569111729381,0.0003309610954438294
+2.16,0.0002252499957049271,0.001052356788076951,0.002147643211923046,0.0003310351956374942
+2.24,0.0002252290253084042,0.001052335817680428,0.002147664182319568,0.0003310561660340171
+2.32,0.0002252230905485079,0.001052329882920532,0.002147670117079465,0.0003310621007939134
+2.4,0.0002252214109594539,0.001052328203331478,0.002147671796668518,0.0003310637803829674
+2.48,0.0002252209356219378,0.001052327727993962,0.002147672272006034,0.0003310642557204835
+2.56,0.0002252208010952978,0.001052327593467322,0.002147672406532675,0.0003310643902471235
+2.64,0.0002252207630238025,0.001052327555395826,0.00214767244460417,0.0003310644283186188
+2.72,0.0002252207522508884,0.001052327544622912,0.002147672455377084,0.0003310644390915329
+2.8,0.0002252207492006408,0.001052327541572665,0.002147672458427332,0.0003310644421417805
+2.88,0.0002252207483367154,0.001052327540708739,0.002147672459291257,0.000331064443005706
+2.96,0.0002252207480933833,0.001052327540465407,0.002147672459534589,0.000331064443249038
+3.04,0.0002252207480254759,0.0010523275403975,0.002147672459602497,0.0003310644433169454
+3.12,0.0002252207480031536,0.001052327540375178,0.002147672459624819,0.0003310644433392677
+3.2,0.0002252207479992709,0.001052327540371295,0.002147672459628702,0.0003310644433431504
+3.28,0.0002252207479960609,0.001052327540368085,0.002147672459631912,0.0003310644433463604
+3.36,0.0002252207479980104,0.001052327540370034,0.002147672459629962,0.0003310644433444109
+3.44,0.0002252207479924259,0.00105232754036445,0.002147672459635546,0.0003310644433499954
+3.52,0.0002252207479960615,0.001052327540368085,0.002147672459631911,0.0003310644433463598
+3.6,0.0002252207480000528,0.001052327540372077,0.00214767245962792,0.0003310644433423685
+3.68,0.0002252207479847897,0.001052327540356814,0.002147672459643183,0.0003310644433576316
+3.76,0.0002252207479936115,0.001052327540365635,0.002147672459634361,0.0003310644433488098
+3.84,0.00022522074800877,0.001052327540380794,0.002147672459619202,0.0003310644433336513
+3.92,0.0002252207479925707,0.001052327540364595,0.002147672459635402,0.0003310644433498507
+4,0.0002252207480012986,0.001052327540373323,0.002147672459626674,0.0003310644433411228
diff --git a/models/sbml-test-suite/cases/semantic/00430/00430-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00430/00430-sbml-l2v4.xml
new file mode 100644
index 0000000..cb5cee1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00430/00430-sbml-l2v4.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00430" id="case00430" name="case00430">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 1000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00430/00430-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00430/00430-sbml-l3v1.xml
new file mode 100644
index 0000000..7084c21
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00430/00430-sbml-l3v1.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00430" id="case00430" name="case00430" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 1000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00430/00430-settings.txt b/models/sbml-test-suite/cases/semantic/00430/00430-settings.txt
new file mode 100644
index 0000000..d97d0d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00430/00430-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00431/00431-results.csv b/models/sbml-test-suite/cases/semantic/00431/00431-results.csv
new file mode 100644
index 0000000..50d5a54
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00431/00431-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.12,0.2,0.1
+0.1,0.08964585468422132,0.1096458546842213,0.2103541453157787,0.1103541453157787
+0.2,0.08553029984321801,0.105530299843218,0.214469700156782,0.114469700156782
+0.3,0.08386323313203026,0.1038632331320303,0.2161367668679698,0.1161367668679698
+0.4,0.08318280125820876,0.1031828012582088,0.2168171987417913,0.1168171987417913
+0.5,0.08290421281209059,0.1029042128120906,0.2170957871879094,0.1170957871879094
+0.6,0.08279000588191197,0.102790005881912,0.217209994118088,0.117209994118088
+0.7,0.08274316257112101,0.102743162571121,0.217256837428879,0.117256837428879
+0.8,0.08272394514335235,0.1027239451433523,0.2172760548566477,0.1172760548566477
+0.9,0.0827160605189373,0.1027160605189373,0.2172839394810627,0.1172839394810627
+1,0.08271282545937145,0.1027128254593714,0.2172871745406286,0.1172871745406286
+1.1,0.08271149809714309,0.1027114980971431,0.217288501902857,0.1172885019028569
+1.2,0.08271095346807929,0.1027109534680793,0.2172890465319208,0.1172890465319207
+1.3,0.08271073000269255,0.1027107300026925,0.2172892699973075,0.1172892699973075
+1.4,0.08271063831215106,0.1027106383121511,0.217289361687849,0.117289361687849
+1.5,0.08271060069118492,0.1027106006911849,0.2172893993088151,0.1172893993088151
+1.6,0.08271058525330112,0.1027105852533011,0.2172894147466989,0.1172894147466989
+1.7,0.08271057892026761,0.1027105789202676,0.2172894210797325,0.1172894210797324
+1.8,0.08271057632201966,0.1027105763220196,0.2172894236779804,0.1172894236779804
+1.9,0.0827105752556261,0.1027105752556261,0.217289424744374,0.1172894247443739
+2,0.08271057481750224,0.1027105748175022,0.2172894251824978,0.1172894251824978
+2.1,0.08271057463755342,0.1027105746375534,0.2172894253624467,0.1172894253624466
+2.2,0.08271057456487944,0.1027105745648794,0.2172894254351206,0.1172894254351206
+2.3,0.08271057453406988,0.1027105745340699,0.2172894254659302,0.1172894254659301
+2.4,0.08271057452192292,0.1027105745219229,0.2172894254780772,0.1172894254780771
+2.5,0.08271057451650841,0.1027105745165084,0.2172894254834917,0.1172894254834916
+2.6,0.04929898255062863,0.1020095570658352,0.2179904429341649,0.01320101744937137
+2.7,0.04040885464942212,0.09311942916462869,0.2268805708353714,0.02209114535057789
+2.8,0.03577868111133276,0.08848925562653934,0.2315107443734608,0.02672131888866725
+2.9,0.03331875014855579,0.08602932466376238,0.2339706753362378,0.02918124985144421
+3,0.03199801559045137,0.08470859010565797,0.2352914098943422,0.03050198440954863
+3.1,0.03128490941818646,0.08399548393339307,0.2360045160666071,0.03121509058181354
+3.2,0.0308987098121384,0.083609284327345,0.2363907156726552,0.0316012901878616
+3.3,0.03068921016967681,0.08339978468488342,0.2366002153151168,0.03181078983032318
+3.4,0.03057546267908387,0.08328603719429049,0.2367139628057098,0.03192453732091612
+3.5,0.03051367377635247,0.08322424829155908,0.2367757517084412,0.03198632622364753
+3.6,0.03048010053566606,0.08319067505087269,0.2368093249491276,0.03201989946433393
+3.7,0.03046185577913274,0.08317243029433938,0.2368275697056609,0.03203814422086725
+3.8,0.03045194023502781,0.08316251475023445,0.2368374852497658,0.03204805976497217
+3.9,0.0304465511707,0.08315712568590664,0.2368428743140937,0.0320534488293
+4,0.0304436221653106,0.08315419668051724,0.236845803319483,0.0320563778346894
+4.1,0.03044203020476511,0.08315260471997177,0.2368473952800285,0.03205796979523488
+4.2,0.03044116494371773,0.08315173945892437,0.2368482605410759,0.03205883505628227
+4.3,0.03044069465489368,0.08315126917010032,0.2368487308299,0.03205930534510632
+4.4,0.03044043904268934,0.08315101355789599,0.2368489864421043,0.03205956095731066
+4.5,0.03044030011146558,0.08315087462667223,0.2368491253733281,0.03205969988853443
+4.6,0.03044022459932836,0.083150799114535,0.2368492008854653,0.03205977540067165
+4.7,0.03044018355675957,0.0831507580719662,0.2368492419280341,0.03205981644324044
+4.8,0.03044016124895407,0.08315073576416071,0.2368492642358396,0.03205983875104593
+4.9,0.03044014912388543,0.08315072363909205,0.2368492763609083,0.03205985087611457
+5,0.0304401425338549,0.08315071704906155,0.2368492829509388,0.03205985746614509
diff --git a/models/sbml-test-suite/cases/semantic/00431/00431-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00431/00431-sbml-l2v4.xml
new file mode 100644
index 0000000..4b1c67d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00431/00431-sbml-l2v4.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00431" id="case00431" name="case00431">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.25" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 20 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00431/00431-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00431/00431-sbml-l3v1.xml
new file mode 100644
index 0000000..3956e2d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00431/00431-sbml-l3v1.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00431" id="case00431" name="case00431" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.25" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 20 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00431/00431-settings.txt b/models/sbml-test-suite/cases/semantic/00431/00431-settings.txt
new file mode 100644
index 0000000..0cc29af
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00431/00431-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00432/00432-results.csv b/models/sbml-test-suite/cases/semantic/00432/00432-results.csv
new file mode 100644
index 0000000..22a4998
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00432/00432-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8853264433802292,2.,1.114673556619771
+0.2,0.7890629192286799,2.,1.21093708077132
+0.3,0.7082538312251376,2.,1.291746168774862
+0.4,0.640418073632288,2.,1.359581926367713
+0.5,0.5834728706887167,2.,1.416527129311284
+0.6,0.5356698198333297,2.,1.464330180166671
+0.7,0.4955412129864164,2.,1.504458787013584
+0.8,0.4618549722311389,2.,1.538145027768862
+0.9,0.433576796685106,2.,1.566423203314894
+1.,0.4098385260618754,2.,1.590161473938125
+1.1,0.3899112525900223,2.,1.610088747409978
+1.2,0.3731831619781352,2.,1.626816838021865
+1.3,0.3591406487950302,2.,1.640859351204971
+1.4,0.3473525615196952,2.,1.652647438480306
+1.5,0.3374569692417925,2.,1.662543030758209
+1.6,0.3291500444578408,2.,1.670849955542161
+1.7,0.3221767380609938,2.,1.677823261939007
+1.8,0.3288158847835106,1.,1.671184115216491
+1.9,0.3451062072538247,1.,1.654893792746176
+2.,0.3598463004421692,1.,1.640153699557832
+2.1,0.3731836884458072,1.,1.626816311554194
+2.2,0.3852518563806426,1.,1.614748143619359
+2.3,0.396171586147421,1.,1.60382841385258
+2.4,0.4060521674085675,1.,1.593947832591434
+2.5,0.4149924850589764,1.,1.585007514941025
+2.6,0.4230820217293296,1.,1.576917978270672
+2.7,0.4304017327186066,1.,1.569598267281395
+2.8,0.4370248851343429,1.,1.562975114865659
+2.9,0.4430177625966723,1.,1.556982237403329
+3.,0.4484403417213451,1.,1.551559658278656
+3.1,0.4533468936785836,1.,1.546653106321417
+3.2,0.4577865247671955,1.,1.542213475232806
+3.3,0.4618036683602432,1.,1.538196331639758
+3.4,0.4654385295467704,1.,1.534561470453231
+3.5,0.4687274874699532,1.,1.531272512530048
+3.6,0.471703459385632,1.,1.528296540614369
+3.7,0.4743962300822863,1.,1.525603769917715
+3.8,0.4768327499578501,1.,1.523167250042152
+3.9,0.4790374054001893,1.,1.520962594599812
+4.,0.4810322600266394,1.,1.518967739973362
+4.1,0.4828372791362206,1.,1.517162720863781
+4.2,0.4844705279668724,1.,1.51552947203313
+4.3,0.4859483526218347,1.,1.514051647378167
+4.4,0.4872855436669631,1.,1.512714456333039
+4.5,0.4884954841596815,1.,1.51150451584032
+4.6,0.4895902835911074,1.,1.510409716408894
+4.7,0.490580899081925,1.,1.509419100918077
+4.8,0.4914772450449179,1.,1.508522754955084
+4.9,0.4922882922130722,1.,1.50771170778693
+5.,0.4930221581772933,1.,1.506977841822708
diff --git a/models/sbml-test-suite/cases/semantic/00432/00432-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00432/00432-sbml-l2v4.xml
new file mode 100644
index 0000000..1d37b0b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00432/00432-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00432" id="case00432" name="case00432">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00432/00432-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00432/00432-sbml-l3v1.xml
new file mode 100644
index 0000000..3411e2a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00432/00432-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00432" id="case00432" name="case00432" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00432/00432-settings.txt b/models/sbml-test-suite/cases/semantic/00432/00432-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00432/00432-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00433/00433-results.csv b/models/sbml-test-suite/cases/semantic/00433/00433-results.csv
new file mode 100644
index 0000000..b24dc7e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00433/00433-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.887750782339297,1.887750782339296,1.
+0.2,0.7966440023112905,1.796644002311289,1.
+0.3,0.7216705977190356,1.721670597719034,1.
+0.4,0.6592703457805613,1.65927034578056,1.
+0.5,0.6068429129587693,1.606842912958768,1.
+0.6,0.5624445236385777,1.562444523638577,1.
+0.7,0.5245929280779588,1.524592928077958,1.
+0.8,0.492138093187781,1.49213809318778,1.
+0.9,0.4641741302772612,1.46417413027726,1.
+1.,0.4399779106151514,1.43997791061515,1.
+1.1,0.4189653521617725,1.418965352161771,1.
+1.2,0.4006597369656508,1.40065973696565,1.
+1.3,0.3846683380253327,1.384668338025332,1.
+1.4,0.3706649229033214,1.37066492290332,1.
+1.5,0.3583764865234045,1.358376486523404,1.
+1.6,0.3475730446082755,1.347573044608275,1.
+1.7,0.338059686693017,1.338059686693016,1.
+1.8,0.3296703645046291,1.329670364504628,1.
+1.9,0.3222629262849648,1.322262926284964,1.
+2.,0.3157151613578594,1.315715161357859,1.
+2.1,0.3099215972984973,1.309921597298497,1.
+2.2,0.3047908933585277,1.304790893358527,1.
+2.3,0.3002437013296114,1.300243701329611,1.
+2.4,0.2962109027050071,1.296210902705007,1.
+2.5,0.2951716185103753,1.001157838925558,1.
+2.6,0.2978744058730125,1.003860626288195,1.
+2.7,0.3003258070172666,1.00631202743245,1.
+2.8,0.302548384704282,1.008534605119465,1.
+2.9,0.3045628254141976,1.010549045829381,1.
+3.,0.3063880681200567,1.01237428853524,1.
+3.1,0.3080414289381161,1.0140276493533,1.
+3.2,0.3095387219517154,1.015524942366899,1.
+3.3,0.310894373906091,1.016880594321274,1.
+3.4,0.3121215342307301,1.018107754645914,1.
+3.5,0.3132321764428213,1.019218396858005,1.
+3.6,0.3142371959800568,1.02022341639524,1.
+3.7,0.3151465007649224,1.021132721180105,1.
+3.8,0.3159690943652956,1.021955314780479,1.
+3.9,0.3167131522622038,1.022699372677387,1.
+4.,0.3173860978155669,1.02337231823075,1.
+4.1,0.3179946668703848,1.023980887285568,1.
+4.2,0.3185449666082471,1.02453118702343,1.
+4.3,0.3190425349291585,1.025028755344341,1.
+4.4,0.3194923919437557,1.025478612358939,1.
+4.5,0.3198990854593362,1.025885305874519,1.
+4.6,0.3202667328865463,1.026252953301729,1.
+4.7,0.3205990654894201,1.026585285904603,1.
+4.8,0.3208994604811673,1.02688568089635,1.
+4.9,0.3211709745621922,1.027157194977375,1.
+5.,0.3214163749932081,1.027402595408391,1.
diff --git a/models/sbml-test-suite/cases/semantic/00433/00433-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00433/00433-sbml-l2v4.xml
new file mode 100644
index 0000000..16a7b83
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00433/00433-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00433" id="case00433" name="case00433">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00433/00433-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00433/00433-sbml-l3v1.xml
new file mode 100644
index 0000000..78582a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00433/00433-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00433" id="case00433" name="case00433" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00433/00433-settings.txt b/models/sbml-test-suite/cases/semantic/00433/00433-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00433/00433-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00434/00434-results.csv b/models/sbml-test-suite/cases/semantic/00434/00434-results.csv
new file mode 100644
index 0000000..181a7dd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00434/00434-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.883923313603504,2.,1.
+0.2,0.7840151816482617,2.,1.
+0.3,0.6980234595342058,2.,1.
+0.4,0.6240096963989868,2.,1.
+0.5,0.5603054605056571,2.,1.
+0.6,0.5054747139348001,2.,1.
+0.7,0.4582814561323967,2.,1.
+0.8,0.4176618374157148,2.,1.
+0.9,0.3827002134879041,2.,1.
+1.,0.3526084625831038,2.,1.
+1.1,0.3267082539987524,2.,1.
+1.2,0.3044157400823813,2.,1.
+1.3,0.2852283920033416,2.,1.
+1.4,0.2687136900981921,2.,1.
+1.5,0.254499352963239,2.,1.
+1.6,0.2422649605984464,2.,1.
+1.7,0.2317347210056693,2.,1.
+1.8,0.2226712581811941,2.,1.
+1.9,0.2148702647674777,2.,1.
+2.,0.2081558874632012,2.,1.
+2.1,0.202376771724771,2.,1.
+2.2,0.1974026394217073,2.,1.
+2.3,0.1931213624993903,2.,1.
+2.4,0.1894364332697091,2.,1.
+2.5,0.1862647859932125,2.,1.
+2.6,0.1835349246124559,2.,1.
+2.7,0.1811853110709463,2.,1.
+2.8,0.1791629780648575,2.,1.
+2.9,0.1774223429823784,2.,1.
+3.,0.1759241618408279,2.,1.
+3.1,0.1746346676581519,2.,1.
+3.2,0.173524787768869,2.,1.
+3.3,0.1725695069843474,2.,1.
+3.4,0.1717472877394203,2.,1.
+3.5,0.1710395983273337,2.,1.
+3.6,0.1704304833305651,2.,1.
+3.7,0.17686792956537,1.1,1.
+3.8,0.1868585465398743,1.1,1.
+3.9,0.1960580208817629,1.1,1.
+4.,0.2045290022200507,1.1,1.
+4.1,0.2123291788762838,1.1,1.
+4.2,0.2195116704124725,1.1,1.
+4.3,0.2261253905888519,1.1,1.
+4.4,0.2322153818978987,1.1,1.
+4.5,0.2378231135328633,1.1,1.
+4.6,0.2429867757797054,1.1,1.
+4.7,0.2477415380794728,1.1,1.
+4.8,0.2521197748691855,1.1,1.
+4.9,0.2561513060511281,1.1,1.
+5.,0.259863586153533,1.1,1.
diff --git a/models/sbml-test-suite/cases/semantic/00434/00434-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00434/00434-sbml-l2v4.xml
new file mode 100644
index 0000000..a481a79
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00434/00434-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00434" id="case00434" name="case00434">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 3.4 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00434/00434-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00434/00434-sbml-l3v1.xml
new file mode 100644
index 0000000..80883c1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00434/00434-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00434" id="case00434" name="case00434" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 3.4 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00434/00434-settings.txt b/models/sbml-test-suite/cases/semantic/00434/00434-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00434/00434-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00435/00435-results.csv b/models/sbml-test-suite/cases/semantic/00435/00435-results.csv
new file mode 100644
index 0000000..c1cce24
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00435/00435-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8853264433802292,2.,1.114673556619771
+0.2,0.7890629192286799,2.,1.21093708077132
+0.3,0.7082538312244316,2.,1.291746168775568
+0.4,0.6404180736277478,2.,1.359581926372252
+0.5,0.5834728708377842,2.,1.416527129162215
+0.6,0.5356698204849811,2.,1.464330179515017
+0.7,0.4955412132585959,2.,1.504458786741403
+0.8,0.4803445684990072,1.,1.519655431500992
+0.9,0.4822150301018567,1.,1.517784969898142
+1.,0.4839074938070047,1.,1.516092506192994
+1.1,0.4854388982590849,1.,1.514561101740914
+1.2,0.4868245703547239,1.,1.513175429645276
+1.3,0.4880783781882585,1.,1.511921621811741
+1.4,0.4892128704727717,1.,1.510787129527228
+1.5,0.4902394016001543,1.,1.509760598399845
+1.6,0.4911682453992189,1.,1.508831754600781
+1.7,0.4920086980089954,1.,1.507991301991004
+1.8,0.9886579160962086,1.,1.518799596666602
+1.9,0.9542287088619176,1.,1.553228803900893
+2.,0.9230758738150929,1.,1.584381638947717
+2.1,0.8948876228839336,1.,1.612569889878877
+2.2,0.8693818378070847,1.,1.638075674955725
+2.3,0.846303251443386,1.,1.661154261319424
+2.4,0.8254208756796178,1.,1.682036637083192
+2.5,0.8065257320148532,1.,1.700931780747956
+2.6,0.7894286880377876,1.,1.718028824725022
+2.7,0.7739586514545974,1.,1.733498861308212
+2.8,0.7599607811235438,1.,1.747496731639266
+2.9,0.7472949845882234,1.,1.760162528174588
+3.,0.7358344971278867,1.,1.771623015634925
+3.1,0.7254646192137355,1.,1.781992893549076
+3.2,0.7160815656633975,1.,1.791375947099414
+3.3,0.707591427152788,1.,1.799866085610023
+3.4,0.6999092332519132,1.,1.807548279510898
+3.5,0.6929580962411603,1.,1.814499416521651
+3.6,0.6866684473711547,1.,1.820789065391657
+3.7,0.6809773376533528,1.,1.826480175109459
+3.8,0.6758278084436671,1.,1.831629704319145
+3.9,0.6711683218140722,1.,1.836289190948739
+4.,0.666952244132026,1.,1.840505268630786
+4.1,0.6631373794358063,1.,1.844320133327005
+4.2,0.6596855463872386,1.,1.847771966375573
+4.3,0.6565621978456912,1.,1.85089531491712
+4.4,0.6537360784159614,1.,1.85372143434685
+4.5,0.6511788971270755,1.,1.856278615635736
+4.6,0.6488650642980546,1.,1.858592448464756
+4.7,0.6467714235118577,1.,1.860686089250953
+4.8,0.6448770149163736,1.,1.862580497846438
+4.9,0.6431628877635351,1.,1.864294624999276
+5.,0.6416118800847723,1.,1.865845632678039
diff --git a/models/sbml-test-suite/cases/semantic/00435/00435-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00435/00435-sbml-l2v4.xml
new file mode 100644
index 0000000..e461af9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00435/00435-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00435" id="case00435" name="case00435">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00435/00435-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00435/00435-sbml-l3v1.xml
new file mode 100644
index 0000000..c570d0f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00435/00435-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00435" id="case00435" name="case00435" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00435/00435-settings.txt b/models/sbml-test-suite/cases/semantic/00435/00435-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00435/00435-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00436/00436-results.csv b/models/sbml-test-suite/cases/semantic/00436/00436-results.csv
new file mode 100644
index 0000000..24208b8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00436/00436-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.887750782339297,1.887750782339296,1.
+0.2,0.7966440023112905,1.796644002311289,1.
+0.3,0.7216705977190617,1.72167059771906,1.
+0.4,0.6592703457803251,1.659270345780324,1.
+0.5,0.606842912956241,1.60684291295624,1.
+0.6,0.562444523643557,1.562444523643556,1.
+0.7,0.524592928066344,1.524592928066343,1.
+0.8,0.4921380931850872,1.492138093185086,1.
+0.9,0.4641741302809817,1.464174130280981,1.
+1.,0.4399779105876486,1.439977910587647,1.
+1.1,0.4189653520903806,1.418965352090379,1.
+1.2,0.4006597369374422,1.40065973693744,1.
+1.3,0.3846683381931552,1.384668338193153,1.
+1.4,0.3706649227211264,1.370664922721124,1.
+1.5,0.3583764865687512,1.358376486568749,1.
+1.6,0.3475730447244989,1.347573044724497,1.
+1.7,0.3380596865071074,1.338059686507105,1.
+1.8,0.3296703643535806,1.329670364353579,1.
+1.9,0.3222629261707043,1.322262926170703,1.
+2.,0.3157151612813624,1.31571516128136,1.
+2.1,0.3099215972600017,1.30992159726,1.
+2.2,0.3047908933577609,1.304790893357759,1.
+2.3,0.3002437014824756,1.300243701482473,1.
+2.4,0.296210902637948,1.296210902637946,1.
+2.5,0.2926321412770867,1.292632141277084,1.
+2.6,0.2894545851031655,1.289454585103163,1.
+2.7,0.2866319080501405,1.286631908050138,1.
+2.8,0.2865129973741732,1.00142073456333,1.
+2.9,0.2898308796281229,1.00473861681728,1.
+3.,0.2928417876050233,1.007749524794181,1.
+3.1,0.2955728871909415,1.010480624380099,1.
+3.2,0.2980491652057745,1.012956902394932,1.
+3.3,0.3002935625098082,1.015201299698965,1.
+3.4,0.3023271067474959,1.017234843936653,1.
+3.5,0.3041690439176338,1.019076781106791,1.
+3.6,0.3058369660377702,1.020744703226927,1.
+3.7,0.3073469356764904,1.022254672865647,1.
+3.8,0.3087135994153101,1.023621336604467,1.
+3.9,0.309950303634305,1.024858040823462,1.
+4.,0.3110692007347867,1.025976937923943,1.
+4.1,0.3120813410394912,1.026989078228648,1.
+4.2,0.3129967710083764,1.027904508197534,1.
+4.3,0.3138246187123824,1.02873235590154,1.
+4.4,0.3145731699090689,1.029480907098226,1.
+4.5,0.315249943932565,1.030157681121722,1.
+4.6,0.3158617610924383,1.030769498281596,1.
+4.7,0.3164148050783597,1.031322542267517,1.
+4.8,0.3169146802717923,1.03182241746095,1.
+4.9,0.317366463710658,1.032274200899815,1.
+5.,0.317774755302247,1.032682492491404,1.
diff --git a/models/sbml-test-suite/cases/semantic/00436/00436-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00436/00436-sbml-l2v4.xml
new file mode 100644
index 0000000..dc65171
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00436/00436-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00436" id="case00436" name="case00436">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00436/00436-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00436/00436-sbml-l3v1.xml
new file mode 100644
index 0000000..88b1e6a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00436/00436-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00436" id="case00436" name="case00436" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00436/00436-settings.txt b/models/sbml-test-suite/cases/semantic/00436/00436-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00436/00436-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00437/00437-results.csv b/models/sbml-test-suite/cases/semantic/00437/00437-results.csv
new file mode 100644
index 0000000..a2296ba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00437/00437-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9397862386056583,2.,1.
+0.1,0.8839233136031657,2.,1.
+0.15,0.8320968488174136,2.,1.
+0.2,0.7840151816493651,2.,1.
+0.25,0.739407732292588,2.,1.
+0.3,0.6980234596401584,2.,1.
+0.35,0.659629470251618,2.,1.
+0.4,0.624009696490152,2.,1.
+0.45,0.5909636833256537,2.,1.
+0.5,0.5603054605836616,2.,1.
+0.55,0.5318624934531366,2.,1.
+0.6,0.5054747140090363,2.,1.
+0.65,0.4809936203117898,2.,1.
+0.7,0.4582814562027899,2.,1.
+0.75,0.4372103861472312,2.,1.
+0.8,0.4176618374825483,2.,1.
+0.85,0.3995258065806293,2.,1.
+0.9,0.3827002135060131,2.,1.
+0.95,0.3670903418226674,2.,1.
+1.,0.3526084625421513,2.,1.
+1.05,0.3391729588578193,2.,1.
+1.1,0.3267082540121735,2.,1.
+1.15,0.315144209799756,2.,1.
+1.2,0.3044157401095714,2.,1.
+1.25,0.2944624723364626,2.,1.
+1.3,0.2852283920249179,2.,1.
+1.35,0.2766615351184768,2.,1.
+1.4,0.2687136901202973,2.,1.
+1.45,0.2613401277012084,2.,1.
+1.5,0.2544993529805012,2.,1.
+1.55,0.2481528682335957,2.,1.
+1.6,0.2422649606251243,2.,1.
+1.65,0.2368024918581608,2.,1.
+1.7,0.2317347209749946,2.,1.
+1.75,0.2289004500811753,1.1,1.
+1.8,0.2318960965550309,1.1,1.
+1.85,0.2347706865488403,1.1,1.
+1.9,0.237529112084007,1.1,1.
+1.95,0.240176067468791,1.1,1.
+2.,0.2427160572621327,1.1,1.
+2.05,0.2451534039723896,1.1,1.
+2.1,0.2474922556548178,1.1,1.
+2.15,0.2497365925309726,1.1,1.
+2.2,0.2518902338492242,1.1,1.
+2.25,0.2539568448055784,1.1,1.
+2.3,0.2559399423665229,1.1,1.
+2.35,0.2578429013750059,1.1,1.
+2.4,0.2596689602938891,1.1,1.
+2.45,0.2614212266920489,1.1,1.
+2.5,0.263102682631619,1.1,1.
diff --git a/models/sbml-test-suite/cases/semantic/00437/00437-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00437/00437-sbml-l2v4.xml
new file mode 100644
index 0000000..d7d3bd3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00437/00437-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00437" id="case00437" name="case00437">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00437/00437-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00437/00437-sbml-l3v1.xml
new file mode 100644
index 0000000..0325954
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00437/00437-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00437" id="case00437" name="case00437" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00437/00437-settings.txt b/models/sbml-test-suite/cases/semantic/00437/00437-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00437/00437-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00438/00438-results.csv b/models/sbml-test-suite/cases/semantic/00438/00438-results.csv
new file mode 100644
index 0000000..8cb1a3a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00438/00438-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8853264433802292,2.,1.114673556619771
+0.2,0.7890629192286799,2.,1.21093708077132
+0.3,0.7082538312250155,2.,1.291746168774985
+0.4,0.6404180736333049,2.,1.359581926366695
+0.5,0.5834728706868312,2.,1.416527129313169
+0.6,0.5356698198412446,2.,1.464330180158756
+0.7,0.4955412130026252,2.,1.504458786997375
+0.8,0.4618549722531928,2.,1.538145027746808
+0.9,0.4335767965584638,2.,1.566423203441537
+1.,0.4098385260026982,2.,1.590161473997302
+1.1,0.3899112526174604,2.,1.61008874738254
+1.2,0.373183161980142,2.,1.626816838019858
+1.3,0.9628129721975096,1.5,1.670791991163974
+1.4,0.9006387184652264,1.5,1.732966244896257
+1.5,0.8464517206896647,1.5,1.787153242671819
+1.6,0.7992258895195542,1.5,1.83437907384193
+1.7,0.7580669554699928,1.5,1.875538007891491
+1.8,0.7221955279873015,1.5,1.911409435374183
+1.9,0.6909323506263206,1.5,1.942672612735164
+2.,0.6636854175113861,1.5,1.969919545850098
+2.1,0.6399387789840483,1.5,1.993666184377436
+2.2,0.6192427657113563,1.5,2.014362197650128
+2.3,0.6012054847317056,1.5,2.032399478629779
+2.4,0.585485370908664,1.5,2.04811959245282
+2.5,0.5717847506926542,1.5,2.06182021266883
+2.6,0.559844176060796,1.5,2.073760787300688
+2.7,0.5494375772561783,1.5,2.084167386105306
+2.8,0.9549990347466705,1.5,2.131207989951372
+2.9,0.9044002067569403,1.5,2.181806817941101
+3.,0.8603015887172541,1.5,2.225905435980787
+3.1,0.8218681309977699,1.5,2.264338893700272
+3.2,0.7883720506150048,1.5,2.297834974083037
+3.3,0.7591790617948539,1.5,2.327027962903188
+3.4,0.7337363769608716,1.5,2.352470647737172
+3.5,0.7115622002027389,1.5,2.374644824495305
+3.6,0.692236643109111,1.5,2.393970381588933
+3.7,0.6753937569958813,1.5,2.410813267702162
+3.8,0.6607145996887348,1.5,2.425492425009309
+3.9,0.6479212124903962,1.5,2.438285812207647
+4.,0.636771336255116,1.5,2.449435688442927
+4.1,0.6270538362700491,1.5,2.459153188427995
+4.2,0.6185847013706736,1.5,2.46762232332737
+4.3,0.6112035615709351,1.5,2.475003463127108
+4.4,0.9683324637729177,1.5,2.508991842876104
+4.5,0.9251562274512517,1.5,2.552168079197771
+4.6,0.8875266536935267,1.5,2.589797652955495
+4.7,0.8547311883371462,1.5,2.622593118311876
+4.8,0.8261488071849478,1.5,2.651175499464074
+4.9,0.801238288958718,1.5,2.676086017690304
+5.,0.7795279182076808,1.5,2.697796388441341
diff --git a/models/sbml-test-suite/cases/semantic/00438/00438-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00438/00438-sbml-l2v4.xml
new file mode 100644
index 0000000..09ca357
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00438/00438-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00438" id="case00438" name="case00438">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00438/00438-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00438/00438-sbml-l3v1.xml
new file mode 100644
index 0000000..feadf82
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00438/00438-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00438" id="case00438" name="case00438" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00438/00438-settings.txt b/models/sbml-test-suite/cases/semantic/00438/00438-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00438/00438-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00439/00439-results.csv b/models/sbml-test-suite/cases/semantic/00439/00439-results.csv
new file mode 100644
index 0000000..4a557ff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00439/00439-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9408437156261256,1.940843715626125,1.
+0.1,0.8877507823390322,1.887750782339032,1.
+0.15,0.8399091161119277,1.839909116111928,1.
+0.2,0.7966440023114999,1.7966440023115,1.
+0.25,0.7573902061885841,1.757390206188584,1.
+0.3,0.7216705977189582,1.721670597718957,1.
+0.35,0.6890796232076302,1.689079623207629,1.
+0.4,0.6592703457803261,1.659270345780325,1.
+0.45,0.6319442161847321,1.631944216184731,1.
+0.5,0.6068429129582882,1.606842912958287,1.
+0.55,0.5837417817101183,1.583741781710117,1.
+0.6,0.5624445236392965,1.562444523639295,1.
+0.65,0.5427788486881456,1.542778848688144,1.
+0.7,0.5245929280772293,1.524592928077228,1.
+0.75,0.5077524326822896,1.507752432682288,1.
+0.8,0.4921380931877755,1.492138093187774,1.
+0.85,0.477643649710889,1.477643649710888,1.
+0.9,0.4641741302945974,1.464174130294596,1.
+0.95,0.4516443945548258,1.451644394554825,1.
+1.,0.439977910728108,1.439977910728107,1.
+1.05,0.9662440169067733,1.466244016906773,1.
+1.1,0.9273949895179375,1.427394989517937,1.
+1.15,0.891830864854569,1.391830864854569,1.
+1.2,0.8591867827956942,1.359186782795694,1.
+1.25,0.8291494196169322,1.329149419616932,1.
+1.3,0.8014481962917099,1.30144819629171,1.
+1.35,0.7758482115557059,1.275848211555706,1.
+1.4,0.7521445522847246,1.252144552284725,1.
+1.45,0.7301576452002521,1.230157645200253,1.
+1.5,0.7097294543184929,1.209729454318494,1.
+1.55,0.6907203425925968,1.190720342592598,1.
+1.6,0.6730064682184645,1.173006468218465,1.
+1.65,0.6564776088973746,1.156477608897376,1.
+1.7,0.6410353398937187,1.14103533989372,1.
+1.75,0.6265914947294782,1.126591494729479,1.
+1.8,0.6130668638183582,1.11306686381836,1.
+1.85,0.6003900844355601,1.100390084435561,1.
+1.9,0.588496693121116,1.088496693121117,1.
+1.95,0.5773283125004843,1.077328312500485,1.
+2.,0.5668319522324006,1.066831952232401,1.
+2.05,0.5569594018014028,1.056959401801404,1.
+2.1,0.5476667005500701,1.047666700550071,1.
+2.15,0.5389136939491806,1.038913693949181,1.
+2.2,0.961995835396222,1.461995835396221,1.
+2.25,0.9235108414248416,1.42351084142484,1.
+2.3,0.8882696868231947,1.388269686823193,1.
+2.35,0.8559134014487289,1.355913401448727,1.
+2.4,0.8261335319564285,1.326133531956426,1.
+2.45,0.7986635532106529,1.298663553210651,1.
+2.5,0.7732719650029458,1.273271965002944,1.
diff --git a/models/sbml-test-suite/cases/semantic/00439/00439-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00439/00439-sbml-l2v4.xml
new file mode 100644
index 0000000..24fead8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00439/00439-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00439" id="case00439" name="case00439">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00439/00439-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00439/00439-sbml-l3v1.xml
new file mode 100644
index 0000000..c8f91fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00439/00439-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00439" id="case00439" name="case00439" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00439/00439-settings.txt b/models/sbml-test-suite/cases/semantic/00439/00439-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00439/00439-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00440/00440-results.csv b/models/sbml-test-suite/cases/semantic/00440/00440-results.csv
new file mode 100644
index 0000000..2314b29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00440/00440-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.883923313603504,2.,1.
+0.2,0.7840151816482617,2.,1.
+0.3,0.698023459533975,2.,1.
+0.4,0.6240096963986956,2.,1.
+0.5,0.560305460502597,2.,1.
+0.6,0.5054747139777149,2.,1.
+0.7,0.4582814560942047,2.,1.
+0.8,0.4176618373970593,2.,1.
+0.9,0.3827002135204567,2.,1.
+1.,0.3526084620107945,2.,1.
+1.1,0.3267082537116849,2.,1.
+1.2,0.3044157400444939,2.,1.
+1.3,0.2852283926791962,2.,1.
+1.4,0.2687136898066114,2.,1.
+1.5,0.2544993536557357,2.,1.
+1.6,0.2422649587437519,2.,1.
+1.7,0.2317347213207874,2.,1.
+1.8,0.2226712590618599,2.,1.
+1.9,0.2148702588782828,2.,1.
+2.,0.2081558886906948,2.,1.
+2.1,0.2023767645656199,2.,1.
+2.2,0.1974026394829409,2.,1.
+2.3,0.1931213577096926,2.,1.
+2.4,0.1894364347650583,2.,1.
+2.5,0.1862647872215659,2.,1.
+2.6,0.947421967053736,1.5,1.
+2.7,0.8702587900436291,1.5,1.
+2.8,0.8013059795807799,1.5,1.
+2.9,0.7396899321079455,1.5,1.
+3.,0.6846299949833305,1.5,1.
+3.1,0.635428581083024,1.5,1.
+3.2,0.5914623275869682,1.5,1.
+3.3,0.5521742014524744,1.5,1.
+3.4,0.5170664297579963,1.5,1.
+3.5,0.4856942238971888,1.5,1.
+3.6,0.457660103965837,1.5,1.
+3.7,0.4326088887657845,1.5,1.
+3.8,0.410223189320274,1.5,1.
+3.9,0.3902193890664433,1.5,1.
+4.,0.3723440339568197,1.5,1.
+4.1,0.3563706801929661,1.5,1.
+4.2,0.3420969315120284,1.5,1.
+4.3,0.3293419463939162,1.5,1.
+4.4,0.3179441235611033,1.5,1.
+4.5,0.3077590590733729,1.5,1.
+4.6,0.2986577123441262,1.5,1.
+4.7,0.290524773616775,1.5,1.
+4.8,0.2832571946603462,1.5,1.
+4.9,0.2767629175774252,1.5,1.
+5.,0.2709596429041774,1.5,1.
diff --git a/models/sbml-test-suite/cases/semantic/00440/00440-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00440/00440-sbml-l2v4.xml
new file mode 100644
index 0000000..d5de549
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00440/00440-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00440" id="case00440" name="case00440">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00440/00440-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00440/00440-sbml-l3v1.xml
new file mode 100644
index 0000000..1991dd7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00440/00440-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00440" id="case00440" name="case00440" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00440/00440-settings.txt b/models/sbml-test-suite/cases/semantic/00440/00440-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00440/00440-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00441/00441-results.csv b/models/sbml-test-suite/cases/semantic/00441/00441-results.csv
new file mode 100644
index 0000000..adbab9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00441/00441-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.12,0.2,0.1
+0.1,0.09635371690132459,0.1163537169013245,0.2036462830986754,0.1
+0.2,0.09332231769276562,0.1133223176927656,0.2066776823072344,0.1
+0.3,0.09079055396247957,0.1107905539624795,0.2092094460375204,0.1
+0.4,0.08866798289538113,0.1086679828953811,0.2113320171046189,0.1
+0.5,0.08688276225658439,0.1068827622565843,0.2131172377434156,0.1
+0.6,0.0853772278825704,0.1053772278825704,0.2146227721174296,0.1
+0.7,0.08410467649954796,0.1041046764995479,0.2158953235004521,0.1
+0.8,0.08302698815188007,0.10302698815188,0.21697301184812,0.1
+0.9,0.08211284007852574,0.1021128400785257,0.2178871599214743,0.1
+1.,0.08133634638509544,0.1013363463850954,0.2186636536149045,0.1
+1.1,0.08067600650810802,0.100676006508108,0.219323993491892,0.1
+1.2,0.08011388579395989,0.1001138857939598,0.2198861142060401,0.1
+1.3,0.07963496993847038,0.09963496993847037,0.2203650300615296,0.1
+1.4,0.0792266484587704,0.09922664845877039,0.2207733515412295,0.1
+1.5,0.07887830117636053,0.09887830117636052,0.2211216988236394,0.1
+1.6,0.07858096315641185,0.09858096315641184,0.2214190368435881,0.1
+1.7,0.07832705126441391,0.0983270512644139,0.221672948735586,0.1
+1.8,0.07811014002791937,0.09811014002791936,0.2218898599720805,0.1
+1.9,0.07792477746278715,0.09792477746278714,0.2220752225372127,0.1
+2.,0.07776633036138758,0.09776633036138757,0.2222336696386123,0.1
+2.1,0.07763085830988571,0.0976308583098857,0.2223691416901142,0.1
+2.2,0.07751500626479802,0.09751500626479801,0.2224849937352018,0.1
+2.3,0.07741591540605566,0.09741591540605565,0.2225840845939442,0.1
+2.4,0.07733114797569377,0.09733114797569376,0.222668852024306,0.1
+2.5,0.07725862458754558,0.09725862458754557,0.2227413754124542,0.1
+2.6,0.1936243091916772,0.09086819935860793,0.2291318006413919,0.1
+2.7,0.1869691544131445,0.08421304458007516,0.2357869554199246,0.1
+2.8,0.1816746685190525,0.07891855868598321,0.2410814413140166,0.1
+2.9,0.1774287444028381,0.07467263456976878,0.245327365430231,0.1
+3.,0.1740017651332952,0.07124565530022591,0.2487543446997739,0.1
+3.1,0.1712213997618164,0.06846528992874713,0.2515347100712527,0.1
+3.2,0.168956141664266,0.06620003183119679,0.2537999681688031,0.1
+3.3,0.1671042298184894,0.06434811998542025,0.2556518800145797,0.1
+3.4,0.1655859987846783,0.06282988895160916,0.2571701110483908,0.1
+3.5,0.1643384674927474,0.06158235765967825,0.2584176423403217,0.1
+3.6,0.1633114380488219,0.06055532821575278,0.2594446717842472,0.1
+3.7,0.162464624365445,0.05970851453237591,0.2602914854676242,0.1
+3.8,0.1617655099206461,0.05900940008757698,0.2609905999124231,0.1
+3.9,0.1611877243251013,0.0584316144920322,0.2615683855079679,0.1
+4.,0.1607097949570708,0.05795368512400168,0.2620463148759984,0.1
+4.1,0.1603141783745037,0.05755806854143461,0.2624419314585654,0.1
+4.2,0.1599865028427877,0.05723039300971859,0.2627696069902815,0.1
+4.3,0.1597149660428583,0.05695885620978927,0.2630411437902108,0.1
+4.4,0.1594898580747097,0.05673374824164057,0.2632662517583596,0.1
+4.5,0.1593031768370943,0.05654706700402517,0.263452932995975,0.1
+4.6,0.1591483189954824,0.05639220916241327,0.2636077908375869,0.1
+4.7,0.1590198296915896,0.05626371985852048,0.2637362801414797,0.1
+4.8,0.158913198408273,0.05615708857520389,0.2638429114247963,0.1
+4.9,0.1588246924218064,0.05606858258873721,0.2639314174112629,0.1
+5.,0.1587512210177727,0.05599511118470357,0.2640048888152966,0.1
diff --git a/models/sbml-test-suite/cases/semantic/00441/00441-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00441/00441-sbml-l2v4.xml
new file mode 100644
index 0000000..8cfc617
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00441/00441-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00441" id="case00441" name="case00441">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00441/00441-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00441/00441-sbml-l3v1.xml
new file mode 100644
index 0000000..576461b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00441/00441-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00441" id="case00441" name="case00441" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00441/00441-settings.txt b/models/sbml-test-suite/cases/semantic/00441/00441-settings.txt
new file mode 100644
index 0000000..0e87183
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00441/00441-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00442/00442-results.csv b/models/sbml-test-suite/cases/semantic/00442/00442-results.csv
new file mode 100644
index 0000000..dd72b7a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00442/00442-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00012,0.00019,0.0001
+0.1,0.00009612560365058128,0.0001161256036505812,0.0001938743963494187,0.0001
+0.2,0.00009290348630475215,0.0001129034863047521,0.0001970965136952478,0.0001
+0.3,0.00009021076761770178,0.0001102107676177017,0.0001997892323822982,0.0001
+0.4,0.00008795130495631018,0.0001079513049563101,0.0002020486950436897,0.0001
+0.5,0.00008604891504007997,0.0001060489150400799,0.0002039510849599199,0.0001
+0.6,0.00008444256647004819,0.0001044425664700482,0.0002055574335299517,0.0001
+0.7,0.00008308290154086863,0.0001030829015408686,0.0002069170984591313,0.0001
+0.8,0.00008192967669989553,0.0001019296766998955,0.0002080703233001044,0.0001
+0.9,0.00008094984611519201,0.000100949846115192,0.0002090501538848079,0.0001
+1.,0.00008011610860755294,0.0001001161086075529,0.0002098838913924469,0.0001
+1.1,0.00007940579012641346,0.00009940579012641346,0.0002105942098735862,0.0001
+1.2,0.00007879997266087828,0.00009879997266087828,0.0002112000273391214,0.0001
+1.3,0.00007828281040830763,0.00009828281040830763,0.0002117171895916921,0.0001
+1.4,0.00007784098553590562,0.00009784098553590562,0.0002121590144640941,0.0001
+1.5,0.00007746327170717897,0.00009746327170717897,0.0002125367282928208,0.0001
+1.6,0.00007714018303430339,0.00009714018303430339,0.0002128598169656964,0.0001
+1.7,0.00007686368452880595,0.00009686368452880595,0.0002131363154711939,0.0001
+1.8,0.00007662695924362351,0.00009662695924362351,0.0002133730407563762,0.0001
+1.9,0.00007400738772540844,0.00009400738772540844,0.0001026008192673831,0.0001
+2.,0.00007154355748496292,0.00009154355748496292,0.0001050646495078287,0.0001
+2.1,0.0001915308296810985,0.0000827287940627261,0.0001138794129300655,0.0001
+2.2,0.0001834443229949803,0.00007464228737660797,0.0001219659196161836,0.0001
+2.3,0.0001769480054000844,0.0000681459697817121,0.0001284622372110795,0.0001
+2.4,0.0001716775888513003,0.00006287555323292806,0.0001337326537598636,0.0001
+2.5,0.0001673675154486083,0.00005856547983023607,0.0001380427271625556,0.0001
+2.6,0.0001638197602707818,0.00005501772465240962,0.0001415904823403821,0.0001
+2.7,0.0001608838009225846,0.00005208176530421236,0.0001445264416885793,0.0001
+2.8,0.0001584433406966911,0.00004964130507831894,0.0001469669019144728,0.0001
+2.9,0.0001564072698365567,0.00004760523421818452,0.0001490029727746072,0.0001
+3.,0.0001547033530625482,0.00004590131744417595,0.0001507068895486158,0.0001
+3.1,0.0001532737346005435,0.0000444716989821713,0.0001521365080106204,0.0001
+3.2,0.0001520716686901673,0.00004326963307179509,0.0001533385739209966,0.0001
+3.3,0.0001510591014952912,0.00004225706587691897,0.0001543511411158727,0.0001
+3.4,0.0001502048575914774,0.00004140282197310517,0.0001552053850196865,0.0001
+3.5,0.000149483252179993,0.00004068121656162074,0.0001559269904311709,0.0001
+3.6,0.0001488730277002519,0.00004007099208187968,0.000156537214910912,0.0001
+3.7,0.0001483565172337817,0.00003955448161540952,0.0001570537253773822,0.0001
+3.8,0.0001479189882251136,0.00003911695260674142,0.0001574912543860503,0.0001
+3.9,0.000147548119201966,0.00003874608358359385,0.0001578621234091979,0.0001
+4.,0.0001472335783424825,0.00003843154272411028,0.0001581766642686814,0.0001
+4.1,0.0001469666837206385,0.00003816464810226631,0.0001584435588905254,0.0001
+4.2,0.0001467401270585358,0.00003793809144016363,0.0001586701155526281,0.0001
+4.3,0.0001465477460439417,0.00003774571042556956,0.0001588624965672222,0.0001
+4.4,0.0001463843379845693,0.0000375823023661971,0.0001590259046265946,0.0001
+4.5,0.0001462455053192735,0.00003744346970090133,0.0001591647372918904,0.0001
+4.6,0.0001461275273361135,0.00003732549171774135,0.0001592827152750504,0.0001
+4.7,0.0001460272537958215,0.00003722521817744937,0.0001593829888153424,0.0001
+4.8,0.0001459420145919944,0.00003713997897362229,0.0001594682280191695,0.0001
+4.9,0.0001458695466225449,0.00003706751100417278,0.000159540695988619,0.0001
+5.,0.0001458079295406905,0.00003700589392231841,0.0001596023130704735,0.0001
diff --git a/models/sbml-test-suite/cases/semantic/00442/00442-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00442/00442-sbml-l2v4.xml
new file mode 100644
index 0000000..6843d74
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00442/00442-sbml-l2v4.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00442" id="case00442" name="case00442">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.00019" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S2 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00442/00442-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00442/00442-sbml-l3v1.xml
new file mode 100644
index 0000000..e1a01f2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00442/00442-sbml-l3v1.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00442" id="case00442" name="case00442" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.00019" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S2 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00442/00442-settings.txt b/models/sbml-test-suite/cases/semantic/00442/00442-settings.txt
new file mode 100644
index 0000000..428995a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00442/00442-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00443/00443-results.csv b/models/sbml-test-suite/cases/semantic/00443/00443-results.csv
new file mode 100644
index 0000000..971bb0d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00443/00443-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.001199999999999999,0.002,0.001
+0.12,0.0009570235332236401,0.00115702353322364,0.002042976466776359,0.001
+0.24,0.000922551996802316,0.001122551996802316,0.002077448003197683,0.001
+0.36,0.0008947286471373402,0.00109472864713734,0.00210527135286266,0.001
+0.48,0.0008721576175313595,0.001072157617531359,0.00212784238246864,0.001
+0.6,0.0008537722788314858,0.001053772278831486,0.002146227721168513,0.001
+0.72,0.0008387464015346532,0.001038746401534653,0.002161253598465346,0.001
+0.84,0.0008264326313323263,0.001026432631332326,0.002173567368667673,0.001
+0.96,0.0008163188927579064,0.001016318892757906,0.002183681107242093,0.001
+1.08,0.0008079968853798052,0.001007996885379805,0.002192003114620193,0.001
+1.2,0.0008011388579357564,0.001001138857935756,0.002198861142064243,0.001
+1.32,0.0007954802426705485,0.0009954802426705479,0.002204519757329451,0.001
+1.44,0.0007908064856750541,0.0009908064856750532,0.002209193514324946,0.001
+1.56,0.0007869429070984372,0.0009869429070984367,0.002213057092901563,0.001
+1.68,0.0007837468302993993,0.0009837468302993986,0.002216253169700601,0.001
+1.8,0.0007811014002732037,0.0009811014002732033,0.002218898599726797,0.001
+1.92,0.0007789107007625926,0.0009789107007625922,0.002221089299237408,0.001
+2.04,0.0007770958452845772,0.0009770958452845765,0.002222904154715423,0.001
+2.16,0.0007755918585576217,0.0009755918585576209,0.002224408141442379,0.001
+2.28,0.0007743451517683113,0.0009743451517683105,0.002225654848231689,0.001
+2.4,0.000773311479753541,0.0009733114797535403,0.00222668852024646,0.001
+2.52,0.0007724542804393073,0.0009724542804393065,0.002227545719560693,0.001
+2.64,0.0007717433147588092,0.0009717433147588084,0.002228256685241191,0.001
+2.76,0.0007711535600891041,0.0009711535600891033,0.002228846439910896,0.001
+2.88,0.0007706642991841578,0.000970664299184157,0.002229335700815843,0.001
+3.,0.001964461554868773,0.0009348067863444307,0.0005355384451312261,0.001
+3.12,0.001834493318296132,0.0008048385497717904,0.0006655066817038663,0.001
+3.24,0.001735124643305479,0.000705469874781137,0.0007648753566945197,0.001
+3.36,0.001657760297700744,0.0006281055291764026,0.0008422397022992541,0.001
+3.48,0.001596672537020823,0.0005670177684964815,0.0009033274629791752,0.001
+3.6,0.001547897865414492,0.0005182430968901499,0.0009521021345855069,0.001
+3.72,0.001508607686064739,0.0004789529175403973,0.0009913923139352593,0.001
+3.84,0.001476731081190544,0.0004470763126662016,0.001023268918809455,0.001
+3.96,0.001450719184114952,0.0004210644155906105,0.001049280815885046,0.001
+4.08,0.001429392623886133,0.0003997378553617911,0.001070607376113865,0.001
+4.2,0.001411839736357754,0.0003821849678334115,0.001088160263642245,0.001
+4.32,0.001397346754892551,0.0003676919863682091,0.001102653245107447,0.001
+4.44,0.001385348797291122,0.0003556940287667803,0.001114651202708876,0.001
+4.56,0.001375394729008036,0.0003457399604836946,0.001124605270991962,0.001
+4.68,0.001367121466832083,0.0003374666983077409,0.001132878533167916,0.001
+4.8,0.001360234889796875,0.0003305801212725337,0.001139765110203123,0.001
+4.92,0.001354495422194679,0.0003248406536703377,0.001145504577805319,0.001
+5.04,0.001349707013616989,0.0003200522450926473,0.001150292986383009,0.001
+5.16,0.001345708608201817,0.0003160538396774752,0.001154291391798182,0.001
+5.28,0.001342367448822918,0.0003127126802985766,0.00115763255117708,0.001
+5.4,0.001339573814331352,0.0003099190458070099,0.001160426185668647,0.001
+5.52,0.001337236794983666,0.0003075820264593243,0.001162763205016332,0.001
+5.64,0.001335280933590277,0.000305626165065935,0.001164719066409721,0.001
+5.76,0.001333643484631833,0.000303988716107491,0.001166356515368165,0.001
+5.88,0.001332272204598179,0.0003026174360738371,0.001167727795401819,0.001
+6.,0.001331123543209144,0.0003014687746848019,0.001168876456790854,0.001
diff --git a/models/sbml-test-suite/cases/semantic/00443/00443-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00443/00443-sbml-l2v4.xml
new file mode 100644
index 0000000..d21d1ae
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00443/00443-sbml-l2v4.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00443" id="case00443" name="case00443">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S2 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 2000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00443/00443-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00443/00443-sbml-l3v1.xml
new file mode 100644
index 0000000..8eb4a1b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00443/00443-sbml-l3v1.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00443" id="case00443" name="case00443" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S2 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 2000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00443/00443-settings.txt b/models/sbml-test-suite/cases/semantic/00443/00443-settings.txt
new file mode 100644
index 0000000..c44c2a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00443/00443-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00444/00444-results.csv b/models/sbml-test-suite/cases/semantic/00444/00444-results.csv
new file mode 100644
index 0000000..a897347
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00444/00444-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9424487530290474,1.87202786394052,1.057551246970952
+0.1,0.8935253567664223,1.760647814559027,1.106474643233578
+0.15,0.8516673584578466,1.662832599575355,1.148332641542154
+0.2,0.8156652289448177,1.576243606922262,1.184334771055183
+0.25,0.7845679867904453,1.499045897650766,1.215432013209555
+0.3,0.7576175923644991,1.429779791871586,1.242382407635501
+0.35,0.7342023656463757,1.367269809437843,1.265797634353624
+0.4,0.713823307464708,1.310558919786113,1.286176692535293
+0.45,0.6960693121892629,1.25886021343241,1.303930687810738
+0.5,0.6805986589668618,1.211520861943609,1.319401341033139
+0.55,0.6671249982056201,1.167994866592294,1.332875001794381
+0.6,0.6554066035933681,1.127822184702716,1.344593396406632
+0.65,0.6452380425781831,1.090612573969131,1.354761957421817
+0.7,0.6364436457223008,1.056032942418535,1.363556354277699
+0.75,0.6288723408213351,1.023797355021615,1.371127659178665
+0.8,0.6223935214005247,0.9936590519214818,1.377606478599475
+0.85,0.6168937306810831,0.9654040503109119,1.383106269318917
+0.9,0.612273972329418,0.9388459623591721,1.387726027670582
+0.95,0.6084474953518813,0.9138217327220478,1.391552504648118
+1.,0.6053379915042763,0.8901881740613001,1.394662008495723
+1.05,0.6028780950104447,0.867819087423592,1.397121904989555
+1.1,0.6010081354550489,0.8466028716099786,1.398991864544951
+1.15,0.5996750881333524,0.8264405137695294,1.400324911866648
+1.2,0.5988317034322889,0.8072439245696285,1.401168296567711
+1.25,0.5984357481172629,0.7889344896844955,1.401564251882737
+1.3,0.598449376409741,0.7714418703297798,1.401550623590259
+1.35,0.5988386076517334,0.7547030079257134,1.401161392348267
+1.4,0.599572838747356,0.7386611970427934,1.400427161252644
+1.45,0.6006244559699082,0.7232653476610354,1.399375544030092
+1.5,0.6019685003557402,0.7084693499196997,1.39803149964426
+1.55,0.6035823526551812,0.6942314772822944,1.396417647344819
+1.6,0.6054454827715122,0.6805139120026296,1.394554517228488
+1.65,0.6075392256068368,0.6672823211590289,1.392460774393164
+1.7,0.6098465783819131,0.6545054738901219,1.390153421618087
+1.75,0.6123520276934159,0.6421549150702514,1.387647972306584
+1.8,0.6150413965360188,0.6302046769839955,1.384958603463981
+1.85,0.6179017092750923,0.6186310251068443,1.382098290724908
+1.9,0.6209210721694045,0.6074122333993399,1.379078927830595
+1.95,0.6240885674558909,0.5965283853122763,1.375911432544109
+2.,0.6273941596134631,0.5859611978391058,1.372605840386537
+2.05,0.6308286108501726,0.575693863061966,1.369171389149827
+2.1,0.6343834067954538,0.5657109089384198,1.365616593204546
+2.15,0.6380506878536687,0.5559980708802876,1.361949312146331
+2.2,0.6418231907696677,0.5465421824586421,1.358176809230332
+2.25,0.6383395395746653,0.9789309671451875,1.361660460425335
+2.3,0.6324237982359488,0.9500407386318985,1.367576201764051
+2.35,0.627434055840488,0.9229344511615883,1.372565944159512
+2.4,0.6232781863356663,0.8974388391687351,1.376721813664334
+2.45,0.6198752679988989,0.8734019660968297,1.380124732001101
+2.5,0.617153954459832,0.850690095979765,1.382846045540168
diff --git a/models/sbml-test-suite/cases/semantic/00444/00444-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00444/00444-sbml-l2v4.xml
new file mode 100644
index 0000000..f742e6d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00444/00444-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00444" id="case00444" name="case00444">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.9 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00444/00444-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00444/00444-sbml-l3v1.xml
new file mode 100644
index 0000000..7462f98
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00444/00444-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00444" id="case00444" name="case00444" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.9 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00444/00444-settings.txt b/models/sbml-test-suite/cases/semantic/00444/00444-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00444/00444-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00445/00445-results.csv b/models/sbml-test-suite/cases/semantic/00445/00445-results.csv
new file mode 100644
index 0000000..20ff364
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00445/00445-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9424487530290474,1.87202786394052,1.057551246970952
+0.1,0.8935253567664223,1.760647814559027,1.106474643233578
+0.15,0.8516673584578466,1.662832599575355,1.148332641542154
+0.2,0.8156652289448177,1.576243606922262,1.184334771055183
+0.25,0.7845679867904453,1.499045897650766,1.215432013209555
+0.3,0.7576175923644991,1.429779791871586,1.242382407635501
+0.35,0.7342023656460265,1.367269809437175,1.265797634353973
+0.4,0.7138233074644203,1.310558919785563,1.28617669253558
+0.45,0.6960693121889197,1.258860213431751,1.30393068781108
+0.5,0.6805986589652021,1.211520861940413,1.319401341034798
+0.55,0.6671249982042921,1.167994866589739,1.332875001795708
+0.6,0.6554066035929955,1.127822184701998,1.344593396407005
+0.65,0.6452380425769203,1.090612573966705,1.35476195742308
+0.7,0.6364436457227105,1.056032942419313,1.36355635427729
+0.75,0.6288723408217795,1.023797355022457,1.371127659178221
+0.8,0.6223935213996767,0.9936590519198553,1.377606478600324
+0.85,0.6168937306794763,0.9654040503078406,1.383106269320524
+0.9,0.6122739723282442,0.9388459623569294,1.387726027671757
+0.95,0.6084474953536898,0.9138217327254721,1.391552504646311
+1.,0.6053379915050696,0.890188174062793,1.394662008494931
+1.05,0.6028780950055221,0.8678190874142552,1.397121904994479
+1.1,0.6010081354498707,0.8466028716001733,1.39899186455013
+1.15,0.5996750881421215,0.826440513786084,1.400324911857879
+1.2,0.5988317034202614,0.8072439245469323,1.401168296579739
+1.25,0.5984357481032358,0.7889344896580723,1.401564251896765
+1.3,0.5952040584292063,0.9815140539082984,1.404795941570794
+1.35,0.5912433301468758,0.9560071011709773,1.408756669853125
+1.4,0.5880062631751676,0.9319025606464936,1.411993736824833
+1.45,0.585424406163915,0.9090721387603537,1.414575593836086
+1.5,0.5834371833605218,0.8874024878927341,1.416562816639479
+1.55,0.581990817879965,0.8667931445967698,1.418009182120036
+1.6,0.5810374303966431,0.8471548058286472,1.418962569603358
+1.65,0.5805342704770689,0.8284078608491376,1.419465729522932
+1.7,0.5804430701289398,0.8104811579813168,1.419556929871061
+1.75,0.5807294891315801,0.7933109478229299,1.419270510868421
+1.8,0.5813626402088776,0.7768399796880509,1.418637359791123
+1.85,0.5823146815802775,0.7610167271834119,1.417685318419723
+1.9,0.5835604662124134,0.745794722312969,1.416439533787587
+1.95,0.5850772294189045,0.7311319632946816,1.414922770581096
+2.,0.5868443353596101,0.7169904341928041,1.413155664640391
+2.05,0.5888430326782534,0.7033356429047404,1.411156967321747
+2.1,0.591056263159137,0.690136259361696,1.408943736840864
+2.15,0.5934684760387996,0.6773637651832396,1.406531523961201
+2.2,0.5960654767347115,0.6649921683459707,1.403934523265289
+2.25,0.5988342865286842,0.6529977389299528,1.401165713471316
+2.3,0.601763021171394,0.6413587806859841,1.398236978828607
+2.35,0.6048407828334967,0.6300554279281672,1.395159217166504
+2.4,0.6080575641127308,0.6190694652652767,1.39194243588727
+2.45,0.6114041631504657,0.608384168329464,1.388595836849535
+2.5,0.6148721050967592,0.5979841566330763,1.385127894903242
diff --git a/models/sbml-test-suite/cases/semantic/00445/00445-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00445/00445-sbml-l2v4.xml
new file mode 100644
index 0000000..f0b685d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00445/00445-sbml-l2v4.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00445" id="case00445" name="case00445">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.95 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00445/00445-settings.txt b/models/sbml-test-suite/cases/semantic/00445/00445-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00445/00445-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00446/00446-results.csv b/models/sbml-test-suite/cases/semantic/00446/00446-results.csv
new file mode 100644
index 0000000..60606e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00446/00446-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842699198,1.889094184269919,1.11090581573008
+0.2,0.8013223155402242,1.801322315540224,1.198677684459776
+0.3,0.7309282020846935,1.730928202084693,1.269071797915306
+0.4,0.6738662230476977,1.673866223047697,1.326133776952302
+0.5,0.6272103610144392,1.627210361014439,1.37278963898556
+0.6,0.5887929243656386,1.588792924365638,1.411207075634361
+0.7,0.5569750598824316,1.556975059882431,1.443024940117568
+0.8,0.5304961572112842,1.530496157211284,1.469503842788715
+0.9,0.5083721068828738,1.508372106882873,1.491627893117126
+1.,0.4898248836619993,1.489824883661999,1.510175116338
+1.1,0.4742326555793149,1.474232655579315,1.525767344420685
+1.2,0.4610937667366614,1.461093766736661,1.538906233263338
+1.3,0.4500002400913346,1.450000240091334,1.549999759908665
+1.4,0.4406180044711035,1.440618004471103,1.559381995528896
+1.5,0.4326718335106743,1.432671833510674,1.567328166489325
+1.6,0.4259338606945052,1.425933860694505,1.574066139305494
+1.7,0.4202145796865758,1.420214579686576,1.579785420313423
+1.8,0.4153557869279515,1.415355786927951,1.584644213072048
+1.9,0.4112249976450429,1.411224997645043,1.588775002354956
+2.,0.407710948528252,1.407710948528252,1.592289051471747
+2.1,0.4047199745646838,1.404719974564684,1.595280025435315
+2.2,0.4021730656527535,1.402173065652754,1.597826934347245
+2.3,0.4000034611519748,1.400003461151975,1.599996538848024
+2.4,0.3981546619082652,1.398154661908265,1.601845338091734
+2.5,0.3965787936998591,1.396578793699859,1.60342120630014
+2.6,0.3952352458678296,1.39523524586783,1.604764754132169
+2.7,0.3940895370045421,1.394089537004543,1.605910462995457
+2.8,0.3964451262139419,1.003062608267849,1.603554873786057
+2.9,0.4060682195408137,1.012685701594721,1.593931780459185
+3.,0.4145065867402558,1.021124068794163,1.585493413259742
+3.1,0.4218966975306762,1.028514179584584,1.578103302469322
+3.2,0.4283615814286124,1.03497906348252,1.571638418571386
+3.3,0.4340115775720777,1.040629059625985,1.565988422427921
+3.4,0.4389452059686755,1.045562688022583,1.561054794031323
+3.5,0.4432500993578735,1.049867581411781,1.556749900642125
+3.6,0.4470039499052037,1.053621431959111,1.552996050094795
+3.7,0.4502754460817456,1.056892928135653,1.549724553918252
+3.8,0.4531251651118216,1.059742647165729,1.546874834888176
+3.9,0.4556064202175353,1.062223902271443,1.544393579782463
+4.,0.4577660465529271,1.064383528606834,1.542233953447071
+4.1,0.4596451235432059,1.066262605597113,1.540354876456793
+4.2,0.461279635342074,1.067897117395981,1.538720364657924
+4.3,0.4627010624675618,1.069318544521469,1.537298937532437
+4.4,0.4639369190237638,1.070554401077671,1.536063080976235
+4.5,0.4650112314036134,1.07162871345752,1.534988768596385
+4.6,0.4659449672121029,1.07256244926601,1.534055032787895
+4.7,0.4667564033403927,1.0733738853943,1.533243596659606
+4.8,0.4674614764492626,1.07407895850317,1.532538523550736
+4.9,0.4680740599961962,1.074691542050103,1.531925940003802
+5.,0.4686062398288701,1.075223721882777,1.531393760171128
diff --git a/models/sbml-test-suite/cases/semantic/00446/00446-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00446/00446-sbml-l2v4.xml
new file mode 100644
index 0000000..4849722
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00446/00446-sbml-l2v4.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00446" id="case00446" name="case00446">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.75"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.25"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00446/00446-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00446/00446-sbml-l3v1.xml
new file mode 100644
index 0000000..7adb808
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00446/00446-sbml-l3v1.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00446" id="case00446" name="case00446" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.75"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.25"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00446/00446-settings.txt b/models/sbml-test-suite/cases/semantic/00446/00446-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00446/00446-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00447/00447-results.csv b/models/sbml-test-suite/cases/semantic/00447/00447-results.csv
new file mode 100644
index 0000000..c7d8444
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00447/00447-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.012,0.02,0.01
+0.1,0.009648510062292142,0.01164851006229214,0.02070297987541571,0.01035148993770785
+0.2,0.009378388824730764,0.01137838882473076,0.02124322235053847,0.01062161117526923
+0.3,0.009170515848596556,0.01117051584859655,0.02165896830280688,0.01082948415140344
+0.4,0.00901037800872629,0.01101037800872628,0.02197924398254742,0.01098962199127371
+0.5,0.008886913645930989,0.01088691364593098,0.02222617270813802,0.01111308635406901
+0.6,0.008791664643337884,0.01079166464333788,0.02241667071332423,0.01120833535666211
+0.7,0.008718147535747245,0.01071814753574724,0.0225637049285055,0.01128185246425275
+0.8,0.008661382897604803,0.0106613828976048,0.02267723420479039,0.01133861710239519
+0.9,0.008617540747900701,0.0106175407479007,0.02276491850419859,0.01138245925209929
+1.,0.0192512489886711,0.009865945036381476,0.02426810992723704,0.01213405496361852
+1.1,0.01866738334588465,0.009282079393595023,0.02543584121280995,0.01271792060640497
+1.2,0.01825053098536846,0.008865227033078824,0.02626954593384234,0.01313477296692117
+1.3,0.01795228524307447,0.008566981290784822,0.02686603741843035,0.01343301870921517
+1.4,0.01773857462761238,0.008353270675322727,0.02729345864935454,0.01364672932467727
+1.5,0.0175852715866599,0.008199967634370246,0.0276000647312595,0.01380003236562975
+1.6,0.01747521538160049,0.008089911429310826,0.02782017714137834,0.01391008857068917
+1.7,0.0173961617981198,0.008010857845830148,0.0279782843083397,0.01398914215416985
+1.8,0.01733935456323184,0.007954050610942184,0.02809189877811562,0.01404594938905781
+1.9,0.01729852160091498,0.007913217648625327,0.02817356470274934,0.01408678235137467
+2.,0.01726916476782978,0.007883860815540119,0.02823227836891975,0.01411613918445987
+2.1,0.01724805558661753,0.00786275163432787,0.02827449673134425,0.01413724836567212
+2.2,0.01723287525399551,0.00784757130170585,0.02830485739658829,0.01415242869829414
+2.3,0.01722195772822579,0.007836653775936137,0.02832669244812772,0.01416334622406386
+2.4,0.01721410553503647,0.007828801582746814,0.02834239683450636,0.01417119841725318
+2.5,0.01720845778215179,0.007823153829862128,0.02835369234027574,0.01417684617013787
+2.6,0.01708929173394489,0.007703987781655223,0.02859202443668954,0.0101166240739815
+2.7,0.0168617930057719,0.007476489053482238,0.02904702189303551,0.01034412280215448
+2.8,0.0166944208860738,0.007309116933784133,0.02938176613243173,0.01051149492185259
+2.9,0.0165711795841525,0.00718587563186283,0.02962824873627433,0.01063473622377389
+3.,0.01648037633326374,0.007095072380974072,0.02980985523805185,0.01072553947466265
+3.1,0.01641344232243318,0.007028138370143511,0.02994372325971298,0.01079247348549322
+3.2,0.01636408632745486,0.006978782375165188,0.03004243524966962,0.01084182948047154
+3.3,0.01632768297412675,0.006942379021837071,0.03011524195632586,0.01087823283379965
+3.4,0.01630082806144744,0.006915524109157766,0.03016895178168447,0.01090508774647896
+3.5,0.01628101438341055,0.006895710431120869,0.03020857913775825,0.01092490142451585
+3.6,0.01626639428981906,0.006881090337529391,0.03023781932494121,0.01093952151810733
+3.7,0.01625560563173509,0.006870301679445415,0.03025939664110916,0.01095031017619131
+3.8,0.01624764388267515,0.006862339930385486,0.03027532013922901,0.01095827192525123
+3.9,0.01624176808154046,0.006856464129250798,0.03028707174149839,0.01096414772638592
+4.,0.01623743159037975,0.006852127638090085,0.03029574472381982,0.01096848421754664
+4.1,0.01623423107361501,0.006848927121325348,0.03030214575734929,0.01097168473431137
+4.2,0.01623186892078512,0.006846564968495459,0.03030687006300906,0.01097404688714126
+4.3,0.01623012550586334,0.006844821553573685,0.03031035689285261,0.01097579030206303
+4.4,0.01622883874185506,0.006843534789565406,0.03031293042086917,0.01097707706607131
+4.5,0.01622788901395584,0.006842585061666186,0.03031482987666761,0.01097802679397053
+4.6,0.01622718804243231,0.006841884090142651,0.03031623181971468,0.01097872776549407
+4.7,0.01622667066914672,0.006841366716857066,0.03031726656628585,0.01097924513877965
+4.8,0.01622628880483267,0.006840984852543012,0.03031803029491396,0.01097962700309371
+4.9,0.01622600695691922,0.006840703004629563,0.03031859399074085,0.01097990885100715
+5.,0.01622579892934722,0.006840494977057559,0.03031901004588486,0.01098011687857916
diff --git a/models/sbml-test-suite/cases/semantic/00447/00447-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00447/00447-sbml-l2v4.xml
new file mode 100644
index 0000000..3568ef7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00447/00447-sbml-l2v4.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00447" id="case00447" name="case00447">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="2"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 40 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 100 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00447/00447-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00447/00447-sbml-l3v1.xml
new file mode 100644
index 0000000..76f2136
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00447/00447-sbml-l3v1.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00447" id="case00447" name="case00447" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 40 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 100 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00447/00447-settings.txt b/models/sbml-test-suite/cases/semantic/00447/00447-settings.txt
new file mode 100644
index 0000000..9888299
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00447/00447-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00448/00448-results.csv b/models/sbml-test-suite/cases/semantic/00448/00448-results.csv
new file mode 100644
index 0000000..dfec7e9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00448/00448-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.12,0.2,0.1
+0.1,0.09648510062293083,0.1164851006229308,0.2070297987541383,0.1035148993770691
+0.2,0.0937838882474198,0.1137838882474197,0.2124322235051604,0.1062161117525802
+0.3,0.09170515848648368,0.1117051584864836,0.2165896830270326,0.1082948415135163
+0.4,0.09010378008827908,0.110103780088279,0.2197924398234418,0.1098962199117209
+0.5,0.08886913645910392,0.1088691364591039,0.2222617270817921,0.111130863540896
+0.6,0.0879166464331671,0.107916646433167,0.2241667071336658,0.1120833535668329
+0.7,0.08718147535742211,0.1071814753574221,0.2256370492851557,0.1128185246425779
+0.8,0.08661382897319941,0.1066138289731994,0.2267723420536011,0.1133861710268006
+0.9,0.08617540747964032,0.1061754074796403,0.2276491850407193,0.1138245925203596
+1.,0.192512489760178,0.09865945024397825,0.2426810995120435,0.1213405497560217
+1.1,0.1866738333672335,0.09282079385103388,0.2543584122979324,0.1271792061489662
+1.2,0.1825053097866416,0.08865227027044196,0.2626954594591163,0.1313477297295581
+1.3,0.1795228523838101,0.08566981286761052,0.2686603742647792,0.1343301871323896
+1.4,0.177385746251196,0.08353270673499645,0.2729345865300074,0.1364672932650037
+1.5,0.175852715868512,0.08199967635231246,0.2760006472953753,0.1380003236476876
+1.6,0.1747521538038711,0.08089911428767152,0.2782017714246573,0.1391008857123286
+1.7,0.1739616179968455,0.08010857848064592,0.2797828430387084,0.1398914215193542
+1.8,0.1733935456626127,0.07954050614641317,0.280918987707174,0.140459493853587
+1.9,0.1729852159968629,0.07913217648066334,0.2817356470386737,0.1408678235193368
+2.,0.1726916476471116,0.07883860813091198,0.2823227837381762,0.1411613918690881
+2.1,0.1724805558341916,0.07862751631799193,0.2827449673640162,0.1413724836820081
+2.2,0.1723287525544834,0.07847571303828376,0.2830485739234326,0.1415242869617163
+2.3,0.1722195772748015,0.07836653775860187,0.2832669244827964,0.1416334622413982
+2.4,0.1721410553320706,0.07828801581587094,0.2834239683682582,0.1417119841841291
+2.5,0.1720845778136139,0.07823153829741419,0.2835369234051717,0.1417684617025858
+2.6,0.1708929179971497,0.07703987848094985,0.2859202430381001,0.1011662400653114
+2.7,0.1686179305392834,0.07476489102308357,0.2904702179538326,0.1034412275231777
+2.8,0.166944209215248,0.07309116969904812,0.2938176606019035,0.1051149488472131
+2.9,0.1657117961043033,0.07185875658810345,0.2962824868237928,0.1063473619581578
+3.,0.1648037635269009,0.07095072401070107,0.2980985519785975,0.1072553945355602
+3.1,0.1641344233553631,0.07028138383916318,0.2994372323216733,0.1079247347070981
+3.2,0.1636408633720381,0.06978782385583827,0.3004243522883232,0.108418294690423
+3.3,0.1632768298104944,0.06942379029429454,0.3011524194114106,0.1087823282519667
+3.4,0.1630082806637761,0.06915524114757623,0.3016895177048473,0.109050877398685
+3.5,0.1628101438689077,0.06895710435270788,0.302085791294584,0.1092490141935534
+3.6,0.1626639429220949,0.06881090340589506,0.3023781931882096,0.1093952151403662
+3.7,0.1625560563330515,0.06870301681685167,0.3025939663662964,0.1095031017294096
+3.8,0.1624764388363021,0.06862339932010226,0.3027532013597952,0.109582719226159
+3.9,0.1624176808203617,0.06856464130416188,0.302870717391676,0.1096414772420994
+4.,0.1623743159050973,0.06852127638889755,0.3029574472222048,0.1096848421573637
+4.1,0.162342310734701,0.06848927121850124,0.3030214575629975,0.10971684732776
+4.2,0.1623186892049486,0.06846564968874882,0.3030687006225023,0.1097404688575124
+4.3,0.1623012550541528,0.06844821553795311,0.3031035689240937,0.1097579030083081
+4.4,0.1622883874134759,0.06843534789727612,0.3031293042054477,0.1097707706489851
+4.5,0.1622788901336037,0.06842585061740397,0.3031482987651921,0.1097802679288573
+4.6,0.1622718804176434,0.06841884090144367,0.3031623181971127,0.1097872776448176
+4.7,0.1622667066843427,0.06841366716814298,0.303172665663714,0.1097924513781183
+4.8,0.1622628880409504,0.06840984852475066,0.3031803029504986,0.1097962700215106
+4.9,0.1622600695616323,0.06840703004543256,0.3031859399091348,0.1097990885008287
+5.,0.1622579892858342,0.06840494976963451,0.3031901004607309,0.1098011687766267
diff --git a/models/sbml-test-suite/cases/semantic/00448/00448-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00448/00448-sbml-l2v4.xml
new file mode 100644
index 0000000..b7f90f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00448/00448-sbml-l2v4.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00448" id="case00448" name="case00448">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00448/00448-settings.txt b/models/sbml-test-suite/cases/semantic/00448/00448-settings.txt
new file mode 100644
index 0000000..0e87183
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00448/00448-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00449/00449-results.csv b/models/sbml-test-suite/cases/semantic/00449/00449-results.csv
new file mode 100644
index 0000000..c3739b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00449/00449-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00012,0.0002,0.0001
+0.1,0.00009644169242277576,0.0001164416924227757,0.0002035583075772243,0.0001035583075772242
+0.2,0.00009363300101494491,0.0001136330010149449,0.0002063669989850551,0.0001063669989850551
+0.3,0.00009140971040796443,0.0001114097104079644,0.0002085902895920356,0.0001085902895920355
+0.4,0.00008964585455358504,0.000109645854553585,0.0002103541454464149,0.0001103541454464149
+0.5,0.0000882439998937505,0.0001082439998937505,0.0002117560001062494,0.0001117560001062495
+0.6,0.00008712827477832507,0.000107128274778325,0.0002128717252216749,0.0001128717252216749
+0.7,0.00008623927740476235,0.0001062392774047623,0.0002137607225952377,0.0001137607225952376
+0.8,0.00008553029976413123,0.0001055302997641312,0.0002144697002358688,0.0001144697002358687
+0.9,0.00008496448285601668,0.0001049644828560166,0.0002150355171439833,0.0001150355171439833
+1.,0.00008451266134230219,0.0001045126613423021,0.0002154873386576978,0.0001154873386576978
+1.1,0.00008415170423417176,0.0001041517042341717,0.0002158482957658282,0.0001158482957658282
+1.2,0.00008386323302153261,0.0001038632330215326,0.0002161367669784674,0.0001161367669784673
+1.3,0.00008363262427455667,0.0001036326242745566,0.0002163673757254433,0.0001163673757254433
+1.4,0.00008344822879808238,0.0001034482287980823,0.0002165517712019176,0.0001165517712019176
+1.5,0.00008330075846070279,0.0001033007584607027,0.0002166992415392972,0.0001166992415392972
+1.6,0.00008318280121659767,0.0001031828012165976,0.0002168171987834023,0.0001168171987834023
+1.7,0.0000830884394433671,0.0001030884394433671,0.0002169115605566329,0.0001169115605566329
+1.8,0.00008301294620316414,0.0001030129462031641,0.0002169870537968359,0.0001169870537968358
+1.9,0.0001980650093181073,0.0001010297170768783,0.0002189702829231217,0.0001189702829231216
+2.,0.0001907474856994831,0.00009371219345825409,0.000226287806541746,0.0001262878065417459
+2.1,0.0001853363076783747,0.00008830101543714568,0.0002316989845628544,0.0001316989845628543
+2.2,0.000181312780787826,0.00008427748854659706,0.000235722511453403,0.0001357225114534029
+2.3,0.0001783088082114883,0.00008127351597025929,0.0002387264840297408,0.0001387264840297407
+2.4,0.0001760591908363895,0.00007902389859516049,0.0002409761014048396,0.0001409761014048395
+2.5,0.0001738719526971254,0.00007683666045589642,0.0002431633395441037,0.0001007981978060354
+2.6,0.0001704655520674217,0.00007343025982619274,0.0002465697401738074,0.000104204598435739
+2.7,0.0001678671243810278,0.00007083183213979885,0.0002491681678602012,0.0001068030261221329
+2.8,0.0001658798025820082,0.00006884451034077921,0.0002511554896592209,0.0001087903479211526
+2.9,0.000164356804442676,0.00006732151220144705,0.0002526784877985532,0.0001103133460604847
+3.,0.000163187842942923,0.00006615255070169401,0.0002538474492983063,0.0001114823075602378
+3.1,0.0001622895576392993,0.00006525426539807035,0.0002547457346019299,0.0001123805928638614
+3.2,0.0001615986445663737,0.00006456335232514475,0.0002554366476748555,0.000113071505936787
+3.3,0.0001610668597568489,0.00006403156751561991,0.0002559684324843804,0.0001136032907463119
+3.4,0.0001606573331342018,0.00006362204089297273,0.0002563779591070276,0.0001140128173689591
+3.5,0.0001603418266780424,0.00006330653443681332,0.000256693465563187,0.0001143283238251185
+3.6,0.0001600986772897577,0.00006306338504852864,0.0002569366149514718,0.0001145714732134031
+3.7,0.0001599112450817127,0.00006287595284048364,0.0002571240471595168,0.0001147589054214481
+3.8,0.0001597667350937249,0.00006273144285249583,0.0002572685571475046,0.000114903415409436
+3.9,0.0001596553016098821,0.00006262000936865302,0.0002573799906313474,0.0001150148488932788
+4.,0.0001595693644135373,0.00006253407217230825,0.0002574659278276922,0.0001151007860896235
+4.1,0.0001595030839277615,0.00006246779168653249,0.000257532208313468,0.0001151670665753993
+4.2,0.0001594519606647524,0.00006241666842352336,0.000257583331576477,0.0001152181898384084
+4.3,0.0001594125264015584,0.00006237723416032938,0.000257622765839671,0.0001152576241016024
+4.4,0.0001593821072398502,0.00006234681499862127,0.0002576531850013791,0.0001152880432633105
+4.5,0.0001593586415580422,0.0000623233493168132,0.0002576766506831872,0.0001153115089451186
+4.6,0.0001593405394598805,0.0000623052472186515,0.0002576947527813489,0.0001153296110432803
+4.7,0.0001593265746663119,0.00006229128242508294,0.0002577087175749175,0.0001153435758368488
+4.8,0.0001593158014820327,0.00006228050924080378,0.0002577194907591967,0.000115354349021128
+4.9,0.000159307490360547,0.00006227219811931799,0.0002577278018806825,0.0001153626601426138
+5.,0.0001593010785772315,0.00006226578633600253,0.0002577342136639979,0.0001153690719259293
diff --git a/models/sbml-test-suite/cases/semantic/00449/00449-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00449/00449-sbml-l2v4.xml
new file mode 100644
index 0000000..86b0323
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00449/00449-sbml-l2v4.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00449" id="case00449" name="case00449">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="7500"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="2500"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 40000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00449/00449-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00449/00449-sbml-l3v1.xml
new file mode 100644
index 0000000..4ede2a6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00449/00449-sbml-l3v1.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00449" id="case00449" name="case00449" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="7500"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="2500"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 40000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00449/00449-settings.txt b/models/sbml-test-suite/cases/semantic/00449/00449-settings.txt
new file mode 100644
index 0000000..428995a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00449/00449-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00450/00450-results.csv b/models/sbml-test-suite/cases/semantic/00450/00450-results.csv
new file mode 100644
index 0000000..d7a7399
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00450/00450-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8935253567664708,1.760647814559123,1.106474643233529
+0.2,0.8156652289457194,1.576243606924015,1.18433477105428
+0.3,0.7576175923581124,1.429779791859207,1.242382407641887
+0.4,0.7138233074642746,1.310558919785268,1.286176692535725
+0.5,0.6805986589653454,1.211520861940674,1.319401341034654
+0.6,0.6554066035934598,1.127822184702874,1.34459339640654
+0.7,0.6364436457178043,1.056032942409904,1.363556354282196
+0.8,0.6223935213949766,0.9936590519108687,1.377606478605024
+0.9,0.6122739723195876,0.9388459623404336,1.387726027680413
+1.,0.6053379914941449,0.8901881740420575,1.394662008505856
+1.1,0.60100813549304,0.8466028716817981,1.39899186450696
+1.2,0.5988317035182668,0.8072439247317527,1.401168296481734
+1.3,0.5984493763703477,0.771441870255625,1.401550623629652
+1.4,0.5995728387108352,0.7386611969742735,1.400427161289165
+1.5,0.6019685004058517,0.708469350013425,1.398031499594148
+1.6,0.6054454827027333,0.6805139118742711,1.394554517297267
+1.7,0.6098465783685498,0.6545054738651856,1.39015342163145
+1.8,0.615041396579856,0.6302046770653371,1.384958603420144
+1.9,0.6209210721853234,0.6074122334287928,1.379078927814676
+2.,0.6273941595795831,0.5859611977765206,1.372605840420417
+2.1,0.6343834067692122,0.5657109088900527,1.365616593230788
+2.2,0.6418231907505326,0.5465421824234683,1.358176809249467
+2.3,0.649657472083203,0.5283534842113693,1.350342527916797
+2.4,0.927986029342901,1.576681591232781,1.421109035111979
+2.5,0.8642240773614253,1.412791883976581,1.484870987093455
+2.6,0.8172535968198064,1.28111244985258,1.531841467635074
+2.7,0.7825505604845135,1.172954612051316,1.566544503970367
+2.8,0.7570567419101013,1.082468010538918,1.592038322544779
+2.9,0.7386311470152739,1.005572608602043,1.610463917439608
+3.,0.7257308886846285,0.9393390427842892,1.623364175770253
+3.1,0.7172167787053147,0.8816121378620921,1.631878285749567
+3.2,0.7122301916184741,0.8307730756912217,1.636864872836407
+3.3,0.7101124349058688,0.7855840737147461,1.638982629549013
+3.4,0.7103504212468222,0.7450840050708607,1.638744643208059
+3.5,0.7125391153278841,0.7085164358341751,1.636555949126997
+3.6,0.7163550120158501,0.6752789323527836,1.632740052439031
+3.7,0.7215370379065836,0.6448866495727891,1.627558026548298
+3.8,0.7278725107279054,0.6169456299552575,1.621222553726976
+3.9,0.735186737886876,0.5911330699111485,1.613908326568006
+4.,0.7433351063941801,0.5671823495672015,1.605759958060702
+4.1,0.7521970768355978,0.5448716912574843,1.596897987619283
+4.2,0.7616714974190101,0.5240153314208257,1.587423567035871
+4.3,0.7716729746709837,0.504456697162255,1.577422089783897
+4.4,0.7821289890161402,0.4860629950223324,1.56696607543874
+4.5,0.7929776088048048,0.4687209309648439,1.556117455650075
+4.6,0.8041656562691545,0.4523332833121788,1.544929408185726
+4.7,0.815647228738552,0.436816144820227,1.533447835716328
+4.8,0.8273824981552869,0.4220966880562103,1.521712566299593
+4.9,0.9450397679356005,1.614741711723336,1.572578061010312
+5.,0.880769982563758,1.446041652036648,1.636847846382154
diff --git a/models/sbml-test-suite/cases/semantic/00450/00450-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00450/00450-sbml-l2v4.xml
new file mode 100644
index 0000000..4002b26
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00450/00450-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00450" id="case00450" name="case00450">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.75 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00450/00450-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00450/00450-sbml-l3v1.xml
new file mode 100644
index 0000000..4193015
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00450/00450-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00450" id="case00450" name="case00450" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.75 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00450/00450-settings.txt b/models/sbml-test-suite/cases/semantic/00450/00450-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00450/00450-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00451/00451-results.csv b/models/sbml-test-suite/cases/semantic/00451/00451-results.csv
new file mode 100644
index 0000000..6e88c6a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00451/00451-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8935253567664708,1.760647814559123,1.106474643233529
+0.2,0.8156652289457194,1.576243606924015,1.18433477105428
+0.3,0.7576175923581124,1.429779791859207,1.242382407641887
+0.4,0.7138233074642922,1.310558919785301,1.286176692535708
+0.5,0.6805986589668289,1.21152086194353,1.319401341033171
+0.6,0.6554066035935799,1.127822184703106,1.344593396406419
+0.7,0.6364436457177867,1.056032942409873,1.363556354282212
+0.8,0.6223935213961473,0.9936590519131054,1.377606478603852
+0.9,0.6122739723227907,0.9388459623465342,1.387726027677208
+1.,0.6053379914989452,0.8901881740511641,1.394662008501053
+1.1,0.6010081354749388,0.8466028716475674,1.39899186452506
+1.2,0.598831703481291,0.807243924662019,1.401168296518707
+1.3,0.598449376387073,0.7714418702870981,1.401550623612925
+1.4,0.5995728387245001,0.7386611969999029,1.400427161275498
+1.5,0.6019685003899049,0.7084693499835922,1.398031499610093
+1.6,0.6054454827244375,0.6805139119147699,1.394554517275561
+1.7,0.6098465783722142,0.6545054738720199,1.390153421627784
+1.8,0.6150413965639737,0.630204677035858,1.384958603436024
+1.9,0.6209210721798228,0.6074122334186077,1.379078927820175
+2.,0.6273941595923799,0.5859611978001506,1.372605840407618
+2.1,0.6343834067791702,0.5657109089083977,1.365616593220828
+2.2,0.6418231907547816,0.546542182431281,1.358176809245216
+2.3,0.6496574711831928,0.5283534825639164,1.350342528816805
+2.4,0.6578381452819621,0.5110578498314395,1.342161854718036
+2.5,0.6663237137287971,0.4945804140607503,1.333676286271201
+2.6,0.927662254756269,1.576384525613531,1.40467275487614
+2.7,0.8635764807348358,1.412253924343062,1.468758528897573
+2.8,0.816325507833621,1.280412736939761,1.516009501798788
+2.9,0.7813719965693868,1.172146564949352,1.550963013063022
+3.,0.7556494809081886,1.081589208866214,1.57668552872422
+3.1,0.7370116048680305,1.004650381070054,1.595323404764378
+3.2,0.7239118358441317,0.9383937892150694,1.608423173788277
+3.3,0.715208409542653,0.880659391233136,1.617126600089756
+3.4,0.7100408168273061,0.8298248317091357,1.622294192805103
+3.5,0.7077489440269378,0.7846496749365358,1.624586065605471
+3.6,0.7078186002611984,0.7441707450391421,1.62451640937121
+3.7,0.7098438756755576,0.7076299924796583,1.622491133956851
+3.8,0.7135005687943268,0.6744237033905149,1.618834440838082
+3.9,0.7185270067292576,0.6440659336956532,1.613808002903152
+4.,0.7247100426822265,0.6161618789349879,1.607624966950183
+4.1,0.731874564639609,0.5903879718094626,1.6004604449928
+4.2,0.7398756274067199,0.5664769906686258,1.59245938222569
+4.3,0.7485923921722739,0.5442066164467886,1.583742617460136
+4.4,0.757923466912479,0.5233906537002032,1.574411542719931
+4.5,0.7677832475871766,0.5038721524505336,1.564551762045233
+4.6,0.7780990389014532,0.4855180067325489,1.554235970730956
+4.7,0.7888087614261295,0.4682146619311542,1.54352624820628
+4.8,0.7998591146871484,0.4518646825531529,1.532475894945261
+4.9,0.8112040965242437,0.436383990962274,1.521130913108166
+5.,0.8228037964388186,0.4216996215625876,1.509531213193591
diff --git a/models/sbml-test-suite/cases/semantic/00451/00451-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00451/00451-sbml-l2v4.xml
new file mode 100644
index 0000000..e310333
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00451/00451-sbml-l2v4.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00451" id="case00451" name="case00451">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.75 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00451/00451-settings.txt b/models/sbml-test-suite/cases/semantic/00451/00451-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00451/00451-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00452/00452-results.csv b/models/sbml-test-suite/cases/semantic/00452/00452-results.csv
new file mode 100644
index 0000000..cd7d7db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00452/00452-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,0.7309282020857547,1.730928202085752,1.269071797914247
+0.35,0.7009347609656004,1.700934760965598,1.299065239034401
+0.4,0.6738662231077156,1.673866223107713,1.326133776892286
+0.45,0.649387611048101,1.649387611048098,1.350612388951901
+0.5,0.6272103609300753,1.627210360930073,1.372789639069926
+0.55,0.6070846028009088,1.607084602800906,1.392915397199093
+0.6,0.5887929243240799,1.588792924324078,1.411207075675921
+0.65,0.5721453186106207,1.572145318610619,1.42785468138938
+0.7,0.556975059732213,1.556975059732211,1.443024940267788
+0.75,0.5431352793526287,1.543135279352627,1.456864720647372
+0.8,0.5304961571194997,1.530496157119498,1.469503842880501
+0.85,0.5189425670625865,1.518942567062585,1.481057432937414
+0.9,0.508372106545598,1.508372106545596,1.491627893454403
+0.95,0.4986934373206324,1.498693437320631,1.501306562679368
+1.,0.9787463092472412,1.478746309247241,1.526330414345165
+1.05,0.9453161695331842,1.445316169533183,1.559760554059223
+1.1,0.9151334788643277,1.415133478864327,1.589943244728079
+1.15,0.8878208897808945,1.387820889780894,1.617255833811512
+1.2,0.8630546996122201,1.363054699612219,1.642022023980187
+1.25,0.8405556769969952,1.340555676996994,1.664521046595412
+1.3,0.8200816942384801,1.320081694238479,1.684995029353927
+1.35,0.8014218044642469,1.301421804464245,1.703654919128161
+1.4,0.7843914187015568,1.284391418701555,1.720685304890851
+1.45,0.7688283389765164,1.268828338976514,1.736248384615892
+1.5,0.754589509165703,1.254589509165701,1.750487214426705
+1.55,0.741548307652889,1.241548307652887,1.763528415939519
+1.6,0.7295922993407586,1.229592299340756,1.77548442425165
+1.65,0.718621334709923,1.21862133470992,1.786455388882486
+1.7,0.7085459585856754,1.208545958585673,1.796530765006733
+1.75,0.6992860584162405,1.199286058416238,1.805790665176168
+1.8,0.6907697113520117,1.190769711352009,1.814307012240397
+1.85,0.6829321998663519,1.182932199866349,1.822144523726057
+1.9,0.6757151691365492,1.175715169136547,1.829361554455859
+1.95,0.6690658926665319,1.16906589266653,1.836010830925876
+2.,0.6629366483006345,1.162936648300632,1.842140075291774
+2.05,0.6572841640813973,1.157284164081395,1.847792559511011
+2.1,0.6520691399035939,1.152069139903592,1.853007583688814
+2.15,0.6472558392953291,1.147255839295327,1.857820884297079
+2.2,0.6428117066739874,1.142811706673985,1.862265016918421
+2.25,0.9790549304225716,1.479054930422571,1.884650851901073
+2.3,0.9498540188328823,1.449854018832881,1.913851763490763
+2.35,0.9234985624411934,1.423498562441192,1.940207219882452
+2.4,0.8996641261354779,1.399664126135476,1.964041656188168
+2.45,0.8780709214105749,1.378070921410573,1.985634860913071
+2.5,0.8584764334514404,1.358476433451439,2.005229348872205
diff --git a/models/sbml-test-suite/cases/semantic/00452/00452-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00452/00452-sbml-l2v4.xml
new file mode 100644
index 0000000..0cae4d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00452/00452-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00452" id="case00452" name="case00452">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.75"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.25"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.7 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00452/00452-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00452/00452-sbml-l3v1.xml
new file mode 100644
index 0000000..6211725
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00452/00452-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00452" id="case00452" name="case00452" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.75"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.25"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.7 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00452/00452-settings.txt b/models/sbml-test-suite/cases/semantic/00452/00452-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00452/00452-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00453/00453-results.csv b/models/sbml-test-suite/cases/semantic/00453/00453-results.csv
new file mode 100644
index 0000000..4082c0c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00453/00453-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,0.7309282020860308,1.730928202086028,1.269071797913971
+0.35,0.7009347609658384,1.700934760965836,1.299065239034163
+0.4,0.673866223108019,1.673866223108016,1.326133776891983
+0.45,0.6493876110486092,1.649387611048607,1.350612388951393
+0.5,0.6272103609322227,1.62721036093222,1.372789639067779
+0.55,0.6070846027985439,1.607084602798541,1.392915397201458
+0.6,0.5887929243269959,1.588792924326993,1.411207075673006
+0.65,0.5721453186108318,1.572145318610829,1.42785468138917
+0.7,0.5569750597400812,1.556975059740078,1.443024940259921
+0.75,0.5431352793627466,1.543135279362743,1.456864720637256
+0.8,0.5304961571253907,1.530496157125387,1.469503842874612
+0.85,0.5189425670592258,1.518942567059222,1.481057432940777
+0.9,0.5083721065551588,1.508372106555155,1.491627893444844
+0.95,0.4986934372424241,1.498693437242421,1.501306562757578
+1.,0.4898248834101156,1.489824883410112,1.510175116589887
+1.05,0.4816932137662001,1.481693213766197,1.518306786233802
+1.1,0.4742326554126867,1.474232655412683,1.525767344587316
+1.15,0.4673839761102732,1.46738397611027,1.532616023889729
+1.2,0.461093766659764,1.461093766659761,1.538906233340239
+1.25,0.4553137467092986,1.455313746709295,1.544686253290704
+1.3,0.4500002399797153,1.450000239979712,1.549999760020287
+1.35,0.4451136428889541,1.44511364288895,1.554886357111049
+1.4,0.444835192505171,1.001630594565795,1.555164807494832
+1.45,0.4474770012292816,1.004272403289905,1.552522998770721
+1.5,0.4499477602942222,1.006743162354846,1.550052239705781
+1.55,0.4522581156954355,1.009053517756059,1.547741884304568
+1.6,0.4544181068655826,1.011213508926206,1.545581893134421
+1.65,0.4564371925054365,1.01323259456606,1.543562807494566
+1.7,0.4583242781502404,1.015119680210864,1.541675721849763
+1.75,0.4600877440482336,1.016883146108857,1.539912255951769
+1.8,0.4617354700734668,1.01853087213409,1.538264529926536
+1.85,0.4632748621100664,1.02007026417069,1.536725137889937
+1.9,0.4647128766846284,1.021508278745251,1.535287123315375
+1.95,0.4660560449859784,1.022851447046601,1.533943955014025
+2.,0.4673104963580954,1.024105898418719,1.532689503641908
+2.05,0.4684819802522418,1.025277382312865,1.531518019747761
+2.1,0.4695758878910801,1.026371289951703,1.530424112108923
+2.15,0.4705972723882028,1.027392674448826,1.5294027276118
+2.2,0.4715508689448899,1.028346271005513,1.528449131055113
+2.25,0.4724411128078542,1.029236514868477,1.527558887192149
+2.3,0.4732721572708034,1.030067559331427,1.5267278427292
+2.35,0.4740478905504924,1.030843292611116,1.525952109449511
+2.4,0.4747719512971587,1.031567353357782,1.525228048702844
+2.45,0.4754477454467396,1.032243147507363,1.524552254553263
+2.5,0.4760784583808662,1.03287386044149,1.523921541619137
diff --git a/models/sbml-test-suite/cases/semantic/00453/00453-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00453/00453-sbml-l2v4.xml
new file mode 100644
index 0000000..0ee0e08
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00453/00453-sbml-l2v4.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00453" id="case00453" name="case00453">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00453/00453-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00453/00453-sbml-l3v1.xml
new file mode 100644
index 0000000..154f19b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00453/00453-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00453" id="case00453" name="case00453" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00453/00453-settings.txt b/models/sbml-test-suite/cases/semantic/00453/00453-settings.txt
new file mode 100644
index 0000000..fb116b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00453/00453-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00454/00454-results.csv b/models/sbml-test-suite/cases/semantic/00454/00454-results.csv
new file mode 100644
index 0000000..58c29ee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00454/00454-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.08,0.9092009390874071,1.909200939087407,1.090799060912593
+0.16,0.8340700131981037,1.834070013198103,1.165929986801896
+0.24,0.7713364606656902,1.771336460665689,1.22866353933431
+0.32,0.7185561942104774,1.718556194210476,1.281443805789523
+0.4,0.6738662231078412,1.67386622310784,1.326133776892159
+0.48,0.6358218765993757,1.635821876599374,1.364178123400625
+0.56,0.6032859870890211,1.60328598708902,1.396714012910979
+0.64,0.575351623752465,1.575351623752464,1.424648376247535
+0.72,0.5512871151692287,1.551287115169228,1.448712884830771
+0.8,0.5304961566526029,1.530496156652602,1.469503843347397
+0.88,0.5124883902939281,1.512488390293927,1.487511609706072
+0.96,0.4968573781366451,1.496857378136644,1.503142621863355
+1.04,0.4832638542996409,1.48326385429964,1.516736145700359
+1.12,0.4714228724068235,1.471422872406823,1.528577127593177
+1.2,0.4610937656105307,1.46109376561053,1.538906234389469
+1.28,0.4534895691159414,1.000432647890464,1.546510430884058
+1.36,0.4570064350684874,1.00394951384301,1.542993564931512
+1.44,0.4601643757177039,1.007107454492227,1.539835624282295
+1.52,0.4629989454219175,1.009942024196441,1.537001054578081
+1.6,0.4655423908526536,1.012485469627177,1.534457609147345
+1.68,0.4678239138465511,1.014766992621074,1.532176086153447
+1.76,0.4698699255356515,1.016813004310175,1.530130074464347
+1.84,0.4717042855156654,1.018647364290189,1.528295714484333
+1.92,0.4733485256245788,1.020291604399102,1.52665147437542
+2.,0.4748220595676506,1.021765138342174,1.525177940432348
+2.08,0.995719956957852,1.018629296346063,1.528313782428459
+2.16,0.9674506904351581,0.990360029823369,1.556583048951153
+2.24,0.9428140692665618,0.9657234086547726,1.581219670119749
+2.32,0.9212794942011539,0.9441888335893647,1.602754245185157
+2.4,0.9024075100179028,0.9253168494061137,1.621626229368408
+2.48,0.8858312898915776,0.9087406292797884,1.638202449494733
+2.56,0.8712424755098955,0.8941518148981063,1.652791263876415
+2.64,0.8583802229248431,0.8812895623130541,1.665653516461468
+2.72,0.8470226262991669,0.8699319656873778,1.677011113087144
+2.8,0.836979957023804,0.8598892964120149,1.687053782362507
+2.88,0.8280892365662625,0.8509985759544734,1.695944502820048
+2.96,0.8202099069895832,0.8431192463777942,1.703823832396727
+3.04,0.8132202999919573,0.8361296393801682,1.710813439394353
+3.12,0.8070147207543801,0.8299240601425911,1.717019018631931
+3.2,0.8015011194662897,0.8244104588545007,1.722532619920021
+3.28,0.7965990833815551,0.8195084227697661,1.727434656004755
+3.36,0.7922382011997629,0.8151475405879739,1.731795538186548
+3.44,0.7883567032112852,0.8112660425994962,1.735677036175025
+3.52,0.7849002781805886,0.8078096175687995,1.739133461205722
+3.6,0.7818210907134594,0.8047304301016703,1.742212648672851
+3.68,0.7790769587725219,0.8019862981607328,1.744956780613789
+3.76,0.7766306116560345,0.7995399510442454,1.747403127730276
+3.84,0.774449095518647,0.7973584349068579,1.749584643867663
+3.92,0.7725032307033734,0.7954125700915843,1.751530508682937
+4.,0.770767154080785,0.7936764934689959,1.753266585305525
diff --git a/models/sbml-test-suite/cases/semantic/00454/00454-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00454/00454-sbml-l2v4.xml
new file mode 100644
index 0000000..0865f0d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00454/00454-sbml-l2v4.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00454" id="case00454" name="case00454">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00454/00454-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00454/00454-sbml-l3v1.xml
new file mode 100644
index 0000000..b619af9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00454/00454-sbml-l3v1.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00454" id="case00454" name="case00454" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00454/00454-settings.txt b/models/sbml-test-suite/cases/semantic/00454/00454-settings.txt
new file mode 100644
index 0000000..283826d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00454/00454-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00455/00455-results.csv b/models/sbml-test-suite/cases/semantic/00455/00455-results.csv
new file mode 100644
index 0000000..08dd66e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00455/00455-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.08,0.9092009390874071,1.909200939087407,1.090799060912593
+0.16,0.8340700131981037,1.834070013198103,1.165929986801896
+0.24,0.7713364606656902,1.771336460665689,1.22866353933431
+0.32,0.7185561942228663,1.718556194222865,1.281443805777134
+0.4,0.6738662230485673,1.673866223048566,1.326133776951433
+0.48,0.6358218766195393,1.635821876619538,1.364178123380461
+0.56,0.6032859871371364,1.603285987137135,1.396714012862864
+0.64,0.5753516241858098,1.575351624185808,1.424648375814191
+0.72,0.5512871141366287,1.551287114136627,1.448712885863372
+0.8,0.5304961572144415,1.53049615721444,1.469503842785559
+0.88,0.5124883889395076,1.512488388939506,1.487511611060493
+0.96,0.4968573754930618,1.49685737549306,1.503142624506939
+1.04,0.4832638557598724,1.483263855759871,1.516736144240128
+1.12,0.4714228700287544,1.471422870028753,1.528577129971246
+1.2,0.4610937666792636,1.461093766679262,1.538906233320737
+1.28,0.4520722868524755,1.452072286852474,1.547927713147525
+1.36,0.44418433115364,1.444184331153638,1.555815668846361
+1.44,0.4372809219293674,1.437280921929366,1.562719078070633
+1.52,0.4312341500773366,1.431234150077335,1.568765849922664
+1.6,0.4259338605921094,1.425933860592108,1.574066139407891
+1.68,0.4212849345623596,1.421284934562358,1.578715065437641
+1.76,0.4172050424497491,1.417205042449747,1.582794957550252
+1.84,0.4136227756163006,1.413622775616299,1.5863772243837
+1.92,0.410476080192461,1.410476080192459,1.58952391980754
+2.,0.407710948433835,1.407710948433833,1.592289051566166
+2.08,0.4052803050705965,1.405280305070595,1.594719694929404
+2.16,0.4031430632060919,1.40314306320609,1.596856936793909
+2.24,0.4012633222577681,1.401263322257766,1.598736677742233
+2.32,0.3996096825024467,1.399609682502445,1.600390317497554
+2.4,0.3981546619723885,1.398154661972387,1.601845338027613
+2.48,0.3968741762377878,1.396874176237786,1.603125823762213
+2.56,0.3957471184001171,1.395747118400115,1.604252881599884
+2.64,0.394754969163604,1.394754969163602,1.605245030836397
+2.72,0.9661344384355861,1.466134438435585,1.639459297077149
+2.8,0.9179893450988877,1.417989345098887,1.687604390413847
+2.88,0.8769751532597815,1.37697515325978,1.728618582252954
+2.96,0.8418624414049905,1.341862441404989,1.763731294107745
+3.04,0.8116745368334245,1.311674536833423,1.793919198679311
+3.12,0.7856260999279329,1.285626099927931,1.819967635584803
+3.2,0.7630788596860737,1.263078859686072,1.842514875826662
+3.28,0.743509136888559,1.243509136888558,1.862084598624177
+3.36,0.7264836446529098,1.226483644652909,1.879110090859825
+3.44,0.7116412124899309,1.21164121248993,1.893952523022804
+3.52,0.6986787773159951,1.198678777315994,1.90691495819674
+3.6,0.6873405290883821,1.187340529088381,1.918253206424353
+3.68,0.677409415961532,1.177409415961531,1.928184319551203
+3.76,0.6687003970100585,1.168700397010058,1.936893338502676
+3.84,0.661055074209655,1.161055074209654,1.94453866130308
+3.92,0.6543373554077675,1.154337355407766,1.951256380104968
+4.,0.648429920539166,1.148429920539165,1.957163814973569
diff --git a/models/sbml-test-suite/cases/semantic/00455/00455-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00455/00455-sbml-l2v4.xml
new file mode 100644
index 0000000..5dfd662
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00455/00455-sbml-l2v4.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00455" id="case00455" name="case00455">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.4 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00455/00455-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00455/00455-sbml-l3v1.xml
new file mode 100644
index 0000000..63e2e60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00455/00455-sbml-l3v1.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00455" id="case00455" name="case00455" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.4 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00455/00455-settings.txt b/models/sbml-test-suite/cases/semantic/00455/00455-settings.txt
new file mode 100644
index 0000000..283826d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00455/00455-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00456/00456-results.csv b/models/sbml-test-suite/cases/semantic/00456/00456-results.csv
new file mode 100644
index 0000000..b59dcac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00456/00456-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.08,0.909200939220507,1.909200939220507,1.090799060779493
+0.16,0.8340700145012712,1.834070014501271,1.165929985498729
+0.24,0.7713364611188915,1.771336461118892,1.228663538881108
+0.32,0.7185561943096286,1.718556194309629,1.281443805690371
+0.4,0.6738662234071929,1.673866223407193,1.326133776592807
+0.48,0.6358218783344557,1.635821878334457,1.364178121665543
+0.56,0.6032859875372763,1.603285987537277,1.396714012462723
+0.64,0.5753516245618757,1.575351624561877,1.424648375438123
+0.72,0.5512871161211755,1.551287116121177,1.448712883878823
+0.8,0.5304961572748269,1.530496157274829,1.469503842725171
+0.88,0.5124883919077247,1.512488391907726,1.487511608092274
+0.96,0.496857378548645,1.496857378548647,1.503142621451353
+1.04,0.483263856255475,1.483263856255478,1.516736143744522
+1.12,0.4714228727406637,1.471422872740666,1.528577127259334
+1.2,0.461093766744147,1.461093766744149,1.538906233255851
+1.28,0.4520722871949637,1.452072287194966,1.547927712805034
+1.36,0.4441843313289536,1.444184331328956,1.555815668671044
+1.44,0.4372809231718038,1.437280923171806,1.562719076828194
+1.52,0.4312341522734842,1.431234152273486,1.568765847726514
+1.6,0.4259338631227101,1.425933863122712,1.574066136877288
+1.68,0.4212849368051665,1.421284936805168,1.578715063194832
+1.76,0.4172050439476631,1.417205043947665,1.582794956052335
+1.84,0.4136227757444401,1.413622775744442,1.586377224255559
+1.92,0.4104760806147458,1.410476080614747,1.589523919385253
+2,0.4077109497011239,1.407710949701126,1.592289050298874
+2.08,0.4052803063379464,1.405280306337948,1.594719693662052
+2.16,0.4031430637679386,1.403143063767941,1.59685693623206
+2.24,0.4012633224607632,1.401263322460765,1.598736677539235
+2.32,1.677141027404112,1.426786649568517,1.67259927999566
+2.4,1.577433100752337,1.327078722916741,1.772307206647435
+2.48,1.495358980191525,1.24500460235593,1.854381327208247
+2.56,1.427126223577027,1.176771845741432,1.922614083822745
+2.64,1.369930989953434,1.119576612117839,1.979809317446338
+2.72,1.321655593797133,1.071301215961538,2.028084713602639
+2.8,1.28067088478872,1.030316506953125,2.069069422611051
+2.88,1.245703364713597,0.9953489868780016,2.104036942686175
+2.96,1.215743565139867,0.9653891873042718,2.133996742259905
+3.04,1.189981459183763,0.9396270813481672,2.15975884821601
+3.12,1.167760023292688,0.9174056454570928,2.181980284107084
+3.2,1.148541252012257,0.8981868741766619,2.201199055387515
+3.28,1.131880884999762,0.8815265071641674,2.217859422400011
+3.36,1.117409337418503,0.8670549595829092,2.232330969981268
+3.44,1.104817118539661,0.8544627407040667,2.244923188860112
+3.52,1.093843545449649,0.8434891676140559,2.255896761950124
+3.6,1.084267908679154,0.8339135308435611,2.265472398720617
+3.68,1.075902485153395,0.825548107317802,2.273837822246376
+3.76,1.068586959104853,0.8182325812692599,2.28115334829492
+3.84,1.062183927694856,0.8118295498592627,2.287556379704918
+3.92,1.056575250760715,0.8062208729251206,2.293165056639061
+4,1.051659063696683,0.8013046858610886,2.298081243703093
diff --git a/models/sbml-test-suite/cases/semantic/00456/00456-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00456/00456-sbml-l2v4.xml
new file mode 100644
index 0000000..6321c86
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00456/00456-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00456" id="case00456" name="case00456">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00456/00456-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00456/00456-sbml-l3v1.xml
new file mode 100644
index 0000000..c0f3c48
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00456/00456-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00456" id="case00456" name="case00456" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00456/00456-settings.txt b/models/sbml-test-suite/cases/semantic/00456/00456-settings.txt
new file mode 100644
index 0000000..ed578e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00456/00456-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00457/00457-results.csv b/models/sbml-test-suite/cases/semantic/00457/00457-results.csv
new file mode 100644
index 0000000..d1c87a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00457/00457-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.08,0.9618344476967354,1.971460982614693,1.066704569688572
+0.16,0.9271609834240409,1.942014692055918,1.130824324520042
+0.24,0.8957262174298545,1.911897598004151,1.192376184565995
+0.32,0.8672919390949772,1.881321569594367,1.251386491310656
+0.4,0.8416344037627889,1.850475804199206,1.307889792038005
+0.48,0.8185436385485374,1.819528631879563,1.3619277295719
+0.56,0.7978227679951581,1.788629201995317,1.413548030009525
+0.64,0.7792873602534225,1.757909058234629,1.462803581511948
+0.72,0.7627647942940827,1.7274836080855,1.509751597620416
+0.8,0.7480936485071605,1.697453492539211,1.554452858953628
+0.88,0.7351231109071995,1.667905861582756,1.596971027510043
+0.96,0.7237124110419161,1.638915560807388,1.637372028150695
+1.04,0.7137302735940099,1.610546234233522,1.675723492172466
+1.12,0.7050543935708338,1.582851348229265,1.712094258199899
+1.2,0.6975709328931046,1.55587514118114,1.746553925925754
+1.28,0.6911740381209046,1.529653503361804,1.779172458517289
+1.36,0.6857653789919628,1.504214791230912,1.810019829777125
+1.44,0.6812537073927367,1.479580580202194,1.839165712405069
+1.52,0.6775544363364263,1.455766359712574,1.866679203950999
+1.6,0.6745892384829239,1.432782174237781,1.892628587279295
+1.68,0.6722856637032189,1.410633213713787,1.917081122582993
+1.76,0.6705767751642965,1.389320356644475,1.940102868191228
+1.84,0.6694008033894752,1.36884066900331,1.961758527607215
+1.92,0.6687008177329423,1.349187861870526,1.982111320396531
+2,0.6684244146954241,1.330352710587419,2.001222874717157
+2.08,0.6685234225000198,1.312323438055675,2.019153139444306
+2.16,0.6689536213428401,1.295086064662327,2.035960313994834
+2.24,0.6696744787317935,1.278624727169724,2.051700794098482
+2.32,1.678275414516971,1.513597328557384,2.070521707533636
+2.4,1.620982854808069,1.545243127012304,2.096168468787617
+2.48,1.567532490016249,1.572278320728058,2.122583639863683
+2.56,1.517713420446899,1.595120634691906,2.149560395469185
+2.64,1.47132322825308,1.614157683988983,2.176913538365927
+2.72,1.428167886478836,1.629748765242171,2.204477798886984
+2.8,1.388061641476624,1.642226564792735,2.232106244338631
+2.88,1.350826872325714,1.651898785751665,2.259668792530612
+2.96,1.316293930557531,1.659049696163216,2.287050823887242
+3.04,1.284300963195731,1.663941600610855,2.314151886801404
+3.12,1.254693721842089,1.666816237663719,2.340884491102182
+3.2,1.227325360282688,1.667896105611143,2.36717298471416
+3.28,1.202056222851261,1.667385718965569,2.392952508791162
+3.36,1.1787536255667,1.665472798232098,2.418168026809194
+3.44,1.157291631858568,1.66232939544773,2.442773423301692
+3.52,1.137550824506959,1.658112957986427,2.466730668114605
+3.6,1.119418075250155,1.652967333108982,2.490009042248855
+3.68,1.102786313354402,1.647023715710518,2.512584421543072
+3.76,1.087554294293785,1.640401541684423,2.534438614629786
+3.84,1.073626369553787,1.633209329280784,2.555558751773421
+3.92,1.060912258448973,1.625545470790822,2.575936721368197
+4,1.049326822732419,1.617498976837313,2.595568651038261
diff --git a/models/sbml-test-suite/cases/semantic/00457/00457-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00457/00457-sbml-l2v4.xml
new file mode 100644
index 0000000..cecf6d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00457/00457-sbml-l2v4.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00457" id="case00457" name="case00457">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.55"/>
+      <parameter id="k3" name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00457/00457-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00457/00457-sbml-l3v1.xml
new file mode 100644
index 0000000..d5c9a76
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00457/00457-sbml-l3v1.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00457" id="case00457" name="case00457" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.55" constant="true"/>
+      <parameter id="k3" name="k3" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00457/00457-settings.txt b/models/sbml-test-suite/cases/semantic/00457/00457-settings.txt
new file mode 100644
index 0000000..ed578e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00457/00457-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00458/00458-results.csv b/models/sbml-test-suite/cases/semantic/00458/00458-results.csv
new file mode 100644
index 0000000..d612323
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00458/00458-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.08,0.9618344476967354,1.971460982614693,1.066704569688572
+0.16,0.9271609834240409,1.942014692055918,1.130824324520042
+0.24,0.8957262174298545,1.911897598004151,1.192376184565995
+0.32,0.8672919390949772,1.881321569594367,1.251386491310656
+0.4,0.8416344037627889,1.850475804199206,1.307889792038005
+0.48,0.8185436385485374,1.819528631879563,1.3619277295719
+0.56,0.7978227679951581,1.788629201995317,1.413548030009525
+0.64,0.7792873602534225,1.757909058234629,1.462803581511948
+0.72,0.7627647942940827,1.7274836080855,1.509751597620416
+0.8,0.7480936485071605,1.697453492539211,1.554452858953628
+0.88,0.7351231109071995,1.667905861582756,1.596971027510043
+0.96,0.7237124110419161,1.638915560807388,1.637372028150695
+1.04,0.7137302735940099,1.610546234233522,1.675723492172466
+1.12,0.7050543935708338,1.582851348229265,1.712094258199899
+1.2,0.6975709328931046,1.55587514118114,1.746553925925754
+1.28,0.6911740381209046,1.529653503361804,1.779172458517289
+1.36,0.6857653789919628,1.504214791230912,1.810019829777125
+1.44,0.6812537073927367,1.479580580202194,1.839165712405069
+1.52,0.6775544363364263,1.455766359712574,1.866679203950999
+1.6,0.6745892384829239,1.432782174237781,1.892628587279295
+1.68,0.6722856637032189,1.410633213713787,1.917081122582993
+1.76,0.6705767751642965,1.389320356644475,1.940102868191228
+1.84,0.6694008033894752,1.36884066900331,1.961758527607215
+1.92,0.6687008177329423,1.349187861870526,1.982111320396531
+2,0.6684244146954241,1.330352710587419,2.001222874717157
+2.08,0.6685234225000198,1.312323438055675,2.019153139444306
+2.16,0.6689536213428401,1.295086064662327,2.035960313994834
+2.24,0.6696744787317935,1.278624727169724,2.051700794098482
+2.32,1.668275765305694,1.561099665844343,0.7706245688499621
+2.4,1.586605242177991,1.589383108888437,0.8240116489335706
+2.48,1.510728040384963,1.611828045574989,0.8774439140400466
+2.56,1.440305235162956,1.629015767525648,0.9306789973113947
+2.64,1.375013224170965,1.641483104114116,0.9835036717149172
+2.72,1.314543376522379,1.649725225563645,1.035731397913975
+2.8,1.258601656313182,1.654198304002873,1.087200039683944
+2.88,1.206908225291394,1.655322037236891,1.137769737471714
+2.96,1.159197028863394,1.653482040044863,1.187320931091743
+3.04,1.115215369217399,1.649032107842271,1.235752522940328
+3.12,1.07472346896072,1.642296357547998,1.282980173491281
+3.2,1.037494028313346,1.633571250476853,1.3289347212098
+3.28,1.003311778574223,1.62312750203951,1.373560719386267
+3.36,0.9719730342763243,1.611211882976369,1.416815082747306
+3.44,0.9432852461706598,1.598048916782008,1.458665837047332
+3.52,0.9170665569261309,1.583842477894404,1.499090965179464
+3.6,0.8931453612000118,1.568777295130069,1.538077343669919
+3.68,0.8713598715214752,1.553020364744048,1.575619763734476
+3.76,0.8515576912365719,1.536722277384132,1.611720031379296
+3.84,0.8335953955861422,1.520018463092781,1.646386141321075
+3.92,0.8173381218270994,1.503030358389571,1.679631519783329
+4,0.8026591691612196,1.485866499342364,1.711474331496416
diff --git a/models/sbml-test-suite/cases/semantic/00458/00458-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00458/00458-sbml-l2v4.xml
new file mode 100644
index 0000000..f143093
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00458/00458-sbml-l2v4.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00458" id="case00458" name="case00458">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.55"/>
+      <parameter id="k3" name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S3 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S1 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00458/00458-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00458/00458-sbml-l3v1.xml
new file mode 100644
index 0000000..0d61061
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00458/00458-sbml-l3v1.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00458" id="case00458" name="case00458" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.55" constant="true"/>
+      <parameter id="k3" name="k3" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S3 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S1 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00458/00458-settings.txt b/models/sbml-test-suite/cases/semantic/00458/00458-settings.txt
new file mode 100644
index 0000000..ed578e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00458/00458-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00459/00459-results.csv b/models/sbml-test-suite/cases/semantic/00459/00459-results.csv
new file mode 100644
index 0000000..b59dcac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00459/00459-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.08,0.909200939220507,1.909200939220507,1.090799060779493
+0.16,0.8340700145012712,1.834070014501271,1.165929985498729
+0.24,0.7713364611188915,1.771336461118892,1.228663538881108
+0.32,0.7185561943096286,1.718556194309629,1.281443805690371
+0.4,0.6738662234071929,1.673866223407193,1.326133776592807
+0.48,0.6358218783344557,1.635821878334457,1.364178121665543
+0.56,0.6032859875372763,1.603285987537277,1.396714012462723
+0.64,0.5753516245618757,1.575351624561877,1.424648375438123
+0.72,0.5512871161211755,1.551287116121177,1.448712883878823
+0.8,0.5304961572748269,1.530496157274829,1.469503842725171
+0.88,0.5124883919077247,1.512488391907726,1.487511608092274
+0.96,0.496857378548645,1.496857378548647,1.503142621451353
+1.04,0.483263856255475,1.483263856255478,1.516736143744522
+1.12,0.4714228727406637,1.471422872740666,1.528577127259334
+1.2,0.461093766744147,1.461093766744149,1.538906233255851
+1.28,0.4520722871949637,1.452072287194966,1.547927712805034
+1.36,0.4441843313289536,1.444184331328956,1.555815668671044
+1.44,0.4372809231718038,1.437280923171806,1.562719076828194
+1.52,0.4312341522734842,1.431234152273486,1.568765847726514
+1.6,0.4259338631227101,1.425933863122712,1.574066136877288
+1.68,0.4212849368051665,1.421284936805168,1.578715063194832
+1.76,0.4172050439476631,1.417205043947665,1.582794956052335
+1.84,0.4136227757444401,1.413622775744442,1.586377224255559
+1.92,0.4104760806147458,1.410476080614747,1.589523919385253
+2,0.4077109497011239,1.407710949701126,1.592289050298874
+2.08,0.4052803063379464,1.405280306337948,1.594719693662052
+2.16,0.4031430637679386,1.403143063767941,1.59685693623206
+2.24,0.4012633224607632,1.401263322460765,1.598736677539235
+2.32,1.677141027404112,1.426786649568517,1.67259927999566
+2.4,1.577433100752337,1.327078722916741,1.772307206647435
+2.48,1.495358980191525,1.24500460235593,1.854381327208247
+2.56,1.427126223577027,1.176771845741432,1.922614083822745
+2.64,1.369930989953434,1.119576612117839,1.979809317446338
+2.72,1.321655593797133,1.071301215961538,2.028084713602639
+2.8,1.28067088478872,1.030316506953125,2.069069422611051
+2.88,1.245703364713597,0.9953489868780016,2.104036942686175
+2.96,1.215743565139867,0.9653891873042718,2.133996742259905
+3.04,1.189981459183763,0.9396270813481672,2.15975884821601
+3.12,1.167760023292688,0.9174056454570928,2.181980284107084
+3.2,1.148541252012257,0.8981868741766619,2.201199055387515
+3.28,1.131880884999762,0.8815265071641674,2.217859422400011
+3.36,1.117409337418503,0.8670549595829092,2.232330969981268
+3.44,1.104817118539661,0.8544627407040667,2.244923188860112
+3.52,1.093843545449649,0.8434891676140559,2.255896761950124
+3.6,1.084267908679154,0.8339135308435611,2.265472398720617
+3.68,1.075902485153395,0.825548107317802,2.273837822246376
+3.76,1.068586959104853,0.8182325812692599,2.28115334829492
+3.84,1.062183927694856,0.8118295498592627,2.287556379704918
+3.92,1.056575250760715,0.8062208729251206,2.293165056639061
+4,1.051659063696683,0.8013046858610886,2.298081243703093
diff --git a/models/sbml-test-suite/cases/semantic/00459/00459-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00459/00459-sbml-l2v4.xml
new file mode 100644
index 0000000..1ab7e34
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00459/00459-sbml-l2v4.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00459" id="case00459" name="case00459">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00459/00459-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00459/00459-sbml-l3v1.xml
new file mode 100644
index 0000000..3369788
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00459/00459-sbml-l3v1.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00459" id="case00459" name="case00459" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00459/00459-settings.txt b/models/sbml-test-suite/cases/semantic/00459/00459-settings.txt
new file mode 100644
index 0000000..283826d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00459/00459-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00460/00460-results.csv b/models/sbml-test-suite/cases/semantic/00460/00460-results.csv
new file mode 100644
index 0000000..d1c87a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00460/00460-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.08,0.9618344476967354,1.971460982614693,1.066704569688572
+0.16,0.9271609834240409,1.942014692055918,1.130824324520042
+0.24,0.8957262174298545,1.911897598004151,1.192376184565995
+0.32,0.8672919390949772,1.881321569594367,1.251386491310656
+0.4,0.8416344037627889,1.850475804199206,1.307889792038005
+0.48,0.8185436385485374,1.819528631879563,1.3619277295719
+0.56,0.7978227679951581,1.788629201995317,1.413548030009525
+0.64,0.7792873602534225,1.757909058234629,1.462803581511948
+0.72,0.7627647942940827,1.7274836080855,1.509751597620416
+0.8,0.7480936485071605,1.697453492539211,1.554452858953628
+0.88,0.7351231109071995,1.667905861582756,1.596971027510043
+0.96,0.7237124110419161,1.638915560807388,1.637372028150695
+1.04,0.7137302735940099,1.610546234233522,1.675723492172466
+1.12,0.7050543935708338,1.582851348229265,1.712094258199899
+1.2,0.6975709328931046,1.55587514118114,1.746553925925754
+1.28,0.6911740381209046,1.529653503361804,1.779172458517289
+1.36,0.6857653789919628,1.504214791230912,1.810019829777125
+1.44,0.6812537073927367,1.479580580202194,1.839165712405069
+1.52,0.6775544363364263,1.455766359712574,1.866679203950999
+1.6,0.6745892384829239,1.432782174237781,1.892628587279295
+1.68,0.6722856637032189,1.410633213713787,1.917081122582993
+1.76,0.6705767751642965,1.389320356644475,1.940102868191228
+1.84,0.6694008033894752,1.36884066900331,1.961758527607215
+1.92,0.6687008177329423,1.349187861870526,1.982111320396531
+2,0.6684244146954241,1.330352710587419,2.001222874717157
+2.08,0.6685234225000198,1.312323438055675,2.019153139444306
+2.16,0.6689536213428401,1.295086064662327,2.035960313994834
+2.24,0.6696744787317935,1.278624727169724,2.051700794098482
+2.32,1.678275414516971,1.513597328557384,2.070521707533636
+2.4,1.620982854808069,1.545243127012304,2.096168468787617
+2.48,1.567532490016249,1.572278320728058,2.122583639863683
+2.56,1.517713420446899,1.595120634691906,2.149560395469185
+2.64,1.47132322825308,1.614157683988983,2.176913538365927
+2.72,1.428167886478836,1.629748765242171,2.204477798886984
+2.8,1.388061641476624,1.642226564792735,2.232106244338631
+2.88,1.350826872325714,1.651898785751665,2.259668792530612
+2.96,1.316293930557531,1.659049696163216,2.287050823887242
+3.04,1.284300963195731,1.663941600610855,2.314151886801404
+3.12,1.254693721842089,1.666816237663719,2.340884491102182
+3.2,1.227325360282688,1.667896105611143,2.36717298471416
+3.28,1.202056222851261,1.667385718965569,2.392952508791162
+3.36,1.1787536255667,1.665472798232098,2.418168026809194
+3.44,1.157291631858568,1.66232939544773,2.442773423301692
+3.52,1.137550824506959,1.658112957986427,2.466730668114605
+3.6,1.119418075250155,1.652967333108982,2.490009042248855
+3.68,1.102786313354402,1.647023715710518,2.512584421543072
+3.76,1.087554294293785,1.640401541684423,2.534438614629786
+3.84,1.073626369553787,1.633209329280784,2.555558751773421
+3.92,1.060912258448973,1.625545470790822,2.575936721368197
+4,1.049326822732419,1.617498976837313,2.595568651038261
diff --git a/models/sbml-test-suite/cases/semantic/00460/00460-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00460/00460-sbml-l2v4.xml
new file mode 100644
index 0000000..3f3dd7d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00460/00460-sbml-l2v4.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00460" id="case00460" name="case00460">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.55"/>
+      <parameter id="k3" name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00460/00460-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00460/00460-sbml-l3v1.xml
new file mode 100644
index 0000000..138225f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00460/00460-sbml-l3v1.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00460" id="case00460" name="case00460" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.55" constant="true"/>
+      <parameter id="k3" name="k3" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00460/00460-settings.txt b/models/sbml-test-suite/cases/semantic/00460/00460-settings.txt
new file mode 100644
index 0000000..283826d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00460/00460-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00461/00461-results.csv b/models/sbml-test-suite/cases/semantic/00461/00461-results.csv
new file mode 100644
index 0000000..d612323
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00461/00461-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.08,0.9618344476967354,1.971460982614693,1.066704569688572
+0.16,0.9271609834240409,1.942014692055918,1.130824324520042
+0.24,0.8957262174298545,1.911897598004151,1.192376184565995
+0.32,0.8672919390949772,1.881321569594367,1.251386491310656
+0.4,0.8416344037627889,1.850475804199206,1.307889792038005
+0.48,0.8185436385485374,1.819528631879563,1.3619277295719
+0.56,0.7978227679951581,1.788629201995317,1.413548030009525
+0.64,0.7792873602534225,1.757909058234629,1.462803581511948
+0.72,0.7627647942940827,1.7274836080855,1.509751597620416
+0.8,0.7480936485071605,1.697453492539211,1.554452858953628
+0.88,0.7351231109071995,1.667905861582756,1.596971027510043
+0.96,0.7237124110419161,1.638915560807388,1.637372028150695
+1.04,0.7137302735940099,1.610546234233522,1.675723492172466
+1.12,0.7050543935708338,1.582851348229265,1.712094258199899
+1.2,0.6975709328931046,1.55587514118114,1.746553925925754
+1.28,0.6911740381209046,1.529653503361804,1.779172458517289
+1.36,0.6857653789919628,1.504214791230912,1.810019829777125
+1.44,0.6812537073927367,1.479580580202194,1.839165712405069
+1.52,0.6775544363364263,1.455766359712574,1.866679203950999
+1.6,0.6745892384829239,1.432782174237781,1.892628587279295
+1.68,0.6722856637032189,1.410633213713787,1.917081122582993
+1.76,0.6705767751642965,1.389320356644475,1.940102868191228
+1.84,0.6694008033894752,1.36884066900331,1.961758527607215
+1.92,0.6687008177329423,1.349187861870526,1.982111320396531
+2,0.6684244146954241,1.330352710587419,2.001222874717157
+2.08,0.6685234225000198,1.312323438055675,2.019153139444306
+2.16,0.6689536213428401,1.295086064662327,2.035960313994834
+2.24,0.6696744787317935,1.278624727169724,2.051700794098482
+2.32,1.668275765305694,1.561099665844343,0.7706245688499621
+2.4,1.586605242177991,1.589383108888437,0.8240116489335706
+2.48,1.510728040384963,1.611828045574989,0.8774439140400466
+2.56,1.440305235162956,1.629015767525648,0.9306789973113947
+2.64,1.375013224170965,1.641483104114116,0.9835036717149172
+2.72,1.314543376522379,1.649725225563645,1.035731397913975
+2.8,1.258601656313182,1.654198304002873,1.087200039683944
+2.88,1.206908225291394,1.655322037236891,1.137769737471714
+2.96,1.159197028863394,1.653482040044863,1.187320931091743
+3.04,1.115215369217399,1.649032107842271,1.235752522940328
+3.12,1.07472346896072,1.642296357547998,1.282980173491281
+3.2,1.037494028313346,1.633571250476853,1.3289347212098
+3.28,1.003311778574223,1.62312750203951,1.373560719386267
+3.36,0.9719730342763243,1.611211882976369,1.416815082747306
+3.44,0.9432852461706598,1.598048916782008,1.458665837047332
+3.52,0.9170665569261309,1.583842477894404,1.499090965179464
+3.6,0.8931453612000118,1.568777295130069,1.538077343669919
+3.68,0.8713598715214752,1.553020364744048,1.575619763734476
+3.76,0.8515576912365719,1.536722277384132,1.611720031379296
+3.84,0.8335953955861422,1.520018463092781,1.646386141321075
+3.92,0.8173381218270994,1.503030358389571,1.679631519783329
+4,0.8026591691612196,1.485866499342364,1.711474331496416
diff --git a/models/sbml-test-suite/cases/semantic/00461/00461-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00461/00461-sbml-l2v4.xml
new file mode 100644
index 0000000..8f0eb6d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00461/00461-sbml-l2v4.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00461" id="case00461" name="case00461">
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.55"/>
+      <parameter id="k3" name="k3" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S3 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S1 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00461/00461-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00461/00461-sbml-l3v1.xml
new file mode 100644
index 0000000..a64ee4c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00461/00461-sbml-l3v1.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00461" id="case00461" name="case00461" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S1" name="S1" value="1" constant="false"/>
+      <parameter id="S2" name="S2" value="2" constant="false"/>
+      <parameter id="S3" name="S3" value="1" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.55" constant="true"/>
+      <parameter id="k3" name="k3" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S3 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S1 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00461/00461-settings.txt b/models/sbml-test-suite/cases/semantic/00461/00461-settings.txt
new file mode 100644
index 0000000..283826d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00461/00461-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00462/00462-results.csv b/models/sbml-test-suite/cases/semantic/00462/00462-results.csv
new file mode 100644
index 0000000..6bb4287
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00462/00462-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0
+0.1,0.000135725612699647,0.000014274387300353
+0.2,0.000122809612906001,0.00002719038709399893
+0.3,0.0001111227330798188,0.00003887726692018112
+0.4,0.0001005480067745288,0.00004945199322547116
+0.5,0.00009097959833952121,0.00005902040166047879
+0.6,0.00008232174449029241,0.0000676782555097076
+0.7,0.00007448779472324496,0.00007551220527675504
+0.8,0.00006739934331809596,0.00008260065668190404
+0.9,0.00006098544602496477,0.00008901455397503522
+1.,0.00005518191572663336,0.00009481808427336663
+1.1,0.00004993065982744066,0.0001000693401725593
+1.2,0.00004517913174049052,0.0001048208682595094
+1.3,0.00004087976663774705,0.0001091202333622529
+1.4,0.00003698954454838755,0.0001130104554516124
+1.5,0.00003346952266778614,0.0001165304773322138
+1.6,0.00003028447440167901,0.0001197155255983209
+1.7,0.00002740252541880078,0.0001225974745811991
+1.8,0.00002479483189595209,0.0001252051681040479
+1.9,0.00002243529288340569,0.0001275647071165943
+2.,0.00002030029144079921,0.0001296997085592007
+2.1,0.00001836846212846489,0.000131631537871535
+2.2,0.00001662047191211972,0.0001333795280878802
+2.3,0.00001503882591687973,0.0001349611740831202
+2.4,0.00001360769297272318,0.0001363923070272767
+2.5,0.00001231274902315507,0.0001376872509768448
+2.6,0.0000111410354033992,0.0001388589645966007
+2.7,0.00001008082586432766,0.0001399191741356723
+2.8,9.121509103804748e-6,0.0001408784908961952
+2.9,8.253482960257092e-6,0.0001417465170397429
+3.,7.468059706575402e-6,0.0001425319402934246
+3.1,6.757379534253298e-6,0.0001432426204657467
+3.2,6.114330012924568e-6,0.0001438856699870754
+3.3,5.532474989812161e-6,0.0001444675250101878
+3.4,5.005990431822439e-6,0.0001449940095681775
+3.5,4.529607133666575e-6,0.0001454703928663334
+3.6,4.098557862364167e-6,0.0001459014421376358
+3.7,3.708528651548173e-6,0.0001462914713484518
+3.8,3.355615734701261e-6,0.0001466443842652987
+3.9,3.036286653739524e-6,0.0001469637133462604
+4.,2.747345576745139e-6,0.0001472526544232548
+4.1,2.485901005706679e-6,0.0001475140989942932
+4.2,2.249336352895884e-6,0.000147750663647104
+4.3,2.035283839377694e-6,0.0001479647161606222
+4.4,1.841600929366034e-6,0.0001481583990706339
+4.5,1.666349310908845e-6,0.0001483336506890911
+4.6,1.507775180517784e-6,0.0001484922248194821
+4.7,1.364291477027215e-6,0.0001486357085229727
+4.8,1.234462055408647e-6,0.0001487655379445913
+4.9,1.116987442563783e-6,0.0001488830125574361
+5.,1.010692049869192e-6,0.0001489893079501307
diff --git a/models/sbml-test-suite/cases/semantic/00462/00462-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00462/00462-sbml-l2v4.xml
new file mode 100644
index 0000000..c72f097
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00462/00462-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00462" id="case00462" name="case00462">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00462/00462-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00462/00462-sbml-l3v1.xml
new file mode 100644
index 0000000..7bc7aef
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00462/00462-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00462" id="case00462" name="case00462" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00462/00462-settings.txt b/models/sbml-test-suite/cases/semantic/00462/00462-settings.txt
new file mode 100644
index 0000000..29547c8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00462/00462-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00463/00463-results.csv b/models/sbml-test-suite/cases/semantic/00463/00463-results.csv
new file mode 100644
index 0000000..8209737
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00463/00463-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0.15
+0.1,0.1357256126948799,0.1642743873051201
+0.2,0.1228096129367311,0.1771903870632688
+0.3,0.1111227328724706,0.1888772671275294
+0.4,0.1005480067251056,0.1994519932748944
+0.5,0.09097959852427188,0.2090204014757282
+0.6,0.08232174539439952,0.2176782546056005
+0.7,0.07448779494482295,0.2255122050551771
+0.8,0.06739934336261047,0.2326006566373895
+0.9,0.06098544757830083,0.2390145524216991
+1.,0.05518191326224779,0.2448180867377522
+1.1,0.04993065719299771,0.2500693428070023
+1.2,0.04517912856293231,0.2548208714370677
+1.3,0.04087976887484396,0.2591202311251561
+1.4,0.03698954284505298,0.263010457154947
+1.5,0.0334695204656385,0.2665304795343615
+1.6,0.03028447538437509,0.2697155246156249
+1.7,0.0274025284922839,0.2725974715077161
+1.8,0.02479483220101942,0.2752051677989806
+1.9,0.02243529053518984,0.2775647094648102
+2.,0.02030029083610227,0.2796997091638976
+2.1,0.0183684641057826,0.2816315358942173
+2.2,0.0166204731539513,0.2833795268460486
+2.3,0.01503882501548394,0.2849611749845159
+2.4,0.0136076918264317,0.2863923081735682
+2.5,0.01231274966065384,0.287687250339346
+2.6,0.01114103638955677,0.2888589636104431
+2.7,0.0100808259021396,0.2899191740978602
+2.8,0.009121508573498183,0.2908784914265016
+2.9,0.008253482885214337,0.2917465171147855
+3.,0.007468060064183981,0.2925319399358158
+3.1,0.006757379702797852,0.2932426202972019
+3.2,0.006114330023676456,0.2938856699763233
+3.3,0.005532475002199419,0.2944675249978003
+3.4,0.005005990390598157,0.2949940096094017
+3.5,0.004529607088740787,0.295470392911259
+3.6,0.004098557969016068,0.2959014420309837
+3.7,0.003708528879795659,0.2962914711202041
+3.8,0.003355615724423267,0.2966443842755766
+3.9,0.003036286443671992,0.2969637135563278
+4.,0.002747345558296132,0.2972526544417036
+4.1,0.002485901236396804,0.297514098763603
+4.2,0.002249336496233314,0.2977506635037665
+4.3,0.002035283677090691,0.2979647163229092
+4.4,0.001841600796452403,0.2981583992035475
+4.5,0.001666349422127924,0.2983336505778719
+4.6,0.001507775349242483,0.2984922246507574
+4.7,0.001364291454195989,0.2986357085458038
+4.8,0.001234461928103733,0.2987655380718961
+4.9,0.001116987415095602,0.2988830125849043
+5.,0.00101069204986623,0.2989893079501336
diff --git a/models/sbml-test-suite/cases/semantic/00463/00463-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00463/00463-sbml-l2v4.xml
new file mode 100644
index 0000000..6258bcb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00463/00463-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00463" id="case00463" name="case00463">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00463/00463-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00463/00463-sbml-l3v1.xml
new file mode 100644
index 0000000..2729fcf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00463/00463-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00463" id="case00463" name="case00463" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00463/00463-settings.txt b/models/sbml-test-suite/cases/semantic/00463/00463-settings.txt
new file mode 100644
index 0000000..dbfdce7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00463/00463-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00464/00464-results.csv b/models/sbml-test-suite/cases/semantic/00464/00464-results.csv
new file mode 100644
index 0000000..a82a678
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00464/00464-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0.0015
+0.1,0.0015,0.0015
+0.2,0.0015,0.0015
+0.3,0.0015,0.0015
+0.4,0.0015,0.0015
+0.5,0.0015,0.0015
+0.6,0.0015,0.0015
+0.7,0.0015,0.0015
+0.8,0.0015,0.0015
+0.9,0.0015,0.0015
+1.,0.0015,0.0015
+1.1,0.0015,0.0015
+1.2,0.0015,0.0015
+1.3,0.0015,0.0015
+1.4,0.0015,0.0015
+1.5,0.0015,0.0015
+1.6,0.0015,0.0015
+1.7,0.0015,0.0015
+1.8,0.0015,0.0015
+1.9,0.0015,0.0015
+2.,0.0015,0.0015
+2.1,0.0015,0.0015
+2.2,0.0015,0.0015
+2.3,0.0015,0.0015
+2.4,0.0015,0.0015
+2.5,0.0015,0.0015
+2.6,0.0015,0.0015
+2.7,0.0015,0.0015
+2.8,0.0015,0.0015
+2.9,0.0015,0.0015
+3.,0.0015,0.0015
+3.1,0.0015,0.0015
+3.2,0.0015,0.0015
+3.3,0.0015,0.0015
+3.4,0.0015,0.0015
+3.5,0.0015,0.0015
+3.6,0.0015,0.0015
+3.7,0.0015,0.0015
+3.8,0.0015,0.0015
+3.9,0.0015,0.0015
+4.,0.0015,0.0015
+4.1,0.0015,0.0015
+4.2,0.0015,0.0015
+4.3,0.0015,0.0015
+4.4,0.0015,0.0015
+4.5,0.0015,0.0015
+4.6,0.0015,0.0015
+4.7,0.0015,0.0015
+4.8,0.0015,0.0015
+4.9,0.0015,0.0015
+5.,0.0015,0.0015
diff --git a/models/sbml-test-suite/cases/semantic/00464/00464-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00464/00464-sbml-l2v4.xml
new file mode 100644
index 0000000..dcc854d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00464/00464-sbml-l2v4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00464" id="case00464" name="case00464">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00464/00464-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00464/00464-sbml-l3v1.xml
new file mode 100644
index 0000000..d5791aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00464/00464-sbml-l3v1.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00464" id="case00464" name="case00464" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00464/00464-settings.txt b/models/sbml-test-suite/cases/semantic/00464/00464-settings.txt
new file mode 100644
index 0000000..8ed3e6c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00464/00464-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00465/00465-results.csv b/models/sbml-test-suite/cases/semantic/00465/00465-results.csv
new file mode 100644
index 0000000..d6d9498
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00465/00465-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.4,0.01089050245638409,0.02089050245638409,0.009109497543615903
+0.8,0.01168862391085048,0.02168862391085049,0.008311376089149511
+1.2,0.012403604871393,0.02240360487139301,0.00759639512860699
+1.6,0.01304383087192126,0.02304383087192126,0.006956169128078735
+2.,0.01361689730772495,0.02361689730772496,0.006383102692275038
+2.4,0.01412967256682493,0.02412967256682493,0.005870327433175064
+2.8,0.01458835820782077,0.02458835820782077,0.005411641792179222
+3.2,0.0149985467546178,0.02499854675461781,0.005001453245382189
+3.6,0.01536527538212629,0.0253652753821263,0.004634724617873698
+4.,0.01569307649242125,0.02569307649242127,0.004306923507578735
+4.4,0.01598602436474684,0.02598602436474685,0.00401397563525315
+4.8,0.0162477785443784,0.02624777854437842,0.003752221455621586
+5.2,0.01648162389368281,0.02648162389368282,0.003518376106317175
+5.6,0.01669050682602484,0.02669050682602486,0.003309493173975141
+6.,0.01687706846308508,0.02687706846308509,0.003122931536914905
+6.4,0.01704367533565034,0.02704367533565035,0.002956324664349646
+6.8,0.01719244715122171,0.02719244715122173,0.002807552848778274
+7.2,0.01732528090512324,0.02732528090512325,0.00267471909487675
+7.6,0.01744387489678956,0.02744387489678957,0.00255612510321043
+8.,0.01754974785911276,0.02754974785911278,0.002450252140887226
+8.4,0.01764425842618378,0.0276442584261838,0.002355741573816204
+8.8,0.01772862118594973,0.02772862118594974,0.00227137881405026
+9.2,0.01780392186521806,0.02780392186521808,0.002196078134781921
+9.6,0.01787113099173908,0.0278711309917391,0.002128869008260902
+10.,0.01793111552700415,0.02793111552700417,0.002068884472995833
+10.4,0.01798465008479364,0.02798465008479366,0.002015349915206342
+10.8,0.01803242674113071,0.02803242674113073,0.00196757325886927
+11.2,0.01807506363636522,0.02807506363636523,0.001924936363634765
+11.6,0.01811311264250891,0.02811311264250892,0.001886887357491075
+12.,0.01814706662438822,0.02814706662438824,0.001852933375611758
+12.4,0.0181773657389018,0.02817736573890182,0.001822634261098178
+12.8,0.01820440292219908,0.0282044029221991,0.001795597077800898
+13.2,0.01822852895585127,0.02822852895585129,0.001771471044148712
+13.6,0.0182500569594547,0.02825005695945471,0.001749943040545285
+14.,0.01826926644579482,0.02826926644579484,0.001730733554205163
+14.4,0.01828640691352012,0.02828640691352014,0.001713593086479859
+14.8,0.01830170105807237,0.02830170105807239,0.001698298941927608
+15.2,0.01831534764150193,0.02831534764150195,0.001684652358498045
+15.6,0.01832752405671856,0.02832752405671858,0.001672475943281416
+16.,0.01833838860941428,0.0283383886094143,0.001661611390585699
+16.4,0.0183480825655735,0.02834808256557352,0.00165191743442648
+16.8,0.01835673199526009,0.0283567319952601,0.001643268004739894
+17.2,0.01836444940473742,0.02836444940473744,0.001635550595262559
+17.6,0.01837133519291026,0.02837133519291027,0.001628664807089726
+18.,0.01837747895193948,0.0283774789519395,0.001622521048060495
+18.4,0.01838296062857572,0.02838296062857574,0.001617039371424254
+18.8,0.01838785155776377,0.02838785155776378,0.001612148442236212
+19.2,0.01839221538659573,0.02839221538659574,0.001607784613404254
+19.6,0.01839610890364331,0.02839610890364333,0.00160389109635667
+20.,0.01839958279432377,0.02839958279432379,0.001600417205676212
diff --git a/models/sbml-test-suite/cases/semantic/00465/00465-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00465/00465-sbml-l2v4.xml
new file mode 100644
index 0000000..6e12298
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00465/00465-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00465" id="case00465" name="case00465">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00465/00465-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00465/00465-sbml-l3v1.xml
new file mode 100644
index 0000000..30c942b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00465/00465-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00465" id="case00465" name="case00465" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00465/00465-settings.txt b/models/sbml-test-suite/cases/semantic/00465/00465-settings.txt
new file mode 100644
index 0000000..8a2e9d0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00465/00465-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00466/00466-results.csv b/models/sbml-test-suite/cases/semantic/00466/00466-results.csv
new file mode 100644
index 0000000..1f20cb3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00466/00466-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0001,0.0002,0.0001
+0.05,0.00009881763185936636,0.00009881763185936636,0.0002011823681406337,0.0001011823681406336
+0.1,0.00009776045704354217,0.00009776045704354217,0.0002022395429564579,0.0001022395429564578
+0.15,0.00009681471874860227,0.00009681471874860227,0.0002031852812513978,0.0001031852812513977
+0.2,0.00009596826954523736,0.00009596826954523736,0.0002040317304547627,0.0001040317304547626
+0.25,0.00009521036405216778,0.00009521036405216778,0.0002047896359478323,0.0001047896359478322
+0.3,0.00009453148196592693,0.00009453148196592693,0.0002054685180340731,0.000105468518034073
+0.35,0.00009392317791776141,0.00009392317791776141,0.0002060768220822386,0.0001060768220822385
+0.4,0.00009337794738948058,0.00009337794738948058,0.0002066220526105195,0.0001066220526105194
+0.45,0.00009288911732837295,0.00009288911732837295,0.0002071108826716272,0.000107110882671627
+0.5,0.00009245074632986106,0.00009245074632986106,0.0002075492536701391,0.0001075492536701389
+0.55,0.00009205753888299987,0.00009205753888299987,0.0002079424611170002,0.0001079424611170001
+0.6,0.00009170477298883471,0.00009170477298883471,0.0002082952270111654,0.0001082952270111653
+0.65,0.00009138823317527069,0.00009138823317527069,0.0002086117668247294,0.0001086117668247293
+0.7,0.00009110415396099831,0.00009110415396099831,0.0002088958460390018,0.0001088958460390016
+0.75,0.00009084917047839726,0.00009084917047839726,0.0002091508295216029,0.0001091508295216027
+0.8,0.00009062027359765853,0.00009062027359765853,0.0002093797264023416,0.0001093797264023414
+0.85,0.00009041477095491564,0.00009041477095491564,0.0002095852290450845,0.0001095852290450843
+0.9,0.00009023025254293393,0.00009023025254293393,0.0002097697474570662,0.000109769747457066
+0.95,0.00009006456024225406,0.00009006456024225406,0.0002099354397577461,0.0001099354397577459
+1.,0.0000899157608037785,0.0000899157608037785,0.0002100842391962216,0.0001100842391962215
+1.05,0.00008978212197544293,0.00008978212197544293,0.0002102178780245572,0.000110217878024557
+1.1,0.00008966209112051003,0.00008966209112051003,0.0002103379088794901,0.0001103379088794899
+1.15,0.00008955427612480443,0.00008955427612480443,0.0002104457238751957,0.0001104457238751955
+1.2,0.00008945742853027119,0.00008945742853027119,0.0002105425714697289,0.0001105425714697288
+1.25,0.00008937042847232368,0.00008937042847232368,0.0002106295715276765,0.0001106295715276763
+1.3,0.00008929227124217369,0.00008929227124217369,0.0002107077287578264,0.0001107077287578263
+1.35,0.00008922205529019385,0.00008922205529019385,0.0002107779447098063,0.0001107779447098061
+1.4,0.00008915897150878656,0.00008915897150878656,0.0002108410284912136,0.0001108410284912134
+1.45,0.0000891022936526405,0.0000891022936526405,0.0002108977063473596,0.0001108977063473595
+1.5,0.0000890513697676157,0.0000890513697676157,0.0002109486302323844,0.0001109486302323843
+1.55,0.00008900561453869841,0.00008900561453869841,0.0002109943854613017,0.0001109943854613015
+1.6,0.00008896450241029446,0.00008896450241029446,0.0002110354975897057,0.0001110354975897055
+1.65,0.00008892756145115164,0.00008892756145115164,0.0002110724385488485,0.0001110724385488483
+1.7,0.00008889436785188132,0.00008889436785188132,0.0002111056321481188,0.0001111056321481186
+1.75,0.00008886454098205454,0.00008886454098205454,0.0002111354590179456,0.0001111354590179454
+1.8,0.000088837738966932,0.000088837738966932,0.0002111622610330681,0.000111162261033068
+1.85,0.00008881365472332338,0.00008881365472332338,0.0002111863452766767,0.0001111863452766766
+1.9,0.00008879201240439325,0.00008879201240439325,0.0002112079875956069,0.0001112079875956067
+1.95,0.00008877256418810459,0.00008877256418810459,0.0002112274358118955,0.0001112274358118954
+2.,0.00008875508750772273,0.00008875508750772273,0.0002112449124922774,0.0001112449124922772
+2.05,0.00008873938234168529,0.00008873938234168529,0.0002112606176583148,0.0001112606176583147
+2.1,0.00008872526901018729,0.00008872526901018729,0.0002112747309898128,0.0001112747309898127
+2.15,0.00008871258607921388,0.00008871258607921388,0.0002112874139207862,0.0001112874139207861
+2.2,0.00008870118850364647,0.00008870118850364647,0.0002112988114963536,0.0001112988114963535
+2.25,0.00008869094596013268,0.00008869094596013268,0.0002113090540398674,0.0001113090540398673
+2.3,0.00008868174135018246,0.00008868174135018246,0.0002113182586498177,0.0001113182586498175
+2.35,0.00008867346945598279,0.00008867346945598279,0.0002113265305440173,0.0001113265305440172
+2.4,0.00008866603573247522,0.00008866603573247522,0.0002113339642675249,0.0001113339642675247
+2.45,0.00008865935522925674,0.00008865935522925674,0.0002113406447707434,0.0001113406447707432
+2.5,0.00008865335160035238,0.00008865335160035238,0.0002113466483996477,0.0001113466483996476
diff --git a/models/sbml-test-suite/cases/semantic/00466/00466-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00466/00466-sbml-l2v4.xml
new file mode 100644
index 0000000..ae5d79f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00466/00466-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00466" id="case00466" name="case00466">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00466/00466-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00466/00466-sbml-l3v1.xml
new file mode 100644
index 0000000..27cced3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00466/00466-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00466" id="case00466" name="case00466" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00466/00466-settings.txt b/models/sbml-test-suite/cases/semantic/00466/00466-settings.txt
new file mode 100644
index 0000000..ebaf76b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00466/00466-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00467/00467-results.csv b/models/sbml-test-suite/cases/semantic/00467/00467-results.csv
new file mode 100644
index 0000000..53dfa5e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00467/00467-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.2,0.2,0,0
+0.16,0.1569848915747734,0.1542438688277709,0.04301510842522649,0.002741022747002401
+0.32,0.137830383794323,0.1290590032546591,0.06216961620567692,0.008771380539663786
+0.48,0.1293244223500158,0.1130466811541145,0.07067557764998415,0.01627774119590111
+0.64,0.1260798001986869,0.1016703047024517,0.07392019980131309,0.02440949549623497
+0.8,0.1255842863910273,0.09284962279464351,0.07441571360897267,0.03273466359638359
+0.96,0.1265713558351312,0.08554739429066794,0.07342864416486875,0.04102396154446307
+1.12,0.1283705893262743,0.07921787266010377,0.07162941067372569,0.04915271666617029
+1.28,0.1306149752097961,0.07356245418024516,0.06938502479020385,0.05705252102955072
+1.44,0.1330981899643203,0.06841203991087567,0.0669018100356797,0.06468615005344437
+1.6,0.1357013455148851,0.06366723887148896,0.06429865448511493,0.07203410664339586
+1.76,0.1383540981815795,0.05926686836089056,0.06164590181842053,0.07908722982068865
+1.92,0.1410135222766016,0.055170963803567,0.05898647772339848,0.08584255847303426
+2.08,0.1436524491270081,0.05135147196293726,0.05634755087299191,0.09230097716407055
+2.24,0.1462529542989144,0.04778710332114703,0.05374704570108559,0.09846585097776711
+2.4,0.1488026870188646,0.04446047190612705,0.05119731298113543,0.1043422151127372
+2.56,0.151292785246735,0.04135650702140816,0.04870721475326507,0.1099362782253265
+2.72,0.1537166820208815,0.03846157732106458,0.04628331797911853,0.1152551046998166
+2.88,0.1560694144304948,0.03576301470864999,0.04393058556950522,0.1203063997218445
+3.04,0.1583472168907509,0.03324886247090263,0.04165278310924906,0.125098354419848
+3.2,0.16054727410346,0.03090774749420446,0.03945272589654007,0.1296395266092551
+3.36,0.1626675640822112,0.02872882023739525,0.03733243591778879,0.1339387438448156
+3.52,0.1647067503757744,0.02670172949721662,0.03529324962422565,0.1380050208785574
+3.68,0.1666641017715171,0.02481661417256269,0.03333589822848294,0.1418474875989541
+3.84,0.1685394263237649,0.02306410130812966,0.03146057367623512,0.1454753250156349
+4.,0.1703330134203573,0.02143530525464303,0.0296669865796427,0.1488977081657139
+4.16,0.1720455801975293,0.01992182496125317,0.02795441980247071,0.1521237552362758
+4.32,0.1736782207957851,0.01851573827437732,0.0263217792042149,0.1551624825214074
+4.48,0.1752323578551127,0.01720959291664305,0.02476764214488737,0.1580227649384692
+4.64,0.176709696237503,0.01599639443229299,0.02329030376249707,0.1607133018052096
+4.8,0.1781121789309001,0.01486959108019247,0.02188782106909991,0.1632425878507073
+4.96,0.1794419458903598,0.01382305723784822,0.02055805410964024,0.1656188886525112
+5.12,0.1807012953347702,0.01285107431778108,0.01929870466522981,0.1678502210169887
+5.28,0.1818926483825603,0.01194831123852001,0.01810735161743971,0.1699443371440399
+5.44,0.1830185167289329,0.01110980410065589,0.01698148327106716,0.1719087126282766
+5.6,0.1840814734747937,0.01033093533907526,0.01591852652520634,0.173750538135718
+5.76,0.1850841271894384,0.009607413299962534,0.01491587281056167,0.1754767138894754
+5.92,0.1860290990200571,0.008935251919470498,0.01397090097994296,0.1770938471005861
+6.08,0.1869190027490744,0.008310751170123375,0.01308099725092562,0.1786082515789505
+6.24,0.1877564276349812,0.007730477999656064,0.01224357236501887,0.1800259496353246
+6.4,0.1885439238565056,0.007191248150153958,0.01145607614349445,0.1813526757063512
+6.56,0.1892839903069977,0.006690108987600805,0.01071600969300238,0.1825938813193964
+6.72,0.1899790645898554,0.006224323096372518,0.01002093541014472,0.1837547414934823
+6.88,0.1906315149545463,0.005791352904350762,0.009368485045453818,0.184840162050195
+7.04,0.1912436339851946,0.005388846233230867,0.008756366014805448,0.1858547877519632
+7.2,0.1918176338532269,0.005014622750267702,0.008182366146773133,0.1868030111029587
+7.36,0.1923556428451419,0.004666661467807858,0.007644357154858143,0.1876889813773335
+7.52,0.192859703216512,0.004343088843250699,0.007140296783488106,0.1885166143732607
+7.68,0.1933317699977735,0.004042167865805483,0.006668230002226566,0.1892896021319674
+7.84,0.1937737105749379,0.003762288037208918,0.00622628942506213,0.1900114225377285
+8.,0.1941873050711677,0.003501955970888669,0.005812694928832325,0.1906853491002785
diff --git a/models/sbml-test-suite/cases/semantic/00467/00467-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00467/00467-sbml-l2v4.xml
new file mode 100644
index 0000000..a111263
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00467/00467-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00467" id="case00467" name="case00467">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="10"/>
+      <parameter id="k2" name="k2" value="0.9"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00467/00467-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00467/00467-sbml-l3v1.xml
new file mode 100644
index 0000000..ca4064d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00467/00467-sbml-l3v1.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00467" id="case00467" name="case00467" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="10" constant="true"/>
+      <parameter id="k2" name="k2" value="0.9" constant="true"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00467/00467-settings.txt b/models/sbml-test-suite/cases/semantic/00467/00467-settings.txt
new file mode 100644
index 0000000..992d831
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00467/00467-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00468/00468-results.csv b/models/sbml-test-suite/cases/semantic/00468/00468-results.csv
new file mode 100644
index 0000000..97f345e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00468/00468-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0,0,0
+0.24,0.0008453538346846457,0.0001454831071137777,8.45583533811687e-6,7.072228634593184e-7
+0.48,0.0007146231058160195,0.0002520166433768279,0.00002839064402015909,4.9696067869929e-6
+0.72,0.0006041093828558098,0.0003274843012532087,0.0000536510051626017,0.0000147553107283792
+0.96,0.0005106861833658368,0.0003783402295406579,0.00008015586896000821,0.0000308177181334968
+1.2,0.0004317105234290592,0.0004098538943273213,0.0001053158341216923,0.00005311974812192718
+1.44,0.0003649481464544737,0.0004263143832691428,0.0001276001451343706,0.00008113732514201269
+1.68,0.0003085103150665451,0.0004312007292689712,0.0001462159382079944,0.0001140730174564888
+1.92,0.0002608003778796795,0.0004273237783318764,0.000160872474910687,0.0001510033688777567
+2.16,0.0002204685995292158,0.0004169442414050267,0.0001716094582622342,0.0001909777008035231
+2.4,0.0001863739760387631,0.0004018708255557098,0.0001786734391400747,0.0002330817592654521
+2.64,0.0001575519553306907,0.0003835417132231135,0.0001824301130875622,0.0002764762183586334
+2.88,0.0001331871495998854,0.0003630921317861314,0.000183303229333076,0.000320417489280907
+3.12,0.0001125902676464114,0.0003414103124409498,0.0001817330809186977,0.0003642663389939406
+3.36,0.00009517861450229041,0.0003191837653789563,0.0001781492690814672,0.0004074883510372857
+3.6,0.00008045960675030697,0.0002969374851498673,0.0001729537551160754,0.0004496491529837499
+3.84,0.00006801683710213924,0.000275065437595969,0.0001665112208311136,0.0004904065044707778
+4.08,0.00005749829406776447,0.0002538564588353452,0.0001591445258698193,0.0005295007212270707
+4.32,0.0000486064033794387,0.0002335155118063169,0.0001511336321933215,0.0005667444526209227
+4.56,0.00004108960948673084,0.0002141810903009486,0.0001427168057048168,0.0006020124945075031
+4.8,0.00003473525894475474,0.0001959394302049464,0.0001340932357845036,0.0006352320750657949
+5.04,0.00002936358434825988,0.0001788360784044725,0.0001254264610049566,0.0006663738762423105
+5.28,0.00002482261862945437,0.0001628852782456332,0.0001168481732974925,0.0006954439298274193
+5.52,0.00002098389584491475,0.0001480775538015199,0.0001084621086977081,0.0007224764416558565
+5.76,0.00001773881681903822,0.000134385811052473,0.0001003478322065907,0.0007475275399218973
+6.,0.0000149955768211529,0.0001217702204143201,0.00009256429624631898,0.0007706699065182075
+6.24,0.00001267656836915831,0.0001101821001778093,0.00008515310353856547,0.0007919882279144663
+6.48,0.00001071618568128627,0.00009956698296196955,0.00007814144129217068,0.0008115753900645735
+6.72,9.058968658945135e-6,0.00008986701600049831,0.0000715446782968146,0.000829529337043742
+6.96,7.658033894349487e-6,0.00008102281998536075,0.00006536863290712548,0.0008459505132131643
+7.2,6.473748318666531e-6,0.00007297490945073196,0.00005961153026104841,0.0008609398119695531
+7.44,5.472607965891031e-6,0.00006566475957942564,0.0000542656731206785,0.0008745969593340045
+7.68,4.626290129787058e-6,0.00005903558925403592,0.00004931885371570472,0.0008870192669004722
+7.92,3.910852101659205e-6,0.00005303291766557633,0.00004475553485748316,0.0008983006953752812
+8.16,3.306053820954317e-6,0.00004760494141144083,0.00004055782808418633,0.0009085311766834184
+8.4,2.794785275210918e-6,0.00004270277040865132,0.00003670629518993052,0.0009177961491262073
+8.64,2.362582449586579e-6,0.00003828055382551204,0.00003318059754871035,0.000926176266176191
+8.88,1.997218133524026e-6,0.00003429552135226866,0.00002996001542729709,0.0009337472450869101
+9.12,1.688356007842213e-6,0.00003070796027475392,0.00002702385717043718,0.0009405798265469664
+9.36,1.427258225557817e-6,0.00002748114481553388,0.00002435177585307244,0.000946739821105836
+9.6,1.206538214094645e-6,0.00002458123092266647,0.00002192400880841171,0.0009522882220548275
+9.84,1.019951705965273e-6,0.0000219771269931616,0.00001972155340530258,0.0009572813678955709
+10.08,8.622200858203641e-7,0.00001964034881380631,0.00001772629058732063,0.0009617711405130531
+10.32,7.288810559067177e-7,0.00001754486520436921,0.00001592106600965229,0.0009658051877300724
+10.56,6.161623956506974e-7,0.00001566693938996745,0.00001428973712006589,0.0009694271610943166
+10.8,5.208752439407741e-7,0.0000139849699455205,0.00001281719321766747,0.0009726769615928719
+11.04,4.403238848576414e-7,0.00001247933420045731,0.000011489354377211,0.0009755909875374747
+11.28,3.722294845784279e-7,0.00001113223622596408,0.00001029315413444406,0.000978202380155014
+11.52,3.146656221711881e-7,9.927560917141452e-6,9.216509975483769e-6,0.0009805412634852051
+11.76,2.66003790340742e-7,8.850735196546628e-6,8.248284943484178e-6,0.0009826349760696294
+12.,2.248673242133704e-7,7.888596983761208e-6,7.378243056106671e-6,0.0009845082926359185
diff --git a/models/sbml-test-suite/cases/semantic/00468/00468-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00468/00468-sbml-l2v4.xml
new file mode 100644
index 0000000..9eeb2d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00468/00468-sbml-l2v4.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00468" id="case00468" name="case00468">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00468/00468-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00468/00468-sbml-l3v1.xml
new file mode 100644
index 0000000..c4113dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00468/00468-sbml-l3v1.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00468" id="case00468" name="case00468" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00468/00468-settings.txt b/models/sbml-test-suite/cases/semantic/00468/00468-settings.txt
new file mode 100644
index 0000000..20a7362
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00468/00468-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00469/00469-results.csv b/models/sbml-test-suite/cases/semantic/00469/00469-results.csv
new file mode 100644
index 0000000..1b5a704
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00469/00469-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,1.5
+0.2,0.904837,1.59516
+0.4,0.818731,1.68127
+0.6,0.740818,1.75918
+0.8,0.67032,1.82968
+1,0.606531,1.89347
+1.2,0.548812,1.95119
+1.4,0.496585,2.00341
+1.6,0.449329,2.05067
+1.8,0.40657,2.09343
+2,0.367879,2.13212
+2.2,0.332871,2.16713
+2.4,0.301194,2.19881
+2.6,0.272532,2.22747
+2.8,0.246597,2.2534
+3,0.22313,2.27687
+3.2,0.201897,2.2981
+3.4,0.182684,2.31732
+3.6,0.165299,2.3347
+3.8,0.149569,2.35043
+4,0.135335,2.36466
+4.2,0.122456,2.37754
+4.4,0.110803,2.3892
+4.6,0.100259,2.39974
+4.8,0.090718,2.40928
+5,0.082085,2.41792
+5.2,0.0742736,2.42573
+5.4,0.0672055,2.43279
+5.6,0.0608101,2.43919
+5.8,0.0550232,2.44498
+6,0.0497871,2.45021
+6.2,0.0450492,2.45495
+6.4,0.0407622,2.45924
+6.6,0.0368832,2.46312
+6.8,0.0333733,2.46663
+7,0.0301974,2.4698
+7.2,0.0273237,2.47268
+7.4,0.0247235,2.47528
+7.6,0.0223708,2.47763
+7.8,0.0202419,2.47976
+8,0.0183156,2.48168
+8.2,0.0165727,2.48343
+8.4,0.0149956,2.485
+8.6,0.0135686,2.48643
+8.8,0.0122773,2.48772
+9,0.011109,2.48889
+9.2,0.0100518,2.48995
+9.4,0.00909528,2.4909
+9.6,0.00822975,2.49177
+9.8,0.00744658,2.49255
+10,0.00673795,2.49326
diff --git a/models/sbml-test-suite/cases/semantic/00469/00469-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00469/00469-sbml-l2v4.xml
new file mode 100644
index 0000000..abafab5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00469/00469-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00469" id="case00469" name="case00469">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 100 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00469/00469-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00469/00469-sbml-l3v1.xml
new file mode 100644
index 0000000..33bcbb8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00469/00469-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00469" id="case00469" name="case00469" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 100 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00469/00469-settings.txt b/models/sbml-test-suite/cases/semantic/00469/00469-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00469/00469-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00470/00470-results.csv b/models/sbml-test-suite/cases/semantic/00470/00470-results.csv
new file mode 100644
index 0000000..1b5a704
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00470/00470-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,1.5
+0.2,0.904837,1.59516
+0.4,0.818731,1.68127
+0.6,0.740818,1.75918
+0.8,0.67032,1.82968
+1,0.606531,1.89347
+1.2,0.548812,1.95119
+1.4,0.496585,2.00341
+1.6,0.449329,2.05067
+1.8,0.40657,2.09343
+2,0.367879,2.13212
+2.2,0.332871,2.16713
+2.4,0.301194,2.19881
+2.6,0.272532,2.22747
+2.8,0.246597,2.2534
+3,0.22313,2.27687
+3.2,0.201897,2.2981
+3.4,0.182684,2.31732
+3.6,0.165299,2.3347
+3.8,0.149569,2.35043
+4,0.135335,2.36466
+4.2,0.122456,2.37754
+4.4,0.110803,2.3892
+4.6,0.100259,2.39974
+4.8,0.090718,2.40928
+5,0.082085,2.41792
+5.2,0.0742736,2.42573
+5.4,0.0672055,2.43279
+5.6,0.0608101,2.43919
+5.8,0.0550232,2.44498
+6,0.0497871,2.45021
+6.2,0.0450492,2.45495
+6.4,0.0407622,2.45924
+6.6,0.0368832,2.46312
+6.8,0.0333733,2.46663
+7,0.0301974,2.4698
+7.2,0.0273237,2.47268
+7.4,0.0247235,2.47528
+7.6,0.0223708,2.47763
+7.8,0.0202419,2.47976
+8,0.0183156,2.48168
+8.2,0.0165727,2.48343
+8.4,0.0149956,2.485
+8.6,0.0135686,2.48643
+8.8,0.0122773,2.48772
+9,0.011109,2.48889
+9.2,0.0100518,2.48995
+9.4,0.00909528,2.4909
+9.6,0.00822975,2.49177
+9.8,0.00744658,2.49255
+10,0.00673795,2.49326
diff --git a/models/sbml-test-suite/cases/semantic/00470/00470-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00470/00470-sbml-l2v4.xml
new file mode 100644
index 0000000..2de41ed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00470/00470-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00470" id="case00470" name="case00470">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="100"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 100 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00470/00470-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00470/00470-sbml-l3v1.xml
new file mode 100644
index 0000000..baf1a0a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00470/00470-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00470" id="case00470" name="case00470" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="100" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 100 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00470/00470-settings.txt b/models/sbml-test-suite/cases/semantic/00470/00470-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00470/00470-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00471/00471-results.csv b/models/sbml-test-suite/cases/semantic/00471/00471-results.csv
new file mode 100644
index 0000000..1b5a704
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00471/00471-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,1.5
+0.2,0.904837,1.59516
+0.4,0.818731,1.68127
+0.6,0.740818,1.75918
+0.8,0.67032,1.82968
+1,0.606531,1.89347
+1.2,0.548812,1.95119
+1.4,0.496585,2.00341
+1.6,0.449329,2.05067
+1.8,0.40657,2.09343
+2,0.367879,2.13212
+2.2,0.332871,2.16713
+2.4,0.301194,2.19881
+2.6,0.272532,2.22747
+2.8,0.246597,2.2534
+3,0.22313,2.27687
+3.2,0.201897,2.2981
+3.4,0.182684,2.31732
+3.6,0.165299,2.3347
+3.8,0.149569,2.35043
+4,0.135335,2.36466
+4.2,0.122456,2.37754
+4.4,0.110803,2.3892
+4.6,0.100259,2.39974
+4.8,0.090718,2.40928
+5,0.082085,2.41792
+5.2,0.0742736,2.42573
+5.4,0.0672055,2.43279
+5.6,0.0608101,2.43919
+5.8,0.0550232,2.44498
+6,0.0497871,2.45021
+6.2,0.0450492,2.45495
+6.4,0.0407622,2.45924
+6.6,0.0368832,2.46312
+6.8,0.0333733,2.46663
+7,0.0301974,2.4698
+7.2,0.0273237,2.47268
+7.4,0.0247235,2.47528
+7.6,0.0223708,2.47763
+7.8,0.0202419,2.47976
+8,0.0183156,2.48168
+8.2,0.0165727,2.48343
+8.4,0.0149956,2.485
+8.6,0.0135686,2.48643
+8.8,0.0122773,2.48772
+9,0.011109,2.48889
+9.2,0.0100518,2.48995
+9.4,0.00909528,2.4909
+9.6,0.00822975,2.49177
+9.8,0.00744658,2.49255
+10,0.00673795,2.49326
diff --git a/models/sbml-test-suite/cases/semantic/00471/00471-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00471/00471-sbml-l2v4.xml
new file mode 100644
index 0000000..5e41c86
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00471/00471-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00471" id="case00471" name="case00471">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="5.4" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00471/00471-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00471/00471-sbml-l3v1.xml
new file mode 100644
index 0000000..e6ba21d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00471/00471-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00471" id="case00471" name="case00471" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="5.4" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00471/00471-settings.txt b/models/sbml-test-suite/cases/semantic/00471/00471-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00471/00471-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00472/00472-results.csv b/models/sbml-test-suite/cases/semantic/00472/00472-results.csv
new file mode 100644
index 0000000..1b5a704
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00472/00472-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,1.5
+0.2,0.904837,1.59516
+0.4,0.818731,1.68127
+0.6,0.740818,1.75918
+0.8,0.67032,1.82968
+1,0.606531,1.89347
+1.2,0.548812,1.95119
+1.4,0.496585,2.00341
+1.6,0.449329,2.05067
+1.8,0.40657,2.09343
+2,0.367879,2.13212
+2.2,0.332871,2.16713
+2.4,0.301194,2.19881
+2.6,0.272532,2.22747
+2.8,0.246597,2.2534
+3,0.22313,2.27687
+3.2,0.201897,2.2981
+3.4,0.182684,2.31732
+3.6,0.165299,2.3347
+3.8,0.149569,2.35043
+4,0.135335,2.36466
+4.2,0.122456,2.37754
+4.4,0.110803,2.3892
+4.6,0.100259,2.39974
+4.8,0.090718,2.40928
+5,0.082085,2.41792
+5.2,0.0742736,2.42573
+5.4,0.0672055,2.43279
+5.6,0.0608101,2.43919
+5.8,0.0550232,2.44498
+6,0.0497871,2.45021
+6.2,0.0450492,2.45495
+6.4,0.0407622,2.45924
+6.6,0.0368832,2.46312
+6.8,0.0333733,2.46663
+7,0.0301974,2.4698
+7.2,0.0273237,2.47268
+7.4,0.0247235,2.47528
+7.6,0.0223708,2.47763
+7.8,0.0202419,2.47976
+8,0.0183156,2.48168
+8.2,0.0165727,2.48343
+8.4,0.0149956,2.485
+8.6,0.0135686,2.48643
+8.8,0.0122773,2.48772
+9,0.011109,2.48889
+9.2,0.0100518,2.48995
+9.4,0.00909528,2.4909
+9.6,0.00822975,2.49177
+9.8,0.00744658,2.49255
+10,0.00673795,2.49326
diff --git a/models/sbml-test-suite/cases/semantic/00472/00472-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00472/00472-sbml-l2v4.xml
new file mode 100644
index 0000000..70d31d4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00472/00472-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00472" id="case00472" name="case00472">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00472/00472-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00472/00472-sbml-l3v1.xml
new file mode 100644
index 0000000..3c56b03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00472/00472-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00472" id="case00472" name="case00472" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00472/00472-settings.txt b/models/sbml-test-suite/cases/semantic/00472/00472-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00472/00472-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00473/00473-results.csv b/models/sbml-test-suite/cases/semantic/00473/00473-results.csv
new file mode 100644
index 0000000..1b5a704
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00473/00473-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,1.5
+0.2,0.904837,1.59516
+0.4,0.818731,1.68127
+0.6,0.740818,1.75918
+0.8,0.67032,1.82968
+1,0.606531,1.89347
+1.2,0.548812,1.95119
+1.4,0.496585,2.00341
+1.6,0.449329,2.05067
+1.8,0.40657,2.09343
+2,0.367879,2.13212
+2.2,0.332871,2.16713
+2.4,0.301194,2.19881
+2.6,0.272532,2.22747
+2.8,0.246597,2.2534
+3,0.22313,2.27687
+3.2,0.201897,2.2981
+3.4,0.182684,2.31732
+3.6,0.165299,2.3347
+3.8,0.149569,2.35043
+4,0.135335,2.36466
+4.2,0.122456,2.37754
+4.4,0.110803,2.3892
+4.6,0.100259,2.39974
+4.8,0.090718,2.40928
+5,0.082085,2.41792
+5.2,0.0742736,2.42573
+5.4,0.0672055,2.43279
+5.6,0.0608101,2.43919
+5.8,0.0550232,2.44498
+6,0.0497871,2.45021
+6.2,0.0450492,2.45495
+6.4,0.0407622,2.45924
+6.6,0.0368832,2.46312
+6.8,0.0333733,2.46663
+7,0.0301974,2.4698
+7.2,0.0273237,2.47268
+7.4,0.0247235,2.47528
+7.6,0.0223708,2.47763
+7.8,0.0202419,2.47976
+8,0.0183156,2.48168
+8.2,0.0165727,2.48343
+8.4,0.0149956,2.485
+8.6,0.0135686,2.48643
+8.8,0.0122773,2.48772
+9,0.011109,2.48889
+9.2,0.0100518,2.48995
+9.4,0.00909528,2.4909
+9.6,0.00822975,2.49177
+9.8,0.00744658,2.49255
+10,0.00673795,2.49326
diff --git a/models/sbml-test-suite/cases/semantic/00473/00473-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00473/00473-sbml-l2v4.xml
new file mode 100644
index 0000000..23e3db4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00473/00473-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00473" id="case00473" name="case00473">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00473/00473-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00473/00473-sbml-l3v1.xml
new file mode 100644
index 0000000..4544c27
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00473/00473-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00473" id="case00473" name="case00473" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00473/00473-settings.txt b/models/sbml-test-suite/cases/semantic/00473/00473-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00473/00473-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00474/00474-results.csv b/models/sbml-test-suite/cases/semantic/00474/00474-results.csv
new file mode 100644
index 0000000..309e50b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00474/00474-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0025,0.02,0.01
+0.4,0.003434160280238639,0.02093416028023864,0.009065839719761359
+0.8,0.004273274669305341,0.02177327466930534,0.008226725330694659
+1.2,0.005026633491381543,0.02252663349138155,0.007473366508618457
+1.6,0.005702694557587829,0.02320269455758783,0.006797305442412172
+2.,0.006309142412257564,0.02380914241225756,0.006190857587742438
+2.4,0.006852946752585116,0.02435294675258512,0.005647053247414886
+2.8,0.007340419007742995,0.024840419007743,0.005159580992257007
+3.2,0.007777266516856155,0.02527726651685616,0.004722733483143846
+3.6,0.00816864396916688,0.02566864396916689,0.004331356030833123
+4.,0.00851920170835476,0.02601920170835476,0.003980798291645241
+4.4,0.008833130867179335,0.02633313086717934,0.003666869132820669
+4.8,0.009114205605057991,0.02661420560505799,0.003385794394942011
+5.2,0.009365821957455526,0.02686582195745553,0.003134178042544476
+5.6,0.009591032984522232,0.02709103298452224,0.002908967015477769
+6.,0.009792582813476422,0.02729258281347643,0.002707417186523577
+6.4,0.009972935099142403,0.02747293509914242,0.002527064900857598
+6.8,0.01013430210871544,0.02763430210871546,0.002365697891284557
+7.2,0.01027866807430899,0.02777866807430901,0.002221331925691005
+7.6,0.01040781316387499,0.02790781316387501,0.002092186836125005
+8.,0.0105233330428459,0.02802333304284592,0.001976666957154103
+8.4,0.01062665820860237,0.02812665820860239,0.001873341791397633
+8.8,0.01071906999020618,0.02821906999020621,0.001780930009793815
+9.2,0.0108017166865221,0.02830171668652212,0.001698283313477898
+9.6,0.01087562646457863,0.02837562646457866,0.001624373535421362
+10.,0.01094171987447885,0.02844171987447887,0.001558280125521148
+10.4,0.01100082137451102,0.02850082137451105,0.00149917862548898
+10.8,0.01105366869085118,0.02855366869085121,0.001446331309148822
+11.2,0.01110092203302709,0.02860092203302712,0.001399077966972909
+11.6,0.01114317240226012,0.02864317240226015,0.001356827597739879
+12.,0.01118094856577153,0.02868094856577156,0.001319051434228466
+12.4,0.01121472357645447,0.0287147235764545,0.00128527642354553
+12.8,0.01124492058301016,0.02874492058301019,0.00125507941698984
+13.2,0.01127191811806488,0.0287719181180649,0.001228081881935121
+13.6,0.01129605478021518,0.02879605478021521,0.001203945219784822
+14.,0.01131763342390099,0.02881763342390102,0.001182366576099011
+14.4,0.01133692491556855,0.02883692491556859,0.001163075084431448
+14.8,0.01135417147923433,0.02885417147923436,0.001145828520765666
+15.2,0.0113695897188048,0.02886958971880484,0.001130410281195196
+15.6,0.01138337332084068,0.02888337332084071,0.001116626679159321
+16.,0.01139569548243621,0.02889569548243625,0.00110430451756379
+16.4,0.01140671107296898,0.02890671107296902,0.001093288927031015
+16.8,0.01141655856877477,0.02891655856877481,0.001083441431225229
+17.2,0.01142536178453576,0.0289253617845358,0.001074638215464235
+17.6,0.01143323142256019,0.02893323142256022,0.00106676857743981
+18.,0.01144026645890218,0.02894026645890222,0.001059733541097818
+18.4,0.01144655538001805,0.02894655538001809,0.001053444619981944
+18.8,0.01145217729211284,0.02895217729211287,0.001047822707887162
+19.2,0.01145720291959875,0.02895720291959878,0.001042797080401249
+19.6,0.01146169548647733,0.02896169548647736,0.001038304513522668
+20.,0.01146571153177891,0.02896571153177894,0.001034288468221087
diff --git a/models/sbml-test-suite/cases/semantic/00474/00474-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00474/00474-sbml-l2v4.xml
new file mode 100644
index 0000000..cdd3234
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00474/00474-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00474" id="case00474" name="case00474">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.00125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00474/00474-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00474/00474-sbml-l3v1.xml
new file mode 100644
index 0000000..7baf534
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00474/00474-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00474" id="case00474" name="case00474" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.00125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00474/00474-settings.txt b/models/sbml-test-suite/cases/semantic/00474/00474-settings.txt
new file mode 100644
index 0000000..d088026
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00474/00474-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00475/00475-results.csv b/models/sbml-test-suite/cases/semantic/00475/00475-results.csv
new file mode 100644
index 0000000..9c07887
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00475/00475-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.000025,0.0002,0.0001
+0.4,0.00003451450594477665,0.0002095145059447767,0.00009048549405522332
+0.8,0.0000431229575071012,0.0002181229575071012,0.00008187704249289879
+1.2,0.00005091159686937578,0.0002259115968693757,0.0000740884031306242
+1.6,0.00005795846436857253,0.0002329584643685725,0.00006704153563142746
+2.,0.00006433417775445725,0.0002393341777544572,0.00006066582224554272
+2.4,0.00007010263646519843,0.0002451026364651983,0.00005489736353480155
+2.8,0.00007532166055666669,0.0002503216605566666,0.00004967833944333329
+3.2,0.00008004356782209842,0.0002550435678220983,0.00004495643217790154
+3.6,0.00008431569695635809,0.0002593156969563579,0.00004068430304364187
+4.,0.00008818088265981086,0.0002631808826598107,0.00003681911734018909
+4.4,0.00009167787752818745,0.0002666778775281872,0.0000333221224718125
+4.8,0.00009484174675407983,0.0002698417467540795,0.00003015825324592012
+5.2,0.00009770422463919683,0.0002727042246391965,0.00002729577536080311
+5.6,0.0001002940121248271,0.0002752940121248269,0.00002470598787517283
+6.,0.0001026370837636335,0.0002776370837636333,0.00002236291623636638
+6.4,0.0001047569434300626,0.0002797569434300623,0.0000202430565699373
+6.8,0.0001066748496369118,0.0002816748496369115,0.00001832515036308809
+7.2,0.0001084100391184009,0.0002834100391184006,0.000016589960881599
+7.6,0.0001099799199967493,0.000284979919996749,0.00001502008000325059
+8.,0.0001114002398239348,0.0002864002398239345,0.00001359976017606517
+8.4,0.0001126852445685531,0.0002876852445685529,0.00001231475543144679
+8.8,0.0001138478244250982,0.000288847824425098,0.00001115217557490174
+9.2,0.0001148996427442072,0.000289899642744207,0.00001010035725579274
+9.6,0.0001158512524833999,0.0002908512524833997,9.148747516600061e-6
+10.,0.0001167122001413487,0.0002917122001413486,8.287799858651219e-6
+10.4,0.0001174911220322038,0.0002924911220322036,7.508877967796168e-6
+10.8,0.0001181958324946835,0.0002931958324946833,6.80416750531643e-6
+11.2,0.0001188334020306808,0.0002938334020306806,6.166597969319138e-6
+11.6,0.0001194102278894798,0.0002944102278894796,5.58977211052015e-6
+12.,0.0001199320970240228,0.0002949320970240226,5.067902975977147e-6
+12.4,0.0001204042447483719,0.0002954042447483717,4.595755251628025e-6
+12.8,0.000120831408070496,0.0002958314080704958,4.168591929503931e-6
+13.2,0.0001212178730505196,0.0002962178730505195,3.782126949480313e-6
+13.6,0.0001215675175680464,0.0002965675175680463,3.432482431953475e-6
+14.,0.0001218838494721694,0.0002968838494721692,3.116150527830524e-6
+14.4,0.000122170042301369,0.0002971700423013689,2.829957698630907e-6
+14.8,0.0001224289675192149,0.0002974289675192148,2.571032480784968e-6
+15.2,0.0001226632232192991,0.000297663223219299,2.336776780700738e-6
+15.6,0.0001228751600295092,0.0002978751600295091,2.124839970490632e-6
+16.,0.0001230669042441606,0.0002980669042441605,1.933095755839302e-6
+16.4,0.0001232403795608977,0.0002982403795608976,1.75962043910216e-6
+16.8,0.0001233973265629042,0.0002983973265629041,1.60267343709568e-6
+17.2,0.0001235393201188141,0.0002985393201188141,1.460679881185722e-6
+17.6,0.0001236677850678906,0.0002986677850678906,1.332214932109238e-6
+18.,0.0001237840102572417,0.0002987840102572416,1.21598974275817e-6
+18.4,0.0001238891617578974,0.0002988891617578973,1.110838242102453e-6
+18.8,0.0001239842946405093,0.0002989842946405092,1.015705359490533e-6
+19.2,0.0001240703635230516,0.0002990703635230515,9.296364769482564e-7
+19.6,0.0001241482320424547,0.0002991482320424547,8.517679575451125e-7
+20.,0.0001242186814171372,0.0002992186814171373,7.81318582862607e-7
diff --git a/models/sbml-test-suite/cases/semantic/00475/00475-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00475/00475-sbml-l2v4.xml
new file mode 100644
index 0000000..c1d77c2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00475/00475-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00475" id="case00475" name="case00475">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2.5e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="1.25e-005"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00475/00475-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00475/00475-sbml-l3v1.xml
new file mode 100644
index 0000000..1fd40a0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00475/00475-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00475" id="case00475" name="case00475" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="1.25e-005" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00475/00475-settings.txt b/models/sbml-test-suite/cases/semantic/00475/00475-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00475/00475-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00476/00476-results.csv b/models/sbml-test-suite/cases/semantic/00476/00476-results.csv
new file mode 100644
index 0000000..2ff09de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00476/00476-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.025,0.2,0.1
+0.4,0.03282014771901849,0.2078201477190186,0.09217985228098146
+0.8,0.0394040981076511,0.2144040981076512,0.08559590189234885
+1.2,0.04492531716998757,0.2199253171699877,0.08007468283001235
+1.6,0.04953995821860182,0.224539958218602,0.07546004178139811
+2.,0.05338616301570176,0.228386163015702,0.07161383698429818
+2.4,0.0565844649238682,0.2315844649238684,0.06841553507613173
+2.8,0.05923887826116531,0.2342388782611656,0.06576112173883459
+3.2,0.06143836869985948,0.2364383686998598,0.06356163130014043
+3.6,0.06325848489083148,0.2382584848908318,0.06174151510916845
+4.,0.06476300999223243,0.2397630099922328,0.06023699000776749
+4.4,0.06600553507950407,0.2410055350795044,0.05899446492049586
+4.8,0.06703091548477856,0.2420309154847789,0.05796908451522138
+5.2,0.06787657599994438,0.2428765759999446,0.05712342400005557
+5.6,0.06857366070207866,0.2435736607020789,0.05642633929792129
+6.,0.06914803172667045,0.2441480317266707,0.05585196827332951
+6.4,0.06962112723854214,0.2446211272385424,0.05537887276145783
+6.8,0.07001069272920516,0.2450106927292055,0.05498930727079481
+7.2,0.07033140118644075,0.245331401186441,0.05466859881355922
+7.6,0.0705953722149864,0.2455953722149867,0.05440462778501357
+8.,0.07081260877161844,0.2458126087716187,0.05418739122838153
+8.4,0.07099136146881951,0.2459913614688198,0.05400863853118047
+8.8,0.07113843224559585,0.2461384322455962,0.05386156775440414
+9.2,0.07125942491109886,0.2462594249110992,0.05374057508890112
+9.6,0.07135895665722258,0.2463589566572229,0.05364104334277738
+10.,0.0714408293887046,0.246440829388705,0.05355917061129537
+10.4,0.07150817234479946,0.2465081723447998,0.05349182765520051
+10.8,0.07156356232618368,0.246563562326184,0.05343643767381627
+11.2,0.07160911913629168,0.246609119136292,0.05339088086370827
+11.6,0.0716465873610412,0.2466465873610416,0.05335341263895874
+12.,0.07167740264065462,0.246677402640655,0.05332259735934533
+12.4,0.07170274558227376,0.2467027455822741,0.05329725441772618
+12.8,0.07172358781100696,0.2467235878110073,0.05327641218899301
+13.2,0.07174072838708379,0.2467407283870841,0.05325927161291617
+13.6,0.07175482451819384,0.2467548245181941,0.05324517548180613
+14.,0.0717664169530198,0.2467664169530201,0.05323358304698017
+14.4,0.07177595024888452,0.2467759502488849,0.05322404975111545
+14.8,0.07178379014947587,0.2467837901494762,0.05321620985052411
+15.2,0.0717902373905554,0.2467902373905557,0.05320976260944457
+15.6,0.07179553939301545,0.2467955393930158,0.05320446060698451
+16.,0.07179989951182336,0.2467998995118237,0.05320010048817662
+16.4,0.07180348512064324,0.2468034851206436,0.05319651487935674
+16.8,0.07180643374354937,0.2468064337435497,0.05319356625645058
+17.2,0.07180885856979209,0.2468088585697924,0.05319114143020787
+17.6,0.0718108526372552,0.2468108526372555,0.05318914736274476
+18.,0.07181249244968214,0.2468124924496825,0.05318750755031783
+18.4,0.07181384095529119,0.2468138409552915,0.05318615904470878
+18.8,0.07181494990751205,0.2468149499075124,0.05318505009248791
+19.2,0.07181586184789082,0.2468158618478912,0.05318413815210915
+19.6,0.07181661178005571,0.246816611780056,0.05318338821994424
+20.,0.0718172284894077,0.2468172284894081,0.05318277151059225
diff --git a/models/sbml-test-suite/cases/semantic/00476/00476-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00476/00476-sbml-l2v4.xml
new file mode 100644
index 0000000..36d1f73
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00476/00476-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00476" id="case00476" name="case00476">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.0125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00476/00476-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00476/00476-sbml-l3v1.xml
new file mode 100644
index 0000000..66857d4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00476/00476-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00476" id="case00476" name="case00476" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.0125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00476/00476-settings.txt b/models/sbml-test-suite/cases/semantic/00476/00476-settings.txt
new file mode 100644
index 0000000..7baa566
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00476/00476-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00477/00477-results.csv b/models/sbml-test-suite/cases/semantic/00477/00477-results.csv
new file mode 100644
index 0000000..0e89c56
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00477/00477-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.4,0.001094548868370728,0.002094548868370727,0.0009054511316292719
+0.8,0.00118001848953847,0.002180018489538469,0.0008199815104615298
+1.2,0.001257276749958873,0.002257276749958871,0.0007427232500411273
+1.6,0.001327109297396784,0.002327109297396782,0.0006728907026032167
+2.,0.001390227209184955,0.002390227209184953,0.0006097727908150456
+2.4,0.001447273964930345,0.002447273964930343,0.0005527260350696556
+2.8,0.001498831750824368,0.002498831750824366,0.0005011682491756331
+3.2,0.001545427271591323,0.002545427271591322,0.0004545727284086771
+3.6,0.001587536949569996,0.002587536949569994,0.0004124630504300042
+4.,0.001625591689598026,0.002625591689598024,0.0003744083104019749
+4.4,0.001659981183772631,0.002659981183772629,0.0003400188162273701
+4.8,0.001691057760349918,0.002691057760349917,0.0003089422396500824
+5.2,0.001719140076169886,0.002719140076169885,0.0002808599238301143
+5.6,0.001744516233233725,0.002744516233233724,0.0002554837667662752
+6.,0.001767446616066154,0.002767446616066153,0.0002325533839338463
+6.4,0.0017881666657187,0.002788166665718698,0.0002118333342813009
+6.8,0.001806889246985867,0.002806889246985865,0.0001931107530141337
+7.2,0.001823806724165519,0.002823806724165518,0.0001761932758344814
+7.6,0.001839092942842859,0.002839092942842857,0.0001609070571571419
+8.,0.00185290508620386,0.002852905086203859,0.00014709491379614
+8.4,0.001865385198822914,0.002865385198822912,0.0001346148011770866
+8.8,0.001876661656975843,0.002876661656975842,0.0001233383430241569
+9.2,0.001886850480279047,0.002886850480279046,0.0001131495197209531
+9.6,0.001896056518122009,0.002896056518122009,0.0001039434818779907
+10.,0.001904374522582393,0.002904374522582392,0.00009562547741760679
+10.4,0.001911890117170247,0.002911890117170246,0.00008810988282975318
+10.8,0.001918680675619498,0.002918680675619496,0.00008131932438050237
+11.2,0.001924816116826219,0.002924816116826218,0.00007518388317378116
+11.6,0.00193035962201589,0.002930359622015888,0.00006964037798411025
+12.,0.001935368283094718,0.002935368283094717,0.00006463171690528209
+12.4,0.00193989368877822,0.002939893688778219,0.00006010631122177972
+12.8,0.001943982454438532,0.002943982454438531,0.000056017545561468
+13.2,0.001947676701050027,0.002947676701050026,0.00005232329894997333
+13.6,0.001951014488103085,0.002951014488103083,0.00004898551189691535
+14.,0.001954030204893596,0.002954030204893595,0.0000459697951064034
+14.4,0.001956754924176747,0.002956754924176745,0.00004324507582325254
+14.8,0.001959216721659568,0.002959216721659566,0.00004078327834043178
+15.2,0.001961440964382299,0.002961440964382297,0.00003855903561770112
+15.6,0.001963450572468844,0.002963450572468842,0.00003654942753115635
+16.,0.001965266255251286,0.002965266255251284,0.00003473374474871375
+16.4,0.001966906724398662,0.00296690672439866,0.00003309327560133805
+16.8,0.0019683888865201,0.002968388886520098,0.00003161111347990038
+17.2,0.001969728017215254,0.002969728017215252,0.00003027198278474602
+17.6,0.001970937918356177,0.002970937918356176,0.00002906208164382243
+18.,0.001972031060213723,0.002972031060213721,0.00002796893978627687
+18.4,0.001973018709886818,0.002973018709886816,0.00002698129011318129
+18.8,0.001973911047352977,0.002973911047352976,0.000026088952647022
+19.2,0.001974717270331516,0.002974717270331515,0.00002528272966848327
+19.6,0.001975445688837711,0.00297544568883771,0.00002455431116228797
+20.,0.001976103810860182,0.00297610381086018,0.00002389618913981748
diff --git a/models/sbml-test-suite/cases/semantic/00477/00477-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00477/00477-sbml-l2v4.xml
new file mode 100644
index 0000000..ef28881
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00477/00477-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00477" id="case00477" name="case00477">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="p1" name="p1" value="0.125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00477/00477-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00477/00477-sbml-l3v1.xml
new file mode 100644
index 0000000..a67bc50
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00477/00477-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00477" id="case00477" name="case00477" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="p1" name="p1" value="0.125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00477/00477-settings.txt b/models/sbml-test-suite/cases/semantic/00477/00477-settings.txt
new file mode 100644
index 0000000..1651ee1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00477/00477-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00478/00478-results.csv b/models/sbml-test-suite/cases/semantic/00478/00478-results.csv
new file mode 100644
index 0000000..d6d9498
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00478/00478-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.4,0.01089050245638409,0.02089050245638409,0.009109497543615903
+0.8,0.01168862391085048,0.02168862391085049,0.008311376089149511
+1.2,0.012403604871393,0.02240360487139301,0.00759639512860699
+1.6,0.01304383087192126,0.02304383087192126,0.006956169128078735
+2.,0.01361689730772495,0.02361689730772496,0.006383102692275038
+2.4,0.01412967256682493,0.02412967256682493,0.005870327433175064
+2.8,0.01458835820782077,0.02458835820782077,0.005411641792179222
+3.2,0.0149985467546178,0.02499854675461781,0.005001453245382189
+3.6,0.01536527538212629,0.0253652753821263,0.004634724617873698
+4.,0.01569307649242125,0.02569307649242127,0.004306923507578735
+4.4,0.01598602436474684,0.02598602436474685,0.00401397563525315
+4.8,0.0162477785443784,0.02624777854437842,0.003752221455621586
+5.2,0.01648162389368281,0.02648162389368282,0.003518376106317175
+5.6,0.01669050682602484,0.02669050682602486,0.003309493173975141
+6.,0.01687706846308508,0.02687706846308509,0.003122931536914905
+6.4,0.01704367533565034,0.02704367533565035,0.002956324664349646
+6.8,0.01719244715122171,0.02719244715122173,0.002807552848778274
+7.2,0.01732528090512324,0.02732528090512325,0.00267471909487675
+7.6,0.01744387489678956,0.02744387489678957,0.00255612510321043
+8.,0.01754974785911276,0.02754974785911278,0.002450252140887226
+8.4,0.01764425842618378,0.0276442584261838,0.002355741573816204
+8.8,0.01772862118594973,0.02772862118594974,0.00227137881405026
+9.2,0.01780392186521806,0.02780392186521808,0.002196078134781921
+9.6,0.01787113099173908,0.0278711309917391,0.002128869008260902
+10.,0.01793111552700415,0.02793111552700417,0.002068884472995833
+10.4,0.01798465008479364,0.02798465008479366,0.002015349915206342
+10.8,0.01803242674113071,0.02803242674113073,0.00196757325886927
+11.2,0.01807506363636522,0.02807506363636523,0.001924936363634765
+11.6,0.01811311264250891,0.02811311264250892,0.001886887357491075
+12.,0.01814706662438822,0.02814706662438824,0.001852933375611758
+12.4,0.0181773657389018,0.02817736573890182,0.001822634261098178
+12.8,0.01820440292219908,0.0282044029221991,0.001795597077800898
+13.2,0.01822852895585127,0.02822852895585129,0.001771471044148712
+13.6,0.0182500569594547,0.02825005695945471,0.001749943040545285
+14.,0.01826926644579482,0.02826926644579484,0.001730733554205163
+14.4,0.01828640691352012,0.02828640691352014,0.001713593086479859
+14.8,0.01830170105807237,0.02830170105807239,0.001698298941927608
+15.2,0.01831534764150193,0.02831534764150195,0.001684652358498045
+15.6,0.01832752405671856,0.02832752405671858,0.001672475943281416
+16.,0.01833838860941428,0.0283383886094143,0.001661611390585699
+16.4,0.0183480825655735,0.02834808256557352,0.00165191743442648
+16.8,0.01835673199526009,0.0283567319952601,0.001643268004739894
+17.2,0.01836444940473742,0.02836444940473744,0.001635550595262559
+17.6,0.01837133519291026,0.02837133519291027,0.001628664807089726
+18.,0.01837747895193948,0.0283774789519395,0.001622521048060495
+18.4,0.01838296062857572,0.02838296062857574,0.001617039371424254
+18.8,0.01838785155776377,0.02838785155776378,0.001612148442236212
+19.2,0.01839221538659573,0.02839221538659574,0.001607784613404254
+19.6,0.01839610890364331,0.02839610890364333,0.00160389109635667
+20.,0.01839958279432377,0.02839958279432379,0.001600417205676212
diff --git a/models/sbml-test-suite/cases/semantic/00478/00478-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00478/00478-sbml-l2v4.xml
new file mode 100644
index 0000000..9359077
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00478/00478-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00478" id="case00478" name="case00478">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="1" constant="false"/>
+      <parameter id="p1" name="p1" value="0.125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00478/00478-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00478/00478-sbml-l3v1.xml
new file mode 100644
index 0000000..7e2c850
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00478/00478-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00478" id="case00478" name="case00478" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="1" constant="false"/>
+      <parameter id="p1" name="p1" value="0.125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00478/00478-settings.txt b/models/sbml-test-suite/cases/semantic/00478/00478-settings.txt
new file mode 100644
index 0000000..d088026
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00478/00478-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00479/00479-results.csv b/models/sbml-test-suite/cases/semantic/00479/00479-results.csv
new file mode 100644
index 0000000..534df1c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00479/00479-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.4,0.0001095101185704268,0.0002095101185704269,0.00009048988142957316
+0.8,0.0001181144069599281,0.0002181144069599282,0.00008188559304007183
+1.2,0.0001258991045544968,0.0002258991045544968,0.0000741008954455032
+1.6,0.0001329422472699064,0.0002329422472699064,0.00006705775273009363
+2.,0.0001393144472761547,0.0002393144472761548,0.00006068555272384526
+2.4,0.0001450795984151714,0.0002450795984151715,0.00005492040158482855
+2.8,0.0001502955121232816,0.0002502955121232817,0.00004970448787671837
+3.2,0.0001550144989238427,0.0002550144989238427,0.00004498550107615731
+3.6,0.0001592838895931068,0.0002592838895931068,0.00004071611040689317
+4.,0.0001631465105444803,0.0002631465105444803,0.00003685348945551974
+4.4,0.0001666411046561742,0.0002666411046561745,0.00003335889534382568
+4.8,0.0001698027350358279,0.0002698027350358282,0.00003019726496417199
+5.2,0.0001726631193237813,0.0002726631193237816,0.0000273368806762186
+5.6,0.0001752509564151416,0.0002752509564151418,0.00002474904358485839
+6.,0.0001775922118992758,0.000277592211899276,0.0000224077881007242
+6.4,0.0001797103780663186,0.0002797103780663189,0.00002028962193368134
+6.8,0.0001816267100701786,0.0002816267100701788,0.00001837328992982138
+7.2,0.0001833604383162523,0.0002833604383162526,0.0000166395616837476
+7.6,0.0001849289608100614,0.0002849289608100616,0.0000150710391899386
+8.,0.0001863480182435769,0.0002863480182435771,0.00001365198175642305
+8.4,0.0001876318525082696,0.0002876318525082699,0.00001236814749173031
+8.8,0.0001887933490866441,0.0002887933490866443,0.00001120665091335583
+9.2,0.0001898441626961193,0.0002898441626961196,0.00001015583730388064
+9.6,0.0001907948424799535,0.0002907948424799538,9.20515752004643e-6
+10.,0.000191654928308744,0.0002916549283087443,8.345071691255907e-6
+10.4,0.0001924330531584597,0.0002924330531584598,7.566946841540313e-6
+10.8,0.0001931370278747662,0.0002931370278747665,6.862972125233738e-6
+11.2,0.0001937739168704251,0.0002937739168704254,6.226083129574812e-6
+11.6,0.0001943501142494414,0.0002943501142494416,5.649885750558534e-6
+12.,0.0001948714027090762,0.0002948714027090764,5.128597290923749e-6
+12.4,0.000195343014303889,0.0002953430143038892,4.656985696110964e-6
+12.8,0.0001957696832021258,0.0002957696832021261,4.230316797874113e-6
+13.2,0.0001961556926907649,0.0002961556926907652,3.844307309234976e-6
+13.6,0.0001965049170114392,0.0002965049170114395,3.495082988560712e-6
+14.,0.0001968208612513208,0.0002968208612513211,3.179138748679095e-6
+14.4,0.0001971066969301388,0.000297106696930139,2.893303069861129e-6
+14.8,0.0001973652936202133,0.0002973652936202136,2.634706379786535e-6
+15.2,0.0001975992470092075,0.0002975992470092078,2.400752990792365e-6
+15.6,0.0001978109052016946,0.0002978109052016948,2.189094798305286e-6
+16.,0.0001980023928351154,0.0002980023928351156,1.997607164884541e-6
+16.4,0.0001981756323031491,0.0002981756323031494,1.824367696850767e-6
+16.8,0.0001983323626750603,0.0002983323626750606,1.667637324939605e-6
+17.2,0.0001984741569924392,0.0002984741569924395,1.525843007560685e-6
+17.6,0.0001986024385593296,0.0002986024385593299,1.397561440670295e-6
+18.,0.0001987184952063118,0.0002987184952063121,1.281504793688099e-6
+18.4,0.0001988234920553257,0.0002988234920553259,1.176507944674233e-6
+18.8,0.0001989184829449158,0.0002989184829449161,1.081517055084097e-6
+19.2,0.0001990044213453334,0.0002990044213453337,9.95578654666521e-7
+19.6,0.0001990821699792793,0.0002990821699792796,9.178300207205713e-7
+20.,0.0001991525093891402,0.0002991525093891405,8.474906108597139e-7
diff --git a/models/sbml-test-suite/cases/semantic/00479/00479-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00479/00479-sbml-l2v4.xml
new file mode 100644
index 0000000..0aa0bd0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00479/00479-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00479" id="case00479" name="case00479">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25" constant="false"/>
+      <parameter id="p1" name="p1" value="0.125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00479/00479-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00479/00479-sbml-l3v1.xml
new file mode 100644
index 0000000..b758789
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00479/00479-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00479" id="case00479" name="case00479" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="false"/>
+      <parameter id="p1" name="p1" value="0.125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00479/00479-settings.txt b/models/sbml-test-suite/cases/semantic/00479/00479-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00479/00479-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00480/00480-results.csv b/models/sbml-test-suite/cases/semantic/00480/00480-results.csv
new file mode 100644
index 0000000..d18ae34
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00480/00480-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.4,0.1036416406743523,0.2036416406743524,0.09635835932564763
+0.8,0.1066467469151817,0.2066467469151818,0.09335325308481826
+1.2,0.1091220870110208,0.2091220870110209,0.09087791298897919
+1.6,0.1111580088302945,0.2111580088302946,0.08884199116970542
+2.,0.1128304590098088,0.2128304590098089,0.08716954099019114
+2.4,0.1142029420287858,0.2142029420287858,0.08579705797121414
+2.8,0.1153283262456635,0.2153283262456635,0.08467167375433643
+3.2,0.1162504725709547,0.2162504725709547,0.0837495274290453
+3.6,0.1170056623804662,0.2170056623804662,0.08299433761953378
+4.,0.1176238421700514,0.2176238421700513,0.08237615782994858
+4.4,0.1181296801231808,0.2181296801231808,0.08187031987681915
+4.8,0.1185434657806843,0.2185434657806842,0.08145653421931567
+5.2,0.1188818660658657,0.2188818660658657,0.08111813393413427
+5.6,0.1191585586495932,0.2191585586495931,0.0808414413504068
+6.,0.1193847579572253,0.2193847579572253,0.08061524204277463
+6.4,0.1195696531394105,0.2195696531394105,0.08043034686058943
+6.8,0.1197207697261893,0.2197207697261894,0.08027923027381064
+7.2,0.1198442673474518,0.2198442673474519,0.08015573265254812
+7.6,0.1199451862750527,0.2199451862750527,0.08005481372494729
+8.,0.1200276494708259,0.2200276494708259,0.07997235052917406
+8.4,0.1200950287873767,0.2200950287873767,0.07990497121262324
+8.8,0.1201500807898832,0.2201500807898832,0.07984991921011672
+9.2,0.1201950596921134,0.2201950596921134,0.07980494030788658
+9.6,0.1202318074086614,0.2202318074086613,0.0797681925913386
+10.,0.1202618295374586,0.2202618295374586,0.07973817046254133
+10.4,0.1202863567540331,0.2202863567540331,0.07971364324596685
+10.8,0.1203063943093443,0.2203063943093442,0.07969360569065567
+11.2,0.1203227638867165,0.2203227638867165,0.07967723611328343
+11.6,0.1203361368503024,0.2203361368503024,0.07966386314969757
+12.,0.1203470615811985,0.2203470615811985,0.07965293841880143
+12.4,0.1203559863136198,0.2203559863136198,0.07964401368638014
+12.8,0.1203632770501945,0.2203632770501945,0.07963672294980545
+13.2,0.1203692330345358,0.2203692330345358,0.0796307669654642
+13.6,0.1203740985168358,0.2203740985168358,0.0796259014831642
+14.,0.1203780732153493,0.2203780732153493,0.07962192678465064
+14.4,0.1203813201702078,0.2203813201702078,0.0796186798297922
+14.8,0.1203839726340524,0.2203839726340524,0.07961602736594758
+15.2,0.120386139463139,0.220386139463139,0.07961386053686096
+15.6,0.1203879095411651,0.2203879095411651,0.07961209045883482
+16.,0.1203893555329705,0.2203893555329705,0.07961064446702942
+16.4,0.1203905367745162,0.2203905367745162,0.07960946322548374
+16.8,0.1203915017256821,0.2203915017256821,0.07960849827431787
+17.2,0.120392290002795,0.220392290002795,0.07960770999720499
+17.6,0.1203929339492998,0.2203929339492999,0.07960706605070014
+18.,0.1203934599860304,0.2203934599860305,0.07960654001396955
+18.4,0.1203938897104487,0.2203938897104488,0.07960611028955125
+18.8,0.1203942407525631,0.2203942407525632,0.07960575924743688
+19.2,0.1203945275172804,0.2203945275172805,0.07960547248271959
+19.6,0.120394761777847,0.2203947617778471,0.07960523822215298
+20.,0.120394953144649,0.2203949531446491,0.07960504685535099
diff --git a/models/sbml-test-suite/cases/semantic/00480/00480-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00480/00480-sbml-l2v4.xml
new file mode 100644
index 0000000..7b1f9b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00480/00480-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00480" id="case00480" name="case00480">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00480/00480-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00480/00480-sbml-l3v1.xml
new file mode 100644
index 0000000..bda4deb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00480/00480-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00480" id="case00480" name="case00480" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00480/00480-settings.txt b/models/sbml-test-suite/cases/semantic/00480/00480-settings.txt
new file mode 100644
index 0000000..7baa566
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00480/00480-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00481/00481-results.csv b/models/sbml-test-suite/cases/semantic/00481/00481-results.csv
new file mode 100644
index 0000000..0e89c56
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00481/00481-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.4,0.001094548868370728,0.002094548868370727,0.0009054511316292719
+0.8,0.00118001848953847,0.002180018489538469,0.0008199815104615298
+1.2,0.001257276749958873,0.002257276749958871,0.0007427232500411273
+1.6,0.001327109297396784,0.002327109297396782,0.0006728907026032167
+2.,0.001390227209184955,0.002390227209184953,0.0006097727908150456
+2.4,0.001447273964930345,0.002447273964930343,0.0005527260350696556
+2.8,0.001498831750824368,0.002498831750824366,0.0005011682491756331
+3.2,0.001545427271591323,0.002545427271591322,0.0004545727284086771
+3.6,0.001587536949569996,0.002587536949569994,0.0004124630504300042
+4.,0.001625591689598026,0.002625591689598024,0.0003744083104019749
+4.4,0.001659981183772631,0.002659981183772629,0.0003400188162273701
+4.8,0.001691057760349918,0.002691057760349917,0.0003089422396500824
+5.2,0.001719140076169886,0.002719140076169885,0.0002808599238301143
+5.6,0.001744516233233725,0.002744516233233724,0.0002554837667662752
+6.,0.001767446616066154,0.002767446616066153,0.0002325533839338463
+6.4,0.0017881666657187,0.002788166665718698,0.0002118333342813009
+6.8,0.001806889246985867,0.002806889246985865,0.0001931107530141337
+7.2,0.001823806724165519,0.002823806724165518,0.0001761932758344814
+7.6,0.001839092942842859,0.002839092942842857,0.0001609070571571419
+8.,0.00185290508620386,0.002852905086203859,0.00014709491379614
+8.4,0.001865385198822914,0.002865385198822912,0.0001346148011770866
+8.8,0.001876661656975843,0.002876661656975842,0.0001233383430241569
+9.2,0.001886850480279047,0.002886850480279046,0.0001131495197209531
+9.6,0.001896056518122009,0.002896056518122009,0.0001039434818779907
+10.,0.001904374522582393,0.002904374522582392,0.00009562547741760679
+10.4,0.001911890117170247,0.002911890117170246,0.00008810988282975318
+10.8,0.001918680675619498,0.002918680675619496,0.00008131932438050237
+11.2,0.001924816116826219,0.002924816116826218,0.00007518388317378116
+11.6,0.00193035962201589,0.002930359622015888,0.00006964037798411025
+12.,0.001935368283094718,0.002935368283094717,0.00006463171690528209
+12.4,0.00193989368877822,0.002939893688778219,0.00006010631122177972
+12.8,0.001943982454438532,0.002943982454438531,0.000056017545561468
+13.2,0.001947676701050027,0.002947676701050026,0.00005232329894997333
+13.6,0.001951014488103085,0.002951014488103083,0.00004898551189691535
+14.,0.001954030204893596,0.002954030204893595,0.0000459697951064034
+14.4,0.001956754924176747,0.002956754924176745,0.00004324507582325254
+14.8,0.001959216721659568,0.002959216721659566,0.00004078327834043178
+15.2,0.001961440964382299,0.002961440964382297,0.00003855903561770112
+15.6,0.001963450572468844,0.002963450572468842,0.00003654942753115635
+16.,0.001965266255251286,0.002965266255251284,0.00003473374474871375
+16.4,0.001966906724398662,0.00296690672439866,0.00003309327560133805
+16.8,0.0019683888865201,0.002968388886520098,0.00003161111347990038
+17.2,0.001969728017215254,0.002969728017215252,0.00003027198278474602
+17.6,0.001970937918356177,0.002970937918356176,0.00002906208164382243
+18.,0.001972031060213723,0.002972031060213721,0.00002796893978627687
+18.4,0.001973018709886818,0.002973018709886816,0.00002698129011318129
+18.8,0.001973911047352977,0.002973911047352976,0.000026088952647022
+19.2,0.001974717270331516,0.002974717270331515,0.00002528272966848327
+19.6,0.001975445688837711,0.00297544568883771,0.00002455431116228797
+20.,0.001976103810860182,0.00297610381086018,0.00002389618913981748
diff --git a/models/sbml-test-suite/cases/semantic/00481/00481-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00481/00481-sbml-l2v4.xml
new file mode 100644
index 0000000..7bf608e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00481/00481-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00481" id="case00481" name="case00481">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="3.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00481/00481-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00481/00481-sbml-l3v1.xml
new file mode 100644
index 0000000..ca24580
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00481/00481-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00481" id="case00481" name="case00481" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="3.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00481/00481-settings.txt b/models/sbml-test-suite/cases/semantic/00481/00481-settings.txt
new file mode 100644
index 0000000..1651ee1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00481/00481-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00482/00482-results.csv b/models/sbml-test-suite/cases/semantic/00482/00482-results.csv
new file mode 100644
index 0000000..d6d9498
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00482/00482-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.4,0.01089050245638409,0.02089050245638409,0.009109497543615903
+0.8,0.01168862391085048,0.02168862391085049,0.008311376089149511
+1.2,0.012403604871393,0.02240360487139301,0.00759639512860699
+1.6,0.01304383087192126,0.02304383087192126,0.006956169128078735
+2.,0.01361689730772495,0.02361689730772496,0.006383102692275038
+2.4,0.01412967256682493,0.02412967256682493,0.005870327433175064
+2.8,0.01458835820782077,0.02458835820782077,0.005411641792179222
+3.2,0.0149985467546178,0.02499854675461781,0.005001453245382189
+3.6,0.01536527538212629,0.0253652753821263,0.004634724617873698
+4.,0.01569307649242125,0.02569307649242127,0.004306923507578735
+4.4,0.01598602436474684,0.02598602436474685,0.00401397563525315
+4.8,0.0162477785443784,0.02624777854437842,0.003752221455621586
+5.2,0.01648162389368281,0.02648162389368282,0.003518376106317175
+5.6,0.01669050682602484,0.02669050682602486,0.003309493173975141
+6.,0.01687706846308508,0.02687706846308509,0.003122931536914905
+6.4,0.01704367533565034,0.02704367533565035,0.002956324664349646
+6.8,0.01719244715122171,0.02719244715122173,0.002807552848778274
+7.2,0.01732528090512324,0.02732528090512325,0.00267471909487675
+7.6,0.01744387489678956,0.02744387489678957,0.00255612510321043
+8.,0.01754974785911276,0.02754974785911278,0.002450252140887226
+8.4,0.01764425842618378,0.0276442584261838,0.002355741573816204
+8.8,0.01772862118594973,0.02772862118594974,0.00227137881405026
+9.2,0.01780392186521806,0.02780392186521808,0.002196078134781921
+9.6,0.01787113099173908,0.0278711309917391,0.002128869008260902
+10.,0.01793111552700415,0.02793111552700417,0.002068884472995833
+10.4,0.01798465008479364,0.02798465008479366,0.002015349915206342
+10.8,0.01803242674113071,0.02803242674113073,0.00196757325886927
+11.2,0.01807506363636522,0.02807506363636523,0.001924936363634765
+11.6,0.01811311264250891,0.02811311264250892,0.001886887357491075
+12.,0.01814706662438822,0.02814706662438824,0.001852933375611758
+12.4,0.0181773657389018,0.02817736573890182,0.001822634261098178
+12.8,0.01820440292219908,0.0282044029221991,0.001795597077800898
+13.2,0.01822852895585127,0.02822852895585129,0.001771471044148712
+13.6,0.0182500569594547,0.02825005695945471,0.001749943040545285
+14.,0.01826926644579482,0.02826926644579484,0.001730733554205163
+14.4,0.01828640691352012,0.02828640691352014,0.001713593086479859
+14.8,0.01830170105807237,0.02830170105807239,0.001698298941927608
+15.2,0.01831534764150193,0.02831534764150195,0.001684652358498045
+15.6,0.01832752405671856,0.02832752405671858,0.001672475943281416
+16.,0.01833838860941428,0.0283383886094143,0.001661611390585699
+16.4,0.0183480825655735,0.02834808256557352,0.00165191743442648
+16.8,0.01835673199526009,0.0283567319952601,0.001643268004739894
+17.2,0.01836444940473742,0.02836444940473744,0.001635550595262559
+17.6,0.01837133519291026,0.02837133519291027,0.001628664807089726
+18.,0.01837747895193948,0.0283774789519395,0.001622521048060495
+18.4,0.01838296062857572,0.02838296062857574,0.001617039371424254
+18.8,0.01838785155776377,0.02838785155776378,0.001612148442236212
+19.2,0.01839221538659573,0.02839221538659574,0.001607784613404254
+19.6,0.01839610890364331,0.02839610890364333,0.00160389109635667
+20.,0.01839958279432377,0.02839958279432379,0.001600417205676212
diff --git a/models/sbml-test-suite/cases/semantic/00482/00482-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00482/00482-sbml-l2v4.xml
new file mode 100644
index 0000000..229580b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00482/00482-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00482" id="case00482" name="case00482">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00482/00482-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00482/00482-sbml-l3v1.xml
new file mode 100644
index 0000000..22e5f1f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00482/00482-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00482" id="case00482" name="case00482" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00482/00482-settings.txt b/models/sbml-test-suite/cases/semantic/00482/00482-settings.txt
new file mode 100644
index 0000000..d088026
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00482/00482-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00483/00483-results.csv b/models/sbml-test-suite/cases/semantic/00483/00483-results.csv
new file mode 100644
index 0000000..c0d2578
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00483/00483-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.04,0.0001095101185764676,0.0002095101185764676,0.00009048988142353235
+0.08,0.0001181144069761013,0.0002181144069761013,0.00008188559302389864
+0.12,0.0001258991045624842,0.0002258991045624841,0.00007410089543751581
+0.16,0.0001329422472244566,0.0002329422472244566,0.00006705775277554337
+0.2,0.0001393144473441123,0.0002393144473441122,0.0000606855526558877
+0.24,0.0001450795975853332,0.0002450795975853331,0.00005492040241466677
+0.28,0.0001502955115634881,0.000250295511563488,0.00004970448843651189
+0.32,0.0001550144988294679,0.0002550144988294678,0.00004498550117053205
+0.36,0.0001592838898097698,0.0002592838898097698,0.00004071611019023013
+0.4,0.0001631465107331705,0.0002631465107331705,0.00003685348926682944
+0.44,0.0001666411082704034,0.0002666411082704034,0.00003335889172959653
+0.48,0.0001698027370998253,0.0002698027370998253,0.0000301972629001746
+0.52,0.0001726631193465168,0.0002726631193465168,0.00002733688065348312
+0.56,0.0001752509575864146,0.0002752509575864146,0.00002474904241358534
+0.6,0.0001775922141720613,0.0002775922141720613,0.00002240778582793866
+0.64,0.0001797103795996962,0.0002797103795996962,0.00002028962040030372
+0.68,0.0001816267101448772,0.0002816267101448772,0.00001837328985512278
+0.72,0.000183360438730114,0.000283360438730114,0.00001663956126988592
+0.76,0.0001849289619520628,0.0002849289619520629,0.00001507103804793709
+0.8,0.0001863480191881212,0.0002863480191881212,0.00001365198081187878
+0.84,0.000187631852602794,0.000287631852602794,0.00001236814739720596
+0.88,0.0001887933487024983,0.0002887933487024983,0.00001120665129750166
+0.92,0.0001898441636842014,0.0002898441636842014,0.00001015583631579853
+0.96,0.0001907948427937522,0.0002907948427937523,9.205157206247701e-6
+1.,0.0001916549280575596,0.0002916549280575597,8.345071942440317e-6
+1.04,0.000192433053267449,0.000292433053267449,7.566946732550972e-6
+1.08,0.0001931370280627718,0.0002931370280627719,6.862971937228143e-6
+1.12,0.0001937739173878614,0.0002937739173878614,6.226082612138587e-6
+1.16,0.0001943501140110507,0.0002943501140110507,5.649885988949284e-6
+1.2,0.000194871402245999,0.000294871402245999,5.128597754000973e-6
+1.24,0.0001953430143920614,0.0002953430143920614,4.656985607938579e-6
+1.28,0.0001957696835944023,0.0002957696835944023,4.230316405597687e-6
+1.32,0.0001961556926390456,0.0002961556926390457,3.844307360954381e-6
+1.36,0.0001965049166983468,0.0002965049166983469,3.495083301653143e-6
+1.4,0.0001968208612364949,0.000296820861236495,3.17913876350503e-6
+1.44,0.0001971066971653863,0.0002971066971653864,2.893302834613715e-6
+1.48,0.0001973652936558759,0.0002973652936558759,2.63470634412409e-6
+1.52,0.0001975992468149745,0.0002975992468149746,2.400753185025482e-6
+1.56,0.0001978109051517587,0.0002978109051517588,2.189094848241248e-6
+1.6,0.0001980023929607041,0.0002980023929607041,1.99760703929589e-6
+1.64,0.0001981756323660526,0.0002981756323660527,1.824367633947354e-6
+1.68,0.0001983323625653751,0.0002983323625653751,1.667637434624925e-6
+1.72,0.0001984741569406032,0.0002984741569406032,1.525843059396827e-6
+1.76,0.0001986024386182384,0.0002986024386182384,1.397561381761635e-6
+1.8,0.0001987184952639373,0.0002987184952639372,1.28150473606269e-6
+1.84,0.0001988234920004547,0.0002988234920004546,1.176507999545304e-6
+1.88,0.0001989184829041932,0.0002989184829041932,1.081517095806791e-6
+1.92,0.0001990044213682375,0.0002990044213682375,9.955786317624691e-7
+1.96,0.0001990821700184052,0.0002990821700184051,9.1782998159485e-7
+2.,0.0001991525093891395,0.0002991525093891395,8.474906108604775e-7
diff --git a/models/sbml-test-suite/cases/semantic/00483/00483-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00483/00483-sbml-l2v4.xml
new file mode 100644
index 0000000..5f6554d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00483/00483-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00483" id="case00483" name="case00483">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00483/00483-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00483/00483-sbml-l3v1.xml
new file mode 100644
index 0000000..fa5ff1d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00483/00483-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00483" id="case00483" name="case00483" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00483/00483-settings.txt b/models/sbml-test-suite/cases/semantic/00483/00483-settings.txt
new file mode 100644
index 0000000..13c40dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00483/00483-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00484/00484-results.csv b/models/sbml-test-suite/cases/semantic/00484/00484-results.csv
new file mode 100644
index 0000000..1e6deac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00484/00484-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.04,0.1036416406743627,0.2036416406743627,0.09635835932563723
+0.08,0.1066467469152094,0.2066467469152094,0.0933532530847906
+0.12,0.1091220870109462,0.2091220870109462,0.0908779129890538
+0.16,0.1111580088285158,0.2111580088285159,0.08884199117148412
+0.2,0.1128304590105423,0.2128304590105423,0.08716954098945768
+0.24,0.1142029420257243,0.2142029420257243,0.08579705797427564
+0.28,0.1153283262481728,0.2153283262481728,0.08467167375182713
+0.32,0.1162504725415778,0.2162504725415778,0.08374952745842212
+0.36,0.1170056623262399,0.2170056623262399,0.08299433767376009
+0.4,0.1176238421083025,0.2176238421083025,0.08237615789169747
+0.44,0.1181296801013525,0.2181296801013525,0.08187031989864747
+0.48,0.1185434657621564,0.2185434657621564,0.08145653423784354
+0.52,0.1188818660667392,0.2188818660667392,0.08111813393326076
+0.56,0.1191585586526908,0.2191585586526908,0.08084144134730919
+0.6,0.1193847579558449,0.219384757955845,0.08061524204415507
+0.64,0.1195696531380428,0.2195696531380429,0.08043034686195714
+0.68,0.1197207696832034,0.2197207696832034,0.08027923031679661
+0.72,0.1198442672716129,0.2198442672716129,0.08015573272838702
+0.76,0.1199451861814829,0.2199451861814829,0.08005481381851706
+0.8,0.1200276493747967,0.2200276493747967,0.07997235062520323
+0.84,0.1200950287114202,0.2200950287114202,0.0799049712885798
+0.88,0.1201500809060921,0.2201500809060921,0.07984991909390791
+0.92,0.1201950596145247,0.2201950596145247,0.07980494038547525
+0.96,0.1202318074059472,0.2202318074059472,0.07976819259405275
+1.,0.1202618295928544,0.2202618295928544,0.07973817040714555
+1.04,0.1202863566995327,0.2202863566995328,0.07971364330046722
+1.08,0.1203063943298731,0.2203063943298731,0.07969360567012688
+1.12,0.1203227638986756,0.2203227638986756,0.07967723610132439
+1.16,0.1203361368247746,0.2203361368247747,0.07966386317522535
+1.2,0.1203470616155148,0.2203470616155148,0.07965293838448521
+1.24,0.1203559862839993,0.2203559862839994,0.07964401371600067
+1.28,0.1203632770731488,0.2203632770731489,0.07963672292685118
+1.32,0.120369233023396,0.220369233023396,0.07963076697660401
+1.36,0.1203740985216276,0.2203740985216277,0.07962590147837236
+1.4,0.1203780732169535,0.2203780732169536,0.07962192678304647
+1.44,0.1203813201637783,0.2203813201637785,0.07961867983622161
+1.48,0.1203839726457199,0.22038397264572,0.07961602735428005
+1.52,0.120386139457077,0.2203861394570771,0.07961386054292295
+1.56,0.1203879095393235,0.2203879095393236,0.07961209046067642
+1.6,0.1203893555386551,0.2203893555386552,0.07961064446134487
+1.64,0.120390536770207,0.2203905367702071,0.07960946322979292
+1.68,0.1203915017261016,0.2203915017261017,0.07960849827389833
+1.72,0.1203922900053344,0.2203922900053345,0.07960770999466558
+1.76,0.1203929339465413,0.2203929339465413,0.0796070660534587
+1.8,0.1203934599870166,0.2203934599870166,0.0796065400129834
+1.84,0.1203938897114445,0.2203938897114446,0.07960611028855542
+1.88,0.1203942407509345,0.2203942407509346,0.07960575924906547
+1.92,0.1203945275181756,0.2203945275181758,0.07960547248182432
+1.96,0.120394761778413,0.2203947617784131,0.07960523822158695
+2.,0.1203949531446493,0.2203949531446494,0.07960504685535067
diff --git a/models/sbml-test-suite/cases/semantic/00484/00484-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00484/00484-sbml-l2v4.xml
new file mode 100644
index 0000000..2a851d2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00484/00484-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00484" id="case00484" name="case00484">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="3.5" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00484/00484-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00484/00484-sbml-l3v1.xml
new file mode 100644
index 0000000..85844f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00484/00484-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00484" id="case00484" name="case00484" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="3.5" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00484/00484-settings.txt b/models/sbml-test-suite/cases/semantic/00484/00484-settings.txt
new file mode 100644
index 0000000..8486744
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00484/00484-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00485/00485-results.csv b/models/sbml-test-suite/cases/semantic/00485/00485-results.csv
new file mode 100644
index 0000000..10b56a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00485/00485-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.04,0.001094548868370557,0.002094548868370556,0.0009054511316294425
+0.08,0.001180018489537321,0.002180018489537321,0.0008199815104626784
+0.12,0.001257276749947908,0.002257276749947907,0.0007427232500520923
+0.16,0.001327109297392764,0.002327109297392764,0.0006728907026072352
+0.2,0.001390227209188272,0.002390227209188272,0.0006097727908117275
+0.24,0.001447273964893218,0.002447273964893218,0.000552726035106781
+0.28,0.001498831750814902,0.002498831750814902,0.0005011682491850973
+0.32,0.001545427271625132,0.002545427271625131,0.0004545727283748677
+0.36,0.001587536949650162,0.002587536949650161,0.0004124630503498378
+0.4,0.001625591690011979,0.002625591690011979,0.0003744083099880204
+0.44,0.001659981183891414,0.002659981183891414,0.0003400188161085853
+0.48,0.001691057760160187,0.002691057760160186,0.0003089422398398129
+0.52,0.00171914007624598,0.002719140076245979,0.0002808599237540201
+0.56,0.001744516233334361,0.00274451623333436,0.0002554837666656388
+0.6,0.001767446616075016,0.002767446616075014,0.0002325533839249845
+0.64,0.001788166665722214,0.002788166665722212,0.0002118333342777862
+0.68,0.001806889246966971,0.002806889246966969,0.0001931107530330293
+0.72,0.001823806724161922,0.00282380672416192,0.0001761932758380784
+0.76,0.001839092942881498,0.002839092942881496,0.000160907057118503
+0.8,0.001852905086286701,0.0028529050862867,0.0001470949137132994
+0.84,0.001865385198940051,0.00286538519894005,0.0001346148010599494
+0.88,0.001876661657105431,0.00287666165710543,0.0001233383428945693
+0.92,0.001886850480388174,0.002886850480388173,0.0001131495196118263
+0.96,0.001896056518168189,0.002896056518168188,0.000103943481831811
+1.,0.001904374522535114,0.002904374522535113,0.00009562547746488618
+1.04,0.001911890117071995,0.002911890117071994,0.00008810988292800557
+1.08,0.001918680675510383,0.002918680675510381,0.00008131932448961823
+1.12,0.001924816116735257,0.002924816116735255,0.00007518388326474388
+1.16,0.001930359621961257,0.002930359621961256,0.00006964037803874354
+1.2,0.001935368283084505,0.002935368283084504,0.00006463171691549612
+1.24,0.001939893688811508,0.002939893688811507,0.00006010631118849289
+1.28,0.00194398245450666,0.002943982454506659,0.00005601754549334084
+1.32,0.001947676701137943,0.002947676701137941,0.00005232329886205835
+1.36,0.001951014488190701,0.0029510144881907,0.00004898551180929978
+1.4,0.001954030204957101,0.002954030204957099,0.00004596979504290039
+1.44,0.001956754924189821,0.00295675492418982,0.00004324507581017932
+1.48,0.001959216721619654,0.002959216721619653,0.00004078327838034656
+1.52,0.001961440964320688,0.002961440964320687,0.00003855903567931242
+1.56,0.001963450572407742,0.002963450572407741,0.00003654942759225839
+1.6,0.001965266255204843,0.002965266255204841,0.00003473374479515766
+1.64,0.001966906724374272,0.002966906724374271,0.00003309327562572796
+1.68,0.00196838888651962,0.002968388886519619,0.00003161111348038019
+1.72,0.00196972801723611,0.002969728017236109,0.0000302719827638899
+1.76,0.001970937918392364,0.002970937918392363,0.000029062081607636
+1.8,0.001972031060256689,0.002972031060256688,0.00002796893974331091
+1.84,0.001973018709926243,0.002973018709926242,0.0000269812900737568
+1.88,0.001973911047377438,0.002973911047377437,0.00002608895262256219
+1.92,0.001974717270329327,0.002974717270329325,0.00002528272967067308
+1.96,0.001975445688830937,0.002975445688830936,0.00002455431116906244
+2.,0.001976103810860182,0.002976103810860181,0.00002389618913981768
diff --git a/models/sbml-test-suite/cases/semantic/00485/00485-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00485/00485-sbml-l2v4.xml
new file mode 100644
index 0000000..34a02a6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00485/00485-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00485" id="case00485" name="case00485">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00485/00485-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00485/00485-sbml-l3v1.xml
new file mode 100644
index 0000000..6ea6e5d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00485/00485-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00485" id="case00485" name="case00485" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00485/00485-settings.txt b/models/sbml-test-suite/cases/semantic/00485/00485-settings.txt
new file mode 100644
index 0000000..f6c6ebf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00485/00485-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00486/00486-results.csv b/models/sbml-test-suite/cases/semantic/00486/00486-results.csv
new file mode 100644
index 0000000..acd580a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00486/00486-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.04,0.8238474395895288,1.823847439589528,1.176152560410471
+0.08,0.709663046394285,1.709663046394285,1.290336953605715
+0.12,0.6331572789174196,1.63315727891742,1.36684272108258
+0.16,0.5807542072758981,1.580754207275898,1.419245792724101
+0.2,0.5443161544917991,1.544316154491799,1.4556838455082
+0.24,0.5187133483908714,1.518713348390871,1.481286651609128
+0.28,0.5005915643629849,1.500591564362985,1.499408435637015
+0.32,0.4876982828026714,1.487698282802671,1.512301717197328
+0.36,0.4784911400588866,1.478491140058886,1.521508859941113
+0.4,0.471898986127481,1.471898986127481,1.528101013872518
+0.44,0.4671702291022553,1.467170229102255,1.532829770897744
+0.48,0.4637735701968835,1.463773570196883,1.536226429803116
+0.52,0.4613313896383347,1.461331389638335,1.538668610361664
+0.56,0.4595742500590631,1.459574250059063,1.540425749940936
+0.6,0.4583093635371696,1.45830936353717,1.54169063646283
+0.64,0.4573984976429042,1.457398497642904,1.542601502357095
+0.68,0.4567423983583007,1.4567423983583,1.543257601641699
+0.72,0.4562697201397586,1.456269720139759,1.543730279860241
+0.76,0.4559291388998173,1.455929138899817,1.544070861100182
+0.8,0.4556837144055112,1.455683714405511,1.544316285594488
+0.84,0.455506848045082,1.455506848045082,1.544493151954917
+0.88,0.4553793819298467,1.455379381929847,1.544620618070152
+0.92,0.4552875146528864,1.455287514652887,1.544712485347113
+0.96,0.4552213028858084,1.455221302885809,1.544778697114191
+1.,0.455173580621343,1.455173580621343,1.544826419378656
+1.04,0.4551391842924953,1.455139184292495,1.544860815707504
+1.08,0.4551143926227475,1.455114392622747,1.544885607377252
+1.12,0.4550965234886573,1.455096523488657,1.544903476511342
+1.16,0.4550836438126545,1.455083643812655,1.544916356187344
+1.2,0.4550743604143566,1.455074360414357,1.544925639585642
+1.24,0.4550676691354066,1.455067669135407,1.544932330864593
+1.28,0.4550628461940121,1.455062846194012,1.544937153805987
+1.32,0.4550593699035341,1.455059369903534,1.544940630096465
+1.36,0.4550568642458812,1.455056864245881,1.544943135754118
+1.4,0.4550550582042158,1.455055058204215,1.544944941795784
+1.44,0.4550537564364532,1.455053756436453,1.544946243563547
+1.48,0.4550528181483133,1.455052818148312,1.544947181851687
+1.52,0.4550521418443868,1.455052141844386,1.544947858155613
+1.56,0.4550516543741542,1.455051654374154,1.544948345625845
+1.6,0.4550513030122209,1.455051303012221,1.544948696987779
+1.64,0.4550510497533431,1.455051049753343,1.544948950246656
+1.68,0.4550508672115801,1.45505086721158,1.544949132788419
+1.72,0.455050735637557,1.455050735637557,1.544949264362442
+1.76,0.4550506407998601,1.45505064079986,1.544949359200139
+1.8,0.455050572443609,1.455050572443608,1.544949427556391
+1.84,0.455050523172696,1.455050523172696,1.544949476827304
+1.88,0.4550504876588111,1.455050487658811,1.544949512341188
+1.92,0.4550504620614576,1.455050462061457,1.544949537938542
+1.96,0.4550504436109548,1.455050443610954,1.544949556389045
+2.,0.455050430312284,1.455050430312283,1.544949569687716
diff --git a/models/sbml-test-suite/cases/semantic/00486/00486-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00486/00486-sbml-l2v4.xml
new file mode 100644
index 0000000..f0222e8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00486/00486-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00486" id="case00486" name="case00486">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.5"/>
+      <parameter id="k2" name="k2" value="1.5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00486/00486-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00486/00486-sbml-l3v1.xml
new file mode 100644
index 0000000..5c77161
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00486/00486-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00486" id="case00486" name="case00486" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.5" constant="true"/>
+      <parameter id="k2" name="k2" value="1.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00486/00486-settings.txt b/models/sbml-test-suite/cases/semantic/00486/00486-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00486/00486-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00487/00487-results.csv b/models/sbml-test-suite/cases/semantic/00487/00487-results.csv
new file mode 100644
index 0000000..acd580a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00487/00487-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.04,0.8238474395895288,1.823847439589528,1.176152560410471
+0.08,0.709663046394285,1.709663046394285,1.290336953605715
+0.12,0.6331572789174196,1.63315727891742,1.36684272108258
+0.16,0.5807542072758981,1.580754207275898,1.419245792724101
+0.2,0.5443161544917991,1.544316154491799,1.4556838455082
+0.24,0.5187133483908714,1.518713348390871,1.481286651609128
+0.28,0.5005915643629849,1.500591564362985,1.499408435637015
+0.32,0.4876982828026714,1.487698282802671,1.512301717197328
+0.36,0.4784911400588866,1.478491140058886,1.521508859941113
+0.4,0.471898986127481,1.471898986127481,1.528101013872518
+0.44,0.4671702291022553,1.467170229102255,1.532829770897744
+0.48,0.4637735701968835,1.463773570196883,1.536226429803116
+0.52,0.4613313896383347,1.461331389638335,1.538668610361664
+0.56,0.4595742500590631,1.459574250059063,1.540425749940936
+0.6,0.4583093635371696,1.45830936353717,1.54169063646283
+0.64,0.4573984976429042,1.457398497642904,1.542601502357095
+0.68,0.4567423983583007,1.4567423983583,1.543257601641699
+0.72,0.4562697201397586,1.456269720139759,1.543730279860241
+0.76,0.4559291388998173,1.455929138899817,1.544070861100182
+0.8,0.4556837144055112,1.455683714405511,1.544316285594488
+0.84,0.455506848045082,1.455506848045082,1.544493151954917
+0.88,0.4553793819298467,1.455379381929847,1.544620618070152
+0.92,0.4552875146528864,1.455287514652887,1.544712485347113
+0.96,0.4552213028858084,1.455221302885809,1.544778697114191
+1.,0.455173580621343,1.455173580621343,1.544826419378656
+1.04,0.4551391842924953,1.455139184292495,1.544860815707504
+1.08,0.4551143926227475,1.455114392622747,1.544885607377252
+1.12,0.4550965234886573,1.455096523488657,1.544903476511342
+1.16,0.4550836438126545,1.455083643812655,1.544916356187344
+1.2,0.4550743604143566,1.455074360414357,1.544925639585642
+1.24,0.4550676691354066,1.455067669135407,1.544932330864593
+1.28,0.4550628461940121,1.455062846194012,1.544937153805987
+1.32,0.4550593699035341,1.455059369903534,1.544940630096465
+1.36,0.4550568642458812,1.455056864245881,1.544943135754118
+1.4,0.4550550582042158,1.455055058204215,1.544944941795784
+1.44,0.4550537564364532,1.455053756436453,1.544946243563547
+1.48,0.4550528181483133,1.455052818148312,1.544947181851687
+1.52,0.4550521418443868,1.455052141844386,1.544947858155613
+1.56,0.4550516543741542,1.455051654374154,1.544948345625845
+1.6,0.4550513030122209,1.455051303012221,1.544948696987779
+1.64,0.4550510497533431,1.455051049753343,1.544948950246656
+1.68,0.4550508672115801,1.45505086721158,1.544949132788419
+1.72,0.455050735637557,1.455050735637557,1.544949264362442
+1.76,0.4550506407998601,1.45505064079986,1.544949359200139
+1.8,0.455050572443609,1.455050572443608,1.544949427556391
+1.84,0.455050523172696,1.455050523172696,1.544949476827304
+1.88,0.4550504876588111,1.455050487658811,1.544949512341188
+1.92,0.4550504620614576,1.455050462061457,1.544949537938542
+1.96,0.4550504436109548,1.455050443610954,1.544949556389045
+2.,0.455050430312284,1.455050430312283,1.544949569687716
diff --git a/models/sbml-test-suite/cases/semantic/00487/00487-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00487/00487-sbml-l2v4.xml
new file mode 100644
index 0000000..46d4679
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00487/00487-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00487" id="case00487" name="case00487">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="3.5" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.5"/>
+      <parameter id="k2" name="k2" value="1.5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00487/00487-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00487/00487-sbml-l3v1.xml
new file mode 100644
index 0000000..2f26682
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00487/00487-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00487" id="case00487" name="case00487" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="3.5" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.5" constant="true"/>
+      <parameter id="k2" name="k2" value="1.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00487/00487-settings.txt b/models/sbml-test-suite/cases/semantic/00487/00487-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00487/00487-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00488/00488-results.csv b/models/sbml-test-suite/cases/semantic/00488/00488-results.csv
new file mode 100644
index 0000000..acd580a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00488/00488-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.04,0.8238474395895288,1.823847439589528,1.176152560410471
+0.08,0.709663046394285,1.709663046394285,1.290336953605715
+0.12,0.6331572789174196,1.63315727891742,1.36684272108258
+0.16,0.5807542072758981,1.580754207275898,1.419245792724101
+0.2,0.5443161544917991,1.544316154491799,1.4556838455082
+0.24,0.5187133483908714,1.518713348390871,1.481286651609128
+0.28,0.5005915643629849,1.500591564362985,1.499408435637015
+0.32,0.4876982828026714,1.487698282802671,1.512301717197328
+0.36,0.4784911400588866,1.478491140058886,1.521508859941113
+0.4,0.471898986127481,1.471898986127481,1.528101013872518
+0.44,0.4671702291022553,1.467170229102255,1.532829770897744
+0.48,0.4637735701968835,1.463773570196883,1.536226429803116
+0.52,0.4613313896383347,1.461331389638335,1.538668610361664
+0.56,0.4595742500590631,1.459574250059063,1.540425749940936
+0.6,0.4583093635371696,1.45830936353717,1.54169063646283
+0.64,0.4573984976429042,1.457398497642904,1.542601502357095
+0.68,0.4567423983583007,1.4567423983583,1.543257601641699
+0.72,0.4562697201397586,1.456269720139759,1.543730279860241
+0.76,0.4559291388998173,1.455929138899817,1.544070861100182
+0.8,0.4556837144055112,1.455683714405511,1.544316285594488
+0.84,0.455506848045082,1.455506848045082,1.544493151954917
+0.88,0.4553793819298467,1.455379381929847,1.544620618070152
+0.92,0.4552875146528864,1.455287514652887,1.544712485347113
+0.96,0.4552213028858084,1.455221302885809,1.544778697114191
+1.,0.455173580621343,1.455173580621343,1.544826419378656
+1.04,0.4551391842924953,1.455139184292495,1.544860815707504
+1.08,0.4551143926227475,1.455114392622747,1.544885607377252
+1.12,0.4550965234886573,1.455096523488657,1.544903476511342
+1.16,0.4550836438126545,1.455083643812655,1.544916356187344
+1.2,0.4550743604143566,1.455074360414357,1.544925639585642
+1.24,0.4550676691354066,1.455067669135407,1.544932330864593
+1.28,0.4550628461940121,1.455062846194012,1.544937153805987
+1.32,0.4550593699035341,1.455059369903534,1.544940630096465
+1.36,0.4550568642458812,1.455056864245881,1.544943135754118
+1.4,0.4550550582042158,1.455055058204215,1.544944941795784
+1.44,0.4550537564364532,1.455053756436453,1.544946243563547
+1.48,0.4550528181483133,1.455052818148312,1.544947181851687
+1.52,0.4550521418443868,1.455052141844386,1.544947858155613
+1.56,0.4550516543741542,1.455051654374154,1.544948345625845
+1.6,0.4550513030122209,1.455051303012221,1.544948696987779
+1.64,0.4550510497533431,1.455051049753343,1.544948950246656
+1.68,0.4550508672115801,1.45505086721158,1.544949132788419
+1.72,0.455050735637557,1.455050735637557,1.544949264362442
+1.76,0.4550506407998601,1.45505064079986,1.544949359200139
+1.8,0.455050572443609,1.455050572443608,1.544949427556391
+1.84,0.455050523172696,1.455050523172696,1.544949476827304
+1.88,0.4550504876588111,1.455050487658811,1.544949512341188
+1.92,0.4550504620614576,1.455050462061457,1.544949537938542
+1.96,0.4550504436109548,1.455050443610954,1.544949556389045
+2.,0.455050430312284,1.455050430312283,1.544949569687716
diff --git a/models/sbml-test-suite/cases/semantic/00488/00488-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00488/00488-sbml-l2v4.xml
new file mode 100644
index 0000000..495daea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00488/00488-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00488" id="case00488" name="case00488">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.5"/>
+      <parameter id="k2" name="k2" value="1.5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00488/00488-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00488/00488-sbml-l3v1.xml
new file mode 100644
index 0000000..ef97a12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00488/00488-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00488" id="case00488" name="case00488" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="3.5" constant="true"/>
+      <parameter id="k2" name="k2" value="1.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00488/00488-settings.txt b/models/sbml-test-suite/cases/semantic/00488/00488-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00488/00488-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00489/00489-results.csv b/models/sbml-test-suite/cases/semantic/00489/00489-results.csv
new file mode 100644
index 0000000..309e50b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00489/00489-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0025,0.02,0.01
+0.4,0.003434160280238639,0.02093416028023864,0.009065839719761359
+0.8,0.004273274669305341,0.02177327466930534,0.008226725330694659
+1.2,0.005026633491381543,0.02252663349138155,0.007473366508618457
+1.6,0.005702694557587829,0.02320269455758783,0.006797305442412172
+2.,0.006309142412257564,0.02380914241225756,0.006190857587742438
+2.4,0.006852946752585116,0.02435294675258512,0.005647053247414886
+2.8,0.007340419007742995,0.024840419007743,0.005159580992257007
+3.2,0.007777266516856155,0.02527726651685616,0.004722733483143846
+3.6,0.00816864396916688,0.02566864396916689,0.004331356030833123
+4.,0.00851920170835476,0.02601920170835476,0.003980798291645241
+4.4,0.008833130867179335,0.02633313086717934,0.003666869132820669
+4.8,0.009114205605057991,0.02661420560505799,0.003385794394942011
+5.2,0.009365821957455526,0.02686582195745553,0.003134178042544476
+5.6,0.009591032984522232,0.02709103298452224,0.002908967015477769
+6.,0.009792582813476422,0.02729258281347643,0.002707417186523577
+6.4,0.009972935099142403,0.02747293509914242,0.002527064900857598
+6.8,0.01013430210871544,0.02763430210871546,0.002365697891284557
+7.2,0.01027866807430899,0.02777866807430901,0.002221331925691005
+7.6,0.01040781316387499,0.02790781316387501,0.002092186836125005
+8.,0.0105233330428459,0.02802333304284592,0.001976666957154103
+8.4,0.01062665820860237,0.02812665820860239,0.001873341791397633
+8.8,0.01071906999020618,0.02821906999020621,0.001780930009793815
+9.2,0.0108017166865221,0.02830171668652212,0.001698283313477898
+9.6,0.01087562646457863,0.02837562646457866,0.001624373535421362
+10.,0.01094171987447885,0.02844171987447887,0.001558280125521148
+10.4,0.01100082137451102,0.02850082137451105,0.00149917862548898
+10.8,0.01105366869085118,0.02855366869085121,0.001446331309148822
+11.2,0.01110092203302709,0.02860092203302712,0.001399077966972909
+11.6,0.01114317240226012,0.02864317240226015,0.001356827597739879
+12.,0.01118094856577153,0.02868094856577156,0.001319051434228466
+12.4,0.01121472357645447,0.0287147235764545,0.00128527642354553
+12.8,0.01124492058301016,0.02874492058301019,0.00125507941698984
+13.2,0.01127191811806488,0.0287719181180649,0.001228081881935121
+13.6,0.01129605478021518,0.02879605478021521,0.001203945219784822
+14.,0.01131763342390099,0.02881763342390102,0.001182366576099011
+14.4,0.01133692491556855,0.02883692491556859,0.001163075084431448
+14.8,0.01135417147923433,0.02885417147923436,0.001145828520765666
+15.2,0.0113695897188048,0.02886958971880484,0.001130410281195196
+15.6,0.01138337332084068,0.02888337332084071,0.001116626679159321
+16.,0.01139569548243621,0.02889569548243625,0.00110430451756379
+16.4,0.01140671107296898,0.02890671107296902,0.001093288927031015
+16.8,0.01141655856877477,0.02891655856877481,0.001083441431225229
+17.2,0.01142536178453576,0.0289253617845358,0.001074638215464235
+17.6,0.01143323142256019,0.02893323142256022,0.00106676857743981
+18.,0.01144026645890218,0.02894026645890222,0.001059733541097818
+18.4,0.01144655538001805,0.02894655538001809,0.001053444619981944
+18.8,0.01145217729211284,0.02895217729211287,0.001047822707887162
+19.2,0.01145720291959875,0.02895720291959878,0.001042797080401249
+19.6,0.01146169548647733,0.02896169548647736,0.001038304513522668
+20.,0.01146571153177891,0.02896571153177894,0.001034288468221087
diff --git a/models/sbml-test-suite/cases/semantic/00489/00489-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00489/00489-sbml-l2v4.xml
new file mode 100644
index 0000000..ed1fa36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00489/00489-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00489" id="case00489" name="case00489">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.00125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00489/00489-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00489/00489-sbml-l3v1.xml
new file mode 100644
index 0000000..b8858ba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00489/00489-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00489" id="case00489" name="case00489" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.00125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00489/00489-settings.txt b/models/sbml-test-suite/cases/semantic/00489/00489-settings.txt
new file mode 100644
index 0000000..d088026
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00489/00489-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00490/00490-results.csv b/models/sbml-test-suite/cases/semantic/00490/00490-results.csv
new file mode 100644
index 0000000..9c07887
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00490/00490-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.000025,0.0002,0.0001
+0.4,0.00003451450594477665,0.0002095145059447767,0.00009048549405522332
+0.8,0.0000431229575071012,0.0002181229575071012,0.00008187704249289879
+1.2,0.00005091159686937578,0.0002259115968693757,0.0000740884031306242
+1.6,0.00005795846436857253,0.0002329584643685725,0.00006704153563142746
+2.,0.00006433417775445725,0.0002393341777544572,0.00006066582224554272
+2.4,0.00007010263646519843,0.0002451026364651983,0.00005489736353480155
+2.8,0.00007532166055666669,0.0002503216605566666,0.00004967833944333329
+3.2,0.00008004356782209842,0.0002550435678220983,0.00004495643217790154
+3.6,0.00008431569695635809,0.0002593156969563579,0.00004068430304364187
+4.,0.00008818088265981086,0.0002631808826598107,0.00003681911734018909
+4.4,0.00009167787752818745,0.0002666778775281872,0.0000333221224718125
+4.8,0.00009484174675407983,0.0002698417467540795,0.00003015825324592012
+5.2,0.00009770422463919683,0.0002727042246391965,0.00002729577536080311
+5.6,0.0001002940121248271,0.0002752940121248269,0.00002470598787517283
+6.,0.0001026370837636335,0.0002776370837636333,0.00002236291623636638
+6.4,0.0001047569434300626,0.0002797569434300623,0.0000202430565699373
+6.8,0.0001066748496369118,0.0002816748496369115,0.00001832515036308809
+7.2,0.0001084100391184009,0.0002834100391184006,0.000016589960881599
+7.6,0.0001099799199967493,0.000284979919996749,0.00001502008000325059
+8.,0.0001114002398239348,0.0002864002398239345,0.00001359976017606517
+8.4,0.0001126852445685531,0.0002876852445685529,0.00001231475543144679
+8.8,0.0001138478244250982,0.000288847824425098,0.00001115217557490174
+9.2,0.0001148996427442072,0.000289899642744207,0.00001010035725579274
+9.6,0.0001158512524833999,0.0002908512524833997,9.148747516600061e-6
+10.,0.0001167122001413487,0.0002917122001413486,8.287799858651219e-6
+10.4,0.0001174911220322038,0.0002924911220322036,7.508877967796168e-6
+10.8,0.0001181958324946835,0.0002931958324946833,6.80416750531643e-6
+11.2,0.0001188334020306808,0.0002938334020306806,6.166597969319138e-6
+11.6,0.0001194102278894798,0.0002944102278894796,5.58977211052015e-6
+12.,0.0001199320970240228,0.0002949320970240226,5.067902975977147e-6
+12.4,0.0001204042447483719,0.0002954042447483717,4.595755251628025e-6
+12.8,0.000120831408070496,0.0002958314080704958,4.168591929503931e-6
+13.2,0.0001212178730505196,0.0002962178730505195,3.782126949480313e-6
+13.6,0.0001215675175680464,0.0002965675175680463,3.432482431953475e-6
+14.,0.0001218838494721694,0.0002968838494721692,3.116150527830524e-6
+14.4,0.000122170042301369,0.0002971700423013689,2.829957698630907e-6
+14.8,0.0001224289675192149,0.0002974289675192148,2.571032480784968e-6
+15.2,0.0001226632232192991,0.000297663223219299,2.336776780700738e-6
+15.6,0.0001228751600295092,0.0002978751600295091,2.124839970490632e-6
+16.,0.0001230669042441606,0.0002980669042441605,1.933095755839302e-6
+16.4,0.0001232403795608977,0.0002982403795608976,1.75962043910216e-6
+16.8,0.0001233973265629042,0.0002983973265629041,1.60267343709568e-6
+17.2,0.0001235393201188141,0.0002985393201188141,1.460679881185722e-6
+17.6,0.0001236677850678906,0.0002986677850678906,1.332214932109238e-6
+18.,0.0001237840102572417,0.0002987840102572416,1.21598974275817e-6
+18.4,0.0001238891617578974,0.0002988891617578973,1.110838242102453e-6
+18.8,0.0001239842946405093,0.0002989842946405092,1.015705359490533e-6
+19.2,0.0001240703635230516,0.0002990703635230515,9.296364769482564e-7
+19.6,0.0001241482320424547,0.0002991482320424547,8.517679575451125e-7
+20.,0.0001242186814171372,0.0002992186814171373,7.81318582862607e-7
diff --git a/models/sbml-test-suite/cases/semantic/00490/00490-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00490/00490-sbml-l2v4.xml
new file mode 100644
index 0000000..a1e35f8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00490/00490-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00490" id="case00490" name="case00490">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2.5e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="1.25e-005"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00490/00490-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00490/00490-sbml-l3v1.xml
new file mode 100644
index 0000000..4ac6a83
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00490/00490-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00490" id="case00490" name="case00490" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="1.25e-005" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00490/00490-settings.txt b/models/sbml-test-suite/cases/semantic/00490/00490-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00490/00490-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00491/00491-results.csv b/models/sbml-test-suite/cases/semantic/00491/00491-results.csv
new file mode 100644
index 0000000..2ff09de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00491/00491-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.025,0.2,0.1
+0.4,0.03282014771901849,0.2078201477190186,0.09217985228098146
+0.8,0.0394040981076511,0.2144040981076512,0.08559590189234885
+1.2,0.04492531716998757,0.2199253171699877,0.08007468283001235
+1.6,0.04953995821860182,0.224539958218602,0.07546004178139811
+2.,0.05338616301570176,0.228386163015702,0.07161383698429818
+2.4,0.0565844649238682,0.2315844649238684,0.06841553507613173
+2.8,0.05923887826116531,0.2342388782611656,0.06576112173883459
+3.2,0.06143836869985948,0.2364383686998598,0.06356163130014043
+3.6,0.06325848489083148,0.2382584848908318,0.06174151510916845
+4.,0.06476300999223243,0.2397630099922328,0.06023699000776749
+4.4,0.06600553507950407,0.2410055350795044,0.05899446492049586
+4.8,0.06703091548477856,0.2420309154847789,0.05796908451522138
+5.2,0.06787657599994438,0.2428765759999446,0.05712342400005557
+5.6,0.06857366070207866,0.2435736607020789,0.05642633929792129
+6.,0.06914803172667045,0.2441480317266707,0.05585196827332951
+6.4,0.06962112723854214,0.2446211272385424,0.05537887276145783
+6.8,0.07001069272920516,0.2450106927292055,0.05498930727079481
+7.2,0.07033140118644075,0.245331401186441,0.05466859881355922
+7.6,0.0705953722149864,0.2455953722149867,0.05440462778501357
+8.,0.07081260877161844,0.2458126087716187,0.05418739122838153
+8.4,0.07099136146881951,0.2459913614688198,0.05400863853118047
+8.8,0.07113843224559585,0.2461384322455962,0.05386156775440414
+9.2,0.07125942491109886,0.2462594249110992,0.05374057508890112
+9.6,0.07135895665722258,0.2463589566572229,0.05364104334277738
+10.,0.0714408293887046,0.246440829388705,0.05355917061129537
+10.4,0.07150817234479946,0.2465081723447998,0.05349182765520051
+10.8,0.07156356232618368,0.246563562326184,0.05343643767381627
+11.2,0.07160911913629168,0.246609119136292,0.05339088086370827
+11.6,0.0716465873610412,0.2466465873610416,0.05335341263895874
+12.,0.07167740264065462,0.246677402640655,0.05332259735934533
+12.4,0.07170274558227376,0.2467027455822741,0.05329725441772618
+12.8,0.07172358781100696,0.2467235878110073,0.05327641218899301
+13.2,0.07174072838708379,0.2467407283870841,0.05325927161291617
+13.6,0.07175482451819384,0.2467548245181941,0.05324517548180613
+14.,0.0717664169530198,0.2467664169530201,0.05323358304698017
+14.4,0.07177595024888452,0.2467759502488849,0.05322404975111545
+14.8,0.07178379014947587,0.2467837901494762,0.05321620985052411
+15.2,0.0717902373905554,0.2467902373905557,0.05320976260944457
+15.6,0.07179553939301545,0.2467955393930158,0.05320446060698451
+16.,0.07179989951182336,0.2467998995118237,0.05320010048817662
+16.4,0.07180348512064324,0.2468034851206436,0.05319651487935674
+16.8,0.07180643374354937,0.2468064337435497,0.05319356625645058
+17.2,0.07180885856979209,0.2468088585697924,0.05319114143020787
+17.6,0.0718108526372552,0.2468108526372555,0.05318914736274476
+18.,0.07181249244968214,0.2468124924496825,0.05318750755031783
+18.4,0.07181384095529119,0.2468138409552915,0.05318615904470878
+18.8,0.07181494990751205,0.2468149499075124,0.05318505009248791
+19.2,0.07181586184789082,0.2468158618478912,0.05318413815210915
+19.6,0.07181661178005571,0.246816611780056,0.05318338821994424
+20.,0.0718172284894077,0.2468172284894081,0.05318277151059225
diff --git a/models/sbml-test-suite/cases/semantic/00491/00491-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00491/00491-sbml-l2v4.xml
new file mode 100644
index 0000000..fd7e4f7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00491/00491-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00491" id="case00491" name="case00491">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.0125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00491/00491-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00491/00491-sbml-l3v1.xml
new file mode 100644
index 0000000..d7fe579
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00491/00491-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00491" id="case00491" name="case00491" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.0125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00491/00491-settings.txt b/models/sbml-test-suite/cases/semantic/00491/00491-settings.txt
new file mode 100644
index 0000000..7baa566
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00491/00491-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00492/00492-results.csv b/models/sbml-test-suite/cases/semantic/00492/00492-results.csv
new file mode 100644
index 0000000..5ffdcfa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00492/00492-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.9999999200000063,1.49999988000001
+0.04,0.9801985948908856,1.51980120510913
+0.08,0.96078935936942,1.539210440630596
+0.12,0.9417644526099179,1.558235347390098
+0.16,0.9231162678870448,1.576883532112971
+0.2,0.904837344156503,1.595162455843513
+0.24,0.8869203660550297,1.613079433944986
+0.28,0.8693581634939632,1.630641636506053
+0.32,0.8521437159776629,1.647856084022353
+0.36,0.8352701406564155,1.6647296593436
+0.4,0.8187306864981601,1.681269113501856
+0.44,0.8025187342884881,1.697481065711528
+0.48,0.7866277962628856,1.71337200373713
+0.52,0.7710515200142016,1.728948279985814
+0.56,0.755783677682471,1.744216122317545
+0.6,0.7408181606812728,1.759181639318743
+0.64,0.7261489796977297,1.773850820302286
+0.68,0.7117702643597488,1.788229535640267
+0.72,0.6976762667716429,1.802323533228373
+0.76,0.6838613517326794,1.816138448267336
+0.8,0.6703199919652916,1.829679808034724
+0.84,0.6570467681150782,1.842953031884937
+0.88,0.6440363684497092,1.855963431550306
+0.92,0.6312835920580913,1.868716207941925
+0.96,0.6187833399997412,1.881216460000275
+1,0.606530610987095,1.893469189012921
+1.04,0.5945205013855075,1.905479298614508
+1.08,0.5827482049408103,1.917251595059206
+1.12,0.5712090156740364,1.928790784325979
+1.16,0.5598983198730431,1.940101480126973
+1.2,0.5488115921857024,1.951188207814314
+1.24,0.5379443956199015,1.962055404380114
+1.28,0.5272923812970271,1.972707418702989
+1.32,0.5168512910712197,1.983148508928796
+1.36,0.5066169502830951,1.993382849716921
+1.4,0.496585264224717,2.003414535775299
+1.44,0.486752218139597,2.013247581860419
+1.48,0.4771138769996375,2.022885923000378
+1.52,0.4676663878751326,2.032333412124884
+1.56,0.4584059733780624,2.041593826621953
+1.6,0.4493289284634691,2.050670871536547
+1.64,0.4404316204294563,2.059568179570559
+1.68,0.4317104887153596,2.068289311284656
+1.72,0.4231620470462103,2.076837752953806
+1.76,0.4147828774999847,2.085216922500031
+1.8,0.4065696276133684,2.093430172386648
+1.84,0.3985190103817558,2.10148078961826
+1.88,0.3906278047559828,2.109371995244033
+1.92,0.3828928557444274,2.117106944255588
+1.96,0.3753110696340091,2.124688730366007
+2,0.3678794128598854,2.13212038714013
diff --git a/models/sbml-test-suite/cases/semantic/00492/00492-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00492/00492-sbml-l2v4.xml
new file mode 100644
index 0000000..30fc2b4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00492/00492-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00492" id="case00492" name="case00492">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="5.4" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 9 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00492/00492-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00492/00492-sbml-l3v1.xml
new file mode 100644
index 0000000..e1f709d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00492/00492-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00492" id="case00492" name="case00492" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="5.4" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 9 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00492/00492-settings.txt b/models/sbml-test-suite/cases/semantic/00492/00492-settings.txt
new file mode 100644
index 0000000..8b0405c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00492/00492-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00493/00493-results.csv b/models/sbml-test-suite/cases/semantic/00493/00493-results.csv
new file mode 100644
index 0000000..1c298c1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00493/00493-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,1.5
+0.04,0.9801986733067735,1.519801326693227
+0.08,0.9607894362325691,1.539210563767431
+0.12,0.9417645279510744,1.558235472048926
+0.16,0.9231163417363465,1.576883658263654
+0.2,0.9048374165434907,1.59516258345651
+0.24,0.8869204370086591,1.613079562991341
+0.28,0.8693582330426164,1.630641766957384
+0.32,0.8521437841491604,1.64785621585084
+0.36,0.8352702074780269,1.664729792521973
+0.4,0.8187307519966152,1.681269248003385
+0.44,0.8025187984899872,1.697481201510013
+0.48,0.7866278591931095,1.713372140806891
+0.52,0.7710515816983234,1.728948418301677
+0.56,0.7557837381451655,1.744216261854834
+0.6,0.7408182199467259,1.759181780053274
+0.64,0.7261490377896486,1.773850962210352
+0.68,0.7117703213013702,1.78822967869863
+0.72,0.6976763225857443,1.802323677414256
+0.76,0.6838614064415877,1.816138593558412
+0.8,0.670320045590891,1.829679954409109
+0.84,0.6570468206788198,1.84295317932118
+0.88,0.644036419972619,1.855963580027381
+0.92,0.6312836425607787,1.868716357439221
+0.96,0.6187833895024085,1.881216610497591
+1,0.6065306595095441,1.893469340490456
+1.04,0.5945205489471478,1.905479451052852
+1.08,0.5827482515606669,1.917251748439333
+1.12,0.5712090613707579,1.928790938629242
+1.16,0.5598983646649087,1.940101635335091
+1.2,0.5488116360906299,1.95118836390937
+1.24,0.5379444386554534,1.962055561344547
+1.28,0.5272924234804177,1.972707576519582
+1.32,0.5168513324193231,1.983148667580677
+1.36,0.5066169908124514,1.993383009187549
+1.4,0.4965853039515384,2.003414696048462
+1.44,0.4867522570797745,2.013247742920226
+1.48,0.4771139151687479,2.022886084831252
+1.52,0.4676664252884438,2.032333574711557
+1.56,0.4584060100505404,2.04159398994946
+1.6,0.4493289644097835,2.050671035590217
+1.64,0.4404316556639861,2.059568344336014
+1.68,0.4317105232521988,2.068289476747801
+1.72,0.4231620808991742,2.076837919100826
+1.76,0.414782910682615,2.085217089317385
+1.8,0.4065696601389388,2.093430339861061
+1.84,0.3985190422632768,2.101480957736723
+1.88,0.3906278360062073,2.109372163993793
+1.92,0.3828928863758561,2.117107113624144
+1.96,0.3753110996588948,2.124688900341105
+2,0.3678794422902385,2.132120557709762
diff --git a/models/sbml-test-suite/cases/semantic/00493/00493-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00493/00493-sbml-l2v4.xml
new file mode 100644
index 0000000..dd0aa7b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00493/00493-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00493" id="case00493" name="case00493">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 10 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00493/00493-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00493/00493-sbml-l3v1.xml
new file mode 100644
index 0000000..e10817b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00493/00493-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00493" id="case00493" name="case00493" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 10 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00493/00493-settings.txt b/models/sbml-test-suite/cases/semantic/00493/00493-settings.txt
new file mode 100644
index 0000000..8b0405c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00493/00493-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00494/00494-results.csv b/models/sbml-test-suite/cases/semantic/00494/00494-results.csv
new file mode 100644
index 0000000..5ffdcfa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00494/00494-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.9999999200000063,1.49999988000001
+0.04,0.9801985948908856,1.51980120510913
+0.08,0.96078935936942,1.539210440630596
+0.12,0.9417644526099179,1.558235347390098
+0.16,0.9231162678870448,1.576883532112971
+0.2,0.904837344156503,1.595162455843513
+0.24,0.8869203660550297,1.613079433944986
+0.28,0.8693581634939632,1.630641636506053
+0.32,0.8521437159776629,1.647856084022353
+0.36,0.8352701406564155,1.6647296593436
+0.4,0.8187306864981601,1.681269113501856
+0.44,0.8025187342884881,1.697481065711528
+0.48,0.7866277962628856,1.71337200373713
+0.52,0.7710515200142016,1.728948279985814
+0.56,0.755783677682471,1.744216122317545
+0.6,0.7408181606812728,1.759181639318743
+0.64,0.7261489796977297,1.773850820302286
+0.68,0.7117702643597488,1.788229535640267
+0.72,0.6976762667716429,1.802323533228373
+0.76,0.6838613517326794,1.816138448267336
+0.8,0.6703199919652916,1.829679808034724
+0.84,0.6570467681150782,1.842953031884937
+0.88,0.6440363684497092,1.855963431550306
+0.92,0.6312835920580913,1.868716207941925
+0.96,0.6187833399997412,1.881216460000275
+1,0.606530610987095,1.893469189012921
+1.04,0.5945205013855075,1.905479298614508
+1.08,0.5827482049408103,1.917251595059206
+1.12,0.5712090156740364,1.928790784325979
+1.16,0.5598983198730431,1.940101480126973
+1.2,0.5488115921857024,1.951188207814314
+1.24,0.5379443956199015,1.962055404380114
+1.28,0.5272923812970271,1.972707418702989
+1.32,0.5168512910712197,1.983148508928796
+1.36,0.5066169502830951,1.993382849716921
+1.4,0.496585264224717,2.003414535775299
+1.44,0.486752218139597,2.013247581860419
+1.48,0.4771138769996375,2.022885923000378
+1.52,0.4676663878751326,2.032333412124884
+1.56,0.4584059733780624,2.041593826621953
+1.6,0.4493289284634691,2.050670871536547
+1.64,0.4404316204294563,2.059568179570559
+1.68,0.4317104887153596,2.068289311284656
+1.72,0.4231620470462103,2.076837752953806
+1.76,0.4147828774999847,2.085216922500031
+1.8,0.4065696276133684,2.093430172386648
+1.84,0.3985190103817558,2.10148078961826
+1.88,0.3906278047559828,2.109371995244033
+1.92,0.3828928557444274,2.117106944255588
+1.96,0.3753110696340091,2.124688730366007
+2,0.3678794128598854,2.13212038714013
diff --git a/models/sbml-test-suite/cases/semantic/00494/00494-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00494/00494-sbml-l2v4.xml
new file mode 100644
index 0000000..5a14f94
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00494/00494-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00494" id="case00494" name="case00494">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 9 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00494/00494-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00494/00494-sbml-l3v1.xml
new file mode 100644
index 0000000..69fde85
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00494/00494-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00494" id="case00494" name="case00494" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k2 </ci>
+            <cn type="integer"> 9 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00494/00494-settings.txt b/models/sbml-test-suite/cases/semantic/00494/00494-settings.txt
new file mode 100644
index 0000000..8b0405c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00494/00494-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00495/00495-results.csv b/models/sbml-test-suite/cases/semantic/00495/00495-results.csv
new file mode 100644
index 0000000..2a5976f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00495/00495-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.5,0.0001117348822443404,0.0002117348822443404,8.826511775565964e-005
+1,0.000122088371260489,0.0002220883712604891,7.791162873951097e-005
+1.5,0.000131222937349319,0.000231222937349319,6.877706265068103e-005
+2,0.0001392819747246239,0.000239281974724624,6.071802527537607e-005
+2.5,0.0001463920333362381,0.0002463920333362381,5.360796666376191e-005
+3,0.0001526647909483664,0.0002526647909483664,4.733520905163363e-005
+3.5,0.0001581987984399658,0.0002581987984399658,4.180120156003423e-005
+4,0.0001630810190416752,0.0002630810190416752,3.691898095832484e-005
+4.5,0.0001673881872829188,0.0002673881872829189,3.261181271708119e-005
+5,0.0001711880109752418,0.0002711880109752419,2.881198902475825e-005
+5.5,0.0001745402315967247,0.0002745402315967249,2.545976840327527e-005
+6,0.0001774975600907707,0.0002774975600907709,2.250243990922928e-005
+6.5,0.0001801065031821594,0.0002801065031821596,1.989349681784061e-005
+7,0.0001824080929733661,0.0002824080929733663,1.759190702663393e-005
+7.5,0.0001844385309770173,0.0002844385309770175,1.556146902298269e-005
+8,0.0001862297563044114,0.0002862297563044116,1.377024369558858e-005
+8.5,0.000187809947155376,0.0002878099471553762,1.219005284462402e-005
+9,0.000189203963401118,0.0002892039634011182,1.079603659888196e-005
+9.5,0.000190433737149091,0.0002904337371490913,9.566262850908927e-006
+10,0.000191518617384935,0.0002915186173849352,8.481382615064967e-006
+10.5,0.0001924756740792851,0.0002924756740792853,7.524325920714865e-006
+11,0.0001933199665199781,0.0002933199665199784,6.680033480021821e-006
+11.5,0.0001940647800760279,0.0002940647800760282,5.935219923972046e-006
+12,0.0001947218351116983,0.0002947218351116986,5.278164888301613e-006
+12.5,0.0001953014713400424,0.0002953014713400427,4.698528659957551e-006
+13,0.0001958128104411339,0.0002958128104411342,4.187189558866037e-006
+13.5,0.0001962638993382461,0.0002962638993382464,3.736100661753814e-006
+14,0.0001966618368556506,0.0002966618368556508,3.338163144349352e-006
+14.5,0.0001970128854449115,0.0002970128854449118,2.987114555088466e-006
+15,0.0001973225698987115,0.0002973225698987118,2.677430101288405e-006
+15.5,0.0001975957643115696,0.0002975957643115699,2.404235688430329e-006
+16,0.0001978367680539236,0.0002978367680539239,2.163231946076321e-006
+16.5,0.0001980493738470869,0.0002980493738470871,1.950626152913025e-006
+17,0.0001982369280254886,0.0002982369280254888,1.763071974511376e-006
+17.5,0.0001984023826207641,0.0002984023826207643,1.59761737923583e-006
+18,0.0001985483411782243,0.0002985483411782245,1.451658821775617e-006
+18.5,0.0001986771011130336,0.0002986771011130338,1.322898886966362e-006
+19,0.0001987906892311817,0.0002987906892311819,1.209310768818201e-006
+19.5,0.0001988908926808242,0.0002988908926808243,1.109107319175802e-006
+20,0.0001989792891140971,0.0002989792891140972,1.020710885902903e-006
+20.5,0.0001990572695592142,0.0002990572695592143,9.427304407857785e-007
+21,0.0001991260611671131,0.0002991260611671132,8.739388328868539e-007
+21.5,0.0001991867471705947,0.0002991867471705948,8.132528294052824e-007
+22,0.0001992402820037374,0.0002992402820037375,7.597179962626248e-007
+22.5,0.0001992875090460913,0.0002992875090460914,7.124909539086945e-007
+23,0.0001993291708230782,0.0002993291708230783,6.708291769217921e-007
+23.5,0.0001993659238051527,0.0002993659238051527,6.340761948473451e-007
+24,0.0001993983457422511,0.0002993983457422511,6.016542577489483e-007
+24.5,0.0001994269476578759,0.000299426947657876,5.730523421240654e-007
+25,0.0001994521789056598,0.0002994521789056599,5.478210943402185e-007
diff --git a/models/sbml-test-suite/cases/semantic/00495/00495-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00495/00495-sbml-l2v4.xml
new file mode 100644
index 0000000..4fd6439
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00495/00495-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00495" id="case00495" name="case00495">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00495/00495-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00495/00495-sbml-l3v1.xml
new file mode 100644
index 0000000..f4521bb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00495/00495-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00495" id="case00495" name="case00495" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00495/00495-settings.txt b/models/sbml-test-suite/cases/semantic/00495/00495-settings.txt
new file mode 100644
index 0000000..3e7b991
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00495/00495-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00496/00496-results.csv b/models/sbml-test-suite/cases/semantic/00496/00496-results.csv
new file mode 100644
index 0000000..c6d65dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00496/00496-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.5,0.01102246168560008,0.02102246168560008,0.008977538314399921
+1,0.01190338047034441,0.02190338047034441,0.00809661952965559
+1.5,0.01266135136343857,0.02266135136343856,0.007338648636561435
+2,0.01331278716798667,0.02331278716798668,0.006687212832013326
+2.5,0.01387211146482305,0.02387211146482305,0.006127888535176953
+3,0.01435194766513232,0.02435194766513232,0.005648052334867685
+3.5,0.01476329349862902,0.02476329349862902,0.005236706501370978
+4,0.01511570503022262,0.02511570503022262,0.004884294969777379
+4.5,0.01541746841421962,0.02541746841421962,0.004582531585780381
+5,0.01567574423100816,0.02567574423100816,0.004324255768991838
+5.5,0.01589671225492548,0.02589671225492548,0.004103287745074521
+6,0.01608570122606511,0.02608570122606511,0.003914298773934884
+6.5,0.01624729134382186,0.02624729134382187,0.003752708656178135
+7,0.01638542131491413,0.02638542131491413,0.003614578685085869
+7.5,0.01650347399005117,0.02650347399005117,0.00349652600994883
+8,0.01660434748201232,0.02660434748201232,0.003395652517987681
+8.5,0.01669053092215748,0.02669053092215748,0.003309469077842523
+9,0.01676415224876037,0.02676415224876037,0.003235847751239627
+9.5,0.0168270365854183,0.02682703658541831,0.003172963414581695
+10,0.01688074437469124,0.02688074437469125,0.003119255625308754
+10.5,0.01692661086302731,0.02692661086302731,0.00307338913697269
+11,0.01696577864553817,0.02696577864553817,0.003034221354461831
+11.5,0.01699922346791409,0.02699922346791409,0.003000776532085907
+12,0.01702778068268342,0.02702778068268343,0.002972219317316574
+12.5,0.01705216310632457,0.02705216310632457,0.002947836893675429
+13,0.01707298035873636,0.02707298035873636,0.002927019641263639
+13.5,0.01709075357257243,0.02709075357257243,0.002909246427427573
+14,0.01710592650851986,0.02710592650851986,0.002894073491480147
+14.5,0.01711888079427897,0.02711888079427897,0.002881119205721035
+15,0.0171299388682543,0.0271299388682543,0.002870061131745706
+15.5,0.01713937974990317,0.02713937974990317,0.002860620250096832
+16,0.01714743884123438,0.02714743884123438,0.002852561158765622
+16.5,0.01715431823552057,0.02715431823552058,0.002845681764479426
+17,0.01716019166726649,0.0271601916672665,0.002839808332733505
+17.5,0.01716520472669161,0.02716520472669161,0.002834795273308392
+18,0.01716948426544019,0.02716948426544019,0.002830515734559815
+18.5,0.01717313789996484,0.02717313789996484,0.002826862100035163
+19,0.01717625603205527,0.02717625603205527,0.002823743967944735
+19.5,0.01717891799486335,0.02717891799486335,0.002821082005136654
+20,0.01718119076264287,0.02718119076264287,0.002818809237357133
+20.5,0.017183130232128,0.027183130232128,0.002816869767872001
+21,0.01718478575523999,0.02718478575523999,0.002815214244760014
+21.5,0.01718619957185431,0.02718619957185431,0.002813800428145694
+22,0.01718740607725719,0.02718740607725719,0.002812593922742811
+22.5,0.01718843555950672,0.02718843555950673,0.002811564440493276
+23,0.01718931476730952,0.02718931476730952,0.002810685232690483
+23.5,0.01719006552003511,0.02719006552003511,0.002809934479964892
+24,0.0171907059572936,0.02719070595729361,0.002809294042706397
+24.5,0.01719125239324819,0.02719125239324819,0.002808747606751817
+25,0.01719171912288274,0.02719171912288274,0.002808280877117261
diff --git a/models/sbml-test-suite/cases/semantic/00496/00496-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00496/00496-sbml-l2v4.xml
new file mode 100644
index 0000000..5f74d75
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00496/00496-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00496" id="case00496" name="case00496">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="3.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00496/00496-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00496/00496-sbml-l3v1.xml
new file mode 100644
index 0000000..0b6986d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00496/00496-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00496" id="case00496" name="case00496" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="3.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00496/00496-settings.txt b/models/sbml-test-suite/cases/semantic/00496/00496-settings.txt
new file mode 100644
index 0000000..53602d6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00496/00496-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00497/00497-results.csv b/models/sbml-test-suite/cases/semantic/00497/00497-results.csv
new file mode 100644
index 0000000..a9534ab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00497/00497-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.5,0.001115961950275132,0.002115961950275132,0.0008840380497248682
+1,0.001218050570066377,0.002218050570066377,0.0007819494299336235
+1.5,0.001307911845790983,0.002307911845790983,0.0006920881542090171
+2,0.001386999584783002,0.002386999584783002,0.0006130004152169983
+2.5,0.001456597170473169,0.002456597170473169,0.0005434028295268314
+3,0.001517836969130369,0.00251783696913037,0.0004821630308696308
+3.5,0.00157171767267055,0.00257171767267055,0.0004282823273294503
+4,0.001619119764312097,0.002619119764312097,0.0003808802356879033
+4.5,0.001660819255655054,0.002660819255655054,0.0003391807443449458
+5,0.001697499885783557,0.002697499885783557,0.000302500114216443
+5.5,0.001729763940573131,0.002729763940573131,0.0002702360594268691
+6,0.001758141831509738,0.002758141831509738,0.0002418581684902623
+6.5,0.001783100572289679,0.002783100572289679,0.0002168994277103212
+7,0.001805051295925213,0.002805051295925213,0.0001949487040747869
+7.5,0.001824355887675729,0.002824355887675729,0.000175644112324271
+8,0.001841332843000011,0.00284133284300001,0.0001586671569999894
+8.5,0.001856262438142986,0.002856262438142986,0.0001437375618570136
+9,0.001869391285403449,0.002869391285403448,0.0001306087145965517
+9.5,0.001880936352652932,0.002880936352652932,0.0001190636473470677
+10,0.001891088517868863,0.002891088517868862,0.0001089114821311375
+10.5,0.001900015696083352,0.002900015696083352,9.998430391664853e-005
+11,0.001907865594480622,0.002907865594480622,9.213440551937796e-005
+11.5,0.001914768135078576,0.002914768135078576,8.523186492142379e-005
+12,0.001920837583542615,0.002920837583542615,7.91624164573848e-005
+12.5,0.001926174437308492,0.002926174437308493,7.382556269150775e-005
+13,0.00193086708386125,0.00293086708386125,6.913291613875045e-005
+13.5,0.001934993259616015,0.002934993259616015,6.50067403839853e-005
+14,0.001938621323836453,0.002938621323836452,6.137867616354747e-005
+14.5,0.001941811387840335,0.002941811387840335,5.81886121596651e-005
+15,0.001944616314923424,0.002944616314923424,5.538368507657567e-005
+15.5,0.001947082596417847,0.002947082596417846,5.291740358215362e-005
+16,0.001949251109299302,0.002949251109299302,5.074889070069798e-005
+16.5,0.001951157795201494,0.002951157795201494,4.884220479850599e-005
+17,0.001952834264116552,0.002952834264116552,4.716573588344814e-005
+17.5,0.001954308312087798,0.002954308312087798,4.569168791220228e-005
+18,0.001955604372858374,0.002955604372858374,4.439562714162585e-005
+18.5,0.00195674393649243,0.00295674393649243,4.32560635075692e-005
+19,0.001957745901568211,0.002957745901568211,4.225409843178854e-005
+19.5,0.001958626875888301,0.002958626875888301,4.137312411169871e-005
+20,0.001959401472695013,0.002959401472695013,4.059852730498662e-005
+20.5,0.001960082535252807,0.002960082535252807,3.991746474719253e-005
+21,0.001960681354828693,0.002960681354828693,3.931864517130657e-005
+21.5,0.001961207867545018,0.002961207867545019,3.879213245498077e-005
+22,0.001961670797491154,0.002961670797491154,3.832920250884532e-005
+22.5,0.001962077829752421,0.002962077829752421,3.792217024757807e-005
+23,0.001962435706788159,0.002962435706788159,3.756429321184055e-005
+23.5,0.001962750371121629,0.002962750371121629,3.724962887837054e-005
+24,0.001963027034237188,0.002963027034237188,3.69729657628115e-005
+24.5,0.001963270291696075,0.002963270291696075,3.672970830392461e-005
+25,0.001963484170035747,0.002963484170035747,3.651582996425252e-005
diff --git a/models/sbml-test-suite/cases/semantic/00497/00497-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00497/00497-sbml-l2v4.xml
new file mode 100644
index 0000000..d972d37
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00497/00497-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00497" id="case00497" name="case00497">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00497/00497-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00497/00497-sbml-l3v1.xml
new file mode 100644
index 0000000..b8021a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00497/00497-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00497" id="case00497" name="case00497" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00497/00497-settings.txt b/models/sbml-test-suite/cases/semantic/00497/00497-settings.txt
new file mode 100644
index 0000000..a19caf8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00497/00497-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00498/00498-results.csv b/models/sbml-test-suite/cases/semantic/00498/00498-results.csv
new file mode 100644
index 0000000..b7da2fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00498/00498-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.02,1.125,2.625
+0.04,1.125,3.750000000000001
+0.06,1.125,4.875
+0.08,1.125,6.
+0.1,1.125,7.125
+0.12,1.125,8.25
+0.14,1.125,9.375000000000001
+0.16,1.125,10.5
+0.18,1.125,11.625
+0.2,1.125,12.75
+0.22,1.125,13.87499999999999
+0.24,1.125,14.99999999999999
+0.26,1.125,16.125
+0.28,1.125,17.25
+0.3,1.125,18.375
+0.32,1.125,19.5
+0.34,1.125,20.625
+0.36,1.125,21.75
+0.38,1.125,22.875
+0.4,1.125,24.
+0.42,1.125,25.125
+0.44,1.125,26.25
+0.46,1.125,27.375
+0.48,1.125,28.5
+0.5,1.125,29.625
+0.52,1.125,30.75
+0.54,1.125,31.875
+0.56,1.125,33.
+0.58,1.125,34.12499999999999
+0.6,1.125,35.25
+0.62,1.125,36.375
+0.64,1.125,37.5
+0.66,1.125,38.625
+0.68,1.125,39.75
+0.7,1.125,40.875
+0.72,1.125,42.
+0.74,1.125,43.125
+0.76,1.125,44.25
+0.78,1.125,45.375
+0.8,1.125,46.5
+0.82,1.125,47.625
+0.84,1.125,48.75
+0.86,1.125,49.875
+0.88,1.125,51.
+0.9,1.125,52.125
+0.92,1.125,53.25
+0.94,1.125,54.37499999999999
+0.96,1.125,55.5
+0.98,1.125,56.625
+1.,1.125,57.75
diff --git a/models/sbml-test-suite/cases/semantic/00498/00498-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00498/00498-sbml-l2v4.xml
new file mode 100644
index 0000000..dd5692d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00498/00498-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00498" id="case00498" name="case00498">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00498/00498-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00498/00498-sbml-l3v1.xml
new file mode 100644
index 0000000..1dacd75
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00498/00498-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00498" id="case00498" name="case00498" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00498/00498-settings.txt b/models/sbml-test-suite/cases/semantic/00498/00498-settings.txt
new file mode 100644
index 0000000..41c16bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00498/00498-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00499/00499-results.csv b/models/sbml-test-suite/cases/semantic/00499/00499-results.csv
new file mode 100644
index 0000000..b7da2fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00499/00499-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.02,1.125,2.625
+0.04,1.125,3.750000000000001
+0.06,1.125,4.875
+0.08,1.125,6.
+0.1,1.125,7.125
+0.12,1.125,8.25
+0.14,1.125,9.375000000000001
+0.16,1.125,10.5
+0.18,1.125,11.625
+0.2,1.125,12.75
+0.22,1.125,13.87499999999999
+0.24,1.125,14.99999999999999
+0.26,1.125,16.125
+0.28,1.125,17.25
+0.3,1.125,18.375
+0.32,1.125,19.5
+0.34,1.125,20.625
+0.36,1.125,21.75
+0.38,1.125,22.875
+0.4,1.125,24.
+0.42,1.125,25.125
+0.44,1.125,26.25
+0.46,1.125,27.375
+0.48,1.125,28.5
+0.5,1.125,29.625
+0.52,1.125,30.75
+0.54,1.125,31.875
+0.56,1.125,33.
+0.58,1.125,34.12499999999999
+0.6,1.125,35.25
+0.62,1.125,36.375
+0.64,1.125,37.5
+0.66,1.125,38.625
+0.68,1.125,39.75
+0.7,1.125,40.875
+0.72,1.125,42.
+0.74,1.125,43.125
+0.76,1.125,44.25
+0.78,1.125,45.375
+0.8,1.125,46.5
+0.82,1.125,47.625
+0.84,1.125,48.75
+0.86,1.125,49.875
+0.88,1.125,51.
+0.9,1.125,52.125
+0.92,1.125,53.25
+0.94,1.125,54.37499999999999
+0.96,1.125,55.5
+0.98,1.125,56.625
+1.,1.125,57.75
diff --git a/models/sbml-test-suite/cases/semantic/00499/00499-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00499/00499-sbml-l2v4.xml
new file mode 100644
index 0000000..1e62e5c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00499/00499-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00499" id="case00499" name="case00499">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="30" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00499/00499-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00499/00499-sbml-l3v1.xml
new file mode 100644
index 0000000..90366bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00499/00499-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00499" id="case00499" name="case00499" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="30" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00499/00499-settings.txt b/models/sbml-test-suite/cases/semantic/00499/00499-settings.txt
new file mode 100644
index 0000000..41c16bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00499/00499-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00500/00500-results.csv b/models/sbml-test-suite/cases/semantic/00500/00500-results.csv
new file mode 100644
index 0000000..b7da2fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00500/00500-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.02,1.125,2.625
+0.04,1.125,3.750000000000001
+0.06,1.125,4.875
+0.08,1.125,6.
+0.1,1.125,7.125
+0.12,1.125,8.25
+0.14,1.125,9.375000000000001
+0.16,1.125,10.5
+0.18,1.125,11.625
+0.2,1.125,12.75
+0.22,1.125,13.87499999999999
+0.24,1.125,14.99999999999999
+0.26,1.125,16.125
+0.28,1.125,17.25
+0.3,1.125,18.375
+0.32,1.125,19.5
+0.34,1.125,20.625
+0.36,1.125,21.75
+0.38,1.125,22.875
+0.4,1.125,24.
+0.42,1.125,25.125
+0.44,1.125,26.25
+0.46,1.125,27.375
+0.48,1.125,28.5
+0.5,1.125,29.625
+0.52,1.125,30.75
+0.54,1.125,31.875
+0.56,1.125,33.
+0.58,1.125,34.12499999999999
+0.6,1.125,35.25
+0.62,1.125,36.375
+0.64,1.125,37.5
+0.66,1.125,38.625
+0.68,1.125,39.75
+0.7,1.125,40.875
+0.72,1.125,42.
+0.74,1.125,43.125
+0.76,1.125,44.25
+0.78,1.125,45.375
+0.8,1.125,46.5
+0.82,1.125,47.625
+0.84,1.125,48.75
+0.86,1.125,49.875
+0.88,1.125,51.
+0.9,1.125,52.125
+0.92,1.125,53.25
+0.94,1.125,54.37499999999999
+0.96,1.125,55.5
+0.98,1.125,56.625
+1.,1.125,57.75
diff --git a/models/sbml-test-suite/cases/semantic/00500/00500-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00500/00500-sbml-l2v4.xml
new file mode 100644
index 0000000..f086c32
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00500/00500-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00500" id="case00500" name="case00500">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.125" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00500/00500-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00500/00500-sbml-l3v1.xml
new file mode 100644
index 0000000..7ef7aff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00500/00500-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00500" id="case00500" name="case00500" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00500/00500-settings.txt b/models/sbml-test-suite/cases/semantic/00500/00500-settings.txt
new file mode 100644
index 0000000..41c16bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00500/00500-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00501/00501-results.csv b/models/sbml-test-suite/cases/semantic/00501/00501-results.csv
new file mode 100644
index 0000000..25da652
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00501/00501-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.00025,0.002,0.001
+0.2,0.00025,0.00204869651418815,0.0009513034858118499
+0.4,0.00025,0.002095016334317751,0.0009049836656822488
+0.6,0.00025,0.002139075458252036,0.0008609245417479637
+0.8,0.00025,0.002180984221097541,0.0008190157789024596
+1.,0.00025,0.002220847576545029,0.0007791524234549712
+1.2,0.00025,0.002258765349313021,0.0007412346506869795
+1.4,0.00025,0.002294832498245183,0.0007051675017548169
+1.6,0.00025,0.002329139345200566,0.0006708606547994347
+1.8,0.00025,0.002361771803148081,0.0006382281968519191
+2.,0.00025,0.002392811594303534,0.0006071884056964663
+2.2,0.00025,0.002422336454481417,0.0005776635455185831
+2.4,0.00025,0.002450420313555586,0.0005495796864444144
+2.6,0.00025,0.002477133504524446,0.0005228664954755542
+2.8,0.00025,0.002502542924476636,0.0004974570755233643
+3.,0.00025,0.002526712205553912,0.0004732877944460879
+3.2,0.00025,0.002549701874292271,0.0004502981257077292
+3.4,0.00025,0.00257156950318719,0.0004284304968128097
+3.6,0.00025,0.002592369854862577,0.0004076301451374238
+3.8,0.00025,0.002612155019204263,0.0003878449807957375
+4.,0.00025,0.002630974559712673,0.0003690254402873277
+4.2,0.00025,0.00264887563403321,0.0003511243659667909
+4.4,0.00025,0.002665902889409819,0.0003340971105901827
+4.6,0.00025,0.002682099183404252,0.0003179008165957493
+4.8,0.00025,0.002697504997188908,0.0003024950028110929
+5.,0.00025,0.002712158910826359,0.0002878410891736425
+5.2,0.00025,0.002726097622159124,0.0002739023778408775
+5.4,0.00025,0.002739356038652967,0.0002606439613470344
+5.6,0.00025,0.002751967359148512,0.0002480326408514892
+5.8,0.00025,0.002763963169315015,0.0002360368306849857
+6.,0.00025,0.002775373510171479,0.0002246264898285226
+6.2,0.00025,0.002786226953922361,0.0002137730460776408
+6.4,0.00025,0.002796550681122595,0.0002034493188774058
+6.6,0.00025,0.002806370548416546,0.0001936294515834554
+6.8,0.00025,0.002815711141837853,0.0001842888581621477
+7.,0.00025,0.002824595858141868,0.0001754041418581334
+7.2,0.00025,0.002833046945969957,0.0001669530540300439
+7.4,0.00025,0.00284108556758087,0.0001589144324191309
+7.6,0.00025,0.002848731853168668,0.000151268146831333
+7.8,0.00025,0.00285600495109147,0.0001439950489085305
+8.,0.00025,0.002862923075660736,0.0001370769243392648
+8.2,0.00025,0.002869503552615789,0.0001304964473842118
+8.4,0.00025,0.002875762862371784,0.0001242371376282166
+8.6,0.00025,0.002881716680031617,0.0001182833199683832
+8.8,0.00025,0.002887379919557529,0.0001126200804424712
+9.,0.00025,0.002892766747716399,0.0001072332522836019
+9.2,0.00025,0.00289789066522134,0.0001021093347786606
+9.4,0.00025,0.002902764512240554,0.00009723548775944643
+9.6,0.00025,0.002907400476974527,0.00009259952302547321
+9.8,0.00025,0.002911810178675282,0.00008818982132471732
+10.,0.00025,0.002916004659904011,0.00008399534009598917
diff --git a/models/sbml-test-suite/cases/semantic/00501/00501-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00501/00501-sbml-l2v4.xml
new file mode 100644
index 0000000..583308a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00501/00501-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00501" id="case00501" name="case00501">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.000125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00501/00501-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00501/00501-sbml-l3v1.xml
new file mode 100644
index 0000000..99f96b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00501/00501-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00501" id="case00501" name="case00501" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.000125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00501/00501-settings.txt b/models/sbml-test-suite/cases/semantic/00501/00501-settings.txt
new file mode 100644
index 0000000..1741bf7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00501/00501-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00502/00502-results.csv b/models/sbml-test-suite/cases/semantic/00502/00502-results.csv
new file mode 100644
index 0000000..0934d3d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00502/00502-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0025,0.02,0.01
+0.2,0.0025,0.02048030085728863,0.009519699142711368
+0.4,0.0025,0.02093700586874836,0.009062994131251632
+0.6,0.0025,0.02137127423621923,0.008628725763780766
+0.8,0.0025,0.02178420819955929,0.008215791800440699
+1.,0.0025,0.02217685588663386,0.007823144113366131
+1.2,0.0025,0.02255021386067307,0.007449786139326928
+1.4,0.0025,0.02290522980544814,0.007094770194551861
+1.6,0.0025,0.02324280479752677,0.006757195202473228
+1.8,0.0025,0.02356379567192226,0.006436204328077741
+2.,0.0025,0.02386901715697143,0.00613098284302857
+2.2,0.0025,0.02415924400171348,0.005840755998286518
+2.4,0.0025,0.02443521278268535,0.005564787217314647
+2.6,0.0025,0.02469762398216359,0.005302376017836409
+2.8,0.0025,0.02494714364553523,0.005052856354464775
+3.,0.0025,0.02518440509765816,0.004815594902341842
+3.2,0.0025,0.0254100105502564,0.004589989449743601
+3.4,0.0025,0.0256245326303566,0.004375467369643397
+3.6,0.0025,0.02582851583364565,0.00417148416635435
+3.8,0.0025,0.02602247790643623,0.003977522093563775
+4.,0.0025,0.0262069113853392,0.003793088614660801
+4.2,0.0025,0.02638228437630955,0.003617715623690452
+4.4,0.0025,0.02654904068228085,0.003450959317719156
+4.6,0.0025,0.02670760537922861,0.003292394620771395
+4.8,0.0025,0.02685838023453063,0.003141619765469376
+5.,0.0025,0.02700174793894295,0.002998252061057062
+5.2,0.0025,0.02713807238745143,0.00286192761254858
+5.4,0.0025,0.02726769960806863,0.002732300391931386
+5.6,0.0025,0.02739095857881148,0.002609041421188531
+5.8,0.0025,0.02750816219296961,0.002491837807030399
+6.,0.0025,0.02761960792608182,0.002380392073918194
+6.2,0.0025,0.02772557862743528,0.002274421372564734
+6.4,0.0025,0.02782634327775339,0.002173656722246629
+6.6,0.0025,0.02792215766651346,0.002077842333486552
+6.8,0.0025,0.02801326492799614,0.001986735072003868
+7.,0.0025,0.02809989636876708,0.001900103631232927
+7.2,0.0025,0.02818227185928566,0.001817728140714345
+7.4,0.0025,0.02826060046467553,0.001739399535324481
+7.6,0.0025,0.02833508098962063,0.001664919010379374
+7.8,0.0025,0.02840590248043775,0.001594097519562255
+8.,0.0025,0.02847324470272018,0.001526755297279824
+8.2,0.0025,0.02853727859575986,0.001462721404240148
+8.4,0.0025,0.02859816669992837,0.001401833300071637
+8.6,0.0025,0.02865606354811979,0.001343936451880219
+8.8,0.0025,0.02871111612832985,0.001288883871670163
+9.,0.0025,0.02876346401376248,0.001236535986237528
+9.2,0.0025,0.02881324025313612,0.00118675974686389
+9.4,0.0025,0.02886057116851099,0.00113942883148902
+9.6,0.0025,0.02890557674899108,0.001094423251008931
+9.8,0.0025,0.02894837137156366,0.001051628628436347
+10.,0.0025,0.02898906361805514,0.001010936381944873
diff --git a/models/sbml-test-suite/cases/semantic/00502/00502-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00502/00502-sbml-l2v4.xml
new file mode 100644
index 0000000..e0c8ae8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00502/00502-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00502" id="case00502" name="case00502">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0025" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.00125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00502/00502-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00502/00502-sbml-l3v1.xml
new file mode 100644
index 0000000..415c8f1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00502/00502-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00502" id="case00502" name="case00502" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0025" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.00125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00502/00502-settings.txt b/models/sbml-test-suite/cases/semantic/00502/00502-settings.txt
new file mode 100644
index 0000000..406844f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00502/00502-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00503/00503-results.csv b/models/sbml-test-suite/cases/semantic/00503/00503-results.csv
new file mode 100644
index 0000000..7770452
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00503/00503-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.000025,0.0002,0.0001
+0.2,0.000025,0.0002048763169252724,0.00009512368307472757
+0.4,0.000025,0.0002095147956723606,0.00009048520432763944
+0.6,0.000025,0.0002139270366292694,0.00008607296337073061
+0.8,0.000025,0.0002181240742516973,0.00008187592574830273
+1.,0.000025,0.0002221164051598419,0.00007788359484015814
+1.2,0.000025,0.0002259140133600582,0.00007408598663994185
+1.4,0.000025,0.000229526396501828,0.00007047360349817196
+1.6,0.000025,0.0002329625887746608,0.00006703741122533925
+1.8,0.000025,0.0002362311836507656,0.00006376881634923445
+2.,0.000025,0.0002393403557166612,0.00006065964428333886
+2.2,0.000025,0.0002422978810513926,0.00005770211894860743
+2.4,0.000025,0.0002451111552683877,0.0000548888447316123
+2.6,0.000025,0.0002477872144102781,0.00005221278558972191
+2.8,0.000025,0.0002503327510172668,0.00004966724898273331
+3.,0.000025,0.0002527541312114676,0.00004724586878853249
+3.2,0.000025,0.0002550574106168119,0.00004494258938318821
+3.4,0.000025,0.0002572483495025695,0.00004275165049743058
+3.6,0.000025,0.00025933242718836,0.00004066757281164006
+3.8,0.000025,0.0002613148557466603,0.00003868514425333974
+4.,0.000025,0.0002632005946329279,0.00003679940536707216
+4.2,0.000025,0.0002649943627327631,0.0000350056372672369
+4.4,0.000025,0.0002667006278118339,0.0000332993721881662
+4.6,0.000025,0.0002683236788040025,0.00003167632119599752
+4.8,0.000025,0.000269867566885436,0.00003013243311456406
+5.,0.000025,0.000271336153128394,0.00002866384687160603
+5.2,0.000025,0.0002727331103571226,0.00002726688964287747
+5.4,0.000025,0.000274061932328266,0.00002593806767173407
+5.6,0.000025,0.0002753259419000894,0.00002467405809991066
+5.8,0.000025,0.0002765283005795119,0.00002347169942048826
+6.,0.000025,0.0002776720153584054,0.00002232798464159474
+6.2,0.000025,0.0002787599463088305,0.00002124005369116968
+6.4,0.000025,0.000279794814289941,0.00002020518571005914
+6.6,0.000025,0.000280779207718388,0.0000192207922816122
+6.8,0.000025,0.0002817155879008306,0.00001828441209916955
+7.,0.000025,0.000282606297159589,0.00001739370284041112
+7.2,0.000025,0.0002834535629552309,0.00001654643704476929
+7.4,0.000025,0.0002842595040544743,0.00001574049594552592
+7.6,0.000025,0.0002850261359607301,0.00001497386403927005
+7.8,0.000025,0.0002857553759366344,0.00001424462406336579
+8.,0.000025,0.000286449047782768,0.00001355095221723221
+8.2,0.000025,0.0002871088863850419,0.00001289111361495832
+8.4,0.000025,0.0002877365420399899,0.00001226345796001031
+8.6,0.000025,0.0002883335844612805,0.00001166641553871972
+8.8,0.000025,0.0002889015071853366,0.00001109849281466364
+9.,0.000025,0.0002894417289923501,0.00001055827100765003
+9.2,0.000025,0.0002899556019341637,0.00001004439806583646
+9.4,0.000025,0.0002904444120434232,9.55558795657699e-6
+9.6,0.000025,0.0002909093800751827,9.090619924817544e-6
+9.8,0.000025,0.0002913516697639932,8.648330236006989e-6
+10.,0.000025,0.000291772387202164,8.22761279783613e-6
diff --git a/models/sbml-test-suite/cases/semantic/00503/00503-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00503/00503-sbml-l2v4.xml
new file mode 100644
index 0000000..2c9063d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00503/00503-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00503" id="case00503" name="case00503">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="1.25e-005"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00503/00503-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00503/00503-sbml-l3v1.xml
new file mode 100644
index 0000000..f8b4845
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00503/00503-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00503" id="case00503" name="case00503" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="1.25e-005" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00503/00503-settings.txt b/models/sbml-test-suite/cases/semantic/00503/00503-settings.txt
new file mode 100644
index 0000000..61fa7e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00503/00503-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00504/00504-results.csv b/models/sbml-test-suite/cases/semantic/00504/00504-results.csv
new file mode 100644
index 0000000..cf8c5fc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00504/00504-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.025,0.2,0.1,0.1
+0.4,0.03367397895419564,0.2086739789541954,0.09132602104580439,0.1
+0.8,0.04129056037018868,0.2162905603701884,0.08370943962981138,0.1
+1.2,0.04797864555476572,0.2229786455547654,0.07702135444523433,0.1
+1.6,0.05385142263455169,0.2288514226345514,0.07114857736544837,0.1
+2.,0.05900828199488711,0.2340082819948868,0.06599171800511294,0.1
+2.4,0.06353649535611494,0.2385364953561146,0.06146350464388513,0.1
+2.8,0.06751270001687821,0.2425127000168779,0.05748729998312186,0.1
+3.2,0.07100418789364437,0.2460041878936441,0.0539958121063557,0.1
+3.6,0.07407004487270273,0.2490700448727024,0.05092995512729735,0.1
+4.,0.07676216299098728,0.2517621629909869,0.04823783700901281,0.1
+4.4,0.07912609631028438,0.254126096310284,0.0458739036897157,0.1
+4.8,0.08120185740036736,0.2562018574003669,0.04379814259963274,0.1
+5.2,0.08302457355648069,0.2580245735564803,0.0419754264435194,0.1
+5.6,0.08462509137338204,0.2596250913733816,0.04037490862661805,0.1
+6.,0.08603049985651069,0.2610304998565103,0.0389695001434894,0.1
+6.4,0.08726458246367808,0.2622645824636777,0.037735417536322,0.1
+6.8,0.08834822315714384,0.2633482231571435,0.03665177684285626,0.1
+7.2,0.08929976550253482,0.2642997655025345,0.03570023449746526,0.1
+7.6,0.09013530837775304,0.2651353083777527,0.03486469162224703,0.1
+8.,0.09086899600132357,0.2658689960013232,0.03413100399867653,0.1
+8.4,0.09151324356635898,0.2665132435663586,0.03348675643364112,0.1
+8.8,0.0920789536454967,0.2670789536454964,0.0329210463545034,0.1
+9.2,0.09257570251462936,0.267575702514629,0.03242429748537076,0.1
+9.6,0.09301189428946715,0.2680118942894667,0.03198810571053296,0.1
+10.,0.09339491214830807,0.2683949121483076,0.03160508785169206,0.1
+10.4,0.09373123929356079,0.2687312392935604,0.03126876070643933,0.1
+10.8,0.09402656618384581,0.2690265661838455,0.0309734338161543,0.1
+11.2,0.09428589093905989,0.2692858909390595,0.03071410906094023,0.1
+11.6,0.09451360340670091,0.2695136034067005,0.03048639659329922,0.1
+12.,0.09471355667325885,0.2697135566732585,0.03028644332674127,0.1
+12.4,0.09488913431652028,0.2698891343165199,0.03011086568347984,0.1
+12.8,0.09504330844089058,0.2700433084408902,0.02995669155910954,0.1
+13.2,0.09517868825214934,0.2701786882521489,0.02982131174785077,0.1
+13.6,0.09529756437837327,0.2702975643783728,0.02970243562162682,0.1
+14.,0.09540194892251831,0.2704019489225179,0.02959805107748178,0.1
+14.4,0.09549360876254137,0.2704936087625409,0.0295063912374587,0.1
+14.8,0.09557409472917215,0.2705740947291717,0.02942590527082793,0.1
+15.2,0.0956447689697288,0.2706447689697283,0.02935523103027129,0.1
+15.6,0.09570682785714082,0.2707068278571402,0.02929317214285927,0.1
+16.,0.09576132147915754,0.2707613214791569,0.02923867852084255,0.1
+16.4,0.09580917196896371,0.2708091719689632,0.02919082803103637,0.1
+16.8,0.09585118931984174,0.2708511893198412,0.02914881068015834,0.1
+17.2,0.09588808462245067,0.2708880846224501,0.0291119153775494,0.1
+17.6,0.0959204821461024,0.2709204821461018,0.02907951785389768,0.1
+18.,0.09594893025325172,0.2709489302532511,0.02905106974674837,0.1
+18.4,0.09597391047384409,0.2709739104738435,0.02902608952615599,0.1
+18.8,0.0959958454585006,0.2709958454585,0.02900415454149948,0.1
+19.2,0.09601510643601658,0.2710151064360159,0.02898489356398351,0.1
+19.6,0.09603201944769235,0.2710320194476917,0.02896798055230774,0.1
+20.,0.09604687067280323,0.2710468706728026,0.02895312932719685,0.1
diff --git a/models/sbml-test-suite/cases/semantic/00504/00504-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00504/00504-sbml-l2v4.xml
new file mode 100644
index 0000000..74afcde
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00504/00504-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00504" id="case00504" name="case00504">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.025" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.05"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00504/00504-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00504/00504-sbml-l3v1.xml
new file mode 100644
index 0000000..df36bd7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00504/00504-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00504" id="case00504" name="case00504" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.025" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.05" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00504/00504-settings.txt b/models/sbml-test-suite/cases/semantic/00504/00504-settings.txt
new file mode 100644
index 0000000..a5220f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00504/00504-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00505/00505-results.csv b/models/sbml-test-suite/cases/semantic/00505/00505-results.csv
new file mode 100644
index 0000000..f5bca20
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00505/00505-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00025,0.002,0.001,0.001
+0.4,0.0003450771854596538,0.002095077185459654,0.0009049228145403459,0.001
+0.8,0.0004310807758648104,0.00218108077586481,0.0008189192241351895,0.001
+1.2,0.0005088767010872156,0.002258876701087215,0.0007411232989127843,0.001
+1.6,0.0005792482491980872,0.002329248249198087,0.0006707517508019127,0.001
+2.,0.0006429039613375938,0.002392903961337593,0.0006070960386624061,0.001
+2.4,0.0007004847517443299,0.002450484751744329,0.0005495152482556701,0.001
+2.8,0.0007525703779368465,0.002502570377936846,0.0004974296220631534,0.001
+3.2,0.0007996852654772561,0.002549685265477255,0.0004503147345227438,0.001
+3.6,0.000842303791793369,0.002592303791793368,0.0004076962082066309,0.001
+4.,0.0008808550821437046,0.002630855082143704,0.0003691449178562953,0.001
+4.4,0.0009157272503321785,0.002665727250332177,0.0003342727496678214,0.001
+4.8,0.0009472714076460927,0.002697271407646092,0.0003027285923539072,0.001
+5.2,0.0009758052170983358,0.002725805217098335,0.0002741947829016641,0.001
+5.6,0.001001615908607748,0.002751615908607748,0.0002483840913922515,0.001
+6.,0.001024963377317211,0.002774963377317211,0.0002250366226827883,0.001
+6.4,0.001046082727418421,0.00279608272741842,0.0002039172725815789,0.001
+6.8,0.001065186561506485,0.002815186561506484,0.000184813438493515,0.001
+7.2,0.001082467226629009,0.002832467226629008,0.0001675327733709911,0.001
+7.6,0.001098098743276505,0.002848098743276505,0.0001519012567234943,0.001
+8.,0.00111223848945198,0.00286223848945198,0.0001377615105480195,0.001
+8.4,0.00112502881554456,0.00287502881554456,0.0001249711844554397,0.001
+8.8,0.001136598501044315,0.002886598501044315,0.0001134014989556843,0.001
+9.2,0.00114706404606151,0.00289706404606151,0.0001029359539384899,0.001
+9.6,0.00115653083277279,0.00290653083277279,0.00009346916722720943,0.001
+10.,0.001165094166604219,0.002915094166604219,0.00008490583339578105,0.001
+10.4,0.001172840261366463,0.002922840261366464,0.00007715973863353658,0.001
+10.8,0.001179847111362807,0.002929847111362807,0.00007015288863719308,0.001
+11.2,0.001186185273235518,0.002936185273235518,0.0000638147267644823,0.001
+11.6,0.001191918564216878,0.002941918564216878,0.0000580814357831218,0.001
+12.,0.001197104702508553,0.002947104702508553,0.0000528952974914464,0.001
+12.4,0.001201795903112772,0.002951795903112773,0.00004820409688722731,0.001
+12.8,0.00120603940254713,0.00295603940254713,0.00004396059745287009,0.001
+13.2,0.001209877931592872,0.002959877931592872,0.00004012206840712801,0.001
+13.6,0.001213350136107698,0.002963350136107698,0.00003664986389230235,0.001
+14.,0.001216490972307483,0.002966490972307483,0.00003350902769251707,0.001
+14.4,0.001219332063880966,0.002969332063880965,0.00003066793611903428,0.001
+14.8,0.00122190201910436,0.00297190201910436,0.00002809798089563962,0.001
+15.2,0.001224226715791442,0.002974226715791442,0.0000257732842085579,0.001
+15.6,0.001226329557351523,0.002976329557351524,0.0000236704426484768,0.001
+16.,0.001228231714863308,0.002978231714863309,0.00002176828513669127,0.001
+16.4,0.001229952340962215,0.002979952340962216,0.00002004765903778458,0.001
+16.8,0.001231508761815535,0.002981508761815536,0.00001849123818446448,0.001
+17.2,0.001232916648418271,0.002982916648418272,0.00001708335158172837,0.001
+17.6,0.001234190174271478,0.002984190174271479,0.00001580982572852143,0.001
+18.,0.001235342161537542,0.002985342161537543,0.00001465783846245739,0.001
+18.4,0.001236384209825927,0.002986384209825928,0.00001361579017407215,0.001
+18.8,0.001237326812232447,0.002987326812232449,0.00001267318776755198,0.001
+19.2,0.001238179458666937,0.002988179458666939,0.0000118205413330621,0.001
+19.6,0.001238950732789239,0.002988950732789241,0.0000110492672107604,0.001
+20.,0.001239648400983826,0.002989648400983828,0.00001035159901617304,0.001
diff --git a/models/sbml-test-suite/cases/semantic/00505/00505-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00505/00505-sbml-l2v4.xml
new file mode 100644
index 0000000..d1d88c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00505/00505-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00505" id="case00505" name="case00505">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00025" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.0005"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00505/00505-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00505/00505-sbml-l3v1.xml
new file mode 100644
index 0000000..fc2e00c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00505/00505-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00505" id="case00505" name="case00505" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00025" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.0005" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00505/00505-settings.txt b/models/sbml-test-suite/cases/semantic/00505/00505-settings.txt
new file mode 100644
index 0000000..9de52c6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00505/00505-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00506/00506-results.csv b/models/sbml-test-suite/cases/semantic/00506/00506-results.csv
new file mode 100644
index 0000000..1ccb97c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00506/00506-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0025,0.02,0.01,0.01
+0.4,0.003443097038847647,0.02094309703884765,0.009056902961152354,0.01
+0.8,0.004293890078159836,0.02179389007815984,0.008206109921840165,0.01
+1.2,0.005061413442848629,0.02256141344284863,0.007438586557151372,0.01
+1.6,0.005753817214285507,0.02325381721428551,0.006746182785714493,0.01
+2,0.006378453244065092,0.02387845324406509,0.006121546755934909,0.01
+2.4,0.006941953898584748,0.02444195389858475,0.005558046101415253,0.01
+2.8,0.007450303523887173,0.02495030352388717,0.005049696476112828,0.01
+3.2,0.007908899227066144,0.02540889922706615,0.004591100772933857,0.01
+3.6,0.008322610548879695,0.02582261054887969,0.004177389451120306,0.01
+4,0.008695831103634602,0.0261958311036346,0.003804168896365399,0.01
+4.4,0.009032523183910072,0.02653252318391007,0.003467476816089928,0.01
+4.8,0.009336262135937922,0.02683626213593792,0.003163737864062079,0.01
+5.2,0.00961027349917923,0.02711027349917923,0.00288972650082077,0.01
+5.6,0.009857466292529864,0.02735746629252987,0.002642533707470135,0.01
+6,0.01008046565530609,0.0275804656553061,0.002419534344693905,0.01
+6.4,0.01028163951497596,0.02778163951497597,0.002218360485024036,0.01
+6.8,0.01046312367020075,0.02796312367020076,0.002036876329799245,0.01
+7.2,0.01062684557795193,0.02812684557795193,0.001873154422048073,0.01
+7.6,0.01077454352359427,0.02827454352359427,0.001725456476405734,0.01
+8,0.01090778569318785,0.02840778569318785,0.00159221430681215,0.01
+8.4,0.0110279872122102,0.0285279872122102,0.001472012787789805,0.01
+8.8,0.01113642415688522,0.02863642415688522,0.001363575843114781,0.01
+9.2,0.01123424802795814,0.02873424802795815,0.001265751972041859,0.01
+9.6,0.01132249767825104,0.02882249767825105,0.001177502321748955,0.01
+10,0.01140210995398085,0.02890210995398086,0.001097890046019147,0.01
+10.4,0.01147393041263057,0.02897393041263057,0.001026069587369433,0.01
+10.8,0.01153872158063289,0.0290387215806329,0.0009612784193671098,0.01
+11.2,0.01159717137978278,0.02909717137978278,0.0009028286202172216,0.01
+11.6,0.01164990060994591,0.02914990060994592,0.0008500993900540855,0.01
+12,0.01169746899261532,0.02919746899261532,0.0008025310073846815,0.01
+12.4,0.01174038175800666,0.02924038175800666,0.0007596182419933426,0.01
+12.8,0.01177909452196639,0.0292790945219664,0.0007209054780336067,0.01
+13.2,0.01181401830976101,0.02931401830976103,0.0006859816902389825,0.01
+13.6,0.01184552406314986,0.02934552406314987,0.0006544759368501357,0.01
+14,0.01187394618548017,0.02937394618548018,0.0006260538145198289,0.01
+14.4,0.01189958660920213,0.02939958660920214,0.0006004133907978676,0.01
+14.8,0.01192271748660248,0.02942271748660249,0.0005772825133975153,0.01
+15.2,0.01194358449370769,0.02944358449370771,0.0005564155062923054,0.01
+15.6,0.01196240918459259,0.0294624091845926,0.0005375908154074082,0.01
+16,0.01197939142867557,0.02947939142867558,0.0005206085713244283,0.01
+16.4,0.0119947115978556,0.02949471159785561,0.000505288402144398,0.01
+16.8,0.01200853229928533,0.02950853229928534,0.0004914677007146719,0.01
+17.2,0.01202100036783115,0.02952100036783116,0.000478999632168848,0.01
+17.6,0.01203224810572145,0.02953224810572146,0.0004677518942785476,0.01
+18,0.01204239503731967,0.02954239503731968,0.000457604962680332,0.01
+18.4,0.01205154881478896,0.02955154881478898,0.0004484511852110367,0.01
+18.8,0.01205980672649031,0.02955980672649033,0.0004401932735096823,0.01
+19.2,0.01206725637152989,0.0295672563715299,0.0004327436284701085,0.01
+19.6,0.01207397692214232,0.02957397692214233,0.0004260230778576799,0.01
+20,0.01208003969858138,0.0295800396985814,0.0004199603014186159,0.01
diff --git a/models/sbml-test-suite/cases/semantic/00506/00506-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00506/00506-sbml-l2v4.xml
new file mode 100644
index 0000000..5ab71fe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00506/00506-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00506" id="case00506" name="case00506">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0025" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.05" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.005"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00506/00506-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00506/00506-sbml-l3v1.xml
new file mode 100644
index 0000000..21f3b60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00506/00506-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00506" id="case00506" name="case00506" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0025" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.05" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.005" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00506/00506-settings.txt b/models/sbml-test-suite/cases/semantic/00506/00506-settings.txt
new file mode 100644
index 0000000..932dbad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00506/00506-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00507/00507-results.csv b/models/sbml-test-suite/cases/semantic/00507/00507-results.csv
new file mode 100644
index 0000000..897e702
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00507/00507-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5,1.125
+0.02,0.9410584749858096,1.55894152501419,1.125
+0.04,0.8855910533484653,1.614408946651534,1.125
+0.06,0.8333929661087538,1.666607033891246,1.125
+0.08,0.7842715135935548,1.715728486406445,1.125
+0.1,0.7380453542295349,1.761954645770464,1.125
+0.12,0.6945438341833901,1.805456165816609,1.125
+0.14,0.6536063609250661,1.846393639074933,1.125
+0.16,0.615081805981563,1.884918194018436,1.125
+0.18,0.5788279387971955,1.921172061202803,1.125
+0.2,0.5447109422320137,1.955289057767985,1.125
+0.22,0.5126048517627159,1.987395148237283,1.125
+0.24,0.4823911381042274,2.017608861895771,1.125
+0.26,0.4539582647257478,2.046041735274251,1.125
+0.28,0.4272012695668502,2.072798730433148,1.125
+0.3,0.4020213751925691,2.097978624807429,1.125
+0.32,0.3783256246206682,2.12167437537933,1.125
+0.34,0.3560264489224035,2.143973551077595,1.125
+0.36,0.3350417929036636,2.164958207096336,1.125
+0.38,0.3152939186855355,2.184706081314464,1.125
+0.4,0.2967100142366633,2.203289985763337,1.125
+0.42,0.2792214734825676,2.220778526517432,1.125
+0.44,0.2627637333995386,2.237236266600461,1.125
+0.46,0.2472760381125986,2.252723961887401,1.125
+0.48,0.232701210995704,2.267298789004295,1.125
+0.5,0.2189854474959113,2.281014552504088,1.125
+0.52,0.206078110305065,2.293921889694934,1.125
+0.54,0.1939315533378449,2.306068446662154,1.125
+0.56,0.1825009316915188,2.31749906830848,1.125
+0.58,0.1717440479896253,2.328255952010374,1.125
+0.6,0.1616211912421512,2.338378808757847,1.125
+0.62,0.1520949910524884,2.34790500894751,1.125
+0.64,0.1431302796605188,2.35686972033948,1.125
+0.66,0.1346939621209166,2.365306037879082,1.125
+0.68,0.1267548941327368,2.373245105867262,1.125
+0.7,0.1192837670692459,2.380716232930753,1.125
+0.72,0.1122529960858006,2.387747003914198,1.125
+0.74,0.1056366362263605,2.394363363773638,1.125
+0.76,0.09941025465734787,2.400589745342651,1.125
+0.78,0.09355086253788563,2.406449137462113,1.125
+0.8,0.08803682937782809,2.411963170622171,1.125
+0.82,0.08284780218205256,2.417152197817946,1.125
+0.84,0.07796462598674247,2.422035374013256,1.125
+0.86,0.07336927345690558,2.426630726543093,1.125
+0.88,0.0690447787683241,2.430955221231675,1.125
+0.9,0.06497517532886426,2.435024824671135,1.125
+0.92,0.06114543814524625,2.438854561854753,1.125
+0.94,0.0575414309527522,2.442458569047247,1.125
+0.96,0.05414984841069713,2.445850151589302,1.125
+0.98,0.05095817632147002,2.449041823678529,1.125
+1.,0.04795462632656907,2.45204537367343,1.125
diff --git a/models/sbml-test-suite/cases/semantic/00507/00507-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00507/00507-sbml-l2v4.xml
new file mode 100644
index 0000000..3fd49cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00507/00507-sbml-l2v4.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00507" id="case00507" name="case00507">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.125" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.7"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00507/00507-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00507/00507-sbml-l3v1.xml
new file mode 100644
index 0000000..98d5187
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00507/00507-sbml-l3v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00507" id="case00507" name="case00507" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.7" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00507/00507-settings.txt b/models/sbml-test-suite/cases/semantic/00507/00507-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00507/00507-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00508/00508-results.csv b/models/sbml-test-suite/cases/semantic/00508/00508-results.csv
new file mode 100644
index 0000000..897e702
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00508/00508-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5,1.125
+0.02,0.9410584749858096,1.55894152501419,1.125
+0.04,0.8855910533484653,1.614408946651534,1.125
+0.06,0.8333929661087538,1.666607033891246,1.125
+0.08,0.7842715135935548,1.715728486406445,1.125
+0.1,0.7380453542295349,1.761954645770464,1.125
+0.12,0.6945438341833901,1.805456165816609,1.125
+0.14,0.6536063609250661,1.846393639074933,1.125
+0.16,0.615081805981563,1.884918194018436,1.125
+0.18,0.5788279387971955,1.921172061202803,1.125
+0.2,0.5447109422320137,1.955289057767985,1.125
+0.22,0.5126048517627159,1.987395148237283,1.125
+0.24,0.4823911381042274,2.017608861895771,1.125
+0.26,0.4539582647257478,2.046041735274251,1.125
+0.28,0.4272012695668502,2.072798730433148,1.125
+0.3,0.4020213751925691,2.097978624807429,1.125
+0.32,0.3783256246206682,2.12167437537933,1.125
+0.34,0.3560264489224035,2.143973551077595,1.125
+0.36,0.3350417929036636,2.164958207096336,1.125
+0.38,0.3152939186855355,2.184706081314464,1.125
+0.4,0.2967100142366633,2.203289985763337,1.125
+0.42,0.2792214734825676,2.220778526517432,1.125
+0.44,0.2627637333995386,2.237236266600461,1.125
+0.46,0.2472760381125986,2.252723961887401,1.125
+0.48,0.232701210995704,2.267298789004295,1.125
+0.5,0.2189854474959113,2.281014552504088,1.125
+0.52,0.206078110305065,2.293921889694934,1.125
+0.54,0.1939315533378449,2.306068446662154,1.125
+0.56,0.1825009316915188,2.31749906830848,1.125
+0.58,0.1717440479896253,2.328255952010374,1.125
+0.6,0.1616211912421512,2.338378808757847,1.125
+0.62,0.1520949910524884,2.34790500894751,1.125
+0.64,0.1431302796605188,2.35686972033948,1.125
+0.66,0.1346939621209166,2.365306037879082,1.125
+0.68,0.1267548941327368,2.373245105867262,1.125
+0.7,0.1192837670692459,2.380716232930753,1.125
+0.72,0.1122529960858006,2.387747003914198,1.125
+0.74,0.1056366362263605,2.394363363773638,1.125
+0.76,0.09941025465734787,2.400589745342651,1.125
+0.78,0.09355086253788563,2.406449137462113,1.125
+0.8,0.08803682937782809,2.411963170622171,1.125
+0.82,0.08284780218205256,2.417152197817946,1.125
+0.84,0.07796462598674247,2.422035374013256,1.125
+0.86,0.07336927345690558,2.426630726543093,1.125
+0.88,0.0690447787683241,2.430955221231675,1.125
+0.9,0.06497517532886426,2.435024824671135,1.125
+0.92,0.06114543814524625,2.438854561854753,1.125
+0.94,0.0575414309527522,2.442458569047247,1.125
+0.96,0.05414984841069713,2.445850151589302,1.125
+0.98,0.05095817632147002,2.449041823678529,1.125
+1.,0.04795462632656907,2.45204537367343,1.125
diff --git a/models/sbml-test-suite/cases/semantic/00508/00508-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00508/00508-sbml-l2v4.xml
new file mode 100644
index 0000000..5beb85a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00508/00508-sbml-l2v4.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00508" id="case00508" name="case00508">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="5.7" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.7"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00508/00508-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00508/00508-sbml-l3v1.xml
new file mode 100644
index 0000000..3546101
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00508/00508-sbml-l3v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00508" id="case00508" name="case00508" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="5.7" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.7" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00508/00508-settings.txt b/models/sbml-test-suite/cases/semantic/00508/00508-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00508/00508-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00509/00509-results.csv b/models/sbml-test-suite/cases/semantic/00509/00509-results.csv
new file mode 100644
index 0000000..897e702
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00509/00509-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5,1.125
+0.02,0.9410584749858096,1.55894152501419,1.125
+0.04,0.8855910533484653,1.614408946651534,1.125
+0.06,0.8333929661087538,1.666607033891246,1.125
+0.08,0.7842715135935548,1.715728486406445,1.125
+0.1,0.7380453542295349,1.761954645770464,1.125
+0.12,0.6945438341833901,1.805456165816609,1.125
+0.14,0.6536063609250661,1.846393639074933,1.125
+0.16,0.615081805981563,1.884918194018436,1.125
+0.18,0.5788279387971955,1.921172061202803,1.125
+0.2,0.5447109422320137,1.955289057767985,1.125
+0.22,0.5126048517627159,1.987395148237283,1.125
+0.24,0.4823911381042274,2.017608861895771,1.125
+0.26,0.4539582647257478,2.046041735274251,1.125
+0.28,0.4272012695668502,2.072798730433148,1.125
+0.3,0.4020213751925691,2.097978624807429,1.125
+0.32,0.3783256246206682,2.12167437537933,1.125
+0.34,0.3560264489224035,2.143973551077595,1.125
+0.36,0.3350417929036636,2.164958207096336,1.125
+0.38,0.3152939186855355,2.184706081314464,1.125
+0.4,0.2967100142366633,2.203289985763337,1.125
+0.42,0.2792214734825676,2.220778526517432,1.125
+0.44,0.2627637333995386,2.237236266600461,1.125
+0.46,0.2472760381125986,2.252723961887401,1.125
+0.48,0.232701210995704,2.267298789004295,1.125
+0.5,0.2189854474959113,2.281014552504088,1.125
+0.52,0.206078110305065,2.293921889694934,1.125
+0.54,0.1939315533378449,2.306068446662154,1.125
+0.56,0.1825009316915188,2.31749906830848,1.125
+0.58,0.1717440479896253,2.328255952010374,1.125
+0.6,0.1616211912421512,2.338378808757847,1.125
+0.62,0.1520949910524884,2.34790500894751,1.125
+0.64,0.1431302796605188,2.35686972033948,1.125
+0.66,0.1346939621209166,2.365306037879082,1.125
+0.68,0.1267548941327368,2.373245105867262,1.125
+0.7,0.1192837670692459,2.380716232930753,1.125
+0.72,0.1122529960858006,2.387747003914198,1.125
+0.74,0.1056366362263605,2.394363363773638,1.125
+0.76,0.09941025465734787,2.400589745342651,1.125
+0.78,0.09355086253788563,2.406449137462113,1.125
+0.8,0.08803682937782809,2.411963170622171,1.125
+0.82,0.08284780218205256,2.417152197817946,1.125
+0.84,0.07796462598674247,2.422035374013256,1.125
+0.86,0.07336927345690558,2.426630726543093,1.125
+0.88,0.0690447787683241,2.430955221231675,1.125
+0.9,0.06497517532886426,2.435024824671135,1.125
+0.92,0.06114543814524625,2.438854561854753,1.125
+0.94,0.0575414309527522,2.442458569047247,1.125
+0.96,0.05414984841069713,2.445850151589302,1.125
+0.98,0.05095817632147002,2.449041823678529,1.125
+1.,0.04795462632656907,2.45204537367343,1.125
diff --git a/models/sbml-test-suite/cases/semantic/00509/00509-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00509/00509-sbml-l2v4.xml
new file mode 100644
index 0000000..fdae074
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00509/00509-sbml-l2v4.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00509" id="case00509" name="case00509">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.7"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00509/00509-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00509/00509-sbml-l3v1.xml
new file mode 100644
index 0000000..b01cac3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00509/00509-sbml-l3v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00509" id="case00509" name="case00509" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.7" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00509/00509-settings.txt b/models/sbml-test-suite/cases/semantic/00509/00509-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00509/00509-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00510/00510-results.csv b/models/sbml-test-suite/cases/semantic/00510/00510-results.csv
new file mode 100644
index 0000000..f1aa850
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00510/00510-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.02,1.01794,1.71412
+0.04,0.921072,1.90786
+0.06,0.83342,2.08316
+0.08,0.75411,2.24178
+0.1,0.682347,2.38531
+0.12,0.617413,2.51517
+0.14,0.558658,2.63268
+0.16,0.505495,2.73901
+0.18,0.457391,2.83522
+0.2,0.413864,2.92227
+0.22,0.37448,3.00104
+0.24,0.338843,3.07231
+0.26,0.306598,3.1368
+0.28,0.277422,3.19516
+0.3,0.251021,3.24796
+0.32,0.227134,3.29573
+0.34,0.205519,3.33896
+0.36,0.185961,3.37808
+0.38,0.168265,3.41347
+0.4,0.152252,3.4455
+0.42,0.137763,3.47447
+0.44,0.124654,3.50069
+0.46,0.112791,3.52442
+0.48,0.102058,3.54588
+0.5,0.0923456,3.56531
+0.52,0.0835578,3.58288
+0.54,0.0756062,3.59879
+0.56,0.0684113,3.61318
+0.58,0.0619011,3.6262
+0.6,0.0560105,3.63798
+0.62,0.0506804,3.64864
+0.64,0.0458575,3.65829
+0.66,0.0414936,3.66701
+0.68,0.0375449,3.67491
+0.7,0.0339721,3.68206
+0.72,0.0307392,3.68852
+0.74,0.027814,3.69437
+0.76,0.0251671,3.69967
+0.78,0.0227722,3.70446
+0.8,0.0206051,3.70879
+0.82,0.0186443,3.71271
+0.84,0.01687,3.71626
+0.86,0.0152646,3.71947
+0.88,0.013812,3.72238
+0.9,0.0124976,3.725
+0.92,0.0113083,3.72738
+0.94,0.0102322,3.72954
+0.96,0.00925847,3.73148
+0.98,0.00837741,3.73325
+1,0.00758019,3.73484
diff --git a/models/sbml-test-suite/cases/semantic/00510/00510-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00510/00510-sbml-l2v4.xml
new file mode 100644
index 0000000..ba82921
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00510/00510-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00510" id="case00510" name="case00510">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00510/00510-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00510/00510-sbml-l3v1.xml
new file mode 100644
index 0000000..74ae75e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00510/00510-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00510" id="case00510" name="case00510" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00510/00510-settings.txt b/models/sbml-test-suite/cases/semantic/00510/00510-settings.txt
new file mode 100644
index 0000000..41c16bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00510/00510-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00511/00511-results.csv b/models/sbml-test-suite/cases/semantic/00511/00511-results.csv
new file mode 100644
index 0000000..f1aa850
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00511/00511-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.02,1.01794,1.71412
+0.04,0.921072,1.90786
+0.06,0.83342,2.08316
+0.08,0.75411,2.24178
+0.1,0.682347,2.38531
+0.12,0.617413,2.51517
+0.14,0.558658,2.63268
+0.16,0.505495,2.73901
+0.18,0.457391,2.83522
+0.2,0.413864,2.92227
+0.22,0.37448,3.00104
+0.24,0.338843,3.07231
+0.26,0.306598,3.1368
+0.28,0.277422,3.19516
+0.3,0.251021,3.24796
+0.32,0.227134,3.29573
+0.34,0.205519,3.33896
+0.36,0.185961,3.37808
+0.38,0.168265,3.41347
+0.4,0.152252,3.4455
+0.42,0.137763,3.47447
+0.44,0.124654,3.50069
+0.46,0.112791,3.52442
+0.48,0.102058,3.54588
+0.5,0.0923456,3.56531
+0.52,0.0835578,3.58288
+0.54,0.0756062,3.59879
+0.56,0.0684113,3.61318
+0.58,0.0619011,3.6262
+0.6,0.0560105,3.63798
+0.62,0.0506804,3.64864
+0.64,0.0458575,3.65829
+0.66,0.0414936,3.66701
+0.68,0.0375449,3.67491
+0.7,0.0339721,3.68206
+0.72,0.0307392,3.68852
+0.74,0.027814,3.69437
+0.76,0.0251671,3.69967
+0.78,0.0227722,3.70446
+0.8,0.0206051,3.70879
+0.82,0.0186443,3.71271
+0.84,0.01687,3.71626
+0.86,0.0152646,3.71947
+0.88,0.013812,3.72238
+0.9,0.0124976,3.725
+0.92,0.0113083,3.72738
+0.94,0.0102322,3.72954
+0.96,0.00925847,3.73148
+0.98,0.00837741,3.73325
+1,0.00758019,3.73484
diff --git a/models/sbml-test-suite/cases/semantic/00511/00511-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00511/00511-sbml-l2v4.xml
new file mode 100644
index 0000000..66c4dc9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00511/00511-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00511" id="case00511" name="case00511">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00511/00511-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00511/00511-sbml-l3v1.xml
new file mode 100644
index 0000000..7c266a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00511/00511-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00511" id="case00511" name="case00511" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00511/00511-settings.txt b/models/sbml-test-suite/cases/semantic/00511/00511-settings.txt
new file mode 100644
index 0000000..41c16bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00511/00511-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00512/00512-results.csv b/models/sbml-test-suite/cases/semantic/00512/00512-results.csv
new file mode 100644
index 0000000..f1aa850
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00512/00512-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.02,1.01794,1.71412
+0.04,0.921072,1.90786
+0.06,0.83342,2.08316
+0.08,0.75411,2.24178
+0.1,0.682347,2.38531
+0.12,0.617413,2.51517
+0.14,0.558658,2.63268
+0.16,0.505495,2.73901
+0.18,0.457391,2.83522
+0.2,0.413864,2.92227
+0.22,0.37448,3.00104
+0.24,0.338843,3.07231
+0.26,0.306598,3.1368
+0.28,0.277422,3.19516
+0.3,0.251021,3.24796
+0.32,0.227134,3.29573
+0.34,0.205519,3.33896
+0.36,0.185961,3.37808
+0.38,0.168265,3.41347
+0.4,0.152252,3.4455
+0.42,0.137763,3.47447
+0.44,0.124654,3.50069
+0.46,0.112791,3.52442
+0.48,0.102058,3.54588
+0.5,0.0923456,3.56531
+0.52,0.0835578,3.58288
+0.54,0.0756062,3.59879
+0.56,0.0684113,3.61318
+0.58,0.0619011,3.6262
+0.6,0.0560105,3.63798
+0.62,0.0506804,3.64864
+0.64,0.0458575,3.65829
+0.66,0.0414936,3.66701
+0.68,0.0375449,3.67491
+0.7,0.0339721,3.68206
+0.72,0.0307392,3.68852
+0.74,0.027814,3.69437
+0.76,0.0251671,3.69967
+0.78,0.0227722,3.70446
+0.8,0.0206051,3.70879
+0.82,0.0186443,3.71271
+0.84,0.01687,3.71626
+0.86,0.0152646,3.71947
+0.88,0.013812,3.72238
+0.9,0.0124976,3.725
+0.92,0.0113083,3.72738
+0.94,0.0102322,3.72954
+0.96,0.00925847,3.73148
+0.98,0.00837741,3.73325
+1,0.00758019,3.73484
diff --git a/models/sbml-test-suite/cases/semantic/00512/00512-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00512/00512-sbml-l2v4.xml
new file mode 100644
index 0000000..2f46929
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00512/00512-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00512" id="case00512" name="case00512">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.125" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00512/00512-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00512/00512-sbml-l3v1.xml
new file mode 100644
index 0000000..70c3274
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00512/00512-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00512" id="case00512" name="case00512" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00512/00512-settings.txt b/models/sbml-test-suite/cases/semantic/00512/00512-settings.txt
new file mode 100644
index 0000000..41c16bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00512/00512-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00513/00513-results.csv b/models/sbml-test-suite/cases/semantic/00513/00513-results.csv
new file mode 100644
index 0000000..3259a98
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00513/00513-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.000025,0.0002,0.0001
+0.3,0.00003222442884965203,0.000207224428849652,0.00009277688529376891
+0.6,0.00003892659349366561,0.0002139265934936656,0.00008607640936273634
+0.9,0.00004514426505786807,0.0002201442650578681,0.0000798607935045924
+1.2,0.0000509124870453687,0.0002259124870453687,0.00007409498447100458
+1.5,0.0000562637711686751,0.0002312637711686751,0.00006874645917101861
+1.8,0.00006122828093582322,0.0002362282809358233,0.00006378504152976801
+2.1,0.00006583400030961371,0.0002408340003096137,0.00005918273419543162
+2.4,0.00007010688778240555,0.0002451068877824056,0.00005491356476523523
+2.7,0.00007407103151130927,0.0002490710315113093,0.00005095343089687961
+3.,0.00007774877094677441,0.0002527487709467745,0.00004727997887772107
+3.3,0.00008116083715934513,0.0002561608371593452,0.00004387246345754986
+3.6,0.00008432645595141046,0.0002593264559514105,0.00004071164486444604
+3.9,0.00008726346723940307,0.0002622634672394031,0.00003777966951968066
+4.2,0.00008998841803437425,0.0002649884180343744,0.00003505997713449962
+4.5,0.00009251665924699879,0.0002675166592469989,0.00003253720396085362
+4.8,0.00009486243101995338,0.0002698624310199535,0.00003019709750009449
+5.1,0.00009703894318006578,0.000272038943180066,0.00002802643607844247
+5.4,0.00009905844970932175,0.0002740584497093219,0.00002601295439292552
+5.7,0.0001009323178487118,0.0002759323178487121,0.00002414527441574061
+6.,0.0001026710922083988,0.000277671092208399,0.0000224128412852458
+6.3,0.0001042845542507508,0.000279284554250751,0.00002080586381844554
+6.6,0.0001057817776407412,0.0002807817776407414,0.000019315259151518
+6.9,0.0001071711781935757,0.0002821711781935758,0.00001793260278083267
+7.2,0.0001084605647801357,0.0002834605647801359,0.00001665007763961255
+7.5,0.0001096571795688916,0.0002846571795688918,0.00001546043384217163
+7.8,0.0001107677402007834,0.0002857677402007836,0.000014356946489643
+8.1,0.0001117984781340034,0.0002867984781340036,0.00001333337730551993
+8.4,0.0001127551738020337,0.0002877551738020339,0.00001238393945775807
+8.7,0.0001136431892217793,0.0002886431892217795,0.00001150326493056474
+9.,0.0001144674982496083,0.0002894674982496085,0.00001068637424829976
+9.3,0.0001152327146542293,0.0002902327146542295,9.928648382755313e-6
+9.6,0.0001159431181632961,0.0002909431181632963,9.225802687079343e-6
+9.9,0.000116602678629438,0.0002916026786294382,8.57386271076714e-6
+10.2,0.000117215078408185,0.0002922150784081852,7.969141803389939e-6
+10.5,0.0001177837329657852,0.0002927837329657854,7.408220489249114e-6
+10.8,0.0001183118104169258,0.0002933118104169259,6.887926912358572e-6
+11.1,0.0001188022495255382,0.0002938022495255383,6.405318819217131e-6
+11.4,0.0001192577762929144,0.0002942577762929146,5.957666955142644e-6
+11.7,0.0001196809193482356,0.0002946809193482358,5.542439658947254e-6
+12.,0.0001200740242278056,0.0002950740242278058,5.15728856965754e-6
+12.3,0.0001204392666229626,0.0002954392666229627,4.800035365297618e-6
+12.6,0.0001207786646709187,0.0002957786646709188,4.468659459468823e-6
+12.9,0.0001210940903573379,0.0002960940903573381,4.161286586897194e-6
+13.2,0.0001213872800426377,0.0002963872800426378,3.87617826600359e-6
+13.5,0.0001216598442291416,0.0002966598442291417,3.611722021273382e-6
+13.8,0.0001219132767998198,0.0002969132767998199,3.366422134457496e-6
+14.1,0.0001221489634741114,0.0002971489634741115,3.138891179439972e-6
+14.4,0.0001223681896332158,0.0002973681896332159,2.927842188235536e-6
+14.7,0.0001225721473593484,0.0002975721473593485,2.732081603838116e-6
+15.,0.0001227619431074119,0.0002977619431074121,2.550501599771367e-6
diff --git a/models/sbml-test-suite/cases/semantic/00513/00513-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00513/00513-sbml-l2v4.xml
new file mode 100644
index 0000000..02409d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00513/00513-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00513" id="case00513" name="case00513">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="1.25e-005"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00513/00513-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00513/00513-sbml-l3v1.xml
new file mode 100644
index 0000000..3a340b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00513/00513-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00513" id="case00513" name="case00513" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="1.25e-005" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00513/00513-settings.txt b/models/sbml-test-suite/cases/semantic/00513/00513-settings.txt
new file mode 100644
index 0000000..262b561
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00513/00513-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00514/00514-results.csv b/models/sbml-test-suite/cases/semantic/00514/00514-results.csv
new file mode 100644
index 0000000..1f1193f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00514/00514-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.025,0.2,0.1
+0.3,0.03103243662452387,0.2060324366245237,0.09525088996023557
+0.6,0.03643990006491153,0.2114399000649114,0.09143105888055516
+0.9,0.04130665975990021,0.2163066597599001,0.08843775842949464
+1.2,0.04570891204908206,0.2207089120490818,0.08617700473692847
+1.5,0.0497148967836828,0.2247148967836826,0.08456402172476959
+1.8,0.05338525256425626,0.228385252564256,0.08352322407824536
+2.1,0.05677351845660123,0.231773518456601,0.08298789184054553
+2.4,0.05992671839115351,0.2349267183911533,0.0828996473936004
+2.7,0.06288598140018647,0.2378859814001863,0.08320781778658732
+3.,0.06568716199941776,0.2406871619994175,0.08386874636901638
+3.3,0.06836143838220311,0.2433614383822029,0.08484509649889251
+3.6,0.0709358733542021,0.2459358733542019,0.08610517748863566
+3.9,0.07343393263071355,0.2484339326307133,0.08762230747276179
+4.2,0.0758759559956459,0.2508759559956457,0.08937422483349094
+4.5,0.07827957916990906,0.2532795791699089,0.09134255547573699
+4.8,0.08066010919249858,0.2556601091924984,0.09351233532483974
+5.1,0.08303085600905715,0.258030856009057,0.09587158674196352
+5.4,0.08540342224177116,0.260403422241771,0.09841094826986278
+5.7,0.08778795826100505,0.2627879582610049,0.101123348764419
+6.,0.09019338384954135,0.2651933838495412,0.1040037252120813
+6.3,0.09262757758834913,0.2676275775883489,0.1070487847034094
+6.6,0.09509754311401295,0.2700975431140127,0.110256797083644
+6.9,0.09760955280513786,0.2726095528051377,0.1136274180169629
+7.2,0.1001692698687451,0.275169269868745,0.1171615428109079
+7.5,0.1027818528414635,0.2777818528414633,0.1208611864828531
+7.8,0.1054520492466995,0.2804520492466994,0.1247293750910626
+8.1,0.1081842717169784,0.2831842717169783,0.1287700666846496
+8.4,0.1109826646883928,0.2859826646883927,0.1329880865440629
+8.7,0.1138511633647613,0.2888511633647612,0.1373890702049073
+9.,0.1167935427343698,0.2917935427343696,0.1419794245984701
+9.3,0.1198134597617,0.2948134597616999,0.1467663034465002
+9.6,0.1229144910416541,0.297914491041654,0.1517575831715646
+9.9,0.1261001643184795,0.3011001643184794,0.1569618560640345
+10.2,0.1293739863338008,0.3043739863338006,0.1623884278432434
+10.5,0.1327394670917287,0.3077394670917286,0.1680473221824816
+10.8,0.1362001411003339,0.3112001411003338,0.1739492928861904
+11.1,0.1397595862109918,0.3147595862109915,0.1801058417470076
+11.4,0.1434214402749858,0.3184214402749855,0.1865292413419961
+11.7,0.1471894163121237,0.3221894163121235,0.1932325652500345
+12.,0.1510673158841133,0.3260673158841131,0.2002297198702307
+12.3,0.1550590419294141,0.3300590419294138,0.2075354866393767
+12.6,0.1591686097925457,0.3341686097925454,0.2151655618733535
+12.9,0.1634001586905946,0.3384001586905943,0.2231366109987722
+13.2,0.1677579611272413,0.3427579611272411,0.2314663162830527
+13.5,0.1722464336444603,0.34724643364446,0.2401734432034723
+13.8,0.1768701452165002,0.3518701452165,0.2492778966800358
+14.1,0.1816338277023325,0.3566338277023322,0.258800799789991
+14.4,0.1865423837338945,0.3615423837338941,0.2687645598687568
+14.7,0.1916008971029711,0.3666008971029707,0.279192959771077
+15.,0.1968146406686232,0.3718146406686228,0.2901112364562413
diff --git a/models/sbml-test-suite/cases/semantic/00514/00514-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00514/00514-sbml-l2v4.xml
new file mode 100644
index 0000000..6229d4e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00514/00514-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00514" id="case00514" name="case00514">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.05" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.0125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00514/00514-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00514/00514-sbml-l3v1.xml
new file mode 100644
index 0000000..a75bf55
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00514/00514-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00514" id="case00514" name="case00514" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.05" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.0125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00514/00514-settings.txt b/models/sbml-test-suite/cases/semantic/00514/00514-settings.txt
new file mode 100644
index 0000000..9a21fec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00514/00514-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00515/00515-results.csv b/models/sbml-test-suite/cases/semantic/00515/00515-results.csv
new file mode 100644
index 0000000..8fc705d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00515/00515-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.00025,0.002,0.001
+0.3,0.0003221342862424613,0.002072134286242464,0.0009279970997846608
+0.6,0.0003890312467645251,0.002139031246764527,0.0008612689153509975
+0.9,0.0004510727336198207,0.002201072733619823,0.0007994328229596922
+1.2,0.0005086131457594386,0.00225861314575944,0.0007421334372533286
+1.5,0.0005619813593964441,0.002311981359396446,0.0006890407349071991
+1.8,0.0006114825026284015,0.002361482502628403,0.0006398483245638044
+2.1,0.0006573996469526899,0.002407399646952691,0.0005942717921742099
+2.4,0.0006999953497592456,0.002449995349759247,0.0005520471885780696
+2.7,0.0007395131142073755,0.002489513114207377,0.0005129295941585254
+3.,0.0007761787803924448,0.002526178780392446,0.0004766917474257967
+3.3,0.000810201709351553,0.002560201709351554,0.0004431228768494002
+3.6,0.000841776073017048,0.002591776073017049,0.000412027423220591
+3.9,0.0008710818100354616,0.002621081810035463,0.000383224093799022
+4.2,0.0008982857668328368,0.002648285766832838,0.0003565447283165705
+4.5,0.0009235426039938675,0.002673542603993869,0.0003318333980929745
+4.8,0.0009469956514731959,0.002696995651473198,0.0003089455547982464
+5.1,0.0009687777352283503,0.002718777735228352,0.0002877472063732467
+5.4,0.0009890119624292414,0.002739011962429244,0.0002681141331659442
+5.7,0.001007812425128256,0.002757812425128259,0.0002499311848720258
+6.,0.001025284831086287,0.00277528483108629,0.0002330916498005455
+6.3,0.001041527130626182,0.002791527130626185,0.000217496627290784
+6.6,0.00105663007928832,0.002806630079288323,0.0002030544640230892
+6.9,0.001070677762493681,0.002820677762493684,0.000189680227970844
+7.2,0.001083748082917802,0.002833748082917805,0.0001772952193891172
+7.5,0.001095913212507406,0.002845913212507408,0.0001658265169800031
+7.8,0.001107240011805695,0.002857240011805697,0.0001552065566238861
+8.1,0.001117790418912577,0.002867790418912579,0.0001453727403960769
+8.4,0.00112762181023348,0.002877621810233481,0.000136267073752608
+8.7,0.00113678733502422,0.002886787335024222,0.0001278358289079313
+9.,0.001145336238214726,0.002895336238214728,0.0001200292198200612
+9.3,0.001153314092957065,0.002903314092957067,0.0001128011681558225
+9.6,0.001160763150251425,0.002910763150251427,0.0001061089508592148
+9.9,0.001167722548415775,0.002917722548415778,0.0000999129891082897
+10.2,0.001174228531615326,0.002924228531615328,0.0000941766280344065
+10.5,0.001180314649496951,0.002930314649496953,0.00008886593543665681
+10.8,0.001186011983358834,0.002936011983358836,0.00008394947359049126
+11.1,0.00119134932897848,0.002941349328978482,0.00007939811476903202
+11.4,0.001196353362058501,0.002946353362058503,0.00007518487427112864
+11.7,0.001201048785062387,0.00295104878506239,0.00007128476221251209
+12.,0.001205458461746631,0.002955458461746633,0.00006767464771289483
+12.3,0.001209603571784202,0.002959603571784204,0.00006433310272651934
+12.6,0.001213503736387704,0.002963503736387706,0.00006124027515461888
+12.9,0.001217177131269603,0.002967177131269606,0.00005837777473367473
+13.2,0.001220640587563147,0.002970640587563149,0.00005572857107618888
+13.5,0.001223909682517138,0.002973909682517141,0.00005327690203431998
+13.8,0.001226998844905523,0.002976998844905526,0.00005100816715996006
+14.1,0.001229921441329728,0.00297992144132973,0.0000489088404725607
+14.4,0.001232689853269176,0.002982689853269179,0.00004696639257193289
+14.7,0.001235315544208465,0.002985315544208467,0.00004516922277925388
+15.,0.001237809127279052,0.002987809127279054,0.00004350659074787443
diff --git a/models/sbml-test-suite/cases/semantic/00515/00515-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00515/00515-sbml-l2v4.xml
new file mode 100644
index 0000000..2ee5268
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00515/00515-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00515" id="case00515" name="case00515">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.000125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00515/00515-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00515/00515-sbml-l3v1.xml
new file mode 100644
index 0000000..ba2caa3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00515/00515-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00515" id="case00515" name="case00515" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.000125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00515/00515-settings.txt b/models/sbml-test-suite/cases/semantic/00515/00515-settings.txt
new file mode 100644
index 0000000..8f5672c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00515/00515-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00516/00516-results.csv b/models/sbml-test-suite/cases/semantic/00516/00516-results.csv
new file mode 100644
index 0000000..bb9e8f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00516/00516-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.04,0.921072,1.90786
+0.08,0.75411,2.24178
+0.12,0.617413,2.51517
+0.16,0.505495,2.73901
+0.2,0.413864,2.92227
+0.24,0.338843,3.07231
+0.28,0.277422,3.19516
+0.32,0.227134,3.29573
+0.36,0.185961,3.37808
+0.4,0.152252,3.4455
+0.44,0.124654,3.50069
+0.48,0.102058,3.54588
+0.52,0.0835578,3.58288
+0.56,0.0684113,3.61318
+0.6,0.0560105,3.63798
+0.64,0.0458575,3.65829
+0.68,0.0375449,3.67491
+0.72,0.0307392,3.68852
+0.76,0.0251671,3.69967
+0.8,0.0206051,3.70879
+0.84,0.01687,3.71626
+0.88,0.013812,3.72238
+0.92,0.0113083,3.72738
+0.96,0.00925847,3.73148
+1,0.00758019,3.73484
+1.04,0.00620613,3.73759
+1.08,0.00508115,3.73984
+1.12,0.0041601,3.74168
+1.16,0.003406,3.74319
+1.2,0.0027886,3.74442
+1.24,0.00228311,3.74543
+1.28,0.00186925,3.74626
+1.32,0.00153041,3.74694
+1.36,0.001253,3.74749
+1.4,0.00102587,3.74795
+1.44,0.000839909,3.74832
+1.48,0.000687659,3.74862
+1.52,0.000563008,3.74887
+1.56,0.000460952,3.74908
+1.6,0.000377395,3.74925
+1.64,0.000308985,3.74938
+1.68,0.000252976,3.74949
+1.72,0.000207119,3.74959
+1.76,0.000169575,3.74966
+1.8,0.000138836,3.74972
+1.84,0.000113669,3.74977
+1.88,9.31E-05,3.74981
+1.92,7.62E-05,3.74985
+1.96,6.24E-05,3.74988
+2,5.11E-05,3.7499
diff --git a/models/sbml-test-suite/cases/semantic/00516/00516-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00516/00516-sbml-l2v4.xml
new file mode 100644
index 0000000..b917cd7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00516/00516-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00516" id="case00516" name="case00516">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00516/00516-settings.txt b/models/sbml-test-suite/cases/semantic/00516/00516-settings.txt
new file mode 100644
index 0000000..8b0405c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00516/00516-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00517/00517-results.csv b/models/sbml-test-suite/cases/semantic/00517/00517-results.csv
new file mode 100644
index 0000000..bb9e8f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00517/00517-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.04,0.921072,1.90786
+0.08,0.75411,2.24178
+0.12,0.617413,2.51517
+0.16,0.505495,2.73901
+0.2,0.413864,2.92227
+0.24,0.338843,3.07231
+0.28,0.277422,3.19516
+0.32,0.227134,3.29573
+0.36,0.185961,3.37808
+0.4,0.152252,3.4455
+0.44,0.124654,3.50069
+0.48,0.102058,3.54588
+0.52,0.0835578,3.58288
+0.56,0.0684113,3.61318
+0.6,0.0560105,3.63798
+0.64,0.0458575,3.65829
+0.68,0.0375449,3.67491
+0.72,0.0307392,3.68852
+0.76,0.0251671,3.69967
+0.8,0.0206051,3.70879
+0.84,0.01687,3.71626
+0.88,0.013812,3.72238
+0.92,0.0113083,3.72738
+0.96,0.00925847,3.73148
+1,0.00758019,3.73484
+1.04,0.00620613,3.73759
+1.08,0.00508115,3.73984
+1.12,0.0041601,3.74168
+1.16,0.003406,3.74319
+1.2,0.0027886,3.74442
+1.24,0.00228311,3.74543
+1.28,0.00186925,3.74626
+1.32,0.00153041,3.74694
+1.36,0.001253,3.74749
+1.4,0.00102587,3.74795
+1.44,0.000839909,3.74832
+1.48,0.000687659,3.74862
+1.52,0.000563008,3.74887
+1.56,0.000460952,3.74908
+1.6,0.000377395,3.74925
+1.64,0.000308985,3.74938
+1.68,0.000252976,3.74949
+1.72,0.000207119,3.74959
+1.76,0.000169575,3.74966
+1.8,0.000138836,3.74972
+1.84,0.000113669,3.74977
+1.88,9.31E-05,3.74981
+1.92,7.62E-05,3.74985
+1.96,6.24E-05,3.74988
+2,5.11E-05,3.7499
diff --git a/models/sbml-test-suite/cases/semantic/00517/00517-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00517/00517-sbml-l2v4.xml
new file mode 100644
index 0000000..32c5b4a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00517/00517-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00517" id="case00517" name="case00517">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00517/00517-settings.txt b/models/sbml-test-suite/cases/semantic/00517/00517-settings.txt
new file mode 100644
index 0000000..8b0405c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00517/00517-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00518/00518-results.csv b/models/sbml-test-suite/cases/semantic/00518/00518-results.csv
new file mode 100644
index 0000000..bb9e8f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00518/00518-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.04,0.921072,1.90786
+0.08,0.75411,2.24178
+0.12,0.617413,2.51517
+0.16,0.505495,2.73901
+0.2,0.413864,2.92227
+0.24,0.338843,3.07231
+0.28,0.277422,3.19516
+0.32,0.227134,3.29573
+0.36,0.185961,3.37808
+0.4,0.152252,3.4455
+0.44,0.124654,3.50069
+0.48,0.102058,3.54588
+0.52,0.0835578,3.58288
+0.56,0.0684113,3.61318
+0.6,0.0560105,3.63798
+0.64,0.0458575,3.65829
+0.68,0.0375449,3.67491
+0.72,0.0307392,3.68852
+0.76,0.0251671,3.69967
+0.8,0.0206051,3.70879
+0.84,0.01687,3.71626
+0.88,0.013812,3.72238
+0.92,0.0113083,3.72738
+0.96,0.00925847,3.73148
+1,0.00758019,3.73484
+1.04,0.00620613,3.73759
+1.08,0.00508115,3.73984
+1.12,0.0041601,3.74168
+1.16,0.003406,3.74319
+1.2,0.0027886,3.74442
+1.24,0.00228311,3.74543
+1.28,0.00186925,3.74626
+1.32,0.00153041,3.74694
+1.36,0.001253,3.74749
+1.4,0.00102587,3.74795
+1.44,0.000839909,3.74832
+1.48,0.000687659,3.74862
+1.52,0.000563008,3.74887
+1.56,0.000460952,3.74908
+1.6,0.000377395,3.74925
+1.64,0.000308985,3.74938
+1.68,0.000252976,3.74949
+1.72,0.000207119,3.74959
+1.76,0.000169575,3.74966
+1.8,0.000138836,3.74972
+1.84,0.000113669,3.74977
+1.88,9.31E-05,3.74981
+1.92,7.62E-05,3.74985
+1.96,6.24E-05,3.74988
+2,5.11E-05,3.7499
diff --git a/models/sbml-test-suite/cases/semantic/00518/00518-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00518/00518-sbml-l2v4.xml
new file mode 100644
index 0000000..e84b3b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00518/00518-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00518" id="case00518" name="case00518">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.125" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00518/00518-settings.txt b/models/sbml-test-suite/cases/semantic/00518/00518-settings.txt
new file mode 100644
index 0000000..8b0405c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00518/00518-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00519/00519-results.csv b/models/sbml-test-suite/cases/semantic/00519/00519-results.csv
new file mode 100644
index 0000000..2563771
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00519/00519-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0025,0.02,0.01
+0.4,0.003433333277640792,0.02093333327764079,0.009048461496649838
+0.8,0.004269667655160172,0.02176966765516016,0.008187504532186962
+1.2,0.005017899504380064,0.02251789950438007,0.007408507802113257
+1.6,0.005686164609074009,0.02318616460907402,0.006703670185069836
+2.,0.006281894748061595,0.02378189474806161,0.00606593266412983
+2.4,0.006811871284994127,0.02431187128499414,0.005488908036871428
+2.8,0.007282276498646707,0.02478227649864672,0.004966816749455877
+3.2,0.007698741549236897,0.02519874154923691,0.004494429237475391
+3.6,0.008066391596168887,0.0255663915961689,0.004067013619277446
+4.,0.008389887808732482,0.02588988780873249,0.003680288488301456
+4.4,0.008673466488173816,0.02617346648817383,0.003330380174043077
+4.8,0.008920976568635843,0.02642097656863585,0.003013782939191874
+5.2,0.009135911249908097,0.02663591124990811,0.002727325832145877
+5.6,0.009321441545211584,0.0268214415452116,0.002468138637097823
+6.,0.009480442400223974,0.02698044240022399,0.002233625487291636
+6.4,0.009615521568666593,0.0271155215686666,0.002021436510407169
+6.8,0.009729041205458872,0.02722904120545888,0.001829446655882262
+7.2,0.009823141938256497,0.02732314193825651,0.001655732631247997
+7.6,0.009899762505203517,0.02739976250520353,0.001498554203022488
+8.,0.009960658238272072,0.02746065823827208,0.001356336787138593
+8.4,0.01000741763782347,0.02750741763782349,0.001227655962058311
+8.8,0.01004147804744167,0.02754147804744169,0.001111222953377386
+9.2,0.01006413983134583,0.02756413983134585,0.001005871595222919
+9.6,0.01007657910986688,0.0275765791098669,0.0009105466856255679
+10.,0.01007985932198141,0.02757985932198142,0.0008242934708616567
+10.4,0.01007494159964789,0.02757494159964791,0.0007462482529994897
+10.8,0.01006269453356293,0.02756269453356296,0.0006756295903531115
+11.2,0.01004390298441164,0.02754390298441166,0.0006117303874071118
+11.6,0.01001927597382248,0.02751927597382251,0.000553910833001495
+12.,0.009989453830900732,0.02748945383090075,0.0005015920227187708
+12.4,0.00995501458985022,0.02745501458985024,0.0004542502633244265
+12.8,0.009916479994774973,0.02741647999477499,0.0004114117390190066
+13.2,0.009874320911446776,0.02737432091144679,0.0003726477132032265
+13.6,0.009828962164475737,0.02732896216447576,0.0003375702463128523
+14.,0.009780786911892267,0.02728078691189229,0.0003058283282434615
+14.4,0.009730140555942993,0.02723014055594301,0.0002771044248257658
+14.8,0.009677334406633481,0.0271773344066335,0.0002511112450959675
+15.2,0.009622648982241232,0.02712264898224125,0.0002275888308790149
+15.6,0.009566336955612823,0.02706633695561285,0.0002063019602993072
+16.,0.009508625816486747,0.02700862581648677,0.0001870378024925155
+16.4,0.009449720249568286,0.02694972024956831,0.0001696038236193155
+16.8,0.009389804359117102,0.02688980435911712,0.0001538258276341862
+17.2,0.009329043673232414,0.02682904367323243,0.0001395461910008877
+17.6,0.009267586931419366,0.02676758693141939,0.0001266222883552429
+18.,0.009205567699068075,0.0267055676990681,0.0001149250703682911
+18.4,0.00914310580881153,0.02664310580881155,0.0001043377941079972
+18.8,0.009080308707316417,0.02658030870731644,0.00009475483565751304
+19.2,0.00901727266907309,0.02651727266907312,0.00008608061941480878
+19.6,0.008954083878199698,0.02645408387819973,0.00007822866353018512
+20.,0.008890819403106542,0.02639081940310657,0.00007112071945500831
diff --git a/models/sbml-test-suite/cases/semantic/00519/00519-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00519/00519-sbml-l2v4.xml
new file mode 100644
index 0000000..c843a6f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00519/00519-sbml-l2v4.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00519" id="case00519" name="case00519">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.00125"/>
+      <parameter id="p2" name="p2" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00519/00519-settings.txt b/models/sbml-test-suite/cases/semantic/00519/00519-settings.txt
new file mode 100644
index 0000000..d088026
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00519/00519-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00520/00520-results.csv b/models/sbml-test-suite/cases/semantic/00520/00520-results.csv
new file mode 100644
index 0000000..77a0100
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00520/00520-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.000025,0.0002,0.0001
+0.4,0.00003451442245666156,0.0002095144224566616,0.0000904837418871838
+0.8,0.0000431225916661263,0.0002181225916661263,0.00008187307547259969
+1.2,0.00005091070674363358,0.0002259107067436336,0.00007408182224728547
+1.6,0.00005795677130765419,0.0002329567713076542,0.00006703200494160374
+2.,0.00006433137265675227,0.0002393313726567523,0.00006065306640540469
+2.4,0.00007009838552938175,0.0002450983855293818,0.00005488116434373562
+2.8,0.0000753156109059978,0.0002503156109059978,0.00004965853136006244
+3.2,0.00008003535250823066,0.0002550353525082306,0.00004493289758224759
+3.6,0.00008430493951944887,0.0002593049395194488,0.00004065696728907994
+4.,0.00008816720134448735,0.0002631672013444873,0.00003678794367434053
+4.4,0.00009166088834122269,0.0002666608883412226,0.00003328710777398482
+4.8,0.00009482106695675861,0.0002698210669567586,0.00003011942310240041
+5.2,0.00009767947540896589,0.0002726794754089658,0.0000272531798291704
+5.6,0.0001002648213202008,0.0002752648213202008,0.0000246596970538927
+6.,0.0001026030859938787,0.0002776030859938787,0.00002231301850749612
+6.4,0.0001047177837766559,0.0002797177837766559,0.00002018965319727283
+6.8,0.000106630184260588,0.000281630184260588,0.00001826835322871706
+7.2,0.0001083595350304168,0.0002833595350304167,0.00001652989111851906
+7.6,0.0001099232564740314,0.0002849232564740314,0.00001495686505371682
+8.,0.0001113371099903332,0.0002863371099903332,0.00001353353075502998
+8.4,0.0001126153547184207,0.0002876153547184207,0.0000122456448278706
+8.8,0.0001137708940191975,0.0002887708940191975,0.00001108031836824528
+9.2,0.0001148154046453699,0.0002898154046453698,0.00001002588787751078
+9.6,0.000115759453035968,0.0002907594530359679,9.071799050814527e-6
+10.,0.0001166125990533299,0.0002916125990533298,8.208503119164936e-6
+10.4,0.0001173834919110023,0.0002923834919110022,7.427360999705768e-6
+10.8,0.0001180799586051863,0.0002930799586051862,6.720554940682811e-6
+11.2,0.0001187090820035714,0.0002937090820035713,6.081010502847432e-6
+11.6,0.0001192772712744859,0.0002942772712744859,5.502326196113394e-6
+12.,0.0001197903246490734,0.0002947903246490733,4.978710777854929e-6
+12.4,0.000120253488476297,0.0002952534884762969,4.504924256868333e-6
+12.8,0.0001206715103784474,0.0002956715103784473,4.076224792362062e-6
+13.2,0.0001210486865701225,0.0002960486865701224,3.688321424537246e-6
+13.6,0.0001213889044120092,0.0002963889044120091,3.337331566259145e-6
+14.,0.0001216956806472358,0.0002966956806472357,3.019742808252328e-6
+14.4,0.0001219721975263001,0.0002969721975263,2.732376834212893e-6
+14.8,0.0001222213347679558,0.0002972213347679557,2.472357495818141e-6
+15.2,0.0001224456982577814,0.0002974456982577812,2.237082146789904e-6
+15.6,0.0001226476457068237,0.0002976476457068235,2.024196013737076e-6
+16.,0.0001228293101396475,0.0002978293101396473,1.831568735387996e-6
+16.4,0.0001229926217771256,0.0002979926217771254,1.657272505492428e-6
+16.8,0.0001231393273234671,0.000298139327323467,1.499562808604205e-6
+17.2,0.0001232710073566571,0.000298271007356657,1.356861050359273e-6
+17.6,0.00012338909181926,0.0002983890918192599,1.227739085236133e-6
+18.,0.0001234948744882476,0.0002984948744882476,1.110904764188812e-6
+18.4,0.0001235895261462304,0.0002985895261462303,1.005188779399835e-6
+18.8,0.0001236741062556221,0.000298674106255622,9.09533004344641e-7
+19.2,0.0001237495734773786,0.0002987495734773785,8.229799879283591e-7
+19.6,0.0001238167950270185,0.0002988167950270184,7.446636099564563e-7
+20.,0.0001238765557062426,0.0002988765557062425,6.738000606609992e-7
diff --git a/models/sbml-test-suite/cases/semantic/00520/00520-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00520/00520-sbml-l2v4.xml
new file mode 100644
index 0000000..2c6fa6c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00520/00520-sbml-l2v4.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00520" id="case00520" name="case00520">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2.5e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="1.25e-005"/>
+      <parameter id="p2" name="p2" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00520/00520-settings.txt b/models/sbml-test-suite/cases/semantic/00520/00520-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00520/00520-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00521/00521-results.csv b/models/sbml-test-suite/cases/semantic/00521/00521-results.csv
new file mode 100644
index 0000000..e2204d0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00521/00521-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.025,0.2,0.1
+0.4,0.03274433224797,0.20774433224797,0.09056846090383244
+0.8,0.03908669386516008,0.2140866938651601,0.08205848467092014
+1.2,0.04418778371037901,0.219187783710379,0.07437888984110599
+1.6,0.04820061927431434,0.2232006192743143,0.06744712638107801
+2.,0.05126773373377165,0.2262677337337717,0.06118862615320704
+2.4,0.05351958673866776,0.2285195867386677,0.05553615510213054
+2.8,0.05507390503981927,0.2300739050398192,0.05042918040400732
+3.2,0.05603570405963974,0.2310357040596397,0.04581326080603526
+3.6,0.05649776820692237,0.2314977682069223,0.04163947210920349
+4.,0.05654142486684125,0.2315414248668412,0.03786387035771052
+4.4,0.05623748367328308,0.231237483673283,0.03444699545446103
+4.8,0.05564724682663659,0.2306472468266365,0.03135341629581346
+5.2,0.05482352479967011,0.2298235247996701,0.02855131706980485
+5.6,0.05381161032894256,0.2288116103289425,0.0260121251033816
+6.,0.0526502032709219,0.2276502032709219,0.02371016983649731
+6.4,0.05137224552565119,0.2263722455256511,0.02162238187185644
+6.8,0.05000568023603322,0.2250056802360332,0.01972802067274796
+7.2,0.04857412748084203,0.223574127480842,0.01800843136419864
+7.6,0.04709748180983066,0.2220974818098306,0.01644682693542048
+8.,0.04559243174501507,0.2205924317450151,0.01502809613041525
+8.4,0.04407292543516058,0.2190729254351606,0.01373862483072072
+8.8,0.04255055515187557,0.2175505551518756,0.01256614755520794
+9.2,0.04103490832896458,0.2160349083289646,0.01149960432935974
+9.6,0.03953385829949375,0.2145338582994937,0.01052901981627442
+10.,0.0380538196175583,0.2130538196175583,0.009645392358071373
+10.4,0.03659996775247806,0.211599967752478,0.008840594184116663
+10.8,0.03517642282875595,0.2101764228287559,0.008107285872595767
+11.2,0.03378641351460654,0.2087864135146065,0.007438834781132942
+11.6,0.0324324140617989,0.2074324140617989,0.006829244378040667
+12.,0.03111625835373611,0.2061162583537361,0.006273094113793044
+12.4,0.02983924463902144,0.2048392446390214,0.00576547879231301
+12.8,0.02860221970739619,0.2036022197073962,0.005301959086408519
+13.2,0.02740565103063207,0.202405651030632,0.004878517365543755
+13.6,0.02624969186665088,0.2012496918666509,0.004491513831734601
+14.,0.02513423316878972,0.2001342331687897,0.004137651470267467
+14.4,0.02405894960128535,0.1990589496012853,0.0038139424804858
+14.8,0.02302333864564584,0.1980233386456458,0.003517678185205634
+15.2,0.02202675370841917,0.1970267537084191,0.003246402245752871
+15.6,0.0210684323789052,0.1960684323789052,0.002997886447482063
+16.,0.02014752046477991,0.1951475204647799,0.002770108880859567
+16.4,0.01926309241052917,0.1942630924105291,0.002561234272200719
+16.8,0.01841416861629672,0.1934141686162966,0.002369596244595143
+17.2,0.01759973010020708,0.192599730100207,0.002193681312993301
+17.6,0.01681873088357616,0.191818730883576,0.002032114438222997
+18.,0.01607010842406897,0.1910701084240689,0.001883645983174615
+18.4,0.01535279237544588,0.1903527923754458,0.001747139930810014
+18.8,0.01466571191287667,0.1896657119128766,0.001621563238258779
+19.2,0.01400780182890257,0.1890078018289025,0.001505976214274159
+19.6,0.01337800760646834,0.1883780076064682,0.001399523938750175
+20.,0.01277528943817201,0.1877752894381719,0.00130142788904965
diff --git a/models/sbml-test-suite/cases/semantic/00521/00521-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00521/00521-sbml-l2v4.xml
new file mode 100644
index 0000000..a9d813b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00521/00521-sbml-l2v4.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00521" id="case00521" name="case00521">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.0125"/>
+      <parameter id="p2" name="p2" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00521/00521-settings.txt b/models/sbml-test-suite/cases/semantic/00521/00521-settings.txt
new file mode 100644
index 0000000..7baa566
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00521/00521-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00522/00522-results.csv b/models/sbml-test-suite/cases/semantic/00522/00522-results.csv
new file mode 100644
index 0000000..4e1e6ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00522/00522-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.00025,0.002,0.001
+0.4,0.000344987408425879,0.002094987408425879,0.0009050125915741203
+0.8,0.0004308727575260409,0.002180872757526041,0.0008191272424739584
+1.2,0.0005085242340697958,0.002258524234069797,0.0007414757659302035
+1.6,0.0005787279466718547,0.002328727946671855,0.0006712720533281446
+2.,0.0006421955514125389,0.002392195551412539,0.0006078044485874604
+2.4,0.0006995711971438605,0.002449571197143861,0.0005504288028561388
+2.8,0.0007514378331344702,0.002501437833134471,0.0004985621668655291
+3.2,0.0007983229537275734,0.002548322953727574,0.0004516770462724258
+3.6,0.0008407038127824474,0.002590703812782448,0.000409296187217552
+4.,0.0008790121721151593,0.00262901217211516,0.00037098782788484
+4.4,0.0009136385531315073,0.002663638553131508,0.0003363614468684921
+4.8,0.0009449361825443458,0.002694936182544347,0.0003050638174556535
+5.2,0.0009732245836152188,0.00272322458361522,0.0002767754163847805
+5.6,0.000998792595115682,0.002748792595115683,0.0002512074048843173
+6.,0.00102190151682227,0.002771901516822271,0.0002280984831777285
+6.4,0.001042787567723039,0.00279278756772304,0.0002072124322769598
+6.8,0.001061664276838883,0.002811664276838884,0.0001883357231611159
+7.2,0.001078724819386408,0.00282872481938641,0.0001712751806135906
+7.6,0.001094143751975197,0.002844143751975199,0.0001558562480248016
+8.,0.001108078909155535,0.002858078909155537,0.0001419210908444638
+8.4,0.00112067296918592,0.002870672969185921,0.0001293270308140787
+8.8,0.001132054909394028,0.002882054909394029,0.0001179450906059706
+9.2,0.001142341321821129,0.00289234132182113,0.0001076586781788701
+9.6,0.001151637594613992,0.002901637594613994,0.00009836240538600601
+10.,0.001160038989921946,0.002910038989921947,0.00008996101007805301
+10.4,0.001167631608957035,0.002917631608957036,0.00008236839104296377
+10.8,0.001174493279650956,0.002924493279650958,0.00007550672034904296
+11.2,0.001180694348336794,0.002930694348336797,0.00006930565166320416
+11.6,0.001186298393637256,0.002936298393637258,0.00006370160636274245
+12.,0.001191362871158699,0.002941362871158702,0.00005863712884129919
+12.4,0.001195939724527905,0.002945939724527908,0.00005406027547209387
+12.8,0.001200075891363118,0.002950075891363121,0.00004992410863688063
+13.2,0.001203813789533281,0.002953813789533283,0.000046186210466718
+13.6,0.001207191768271412,0.002957191768271415,0.00004280823172858654
+14.,0.001210244470869892,0.002960244470869895,0.00003975552913010681
+14.4,0.001213003217425689,0.002963003217425692,0.00003699678257431
+14.8,0.001215496311187069,0.002965496311187072,0.00003450368881292968
+15.2,0.001217749326785202,0.002967749326785205,0.00003225067321479662
+15.6,0.001219785379957242,0.002969785379957245,0.0000302146200427567
+16.,0.001221625362779796,0.002971625362779799,0.00002837463722020325
+16.4,0.001223288156690478,0.002973288156690481,0.00002671184330952103
+16.8,0.001224790822510361,0.002974790822510364,0.00002520917748963769
+17.2,0.001226148778094305,0.002976148778094309,0.00002385122190569365
+17.6,0.001227375958156945,0.002977375958156949,0.00002262404184305312
+18.,0.001228484956680028,0.002978484956680032,0.00002151504331997045
+18.4,0.001229487155385585,0.002979487155385589,0.00002051284461441371
+18.8,0.00123039283834268,0.002980392838342684,0.00001960716165731803
+19.2,0.001231211299149576,0.002981211299149581,0.00001878870085042193
+19.6,0.001231950937181214,0.002981950937181219,0.00001804906281878394
+20.,0.001232619343928499,0.002982619343928504,0.00001738065607149931
diff --git a/models/sbml-test-suite/cases/semantic/00522/00522-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00522/00522-sbml-l2v4.xml
new file mode 100644
index 0000000..d5142bb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00522/00522-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00522" id="case00522" name="case00522">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="0.000125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.75"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.25"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00522/00522-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00522/00522-sbml-l3v1.xml
new file mode 100644
index 0000000..e36d7bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00522/00522-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00522" id="case00522" name="case00522" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="0.000125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.75"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.25"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00522/00522-settings.txt b/models/sbml-test-suite/cases/semantic/00522/00522-settings.txt
new file mode 100644
index 0000000..1651ee1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00522/00522-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00523/00523-results.csv b/models/sbml-test-suite/cases/semantic/00523/00523-results.csv
new file mode 100644
index 0000000..309e50b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00523/00523-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0025,0.02,0.01
+0.4,0.003434160280238639,0.02093416028023864,0.009065839719761359
+0.8,0.004273274669305341,0.02177327466930534,0.008226725330694659
+1.2,0.005026633491381543,0.02252663349138155,0.007473366508618457
+1.6,0.005702694557587829,0.02320269455758783,0.006797305442412172
+2.,0.006309142412257564,0.02380914241225756,0.006190857587742438
+2.4,0.006852946752585116,0.02435294675258512,0.005647053247414886
+2.8,0.007340419007742995,0.024840419007743,0.005159580992257007
+3.2,0.007777266516856155,0.02527726651685616,0.004722733483143846
+3.6,0.00816864396916688,0.02566864396916689,0.004331356030833123
+4.,0.00851920170835476,0.02601920170835476,0.003980798291645241
+4.4,0.008833130867179335,0.02633313086717934,0.003666869132820669
+4.8,0.009114205605057991,0.02661420560505799,0.003385794394942011
+5.2,0.009365821957455526,0.02686582195745553,0.003134178042544476
+5.6,0.009591032984522232,0.02709103298452224,0.002908967015477769
+6.,0.009792582813476422,0.02729258281347643,0.002707417186523577
+6.4,0.009972935099142403,0.02747293509914242,0.002527064900857598
+6.8,0.01013430210871544,0.02763430210871546,0.002365697891284557
+7.2,0.01027866807430899,0.02777866807430901,0.002221331925691005
+7.6,0.01040781316387499,0.02790781316387501,0.002092186836125005
+8.,0.0105233330428459,0.02802333304284592,0.001976666957154103
+8.4,0.01062665820860237,0.02812665820860239,0.001873341791397633
+8.8,0.01071906999020618,0.02821906999020621,0.001780930009793815
+9.2,0.0108017166865221,0.02830171668652212,0.001698283313477898
+9.6,0.01087562646457863,0.02837562646457866,0.001624373535421362
+10.,0.01094171987447885,0.02844171987447887,0.001558280125521148
+10.4,0.01100082137451102,0.02850082137451105,0.00149917862548898
+10.8,0.01105366869085118,0.02855366869085121,0.001446331309148822
+11.2,0.01110092203302709,0.02860092203302712,0.001399077966972909
+11.6,0.01114317240226012,0.02864317240226015,0.001356827597739879
+12.,0.01118094856577153,0.02868094856577156,0.001319051434228466
+12.4,0.01121472357645447,0.0287147235764545,0.00128527642354553
+12.8,0.01124492058301016,0.02874492058301019,0.00125507941698984
+13.2,0.01127191811806488,0.0287719181180649,0.001228081881935121
+13.6,0.01129605478021518,0.02879605478021521,0.001203945219784822
+14.,0.01131763342390099,0.02881763342390102,0.001182366576099011
+14.4,0.01133692491556855,0.02883692491556859,0.001163075084431448
+14.8,0.01135417147923433,0.02885417147923436,0.001145828520765666
+15.2,0.0113695897188048,0.02886958971880484,0.001130410281195196
+15.6,0.01138337332084068,0.02888337332084071,0.001116626679159321
+16.,0.01139569548243621,0.02889569548243625,0.00110430451756379
+16.4,0.01140671107296898,0.02890671107296902,0.001093288927031015
+16.8,0.01141655856877477,0.02891655856877481,0.001083441431225229
+17.2,0.01142536178453576,0.0289253617845358,0.001074638215464235
+17.6,0.01143323142256019,0.02893323142256022,0.00106676857743981
+18.,0.01144026645890218,0.02894026645890222,0.001059733541097818
+18.4,0.01144655538001805,0.02894655538001809,0.001053444619981944
+18.8,0.01145217729211284,0.02895217729211287,0.001047822707887162
+19.2,0.01145720291959875,0.02895720291959878,0.001042797080401249
+19.6,0.01146169548647733,0.02896169548647736,0.001038304513522668
+20.,0.01146571153177891,0.02896571153177894,0.001034288468221087
diff --git a/models/sbml-test-suite/cases/semantic/00523/00523-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00523/00523-sbml-l2v4.xml
new file mode 100644
index 0000000..5e58820
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00523/00523-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00523" id="case00523" name="case00523">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0025" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="0.00125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.75"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.25"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00523/00523-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00523/00523-sbml-l3v1.xml
new file mode 100644
index 0000000..e5526db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00523/00523-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00523" id="case00523" name="case00523" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0025" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="0.00125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.75"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.25"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00523/00523-settings.txt b/models/sbml-test-suite/cases/semantic/00523/00523-settings.txt
new file mode 100644
index 0000000..d088026
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00523/00523-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00524/00524-results.csv b/models/sbml-test-suite/cases/semantic/00524/00524-results.csv
new file mode 100644
index 0000000..9c07887
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00524/00524-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.000025,0.0002,0.0001
+0.4,0.00003451450594477665,0.0002095145059447767,0.00009048549405522332
+0.8,0.0000431229575071012,0.0002181229575071012,0.00008187704249289879
+1.2,0.00005091159686937578,0.0002259115968693757,0.0000740884031306242
+1.6,0.00005795846436857253,0.0002329584643685725,0.00006704153563142746
+2.,0.00006433417775445725,0.0002393341777544572,0.00006066582224554272
+2.4,0.00007010263646519843,0.0002451026364651983,0.00005489736353480155
+2.8,0.00007532166055666669,0.0002503216605566666,0.00004967833944333329
+3.2,0.00008004356782209842,0.0002550435678220983,0.00004495643217790154
+3.6,0.00008431569695635809,0.0002593156969563579,0.00004068430304364187
+4.,0.00008818088265981086,0.0002631808826598107,0.00003681911734018909
+4.4,0.00009167787752818745,0.0002666778775281872,0.0000333221224718125
+4.8,0.00009484174675407983,0.0002698417467540795,0.00003015825324592012
+5.2,0.00009770422463919683,0.0002727042246391965,0.00002729577536080311
+5.6,0.0001002940121248271,0.0002752940121248269,0.00002470598787517283
+6.,0.0001026370837636335,0.0002776370837636333,0.00002236291623636638
+6.4,0.0001047569434300626,0.0002797569434300623,0.0000202430565699373
+6.8,0.0001066748496369118,0.0002816748496369115,0.00001832515036308809
+7.2,0.0001084100391184009,0.0002834100391184006,0.000016589960881599
+7.6,0.0001099799199967493,0.000284979919996749,0.00001502008000325059
+8.,0.0001114002398239348,0.0002864002398239345,0.00001359976017606517
+8.4,0.0001126852445685531,0.0002876852445685529,0.00001231475543144679
+8.8,0.0001138478244250982,0.000288847824425098,0.00001115217557490174
+9.2,0.0001148996427442072,0.000289899642744207,0.00001010035725579274
+9.6,0.0001158512524833999,0.0002908512524833997,9.148747516600061e-6
+10.,0.0001167122001413487,0.0002917122001413486,8.287799858651219e-6
+10.4,0.0001174911220322038,0.0002924911220322036,7.508877967796168e-6
+10.8,0.0001181958324946835,0.0002931958324946833,6.80416750531643e-6
+11.2,0.0001188334020306808,0.0002938334020306806,6.166597969319138e-6
+11.6,0.0001194102278894798,0.0002944102278894796,5.58977211052015e-6
+12.,0.0001199320970240228,0.0002949320970240226,5.067902975977147e-6
+12.4,0.0001204042447483719,0.0002954042447483717,4.595755251628025e-6
+12.8,0.000120831408070496,0.0002958314080704958,4.168591929503931e-6
+13.2,0.0001212178730505196,0.0002962178730505195,3.782126949480313e-6
+13.6,0.0001215675175680464,0.0002965675175680463,3.432482431953475e-6
+14.,0.0001218838494721694,0.0002968838494721692,3.116150527830524e-6
+14.4,0.000122170042301369,0.0002971700423013689,2.829957698630907e-6
+14.8,0.0001224289675192149,0.0002974289675192148,2.571032480784968e-6
+15.2,0.0001226632232192991,0.000297663223219299,2.336776780700738e-6
+15.6,0.0001228751600295092,0.0002978751600295091,2.124839970490632e-6
+16.,0.0001230669042441606,0.0002980669042441605,1.933095755839302e-6
+16.4,0.0001232403795608977,0.0002982403795608976,1.75962043910216e-6
+16.8,0.0001233973265629042,0.0002983973265629041,1.60267343709568e-6
+17.2,0.0001235393201188141,0.0002985393201188141,1.460679881185722e-6
+17.6,0.0001236677850678906,0.0002986677850678906,1.332214932109238e-6
+18.,0.0001237840102572417,0.0002987840102572416,1.21598974275817e-6
+18.4,0.0001238891617578974,0.0002988891617578973,1.110838242102453e-6
+18.8,0.0001239842946405093,0.0002989842946405092,1.015705359490533e-6
+19.2,0.0001240703635230516,0.0002990703635230515,9.296364769482564e-7
+19.6,0.0001241482320424547,0.0002991482320424547,8.517679575451125e-7
+20.,0.0001242186814171372,0.0002992186814171373,7.81318582862607e-7
diff --git a/models/sbml-test-suite/cases/semantic/00524/00524-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00524/00524-sbml-l2v4.xml
new file mode 100644
index 0000000..0f102cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00524/00524-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00524" id="case00524" name="case00524">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.25e-005"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.75"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.25"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00524/00524-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00524/00524-sbml-l3v1.xml
new file mode 100644
index 0000000..7b86355
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00524/00524-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00524" id="case00524" name="case00524" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.25e-005" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.75"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.25"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00524/00524-settings.txt b/models/sbml-test-suite/cases/semantic/00524/00524-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00524/00524-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00525/00525-results.csv b/models/sbml-test-suite/cases/semantic/00525/00525-results.csv
new file mode 100644
index 0000000..6ffb802
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00525/00525-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.2,0.9048374180297637,1.595162581970236
+0.4,0.8187307530678463,1.681269246932154
+0.6,0.7408182193488913,1.759181780651109
+0.8,0.6703200446045471,1.829679955395452
+1.,0.6065306582283019,1.893469341771698
+1.2,0.5488116279094619,1.951188372090538
+1.4,0.4965852941406662,2.003414705859333
+1.6,0.4493289549957622,2.050671045004238
+1.8,0.4065696527167856,2.093430347283214
+2.,0.3678794216965456,2.132120578303454
+2.2,0.3328710836870444,2.167128916312957
+2.4,0.3011942117970897,2.198805788202912
+2.6,0.2725317929307889,2.227468207069212
+2.8,0.2465969634790944,2.253403036520907
+3.,0.223130158917576,2.276869841082426
+3.2,0.2018965179575218,2.29810348204248
+3.4,0.1826835240011246,2.317316475998878
+3.6,0.1652988856362918,2.33470111436371
+3.8,0.1495686149101082,2.350431385089894
+4.,0.1353352813550555,2.364664718644947
+4.2,0.122456428162302,2.3775435718377
+4.4,0.1108031507902467,2.389196849209756
+4.6,0.1002588434096688,2.399741156590334
+4.8,0.09071794831496324,2.409282051685039
+5.,0.08208499492437311,2.417915005075629
+5.2,0.07427357738203568,2.425726422617966
+5.4,0.06720550804878748,2.432794491951214
+5.6,0.06081006200251096,2.439189937997491
+5.8,0.05502321662972115,2.444976783370281
+6.,0.04978706286295912,2.450212937137043
+6.2,0.0450491992488263,2.454950800751176
+6.4,0.04076220390950022,2.459237796090502
+6.6,0.03688316567268454,2.463116834327317
+6.8,0.03337326636569754,2.466626733634305
+7.,0.0301973808950397,2.469802619104962
+7.2,0.02732372219399922,2.472676277806003
+7.4,0.02472352568739283,2.475276474312609
+7.6,0.02237076959001986,2.477629230409982
+7.8,0.02024190951729957,2.479758090482702
+8.,0.018315638500386,2.481684361499616
+8.2,0.01657267510423135,2.48342732489577
+8.4,0.01499557544560412,2.485004424554397
+8.6,0.0135685576024149,2.486431442397586
+8.8,0.01227733946395605,2.487722660536045
+9.,0.01110899645871722,2.488891003541283
+9.2,0.01005183494653649,2.489948165053464
+9.4,0.009095276109167188,2.490904723890834
+9.6,0.008229746625600708,2.4917702533744
+9.8,0.007446583068338345,2.492553416931663
+10.,0.006737946999097447,2.493262053000903
diff --git a/models/sbml-test-suite/cases/semantic/00525/00525-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00525/00525-sbml-l2v4.xml
new file mode 100644
index 0000000..ed86f34
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00525/00525-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00525" id="case00525" name="case00525">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="5.4" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00525/00525-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00525/00525-sbml-l3v1.xml
new file mode 100644
index 0000000..a0270e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00525/00525-sbml-l3v1.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00525" id="case00525" name="case00525" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="5.4" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.5"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00525/00525-settings.txt b/models/sbml-test-suite/cases/semantic/00525/00525-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00525/00525-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00526/00526-results.csv b/models/sbml-test-suite/cases/semantic/00526/00526-results.csv
new file mode 100644
index 0000000..6ffb802
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00526/00526-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.2,0.9048374180297637,1.595162581970236
+0.4,0.8187307530678463,1.681269246932154
+0.6,0.7408182193488913,1.759181780651109
+0.8,0.6703200446045471,1.829679955395452
+1.,0.6065306582283019,1.893469341771698
+1.2,0.5488116279094619,1.951188372090538
+1.4,0.4965852941406662,2.003414705859333
+1.6,0.4493289549957622,2.050671045004238
+1.8,0.4065696527167856,2.093430347283214
+2.,0.3678794216965456,2.132120578303454
+2.2,0.3328710836870444,2.167128916312957
+2.4,0.3011942117970897,2.198805788202912
+2.6,0.2725317929307889,2.227468207069212
+2.8,0.2465969634790944,2.253403036520907
+3.,0.223130158917576,2.276869841082426
+3.2,0.2018965179575218,2.29810348204248
+3.4,0.1826835240011246,2.317316475998878
+3.6,0.1652988856362918,2.33470111436371
+3.8,0.1495686149101082,2.350431385089894
+4.,0.1353352813550555,2.364664718644947
+4.2,0.122456428162302,2.3775435718377
+4.4,0.1108031507902467,2.389196849209756
+4.6,0.1002588434096688,2.399741156590334
+4.8,0.09071794831496324,2.409282051685039
+5.,0.08208499492437311,2.417915005075629
+5.2,0.07427357738203568,2.425726422617966
+5.4,0.06720550804878748,2.432794491951214
+5.6,0.06081006200251096,2.439189937997491
+5.8,0.05502321662972115,2.444976783370281
+6.,0.04978706286295912,2.450212937137043
+6.2,0.0450491992488263,2.454950800751176
+6.4,0.04076220390950022,2.459237796090502
+6.6,0.03688316567268454,2.463116834327317
+6.8,0.03337326636569754,2.466626733634305
+7.,0.0301973808950397,2.469802619104962
+7.2,0.02732372219399922,2.472676277806003
+7.4,0.02472352568739283,2.475276474312609
+7.6,0.02237076959001986,2.477629230409982
+7.8,0.02024190951729957,2.479758090482702
+8.,0.018315638500386,2.481684361499616
+8.2,0.01657267510423135,2.48342732489577
+8.4,0.01499557544560412,2.485004424554397
+8.6,0.0135685576024149,2.486431442397586
+8.8,0.01227733946395605,2.487722660536045
+9.,0.01110899645871722,2.488891003541283
+9.2,0.01005183494653649,2.489948165053464
+9.4,0.009095276109167188,2.490904723890834
+9.6,0.008229746625600708,2.4917702533744
+9.8,0.007446583068338345,2.492553416931663
+10.,0.006737946999097447,2.493262053000903
diff --git a/models/sbml-test-suite/cases/semantic/00526/00526-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00526/00526-sbml-l2v4.xml
new file mode 100644
index 0000000..a8967fe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00526/00526-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00526" id="case00526" name="case00526">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00526/00526-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00526/00526-sbml-l3v1.xml
new file mode 100644
index 0000000..450ccf7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00526/00526-sbml-l3v1.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00526" id="case00526" name="case00526" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.5"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00526/00526-settings.txt b/models/sbml-test-suite/cases/semantic/00526/00526-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00526/00526-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00527/00527-results.csv b/models/sbml-test-suite/cases/semantic/00527/00527-results.csv
new file mode 100644
index 0000000..6ffb802
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00527/00527-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.2,0.9048374180297637,1.595162581970236
+0.4,0.8187307530678463,1.681269246932154
+0.6,0.7408182193488913,1.759181780651109
+0.8,0.6703200446045471,1.829679955395452
+1.,0.6065306582283019,1.893469341771698
+1.2,0.5488116279094619,1.951188372090538
+1.4,0.4965852941406662,2.003414705859333
+1.6,0.4493289549957622,2.050671045004238
+1.8,0.4065696527167856,2.093430347283214
+2.,0.3678794216965456,2.132120578303454
+2.2,0.3328710836870444,2.167128916312957
+2.4,0.3011942117970897,2.198805788202912
+2.6,0.2725317929307889,2.227468207069212
+2.8,0.2465969634790944,2.253403036520907
+3.,0.223130158917576,2.276869841082426
+3.2,0.2018965179575218,2.29810348204248
+3.4,0.1826835240011246,2.317316475998878
+3.6,0.1652988856362918,2.33470111436371
+3.8,0.1495686149101082,2.350431385089894
+4.,0.1353352813550555,2.364664718644947
+4.2,0.122456428162302,2.3775435718377
+4.4,0.1108031507902467,2.389196849209756
+4.6,0.1002588434096688,2.399741156590334
+4.8,0.09071794831496324,2.409282051685039
+5.,0.08208499492437311,2.417915005075629
+5.2,0.07427357738203568,2.425726422617966
+5.4,0.06720550804878748,2.432794491951214
+5.6,0.06081006200251096,2.439189937997491
+5.8,0.05502321662972115,2.444976783370281
+6.,0.04978706286295912,2.450212937137043
+6.2,0.0450491992488263,2.454950800751176
+6.4,0.04076220390950022,2.459237796090502
+6.6,0.03688316567268454,2.463116834327317
+6.8,0.03337326636569754,2.466626733634305
+7.,0.0301973808950397,2.469802619104962
+7.2,0.02732372219399922,2.472676277806003
+7.4,0.02472352568739283,2.475276474312609
+7.6,0.02237076959001986,2.477629230409982
+7.8,0.02024190951729957,2.479758090482702
+8.,0.018315638500386,2.481684361499616
+8.2,0.01657267510423135,2.48342732489577
+8.4,0.01499557544560412,2.485004424554397
+8.6,0.0135685576024149,2.486431442397586
+8.8,0.01227733946395605,2.487722660536045
+9.,0.01110899645871722,2.488891003541283
+9.2,0.01005183494653649,2.489948165053464
+9.4,0.009095276109167188,2.490904723890834
+9.6,0.008229746625600708,2.4917702533744
+9.8,0.007446583068338345,2.492553416931663
+10.,0.006737946999097447,2.493262053000903
diff --git a/models/sbml-test-suite/cases/semantic/00527/00527-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00527/00527-sbml-l2v4.xml
new file mode 100644
index 0000000..b03029c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00527/00527-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00527" id="case00527" name="case00527">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00527/00527-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00527/00527-sbml-l3v1.xml
new file mode 100644
index 0000000..d7f3a39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00527/00527-sbml-l3v1.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00527" id="case00527" name="case00527" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> k </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.5"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00527/00527-settings.txt b/models/sbml-test-suite/cases/semantic/00527/00527-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00527/00527-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00528/00528-results.csv b/models/sbml-test-suite/cases/semantic/00528/00528-results.csv
new file mode 100644
index 0000000..6ffb802
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00528/00528-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.2,0.9048374180297637,1.595162581970236
+0.4,0.8187307530678463,1.681269246932154
+0.6,0.7408182193488913,1.759181780651109
+0.8,0.6703200446045471,1.829679955395452
+1.,0.6065306582283019,1.893469341771698
+1.2,0.5488116279094619,1.951188372090538
+1.4,0.4965852941406662,2.003414705859333
+1.6,0.4493289549957622,2.050671045004238
+1.8,0.4065696527167856,2.093430347283214
+2.,0.3678794216965456,2.132120578303454
+2.2,0.3328710836870444,2.167128916312957
+2.4,0.3011942117970897,2.198805788202912
+2.6,0.2725317929307889,2.227468207069212
+2.8,0.2465969634790944,2.253403036520907
+3.,0.223130158917576,2.276869841082426
+3.2,0.2018965179575218,2.29810348204248
+3.4,0.1826835240011246,2.317316475998878
+3.6,0.1652988856362918,2.33470111436371
+3.8,0.1495686149101082,2.350431385089894
+4.,0.1353352813550555,2.364664718644947
+4.2,0.122456428162302,2.3775435718377
+4.4,0.1108031507902467,2.389196849209756
+4.6,0.1002588434096688,2.399741156590334
+4.8,0.09071794831496324,2.409282051685039
+5.,0.08208499492437311,2.417915005075629
+5.2,0.07427357738203568,2.425726422617966
+5.4,0.06720550804878748,2.432794491951214
+5.6,0.06081006200251096,2.439189937997491
+5.8,0.05502321662972115,2.444976783370281
+6.,0.04978706286295912,2.450212937137043
+6.2,0.0450491992488263,2.454950800751176
+6.4,0.04076220390950022,2.459237796090502
+6.6,0.03688316567268454,2.463116834327317
+6.8,0.03337326636569754,2.466626733634305
+7.,0.0301973808950397,2.469802619104962
+7.2,0.02732372219399922,2.472676277806003
+7.4,0.02472352568739283,2.475276474312609
+7.6,0.02237076959001986,2.477629230409982
+7.8,0.02024190951729957,2.479758090482702
+8.,0.018315638500386,2.481684361499616
+8.2,0.01657267510423135,2.48342732489577
+8.4,0.01499557544560412,2.485004424554397
+8.6,0.0135685576024149,2.486431442397586
+8.8,0.01227733946395605,2.487722660536045
+9.,0.01110899645871722,2.488891003541283
+9.2,0.01005183494653649,2.489948165053464
+9.4,0.009095276109167188,2.490904723890834
+9.6,0.008229746625600708,2.4917702533744
+9.8,0.007446583068338345,2.492553416931663
+10.,0.006737946999097447,2.493262053000903
diff --git a/models/sbml-test-suite/cases/semantic/00528/00528-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00528/00528-sbml-l2v4.xml
new file mode 100644
index 0000000..5283226
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00528/00528-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00528" id="case00528" name="case00528">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="division" name="division">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> division </ci>
+            <ci> k2 </ci>
+            <cn type="integer"> 100 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00528/00528-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00528/00528-sbml-l3v1.xml
new file mode 100644
index 0000000..e0de12c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00528/00528-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00528" id="case00528" name="case00528" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="division" name="division">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> division </ci>
+            <ci> k2 </ci>
+            <cn type="integer"> 100 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00528/00528-settings.txt b/models/sbml-test-suite/cases/semantic/00528/00528-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00528/00528-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00529/00529-results.csv b/models/sbml-test-suite/cases/semantic/00529/00529-results.csv
new file mode 100644
index 0000000..46966f5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00529/00529-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.001125,0.0015
+0.04,0.0009210720972003302,0.001703927902799669
+0.08,0.0007541100501610384,0.001870889949838961
+0.12,0.0006174130813558783,0.002007586918644121
+0.16,0.0005054950743836494,0.00211950492561635
+0.2,0.0004138643493720057,0.002211135650627994
+0.24,0.0003388434882711093,0.002286156511728889
+0.28,0.0002774215839360124,0.002347578416063987
+0.32,0.0002271335827120309,0.002397866417287969
+0.36,0.0001859612464820754,0.002439038753517924
+0.4,0.0001522521913733488,0.002472747808626651
+0.44,0.0001246535447701027,0.002500346455229896
+0.48,0.0001020576916228903,0.002522942308377109
+0.52,0.00008355777429690719,0.002541442225703092
+0.56,0.00006841131997066093,0.002556588680029338
+0.6,0.00005601044571065124,0.002568989554289348
+0.64,0.00004585747946048659,0.002579142520539512
+0.68,0.00003754492460197948,0.002587455075398019
+0.72,0.00003073918757273727,0.002594260812427261
+0.76,0.00002516711571909687,0.002599832884280902
+0.8,0.00002060509340698293,0.002604394906593016
+0.84,0.00001687002231412856,0.00260812997768587
+0.88,0.00001381200696643452,0.002611187993033564
+0.92,0.00001130831426627498,0.002613691685733724
+0.96,9.25846499970456e-6,0.002615741535000294
+1.,7.580189845447403e-6,0.002617419810154552
+1.04,6.206134585684651e-6,0.002618793865414315
+1.08,5.081153284324948e-6,0.002619918846715674
+1.12,4.160096358891408e-6,0.002620839903641108
+1.16,3.40599895703777e-6,0.002621594001042961
+1.2,2.788595946628346e-6,0.002622211404053371
+1.24,2.283109411519283e-6,0.00262271689058848
+1.28,1.869251744267832e-6,0.002623130748255731
+1.32,1.530414024930372e-6,0.002623469585975069
+1.36,1.252996906695877e-6,0.002623747003093303
+1.4,1.025867208382199e-6,0.002623974132791617
+1.44,8.399089415443102e-7,0.002624160091058455
+1.48,6.876593562472791e-7,0.002624312340643751
+1.52,5.630078007663684e-7,0.002624436992199232
+1.56,4.609518493539042e-7,0.002624539048150645
+1.6,3.77395416633664e-7,0.002624622604583365
+1.64,3.089852618140811e-7,0.002624691014738184
+1.68,2.529757150913486e-7,0.002624747024284907
+1.72,2.071190121078253e-7,0.002624792880987891
+1.76,1.695746948771649e-7,0.002624830425305122
+1.8,1.388360235711203e-7,0.002624861163976428
+1.84,1.136693188215621e-7,0.002624886330681177
+1.88,9.306456821944371e-8,0.00262490693543178
+1.92,7.619482418265781e-8,0.002624923805175817
+1.96,6.238304470187467e-8,0.002624937616955297
+2.,5.107492098323739e-8,0.002624948925079015
diff --git a/models/sbml-test-suite/cases/semantic/00529/00529-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00529/00529-sbml-l2v4.xml
new file mode 100644
index 0000000..f392025
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00529/00529-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00529" id="case00529" name="case00529">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00529/00529-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00529/00529-sbml-l3v1.xml
new file mode 100644
index 0000000..c5cafa3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00529/00529-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00529" id="case00529" name="case00529" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00529/00529-settings.txt b/models/sbml-test-suite/cases/semantic/00529/00529-settings.txt
new file mode 100644
index 0000000..eb90d09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00529/00529-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00530/00530-results.csv b/models/sbml-test-suite/cases/semantic/00530/00530-results.csv
new file mode 100644
index 0000000..1b5a704
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00530/00530-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,1.5
+0.2,0.904837,1.59516
+0.4,0.818731,1.68127
+0.6,0.740818,1.75918
+0.8,0.67032,1.82968
+1,0.606531,1.89347
+1.2,0.548812,1.95119
+1.4,0.496585,2.00341
+1.6,0.449329,2.05067
+1.8,0.40657,2.09343
+2,0.367879,2.13212
+2.2,0.332871,2.16713
+2.4,0.301194,2.19881
+2.6,0.272532,2.22747
+2.8,0.246597,2.2534
+3,0.22313,2.27687
+3.2,0.201897,2.2981
+3.4,0.182684,2.31732
+3.6,0.165299,2.3347
+3.8,0.149569,2.35043
+4,0.135335,2.36466
+4.2,0.122456,2.37754
+4.4,0.110803,2.3892
+4.6,0.100259,2.39974
+4.8,0.090718,2.40928
+5,0.082085,2.41792
+5.2,0.0742736,2.42573
+5.4,0.0672055,2.43279
+5.6,0.0608101,2.43919
+5.8,0.0550232,2.44498
+6,0.0497871,2.45021
+6.2,0.0450492,2.45495
+6.4,0.0407622,2.45924
+6.6,0.0368832,2.46312
+6.8,0.0333733,2.46663
+7,0.0301974,2.4698
+7.2,0.0273237,2.47268
+7.4,0.0247235,2.47528
+7.6,0.0223708,2.47763
+7.8,0.0202419,2.47976
+8,0.0183156,2.48168
+8.2,0.0165727,2.48343
+8.4,0.0149956,2.485
+8.6,0.0135686,2.48643
+8.8,0.0122773,2.48772
+9,0.011109,2.48889
+9.2,0.0100518,2.48995
+9.4,0.00909528,2.4909
+9.6,0.00822975,2.49177
+9.8,0.00744658,2.49255
+10,0.00673795,2.49326
diff --git a/models/sbml-test-suite/cases/semantic/00530/00530-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00530/00530-sbml-l2v4.xml
new file mode 100644
index 0000000..72d4e75
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00530/00530-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00530" id="case00530" name="case00530">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="division" name="division">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> division </ci>
+            <ci> k2 </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00530/00530-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00530/00530-sbml-l3v1.xml
new file mode 100644
index 0000000..0bf3f07
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00530/00530-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00530" id="case00530" name="case00530" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="division" name="division">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> division </ci>
+            <ci> k2 </ci>
+            <cn type="integer"> 50 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00530/00530-settings.txt b/models/sbml-test-suite/cases/semantic/00530/00530-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00530/00530-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00531/00531-results.csv b/models/sbml-test-suite/cases/semantic/00531/00531-results.csv
new file mode 100644
index 0000000..d8ca0ef
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00531/00531-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.8,0.9231163576760428,0.003244954546376271,0.07363868777758049,0.02103962507930871
+1.6,0.852143797119792,0.01228934852172851,0.1355668543584791,0.03873338695956547
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408771
+3.2,0.7261490388594339,0.0441187653010724,0.229732195839493,0.06563777023985514
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211857,0.07552395726319598
+4.8,0.6187833959095926,0.08923458373363536,0.2919820203567714,0.08342343438764897
+5.6,0.5712090691367363,0.115226949975085,0.3135639808881781,0.08958970882519375
+6.4,0.527292430303364,0.1428377588031926,0.3298698108934429,0.09424851739812653
+7.2,0.4867522629833074,0.1716454790421784,0.3416022579745136,0.0976006451355753
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.8,0.4147829193123543,0.2314432235434361,0.3537738571442088,0.1010782448983454
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695933
+10.4,0.3534546892749864,0.2922740173858473,0.3542712933391655,0.1012203695254758
+11.2,0.3262798016246614,0.3225220653115714,0.3511981330637665,0.1003423237325047
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.8,0.2780373067704968,0.381859433253978,0.3401032599755243,0.09717235999300695
+13.6,0.2566607829604508,0.4106989428400723,0.3326402741994762,0.0950400783427075
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153505
+15.2,0.218711892465461,0.4662571409389489,0.3150309665955892,0.09000884759873981
+16.,0.201896523328712,0.4928446152826625,0.3052588613886247,0.08721681753960708
+16.8,0.1863739812348858,0.5185748091363077,0.2950512096288057,0.08430034560823018
+17.6,0.1720448689137586,0.5434161403007272,0.2845389907855135,0.08129685451014671
+18.4,0.1588174311185365,0.5673474631569459,0.2738351057245169,0.07823860163557622
+19.2,0.1466069670797981,0.5903566084244245,0.2630364244957769,0.0751532641416506
+20.,0.1353352881320281,0.6124390892251168,0.2522256226428545,0.07206446361224414
+20.8,0.1249302170397254,0.6335969562283414,0.2414728267319325,0.06899223620912355
+21.6,0.1153251258170146,0.6538377863401316,0.230837087842853,0.06595345366938656
+22.4,0.1064585090813175,0.6731737909305423,0.2203676999881394,0.0629621999966113
+23.2,0.09827359020907854,0.6916210309759469,0.2101053788149741,0.06003010823284978
+24.,0.09071795777162411,0.7091987277459966,0.2000833144823785,0.05716666128067959
+24.8,0.08374322992311772,0.7259286587978532,0.1903281112790284,0.05437946036543669
+25.6,0.07730474459155821,0.7418346300648678,0.1808606253435735,0.05167446438387814
+26.4,0.07136127349103149,0.7569420157512529,0.1716967107577151,0.04905620307363291
+27.2,0.06587475812985803,0.7712773585918839,0.1628478832782575,0.04652796665093073
+28.,0.06081006609370411,0.7848680237689277,0.1543219101373677,0.04409197432496221
+28.8,0.05613476607347927,0.7977419004863195,0.1461233334402007,0.04174952384005732
+29.6,0.05181892019508172,0.8099271458124044,0.1382539339925134,0.03950112399786098
+30.4,0.0478348918333787,0.821451967458649,0.1307131407079717,0.03734661163084899
+31.2,0.04415717292640171,0.8323444345429821,0.1234983925306159,0.03528525500874741
+32.,0.04076221024962101,0.842632323699325,0.1166054660510536,0.03331584744315819
+32.8,0.03762826420909886,0.8523429870162668,0.1100287487746341,0.03143678536418119
+33.6,0.0347352670976318,0.8615032457558831,0.1037614871464847,0.02964613918470993
+34.4,0.03206469397497657,0.870139301220477,0.09779600480454613,0.02794171565844176
+35.2,0.0295994443822524,0.8782766646661905,0.09212389095155668,0.02632111170044474
+36.,0.0273237322985417,0.8859401004741343,0.08673616722732366,0.0247817620649496
+36.8,0.02522298539169481,0.8931535844192912,0.08162343018901355,0.02332098005400391
+37.6,0.02328375164911204,0.8999402725885657,0.07677597576232184,0.02193599307494906
+38.4,0.02149361331684824,0.9063224804397391,0.07218390624341232,0.02062397321240351
+39.2,0.01984110733293491,0.9123216701198343,0.0678372225472305,0.01938206358492304
+40.,0.01831565183179745,0.9179584444089654,0.06372590375923677,0.01820740107406764
diff --git a/models/sbml-test-suite/cases/semantic/00531/00531-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00531/00531-sbml-l2v4.xml
new file mode 100644
index 0000000..6f6d0ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00531/00531-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00531" id="case00531" name="case00531">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00531/00531-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00531/00531-sbml-l3v1.xml
new file mode 100644
index 0000000..9ffcf13
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00531/00531-sbml-l3v1.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00531" id="case00531" name="case00531" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00531/00531-settings.txt b/models/sbml-test-suite/cases/semantic/00531/00531-settings.txt
new file mode 100644
index 0000000..254736a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00531/00531-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 40.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00532/00532-results.csv b/models/sbml-test-suite/cases/semantic/00532/00532-results.csv
new file mode 100644
index 0000000..c837bb6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00532/00532-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.25,1.5,1.,3.75
+0.2,1.225248341634303,1.539700676519924,0.9850509818457722,3.75
+0.4,1.200986798940196,1.578805488713228,0.9702077123465742,3.75
+0.6,1.177205666979558,1.617318775215723,0.9554755578047179,3.75
+0.8,1.153895432982213,1.655245081271962,0.9408594857458226,3.75
+1.,1.131046772543813,1.692589143176806,0.9263640842793794,3.75
+1.2,1.108650545895531,1.729355873471387,0.9119935806330805,3.75
+1.4,1.086697794248031,1.765550346865127,0.8977518588868403,3.75
+1.6,1.065179736207841,1.801177786851692,0.8836424769404664,3.75
+1.8,1.044087764264675,1.836243552988863,0.8696686827464605,3.75
+2.,1.023413441348331,1.870753128813516,0.8558334298381515,3.75
+2.2,1.003148497453801,1.904712110364152,0.8421393921820457,3.75
+2.4,0.9832848263334661,1.938126195284579,0.8285889783819537,3.75
+2.6,0.9638144822542471,1.971001172482932,0.815184345262819,3.75
+2.8,0.9447296768190583,2.003342912322143,0.8019274108587969,3.75
+3.,0.9260227758513512,2.035157357318519,0.7888198668301277,3.75
+3.2,0.9076862963413465,2.066450513325981,0.7758631903326707,3.75
+3.4,0.889712903452737,2.097228441184507,0.763058655362754,3.75
+3.6,0.872095407588659,2.127497248812244,0.7504073435990956,3.75
+3.8,0.854826761515763,2.157263083721579,0.7379101547626564,3.75
+4.,0.8379000575452307,2.186532125940305,0.7255678165144631,3.75
+4.2,0.8213085247696122,2.21531058131977,0.7133808939106155,3.75
+4.4,0.8050455263544958,2.243604675212696,0.7013497984328063,3.75
+4.6,0.789104556883846,2.271420646503989,0.6894747966121632,3.75
+4.8,0.7734792397574856,2.29876474197865,0.677756018263863,3.75
+5.,0.7581633246403313,2.325643211011569,0.6661934643480982,3.75
+5.2,0.7431506849621806,2.35206230056457,0.654787014473248,3.75
+5.4,0.7284353154670067,2.378028250476669,0.6435364340563228,3.75
+5.6,0.7140113298107803,2.403547289034141,0.6324413811550775,3.75
+5.8,0.6998729582068564,2.428625628807533,0.6215014129856099,3.75
+6.,0.686014545117988,2.453269462743309,0.610715992138702,3.75
+6.2,0.672430546994038,2.477484960498342,0.6000844925076181,3.75
+6.4,0.6591155300544969,2.501278265005945,0.5896062049395565,3.75
+6.6,0.6460641681150695,2.524655489262563,0.5792803426223668,3.75
+6.8,0.6332712404571114,2.547622713324886,0.5691060462180003,3.75
+7.,0.6207316297391001,2.570185981507478,0.5590823887534199,3.75
+7.2,0.608440319949625,2.592351299771299,0.5492083802790743,3.75
+7.4,0.5963923944009192,2.614124633294104,0.5394829723049758,3.75
+7.6,0.5845830337621243,2.635511904213981,0.5299050620238925,3.75
+7.8,0.5730075141314948,2.656518989537728,0.5204734963307758,3.75
+8.,0.5616612051467794,2.677151719206051,0.5111870756471677,3.75
+8.2,0.5505395681330156,2.697415874308007,0.5020445575589747,3.75
+8.4,0.5396381542870036,2.717317185437341,0.4930446602756538,3.75
+8.6,0.5289526028828951,2.736861331193378,0.4841860659237248,3.75
+8.8,0.5184786395933741,2.756053936758648,0.4754674236479757,3.75
+9.,0.5082120746710362,2.774900572708945,0.4668873526200166,3.75
+9.2,0.4981488013557504,2.793406753817787,0.4584444448264598,3.75
+9.4,0.4882847941985928,2.811577938045618,0.4501372677557866,3.75
+9.6,0.4786161074652183,2.829419525601256,0.4419643669335225,3.75
+9.8,0.4691388735574352,2.846936858111336,0.4339242683312251,3.75
+10.,0.4598493014659813,2.864135217883657,0.426015480650359,3.75
diff --git a/models/sbml-test-suite/cases/semantic/00532/00532-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00532/00532-sbml-l1v2.xml
new file mode 100644
index 0000000..d268d9c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00532/00532-sbml-l1v2.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00532">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="X0" compartment="C" initialAmount="1.25" units="substance"/>
+      <species name="X1" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="T" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S1" compartment="C" initialAmount="3.75" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.1"/>
+      <parameter name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="-1 * S1 + T + X0 + X1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * X0"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * T"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00532/00532-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00532/00532-sbml-l2v4.xml
new file mode 100644
index 0000000..e19d900
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00532/00532-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00532" id="case00532" name="case00532">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00532/00532-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00532/00532-sbml-l3v1.xml
new file mode 100644
index 0000000..92eca49
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00532/00532-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00532" id="case00532" name="case00532" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00532/00532-settings.txt b/models/sbml-test-suite/cases/semantic/00532/00532-settings.txt
new file mode 100644
index 0000000..979aa8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00532/00532-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-002
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00533/00533-results.csv b/models/sbml-test-suite/cases/semantic/00533/00533-results.csv
new file mode 100644
index 0000000..995c976
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00533/00533-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.2,0.2,-1.591495498552025e-21,7.956766634421213e-26
+0.2,0.1506974930948974,0.146661118359156,0.0493025069051025,0.004036374735741482
+0.4,0.1326817146332527,0.1202747867937085,0.0673182853667472,0.01240692783954431
+0.6,0.1265637949567466,0.1042177052143714,0.07343620504325329,0.02234608974237534
+0.8,0.1255842981419129,0.09284963060742337,0.07441570185808696,0.03273466753448967
+1.,0.1269631173733502,0.08388852778684551,0.07303688262664966,0.04307458958650485
+1.2,0.1294527265222494,0.07631862538241455,0.07054727347775051,0.05313410113983495
+1.4,0.1324625520290719,0.06965856832428665,0.06753744797092799,0.06280398370478533
+1.6,0.1357013493246237,0.06366724143224836,0.06429865067537615,0.07203410789237546
+1.8,0.139019603539388,0.05821560335572302,0.06098039646061194,0.08080400018366505
+2.,0.1423368382845747,0.05322811880002331,0.05766316171542523,0.08910871948455145
+2.2,0.1456071817684803,0.04865528056556957,0.05439281823151963,0.09695190120291079
+2.4,0.1488026899873151,0.04446047412701692,0.05119731001268488,0.1043422158602982
+2.6,0.1519051858289143,0.04061368834998341,0.04809481417108571,0.1112914974789309
+2.8,0.1549022095864749,0.03708851679554565,0.04509779041352511,0.1178136927909292
+3.,0.1577849655514615,0.03386074805276843,0.04221503444853851,0.123924217498693
+3.2,0.1605472785462964,0.03090775089245595,0.03945272145370358,0.1296395276538405
+3.4,0.163185005642341,0.02820820870351989,0.03681499435765896,0.1349767969388212
+3.6,0.1656956813459794,0.02574202339287404,0.03430431865402061,0.1399536579531054
+3.8,0.1680782765479623,0.02349028983841768,0.03192172345203767,0.1445879867095447
+4.,0.170333015854071,0.02143530345742272,0.02966698414592893,0.1488977123966483
+4.2,0.1724611874188283,0.01956053117884341,0.02753881258117172,0.1529006562399848
+4.4,0.174465007590506,0.01785061546119102,0.02553499240949398,0.156614392129315
+4.6,0.1763474655738156,0.01629133879581569,0.02365253442618436,0.160056126778
+4.8,0.1781121871073569,0.01486958272636296,0.02188781289264309,0.163242604380994
+5.,0.1797633021689122,0.01357327823595556,0.02023669783108786,0.1661900239329566
+5.2,0.1813053278276161,0.01239134978628282,0.01869467217238387,0.1689139780413334
+5.4,0.1827430617125435,0.01131365569430014,0.01725693828745644,0.1714294060182435
+5.6,0.1840814871446312,0.01033092565095372,0.01591851285536879,0.1737505614936776
+5.8,0.1853256898450109,0.009434697459421508,0.01467431015498908,0.1758909923855895
+6.,0.1864807867337222,0.008617255073064685,0.01351921326627782,0.1778635316606575
+6.2,0.1875518662241884,0.007871568958396676,0.01244813377581166,0.1796802972657917
+6.4,0.1885439389779142,0.007191239275961463,0.01145606102208583,0.1813526997019528
+6.6,0.1894618979797095,0.006570442145822687,0.01053810202029054,0.1828914558338868
+6.8,0.1903104870116786,0.00600387936014168,0.009689512988321446,0.1843066076515369
+7.,0.1910942766509519,0.005486731744768851,0.008905723349048095,0.1856075449061831
+7.2,0.1918176468147276,0.005014616167538883,0.008182353185272425,0.1868030306471887
+7.4,0.1924847748400257,0.004583546027748577,0.00751522515997428,0.1879012288122772
+7.6,0.1930996282007736,0.004189895053042208,0.0069003717992264,0.1889097331477314
+7.8,0.1936659611062896,0.003830364242202894,0.006334038893710381,0.1898355968640868
+8.,0.1941873143085897,0.003501951771659371,0.005812685691410244,0.1906853625369304
+8.2,0.1946670174943022,0.003201925644372185,0.005332982505697788,0.19146509184993
+8.4,0.1951081937060732,0.00292779885057065,0.004891806293926749,0.1921803948555026
+8.6,0.1955137653285961,0.002677306830591474,0.004486234671403817,0.1928364584980047
+8.8,0.1958864612412111,0.00244838705979461,0.004113538758788944,0.1934380741814164
+9.,0.1962288248383088,0.002239160509894777,0.003771175161691228,0.193989664328414
+9.2,0.1965432226493155,0.00204791487210082,0.003456777350684514,0.1944953077772148
+9.4,0.1968318532838835,0.001873089365425097,0.003168146716116464,0.1949587639184585
+9.6,0.1970967565366231,0.001713260970319547,0.00290324346337686,0.1953834955663036
+9.8,0.1973398225063372,0.001567131953954122,0.0026601774936628,0.1957726905523831
+10.,0.1975628003733974,0.001433518683593271,0.002437199626602551,0.1961292816898042
diff --git a/models/sbml-test-suite/cases/semantic/00533/00533-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00533/00533-sbml-l1v2.xml
new file mode 100644
index 0000000..a12cfa3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00533/00533-sbml-l1v2.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00533">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.2" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.2" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="10"/>
+      <parameter name="k2"/>
+      <parameter name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="k2 + -0.9"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+      <reaction name="reaction3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k3 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00533/00533-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00533/00533-sbml-l2v4.xml
new file mode 100644
index 0000000..0037708
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00533/00533-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00533" id="case00533" name="case00533">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="10"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00533/00533-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00533/00533-sbml-l3v1.xml
new file mode 100644
index 0000000..9f81c81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00533/00533-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00533" id="case00533" name="case00533" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="10" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00533/00533-settings.txt b/models/sbml-test-suite/cases/semantic/00533/00533-settings.txt
new file mode 100644
index 0000000..104d181
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00533/00533-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00534/00534-results.csv b/models/sbml-test-suite/cases/semantic/00534/00534-results.csv
new file mode 100644
index 0000000..3b7f7f3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00534/00534-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.02,0.02,1.799117832302835e-22,1.9185097214975e-26
+0.2,0.0150697550726441,0.01466611793502919,0.004930244927355888,0.0004036371376149215
+0.4,0.01326815716860974,0.01202746607311529,0.00673184283139025,0.001240691095494451
+0.6,0.01265637309526313,0.01042176420019962,0.007343626904736868,0.002234608895063512
+0.8,0.01255842342615724,0.009284956582803739,0.007441576573842758,0.003273466843353501
+1.,0.01269631314470904,0.008388852938609789,0.007303686855290955,0.004307460206099255
+1.2,0.01294527529580567,0.00763186382289171,0.007054724704194324,0.005313411472913968
+1.4,0.01324625733021926,0.006965857773336574,0.006753742669780744,0.006280399556882687
+1.6,0.0135701370507084,0.006366725149878849,0.006429862949291593,0.007203411900829561
+1.8,0.01390196479728435,0.00582156331545644,0.006098035202715649,0.008080401481827913
+2.,0.01423368750013542,0.005322814314770167,0.005766312499864586,0.008910873185365254
+2.2,0.01456072098239269,0.004865529864188055,0.005439279017607308,0.009695191118204644
+2.4,0.01488027082708201,0.004446048481805808,0.005119729172917988,0.01043422234527621
+2.6,0.015190519745061,0.004061369398601255,0.004809480254938999,0.01112915034645974
+2.8,0.01549022214339363,0.003708852315123716,0.004509777856606365,0.01178136982826992
+3.,0.01577849931603814,0.003386076698539684,0.004221500683961856,0.01239242261749846
+3.2,0.01605473078226938,0.003090777106367358,0.003945269217730613,0.01296395367590203
+3.4,0.01631850241324941,0.002820822019471015,0.00368149758675058,0.01349768039377841
+3.6,0.01656956944083011,0.002574203020296034,0.003430430559169882,0.01399536642053408
+3.8,0.0168078288934554,0.00234902975707936,0.003192171106544594,0.01445879913637605
+4.,0.01703330205979099,0.002143530611656062,0.00296669794020901,0.01488977144813493
+4.2,0.01724611801655354,0.001956051861322077,0.002753881983446467,0.01529006615523146
+4.4,0.01744650067760506,0.001785061050653777,0.00255349932239494,0.01566143962695129
+4.6,0.01763474677685429,0.001629131602116481,0.002365253223145717,0.0160056151747378
+4.8,0.01781121980998726,0.001486955572256624,0.002188780190012742,0.01632426423773063
+5.,0.01797633282323229,0.001357325342968781,0.002023667176767708,0.01661900748026351
+5.2,0.01813053640893193,0.001239130901569992,0.001869463591068071,0.01689140550736193
+5.4,0.01827431041598183,0.001131361197362115,0.00172568958401817,0.01714294921861971
+5.6,0.01840815375870046,0.001033088702242688,0.001591846241299542,0.01737506505645778
+5.8,0.01853257479095221,0.0009434652272059298,0.001467425209047798,0.01758910956374628
+6.,0.01864808468167899,0.0008617210152477131,0.001351915318321014,0.01778636366643128
+6.2,0.01875519293954835,0.0007871531994808708,0.001244807060451658,0.01796803974006748
+6.4,0.01885440077800028,0.0007191199831901953,0.001145599221999725,0.01813528079481008
+6.6,0.0189461964870529,0.0006570402839797592,0.0010538035129471,0.01828915620307314
+6.8,0.01903105517408083,0.0006003846847193263,0.0009689448259191774,0.0184306704893615
+7.,0.01910943424545258,0.0005486698407600341,0.0008905657545474236,0.01856076440469254
+7.2,0.01918177087276561,0.0005014583530522728,0.0008182291272343938,0.01868031251971333
+7.4,0.01924848318938387,0.0004583519802121166,0.0007515168106161374,0.01879013120917174
+7.6,0.01930996848524283,0.0004189869520501079,0.000690031514757175,0.01889098153319272
+7.8,0.01936660134746658,0.0003830339409466567,0.0006333986525334252,0.01898356740651992
+8.,0.01941873608594019,0.0003501932030959672,0.0005812639140598145,0.01906854288284422
+8.2,0.019466706220673,0.0003201906599782318,0.0005332937793270115,0.01914651556069476
+8.4,0.01951082343868294,0.0002927780507229969,0.0004891765613170697,0.01921804538795993
+8.6,0.0195513800207942,0.0002677292674566541,0.0004486199792058178,0.01928365075333753
+8.8,0.01958864941158996,0.0002448374046849358,0.0004113505884100458,0.01934381200690502
+9.,0.01962288544438886,0.0002239148265346211,0.0003771145556111427,0.01939897061785424
+9.2,0.01965432472000334,0.0002047905949292931,0.0003456752799966729,0.01944953412507404
+9.4,0.01968318758771125,0.000187308133114899,0.0003168124122887613,0.01949587945459634
+9.6,0.01970967766188022,0.0001713253420873256,0.0002903223381197966,0.01953835231979287
+9.8,0.01973398383836152,0.000156712685431782,0.0002660161616384938,0.01957727115292972
+10.,0.01975628140119932,0.0001433513415777061,0.0002437185988006856,0.01961293005962161
diff --git a/models/sbml-test-suite/cases/semantic/00534/00534-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00534/00534-sbml-l2v4.xml
new file mode 100644
index 0000000..b9add3a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00534/00534-sbml-l2v4.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00534" id="case00534" name="case00534">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="100"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+            </apply>
+            <cn> -0.2 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00534/00534-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00534/00534-sbml-l3v1.xml
new file mode 100644
index 0000000..5f8c351
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00534/00534-sbml-l3v1.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00534" id="case00534" name="case00534" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="100" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+            </apply>
+            <cn> -0.2 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00534/00534-settings.txt b/models/sbml-test-suite/cases/semantic/00534/00534-settings.txt
new file mode 100644
index 0000000..c5ba120
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00534/00534-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00535/00535-results.csv b/models/sbml-test-suite/cases/semantic/00535/00535-results.csv
new file mode 100644
index 0000000..f50af3c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00535/00535-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.02,0.01,0.01000000000047037
+0.2,0.01045740185664173,0.02045740185664173,0.009542598143358267,0.01045740185664173
+0.4,0.01089049143569124,0.02089049143569125,0.009109508564308753,0.01089049143569125
+0.6,0.01130049882410617,0.02130049882410617,0.008699501175893829,0.01130049882410617
+0.8,0.01168860849825434,0.02168860849825434,0.008311391501745651,0.01168860849825435
+1.,0.01205594758062124,0.02205594758062125,0.007944052419378755,0.01205594758062125
+1.2,0.01240358925161171,0.02240358925161171,0.007596410748388284,0.0124035892516117
+1.4,0.01273255525326229,0.0227325552532623,0.007267444746737702,0.0127325552532623
+1.6,0.01304381777559067,0.02304381777559067,0.006956182224409327,0.01304381777559067
+1.8,0.01333830171709759,0.0233383017170976,0.006661698282902402,0.01333830171709759
+2.,0.01361688681606283,0.02361688681606283,0.006383113183937165,0.01361688681606283
+2.2,0.01388040942308574,0.02388040942308574,0.006119590576914256,0.01388040942308574
+2.4,0.01412966603691771,0.02412966603691771,0.005870333963082288,0.0141296660369177
+2.6,0.01436540622869071,0.02436540622869071,0.005634593771309287,0.01436540622869069
+2.8,0.01458835230813322,0.02458835230813322,0.005411647691866776,0.01458835230813324
+3.,0.01479918164318645,0.02479918164318645,0.005200818356813543,0.01479918164318647
+3.2,0.01499854085728704,0.02499854085728704,0.005001459142712956,0.01499854085728704
+3.4,0.01518704390557176,0.02518704390557177,0.004812956094428231,0.01518704390557176
+3.6,0.01536526901369354,0.02536526901369355,0.004634730986306455,0.01536526901369354
+3.8,0.01553377186522233,0.02553377186522233,0.00446622813477767,0.01553377186522233
+4.,0.01569306950074738,0.02569306950074738,0.004306930499252618,0.01569306950074738
+4.2,0.01584366350671505,0.02584366350671505,0.004156336493284945,0.01584366350671505
+4.4,0.01598601716285684,0.02598601716285684,0.004013982837143157,0.01598601716285684
+4.6,0.01612058085871679,0.0261205808587168,0.003879419141283199,0.01612058085871679
+4.8,0.01624777158290792,0.02624777158290792,0.003752228417092076,0.01624777158290791
+5.,0.01636799150109078,0.02636799150109078,0.003632008498909215,0.01636799150109078
+5.2,0.01648161720518789,0.02648161720518789,0.003518382794812106,0.01648161720518789
+5.4,0.01658900667942597,0.02658900667942597,0.003410993320574029,0.01658900667942596
+5.6,0.01669050019956518,0.02669050019956518,0.003309499800434821,0.01669050019956517
+5.8,0.01678641626476551,0.02678641626476551,0.00321358373523449,0.01678641626476551
+6.,0.01687706180417987,0.02687706180417987,0.003122938195820133,0.01687706180417988
+6.2,0.01696272066163117,0.02696272066163117,0.003037279338368829,0.01696272066163117
+6.4,0.01704366862162709,0.02704366862162709,0.002956331378372911,0.01704366862162708
+6.6,0.01712015966455929,0.02712015966455929,0.00287984033544071,0.01712015966455929
+6.8,0.01719244017181415,0.02719244017181415,0.002807559828185853,0.01719244017181416
+7.,0.01726073854869131,0.02726073854869132,0.002739261451308687,0.01726073854869132
+7.2,0.01732527389046333,0.02732527389046333,0.002674726109536675,0.01732527389046333
+7.4,0.01738625214940009,0.0273862521494001,0.002613747850599906,0.01738625214940009
+7.6,0.01744386776710066,0.02744386776710066,0.002556132232899338,0.01744386776710066
+7.8,0.01749830643819656,0.02749830643819656,0.002501693561803435,0.01749830643819657
+8.,0.01754974082402135,0.02754974082402136,0.002450259175978642,0.01754974082402135
+8.2,0.01759833795033538,0.02759833795033538,0.002401662049664621,0.01759833795033537
+8.4,0.01764425160752797,0.02764425160752798,0.002355748392472022,0.01764425160752797
+8.6,0.01768763129601184,0.02768763129601184,0.002312368703988155,0.01768763129601184
+8.8,0.01772861471386624,0.02772861471386624,0.002271385286133759,0.01772861471386624
+9.,0.01776733493754451,0.02776733493754451,0.002232665062455495,0.01776733493754451
+9.2,0.01780391581638436,0.02780391581638436,0.002196084183615641,0.01780391581638436
+9.4,0.01783847538698225,0.02783847538698225,0.002161524613017752,0.01783847538698225
+9.6,0.01787112523696634,0.02787112523696634,0.002128874763033663,0.01787112523696634
+9.8,0.0179019699576775,0.0279019699576775,0.002098030042322502,0.0179019699576775
+10.,0.01793110990465998,0.02793110990465998,0.002068890095340017,0.01793110990465999
diff --git a/models/sbml-test-suite/cases/semantic/00535/00535-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00535/00535-sbml-l1v2.xml
new file mode 100644
index 0000000..578a22a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00535/00535-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00535">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.02" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.01" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.01" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="S4 + -1 * S1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00535/00535-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00535/00535-sbml-l2v4.xml
new file mode 100644
index 0000000..3628057
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00535/00535-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00535" id="case00535" name="case00535">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00535/00535-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00535/00535-sbml-l3v1.xml
new file mode 100644
index 0000000..900a880
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00535/00535-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00535" id="case00535" name="case00535" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00535/00535-settings.txt b/models/sbml-test-suite/cases/semantic/00535/00535-settings.txt
new file mode 100644
index 0000000..c5ba120
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00535/00535-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00536/00536-results.csv b/models/sbml-test-suite/cases/semantic/00536/00536-results.csv
new file mode 100644
index 0000000..9f3f4eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00536/00536-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T
+0,1,0,0
+0.5,0.95122942486544800,0.00433410111206339,0.04443647402248830
+1,0.90483741826800000,0.01605414811394730,0.07910843361805210
+1.5,0.86070797646814200,0.03350103412453980,0.10579098940731700
+2,0.81873075311089600,0.05531860473550910,0.12595064215359400
+2.5,0.77880078311180000,0.08040095285465080,0.14079826403354800
+3,0.74081822076632700,0.10784876355123500,0.15133301568243700
+3.5,0.70468808981841400,0.13693309552206900,0.15837881465951600
+4,0.67032004612903500,0.16706544918575500,0.16261450468520800
+4.5,0.63762815173475200,0.19777303715377700,0.16459881111146900
+5,0.60653065973956900,0.22867818505770300,0.16479115520272700
+5.5,0.57694981048848300,0.25948144238181200,0.16356874712970300
+6,0.54881163594169900,0.28994749553017100,0.16124086852812800
+6.5,0.52204577686610200,0.31989360843083700,0.15806061470305900
+7,0.49658530407862200,0.34917997719055400,0.15423471873082200
+7.5,0.47236655289128100,0.37770187380011200,0.14993157330860600
+8,0.44932896410405500,0.40538309133324600,0.14528794456269800
+8.5,0.42741493194854200,0.43217053887225100,0.14041452917920700
+9,0.40656965988628000,0.45802979589428400,0.13540054421943500
+9.5,0.38674102378810800,0.48294146645163400,0.13031750976025600
+10,0.36787944137569200,0.50689813733842100,0.12522242128588600
+10.5,0.34993774921472500,0.52990195368518200,0.12016029710009200
+11,0.33287108386613800,0.55196253689932700,0.11516637923453300
+11.5,0.31663676974884200,0.57309533637501200,0.11026789387614400
+12,0.30119421258854300,0.59332028067023000,0.10548550674122600
+12.5,0.28650479746514300,0.61266063646095700,0.10083456607389900
+13,0.27253179374616000,0.63114215987790600,0.09632604637593330
+13.5,0.25924026152406800,0.64879229694241500,0.09196744153351610
+14,0.24659696472847400,0.66563962057206000,0.08776341469946590
+14.5,0.23457028875369300,0.68171337969754400,0.08371633154876230
+15,0.22313016088116500,0.69704308941624000,0.07982674970259450
+15.5,0.21224797427078200,0.71165820195442800,0.07609382377478860
+16,0.20189651821406400,0.72558792897542700,0.07251555281050800
+16.5,0.19204990898850000,0.73886101980000900,0.06908907121149010
+17,0.18268352424266000,0.75150559424142000,0.06581088151591880
+17.5,0.17377394354783100,0.76354910411754100,0.06267695233462680
+18,0.16529888832200600,0.77501819290606500,0.05968291877192860
+18.5,0.15723716660883300,0.78593866443865800,0.05682416895250770
+19,0.14956861937414300,0.79633542971678600,0.05409595090906980
+19.5,0.14227407203502100,0.80623250399839300,0.05149342396658460
+20,0.13533528344087100,0.81565301022614200,0.04901170633298630
+20.5,0.12873490398434700,0.82461914291281200,0.04664595310284060
+21,0.12245642872561000,0.83315219262304600,0.04439137865134270
+21.5,0.11648415811327100,0.84127256400880600,0.04224327787792210
+22,0.11080315453323100,0.84899979488725800,0.04019705057950960
+22.5,0.10539922363674800,0.85635255091219400,0.03824822545105710
+23,0.10025884442887600,0.86334869534690600,0.03639246022421640
+23.5,0.09536916453201330,0.87000527866547200,0.03462555680251450
+24,0.09071795630979920,0.87633858030153900,0.03294346338866100
+24.5,0.08629358939329600,0.88236413466494800,0.03134227594175530
+25,0.08208500258495470,0.88809675521058200,0.02981824220446240
diff --git a/models/sbml-test-suite/cases/semantic/00536/00536-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00536/00536-sbml-l1v2.xml
new file mode 100644
index 0000000..03268cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00536/00536-sbml-l1v2.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00536">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="X0" compartment="C" initialAmount="1" units="substance"/>
+      <species name="X1" compartment="C" initialAmount="0" units="substance"/>
+      <species name="T" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1"/>
+      <parameter name="k2" value="0.375"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="k1 + -0.1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * X0"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * T"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00536/00536-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00536/00536-sbml-l2v4.xml
new file mode 100644
index 0000000..db35e88
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00536/00536-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00536" id="case00536" name="case00536">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k1 </ci>
+            <cn> -0.1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00536/00536-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00536/00536-sbml-l3v1.xml
new file mode 100644
index 0000000..b0d5296
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00536/00536-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00536" id="case00536" name="case00536" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k1 </ci>
+            <cn> -0.1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00536/00536-settings.txt b/models/sbml-test-suite/cases/semantic/00536/00536-settings.txt
new file mode 100644
index 0000000..5957c60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00536/00536-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: X0, X1, T
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00537/00537-results.csv b/models/sbml-test-suite/cases/semantic/00537/00537-results.csv
new file mode 100644
index 0000000..df91ee2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00537/00537-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T
+0,1.25,1.5,1
+1,1.1310467725438100,1.6925891431768000,0.9263640842793790
+2,1.0234134413483300,1.8707531288135100,0.8558334298381510
+3,0.9260227758513510,2.0351573573185100,0.7888198668301270
+4,0.8379000575452300,2.1865321259403000,0.7255678165144630
+5,0.7581633246403310,2.3256432110115600,0.6661934643480980
+6,0.6860145451179880,2.4532694627433000,0.6107159921387020
+7,0.6207316297391000,2.5701859815074700,0.5590823887534190
+8,0.5616612051467790,2.6771517192060500,0.5111870756471670
+9,0.5082120746710360,2.7749005727089400,0.4668873526200160
+10,0.4598493014579400,2.8641352178903900,0.4260154806516660
+11,0.4160888546173320,2.9455230803566800,0.3883880650259780
+12,0.3764927648882370,3.0196939585512900,0.3538132765604690
+13,0.3406647412941830,3.0872389119744300,0.3220963467313750
+14,0.3082462049305020,3.1487101058058500,0.2930436892636430
+15,0.2789127001877940,3.2046213667255400,0.2664659330866580
+16,0.2523706474937420,3.2554492560145200,0.2421800964917310
+17,0.2283544050655980,3.3016345073653200,0.2200110875690680
+18,0.2066236102773450,3.3435837100633900,0.1997926796592550
+19,0.1869607740302460,3.3816711449099700,0.1813680810597700
+20,0.1691691040492190,3.4162407016301600,0.1645901943206060
+21,0.1530705353199000,3.4476078235711400,0.1493216411089470
+22,0.1385039479555330,3.4760614390695000,0.1354346129749520
+23,0.1253235546551290,3.5018658496298300,0.1228105957150310
+24,0.1133974416130840,3.5252625535394500,0.1113400048474540
+25,0.1026062482815860,3.5464719901896500,0.1009217615287560
+26,0.0928419727703670,3.5656951955672900,0.0914628316623294
+27,0.0840068909276581,3.5831153633829300,0.0828777456894050
+28,0.0760125782842420,3.5988993093628500,0.0750881123528992
+29,0.0687790250725475,3.6131988385430500,0.0680221363843873
+30,0.0622338354613666,3.6261520171229200,0.0616141474157038
+31,0.0563115029933700,3.6378843516736000,0.0558041453330187
+32,0.0509527549745924,3.6485098793702300,0.0505373656551687
+33,0.0461039592534995,3.6581321735033900,0.0457638672430997
+34,0.0417165874524709,3.6668452688829000,0.0414381436646222
+35,0.0377467292796711,3.6747345119327700,0.0375187587875434
+36,0.0341546530604996,3.6818773403316900,0.0339680066078021
+37,0.0309044080890662,3.6883439970126400,0.0307515948982842
+38,0.0279634648213115,3.6941981832161500,0.0278383519625254
+39,0.0253023893084650,3.6994976551281800,0.0251999555633481
+40,0.0228945486122440,3.7042947684328000,0.0228106829549423
+41,0.0207158442534952,3.7086369748857700,0.0206471808607238
+42,0.0187444710266810,3.7125672747779000,0.0186882541954072
+43,0.0169606987661278,3.7161246289163400,0.0169146723175236
+44,0.0153466748795997,3.7193443335097200,0.0153089916106700
+45,0.0138862456735567,3.7222583611040300,0.0138553932224023
+46,0.0125647946815925,3.7248956704873800,0.0125395348310185
+47,0.0113690963779506,3.7272824882605800,0.0113484153614624
+48,0.0102871838120411,3.7294425645601100,0.0102702516278353
+49,0.0093082288392937,3.7313974052213300,0.0092943659393676
+50,0.0084224337495299,3.7331664824834300,0.0084110837670306
diff --git a/models/sbml-test-suite/cases/semantic/00537/00537-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00537/00537-sbml-l1v2.xml
new file mode 100644
index 0000000..01a4a4c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00537/00537-sbml-l1v2.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00537">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="X0" compartment="C" initialAmount="1.25" units="substance"/>
+      <species name="X1" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="T" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.1"/>
+      <parameter name="k2"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="k2 + -0.2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * X0"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * T"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00537/00537-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00537/00537-sbml-l2v4.xml
new file mode 100644
index 0000000..f5ca710
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00537/00537-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00537" id="case00537" name="case00537">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.2 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00537/00537-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00537/00537-sbml-l3v1.xml
new file mode 100644
index 0000000..0c7eef3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00537/00537-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00537" id="case00537" name="case00537" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.2 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00537/00537-settings.txt b/models/sbml-test-suite/cases/semantic/00537/00537-settings.txt
new file mode 100644
index 0000000..ea77be0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00537/00537-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 50.0
+steps: 50
+variables: X0, X1, T
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00538/00538-results.csv b/models/sbml-test-suite/cases/semantic/00538/00538-results.csv
new file mode 100644
index 0000000..eb75a7f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00538/00538-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.3,0.0001072210713988367,0.0002072210713988367,0.00009277892860116323
+0.6,0.000113919899659739,0.000213919899659739,0.00008608010034026096
+0.9,0.0001201342357600274,0.0002201342357600274,0.00007986576423997259
+1.2,0.0001258991044156002,0.0002258991044156002,0.00007410089558439978
+1.5,0.000131247000600146,0.000231247000600146,0.00006875299939985392
+1.8,0.0001362080719478249,0.0002362080719478249,0.00006379192805217498
+2.1,0.00014081028804691,0.00024081028804691,0.00005918971195308989
+2.4,0.0001450795975637498,0.0002450795975637498,0.00005492040243625003
+2.7,0.0001490400740620489,0.0002490400740620487,0.00005095992593795109
+3.,0.0001527140513291823,0.0002527140513291823,0.00004728594867081758
+3.3,0.0001561222489613279,0.0002561222489613278,0.00004387775103867205
+3.6,0.0001592838889015699,0.00025928388890157,0.00004071611109843001
+3.9,0.0001622168035840717,0.000262216803584072,0.00003778319641592813
+4.2,0.0001649375362844419,0.0002649375362844422,0.00003506246371555792
+4.5,0.0001674614342344148,0.0002674614342344151,0.00003253856576558512
+4.8,0.0001698027350243983,0.0002698027350243986,0.00003019726497560152
+5.1,0.0001719746467722447,0.0002719746467722452,0.00002802535322775503
+5.4,0.0001739894225098609,0.0002739894225098615,0.00002601057749013885
+5.7,0.0001758584292008062,0.0002758584292008065,0.00002414157079919366
+6.,0.0001775922117776634,0.0002775922117776636,0.0000224077882223365
+6.3,0.0001792005525560194,0.0002792005525560197,0.00002079944744398045
+6.6,0.0001806925263595299,0.0002806925263595301,0.00001930747364047003
+6.9,0.0001820765516632681,0.0002820765516632681,0.00001792344833673183
+7.2,0.0001833604380444404,0.0002833604380444406,0.00001663956195555947
+7.5,0.0001845514302047998,0.0002845514302048,0.00001544856979520012
+7.8,0.0001856562488132951,0.0002856562488132954,0.00001434375118670478
+8.1,0.0001866811283975628,0.0002866811283975629,0.00001331887160243719
+8.4,0.0001876318524977544,0.0002876318524977544,0.00001236814750224562
+8.7,0.0001885137862795023,0.0002885137862795024,0.00001148621372049757
+9.,0.0001893319067902254,0.0002893319067902256,0.00001066809320977452
+9.3,0.0001900908310283821,0.0002900908310283823,9.909168971617828e-6
+9.6,0.0001907948419837762,0.0002907948419837764,9.205158016223741e-6
+9.9,0.0001914479127953827,0.000291447912795383,8.55208720461724e-6
+10.2,0.0001920537291626314,0.0002920537291626317,7.946270837368548e-6
+10.5,0.000192615710136456,0.0002926157101364562,7.384289863543956e-6
+10.8,0.0001931370274069354,0.0002931370274069358,6.862972593064482e-6
+11.1,0.0001936206231964218,0.000293620623196422,6.379376803578152e-6
+11.4,0.0001940692268585069,0.0002940692268585071,5.930773141493058e-6
+11.7,0.0001944853702769429,0.000294485370276943,5.514629723057172e-6
+12.,0.0001948714021507016,0.0002948714021507018,5.128597849298401e-6
+12.3,0.0001952295012459591,0.0002952295012459592,4.770498754041009e-6
+12.6,0.0001955616886896978,0.000295561688689698,4.438311310302258e-6
+12.9,0.0001958698393740436,0.0002958698393740438,4.130160625956471e-6
+13.2,0.0001961556925357691,0.0002961556925357694,3.844307464230927e-6
+13.5,0.0001964208615706077,0.0002964208615706079,3.57913842939233e-6
+13.8,0.0001966668431375505,0.0002966668431375508,3.333156862449577e-6
+14.1,0.000196895025604652,0.0002968950256046522,3.104974395348086e-6
+14.4,0.000197106696883905,0.0002971066968839052,2.893303116095112e-6
+14.7,0.0001973030516992065,0.0002973030516992067,2.696948300793538e-6
+15.,0.0001974851983287478,0.0002974851983287481,2.514801671252259e-6
diff --git a/models/sbml-test-suite/cases/semantic/00538/00538-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00538/00538-sbml-l1v2.xml
new file mode 100644
index 0000000..95077e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00538/00538-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00538">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.0002" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.0001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="k2 + -0.25"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00538/00538-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00538/00538-sbml-l2v4.xml
new file mode 100644
index 0000000..d233c0b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00538/00538-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00538" id="case00538" name="case00538">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.25 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00538/00538-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00538/00538-sbml-l3v1.xml
new file mode 100644
index 0000000..1236c98
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00538/00538-sbml-l3v1.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00538" id="case00538" name="case00538" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.25 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00538/00538-settings.txt b/models/sbml-test-suite/cases/semantic/00538/00538-settings.txt
new file mode 100644
index 0000000..262b561
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00538/00538-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00539/00539-results.csv b/models/sbml-test-suite/cases/semantic/00539/00539-results.csv
new file mode 100644
index 0000000..c4dc6b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00539/00539-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T
+0,1.,0,0
+0.5,0.9512294248667085,0.004334101111209964,0.04443647402208191
+1.,0.9048374182692011,0.01605414811302868,0.07910843361777061
+1.5,0.8607079764692848,0.03350103412357823,0.1057909894071373
+2.,0.8187307531119827,0.05531860473452166,0.1259506421534962
+2.5,0.7788007831128332,0.0804009528536513,0.1407982640335157
+3.,0.7408182207673097,0.1078487635502348,0.1513330156824557
+3.5,0.7046880898193494,0.1369330955210756,0.1583788146595751
+4.,0.6703200461299255,0.1670654491847762,0.1626145046852985
+4.5,0.6376281517355992,0.1977730371528173,0.1645988111115838
+5.,0.606530659740375,0.2286781850567656,0.1647911552028597
+5.5,0.5769498104892493,0.2594814423809015,0.1635687471298494
+6.,0.5488116359424281,0.2899474955292888,0.1612408685282832
+6.5,0.5220457768667958,0.3198936084299839,0.1580606147032202
+7.,0.4965853040792817,0.3491799771897315,0.1542347187309867
+7.5,0.472366552891908,0.3777018737993204,0.1499315733087716
+8.,0.449328964104652,0.4053830913324852,0.145287944562863
+8.5,0.4274149319491092,0.4321705388715207,0.1404145291793701
+9.,0.40656965988682,0.4580297958935842,0.1354005442195958
+9.5,0.3867410237886217,0.4829414664509644,0.130317509760414
+10.,0.3678794413761804,0.5068981373377801,0.1252224212860394
+10.5,0.3499377492151901,0.529901953684569,0.1201602971002409
+11.,0.3328710838665809,0.5519625368987415,0.1151663792346776
+11.5,0.316636769749263,0.5730953363744532,0.1102678938762838
+12.,0.3011942125889434,0.5933202806696965,0.1054855067413602
+12.5,0.2865047974655243,0.6126606364604473,0.1008345660740284
+13.,0.272531793746522,0.6311421598774209,0.09632604637605711
+13.5,0.2592402615244129,0.648792296941952,0.09196744153363505
+14.,0.2465969647288018,0.6656396205716184,0.08776341469957978
+14.5,0.2345702887540052,0.6817133796971238,0.08371633154887102
+15.,0.2231301608814612,0.6970430894158402,0.07982674970269847
+15.5,0.2122479742710646,0.7116582019540471,0.07609382377488829
+16.,0.2018965182143327,0.7255879289750646,0.07251555281060287
+16.5,0.1920499089887557,0.7388610197996636,0.06908907121158082
+17.,0.1826835242429031,0.7515055942410919,0.06581088151600536
+17.5,0.1737739435480622,0.763549104117229,0.06267695233470918
+18.,0.1652988883222259,0.7750181929057673,0.05968291877200716
+18.5,0.1572371666090424,0.7859386644383757,0.05682416895258236
+19.,0.149568619374342,0.796335429716517,0.05409595090914123
+19.5,0.14227407203521,0.8062325039981376,0.05149342396665278
+20.,0.1353352834410509,0.8156530102258984,0.04901170633305113
+20.5,0.1287349039845181,0.8246191429125802,0.04664595310290224
+21.,0.1224564287257733,0.8331521926228256,0.04439137865140152
+21.5,0.1164841581134262,0.841272564008596,0.04224327787797808
+22.,0.1108031545333785,0.848999794887059,0.04019705057956283
+22.5,0.1053992236368882,0.8563525509120044,0.03824822545110773
+23.,0.1002588444290097,0.8633486953467259,0.03639246022426462
+23.5,0.09536916453213993,0.8700052786653,0.03462555680256043
+24.,0.0907179563099198,0.8763385803013759,0.03294346338870469
+24.5,0.08629358939341079,0.8823641346647928,0.03134227594179696
+25.,0.08208500258506379,0.8880967552104347,0.02981824220450195
diff --git a/models/sbml-test-suite/cases/semantic/00539/00539-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00539/00539-sbml-l1v2.xml
new file mode 100644
index 0000000..016b7df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00539/00539-sbml-l1v2.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00539">
+    <listOfCompartments>
+      <compartment name="C" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="X0" compartment="C" initialAmount="1" units="substance"/>
+      <species name="X1" compartment="C" initialAmount="0" units="substance"/>
+      <species name="T" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.1"/>
+      <parameter name="k2" value="0.375"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="C + -1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * X0"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * T"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00539/00539-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00539/00539-sbml-l2v4.xml
new file mode 100644
index 0000000..9ee46cb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00539/00539-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00539" id="case00539" name="case00539">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00539/00539-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00539/00539-sbml-l3v1.xml
new file mode 100644
index 0000000..752b0b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00539/00539-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00539" id="case00539" name="case00539" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00539/00539-settings.txt b/models/sbml-test-suite/cases/semantic/00539/00539-settings.txt
new file mode 100644
index 0000000..5957c60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00539/00539-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: X0, X1, T
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00540/00540-results.csv b/models/sbml-test-suite/cases/semantic/00540/00540-results.csv
new file mode 100644
index 0000000..138dcfc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00540/00540-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.2,0.001048467019573091,0.002048467019573091,0.0009515329804269093
+0.4,0.001094548868367733,0.002094548868367734,0.0009054511316322665
+0.6,0.001138362320024673,0.002138362320024673,0.0008616376799753273
+0.8,0.00118001848952297,0.00218001848952297,0.0008199815104770304
+1.,0.001219623101750915,0.002219623101750917,0.0007803768982490844
+1.2,0.00125727674788778,0.002257276747887781,0.0007427232521122203
+1.4,0.001293075130079315,0.002293075130079316,0.0007069248699206852
+1.6,0.001327109294903391,0.002327109294903392,0.0006728907050966086
+1.8,0.001359465856084418,0.002359465856084418,0.0006405341439155823
+2.,0.001390227206919539,0.002390227206919539,0.0006097727930804614
+2.2,0.001419471722852408,0.002419471722852408,0.0005805282771475925
+2.4,0.001447273954630185,0.002447273954630185,0.0005527260453698158
+2.6,0.001473704812430446,0.002473704812430447,0.000526295187569554
+2.8,0.001498831741375594,0.002498831741375594,0.0005011682586244062
+3.,0.001522718888804458,0.002522718888804458,0.0004772811111955417
+3.2,0.001545427263666354,0.002545427263666354,0.0004545727363336456
+3.4,0.001567014888387635,0.002567014888387634,0.0004329851116123653
+3.6,0.001587536943556449,0.00258753694355645,0.0004124630564435507
+3.8,0.001607045905743099,0.002607045905743099,0.0003929540942569007
+4.,0.001625591678766166,0.002625591678766166,0.0003744083212338341
+4.2,0.001643221718708092,0.002643221718708092,0.0003567782812919082
+4.4,0.001659981152965431,0.00265998115296543,0.0003400188470345695
+4.6,0.001675912893605618,0.002675912893605616,0.0003240871063943823
+4.8,0.001691057745291829,0.002691057745291827,0.0003089422547081721
+5.,0.001705454508031423,0.002705454508031421,0.0002945454919685772
+5.2,0.00171914007498889,0.00271914007498889,0.00028085992501111
+5.4,0.001732149525588974,0.002732149525588974,0.0002678504744110263
+5.6,0.001744516214130639,0.002744516214130639,0.0002554837858693612
+5.8,0.001756271854131741,0.002756271854131741,0.0002437281458682592
+6.,0.001767446598590089,0.002767446598590089,0.0002325534014099116
+6.2,0.001778069116368835,0.002778069116368834,0.0002219308836311657
+6.4,0.001788166664873851,0.00278816666487385,0.0002118333351261496
+6.6,0.001797765159218856,0.002797765159218854,0.0002022348407811442
+6.8,0.001806889238021512,0.00280688923802151,0.0001931107619784885
+7.,0.001815562326012984,0.002815562326012982,0.0001844376739870164
+7.2,0.001823806693594152,0.002823806693594151,0.0001761933064058484
+7.4,0.001831643513502676,0.002831643513502674,0.0001683564864973243
+7.6,0.001839092914710977,0.002839092914710976,0.000160907085289023
+7.8,0.001846174033703848,0.002846174033703846,0.0001538259662961522
+8.,0.001852905063247891,0.00285290506324789,0.0001470949367521092
+8.2,0.001859303298787587,0.002859303298787586,0.0001406967012124134
+8.4,0.001865385182567508,0.002865385182567506,0.0001346148174324924
+8.6,0.00187116634560373,0.002871166345603729,0.0001288336543962707
+8.8,0.001876661647596503,0.002876661647596503,0.0001233383524034976
+9.,0.001881885214896429,0.002881885214896428,0.0001181147851035716
+9.2,0.001886850476603859,0.002886850476603859,0.0001131495233961406
+9.4,0.001891570198906766,0.002891570198906765,0.0001084298010932344
+9.6,0.001896056517729984,0.002896056517729983,0.0001039434822700161
+9.8,0.00190032096978741,0.002900320969787409,0.00009967903021259049
+10.,0.001904374522107066,0.002904374522107065,0.00009562547789293452
diff --git a/models/sbml-test-suite/cases/semantic/00540/00540-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00540/00540-sbml-l1v2.xml
new file mode 100644
index 0000000..bd4d863
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00540/00540-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00540">
+    <listOfCompartments>
+      <compartment name="C" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.001" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.002" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="C + -1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00540/00540-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00540/00540-sbml-l2v4.xml
new file mode 100644
index 0000000..9469859
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00540/00540-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00540" id="case00540" name="case00540">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00540/00540-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00540/00540-sbml-l3v1.xml
new file mode 100644
index 0000000..851ee0c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00540/00540-sbml-l3v1.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00540" id="case00540" name="case00540" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00540/00540-settings.txt b/models/sbml-test-suite/cases/semantic/00540/00540-settings.txt
new file mode 100644
index 0000000..1741bf7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00540/00540-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00541/00541-results.csv b/models/sbml-test-suite/cases/semantic/00541/00541-results.csv
new file mode 100644
index 0000000..024085e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00541/00541-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T
+0,1.,0,0
+0.2,0.9801986736643939,0.0007267159059575859,0.01907461042964846
+0.4,0.9607894395445555,0.002817304690660154,0.03639325576478428
+0.6,0.9417645339239578,0.006145167652580604,0.05209029842346144
+0.8,0.9231163466720803,0.01059341487893335,0.06629023844898646
+1.,0.904837418269206,0.01605414811407108,0.07910843361672288
+1.2,0.8869204367917308,0.02242779349221795,0.09065176971605133
+1.4,0.869358235601012,0.02962251912082827,0.1010192452781598
+1.6,0.8521437891186244,0.03755358746670212,0.1103026234146735
+1.8,0.8352702114497533,0.04614292657519116,0.1185868619750555
+2.,0.8187307531119869,0.05531860473523666,0.1259506421527763
+2.2,0.8025187980959066,0.06501434758736342,0.1324668543167298
+2.4,0.7866278612622573,0.07516913732327049,0.1382030014144722
+2.6,0.7710515859424945,0.08572685630421128,0.1432215577532942
+2.8,0.7557837415411813,0.09663588623412063,0.147580372224698
+3.,0.7408182207673138,0.1078487635507245,0.1513330156819616
+3.2,0.7261490372209837,0.1193219206440943,0.154529042134922
+3.4,0.7117703229770366,0.1310153638208359,0.1572143132021274
+3.6,0.6976763262441488,0.1428923782945018,0.1594312954613492
+3.8,0.6838614093165439,0.1549193332344429,0.161219257449013
+4.,0.6703200461299292,0.167065449185112,0.1626145046849587
+4.2,0.6570468199853971,0.1793025497032559,0.163650630311347
+4.4,0.6440364213071474,0.1916048599443149,0.1643587187485377
+4.6,0.6312836456368557,0.2039488728149,0.1647674815482442
+4.8,0.6187833918665333,0.216313156581064,0.1649034515524028
+5.,0.6065306597403783,0.2286781850569957,0.1647911552026259
+5.2,0.5945205480100102,0.2410261954439695,0.1644532565460202
+5.4,0.5827482524534114,0.253341061355984,0.1639106861906044
+5.6,0.5712090639803644,0.2656081680190426,0.1631827680005929
+5.8,0.5598983665073186,0.2778142904070756,0.1622873430856058
+6.,0.5488116359424314,0.2899474955294465,0.1612408685281221
+6.2,0.5379444374482128,0.3019970340173797,0.1600585285344075
+6.4,0.5272924239800739,0.313953241830336,0.15875433418959
+6.6,0.5168513345574939,0.3258074699045666,0.1573411955379393
+6.8,0.5066169925890488,0.3375520047585889,0.1558310026523623
+7.,0.496585304079285,0.3491799771898369,0.154234718730878
+7.2,0.4867522561694567,0.360685314467558,0.1525624293629853
+7.4,0.4771139156001834,0.3720626717666916,0.150823412633125
+7.6,0.467666427003924,0.3833073728625171,0.1490262001335589
+7.8,0.4584060112582587,0.3944153456413075,0.1471786431004339
+8.,0.4493289641046549,0.4053830913325568,0.1452879445627883
+8.2,0.4404316546127078,0.4162076285575292,0.1433607168297629
+8.4,0.4317105236457966,0.4268864423714476,0.1414030339827559
+8.6,0.4231620825962833,0.4374174626511129,0.1394204547526039
+8.8,0.414782911918532,0.4477990160405232,0.1374180720409448
+9.,0.4065696598868229,0.4580297958936334,0.1354005442195437
+9.2,0.39851904114833,0.4681088276288827,0.1333721312227872
+9.4,0.39062783542923,0.4780354465394681,0.1313367180313019
+9.6,0.382892886048392,0.487809253711109,0.129297860240499
+9.8,0.375311098978333,0.4974301189171816,0.1272587821044854
+10.,0.3678794414555698,0.5068981376413397,0.1252224209030906
diff --git a/models/sbml-test-suite/cases/semantic/00541/00541-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00541/00541-sbml-l2v4.xml
new file mode 100644
index 0000000..62712ca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00541/00541-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00541" id="case00541" name="case00541">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00541/00541-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00541/00541-sbml-l3v1.xml
new file mode 100644
index 0000000..80bf2c3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00541/00541-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00541" id="case00541" name="case00541" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00541/00541-settings.txt b/models/sbml-test-suite/cases/semantic/00541/00541-settings.txt
new file mode 100644
index 0000000..6eeeffc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00541/00541-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00542/00542-results.csv b/models/sbml-test-suite/cases/semantic/00542/00542-results.csv
new file mode 100644
index 0000000..43b9204
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00542/00542-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T
+0,1.,0,0
+0.3,0.970445533935234,0.001609674842677501,0.02794479122208861
+0.6,0.9417645339239574,0.006145167652449486,0.05209029842359314
+0.9,0.9139311855302862,0.01320363164178775,0.07286518282792608
+1.2,0.8869204367917303,0.02242779349211334,0.09065176971615655
+1.5,0.8607079764692892,0.03350103412434824,0.1057909894063628
+1.8,0.835270211449753,0.04614292657510776,0.1185868619751394
+2.1,0.8105842461257729,0.06010540320284023,0.1293103506713869
+2.4,0.7866278612622568,0.07516913732320398,0.1382030014145391
+2.7,0.7633794944690622,0.09114051893327404,0.1454799865976638
+3.,0.7408182207673134,0.1078487635506715,0.1513330156820151
+3.3,0.7189237335099185,0.1251434727725668,0.1559327937175148
+3.6,0.6976763262441486,0.1428923782944595,0.159431295461392
+3.9,0.6770568747193684,0.1609793181185384,0.1619638071620934
+4.2,0.6570468199853968,0.1793025497032222,0.1636506303113812
+4.5,0.6376281517356025,0.1977730371530652,0.1645988111113325
+4.8,0.6187833918665328,0.2163131565810372,0.1649034515524301
+5.1,0.6004955790012188,0.2348553650960757,0.1646490559027055
+5.4,0.5827482524534111,0.2533410613559629,0.1639106861906262
+5.7,0.5655254386274771,0.2717196251795611,0.1627549361929617
+6.,0.5488116359424308,0.2899474955294297,0.1612408685281396
+6.3,0.5325918012170244,0.3079873715007836,0.159420827282192
+6.6,0.5168513345574935,0.3258074699045536,0.157341195537953
+6.9,0.5015760690171832,0.3433809565279513,0.1550429744548656
+7.2,0.4867522561694562,0.3606853144675476,0.1525624293629963
+7.5,0.4723665528919105,0.3777018737993984,0.1499315733086912
+7.8,0.4584060112582581,0.3944153456412993,0.1471786431004426
+8.1,0.4448580663948983,0.4108134293200453,0.1443285042850563
+8.4,0.4317105236457959,0.4268864423714414,0.1414030339827627
+8.7,0.4189515492322049,0.4426270107685946,0.1384214399992005
+9.,0.4065696598868223,0.4580297958936285,0.1354005442195493
+9.3,0.3945537106624714,0.4730912210581936,0.1323550682793351
+9.6,0.3828928860483915,0.4878092537111054,0.1292978602405032
+9.9,0.3715766911472157,0.5021832190924622,0.1262400897603223
+10.2,0.360594940432608,0.5162136149776543,0.1231914445897377
+10.5,0.349937749215192,0.5299019536845934,0.1201602971002147
+10.8,0.3395955258036454,0.543250615508885,0.1171538586874696
+11.1,0.3295589614456955,0.5562627367714366,0.1141783017828682
+11.4,0.3198190221090833,0.5689420967866656,0.1112388811042514
+11.7,0.310366941649592,0.5812930180624338,0.1083400402879743
+12.,0.3011942125889453,0.5933202806697081,0.1054855067413468
+12.3,0.2922925782944239,0.605029044959627,0.1026783767459493
+12.6,0.2836540269550577,0.6164247883248297,0.09992118472011288
+12.9,0.2752707838855587,0.6275132642627595,0.09721595185168215
+13.2,0.2671353029088602,0.6383004032893639,0.094564293801776
+13.5,0.2592402615244147,0.6487922969419571,0.09196744153362844
+13.8,0.2515785540691284,0.6589951688072249,0.0894262771236468
+14.1,0.2441432839510425,0.6689153151590769,0.08694140088988076
+14.4,0.2369277591906915,0.6785590964293659,0.08451314437994293
+14.7,0.2299254858079184,0.6879328961544904,0.0821416180375912
+15.,0.2231301609020096,0.6970430891648629,0.07982674993312774
diff --git a/models/sbml-test-suite/cases/semantic/00542/00542-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00542/00542-sbml-l2v4.xml
new file mode 100644
index 0000000..69365b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00542/00542-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00542" id="case00542" name="case00542">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00542/00542-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00542/00542-sbml-l3v1.xml
new file mode 100644
index 0000000..0ffedac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00542/00542-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00542" id="case00542" name="case00542" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00542/00542-settings.txt b/models/sbml-test-suite/cases/semantic/00542/00542-settings.txt
new file mode 100644
index 0000000..545ad9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00542/00542-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: X0, X1, T
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00543/00543-results.csv b/models/sbml-test-suite/cases/semantic/00543/00543-results.csv
new file mode 100644
index 0000000..536c155
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00543/00543-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.4,0.9607894505357768,0.000833845462800037,0.03837670400142282,0.01096477257183509
+0.8,0.9231163576760428,0.003244954546376271,0.07363868777758049,0.02103962507930871
+1.2,0.8869204465742713,0.007103947949298944,0.1059756054764292,0.03027874442183693
+1.6,0.852143797119792,0.01228934852172851,0.1355668543584791,0.03873338695956546
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.0464520239891676
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408772
+2.8,0.7557837471460103,0.03469896050720146,0.2095172923467876,0.05986208352765363
+3.2,0.7261490388594339,0.0441187653010724,0.229732195839493,0.06563777023985516
+3.6,0.6976763279936457,0.05436192220430618,0.2479617498020474,0.07084621422915637
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211858,0.07552395726319598
+4.4,0.6440364243161742,0.07699430970508103,0.2789692659787441,0.07970550456535545
+4.8,0.6187833959095926,0.08923458373363538,0.2919820203567714,0.08342343438764901
+5.2,0.5945205527446842,0.1019997080082743,0.3034797392470407,0.08670849692772592
+5.6,0.5712090691367363,0.115226949975085,0.3135639808881781,0.08958970882519376
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.4,0.527292430303364,0.1428377588031926,0.3298698108934429,0.09424851739812654
+6.8,0.5066169990569292,0.1571160534772621,0.3362669474658082,0.09607627070451664
+7.2,0.4867522629833074,0.1716454790421783,0.3416022579745136,0.09760064513557531
+7.6,0.4676664342769864,0.1863821660702592,0.3459513996527536,0.09884325704364391
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.4,0.431710531003235,0.2163174009346478,0.3519720680621165,0.1005634480177475
+8.8,0.4147829193123543,0.2314432235434361,0.3537738571442088,0.1010782448983453
+9.2,0.3985190487020195,0.2466305193308348,0.354850431967145,0.1013858377048985
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695932
+10.,0.3678794486179236,0.2770723716247996,0.3550481797572761,0.1014423370735074
+10.4,0.3534546892749864,0.2922740173858473,0.3542712933391656,0.1012203695254758
+10.8,0.3395955328109051,0.3074310434580307,0.3529734237310636,0.1008495496374467
+11.2,0.3262798016246614,0.3225220653115714,0.3511981330637665,0.1003423237325047
+11.6,0.3134861877122507,0.3375275074378869,0.3489863048498616,0.09971037281424619
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.4,0.2893842244231299,0.3672117317421291,0.3434040438347404,0.09811544109564013
+12.8,0.2780373067704968,0.381859433253978,0.3401032599755243,0.09717235999300698
+13.2,0.2671353081234729,0.396359199620259,0.3365054922562674,0.09614442635893352
+13.6,0.2566607829604508,0.4106989428400723,0.3326402741994762,0.09504007834270752
+14.,0.2465969698081156,0.4248677993481391,0.3285352308437446,0.09386720881249845
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153508
+14.8,0.2276376940033317,0.4526550476174064,0.319707258379261,0.09134493096550311
+15.2,0.218711892465461,0.4662571409389489,0.3150309665955892,0.09000884759873981
+15.6,0.210136076619001,0.4796556129651469,0.3102083104158512,0.08863094583310034
+16.,0.201896523328712,0.4928446152826624,0.3052588613886247,0.08721681753960708
+16.4,0.1939800475509628,0.5058191090957615,0.300200843353275,0.08577166952950714
+16.8,0.1863739812348858,0.5185748091363077,0.2950512096288057,0.08430034560823021
+17.2,0.1790661530508464,0.5311081307944476,0.2898257161547053,0.08280734747277292
+17.6,0.1720448689137586,0.5434161403007272,0.2845389907855135,0.08129685451014674
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171494
+18.4,0.1588174311185365,0.5673474631569459,0.2738351057245168,0.07823860163557623
+18.8,0.1525901107358551,0.5789677543709074,0.268442134893237,0.07669775282663916
+19.2,0.1466069670797981,0.5903566084244245,0.2630364244957769,0.0751532641416506
+19.6,0.1408584258429966,0.6015136944724306,0.2576278796845722,0.07360796562416344
+20.,0.1353352888698187,0.612439089880779,0.2522256212494018,0.07206446321411481
diff --git a/models/sbml-test-suite/cases/semantic/00543/00543-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00543/00543-sbml-l2v4.xml
new file mode 100644
index 0000000..44840ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00543/00543-sbml-l2v4.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00543" id="case00543" name="case00543">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00543/00543-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00543/00543-sbml-l3v1.xml
new file mode 100644
index 0000000..8a142b9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00543/00543-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00543" id="case00543" name="case00543" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00543/00543-settings.txt b/models/sbml-test-suite/cases/semantic/00543/00543-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00543/00543-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00544/00544-results.csv b/models/sbml-test-suite/cases/semantic/00544/00544-results.csv
new file mode 100644
index 0000000..9509aba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00544/00544-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.4,0.1036416406635149,0.2036416406635147,0.09635835933648509
+0.8,0.1066467468978383,0.2066467468978382,0.09335325310216167
+1.2,0.1091220869843452,0.209122086984345,0.09087791301565478
+1.6,0.1111580082666514,0.2111580082666512,0.08884199173334857
+2.,0.112830458794658,0.2128304587946578,0.08716954120534198
+2.4,0.1142029419506567,0.2142029419506565,0.08579705804934324
+2.8,0.1153283262047815,0.2153283262047812,0.08467167379521846
+3.2,0.1162504717954508,0.2162504717954505,0.08374952820454918
+3.6,0.1170056618987208,0.2170056618987206,0.08299433810127915
+4.,0.1176238419724017,0.2176238419724014,0.08237615802759829
+4.4,0.1181296800993112,0.2181296800993111,0.08187031990068872
+4.8,0.1185434657534237,0.2185434657534234,0.08145653424657629
+5.2,0.1188818660637513,0.2188818660637512,0.08111813393624864
+5.6,0.1191585585103592,0.219158558510359,0.0808414414896408
+6.,0.1193847578163943,0.2193847578163942,0.08061524218360562
+6.4,0.1195696531254398,0.2195696531254398,0.08043034687456013
+6.8,0.1197207696684442,0.2197207696684441,0.08027923033155573
+7.2,0.1198442672585987,0.2198442672585986,0.08015573274140123
+7.6,0.1199451861700397,0.2199451861700396,0.08005481382996025
+8.,0.1200276493647726,0.2200276493647725,0.07997235063522741
+8.4,0.120095028606724,0.220095028606724,0.07990497139327591
+8.8,0.1201500807724231,0.2201500807724231,0.07984991922757682
+9.2,0.1201950596126019,0.2201950596126019,0.07980494038739802
+9.6,0.1202318073239301,0.22023180732393,0.07976819267606991
+10.,0.1202618295367115,0.2202618295367115,0.07973817046328843
+10.4,0.120286356694493,0.220286356694493,0.07971364330550692
+10.8,0.1203063942766707,0.2203063942766707,0.07969360572332931
+11.2,0.1203227638798425,0.2203227638798425,0.07967723612015743
+11.6,0.1203361368135624,0.2203361368135625,0.07966386318643756
+12.,0.1203470615690096,0.2203470615690097,0.07965293843099031
+12.4,0.1203559862743814,0.2203559862743813,0.0796440137256186
+12.8,0.1203632770497579,0.2203632770497579,0.07963672295024204
+13.2,0.1203692330079453,0.2203692330079453,0.07963076699205468
+13.6,0.1203740985136043,0.2203740985136043,0.07962590148639567
+14.,0.1203780732016876,0.2203780732016877,0.07962192679831232
+14.4,0.1203813201627555,0.2203813201627555,0.07961867983724446
+14.8,0.1203839726313658,0.2203839726313659,0.07961602736863418
+15.2,0.1203861394508263,0.2203861394508263,0.07961386054917368
+15.6,0.1203879095379004,0.2203879095379004,0.07961209046209955
+16.,0.1203893555304447,0.2203893555304447,0.07961064446955529
+16.4,0.1203905367678131,0.2203905367678131,0.07960946323218681
+16.8,0.1203915017246384,0.2203915017246383,0.07960849827536156
+17.2,0.12039229000073,0.22039229000073,0.07960770999926997
+17.6,0.1203929339456201,0.2203929339456202,0.07960706605437982
+18.,0.1203934599857252,0.2203934599857252,0.07960654001427477
+18.4,0.1203938897089694,0.2203938897089694,0.07960611029103054
+18.8,0.1203942407506749,0.2203942407506749,0.07960575924932503
+19.2,0.1203945275172446,0.2203945275172446,0.07960547248275534
+19.6,0.1203947617772654,0.2203947617772654,0.07960523822273456
+20.,0.1203949531446557,0.2203949531446557,0.07960504685534429
diff --git a/models/sbml-test-suite/cases/semantic/00544/00544-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00544/00544-sbml-l2v4.xml
new file mode 100644
index 0000000..6aef7ec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00544/00544-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00544" id="case00544" name="case00544">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00544/00544-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00544/00544-sbml-l3v1.xml
new file mode 100644
index 0000000..25588cb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00544/00544-sbml-l3v1.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00544" id="case00544" name="case00544" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00544/00544-settings.txt b/models/sbml-test-suite/cases/semantic/00544/00544-settings.txt
new file mode 100644
index 0000000..7baa566
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00544/00544-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00545/00545-results.csv b/models/sbml-test-suite/cases/semantic/00545/00545-results.csv
new file mode 100644
index 0000000..05d5256
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00545/00545-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.2,0.01045741157329261,0.02045741157329261,0.009542588426707389
+0.4,0.01089050244705468,0.02089050244705468,0.009109497552945313
+0.6,0.0113005124591898,0.0213005124591898,0.008699487540810195
+0.8,0.01168862390130997,0.02168862390130997,0.008311376098690022
+1.,0.01205596357887533,0.02205596357887532,0.007944036421124667
+1.2,0.01240360486778758,0.02240360486778757,0.007596395132212421
+1.4,0.01273256975493483,0.02273256975493483,0.007267430245065166
+1.6,0.01304383086232475,0.02304383086232475,0.006956169137675243
+1.8,0.01333831343449013,0.02333831343449013,0.006661686565509864
+2.,0.01361689729357888,0.02361689729357888,0.006383102706421115
+2.2,0.01388041875398625,0.02388041875398624,0.006119581246013747
+2.4,0.01412967248940913,0.02412967248940912,0.005870327510590865
+2.6,0.01436541335388684,0.02436541335388683,0.005634586646113155
+2.8,0.0145883581487332,0.02458835814873319,0.005411641851266795
+3.,0.01479918733973924,0.02479918733973925,0.005200812660260748
+3.2,0.01499854671491753,0.02499854671491753,0.005001453285082461
+3.4,0.0151870489907043,0.0251870489907043,0.004812951009295696
+3.6,0.01536527535977023,0.02536527535977023,0.004634724640229761
+3.8,0.01553377698279019,0.0255337769827902,0.004466223017209801
+4.,0.01569307642393421,0.02569307642393422,0.004306923576065783
+4.2,0.01584366903052855,0.02584366903052856,0.004156330969471439
+4.4,0.01598602425757106,0.02598602425757106,0.004013975742428926
+4.6,0.01612058693794648,0.02612058693794649,0.003879413062053501
+4.8,0.01624777849943777,0.02624777849943778,0.003752221500562208
+5.,0.01636799812982466,0.02636799812982467,0.003632001870175322
+5.2,0.01648162389117813,0.02648162389117814,0.00351837610882185
+5.4,0.0165890137847984,0.02658901378479841,0.003410986215201583
+5.6,0.01669050676825887,0.02669050676825888,0.003309493231741117
+5.8,0.01678642372605693,0.02678642372605694,0.003213576273943062
+6.,0.01687706839540636,0.02687706839540637,0.003122931604593625
+6.2,0.01696272824872678,0.02696272824872679,0.003037271751273198
+6.4,0.01704367533437341,0.02704367533437342,0.002956324665626574
+6.6,0.01712016707718945,0.02712016707718946,0.002879832922810528
+6.8,0.01719244704051352,0.02719244704051353,0.002807552959486458
+7.,0.01726074565105745,0.02726074565105746,0.002739254348942523
+7.2,0.01732528088820638,0.02732528088820639,0.002674719111793586
+7.4,0.01738625893923639,0.0273862589392364,0.002613741060763584
+7.6,0.01744387482190429,0.0274438748219043,0.00255612517809568
+7.8,0.01749831297582903,0.02749831297582904,0.002501687024170946
+8.,0.0175497478240456,0.02754974782404561,0.002450252175954366
+8.2,0.01759834430606158,0.02759834430606159,0.002401655693938392
+8.4,0.01764425838371665,0.02764425838371666,0.00235574161628332
+8.6,0.0176876375211811,0.02768763752118111,0.002312362478818877
+8.8,0.01772862114017596,0.02772862114017597,0.002271378859824014
+9.,0.01776734105166958,0.02776734105166959,0.002232658948330397
+9.2,0.01780392186514157,0.02780392186514157,0.002196078134858404
+9.4,0.01783848137650913,0.02783848137650914,0.002161518623490833
+9.6,0.01787113093575552,0.02787113093575553,0.002128869064244442
+9.8,0.01790197579525589,0.0279019757952559,0.002098024204744071
+10.,0.01793111543974082,0.02793111543974083,0.002068884560259144
diff --git a/models/sbml-test-suite/cases/semantic/00545/00545-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00545/00545-sbml-l2v4.xml
new file mode 100644
index 0000000..e6ed853
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00545/00545-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00545" id="case00545" name="case00545">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00545/00545-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00545/00545-sbml-l3v1.xml
new file mode 100644
index 0000000..8b6bbab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00545/00545-sbml-l3v1.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00545" id="case00545" name="case00545" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00545/00545-settings.txt b/models/sbml-test-suite/cases/semantic/00545/00545-settings.txt
new file mode 100644
index 0000000..406844f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00545/00545-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00546/00546-results.csv b/models/sbml-test-suite/cases/semantic/00546/00546-results.csv
new file mode 100644
index 0000000..d5d1f89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00546/00546-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0002,0.0001,0.0001000000052207569
+0.3,0.0001072137822618279,0.0002072137822618279,0.00009278621773817209,0.0001072137822618279
+0.6,0.0001139163043900321,0.0002139163043900321,0.00008608369560996785,0.0001139163043900321
+0.9,0.0001201359296610642,0.0002201359296610642,0.00007986407033893573,0.0001201359296610642
+1.2,0.0001259052598115635,0.0002259052598115635,0.00007409474018843648,0.0001259052598115635
+1.5,0.0001312556678242862,0.0002312556678242863,0.00006874433217571369,0.0001312556678242862
+1.8,0.0001362168118285541,0.0002362168118285542,0.00006378318817144576,0.0001362168118285541
+2.1,0.0001408170362639195,0.0002408170362639195,0.00005918296373608044,0.0001408170362639195
+2.4,0.000145084902251003,0.0002450849022510029,0.00005491509774899696,0.0001450849022510029
+2.7,0.0001490449892574101,0.0002490449892574102,0.00005095501074258981,0.0001490449892574101
+3.,0.0001527197069861412,0.0002527197069861412,0.00004728029301385871,0.0001527197069861413
+3.3,0.0001561290617888012,0.0002561290617888011,0.0000438709382111988,0.000156129061788801
+3.6,0.0001592912427550202,0.0002592912427550202,0.00004070875724497978,0.0001592912427550201
+3.9,0.0001622241288044809,0.0002622241288044808,0.00003777587119551909,0.0001622241288044809
+4.2,0.0001649452992535019,0.0002649452992535019,0.00003505470074649803,0.0001649452992535023
+4.5,0.0001674691287147987,0.0002674691287147986,0.00003253087128520131,0.0001674691287147991
+4.8,0.000169810046266901,0.000269810046266901,0.00003018995373309894,0.000169810046266901
+5.1,0.000171982341582473,0.000271982341582473,0.00002801765841752691,0.0001719823415824729
+5.4,0.000173997567192945,0.000273997567192945,0.00002600243280705492,0.0001739975671929451
+5.7,0.0001758663591140707,0.0002758663591140707,0.00002413364088592921,0.0001758663591140705
+6.,0.0001776000492268142,0.0002776000492268142,0.00002239995077318572,0.0001776000492268134
+6.3,0.0001792094050036001,0.0002792094050036002,0.00002079059499639982,0.0001792094050035995
+6.6,0.0001807018742522328,0.0002807018742522329,0.0000192981257477671,0.0001807018742522328
+6.9,0.0001820857308853049,0.000282085730885305,0.000017914269114695,0.0001820857308853053
+7.2,0.0001833701096186394,0.0002833701096186395,0.00001662989038136057,0.0001833701096186398
+7.5,0.0001845607713605929,0.000284560771360593,0.00001543922863940704,0.000184560771360593
+7.8,0.0001856642933326277,0.0002856642933326278,0.00001433570666737221,0.0001856642933326273
+8.1,0.0001866887074166716,0.0002866887074166717,0.00001331129258332828,0.0001866887074166714
+8.4,0.0001876386499652107,0.0002876386499652108,0.00001236135003478923,0.0001876386499652111
+8.7,0.0001885191760401851,0.0002885191760401853,0.0000114808239598148,0.0001885191760401861
+9.,0.0001893365271705341,0.0002893365271705342,0.00001066347282946578,0.0001893365271705349
+9.3,0.0001900947204010557,0.0002900947204010558,9.905279598944199e-6,0.0001900947204010555
+9.6,0.0001907978942443693,0.0002907978942443694,9.202105755630582e-6,0.000190797894244368
+9.9,0.0001914506096472856,0.0002914506096472857,8.549390352714327e-6,0.0001914506096472845
+10.2,0.0001920561059281663,0.0002920561059281664,7.943894071833602e-6,0.0001920561059281667
+10.5,0.0001926177330791111,0.0002926177330791112,7.382266920888861e-6,0.0001926177330791133
+10.8,0.0001931390990593061,0.0002931390990593062,6.860900940693888e-6,0.0001931390990593079
+11.1,0.0001936226322151644,0.0002936226322151645,6.377367784835522e-6,0.0001936226322151638
+11.4,0.0001940708988551022,0.0002940708988551023,5.929101144897749e-6,0.0001940708988550986
+11.7,0.0001944870673155673,0.0002944870673155674,5.512932684432615e-6,0.000194487067315564
+12.,0.0001948732341267063,0.0002948732341267064,5.126765873293596e-6,0.0001948732341267051
+12.3,0.0001952313782232117,0.0002952313782232119,4.768621776788199e-6,0.0001952313782232127
+12.6,0.000195563478539776,0.0002955634785397762,4.436521460223925e-6,0.000195563478539777
+12.9,0.0001958714556573845,0.0002958714556573847,4.128544342615415e-6,0.0001958714556573829
+13.2,0.00019615690758001,0.0002961569075800102,3.843092419989909e-6,0.0001961569075800074
+13.5,0.0001964214691123752,0.0002964214691123754,3.578530887624691e-6,0.0001964214691123731
+13.8,0.0001966667927254299,0.00029666679272543,3.333207274570026e-6,0.0001966667927254288
+14.1,0.0001968945308901238,0.0002968945308901238,3.10546910987617e-6,0.0001968945308901236
+14.4,0.0001971060517477507,0.0002971060517477508,2.893948252249235e-6,0.0001971060517477506
+14.7,0.0001973019098992635,0.0002973019098992636,2.69809010073645e-6,0.000197301909899263
+15.,0.0001974838155606598,0.0002974838155606599,2.516184439340063e-6,0.0001974838155606598
diff --git a/models/sbml-test-suite/cases/semantic/00546/00546-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00546/00546-sbml-l2v4.xml
new file mode 100644
index 0000000..a5b6fb8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00546/00546-sbml-l2v4.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00546" id="case00546" name="case00546">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00546/00546-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00546/00546-sbml-l3v1.xml
new file mode 100644
index 0000000..d2a185c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00546/00546-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00546" id="case00546" name="case00546" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="0" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00546/00546-settings.txt b/models/sbml-test-suite/cases/semantic/00546/00546-settings.txt
new file mode 100644
index 0000000..77f0342
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00546/00546-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00547/00547-results.csv b/models/sbml-test-suite/cases/semantic/00547/00547-results.csv
new file mode 100644
index 0000000..8d22748
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00547/00547-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T
+0,1,0,0
+0.3,0.9704455335477391,0.001609671181645431,0.02794479527061562
+0.6,0.941764533584202,0.00614517012548865,0.0520902962903094
+0.9,0.9139311852692468,0.01320364688030889,0.07286516785044431
+1.2,0.8869204367136145,0.02242782268801484,0.09065174059837064
+1.5,0.8607079764256875,0.03350105980899956,0.1057909637653129
+1.8,0.8352702114017336,0.04614295417140281,0.1185868344268636
+2.1,0.8105842459180286,0.06010541114961138,0.1293103429323601
+2.4,0.7866278610131433,0.07516914944404166,0.1382029895428151
+2.7,0.7633794943325434,0.09114053391104479,0.145479971756412
+3,0.7408182205555359,0.1078487619973791,0.151333017447085
+3.3,0.7189237334114278,0.1251434852385186,0.1559327813500538
+3.6,0.6976763259380115,0.1428923634222101,0.1594313106397784
+3.9,0.6770568743914891,0.1609793128732895,0.1619638127352215
+4.2,0.6570468196553947,0.1793025241397392,0.1636506562048662
+4.5,0.6376281514946136,0.1977730239858741,0.1645988245195125
+4.8,0.6187833915964451,0.2163131381674775,0.1649034702360776
+5.1,0.6004955787304575,0.2348553566561145,0.1646490646134283
+5.4,0.5827482520690939,0.2533410359859845,0.1639107119449219
+5.7,0.5655254387169979,0.271719629206572,0.1627549320764304
+6,0.5488116356643238,0.2899474665988857,0.1612408977367906
+6.3,0.532591801042694,0.3079873619404939,0.1594208370168123
+6.6,0.516851334024401,0.3258074333094396,0.1573412326661597
+6.9,0.5015760689267582,0.343380934172866,0.1550429969003761
+7.2,0.4867522557313875,0.3606852922590758,0.152562452009537
+7.5,0.4723665522521174,0.3777018397087322,0.1499316080391506
+7.8,0.4584060113968199,0.394415341742979,0.1471786468602013
+8.1,0.4448580655762749,0.4108133968965211,0.1443285375272041
+8.4,0.4317105232085777,0.4268864247159079,0.1414030520755146
+8.7,0.4189515491229385,0.442627003045076,0.1384214478319857
+9,0.4065696589628777,0.4580297666453342,0.1354005743917883
+9.3,0.3945537103723757,0.4730912125120412,0.1323550771155833
+9.6,0.3828928855196324,0.487809236987124,0.1292978774932437
+9.9,0.371576690217515,0.5021831959298563,0.1262401138526289
+10.2,0.3605949402832059,0.5162136167786215,0.1231914429381726
+10.5,0.3499377484488514,0.5299019395575734,0.1201603119935754
+10.8,0.3395955247474908,0.5432505940283473,0.1171538812241621
+11.1,0.3295589612146894,0.5562627342655107,0.1141783045198001
+11.4,0.3198190211212714,0.5689420797894437,0.1112388990892852
+11.7,0.3103669401269755,0.581292989315045,0.1083400705579797
+12,0.3011942119578291,0.59332026556318,0.1054855224789912
+12.3,0.2922925772424476,0.6050290252738542,0.1026783974836985
+12.6,0.2836540250158491,0.6164247620375565,0.09992121294659462
+12.9,0.2752707827357835,0.6275132448344396,0.09721597242977705
+13.2,0.2671353021330839,0.6383003848243871,0.09456431304252923
+13.5,0.2592402590512519,0.6487922649585594,0.09196747599018888
+13.8,0.2515785518384953,0.6589951411287316,0.0894263070327733
+14.1,0.2441432834391968,0.6689153088260714,0.08694140773473193
+14.4,0.2369277587440996,0.6785590952698435,0.08451314598605701
+14.7,0.2299254852210768,0.6879328936969337,0.08214162108198968
+15,0.2231301605517274,0.6970430866342769,0.07982675281399573
diff --git a/models/sbml-test-suite/cases/semantic/00547/00547-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00547/00547-sbml-l1v2.xml
new file mode 100644
index 0000000..af00335
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00547/00547-sbml-l1v2.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00547">
+    <listOfCompartments>
+      <compartment name="C" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="X0" compartment="C" initialAmount="1" units="substance"/>
+      <species name="X1" compartment="C" initialAmount="0" units="substance"/>
+      <species name="T" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.1"/>
+      <parameter name="k2" value="0.375"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="C + -2.5"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * X0"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * T"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00547/00547-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00547/00547-sbml-l2v4.xml
new file mode 100644
index 0000000..52eda26
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00547/00547-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00547" id="case00547" name="case00547">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn> -2.5 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00547/00547-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00547/00547-sbml-l3v1.xml
new file mode 100644
index 0000000..3037743
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00547/00547-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00547" id="case00547" name="case00547" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn> -2.5 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00547/00547-settings.txt b/models/sbml-test-suite/cases/semantic/00547/00547-settings.txt
new file mode 100644
index 0000000..545ad9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00547/00547-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: X0, X1, T
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00548/00548-results.csv b/models/sbml-test-suite/cases/semantic/00548/00548-results.csv
new file mode 100644
index 0000000..828746d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00548/00548-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.06,0.09044207950811123,0.1904420795081112,0.1095579204918888
+0.12,0.08248935956971248,0.1824893595697125,0.1175106404302875
+0.18,0.07580832262004253,0.1758083226200425,0.1241916773799575
+0.24,0.07015014118045662,0.1701501411804566,0.1298498588195434
+0.3,0.06532540325345715,0.1653254032534572,0.1346745967465429
+0.36,0.06118735973262322,0.1611873597326232,0.1388126402673768
+0.42,0.05762048217109532,0.1576204821710953,0.1423795178289047
+0.48,0.054532715618551,0.154532715618551,0.145467284381449
+0.54,0.05184974341940266,0.1518497434194026,0.1481502565805974
+0.6,0.04951093031004004,0.14951093031004,0.15048906968996
+0.66,0.04746641234549377,0.1474664123454938,0.1525335876545063
+0.72,0.04567471554309022,0.1456747155430902,0.1543252844569098
+0.78,0.04410122329218576,0.1441012232921858,0.1558987767078143
+0.84,0.04271670562411266,0.1427167056241127,0.1572832943758874
+0.9,0.04149646951816855,0.1414964695181686,0.1585035304818315
+0.96,0.04041940864018184,0.1404194086401818,0.1595805913598182
+1.02,0.03946752175104068,0.1394675217510407,0.1605324782489593
+1.08,0.03862526928893222,0.1386252692889322,0.1613747307110678
+1.14,0.037879291275063,0.137879291275063,0.162120708724937
+1.2,0.03721797505474462,0.1372179750547446,0.1627820249452554
+1.26,0.03663124947082309,0.1366312494708231,0.1633687505291769
+1.32,0.03611034226170048,0.1361103422617005,0.1638896577382995
+1.38,0.03564756079032926,0.1356475607903293,0.1643524392096708
+1.44,0.03523621340250511,0.1352362134025051,0.1647637865974949
+1.5,0.03487038491839099,0.134870384918391,0.165129615081609
+1.56,0.03454490041286708,0.1345449004128671,0.165455099587133
+1.62,0.03425520658017667,0.1342552065801766,0.1657447934198233
+1.68,0.03399725950554247,0.1339972595055425,0.1660027404944575
+1.74,0.03376752412114322,0.1337675241211432,0.1662324758788568
+1.8,0.03356285782673215,0.1335628578267322,0.1664371421732679
+1.86,0.03338046597867901,0.133380465978679,0.166619534021321
+1.92,0.03321790435203079,0.1332179043520308,0.1667820956479693
+1.98,0.03307298645482141,0.1330729864548214,0.1669270135451786
+2.04,0.03294376214051718,0.1329437621405172,0.1670562378594828
+2.1,0.03282852697372642,0.1328285269737264,0.1671714730262736
+2.16,0.03272575345395792,0.1327257534539579,0.1672742465460421
+2.22,0.03263407036103692,0.1326340703610369,0.1673659296389631
+2.28,0.03255227861369015,0.1325522786136902,0.1674477213863099
+2.34,0.03247931070618396,0.132479310706184,0.1675206892938161
+2.4,0.03241420083322856,0.1324142008332286,0.1675857991667715
+2.46,0.03235609379157679,0.1323560937915768,0.1676439062084232
+2.52,0.03230424322211391,0.1323042432221139,0.1676957567778861
+2.58,0.03225797245574009,0.1322579724557401,0.1677420275442599
+2.64,0.03221667006813339,0.1322166700681334,0.1677833299318667
+2.7,0.03217980189180832,0.1321798018918083,0.1678201981081917
+2.76,0.03214689817145121,0.1321468981714512,0.1678531018285488
+2.82,0.03211753028955686,0.1321175302895569,0.1678824697104432
+2.88,0.03209131123876352,0.1320913112387635,0.1679086887612365
+2.94,0.03206790486986612,0.1320679048698661,0.1679320951301339
+3,0.03204700989341899,0.132047009893419,0.1679529901065811
diff --git a/models/sbml-test-suite/cases/semantic/00548/00548-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00548/00548-sbml-l1v2.xml
new file mode 100644
index 0000000..b3f90ca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00548/00548-sbml-l1v2.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00548">
+    <listOfCompartments>
+      <compartment name="C" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.2" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="7.5"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="C + -0.75"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00548/00548-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00548/00548-sbml-l2v4.xml
new file mode 100644
index 0000000..43b1d3b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00548/00548-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00548" id="case00548" name="case00548">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn> -0.75 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00548/00548-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00548/00548-sbml-l3v1.xml
new file mode 100644
index 0000000..7679225
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00548/00548-sbml-l3v1.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00548" id="case00548" name="case00548" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> C </ci>
+            <cn> -0.75 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00548/00548-settings.txt b/models/sbml-test-suite/cases/semantic/00548/00548-settings.txt
new file mode 100644
index 0000000..d25b5f1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00548/00548-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00549/00549-results.csv b/models/sbml-test-suite/cases/semantic/00549/00549-results.csv
new file mode 100644
index 0000000..9401adc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00549/00549-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.4,1.,0.0008450136328034252,0.03915498636719656,0.01118713896205617
+0.8,1.,0.00333265239182654,0.07666734760817346,0.02190495645947811
+1.2,1.,0.007394013076165731,0.1126059869238342,0.03217313912109549
+1.6,1.,0.01296305774269218,0.1470369422573078,0.0420105549306594
+2.,1.,0.01997653973684645,0.1800234602631535,0.051435274360901
+2.4,1.,0.02837386469744676,0.2116261353025532,0.06046461008644379
+2.8,1.,0.03809697615599347,0.2419030238440065,0.06911514966971617
+3.2,1.,0.04909025753281572,0.2709097424671843,0.07740278356205267
+3.6,1.,0.06130042086666085,0.2986995791333392,0.08534273689523978
+4.,1.,0.07467640598535434,0.3253235940146458,0.09294959828989883
+4.4,1.,0.08916932911389931,0.3508306708861008,0.1002373345388859
+4.8,1.,0.1047323307661163,0.3752676692338837,0.1072193340668239
+5.2,1.,0.1213205025990338,0.3986794974009663,0.1139084278288475
+5.6,1.,0.1388908340341573,0.4211091659658427,0.1203169045616693
+6.,1.,0.1574021291889846,0.4425978708110154,0.1264565345174329
+6.4,1.,0.1768149165600935,0.4631850834399066,0.1323385952685447
+6.8,1.,0.1970913761562461,0.4829086238437539,0.1379738925267868
+7.2,1.,0.2181952743700914,0.5018047256299087,0.1433727787514025
+7.6,1.,0.2400918951254567,0.5199081048745435,0.148545172821298
+8.,1.,0.2627479804220166,0.5372520195779834,0.153500577022281
+8.4,1.,0.2861316727208629,0.5538683272791373,0.1582480935083249
+8.8,1.,0.3102124499713956,0.5697875500286047,0.1627964428653155
+9.2,1.,0.3349610688292287,0.5850389311707713,0.1671539803345061
+9.6,1.,0.360349511287766,0.5996504887122341,0.1713287110606383
+10.,1.,0.3863509335429915,0.6136490664570086,0.1753283047020024
+10.4,1.,0.4129396176545306,0.6270603823454695,0.1791601092415626
+10.8,1.,0.4400909286048005,0.6399090713951997,0.1828311632557714
+11.2,1.,0.467781265484319,0.6522187345156811,0.1863482098616232
+11.6,1.,0.4959880160597184,0.6640119839402818,0.1897177096972231
+12.,1.,0.5246895155393533,0.675310484460647,0.192945852703042
+12.4,1.,0.5538650070438091,0.6861349929561914,0.1960385694160548
+12.8,1.,0.5834946037998805,0.6965053962001199,0.1990015417714628
+13.2,1.,0.6135592553619762,0.706440744638024,0.2018402127537209
+13.6,1.,0.6440407124256818,0.7159592875743184,0.2045597964498053
+14.,1.,0.6749214902730819,0.7250785097269184,0.2071652884934055
+14.4,1.,0.7061848367361799,0.7338151632638204,0.2096614752182341
+14.8,1.,0.7378147016415125,0.7421852983584879,0.2120529423881393
+15.2,1.,0.7697957075139439,0.7502042924860562,0.2143440835674448
+15.6,1.,0.8021131225055321,0.7578868774944682,0.2165391078555626
+16.,1.,0.8347528351002092,0.7652471648997911,0.2186420471142256
+16.4,1.,0.8677013254071521,0.772298674592848,0.220656764169385
+16.8,1.,0.9009456399322143,0.779054360067786,0.2225869600193679
+17.2,1.,0.9344733679570947,0.7855266320429054,0.224436180583687
+17.6,1.,0.9682726188925667,0.7917273811074336,0.2262078231735521
+18.,1.,1.002332000811212,0.7976679991887886,0.2279051426253681
+18.4,1.,1.036640601397087,0.8033593986029123,0.2295312567436899
+18.8,1.,1.071187966528614,0.8088120334713858,0.2310891524203955
+19.2,1.,1.105964080020525,0.814035919979475,0.2325816914227066
+19.6,1.,1.140959345355764,0.8190406546442358,0.2340116156126395
+20.,1.,1.176164568345021,0.8238354316549789,0.2353815519014225
diff --git a/models/sbml-test-suite/cases/semantic/00549/00549-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00549/00549-sbml-l2v4.xml
new file mode 100644
index 0000000..68a7dc5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00549/00549-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00549" id="case00549" name="case00549">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00549/00549-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00549/00549-sbml-l3v1.xml
new file mode 100644
index 0000000..7355e84
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00549/00549-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00549" id="case00549" name="case00549" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00549/00549-settings.txt b/models/sbml-test-suite/cases/semantic/00549/00549-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00549/00549-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00550/00550-results.csv b/models/sbml-test-suite/cases/semantic/00550/00550-results.csv
new file mode 100644
index 0000000..dc48492
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00550/00550-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.4,0.9607894511679531,0,0.03837670257270973,0.01096477216363135
+0.8,0.923116358274837,0,0.07363868647111045,0.02103962470603155
+1.2,0.886920447164744,0,0.105975604192629,0.03027874405503686
+1.6,0.852143797686061,0,0.1355668531665398,0.03873338661901136
+2.,0.8187307602193577,0,0.1625820828505039,0.04645202367157254
+2.4,0.7866278663273691,0,0.1871816933747424,0.05348048382135497
+2.8,0.7557837463458934,0,0.2095172956906979,0.05986208448305656
+3.2,0.7261490420344872,0,0.2297321814807684,0.06563776613736242
+3.6,0.6976763326088942,0,0.2479617286107891,0.07084620817451119
+4.,0.670320053208164,0,0.2643338286505376,0.07552395104301076
+4.4,0.6440364282788553,0,0.2789692480881956,0.07970549945377017
+4.8,0.6187833986542323,0,0.2919820076908049,0.08342343076880139
+5.2,0.5945205543591706,0,0.3034797309882894,0.08670849456808268
+5.6,0.5712090698251128,0,0.3135639760448488,0.08958970744138539
+6.,0.5488116418213759,0,0.3223305504127554,0.09209444297507299
+6.4,0.527292429780182,0,0.3298698107471369,0.09424851735632483
+6.8,0.5066169983920993,0,0.3362669479587276,0.09607627084535076
+7.2,0.4867522625042146,0,0.3416022578482233,0.0976006450994924
+7.6,0.4676664342010591,0,0.3459513981445583,0.09884325661273091
+8.,0.4493289719615225,0,0.3493856327396975,0.09982446649705648
+8.4,0.4317105317906617,0,0.3519720638460565,0.100563446813159
+8.8,0.4147829202619658,0,0.3537738525674505,0.1010782435907001
+9.2,0.3985190494828477,0,0.3548504281019424,0.101385836600555
+9.6,0.382892893960387,0,0.355257686060033,0.1015021960171522
+10.,0.3678794486930548,0,0.355048178353566,0.1014423366724474
+10.4,0.3534546890889381,0,0.3542712928165131,0.1012203693761467
+10.8,0.3395955325283827,0,0.3529734235476212,0.1008495495850345
+11.2,0.3262798014337746,0,0.3511981326306559,0.1003423236087588
+11.6,0.3134861877878015,0,0.3489863036500288,0.09971037247143697
+12.,0.3011942190426579,0,0.3463762874066713,0.09896465354476309
+12.4,0.2893842253651707,0,0.3434040402174832,0.09811544006213801
+12.8,0.2780373081656398,0,0.3401032551592707,0.09717235861693471
+13.2,0.2671353098603995,0,0.3365054866002498,0.09614442474292835
+13.6,0.2566607848205214,0,0.3326402683450256,0.09504007667000739
+14.,0.2465969715477225,0,0.3285352254506885,0.09386720727162536
+14.4,0.2369277659184655,0,0.3242161804221149,0.09263319440631821
+14.8,0.2276376952449176,0,0.319707254508932,0.09134492985969526
+15.2,0.2187118935006871,0,0.315030963333426,0.09000884666669316
+15.6,0.2101360775370683,0,0.310208307516133,0.08863094500460885
+16.,0.2018965242315485,0,0.305258858588382,0.0872168167395384
+16.4,0.1939800485320312,0,0.300200840425243,0.08577166869292661
+16.8,0.1863739823616736,0,0.2950512064210366,0.08430034469172395
+17.2,0.1790661543506215,0,0.2898257126188658,0.08280734646253389
+17.6,0.1720448703622394,0,0.2845389869955075,0.08129685342728777
+18.,0.1652988947827004,0,0.2792045950933578,0.07977274145524457
+18.4,0.1588174325476645,0,0.2738351021718495,0.07823860062052927
+18.8,0.1525901119497233,0,0.2684421318913812,0.07669775196896509
+19.2,0.1466069680276794,0,0.263036422123967,0.07515326346399081
+19.6,0.1408584265340713,0,0.2576278778956698,0.07360796511304983
+20.,0.1353352891610048,0,0.2522256202925506,0.07206446294072875
diff --git a/models/sbml-test-suite/cases/semantic/00550/00550-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00550/00550-sbml-l2v4.xml
new file mode 100644
index 0000000..eaf09a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00550/00550-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00550" id="case00550" name="case00550">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00550/00550-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00550/00550-sbml-l3v1.xml
new file mode 100644
index 0000000..9140e07
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00550/00550-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00550" id="case00550" name="case00550" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00550/00550-settings.txt b/models/sbml-test-suite/cases/semantic/00550/00550-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00550/00550-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00551/00551-results.csv b/models/sbml-test-suite/cases/semantic/00551/00551-results.csv
new file mode 100644
index 0000000..536c155
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00551/00551-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.4,0.9607894505357768,0.000833845462800037,0.03837670400142282,0.01096477257183509
+0.8,0.9231163576760428,0.003244954546376271,0.07363868777758049,0.02103962507930871
+1.2,0.8869204465742713,0.007103947949298944,0.1059756054764292,0.03027874442183693
+1.6,0.852143797119792,0.01228934852172851,0.1355668543584791,0.03873338695956546
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.0464520239891676
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408772
+2.8,0.7557837471460103,0.03469896050720146,0.2095172923467876,0.05986208352765363
+3.2,0.7261490388594339,0.0441187653010724,0.229732195839493,0.06563777023985516
+3.6,0.6976763279936457,0.05436192220430618,0.2479617498020474,0.07084621422915637
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211858,0.07552395726319598
+4.4,0.6440364243161742,0.07699430970508103,0.2789692659787441,0.07970550456535545
+4.8,0.6187833959095926,0.08923458373363538,0.2919820203567714,0.08342343438764901
+5.2,0.5945205527446842,0.1019997080082743,0.3034797392470407,0.08670849692772592
+5.6,0.5712090691367363,0.115226949975085,0.3135639808881781,0.08958970882519376
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.4,0.527292430303364,0.1428377588031926,0.3298698108934429,0.09424851739812654
+6.8,0.5066169990569292,0.1571160534772621,0.3362669474658082,0.09607627070451664
+7.2,0.4867522629833074,0.1716454790421783,0.3416022579745136,0.09760064513557531
+7.6,0.4676664342769864,0.1863821660702592,0.3459513996527536,0.09884325704364391
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.4,0.431710531003235,0.2163174009346478,0.3519720680621165,0.1005634480177475
+8.8,0.4147829193123543,0.2314432235434361,0.3537738571442088,0.1010782448983453
+9.2,0.3985190487020195,0.2466305193308348,0.354850431967145,0.1013858377048985
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695932
+10.,0.3678794486179236,0.2770723716247996,0.3550481797572761,0.1014423370735074
+10.4,0.3534546892749864,0.2922740173858473,0.3542712933391656,0.1012203695254758
+10.8,0.3395955328109051,0.3074310434580307,0.3529734237310636,0.1008495496374467
+11.2,0.3262798016246614,0.3225220653115714,0.3511981330637665,0.1003423237325047
+11.6,0.3134861877122507,0.3375275074378869,0.3489863048498616,0.09971037281424619
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.4,0.2893842244231299,0.3672117317421291,0.3434040438347404,0.09811544109564013
+12.8,0.2780373067704968,0.381859433253978,0.3401032599755243,0.09717235999300698
+13.2,0.2671353081234729,0.396359199620259,0.3365054922562674,0.09614442635893352
+13.6,0.2566607829604508,0.4106989428400723,0.3326402741994762,0.09504007834270752
+14.,0.2465969698081156,0.4248677993481391,0.3285352308437446,0.09386720881249845
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153508
+14.8,0.2276376940033317,0.4526550476174064,0.319707258379261,0.09134493096550311
+15.2,0.218711892465461,0.4662571409389489,0.3150309665955892,0.09000884759873981
+15.6,0.210136076619001,0.4796556129651469,0.3102083104158512,0.08863094583310034
+16.,0.201896523328712,0.4928446152826624,0.3052588613886247,0.08721681753960708
+16.4,0.1939800475509628,0.5058191090957615,0.300200843353275,0.08577166952950714
+16.8,0.1863739812348858,0.5185748091363077,0.2950512096288057,0.08430034560823021
+17.2,0.1790661530508464,0.5311081307944476,0.2898257161547053,0.08280734747277292
+17.6,0.1720448689137586,0.5434161403007272,0.2845389907855135,0.08129685451014674
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171494
+18.4,0.1588174311185365,0.5673474631569459,0.2738351057245168,0.07823860163557623
+18.8,0.1525901107358551,0.5789677543709074,0.268442134893237,0.07669775282663916
+19.2,0.1466069670797981,0.5903566084244245,0.2630364244957769,0.0751532641416506
+19.6,0.1408584258429966,0.6015136944724306,0.2576278796845722,0.07360796562416344
+20.,0.1353352888698187,0.612439089880779,0.2522256212494018,0.07206446321411481
diff --git a/models/sbml-test-suite/cases/semantic/00551/00551-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00551/00551-sbml-l2v4.xml
new file mode 100644
index 0000000..bb0a3ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00551/00551-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00551" id="case00551" name="case00551">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00551/00551-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00551/00551-sbml-l3v1.xml
new file mode 100644
index 0000000..ea29189
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00551/00551-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00551" id="case00551" name="case00551" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00551/00551-settings.txt b/models/sbml-test-suite/cases/semantic/00551/00551-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00551/00551-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00552/00552-results.csv b/models/sbml-test-suite/cases/semantic/00552/00552-results.csv
new file mode 100644
index 0000000..87cecc1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00552/00552-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.002,0.001,0.001000000000619932
+0.4,0.001094557164772621,0.002,0.0009054428352273779,0.001094557164772622
+0.8,0.001180080375749524,0.002,0.0008199196242504757,0.001180080375749524
+1.2,0.001257406034691244,0.002,0.0007425939653087555,0.001257406034691245
+1.6,0.001327329976499547,0.002,0.0006726700235004526,0.001327329976499545
+2.,0.001390561110282707,0.002,0.0006094388897172922,0.001390561110282709
+2.4,0.001447742881672449,0.002,0.0005522571183275497,0.001447742881672449
+2.8,0.001499454506830915,0.002,0.0005005454931690847,0.001499454506830915
+3.2,0.00154621839993151,0.002,0.0004537816000684883,0.00154621839993151
+3.6,0.001588507057697916,0.002,0.0004114929423020828,0.001588507057697916
+4.,0.001626748972434471,0.002,0.0003732510275655283,0.001626748972434471
+4.4,0.00166133126990196,0.002,0.0003386687300980389,0.00166133126990196
+4.8,0.001692603198950274,0.002,0.000307396801049725,0.001692603198950274
+5.2,0.001720881475053694,0.002,0.0002791185249463047,0.001720881475053694
+5.6,0.001746453128119931,0.002,0.0002535468718800671,0.001746453128119931
+6.,0.001769577443657014,0.002,0.0002304225563429843,0.001769577443657015
+6.4,0.001790488871383707,0.002,0.0002095111286162919,0.001790488871383707
+6.8,0.001809398718459827,0.002,0.0001906012815401715,0.001809398718459827
+7.2,0.001826499450984532,0.002,0.0001735005490154663,0.001826499450984532
+7.6,0.001841962164854054,0.002,0.0001580378351459448,0.001841962164854051
+8.,0.001855944566987067,0.002,0.000144055433012932,0.001855944566987069
+8.4,0.001868588538946024,0.002,0.0001314114610539748,0.001868588538946027
+8.8,0.001880020838988919,0.002,0.0001199791610110797,0.001880020838988919
+9.2,0.001890360806544838,0.002,0.0001096391934551604,0.001890360806544836
+9.6,0.001899709319955819,0.002,0.0001002906800441797,0.001899709319955818
+10.,0.001908165395976392,0.002,0.0000918346040236068,0.001908165395976392
+10.4,0.001915810714825861,0.002,0.00008418928517413737,0.001915810714825862
+10.8,0.001922725100654112,0.002,0.00007727489934588597,0.001922725100654113
+11.2,0.001928977825598676,0.002,0.00007102217440132232,0.001928977825598676
+11.6,0.001934632508410915,0.002,0.0000653674915890832,0.001934632508410915
+12.,0.001939745966950181,0.002,0.00006025403304981705,0.001939745966950181
+12.4,0.001944369870162975,0.002,0.00005563012983702374,0.001944369870162975
+12.8,0.001948551558954829,0.002,0.00005144844104516937,0.00194855155895483
+13.2,0.001952332693868436,0.002,0.00004766730613156217,0.001952332693868437
+13.6,0.00195575251224098,0.002,0.00004424748775901882,0.00195575251224098
+14.,0.001958844538231792,0.002,0.00004115546176820686,0.001958844538231792
+14.4,0.00196164125929943,0.002,0.00003835874070056893,0.001961641259299429
+14.8,0.001964169970916567,0.002,0.00003583002908343219,0.001964169970916566
+15.2,0.001966457100265535,0.002,0.00003354289973446439,0.001966457100265535
+15.6,0.001968525178295438,0.002,0.00003147482170456047,0.001968525178295439
+16.,0.001970395523041451,0.002,0.00002960447695854721,0.001970395523041452
+16.4,0.001972086849173924,0.002,0.00002791315082607388,0.001972086849173925
+16.8,0.001973616334940738,0.002,0.00002638366505925956,0.001973616334940738
+17.2,0.00197499951085073,0.002,0.00002500048914926752,0.001974999510850729
+17.6,0.001976250229573817,0.002,0.00002374977042618092,0.001976250229573817
+18.,0.001977381398766458,0.002,0.00002261860123353971,0.00197738139876646
+18.4,0.001978404172653021,0.002,0.00002159582734697667,0.001978404172653023
+18.8,0.001979329250150537,0.002,0.00002067074984946071,0.001979329250150538
+19.2,0.001980165664881645,0.002,0.00001983433511835253,0.001980165664881645
+19.6,0.001980922183492726,0.002,0.00001907781650727208,0.001980922183492724
+20.,0.001981606362729748,0.002,0.00001839363727025021,0.001981606362729747
diff --git a/models/sbml-test-suite/cases/semantic/00552/00552-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00552/00552-sbml-l1v2.xml
new file mode 100644
index 0000000..ef0eb55
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00552/00552-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00552">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.001" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.002" units="substance" boundaryCondition="true"/>
+      <species name="S3" compartment="C" initialAmount="0.001" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="S4 + -1 * S1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00552/00552-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00552/00552-sbml-l2v4.xml
new file mode 100644
index 0000000..017efec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00552/00552-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00552" id="case00552" name="case00552">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00552/00552-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00552/00552-sbml-l3v1.xml
new file mode 100644
index 0000000..67ea6b4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00552/00552-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00552" id="case00552" name="case00552" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00552/00552-settings.txt b/models/sbml-test-suite/cases/semantic/00552/00552-settings.txt
new file mode 100644
index 0000000..9de52c6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00552/00552-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00553/00553-results.csv b/models/sbml-test-suite/cases/semantic/00553/00553-results.csv
new file mode 100644
index 0000000..27780d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00553/00553-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0002,0.0001,0.0001000000005621599
+0.2,0.0001049968462540497,0.0002049968462540497,0.0001,0.0001049968462540497
+0.4,0.0001099933762463556,0.0002099933762463556,0.0001,0.0001099933762463556
+0.6,0.0001149895545486087,0.0002149895545486087,0.0001,0.0001149895545486087
+0.8,0.0001199854347562965,0.0002199854347562965,0.0001,0.0001199854347562965
+1.,0.0001249810548635944,0.0002249810548635944,0.0001,0.0001249810548635944
+1.2,0.0001299759578202129,0.0002299759578202129,0.0001,0.0001299759578202129
+1.4,0.0001349705330991361,0.0002349705330991361,0.0001,0.0001349705330991361
+1.6,0.0001399651773245664,0.0002399651773245664,0.0001,0.0001399651773245664
+1.8,0.000144959720110738,0.000244959720110738,0.0001,0.000144959720110738
+2.,0.0001499534464809472,0.0002499534464809472,0.0001,0.0001499534464809472
+2.2,0.0001549467657800307,0.0002549467657800307,0.0001,0.0001549467657800307
+2.4,0.0001599401194370061,0.000259940119437006,0.0001,0.0001599401194370061
+2.6,0.0001649334616166073,0.0002649334616166073,0.0001,0.0001649334616166073
+2.8,0.0001699259025585706,0.0002699259025585706,0.0001,0.0001699259025585706
+3.,0.0001749178484893292,0.0002749178484893292,0.0001,0.0001749178484893292
+3.2,0.0001799097855878368,0.0002799097855878368,0.0001,0.0001799097855878368
+3.4,0.0001849019316624952,0.0002849019316624952,0.0001,0.0001849019316624952
+3.6,0.0001898935746226182,0.0002898935746226183,0.0001,0.0001898935746226182
+3.8,0.00019488474227216,0.00029488474227216,0.0001,0.00019488474227216
+4.,0.0001998755573548453,0.0002998755573548453,0.0001,0.0001998755573548453
+4.2,0.000204866142614399,0.0003048661426143989,0.0001,0.000204866142614399
+4.4,0.0002098565215447844,0.0003098565215447844,0.0001,0.0002098565215447844
+4.6,0.0002148464053876466,0.0003148464053876466,0.0001,0.0002148464053876466
+4.8,0.0002198358182522493,0.0003198358182522493,0.0001,0.0002198358182522493
+5.,0.0002248248211399804,0.0003248248211399804,0.0001,0.0002248248211399804
+5.2,0.0002298134750522281,0.0003298134750522281,0.0001,0.0002298134750522281
+5.4,0.0002348017956651765,0.0003348017956651765,0.0001,0.0002348017956651765
+5.6,0.0002397896530604127,0.0003397896530604127,0.0001,0.0002397896530604127
+5.8,0.0002447770564850074,0.0003447770564850075,0.0001,0.0002447770564850074
+6.,0.0002497640318652496,0.0003497640318652496,0.0001,0.0002497640318652496
+6.2,0.000254750605127428,0.000354750605127428,0.0001,0.000254750605127428
+6.4,0.0002597367681550635,0.0003597367681550635,0.0001,0.0002597367681550635
+6.6,0.0002647224155238988,0.0003647224155238988,0.0001,0.0002647224155238988
+6.8,0.0002697075612681588,0.0003697075612681588,0.0001,0.0002697075612681588
+7.,0.0002746922326274033,0.0003746922326274033,0.0001,0.0002746922326274033
+7.2,0.0002796764568411923,0.0003796764568411923,0.0001,0.0002796764568411923
+7.4,0.0002846602385617948,0.0003846602385617948,0.0001,0.0002846602385617948
+7.6,0.0002896435082140149,0.0003896435082140149,0.0001,0.0002896435082140149
+7.8,0.0002946262635010078,0.0003946262635010078,0.0001,0.0002946262635010078
+8.,0.0002996085103437139,0.0003996085103437139,0.0001,0.0002996085103437139
+8.2,0.0003045902546630733,0.0004045902546630733,0.0001,0.0003045902546630733
+8.4,0.0003095714921418408,0.0004095714921418408,0.0001,0.0003095714921418408
+8.6,0.0003145521850734268,0.0004145521850734268,0.0001,0.0003145521850734268
+8.8,0.0003195323265638927,0.0004195323265638927,0.0001,0.0003195323265638927
+9.,0.0003245119134585933,0.0004245119134585933,0.0001,0.0003245119134585933
+9.2,0.0003294909426028836,0.0004294909426028836,0.0001,0.0003294909426028836
+9.4,0.0003344694114723486,0.0004344694114723485,0.0001,0.0003344694114723486
+9.6,0.0003394473157123219,0.0004394473157123219,0.0001,0.0003394473157123219
+9.8,0.0003444246442537996,0.0004444246442537996,0.0001,0.0003444246442537996
+10.,0.0003494013855789047,0.0004494013855789047,0.0001,0.0003494013855789048
diff --git a/models/sbml-test-suite/cases/semantic/00553/00553-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00553/00553-sbml-l1v2.xml
new file mode 100644
index 0000000..d97243c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00553/00553-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00553">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.0002" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.0001" units="substance" boundaryCondition="true"/>
+      <species name="S4" compartment="C" initialAmount="0.0001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="S4 + -1 * S1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00553/00553-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00553/00553-sbml-l2v4.xml
new file mode 100644
index 0000000..449eae6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00553/00553-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00553" id="case00553" name="case00553">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00553/00553-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00553/00553-sbml-l3v1.xml
new file mode 100644
index 0000000..34a8376
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00553/00553-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00553" id="case00553" name="case00553" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00553/00553-settings.txt b/models/sbml-test-suite/cases/semantic/00553/00553-settings.txt
new file mode 100644
index 0000000..bfe1d07
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00553/00553-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00554/00554-results.csv b/models/sbml-test-suite/cases/semantic/00554/00554-results.csv
new file mode 100644
index 0000000..84457ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00554/00554-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.2,0.1,0.1000000000015537
+0.4,0.1036416310424275,0.2036416310424276,0.09635836895757249,0.1036416310424275
+0.8,0.1066467389392934,0.2066467389392935,0.09335326106070658,0.1066467389392934
+1.2,0.1091220821450863,0.2091220821450865,0.09087791785491367,0.1091220821450863
+1.6,0.1111580071896777,0.2111580071896779,0.08884199281032223,0.1111580071896778
+2.,0.1128304578741929,0.2128304578741931,0.08716954212580704,0.1128304578741929
+2.4,0.1142029388367886,0.2142029388367888,0.08579706116321132,0.1142029388367887
+2.8,0.1153283210731057,0.2153283210731059,0.08467167892689429,0.1153283210731057
+3.2,0.116250466331465,0.2162504663314652,0.08374953366853493,0.116250466331465
+3.6,0.1170056566178974,0.2170056566178975,0.08299434338210259,0.1170056566178973
+4.,0.117623836240383,0.2176238362403832,0.08237616375961695,0.117623836240383
+4.4,0.1181296735765158,0.218129673576516,0.08187032642348419,0.1181296735765157
+4.8,0.1185434589682091,0.2185434589682093,0.08145654103179086,0.1185434589682091
+5.2,0.1188818598576457,0.2188818598576459,0.08111814014235423,0.1188818598576458
+5.6,0.1191585528200952,0.2191585528200954,0.08084144717990476,0.1191585528200952
+6.,0.1193847523540358,0.219384752354036,0.08061524764596414,0.1193847523540359
+6.4,0.1195696478357595,0.2195696478357597,0.08043035216424047,0.1195696478357595
+6.8,0.1197207648309231,0.2197207648309232,0.08027923516907691,0.1197207648309231
+7.2,0.1198442630346936,0.2198442630346939,0.08015573696530635,0.1198442630346936
+7.6,0.119945182414274,0.2199451824142742,0.08005481758572598,0.119945182414274
+8.,0.1200276459378732,0.2200276459378734,0.07997235406212681,0.1200276459378732
+8.4,0.1200950254967255,0.2200950254967258,0.07990497450327446,0.1200950254967255
+8.8,0.1201500780736801,0.2201500780736804,0.07984992192631983,0.1201500780736802
+9.2,0.1201950572961159,0.2201950572961162,0.07980494270388403,0.1201950572961159
+9.6,0.1202318055180388,0.220231805518039,0.0797681944819612,0.1202318055180388
+10.,0.120261826730921,0.2202618267309213,0.07973817326907894,0.120261826730921
+10.4,0.120286352443313,0.2202863524433133,0.07971364755668694,0.120286352443313
+10.8,0.1203063892295605,0.2203063892295607,0.07969361077043947,0.1203063892295605
+11.2,0.1203227588839642,0.2203227588839646,0.07967724111603573,0.1203227588839642
+11.6,0.120336132153938,0.2203361321539383,0.07966386784606201,0.120336132153938
+12.,0.1203470571071516,0.2203470571071519,0.07965294289284835,0.1203470571071516
+12.4,0.120355981950189,0.2203559819501892,0.07964401804981098,0.120355981950189
+12.8,0.1203632729991998,0.2203632729992001,0.07963672700080012,0.1203632729991998
+13.2,0.1203692293569984,0.2203692293569987,0.07963077064300158,0.1203692293569984
+13.6,0.1203740952573792,0.2203740952573795,0.07962590474262074,0.1203740952573793
+14.,0.1203780702767017,0.2203780702767019,0.0796219297232983,0.1203780702767016
+14.4,0.1203813175390413,0.2203813175390416,0.07961868246095864,0.1203813175390414
+14.8,0.120383970310379,0.2203839703103793,0.07961602968962097,0.1203839703103789
+15.2,0.1203861374216218,0.2203861374216221,0.0796138625783782,0.1203861374216218
+15.6,0.1203879077670975,0.2203879077670978,0.07961209223290248,0.1203879077670975
+16.,0.12038935398334,0.2203893539833402,0.07961064601666,0.12038935398334
+16.4,0.1203905354209592,0.2203905354209594,0.0796094645790408,0.1203905354209592
+16.8,0.1203915005298581,0.2203915005298584,0.07960849947014182,0.1203915005298581
+17.2,0.1203922882579352,0.2203922882579355,0.07960771174206478,0.1203922882579353
+17.6,0.1203929319356156,0.2203929319356159,0.07960706806438433,0.1203929319356155
+18.,0.1203934568890651,0.2203934568890653,0.0796065431109349,0.120393456889065
+18.4,0.1203938863718439,0.2203938863718441,0.0796061136281561,0.120393886371844
+18.8,0.1203942364671545,0.2203942364671547,0.07960576353284545,0.1203942364671545
+19.2,0.1203945233632521,0.2203945233632523,0.07960547663674785,0.1203945233632521
+19.6,0.1203947573106404,0.2203947573106406,0.07960524268935957,0.1203947573106404
+20.,0.1203949494447703,0.2203949494447705,0.0796050505552297,0.1203949494447702
diff --git a/models/sbml-test-suite/cases/semantic/00554/00554-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00554/00554-sbml-l1v2.xml
new file mode 100644
index 0000000..fa648df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00554/00554-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00554">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.2" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.1" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.1" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="S4 + -1 * S1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00554/00554-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00554/00554-sbml-l2v4.xml
new file mode 100644
index 0000000..6dc4776
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00554/00554-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00554" id="case00554" name="case00554">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00554/00554-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00554/00554-sbml-l3v1.xml
new file mode 100644
index 0000000..dc8bf8d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00554/00554-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00554" id="case00554" name="case00554" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00554/00554-settings.txt b/models/sbml-test-suite/cases/semantic/00554/00554-settings.txt
new file mode 100644
index 0000000..a5220f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00554/00554-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00555/00555-results.csv b/models/sbml-test-suite/cases/semantic/00555/00555-results.csv
new file mode 100644
index 0000000..e238312
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00555/00555-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1,S2
+0,1.,0,0,0,0
+0.2,0.9801986836560896,0.0002113585014116814,0.01958995784249823,0.005597130812142353,0
+0.4,0.9607894505357768,0.000833845462800037,0.03837670400142282,0.01096477257183509,0
+0.6,0.9417645450742537,0.001850518180322546,0.05638493674542322,0.01610998192726377,0
+0.8,0.9231163576760428,0.003244954546376271,0.07363868777758049,0.02103962507930871,0
+1.,0.9048374286968407,0.005001238238300923,0.09016133306485804,0.02576038087567372,0
+1.2,0.8869204465742713,0.007103947949298944,0.1059756054764292,0.03027874442183693,0
+1.4,0.8693582443912096,0.009538142639825671,0.1211036129689642,0.03460103227684693,0
+1.6,0.852143797119792,0.01228934852172851,0.1355668543584791,0.03873338695956546,0
+1.8,0.835270218770295,0.01534354582804565,0.1493862354016589,0.04268178154333113,0
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.0464520239891676,0
+2.2,0.8025188040444832,0.02230703239882494,0.1751741635566913,0.05004976101619751,0
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408772,0
+2.6,0.7710515915499283,0.03032506266554961,0.1986233457845215,0.05674952736700613,0
+2.8,0.7557837471460103,0.03469896050720146,0.2095172923467876,0.05986208352765363,0
+3.,0.7408182262524066,0.0393005895271262,0.2198811842204665,0.06282319549156185,0
+3.2,0.7261490388594339,0.0441187653010724,0.229732195839493,0.06563777023985516,0
+3.4,0.7117703260701077,0.04914270391553924,0.2390869700143523,0.06831056286124355,0
+3.6,0.6976763279936457,0.05436192220430618,0.2479617498020474,0.07084621422915637,0
+3.8,0.6838614121327607,0.05976631971294203,0.2563722681542967,0.07324921947265615,0
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211858,0.07552395726319598,0
+4.2,0.6570468228093139,0.07109181489218297,0.2718613622985025,0.07767467494242934,0
+4.4,0.6440364243161742,0.07699430970508103,0.2789692659787441,0.07970550456535545,0
+4.6,0.6312836487433418,0.08304474661664505,0.2856716046400126,0.081620458468575,0
+4.8,0.6187833959095926,0.08923458373363538,0.2919820203567714,0.08342343438764901,0
+5.,0.6065306630909804,0.09555555953789099,0.2979137773711279,0.08511822210603656,0
+5.2,0.5945205527446842,0.1019997080082743,0.3034797392470407,0.08670849692772592,0
+5.4,0.5827482557862521,0.1085593126661591,0.3086924315475882,0.08819783758502519,0
+5.6,0.5712090691367363,0.115226949975085,0.3135639808881781,0.08958970882519376,0
+5.8,0.559898370023028,0.1219954186805185,0.318106211296453,0.09088748894184373,0
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614,0
+6.2,0.53794444116783,0.1358073965386535,0.3262481622935159,0.09321376065529025,0
+6.4,0.527292430303364,0.1428377588031926,0.3298698108934429,0.09424851739812654,0
+6.6,0.516851338219483,0.1499426377224825,0.3332060240580339,0.09520172115943827,0
+6.8,0.5066169990569292,0.1571160534772621,0.3362669474658082,0.09607627070451664,0
+7.,0.4965853076686745,0.1643521851900511,0.3390625071412738,0.09687500204036397,0
+7.2,0.4867522629833074,0.1716454790421783,0.3416022579745136,0.09760064513557531,0
+7.4,0.4771139195365408,0.1789905237884731,0.3438955566749853,0.09825587333571009,0
+7.6,0.4676664342769864,0.1863821660702592,0.3459513996527536,0.09884325704364391,0
+7.8,0.4584060154667815,0.1938153813765564,0.3477786031566614,0.09936531518761757,0
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336,0
+8.2,0.4404316588331365,0.2087875403355192,0.3507808008313436,0.1002230859518124,0
+8.4,0.431710531003235,0.2163174009346478,0.3519720680621165,0.1005634480177475,0
+8.6,0.4231620868246516,0.2238706591467372,0.3529672540286105,0.1008477868653172,0
+8.8,0.4147829193123543,0.2314432235434361,0.3537738571442088,0.1010782448983453,0
+9.,0.4065696644309687,0.2390311035261686,0.3543992320428618,0.1012569234408177,0
+9.2,0.3985190487020195,0.2466305193308348,0.354850431967145,0.1013858377048985,0
+9.4,0.3906278402316961,0.2542377865309766,0.3551343732373266,0.1014669637820933,0
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695932,0
+9.8,0.375311104618498,0.2694620186593096,0.3552268767221916,0.1014933933491976,0
+10.,0.3678794487926386,0.2770723717553397,0.3550481794520209,0.1014423369862916,0
diff --git a/models/sbml-test-suite/cases/semantic/00555/00555-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00555/00555-sbml-l2v4.xml
new file mode 100644
index 0000000..e71a86f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00555/00555-sbml-l2v4.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00555" id="case00555" name="case00555">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <ci> S2 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00555/00555-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00555/00555-sbml-l3v1.xml
new file mode 100644
index 0000000..93fbaee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00555/00555-sbml-l3v1.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00555" id="case00555" name="case00555" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <ci> S2 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00555/00555-settings.txt b/models/sbml-test-suite/cases/semantic/00555/00555-settings.txt
new file mode 100644
index 0000000..8cd1dcb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00555/00555-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00556/00556-results.csv b/models/sbml-test-suite/cases/semantic/00556/00556-results.csv
new file mode 100644
index 0000000..e32f9d2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00556/00556-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,0.0005,0.002,0.001,0.001000000052767423,0.0005
+0.3,0.0005720044319846763,0.002072004431984676,0.0009279955680153232,0.001072004431984676,0.0005
+0.6,0.000638788660809205,0.002138788660809205,0.0008612113391907945,0.001138788660809205,0.0005
+0.9,0.0007007001156408368,0.002200700115640836,0.0007992998843591627,0.001200700115640836,0.0005
+1.2,0.0007580995483007311,0.002258099548300731,0.0007419004516992684,0.001258099548300731,0.0005
+1.5,0.0008113136978556243,0.002311313697855624,0.0006886863021443752,0.001311313697855622,0.0005
+1.8,0.0008606480085875624,0.002360648008587562,0.0006393519914124372,0.001360648008587563,0.0005
+2.1,0.0009063849984052064,0.002406384998405206,0.0005936150015947931,0.001406384998405206,0.0005
+2.4,0.0009487882797391632,0.002448788279739163,0.0005512117202608363,0.001448788279739162,0.0005
+2.7,0.0009880979275494826,0.002488097927549482,0.000511902072450517,0.001488097927549483,0.0005
+3.,0.001024539805076845,0.002524539805076845,0.000475460194923154,0.001524539805076845,0.0005
+3.3,0.001058321501467855,0.002558321501467855,0.000441678498532144,0.001558321501467855,0.0005
+3.6,0.001089637071387915,0.002589637071387915,0.0004103629286120842,0.001589637071387915,0.0005
+3.9,0.00111866552605514,0.00261866552605514,0.0003813344739448593,0.00161866552605514,0.0005
+4.2,0.001145574589497127,0.002645574589497126,0.0003544254105028723,0.001645574589497127,0.0005
+4.5,0.001170517271011503,0.002670517271011503,0.0003294827289884957,0.001670517271011503,0.0005
+4.8,0.001193637505363299,0.002693637505363299,0.0003063624946366996,0.001693637505363299,0.0005
+5.1,0.001215068561597958,0.002715068561597958,0.0002849314384020405,0.001715068561597958,0.0005
+5.4,0.001234932911069097,0.002734932911069097,0.0002650670889309019,0.001734932911069098,0.0005
+5.7,0.001253345724817001,0.002753345724817001,0.0002466542751829982,0.001753345724817001,0.0005
+6.,0.001270412744372742,0.002770412744372742,0.0002295872556272572,0.001770412744372741,0.0005
+6.3,0.001286231833496206,0.002786231833496205,0.0002137681665037933,0.001786231833496206,0.0005
+6.6,0.001300894689119375,0.002800894689119375,0.0001991053108806239,0.001800894689119376,0.0005
+6.9,0.00131448535916404,0.00281448535916404,0.0001855146408359587,0.001814485359164039,0.0005
+7.2,0.001327082187347683,0.002827082187347683,0.0001729178126523157,0.001827082187347684,0.0005
+7.5,0.001338758124960539,0.002838758124960539,0.0001612418750394598,0.001838758124960538,0.0005
+7.8,0.001349578632678526,0.002849578632678525,0.0001504213673214732,0.001849578632678523,0.0005
+8.1,0.001359607957998911,0.002859607957998911,0.0001403920420010876,0.001859607957998912,0.0005
+8.4,0.001368904313732832,0.002868904313732831,0.0001310956862671674,0.001868904313732834,0.0005
+8.7,0.001377519496527728,0.002877519496527727,0.0001224805034722711,0.001877519496527728,0.0005
+9.,0.00138550578442948,0.002885505784429479,0.0001144942155705191,0.001885505784429481,0.0005
+9.3,0.001392907595355753,0.002892907595355752,0.0001070924046442461,0.001892907595355755,0.0005
+9.6,0.001399766986067344,0.002899766986067343,0.000100233013932655,0.001899766986067348,0.0005
+9.9,0.001406125557025102,0.002906125557025101,0.00009387444297489731,0.001906125557025108,0.0005
+10.2,0.001412018919391225,0.002912018919391224,0.00008798108060877403,0.001912018919391231,0.0005
+10.5,0.001417481347911845,0.002917481347911844,0.00008251865208815437,0.001917481347911846,0.0005
+10.8,0.001422544749077126,0.002922544749077125,0.00007745525092287378,0.001922544749077121,0.0005
+11.1,0.001427236975171338,0.002927236975171337,0.00007276302482866118,0.001927236975171333,0.0005
+11.4,0.001431586060643387,0.002931586060643386,0.00006841393935661202,0.001931586060643384,0.0005
+11.7,0.001435617185916275,0.002935617185916274,0.00006438281408372424,0.001935617185916273,0.0005
+12.,0.001439353121197656,0.002939353121197655,0.00006064687880234313,0.001939353121197658,0.0005
+12.3,0.001442816172615524,0.002942816172615523,0.00005718382738447556,0.001942816172615531,0.0005
+12.6,0.001446025493651881,0.00294602549365188,0.00005397450634811801,0.00194602549365189,0.0005
+12.9,0.001448999819724295,0.002948999819724294,0.00005100018027570422,0.001948999819724298,0.0005
+13.2,0.001451756901038246,0.002951756901038246,0.00004824309896175319,0.001951756901038241,0.0005
+13.5,0.001454311968186059,0.002954311968186059,0.00004568803181394016,0.001954311968186051,0.0005
+13.8,0.001456680268065051,0.002956680268065052,0.00004331973193494764,0.001956680268065043,0.0005
+14.1,0.001458875390284883,0.002958875390284883,0.00004112460971511628,0.001958875390284876,0.0005
+14.4,0.001460909646523719,0.00296090964652372,0.00003909035347627989,0.001960909646523718,0.0005
+14.7,0.001462795302795285,0.002962795302795285,0.00003720469720471464,0.001962795302795293,0.0005
+15.,0.001464543157657872,0.002964543157657872,0.00003545684234212731,0.001964543157657872,0.0005
diff --git a/models/sbml-test-suite/cases/semantic/00556/00556-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00556/00556-sbml-l2v4.xml
new file mode 100644
index 0000000..12f2f97
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00556/00556-sbml-l2v4.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00556" id="case00556" name="case00556">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="C" initialAmount="0.0005" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S5 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00556/00556-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00556/00556-sbml-l3v1.xml
new file mode 100644
index 0000000..1a803fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00556/00556-sbml-l3v1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00556" id="case00556" name="case00556" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="C" initialAmount="0.0005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S5 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00556/00556-settings.txt b/models/sbml-test-suite/cases/semantic/00556/00556-settings.txt
new file mode 100644
index 0000000..ca43db0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00556/00556-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00557/00557-results.csv b/models/sbml-test-suite/cases/semantic/00557/00557-results.csv
new file mode 100644
index 0000000..08332cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00557/00557-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.4,0.9607894409017612,0.001667669898384893,0.07675344829809327,0.02192955665659808
+0.8,0.9231163475692573,0.00648988457114184,0.147277420290344,0.04207926294009829
+1.2,0.8869204370658339,0.01420787466024156,0.2119512512080911,0.06055750034516883
+1.6,0.8521437888556933,0.02457868514798868,0.2711337371406254,0.07746678204017862
+2.,0.8187307527586488,0.03737431121388435,0.3251641832688188,0.0929040523625195
+2.4,0.7866278608627832,0.05238089031981252,0.3743633879546212,0.1069609679870345
+2.8,0.7557837412637938,0.06939792467172625,0.4190345928006868,0.1197241693716253
+3.2,0.7261490368912757,0.08823755688407751,0.4594643693333719,0.1312755340952511
+3.6,0.697676325872988,0.1087238682337104,0.4959234800203143,0.1416924228629474
+4.,0.6703200458201811,0.1306922202414869,0.5286676881181519,0.1510479108908867
+4.4,0.6440364209017656,0.1539886284752437,0.5579385297212258,0.1594110084917334
+4.8,0.6187833915300805,0.1784691667988282,0.5839640501410117,0.1668468714688285
+5.2,0.5945205470278822,0.2039994050591966,0.6069595008850396,0.1734170002519322
+5.6,0.5712090642418797,0.23045389206594,0.6271279794503014,0.1791794227024307
+6.,0.5488116352522103,0.2577155896720984,0.6446611398234821,0.1841888970761521
+6.4,0.5272924231163636,0.2856754886088657,0.6597396651584081,0.1884970471725327
+6.8,0.5066169920251808,0.3142320782405953,0.672533937709044,0.1921525540763994
+7.2,0.4867522550404241,0.3432909215853939,0.6832045683337588,0.1952013046540407
+7.6,0.4676664257069774,0.3727642868054843,0.6919028617805619,0.1976865329306764
+8.,0.4493289622615449,0.4025707358544475,0.698771339622464,0.199648951089981
+8.4,0.4317105220564154,0.432634752102128,0.7039442037850425,0.2011269154109025
+8.8,0.414782909013957,0.4628863858497444,0.7075477961223429,0.2021565097517269
+9.2,0.3985190388696275,0.493260979685603,0.7097009425751433,0.2027716967420271
+9.6,0.3828928838309957,0.5236987778142203,0.7105154545237898,0.2030044111730838
+10.,0.3678794392909594,0.5541446862318265,0.7100964351862558,0.2028846966937529
+10.4,0.3534546799763814,0.5845479788091615,0.708542661238077,0.2024407492698062
+10.8,0.3395955240700652,0.6148620337562531,0.7059469181036179,0.2016991187084666
+11.2,0.3262797931316595,0.6450440781272439,0.7023963356094388,0.2006846648987518
+11.6,0.3134861795426283,0.6750549643538037,0.6979726765609413,0.1994207690826255
+12.,0.3011942105831191,0.704858933716942,0.6927526451168211,0.1979293233324424
+12.4,0.2893842166599098,0.7344234149673992,0.6868081517127824,0.1962309052092477
+12.8,0.2780372992525854,0.7637188192528386,0.6802065822419921,0.1943447403664405
+13.2,0.2671353007805241,0.7927183530047174,0.673011045434236,0.1922888622809982
+13.6,0.2566607758544127,0.8213978407175377,0.6652806075736386,0.1900801708693064
+14.,0.246596962890192,0.8497355548422475,0.6570705193773701,0.1877344407386487
+14.4,0.2369277576449549,0.8777120581018528,0.6484324266082394,0.185266408578009
+14.8,0.2276376872369566,0.9053100525333598,0.6394145729927288,0.1826898784209601
+15.2,0.2187118857146367,0.9325142394513494,0.6300619891193788,0.1800177113870704
+15.6,0.2101360698788604,0.959311183887034,0.6204166763552465,0.1772619076345899
+16.,0.2018965167150164,0.9856891895331422,0.6105177770368266,0.174433650457866
+16.4,0.1939800409792719,1.011638178064753,0.6004017399767043,0.1715433545322206
+16.8,0.1863739745619891,1.037149578673509,0.5901024722025139,0.1686007064834141
+17.2,0.1790661468151971,1.062216224065633,0.579651482303974,0.1656147094640844
+17.6,0.1720448625811577,1.086832243787989,0.5690780310496962,0.1625937230259786
+18.,0.1652988871233244,1.110992980220051,0.5584092455333017,0.1595454996923907
+18.4,0.1588174252182799,1.134694892443675,0.5476702571197666,0.1564772157020359
+18.8,0.1525901047101003,1.157935475513917,0.5368843150658836,0.1533955203135206
+19.2,0.146606961385597,1.180713185288947,0.5260728919398607,0.1503065392608117
+19.6,0.1408584201109214,1.20302735820804,0.5152558015701187,0.147215945297442
+20.,0.1353352826381643,1.224878149048482,0.5044512856751904,0.1441289379611978
diff --git a/models/sbml-test-suite/cases/semantic/00557/00557-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00557/00557-sbml-l2v4.xml
new file mode 100644
index 0000000..cf85627
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00557/00557-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00557" id="case00557" name="case00557">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00557/00557-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00557/00557-sbml-l3v1.xml
new file mode 100644
index 0000000..5d7dfe6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00557/00557-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00557" id="case00557" name="case00557" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00557/00557-settings.txt b/models/sbml-test-suite/cases/semantic/00557/00557-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00557/00557-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00558/00558-results.csv b/models/sbml-test-suite/cases/semantic/00558/00558-results.csv
new file mode 100644
index 0000000..9d31718
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00558/00558-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,0.5,0,0,0
+0.2,0.4803947362319226,0.000104978755215973,0.009697653128822742,0.002770758036806498
+0.4,0.4615581934920606,0.0004114355954912161,0.0188094676584785,0.005374133616708146
+0.6,0.4434602386567785,0.0009071120739867227,0.02736276859762405,0.007817933885035441
+0.8,0.4260719113442638,0.001580322455092254,0.03538372187277587,0.0101096348207931
+1.,0.4093653895906613,0.002419930956429458,0.04289737424823989,0.01225639264235425
+1.2,0.3933139383749489,0.003415325121056489,0.04992770569146907,0.01426505876899116
+1.4,0.3778918731469346,0.004556396360751841,0.05649766706578091,0.01614219059022311
+1.6,0.3630745155306853,0.005833516862017149,0.06262922537264026,0.01789406439218293
+1.8,0.3488381540582491,0.007237518888460557,0.06834340408241489,0.01952668688068996
+2.,0.3351600009268785,0.008759672691705501,0.07366032684485528,0.02104580766995865
+2.2,0.322018192899931,0.01039168487472056,0.07859921867531395,0.02245691962151827
+2.4,0.3093916729977046,0.01212564120674651,0.08317852229440118,0.02376529208411463
+2.6,0.2972602601680149,0.01395403729125778,0.08741583262473473,0.02497595217849562
+2.8,0.285604522836455,0.01586971814500386,0.09132802043676867,0.02609372012479103
+3.,0.2744058019999133,0.01786588712941169,0.09493121187063166,0.02712320339160904
+3.2,0.2636461986086674,0.01993609886649134,0.09824080182917495,0.0280688005226213
+3.4,0.253308480674684,0.02207421473570296,0.1012715449269549,0.02893472712198719
+3.6,0.2433761024976674,0.02427441016788996,0.1040375385832763,0.02972501102379342
+3.8,0.2338331913989402,0.02653116709577209,0.1065522372047578,0.03044349634421583
+4.,0.224664462865121,0.02883923366215749,0.108828534905282,0.03109386711579541
+4.2,0.2158552376566259,0.03119363076075668,0.1108787504109303,0.03167964297455294
+4.4,0.2073914332783536,0.03358964668848608,0.1127146366723371,0.03220418190637607
+4.6,0.1992594992075221,0.03602280758989744,0.1143474428063415,0.03267069794466527
+4.8,0.1914464160513688,0.03848887473280965,0.115787917241506,0.03308226206900113
+5.,0.1839396983365533,0.0409838450161034,0.1170463058156199,0.03344180166158673
+5.2,0.1767273234874256,0.04350391806384017,0.118132420192447,0.0337521200549993
+5.4,0.169797743081501,0.04604550022378228,0.1190556282354672,0.03401589378161448
+5.6,0.1631398823456957,0.04860520307164156,0.1198248557555106,0.03423567307296861
+5.8,0.1567430793175488,0.05117981586961304,0.1204486444716125,0.03441389842044431
+6.,0.1505970914645193,0.05376630730235614,0.1209351469653842,0.03455289913300052
+6.2,0.1446920977483372,0.05636182527166857,0.1212921258541628,0.03465489310117349
+6.4,0.1390186418638656,0.05896367156928989,0.1215270074987773,0.0347220021425038
+6.6,0.1335676400343779,0.06156930415446432,0.1216468758283467,0.03475625023667512
+6.8,0.1283303807679477,0.06417633593495454,0.1216584736810716,0.03475956390887688
+7.,0.1232984771736396,0.06678251398896482,0.1215682474242153,0.03473378497834718
+7.2,0.1184638720694584,0.06938572055902632,0.1213823434062445,0.03468066954464129
+7.4,0.1138188395960602,0.07198397284910081,0.1211066073528691,0.03460188781510546
+7.6,0.1093559410431426,0.07457540399391433,0.1207466254845143,0.03449903585271838
+7.8,0.1050680308525793,0.07715826456202029,0.1203077200116901,0.03437363428905431
+8.,0.1009482565629186,0.07973092159596979,0.1197949501225709,0.03422712860644882
+8.2,0.09699002068107012,0.08229184257955654,0.1192131470799084,0.03406089916568812
+8.4,0.09318698550580957,0.08483959640860913,0.1185669108384861,0.03387626023956748
+8.6,0.08953307347637626,0.08737285270911439,0.1178606105526975,0.03367446015791356
+8.8,0.08602243306479555,0.0898903677706549,0.1170984156969473,0.0334566901991278
+9.,0.08264944334677151,0.09239098544793933,0.1162842928786749,0.03322408367962141
+9.2,0.07940871401837959,0.09487363638371507,0.1154220066070951,0.03297771617345574
+9.4,0.07629505521545608,0.09733732584749703,0.1145151465447749,0.03271861329850712
+9.6,0.07330348167192662,0.09978113448651292,0.1135671246775237,0.03244774990786393
+9.8,0.07042921286427711,0.1022042176358777,0.1125811759319836,0.03216605026628106
+10.,0.06766764503350303,0.1046057943500808,0.1115603831331676,0.03187439518090504
diff --git a/models/sbml-test-suite/cases/semantic/00558/00558-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00558/00558-sbml-l2v4.xml
new file mode 100644
index 0000000..24c3ea3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00558/00558-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00558" id="case00558" name="case00558">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00558/00558-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00558/00558-sbml-l3v1.xml
new file mode 100644
index 0000000..dbabffb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00558/00558-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00558" id="case00558" name="case00558" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00558/00558-settings.txt b/models/sbml-test-suite/cases/semantic/00558/00558-settings.txt
new file mode 100644
index 0000000..6b700db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00558/00558-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00559/00559-results.csv b/models/sbml-test-suite/cases/semantic/00559/00559-results.csv
new file mode 100644
index 0000000..300a99d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00559/00559-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.02,0.01,0.01000000000237488
+0.3,0.01067696226504952,0.02062966513031901,0.009323037734950478,0.01067696226504951
+0.6,0.01130072244891341,0.02120167335342107,0.00869927755108658,0.01130072244891342
+0.9,0.01187533060806703,0.02172029054879468,0.008124669391932964,0.01187533060806703
+1.2,0.01240455865602665,0.02218951552596832,0.007595441343973345,0.01240455865602666
+1.5,0.01289190864089942,0.02261308326973145,0.007108091359100576,0.01289190864089942
+1.8,0.01334063087944695,0.02299447866405763,0.00665936912055304,0.01334063087944695
+2.1,0.01375374058287269,0.02333694941700543,0.006246259417127307,0.01375374058287269
+2.4,0.01413403230339165,0.02364351850276256,0.005865967696608341,0.01413403230339167
+2.7,0.01448408540725183,0.02391698694741193,0.00551591459274816,0.01448408540725182
+3.,0.0148062977718222,0.02415996742853294,0.005193702228177794,0.01480629777182218
+3.3,0.01510287618035643,0.02437487174681443,0.004897123819643568,0.01510287618035645
+3.6,0.01537585969930881,0.02456393506871032,0.004624140300691183,0.01537585969930881
+3.9,0.01562713653400497,0.02472923215254919,0.004372863465995024,0.01562713653400497
+4.2,0.01585844395177229,0.02487267602953687,0.004141556048227709,0.01585844395177229
+4.5,0.0160713822583269,0.02499603315733164,0.003928617741673094,0.0160713822583269
+4.8,0.01626743215020341,0.02510094060888493,0.003732567849796578,0.01626743215020341
+5.1,0.01644795464215449,0.02518890558309045,0.003552045357845505,0.01644795464215449
+5.4,0.01661420096832952,0.02526131601460083,0.003385799031670479,0.01661420096832952
+5.7,0.0167673276950506,0.02531945638361593,0.003232672304949391,0.0167673276950506
+6.,0.01690839775612383,0.025364508424443,0.003091602243876167,0.01690839775612382
+6.3,0.01703838657365136,0.02539755793969649,0.002961613426348637,0.01703838657365137
+6.6,0.01715819503535232,0.02541960859205132,0.002841804964647681,0.01715819503535232
+6.9,0.01726865114413721,0.02543158351502959,0.002731348855862784,0.0172686511441372
+7.2,0.01737051355451056,0.02543432924637828,0.002629486445489439,0.01737051355451056
+7.5,0.01746448248311212,0.02542862754440386,0.002535517516887885,0.01746448248311212
+7.8,0.01755120162864903,0.02541519738441166,0.00244879837135096,0.01755120162864904
+8.1,0.01763126013501035,0.02539469715009946,0.002368739864989644,0.01763126013501034
+8.4,0.01770520136461397,0.02536773426702004,0.002294798635386024,0.01770520136461397
+8.7,0.01777352503414533,0.02533486748316774,0.00222647496585467,0.01777352503414533
+9.,0.01783668808801782,0.02529660786552015,0.002163311911982173,0.01783668808801782
+9.3,0.01789511167842319,0.02525342650979982,0.002104888321576803,0.01789511167842319
+9.6,0.01794918328614912,0.02520575686070115,0.002050816713850878,0.01794918328614912
+9.9,0.01799925703370617,0.02515399506361164,0.002000742966293824,0.01799925703370617
+10.2,0.01804565906761618,0.02509850595390889,0.001954340932383817,0.01804565906761618
+10.5,0.0180886895888173,0.02503962529646693,0.001911310411182692,0.01808868958881731
+10.8,0.01812862288652386,0.02497765982659995,0.001871377113476131,0.01812862288652386
+11.1,0.01816571137963151,0.02491289176407249,0.001834288620368474,0.01816571137963151
+11.4,0.01820018749701841,0.02484558090187185,0.001799812502981582,0.0182001874970184
+11.7,0.01823226361655634,0.02477596453847679,0.00176773638344365,0.01823226361655635
+12.,0.01826213501466835,0.02470426078125178,0.001737864985331644,0.01826213501466835
+12.3,0.01828998156528114,0.02463067044300625,0.001710018434718856,0.01828998156528113
+12.6,0.01831596767514595,0.02455537696872986,0.001684032324854046,0.01831596767514594
+12.9,0.0183402443745564,0.02447854878266963,0.001659755625443596,0.0183402443745564
+13.2,0.0183629508246772,0.02440034097495087,0.001637049175322796,0.01836295082467721
+13.5,0.01838421427993719,0.02432089525964894,0.00161578572006281,0.01838421427993719
+13.8,0.01840415153454799,0.02424034160005011,0.001595848465452005,0.01840415153454799
+14.1,0.01842287023091775,0.02415879967585961,0.001577129769082244,0.01842287023091775
+14.4,0.01844046886210849,0.02407637888620986,0.001559531137891509,0.01844046886210849
+14.7,0.01845703773875298,0.02399317943700515,0.001542962261247017,0.01845703773875298
+15.,0.0184726601562032,0.02390929365135003,0.001527339843796798,0.0184726601562032
diff --git a/models/sbml-test-suite/cases/semantic/00559/00559-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00559/00559-sbml-l1v2.xml
new file mode 100644
index 0000000..9954eba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00559/00559-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00559">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.02" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.01" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.01" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="S4 + -1 * S1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00559/00559-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00559/00559-sbml-l2v4.xml
new file mode 100644
index 0000000..4ecdab7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00559/00559-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00559" id="case00559" name="case00559">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00559/00559-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00559/00559-sbml-l3v1.xml
new file mode 100644
index 0000000..ebaa841
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00559/00559-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00559" id="case00559" name="case00559" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00559/00559-settings.txt b/models/sbml-test-suite/cases/semantic/00559/00559-settings.txt
new file mode 100644
index 0000000..7299745
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00559/00559-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00560/00560-results.csv b/models/sbml-test-suite/cases/semantic/00560/00560-results.csv
new file mode 100644
index 0000000..12e246b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00560/00560-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0002,0.0001,0.0001000000061594675
+0.2,0.0001047514438330597,0.0002047514438330597,0.00009049400069130757,0.0001047514438330597
+0.4,0.0001090569194042569,0.0002090569194042569,0.00008187973079713982,0.0001090569194042569
+0.6,0.0001129527298423185,0.0002129527298423185,0.00007408459602659886,0.0001129527298423185
+0.8,0.00011647543346568,0.00021647543346568,0.00006703549314918477,0.00011647543346568
+1.,0.0001196606473105093,0.0002196606473105093,0.00006066120178778973,0.0001196606473105092
+1.2,0.0001225422049863749,0.0002225422049863749,0.00005489406833920901,0.0001225422049863749
+1.4,0.0001251505194661418,0.0002251505194661418,0.00004967327972667298,0.0001251505194661418
+1.6,0.0001275113375148123,0.0002275113375148123,0.00004494735395035664,0.0001275113375148123
+1.8,0.000129647719959876,0.000229647719959876,0.00004067018001189437,0.0001296477199598762
+2.,0.0001315790328845678,0.0002315790328845679,0.00003680303522450158,0.0001315790328845678
+2.2,0.0001333268448490261,0.0002333268448490262,0.00003330279240997125,0.0001333268448490256
+2.4,0.0001349074263350682,0.0002349074263350682,0.00003013691895055256,0.0001349074263350673
+2.6,0.0001363366627193474,0.0002363366627193474,0.00002727365211771575,0.0001363366627193476
+2.8,0.0001376298775771504,0.0002376298775771504,0.00002468235237292146,0.0001376298775771513
+3.,0.0001387997380948998,0.0002387997380948999,0.00002233769208281695,0.0001387997380949008
+3.2,0.0001398576760066822,0.0002398576760066822,0.00002021681391554674,0.0001398576760066814
+3.4,0.0001408150266362507,0.0002408150266362508,0.00001829705307614677,0.0001408150266362494
+3.6,0.0001416809746792755,0.0002416809746792755,0.00001656004529831418,0.0001416809746792747
+3.8,0.0001424640536532582,0.0002424640536532583,0.00001498872826925976,0.00014246405365326
+4.,0.0001431727132438622,0.0002431727132438622,0.0000135662071063808,0.0001431727132438639
+4.2,0.000143813335571202,0.0002438133355712021,0.00001227972128519544,0.0001438133355712015
+4.4,0.0001443930002265215,0.0002443930002265215,0.00001111511549841646,0.0001443930002265208
+4.6,0.0001449170166947964,0.0002449170166947964,0.0000100617738346531,0.000144917016694798
+4.8,0.0001453910272666421,0.0002453910272666422,9.108414894615154e-6,0.0001453910272666445
+5.,0.0001458197742995009,0.0002458197742995009,8.245556650878858e-6,0.0001458197742995017
+5.2,0.0001462070797618502,0.0002462070797618502,7.465557449327107e-6,0.0001462070797618495
+5.4,0.0001465576244781366,0.0002465576244781366,6.759058226510335e-6,0.0001465576244781356
+5.6,0.0001468742695625866,0.0002468742695625866,6.120338483651307e-6,0.0001468742695625866
+5.8,0.0001471604946826428,0.0002471604946826429,5.542440895381534e-6,0.0001471604946826436
+6.,0.0001474193287040158,0.0002474193287040158,5.019309459982004e-6,0.0001474193287040163
+6.2,0.0001476529575864537,0.0002476529575864536,4.546573580115935e-6,0.0001476529575864534
+6.4,0.000147864273600331,0.000247864273600331,4.11845036782286e-6,0.0001478642736003307
+6.6,0.0001480550688434861,0.0002480550688434861,3.731356694958502e-6,0.0001480550688434861
+6.8,0.0001482273989858022,0.0002482273989858023,3.381182430212343e-6,0.0001482273989858023
+7.,0.0001483831327498415,0.0002483831327498415,3.064191218107196e-6,0.0001483831327498415
+7.2,0.0001485236152396589,0.0002485236152396589,2.777693655870144e-6,0.0001485236152396589
+7.4,0.0001486505727222241,0.0002486505727222241,2.518238218423034e-6,0.0001486505727222241
+7.6,0.0001487651051073619,0.0002487651051073619,2.283625743203776e-6,0.0001487651051073619
+7.8,0.0001488684002252089,0.0002488684002252089,2.071481274817294e-6,0.0001488684002252089
+8.,0.0001489616185924955,0.0002489616185924956,1.879484463200295e-6,0.0001489616185924955
+8.2,0.0001490456306325097,0.0002490456306325097,1.70589498227552e-6,0.0001490456306325097
+8.4,0.0001491213451697825,0.0002491213451697826,1.548895723359413e-6,0.0001491213451697826
+8.6,0.0001491895802891467,0.0002491895802891467,1.406851001205076e-6,0.0001491895802891467
+8.8,0.0001492509858117869,0.0002492509858117869,1.27846156498612e-6,0.000149250985811787
+9.,0.0001493060762696013,0.0002493060762696014,1.162698662764884e-6,0.0001493060762696015
+9.2,0.0001493555231590947,0.0002493555231590947,1.058219695634666e-6,0.0001493555231590949
+9.4,0.0001493999991393402,0.0002493999991393403,9.636797401762711e-7,0.0001493999991393404
+9.6,0.0001494401768694112,0.0002494401768694112,8.777338729705014e-7,0.0001494401768694112
+9.8,0.0001494762154524488,0.0002494762154524489,8.000639966380233e-7,0.0001494762154524487
+10.,0.0001495084163402104,0.0002495084163402105,7.300673900789753e-7,0.0001495084163402104
diff --git a/models/sbml-test-suite/cases/semantic/00560/00560-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00560/00560-sbml-l1v2.xml
new file mode 100644
index 0000000..384ccbd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00560/00560-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00560">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.0002" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.0001" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.0001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="S4 + -1 * S1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00560/00560-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00560/00560-sbml-l2v4.xml
new file mode 100644
index 0000000..a30f494
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00560/00560-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00560" id="case00560" name="case00560">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00560/00560-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00560/00560-sbml-l3v1.xml
new file mode 100644
index 0000000..3839670
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00560/00560-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00560" id="case00560" name="case00560" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00560/00560-settings.txt b/models/sbml-test-suite/cases/semantic/00560/00560-settings.txt
new file mode 100644
index 0000000..bfe1d07
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00560/00560-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00561/00561-results.csv b/models/sbml-test-suite/cases/semantic/00561/00561-results.csv
new file mode 100644
index 0000000..84d20ed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00561/00561-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,2.016252743098005e-24,4.026050352503676e-11
+0.4,0.9607894409017612,0.001667669898384893,0.07675344829809327,0.02192955665659808
+0.8,0.9231163475692573,0.00648988457114184,0.147277420290344,0.04207926294009829
+1.2,0.8869204370658339,0.01420787466024156,0.2119512512080911,0.06055750034516883
+1.6,0.8521437888556933,0.02457868514798868,0.2711337371406254,0.07746678204017862
+2.,0.8187307527586488,0.03737431121388435,0.3251641832688188,0.0929040523625195
+2.4,0.7866278608627832,0.05238089031981252,0.3743633879546212,0.1069609679870345
+2.8,0.7557837412637938,0.06939792467172625,0.4190345928006868,0.1197241693716253
+3.2,0.7261490368912757,0.08823755688407751,0.4594643693333719,0.1312755340952511
+3.6,0.697676325872988,0.1087238682337104,0.4959234800203143,0.1416924228629474
+4.,0.6703200458201811,0.1306922202414869,0.5286676881181519,0.1510479108908867
+4.4,0.6440364209017656,0.1539886284752437,0.5579385297212258,0.1594110084917334
+4.8,0.6187833915300805,0.1784691667988282,0.5839640501410117,0.1668468714688285
+5.2,0.5945205470278822,0.2039994050591966,0.6069595008850396,0.1734170002519322
+5.6,0.5712090642418797,0.23045389206594,0.6271279794503014,0.1791794227024307
+6.,0.5488116352522103,0.2577155896720984,0.6446611398234821,0.1841888970761521
+6.4,0.5272924231163636,0.2856754886088657,0.6597396651584081,0.1884970471725327
+6.8,0.5066169920251808,0.3142320782405953,0.672533937709044,0.1921525540763994
+7.2,0.4867522550404241,0.3432909215853939,0.6832045683337588,0.1952013046540407
+7.6,0.4676664257069774,0.3727642868054843,0.6919028617805619,0.1976865329306764
+8.,0.4493289622615449,0.4025707358544475,0.698771339622464,0.199648951089981
+8.4,0.4317105220564154,0.432634752102128,0.7039442037850425,0.2011269154109025
+8.8,0.414782909013957,0.4628863858497444,0.7075477961223429,0.2021565097517269
+9.2,0.3985190388696275,0.493260979685603,0.7097009425751433,0.2027716967420271
+9.6,0.3828928838309957,0.5236987778142203,0.7105154545237898,0.2030044111730838
+10.,0.3678794392909594,0.5541446862318265,0.7100964351862558,0.2028846966937529
+10.4,0.3534546799763814,0.5845479788091615,0.708542661238077,0.2024407492698062
+10.8,0.3395955240700652,0.6148620337562531,0.7059469181036179,0.2016991187084666
+11.2,0.3262797931316595,0.6450440781272439,0.7023963356094388,0.2006846648987518
+11.6,0.3134861795426283,0.6750549643538037,0.6979726765609413,0.1994207690826255
+12.,0.3011942105831191,0.704858933716942,0.6927526451168211,0.1979293233324424
+12.4,0.2893842166599098,0.7344234149673992,0.6868081517127824,0.1962309052092477
+12.8,0.2780372992525854,0.7637188192528386,0.6802065822419921,0.1943447403664405
+13.2,0.2671353007805241,0.7927183530047174,0.673011045434236,0.1922888622809982
+13.6,0.2566607758544127,0.8213978407175377,0.6652806075736386,0.1900801708693064
+14.,0.246596962890192,0.8497355548422475,0.6570705193773701,0.1877344407386487
+14.4,0.2369277576449549,0.8777120581018528,0.6484324266082394,0.185266408578009
+14.8,0.2276376872369566,0.9053100525333598,0.6394145729927288,0.1826898784209601
+15.2,0.2187118857146367,0.9325142394513494,0.6300619891193788,0.1800177113870704
+15.6,0.2101360698788604,0.959311183887034,0.6204166763552465,0.1772619076345899
+16.,0.2018965167150164,0.9856891895331422,0.6105177770368266,0.174433650457866
+16.4,0.1939800409792719,1.011638178064753,0.6004017399767043,0.1715433545322206
+16.8,0.1863739745619891,1.037149578673509,0.5901024722025139,0.1686007064834141
+17.2,0.1790661468151971,1.062216224065633,0.579651482303974,0.1656147094640844
+17.6,0.1720448625811577,1.086832243787989,0.5690780310496962,0.1625937230259786
+18.,0.1652988871233244,1.110992980220051,0.5584092455333017,0.1595454996923907
+18.4,0.1588174252182799,1.134694892443675,0.5476702571197666,0.1564772157020359
+18.8,0.1525901047101003,1.157935475513917,0.5368843150658836,0.1533955203135206
+19.2,0.146606961385597,1.180713185288947,0.5260728919398607,0.1503065392608117
+19.6,0.1408584201109214,1.20302735820804,0.5152558015701187,0.147215945297442
+20.,0.1353352826381643,1.224878149048482,0.5044512856751904,0.1441289379611978
diff --git a/models/sbml-test-suite/cases/semantic/00561/00561-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00561/00561-sbml-l2v4.xml
new file mode 100644
index 0000000..9c2bcb6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00561/00561-sbml-l2v4.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00561" id="case00561" name="case00561">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00561/00561-settings.txt b/models/sbml-test-suite/cases/semantic/00561/00561-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00561/00561-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00562/00562-results.csv b/models/sbml-test-suite/cases/semantic/00562/00562-results.csv
new file mode 100644
index 0000000..dd19060
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00562/00562-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,0.5,0,2.436305397910089e-24,2.240070748394604e-12
+0.2,0.4803947362319226,0.000104978755215973,0.009697653128822742,0.002770758036806498
+0.4,0.4615581934920606,0.0004114355954912161,0.0188094676584785,0.005374133616708146
+0.6,0.4434602386567785,0.0009071120739867227,0.02736276859762405,0.007817933885035441
+0.8,0.4260719113442638,0.001580322455092254,0.03538372187277587,0.0101096348207931
+1.,0.4093653895906613,0.002419930956429458,0.04289737424823989,0.01225639264235425
+1.2,0.3933139383749489,0.003415325121056489,0.04992770569146907,0.01426505876899116
+1.4,0.3778918731469346,0.004556396360751841,0.05649766706578091,0.01614219059022311
+1.6,0.3630745155306853,0.005833516862017149,0.06262922537264026,0.01789406439218293
+1.8,0.3488381540582491,0.007237518888460557,0.06834340408241489,0.01952668688068996
+2.,0.3351600009268785,0.008759672691705501,0.07366032684485528,0.02104580766995865
+2.2,0.322018192899931,0.01039168487472056,0.07859921867531395,0.02245691962151827
+2.4,0.3093916729977046,0.01212564120674651,0.08317852229440118,0.02376529208411463
+2.6,0.2972602601680149,0.01395403729125778,0.08741583262473473,0.02497595217849562
+2.8,0.285604522836455,0.01586971814500386,0.09132802043676867,0.02609372012479103
+3.,0.2744058019999133,0.01786588712941169,0.09493121187063166,0.02712320339160904
+3.2,0.2636461986086674,0.01993609886649134,0.09824080182917495,0.0280688005226213
+3.4,0.253308480674684,0.02207421473570296,0.1012715449269549,0.02893472712198719
+3.6,0.2433761024976674,0.02427441016788996,0.1040375385832763,0.02972501102379342
+3.8,0.2338331913989402,0.02653116709577209,0.1065522372047578,0.03044349634421583
+4.,0.224664462865121,0.02883923366215749,0.108828534905282,0.03109386711579541
+4.2,0.2158552376566259,0.03119363076075668,0.1108787504109303,0.03167964297455294
+4.4,0.2073914332783536,0.03358964668848608,0.1127146366723371,0.03220418190637607
+4.6,0.1992594992075221,0.03602280758989744,0.1143474428063415,0.03267069794466527
+4.8,0.1914464160513688,0.03848887473280965,0.115787917241506,0.03308226206900113
+5.,0.1839396983365533,0.0409838450161034,0.1170463058156199,0.03344180166158673
+5.2,0.1767273234874256,0.04350391806384017,0.118132420192447,0.0337521200549993
+5.4,0.169797743081501,0.04604550022378228,0.1190556282354672,0.03401589378161448
+5.6,0.1631398823456957,0.04860520307164156,0.1198248557555106,0.03423567307296861
+5.8,0.1567430793175488,0.05117981586961304,0.1204486444716125,0.03441389842044431
+6.,0.1505970914645193,0.05376630730235614,0.1209351469653842,0.03455289913300052
+6.2,0.1446920977483372,0.05636182527166857,0.1212921258541628,0.03465489310117349
+6.4,0.1390186418638656,0.05896367156928989,0.1215270074987773,0.0347220021425038
+6.6,0.1335676400343779,0.06156930415446432,0.1216468758283467,0.03475625023667512
+6.8,0.1283303807679477,0.06417633593495454,0.1216584736810716,0.03475956390887688
+7.,0.1232984771736396,0.06678251398896482,0.1215682474242153,0.03473378497834718
+7.2,0.1184638720694584,0.06938572055902632,0.1213823434062445,0.03468066954464129
+7.4,0.1138188395960602,0.07198397284910081,0.1211066073528691,0.03460188781510546
+7.6,0.1093559410431426,0.07457540399391433,0.1207466254845143,0.03449903585271838
+7.8,0.1050680308525793,0.07715826456202029,0.1203077200116901,0.03437363428905431
+8.,0.1009482565629186,0.07973092159596979,0.1197949501225709,0.03422712860644882
+8.2,0.09699002068107012,0.08229184257955654,0.1192131470799084,0.03406089916568812
+8.4,0.09318698550580957,0.08483959640860913,0.1185669108384861,0.03387626023956748
+8.6,0.08953307347637626,0.08737285270911439,0.1178606105526975,0.03367446015791356
+8.8,0.08602243306479555,0.0898903677706549,0.1170984156969473,0.0334566901991278
+9.,0.08264944334677151,0.09239098544793933,0.1162842928786749,0.03322408367962141
+9.2,0.07940871401837959,0.09487363638371507,0.1154220066070951,0.03297771617345574
+9.4,0.07629505521545608,0.09733732584749703,0.1145151465447749,0.03271861329850712
+9.6,0.07330348167192662,0.09978113448651292,0.1135671246775237,0.03244774990786393
+9.8,0.07042921286427711,0.1022042176358777,0.1125811759319836,0.03216605026628106
+10.,0.06766764503350303,0.1046057943500808,0.1115603831331676,0.03187439518090504
diff --git a/models/sbml-test-suite/cases/semantic/00562/00562-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00562/00562-sbml-l2v4.xml
new file mode 100644
index 0000000..89b91a0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00562/00562-sbml-l2v4.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00562" id="case00562" name="case00562">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00562/00562-settings.txt b/models/sbml-test-suite/cases/semantic/00562/00562-settings.txt
new file mode 100644
index 0000000..6b700db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00562/00562-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00563/00563-results.csv b/models/sbml-test-suite/cases/semantic/00563/00563-results.csv
new file mode 100644
index 0000000..62e94fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00563/00563-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.002,0.001,0.001000000052764959
+0.3,0.001071783821880633,0.002071308790917422,0.0009282161781193672,0.001071783821880633
+0.6,0.001138356112808056,0.002137357505905242,0.0008616438871919433,0.001138356112808056
+0.9,0.001200064285196821,0.002198494989785465,0.0007999357148031784,0.001200064285196821
+1.2,0.001257269002914208,0.002255083758131269,0.0007427309970857917,0.001257269002914208
+1.5,0.001310296879911391,0.002307452368559547,0.000689703120088609,0.00131029687991139
+1.8,0.001359453214654736,0.002355908096625453,0.000640546785345264,0.001359453214654736
+2.1,0.001405020355687798,0.002400735293998899,0.0005949796443122019,0.001405020355687798
+2.4,0.001447261726479712,0.002442199393499957,0.0005527382735202877,0.001447261726479712
+2.7,0.001486417193738351,0.002480542258755946,0.0005135828062616494,0.001486417193738351
+3.,0.001522712403126529,0.00251599149431711,0.0004772875968734714,0.001522712403126529
+3.3,0.001556354715724169,0.002548756382849276,0.0004436452842758304,0.001556354715724169
+3.6,0.001587537952891355,0.002579032594976106,0.0004124620471086442,0.001587537952891355
+3.9,0.001616440885187944,0.002607000685446704,0.0003835591148120557,0.001616440885187944
+4.2,0.001643230997129667,0.002632829856433632,0.000356769002870333,0.001643230997129667
+4.5,0.001668061052208633,0.002656674521288302,0.0003319389477913669,0.001668061052208633
+4.8,0.001691074742721633,0.002678679934105511,0.0003089252572783669,0.001691074742721633
+5.1,0.001712405098093774,0.002698980619762124,0.0002875949019062253,0.001712405098093774
+5.4,0.001732174349423263,0.00271770021878765,0.0002678256505767366,0.001732174349423264
+5.7,0.001750497434105372,0.002734955005874657,0.0002495025658946273,0.001750497434105372
+6.,0.001767479862373538,0.002750851758127485,0.0002325201376264617,0.001767479862373537
+6.3,0.001783219271402293,0.002765489300357953,0.0002167807285977075,0.001783219271402294
+6.6,0.001797807138086787,0.002778960235635897,0.0002021928619132131,0.001797807138086788
+6.9,0.001811327294503874,0.002791349451309647,0.000188672705496126,0.001811327294503871
+7.2,0.00182385787565126,0.00280273607337793,0.0001761421243487399,0.001823857875651261
+7.5,0.001835471627881266,0.002813193791585821,0.0001645283721187337,0.001835471627881261
+7.8,0.001846233819717233,0.002822788719405236,0.0001537661802827669,0.001846233819717222
+8.1,0.001856208509780428,0.002831585739381772,0.0001437914902195712,0.001856208509780431
+8.4,0.001865453724075311,0.0028396436633562,0.0001345462759246888,0.001865453724075321
+8.7,0.001874021087228427,0.00284701480494388,0.0001259789127715725,0.00187402108722843
+9.,0.001881962710373151,0.002853751948617018,0.0001180372896268483,0.00188196271037315
+9.3,0.001889322843550832,0.002859899973197944,0.0001106771564491678,0.001889322843550832
+9.6,0.001896143393074027,0.002865501350687291,0.0001038566069259729,0.00189614339307403
+9.9,0.001902465809015333,0.002870598084636891,0.0000975341909846665,0.00190246580901534
+10.2,0.001908325560388428,0.002875226138111721,0.00009167443961157184,0.001908325560388434
+10.5,0.001913756789617566,0.002879420120250691,0.00008624321038243365,0.001913756789617567
+10.8,0.001918791265894195,0.002883212248745776,0.00008120873410580508,0.001918791265894191
+11.1,0.001923456721528773,0.002886630651349164,0.00007654327847122641,0.001923456721528768
+11.4,0.001927781074268643,0.002889703631211954,0.00007221892573135593,0.001927781074268639
+11.7,0.001931789388151786,0.002892456602707173,0.000068210611848213,0.001931789388151783
+12.,0.001935504331162122,0.002894912553824526,0.0000644956688378775,0.001935504331162122
+12.3,0.001938948104704549,0.002897094001304583,0.00006105189529545097,0.001938948104704557
+12.6,0.001942139763795918,0.002899020276318478,0.00005786023620408105,0.001942139763795929
+12.9,0.001945097957231753,0.002900710289870981,0.00005490204276824613,0.001945097957231758
+13.2,0.001947840342816013,0.002902181949989463,0.00005215965718398698,0.001947840342816009
+13.5,0.001950382071567083,0.002903450624953306,0.00004961792843291707,0.001950382071567075
+13.8,0.001952738313928778,0.002904531700319044,0.00004726168607122195,0.001952738313928768
+14.1,0.0019549225796636,0.002905438882344636,0.00004507742033640011,0.001954922579663588
+14.4,0.001956947114981959,0.002906184593228202,0.00004305288501804074,0.001956947114981954
+14.7,0.001958824118743728,0.002906781205309917,0.000041175881256271,0.001958824118743736
+15.,0.001960564324710483,0.00290723960686399,0.00003943567528951652,0.001960564324710483
diff --git a/models/sbml-test-suite/cases/semantic/00563/00563-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00563/00563-sbml-l2v4.xml
new file mode 100644
index 0000000..7e2eabb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00563/00563-sbml-l2v4.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00563" id="case00563" name="case00563">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00563/00563-settings.txt b/models/sbml-test-suite/cases/semantic/00563/00563-settings.txt
new file mode 100644
index 0000000..79d94fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00563/00563-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00564/00564-results.csv b/models/sbml-test-suite/cases/semantic/00564/00564-results.csv
new file mode 100644
index 0000000..ec60b29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00564/00564-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.2,0.1,0.1000000000463599
+0.2,0.1017894170963555,0.2017894170963555,0.09337919405427221,0.1017894170963555
+0.4,0.1031931542209749,0.2031931542209749,0.08745728179834634,0.1031931542209752
+0.6,0.1042599881499148,0.2042599881499148,0.0821526133335977,0.1042599881499156
+0.8,0.1050330999051172,0.2050330999051172,0.07739299128225411,0.1050330999051172
+1.,0.1055506492146797,0.2055506492146797,0.0731146314462558,0.1055506492146796
+1.2,0.1058462807063498,0.2058462807063498,0.06926126349122672,0.1058462807063499
+1.4,0.1059496026554249,0.2059496026554249,0.0657832982003982,0.1059496026554248
+1.6,0.1058866371725133,0.2058866371725133,0.06263705739438379,0.1058866371725133
+1.8,0.1056802258732096,0.2056802258732095,0.05978408976920773,0.1056802258732095
+2.,0.1053503787758972,0.2053503787758972,0.057190587065693,0.1053503787758972
+2.2,0.1049146143104152,0.2049146143104152,0.05482681929221898,0.1049146143104152
+2.4,0.1043882639187886,0.2043882639187886,0.05266663291966161,0.1043882639187886
+2.6,0.1037847209423212,0.2037847209423212,0.05068704323528809,0.1037847209423213
+2.8,0.1031156800376933,0.2031156800376933,0.04886784324360379,0.1031156800376932
+3.,0.1023913507694748,0.2023913507694748,0.04719125602993358,0.1023913507694749
+3.2,0.1016206318792724,0.2016206318792724,0.04564165200907392,0.1016206318792724
+3.4,0.1008112772822125,0.2008112772822124,0.04420527993999474,0.1008112772822125
+3.6,0.09997004144388294,0.1999700414438829,0.0428700316294028,0.09997004144388289
+3.8,0.09910279848892183,0.1991027984889219,0.04162524951100705,0.09910279848892186
+4.,0.09821465575306168,0.1982146557530616,0.04046154305509486,0.09821465575306169
+4.2,0.09731005161061764,0.1973100516106176,0.03937063058551895,0.09731005161061763
+4.4,0.09639283585586611,0.1963928358558661,0.03834520951501027,0.09639283585586619
+4.6,0.09546634652732845,0.1954663465273284,0.03737883199055018,0.09546634652732839
+4.8,0.09453347527925393,0.1945334752792539,0.03646579897164496,0.09453347527925402
+5.,0.09359672135068802,0.193596721350688,0.03560107292046465,0.09359672135068793
+5.2,0.09265824321741977,0.1926582432174197,0.03478019387307175,0.09265824321741982
+5.4,0.09171990208018614,0.1917199020801861,0.03399920867273204,0.09171990208018607
+5.6,0.09078329801111878,0.1907832980111187,0.03325461224491058,0.09078329801111874
+5.8,0.08984980457220048,0.1898498045722004,0.03254329099858861,0.08984980457220055
+6.,0.08892059768858194,0.1889205976885819,0.03186247554738058,0.08892059768858183
+6.2,0.08799667983818003,0.18799667983818,0.03120970117020558,0.08799667983818027
+6.4,0.08707890321210225,0.1870789032121022,0.03058276962551375,0.08707890321210209
+6.6,0.08616798887538741,0.1861679888753874,0.02997971751893245,0.08616798887538768
+6.8,0.08526454354434097,0.1852645435443409,0.02939878848002751,0.08526454354434158
+7.,0.08436907132613909,0.184369071326139,0.02883841438946423,0.08436907132613909
+7.2,0.08348199462486101,0.1834819946248609,0.02829717888042449,0.08348199462486026
+7.4,0.08260365728015123,0.1826036572801512,0.02777381398722022,0.08260365728015167
+7.6,0.08173433679687849,0.1817343367968785,0.02726717844818867,0.08173433679687836
+7.8,0.08087425563401569,0.1808742556340156,0.02677623880537673,0.08087425563401548
+8.,0.08002358606769471,0.1800235860676946,0.0263000611685276,0.08002358606769455
+8.2,0.07918245604236148,0.1791824560423614,0.02583780156777737,0.07918245604236182
+8.4,0.07835095681112012,0.1783509568111201,0.02538869249051425,0.07835095681112012
+8.6,0.07752914743649173,0.1775291474364917,0.02495203496356134,0.07752914743649154
+8.8,0.0767170595150952,0.1767170595150952,0.02452719061582129,0.07671705951509495
+9.,0.07591469985512031,0.1759146998551203,0.02411357712285329,0.07591469985512075
+9.2,0.07512205468664495,0.1751220546866449,0.02371066041612053,0.07512205468664499
+9.4,0.07433909277311849,0.1743390927731184,0.02331794911630186,0.07433909277311824
+9.6,0.07356576767790776,0.1735657676779077,0.02293499065498627,0.0735657676779073
+9.8,0.07280201956511543,0.1728020195651154,0.02256136809898754,0.072802019565116
+10.,0.07204777773677623,0.1720477777367761,0.02219669522654535,0.07204777773677623
diff --git a/models/sbml-test-suite/cases/semantic/00564/00564-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00564/00564-sbml-l2v4.xml
new file mode 100644
index 0000000..59f69b4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00564/00564-sbml-l2v4.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00564" id="case00564" name="case00564">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00564/00564-settings.txt b/models/sbml-test-suite/cases/semantic/00564/00564-settings.txt
new file mode 100644
index 0000000..104d181
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00564/00564-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00565/00565-results.csv b/models/sbml-test-suite/cases/semantic/00565/00565-results.csv
new file mode 100644
index 0000000..7a69726
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00565/00565-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,1.008126371549002e-24,1.645900335389738e-12
+0.8,0.9231163576760428,0.003244954546376271,0.07363868777758049,0.02103962507930871
+1.6,0.852143797119792,0.01228934852172851,0.1355668543584791,0.03873338695956547
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408771
+3.2,0.7261490388594339,0.0441187653010724,0.229732195839493,0.06563777023985514
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211857,0.07552395726319598
+4.8,0.6187833959095926,0.08923458373363536,0.2919820203567714,0.08342343438764897
+5.6,0.5712090691367363,0.115226949975085,0.3135639808881781,0.08958970882519375
+6.4,0.527292430303364,0.1428377588031926,0.3298698108934429,0.09424851739812653
+7.2,0.4867522629833074,0.1716454790421784,0.3416022579745136,0.0976006451355753
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.8,0.4147829193123543,0.2314432235434361,0.3537738571442088,0.1010782448983454
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695933
+10.4,0.3534546892749864,0.2922740173858473,0.3542712933391655,0.1012203695254758
+11.2,0.3262798016246614,0.3225220653115714,0.3511981330637665,0.1003423237325047
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.8,0.2780373067704968,0.381859433253978,0.3401032599755243,0.09717235999300695
+13.6,0.2566607829604508,0.4106989428400723,0.3326402741994762,0.0950400783427075
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153505
+15.2,0.218711892465461,0.4662571409389489,0.3150309665955892,0.09000884759873981
+16.,0.201896523328712,0.4928446152826625,0.3052588613886247,0.08721681753960708
+16.8,0.1863739812348858,0.5185748091363077,0.2950512096288057,0.08430034560823018
+17.6,0.1720448689137586,0.5434161403007272,0.2845389907855135,0.08129685451014671
+18.4,0.1588174311185365,0.5673474631569459,0.2738351057245169,0.07823860163557622
+19.2,0.1466069670797981,0.5903566084244245,0.2630364244957769,0.0751532641416506
+20.,0.1353352881320281,0.6124390892251168,0.2522256226428545,0.07206446361224414
+20.8,0.1249302170397254,0.6335969562283414,0.2414728267319325,0.06899223620912355
+21.6,0.1153251258170146,0.6538377863401316,0.230837087842853,0.06595345366938656
+22.4,0.1064585090813175,0.6731737909305423,0.2203676999881394,0.0629621999966113
+23.2,0.09827359020907854,0.6916210309759469,0.2101053788149741,0.06003010823284978
+24.,0.09071795777162411,0.7091987277459966,0.2000833144823785,0.05716666128067959
+24.8,0.08374322992311772,0.7259286587978532,0.1903281112790284,0.05437946036543669
+25.6,0.07730474459155821,0.7418346300648678,0.1808606253435735,0.05167446438387814
+26.4,0.07136127349103149,0.7569420157512529,0.1716967107577151,0.04905620307363291
+27.2,0.06587475812985803,0.7712773585918839,0.1628478832782575,0.04652796665093073
+28.,0.06081006609370411,0.7848680237689277,0.1543219101373677,0.04409197432496221
+28.8,0.05613476607347927,0.7977419004863195,0.1461233334402007,0.04174952384005732
+29.6,0.05181892019508172,0.8099271458124044,0.1382539339925134,0.03950112399786098
+30.4,0.0478348918333787,0.821451967458649,0.1307131407079717,0.03734661163084899
+31.2,0.04415717292640171,0.8323444345429821,0.1234983925306159,0.03528525500874741
+32.,0.04076221024962101,0.842632323699325,0.1166054660510536,0.03331584744315819
+32.8,0.03762826420909886,0.8523429870162668,0.1100287487746341,0.03143678536418119
+33.6,0.0347352670976318,0.8615032457558831,0.1037614871464847,0.02964613918470993
+34.4,0.03206469397497657,0.870139301220477,0.09779600480454613,0.02794171565844176
+35.2,0.0295994443822524,0.8782766646661905,0.09212389095155668,0.02632111170044474
+36.,0.0273237322985417,0.8859401004741343,0.08673616722732366,0.0247817620649496
+36.8,0.02522298539169481,0.8931535844192912,0.08162343018901355,0.02332098005400391
+37.6,0.02328375164911204,0.8999402725885657,0.07677597576232184,0.02193599307494906
+38.4,0.02149361331684824,0.9063224804397391,0.07218390624341232,0.02062397321240351
+39.2,0.01984110733293491,0.9123216701198343,0.0678372225472305,0.01938206358492304
+40.,0.01831565183179745,0.9179584444089654,0.06372590375923677,0.01820740107406764
diff --git a/models/sbml-test-suite/cases/semantic/00565/00565-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00565/00565-sbml-l2v4.xml
new file mode 100644
index 0000000..6122ab3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00565/00565-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00565" id="case00565" name="case00565">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.375"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00565/00565-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00565/00565-sbml-l3v1.xml
new file mode 100644
index 0000000..dc96dfd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00565/00565-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00565" id="case00565" name="case00565" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.375"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00565/00565-settings.txt b/models/sbml-test-suite/cases/semantic/00565/00565-settings.txt
new file mode 100644
index 0000000..254736a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00565/00565-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 40.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00566/00566-results.csv b/models/sbml-test-suite/cases/semantic/00566/00566-results.csv
new file mode 100644
index 0000000..f50af3c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00566/00566-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.02,0.01,0.01000000000047037
+0.2,0.01045740185664173,0.02045740185664173,0.009542598143358267,0.01045740185664173
+0.4,0.01089049143569124,0.02089049143569125,0.009109508564308753,0.01089049143569125
+0.6,0.01130049882410617,0.02130049882410617,0.008699501175893829,0.01130049882410617
+0.8,0.01168860849825434,0.02168860849825434,0.008311391501745651,0.01168860849825435
+1.,0.01205594758062124,0.02205594758062125,0.007944052419378755,0.01205594758062125
+1.2,0.01240358925161171,0.02240358925161171,0.007596410748388284,0.0124035892516117
+1.4,0.01273255525326229,0.0227325552532623,0.007267444746737702,0.0127325552532623
+1.6,0.01304381777559067,0.02304381777559067,0.006956182224409327,0.01304381777559067
+1.8,0.01333830171709759,0.0233383017170976,0.006661698282902402,0.01333830171709759
+2.,0.01361688681606283,0.02361688681606283,0.006383113183937165,0.01361688681606283
+2.2,0.01388040942308574,0.02388040942308574,0.006119590576914256,0.01388040942308574
+2.4,0.01412966603691771,0.02412966603691771,0.005870333963082288,0.0141296660369177
+2.6,0.01436540622869071,0.02436540622869071,0.005634593771309287,0.01436540622869069
+2.8,0.01458835230813322,0.02458835230813322,0.005411647691866776,0.01458835230813324
+3.,0.01479918164318645,0.02479918164318645,0.005200818356813543,0.01479918164318647
+3.2,0.01499854085728704,0.02499854085728704,0.005001459142712956,0.01499854085728704
+3.4,0.01518704390557176,0.02518704390557177,0.004812956094428231,0.01518704390557176
+3.6,0.01536526901369354,0.02536526901369355,0.004634730986306455,0.01536526901369354
+3.8,0.01553377186522233,0.02553377186522233,0.00446622813477767,0.01553377186522233
+4.,0.01569306950074738,0.02569306950074738,0.004306930499252618,0.01569306950074738
+4.2,0.01584366350671505,0.02584366350671505,0.004156336493284945,0.01584366350671505
+4.4,0.01598601716285684,0.02598601716285684,0.004013982837143157,0.01598601716285684
+4.6,0.01612058085871679,0.0261205808587168,0.003879419141283199,0.01612058085871679
+4.8,0.01624777158290792,0.02624777158290792,0.003752228417092076,0.01624777158290791
+5.,0.01636799150109078,0.02636799150109078,0.003632008498909215,0.01636799150109078
+5.2,0.01648161720518789,0.02648161720518789,0.003518382794812106,0.01648161720518789
+5.4,0.01658900667942597,0.02658900667942597,0.003410993320574029,0.01658900667942596
+5.6,0.01669050019956518,0.02669050019956518,0.003309499800434821,0.01669050019956517
+5.8,0.01678641626476551,0.02678641626476551,0.00321358373523449,0.01678641626476551
+6.,0.01687706180417987,0.02687706180417987,0.003122938195820133,0.01687706180417988
+6.2,0.01696272066163117,0.02696272066163117,0.003037279338368829,0.01696272066163117
+6.4,0.01704366862162709,0.02704366862162709,0.002956331378372911,0.01704366862162708
+6.6,0.01712015966455929,0.02712015966455929,0.00287984033544071,0.01712015966455929
+6.8,0.01719244017181415,0.02719244017181415,0.002807559828185853,0.01719244017181416
+7.,0.01726073854869131,0.02726073854869132,0.002739261451308687,0.01726073854869132
+7.2,0.01732527389046333,0.02732527389046333,0.002674726109536675,0.01732527389046333
+7.4,0.01738625214940009,0.0273862521494001,0.002613747850599906,0.01738625214940009
+7.6,0.01744386776710066,0.02744386776710066,0.002556132232899338,0.01744386776710066
+7.8,0.01749830643819656,0.02749830643819656,0.002501693561803435,0.01749830643819657
+8.,0.01754974082402135,0.02754974082402136,0.002450259175978642,0.01754974082402135
+8.2,0.01759833795033538,0.02759833795033538,0.002401662049664621,0.01759833795033537
+8.4,0.01764425160752797,0.02764425160752798,0.002355748392472022,0.01764425160752797
+8.6,0.01768763129601184,0.02768763129601184,0.002312368703988155,0.01768763129601184
+8.8,0.01772861471386624,0.02772861471386624,0.002271385286133759,0.01772861471386624
+9.,0.01776733493754451,0.02776733493754451,0.002232665062455495,0.01776733493754451
+9.2,0.01780391581638436,0.02780391581638436,0.002196084183615641,0.01780391581638436
+9.4,0.01783847538698225,0.02783847538698225,0.002161524613017752,0.01783847538698225
+9.6,0.01787112523696634,0.02787112523696634,0.002128874763033663,0.01787112523696634
+9.8,0.0179019699576775,0.0279019699576775,0.002098030042322502,0.0179019699576775
+10.,0.01793110990465998,0.02793110990465998,0.002068890095340017,0.01793110990465999
diff --git a/models/sbml-test-suite/cases/semantic/00566/00566-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00566/00566-sbml-l1v2.xml
new file mode 100644
index 0000000..b516bac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00566/00566-sbml-l1v2.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00566">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.02" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.01" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.01" units="substance"/>
+    </listOfSpecies>
+    <listOfRules>
+      <algebraicRule formula="S4 + -1 * S1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * S1 * S2">
+          <listOfParameters>
+            <parameter name="k" value="0.75"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * S3">
+          <listOfParameters>
+            <parameter name="k" value="0.25"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00566/00566-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00566/00566-sbml-l2v4.xml
new file mode 100644
index 0000000..bbdc4db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00566/00566-sbml-l2v4.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00566" id="case00566" name="case00566">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.75"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.25"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00566/00566-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00566/00566-sbml-l3v1.xml
new file mode 100644
index 0000000..e8752ed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00566/00566-sbml-l3v1.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00566" id="case00566" name="case00566" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.75"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.25"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00566/00566-settings.txt b/models/sbml-test-suite/cases/semantic/00566/00566-settings.txt
new file mode 100644
index 0000000..c5ba120
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00566/00566-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00567/00567-results.csv b/models/sbml-test-suite/cases/semantic/00567/00567-results.csv
new file mode 100644
index 0000000..ab34759
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00567/00567-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.6,0.9417645450742537,0.001850518180322546,0.05638493674542322,0.01610998192726377
+1.2,0.8869204465742713,0.007103947949298944,0.1059756054764292,0.03027874442183693
+1.8,0.835270218770295,0.01534354582804565,0.1493862354016589,0.04268178154333112
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408771
+3.,0.7408182262524066,0.0393005895271262,0.2198811842204665,0.06282319549156187
+3.6,0.6976763279936457,0.05436192220430619,0.2479617498020474,0.07084621422915636
+4.2,0.6570468228093139,0.07109181489218299,0.2718613622985025,0.07767467494242931
+4.8,0.6187833959095926,0.08923458373363536,0.2919820203567714,0.08342343438764897
+5.4,0.5827482557862521,0.1085593126661591,0.3086924315475882,0.08819783758502523
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346616
+6.6,0.516851338219483,0.1499426377224825,0.3332060240580339,0.09520172115943824
+7.2,0.4867522629833074,0.1716454790421784,0.3416022579745136,0.0976006451355753
+7.8,0.4584060154667815,0.1938153813765564,0.3477786031566614,0.09936531518761758
+8.4,0.431710531003235,0.2163174009346478,0.3519720680621165,0.1005634480177475
+9.,0.4065696644309687,0.2390311035261686,0.3543992320428618,0.1012569234408177
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695933
+10.2,0.360594945414631,0.2846773568848901,0.3547276977004781,0.1013507707715651
+10.8,0.3395955328109051,0.3074310434580307,0.3529734237310636,0.1008495496374467
+11.4,0.3198190275916367,0.3300366373494542,0.3501443350589084,0.1000412385882595
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.6,0.2836540327269612,0.3745532683746954,0.3417926988983427,0.0976550568280979
+13.2,0.2671353081234729,0.3963591996202591,0.3365054922562674,0.09614442635893355
+13.8,0.2515785596092018,0.4178053662564615,0.330616074134336,0.09446173546695314
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153505
+15.,0.2231301668500321,0.4594811499220556,0.3173886832279114,0.09068248092226044
+15.6,0.210136076619001,0.4796556129651469,0.3102083104158512,0.08863094583310035
+16.2,0.1978987057387357,0.4993589625331273,0.3027423317281363,0.08649780906518181
+16.8,0.1863739812348858,0.5185748091363077,0.2950512096288057,0.08430034560823018
+17.4,0.1755204070103711,0.53729046047283,0.2871891325167982,0.08205403786194236
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171497
+18.6,0.1556726363199384,0.5731865020176054,0.2711408616624554,0.07746881761784442
+19.2,0.1466069670797981,0.5903566084244245,0.2630364244957769,0.0751532641416506
+19.8,0.1380692427537539,0.6070053340331388,0.2549254232131066,0.07283583520374474
+20.4,0.1300287157472341,0.6231332444140386,0.2468380398387266,0.0705251542396362
+21.,0.1224564331960584,0.6387427319089701,0.2388008348949709,0.06822880996999167
+21.6,0.1153251258170146,0.6538377863401316,0.230837087842853,0.06595345366938656
+22.2,0.1086091133184855,0.6684237976963457,0.222967088985168,0.06370488256719085
+22.8,0.1022842113718046,0.6825073717901907,0.2152084168380039,0.06148811909657251
+23.4,0.09632764234146283,0.696096163276438,0.2075761943820985,0.05930748410917104
+24.,0.09071795777162411,0.7091987277459966,0.2000833144823785,0.05716666128067959
+24.6,0.08543495476397297,0.721824382036291,0.1927406631997354,0.05506876091421012
+25.2,0.08045961099316696,0.7339830853108517,0.1855573036959803,0.05301637248456583
+25.8,0.07577400756542955,0.7456853239941699,0.1785406684403999,0.05101161955439997
+26.4,0.07136127349103149,0.7569420157512529,0.1716967107577151,0.04905620307363291
+27.,0.06720551607571341,0.7677644163543629,0.1650300675699231,0.04715144787712088
+27.6,0.06329177194539646,0.7781640418990359,0.1585441861555672,0.04529833890159065
+28.2,0.05960594587114673,0.7881525947151125,0.1522414594137403,0.04349755983249726
+28.8,0.05613476607347927,0.7977419004863195,0.1461233334402007,0.04174952384005732
+29.4,0.0528657317452976,0.8069438501201231,0.1401904181345789,0.04005440518130825
+30.,0.04978707147707713,0.8157703494283248,0.1344425790945976,0.03841216545559932
diff --git a/models/sbml-test-suite/cases/semantic/00567/00567-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00567/00567-sbml-l2v4.xml
new file mode 100644
index 0000000..fb1bc59
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00567/00567-sbml-l2v4.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00567" id="case00567" name="case00567">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <ci> multiply </ci>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00567/00567-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00567/00567-sbml-l3v1.xml
new file mode 100644
index 0000000..bb20a12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00567/00567-sbml-l3v1.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00567" id="case00567" name="case00567" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <ci> multiply </ci>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00567/00567-settings.txt b/models/sbml-test-suite/cases/semantic/00567/00567-settings.txt
new file mode 100644
index 0000000..a8b3b9b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00567/00567-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 30.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00568/00568-results.csv b/models/sbml-test-suite/cases/semantic/00568/00568-results.csv
new file mode 100644
index 0000000..b87f537
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00568/00568-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.25,1.5,1.,3.75
+0.2,1.225248341634303,1.539700676519924,0.9850509818457722,3.749999999999999
+0.4,1.200986798940196,1.578805488713228,0.9702077123465742,3.749999999999996
+0.6,1.177205666979558,1.617318775215723,0.9554755578047179,3.749999999999999
+0.8,1.153895432982213,1.655245081271962,0.9408594857458226,3.749999999999997
+1.,1.131046772543813,1.692589143176806,0.9263640842793794,3.749999999999998
+1.2,1.108650545895531,1.729355873471387,0.9119935806330805,3.749999999999999
+1.4,1.086697794248031,1.765550346865127,0.8977518588868403,3.749999999999999
+1.6,1.065179736207841,1.801177786851692,0.8836424769404664,3.75
+1.8,1.044087764264675,1.836243552988863,0.8696686827464605,3.749999999999999
+2.,1.023413441348331,1.870753128813516,0.8558334298381515,3.749999999999999
+2.2,1.003148497453801,1.904712110364152,0.8421393921820457,3.749999999999999
+2.4,0.9832848263334661,1.938126195284579,0.8285889783819537,3.749999999999998
+2.6,0.9638144822542471,1.971001172482932,0.815184345262819,3.749999999999998
+2.8,0.9447296768190583,2.003342912322143,0.8019274108587969,3.749999999999997
+3.,0.9260227758513512,2.035157357318519,0.7888198668301277,3.749999999999996
+3.2,0.9076862963413465,2.066450513325981,0.7758631903326707,3.749999999999998
+3.4,0.889712903452737,2.097228441184507,0.763058655362754,3.749999999999999
+3.6,0.872095407588659,2.127497248812244,0.7504073435990956,3.749999999999998
+3.8,0.854826761515763,2.157263083721579,0.7379101547626564,3.75
+4.,0.8379000575452307,2.186532125940305,0.7255678165144631,3.749999999999999
+4.2,0.8213085247696122,2.21531058131977,0.7133808939106155,3.749999999999998
+4.4,0.8050455263544958,2.243604675212696,0.7013497984328063,3.749999999999999
+4.6,0.789104556883846,2.271420646503989,0.6894747966121632,3.749999999999999
+4.8,0.7734792397574856,2.29876474197865,0.677756018263863,3.75
+5.,0.7581633246403313,2.325643211011569,0.6661934643480982,3.749999999999997
+5.2,0.7431506849621806,2.35206230056457,0.654787014473248,3.749999999999998
+5.4,0.7284353154670067,2.378028250476669,0.6435364340563228,3.749999999999999
+5.6,0.7140113298107803,2.403547289034141,0.6324413811550775,3.749999999999999
+5.8,0.6998729582068564,2.428625628807533,0.6215014129856099,3.749999999999998
+6.,0.686014545117988,2.453269462743309,0.610715992138702,3.749999999999999
+6.2,0.672430546994038,2.477484960498342,0.6000844925076181,3.749999999999999
+6.4,0.6591155300544969,2.501278265005945,0.5896062049395565,3.749999999999998
+6.6,0.6460641681150695,2.524655489262563,0.5792803426223668,3.749999999999999
+6.8,0.6332712404571114,2.547622713324886,0.5691060462180003,3.749999999999998
+7.,0.6207316297391001,2.570185981507478,0.5590823887534199,3.749999999999999
+7.2,0.608440319949625,2.592351299771299,0.5492083802790743,3.75
+7.4,0.5963923944009192,2.614124633294104,0.5394829723049758,3.75
+7.6,0.5845830337621243,2.635511904213981,0.5299050620238925,3.749999999999997
+7.8,0.5730075141314948,2.656518989537728,0.5204734963307758,3.749999999999998
+8.,0.5616612051467794,2.677151719206051,0.5111870756471677,3.749999999999998
+8.2,0.5505395681330156,2.697415874308007,0.5020445575589747,3.749999999999997
+8.4,0.5396381542870036,2.717317185437341,0.4930446602756538,3.749999999999998
+8.6,0.5289526028828951,2.736861331193378,0.4841860659237248,3.749999999999997
+8.8,0.5184786395933741,2.756053936758648,0.4754674236479757,3.749999999999998
+9.,0.5082120746710362,2.774900572708945,0.4668873526200166,3.749999999999998
+9.2,0.4981488013557504,2.793406753817787,0.4584444448264598,3.749999999999996
+9.4,0.4882847941985928,2.811577938045618,0.4501372677557866,3.749999999999997
+9.6,0.4786161074652183,2.829419525601256,0.4419643669335225,3.749999999999999
+9.8,0.4691388735574352,2.846936858111336,0.4339242683312251,3.749999999999994
+10.,0.4598493014659813,2.864135217883657,0.426015480650359,3.749999999999997
diff --git a/models/sbml-test-suite/cases/semantic/00568/00568-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00568/00568-sbml-l2v4.xml
new file mode 100644
index 0000000..0ff8713
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00568/00568-sbml-l2v4.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00568" id="case00568" name="case00568">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> X0 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00568/00568-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00568/00568-sbml-l3v1.xml
new file mode 100644
index 0000000..d93f0ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00568/00568-sbml-l3v1.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00568" id="case00568" name="case00568" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> X0 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00568/00568-settings.txt b/models/sbml-test-suite/cases/semantic/00568/00568-settings.txt
new file mode 100644
index 0000000..979aa8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00568/00568-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-002
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00569/00569-results.csv b/models/sbml-test-suite/cases/semantic/00569/00569-results.csv
new file mode 100644
index 0000000..0252ffb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00569/00569-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.2,0.2,-3.639594695233321e-22,1.544905196784829e-25
+0.3,0.1394799942658183,0.1315676335344566,0.06052000573418167,0.007912360731361648
+0.6,0.1265637949567516,0.1042177052143809,0.0734362050432485,0.02234608974237062
+0.9,0.1260787449652856,0.08814956212358338,0.07392125503471444,0.03792918284170217
+1.2,0.1294527265222439,0.07631862538241431,0.07054727347775612,0.05313410113982957
+1.5,0.1340648846294582,0.06658910789259792,0.06593511537054175,0.06747577673686032
+1.8,0.139019603539384,0.05821560335572356,0.06098039646061598,0.08080400018366047
+2.1,0.143979914982775,0.05089236372086188,0.05602008501722504,0.09308755126191309
+2.4,0.1488026899873137,0.04446047412701868,0.05119731001268632,0.1043422158602949
+2.7,0.1534175019471807,0.03881245579398501,0.04658249805281933,0.1146050461531956
+3.,0.1577849655514624,0.03386074805277142,0.0422150344485377,0.1239242174986908
+3.3,0.1618819056223583,0.02952758219644303,0.03811809437764183,0.1323543234259151
+3.6,0.165695681345977,0.02574202339287398,0.03430431865402309,0.1399536579531028
+3.9,0.169221572772631,0.02243926672157052,0.03077842722736901,0.1467823060510604
+4.2,0.1724611874188357,0.01956053117885163,0.02753881258116442,0.1529006562399838
+4.5,0.1754211931368418,0.01705299223686278,0.02457880686315828,0.1583682008999788
+4.8,0.1781121871073579,0.01486958272637145,0.02188781289264217,0.1632426043809863
+5.1,0.1805476562113678,0.01296867024039058,0.01945234378863227,0.167578985970977
+5.4,0.1827430617125395,0.01131365569429843,0.01725693828746053,0.1714294060182409
+5.7,0.1847150467142753,0.00987249703800193,0.01528495328572481,0.1748425496762731
+6.,0.1864807867337201,0.00861725507306061,0.01351921326627989,0.1778635316606594
+6.3,0.188057469516635,0.007523612035228366,0.01194253048336501,0.1805338574814065
+6.6,0.1894618979797077,0.006570442145822667,0.01053810202029236,0.1828914558338849
+6.9,0.1907102029670099,0.005739413182495905,0.009289797032990177,0.1849707897845138
+7.2,0.1918176468147239,0.005014616167542856,0.008182353185276131,0.1868030306471809
+7.5,0.1927984959800876,0.004382256776879135,0.007201504019912362,0.1884162392032084
+7.8,0.1936659611062846,0.003830364242207483,0.006334038893715391,0.189835596864077
+8.1,0.1944321724384061,0.003348550940880491,0.005567827561593843,0.1910836214975255
+8.4,0.1951081937060705,0.002927798850571662,0.004891806293929518,0.1921803948554987
+8.7,0.1957040598860738,0.002560271635323992,0.004295940113926239,0.1931437882507496
+9.,0.1962288248383098,0.002239160509893066,0.003771175161690142,0.1939896643284167
+9.3,0.1966906277814984,0.001958541635866027,0.003309372218501594,0.1947320861456323
+9.6,0.1970967565366241,0.001713260970318592,0.002903243463375944,0.1953834955663053
+9.9,0.1974537182255321,0.001498830816464253,0.002546281774467895,0.1959548874090677
+10.2,0.1977673102679265,0.001311339591752497,0.002232689732073446,0.1964559706761739
+10.5,0.1980426744997117,0.001147384968179254,0.001957325500288256,0.1968952895315324
+10.8,0.1982843828857392,0.001003990897465208,0.001715617114260823,0.1972803919882738
+11.1,0.1984964764057542,0.0008785648350700355,0.001503523594245836,0.197617911570684
+11.4,0.1986825286564188,0.00076884460080587,0.001317471343581245,0.1979136840556127
+11.7,0.1988456958684211,0.0006728547973093359,0.001154304131578946,0.1981728410711116
+12.,0.1989887603368295,0.0005888714672617249,0.001011239663170509,0.1983998888695676
+12.3,0.1991141744460423,0.0005153874849835889,0.000885825553957782,0.1985987869610585
+12.6,0.1992240965731717,0.0004510865479293824,0.0007759034268283275,0.1987730100252422
+12.9,0.1993204259823005,0.0003948179200985316,0.0006795740176994792,0.1989256080622019
+13.2,0.199404832502597,0.00034557583870302,0.0005951674974030528,0.1990592566638938
+13.5,0.1994787835999619,0.0003024809986810528,0.0005212164000381433,0.1991763026012807
+13.8,0.1995435678435132,0.0002647646717759073,0.0004564321564868226,0.1992788031717371
+14.1,0.1996003163097921,0.0002317546274006225,0.00039968369020792,0.1993685616823913
+14.4,0.1996500217818474,0.0002028628477904869,0.0003499782181526791,0.1994471589340567
+14.7,0.1996935553737758,0.000177574955229196,0.0003064446262242065,0.1995159804185465
+15.,0.1997316811484057,0.0001554409495704179,0.0002683188515942854,0.1995762401988352
diff --git a/models/sbml-test-suite/cases/semantic/00569/00569-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00569/00569-sbml-l2v4.xml
new file mode 100644
index 0000000..083787d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00569/00569-sbml-l2v4.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00569" id="case00569" name="case00569">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="subtract" name="subtract">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="10"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> subtract </ci>
+            <ci> k2 </ci>
+            <cn> 0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00569/00569-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00569/00569-sbml-l3v1.xml
new file mode 100644
index 0000000..1dee36a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00569/00569-sbml-l3v1.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00569" id="case00569" name="case00569" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="subtract" name="subtract">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="10" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> subtract </ci>
+            <ci> k2 </ci>
+            <cn> 0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00569/00569-settings.txt b/models/sbml-test-suite/cases/semantic/00569/00569-settings.txt
new file mode 100644
index 0000000..b77eee0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00569/00569-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00570/00570-results.csv b/models/sbml-test-suite/cases/semantic/00570/00570-results.csv
new file mode 100644
index 0000000..3b7f7f3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00570/00570-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.02,0.02,1.799117832302835e-22,1.9185097214975e-26
+0.2,0.0150697550726441,0.01466611793502919,0.004930244927355888,0.0004036371376149215
+0.4,0.01326815716860974,0.01202746607311529,0.00673184283139025,0.001240691095494451
+0.6,0.01265637309526313,0.01042176420019962,0.007343626904736868,0.002234608895063512
+0.8,0.01255842342615724,0.009284956582803739,0.007441576573842758,0.003273466843353501
+1.,0.01269631314470904,0.008388852938609789,0.007303686855290955,0.004307460206099255
+1.2,0.01294527529580567,0.00763186382289171,0.007054724704194324,0.005313411472913968
+1.4,0.01324625733021926,0.006965857773336574,0.006753742669780744,0.006280399556882687
+1.6,0.0135701370507084,0.006366725149878849,0.006429862949291593,0.007203411900829561
+1.8,0.01390196479728435,0.00582156331545644,0.006098035202715649,0.008080401481827913
+2.,0.01423368750013542,0.005322814314770167,0.005766312499864586,0.008910873185365254
+2.2,0.01456072098239269,0.004865529864188055,0.005439279017607308,0.009695191118204644
+2.4,0.01488027082708201,0.004446048481805808,0.005119729172917988,0.01043422234527621
+2.6,0.015190519745061,0.004061369398601255,0.004809480254938999,0.01112915034645974
+2.8,0.01549022214339363,0.003708852315123716,0.004509777856606365,0.01178136982826992
+3.,0.01577849931603814,0.003386076698539684,0.004221500683961856,0.01239242261749846
+3.2,0.01605473078226938,0.003090777106367358,0.003945269217730613,0.01296395367590203
+3.4,0.01631850241324941,0.002820822019471015,0.00368149758675058,0.01349768039377841
+3.6,0.01656956944083011,0.002574203020296034,0.003430430559169882,0.01399536642053408
+3.8,0.0168078288934554,0.00234902975707936,0.003192171106544594,0.01445879913637605
+4.,0.01703330205979099,0.002143530611656062,0.00296669794020901,0.01488977144813493
+4.2,0.01724611801655354,0.001956051861322077,0.002753881983446467,0.01529006615523146
+4.4,0.01744650067760506,0.001785061050653777,0.00255349932239494,0.01566143962695129
+4.6,0.01763474677685429,0.001629131602116481,0.002365253223145717,0.0160056151747378
+4.8,0.01781121980998726,0.001486955572256624,0.002188780190012742,0.01632426423773063
+5.,0.01797633282323229,0.001357325342968781,0.002023667176767708,0.01661900748026351
+5.2,0.01813053640893193,0.001239130901569992,0.001869463591068071,0.01689140550736193
+5.4,0.01827431041598183,0.001131361197362115,0.00172568958401817,0.01714294921861971
+5.6,0.01840815375870046,0.001033088702242688,0.001591846241299542,0.01737506505645778
+5.8,0.01853257479095221,0.0009434652272059298,0.001467425209047798,0.01758910956374628
+6.,0.01864808468167899,0.0008617210152477131,0.001351915318321014,0.01778636366643128
+6.2,0.01875519293954835,0.0007871531994808708,0.001244807060451658,0.01796803974006748
+6.4,0.01885440077800028,0.0007191199831901953,0.001145599221999725,0.01813528079481008
+6.6,0.0189461964870529,0.0006570402839797592,0.0010538035129471,0.01828915620307314
+6.8,0.01903105517408083,0.0006003846847193263,0.0009689448259191774,0.0184306704893615
+7.,0.01910943424545258,0.0005486698407600341,0.0008905657545474236,0.01856076440469254
+7.2,0.01918177087276561,0.0005014583530522728,0.0008182291272343938,0.01868031251971333
+7.4,0.01924848318938387,0.0004583519802121166,0.0007515168106161374,0.01879013120917174
+7.6,0.01930996848524283,0.0004189869520501079,0.000690031514757175,0.01889098153319272
+7.8,0.01936660134746658,0.0003830339409466567,0.0006333986525334252,0.01898356740651992
+8.,0.01941873608594019,0.0003501932030959672,0.0005812639140598145,0.01906854288284422
+8.2,0.019466706220673,0.0003201906599782318,0.0005332937793270115,0.01914651556069476
+8.4,0.01951082343868294,0.0002927780507229969,0.0004891765613170697,0.01921804538795993
+8.6,0.0195513800207942,0.0002677292674566541,0.0004486199792058178,0.01928365075333753
+8.8,0.01958864941158996,0.0002448374046849358,0.0004113505884100458,0.01934381200690502
+9.,0.01962288544438886,0.0002239148265346211,0.0003771145556111427,0.01939897061785424
+9.2,0.01965432472000334,0.0002047905949292931,0.0003456752799966729,0.01944953412507404
+9.4,0.01968318758771125,0.000187308133114899,0.0003168124122887613,0.01949587945459634
+9.6,0.01970967766188022,0.0001713253420873256,0.0002903223381197966,0.01953835231979287
+9.8,0.01973398383836152,0.000156712685431782,0.0002660161616384938,0.01957727115292972
+10.,0.01975628140119932,0.0001433513415777061,0.0002437185988006856,0.01961293005962161
diff --git a/models/sbml-test-suite/cases/semantic/00570/00570-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00570/00570-sbml-l2v4.xml
new file mode 100644
index 0000000..9828fee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00570/00570-sbml-l2v4.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00570" id="case00570" name="case00570">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="subtract" name="subtract">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="100"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <ci> subtract </ci>
+              <ci> k2 </ci>
+              <ci> k3 </ci>
+            </apply>
+            <cn> -0.2 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00570/00570-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00570/00570-sbml-l3v1.xml
new file mode 100644
index 0000000..7032395
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00570/00570-sbml-l3v1.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00570" id="case00570" name="case00570" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="subtract" name="subtract">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="100" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <ci> subtract </ci>
+              <ci> k2 </ci>
+              <ci> k3 </ci>
+            </apply>
+            <cn> -0.2 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00570/00570-settings.txt b/models/sbml-test-suite/cases/semantic/00570/00570-settings.txt
new file mode 100644
index 0000000..c5ba120
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00570/00570-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00571/00571-results.csv b/models/sbml-test-suite/cases/semantic/00571/00571-results.csv
new file mode 100644
index 0000000..d3a3060
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00571/00571-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.5,0.951229435977038,0.00129394701186584,0.04747661701109569,0.0135647477174559
+1.,0.9048374286968407,0.005001238238300923,0.09016133306485804,0.02576038087567372
+1.5,0.8607079849377296,0.01087500589316853,0.1284170091691015,0.03669057404831471
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.0464520239891676
+2.5,0.7788007889254478,0.02822710671743584,0.1929721043571157,0.05513488695917592
+3.,0.7408182262524066,0.0393005895271262,0.2198811842204665,0.06282319549156185
+3.5,0.7046880949485934,0.05172854997037847,0.2435833550810274,0.06959524430886497
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211858,0.07552395726319598
+4.5,0.637628152895983,0.08000157060227219,0.2823702765017441,0.08067722185764116
+5.,0.6065306630909804,0.09555555953789099,0.2979137773711279,0.08511822210603656
+5.5,0.5769498167288155,0.1118800887288119,0.3111700945423721,0.08890574129782058
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.5,0.5220457805030899,0.1463812592420414,0.3315729602548682,0.09473513150139091
+7.,0.4965853076686745,0.1643521851900511,0.3390625071412738,0.09687500204036397
+7.5,0.4723665588664666,0.1826808399881816,0.344952601145351,0.09855788604152887
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.5,0.4274149377422891,0.2200913641393101,0.3524936981184001,0.1007124851766857
+9.,0.4065696644309687,0.2390311035261686,0.3543992320428618,0.1012569234408177
+9.5,0.3867410291040746,0.2580432709854239,0.3552156999105008,0.1014901999744288
+10.,0.3678794486179236,0.2770723716247996,0.3550481797572761,0.1014423370735074
+10.5,0.3499377562225606,0.2960683238607715,0.353993919916667,0.1011411199761905
+11.,0.3328710893023584,0.3149860662975904,0.3521428444000506,0.1006122412571573
+11.5,0.3166367747899352,0.3337851727543826,0.3495780524556814,0.09987944355876611
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.5,0.2865048043440484,0.3708868184904721,0.3426083771654789,0.09788810776156542
+13.,0.2725317993854338,0.3891285936075477,0.3383396070070178,0.0966684591448622
+13.5,0.2592402660963983,0.4071296223790562,0.3336301115245448,0.09532288900701284
+14.,0.2465969698081156,0.4248677993481391,0.3285352308437446,0.09386720881249845
+14.5,0.2345702950071955,0.4423238597074408,0.3231058452853629,0.09231595579581797
+15.,0.2231301668500321,0.4594811499220556,0.3173886832279114,0.09068248092226043
+15.5,0.2122479794504402,0.476325418807883,0.311426601741676,0.08897902906905026
+16.,0.201896523328712,0.4928446152826624,0.3052588613886247,0.08721681753960708
+16.5,0.1920499146188836,0.5090286987120578,0.2989213866690578,0.08540611047687367
+17.,0.1826835305578533,0.5248694671088017,0.292447002333344,0.08355628638095545
+17.5,0.1737739491941842,0.5403603990458888,0.2858656517599264,0.08167590050283614
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171494
+18.5,0.1572371715003665,0.5702741990587278,0.272488629440905,0.07785389412597285
+19.,0.1495686250077055,0.5846911426150138,0.2657402323772802,0.07592578067922294
+19.5,0.1422740772390961,0.5987461544247366,0.2589797683361667,0.07399421952461905
+20.,0.1353352881320281,0.6124390892251168,0.2522256226428545,0.07206446361224419
+20.5,0.1287349081929608,0.6257707379635332,0.2454943538435054,0.07014124395528723
+21.,0.1224564331960584,0.6387427319089701,0.2388008348949709,0.06822880996999169
+21.5,0.1164841630215884,0.6513574560682777,0.2321583809101331,0.06633096597432375
+22.,0.1108031631050642,0.6636179697213635,0.2255788671735716,0.06445110490673473
+22.5,0.105399228786221,0.6755279334944562,0.2190728377193219,0.06259223934837769
+23.,0.1002588479535309,0.6870915392909948,0.2126496127554737,0.06075703221584965
+23.5,0.09536916678047847,0.6983134471857005,0.2063173860338204,0.05894782458109154
+24.,0.09071795777162411,0.7091987277459966,0.2000833144823785,0.05716666128067958
+24.5,0.08629359045708402,0.719752809564461,0.1939535999784543,0.0554153142795584
+25.,0.08208500289161128,0.7299814301059336,0.1879335670024545,0.05369530485784414
diff --git a/models/sbml-test-suite/cases/semantic/00571/00571-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00571/00571-sbml-l2v4.xml
new file mode 100644
index 0000000..34331b8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00571/00571-sbml-l2v4.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00571" id="case00571" name="case00571">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="subtract" name="subtract">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> subtract </ci>
+            <apply>
+              <ci> multiply </ci>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00571/00571-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00571/00571-sbml-l3v1.xml
new file mode 100644
index 0000000..8f959c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00571/00571-sbml-l3v1.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00571" id="case00571" name="case00571" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="subtract" name="subtract">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> subtract </ci>
+            <apply>
+              <ci> multiply </ci>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00571/00571-settings.txt b/models/sbml-test-suite/cases/semantic/00571/00571-settings.txt
new file mode 100644
index 0000000..b565f5e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00571/00571-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00572/00572-results.csv b/models/sbml-test-suite/cases/semantic/00572/00572-results.csv
new file mode 100644
index 0000000..b87f537
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00572/00572-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.25,1.5,1.,3.75
+0.2,1.225248341634303,1.539700676519924,0.9850509818457722,3.749999999999999
+0.4,1.200986798940196,1.578805488713228,0.9702077123465742,3.749999999999996
+0.6,1.177205666979558,1.617318775215723,0.9554755578047179,3.749999999999999
+0.8,1.153895432982213,1.655245081271962,0.9408594857458226,3.749999999999997
+1.,1.131046772543813,1.692589143176806,0.9263640842793794,3.749999999999998
+1.2,1.108650545895531,1.729355873471387,0.9119935806330805,3.749999999999999
+1.4,1.086697794248031,1.765550346865127,0.8977518588868403,3.749999999999999
+1.6,1.065179736207841,1.801177786851692,0.8836424769404664,3.75
+1.8,1.044087764264675,1.836243552988863,0.8696686827464605,3.749999999999999
+2.,1.023413441348331,1.870753128813516,0.8558334298381515,3.749999999999999
+2.2,1.003148497453801,1.904712110364152,0.8421393921820457,3.749999999999999
+2.4,0.9832848263334661,1.938126195284579,0.8285889783819537,3.749999999999998
+2.6,0.9638144822542471,1.971001172482932,0.815184345262819,3.749999999999998
+2.8,0.9447296768190583,2.003342912322143,0.8019274108587969,3.749999999999997
+3.,0.9260227758513512,2.035157357318519,0.7888198668301277,3.749999999999996
+3.2,0.9076862963413465,2.066450513325981,0.7758631903326707,3.749999999999998
+3.4,0.889712903452737,2.097228441184507,0.763058655362754,3.749999999999999
+3.6,0.872095407588659,2.127497248812244,0.7504073435990956,3.749999999999998
+3.8,0.854826761515763,2.157263083721579,0.7379101547626564,3.75
+4.,0.8379000575452307,2.186532125940305,0.7255678165144631,3.749999999999999
+4.2,0.8213085247696122,2.21531058131977,0.7133808939106155,3.749999999999998
+4.4,0.8050455263544958,2.243604675212696,0.7013497984328063,3.749999999999999
+4.6,0.789104556883846,2.271420646503989,0.6894747966121632,3.749999999999999
+4.8,0.7734792397574856,2.29876474197865,0.677756018263863,3.75
+5.,0.7581633246403313,2.325643211011569,0.6661934643480982,3.749999999999997
+5.2,0.7431506849621806,2.35206230056457,0.654787014473248,3.749999999999998
+5.4,0.7284353154670067,2.378028250476669,0.6435364340563228,3.749999999999999
+5.6,0.7140113298107803,2.403547289034141,0.6324413811550775,3.749999999999999
+5.8,0.6998729582068564,2.428625628807533,0.6215014129856099,3.749999999999998
+6.,0.686014545117988,2.453269462743309,0.610715992138702,3.749999999999999
+6.2,0.672430546994038,2.477484960498342,0.6000844925076181,3.749999999999999
+6.4,0.6591155300544969,2.501278265005945,0.5896062049395565,3.749999999999998
+6.6,0.6460641681150695,2.524655489262563,0.5792803426223668,3.749999999999999
+6.8,0.6332712404571114,2.547622713324886,0.5691060462180003,3.749999999999998
+7.,0.6207316297391001,2.570185981507478,0.5590823887534199,3.749999999999999
+7.2,0.608440319949625,2.592351299771299,0.5492083802790743,3.75
+7.4,0.5963923944009192,2.614124633294104,0.5394829723049758,3.75
+7.6,0.5845830337621243,2.635511904213981,0.5299050620238925,3.749999999999997
+7.8,0.5730075141314948,2.656518989537728,0.5204734963307758,3.749999999999998
+8.,0.5616612051467794,2.677151719206051,0.5111870756471677,3.749999999999998
+8.2,0.5505395681330156,2.697415874308007,0.5020445575589747,3.749999999999997
+8.4,0.5396381542870036,2.717317185437341,0.4930446602756538,3.749999999999998
+8.6,0.5289526028828951,2.736861331193378,0.4841860659237248,3.749999999999997
+8.8,0.5184786395933741,2.756053936758648,0.4754674236479757,3.749999999999998
+9.,0.5082120746710362,2.774900572708945,0.4668873526200166,3.749999999999998
+9.2,0.4981488013557504,2.793406753817787,0.4584444448264598,3.749999999999996
+9.4,0.4882847941985928,2.811577938045618,0.4501372677557866,3.749999999999997
+9.6,0.4786161074652183,2.829419525601256,0.4419643669335225,3.749999999999999
+9.8,0.4691388735574352,2.846936858111336,0.4339242683312251,3.749999999999994
+10.,0.4598493014659813,2.864135217883657,0.426015480650359,3.749999999999997
diff --git a/models/sbml-test-suite/cases/semantic/00572/00572-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00572/00572-sbml-l2v4.xml
new file mode 100644
index 0000000..12de951
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00572/00572-sbml-l2v4.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00572" id="case00572" name="case00572">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <ci> add </ci>
+              <apply>
+                <ci> add </ci>
+                <ci> X0 </ci>
+                <ci> X1 </ci>
+              </apply>
+              <ci> T </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00572/00572-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00572/00572-sbml-l3v1.xml
new file mode 100644
index 0000000..7098909
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00572/00572-sbml-l3v1.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00572" id="case00572" name="case00572" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <ci> add </ci>
+              <apply>
+                <ci> add </ci>
+                <ci> X0 </ci>
+                <ci> X1 </ci>
+              </apply>
+              <ci> T </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00572/00572-settings.txt b/models/sbml-test-suite/cases/semantic/00572/00572-settings.txt
new file mode 100644
index 0000000..979aa8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00572/00572-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-002
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00573/00573-results.csv b/models/sbml-test-suite/cases/semantic/00573/00573-results.csv
new file mode 100644
index 0000000..11fb0cb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00573/00573-results.csv
@@ -0,0 +1,52 @@
+time,p1,p2,p3,p4
+0,1.,0,0,0
+0.4,0.9607894505357768,0.000833845462800037,0.03837670400142282,0.01096477257183509
+0.8,0.9231163576760428,0.003244954546376271,0.07363868777758049,0.02103962507930871
+1.2,0.8869204465742713,0.007103947949298944,0.1059756054764292,0.03027874442183693
+1.6,0.852143797119792,0.01228934852172851,0.1355668543584791,0.03873338695956546
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.04645202398916761
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408772
+2.8,0.7557837471460103,0.03469896050720146,0.2095172923467877,0.05986208352765363
+3.2,0.7261490388594339,0.04411876530107239,0.229732195839493,0.06563777023985516
+3.6,0.6976763279936457,0.05436192220430617,0.2479617498020474,0.0708462142291564
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211857,0.07552395726319594
+4.4,0.6440364243161742,0.07699430970508104,0.2789692659787441,0.07970550456535549
+4.8,0.6187833959095926,0.08923458373363538,0.2919820203567714,0.08342343438764895
+5.2,0.5945205527446842,0.1019997080082743,0.3034797392470406,0.08670849692772596
+5.6,0.5712090691367363,0.115226949975085,0.3135639808881781,0.08958970882519373
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346613
+6.4,0.527292430303364,0.1428377588031926,0.3298698108934429,0.09424851739812656
+6.8,0.5066169990569292,0.1571160534772622,0.3362669474658082,0.09607627070451665
+7.2,0.4867522629833074,0.1716454790421784,0.3416022579745136,0.09760064513557532
+7.6,0.4676664342769864,0.1863821660702592,0.3459513996527536,0.09884325704364389
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591338
+8.4,0.431710531003235,0.2163174009346479,0.3519720680621164,0.1005634480177475
+8.8,0.4147829193123543,0.2314432235434361,0.3537738571442088,0.1010782448983453
+9.2,0.3985190487020195,0.2466305193308349,0.354850431967145,0.1013858377048985
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695933
+10.,0.3678794486179236,0.2770723716247995,0.3550481797572761,0.1014423370735074
+10.4,0.3534546892749864,0.2922740173858473,0.3542712933391655,0.1012203695254758
+10.8,0.3395955328109051,0.3074310434580307,0.3529734237310636,0.1008495496374467
+11.2,0.3262798016246614,0.3225220653115714,0.3511981330637665,0.1003423237325047
+11.6,0.3134861877122507,0.3375275074378869,0.3489863048498616,0.09971037281424617
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053174
+12.4,0.2893842244231299,0.367211731742129,0.3434040438347404,0.09811544109564011
+12.8,0.2780373067704968,0.381859433253978,0.3401032599755243,0.09717235999300694
+13.2,0.2671353081234729,0.396359199620259,0.3365054922562674,0.09614442635893354
+13.6,0.2566607829604508,0.4106989428400723,0.3326402741994762,0.09504007834270752
+14.,0.2465969698081156,0.4248677993481391,0.3285352308437446,0.09386720881249845
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153508
+14.8,0.2276376940033317,0.4526550476174064,0.319707258379261,0.09134493096550311
+15.2,0.218711892465461,0.4662571409389489,0.3150309665955892,0.09000884759873981
+15.6,0.210136076619001,0.4796556129651469,0.3102083104158512,0.08863094583310031
+16.,0.201896523328712,0.4928446152826624,0.3052588613886247,0.08721681753960711
+16.4,0.1939800475509628,0.5058191090957615,0.300200843353275,0.08577166952950712
+16.8,0.1863739812348858,0.5185748091363077,0.2950512096288057,0.08430034560823022
+17.2,0.1790661530508464,0.5311081307944476,0.2898257161547053,0.0828073474727729
+17.6,0.1720448689137586,0.5434161403007272,0.2845389907855135,0.08129685451014677
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171493
+18.4,0.1588174311185365,0.5673474631569459,0.2738351057245169,0.07823860163557626
+18.8,0.1525901107358551,0.5789677543709073,0.268442134893237,0.07669775282663912
+19.2,0.1466069670797981,0.5903566084244245,0.2630364244957769,0.0751532641416506
+19.6,0.1408584258429966,0.6015136944724306,0.2576278796845722,0.07360796562416345
+20.,0.1353352888698187,0.612439089880779,0.2522256212494018,0.07206446321411483
diff --git a/models/sbml-test-suite/cases/semantic/00573/00573-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00573/00573-sbml-l2v4.xml
new file mode 100644
index 0000000..7e9b59a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00573/00573-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00573" id="case00573" name="case00573">
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1" constant="false"/>
+      <parameter id="p2" name="p2" value="0" constant="false"/>
+      <parameter id="p3" name="p3" value="0" constant="false"/>
+      <parameter id="p4" name="p4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> p4 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> p3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="p3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> p4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> p4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00573/00573-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00573/00573-sbml-l3v1.xml
new file mode 100644
index 0000000..29913ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00573/00573-sbml-l3v1.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00573" id="case00573" name="case00573" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1" constant="false"/>
+      <parameter id="p2" name="p2" value="0" constant="false"/>
+      <parameter id="p3" name="p3" value="0" constant="false"/>
+      <parameter id="p4" name="p4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> p4 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> p3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="p3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> p4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> p4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00573/00573-settings.txt b/models/sbml-test-suite/cases/semantic/00573/00573-settings.txt
new file mode 100644
index 0000000..9b7c7d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00573/00573-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: p1, p2, p3, p4
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00574/00574-results.csv b/models/sbml-test-suite/cases/semantic/00574/00574-results.csv
new file mode 100644
index 0000000..38fc5b0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00574/00574-results.csv
@@ -0,0 +1,52 @@
+time,p1,p2,p3,p4
+0,1.25,1.5,1.,3.75
+0.2,1.225248341634303,1.539700676519924,0.9850509818457722,3.75
+0.4,1.200986798940196,1.578805488713228,0.9702077123465742,3.75
+0.6,1.177205666979558,1.617318775215723,0.9554755578047179,3.75
+0.8,1.153895432982213,1.655245081271962,0.9408594857458226,3.75
+1.,1.131046772543813,1.692589143176806,0.9263640842793794,3.75
+1.2,1.108650545895531,1.729355873471387,0.9119935806330805,3.75
+1.4,1.086697794248031,1.765550346865127,0.8977518588868403,3.75
+1.6,1.065179736207841,1.801177786851692,0.8836424769404664,3.75
+1.8,1.044087764264675,1.836243552988863,0.8696686827464605,3.75
+2.,1.023413441348331,1.870753128813516,0.8558334298381515,3.75
+2.2,1.003148497453801,1.904712110364152,0.8421393921820457,3.75
+2.4,0.9832848263334661,1.938126195284579,0.8285889783819537,3.75
+2.6,0.9638144822542471,1.971001172482932,0.815184345262819,3.75
+2.8,0.9447296768190583,2.003342912322143,0.8019274108587969,3.75
+3.,0.9260227758513512,2.035157357318519,0.7888198668301277,3.75
+3.2,0.9076862963413465,2.066450513325981,0.7758631903326707,3.75
+3.4,0.889712903452737,2.097228441184507,0.763058655362754,3.75
+3.6,0.872095407588659,2.127497248812244,0.7504073435990956,3.75
+3.8,0.854826761515763,2.157263083721579,0.7379101547626564,3.75
+4.,0.8379000575452307,2.186532125940305,0.7255678165144631,3.75
+4.2,0.8213085247696122,2.21531058131977,0.7133808939106155,3.75
+4.4,0.8050455263544958,2.243604675212696,0.7013497984328063,3.75
+4.6,0.789104556883846,2.271420646503989,0.6894747966121632,3.75
+4.8,0.7734792397574856,2.29876474197865,0.677756018263863,3.75
+5.,0.7581633246403313,2.325643211011569,0.6661934643480982,3.75
+5.2,0.7431506849621806,2.35206230056457,0.654787014473248,3.75
+5.4,0.7284353154670067,2.378028250476669,0.6435364340563228,3.75
+5.6,0.7140113298107803,2.403547289034141,0.6324413811550775,3.75
+5.8,0.6998729582068564,2.428625628807533,0.6215014129856099,3.75
+6.,0.686014545117988,2.453269462743309,0.610715992138702,3.75
+6.2,0.672430546994038,2.477484960498342,0.6000844925076181,3.75
+6.4,0.6591155300544969,2.501278265005945,0.5896062049395565,3.75
+6.6,0.6460641681150695,2.524655489262563,0.5792803426223668,3.75
+6.8,0.6332712404571114,2.547622713324886,0.5691060462180003,3.75
+7.,0.6207316297391001,2.570185981507478,0.5590823887534199,3.75
+7.2,0.608440319949625,2.592351299771299,0.5492083802790743,3.75
+7.4,0.5963923944009192,2.614124633294104,0.5394829723049758,3.75
+7.6,0.5845830337621243,2.635511904213981,0.5299050620238925,3.75
+7.8,0.5730075141314948,2.656518989537728,0.5204734963307758,3.75
+8.,0.5616612051467794,2.677151719206051,0.5111870756471677,3.75
+8.2,0.5505395681330156,2.697415874308007,0.5020445575589747,3.75
+8.4,0.5396381542870036,2.717317185437341,0.4930446602756538,3.75
+8.6,0.5289526028828951,2.736861331193378,0.4841860659237248,3.75
+8.8,0.5184786395933741,2.756053936758648,0.4754674236479757,3.75
+9.,0.5082120746710362,2.774900572708945,0.4668873526200166,3.75
+9.2,0.4981488013557504,2.793406753817787,0.4584444448264598,3.75
+9.4,0.4882847941985928,2.811577938045618,0.4501372677557866,3.75
+9.6,0.4786161074652183,2.829419525601256,0.4419643669335225,3.75
+9.8,0.4691388735574352,2.846936858111336,0.4339242683312251,3.75
+10.,0.4598493014659813,2.864135217883657,0.426015480650359,3.75
diff --git a/models/sbml-test-suite/cases/semantic/00574/00574-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00574/00574-sbml-l1v2.xml
new file mode 100644
index 0000000..6a03847
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00574/00574-sbml-l1v2.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00574">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="p1" value="1.25"/>
+      <parameter name="p2" value="1.5"/>
+      <parameter name="p3" value="1"/>
+      <parameter name="p4" value="3.75"/>
+      <parameter name="k1" value="0.1"/>
+      <parameter name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="p1 + p2 + p3 + -1 * p4"/>
+      <parameterRule formula="-1 * k1 * p1" type="rate" name="p1"/>
+      <parameterRule formula="k1 * p1 + -1 * k2 * p3" type="rate" name="p3"/>
+      <parameterRule formula="k2 * p3" type="rate" name="p2"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00574/00574-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00574/00574-sbml-l2v4.xml
new file mode 100644
index 0000000..b9c710a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00574/00574-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00574" id="case00574" name="case00574">
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.25" constant="false"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+      <parameter id="p3" name="p3" value="1" constant="false"/>
+      <parameter id="p4" name="p4" value="3.75" constant="false"/>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+            <ci> p3 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> p4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="p3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> p3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00574/00574-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00574/00574-sbml-l3v1.xml
new file mode 100644
index 0000000..91b92ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00574/00574-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00574" id="case00574" name="case00574" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="1.25" constant="false"/>
+      <parameter id="p2" name="p2" value="1.5" constant="false"/>
+      <parameter id="p3" name="p3" value="1" constant="false"/>
+      <parameter id="p4" name="p4" value="3.75" constant="false"/>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+            <ci> p3 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> p4 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="p3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> p3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00574/00574-settings.txt b/models/sbml-test-suite/cases/semantic/00574/00574-settings.txt
new file mode 100644
index 0000000..ed79dba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00574/00574-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: p1, p2, p3, p4
+absolute: 1.000000e-002
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00575/00575-results.csv b/models/sbml-test-suite/cases/semantic/00575/00575-results.csv
new file mode 100644
index 0000000..bf81fbb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00575/00575-results.csv
@@ -0,0 +1,52 @@
+time,p1,p2,p3,p4
+0,0.0002,0.0002,-3.263486010463117e-25,-8.559140821647978e-29
+0.2,0.00015071470386867,0.0001466769985383781,0.00004928529613132991,4.037705330292001e-6
+0.4,0.0001326858944000262,0.0001202795435056529,0.00006731410559997365,0.00001240635089437338
+0.6,0.0001265655712534432,0.0001042208342021533,0.00007343442874655666,0.00002234473705129002
+0.8,0.0001255723987461397,0.00009284075645574587,0.00007442760125386026,0.00003273164229039388
+1.,0.0001269538101742331,0.00008388151965169853,0.00007304618982576672,0.00004307229052253473
+1.2,0.0001294447179440819,0.00007631250423350389,0.000070555282055918,0.00005313221371057811
+1.4,0.0001324579612558318,0.00006965519719096694,0.00006754203874416809,0.00006280276406486496
+1.6,0.0001356987616063514,0.0000636654552651068,0.00006430123839364857,0.00007203330634124468
+1.8,0.0001390188317503447,0.00005821523568066259,0.00006098116824965517,0.00008080359606968226
+2.,0.0001423385291140152,0.00005322975117776157,0.00005766147088598476,0.00008910877793625369
+2.2,0.0001456085345206771,0.00004865669671737914,0.00005439146547932288,0.00009695183780329799
+2.4,0.0001488029542730216,0.00004446095854345348,0.00005119704572697837,0.0001043419957295681
+2.6,0.0001519059525106008,0.00004061432240888298,0.00004809404748939909,0.0001112916301017179
+2.8,0.0001549039465389113,0.00003708963362278453,0.00004509605346108859,0.0001178143129161269
+3.,0.0001577880188962126,0.00003386251796816297,0.00004221198110378731,0.0001239255009280497
+3.2,0.000160550397635446,0.00003090935916026,0.00003944960236455388,0.0001296410384751861
+3.4,0.0001631881422279137,0.00002820959918201521,0.00003681185777208626,0.0001349785430458985
+3.6,0.0001656989316407976,0.00002574337878137106,0.0000343010683592023,0.0001399555528594266
+3.8,0.0001680811921053415,0.00002349145921441336,0.00003191880789465838,0.0001445897328909283
+4.,0.0001703354379403434,0.00002143625775541668,0.00002966456205965648,0.0001488991801849268
+4.2,0.0001724632366303659,0.00001956146829641243,0.00002753676336963401,0.0001529017683339536
+4.4,0.0001744665332609404,0.00001785141806268488,0.00002553346673905953,0.0001566151151982556
+4.6,0.0001763481061508788,0.00001629171231446095,0.00002365189384912115,0.0001600563938364179
+4.8,0.0001781119321662311,0.00001486996357959034,0.00002188806783376884,0.0001632419685866408
+5.,0.000179762787068548,0.00001357379272550481,0.0000202372129314519,0.0001661889943430433
+5.2,0.0001813041041559455,0.00001239159316963538,0.00001869589584405448,0.0001689125109863101
+5.4,0.0001827409481279567,0.00001131407303325244,0.00001725905187204327,0.0001714268750947043
+5.6,0.0001840799134857462,0.00001033222121251617,0.00001592008651425377,0.0001737476922732301
+5.8,0.0001853240001853443,9.4360070042285e-6,0.00001467599981465566,0.0001758879931811158
+6.,0.0001864789521322555,8.618363144485935e-6,0.00001352104786774445,0.0001778605889877696
+6.2,0.0001875512001933598,7.87279979791871e-6,0.00001244879980664011,0.0001796784003954412
+6.4,0.0001885437030440724,7.192034158028173e-6,0.00001145629695592755,0.0001813516688860443
+6.6,0.0001894621711528652,6.571063198063191e-6,0.00001053782884713469,0.0001828911079548021
+6.8,0.0001903117652748557,6.004482070179751e-6,9.688234725144243e-6,0.000184307283204676
+7.,0.0001910957562904017,5.48682416246296e-6,8.904243709598208e-6,0.0001856089321279388
+7.2,0.0001918190880400762,5.014733764110887e-6,8.180911959923758e-6,0.0001868043542759654
+7.4,0.0001924860374800883,4.58364702847533e-6,7.51396251991166e-6,0.000187902390451613
+7.6,0.0001931002734637156,4.189746920966306e-6,6.899726536284344e-6,0.0001889105265427494
+7.8,0.0001936657914695731,3.830526945736915e-6,6.334208530426788e-6,0.0001898352645238363
+8.,0.0001941862951215813,3.502196888141537e-6,5.813704878418652e-6,0.0001906840982334398
+8.2,0.0001946652215382291,3.202244833391122e-6,5.334778461770833e-6,0.000191462976704838
+8.4,0.0001951059425599463,2.928574108098552e-6,4.894057440053638e-6,0.0001921773684518478
+8.6,0.0001955112796701716,2.678299584046318e-6,4.488720329828364e-6,0.0001928329800861253
+8.8,0.0001958840321050885,2.449454183081452e-6,4.115967894911485e-6,0.0001934345779220071
+9.,0.0001962268892052458,2.24025911718406e-6,3.773110794754137e-6,0.0001939866300880618
+9.2,0.0001965418773028414,2.049039481255113e-6,3.45812269715851e-6,0.0001944928378215864
+9.4,0.0001968309081728926,1.874104517891201e-6,3.169091827107394e-6,0.0001949568036550015
+9.6,0.0001970961967051766,1.71402933453287e-6,2.903803294823369e-6,0.0001953821673706438
+9.8,0.0001973394946672056,1.567680199912779e-6,2.660505332794311e-6,0.0001957718144672929
+10.,0.0001975621797220088,1.43385665829e-6,2.437820277991154e-6,0.0001961283230637189
diff --git a/models/sbml-test-suite/cases/semantic/00575/00575-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00575/00575-sbml-l1v2.xml
new file mode 100644
index 0000000..56f6dce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00575/00575-sbml-l1v2.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00575">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="p1" value="0.0002"/>
+      <parameter name="p2" value="0.0002"/>
+      <parameter name="p3" value="0"/>
+      <parameter name="p4" value="0"/>
+      <parameter name="k1" value="10000"/>
+      <parameter name="k2"/>
+      <parameter name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="k2 + -0.9"/>
+      <parameterRule formula="-1 * k1 * p1 * p2 + k2 * p3 + k3 * p3" type="rate" name="p1"/>
+      <parameterRule formula="k2 * p3 + -1 * k1 * p1 * p2" type="rate" name="p2"/>
+      <parameterRule formula="k1 * p1 * p2 + -1 * k2 * p3 + -1 * k3 * p3" type="rate" name="p3"/>
+      <parameterRule formula="k3 * p3" type="rate" name="p4"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00575/00575-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00575/00575-sbml-l2v4.xml
new file mode 100644
index 0000000..ff37512
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00575/00575-sbml-l2v4.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00575" id="case00575" name="case00575">
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="0.0002" constant="false"/>
+      <parameter id="p2" name="p2" value="0.0002" constant="false"/>
+      <parameter id="p3" name="p3" value="0" constant="false"/>
+      <parameter id="p4" name="p4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="10000"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> p3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="p3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> p3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule5" variable="p4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> p3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00575/00575-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00575/00575-sbml-l3v1.xml
new file mode 100644
index 0000000..50d9c58
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00575/00575-sbml-l3v1.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00575" id="case00575" name="case00575" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="0.0002" constant="false"/>
+      <parameter id="p2" name="p2" value="0.0002" constant="false"/>
+      <parameter id="p3" name="p3" value="0" constant="false"/>
+      <parameter id="p4" name="p4" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="10000" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> p3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="p3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k3 </ci>
+              <ci> p3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule5" variable="p4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> p3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00575/00575-settings.txt b/models/sbml-test-suite/cases/semantic/00575/00575-settings.txt
new file mode 100644
index 0000000..eed4877
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00575/00575-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: p1, p2, p3, p4
+absolute: 1.000000e-007
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00576/00576-results.csv b/models/sbml-test-suite/cases/semantic/00576/00576-results.csv
new file mode 100644
index 0000000..8b21291
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00576/00576-results.csv
@@ -0,0 +1,52 @@
+time,p1,p2,p3,p4
+0,0.001,0.002,0.001,0.001000000015693013
+0.2,0.001048448791265343,0.002048448791265343,0.0009515512087346568,0.001048448791265343
+0.4,0.001094537539832493,0.002094537539832493,0.0009054624601675069,0.001094537539832493
+0.6,0.001138355885131513,0.002138355885131514,0.0008616441148684862,0.001138355885131513
+0.8,0.001180012468880295,0.002180012468880296,0.000819987531119704,0.001180012468880295
+1.,0.001219615622368679,0.002219615622368679,0.0007803843776313209,0.001219615622368678
+1.2,0.001257268005151136,0.002257268005151137,0.0007427319948488631,0.001257268005151136
+1.4,0.001293064255035911,0.002293064255035911,0.000706935744964089,0.001293064255035912
+1.6,0.00132709637710543,0.00232709637710543,0.0006729036228945696,0.001327096377105431
+1.8,0.001359450783924763,0.002359450783924763,0.0006405492160752363,0.001359450783924762
+2.,0.001390210123084475,0.002390210123084475,0.0006097898769155245,0.001390210123084474
+2.2,0.00141945409560228,0.00241945409560228,0.0005805459043977194,0.00141945409560228
+2.4,0.001447257107245731,0.002447257107245731,0.0005527428927542681,0.001447257107245733
+2.6,0.001473688407091134,0.002473688407091134,0.0005263115929088657,0.001473688407091135
+2.8,0.00149881643632838,0.00249881643632838,0.00050118356367162,0.001498816436328377
+3.,0.001522704768389285,0.002522704768389285,0.0004772952316107148,0.001522704768389285
+3.2,0.001545414262639754,0.002545414262639755,0.0004545857373602451,0.001545414262639755
+3.4,0.001567002883249157,0.002567002883249157,0.0004329971167508427,0.001567002883249157
+3.6,0.001587526432965545,0.002587526432965545,0.0004124735670344548,0.001587526432965544
+3.8,0.00160703646732432,0.00260703646732432,0.0003929635326756794,0.00160703646732432
+4.,0.001625583324861436,0.002625583324861436,0.0003744166751385637,0.001625583324861436
+4.2,0.00164321470127098,0.00264321470127098,0.0003567852987290198,0.00164321470127098
+4.4,0.001659974702072539,0.002659974702072539,0.0003400252979274606,0.001659974702072538
+4.6,0.001675907610298746,0.002675907610298746,0.0003240923897012534,0.001675907610298746
+4.8,0.001691052786913101,0.002691052786913101,0.0003089472130868989,0.001691052786913101
+5.,0.001705450197156599,0.002705450197156599,0.0002945498028434003,0.0017054501971566
+5.2,0.00171913623024701,0.002719136230247009,0.0002808637697529898,0.00171913623024701
+5.4,0.001732145872903822,0.002732145872903821,0.0002678541270961778,0.001732145872903821
+5.6,0.001744513075301989,0.002744513075301988,0.0002554869246980109,0.001744513075301988
+5.8,0.001756268756420575,0.002756268756420575,0.0002437312435794242,0.001756268756420577
+6.,0.001767444020102604,0.002767444020102603,0.0002325559798973961,0.001767444020102604
+6.2,0.001778066644699477,0.002778066644699477,0.0002219333553005227,0.001778066644699476
+6.4,0.001788164406019186,0.002788164406019185,0.000211835593980814,0.001788164406019183
+6.6,0.00179776312612713,0.00279776312612713,0.0002022368738728694,0.001797763126127129
+6.8,0.001806887356183332,0.002806887356183332,0.0001931126438166678,0.001806887356183333
+7.,0.001815560495942313,0.002815560495942313,0.0001844395040576865,0.001815560495942314
+7.2,0.001823804942549759,0.002823804942549758,0.0001761950574502409,0.001823804942549758
+7.4,0.001831642090650258,0.002831642090650257,0.0001683579093497419,0.001831642090650259
+7.6,0.001839091190141209,0.002839091190141209,0.000160908809858791,0.001839091190141215
+7.8,0.001846171242915297,0.002846171242915297,0.0001538287570847022,0.001846171242915305
+8.,0.00185290125086521,0.00285290125086521,0.0001470987491347899,0.001852901250865213
+8.2,0.001859299470737949,0.002859299470737949,0.0001407005292620505,0.001859299470737943
+8.4,0.001865380875728459,0.002865380875728458,0.0001346191242715411,0.001865380875728451
+8.6,0.001871160952209315,0.002871160952209315,0.0001288390477906842,0.001871160952209311
+8.8,0.001876655318355527,0.002876655318355527,0.0001233446816444726,0.001876655318355527
+9.,0.001881879002861172,0.002881879002861172,0.0001181209971388277,0.001881879002861173
+9.2,0.001886844055763461,0.002886844055763461,0.0001131559442365386,0.001886844055763462
+9.4,0.001891562938407776,0.002891562938407775,0.0001084370615922238,0.001891562938407776
+9.6,0.001896048260235118,0.002896048260235117,0.0001039517397648814,0.001896048260235117
+9.8,0.001900312366242099,0.002900312366242098,0.00009968763375790124,0.001900312366242096
+10.,0.001904365951692707,0.002904365951692706,0.00009563404830729326,0.001904365951692707
diff --git a/models/sbml-test-suite/cases/semantic/00576/00576-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00576/00576-sbml-l1v2.xml
new file mode 100644
index 0000000..d671821
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00576/00576-sbml-l1v2.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00576">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="p1" value="0.001"/>
+      <parameter name="p2" value="0.002"/>
+      <parameter name="p3" value="0.001"/>
+      <parameter name="p4" value="0.001"/>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="p4 + -1 * p1"/>
+      <parameterRule formula="k2 * p3 + -1 * k1 * p1 * p2" type="rate" name="p1"/>
+      <parameterRule formula="k2 * p3 + -1 * k1 * p1 * p2" type="rate" name="p2"/>
+      <parameterRule formula="k1 * p1 * p2 + -1 * k2 * p3" type="rate" name="p3"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00576/00576-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00576/00576-sbml-l2v4.xml
new file mode 100644
index 0000000..2e7cdcf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00576/00576-sbml-l2v4.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00576" id="case00576" name="case00576">
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="0.001" constant="false"/>
+      <parameter id="p2" name="p2" value="0.002" constant="false"/>
+      <parameter id="p3" name="p3" value="0.001" constant="false"/>
+      <parameter id="p4" name="p4" value="0.001" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> p4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> p1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="p3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00576/00576-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00576/00576-sbml-l3v1.xml
new file mode 100644
index 0000000..b0394aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00576/00576-sbml-l3v1.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00576" id="case00576" name="case00576" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="p1" name="p1" value="0.001" constant="false"/>
+      <parameter id="p2" name="p2" value="0.002" constant="false"/>
+      <parameter id="p3" name="p3" value="0.001" constant="false"/>
+      <parameter id="p4" name="p4" value="0.001" constant="false"/>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> p4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> p1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+      <rateRule metaid="rule2" variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule4" variable="p3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> p1 </ci>
+              <ci> p2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k2 </ci>
+              <ci> p3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00576/00576-settings.txt b/models/sbml-test-suite/cases/semantic/00576/00576-settings.txt
new file mode 100644
index 0000000..7c7ebed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00576/00576-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: p1, p2, p3, p4
+absolute: 1.000000e-006
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00577/00577-results.csv b/models/sbml-test-suite/cases/semantic/00577/00577-results.csv
new file mode 100644
index 0000000..16dc276
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00577/00577-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.2,0.1,0.201936385743609,0.09806361425639083
+0.4,0.1,0.2037509098184166,0.09624909018158321
+0.6,0.1,0.2054512413166592,0.0945487586833407
+0.8,0.1,0.2070445665908899,0.09295543340910998
+1.,0.1,0.2085376200226231,0.09146237997737669
+1.2,0.1,0.2099367115537034,0.09006328844629649
+1.4,0.1,0.2112477549507339,0.08875224504926594
+1.6,0.1,0.2124762908955812,0.08752370910441867
+1.8,0.1,0.2136275119736654,0.08637248802633451
+2.,0.1,0.2147062842575375,0.08529371574246236
+2.2,0.1,0.2157171662717833,0.08428283372821657
+2.4,0.1,0.2166644309094936,0.08333556909050622
+2.6,0.1,0.2175520817735443,0.08244791822645553
+2.8,0.1,0.2183838705100952,0.08161612948990465
+3.,0.1,0.2191633126648693,0.08083668733513056
+3.2,0.1,0.2198937025414918,0.08010629745850801
+3.4,0.1,0.2205781271247796,0.0794218728752202
+3.6,0.1,0.2212194791278197,0.07878052087218009
+3.8,0.1,0.2218204707328402,0.07817952926715957
+4.,0.1,0.2223836371381035,0.07761636286189632
+4.2,0.1,0.2229113655496425,0.07708863445035732
+4.4,0.1,0.2234058806240767,0.07659411937592305
+4.6,0.1,0.2238692737791543,0.0761307262208455
+4.8,0.1,0.2243035070757734,0.07569649292422639
+5.,0.1,0.2247104108435499,0.07528958915644989
+5.2,0.1,0.2250917071665202,0.07490829283347959
+5.4,0.1,0.2254490092963944,0.0745509907036054
+5.6,0.1,0.2257838235512699,0.07421617644872989
+5.8,0.1,0.2260975677416859,0.07390243225831391
+6.,0.1,0.2263915681673445,0.07360843183265522
+6.2,0.1,0.2266670647703316,0.07333293522966817
+6.4,0.1,0.2269252246718254,0.07307477532817435
+6.6,0.1,0.2271671382340222,0.07283286176597754
+6.8,0.1,0.2273938263025278,0.07260617369747195
+7.,0.1,0.2276062494529576,0.07239375054704219
+7.2,0.1,0.2278053041400588,0.07219469585994096
+7.4,0.1,0.2279918309260763,0.0720081690739234
+7.6,0.1,0.2281666202153501,0.07183337978464959
+7.8,0.1,0.228330409152524,0.07166959084747576
+8.,0.1,0.2284838899011598,0.07151611009883986
+8.2,0.1,0.2286277126704185,0.07137228732958116
+8.4,0.1,0.2287624837527519,0.07123751624724779
+8.6,0.1,0.2288887731181658,0.07111122688183396
+8.8,0.1,0.2290071154972393,0.07099288450276039
+9.,0.1,0.2291180097123373,0.07088199028766241
+9.2,0.1,0.2292219250809548,0.07077807491904492
+9.4,0.1,0.2293193012717238,0.07068069872827592
+9.6,0.1,0.2294105487297166,0.07058945127028308
+9.8,0.1,0.2294960539965357,0.070503946003464
+10.,0.1,0.2295761782205253,0.07042382177947442
diff --git a/models/sbml-test-suite/cases/semantic/00577/00577-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00577/00577-sbml-l2v4.xml
new file mode 100644
index 0000000..1bf8646
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00577/00577-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00577" id="case00577" name="case00577">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00577/00577-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00577/00577-sbml-l3v1.xml
new file mode 100644
index 0000000..d9bb134
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00577/00577-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00577" id="case00577" name="case00577" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00577/00577-settings.txt b/models/sbml-test-suite/cases/semantic/00577/00577-settings.txt
new file mode 100644
index 0000000..924164b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00577/00577-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00578/00578-results.csv b/models/sbml-test-suite/cases/semantic/00578/00578-results.csv
new file mode 100644
index 0000000..ddbb60a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00578/00578-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.3,0.01,0.02,0.009320788771367084
+0.6,0.01,0.02,0.008690654975615523
+0.9,0.01,0.02,0.008106052456152201
+1.2,0.01,0.02,0.007563691254069384
+1.5,0.01,0.02,0.007060519214787754
+1.8,0.01,0.02,0.006593704624372991
+2.1,0.01,0.02,0.006160620390037647
+2.4,0.01,0.02,0.00575882927233176
+2.7,0.01,0.02,0.005386070351867364
+3.,0.01,0.02,0.005040245514301492
+3.3,0.01,0.02,0.004719408883890281
+3.6,0.01,0.02,0.004421754776123504
+3.9,0.01,0.02,0.004145608050426875
+4.2,0.01,0.02,0.003889413986454924
+4.5,0.01,0.02,0.00365173319300314
+4.8,0.01,0.02,0.003431225590611454
+5.1,0.01,0.02,0.003226651100185724
+5.4,0.01,0.02,0.003036858449186773
+5.7,0.01,0.02,0.002860779552490312
+6.,0.01,0.02,0.002697423497616759
+6.3,0.01,0.02,0.002545870982875732
+6.6,0.01,0.02,0.002405269128501461
+6.9,0.01,0.02,0.002274826676468702
+7.2,0.01,0.02,0.002153809539320241
+7.5,0.01,0.02,0.002041536645611831
+7.8,0.01,0.02,0.001937376230394197
+8.1,0.01,0.02,0.001840742114298512
+8.4,0.01,0.02,0.001751090421445149
+8.7,0.01,0.02,0.001667916615709519
+9.,0.01,0.02,0.001590752626347438
+9.3,0.01,0.02,0.001519164296607566
+9.6,0.01,0.02,0.001452748690129704
+9.9,0.01,0.02,0.001391132043935189
+10.2,0.01,0.02,0.001333967601858515
+10.5,0.01,0.02,0.001280933663128489
+10.8,0.01,0.02,0.00123173177195324
+11.1,0.01,0.02,0.001186085037918203
+11.4,0.01,0.02,0.001143736577747039
+11.7,0.01,0.02,0.001104448069655547
+12.,0.01,0.02,0.001067998398151924
+12.3,0.01,0.02,0.001034182491718434
+12.6,0.01,0.02,0.00100280999252179
+12.9,0.01,0.02,0.000973704334914377
+13.2,0.01,0.02,0.0009467017412225276
+13.5,0.01,0.02,0.0009216502673618032
+13.8,0.01,0.02,0.0008984089383777024
+14.1,0.01,0.02,0.0008768469584804769
+14.4,0.01,0.02,0.0008568429790904519
+14.7,0.01,0.02,0.0008382844084783789
+15.,0.01,0.02,0.0008210668110467283
diff --git a/models/sbml-test-suite/cases/semantic/00578/00578-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00578/00578-sbml-l2v4.xml
new file mode 100644
index 0000000..2b5e364
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00578/00578-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00578" id="case00578" name="case00578">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00578/00578-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00578/00578-sbml-l3v1.xml
new file mode 100644
index 0000000..32f4c79
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00578/00578-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00578" id="case00578" name="case00578" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00578/00578-settings.txt b/models/sbml-test-suite/cases/semantic/00578/00578-settings.txt
new file mode 100644
index 0000000..8bef3de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00578/00578-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00579/00579-results.csv b/models/sbml-test-suite/cases/semantic/00579/00579-results.csv
new file mode 100644
index 0000000..e0ce8ed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00579/00579-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.1,0.0001,0.0002,0.0001
+0.2,0.0001,0.0002,0.0001
+0.3,0.0001,0.0002,0.0001
+0.4,0.0001,0.0002,0.0001
+0.5,0.0001,0.0002,0.0001
+0.6,0.0001,0.0002,0.0001
+0.7,0.0001,0.0002,0.0001
+0.8,0.0001,0.0002,0.0001
+0.9,0.0001,0.0002,0.0001
+1.,0.0001,0.0002,0.0001
+1.1,0.0001,0.0002,0.0001
+1.2,0.0001,0.0002,0.0001
+1.3,0.0001,0.0002,0.0001
+1.4,0.0001,0.0002,0.0001
+1.5,0.0001,0.0002,0.0001
+1.6,0.0001,0.0002,0.0001
+1.7,0.0001,0.0002,0.0001
+1.8,0.0001,0.0002,0.0001
+1.9,0.0001,0.0002,0.0001
+2.,0.0001,0.0002,0.0001
+2.1,0.0001,0.0002,0.0001
+2.2,0.0001,0.0002,0.0001
+2.3,0.0001,0.0002,0.0001
+2.4,0.0001,0.0002,0.0001
+2.5,0.0001,0.0002,0.0001
+2.6,0.0001,0.0002,0.0001
+2.7,0.0001,0.0002,0.0001
+2.8,0.0001,0.0002,0.0001
+2.9,0.0001,0.0002,0.0001
+3.,0.0001,0.0002,0.0001
+3.1,0.0001,0.0002,0.0001
+3.2,0.0001,0.0002,0.0001
+3.3,0.0001,0.0002,0.0001
+3.4,0.0001,0.0002,0.0001
+3.5,0.0001,0.0002,0.0001
+3.6,0.0001,0.0002,0.0001
+3.7,0.0001,0.0002,0.0001
+3.8,0.0001,0.0002,0.0001
+3.9,0.0001,0.0002,0.0001
+4.,0.0001,0.0002,0.0001
+4.1,0.0001,0.0002,0.0001
+4.2,0.0001,0.0002,0.0001
+4.3,0.0001,0.0002,0.0001
+4.4,0.0001,0.0002,0.0001
+4.5,0.0001,0.0002,0.0001
+4.6,0.0001,0.0002,0.0001
+4.7,0.0001,0.0002,0.0001
+4.8,0.0001,0.0002,0.0001
+4.9,0.0001,0.0002,0.0001
+5.,0.0001,0.0002,0.0001
diff --git a/models/sbml-test-suite/cases/semantic/00579/00579-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00579/00579-sbml-l2v4.xml
new file mode 100644
index 0000000..98d8a83
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00579/00579-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00579" id="case00579" name="case00579">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0002" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0001" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00579/00579-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00579/00579-sbml-l3v1.xml
new file mode 100644
index 0000000..c7e7459
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00579/00579-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00579" id="case00579" name="case00579" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00579/00579-settings.txt b/models/sbml-test-suite/cases/semantic/00579/00579-settings.txt
new file mode 100644
index 0000000..c5bdebf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00579/00579-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00580/00580-results.csv b/models/sbml-test-suite/cases/semantic/00580/00580-results.csv
new file mode 100644
index 0000000..222ac54
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00580/00580-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.3,0.001143153465173527,0.002071576732586764,0.0009284232674132356
+0.6,0.001275534913790795,0.002137767456895397,0.0008622325431046017
+0.9,0.001397890528077345,0.002198945264038672,0.0008010547359613266
+1.2,0.001510921447558933,0.002255460723779466,0.0007445392762205328
+1.5,0.001615286190480629,0.002307643095240314,0.0006923569047596848
+1.8,0.001711602822648027,0.002355801411324013,0.0006441985886759854
+2.1,0.00180045092831043,0.002400225464155215,0.000599774535844784
+2.4,0.001882373510666195,0.002441186755333097,0.0005588132446669015
+2.7,0.001957878748736012,0.002478939374368007,0.0005210606256319932
+3.,0.002027441717813546,0.002513720858906773,0.0004862791410932262
+3.3,0.002091506058028955,0.002545753029014477,0.000454246970985522
+3.6,0.002150485573477519,0.002575242786738759,0.0004247572132612401
+3.9,0.002204765877178002,0.002602382938589,0.0003976170614109989
+4.2,0.002254705835116564,0.002627352917558281,0.000372647082441718
+4.5,0.002300639180490061,0.002650319590245029,0.0003496804097549695
+4.8,0.002342875901176587,0.002671437950588293,0.0003285620494117064
+5.1,0.002381703684870842,0.00269085184243542,0.000309148157564579
+5.4,0.002417389241645862,0.00270869462082293,0.0002913053791770689
+5.7,0.002450179722409858,0.002725089861204928,0.0002749101387950711
+6.,0.002480303891965296,0.002740151945982647,0.0002598480540173517
+6.3,0.002507973349758089,0.002753986674879043,0.0002460133251209552
+6.6,0.002533383689207567,0.002766691844603782,0.0002333081553962164
+6.9,0.002556715595276983,0.00277835779763849,0.0002216422023615084
+7.2,0.002578135879192384,0.00278906793959619,0.0002109320604038079
+7.5,0.002597798456407697,0.002798899228203848,0.000201100771796151
+7.8,0.002615845268690623,0.00280792263434531,0.0001920773656546883
+8.1,0.002632407157823777,0.002816203578911887,0.0001837964210881114
+8.4,0.00264760465297334,0.002823802326486669,0.0001761976735133299
+8.7,0.002661548766377568,0.002830774383188782,0.0001692256168112161
+9.,0.002674341693258979,0.002837170846629487,0.0001628291533705106
+9.3,0.002686077479922893,0.002843038739961445,0.0001569612600385532
+9.6,0.002696842644985715,0.002848421322492855,0.0001515786775071424
+9.9,0.002706716757675344,0.00285335837883767,0.000146641621162328
+10.2,0.00271577297547631,0.002857886487738152,0.0001421135122618452
+10.5,0.002724078543385755,0.002862039271692875,0.0001379607283071224
+10.8,0.002731695257017103,0.00286584762850855,0.000134152371491448
+11.1,0.002738679891740226,0.002869339945870111,0.0001306600541298866
+11.4,0.002745084599984439,0.002872542299992217,0.0001274577000077803
+11.7,0.002750957278756839,0.002875478639378417,0.0001245213606215802
+12.,0.002756341909346482,0.002878170954673239,0.0001218290453267589
+12.3,0.002761278871097105,0.002880639435548551,0.0001193605644514471
+12.6,0.002765805231039714,0.002882902615519855,0.0001170973844801426
+12.9,0.002769955011083047,0.002884977505541522,0.0001150224944584765
+13.2,0.002773759434366266,0.002886879717183132,0.0001131202828168665
+13.5,0.002777247152285273,0.002888623576142635,0.0001113764238573633
+13.8,0.002780444458076183,0.00289022222903809,0.0001097777709619081
+14.1,0.002783375462426019,0.002891687731213009,0.0001083122687869899
+14.4,0.002786062292515432,0.002893031146257715,0.0001069688537422835
+14.7,0.002788525241822665,0.002894262620911331,0.000105737379088667
+15.,0.002790782936711745,0.002895391468355871,0.0001046085316441273
diff --git a/models/sbml-test-suite/cases/semantic/00580/00580-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00580/00580-sbml-l2v4.xml
new file mode 100644
index 0000000..e9bb766
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00580/00580-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00580" id="case00580" name="case00580">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00580/00580-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00580/00580-sbml-l3v1.xml
new file mode 100644
index 0000000..1866c81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00580/00580-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00580" id="case00580" name="case00580" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00580/00580-settings.txt b/models/sbml-test-suite/cases/semantic/00580/00580-settings.txt
new file mode 100644
index 0000000..ecb132e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00580/00580-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00581/00581-results.csv b/models/sbml-test-suite/cases/semantic/00581/00581-results.csv
new file mode 100644
index 0000000..42f7a62
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00581/00581-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.1,0.2,0.1
+0.04,0.09904361887755464,0.09904361887755464,0.2009563811224454,0.1009563811224453
+0.08,0.09816922268082331,0.09816922268082331,0.2018307773191767,0.1018307773191767
+0.12,0.09736950326822671,0.09736950326822671,0.2026304967317733,0.1026304967317733
+0.16,0.09663784860058208,0.09663784860058208,0.2033621513994179,0.1033621513994179
+0.2,0.09596826953175524,0.09596826953175524,0.2040317304682448,0.1040317304682447
+0.24,0.09535533496516283,0.09535533496516283,0.2046446650348372,0.1046446650348371
+0.28,0.09479411512927003,0.09479411512927003,0.20520588487073,0.1052058848707299
+0.32,0.09428013125633562,0.09428013125633562,0.2057198687436644,0.1057198687436643
+0.36,0.09380931071395218,0.09380931071395218,0.2061906892860478,0.1061906892860478
+0.4,0.09337794741283317,0.09337794741283317,0.2066220525871669,0.1066220525871668
+0.44,0.09298266651390865,0.09298266651390865,0.2070173334860914,0.1070173334860913
+0.48,0.09262039209669897,0.09262039209669897,0.2073796079033011,0.107379607903301
+0.52,0.09228832026493263,0.09228832026493263,0.2077116797350674,0.1077116797350673
+0.56,0.09198389229215067,0.09198389229215067,0.2080161077078494,0.1080161077078493
+0.6,0.09170477306291,0.09170477306291,0.2082952269370901,0.10829522693709
+0.64,0.09144882932612903,0.09144882932612903,0.2085511706738711,0.1085511706738709
+0.68,0.09121411376330995,0.09121411376330995,0.2087858862366901,0.10878588623669
+0.72,0.09099884498346198,0.09099884498346198,0.2090011550165381,0.109001155016538
+0.76,0.09080139474308079,0.09080139474308079,0.2091986052569193,0.1091986052569192
+0.8,0.09062027381198907,0.09062027381198907,0.209379726188011,0.1093797261880109
+0.84,0.09045411968353062,0.09045411968353062,0.2095458803164695,0.1095458803164693
+0.88,0.09030168543680915,0.09030168543680915,0.2096983145631909,0.1096983145631908
+0.92,0.09016182963301012,0.09016182963301012,0.2098381703669899,0.1098381703669898
+0.96,0.09003350714134479,0.09003350714134479,0.2099664928586553,0.1099664928586552
+1.,0.08991576080224163,0.08991576080224163,0.2100842391977584,0.1100842391977583
+1.04,0.08980771385168759,0.08980771385168759,0.2101922861483125,0.1101922861483124
+1.08,0.08970856301724425,0.08970856301724425,0.2102914369827558,0.1102914369827557
+1.12,0.08961757222431548,0.08961757222431548,0.2103824277756846,0.1103824277756845
+1.16,0.08953406686874194,0.08953406686874194,0.2104659331312581,0.110465933131258
+1.2,0.08945742859437549,0.08945742859437549,0.2105425714056246,0.1105425714056245
+1.24,0.08938709052824329,0.08938709052824329,0.2106129094717567,0.1106129094717567
+1.28,0.08932253293105862,0.08932253293105862,0.2106774670689414,0.1106774670689413
+1.32,0.08926327922505944,0.08926327922505944,0.2107367207749406,0.1107367207749405
+1.36,0.08920889236491166,0.08920889236491166,0.2107911076350884,0.1107911076350883
+1.4,0.08915897148368964,0.08915897148368964,0.2108410285163104,0.1108410285163103
+1.44,0.08911314905925042,0.08911314905925042,0.2108868509407496,0.1108868509407495
+1.48,0.08907108775067366,0.08907108775067366,0.2109289122493264,0.1109289122493263
+1.52,0.08903247814468491,0.08903247814468491,0.2109675218553151,0.1109675218553151
+1.56,0.08899703644769618,0.08899703644769618,0.2110029635523039,0.1110029635523038
+1.6,0.08896450231892973,0.08896450231892973,0.2110354976810703,0.1110354976810702
+1.64,0.08893463685882854,0.08893463685882854,0.2110653631411715,0.1110653631411714
+1.68,0.08890722083706326,0.08890722083706326,0.2110927791629368,0.1110927791629367
+1.72,0.08888205306928531,0.08888205306928531,0.2111179469307147,0.1111179469307146
+1.76,0.08885894892819853,0.08885894892819853,0.2111410510718015,0.1111410510718014
+1.8,0.0888377389904448,0.0888377389904448,0.2111622610095552,0.1111622610095552
+1.84,0.08881826776809118,0.08881826776809118,0.2111817322319088,0.1111817322319088
+1.88,0.08880039272608514,0.08880039272608514,0.2111996072739149,0.1111996072739148
+1.92,0.08878398287451412,0.08878398287451412,0.2112160171254859,0.1112160171254858
+1.96,0.0887689179048602,0.0887689179048602,0.2112310820951399,0.1112310820951398
+2.,0.08875508756556495,0.08875508756556495,0.2112449124344351,0.111244912434435
diff --git a/models/sbml-test-suite/cases/semantic/00581/00581-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00581/00581-sbml-l2v4.xml
new file mode 100644
index 0000000..e92ad35
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00581/00581-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00581" id="case00581" name="case00581">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00581/00581-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00581/00581-sbml-l3v1.xml
new file mode 100644
index 0000000..3010908
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00581/00581-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00581" id="case00581" name="case00581" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00581/00581-settings.txt b/models/sbml-test-suite/cases/semantic/00581/00581-settings.txt
new file mode 100644
index 0000000..3a0ef49
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00581/00581-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00582/00582-results.csv b/models/sbml-test-suite/cases/semantic/00582/00582-results.csv
new file mode 100644
index 0000000..f990bd4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00582/00582-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.01,0.02,0.01
+0.04,0.009903410415414541,0.009903410415414541,0.02009658958458545,0.01
+0.08,0.009813299258177778,0.009813299258177778,0.02018670074182222,0.01
+0.12,0.009729186506448396,0.009729186506448396,0.0202708134935516,0.01
+0.16,0.009650633196340328,0.009650633196340328,0.02034936680365967,0.01
+0.2,0.009577237261027087,0.009577237261027087,0.02042276273897291,0.01
+0.24,0.009508629866008866,0.009508629866008866,0.02049137013399113,0.01
+0.28,0.009444472166645089,0.009444472166645089,0.02055552783335491,0.01
+0.32,0.009384452448549521,0.009384452448549521,0.02061554755145048,0.01
+0.36,0.009328283571000999,0.009328283571000999,0.020671716428999,0.01
+0.4,0.009275700759779417,0.009275700759779417,0.02072429924022058,0.01
+0.44,0.009226459520245849,0.009226459520245849,0.02077354047975416,0.01
+0.48,0.009180333831016487,0.009180333831016487,0.02081966616898351,0.01
+0.52,0.009137114622305309,0.009137114622305309,0.02086288537769469,0.01
+0.56,0.009096608249599806,0.009096608249599806,0.02090339175040019,0.01
+0.6,0.009058635167689317,0.009058635167689317,0.02094136483231069,0.01
+0.64,0.009023028842920957,0.009023028842920957,0.02097697115707904,0.01
+0.68,0.008989634620964462,0.008989634620964462,0.02101036537903554,0.01
+0.72,0.008958308790950726,0.008958308790950726,0.02104169120904927,0.01
+0.76,0.008928917712075802,0.008928917712075802,0.02107108228792419,0.01
+0.8,0.008901337023235344,0.008901337023235344,0.02109866297676465,0.01
+0.84,0.008875450924234588,0.008875450924234588,0.02112454907576541,0.01
+0.88,0.008851151521046091,0.008851151521046091,0.0211488484789539,0.01
+0.92,0.008828338228505689,0.008828338228505689,0.02117166177149431,0.01
+0.96,0.008806917224606174,0.008806917224606174,0.02119308277539382,0.01
+1.,0.008786800927312467,0.008786800927312467,0.02121319907268753,0.01
+1.04,0.008767907641496956,0.008767907641496956,0.02123209235850304,0.01
+1.08,0.008750160976876761,0.008750160976876761,0.02124983902312323,0.01
+1.12,0.008733489548549437,0.008733489548549437,0.02126651045145056,0.01
+1.16,0.008717826639115102,0.008717826639115102,0.02128217336088489,0.01
+1.2,0.008703109876079157,0.008703109876079157,0.02129689012392084,0.01
+1.24,0.008689280891324101,0.008689280891324101,0.02131071910867589,0.01
+1.28,0.008676285046458787,0.008676285046458787,0.02132371495354121,0.01
+1.32,0.008664071181505337,0.008664071181505337,0.02133592881849465,0.01
+1.36,0.008652591395515692,0.008652591395515692,0.0213474086044843,0.01
+1.4,0.008641800839371067,0.008641800839371067,0.02135819916062893,0.01
+1.44,0.008631657482283621,0.008631657482283621,0.02136834251771637,0.01
+1.48,0.008622121920755078,0.008622121920755078,0.02137787807924491,0.01
+1.52,0.00861315720970943,0.00861315720970943,0.02138684279029056,0.01
+1.56,0.008604728718489424,0.008604728718489424,0.02139527128151057,0.01
+1.6,0.008596804019279863,0.008596804019279863,0.02140319598072013,0.01
+1.64,0.008589352585961704,0.008589352585961704,0.02141064741403829,0.01
+1.68,0.008582345857499179,0.008582345857499179,0.02141765414250082,0.01
+1.72,0.008575757052527366,0.008575757052527366,0.02142424294747263,0.01
+1.76,0.008569560949231622,0.008569560949231622,0.02143043905076838,0.01
+1.8,0.00856373394166084,0.00856373394166084,0.02143626605833916,0.01
+1.84,0.008558253878900187,0.008558253878900187,0.02144174612109981,0.01
+1.88,0.008553099892729416,0.008553099892729416,0.02144690010727058,0.01
+1.92,0.00854825245223996,0.00854825245223996,0.02145174754776004,0.01
+1.96,0.008543693194772232,0.008543693194772232,0.02145630680522777,0.01
+2.,0.008539404865516537,0.008539404865516537,0.02146059513448346,0.01
diff --git a/models/sbml-test-suite/cases/semantic/00582/00582-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00582/00582-sbml-l2v4.xml
new file mode 100644
index 0000000..dcfd2b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00582/00582-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00582" id="case00582" name="case00582">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.01" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00582/00582-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00582/00582-sbml-l3v1.xml
new file mode 100644
index 0000000..25bf615
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00582/00582-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00582" id="case00582" name="case00582" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00582/00582-settings.txt b/models/sbml-test-suite/cases/semantic/00582/00582-settings.txt
new file mode 100644
index 0000000..15d5cc4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00582/00582-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00583/00583-results.csv b/models/sbml-test-suite/cases/semantic/00583/00583-results.csv
new file mode 100644
index 0000000..68cbdb6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00583/00583-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0001,0.0002,0.0001
+0.04,0.00009907264533924316,0.00009907264533924316,0.0002009273546607568,0.0001038989085120883
+0.08,0.00009828163596681252,0.00009828163596681252,0.0002017183640331875,0.0001076104460875199
+0.12,0.00009761454681474057,0.00009761454681474057,0.0002023854531852594,0.0001111551165777905
+0.16,0.00009706016030454131,0.00009706016030454131,0.0002029398396954587,0.0001145513560077881
+0.2,0.00009660833635737942,0.00009660833635737942,0.0002033916636426205,0.0001178157730298847
+0.24,0.00009624989842296919,0.00009624989842296919,0.0002037501015770308,0.0001209633571180066
+0.28,0.00009597653355731224,0.00009597653355731224,0.0002040234664426878,0.0001240076589252116
+0.32,0.00009578070446893297,0.00009578070446893297,0.0002042192955310671,0.0001269609471979276
+0.36,0.00009565557195139978,0.00009565557195139978,0.0002043444280486002,0.0001298343456312299
+0.4,0.00009559492472716061,0.00009559492472716061,0.0002044050752728394,0.0001326379551109618
+0.44,0.00009559312017403914,0.00009559312017403914,0.0002044068798259608,0.0001353809562555272
+0.48,0.00009564502802156289,0.00009564502802156289,0.0002043549719784371,0.0001380717054956728
+0.52,0.00009574598291723313,0.00009574598291723313,0.0002042540170827669,0.0001407178154887752
+0.56,0.00009589173888404045,0.00009589173888404045,0.0002041082611159596,0.0001433262313606087
+0.6,0.00009607843279501682,0.00009607843279501682,0.0002039215672049832,0.0001459032916590298
+0.64,0.00009630254729349191,0.00009630254729349191,0.0002036974527065081,0.0001484547894197062
+0.68,0.00009656087898288918,0.00009656087898288918,0.0002034391210171108,0.0001509860242363687
+0.72,0.00009685051061513937,0.00009685051061513937,0.0002031494893848607,0.0001535018475261368
+0.76,0.00009716878552996242,0.00009716878552996242,0.0002028312144700376,0.0001560067038457474
+0.8,0.00009751328296124772,0.00009751328296124772,0.0002024867170387523,0.0001585046704777448
+0.84,0.00009788179812064744,0.00009788179812064744,0.0002021182018793526,0.0001609994892820773
+0.88,0.00009827232184716622,0.00009827232184716622,0.0002017276781528337,0.0001634945989802294
+0.92,0.00009868302381098805,0.00009868302381098805,0.0002013169761890119,0.0001659931617271669
+0.96,0.00009911223641929774,0.00009911223641929774,0.0002008877635807022,0.000168498088439307
+1.,0.00009955844034668534,0.00009955844034668534,0.0002004415596533146,0.0001710120614790629
+1.04,0.0001000202513591063,0.0001000202513591063,0.0001999797486408937,0.0001735375552367198
+1.08,0.0001004964083082923,0.0001004964083082923,0.0001995035916917077,0.0001760768548221717
+1.12,0.0001009857621868425,0.0001009857621868425,0.0001990142378131575,0.0001786320730540807
+1.16,0.0001014872661458934,0.0001014872661458934,0.0001985127338541066,0.0001812051659124508
+1.2,0.0001019999663861514,0.0001019999663861514,0.0001980000336138486,0.0001837979466039646
+1.24,0.0001025229938504944,0.0001025229938504944,0.0001974770061495055,0.0001864120983602596
+1.28,0.0001030555566309193,0.0001030555566309193,0.0001969444433690807,0.0001890491861109843
+1.32,0.0001035969330439396,0.0001035969330439396,0.0001964030669560604,0.0001917106671084611
+1.36,0.0001041464653057088,0.0001041464653057088,0.0001958535346942912,0.0001943979006144852
+1.4,0.0001047035537571953,0.0001047035537571953,0.0001952964462428047,0.0001971121567294929
+1.44,0.0001052676515916663,0.0001052676515916663,0.0001947323484083337,0.0001998546244405163
+1.48,0.0001058382600408884,0.0001058382600408884,0.0001941617399591116,0.0002026264189572753
+1.52,0.0001064149239807038,0.0001064149239807038,0.0001935850760192961,0.0002054285883986885
+1.56,0.0001069972279183477,0.0001069972279183477,0.0001930027720816522,0.0002082621198890481
+1.6,0.0001075847923473763,0.0001075847923473763,0.0001924152076526236,0.0002111279450864198
+1.64,0.0001081772703442731,0.0001081772703442731,0.0001918227296557268,0.0002140269453386705
+1.68,0.0001087743446453994,0.0001087743446453994,0.0001912256553546005,0.0002169599560980193
+1.72,0.0001093757247873558,0.0001093757247873558,0.0001906242752126442,0.0002199277712388515
+1.76,0.0001099811445782673,0.0001099811445782673,0.0001900188554217326,0.0002229311468660075
+1.8,0.0001105903597962354,0.0001105903597962354,0.0001894096402037646,0.0002259708047735174
+1.84,0.0001112031460925803,0.0001112031460925803,0.0001887968539074197,0.0002290474355882703
+1.88,0.0001118192970825402,0.0001118192970825402,0.0001881807029174598,0.0002321617016253247
+1.92,0.0001124386226080503,0.0001124386226080503,0.0001875613773919496,0.0002353142394784714
+1.96,0.0001130609471551226,0.0001130609471551226,0.0001869390528448774,0.0002385056623731379
+2.,0.0001136861084390003,0.0001136861084390003,0.0001863138915609997,0.0002417365622586092
diff --git a/models/sbml-test-suite/cases/semantic/00583/00583-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00583/00583-sbml-l2v4.xml
new file mode 100644
index 0000000..7f15d6e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00583/00583-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00583" id="case00583" name="case00583">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00583/00583-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00583/00583-sbml-l3v1.xml
new file mode 100644
index 0000000..85dd6c6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00583/00583-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00583" id="case00583" name="case00583" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00583/00583-settings.txt b/models/sbml-test-suite/cases/semantic/00583/00583-settings.txt
new file mode 100644
index 0000000..398adc5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00583/00583-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00584/00584-results.csv b/models/sbml-test-suite/cases/semantic/00584/00584-results.csv
new file mode 100644
index 0000000..2f49a42
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00584/00584-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.002,0.002,0,0
+0.1,0.001691218803170566,0.001679454619116877,0.0003087811968294359,0.00001176418405368876
+0.2,0.001506975299391793,0.001466611530598919,0.0004930247006082083,0.00004036376879287416
+0.3,0.001394800147785683,0.001315676543112037,0.0006051998522143184,0.00007912360467364605
+0.4,0.001326817149669655,0.001202747896222682,0.0006731828503303461,0.0001240692534469733
+0.5,0.001287004812334813,0.001114288260059123,0.0007129951876651887,0.0001727165522756885
+0.6,0.001265637926559349,0.001042177057388266,0.0007343620734406523,0.0002234608691710814
+0.7,0.001256578893305412,0.0009813372131003111,0.0007434211066945884,0.0002752416802050992
+0.8,0.001255842864534175,0.000928496228461573,0.0007441571354658266,0.000327346636072599
+0.9,0.001260787309967966,0.0008814955214601422,0.0007392126900320356,0.0003792917885078206
+1.,0.001269631037067258,0.0008388851779395187,0.0007303689629327438,0.000430745859127736
+1.1,0.001281157631278016,0.0007996765012520605,0.0007188423687219858,0.0004814811300259519
+1.2,0.001294527158807639,0.0007631861758386512,0.0007054728411923619,0.0005313409829689855
+1.3,0.001309153882034145,0.0007289357563427021,0.0006908461179658571,0.0005802181256914396
+1.4,0.001324625453076837,0.0006965856355175534,0.0006753745469231648,0.0006280398175592806
+1.5,0.001340648792316035,0.0006658910414232352,0.0006593512076839649,0.0006747577508927989
+1.6,0.001357013455575374,0.0006366723890475229,0.0006429865444246266,0.0007203410665278497
+1.7,0.001373566631112904,0.00060879513163691,0.0006264333688870961,0.0007647714994759931
+1.8,0.00139019595963985,0.0005821559764682569,0.0006098040403601505,0.0008080399831715917
+1.9,0.001406817665141729,0.0005566734065459897,0.0005931823348582719,0.0008501442585957376
+2.,0.001423368317690599,0.0005322811385305767,0.0005766316823094024,0.0008910871791600198
+2.1,0.001439799095051315,0.0005089235957108841,0.000560200904948687,0.0009308754993404274
+2.2,0.00145607177182377,0.0004865527709779724,0.0005439282281762323,0.0009695190008457941
+2.3,0.001472155907657463,0.0004651260526187087,0.0005278440923425394,0.001007029855038751
+2.4,0.001488026870411633,0.0004446047192029171,0.0005119731295883686,0.001043422151208713
+2.5,0.001503664442114991,0.0004249529005024564,0.0004963355578850115,0.001078711541612531
+2.6,0.001519051832414325,0.0004061368634324307,0.0004809481675856771,0.001112914968981891
+2.7,0.001534174977260739,0.0003881245247414333,0.0004658250227392633,0.001146050452519302
+2.8,0.001549022037280422,0.0003708851216961548,0.0004509779627195801,0.001178136915584263
+2.9,0.001563583035827922,0.0003543889925227877,0.00043641696417208,0.001209194043305131
+3.,0.001577849594652178,0.0003386074327367011,0.0004221504053478237,0.001239242161915474
+3.1,0.00159181473753692,0.0003235126034726445,0.0004081852624630821,0.001268302134064271
+3.2,0.001605472741160729,0.0003090774750358708,0.0003945272588392725,0.001296395266124855
+3.3,0.001618819018538937,0.0002952757938155152,0.0003811809814610642,0.001323543224723418
+3.4,0.001631850024895356,0.0002820820642940755,0.0003681499751046456,0.001349767960601277
+3.5,0.001644563178803788,0.000269471540313239,0.0003554368211962139,0.001375091638490545
+3.6,0.00165695679372932,0.0002574202216025177,0.0003430432062706818,0.001399536572126798
+3.7,0.001669030016545042,0.0002459048527556865,0.0003309699834549595,0.001423125163789352
+3.8,0.001680782770902007,0.0002349029229309638,0.0003192172290979948,0.001445879847971039
+3.9,0.001692215703740181,0.0002243926648512095,0.0003077842962598201,0.001467823038888968
+4.,0.001703330134216152,0.0002143530525615869,0.0002966698657838495,0.001488977081654562
+4.1,0.001714128004339029,0.0002047637973840833,0.000285871995660972,0.001509364206954942
+4.2,0.001724611831047161,0.0001956053419087861,0.0002753881689528402,0.001529006489138371
+4.3,0.001734784659576786,0.0001868588519681265,0.0002652153404232149,0.001547925807608656
+4.4,0.001744650018092924,0.0001785062066532792,0.0002553499819070772,0.001566143811439641
+4.5,0.001754211873621993,0.0001705299865016438,0.0002457881263780087,0.001583681887120345
+4.6,0.001763474589364565,0.0001629134600275223,0.0002365254106354358,0.001600561129337039
+4.7,0.001772442883484494,0.0001556405687921493,0.0002275571165155062,0.001616802314692342
+4.8,0.001781121789474063,0.0001486959112195743,0.0002188782105259378,0.001632425878254485
+4.9,0.00178951661818867,0.0001420647253655645,0.0002104833818113304,0.001647451892823103
+5.,0.001797632921632475,0.000135732870841008,0.0002023670783675255,0.001661900050791464
diff --git a/models/sbml-test-suite/cases/semantic/00584/00584-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00584/00584-sbml-l2v4.xml
new file mode 100644
index 0000000..6681a21
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00584/00584-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00584" id="case00584" name="case00584">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.002" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000"/>
+      <parameter id="k2" name="k2" value="0.9"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00584/00584-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00584/00584-sbml-l3v1.xml
new file mode 100644
index 0000000..258f4f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00584/00584-sbml-l3v1.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00584" id="case00584" name="case00584" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.9" constant="true"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00584/00584-settings.txt b/models/sbml-test-suite/cases/semantic/00584/00584-settings.txt
new file mode 100644
index 0000000..36cb21b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00584/00584-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00585/00585-results.csv b/models/sbml-test-suite/cases/semantic/00585/00585-results.csv
new file mode 100644
index 0000000..12ce571
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00585/00585-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0,0,0
+0.1,0.09323938199059407,0.00659246160816967,0.0001626345051677689,5.521896068374037e-6
+0.2,0.08693582353987951,0.01241771392300602,0.0006046347148079816,0.00004182782230627342
+0.3,0.08105842459701721,0.01754330565920807,0.001264566425223832,0.000133703318550693
+0.4,0.07557837414555694,0.02203145406782844,0.002089925136379554,0.0003002466502348791
+0.5,0.07046880897185688,0.0259394426734776,0.003036042338642464,0.0005557060160229296
+0.6,0.06570468198150199,0.02931999030333976,0.00406511410175169,0.0009102136134063739
+0.7,0.06126263941840518,0.03222159343709233,0.005145339011866475,0.001370428132635803
+0.8,0.05712090638487918,0.03468884376539275,0.006250153828024525,0.001940096021703323
+0.9,0.05325918010064359,0.03676272271531586,0.00735755641963452,0.002620540764405824
+1.,0.04965853037907116,0.03848087457259245,0.008449506627624588,0.003411088420711613
+1.1,0.04630130683107863,0.03987785972434167,0.009511396647774601,0.00430943679680492
+1.2,0.04317105234286623,0.04098538943282469,0.01053158341208655,0.005311974812222369
+1.3,0.0402524224032778,0.04183254345477639,0.01150097622123025,0.00641405792071542
+1.4,0.0375311098851032,0.0424459717290804,0.01241267358339413,0.007610244802422085
+1.5,0.03499377491104376,0.04285008127060462,0.01326164384578696,0.008894499972564477
+1.6,0.0326279794621847,0.04306720932321977,0.01404444477627529,0.01026036643832003
+1.7,0.03042212640659787,0.04311778375885474,0.0147589777554776,0.01170111207906958
+1.8,0.02836540264996223,0.04302047163430602,0.01540427270283151,0.01320985301290001
+1.9,0.02644772612984923,0.04279231675440563,0.01598030026948269,0.01477965684626224
+2.,0.0246596963941666,0.04244886703040629,0.01648780819945465,0.01640362837597225
+2.1,0.02299254851853283,0.04200429237381941,0.01692817908909354,0.01807498001855401
+2.2,0.02143811014270379,0.04147149379484369,0.01730330707999825,0.01978708898245408
+2.3,0.01998876140733302,0.0408622043567071,0.01761549127427875,0.02153354296168093
+2.4,0.01863739760399139,0.04018708255533681,0.01786734391405385,0.02330817592661776
+2.5,0.01737739434491229,0.03945579869363298,0.01806171156741422,0.02510509539404032
+2.6,0.01620257509339515,0.03867711473498701,0.01820160776738846,0.02691870240422918
+2.7,0.01510718088370271,0.03785895813315428,0.01829015571104062,0.02874370527210219
+2.8,0.01408584209203879,0.03700849005726546,0.01833053978843344,0.03057512806226211
+2.9,0.01313355211469845,0.03613216843107812,0.01832596484298925,0.03240831461123399
+3.,0.01224564282525055,0.03523580616342924,0.01827962219048998,0.03423892882083003
+3.1,0.0114177616908845,0.03432462492085567,0.01819466153353788,0.03606295185472174
+3.2,0.01064585043776315,0.03340330476559983,0.01807416800552985,0.03787667679110694
+3.3,0.009926125155840294,0.03247602997151926,0.01792114366810407,0.03967670120453613
+3.4,0.009255057750947617,0.03154653128989453,0.0177384928618318,0.04145991809732579
+3.5,0.008629358649723929,0.03061812493313434,0.01752901088197902,0.04322350553516245
+3.6,0.008045960674953353,0.02969374851511248,0.01729537551165892,0.04496491529827499
+3.7,0.007502004008556055,0.02877599417975353,0.01704014100335563,0.04668186080833454
+3.8,0.006994822174330739,0.02786713911738019,0.0167657341437124,0.04837230456457642
+3.9,0.006521928966918791,0.02696917367114644,0.01647445208642831,0.05003444527550621
+4.,0.006081006262504427,0.02608382721388009,0.01616846167577112,0.0516667048478441
+4.1,0.005669892657940672,0.02521259195270987,0.01584980001154202,0.05326771537780718
+4.2,0.00528657287397063,0.02435674482979061,0.0155203760494096,0.0548363062468289
+4.3,0.004929167876015308,0.02351736765445866,0.01518197304690796,0.05637149142261783
+4.4,0.004595925664942625,0.02269536559945397,0.01483625169244472,0.05787245704315845
+4.5,0.004285212686810887,0.02189148419290445,0.01448475378323256,0.05933854933705184
+4.6,0.003995505826047417,0.0211063249116234,0.01412890632489674,0.06076926293743218
+4.7,0.003725384939717819,0.02034035948650272,0.01377002595145039,0.06216422962232881
+4.8,0.003473525894541024,0.0195939430204085,0.01340932357838847,0.06352320750666173
+4.9,0.003238694077302027,0.01886732600409795,0.01304790920726861,0.06484607071133112
+5.,0.003019738342355932,0.01816066532027454,0.01268679682178506,0.06613279951558419
diff --git a/models/sbml-test-suite/cases/semantic/00585/00585-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00585/00585-sbml-l2v4.xml
new file mode 100644
index 0000000..6d48da2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00585/00585-sbml-l2v4.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00585" id="case00585" name="case00585">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00585/00585-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00585/00585-sbml-l3v1.xml
new file mode 100644
index 0000000..2cc12ff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00585/00585-sbml-l3v1.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00585" id="case00585" name="case00585" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00585/00585-settings.txt b/models/sbml-test-suite/cases/semantic/00585/00585-settings.txt
new file mode 100644
index 0000000..412db49
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00585/00585-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00586/00586-results.csv b/models/sbml-test-suite/cases/semantic/00586/00586-results.csv
new file mode 100644
index 0000000..183f777
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00586/00586-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5,0
+0.05,1.391615229435626,0.1083847705643731
+0.1,1.291061963867316,0.2089380361326824
+0.15,1.197774327543802,0.3022256724561973
+0.2,1.111227330583927,0.3887726694160721
+0.25,1.030933905766507,0.4690660942334921
+0.3,0.9564422251561299,0.5435577748438694
+0.35,0.8873330403252001,0.6126669596747993
+0.4,0.82321744571092,0.6767825542890794
+0.45,0.7637346308486021,0.7362653691513972
+0.5,0.7085497915155064,0.7914502084844929
+0.55,0.6573524508570048,0.8426475491429945
+0.6,0.6098544566061524,0.8901455433938469
+0.65,0.565788505785699,0.9342114942143005
+0.7,0.5249066090417177,0.9750933909582818
+0.75,0.4869786953328713,1.013021304667128
+0.8,0.4517913174013497,1.048208682598649
+0.85,0.4191464511512623,1.080853548848737
+0.9,0.3888603850485879,1.111139614951411
+0.95,0.360762676398193,1.139237323601806
+1.,0.3346952341838271,1.165304765816172
+1.05,0.3105113289200798,1.18948867107992
+1.1,0.2880748596095394,1.21192514039046
+1.15,0.2672595661736684,1.232740433826331
+1.2,0.2479483127815722,1.252051687218427
+1.25,0.2300324255015728,1.269967574498427
+1.3,0.2134110813113424,1.286588918688657
+1.35,0.1979907411893896,1.30200925881061
+1.4,0.1836846241024087,1.316315375897591
+1.45,0.1704122189436313,1.329587781056368
+1.5,0.1580988316887293,1.34190116831127
+1.55,0.1466751652321133,1.353324834767886
+1.6,0.1360769295793713,1.363923070420628
+1.65,0.1262444820097734,1.373755517990226
+1.7,0.1171224917136198,1.38287750828638
+1.75,0.1086596251716042,1.391340374828396
+1.8,0.1008082572744071,1.399191742725593
+1.85,0.09352420355118144,1.406475796448818
+1.9,0.08676647171332983,1.41323352828667
+1.95,0.08049703112285334,1.419502968877146
+2.,0.07468059889437932,1.42531940110562
+2.05,0.0692844414326703,1.430715558567329
+2.1,0.06427819029348713,1.435721809706513
+2.15,0.05963367159115464,1.440366328408845
+2.2,0.05532474860914964,1.44467525139085
+2.25,0.0513271733205687,1.448672826679431
+2.3,0.04761844937973849,1.452381550620261
+2.35,0.04417770564357281,1.455822294356427
+2.4,0.04098557881632776,1.459014421183672
+2.45,0.03802410759436994,1.46197589240563
+2.5,0.03527661878416033,1.464723381215839
diff --git a/models/sbml-test-suite/cases/semantic/00586/00586-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00586/00586-sbml-l2v4.xml
new file mode 100644
index 0000000..8513c41
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00586/00586-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00586" id="case00586" name="case00586">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00586/00586-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00586/00586-sbml-l3v1.xml
new file mode 100644
index 0000000..35cc02a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00586/00586-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00586" id="case00586" name="case00586" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00586/00586-settings.txt b/models/sbml-test-suite/cases/semantic/00586/00586-settings.txt
new file mode 100644
index 0000000..cc65d80
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00586/00586-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00587/00587-results.csv b/models/sbml-test-suite/cases/semantic/00587/00587-results.csv
new file mode 100644
index 0000000..bb067d3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00587/00587-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.00015
+0.1,0.00008655796194328418,0.0001865579619432841,0.0001634420380567158
+0.2,0.00007561520683764484,0.0001756152068376448,0.0001743847931623551
+0.3,0.00006655823476998789,0.0001665582347699878,0.0001834417652300121
+0.4,0.00005895872246369157,0.0001589587224636915,0.0001910412775363084
+0.5,0.00005250853392109838,0.0001525085339210983,0.0001974914660789016
+0.6,0.00004698031046424665,0.0001469803104642466,0.0002030196895357533
+0.7,0.00004220261313159404,0.000142202613131594,0.000207797386868406
+0.8,0.00003804371409573591,0.0001380437140957358,0.0002119562859042641
+0.9,0.00003440071970853255,0.0001344007197085325,0.0002155992802914675
+1.,0.00003119208223102388,0.0001311920822310238,0.0002188079177689761
+1.1,0.00002835233159744955,0.0001283523315974495,0.0002216476684025504
+1.2,0.00002582829645692463,0.0001258282964569246,0.0002241717035430754
+1.3,0.00002357634203928776,0.0001235763420392877,0.0002264236579607122
+1.4,0.00002156032260116423,0.0001215603226011642,0.0002284396773988358
+1.5,0.00001975003977091298,0.0001197500397709129,0.000230249960229087
+1.6,0.00001812006751303063,0.0001181200675130306,0.0002318799324869694
+1.7,0.00001664884562556644,0.0001166488456255664,0.0002333511543744336
+1.8,0.00001531797292891512,0.0001153179729289151,0.0002346820270710849
+1.9,0.00001411164998792975,0.0001141116499879297,0.0002358883500120702
+2.,0.00001301623676622507,0.000113016236766225,0.000236983763233775
+2.1,0.00001201989745076508,0.000112019897450765,0.0002379801025492349
+2.2,0.0000111123137781994,0.0001111123137781993,0.0002388876862218006
+2.3,0.00001028445108063867,0.0001102844510806386,0.0002397155489193614
+2.4,9.528366872046139e-6,0.0001095283668720461,0.0002404716331279539
+2.5,8.837052911535423e-6,0.0001088370529115353,0.0002411629470884646
+2.6,8.204303911190639e-6,0.0001082043039111905,0.0002417956960888094
+2.7,7.624607742301006e-6,0.0001076246077423009,0.000242375392257699
+2.8,7.093053530169903e-6,0.0001070930535301698,0.0002429069464698302
+2.9,6.60525392113942e-6,0.0001066052539211393,0.0002433947460788606
+3.,6.157279136144825e-6,0.0001061572791361447,0.0002438427208638552
+3.1,5.745600960916939e-6,0.0001057456009609168,0.0002442543990390831
+3.2,5.367044584507472e-6,0.0001053670445845074,0.0002446329554154926
+3.3,5.018747096242151e-6,0.000105018747096242,0.0002449812529037579
+3.4,4.698122117852743e-6,0.0001046981221178526,0.0002453018778821473
+3.5,4.402829004092724e-6,0.0001044028290040926,0.0002455971709959073
+3.6,4.130745706125777e-6,0.0001041307457061257,0.0002458692542938742
+3.7,3.87994533431443e-6,0.0001038799453343143,0.0002461200546656856
+3.8,3.648676250601213e-6,0.0001036486762506011,0.0002463513237493988
+3.9,3.435343115512292e-6,0.0001034353431155122,0.0002465646568844876
+4.,3.238492068471203e-6,0.0001032384920684711,0.0002467615079315287
+4.1,3.056795841575494e-6,0.0001030567958415754,0.0002469432041584244
+4.2,2.889042068734723e-6,0.0001028890420687346,0.0002471109579312652
+4.3,2.734121760015273e-6,0.0001027341217600151,0.0002472658782399846
+4.4,2.591019988445606e-6,0.0001025910199884455,0.0002474089800115543
+4.5,2.45880656819365e-6,0.0001024588065681935,0.0002475411934318062
+4.6,2.336628872398866e-6,0.0001023366288723987,0.000247663371127601
+4.7,2.223704433368264e-6,0.0001022237044333681,0.0002477762955666315
+4.8,2.1193146422661e-6,0.000102119314642266,0.0002478806853577337
+4.9,2.022799453335701e-6,0.0001020227994533356,0.0002479772005466641
+5.,1.933551864281763e-6,0.0001019335518642816,0.0002480664481357181
diff --git a/models/sbml-test-suite/cases/semantic/00587/00587-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00587/00587-sbml-l2v4.xml
new file mode 100644
index 0000000..8310fe5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00587/00587-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00587" id="case00587" name="case00587">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.7" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.00015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="0.0025"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00587/00587-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00587/00587-sbml-l3v1.xml
new file mode 100644
index 0000000..38e7348
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00587/00587-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00587" id="case00587" name="case00587" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.7" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0025" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00587/00587-settings.txt b/models/sbml-test-suite/cases/semantic/00587/00587-settings.txt
new file mode 100644
index 0000000..c5bdebf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00587/00587-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00588/00588-results.csv b/models/sbml-test-suite/cases/semantic/00588/00588-results.csv
new file mode 100644
index 0000000..baf99f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00588/00588-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,1.7,2.,1.
+0.05,1.434620296497497,1.634620296497497,2.065379703502504,1.065379703502502
+0.1,1.37858941238632,1.57858941238632,2.121410587613682,1.121410587613679
+0.15,1.33043522821675,1.53043522821675,2.16956477178325,1.169564771783249
+0.2,1.288950277439924,1.488950277439924,2.211049722560077,1.211049722560075
+0.25,1.253136382048308,1.453136382048308,2.246863617951692,1.246863617951691
+0.3,1.222162666266133,1.422162666266133,2.277837333733867,1.277837333733866
+0.35,1.195333325108005,1.395333325108005,2.304666674891995,1.304666674891994
+0.4,1.172062510026294,1.372062510026295,2.327937489973705,1.327937489973705
+0.45,1.151854655341948,1.351854655341948,2.348145344658052,1.348145344658052
+0.5,1.134288800435325,1.334288800435325,2.365711199564675,1.365711199564674
+0.55,1.119006076165985,1.319006076165985,2.380993923834014,1.380993923834014
+0.6,1.105699528239198,1.305699528239199,2.394300471760801,1.394300471760801
+0.65,1.094105884913131,1.294105884913131,2.405894115086868,1.405894115086868
+0.7,1.083998773573137,1.283998773573137,2.416001226426862,1.416001226426862
+0.75,1.075183123152004,1.275183123152004,2.424816876847995,1.424816876847995
+0.8,1.067490513635384,1.267490513635384,2.432509486364615,1.432509486364615
+0.85,1.060775286382139,1.26077528638214,2.43922471361786,1.43922471361786
+0.9,1.054911286526557,1.254911286526557,2.445088713473443,1.445088713473442
+0.95,1.04978910659803,1.24978910659803,2.45021089340197,1.450210893401969
+1.,1.045313754155303,1.245313754155304,2.454686245844696,1.454686245844696
+1.05,1.04140266919386,1.24140266919386,2.45859733080614,1.45859733080614
+1.1,1.037984038321324,1.237984038321324,2.462015961678675,1.462015961678675
+1.15,1.034995339094097,1.234995339094097,2.465004660905902,1.465004660905902
+1.2,1.032382117297969,1.23238211729797,2.46761788270203,1.46761788270203
+1.25,1.030096893493467,1.230096893493467,2.469903106506532,1.469903106506532
+1.3,1.028098278099032,1.228098278099032,2.471901721900967,1.471901721900967
+1.35,1.026350142777207,1.226350142777207,2.473649857222792,1.473649857222792
+1.4,1.024820967782143,1.224820967782143,2.475179032217856,1.475179032217856
+1.45,1.023483218913283,1.223483218913284,2.476516781086716,1.476516781086716
+1.5,1.022312859425593,1.222312859425593,2.477687140574406,1.477687140574406
+1.55,1.021288883659216,1.221288883659217,2.478711116340783,1.478711116340783
+1.6,1.020392932691973,1.220392932691973,2.479607067308028,1.479607067308027
+1.65,1.019608968775066,1.219608968775067,2.480391031224934,1.480391031224933
+1.7,1.018922966433691,1.218922966433692,2.481077033566309,1.481077033566308
+1.75,1.01832266193788,1.218322661937881,2.48167733806212,1.481677338062119
+1.8,1.017797336541686,1.217797336541686,2.482202663458315,1.482202663458313
+1.85,1.017337612140718,1.217337612140718,2.482662387859282,1.482662387859281
+1.9,1.01693528624163,1.21693528624163,2.48306471375837,1.483064713758369
+1.95,1.016583187089081,1.216583187089081,2.483416812910919,1.483416812910918
+2.,1.016275038149054,1.216275038149055,2.483724961850945,1.483724961850945
+2.05,1.016005348554263,1.216005348554264,2.483994651445736,1.483994651445736
+2.1,1.01576931627377,1.21576931627377,2.48423068372623,1.48423068372623
+2.15,1.015562737898887,1.215562737898887,2.484437262101113,1.484437262101112
+2.2,1.015381935813221,1.215381935813221,2.484618064186779,1.484618064186778
+2.25,1.015223692364814,1.215223692364814,2.484776307635186,1.484776307635185
+2.3,1.015085192044393,1.215085192044393,2.484914807955607,1.484914807955606
+2.35,1.014963970854179,1.214963970854179,2.485036029145821,1.48503602914582
+2.4,1.014857872399207,1.214857872399207,2.485142127600793,1.485142127600792
+2.45,1.014765009471224,1.214765009471224,2.485234990528776,1.485234990528775
+2.5,1.014683730480055,1.214683730480056,2.485316269519945,1.485316269519944
diff --git a/models/sbml-test-suite/cases/semantic/00588/00588-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00588/00588-sbml-l2v4.xml
new file mode 100644
index 0000000..93e7cfd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00588/00588-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00588" id="case00588" name="case00588">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.7" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00588/00588-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00588/00588-sbml-l3v1.xml
new file mode 100644
index 0000000..e8a120b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00588/00588-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00588" id="case00588" name="case00588" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.7" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00588/00588-settings.txt b/models/sbml-test-suite/cases/semantic/00588/00588-settings.txt
new file mode 100644
index 0000000..0bc38d6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00588/00588-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00589/00589-results.csv b/models/sbml-test-suite/cases/semantic/00589/00589-results.csv
new file mode 100644
index 0000000..077daf8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00589/00589-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.01499999999999999,0
+0.1,0.01357256127033397,0.001427438729666023
+0.2,0.01228096129100411,0.002719038708995884
+0.3,0.01111227330359033,0.003887726696409658
+0.4,0.01005480057054202,0.004945199429457969
+0.5,0.009097959801389584,0.00590204019861041
+0.6,0.008232174498496273,0.00676782550150372
+0.7,0.007448779553823956,0.007551220446176037
+0.8,0.006739934215385759,0.008260065784614235
+0.9,0.006098544771064459,0.008901455228935534
+1.,0.005518191315175401,0.009481808684824592
+1.1,0.004993066242811124,0.01000693375718887
+1.2,0.004517912903924455,0.01048208709607554
+1.3,0.004087976878755582,0.01091202312124441
+1.4,0.003698954265071974,0.01130104573492802
+1.5,0.003346952081712421,0.01165304791828757
+1.6,0.003028447702965832,0.01197155229703416
+1.7,0.002740252827903471,0.01225974717209652
+1.8,0.002479483117207911,0.01252051688279208
+1.9,0.002243529011222396,0.01275647098877759
+2.,0.00203002907001679,0.0129699709299832
+2.1,0.001836846396810475,0.01316315360318952
+2.2,0.001662047344228168,0.01333795265577182
+2.3,0.001503882518640432,0.01349611748135956
+2.4,0.001360769131556771,0.01363923086844322
+2.5,0.001231274881496236,0.01376872511850376
+2.6,0.00111410366379587,0.01388589633620412
+2.7,0.001008082664356536,0.01399191733564346
+2.8,0.0009121508493851816,0.01408784915061481
+2.9,0.0008253482002429309,0.01417465179975706
+3.,0.0007468059728554316,0.01425319402714456
+3.1,0.0006757380333962868,0.0143242619666037
+3.2,0.0006114330382788998,0.01438856696172109
+3.3,0.0005532474527664752,0.01444675254723351
+3.4,0.0005005989896794293,0.01449940101032056
+3.5,0.0004529607236026351,0.01454703927639735
+3.6,0.0004098558363866104,0.01459014416361338
+3.7,0.0003708528807586986,0.01462914711924129
+3.8,0.000335561540589286,0.0146644384594107
+3.9,0.0003036286365921482,0.01469637136340784
+4.,0.0002747345691026944,0.0147252654308973
+4.1,0.0002485901310181353,0.01475140986898185
+4.2,0.0002249336403524908,0.0147750663596475
+4.3,0.0002035283616249049,0.01479647163837508
+4.4,0.0001841600781455433,0.01481583992185444
+4.5,0.0001666349410051638,0.01483336505899483
+4.6,0.0001507775359400847,0.01484922246405991
+4.7,0.0001364291480123777,0.01486357085198761
+4.8,0.0001234461909945071,0.01487655380900548
+4.9,0.0001116987387727886,0.0148883012612272
+5.,0.000101069204986923,0.01489893079501307
diff --git a/models/sbml-test-suite/cases/semantic/00589/00589-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00589/00589-sbml-l2v4.xml
new file mode 100644
index 0000000..81748b9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00589/00589-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00589" id="case00589" name="case00589">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00589/00589-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00589/00589-sbml-l3v1.xml
new file mode 100644
index 0000000..35b3739
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00589/00589-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00589" id="case00589" name="case00589" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00589/00589-settings.txt b/models/sbml-test-suite/cases/semantic/00589/00589-settings.txt
new file mode 100644
index 0000000..3eb9461
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00589/00589-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00590/00590-results.csv b/models/sbml-test-suite/cases/semantic/00590/00590-results.csv
new file mode 100644
index 0000000..534df1c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00590/00590-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.4,0.0001095101185704268,0.0002095101185704269,0.00009048988142957316
+0.8,0.0001181144069599281,0.0002181144069599282,0.00008188559304007183
+1.2,0.0001258991045544968,0.0002258991045544968,0.0000741008954455032
+1.6,0.0001329422472699064,0.0002329422472699064,0.00006705775273009363
+2.,0.0001393144472761547,0.0002393144472761548,0.00006068555272384526
+2.4,0.0001450795984151714,0.0002450795984151715,0.00005492040158482855
+2.8,0.0001502955121232816,0.0002502955121232817,0.00004970448787671837
+3.2,0.0001550144989238427,0.0002550144989238427,0.00004498550107615731
+3.6,0.0001592838895931068,0.0002592838895931068,0.00004071611040689317
+4.,0.0001631465105444803,0.0002631465105444803,0.00003685348945551974
+4.4,0.0001666411046561742,0.0002666411046561745,0.00003335889534382568
+4.8,0.0001698027350358279,0.0002698027350358282,0.00003019726496417199
+5.2,0.0001726631193237813,0.0002726631193237816,0.0000273368806762186
+5.6,0.0001752509564151416,0.0002752509564151418,0.00002474904358485839
+6.,0.0001775922118992758,0.000277592211899276,0.0000224077881007242
+6.4,0.0001797103780663186,0.0002797103780663189,0.00002028962193368134
+6.8,0.0001816267100701786,0.0002816267100701788,0.00001837328992982138
+7.2,0.0001833604383162523,0.0002833604383162526,0.0000166395616837476
+7.6,0.0001849289608100614,0.0002849289608100616,0.0000150710391899386
+8.,0.0001863480182435769,0.0002863480182435771,0.00001365198175642305
+8.4,0.0001876318525082696,0.0002876318525082699,0.00001236814749173031
+8.8,0.0001887933490866441,0.0002887933490866443,0.00001120665091335583
+9.2,0.0001898441626961193,0.0002898441626961196,0.00001015583730388064
+9.6,0.0001907948424799535,0.0002907948424799538,9.20515752004643e-6
+10.,0.000191654928308744,0.0002916549283087443,8.345071691255907e-6
+10.4,0.0001924330531584597,0.0002924330531584598,7.566946841540313e-6
+10.8,0.0001931370278747662,0.0002931370278747665,6.862972125233738e-6
+11.2,0.0001937739168704251,0.0002937739168704254,6.226083129574812e-6
+11.6,0.0001943501142494414,0.0002943501142494416,5.649885750558534e-6
+12.,0.0001948714027090762,0.0002948714027090764,5.128597290923749e-6
+12.4,0.000195343014303889,0.0002953430143038892,4.656985696110964e-6
+12.8,0.0001957696832021258,0.0002957696832021261,4.230316797874113e-6
+13.2,0.0001961556926907649,0.0002961556926907652,3.844307309234976e-6
+13.6,0.0001965049170114392,0.0002965049170114395,3.495082988560712e-6
+14.,0.0001968208612513208,0.0002968208612513211,3.179138748679095e-6
+14.4,0.0001971066969301388,0.000297106696930139,2.893303069861129e-6
+14.8,0.0001973652936202133,0.0002973652936202136,2.634706379786535e-6
+15.2,0.0001975992470092075,0.0002975992470092078,2.400752990792365e-6
+15.6,0.0001978109052016946,0.0002978109052016948,2.189094798305286e-6
+16.,0.0001980023928351154,0.0002980023928351156,1.997607164884541e-6
+16.4,0.0001981756323031491,0.0002981756323031494,1.824367696850767e-6
+16.8,0.0001983323626750603,0.0002983323626750606,1.667637324939605e-6
+17.2,0.0001984741569924392,0.0002984741569924395,1.525843007560685e-6
+17.6,0.0001986024385593296,0.0002986024385593299,1.397561440670295e-6
+18.,0.0001987184952063118,0.0002987184952063121,1.281504793688099e-6
+18.4,0.0001988234920553257,0.0002988234920553259,1.176507944674233e-6
+18.8,0.0001989184829449158,0.0002989184829449161,1.081517055084097e-6
+19.2,0.0001990044213453334,0.0002990044213453337,9.95578654666521e-7
+19.6,0.0001990821699792793,0.0002990821699792796,9.178300207205713e-7
+20.,0.0001991525093891402,0.0002991525093891405,8.474906108597139e-7
diff --git a/models/sbml-test-suite/cases/semantic/00590/00590-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00590/00590-sbml-l2v4.xml
new file mode 100644
index 0000000..e9263a6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00590/00590-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00590" id="case00590" name="case00590">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00590/00590-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00590/00590-sbml-l3v1.xml
new file mode 100644
index 0000000..e4ad80b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00590/00590-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00590" id="case00590" name="case00590" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00590/00590-settings.txt b/models/sbml-test-suite/cases/semantic/00590/00590-settings.txt
new file mode 100644
index 0000000..a419658
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00590/00590-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00591/00591-results.csv b/models/sbml-test-suite/cases/semantic/00591/00591-results.csv
new file mode 100644
index 0000000..acde186
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00591/00591-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.001,0.002,0.001
+0.04,0.0009904361887755229,0.0009904361887755229,0.002009563811224475,0.001009563811224477
+0.08,0.0009816922268084792,0.0009816922268084792,0.002018307773191519,0.00101830777319152
+0.12,0.0009736950326823787,0.0009736950326823787,0.002026304967317621,0.001026304967317621
+0.16,0.0009663784860056746,0.0009663784860056746,0.002033621513994326,0.001033621513994325
+0.2,0.000959682695316023,0.000959682695316023,0.002040317304683977,0.001040317304683977
+0.24,0.0009535533496523852,0.0009535533496523852,0.002046446650347614,0.001046446650347614
+0.28,0.0009479411512938344,0.0009479411512938344,0.002052058848706165,0.001052058848706165
+0.32,0.0009428013125628494,0.0009428013125628494,0.00205719868743715,0.00105719868743715
+0.36,0.0009380931071360966,0.0009380931071360966,0.002061906892863903,0.001061906892863902
+0.4,0.0009337794741291741,0.0009337794741291741,0.002066220525870826,0.001066220525870825
+0.44,0.0009298266651361023,0.0009298266651361023,0.002070173334863898,0.001070173334863896
+0.48,0.0009262039209702034,0.0009262039209702034,0.002073796079029797,0.001073796079029795
+0.52,0.0009228832026443135,0.0009228832026443135,0.002077116797355687,0.001077116797355685
+0.56,0.0009198389229262772,0.0009198389229262772,0.002080161077073723,0.001080161077073722
+0.6,0.0009170477306240691,0.0009170477306240691,0.002082952269375931,0.00108295226937593
+0.64,0.0009144882933241471,0.0009144882933241471,0.002085511706675853,0.001085511706675851
+0.68,0.0009121411376558297,0.0009121411376558297,0.002087858862344171,0.001087858862344169
+0.72,0.000909988449802363,0.000909988449802363,0.002090011550197637,0.001090011550197635
+0.76,0.000908013947340677,0.000908013947340677,0.002091986052659323,0.001091986052659321
+0.8,0.0009062027379803871,0.0009062027379803871,0.002093797262019613,0.001093797262019611
+0.84,0.00090454119666515,0.00090454119666515,0.00209545880333485,0.001095458803334849
+0.88,0.0009030168541947222,0.0009030168541947222,0.002096983145805278,0.001096983145805276
+0.92,0.0009016182961880083,0.0009016182961880083,0.002098381703811992,0.00109838170381199
+0.96,0.0009003350713424621,0.0009003350713424621,0.002099664928657539,0.001099664928657536
+1.,0.0008991576080635708,0.0008991576080635708,0.00210084239193643,0.001100842391936427
+1.04,0.0008980771386575066,0.0008980771386575066,0.002101922861342493,0.001101922861342492
+1.08,0.0008970856303750069,0.0008970856303750069,0.002102914369624993,0.001102914369624991
+1.12,0.0008961757224734882,0.0008961757224734882,0.002103824277526512,0.00110382427752651
+1.16,0.0008953406689164133,0.0008953406689164133,0.002104659331083587,0.001104659331083585
+1.2,0.0008945742861482473,0.0008945742861482473,0.002105425713851753,0.001105425713851751
+1.24,0.0008938709054455221,0.0008938709054455221,0.002106129094554478,0.001106129094554476
+1.28,0.0008932253294215319,0.0008932253294215319,0.002106774670578468,0.001106774670578467
+1.32,0.0008926327923044362,0.0008926327923044362,0.002107367207695564,0.001107367207695562
+1.36,0.000892088923646107,0.000892088923646107,0.002107911076353893,0.001107911076353892
+1.4,0.0008915897146983109,0.0008915897146983109,0.00210841028530169,0.001108410285301688
+1.44,0.0008911314903672444,0.0008911314903672444,0.002108868509632756,0.001108868509632754
+1.48,0.0008907108773667039,0.0008907108773667039,0.002109289122633297,0.001109289122633295
+1.52,0.0008903247815592112,0.0008903247815592112,0.002109675218440789,0.001109675218440787
+1.56,0.0008899703646647713,0.0008899703646647713,0.002110029635335229,0.001110029635335227
+1.6,0.0008896450232985431,0.0008896450232985431,0.002110354976701458,0.001110354976701456
+1.64,0.0008893463685713094,0.0008893463685713094,0.002110653631428691,0.001110653631428689
+1.68,0.0008890722082562891,0.0008890722082562891,0.002110927791743711,0.001110927791743709
+1.72,0.0008888205305625762,0.0008888205305625762,0.002111179469437424,0.001111179469437422
+1.76,0.000888589489250802,0.000888589489250802,0.002111410510749199,0.001111410510749197
+1.8,0.0008883773900059237,0.0008883773900059237,0.002111622609994077,0.001111622609994075
+1.84,0.0008881826777860106,0.0008881826777860106,0.00211181732221399,0.001111817322213988
+1.88,0.0008880039271706632,0.0008880039271706632,0.002111996072829338,0.001111996072829335
+1.92,0.0008878398286727463,0.0008878398286727463,0.002112160171327255,0.001112160171327252
+1.96,0.0008876891790271239,0.0008876891790271239,0.002112310820972877,0.001112310820972875
+2.,0.0008875508756556579,0.0008875508756556579,0.002112449124344343,0.001112449124344341
diff --git a/models/sbml-test-suite/cases/semantic/00591/00591-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00591/00591-sbml-l2v4.xml
new file mode 100644
index 0000000..6360c45
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00591/00591-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00591" id="case00591" name="case00591">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00591/00591-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00591/00591-sbml-l3v1.xml
new file mode 100644
index 0000000..a7805b0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00591/00591-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00591" id="case00591" name="case00591" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="2" size="1" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00591/00591-settings.txt b/models/sbml-test-suite/cases/semantic/00591/00591-settings.txt
new file mode 100644
index 0000000..8a5d2b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00591/00591-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00592/00592-results.csv b/models/sbml-test-suite/cases/semantic/00592/00592-results.csv
new file mode 100644
index 0000000..3240e04
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00592/00592-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.1,0.1357256126935943,0.01427438730640575
+0.2,0.1228096129574067,0.02719038704259337
+0.3,0.1111227331019605,0.03887726689803949
+0.4,0.1005480058387723,0.04945199416122774
+0.5,0.09097959846085959,0.05902040153914048
+0.6,0.08232174538428828,0.06767825461571179
+0.7,0.07448779540356809,0.07551220459643198
+0.8,0.06739934357745737,0.0826006564225427
+0.9,0.06098544645336589,0.08901455354663417
+1.,0.05518191394253594,0.09481808605746411
+1.1,0.04993066173261703,0.100069338267383
+1.2,0.04517912914907073,0.1048208708509293
+1.3,0.04087976894025895,0.109120231059741
+1.4,0.03698954235262948,0.1130104576473705
+1.5,0.03346952157818602,0.116530478421814
+1.6,0.03028447755038003,0.11971552244962
+1.7,0.02740252772258111,0.1225974722774189
+1.8,0.02479483067125312,0.1252051693287469
+1.9,0.02243529017352873,0.1275647098264712
+2.,0.02030029115864977,0.1296997088413502
+2.1,0.01836846420340621,0.1316315357965938
+2.2,0.01662047309580654,0.1333795269041934
+2.3,0.01503882492765828,0.1349611750723417
+2.4,0.01360769138593678,0.1363923086140632
+2.5,0.01231274908507645,0.1376872509149235
+2.6,0.01114103672952391,0.1388589632704761
+2.7,0.01008082643527148,0.1399191735647285
+2.8,0.009121508364061333,0.1408784916359386
+2.9,0.008253482061780496,0.1417465179382195
+3.,0.007468059884146198,0.1425319401158538
+3.1,0.006757380357903661,0.1432426196420963
+3.2,0.006114330261205475,0.1438856697387945
+3.3,0.00553247446489544,0.1444675255351046
+3.4,0.005005989940724158,0.1449940100592759
+3.5,0.004529607323544309,0.1454703926764557
+3.6,0.004098558360471937,0.1459014416395281
+3.7,0.003708528738473407,0.1462914712615266
+3.8,0.003355615376961898,0.1466443846230381
+3.9,0.003036286396032851,0.1469637136039672
+4.,0.002747345738982134,0.1472526542610179
+4.1,0.002485901299343255,0.1475140987006568
+4.2,0.002249336365216954,0.1477506636347831
+4.3,0.002035283603802354,0.1479647163961977
+4.4,0.001841600801009512,0.1481583991989906
+4.5,0.001666349435549751,0.1483336505644503
+4.6,0.00150777534914414,0.1484922246508559
+4.7,0.001364291459421423,0.1486357085405787
+4.8,0.00123446190515946,0.1487655380948406
+4.9,0.001116987389533269,0.1488830126104668
+5.,0.001010692049869319,0.1489893079501307
diff --git a/models/sbml-test-suite/cases/semantic/00592/00592-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00592/00592-sbml-l2v4.xml
new file mode 100644
index 0000000..571e78b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00592/00592-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00592" id="case00592" name="case00592">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00592/00592-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00592/00592-sbml-l3v1.xml
new file mode 100644
index 0000000..90811b9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00592/00592-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00592" id="case00592" name="case00592" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00592/00592-settings.txt b/models/sbml-test-suite/cases/semantic/00592/00592-settings.txt
new file mode 100644
index 0000000..dbfdce7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00592/00592-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00593/00593-results.csv b/models/sbml-test-suite/cases/semantic/00593/00593-results.csv
new file mode 100644
index 0000000..921c5be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00593/00593-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.3,0.01067691823497427,0.02067691823497428,0.009323081765025729
+0.6,0.01130051246883455,0.02130051246883456,0.008699487531165445
+0.9,0.01187482190579737,0.02187482190579737,0.008125178094202628
+1.2,0.01240360487128315,0.02240360487128315,0.007596395128716849
+1.5,0.01289035438609634,0.02289035438609635,0.007109645613903652
+1.8,0.01333831344377996,0.02333831344377996,0.006661686556220038
+2.1,0.0137504902073161,0.0237504902073161,0.006249509792683897
+2.4,0.01412967256709333,0.02412967256709334,0.005870327432906661
+2.7,0.01447844192373802,0.02447844192373802,0.005521558076261977
+3.,0.01479918738946666,0.02479918738946667,0.005200812610533333
+3.3,0.01509411798747771,0.02509411798747772,0.004905882012522283
+3.6,0.01536527538259602,0.02536527538259603,0.00463472461740397
+3.9,0.01561454548360058,0.02561454548360058,0.004385454516399412
+4.2,0.01584366913279026,0.02584366913279026,0.004156330867209736
+4.5,0.0160542528025618,0.0260542528025618,0.003945747197438192
+4.8,0.01624777854375145,0.02624777854375145,0.003752221456248548
+5.1,0.01642561250041896,0.02642561250041896,0.003574387499581035
+5.4,0.01658901381372244,0.02658901381372244,0.003410986186277551
+5.7,0.01673914288957135,0.02673914288957135,0.003260857110428647
+6.,0.01687706846290363,0.02687706846290363,0.00312293153709637
+6.3,0.01700377458523098,0.02700377458523098,0.002996225414769018
+6.6,0.01712016716352611,0.02712016716352611,0.002879832836473883
+6.9,0.01722708015621137,0.02722708015621137,0.00277291984378862
+7.2,0.01732528090552729,0.02732528090552729,0.002674719094472698
+7.5,0.01741547538372292,0.02741547538372292,0.002584524616277071
+7.8,0.017498312981705,0.027498312981705,0.002501687018294991
+8.1,0.01757439093197858,0.02757439093197858,0.002425609068021415
+8.4,0.01764425842589778,0.02764425842589778,0.002355741574102214
+8.7,0.01770842041449705,0.02770842041449705,0.00229157958550294
+9.,0.01776734115235675,0.02776734115235675,0.002232658847643244
+9.3,0.01782144725561523,0.02782144725561523,0.002178552744384765
+9.6,0.01787113099144335,0.02787113099144335,0.002128869008556643
+9.9,0.01791675280308983,0.02791675280308984,0.002083247196910161
+10.2,0.01795864391656397,0.02795864391656397,0.002041356083436022
+10.5,0.01799710868366191,0.02799710868366191,0.00200289131633809
+10.8,0.0180324267410911,0.0280324267410911,0.001967573258908898
+11.1,0.01806485499926134,0.02806485499926135,0.001935145000738648
+11.4,0.01809462947156888,0.02809462947156888,0.001905370528431113
+11.7,0.01812196696300643,0.02812196696300643,0.001878033036993569
+12.,0.01814706662461431,0.02814706662461432,0.001852933375385685
+12.3,0.01817011140713868,0.02817011140713868,0.00182988859286132
+12.6,0.01819126927547309,0.02819126927547309,0.001808730724526907
+12.9,0.01821069454810316,0.02821069454810316,0.001789305451896832
+13.2,0.01822852895569476,0.02822852895569476,0.001771471044305233
+13.5,0.01824490266644435,0.02824490266644435,0.001755097333555643
+13.8,0.01825993522216719,0.0282599352221672,0.001740064777832796
+14.1,0.01827373637936961,0.02827373637936962,0.001726263620630377
+14.4,0.01828640691353827,0.02828640691353827,0.001713593086461725
+14.7,0.01829803934416413,0.02829803934416413,0.001701960655835867
+15.,0.01830871872551999,0.02830871872551999,0.001691281274480002
diff --git a/models/sbml-test-suite/cases/semantic/00593/00593-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00593/00593-sbml-l2v4.xml
new file mode 100644
index 0000000..a3e9620
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00593/00593-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00593" id="case00593" name="case00593">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00593/00593-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00593/00593-sbml-l3v1.xml
new file mode 100644
index 0000000..a178db1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00593/00593-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00593" id="case00593" name="case00593" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00593/00593-settings.txt b/models/sbml-test-suite/cases/semantic/00593/00593-settings.txt
new file mode 100644
index 0000000..8bef3de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00593/00593-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00594/00594-results.csv b/models/sbml-test-suite/cases/semantic/00594/00594-results.csv
new file mode 100644
index 0000000..1f20cb3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00594/00594-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0001,0.0002,0.0001
+0.05,0.00009881763185936636,0.00009881763185936636,0.0002011823681406337,0.0001011823681406336
+0.1,0.00009776045704354217,0.00009776045704354217,0.0002022395429564579,0.0001022395429564578
+0.15,0.00009681471874860227,0.00009681471874860227,0.0002031852812513978,0.0001031852812513977
+0.2,0.00009596826954523736,0.00009596826954523736,0.0002040317304547627,0.0001040317304547626
+0.25,0.00009521036405216778,0.00009521036405216778,0.0002047896359478323,0.0001047896359478322
+0.3,0.00009453148196592693,0.00009453148196592693,0.0002054685180340731,0.000105468518034073
+0.35,0.00009392317791776141,0.00009392317791776141,0.0002060768220822386,0.0001060768220822385
+0.4,0.00009337794738948058,0.00009337794738948058,0.0002066220526105195,0.0001066220526105194
+0.45,0.00009288911732837295,0.00009288911732837295,0.0002071108826716272,0.000107110882671627
+0.5,0.00009245074632986106,0.00009245074632986106,0.0002075492536701391,0.0001075492536701389
+0.55,0.00009205753888299987,0.00009205753888299987,0.0002079424611170002,0.0001079424611170001
+0.6,0.00009170477298883471,0.00009170477298883471,0.0002082952270111654,0.0001082952270111653
+0.65,0.00009138823317527069,0.00009138823317527069,0.0002086117668247294,0.0001086117668247293
+0.7,0.00009110415396099831,0.00009110415396099831,0.0002088958460390018,0.0001088958460390016
+0.75,0.00009084917047839726,0.00009084917047839726,0.0002091508295216029,0.0001091508295216027
+0.8,0.00009062027359765853,0.00009062027359765853,0.0002093797264023416,0.0001093797264023414
+0.85,0.00009041477095491564,0.00009041477095491564,0.0002095852290450845,0.0001095852290450843
+0.9,0.00009023025254293393,0.00009023025254293393,0.0002097697474570662,0.000109769747457066
+0.95,0.00009006456024225406,0.00009006456024225406,0.0002099354397577461,0.0001099354397577459
+1.,0.0000899157608037785,0.0000899157608037785,0.0002100842391962216,0.0001100842391962215
+1.05,0.00008978212197544293,0.00008978212197544293,0.0002102178780245572,0.000110217878024557
+1.1,0.00008966209112051003,0.00008966209112051003,0.0002103379088794901,0.0001103379088794899
+1.15,0.00008955427612480443,0.00008955427612480443,0.0002104457238751957,0.0001104457238751955
+1.2,0.00008945742853027119,0.00008945742853027119,0.0002105425714697289,0.0001105425714697288
+1.25,0.00008937042847232368,0.00008937042847232368,0.0002106295715276765,0.0001106295715276763
+1.3,0.00008929227124217369,0.00008929227124217369,0.0002107077287578264,0.0001107077287578263
+1.35,0.00008922205529019385,0.00008922205529019385,0.0002107779447098063,0.0001107779447098061
+1.4,0.00008915897150878656,0.00008915897150878656,0.0002108410284912136,0.0001108410284912134
+1.45,0.0000891022936526405,0.0000891022936526405,0.0002108977063473596,0.0001108977063473595
+1.5,0.0000890513697676157,0.0000890513697676157,0.0002109486302323844,0.0001109486302323843
+1.55,0.00008900561453869841,0.00008900561453869841,0.0002109943854613017,0.0001109943854613015
+1.6,0.00008896450241029446,0.00008896450241029446,0.0002110354975897057,0.0001110354975897055
+1.65,0.00008892756145115164,0.00008892756145115164,0.0002110724385488485,0.0001110724385488483
+1.7,0.00008889436785188132,0.00008889436785188132,0.0002111056321481188,0.0001111056321481186
+1.75,0.00008886454098205454,0.00008886454098205454,0.0002111354590179456,0.0001111354590179454
+1.8,0.000088837738966932,0.000088837738966932,0.0002111622610330681,0.000111162261033068
+1.85,0.00008881365472332338,0.00008881365472332338,0.0002111863452766767,0.0001111863452766766
+1.9,0.00008879201240439325,0.00008879201240439325,0.0002112079875956069,0.0001112079875956067
+1.95,0.00008877256418810459,0.00008877256418810459,0.0002112274358118955,0.0001112274358118954
+2.,0.00008875508750772273,0.00008875508750772273,0.0002112449124922774,0.0001112449124922772
+2.05,0.00008873938234168529,0.00008873938234168529,0.0002112606176583148,0.0001112606176583147
+2.1,0.00008872526901018729,0.00008872526901018729,0.0002112747309898128,0.0001112747309898127
+2.15,0.00008871258607921388,0.00008871258607921388,0.0002112874139207862,0.0001112874139207861
+2.2,0.00008870118850364647,0.00008870118850364647,0.0002112988114963536,0.0001112988114963535
+2.25,0.00008869094596013268,0.00008869094596013268,0.0002113090540398674,0.0001113090540398673
+2.3,0.00008868174135018246,0.00008868174135018246,0.0002113182586498177,0.0001113182586498175
+2.35,0.00008867346945598279,0.00008867346945598279,0.0002113265305440173,0.0001113265305440172
+2.4,0.00008866603573247522,0.00008866603573247522,0.0002113339642675249,0.0001113339642675247
+2.45,0.00008865935522925674,0.00008865935522925674,0.0002113406447707434,0.0001113406447707432
+2.5,0.00008865335160035238,0.00008865335160035238,0.0002113466483996477,0.0001113466483996476
diff --git a/models/sbml-test-suite/cases/semantic/00594/00594-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00594/00594-sbml-l2v4.xml
new file mode 100644
index 0000000..2d41769
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00594/00594-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00594" id="case00594" name="case00594">
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00594/00594-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00594/00594-sbml-l3v1.xml
new file mode 100644
index 0000000..df796de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00594/00594-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00594" id="case00594" name="case00594" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="1" size="1" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00594/00594-settings.txt b/models/sbml-test-suite/cases/semantic/00594/00594-settings.txt
new file mode 100644
index 0000000..ebaf76b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00594/00594-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00595/00595-results.csv b/models/sbml-test-suite/cases/semantic/00595/00595-results.csv
new file mode 100644
index 0000000..aee5615
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00595/00595-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.003,0,0
+0.06,0.002825293600752743,0.0001645322906012813,0.0000101741086459744
+0.12,0.002660761310151463,0.0003008777269517843,0.00003836096289674943
+0.18,0.002505810634233641,0.0004127816560225738,0.00008140770974378456
+0.24,0.002359883583199546,0.000503533407781916,0.0001365830090185361
+0.3,0.002222454662044366,0.0005760197537705388,0.0002015255841850931
+0.36,0.002093028978212681,0.0006327722103357724,0.000274198811451546
+0.42,0.001971140459443866,0.0006760088891681388,0.000352850651387994
+0.48,0.00185635017541838,0.0007076715174904967,0.000435978307091122
+0.54,0.001748244757121887,0.0007294581801841493,0.0005222970626939613
+0.6,0.00164643490828194,0.0007428522725419034,0.0006107128191761554
+0.66,0.001550554003475083,0.0007491480975721938,0.0007002978989527221
+0.72,0.001460256767879613,0.0007494734918291757,0.0007902697402912095
+0.78,0.001375218033914745,0.0007448098203118121,0.0008799721457734408
+0.84,0.001295131570284316,0.0007360096421781709,0.0009688587875375114
+0.9,0.00121970897922062,0.000723812314554972,0.001056478706224405
+0.96,0.001148678657925662,0.0007088577715238257,0.001142463570550508
+1.02,0.001081784820515943,0.0006916986878906591,0.001226516491593394
+1.08,0.001018786576934536,0.0006728112138123708,0.001308402209253089
+1.14,0.0009594570654487503,0.0006526044452931721,0.001387938489258075
+1.2,0.0009035826357341086,0.0006314287758680277,0.001464988588397861
+1.26,0.0008509620794975688,0.000609583259247048,0.001539454661255381
+1.32,0.0008014059058981743,0.000587322097216692,0.001611271996885131
+1.38,0.0007547356591786989,0.0005648603540926625,0.001680403986728636
+1.44,0.000710783276045799,0.0005423789875361082,0.00174683773641809
+1.5,0.0006693904804431175,0.0005200292753378421,0.001810580244219037
+1.56,0.0006304082135997116,0.0004979367083399944,0.001871655078060291
+1.62,0.0005936960972492597,0.0004762044119482041,0.001930099490802533
+1.68,0.0005591219281183106,0.0004549161512750292,0.001985961920606657
+1.74,0.0005265612018519773,0.0004341389687424595,0.00203929982940556
+1.8,0.0004958966646648793,0.0004139254973145625,0.002090177838020554
+1.86,0.0004670178911014034,0.0003943159875629645,0.002138666121335628
+1.92,0.0004398208863887231,0.0003753400823512197,0.002184839031260053
+1.98,0.0004142077119305906,0.000357018369052868,0.002228773919016537
+2.04,0.0003900861326334095,0.0003393637356719286,0.002270550131694657
+2.1,0.0003673692847572785,0.0003223825542921479,0.002310248160950569
+2.16,0.0003459753631127045,0.0003060757124814612,0.002347948924405831
+2.22,0.0003258273264735592,0.0002904395109102739,0.002383733162616163
+2.28,0.0003068526201454514,0.0002754664433110986,0.002417680936543445
+2.34,0.0002889829146914797,0.0002611458730245007,0.002449871212284015
+2.4,0.0002721538598691622,0.0002474646187151609,0.002480381521415673
+2.46,0.0002563048529006493,0.0002344074603566923,0.002509287686742654
+2.52,0.000241378820247325,0.0002219575752889428,0.002536663604463728
+2.58,0.0002273220120694391,0.0002100969130064804,0.002562581074924075
+2.64,0.0002140838086697454,0.0001988065162863407,0.002587109675043908
+2.7,0.0002016165382182422,0.0001880667953871133,0.002610316666394639
+2.76,0.0001898753050769523,0.0001778577612485186,0.002632266933674523
+2.82,0.0001788178281281367,0.0001681592229041936,0.002653022948967664
+2.88,0.0001684042885011558,0.0001589509537030761,0.002672644757795763
+2.94,0.0001585971862151722,0.0001502128303862699,0.002691189983398553
+3.,0.0001493612051050166,0.0001419249485703991,0.002708713846324579
diff --git a/models/sbml-test-suite/cases/semantic/00595/00595-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00595/00595-sbml-l2v4.xml
new file mode 100644
index 0000000..bd7c83a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00595/00595-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00595" id="case00595" name="case00595">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.003" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00595/00595-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00595/00595-sbml-l3v1.xml
new file mode 100644
index 0000000..f8dfc7b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00595/00595-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00595" id="case00595" name="case00595" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.003" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="2"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00595/00595-settings.txt b/models/sbml-test-suite/cases/semantic/00595/00595-settings.txt
new file mode 100644
index 0000000..f7d28e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00595/00595-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00596/00596-results.csv b/models/sbml-test-suite/cases/semantic/00596/00596-results.csv
new file mode 100644
index 0000000..301921e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00596/00596-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.3,0,0
+0.1,0.2714512254107835,0.02583199948744364,0.002716775101772715
+0.2,0.2456192259233256,0.04452321211349796,0.009857561963176598
+0.3,0.2222454662044398,0.05760197537702636,0.02015255841853402
+0.4,0.2010960138105088,0.0662973245771111,0.03260666161238037
+0.5,0.1819591979137711,0.07159536556221325,0.04644543652401597
+0.6,0.1646434908280135,0.07428522725560558,0.06107128191638124
+0.7,0.1489755911372856,0.07499650195527968,0.076027906907435
+0.8,0.1347986892349937,0.07422973383710744,0.09097157692789915
+0.9,0.1219708979218723,0.0723812314565819,0.1056478706215461
+1.,0.1103638323513402,0.06976324737998612,0.1198729202686739
+1.1,0.09986132510948099,0.06662037759952443,0.1335182972909949
+1.2,0.09035826357364065,0.06314287758596672,0.1464988588403929
+1.3,0.08175953791017019,0.05947746444506137,0.1587629976447687
+1.4,0.07397908918252607,0.05573607039382209,0.1702848404236522
+1.5,0.06693904804436519,0.05200292753365037,0.1810580244219848
+1.6,0.0605689553982051,0.04834029420442113,0.1910907503973741
+1.7,0.05480505721552712,0.04479307622744423,0.200401866557029
+1.8,0.04958966646628786,0.04139254973177229,0.2090177838019402
+1.9,0.04487058576681653,0.03815935420911809,0.2169700600240658
+2.,0.0406005849710848,0.03510589330351048,0.2242935217254051
+2.1,0.03673692847586223,0.03223825542910583,0.2310248160950323
+2.2,0.03324094750862932,0.02955774553719624,0.2372013069541748
+2.3,0.0300776531167605,0.02706210239289586,0.2428602444903441
+2.4,0.02721538598682525,0.02474646187155545,0.2480381521416197
+2.5,0.02462549958710698,0.02260411548694925,0.2527703849259441
+2.6,0.02228207346423003,0.02062710413761794,0.2570908223981525
+2.7,0.02016165382202187,0.01880667953869133,0.2610316666392872
+2.8,0.01824301878742476,0.01713365967220491,0.2646233215403707
+2.9,0.01650696601694575,0.01559869959293456,0.2678943343901201
+3.,0.01493612051044879,0.01419249485703548,0.2708713846325162
+3.1,0.01351476071791843,0.01290593152681573,0.2735793077552664
+3.2,0.01222866119360441,0.01173019401129094,0.2760411447951051
+3.3,0.01106495022045124,0.01065683980886529,0.278278209970684
+3.4,0.01001198098792673,0.009677848443414743,0.2803101705686591
+3.5,0.009059215026603893,0.008785650436743555,0.2821551345366531
+3.6,0.008197116734337685,0.007973140991536393,0.2838297422741264
+3.7,0.007417057941155769,0.007233682112590803,0.2853492599462538
+3.8,0.00671123155678273,0.006561096126588274,0.2867276723166293
+3.9,0.006072573433788887,0.005949652939911835,0.2879777736262996
+4.,0.005494691666784534,0.005394052878216001,0.2891112554549998
+4.1,0.004971802620570991,0.004889406549435396,0.290138790829994
+4.2,0.004498673046147568,0.004431212848775931,0.2910701141050768
+4.3,0.004070567703768969,0.004015335965542493,0.2919140963306889
+4.4,0.003683201971050252,0.00363798204840661,0.2926788159805435
+4.5,0.003332698961511552,0.00329567602020077,0.2933716250182882
+4.6,0.00301555072343683,0.002985238902810674,0.293999210373753
+4.7,0.002728583130629439,0.002703765910886544,0.2945676509584845
+4.8,0.002468924114797564,0.002448605493788009,0.295082470391415
+4.9,0.002233974921317116,0.002217339441439523,0.295548685637244
+5.,0.002021384099836457,0.002007764120858871,0.2959708517793054
diff --git a/models/sbml-test-suite/cases/semantic/00596/00596-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00596/00596-sbml-l2v4.xml
new file mode 100644
index 0000000..1c4bef2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00596/00596-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00596" id="case00596" name="case00596">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.3" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="2"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00596/00596-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00596/00596-sbml-l3v1.xml
new file mode 100644
index 0000000..97ba5dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00596/00596-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00596" id="case00596" name="case00596" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="2"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00596/00596-settings.txt b/models/sbml-test-suite/cases/semantic/00596/00596-settings.txt
new file mode 100644
index 0000000..1c914c5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00596/00596-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00597/00597-results.csv b/models/sbml-test-suite/cases/semantic/00597/00597-results.csv
new file mode 100644
index 0000000..fdb0382
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00597/00597-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.02999999999999999,0,0
+0.1,0.02456192256283702,0.005166399952419089,0.000271677484743895
+0.2,0.02010960134215882,0.008904642494422946,0.0009857561634182335
+0.3,0.01646434898905347,0.01152039524709907,0.002015255763847446
+0.4,0.01347986860522926,0.0132594654923321,0.003260665902438639
+0.5,0.01103638310021594,0.01431907335418794,0.004644543545596108
+0.6,0.009035825907690343,0.01485704624861154,0.006107127843698108
+0.7,0.007397908350698484,0.01499930138274434,0.007602790266557167
+0.8,0.006056895534245327,0.0148459467769632,0.009097157688791469
+0.9,0.004958966307553375,0.01447624686560773,0.01056478682683888
+1.,0.004060058247694767,0.01395264988966182,0.0119872918626434
+1.1,0.003324094739131446,0.01332407553927235,0.0133518297215962
+1.2,0.002721538378049795,0.01262857586731379,0.01464988575463641
+1.3,0.002228207253680691,0.01189549303178769,0.01587629971453161
+1.4,0.001824301844831856,0.01114721412982666,0.01702848402534147
+1.5,0.001493611922912565,0.01040058569132427,0.01810580238576315
+1.6,0.001222866093423927,0.009668058876606808,0.01910907502996926
+1.7,0.001001198059619453,0.008958615297342735,0.0200401866430378
+1.8,0.0008197116063335868,0.008278510029788516,0.02090177836387789
+1.9,0.0006711231521370533,0.007631870846078789,0.02169700600178415
+2.,0.0005494691339547846,0.007021178696268149,0.02242935216977706
+2.1,0.0004498672731619664,0.006447651116601851,0.02310248161023617
+2.2,0.000368320197014284,0.005911549107623967,0.02372013069536174
+2.3,0.0003015550495554417,0.00541242049596205,0.0242860244544825
+2.4,0.0002468923986358557,0.004949292382283453,0.02480381521908069
+2.5,0.0002021384079752886,0.004520823098478538,0.02527703849354617
+2.6,0.0001654969186436246,0.004125420832081027,0.02570908224927534
+2.7,0.0001354974240358231,0.00376133590834707,0.02610316666761711
+2.8,0.0001109359083377526,0.003426731934412489,0.02646233215724976
+2.9,0.00009082663464998229,0.003119739916549604,0.02678943344880041
+3.,0.00007436256437786566,0.002838498970972729,0.0270871384646494
+3.1,0.00006088291607302402,0.002581186303161797,0.02735793078076518
+3.2,0.0000498467143646844,0.002346038798186275,0.02760411448744904
+3.3,0.00004081104108647137,0.002131367961763476,0.02782782099715005
+3.4,0.00003341325215662526,0.001935569684814752,0.02803101706302862
+3.5,0.0000273564572808186,0.001757130083758432,0.02821551345896074
+3.6,0.00002239757417476359,0.001594628198142162,0.02838297422768307
+3.7,0.00001833758134916211,0.001446736418035498,0.02853492600061533
+3.8,0.00001501354237487961,0.001312219223080041,0.02867276723454507
+3.9,0.00001229204914341356,0.001189930587081144,0.02879777736377544
+4.,0.00001006387797387367,0.00107881057148667,0.02891112555053945
+4.1,8.239606922759615e-6,0.0009778813089151208,0.02901387908416211
+4.2,6.746019462913353e-6,0.0008862425681339694,0.02910701141240311
+4.3,5.523173357537803e-6,0.000803067189839371,0.02919140963680308
+4.4,4.521992228391689e-6,0.0007275964094746232,0.02926788159829698
+4.5,3.702293903003262e-6,0.000659135202033077,0.02933716250406391
+4.6,3.031181842687244e-6,0.0005970477783388087,0.0293999210398185
+4.7,2.481721966256074e-6,0.0005407531821630259,0.02945676509587071
+4.8,2.03186194150714e-6,0.0004897210967399921,0.02950824704131849
+4.9,1.663547896125921e-6,0.0004434678869951637,0.0295548685651087
+5.,1.361997892883896e-6,0.0004015528241593624,0.02959708517794774
diff --git a/models/sbml-test-suite/cases/semantic/00597/00597-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00597/00597-sbml-l2v4.xml
new file mode 100644
index 0000000..ae2ed9e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00597/00597-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00597" id="case00597" name="case00597">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.03" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="S1" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00597/00597-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00597/00597-sbml-l3v1.xml
new file mode 100644
index 0000000..385205b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00597/00597-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00597" id="case00597" name="case00597" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.03" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="S1" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00597/00597-settings.txt b/models/sbml-test-suite/cases/semantic/00597/00597-settings.txt
new file mode 100644
index 0000000..06a1cff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00597/00597-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00598/00598-results.csv b/models/sbml-test-suite/cases/semantic/00598/00598-results.csv
new file mode 100644
index 0000000..df5fa08
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00598/00598-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,2
+0.06,1.25291,0.247095,2
+0.12,1.04651,0.453486,2
+0.18,0.874122,0.625878,2
+0.24,0.730128,0.769872,2
+0.3,0.609854,0.890146,2
+0.36,0.509393,0.990607,2
+0.42,0.425481,1.07452,2
+0.48,0.355392,1.14461,2
+0.54,0.296848,1.20315,2
+0.6,0.247948,1.25205,2
+0.66,0.207104,1.2929,2
+0.72,0.172988,1.32701,2
+0.78,0.144491,1.35551,2
+0.84,0.120689,1.37931,2
+0.9,0.100808,1.39919,2
+0.96,0.0842021,1.4158,2
+1.02,0.0703315,1.42967,2
+1.08,0.0587458,1.44125,2
+1.14,0.0490687,1.45093,2
+1.2,0.0409856,1.45901,2
+1.26,0.034234,1.46577,2
+1.32,0.0285947,1.47141,2
+1.38,0.0238843,1.47612,2
+1.44,0.0199498,1.48005,2
+1.5,0.0166635,1.48334,2
+1.56,0.0139185,1.48608,2
+1.62,0.0116257,1.48837,2
+1.68,0.00971062,1.49029,2
+1.74,0.00811099,1.49189,2
+1.8,0.00677487,1.49323,2
+1.86,0.00565885,1.49434,2
+1.92,0.00472667,1.49527,2
+1.98,0.00394804,1.49605,2
+2.04,0.00329768,1.4967,2
+2.1,0.00275446,1.49725,2
+2.16,0.00230072,1.4977,2
+2.22,0.00192172,1.49808,2
+2.28,0.00160516,1.49839,2
+2.34,0.00134074,1.49866,2
+2.4,0.00111988,1.49888,2
+2.46,0.000935401,1.49906,2
+2.52,0.000781313,1.49922,2
+2.58,0.000652607,1.49935,2
+2.64,0.000545103,1.49945,2
+2.7,0.000455309,1.49954,2
+2.76,0.000380306,1.49962,2
+2.82,0.000317658,1.49968,2
+2.88,0.00026533,1.49973,2
+2.94,0.000221623,1.49978,2
+3,0.000185115,1.49981,2
diff --git a/models/sbml-test-suite/cases/semantic/00598/00598-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00598/00598-sbml-l2v4.xml
new file mode 100644
index 0000000..fbd057a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00598/00598-sbml-l2v4.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00598" id="case00598" name="case00598">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="2" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00598/00598-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00598/00598-sbml-l3v1.xml
new file mode 100644
index 0000000..8eacc09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00598/00598-sbml-l3v1.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00598" id="case00598" name="case00598" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00598/00598-settings.txt b/models/sbml-test-suite/cases/semantic/00598/00598-settings.txt
new file mode 100644
index 0000000..e7bbf91
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00598/00598-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00599/00599-results.csv b/models/sbml-test-suite/cases/semantic/00599/00599-results.csv
new file mode 100644
index 0000000..f3658a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00599/00599-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.04,0.8939260929073057,1.893926092907305,1.106073907092694,1.5
+0.08,0.8077741939685046,1.807774193968505,1.192225806031494,1.5
+0.12,0.7369707423711714,1.736970742371171,1.263029257628828,1.5
+0.16,0.6782139161187001,1.678213916118701,1.321786083881298,1.5
+0.2,0.6290601740740094,1.62906017407401,1.370939825925989,1.5
+0.24,0.5876624725013505,1.587662472501351,1.412337527498648,1.5
+0.28,0.5525990035830646,1.552599003583065,1.447400996416934,1.5
+0.32,0.522757857809592,1.522757857809592,1.477242142190407,1.5
+0.36,0.4972574369094412,1.497257436909441,1.502742563090558,1.5
+0.4,0.4753902825485309,1.475390282548531,1.524609717451468,1.5
+0.44,0.4565826415081507,1.45658264150815,1.543417358491849,1.5
+0.48,0.4403648433944844,1.440364843394484,1.559635156605515,1.5
+0.52,0.4263492559690245,1.426349255969025,1.573650744030975,1.5
+0.56,0.4142136530890916,1.414213653089091,1.585786346910908,1.5
+0.6,0.4036884320007798,1.40368843200078,1.596311567999219,1.5
+0.64,0.3945467772214788,1.394546777221479,1.60545322277852,1.5
+0.68,0.3865969043064956,1.386596904306496,1.613403095693503,1.5
+0.72,0.3796759370612184,1.379675937061218,1.620324062938781,1.5
+0.76,0.3736450179172018,1.373645017917201,1.626354982082798,1.5
+0.8,0.3683853588233823,1.368385358823382,1.631614641176617,1.5
+0.84,0.3637950347692141,1.363795034769214,1.636204965230786,1.5
+0.88,0.3597863576111557,1.359786357611155,1.640213642388844,1.5
+0.92,0.3562837106718859,1.356283710671885,1.643716289328114,1.5
+0.96,0.3532217541401485,1.353221754140148,1.646778245859851,1.5
+1.,0.350543922897919,1.350543922897919,1.649456077102081,1.5
+1.04,0.3482011718921883,1.348201171892188,1.651798828107811,1.5
+1.08,0.3461509169090781,1.346150916909078,1.653849083090921,1.5
+1.12,0.3443561379982226,1.344356137998222,1.655643862001777,1.5
+1.16,0.3427846164417647,1.342784616441765,1.657215383558234,1.5
+1.2,0.3414082866474316,1.341408286647431,1.658591713352568,1.5
+1.24,0.340202675748726,1.340202675748726,1.659797324251273,1.5
+1.28,0.339146437278187,1.339146437278187,1.660853562721812,1.5
+1.32,0.3382209288762538,1.338220928876254,1.661779071123745,1.5
+1.36,0.3374098682811131,1.337409868281113,1.662590131718886,1.5
+1.4,0.3366990248799463,1.336699024879947,1.663300975120052,1.5
+1.44,0.3360759546517185,1.336075954651718,1.663924045348281,1.5
+1.48,0.3355297724857262,1.335529772485726,1.664470227514273,1.5
+1.52,0.3350509564947727,1.335050956494773,1.664949043505227,1.5
+1.56,0.3346311688196882,1.334631168819688,1.665368831180311,1.5
+1.6,0.33426311108594,1.33426311108594,1.665736888914059,1.5
+1.64,0.3339403938659051,1.333940393865905,1.666059606134094,1.5
+1.68,0.3336574184083673,1.333657418408367,1.666342581591632,1.5
+1.72,0.3334092806405675,1.333409280640567,1.666590719359432,1.5
+1.76,0.3331916852382305,1.33319168523823,1.666808314761769,1.5
+1.8,0.3330008667798775,1.333000866779877,1.666999133220122,1.5
+1.84,0.3328335253044871,1.332833525304487,1.667166474695512,1.5
+1.88,0.3326867697024615,1.332686769702461,1.667313230297538,1.5
+1.92,0.3325580648462905,1.33255806484629,1.667441935153709,1.5
+1.96,0.3324451881691856,1.332445188169185,1.667554811830814,1.5
+2.,0.3323461919822612,1.33234619198226,1.667653808017739,1.5
diff --git a/models/sbml-test-suite/cases/semantic/00599/00599-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00599/00599-sbml-l2v4.xml
new file mode 100644
index 0000000..c91b6e9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00599/00599-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00599" id="case00599" name="case00599">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="1.5" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00599/00599-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00599/00599-sbml-l3v1.xml
new file mode 100644
index 0000000..ba80e44
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00599/00599-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00599" id="case00599" name="case00599" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00599/00599-settings.txt b/models/sbml-test-suite/cases/semantic/00599/00599-settings.txt
new file mode 100644
index 0000000..24312ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00599/00599-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00600/00600-results.csv b/models/sbml-test-suite/cases/semantic/00600/00600-results.csv
new file mode 100644
index 0000000..4f6dba2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00600/00600-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7,9.999999999999999e-7
+0.04,9.389597079643723e-7,1.438959707964372e-6,2.061040292035627e-6,5.610402920356275e-7,9.999999999999999e-7
+0.08,8.866960875357621e-7,1.386696087535762e-6,2.113303912464238e-6,6.133039124642377e-7,9.999999999999999e-7
+0.12,8.417588271763808e-7,1.341758827176381e-6,2.158241172823618e-6,6.58241172823619e-7,9.999999999999999e-7
+0.16,8.029811572858246e-7,1.302981157285825e-6,2.197018842714174e-6,6.970188427141752e-7,9.999999999999999e-7
+0.2,7.694143855642448e-7,1.269414385564245e-6,2.230585614435754e-6,7.305856144357549e-7,9.999999999999999e-7
+0.24,7.402798425167762e-7,1.240279842516776e-6,2.259720157483222e-6,7.597201574832235e-7,9.999999999999999e-7
+0.28,7.149330646010629e-7,1.214933064601063e-6,2.285066935398935e-6,7.850669353989368e-7,9.999999999999999e-7
+0.32,6.92836683000088e-7,1.192836683000088e-6,2.307163316999909e-6,8.071633169999118e-7,9.999999999999999e-7
+0.36,6.735396919433461e-7,1.173539691943346e-6,2.326460308056651e-6,8.264603080566536e-7,9.999999999999999e-7
+0.4,6.566613024219375e-7,1.156661302421938e-6,2.343338697578059e-6,8.433386975780623e-7,9.999999999999999e-7
+0.44,6.418783689951896e-7,1.14187836899519e-6,2.358121631004807e-6,8.581216310048101e-7,9.999999999999999e-7
+0.48,6.289153769923319e-7,1.128915376992332e-6,2.371084623007665e-6,8.710846230076679e-7,9.999999999999999e-7
+0.52,6.175364356356689e-7,1.117536435635669e-6,2.382463564364328e-6,8.824635643643308e-7,9.999999999999999e-7
+0.56,6.075388526511111e-7,1.107538852651112e-6,2.392461147348885e-6,8.924611473488886e-7,9.999999999999999e-7
+0.6,5.987478929217906e-7,1.098747892921791e-6,2.401252107078206e-6,9.012521070782091e-7,9.999999999999999e-7
+0.64,5.910124738048314e-7,1.091012473804832e-6,2.408987526195165e-6,9.089875261951684e-7,9.999999999999999e-7
+0.68,5.842016280296117e-7,1.084201628029612e-6,2.415798371970385e-6,9.15798371970388e-7,9.999999999999999e-7
+0.72,5.782015661418184e-7,1.078201566141819e-6,2.421798433858179e-6,9.217984338581814e-7,9.999999999999999e-7
+0.76,5.729132256002133e-7,1.072913225600214e-6,2.427086774399783e-6,9.270867743997865e-7,9.999999999999999e-7
+0.8,5.682502086988119e-7,1.068250208698813e-6,2.431749791301184e-6,9.317497913011878e-7,9.999999999999999e-7
+0.84,5.641370352567391e-7,1.06413703525674e-6,2.435862964743258e-6,9.358629647432606e-7,9.999999999999999e-7
+0.88,5.605076688194867e-7,1.060507668819488e-6,2.43949233118051e-6,9.39492331180513e-7,9.999999999999999e-7
+0.92,5.573042712221429e-7,1.057304271222144e-6,2.442695728777854e-6,9.426957287778568e-7,9.999999999999999e-7
+0.96,5.544761233621076e-7,1.054476123362109e-6,2.445523876637889e-6,9.455238766378921e-7,9.999999999999999e-7
+1.,5.519787002370357e-7,1.051978700237037e-6,2.448021299762961e-6,9.480212997629641e-7,9.999999999999999e-7
+1.04,5.497728818090925e-7,1.049772881809094e-6,2.450227118190905e-6,9.502271181909072e-7,9.999999999999999e-7
+1.08,5.478242815365218e-7,1.047824281536523e-6,2.452175718463475e-6,9.521757184634779e-7,9.999999999999999e-7
+1.12,5.461026294104691e-7,1.04610262941047e-6,2.453897370589528e-6,9.538973705895307e-7,9.999999999999999e-7
+1.16,5.44581289484622e-7,1.044581289484623e-6,2.455418710515375e-6,9.554187105153779e-7,9.999999999999999e-7
+1.2,5.432367862310685e-7,1.04323678623107e-6,2.456763213768928e-6,9.567632137689313e-7,9.999999999999999e-7
+1.24,5.420484412027306e-7,1.042048441202732e-6,2.457951558797266e-6,9.579515587972693e-7,9.999999999999999e-7
+1.28,5.409980120713418e-7,1.040998012071343e-6,2.459001987928655e-6,9.590019879286578e-7,9.999999999999999e-7
+1.32,5.400694192262633e-7,1.040069419226265e-6,2.459930580773733e-6,9.599305807737363e-7,9.999999999999999e-7
+1.36,5.392484692176387e-7,1.03924846921764e-6,2.460751530782358e-6,9.607515307823608e-7,9.999999999999999e-7
+1.4,5.385226343054472e-7,1.038522634305448e-6,2.461477365694549e-6,9.614773656945525e-7,9.999999999999999e-7
+1.44,5.37880857267953e-7,1.037880857267954e-6,2.462119142732043e-6,9.621191427320468e-7,9.999999999999999e-7
+1.48,5.373133757509462e-7,1.037313375750947e-6,2.46268662424905e-6,9.626866242490536e-7,9.999999999999999e-7
+1.52,5.368115661223508e-7,1.036811566122352e-6,2.463188433877645e-6,9.631884338776489e-7,9.999999999999999e-7
+1.56,5.363678095699785e-7,1.03636780956998e-6,2.463632190430018e-6,9.636321904300213e-7,9.999999999999999e-7
+1.6,5.359753758055117e-7,1.035975375805513e-6,2.464024624194484e-6,9.640246241944878e-7,9.999999999999999e-7
+1.64,5.356283191145352e-7,1.035628319114537e-6,2.46437168088546e-6,9.643716808854643e-7,9.999999999999999e-7
+1.68,5.353213841798119e-7,1.035321384179813e-6,2.464678615820183e-6,9.646786158201878e-7,9.999999999999999e-7
+1.72,5.350499255337026e-7,1.035049925533704e-6,2.464950074466293e-6,9.649500744662967e-7,9.999999999999999e-7
+1.76,5.348098370543882e-7,1.034809837054389e-6,2.465190162945607e-6,9.651901629456114e-7,9.999999999999999e-7
+1.8,5.345974899863946e-7,1.034597489986396e-6,2.465402510013601e-6,9.654025100136049e-7,9.999999999999999e-7
+1.84,5.34409675950601e-7,1.034409675950602e-6,2.465590324049394e-6,9.655903240493985e-7,9.999999999999999e-7
+1.88,5.342435579014371e-7,1.034243557901439e-6,2.465756442098559e-6,9.657564420985623e-7,9.999999999999999e-7
+1.92,5.340966271938641e-7,1.034096627193866e-6,2.465903372806131e-6,9.659033728061353e-7,9.999999999999999e-7
+1.96,5.339666664953589e-7,1.03396666649536e-6,2.466033333504637e-6,9.660333335046404e-7,9.999999999999999e-7
+2.,5.338517145486229e-7,1.033851714548625e-6,2.466148285451373e-6,9.661482854513763e-7,9.999999999999999e-7
diff --git a/models/sbml-test-suite/cases/semantic/00600/00600-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00600/00600-sbml-l2v4.xml
new file mode 100644
index 0000000..fba0fa3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00600/00600-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00600" id="case00600" name="case00600">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="5e-007" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="C" initialConcentration="1e-006" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00600/00600-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00600/00600-sbml-l3v1.xml
new file mode 100644
index 0000000..fa916e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00600/00600-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00600" id="case00600" name="case00600" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="C" initialConcentration="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <apply>
+                <power/>
+                <ci> S5 </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00600/00600-settings.txt b/models/sbml-test-suite/cases/semantic/00600/00600-settings.txt
new file mode 100644
index 0000000..a3110e3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00600/00600-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-009
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4, S5
diff --git a/models/sbml-test-suite/cases/semantic/00601/00601-results.csv b/models/sbml-test-suite/cases/semantic/00601/00601-results.csv
new file mode 100644
index 0000000..655c944
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00601/00601-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5,0
+0.1,1.29106,0.208938
+0.2,1.11123,0.388773
+0.3,0.956442,0.543558
+0.4,0.823217,0.676783
+0.5,0.70855,0.79145
+0.6,0.609854,0.890146
+0.7,0.524907,0.975093
+0.8,0.451791,1.04821
+0.9,0.38886,1.11114
+1,0.334695,1.1653
+1.1,0.288075,1.21193
+1.2,0.247948,1.25205
+1.3,0.213411,1.28659
+1.4,0.183685,1.31632
+1.5,0.158099,1.3419
+1.6,0.136077,1.36392
+1.7,0.117122,1.38288
+1.8,0.100808,1.39919
+1.9,0.0867665,1.41323
+2,0.0746806,1.42532
+2.1,0.0642782,1.43572
+2.2,0.0553248,1.44468
+2.3,0.0476185,1.45238
+2.4,0.0409856,1.45901
+2.5,0.0352766,1.46472
+2.6,0.0303629,1.46964
+2.7,0.0261336,1.47387
+2.8,0.0224934,1.47751
+2.9,0.0193602,1.48064
+3,0.0166635,1.48334
+3.1,0.0143424,1.48566
+3.2,0.0123446,1.48766
+3.3,0.0106251,1.48937
+3.4,0.00914512,1.49085
+3.5,0.00787128,1.49213
+3.6,0.00677487,1.49323
+3.7,0.00583119,1.49417
+3.8,0.00501895,1.49498
+3.9,0.00431985,1.49568
+4,0.00371813,1.49628
+4.1,0.00320022,1.4968
+4.2,0.00275446,1.49725
+4.3,0.00237078,1.49763
+4.4,0.00204055,1.49796
+4.5,0.00175632,1.49824
+4.6,0.00151168,1.49849
+4.7,0.00130111,1.4987
+4.8,0.00111988,1.49888
+4.9,0.000963889,1.49904
+5,0.000829627,1.49917
diff --git a/models/sbml-test-suite/cases/semantic/00601/00601-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00601/00601-sbml-l2v4.xml
new file mode 100644
index 0000000..d301a5c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00601/00601-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00601" id="case00601" name="case00601">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00601/00601-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00601/00601-sbml-l3v1.xml
new file mode 100644
index 0000000..e4d6f9b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00601/00601-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00601" id="case00601" name="case00601" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00601/00601-settings.txt b/models/sbml-test-suite/cases/semantic/00601/00601-settings.txt
new file mode 100644
index 0000000..551352d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00601/00601-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00602/00602-results.csv b/models/sbml-test-suite/cases/semantic/00602/00602-results.csv
new file mode 100644
index 0000000..005425e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00602/00602-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01499999999999999
+0.1,0.008687642471110418,0.01868764247111037,0.01631235752888959
+0.2,0.007622194212872776,0.01762219421287274,0.01737780578712722
+0.3,0.006743133922940896,0.01674313392294085,0.0182568660770591
+0.4,0.006008151049714654,0.0160081510497146,0.01899184895028535
+0.5,0.00538677179327835,0.0153867717932783,0.01961322820672166
+0.6,0.004856487758979786,0.01485648775897974,0.02014351224102022
+0.7,0.004400310950548974,0.01440031095054893,0.02059968904945104
+0.8,0.004005177544554626,0.01400517754455458,0.02099482245544539
+0.9,0.003660875666012558,0.01366087566601251,0.02133912433398746
+1.,0.003359306602984057,0.01335930660298401,0.02164069339701595
+1.1,0.003093964776179397,0.01309396477617935,0.02190603522382061
+1.2,0.002859564024179806,0.01285956402417975,0.0221404359758202
+1.3,0.002651764797282125,0.01265176479728208,0.02234823520271788
+1.4,0.002466971421861394,0.01246697142186135,0.02253302857813861
+1.5,0.002302179463477624,0.01230217946347758,0.02269782053652239
+1.6,0.002154859397058684,0.01215485939705864,0.02284514060294133
+1.7,0.00202286672949333,0.01202286672949328,0.02297713327050668
+1.8,0.001904371869860759,0.01190437186986071,0.02309562813013926
+1.9,0.001797804840233696,0.01179780484023365,0.02320219515976632
+2.,0.001701811311845566,0.01170181131184552,0.02329818868815445
+2.1,0.001615217354916716,0.01161521735491667,0.0233847826450833
+2.2,0.001537000840173902,0.01153700084017386,0.02346299915982612
+2.3,0.001466268197474479,0.01146626819747444,0.02353373180252554
+2.4,0.001402235333250508,0.01140223533325046,0.02359776466674951
+2.5,0.00134421184134838,0.01134421184134834,0.02365578815865164
+2.6,0.001291587906832691,0.01129158790683265,0.02370841209316734
+2.7,0.001243823289187287,0.01124382328918724,0.02375617671081274
+2.8,0.001200438149156395,0.01120043814915635,0.02379956185084363
+2.9,0.00116100524607695,0.01116100524607691,0.02383899475392308
+3.,0.001125143307872909,0.01112514330787287,0.02387485669212712
+3.1,0.001092511379944493,0.01109251137994445,0.02390748862005554
+3.2,0.00106280397891128,0.01106280397891124,0.02393719602108875
+3.3,0.001035746923642625,0.01103574692364258,0.0239642530763574
+3.4,0.001011093765503742,0.0110110937655037,0.02398890623449629
+3.5,0.0009886225808512399,0.0109886225808512,0.02401137741914879
+3.6,0.0009681333569699601,0.01096813335696992,0.02403186664303007
+3.7,0.000949445519682289,0.01094944551968225,0.02405055448031774
+3.8,0.0009323959214286205,0.01093239592142858,0.02406760407857141
+3.9,0.0009168369448191348,0.01091683694481909,0.0240831630551809
+4.,0.0009026349731300143,0.01090263497312997,0.02409736502687001
+4.1,0.000889668863893222,0.01088966886389318,0.02411033113610681
+4.2,0.0008778287773113779,0.01087782877731134,0.02412217122268865
+4.3,0.0008670150063302255,0.01086701500633018,0.0241329849936698
+4.4,0.0008571369660365492,0.01085713696603651,0.02414286303396348
+4.5,0.0008481123663625045,0.01084811236636246,0.02415188763363753
+4.6,0.0008398663517615901,0.01083986635176155,0.02416013364823844
+4.7,0.0008323308141069994,0.01083233081410696,0.02416766918589303
+4.8,0.0008254437539831361,0.0108254437539831,0.0241745562460169
+4.9,0.0008191487199017439,0.0108191487199017,0.02418085128009829
+5.,0.0008133942777892304,0.01081339427778919,0.0241866057222108
diff --git a/models/sbml-test-suite/cases/semantic/00602/00602-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00602/00602-sbml-l2v4.xml
new file mode 100644
index 0000000..9d9bdb4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00602/00602-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00602" id="case00602" name="case00602">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.7" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00602/00602-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00602/00602-sbml-l3v1.xml
new file mode 100644
index 0000000..d086634
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00602/00602-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00602" id="case00602" name="case00602" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.7" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00602/00602-settings.txt b/models/sbml-test-suite/cases/semantic/00602/00602-settings.txt
new file mode 100644
index 0000000..06a1cff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00602/00602-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00603/00603-results.csv b/models/sbml-test-suite/cases/semantic/00603/00603-results.csv
new file mode 100644
index 0000000..baf99f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00603/00603-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,1.7,2.,1.
+0.05,1.434620296497497,1.634620296497497,2.065379703502504,1.065379703502502
+0.1,1.37858941238632,1.57858941238632,2.121410587613682,1.121410587613679
+0.15,1.33043522821675,1.53043522821675,2.16956477178325,1.169564771783249
+0.2,1.288950277439924,1.488950277439924,2.211049722560077,1.211049722560075
+0.25,1.253136382048308,1.453136382048308,2.246863617951692,1.246863617951691
+0.3,1.222162666266133,1.422162666266133,2.277837333733867,1.277837333733866
+0.35,1.195333325108005,1.395333325108005,2.304666674891995,1.304666674891994
+0.4,1.172062510026294,1.372062510026295,2.327937489973705,1.327937489973705
+0.45,1.151854655341948,1.351854655341948,2.348145344658052,1.348145344658052
+0.5,1.134288800435325,1.334288800435325,2.365711199564675,1.365711199564674
+0.55,1.119006076165985,1.319006076165985,2.380993923834014,1.380993923834014
+0.6,1.105699528239198,1.305699528239199,2.394300471760801,1.394300471760801
+0.65,1.094105884913131,1.294105884913131,2.405894115086868,1.405894115086868
+0.7,1.083998773573137,1.283998773573137,2.416001226426862,1.416001226426862
+0.75,1.075183123152004,1.275183123152004,2.424816876847995,1.424816876847995
+0.8,1.067490513635384,1.267490513635384,2.432509486364615,1.432509486364615
+0.85,1.060775286382139,1.26077528638214,2.43922471361786,1.43922471361786
+0.9,1.054911286526557,1.254911286526557,2.445088713473443,1.445088713473442
+0.95,1.04978910659803,1.24978910659803,2.45021089340197,1.450210893401969
+1.,1.045313754155303,1.245313754155304,2.454686245844696,1.454686245844696
+1.05,1.04140266919386,1.24140266919386,2.45859733080614,1.45859733080614
+1.1,1.037984038321324,1.237984038321324,2.462015961678675,1.462015961678675
+1.15,1.034995339094097,1.234995339094097,2.465004660905902,1.465004660905902
+1.2,1.032382117297969,1.23238211729797,2.46761788270203,1.46761788270203
+1.25,1.030096893493467,1.230096893493467,2.469903106506532,1.469903106506532
+1.3,1.028098278099032,1.228098278099032,2.471901721900967,1.471901721900967
+1.35,1.026350142777207,1.226350142777207,2.473649857222792,1.473649857222792
+1.4,1.024820967782143,1.224820967782143,2.475179032217856,1.475179032217856
+1.45,1.023483218913283,1.223483218913284,2.476516781086716,1.476516781086716
+1.5,1.022312859425593,1.222312859425593,2.477687140574406,1.477687140574406
+1.55,1.021288883659216,1.221288883659217,2.478711116340783,1.478711116340783
+1.6,1.020392932691973,1.220392932691973,2.479607067308028,1.479607067308027
+1.65,1.019608968775066,1.219608968775067,2.480391031224934,1.480391031224933
+1.7,1.018922966433691,1.218922966433692,2.481077033566309,1.481077033566308
+1.75,1.01832266193788,1.218322661937881,2.48167733806212,1.481677338062119
+1.8,1.017797336541686,1.217797336541686,2.482202663458315,1.482202663458313
+1.85,1.017337612140718,1.217337612140718,2.482662387859282,1.482662387859281
+1.9,1.01693528624163,1.21693528624163,2.48306471375837,1.483064713758369
+1.95,1.016583187089081,1.216583187089081,2.483416812910919,1.483416812910918
+2.,1.016275038149054,1.216275038149055,2.483724961850945,1.483724961850945
+2.05,1.016005348554263,1.216005348554264,2.483994651445736,1.483994651445736
+2.1,1.01576931627377,1.21576931627377,2.48423068372623,1.48423068372623
+2.15,1.015562737898887,1.215562737898887,2.484437262101113,1.484437262101112
+2.2,1.015381935813221,1.215381935813221,2.484618064186779,1.484618064186778
+2.25,1.015223692364814,1.215223692364814,2.484776307635186,1.484776307635185
+2.3,1.015085192044393,1.215085192044393,2.484914807955607,1.484914807955606
+2.35,1.014963970854179,1.214963970854179,2.485036029145821,1.48503602914582
+2.4,1.014857872399207,1.214857872399207,2.485142127600793,1.485142127600792
+2.45,1.014765009471224,1.214765009471224,2.485234990528776,1.485234990528775
+2.5,1.014683730480055,1.214683730480056,2.485316269519945,1.485316269519944
diff --git a/models/sbml-test-suite/cases/semantic/00603/00603-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00603/00603-sbml-l2v4.xml
new file mode 100644
index 0000000..1767113
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00603/00603-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00603" id="case00603" name="case00603">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.7" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00603/00603-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00603/00603-sbml-l3v1.xml
new file mode 100644
index 0000000..134d717
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00603/00603-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00603" id="case00603" name="case00603" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.7" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00603/00603-settings.txt b/models/sbml-test-suite/cases/semantic/00603/00603-settings.txt
new file mode 100644
index 0000000..0bc38d6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00603/00603-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00604/00604-results.csv b/models/sbml-test-suite/cases/semantic/00604/00604-results.csv
new file mode 100644
index 0000000..20ea91d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00604/00604-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0.0015
+0.1,0.001357256127044521,0.001642743872955478
+0.2,0.001228096129601075,0.001771903870398924
+0.3,0.00111122732901434,0.00188877267098566
+0.4,0.001005480066898731,0.001994519933101268
+0.5,0.0009097959873354758,0.002090204012664524
+0.6,0.0008232174418148309,0.002176782558185169
+0.7,0.0007448779411751748,0.002255122058824824
+0.8,0.0006739934324943025,0.002326006567505697
+0.9,0.000609854479120198,0.002390145520879802
+1.,0.0005518191330187442,0.002448180866981255
+1.1,0.00049930662553157,0.002500693374468432
+1.2,0.0004517913176941653,0.002548208682305837
+1.3,0.0004087976893981299,0.002591202310601871
+1.4,0.0003698954452238162,0.002630104554776185
+1.5,0.0003346952383734938,0.002665304761626507
+1.6,0.0003028447769055461,0.002697155223094455
+1.7,0.0002740252860569625,0.002725974713943039
+1.8,0.0002479483280603938,0.002752051671939608
+1.9,0.0002243529223470051,0.002775647077652996
+2.,0.0002030029224531345,0.002796997077546867
+2.1,0.0001836846420062064,0.002816315357993795
+2.2,0.0001662047260307261,0.002833795273969275
+2.3,0.0001503882646633015,0.0028496117353367
+2.4,0.0001360769230456258,0.002863923076954376
+2.5,0.0001231274918537838,0.002876872508146217
+2.6,0.000111410366470284,0.002888589633529717
+2.7,0.0001008082621122212,0.00289919173788778
+2.8,0.00009121509267024203,0.002908784907329759
+2.9,0.00008253482543913184,0.002917465174560869
+3.,0.00007468059435735502,0.002925319405642645
+3.1,0.00006757379853078201,0.002932426201469218
+3.2,0.00006114330574114676,0.002938856694258853
+3.3,0.00005532474879890446,0.002944675251201095
+3.4,0.00005005989964295066,0.002949940100357049
+3.5,0.00004529607117544021,0.00295470392882456
+3.6,0.00004098558316244741,0.002959014416837553
+3.7,0.00003708528868484062,0.00296291471131516
+3.8,0.00003355615446857519,0.002966443845531425
+3.9,0.00003036286420480182,0.002969637135795198
+4.,0.00002747345765881262,0.002972526542341188
+4.1,0.00002485901272725294,0.002975140987272747
+4.2,0.00002249336322820767,0.002977506636771792
+4.3,0.00002035283637976119,0.002979647163620239
+4.4,0.00001841600914203645,0.002981583990857964
+4.5,0.00001666349471362097,0.002983336505286379
+4.6,0.00001507775245648107,0.002984922247543519
+4.7,0.0000136429141599052,0.002986357085840094
+4.8,0.00001234461991177268,0.002987655380088227
+4.9,0.00001116987460423461,0.002988830125395765
+5.,0.00001010692049864576,0.002989893079501354
diff --git a/models/sbml-test-suite/cases/semantic/00604/00604-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00604/00604-sbml-l2v4.xml
new file mode 100644
index 0000000..0a22fb0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00604/00604-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00604" id="case00604" name="case00604">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00604/00604-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00604/00604-sbml-l3v1.xml
new file mode 100644
index 0000000..f75582a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00604/00604-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00604" id="case00604" name="case00604" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00604/00604-settings.txt b/models/sbml-test-suite/cases/semantic/00604/00604-settings.txt
new file mode 100644
index 0000000..8ed3e6c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00604/00604-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00605/00605-results.csv b/models/sbml-test-suite/cases/semantic/00605/00605-results.csv
new file mode 100644
index 0000000..61cd827
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00605/00605-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.1,0.120559635878846,0.2205596358788459,0.079440364121154
+0.2,0.1361689730764396,0.2361689730764396,0.06383102692356028
+0.3,0.1479918738855033,0.2479918738855033,0.05200812611449656
+0.4,0.1569307649084321,0.256930764908432,0.04306923509156788
+0.5,0.1636799814021832,0.263679981402183,0.03632001859781679
+0.6,0.1687706846361969,0.2687706846361968,0.03122931536380306
+0.7,0.1726074568431326,0.2726074568431325,0.02739254315686734
+0.8,0.1754974785706456,0.2754974785706454,0.0245025214293544
+0.9,0.1776734115399399,0.2776734115399397,0.0223265884600601
+1.,0.1793111552687403,0.2793111552687401,0.02068884473125965
+1.1,0.18054351743486,0.2805435174348598,0.01945648256513997
+1.2,0.1814706662314962,0.2814706662314959,0.0185293337685038
+1.3,0.1821680946342527,0.2821680946342524,0.01783190536574728
+1.4,0.1826926644582662,0.2826926644582659,0.0173073355417338
+1.5,0.183087187506933,0.2830871875069328,0.01691281249306696
+1.6,0.1833838861005763,0.2833838861005761,0.01661611389942371
+1.7,0.183607006427693,0.2836070064276928,0.01639299357230701
+1.8,0.1837747895163083,0.2837747895163082,0.01622521048369165
+1.9,0.1839009565946345,0.2839009565946343,0.01609904340536548
+2.,0.183995828013346,0.2839958280133459,0.01600417198665393
+2.1,0.1840671656013167,0.2840671656013166,0.01593283439868324
+2.2,0.1841208065890354,0.2841208065890352,0.01587919341096456
+2.3,0.1841611406233933,0.2841611406233932,0.01583885937660661
+2.4,0.1841914686416323,0.2841914686416323,0.01580853135836756
+2.5,0.1842142728230311,0.284214272823031,0.01578572717696882
+2.6,0.1842314196302889,0.2842314196302888,0.01576858036971106
+2.7,0.1842443125349291,0.284244312534929,0.01575568746507084
+2.8,0.184254006851513,0.2842540068515129,0.01574599314848697
+2.9,0.1842612961191614,0.2842612961191613,0.01573870388083856
+3.,0.184266776982397,0.2842667769823968,0.01573322301760302
+3.1,0.1842708981024454,0.2842708981024454,0.01572910189755454
+3.2,0.1842739967982031,0.284273996798203,0.01572600320179688
+3.3,0.1842763267329392,0.2842763267329391,0.01572367326706079
+3.4,0.1842780786300395,0.2842780786300394,0.01572192136996052
+3.5,0.1842793958960935,0.2842793958960934,0.01572060410390647
+3.6,0.1842803863586099,0.2842803863586098,0.01571961364139008
+3.7,0.1842811310953363,0.2842811310953362,0.01571886890466364
+3.8,0.1842816910683099,0.2842816910683097,0.0157183089316901
+3.9,0.1842821121158121,0.284282112115812,0.01571788788418785
+4.,0.1842824287042166,0.2842824287042163,0.01571757129578346
+4.1,0.1842826667491324,0.2842826667491321,0.01571733325086768
+4.2,0.1842828457367141,0.2842828457367139,0.01571715426328592
+4.3,0.1842829803187322,0.284282980318732,0.01571701968126785
+4.4,0.1842830815119378,0.2842830815119375,0.01571691848806223
+4.5,0.1842831575998848,0.2842831575998844,0.0157168424001153
+4.6,0.184283214811019,0.2842832148110187,0.01571678518898108
+4.7,0.1842832578286757,0.2842832578286754,0.01571674217132432
+4.8,0.1842832901737764,0.2842832901737761,0.0157167098262236
+4.9,0.1842833144941549,0.2842833144941546,0.01571668550584516
+5.,0.1842833327809221,0.2842833327809217,0.01571666721907797
diff --git a/models/sbml-test-suite/cases/semantic/00605/00605-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00605/00605-sbml-l2v4.xml
new file mode 100644
index 0000000..771f3f1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00605/00605-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00605" id="case00605" name="case00605">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00605/00605-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00605/00605-sbml-l3v1.xml
new file mode 100644
index 0000000..e59d0fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00605/00605-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00605" id="case00605" name="case00605" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00605/00605-settings.txt b/models/sbml-test-suite/cases/semantic/00605/00605-settings.txt
new file mode 100644
index 0000000..1c914c5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00605/00605-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00606/00606-results.csv b/models/sbml-test-suite/cases/semantic/00606/00606-results.csv
new file mode 100644
index 0000000..a3ceddd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00606/00606-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0005,0.001,0.002,0.0015
+0.16,0.0006055539794004811,0.00110555397940048,0.001894446020599517,0.00139444602059952
+0.32,0.0006962029516123492,0.001196202951612347,0.001803797048387649,0.001303797048387652
+0.48,0.0007744496302037702,0.001274449630203768,0.001725550369796228,0.001225550369796231
+0.64,0.0008422887144043968,0.001342288714404395,0.001657711285595601,0.001157711285595604
+0.8,0.0009013292750327116,0.00140132927503271,0.001598670724967286,0.001098670724967289
+0.96,0.0009528832503578075,0.001452883250357806,0.001547116749642191,0.001047116749642193
+1.12,0.0009980305727905159,0.001498030572790514,0.001501969427209482,0.001001969427209485
+1.28,0.001037667829704153,0.001537667829704152,0.001462332170295844,0.0009623321702958475
+1.44,0.001072545059777196,0.001572545059777195,0.001427454940222801,0.0009274549402228044
+1.6,0.001103294090387571,0.00160329409038757,0.001396705909612426,0.0008967059096124292
+1.76,0.001130450397060389,0.001630450397060388,0.001369549602939609,0.0008695496029396119
+1.92,0.001154470367948968,0.001654470367948967,0.001345529632051029,0.0008455296320510325
+2.08,0.001175744882649075,0.001675744882649073,0.001324255117350923,0.0008242551173509263
+2.24,0.001194610274297883,0.001694610274297881,0.001305389725702115,0.0008053897257021181
+2.4,0.001211357080780947,0.001711357080780946,0.001288642919219051,0.0007886429192190538
+2.56,0.001226237203382719,0.001726237203382718,0.001273762796617278,0.0007737627966172814
+2.72,0.001239469760988613,0.001739469760988612,0.001260530239011384,0.0007605302390113874
+2.88,0.00125124592486255,0.001751245924862548,0.001248754075137448,0.0007487540751374511
+3.04,0.001261732900191478,0.001761732900191477,0.001238267099808519,0.0007382670998085224
+3.2,0.001271077338103169,0.001771077338103168,0.001228922661896828,0.0007289226618968317
+3.36,0.001279408075922047,0.001779408075922045,0.001220591924077951,0.000720591924077954
+3.52,0.001286838551055836,0.001786838551055835,0.001213161448944161,0.0007131614489441643
+3.68,0.001293468826837975,0.001793468826837973,0.001206531173162023,0.0007065311731620261
+3.84,0.001299387268639277,0.001799387268639275,0.001200612731360721,0.0007006127313607242
+4.,0.001304672060631292,0.001804672060631291,0.001195327939368706,0.0006953279393687092
+4.16,0.001309392442626172,0.001809392442626171,0.001190607557373825,0.0006906075573738289
+4.32,0.001313609807595387,0.001813609807595386,0.001186390192404611,0.0006863901924046141
+4.48,0.001317378655336772,0.001817378655336771,0.001182621344663225,0.0006826213446632289
+4.64,0.001320747391656075,0.001820747391656074,0.001179252608343923,0.0006792526083439262
+4.8,0.001323759069925682,0.001823759069925681,0.001176240930074316,0.0006762409300743187
+4.96,0.001326451983559795,0.001826451983559793,0.001173548016440203,0.0006735480164402061
+5.12,0.001328860242399549,0.001828860242399548,0.001171139757600448,0.0006711397576004514
+5.28,0.001331014220590482,0.001831014220590481,0.001168985779409516,0.0006689857794095187
+5.44,0.00133294100177586,0.001832941001775859,0.001167058998224137,0.0006670589982241406
+5.6,0.001334664739920865,0.001834664739920863,0.001165335260079133,0.0006653352600791362
+5.76,0.001336206976023609,0.001836206976023607,0.001163793023976389,0.0006637930239763924
+5.92,0.001337586942710037,0.001837586942710036,0.001162413057289961,0.000662413057289964
+6.08,0.001338821811063886,0.001838821811063884,0.001161178188936112,0.0006611781889361154
+6.24,0.001339926912420006,0.001839926912420005,0.001160073087579992,0.0006600730875799951
+6.4,0.001340915943237183,0.001840915943237182,0.001159084056762814,0.0006590840567628179
+6.56,0.001341801145165238,0.001841801145165237,0.001158198854834759,0.0006581988548347629
+6.72,0.001342593457900062,0.001842593457900061,0.001157406542099936,0.0006574065420999392
+6.88,0.001343302660626005,0.001843302660626004,0.001156697339373993,0.0006566973393739962
+7.04,0.001343937496235491,0.00184393749623549,0.001156062503764506,0.0006560625037645102
+7.2,0.001344505782850336,0.001844505782850334,0.001155494217149662,0.0006554942171496661
+7.36,0.001345014512789542,0.00184501451278954,0.001154985487210456,0.0006549854872104602
+7.52,0.001345469940564272,0.001845469940564271,0.001154530059435726,0.0006545300594357296
+7.68,0.001345877661365674,0.001845877661365673,0.001154122338634324,0.0006541223386343276
+7.84,0.001346242680816734,0.001846242680816733,0.001153757319183264,0.0006537573191832675
+8.,0.00134656947826876,0.001846569478268758,0.001153430521731238,0.0006534305217312417
diff --git a/models/sbml-test-suite/cases/semantic/00606/00606-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00606/00606-sbml-l2v4.xml
new file mode 100644
index 0000000..2c6cf1e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00606/00606-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00606" id="case00606" name="case00606">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="12.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00606/00606-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00606/00606-sbml-l3v1.xml
new file mode 100644
index 0000000..43fc4ab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00606/00606-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00606" id="case00606" name="case00606" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="12.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00606/00606-settings.txt b/models/sbml-test-suite/cases/semantic/00606/00606-settings.txt
new file mode 100644
index 0000000..f4eccf8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00606/00606-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00607/00607-results.csv b/models/sbml-test-suite/cases/semantic/00607/00607-results.csv
new file mode 100644
index 0000000..24b40e9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00607/00607-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.02,0.00001050430948194581,0.00001550430948194581,9.49569051805419e-6,0.00002325646422291872
+0.04,0.00001092641124431881,0.0000159264112443188,9.07358875568119e-6,0.00002388961686647821
+0.06,0.00001127880797346971,0.00001627880797346971,8.721192026530288e-6,0.00002441821196020457
+0.08,0.0000115723860245538,0.00001657238602455381,8.427613975446199e-6,0.00002485857903683071
+0.1,0.00001181653011816757,0.00001681653011816758,8.183469881832424e-6,0.00002522479517725137
+0.12,0.00001201926533671109,0.00001701926533671109,7.98073466328891e-6,0.00002552889800506664
+0.14,0.00001218740922417096,0.00001718740922417096,7.812590775829039e-6,0.00002578111383625645
+0.16,0.00001232672228362101,0.00001732672228362101,7.673277716378982e-6,0.00002599008342543151
+0.18,0.00001244205114604549,0.0000174420511460455,7.557948853954503e-6,0.00002616307671906825
+0.2,0.00001253745846689963,0.00001753745846689964,7.462541533100362e-6,0.00002630618770034946
+0.22,0.00001261633999895114,0.00001761633999895115,7.383660001048855e-6,0.00002642450999842672
+0.24,0.00001268152716728923,0.00001768152716728924,7.318472832710767e-6,0.00002652229075093386
+0.26,0.00001273537622884109,0.0000177353762288411,7.264623771158903e-6,0.00002660306434326165
+0.28,0.0000127798447973023,0.00001777984479730232,7.220155202697691e-6,0.00002666976719595347
+0.3,0.000012816557045689,0.00001781655704568901,7.183442954311e-6,0.00002672483556853352
+0.32,0.00001284685916051211,0.00001784685916051212,7.153140839487884e-6,0.00002677028874076819
+0.34,0.00001287186580694196,0.00001787186580694196,7.128134193058044e-6,0.00002680779871041295
+0.36,0.00001289249928343336,0.00001789249928343337,7.107500716566639e-6,0.00002683874892515005
+0.38,0.00001290952225174179,0.00001790952225174179,7.090477748258206e-6,0.00002686428337761269
+0.4,0.0000129235650457079,0.0000179235650457079,7.076434954292098e-6,0.00002688534756856186
+0.42,0.0000129351484156524,0.0000179351484156524,7.0648515843476e-6,0.0000269027226234786
+0.44,0.00001294470243155199,0.000017944702431552,7.055297568448003e-6,0.000026917053647328
+0.46,0.00001295258217255552,0.00001795258217255553,7.047417827444473e-6,0.00002692887325883329
+0.48,0.00001295908074588318,0.00001795908074588319,7.040919254116813e-6,0.00002693862111882478
+0.5,0.00001296444000222285,0.00001796444000222286,7.035559997777143e-6,0.00002694666000333429
+0.52,0.00001296885957485359,0.0000179688595748536,7.031140425146405e-6,0.0000269532893622804
+0.54,0.00001297250411425937,0.00001797250411425937,7.02749588574063e-6,0.00002695875617138906
+0.56,0.00001297550946035952,0.00001797550946035952,7.024490539640478e-6,0.00002696326419053929
+0.58,0.00001297798769005857,0.00001797798769005857,7.02201230994143e-6,0.00002696698153508785
+0.6,0.00001298003121182686,0.00001798003121182686,7.019968788173139e-6,0.00002697004681774029
+0.62,0.00001298171626003162,0.00001798171626003162,7.018283739968375e-6,0.00002697257439004744
+0.64,0.00001298310570876102,0.00001798310570876102,7.016894291238976e-6,0.00002697465856314154
+0.66,0.00001298425139648803,0.00001798425139648803,7.01574860351197e-6,0.00002697637709473205
+0.68,0.00001298519608698807,0.00001798519608698808,7.014803913011923e-6,0.00002697779413048212
+0.7,0.00001298597503580435,0.00001798597503580435,7.01402496419565e-6,0.00002697896255370652
+0.72,0.00001298661731896519,0.00001798661731896519,7.013382681034811e-6,0.00002697992597844778
+0.74,0.00001298714691459166,0.00001798714691459167,7.012853085408333e-6,0.00002698072037188751
+0.76,0.00001298758358644396,0.00001798758358644396,7.012416413556041e-6,0.00002698137537966594
+0.78,0.00001298794364442347,0.00001798794364442348,7.012056355576525e-6,0.00002698191546663522
+0.8,0.00001298824052694958,0.00001798824052694959,7.011759473050413e-6,0.00002698236079042438
+0.82,0.00001298848531671851,0.00001798848531671852,7.011514683281481e-6,0.00002698272797507778
+0.84,0.00001298868715678272,0.00001798868715678272,7.011312843217281e-6,0.00002698303073517408
+0.86,0.00001298885358188189,0.00001798885358188189,7.011146418118105e-6,0.00002698328037282284
+0.88,0.00001298899080454028,0.00001798899080454029,7.011009195459712e-6,0.00002698348620681043
+0.9,0.00001298910394990841,0.00001798910394990841,7.010896050091587e-6,0.00002698365592486262
+0.92,0.00001298919724293808,0.00001798919724293808,7.010802757061919e-6,0.00002698379586440712
+0.94,0.0000129892741658555,0.0000179892741658555,7.010725834144491e-6,0.00002698391124878326
+0.96,0.000012989337591247,0.000017989337591247,7.010662408752994e-6,0.0000269840063868705
+0.98,0.00001298938988806155,0.00001798938988806155,7.010610111938443e-6,0.00002698408483209233
+1.,0.00001298943300844163,0.00001798943300844162,7.010566991558371e-6,0.00002698414951266244
diff --git a/models/sbml-test-suite/cases/semantic/00607/00607-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00607/00607-sbml-l2v4.xml
new file mode 100644
index 0000000..2e16110
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00607/00607-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00607" id="case00607" name="case00607">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00607/00607-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00607/00607-sbml-l3v1.xml
new file mode 100644
index 0000000..97a32c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00607/00607-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00607" id="case00607" name="case00607" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00607/00607-settings.txt b/models/sbml-test-suite/cases/semantic/00607/00607-settings.txt
new file mode 100644
index 0000000..68d7c50
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00607/00607-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00608/00608-results.csv b/models/sbml-test-suite/cases/semantic/00608/00608-results.csv
new file mode 100644
index 0000000..9d69a1a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00608/00608-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.00015,0.0001125
+0.04,0.8187307530157561,0.1814192469842437,0.1360644352381828
+0.08,0.670320042606458,0.3298299573935417,0.2473724680451563
+0.12,0.548811629306339,0.4513383706936609,0.3385037780202456
+0.16,0.4493289532082681,0.5508210467917319,0.4131157850937989
+0.2,0.3678794363432205,0.6322705636567795,0.4742029227425846
+0.24,0.301194210639989,0.698955789360011,0.5242168420200082
+0.28,0.246596963923108,0.753553036076892,0.5651647770576691
+0.32,0.2018964945901672,0.7982535054098329,0.5986901290573747
+0.36,0.1652988819769293,0.8348511180230707,0.626138338517303
+0.4,0.1353352740354768,0.8648147259645232,0.6486110444733924
+0.44,0.1108031474662966,0.8893468525337034,0.6670101394002776
+0.48,0.09071795235409707,0.9094320476459031,0.6820740357344273
+0.52,0.07427356911633921,0.925876430883661,0.6944073231627457
+0.56,0.06081006179274444,0.9393399382072557,0.7045049536554417
+0.6,0.04978706373754122,0.9503629362624589,0.7127722021968442
+0.64,0.04076220095394276,0.9593877990460574,0.719540849284543
+0.68,0.03337326888052084,0.9667767311194793,0.7250825483396095
+0.72,0.02732371920731216,0.9728262807926881,0.7296197105945161
+0.76,0.02237077184351337,0.9777792281564869,0.7333344211173652
+0.8,0.0183156368420456,0.9818343631579546,0.736375772368466
+0.84,0.01499557612299729,0.985154423877003,0.7388658179077523
+0.88,0.01227733917471906,0.9878726608252812,0.7409044956189609
+0.92,0.01005183469303657,0.9900981653069638,0.7425736239802228
+0.96,0.008229747004512458,0.9919202529954879,0.7439401897466159
+1.,0.006737946180299375,0.9934120538197008,0.7450590403647756
+1.04,0.005516564307479712,0.9946334356925203,0.7459750767693902
+1.08,0.004516580556185358,0.9956334194438147,0.7467250645828611
+1.12,0.003697863411546801,0.9964521365884534,0.74733910244134
+1.16,0.003027554671196068,0.9971224453288041,0.747841833996603
+1.2,0.002478751876845409,0.9976712481231548,0.7482534360923661
+1.24,0.00202943063012581,0.9981205693698745,0.7485904270274059
+1.28,0.001661557095968449,0.9984884429040318,0.7488663321780239
+1.32,0.001360367962172729,0.9987896320378276,0.7490922240283707
+1.36,0.001113775091512671,0.9990362249084876,0.7492771686813657
+1.4,0.0009118818651945155,0.9992381181348059,0.7494285886011044
+1.44,0.0007465858069292255,0.9994034141930712,0.7495525606448034
+1.48,0.0006112526880919279,0.9995387473119086,0.7496540604839314
+1.52,0.000500451419314893,0.9996495485806856,0.7497371614355142
+1.56,0.0004097349471914152,0.9997402650528091,0.7498051987896068
+1.6,0.0003354625976364256,0.999814537402364,0.749860903051773
+1.64,0.0002746535652083336,0.9998753464347921,0.749906509826094
+1.68,0.0002248672966822669,0.9999251327033181,0.7499438495274886
+1.72,0.0001841057923412242,0.9999658942076591,0.7499744206557443
+1.76,0.000150733059915134,0.9999992669400852,0.7499994502050639
+1.8,0.0001234097961540082,1.000026590203846,0.7500199426528847
+1.84,0.000101039397602013,1.000048960602398,0.7500367204517989
+1.88,0.00008272405607778951,1.000067275943922,0.750050456957942
+1.92,0.00006772873647993361,1.00008227126352,0.7500617034476403
+1.96,0.00005545159297585421,1.000094548407024,0.7500709113052681
+2.,0.00004539992976315827,1.000104600070237,0.7500784500526778
diff --git a/models/sbml-test-suite/cases/semantic/00608/00608-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00608/00608-sbml-l2v4.xml
new file mode 100644
index 0000000..749bcf1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00608/00608-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00608" id="case00608" name="case00608">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.08" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.00015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00608/00608-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00608/00608-sbml-l3v1.xml
new file mode 100644
index 0000000..3559c89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00608/00608-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00608" id="case00608" name="case00608" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.08" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00608/00608-settings.txt b/models/sbml-test-suite/cases/semantic/00608/00608-settings.txt
new file mode 100644
index 0000000..ba99698
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00608/00608-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00609/00609-results.csv b/models/sbml-test-suite/cases/semantic/00609/00609-results.csv
new file mode 100644
index 0000000..aa1fa2c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00609/00609-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.00015,0.00015,0.0001125
+0.04,0.0001228096129566186,0.0002043807740867624,0.0001532855805650718
+0.08,0.0001005480066291285,0.0002489039867417427,0.000186677990056307
+0.12,0.00008232174487033327,0.0002853565102593333,0.0002140173826945
+0.16,0.00006739934461450083,0.0003152013107709982,0.0002364009830782486
+0.2,0.00005518190638277436,0.0003396361872344511,0.0002547271404258383
+0.24,0.00004517913100435505,0.0003596417379912897,0.0002697313034934673
+0.28,0.000036989544583126,0.0003760209108337478,0.0002820156831253109
+0.32,0.00003028447760136352,0.0003894310447972728,0.0002920732835979546
+0.36,0.00002479483277102242,0.0004004103344579551,0.0003003077508434663
+0.4,0.00002030029214324479,0.0004093994157135103,0.0003070495617851327
+0.44,0.00001662047321268503,0.0004167590535746299,0.0003125692901809724
+0.48,0.00001360769153566373,0.0004227846169286725,0.0003170884626965044
+0.52,0.00001114103636120264,0.0004277179272775947,0.000320788445458196
+0.56,9.121509170834904e-6,0.0004317569816583302,0.0003238177362437476
+0.6,7.468060138473658e-6,0.0004350638797230526,0.0003262979097922894
+0.64,6.114330548864529e-6,0.0004377713389022708,0.0003283285041767031
+0.68,5.005990472336152e-6,0.0004399880190553276,0.0003299910142914957
+0.72,4.098558137700621e-6,0.0004418028837245986,0.000331352162793449
+0.76,3.355615346393948e-6,0.000443288769307212,0.000332466576980409
+0.8,2.74734532079628e-6,0.0004445053093584073,0.0003333789820188055
+0.84,2.249336056980028e-6,0.0004455013278860398,0.0003341259959145298
+0.88,1.841600648067011e-6,0.0004463167987038658,0.0003347375990278994
+0.92,1.507775177314227e-6,0.0004469844496453713,0.0003352383372340285
+0.96,1.234461997862066e-6,0.0004475310760042757,0.0003356483070032068
+1.,1.010692048498694e-6,0.0004479786159030025,0.0003359839619272518
+1.04,8.274846425593801e-7,0.0004483450307148811,0.0003362587730361608
+1.08,6.774870787529477e-7,0.000448645025842494,0.0003364837693818705
+1.12,5.546794679644908e-7,0.0004488906410640709,0.0003366679807980532
+1.16,4.541331198972317e-7,0.0004490917337602055,0.0003368188003201541
+1.2,3.718127519111653e-7,0.0004492563744961776,0.0003369422808721332
+1.24,3.044145479236565e-7,0.0004493911709041526,0.0003370433781781145
+1.28,2.492335698979315e-7,0.0004495015328602041,0.0003371261496451531
+1.32,2.040552019508404e-7,0.0004495918895960983,0.0003371939171970737
+1.36,1.670662714350837e-7,0.0004496658674571298,0.0003372494005928473
+1.4,1.36782287135718e-7,0.0004497264354257285,0.0003372948265692964
+1.44,1.119878568035683e-7,0.0004497760242863928,0.0003373320182147946
+1.48,9.168789704904192e-8,0.0004498166242059018,0.0003373624681544263
+1.52,7.506769946315072e-8,0.0004498498646010736,0.0003373873984508052
+1.56,6.146023560122922e-8,0.0004498770795287975,0.0003374078096465981
+1.6,5.031938805012614e-8,0.0004498993612238996,0.0003374245209179247
+1.64,4.119803352443756e-8,0.0004499176039329511,0.0003374382029497133
+1.68,3.373009858435363e-8,0.0004499325398028312,0.0003374494048521234
+1.72,2.761586835771374e-8,0.0004499447682632845,0.0003374585761974633
+1.76,2.260995916641871e-8,0.000449954780081667,0.0003374660850612502
+1.8,1.851146762110221e-8,0.0004499629770647576,0.0003374722327985682
+1.84,1.515590720707042e-8,0.0004499696881855857,0.0003374772661391892
+1.88,1.240860734588667e-8,0.0004499751827853081,0.000337481387088981
+1.92,1.015930889085393e-8,0.0004499796813822182,0.0003374847610366636
+1.96,8.317739214490765e-9,0.0004499833645215709,0.0003374875233911781
+2.,6.809989464624469e-9,0.0004499863800210706,0.000337489785015803
diff --git a/models/sbml-test-suite/cases/semantic/00609/00609-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00609/00609-sbml-l2v4.xml
new file mode 100644
index 0000000..712719b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00609/00609-sbml-l2v4.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00609" id="case00609" name="case00609">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00609/00609-settings.txt b/models/sbml-test-suite/cases/semantic/00609/00609-settings.txt
new file mode 100644
index 0000000..13c40dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00609/00609-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00610/00610-results.csv b/models/sbml-test-suite/cases/semantic/00610/00610-results.csv
new file mode 100644
index 0000000..c37b33a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00610/00610-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.1,0.00001368932032442437,0.00001838383676732878,6.31067967557563e-6,0.00002757575515099317
+0.2,0.00001582956878448168,0.00002009256617381981,4.170431215518318e-6,0.00003013884926072972
+0.3,0.00001706883777132257,0.00002082372053671467,2.931162228677427e-6,0.000031235580805072
+0.4,0.0000177895844421121,0.00002099588201582955,2.210415557887897e-6,0.00003149382302374432
+0.5,0.00001821352425569098,0.00002085371752235294,1.786475744309023e-6,0.00003128057628352941
+0.6,0.00001846794610526505,0.00002053816923563076,1.532053894734949e-6,0.00003080725385344614
+0.7,0.00001862555623386465,0.00002012975984003148,1.374443766135348e-6,0.00003019463976004722
+0.8,0.00001872778081004895,0.00001967425944662283,1.272219189951048e-6,0.00002951138916993424
+0.9,0.00001879820050764327,0.00001919758271541869,1.201799492356722e-6,0.00002879637407312805
+1.,0.00001885023681960668,0.00001871433898621576,1.149763180393314e-6,0.00002807150847932364
+1.1,0.00001889153256239292,0.00001823271113636465,1.108467437607075e-6,0.00002734906670454698
+1.2,0.00001892644385934171,0.00001775723155551947,1.073556140658281e-6,0.00002663584733327921
+1.3,0.000018957456946207,0.0000172903597562267,1.042543053792986e-6,0.00002593553963434005
+1.4,0.00001898599365861873,0.00001683337861589906,1.01400634138126e-6,0.00002525006792384859
+1.5,0.00001901286952418265,0.00001638690361164442,9.87130475817342e-7,0.00002458035541746663
+1.6,0.00001903855447425315,0.00001595117234101271,9.614455257468341e-7,0.00002392675851151907
+1.7,0.00001906332128480667,0.00001552620918578814,9.366787151933215e-7,0.0000232893137786822
+1.8,0.00001908733017176583,0.00001511191904388774,9.126698282341562e-7,0.00002266787856583161
+1.9,0.00001911067703375428,0.0000147081407147657,8.893229662457099e-7,0.00002206221107214855
+2.,0.00001913342097725136,0.00001431467731494125,8.665790227486276e-7,0.00002147201597241188
+2.1,0.00001915560003796197,0.00001393131361823553,8.443999620380192e-7,0.0000208969704273533
+2.2,0.00001917724016200714,0.00001355782593690671,8.227598379928422e-7,0.00002033673890536006
+2.3,0.00001919836034057972,0.00001319398774931552,8.016396594202662e-7,0.00001979098162397329
+2.4,0.00001921897554693077,0.00001283957289789193,7.810244530692122e-7,0.00001925935934683791
+2.5,0.00001923909841572494,0.00001249435739771108,7.609015842750443e-7,0.00001874153609656662
+2.6,0.00001925874020343429,0.00001215812045089426,7.412597965657051e-7,0.00001823718067634139
+2.7,0.0000192779113373101,0.00001183064500473763,7.220886626898924e-7,0.00001774596750710645
+2.8,0.00001929662172837465,0.00001151171804926065,7.03378271625342e-7,0.00001726757707389098
+2.9,0.000019314880949508,0.00001120113076385304,6.851190504919937e-7,0.00001680169614577956
+3.,0.00001933269833617508,0.0000108986785764316,6.673016638249129e-7,0.00001634801786464741
+3.1,0.00001935008304281123,0.00001060416117398245,6.499169571887606e-7,0.00001590624176097367
+3.2,0.00001936704407396063,0.00001031738248282119,6.329559260393675e-7,0.00001547607372423179
+3.3,0.00001938359030099141,0.00001003815063110995,6.164096990085924e-7,0.00001505722594666493
+3.4,0.00001939973047062421,9.766277901348437e-6,6.002695293757818e-7,0.00001464941685202265
+3.5,0.00001941547320879252,9.50158067932709e-6,5.845267912074716e-7,0.00001425237101899063
+3.6,0.00001943082702213909,9.243879393357891e-6,5.691729778609074e-7,0.00001386581909003683
+3.7,0.00001944580029797331,8.992998457333804e-6,5.541997020266835e-7,0.0000134894976860007
+3.8,0.00001946040130362196,8.74876620953786e-6,5.395986963780368e-7,0.00001312314931430679
+3.9,0.00001947463818552003,8.51101484925513e-6,5.253618144799657e-7,0.00001276652227388269
+4.,0.00001948851896823852,8.279580372313526e-6,5.114810317614771e-7,0.00001241937055847028
+4.1,0.00001950205155305915,8.054302520661407e-6,4.979484469408498e-7,0.00001208145378099211
+4.2,0.00001951524371799998,7.835024691805011e-6,4.847562820000242e-7,0.00001175253703770751
+4.3,0.00001952810311608857,7.621593904092625e-6,4.718968839114311e-7,0.00001143239085613893
+4.4,0.00001954063727530401,7.413860717049523e-6,4.593627246959943e-7,0.00001112079107557428
+4.5,0.00001955285359802322,7.211679171212355e-6,4.471464019767813e-7,0.00001081751875681853
+4.6,0.00001956475936067973,7.014906726195567e-6,4.352406393202785e-7,0.00001052236008929335
+4.7,0.0000195763617136914,6.823404195830491e-6,4.23638286308598e-7,0.00001023510629374573
+4.8,0.00001958766768148997,6.637035684866228e-6,4.123323185100376e-7,9.955553527299342e-6
+4.9,0.00001959868416261745,6.455668527826587e-6,4.013158373825582e-7,9.68350279173988e-6
+5.,0.00001960941793002402,6.279173226398622e-6,3.905820699759905e-7,9.418759839597932e-6
diff --git a/models/sbml-test-suite/cases/semantic/00610/00610-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00610/00610-sbml-l2v4.xml
new file mode 100644
index 0000000..d5b3639
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00610/00610-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00610" id="case00610" name="case00610">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="15000"/>
+      <parameter id="k2" name="k2" value="5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00610/00610-settings.txt b/models/sbml-test-suite/cases/semantic/00610/00610-settings.txt
new file mode 100644
index 0000000..161e1a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00610/00610-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00611/00611-results.csv b/models/sbml-test-suite/cases/semantic/00611/00611-results.csv
new file mode 100644
index 0000000..9fc4160
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00611/00611-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.04,0.8187307529178706,0.1812692470821296,0.1359519353115972
+0.08,0.6703200374947109,0.3296799625052893,0.247259971878967
+0.12,0.5488116327751873,0.451188367224813,0.3383912754186098
+0.16,0.4493289640740786,0.5506710359259214,0.4130032769444411
+0.2,0.3678794392829268,0.6321205607170732,0.4740904205378049
+0.24,0.3011942062316366,0.6988057937683632,0.5241043453262724
+0.28,0.2465969553286248,0.7534030446713752,0.5650522835035314
+0.32,0.2018964967316204,0.7981035032683795,0.5985776274512846
+0.36,0.1652988788958025,0.8347011211041975,0.6260258408281481
+0.4,0.1353352764827906,0.8646647235172095,0.6484985426379071
+0.44,0.1108031461972962,0.8891968538027039,0.6668976403520279
+0.48,0.09071795309729191,0.9092820469027083,0.6819615351770311
+0.52,0.0742735693372598,0.9257264306627405,0.6942948229970553
+0.56,0.06081006100619105,0.9391899389938093,0.704392454245357
+0.6,0.04978706441022475,0.9502129355897756,0.7126597016923317
+0.64,0.04076220040866298,0.9592377995913374,0.7194283496935031
+0.68,0.03337326929384144,0.966626730706159,0.7249700480296192
+0.72,0.02732371912696984,0.9726762808730306,0.7295072106547729
+0.76,0.02237077174742755,0.9776292282525729,0.7332219211894297
+0.8,0.01831563698396978,0.9816843630160306,0.736263272262023
+0.84,0.01499557594413462,0.9850044240558658,0.7387533180418993
+0.88,0.0122773393147655,0.9877226606852349,0.7407919955139261
+0.92,0.01005183462989276,0.9899481653701076,0.7424611240275806
+0.96,0.008229747036455447,0.991770252963545,0.7438276897226587
+1.,0.006737946197681987,0.9932620538023184,0.7449465403517388
+1.04,0.005516564263879292,0.9944834357361211,0.7458625768020908
+1.08,0.004516580591962806,0.9954834194080377,0.7466125645560283
+1.12,0.003697863386269732,0.9963021366137307,0.747226602460298
+1.16,0.003027554689729798,0.9969724453102707,0.747729333982703
+1.2,0.002478751874813204,0.9975212481251873,0.7481409360938905
+1.24,0.002029430624439471,0.997970569375561,0.7484779270316708
+1.28,0.001661557102640683,0.9983384428973598,0.7487538321730198
+1.32,0.001360367955302838,0.9986396320446976,0.7489797240335232
+1.36,0.001113775096679963,0.9988862249033205,0.7491646686774904
+1.4,0.000911881863459769,0.9990881181365407,0.7493160886024055
+1.44,0.0007465858076108948,0.9992534141923895,0.7494400606442921
+1.48,0.0006112526888147753,0.9993887473111856,0.7495415604833892
+1.52,0.000500451418285212,0.9994995485817151,0.7496246614362863
+1.56,0.000409734947938337,0.999590265052062,0.7496926987890465
+1.6,0.0003354625973785187,0.9996645374026218,0.7497484030519663
+1.64,0.0002746535653483932,0.9997253464346519,0.7497940098259889
+1.68,0.0002248672967497565,0.9997751327032505,0.7498313495274379
+1.72,0.0001841057923971412,0.999815894207603,0.7498619206557023
+1.76,0.0001507330598365467,0.9998492669401636,0.7498869502051227
+1.8,0.000123409796377367,0.9998765902036227,0.749907442652717
+1.84,0.0001010393973946143,0.9998989606026054,0.749924220451954
+1.88,0.00008272405621107434,0.9999172759437888,0.7499379569578417
+1.92,0.00006772873644900269,0.9999322712635507,0.7499492034476631
+1.96,0.00005545159290994636,0.9999445484070899,0.7499584113053174
+2.,0.00004539992976315478,0.9999546000702368,0.7499659500526776
diff --git a/models/sbml-test-suite/cases/semantic/00611/00611-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00611/00611-sbml-l1v2.xml
new file mode 100644
index 0000000..7b59d58
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00611/00611-sbml-l1v2.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00611">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="0.75"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k * S2" species="S3"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * S1">
+          <listOfParameters>
+            <parameter name="k" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00611/00611-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00611/00611-sbml-l2v4.xml
new file mode 100644
index 0000000..9bca9d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00611/00611-sbml-l2v4.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00611" id="case00611" name="case00611">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.75"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00611/00611-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00611/00611-sbml-l3v1.xml
new file mode 100644
index 0000000..9e27ade
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00611/00611-sbml-l3v1.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00611" id="case00611" name="case00611" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="5"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00611/00611-settings.txt b/models/sbml-test-suite/cases/semantic/00611/00611-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00611/00611-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00612/00612-results.csv b/models/sbml-test-suite/cases/semantic/00612/00612-results.csv
new file mode 100644
index 0000000..b2bd6af
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00612/00612-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.04,0.00001171804228251532,0.00001671804228251532,8.281957717484681e-6,0.00002507706342377297
+0.08,0.0000131009533137559,0.00001810095331375589,6.899046686244099e-6,0.00002715142997063384
+0.12,0.00001421224595396147,0.00001921224595396146,5.78775404603853e-6,0.00002881836893094219
+0.16,0.00001510406941984736,0.00002010406941984735,4.895930580152639e-6,0.00003015610412977103
+0.2,0.00001581899520947311,0.0000208189952094731,4.181004790526892e-6,0.00003122849281420966
+0.24,0.00001639161625492896,0.00002139161625492895,3.608383745071047e-6,0.00003208742438239343
+0.28,0.00001684994070611233,0.00002184994070611232,3.150059293887675e-6,0.00003277491105916849
+0.32,0.00001721657888798698,0.00002221657888798697,2.783421112013028e-6,0.00003332486833198045
+0.36,0.00001750974236470809,0.00002250974236470808,2.490257635291918e-6,0.00003376461354706213
+0.4,0.00001774407237305796,0.00002274407237305795,2.255927626942053e-6,0.00003411610855958692
+0.44,0.00001793132279577729,0.00002293132279577728,2.068677204222718e-6,0.00003439698419366593
+0.48,0.00001808091853163832,0.00002308091853163831,1.919081468361689e-6,0.00003462137779745748
+0.52,0.00001820041012861947,0.00002320041012861946,1.799589871380545e-6,0.00003480061519292919
+0.56,0.00001829584172452513,0.00002329584172452512,1.704158275474881e-6,0.00003494376258678769
+0.6,0.00001837204915272807,0.00002337204915272806,1.627950847271941e-6,0.0000350580737290921
+0.64,0.00001843289934726266,0.00002343289934726265,1.567100652737358e-6,0.00003514934902089397
+0.68,0.00001848148358173232,0.00002348148358173231,1.518516418267689e-6,0.00003522222537259847
+0.72,0.00001852027204628282,0.00002352027204628281,1.479727953717192e-6,0.00003528040806942422
+0.76,0.00001855123833420365,0.00002355123833420364,1.448761665796363e-6,0.00003532685750130547
+0.8,0.00001857595898536313,0.00002357595898536312,1.424041014636881e-6,0.00003536393847804468
+0.84,0.00001859569312500135,0.00002359569312500134,1.404306874998667e-6,0.000035393539687502
+0.88,0.00001861144620155856,0.00002361144620155855,1.388553798441452e-6,0.00003541716930233783
+0.92,0.00001862402108651062,0.0000236240210865106,1.375978913489395e-6,0.00003543603162976591
+0.96,0.00001863405884076409,0.00002363405884076408,1.365941159235929e-6,0.00003545108826114612
+1.,0.00001864207127180115,0.00002364207127180114,1.357928728198861e-6,0.00003546310690770172
+1.04,0.00001864846695705481,0.0000236484669570548,1.351533042945201e-6,0.0000354727004355822
+1.08,0.00001865357208073242,0.00002365357208073241,1.346427919267589e-6,0.00003548035812109862
+1.12,0.00001865764704049123,0.00002365764704049122,1.342352959508785e-6,0.00003548647056073683
+1.16,0.00001866089970035389,0.00002366089970035388,1.33910029964613e-6,0.00003549134955053082
+1.2,0.00001866349598014784,0.00002366349598014783,1.336504019852181e-6,0.00003549524397022174
+1.24,0.00001866556832864786,0.00002366556832864785,1.334431671352161e-6,0.00003549835249297177
+1.28,0.00001866722247374324,0.00002366722247374323,1.332777526256781e-6,0.00003550083371061484
+1.32,0.00001866854280790796,0.00002366854280790795,1.331457192092057e-6,0.00003550281421186192
+1.36,0.00001866959669150615,0.00002366959669150614,1.330403308493863e-6,0.00003550439503725922
+1.4,0.0000186704378943947,0.00002367043789439469,1.329562105605312e-6,0.00003550565684159204
+1.44,0.00001867110933724132,0.00002367110933724131,1.32889066275869e-6,0.00003550666400586198
+1.48,0.00001867164527818992,0.00002367164527818991,1.328354721810096e-6,0.00003550746791728487
+1.52,0.00001867207306203354,0.00002367207306203353,1.327926937966479e-6,0.0000355081095930503
+1.56,0.00001867241451555075,0.00002367241451555074,1.327585484449266e-6,0.00003550862177332611
+1.6,0.00001867268706080436,0.00002367268706080435,1.327312939195655e-6,0.00003550903059120653
+1.64,0.00001867290460470586,0.00002367290460470585,1.327095395294156e-6,0.00003550935690705878
+1.68,0.00001867307824529185,0.00002367307824529183,1.326921754708171e-6,0.00003550961736793775
+1.72,0.00001867321684369538,0.00002367321684369537,1.326783156304635e-6,0.00003550982526554306
+1.76,0.00001867332747214284,0.00002367332747214283,1.326672527857176e-6,0.00003550999120821425
+1.8,0.0000186734157741947,0.00002367341577419469,1.326584225805317e-6,0.00003551012366129203
+1.84,0.00001867348625634024,0.00002367348625634023,1.32651374365978e-6,0.00003551022938451034
+1.88,0.00001867354251443317,0.00002367354251443315,1.326457485566851e-6,0.00003551031377164973
+1.92,0.0000186735874190499,0.00002367358741904989,1.326412580950119e-6,0.00003551038112857483
+1.96,0.00001867362326148941,0.0000236736232614894,1.326376738510603e-6,0.00003551043489223411
+2.,0.00001867365187051743,0.00002367365187051742,1.326348129482586e-6,0.00003551047780577613
diff --git a/models/sbml-test-suite/cases/semantic/00612/00612-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00612/00612-sbml-l1v2.xml
new file mode 100644
index 0000000..350b6f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00612/00612-sbml-l1v2.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00612">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k * S2" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * S1 * S2">
+          <listOfParameters>
+            <parameter name="k" value="15000"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * S3">
+          <listOfParameters>
+            <parameter name="k" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00612/00612-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00612/00612-sbml-l2v4.xml
new file mode 100644
index 0000000..e0578c3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00612/00612-sbml-l2v4.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00612" id="case00612" name="case00612">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="15000"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00612/00612-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00612/00612-sbml-l3v1.xml
new file mode 100644
index 0000000..3d922a1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00612/00612-sbml-l3v1.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00612" id="case00612" name="case00612" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="15000"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="5"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00612/00612-settings.txt b/models/sbml-test-suite/cases/semantic/00612/00612-settings.txt
new file mode 100644
index 0000000..324e199
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00612/00612-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00613/00613-results.csv b/models/sbml-test-suite/cases/semantic/00613/00613-results.csv
new file mode 100644
index 0000000..536c155
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00613/00613-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.4,0.9607894505357768,0.000833845462800037,0.03837670400142282,0.01096477257183509
+0.8,0.9231163576760428,0.003244954546376271,0.07363868777758049,0.02103962507930871
+1.2,0.8869204465742713,0.007103947949298944,0.1059756054764292,0.03027874442183693
+1.6,0.852143797119792,0.01228934852172851,0.1355668543584791,0.03873338695956546
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.0464520239891676
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408772
+2.8,0.7557837471460103,0.03469896050720146,0.2095172923467876,0.05986208352765363
+3.2,0.7261490388594339,0.0441187653010724,0.229732195839493,0.06563777023985516
+3.6,0.6976763279936457,0.05436192220430618,0.2479617498020474,0.07084621422915637
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211858,0.07552395726319598
+4.4,0.6440364243161742,0.07699430970508103,0.2789692659787441,0.07970550456535545
+4.8,0.6187833959095926,0.08923458373363538,0.2919820203567714,0.08342343438764901
+5.2,0.5945205527446842,0.1019997080082743,0.3034797392470407,0.08670849692772592
+5.6,0.5712090691367363,0.115226949975085,0.3135639808881781,0.08958970882519376
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.4,0.527292430303364,0.1428377588031926,0.3298698108934429,0.09424851739812654
+6.8,0.5066169990569292,0.1571160534772621,0.3362669474658082,0.09607627070451664
+7.2,0.4867522629833074,0.1716454790421783,0.3416022579745136,0.09760064513557531
+7.6,0.4676664342769864,0.1863821660702592,0.3459513996527536,0.09884325704364391
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.4,0.431710531003235,0.2163174009346478,0.3519720680621165,0.1005634480177475
+8.8,0.4147829193123543,0.2314432235434361,0.3537738571442088,0.1010782448983453
+9.2,0.3985190487020195,0.2466305193308348,0.354850431967145,0.1013858377048985
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695932
+10.,0.3678794486179236,0.2770723716247996,0.3550481797572761,0.1014423370735074
+10.4,0.3534546892749864,0.2922740173858473,0.3542712933391656,0.1012203695254758
+10.8,0.3395955328109051,0.3074310434580307,0.3529734237310636,0.1008495496374467
+11.2,0.3262798016246614,0.3225220653115714,0.3511981330637665,0.1003423237325047
+11.6,0.3134861877122507,0.3375275074378869,0.3489863048498616,0.09971037281424619
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.4,0.2893842244231299,0.3672117317421291,0.3434040438347404,0.09811544109564013
+12.8,0.2780373067704968,0.381859433253978,0.3401032599755243,0.09717235999300698
+13.2,0.2671353081234729,0.396359199620259,0.3365054922562674,0.09614442635893352
+13.6,0.2566607829604508,0.4106989428400723,0.3326402741994762,0.09504007834270752
+14.,0.2465969698081156,0.4248677993481391,0.3285352308437446,0.09386720881249845
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153508
+14.8,0.2276376940033317,0.4526550476174064,0.319707258379261,0.09134493096550311
+15.2,0.218711892465461,0.4662571409389489,0.3150309665955892,0.09000884759873981
+15.6,0.210136076619001,0.4796556129651469,0.3102083104158512,0.08863094583310034
+16.,0.201896523328712,0.4928446152826624,0.3052588613886247,0.08721681753960708
+16.4,0.1939800475509628,0.5058191090957615,0.300200843353275,0.08577166952950714
+16.8,0.1863739812348858,0.5185748091363077,0.2950512096288057,0.08430034560823021
+17.2,0.1790661530508464,0.5311081307944476,0.2898257161547053,0.08280734747277292
+17.6,0.1720448689137586,0.5434161403007272,0.2845389907855135,0.08129685451014674
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171494
+18.4,0.1588174311185365,0.5673474631569459,0.2738351057245168,0.07823860163557623
+18.8,0.1525901107358551,0.5789677543709074,0.268442134893237,0.07669775282663916
+19.2,0.1466069670797981,0.5903566084244245,0.2630364244957769,0.0751532641416506
+19.6,0.1408584258429966,0.6015136944724306,0.2576278796845722,0.07360796562416344
+20.,0.1353352888698187,0.612439089880779,0.2522256212494018,0.07206446321411481
diff --git a/models/sbml-test-suite/cases/semantic/00613/00613-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00613/00613-sbml-l2v4.xml
new file mode 100644
index 0000000..4c851ba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00613/00613-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00613" id="case00613" name="case00613">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00613/00613-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00613/00613-sbml-l3v1.xml
new file mode 100644
index 0000000..5de36fc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00613/00613-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00613" id="case00613" name="case00613" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00613/00613-settings.txt b/models/sbml-test-suite/cases/semantic/00613/00613-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00613/00613-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00614/00614-results.csv b/models/sbml-test-suite/cases/semantic/00614/00614-results.csv
new file mode 100644
index 0000000..781e99c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00614/00614-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.3,0.970445544728663,0.0004722823928436032,0.02908217287849289,0.00830919225099797
+0.6,0.9417645450742537,0.001850518180322546,0.05638493674542322,0.01610998192726377
+0.9,0.913931195952238,0.004078839628504584,0.081989964419257,0.02342570411978771
+1.2,0.8869204465742713,0.007103947949298944,0.1059756054764292,0.03027874442183693
+1.5,0.8607079849377296,0.01087500589316853,0.1284170091691015,0.03669057404831471
+1.8,0.835270218770295,0.01534354582804565,0.1493862354016589,0.04268178154333113
+2.1,0.8105842523461136,0.02046336684114218,0.1689523808127437,0.04827210880364106
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408772
+2.7,0.7633795001978975,0.03248283280796873,0.2041376669941332,0.05832504771260949
+3.,0.7408182262524066,0.0393005895271262,0.2198811842204665,0.06282319549156185
+3.3,0.7189237338554762,0.04660567165040035,0.2344705944941227,0.06699159842689221
+3.6,0.6976763279936457,0.05436192220430618,0.2479617498020474,0.07084621422915637
+3.9,0.6770568797747071,0.06253489320838294,0.2604082270169092,0.07440235057625978
+4.2,0.6570468228093139,0.07109181489218297,0.2718613622985025,0.07767467494242934
+4.5,0.637628152895983,0.08000157060227219,0.2823702765017441,0.08067722185764116
+4.8,0.6187833959095926,0.08923458373363538,0.2919820203567714,0.08342343438764901
+5.1,0.6004955851568835,0.0987627320522631,0.3007416827908527,0.08592619508310078
+5.4,0.5827482557862521,0.1085593126661591,0.3086924315475882,0.08819783758502519
+5.7,0.5655254414880464,0.1185990139637024,0.3158755445482507,0.0902501555852145
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.3,0.5325918073316771,0.1393128812307306,0.3280953114375918,0.09374151755359765
+6.6,0.516851338219483,0.1499426377224825,0.3332060240580339,0.09520172115943827
+6.9,0.5015760732856667,0.160726628999983,0.3376972977143497,0.09648494220409992
+7.2,0.4867522629833074,0.1716454790421783,0.3416022579745136,0.09760064513557531
+7.5,0.4723665588664666,0.1826808399881816,0.344952601145351,0.09855788604152887
+7.8,0.4584060154667815,0.1938153813765564,0.3477786031566614,0.09936531518761757
+8.1,0.4448580716520164,0.2050327287305675,0.3501091996174153,0.10003119989069
+8.4,0.431710531003235,0.2163174009346478,0.3519720680621165,0.1005634480177475
+8.7,0.4189515550735856,0.2276547807003167,0.3533936642260969,0.1009696183503133
+9.,0.4065696644309687,0.2390311035261686,0.3543992320428618,0.1012569234408177
+9.3,0.3945537167989554,0.2504333930885366,0.3550128901125073,0.1014322543178592
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695932
+9.9,0.3715766965975826,0.2732676719273212,0.3551556314750954,0.101473037564313
+10.2,0.360594945414631,0.2846773568848901,0.3547276977004781,0.1013507707715652
+10.5,0.3499377562225606,0.2960683238607715,0.353993919916667,0.1011411199761905
+10.8,0.3395955328109051,0.3074310434580307,0.3529734237310636,0.1008495496374467
+11.1,0.3295589665092805,0.3187565947999753,0.3516844386907435,0.1004812681973553
+11.4,0.3198190275916367,0.3300366373494542,0.3501443350589084,0.1000412385882595
+11.7,0.3103669487221963,0.3412633665110488,0.3483696847667541,0.09953419564764404
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.3,0.2922925830798337,0.3635282292204305,0.3441791876997351,0.09833691077135289
+12.6,0.2836540327269612,0.3745532683746954,0.3417926988983427,0.09765505682809792
+12.9,0.2752707905251033,0.3854987397280361,0.3392304697468598,0.09692299135624568
+13.2,0.2671353081234729,0.396359199620259,0.3365054922562674,0.09614442635893352
+13.5,0.2592402660963983,0.4071296223790562,0.3336301115245448,0.09532288900701284
+13.8,0.2515785596092018,0.4178053662564615,0.330616074134336,0.09446173546695312
+14.1,0.2441432902310932,0.4283821515515735,0.3274745582173326,0.09356415949066647
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153508
+14.7,0.2299254907371861,0.4492234754846542,0.3208510337781588,0.09167172393661676
+15.,0.2231301671346401,0.4594811503451881,0.317388682520171,0.09068248072004885
diff --git a/models/sbml-test-suite/cases/semantic/00614/00614-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00614/00614-sbml-l2v4.xml
new file mode 100644
index 0000000..f6d1084
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00614/00614-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00614" id="case00614" name="case00614">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="2" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00614/00614-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00614/00614-sbml-l3v1.xml
new file mode 100644
index 0000000..38ad566
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00614/00614-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00614" id="case00614" name="case00614" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="2" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00614/00614-settings.txt b/models/sbml-test-suite/cases/semantic/00614/00614-settings.txt
new file mode 100644
index 0000000..7ed9d09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00614/00614-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00615/00615-results.csv b/models/sbml-test-suite/cases/semantic/00615/00615-results.csv
new file mode 100644
index 0000000..d3a3060
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00615/00615-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.5,0.951229435977038,0.00129394701186584,0.04747661701109569,0.0135647477174559
+1.,0.9048374286968407,0.005001238238300923,0.09016133306485804,0.02576038087567372
+1.5,0.8607079849377296,0.01087500589316853,0.1284170091691015,0.03669057404831471
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.0464520239891676
+2.5,0.7788007889254478,0.02822710671743584,0.1929721043571157,0.05513488695917592
+3.,0.7408182262524066,0.0393005895271262,0.2198811842204665,0.06282319549156185
+3.5,0.7046880949485934,0.05172854997037847,0.2435833550810274,0.06959524430886497
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211858,0.07552395726319598
+4.5,0.637628152895983,0.08000157060227219,0.2823702765017441,0.08067722185764116
+5.,0.6065306630909804,0.09555555953789099,0.2979137773711279,0.08511822210603656
+5.5,0.5769498167288155,0.1118800887288119,0.3111700945423721,0.08890574129782058
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.5,0.5220457805030899,0.1463812592420414,0.3315729602548682,0.09473513150139091
+7.,0.4965853076686745,0.1643521851900511,0.3390625071412738,0.09687500204036397
+7.5,0.4723665588664666,0.1826808399881816,0.344952601145351,0.09855788604152887
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.5,0.4274149377422891,0.2200913641393101,0.3524936981184001,0.1007124851766857
+9.,0.4065696644309687,0.2390311035261686,0.3543992320428618,0.1012569234408177
+9.5,0.3867410291040746,0.2580432709854239,0.3552156999105008,0.1014901999744288
+10.,0.3678794486179236,0.2770723716247996,0.3550481797572761,0.1014423370735074
+10.5,0.3499377562225606,0.2960683238607715,0.353993919916667,0.1011411199761905
+11.,0.3328710893023584,0.3149860662975904,0.3521428444000506,0.1006122412571573
+11.5,0.3166367747899352,0.3337851727543826,0.3495780524556814,0.09987944355876611
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.5,0.2865048043440484,0.3708868184904721,0.3426083771654789,0.09788810776156542
+13.,0.2725317993854338,0.3891285936075477,0.3383396070070178,0.0966684591448622
+13.5,0.2592402660963983,0.4071296223790562,0.3336301115245448,0.09532288900701284
+14.,0.2465969698081156,0.4248677993481391,0.3285352308437446,0.09386720881249845
+14.5,0.2345702950071955,0.4423238597074408,0.3231058452853629,0.09231595579581797
+15.,0.2231301668500321,0.4594811499220556,0.3173886832279114,0.09068248092226043
+15.5,0.2122479794504402,0.476325418807883,0.311426601741676,0.08897902906905026
+16.,0.201896523328712,0.4928446152826624,0.3052588613886247,0.08721681753960708
+16.5,0.1920499146188836,0.5090286987120578,0.2989213866690578,0.08540611047687367
+17.,0.1826835305578533,0.5248694671088017,0.292447002333344,0.08355628638095545
+17.5,0.1737739491941842,0.5403603990458888,0.2858656517599264,0.08167590050283614
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171494
+18.5,0.1572371715003665,0.5702741990587278,0.272488629440905,0.07785389412597285
+19.,0.1495686250077055,0.5846911426150138,0.2657402323772802,0.07592578067922294
+19.5,0.1422740772390961,0.5987461544247366,0.2589797683361667,0.07399421952461905
+20.,0.1353352881320281,0.6124390892251168,0.2522256226428545,0.07206446361224419
+20.5,0.1287349081929608,0.6257707379635332,0.2454943538435054,0.07014124395528723
+21.,0.1224564331960584,0.6387427319089701,0.2388008348949709,0.06822880996999169
+21.5,0.1164841630215884,0.6513574560682777,0.2321583809101331,0.06633096597432375
+22.,0.1108031631050642,0.6636179697213635,0.2255788671735716,0.06445110490673473
+22.5,0.105399228786221,0.6755279334944562,0.2190728377193219,0.06259223934837769
+23.,0.1002588479535309,0.6870915392909948,0.2126496127554737,0.06075703221584965
+23.5,0.09536916678047847,0.6983134471857005,0.2063173860338204,0.05894782458109154
+24.,0.09071795777162411,0.7091987277459966,0.2000833144823785,0.05716666128067958
+24.5,0.08629359045708402,0.719752809564461,0.1939535999784543,0.0554153142795584
+25.,0.08208500289161128,0.7299814301059336,0.1879335670024545,0.05369530485784414
diff --git a/models/sbml-test-suite/cases/semantic/00615/00615-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00615/00615-sbml-l2v4.xml
new file mode 100644
index 0000000..10bb466
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00615/00615-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00615" id="case00615" name="case00615">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00615/00615-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00615/00615-sbml-l3v1.xml
new file mode 100644
index 0000000..22a5203
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00615/00615-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00615" id="case00615" name="case00615" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00615/00615-settings.txt b/models/sbml-test-suite/cases/semantic/00615/00615-settings.txt
new file mode 100644
index 0000000..b565f5e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00615/00615-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00616/00616-results.csv b/models/sbml-test-suite/cases/semantic/00616/00616-results.csv
new file mode 100644
index 0000000..94cc2da
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00616/00616-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.15
+0.2,0.08607079760837681,0.1639292023916233
+0.4,0.07408182193659035,0.1759181780634098
+0.6,0.06376281506653873,0.1862371849334614
+0.8,0.05488116280370195,0.1951188371962981
+1.,0.04723665431736839,0.2027633456826317
+1.2,0.0406569652605484,0.2093430347394517
+1.4,0.03499376702478341,0.2150062329752167
+1.6,0.03011942117961189,0.2198805788203882
+1.8,0.0259240259128832,0.2240759740871169
+2.,0.02231301588942599,0.2276869841105741
+2.2,0.01920499068665628,0.2307950093133438
+2.4,0.01652988859045937,0.2334701114095408
+2.6,0.01422740679810972,0.2357725932018904
+2.8,0.0122456428240376,0.2377543571759625
+3.,0.01053992199971198,0.2394600780002881
+3.2,0.009071794798769336,0.2409282052012308
+3.4,0.007808166071347839,0.2421918339286522
+3.6,0.006720550807546455,0.2432794491924537
+3.8,0.005784431722250182,0.2442155682777499
+4.,0.004978706285472212,0.2450212937145279
+4.2,0.004285212276960098,0.24571478772304
+4.4,0.003688316541311937,0.2463116834586882
+4.6,0.003174563604549587,0.2468254363954505
+4.8,0.002732372230095554,0.2472676277699045
+5.,0.002351774476669897,0.2476482255233302
+5.2,0.002024190960602079,0.247975809039398
+5.4,0.001742237271069204,0.2482577627289309
+5.6,0.001499557538201614,0.2485004424617985
+5.8,0.001290681187860333,0.2487093188121398
+6.,0.001110899641832718,0.2488891003581674
+6.2,0.0009561601881695777,0.2490438398118305
+6.4,0.0008229746671861302,0.249177025332814
+6.6,0.0007083408287754677,0.2492916591712247
+6.8,0.0006096745890736203,0.2493903254109265
+7.,0.000524751789420981,0.2494752482105792
+7.2,0.0004516580694846133,0.2495483419305155
+7.4,0.0003887457200261601,0.249611254279974
+7.6,0.0003345965441187197,0.2496654034558814
+7.8,0.0002879899027516444,0.2497120100972485
+8.,0.000247875195313773,0.2497521248046863
+8.2,0.0002133481533977882,0.2497866518466023
+8.4,0.0001836304599765696,0.2498163695400235
+8.6,0.0001580522081280366,0.249841947791872
+8.8,0.0001360368021982488,0.2498639631978018
+9.,0.0001170879615370173,0.249882912038463
+9.2,0.0001007785383849744,0.2498992214616151
+9.4,0.00008674088793980147,0.2499132591120602
+9.6,0.00007465857257979366,0.2499253414274202
+9.8,0.000064259229813221,0.2499357407701868
+10.,0.00005530843701507382,0.2499446915629849
diff --git a/models/sbml-test-suite/cases/semantic/00616/00616-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00616/00616-sbml-l2v4.xml
new file mode 100644
index 0000000..24e64e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00616/00616-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00616" id="case00616" name="case00616">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00616/00616-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00616/00616-sbml-l3v1.xml
new file mode 100644
index 0000000..a401de3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00616/00616-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00616" id="case00616" name="case00616" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00616/00616-settings.txt b/models/sbml-test-suite/cases/semantic/00616/00616-settings.txt
new file mode 100644
index 0000000..0a0c994
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00616/00616-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00617/00617-results.csv b/models/sbml-test-suite/cases/semantic/00617/00617-results.csv
new file mode 100644
index 0000000..1cc8a84
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00617/00617-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.15
+0.1,0.09277434863089023,0.1572256513691097
+0.2,0.0860707976083621,0.1639292023916378
+0.3,0.07985162186099127,0.1701483781390087
+0.4,0.07408182193626267,0.1759181780637373
+0.5,0.06872892787841762,0.1812710721215823
+0.6,0.06376281506764912,0.1862371849323508
+0.7,0.05915553566594856,0.1908444643340513
+0.8,0.05488116279140539,0.1951188372085945
+0.9,0.05091564190293945,0.1990843580970604
+1.,0.04723665431160601,0.2027633456883939
+1.1,0.04382349920447235,0.2061765007955275
+1.2,0.04065696527195338,0.2093430347280465
+1.3,0.03771923497898943,0.2122807650210104
+1.4,0.03499376693204896,0.2150062330679509
+1.5,0.03246524673429276,0.2175347532657071
+1.6,0.03011942117957964,0.2198805788204202
+1.7,0.02794309681443749,0.2220569031855623
+1.8,0.02592402591054959,0.2240759740894502
+1.9,0.02405084617425488,0.2259491538257449
+2.,0.02231301589070149,0.2276869841092983
+2.1,0.02070075517608469,0.2292992448239151
+2.2,0.01920499071543556,0.2307950092845642
+2.3,0.01781730467118693,0.2321826953288128
+2.4,0.01652988854640361,0.2334701114535962
+2.5,0.01533549667098986,0.2346645033290099
+2.6,0.01422740682444149,0.2357725931755583
+2.7,0.01319938399251447,0.2368006160074853
+2.8,0.01224564280663589,0.2377543571933639
+2.9,0.01136081507111197,0.2386391849288878
+3.,0.01053992208348002,0.2394600779165197
+3.1,0.009778343971088321,0.2402216560289114
+3.2,0.009071794851921393,0.2409282051480783
+3.3,0.008416298525065698,0.241583701474934
+3.4,0.007808166094594406,0.2421918339054053
+3.5,0.007243975210230772,0.2427560247897689
+3.6,0.006720550807946629,0.2432794491920531
+3.7,0.006234947242142874,0.2437650527578568
+3.8,0.0057844317088583,0.2442155682911414
+3.9,0.005366468614154905,0.2446335313858448
+4.,0.004978706287090618,0.245021293712909
+4.1,0.004618962355341613,0.245381037644658
+4.2,0.00428521229812824,0.2457147877018714
+4.3,0.003975577876716191,0.2460244221232834
+4.4,0.0036883165657003,0.2463116834342993
+4.5,0.003421811747716625,0.246578188252283
+4.6,0.003174563616457046,0.2468254363835426
+4.7,0.002945180736835176,0.2470548192631645
+4.8,0.002732372221103201,0.2472676277788964
+4.9,0.002534940547603708,0.2474650594523959
+5.,0.002351774585600885,0.2476482254143987
diff --git a/models/sbml-test-suite/cases/semantic/00617/00617-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00617/00617-sbml-l2v4.xml
new file mode 100644
index 0000000..33870b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00617/00617-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00617" id="case00617" name="case00617">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00617/00617-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00617/00617-sbml-l3v1.xml
new file mode 100644
index 0000000..5bc0552
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00617/00617-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00617" id="case00617" name="case00617" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00617/00617-settings.txt b/models/sbml-test-suite/cases/semantic/00617/00617-settings.txt
new file mode 100644
index 0000000..5a66c8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00617/00617-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00618/00618-results.csv b/models/sbml-test-suite/cases/semantic/00618/00618-results.csv
new file mode 100644
index 0000000..f2012a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00618/00618-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.15
+0.3,0.07985162186135828,0.1701483781386417
+0.6,0.06376281506794113,0.1862371849320587
+0.9,0.05091564189099376,0.1990843581090061
+1.2,0.04065696525669292,0.2093430347433069
+1.5,0.03246524673420775,0.2175347532657921
+1.8,0.02592402591405404,0.2240759740859459
+2.1,0.02070075516961844,0.2292992448303815
+2.4,0.01652988856630358,0.2334701114336964
+2.7,0.01319938400308022,0.2368006159969198
+3.,0.01053992206270601,0.239460077937294
+3.3,0.008416298517953059,0.241583701482047
+3.6,0.006720550805079668,0.2432794491949203
+3.9,0.005366468611503335,0.2446335313884966
+4.2,0.00428521230331161,0.2457147876966884
+4.5,0.003421811752868664,0.2465781882471313
+4.8,0.002732372217972784,0.2472676277820272
+5.1,0.002181843385775137,0.2478181566142249
+5.4,0.001742237271435283,0.2482577627285647
+5.7,0.001391204772057632,0.2486087952279424
+6.,0.001110899645646728,0.2488891003543532
+6.3,0.0008870713671302334,0.2491129286328698
+6.6,0.0007083408266687922,0.2492916591733312
+6.9,0.0005656216313540471,0.249434378368646
+7.2,0.0004516580710825549,0.2495483419289174
+7.5,0.0003606563135633236,0.2496393436864367
+7.8,0.0002879899020751723,0.2497120100979249
+8.1,0.00022996459444597,0.249770035405554
+8.4,0.0001836304601769309,0.2498163695398231
+8.7,0.0001466319102069991,0.249853368089793
+9.,0.0001170879615174832,0.2498829120384825
+9.3,0.00009349663031850892,0.2499065033696815
+9.6,0.00007465857260179783,0.2499253414273983
+9.9,0.00005961608293229977,0.2499403839170677
+10.2,0.00004760441228659227,0.2499523955877134
+10.5,0.00003801289505548157,0.2499619871049445
+10.8,0.00003035391116157736,0.2499696460888385
+11.1,0.00002423808984301337,0.249975761910157
+11.4,0.00001935450879751245,0.2499806454912025
+11.7,0.00001545489007816237,0.2499845451099218
+12.,0.00001234097992755522,0.2499876590200724
+12.3,9.854472015693557e-6,0.2499901455279843
+12.6,7.868955736154197e-6,0.2499921310442638
+12.9,6.283489166997781e-6,0.249993716510833
+13.2,5.017468198483133e-6,0.2499949825318015
+13.5,4.006529497793597e-6,0.2499959934705021
+13.8,3.199278629093057e-6,0.2499968007213709
+14.1,2.554675931059235e-6,0.2499974453240689
+14.4,2.039950301138691e-6,0.2499979600496988
+14.7,1.628933412549277e-6,0.2499983710665874
+15.,1.300729765420108e-6,0.2499986992702346
diff --git a/models/sbml-test-suite/cases/semantic/00618/00618-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00618/00618-sbml-l2v4.xml
new file mode 100644
index 0000000..afb26e1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00618/00618-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00618" id="case00618" name="case00618">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00618/00618-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00618/00618-sbml-l3v1.xml
new file mode 100644
index 0000000..57fc6c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00618/00618-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00618" id="case00618" name="case00618" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00618/00618-settings.txt b/models/sbml-test-suite/cases/semantic/00618/00618-settings.txt
new file mode 100644
index 0000000..79865be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00618/00618-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00619/00619-results.csv b/models/sbml-test-suite/cases/semantic/00619/00619-results.csv
new file mode 100644
index 0000000..19b9ef0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00619/00619-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.05,0.7788007829652843,0.221199217034716,0.165899412776037
+0.1,0.6065306534644738,0.3934693465355264,0.2951020099016448
+0.15,0.4723665525734971,0.5276334474265029,0.3957250855698772
+0.2,0.3678794392829268,0.6321205607170732,0.4740904205378049
+0.25,0.2865047805915336,0.7134952194084662,0.5351214145563496
+0.3,0.2231301472372751,1.026869824742306,0.7701523685567297
+0.35,0.1737739329742797,1.076226039005301,0.8071695292539762
+0.4,0.1353352753688576,1.114664696610724,0.8359985224580432
+0.45,0.1053992168538595,1.144600755125722,0.8584505663442916
+0.5,0.08208499389977323,1.167914978079808,0.8759362335598563
+0.55,0.06392785748945045,1.18607211449013,0.8895540858675982
+0.6,0.04978706527896861,1.200212906700613,0.9001596800254598
+0.65,0.03877420540198607,1.211225766577595,0.9084193249331968
+0.7,0.03019738127936115,1.21980259070022,0.9148519430251655
+0.75,0.02351774407414839,1.226482227905433,0.9198616709290752
+0.8,0.01831563685879802,1.231684335120783,0.9237632513405877
+0.85,0.01426423267338325,1.235735739306198,0.9268018044796486
+0.9,0.01110899578252481,1.238890976197057,0.9291682321477927
+0.95,0.008651694703380671,1.241348277276201,0.9310112079571508
+1.,0.006737946503724333,1.243262025475857,0.9324465191068929
+1.05,0.005247517857997359,1.244752454121584,0.9335643405911883
+1.1,0.004086770889619016,1.245913201089963,0.9344349008174721
+1.15,0.003182780293926949,1.246817191685655,0.9351128937642414
+1.2,0.00247875175988058,1.247521220219701,0.9356409151647761
+1.25,0.001930453822345928,1.248069518157235,0.9360521386179269
+1.3,0.001503438978952453,1.248496533000629,0.9363723997504719
+1.35,0.001170879489483564,1.248829092490098,0.9366218193675734
+1.4,0.0009118818922381259,1.249088090087343,0.9368160675655075
+1.45,0.0007101743466474921,1.249289797632933,0.9369673482247002
+1.5,0.0005530843351356742,1.249446887644445,0.937085165733334
+1.55,0.0004307425026876628,1.249569229476893,0.9371769221076699
+1.6,0.0003354625877430209,1.249664509391837,0.9372483820438783
+1.65,0.0002612585186612753,1.249738713460919,0.9373040350956899
+1.7,0.0002034683354173386,1.249796503644163,0.9373473777331227
+1.75,0.0001584612986125627,1.249841510680968,0.9373811330107264
+1.8,0.0001234097851136022,1.249876562194467,0.9374074216458507
+1.85,0.00009611163980530788,1.249903860339776,0.937427895254832
+1.9,0.00007485182276028732,1.24992512015682,0.9374438401176157
+1.95,0.00005829465980982855,1.249941677319771,0.9374562579898284
+2.,0.00004539992713334325,1.249954572052447,0.9374659290393359
+2.05,0.0000353574982200317,1.249964614481361,0.9374734608610206
+2.1,0.00002753644647904868,1.249972435533101,0.9374793266498262
+2.15,0.00002144540541528556,1.249978526574165,0.9374838949306241
+2.2,0.00001670169814290125,1.249983270281438,0.9374874527110788
+2.25,0.00001300729546607949,1.249986964684115,0.9374902235130864
+2.3,0.0000101300919564359,1.249989841887625,0.9374923814157188
+2.35,7.889323711470249e-6,1.24999208265587,0.9374940619919025
+2.4,6.144211671369988e-6,1.24999382776791,0.9374953708259328
+2.45,4.785117012214868e-6,1.249995186862569,0.9374963901469272
+2.5,3.726652957835148e-6,1.249996245326624,0.9374971839949679
diff --git a/models/sbml-test-suite/cases/semantic/00619/00619-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00619/00619-sbml-l2v4.xml
new file mode 100644
index 0000000..0ef2228
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00619/00619-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00619" id="case00619" name="case00619">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00619/00619-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00619/00619-sbml-l3v1.xml
new file mode 100644
index 0000000..c1ee6bf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00619/00619-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00619" id="case00619" name="case00619" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00619/00619-settings.txt b/models/sbml-test-suite/cases/semantic/00619/00619-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00619/00619-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00620/00620-results.csv b/models/sbml-test-suite/cases/semantic/00620/00620-results.csv
new file mode 100644
index 0000000..0fc9ecf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00620/00620-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.05,0.7788007823394003,0.7211992176605996,0.5408994132454497
+0.1,0.6065306527835548,0.8934693472164451,0.6701020104123338
+0.15,0.4723665523631123,1.027633447636888,0.7707250857276659
+0.2,0.3678793768009918,1.132120623199008,0.8490904673992563
+0.25,0.2865047934612494,1.21349520653875,0.9101214049040629
+0.3,0.2231301597662277,1.02686977702016,0.77015233276512
+0.35,0.1737739427274322,1.076225994058955,0.8071694955442166
+0.4,0.1353352829546253,1.114664653831762,0.835998490373822
+0.45,0.105399222740071,1.144600714046316,0.8584505355347373
+0.5,0.08208499850923418,1.167914938277153,0.8759362037078648
+0.55,0.06392786107896184,1.186072075707425,0.8895540567805693
+0.6,0.04978706808212004,1.200212868704267,0.9001596515282004
+0.65,0.03877420752599768,1.211225729260389,0.9084192969452924
+0.7,0.03019738304173007,1.219802553744657,0.9148519153084929
+0.75,0.02351774528628764,1.226482191500099,0.9198616436250747
+0.8,0.01831563796034907,1.231684298826038,0.9237632241195288
+0.85,0.01426423340648093,1.235735703379906,0.9268017775349297
+0.9,0.0111089963548224,1.238890940431564,0.9291682053236736
+0.95,0.008651695191001637,1.241348241595385,0.931011181196539
+1.,0.006737946910777833,1.243261989875609,0.9324464924067067
+1.05,0.005247518181490691,1.244752418604896,0.9335643139536721
+1.1,0.004086771138698036,1.245913165647688,0.9344348742357665
+1.15,0.003182780482029063,1.246817156304357,0.9351128672282682
+1.2,0.002478751900652464,1.247521184885734,0.9356408886643008
+1.25,0.00193045392776295,1.248069482858623,0.9360521121439678
+1.3,0.001503439058674108,1.248496497727712,0.9363723732957844
+1.35,0.001170879550855299,1.248829057235531,0.9366217929266487
+1.4,0.0009118819405909171,1.249088054845796,0.9368160411343471
+1.45,0.0007101743856981862,1.249289762400688,0.9369673218005166
+1.5,0.0005530843669825277,1.249446852419404,0.9370851393145533
+1.55,0.0004307425279344203,1.249569194258452,0.9371768956938391
+1.6,0.0003354626073673752,1.249664474179019,0.9372483556342644
+1.65,0.0002612585337537826,1.249738678252632,0.9373040086894743
+1.7,0.0002034683469824502,1.249796468439403,0.9373473513295529
+1.75,0.000158461307490112,1.249841475478896,0.9373811066091719
+1.8,0.0001234097919645967,1.249876526994421,0.9374073952458161
+1.85,0.00009611164512867545,1.249903825141258,0.9374278688559434
+1.9,0.00007485182692157894,1.249925084959465,0.9374438137195987
+1.95,0.00005829466307170018,1.249941642123314,0.9374562315924861
+2.,0.00004539992968288129,1.249954536856703,0.9374659026425278
+2.05,0.00003535750019881836,1.249964579286187,0.9374734344646408
+2.1,0.00002753644801163444,1.249972400338374,0.9374793002537809
+2.15,0.00002144540660564616,1.24997849137978,0.9374838685348353
+2.2,0.00001670169907278206,1.249983235087313,0.9374874263154853
+2.25,0.00001300729619718007,1.249986929490189,0.9374901971176419
+2.3,0.00001013009253404794,1.249989806693852,0.9374923550203895
+2.35,7.889324168299798e-6,1.249992047462218,0.9374940355966636
+2.4,6.144212030940222e-6,1.249993792574355,0.9374953444307667
+2.45,4.785117291624422e-6,1.249995151669095,0.9374963637518212
+2.5,3.726653167096995e-6,1.249996210133219,0.9374971575999144
diff --git a/models/sbml-test-suite/cases/semantic/00620/00620-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00620/00620-sbml-l2v4.xml
new file mode 100644
index 0000000..06ca9cb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00620/00620-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00620" id="case00620" name="case00620">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00620/00620-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00620/00620-sbml-l3v1.xml
new file mode 100644
index 0000000..eea5673
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00620/00620-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00620" id="case00620" name="case00620" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00620/00620-settings.txt b/models/sbml-test-suite/cases/semantic/00620/00620-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00620/00620-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00621/00621-results.csv b/models/sbml-test-suite/cases/semantic/00621/00621-results.csv
new file mode 100644
index 0000000..c97e1b0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00621/00621-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.05,0.7788007823367005,0.7211992176632994,0.5408994132474745
+0.1,0.6065306527735142,0.8934693472264857,0.6701020104198642
+0.15,0.4723665524097645,1.027633447590235,0.7707250856926766
+0.2,0.367879375906358,1.132120624093642,0.8490904680702318
+0.25,0.286504796857231,1.213495203142768,0.9101214023570766
+0.3,0.2231301594154083,1.276869840584591,0.9576523804384434
+0.35,0.1737739402459655,1.326226059754033,0.9946695448155253
+0.4,0.1353352810263943,1.364664718973605,1.023498539230203
+0.45,0.1053992212060837,1.394600778793915,1.045950584095436
+0.5,0.08208499140683679,1.01791498229987,0.7634362367249025
+0.55,0.0639278554274875,1.036072118279219,0.7770540887094147
+0.6,0.04978706343044841,1.050212910276258,0.7876596827071938
+0.65,0.03877420366778717,1.061225770038919,0.7959193275291897
+0.7,0.03019737835171653,1.06980259535499,0.8023519465162425
+0.75,0.02351774275697349,1.076482230949732,0.8073616732122996
+0.8,0.01831563709279072,1.081684336613915,0.8112632524604368
+0.85,0.01426423263859384,1.085735741068112,0.8143018058010845
+0.9,0.01110899528134202,1.088890978425364,0.8166682338190234
+0.95,0.008651693908021397,1.091348279798685,0.8185112098490138
+1.,0.006737945779690199,1.093262027927016,0.8199465209452619
+1.05,0.005247517372905662,1.0947524563338,0.8210643422503505
+1.1,0.0040867706675126,1.095913203039193,0.8219349022793953
+1.15,0.003182780280394663,1.096817193426311,0.8226128950697336
+1.2,0.002478751866462986,1.097521221840243,0.8231409163801826
+1.25,0.001930453954842906,1.098069519751863,0.8235521398138978
+1.3,0.001503439055550642,1.098496534651155,0.8238724009883667
+1.35,0.001170879481189914,1.098829094225516,0.8241218206691372
+1.4,0.0009118818233367459,1.099088091883369,0.824316068912527
+1.45,0.0007101742574888458,1.099289799449217,0.8244673495869129
+1.5,0.0005530842617731768,1.099446889444933,0.8245851670836998
+1.55,0.0004307424607804352,1.099569231245926,0.8246769234344444
+1.6,0.0003354625755497861,1.099664511131156,0.8247483833483675
+1.65,0.0002612585262965832,1.09973871518041,0.8248040363853077
+1.7,0.0002034683505439959,1.099796505356162,0.8248473790171222
+1.75,0.0001584613101072954,1.099841512396599,0.8248811342974498
+1.8,0.0001234097885899282,1.099876563918116,0.8249074229385877
+1.85,0.00009611163649372156,1.099903862070213,0.8249278965526599
+1.9,0.00007485181578745875,1.099925121890919,0.8249438414181895
+1.95,0.00005829465232638164,1.09994167905438,0.8249562592907854
+2.,0.00004539992153286654,1.099954573785174,0.8249659303388805
+2.05,0.00003535749555760761,1.099964616211149,0.8249734621583618
+2.1,0.00002753644625248142,1.099972437260453,0.8249793279453403
+2.15,0.00002144540641636291,1.09997852830029,0.8249838962252176
+2.2,0.0000167016991394141,1.099983272007567,0.8249874540056754
+2.25,0.00001300729593618923,1.09998696641077,0.8249902248080781
+2.3,0.00001013009190016085,1.099989843614807,0.8249923827111052
+2.35,7.889323318869239e-6,1.099992084383388,0.8249940632875412
+2.4,6.144211157401717e-6,1.09999382949555,0.8249953721216625
+2.45,4.785116546398771e-6,1.099995188590161,0.8249963914426208
+2.5,3.7266528454814e-6,1.099996247053862,0.8249971852903965
diff --git a/models/sbml-test-suite/cases/semantic/00621/00621-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00621/00621-sbml-l2v4.xml
new file mode 100644
index 0000000..ca75ea6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00621/00621-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00621" id="case00621" name="case00621">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00621/00621-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00621/00621-sbml-l3v1.xml
new file mode 100644
index 0000000..d586cf7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00621/00621-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00621" id="case00621" name="case00621" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00621/00621-settings.txt b/models/sbml-test-suite/cases/semantic/00621/00621-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00621/00621-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00622/00622-results.csv b/models/sbml-test-suite/cases/semantic/00622/00622-results.csv
new file mode 100644
index 0000000..e211529
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00622/00622-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.1,0.7788007829652843,0.221199217034716,0.165899412776037
+0.2,0.6065306534644738,0.3934693465355264,0.2951020099016448
+0.3,0.4723665525734971,0.5276334474265029,0.3957250855698772
+0.4,0.3678794392829268,0.6321205607170732,0.4740904205378049
+0.5,0.2865047805915336,0.7134952194084662,0.5351214145563496
+0.6,0.2231301472372385,0.7768698527627612,0.5826523895720708
+0.7,0.1737739329752398,0.82622606702476,0.61966955026857
+0.8,0.1353352753661145,0.8646647246338854,0.648498543475414
+0.9,0.105399216826238,0.894600783173762,0.6709505873803215
+1.,0.08208499389988201,0.9179150061001177,0.6884362545750883
+1.1,0.06392785748575624,0.9360721425142433,0.7020541068856824
+1.2,0.04978706528595252,0.950212934714047,0.7126597010355352
+1.3,0.0387742053689801,0.9612257946310192,0.7209193459732643
+1.4,0.03019738131737184,0.9698026186826275,0.7273519640119706
+1.5,0.02351774401745954,0.97648225598254,0.732361691986905
+1.6,0.01831563709343535,0.7522056082269394,0.5641542061702046
+1.7,0.01426423247595776,0.7562570128444172,0.5671927596333129
+1.8,0.01110899544481357,0.7594122498755615,0.5695591874066712
+1.9,0.008651694217596742,0.7618695511027785,0.5714021633270839
+2.,0.00673794634077517,0.7637832989796004,0.5728374742347003
+2.1,0.005247517882715355,0.7652737274376606,0.5739552955782454
+2.2,0.004086771022373324,0.7664344742980027,0.5748258557235019
+2.3,0.00318278046152075,0.767338464858855,0.5755038486441412
+2.4,0.002478751909862143,0.7680424934105136,0.5760318700578852
+2.5,0.00193045389979502,0.7685907914205807,0.5764430935654355
+2.6,0.001503438974045475,0.7690178063463303,0.5767633547597477
+2.7,0.001170879466136145,0.7693503658542396,0.5770127743906797
+2.8,0.0009118818621923834,0.7696093634581835,0.5772070225936376
+2.9,0.0007101743194300808,0.7698110710009457,0.5773583032507092
+3.,0.0005530843097500252,0.7699681610106258,0.5774761207579693
+3.1,0.0004307424812757199,0.7700905028391001,0.5775678771293251
+3.2,0.0003354625709741229,0.7701857827494017,0.5776393370620512
+3.3,0.000261258506297276,0.7702599868140787,0.577694990110559
+3.4,0.0002034683267609348,0.7703177769936151,0.5777383327452113
+3.5,0.0001584612927958697,0.7703627840275801,0.5777720880206851
+3.6,0.000123409781272677,0.7703978355391034,0.5777983766543275
+3.7,0.000096111637175872,0.7704251336832003,0.5778188502624002
+3.8,0.00007485182072106166,0.7704463934996551,0.5778347951247413
+3.9,0.00005829465789272361,0.7704629506624833,0.5778472129968625
+4.,0.00004539992509343985,0.7704758453952828,0.577856884046462
+4.1,0.00003535749634587754,0.7704858878240302,0.5778644158680227
+4.2,0.00002753644495654557,0.7704937088754196,0.5778702816565647
+4.3,0.00002144540428302228,0.7704997999160931,0.5778748499370698
+4.4,0.00001670169736155993,0.7705045436230145,0.5778784077172609
+4.5,0.00001300729496201922,0.770508238025414,0.5778811785190605
+4.6,0.00001013009164770663,0.7705111152287283,0.5778833364215463
+4.7,7.889323522166898e-6,0.7705133559968541,0.5778850169976406
+4.8,6.144211538487626e-6,0.7705151011088378,0.5778863258316283
+4.9,4.785116887882135e-6,0.7705164602034885,0.5778873451526164
+5.,3.726652808181255e-6,0.7705175186675682,0.5778881390006761
diff --git a/models/sbml-test-suite/cases/semantic/00622/00622-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00622/00622-sbml-l2v4.xml
new file mode 100644
index 0000000..b793162
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00622/00622-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00622" id="case00622" name="case00622">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00622/00622-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00622/00622-sbml-l3v1.xml
new file mode 100644
index 0000000..bd08dee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00622/00622-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00622" id="case00622" name="case00622" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00622/00622-settings.txt b/models/sbml-test-suite/cases/semantic/00622/00622-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00622/00622-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00623/00623-results.csv b/models/sbml-test-suite/cases/semantic/00623/00623-results.csv
new file mode 100644
index 0000000..585ee5b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00623/00623-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.1,0.606530652734937,0.893469347265063,0.6701020104487972
+0.2,0.3678793772064842,1.132120622793515,0.8490904670951366
+0.3,0.2231301593864236,1.276869840613576,0.9576523804601824
+0.4,0.1353352827296378,1.364664717270361,1.023498537952771
+0.5,0.08208499836935288,1.417915001630646,1.063436251222984
+0.6,0.04978706798785716,1.450212932012142,1.087659699009106
+0.7,0.03019738286940604,1.469802617130593,1.102351962847945
+0.8,0.01831563781787338,1.481684362182126,1.111263271636594
+0.9,0.01110899639766705,1.488891003602332,1.116668252701749
+1.,0.006737946867325076,1.493262053132673,1.119946539849505
+1.1,0.004086771112444829,1.495913228887553,1.121934921665665
+1.2,0.002478751894639269,1.497521248105359,1.123140936079019
+1.3,0.001503439058391464,1.498496560941607,1.123872420706205
+1.4,0.0009118819396782899,1.49908811806032,1.12431608854524
+1.5,0.0005530843661721775,1.499446915633826,1.124585186725369
+1.6,0.000335462607383218,1.499664537392615,1.124748403044461
+1.7,0.0002034683468230013,1.499796531653175,1.124847398739881
+1.8,0.0001234097974774222,0.7500148612511453,0.562511145938359
+1.9,0.0000748518258556623,0.7500634192227673,0.5625475644170754
+2.,0.00004539992734529719,0.7500928711212779,0.5625696533409585
+2.1,0.00002753644776111519,0.750110734600862,0.5625830509506465
+2.2,0.00001670169967390677,0.7501215693489493,0.562591177011712
+2.3,0.00001013009252358222,0.7501281409560997,0.5625961057170747
+2.4,6.144211953179986e-6,0.7501321268366701,0.5625990951275026
+2.5,3.726652920220423e-6,0.7501345443957034,0.5626009082967775
+2.6,2.260329117724021e-6,0.7501360107195062,0.5626020080396296
+2.7,1.370958862048653e-6,0.7501369000897619,0.5626026750673214
+2.8,8.315286026041617e-7,0.7501374395200214,0.5626030796400161
+2.9,5.043476229747888e-7,0.7501377667010011,0.5626033250257509
+3.,3.059023028745975e-7,0.7501379651463213,0.5626034738597409
+3.1,1.855391153785158e-7,0.750138085509509,0.5626035641321317
+3.2,1.12535156736175e-7,0.7501381585134676,0.5626036188851006
+3.3,6.825602342740593e-8,0.750138202792601,0.5626036520944507
+3.4,4.139937328622488e-8,0.750138229649251,0.5626036722369383
+3.5,2.510999022063038e-8,0.7501382459386339,0.5626036844539754
+3.6,1.522997827663011e-8,0.750138255818646,0.5626036918639845
+3.7,9.237448256329299e-9,0.7501382618111759,0.5626036963583819
+3.8,5.602795544609518e-9,0.7501382654458285,0.5626036990843713
+3.9,3.39826744329242e-9,0.7501382676503567,0.5626037007377675
+4.,2.061153506651815e-9,0.7501382689874708,0.5626037017406031
+4.1,1.250152765393367e-9,0.7501382697984715,0.5626037023488537
+4.2,7.582559357337134e-10,0.7501382702903685,0.5626037027177763
+4.3,4.599054626762161e-10,0.7501382705887188,0.5626037029415391
+4.4,2.789467740023568e-10,0.7501382707696773,0.5626037030772579
+4.5,1.69189781188231e-10,0.7501382708794343,0.5626037031595757
+4.6,1.026187894189837e-10,0.7501382709460053,0.562603703209504
+4.7,6.224143829132542e-11,0.7501382709863827,0.562603703239787
+4.8,3.77513392680027e-11,0.7501382710108727,0.5626037032581545
+4.9,2.289734524033773e-11,0.7501382710257267,0.5626037032692949
+5.,1.388794312649442e-11,0.7501382710347361,0.5626037032760521
diff --git a/models/sbml-test-suite/cases/semantic/00623/00623-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00623/00623-sbml-l2v4.xml
new file mode 100644
index 0000000..5d9287c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00623/00623-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00623" id="case00623" name="case00623">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00623/00623-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00623/00623-sbml-l3v1.xml
new file mode 100644
index 0000000..fc3216f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00623/00623-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00623" id="case00623" name="case00623" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00623/00623-settings.txt b/models/sbml-test-suite/cases/semantic/00623/00623-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00623/00623-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00624/00624-results.csv b/models/sbml-test-suite/cases/semantic/00624/00624-results.csv
new file mode 100644
index 0000000..1861990
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00624/00624-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.1,0.6065306527282378,0.8934693472717621,0.6701020104538216
+0.2,0.3678793785780327,1.132120621421967,0.8490904660664755
+0.3,0.2231301601143213,1.276869839885678,0.9576523799142591
+0.4,0.1353352827995035,1.364664717200496,1.023498537900372
+0.5,0.08208499786926455,1.417915002130734,1.063436251598051
+0.6,0.04978706691007342,1.450212933089926,1.087659699817444
+0.7,0.03019738313854777,1.46980261686145,1.102351962646088
+0.8,0.01831563871854158,1.481684361281456,1.111263270961092
+0.9,0.01110899566660876,1.488891004333389,1.116668253250042
+1.,0.006737946668664118,1.001470549848109,0.7511029123860821
+1.1,0.00408677115559116,1.004121725361182,0.7530912940208867
+1.2,0.002478752054718019,1.005729744462055,0.7542973083465416
+1.3,0.001503439119377369,1.006705057397395,0.7550287930480469
+1.4,0.0009118818575787568,1.007296614659194,0.7554724609943956
+1.5,0.000553084304559031,1.007655412212214,0.7557415591591607
+1.6,0.0003354626096785803,1.007873033907094,0.7559047754303208
+1.7,0.0002034683543676331,1.008005028162405,0.7560037711218041
+1.8,0.0001234097876693631,1.008085086729103,0.7560638150468278
+1.9,0.00007485181794076106,1.008133644698832,0.7561002335241242
+2.,0.00004539992403094791,1.008163096592742,0.7561223224445565
+2.1,0.00002753644757716535,1.008180960069195,0.7561357200518965
+2.2,0.00001670169978701099,1.008191794816985,0.7561438461127392
+2.3,0.00001013009238613989,1.008198366424387,0.7561487748182902
+2.4,6.144211378209642e-6,1.008202352305395,0.7561517642290462
+2.5,3.726652654895486e-6,1.008204769864118,0.7561535773980887
+2.6,2.260329231473757e-6,1.008206236187541,0.7561546771406564
+2.7,1.370959015303383e-6,1.008207125557758,0.7561553441683185
+2.8,8.315286318069508e-7,1.008207664988141,0.7561557487411061
+2.9,5.043475847484746e-7,1.008207992169188,0.7561559941268915
+3.,3.059022749915506e-7,1.008208190614498,0.7561561429608739
+3.1,1.855391190723661e-7,1.008208310977654,0.7561562332332408
+3.2,1.12535169216612e-7,1.008208383981604,0.7561562879862033
+3.3,6.825602763141444e-8,1.008208428260746,0.7561563211955595
+3.4,4.139937111811544e-8,1.008208455117402,0.7561563413380519
+3.5,2.510998764750871e-8,1.008208471406786,0.7561563535550897
+3.6,1.522997809901983e-8,1.008208481286796,0.7561563609650972
+3.7,9.237449177103226e-9,1.008208487279324,0.7561563654594936
+3.8,5.602796015394517e-9,1.008208490913977,0.7561563681854834
+3.9,3.398267357140671e-9,1.008208493118506,0.75615636983888
+4.,2.061153294183705e-9,1.00820849445562,0.7561563708417156
+4.1,1.250152712915709e-9,1.008208495266621,0.7561563714499659
+4.2,7.582559961835201e-10,1.008208495758518,0.7561563718188885
+4.3,4.599055090042722e-10,1.008208496056868,0.7561563720426509
+4.4,2.789467749238475e-10,1.008208496237826,0.7561563721783701
+4.5,1.691897653177686e-10,1.008208496347583,0.7561563722606878
+4.6,1.026187823781966e-10,1.008208496414154,0.7561563723106161
+4.7,6.224144161822525e-11,1.008208496454532,0.756156372340899
+4.8,3.775134342437386e-11,1.008208496479022,0.7561563723592668
+4.9,2.289734596654194e-11,1.008208496493876,0.7561563723704073
+5.,1.388794318612138e-11,1.008208496502885,0.7561563723771644
diff --git a/models/sbml-test-suite/cases/semantic/00624/00624-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00624/00624-sbml-l2v4.xml
new file mode 100644
index 0000000..b2276c2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00624/00624-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00624" id="case00624" name="case00624">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00624/00624-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00624/00624-sbml-l3v1.xml
new file mode 100644
index 0000000..44638f2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00624/00624-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00624" id="case00624" name="case00624" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00624/00624-settings.txt b/models/sbml-test-suite/cases/semantic/00624/00624-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00624/00624-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00625/00625-results.csv b/models/sbml-test-suite/cases/semantic/00625/00625-results.csv
new file mode 100644
index 0000000..b4f0c60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00625/00625-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.0000109217168516862,0.00001592171685168619,9.078283148313796e-6,0.0000163825752775293
+0.4,0.00001175322248611593,0.00001675322248611592,8.246777513884069e-6,0.00001762983372917389
+0.6,0.00001250334614858563,0.00001750334614858562,7.496653851414368e-6,0.00001875501922287844
+0.8,0.00001318005293522239,0.00001818005293522239,6.819947064777604e-6,0.00001977007940283359
+1.,0.00001379052838101457,0.00001879052838101457,6.209471618985424e-6,0.00002068579257152185
+1.2,0.00001434125475998713,0.00001934125475998713,5.658745240012861e-6,0.0000215118821399807
+1.4,0.00001483807988873711,0.00001983807988873711,5.161920111262884e-6,0.00002225711983310566
+1.6,0.00001528627923921957,0.00002028627923921957,4.713720760780419e-6,0.00002292941885882936
+1.8,0.00001569061195944459,0.00002069061195944459,4.309388040555399e-6,0.00002353591793916689
+2.,0.00001605537201135175,0.00002105537201135175,3.944627988648242e-6,0.00002408305801702762
+2.2,0.00001638443067396678,0.00002138443067396677,3.615569326033227e-6,0.00002457664601095016
+2.4,0.00001668128397414227,0.00002168128397414227,3.318716025857725e-6,0.00002502192596121341
+2.6,0.00001694908334211642,0.00002194908334211642,3.050916657883575e-6,0.00002542362501317464
+2.8,0.00001719067238789137,0.00002219067238789137,2.809327612108627e-6,0.00002578600858183706
+3.,0.00001740861636010126,0.00002240861636010126,2.591383639898737e-6,0.00002611292454015189
+3.2,0.00001760522951714257,0.00002260522951714257,2.39477048285742e-6,0.00002640784427571386
+3.4,0.00001778259957214644,0.00002278259957214644,2.217400427853551e-6,0.00002667389935821966
+3.6,0.00001794260981060975,0.00002294260981060975,2.057390189390241e-6,0.00002691391471591463
+3.8,0.00001808695942631759,0.00002308695942631759,1.913040573682397e-6,0.00002713043913947639
+4.,0.00001821718110098768,0.00002321718110098767,1.782818899012317e-6,0.00002732577165148152
+4.2,0.00001833465754334666,0.00002333465754334665,1.665342456653334e-6,0.00002750198631501999
+4.4,0.00001844063628729467,0.00002344063628729467,1.559363712705321e-6,0.00002766095443094201
+4.6,0.00001853624246760236,0.00002353624246760236,1.463757532397627e-6,0.00002780436370140355
+4.8,0.00001862249149504929,0.00002362249149504929,1.377508504950704e-6,0.00002793373724257394
+5.,0.00001870029898173963,0.00002370029898173963,1.299701018260363e-6,0.00002805044847260945
+5.2,0.00001877049122313275,0.00002377049122313275,1.229508776867238e-6,0.00002815573683469913
+5.4,0.00001883381359495538,0.00002383381359495538,1.166186405044614e-6,0.00002825072039243307
+5.6,0.00001889093834173048,0.00002389093834173048,1.109061658269508e-6,0.00002833640751259573
+5.8,0.0000189424721616409,0.0000239424721616409,1.057527838359091e-6,0.00002841370824246136
+6.,0.00001898896223094105,0.00002398896223094104,1.011037769058948e-6,0.00002848344334641157
+6.2,0.00001903090215108336,0.00002403090215108336,9.690978489166296e-7,0.00002854635322662505
+6.4,0.00001906873725747461,0.00002406873725747461,9.312627425253851e-7,0.00002860310588621192
+6.6,0.00001910286932261635,0.00002410286932261635,8.971306773836424e-7,0.00002865430398392453
+6.8,0.00001913366080733739,0.00002413366080733739,8.663391926626052e-7,0.00002870049121100609
+7.,0.00001916143865302751,0.00002416143865302751,8.385613469724786e-7,0.00002874215797954127
+7.2,0.00001918649778658127,0.00002418649778658127,8.135022134187217e-7,0.00002877974667987191
+7.4,0.00001920910428992916,0.00002420910428992916,7.908957100708378e-7,0.00002881365643489374
+7.6,0.00001922949821801625,0.00002422949821801625,7.705017819837406e-7,0.00002884424732702439
+7.8,0.00001924789614108157,0.00002424789614108157,7.521038589184182e-7,0.00002887184421162237
+8.,0.00001926449342284265,0.00002426449342284265,7.355065771573465e-7,0.00002889674013426397
+8.2,0.00001927946627059378,0.00002427946627059377,7.205337294062176e-7,0.00002891919940589067
+8.4,0.00001929297367883728,0.00002429297367883728,7.070263211627083e-7,0.00002893946051825593
+8.6,0.0000193051590741782,0.0000243051590741782,6.948409258217906e-7,0.0000289577386112673
+8.8,0.00001931615184599961,0.00002431615184599961,6.838481540003791e-7,0.00002897422776899942
+9.,0.00001932606872021517,0.00002432606872021517,6.7393127978482e-7,0.00002898910308032276
+9.2,0.00001933501499859236,0.00002433501499859236,6.649850014076305e-7,0.00002900252249788854
+9.4,0.0000193430856767989,0.0000243430856767989,6.569143232010876e-7,0.00002901462851519836
+9.6,0.00001935036645303882,0.00002435036645303882,6.496335469611699e-7,0.00002902554967955824
+9.8,0.00001935693463667982,0.00002435693463667982,6.430653633201714e-7,0.00002903540195501973
+10.,0.00001936285997490206,0.00002436285997490206,6.371400250979317e-7,0.00002904428996235309
diff --git a/models/sbml-test-suite/cases/semantic/00625/00625-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00625/00625-sbml-l2v4.xml
new file mode 100644
index 0000000..120368b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00625/00625-sbml-l2v4.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00625" id="case00625" name="case00625">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00625/00625-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00625/00625-sbml-l3v1.xml
new file mode 100644
index 0000000..e734566
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00625/00625-sbml-l3v1.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00625" id="case00625" name="case00625" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00625/00625-settings.txt b/models/sbml-test-suite/cases/semantic/00625/00625-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00625/00625-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00626/00626-results.csv b/models/sbml-test-suite/cases/semantic/00626/00626-results.csv
new file mode 100644
index 0000000..fdf81b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00626/00626-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.3,0.00001134817294141684,0.00001634817294141684,8.651827058583161e-6,0.00001702225941212525
+0.6,0.0000125033461486053,0.0000175033461486053,7.496653851394701e-6,0.00001875501922290795
+0.9,0.00001349314881253342,0.00001849314881253343,6.50685118746658e-6,0.00002023972321880012
+1.2,0.00001434125475990844,0.00001934125475990845,5.658745240091553e-6,0.00002151188213986267
+1.5,0.00001506794885517597,0.00002006794885517598,4.932051144824024e-6,0.00002260192328276396
+1.8,0.0000156906119586454,0.00002069061195864541,4.309388041354594e-6,0.00002353591793796811
+2.1,0.00001622413694747473,0.00002122413694747474,3.775863052525265e-6,0.0000243362054212121
+2.4,0.00001668128397413968,0.00002168128397413969,3.318716025860319e-6,0.00002502192596120952
+2.7,0.00001707298763117841,0.00002207298763117842,2.927012368821582e-6,0.00002560948144676762
+3.,0.0000174086163600416,0.00002240861636004161,2.591383639958394e-6,0.0000261129245400624
+3.3,0.00001769619770980256,0.00002269619770980257,2.303802290197431e-6,0.00002654429656470384
+3.6,0.00001794260981067899,0.000022942609810679,2.057390189321004e-6,0.00002691391471601849
+3.9,0.00001815374650370134,0.00002315374650370135,1.846253496298657e-6,0.000027230619755552
+4.2,0.00001833465754341772,0.00002333465754341773,1.665342456582271e-6,0.00002750198631512659
+4.5,0.00001848967007328739,0.0000234896700732874,1.510329926712596e-6,0.00002773450510993109
+4.8,0.00001862249149503697,0.00002362249149503698,1.37750850496302e-6,0.00002793373724255546
+5.1,0.00001873629866417069,0.0000237362986641707,1.263701335829302e-6,0.00002810444799625604
+5.4,0.00001883381359502213,0.00002383381359502214,1.166186404977867e-6,0.00002825072039253319
+5.7,0.00001891736862783802,0.00002391736862783803,1.08263137216197e-6,0.00002837605294175704
+6.,0.00001898896223021349,0.0000239889622302135,1.011037769786505e-6,0.00002848344334532023
+6.3,0.00001905030669296683,0.00002405030669296684,9.496933070331663e-7,0.00002857546003945025
+6.6,0.00001910286932312637,0.00002410286932312638,8.971306768736317e-7,0.00002865430398468955
+6.9,0.00001914790730218841,0.00002414790730218842,8.520926978115871e-7,0.00002872186095328262
+7.2,0.00001918649778652808,0.00002418649778652809,8.135022134719134e-7,0.00002877974667979213
+7.5,0.00001921956377033018,0.00002421956377033019,7.80436229669813e-7,0.00002882934565549527
+7.8,0.00001924789614089551,0.00002424789614089552,7.521038591044809e-7,0.00002887184421134327
+8.1,0.00001927217258069116,0.00002427217258069117,7.278274193088335e-7,0.00002890825887103675
+8.4,0.00001929297367852589,0.0000242929736785259,7.070263214741054e-7,0.00002893946051778884
+8.7,0.00001931079693812066,0.00002431079693812067,6.892030618793335e-7,0.000028966195407181
+9.,0.00001932606872033028,0.00002432606872033028,6.739312796697245e-7,0.00002898910308049542
+9.3,0.00001933915421732905,0.00002433915421732906,6.608457826709537e-7,0.00002900873132599357
+9.6,0.00001935036645328648,0.00002435036645328649,6.496335467135185e-7,0.00002902554967992973
+9.9,0.00001935997358989362,0.00002435997358989363,6.400264101063797e-7,0.00002903996038484043
+10.2,0.00001936820538504494,0.00002436820538504495,6.317946149550575e-7,0.00002905230807756742
+10.5,0.0000193752587652588,0.00002437525876525881,6.247412347412044e-7,0.0000290628881478882
+10.8,0.00001938130238894447,0.00002438130238894448,6.186976110555343e-7,0.0000290719535834167
+11.1,0.00001938648084573497,0.00002438648084573498,6.13519154265027e-7,0.00002907972126860246
+11.4,0.00001939091795901845,0.00002439091795901846,6.090820409815481e-7,0.00002908637693852768
+11.7,0.00001939471988070837,0.00002439471988070838,6.052801192916315e-7,0.00002909207982106255
+12.,0.00001939797752601405,0.00002439797752601406,6.020224739859491e-7,0.00002909696628902108
+12.3,0.00001940076882153854,0.00002440076882153855,5.992311784614577e-7,0.00002910115323230781
+12.6,0.00001940316052409653,0.00002440316052409654,5.9683947590347e-7,0.00002910474078614479
+12.9,0.00001940520983770542,0.00002440520983770543,5.947901622945832e-7,0.00002910781475655813
+13.2,0.00001940696578121518,0.00002440696578121519,5.93034218784819e-7,0.00002911044867182276
+13.5,0.00001940847034669869,0.0000244084703466987,5.915296533013023e-7,0.00002911270552004803
+13.8,0.00001940975952745633,0.00002440975952745634,5.902404725436598e-7,0.0000291146392911845
+14.1,0.00001941086415010656,0.00002441086415010657,5.891358498934322e-7,0.00002911629622515984
+14.4,0.00001941181064197546,0.00002441181064197547,5.881893580245285e-7,0.00002911771596296319
+14.7,0.00001941262163479329,0.0000244126216347933,5.873783652066979e-7,0.00002911893245218993
+15.,0.00001941331652975996,0.00002441331652975997,5.866834702400212e-7,0.00002911997479463995
diff --git a/models/sbml-test-suite/cases/semantic/00626/00626-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00626/00626-sbml-l2v4.xml
new file mode 100644
index 0000000..5967249
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00626/00626-sbml-l2v4.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00626" id="case00626" name="case00626">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00626/00626-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00626/00626-sbml-l3v1.xml
new file mode 100644
index 0000000..5adebd7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00626/00626-sbml-l3v1.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00626" id="case00626" name="case00626" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00626/00626-settings.txt b/models/sbml-test-suite/cases/semantic/00626/00626-settings.txt
new file mode 100644
index 0000000..e9f4c16
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00626/00626-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00627/00627-results.csv b/models/sbml-test-suite/cases/semantic/00627/00627-results.csv
new file mode 100644
index 0000000..b4f0c60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00627/00627-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.0000109217168516862,0.00001592171685168619,9.078283148313796e-6,0.0000163825752775293
+0.4,0.00001175322248611593,0.00001675322248611592,8.246777513884069e-6,0.00001762983372917389
+0.6,0.00001250334614858563,0.00001750334614858562,7.496653851414368e-6,0.00001875501922287844
+0.8,0.00001318005293522239,0.00001818005293522239,6.819947064777604e-6,0.00001977007940283359
+1.,0.00001379052838101457,0.00001879052838101457,6.209471618985424e-6,0.00002068579257152185
+1.2,0.00001434125475998713,0.00001934125475998713,5.658745240012861e-6,0.0000215118821399807
+1.4,0.00001483807988873711,0.00001983807988873711,5.161920111262884e-6,0.00002225711983310566
+1.6,0.00001528627923921957,0.00002028627923921957,4.713720760780419e-6,0.00002292941885882936
+1.8,0.00001569061195944459,0.00002069061195944459,4.309388040555399e-6,0.00002353591793916689
+2.,0.00001605537201135175,0.00002105537201135175,3.944627988648242e-6,0.00002408305801702762
+2.2,0.00001638443067396678,0.00002138443067396677,3.615569326033227e-6,0.00002457664601095016
+2.4,0.00001668128397414227,0.00002168128397414227,3.318716025857725e-6,0.00002502192596121341
+2.6,0.00001694908334211642,0.00002194908334211642,3.050916657883575e-6,0.00002542362501317464
+2.8,0.00001719067238789137,0.00002219067238789137,2.809327612108627e-6,0.00002578600858183706
+3.,0.00001740861636010126,0.00002240861636010126,2.591383639898737e-6,0.00002611292454015189
+3.2,0.00001760522951714257,0.00002260522951714257,2.39477048285742e-6,0.00002640784427571386
+3.4,0.00001778259957214644,0.00002278259957214644,2.217400427853551e-6,0.00002667389935821966
+3.6,0.00001794260981060975,0.00002294260981060975,2.057390189390241e-6,0.00002691391471591463
+3.8,0.00001808695942631759,0.00002308695942631759,1.913040573682397e-6,0.00002713043913947639
+4.,0.00001821718110098768,0.00002321718110098767,1.782818899012317e-6,0.00002732577165148152
+4.2,0.00001833465754334666,0.00002333465754334665,1.665342456653334e-6,0.00002750198631501999
+4.4,0.00001844063628729467,0.00002344063628729467,1.559363712705321e-6,0.00002766095443094201
+4.6,0.00001853624246760236,0.00002353624246760236,1.463757532397627e-6,0.00002780436370140355
+4.8,0.00001862249149504929,0.00002362249149504929,1.377508504950704e-6,0.00002793373724257394
+5.,0.00001870029898173963,0.00002370029898173963,1.299701018260363e-6,0.00002805044847260945
+5.2,0.00001877049122313275,0.00002377049122313275,1.229508776867238e-6,0.00002815573683469913
+5.4,0.00001883381359495538,0.00002383381359495538,1.166186405044614e-6,0.00002825072039243307
+5.6,0.00001889093834173048,0.00002389093834173048,1.109061658269508e-6,0.00002833640751259573
+5.8,0.0000189424721616409,0.0000239424721616409,1.057527838359091e-6,0.00002841370824246136
+6.,0.00001898896223094105,0.00002398896223094104,1.011037769058948e-6,0.00002848344334641157
+6.2,0.00001903090215108336,0.00002403090215108336,9.690978489166296e-7,0.00002854635322662505
+6.4,0.00001906873725747461,0.00002406873725747461,9.312627425253851e-7,0.00002860310588621192
+6.6,0.00001910286932261635,0.00002410286932261635,8.971306773836424e-7,0.00002865430398392453
+6.8,0.00001913366080733739,0.00002413366080733739,8.663391926626052e-7,0.00002870049121100609
+7.,0.00001916143865302751,0.00002416143865302751,8.385613469724786e-7,0.00002874215797954127
+7.2,0.00001918649778658127,0.00002418649778658127,8.135022134187217e-7,0.00002877974667987191
+7.4,0.00001920910428992916,0.00002420910428992916,7.908957100708378e-7,0.00002881365643489374
+7.6,0.00001922949821801625,0.00002422949821801625,7.705017819837406e-7,0.00002884424732702439
+7.8,0.00001924789614108157,0.00002424789614108157,7.521038589184182e-7,0.00002887184421162237
+8.,0.00001926449342284265,0.00002426449342284265,7.355065771573465e-7,0.00002889674013426397
+8.2,0.00001927946627059378,0.00002427946627059377,7.205337294062176e-7,0.00002891919940589067
+8.4,0.00001929297367883728,0.00002429297367883728,7.070263211627083e-7,0.00002893946051825593
+8.6,0.0000193051590741782,0.0000243051590741782,6.948409258217906e-7,0.0000289577386112673
+8.8,0.00001931615184599961,0.00002431615184599961,6.838481540003791e-7,0.00002897422776899942
+9.,0.00001932606872021517,0.00002432606872021517,6.7393127978482e-7,0.00002898910308032276
+9.2,0.00001933501499859236,0.00002433501499859236,6.649850014076305e-7,0.00002900252249788854
+9.4,0.0000193430856767989,0.0000243430856767989,6.569143232010876e-7,0.00002901462851519836
+9.6,0.00001935036645303882,0.00002435036645303882,6.496335469611699e-7,0.00002902554967955824
+9.8,0.00001935693463667982,0.00002435693463667982,6.430653633201714e-7,0.00002903540195501973
+10.,0.00001936285997490206,0.00002436285997490206,6.371400250979317e-7,0.00002904428996235309
diff --git a/models/sbml-test-suite/cases/semantic/00627/00627-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00627/00627-sbml-l2v4.xml
new file mode 100644
index 0000000..e3409e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00627/00627-sbml-l2v4.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00627" id="case00627" name="case00627">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00627/00627-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00627/00627-sbml-l3v1.xml
new file mode 100644
index 0000000..4d7faa1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00627/00627-sbml-l3v1.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00627" id="case00627" name="case00627" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00627/00627-settings.txt b/models/sbml-test-suite/cases/semantic/00627/00627-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00627/00627-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00628/00628-results.csv b/models/sbml-test-suite/cases/semantic/00628/00628-results.csv
new file mode 100644
index 0000000..a0b3e92
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00628/00628-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,1.008126371549002e-24,2.013025176251973e-11
+0.4,0.9607894505357768,0.000833845462800037,0.03837670400142282,0.01096477257183509
+0.8,0.9231163576760428,0.003244954546376271,0.07363868777758049,0.02103962507930871
+1.2,0.8869204465742713,0.007103947949298944,0.1059756054764292,0.03027874442183693
+1.6,0.852143797119792,0.01228934852172851,0.1355668543584791,0.03873338695956546
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.0464520239891676
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408772
+2.8,0.7557837471460103,0.03469896050720146,0.2095172923467876,0.05986208352765363
+3.2,0.7261490388594339,0.0441187653010724,0.229732195839493,0.06563777023985516
+3.6,0.6976763279936457,0.05436192220430618,0.2479617498020474,0.07084621422915637
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211858,0.07552395726319598
+4.4,0.6440364243161742,0.07699430970508103,0.2789692659787441,0.07970550456535545
+4.8,0.6187833959095926,0.08923458373363538,0.2919820203567714,0.08342343438764901
+5.2,0.5945205527446842,0.1019997080082743,0.3034797392470407,0.08670849692772592
+5.6,0.5712090691367363,0.115226949975085,0.3135639808881781,0.08958970882519376
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.4,0.527292430303364,0.1428377588031926,0.3298698108934429,0.09424851739812654
+6.8,0.5066169990569292,0.1571160534772621,0.3362669474658082,0.09607627070451664
+7.2,0.4867522629833074,0.1716454790421783,0.3416022579745136,0.09760064513557531
+7.6,0.4676664342769864,0.1863821660702592,0.3459513996527536,0.09884325704364391
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.4,0.431710531003235,0.2163174009346478,0.3519720680621165,0.1005634480177475
+8.8,0.4147829193123543,0.2314432235434361,0.3537738571442088,0.1010782448983453
+9.2,0.3985190487020195,0.2466305193308348,0.354850431967145,0.1013858377048985
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695932
+10.,0.3678794486179236,0.2770723716247996,0.3550481797572761,0.1014423370735074
+10.4,0.3534546892749864,0.2922740173858473,0.3542712933391656,0.1012203695254758
+10.8,0.3395955328109051,0.3074310434580307,0.3529734237310636,0.1008495496374467
+11.2,0.3262798016246614,0.3225220653115714,0.3511981330637665,0.1003423237325047
+11.6,0.3134861877122507,0.3375275074378869,0.3489863048498616,0.09971037281424619
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.4,0.2893842244231299,0.3672117317421291,0.3434040438347404,0.09811544109564013
+12.8,0.2780373067704968,0.381859433253978,0.3401032599755243,0.09717235999300698
+13.2,0.2671353081234729,0.396359199620259,0.3365054922562674,0.09614442635893352
+13.6,0.2566607829604508,0.4106989428400723,0.3326402741994762,0.09504007834270752
+14.,0.2465969698081156,0.4248677993481391,0.3285352308437446,0.09386720881249845
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153508
+14.8,0.2276376940033317,0.4526550476174064,0.319707258379261,0.09134493096550311
+15.2,0.218711892465461,0.4662571409389489,0.3150309665955892,0.09000884759873981
+15.6,0.210136076619001,0.4796556129651469,0.3102083104158512,0.08863094583310034
+16.,0.201896523328712,0.4928446152826624,0.3052588613886247,0.08721681753960708
+16.4,0.1939800475509628,0.5058191090957615,0.300200843353275,0.08577166952950714
+16.8,0.1863739812348858,0.5185748091363077,0.2950512096288057,0.08430034560823021
+17.2,0.1790661530508464,0.5311081307944476,0.2898257161547053,0.08280734747277292
+17.6,0.1720448689137586,0.5434161403007272,0.2845389907855135,0.08129685451014674
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171494
+18.4,0.1588174311185365,0.5673474631569459,0.2738351057245168,0.07823860163557623
+18.8,0.1525901107358551,0.5789677543709074,0.268442134893237,0.07669775282663916
+19.2,0.1466069670797981,0.5903566084244245,0.2630364244957769,0.0751532641416506
+19.6,0.1408584258429966,0.6015136944724306,0.2576278796845722,0.07360796562416344
+20.,0.1353352888698187,0.612439089880779,0.2522256212494018,0.07206446321411481
diff --git a/models/sbml-test-suite/cases/semantic/00628/00628-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00628/00628-sbml-l2v4.xml
new file mode 100644
index 0000000..a0e1767
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00628/00628-sbml-l2v4.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00628" id="case00628" name="case00628">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+      <parameter id="p1" name="p1" value="10"/>
+      <parameter id="p2" name="p2" value="0.01"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00628/00628-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00628/00628-sbml-l3v1.xml
new file mode 100644
index 0000000..ce7cb63
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00628/00628-sbml-l3v1.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00628" id="case00628" name="case00628" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+      <parameter id="p1" name="p1" value="10" constant="true"/>
+      <parameter id="p2" name="p2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00628/00628-settings.txt b/models/sbml-test-suite/cases/semantic/00628/00628-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00628/00628-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00629/00629-results.csv b/models/sbml-test-suite/cases/semantic/00629/00629-results.csv
new file mode 100644
index 0000000..87116fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00629/00629-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,1.008126371549002e-24,6.385840512600478e-12
+0.3,0.970445544728663,0.0004722823928436032,0.02908217287849289,0.00830919225099797
+0.6,0.9417645450742537,0.001850518180322546,0.05638493674542322,0.01610998192726377
+0.9,0.913931195952238,0.004078839628504584,0.081989964419257,0.02342570411978771
+1.2,0.8869204465742713,0.007103947949298944,0.1059756054764292,0.03027874442183693
+1.5,0.8607079849377296,0.01087500589316853,0.1284170091691015,0.03669057404831471
+1.8,0.835270218770295,0.01534354582804565,0.1493862354016589,0.04268178154333113
+2.1,0.8105842523461136,0.02046336684114218,0.1689523808127437,0.04827210880364106
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408772
+2.7,0.7633795001978975,0.03248283280796873,0.2041376669941332,0.05832504771260949
+3.,0.7408182262524066,0.0393005895271262,0.2198811842204665,0.06282319549156185
+3.3,0.7189237338554762,0.04660567165040035,0.2344705944941227,0.06699159842689221
+3.6,0.6976763279936457,0.05436192220430618,0.2479617498020474,0.07084621422915637
+3.9,0.6770568797747071,0.06253489320838294,0.2604082270169092,0.07440235057625978
+4.2,0.6570468228093139,0.07109181489218297,0.2718613622985025,0.07767467494242934
+4.5,0.637628152895983,0.08000157060227219,0.2823702765017441,0.08067722185764116
+4.8,0.6187833959095926,0.08923458373363538,0.2919820203567714,0.08342343438764901
+5.1,0.6004955851568835,0.0987627320522631,0.3007416827908527,0.08592619508310078
+5.4,0.5827482557862521,0.1085593126661591,0.3086924315475882,0.08819783758502519
+5.7,0.5655254414880464,0.1185990139637024,0.3158755445482507,0.0902501555852145
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.3,0.5325918073316771,0.1393128812307306,0.3280953114375918,0.09374151755359765
+6.6,0.516851338219483,0.1499426377224825,0.3332060240580339,0.09520172115943827
+6.9,0.5015760732856667,0.160726628999983,0.3376972977143497,0.09648494220409992
+7.2,0.4867522629833074,0.1716454790421783,0.3416022579745136,0.09760064513557531
+7.5,0.4723665588664666,0.1826808399881816,0.344952601145351,0.09855788604152887
+7.8,0.4584060154667815,0.1938153813765564,0.3477786031566614,0.09936531518761757
+8.1,0.4448580716520164,0.2050327287305675,0.3501091996174153,0.10003119989069
+8.4,0.431710531003235,0.2163174009346478,0.3519720680621165,0.1005634480177475
+8.7,0.4189515550735856,0.2276547807003167,0.3533936642260969,0.1009696183503133
+9.,0.4065696644309687,0.2390311035261686,0.3543992320428618,0.1012569234408177
+9.3,0.3945537167989554,0.2504333930885366,0.3550128901125073,0.1014322543178592
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695932
+9.9,0.3715766965975826,0.2732676719273212,0.3551556314750954,0.101473037564313
+10.2,0.360594945414631,0.2846773568848901,0.3547276977004781,0.1013507707715652
+10.5,0.3499377562225606,0.2960683238607715,0.353993919916667,0.1011411199761905
+10.8,0.3395955328109051,0.3074310434580307,0.3529734237310636,0.1008495496374467
+11.1,0.3295589665092805,0.3187565947999753,0.3516844386907435,0.1004812681973553
+11.4,0.3198190275916367,0.3300366373494542,0.3501443350589084,0.1000412385882595
+11.7,0.3103669487221963,0.3412633665110488,0.3483696847667541,0.09953419564764404
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.3,0.2922925830798337,0.3635282292204305,0.3441791876997351,0.09833691077135289
+12.6,0.2836540327269612,0.3745532683746954,0.3417926988983427,0.09765505682809792
+12.9,0.2752707905251033,0.3854987397280361,0.3392304697468598,0.09692299135624568
+13.2,0.2671353081234729,0.396359199620259,0.3365054922562674,0.09614442635893352
+13.5,0.2592402660963983,0.4071296223790562,0.3336301115245448,0.09532288900701284
+13.8,0.2515785596092018,0.4178053662564615,0.330616074134336,0.09446173546695312
+14.1,0.2441432902310932,0.4283821515515735,0.3274745582173326,0.09356415949066647
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153508
+14.7,0.2299254907371861,0.4492234754846542,0.3208510337781588,0.09167172393661676
+15.,0.2231301671346401,0.4594811503451881,0.317388682520171,0.09068248072004885
diff --git a/models/sbml-test-suite/cases/semantic/00629/00629-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00629/00629-sbml-l2v4.xml
new file mode 100644
index 0000000..96dad36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00629/00629-sbml-l2v4.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00629" id="case00629" name="case00629">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="2" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+      <parameter id="p1" name="p1" value="10"/>
+      <parameter id="p2" name="p2" value="0.01"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00629/00629-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00629/00629-sbml-l3v1.xml
new file mode 100644
index 0000000..ca28cb7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00629/00629-sbml-l3v1.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00629" id="case00629" name="case00629" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="2" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+      <parameter id="p1" name="p1" value="10" constant="true"/>
+      <parameter id="p2" name="p2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00629/00629-settings.txt b/models/sbml-test-suite/cases/semantic/00629/00629-settings.txt
new file mode 100644
index 0000000..7ed9d09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00629/00629-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00630/00630-results.csv b/models/sbml-test-suite/cases/semantic/00630/00630-results.csv
new file mode 100644
index 0000000..a0261e3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00630/00630-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,1.008126371549002e-24,4.901917943240473e-11
+0.5,0.951229435977038,0.00129394701186584,0.04747661701109569,0.0135647477174559
+1.,0.9048374286968407,0.005001238238300923,0.09016133306485804,0.02576038087567372
+1.5,0.8607079849377296,0.01087500589316853,0.1284170091691015,0.03669057404831471
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.0464520239891676
+2.5,0.7788007889254478,0.02822710671743584,0.1929721043571157,0.05513488695917592
+3.,0.7408182262524066,0.0393005895271262,0.2198811842204665,0.06282319549156185
+3.5,0.7046880949485934,0.05172854997037847,0.2435833550810274,0.06959524430886497
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211858,0.07552395726319598
+4.5,0.637628152895983,0.08000157060227219,0.2823702765017441,0.08067722185764116
+5.,0.6065306630909804,0.09555555953789099,0.2979137773711279,0.08511822210603656
+5.5,0.5769498167288155,0.1118800887288119,0.3111700945423721,0.08890574129782058
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.5,0.5220457805030899,0.1463812592420414,0.3315729602548682,0.09473513150139091
+7.,0.4965853076686745,0.1643521851900511,0.3390625071412738,0.09687500204036397
+7.5,0.4723665588664666,0.1826808399881816,0.344952601145351,0.09855788604152887
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.5,0.4274149377422891,0.2200913641393101,0.3524936981184001,0.1007124851766857
+9.,0.4065696644309687,0.2390311035261686,0.3543992320428618,0.1012569234408177
+9.5,0.3867410291040746,0.2580432709854239,0.3552156999105008,0.1014901999744288
+10.,0.3678794486179236,0.2770723716247996,0.3550481797572761,0.1014423370735074
+10.5,0.3499377562225606,0.2960683238607715,0.353993919916667,0.1011411199761905
+11.,0.3328710893023584,0.3149860662975904,0.3521428444000506,0.1006122412571573
+11.5,0.3166367747899352,0.3337851727543826,0.3495780524556814,0.09987944355876611
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.5,0.2865048043440484,0.3708868184904721,0.3426083771654789,0.09788810776156542
+13.,0.2725317993854338,0.3891285936075477,0.3383396070070178,0.0966684591448622
+13.5,0.2592402660963983,0.4071296223790562,0.3336301115245448,0.09532288900701284
+14.,0.2465969698081156,0.4248677993481391,0.3285352308437446,0.09386720881249845
+14.5,0.2345702950071955,0.4423238597074408,0.3231058452853629,0.09231595579581797
+15.,0.2231301668500321,0.4594811499220556,0.3173886832279114,0.09068248092226043
+15.5,0.2122479794504402,0.476325418807883,0.311426601741676,0.08897902906905026
+16.,0.201896523328712,0.4928446152826624,0.3052588613886247,0.08721681753960708
+16.5,0.1920499146188836,0.5090286987120578,0.2989213866690578,0.08540611047687367
+17.,0.1826835305578533,0.5248694671088017,0.292447002333344,0.08355628638095545
+17.5,0.1737739491941842,0.5403603990458888,0.2858656517599264,0.08167590050283614
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171494
+18.5,0.1572371715003665,0.5702741990587278,0.272488629440905,0.07785389412597285
+19.,0.1495686250077055,0.5846911426150138,0.2657402323772802,0.07592578067922294
+19.5,0.1422740772390961,0.5987461544247366,0.2589797683361667,0.07399421952461905
+20.,0.1353352881320281,0.6124390892251168,0.2522256226428545,0.07206446361224419
+20.5,0.1287349081929608,0.6257707379635332,0.2454943538435054,0.07014124395528723
+21.,0.1224564331960584,0.6387427319089701,0.2388008348949709,0.06822880996999169
+21.5,0.1164841630215884,0.6513574560682777,0.2321583809101331,0.06633096597432375
+22.,0.1108031631050642,0.6636179697213635,0.2255788671735716,0.06445110490673473
+22.5,0.105399228786221,0.6755279334944562,0.2190728377193219,0.06259223934837769
+23.,0.1002588479535309,0.6870915392909948,0.2126496127554737,0.06075703221584965
+23.5,0.09536916678047847,0.6983134471857005,0.2063173860338204,0.05894782458109154
+24.,0.09071795777162411,0.7091987277459966,0.2000833144823785,0.05716666128067958
+24.5,0.08629359045708402,0.719752809564461,0.1939535999784543,0.0554153142795584
+25.,0.08208500289161128,0.7299814301059336,0.1879335670024545,0.05369530485784414
diff --git a/models/sbml-test-suite/cases/semantic/00630/00630-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00630/00630-sbml-l2v4.xml
new file mode 100644
index 0000000..c77e4f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00630/00630-sbml-l2v4.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00630" id="case00630" name="case00630">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+      <parameter id="p1" name="p1" value="10"/>
+      <parameter id="p2" name="p2" value="0.01"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00630/00630-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00630/00630-sbml-l3v1.xml
new file mode 100644
index 0000000..7cee9a9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00630/00630-sbml-l3v1.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00630" id="case00630" name="case00630" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+      <parameter id="p1" name="p1" value="10" constant="true"/>
+      <parameter id="p2" name="p2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00630/00630-settings.txt b/models/sbml-test-suite/cases/semantic/00630/00630-settings.txt
new file mode 100644
index 0000000..b565f5e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00630/00630-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00631/00631-results.csv b/models/sbml-test-suite/cases/semantic/00631/00631-results.csv
new file mode 100644
index 0000000..061330a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00631/00631-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.1499999999999999
+0.2,0.08607079760837681,0.1639292023916233
+0.4,0.07408182193659035,0.1759181780634098
+0.6,0.06376281506653873,0.1862371849334614
+0.8,0.05488116280370195,0.1951188371962981
+1.,0.04723665431736839,0.2027633456826317
+1.2,0.0406569652605484,0.2093430347394517
+1.4,0.03499376702478341,0.2150062329752167
+1.6,0.03011942117961189,0.2198805788203882
+1.8,0.0259240259128832,0.2240759740871169
+2.,0.02231301588942599,0.2276869841105741
+2.2,0.01920499068665628,0.2307950093133438
+2.4,0.01652988859045937,0.2334701114095408
+2.6,0.01422740679810972,0.2357725932018904
+2.8,0.0122456428240376,0.2377543571759625
+3.,0.01053992199971198,0.2394600780002881
+3.2,0.009071794798769336,0.2409282052012308
+3.4,0.007808166071347839,0.2421918339286522
+3.6,0.006720550807546455,0.2432794491924537
+3.8,0.005784431722250182,0.2442155682777499
+4.,0.004978706285472212,0.2450212937145279
+4.2,0.004285212276960098,0.24571478772304
+4.4,0.003688316541311937,0.2463116834586882
+4.6,0.003174563604549587,0.2468254363954505
+4.8,0.002732372230095554,0.2472676277699045
+5.,0.002351774476669897,0.2476482255233302
+5.2,0.002024190960602079,0.247975809039398
+5.4,0.001742237271069204,0.2482577627289309
+5.6,0.001499557538201614,0.2485004424617985
+5.8,0.001290681187860333,0.2487093188121398
+6.,0.001110899641832718,0.2488891003581674
+6.2,0.0009561601881695777,0.2490438398118305
+6.4,0.0008229746671861302,0.249177025332814
+6.6,0.0007083408287754677,0.2492916591712247
+6.8,0.0006096745890736203,0.2493903254109265
+7.,0.000524751789420981,0.2494752482105792
+7.2,0.0004516580694846133,0.2495483419305155
+7.4,0.0003887457200261601,0.249611254279974
+7.6,0.0003345965441187197,0.2496654034558814
+7.8,0.0002879899027516444,0.2497120100972485
+8.,0.000247875195313773,0.2497521248046863
+8.2,0.0002133481533977882,0.2497866518466023
+8.4,0.0001836304599765696,0.2498163695400235
+8.6,0.0001580522081280366,0.249841947791872
+8.8,0.0001360368021982488,0.2498639631978018
+9.,0.0001170879615370173,0.249882912038463
+9.2,0.0001007785383849744,0.2498992214616151
+9.4,0.00008674088793980147,0.2499132591120602
+9.6,0.00007465857257979366,0.2499253414274202
+9.8,0.000064259229813221,0.2499357407701868
+10.,0.00005530843701507382,0.2499446915629849
diff --git a/models/sbml-test-suite/cases/semantic/00631/00631-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00631/00631-sbml-l2v4.xml
new file mode 100644
index 0000000..cc97a0b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00631/00631-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00631" id="case00631" name="case00631">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="p1" name="p1" value="75"/>
+      <parameter id="p2" name="p2" value="0.01"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00631/00631-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00631/00631-sbml-l3v1.xml
new file mode 100644
index 0000000..62306b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00631/00631-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00631" id="case00631" name="case00631" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="p1" name="p1" value="75" constant="true"/>
+      <parameter id="p2" name="p2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00631/00631-settings.txt b/models/sbml-test-suite/cases/semantic/00631/00631-settings.txt
new file mode 100644
index 0000000..0a0c994
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00631/00631-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00632/00632-results.csv b/models/sbml-test-suite/cases/semantic/00632/00632-results.csv
new file mode 100644
index 0000000..4e55148
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00632/00632-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.1499999999999999
+0.1,0.09277434863089023,0.1572256513691097
+0.2,0.0860707976083621,0.1639292023916378
+0.3,0.07985162186099127,0.1701483781390087
+0.4,0.07408182193626267,0.1759181780637373
+0.5,0.06872892787841762,0.1812710721215823
+0.6,0.06376281506764912,0.1862371849323508
+0.7,0.05915553566594856,0.1908444643340513
+0.8,0.05488116279140539,0.1951188372085945
+0.9,0.05091564190293945,0.1990843580970604
+1.,0.04723665431160601,0.2027633456883939
+1.1,0.04382349920447235,0.2061765007955275
+1.2,0.04065696527195338,0.2093430347280465
+1.3,0.03771923497898943,0.2122807650210104
+1.4,0.03499376693204896,0.2150062330679509
+1.5,0.03246524673429276,0.2175347532657071
+1.6,0.03011942117957964,0.2198805788204202
+1.7,0.02794309681443749,0.2220569031855623
+1.8,0.02592402591054959,0.2240759740894502
+1.9,0.02405084617425488,0.2259491538257449
+2.,0.02231301589070149,0.2276869841092983
+2.1,0.02070075517608469,0.2292992448239151
+2.2,0.01920499071543556,0.2307950092845642
+2.3,0.01781730467118693,0.2321826953288128
+2.4,0.01652988854640361,0.2334701114535962
+2.5,0.01533549667098986,0.2346645033290099
+2.6,0.01422740682444149,0.2357725931755583
+2.7,0.01319938399251447,0.2368006160074853
+2.8,0.01224564280663589,0.2377543571933639
+2.9,0.01136081507111197,0.2386391849288878
+3.,0.01053992208348002,0.2394600779165197
+3.1,0.009778343971088321,0.2402216560289114
+3.2,0.009071794851921393,0.2409282051480783
+3.3,0.008416298525065698,0.241583701474934
+3.4,0.007808166094594406,0.2421918339054053
+3.5,0.007243975210230772,0.2427560247897689
+3.6,0.006720550807946629,0.2432794491920531
+3.7,0.006234947242142874,0.2437650527578568
+3.8,0.0057844317088583,0.2442155682911414
+3.9,0.005366468614154905,0.2446335313858448
+4.,0.004978706287090618,0.245021293712909
+4.1,0.004618962355341613,0.245381037644658
+4.2,0.00428521229812824,0.2457147877018714
+4.3,0.003975577876716191,0.2460244221232834
+4.4,0.0036883165657003,0.2463116834342993
+4.5,0.003421811747716625,0.246578188252283
+4.6,0.003174563616457046,0.2468254363835426
+4.7,0.002945180736835176,0.2470548192631645
+4.8,0.002732372221103201,0.2472676277788964
+4.9,0.002534940547603708,0.2474650594523959
+5.,0.002351774585600885,0.2476482254143987
diff --git a/models/sbml-test-suite/cases/semantic/00632/00632-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00632/00632-sbml-l2v4.xml
new file mode 100644
index 0000000..41bb7a8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00632/00632-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00632" id="case00632" name="case00632">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="p1" name="p1" value="75"/>
+      <parameter id="p2" name="p2" value="0.01"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00632/00632-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00632/00632-sbml-l3v1.xml
new file mode 100644
index 0000000..537b05b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00632/00632-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00632" id="case00632" name="case00632" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="p1" name="p1" value="75" constant="true"/>
+      <parameter id="p2" name="p2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00632/00632-settings.txt b/models/sbml-test-suite/cases/semantic/00632/00632-settings.txt
new file mode 100644
index 0000000..5a66c8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00632/00632-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00633/00633-results.csv b/models/sbml-test-suite/cases/semantic/00633/00633-results.csv
new file mode 100644
index 0000000..9dffeb1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00633/00633-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.1499999999999999
+0.3,0.07985162186135828,0.1701483781386417
+0.6,0.06376281506794113,0.1862371849320587
+0.9,0.05091564189099376,0.1990843581090061
+1.2,0.04065696525669292,0.2093430347433069
+1.5,0.03246524673420775,0.2175347532657921
+1.8,0.02592402591405404,0.2240759740859459
+2.1,0.02070075516961844,0.2292992448303815
+2.4,0.01652988856630358,0.2334701114336964
+2.7,0.01319938400308022,0.2368006159969198
+3.,0.01053992206270601,0.239460077937294
+3.3,0.008416298517953059,0.241583701482047
+3.6,0.006720550805079668,0.2432794491949203
+3.9,0.005366468611503335,0.2446335313884966
+4.2,0.00428521230331161,0.2457147876966884
+4.5,0.003421811752868664,0.2465781882471313
+4.8,0.002732372217972784,0.2472676277820272
+5.1,0.002181843385775137,0.2478181566142249
+5.4,0.001742237271435283,0.2482577627285647
+5.7,0.001391204772057632,0.2486087952279424
+6.,0.001110899645646728,0.2488891003543532
+6.3,0.0008870713671302334,0.2491129286328698
+6.6,0.0007083408266687922,0.2492916591733312
+6.9,0.0005656216313540471,0.249434378368646
+7.2,0.0004516580710825549,0.2495483419289174
+7.5,0.0003606563135633236,0.2496393436864367
+7.8,0.0002879899020751723,0.2497120100979249
+8.1,0.00022996459444597,0.249770035405554
+8.4,0.0001836304601769309,0.2498163695398231
+8.7,0.0001466319102069991,0.249853368089793
+9.,0.0001170879615174832,0.2498829120384825
+9.3,0.00009349663031850892,0.2499065033696815
+9.6,0.00007465857260179783,0.2499253414273983
+9.9,0.00005961608293229977,0.2499403839170677
+10.2,0.00004760441228659227,0.2499523955877134
+10.5,0.00003801289505548157,0.2499619871049445
+10.8,0.00003035391116157736,0.2499696460888385
+11.1,0.00002423808984301337,0.249975761910157
+11.4,0.00001935450879751245,0.2499806454912025
+11.7,0.00001545489007816237,0.2499845451099218
+12.,0.00001234097992755522,0.2499876590200724
+12.3,9.854472015693557e-6,0.2499901455279843
+12.6,7.868955736154197e-6,0.2499921310442638
+12.9,6.283489166997781e-6,0.249993716510833
+13.2,5.017468198483133e-6,0.2499949825318015
+13.5,4.006529497793597e-6,0.2499959934705021
+13.8,3.199278629093057e-6,0.2499968007213709
+14.1,2.554675931059235e-6,0.2499974453240689
+14.4,2.039950301138691e-6,0.2499979600496988
+14.7,1.628933412549277e-6,0.2499983710665874
+15.,1.300729765420108e-6,0.2499986992702346
diff --git a/models/sbml-test-suite/cases/semantic/00633/00633-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00633/00633-sbml-l2v4.xml
new file mode 100644
index 0000000..7571293
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00633/00633-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00633" id="case00633" name="case00633">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="p1" name="p1" value="75"/>
+      <parameter id="p2" name="p2" value="0.01"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00633/00633-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00633/00633-sbml-l3v1.xml
new file mode 100644
index 0000000..b03db73
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00633/00633-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00633" id="case00633" name="case00633" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="p1" name="p1" value="75" constant="true"/>
+      <parameter id="p2" name="p2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00633/00633-settings.txt b/models/sbml-test-suite/cases/semantic/00633/00633-settings.txt
new file mode 100644
index 0000000..79865be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00633/00633-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00634/00634-results.csv b/models/sbml-test-suite/cases/semantic/00634/00634-results.csv
new file mode 100644
index 0000000..19b9ef0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00634/00634-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.05,0.7788007829652843,0.221199217034716,0.165899412776037
+0.1,0.6065306534644738,0.3934693465355264,0.2951020099016448
+0.15,0.4723665525734971,0.5276334474265029,0.3957250855698772
+0.2,0.3678794392829268,0.6321205607170732,0.4740904205378049
+0.25,0.2865047805915336,0.7134952194084662,0.5351214145563496
+0.3,0.2231301472372751,1.026869824742306,0.7701523685567297
+0.35,0.1737739329742797,1.076226039005301,0.8071695292539762
+0.4,0.1353352753688576,1.114664696610724,0.8359985224580432
+0.45,0.1053992168538595,1.144600755125722,0.8584505663442916
+0.5,0.08208499389977323,1.167914978079808,0.8759362335598563
+0.55,0.06392785748945045,1.18607211449013,0.8895540858675982
+0.6,0.04978706527896861,1.200212906700613,0.9001596800254598
+0.65,0.03877420540198607,1.211225766577595,0.9084193249331968
+0.7,0.03019738127936115,1.21980259070022,0.9148519430251655
+0.75,0.02351774407414839,1.226482227905433,0.9198616709290752
+0.8,0.01831563685879802,1.231684335120783,0.9237632513405877
+0.85,0.01426423267338325,1.235735739306198,0.9268018044796486
+0.9,0.01110899578252481,1.238890976197057,0.9291682321477927
+0.95,0.008651694703380671,1.241348277276201,0.9310112079571508
+1.,0.006737946503724333,1.243262025475857,0.9324465191068929
+1.05,0.005247517857997359,1.244752454121584,0.9335643405911883
+1.1,0.004086770889619016,1.245913201089963,0.9344349008174721
+1.15,0.003182780293926949,1.246817191685655,0.9351128937642414
+1.2,0.00247875175988058,1.247521220219701,0.9356409151647761
+1.25,0.001930453822345928,1.248069518157235,0.9360521386179269
+1.3,0.001503438978952453,1.248496533000629,0.9363723997504719
+1.35,0.001170879489483564,1.248829092490098,0.9366218193675734
+1.4,0.0009118818922381259,1.249088090087343,0.9368160675655075
+1.45,0.0007101743466474921,1.249289797632933,0.9369673482247002
+1.5,0.0005530843351356742,1.249446887644445,0.937085165733334
+1.55,0.0004307425026876628,1.249569229476893,0.9371769221076699
+1.6,0.0003354625877430209,1.249664509391837,0.9372483820438783
+1.65,0.0002612585186612753,1.249738713460919,0.9373040350956899
+1.7,0.0002034683354173386,1.249796503644163,0.9373473777331227
+1.75,0.0001584612986125627,1.249841510680968,0.9373811330107264
+1.8,0.0001234097851136022,1.249876562194467,0.9374074216458507
+1.85,0.00009611163980530788,1.249903860339776,0.937427895254832
+1.9,0.00007485182276028732,1.24992512015682,0.9374438401176157
+1.95,0.00005829465980982855,1.249941677319771,0.9374562579898284
+2.,0.00004539992713334325,1.249954572052447,0.9374659290393359
+2.05,0.0000353574982200317,1.249964614481361,0.9374734608610206
+2.1,0.00002753644647904868,1.249972435533101,0.9374793266498262
+2.15,0.00002144540541528556,1.249978526574165,0.9374838949306241
+2.2,0.00001670169814290125,1.249983270281438,0.9374874527110788
+2.25,0.00001300729546607949,1.249986964684115,0.9374902235130864
+2.3,0.0000101300919564359,1.249989841887625,0.9374923814157188
+2.35,7.889323711470249e-6,1.24999208265587,0.9374940619919025
+2.4,6.144211671369988e-6,1.24999382776791,0.9374953708259328
+2.45,4.785117012214868e-6,1.249995186862569,0.9374963901469272
+2.5,3.726652957835148e-6,1.249996245326624,0.9374971839949679
diff --git a/models/sbml-test-suite/cases/semantic/00634/00634-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00634/00634-sbml-l2v4.xml
new file mode 100644
index 0000000..238650f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00634/00634-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00634" id="case00634" name="case00634">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00634/00634-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00634/00634-sbml-l3v1.xml
new file mode 100644
index 0000000..e6fd132
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00634/00634-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00634" id="case00634" name="case00634" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00634/00634-settings.txt b/models/sbml-test-suite/cases/semantic/00634/00634-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00634/00634-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00635/00635-results.csv b/models/sbml-test-suite/cases/semantic/00635/00635-results.csv
new file mode 100644
index 0000000..19b9ef0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00635/00635-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.05,0.7788007829652843,0.221199217034716,0.165899412776037
+0.1,0.6065306534644738,0.3934693465355264,0.2951020099016448
+0.15,0.4723665525734971,0.5276334474265029,0.3957250855698772
+0.2,0.3678794392829268,0.6321205607170732,0.4740904205378049
+0.25,0.2865047805915336,0.7134952194084662,0.5351214145563496
+0.3,0.2231301472372751,1.026869824742306,0.7701523685567297
+0.35,0.1737739329742797,1.076226039005301,0.8071695292539762
+0.4,0.1353352753688576,1.114664696610724,0.8359985224580432
+0.45,0.1053992168538595,1.144600755125722,0.8584505663442916
+0.5,0.08208499389977323,1.167914978079808,0.8759362335598563
+0.55,0.06392785748945045,1.18607211449013,0.8895540858675982
+0.6,0.04978706527896861,1.200212906700613,0.9001596800254598
+0.65,0.03877420540198607,1.211225766577595,0.9084193249331968
+0.7,0.03019738127936115,1.21980259070022,0.9148519430251655
+0.75,0.02351774407414839,1.226482227905433,0.9198616709290752
+0.8,0.01831563685879802,1.231684335120783,0.9237632513405877
+0.85,0.01426423267338325,1.235735739306198,0.9268018044796486
+0.9,0.01110899578252481,1.238890976197057,0.9291682321477927
+0.95,0.008651694703380671,1.241348277276201,0.9310112079571508
+1.,0.006737946503724333,1.243262025475857,0.9324465191068929
+1.05,0.005247517857997359,1.244752454121584,0.9335643405911883
+1.1,0.004086770889619016,1.245913201089963,0.9344349008174721
+1.15,0.003182780293926949,1.246817191685655,0.9351128937642414
+1.2,0.00247875175988058,1.247521220219701,0.9356409151647761
+1.25,0.001930453822345928,1.248069518157235,0.9360521386179269
+1.3,0.001503438978952453,1.248496533000629,0.9363723997504719
+1.35,0.001170879489483564,1.248829092490098,0.9366218193675734
+1.4,0.0009118818922381259,1.249088090087343,0.9368160675655075
+1.45,0.0007101743466474921,1.249289797632933,0.9369673482247002
+1.5,0.0005530843351356742,1.249446887644445,0.937085165733334
+1.55,0.0004307425026876628,1.249569229476893,0.9371769221076699
+1.6,0.0003354625877430209,1.249664509391837,0.9372483820438783
+1.65,0.0002612585186612753,1.249738713460919,0.9373040350956899
+1.7,0.0002034683354173386,1.249796503644163,0.9373473777331227
+1.75,0.0001584612986125627,1.249841510680968,0.9373811330107264
+1.8,0.0001234097851136022,1.249876562194467,0.9374074216458507
+1.85,0.00009611163980530788,1.249903860339776,0.937427895254832
+1.9,0.00007485182276028732,1.24992512015682,0.9374438401176157
+1.95,0.00005829465980982855,1.249941677319771,0.9374562579898284
+2.,0.00004539992713334325,1.249954572052447,0.9374659290393359
+2.05,0.0000353574982200317,1.249964614481361,0.9374734608610206
+2.1,0.00002753644647904868,1.249972435533101,0.9374793266498262
+2.15,0.00002144540541528556,1.249978526574165,0.9374838949306241
+2.2,0.00001670169814290125,1.249983270281438,0.9374874527110788
+2.25,0.00001300729546607949,1.249986964684115,0.9374902235130864
+2.3,0.0000101300919564359,1.249989841887625,0.9374923814157188
+2.35,7.889323711470249e-6,1.24999208265587,0.9374940619919025
+2.4,6.144211671369988e-6,1.24999382776791,0.9374953708259328
+2.45,4.785117012214868e-6,1.249995186862569,0.9374963901469272
+2.5,3.726652957835148e-6,1.249996245326624,0.9374971839949679
diff --git a/models/sbml-test-suite/cases/semantic/00635/00635-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00635/00635-sbml-l2v4.xml
new file mode 100644
index 0000000..0d69639
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00635/00635-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00635" id="case00635" name="case00635">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00635/00635-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00635/00635-sbml-l3v1.xml
new file mode 100644
index 0000000..5485240
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00635/00635-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00635" id="case00635" name="case00635" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00635/00635-settings.txt b/models/sbml-test-suite/cases/semantic/00635/00635-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00635/00635-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00636/00636-results.csv b/models/sbml-test-suite/cases/semantic/00636/00636-results.csv
new file mode 100644
index 0000000..c97e1b0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00636/00636-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.05,0.7788007823367005,0.7211992176632994,0.5408994132474745
+0.1,0.6065306527735142,0.8934693472264857,0.6701020104198642
+0.15,0.4723665524097645,1.027633447590235,0.7707250856926766
+0.2,0.367879375906358,1.132120624093642,0.8490904680702318
+0.25,0.286504796857231,1.213495203142768,0.9101214023570766
+0.3,0.2231301594154083,1.276869840584591,0.9576523804384434
+0.35,0.1737739402459655,1.326226059754033,0.9946695448155253
+0.4,0.1353352810263943,1.364664718973605,1.023498539230203
+0.45,0.1053992212060837,1.394600778793915,1.045950584095436
+0.5,0.08208499140683679,1.01791498229987,0.7634362367249025
+0.55,0.0639278554274875,1.036072118279219,0.7770540887094147
+0.6,0.04978706343044841,1.050212910276258,0.7876596827071938
+0.65,0.03877420366778717,1.061225770038919,0.7959193275291897
+0.7,0.03019737835171653,1.06980259535499,0.8023519465162425
+0.75,0.02351774275697349,1.076482230949732,0.8073616732122996
+0.8,0.01831563709279072,1.081684336613915,0.8112632524604368
+0.85,0.01426423263859384,1.085735741068112,0.8143018058010845
+0.9,0.01110899528134202,1.088890978425364,0.8166682338190234
+0.95,0.008651693908021397,1.091348279798685,0.8185112098490138
+1.,0.006737945779690199,1.093262027927016,0.8199465209452619
+1.05,0.005247517372905662,1.0947524563338,0.8210643422503505
+1.1,0.0040867706675126,1.095913203039193,0.8219349022793953
+1.15,0.003182780280394663,1.096817193426311,0.8226128950697336
+1.2,0.002478751866462986,1.097521221840243,0.8231409163801826
+1.25,0.001930453954842906,1.098069519751863,0.8235521398138978
+1.3,0.001503439055550642,1.098496534651155,0.8238724009883667
+1.35,0.001170879481189914,1.098829094225516,0.8241218206691372
+1.4,0.0009118818233367459,1.099088091883369,0.824316068912527
+1.45,0.0007101742574888458,1.099289799449217,0.8244673495869129
+1.5,0.0005530842617731768,1.099446889444933,0.8245851670836998
+1.55,0.0004307424607804352,1.099569231245926,0.8246769234344444
+1.6,0.0003354625755497861,1.099664511131156,0.8247483833483675
+1.65,0.0002612585262965832,1.09973871518041,0.8248040363853077
+1.7,0.0002034683505439959,1.099796505356162,0.8248473790171222
+1.75,0.0001584613101072954,1.099841512396599,0.8248811342974498
+1.8,0.0001234097885899282,1.099876563918116,0.8249074229385877
+1.85,0.00009611163649372156,1.099903862070213,0.8249278965526599
+1.9,0.00007485181578745875,1.099925121890919,0.8249438414181895
+1.95,0.00005829465232638164,1.09994167905438,0.8249562592907854
+2.,0.00004539992153286654,1.099954573785174,0.8249659303388805
+2.05,0.00003535749555760761,1.099964616211149,0.8249734621583618
+2.1,0.00002753644625248142,1.099972437260453,0.8249793279453403
+2.15,0.00002144540641636291,1.09997852830029,0.8249838962252176
+2.2,0.0000167016991394141,1.099983272007567,0.8249874540056754
+2.25,0.00001300729593618923,1.09998696641077,0.8249902248080781
+2.3,0.00001013009190016085,1.099989843614807,0.8249923827111052
+2.35,7.889323318869239e-6,1.099992084383388,0.8249940632875412
+2.4,6.144211157401717e-6,1.09999382949555,0.8249953721216625
+2.45,4.785116546398771e-6,1.099995188590161,0.8249963914426208
+2.5,3.7266528454814e-6,1.099996247053862,0.8249971852903965
diff --git a/models/sbml-test-suite/cases/semantic/00636/00636-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00636/00636-sbml-l2v4.xml
new file mode 100644
index 0000000..8e3fe60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00636/00636-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00636" id="case00636" name="case00636">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00636/00636-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00636/00636-sbml-l3v1.xml
new file mode 100644
index 0000000..3fd6485
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00636/00636-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00636" id="case00636" name="case00636" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00636/00636-settings.txt b/models/sbml-test-suite/cases/semantic/00636/00636-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00636/00636-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00637/00637-results.csv b/models/sbml-test-suite/cases/semantic/00637/00637-results.csv
new file mode 100644
index 0000000..e211529
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00637/00637-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.1,0.7788007829652843,0.221199217034716,0.165899412776037
+0.2,0.6065306534644738,0.3934693465355264,0.2951020099016448
+0.3,0.4723665525734971,0.5276334474265029,0.3957250855698772
+0.4,0.3678794392829268,0.6321205607170732,0.4740904205378049
+0.5,0.2865047805915336,0.7134952194084662,0.5351214145563496
+0.6,0.2231301472372385,0.7768698527627612,0.5826523895720708
+0.7,0.1737739329752398,0.82622606702476,0.61966955026857
+0.8,0.1353352753661145,0.8646647246338854,0.648498543475414
+0.9,0.105399216826238,0.894600783173762,0.6709505873803215
+1.,0.08208499389988201,0.9179150061001177,0.6884362545750883
+1.1,0.06392785748575624,0.9360721425142433,0.7020541068856824
+1.2,0.04978706528595252,0.950212934714047,0.7126597010355352
+1.3,0.0387742053689801,0.9612257946310192,0.7209193459732643
+1.4,0.03019738131737184,0.9698026186826275,0.7273519640119706
+1.5,0.02351774401745954,0.97648225598254,0.732361691986905
+1.6,0.01831563709343535,0.7522056082269394,0.5641542061702046
+1.7,0.01426423247595776,0.7562570128444172,0.5671927596333129
+1.8,0.01110899544481357,0.7594122498755615,0.5695591874066712
+1.9,0.008651694217596742,0.7618695511027785,0.5714021633270839
+2.,0.00673794634077517,0.7637832989796004,0.5728374742347003
+2.1,0.005247517882715355,0.7652737274376606,0.5739552955782454
+2.2,0.004086771022373324,0.7664344742980027,0.5748258557235019
+2.3,0.00318278046152075,0.767338464858855,0.5755038486441412
+2.4,0.002478751909862143,0.7680424934105136,0.5760318700578852
+2.5,0.00193045389979502,0.7685907914205807,0.5764430935654355
+2.6,0.001503438974045475,0.7690178063463303,0.5767633547597477
+2.7,0.001170879466136145,0.7693503658542396,0.5770127743906797
+2.8,0.0009118818621923834,0.7696093634581835,0.5772070225936376
+2.9,0.0007101743194300808,0.7698110710009457,0.5773583032507092
+3.,0.0005530843097500252,0.7699681610106258,0.5774761207579693
+3.1,0.0004307424812757199,0.7700905028391001,0.5775678771293251
+3.2,0.0003354625709741229,0.7701857827494017,0.5776393370620512
+3.3,0.000261258506297276,0.7702599868140787,0.577694990110559
+3.4,0.0002034683267609348,0.7703177769936151,0.5777383327452113
+3.5,0.0001584612927958697,0.7703627840275801,0.5777720880206851
+3.6,0.000123409781272677,0.7703978355391034,0.5777983766543275
+3.7,0.000096111637175872,0.7704251336832003,0.5778188502624002
+3.8,0.00007485182072106166,0.7704463934996551,0.5778347951247413
+3.9,0.00005829465789272361,0.7704629506624833,0.5778472129968625
+4.,0.00004539992509343985,0.7704758453952828,0.577856884046462
+4.1,0.00003535749634587754,0.7704858878240302,0.5778644158680227
+4.2,0.00002753644495654557,0.7704937088754196,0.5778702816565647
+4.3,0.00002144540428302228,0.7704997999160931,0.5778748499370698
+4.4,0.00001670169736155993,0.7705045436230145,0.5778784077172609
+4.5,0.00001300729496201922,0.770508238025414,0.5778811785190605
+4.6,0.00001013009164770663,0.7705111152287283,0.5778833364215463
+4.7,7.889323522166898e-6,0.7705133559968541,0.5778850169976406
+4.8,6.144211538487626e-6,0.7705151011088378,0.5778863258316283
+4.9,4.785116887882135e-6,0.7705164602034885,0.5778873451526164
+5.,3.726652808181255e-6,0.7705175186675682,0.5778881390006761
diff --git a/models/sbml-test-suite/cases/semantic/00637/00637-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00637/00637-sbml-l2v4.xml
new file mode 100644
index 0000000..0794868
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00637/00637-sbml-l2v4.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00637" id="case00637" name="case00637">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00637/00637-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00637/00637-sbml-l3v1.xml
new file mode 100644
index 0000000..f70d684
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00637/00637-sbml-l3v1.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00637" id="case00637" name="case00637" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00637/00637-settings.txt b/models/sbml-test-suite/cases/semantic/00637/00637-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00637/00637-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00638/00638-results.csv b/models/sbml-test-suite/cases/semantic/00638/00638-results.csv
new file mode 100644
index 0000000..585ee5b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00638/00638-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.1,0.606530652734937,0.893469347265063,0.6701020104487972
+0.2,0.3678793772064842,1.132120622793515,0.8490904670951366
+0.3,0.2231301593864236,1.276869840613576,0.9576523804601824
+0.4,0.1353352827296378,1.364664717270361,1.023498537952771
+0.5,0.08208499836935288,1.417915001630646,1.063436251222984
+0.6,0.04978706798785716,1.450212932012142,1.087659699009106
+0.7,0.03019738286940604,1.469802617130593,1.102351962847945
+0.8,0.01831563781787338,1.481684362182126,1.111263271636594
+0.9,0.01110899639766705,1.488891003602332,1.116668252701749
+1.,0.006737946867325076,1.493262053132673,1.119946539849505
+1.1,0.004086771112444829,1.495913228887553,1.121934921665665
+1.2,0.002478751894639269,1.497521248105359,1.123140936079019
+1.3,0.001503439058391464,1.498496560941607,1.123872420706205
+1.4,0.0009118819396782899,1.49908811806032,1.12431608854524
+1.5,0.0005530843661721775,1.499446915633826,1.124585186725369
+1.6,0.000335462607383218,1.499664537392615,1.124748403044461
+1.7,0.0002034683468230013,1.499796531653175,1.124847398739881
+1.8,0.0001234097974774222,0.7500148612511453,0.562511145938359
+1.9,0.0000748518258556623,0.7500634192227673,0.5625475644170754
+2.,0.00004539992734529719,0.7500928711212779,0.5625696533409585
+2.1,0.00002753644776111519,0.750110734600862,0.5625830509506465
+2.2,0.00001670169967390677,0.7501215693489493,0.562591177011712
+2.3,0.00001013009252358222,0.7501281409560997,0.5625961057170747
+2.4,6.144211953179986e-6,0.7501321268366701,0.5625990951275026
+2.5,3.726652920220423e-6,0.7501345443957034,0.5626009082967775
+2.6,2.260329117724021e-6,0.7501360107195062,0.5626020080396296
+2.7,1.370958862048653e-6,0.7501369000897619,0.5626026750673214
+2.8,8.315286026041617e-7,0.7501374395200214,0.5626030796400161
+2.9,5.043476229747888e-7,0.7501377667010011,0.5626033250257509
+3.,3.059023028745975e-7,0.7501379651463213,0.5626034738597409
+3.1,1.855391153785158e-7,0.750138085509509,0.5626035641321317
+3.2,1.12535156736175e-7,0.7501381585134676,0.5626036188851006
+3.3,6.825602342740593e-8,0.750138202792601,0.5626036520944507
+3.4,4.139937328622488e-8,0.750138229649251,0.5626036722369383
+3.5,2.510999022063038e-8,0.7501382459386339,0.5626036844539754
+3.6,1.522997827663011e-8,0.750138255818646,0.5626036918639845
+3.7,9.237448256329299e-9,0.7501382618111759,0.5626036963583819
+3.8,5.602795544609518e-9,0.7501382654458285,0.5626036990843713
+3.9,3.39826744329242e-9,0.7501382676503567,0.5626037007377675
+4.,2.061153506651815e-9,0.7501382689874708,0.5626037017406031
+4.1,1.250152765393367e-9,0.7501382697984715,0.5626037023488537
+4.2,7.582559357337134e-10,0.7501382702903685,0.5626037027177763
+4.3,4.599054626762161e-10,0.7501382705887188,0.5626037029415391
+4.4,2.789467740023568e-10,0.7501382707696773,0.5626037030772579
+4.5,1.69189781188231e-10,0.7501382708794343,0.5626037031595757
+4.6,1.026187894189837e-10,0.7501382709460053,0.562603703209504
+4.7,6.224143829132542e-11,0.7501382709863827,0.562603703239787
+4.8,3.77513392680027e-11,0.7501382710108727,0.5626037032581545
+4.9,2.289734524033773e-11,0.7501382710257267,0.5626037032692949
+5.,1.388794312649442e-11,0.7501382710347361,0.5626037032760521
diff --git a/models/sbml-test-suite/cases/semantic/00638/00638-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00638/00638-sbml-l2v4.xml
new file mode 100644
index 0000000..bf3cdd7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00638/00638-sbml-l2v4.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00638" id="case00638" name="case00638">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00638/00638-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00638/00638-sbml-l3v1.xml
new file mode 100644
index 0000000..f523bf3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00638/00638-sbml-l3v1.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00638" id="case00638" name="case00638" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00638/00638-settings.txt b/models/sbml-test-suite/cases/semantic/00638/00638-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00638/00638-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00639/00639-results.csv b/models/sbml-test-suite/cases/semantic/00639/00639-results.csv
new file mode 100644
index 0000000..1861990
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00639/00639-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.1,0.6065306527282378,0.8934693472717621,0.6701020104538216
+0.2,0.3678793785780327,1.132120621421967,0.8490904660664755
+0.3,0.2231301601143213,1.276869839885678,0.9576523799142591
+0.4,0.1353352827995035,1.364664717200496,1.023498537900372
+0.5,0.08208499786926455,1.417915002130734,1.063436251598051
+0.6,0.04978706691007342,1.450212933089926,1.087659699817444
+0.7,0.03019738313854777,1.46980261686145,1.102351962646088
+0.8,0.01831563871854158,1.481684361281456,1.111263270961092
+0.9,0.01110899566660876,1.488891004333389,1.116668253250042
+1.,0.006737946668664118,1.001470549848109,0.7511029123860821
+1.1,0.00408677115559116,1.004121725361182,0.7530912940208867
+1.2,0.002478752054718019,1.005729744462055,0.7542973083465416
+1.3,0.001503439119377369,1.006705057397395,0.7550287930480469
+1.4,0.0009118818575787568,1.007296614659194,0.7554724609943956
+1.5,0.000553084304559031,1.007655412212214,0.7557415591591607
+1.6,0.0003354626096785803,1.007873033907094,0.7559047754303208
+1.7,0.0002034683543676331,1.008005028162405,0.7560037711218041
+1.8,0.0001234097876693631,1.008085086729103,0.7560638150468278
+1.9,0.00007485181794076106,1.008133644698832,0.7561002335241242
+2.,0.00004539992403094791,1.008163096592742,0.7561223224445565
+2.1,0.00002753644757716535,1.008180960069195,0.7561357200518965
+2.2,0.00001670169978701099,1.008191794816985,0.7561438461127392
+2.3,0.00001013009238613989,1.008198366424387,0.7561487748182902
+2.4,6.144211378209642e-6,1.008202352305395,0.7561517642290462
+2.5,3.726652654895486e-6,1.008204769864118,0.7561535773980887
+2.6,2.260329231473757e-6,1.008206236187541,0.7561546771406564
+2.7,1.370959015303383e-6,1.008207125557758,0.7561553441683185
+2.8,8.315286318069508e-7,1.008207664988141,0.7561557487411061
+2.9,5.043475847484746e-7,1.008207992169188,0.7561559941268915
+3.,3.059022749915506e-7,1.008208190614498,0.7561561429608739
+3.1,1.855391190723661e-7,1.008208310977654,0.7561562332332408
+3.2,1.12535169216612e-7,1.008208383981604,0.7561562879862033
+3.3,6.825602763141444e-8,1.008208428260746,0.7561563211955595
+3.4,4.139937111811544e-8,1.008208455117402,0.7561563413380519
+3.5,2.510998764750871e-8,1.008208471406786,0.7561563535550897
+3.6,1.522997809901983e-8,1.008208481286796,0.7561563609650972
+3.7,9.237449177103226e-9,1.008208487279324,0.7561563654594936
+3.8,5.602796015394517e-9,1.008208490913977,0.7561563681854834
+3.9,3.398267357140671e-9,1.008208493118506,0.75615636983888
+4.,2.061153294183705e-9,1.00820849445562,0.7561563708417156
+4.1,1.250152712915709e-9,1.008208495266621,0.7561563714499659
+4.2,7.582559961835201e-10,1.008208495758518,0.7561563718188885
+4.3,4.599055090042722e-10,1.008208496056868,0.7561563720426509
+4.4,2.789467749238475e-10,1.008208496237826,0.7561563721783701
+4.5,1.691897653177686e-10,1.008208496347583,0.7561563722606878
+4.6,1.026187823781966e-10,1.008208496414154,0.7561563723106161
+4.7,6.224144161822525e-11,1.008208496454532,0.756156372340899
+4.8,3.775134342437386e-11,1.008208496479022,0.7561563723592668
+4.9,2.289734596654194e-11,1.008208496493876,0.7561563723704073
+5.,1.388794318612138e-11,1.008208496502885,0.7561563723771644
diff --git a/models/sbml-test-suite/cases/semantic/00639/00639-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00639/00639-sbml-l2v4.xml
new file mode 100644
index 0000000..0ad60d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00639/00639-sbml-l2v4.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00639" id="case00639" name="case00639">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00639/00639-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00639/00639-sbml-l3v1.xml
new file mode 100644
index 0000000..8173ee3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00639/00639-sbml-l3v1.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00639" id="case00639" name="case00639" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00639/00639-settings.txt b/models/sbml-test-suite/cases/semantic/00639/00639-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00639/00639-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00640/00640-results.csv b/models/sbml-test-suite/cases/semantic/00640/00640-results.csv
new file mode 100644
index 0000000..a439781
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00640/00640-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2,1.5,4
+0.3,1.19777,2.30223,1.78903,3.71097
+0.6,0.956442,2.54356,2.05717,3.44283
+0.9,0.763735,2.73627,2.30594,3.19406
+1.2,0.609854,2.89015,2.53673,2.96327
+1.5,0.486979,3.01302,2.75084,2.74916
+1.8,0.38886,3.11114,2.94949,2.55051
+2.1,0.310511,3.18949,3.13378,2.36622
+2.4,0.247948,3.25205,3.30475,2.19525
+2.7,0.197991,3.30201,3.46337,2.03663
+3,0.158099,3.3419,3.61053,1.88947
+3.3,0.126244,3.37376,3.74706,1.75294
+3.6,0.100808,3.39919,3.87372,1.62628
+3.9,0.080497,3.4195,3.99123,1.50877
+4.2,0.0642782,3.43572,4.10025,1.39975
+4.5,0.0513272,3.44867,4.20139,1.29861
+4.8,0.0409856,3.45901,4.29522,1.20478
+5.1,0.0327277,3.46727,4.38228,1.11772
+5.4,0.0261336,3.47387,4.46304,1.03696
+5.7,0.0208681,3.47913,4.53797,0.962034
+6,0.0166635,3.48334,4.60748,0.892521
+6.3,0.0133061,3.48669,4.67197,0.82803
+6.6,0.0106251,3.48937,4.7318,0.7682
+6.9,0.00848433,3.49152,4.78731,0.712692
+7.2,0.00677487,3.49323,4.8388,0.661196
+7.5,0.00540984,3.49459,4.88658,0.61342
+7.8,0.00431985,3.49568,4.9309,0.569096
+8.1,0.00344947,3.49655,4.97202,0.527975
+8.4,0.00275446,3.49725,5.01017,0.489826
+8.7,0.00219948,3.4978,5.04557,0.454433
+9,0.00175632,3.49824,5.0784,0.421597
+9.3,0.00140245,3.4986,5.10887,0.391134
+9.6,0.00111988,3.49888,5.13713,0.362872
+9.9,0.000894241,3.49911,5.16335,0.336652
+10.2,0.000714066,3.49929,5.18767,0.312327
+10.5,0.000570193,3.49943,5.21024,0.289759
+10.8,0.000455309,3.49954,5.23118,0.268822
+11.1,0.000363571,3.49964,5.2506,0.249398
+11.4,0.000290318,3.49971,5.26862,0.231377
+11.7,0.000231823,3.49977,5.28534,0.214659
+12,0.000185115,3.49981,5.30085,0.199148
+12.3,0.000147817,3.49985,5.31524,0.184759
+12.6,0.000118034,3.49988,5.32859,0.171409
+12.9,9.43E-05,3.49991,5.34098,0.159023
+13.2,7.53E-05,3.49992,5.35247,0.147533
+13.5,6.01E-05,3.49994,5.36313,0.136872
+13.8,4.80E-05,3.49995,5.37302,0.126983
+14.1,3.83E-05,3.49996,5.38219,0.117807
+14.4,3.06E-05,3.49997,5.39071,0.109295
+14.7,2.44E-05,3.49998,5.3986,0.101398
+15,1.95E-05,3.49998,5.40593,0.094071
diff --git a/models/sbml-test-suite/cases/semantic/00640/00640-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00640/00640-sbml-l2v4.xml
new file mode 100644
index 0000000..b0faed9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00640/00640-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00640" id="case00640" name="case00640">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.75"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00640/00640-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00640/00640-sbml-l3v1.xml
new file mode 100644
index 0000000..1ec42c4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00640/00640-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00640" id="case00640" name="case00640" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00640/00640-settings.txt b/models/sbml-test-suite/cases/semantic/00640/00640-settings.txt
new file mode 100644
index 0000000..64e82f8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00640/00640-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00641/00641-results.csv b/models/sbml-test-suite/cases/semantic/00641/00641-results.csv
new file mode 100644
index 0000000..0a940b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00641/00641-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2,1.5,4
+0.4,1.11123,2.38877,1.88065,3.61935
+0.8,0.823217,2.67678,2.22508,3.27492
+1.2,0.609854,2.89015,2.53673,2.96327
+1.6,0.451791,3.04821,2.81872,2.68128
+2,0.334695,3.1653,3.07388,2.42612
+2.4,0.247948,3.25205,3.30475,2.19525
+2.8,0.183685,3.31632,3.51366,1.98634
+3.2,0.136077,3.36392,3.70268,1.79732
+3.6,0.100808,3.39919,3.87372,1.62628
+4,0.0746806,3.42532,4.02848,1.47152
+4.4,0.0553248,3.44468,4.16852,1.33148
+4.8,0.0409856,3.45901,4.29522,1.20478
+5.2,0.0303629,3.46964,4.40987,1.09013
+5.6,0.0224934,3.47751,4.51361,0.986388
+6,0.0166635,3.48334,4.60748,0.892521
+6.4,0.0123446,3.48766,4.69241,0.807586
+6.8,0.00914512,3.49085,4.76927,0.730734
+7.2,0.00677487,3.49323,4.8388,0.661196
+7.6,0.00501895,3.49498,4.90173,0.598274
+8,0.00371813,3.49628,4.95866,0.541341
+8.4,0.00275446,3.49725,5.01017,0.489826
+8.8,0.00204055,3.49796,5.05679,0.443213
+9.2,0.00151168,3.49849,5.09896,0.401035
+9.6,0.00111988,3.49888,5.13713,0.362872
+10,0.000829627,3.49917,5.17166,0.32834
+10.4,0.000614602,3.49939,5.20291,0.297094
+10.8,0.000455309,3.49954,5.23118,0.268822
+11.2,0.000337301,3.49966,5.25676,0.24324
+11.6,0.000249879,3.49975,5.27991,0.220093
+12,0.000185115,3.49981,5.30085,0.199148
+12.4,0.000137136,3.49986,5.3198,0.180197
+12.8,0.000101593,3.4999,5.33695,0.163049
+13.2,7.53E-05,3.49992,5.35247,0.147533
+13.6,5.58E-05,3.49994,5.36651,0.133493
+14,4.13E-05,3.49996,5.37921,0.12079
+14.4,3.06E-05,3.49997,5.39071,0.109295
+14.8,2.27E-05,3.49998,5.40111,0.0988941
+15.2,1.68E-05,3.49998,5.41052,0.0894831
+15.6,1.24E-05,3.49999,5.41903,0.0809676
+16,9.22E-06,3.49999,5.42674,0.0732626
+16.4,6.83E-06,3.49999,5.43371,0.0662907
+16.8,5.06E-06,3.49999,5.44002,0.0599823
+17.2,3.75E-06,3.5,5.44573,0.0542742
+17.6,2.78E-06,3.5,5.45089,0.0491094
+18,2.06E-06,3.5,5.45556,0.044436
+18.4,1.52E-06,3.5,5.45979,0.0402073
+18.8,1.13E-06,3.5,5.46362,0.0363811
+19.2,8.36E-07,3.5,5.46708,0.032919
+19.6,6.19E-07,3.5,5.47021,0.0297863
+20,4.59E-07,3.5,5.47305,0.0269518
diff --git a/models/sbml-test-suite/cases/semantic/00641/00641-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00641/00641-sbml-l2v4.xml
new file mode 100644
index 0000000..63935c5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00641/00641-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00641" id="case00641" name="case00641">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.75"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00641/00641-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00641/00641-sbml-l3v1.xml
new file mode 100644
index 0000000..d8d8fe0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00641/00641-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00641" id="case00641" name="case00641" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00641/00641-settings.txt b/models/sbml-test-suite/cases/semantic/00641/00641-settings.txt
new file mode 100644
index 0000000..de9246f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00641/00641-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00642/00642-results.csv b/models/sbml-test-suite/cases/semantic/00642/00642-results.csv
new file mode 100644
index 0000000..9d4856e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00642/00642-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2,1.5,4
+0.2,1.29106,2.20894,1.88065,3.61935
+0.4,1.11123,2.38877,2.22508,3.27492
+0.6,0.956442,2.54356,2.53673,2.96327
+0.8,0.823217,2.67678,2.81872,2.68128
+1,0.70855,2.79145,3.07388,2.42612
+1.2,0.609854,2.89015,3.30475,2.19525
+1.4,0.524907,2.97509,3.51366,1.98634
+1.6,0.451791,3.04821,3.70268,1.79732
+1.8,0.38886,3.11114,3.87372,1.62628
+2,0.334695,3.1653,4.02848,1.47152
+2.2,0.288075,3.21193,4.16852,1.33148
+2.4,0.247948,3.25205,4.29522,1.20478
+2.6,0.213411,3.28659,4.40987,1.09013
+2.8,0.183685,3.31632,4.51361,0.986388
+3,0.158099,3.3419,4.60748,0.892521
+3.2,0.136077,3.36392,4.69241,0.807586
+3.4,0.117122,3.38288,4.76927,0.730734
+3.6,0.100808,3.39919,4.8388,0.661196
+3.8,0.0867665,3.41323,4.90173,0.598274
+4,0.0746806,3.42532,4.95866,0.541341
+4.2,0.0642782,3.43572,5.01017,0.489826
+4.4,0.0553248,3.44468,5.05679,0.443213
+4.6,0.0476185,3.45238,5.09896,0.401035
+4.8,0.0409856,3.45901,5.13713,0.362872
+5,0.0352766,3.46472,5.17166,0.32834
+5.2,0.0303629,3.46964,5.20291,0.297094
+5.4,0.0261336,3.47387,5.23118,0.268822
+5.6,0.0224934,3.47751,5.25676,0.24324
+5.8,0.0193602,3.48064,5.27991,0.220093
+6,0.0166635,3.48334,5.30085,0.199148
+6.2,0.0143424,3.48566,5.3198,0.180197
+6.4,0.0123446,3.48766,5.33695,0.163049
+6.6,0.0106251,3.48937,5.35247,0.147533
+6.8,0.00914512,3.49085,5.36651,0.133493
+7,0.00787128,3.49213,5.37921,0.12079
+7.2,0.00677487,3.49323,5.39071,0.109295
+7.4,0.00583119,3.49417,5.40111,0.0988941
+7.6,0.00501895,3.49498,5.41052,0.0894831
+7.8,0.00431985,3.49568,5.41903,0.0809676
+8,0.00371813,3.49628,5.42674,0.0732626
+8.2,0.00320022,3.4968,5.43371,0.0662907
+8.4,0.00275446,3.49725,5.44002,0.0599823
+8.6,0.00237078,3.49763,5.44573,0.0542742
+8.8,0.00204055,3.49796,5.45089,0.0491094
+9,0.00175632,3.49824,5.45556,0.044436
+9.2,0.00151168,3.49849,5.45979,0.0402073
+9.4,0.00130111,3.4987,5.46362,0.0363811
+9.6,0.00111988,3.49888,5.46708,0.032919
+9.8,0.000963889,3.49904,5.47021,0.0297863
+10,0.000829627,3.49917,5.47305,0.0269518
diff --git a/models/sbml-test-suite/cases/semantic/00642/00642-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00642/00642-sbml-l2v4.xml
new file mode 100644
index 0000000..a0f28bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00642/00642-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00642" id="case00642" name="case00642">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="p1" name="p1" value="0.75"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00642/00642-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00642/00642-sbml-l3v1.xml
new file mode 100644
index 0000000..f8d5ac9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00642/00642-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00642" id="case00642" name="case00642" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00642/00642-settings.txt b/models/sbml-test-suite/cases/semantic/00642/00642-settings.txt
new file mode 100644
index 0000000..76bab9a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00642/00642-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00643/00643-results.csv b/models/sbml-test-suite/cases/semantic/00643/00643-results.csv
new file mode 100644
index 0000000..b4f0c60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00643/00643-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.0000109217168516862,0.00001592171685168619,9.078283148313796e-6,0.0000163825752775293
+0.4,0.00001175322248611593,0.00001675322248611592,8.246777513884069e-6,0.00001762983372917389
+0.6,0.00001250334614858563,0.00001750334614858562,7.496653851414368e-6,0.00001875501922287844
+0.8,0.00001318005293522239,0.00001818005293522239,6.819947064777604e-6,0.00001977007940283359
+1.,0.00001379052838101457,0.00001879052838101457,6.209471618985424e-6,0.00002068579257152185
+1.2,0.00001434125475998713,0.00001934125475998713,5.658745240012861e-6,0.0000215118821399807
+1.4,0.00001483807988873711,0.00001983807988873711,5.161920111262884e-6,0.00002225711983310566
+1.6,0.00001528627923921957,0.00002028627923921957,4.713720760780419e-6,0.00002292941885882936
+1.8,0.00001569061195944459,0.00002069061195944459,4.309388040555399e-6,0.00002353591793916689
+2.,0.00001605537201135175,0.00002105537201135175,3.944627988648242e-6,0.00002408305801702762
+2.2,0.00001638443067396678,0.00002138443067396677,3.615569326033227e-6,0.00002457664601095016
+2.4,0.00001668128397414227,0.00002168128397414227,3.318716025857725e-6,0.00002502192596121341
+2.6,0.00001694908334211642,0.00002194908334211642,3.050916657883575e-6,0.00002542362501317464
+2.8,0.00001719067238789137,0.00002219067238789137,2.809327612108627e-6,0.00002578600858183706
+3.,0.00001740861636010126,0.00002240861636010126,2.591383639898737e-6,0.00002611292454015189
+3.2,0.00001760522951714257,0.00002260522951714257,2.39477048285742e-6,0.00002640784427571386
+3.4,0.00001778259957214644,0.00002278259957214644,2.217400427853551e-6,0.00002667389935821966
+3.6,0.00001794260981060975,0.00002294260981060975,2.057390189390241e-6,0.00002691391471591463
+3.8,0.00001808695942631759,0.00002308695942631759,1.913040573682397e-6,0.00002713043913947639
+4.,0.00001821718110098768,0.00002321718110098767,1.782818899012317e-6,0.00002732577165148152
+4.2,0.00001833465754334666,0.00002333465754334665,1.665342456653334e-6,0.00002750198631501999
+4.4,0.00001844063628729467,0.00002344063628729467,1.559363712705321e-6,0.00002766095443094201
+4.6,0.00001853624246760236,0.00002353624246760236,1.463757532397627e-6,0.00002780436370140355
+4.8,0.00001862249149504929,0.00002362249149504929,1.377508504950704e-6,0.00002793373724257394
+5.,0.00001870029898173963,0.00002370029898173963,1.299701018260363e-6,0.00002805044847260945
+5.2,0.00001877049122313275,0.00002377049122313275,1.229508776867238e-6,0.00002815573683469913
+5.4,0.00001883381359495538,0.00002383381359495538,1.166186405044614e-6,0.00002825072039243307
+5.6,0.00001889093834173048,0.00002389093834173048,1.109061658269508e-6,0.00002833640751259573
+5.8,0.0000189424721616409,0.0000239424721616409,1.057527838359091e-6,0.00002841370824246136
+6.,0.00001898896223094105,0.00002398896223094104,1.011037769058948e-6,0.00002848344334641157
+6.2,0.00001903090215108336,0.00002403090215108336,9.690978489166296e-7,0.00002854635322662505
+6.4,0.00001906873725747461,0.00002406873725747461,9.312627425253851e-7,0.00002860310588621192
+6.6,0.00001910286932261635,0.00002410286932261635,8.971306773836424e-7,0.00002865430398392453
+6.8,0.00001913366080733739,0.00002413366080733739,8.663391926626052e-7,0.00002870049121100609
+7.,0.00001916143865302751,0.00002416143865302751,8.385613469724786e-7,0.00002874215797954127
+7.2,0.00001918649778658127,0.00002418649778658127,8.135022134187217e-7,0.00002877974667987191
+7.4,0.00001920910428992916,0.00002420910428992916,7.908957100708378e-7,0.00002881365643489374
+7.6,0.00001922949821801625,0.00002422949821801625,7.705017819837406e-7,0.00002884424732702439
+7.8,0.00001924789614108157,0.00002424789614108157,7.521038589184182e-7,0.00002887184421162237
+8.,0.00001926449342284265,0.00002426449342284265,7.355065771573465e-7,0.00002889674013426397
+8.2,0.00001927946627059378,0.00002427946627059377,7.205337294062176e-7,0.00002891919940589067
+8.4,0.00001929297367883728,0.00002429297367883728,7.070263211627083e-7,0.00002893946051825593
+8.6,0.0000193051590741782,0.0000243051590741782,6.948409258217906e-7,0.0000289577386112673
+8.8,0.00001931615184599961,0.00002431615184599961,6.838481540003791e-7,0.00002897422776899942
+9.,0.00001932606872021517,0.00002432606872021517,6.7393127978482e-7,0.00002898910308032276
+9.2,0.00001933501499859236,0.00002433501499859236,6.649850014076305e-7,0.00002900252249788854
+9.4,0.0000193430856767989,0.0000243430856767989,6.569143232010876e-7,0.00002901462851519836
+9.6,0.00001935036645303882,0.00002435036645303882,6.496335469611699e-7,0.00002902554967955824
+9.8,0.00001935693463667982,0.00002435693463667982,6.430653633201714e-7,0.00002903540195501973
+10.,0.00001936285997490206,0.00002436285997490206,6.371400250979317e-7,0.00002904428996235309
diff --git a/models/sbml-test-suite/cases/semantic/00643/00643-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00643/00643-sbml-l2v4.xml
new file mode 100644
index 0000000..3e9760c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00643/00643-sbml-l2v4.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00643" id="case00643" name="case00643">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+      <parameter id="p1" name="p1" value="0.02"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 2000 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00643/00643-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00643/00643-sbml-l3v1.xml
new file mode 100644
index 0000000..1a4f9eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00643/00643-sbml-l3v1.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00643" id="case00643" name="case00643" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.02" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 2000 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00643/00643-settings.txt b/models/sbml-test-suite/cases/semantic/00643/00643-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00643/00643-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00644/00644-results.csv b/models/sbml-test-suite/cases/semantic/00644/00644-results.csv
new file mode 100644
index 0000000..fdf81b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00644/00644-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.3,0.00001134817294141684,0.00001634817294141684,8.651827058583161e-6,0.00001702225941212525
+0.6,0.0000125033461486053,0.0000175033461486053,7.496653851394701e-6,0.00001875501922290795
+0.9,0.00001349314881253342,0.00001849314881253343,6.50685118746658e-6,0.00002023972321880012
+1.2,0.00001434125475990844,0.00001934125475990845,5.658745240091553e-6,0.00002151188213986267
+1.5,0.00001506794885517597,0.00002006794885517598,4.932051144824024e-6,0.00002260192328276396
+1.8,0.0000156906119586454,0.00002069061195864541,4.309388041354594e-6,0.00002353591793796811
+2.1,0.00001622413694747473,0.00002122413694747474,3.775863052525265e-6,0.0000243362054212121
+2.4,0.00001668128397413968,0.00002168128397413969,3.318716025860319e-6,0.00002502192596120952
+2.7,0.00001707298763117841,0.00002207298763117842,2.927012368821582e-6,0.00002560948144676762
+3.,0.0000174086163600416,0.00002240861636004161,2.591383639958394e-6,0.0000261129245400624
+3.3,0.00001769619770980256,0.00002269619770980257,2.303802290197431e-6,0.00002654429656470384
+3.6,0.00001794260981067899,0.000022942609810679,2.057390189321004e-6,0.00002691391471601849
+3.9,0.00001815374650370134,0.00002315374650370135,1.846253496298657e-6,0.000027230619755552
+4.2,0.00001833465754341772,0.00002333465754341773,1.665342456582271e-6,0.00002750198631512659
+4.5,0.00001848967007328739,0.0000234896700732874,1.510329926712596e-6,0.00002773450510993109
+4.8,0.00001862249149503697,0.00002362249149503698,1.37750850496302e-6,0.00002793373724255546
+5.1,0.00001873629866417069,0.0000237362986641707,1.263701335829302e-6,0.00002810444799625604
+5.4,0.00001883381359502213,0.00002383381359502214,1.166186404977867e-6,0.00002825072039253319
+5.7,0.00001891736862783802,0.00002391736862783803,1.08263137216197e-6,0.00002837605294175704
+6.,0.00001898896223021349,0.0000239889622302135,1.011037769786505e-6,0.00002848344334532023
+6.3,0.00001905030669296683,0.00002405030669296684,9.496933070331663e-7,0.00002857546003945025
+6.6,0.00001910286932312637,0.00002410286932312638,8.971306768736317e-7,0.00002865430398468955
+6.9,0.00001914790730218841,0.00002414790730218842,8.520926978115871e-7,0.00002872186095328262
+7.2,0.00001918649778652808,0.00002418649778652809,8.135022134719134e-7,0.00002877974667979213
+7.5,0.00001921956377033018,0.00002421956377033019,7.80436229669813e-7,0.00002882934565549527
+7.8,0.00001924789614089551,0.00002424789614089552,7.521038591044809e-7,0.00002887184421134327
+8.1,0.00001927217258069116,0.00002427217258069117,7.278274193088335e-7,0.00002890825887103675
+8.4,0.00001929297367852589,0.0000242929736785259,7.070263214741054e-7,0.00002893946051778884
+8.7,0.00001931079693812066,0.00002431079693812067,6.892030618793335e-7,0.000028966195407181
+9.,0.00001932606872033028,0.00002432606872033028,6.739312796697245e-7,0.00002898910308049542
+9.3,0.00001933915421732905,0.00002433915421732906,6.608457826709537e-7,0.00002900873132599357
+9.6,0.00001935036645328648,0.00002435036645328649,6.496335467135185e-7,0.00002902554967992973
+9.9,0.00001935997358989362,0.00002435997358989363,6.400264101063797e-7,0.00002903996038484043
+10.2,0.00001936820538504494,0.00002436820538504495,6.317946149550575e-7,0.00002905230807756742
+10.5,0.0000193752587652588,0.00002437525876525881,6.247412347412044e-7,0.0000290628881478882
+10.8,0.00001938130238894447,0.00002438130238894448,6.186976110555343e-7,0.0000290719535834167
+11.1,0.00001938648084573497,0.00002438648084573498,6.13519154265027e-7,0.00002907972126860246
+11.4,0.00001939091795901845,0.00002439091795901846,6.090820409815481e-7,0.00002908637693852768
+11.7,0.00001939471988070837,0.00002439471988070838,6.052801192916315e-7,0.00002909207982106255
+12.,0.00001939797752601405,0.00002439797752601406,6.020224739859491e-7,0.00002909696628902108
+12.3,0.00001940076882153854,0.00002440076882153855,5.992311784614577e-7,0.00002910115323230781
+12.6,0.00001940316052409653,0.00002440316052409654,5.9683947590347e-7,0.00002910474078614479
+12.9,0.00001940520983770542,0.00002440520983770543,5.947901622945832e-7,0.00002910781475655813
+13.2,0.00001940696578121518,0.00002440696578121519,5.93034218784819e-7,0.00002911044867182276
+13.5,0.00001940847034669869,0.0000244084703466987,5.915296533013023e-7,0.00002911270552004803
+13.8,0.00001940975952745633,0.00002440975952745634,5.902404725436598e-7,0.0000291146392911845
+14.1,0.00001941086415010656,0.00002441086415010657,5.891358498934322e-7,0.00002911629622515984
+14.4,0.00001941181064197546,0.00002441181064197547,5.881893580245285e-7,0.00002911771596296319
+14.7,0.00001941262163479329,0.0000244126216347933,5.873783652066979e-7,0.00002911893245218993
+15.,0.00001941331652975996,0.00002441331652975997,5.866834702400212e-7,0.00002911997479463995
diff --git a/models/sbml-test-suite/cases/semantic/00644/00644-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00644/00644-sbml-l2v4.xml
new file mode 100644
index 0000000..df70cb5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00644/00644-sbml-l2v4.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00644" id="case00644" name="case00644">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+      <parameter id="p1" name="p1" value="0.02"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 2000 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00644/00644-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00644/00644-sbml-l3v1.xml
new file mode 100644
index 0000000..cb5f148
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00644/00644-sbml-l3v1.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00644" id="case00644" name="case00644" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.02" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 2000 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00644/00644-settings.txt b/models/sbml-test-suite/cases/semantic/00644/00644-settings.txt
new file mode 100644
index 0000000..e9f4c16
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00644/00644-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00645/00645-results.csv b/models/sbml-test-suite/cases/semantic/00645/00645-results.csv
new file mode 100644
index 0000000..413c552
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00645/00645-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.4,0.00001175322248611798,0.00001675322248611798,8.246777513882015e-6,0.00001762983372917698
+0.8,0.00001318005293528724,0.00001818005293528724,6.819947064712753e-6,0.00001977007940293087
+1.2,0.00001434125476048806,0.00001934125476048806,5.65874523951194e-6,0.00002151188214073209
+1.6,0.00001528627923979203,0.00002028627923979203,4.713720760207968e-6,0.00002292941885968805
+2.,0.00001605537200874716,0.00002105537200874716,3.944627991252841e-6,0.00002408305801312074
+2.4,0.00001668128397414157,0.00002168128397414157,3.318716025858445e-6,0.00002502192596121235
+2.8,0.00001719067238790338,0.00002219067238790338,2.809327612096629e-6,0.00002578600858185507
+3.2,0.0000176052295171453,0.0000226052295171453,2.394770482854703e-6,0.00002640784427571796
+3.6,0.00001794260981065069,0.00002294260981065069,2.05739018934932e-6,0.00002691391471597603
+4.,0.00001821718110099222,0.00002321718110099222,1.782818899007786e-6,0.00002732577165148834
+4.4,0.00001844063628667607,0.00002344063628667607,1.55936371332394e-6,0.0000276609544300141
+4.8,0.0000186224914952478,0.0000236224914952478,1.377508504752203e-6,0.0000279337372428717
+5.2,0.00001877049122392625,0.00002377049122392625,1.229508776073751e-6,0.00002815573683588938
+5.6,0.00001889093834073539,0.00002389093834073539,1.109061659264621e-6,0.00002833640751110308
+6.,0.00001898896223182345,0.00002398896223182345,1.011037768176555e-6,0.00002848344334773518
+6.4,0.00001906873725633116,0.00002406873725633116,9.312627436688473e-7,0.00002860310588449674
+6.8,0.00001913366080812791,0.00002413366080812791,8.663391918720961e-7,0.00002870049121219186
+7.2,0.00001918649778661653,0.00002418649778661653,8.135022133834758e-7,0.00002877974667992479
+7.6,0.00001922949821740415,0.00002422949821740415,7.705017825958494e-7,0.00002884424732610624
+8.,0.00001926449342360516,0.00002426449342360516,7.355065763948465e-7,0.00002889674013540774
+8.4,0.0000192929736792605,0.0000242929736792605,7.07026320739505e-7,0.00002893946051889075
+8.8,0.00001931615184599429,0.00002431615184599429,6.838481540057143e-7,0.00002897422776899144
+9.2,0.00001933501499829986,0.00002433501499829986,6.649850017001451e-7,0.0000290025224974498
+9.6,0.0000193503664526937,0.0000243503664526937,6.496335473063058e-7,0.00002902554967904055
+10.,0.00001936285997663647,0.00002436285997663647,6.371400233635295e-7,0.00002904428996495471
+10.4,0.0000193730276218887,0.0000243730276218887,6.269723781113045e-7,0.00002905954143283305
+10.8,0.00001938130238900868,0.00002438130238900868,6.186976109913169e-7,0.00002907195358351303
+11.2,0.00001938803666892973,0.00002438803666892973,6.119633310702674e-7,0.0000290820550033946
+11.6,0.00001939351724893324,0.00002439351724893324,6.06482751066759e-7,0.00002909027587339986
+12.,0.00001939797752620279,0.00002439797752620279,6.020224737971998e-7,0.00002909696628930419
+12.4,0.00001940160744722567,0.00002440160744722567,5.983925527743178e-7,0.00002910241117083851
+12.8,0.00001940456159682111,0.00002440456159682111,5.954384031788729e-7,0.00002910684239523167
+13.2,0.00001940696578127754,0.00002440696578127754,5.93034218722448e-7,0.00002911044867191631
+13.6,0.00001940892238593937,0.00002440892238593937,5.910776140606074e-7,0.00002911338357890906
+14.,0.00001941051473539641,0.00002441051473539641,5.894852646035701e-7,0.00002911577210309462
+14.4,0.00001941181064195981,0.00002441181064195981,5.881893580401659e-7,0.00002911771596293972
+14.8,0.00001941286529352642,0.00002441286529352642,5.87134706473559e-7,0.00002911929794028963
+15.2,0.00001941372360382744,0.00002441372360382743,5.862763961725407e-7,0.00002912058540574116
+15.6,0.00001941442212513642,0.00002441442212513642,5.855778748635596e-7,0.00002912163318770463
+16.,0.00001941499060489621,0.00002441499060489621,5.850093951037652e-7,0.00002912248590734432
+16.4,0.00001941545325255401,0.00002441545325255401,5.845467474459684e-7,0.00002912317987883102
+16.8,0.00001941582977055385,0.00002441582977055385,5.841702294461377e-7,0.00002912374465583077
+17.2,0.00001941613619360269,0.00002441613619360269,5.838638063972928e-7,0.00002912420429040404
+17.6,0.00001941638557078909,0.00002441638557078909,5.836144292109005e-7,0.00002912457835618364
+18.,0.00001941658852210116,0.00002441658852210116,5.834114778988311e-7,0.00002912488278315174
+18.4,0.00001941675369050534,0.00002441675369050534,5.83246309494648e-7,0.00002912513053575802
+18.8,0.00001941688811005618,0.00002441688811005618,5.831118899438192e-7,0.00002912533216508427
+19.2,0.00001941699750510829,0.00002441699750510829,5.830024948917082e-7,0.00002912549625766244
+19.6,0.00001941708653447286,0.00002441708653447286,5.829134655271316e-7,0.0000291256298017093
+20.,0.00001941715898929798,0.00002441715898929798,5.828410107020149e-7,0.00002912573848394698
diff --git a/models/sbml-test-suite/cases/semantic/00645/00645-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00645/00645-sbml-l2v4.xml
new file mode 100644
index 0000000..3a8dac7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00645/00645-sbml-l2v4.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00645" id="case00645" name="case00645">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+      <parameter id="p1" name="p1" value="0.02"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 2000 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00645/00645-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00645/00645-sbml-l3v1.xml
new file mode 100644
index 0000000..68d3b57
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00645/00645-sbml-l3v1.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00645" id="case00645" name="case00645" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.02" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 2000 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00645/00645-settings.txt b/models/sbml-test-suite/cases/semantic/00645/00645-settings.txt
new file mode 100644
index 0000000..a824ab3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00645/00645-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00646/00646-results.csv b/models/sbml-test-suite/cases/semantic/00646/00646-results.csv
new file mode 100644
index 0000000..7c1ee8c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00646/00646-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,0
+0.1,1.291061963867316,0.2089380361326824,0.015
+0.2,1.111227330583927,0.3887726694160721,0.03
+0.3,0.95644222515613,0.5435577748438693,0.04499999999999999
+0.4,0.82321744571092,0.6767825542890794,0.06000000000000001
+0.5,0.7085497915155064,0.7914502084844929,0.07500000000000001
+0.6,0.6098544566061525,0.8901455433938468,0.09000000000000001
+0.7,0.5249066090417178,0.9750933909582817,0.105
+0.8,0.4517913174013497,1.048208682598649,0.12
+0.9,0.3888603850485879,1.111139614951411,0.135
+1.,0.3346952341838271,1.165304765816172,0.15
+1.1,0.2880748596095394,1.21192514039046,0.165
+1.2,0.2479483127815723,1.252051687218427,0.18
+1.3,0.2134110813113424,1.286588918688657,0.195
+1.4,0.1836846241024088,1.316315375897591,0.21
+1.5,0.1580988316887293,1.34190116831127,0.225
+1.6,0.1360769295793713,1.363923070420628,0.24
+1.7,0.1171224917136198,1.38287750828638,0.255
+1.8,0.1008082572744071,1.399191742725593,0.27
+1.9,0.08676647306471053,1.013233525527607,0.2849999999999997
+2.,0.07468059520304377,1.025319403389273,0.2999999999999996
+2.1,0.06427818418811022,1.035721814404207,0.3149999999999996
+2.2,0.05532474473298134,1.044675253859336,0.3299999999999995
+2.3,0.04761844918455333,1.052381549407764,0.3449999999999994
+2.4,0.04098557939185009,1.059014419200468,0.3599999999999993
+2.5,0.03527660645088107,1.064723392141437,0.3749999999999993
+2.6,0.03036286428187697,1.06963713431044,0.3899999999999994
+2.7,0.02613355934181277,1.073866439250505,0.4049999999999994
+2.8,0.02249336303325951,1.077506635559058,0.4199999999999993
+2.9,0.01936021701724858,1.080639781575069,0.4349999999999993
+3.,0.01666349282460788,1.08333650576771,0.4499999999999994
+3.1,0.01434240129924279,1.085657597293075,0.4649999999999994
+3.2,0.01234461931858188,1.087655379273736,0.4799999999999994
+3.3,0.0106251121426332,1.089374886449684,0.4949999999999994
+3.4,0.009145118608370899,1.090854879983947,0.5099999999999995
+3.5,0.007871276407652557,1.092128722184665,0.5249999999999994
+3.6,0.006774870318278195,1.09322512827404,0.5399999999999994
+3.7,0.005831184904037314,1.094168813688281,0.5549999999999994
+3.8,0.00501894718164055,1.094981051410677,0.5699999999999994
+3.9,0.004319848019771286,1.095680150572546,0.5849999999999994
+4.,0.003718127821697298,1.09628187077062,0.5999999999999993
+4.1,0.003200222350671441,1.096799776241646,0.6149999999999991
+4.2,0.002754456823361956,1.097245541768955,0.6299999999999991
+4.3,0.002370782845626107,1.097629215746691,0.6449999999999991
+4.4,0.002040551642835334,1.097959446949482,0.6599999999999992
+4.5,0.001756319079805592,1.098243679512512,0.674999999999999
+4.6,0.001511677892836962,1.09848832069948,0.689999999999999
+4.7,0.001301113281073682,1.098698885311244,0.704999999999999
+4.8,0.001119878606034943,1.098880119986283,0.7199999999999988
+4.9,0.0009638884206015222,1.099036110171716,0.7349999999999989
+5.,0.0008296264763697728,1.099170372115948,0.7499999999999988
diff --git a/models/sbml-test-suite/cases/semantic/00646/00646-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00646/00646-sbml-l2v4.xml
new file mode 100644
index 0000000..c848fc9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00646/00646-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00646" id="case00646" name="case00646">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00646/00646-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00646/00646-sbml-l3v1.xml
new file mode 100644
index 0000000..3fa5f5b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00646/00646-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00646" id="case00646" name="case00646" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00646/00646-settings.txt b/models/sbml-test-suite/cases/semantic/00646/00646-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00646/00646-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00647/00647-results.csv b/models/sbml-test-suite/cases/semantic/00647/00647-results.csv
new file mode 100644
index 0000000..cdaa643
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00647/00647-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,1.
+0.06,1.374881861546609,1.874881861546609,1.62511813845339,1.06
+0.12,1.266815143341422,1.766815143341422,1.733184856658577,1.12
+0.18,1.172559219862294,1.672559219862294,1.827440780137705,1.179999999999999
+0.24,1.089645671327834,1.589645671327834,1.910354328672165,1.239999999999999
+0.3,1.016161200473059,1.516161200473059,1.98383879952694,1.299999999999999
+0.36,0.9505998796383866,1.450599879638386,2.049400120361613,1.359999999999998
+0.42,0.8917602132320972,1.391760213232096,2.108239786767903,1.419999999999998
+0.48,0.8386719117867836,1.338671911786783,2.161328088213216,1.479999999999998
+0.54,0.7905428204038743,1.290542820403874,2.209457179596126,1.539999999999998
+0.6,0.7467198345481042,1.246719834548104,2.253280165451895,1.599999999999998
+0.66,0.706659678005987,1.206659678005987,2.293340321994012,1.659999999999998
+0.72,0.6699067380821583,1.169906738082158,2.330093261917841,1.719999999999998
+0.78,0.6360760623331687,1.136076062333168,2.363923937666831,1.779999999999998
+0.84,0.6048401940554952,1.104840194055495,2.395159805944504,1.839999999999998
+0.9,0.5759187918496586,1.075918791849658,2.424081208150342,1.899999999999998
+0.96,0.5490704758998502,1.04907047589985,2.450929524100149,1.959999999999998
+1.02,0.5240862735028025,1.024086273502802,2.475913726497197,2.019999999999998
+1.08,0.5007843547213433,1.000784354721342,2.499215645278656,2.079999999999998
+1.14,0.4588542800628919,1.958854283695602,2.541145719937107,2.139999999999997
+1.2,0.4205439914942795,1.92054399512699,2.579456008505719,2.199999999999996
+1.26,0.3860668313669449,1.886066834999655,2.613933168633054,2.259999999999997
+1.32,0.3549426257030539,1.854942629335764,2.645057374296945,2.319999999999997
+1.38,0.3267663098248112,1.826766313457521,2.673233690175187,2.379999999999996
+1.44,0.3011937767373333,1.801193780370044,2.698806223262665,2.439999999999995
+1.5,0.2779308338269,1.77793083745961,2.722069166173099,2.499999999999996
+1.56,0.2567244534031462,1.756724457035857,2.743275546596852,2.559999999999996
+1.62,0.2373558300798993,1.73735583371261,2.762644169920099,2.619999999999997
+1.68,0.2196347910027916,1.719634794635502,2.780365208997207,2.679999999999997
+1.74,0.2033952621441949,1.703395265776906,2.796604737855804,2.739999999999997
+1.8,0.1884915886740173,1.688491592306728,2.811508411325982,2.799999999999997
+1.86,0.1747954991085915,1.674795502741302,2.825204500891407,2.859999999999997
+1.92,0.1621936024117252,1.662193606044436,2.837806397588274,2.919999999999997
+1.98,0.1505853039936288,1.650585307626339,2.84941469600637,2.979999999999998
+2.04,0.1398810801125586,1.639881083745269,2.86011891988744,3.039999999999998
+2.1,0.1300009823894799,1.63000098602219,2.869999017610519,3.099999999999998
+2.16,0.1208734484813724,1.620873452114083,2.879126551518626,3.159999999999998
+2.22,0.1124342119278621,1.612434215560573,2.887565788072136,3.219999999999999
+2.28,0.1046254350297146,1.604625438662425,2.895374564970284,3.279999999999998
+2.34,0.0973949356204147,1.597394939253125,2.902605064379584,3.339999999999999
+2.4,0.09069552075193919,1.59069552438465,2.90930447924806,3.399999999999999
+2.46,0.08448444205735236,1.584484445690063,2.915515557942647,3.459999999999999
+2.52,0.07872287429916692,1.578722877931877,2.921277125700832,3.519999999999999
+2.58,0.07337551205327258,1.573375515685983,2.926624487946726,3.579999999999999
+2.64,0.06841018874153952,1.56841019237425,2.931589811258459,3.639999999999999
+2.7,0.06379754179465838,1.563797545427369,2.936202458205341,3.699999999999999
+2.76,0.05951074546474744,1.559510749097458,2.940489254535251,3.759999999999998
+2.82,0.05552523905524318,1.555525242687954,2.944474760944756,3.819999999999998
+2.88,0.051818515489967,1.551818519122678,2.948181484510032,3.879999999999998
+2.94,0.04836992670571835,1.548369930338429,2.951630073294281,3.939999999999998
+3.,0.04516049705886917,1.54516050069158,2.954839502941129,3.999999999999998
diff --git a/models/sbml-test-suite/cases/semantic/00647/00647-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00647/00647-sbml-l2v4.xml
new file mode 100644
index 0000000..61b2c2a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00647/00647-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00647" id="case00647" name="case00647">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00647/00647-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00647/00647-sbml-l3v1.xml
new file mode 100644
index 0000000..7b986c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00647/00647-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00647" id="case00647" name="case00647" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00647/00647-settings.txt b/models/sbml-test-suite/cases/semantic/00647/00647-settings.txt
new file mode 100644
index 0000000..d8011d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00647/00647-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00648/00648-results.csv b/models/sbml-test-suite/cases/semantic/00648/00648-results.csv
new file mode 100644
index 0000000..14e4534
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00648/00648-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.06,1.43399622272065,2.066003777279349,1.5225,3.992500000000001
+0.12,1.370896777896229,2.12910322210377,1.545,3.985000000000001
+0.18,1.310573867134556,2.189426132865443,1.567500000000001,3.977500000000001
+0.24,1.252905317096646,2.247094682903352,1.590000000000001,3.970000000000002
+0.3,1.19777432792068,2.302225672079319,1.6125,3.962500000000002
+0.36,1.145069240706644,2.354930759293355,1.635,3.955000000000002
+0.42,1.094683309853178,2.40531669014682,1.6575,3.947500000000002
+0.48,1.046514485622877,2.453485514377121,1.68,3.940000000000001
+0.54,1.000465215625792,2.499534784374206,1.7025,3.932500000000001
+0.6,0.9564422260398005,2.543557773960198,1.725,3.925000000000001
+0.66,0.9143563579084074,2.585643642091591,1.7475,3.917500000000001
+0.72,0.8741223611170881,2.62587763888291,1.77,3.910000000000001
+0.78,0.8356587767913835,2.664341223208615,1.7925,3.902500000000001
+0.84,0.798887691984636,2.701112308015362,1.815,3.895000000000001
+0.9,0.7637346286063533,2.736265371393646,1.8375,3.887500000000001
+0.96,0.7301283835520823,2.769871616447916,1.86,3.880000000000001
+1.02,0.6980008908991217,2.801999109100877,1.8825,3.872500000000001
+1.08,0.6672870881960975,2.832712911803902,1.905,3.865000000000001
+1.14,0.6379247735660271,2.862075226433972,1.9275,3.857500000000001
+1.2,0.6098544791246522,2.890145520875347,1.95,3.850000000000001
+1.26,0.5830193512422181,2.916980648757781,1.9725,3.842500000000001
+1.32,0.557365035826416,2.942634964173583,1.995,3.835000000000001
+1.38,0.5328395629081624,2.967160437091837,2.0175,3.827500000000001
+1.44,0.5093932704166741,2.990606729583325,2.04,3.820000000000001
+1.5,0.4869786957103197,2.013021289428852,2.062500000000001,3.812499999999998
+1.56,0.4655504068218326,2.034449578317338,2.085000000000002,3.804999999999998
+1.62,0.4450650164866343,2.054934968652537,2.107500000000003,3.797499999999998
+1.68,0.4254810351097333,2.074518950029437,2.130000000000002,3.789999999999997
+1.74,0.4067587980272095,2.093241187111961,2.152500000000002,3.782499999999997
+1.8,0.3888603857474959,2.111139599391675,2.175000000000002,3.774999999999997
+1.86,0.3717495494665898,2.128250435672581,2.197500000000002,3.767499999999997
+1.92,0.3553916341453649,2.144608350993805,2.220000000000002,3.759999999999996
+1.98,0.3397535064399125,2.160246478699258,2.242500000000002,3.752499999999996
+2.04,0.3248034965429627,2.175196488596208,2.265000000000003,3.744999999999996
+2.1,0.3105113256350808,2.18948865950409,2.287500000000003,3.737499999999995
+2.16,0.2968480427756528,2.203151942363518,2.310000000000003,3.729999999999996
+2.22,0.2837859835998137,2.216214001539357,2.332500000000003,3.722499999999995
+2.28,0.27129868534997,2.228701299789201,2.355000000000003,3.714999999999995
+2.34,0.2593608577437294,2.240639127395441,2.377500000000003,3.707499999999996
+2.4,0.2479483250134362,2.252051660125734,2.400000000000003,3.699999999999995
+2.46,0.2370379739763158,2.262962011162855,2.422500000000003,3.692499999999995
+2.52,0.2266077074225214,2.273392277716649,2.445000000000003,3.684999999999996
+2.58,0.216636399611476,2.283363585527694,2.467500000000003,3.677499999999996
+2.64,0.2071038537012688,2.292896131437901,2.490000000000003,3.669999999999995
+2.7,0.1979907616746751,2.302009223464495,2.512500000000003,3.662499999999996
+2.76,0.1892786678528205,2.310721317286349,2.535000000000002,3.654999999999996
+2.82,0.1809499141016228,2.319050071037547,2.557500000000002,3.647499999999996
+2.88,0.1729876772485809,2.327012307890589,2.580000000000002,3.639999999999996
+2.94,0.1653757667533203,2.33462421838585,2.602500000000002,3.632499999999995
+3.,0.1580988351186512,2.341901150020519,2.625000000000002,3.624999999999996
diff --git a/models/sbml-test-suite/cases/semantic/00648/00648-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00648/00648-sbml-l2v4.xml
new file mode 100644
index 0000000..9920245
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00648/00648-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00648" id="case00648" name="case00648">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00648/00648-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00648/00648-sbml-l3v1.xml
new file mode 100644
index 0000000..46a4343
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00648/00648-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00648" id="case00648" name="case00648" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00648/00648-settings.txt b/models/sbml-test-suite/cases/semantic/00648/00648-settings.txt
new file mode 100644
index 0000000..ca9de12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00648/00648-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00649/00649-results.csv b/models/sbml-test-suite/cases/semantic/00649/00649-results.csv
new file mode 100644
index 0000000..7a84961
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00649/00649-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,0
+0.06,1.37089677783571,0.1291032221642885,0.009000000000000004
+0.12,1.252905317068001,0.2470946829319983,0.01799999999999999
+0.18,1.145069240458518,0.3549307595414811,0.02699999999999999
+0.24,1.046514484456745,0.4534855155432538,0.03599999999999999
+0.3,0.95644222515613,0.5435577748438693,0.04499999999999999
+0.36,0.8741223778827681,0.6258776221172313,0.05399999999999999
+0.42,0.7988877014983494,0.70111229850165,0.063
+0.48,0.7301283836079689,0.7698716163920305,0.072
+0.54,0.6672870748454853,0.8327129251545141,0.08100000000000001
+0.6,0.6098544566061525,0.8901455433938468,0.09000000000000001
+0.66,0.5573650325223419,0.9426349674776576,0.09900000000000001
+0.72,0.5093932752409919,0.9906067247590075,0.108
+0.78,0.465550385222196,1.034449614777803,0.117
+0.84,0.425481032591346,1.074518967408653,0.126
+0.9,0.3888603850485879,1.111139614951411,0.135
+0.96,0.3553915990576193,1.14460840094238,0.144
+1.02,0.3248034613378026,1.175196538662197,0.153
+1.08,0.296848012855588,1.203151987144411,0.162
+1.14,0.2712986603850578,1.228701339614942,0.1709999999999999
+1.2,0.2479483127815723,1.252051687218427,0.18
+1.26,0.2266077026500742,1.273392297349925,0.189
+1.32,0.2071038524266367,1.292896147573363,0.198
+1.38,0.1892786724500672,1.310721327549932,0.207
+1.44,0.1729876802134248,1.327012319786575,0.216
+1.5,0.1580988316887293,1.34190116831127,0.225
+1.56,0.1444914480821747,1.355508551917825,0.234
+1.62,0.1320552365160186,1.367944763483981,0.243
+1.68,0.1206893962958008,1.379310603704199,0.252
+1.74,0.1103018020708937,1.389698197929106,0.261
+1.8,0.1008082572744071,1.399191742725593,0.27
+1.86,0.09213181211556816,1.407868187884431,0.2790000000000001
+1.92,0.0842021362143492,1.415797863785649,0.2880000000000001
+1.98,0.07695495795949235,1.423045042040506,0.2970000000000001
+2.04,0.07033153597703702,1.429668464022962,0.3060000000000001
+2.1,0.06427818418867424,1.435721815811324,0.3150000000000001
+2.16,0.05874583594725561,1.441254164052743,0.3240000000000001
+2.22,0.05368965233228183,1.446310347667717,0.3330000000000001
+2.28,0.04906864736375801,1.45093135263624,0.342
+2.34,0.04484536647802275,1.455154633521975,0.351
+2.4,0.0409855794037513,1.459014420596247,0.3599999999999999
+2.46,0.03745799942597883,1.46254200057402,0.3689999999999999
+2.52,0.03423403307664726,1.465765966923351,0.3779999999999999
+2.58,0.03128755086619555,1.001177690969171,0.3870000000000001
+2.64,0.02859466844124709,1.00387057339412,0.3960000000000001
+2.7,0.02613355922393409,1.006331682611433,0.4050000000000001
+2.76,0.02388427475932597,1.00858096707604,0.414
+2.82,0.02182858347831811,1.010636658357048,0.4230000000000001
+2.88,0.01994982318023823,1.012515418655128,0.4320000000000002
+2.94,0.01823276538388596,1.014232476451481,0.4410000000000002
+3.,0.01666349306581722,1.015801748769549,0.4500000000000001
diff --git a/models/sbml-test-suite/cases/semantic/00649/00649-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00649/00649-sbml-l2v4.xml
new file mode 100644
index 0000000..1b6c2e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00649/00649-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00649" id="case00649" name="case00649">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00649/00649-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00649/00649-sbml-l3v1.xml
new file mode 100644
index 0000000..61df14f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00649/00649-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00649" id="case00649" name="case00649" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00649/00649-settings.txt b/models/sbml-test-suite/cases/semantic/00649/00649-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00649/00649-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00650/00650-results.csv b/models/sbml-test-suite/cases/semantic/00650/00650-results.csv
new file mode 100644
index 0000000..637ec05
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00650/00650-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,1.
+0.1,1.301161272393736,1.801161272393736,1.698838727606263,1.1
+0.2,1.143765361558212,1.643765361558212,1.856234638441787,1.2
+0.3,1.016161200470581,1.516161200470581,1.983838799529418,1.299999999999999
+0.4,0.9106905837379247,1.410690583737925,2.089309416262074,1.399999999999999
+0.5,0.82211265497212,1.32211265497212,2.177887345027879,1.499999999999999
+0.6,0.7467198345605001,1.2467198345605,2.253280165439498,1.599999999999998
+0.7,0.6818153082816071,1.181815308281608,2.318184691718391,1.699999999999998
+0.8,0.6253905210486328,1.125390521048633,2.374609478951366,1.799999999999998
+0.9,0.5759187918405485,1.075918791840548,2.424081208159451,1.899999999999998
+1.,0.5322189514243052,1.032218951424305,2.467781048575694,1.999999999999998
+1.1,0.4933628271304125,0.993362827130413,2.506637172869588,2.099999999999997
+1.2,0.4586109428698224,0.9586109428698226,2.541389057130178,2.199999999999996
+1.3,0.4273668743886653,0.9273668743886657,2.572633125611336,2.299999999999996
+1.4,0.3991442463576938,0.8991442463576941,2.600855753642308,2.399999999999995
+1.5,0.3735424645637546,0.8735424645637549,2.626457535436247,2.499999999999996
+1.6,0.3502285960915758,0.850228596091576,2.649771403908425,2.599999999999997
+1.7,0.3289236565084796,0.8289236565084798,2.671076343491521,2.699999999999997
+1.8,0.3093921066663449,0.8093921066663452,2.690607893333656,2.799999999999998
+1.9,0.2914337062715157,0.7914337062715157,2.708566293728485,2.899999999999997
+2.,0.2748771363145161,0.7748771363145161,2.725122863685485,2.999999999999997
+2.1,0.2595749619664419,0.759574961966442,2.74042503803356,3.099999999999997
+2.2,0.2453995983541298,0.7453995983541299,2.754600401645872,3.199999999999998
+2.3,0.23224008144138,0.7322400814413802,2.767759918558621,3.299999999999998
+2.4,0.2199994444731565,0.7199994444731566,2.780000555526845,3.399999999999998
+2.5,0.2085925774229491,0.7085925774229493,2.791407422577052,3.499999999999998
+2.6,0.1979444651012947,0.697944465101295,2.802055534898707,3.599999999999999
+2.7,0.1879887309279706,0.6879887309279708,2.812011269072031,3.699999999999999
+2.8,0.1786664290753538,0.678666429075354,2.821333570924648,3.799999999999998
+2.9,0.1699250312578738,0.669925031257874,2.830074968742128,3.899999999999999
+3.,0.1617175745153864,0.6617175745153866,2.838282425484616,3.999999999999999
+3.1,0.154001945765409,0.6540019457654092,2.845998054234593,4.099999999999998
+3.2,0.1467402648979847,0.6467402648979849,2.853259735102017,4.199999999999999
+3.3,0.1398983680425594,0.6398983680425596,2.860101631957443,4.299999999999998
+3.4,0.1334453668936546,0.6334453668936548,2.866554633106348,4.399999999999996
+3.5,0.1273532565311079,0.6273532565311081,2.872646743468894,4.499999999999996
+3.6,0.1193697625754568,1.99676590130814,2.880630237424544,4.599999999999996
+3.7,0.1028996998683662,1.980295838601049,2.897100300131635,4.699999999999994
+3.8,0.08881315377761159,1.966209292510294,2.91118684622239,4.799999999999994
+3.9,0.07673958993964598,1.954135728672329,2.923260410060355,4.899999999999993
+4.,0.06637251481645623,1.943768653549139,2.933627485183545,4.999999999999992
+4.1,0.05745682111089139,1.934852959843575,2.94254317888911,5.099999999999991
+4.2,0.04977901379876797,1.927175152531452,2.950220986201234,5.199999999999992
+4.3,0.04315957253780254,1.920555711270486,2.9568404274622,5.299999999999993
+4.4,0.03744691180972244,1.914843050542406,2.962553088190279,5.399999999999994
+4.5,0.03251257512562789,1.909908713858312,2.967487424874374,5.499999999999992
+4.6,0.02824735005773967,1.905643488790423,2.971752649942262,5.599999999999991
+4.7,0.02455813341679675,1.90195427214948,2.975441866583205,5.699999999999991
+4.8,0.02136536558652107,1.898761504319205,2.978634634413481,5.79999999999999
+4.9,0.01860091213071844,1.895997050863402,2.981399087869284,5.89999999999999
+5.,0.01620631892797512,1.893602457660659,2.983793681072027,5.99999999999999
diff --git a/models/sbml-test-suite/cases/semantic/00650/00650-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00650/00650-sbml-l2v4.xml
new file mode 100644
index 0000000..83a6caa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00650/00650-sbml-l2v4.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00650" id="case00650" name="case00650">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00650/00650-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00650/00650-sbml-l3v1.xml
new file mode 100644
index 0000000..1940ba8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00650/00650-sbml-l3v1.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00650" id="case00650" name="case00650" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00650/00650-settings.txt b/models/sbml-test-suite/cases/semantic/00650/00650-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00650/00650-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00651/00651-results.csv b/models/sbml-test-suite/cases/semantic/00651/00651-results.csv
new file mode 100644
index 0000000..a70e722
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00651/00651-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.1,1.391615229463018,2.108384770536979,1.5375,3.987499999999998
+0.2,1.291061964125568,2.20893803587443,1.575,3.974999999999999
+0.3,1.19777432791931,2.302225672080688,1.612500000000001,3.962499999999999
+0.4,1.111227329031182,2.388772670968817,1.650000000000001,3.949999999999998
+0.5,1.03093391817527,2.469066081824729,1.687500000000001,3.937499999999998
+0.6,0.9564422260114998,2.543557773988499,1.725000000000001,3.924999999999998
+0.7,0.8873330349438418,2.612666965056157,1.762500000000001,3.912499999999998
+0.8,0.8232174419009635,2.676782558099035,1.800000000000001,3.899999999999997
+0.9,0.7637346285181497,2.736265371481849,1.837500000000001,3.887499999999997
+1.,0.7085498146739673,2.791450185326031,1.875000000000001,3.874999999999997
+1.1,0.6573524880772634,2.842647511922735,1.912500000000001,3.862499999999997
+1.2,0.6098544790654891,2.890145520934509,1.950000000000001,3.849999999999997
+1.3,0.5657885246960531,2.934211475303945,1.987500000000001,3.837499999999996
+1.4,0.5249066231498047,2.975093376850194,2.025000000000001,3.824999999999997
+1.5,0.4869786964449693,3.01302130355503,2.062500000000002,3.812499999999997
+1.6,0.451791313623642,3.048208686376357,2.100000000000002,3.799999999999997
+1.7,0.4191464483071532,3.080853551692846,2.137500000000002,3.787499999999996
+1.8,0.3888603863343809,3.111139613665618,2.175000000000002,3.774999999999996
+1.9,0.3607626902258394,3.13923730977416,2.212500000000002,3.762499999999996
+2.,0.3346952365009038,3.165304763499096,2.250000000000002,3.749999999999996
+2.1,0.3105113261034437,3.189488673896556,2.287500000000002,3.737499999999996
+2.2,0.2880748573237888,3.21192514267621,2.325000000000002,3.724999999999996
+2.3,0.2672595730759603,3.232740426924039,2.362500000000001,3.712499999999996
+2.4,0.2479483253747122,3.252051674625287,2.400000000000002,3.699999999999997
+2.5,0.2300324480621346,3.269967551937865,2.437500000000001,3.687499999999996
+2.6,0.2134111012163778,3.286588898783622,2.475000000000001,3.674999999999997
+2.7,0.1979907595078246,2.005294056085245,2.512500000000003,3.662499999999994
+2.8,0.1836846374931224,2.019600178099947,2.550000000000003,3.649999999999993
+2.9,0.1704122259378966,2.032872589655173,2.587500000000003,3.637499999999994
+3.,0.1580988322365257,2.045185983356544,2.625000000000004,3.624999999999994
+3.1,0.1466751616891844,2.056609653903885,2.662500000000004,3.612499999999994
+3.2,0.136076926082276,2.067207889510793,2.700000000000004,3.599999999999995
+3.3,0.1262444820274211,2.077040333565648,2.737500000000003,3.587499999999995
+3.4,0.1171224947298741,2.086162320863195,2.775000000000003,3.574999999999996
+3.5,0.1086596317947609,2.094625183798308,2.812500000000004,3.562499999999996
+3.6,0.1008082645753559,2.102476551017713,2.850000000000003,3.549999999999995
+3.7,0.09352421251683933,2.10976060307623,2.887500000000003,3.537499999999995
+3.8,0.08676647727508206,2.116518338317987,2.925000000000003,3.524999999999995
+3.9,0.08049703538462244,2.122787780208446,2.962500000000003,3.512499999999994
+4.,0.07468059552479423,2.128604220068275,3.000000000000004,3.499999999999994
+4.1,0.06928443841038539,2.134000377182684,3.037500000000004,3.487499999999994
+4.2,0.06427818858806254,2.139006627005006,3.075000000000004,3.474999999999993
+4.3,0.05963367076961696,2.143651144823452,3.112500000000004,3.462499999999994
+4.4,0.05532474961182346,2.147960065981245,3.150000000000004,3.449999999999994
+4.5,0.05132717593996312,2.151957639653105,3.187500000000004,3.437499999999995
+4.6,0.04761845321441932,2.155666362378649,3.225000000000004,3.424999999999994
+4.7,0.04417770984996957,2.159107105743099,3.262500000000004,3.412499999999994
+4.8,0.04098558257964164,2.162299233013427,3.300000000000004,3.399999999999994
+4.9,0.03802410648450972,2.165260709108559,3.337500000000004,3.387499999999994
+5.,0.03527661784560588,2.168008197747463,3.375000000000004,3.374999999999994
diff --git a/models/sbml-test-suite/cases/semantic/00651/00651-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00651/00651-sbml-l2v4.xml
new file mode 100644
index 0000000..ef47d13
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00651/00651-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00651" id="case00651" name="case00651">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00651/00651-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00651/00651-sbml-l3v1.xml
new file mode 100644
index 0000000..2e666b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00651/00651-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00651" id="case00651" name="case00651" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00651/00651-settings.txt b/models/sbml-test-suite/cases/semantic/00651/00651-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00651/00651-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00652/00652-results.csv b/models/sbml-test-suite/cases/semantic/00652/00652-results.csv
new file mode 100644
index 0000000..45a7995
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00652/00652-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.12,0.00001056438101262792,0.00001556438101262792,9.435618987372073e-6,0.00001584657151894189
+0.24,0.00001109493916905407,0.00001609493916905408,8.905060830945922e-6,0.00001664240875358112
+0.36,0.00001159370144358665,0.00001659370144358666,8.40629855641335e-6,0.00001739055216537997
+0.48,0.00001206257333767096,0.00001706257333767097,7.937426662329035e-6,0.00001809386000650645
+0.6,0.00001250334614851405,0.00001750334614851406,7.496653851485944e-6,0.00001875501922277108
+0.72,0.00001291770384666534,0.00001791770384666535,7.082296153334652e-6,0.00001937655576999802
+0.84,0.00001330722944954085,0.00001830722944954086,6.692770550459144e-6,0.00001996084417431128
+0.96,0.00001367341111629748,0.00001867341111629749,6.326588883702516e-6,0.00002051011667444622
+1.08,0.00001401764788993713,0.00001901764788993714,5.982352110062863e-6,0.0000210264718349057
+1.2,0.00001434125476030114,0.00001934125476030115,5.658745239698858e-6,0.00002151188214045171
+1.32,0.00001464546819842436,0.00001964546819842437,5.354531801575639e-6,0.00002196820229763654
+1.44,0.0000149314504006552,0.00001993145040065521,5.068549599344796e-6,0.00002239717560098281
+1.56,0.00001542039713106143,0.00002042039713106145,9.579602899662342e-6,0.00002313059569659215
+1.68,0.00001595085657660216,0.00002095085657660217,9.049143454121619e-6,0.00002392628486490324
+1.8,0.00001644952605432048,0.0000214495260543205,8.550473976403301e-6,0.00002467428908148073
+1.92,0.0000169183107100115,0.00002191831071001152,8.081689320712283e-6,0.00002537746606501726
+2.04,0.00001735900153541398,0.00002235900153541399,7.64099849530981e-6,0.00002603850230312097
+2.16,0.00001777328211788662,0.00002277328211788663,7.226717912837168e-6,0.00002665992317682993
+2.28,0.00001816273522913194,0.00002316273522913195,6.83726480159185e-6,0.00002724410284369791
+2.4,0.00001852884877305621,0.00002352884877305622,6.471151257667576e-6,0.00002779327315958431
+2.52,0.00001887302156027921,0.00002387302156027923,6.126978470444572e-6,0.00002830953234041882
+2.64,0.00001919656826612991,0.00002419656826612992,5.803431764593876e-6,0.00002879485239919487
+2.76,0.00001950072507016672,0.00002450072507016673,5.499274960557073e-6,0.00002925108760525008
+2.88,0.0000197866540166454,0.00002478665401664542,5.213346014078384e-6,0.00002967998102496811
+3.,0.00002005544752445288,0.00002505544752445289,4.944552506270912e-6,0.00003008317128667932
+3.12,0.00002030813251742735,0.00002530813251742736,4.691867513296444e-6,0.00003046219877614102
+3.24,0.00002054567432579572,0.00002554567432579573,4.454325704928075e-6,0.00003081851148869357
+3.36,0.00002076898044317784,0.00002576898044317785,4.231019587545951e-6,0.00003115347066476676
+3.48,0.00002097890463190465,0.00002597890463190467,4.021095398819135e-6,0.00003146835694785699
+3.6,0.00002117624698616599,0.00002617624698616601,3.823753044557795e-6,0.00003176437047924899
+3.72,0.00002136176341123311,0.00002636176341123313,3.638236619490676e-6,0.00003204264511684967
+3.84,0.00002153616201621943,0.00002653616201621945,3.463838014504353e-6,0.00003230424302432915
+3.96,0.00002170010906547172,0.00002670010906547173,3.299890965252073e-6,0.00003255016359820757
+4.08,0.00002185423091268133,0.00002685423091268134,3.14576911804246e-6,0.00003278134636902199
+4.2,0.00002199911638613122,0.00002699911638613124,3.000883644592563e-6,0.00003299867457919684
+4.32,0.00002213531897953207,0.00002713531897953208,2.864681051191717e-6,0.00003320297846929811
+4.44,0.00002226335908986801,0.00002726335908986802,2.736640940855774e-6,0.00003339503863480202
+4.56,0.00002238372585027194,0.00002738372585027196,2.616274180451841e-6,0.00003357558877540792
+4.68,0.00002249687915655242,0.00002749687915655243,2.503120874171364e-6,0.00003374531873482863
+4.8,0.00002260325131794646,0.00002760325131794647,2.39674871277733e-6,0.00003390487697691969
+4.92,0.000022703248645284,0.00002770324864528401,2.29675138543979e-6,0.000034054872967926
+5.04,0.00002279725322095569,0.00002779725322095571,2.202746809768096e-6,0.00003419587983143354
+5.16,0.00002288562418529963,0.00002788562418529965,2.114375845424153e-6,0.00003432843627794945
+5.28,0.00002296869915568982,0.00002796869915568984,2.031300875033961e-6,0.00003445304873353474
+5.4,0.00002304679551638851,0.00002804679551638852,1.953204514335273e-6,0.00003457019327458276
+5.52,0.00002312021163109723,0.00002812021163109724,1.879788399626556e-6,0.00003468031744664584
+5.64,0.0000231892279828422,0.00002818922798284221,1.81077204788158e-6,0.0000347838419742633
+5.76,0.00002325410824554785,0.00002825410824554787,1.745891785175927e-6,0.00003488116236832178
+5.88,0.00002331510027697675,0.00002831510027697676,1.684899753747032e-6,0.00003497265041546512
+6.,0.00002337243712037413,0.00002837243712037414,1.627562910349656e-6,0.00003505865568056119
diff --git a/models/sbml-test-suite/cases/semantic/00652/00652-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00652/00652-sbml-l2v4.xml
new file mode 100644
index 0000000..b13ffcb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00652/00652-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00652" id="case00652" name="case00652">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00652/00652-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00652/00652-sbml-l3v1.xml
new file mode 100644
index 0000000..3e2db77
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00652/00652-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00652" id="case00652" name="case00652" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00652/00652-settings.txt b/models/sbml-test-suite/cases/semantic/00652/00652-settings.txt
new file mode 100644
index 0000000..d562881
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00652/00652-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00653/00653-results.csv b/models/sbml-test-suite/cases/semantic/00653/00653-results.csv
new file mode 100644
index 0000000..7bb2d0d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00653/00653-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.00001092171685169353,0.00001592171685169353,9.078283148306471e-6,0.00001638257527754029
+0.4,0.00001175322248614518,0.00001675322248614518,8.246777513854815e-6,0.00001762983372921778
+0.6,0.00001250334614851365,0.00001750334614851365,7.49665385148635e-6,0.00001875501922277047
+0.8,0.00001318005293519388,0.00001818005293519388,6.819947064806121e-6,0.00001977007940279082
+1.,0.00001379052838101108,0.00001879052838101108,6.209471618988925e-6,0.00002068579257151662
+1.2,0.0000143412547601386,0.00001934125476013859,5.658745239861404e-6,0.0000215118821402079
+1.4,0.00001483807988884894,0.00001983807988884893,5.161920111151058e-6,0.00002225711983327342
+1.6,0.00001560087171632766,0.00002060087171632764,9.399128468623825e-6,0.0000234013075744915
+1.8,0.00001644952609898997,0.00002144952609898995,8.550474085961522e-6,0.00002467428914848496
+2.,0.00001721512012867749,0.00002221512012867746,7.784880056274007e-6,0.00002582268019301623
+2.2,0.000017905783134529,0.00002290578313452898,7.094217050422488e-6,0.00002685867470179351
+2.4,0.00001852884886144924,0.00002352884886144922,6.471151323502247e-6,0.00002779327329217387
+2.6,0.00001909093336698599,0.00002409093336698596,5.909066817965499e-6,0.00002863640005047899
+2.8,0.00001959800483666189,0.00002459800483666186,5.401995348289604e-6,0.00002939700725499283
+3.,0.0000200554476680607,0.00002505544766806068,4.944552516890785e-6,0.00003008317150209106
+3.2,0.00002046811918603045,0.00002546811918603043,4.531880998921038e-6,0.00003070217877904568
+3.4,0.00002084040131785757,0.00002584040131785755,4.159598867093919e-6,0.00003126060197678636
+3.6,0.00002117624727314684,0.00002617624727314682,3.823752911804647e-6,0.00003176437090972027
+3.8,0.00002147922291592031,0.00002647922291592028,3.520777269031181e-6,0.00003221883437388046
+4.,0.00002175254512001486,0.00002675254512001484,3.247455064936623e-6,0.00003262881768002229
+4.2,0.00002199911650482103,0.000026999116504821,3.000883680130459e-6,0.00003299867475723154
+4.4,0.00002222155547244194,0.00002722155547244191,2.778444712509548e-6,0.00003333233320866291
+4.6,0.00002242222353166318,0.00002742222353166316,2.577776653288308e-6,0.00003363333529749477
+4.8,0.00002260325143254129,0.00002760325143254126,2.396748752410201e-6,0.00003390487714881193
+5.,0.00002276656171970812,0.0000277665617197081,2.233438465243366e-6,0.00003414984257956219
+5.2,0.00002291388844279506,0.00002791388844279504,2.086111742156424e-6,0.00003437083266419259
+5.4,0.00002304679572450536,0.00002804679572450533,1.953204460446136e-6,0.00003457019358675803
+5.6,0.00002316669489770344,0.00002816669489770341,1.833305287248054e-6,0.00003475004234655516
+5.8,0.00002327485931287191,0.00002827485931287189,1.725140872079583e-6,0.00003491228896930787
+6.,0.00002337243735946796,0.00002837243735946794,1.627562825483527e-6,0.00003505865603920194
+6.2,0.00002346046505143815,0.00002846046505143812,1.539535133513344e-6,0.00003519069757715722
+6.4,0.00002353987720158827,0.00002853987720158825,1.460122983363217e-6,0.00003530981580238241
+6.6,0.00002361151713961509,0.00002861151713961507,1.388483045336394e-6,0.00003541727570942264
+6.8,0.00002367614542982329,0.00002867614542982326,1.3238547551282e-6,0.00003551421814473494
+7.,0.00002373444832536353,0.0000287344483253635,1.265551859587963e-6,0.00003560167248804529
+7.2,0.00002378704491321432,0.00002878704491321429,1.212955271737169e-6,0.00003568056736982149
+7.4,0.00002383449374332363,0.0000288344937433236,1.165506441627859e-6,0.00003575174061498545
+7.6,0.0000238772986435128,0.00002887729864351277,1.122701541438695e-6,0.0000358159479652692
+7.8,0.00002391591409855931,0.00002891591409855929,1.084086086392181e-6,0.00003587387114783897
+8.,0.00002395075012657692,0.0000289507501265769,1.049250058374571e-6,0.00003592612518986539
+8.2,0.00002398217662948595,0.00002898217662948593,1.017823555465541e-6,0.00003597326494422893
+8.4,0.00002401052731535775,0.00002901052731535772,9.894728695937427e-7,0.00003601579097303663
+8.6,0.00002403610323766428,0.00002903610323766425,9.638969472872162e-7,0.00003605415485649643
+8.8,0.00002405917598562005,0.00002905917598562002,9.408241993314465e-7,0.00003608876397843007
+9.,0.00002407999054386867,0.00002907999054386865,9.200096410828233e-7,0.00003611998581580301
+9.2,0.00002409876791473585,0.00002909876791473582,9.012322702156495e-7,0.00003614815187210377
+9.4,0.00002411570747864087,0.00002911570747864084,8.842927063106237e-7,0.00003617356121796131
+9.6,0.000024130989108122,0.00002913098910812197,8.690110768294936e-7,0.000036196483662183
+9.8,0.00002414477507552711,0.00002914477507552708,8.552251094243821e-7,0.00003621716261329067
+10.,0.00002415721177294348,0.00002915721177294345,8.427884120080201e-7,0.00003623581765941522
diff --git a/models/sbml-test-suite/cases/semantic/00653/00653-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00653/00653-sbml-l2v4.xml
new file mode 100644
index 0000000..05f6aef
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00653/00653-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00653" id="case00653" name="case00653">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00653/00653-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00653/00653-sbml-l3v1.xml
new file mode 100644
index 0000000..c4c36a8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00653/00653-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00653" id="case00653" name="case00653" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00653/00653-settings.txt b/models/sbml-test-suite/cases/semantic/00653/00653-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00653/00653-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00654/00654-results.csv b/models/sbml-test-suite/cases/semantic/00654/00654-results.csv
new file mode 100644
index 0000000..7b44331
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00654/00654-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.16,0.00001074488914664822,0.00001574488914664822,9.255110853351775e-6,0.00001611733371997233
+0.32,0.00001143086018675523,0.00001643086018675523,8.569139813244763e-6,0.00001714629028013285
+0.48,0.0000120625733375273,0.00001706257333752729,7.9374266624727e-6,0.00001809386000629095
+0.64,0.00001264432022130468,0.00001764432022130468,7.355679778695311e-6,0.00001896648033195703
+0.8,0.0000131800529352371,0.00001818005293523709,6.819947064762901e-6,0.00001977007940285565
+0.96,0.00001367341111628117,0.00001867341111628117,6.326588883718823e-6,0.00002051011667442176
+1.12,0.00001412774639627472,0.00001912774639627472,5.872253603725273e-6,0.00002119161959441209
+1.28,0.00001454614540470622,0.00001954614540470622,5.453854595293771e-6,0.00002181921810705934
+1.44,0.00001493145040066711,0.00001993145040066711,5.068549599332882e-6,0.00002239717560100067
+1.6,0.00001560087153782545,0.00002060087153782543,9.399128641086424e-6,0.00002340130730673817
+1.76,0.00001628671497456876,0.00002128671497456874,8.713285204343107e-6,0.00002443007246185314
+1.92,0.00001691831061062355,0.00002191831061062354,8.081689568288318e-6,0.00002537746591593534
+2.08,0.00001749994925480199,0.00002249994925480197,7.500050924109886e-6,0.00002624992388220298
+2.24,0.00001803558235471672,0.00002303558235471671,6.964417824195149e-6,0.00002705337353207509
+2.4,0.00001852884872682275,0.00002352884872682274,6.471151452089122e-6,0.00002779327309023413
+2.56,0.00001898309951966684,0.00002398309951966683,6.016900659245031e-6,0.00002847464927950027
+2.72,0.00001940142068882542,0.0000244014206888254,5.598579490086453e-6,0.00002910213103323814
+2.88,0.00001978665401115883,0.00002478665401115881,5.213346167753042e-6,0.00002967998101673825
+3.04,0.00002014141687288774,0.00002514141687288772,4.85858330602414e-6,0.00003021212530933161
+3.2,0.00002046811909375194,0.00002546811909375192,4.531881085159936e-6,0.00003070217864062791
+3.36,0.0000207689804710297,0.00002576898047102968,4.231019707882175e-6,0.00003115347070654455
+3.52,0.00002104604545206126,0.00002604604545206124,3.953954726850611e-6,0.00003156906817809189
+3.68,0.00002130119405972636,0.00002630119405972634,3.698806119185531e-6,0.00003195179108958954
+3.84,0.00002153616206961312,0.0000265361620696131,3.463838109298772e-6,0.00003230424310441968
+4.,0.00002175254493672763,0.00002675254493672762,3.24745524218426e-6,0.00003262881740509145
+4.16,0.00002195181268577615,0.00002695181268577613,3.048187493135749e-6,0.00003292771902866422
+4.32,0.00002213531905290484,0.00002713531905290483,2.864681126007051e-6,0.00003320297857935727
+4.48,0.00002230431071311909,0.00002730431071311907,2.695689465792805e-6,0.00003345646606967864
+4.64,0.00002245993572859313,0.00002745993572859312,2.540064450318765e-6,0.0000336899035928897
+4.8,0.00002260325140686881,0.00002760325140686879,2.396748772043087e-6,0.00003390487711030321
+4.96,0.0000227352312185674,0.00002773523121856738,2.264768960344491e-6,0.0000341028468278511
+5.12,0.00002285677197814009,0.00002785677197814007,2.143228200771802e-6,0.00003428515796721014
+5.28,0.00002296869925679814,0.00002796869925679812,2.031300922113752e-6,0.00003445304888519721
+5.44,0.00002307177344657979,0.00002807177344657977,1.928226732332105e-6,0.00003460766016986968
+5.6,0.00002316669489909804,0.00002816669489909802,1.833305279813853e-6,0.00003475004234864706
+5.76,0.00002325410835615166,0.00002825410835615165,1.745891822760229e-6,0.0000348811625342275
+5.92,0.0000233346077251451,0.00002833460772514508,1.665392453766798e-6,0.00003500191158771765
+6.08,0.00002340873986422872,0.0000284087398642287,1.591260314683173e-6,0.00003511310979634308
+6.24,0.00002347700842086075,0.00002847700842086073,1.522991758051143e-6,0.00003521551263129112
+6.4,0.0000235398771852031,0.00002853987718520308,1.460122993708794e-6,0.00003530981577780465
+6.56,0.00002359777325747442,0.0000285977732574744,1.402226921437472e-6,0.00003539665988621164
+6.72,0.00002365108995609817,0.00002865108995609816,1.348910222813721e-6,0.00003547663493414726
+6.88,0.00002370018949072423,0.00002870018949072421,1.299810688187667e-6,0.00003555028423608635
+7.04,0.00002374540542255237,0.00002874540542255235,1.25459475635953e-6,0.00003561810813382856
+7.2,0.00002378704493009541,0.00002878704493009539,1.212955248816487e-6,0.00003568056739514312
+7.36,0.00002382539092281949,0.00002882539092281948,1.174609256092403e-6,0.00003573808638422924
+7.52,0.00002386070384825629,0.00002886070384825627,1.139296330655605e-6,0.00003579105577238444
+7.68,0.0000238932236431559,0.00002889322364315589,1.106776535755991e-6,0.00003583983546473386
+7.84,0.00002392317121154629,0.00002892317121154627,1.076828967365609e-6,0.00003588475681731943
+8.,0.00002395075006051916,0.00002895075006051914,1.04925011839274e-6,0.00003592612509077874
diff --git a/models/sbml-test-suite/cases/semantic/00654/00654-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00654/00654-sbml-l2v4.xml
new file mode 100644
index 0000000..d41779c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00654/00654-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00654" id="case00654" name="case00654">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00654/00654-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00654/00654-sbml-l3v1.xml
new file mode 100644
index 0000000..8a988b4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00654/00654-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00654" id="case00654" name="case00654" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00654/00654-settings.txt b/models/sbml-test-suite/cases/semantic/00654/00654-settings.txt
new file mode 100644
index 0000000..b193398
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00654/00654-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00655/00655-results.csv b/models/sbml-test-suite/cases/semantic/00655/00655-results.csv
new file mode 100644
index 0000000..fd19473
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00655/00655-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.00001092171685169353,0.00001592171685169353,9.078283148306471e-6,0.00001638257527754029
+0.4,0.00001175322248614518,0.00001675322248614518,8.246777513854815e-6,0.00001762983372921778
+0.6,0.00001250334614851365,0.00001750334614851365,7.49665385148635e-6,0.00001875501922277047
+0.8,0.00001318005293519388,0.00001818005293519388,6.819947064806121e-6,0.00001977007940279082
+1.,0.00001379052838101108,0.00001879052838101108,6.209471618988925e-6,0.00002068579257151662
+1.2,0.0000143412547601386,0.00001934125476013859,5.658745239861404e-6,0.0000215118821402079
+1.4,0.00001483807988884894,0.00001983807988884893,5.161920111151058e-6,0.00002225711983327342
+1.6,0.00001528627927971769,0.00002028627927971767,4.713720720282316e-6,0.00002292941891957654
+1.8,0.00001569061197998283,0.00002069061197998282,4.309388020017169e-6,0.00002353591796997425
+2.,0.0000160553714204282,0.00002105537142042818,3.944628579571807e-6,0.0000240830571306423
+2.2,0.00001638443074463693,0.00002138443074463692,3.615569255363074e-6,0.0000245766461169554
+2.4,0.00001668128403686793,0.00002168128403686791,3.318715963132073e-6,0.0000250219260553019
+2.6,0.00001694908340161983,0.00002194908340161981,3.050916598380169e-6,0.00002542362510242975
+2.8,0.00001719067242215701,0.000022190672422157,2.809327577842987e-6,0.00002578600863323552
+3.,0.00001740861640578535,0.00002240861640578534,2.591383594214643e-6,0.00002611292460867803
+3.2,0.00001760522955823943,0.00002260522955823942,2.394770441760563e-6,0.00002640784433735915
+3.4,0.00001778259958645439,0.00002278259958645437,2.217400413545608e-6,0.00002667389937968159
+3.6,0.00001843591632504273,0.00002343591632504271,9.404489914866748e-6,0.0000276538744875641
+3.8,0.00001927699838832899,0.00002427699838832897,8.563407851580486e-6,0.00002891549758249348
+4.,0.00002003576120907703,0.00002503576120907701,7.804645030832447e-6,0.00003005364181361555
+4.2,0.0000207202616084777,0.00002572026160847768,7.120144631431778e-6,0.00003108039241271655
+4.4,0.00002133776788226226,0.00002633776788226224,6.50263835764722e-6,0.00003200665182339338
+4.6,0.00002189483698450833,0.00002689483698450832,5.945569255401147e-6,0.0000328422554767625
+4.8,0.00002239738398950256,0.00002739738398950254,5.443022250406921e-6,0.00003359607598425384
+5.,0.00002285074520924078,0.00002785074520924076,4.9896610306687e-6,0.00003427611781386117
+5.2,0.00002325973460988652,0.0000282597346098865,4.580671630022958e-6,0.00003488960191482978
+5.4,0.00002362869499037254,0.00002862869499037253,4.211711249536932e-6,0.00003544304248555881
+5.6,0.00002396154409807098,0.00002896154409807096,3.878862141838495e-6,0.00003594231614710647
+5.8,0.00002426181622380296,0.00002926181622380294,3.578590016106522e-6,0.00003639272433570445
+6.,0.00002453269982858314,0.00002953269982858313,3.307706411326342e-6,0.00003679904974287472
+6.2,0.00002477707124614068,0.00002977707124614066,3.063334993768802e-6,0.00003716560686921102
+6.4,0.00002499752527992298,0.00002999752527992297,2.842880959986496e-6,0.00003749628791988448
+6.6,0.00002519640281813713,0.00003019640281813712,2.644003421772347e-6,0.0000377946042272057
+6.8,0.00002537581565598218,0.00003037581565598216,2.464590583927294e-6,0.00003806372348397327
+7.,0.00002553766874016533,0.00003053766874016531,2.302737499744146e-6,0.000038306503110248
+7.2,0.00002568368077849286,0.00003068368077849285,2.156725461416611e-6,0.00003852552116773929
+7.4,0.0000258154022341905,0.0000308154022341905,2.025004005718972e-6,0.00003872310335128575
+7.6,0.00002593423166376792,0.00003093423166376792,1.906174576141548e-6,0.00003890134749565189
+7.8,0.00002604143088651412,0.00003104143088651411,1.798975353395355e-6,0.00003906214632977118
+8.,0.00002613813827680029,0.00003113813827680028,1.702267963109187e-6,0.00003920720741520043
+8.2,0.00002622538057646451,0.0000312253805764645,1.615025663444965e-6,0.00003933807086469676
+8.4,0.00002630408413927027,0.00003130408413927026,1.536322100639199e-6,0.00003945612620890541
+8.6,0.00002637508484537772,0.0000313750848453777,1.465321394531758e-6,0.00003956262726806658
+8.8,0.00002643913646385845,0.00003143913646385843,1.40126977605103e-6,0.00003965870469578767
+9.,0.00002649691910626785,0.00003149691910626784,1.343487133641628e-6,0.00003974537865940177
+9.2,0.00002654904645950924,0.00003154904645950923,1.291359780400237e-6,0.00003982356968926386
+9.4,0.00002659607195950469,0.00003159607195950469,1.244334280404786e-6,0.00003989410793925704
+9.6,0.00002663849487211694,0.00003163849487211693,1.201911367792542e-6,0.0000399577423081754
+9.8,0.00002667676571824069,0.00003167676571824069,1.163640521668782e-6,0.00004001514857736104
+10.,0.00002671129089898288,0.00003171129089898288,1.129115340926593e-6,0.00004006693634847432
diff --git a/models/sbml-test-suite/cases/semantic/00655/00655-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00655/00655-sbml-l2v4.xml
new file mode 100644
index 0000000..074176a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00655/00655-sbml-l2v4.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00655" id="case00655" name="case00655">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00655/00655-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00655/00655-sbml-l3v1.xml
new file mode 100644
index 0000000..4acab0c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00655/00655-sbml-l3v1.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00655" id="case00655" name="case00655" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00655/00655-settings.txt b/models/sbml-test-suite/cases/semantic/00655/00655-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00655/00655-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00656/00656-results.csv b/models/sbml-test-suite/cases/semantic/00656/00656-results.csv
new file mode 100644
index 0000000..3e003c7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00656/00656-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.00001092171685169353,0.00001592171685169353,9.078283148306471e-6,0.00001638257527754029
+0.4,0.00001175322248614518,0.00001675322248614518,8.246777513854815e-6,0.00001762983372921778
+0.6,0.00001250334614851365,0.00001750334614851365,7.49665385148635e-6,0.00001875501922277047
+0.8,0.00001318005293519388,0.00001818005293519388,6.819947064806121e-6,0.00001977007940279082
+1.,0.00001379052838101108,0.00001879052838101108,6.209471618988925e-6,0.00002068579257151662
+1.2,0.0000143412547601386,0.00001934125476013859,5.658745239861404e-6,0.0000215118821402079
+1.4,0.00001483807988884894,0.00001983807988884893,5.161920111151058e-6,0.00002225711983327342
+1.6,0.00001528627927971674,0.00002028627927971673,4.713720720283265e-6,0.00002292941891957511
+1.8,0.00001569061197997209,0.00002069061197997208,4.309388020027916e-6,0.00002353591796995814
+2.,0.00001605537142048766,0.00002105537142048765,3.944628579512349e-6,0.0000240830571307315
+2.2,0.00001638443074468105,0.00002138443074468105,3.615569255318954e-6,0.00002457664611702158
+2.4,0.00001668128403689922,0.00002168128403689921,3.318715963100791e-6,0.00002502192605534882
+2.6,0.00001694908340158207,0.00002194908340158206,3.050916598417938e-6,0.0000254236251023731
+2.8,0.00001719067242216581,0.0000221906724221658,2.809327577834189e-6,0.00002578600863324872
+3.,0.00001740861640564442,0.00002240861640564442,2.59138359435558e-6,0.00002611292460846664
+3.2,0.00001760522955794437,0.00002260522955794436,2.39477044205563e-6,0.00002640784433691656
+3.4,0.00001778259958610719,0.00002278259958610718,2.217400413892812e-6,0.00002667389937916079
+3.6,0.00001794260991230139,0.00002294260991230138,2.057390087698616e-6,0.00002691391486845208
+3.8,0.00001808695945514469,0.00002308695945514468,1.913040544855313e-6,0.00002713043918271704
+4.,0.0000182171810857678,0.00002321718108576779,1.782818914232183e-6,0.0000273257716286517
+4.2,0.00001833465755514135,0.00002333465755514134,1.665342444858631e-6,0.00002750198633271203
+4.4,0.00001844063624923134,0.00002344063624923133,1.559363750768649e-6,0.00002766095437384701
+4.6,0.00001853624248665105,0.00002353624248665104,1.463757513348937e-6,0.00002780436372997657
+4.8,0.0000191615390452726,0.0000241615390452726,9.405862495054215e-6,0.00002874230856790891
+5.,0.00002000068302291504,0.00002500068302291503,8.566718517411779e-6,0.00003000102453437256
+5.2,0.00002075769744467277,0.00002575769744467276,7.809704095654048e-6,0.00003113654616700916
+5.4,0.00002144062056595745,0.00002644062056595744,7.126780974369369e-6,0.00003216093084893617
+5.6,0.00002205670393459425,0.00002705670393459424,6.510697605732563e-6,0.00003308505590189138
+5.8,0.00002261248939348249,0.00002761248939348249,5.954912146844319e-6,0.00003391873409022374
+6.,0.00002311387839117695,0.00002811387839117695,5.45352314914986e-6,0.00003467081758676543
+6.2,0.00002356619494268584,0.00002856619494268583,5.001206597640974e-6,0.00003534929241402877
+6.4,0.00002397424192106953,0.00002897424192106952,4.593159619257282e-6,0.0000359613628816043
+6.6,0.00002434235211631795,0.00002934235211631794,4.22504942400887e-6,0.00003651352817447692
+6.8,0.00002467443425393601,0.000029674434253936,3.892967286390804e-6,0.00003701165138090402
+7.,0.00002497401446001005,0.00002997401446001005,3.59338708031678e-6,0.00003746102169001508
+7.2,0.00002524427387403419,0.00003024427387403418,3.323127666292644e-6,0.00003786641081105128
+7.4,0.00002548808219155863,0.00003048808219155863,3.079319348768198e-6,0.00003823212328733795
+7.6,0.00002570802823993701,0.000030708028239937,2.859373300389817e-6,0.00003856204235990552
+7.8,0.00002590644750760954,0.00003090644750760953,2.66095403271729e-6,0.0000388596712614143
+8.,0.00002608544693028857,0.00003108544693028855,2.481954610038265e-6,0.00003912817039543285
+8.2,0.00002624692705639894,0.00003124692705639894,2.320474483927885e-6,0.00003937039058459842
+8.4,0.00002639260264775243,0.00003139260264775242,2.174798892574404e-6,0.00003958890397162864
+8.6,0.00002652402057995598,0.00003152402057995598,2.043380960370845e-6,0.00003978603086993398
+8.8,0.00002664257618991307,0.00003164257618991306,1.924825350413762e-6,0.0000399638642848696
+9.,0.00002674952839961031,0.00003174952839961029,1.817873140716528e-6,0.00004012429259941546
+9.2,0.00002684601294413862,0.00003184601294413861,1.721388596188214e-6,0.00004026901941620794
+9.4,0.00002693305421975197,0.00003193305421975196,1.634347320574871e-6,0.00004039958132962795
+9.6,0.00002701157642673791,0.0000320115764267379,1.555825113588924e-6,0.00004051736464010687
+9.8,0.00002708241350531284,0.00003208241350531283,1.484988035013994e-6,0.00004062362025796926
+10.,0.00002714631750517671,0.00003214631750517669,1.421084035150125e-6,0.00004071947625776506
diff --git a/models/sbml-test-suite/cases/semantic/00656/00656-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00656/00656-sbml-l2v4.xml
new file mode 100644
index 0000000..48d86c4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00656/00656-sbml-l2v4.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00656" id="case00656" name="case00656">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 3.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00656/00656-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00656/00656-sbml-l3v1.xml
new file mode 100644
index 0000000..9443b71
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00656/00656-sbml-l3v1.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00656" id="case00656" name="case00656" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 3.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00656/00656-settings.txt b/models/sbml-test-suite/cases/semantic/00656/00656-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00656/00656-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00657/00657-results.csv b/models/sbml-test-suite/cases/semantic/00657/00657-results.csv
new file mode 100644
index 0000000..837efa1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00657/00657-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.00001092171685169353,0.00001592171685169353,9.078283148306471e-6,0.00001638257527754029
+0.4,0.00001175322248614518,0.00001675322248614518,8.246777513854815e-6,0.00001762983372921778
+0.6,0.00001250334614851365,0.00001750334614851365,7.49665385148635e-6,0.00001875501922277047
+0.8,0.00001318005293519388,0.00001818005293519388,6.819947064806121e-6,0.00001977007940279082
+1.,0.00001379052838101108,0.00001879052838101108,6.209471618988925e-6,0.00002068579257151662
+1.2,0.0000143412547601386,0.00001934125476013859,5.658745239861404e-6,0.0000215118821402079
+1.4,0.00001483807988884894,0.00001983807988884893,5.161920111151058e-6,0.00002225711983327342
+1.6,0.00001528627927971801,0.00002028627927971801,4.713720720281993e-6,0.00002292941891957702
+1.8,0.00001569061197997546,0.00002069061197997546,4.309388020024543e-6,0.00002353591796996319
+2.,0.00001605537142047439,0.00002105537142047439,3.944628579525614e-6,0.00002408305713071159
+2.2,0.00001638443074466984,0.00002138443074466984,3.615569255330163e-6,0.00002457664611700476
+2.4,0.00001668128403688978,0.00002168128403688978,3.318715963110221e-6,0.00002502192605533468
+2.6,0.00001694908339522981,0.00002194908339522981,3.050916604770188e-6,0.00002542362509284472
+2.8,0.00001763338944364722,0.00002263338944364722,9.402972502653047e-6,0.00002645008416547083
+3.,0.00001847661505872516,0.00002347661505872516,8.559746887575108e-6,0.00002771492258808774
+3.2,0.00001923731163513066,0.00002423731163513066,7.799050311169617e-6,0.00002885596745269599
+3.4,0.00001992355652783261,0.00002492355652783261,7.112805418467659e-6,0.00002988533479174892
+3.6,0.00002054263655608786,0.00002554263655608786,6.493725390212409e-6,0.0000308139548341318
+3.8,0.00002110112538566068,0.00002610112538566068,5.935236560639587e-6,0.00003165168807849103
+4.,0.00002160495316330234,0.00002660495316330234,5.431408782997927e-6,0.00003240742974495352
+4.2,0.00002205946980324663,0.00002705946980324663,4.976892143053639e-6,0.00003308920470486995
+4.4,0.00002246950154053228,0.00002746950154053228,4.566860405767987e-6,0.00003370425231079843
+4.6,0.00002283940224113964,0.00002783940224113964,4.196959705160635e-6,0.00003425910336170946
+4.8,0.00002317309963889959,0.00002817309963889959,3.863262307400684e-6,0.00003475964945834938
+5.,0.00002347413702334136,0.00002847413702334136,3.562224922958922e-6,0.00003521120553501205
+5.2,0.00002374571099233356,0.00002874571099233356,3.29065095396672e-6,0.00003561856648850033
+5.4,0.00002399070520561417,0.00002899070520561417,3.045656740686102e-6,0.00003598605780842126
+5.6,0.00002421172108153911,0.0000292117210815391,2.824640864761173e-6,0.00003631758162230866
+5.8,0.00002441110547147893,0.00002941110547147893,2.625256474821349e-6,0.0000366166582072184
+6.,0.00002459097555437273,0.00002959097555437273,2.445386391927547e-6,0.00003688646333155909
+6.2,0.0000247532411320346,0.0000297532411320346,2.283120814265677e-6,0.0000371298616980519
+6.4,0.00002489962529081838,0.00002989962529081838,2.136736655481899e-6,0.00003734943793622757
+6.6,0.00002503168244692141,0.00003003168244692141,2.004679499378864e-6,0.00003754752367038212
+6.8,0.00002515081472242344,0.00003015081472242344,1.885547223876841e-6,0.00003772622208363516
+7.,0.00002525828714807017,0.00003025828714807017,1.778074798230105e-6,0.00003788743072210526
+7.2,0.00002535524100567055,0.00003035524100567055,1.681120940629727e-6,0.00003803286150850583
+7.4,0.00002544270564398689,0.00003044270564398689,1.593656302313386e-6,0.00003816405846598034
+7.6,0.0000255216097893086,0.0000305216097893086,1.514752156991677e-6,0.00003828241468396291
+7.8,0.00002559279144799589,0.00003059279144799589,1.443570498304388e-6,0.00003838918717199384
+8.,0.00002565700630203043,0.00003065700630203043,1.379355644269848e-6,0.00003848550945304564
+8.2,0.00002571493620872047,0.00003071493620872048,1.321425737579802e-6,0.00003857240431308071
+8.4,0.00002576719641442856,0.00003076719641442857,1.269165531871711e-6,0.00003865079462164285
+8.6,0.00002581434175815276,0.00003081434175815277,1.222020188147516e-6,0.00003872151263722913
+8.8,0.00002585687278600066,0.00003085687278600068,1.179489160299607e-6,0.000038785309179001
+9.,0.00002589524116863183,0.00003089524116863185,1.141120777668442e-6,0.00003884286175294775
+9.2,0.00002592985434548741,0.00003092985434548741,1.106507600812873e-6,0.00003889478151823111
+9.4,0.00002596107984918773,0.00003096107984918773,1.075282097112549e-6,0.0000389416197737816
+9.6,0.00002598924921518032,0.00003098924921518033,1.047112731119957e-6,0.00003898387382277049
+9.8,0.00002601466152638054,0.00003101466152638054,1.021700419919738e-6,0.00003902199228957082
+10.,0.00002603758665891461,0.00003103758665891461,9.987752873856734e-7,0.00003905637998837192
diff --git a/models/sbml-test-suite/cases/semantic/00657/00657-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00657/00657-sbml-l2v4.xml
new file mode 100644
index 0000000..6efed58
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00657/00657-sbml-l2v4.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00657" id="case00657" name="case00657">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00657/00657-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00657/00657-sbml-l3v1.xml
new file mode 100644
index 0000000..2857627
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00657/00657-sbml-l3v1.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00657" id="case00657" name="case00657" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn type="e-notation"> 1.5 <sep/> -5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="e-notation"> 1 <sep/> -5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00657/00657-settings.txt b/models/sbml-test-suite/cases/semantic/00657/00657-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00657/00657-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00658/00658-results.csv b/models/sbml-test-suite/cases/semantic/00658/00658-results.csv
new file mode 100644
index 0000000..453ddaa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00658/00658-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.5,0.499999999998476
+0.1,0.5475813012596818,0.4524186987403108
+0.2,0.5906346258129986,0.409365374186998
+0.3,0.6295908945339795,0.3704091054660204
+0.4,0.6648399841052185,0.335160015894781
+0.5,0.6967346754629754,0.3032653245370245
+0.6,0.7255941852802848,0.2744058147197152
+0.7,0.751707350818614,0.2482926491813859
+0.8,0.7753355198683362,0.2246644801316637
+0.9,0.796715171167494,0.2032848288325057
+1.,0.8160602793225079,0.1839397206774919
+1.1,0.8335644566604755,0.1664355433395246
+1.2,0.8494028910776124,0.1505971089223877
+1.3,0.8637340991043361,0.1362659008956637
+1.4,0.87670151248469,0.12329848751531
+1.5,0.8884349136382431,0.1115650863617569
+1.6,0.899051734533168,0.100948265466832
+1.7,0.9086582317846022,0.09134176821539766
+1.8,0.9173505501284959,0.082649449871504
+1.9,0.9252156850142827,0.07478431498571723
+2.,0.9323323532648751,0.06766764673512498
+2.1,0.938771780867558,0.06122821913244188
+2.2,0.9445984158031048,0.05540158419689499
+2.3,0.9498705730434451,0.0501294269565549
+2.4,0.9546410181735388,0.0453589818264611
+2.5,0.9589574954770334,0.04104250452296651
+2.6,0.9628632057700404,0.03713679422995947
+2.7,0.9663972387602393,0.03360276123976073
+2.8,0.9695949641823565,0.03040503581764339
+2.9,0.9724883858441966,0.02751161415580351
+3.,0.9751064673387965,0.02489353266120319
+3.1,0.9774753962146742,0.02252460378532697
+3.2,0.9796188929239192,0.02038110707608063
+3.3,0.9815584072723131,0.01844159272768754
+3.4,0.9833133530278128,0.01668664697218679
+3.5,0.984901293418461,0.01509870658153877
+3.6,0.9863381216744151,0.01366187832558564
+3.7,0.987638217669756,0.01236178233024343
+3.8,0.9888145934166312,0.01118540658336842
+3.9,0.9898790225192724,0.01012097748072849
+4.,0.9908421581575702,0.009157841842429128
+4.1,0.9917136396545835,0.008286360345416195
+4.2,0.9925021890506853,0.007497810949315459
+4.3,0.9932156983844727,0.006784301615526173
+4.4,0.9938613085919025,0.006138691408098087
+4.5,0.9944454810601306,0.005554518939869794
+4.6,0.9949740623061355,0.005025937693862623
+4.7,0.9954523424924814,0.004547657507520234
+4.8,0.9958851083729828,0.004114891627017764
+4.9,0.9962766911931005,0.003723308806896217
+5.,0.9966310096117369,0.003368990388263215
diff --git a/models/sbml-test-suite/cases/semantic/00658/00658-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00658/00658-sbml-l2v4.xml
new file mode 100644
index 0000000..f2d2a8e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00658/00658-sbml-l2v4.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00658" id="case00658" name="case00658">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="1"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00658/00658-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00658/00658-sbml-l3v1.xml
new file mode 100644
index 0000000..58c549c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00658/00658-sbml-l3v1.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00658" id="case00658" name="case00658" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00658/00658-settings.txt b/models/sbml-test-suite/cases/semantic/00658/00658-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00658/00658-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00659/00659-results.csv b/models/sbml-test-suite/cases/semantic/00659/00659-results.csv
new file mode 100644
index 0000000..f47de93
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00659/00659-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.5,0.4999999999524267
+0.2,0.5906346258130126,0.4093653741869868
+0.4,0.6648399841052153,0.335160015894785
+0.6,0.7255941852803742,0.2744058147196258
+0.8,0.7753355198684368,0.224664480131563
+1.,0.8160602793225134,0.1839397206774865
+1.2,0.8494028910775095,0.1505971089224908
+1.4,0.8767015124845684,0.1232984875154314
+1.6,0.8990517345331875,0.1009482654668124
+1.8,0.9173505501285788,0.08264944987142107
+2.,0.9323323532649003,0.06766764673509925
+2.2,0.9445984158030483,0.05540158419695153
+2.4,0.9546410181734468,0.045358981826553
+2.6,0.9628632057700001,0.03713679422999977
+2.8,0.9695949641823974,0.03040503581760259
+3.,0.9751064673385027,0.02489353266149743
+3.2,0.9796188929238361,0.02038110707616383
+3.4,0.9833133530278636,0.01668664697213599
+3.6,0.986338121674555,0.01366187832544535
+3.8,0.988814593416794,0.01118540658320625
+4.,0.9908421581576725,0.009157841842327025
+4.2,0.9925021890506523,0.007497810949347458
+4.4,0.9938613085917676,0.006138691408232652
+4.6,0.994974062305997,0.005025937694002989
+4.8,0.9958851083728835,0.004114891627115758
+5.,0.9966310100310645,0.003368989968936591
+5.2,0.997241702831545,0.002758297168454554
+5.4,0.9977416959791211,0.002258304020877784
+5.6,0.9981510559423391,0.001848944057662713
+5.8,0.9984862117592746,0.001513788240725052
+6.,0.9987606143777839,0.001239385622213947
+6.2,0.998985276412491,0.001014723587510128
+6.4,0.9991692142196503,0.0008307857803532473
+6.6,0.9993198098094036,0.0006801901905892536
+6.8,0.9994431068253871,0.0005568931745915661
+7.,0.9995440510422362,0.0004559489577656007
+7.2,0.9996266971187857,0.0003733028812321976
+7.4,0.9996943625617219,0.0003056374382679327
+7.6,0.9997497625018524,0.0002502374981420624
+7.8,0.9997951204987856,0.0002048795012379401
+8.,0.9998322566124949,0.0001677433874855272
+8.2,0.9998626615825324,0.0001373384174756673
+8.4,0.999887555618541,0.0001124443814552404
+8.6,0.999907937364775,0.0000920626352010431
+8.8,0.9999246246158684,0.0000753753841786805
+9.,0.9999382870550415,0.00006171294493638916
+9.2,0.9999494730494473,0.00005052695053697603
+9.4,0.9999586315599593,0.00004136844006398316
+9.6,0.9999661300365462,0.00003386996339898874
+9.8,0.9999722693133332,0.00002773068673718729
+10.,0.9999772958008291,0.00002270419917085929
diff --git a/models/sbml-test-suite/cases/semantic/00659/00659-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00659/00659-sbml-l2v4.xml
new file mode 100644
index 0000000..5725ad3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00659/00659-sbml-l2v4.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00659" id="case00659" name="case00659">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="5"/>
+      <parameter id="k2" name="k2" value="1"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00659/00659-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00659/00659-sbml-l3v1.xml
new file mode 100644
index 0000000..072cddb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00659/00659-sbml-l3v1.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00659" id="case00659" name="case00659" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="5" constant="true"/>
+      <parameter id="k2" name="k2" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00659/00659-settings.txt b/models/sbml-test-suite/cases/semantic/00659/00659-settings.txt
new file mode 100644
index 0000000..45186e0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00659/00659-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00660/00660-results.csv b/models/sbml-test-suite/cases/semantic/00660/00660-results.csv
new file mode 100644
index 0000000..88f7570
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00660/00660-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.5,0.4999999999842559
+0.16,0.5739281095125899,0.4260718904874106
+0.32,0.6369254866236794,0.3630745133763205
+0.48,0.6906083155581501,0.30939168444185
+0.64,0.736353793962171,0.2636462060378285
+0.8,0.7753355198683673,0.2246644801316328
+0.96,0.8085535558446483,0.1914464441553515
+1.12,0.8368600992314946,0.1631399007685055
+1.28,0.8609813447622151,0.139018655237785
+1.44,0.8815361146754089,0.118463885324591
+1.6,0.899051734533174,0.100948265466826
+1.76,0.9139775615252637,0.08602243847473631
+1.92,0.9266965125582579,0.07330348744174212
+2.08,0.9375348878667573,0.06246511213324264
+2.24,0.9467707421917562,0.05322925780824374
+2.4,0.9546410181735099,0.04535898182648982
+2.56,0.9613476250250896,0.03865237497491051
+2.72,0.9670626184380221,0.03293738156197812
+2.88,0.9719326146078336,0.02806738539216619
+3.04,0.9760825550873162,0.02391744491268389
+3.2,0.9796188929238931,0.02038110707610681
+3.36,0.9826323564591044,0.01736764354089558
+3.52,0.9852002655690912,0.01479973443090859
+3.68,0.9873884944987122,0.01261150550128767
+3.84,0.9892531778810572,0.0107468221189429
+4.,0.9908421581576016,0.009157841842397963
+4.16,0.9921961999738774,0.007803800026123091
+4.32,0.9933500369970373,0.006649963002962486
+4.48,0.9943332722558585,0.005666727744141651
+4.64,0.9951711319413535,0.004828868058646258
+4.8,0.9958851083729519,0.00411489162704783
+4.96,0.9964935186058299,0.003506481394170329
+5.12,0.9970119727510895,0.002988027248910255
+5.28,0.9974537702831016,0.002546229716899019
+5.44,0.9978302449162486,0.002169755083750729
+5.6,0.9981510559423313,0.001848944057669407
+5.76,0.9984244333720221,0.001575566627976481
+5.92,0.9986573899795481,0.001342610020452677
+6.08,0.9988559026360773,0.001144097363921531
+6.24,0.9990250642962542,0.0009749357037470103
+6.4,0.999169214219677,0.000830785780323134
+6.56,0.9992920506524029,0.0007079493475972055
+6.72,0.9993967263400581,0.0006032736599348744
+6.88,0.999485921857897,0.0005140781421161779
+7.04,0.9995619289778747,0.0004380710221218694
+7.2,0.9996266971187943,0.0003733028812061835
+7.36,0.9996818893560302,0.0003181106439720465
+7.52,0.9997289215207235,0.0002710784792764278
+7.68,0.9997690001365761,0.0002309998634216546
+7.84,0.9998031531541657,0.0001968468458358626
+8.,0.9998322572709389,0.0001677427290610876
diff --git a/models/sbml-test-suite/cases/semantic/00660/00660-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00660/00660-sbml-l2v4.xml
new file mode 100644
index 0000000..5b82fa4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00660/00660-sbml-l2v4.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00660" id="case00660" name="case00660">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1"/>
+      <parameter id="k2" name="k2" value="1"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00660/00660-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00660/00660-sbml-l3v1.xml
new file mode 100644
index 0000000..0ae68a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00660/00660-sbml-l3v1.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00660" id="case00660" name="case00660" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="true"/>
+      <parameter id="k2" name="k2" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+            </apply>
+            <ci> S1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S2"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00660/00660-settings.txt b/models/sbml-test-suite/cases/semantic/00660/00660-settings.txt
new file mode 100644
index 0000000..782b0d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00660/00660-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00661/00661-results.csv b/models/sbml-test-suite/cases/semantic/00661/00661-results.csv
new file mode 100644
index 0000000..a86eb20
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00661/00661-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.25,1.5,1.,3.75
+0.2,1.225248341634303,1.539700676519924,0.9850509818457722,3.749999999999999
+0.4,1.200986798940196,1.578805488713228,0.9702077123465743,3.749999999999996
+0.6,1.177205666979558,1.617318775215723,0.9554755578047179,3.749999999999998
+0.8,1.153895432982213,1.655245081271962,0.9408594857458226,3.749999999999996
+1.,1.131046772543813,1.692589143176806,0.9263640842793794,3.749999999999999
+1.2,1.108650545895531,1.729355873471387,0.9119935806330805,3.749999999999999
+1.4,1.086697794248031,1.765550346865127,0.8977518588868403,3.749999999999999
+1.6,1.065179736207841,1.801177786851692,0.8836424769404664,3.749999999999999
+1.8,1.044087764264675,1.836243552988863,0.8696686827464605,3.749999999999998
+2.,1.023413441348331,1.870753128813516,0.8558334298381515,3.749999999999999
+2.2,1.003148497453801,1.904712110364152,0.8421393921820457,3.749999999999998
+2.4,0.9832848263334661,1.938126195284579,0.8285889783819537,3.749999999999998
+2.6,0.9638144822542471,1.971001172482932,0.8151843452628191,3.749999999999998
+2.8,0.9447296768200489,1.003342908350705,0.8019274108582741,2.749999996029028
+3.,0.9260227758525282,1.035157353346945,0.7888198668295549,2.749999996029028
+3.2,0.9076862963417325,1.066450509353987,0.7758631903333083,2.749999996029029
+3.4,0.8897129034533402,1.097228437212595,0.7630586553630929,2.749999996029028
+3.6,0.8720954075891876,1.127497244840331,0.7504073435995096,2.749999996029028
+3.8,0.8548267615158421,1.157263079749601,0.7379101547635846,2.749999996029028
+4.,0.8379000575446433,1.186532121968267,0.7255678165161176,2.749999996029028
+4.2,0.8213085247685083,1.215310577347743,0.713380893912777,2.749999996029028
+4.4,0.8050455263532526,1.243604671240742,0.7013497984350332,2.749999996029027
+4.6,0.7891045568827622,1.271420642532125,0.6894747966141402,2.749999996029028
+4.8,0.7734792397567462,1.298764738006857,0.6777560182654242,2.749999996029028
+5.,0.7581633246400159,1.325643207039814,0.6661934643491985,2.749999996029029
+5.2,0.7431506849622712,1.352062296592819,0.6547870144739385,2.749999996029028
+5.4,0.7284353154673959,1.378028246504903,0.6435364340567287,2.749999996029028
+5.6,0.7140113298112782,1.403547285062371,0.6324413811553791,2.749999996029028
+5.8,0.6998729582071975,1.428625624835805,0.6215014129860254,2.749999996029028
+6.,0.6860145451178768,1.453269458771707,0.6107159921394442,2.749999996029028
+6.2,0.6724305469933962,1.477484956526919,0.6000844925087135,2.749999996029029
+6.4,0.6591155300535345,1.501278261034667,0.5896062049408267,2.749999996029028
+6.6,0.6460641681140856,1.524655485291348,0.5792803426235949,2.749999996029027
+6.8,0.6332712404563162,1.547622709353657,0.5691060462190553,2.749999996029027
+7.,0.6207316297386138,1.570185977536169,0.5590823887542451,2.749999996029026
+7.2,0.6084403199494844,1.592351295799873,0.5492083802796704,2.749999996029029
+7.4,0.5963923944010858,1.614124629322556,0.5394829723053856,2.749999996029028
+7.6,0.5845830337624879,1.63551190024235,0.5299050620241904,2.749999996029028
+7.8,0.5730075141318814,1.656518985566091,0.5204734963310551,2.749999996029028
+8.,0.561661205136642,1.677151715240585,0.5111870756518009,2.749999996029027
+8.2,0.5505395681263161,1.697415870341544,0.5020445575611672,2.749999996029027
+8.4,0.5396381542855446,1.717317181468614,0.4930446602748691,2.749999996029028
+8.6,0.528952602897751,1.736861327214841,0.4841860659164362,2.749999996029029
+8.8,0.5184786395983872,1.756053932786639,0.4754674236440024,2.749999996029028
+9.,0.508212074668368,1.774900568742122,0.4668873526185383,2.749999996029028
+9.2,0.4981488013481476,1.793406749854533,0.4584444448263471,2.74999999602903
+9.4,0.4882847941943264,1.811577934079986,0.450137267754716,2.749999996029028
+9.6,0.478616107469711,1.829419521628861,0.441964366930456,2.749999996029028
+9.8,0.4691388735655069,1.846936854135871,0.4339242683276495,2.749999996029029
+10.,0.4598493014664026,1.864135213914283,0.4260154806483424,2.749999996029028
diff --git a/models/sbml-test-suite/cases/semantic/00661/00661-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00661/00661-sbml-l2v4.xml
new file mode 100644
index 0000000..7691515
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00661/00661-sbml-l2v4.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00661" id="case00661" name="case00661">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00661/00661-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00661/00661-sbml-l3v1.xml
new file mode 100644
index 0000000..db99300
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00661/00661-sbml-l3v1.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00661" id="case00661" name="case00661" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00661/00661-settings.txt b/models/sbml-test-suite/cases/semantic/00661/00661-settings.txt
new file mode 100644
index 0000000..979aa8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00661/00661-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-002
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00662/00662-results.csv b/models/sbml-test-suite/cases/semantic/00662/00662-results.csv
new file mode 100644
index 0000000..cb1b091
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00662/00662-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.8,0.9231163451889691,0.003244933713928174,0.07363872109710263,0.02103963459917219
+1.6,0.8521437887162755,0.01228934238564433,0.1355668688980801,0.03873339111373719
+2.4,0.786627859535143,0.02619044073253581,0.1871816997323211,0.05348048563780594
+3.2,0.7261490354291663,0.04411877451320064,0.2297321900576329,0.06563776858789513
+4.,0.6703200445499893,0.06534610753976989,0.2643338479102406,0.075523956545783
+4.8,0.6187833914968956,0.08923458508610325,0.2919820234170009,0.08342343526200027
+5.6,0.5712090627291711,0.1152269433305583,0.3135639939402704,0.08958971255436298
+6.4,0.5272924244905951,0.1428377516878315,0.3298698238215733,0.09424852109187811
+7.2,0.4867522554029566,0.1716454656148573,0.3416022789821859,0.09760065113776747
+8.,0.4493289646829047,0.2012853796811326,0.3493856556359624,0.09982447303884638
+8.8,0.4147829117829972,0.2314432079939618,0.3537738802230408,0.1010782514922973
+9.6,0.3828928864342857,0.2618494024571859,0.3552577111085281,0.1015022031738652
+10.4,0.3534546826623529,0.2922740025613215,0.3542713147763255,0.1012203756503787
+11.2,0.32627979502984,0.3225220501166841,0.3511981548534758,0.100342329958136
+12.,0.3011942130097296,0.3524294783092463,0.3463763086810239,0.09896465962314969
+12.8,0.2780373009419539,0.38185941920361,0.340103279854436,0.097172365672696
+13.6,0.2566607781205618,0.4106989305066555,0.3326402913727826,0.09504008324936645
+14.4,0.2369277593606532,0.4388560378517291,0.3242162027876177,0.09263320079646214
+15.2,0.2187118879677983,0.4662571292663049,0.3150309827658966,0.09000885221882765
+16.,0.2018965180426676,0.4928446039100782,0.305258878047254,0.08721682229921558
+16.8,0.1863740009876559,1.018574755823207,0.2950512427025137,0.08430035505786112
+17.6,0.172044885984899,1.043416087815171,0.2845390257133063,0.08129686448951467
+18.4,0.1588174503477969,1.067347417728526,0.2738351314370534,0.07823860898201544
+19.2,0.1466069866686047,1.090356566184669,0.2630364466601022,0.07515327047431548
+20.,0.1353353085696214,1.112439051957319,0.2522256389864365,0.07206446828183858
+20.8,0.1249302321120566,1.133596911004964,0.2414728563963562,0.06899224468467228
+21.6,0.11532513595071,1.15383773391899,0.2308371296436768,0.0659534656124802
+22.4,0.1064585106050199,1.173173726514419,0.220367762393937,0.06296221782683769
+23.2,0.09827358330895673,1.191620956227265,0.2101054599771557,0.06003013142204536
+24.,0.09071794676298784,1.209198651188965,0.2000834015614235,0.0571666861604134
+24.8,0.08374321952520674,1.225928589353538,0.1903281906346319,0.05437948303844833
+25.6,0.07730473844601465,1.241834573027488,0.1808606880398746,0.0516744822971055
+26.4,0.071361270020189,1.256941967352235,0.1716967621409527,0.04905621775456805
+27.2,0.06587475438272259,1.271277313450075,0.1628479316805788,0.04652798048004194
+28.,0.06081006315685783,1.284867983269628,0.1543219530868909,0.04409198659674173
+28.8,0.05613476852374712,1.297741871607027,0.1461233593826019,0.04174953125096096
+29.6,0.05181892392226671,1.309927121418986,0.1382539541721243,0.0395011297658462
+30.4,0.04783489541193537,1.321451942843897,0.1307131612575442,0.03734661749998786
+31.2,0.04415717006896345,1.332344403403221,0.1234984260411924,0.03528526456480921
+32.,0.04076220093552568,1.342632288320278,0.1166055102575724,0.03331586011376166
+32.8,0.03762825523230895,1.352342952123768,0.1100287921572989,0.03143679779533636
+33.6,0.03473525897164842,1.36150321109865,0.1037615294430774,0.02964615127555122
+34.4,0.03206468522853021,1.370139266844675,0.09779604744017042,0.02794172782258457
+35.2,0.02959943346710135,1.378276632986186,0.09212393306008882,0.02632112372712448
+36.,0.027323722180051,1.385940071423197,0.08673620591012841,0.02478177315357742
+36.8,0.02522297708797724,1.393153559849365,0.08162346257603446,0.02332098926613955
+37.6,0.02328374526144436,1.39994025251584,0.07677600173609196,0.02193600042949677
+38.4,0.0214936087607868,1.406322464522599,0.07218392622999024,0.02062397904478536
+39.2,0.01984110420435494,1.412321657365297,0.0678372379437243,0.01938206804361763
+40.,0.01831565024968183,1.417958433514777,0.06372591574891751,0.01820740449969071
diff --git a/models/sbml-test-suite/cases/semantic/00662/00662-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00662/00662-sbml-l2v4.xml
new file mode 100644
index 0000000..e5bd923
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00662/00662-sbml-l2v4.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00662" id="case00662" name="case00662">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00662/00662-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00662/00662-sbml-l3v1.xml
new file mode 100644
index 0000000..960c922
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00662/00662-sbml-l3v1.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00662" id="case00662" name="case00662" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00662/00662-settings.txt b/models/sbml-test-suite/cases/semantic/00662/00662-settings.txt
new file mode 100644
index 0000000..254736a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00662/00662-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 40.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00663/00663-results.csv b/models/sbml-test-suite/cases/semantic/00663/00663-results.csv
new file mode 100644
index 0000000..7025a2d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00663/00663-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.002,0.002,-2.975265265776671e-23,7.683505216852655e-28
+0.2,0.001506983551506779,0.001466619535060482,0.0004930164484932207,0.00004036401644629688
+0.4,0.001326823380638542,0.00120275452603696,0.0006731766193614577,0.0001240688546015819
+0.6,0.001265647772894856,0.00104218740644271,0.0007343522271051439,0.0002234603664521461
+0.8,0.001255836915474828,0.0009284925075613145,0.000744163084525172,0.0003273444079135136
+1.,0.001269620287547153,0.0008388770949191686,0.0007303797124528471,0.0004307431926279843
+1.2,0.001294526470599925,0.0007631872174468163,0.0007054735294000749,0.0005313392531531088
+1.4,0.001324633497588023,0.0006965942063919232,0.0006753665024119768,0.0006280392911961
+1.6,0.001357015171422887,0.000636675671547761,0.0006429848285771145,0.001383678295203963
+1.8,0.001390196471089301,0.0005821582010266414,0.0006098035289107003,0.001471377065391498
+2.,0.001423368219064134,0.0005322827770791656,0.0005766317809358683,0.001554424237313804
+2.2,0.001456071368213323,0.0004865540668911579,0.0005439286317866795,0.001632856096651001
+2.4,0.001488026320002227,0.0004446058002350529,0.0005119736799977747,0.001706759315096011
+2.6,0.001519051218036358,0.000406137798276692,0.000480948781963645,0.001776252215088502
+2.8,0.001549021402749372,0.0003708859485986258,0.0004509785972506307,0.001841474249479582
+3.,0.001577848963363533,0.0003386081740790908,0.0004221510366364698,0.001902579584613278
+3.2,0.001605472125708564,0.0003090781448369952,0.000394527874291438,0.001959732776200404
+3.4,0.001631849432058481,0.0002820826720737935,0.0003681505679415211,0.002013105555313522
+3.6,0.001656956227086912,0.0002574207743848592,0.0003430437729130894,0.002062874248030888
+3.8,0.001680782232240958,0.0002349034263113056,0.0003192177677590428,0.00210921760125849
+4.,0.001703329624245173,0.0002143535112241103,0.0002966703757548287,0.002152314908349897
+4.2,0.001724611349828464,0.0001956057599417543,0.0002753886501715366,0.002192344385215542
+4.4,0.001744649565267265,0.0001785065877034364,0.0002553504347327367,0.002229481772892663
+4.6,0.001763474164291787,0.0001629138073863302,0.0002365258357082158,0.002263899152234289
+4.8,0.001781121391317642,0.0001486962278791403,0.000218878608682361,0.002295763958767333
+5.,0.001797632549418621,0.0001357331595289748,0.0002023674505813822,0.002325238185218477
+5.2,0.001813052814603364,0.0001239138523292176,0.0001869471853966386,0.002352477757602978
+5.4,0.001827430165536346,0.0001131368915446419,0.0001725698344636569,0.002377632069320535
+5.6,0.001840814433723844,0.0001033095723668123,0.0001591855662761602,0.002400843656685861
+5.8,0.001853256474902779,0.00009434727129213277,0.0001467435250972259,0.002422247998939474
+6.,0.001864807458620365,0.00008617282801577297,0.000135192541379639,0.002441973425933421
+6.2,0.001875518270044473,0.00007871594803563179,0.0001244817299555305,0.00246014111733767
+6.4,0.001885439015957133,0.0000719126330890568,0.0001145609840428709,0.002476865178196905
+6.6,0.001894618625571948,0.00006570464400553095,0.0001053813744280568,0.002492252776895245
+6.8,0.001903104536165042,0.00006003899854196078,0.00009689546383496211,0.002506404332951909
+7.,0.001910942453377285,0.00005486750522187564,0.0000890575466227193,0.002519413743484238
+7.2,0.001918176176301362,0.00005014633305046005,0.00008182382369864192,0.00253136863857973
+7.4,0.001924847477994731,0.0000458356161512522,0.00007515252200527335,0.002542350657172305
+7.6,0.00193099603276305,0.00004189909181715303,0.0000690039672369537,0.002552435736274725
+7.8,0.001936659382357806,0.00003830377010491327,0.00006334061764219861,0.002561694407581719
+8.,0.001941872934074579,0.0000350196329083703,0.00005812706592542529,0.002570192096495038
+8.2,0.001946669984574348,0.00003201936035645458,0.00005333001542565572,0.002577989419546723
+8.4,0.001951081764056348,0.00002927808238042399,0.00004891823594365597,0.002585142477004754
+8.6,0.001955137496163974,0.00002677315334903647,0.00004486250383602986,0.002591703138143768
+8.8,0.001958864469695925,0.00002448394776496398,0.00004113553030408027,0.00259771931725979
+9.,0.001962288118815857,0.00002239167512833991,0.00003771188118414636,0.002603235239016348
+9.2,0.001965432109007807,0.00002047921220762633,0.00003456789099219684,0.00260829169212901
+9.4,0.001968318426508057,0.00001873095108761198,0.00003168157349194818,0.002612926270749273
+9.6,0.001970967469366356,0.00001713266150033174,0.00002903253063365034,0.002617173603194852
+9.8,0.001973398138651869,0.00001567136607536664,0.00002660186134813818,0.002621065567905329
+10.,0.001975627928627642,0.00001433522726705031,0.00002437207137236242,0.00262463149668942
diff --git a/models/sbml-test-suite/cases/semantic/00663/00663-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00663/00663-sbml-l2v4.xml
new file mode 100644
index 0000000..75e8bc5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00663/00663-sbml-l2v4.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00663" id="case00663" name="case00663">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <cn type="integer"> 2 </cn>
+                <ci> S4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00663/00663-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00663/00663-sbml-l3v1.xml
new file mode 100644
index 0000000..47b562b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00663/00663-sbml-l3v1.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00663" id="case00663" name="case00663" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <cn type="integer"> 2 </cn>
+                <ci> S4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00663/00663-settings.txt b/models/sbml-test-suite/cases/semantic/00663/00663-settings.txt
new file mode 100644
index 0000000..bf393b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00663/00663-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00664/00664-results.csv b/models/sbml-test-suite/cases/semantic/00664/00664-results.csv
new file mode 100644
index 0000000..cf98873
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00664/00664-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.002,0.002,0,0
+0.2,0.00150698,0.00146661,0.000493025,4.03638e-05
+0.4,0.00132682,0.00120275,0.000673183,0.000124069
+0.6,0.00126564,0.00104218,0.000734362,0.000223461
+0.8,0.00125584,0.000928496,0.000744157,0.000327347
+1,0.00126963,0.000838885,0.000730369,0.000430746
+1.2,0.00129453,0.000763186,0.000705473,0.000531341
+1.4,0.00132463,0.000696586,0.000675375,0.00062804
+1.6,0.00135701,0.000636672,0.000642987,0.000720341
+1.8,0.0013902,0.000582156,0.000609804,0.00080804
+2,0.00142337,0.000532281,0.000576632,0.000891087
+2.2,0.00145607,0.000486553,0.000543928,0.000969519
+2.4,0.00148803,0.000444605,0.000511973,0.00104342
+2.6,0.00151905,0.000406137,0.000480948,0.00111291
+2.8,0.00154902,0.000370885,0.000450978,0.00117814
+3,0.00157785,0.000338607,0.00042215,0.00123924
+3.2,0.00160547,0.000309077,0.000394527,0.0012964
+3.4,0.00163185,0.000282082,0.00036815,0.00134977
+3.6,0.00165696,0.00025742,0.000343043,0.00202063
+3.8,0.00168078,0.000234903,0.000319217,0.00206698
+4,0.00170333,0.000214353,0.00029667,0.00211007
+4.2,0.00172461,0.000195605,0.000275388,0.0021501
+4.4,0.00174465,0.000178506,0.00025535,0.00218724
+4.6,0.00176347,0.000162913,0.000236525,0.00222166
+4.8,0.00178112,0.000148696,0.000218878,0.00225352
+5,0.00179763,0.000135733,0.000202367,0.002283
+5.2,0.00181305,0.000123914,0.000186947,0.00231023
+5.4,0.00182743,0.000113137,0.00017257,0.00233539
+5.6,0.00184081,0.000103309,0.000159185,0.0023586
+5.8,0.00185326,9.43471e-05,0.000146743,0.00238001
+6,0.00186481,8.61726e-05,0.000135192,0.00239973
+6.2,0.00187552,7.87158e-05,0.000124481,0.0024179
+6.4,0.00188544,7.19125e-05,0.000114561,0.00243462
+6.6,0.00189462,6.57045e-05,0.000105381,0.00245001
+6.8,0.0019031,6.00389e-05,9.68953e-05,0.00246416
+7,0.00191094,5.48674e-05,8.90574e-05,0.00247717
+7.2,0.00191818,5.01462e-05,8.18237e-05,0.00248913
+7.4,0.00192485,4.58355e-05,7.51524e-05,0.00250011
+7.6,0.001931,4.1899e-05,6.90038e-05,0.00251019
+7.8,0.00193666,3.83037e-05,6.33405e-05,0.00251945
+8,0.00194187,3.50196e-05,5.81269e-05,0.00252795
+8.2,0.00194667,3.20193e-05,5.33299e-05,0.00253575
+8.4,0.00195108,2.9278e-05,4.89181e-05,0.0025429
+8.6,0.00195514,2.67731e-05,4.48624e-05,0.00254946
+8.8,0.00195886,2.44839e-05,4.11354e-05,0.00255548
+9,0.00196229,2.23916e-05,3.77118e-05,0.00256099
+9.2,0.00196543,2.04792e-05,3.45678e-05,0.00256605
+9.4,0.00196832,1.87309e-05,3.16815e-05,0.00257068
+9.6,0.00197097,1.71326e-05,2.90325e-05,0.00257493
+9.8,0.0019734,1.56713e-05,2.66018e-05,0.00257882
+10,0.00197563,1.43352e-05,2.4372e-05,0.00258239
diff --git a/models/sbml-test-suite/cases/semantic/00664/00664-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00664/00664-sbml-l2v4.xml
new file mode 100644
index 0000000..105fd79
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00664/00664-sbml-l2v4.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00664" id="case00664" name="case00664">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <cn type="integer"> 3 </cn>
+                <ci> S4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00664/00664-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00664/00664-sbml-l3v1.xml
new file mode 100644
index 0000000..abd8bf8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00664/00664-sbml-l3v1.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00664" id="case00664" name="case00664" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <cn type="integer"> 3 </cn>
+                <ci> S4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00664/00664-settings.txt b/models/sbml-test-suite/cases/semantic/00664/00664-settings.txt
new file mode 100644
index 0000000..ab7e979
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00664/00664-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00665/00665-results.csv b/models/sbml-test-suite/cases/semantic/00665/00665-results.csv
new file mode 100644
index 0000000..d6c427f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00665/00665-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.25,1.5,1.,3.75
+0.2,1.225248341634303,1.539700676519924,0.9850509818457722,3.749999999999999
+0.4,1.200986798940196,1.578805488713228,0.9702077123465743,3.749999999999996
+0.6,1.177205666979558,1.617318775215723,0.9554755578047179,3.749999999999998
+0.8,1.153895432982213,1.655245081271962,0.9408594857458226,3.749999999999996
+1.,1.131046772543813,1.692589143176806,0.9263640842793794,3.749999999999999
+1.2,1.108650545895531,1.729355873471387,0.9119935806330805,3.749999999999999
+1.4,1.086697794248031,1.765550346865127,0.8977518588868403,3.749999999999999
+1.6,1.065179736207841,1.801177786851692,0.8836424769404664,3.749999999999999
+1.8,1.044087764264675,1.836243552988863,0.8696686827464605,3.749999999999998
+2.,1.023413441348331,1.870753128813516,0.8558334298381515,3.749999999999999
+2.2,1.003148497453801,1.904712110364152,0.8421393921820457,3.749999999999998
+2.4,0.9832848263334661,1.938126195284579,0.8285889783819537,3.749999999999998
+2.6,0.9638144822542471,1.971001172482932,0.8151843452628191,3.749999999999998
+2.8,0.9447296768191197,2.003342912320706,0.8019274108601735,3.749999999999997
+3.,0.9260227758512645,2.035157357316486,0.7888198668322481,3.75
+3.2,0.9076862963371271,2.066450513321097,0.7758631903417746,3.750000000000003
+3.4,0.889712903451333,2.097228441181308,0.7630586553673587,3.749999999999992
+3.6,0.8720954075870683,2.127497248808663,0.7504073436042685,3.750000000000883
+3.8,0.8548267615126187,2.157263083717691,0.7379101547696886,3.749999999999738
+4.,0.8379000575422622,2.186532125936691,0.7255678165210457,3.749999999999587
+4.2,0.8213085247678189,2.215310581316506,0.7133808939156749,3.749999999998633
+4.4,0.8050455263522877,2.243604675209541,0.7013497984381709,3.749999999999492
+4.6,0.7891045568826565,2.271420646501016,0.6894747966163263,3.750000000000107
+4.8,0.7734792397566422,2.298764741975791,0.6777560182675663,3.750000000000621
+5.,0.7581633246395979,2.325643211008811,0.6661934643515898,3.750000000001038
+5.2,0.743150684961843,2.35206230056187,0.6547870144762852,3.750000000000247
+5.4,0.7284353154666372,2.378028250474054,0.6435364340593061,3.750000000000097
+5.6,0.7140113298101042,2.403547289031659,0.6324413811582331,3.749999999999356
+5.8,0.6998729582057553,2.428625628805231,0.621501412989011,3.749999999997749
+6.,0.6860145451167392,2.453269462741146,0.6107159921421122,3.749999999999894
+6.2,0.6724305469925111,2.477484960496357,0.6000844925111282,3.750000000002188
+6.4,0.6591155300530472,2.501278265004042,0.5896062049429067,3.749999999999851
+6.6,0.6460641681030431,2.524655489264462,0.5792803426324918,3.749999999999969
+6.8,0.6332712404498805,2.547622713325791,0.5691060462243254,3.749999999999997
+7.,0.6207316297385813,2.570185981506493,0.5590823887549236,3.749999999999998
+7.2,0.6084403199469891,1.013343380692658,0.5492083802824551,2.170992080922101
+7.4,0.5963923943977708,1.035116714215496,0.5394829723088358,2.170992080922102
+7.6,0.5845830337564325,1.056503985136828,0.5299050620288423,2.170992080922116
+7.8,0.5730075141251296,1.077511070460332,0.520473496336641,2.17099208092141
+8.,0.5616612051404025,1.098143800128771,0.511187075652929,2.170992080922344
+8.2,0.5505395681272147,1.118407955230936,0.502044557563952,2.170992080922005
+8.4,0.5396381542816557,1.138309266360042,0.4930446602804045,2.170992080922141
+8.6,0.5289526028937312,1.157853412105889,0.4841860659224827,2.170992080922031
+8.8,0.518478639597621,1.177046017674985,0.4754674236494971,2.170992080921417
+9.,0.5082120746718568,1.195892653626901,0.4668873526233456,2.170992080922433
+9.2,0.4981488013522313,1.21439883473826,0.4584444448316117,2.170992080922046
+9.4,0.4882847941945799,1.232570018966011,0.4501372677615115,2.170992080920873
+9.6,0.4786161074656272,1.250411606517819,0.4419643669386571,2.170992080922175
+9.8,0.4691388735610874,1.26792893902484,0.433924268336175,2.170992080922455
+10.,0.4598493014613153,1.285127298803621,0.4260154806571667,2.170992080922103
diff --git a/models/sbml-test-suite/cases/semantic/00665/00665-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00665/00665-sbml-l2v4.xml
new file mode 100644
index 0000000..c2ba245
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00665/00665-sbml-l2v4.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00665" id="case00665" name="case00665">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00665/00665-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00665/00665-sbml-l3v1.xml
new file mode 100644
index 0000000..6e4d287
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00665/00665-sbml-l3v1.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00665" id="case00665" name="case00665" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00665/00665-settings.txt b/models/sbml-test-suite/cases/semantic/00665/00665-settings.txt
new file mode 100644
index 0000000..979aa8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00665/00665-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-002
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00666/00666-results.csv b/models/sbml-test-suite/cases/semantic/00666/00666-results.csv
new file mode 100644
index 0000000..cb706b7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00666/00666-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.8,0.9231163451889691,0.003244933713928174,0.07363872109710263,0.02103963459917219
+1.6,0.8521437887162755,0.01228934238564433,0.1355668688980801,0.03873339111373719
+2.4,0.786627859535143,0.02619044073253581,0.1871816997323211,0.05348048563780594
+3.2,0.7261490354291663,0.04411877451320064,0.2297321900576329,0.06563776858789513
+4.,0.6703200445499893,0.06534610753976989,0.2643338479102406,0.075523956545783
+4.8,0.6187833914968956,0.08923458508610325,0.2919820234170009,0.08342343526200027
+5.6,0.5712090627291711,0.1152269433305583,0.3135639939402704,0.08958971255436298
+6.4,0.5272924244905951,0.1428377516878315,0.3298698238215733,0.09424852109187811
+7.2,0.4867522554029566,0.1716454656148573,0.3416022789821859,0.09760065113776747
+8.,0.4493289646829047,0.2012853796811326,0.3493856556359624,0.09982447303884638
+8.8,0.4147829117829972,0.2314432079939618,0.3537738802230408,0.1010782514922973
+9.6,0.3828928864342857,0.2618494024571859,0.3552577111085281,0.1015022031738652
+10.4,0.3534546826623529,0.2922740025613215,0.3542713147763255,0.1012203756503787
+11.2,0.32627979502984,0.3225220501166841,0.3511981548534758,0.100342329958136
+12.,0.3011942130097296,0.3524294783092463,0.3463763086810239,0.09896465962314969
+12.8,0.2780373009419539,0.38185941920361,0.340103279854436,0.097172365672696
+13.6,0.2566607781205618,0.4106989305066555,0.3326402913727826,0.09504008324936645
+14.4,0.2369277593606532,0.4388560378517291,0.3242162027876177,0.09263320079646214
+15.2,0.2187118879677983,0.4662571292663049,0.3150309827658966,0.09000885221882765
+16.,0.2018965180426676,0.4928446039100782,0.305258878047254,0.08721682229921558
+16.8,0.1863740010246954,0.5185747561070672,0.2950512428682372,0.08430035510521051
+17.6,0.1720448859550909,0.5434160880851765,0.2845390259597323,0.08129686455992664
+18.4,0.1588174460997178,0.5673474122485614,0.2738351416517205,0.07823861190048382
+19.2,0.1466069803129076,0.5903565591300242,0.2630364605570682,0.07515327444486655
+20.,0.1353352995112924,0.6124390414332388,0.2522256590554689,0.07206447401594148
+20.8,0.1249302240622828,0.6335969095613811,0.2414728663763361,0.06899224753475974
+21.6,0.1153251340834414,0.6538377445307426,0.2308371213858163,0.06595346326264517
+22.4,0.1064585098701611,0.6731737489062729,0.2203677412235663,0.06296221175633458
+23.2,0.0982735858704338,0.6916209902380577,0.2101054238915088,0.06003012087769469
+24.,0.09071795573051005,0.7091986922458217,0.2000833520236687,0.05716667223422816
+24.8,0.08374322871839171,0.7259286272636786,0.19032814401793,0.05437946950633036
+25.6,0.07730474321899912,0.7418346015518819,0.1808606552291192,0.05167447313776536
+26.4,0.07136128223961713,1.003335122265619,0.1716967502847102,0.04905621436706007
+27.2,0.06587476939576067,1.017670469723966,0.1628479156702193,0.04652797590577691
+28.,0.06081008894683427,1.03126113824627,0.1543219275968419,0.0440919793133834
+28.8,0.05613478770719932,1.04413501495413,0.1461233521286173,0.04174952917960502
+29.6,0.05181894053669356,1.056320265067829,0.1382539491854236,0.03950112833869321
+30.4,0.04783491925066788,1.06784509074326,0.1307131447960186,0.0373466127988674
+31.2,0.04415719459660614,1.078737557178366,0.1234984030149744,0.03528525800430866
+32.,0.04076223151414528,1.08902544620373,0.1166054770720714,0.03331585059203959
+32.8,0.03762827639195234,1.0987361037678,0.110028774630194,0.03143679275208653
+33.6,0.03473528306527408,1.107896364247978,0.1037615074766942,0.02964614499672267
+34.4,0.03206470139778971,1.116532413403845,0.09779603998831186,0.02794172572591969
+35.2,0.02959945485353959,1.124669781208787,0.09212391872761994,0.02632111964761303
+36.,0.02732374071663558,1.132333212858418,0.08673620121489249,0.02478177347035009
+36.8,0.02522299576838065,1.139546701909824,0.08162345711174151,0.02332099121825822
+37.6,0.02328376278989199,1.146333391902134,0.07677600009792028,0.02193600088164666
+38.4,0.02149362093037786,1.152715600138951,0.07218393372061753,0.02062397943106085
+39.2,0.01984111313946633,1.158714791231308,0.06783725041917232,0.01938207278298502
+40.,0.01831565598573765,1.164351566797149,0.06372593200705976,0.01820740914487422
diff --git a/models/sbml-test-suite/cases/semantic/00666/00666-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00666/00666-sbml-l2v4.xml
new file mode 100644
index 0000000..23903a1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00666/00666-sbml-l2v4.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00666" id="case00666" name="case00666">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00666/00666-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00666/00666-sbml-l3v1.xml
new file mode 100644
index 0000000..8029485
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00666/00666-sbml-l3v1.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00666" id="case00666" name="case00666" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00666/00666-settings.txt b/models/sbml-test-suite/cases/semantic/00666/00666-settings.txt
new file mode 100644
index 0000000..254736a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00666/00666-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 40.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00667/00667-results.csv b/models/sbml-test-suite/cases/semantic/00667/00667-results.csv
new file mode 100644
index 0000000..4026866
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00667/00667-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,0.5,0.7500000000000001
+0.03,0.8607079775941626,0.6392920224058375,0.9589380336087566
+0.06,0.7408181799208042,0.7591818200791958,1.138772730118794
+0.09,0.6376280169709141,0.862371983029086,1.293557974543629
+0.12,0.5488115632797579,0.9511884367202421,1.426782655080363
+0.15,0.4723665890958328,1.027633410904167,1.541450116356251
+0.18,0.4065696367282524,1.093430363271748,1.640145544907621
+0.21,0.3499376950336794,1.150062304966321,1.725093457449481
+0.24,0.3011942227996074,1.198805777200393,1.798208665800589
+0.27,0.2592402967012643,1.240759703298736,1.861139554948104
+0.3,0.223130152287206,1.276869847712794,1.915304771569191
+0.33,0.1920499010566078,1.307950098943392,1.961925148415089
+0.36,0.1652989210781222,1.334701078921878,2.002051618382817
+0.39,0.1422740954305775,1.357725904569423,2.036588856854134
+0.42,0.1224564293094987,1.377543570690502,2.066315356035752
+0.45,0.1053992361178646,1.394600763882135,2.091901145823203
+0.48,0.09071798210133848,1.409282017898661,2.113923026847993
+0.51,0.07808168028168522,1.421918319718315,2.132877479577473
+0.54,0.06720551853871404,1.432794481461286,2.149191722191929
+0.57,0.05784433696633985,1.442155663033661,2.163233494550491
+0.6,0.04978708723757438,1.450212912762426,2.175319369143639
+0.63,0.04285213563079017,1.45714786436921,2.185721796553815
+0.66,0.03688317485345067,1.463116825146549,2.194675237719824
+0.69,0.03174565035989035,1.46825434964011,2.202381524460165
+0.72,0.02732373357183711,1.472676266428163,2.209014399642245
+0.75,0.02351775170838517,1.476482248291615,2.214723372437423
+0.78,0.02024191856164988,1.47975808143835,2.219637122157526
+0.81,0.01742238436503065,1.48257761563497,2.223866423452455
+0.84,0.01499558315446384,1.485004416845537,2.227506625268305
+0.87,0.01290681680254313,1.487093183197457,2.230639774796186
+0.9,0.01110900231740812,1.488890997682592,2.233336496523888
+0.93,0.009561607848474527,1.490438392151526,2.235657588227288
+0.96,0.008229750705173105,1.491770249294827,2.237655373942241
+0.99,0.007083412070500512,1.4929165879295,2.239374881894249
+1.02,0.006096750724007163,1.493903249275993,2.240854873913989
+1.05,0.005247521792654626,1.494752478207346,2.242128717311018
+1.08,0.004516583151583546,1.495483416848417,2.243225125272625
+1.11,0.003887459550470385,1.49611254044953,2.244168810674295
+1.14,0.003345968130326694,1.496654031869674,2.24498104780451
+1.17,0.002879901064265376,1.497120098935735,2.245680148403602
+1.2,0.00247875358450182,1.497521246415499,2.246281869623247
+1.23,0.002133483396305529,1.497866516603695,2.246799774905542
+1.26,0.001836306354114289,1.498163693645886,2.247245540468828
+1.29,0.001580523249839069,1.498419476750162,2.247629215125242
+1.32,0.001360368969329125,1.498639631030672,2.247959446546007
+1.35,0.001170880702359283,1.498829119297641,2.248243678946461
+1.38,0.001007786322169219,1.498992213677831,2.248488320516747
+1.41,0.0008674095899262422,1.499132590410075,2.248698885615111
+1.44,0.0007465864320418344,1.499253413567959,2.248880120351937
+1.47,0.0006425930282813366,1.49935740697172,2.249036110457578
+1.5,0.0005530849473807384,1.49944691505262,2.249170372578929
diff --git a/models/sbml-test-suite/cases/semantic/00667/00667-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00667/00667-sbml-l2v4.xml
new file mode 100644
index 0000000..fd02913
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00667/00667-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00667" id="case00667" name="case00667">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00667/00667-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00667/00667-sbml-l3v1.xml
new file mode 100644
index 0000000..53290f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00667/00667-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00667" id="case00667" name="case00667" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00667/00667-settings.txt b/models/sbml-test-suite/cases/semantic/00667/00667-settings.txt
new file mode 100644
index 0000000..08bc47c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00667/00667-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00668/00668-results.csv b/models/sbml-test-suite/cases/semantic/00668/00668-results.csv
new file mode 100644
index 0000000..7f691ee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00668/00668-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.02,0.015,0.015
+0.16,0.007749701539177499,0.0177497015391775,0.0172502984608225,0.01331227615438312
+0.32,0.006184358461254786,0.01618435846125478,0.01881564153874521,0.01213826884594109
+0.48,0.005045508196441447,0.01504550819644145,0.01995449180355855,0.01128413114733109
+0.64,0.004189633017021248,0.01418963301702125,0.02081036698297875,0.01064222476276594
+0.8,0.003530609525612711,0.01353060952561271,0.02146939047438729,0.01014795714420954
+0.96,0.003013611765041785,0.01301361176504178,0.02198638823495822,0.009760208823781339
+1.12,0.002602068452040512,0.01260206845204051,0.02239793154795949,0.009451551339030388
+1.28,0.002270646593005337,0.01227064659300534,0.02272935340699466,0.009202984944754005
+1.44,0.002001245102682608,0.01200124510268261,0.02299875489731739,0.009000933827011958
+1.6,0.001780591645153334,0.01178059164515333,0.02321940835484666,0.008835443733865004
+1.76,0.001598740636115656,0.01159874063611565,0.02340125936388434,0.008699055477086744
+1.92,0.001448100886437649,0.01144810088643765,0.02355189911356235,0.008586075664828238
+2.08,0.001322786589105516,0.01132278658910551,0.02367721341089448,0.008492089941829139
+2.24,0.0012181723924824,0.0112181723924824,0.0237818276075176,0.008413629294361803
+2.4,0.001130581874905148,0.01113058187490515,0.02386941812509485,0.008347936406178865
+2.56,0.001057064526867148,0.01105706452686715,0.02394293547313285,0.008292798395150364
+2.72,0.000995232063004355,0.01099523206300435,0.02400476793699564,0.008246424047253268
+2.88,0.0009431366707323574,0.01094313667073236,0.02405686332926764,0.008207352503049272
+3.04,0.00089918071647564,0.01089918071647564,0.02410081928352436,0.008174385537356733
+3.2,0.0008620471456273642,0.01086204714562736,0.02413795285437264,0.008146535359220525
+3.36,0.0008306440980254471,0.01083064409802545,0.02416935590197455,0.008122983073519089
+3.52,0.0008040637351924593,0.01080406373519246,0.02419593626480754,0.008103047801394347
+3.68,0.000781549051568025,0.01078154905156802,0.02421845094843197,0.008086161788676022
+3.84,0.0007624656295594908,0.01076246562955949,0.02423753437044051,0.008071849222169622
+4,0.0007462822550707362,0.01074628225507073,0.02425371774492927,0.008059711691303054
+4.16,0.0007325518410983295,0.01073255184109833,0.02426744815890167,0.008049413880823749
+4.32,0.0007208980487719369,0.01072089804877194,0.02427910195122806,0.008040673536578957
+4.48,0.0007110037698154227,0.01071100376981542,0.02428899623018458,0.008033252827361569
+4.64,0.0007026007312679163,0.01070260073126791,0.02429739926873208,0.008026950548450941
+4.8,0.0006954628258683067,0.0106954628258683,0.02430453717413169,0.008021597119401234
+4.96,0.0006893980286127071,0.01068939802861271,0.0243106019713873,0.008017048521459534
+5.12,0.0006842444465719272,0.01068424444657192,0.02431575555342808,0.008013183334928949
+5.28,0.0006798642831420704,0.01067986428314207,0.02432013571685793,0.008009898212356556
+5.44,0.0006761411768107903,0.01067614117681079,0.02432385882318921,0.008007105882608095
+5.6,0.0006729762012353807,0.01067297620123538,0.02432702379876462,0.008004732150926539
+5.76,0.0006702853213851185,0.01067028532138512,0.02432971467861489,0.008002713991038843
+5.92,0.0006679976302476025,0.0106679976302476,0.0243320023697524,0.008000998222685705
+6.08,0.0006660522028067906,0.01066605220280679,0.02433394779719321,0.007999539152105096
+6.24,0.0006643981102595589,0.01066439811025956,0.02433560188974044,0.007998298582694673
+6.4,0.0006629914653620583,0.01066299146536206,0.02433700853463795,0.007997243599021547
+6.56,0.0006617951438953506,0.01066179514389535,0.02433820485610466,0.007996346357921517
+6.72,0.0006607779291701877,0.01066077792917019,0.02433922207082982,0.007995583446877645
+6.88,0.0006599126838778993,0.0106599126838779,0.0243400873161221,0.007994934512908428
+7.04,0.0006591768010422774,0.01065917680104227,0.02434082319895773,0.007994382600781714
+7.2,0.0006585510803908563,0.01065855108039085,0.02434144891960915,0.007993913310293147
+7.36,0.0006580187582132937,0.01065801875821329,0.02434198124178671,0.007993514068659975
+7.52,0.0006575659838609387,0.01065756598386093,0.02434243401613907,0.007993174487895709
+7.68,0.0006571810218171286,0.01065718102181712,0.02434281897818287,0.00799288576636285
+7.84,0.0006568535479588539,0.01065685354795885,0.02434314645204115,0.007992640160969147
+8,0.0006565749794795929,0.01065657497947959,0.02434342502052041,0.007992431234609699
diff --git a/models/sbml-test-suite/cases/semantic/00668/00668-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00668/00668-sbml-l2v4.xml
new file mode 100644
index 0000000..38c01d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00668/00668-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00668" id="case00668" name="case00668">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.86" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+      <parameter id="p1" name="p1" value="0.75"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00668/00668-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00668/00668-sbml-l3v1.xml
new file mode 100644
index 0000000..a629003
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00668/00668-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00668" id="case00668" name="case00668" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.86" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+      <parameter id="p1" name="p1" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00668/00668-settings.txt b/models/sbml-test-suite/cases/semantic/00668/00668-settings.txt
new file mode 100644
index 0000000..2c756c5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00668/00668-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00669/00669-results.csv b/models/sbml-test-suite/cases/semantic/00669/00669-results.csv
new file mode 100644
index 0000000..1ce72c6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00669/00669-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,1,0,0,0,0
+0.2,0.9801986732961263,0.0002113493487808367,0.01958997735509298,0.005597136387169421,0.01399284096792356
+0.4,0.9607894391519867,0.0008338332833708456,0.03837672756464269,0.01096477930418362,0.02741194826045906
+0.6,0.9417645335530636,0.001850505471936226,0.05638496097500028,0.01610998885000008,0.04027497212500019
+0.8,0.923116346369512,0.003244942517627168,0.07363871111286091,0.02103963174653169,0.05259907936632922
+1,0.9048374179074891,0.005001227728138098,0.09016135436437306,0.02576038696124944,0.06440096740312361
+1.2,0.8869204367139317,0.00710394093465456,0.1059756223514138,0.0302787492432611,0.07569687310815271
+1.4,0.8693582351442432,0.009538137789387526,0.1211036270663695,0.03460103630467699,0.08650259076169248
+1.6,0.8521437887034572,0.01228934692034316,0.1355668643761998,0.03873338982177137,0.09683347455442844
+1.8,0.8352702114199742,0.01534354857499214,0.1493862400050338,0.04268178285858106,0.1067044571464527
+2,0.8187307525919632,0.01868715969856988,0.1625820877094671,0.04645202505984775,0.1161300626496193
+2.2,0.8025187973131038,0.02230703669681072,0.1751741659900856,0.05004976171145302,0.1251244042786326
+2.4,0.7866278609536826,0.02619045028456522,0.1871816887617523,0.0534804825033578,0.1337012062583945
+2.6,0.7710515855631434,0.03032506918675096,0.1986233452501059,0.05674952721431598,0.1418738180357899
+2.8,0.7557837402393959,0.03469896228260615,0.2095172974779982,0.05986208499371376,0.1496552124842844
+3,0.7408182197162349,0.03930059237662284,0.2198811879071426,0.06282319654489788,0.1570579913622447
+3.2,0.7261490369977359,0.04411878329925071,0.2297321797030137,0.06563776562943249,0.1640944140735812
+3.4,0.7117703223481465,0.0491427155354108,0.2390869621164429,0.06831056060469797,0.1707764015117449
+3.6,0.6976763241550932,0.05436193072295818,0.2479617451219489,0.07084621289198539,0.1771155322299635
+3.8,0.6838614073931097,0.05976632482325359,0.256372267783637,0.07324921936675341,0.1831230484168835
+4,0.6703200455436392,0.06534611289370472,0.2643338415626562,0.07552395473218748,0.1888098868304687
+4.2,0.6570468199496737,0.07109182631933177,0.2718613537309947,0.07767467249456991,0.1941866812364248
+4.4,0.6440364191923227,0.07699431085234638,0.2789692699553311,0.07970550570152318,0.199263764253808
+4.6,0.6312836422985146,0.08304474056160817,0.2856716171398774,0.08162046203996498,0.2040511550999125
+4.8,0.6187833895681481,0.08923457854722278,0.2919820318846294,0.08342343768132268,0.2085585942033067
+5,0.6065306593845643,0.09555556355469308,0.2979137770607429,0.08511822201735508,0.2127955550433877
+5.2,0.5945205481279807,0.1019997096522181,0.3034797422198015,0.08670849777708613,0.2167712444427153
+5.4,0.5827482503426436,0.1085593080224597,0.308692441634897,0.08819784046711342,0.2204946011677836
+5.6,0.5712090606677155,0.1152269347614514,0.3135640045708333,0.08958971559166666,0.2239742889791667
+5.8,0.5598983644713549,0.1219954120435958,0.3181062234850496,0.09088749242429986,0.2272187310607496
+6,0.5488116359214622,0.128857800378601,0.3223305636999371,0.09209444677141057,0.2302361169285264
+6.2,0.5379444379142404,0.1358073983612163,0.3262481637245436,0.09321376106415533,0.2330344026603883
+6.4,0.5272924223783047,0.1428377449814716,0.3298698326402241,0.09424852361149259,0.2356213090287315
+6.6,0.5168513317831841,0.1499426254178842,0.333206042798932,0.09520172651398055,0.2380043162849514
+6.8,0.5066169906373165,0.1571160369112793,0.3362669724514045,0.09607627784325841,0.2401906946081461
+7,0.4965853037984691,0.1643521822440981,0.339062513957433,0.09687500398783801,0.242187509969595
+7.2,0.4867522564090973,0.1716454695224627,0.3416022740684402,0.09760064973384006,0.2440016243346002
+7.4,0.4771139141715147,0.1789905142223118,0.3438955716061738,0.09825587760176394,0.2456396940044099
+7.6,0.4676664247128414,0.1863821442482781,0.3459514310388807,0.09884326601110877,0.2471081650277719
+7.8,0.4584060098920719,0.1938153700961267,0.3477786200118015,0.09936532000337187,0.2484133000084297
+8,0.4493289642712808,0.2012853791577983,0.3493856565709211,0.09982447330597746,0.2495611832649437
+8.2,0.4404316550571323,0.2087875355318615,0.3507808094110064,0.1002230884031447,0.2505577210078618
+8.4,0.4317105223498649,0.2163173818351737,0.3519720958149616,0.1005634559471319,0.2514086398678297
+8.6,0.4231620803783476,0.2238706436159076,0.352967276005745,0.1008477931444986,0.2521194828612465
+8.8,0.4147829105392268,0.231443203290713,0.3537738861700604,0.1010782531914459,0.2526956329786146
+9,0.4065696600136164,0.2390310951760676,0.3543992448103163,0.1012569270886618,0.2531423177216545
+9.2,0.398519041760855,0.2466305054924887,0.3548504527466565,0.1013858436419019,0.2534646091047547
+9.4,0.3906278352683714,0.2542377758724932,0.3551343888591356,0.1014669682454673,0.2536674206136683
+9.6,0.3828928857267553,0.2618494001738786,0.3552577140993662,0.1015022040283904,0.2537555100709759
+9.8,0.3753110991829619,0.2694620069520632,0.3552268938649752,0.1014933982471358,0.2537334956178394
+10,0.367879441902946,0.2770723573474405,0.3550482007496137,0.1014423430713182,0.2536058576782955
diff --git a/models/sbml-test-suite/cases/semantic/00669/00669-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00669/00669-sbml-l2v4.xml
new file mode 100644
index 0000000..3a5b4d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00669/00669-sbml-l2v4.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00669" id="case00669" name="case00669">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="func1" name="func1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <apply>
+                  <plus/>
+                  <ci> y </ci>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.15"/>
+      <parameter id="p1" name="p1" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> func1 </ci>
+            <ci> S3 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="rule2" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> S4 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00669/00669-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00669/00669-sbml-l3v1.xml
new file mode 100644
index 0000000..884f2b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00669/00669-sbml-l3v1.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00669" id="case00669" name="case00669" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="func1" name="func1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <apply>
+                  <plus/>
+                  <ci> y </ci>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.15" constant="true"/>
+      <parameter id="p1" name="p1" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> func1 </ci>
+            <ci> S3 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="rule2" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> S4 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00669/00669-settings.txt b/models/sbml-test-suite/cases/semantic/00669/00669-settings.txt
new file mode 100644
index 0000000..6fd4d9a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00669/00669-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4, S5
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00670/00670-results.csv b/models/sbml-test-suite/cases/semantic/00670/00670-results.csv
new file mode 100644
index 0000000..dfbd71e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00670/00670-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1e-005,1.5e-005,1e-005,1.5e-005
+0.1,1.047272290807239e-005,1.547272290807239e-005,9.527277091927617e-006,1.570908436210858e-005
+0.2,1.092171686099901e-005,1.592171686099901e-005,9.078283139000994e-006,1.638257529149851e-005
+0.3,1.134817294963563e-005,1.634817294963562e-005,8.65182705036438e-006,1.702225942445344e-005
+0.4,1.175322248439684e-005,1.675322248439684e-005,8.246777515603167e-006,1.762983372659525e-005
+0.5,1.213794003318384e-005,1.713794003318384e-005,7.862059966816162e-006,1.820691004977576e-005
+0.6,1.250334615524839e-005,1.750334615524839e-005,7.496653844751613e-006,1.875501923287258e-005
+0.7,1.28504102138709e-005,1.78504102138709e-005,7.149589786129104e-006,1.927561532080635e-005
+0.8,1.31800529450872e-005,1.81800529450872e-005,6.819947054912802e-006,1.97700794176308e-005
+0.9,1.349314879531206e-005,1.849314879531206e-005,6.506851204687948e-006,2.023972319296808e-005
+1,1.37905283825987e-005,1.87905283825987e-005,6.209471617401308e-006,2.068579257389805e-005
+1.1,1.407298061033766e-005,1.907298061033766e-005,5.927019389662341e-006,2.11094709155065e-005
+1.2,1.434125474451172e-005,1.934125474451172e-005,5.658745255488281e-006,2.151188211676759e-005
+1.3,1.459606252093427e-005,1.959606252093427e-005,5.403937479065735e-006,2.18940937814014e-005
+1.4,1.483807986193586e-005,1.983807986193586e-005,5.161920138064143e-006,2.225711979290379e-005
+1.5,1.506794881713041e-005,2.006794881713041e-005,4.932051182869596e-006,2.260192322569561e-005
+1.6,1.528627920117503e-005,2.028627920117503e-005,4.713720798824979e-006,2.292941880176254e-005
+1.7,1.549365017529212e-005,2.049365017529212e-005,4.506349824707886e-006,2.324047526293818e-005
+1.8,1.569061190914948e-005,2.069061190914948e-005,4.309388090850521e-006,2.353591786372423e-005
+1.9,1.587768685855639e-005,2.087768685855639e-005,4.122313141443618e-006,2.381653028783458e-005
+2,1.605537134774513e-005,2.105537134774513e-005,3.944628652254869e-006,2.40830570216177e-005
+2.1,1.622413671315546e-005,2.122413671315546e-005,3.77586328684454e-006,2.433620506973319e-005
+2.2,1.638443067521752e-005,2.138443067521752e-005,3.615569324782484e-006,2.457664601282628e-005
+2.3,1.653667847123099e-005,2.153667847123098e-005,3.463321528769021e-006,2.480501770684647e-005
+2.4,1.668128397097771e-005,2.168128397097771e-005,3.3187160290223e-006,2.502192595646656e-005
+2.5,1.68186308199849e-005,2.18186308199849e-005,3.181369180015105e-006,2.522794622997735e-005
+2.6,1.694908333721598e-005,2.194908333721598e-005,3.050916662784027e-006,2.542362500582397e-005
+2.7,1.707298763792998e-005,2.207298763792998e-005,2.927012362070018e-006,2.560948145689497e-005
+2.8,1.719067236975964e-005,2.219067236975964e-005,2.809327630240365e-006,2.578600855463945e-005
+2.9,1.730244978376569e-005,2.230244978376569e-005,2.697550216234309e-006,2.595367467564854e-005
+3,1.740861635297274e-005,2.240861635297273e-005,2.59138364702727e-006,2.61129245294591e-005
+3.1,1.750945377477292e-005,2.250945377477292e-005,2.490546225227085e-006,2.626418066215938e-005
+3.2,1.760522949920167e-005,2.260522949920166e-005,2.394770500798337e-006,2.64078442488025e-005
+3.3,1.769619765864469e-005,2.269619765864469e-005,2.303802341355315e-006,2.654429648796703e-005
+3.4,1.778259952206203e-005,2.278259952206204e-005,2.217400477937968e-006,2.667389928309305e-005
+3.5,1.78646643532183e-005,2.28646643532183e-005,2.135335646781704e-006,2.679699652982745e-005
+3.6,1.794260980455784e-005,2.294260980455784e-005,2.057390195442162e-006,2.691391470683676e-005
+3.7,1.801664270187895e-005,2.301664270187895e-005,1.983357298121051e-006,2.702496405281842e-005
+3.8,1.808695939743191e-005,2.308695939743191e-005,1.913040602568097e-006,2.713043909614786e-005
+3.9,1.815374646827334e-005,2.315374646827334e-005,1.846253531726658e-006,2.723061970241002e-005
+4,1.821718106007203e-005,2.321718106007203e-005,1.782818939927971e-006,2.732577159010804e-005
+4.1,1.827743147221081e-005,2.327743147221081e-005,1.722568527789196e-006,2.741614720831621e-005
+4.2,1.833465753554716e-005,2.333465753554716e-005,1.665342464452847e-006,2.750198630332073e-005
+4.3,1.838901104904668e-005,2.338901104904668e-005,1.610988950953327e-006,2.758351657357001e-005
+4.4,1.844063623272686e-005,2.344063623272686e-005,1.559363767273143e-006,2.766095434909028e-005
+4.5,1.848966999713272e-005,2.348966999713273e-005,1.51033000286728e-006,2.773450499569908e-005
+4.6,1.853624247175287e-005,2.353624247175287e-005,1.463757528247131e-006,2.78043637076293e-005
+4.7,1.858047715424348e-005,2.358047715424348e-005,1.419522845756521e-006,2.787071573136522e-005
+4.8,1.862249143836884e-005,2.362249143836884e-005,1.377508561631163e-006,2.793373715755325e-005
+4.9,1.866239675192748e-005,2.366239675192748e-005,1.337603248072523e-006,2.799359512789121e-005
+5,1.870029894301149e-005,2.370029894301149e-005,1.299701056988519e-006,2.805044841451722e-005
diff --git a/models/sbml-test-suite/cases/semantic/00670/00670-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00670/00670-sbml-l1v2.xml
new file mode 100644
index 0000000..ef7d513
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00670/00670-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00670">
+    <listOfCompartments>
+      <compartment name="C" volume="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="2.25" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.015"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S1" species="S4"/>
+      <speciesConcentrationRule formula="k2 * S3 + -1 * k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00670/00670-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00670/00670-sbml-l2v4.xml
new file mode 100644
index 0000000..cf8da5e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00670/00670-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00670" id="case00670" name="case00670">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00670/00670-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00670/00670-sbml-l3v1.xml
new file mode 100644
index 0000000..02e158e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00670/00670-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00670" id="case00670" name="case00670" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00670/00670-settings.txt b/models/sbml-test-suite/cases/semantic/00670/00670-settings.txt
new file mode 100644
index 0000000..161e1a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00670/00670-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00671/00671-results.csv b/models/sbml-test-suite/cases/semantic/00671/00671-results.csv
new file mode 100644
index 0000000..7bd8b8c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00671/00671-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1e-005,1.5e-005,1e-005,1.5e-005
+0.3,1.134817293824854e-005,1.634817293824854e-005,8.651827061751463e-006,1.70222594073728e-005
+0.6,1.250334614455987e-005,1.750334614455987e-005,7.496653855440129e-006,1.875501921683981e-005
+0.9,1.349314879048961e-005,1.849314879048961e-005,6.506851209510393e-006,2.023972318573441e-005
+1.2,1.434125475071857e-005,1.934125475071857e-005,5.658745249281431e-006,2.151188212607785e-005
+1.5,1.506794882594152e-005,2.006794882594152e-005,4.932051174058489e-006,2.260192323891227e-005
+1.8,1.569061190527839e-005,2.069061190527839e-005,4.309388094721609e-006,2.353591785791759e-005
+2.1,1.622413670645853e-005,2.122413670645853e-005,3.77586329354147e-006,2.43362050596878e-005
+2.4,1.668128398036124e-005,2.168128398036123e-005,3.318716019638767e-006,2.502192597054185e-005
+2.7,1.707298762855752e-005,2.207298762855752e-005,2.927012371442481e-006,2.560948144283628e-005
+3,1.740861636134248e-005,2.240861636134248e-005,2.591383638657524e-006,2.611292454201372e-005
+3.3,1.769619765037861e-005,2.269619765037861e-005,2.303802349621394e-006,2.654429647556791e-005
+3.6,1.794260981399005e-005,2.294260981399005e-005,2.057390186009949e-006,2.691391472098508e-005
+3.9,1.815374645755413e-005,2.315374645755412e-005,1.846253542445879e-006,2.723061968633119e-005
+4.2,1.833465753915935e-005,2.333465753915935e-005,1.665342460840661e-006,2.750198630873901e-005
+4.5,1.848967000469001e-005,2.348967000469e-005,1.510329995310001e-006,2.773450500703501e-005
+4.8,1.862249142443949e-005,2.362249142443949e-005,1.377508575560517e-006,2.793373713665923e-005
+5.1,1.87362986091734e-005,2.37362986091734e-005,1.263701390826602e-006,2.810444791376011e-005
+5.4,1.883381355195244e-005,2.383381355195243e-005,1.166186448047566e-006,2.825072032792866e-005
+5.7,1.891736858846767e-005,2.391736858846766e-005,1.082631411532334e-006,2.837605288270151e-005
+6,1.898896217521931e-005,2.39889621752193e-005,1.011037824780698e-006,2.848344326282896e-005
+6.3,1.90503066750879e-005,2.405030667508789e-005,9.496933249121042e-007,2.857546001263186e-005
+6.6,1.910286931228515e-005,2.410286931228513e-005,8.971306877148629e-007,2.865430396842772e-005
+6.9,1.914790726693936e-005,2.414790726693934e-005,8.520927330606506e-007,2.872186090040904e-005
+7.2,1.918649774555303e-005,2.418649774555301e-005,8.135022544469773e-007,2.877974661832955e-005
+7.5,1.921956374579775e-005,2.421956374579773e-005,7.804362542022584e-007,2.882934561869663e-005
+7.8,1.924789613314577e-005,2.424789613314575e-005,7.521038668542391e-007,2.887184419971866e-005
+8.1,1.927217255594898e-005,2.427217255594897e-005,7.278274440510264e-007,2.890825883392348e-005
+8.4,1.929297365289779e-005,2.429297365289777e-005,7.070263471022212e-007,2.893946047934669e-005
+8.7,1.931079693955251e-005,2.431079693955249e-005,6.892030604475032e-007,2.896619540932877e-005
+9,1.932606870676788e-005,2.432606870676787e-005,6.739312932321262e-007,2.898910306015183e-005
+9.3,1.933915421688584e-005,2.433915421688583e-005,6.608457831141714e-007,2.900873132532876e-005
+9.6,1.935036644398106e-005,2.435036644398104e-005,6.496335560189511e-007,2.90255496659716e-005
+9.9,1.935997356998602e-005,2.435997356998601e-005,6.400264300139879e-007,2.903996035497904e-005
+10.2,1.936820538497478e-005,2.436820538497476e-005,6.317946150252312e-007,2.905230807746218e-005
+10.5,1.937525876082761e-005,2.437525876082758e-005,6.247412391724082e-007,2.906288814124141e-005
+10.8,1.938130238628458e-005,2.438130238628456e-005,6.186976137154325e-007,2.907195357942687e-005
+11.1,1.938648083321584e-005,2.438648083321582e-005,6.135191667841719e-007,2.907972124982376e-005
+11.4,1.939091796404372e-005,2.439091796404369e-005,6.090820359562969e-007,2.908637694606557e-005
+11.7,1.939471987448224e-005,2.439471987448222e-005,6.052801255177671e-007,2.909207981172337e-005
+12,1.939797752035025e-005,2.439797752035022e-005,6.020224796497665e-007,2.909696628052537e-005
+12.3,1.940076882525684e-005,2.440076882525681e-005,5.992311747431735e-007,2.910115323788526e-005
+12.6,1.940316051520133e-005,2.44031605152013e-005,5.96839484798688e-007,2.910474077280199e-005
+12.9,1.940520983990102e-005,2.440520983990099e-005,5.947901600989908e-007,2.910781475985154e-005
+13.2,1.940696577857821e-005,2.440696577857818e-005,5.930342214218054e-007,2.911044866786731e-005
+13.5,1.940847034509272e-005,2.440847034509268e-005,5.915296549072989e-007,2.911270551763907e-005
+13.8,1.940975952895318e-005,2.440975952895315e-005,5.90240471046838e-007,2.911463929342976e-005
+14.1,1.94108641463428e-005,2.441086414634277e-005,5.891358536572167e-007,2.911629621951419e-005
+14.4,1.941181064502515e-005,2.441181064502512e-005,5.881893549748615e-007,2.911771596753773e-005
+14.7,1.941262163073412e-005,2.441262163073409e-005,5.87378369265888e-007,2.911893244610119e-005
+15,1.941331652335024e-005,2.44133165233502e-005,5.866834766497783e-007,2.911997478502535e-005
diff --git a/models/sbml-test-suite/cases/semantic/00671/00671-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00671/00671-sbml-l1v2.xml
new file mode 100644
index 0000000..a155d47
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00671/00671-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00671">
+    <listOfCompartments>
+      <compartment name="C" volume="0.76" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.015"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S1" species="S4"/>
+      <speciesConcentrationRule formula="k2 * S3 + -1 * k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00671/00671-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00671/00671-sbml-l2v4.xml
new file mode 100644
index 0000000..85d3e39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00671/00671-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00671" id="case00671" name="case00671">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.76" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00671/00671-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00671/00671-sbml-l3v1.xml
new file mode 100644
index 0000000..a42254e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00671/00671-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00671" id="case00671" name="case00671" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.76" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00671/00671-settings.txt b/models/sbml-test-suite/cases/semantic/00671/00671-settings.txt
new file mode 100644
index 0000000..e9f4c16
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00671/00671-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00672/00672-results.csv b/models/sbml-test-suite/cases/semantic/00672/00672-results.csv
new file mode 100644
index 0000000..ee6e817
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00672/00672-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1e-005,1.5e-005,1e-005,1.5e-005
+0.2,1.092171686336574e-005,1.592171686336574e-005,9.078283136634261e-006,1.638257529504861e-005
+0.4,1.17532224938544e-005,1.67532224938544e-005,8.246777506145604e-006,1.762983374078159e-005
+0.6,1.25033461446473e-005,1.75033461446473e-005,7.496653855352701e-006,1.875501921697095e-005
+0.8,1.318005293978571e-005,1.818005293978571e-005,6.819947060214295e-006,1.977007940967856e-005
+1,1.379052839194027e-005,1.879052839194028e-005,6.209471608059729e-006,2.068579258791041e-005
+1.2,1.434125475317199e-005,1.9341254753172e-005,5.658745246828011e-006,2.151188212975799e-005
+1.4,1.48380798563247e-005,1.98380798563247e-005,5.1619201436753e-006,2.225711978448706e-005
+1.6,1.528627918819784e-005,2.028627918819784e-005,4.713720811802163e-006,2.292941878229676e-005
+1.8,1.569061190223708e-005,2.069061190223708e-005,4.309388097762926e-006,2.353591785335561e-005
+2,1.605537134947851e-005,2.105537134947852e-005,3.944628650521493e-006,2.408305702421776e-005
+2.2,1.638443068295208e-005,2.138443068295208e-005,3.615569317047931e-006,2.457664602442811e-005
+2.4,1.668128398152094e-005,2.168128398152093e-005,3.318716018479073e-006,2.502192597228139e-005
+2.6,1.694908334842872e-005,2.194908334842872e-005,3.050916651571288e-006,2.542362502264307e-005
+2.8,1.719067238072237e-005,2.219067238072236e-005,2.809327619277638e-006,2.578600857108355e-005
+3,1.740861636362841e-005,2.240861636362842e-005,2.591383636371594e-006,2.611292454544261e-005
+3.2,1.760522950989352e-005,2.260522950989352e-005,2.394770490106489e-006,2.640784426484027e-005
+3.4,1.778259953309373e-005,2.278259953309373e-005,2.217400466906279e-006,2.667389929964059e-005
+3.6,1.794260981578046e-005,2.294260981578046e-005,2.057390184219547e-006,2.691391472367068e-005
+3.8,1.80869594078728e-005,2.30869594078728e-005,1.913040592127208e-006,2.713043911180919e-005
+4,1.82171810677318e-005,2.321718106773181e-005,1.782818932268203e-006,2.73257716015977e-005
+4.2,1.833465753767019e-005,2.33346575376702e-005,1.66534246232981e-006,2.750198630650529e-005
+4.4,1.844063622706634e-005,2.344063622706634e-005,1.559363772933665e-006,2.766095434059951e-005
+4.6,1.853624245957308e-005,2.353624245957308e-005,1.463757540426926e-006,2.780436368935961e-005
+4.8,1.8622491424945e-005,2.362249142494501e-005,1.377508575055002e-006,2.79337371374175e-005
+5,1.87002989489719e-005,2.37002989489719e-005,1.299701051028106e-006,2.805044842345785e-005
+5.2,1.877049121729291e-005,2.377049121729291e-005,1.229508782707097e-006,2.815573682593936e-005
+5.4,1.883381355148961e-005,2.383381355148961e-005,1.166186448510394e-006,2.825072032723442e-005
+5.6,1.889093832823165e-005,2.389093832823165e-005,1.109061671768354e-006,2.833640749234748e-005
+5.8,1.894247213127989e-005,2.394247213127989e-005,1.05752786872012e-006,2.841370819691983e-005
+6,1.898896217774516e-005,2.398896217774516e-005,1.011037822254844e-006,2.848344326661774e-005
+6.2,1.903090210205869e-005,2.403090210205869e-005,9.690978979413169e-007,2.854635315308803e-005
+6.4,1.906873722550229e-005,2.406873722550228e-005,9.312627744977194e-007,2.860310583825343e-005
+6.6,1.910286931339273e-005,2.410286931339273e-005,8.97130686607275e-007,2.86543039700891e-005
+6.8,1.913366080528043e-005,2.413366080528043e-005,8.663391947195722e-007,2.870049120792066e-005
+7,1.916143862985164e-005,2.416143862985164e-005,8.385613701483642e-007,2.874215794477746e-005
+7.2,1.91864977456425e-005,2.41864977456425e-005,8.135022543575015e-007,2.877974661846376e-005
+7.4,1.920910427010741e-005,2.42091042701074e-005,7.908957298925953e-007,2.881365640516112e-005
+7.6,1.922949821424877e-005,2.422949821424877e-005,7.705017857512309e-007,2.884424732137316e-005
+7.8,1.924789613420337e-005,2.424789613420336e-005,7.521038657966335e-007,2.887184420130506e-005
+8,1.926449341387496e-005,2.426449341387495e-005,7.355065861250474e-007,2.889674012081244e-005
+8.2,1.927946624691741e-005,2.427946624691741e-005,7.205337530825882e-007,2.891919937037613e-005
+8.4,1.929297365539198e-005,2.429297365539198e-005,7.070263446080267e-007,2.893946048308797e-005
+8.6,1.930515905476854e-005,2.430515905476853e-005,6.948409452314655e-007,2.895773858215281e-005
+8.8,1.93161518175597e-005,2.43161518175597e-005,6.838481824402993e-007,2.897422772633956e-005
+9,1.932606870730511e-005,2.432606870730511e-005,6.739312926948982e-007,2.898910306095766e-005
+9.2,1.933501497601588e-005,2.433501497601588e-005,6.649850239841252e-007,2.900252246402382e-005
+9.4,1.934308567121375e-005,2.434308567121375e-005,6.569143287862556e-007,2.901462850682063e-005
+9.6,1.935036644123293e-005,2.435036644123293e-005,6.496335587670751e-007,2.90255496618494e-005
+9.8,1.935693463874734e-005,2.435693463874735e-005,6.430653612526603e-007,2.903540195812102e-005
+10,1.936285996787898e-005,2.436285996787899e-005,6.371400321210157e-007,2.904428995181849e-005
diff --git a/models/sbml-test-suite/cases/semantic/00672/00672-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00672/00672-sbml-l1v2.xml
new file mode 100644
index 0000000..e132e5d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00672/00672-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00672">
+    <listOfCompartments>
+      <compartment name="C" volume="1.4" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.015"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S1" species="S4"/>
+      <speciesConcentrationRule formula="k2 * S3 + -1 * k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00672/00672-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00672/00672-sbml-l2v4.xml
new file mode 100644
index 0000000..9772665
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00672/00672-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00672" id="case00672" name="case00672">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.4" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00672/00672-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00672/00672-sbml-l3v1.xml
new file mode 100644
index 0000000..73ed5cf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00672/00672-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00672" id="case00672" name="case00672" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.4" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00672/00672-settings.txt b/models/sbml-test-suite/cases/semantic/00672/00672-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00672/00672-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00673/00673-results.csv b/models/sbml-test-suite/cases/semantic/00673/00673-results.csv
new file mode 100644
index 0000000..dea3bb8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00673/00673-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1,0,0,0
+0.2,0.9801986732961263,0.0002113493487808367,0.01958997735509298,0.005597136387169422
+0.4,0.9607894391519866,0.0008338332833708452,0.03837672756464268,0.01096477930418362
+0.6,0.9417645335530636,0.001850505471936225,0.05638496097500026,0.01610998885000008
+0.8,0.9231163463695119,0.003244942517627165,0.0736387111128609,0.02103963174653169
+1,0.904837417907489,0.005001227728138092,0.09016135436437305,0.02576038696124944
+1.2,0.8869204367139317,0.007103940934654553,0.1059756223514138,0.03027874924326108
+1.4,0.869358235144243,0.009538137789387526,0.1211036270663694,0.03460103630467699
+1.6,0.8521437887034571,0.01228934692034315,0.1355668643761998,0.03873338982177137
+1.8,0.835270211419974,0.01534354857499214,0.1493862400050337,0.04268178285858107
+2,0.818730752591963,0.01868715969856988,0.1625820877094671,0.04645202505984773
+2.2,0.8025187973131037,0.0223070366968107,0.1751741659900856,0.05004976171145301
+2.4,0.7866278609536825,0.0261904502845652,0.1871816887617523,0.05348048250335778
+2.6,0.7710515855631432,0.03032506918675097,0.1986233452501059,0.05674952721431598
+2.8,0.7557837402393958,0.03469896228260615,0.2095172974779981,0.05986208499371375
+3,0.7408182197162349,0.03930059237662281,0.2198811879071426,0.06282319654489788
+3.2,0.7261490369977358,0.04411878329925068,0.2297321797030137,0.06563776562943248
+3.4,0.7117703223481464,0.04914271553541082,0.2390869621164429,0.06831056060469795
+3.6,0.6976763241550931,0.05436193072295818,0.2479617451219489,0.07084621289198538
+3.8,0.6838614073931095,0.05976632482325357,0.256372267783637,0.07324921936675341
+4,0.6703200455436391,0.06534611289370469,0.2643338415626563,0.0755239547321875
+4.2,0.6570468199496736,0.07109182631933179,0.2718613537309947,0.07767467249456989
+4.4,0.6440364191923226,0.07699431085234643,0.2789692699553311,0.07970550570152314
+4.6,0.6312836422985145,0.08304474056160817,0.2856716171398774,0.08162046203996495
+4.8,0.6187833895681481,0.08923457854722276,0.2919820318846294,0.08342343768132267
+5,0.6065306593845643,0.09555556355469308,0.2979137770607427,0.08511822201735506
+5.2,0.5945205481279805,0.1019997096522181,0.3034797422198015,0.08670849777708611
+5.4,0.5827482503426433,0.1085593080224598,0.308692441634897,0.08819784046711339
+5.6,0.5712090606677154,0.1152269347614514,0.3135640045708333,0.08958971559166665
+5.8,0.5598983644713547,0.1219954120435958,0.3181062234850496,0.09088749242429986
+6,0.5488116359214621,0.128857800378601,0.3223305636999371,0.09209444677141056
+6.2,0.5379444379142402,0.1358073983612163,0.3262481637245436,0.09321376106415528
+6.4,0.5272924223783044,0.1428377449814716,0.3298698326402241,0.09424852361149258
+6.6,0.516851331783184,0.1499426254178842,0.333206042798932,0.09520172651398054
+6.8,0.5066169906373162,0.1571160369112793,0.3362669724514045,0.0960762778432584
+7,0.496585303798469,0.164352182244098,0.339062513957433,0.09687500398783799
+7.2,0.4867522564090971,0.1716454695224628,0.3416022740684402,0.09760064973384
+7.4,0.4771139141715145,0.1789905142223118,0.3438955716061737,0.09825587760176391
+7.6,0.4676664247128413,0.1863821442482782,0.3459514310388807,0.09884326601110874
+7.8,0.4584060098920718,0.1938153700961268,0.3477786200118015,0.09936532000337185
+8,0.4493289642712808,0.2012853791577983,0.3493856565709211,0.09982447330597744
+8.2,0.4404316550571322,0.2087875355318615,0.3507808094110063,0.1002230884031446
+8.4,0.4317105223498648,0.2163173818351738,0.3519720958149615,0.1005634559471318
+8.6,0.4231620803783476,0.2238706436159076,0.352967276005745,0.1008477931444986
+8.8,0.4147829105392267,0.231443203290713,0.3537738861700604,0.1010782531914458
+9,0.4065696600136162,0.2390310951760676,0.3543992448103163,0.1012569270886618
+9.2,0.398519041760855,0.2466305054924887,0.3548504527466564,0.1013858436419018
+9.4,0.3906278352683713,0.2542377758724933,0.3551343888591355,0.1014669682454673
+9.6,0.3828928857267552,0.2618494001738786,0.3552577140993662,0.1015022040283903
+9.8,0.3753110991829618,0.2694620069520632,0.3552268938649751,0.1014933982471357
+10,0.3678794419029459,0.2770723573474405,0.3550482007496136,0.1014423430713182
diff --git a/models/sbml-test-suite/cases/semantic/00673/00673-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00673/00673-sbml-l2v4.xml
new file mode 100644
index 0000000..3bf9e24
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00673/00673-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00673" id="case00673" name="case00673">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00673/00673-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00673/00673-sbml-l3v1.xml
new file mode 100644
index 0000000..c13ebc4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00673/00673-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00673" id="case00673" name="case00673" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00673/00673-settings.txt b/models/sbml-test-suite/cases/semantic/00673/00673-settings.txt
new file mode 100644
index 0000000..6b700db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00673/00673-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00674/00674-results.csv b/models/sbml-test-suite/cases/semantic/00674/00674-results.csv
new file mode 100644
index 0000000..2bcfe91
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00674/00674-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1,0,0,0
+0.4,0.9607894391356898,0.0008338332055914656,0.03837672765871868,0.01096477933106248
+0.8,0.9231163462991334,0.003244942183938605,0.07363871151692798,0.02103963186197943
+1.2,0.8869204365993118,0.007103940398719472,0.1059756230019687,0.03027874942913392
+1.6,0.8521437889520921,0.01228934808729511,0.1355668629606128,0.03873338941731792
+2,0.8187307525119465,0.01868715930581553,0.1625820881822379,0.04645202519492511
+2.4,0.7866278608728665,0.02619044993609215,0.1871816891910413,0.05348048262601179
+2.8,0.7557837406588022,0.03469896413181141,0.2095172952093864,0.05986208434553898
+3.2,0.7261490365333622,0.04411878125904774,0.22973218220759,0.06563776634502572
+3.6,0.6976763246311647,0.05436193273411805,0.2479617426347172,0.07084621218134775
+4,0.6703200458843515,0.06534611446881873,0.2643338396468298,0.07552395418480849
+4.4,0.6440364182579601,0.07699430665131254,0.2789692750907273,0.07970550716877922
+4.8,0.6187833919013783,0.08923458871042189,0.2919820193881998,0.08342343411091424
+5.2,0.5945205445267814,0.1019996944381101,0.3034797610351084,0.08670850315288813
+5.6,0.5712090615298014,0.1152269381921084,0.3135640002780901,0.08958971436516859
+6,0.5488116360560925,0.128857801117206,0.3223305628267014,0.09209444652191469
+6.4,0.5272924182401255,0.1428377279948487,0.3298698537650257,0.09424852964715019
+6.8,0.506616990623451,0.1571160369065214,0.3362669724700275,0.09607627784857928
+7.2,0.4867522550408489,0.1716454644862557,0.3416022804728953,0.09760065156368436
+7.6,0.4676664192025421,0.1863821227538695,0.3459514580435883,0.09884327372673951
+8,0.4493289615667949,0.2012853688266112,0.3493856696065939,0.0998244770304554
+8.4,0.4317105235672908,0.2163173872633445,0.3519720891693646,0.1005634540483899
+8.8,0.4147829021257928,0.2314431723313793,0.3537739255428277,0.1010782644408079
+9.2,0.3985190350754435,0.2466304808088877,0.3548504841156687,0.1013858526044768
+9.6,0.3828928877288917,0.2618494090645804,0.3552577032065277,0.1015022009161508
+10,0.3678794333071049,0.2770723280220206,0.3550482386708744,0.1014423539059641
+10.4,0.3534546698863093,0.2922739580483015,0.3542713720653892,0.1012203920186826
+10.8,0.3395955237126103,0.3074310212085289,0.3529734550788607,0.1008495585939602
+11.2,0.3262797956118552,0.322522054625815,0.3511981497623297,0.1003423285035228
+11.6,0.3134861691359911,0.3375274530627519,0.3489863778012569,0.09971039365750195
+12,0.3011942016147886,0.352429441988788,0.3463763563964233,0.09896467325612096
+12.4,0.2893842190636248,0.3672117222374412,0.3434040586989339,0.09811544534255254
+12.8,0.2780372995950781,0.3818594183085238,0.340103282096398,0.09717236631325656
+13.2,0.2671352894868549,0.3963591469203163,0.3365055635928286,0.09614444674080817
+13.6,0.2566607685076525,0.4106989029944019,0.3326403284979456,0.09504009385655586
+14,0.2465969666474389,0.4248677967546456,0.3285352365979153,0.09386721045654722
+14.4,0.2369277575333821,0.4388560368719143,0.3242162055947035,0.0926332015984867
+14.8,0.2276376762432504,0.4526550003183468,0.3197073234384027,0.09134494955382934
+15.2,0.2187118790727955,0.4662571063430582,0.3150310145841463,0.09000886130975606
+15.6,0.210136074367886,0.4796556130290155,0.3102083126030984,0.08863094645802812
+16,0.2018965183780836,0.4928446081325555,0.3052588734893608,0.08721682099696022
+16.4,0.1939800312338568,0.5058190692278599,0.3002008995382832,0.08577168558236661
+16.8,0.1863739675073047,0.518574776034855,0.2950512564578402,0.08430035898795434
+17.2,0.1790661503525198,0.5311081296926657,0.2898257199548143,0.08280734855851837
+17.6,0.1720448671167315,0.5434161425552201,0.2845389903280483,0.08129685437944237
+18,0.1652988794467682,0.555496478123791,0.2792046424294407,0.07977275497984018
+18.4,0.158817416294334,0.5673474302094338,0.2738351534962321,0.07823861528463774
+18.8,0.1525901058985545,0.5789677480683227,0.2684421460331226,0.07669775600946362
+19.2,0.1466069682338047,0.5903566186182333,0.2630364131479619,0.07515326089941769
+19.6,0.1408584264756995,0.6015137030043567,0.2576278705199438,0.07360796300569823
+20,0.1353352888928147,0.6124390976732492,0.2522256134339361,0.0720644609811246
diff --git a/models/sbml-test-suite/cases/semantic/00674/00674-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00674/00674-sbml-l2v4.xml
new file mode 100644
index 0000000..7605393
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00674/00674-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00674" id="case00674" name="case00674">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="2" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00674/00674-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00674/00674-sbml-l3v1.xml
new file mode 100644
index 0000000..ca5a5e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00674/00674-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00674" id="case00674" name="case00674" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="2" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00674/00674-settings.txt b/models/sbml-test-suite/cases/semantic/00674/00674-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00674/00674-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00675/00675-results.csv b/models/sbml-test-suite/cases/semantic/00675/00675-results.csv
new file mode 100644
index 0000000..0efb97d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00675/00675-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1,0,0,0
+0.1,0.9900498337475785,5.3202956270421e-005,0.009896963296151005,0.002827703798900287
+0.2,0.9801986732915883,0.0002113493269596303,0.01958997738145193,0.005597136394700547
+0.3,0.9704455335409433,0.000472271032234946,0.02908219542682157,0.008309198693377581
+0.4,0.9607894391513927,0.0008338332806569236,0.03837672756795029,0.01096477930512865
+0.5,0.9512294244651235,0.001293934285628539,0.04747664124924787,0.01356475464264225
+0.6,0.9417645335449592,0.001850505433355681,0.05638496102168507,0.01610998886333859
+0.7,0.9323938198961745,0.002501509964846805,0.06510467013897861,0.01860133432542245
+0.8,0.9231163463773411,0.003244942554859384,0.07363871106779951,0.021039631733657
+0.9,0.9139311851715735,0.004078829187521018,0.08198998564090554,0.02342571018311587
+1,0.9048374179015575,0.005001227700790968,0.09016135439765149,0.02576038697075757
+1.1,0.8958341352162704,0.006010225847396037,0.09815563893633361,0.02804446826752389
+1.2,0.8869204367082947,0.007103940908036282,0.1059756223836691,0.03027874925247688
+1.3,0.878095430900851,0.008280519634156549,0.1136240494649923,0.03246401413285496
+1.4,0.8693582352791175,0.009538138419035867,0.1211036263018466,0.03460103608624188
+1.5,0.8607079762781588,0.01087500323003637,0.1284170204918048,0.03669057728337281
+1.6,0.852143788883159,0.01228934776141041,0.1355668633554305,0.038733389530123
+1.7,0.8436648165904626,0.01377943325642213,0.1425557501531153,0.04073021432946149
+1.8,0.8352702113964695,0.01534354845979083,0.1493862401437396,0.04268178289821133
+1.9,0.8269591338334185,0.01698000980879473,0.1560608563577868,0.0445888161022248
+2,0.8187307529421155,0.01868716129417992,0.1625820857637046,0.04645202450391561
+2.1,0.8105842458950151,0.02046337274524886,0.168952381359736,0.04827210895992458
+2.2,0.8025187979606379,0.02230703967036652,0.1751741623689956,0.0500497606768559
+2.3,0.7945336024930073,0.02421658321244914,0.1812498142945435,0.05178566122701241
+2.4,0.7866278609656882,0.0261904503282797,0.1871816887060321,0.05348048248743775
+2.5,0.7788007829458444,0.0282271136580591,0.1929721033960965,0.05513488668459899
+2.6,0.7710515857357035,0.03032506991912067,0.1986233443451758,0.0567495269557645
+2.7,0.7633794943387091,0.03248283975656569,0.2041376659047251,0.05832504740135003
+2.8,0.7557837414494734,0.03469896770161138,0.2095172908489152,0.05986208309969004
+2.9,0.7482635674861546,0.03697202233982137,0.214764410174024,0.06136126004972114
+3,0.7408182205657813,0.03930059618878101,0.2198811832454377,0.0628231952129822
+3.1,0.7334469561632016,0.04168330419383645,0.224869739642962,0.06424849704084627
+3.2,0.7261490370788872,0.04411878358824314,0.2297321793328696,0.06563776552367702
+3.3,0.7189237334293759,0.0466056938541974,0.2344705727164268,0.06699159220469338
+3.4,0.7117703226780691,0.0491427168806448,0.2390869604412862,0.06831056012608178
+3.5,0.7046880896117607,0.05172855684859135,0.243583353539648,0.06959524386847087
+3.6,0.697676326016219,0.054361938822656,0.247961735161125,0.07084621004603571
+3.7,0.6907343306455611,0.05704160862015172,0.2522240607342872,0.07206401735265348
+3.8,0.683861409213161,0.05976633277463592,0.2563722580122032,0.07324921657491519
+3.9,0.6770568744209461,0.06253489868392073,0.2604082268951332,0.07440235054146664
+4,0.6703200459370697,0.06534611450256046,0.2643338395603698,0.07552395416010566
+4.1,0.6636502500873162,0.06819880782337356,0.2681509420893103,0.07661455488266009
+4.2,0.6570468198259675,0.07109182555491064,0.2718613546191219,0.07767467274832056
+4.3,0.650509094727156,0.07402403388736864,0.2754668713854755,0.07870482039585014
+4.4,0.6440364210127316,0.07699431843139022,0.2789692605558782,0.07970550301596521
+4.5,0.6376281515310238,0.08000158411729517,0.2823702643516812,0.08067721838619461
+4.6,0.6312836454632954,0.08304475396107414,0.2856716005756306,0.08162045730732301
+4.7,0.6250022682960325,0.08612276894972987,0.2888749627542379,0.08253570364406795
+4.8,0.6187833918282242,0.08923458807382487,0.291982020097951,0.08342343431370029
+4.9,0.612626394205207,0.09237918848869106,0.2949944173061019,0.08428411923031484
+5,0.6065306597357917,0.09555556474297308,0.2979137755212353,0.0851182215774958
diff --git a/models/sbml-test-suite/cases/semantic/00675/00675-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00675/00675-sbml-l2v4.xml
new file mode 100644
index 0000000..96adf86
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00675/00675-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00675" id="case00675" name="case00675">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="9.8" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00675/00675-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00675/00675-sbml-l3v1.xml
new file mode 100644
index 0000000..fc8bb80
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00675/00675-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00675" id="case00675" name="case00675" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="9.8" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00675/00675-settings.txt b/models/sbml-test-suite/cases/semantic/00675/00675-settings.txt
new file mode 100644
index 0000000..3abd7e3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00675/00675-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00676/00676-results.csv b/models/sbml-test-suite/cases/semantic/00676/00676-results.csv
new file mode 100644
index 0000000..f7ceeba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00676/00676-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.25,0.15
+0.1,0.2319358621482922,0.1680641378517078
+0.2,0.2151769908454253,0.1848230091545747
+0.3,0.1996290329297362,0.2003709670702638
+0.4,0.1852045234292385,0.2147954765707616
+0.5,0.1718223241741963,0.2281776758258037
+0.6,0.1594070053260444,0.2405929946739557
+0.7,0.1478888236633962,0.2521111763366039
+0.8,0.1372029139916099,0.2627970860083901
+0.9,0.1272890793052896,0.2727109206947104
+1,0.1180916366912616,0.2819083633087385
+1.1,0.1095587479097188,0.2904412520902812
+1.2,0.1016423981144556,0.2983576018855444
+1.3,0.09429809610631222,0.3057019038936878
+1.4,0.08748443287175006,0.31251556712825
+1.5,0.08116310924213532,0.3188368907578648
+1.6,0.07529856398267878,0.3247014360173213
+1.7,0.06985773629552917,0.3301422637044709
+1.8,0.06481006531715985,0.3351899346828402
+1.9,0.0601271252409129,0.3398728747590871
+2,0.05578253542858503,0.344217464571415
+2.1,0.05175189371316592,0.3482481062868341
+2.2,0.04801248287472994,0.3519875171252701
+2.3,0.04454326092366365,0.3554567390763364
+2.4,0.04132473039252255,0.3586752696074775
+2.5,0.03833874441822027,0.3616612555817799
+2.6,0.03556851883180984,0.3644314811681902
+2.7,0.03299846958779063,0.3670015304122094
+2.8,0.03061410823597078,0.3693858917640294
+2.9,0.02840204188728335,0.3715979581127168
+3,0.02634981345933703,0.3736501865406631
+3.1,0.02444586193793932,0.3755541380620608
+3.2,0.02267949346752346,0.3773205065324766
+3.3,0.02104075261697731,0.3789592473830228
+3.4,0.01952041796065843,0.3804795820393417
+3.5,0.01810994508400075,0.3818900549159993
+3.6,0.0168013814037306,0.3831986185962695
+3.7,0.01558737145119324,0.3844126285488069
+3.8,0.01446108581012507,0.3855389141898751
+3.9,0.01341617511224448,0.3865838248877557
+4,0.01244677010306782,0.3875532298969323
+4.1,0.01154741169742635,0.3884525883025738
+4.2,0.01071303341267828,0.3892869665873219
+4.3,0.009938948839127045,0.3900610511608731
+4.4,0.00922079518036234,0.3907792048196379
+4.5,0.008554531245764087,0.391445468754236
+4.6,0.007936412599178138,0.392063587400822
+4.7,0.007362954143584192,0.392637045856416
+4.8,0.006830932429511032,0.3931690675704891
+4.9,0.006337354593089369,0.3936626454069108
+5,0.005879439455803187,0.394120560544197
diff --git a/models/sbml-test-suite/cases/semantic/00676/00676-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00676/00676-sbml-l2v4.xml
new file mode 100644
index 0000000..70218c7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00676/00676-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00676" id="case00676" name="case00676">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00676/00676-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00676/00676-sbml-l3v1.xml
new file mode 100644
index 0000000..63a536c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00676/00676-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00676" id="case00676" name="case00676" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00676/00676-settings.txt b/models/sbml-test-suite/cases/semantic/00676/00676-settings.txt
new file mode 100644
index 0000000..5a66c8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00676/00676-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00677/00677-results.csv b/models/sbml-test-suite/cases/semantic/00677/00677-results.csv
new file mode 100644
index 0000000..9187705
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00677/00677-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.047,0.15
+0.1,0.0436039413355785,0.1533960586644215
+0.2,0.04045326360259822,0.1565467363974018
+0.3,0.03753026070155045,0.1594697392984495
+0.4,0.03481845324399806,0.1621815467560019
+0.5,0.03230258942761476,0.1646974105723852
+0.6,0.0299685244983274,0.1670314755016726
+0.7,0.0278030983886568,0.1691969016113432
+0.8,0.02579414371275251,0.1712058562872475
+0.9,0.02393035395791428,0.1730696460420857
+1,0.02220122454889453,0.1747987754511055
+1.1,0.02059704419909899,0.176402955800901
+1.2,0.01910877548302976,0.1778912245169703
+1.3,0.01772803814897136,0.1792719618510286
+1.4,0.01644707554417366,0.1805529244558264
+1.5,0.01525866643704226,0.1817413335629577
+1.6,0.01415612673007317,0.1828438732699268
+1.7,0.01313325768410106,0.183866742315899
+1.8,0.01218429208597752,0.1848157079140225
+1.9,0.01130389773012278,0.1856961022698772
+2,0.01048711974984049,0.1865128802501595
+2.1,0.009729354646636124,0.1872706453533639
+2.2,0.009026346590203212,0.1879736534097968
+2.3,0.008374135092365391,0.1886258649076346
+2.4,0.007769047599468055,0.189230952400532
+2.5,0.007207684890707811,0.1897923151092922
+2.6,0.006686882380319134,0.1903131176196809
+2.7,0.006203710835564715,0.1907962891644353
+2.8,0.005755453773122271,0.1912445462268777
+2.9,0.005339583796042647,0.1916604162039574
+3,0.004953764130176681,0.1920462358698233
+3.1,0.004595823398196689,0.1924041766018033
+3.2,0.004263744174641669,0.1927362558253583
+3.3,0.003955661403593453,0.1930443385964065
+3.4,0.003669839472828297,0.1933301605271717
+3.5,0.003404668925899039,0.193595331074101
+3.6,0.003158660112197086,0.1938413398878029
+3.7,0.002930426204198362,0.1940695737958016
+3.8,0.002718683497628353,0.1942813165023716
+3.9,0.00252224154366228,0.1944777584563377
+4,0.002339992747532846,0.1946600072524671
+4.1,0.002170913046396615,0.1948290869536034
+4.2,0.002014050874895402,0.1949859491251046
+4.3,0.001868522121672357,0.1951314778783276
+4.4,0.001733509452967776,0.1952664905470322
+4.5,0.001608252268174904,0.1953917477318251
+4.6,0.001492045240629755,0.1955079547593702
+4.7,0.001384235556306752,0.1956157644436932
+4.8,0.001284215501862545,0.1957157844981374
+4.9,0.001191422504417895,0.1958085774955821
+5,0.001105334643158206,0.1958946653568418
diff --git a/models/sbml-test-suite/cases/semantic/00677/00677-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00677/00677-sbml-l2v4.xml
new file mode 100644
index 0000000..a5674cf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00677/00677-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00677" id="case00677" name="case00677">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.47" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00677/00677-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00677/00677-sbml-l3v1.xml
new file mode 100644
index 0000000..185c53d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00677/00677-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00677" id="case00677" name="case00677" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.47" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00677/00677-settings.txt b/models/sbml-test-suite/cases/semantic/00677/00677-settings.txt
new file mode 100644
index 0000000..5a66c8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00677/00677-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00678/00678-results.csv b/models/sbml-test-suite/cases/semantic/00678/00678-results.csv
new file mode 100644
index 0000000..8e9f214
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00678/00678-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.66,0.15
+0.1,0.6123106996977157,0.1976893003022843
+0.2,0.5680672205758595,0.2419327794241405
+0.3,0.5270207071306564,0.2829792928693435
+0.4,0.4889399736750673,0.3210600263249327
+0.5,0.4536109133612195,0.3563890866387805
+0.6,0.4208345490324992,0.3891654509675007
+0.7,0.3904264863683337,0.4195735136316663
+0.8,0.3622156935653955,0.4477843064346045
+0.9,0.3360431717984622,0.4739568282015377
+1,0.3117618926585621,0.4982381073414379
+1.1,0.2892351080801994,0.5207648919198006
+1.2,0.2683359238753355,0.5416640761246645
+1.3,0.2489469539161365,0.5610530460838635
+1.4,0.2309589157383113,0.5790410842616888
+1.5,0.214270595719945,0.5957294042800551
+1.6,0.1987881988945263,0.6112118011054737
+1.7,0.1844244311932692,0.6255755688067307
+1.8,0.1710985584314282,0.6389014415685718
+1.9,0.158735610817691,0.651264389182309
+2,0.1472658949043522,0.6627341050956477
+2.1,0.136624987141286,0.673375012858714
+2.2,0.1267529607199838,0.6832470392800162
+2.3,0.1175942057376009,0.6924057942623991
+2.4,0.1090972795388954,0.7009027204611045
+2.5,0.101214290946711,0.7087857090532889
+2.6,0.09390088418166251,0.7160991158183375
+2.7,0.08711595529320074,0.7228840447067991
+2.8,0.08082124899077657,0.7291787510092234
+2.9,0.0749813844544745,0.7350186155455254
+3,0.06956350757731362,0.7404364924226863
+3.1,0.06453707613624034,0.7454629238637597
+3.2,0.05987385738053948,0.7501261426194604
+3.3,0.05554758949594866,0.7544524105040512
+3.4,0.05153390207226706,0.7584660979277329
+3.5,0.047810251202608,0.7621897487973919
+3.6,0.04435564939802304,0.7656443506019769
+3.7,0.04115065821555823,0.7688493417844418
+3.8,0.03817726459032589,0.7718227354096741
+3.9,0.03541870372690412,0.7745812962730958
+4,0.032859470390992,0.7771405296090078
+4.1,0.03048516688545884,0.7795148331145411
+4.2,0.02828240848928005,0.7817175915107198
+4.3,0.0262388225802358,0.7837611774197641
+4.4,0.02434290040464594,0.785657099595354
+4.5,0.02258396190648137,0.7874160380935186
+4.6,0.02095212758481174,0.7890478724151882
+4.7,0.01943820003200008,0.7905617999679998
+4.8,0.01803366055959222,0.7919663394404076
+4.9,0.0167306152666439,0.793269384733356
+5,0.01552171987313932,0.7944782801268606
diff --git a/models/sbml-test-suite/cases/semantic/00678/00678-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00678/00678-sbml-l2v4.xml
new file mode 100644
index 0000000..e5eba02
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00678/00678-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00678" id="case00678" name="case00678">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="6.6" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.66" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00678/00678-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00678/00678-sbml-l3v1.xml
new file mode 100644
index 0000000..3b66922
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00678/00678-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00678" id="case00678" name="case00678" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="6.6" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.66" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00678/00678-settings.txt b/models/sbml-test-suite/cases/semantic/00678/00678-settings.txt
new file mode 100644
index 0000000..4668701
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00678/00678-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00679/00679-results.csv b/models/sbml-test-suite/cases/semantic/00679/00679-results.csv
new file mode 100644
index 0000000..61c758a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00679/00679-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,0,0
+0.02,0.9048374071066527,0.09516259289334747,0.07137194467001061
+0.04,0.8187307320348418,0.1812692679651584,0.1359519509738688
+0.06,0.7408182227731317,0.2591817772268685,0.1943863329201514
+0.08,0.6703200007395267,0.3296799992604735,0.2472599994453551
+0.1,0.6065306663496725,2.518469331150327,1.888851998362746
+0.12,0.54881155024179,2.576188447258209,1.932141335443658
+0.14,0.4965852370705547,2.628414760429445,1.971311070322084
+0.16,0.4493289286669583,2.675671068833041,2.006753301624781
+0.18,0.4065696111180592,2.71843038638194,2.038822789786456
+0.2,0.3678794329999311,2.757120564500069,2.067840423375052
+0.22,0.3328710462556381,2.792128951244361,2.094096713433272
+0.24,0.3011942221529872,2.823805775347013,2.11785433151026
+0.26,0.2725317649339535,2.852468232566046,2.139351174424535
+0.28,0.2465969856776237,2.878403011822377,2.158802258866782
+0.3,0.2231301398243882,2.901869857675612,2.176402393256709
+0.32,0.2018965460132896,2.923103451486711,2.192327588615032
+0.34,0.1826835101813125,2.942316487318688,2.206737365489015
+0.36,0.1652989186845756,2.959701078815424,2.219775809111568
+0.38,0.1495686106624145,2.975431386837586,2.231573540128189
+0.4,0.1353353134033949,2.989664684096605,2.242248513072454
+0.42,0.1224564240086411,3.002543573491359,2.251907680118519
+0.44,0.1108031864237634,3.014196811076237,2.260647608307177
+0.46,0.1002588429235677,3.024741154576432,2.268555865932324
+0.48,0.09071797846674118,3.034282019033259,2.275711514274944
+0.5,0.08208500051006722,3.042914996989933,2.282186247742449
+0.52,0.0742736002586508,3.050726397241349,2.288044797931011
+0.54,0.06720551665338061,3.057794480846619,2.293345860634965
+0.56,0.06081008158361351,3.064189915916386,2.29814243693729
+0.58,0.05502322543382861,3.069976772066172,2.302482579049628
+0.6,0.04978708445767947,3.07521291304232,2.30640968478174
+0.62,0.04504920875842874,3.079950788741571,2.309963091556178
+0.64,0.04076221750261767,3.084237779997383,2.313178334998037
+0.66,0.03688317435754932,3.088116823142451,2.316087617356838
+0.68,0.03337328125267183,3.091626716247328,2.318720037185496
+0.7,0.03019739064711698,3.094802606852883,2.321101955139662
+0.72,0.02732373183784932,3.09767626566215,2.323257199246613
+0.74,0.0247235337062296,3.10027646379377,2.325207347845328
+0.76,0.02237077965174474,3.102629217848255,2.326971913386192
+0.78,0.02024191849332582,3.104758079006674,2.328568559255006
+0.8,0.0183156453628071,3.106684352137193,2.330013264102894
+0.82,0.01657268211184962,3.10842731538815,2.331320486541113
+0.84,0.0149955822094945,3.110004415290506,2.332503311467879
+0.86,0.01356856527889822,3.111431432221102,2.333573574165826
+0.88,0.01227734440674038,3.112722653093259,2.334541989819944
+0.9,0.01110900229180859,3.113890995208191,2.335418246406143
+0.92,0.01005183952852108,3.114948157971479,2.336211118478609
+0.94,0.009095282302238494,3.115904715197762,2.336928536398321
+0.96,0.008229750248302742,3.116770247251697,2.337577685438772
+0.98,0.007446587851819152,3.117553409648181,2.338165057236135
+1,0.006737951351928471,3.118262046148072,2.338696534611053
diff --git a/models/sbml-test-suite/cases/semantic/00679/00679-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00679/00679-sbml-l2v4.xml
new file mode 100644
index 0000000..1d8ccf7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00679/00679-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00679" id="case00679" name="case00679">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00679/00679-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00679/00679-sbml-l3v1.xml
new file mode 100644
index 0000000..0fbef9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00679/00679-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00679" id="case00679" name="case00679" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00679/00679-settings.txt b/models/sbml-test-suite/cases/semantic/00679/00679-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00679/00679-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00680/00680-results.csv b/models/sbml-test-suite/cases/semantic/00680/00680-results.csv
new file mode 100644
index 0000000..e95199a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00680/00680-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.9999999999999999,0.4999999999999999,0.375
+0.02,0.9048374025727147,0.5951625974272852,0.4463719480704638
+0.04,0.8187306605574289,0.6812693394425708,0.5109520045819282
+0.06,0.740818179920804,0.7591818200791959,0.5693863650593969
+0.08,0.6703199393764031,0.8296800606235967,0.6222600454676976
+0.1,0.6065306236542156,0.8934693763457843,0.6701020322593383
+0.12,0.5488115632797579,0.951188436720242,0.7133913275401815
+0.14,0.4965852731977081,1.003414726802292,0.7525610451017188
+0.16,0.4493289293838935,1.050671070616106,0.7880033029620797
+0.18,0.4065696367282524,1.093430363271748,0.8200727724538106
+0.2,0.3678794334980229,1.132120566501977,0.8490904248764827
+0.22,0.3328710667062557,1.167128933293744,0.8753466999703081
+0.24,0.3011942227996072,1.198805777200392,0.8991043329002945
+0.26,0.2725317810076755,1.227468218992324,0.9206011642442432
+0.28,0.2465969867802233,1.253403013219776,0.9400522599148323
+0.3,0.2231301522872058,1.276869847712794,0.9576523857845954
+0.32,0.2018965477326699,1.29810345226733,0.9735775892004973
+0.34,0.1826835342963214,0.8048164656246785,0.6036123492185089
+0.36,0.165298869823365,0.8222011300976346,0.6166508475732262
+0.38,0.1495686058767646,0.8379313940442352,0.6284485455331765
+0.4,0.1353352786669102,0.8521647212540895,0.6391235409405673
+0.42,0.1224564191346401,0.8650435807863597,0.6487826855897699
+0.44,0.1108031609016936,0.8766968390193062,0.6575226292644798
+0.46,0.100258836970061,0.8872411629509389,0.6654308722132043
+0.48,0.09071796046799971,0.8967820394530002,0.6725865295897503
+0.5,0.08208499386483788,0.9054150060561619,0.6790612545421216
+0.52,0.07427358811308021,0.9132264118079198,0.6849198088559398
+0.54,0.06720550965126579,0.9202944902697341,0.6902208677023006
+0.56,0.06081007380864072,0.9266899261123591,0.6950174445842695
+0.58,0.0550232183616254,0.9324767815593745,0.699357586169531
+0.6,0.04978707979004204,0.9377129201309579,0.7032846900982185
+0.62,0.04504920184834955,0.9424507980726503,0.7068380985544879
+0.64,0.04076221490403435,0.9467377850169654,0.7100533387627243
+0.66,0.03688316778741479,0.9506168321335851,0.712962624100189
+0.68,0.03337327991840988,0.95412672000259,0.7155950400019426
+0.7,0.030197384544408,0.9573026153765919,0.7179769615324441
+0.72,0.02732373126368435,0.9601762686573154,0.7201322014929867
+0.74,0.02472352815422078,0.9627764717667791,0.7220823538250845
+0.76,0.02237077950538456,0.9651292204156152,0.7238469153117116
+0.78,0.02024191353808945,0.9672580863829103,0.725443564787183
+0.8,0.01831564542548237,0.9691843544955175,0.7268882658716382
+0.82,0.01657267776933811,0.9709273221516619,0.7281954916137464
+0.84,0.014995582343391,0.972504417577609,0.7293783131832068
+0.86,0.01356856154161544,0.9739314383793845,0.7304485787845384
+0.88,0.012277344530574,0.9752226553904257,0.7314169915428195
+0.9,0.01110899913479402,0.9763910007862058,0.7322932505896544
+0.92,0.01005183959946453,0.9774481603215353,0.7330861202411516
+0.94,0.009095279688235316,0.9784047202327646,0.7338035401745735
+0.96,0.008229750248811844,0.979270249672188,0.7344526872541412
+0.98,0.007446586505585199,0.9800534134154146,0.7350400600615611
+1,0.006737950464876358,0.9807620494561234,0.7355715370920928
diff --git a/models/sbml-test-suite/cases/semantic/00680/00680-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00680/00680-sbml-l2v4.xml
new file mode 100644
index 0000000..6e5ff61
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00680/00680-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00680" id="case00680" name="case00680">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.79" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00680/00680-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00680/00680-sbml-l3v1.xml
new file mode 100644
index 0000000..ac54ca8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00680/00680-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00680" id="case00680" name="case00680" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.79" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00680/00680-settings.txt b/models/sbml-test-suite/cases/semantic/00680/00680-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00680/00680-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00681/00681-results.csv b/models/sbml-test-suite/cases/semantic/00681/00681-results.csv
new file mode 100644
index 0000000..bff31dd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00681/00681-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,0.5,0.375
+0.02,0.9048374025727147,0.5951625974272853,0.4463719480704639
+0.04,0.8187306605574289,0.6812693394425711,0.5109520045819281
+0.06,0.74081815390766,7.509181845342337,5.631886384006752
+0.08,0.6703198734207636,7.579680125829233,5.684760094371924
+0.1,0.6065305169125924,7.643469482337403,5.732602111753053
+0.12,0.5488115373221023,7.701188461927895,5.775891346445921
+0.14,0.4965851942097742,7.753414805040223,5.815061103780167
+0.16,0.4493289087191641,7.800671090530833,5.850503317898124
+0.18,0.4065695729129828,7.843430426337015,5.882572819752761
+0.2,0.3678794164949813,7.882120582755015,5.911590437066261
+0.22,0.3328710157305913,7.917128983519406,5.937846737639553
+0.24,0.3011942080164693,7.948805791233527,5.961604343425145
+0.26,0.2725317406631579,7.977468258586839,5.983101193940128
+0.28,0.2465969732380688,8.003403026011927,6.002552269508945
+0.3,0.2231301206522487,8.026869878597747,6.02015240894831
+0.32,0.2018965347948987,8.048103464455098,6.036077598341322
+0.34,0.1826834951319413,8.067316504118056,6.05048737808854
+0.36,0.1652989083592637,8.084701090890732,6.063525818168048
+0.38,0.1495685989204628,8.100431400329534,6.07532355024715
+0.4,0.1353353038314731,8.114664695418522,6.085998521563892
+0.42,0.1224564148991205,8.127543584350875,6.095657688263156
+0.44,0.1108031779142083,8.139196821335787,6.10439761600184
+0.46,0.1002588358925937,8.149741163357401,6.112305872518051
+0.48,0.09071797104479398,8.159282028205201,6.1194615211539
+0.5,0.08208499510701585,8.167915004142978,6.125936253107234
+0.52,0.07427359386273025,8.175726405387264,6.131794804040449
+0.54,0.06720551251473571,8.182794486735258,6.137095865051444
+0.56,0.06081007613079075,8.189189923119203,6.141892442339404
+0.58,0.05502322226883059,8.194976776981164,6.146232582735873
+0.6,0.04978707985403418,8.200212919395961,6.15015968954697
+0.62,0.04504920633652109,8.204950792913476,6.153713094685106
+0.64,0.04076221365069781,8.209237785599298,6.156928339199474
+0.66,0.0368831724975446,8.213116826752451,6.159837620064338
+0.68,0.03337327805666756,8.216626721193329,6.162470040894997
+0.7,0.03019738920795741,8.219802610042038,6.164851957531529
+0.72,0.0273237292070014,8.222676270042994,6.167007202532246
+0.74,0.02472353257919167,8.225276466670804,6.168957350003104
+0.76,0.0223707775024185,8.227629221747577,6.170721916310684
+0.78,0.02024191759550852,8.229758081654488,6.172318561240866
+0.8,0.01831564361958211,8.231684355630414,6.173763266722811
+0.82,0.01657268138078601,8.233427317869213,6.175070488401907
+0.84,0.01499558080554892,8.235004418444447,6.176253313833335
+0.86,0.01356856466813675,8.23643143458186,6.177323575936393
+0.88,0.01227734328374747,8.23772265596625,6.178291991974685
+0.9,0.01110900176732172,8.238890997482674,6.179168248112005
+0.92,0.01005183863622469,8.239948160613771,6.179961120460328
+0.94,0.009095281839529594,8.240904717410466,6.180678538057849
+0.96,0.008229749543896896,8.241770249706098,6.181327687279574
+0.98,0.007446587339380589,8.242553411910615,6.181915058932961
+1,0.006737950872076732,8.243262048377918,6.182446536283439
diff --git a/models/sbml-test-suite/cases/semantic/00681/00681-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00681/00681-sbml-l2v4.xml
new file mode 100644
index 0000000..80c3c91
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00681/00681-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00681" id="case00681" name="case00681">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="7.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00681/00681-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00681/00681-sbml-l3v1.xml
new file mode 100644
index 0000000..1e4949d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00681/00681-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00681" id="case00681" name="case00681" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="7.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00681/00681-settings.txt b/models/sbml-test-suite/cases/semantic/00681/00681-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00681/00681-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00682/00682-results.csv b/models/sbml-test-suite/cases/semantic/00682/00682-results.csv
new file mode 100644
index 0000000..7b6408c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00682/00682-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,0,0
+0.1,0.77880078307150,0.22119921692850,0.16589941269637
+0.2,0.60653065971327,0.39346934028673,0.29510200521504
+0.3,0.47236655274000,0.52763344726000,0.39572508544500
+0.4,0.36787944116637,0.63212055883363,0.47409041912523
+0.5,0.28650479686242,0.71349520313758,0.53512140235318
+0.6,0.22313016014625,0.77686983985375,0.58265237989031
+0.7,0.17377394345317,0.82622605654683,0.61966954241013
+0.8,0.13533528323622,0.86466471676378,0.64849853757283
+0.9,0.10539922456397,0.89460077543604,0.67095058157703
+1,0.08208499862442,0.91791500137558,0.68843625103168
+1.1,0.06392786120799,0.93607213879201,0.70205410409400
+1.2,0.04978706836825,1.87647916773467,1.40735937580100
+1.3,0.03877420783238,1.88749202827054,1.41561902120291
+1.4,0.03019738342289,1.89606885268003,1.42205163951002
+1.5,0.02351774585640,1.90274849024653,1.42706136768490
+1.6,0.01831563888929,1.90795059721364,1.43096294791023
+1.7,0.01426423390926,1.91200200219367,1.43400150164525
+1.8,0.01110899653869,1.91515723956424,1.43636792967318
+1.9,0.00865169520331,1.91761454089961,1.43821090567471
+2,0.00673794699941,1.91952828910352,1.43964621682764
+2.1,0.00524751839933,1.92101871770359,1.44076403827769
+2.2,0.00408677143868,1.92217946466425,1.44163459849819
+2.3,0.00318278079663,1.92308345530629,1.44231259147972
+2.4,0.00247875217679,1.92378748392613,1.44284061294460
+2.5,0.00193045413632,1.92433578196660,1.44325183647495
+2.6,0.00150343919305,1.92476279690987,1.44357209768240
+2.7,0.00117087962086,1.92509535648206,1.44382151736154
+2.8,0.00091188196560,1.92535435413733,1.44401576560300
+2.9,0.00071017438889,1.92555606171403,1.44416704628552
+3,0.00055308437018,1.92571315173275,1.44428486379956
+3.1,0.00043074254061,1.92583549356232,1.44437662017174
+3.2,0.00033546262792,1.92593077347500,1.44444808010625
+3.3,0.00026125855732,1.92600497754560,1.44450373315920
+3.4,0.00020346836902,1.92606276773390,1.44454707580043
+3.5,0.00015846132513,1.92610777477780,1.44458083108335
+3.6,0.00012340980409,1.92614282629883,1.44460711972412
+3.7,0.00009611165207,1.92617012445086,1.44462759333814
+3.8,0.00007485182990,1.92619138427303,1.44464353820477
+3.9,0.00005829466374,1.92620794143919,1.44465595607939
+4,0.00004539992976,1.92622083617316,1.44466562712987
+4.1,0.00003535750085,1.92623087860207,1.44467315895155
+4.2,0.00002753644935,1.92623869965357,1.44467902474018
+4.3,0.00002144540832,1.92624479069461,1.44468359302096
+4.4,0.00001670170079,1.92624953440214,1.44468715080161
+4.5,0.00001300729765,1.92625322880527,1.44468992160395
+4.6,0.00001013009360,1.92625610600933,1.44469207950700
+4.7,0.00000788932483,1.92625834677810,1.44469376008357
+4.8,0.00000614421235,1.92626009189058,1.44469506891793
+4.9,0.00000478511739,1.92626145098553,1.44469608823915
+5,0.00000372665317,1.92626250944976,1.44469688208732
\ No newline at end of file
diff --git a/models/sbml-test-suite/cases/semantic/00682/00682-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00682/00682-sbml-l2v4.xml
new file mode 100644
index 0000000..21db038
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00682/00682-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00682" id="case00682" name="case00682">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00682/00682-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00682/00682-sbml-l3v1.xml
new file mode 100644
index 0000000..e04b390
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00682/00682-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00682" id="case00682" name="case00682" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00682/00682-settings.txt b/models/sbml-test-suite/cases/semantic/00682/00682-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00682/00682-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00683/00683-results.csv b/models/sbml-test-suite/cases/semantic/00683/00683-results.csv
new file mode 100644
index 0000000..6fc11f7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00683/00683-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,0.50000013,0.375000098
+0.1,0.6065300531846610,0.8934690768153390,0.6701018076115040
+0.2,0.3678790732955280,1.1321200567044700,0.8490900425283530
+0.3,0.2231299370205630,1.2768691929794300,0.9576518947345720
+0.4,0.1353351479026160,1.3646639820973800,1.0234979865730400
+0.5,0.0820849165396951,1.4179142134603000,1.0634356600952300
+0.6,0.0497870185814016,1.4502121114185900,1.0876590835639400
+0.7,0.0301973532254638,1.4698017767745300,1.1023513325809000
+0.8,0.0183156205735631,1.4816835094264300,1.1112626320698200
+0.9,0.0111089854296414,1.4888901445703600,1.1166676084277700
+1,0.0067379402614534,1.4932611897385400,1.1199458923039000
+1.1,0.0040867673519287,1.4959123626480700,1.1219342719860500
+1.2,0.0024787496980816,1.4975203803019200,1.1231402852264400
+1.3,0.0015034376896514,1.4984956923103500,1.1238717692327600
+1.4,0.0009118810537446,1.4990872489462500,1.1243154367096900
+1.5,0.0005530838171072,1.4994460461828900,1.1245845346371700
+1.6,0.0003354622924662,1.4996636677075300,1.1247477507806500
+1.7,0.0002034681655584,1.4997956618344400,1.1248467463758300
+1.8,0.0001234096806870,1.4998757203193100,1.1249067902394800
+1.9,0.0000748517550421,0.4725125220386720,0.3543843915290040
+2,0.0000453998843666,0.4725419739093470,0.3544064804320100
+2.1,0.0000275364218165,0.4725598373718970,0.3544198780289230
+2.2,0.0000167016840902,0.4725706721096240,0.3544280040822180
+2.3,0.0000101300834689,0.4725772437102450,0.3544329327826840
+2.4,0.0000061442062091,0.4725812295875040,0.3544359221906280
+2.5,0.0000037266494456,0.4725836471442680,0.3544377353582010
+2.6,0.0000022603271476,0.4725851134665660,0.3544388350999250
+2.7,0.0000013709577150,0.4725860028359990,0.3544395021269990
+2.8,0.0000008315278871,0.4725865422658270,0.3544399066993700
+2.9,0.0000005043471578,0.4725868694465560,0.3544401520849170
+3,0.0000003059020146,0.4725870678916990,0.3544403009187740
+3.1,0.0000001855389503,0.4725871882547630,0.3544403911910720
+3.2,0.0000001125350629,0.4725872612586510,0.3544404459439880
+3.3,0.0000000682559655,0.4725873055377480,0.3544404791533110
+3.4,0.0000000413993364,0.4725873323943770,0.3544404992957830
+3.5,0.0000000251099659,0.4725873486837480,0.3544405115128110
+3.6,0.0000000152299644,0.4725873585637490,0.3544405189228120
+3.7,0.0000000092374400,0.4725873645562740,0.3544405234172050
+3.8,0.0000000056027908,0.4725873681909230,0.3544405261431920
+3.9,0.0000000033982640,0.4725873703954500,0.3544405277965880
+4,0.0000000020611518,0.4725873717325620,0.3544405287994220
+4.1,0.0000000012501518,0.4725873725435620,0.3544405294076710
+4.2,0.0000000007582549,0.4725873730354590,0.3544405297765940
+4.3,0.0000000004599049,0.4725873733338090,0.3544405300003570
+4.4,0.0000000002789467,0.4725873735147670,0.3544405301360750
+4.5,0.0000000001691899,0.4725873736245240,0.3544405302183930
+4.6,0.0000000001026181,0.4725873736910950,0.3544405302683210
+4.7,0.0000000000622409,0.4725873737314730,0.3544405302986050
+4.8,0.0000000000377510,0.4725873737559630,0.3544405303169720
+4.9,0.0000000000228970,0.4725873737708170,0.3544405303281130
+5,0.0000000000138874,0.4725873737798260,0.3544405303348690
diff --git a/models/sbml-test-suite/cases/semantic/00683/00683-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00683/00683-sbml-l2v4.xml
new file mode 100644
index 0000000..045867e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00683/00683-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00683" id="case00683" name="case00683">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.63" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00683/00683-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00683/00683-sbml-l3v1.xml
new file mode 100644
index 0000000..8b780b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00683/00683-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00683" id="case00683" name="case00683" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.63" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00683/00683-settings.txt b/models/sbml-test-suite/cases/semantic/00683/00683-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00683/00683-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00684/00684-results.csv b/models/sbml-test-suite/cases/semantic/00684/00684-results.csv
new file mode 100644
index 0000000..c945a6c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00684/00684-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,0.5,0.375
+0.1,0.606531,0.893469,0.670102
+0.2,0.36788,1.13212,0.84909
+0.3,0.223131,1.27687,0.957652
+0.4,0.135336,1.36466,1.0235
+0.5,0.0820852,1.41791,1.06344
+0.6,0.0497872,1.45021,1.08766
+0.7,0.0301974,1.4698,1.10235
+0.8,0.0183157,1.48168,1.11126
+0.9,1.35336,1.53515,1.15136
+1,0.820853,2.06765,1.55074
+1.1,0.497874,2.39063,1.79298
+1.2,0.301976,2.58653,1.9399
+1.3,0.183157,2.70535,2.02901
+1.4,0.111091,2.77742,2.08306
+1.5,0.0673798,2.82113,2.11585
+1.6,0.0408679,2.84764,2.13573
+1.7,0.0247876,2.86372,2.14779
+1.8,0.0150345,2.87347,2.15511
+1.9,1.11091,3.16611,2.37458
+2,0.673799,3.60322,2.70241
+2.1,0.408681,3.86834,2.90125
+2.2,0.247878,4.02914,3.02185
+2.3,0.150345,4.12667,3.095
+2.4,0.091189,4.18583,3.13937
+2.5,0.0553089,4.22171,3.16628
+2.6,0.0335465,4.24347,3.1826
+2.7,0.020347,4.25667,3.1925
+2.8,0.0123411,4.26468,3.19851
+2.9,0.911892,4.75363,3.56522
+3,0.55309,5.11243,3.83433
+3.1,0.335467,5.33006,3.99754
+3.2,0.203471,5.46205,4.09654
+3.3,0.123411,5.54211,4.15658
+3.4,0.0748527,5.59067,4.193
+3.5,0.0454005,5.62012,4.21509
+3.6,0.0275368,5.63799,4.22849
+3.7,0.0167019,5.64882,4.23662
+3.8,1.23412,5.81992,4.36494
+3.9,0.748529,6.3055,4.72913
+4,0.454007,6.60003,4.95002
+4.1,0.275369,6.77866,5.084
+4.2,0.16702,6.88701,5.16526
+4.3,0.101303,6.95273,5.21455
+4.4,0.0614431,6.99259,5.24444
+4.5,0.0372671,7.01677,5.26257
+4.6,0.0226036,7.03143,5.27357
+4.7,0.0137098,7.04032,5.28024
+4.8,1.01303,7.42951,5.57213
+4.9,0.614431,7.82811,5.87108
+5,0.372673,8.06987,6.0524
diff --git a/models/sbml-test-suite/cases/semantic/00684/00684-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00684/00684-sbml-l2v4.xml
new file mode 100644
index 0000000..a6dd2c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00684/00684-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00684" id="case00684" name="case00684">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.4" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00684/00684-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00684/00684-sbml-l3v1.xml
new file mode 100644
index 0000000..1652fa7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00684/00684-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00684" id="case00684" name="case00684" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.4" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00684/00684-settings.txt b/models/sbml-test-suite/cases/semantic/00684/00684-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00684/00684-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00685/00685-results.csv b/models/sbml-test-suite/cases/semantic/00685/00685-results.csv
new file mode 100644
index 0000000..3a5c533
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00685/00685-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.75
+0.08,0.6703200441823256,0.8296799558176744,1.244519933726511
+0.16,0.4493289640802681,1.050671035919732,1.576006553879598
+0.24,0.3011942064533373,1.198805793546662,1.798208690319993
+0.32,0.2018965177231143,1.298103482276885,1.947155223415328
+0.4,0.1353352829072622,1.364664717092738,2.046997075639107
+0.48,0.09071795254442272,1.409282047455577,2.113923071183366
+0.56,0.06081005561062656,1.439189944389373,2.15878491658406
+0.64,0.04076219975651538,1.459237800243484,2.188856700365227
+0.72,0.02732372034332807,1.472676279656671,2.209014419485007
+0.8,0.01831563810480069,1.481684361895199,2.222526542842798
+0.88,0.01227733975381649,1.487722660246183,2.231583990369275
+0.96,0.008229747047827577,1.491770252952172,2.237655379428259
+1.04,0.005516564323232179,1.494483435676768,2.241725153515153
+1.12,0.003697863527904632,1.496302136472096,2.244453204708144
+1.2,0.002478751966642078,1.497521248033358,2.246281872050038
+1.28,0.001661557093312087,1.498338442906688,2.247507664360032
+1.36,0.001113775019188546,1.498886224980811,2.248329337471218
+1.44,0.0007465857300377335,1.499253414269962,2.248880121404944
+1.52,0.0005004513938013434,1.499499548606199,2.249249322909299
+1.6,0.000335462612732029,1.499664537387269,2.249496806080903
+1.68,0.000224867321056871,1.499775132678944,2.249662699018416
+1.76,0.0001507330750960769,1.499849266924905,2.249773900387358
+1.84,0.0001010394002480587,1.499898960599753,2.249848440899629
+1.92,0.00006772873320626923,1.499932271266795,2.249898406900193
+2.,0.00004539992601244556,1.499954600073989,2.249931900110983
+2.08,0.00003043247974962704,1.499969567520251,2.249954351280377
+2.16,0.00002039950105327602,1.499979600498947,2.249969400748421
+2.24,0.00001367419461333343,1.499986325805388,2.249979488708082
+2.32,9.166086990397236e-6,1.499990833913011,2.249986250869517
+2.4,6.144212060524693e-6,1.499993855787941,2.249990783681912
+2.48,4.118588642897097e-6,1.499995881411359,2.249993822117039
+2.56,2.760772571967429e-6,1.49999723922743,2.249995858841145
+2.64,1.850601171940274e-6,1.49999814939883,2.249997224098245
+2.72,1.240495022893443e-6,1.499998759504979,2.249998139257468
+2.8,8.315286522307949e-7,1.499999168471349,2.249998752707024
+2.88,5.573903102777801e-7,1.499999442609691,2.249999163914537
+2.96,3.736298948084611e-7,1.499999626370107,2.249999439555161
+3.04,2.504516103305639e-7,1.499999749548391,2.249999624322587
+3.12,1.678827389831645e-7,1.499999832117263,2.249999748175894
+3.2,1.125351690818346e-7,1.499999887464832,2.249999831197248
+3.28,7.543458217206196e-8,1.499999924565419,2.249999886848129
+3.36,5.056531347209724e-8,1.499999949434688,2.249999924152032
+3.44,3.389494285277759e-8,1.499999966105058,2.249999949157587
+3.52,2.272045893908455e-8,1.499999977279542,2.249999965919313
+3.6,1.522997855377457e-8,1.499999984770023,2.249999977155035
+3.68,1.020895965665578e-8,1.499999989791042,2.249999984686563
+3.76,6.843270232073377e-9,1.499999993156731,2.249999989735097
+3.84,4.58718124875538e-9,1.49999999541282,2.24999999311923
+3.92,3.074879616500223e-9,1.499999996925122,2.249999995387683
+4.,2.061153622497248e-9,1.499999997938848,2.249999996908272
diff --git a/models/sbml-test-suite/cases/semantic/00685/00685-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00685/00685-sbml-l2v4.xml
new file mode 100644
index 0000000..d192f3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00685/00685-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00685" id="case00685" name="case00685">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00685/00685-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00685/00685-sbml-l3v1.xml
new file mode 100644
index 0000000..6fec093
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00685/00685-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00685" id="case00685" name="case00685" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00685/00685-settings.txt b/models/sbml-test-suite/cases/semantic/00685/00685-settings.txt
new file mode 100644
index 0000000..c134187
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00685/00685-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00686/00686-results.csv b/models/sbml-test-suite/cases/semantic/00686/00686-results.csv
new file mode 100644
index 0000000..fe4e093
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00686/00686-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1e-005,1.5e-005,1e-005,1.5e-005
+0.2,1.092171685585319e-005,1.592171685585319e-005,9.078283144146808e-006,1.638257528377979e-005
+0.4,1.175322249733361e-005,1.67532224973336e-005,8.246777502666394e-006,1.762983374600041e-005
+0.6,1.250334614832109e-005,1.750334614832108e-005,7.496653851678917e-006,1.875501922248162e-005
+0.8,1.318005293210199e-005,1.818005293210199e-005,6.819947067898011e-006,1.977007939815299e-005
+1,1.379052838875794e-005,1.879052838875793e-005,6.209471611242063e-006,2.068579258313691e-005
+1.2,1.434125475743994e-005,1.934125475743994e-005,5.658745242560061e-006,2.151188213615991e-005
+1.4,1.483807986168668e-005,1.983807986168667e-005,5.161920138313325e-006,2.225711979253002e-005
+1.6,1.528627918874569e-005,2.028627918874568e-005,4.713720811254316e-006,2.292941878311853e-005
+1.8,1.56906118954258e-005,2.069061189542579e-005,4.3093881045742e-006,2.35359178431387e-005
+2,1.60553713421862e-005,2.105537134218619e-005,3.944628657813809e-006,2.408305701327929e-005
+2.2,1.638443067851055e-005,2.138443067851054e-005,3.615569321489457e-006,2.457664601776582e-005
+2.4,1.66812839801425e-005,2.168128398014249e-005,3.318716019857503e-006,2.502192597021375e-005
+2.6,1.694908334932253e-005,2.194908334932253e-005,3.05091665067747e-006,2.54236250239838e-005
+2.8,1.719067238298233e-005,2.219067238298232e-005,2.809327617017678e-006,2.578600857447349e-005
+3,1.740861636649319e-005,2.240861636649318e-005,2.591383633506813e-006,2.611292454973978e-005
+3.2,1.760522951272398e-005,2.260522951272398e-005,2.394770487276019e-006,2.640784426908597e-005
+3.4,1.778259953525528e-005,2.278259953525527e-005,2.217400464744723e-006,2.667389930288292e-005
+3.6,1.794260981654122e-005,2.294260981654122e-005,2.057390183458779e-006,2.691391472481183e-005
+3.8,1.808695940641624e-005,2.308695940641623e-005,1.913040593583762e-006,2.713043910962436e-005
+4,1.82171810634182e-005,2.321718106341819e-005,1.782818936581801e-006,2.73257715951273e-005
+4.2,1.833465753074943e-005,2.333465753074943e-005,1.665342469250569e-006,2.750198629612415e-005
+4.4,1.844063622012971e-005,2.34406362201297e-005,1.559363779870293e-006,2.766095433019456e-005
+4.6,1.853624245858543e-005,2.353624245858543e-005,1.46375754141457e-006,2.780436368787814e-005
+4.8,1.862249142964299e-005,2.362249142964299e-005,1.377508570357006e-006,2.793373714446449e-005
+5,1.870029895491054e-005,2.370029895491054e-005,1.299701045089454e-006,2.805044843236582e-005
+5.2,1.87704912191689e-005,2.377049121916889e-005,1.229508780831102e-006,2.815573682875335e-005
+5.4,1.883381354629767e-005,2.383381354629767e-005,1.166186453702324e-006,2.825072031944651e-005
+5.6,1.889093832231157e-005,2.389093832231157e-005,1.109061677688421e-006,2.833640748346737e-005
+5.8,1.894247213556315e-005,2.394247213556314e-005,1.057527864436848e-006,2.841370820334473e-005
+6,1.898896218288382e-005,2.398896218288381e-005,1.011037817116175e-006,2.848344327432574e-005
+6.2,1.903090209891937e-005,2.403090209891937e-005,9.690979010806217e-007,2.854635314837907e-005
+6.4,1.906873721959893e-005,2.406873721959892e-005,9.31262780401069e-007,2.86031058293984e-005
+6.6,1.910286931889792e-005,2.410286931889791e-005,8.971306811020789e-007,2.865430397834689e-005
+6.8,1.913366080734339e-005,2.413366080734339e-005,8.663391926566026e-007,2.87004912110151e-005
+7,1.916143862259316e-005,2.416143862259315e-005,8.385613774068339e-007,2.874215793388976e-005
+7.2,1.9186497749884e-005,2.4186497749884e-005,8.135022501159914e-007,2.877974662482602e-005
+7.4,1.920910427282164e-005,2.420910427282163e-005,7.908957271783566e-007,2.881365640923247e-005
+7.6,1.922949820698523e-005,2.422949820698522e-005,7.705017930147683e-007,2.884424731047785e-005
+7.8,1.924789613966798e-005,2.424789613966797e-005,7.521038603320186e-007,2.887184420950198e-005
+8,1.926449341328984e-005,2.426449341328983e-005,7.355065867101523e-007,2.889674011993478e-005
+8.2,1.92794662432658e-005,2.42794662432658e-005,7.20533756734191e-007,2.891919936489872e-005
+8.4,1.929297366085713e-005,2.429297366085712e-005,7.070263391428669e-007,2.89394604912857e-005
+8.6,1.930515904799408e-005,2.430515904799408e-005,6.948409520059094e-007,2.895773857199114e-005
+8.8,1.931615182307695e-005,2.431615182307695e-005,6.838481769230386e-007,2.897422773461544e-005
+9,1.932606870449483e-005,2.432606870449483e-005,6.73931295505162e-007,2.898910305674226e-005
+9.2,1.933501497830572e-005,2.433501497830571e-005,6.649850216942768e-007,2.900252246745859e-005
+9.4,1.934308567198518e-005,2.434308567198518e-005,6.569143280148085e-007,2.901462850797779e-005
+9.6,1.935036643965685e-005,2.435036643965684e-005,6.49633560343147e-007,2.902554965948528e-005
+9.8,1.935693463946567e-005,2.435693463946566e-005,6.430653605343274e-007,2.903540195919851e-005
+10,1.936285996787155e-005,2.436285996787154e-005,6.371400321284463e-007,2.904428995180733e-005
diff --git a/models/sbml-test-suite/cases/semantic/00686/00686-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00686/00686-sbml-l2v4.xml
new file mode 100644
index 0000000..ae1c9fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00686/00686-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00686" id="case00686" name="case00686">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="2.25" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00686/00686-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00686/00686-sbml-l3v1.xml
new file mode 100644
index 0000000..30a84d5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00686/00686-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00686" id="case00686" name="case00686" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="2.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00686/00686-settings.txt b/models/sbml-test-suite/cases/semantic/00686/00686-settings.txt
new file mode 100644
index 0000000..82f5a1c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00686/00686-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00687/00687-results.csv b/models/sbml-test-suite/cases/semantic/00687/00687-results.csv
new file mode 100644
index 0000000..536c155
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00687/00687-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.4,0.9607894505357768,0.000833845462800037,0.03837670400142282,0.01096477257183509
+0.8,0.9231163576760428,0.003244954546376271,0.07363868777758049,0.02103962507930871
+1.2,0.8869204465742713,0.007103947949298944,0.1059756054764292,0.03027874442183693
+1.6,0.852143797119792,0.01228934852172851,0.1355668543584791,0.03873338695956546
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.0464520239891676
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408772
+2.8,0.7557837471460103,0.03469896050720146,0.2095172923467876,0.05986208352765363
+3.2,0.7261490388594339,0.0441187653010724,0.229732195839493,0.06563777023985516
+3.6,0.6976763279936457,0.05436192220430618,0.2479617498020474,0.07084621422915637
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211858,0.07552395726319598
+4.4,0.6440364243161742,0.07699430970508103,0.2789692659787441,0.07970550456535545
+4.8,0.6187833959095926,0.08923458373363538,0.2919820203567714,0.08342343438764901
+5.2,0.5945205527446842,0.1019997080082743,0.3034797392470407,0.08670849692772592
+5.6,0.5712090691367363,0.115226949975085,0.3135639808881781,0.08958970882519376
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.4,0.527292430303364,0.1428377588031926,0.3298698108934429,0.09424851739812654
+6.8,0.5066169990569292,0.1571160534772621,0.3362669474658082,0.09607627070451664
+7.2,0.4867522629833074,0.1716454790421783,0.3416022579745136,0.09760064513557531
+7.6,0.4676664342769864,0.1863821660702592,0.3459513996527536,0.09884325704364391
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.4,0.431710531003235,0.2163174009346478,0.3519720680621165,0.1005634480177475
+8.8,0.4147829193123543,0.2314432235434361,0.3537738571442088,0.1010782448983453
+9.2,0.3985190487020195,0.2466305193308348,0.354850431967145,0.1013858377048985
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695932
+10.,0.3678794486179236,0.2770723716247996,0.3550481797572761,0.1014423370735074
+10.4,0.3534546892749864,0.2922740173858473,0.3542712933391656,0.1012203695254758
+10.8,0.3395955328109051,0.3074310434580307,0.3529734237310636,0.1008495496374467
+11.2,0.3262798016246614,0.3225220653115714,0.3511981330637665,0.1003423237325047
+11.6,0.3134861877122507,0.3375275074378869,0.3489863048498616,0.09971037281424619
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.4,0.2893842244231299,0.3672117317421291,0.3434040438347404,0.09811544109564013
+12.8,0.2780373067704968,0.381859433253978,0.3401032599755243,0.09717235999300698
+13.2,0.2671353081234729,0.396359199620259,0.3365054922562674,0.09614442635893352
+13.6,0.2566607829604508,0.4106989428400723,0.3326402741994762,0.09504007834270752
+14.,0.2465969698081156,0.4248677993481391,0.3285352308437446,0.09386720881249845
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153508
+14.8,0.2276376940033317,0.4526550476174064,0.319707258379261,0.09134493096550311
+15.2,0.218711892465461,0.4662571409389489,0.3150309665955892,0.09000884759873981
+15.6,0.210136076619001,0.4796556129651469,0.3102083104158512,0.08863094583310034
+16.,0.201896523328712,0.4928446152826624,0.3052588613886247,0.08721681753960708
+16.4,0.1939800475509628,0.5058191090957615,0.300200843353275,0.08577166952950714
+16.8,0.1863739812348858,0.5185748091363077,0.2950512096288057,0.08430034560823021
+17.2,0.1790661530508464,0.5311081307944476,0.2898257161547053,0.08280734747277292
+17.6,0.1720448689137586,0.5434161403007272,0.2845389907855135,0.08129685451014674
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171494
+18.4,0.1588174311185365,0.5673474631569459,0.2738351057245168,0.07823860163557623
+18.8,0.1525901107358551,0.5789677543709074,0.268442134893237,0.07669775282663916
+19.2,0.1466069670797981,0.5903566084244245,0.2630364244957769,0.0751532641416506
+19.6,0.1408584258429966,0.6015136944724306,0.2576278796845722,0.07360796562416344
+20.,0.1353352888698187,0.612439089880779,0.2522256212494018,0.07206446321411481
diff --git a/models/sbml-test-suite/cases/semantic/00687/00687-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00687/00687-sbml-l2v4.xml
new file mode 100644
index 0000000..4ea72db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00687/00687-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00687" id="case00687" name="case00687">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00687/00687-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00687/00687-sbml-l3v1.xml
new file mode 100644
index 0000000..30b757f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00687/00687-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00687" id="case00687" name="case00687" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00687/00687-settings.txt b/models/sbml-test-suite/cases/semantic/00687/00687-settings.txt
new file mode 100644
index 0000000..907ac85
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00687/00687-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: X0, X1, T, S1
diff --git a/models/sbml-test-suite/cases/semantic/00688/00688-results.csv b/models/sbml-test-suite/cases/semantic/00688/00688-results.csv
new file mode 100644
index 0000000..c7db77f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00688/00688-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.15
+0.06,0.09559974818354802,0.154400251816452
+0.12,0.0913931050145427,0.1586068949854573
+0.18,0.08737156685181118,0.1626284331481888
+0.24,0.08352700416912126,0.1664729958308787
+0.3,0.07985162005640108,0.1701483799435989
+0.36,0.07633794990324498,0.173662050096755
+0.42,0.07297887503838359,0.1770211249616164
+0.48,0.06976761708106538,0.1802323829189346
+0.54,0.06669767509350692,0.1833023249064931
+0.6,0.06376281868405441,0.1862371813159456
+0.66,0.06095708861364566,0.1890429113863544
+0.72,0.05827481431897244,0.1917251856810276
+0.78,0.05571057760329348,0.1942894223967065
+0.84,0.05325918083224934,0.1967408191677507
+0.9,0.05091564636691624,0.1990843536330838
+0.96,0.04867522157750751,0.2013247784224925
+1.02,0.04653338524611163,0.2034666147538884
+1.08,0.04448580396573713,0.2055141960342629
+1.14,0.04252832341602446,0.2074716765839755
+1.2,0.04065696828512793,0.2093430317148721
+1.26,0.03886795273806278,0.2111320472619372
+1.32,0.03715766489484573,0.2128423351051543
+1.38,0.03552263968832875,0.2144773603116713
+1.44,0.03395955775450601,0.216040442245494
+1.5,0.03246524700027081,0.2175347529997292
+1.56,0.03103669075961321,0.2189633092403868
+1.62,0.02967100060698858,0.2203289993930114
+1.68,0.0283654066618439,0.2216345933381561
+1.74,0.02711725743929629,0.2228827425607037
+1.8,0.02592402525888609,0.2240759747411139
+1.86,0.02478330196391486,0.2252166980360852
+1.92,0.02369277764031059,0.2263072223596894
+1.98,0.02265023882200228,0.2273497611779977
+2.04,0.02165356890851881,0.2283464310914812
+2.1,0.02070075439879159,0.2292992456012084
+2.16,0.01978987004924199,0.230210129950758
+2.22,0.01891906914628548,0.2310809308537145
+2.28,0.01808658337580951,0.2319134166241905
+2.34,0.01729072517280079,0.2327092748271992
+2.4,0.01652988855485029,0.2334701114451497
+2.46,0.015802533742481,0.234197466257519
+2.52,0.01510718479921382,0.2348928152007862
+2.58,0.01444242966731798,0.235557570332682
+2.64,0.01380692415387221,0.2361930758461278
+2.7,0.01319938492291032,0.2368006150770897
+2.76,0.01261858081069878,0.2373814191893012
+2.82,0.01206333260687805,0.2379366673931219
+2.88,0.01153251524400474,0.2384674847559953
+2.94,0.01102505563894723,0.2389749443610528
+3,0.01053992568117293,0.2394600743188271
diff --git a/models/sbml-test-suite/cases/semantic/00688/00688-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00688/00688-sbml-l2v4.xml
new file mode 100644
index 0000000..3e24eae
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00688/00688-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00688" id="case00688" name="case00688">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00688/00688-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00688/00688-sbml-l3v1.xml
new file mode 100644
index 0000000..c2854a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00688/00688-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00688" id="case00688" name="case00688" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00688/00688-settings.txt b/models/sbml-test-suite/cases/semantic/00688/00688-settings.txt
new file mode 100644
index 0000000..066e26b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00688/00688-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00689/00689-results.csv b/models/sbml-test-suite/cases/semantic/00689/00689-results.csv
new file mode 100644
index 0000000..4001b6b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00689/00689-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.06,0.74081822061863,0.2591817793813703,0.1943863345360277
+0.12,0.5488116327751873,0.451188367224813,0.3383912754186098
+0.18,0.4065696363794045,0.5934303636205955,0.4450727727154466
+0.24,0.3011942062316366,0.6988057937683632,0.5241043453262724
+0.3,0.223130147236999,1.026869824742582,0.7701523685569367
+0.36,0.1652988786013444,1.084701093378236,0.8135258200336774
+0.42,0.1224564204950498,1.127543551484531,0.8456576636133985
+0.48,0.09071793358147733,1.159282038398103,0.8694615287985778
+0.54,0.06720550885969561,1.182794463119885,0.8870958473399144
+0.6,0.0497870652820121,1.200212906697569,0.900159680023177
+0.66,0.03688316465371729,1.213116807325864,0.9098376054943981
+0.72,0.02732371985430624,1.222676252125275,0.9170071890939561
+0.78,0.02024191019658524,1.229758061782996,0.9223185463372471
+0.84,0.01499557580383945,1.235004396175741,0.9262532971318062
+0.9,0.01110899579539756,1.238890976184183,0.9291682321381376
+0.96,0.008229745789417897,1.241770226190163,0.9313276696426227
+1.02,0.006096745657952129,1.243903226321629,0.9329274197412218
+1.08,0.004516580652407666,1.245483391327173,0.93411254349538
+1.14,0.003345965089661559,1.24665400688992,0.93499050516744
+1.2,0.002478751759666465,1.247521220219915,0.9356409151649363
+1.26,0.001836304582310336,1.24816366739727,0.9361227505479532
+1.32,0.001360367947964719,1.248639604031616,0.9364797030237124
+1.38,0.001007785275868651,1.248992186703712,0.9367441400277845
+1.44,0.0007465856963983631,1.249253386283182,0.9369400397123872
+1.5,0.0005530843341106973,1.24944688764547,0.9370851657341028
+1.56,0.0004097349346043828,1.249590237044976,0.9371926777837323
+1.62,0.0003035390870036157,1.249696432892577,0.9372723246694331
+1.68,0.0002248672999768332,1.249775104679604,0.9373313285097031
+1.74,0.000166585800179046,1.249833386179402,0.9373750396345514
+1.8,0.0001234097854632218,1.249876562194117,0.9374074216455883
+1.86,0.00009142421766530934,1.249908547761915,0.9374314108214367
+1.92,0.00006772873201353706,1.249932243247567,0.9374491824356754
+1.98,0.00005017467670366335,1.249949797302877,0.9374623479771577
+2.04,0.00003717031242975802,1.24996280166715,0.9374721012503631
+2.1,0.0000275364463422924,1.249972435533238,0.9374793266499288
+2.16,0.0000203995021063526,1.249979572477474,0.9374846793581058
+2.22,0.00001511232155620694,1.249984859658025,0.9374886447435186
+2.28,0.00001119548313915139,1.249988776496442,0.9374915823723315
+2.34,8.293818604231777e-6,1.249991678160977,0.9374937586207329
+2.4,6.144211707865247e-6,1.249993827767873,0.9374953708259052
+2.46,4.551743697390004e-6,1.249995420235884,0.9374965651769131
+2.52,3.372014860503714e-6,1.249996599964721,0.9374974499735409
+2.58,2.498050168252013e-6,1.249997473929413,0.9374981054470599
+2.64,1.85060092250951e-6,1.249998121378659,0.9374985910339944
+2.7,1.370958876362841e-6,1.249998601020705,0.937498950765529
+2.76,1.015631401798571e-6,1.24999895634818,0.9374992172611351
+2.82,7.52398221397399e-7,1.24999921958136,0.9374994146860203
+2.88,5.573902755511548e-7,1.249999414589306,0.9374995609419797
+2.94,4.129248951789132e-7,1.249999559054686,0.9374996692910149
+3.,3.059023029166782e-7,1.249999666077279,0.9374997495579593
diff --git a/models/sbml-test-suite/cases/semantic/00689/00689-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00689/00689-sbml-l2v4.xml
new file mode 100644
index 0000000..03a68fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00689/00689-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00689" id="case00689" name="case00689">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00689/00689-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00689/00689-sbml-l3v1.xml
new file mode 100644
index 0000000..c7ced4e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00689/00689-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00689" id="case00689" name="case00689" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00689/00689-settings.txt b/models/sbml-test-suite/cases/semantic/00689/00689-settings.txt
new file mode 100644
index 0000000..e7bbf91
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00689/00689-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00690/00690-results.csv b/models/sbml-test-suite/cases/semantic/00690/00690-results.csv
new file mode 100644
index 0000000..2fb7dfc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00690/00690-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.06,0.8607079763718766,0.1392920236281235,0.1044690177210926
+0.12,0.74081822061863,0.2591817793813703,0.1943863345360277
+0.18,0.6376281440841984,0.3623718559158018,0.2717788919368514
+0.24,0.5488116327751873,0.451188367224813,0.3383912754186098
+0.3,0.4723665525734971,0.5276334474265029,0.3957250855698772
+0.36,0.4065696363794045,0.5934303636205955,0.4450727727154466
+0.42,0.349937732024281,0.650062267975719,0.4875467009817893
+0.48,0.3011942062316366,0.6988057937683632,0.5241043453262724
+0.54,0.2592402606112731,0.7407597393887268,0.5555698045415451
+0.6,0.2231301472367447,0.7768698527632551,0.5826523895724413
+0.66,0.1920498970911305,0.8079501029088692,0.6059625771816519
+0.72,0.1652988785987044,0.8347011214012953,0.6260258410509715
+0.78,0.1422740634012877,0.8577259365987118,0.6432944524490339
+0.84,0.1224564205304492,0.8775435794695504,0.6581576846021628
+0.9,0.1053992168824512,0.8946007831175484,0.6709505873381613
+0.96,0.0907179333072365,0.909282066692763,0.6819615500195722
+1.02,0.07808166150884182,0.9219183384911581,0.6914387538683686
+1.08,0.06720550885927012,0.9327944911407297,0.6995958683555473
+1.14,0.05784431720318122,0.9421556827968187,0.706616762097614
+1.2,0.04978706526884804,0.9502129347311518,0.7126597010483639
+1.26,0.04285212406079749,0.9571478759392024,0.7178609069544018
+1.32,0.03688316473591073,0.9631168352640892,0.7223376264480668
+1.38,0.03174563376243728,0.9682543662375626,0.7261907746781719
+1.44,0.02732371999032187,0.9726762800096781,0.7295072100072586
+1.5,0.0235177441509373,0.9764822558490626,0.732361691886797
+1.56,0.02024191018412836,0.7502793363689518,0.5627095022767139
+1.62,0.01742237355207776,0.7530988730010023,0.5648241547507517
+1.68,0.01499557587015043,0.7555256706829296,0.5666442530121972
+1.74,0.01290681173719274,0.7576144348158874,0.5682108261119155
+1.8,0.0111089958391538,0.7594122507139262,0.5695591880354447
+1.86,0.009561601248776587,0.7609596453043036,0.5707197339782277
+1.92,0.008229746388837356,0.7622915001642428,0.5717186251231821
+1.98,0.007083407566501208,0.7634378389865789,0.5725783792399341
+2.04,0.006096746184666344,0.7644245003684138,0.5733183752763103
+2.1,0.005247518069183829,0.7652737284838961,0.5739552963629222
+2.16,0.004516580646679081,0.766004665906401,0.5745034994298008
+2.22,0.003887456897244834,0.7666337896558354,0.5749753422418765
+2.28,0.003345965248497503,0.7671752813045827,0.5753814609784371
+2.34,0.002879898905378909,0.7676413476477012,0.5757310107357759
+2.4,0.002478751987441075,0.768042494565639,0.5760318709242292
+2.46,0.002133481490324126,0.7683877650627558,0.5762908237970668
+2.52,0.001836304537914675,0.7686849420151653,0.576513706511374
+2.58,0.001580521977189129,0.7689407245758908,0.5767055434319181
+2.64,0.001360367893711521,0.7691608786593685,0.5768706589945263
+2.7,0.001170879518734905,0.7693503670343452,0.5770127752757588
+2.76,0.00100778528534928,0.7695134612677309,0.5771350959507981
+2.82,0.000867408809010393,0.7696538377440698,0.5772403783080524
+2.88,0.0007465856847203518,0.7697746608683597,0.5773309956512697
+2.94,0.000642592277043991,0.769878654276036,0.577408990707027
+3.,0.0005530843356742176,0.7699681622174058,0.5774761216630544
diff --git a/models/sbml-test-suite/cases/semantic/00690/00690-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00690/00690-sbml-l2v4.xml
new file mode 100644
index 0000000..11d57e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00690/00690-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00690" id="case00690" name="case00690">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00690/00690-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00690/00690-sbml-l3v1.xml
new file mode 100644
index 0000000..e442dc0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00690/00690-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00690" id="case00690" name="case00690" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00690/00690-settings.txt b/models/sbml-test-suite/cases/semantic/00690/00690-settings.txt
new file mode 100644
index 0000000..e7bbf91
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00690/00690-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00691/00691-results.csv b/models/sbml-test-suite/cases/semantic/00691/00691-results.csv
new file mode 100644
index 0000000..2c69ea7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00691/00691-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.75
+0.06,1.,0.8000000000000002,1.2
+0.12,1.,1.1,1.650000000000001
+0.18,1.,1.400000000000001,2.100000000000001
+0.24,1.,1.700000000000001,2.550000000000001
+0.3,1.,2.,3.000000000000001
+0.36,1.,2.300000000000001,3.450000000000002
+0.42,1.,2.600000000000001,3.900000000000001
+0.48,1.,2.9,4.350000000000001
+0.54,1.,3.200000000000001,4.800000000000001
+0.6,1.,3.5,5.250000000000001
+0.66,1.,3.800000000000001,5.700000000000002
+0.72,1.,4.1,6.15
+0.78,1.,4.4,6.6
+0.84,1.,4.7,7.05
+0.9,1.,5.,7.500000000000001
+0.96,1.,5.3,7.950000000000001
+1.02,1.,5.600000000000001,8.400000000000002
+1.08,1.,5.900000000000001,8.850000000000001
+1.14,1.,6.200000000000001,9.3
+1.2,1.,6.5,9.750000000000001
+1.26,1.,6.8,10.2
+1.32,1.,7.100000000000001,10.65
+1.38,1.,7.4,11.1
+1.44,1.,7.700000000000001,11.55
+1.5,1.,8.000000000000001,12.
+1.56,1.,8.3,12.45
+1.62,1.,8.600000000000001,12.9
+1.68,1.,8.900000000000002,13.35
+1.74,1.,9.200000000000001,13.8
+1.8,1.,9.500000000000001,14.25
+1.86,1.,9.800000000000002,14.7
+1.92,1.,10.1,15.15
+1.98,1.,10.4,15.6
+2.04,1.,10.7,16.05
+2.1,1.,11.,16.5
+2.16,1.,11.3,16.95
+2.22,1.,11.6,17.4
+2.28,1.,11.9,17.85
+2.34,1.,12.2,18.3
+2.4,1.,12.5,18.75
+2.46,1.,12.8,19.2
+2.52,1.,13.1,19.65
+2.58,1.,13.4,20.1
+2.64,1.,13.7,20.55
+2.7,1.,14.,21.
+2.76,1.,14.29999999999999,21.44999999999999
+2.82,1.,14.6,21.89999999999999
+2.88,1.,14.89999999999999,22.34999999999999
+2.94,1.,15.19999999999999,22.79999999999999
+3.,1.,15.5,23.25
diff --git a/models/sbml-test-suite/cases/semantic/00691/00691-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00691/00691-sbml-l2v4.xml
new file mode 100644
index 0000000..c8b98e3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00691/00691-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00691" id="case00691" name="case00691">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00691/00691-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00691/00691-sbml-l3v1.xml
new file mode 100644
index 0000000..c8d8a1b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00691/00691-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00691" id="case00691" name="case00691" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00691/00691-settings.txt b/models/sbml-test-suite/cases/semantic/00691/00691-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00691/00691-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00692/00692-results.csv b/models/sbml-test-suite/cases/semantic/00692/00692-results.csv
new file mode 100644
index 0000000..31e936a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00692/00692-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.75
+0.06,0.7408182187558554,0.7591817812441445,1.138772671866216
+0.12,0.5488116323281855,0.9511883676718144,1.426782551507721
+0.18,0.4065696592156866,1.093430340784313,1.64014551117647
+0.24,0.3011942050065561,1.198805794993443,1.798208692490165
+0.3,0.2231301601191982,1.276869839880801,1.915304759821201
+0.36,0.1652988878608302,1.334701112139169,2.002051668208753
+0.42,0.1224564247870194,1.37754357521298,2.06631536281947
+0.48,0.09071795115631765,1.409282048843682,2.113923073265523
+0.54,0.06720550940314899,1.43279449059685,2.149191735895276
+0.6,0.0497870657134584,1.450212934286541,2.175319401429812
+0.66,0.03688316530400716,1.463116834695992,2.194675252043988
+0.72,0.02732371914839225,1.472676280851607,2.209014421277411
+0.78,0.02024191135497913,1.47975808864502,2.21963713296753
+0.84,0.01499557529639119,1.485004424703608,2.227506637055412
+0.9,0.01110899570316525,1.488891004296834,2.233336506445251
+0.96,0.008229746849154491,1.491770253150845,2.237655379726267
+1.02,0.006096745809176928,1.493903254190822,2.240854881286233
+1.08,0.004516580881736157,1.495483419118263,2.243225128677394
+1.14,0.00334596515976784,1.496654034840231,2.244981052260347
+1.2,0.002478751955069747,1.497521248044929,2.246281872067394
+1.26,0.001836304755013479,1.498163695244986,2.247245542867479
+1.32,0.001360367868790929,1.498639632131208,2.247959448196813
+1.38,0.001007785403041463,1.498992214596958,2.248488321895437
+1.44,0.0007465857527717486,1.499253414247227,2.248880121370841
+1.5,0.0005530843138133421,1.499446915686186,2.249170373529279
+1.56,0.0004097349775938552,1.499590265022405,2.249385397533608
+1.62,0.0003035391014388561,1.49969646089856,2.249544691347841
+1.68,0.0002248673151299935,1.499775132684869,2.249662699027304
+1.74,0.0001665858011789329,1.49983341419882,2.249750121298231
+1.8,0.0001234097902692744,1.49987659020973,2.249814885314595
+1.86,0.0000914242314787885,1.49990857576852,2.249862863652781
+1.92,0.00006772872875959527,1.49993227127124,2.24989840690686
+1.98,0.000050174679262783,1.499949825320737,2.249924737981105
+2.04,0.00003717031708371834,1.499962829682916,2.249944244524374
+2.1,0.00002753644606533078,1.499972463553934,2.249958695330902
+2.16,0.00002039950335414462,1.499979600496645,2.249969400744968
+2.22,0.00001511232223853438,1.499984887677761,2.249977331516642
+2.28,0.00001119548404641345,1.499988804515954,2.249983206773931
+2.34,8.293818928275425e-6,1.499991706181072,2.249987559271609
+2.4,6.14421159468688e-6,1.499993855788406,2.249990783682609
+2.46,4.551744414542819e-6,1.499995448255586,2.249993172383379
+2.52,3.372014921975075e-6,1.499996627985079,2.249994941977618
+2.58,2.498050111772688e-6,1.499997501949889,2.249996252924834
+2.64,1.85060116985692e-6,1.499998149398831,2.249997224098247
+2.7,1.370958915876938e-6,1.499998629041085,2.249997943561628
+2.76,1.015631448435194e-6,1.499998984368552,2.249998476552829
+2.82,7.523982401474638e-7,1.499999247601761,2.249998871402642
+2.88,5.573903142552273e-7,1.499999442609687,2.24999916391453
+2.94,4.129249394241999e-7,1.499999587075062,2.249999380612592
+3.,3.059023205080971e-7,1.499999694097681,2.249999541146521
diff --git a/models/sbml-test-suite/cases/semantic/00692/00692-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00692/00692-sbml-l2v4.xml
new file mode 100644
index 0000000..dcbb664
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00692/00692-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00692" id="case00692" name="case00692">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00692/00692-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00692/00692-sbml-l3v1.xml
new file mode 100644
index 0000000..95d7cf7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00692/00692-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00692" id="case00692" name="case00692" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00692/00692-settings.txt b/models/sbml-test-suite/cases/semantic/00692/00692-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00692/00692-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00693/00693-results.csv b/models/sbml-test-suite/cases/semantic/00693/00693-results.csv
new file mode 100644
index 0000000..d708a8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00693/00693-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.00001,0.00001592307704515917,9.076922954840827e-6,0.000015
+0.4,0.00001,0.0000167583116956468,8.2416883043532e-6,0.000015
+0.6,0.00001,0.00001751406327645501,7.485936723545e-6,0.000015
+0.8,0.00001,0.00001819789557161777,6.802104428382238e-6,0.000015
+1.,0.00001,0.0000188166526191481,6.183347380851904e-6,0.000015
+1.2,0.00001,0.00001937652722691548,5.623472773084521e-6,0.000015
+1.4,0.00001,0.00001988312265375436,5.116877346245645e-6,0.000015
+1.6,0.00001,0.00002034150912996739,4.658490870032623e-6,0.000015
+1.8,0.00001,0.00002075627435086197,4.243725649138043e-6,0.000015
+2.,0.00001,0.00002113156949622988,3.868430503770133e-6,0.000015
+2.2,0.00001,0.00002147115048813503,3.528849511864993e-6,0.000015
+2.4,0.00001,0.00002177841614458979,3.221583855410242e-6,0.000015
+2.6,0.00001,0.00002205644160773381,2.943558392266216e-6,0.000015
+2.8,0.00001,0.00002230800946495032,2.691990535049706e-6,0.000015
+3.,0.00001,0.00002253563744765062,2.464362552349415e-6,0.000015
+3.2,0.00001,0.00002274160378753733,2.258396212462701e-6,0.000015
+3.4,0.00001,0.00002292796985018509,2.072030149814932e-6,0.000015
+3.6,0.00001,0.00002309660083313553,1.903399166864495e-6,0.000015
+3.8,0.00001,0.00002324918440247748,1.750815597522543e-6,0.000015
+4.,0.00001,0.00002338724776721817,1.612752232781861e-6,0.000015
+4.2,0.00001,0.00002351217268353601,1.487827316464022e-6,0.000015
+4.4,0.00001,0.00002362520938898583,1.374790611014202e-6,0.000015
+4.6,0.00001,0.00002372748929150848,1.272510708491549e-6,0.000015
+4.8,0.00001,0.00002382003586736357,1.179964132636459e-6,0.000015
+5.,0.00001,0.00002390377554258839,1.096224457411632e-6,0.000015
+5.2,0.00001,0.00002397954634516989,1.02045365483014e-6,0.000015
+5.4,0.00001,0.00002404810653021106,9.518934697889679e-7,0.000015
+5.6,0.00001,0.00002411014242197048,8.898575780295475e-7,0.000015
+5.8,0.00001,0.00002416627480171284,8.337251982871889e-7,0.000015
+6.,0.00001,0.00002421706545093118,7.829345490688523e-7,0.000015
+6.2,0.00001,0.00002426302273905074,7.369772609492868e-7,0.000015
+6.4,0.00001,0.00002430460664871039,6.953933512896441e-7,0.000015
+6.6,0.00001,0.00002434223332091126,6.577666790887729e-7,0.000015
+6.8,0.00001,0.00002437627931930711,6.237206806929185e-7,0.000015
+7.,0.00001,0.00002440708539591723,5.92914604082799e-7,0.000015
+7.2,0.00001,0.00002443495989227123,5.650401077287962e-7,0.000015
+7.4,0.00001,0.00002446018180431659,5.398181956834399e-7,0.000015
+7.6,0.00001,0.00002448300353756,5.169964624400376e-7,0.000015
+7.8,0.00001,0.00002450365348394898,4.963465160510526e-7,0.000015
+8.,0.00001,0.00002452233831607107,4.776616839289674e-7,0.000015
+8.2,0.00001,0.00002453924504976814,4.60754950231894e-7,0.000015
+8.4,0.00001,0.00002455454290846303,4.454570915370024e-7,0.000015
+8.6,0.00001,0.00002456838499022513,4.316150097749026e-7,0.000015
+8.8,0.00001,0.00002458090981848926,4.190901815107808e-7,0.000015
+9.,0.00001,0.0000245922427439372,4.077572560628373e-7,0.000015
+9.2,0.00001,0.00002460249720250423,3.975027974958019e-7,0.000015
+9.4,0.00001,0.00002461177581705791,3.882241829421231e-7,0.000015
+9.6,0.00001,0.00002462017145545888,3.798285445411538e-7,0.000015
+9.8,0.00001,0.0000246277681444079,3.722318555921346e-7,0.000015
+10.,0.00001,0.0000246346419141086,3.653580858914319e-7,0.000015
diff --git a/models/sbml-test-suite/cases/semantic/00693/00693-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00693/00693-sbml-l1v2.xml
new file mode 100644
index 0000000..d7ebd52
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00693/00693-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00693">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1e-005" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="C" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="2.25" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.015"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S1" species="S4"/>
+      <speciesConcentrationRule formula="k2 * S3 + -1 * k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00693/00693-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00693/00693-sbml-l2v4.xml
new file mode 100644
index 0000000..ceb5541
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00693/00693-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00693" id="case00693" name="case00693">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00693/00693-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00693/00693-sbml-l3v1.xml
new file mode 100644
index 0000000..e6ea11b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00693/00693-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00693" id="case00693" name="case00693" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00693/00693-settings.txt b/models/sbml-test-suite/cases/semantic/00693/00693-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00693/00693-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00694/00694-results.csv b/models/sbml-test-suite/cases/semantic/00694/00694-results.csv
new file mode 100644
index 0000000..b4f0c60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00694/00694-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.0000109217168516862,0.00001592171685168619,9.078283148313796e-6,0.0000163825752775293
+0.4,0.00001175322248611593,0.00001675322248611592,8.246777513884069e-6,0.00001762983372917389
+0.6,0.00001250334614858563,0.00001750334614858562,7.496653851414368e-6,0.00001875501922287844
+0.8,0.00001318005293522239,0.00001818005293522239,6.819947064777604e-6,0.00001977007940283359
+1.,0.00001379052838101457,0.00001879052838101457,6.209471618985424e-6,0.00002068579257152185
+1.2,0.00001434125475998713,0.00001934125475998713,5.658745240012861e-6,0.0000215118821399807
+1.4,0.00001483807988873711,0.00001983807988873711,5.161920111262884e-6,0.00002225711983310566
+1.6,0.00001528627923921957,0.00002028627923921957,4.713720760780419e-6,0.00002292941885882936
+1.8,0.00001569061195944459,0.00002069061195944459,4.309388040555399e-6,0.00002353591793916689
+2.,0.00001605537201135175,0.00002105537201135175,3.944627988648242e-6,0.00002408305801702762
+2.2,0.00001638443067396678,0.00002138443067396677,3.615569326033227e-6,0.00002457664601095016
+2.4,0.00001668128397414227,0.00002168128397414227,3.318716025857725e-6,0.00002502192596121341
+2.6,0.00001694908334211642,0.00002194908334211642,3.050916657883575e-6,0.00002542362501317464
+2.8,0.00001719067238789137,0.00002219067238789137,2.809327612108627e-6,0.00002578600858183706
+3.,0.00001740861636010126,0.00002240861636010126,2.591383639898737e-6,0.00002611292454015189
+3.2,0.00001760522951714257,0.00002260522951714257,2.39477048285742e-6,0.00002640784427571386
+3.4,0.00001778259957214644,0.00002278259957214644,2.217400427853551e-6,0.00002667389935821966
+3.6,0.00001794260981060975,0.00002294260981060975,2.057390189390241e-6,0.00002691391471591463
+3.8,0.00001808695942631759,0.00002308695942631759,1.913040573682397e-6,0.00002713043913947639
+4.,0.00001821718110098768,0.00002321718110098767,1.782818899012317e-6,0.00002732577165148152
+4.2,0.00001833465754334666,0.00002333465754334665,1.665342456653334e-6,0.00002750198631501999
+4.4,0.00001844063628729467,0.00002344063628729467,1.559363712705321e-6,0.00002766095443094201
+4.6,0.00001853624246760236,0.00002353624246760236,1.463757532397627e-6,0.00002780436370140355
+4.8,0.00001862249149504929,0.00002362249149504929,1.377508504950704e-6,0.00002793373724257394
+5.,0.00001870029898173963,0.00002370029898173963,1.299701018260363e-6,0.00002805044847260945
+5.2,0.00001877049122313275,0.00002377049122313275,1.229508776867238e-6,0.00002815573683469913
+5.4,0.00001883381359495538,0.00002383381359495538,1.166186405044614e-6,0.00002825072039243307
+5.6,0.00001889093834173048,0.00002389093834173048,1.109061658269508e-6,0.00002833640751259573
+5.8,0.0000189424721616409,0.0000239424721616409,1.057527838359091e-6,0.00002841370824246136
+6.,0.00001898896223094105,0.00002398896223094104,1.011037769058948e-6,0.00002848344334641157
+6.2,0.00001903090215108336,0.00002403090215108336,9.690978489166296e-7,0.00002854635322662505
+6.4,0.00001906873725747461,0.00002406873725747461,9.312627425253851e-7,0.00002860310588621192
+6.6,0.00001910286932261635,0.00002410286932261635,8.971306773836424e-7,0.00002865430398392453
+6.8,0.00001913366080733739,0.00002413366080733739,8.663391926626052e-7,0.00002870049121100609
+7.,0.00001916143865302751,0.00002416143865302751,8.385613469724786e-7,0.00002874215797954127
+7.2,0.00001918649778658127,0.00002418649778658127,8.135022134187217e-7,0.00002877974667987191
+7.4,0.00001920910428992916,0.00002420910428992916,7.908957100708378e-7,0.00002881365643489374
+7.6,0.00001922949821801625,0.00002422949821801625,7.705017819837406e-7,0.00002884424732702439
+7.8,0.00001924789614108157,0.00002424789614108157,7.521038589184182e-7,0.00002887184421162237
+8.,0.00001926449342284265,0.00002426449342284265,7.355065771573465e-7,0.00002889674013426397
+8.2,0.00001927946627059378,0.00002427946627059377,7.205337294062176e-7,0.00002891919940589067
+8.4,0.00001929297367883728,0.00002429297367883728,7.070263211627083e-7,0.00002893946051825593
+8.6,0.0000193051590741782,0.0000243051590741782,6.948409258217906e-7,0.0000289577386112673
+8.8,0.00001931615184599961,0.00002431615184599961,6.838481540003791e-7,0.00002897422776899942
+9.,0.00001932606872021517,0.00002432606872021517,6.7393127978482e-7,0.00002898910308032276
+9.2,0.00001933501499859236,0.00002433501499859236,6.649850014076305e-7,0.00002900252249788854
+9.4,0.0000193430856767989,0.0000243430856767989,6.569143232010876e-7,0.00002901462851519836
+9.6,0.00001935036645303882,0.00002435036645303882,6.496335469611699e-7,0.00002902554967955824
+9.8,0.00001935693463667982,0.00002435693463667982,6.430653633201714e-7,0.00002903540195501973
+10.,0.00001936285997490206,0.00002436285997490206,6.371400250979317e-7,0.00002904428996235309
diff --git a/models/sbml-test-suite/cases/semantic/00694/00694-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00694/00694-sbml-l1v2.xml
new file mode 100644
index 0000000..acf42b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00694/00694-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00694">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="2.25" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.015"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S1" species="S4"/>
+      <speciesConcentrationRule formula="k2 * S3 + -1 * k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00694/00694-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00694/00694-sbml-l2v4.xml
new file mode 100644
index 0000000..14d06b4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00694/00694-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00694" id="case00694" name="case00694">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00694/00694-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00694/00694-sbml-l3v1.xml
new file mode 100644
index 0000000..73e99ef
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00694/00694-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00694" id="case00694" name="case00694" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="2.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00694/00694-settings.txt b/models/sbml-test-suite/cases/semantic/00694/00694-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00694/00694-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00695/00695-results.csv b/models/sbml-test-suite/cases/semantic/00695/00695-results.csv
new file mode 100644
index 0000000..536c155
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00695/00695-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.4,0.9607894505357768,0.000833845462800037,0.03837670400142282,0.01096477257183509
+0.8,0.9231163576760428,0.003244954546376271,0.07363868777758049,0.02103962507930871
+1.2,0.8869204465742713,0.007103947949298944,0.1059756054764292,0.03027874442183693
+1.6,0.852143797119792,0.01228934852172851,0.1355668543584791,0.03873338695956546
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.0464520239891676
+2.4,0.7866278669199255,0.02619044309076682,0.187181689989307,0.05348048285408772
+2.8,0.7557837471460103,0.03469896050720146,0.2095172923467876,0.05986208352765363
+3.2,0.7261490388594339,0.0441187653010724,0.229732195839493,0.06563777023985516
+3.6,0.6976763279936457,0.05436192220430618,0.2479617498020474,0.07084621422915637
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211858,0.07552395726319598
+4.4,0.6440364243161742,0.07699430970508103,0.2789692659787441,0.07970550456535545
+4.8,0.6187833959095926,0.08923458373363538,0.2919820203567714,0.08342343438764901
+5.2,0.5945205527446842,0.1019997080082743,0.3034797392470407,0.08670849692772592
+5.6,0.5712090691367363,0.115226949975085,0.3135639808881781,0.08958970882519376
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.4,0.527292430303364,0.1428377588031926,0.3298698108934429,0.09424851739812654
+6.8,0.5066169990569292,0.1571160534772621,0.3362669474658082,0.09607627070451664
+7.2,0.4867522629833074,0.1716454790421783,0.3416022579745136,0.09760064513557531
+7.6,0.4676664342769864,0.1863821660702592,0.3459513996527536,0.09884325704364391
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.4,0.431710531003235,0.2163174009346478,0.3519720680621165,0.1005634480177475
+8.8,0.4147829193123543,0.2314432235434361,0.3537738571442088,0.1010782448983453
+9.2,0.3985190487020195,0.2466305193308348,0.354850431967145,0.1013858377048985
+9.6,0.3828928935255998,0.2618494177808229,0.3552576886935765,0.1015021967695932
+10.,0.3678794486179236,0.2770723716247996,0.3550481797572761,0.1014423370735074
+10.4,0.3534546892749864,0.2922740173858473,0.3542712933391656,0.1012203695254758
+10.8,0.3395955328109051,0.3074310434580307,0.3529734237310636,0.1008495496374467
+11.2,0.3262798016246614,0.3225220653115714,0.3511981330637665,0.1003423237325047
+11.6,0.3134861877122507,0.3375275074378869,0.3489863048498616,0.09971037281424619
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.4,0.2893842244231299,0.3672117317421291,0.3434040438347404,0.09811544109564013
+12.8,0.2780373067704968,0.381859433253978,0.3401032599755243,0.09717235999300698
+13.2,0.2671353081234729,0.396359199620259,0.3365054922562674,0.09614442635893352
+13.6,0.2566607829604508,0.4106989428400723,0.3326402741994762,0.09504007834270752
+14.,0.2465969698081156,0.4248677993481391,0.3285352308437446,0.09386720881249845
+14.4,0.236927764419397,0.4388560505202295,0.3242161850603727,0.09263319573153508
+14.8,0.2276376940033317,0.4526550476174064,0.319707258379261,0.09134493096550311
+15.2,0.218711892465461,0.4662571409389489,0.3150309665955892,0.09000884759873981
+15.6,0.210136076619001,0.4796556129651469,0.3102083104158512,0.08863094583310034
+16.,0.201896523328712,0.4928446152826624,0.3052588613886247,0.08721681753960708
+16.4,0.1939800475509628,0.5058191090957615,0.300200843353275,0.08577166952950714
+16.8,0.1863739812348858,0.5185748091363077,0.2950512096288057,0.08430034560823021
+17.2,0.1790661530508464,0.5311081307944476,0.2898257161547053,0.08280734747277292
+17.6,0.1720448689137586,0.5434161403007272,0.2845389907855135,0.08129685451014674
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171494
+18.4,0.1588174311185365,0.5673474631569459,0.2738351057245168,0.07823860163557623
+18.8,0.1525901107358551,0.5789677543709074,0.268442134893237,0.07669775282663916
+19.2,0.1466069670797981,0.5903566084244245,0.2630364244957769,0.0751532641416506
+19.6,0.1408584258429966,0.6015136944724306,0.2576278796845722,0.07360796562416344
+20.,0.1353352888698187,0.612439089880779,0.2522256212494018,0.07206446321411481
diff --git a/models/sbml-test-suite/cases/semantic/00695/00695-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00695/00695-sbml-l2v4.xml
new file mode 100644
index 0000000..685ce35
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00695/00695-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00695" id="case00695" name="case00695">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00695/00695-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00695/00695-sbml-l3v1.xml
new file mode 100644
index 0000000..ed721e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00695/00695-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00695" id="case00695" name="case00695" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00695/00695-settings.txt b/models/sbml-test-suite/cases/semantic/00695/00695-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00695/00695-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00696/00696-results.csv b/models/sbml-test-suite/cases/semantic/00696/00696-results.csv
new file mode 100644
index 0000000..9401adc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00696/00696-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,0,0
+0.4,1.,0.0008450136328034252,0.03915498636719656,0.01118713896205617
+0.8,1.,0.00333265239182654,0.07666734760817346,0.02190495645947811
+1.2,1.,0.007394013076165731,0.1126059869238342,0.03217313912109549
+1.6,1.,0.01296305774269218,0.1470369422573078,0.0420105549306594
+2.,1.,0.01997653973684645,0.1800234602631535,0.051435274360901
+2.4,1.,0.02837386469744676,0.2116261353025532,0.06046461008644379
+2.8,1.,0.03809697615599347,0.2419030238440065,0.06911514966971617
+3.2,1.,0.04909025753281572,0.2709097424671843,0.07740278356205267
+3.6,1.,0.06130042086666085,0.2986995791333392,0.08534273689523978
+4.,1.,0.07467640598535434,0.3253235940146458,0.09294959828989883
+4.4,1.,0.08916932911389931,0.3508306708861008,0.1002373345388859
+4.8,1.,0.1047323307661163,0.3752676692338837,0.1072193340668239
+5.2,1.,0.1213205025990338,0.3986794974009663,0.1139084278288475
+5.6,1.,0.1388908340341573,0.4211091659658427,0.1203169045616693
+6.,1.,0.1574021291889846,0.4425978708110154,0.1264565345174329
+6.4,1.,0.1768149165600935,0.4631850834399066,0.1323385952685447
+6.8,1.,0.1970913761562461,0.4829086238437539,0.1379738925267868
+7.2,1.,0.2181952743700914,0.5018047256299087,0.1433727787514025
+7.6,1.,0.2400918951254567,0.5199081048745435,0.148545172821298
+8.,1.,0.2627479804220166,0.5372520195779834,0.153500577022281
+8.4,1.,0.2861316727208629,0.5538683272791373,0.1582480935083249
+8.8,1.,0.3102124499713956,0.5697875500286047,0.1627964428653155
+9.2,1.,0.3349610688292287,0.5850389311707713,0.1671539803345061
+9.6,1.,0.360349511287766,0.5996504887122341,0.1713287110606383
+10.,1.,0.3863509335429915,0.6136490664570086,0.1753283047020024
+10.4,1.,0.4129396176545306,0.6270603823454695,0.1791601092415626
+10.8,1.,0.4400909286048005,0.6399090713951997,0.1828311632557714
+11.2,1.,0.467781265484319,0.6522187345156811,0.1863482098616232
+11.6,1.,0.4959880160597184,0.6640119839402818,0.1897177096972231
+12.,1.,0.5246895155393533,0.675310484460647,0.192945852703042
+12.4,1.,0.5538650070438091,0.6861349929561914,0.1960385694160548
+12.8,1.,0.5834946037998805,0.6965053962001199,0.1990015417714628
+13.2,1.,0.6135592553619762,0.706440744638024,0.2018402127537209
+13.6,1.,0.6440407124256818,0.7159592875743184,0.2045597964498053
+14.,1.,0.6749214902730819,0.7250785097269184,0.2071652884934055
+14.4,1.,0.7061848367361799,0.7338151632638204,0.2096614752182341
+14.8,1.,0.7378147016415125,0.7421852983584879,0.2120529423881393
+15.2,1.,0.7697957075139439,0.7502042924860562,0.2143440835674448
+15.6,1.,0.8021131225055321,0.7578868774944682,0.2165391078555626
+16.,1.,0.8347528351002092,0.7652471648997911,0.2186420471142256
+16.4,1.,0.8677013254071521,0.772298674592848,0.220656764169385
+16.8,1.,0.9009456399322143,0.779054360067786,0.2225869600193679
+17.2,1.,0.9344733679570947,0.7855266320429054,0.224436180583687
+17.6,1.,0.9682726188925667,0.7917273811074336,0.2262078231735521
+18.,1.,1.002332000811212,0.7976679991887886,0.2279051426253681
+18.4,1.,1.036640601397087,0.8033593986029123,0.2295312567436899
+18.8,1.,1.071187966528614,0.8088120334713858,0.2310891524203955
+19.2,1.,1.105964080020525,0.814035919979475,0.2325816914227066
+19.6,1.,1.140959345355764,0.8190406546442358,0.2340116156126395
+20.,1.,1.176164568345021,0.8238354316549789,0.2353815519014225
diff --git a/models/sbml-test-suite/cases/semantic/00696/00696-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00696/00696-sbml-l2v4.xml
new file mode 100644
index 0000000..b6d0e4d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00696/00696-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00696" id="case00696" name="case00696">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00696/00696-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00696/00696-sbml-l3v1.xml
new file mode 100644
index 0000000..6405a11
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00696/00696-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00696" id="case00696" name="case00696" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00696/00696-settings.txt b/models/sbml-test-suite/cases/semantic/00696/00696-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00696/00696-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00697/00697-results.csv b/models/sbml-test-suite/cases/semantic/00697/00697-results.csv
new file mode 100644
index 0000000..4548651
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00697/00697-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.15
+0.1,0.1,0.1575
+0.2,0.1,0.165
+0.3,0.1,0.1725
+0.4,0.1,0.18
+0.5,0.1,0.1875
+0.6,0.1,0.195
+0.7,0.1,0.2025
+0.8,0.1,0.21
+0.9,0.1,0.2175
+1.,0.1,0.225
+1.1,0.1,0.2325
+1.2,0.1,0.24
+1.3,0.1,0.2475
+1.4,0.1,0.255
+1.5,0.1,0.2625
+1.6,0.1,0.27
+1.7,0.1,0.2775
+1.8,0.1,0.285
+1.9,0.1,0.2925
+2.,0.1,0.3
+2.1,0.1,0.3075
+2.2,0.1,0.315
+2.3,0.1,0.3225
+2.4,0.1,0.33
+2.5,0.1,0.3375
+2.6,0.1,0.345
+2.7,0.1,0.3525
+2.8,0.1,0.3599999999999999
+2.9,0.1,0.3674999999999999
+3.,0.1,0.375
+3.1,0.1,0.3825
+3.2,0.1,0.39
+3.3,0.1,0.3974999999999999
+3.4,0.1,0.4049999999999999
+3.5,0.1,0.4124999999999999
+3.6,0.1,0.4199999999999999
+3.7,0.1,0.4274999999999999
+3.8,0.1,0.4349999999999999
+3.9,0.1,0.4424999999999999
+4.,0.1,0.4499999999999999
+4.1,0.1,0.4574999999999999
+4.2,0.1,0.4649999999999999
+4.3,0.1,0.4724999999999999
+4.4,0.1,0.4799999999999999
+4.5,0.1,0.4874999999999999
+4.6,0.1,0.4949999999999998
+4.7,0.1,0.5024999999999999
+4.8,0.1,0.5099999999999999
+4.9,0.1,0.5174999999999999
+5.,0.1,0.5249999999999999
diff --git a/models/sbml-test-suite/cases/semantic/00697/00697-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00697/00697-sbml-l2v4.xml
new file mode 100644
index 0000000..256f723
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00697/00697-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00697" id="case00697" name="case00697">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00697/00697-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00697/00697-sbml-l3v1.xml
new file mode 100644
index 0000000..570025c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00697/00697-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00697" id="case00697" name="case00697" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00697/00697-settings.txt b/models/sbml-test-suite/cases/semantic/00697/00697-settings.txt
new file mode 100644
index 0000000..5a66c8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00697/00697-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00698/00698-results.csv b/models/sbml-test-suite/cases/semantic/00698/00698-results.csv
new file mode 100644
index 0000000..3d02177
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00698/00698-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.15
+0.1,0.09277434863089023,0.15
+0.2,0.0860707976083621,0.15
+0.3,0.07985162186099127,0.15
+0.4,0.07408182193626267,0.15
+0.5,0.06872892787841762,0.15
+0.6,0.06376281506764912,0.15
+0.7,0.05915553566594856,0.15
+0.8,0.05488116279140539,0.15
+0.9,0.05091564190293945,0.15
+1.,0.04723665431160601,0.15
+1.1,0.04382349920447235,0.15
+1.2,0.04065696527195338,0.15
+1.3,0.03771923497898943,0.15
+1.4,0.03499376693204896,0.15
+1.5,0.03246524673429276,0.15
+1.6,0.03011942117957964,0.15
+1.7,0.02794309681443749,0.15
+1.8,0.02592402591054959,0.15
+1.9,0.02405084617425488,0.15
+2.,0.02231301589070149,0.15
+2.1,0.02070075517608469,0.15
+2.2,0.01920499071543556,0.15
+2.3,0.01781730467118693,0.15
+2.4,0.01652988854640361,0.15
+2.5,0.01533549667098986,0.15
+2.6,0.01422740682444149,0.15
+2.7,0.01319938399251447,0.15
+2.8,0.01224564280663589,0.15
+2.9,0.01136081507111197,0.15
+3.,0.01053992208348002,0.15
+3.1,0.009778343971088321,0.15
+3.2,0.009071794851921393,0.15
+3.3,0.008416298525065698,0.15
+3.4,0.007808166094594406,0.15
+3.5,0.007243975210230772,0.15
+3.6,0.006720550807946629,0.15
+3.7,0.006234947242142874,0.15
+3.8,0.0057844317088583,0.15
+3.9,0.005366468614154905,0.15
+4.,0.004978706287090618,0.15
+4.1,0.004618962355341613,0.15
+4.2,0.00428521229812824,0.15
+4.3,0.003975577876716191,0.15
+4.4,0.0036883165657003,0.15
+4.5,0.003421811747716625,0.15
+4.6,0.003174563616457046,0.15
+4.7,0.002945180736835176,0.15
+4.8,0.002732372221103201,0.15
+4.9,0.002534940547603708,0.15
+5.,0.002351774585600885,0.15
diff --git a/models/sbml-test-suite/cases/semantic/00698/00698-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00698/00698-sbml-l2v4.xml
new file mode 100644
index 0000000..752ba33
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00698/00698-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00698" id="case00698" name="case00698">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00698/00698-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00698/00698-sbml-l3v1.xml
new file mode 100644
index 0000000..211cec1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00698/00698-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00698" id="case00698" name="case00698" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00698/00698-settings.txt b/models/sbml-test-suite/cases/semantic/00698/00698-settings.txt
new file mode 100644
index 0000000..5a66c8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00698/00698-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00699/00699-results.csv b/models/sbml-test-suite/cases/semantic/00699/00699-results.csv
new file mode 100644
index 0000000..1e58045
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00699/00699-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.1,1.,0.4999999999999999,0.3749999999999999
+0.2,1.,0.9999999999999998,0.7499999999999998
+0.3,1.,1.499999999999999,1.124999999999999
+0.4,1.,2.,1.5
+0.5,1.,2.5,1.875
+0.6,1.,2.999999999999999,2.249999999999999
+0.7,1.,3.499999999999999,2.624999999999999
+0.8,1.,3.999999999999999,2.999999999999999
+0.9,1.,4.5,3.375
+1.,1.,5.,3.75
+1.1,1.,5.5,4.125
+1.2,1.,5.999999999999999,4.499999999999999
+1.3,1.,6.5,4.875
+1.4,1.,7.,5.25
+1.5,1.,7.5,5.625
+1.6,1.,8.000000000000001,6.000000000000001
+1.7,1.,8.5,6.375
+1.8,1.,9.000000000000001,6.750000000000001
+1.9,1.,9.500000000000001,7.125000000000001
+2.,1.,10.,7.500000000000001
+2.1,1.,10.5,7.875000000000001
+2.2,1.,11.,8.250000000000001
+2.3,1.,11.5,8.625
+2.4,1.,12.,9.000000000000001
+2.5,1.,12.5,9.375000000000001
+2.6,1.,13.,9.750000000000001
+2.7,1.,13.5,10.125
+2.8,1.,14.,10.5
+2.9,1.,14.5,10.875
+3.,1.,15.,11.25
+3.1,1.,15.5,11.625
+3.2,1.,16.,12.
+3.3,1.,16.5,12.375
+3.4,1.,17.,12.75
+3.5,1.,17.5,13.125
+3.6,1.,18.,13.5
+3.7,1.,18.5,13.875
+3.8,1.,19.,14.25
+3.9,1.,19.5,14.625
+4.,1.,20.,15.
+4.1,1.,20.5,15.375
+4.2,1.,21.,15.75
+4.3,1.,21.5,16.125
+4.4,1.,22.,16.5
+4.5,1.,22.5,16.875
+4.6,1.,23.,17.25
+4.7,1.,23.5,17.625
+4.8,1.,24.,18.
+4.9,1.,24.5,18.375
+5.,1.,25.,18.75
diff --git a/models/sbml-test-suite/cases/semantic/00699/00699-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00699/00699-sbml-l2v4.xml
new file mode 100644
index 0000000..a225fc3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00699/00699-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00699" id="case00699" name="case00699">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00699/00699-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00699/00699-sbml-l3v1.xml
new file mode 100644
index 0000000..119d400
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00699/00699-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00699" id="case00699" name="case00699" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00699/00699-settings.txt b/models/sbml-test-suite/cases/semantic/00699/00699-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00699/00699-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00700/00700-results.csv b/models/sbml-test-suite/cases/semantic/00700/00700-results.csv
new file mode 100644
index 0000000..19b9ef0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00700/00700-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.05,0.7788007829652843,0.221199217034716,0.165899412776037
+0.1,0.6065306534644738,0.3934693465355264,0.2951020099016448
+0.15,0.4723665525734971,0.5276334474265029,0.3957250855698772
+0.2,0.3678794392829268,0.6321205607170732,0.4740904205378049
+0.25,0.2865047805915336,0.7134952194084662,0.5351214145563496
+0.3,0.2231301472372751,1.026869824742306,0.7701523685567297
+0.35,0.1737739329742797,1.076226039005301,0.8071695292539762
+0.4,0.1353352753688576,1.114664696610724,0.8359985224580432
+0.45,0.1053992168538595,1.144600755125722,0.8584505663442916
+0.5,0.08208499389977323,1.167914978079808,0.8759362335598563
+0.55,0.06392785748945045,1.18607211449013,0.8895540858675982
+0.6,0.04978706527896861,1.200212906700613,0.9001596800254598
+0.65,0.03877420540198607,1.211225766577595,0.9084193249331968
+0.7,0.03019738127936115,1.21980259070022,0.9148519430251655
+0.75,0.02351774407414839,1.226482227905433,0.9198616709290752
+0.8,0.01831563685879802,1.231684335120783,0.9237632513405877
+0.85,0.01426423267338325,1.235735739306198,0.9268018044796486
+0.9,0.01110899578252481,1.238890976197057,0.9291682321477927
+0.95,0.008651694703380671,1.241348277276201,0.9310112079571508
+1.,0.006737946503724333,1.243262025475857,0.9324465191068929
+1.05,0.005247517857997359,1.244752454121584,0.9335643405911883
+1.1,0.004086770889619016,1.245913201089963,0.9344349008174721
+1.15,0.003182780293926949,1.246817191685655,0.9351128937642414
+1.2,0.00247875175988058,1.247521220219701,0.9356409151647761
+1.25,0.001930453822345928,1.248069518157235,0.9360521386179269
+1.3,0.001503438978952453,1.248496533000629,0.9363723997504719
+1.35,0.001170879489483564,1.248829092490098,0.9366218193675734
+1.4,0.0009118818922381259,1.249088090087343,0.9368160675655075
+1.45,0.0007101743466474921,1.249289797632933,0.9369673482247002
+1.5,0.0005530843351356742,1.249446887644445,0.937085165733334
+1.55,0.0004307425026876628,1.249569229476893,0.9371769221076699
+1.6,0.0003354625877430209,1.249664509391837,0.9372483820438783
+1.65,0.0002612585186612753,1.249738713460919,0.9373040350956899
+1.7,0.0002034683354173386,1.249796503644163,0.9373473777331227
+1.75,0.0001584612986125627,1.249841510680968,0.9373811330107264
+1.8,0.0001234097851136022,1.249876562194467,0.9374074216458507
+1.85,0.00009611163980530788,1.249903860339776,0.937427895254832
+1.9,0.00007485182276028732,1.24992512015682,0.9374438401176157
+1.95,0.00005829465980982855,1.249941677319771,0.9374562579898284
+2.,0.00004539992713334325,1.249954572052447,0.9374659290393359
+2.05,0.0000353574982200317,1.249964614481361,0.9374734608610206
+2.1,0.00002753644647904868,1.249972435533101,0.9374793266498262
+2.15,0.00002144540541528556,1.249978526574165,0.9374838949306241
+2.2,0.00001670169814290125,1.249983270281438,0.9374874527110788
+2.25,0.00001300729546607949,1.249986964684115,0.9374902235130864
+2.3,0.0000101300919564359,1.249989841887625,0.9374923814157188
+2.35,7.889323711470249e-6,1.24999208265587,0.9374940619919025
+2.4,6.144211671369988e-6,1.24999382776791,0.9374953708259328
+2.45,4.785117012214868e-6,1.249995186862569,0.9374963901469272
+2.5,3.726652957835148e-6,1.249996245326624,0.9374971839949679
diff --git a/models/sbml-test-suite/cases/semantic/00700/00700-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00700/00700-sbml-l2v4.xml
new file mode 100644
index 0000000..c950f03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00700/00700-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00700" id="case00700" name="case00700">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00700/00700-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00700/00700-sbml-l3v1.xml
new file mode 100644
index 0000000..fa687fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00700/00700-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00700" id="case00700" name="case00700" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00700/00700-settings.txt b/models/sbml-test-suite/cases/semantic/00700/00700-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00700/00700-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00701/00701-results.csv b/models/sbml-test-suite/cases/semantic/00701/00701-results.csv
new file mode 100644
index 0000000..823d077
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00701/00701-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.1,1.,0.25,0.1875
+0.2,1.,0.4999999999999999,0.3749999999999999
+0.3,1.,0.7499999999999998,0.5624999999999998
+0.4,1.,0.9999999999999998,0.7499999999999998
+0.5,1.,1.249999999999999,0.9374999999999997
+0.6,1.,1.499999999999999,1.124999999999999
+0.7,1.,1.749999999999999,1.312499999999999
+0.8,1.,2.,1.5
+0.9,1.,2.25,1.6875
+1.,1.,2.5,1.875
+1.1,1.,2.75,2.0625
+1.2,1.,2.999999999999999,2.249999999999999
+1.3,1.,3.249999999999999,2.437499999999999
+1.4,1.,3.499999999999999,2.624999999999999
+1.5,1.,3.749999999999999,2.812499999999999
+1.6,1.,4.,3.
+1.7,1.,4.249999999999999,3.187499999999999
+1.8,1.,4.5,3.375
+1.9,1.,4.749999999999999,3.562499999999999
+2.,1.,4.999999999999999,3.749999999999999
+2.1,1.,5.25,3.9375
+2.2,1.,5.5,4.125
+2.3,1.,5.749999999999999,4.312499999999999
+2.4,1.,5.999999999999999,4.499999999999999
+2.5,1.,6.249999999999999,4.687499999999999
+2.6,1.,6.5,4.875
+2.7,1.,6.75,5.0625
+2.8,1.,6.999999999999999,5.249999999999999
+2.9,1.,7.249999999999999,5.437499999999999
+3.,1.,7.5,5.625
+3.1,1.,7.75,5.8125
+3.2,1.,8.000000000000001,6.000000000000001
+3.3,1.,8.25,6.1875
+3.4,1.,8.5,6.375
+3.5,1.,8.75,6.5625
+3.6,1.,9.000000000000001,6.750000000000001
+3.7,1.,9.250000000000001,6.937500000000001
+3.8,1.,9.5,7.125
+3.9,1.,9.75,7.3125
+4.,1.,10.,7.500000000000001
+4.1,1.,10.25,7.6875
+4.2,1.,10.5,7.875000000000001
+4.3,1.,10.75,8.062500000000001
+4.4,1.,11.,8.250000000000001
+4.5,1.,11.25,8.437500000000001
+4.6,1.,11.5,8.625
+4.7,1.,11.75,8.812500000000001
+4.8,1.,12.,9.000000000000001
+4.9,1.,12.25,9.187500000000003
+5.,1.,12.5,9.375000000000001
diff --git a/models/sbml-test-suite/cases/semantic/00701/00701-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00701/00701-sbml-l2v4.xml
new file mode 100644
index 0000000..05f0ffe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00701/00701-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00701" id="case00701" name="case00701">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00701/00701-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00701/00701-sbml-l3v1.xml
new file mode 100644
index 0000000..bdfbc0c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00701/00701-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00701" id="case00701" name="case00701" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00701/00701-settings.txt b/models/sbml-test-suite/cases/semantic/00701/00701-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00701/00701-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00702/00702-results.csv b/models/sbml-test-suite/cases/semantic/00702/00702-results.csv
new file mode 100644
index 0000000..3a34e96
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00702/00702-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0,0
+0.05,0.8824969025203413,0.1175030974796587,0.08812732310974408
+0.1,0.7788007829652843,0.221199217034716,0.165899412776037
+0.15,0.6872892787208823,0.312710721279118,0.2345330409593385
+0.2,0.6065306534644738,0.3934693465355264,0.2951020099016448
+0.25,0.5352614234194205,0.4647385765805797,0.3485539324354348
+0.3,0.4723665525734971,0.5276334474265029,0.3957250855698772
+0.35,0.4168620165195818,0.5831379834804182,0.4373534876103136
+0.4,0.3678794392829268,0.6321205607170732,0.4740904205378049
+0.45,0.3246524559660085,0.6753475440339914,0.5065106580254935
+0.5,0.2865047805915336,0.7134952194084662,0.5351214145563496
+0.55,0.2528395829472177,0.7471604170527823,0.5603703127895867
+0.6,0.223130147237131,0.7768698527628688,0.5826523895721516
+0.65,0.1969116638718417,0.8030883361281577,0.6023162520961182
+0.7,0.1737739329730234,0.8262260670269759,0.6196695502702319
+0.75,0.1533549575922775,0.8466450424077219,0.6349837818057915
+0.8,0.1353352753618329,0.8646647246381666,0.648498543478625
+0.85,0.1194329596033039,0.8805670403966956,0.6604252802975216
+0.9,0.1053992168251976,0.8946007831748019,0.6709505873811014
+0.95,0.09301448373603274,0.9069855162639668,0.6802391371979751
+1.,0.08208499389987271,0.9179150061001267,0.688436254575095
+1.05,0.07243975284201026,0.9275602471579892,0.6956701853684919
+1.1,0.0639278574842535,0.9360721425157461,0.7020541068868095
+1.15,0.05641613620950539,0.9435838637904941,0.7076878978428706
+1.2,0.0497870652847172,0.9502129347152823,0.7126597010364617
+1.25,0.04393693021115486,0.9560630697888448,0.7170473023416336
+1.3,0.0387742053794616,0.961225794620538,0.7209193459654035
+1.35,0.03421811631873242,0.9657818836812672,0.7243364127609504
+1.4,0.03019738130457668,0.9698026186954229,0.7273519640215672
+1.45,0.02664909554473933,0.9733509044552602,0.7300131783414451
+1.5,0.02351774402675387,0.9764822559732456,0.7323616919799342
+1.55,0.02075433665979747,0.9792456633402021,0.7344342475051516
+1.6,0.01831563774455141,0.7522056065642673,0.5641542049232005
+1.65,0.0161634935835061,0.7543577507253126,0.5657683130439844
+1.7,0.01426423298327155,0.756257011325547,0.5671927584941602
+1.75,0.01258814142493951,0.7579331028838789,0.5684498271629092
+1.8,0.01110899584134251,0.759412248467476,0.5695591863506069
+1.85,0.009803654277767397,0.7607175900310511,0.5705381925232883
+1.9,0.008651694531945298,0.7618695497768731,0.5714021623326548
+1.95,0.00763509372801673,0.7628861505808018,0.5721646129356013
+2.,0.006737946580271393,0.7637832977285472,0.5728374732964104
+2.05,0.005946216984900813,0.7645750273239178,0.5734312704929382
+2.1,0.005247518070451121,0.7652737262383675,0.5739552946787756
+2.15,0.004630918440896514,0.7658903258679221,0.5744177444009416
+2.2,0.004086771165844329,0.7664344731429744,0.5748258548572308
+2.25,0.003606562841289647,0.766914681467529,0.5751860111006468
+2.3,0.003182780582253044,0.7673384637265656,0.5755038477949242
+2.35,0.002808794017286713,0.767712450291532,0.575784337718649
+2.4,0.002478751989865137,0.7680424923189536,0.5760318692392152
+2.45,0.002187490962294351,0.7683337533465245,0.5762503150098934
+2.5,0.001930454016331838,0.7685907902924871,0.5764430927193653
diff --git a/models/sbml-test-suite/cases/semantic/00702/00702-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00702/00702-sbml-l2v4.xml
new file mode 100644
index 0000000..1989d4d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00702/00702-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00702" id="case00702" name="case00702">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00702/00702-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00702/00702-sbml-l3v1.xml
new file mode 100644
index 0000000..22036fe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00702/00702-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00702" id="case00702" name="case00702" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00702/00702-settings.txt b/models/sbml-test-suite/cases/semantic/00702/00702-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00702/00702-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00703/00703-results.csv b/models/sbml-test-suite/cases/semantic/00703/00703-results.csv
new file mode 100644
index 0000000..0b1504b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00703/00703-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0002,0.00015,0.00015
+0.15,0.00008081786749845926,0.0001808178674984593,0.0001691821325015407,0.0001356134006238444
+0.3,0.00006655823476993413,0.0001665582347699341,0.0001834417652300658,0.0001249186760774506
+0.45,0.00005560572168996224,0.0001556057216899622,0.0001943942783100377,0.0001167042912674716
+0.6,0.00004698031046410292,0.0001469803104641029,0.0002030196895358971,0.0001102352328480772
+0.75,0.0000400528195984328,0.0001400528195984328,0.0002099471804015671,0.0001050396146988246
+0.9,0.00003440071970856081,0.0001344007197085608,0.0002155992802914391,0.0001008005397814206
+1.05,0.0000297296708879916,0.0001297296708879916,0.0002202703291120084,0.00009729725316599371
+1.2,0.00002582829645687315,0.0001258282964568731,0.0002241717035431268,0.00009437122234265488
+1.35,0.00002254085214418552,0.0001225408521441855,0.0002274591478558144,0.00009190563910813915
+1.5,0.00001975003977101087,0.0001197500397710108,0.0002302499602289892,0.00008981252982825815
+1.65,0.00001736582963922409,0.0001173658296392241,0.000232634170360776,0.00008802437222941807
+1.8,0.00001531797292908185,0.0001153179729290818,0.0002346820270709182,0.00008648847969681139
+1.95,0.00001355085810498809,0.000113550858104988,0.000236449141895012,0.00008516314357874107
+2.1,0.00001201989745082821,0.0001120198974508282,0.0002379801025491719,0.00008401492308812115
+2.25,0.00001068893731343204,0.000110688937313432,0.000239311062686568,0.00008301670298507403
+2.4,9.528366872111855e-6,0.0001095283668721118,0.0002404716331278883,0.00008214627515408389
+2.55,8.513717394436715e-6,0.0001085137173944367,0.0002414862826055634,0.00008138528804582754
+2.7,7.624607742300081e-6,0.0001076246077423,0.0002423753922577,0.00008071845580672505
+2.85,6.84394003292788e-6,0.0001068439400329278,0.0002431560599670723,0.0000801329550246959
+3.,6.15727913612228e-6,0.0001061572791361222,0.0002438427208638779,0.00007961795935209171
+3.15,5.552368348756283e-6,0.0001055523683487562,0.0002444476316512439,0.00007916427626156721
+3.3,5.018747096216342e-6,0.0001050187470962163,0.0002449812529037838,0.00007876406032216227
+3.45,4.547446539946668e-6,0.0001045474465399466,0.0002454525534600535,0.00007841058490496001
+3.6,4.130745706109385e-6,0.0001041307457061094,0.0002458692542938907,0.00007809805927958206
+3.75,3.761972564713332e-6,0.0001037619725647133,0.0002462380274352867,0.00007782147942353502
+3.9,3.43534311547266e-6,0.0001034353431154726,0.0002465646568845274,0.00007757650733660452
+4.05,3.145827940874638e-6,0.0001031458279408746,0.0002468541720591254,0.000077359370955656
+4.2,2.889042068839459e-6,0.0001028890420688394,0.0002471109579311606,0.0000771667815516296
+4.35,2.661153595424794e-6,0.0001026611535954248,0.0002473388464045752,0.00007699586519656862
+4.5,2.458806568257823e-6,0.0001024588065682578,0.0002475411934317422,0.00007684410492619338
+4.65,2.279056319180358e-6,0.0001022790563191803,0.0002477209436808197,0.00007670929223938527
+4.8,2.119314642288444e-6,0.0001021193146422884,0.0002478806853577115,0.00007658948598171634
+4.95,1.977303149524839e-6,0.0001019773031495248,0.0002480226968504751,0.00007648297736214365
+5.1,1.851013523391479e-6,0.0001018510135233915,0.0002481489864766084,0.00007638826014254361
+5.25,1.738673200439163e-6,0.0001017386732004391,0.0002482613267995607,0.00007630400490032938
+5.4,1.638716074588458e-6,0.0001016387160745884,0.0002483612839254114,0.00007622903705594135
+5.55,1.549757099746178e-6,0.0001015497570997461,0.0002484502429002536,0.00007616231782480963
+5.7,1.470570294757172e-6,0.0001014705702947571,0.0002485294297052426,0.00007610292772106789
+5.85,1.400069598371049e-6,0.000101400069598371,0.0002485999304016288,0.00007605005219877829
+6.,1.337292269367426e-6,0.0001013372922693674,0.0002486627077306324,0.00007600296920202558
+6.15,1.281384214941823e-6,0.0001012813842149418,0.000248718615785058,0.00007596103816120638
+6.3,1.231587583622904e-6,0.0001012315875836229,0.0002487684124163769,0.00007592369068771718
+6.45,1.187229312946346e-6,0.0001011872293129463,0.0002488127706870535,0.00007589042198470978
+6.6,1.147711488200044e-6,0.0001011477114882,0.0002488522885117998,0.00007586078361615004
+6.75,1.11250283516206e-6,0.000101112502835162,0.0002488874971648377,0.00007583437712637154
+6.9,1.081130902187849e-6,0.0001010811309021878,0.0002489188690978119,0.00007581084817664089
+7.05,1.053175706327654e-6,0.0001010531757063276,0.0002489468242936721,0.00007578988177974574
+7.2,1.028263471396072e-6,0.000101028263471396,0.0002489717365286037,0.00007577119760354705
+7.35,1.006061794658034e-6,0.000101006061794658,0.0002489939382053418,0.00007575454634599353
+7.5,9.862747192259888e-7,0.0001009862747192259,0.0002490137252807739,0.00007573970603941948
diff --git a/models/sbml-test-suite/cases/semantic/00703/00703-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00703/00703-sbml-l2v4.xml
new file mode 100644
index 0000000..12762e1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00703/00703-sbml-l2v4.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00703" id="case00703" name="case00703">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.75"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="7500"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.0025"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00703/00703-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00703/00703-sbml-l3v1.xml
new file mode 100644
index 0000000..4f729dd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00703/00703-sbml-l3v1.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00703" id="case00703" name="case00703" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="7500"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.0025"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00703/00703-settings.txt b/models/sbml-test-suite/cases/semantic/00703/00703-settings.txt
new file mode 100644
index 0000000..cd8a9d3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00703/00703-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 7.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00704/00704-results.csv b/models/sbml-test-suite/cases/semantic/00704/00704-results.csv
new file mode 100644
index 0000000..b4f0c60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00704/00704-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.0000109217168516862,0.00001592171685168619,9.078283148313796e-6,0.0000163825752775293
+0.4,0.00001175322248611593,0.00001675322248611592,8.246777513884069e-6,0.00001762983372917389
+0.6,0.00001250334614858563,0.00001750334614858562,7.496653851414368e-6,0.00001875501922287844
+0.8,0.00001318005293522239,0.00001818005293522239,6.819947064777604e-6,0.00001977007940283359
+1.,0.00001379052838101457,0.00001879052838101457,6.209471618985424e-6,0.00002068579257152185
+1.2,0.00001434125475998713,0.00001934125475998713,5.658745240012861e-6,0.0000215118821399807
+1.4,0.00001483807988873711,0.00001983807988873711,5.161920111262884e-6,0.00002225711983310566
+1.6,0.00001528627923921957,0.00002028627923921957,4.713720760780419e-6,0.00002292941885882936
+1.8,0.00001569061195944459,0.00002069061195944459,4.309388040555399e-6,0.00002353591793916689
+2.,0.00001605537201135175,0.00002105537201135175,3.944627988648242e-6,0.00002408305801702762
+2.2,0.00001638443067396678,0.00002138443067396677,3.615569326033227e-6,0.00002457664601095016
+2.4,0.00001668128397414227,0.00002168128397414227,3.318716025857725e-6,0.00002502192596121341
+2.6,0.00001694908334211642,0.00002194908334211642,3.050916657883575e-6,0.00002542362501317464
+2.8,0.00001719067238789137,0.00002219067238789137,2.809327612108627e-6,0.00002578600858183706
+3.,0.00001740861636010126,0.00002240861636010126,2.591383639898737e-6,0.00002611292454015189
+3.2,0.00001760522951714257,0.00002260522951714257,2.39477048285742e-6,0.00002640784427571386
+3.4,0.00001778259957214644,0.00002278259957214644,2.217400427853551e-6,0.00002667389935821966
+3.6,0.00001794260981060975,0.00002294260981060975,2.057390189390241e-6,0.00002691391471591463
+3.8,0.00001808695942631759,0.00002308695942631759,1.913040573682397e-6,0.00002713043913947639
+4.,0.00001821718110098768,0.00002321718110098767,1.782818899012317e-6,0.00002732577165148152
+4.2,0.00001833465754334666,0.00002333465754334665,1.665342456653334e-6,0.00002750198631501999
+4.4,0.00001844063628729467,0.00002344063628729467,1.559363712705321e-6,0.00002766095443094201
+4.6,0.00001853624246760236,0.00002353624246760236,1.463757532397627e-6,0.00002780436370140355
+4.8,0.00001862249149504929,0.00002362249149504929,1.377508504950704e-6,0.00002793373724257394
+5.,0.00001870029898173963,0.00002370029898173963,1.299701018260363e-6,0.00002805044847260945
+5.2,0.00001877049122313275,0.00002377049122313275,1.229508776867238e-6,0.00002815573683469913
+5.4,0.00001883381359495538,0.00002383381359495538,1.166186405044614e-6,0.00002825072039243307
+5.6,0.00001889093834173048,0.00002389093834173048,1.109061658269508e-6,0.00002833640751259573
+5.8,0.0000189424721616409,0.0000239424721616409,1.057527838359091e-6,0.00002841370824246136
+6.,0.00001898896223094105,0.00002398896223094104,1.011037769058948e-6,0.00002848344334641157
+6.2,0.00001903090215108336,0.00002403090215108336,9.690978489166296e-7,0.00002854635322662505
+6.4,0.00001906873725747461,0.00002406873725747461,9.312627425253851e-7,0.00002860310588621192
+6.6,0.00001910286932261635,0.00002410286932261635,8.971306773836424e-7,0.00002865430398392453
+6.8,0.00001913366080733739,0.00002413366080733739,8.663391926626052e-7,0.00002870049121100609
+7.,0.00001916143865302751,0.00002416143865302751,8.385613469724786e-7,0.00002874215797954127
+7.2,0.00001918649778658127,0.00002418649778658127,8.135022134187217e-7,0.00002877974667987191
+7.4,0.00001920910428992916,0.00002420910428992916,7.908957100708378e-7,0.00002881365643489374
+7.6,0.00001922949821801625,0.00002422949821801625,7.705017819837406e-7,0.00002884424732702439
+7.8,0.00001924789614108157,0.00002424789614108157,7.521038589184182e-7,0.00002887184421162237
+8.,0.00001926449342284265,0.00002426449342284265,7.355065771573465e-7,0.00002889674013426397
+8.2,0.00001927946627059378,0.00002427946627059377,7.205337294062176e-7,0.00002891919940589067
+8.4,0.00001929297367883728,0.00002429297367883728,7.070263211627083e-7,0.00002893946051825593
+8.6,0.0000193051590741782,0.0000243051590741782,6.948409258217906e-7,0.0000289577386112673
+8.8,0.00001931615184599961,0.00002431615184599961,6.838481540003791e-7,0.00002897422776899942
+9.,0.00001932606872021517,0.00002432606872021517,6.7393127978482e-7,0.00002898910308032276
+9.2,0.00001933501499859236,0.00002433501499859236,6.649850014076305e-7,0.00002900252249788854
+9.4,0.0000193430856767989,0.0000243430856767989,6.569143232010876e-7,0.00002901462851519836
+9.6,0.00001935036645303882,0.00002435036645303882,6.496335469611699e-7,0.00002902554967955824
+9.8,0.00001935693463667982,0.00002435693463667982,6.430653633201714e-7,0.00002903540195501973
+10.,0.00001936285997490206,0.00002436285997490206,6.371400250979317e-7,0.00002904428996235309
diff --git a/models/sbml-test-suite/cases/semantic/00704/00704-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00704/00704-sbml-l1v2.xml
new file mode 100644
index 0000000..b1085e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00704/00704-sbml-l1v2.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00704">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.015"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k * S1" species="S4"/>
+      <speciesConcentrationRule formula="k2 * S3 + -1 * k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * S1">
+          <listOfParameters>
+            <parameter name="k" value="0.015"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * S3">
+          <listOfParameters>
+            <parameter name="k" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00704/00704-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00704/00704-sbml-l2v4.xml
new file mode 100644
index 0000000..c4caa7c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00704/00704-sbml-l2v4.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00704" id="case00704" name="case00704">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k" name="k" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.015"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00704/00704-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00704/00704-sbml-l3v1.xml
new file mode 100644
index 0000000..567e765
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00704/00704-sbml-l3v1.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00704" id="case00704" name="case00704" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k" name="k" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.015"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.5"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00704/00704-settings.txt b/models/sbml-test-suite/cases/semantic/00704/00704-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00704/00704-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00705/00705-results.csv b/models/sbml-test-suite/cases/semantic/00705/00705-results.csv
new file mode 100644
index 0000000..a0261e3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00705/00705-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,1.008126371549002e-24,4.901917943240473e-11
+0.5,0.951229435977038,0.00129394701186584,0.04747661701109569,0.0135647477174559
+1.,0.9048374286968407,0.005001238238300923,0.09016133306485804,0.02576038087567372
+1.5,0.8607079849377296,0.01087500589316853,0.1284170091691015,0.03669057404831471
+2.,0.8187307596769001,0.01868715636101281,0.1625820839620866,0.0464520239891676
+2.5,0.7788007889254478,0.02822710671743584,0.1929721043571157,0.05513488695917592
+3.,0.7408182262524066,0.0393005895271262,0.2198811842204665,0.06282319549156185
+3.5,0.7046880949485934,0.05172854997037847,0.2435833550810274,0.06959524430886497
+4.,0.6703200484308775,0.06534610114793608,0.2643338504211858,0.07552395726319598
+4.5,0.637628152895983,0.08000157060227219,0.2823702765017441,0.08067722185764116
+5.,0.6065306630909804,0.09555555953789099,0.2979137773711279,0.08511822210603656
+5.5,0.5769498167288155,0.1118800887288119,0.3111700945423721,0.08890574129782058
+6.,0.5488116418672061,0.1288578056606619,0.3223305524721314,0.09209444356346614
+6.5,0.5220457805030899,0.1463812592420414,0.3315729602548682,0.09473513150139091
+7.,0.4965853076686745,0.1643521851900511,0.3390625071412738,0.09687500204036397
+7.5,0.4723665588664666,0.1826808399881816,0.344952601145351,0.09855788604152887
+8.,0.4493289715661789,0.2012853926531235,0.3493856357806968,0.09982446736591336
+8.5,0.4274149377422891,0.2200913641393101,0.3524936981184001,0.1007124851766857
+9.,0.4065696644309687,0.2390311035261686,0.3543992320428618,0.1012569234408177
+9.5,0.3867410291040746,0.2580432709854239,0.3552156999105008,0.1014901999744288
+10.,0.3678794486179236,0.2770723716247996,0.3550481797572761,0.1014423370735074
+10.5,0.3499377562225606,0.2960683238607715,0.353993919916667,0.1011411199761905
+11.,0.3328710893023584,0.3149860662975904,0.3521428444000506,0.1006122412571573
+11.5,0.3166367747899352,0.3337851727543826,0.3495780524556814,0.09987944355876611
+12.,0.301194218567979,0.3524294916951592,0.346376289736861,0.09896465421053173
+12.5,0.2865048043440484,0.3708868184904721,0.3426083771654789,0.09788810776156542
+13.,0.2725317993854338,0.3891285936075477,0.3383396070070178,0.0966684591448622
+13.5,0.2592402660963983,0.4071296223790562,0.3336301115245448,0.09532288900701284
+14.,0.2465969698081156,0.4248677993481391,0.3285352308437446,0.09386720881249845
+14.5,0.2345702950071955,0.4423238597074408,0.3231058452853629,0.09231595579581797
+15.,0.2231301668500321,0.4594811499220556,0.3173886832279114,0.09068248092226043
+15.5,0.2122479794504402,0.476325418807883,0.311426601741676,0.08897902906905026
+16.,0.201896523328712,0.4928446152826624,0.3052588613886247,0.08721681753960708
+16.5,0.1920499146188836,0.5090286987120578,0.2989213866690578,0.08540611047687367
+17.,0.1826835305578533,0.5248694671088017,0.292447002333344,0.08355628638095545
+17.5,0.1737739491941842,0.5403603990458888,0.2858656517599264,0.08167590050283614
+18.,0.1652988932700782,0.5554965077989189,0.2792045989310023,0.07977274255171494
+18.5,0.1572371715003665,0.5702741990587278,0.272488629440905,0.07785389412597285
+19.,0.1495686250077055,0.5846911426150138,0.2657402323772802,0.07592578067922294
+19.5,0.1422740772390961,0.5987461544247366,0.2589797683361667,0.07399421952461905
+20.,0.1353352881320281,0.6124390892251168,0.2522256226428545,0.07206446361224419
+20.5,0.1287349081929608,0.6257707379635332,0.2454943538435054,0.07014124395528723
+21.,0.1224564331960584,0.6387427319089701,0.2388008348949709,0.06822880996999169
+21.5,0.1164841630215884,0.6513574560682777,0.2321583809101331,0.06633096597432375
+22.,0.1108031631050642,0.6636179697213635,0.2255788671735716,0.06445110490673473
+22.5,0.105399228786221,0.6755279334944562,0.2190728377193219,0.06259223934837769
+23.,0.1002588479535309,0.6870915392909948,0.2126496127554737,0.06075703221584965
+23.5,0.09536916678047847,0.6983134471857005,0.2063173860338204,0.05894782458109154
+24.,0.09071795777162411,0.7091987277459966,0.2000833144823785,0.05716666128067958
+24.5,0.08629359045708402,0.719752809564461,0.1939535999784543,0.0554153142795584
+25.,0.08208500289161128,0.7299814301059336,0.1879335670024545,0.05369530485784414
diff --git a/models/sbml-test-suite/cases/semantic/00705/00705-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00705/00705-sbml-l2v4.xml
new file mode 100644
index 0000000..249d7e8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00705/00705-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00705" id="case00705" name="case00705">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" constant="false"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.375"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00705/00705-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00705/00705-sbml-l3v1.xml
new file mode 100644
index 0000000..4ce013b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00705/00705-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00705" id="case00705" name="case00705" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" constant="false"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.1 </cn>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.375"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00705/00705-settings.txt b/models/sbml-test-suite/cases/semantic/00705/00705-settings.txt
new file mode 100644
index 0000000..b565f5e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00705/00705-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00706/00706-results.csv b/models/sbml-test-suite/cases/semantic/00706/00706-results.csv
new file mode 100644
index 0000000..4e55148
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00706/00706-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.1499999999999999
+0.1,0.09277434863089023,0.1572256513691097
+0.2,0.0860707976083621,0.1639292023916378
+0.3,0.07985162186099127,0.1701483781390087
+0.4,0.07408182193626267,0.1759181780637373
+0.5,0.06872892787841762,0.1812710721215823
+0.6,0.06376281506764912,0.1862371849323508
+0.7,0.05915553566594856,0.1908444643340513
+0.8,0.05488116279140539,0.1951188372085945
+0.9,0.05091564190293945,0.1990843580970604
+1.,0.04723665431160601,0.2027633456883939
+1.1,0.04382349920447235,0.2061765007955275
+1.2,0.04065696527195338,0.2093430347280465
+1.3,0.03771923497898943,0.2122807650210104
+1.4,0.03499376693204896,0.2150062330679509
+1.5,0.03246524673429276,0.2175347532657071
+1.6,0.03011942117957964,0.2198805788204202
+1.7,0.02794309681443749,0.2220569031855623
+1.8,0.02592402591054959,0.2240759740894502
+1.9,0.02405084617425488,0.2259491538257449
+2.,0.02231301589070149,0.2276869841092983
+2.1,0.02070075517608469,0.2292992448239151
+2.2,0.01920499071543556,0.2307950092845642
+2.3,0.01781730467118693,0.2321826953288128
+2.4,0.01652988854640361,0.2334701114535962
+2.5,0.01533549667098986,0.2346645033290099
+2.6,0.01422740682444149,0.2357725931755583
+2.7,0.01319938399251447,0.2368006160074853
+2.8,0.01224564280663589,0.2377543571933639
+2.9,0.01136081507111197,0.2386391849288878
+3.,0.01053992208348002,0.2394600779165197
+3.1,0.009778343971088321,0.2402216560289114
+3.2,0.009071794851921393,0.2409282051480783
+3.3,0.008416298525065698,0.241583701474934
+3.4,0.007808166094594406,0.2421918339054053
+3.5,0.007243975210230772,0.2427560247897689
+3.6,0.006720550807946629,0.2432794491920531
+3.7,0.006234947242142874,0.2437650527578568
+3.8,0.0057844317088583,0.2442155682911414
+3.9,0.005366468614154905,0.2446335313858448
+4.,0.004978706287090618,0.245021293712909
+4.1,0.004618962355341613,0.245381037644658
+4.2,0.00428521229812824,0.2457147877018714
+4.3,0.003975577876716191,0.2460244221232834
+4.4,0.0036883165657003,0.2463116834342993
+4.5,0.003421811747716625,0.246578188252283
+4.6,0.003174563616457046,0.2468254363835426
+4.7,0.002945180736835176,0.2470548192631645
+4.8,0.002732372221103201,0.2472676277788964
+4.9,0.002534940547603708,0.2474650594523959
+5.,0.002351774585600885,0.2476482254143987
diff --git a/models/sbml-test-suite/cases/semantic/00706/00706-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00706/00706-sbml-l2v4.xml
new file mode 100644
index 0000000..e650410
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00706/00706-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00706" id="case00706" name="case00706">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.75"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00706/00706-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00706/00706-sbml-l3v1.xml
new file mode 100644
index 0000000..dd97c65
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00706/00706-sbml-l3v1.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00706" id="case00706" name="case00706" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.75"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00706/00706-settings.txt b/models/sbml-test-suite/cases/semantic/00706/00706-settings.txt
new file mode 100644
index 0000000..5a66c8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00706/00706-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00707/00707-results.csv b/models/sbml-test-suite/cases/semantic/00707/00707-results.csv
new file mode 100644
index 0000000..0fc9ecf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00707/00707-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.05,0.7788007823394003,0.7211992176605996,0.5408994132454497
+0.1,0.6065306527835548,0.8934693472164451,0.6701020104123338
+0.15,0.4723665523631123,1.027633447636888,0.7707250857276659
+0.2,0.3678793768009918,1.132120623199008,0.8490904673992563
+0.25,0.2865047934612494,1.21349520653875,0.9101214049040629
+0.3,0.2231301597662277,1.02686977702016,0.77015233276512
+0.35,0.1737739427274322,1.076225994058955,0.8071694955442166
+0.4,0.1353352829546253,1.114664653831762,0.835998490373822
+0.45,0.105399222740071,1.144600714046316,0.8584505355347373
+0.5,0.08208499850923418,1.167914938277153,0.8759362037078648
+0.55,0.06392786107896184,1.186072075707425,0.8895540567805693
+0.6,0.04978706808212004,1.200212868704267,0.9001596515282004
+0.65,0.03877420752599768,1.211225729260389,0.9084192969452924
+0.7,0.03019738304173007,1.219802553744657,0.9148519153084929
+0.75,0.02351774528628764,1.226482191500099,0.9198616436250747
+0.8,0.01831563796034907,1.231684298826038,0.9237632241195288
+0.85,0.01426423340648093,1.235735703379906,0.9268017775349297
+0.9,0.0111089963548224,1.238890940431564,0.9291682053236736
+0.95,0.008651695191001637,1.241348241595385,0.931011181196539
+1.,0.006737946910777833,1.243261989875609,0.9324464924067067
+1.05,0.005247518181490691,1.244752418604896,0.9335643139536721
+1.1,0.004086771138698036,1.245913165647688,0.9344348742357665
+1.15,0.003182780482029063,1.246817156304357,0.9351128672282682
+1.2,0.002478751900652464,1.247521184885734,0.9356408886643008
+1.25,0.00193045392776295,1.248069482858623,0.9360521121439678
+1.3,0.001503439058674108,1.248496497727712,0.9363723732957844
+1.35,0.001170879550855299,1.248829057235531,0.9366217929266487
+1.4,0.0009118819405909171,1.249088054845796,0.9368160411343471
+1.45,0.0007101743856981862,1.249289762400688,0.9369673218005166
+1.5,0.0005530843669825277,1.249446852419404,0.9370851393145533
+1.55,0.0004307425279344203,1.249569194258452,0.9371768956938391
+1.6,0.0003354626073673752,1.249664474179019,0.9372483556342644
+1.65,0.0002612585337537826,1.249738678252632,0.9373040086894743
+1.7,0.0002034683469824502,1.249796468439403,0.9373473513295529
+1.75,0.000158461307490112,1.249841475478896,0.9373811066091719
+1.8,0.0001234097919645967,1.249876526994421,0.9374073952458161
+1.85,0.00009611164512867545,1.249903825141258,0.9374278688559434
+1.9,0.00007485182692157894,1.249925084959465,0.9374438137195987
+1.95,0.00005829466307170018,1.249941642123314,0.9374562315924861
+2.,0.00004539992968288129,1.249954536856703,0.9374659026425278
+2.05,0.00003535750019881836,1.249964579286187,0.9374734344646408
+2.1,0.00002753644801163444,1.249972400338374,0.9374793002537809
+2.15,0.00002144540660564616,1.24997849137978,0.9374838685348353
+2.2,0.00001670169907278206,1.249983235087313,0.9374874263154853
+2.25,0.00001300729619718007,1.249986929490189,0.9374901971176419
+2.3,0.00001013009253404794,1.249989806693852,0.9374923550203895
+2.35,7.889324168299798e-6,1.249992047462218,0.9374940355966636
+2.4,6.144212030940222e-6,1.249993792574355,0.9374953444307667
+2.45,4.785117291624422e-6,1.249995151669095,0.9374963637518212
+2.5,3.726653167096995e-6,1.249996210133219,0.9374971575999144
diff --git a/models/sbml-test-suite/cases/semantic/00707/00707-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00707/00707-sbml-l2v4.xml
new file mode 100644
index 0000000..f23ab85
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00707/00707-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00707" id="case00707" name="case00707">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.75"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00707/00707-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00707/00707-sbml-l3v1.xml
new file mode 100644
index 0000000..2373213
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00707/00707-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00707" id="case00707" name="case00707" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.375" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="5"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00707/00707-settings.txt b/models/sbml-test-suite/cases/semantic/00707/00707-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00707/00707-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00708/00708-results.csv b/models/sbml-test-suite/cases/semantic/00708/00708-results.csv
new file mode 100644
index 0000000..1861990
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00708/00708-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.1,0.6065306527282378,0.8934693472717621,0.6701020104538216
+0.2,0.3678793785780327,1.132120621421967,0.8490904660664755
+0.3,0.2231301601143213,1.276869839885678,0.9576523799142591
+0.4,0.1353352827995035,1.364664717200496,1.023498537900372
+0.5,0.08208499786926455,1.417915002130734,1.063436251598051
+0.6,0.04978706691007342,1.450212933089926,1.087659699817444
+0.7,0.03019738313854777,1.46980261686145,1.102351962646088
+0.8,0.01831563871854158,1.481684361281456,1.111263270961092
+0.9,0.01110899566660876,1.488891004333389,1.116668253250042
+1.,0.006737946668664118,1.001470549848109,0.7511029123860821
+1.1,0.00408677115559116,1.004121725361182,0.7530912940208867
+1.2,0.002478752054718019,1.005729744462055,0.7542973083465416
+1.3,0.001503439119377369,1.006705057397395,0.7550287930480469
+1.4,0.0009118818575787568,1.007296614659194,0.7554724609943956
+1.5,0.000553084304559031,1.007655412212214,0.7557415591591607
+1.6,0.0003354626096785803,1.007873033907094,0.7559047754303208
+1.7,0.0002034683543676331,1.008005028162405,0.7560037711218041
+1.8,0.0001234097876693631,1.008085086729103,0.7560638150468278
+1.9,0.00007485181794076106,1.008133644698832,0.7561002335241242
+2.,0.00004539992403094791,1.008163096592742,0.7561223224445565
+2.1,0.00002753644757716535,1.008180960069195,0.7561357200518965
+2.2,0.00001670169978701099,1.008191794816985,0.7561438461127392
+2.3,0.00001013009238613989,1.008198366424387,0.7561487748182902
+2.4,6.144211378209642e-6,1.008202352305395,0.7561517642290462
+2.5,3.726652654895486e-6,1.008204769864118,0.7561535773980887
+2.6,2.260329231473757e-6,1.008206236187541,0.7561546771406564
+2.7,1.370959015303383e-6,1.008207125557758,0.7561553441683185
+2.8,8.315286318069508e-7,1.008207664988141,0.7561557487411061
+2.9,5.043475847484746e-7,1.008207992169188,0.7561559941268915
+3.,3.059022749915506e-7,1.008208190614498,0.7561561429608739
+3.1,1.855391190723661e-7,1.008208310977654,0.7561562332332408
+3.2,1.12535169216612e-7,1.008208383981604,0.7561562879862033
+3.3,6.825602763141444e-8,1.008208428260746,0.7561563211955595
+3.4,4.139937111811544e-8,1.008208455117402,0.7561563413380519
+3.5,2.510998764750871e-8,1.008208471406786,0.7561563535550897
+3.6,1.522997809901983e-8,1.008208481286796,0.7561563609650972
+3.7,9.237449177103226e-9,1.008208487279324,0.7561563654594936
+3.8,5.602796015394517e-9,1.008208490913977,0.7561563681854834
+3.9,3.398267357140671e-9,1.008208493118506,0.75615636983888
+4.,2.061153294183705e-9,1.00820849445562,0.7561563708417156
+4.1,1.250152712915709e-9,1.008208495266621,0.7561563714499659
+4.2,7.582559961835201e-10,1.008208495758518,0.7561563718188885
+4.3,4.599055090042722e-10,1.008208496056868,0.7561563720426509
+4.4,2.789467749238475e-10,1.008208496237826,0.7561563721783701
+4.5,1.691897653177686e-10,1.008208496347583,0.7561563722606878
+4.6,1.026187823781966e-10,1.008208496414154,0.7561563723106161
+4.7,6.224144161822525e-11,1.008208496454532,0.756156372340899
+4.8,3.775134342437386e-11,1.008208496479022,0.7561563723592668
+4.9,2.289734596654194e-11,1.008208496493876,0.7561563723704073
+5.,1.388794318612138e-11,1.008208496502885,0.7561563723771644
diff --git a/models/sbml-test-suite/cases/semantic/00708/00708-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00708/00708-sbml-l2v4.xml
new file mode 100644
index 0000000..97331f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00708/00708-sbml-l2v4.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00708" id="case00708" name="case00708">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.75"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="5"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00708/00708-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00708/00708-sbml-l3v1.xml
new file mode 100644
index 0000000..1b50e40
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00708/00708-sbml-l3v1.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00708" id="case00708" name="case00708" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="5"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00708/00708-settings.txt b/models/sbml-test-suite/cases/semantic/00708/00708-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00708/00708-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00709/00709-results.csv b/models/sbml-test-suite/cases/semantic/00709/00709-results.csv
new file mode 100644
index 0000000..7ac54ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00709/00709-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2,1.5,4
+0.2,1.29106,2.20894,1.575,3.975
+0.4,1.11123,2.38877,1.65,3.95
+0.6,0.956442,2.54356,1.725,3.925
+0.8,0.823217,2.67678,1.8,3.9
+1,0.70855,2.79145,1.875,3.875
+1.2,0.609854,2.89015,1.95,3.85
+1.4,0.524907,2.97509,2.025,3.825
+1.6,0.451791,3.04821,2.1,3.8
+1.8,0.38886,3.11114,2.175,3.775
+2,0.334695,3.1653,2.25,3.75
+2.2,0.288075,3.21193,2.325,3.725
+2.4,0.247948,3.25205,2.4,3.7
+2.6,0.213411,3.28659,2.475,3.675
+2.8,0.183685,3.31632,2.55,3.65
+3,0.158099,3.3419,2.625,3.625
+3.2,0.136077,3.36392,2.7,3.6
+3.4,0.117122,3.38288,2.775,3.575
+3.6,0.100808,3.39919,2.85,3.55
+3.8,0.0867665,3.41323,2.925,3.525
+4,0.0746806,3.42532,3,3.5
+4.2,0.0642782,3.43572,3.075,3.475
+4.4,0.0553248,3.44468,3.15,3.45
+4.6,0.0476185,3.45238,3.225,3.425
+4.8,0.0409856,3.45901,3.3,3.4
+5,0.0352766,3.46472,3.375,3.375
+5.2,0.0303629,3.46964,3.45,3.35
+5.4,0.0261336,3.47387,3.525,3.325
+5.6,0.0224934,3.47751,3.6,3.3
+5.8,0.0193602,3.48064,3.675,3.275
+6,0.0166635,3.48334,3.75,3.25
+6.2,0.0143424,3.48566,3.825,3.225
+6.4,0.0123446,3.48766,3.9,3.2
+6.6,0.0106251,3.48937,3.975,3.175
+6.8,0.00914512,3.49085,4.05,3.15
+7,0.00787128,3.49213,4.125,3.125
+7.2,0.00677487,3.49323,4.2,3.1
+7.4,0.00583119,3.49417,4.275,3.075
+7.6,0.00501895,3.49498,4.35,3.05
+7.8,0.00431985,3.49568,4.425,3.025
+8,0.00371813,3.49628,4.5,3
+8.2,0.00320022,3.4968,4.575,2.975
+8.4,0.00275446,3.49725,4.65,2.95
+8.6,0.00237078,3.49763,4.725,2.925
+8.8,0.00204055,3.49796,4.8,2.9
+9,0.00175632,3.49824,4.875,2.875
+9.2,0.00151168,3.49849,4.95,2.85
+9.4,0.00130111,3.4987,5.025,2.825
+9.6,0.00111988,3.49888,5.1,2.8
+9.8,0.000963889,3.49904,5.175,2.775
+10,0.000829627,3.49917,5.25,2.75
diff --git a/models/sbml-test-suite/cases/semantic/00709/00709-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00709/00709-sbml-l2v4.xml
new file mode 100644
index 0000000..05efcf6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00709/00709-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00709" id="case00709" name="case00709">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00709/00709-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00709/00709-sbml-l3v1.xml
new file mode 100644
index 0000000..d2b54d4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00709/00709-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00709" id="case00709" name="case00709" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00709/00709-settings.txt b/models/sbml-test-suite/cases/semantic/00709/00709-settings.txt
new file mode 100644
index 0000000..20b8ed3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00709/00709-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00710/00710-results.csv b/models/sbml-test-suite/cases/semantic/00710/00710-results.csv
new file mode 100644
index 0000000..6809c32
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00710/00710-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,0
+0.2,1.11123,0.388773,0.03
+0.4,0.823217,0.676783,0.06
+0.6,0.609854,0.890146,0.09
+0.8,0.451791,1.04821,0.12
+1,0.334695,1.1653,0.15
+1.2,0.247948,1.25205,0.18
+1.4,0.183685,1.31632,0.21
+1.6,0.136077,1.36392,0.24
+1.8,0.100808,1.39919,0.27
+2,0.0746806,1.42532,0.3
+2.2,0.0553248,1.44468,0.33
+2.4,0.0409856,1.45901,0.36
+2.6,0.0303629,1.46964,0.39
+2.8,0.0224934,1.47751,0.42
+3,0.0166635,1.48334,0.45
+3.2,0.0123446,1.48766,0.48
+3.4,0.00914512,1.49085,0.51
+3.6,0.00677487,1.49323,0.54
+3.8,0.00501895,1.49498,0.57
+4,0.00371813,1.49628,0.6
+4.2,0.00275446,1.49725,0.63
+4.4,0.00204055,1.49796,0.66
+4.6,0.00151168,1.49849,0.69
+4.8,0.00111988,1.49888,0.72
+5,0.000829627,1.49917,0.75
+5.2,0.000614602,1.49939,0.78
+5.4,0.000455309,1.49954,0.81
+5.6,0.000337301,1.49966,0.84
+5.8,0.000249879,1.49975,0.87
+6,0.000185115,1.49981,0.9
+6.2,0.000137136,1.49986,0.93
+6.4,0.000101593,1.4999,0.96
+6.6,7.5262e-005,1.49992,0.99
+6.8,5.57555e-005,1.49994,1.02
+7,4.13047e-005,1.49996,1.05
+7.2,3.05993e-005,1.49997,1.08
+7.4,2.26685e-005,1.49998,1.11
+7.6,1.67932e-005,1.49998,1.14
+7.8,1.24407e-005,1.49999,1.17
+8,9.21632e-006,1.49999,1.2
+8.2,6.82762e-006,1.49999,1.23
+8.4,5.05802e-006,1.49999,1.26
+8.6,3.74708e-006,1.5,1.29
+8.8,2.7759e-006,1.5,1.32
+9,2.05644e-006,1.5,1.35
+9.2,1.52345e-006,1.5,1.38
+9.4,1.1286e-006,1.5,1.41
+9.6,8.36086e-007,1.5,1.44
+9.8,6.19387e-007,1.5,1.47
+10,4.58853e-007,1.5,1.5
diff --git a/models/sbml-test-suite/cases/semantic/00710/00710-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00710/00710-sbml-l2v4.xml
new file mode 100644
index 0000000..c1e26bb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00710/00710-sbml-l2v4.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00710" id="case00710" name="case00710">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.75" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00710/00710-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00710/00710-sbml-l3v1.xml
new file mode 100644
index 0000000..9db1caa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00710/00710-sbml-l3v1.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00710" id="case00710" name="case00710" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.75" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00710/00710-settings.txt b/models/sbml-test-suite/cases/semantic/00710/00710-settings.txt
new file mode 100644
index 0000000..197ba54
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00710/00710-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00711/00711-results.csv b/models/sbml-test-suite/cases/semantic/00711/00711-results.csv
new file mode 100644
index 0000000..6190038
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00711/00711-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00015,0.0002,0.00015,0.0001
+0.1,0.000130148252503009,0.000180148252503009,0.000169851747496991,0.00011
+0.2,0.0001144383745044824,0.0001644383745044824,0.0001855616254955176,0.00012
+0.3,0.000101706089053751,0.0001517060890537511,0.0001982939109462489,0.00013
+0.4,9.118606281682919e-005,0.0001411860628168292,0.0002088139371831708,0.00014
+0.5,8.235451083196407e-005,0.0001323545108319641,0.0002176454891680359,0.00015
+0.6,7.484086904050135e-005,0.0001248408690405014,0.0002251591309594986,0.00016
+0.7,6.837558150074288e-005,0.0001183755815007429,0.0002316244184992571,0.00017
+0.8,6.275788011214597e-005,0.000112757880112146,0.000237242119887854,0.00018
+0.9,5.783515438746691e-005,0.0001078351543874669,0.0002421648456125331,0.00019
+1,5.3489329560523e-005,0.000103489329560523,0.000246510670439477,0.0002000000000000001
+1.1,4.962761734154364e-005,9.962761734154366e-005,0.0002503723826584563,0.0002100000000000001
+1.2,4.617609004347779e-005,9.617609004347782e-005,0.0002538239099565222,0.0002200000000000001
+1.3,4.307511941667313e-005,9.307511941667318e-005,0.0002569248805833268,0.0002300000000000001
+1.4,4.027607773662705e-005,9.027607773662709e-005,0.0002597239222633729,0.0002400000000000001
+1.5,3.773891202892264e-005,8.773891202892267e-005,0.0002622610879710773,0.0002500000000000001
+1.6,3.543033320437725e-005,8.543033320437728e-005,0.0002645696667956227,0.0002600000000000001
+1.7,3.332244548901836e-005,8.33224454890184e-005,0.0002666775545109816,0.0002700000000000001
+1.8,3.139169569100396e-005,8.1391695691004e-005,0.000268608304308996,0.00028
+1.9,2.961805958532416e-005,7.961805958532421e-005,0.0002703819404146758,0.0002900000000000001
+2,2.798440460171988e-005,7.798440460171992e-005,0.0002720155953982801,0.0003
+2.1,2.647598629186984e-005,7.647598629186987e-005,0.0002735240137081301,0.00031
+2.2,2.50800441183001e-005,7.508004411830013e-005,0.0002749199558816998,0.00032
+2.3,2.378547940752417e-005,7.378547940752419e-005,0.0002762145205924758,0.0003300000000000001
+2.4,2.258259428877804e-005,7.258259428877806e-005,0.0002774174057112219,0.00034
+2.5,2.146287446894794e-005,7.146287446894797e-005,0.000278537125531052,0.00035
+2.6,2.041881606636398e-005,7.041881606636401e-005,0.000279581183933636,0.00036
+2.7,1.944377969042871e-005,6.944377969042875e-005,0.0002805562203095712,0.00037
+2.8,1.853186727945909e-005,6.853186727945913e-005,0.0002814681327205408,0.00038
+2.9,1.767782474706021e-005,6.767782474706025e-005,0.0002823221752529397,0.00039
+3,1.687695232286204e-005,6.687695232286208e-005,0.0002831230476771379,0.0004
+3.1,1.61250373125646e-005,6.612503731256464e-005,0.0002838749626874353,0.00041
+3.2,1.541828859568515e-005,6.541828859568519e-005,0.0002845817114043148,0.00042
+3.3,1.475328892312796e-005,6.4753288923128e-005,0.0002852467110768719,0.00043
+3.4,1.412694614844422e-005,6.412694614844428e-005,0.0002858730538515557,0.00044
+3.5,1.353645921735101e-005,6.353645921735105e-005,0.000286463540782649,0.00045
+3.6,1.297928084876937e-005,6.297928084876942e-005,0.0002870207191512306,0.00046
+3.7,1.245309321861637e-005,6.245309321861641e-005,0.0002875469067813836,0.00047
+3.8,1.19557791868606e-005,6.195577918686065e-005,0.0002880442208131394,0.00048
+3.9,1.148540383793981e-005,6.148540383793987e-005,0.0002885145961620602,0.00049
+4,1.104019371894803e-005,6.104019371894808e-005,0.0002889598062810519,0.0005
+4.1,1.061852034387985e-005,6.06185203438799e-005,0.0002893814796561201,0.00051
+4.2,1.021888736421968e-005,6.021888736421973e-005,0.0002897811126357803,0.0005200000000000001
+4.3,9.839914684229419e-006,5.983991468422947e-005,0.0002901600853157705,0.0005300000000000001
+4.4,9.480330305341654e-006,5.948033030534171e-005,0.0002905196696946583,0.0005400000000000001
+4.5,9.138958063149376e-006,5.913895806314943e-005,0.0002908610419368506,0.00055
+4.6,8.814709003154459e-006,5.881470900315451e-005,0.0002911852909968455,0.0005600000000000001
+4.7,8.506575071488396e-006,5.850657507148845e-005,0.0002914934249285116,0.0005700000000000001
+4.8,8.213619404420513e-006,5.821361940442056e-005,0.0002917863805955795,0.0005800000000000001
+4.9,7.934971895299309e-006,5.793497189529937e-005,0.0002920650281047007,0.0005900000000000001
+5,7.669823026896017e-006,5.766982302689607e-005,0.000292330176973104,0.0006000000000000002
diff --git a/models/sbml-test-suite/cases/semantic/00711/00711-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00711/00711-sbml-l2v4.xml
new file mode 100644
index 0000000..d93a9d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00711/00711-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00711" id="case00711" name="case00711">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.93" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.00015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="0.0025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.0001 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00711/00711-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00711/00711-sbml-l3v1.xml
new file mode 100644
index 0000000..f488d0b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00711/00711-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00711" id="case00711" name="case00711" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.93" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.0001 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00711/00711-settings.txt b/models/sbml-test-suite/cases/semantic/00711/00711-settings.txt
new file mode 100644
index 0000000..4bdd931
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00711/00711-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00712/00712-results.csv b/models/sbml-test-suite/cases/semantic/00712/00712-results.csv
new file mode 100644
index 0000000..e5f85da
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00712/00712-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.1,0.1353867210057059,0.01461327899429408
+0.2,0.1215876371988382,0.02841236280116177
+0.3,0.1086503806798395,0.0413496193201605
+0.4,0.09660545893480406,0.05339454106519594
+0.5,0.08546741904765746,0.06453258095234253
+0.6,0.0752363961268592,0.07476360387314079
+0.7,0.06589979810039422,0.08410020189960579
+0.8,0.05743391571527124,0.09256608428472876
+0.9,0.04980599399265337,0.1001940060073466
+1,0.042975721041678,0.107024278958322
+1.1,0.03689718121484913,0.1131028187851509
+1.2,0.03152041575677973,0.1184795842432203
+1.3,0.02679286317292534,0.1232071368270746
+1.4,0.02266077232886085,0.1273392276711391
+1.5,0.01907036110484687,0.1309296388951531
+1.6,0.0159687797578233,0.1340312202421767
+1.7,0.0133049444743412,0.1366950555256588
+1.8,0.01103018668774824,0.1389698133122517
+1.9,0.009098737713533324,0.1409012622864667
+2,0.007468062861637159,0.1425319371383628
+2.1,0.006099065932893276,0.1439009340671067
+2.2,0.004956181833139485,0.1450438181668605
+2.3,0.004007372093514769,0.1459926279064852
+2.4,0.003224041626937979,0.146775958373062
+2.5,0.002580893870399508,0.1474191061296005
+2.6,0.002055740020757436,0.1479442599792425
+2.7,0.001629276438514626,0.1483707235614854
+2.8,0.001284842509878119,0.1487151574901219
+2.9,0.001008169402247988,0.148991830597752
+3,0.0007871284180799817,0.14921287158192
+3.1,0.0006114855421711252,0.1493885144578289
+3.2,0.0004726671160242617,0.1495273328839757
+3.3,0.0003635408269183485,0.1496364591730816
+3.4,0.0002782142970018346,0.1497217857029982
+3.5,0.0002118527569651622,0.1497881472430348
+3.6,0.0001605156755554794,0.1498394843244445
+3.7,0.0001210122616482149,0.1498789877383518
+3.8,9.077570447401092e-005,0.149909224295526
+3.9,6.77545305059182e-005,0.1499322454694941
+4,5.031942472418043e-005,0.1499496805752758
+4.1,3.718447128925323e-005,0.1499628155287107
+4.2,2.734110800735223e-005,0.1499726588919926
+4.3,2.000318194889559e-005,0.1499799968180511
+4.4,1.456164464602663e-005,0.1499854383553539
+4.5,1.054751192184142e-005,0.1499894524880782
+4.6,7.60182650060921e-006,0.1499923981734994
+4.7,5.451487744322606e-006,0.1499945485122557
+4.8,3.889941965578017e-006,0.1499961100580344
+4.9,2.761853559534673e-006,0.1499972381464405
+5,1.951119184061967e-006,0.1499980488808159
diff --git a/models/sbml-test-suite/cases/semantic/00712/00712-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00712/00712-sbml-l2v4.xml
new file mode 100644
index 0000000..07d3568
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00712/00712-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00712" id="case00712" name="case00712">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+      <parameter id="k3" name="k3" value="0.3"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> k2 </ci>
+            <ci> k3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00712/00712-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00712/00712-sbml-l3v1.xml
new file mode 100644
index 0000000..64ee03a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00712/00712-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00712" id="case00712" name="case00712" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+      <parameter id="k3" name="k3" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> k2 </ci>
+            <ci> k3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00712/00712-settings.txt b/models/sbml-test-suite/cases/semantic/00712/00712-settings.txt
new file mode 100644
index 0000000..4668701
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00712/00712-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00713/00713-results.csv b/models/sbml-test-suite/cases/semantic/00713/00713-results.csv
new file mode 100644
index 0000000..e223d79
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00713/00713-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1e-006,1.5e-006,2e-006,5e-007
+0.2,5.706777260798659e-007,1.070677726079866e-006,2.429322273920134e-006,9.29322273920134e-007
+0.4,5.241389908731998e-007,1.0241389908732e-006,2.475861009126801e-006,9.758610091268002e-007
+0.6,4.918959671742092e-007,9.918959671742087e-007,2.508104032825792e-006,1.008104032825791e-006
+0.8,4.645666464307281e-007,9.645666464307279e-007,2.535433353569274e-006,1.035433353569272e-006
+1,4.409008243706275e-007,9.409008243706273e-007,2.559099175629374e-006,1.059099175629372e-006
+1.2,4.201215423958905e-007,9.201215423958904e-007,2.579878457604111e-006,1.079878457604109e-006
+1.4,4.016711820840619e-007,9.016711820840616e-007,2.59832881791594e-006,1.098328817915938e-006
+1.6,3.851356814614535e-007,8.85135681461453e-007,2.614864318538548e-006,1.114864318538547e-006
+1.8,3.701994319309627e-007,8.701994319309624e-007,2.629800568069038e-006,1.129800568069037e-006
+2,3.566166145548677e-007,8.566166145548673e-007,2.643383385445134e-006,1.143383385445132e-006
+2.2,3.441922334850375e-007,8.44192233485037e-007,2.655807766514965e-006,1.155807766514963e-006
+2.4,3.327691625965861e-007,8.327691625965855e-007,2.667230837403417e-006,1.167230837403414e-006
+2.6,3.222190577223043e-007,8.222190577223035e-007,2.677780942277699e-006,1.177780942277696e-006
+2.8,3.124358269797723e-007,8.124358269797718e-007,2.687564173020231e-006,1.187564173020228e-006
+3,3.033308426043203e-007,8.033308426043195e-007,2.696669157395684e-006,1.196669157395679e-006
+3.2,2.948293661616741e-007,7.948293661616734e-007,2.705170633838331e-006,1.205170633838326e-006
+3.4,2.868678398676355e-007,7.868678398676346e-007,2.71313216013237e-006,1.213132160132364e-006
+3.6,2.793918024750476e-007,7.793918024750468e-007,2.720608197524958e-006,1.220608197524952e-006
+3.8,2.723542609376073e-007,7.723542609376065e-007,2.727645739062398e-006,1.227645739062393e-006
+4,2.657144069975265e-007,7.657144069975256e-007,2.734285593002479e-006,1.234285593002473e-006
+4.2,2.594366090079206e-007,7.594366090079199e-007,2.740563390992084e-006,1.240563390992079e-006
+4.4,2.534895824004714e-007,7.534895824004705e-007,2.746510417599534e-006,1.246510417599528e-006
+4.6,2.47845720360359e-007,7.47845720360358e-007,2.752154279639646e-006,1.25215427963964e-006
+4.8,2.424805676052268e-007,7.424805676052259e-007,2.757519432394778e-006,1.257519432394772e-006
+5,2.373723465741532e-007,7.373723465741525e-007,2.762627653425852e-006,1.262627653425846e-006
+5.2,2.325016128178874e-007,7.325016128178865e-007,2.767498387182118e-006,1.267498387182112e-006
+5.4,2.278509175296566e-007,7.278509175296556e-007,2.772149082470349e-006,1.272149082470343e-006
+5.6,2.234045732471658e-007,7.23404573247165e-007,2.776595426752839e-006,1.276595426752834e-006
+5.8,2.191484060011182e-007,7.191484060011175e-007,2.780851593998888e-006,1.280851593998882e-006
+6,2.150695968041884e-007,7.150695968041878e-007,2.784930403195816e-006,1.284930403195811e-006
+6.2,2.111564941016573e-007,7.111564941016566e-007,2.788843505898348e-006,1.288843505898343e-006
+6.4,2.073984995335276e-007,7.07398499533527e-007,2.792601500466478e-006,1.292601500466473e-006
+6.6,2.037859381674767e-007,7.037859381674761e-007,2.796214061832528e-006,1.296214061832523e-006
+6.8,2.003099532831484e-007,7.003099532831473e-007,2.799690046716856e-006,1.299690046716851e-006
+7,1.969624344925342e-007,6.96962434492533e-007,2.803037565507471e-006,1.303037565507466e-006
+7.2,1.937359211660838e-007,6.937359211660824e-007,2.806264078833921e-006,1.306264078833916e-006
+7.4,1.906235440064428e-007,6.906235440064417e-007,2.809376455993562e-006,1.309376455993557e-006
+7.6,1.876189730062058e-007,6.876189730062045e-007,2.812381026993799e-006,1.312381026993794e-006
+7.8,1.847163510700212e-007,6.847163510700197e-007,2.815283648929983e-006,1.315283648929978e-006
+8,1.819102540164858e-007,6.819102540164842e-007,2.818089745983518e-006,1.318089745983514e-006
+8.2,1.79195658533306e-007,6.791956585333046e-007,2.820804341466698e-006,1.320804341466693e-006
+8.4,1.765678945687554e-007,6.765678945687538e-007,2.823432105431248e-006,1.323432105431244e-006
+8.6,1.740226132835847e-007,6.740226132835832e-007,2.825977386716419e-006,1.325977386716415e-006
+8.8,1.715557676179468e-007,6.715557676179454e-007,2.828444232382057e-006,1.328444232382053e-006
+9,1.691635830374319e-007,6.691635830374303e-007,2.830836416962572e-006,1.330836416962567e-006
+9.2,1.668425293292429e-007,6.668425293292414e-007,2.83315747067076e-006,1.333157470670757e-006
+9.4,1.645893017501043e-007,6.645893017501027e-007,2.835410698249899e-006,1.335410698249895e-006
+9.6,1.624008094999121e-007,6.624008094999107e-007,2.837599190500091e-006,1.337599190500088e-006
+9.8,1.602741543199619e-007,6.602741543199606e-007,2.839725845680041e-006,1.339725845680037e-006
+10,1.582066122217477e-007,6.582066122217464e-007,2.841793387778255e-006,1.341793387778252e-006
diff --git a/models/sbml-test-suite/cases/semantic/00713/00713-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00713/00713-sbml-l2v4.xml
new file mode 100644
index 0000000..41a31ef
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00713/00713-sbml-l2v4.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00713" id="case00713" name="case00713">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.15" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5e-007" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000000" constant="false"/>
+      <parameter id="k2" name="k2" value="300000"/>
+      <parameter id="k3" name="k3" value="700000"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> k2 </ci>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00713/00713-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00713/00713-sbml-l3v1.xml
new file mode 100644
index 0000000..24a664a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00713/00713-sbml-l3v1.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00713" id="case00713" name="case00713" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.15" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000000" constant="false"/>
+      <parameter id="k2" name="k2" value="300000" constant="true"/>
+      <parameter id="k3" name="k3" value="700000" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> k2 </ci>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00713/00713-settings.txt b/models/sbml-test-suite/cases/semantic/00713/00713-settings.txt
new file mode 100644
index 0000000..bb92d29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00713/00713-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00714/00714-results.csv b/models/sbml-test-suite/cases/semantic/00714/00714-results.csv
new file mode 100644
index 0000000..5a89853
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00714/00714-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,2,1
+0.06,0.8714057820689031,1.871405782068903,1.128594217931097
+0.12,0.7698260055271764,1.769826005527176,1.230173994472824
+0.18,0.6883069289370598,1.68830692893706,1.31169307106294
+0.24,0.622049079341125,1.622049079341125,1.377950920658875
+0.3,0.56763212979167,1.56763212979167,1.43236787020833
+0.36,0.5225525502253842,1.522552550225384,1.477447449774616
+0.42,0.4849358747369617,1.484935874736961,1.515064125263038
+0.48,0.4533511357484837,1.453351135748484,1.546648864251516
+0.54,0.4266878935105167,1.426687893510517,1.573312106489484
+0.6,0.4040721611705516,1.404072161170551,1.595927838829448
+0.66,0.3848073072992131,1.384807307299213,1.615192692700787
+0.72,0.3683319509914657,1.368331950991466,1.631668049008534
+0.78,0.3541900923290089,1.354190092329009,1.645809907670991
+0.84,0.3420079748883351,1.342007974888335,1.657992025111665
+0.9,0.3314770174790665,1.331477017479067,1.668522982520933
+0.96,0.322341566757891,1.322341566757891,1.677658433242109
+1.02,0.3143880036163724,1.314388003616372,1.685611996383627
+1.08,0.3074376656343417,1.307437665634342,1.692562334365658
+1.14,0.3013402969273563,1.301340296927357,1.698659703072643
+1.2,0.2959691126227176,1.295969112622718,1.704030887377282
+1.26,0.2912171472002095,1.29121714720021,1.70878285279979
+1.32,0.2869935118530356,1.286993511853036,1.713006488146964
+1.38,0.2832213851123059,1.283221385112306,1.716778614887694
+1.44,0.2798351758704158,1.279835175870416,1.720164824129584
+1.5,0.2767793617146207,1.276779361714621,1.723220638285379
+1.56,0.2740064341077714,1.274006434107772,1.725993565892229
+1.62,0.2714760530878189,1.271476053087819,1.728523946912181
+1.68,0.2691537938023574,1.269153793802357,1.730846206197643
+1.74,0.2670101873333698,1.26701018733337,1.73298981266663
+1.8,0.2650203336973622,1.265020333697362,1.734979666302638
+1.86,0.2631626485637937,1.263162648563794,1.736837351436206
+1.92,0.2614190612519006,1.261419061251901,1.7385809387481
+1.98,0.2597739103794474,1.259773910379447,1.740226089620552
+2.04,0.2582138699078608,1.258213869907861,1.741786130092139
+2.1,0.2567277363248025,1.256727736324803,1.743272263675197
+2.16,0.2553056723944654,1.255305672394466,1.744694327605534
+2.22,0.2539395059425826,1.253939505942583,1.746060494057417
+2.28,0.2526222486262519,1.252622248626252,1.747377751373748
+2.34,0.2513477433256294,1.25134774332563,1.74865225667437
+2.4,0.2501109712615848,1.250110971261585,1.749889028738415
+2.46,0.2489075932657602,1.24890759326576,1.75109240673424
+2.52,0.2477337428640362,1.247733742864036,1.752266257135964
+2.58,0.2465863153351499,1.24658631533515,1.75341368466485
+2.64,0.2454626508217969,1.245462650821797,1.754537349178203
+2.7,0.2443603145256401,1.24436031452564,1.75563968547436
+2.76,0.2432773262494089,1.243277326249409,1.756722673750591
+2.82,0.2422120896792918,1.242212089679292,1.757787910320708
+2.88,0.2411631008070646,1.241163100807065,1.758836899192935
+2.94,0.2401290526965901,1.24012905269659,1.75987094730341
+3,0.2391089231352183,1.239108923135218,1.760891076864781
diff --git a/models/sbml-test-suite/cases/semantic/00714/00714-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00714/00714-sbml-l2v4.xml
new file mode 100644
index 0000000..c8e6ce0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00714/00714-sbml-l2v4.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00714" id="case00714" name="case00714">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.25" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+      <parameter id="k3" name="k3" value="-0.1"/>
+      <parameter id="p1" name="p1" value="1"/>
+      <parameter id="p2" name="p2" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <apply>
+                <times/>
+                <ci> k2 </ci>
+                <ci> p2 </ci>
+              </apply>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00714/00714-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00714/00714-sbml-l3v1.xml
new file mode 100644
index 0000000..a3c4676
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00714/00714-sbml-l3v1.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00714" id="case00714" name="case00714" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.25" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+      <parameter id="k3" name="k3" value="-0.1" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+      <parameter id="p2" name="p2" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <apply>
+                <times/>
+                <ci> k2 </ci>
+                <ci> p2 </ci>
+              </apply>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00714/00714-settings.txt b/models/sbml-test-suite/cases/semantic/00714/00714-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00714/00714-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00715/00715-results.csv b/models/sbml-test-suite/cases/semantic/00715/00715-results.csv
new file mode 100644
index 0000000..8fe98e3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00715/00715-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1e-005,1.5e-005,1e-005,1.5e-005
+0.2,1.092171685585319e-005,1.592171685585319e-005,9.078283144146808e-006,1.63825752837798e-005
+0.4,1.175322249733361e-005,1.67532224973336e-005,8.246777502666394e-006,1.762983374600042e-005
+0.6,1.250334614832108e-005,1.750334614832109e-005,7.496653851678917e-006,1.875501922248163e-005
+0.8,1.318005293210199e-005,1.818005293210199e-005,6.819947067898012e-006,1.977007939815299e-005
+1,1.379052838875794e-005,1.879052838875794e-005,6.209471611242064e-006,2.068579258313691e-005
+1.2,1.434125475743994e-005,1.934125475743994e-005,5.65874524256006e-006,2.151188213615992e-005
+1.4,1.483807986168668e-005,1.983807986168667e-005,5.161920138313325e-006,2.225711979253002e-005
+1.6,1.528627918874569e-005,2.028627918874569e-005,4.713720811254315e-006,2.292941878311854e-005
+1.8,1.569061189542581e-005,2.06906118954258e-005,4.3093881045742e-006,2.353591784313871e-005
+2,1.60553713421862e-005,2.105537134218619e-005,3.944628657813809e-006,2.408305701327929e-005
+2.2,1.638443067851055e-005,2.138443067851054e-005,3.615569321489457e-006,2.457664601776583e-005
+2.4,1.66812839801425e-005,2.16812839801425e-005,3.318716019857503e-006,2.502192597021376e-005
+2.6,1.694908334932254e-005,2.194908334932253e-005,3.05091665067747e-006,2.542362502398381e-005
+2.8,1.719067238298233e-005,2.219067238298232e-005,2.809327617017678e-006,2.57860085744735e-005
+3,1.740861636649319e-005,2.240861636649319e-005,2.591383633506813e-006,2.611292454973979e-005
+3.2,1.760522951272399e-005,2.260522951272398e-005,2.394770487276019e-006,2.640784426908598e-005
+3.4,1.778259953525528e-005,2.278259953525528e-005,2.217400464744722e-006,2.667389930288293e-005
+3.6,1.794260981654123e-005,2.294260981654122e-005,2.057390183458779e-006,2.691391472481185e-005
+3.8,1.808695940641624e-005,2.308695940641624e-005,1.913040593583762e-006,2.713043910962437e-005
+4,1.82171810634182e-005,2.32171810634182e-005,1.782818936581801e-006,2.732577159512732e-005
+4.2,1.833465753074944e-005,2.333465753074943e-005,1.665342469250568e-006,2.750198629612417e-005
+4.4,1.844063622012971e-005,2.34406362201297e-005,1.559363779870293e-006,2.766095433019458e-005
+4.6,1.853624245858543e-005,2.353624245858543e-005,1.46375754141457e-006,2.780436368787816e-005
+4.8,1.8622491429643e-005,2.362249142964299e-005,1.377508570357006e-006,2.793373714446451e-005
+5,1.870029895491055e-005,2.370029895491054e-005,1.299701045089454e-006,2.805044843236584e-005
+5.2,1.87704912191689e-005,2.377049121916889e-005,1.229508780831101e-006,2.815573682875337e-005
+5.4,1.883381354629768e-005,2.383381354629767e-005,1.166186453702323e-006,2.825072031944654e-005
+5.6,1.889093832231158e-005,2.389093832231157e-005,1.109061677688421e-006,2.833640748346739e-005
+5.8,1.894247213556316e-005,2.394247213556315e-005,1.057527864436848e-006,2.841370820334475e-005
+6,1.898896218288383e-005,2.398896218288382e-005,1.011037817116175e-006,2.848344327432576e-005
+6.2,1.903090209891938e-005,2.403090209891937e-005,9.690979010806217e-007,2.854635314837909e-005
+6.4,1.906873721959893e-005,2.406873721959893e-005,9.31262780401069e-007,2.860310582939842e-005
+6.6,1.910286931889793e-005,2.410286931889792e-005,8.97130681102079e-007,2.865430397834691e-005
+6.8,1.91336608073434e-005,2.41336608073434e-005,8.663391926566027e-007,2.870049121101512e-005
+7,1.916143862259317e-005,2.416143862259316e-005,8.385613774068339e-007,2.874215793388977e-005
+7.2,1.918649774988401e-005,2.418649774988401e-005,8.135022501159915e-007,2.877974662482604e-005
+7.4,1.920910427282165e-005,2.420910427282164e-005,7.908957271783567e-007,2.881365640923249e-005
+7.6,1.922949820698524e-005,2.422949820698523e-005,7.705017930147685e-007,2.884424731047787e-005
+7.8,1.924789613966799e-005,2.424789613966798e-005,7.521038603320188e-007,2.8871844209502e-005
+8,1.926449341328985e-005,2.426449341328984e-005,7.355065867101525e-007,2.88967401199348e-005
+8.2,1.927946624326581e-005,2.427946624326581e-005,7.205337567341913e-007,2.891919936489874e-005
+8.4,1.929297366085714e-005,2.429297366085713e-005,7.070263391428672e-007,2.893946049128572e-005
+8.6,1.93051590479941e-005,2.430515904799409e-005,6.948409520059097e-007,2.895773857199116e-005
+8.8,1.931615182307697e-005,2.431615182307696e-005,6.83848176923039e-007,2.897422773461547e-005
+9,1.932606870449484e-005,2.432606870449484e-005,6.739312955051623e-007,2.898910305674228e-005
+9.2,1.933501497830573e-005,2.433501497830572e-005,6.649850216942772e-007,2.900252246745861e-005
+9.4,1.93430856719852e-005,2.434308567198519e-005,6.569143280148088e-007,2.901462850797781e-005
+9.6,1.935036643965686e-005,2.435036643965685e-005,6.496335603431473e-007,2.90255496594853e-005
+9.8,1.935693463946568e-005,2.435693463946567e-005,6.430653605343277e-007,2.903540195919853e-005
+10,1.936285996787156e-005,2.436285996787155e-005,6.371400321284466e-007,2.904428995180735e-005
diff --git a/models/sbml-test-suite/cases/semantic/00715/00715-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00715/00715-sbml-l2v4.xml
new file mode 100644
index 0000000..928b4a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00715/00715-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00715" id="case00715" name="case00715">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.76" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00715/00715-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00715/00715-sbml-l3v1.xml
new file mode 100644
index 0000000..97cd02e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00715/00715-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00715" id="case00715" name="case00715" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.76" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00715/00715-settings.txt b/models/sbml-test-suite/cases/semantic/00715/00715-settings.txt
new file mode 100644
index 0000000..82f5a1c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00715/00715-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00716/00716-results.csv b/models/sbml-test-suite/cases/semantic/00716/00716-results.csv
new file mode 100644
index 0000000..9186c74
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00716/00716-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1e-005,1.5e-005,1e-005,1.5e-005
+0.2,1.092171685585319e-005,1.592171685585319e-005,9.078283144146808e-006,1.63825752837798e-005
+0.4,1.175322249733361e-005,1.675322249733361e-005,8.246777502666394e-006,1.762983374600042e-005
+0.6,1.250334614832108e-005,1.750334614832109e-005,7.496653851678917e-006,1.875501922248163e-005
+0.8,1.318005293210199e-005,1.818005293210199e-005,6.819947067898012e-006,1.977007939815299e-005
+1,1.379052838875794e-005,1.879052838875794e-005,6.209471611242063e-006,2.068579258313691e-005
+1.2,1.434125475743994e-005,1.934125475743994e-005,5.658745242560061e-006,2.151188213615992e-005
+1.4,1.483807986168668e-005,1.983807986168668e-005,5.161920138313326e-006,2.225711979253002e-005
+1.6,1.528627918874569e-005,2.028627918874569e-005,4.713720811254315e-006,2.292941878311854e-005
+1.8,1.56906118954258e-005,2.069061189542581e-005,4.3093881045742e-006,2.353591784313871e-005
+2,1.605537134218619e-005,2.10553713421862e-005,3.944628657813809e-006,2.408305701327929e-005
+2.2,1.638443067851054e-005,2.138443067851055e-005,3.615569321489457e-006,2.457664601776582e-005
+2.4,1.66812839801425e-005,2.16812839801425e-005,3.318716019857503e-006,2.502192597021375e-005
+2.6,1.694908334932253e-005,2.194908334932254e-005,3.05091665067747e-006,2.542362502398381e-005
+2.8,1.719067238298233e-005,2.219067238298233e-005,2.809327617017678e-006,2.57860085744735e-005
+3,1.740861636649319e-005,2.240861636649319e-005,2.591383633506813e-006,2.611292454973979e-005
+3.2,1.760522951272398e-005,2.260522951272399e-005,2.39477048727602e-006,2.640784426908598e-005
+3.4,1.778259953525528e-005,2.278259953525529e-005,2.217400464744723e-006,2.667389930288293e-005
+3.6,1.794260981654122e-005,2.294260981654123e-005,2.05739018345878e-006,2.691391472481184e-005
+3.8,1.808695940641624e-005,2.308695940641624e-005,1.913040593583762e-006,2.713043910962437e-005
+4,1.82171810634182e-005,2.32171810634182e-005,1.782818936581801e-006,2.732577159512731e-005
+4.2,1.833465753074943e-005,2.333465753074944e-005,1.665342469250569e-006,2.750198629612416e-005
+4.4,1.844063622012971e-005,2.344063622012971e-005,1.559363779870293e-006,2.766095433019457e-005
+4.6,1.853624245858543e-005,2.353624245858544e-005,1.46375754141457e-006,2.780436368787816e-005
+4.8,1.862249142964299e-005,2.3622491429643e-005,1.377508570357006e-006,2.79337371444645e-005
+5,1.870029895491055e-005,2.370029895491055e-005,1.299701045089455e-006,2.805044843236583e-005
+5.2,1.87704912191689e-005,2.37704912191689e-005,1.229508780831102e-006,2.815573682875336e-005
+5.4,1.883381354629768e-005,2.383381354629768e-005,1.166186453702324e-006,2.825072031944653e-005
+5.6,1.889093832231158e-005,2.389093832231158e-005,1.109061677688421e-006,2.833640748346738e-005
+5.8,1.894247213556316e-005,2.394247213556316e-005,1.057527864436848e-006,2.841370820334474e-005
+6,1.898896218288383e-005,2.398896218288383e-005,1.011037817116176e-006,2.848344327432575e-005
+6.2,1.903090209891938e-005,2.403090209891938e-005,9.690979010806222e-007,2.854635314837908e-005
+6.4,1.906873721959894e-005,2.406873721959894e-005,9.312627804010695e-007,2.860310582939841e-005
+6.6,1.910286931889793e-005,2.410286931889793e-005,8.971306811020793e-007,2.865430397834689e-005
+6.8,1.91336608073434e-005,2.41336608073434e-005,8.663391926566032e-007,2.870049121101511e-005
+7,1.916143862259317e-005,2.416143862259317e-005,8.385613774068344e-007,2.874215793388976e-005
+7.2,1.918649774988401e-005,2.418649774988401e-005,8.135022501159918e-007,2.877974662482602e-005
+7.4,1.920910427282165e-005,2.420910427282165e-005,7.908957271783571e-007,2.881365640923247e-005
+7.6,1.922949820698523e-005,2.422949820698524e-005,7.705017930147687e-007,2.884424731047786e-005
+7.8,1.924789613966799e-005,2.424789613966799e-005,7.52103860332019e-007,2.887184420950198e-005
+8,1.926449341328985e-005,2.426449341328985e-005,7.355065867101526e-007,2.889674011993478e-005
+8.2,1.927946624326581e-005,2.427946624326582e-005,7.205337567341913e-007,2.891919936489872e-005
+8.4,1.929297366085714e-005,2.429297366085714e-005,7.070263391428673e-007,2.893946049128571e-005
+8.6,1.93051590479941e-005,2.43051590479941e-005,6.948409520059097e-007,2.895773857199114e-005
+8.8,1.931615182307697e-005,2.431615182307697e-005,6.838481769230389e-007,2.897422773461545e-005
+9,1.932606870449484e-005,2.432606870449485e-005,6.739312955051622e-007,2.898910305674226e-005
+9.2,1.933501497830573e-005,2.433501497830573e-005,6.649850216942771e-007,2.900252246745859e-005
+9.4,1.93430856719852e-005,2.43430856719852e-005,6.569143280148087e-007,2.90146285079778e-005
+9.6,1.935036643965686e-005,2.435036643965686e-005,6.496335603431472e-007,2.902554965948529e-005
+9.8,1.935693463946568e-005,2.435693463946568e-005,6.430653605343276e-007,2.903540195919852e-005
+10,1.936285996787156e-005,2.436285996787156e-005,6.371400321284465e-007,2.904428995180734e-005
diff --git a/models/sbml-test-suite/cases/semantic/00716/00716-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00716/00716-sbml-l2v4.xml
new file mode 100644
index 0000000..77b3876
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00716/00716-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00716" id="case00716" name="case00716">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.4" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00716/00716-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00716/00716-sbml-l3v1.xml
new file mode 100644
index 0000000..1fd9db9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00716/00716-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00716" id="case00716" name="case00716" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.4" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00716/00716-settings.txt b/models/sbml-test-suite/cases/semantic/00716/00716-settings.txt
new file mode 100644
index 0000000..82f5a1c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00716/00716-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00717/00717-results.csv b/models/sbml-test-suite/cases/semantic/00717/00717-results.csv
new file mode 100644
index 0000000..252ceeb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00717/00717-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,0,0,1.
+0.2,1.111227330583927,0.3887726694160721,0.03,1.
+0.4,0.82321744571092,0.6767825542890794,0.06000000000000001,1.
+0.6,0.6098544566061525,0.8901455433938468,0.09000000000000001,1.
+0.8,0.4517913174013497,1.048208682598649,0.12,1.
+1.,0.3346952341838271,1.165304765816172,0.15,1.
+1.2,0.2479483127815723,1.252051687218427,0.18,1.
+1.4,0.1836846241024088,1.316315375897591,0.21,1.
+1.6,0.1360769295793713,1.363923070420628,0.24,1.
+1.8,0.1008082572744071,1.399191742725593,0.27,1.
+2.,0.07468059889437932,1.42531940110562,0.2999999999999999,1.
+2.2,0.05532474860914964,1.44467525139085,0.33,1.
+2.4,0.04098557881632779,1.459014421183672,0.3599999999999999,1.
+2.6,0.03036286702382149,1.469637132976178,0.3899999999999999,1.
+2.8,0.02249336304512776,1.477506636954872,0.4199999999999999,1.
+3.,0.01666349344216473,1.483336506557835,0.4499999999999999,1.
+3.2,0.01234462039498223,1.487655379605018,0.4799999999999998,1.
+3.4,0.009145118726048617,1.490854881273951,0.5099999999999999,1.
+3.6,0.006774871218808455,1.493225128781191,0.5399999999999999,1.
+3.8,0.005018947852975434,1.494981052147024,0.5699999999999997,1.
+4.,0.003718127862770429,1.496281872137229,0.5999999999999998,1.
+4.2,0.002754457165507809,1.497245542834492,0.6299999999999997,1.
+4.4,0.002040551829141844,1.497959448170858,0.6599999999999998,1.
+4.6,0.001511678050305621,1.498488321949694,0.6899999999999997,1.
+4.8,0.0011198786761592,1.49888012132384,0.7199999999999997,1.
+5.,0.0008296264540947617,1.499170373545904,0.7499999999999997,1.
+5.2,0.0006146024610886552,1.49938539753891,0.7799999999999998,1.
+5.4,0.000455308667752724,1.499544691332246,0.8099999999999998,1.
+5.6,0.0003373009549013234,1.499662699045098,0.8399999999999995,1.
+5.8,0.0002498787149075297,1.499750121285092,0.8699999999999995,1.
+6.,0.0001851146838784512,1.499814885316121,0.8999999999999995,1.
+6.2,0.0001371363416233646,1.499862863658376,0.9299999999999996,1.
+6.4,0.0001015930993049854,1.499898406900694,0.9599999999999996,1.
+6.6,0.00007526201442588644,1.499924737985573,0.9899999999999995,1.
+6.8,0.00005575547793286874,1.499944244522066,1.019999999999999,1.
+7.,0.00004130466975751338,1.499958695330242,1.049999999999999,1.
+7.2,0.00003059925284738089,1.499969400747152,1.079999999999999,1.
+7.4,0.000022668485253312,1.499977331514746,1.109999999999999,1.
+7.6,0.00001679322519633939,1.499983206774803,1.139999999999999,1.
+7.8,0.0000124407284722995,1.499987559271527,1.169999999999999,1.
+8.,9.216317842806932e-6,1.499990783682157,1.199999999999999,1.
+8.2,6.827615993332411e-6,1.499993172384006,1.229999999999999,1.
+8.4,5.058022845033414e-6,1.499994941977155,1.259999999999999,1.
+8.6,3.747075056018991e-6,1.499996252924944,1.289999999999999,1.
+8.8,2.775901648117506e-6,1.499997224098352,1.319999999999999,1.
+9.,2.056438546141744e-6,1.499997943561454,1.349999999999999,1.
+9.2,1.523447023864683e-6,1.499998476552976,1.379999999999999,1.
+9.4,1.128597440954225e-6,1.499998871402559,1.409999999999999,1.
+9.6,8.360854756772992e-7,1.499999163914524,1.439999999999999,1.
+9.8,6.193873591662119e-7,1.499999380612641,1.469999999999999,1.
+10.,4.588534807635677e-7,1.499999541146519,1.499999999999999,1.
diff --git a/models/sbml-test-suite/cases/semantic/00717/00717-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00717/00717-sbml-l2v4.xml
new file mode 100644
index 0000000..5f463b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00717/00717-sbml-l2v4.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00717" id="case00717" name="case00717">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00717/00717-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00717/00717-sbml-l3v1.xml
new file mode 100644
index 0000000..bd7aa65
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00717/00717-sbml-l3v1.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00717" id="case00717" name="case00717" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00717/00717-settings.txt b/models/sbml-test-suite/cases/semantic/00717/00717-settings.txt
new file mode 100644
index 0000000..5dd8210
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00717/00717-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00718/00718-results.csv b/models/sbml-test-suite/cases/semantic/00718/00718-results.csv
new file mode 100644
index 0000000..c89f597
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00718/00718-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0015,0.002,0.0015,0.001
+0.1,0.001301482483015059,0.001801482483015058,0.001698116729337134,0.0011
+0.2,0.001144383567950676,0.001644383567950674,0.001854770810436369,0.0012
+0.3,0.001017060493385689,0.001517060493385688,0.001981613807156593,0.0013
+0.4,0.0009118599332549624,0.001411859933254961,0.002086305477672937,0.0014
+0.5,0.0008235440391810026,0.001323544039181002,0.002174088513529268,0.0015
+0.6,0.0007484071571715293,0.001248407157171529,0.00224867230669265,0.0016
+0.7,0.0006837537442329091,0.001183753744232908,0.002312755345511139,0.001699999999999999
+0.8,0.0006275761036816722,0.001127576103681671,0.00236834768875089,0.001799999999999999
+0.9,0.0005783481457315691,0.001078348145731568,0.002416977349447701,0.001899999999999999
+1.,0.0005348891124080482,0.001034889112408047,0.002459826672349114,0.001999999999999999
+1.1,0.0004962711171855086,0.0009962711171855084,0.002497824868402543,0.002099999999999999
+1.2,0.0004617548954307811,0.0009617548954307807,0.002531712319063508,0.002199999999999999
+1.3,0.0004307441589243364,0.0009307441589243361,0.002562086262990124,0.002299999999999999
+1.4,0.0004027526290880282,0.0009027526290880278,0.002589433794238813,0.002399999999999999
+1.5,0.0003773797794926297,0.0008773797794926294,0.002614156144103812,0.002499999999999999
+1.6,0.0003542927157596193,0.0008542927157596189,0.002636586820320682,0.002599999999999999
+1.7,0.000333212481884611,0.0008332124818846108,0.002657005315865855,0.002699999999999999
+1.8,0.0003139035484908366,0.0008139035484908363,0.002675647632847045,0.002799999999999999
+1.9,0.0002961656716682723,0.0007961656716682721,0.002692714433479614,0.002899999999999999
+2.,0.0002798275323407169,0.0007798275323407168,0.002708377408702039,0.002999999999999999
+2.1,0.0002647416769129151,0.000764741676912915,0.002722784344143695,0.003099999999999999
+2.2,0.0002507805038698621,0.0007507805038698621,0.00273606313896886,0.003199999999999999
+2.3,0.000237833035200792,0.000737833035200792,0.002748325038992487,0.003299999999999999
+2.4,0.0002258022812517869,0.0007258022812517869,0.002759667275673327,0.003399999999999999
+2.5,0.0002146031082184241,0.0007146031082184242,0.002770175201834786,0.003499999999999999
+2.6,0.0002041604770228384,0.0007041604770228384,0.002779924055533126,0.003599999999999999
+2.7,0.0001944079876505407,0.0006944079876505406,0.002788980418063399,0.003699999999999999
+2.8,0.0001852866726252469,0.0006852866726252467,0.002797403422485181,0.003799999999999999
+2.9,0.00017674397993121,0.0006767439799312097,0.002805245772441681,0.003899999999999999
+3.,0.0001687329232854825,0.0006687329232854824,0.002812554593383716,0.003999999999999999
+3.1,0.0001612113656476766,0.0006612113656476765,0.002819372150356643,0.004099999999999999
+3.2,0.0001541414088911971,0.0006541414088911969,0.002825736459465313,0.004199999999999999
+3.3,0.0001474888714763876,0.0006474888714763874,0.002831681811201071,0.0043
+3.4,0.0001412228410925186,0.0006412228410925185,0.002837239218679926,0.004400000000000001
+3.5,0.0001353153009800899,0.0006353153009800897,0.002842436792067986,0.0045
+3.6,0.0001297407873704029,0.0006297407873704026,0.00284730008185596,0.0046
+3.7,0.0001244761148541268,0.0006244761148541266,0.002851852354066251,0.0047
+3.8,0.000119500120718515,0.0006195001207185148,0.002856114846473522,0.0048
+3.9,0.0001147934518521288,0.0006147934518521287,0.002860106982171413,0.004899999999999999
+4.,0.0001103383758634395,0.0006103383758634393,0.002863846558882199,0.004999999999999999
+4.1,0.0001061186148188315,0.0006061186148188312,0.002867349915604926,0.005099999999999999
+4.2,0.0001021191954511676,0.0006021191954511674,0.002870632082764995,0.005199999999999998
+4.3,0.00009832632880957689,0.0005983263288095767,0.002873706902851058,0.005299999999999998
+4.4,0.00009472729032122303,0.0005947272903212228,0.002876587150653627,0.0054
+4.5,0.00009131031866847622,0.0005913103186684761,0.002879284634644261,0.005499999999999998
+4.6,0.00008806453196544738,0.0005880645319654472,0.002881810281011452,0.005599999999999999
+4.7,0.00008497984282695193,0.0005849798428269516,0.002884174218818255,0.005699999999999999
+4.8,0.00008204688887089706,0.0005820468888708969,0.002886385849685568,0.005799999999999999
+4.9,0.00007925696962538618,0.0005792569696253859,0.002888453911057246,0.005899999999999999
+5.,0.00007660198997758881,0.0005766019899775886,0.002890386532908406,0.006
diff --git a/models/sbml-test-suite/cases/semantic/00718/00718-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00718/00718-sbml-l1v2.xml
new file mode 100644
index 0000000..c1f3bc3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00718/00718-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00718">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.0015" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.002" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.0015" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="750"/>
+      <parameter name="k2" value="0.0025"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="(1/1000)" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1 * S2"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00718/00718-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00718/00718-sbml-l2v4.xml
new file mode 100644
index 0000000..28bb948
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00718/00718-sbml-l2v4.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00718" id="case00718" name="case00718">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="0.0025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 1000 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00718/00718-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00718/00718-sbml-l3v1.xml
new file mode 100644
index 0000000..5a12927
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00718/00718-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00718" id="case00718" name="case00718" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 1000 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00718/00718-settings.txt b/models/sbml-test-suite/cases/semantic/00718/00718-settings.txt
new file mode 100644
index 0000000..17c3ca9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00718/00718-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00719/00719-results.csv b/models/sbml-test-suite/cases/semantic/00719/00719-results.csv
new file mode 100644
index 0000000..99f21fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00719/00719-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.1,1.391615229447978,2.216769541104043,1.537499999999999,3.987499999999998
+0.2,1.29106196452941,2.417876070941179,1.574999999999999,3.974999999999998
+0.3,1.197774327457493,2.604451345085013,1.612499999999999,3.962499999999998
+0.4,1.111227330783292,2.777545338433415,1.649999999999999,3.949999999999998
+0.5,1.030933917261883,2.938132165476234,1.687499999999999,3.937499999999999
+0.6,0.9564422246087754,3.087115550782449,1.724999999999999,3.924999999999999
+0.7,0.8873330313909542,3.225333937218091,1.7625,3.912499999999999
+0.8,0.8232174486408495,3.353565102718301,1.8,3.899999999999999
+0.9,0.7637346222691398,3.47253075546172,1.8375,3.8875
+1.,0.7085498194138306,3.582900361172338,1.875,3.875
+1.1,0.6573524858541406,3.685295028291719,1.9125,3.8625
+1.2,0.6098544784128838,3.780291043174232,1.95,3.850000000000001
+1.3,0.5657885302267983,3.868422939546404,1.9875,3.8375
+1.4,0.5249066161350308,3.950186767729938,2.025,3.825000000000001
+1.5,0.4869786765851206,4.026042646829759,2.0625,3.8125
+1.6,0.4517912777525867,4.096417444494826,2.1,3.800000000000001
+1.7,0.419146436617626,4.161707126764747,2.1375,3.787500000000001
+1.8,0.388860382414776,4.222279235170447,2.175,3.775000000000001
+1.9,0.360762691996157,4.278474616007686,2.2125,3.762500000000001
+2.,0.3346952401602271,4.330609519679546,2.25,3.750000000000001
+2.1,0.3105113277486081,4.378977344502783,2.287500000000001,3.737500000000001
+2.2,0.2880748582191242,4.42385028356175,2.325000000000001,3.725000000000001
+2.3,0.2672595692028851,4.46548086159423,2.3625,3.712500000000002
+2.4,0.2479483209891165,4.504103358021767,2.4,3.700000000000002
+2.5,0.2300324374751517,4.539935125049697,2.4375,3.687500000000002
+2.6,0.2134110947188646,4.573177810562272,2.475000000000001,3.675000000000002
+2.7,0.1979907536569775,4.604018492686046,2.512500000000001,3.662500000000003
+2.8,0.1836846337991932,4.632630732401614,2.55,3.650000000000003
+2.9,0.1704122061074666,4.659175587785068,2.5875,3.637500000000003
+3.,0.1580988130963372,4.683802373807327,2.625,3.625000000000003
+3.1,0.1466751498962468,4.706649700207507,2.6625,3.612500000000003
+3.2,0.1360769237541716,4.727846152491658,2.700000000000001,3.600000000000003
+3.3,0.1262444852613161,4.747511029477369,2.7375,3.587500000000003
+3.4,0.1171224955611638,4.765755008877674,2.775,3.575000000000003
+3.5,0.1086596251633033,4.782680749673394,2.8125,3.562500000000004
+3.6,0.1008082545159841,4.798383490968033,2.850000000000001,3.550000000000003
+3.7,0.09352420108200074,4.812951597836,2.887500000000001,3.537500000000004
+3.8,0.08676647200757428,4.826467055984852,2.925,3.525000000000004
+3.9,0.08049703448181674,4.839005931036367,2.9625,3.512500000000004
+4.,0.07468060252145281,4.850638794957094,3.,3.500000000000004
+4.1,0.0692844403208092,4.861431119358382,3.0375,3.487500000000004
+4.2,0.06427818393994269,4.871443632120114,3.075000000000001,3.475000000000004
+4.3,0.05963366364413565,4.880732672711729,3.112500000000001,3.462500000000004
+4.4,0.05532474291163265,4.889350514176735,3.15,3.450000000000004
+4.5,0.05132717212483815,4.897345655750323,3.1875,3.437500000000004
+4.6,0.04761845271934685,4.904763094561306,3.225000000000001,3.425000000000004
+4.7,0.04417771105037603,4.911644577899247,3.2625,3.412500000000004
+4.8,0.04098558220729539,4.918028835585407,3.3,3.400000000000004
+4.9,0.03802410804926258,4.923951783901473,3.3375,3.387500000000004
+5.,0.03527661878413333,4.929446762431732,3.375,3.375000000000004
diff --git a/models/sbml-test-suite/cases/semantic/00719/00719-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00719/00719-sbml-l1v2.xml
new file mode 100644
index 0000000..4ea9917
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00719/00719-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00719">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="2" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="4" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.5 * k1" type="rate" species="S3"/>
+      <speciesConcentrationRule formula="-0.5 * k2" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00719/00719-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00719/00719-sbml-l2v4.xml
new file mode 100644
index 0000000..0e13f5f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00719/00719-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00719" id="case00719" name="case00719">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00719/00719-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00719/00719-sbml-l3v1.xml
new file mode 100644
index 0000000..447267c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00719/00719-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00719" id="case00719" name="case00719" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00719/00719-settings.txt b/models/sbml-test-suite/cases/semantic/00719/00719-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00719/00719-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00720/00720-results.csv b/models/sbml-test-suite/cases/semantic/00720/00720-results.csv
new file mode 100644
index 0000000..e46c5be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00720/00720-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5e-6,1.999999999999999e-6,1.5e-6,9.999999999999999e-8
+0.06,1.40036967992634e-6,1.777461590604229e-6,1.599630320073659e-6,1.599999999999999e-7
+0.12,1.321905080875865e-6,1.595926677893668e-6,1.678094919124135e-6,2.2e-7
+0.18,1.259420180033023e-6,1.445299389146872e-6,1.740579819966976e-6,2.8e-7
+0.24,1.209288506508604e-6,1.318537735905322e-6,1.790711493491395e-6,3.4e-7
+0.3,1.168896836301592e-6,1.210579945842124e-6,1.831103163698407e-6,4.e-7
+0.36,1.136313633803529e-6,1.117693860642026e-6,1.86368636619647e-6,4.6e-7
+0.42,1.110079788738326e-6,1.037066951240749e-6,1.889920211261673e-6,5.2e-7
+0.48,1.089072080914096e-6,9.665392391719603e-7,1.910927919085903e-6,5.8e-7
+0.54,1.072411480042668e-6,9.044242021163139e-7,1.927588519957331e-6,6.4e-7
+0.6,1.059399957799922e-6,8.49385560248862e-7,1.940600042200077e-6,6.999999999999999e-7
+0.66,1.049476040904936e-6,8.003507434005809e-7,1.950523959095063e-6,7.599999999999999e-7
+0.72,1.042182853523549e-6,7.564487730469496e-7,1.95781714647645e-6,8.199999999999997e-7
+0.78,1.037144787057243e-6,7.169649862788295e-7,1.962855212942757e-6,8.799999999999997e-7
+0.84,1.034050165579636e-6,6.813074497277164e-7,1.965949834420364e-6,9.399999999999996e-7
+0.9,1.032638201042642e-6,6.489817258718808e-7,1.967361798957358e-6,9.999999999999997e-7
+0.96,1.032689019157709e-6,6.195716112004247e-7,1.967310980842292e-6,1.059999999999999e-6
+1.02,1.034015973165647e-6,5.927243169915471e-7,1.965984026834354e-6,1.119999999999999e-6
+1.08,1.036459648723053e-6,5.681389295427015e-7,1.963540351276948e-6,1.179999999999999e-6
+1.14,1.03988310639104e-6,5.45557268526552e-7,1.960116893608961e-6,1.239999999999998e-6
+1.2,1.044168121514987e-6,5.247566735151473e-7,1.955831878485014e-6,1.299999999999999e-6
+1.26,1.049212155773858e-6,5.055442039764446e-7,1.950787844226143e-6,1.359999999999999e-6
+1.32,1.054925894849596e-6,4.877519316444233e-7,1.945074105150405e-6,1.419999999999999e-6
+1.38,1.06123125126305e-6,4.712331284003757e-7,1.938768748736951e-6,1.479999999999999e-6
+1.44,1.068059712658659e-6,4.558591189664211e-7,1.931940287341342e-6,1.539999999999999e-6
+1.5,1.075350980947743e-6,4.415166919964217e-7,1.924649019052258e-6,1.599999999999999e-6
+1.56,1.083051835444887e-6,4.281059408565348e-7,1.916948164555114e-6,1.659999999999999e-6
+1.62,1.091115180823119e-6,4.155384583012852e-7,1.908884819176883e-6,1.719999999999999e-6
+1.68,1.099499241952474e-6,4.037358121137329e-7,1.900500758047527e-6,1.779999999999999e-6
+1.74,1.108166887805079e-6,3.926282669200618e-7,1.891833112194923e-6,1.839999999999999e-6
+1.8,1.11708504878333e-6,3.821536843357443e-7,1.882914951216672e-6,1.899999999999999e-6
+1.86,1.126224215901068e-6,3.722565790187207e-7,1.873775784098933e-6,1.959999999999999e-6
+1.92,1.13555802284802e-6,3.628873317891627e-7,1.864441977151981e-6,2.019999999999999e-6
+1.98,1.145062871326169e-6,3.540014853194243e-7,1.854937128673833e-6,2.08e-6
+2.04,1.154717609730009e-6,3.455591408208374e-7,1.845282390269993e-6,2.139999999999999e-6
+2.1,1.164503262577965e-6,3.375244504581371e-7,1.835496737422036e-6,2.2e-6
+2.16,1.174402779258426e-6,3.298651467164102e-7,1.825597220741575e-6,2.26e-6
+2.22,1.184400825116427e-6,3.225521513470413e-7,1.815599174883574e-6,2.32e-6
+2.28,1.194483597603338e-6,3.155592315417636e-7,1.805516402396663e-6,2.38e-6
+2.34,1.204638653510123e-6,3.088626772619755e-7,1.795361346489878e-6,2.439999999999999e-6
+2.4,1.21485477409079e-6,3.024410493426638e-7,1.785145225909211e-6,2.499999999999999e-6
+2.46,1.225121828187339e-6,2.962749242695676e-7,1.774878171812662e-6,2.559999999999999e-6
+2.52,1.235430661249142e-6,2.903466872919448e-7,1.76456933875086e-6,2.619999999999999e-6
+2.58,1.24577299719568e-6,2.846403495804016e-7,1.754227002804321e-6,2.679999999999999e-6
+2.64,1.256141343686989e-6,2.791413719363712e-7,1.743858656313013e-6,2.739999999999999e-6
+2.7,1.266528913531469e-6,2.738365185668936e-7,1.733471086468533e-6,2.799999999999999e-6
+2.76,1.276929556169868e-6,2.68713729649774e-7,1.723070443830134e-6,2.859999999999999e-6
+2.82,1.287337690603353e-6,2.637619967266351e-7,1.712662309396648e-6,2.919999999999999e-6
+2.88,1.297748248488598e-6,2.589712570160245e-7,1.702251751511404e-6,2.979999999999999e-6
+2.94,1.308156625848227e-6,2.543323037365005e-7,1.691843374151775e-6,3.039999999999999e-6
+3.,1.318558635368861e-6,2.498366976256081e-7,1.681441364631141e-6,3.1e-6
diff --git a/models/sbml-test-suite/cases/semantic/00720/00720-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00720/00720-sbml-l2v4.xml
new file mode 100644
index 0000000..88d89c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00720/00720-sbml-l2v4.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00720" id="case00720" name="case00720">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1e-007" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k2 </ci>
+            <cn type="rational"> 1 <sep/> 250000 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00720/00720-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00720/00720-sbml-l3v1.xml
new file mode 100644
index 0000000..fbee346
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00720/00720-sbml-l3v1.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00720" id="case00720" name="case00720" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k2 </ci>
+            <cn type="rational"> 1 <sep/> 250000 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00720/00720-settings.txt b/models/sbml-test-suite/cases/semantic/00720/00720-settings.txt
new file mode 100644
index 0000000..4945da0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00720/00720-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00721/00721-results.csv b/models/sbml-test-suite/cases/semantic/00721/00721-results.csv
new file mode 100644
index 0000000..241fc50
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00721/00721-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.00001089040170528915,0.00001592176168316643,9.078238316833566e-6,0.00001633560255793373
+0.4,0.00001168815110130286,0.00001675340089207118,8.24659910792881e-6,0.00001753222665195429
+0.6,0.00001240233965502347,0.0000175037450082543,7.496254991745686e-6,0.0000186035094825352
+0.8,0.00001304116823804068,0.00001818075673350399,6.819243266496002e-6,0.00001956175235706103
+1.,0.00001361203437243424,0.00001879161879681753,6.208381203182454e-6,0.00002041805155865136
+1.2,0.00001412161092515843,0.0000193428103587198,5.657189641280181e-6,0.00002118241638773764
+1.4,0.00001457591706803149,0.00001984017590626352,5.159824093736469e-6,0.00002186387560204723
+1.6,0.0000149803823213484,0.00002028898743292522,4.711012567074764e-6,0.0000224705734820226
+1.8,0.00001533990431883656,0.00002069400052255807,4.305999477441912e-6,0.00002300985647825485
+2.,0.00001565890153922158,0.00002105950554643275,3.940494453567236e-6,0.00002348835230883237
+2.2,0.00001594135707983975,0.00002138937016299481,3.610629837005174e-6,0.00002391203561975962
+2.4,0.00001619086763366402,0.00002168708686964741,3.312913130352583e-6,0.00002428630145049603
+2.6,0.0000164106750041204,0.00002195580360044061,3.044196399559383e-6,0.00002461601250618061
+2.8,0.00001660370404833176,0.00002219836056515276,2.801639434847236e-6,0.00002490555607249765
+3.,0.00001677259302306826,0.00002241731971215016,2.582680287849834e-6,0.0000251588895346024
+3.2,0.00001691972180089454,0.00002261499212342638,2.385007876573619e-6,0.00002537958270134181
+3.4,0.00001704723704329864,0.00002279346245517592,2.206537544824085e-6,0.00002557085556494796
+3.6,0.00001715707499086291,0.00002295461106475612,2.045388935243879e-6,0.00002573561248629437
+3.8,0.00001725098241769551,0.00002310013435533432,1.899865644665676e-6,0.00002587647362654326
+4.,0.00001733053475105873,0.00002323156236822088,1.768437631779119e-6,0.00002599580212658809
+4.2,0.00001739715307035697,0.00002335027528717828,1.649724712821721e-6,0.00002609572960553545
+4.4,0.00001745211936920339,0.00002345751825635487,1.542481743645135e-6,0.00002617817905380508
+4.6,0.00001749658975040843,0.00002355441419128772,1.445585808712281e-6,0.00002624488462561265
+4.8,0.00001753160738342403,0.00002364197635928603,1.35802364071397e-6,0.00002629741107513605
+5.,0.00001755811281067538,0.00002372111838583428,1.278881614165728e-6,0.00002633716921601307
+5.2,0.00001757695472932449,0.00002379266472261187,1.207335277388136e-6,0.00002636543209398673
+5.4,0.00001758889855286275,0.00002385735895993394,1.142641040066063e-6,0.00002638334782929413
+5.6,0.00001759463454176171,0.00002391587172079627,1.08412827920373e-6,0.00002639195181264256
+5.8,0.00001759478555523554,0.00002396880818706694,1.031191812933067e-6,0.00002639217833285331
+6.,0.0000175899132052837,0.00002401671407443579,9.832859255642199e-7,0.00002638486980792555
+6.2,0.00001758052406889563,0.00002406008166384706,9.399183361529494e-7,0.00002637078610334344
+6.4,0.00001756707510050117,0.00002409935505644771,9.006449435522946e-7,0.00002635061265075176
+6.6,0.00001754997847598451,0.00002413493487664024,8.650651233597689e-7,0.00002632496771397676
+6.8,0.00001752960595659256,0.00002416718250900105,8.328174909989588e-7,0.00002629440893488885
+7.,0.00001750629278952387,0.00002419642388536041,8.035761146395921e-7,0.0000262594391842858
+7.2,0.00001748034134406452,0.00002422295301512949,7.770469848705132e-7,0.00002622051201609678
+7.4,0.00001745202435116039,0.00002424703513060316,7.529648693968415e-7,0.00002617803652674059
+7.6,0.00001742158780049695,0.00002426890949973612,7.310905002638823e-7,0.00002613238170074543
+7.8,0.00001738925355170342,0.00002428879196136246,7.112080386375468e-7,0.00002608388032755513
+8.,0.000017355221667605,0.00002430687719055014,6.931228094498646e-7,0.0000260328325014075
+8.2,0.00001731967254820018,0.00002432334077048075,6.766592295192527e-7,0.00002597950882230026
+8.4,0.00001728276891796525,0.00002433834112193013,6.616588780698761e-7,0.00002592415337694787
+8.6,0.00001724465751149876,0.00002435202113985953,6.479788601404723e-7,0.00002586698626724814
+8.8,0.00001720547064970286,0.00002436450972373324,6.354902762667643e-7,0.00002580820597455429
+9.,0.00001716532765164501,0.00002437592314829757,6.240768517024355e-7,0.00002574799147746752
+9.2,0.0000171243361081523,0.00002438636630011617,6.136336998838328e-7,0.00002568650416222844
+9.4,0.00001708259303067637,0.00002439593379300573,6.040662069942791e-7,0.00002562388954601456
+9.6,0.00001704018588764258,0.00002440471097423004,5.952890257699707e-7,0.00002556027883146387
+9.8,0.00001699719353930048,0.00002441277483214924,5.872251678507732e-7,0.00002549579030895072
+10.,0.00001695368707993219,0.0000244201948139226,5.798051860774066e-7,0.00002543053061989829
diff --git a/models/sbml-test-suite/cases/semantic/00721/00721-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00721/00721-sbml-l1v2.xml
new file mode 100644
index 0000000..39812b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00721/00721-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00721">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.015"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S1" species="S4"/>
+      <speciesConcentrationRule formula="k2 * S3 + -1 * k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00721/00721-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00721/00721-sbml-l2v4.xml
new file mode 100644
index 0000000..9ff9437
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00721/00721-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00721" id="case00721" name="case00721">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00721/00721-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00721/00721-sbml-l3v1.xml
new file mode 100644
index 0000000..c48fc0a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00721/00721-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00721" id="case00721" name="case00721" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00721/00721-settings.txt b/models/sbml-test-suite/cases/semantic/00721/00721-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00721/00721-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00722/00722-results.csv b/models/sbml-test-suite/cases/semantic/00722/00722-results.csv
new file mode 100644
index 0000000..7d39e3c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00722/00722-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.2,1.291061964534564,2.417876070930871,1.880650327913269,3.619349672086729
+0.4,1.111227330765,2.777545338469998,2.225076987837181,3.274923012162816
+0.6,0.9564422246259166,3.087115550748166,2.536727118992824,2.963272881007173
+0.8,0.8232174484897268,3.353565103020545,2.818719819477301,2.681280180522697
+1.,0.7085498192246325,3.582900361550734,3.073877367818142,2.426122632181857
+1.2,0.6098544783025201,3.780291043394958,3.304753463656251,2.195246536343747
+1.4,0.5249066134853422,3.950186773029314,3.51365879237657,1.986341207623428
+1.6,0.4517913177301564,4.096417364539686,3.702684143640247,1.797315856359751
+1.8,0.3888603838534854,4.222279232293026,3.873721366952149,1.626278633047848
+2.,0.3346952251826075,4.330609549634783,4.028482248421764,1.471517751578233
+2.2,0.2880748453449327,4.423850309310133,4.16851568127642,1.331484318723578
+2.4,0.2479483097732486,4.504103380453502,4.295223173982515,1.204776826017482
+2.6,0.213411087741836,4.573177824516328,4.409872847682185,1.090127152317812
+2.8,0.1836846261044587,4.632630747791082,4.513612161519752,0.986387838480245
+3.,0.1580988240354953,4.683802351929009,4.607479373723007,0.8925206262769902
+3.2,0.1360769204317875,4.727846159136425,4.692413939200943,0.8075860607990551
+3.4,0.1171224924449205,4.765755015110159,4.769265911907942,0.7307340880920547
+3.6,0.1008082650080082,4.798383469983983,4.838804452458911,0.6611955475410862
+3.8,0.0867664791019604,4.82646704179608,4.901725526141096,0.5982744738589012
+4.,0.07468060164276009,4.850638796714481,4.958658868365844,0.541341131634153
+4.2,0.06427819011373414,4.871443619772533,5.010174287271996,0.4898257127279998
+4.4,0.05532475109666262,4.889350497806675,5.056787366558895,0.443212633441101
+4.6,0.0476184543144306,4.904763091371139,5.098964625525426,0.401035374474569
+4.8,0.04098558299678684,4.918028834006426,5.137128188012152,0.3628718119878422
+5.,0.03527661769141746,4.929446764617165,5.17166000749971,0.3283399925002851
+5.2,0.03036286575083669,4.939274268498326,5.202905689867806,0.2970943101321883
+5.4,0.02613356034399579,4.947732879312009,5.23117795230836,0.2688220476916344
+5.6,0.02249336354727746,4.955013272905445,5.256759753083088,0.2432402469169071
+5.8,0.01936021723107454,4.961279565537851,5.279907123448237,0.2200928765517582
+6.,0.0166634932977633,4.966673013404474,5.300851730088489,0.1991482699115052
+6.2,0.01434240157455284,4.971315196850894,5.319803193705051,0.1801968062949434
+6.4,0.01234461947251546,4.975310761054969,5.336951186962553,0.1630488130374419
+6.6,0.01062511252197658,4.978749774956047,5.352467332791254,0.14753266720874
+6.8,0.009145119197044726,4.98170976160591,5.366506922043001,0.1334930779569933
+7.,0.007871277145367498,4.984257445709266,5.379210467691477,0.1207895323085175
+7.2,0.006774871126683058,4.986450257746635,5.390705111131455,0.1092948888685385
+7.4,0.005831185707243332,4.988337628585514,5.401105894651541,0.09889410534845277
+7.6,0.005018948118554868,4.989962103762892,5.410516912815553,0.08948308718444078
+7.8,0.004319848721341431,4.991360302557319,5.419032354275827,0.08096764572416687
+8.,0.003718128264991973,4.992563743470019,5.426737444445133,0.07326255555486024
+8.2,0.003200222641012402,4.993599554717978,5.433709298449932,0.06629070155006026
+8.4,0.002754457124202031,4.994491085751599,5.440017692894532,0.0599823071054617
+8.6,0.002370783183703401,4.995258433632597,5.445725764262906,0.05427423573708654
+8.8,0.002040551964574826,4.995918896070854,5.450890640821407,0.04910935917858494
+9.,0.00175631932542556,4.996487361349152,5.455564014373177,0.04443598562681543
+9.2,0.00151167803240196,4.996976643935201,5.459792657603536,0.04020734239645652
+9.4,0.001301113326945538,4.997397773346113,5.463618892193943,0.03638110780604902
+9.6,0.001119878611608149,4.997760242776787,5.467081012389429,0.03291898761056333
+9.8,0.0009638884516899987,4.998072223096623,5.470213668258591,0.02978633174140125
+10.,0.0008296265552255271,4.998340746889551,5.47304821200365,0.02695178799634232
diff --git a/models/sbml-test-suite/cases/semantic/00722/00722-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00722/00722-sbml-l2v4.xml
new file mode 100644
index 0000000..9410387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00722/00722-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00722" id="case00722" name="case00722">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="p1" name="p1" value="0.75"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00722/00722-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00722/00722-sbml-l3v1.xml
new file mode 100644
index 0000000..5f2f96e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00722/00722-sbml-l3v1.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00722" id="case00722" name="case00722" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00722/00722-settings.txt b/models/sbml-test-suite/cases/semantic/00722/00722-settings.txt
new file mode 100644
index 0000000..76bab9a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00722/00722-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00723/00723-results.csv b/models/sbml-test-suite/cases/semantic/00723/00723-results.csv
new file mode 100644
index 0000000..95765df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00723/00723-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.1,1.391615229448744,2.216769541102511,1.5375,3.987499999999998
+0.2,1.291061964540276,2.417876070919447,1.575,3.974999999999998
+0.3,1.197774327451695,2.604451345096608,1.6125,3.962499999999997
+0.4,1.11122733074691,2.777545338506179,1.65,3.949999999999997
+0.5,1.030933917315301,2.938132165369397,1.6875,3.937499999999997
+0.6,0.9564422246434971,3.087115550713005,1.725,3.924999999999997
+0.7,0.8873330314855352,3.225333937028929,1.7625,3.912499999999996
+0.8,0.8232174484268162,3.353565103146367,1.8,3.899999999999996
+0.9,0.7637346224645071,3.472530755070985,1.8375,3.887499999999996
+1.,0.708549819207645,3.582900361584709,1.875,3.874999999999996
+1.1,0.6573524860491427,3.685295027901714,1.9125,3.862499999999995
+1.2,0.6098544783124955,3.780291043375008,1.95,3.849999999999995
+1.3,0.5657885303034604,3.868422939393078,1.9875,3.837499999999995
+1.4,0.5249066158537545,3.95018676829249,2.025,3.824999999999995
+1.5,0.4869786399888606,2.026042668862458,2.062499999999999,3.812499999999994
+1.6,0.4517912612468327,2.096417426346513,2.099999999999999,3.799999999999994
+1.7,0.4191463997150647,2.161707149410049,2.137499999999998,3.787499999999994
+1.8,0.3888603412526769,2.222279266334825,2.174999999999999,3.774999999999994
+1.9,0.3607626484024714,2.278474652035236,2.212499999999999,3.762499999999994
+2.,0.3346951977004563,2.330609553439266,2.249999999999999,3.749999999999994
+2.1,0.3105112901055249,2.378977368629129,2.287499999999999,3.737499999999994
+2.2,0.2880748239441836,2.423850300951811,2.324999999999998,3.724999999999994
+2.3,0.267259542074169,2.46548086469184,2.362499999999998,3.712499999999995
+2.4,0.2479482966550957,2.504103355529987,2.399999999999999,3.699999999999995
+2.5,0.2300324213846317,2.539935106070915,2.437499999999998,3.687499999999995
+2.6,0.2134110763906006,2.573177796058978,2.474999999999998,3.674999999999995
+2.7,0.1979907390438992,2.60401847075238,2.512499999999998,3.662499999999996
+2.8,0.1836846075179435,2.632630733804292,2.549999999999998,3.649999999999996
+2.9,0.1704122030112827,2.659175542817613,2.587499999999998,3.637499999999996
+3.,0.1580988170227047,2.68380231479477,2.625,3.624999999999995
+3.1,0.1466751476757088,2.706649653488762,2.6625,3.612499999999995
+3.2,0.1360769128358725,2.727846123168435,2.700000000000001,3.599999999999995
+3.3,0.126244469162606,2.747511010514968,2.737500000000001,3.587499999999995
+3.4,0.1171224841308423,2.765754980578495,2.775,3.574999999999995
+3.5,0.1086596218883715,2.782680705063437,2.8125,3.562499999999995
+3.6,0.1008082564740018,2.798383435892175,2.850000000000001,3.549999999999995
+3.7,0.09352420085596512,2.812951547128248,2.8875,3.537499999999995
+3.8,0.08676647016675505,2.826467008506669,2.925,3.524999999999995
+3.9,0.08049702677283013,2.839005895294518,2.9625,3.512499999999995
+4.,0.07468059102789481,2.850638766784389,3.,3.499999999999995
+4.1,0.0692844330934426,2.861431082653294,3.037500000000001,3.487499999999995
+4.2,0.06427818198775278,2.871443584864673,3.075000000000001,3.474999999999996
+4.3,0.05963366329652238,2.880732622247134,3.112500000000001,3.462499999999996
+4.4,0.05532474043243587,2.889350467975307,3.150000000000001,3.449999999999996
+4.5,0.05132716776699455,2.897345613306189,3.1875,3.437499999999996
+4.6,0.0476184458385888,2.904763057163001,3.225000000000001,3.424999999999996
+4.7,0.04417770327640957,2.91164454228736,3.262500000000001,3.412499999999996
+4.8,0.04098557680196601,2.918028795236247,3.300000000000001,3.399999999999995
+4.9,0.03802410306586535,2.923951742708448,3.337500000000001,3.387499999999995
+5.,0.03527661436289149,2.929446720114396,3.375000000000001,3.374999999999996
diff --git a/models/sbml-test-suite/cases/semantic/00723/00723-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00723/00723-sbml-l2v4.xml
new file mode 100644
index 0000000..a56759b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00723/00723-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00723" id="case00723" name="case00723">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00723/00723-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00723/00723-sbml-l3v1.xml
new file mode 100644
index 0000000..26fa4ab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00723/00723-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00723" id="case00723" name="case00723" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00723/00723-settings.txt b/models/sbml-test-suite/cases/semantic/00723/00723-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00723/00723-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00724/00724-results.csv b/models/sbml-test-suite/cases/semantic/00724/00724-results.csv
new file mode 100644
index 0000000..94d574c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00724/00724-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,1.
+0.1,1.301159418988771,1.801199506754022,1.698840581011229,1.1
+0.2,1.143758758388713,1.643843356932599,1.856241241611286,1.199999999999999
+0.3,1.016147826876598,1.516280479522537,1.983852173123402,1.299999999999999
+0.4,0.9106690010317118,1.410852608400008,2.089330998968287,1.399999999999999
+0.5,0.8220818302474577,1.322318809094132,2.177918169752541,1.499999999999999
+0.6,0.7466790287408423,1.246971422422214,2.253320971259157,1.599999999999999
+0.7,0.6817640016354176,1.182113559320038,2.318235998364581,1.699999999999999
+0.8,0.6253283615325682,1.125736596483909,2.374671638467431,1.799999999999999
+0.9,0.5758455583322476,1.076313791752816,2.424154441667751,1.899999999999999
+1.,0.5321345265421298,1.032663921186969,2.467865473457869,1.999999999999999
+1.1,0.4932671769282164,0.9938587633103989,2.506732823071784,2.099999999999998
+1.2,0.4585041010586066,0.9591587981816472,2.541495898941394,2.199999999999999
+1.3,0.4272489301200611,0.9279675620949192,2.57275106987994,2.299999999999999
+1.4,0.3990153344404708,0.899798643960754,2.600984665559531,2.399999999999999
+1.5,0.373402757513618,0.8742514168984707,2.626597242486384,2.5
+1.6,0.3500782979184247,0.8509929182481207,2.649921702081577,2.6
+1.7,0.3287629971426094,0.8297441358816469,2.671237002857392,2.7
+1.8,0.3092213377409285,0.8102695051501501,2.690778662259074,2.800000000000001
+1.9,0.2912530971882477,0.7923687617564912,2.708746902811754,2.900000000000001
+2.,0.2746869711598819,0.7758705642361454,2.72531302884012,3.000000000000002
+2.1,0.2593755369162895,0.7606274566854101,2.740624463083712,3.100000000000002
+2.2,0.2451912191112463,0.7465118340228594,2.754808780888756,3.200000000000002
+2.3,0.2320230613082249,0.7334127130525042,2.767976938691777,3.300000000000002
+2.4,0.2197741026786279,0.7212331087804376,2.780225897321374,3.400000000000003
+2.5,0.2083592374924072,0.7098878935833939,2.791640762507595,3.500000000000003
+2.6,0.1977034535231015,0.6993020353397704,2.8022965464769,3.600000000000003
+2.7,0.1877403759395834,0.6894091410875368,2.812259624060418,3.700000000000003
+2.8,0.1784110596006512,0.6801502491189778,2.82158894039935,3.800000000000003
+2.9,0.1696629759661947,0.671472815719017,2.830337024033807,3.900000000000003
+3.,0.1614491610155279,0.6633298629338487,2.838550838984474,4.000000000000003
+3.1,0.1537274998141078,0.6556792630086029,2.846272500185894,4.100000000000004
+3.2,0.1464601099490045,0.6484831217080186,2.853539890050998,4.200000000000004
+3.3,0.1396128243083751,0.6417072609973399,2.860387175691627,4.300000000000004
+3.4,0.1331547510427361,0.6353207789177761,2.866845248957266,4.400000000000004
+3.5,0.1270578813005819,0.6292956572428554,2.872942118699421,4.500000000000005
+3.6,0.1190479923642721,1.996742111973873,2.88095200763573,4.600000000000006
+3.7,0.1026222436106029,1.980388597726911,2.897377756389399,4.700000000000006
+3.8,0.08857288422651189,1.966411852942802,2.911427115773489,4.800000000000006
+3.9,0.07653070835103235,1.954442617114102,2.923469291648968,4.900000000000007
+4.,0.06619026975005443,1.944175397763818,2.933809730249946,5.000000000000008
+4.1,0.05729729375921437,1.935355880958098,2.942702706240786,5.100000000000007
+4.2,0.04963895238532564,1.927771205255115,2.950361047614675,5.200000000000007
+4.3,0.04303626341097895,1.921242359872737,2.956963736589022,5.300000000000005
+4.4,0.03733807837476132,1.915618171899962,2.962661921625239,5.400000000000004
+4.5,0.03241629754126775,1.910770520634267,2.967583702458733,5.500000000000005
+4.6,0.02816200153614234,1.906590468688771,2.971837998463858,5.600000000000005
+4.7,0.02448232937098018,1.902985139579081,2.97551767062902,5.700000000000007
+4.8,0.02129792253743711,1.899875161449368,2.978702077462563,5.800000000000007
+4.9,0.01854081373857896,1.897192555492362,2.981459186261421,5.900000000000009
+5.,0.01615268874098428,1.894878997539741,2.983847311259016,6.000000000000008
diff --git a/models/sbml-test-suite/cases/semantic/00724/00724-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00724/00724-sbml-l2v4.xml
new file mode 100644
index 0000000..aeb2042
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00724/00724-sbml-l2v4.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00724" id="case00724" name="case00724">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00724/00724-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00724/00724-sbml-l3v1.xml
new file mode 100644
index 0000000..51055b0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00724/00724-sbml-l3v1.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00724" id="case00724" name="case00724" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00724/00724-settings.txt b/models/sbml-test-suite/cases/semantic/00724/00724-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00724/00724-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00725/00725-results.csv b/models/sbml-test-suite/cases/semantic/00725/00725-results.csv
new file mode 100644
index 0000000..c81bf11
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00725/00725-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01499999999999999,0.02,0.01499999999999999,0.01
+0.1,0.01304691087642063,0.01804691087642063,0.01695308912357936,0.011
+0.2,0.01150552049903058,0.01650552049903058,0.01849447950096942,0.012
+0.3,0.01026023480903082,0.01526023480903083,0.01973976519096917,0.013
+0.4,0.009235008638813707,0.01423500863881371,0.02076499136118628,0.014
+0.5,0.008377762889193844,0.01337776288919384,0.02162223711080615,0.015
+0.6,0.007651631290731362,0.01265163129073136,0.02234836870926863,0.016
+0.7,0.0070297827533067,0.0120297827533067,0.02297021724669329,0.01699999999999999
+0.8,0.006492223184837084,0.01149222318483708,0.02350777681516291,0.01799999999999999
+0.9,0.006023747712163113,0.01102374771216311,0.02397625228783688,0.019
+1.,0.00561258686251842,0.01061258686251841,0.02438741313748157,0.02
+1.1,0.005249487784800066,0.01024948778480006,0.02475051221519991,0.021
+1.2,0.00492707529971039,0.009927075299710387,0.02507292470028959,0.022
+1.3,0.004639398153490543,0.00963939815349054,0.02536060184650943,0.023
+1.4,0.0043816009505757,0.009381600950575696,0.02561839904942428,0.024
+1.5,0.004149682754307969,0.009149682754307964,0.02585031724569202,0.02499999999999999
+1.6,0.003940316938029498,0.008940316938029492,0.02605968306197049,0.02599999999999999
+1.7,0.003750714616104014,0.008750714616104011,0.02624928538389597,0.027
+1.8,0.003578520091730439,0.008578520091730436,0.02642147990826955,0.028
+1.9,0.003421729936951026,0.008421729936951023,0.02657827006304897,0.029
+2.,0.003278629266669519,0.008278629266669515,0.02672137073333048,0.02999999999999999
+2.1,0.003147741754355426,0.008147741754355423,0.02685225824564458,0.031
+2.2,0.003027789379703138,0.008027789379703134,0.02697221062029686,0.032
+2.3,0.002917660262045538,0.007917660262045536,0.02708233973795447,0.033
+2.4,0.00281638254149072,0.007816382541490717,0.02718361745850929,0.03399999999999999
+2.5,0.002723103007516336,0.007723103007516333,0.02727689699248367,0.03499999999999999
+2.6,0.002637069566175293,0.007637069566175291,0.0273629304338247,0.03599999999999999
+2.7,0.0025576167302873,0.007557616730287298,0.0274423832697127,0.03699999999999999
+2.8,0.00248415353878559,0.007484153538785588,0.02751584646121441,0.03799999999999999
+2.9,0.002416153485676,0.007416153485675996,0.027583846514324,0.03899999999999999
+3.,0.002353146004267218,0.007353146004267215,0.02764685399573278,0.03999999999999999
+3.1,0.002294709254884423,0.007294709254884419,0.02770529074511557,0.04099999999999999
+3.2,0.002240464080406711,0.007240464080406708,0.02775953591959329,0.04199999999999999
+3.3,0.00219006880895671,0.007190068808956708,0.02780993119104329,0.04299999999999999
+3.4,0.002143214761978522,0.007143214761978519,0.02785678523802148,0.04399999999999999
+3.5,0.002099622441309437,0.007099622441309435,0.02790037755869057,0.04499999999999999
+3.6,0.002059038223070844,0.007059038223070842,0.02794096177692916,0.04599999999999999
+3.7,0.002021231515767174,0.007021231515767173,0.02797876848423283,0.04699999999999999
+3.8,0.001985992214889393,0.00698599221488939,0.02801400778511061,0.04799999999999999
+3.9,0.001953128612008442,0.006953128612008439,0.02804687138799156,0.049
+4.,0.001922465389259263,0.00692246538925926,0.02807753461074074,0.04999999999999999
+4.1,0.00189384208347579,0.006893842083475786,0.02810615791652422,0.05099999999999999
+4.2,0.001867111488127108,0.006867111488127105,0.0281328885118729,0.05199999999999999
+4.3,0.001842138413237128,0.006842138413237125,0.02815786158676288,0.05299999999999999
+4.4,0.001818798566212294,0.00681879856621229,0.02818120143378771,0.05399999999999999
+4.5,0.001796977498185458,0.006796977498185453,0.02820302250181455,0.055
+4.6,0.001776569688565464,0.00677656968856546,0.02822343031143454,0.056
+4.7,0.001757477748312967,0.006757477748312964,0.02824252225168704,0.057
+4.8,0.001739611715520644,0.006739611715520641,0.02826038828447936,0.058
+4.9,0.001722888409180703,0.006722888409180699,0.02827711159081931,0.05899999999999999
+5.,0.001707230790798014,0.00670723079079801,0.02829276920920199,0.05999999999999999
diff --git a/models/sbml-test-suite/cases/semantic/00725/00725-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00725/00725-sbml-l2v4.xml
new file mode 100644
index 0000000..7c1ba68
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00725/00725-sbml-l2v4.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00725" id="case00725" name="case00725">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 100 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00725/00725-settings.txt b/models/sbml-test-suite/cases/semantic/00725/00725-settings.txt
new file mode 100644
index 0000000..9888299
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00725/00725-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00726/00726-results.csv b/models/sbml-test-suite/cases/semantic/00726/00726-results.csv
new file mode 100644
index 0000000..cd98a4d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00726/00726-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.1,1.391615229463606,2.108384770536392,1.537499999999999,3.987499999999998
+0.2,1.291061964126237,2.208938035873761,1.574999999999999,3.974999999999998
+0.3,1.197774327920917,2.302225672079081,1.612499999999999,3.962499999999999
+0.4,1.111227329028637,2.388772670971361,1.649999999999999,3.949999999999999
+0.5,1.030933918175498,2.4690660818245,1.687499999999999,3.937499999999999
+0.6,0.9564422260114331,2.543557773988566,1.724999999999999,3.924999999999998
+0.7,0.8873330349807219,2.612666965019277,1.762499999999999,3.912499999999998
+0.8,0.8232174420858516,2.676782557914147,1.799999999999999,3.899999999999998
+0.9,0.7637346283561901,2.736265371643809,1.837499999999999,3.887499999999997
+1.,0.7085498147991272,2.791450185200872,1.874999999999999,3.874999999999997
+1.1,0.6573524882475748,2.842647511752424,1.912499999999999,3.862499999999997
+1.2,0.6098544788576378,2.890145521142362,1.949999999999999,3.849999999999996
+1.3,0.5657885251810088,2.934211474818991,1.987499999999999,3.837499999999996
+1.4,0.5249065058981936,2.975093494101806,2.024999999999999,3.824999999999996
+1.5,0.4869787010131501,3.013021298986851,2.0625,3.812499999999995
+1.6,0.451791317693614,3.048208682306386,2.1,3.799999999999994
+1.7,0.4191464522016875,3.080853547798312,2.137499999999999,3.787499999999994
+1.8,0.3888603887196708,3.111139611280329,2.174999999999999,3.774999999999994
+1.9,0.36076269261492,3.139237307385079,2.212499999999999,3.762499999999994
+2.,0.3346952382978551,3.165304761702144,2.25,3.749999999999994
+2.1,0.3105113275246773,3.189488672475322,2.287499999999999,3.737499999999995
+2.2,0.2880748602751087,3.21192513972489,2.324999999999999,3.724999999999995
+2.3,0.2672595699993246,3.232740430000673,2.362499999999999,3.712499999999995
+2.4,0.2479483287148262,3.252051671285172,2.399999999999999,3.699999999999994
+2.5,0.2300324498184125,3.269967550181586,2.437499999999999,3.687499999999994
+2.6,0.2134111020496992,3.286588897950299,2.474999999999999,3.674999999999994
+2.7,0.1979907602694288,3.30200923973057,2.512499999999999,3.662499999999993
+2.8,0.1836846423026317,3.316315357697367,2.549999999999999,3.649999999999993
+2.9,0.1704122251597573,3.329587774840241,2.587499999999999,3.637499999999993
+3.,0.1580988304436269,3.341901169556372,2.624999999999999,3.624999999999993
+3.1,0.1466751588898776,3.353324841110121,2.662499999999999,3.612499999999993
+3.2,0.1360769222497864,3.363923077750212,2.699999999999999,3.599999999999993
+3.3,0.126244477495966,3.373755522504033,2.737499999999999,3.587499999999992
+3.4,0.1171224911797466,3.382877508820252,2.774999999999999,3.574999999999992
+3.5,0.1086596280403545,3.391340371959644,2.8125,3.562499999999992
+3.6,0.1008082621132493,3.399191737886749,2.85,3.549999999999992
+3.7,0.09352420871229363,3.406475791287705,2.8875,3.537499999999992
+3.8,0.08676647577743318,3.413233524222565,2.925,3.524999999999991
+3.9,0.08049702935130885,3.419502970648689,2.9625,3.512499999999991
+4.,0.07468059428803168,3.425319405711966,3.,3.499999999999992
+4.1,0.06928443518339419,3.430715564816604,3.0375,3.487499999999991
+4.2,0.06427818423627604,3.435721815763722,3.075,3.474999999999991
+4.3,0.05963366787123929,3.440366332128759,3.1125,3.462499999999991
+4.4,0.05532474820898054,3.444675251791018,3.15,3.449999999999991
+4.5,0.05132717598799031,3.448672824012008,3.1875,3.437499999999992
+4.6,0.04761845411056685,3.452381545889431,3.225,3.424999999999991
+4.7,0.04417771104599953,3.455822288953999,3.2625,3.412499999999992
+4.8,0.0409855834269733,3.459014416573025,3.3,3.399999999999991
+4.9,0.03802410823579958,3.461975891764199,3.3375,3.387499999999992
+5.,0.03527661878401435,3.464723381215984,3.375,3.374999999999992
diff --git a/models/sbml-test-suite/cases/semantic/00726/00726-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00726/00726-sbml-l2v4.xml
new file mode 100644
index 0000000..bb5fdca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00726/00726-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00726" id="case00726" name="case00726">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00726/00726-settings.txt b/models/sbml-test-suite/cases/semantic/00726/00726-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00726/00726-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00727/00727-results.csv b/models/sbml-test-suite/cases/semantic/00727/00727-results.csv
new file mode 100644
index 0000000..790e6f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00727/00727-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5e-6,2e-6,1.5e-6,1e-7
+0.1,1.336380231834313e-6,1.836380231834315e-6,1.663619768165686e-6,2.000000000000001e-7
+0.2,1.21071212580229e-6,1.710712125802292e-6,1.789287874197709e-6,3.e-7
+0.3,1.112330087502838e-6,1.61233008750284e-6,1.887669912497162e-6,3.999999999999999e-7
+0.4,1.034150748791684e-6,1.534150748791686e-6,1.965849251208316e-6,4.999999999999999e-7
+0.5,9.71285021665502e-7,1.471285021665504e-6,2.028714978334498e-6,5.999999999999999e-7
+0.6,9.202499338883168e-7,1.420249933888319e-6,2.079750066111684e-6,6.999999999999998e-7
+0.7,8.78498061731402e-7,1.378498061731404e-6,2.121501938268598e-6,7.999999999999999e-7
+0.8,8.441245760573407e-7,1.344124576057343e-6,2.155875423942659e-6,9.e-7
+0.9,8.15678250582198e-7,1.3156782505822e-6,2.184321749417802e-6,9.999999999999999e-7
+1.,7.920357183508675e-7,1.292035718350869e-6,2.207964281649132e-6,1.099999999999999e-6
+1.1,7.723155084990126e-7,1.272315508499014e-6,2.227684491500987e-6,1.199999999999999e-6
+1.2,7.558178872264303e-7,1.255817887226432e-6,2.24418211277357e-6,1.299999999999999e-6
+1.3,7.419818422364117e-7,1.241981842236413e-6,2.258018157763589e-6,1.399999999999999e-6
+1.4,7.303537404858634e-7,1.230353740485865e-6,2.269646259514137e-6,1.499999999999999e-6
+1.5,7.205640878107322e-7,1.220564087810734e-6,2.279435912189269e-6,1.599999999999999e-6
+1.6,7.123100506475475e-7,1.212310050647549e-6,2.287689949352454e-6,1.699999999999999e-6
+1.7,7.053420771037081e-7,1.20534207710371e-6,2.294657922896294e-6,1.799999999999999e-6
+1.8,6.994536111590898e-7,1.199453611159091e-6,2.300546388840912e-6,1.899999999999999e-6
+1.9,6.94472984086884e-7,1.194472984086886e-6,2.305527015913118e-6,1.999999999999999e-6
+2.,6.902570759558192e-7,1.190257075955821e-6,2.309742924044182e-6,2.099999999999999e-6
+2.1,6.866862022719161e-7,1.186686202271918e-6,2.313313797728085e-6,2.199999999999999e-6
+2.2,6.836600445901221e-7,1.183660044590124e-6,2.316339955409879e-6,2.3e-6
+2.3,6.810943398321899e-7,1.181094339832192e-6,2.318905660167812e-6,2.399999999999999e-6
+2.4,6.789181837243398e-7,1.178918183724342e-6,2.321081816275662e-6,2.499999999999999e-6
+2.5,6.770718284559447e-7,1.177071828455947e-6,2.322928171544056e-6,2.599999999999999e-6
+2.6,6.755048570160653e-7,1.175504857016068e-6,2.324495142983936e-6,2.699999999999999e-6
+2.7,6.741746771741963e-7,1.174174677174198e-6,2.325825322825805e-6,2.8e-6
+2.8,6.730452802879961e-7,1.173045280287999e-6,2.326954719712005e-6,2.899999999999999e-6
+2.9,6.720861981176026e-7,1.172086198117605e-6,2.327913801882398e-6,3.e-6
+3.,6.712716287391329e-7,1.171271628739135e-6,2.328728371260869e-6,3.1e-6
+3.1,6.705797102965063e-7,1.170579710296509e-6,2.329420289703495e-6,3.2e-6
+3.2,6.699919161755601e-7,1.169991916175562e-6,2.330008083824442e-6,3.300000000000001e-6
+3.3,6.694925321895635e-7,1.169492532189566e-6,2.330507467810439e-6,3.4e-6
+3.4,6.690682275052076e-7,1.16906822750521e-6,2.330931772494795e-6,3.5e-6
+3.5,6.687076929909063e-7,1.168707692990909e-6,2.331292307009096e-6,3.6e-6
+3.6,6.68401326875118e-7,1.16840132687512e-6,2.331598673124884e-6,3.700000000000001e-6
+3.7,6.681409784457038e-7,1.168140978445706e-6,2.331859021554298e-6,3.8e-6
+3.8,6.679197277628966e-7,1.167919727762898e-6,2.332080272237106e-6,3.899999999999999e-6
+3.9,6.677316963107443e-7,1.167731696310746e-6,2.332268303689257e-6,4.e-6
+4.,6.67571892165676e-7,1.167571892165678e-6,2.332428107834326e-6,4.1e-6
+4.1,6.674360746013568e-7,1.167436074601359e-6,2.332563925398645e-6,4.2e-6
+4.2,6.673206411501181e-7,1.16732064115012e-6,2.332679358849883e-6,4.300000000000001e-6
+4.3,6.672225301256529e-7,1.167222530125655e-6,2.332777469874349e-6,4.4e-6
+4.4,6.671391415705975e-7,1.1671391415706e-6,2.332860858429404e-6,4.500000000000001e-6
+4.5,6.670682646493727e-7,1.167068264649375e-6,2.332931735350629e-6,4.6e-6
+4.6,6.670080217827031e-7,1.167008021782705e-6,2.332991978217298e-6,4.7e-6
+4.7,6.669568172876044e-7,1.166956817287607e-6,2.333043182712397e-6,4.8e-6
+4.8,6.669132944918741e-7,1.166913294491876e-6,2.333086705508127e-6,4.9e-6
+4.9,6.668763006887071e-7,1.166876300688709e-6,2.333123699311294e-6,5.000000000000001e-6
+5.,6.668448563888434e-7,1.166844856388846e-6,2.333155143611158e-6,5.1e-6
diff --git a/models/sbml-test-suite/cases/semantic/00727/00727-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00727/00727-sbml-l2v4.xml
new file mode 100644
index 0000000..69bdfc5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00727/00727-sbml-l2v4.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00727" id="case00727" name="case00727">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1e-007" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k2 </ci>
+            <cn type="rational"> 1 <sep/> 250000 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00727/00727-settings.txt b/models/sbml-test-suite/cases/semantic/00727/00727-settings.txt
new file mode 100644
index 0000000..8b20d89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00727/00727-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00728/00728-results.csv b/models/sbml-test-suite/cases/semantic/00728/00728-results.csv
new file mode 100644
index 0000000..b4f0c60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00728/00728-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.0000109217168516862,0.00001592171685168619,9.078283148313796e-6,0.0000163825752775293
+0.4,0.00001175322248611593,0.00001675322248611592,8.246777513884069e-6,0.00001762983372917389
+0.6,0.00001250334614858563,0.00001750334614858562,7.496653851414368e-6,0.00001875501922287844
+0.8,0.00001318005293522239,0.00001818005293522239,6.819947064777604e-6,0.00001977007940283359
+1.,0.00001379052838101457,0.00001879052838101457,6.209471618985424e-6,0.00002068579257152185
+1.2,0.00001434125475998713,0.00001934125475998713,5.658745240012861e-6,0.0000215118821399807
+1.4,0.00001483807988873711,0.00001983807988873711,5.161920111262884e-6,0.00002225711983310566
+1.6,0.00001528627923921957,0.00002028627923921957,4.713720760780419e-6,0.00002292941885882936
+1.8,0.00001569061195944459,0.00002069061195944459,4.309388040555399e-6,0.00002353591793916689
+2.,0.00001605537201135175,0.00002105537201135175,3.944627988648242e-6,0.00002408305801702762
+2.2,0.00001638443067396678,0.00002138443067396677,3.615569326033227e-6,0.00002457664601095016
+2.4,0.00001668128397414227,0.00002168128397414227,3.318716025857725e-6,0.00002502192596121341
+2.6,0.00001694908334211642,0.00002194908334211642,3.050916657883575e-6,0.00002542362501317464
+2.8,0.00001719067238789137,0.00002219067238789137,2.809327612108627e-6,0.00002578600858183706
+3.,0.00001740861636010126,0.00002240861636010126,2.591383639898737e-6,0.00002611292454015189
+3.2,0.00001760522951714257,0.00002260522951714257,2.39477048285742e-6,0.00002640784427571386
+3.4,0.00001778259957214644,0.00002278259957214644,2.217400427853551e-6,0.00002667389935821966
+3.6,0.00001794260981060975,0.00002294260981060975,2.057390189390241e-6,0.00002691391471591463
+3.8,0.00001808695942631759,0.00002308695942631759,1.913040573682397e-6,0.00002713043913947639
+4.,0.00001821718110098768,0.00002321718110098767,1.782818899012317e-6,0.00002732577165148152
+4.2,0.00001833465754334666,0.00002333465754334665,1.665342456653334e-6,0.00002750198631501999
+4.4,0.00001844063628729467,0.00002344063628729467,1.559363712705321e-6,0.00002766095443094201
+4.6,0.00001853624246760236,0.00002353624246760236,1.463757532397627e-6,0.00002780436370140355
+4.8,0.00001862249149504929,0.00002362249149504929,1.377508504950704e-6,0.00002793373724257394
+5.,0.00001870029898173963,0.00002370029898173963,1.299701018260363e-6,0.00002805044847260945
+5.2,0.00001877049122313275,0.00002377049122313275,1.229508776867238e-6,0.00002815573683469913
+5.4,0.00001883381359495538,0.00002383381359495538,1.166186405044614e-6,0.00002825072039243307
+5.6,0.00001889093834173048,0.00002389093834173048,1.109061658269508e-6,0.00002833640751259573
+5.8,0.0000189424721616409,0.0000239424721616409,1.057527838359091e-6,0.00002841370824246136
+6.,0.00001898896223094105,0.00002398896223094104,1.011037769058948e-6,0.00002848344334641157
+6.2,0.00001903090215108336,0.00002403090215108336,9.690978489166296e-7,0.00002854635322662505
+6.4,0.00001906873725747461,0.00002406873725747461,9.312627425253851e-7,0.00002860310588621192
+6.6,0.00001910286932261635,0.00002410286932261635,8.971306773836424e-7,0.00002865430398392453
+6.8,0.00001913366080733739,0.00002413366080733739,8.663391926626052e-7,0.00002870049121100609
+7.,0.00001916143865302751,0.00002416143865302751,8.385613469724786e-7,0.00002874215797954127
+7.2,0.00001918649778658127,0.00002418649778658127,8.135022134187217e-7,0.00002877974667987191
+7.4,0.00001920910428992916,0.00002420910428992916,7.908957100708378e-7,0.00002881365643489374
+7.6,0.00001922949821801625,0.00002422949821801625,7.705017819837406e-7,0.00002884424732702439
+7.8,0.00001924789614108157,0.00002424789614108157,7.521038589184182e-7,0.00002887184421162237
+8.,0.00001926449342284265,0.00002426449342284265,7.355065771573465e-7,0.00002889674013426397
+8.2,0.00001927946627059378,0.00002427946627059377,7.205337294062176e-7,0.00002891919940589067
+8.4,0.00001929297367883728,0.00002429297367883728,7.070263211627083e-7,0.00002893946051825593
+8.6,0.0000193051590741782,0.0000243051590741782,6.948409258217906e-7,0.0000289577386112673
+8.8,0.00001931615184599961,0.00002431615184599961,6.838481540003791e-7,0.00002897422776899942
+9.,0.00001932606872021517,0.00002432606872021517,6.7393127978482e-7,0.00002898910308032276
+9.2,0.00001933501499859236,0.00002433501499859236,6.649850014076305e-7,0.00002900252249788854
+9.4,0.0000193430856767989,0.0000243430856767989,6.569143232010876e-7,0.00002901462851519836
+9.6,0.00001935036645303882,0.00002435036645303882,6.496335469611699e-7,0.00002902554967955824
+9.8,0.00001935693463667982,0.00002435693463667982,6.430653633201714e-7,0.00002903540195501973
+10.,0.00001936285997490206,0.00002436285997490206,6.371400250979317e-7,0.00002904428996235309
diff --git a/models/sbml-test-suite/cases/semantic/00728/00728-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00728/00728-sbml-l2v4.xml
new file mode 100644
index 0000000..2f13e15
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00728/00728-sbml-l2v4.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00728" id="case00728" name="case00728">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00728/00728-settings.txt b/models/sbml-test-suite/cases/semantic/00728/00728-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00728/00728-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00729/00729-results.csv b/models/sbml-test-suite/cases/semantic/00729/00729-results.csv
new file mode 100644
index 0000000..d470c97
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00729/00729-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.2,1.291061964125639,2.208938035874358,1.880650328139764,3.619349671860238
+0.4,1.111227329006146,2.38877267099385,2.225076988858965,3.274923011141037
+0.6,0.9564422260482462,2.54355777395175,2.536727118122601,2.963272881877401
+0.8,0.823217441769657,2.676782558230339,2.818719823795357,2.681280176204644
+1.,0.7085498146615377,2.791450185338459,3.073877370919135,2.426122629080866
+1.2,0.6098544791390524,2.890145520860944,3.304753463084459,2.195246536915542
+1.4,0.5249065036738509,2.975093496326145,3.513658874207764,1.986341125792237
+1.6,0.4517913176964891,3.048208682303505,3.702684143664394,1.797315856335608
+1.8,0.3888603886735604,3.111139611326434,3.873721362930878,1.626278637069125
+2.,0.3346952383773503,3.165304761622645,4.028482236916986,1.471517763083016
+2.2,0.2880748604177267,3.211925139582269,4.168515667512812,1.33148433248719
+2.4,0.2479483287532424,3.252051671246754,4.295223155770901,1.204776844229102
+2.6,0.2134111020252686,3.286588897974727,4.409872833275655,1.090127166724347
+2.8,0.1836846423476224,3.316315357652374,4.513612144266024,0.9863878557339799
+3.,0.1580988301234463,3.341901169876549,4.607479366931245,0.892520633068758
+3.2,0.1360769220888853,3.36392307791111,4.69241393724331,0.8075860627566919
+3.4,0.1171224911122594,3.382877508887736,4.769265913523073,0.73073408647693
+3.6,0.1008082620655447,3.399191737934451,4.83880445623564,0.6611955437643626
+3.8,0.08676647569648428,3.413233524303512,4.901725530742401,0.5982744692576026
+4.,0.07468059427357788,3.425319405726418,4.958658878905015,0.5413411210949888
+4.2,0.06427818431870295,3.435721815681293,5.01017429601872,0.4898257039812836
+4.4,0.05532474833609136,3.444675251663905,5.056787370953483,0.4432126290465202
+4.6,0.04761845418768078,3.452381545812315,5.098964625745416,0.4010353742545882
+4.8,0.04098558335831677,3.459014416641679,5.137128187383702,0.3628718126163018
+5.,0.03527661700112794,3.464723382998868,5.171660008761588,0.3283399912384159
+5.2,0.03036286431775535,3.469637135682241,5.202905692635259,0.2970943073647462
+5.4,0.02613355906240457,3.473866440937592,5.231177954926272,0.2688220450737347
+5.6,0.022493363136816,3.477506636863181,5.256759753985003,0.2432402460150012
+5.8,0.01936021790208584,3.480639782097911,5.27990712196258,0.2200928780374255
+6.,0.01666349467419731,3.4833365053258,5.300851726845676,0.1991482731543301
+6.2,0.01434240278679902,3.485657597213199,5.319803190693707,0.1801968093062993
+6.4,0.01234461995017799,3.487655380049819,5.336951185702629,0.163048814297378
+6.6,0.01062511239624416,3.489374887603753,5.352467333121738,0.147532666878269
+6.8,0.009145118834570394,3.490854881165427,5.366506923081239,0.1334930769187679
+7.,0.007871276865819442,3.492128723134177,5.379210468539038,0.1207895314609689
+7.2,0.006774871074681965,3.493225128925314,5.390705111298374,0.1092948887016319
+7.4,0.005831185818476821,3.49416881418152,5.401105894276619,0.09889410572338722
+7.6,0.005018948148191528,3.494981051851805,5.410516912707951,0.08948308729205459
+7.8,0.004319848519189362,3.495680151480807,5.419032355018628,0.08096764498137808
+8.,0.003718127916107277,3.496281872083889,5.426737445798682,0.07326255420132338
+8.2,0.003200222300326868,3.49679977769967,5.433709299844249,0.06629070015575643
+8.4,0.002754456908979407,3.497245543091017,5.440017693824979,0.05998230617502602
+8.6,0.002370783134296092,3.4976292168657,5.445725764491708,0.05427423550829688
+8.8,0.002040552039918484,3.497959447960078,5.45089064046642,0.04910935953358416
+9.,0.001756319417930403,3.498243680582066,5.455564013912667,0.04443598608733788
+9.2,0.001511678067373266,3.498488321932624,5.459792657419312,0.04020734258069303
+9.4,0.001301113313909349,3.498698886686087,5.463618892265197,0.03638110773480818
+9.6,0.001119878588432885,3.498880121411564,5.467081012524612,0.03291898747539177
+9.8,0.000963888450725293,3.499036111549272,5.470213668266138,0.0297863317338653
+10.,0.0008296265552255436,3.499170373444772,5.47304821200364,0.02695178799636324
diff --git a/models/sbml-test-suite/cases/semantic/00729/00729-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00729/00729-sbml-l2v4.xml
new file mode 100644
index 0000000..773d8b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00729/00729-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00729" id="case00729" name="case00729">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="p1" name="p1" value="0.75"/>
+      <parameter id="p2" name="p2" value="0.25"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p2 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00729/00729-settings.txt b/models/sbml-test-suite/cases/semantic/00729/00729-settings.txt
new file mode 100644
index 0000000..76bab9a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00729/00729-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00730/00730-results.csv b/models/sbml-test-suite/cases/semantic/00730/00730-results.csv
new file mode 100644
index 0000000..4026c3c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00730/00730-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.1,1.391615229463018,2.108384770536979,1.5375,3.987499999999998
+0.2,1.291061964125568,2.20893803587443,1.575,3.974999999999999
+0.3,1.19777432791931,2.302225672080688,1.612500000000001,3.962499999999999
+0.4,1.111227329031182,2.388772670968817,1.650000000000001,3.949999999999998
+0.5,1.03093391817527,2.469066081824729,1.687500000000001,3.937499999999998
+0.6,0.9564422260114998,2.543557773988499,1.725000000000001,3.924999999999998
+0.7,0.8873330349438418,2.612666965056157,1.762500000000001,3.912499999999998
+0.8,0.8232174419009635,2.676782558099035,1.800000000000001,3.899999999999997
+0.9,0.7637346285181497,2.736265371481849,1.837500000000001,3.887499999999997
+1.,0.7085498146739673,2.791450185326031,1.875000000000001,3.874999999999997
+1.1,0.6573524880772634,2.842647511922735,1.912500000000001,3.862499999999997
+1.2,0.6098544790654891,2.890145520934509,1.950000000000001,3.849999999999997
+1.3,0.5657885246960531,2.934211475303945,1.987500000000001,3.837499999999996
+1.4,0.5249066231498047,2.975093376850194,2.025000000000001,3.824999999999997
+1.5,0.4869786964450624,2.013021297899924,2.062500000000001,3.812499999999996
+1.6,0.4517913136237014,2.048208680721284,2.100000000000002,3.799999999999995
+1.7,0.4191464483074065,2.080853546037579,2.137500000000002,3.787499999999996
+1.8,0.3888603863341802,2.111139608010805,2.175000000000003,3.774999999999996
+1.9,0.360762690227492,2.139237304117493,2.212500000000003,3.762499999999996
+2.,0.3346952365056685,2.165304757839317,2.250000000000004,3.749999999999996
+2.1,0.3105113261038671,2.189488668241118,2.287500000000004,3.737499999999997
+2.2,0.2880748573756282,2.211925136969357,2.325000000000004,3.724999999999997
+2.3,0.2672595730233221,2.232740421321663,2.362500000000004,3.712499999999996
+2.4,0.2479483254417506,2.252051668903234,2.400000000000004,3.699999999999996
+2.5,0.2300324480351357,2.269967546309849,2.437500000000004,3.687499999999996
+2.6,0.2134111011231353,2.286588893221849,2.475000000000004,3.674999999999996
+2.7,0.1979907620704752,2.302009232274509,2.512500000000004,3.662499999999996
+2.8,0.1836846283070245,2.316315366037959,2.550000000000004,3.649999999999995
+2.9,0.1704122231641413,2.329587771180843,2.587500000000004,3.637499999999995
+3.,0.1580988353511249,2.34190115899386,2.625000000000006,3.624999999999995
+3.1,0.1466751646785712,2.353324829666414,2.662500000000005,3.612499999999995
+3.2,0.1360769286107153,2.363923065734271,2.700000000000005,3.599999999999996
+3.3,0.1262444837993561,2.37375551054563,2.737500000000005,3.587499999999996
+3.4,0.1171224976838767,2.382877496661109,2.775000000000005,3.574999999999997
+3.5,0.1086596344532725,2.391340359891713,2.812500000000005,3.562499999999997
+3.6,0.1008082681575095,2.399191726187476,2.850000000000005,3.549999999999997
+3.7,0.09352421190504697,2.406475782439939,2.887500000000006,3.537499999999997
+3.8,0.08676648040200293,2.413233513942983,2.925000000000006,3.524999999999997
+3.9,0.08049703581544666,2.419502958529539,2.962500000000006,3.512499999999998
+4.,0.07468059978040295,2.425319394564583,3.000000000000006,3.499999999999997
+4.1,0.06928444147709761,2.430715552867888,3.037500000000006,3.487499999999998
+4.2,0.06427818913131655,2.435721805213669,3.075000000000006,3.474999999999998
+4.3,0.05963367012099719,2.440366324223988,3.112500000000006,3.462499999999998
+4.4,0.05532474711904416,2.444675247225941,3.150000000000007,3.449999999999998
+4.5,0.05132717407559799,2.448672820269388,3.187500000000006,3.437499999999998
+4.6,0.04761845176510967,2.452381542579876,3.225000000000006,3.424999999999998
+4.7,0.0441777088181301,2.455822285526855,3.262500000000006,3.412499999999998
+4.8,0.04098558195836439,2.459014412386621,3.300000000000006,3.399999999999998
+4.9,0.03802410758440162,2.461975886760584,3.337500000000007,3.387499999999998
+5.,0.03527661845256652,2.464723375892419,3.375000000000007,3.374999999999998
diff --git a/models/sbml-test-suite/cases/semantic/00730/00730-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00730/00730-sbml-l2v4.xml
new file mode 100644
index 0000000..122e836
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00730/00730-sbml-l2v4.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00730" id="case00730" name="case00730">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00730/00730-settings.txt b/models/sbml-test-suite/cases/semantic/00730/00730-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00730/00730-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00731/00731-results.csv b/models/sbml-test-suite/cases/semantic/00731/00731-results.csv
new file mode 100644
index 0000000..637ec05
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00731/00731-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,1.
+0.1,1.301161272393736,1.801161272393736,1.698838727606263,1.1
+0.2,1.143765361558212,1.643765361558212,1.856234638441787,1.2
+0.3,1.016161200470581,1.516161200470581,1.983838799529418,1.299999999999999
+0.4,0.9106905837379247,1.410690583737925,2.089309416262074,1.399999999999999
+0.5,0.82211265497212,1.32211265497212,2.177887345027879,1.499999999999999
+0.6,0.7467198345605001,1.2467198345605,2.253280165439498,1.599999999999998
+0.7,0.6818153082816071,1.181815308281608,2.318184691718391,1.699999999999998
+0.8,0.6253905210486328,1.125390521048633,2.374609478951366,1.799999999999998
+0.9,0.5759187918405485,1.075918791840548,2.424081208159451,1.899999999999998
+1.,0.5322189514243052,1.032218951424305,2.467781048575694,1.999999999999998
+1.1,0.4933628271304125,0.993362827130413,2.506637172869588,2.099999999999997
+1.2,0.4586109428698224,0.9586109428698226,2.541389057130178,2.199999999999996
+1.3,0.4273668743886653,0.9273668743886657,2.572633125611336,2.299999999999996
+1.4,0.3991442463576938,0.8991442463576941,2.600855753642308,2.399999999999995
+1.5,0.3735424645637546,0.8735424645637549,2.626457535436247,2.499999999999996
+1.6,0.3502285960915758,0.850228596091576,2.649771403908425,2.599999999999997
+1.7,0.3289236565084796,0.8289236565084798,2.671076343491521,2.699999999999997
+1.8,0.3093921066663449,0.8093921066663452,2.690607893333656,2.799999999999998
+1.9,0.2914337062715157,0.7914337062715157,2.708566293728485,2.899999999999997
+2.,0.2748771363145161,0.7748771363145161,2.725122863685485,2.999999999999997
+2.1,0.2595749619664419,0.759574961966442,2.74042503803356,3.099999999999997
+2.2,0.2453995983541298,0.7453995983541299,2.754600401645872,3.199999999999998
+2.3,0.23224008144138,0.7322400814413802,2.767759918558621,3.299999999999998
+2.4,0.2199994444731565,0.7199994444731566,2.780000555526845,3.399999999999998
+2.5,0.2085925774229491,0.7085925774229493,2.791407422577052,3.499999999999998
+2.6,0.1979444651012947,0.697944465101295,2.802055534898707,3.599999999999999
+2.7,0.1879887309279706,0.6879887309279708,2.812011269072031,3.699999999999999
+2.8,0.1786664290753538,0.678666429075354,2.821333570924648,3.799999999999998
+2.9,0.1699250312578738,0.669925031257874,2.830074968742128,3.899999999999999
+3.,0.1617175745153864,0.6617175745153866,2.838282425484616,3.999999999999999
+3.1,0.154001945765409,0.6540019457654092,2.845998054234593,4.099999999999998
+3.2,0.1467402648979847,0.6467402648979849,2.853259735102017,4.199999999999999
+3.3,0.1398983680425594,0.6398983680425596,2.860101631957443,4.299999999999998
+3.4,0.1334453668936546,0.6334453668936548,2.866554633106348,4.399999999999996
+3.5,0.1273532565311079,0.6273532565311081,2.872646743468894,4.499999999999996
+3.6,0.1193697625754568,1.99676590130814,2.880630237424544,4.599999999999996
+3.7,0.1028996998683662,1.980295838601049,2.897100300131635,4.699999999999994
+3.8,0.08881315377761159,1.966209292510294,2.91118684622239,4.799999999999994
+3.9,0.07673958993964598,1.954135728672329,2.923260410060355,4.899999999999993
+4.,0.06637251481645623,1.943768653549139,2.933627485183545,4.999999999999992
+4.1,0.05745682111089139,1.934852959843575,2.94254317888911,5.099999999999991
+4.2,0.04977901379876797,1.927175152531452,2.950220986201234,5.199999999999992
+4.3,0.04315957253780254,1.920555711270486,2.9568404274622,5.299999999999993
+4.4,0.03744691180972244,1.914843050542406,2.962553088190279,5.399999999999994
+4.5,0.03251257512562789,1.909908713858312,2.967487424874374,5.499999999999992
+4.6,0.02824735005773967,1.905643488790423,2.971752649942262,5.599999999999991
+4.7,0.02455813341679675,1.90195427214948,2.975441866583205,5.699999999999991
+4.8,0.02136536558652107,1.898761504319205,2.978634634413481,5.79999999999999
+4.9,0.01860091213071844,1.895997050863402,2.981399087869284,5.89999999999999
+5.,0.01620631892797512,1.893602457660659,2.983793681072027,5.99999999999999
diff --git a/models/sbml-test-suite/cases/semantic/00731/00731-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00731/00731-sbml-l2v4.xml
new file mode 100644
index 0000000..1a86d42
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00731/00731-sbml-l2v4.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00731" id="case00731" name="case00731">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.00025"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00731/00731-settings.txt b/models/sbml-test-suite/cases/semantic/00731/00731-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00731/00731-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00732/00732-results.csv b/models/sbml-test-suite/cases/semantic/00732/00732-results.csv
new file mode 100644
index 0000000..22572bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00732/00732-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.1,1.370896777896977,2.129103222103021,1.5375,3.9875
+0.2,1.252905317098329,2.247094682901668,1.575,3.974999999999999
+0.3,1.145069240724157,2.35493075927584,1.6125,3.962499999999999
+0.4,1.046514485632972,2.453485514367025,1.65,3.949999999999999
+0.5,0.9564422260098478,2.543557773990149,1.6875,3.9375
+0.6,0.8741223611914626,2.625877638808535,1.725,3.925
+0.7,0.7988876918367692,2.701112308163228,1.7625,3.9125
+0.8,0.7301283836237446,2.769871616376252,1.8,3.899999999999999
+0.9,0.6672870883684592,2.832712911631538,1.8375,3.887499999999999
+1.,0.6098544789969807,2.890145521003017,1.875,3.874999999999998
+1.1,0.5573650341360849,2.942634965863912,1.9125,3.862499999999998
+1.2,0.5093932800872189,2.990606719912779,1.95,3.849999999999998
+1.3,0.4655504118263349,3.034449588173663,1.9875,3.837499999999998
+1.4,0.4254810395854951,3.074518960414503,2.025000000000001,3.824999999999998
+1.5,0.3888603886945879,3.11113961130541,2.062500000000002,3.812499999999997
+1.6,0.355391637576556,3.144608362423442,2.100000000000001,3.799999999999997
+1.7,0.3248035003080025,3.175196499691995,2.137500000000002,3.787499999999997
+1.8,0.296848046844821,3.203151953155177,2.175000000000001,3.774999999999997
+1.9,0.2712986853724174,3.22870131462758,2.212500000000001,3.762499999999997
+2.,0.2479483290458162,3.252051670954182,2.250000000000001,3.749999999999997
+2.1,0.2266077079637744,3.273392292036224,2.287500000000001,3.737499999999998
+2.2,0.2071038553770578,3.29289614462294,2.325000000000001,3.724999999999998
+2.3,0.1892786671931028,3.310721332806895,2.362500000000001,3.712499999999998
+2.4,0.1729876813307404,3.327012318669258,2.400000000000001,3.699999999999998
+2.5,0.1580988295314114,3.341901170468587,2.437500000000001,3.687499999999998
+2.6,0.1444914474161092,3.355508552583889,2.475000000000001,3.674999999999998
+2.7,0.1320552448500796,3.367944755149919,2.512500000000002,3.662499999999998
+2.8,0.1206894098798429,3.379310590120155,2.550000000000002,3.649999999999998
+2.9,0.1103018103489603,3.389698189651038,2.587500000000002,3.637499999999998
+3.,0.1008082622249635,3.399191737775034,2.625000000000002,3.624999999999998
+3.1,0.09213181824892247,3.407868181751076,2.662500000000002,3.612499999999998
+3.2,0.08420214394199868,3.415797856057999,2.700000000000002,3.599999999999998
+3.3,0.07695496301904149,3.423045036980956,2.737500000000002,3.587499999999998
+3.4,0.07033153789995334,3.429668462100044,2.775000000000001,3.574999999999998
+3.5,0.0642781838793614,3.435721816120636,2.812500000000002,3.562499999999999
+3.6,0.05874583613362479,3.441254163866373,2.850000000000001,3.549999999999999
+3.7,0.05368965226648757,3.44631034773351,2.887500000000002,3.537499999999999
+3.8,0.04906864903225833,3.45093135096774,2.925000000000002,3.524999999999999
+3.9,0.04484537029949503,3.455154629700503,2.962500000000001,3.5125
+4.,0.04098558357032855,3.459014416429669,3.000000000000002,3.5
+4.1,0.03745800274394933,3.462541997256048,3.037500000000001,3.4875
+4.2,0.03423403572472447,3.465765964275273,3.075000000000002,3.475000000000001
+4.3,0.03128755168014144,3.468712448319856,3.112500000000002,3.462500000000001
+4.4,0.02859466844831416,3.471405331551683,3.150000000000002,3.450000000000001
+4.5,0.02613355908018578,3.473866440919811,3.187500000000002,3.437500000000001
+4.6,0.02388427502502822,3.476115724974969,3.225000000000001,3.425000000000002
+4.7,0.02182858452064342,3.478171415479353,3.262500000000002,3.412500000000001
+4.8,0.0199498248816295,3.480050175118367,3.300000000000002,3.400000000000002
+4.9,0.01823276749126804,3.481767232508729,3.337500000000002,3.387500000000002
+5.,0.01666349480738228,3.483336505192614,3.375000000000002,3.375000000000002
diff --git a/models/sbml-test-suite/cases/semantic/00732/00732-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00732/00732-sbml-l1v2.xml
new file mode 100644
index 0000000..c298d27
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00732/00732-sbml-l1v2.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00732">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="2" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="4" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.75"/>
+      <parameter name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.5 * k1" type="rate" species="S3"/>
+      <speciesConcentrationRule formula="-0.5 * k2" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1">
+          <listOfParameters>
+            <parameter name="k1" value="0.9"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00732/00732-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00732/00732-sbml-l2v4.xml
new file mode 100644
index 0000000..42c5f09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00732/00732-sbml-l2v4.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00732" id="case00732" name="case00732">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k1" value="0.9"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00732/00732-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00732/00732-sbml-l3v1.xml
new file mode 100644
index 0000000..c4bcaa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00732/00732-sbml-l3v1.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00732" id="case00732" name="case00732" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k1" value="0.9"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00732/00732-settings.txt b/models/sbml-test-suite/cases/semantic/00732/00732-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00732/00732-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00733/00733-results.csv b/models/sbml-test-suite/cases/semantic/00733/00733-results.csv
new file mode 100644
index 0000000..6ccf252
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00733/00733-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5e-6,1.999999999999999e-6,1.5e-6,9.999999999999999e-8
+0.1,1.343325442036936e-6,1.843325442036937e-6,1.656674557963063e-6,1.999999999999999e-7
+0.2,1.223713802375915e-6,1.723713802375916e-6,1.776286197624084e-6,2.999999999999999e-7
+0.3,1.130720222094343e-6,1.630720222094344e-6,1.869279777905657e-6,3.999999999999999e-7
+0.4,1.057392957942629e-6,1.55739295794263e-6,1.94260704205737e-6,5.e-7
+0.5,9.989265022463782e-7,1.498926502246379e-6,2.001073497753621e-6,5.999999999999997e-7
+0.6,9.518944663587043e-7,1.451894466358705e-6,2.048105533641295e-6,6.999999999999995e-7
+0.7,9.137903539824124e-7,1.413790353982413e-6,2.086209646017587e-6,7.999999999999995e-7
+0.8,8.82741005924977e-7,1.382741005924978e-6,2.117258994075021e-6,8.999999999999996e-7
+0.9,8.573212719851395e-7,1.35732127198514e-6,2.142678728014859e-6,9.999999999999999e-7
+1.,8.364303454288376e-7,1.336430345428839e-6,2.163569654571161e-6,1.099999999999999e-6
+1.1,8.192071233582772e-7,1.319207123358278e-6,2.180792876641721e-6,1.199999999999999e-6
+1.2,8.049707087592359e-7,1.304970708759237e-6,2.195029291240763e-6,1.3e-6
+1.3,7.931778215865092e-7,1.29317782158651e-6,2.20682217841349e-6,1.4e-6
+1.4,7.83391653320522e-7,1.283391653320523e-6,2.216608346679477e-6,1.5e-6
+1.5,7.752587395891293e-7,1.275258739589131e-6,2.22474126041087e-6,1.6e-6
+1.6,7.684914745013698e-7,1.268491474501371e-6,2.231508525498629e-6,1.7e-6
+1.7,7.628547977787662e-7,1.262854797778768e-6,2.237145202221233e-6,1.8e-6
+1.8,7.581558280125019e-7,1.258155828012503e-6,2.241844171987497e-6,1.9e-6
+1.9,7.54235795177089e-7,1.254235795177091e-6,2.24576420482291e-6,2.e-6
+2.,7.50963638711834e-7,1.250963638711836e-6,2.249036361288165e-6,2.1e-6
+2.1,7.482309375737905e-7,1.248230937573793e-6,2.251769062426209e-6,2.200000000000001e-6
+2.2,7.459478136359842e-7,1.245947813635987e-6,2.254052186364015e-6,2.3e-6
+2.3,7.440396457244735e-7,1.244039645724476e-6,2.255960354275526e-6,2.4e-6
+2.4,7.424443960186423e-7,1.242444396018645e-6,2.257555603981358e-6,2.500000000000001e-6
+2.5,7.411104298186415e-7,1.241110429818644e-6,2.258889570181358e-6,2.600000000000001e-6
+2.6,7.399947277094308e-7,1.239994727709433e-6,2.260005272290569e-6,2.700000000000001e-6
+2.7,7.390614198610675e-7,1.23906141986107e-6,2.260938580138932e-6,2.800000000000001e-6
+2.8,7.382805780367224e-7,1.238280578036725e-6,2.261719421963277e-6,2.9e-6
+2.9,7.37627217967448e-7,1.237627217967451e-6,2.262372782032551e-6,3.000000000000001e-6
+3.,7.370804736313832e-7,1.237080473631386e-6,2.262919526368616e-6,3.100000000000001e-6
+3.1,7.366229099452277e-7,1.23662290994523e-6,2.263377090054772e-6,3.200000000000001e-6
+3.2,7.362399538506859e-7,1.236239953850688e-6,2.263760046149313e-6,3.3e-6
+3.3,7.359194213706436e-7,1.235919421370646e-6,2.264080578629355e-6,3.4e-6
+3.4,7.356511241754024e-7,1.235651124175405e-6,2.264348875824597e-6,3.5e-6
+3.5,7.354265408478317e-7,1.235426540847834e-6,2.264573459152168e-6,3.6e-6
+3.6,7.352385433974662e-7,1.235238543397469e-6,2.264761456602532e-6,3.7e-6
+3.7,7.350811660567522e-7,1.235081166056754e-6,2.264918833943247e-6,3.8e-6
+3.8,7.349494195332351e-7,1.234949419533238e-6,2.265050580466764e-6,3.899999999999999e-6
+3.9,7.348391266934249e-7,1.234839126693427e-6,2.265160873306574e-6,3.999999999999999e-6
+4.,7.347467926934939e-7,1.234746792693496e-6,2.265253207306505e-6,4.099999999999999e-6
+4.1,7.346694921464012e-7,1.234669492146404e-6,2.265330507853598e-6,4.199999999999999e-6
+4.2,7.346047769913367e-7,1.234604776991339e-6,2.265395223008662e-6,4.3e-6
+4.3,7.345505970107087e-7,1.234550597010711e-6,2.265449402989291e-6,4.399999999999999e-6
+4.4,7.345052372132748e-7,1.234505237213277e-6,2.265494762786724e-6,4.5e-6
+4.5,7.344672615712242e-7,1.234467261571227e-6,2.265532738428775e-6,4.6e-6
+4.6,7.344354675427048e-7,1.234435467542707e-6,2.265564532457294e-6,4.699999999999999e-6
+4.7,7.344088487585443e-7,1.234408848758547e-6,2.265591151241454e-6,4.8e-6
+4.8,7.3438656289306e-7,1.234386562893063e-6,2.265613437106939e-6,4.899999999999999e-6
+4.9,7.343679046216812e-7,1.234367904621684e-6,2.265632095378318e-6,5.e-6
+5.,7.343522833116868e-7,1.23435228331169e-6,2.265647716688313e-6,5.099999999999999e-6
diff --git a/models/sbml-test-suite/cases/semantic/00733/00733-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00733/00733-sbml-l2v4.xml
new file mode 100644
index 0000000..678ab8b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00733/00733-sbml-l2v4.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00733" id="case00733" name="case00733">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1e-007" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k </ci>
+            <cn type="rational"> 1 <sep/> 250000 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="750000"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k" value="0.3"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00733/00733-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00733/00733-sbml-l3v1.xml
new file mode 100644
index 0000000..1cd6671
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00733/00733-sbml-l3v1.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00733" id="case00733" name="case00733" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k </ci>
+            <cn type="rational"> 1 <sep/> 250000 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="750000"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.3"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00733/00733-settings.txt b/models/sbml-test-suite/cases/semantic/00733/00733-settings.txt
new file mode 100644
index 0000000..8b20d89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00733/00733-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00734/00734-results.csv b/models/sbml-test-suite/cases/semantic/00734/00734-results.csv
new file mode 100644
index 0000000..5dd3e90
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00734/00734-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.00001074887649046344,0.00001593090583558214,9.251123509536557e-6,0.00001612331473569516
+0.4,0.00001143879540178106,0.00001678775519979817,8.561204598218936e-6,0.00001715819310267159
+0.6,0.00001207439835054592,0.00001757637841592965,7.925601649454076e-6,0.00001811159752581888
+0.8,0.00001265996154366241,0.00001830214681703939,7.340038456337583e-6,0.00001898994231549362
+1.,0.00001319942445242331,0.00001897000876340978,6.800575547576689e-6,0.00001979913667863496
+1.2,0.00001369641653539263,0.00001958452320909075,6.303583464607366e-6,0.00002054462480308895
+1.4,0.00001415428139338256,0.00002014989004290738,5.845718606617433e-6,0.00002123142209007385
+1.6,0.00001457609952237856,0.00002066997866835358,5.423900477621432e-6,0.00002186414928356785
+1.8,0.00001496470860924384,0.00002114835349697704,5.03529139075615e-6,0.00002244706291386577
+2.,0.00001532272334746688,0.00002158829883889134,4.677276652533116e-6,0.00002298408502120032
+2.2,0.00001565255224219426,0.00002199284001153671,4.347447757805736e-6,0.00002347882836329139
+2.4,0.00001595641436173209,0.00002236476438120008,4.043585638267905e-6,0.00002393462154259813
+2.6,0.00001623635458951014,0.00002270664052097007,3.763645410489855e-6,0.00002435453188426521
+2.8,0.00001649425453969484,0.00002302083192181184,3.505745460305157e-6,0.00002474138180954226
+3.,0.00001673185109143316,0.0000233095202733856,3.268148908566826e-6,0.00002509777663714975
+3.2,0.00001695074213119794,0.00002357471267699258,3.049257868802046e-6,0.00002542611319679691
+3.4,0.00001715240031678416,0.00002381825893449722,2.84759968321583e-6,0.00002572860047517624
+3.6,0.00001733818234114007,0.00002404186318460281,2.661817658859922e-6,0.0000260072735117101
+3.8,0.00001750933811036198,0.00002424709543130838,2.49066188963801e-6,0.00002626400716554297
+4.,0.00001766701912085854,0.0000244354020664443,2.332980879141454e-6,0.00002650052868128781
+4.2,0.00001781228620585177,0.00002460811560003336,2.18771379414822e-6,0.00002671842930877765
+4.4,0.0000179461167411778,0.00002476646371147947,2.053883258822186e-6,0.00002691917511176671
+4.6,0.00001806941102641612,0.00002491157726488857,1.930588973583873e-6,0.00002710411653962418
+4.8,0.00001818299855944608,0.00002504449819052376,1.817001440553915e-6,0.00002727449783916912
+5.,0.00001828764363870226,0.00002516618652178457,1.712356361297734e-6,0.00002743146545805339
+5.2,0.00001838405016060833,0.00002527752642125196,1.615949839391656e-6,0.0000275760752409125
+5.4,0.0000184728668024265,0.00002537933269085283,1.527133197573489e-6,0.00002770930020363975
+5.6,0.00001855469110612264,0.0000254723559015931,1.44530889387735e-6,0.00002783203665918396
+5.8,0.00001863007354139065,0.00002555728749711268,1.36992645860934e-6,0.00002794511031208598
+6.,0.00001869952125925233,0.00002563476450857308,1.300478740747665e-6,0.0000280492818888785
+6.2,0.00001876350148638502,0.00002570537381826415,1.236498513614969e-6,0.00002814525222957754
+6.4,0.00001882244466766472,0.00002576965610694474,1.177555332335271e-6,0.00002823366700149708
+6.6,0.0000188767473614052,0.00002582810949054559,1.123252638594794e-6,0.0000283151210421078
+6.8,0.00001892677490675164,0.00002588119287067587,1.073225093248351e-6,0.00002839016236012746
+7.,0.00001897286388115128,0.00002592932902144615,1.027136118848708e-6,0.00002845929582172693
+7.2,0.00001901532436441845,0.00002597290743335491,9.84675635581542e-7,0.00002852298654662767
+7.4,0.00001905444203230023,0.0000260122869430113,9.455579676997565e-7,0.00002858166304845035
+7.6,0.00001909048004358941,0.00002604779810353308,9.095199564105743e-7,0.00002863572006538412
+7.8,0.00001912368085322376,0.00002607974546197623,8.763191467762242e-7,0.00002868552127983565
+8.,0.00001915426782779202,0.00002610840958856806,8.457321722079663e-7,0.00002873140174168803
+8.2,0.00001918244674891895,0.00002613404896510555,8.175532510810312e-7,0.00002877367012337843
+8.4,0.00001920840719764171,0.00002615690172386706,7.915928023582779e-7,0.00002881261079646256
+8.6,0.00001923232382980597,0.00002617718724963437,7.676761701940117e-7,0.00002884848574470896
+8.8,0.00001925435755106041,0.00002619510765560032,7.456424489395676e-7,0.00002888153632659062
+9.,0.00001927465659935269,0.0000262108491430894,7.253434006472895e-7,0.00002891198489902904
+9.2,0.00001929335754220823,0.00002622458325423721,7.066424577917502e-7,0.00002894003631331234
+9.4,0.00001931058619549991,0.00002623646802605481,6.894138045000686e-7,0.00002896587929324987
+9.6,0.00001932645846988879,0.00002624664905364083,6.735415301111945e-7,0.00002898968770483318
+9.8,0.00001934108113485539,0.00002625526044987937,6.589188651445927e-7,0.00002901162170228309
+10.,0.00001935455259983663,0.0000262624258266241,6.454474001633552e-7,0.00002903182889975495
diff --git a/models/sbml-test-suite/cases/semantic/00734/00734-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00734/00734-sbml-l1v2.xml
new file mode 100644
index 0000000..0a59b11
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00734/00734-sbml-l1v2.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00734">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.5e-005" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1e-005" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k1" value="0.015"/>
+      <parameter name="k2" value="0.5"/>
+      <parameter name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="k3 * S1" species="S4"/>
+      <speciesConcentrationRule formula="k2 * S3 + -1 * k1 * S1" type="rate" species="S2"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k1 * S1">
+          <listOfParameters>
+            <parameter name="k1" value="0.01"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k2 * S3">
+          <listOfParameters>
+            <parameter name="k2" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00734/00734-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00734/00734-sbml-l2v4.xml
new file mode 100644
index 0000000..d7d6d7b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00734/00734-sbml-l2v4.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00734" id="case00734" name="case00734">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k1" value="0.01"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k2" value="0.4"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00734/00734-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00734/00734-sbml-l3v1.xml
new file mode 100644
index 0000000..9f2c59c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00734/00734-sbml-l3v1.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00734" id="case00734" name="case00734" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k1" value="0.01"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k2" value="0.4"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00734/00734-settings.txt b/models/sbml-test-suite/cases/semantic/00734/00734-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00734/00734-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00735/00735-results.csv b/models/sbml-test-suite/cases/semantic/00735/00735-results.csv
new file mode 100644
index 0000000..dd610d6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00735/00735-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.2,1.278215683425232,2.221784316574767,1.880650327866455,3.619349672133544
+0.4,1.089223552552279,2.410776447447721,2.225076989093005,3.274923010906994
+0.6,0.9281750873070011,2.571824912692999,2.536727117469821,2.963272882530177
+0.8,0.7909386202805621,2.709061379719438,2.818719824028185,2.681280175971814
+1.,0.6739934325137464,2.826006567486254,3.073877368655915,2.426122631344084
+1.2,0.5743393172586076,2.925660682741393,3.304753462449413,2.195246537550585
+1.4,0.4894196919329776,3.010580308067023,3.513658784833336,1.986341215166663
+1.6,0.4170559505253562,3.082944049474645,3.702684143630928,1.797315856369071
+1.8,0.3553916375867619,3.144608362413239,3.873721361339477,1.626278638660522
+2.,0.302844776945498,3.197155223054503,4.028482235347223,1.471517764652776
+2.2,0.2580672953234082,3.241932704676592,4.168515665532819,1.33148433446718
+2.4,0.2199104411493983,3.280089558850603,4.295223154050651,1.204776845949346
+2.6,0.1873953132469929,3.312604686753008,4.409872832338403,1.090127167661594
+2.8,0.159687755179374,3.340312244820627,4.513612145553478,0.9863878544465193
+3.,0.1360769227216542,3.363923077278347,4.607479366650682,0.8925206333493147
+3.2,0.1159571027359944,3.384042897264007,4.692413936437167,0.8075860635628314
+3.4,0.09881212825762829,3.401187871742373,4.76926590758182,0.7307340924181781
+3.6,0.08420214425087885,3.415797855749123,4.838804447113438,0.66119555288656
+3.8,0.07175233420657876,3.428247665793423,4.901725523152589,0.5982744768474088
+4.,0.06114330584590366,3.438856694154098,4.958658867215573,0.5413411327844246
+4.2,0.05210288818769438,3.447897111812307,5.010174287313191,0.4898257126868089
+4.4,0.04439915241389261,3.455600847586109,5.0567873670597,0.443212632940299
+4.6,0.03783446181749676,3.462165538182505,5.09896462580555,0.4010353741944496
+4.8,0.03224040150228558,3.467759598497716,5.137128187718659,0.3628718122813405
+5.,0.02747345775762122,3.472526542242381,5.171660006544001,0.3283399934559985
+5.2,0.02341133626428153,3.476588663735721,5.202905688324249,0.2970943116757506
+5.4,0.01994982467623889,3.480050175323763,5.231177950340542,0.2688220496594566
+5.6,0.01700011908906328,3.482999880910938,5.25675975089159,0.243240249108408
+5.8,0.01448654580646368,3.485513454193538,5.279907121234975,0.2200928787650224
+6.,0.01234461995770933,3.487655380042292,5.300851728033662,0.1991482719663356
+6.2,0.01051939116045611,3.489480608839545,5.319803191953524,0.1801968080464738
+6.4,0.008964033787548441,3.491035966212453,5.33695118561718,0.1630488143828177
+6.6,0.007638645671591817,3.49236135432841,5.352467331911159,0.1475326680888382
+6.8,0.006509224428486803,3.493490775571515,5.36650692164528,0.1334930783547183
+7.,0.005546795137865259,3.494453204862136,5.379210467755143,0.1207895322448543
+7.2,0.004726667001376399,3.495273332998625,5.390705111602736,0.1092948883972611
+7.4,0.004027799908650945,3.49597220009135,5.401105895449839,0.09889410455015876
+7.6,0.003432264660413774,3.496567735339587,5.410516913839596,0.08948308616040121
+7.8,0.002924783000956471,3.497075216999044,5.419032355409657,0.08096764459033892
+8.,0.002492335659662077,3.497507664340338,5.426737445563696,0.07326255443630061
+8.2,0.002123828346022607,3.497876171653978,5.433709299435873,0.06629070056412371
+8.4,0.001809807129366484,3.498190192870634,5.440017693685016,0.05998230631498079
+8.6,0.0015422159014605,3.49845778409854,5.445725764842869,0.0542742351571278
+8.8,0.001314189699772393,3.498685810300228,5.450890641205727,0.04910935879427115
+9.,0.001119878589173003,3.498880121410828,5.455564014593625,0.04443598540637205
+9.2,0.0009542975838230948,3.499045702416178,5.459792657699468,0.04020734230052938
+9.4,0.0008131987590419198,3.499186801240959,5.463618892205858,0.03638110779413884
+9.6,0.0006929622722310038,3.49930703772777,5.467081012354738,0.03291898764525842
+9.8,0.0005905034970318516,3.499409496502969,5.470213668209045,0.02978633179095258
+10.,0.0005031939418563934,3.499496806058144,5.473048212003638,0.0269517879963613
diff --git a/models/sbml-test-suite/cases/semantic/00735/00735-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00735/00735-sbml-l2v4.xml
new file mode 100644
index 0000000..ca1eede
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00735/00735-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00735" id="case00735" name="case00735">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k1" value="0.8"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00735/00735-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00735/00735-sbml-l3v1.xml
new file mode 100644
index 0000000..98d8e19
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00735/00735-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00735" id="case00735" name="case00735" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k1" value="0.8"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00735/00735-settings.txt b/models/sbml-test-suite/cases/semantic/00735/00735-settings.txt
new file mode 100644
index 0000000..76bab9a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00735/00735-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00736/00736-results.csv b/models/sbml-test-suite/cases/semantic/00736/00736-results.csv
new file mode 100644
index 0000000..6366d99
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00736/00736-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.1,1.384674519568675,2.115325480431324,1.537499999999999,3.987499999999999
+0.2,1.278215683424738,2.221784316575261,1.574999999999998,3.974999999999999
+0.3,1.179941791590752,2.320058208409247,1.612499999999998,3.9625
+0.4,1.089223552557793,2.410776447442206,1.649999999999998,3.949999999999999
+0.5,1.005480066908547,2.494519933091452,1.687499999999997,3.937499999999999
+0.6,0.9281750873066939,2.571824912693305,1.724999999999997,3.924999999999998
+0.7,0.85681359484612,2.643186405153878,1.762499999999998,3.912499999999998
+0.8,0.7909386202824565,2.709061379717542,1.799999999999997,3.899999999999998
+0.9,0.7301283836597248,2.769871616340274,1.837499999999997,3.887499999999998
+1.,0.6739934325157996,2.8260065674842,1.874999999999997,3.874999999999998
+1.1,0.6221743675030188,2.87782563249698,1.912499999999997,3.862499999999998
+1.2,0.5743393172638589,2.92566068273614,1.949999999999997,3.849999999999998
+1.3,0.5301820193095784,2.969817980690421,1.987499999999997,3.837499999999998
+1.4,0.4894196864212284,2.010580281210693,2.024999999999998,3.824999999999998
+1.5,0.4517913127996957,2.048208654832227,2.062499999999998,3.812499999999998
+1.6,0.4170559459999022,2.082944021632021,2.099999999999998,3.799999999999998
+1.7,0.3849911599446783,2.115008807687245,2.137499999999999,3.787499999999999
+1.8,0.3553916340331037,2.14460833359882,2.174999999999999,3.774999999999999
+1.9,0.3280678258126887,2.171932141819235,2.212499999999999,3.7625
+2.,0.3028447729679406,2.197155194663983,2.249999999999999,3.75
+2.1,0.2795609563270379,2.220439011304885,2.287499999999999,3.7375
+2.2,0.2580672915079926,2.24193267612393,2.324999999999999,3.725
+2.3,0.2382261323229335,2.261773835308989,2.362499999999998,3.7125
+2.4,0.219910439886051,2.280089527745872,2.399999999999999,3.700000000000001
+2.5,0.2030029188452101,2.296997048786712,2.437499999999999,3.6875
+2.6,0.1873953157024155,2.312604651929507,2.474999999999999,3.675000000000001
+2.7,0.1729876534713487,2.327012314160574,2.512499999999999,3.662500000000001
+2.8,0.1596877547734601,2.340312212858462,2.549999999999999,3.650000000000002
+2.9,0.1474103766961882,2.352589590935734,2.587499999999999,3.637500000000002
+3.,0.1360769283596526,2.36392303927227,2.625,3.625
+3.1,0.1256148363538883,2.374385131278034,2.662500000000001,3.6125
+3.2,0.1159571087158761,2.384042858916047,2.700000000000001,3.600000000000001
+3.3,0.1070419025026812,2.392958065129242,2.737500000000001,3.587500000000001
+3.4,0.09881212995159589,2.401187837680327,2.775000000000002,3.575000000000001
+3.5,0.09121509269015019,2.408784874941773,2.812500000000002,3.562500000000001
+3.6,0.08420214094352607,2.415797826688397,2.850000000000002,3.550000000000001
+3.7,0.07772837442694662,2.422271593204976,2.887500000000002,3.537500000000001
+3.8,0.07175233222779682,2.428247635404126,2.925000000000002,3.525000000000002
+3.9,0.06623575035941475,2.433764217272508,2.962500000000002,3.512500000000002
+4.,0.06114330521571756,2.438856662416206,3.000000000000003,3.500000000000002
+4.1,0.05644238127742001,2.443557586354503,3.037500000000003,3.487500000000002
+4.2,0.05210288421550147,2.447897083416422,3.075000000000002,3.475000000000002
+4.3,0.04809702421331266,2.45190294341861,3.112500000000002,3.462500000000003
+4.4,0.0443991499127544,2.455600817719169,3.150000000000003,3.450000000000002
+4.5,0.04098558197603906,2.459014385655884,3.187500000000003,3.437500000000003
+4.6,0.03783446151389503,2.462165506118028,3.225000000000002,3.425000000000003
+4.7,0.03492561016060027,2.465074357471323,3.262500000000002,3.412500000000003
+4.8,0.0322404012227347,2.467759566409188,3.300000000000002,3.400000000000003
+4.9,0.02976164142729454,2.470238326204628,3.337500000000003,3.387500000000004
+5.,0.02747345802486591,2.472526509607057,3.375000000000002,3.375000000000004
diff --git a/models/sbml-test-suite/cases/semantic/00736/00736-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00736/00736-sbml-l2v4.xml
new file mode 100644
index 0000000..9d47b81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00736/00736-sbml-l2v4.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00736" id="case00736" name="case00736">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k1" value="0.8"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00736/00736-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00736/00736-sbml-l3v1.xml
new file mode 100644
index 0000000..ea30545
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00736/00736-sbml-l3v1.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00736" id="case00736" name="case00736" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k1" value="0.8"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00736/00736-settings.txt b/models/sbml-test-suite/cases/semantic/00736/00736-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00736/00736-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00737/00737-results.csv b/models/sbml-test-suite/cases/semantic/00737/00737-results.csv
new file mode 100644
index 0000000..6f19b81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00737/00737-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.1,1.384674519568675,2.115325480431324,1.537499999999999,3.987499999999999
+0.2,1.278215683424738,2.221784316575261,1.574999999999998,3.974999999999999
+0.3,1.179941791590752,2.320058208409247,1.612499999999998,3.9625
+0.4,1.089223552557793,2.410776447442206,1.649999999999998,3.949999999999999
+0.5,1.005480066908547,2.494519933091452,1.687499999999997,3.937499999999999
+0.6,0.9281750873066939,2.571824912693305,1.724999999999997,3.924999999999998
+0.7,0.85681359484612,2.643186405153878,1.762499999999998,3.912499999999998
+0.8,0.7909386202824565,2.709061379717542,1.799999999999997,3.899999999999998
+0.9,0.7301283836597248,2.769871616340274,1.837499999999997,3.887499999999998
+1.,0.6739934325157996,2.8260065674842,1.874999999999997,3.874999999999998
+1.1,0.6221743675030188,2.87782563249698,1.912499999999997,3.862499999999998
+1.2,0.5743393172638589,2.92566068273614,1.949999999999997,3.849999999999998
+1.3,0.5301820193095784,2.969817980690421,1.987499999999997,3.837499999999998
+1.4,0.4894196864212213,3.010580313578777,2.024999999999998,3.824999999999997
+1.5,0.4517913127996335,3.048208687200366,2.062499999999998,3.812499999999996
+1.6,0.4170559459995956,3.082944054000404,2.099999999999998,3.799999999999996
+1.7,0.38499115994758,3.11500884005242,2.137499999999998,3.787499999999997
+1.8,0.3553916340336084,3.144608365966392,2.174999999999997,3.774999999999997
+1.9,0.3280678258100582,3.171932174189942,2.212499999999997,3.762499999999997
+2.,0.3028447729685698,3.197155227031431,2.249999999999996,3.749999999999997
+2.1,0.2795609563251553,3.220439043674845,2.287499999999997,3.737499999999997
+2.2,0.2580672915615536,3.241932708438447,2.324999999999997,3.724999999999997
+2.3,0.2382261322940733,3.261773867705928,2.362499999999997,3.712499999999996
+2.4,0.2199104407085936,2.004754016599346,2.399999999999995,3.699999999999998
+2.5,0.2030029225685476,2.021661534739392,2.437499999999994,3.687499999999996
+2.6,0.1873953161868015,2.037269141121138,2.474999999999995,3.674999999999997
+2.7,0.1729876790856587,2.05167677822228,2.512499999999995,3.662499999999997
+2.8,0.1596877547692275,2.064976702538712,2.549999999999995,3.649999999999998
+2.9,0.1474103763250196,2.07725408098292,2.587499999999995,3.637499999999998
+3.,0.1360769281220445,2.088587529185895,2.624999999999996,3.624999999999998
+3.1,0.1256148349031072,2.099049622404832,2.662499999999996,3.612499999999998
+3.2,0.1159571087669636,2.108707348540976,2.699999999999996,3.599999999999997
+3.3,0.1070419012535679,2.117622556054372,2.737499999999996,3.587499999999997
+3.4,0.09881213015308631,2.125852327154853,2.774999999999996,3.574999999999997
+3.5,0.09121509123057226,2.133449366077367,2.812499999999996,3.562499999999996
+3.6,0.08420214308492414,2.140462314223016,2.849999999999997,3.549999999999996
+3.7,0.07772836317232866,2.146936094135611,2.887499999999997,3.537499999999997
+3.8,0.07175233343178801,2.152912123876153,2.924999999999998,3.524999999999996
+3.9,0.06623575185861559,2.158428705449325,2.962499999999997,3.512499999999996
+4.,0.06114330525856717,2.163521152049373,2.999999999999997,3.499999999999995
+4.1,0.0564423842836159,2.168222073024325,3.037499999999997,3.487499999999994
+4.2,0.05210288753492887,2.172561569773012,3.074999999999998,3.474999999999994
+4.3,0.04809702716276118,2.176567430145179,3.112499999999998,3.462499999999994
+4.4,0.04439915198269463,2.180265305325246,3.149999999999998,3.449999999999994
+4.5,0.04098558316179932,2.183678874146141,3.187499999999997,3.437499999999994
+4.6,0.03783446077021806,2.186829996537723,3.224999999999997,3.424999999999994
+4.7,0.03492560983779986,2.189738847470141,3.262499999999998,3.412499999999994
+4.8,0.03224040123583423,2.192424056072106,3.299999999999998,3.399999999999995
+4.9,0.02976164101102003,2.194902816296921,3.337499999999998,3.387499999999994
+5.,0.02747345802364725,2.197190999284294,3.374999999999997,3.374999999999994
diff --git a/models/sbml-test-suite/cases/semantic/00737/00737-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00737/00737-sbml-l2v4.xml
new file mode 100644
index 0000000..bd91de7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00737/00737-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00737" id="case00737" name="case00737">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k1" value="0.8"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00737/00737-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00737/00737-sbml-l3v1.xml
new file mode 100644
index 0000000..ff4b3bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00737/00737-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00737" id="case00737" name="case00737" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k1" value="0.8"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00737/00737-settings.txt b/models/sbml-test-suite/cases/semantic/00737/00737-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00737/00737-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00738/00738-results.csv b/models/sbml-test-suite/cases/semantic/00738/00738-results.csv
new file mode 100644
index 0000000..ae62536
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00738/00738-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.02,0.01499999999999999,0.01499999999999999
+0.1,0.008687642471119198,0.01868764247111917,0.0163123575288808,0.01401573185333938
+0.2,0.007622194212905388,0.01762219421290536,0.01737780578709461,0.01321664565967902
+0.3,0.006743133922916603,0.01674313392291657,0.01825686607708339,0.01255735044218743
+0.4,0.006008151049684096,0.01600815104968406,0.0189918489503159,0.01200611328726305
+0.5,0.005386771793229177,0.01538677179322914,0.01961322820677083,0.01154007884492185
+0.6,0.004856487758978474,0.01485648775897844,0.02014351224102153,0.01114236581923383
+0.7,0.004400310950626887,0.01440031095062685,0.02059968904937312,0.01080023321297013
+0.8,0.0040051775445472,0.01400517754454716,0.02099482245545281,0.01050388315841037
+0.9,0.003660875665957436,0.0136608756659574,0.02133912433404257,0.01024565674946805
+1.,0.003359306603051705,0.01335930660305167,0.0216406933969483,0.01001947995228875
+1.1,0.003093964776178308,0.01309396477617827,0.02190603522382169,0.009820473582133707
+1.2,0.002859564024139749,0.01285956402413971,0.02214043597586026,0.009644673018104787
+1.3,0.002651764797240308,0.01265176479724027,0.02234823520275969,0.009488823597930207
+1.4,0.002466971421821252,0.01246697142182121,0.02253302857817874,0.009350228566365914
+1.5,0.002302179463488251,0.01230217946348822,0.02269782053651175,0.009226634597616165
+1.6,0.002154859397092874,0.01215485939709284,0.02284514060290712,0.009116144547819631
+1.7,0.002022866729452174,0.01202286672945214,0.02297713327054782,0.009017150047089108
+1.8,0.001904371869900642,0.01190437186990061,0.02309562813009935,0.00892827890242546
+1.9,0.001797804840198176,0.01179780484019814,0.02320219515980182,0.00884835363014861
+2.,0.001701811311868409,0.01170181131186838,0.02329818868813158,0.008776358483901285
+2.1,0.001615217354959804,0.01161521735495977,0.02338478264504019,0.008711413016219832
+2.2,0.001537000840190411,0.01153700084019038,0.02346299915980958,0.008652750630142785
+2.3,0.001466268197453907,0.01146626819745387,0.02353373180254609,0.008599701148090409
+2.4,0.001402235333223243,0.01140223533322321,0.02359776466677676,0.00855167649991741
+2.5,0.001344211841314926,0.01134421184131489,0.02365578815868507,0.008508158880986172
+2.6,0.001291587906807235,0.0112915879068072,0.02370841209319276,0.008468690930105405
+2.7,0.001243823289186616,0.01124382328918658,0.02375617671081338,0.00843286746688994
+2.8,0.001200438149169165,0.01120043814916913,0.02379956185083084,0.008400328611876853
+2.9,0.001161005246084345,0.01116100524608431,0.02383899475391565,0.008370753934563237
+3.,0.001125143307873003,0.01112514330787297,0.023874856692127,0.00834385748090473
+3.1,0.00109251137993585,0.01109251137993582,0.02390748862006415,0.008319383534951867
+3.2,0.001062803978922564,0.01106280397892253,0.02393719602107744,0.008297102984191902
+3.3,0.001035746923639789,0.01103574692363976,0.02396425307636021,0.00827681019272982
+3.4,0.00101109376550008,0.01101109376550005,0.02398890623449992,0.008258320324125038
+3.5,0.000988622580860345,0.01098862258086031,0.02401137741913966,0.008241466935645237
+3.6,0.0009681333569584337,0.0109681333569584,0.02403186664304157,0.008226100017718803
+3.7,0.0009494455197012325,0.0109494455197012,0.02405055448029877,0.008212084139775902
+3.8,0.0009323959214139026,0.01093239592141387,0.0240676040785861,0.008199296941060405
+3.9,0.0009168369448203161,0.01091683694482028,0.02408316305517968,0.008187627708615214
+4.,0.0009026349731443175,0.01090263497314428,0.02409736502685568,0.008176976229858214
+4.1,0.0008896688638782745,0.01088966886387824,0.02411033113612173,0.008167251647908683
+4.2,0.0008778287773239948,0.01087782877732396,0.02412217122267601,0.008158371582992974
+4.3,0.000867015006323981,0.01086701500632394,0.02413298499367602,0.008150261254742961
+4.4,0.0008571369660229536,0.01085713696602292,0.02414286303397705,0.008142852724517191
+4.5,0.0008481123663702526,0.01084811236637022,0.02415188763362975,0.008136084274777665
+4.6,0.0008398663517825943,0.01083986635178256,0.02416013364821741,0.008129899763836922
+4.7,0.0008323308141165227,0.01083233081411649,0.02416766918588348,0.008124248110587369
+4.8,0.0008254437539669791,0.01082544375396695,0.02417455624603302,0.008119082815475213
+4.9,0.0008191487198948513,0.01081914871989482,0.02418085128010515,0.008114361539921115
+5.,0.0008133942777892286,0.01081339427778919,0.02418660572221077,0.008110045708341898
diff --git a/models/sbml-test-suite/cases/semantic/00738/00738-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00738/00738-sbml-l2v4.xml
new file mode 100644
index 0000000..8c3720b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00738/00738-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00738" id="case00738" name="case00738">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.86" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="0.025"/>
+      <parameter id="p1" name="p1" value="0.75"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00738/00738-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00738/00738-sbml-l3v1.xml
new file mode 100644
index 0000000..82050d6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00738/00738-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00738" id="case00738" name="case00738" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.86" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+      <parameter id="p1" name="p1" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00738/00738-settings.txt b/models/sbml-test-suite/cases/semantic/00738/00738-settings.txt
new file mode 100644
index 0000000..9c91df8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00738/00738-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00739/00739-results.csv b/models/sbml-test-suite/cases/semantic/00739/00739-results.csv
new file mode 100644
index 0000000..47716b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00739/00739-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4,S5
+0,1.,0,0,0,0
+0.5,0.9512294245006134,0.001293934454167423,0.04747664104521912,0.01356475458434832,0.03391188646087079
+1.,0.9048374180357461,0.005001228332896835,0.09016135363135738,0.02576038675181639,0.06440096687954098
+1.5,0.860707976425013,0.01087500390749107,0.1284170196674959,0.03669057704785597,0.09172644261963994
+2.,0.8187307530774288,0.01868716190399291,0.1625820850185782,0.04645202429102234,0.1161300607275558
+2.5,0.7788007830713512,0.02822711420886641,0.1929721027197821,0.05513488649136631,0.1378372162284157
+3.,0.7408182206806615,0.03930059668094345,0.2198811826383944,0.06282319503954127,0.1570579875988531
+3.5,0.704688089717637,0.05172855728982946,0.2435833529925327,0.06959524371215219,0.1739881092803804
+4.,0.6703200460355586,0.06534611490014927,0.2643338390642914,0.07552395401836899,0.1888098850459224
+4.5,0.6376281516217415,0.08000158447237043,0.2823702639058875,0.08067721825882501,0.2016930456470625
+5.,0.6065306597127213,0.09555556461484063,0.2979137756724378,0.08511822162069651,0.2127955540517412
+5.5,0.5769498103804129,0.1118800836351149,0.3111701059844719,0.08890574456699197,0.2222643614174799
+6.,0.5488116360933006,0.1288578005490853,0.3223305633576139,0.09209444667360397,0.2302361166840099
+6.5,0.5220457767599973,0.1463812576560076,0.331572965583995,0.09473513302399858,0.2368378325599964
+7.,0.4965853037889126,0.1643521814974195,0.3390625147136676,0.09687500420390504,0.2421875105097625
+7.5,0.4723665527407524,0.1826808292600238,0.3449526179992235,0.09855789085692101,0.2463947271423025
+8.,0.449328964116588,0.2012853777183802,0.3493856581650315,0.09982447376143759,0.2495611844035939
+8.5,0.427414931947896,0.2200913522430696,0.3524937158090341,0.1007124902311526,0.2517812255778814
+9.,0.4065696597395032,0.23903109321615,0.3543992470443466,0.1012569277269561,0.2531423193173904
+9.5,0.3867410234520293,0.2580432576416678,0.3552157189063028,0.1014902054018008,0.253725513504502
+10.,0.3678794411720302,0.2770723537337901,0.3550482050941795,0.1014423443126227,0.2536058607815567
+10.5,0.3499377491079843,0.2960683063445115,0.3539939445475042,0.1011411270135726,0.2528528175339315
+11.,0.3328710836951535,0.3149860514998563,0.3521428648049903,0.10061224708714,0.2515306177178502
+11.5,0.3166367693763559,0.3337851579238264,0.3495780726998181,0.09987944934280516,0.2496986233570129
+12.,0.3011942119097186,0.3524294741282557,0.3463763139620261,0.09896466113200747,0.2474116528300186
+12.5,0.2865047968579064,0.370886799291357,0.342608403850737,0.09788811538592485,0.2447202884648121
+13.,0.2725317930319154,0.3891285764756366,0.3383396304924483,0.09666846585498523,0.241671164637463
+13.5,0.2592402606439686,0.4071296067597053,0.3336301325963265,0.09532289502752185,0.2383072375688046
+14.,0.2465969639398461,0.4248677829535424,0.3285352531066118,0.09386721517331767,0.2346680379332941
+14.5,0.2345702880921889,0.4423238416478441,0.3231058702599674,0.09231596293141924,0.2307899073285481
+15.,0.2231301601469624,0.4594811324243731,0.3173887074286648,0.09068248783676138,0.2267062195919034
+15.5,0.2122479738254074,0.4763254031259852,0.3114266230486079,0.08897903515674512,0.2224475878918628
+16.,0.2018965179944667,0.4928446001540375,0.3052588818514963,0.08721682338614179,0.2180420584653544
+16.5,0.192049908618935,0.5090286828112924,0.298921408569773,0.08540611673422085,0.2135152918355521
+17.,0.1826835240535887,0.5248694508205561,0.2924470251258559,0.08355629289310168,0.2088907322327542
+17.5,0.1737739434485792,0.5403603840730234,0.2858656724783981,0.08167590642239945,0.2041897660559986
+18.,0.1652988882228868,0.555496493954798,0.279204617822316,0.07977274794923315,0.1994318698730828
+18.5,0.1572371663121033,0.5702741853016902,0.2724886483862074,0.0778538995389164,0.1946347488472909
+19.,0.1495686192236925,0.5846911285010923,0.265740252275216,0.07592578636434743,0.1898144659108685
+19.5,0.1422740715856125,0.5987461408521058,0.2589797875622822,0.07399422501779494,0.1849855625444873
+20.,0.1353352832371171,0.6124390767740789,0.2522256399888044,0.07206446856822983,0.1801611714205745
+20.5,0.1287349035876601,0.6257707261040576,0.2454943703082827,0.07014124865950936,0.1753531216487734
+21.,0.1224564282529538,0.6387427200745927,0.2388008516724536,0.06822881476355818,0.1705720369088954
+21.5,0.1164841577740804,0.6513574443695834,0.2321583978563361,0.06633097081609605,0.1658274270402401
+22.,0.1108031583619627,0.6636179588275085,0.225578882810529,0.06445110937443686,0.1611277734360921
+22.5,0.1053992245629863,0.6755279233342969,0.2190728521027169,0.06259224345791912,0.1564806086447977
+23.,0.1002588437223364,0.6870915294635923,0.2126496268140713,0.0607570362325918,0.1518925905814795
+23.5,0.09536916221527637,0.6983134375155878,0.206317400269136,0.05894782864832456,0.1473695716208114
+24.,0.09071795328892239,0.709198718532457,0.2000833281786207,0.05716666519389164,0.1429166629847291
+24.5,0.08629358649873429,0.7197528009918237,0.1939536125094422,0.05541531785984063,0.1385382946496015
+25.,0.08208499862525911,0.7299814218284346,0.1879335795463065,0.05369530844180187,0.1342382711045046
diff --git a/models/sbml-test-suite/cases/semantic/00739/00739-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00739/00739-sbml-l2v4.xml
new file mode 100644
index 0000000..f96c782
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00739/00739-sbml-l2v4.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00739" id="case00739" name="case00739">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="func1" name="func1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <apply>
+                  <plus/>
+                  <ci> y </ci>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S5" name="S5" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.15"/>
+      <parameter id="p1" name="p1" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> func1 </ci>
+            <ci> S3 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="rule2" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> S4 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00739/00739-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00739/00739-sbml-l3v1.xml
new file mode 100644
index 0000000..01bf9ee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00739/00739-sbml-l3v1.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00739" id="case00739" name="case00739" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="func1" name="func1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <apply>
+                  <plus/>
+                  <ci> y </ci>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S5" name="S5" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.15" constant="true"/>
+      <parameter id="p1" name="p1" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> func1 </ci>
+            <ci> S3 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule metaid="rule2" variable="S5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> S4 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S5"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S5 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00739/00739-settings.txt b/models/sbml-test-suite/cases/semantic/00739/00739-settings.txt
new file mode 100644
index 0000000..c0e9c62
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00739/00739-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: S1, S2, S3, S4, S5
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4, S5
diff --git a/models/sbml-test-suite/cases/semantic/00740/00740-results.csv b/models/sbml-test-suite/cases/semantic/00740/00740-results.csv
new file mode 100644
index 0000000..49e9300
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00740/00740-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.1,0.001353867224676965,0.0001461327753230338
+0.2,0.001215876369804267,0.0002841236301957318
+0.3,0.001086503900236496,0.0004134960997635034
+0.4,0.0009660546317557918,0.0005339453682442079
+0.5,0.0008546742404338997,0.0006453257595661001
+0.6,0.0007523641084101306,0.0007476358915898691
+0.7,0.0006589979286184707,0.000841002071381529
+0.8,0.0005743393292466183,0.0009256606707533814
+0.9,0.0004980599214596593,0.00100194007854034
+1.,0.0004297571956815508,0.001070242804318449
+1.1,0.0003689718636910355,0.001131028136308964
+1.2,0.0003152041076367951,0.001184795892363204
+1.3,0.0002679285626598892,0.00123207143734011
+1.4,0.0002266077130146087,0.00127339228698539
+1.5,0.0001907035992550029,0.001309296400744997
+1.6,0.000159687754750825,0.001340312245249174
+1.7,0.0001330493834772558,0.001366950616522744
+1.8,0.0001103018135414316,0.001389698186458568
+1.9,0.0000909873410121034,0.001409012658987896
+2.,0.0000746806000865098,0.001425319399913489
+2.1,0.00006099063608726101,0.001439009363912738
+2.2,0.0000495618005572642,0.001450438199442735
+2.3,0.00004007370236136669,0.001459926297638632
+2.4,0.00003224039830878176,0.001467759601691217
+2.5,0.00002580892223446954,0.001474191077765529
+2.6,0.00002055738581272958,0.001479442614187269
+2.7,0.00001629275199913792,0.001483707248000861
+2.8,0.00001284841409444302,0.001487151585905556
+2.9,0.0000100816843201077,0.001489918315679892
+3.,7.871276516899848e-6,0.001492128723483099
+3.1,6.114850847121431e-6,0.001493885149152877
+3.2,4.726666498891577e-6,0.001495273333501108
+3.3,3.635404489772125e-6,0.001496364595510227
+3.4,2.782139487773103e-6,0.001497217860512226
+3.5,2.118525401329035e-6,0.00149788147459867
+3.6,1.605155060174041e-6,0.001498394844939825
+3.7,1.210120847774995e-6,0.001498789879152224
+3.8,9.077558797932357e-7,0.001499092244120206
+3.9,6.775447074646197e-7,0.001499322455292535
+4.,5.03193924124283e-7,0.001499496806075875
+4.1,3.718444612618869e-7,0.001499628155538737
+4.2,2.734108597257099e-7,0.001499726589140273
+4.3,2.000316562277948e-7,0.001499799968343771
+4.4,1.456163755397042e-7,0.00149985438362446
+4.5,1.054751617179663e-7,0.001499894524838281
+4.6,7.601840248557103e-8,0.001499923981597514
+4.7,5.451498200577793e-8,0.001499945485017994
+4.8,3.889927599074421e-8,0.001499961100724009
+4.9,2.761821308108123e-8,0.001499972381786918
+5.,1.951094648102687e-8,0.001499980489053518
diff --git a/models/sbml-test-suite/cases/semantic/00740/00740-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00740/00740-sbml-l2v4.xml
new file mode 100644
index 0000000..a400c49
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00740/00740-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00740" id="case00740" name="case00740">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+      <parameter id="k3" name="k3" value="0.3"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> k2 </ci>
+            <ci> k3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00740/00740-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00740/00740-sbml-l3v1.xml
new file mode 100644
index 0000000..8ec6ea3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00740/00740-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00740" id="case00740" name="case00740" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+      <parameter id="k3" name="k3" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> k2 </ci>
+            <ci> k3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00740/00740-settings.txt b/models/sbml-test-suite/cases/semantic/00740/00740-settings.txt
new file mode 100644
index 0000000..8ed3e6c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00740/00740-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00741/00741-results.csv b/models/sbml-test-suite/cases/semantic/00741/00741-results.csv
new file mode 100644
index 0000000..9583e54
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00741/00741-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1e-6,1.5e-6,2e-6,5e-7
+0.1,8.913598845430039e-7,1.391359884543004e-6,2.108640115456994e-6,6.086401154569954e-7
+0.2,8.0290750294857e-7,1.30290750294857e-6,2.197092497051429e-6,6.970924970514293e-7
+0.3,7.310519893008178e-7,1.231051989300817e-6,2.268948010699181e-6,7.689480106991815e-7
+0.4,6.726218868923297e-7,1.172621886892329e-6,2.32737811310767e-6,8.273781131076696e-7
+0.5,6.249295661364737e-7,1.124929566136473e-6,2.375070433863526e-6,8.750704338635256e-7
+0.6,5.857576268556859e-7,1.085757626855685e-6,2.414242373144314e-6,9.142423731443134e-7
+0.7,5.533105505822498e-7,1.053310550582249e-6,2.446689449417749e-6,9.466894494177495e-7
+0.8,5.261543916848698e-7,1.026154391684869e-6,2.473845608315129e-6,9.738456083151294e-7
+0.9,5.031563680998552e-7,1.003156368099855e-6,2.496843631900144e-6,9.968436319001439e-7
+1.,4.834294161490681e-7,9.834294161490682e-7,2.51657058385093e-6,1.016570583850931e-6
+1.1,4.662838521046497e-7,9.662838521046501e-7,2.533716147895349e-6,1.033716147895349e-6
+1.2,4.511864899300059e-7,9.51186489930006e-7,2.548813510069992e-6,1.048813510069993e-6
+1.3,4.377268278439896e-7,9.377268278439898e-7,2.562273172156008e-6,1.062273172156009e-6
+1.4,4.255895723008926e-7,9.255895723008929e-7,2.574410427699105e-6,1.074410427699106e-6
+1.5,4.145326684724767e-7,9.14532668472477e-7,2.585467331527521e-6,1.085467331527522e-6
+1.6,4.043699577423403e-7,9.043699577423404e-7,2.595630042257658e-6,1.095630042257658e-6
+1.7,3.949576788712011e-7,8.949576788712013e-7,2.605042321128797e-6,1.105042321128797e-6
+1.8,3.861840802553483e-7,8.861840802553486e-7,2.61381591974465e-6,1.11381591974465e-6
+1.9,3.779615091719199e-7,8.7796150917192e-7,2.622038490828078e-6,1.122038490828078e-6
+2.,3.702204451128963e-7,8.702204451128963e-7,2.629779554887101e-6,1.129779554887102e-6
+2.1,3.629050352587306e-7,8.629050352587308e-7,2.637094964741267e-6,1.137094964741268e-6
+2.2,3.55969774469238e-7,8.559697744692381e-7,2.644030225530759e-6,1.14403022553076e-6
+2.3,3.493770459809726e-7,8.493770459809728e-7,2.650622954019024e-6,1.150622954019025e-6
+2.4,3.430953038473683e-7,8.430953038473685e-7,2.656904696152629e-6,1.15690469615263e-6
+2.5,3.370977291890725e-7,8.370977291890728e-7,2.662902270810925e-6,1.162902270810926e-6
+2.6,3.313612329356798e-7,8.313612329356802e-7,2.668638767064318e-6,1.168638767064318e-6
+2.7,3.258657118426745e-7,8.258657118426751e-7,2.674134288157324e-6,1.174134288157323e-6
+2.8,3.205934887522376e-7,8.205934887522381e-7,2.67940651124776e-6,1.179406511247761e-6
+2.9,3.155288868974504e-7,8.155288868974511e-7,2.684471113102548e-6,1.184471113102547e-6
+3.,3.106579018501708e-7,8.106579018501715e-7,2.689342098149827e-6,1.189342098149827e-6
+3.1,3.059679450089837e-7,8.059679450089845e-7,2.694032054991014e-6,1.194032054991014e-6
+3.2,3.014476404316694e-7,8.014476404316702e-7,2.698552359568329e-6,1.198552359568329e-6
+3.3,2.970866608462521e-7,7.97086660846253e-7,2.702913339153746e-6,1.202913339153746e-6
+3.4,2.928755938163522e-7,7.928755938163531e-7,2.707124406183646e-6,1.207124406183645e-6
+3.5,2.888058308875361e-7,7.88805830887537e-7,2.711194169112462e-6,1.211194169112461e-6
+3.6,2.848694746320543e-7,7.848694746320552e-7,2.715130525367944e-6,1.215130525367943e-6
+3.7,2.810592598631652e-7,7.810592598631662e-7,2.718940740136833e-6,1.218940740136833e-6
+3.8,2.773684862731247e-7,7.773684862731257e-7,2.722631513726873e-6,1.222631513726873e-6
+3.9,2.737909603334942e-7,7.737909603334953e-7,2.726209039666503e-6,1.226209039666504e-6
+4.,2.703209446601296e-7,7.703209446601307e-7,2.729679055339868e-6,1.229679055339868e-6
+4.1,2.669531141933102e-7,7.669531141933114e-7,2.733046885806687e-6,1.233046885806687e-6
+4.2,2.636825171347413e-7,7.636825171347425e-7,2.736317482865256e-6,1.236317482865257e-6
+4.3,2.605045410949545e-7,7.605045410949557e-7,2.739495458905044e-6,1.239495458905044e-6
+4.4,2.574148825402609e-7,7.574148825402621e-7,2.742585117459737e-6,1.242585117459737e-6
+4.5,2.544095200756717e-7,7.544095200756728e-7,2.745590479924326e-6,1.245590479924326e-6
+4.6,2.514846903360451e-7,7.514846903360462e-7,2.748515309663953e-6,1.248515309663953e-6
+4.7,2.486368664881268e-7,7.486368664881277e-7,2.751363133511871e-6,1.251363133511871e-6
+4.8,2.458627390310751e-7,7.458627390310761e-7,2.754137260968922e-6,1.254137260968922e-6
+4.9,2.431591983983089e-7,7.431591983983099e-7,2.756840801601688e-6,1.256840801601689e-6
+5.,2.405233193261109e-7,7.405233193261119e-7,2.759476680673886e-6,1.259476680673887e-6
diff --git a/models/sbml-test-suite/cases/semantic/00741/00741-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00741/00741-sbml-l2v4.xml
new file mode 100644
index 0000000..5b0d2c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00741/00741-sbml-l2v4.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00741" id="case00741" name="case00741">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.15" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-006" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-006" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="2e-006" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="5e-007" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000000" constant="false"/>
+      <parameter id="k2" name="k2" value="300000"/>
+      <parameter id="k3" name="k3" value="700000"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> k2 </ci>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00741/00741-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00741/00741-sbml-l3v1.xml
new file mode 100644
index 0000000..fc576ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00741/00741-sbml-l3v1.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00741" id="case00741" name="case00741" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.15" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1000000" constant="false"/>
+      <parameter id="k2" name="k2" value="300000" constant="true"/>
+      <parameter id="k3" name="k3" value="700000" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> k2 </ci>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00741/00741-settings.txt b/models/sbml-test-suite/cases/semantic/00741/00741-settings.txt
new file mode 100644
index 0000000..4d560a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00741/00741-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00742/00742-results.csv b/models/sbml-test-suite/cases/semantic/00742/00742-results.csv
new file mode 100644
index 0000000..4f4f135
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00742/00742-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.7559029788858644,1.755902978885864,1.244097021114135
+0.2,0.6007006089692439,1.600700608969244,1.399299391030755
+0.3,0.4967085607603796,1.49670856076038,1.503291439239619
+0.4,0.424530977215315,1.424530977215315,1.575469022784684
+0.5,0.3731672950947045,1.373167295094704,1.626832704905295
+0.6,0.3359247744319277,1.335924774431928,1.664075225568072
+0.7,0.3085141124527418,1.308514112452742,1.691485887547257
+0.8,0.2880771323186107,1.288077132318611,1.711922867681388
+0.9,0.2726528470968077,1.272652847096808,1.727347152903191
+1.,0.2608662683253995,1.2608662683254,1.739133731674599
+1.1,0.2517377200207208,1.251737720020722,1.748262279979278
+1.2,0.2445610376388393,1.244561037638841,1.755438962361159
+1.3,0.2388230003969118,1.238823000396913,1.761176999603086
+1.4,0.2341484897424913,1.234148489742493,1.765851510257506
+1.5,0.2302623026829462,1.230262302682948,1.769737697317052
+1.6,0.2269620736387728,1.226962073638774,1.773037926361225
+1.7,0.2240988140831707,1.224098814083172,1.775901185916827
+1.8,0.2215627752534504,1.221562775253452,1.778437224746547
+1.9,0.2192731133780532,1.219273113378055,1.780726886621944
+2.,0.2171702944048855,1.217170294404887,1.782829705595112
+2.1,0.2152104941321604,1.215210494132162,1.784789505867837
+2.2,0.2133614626350595,1.213361462635061,1.786638537364938
+2.3,0.2115994698172452,1.211599469817247,1.788400530182752
+2.4,0.2099070491685534,1.209907049168555,1.790092950831444
+2.5,0.2082713327203604,1.208271332720362,1.791728667279637
+2.6,0.2066828221195239,1.206682822119525,1.793317177880474
+2.7,0.2051344862813815,1.205134486281383,1.794865513718616
+2.8,0.2036210964829993,1.203621096483001,1.796378903516998
+2.9,0.2021387394744621,1.202138739474463,1.797861260525536
+3.,0.2006844614148816,1.200684461414883,1.799315538585116
+3.1,0.1992560069174572,1.199256006917458,1.800743993082541
+3.2,0.197851629505675,1.197851629505676,1.802148370494323
+3.3,0.1964699535849861,1.196469953584987,1.803530046415012
+3.4,0.1951098739233424,1.195109873923344,1.804890126076655
+3.5,0.1937704830983317,1.193770483098333,1.806229516901666
+3.6,0.1924510189062653,1.192451018906267,1.807548981093732
+3.7,0.1911508262739955,1.191150826273997,1.808849173726002
+3.8,0.1898693299063226,1.189869329906324,1.810130670093675
+3.9,0.1886060144790796,1.188606014479081,1.811393985520918
+4.,0.1873604103597711,1.187360410359773,1.812639589640227
+4.1,0.1861320833376944,1.186132083337696,1.813867916662303
+4.2,0.1849206271832804,1.184920627183281,1.815079372816718
+4.3,0.1837256582665455,1.183725658266547,1.816274341733452
+4.4,0.1825468116361705,1.182546811636172,1.817453188363827
+4.5,0.1813837381502833,1.181383738150285,1.818616261849714
+4.6,0.1802361023589708,1.180236102358972,1.819763897641027
+4.7,0.1791035809216868,1.179103580921689,1.820896419078311
+4.8,0.1779858614074696,1.177985861407471,1.822014138592528
+4.9,0.1768826413690458,1.176882641369047,1.823117358630952
+5.,0.1757936276141256,1.175793627614127,1.824206372385872
diff --git a/models/sbml-test-suite/cases/semantic/00742/00742-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00742/00742-sbml-l2v4.xml
new file mode 100644
index 0000000..5253b26
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00742/00742-sbml-l2v4.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00742" id="case00742" name="case00742">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.25" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+      <parameter id="k3" name="k3" value="-0.1"/>
+      <parameter id="p1" name="p1" value="1"/>
+      <parameter id="p2" name="p2" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <apply>
+                <times/>
+                <ci> k2 </ci>
+                <ci> p2 </ci>
+              </apply>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00742/00742-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00742/00742-sbml-l3v1.xml
new file mode 100644
index 0000000..2b52dd7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00742/00742-sbml-l3v1.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00742" id="case00742" name="case00742" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.25" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+      <parameter id="k3" name="k3" value="-0.1" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+      <parameter id="p2" name="p2" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <apply>
+              <ci> add </ci>
+              <apply>
+                <times/>
+                <ci> k2 </ci>
+                <ci> p2 </ci>
+              </apply>
+              <ci> k3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00742/00742-settings.txt b/models/sbml-test-suite/cases/semantic/00742/00742-settings.txt
new file mode 100644
index 0000000..4072afc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00742/00742-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00743/00743-results.csv b/models/sbml-test-suite/cases/semantic/00743/00743-results.csv
new file mode 100644
index 0000000..3ae2c0d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00743/00743-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842698627,1.889094184269861,1.110905815730138
+0.2,0.8013223155387287,1.801322315538728,1.198677684461271
+0.3,0.742845980597696,0.992846015744243,1.257154019402304
+0.4,0.7207087432884954,0.9707087784350424,1.279291256711505
+0.5,0.7016918650148393,0.9516919001613863,1.298308134985161
+0.6,0.6853086490228658,0.9353086841694128,1.314691350977135
+0.7,0.6711594889272534,0.9211595240738004,1.328840511072747
+0.8,0.6589136804242605,0.9089137155708075,1.34108631957574
+0.9,0.6482956230459937,0.8982956581925407,1.351704376954006
+1.,0.6390742218396485,0.8890742569861955,1.360925778160352
+1.1,0.6310546460013241,0.8810546811478711,1.368945353998676
+1.2,0.6240718345506773,0.8740718696972243,1.375928165449322
+1.3,0.6179853642129069,0.8679853993594539,1.382014635787093
+1.4,0.6126753138209881,0.8626753489675351,1.387324686179012
+1.5,0.6080389366965458,0.8580389718430928,1.391961063303454
+1.6,0.603987940854435,0.853987976000982,1.396012059145564
+1.7,0.6004462590623311,0.8504462942088781,1.399553740937668
+1.8,0.5973482069994995,0.8473482421460465,1.4026517930005
+1.9,0.5946369521659256,0.8446369873124726,1.405363047834074
+2.,0.5922632338927098,0.8422632690392568,1.40773676610729
+2.1,0.5901842878342396,0.8401843229807866,1.40981571216576
+2.2,0.5883629391261255,0.8383629742726725,1.411637060873874
+2.3,0.5867668344051612,0.8367668695517082,1.413233165594839
+2.4,0.5853677795310072,0.8353678146775542,1.414632220468993
+2.5,0.5841411897465006,0.8341412248930476,1.415858810253499
+2.6,0.5830656077596424,0.8330656429061894,1.416934392240357
+2.7,0.5821222873845701,0.8321223225311171,1.41787771261543
+2.8,0.5812948510041517,0.8312948861506988,1.418705148995848
+2.9,0.5805689703470299,0.8305690054935769,1.41943102965297
+3.,0.579932109969022,0.829932145115569,1.420067890030978
+3.1,0.5793733017187441,0.8293733368652911,1.420626698281256
+3.2,0.5788829375695744,0.8288829727161214,1.421117062430425
+3.3,0.5784526012556598,0.8284526364022069,1.42154739874434
+3.4,0.5780749217783121,0.8280749569248591,1.421925078221688
+3.5,0.5777434368331533,0.8277434719797003,1.422256563166846
+3.6,0.5774524806244123,0.8274525157709593,1.422547519375587
+3.7,0.5771970878343157,0.8271971229808627,1.422802912165684
+3.8,0.5769729030715342,0.8269729382180812,1.423027096928466
+3.9,0.576776105316677,0.826776140463224,1.423223894683323
+4.,0.5766033442903472,0.8266033794368942,1.423396655709652
+4.1,0.5764516805307999,0.8264517156773469,1.4235483194692
+4.2,0.5763185341489459,0.8263185692954929,1.423681465851054
+4.3,0.5762016419042428,0.8262016770507898,1.423798358095757
+4.4,0.5760990179309493,0.8260990530774963,1.42390098206905
+4.5,0.5760089192957186,0.8260089544422656,1.423991080704281
+4.6,0.5759298161835844,0.8259298513301314,1.424070183816415
+4.7,0.5758603657950115,0.8258604009415585,1.424139634204988
+4.8,0.5757993894866685,0.8257994246332155,1.424200610513332
+4.9,0.5757458529222967,0.8257458880688437,1.424254147077703
+5.,0.5756988480270898,0.8256988831736368,1.424301151972911
diff --git a/models/sbml-test-suite/cases/semantic/00743/00743-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00743/00743-sbml-l2v4.xml
new file mode 100644
index 0000000..3ec802d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00743/00743-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00743" id="case00743" name="case00743">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00743/00743-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00743/00743-sbml-l3v1.xml
new file mode 100644
index 0000000..c1c8755
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00743/00743-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00743" id="case00743" name="case00743" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00743/00743-settings.txt b/models/sbml-test-suite/cases/semantic/00743/00743-settings.txt
new file mode 100644
index 0000000..4072afc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00743/00743-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00744/00744-results.csv b/models/sbml-test-suite/cases/semantic/00744/00744-results.csv
new file mode 100644
index 0000000..3cf2a7f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00744/00744-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842698627,1.889094184269861,1.110905815730138
+0.2,0.8013223155387287,1.801322315538728,1.198677684461271
+0.3,0.7428459805977247,0.9928460157442717,1.257154019402274
+0.4,0.7207087433081061,0.9707087784546532,1.279291256691893
+0.5,0.7016918651589156,0.9516919003054626,1.298308134841083
+0.6,0.6853086495245209,0.9353086846710679,1.314691350475478
+0.7,0.6711594888826989,0.9211595240292459,1.3288405111173
+0.8,0.6589136800287777,0.9089137151753247,1.341086319971221
+0.9,0.6482956224241367,0.8982956575706837,1.351704377575862
+1.,0.6390742219160627,0.8890742570626097,1.360925778083936
+1.1,0.6310546463400699,0.8810546814866169,1.368945353659929
+1.2,0.6240718341441216,0.8740718692906686,1.375928165855878
+1.3,0.6179853637534158,0.8679853988999628,1.382014636246583
+1.4,0.6126753129415398,0.8626753480880868,1.387324687058459
+1.5,0.6080389360105835,0.8580389711571305,1.391961063989416
+1.6,0.603987940574003,0.85398797572055,1.396012059425996
+1.7,0.6004462594038289,0.8504462945503759,1.39955374059617
+1.8,0.9768271945362274,0.8268272296571034,1.423172805489442
+1.9,0.9537183558881161,0.8037183910089921,1.446281644137554
+2.,0.9339649957931409,0.7839650309140169,1.466035004232529
+2.1,0.917029554700664,0.76702958982154,1.482970445325005
+2.2,0.9024729520811519,0.7524729872020279,1.497527047944518
+2.3,0.8899335802404454,0.7399336153613214,1.510066419785224
+2.4,0.8791114800871143,0.7291115152079903,1.520888519938555
+2.5,0.8697562373273928,0.7197562724482687,1.530243762698277
+2.6,0.8616576291878655,0.7116576643087415,1.538342370837804
+2.7,0.8546383064198904,0.7046383415407664,1.545361693605779
+2.8,0.8485480050760798,0.6985480401969558,1.55145199494959
+2.9,0.8432589195188697,0.6932589546397457,1.5567410805068
+3.,0.8386619868862023,0.6886620220070782,1.561338013139467
+3.1,0.8346638637786479,0.6846638988995239,1.565336136247022
+3.2,0.8311844545670509,0.6811844896879268,1.568815545458619
+3.3,0.8281548757012525,0.6781549108221285,1.571845124324418
+3.4,0.8255157679369271,0.6755158030578031,1.574484232088743
+3.5,0.8232158922065793,0.6732159273274552,1.576784107819091
+3.6,0.8212109511591004,0.6712109862799764,1.57878904886657
+3.7,0.8194625942632338,0.6694626293841098,1.580537405762436
+3.8,0.8179375822555746,0.6679376173764506,1.582062417770095
+3.9,0.8166070796215921,0.6666071147424681,1.583392920404078
+4.,0.8154460462966776,0.6654460814175535,1.584553953728993
+4.1,0.8144327160921281,0.6644327512130041,1.585567283933542
+4.2,0.8135481679613192,0.6635482030821952,1.586451832064351
+4.3,0.8127759306417079,0.6627759657625839,1.587224069383963
+4.4,0.8121016642935381,0.6621016994144141,1.587898335732132
+4.5,0.8115128829858328,0.6615129181067087,1.588487117039838
+4.6,0.8109987005051859,0.6609987356260619,1.589001299520485
+4.7,0.810549631407674,0.6605496665285499,1.589450368617997
+4.8,0.8101574044914494,0.6601574396123254,1.589842595534221
+4.9,0.8098148028630458,0.6598148379839218,1.590185197162625
+5.,0.8095155337392692,0.6595155688601451,1.590484466286401
diff --git a/models/sbml-test-suite/cases/semantic/00744/00744-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00744/00744-sbml-l2v4.xml
new file mode 100644
index 0000000..04a721e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00744/00744-sbml-l2v4.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00744" id="case00744" name="case00744">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.43" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00744/00744-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00744/00744-sbml-l3v1.xml
new file mode 100644
index 0000000..5534199
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00744/00744-sbml-l3v1.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00744" id="case00744" name="case00744" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.43" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00744/00744-settings.txt b/models/sbml-test-suite/cases/semantic/00744/00744-settings.txt
new file mode 100644
index 0000000..4072afc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00744/00744-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00745/00745-results.csv b/models/sbml-test-suite/cases/semantic/00745/00745-results.csv
new file mode 100644
index 0000000..a669db3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00745/00745-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842704108,1.889094184270411,1.110905815729588
+0.2,0.8013223155404307,1.80132231554043,1.198677684459569
+0.3,0.7309282008940095,1.730928200894009,1.26907179910599
+0.4,0.6738662218375924,1.673866221837592,1.326133778162407
+0.5,0.9616971185195762,1.461697118519576,1.388302892805217
+0.6,0.8977064088923393,1.397706408892338,1.452293602432455
+0.7,0.8451810532291104,1.34518105322911,1.504818958095683
+0.8,0.8017231519986202,1.301723151998619,1.548276859326174
+0.9,0.7655306168825465,1.265530616882545,1.584469394442248
+1.,0.7352236861864758,1.235223686186475,1.614776325138318
+1.1,0.7097289304839893,1.209728930483988,1.640271080840805
+1.2,0.6881996400158382,1.188199640015837,1.661800371308956
+1.3,0.6699599064336176,1.169959906433616,1.680040104891177
+1.4,0.6544645561004226,1.154464556100421,1.695535455224372
+1.5,0.9556942759028465,1.455694275902847,1.7443057406201
+1.6,0.900729936247118,1.400729936247118,1.799270080275828
+1.7,0.8556323358891571,1.355632335889158,1.844367680633789
+1.8,0.8183772488139505,1.318377248813951,1.881622767708996
+1.9,0.78742720022436,1.28742720022436,1.912572816298586
+2.,0.7615947172697844,1.261594717269785,1.938405299253162
+2.1,0.7399493971496055,1.239949397149606,1.960050619373341
+2.2,0.7217532398650718,1.221753239865072,1.978246776657874
+2.3,0.7064145850649588,1.206414585064959,1.993585431457987
+2.4,0.6934547557458204,1.193454755745821,2.006545260777126
+2.5,0.6824834098975151,1.182483409897515,2.017516606625431
+2.6,0.6731800818539919,1.173180081853992,2.026819934668954
+2.7,0.6652800970503931,1.165280097050393,2.034719919472553
+2.8,0.6585637872354868,1.158563787235487,2.041436229287459
+2.9,0.6528480173655039,1.152848017365504,2.047151999157441
+3.,0.9745664027206399,1.474566402720639,2.075433617196857
+3.1,0.9240556250976815,1.42405562509768,2.125944394819817
+3.2,0.8827561970634044,1.382756197063403,2.167243822854094
+3.3,0.8487768623169265,1.348776862316925,2.201223157600572
+3.4,0.8206763084430223,1.320676308443021,2.229323711474476
+3.5,0.797338633442432,1.29733863344243,2.252661386475066
+3.6,0.7778881645062805,1.277888164506279,2.272111855411217
+3.7,0.7616297822529177,1.261629782252916,2.28837023766458
+3.8,0.7480062641790034,1.248006264179002,2.301993755738494
+3.9,0.7365671011052571,1.236567101105255,2.31343291881224
+4.,0.7269454888388091,1.226945488838807,2.323054531078689
+4.1,0.7188408823718671,1.218840882371865,2.331159137545631
+4.2,0.7120057618614761,1.212005761861474,2.337994258056022
+4.3,0.7062353270011003,1.206235327001098,2.343764692916397
+4.4,0.7013595023861639,1.201359502386162,2.348640517531333
+4.5,0.6972365621186482,1.197236562118646,2.352763457798849
+4.6,0.6937480838756424,1.193748083875641,2.356251936041856
+4.7,0.6907948821113739,1.190794882111372,2.359205137806125
+4.8,0.6882937106380371,1.188293710638035,2.361706309279461
+4.9,0.6861745810304291,1.186174581030427,2.36382543888707
+5.,0.6843785648402275,1.184378564840226,2.365621455077271
diff --git a/models/sbml-test-suite/cases/semantic/00745/00745-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00745/00745-sbml-l2v4.xml
new file mode 100644
index 0000000..31c3303
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00745/00745-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00745" id="case00745" name="case00745">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.9" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00745/00745-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00745/00745-sbml-l3v1.xml
new file mode 100644
index 0000000..9844f37
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00745/00745-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00745" id="case00745" name="case00745" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.9" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00745/00745-settings.txt b/models/sbml-test-suite/cases/semantic/00745/00745-settings.txt
new file mode 100644
index 0000000..4072afc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00745/00745-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00746/00746-results.csv b/models/sbml-test-suite/cases/semantic/00746/00746-results.csv
new file mode 100644
index 0000000..f4139a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00746/00746-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.12,0.2,0.1
+0.05,0.09811504470259101,0.118115044702591,0.201884955297409,0.101884955297409
+0.1,0.09644169242283065,0.1164416924228306,0.2035583075771693,0.1035583075771693
+0.15,0.09495494231510408,0.114954942315104,0.2050450576848959,0.1050450576848959
+0.2,0.09363300101470539,0.1136330010147053,0.2063669989852946,0.1063669989852946
+0.25,0.09245681996253736,0.1124568199625373,0.2075431800374626,0.1075431800374626
+0.3,0.09140971040873234,0.1114097104087323,0.2085902895912676,0.1085902895912676
+0.35,0.0904770189541134,0.1104770189541134,0.2095229810458865,0.1095229810458866
+0.4,0.1977184955142127,0.1077184951360257,0.2122815048639743,0.1122815048639742
+0.45,0.1930784042458582,0.1030784038676712,0.2169215961323287,0.1169215961323287
+0.5,0.1890959826184229,0.09909598224023594,0.220904017759764,0.120904017759764
+0.55,0.1856711735685022,0.09567117319031526,0.2243288268096848,0.1243288268096847
+0.6,0.1827208332538374,0.09272083287565052,0.2272791671243495,0.1272791671243495
+0.65,0.180175462110998,0.09017546173281111,0.2298245382671889,0.1298245382671889
+0.7,0.177976666292272,0.08797666591408508,0.232023334085915,0.1320233340859149
+0.75,0.1760751589594165,0.08607515858122952,0.2339248414187705,0.1339248414187704
+0.8,0.1744291758490715,0.08442917547088452,0.2355708245291155,0.1355708245291154
+0.85,0.1730032020287804,0.08300320165059343,0.2369967983494066,0.1369967983494065
+0.9,0.1717669458819924,0.08176694550380542,0.2382330544961946,0.1382330544961945
+0.95,0.1706945015303424,0.08069450115215549,0.2393054988478445,0.1393054988478445
+1.,0.1697636621639435,0.07976366178575658,0.2402363382142434,0.1402363382142434
+1.05,0.1689553529369656,0.07895535255877866,0.2410446474412214,0.1410446474412213
+1.1,0.1682531600167484,0.07825315963856152,0.2417468403614385,0.1417468403614385
+1.15,0.167642937333551,0.07764293695536408,0.2423570630446359,0.1423570630446359
+1.2,0.1671124766537058,0.07711247627551885,0.2428875237244811,0.1428875237244811
+1.25,0.1666512295056002,0.07665122912741322,0.2433487708725868,0.1433487708725867
+1.3,0.1662500721524211,0.07625007177423416,0.2437499282257658,0.1437499282257658
+1.35,0.1659011064863245,0.07590110610813759,0.2440988938918624,0.1440988938918624
+1.4,0.1655974889269168,0.07559748854872989,0.2444025114512701,0.14440251145127
+1.45,0.1653332858849164,0.07533328550672949,0.2446667144932705,0.1446667144932705
+1.5,0.1651033505241243,0.07510335014593731,0.2448966498540627,0.1448966498540626
+1.55,0.1649032153523971,0.07490321497421016,0.2450967850257898,0.1450967850257898
+1.6,0.164729000123888,0.07472899974570101,0.245271000254299,0.1452710002542989
+1.65,0.1645773353001507,0.07457733492196379,0.2454226650780362,0.1454226650780362
+1.7,0.164445291631751,0.07444529125356404,0.245554708746436,0.1455547087464359
+1.75,0.1643303228622286,0.07433032248404167,0.2456696775159583,0.1456696775159583
+1.8,0.1642302157179877,0.07423021533980074,0.2457697846601992,0.1457697846601991
+1.85,0.1641430441743574,0.07414304379617035,0.2458569562038296,0.1458569562038295
+1.9,0.1640671337598807,0.07406713338169367,0.2459328666183063,0.1459328666183062
+1.95,0.1640010271446388,0.0740010267664518,0.2459989732335482,0.1459989732335481
+2.,0.1639434560789628,0.07394345570077579,0.2460565442992241,0.1460565442992241
+2.05,0.1638933173060086,0.07389331692782162,0.2461066830721783,0.1461066830721783
+2.1,0.1638496499937303,0.0738496496155433,0.2461503503844567,0.1461503503844566
+2.15,0.1638116181410226,0.07381161776283562,0.2461883822371644,0.1461883822371643
+2.2,0.1637784938790573,0.07377849350087027,0.2462215064991297,0.1462215064991296
+2.25,0.1637496433132119,0.0737496429350249,0.2462503570649751,0.146250357064975
+2.3,0.1637245148398184,0.07372451446163143,0.2462754855383685,0.1462754855383685
+2.35,0.1637026278901325,0.07370262751194547,0.2462973724880545,0.1462973724880544
+2.4,0.163683564108408,0.07368356373022107,0.2463164362697789,0.1463164362697788
+2.45,0.1636669592478361,0.07366695886964913,0.2463330411303509,0.1463330411303508
+2.5,0.1636524959929011,0.07365249561471418,0.2463475043852858,0.1463475043852857
diff --git a/models/sbml-test-suite/cases/semantic/00746/00746-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00746/00746-sbml-l2v4.xml
new file mode 100644
index 0000000..002cbdd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00746/00746-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00746" id="case00746" name="case00746">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.24" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.12" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00746/00746-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00746/00746-sbml-l3v1.xml
new file mode 100644
index 0000000..f6955ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00746/00746-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00746" id="case00746" name="case00746" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.24" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.12" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00746/00746-settings.txt b/models/sbml-test-suite/cases/semantic/00746/00746-settings.txt
new file mode 100644
index 0000000..817f5a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00746/00746-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00747/00747-results.csv b/models/sbml-test-suite/cases/semantic/00747/00747-results.csv
new file mode 100644
index 0000000..118c98e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00747/00747-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00012,0.0002,0.0001
+0.05,0.00009811504470259262,0.0001181150447025926,0.0002018849552974073,0.0001018849552974073
+0.1,0.00009644169242281336,0.0001164416924228133,0.0002035583075771866,0.0001035583075771866
+0.15,0.00009495494231514526,0.0001149549423151452,0.0002050450576848547,0.0001050450576848547
+0.2,0.00009363300101481471,0.0001136330010148147,0.0002063669989851853,0.0001063669989851853
+0.25,0.00009245681996195717,0.0001124568199619571,0.0002075431800380428,0.0001075431800380428
+0.3,0.00009140971040804699,0.0001114097104080469,0.000208590289591953,0.000108590289591953
+0.35,0.0000904770189533987,0.0001104770189533987,0.0002095229810466013,0.0001095229810466013
+0.4,0.0001977185023528343,0.0001077185008563242,0.0002122814991436758,0.0001122814991436757
+0.45,0.0001930784102257154,0.0001030784087292053,0.0002169215912707947,0.0001169215912707946
+0.5,0.0001890959878881717,0.00009909598639166168,0.0002209040136083384,0.0001209040136083383
+0.55,0.000185671178200436,0.00009567117670392601,0.0002243288232960741,0.000124328823296074
+0.6,0.0001821962199100283,0.00009219621841351832,0.0002278037815864818,0.0001028037768339031
+0.65,0.0001790554743705061,0.00008905547287399608,0.000230944527126004,0.0001059445223734254
+0.7,0.0001763323695678943,0.00008633236807138428,0.0002336676319286158,0.0001086676271760372
+0.75,0.0001739681410823906,0.00008396813958588058,0.0002360318604141195,0.0001110318556615409
+0.8,0.000171913057055265,0.00008191305555875501,0.0002380869444412451,0.0001130869396886664
+0.85,0.0001701248508813862,0.00008012484938487616,0.0002398751506151239,0.0001148751458625453
+0.9,0.0001685674684940718,0.00007856746699756177,0.0002414325330024383,0.0001164325282498597
+0.95,0.0001672100550291415,0.00007721005353263152,0.0002427899464673686,0.0001177899417147899
+1.,0.0001660261281973641,0.00007602612670085405,0.000243973873299146,0.0001189738685465674
+1.05,0.0001649929021982454,0.00007499290070173539,0.0002450070992982647,0.000120007094545686
+1.1,0.0001640907270670319,0.00007409072557052186,0.0002459092744294782,0.0001209092696768996
+1.15,0.0001633026238399542,0.0000733026223434442,0.0002466973776565559,0.0001216973729039772
+1.2,0.0001626138969695706,0.00007261389547306057,0.0002473861045269395,0.0001223860997743609
+1.25,0.0001620118080337639,0.00007201180653725389,0.0002479881934627463,0.0001229881887101675
+1.3,0.0001614852994730767,0.00007148529797656671,0.0002485147020234335,0.0001235146972708547
+1.35,0.0001610247617755259,0.00007102476027901592,0.0002489752397209842,0.0001239752349684055
+1.4,0.0001606218357033248,0.00007062183420681488,0.0002493781657931853,0.0001243781610406066
+1.45,0.0001602692432609497,0.0000702692417644397,0.0002497307582355605,0.0001247307534829818
+1.5,0.0001599606422155548,0.00006996064071904481,0.0002500393592809553,0.0001250393545283767
+1.55,0.0001596905021759191,0.0000696905006794092,0.0002503094993205909,0.0001253094945680123
+1.6,0.0001594539974960602,0.00006945399599955022,0.0002505460040004499,0.0001255459992478713
+1.65,0.0001592469159298006,0.00006924691443329066,0.0002507530855667094,0.0001257530808141308
+1.7,0.0001590655778426991,0.00006906557634618914,0.0002509344236538109,0.0001259344189012323
+1.75,0.0001589067688204121,0.00006890676732390216,0.0002510932326760979,0.0001260932279235193
+1.8,0.000158767678380273,0.00006876767688376298,0.0002512323231162371,0.0001262323183636585
+1.85,0.0001586458502323504,0.00006864584873584048,0.0002513541512641596,0.000126354146511581
+1.9,0.0001585391350859639,0.00006853913358945392,0.0002514608664105462,0.0001264608616579675
+1.95,0.0001584456530548254,0.00006844565155831543,0.0002515543484416847,0.0001265543436891061
+2.,0.0001583637597035646,0.00006836375820705463,0.0002516362417929455,0.0001266362370403669
+2.05,0.0001582920152244441,0.00006829201372793418,0.000251707986272066,0.0001267079815194873
+2.1,0.0001582291595652431,0.00006822915806873315,0.000251770841931267,0.0001267708371786883
+2.15,0.0001581740899471331,0.00006817408845062311,0.000251825911549377,0.0001268259067967984
+2.2,0.0001581258404113644,0.00006812583891485445,0.0002518741610851457,0.000126874156332567
+2.25,0.0001580835652467741,0.00006808356375026416,0.000251916436249736,0.0001269164314971573
+2.3,0.000158046524074718,0.000068046522578208,0.0002519534774217922,0.0001269534726692134
+2.35,0.0001580140681934754,0.00006801406669696541,0.0002519859333030348,0.000126985928550456
+2.4,0.0001579856294726284,0.00006798562797611836,0.0002520143720238819,0.0001270143672713031
+2.45,0.0001579607104585537,0.00006796070896204368,0.0002520392910379566,0.0001270392862853778
+2.5,0.0001579388752178201,0.00006793887372131011,0.0002520611262786901,0.0001270611215261113
diff --git a/models/sbml-test-suite/cases/semantic/00747/00747-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00747/00747-sbml-l2v4.xml
new file mode 100644
index 0000000..2f3f37e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00747/00747-sbml-l2v4.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00747" id="case00747" name="case00747">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.00012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 40000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00747/00747-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00747/00747-sbml-l3v1.xml
new file mode 100644
index 0000000..883a6e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00747/00747-sbml-l3v1.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00747" id="case00747" name="case00747" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.00012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 40000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00747/00747-settings.txt b/models/sbml-test-suite/cases/semantic/00747/00747-settings.txt
new file mode 100644
index 0000000..ebaf76b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00747/00747-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00748/00748-results.csv b/models/sbml-test-suite/cases/semantic/00748/00748-results.csv
new file mode 100644
index 0000000..7e0fe1f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00748/00748-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.012,0.02,0.01
+0.05,0.009811504470259153,0.01181150447025915,0.02018849552974085,0.01018849552974084
+0.1,0.009644169242282452,0.01164416924228245,0.02035583075771755,0.01035583075771754
+0.15,0.009495494231513098,0.01149549423151309,0.02050450576848691,0.0105045057684869
+0.2,0.009363300101477201,0.0113633001014772,0.02063669989852281,0.01063669989852279
+0.25,0.009245681996194033,0.01124568199619403,0.02075431800380597,0.01075431800380596
+0.3,0.009140971040995385,0.01114097104099538,0.02085902895900463,0.01085902895900461
+0.35,0.009047701895636769,0.01104770189563677,0.02095229810436324,0.01095229810436323
+0.4,0.01970435160597037,0.01070435146780468,0.02129564853219535,0.005295648394029612
+0.45,0.0190996534786674,0.01009965334050171,0.02190034665949832,0.005900346521332582
+0.5,0.01857621816728009,0.009576218029114401,0.02242378197088563,0.006423781832719891
+0.55,0.01812193314861897,0.009121933010453281,0.02287806698954675,0.006878066851381013
+0.6,0.01772676318897145,0.008726763050805767,0.02327323694919427,0.007273236811028528
+0.65,0.01738233355364916,0.008382333415483469,0.02361766658451656,0.007617666446350827
+0.7,0.01708160988725242,0.008081609749086744,0.02391839025091329,0.007918390112747553
+0.75,0.01969851268646609,0.007698512183495877,0.02430148781650416,0.005301487313533919
+0.8,0.0193179508159188,0.007317950312948589,0.02468204968705144,0.005682049184081207
+0.85,0.01898640427205581,0.00698640376908559,0.02501359623091444,0.006013595727944206
+0.9,0.01869707913239558,0.00669707862942537,0.02530292137057466,0.006302920867604426
+0.95,0.01992495957565444,0.006424959323525933,0.02557504067647411,0.00507504042434555
+1.,0.01962789288550082,0.006127892633372324,0.02587210736662772,0.005372107114499159
+1.05,0.01936851505004904,0.005868514797920549,0.0261314852020795,0.005631484949950934
+1.1,0.01987230854829658,0.00562230834431981,0.02637769165568024,0.005127691451703419
+1.15,0.0196384861638981,0.005388485959921333,0.02661151404007872,0.005361513836101896
+1.2,0.01997788256970476,0.005165382254576432,0.02683461774542364,0.005022117430295235
+1.25,0.01995595335792048,0.004955953045508458,0.02704404695449163,0.005044046642079524
+1.3,0.01976836165473501,0.004768361342322989,0.02723163865767709,0.005231638345264993
+1.35,0.01960406780170168,0.00460406748928966,0.02739593251071042,0.005395932198298322
+1.4,0.0194600597282049,0.004460059415792886,0.0275399405842072,0.005539940271795096
+1.45,0.01933374149134332,0.004333741178931299,0.02766625882106879,0.005666258508656683
+1.5,0.01922286989785852,0.004222869585446499,0.02777713041455359,0.005777130102141483
+1.55,0.0191255019304973,0.004125501618085281,0.02787449838191481,0.005874498069502701
+1.6,0.01903995119228002,0.004039950879868003,0.02796004912013209,0.005960048807719978
+1.65,0.01896475117343232,0.003964750861020304,0.02803524913897979,0.006035248826567677
+1.7,0.01889862463939832,0.003898624326986307,0.02810137567301379,0.006101375360601674
+1.75,0.01884045750871635,0.003840457196304336,0.02815954280369575,0.006159542491283644
+1.8,0.01878927681583068,0.003789276503418663,0.02821072349658143,0.006210723184169317
+1.85,0.01874423186626601,0.003744231553853999,0.02825576844614609,0.006255768133733982
+1.9,0.01870457810912474,0.003704577796712728,0.02829542220328736,0.006295421890875251
+1.95,0.01866966342672741,0.003669663114315393,0.0283303368856847,0.006330336573272587
+2.,0.01863891597751823,0.003638915665106214,0.02836108433489388,0.006361084022481765
+2.05,0.01861183426724525,0.003611833954833236,0.02838816604516685,0.006388165732754743
+2.1,0.01858797800442306,0.003587977692011044,0.02841202230798905,0.006412021995576936
+2.15,0.01856696050902029,0.003566960196608279,0.02843303980339181,0.0064330394909797
+2.2,0.01854844206824535,0.003548441755833343,0.02845155824416675,0.006451557931754635
+2.25,0.0185321239673216,0.003532123654909589,0.0284678763450905,0.006467876032678389
+2.3,0.01851774362995089,0.003517743317538875,0.02848225668246122,0.006482256370049103
+2.35,0.01850507004538003,0.003505069732968015,0.02849493026703208,0.006494929954619964
+2.4,0.01849389988842272,0.003493899576010707,0.02850610042398938,0.006506100111577271
+2.45,0.01848405429061434,0.00348405397820232,0.02851594602179777,0.006515945709385658
+2.5,0.01847537576497271,0.003475375452560695,0.02852462454743939,0.006524624235027282
diff --git a/models/sbml-test-suite/cases/semantic/00748/00748-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00748/00748-sbml-l2v4.xml
new file mode 100644
index 0000000..ec8ac96
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00748/00748-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00748" id="case00748" name="case00748">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.25" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 200 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00748/00748-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00748/00748-sbml-l3v1.xml
new file mode 100644
index 0000000..c74a860
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00748/00748-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00748" id="case00748" name="case00748" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.25" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 200 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00748/00748-settings.txt b/models/sbml-test-suite/cases/semantic/00748/00748-settings.txt
new file mode 100644
index 0000000..817f5a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00748/00748-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00749/00749-results.csv b/models/sbml-test-suite/cases/semantic/00749/00749-results.csv
new file mode 100644
index 0000000..0fc9ecf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00749/00749-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.05,0.7788007823394003,0.7211992176605996,0.5408994132454497
+0.1,0.6065306527835548,0.8934693472164451,0.6701020104123338
+0.15,0.4723665523631123,1.027633447636888,0.7707250857276659
+0.2,0.3678793768009918,1.132120623199008,0.8490904673992563
+0.25,0.2865047934612494,1.21349520653875,0.9101214049040629
+0.3,0.2231301597662277,1.02686977702016,0.77015233276512
+0.35,0.1737739427274322,1.076225994058955,0.8071694955442166
+0.4,0.1353352829546253,1.114664653831762,0.835998490373822
+0.45,0.105399222740071,1.144600714046316,0.8584505355347373
+0.5,0.08208499850923418,1.167914938277153,0.8759362037078648
+0.55,0.06392786107896184,1.186072075707425,0.8895540567805693
+0.6,0.04978706808212004,1.200212868704267,0.9001596515282004
+0.65,0.03877420752599768,1.211225729260389,0.9084192969452924
+0.7,0.03019738304173007,1.219802553744657,0.9148519153084929
+0.75,0.02351774528628764,1.226482191500099,0.9198616436250747
+0.8,0.01831563796034907,1.231684298826038,0.9237632241195288
+0.85,0.01426423340648093,1.235735703379906,0.9268017775349297
+0.9,0.0111089963548224,1.238890940431564,0.9291682053236736
+0.95,0.008651695191001637,1.241348241595385,0.931011181196539
+1.,0.006737946910777833,1.243261989875609,0.9324464924067067
+1.05,0.005247518181490691,1.244752418604896,0.9335643139536721
+1.1,0.004086771138698036,1.245913165647688,0.9344348742357665
+1.15,0.003182780482029063,1.246817156304357,0.9351128672282682
+1.2,0.002478751900652464,1.247521184885734,0.9356408886643008
+1.25,0.00193045392776295,1.248069482858623,0.9360521121439678
+1.3,0.001503439058674108,1.248496497727712,0.9363723732957844
+1.35,0.001170879550855299,1.248829057235531,0.9366217929266487
+1.4,0.0009118819405909171,1.249088054845796,0.9368160411343471
+1.45,0.0007101743856981862,1.249289762400688,0.9369673218005166
+1.5,0.0005530843669825277,1.249446852419404,0.9370851393145533
+1.55,0.0004307425279344203,1.249569194258452,0.9371768956938391
+1.6,0.0003354626073673752,1.249664474179019,0.9372483556342644
+1.65,0.0002612585337537826,1.249738678252632,0.9373040086894743
+1.7,0.0002034683469824502,1.249796468439403,0.9373473513295529
+1.75,0.000158461307490112,1.249841475478896,0.9373811066091719
+1.8,0.0001234097919645967,1.249876526994421,0.9374073952458161
+1.85,0.00009611164512867545,1.249903825141258,0.9374278688559434
+1.9,0.00007485182692157894,1.249925084959465,0.9374438137195987
+1.95,0.00005829466307170018,1.249941642123314,0.9374562315924861
+2.,0.00004539992968288129,1.249954536856703,0.9374659026425278
+2.05,0.00003535750019881836,1.249964579286187,0.9374734344646408
+2.1,0.00002753644801163444,1.249972400338374,0.9374793002537809
+2.15,0.00002144540660564616,1.24997849137978,0.9374838685348353
+2.2,0.00001670169907278206,1.249983235087313,0.9374874263154853
+2.25,0.00001300729619718007,1.249986929490189,0.9374901971176419
+2.3,0.00001013009253404794,1.249989806693852,0.9374923550203895
+2.35,7.889324168299798e-6,1.249992047462218,0.9374940355966636
+2.4,6.144212030940222e-6,1.249993792574355,0.9374953444307667
+2.45,4.785117291624422e-6,1.249995151669095,0.9374963637518212
+2.5,3.726653167096995e-6,1.249996210133219,0.9374971575999144
diff --git a/models/sbml-test-suite/cases/semantic/00749/00749-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00749/00749-sbml-l2v4.xml
new file mode 100644
index 0000000..cc07d2f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00749/00749-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00749" id="case00749" name="case00749">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.79" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.375" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00749/00749-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00749/00749-sbml-l3v1.xml
new file mode 100644
index 0000000..2b2d543
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00749/00749-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00749" id="case00749" name="case00749" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.79" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.375" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00749/00749-settings.txt b/models/sbml-test-suite/cases/semantic/00749/00749-settings.txt
new file mode 100644
index 0000000..e607e52
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00749/00749-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00750/00750-results.csv b/models/sbml-test-suite/cases/semantic/00750/00750-results.csv
new file mode 100644
index 0000000..c97e1b0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00750/00750-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.05,0.7788007823367005,0.7211992176632994,0.5408994132474745
+0.1,0.6065306527735142,0.8934693472264857,0.6701020104198642
+0.15,0.4723665524097645,1.027633447590235,0.7707250856926766
+0.2,0.367879375906358,1.132120624093642,0.8490904680702318
+0.25,0.286504796857231,1.213495203142768,0.9101214023570766
+0.3,0.2231301594154083,1.276869840584591,0.9576523804384434
+0.35,0.1737739402459655,1.326226059754033,0.9946695448155253
+0.4,0.1353352810263943,1.364664718973605,1.023498539230203
+0.45,0.1053992212060837,1.394600778793915,1.045950584095436
+0.5,0.08208499140683679,1.01791498229987,0.7634362367249025
+0.55,0.0639278554274875,1.036072118279219,0.7770540887094147
+0.6,0.04978706343044841,1.050212910276258,0.7876596827071938
+0.65,0.03877420366778717,1.061225770038919,0.7959193275291897
+0.7,0.03019737835171653,1.06980259535499,0.8023519465162425
+0.75,0.02351774275697349,1.076482230949732,0.8073616732122996
+0.8,0.01831563709279072,1.081684336613915,0.8112632524604368
+0.85,0.01426423263859384,1.085735741068112,0.8143018058010845
+0.9,0.01110899528134202,1.088890978425364,0.8166682338190234
+0.95,0.008651693908021397,1.091348279798685,0.8185112098490138
+1.,0.006737945779690199,1.093262027927016,0.8199465209452619
+1.05,0.005247517372905662,1.0947524563338,0.8210643422503505
+1.1,0.0040867706675126,1.095913203039193,0.8219349022793953
+1.15,0.003182780280394663,1.096817193426311,0.8226128950697336
+1.2,0.002478751866462986,1.097521221840243,0.8231409163801826
+1.25,0.001930453954842906,1.098069519751863,0.8235521398138978
+1.3,0.001503439055550642,1.098496534651155,0.8238724009883667
+1.35,0.001170879481189914,1.098829094225516,0.8241218206691372
+1.4,0.0009118818233367459,1.099088091883369,0.824316068912527
+1.45,0.0007101742574888458,1.099289799449217,0.8244673495869129
+1.5,0.0005530842617731768,1.099446889444933,0.8245851670836998
+1.55,0.0004307424607804352,1.099569231245926,0.8246769234344444
+1.6,0.0003354625755497861,1.099664511131156,0.8247483833483675
+1.65,0.0002612585262965832,1.09973871518041,0.8248040363853077
+1.7,0.0002034683505439959,1.099796505356162,0.8248473790171222
+1.75,0.0001584613101072954,1.099841512396599,0.8248811342974498
+1.8,0.0001234097885899282,1.099876563918116,0.8249074229385877
+1.85,0.00009611163649372156,1.099903862070213,0.8249278965526599
+1.9,0.00007485181578745875,1.099925121890919,0.8249438414181895
+1.95,0.00005829465232638164,1.09994167905438,0.8249562592907854
+2.,0.00004539992153286654,1.099954573785174,0.8249659303388805
+2.05,0.00003535749555760761,1.099964616211149,0.8249734621583618
+2.1,0.00002753644625248142,1.099972437260453,0.8249793279453403
+2.15,0.00002144540641636291,1.09997852830029,0.8249838962252176
+2.2,0.0000167016991394141,1.099983272007567,0.8249874540056754
+2.25,0.00001300729593618923,1.09998696641077,0.8249902248080781
+2.3,0.00001013009190016085,1.099989843614807,0.8249923827111052
+2.35,7.889323318869239e-6,1.099992084383388,0.8249940632875412
+2.4,6.144211157401717e-6,1.09999382949555,0.8249953721216625
+2.45,4.785116546398771e-6,1.099995188590161,0.8249963914426208
+2.5,3.7266528454814e-6,1.099996247053862,0.8249971852903965
diff --git a/models/sbml-test-suite/cases/semantic/00750/00750-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00750/00750-sbml-l2v4.xml
new file mode 100644
index 0000000..a5a8445
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00750/00750-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00750" id="case00750" name="case00750">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="7.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00750/00750-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00750/00750-sbml-l3v1.xml
new file mode 100644
index 0000000..678f863
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00750/00750-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00750" id="case00750" name="case00750" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="7.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00750/00750-settings.txt b/models/sbml-test-suite/cases/semantic/00750/00750-settings.txt
new file mode 100644
index 0000000..e607e52
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00750/00750-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00751/00751-results.csv b/models/sbml-test-suite/cases/semantic/00751/00751-results.csv
new file mode 100644
index 0000000..35e2b4f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00751/00751-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.05,0.9412052883858146,1.941205288385815,1.058794711614184,1.524999999999999
+0.1,0.8890941842720874,1.889094184272087,1.110905815727912,1.55
+0.15,0.8427255019071731,1.842725501907173,1.157274498092826,1.575
+0.2,0.8013223155429497,1.80132231554295,1.198677684457049,1.6
+0.25,0.7642376047383383,1.764237604738338,1.235762395261661,1.625
+0.3,0.7309282008846402,1.73092820088464,1.269071799115359,1.649999999999999
+0.35,0.7009347586153784,1.700934758615378,1.299065241384621,1.674999999999999
+0.4,0.6738662218464023,1.673866221846402,1.326133778153597,1.699999999999999
+0.45,0.6493876112041175,1.649387611204117,1.350612388795882,1.724999999999999
+0.5,0.627210358471101,1.6272103584711,1.372789641528899,1.749999999999999
+0.55,0.6070845998513552,1.607084599851354,1.392915400148645,1.774999999999999
+0.6,0.5887929211198471,1.588792921119846,1.411207078880153,1.799999999999999
+0.65,0.5721453184900466,1.572145318490046,1.427854681509954,1.824999999999999
+0.7,0.5569750596589945,1.556975059658993,1.443024940341006,1.849999999999999
+0.75,0.5431352731867795,1.543135273186778,1.456864726813221,1.874999999999999
+0.8,0.5304961569170376,1.530496156917036,1.469503843082963,1.899999999999999
+0.85,0.5189425620154288,1.518942562015427,1.481057437984572,1.924999999999999
+0.9,0.5083721072218921,1.508372107221891,1.491627892778108,1.949999999999999
+0.95,0.4986934406571726,1.498693440657171,1.501306559342828,1.003505566802623
+1.,0.4898248839735169,1.489824883973516,1.510175116026483,1.028505566802623
+1.05,0.4816932165997602,1.481693216599759,1.51830678340024,1.053505566802623
+1.1,0.4742326555761334,1.474232655576132,1.525767344423867,1.078505566802623
+1.15,0.4673839781821086,1.467383978182108,1.532616021817891,1.103505566802623
+1.2,0.4610937666547362,1.461093766654736,1.538906233345263,1.128505566802623
+1.25,0.4553137512042322,1.455313751204232,1.544686248795768,1.153505566802623
+1.3,0.4500002435598763,1.450000243559876,1.549999756440124,1.178505566802623
+1.35,0.4451136455420214,1.445113645542021,1.554886354457978,1.203505566802623
+1.4,0.4406180039985273,1.440618003998526,1.559381996001473,1.228505566802623
+1.45,0.4364806462911595,1.436480646291158,1.563519353708841,1.253505566802623
+1.5,0.432671835318784,1.432671835318783,1.567328164681216,1.278505566802623
+1.55,0.4291644754252781,1.429164475425277,1.570835524574722,1.303505566802623
+1.6,0.4259338620610066,1.425933862061006,1.574066137938994,1.328505566802623
+1.65,0.4229574346241775,1.422957434624176,1.577042565375823,1.353505566802623
+1.7,0.4202145785264477,1.420214578526447,1.579785421473552,1.378505566802623
+1.75,0.4176864469755592,1.417686446975558,1.582313553024441,1.403505566802623
+1.8,0.4153557877455316,1.41535578774553,1.584644212254469,1.428505566802623
+1.85,0.4132067977995714,1.413206797799571,1.586793202200429,1.453505566802623
+1.9,0.411224998421845,1.411224998421844,1.588775001578155,1.478505566802623
+1.95,0.4093971095365129,1.409397109536512,1.590602890463487,1.503505566802623
+2.,0.407710948252493,1.407710948252492,1.592289051747507,1.528505566802623
+2.05,0.4061553276501062,1.406155327650105,1.593844672349894,1.553505566802623
+2.1,0.404719973775477,1.404719973775476,1.595280026224523,1.578505566802623
+2.15,0.4033954459368668,1.403395445936866,1.596604554063133,1.603505566802623
+2.2,0.4021730655128772,1.402173065512876,1.597826934487123,1.628505566802623
+2.25,0.4010448513642458,1.401044851364245,1.598955148635754,1.653505566802623
+2.3,0.4000034611635371,1.400003461163536,1.599996538836463,1.678505566802623
+2.35,0.3990421380380315,1.39904213803803,1.600957861961969,1.703505566802623
+2.4,0.3981546619913738,1.398154661991372,1.601845338008627,1.728505566802623
+2.45,0.3973353056327501,1.397335305632749,1.60266469436725,1.753505566802622
+2.5,0.396578793777571,1.39657879377757,1.603421206222429,1.778505566802622
diff --git a/models/sbml-test-suite/cases/semantic/00751/00751-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00751/00751-sbml-l2v4.xml
new file mode 100644
index 0000000..ac785b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00751/00751-sbml-l2v4.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00751" id="case00751" name="case00751">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.8"/>
+      <parameter id="k4" name="k4" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00751/00751-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00751/00751-sbml-l3v1.xml
new file mode 100644
index 0000000..3553dfd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00751/00751-sbml-l3v1.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00751" id="case00751" name="case00751" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.8" constant="true"/>
+      <parameter id="k4" name="k4" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> S1 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00751/00751-settings.txt b/models/sbml-test-suite/cases/semantic/00751/00751-settings.txt
new file mode 100644
index 0000000..c562bb9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00751/00751-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00752/00752-results.csv b/models/sbml-test-suite/cases/semantic/00752/00752-results.csv
new file mode 100644
index 0000000..f1e80a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00752/00752-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.05,0.94120528838489,1.941205288384889,1.05879471161511,1.536750033259157
+0.1,0.8890941842707599,1.889094184270759,1.11090581572924,1.572115903338741
+0.15,0.8427255019062759,1.842725501906275,1.157274498093724,1.606252550783144
+0.2,0.8013223155415109,1.801322315541511,1.198677684458489,1.639293521745937
+0.25,0.7642376056865416,1.764237605686543,1.235762394313457,1.030960660836058
+0.3,0.7428459755710371,0.9928460185948684,1.257154024428961,1.056742290223365
+0.35,0.7313528785867504,0.9813529216105817,1.268647121413248,1.078292929295103
+0.4,0.7207087385960834,0.9707087816199147,1.279291261403915,1.099567007713569
+0.45,0.7108429640806884,0.9608430071045197,1.28915703591931,1.120584851818323
+0.5,0.7016918607153633,0.9516919037391946,1.298308139284635,1.141365110937222
+0.55,0.6931978238771689,0.9431978669010002,1.306802176122829,1.161924919972286
+0.6,0.6853086453134708,0.935308688337302,1.314691354686527,1.182280042476054
+0.65,0.6779769127931208,0.9279769558169521,1.322023087206877,1.202444997624631
+0.7,0.6711594848669609,0.9211595278907922,1.328840515133037,1.222433174226055
+0.75,0.6648170414792703,0.9148170845031016,1.335182958520728,1.242256930147992
+0.8,0.6589136761855662,0.9089137192093975,1.341086323814432,1.261927685371773
+0.85,0.6534165584111749,0.9034166014350062,1.346583441588823,1.281455999879923
+0.9,0.6482956187344934,0.8982956617583247,1.351704381265505,1.30085164859537
+0.95,0.6435232809050627,0.893523323928894,1.356476719094935,1.32012368617484
+1.,0.6390742183455292,0.8890742613693605,1.360925781654469,1.33928050736577
+1.05,0.6349251506004203,0.8849251936242515,1.365074849399578,1.358329897890551
+1.1,0.631054642882125,0.8810546859059563,1.368945357117873,1.377279086421444
+1.15,0.6274429418111238,0.877442984834955,1.372557058188874,1.396134787436359
+1.2,0.6240718307954824,0.8740718738193137,1.375928169204515,1.414903239457407
+1.25,0.62092448688064,0.8709245299044713,1.379075513119358,1.433590244166413
+1.3,0.617985360502825,0.8679854035266563,1.382014639497173,1.452201199549662
+1.35,0.6152400721841982,0.8652401152080295,1.384759927815799,1.470741128604244
+1.4,0.6126753097690081,0.8626753527928394,1.387324690230989,1.489214708717436
+1.45,0.6102787409134453,0.8602787839372766,1.389721259086552,1.507626296898734
+1.5,0.6080389328964269,0.8580389759202582,1.391961067103571,1.52597995326434
+1.55,0.605945279985971,0.8559453230098023,1.394054720014027,1.544279462602516
+1.6,0.6039879375083963,0.8539879805322275,1.396012062491601,1.562528354208947
+1.65,0.602157761905066,0.8521578049288973,1.397842238094931,1.580729920150441
+1.7,0.6004462561485181,0.8504462991723493,1.399553743851479,1.598887232098609
+1.75,0.598845519965247,0.8488455629890783,1.40115448003475,1.617003156860358
+1.8,0.5973482043775545,0.8473482474013858,1.402651795622443,1.635080370719124
+1.85,0.5959474701334567,0.845947513157288,1.40405252986654,1.653121372689269
+1.9,0.594636949642938,0.8446369926667692,1.405363050357059,1.67112849677594
+1.95,0.5934107120817054,0.8434107551055367,1.406589287918292,1.689103923323724
+2.,0.59226323134831,0.8422632743721413,1.407736768651687,1.707049689534015
+2.05,0.5911893563788708,0.8411893994027021,1.408810643621127,1.724967699300736
+2.1,0.5901842845145125,0.8401843275383438,1.409815715485485,1.7428597320932
+2.15,0.5892435374304437,0.839243580454275,1.410756462569554,1.760727451033206
+2.2,0.5883629364412272,0.8383629794650585,1.41163706355877,1.778572411301577
+2.25,0.5875385815105221,0.8375386245343534,1.412461418489475,1.796396067307276
+2.3,0.5867668318481903,0.8367668748720216,1.413233168151807,1.814199779358115
+2.35,0.586044288056061,0.8360443310798922,1.413955711943937,1.831984819835409
+2.4,0.5853677764208437,0.8353678194446749,1.414632223579154,1.849752378641891
+2.45,0.5847343335602822,0.8347343765841135,1.415265666439715,1.867503568570897
+2.5,0.5841411878841917,0.834141230908023,1.415858812115806,1.885239431901563
diff --git a/models/sbml-test-suite/cases/semantic/00752/00752-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00752/00752-sbml-l2v4.xml
new file mode 100644
index 0000000..f65f762
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00752/00752-sbml-l2v4.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00752" id="case00752" name="case00752">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.5"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00752/00752-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00752/00752-sbml-l3v1.xml
new file mode 100644
index 0000000..5bdf033
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00752/00752-sbml-l3v1.xml
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00752" id="case00752" name="case00752" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.5" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00752/00752-settings.txt b/models/sbml-test-suite/cases/semantic/00752/00752-settings.txt
new file mode 100644
index 0000000..c562bb9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00752/00752-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00753/00753-results.csv b/models/sbml-test-suite/cases/semantic/00753/00753-results.csv
new file mode 100644
index 0000000..3e06707
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00753/00753-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.05,0.9412052883853897,1.94120528838539,1.058794711614609,1.536750033259058
+0.1,0.8890941842708349,1.889094184270835,1.110905815729164,1.572115903338701
+0.15,0.8427255019061791,1.842725501906179,1.15727449809382,1.606252550783134
+0.2,0.8013223155416148,1.801322315541615,1.198677684458384,1.639293521745905
+0.25,0.7642376047380562,1.764237604738056,1.235762395261943,1.671354625388014
+0.3,0.7309282008881188,1.730928200888119,1.26907179911188,1.702536839970888
+0.35,0.7009347586189386,1.700934758618938,1.299065241381061,1.732928649835667
+0.4,0.6738662218404279,1.673866221840428,1.326133778159571,1.762607936798795
+0.45,0.6493876111978851,1.649387611197885,1.350612388802114,1.791643530521578
+0.5,0.627210358454733,1.627210358454733,1.372789641545266,1.820096485156264
+0.55,0.6070845998432151,1.607084599843215,1.392915400156784,1.84802113609224
+0.6,0.5969500976204875,0.9969501118439725,1.403049902379511,1.012453267015288
+0.65,0.5923392149049031,0.9923392291283881,1.407660785095096,1.032318691097818
+0.7,0.5880483433199654,0.9880483575434504,1.411951656680034,1.052072894299404
+0.75,0.5840539865607161,0.9840540007842011,1.415946013439283,1.071723579067411
+0.8,0.5803345391531773,0.9803345533766623,1.419665460846822,1.091277884492099
+0.85,0.5768701138523808,0.9768701280758658,1.423129886147619,1.110742431178003
+0.9,0.5736423856630732,0.9736423998865582,1.426357614336926,1.130123362586767
+0.95,0.5706344542053157,0.9706344684288007,1.429365545794683,1.149426382061929
+1.,0.567830719100526,0.967830733324011,1.432169280899473,1.168656786937908
+1.05,0.5652167677266984,0.9652167819501834,1.434783232273301,1.187819499759358
+1.1,0.562779275865031,0.962779290088516,1.437220724134968,1.206919096261926
+1.15,0.5605059157935925,0.9605059300170775,1.439494084206407,1.225959831710085
+1.2,0.5583852737476494,0.9583852879711344,1.44161472625235,1.244945664866894
+1.25,0.5564067755254593,0.9564067897489443,1.44359322447454,1.263880279874424
+1.3,0.5545606189670921,0.9545606331905771,1.445439381032907,1.282767106365499
+1.35,0.5528377126149038,0.9528377268383888,1.447162287385095,1.301609337954936
+1.4,0.5512296200256683,0.9512296342491533,1.448770379974331,1.320409949216945
+1.45,0.5497285106752347,0.9497285248987197,1.450271489324764,1.339171710759625
+1.5,0.5483271078948899,0.9483271221183748,1.451672892105109,1.357897205604313
+1.55,0.5470186512247406,0.9470186654482256,1.452981348775258,1.376588840920364
+1.6,0.5457968563154019,0.9457968705388869,1.454203143684597,1.395248860787837
+1.65,0.544655878933792,0.944655893157277,1.455344121066207,1.4138793577461
+1.7,0.5435902821374153,0.9435902963609003,1.456409717862584,1.432482283413555
+1.75,0.5425950062381474,0.9425950204616324,1.457404993761852,1.451059458282723
+1.8,0.5416653411852123,0.9416653554086973,1.458334658814787,1.469612580796278
+1.85,0.540796901147959,0.940796915371444,1.45920309885204,1.488143235761541
+1.9,0.5399856011017806,0.9399856153252655,1.460014398898218,1.506652902155791
+1.95,0.5392276350671705,0.9392276492906555,1.460772364932829,1.525142960431838
+2.,0.5385194567926366,0.9385194710161216,1.461480543207363,1.543614699029306
+2.05,0.5378577593768862,0.9378577736003712,1.462142240623113,1.562069321330422
+2.1,0.5372394639494081,0.9372394781728931,1.462760536050591,1.580507949436017
+2.15,0.5366616966944651,0.9366617109179501,1.463338303305534,1.598931632149896
+2.2,0.5361217754470218,0.9361217896705068,1.463878224552978,1.617341349603127
+2.25,0.5356172010827656,0.9356172153062506,1.464382798917234,1.635738016175565
+2.3,0.5351456434851591,0.9351456577086441,1.46485435651484,1.654122485390643
+2.35,0.5347049262561433,0.9347049404796282,1.465295073743856,1.672495555303247
+2.4,0.5342930170875162,0.9342930313110011,1.465706982912483,1.690857971875724
+2.45,0.5339080225692912,0.9339080367927762,1.466091977430708,1.709210430755942
+2.5,0.5335481728840451,0.93354818710753,1.466451827115954,1.727553582740847
diff --git a/models/sbml-test-suite/cases/semantic/00753/00753-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00753/00753-sbml-l2v4.xml
new file mode 100644
index 0000000..a414ac1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00753/00753-sbml-l2v4.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00753" id="case00753" name="case00753">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.5"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.6 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00753/00753-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00753/00753-sbml-l3v1.xml
new file mode 100644
index 0000000..d4e10ad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00753/00753-sbml-l3v1.xml
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00753" id="case00753" name="case00753" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.5" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.6 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00753/00753-settings.txt b/models/sbml-test-suite/cases/semantic/00753/00753-settings.txt
new file mode 100644
index 0000000..c562bb9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00753/00753-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00754/00754-results.csv b/models/sbml-test-suite/cases/semantic/00754/00754-results.csv
new file mode 100644
index 0000000..c64832f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00754/00754-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.04,0.9523960637203322,1.952396063720333,1.047603936279666
+0.08,0.9092009390889094,1.90920093908891,1.090799060911089
+0.12,0.8699043934614226,1.869904393461423,1.130095606538576
+0.16,0.834070013199011,1.834070013199012,1.165929986800988
+0.2,0.8013223155412351,1.801322315541235,1.198677684458764
+0.24,0.7713364606665252,1.771336460666526,1.228663539333473
+0.28,0.7438300027944285,1.743830002794429,1.25616999720557
+0.32,0.7185561940000193,1.71855619400002,1.28144380599998
+0.36,0.6952985199050757,1.695298519905076,1.304701480094923
+0.4,0.6738662218427466,1.673866221842747,1.326133778157252
+0.44,0.6540905900471616,1.654090590047162,1.345909409952837
+0.48,0.6358218735150464,1.635821873515047,1.364178126484952
+0.52,0.6189267212996884,1.618926721299689,1.38107327870031
+0.56,0.6032859866804352,1.603285986680436,1.396714013319563
+0.6,0.5887929210975538,1.588792921097555,1.411207078902444
+0.64,0.5753516236140007,1.575351623614001,1.424648376385998
+0.68,0.5628756924195937,1.562875692419594,1.437124307580405
+0.72,0.5512871138602744,1.551287113860275,1.448712886139724
+0.76,0.5405152830281565,1.540515283028157,1.459484716971842
+0.8,0.5304961570086399,1.53049615700864,1.469503842991359
+0.84,0.5211715234191461,1.521171523419147,1.478828476580852
+0.88,0.5124883869622186,1.512488386962219,1.48751161303778
+0.92,0.5043983995681226,1.504398399568123,1.495601600431876
+0.96,0.499999998389096,1.00000000002755,1.500000001610903
+1.,0.4999999984513939,1.000000000089848,1.500000001548605
+1.04,0.4999999985103431,1.000000000148797,1.500000001489656
+1.08,0.4999999985661251,1.000000000204579,1.500000001433874
+1.12,0.4999999986189364,1.00000000025739,1.500000001381062
+1.16,0.4999999986689241,1.000000000307378,1.500000001331075
+1.2,0.4999999987162351,1.000000000354689,1.500000001283764
+1.24,0.4999999987610208,1.000000000399475,1.500000001238978
+1.28,0.4999999988034051,1.000000000441859,1.500000001196593
+1.32,0.4999999988435228,1.000000000481977,1.500000001156476
+1.36,0.4999999988814956,1.00000000051995,1.500000001118503
+1.4,0.4999999989174325,1.000000000555886,1.500000001082566
+1.44,0.4999999989514515,1.000000000589905,1.500000001048547
+1.48,0.4999999989836561,1.00000000062211,1.500000001016343
+1.52,0.4999999990141359,1.00000000065259,1.500000000985863
+1.56,0.4999999990429824,1.000000000681436,1.500000000957016
+1.6,0.4999999990702856,1.00000000070874,1.500000000929713
+1.64,0.4999999990961262,1.00000000073458,1.500000000903872
+1.68,0.499999999120584,1.000000000759038,1.500000000879415
+1.72,0.4999999991437325,1.000000000782187,1.500000000856266
+1.76,0.4999999991656422,1.000000000804096,1.500000000834356
+1.8,0.4999999991863802,1.000000000824834,1.500000000813618
+1.84,0.4999999992060077,1.000000000844462,1.500000000793991
+1.88,0.4999999992245849,1.000000000863039,1.500000000775414
+1.92,0.4999999992421678,1.000000000880622,1.500000000757831
+1.96,0.4999999992588101,1.000000000897264,1.500000000741188
+2.,0.4999999992745616,1.000000000913016,1.500000000725437
diff --git a/models/sbml-test-suite/cases/semantic/00754/00754-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00754/00754-sbml-l2v4.xml
new file mode 100644
index 0000000..ea1199e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00754/00754-sbml-l2v4.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00754" id="case00754" name="case00754">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.8"/>
+      <parameter id="k4" name="k4" value="0.2"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> p1 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00754/00754-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00754/00754-sbml-l3v1.xml
new file mode 100644
index 0000000..48f0e8d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00754/00754-sbml-l3v1.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00754" id="case00754" name="case00754" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.8" constant="true"/>
+      <parameter id="k4" name="k4" value="0.2" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> p1 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00754/00754-settings.txt b/models/sbml-test-suite/cases/semantic/00754/00754-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00754/00754-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00755/00755-results.csv b/models/sbml-test-suite/cases/semantic/00755/00755-results.csv
new file mode 100644
index 0000000..c64832f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00755/00755-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.04,0.9523960637203322,1.952396063720333,1.047603936279666
+0.08,0.9092009390889094,1.90920093908891,1.090799060911089
+0.12,0.8699043934614226,1.869904393461423,1.130095606538576
+0.16,0.834070013199011,1.834070013199012,1.165929986800988
+0.2,0.8013223155412351,1.801322315541235,1.198677684458764
+0.24,0.7713364606665252,1.771336460666526,1.228663539333473
+0.28,0.7438300027944285,1.743830002794429,1.25616999720557
+0.32,0.7185561940000193,1.71855619400002,1.28144380599998
+0.36,0.6952985199050757,1.695298519905076,1.304701480094923
+0.4,0.6738662218427466,1.673866221842747,1.326133778157252
+0.44,0.6540905900471616,1.654090590047162,1.345909409952837
+0.48,0.6358218735150464,1.635821873515047,1.364178126484952
+0.52,0.6189267212996884,1.618926721299689,1.38107327870031
+0.56,0.6032859866804352,1.603285986680436,1.396714013319563
+0.6,0.5887929210975538,1.588792921097555,1.411207078902444
+0.64,0.5753516236140007,1.575351623614001,1.424648376385998
+0.68,0.5628756924195937,1.562875692419594,1.437124307580405
+0.72,0.5512871138602744,1.551287113860275,1.448712886139724
+0.76,0.5405152830281565,1.540515283028157,1.459484716971842
+0.8,0.5304961570086399,1.53049615700864,1.469503842991359
+0.84,0.5211715234191461,1.521171523419147,1.478828476580852
+0.88,0.5124883869622186,1.512488386962219,1.48751161303778
+0.92,0.5043983995681226,1.504398399568123,1.495601600431876
+0.96,0.499999998389096,1.00000000002755,1.500000001610903
+1.,0.4999999984513939,1.000000000089848,1.500000001548605
+1.04,0.4999999985103431,1.000000000148797,1.500000001489656
+1.08,0.4999999985661251,1.000000000204579,1.500000001433874
+1.12,0.4999999986189364,1.00000000025739,1.500000001381062
+1.16,0.4999999986689241,1.000000000307378,1.500000001331075
+1.2,0.4999999987162351,1.000000000354689,1.500000001283764
+1.24,0.4999999987610208,1.000000000399475,1.500000001238978
+1.28,0.4999999988034051,1.000000000441859,1.500000001196593
+1.32,0.4999999988435228,1.000000000481977,1.500000001156476
+1.36,0.4999999988814956,1.00000000051995,1.500000001118503
+1.4,0.4999999989174325,1.000000000555886,1.500000001082566
+1.44,0.4999999989514515,1.000000000589905,1.500000001048547
+1.48,0.4999999989836561,1.00000000062211,1.500000001016343
+1.52,0.4999999990141359,1.00000000065259,1.500000000985863
+1.56,0.4999999990429824,1.000000000681436,1.500000000957016
+1.6,0.4999999990702856,1.00000000070874,1.500000000929713
+1.64,0.4999999990961262,1.00000000073458,1.500000000903872
+1.68,0.499999999120584,1.000000000759038,1.500000000879415
+1.72,0.4999999991437325,1.000000000782187,1.500000000856266
+1.76,0.4999999991656422,1.000000000804096,1.500000000834356
+1.8,0.4999999991863802,1.000000000824834,1.500000000813618
+1.84,0.4999999992060077,1.000000000844462,1.500000000793991
+1.88,0.4999999992245849,1.000000000863039,1.500000000775414
+1.92,0.4999999992421678,1.000000000880622,1.500000000757831
+1.96,0.4999999992588101,1.000000000897264,1.500000000741188
+2.,0.4999999992745616,1.000000000913016,1.500000000725437
diff --git a/models/sbml-test-suite/cases/semantic/00755/00755-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00755/00755-sbml-l2v4.xml
new file mode 100644
index 0000000..45eaf77
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00755/00755-sbml-l2v4.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00755" id="case00755" name="case00755">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.8"/>
+      <parameter id="k4" name="k4" value="0.2"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> p1 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00755/00755-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00755/00755-sbml-l3v1.xml
new file mode 100644
index 0000000..9433a29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00755/00755-sbml-l3v1.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00755" id="case00755" name="case00755" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.8" constant="true"/>
+      <parameter id="k4" name="k4" value="0.2" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> p1 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00755/00755-settings.txt b/models/sbml-test-suite/cases/semantic/00755/00755-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00755/00755-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00756/00756-results.csv b/models/sbml-test-suite/cases/semantic/00756/00756-results.csv
new file mode 100644
index 0000000..c64832f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00756/00756-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.04,0.9523960637203322,1.952396063720333,1.047603936279666
+0.08,0.9092009390889094,1.90920093908891,1.090799060911089
+0.12,0.8699043934614226,1.869904393461423,1.130095606538576
+0.16,0.834070013199011,1.834070013199012,1.165929986800988
+0.2,0.8013223155412351,1.801322315541235,1.198677684458764
+0.24,0.7713364606665252,1.771336460666526,1.228663539333473
+0.28,0.7438300027944285,1.743830002794429,1.25616999720557
+0.32,0.7185561940000193,1.71855619400002,1.28144380599998
+0.36,0.6952985199050757,1.695298519905076,1.304701480094923
+0.4,0.6738662218427466,1.673866221842747,1.326133778157252
+0.44,0.6540905900471616,1.654090590047162,1.345909409952837
+0.48,0.6358218735150464,1.635821873515047,1.364178126484952
+0.52,0.6189267212996884,1.618926721299689,1.38107327870031
+0.56,0.6032859866804352,1.603285986680436,1.396714013319563
+0.6,0.5887929210975538,1.588792921097555,1.411207078902444
+0.64,0.5753516236140007,1.575351623614001,1.424648376385998
+0.68,0.5628756924195937,1.562875692419594,1.437124307580405
+0.72,0.5512871138602744,1.551287113860275,1.448712886139724
+0.76,0.5405152830281565,1.540515283028157,1.459484716971842
+0.8,0.5304961570086399,1.53049615700864,1.469503842991359
+0.84,0.5211715234191461,1.521171523419147,1.478828476580852
+0.88,0.5124883869622186,1.512488386962219,1.48751161303778
+0.92,0.5043983995681226,1.504398399568123,1.495601600431876
+0.96,0.499999998389096,1.00000000002755,1.500000001610903
+1.,0.4999999984513939,1.000000000089848,1.500000001548605
+1.04,0.4999999985103431,1.000000000148797,1.500000001489656
+1.08,0.4999999985661251,1.000000000204579,1.500000001433874
+1.12,0.4999999986189364,1.00000000025739,1.500000001381062
+1.16,0.4999999986689241,1.000000000307378,1.500000001331075
+1.2,0.4999999987162351,1.000000000354689,1.500000001283764
+1.24,0.4999999987610208,1.000000000399475,1.500000001238978
+1.28,0.4999999988034051,1.000000000441859,1.500000001196593
+1.32,0.4999999988435228,1.000000000481977,1.500000001156476
+1.36,0.4999999988814956,1.00000000051995,1.500000001118503
+1.4,0.4999999989174325,1.000000000555886,1.500000001082566
+1.44,0.4999999989514515,1.000000000589905,1.500000001048547
+1.48,0.4999999989836561,1.00000000062211,1.500000001016343
+1.52,0.4999999990141359,1.00000000065259,1.500000000985863
+1.56,0.4999999990429824,1.000000000681436,1.500000000957016
+1.6,0.4999999990702856,1.00000000070874,1.500000000929713
+1.64,0.4999999990961262,1.00000000073458,1.500000000903872
+1.68,0.499999999120584,1.000000000759038,1.500000000879415
+1.72,0.4999999991437325,1.000000000782187,1.500000000856266
+1.76,0.4999999991656422,1.000000000804096,1.500000000834356
+1.8,0.4999999991863802,1.000000000824834,1.500000000813618
+1.84,0.4999999992060077,1.000000000844462,1.500000000793991
+1.88,0.4999999992245849,1.000000000863039,1.500000000775414
+1.92,0.4999999992421678,1.000000000880622,1.500000000757831
+1.96,0.4999999992588101,1.000000000897264,1.500000000741188
+2.,0.4999999992745616,1.000000000913016,1.500000000725437
diff --git a/models/sbml-test-suite/cases/semantic/00756/00756-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00756/00756-sbml-l2v4.xml
new file mode 100644
index 0000000..443a2b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00756/00756-sbml-l2v4.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00756" id="case00756" name="case00756">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.8"/>
+      <parameter id="k4" name="k4" value="0.2"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> p1 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00756/00756-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00756/00756-sbml-l3v1.xml
new file mode 100644
index 0000000..7884bcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00756/00756-sbml-l3v1.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00756" id="case00756" name="case00756" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.8" constant="true"/>
+      <parameter id="k4" name="k4" value="0.2" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> add </ci>
+            <ci> p1 </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00756/00756-settings.txt b/models/sbml-test-suite/cases/semantic/00756/00756-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00756/00756-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00757/00757-results.csv b/models/sbml-test-suite/cases/semantic/00757/00757-results.csv
new file mode 100644
index 0000000..6474871
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00757/00757-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.9302811918701799,1.930281191870178,1.069718808129821
+0.12,0.8699043934607033,1.869904393460702,1.130095606539297
+0.18,0.8173317123142669,1.817331712314265,1.182668287685734
+0.24,0.771336460598755,1.771336460598753,1.228663539401246
+0.3,0.7486713908076788,1.178671404334311,1.251328609192322
+0.36,0.7287555712702587,1.15875558479689,1.271244428729742
+0.42,0.7107343868942301,1.140734400420862,1.28926561310577
+0.48,0.694401077532518,1.124401091059149,1.305598922467483
+0.54,0.6795757374133349,1.109575750939966,1.320424262586666
+0.6,0.6661011455995283,1.09610115912616,1.333898854400473
+0.66,0.6538393497584578,1.083839363285089,1.346160650241543
+0.72,0.6426688464597194,1.072668859986351,1.357331153540281
+0.78,0.6324822605268518,1.062482274053483,1.367517739473149
+0.84,0.6231843950619624,1.053184408588594,1.376815604938038
+0.9,0.6146905975506241,1.044690611077256,1.385309402449377
+0.96,0.606925390523739,1.03692540405037,1.393074609476262
+1.02,0.5998213057600092,1.029821319286641,1.400178694239992
+1.08,0.5933178875387701,1.023317901065401,1.406682112461231
+1.14,0.5873608722246171,1.017360885751248,1.412639127775384
+1.2,0.5819014112416873,1.011901424768318,1.418098588758314
+1.26,0.5768954827635699,1.006895496290201,1.423104517236432
+1.32,0.5723033442530929,1.002303357779724,1.427696655746909
+1.38,0.5680890496441914,0.9980890631708228,1.43191095035581
+1.44,0.5642200388669681,0.9942200523935994,1.435779961133034
+1.5,0.5606667801991929,0.9906667937258242,1.439333219800809
+1.56,0.9787548730744782,0.9693257628815061,1.460674250645127
+1.62,0.9589974118604573,0.9495683016674852,1.480431711859148
+1.68,0.9411364517756254,0.9317073415826533,1.49829267194398
+1.74,0.9249639234296007,0.9155348132366286,1.514465200290005
+1.8,0.9102988457594167,0.9008697355664446,1.529130277960189
+1.86,0.8969831137899881,0.887554003597016,1.542446009929618
+1.92,0.8848780494694159,0.8754489392764438,1.55455107425019
+1.98,0.8738615651464476,0.8644324549534755,1.565567558573158
+2.04,0.8638258036417715,0.8543966934487994,1.575603320077834
+2.1,0.8546751831699476,0.8452460729769755,1.584753940549658
+2.16,0.846324751742453,0.8368956415494809,1.593104371977153
+2.22,0.8386987983897048,0.8292696881967327,1.600730325329901
+2.28,0.8317296792276001,0.822300569034628,1.607699444492006
+2.34,0.825356817726462,0.8159277075334899,1.614072305993144
+2.4,0.8195258481871894,0.8100967379942173,1.619903275532416
+2.46,0.8141878944018947,0.8047587842089226,1.625241229317711
+2.52,0.8092989208073643,0.7998698106143922,1.630130202912242
+2.58,0.8048191863085227,0.7953900761155506,1.634609937411083
+2.64,0.8007127742809396,0.7912836640879675,1.638716349438666
+2.7,0.7969471842222147,0.7875180740292426,1.642481939497391
+2.76,0.7934929585495864,0.7840638483566143,1.645936165170019
+2.82,0.790323363732728,0.7808942535397559,1.649105759986877
+2.88,0.7874141121861553,0.7779850019931832,1.65201501153345
+2.94,0.7847431224274623,0.7753140122344902,1.654686001292143
+3.,0.7822902912710185,0.7728611810780464,1.657138832448587
diff --git a/models/sbml-test-suite/cases/semantic/00757/00757-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00757/00757-sbml-l2v4.xml
new file mode 100644
index 0000000..3b02095
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00757/00757-sbml-l2v4.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00757" id="case00757" name="case00757">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.5"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.77 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00757/00757-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00757/00757-sbml-l3v1.xml
new file mode 100644
index 0000000..50d1d91
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00757/00757-sbml-l3v1.xml
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00757" id="case00757" name="case00757" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.5" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.77 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00757/00757-settings.txt b/models/sbml-test-suite/cases/semantic/00757/00757-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00757/00757-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00758/00758-results.csv b/models/sbml-test-suite/cases/semantic/00758/00758-results.csv
new file mode 100644
index 0000000..6474871
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00758/00758-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.9302811918701799,1.930281191870178,1.069718808129821
+0.12,0.8699043934607033,1.869904393460702,1.130095606539297
+0.18,0.8173317123142669,1.817331712314265,1.182668287685734
+0.24,0.771336460598755,1.771336460598753,1.228663539401246
+0.3,0.7486713908076788,1.178671404334311,1.251328609192322
+0.36,0.7287555712702587,1.15875558479689,1.271244428729742
+0.42,0.7107343868942301,1.140734400420862,1.28926561310577
+0.48,0.694401077532518,1.124401091059149,1.305598922467483
+0.54,0.6795757374133349,1.109575750939966,1.320424262586666
+0.6,0.6661011455995283,1.09610115912616,1.333898854400473
+0.66,0.6538393497584578,1.083839363285089,1.346160650241543
+0.72,0.6426688464597194,1.072668859986351,1.357331153540281
+0.78,0.6324822605268518,1.062482274053483,1.367517739473149
+0.84,0.6231843950619624,1.053184408588594,1.376815604938038
+0.9,0.6146905975506241,1.044690611077256,1.385309402449377
+0.96,0.606925390523739,1.03692540405037,1.393074609476262
+1.02,0.5998213057600092,1.029821319286641,1.400178694239992
+1.08,0.5933178875387701,1.023317901065401,1.406682112461231
+1.14,0.5873608722246171,1.017360885751248,1.412639127775384
+1.2,0.5819014112416873,1.011901424768318,1.418098588758314
+1.26,0.5768954827635699,1.006895496290201,1.423104517236432
+1.32,0.5723033442530929,1.002303357779724,1.427696655746909
+1.38,0.5680890496441914,0.9980890631708228,1.43191095035581
+1.44,0.5642200388669681,0.9942200523935994,1.435779961133034
+1.5,0.5606667801991929,0.9906667937258242,1.439333219800809
+1.56,0.9787548730744782,0.9693257628815061,1.460674250645127
+1.62,0.9589974118604573,0.9495683016674852,1.480431711859148
+1.68,0.9411364517756254,0.9317073415826533,1.49829267194398
+1.74,0.9249639234296007,0.9155348132366286,1.514465200290005
+1.8,0.9102988457594167,0.9008697355664446,1.529130277960189
+1.86,0.8969831137899881,0.887554003597016,1.542446009929618
+1.92,0.8848780494694159,0.8754489392764438,1.55455107425019
+1.98,0.8738615651464476,0.8644324549534755,1.565567558573158
+2.04,0.8638258036417715,0.8543966934487994,1.575603320077834
+2.1,0.8546751831699476,0.8452460729769755,1.584753940549658
+2.16,0.846324751742453,0.8368956415494809,1.593104371977153
+2.22,0.8386987983897048,0.8292696881967327,1.600730325329901
+2.28,0.8317296792276001,0.822300569034628,1.607699444492006
+2.34,0.825356817726462,0.8159277075334899,1.614072305993144
+2.4,0.8195258481871894,0.8100967379942173,1.619903275532416
+2.46,0.8141878944018947,0.8047587842089226,1.625241229317711
+2.52,0.8092989208073643,0.7998698106143922,1.630130202912242
+2.58,0.8048191863085227,0.7953900761155506,1.634609937411083
+2.64,0.8007127742809396,0.7912836640879675,1.638716349438666
+2.7,0.7969471842222147,0.7875180740292426,1.642481939497391
+2.76,0.7934929585495864,0.7840638483566143,1.645936165170019
+2.82,0.790323363732728,0.7808942535397559,1.649105759986877
+2.88,0.7874141121861553,0.7779850019931832,1.65201501153345
+2.94,0.7847431224274623,0.7753140122344902,1.654686001292143
+3.,0.7822902912710185,0.7728611810780464,1.657138832448587
diff --git a/models/sbml-test-suite/cases/semantic/00758/00758-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00758/00758-sbml-l2v4.xml
new file mode 100644
index 0000000..de11778
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00758/00758-sbml-l2v4.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00758" id="case00758" name="case00758">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.5"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.77 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> divide </ci>
+              <cn> 0.325 </cn>
+              <ci> k2 </ci>
+            </apply>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00758/00758-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00758/00758-sbml-l3v1.xml
new file mode 100644
index 0000000..196578f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00758/00758-sbml-l3v1.xml
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00758" id="case00758" name="case00758" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="lessthan" name="lessthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <lt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.5" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> lessthan </ci>
+              <ci> S1 </ci>
+              <cn> 0.77 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> divide </ci>
+              <cn> 0.325 </cn>
+              <ci> k2 </ci>
+            </apply>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00758/00758-settings.txt b/models/sbml-test-suite/cases/semantic/00758/00758-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00758/00758-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00759/00759-results.csv b/models/sbml-test-suite/cases/semantic/00759/00759-results.csv
new file mode 100644
index 0000000..622d049
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00759/00759-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842698306,1.88909418426983,1.110905815730169
+0.2,0.8013223155399747,1.801322315539974,1.198677684460025
+0.3,0.742845984019978,0.9928460133241338,1.257154015980021
+0.4,0.7207087465209705,0.9707087758251262,1.279291253479029
+0.5,0.7016918680851336,0.9516918973892893,1.298308131914866
+0.6,0.6853086519531462,0.935308681257302,1.314691348046853
+0.7,0.6711594917375056,0.9211595210416614,1.328840508262494
+0.8,0.658913683129695,0.9089137124338507,1.341086316870305
+0.9,0.6482956256607279,0.8982956549648837,1.351704374339271
+1.,0.6390742243771142,0.88907425368127,1.360925775622885
+1.1,0.631054648466393,0.8810546777705488,1.368945351533606
+1.2,0.6240718369603958,0.8740718662645515,1.375928163039603
+1.3,0.6179853665654739,0.8679853958696297,1.382014633434525
+1.4,0.612675316131799,0.8626753454359548,1.3873246838682
+1.5,0.608038938964901,0.8580389682690567,1.391961061035098
+1.6,0.6039879430834922,0.853987972387648,1.396012056916507
+1.7,0.600446261256704,0.8504462905608598,1.399553738743295
+1.8,0.5973482091639636,0.8473482384681194,1.402651790836036
+1.9,0.5946369543047737,0.8446369836089294,1.405363045695226
+2.,0.5922632360092198,0.8422632653133755,1.40773676399078
+2.1,0.5901842899329981,0.8401843192371538,1.409815710067001
+2.2,0.5883629412058203,0.8383629705099761,1.411637058794179
+2.3,0.5867668364684328,0.8367668657725886,1.413233163531566
+2.4,0.585367781581814,0.8353678108859697,1.414632218418185
+2.5,0.5841411917840292,0.834141221088185,1.41585880821597
+2.6,0.5830656097851448,0.8330656390893006,1.416934390214855
+2.7,0.582122289400589,0.8321223187047448,1.41787771059941
+2.8,0.5812948530116475,0.8312948823158032,1.418705146988352
+2.9,0.5805689723476534,0.8305690016518092,1.419431027652346
+3.,0.5799321119624488,0.8299321412666046,1.420067888037551
+3.1,0.5793733037045899,0.8293733330087457,1.420626696295409
+3.2,0.5788829395519721,0.8288829688561278,1.421117060448027
+3.3,0.5784526032332546,0.8284526325374104,1.421547396766745
+3.4,0.5780749237500867,0.8280749530542425,1.421925076249913
+3.5,0.5777434388020098,0.8277434681061656,1.42225656119799
+3.6,0.5774524825904108,0.8274525118945665,1.422547517409589
+3.7,0.5771970897967569,0.8271971191009127,1.422802910203243
+3.8,0.5769729050312506,0.8269729343354064,1.423027094968749
+3.9,0.576776107273956,0.8267761365781117,1.423223892726043
+4.,0.5766033462457785,0.8266033755499343,1.423396653754221
+4.1,0.5764516824844792,0.8264517117886349,1.42354831751552
+4.2,0.5763185361168458,0.8263185654210015,1.423681463883154
+4.3,0.9760101478711049,0.8023266060588264,1.447673423245329
+4.4,0.9551544132004821,0.7814708713882035,1.468529157915951
+4.5,0.9372989924140905,0.763615450601812,1.486384578702342
+4.6,0.9219710807466107,0.7482875389343322,1.501712490369822
+4.7,0.9087824834550662,0.7350989416427877,1.514901087661366
+4.8,0.8974120520642656,0.7237285102519871,1.526271519052167
+4.9,0.8875923416202878,0.7139087998080093,1.536091229496145
+5.,0.8790993095318696,0.7054157677195911,1.544584261584563
diff --git a/models/sbml-test-suite/cases/semantic/00759/00759-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00759/00759-sbml-l2v4.xml
new file mode 100644
index 0000000..108bbdf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00759/00759-sbml-l2v4.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00759" id="case00759" name="case00759">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="0.5"/>
+      <parameter id="k4" name="k4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> divide </ci>
+              <cn type="integer"> 1 </cn>
+              <ci> k2 </ci>
+            </apply>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00759/00759-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00759/00759-sbml-l3v1.xml
new file mode 100644
index 0000000..04c0835
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00759/00759-sbml-l3v1.xml
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00759" id="case00759" name="case00759" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="divide" name="divide">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <apply>
+                <power/>
+                <ci> y </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.5" constant="true"/>
+      <parameter id="k4" name="k4" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> add </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> divide </ci>
+              <cn type="integer"> 1 </cn>
+              <ci> k2 </ci>
+            </apply>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> divide </ci>
+                <ci> k3 </ci>
+                <ci> k4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00759/00759-settings.txt b/models/sbml-test-suite/cases/semantic/00759/00759-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00759/00759-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00760/00760-results.csv b/models/sbml-test-suite/cases/semantic/00760/00760-results.csv
new file mode 100644
index 0000000..a86eb20
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00760/00760-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.25,1.5,1.,3.75
+0.2,1.225248341634303,1.539700676519924,0.9850509818457722,3.749999999999999
+0.4,1.200986798940196,1.578805488713228,0.9702077123465743,3.749999999999996
+0.6,1.177205666979558,1.617318775215723,0.9554755578047179,3.749999999999998
+0.8,1.153895432982213,1.655245081271962,0.9408594857458226,3.749999999999996
+1.,1.131046772543813,1.692589143176806,0.9263640842793794,3.749999999999999
+1.2,1.108650545895531,1.729355873471387,0.9119935806330805,3.749999999999999
+1.4,1.086697794248031,1.765550346865127,0.8977518588868403,3.749999999999999
+1.6,1.065179736207841,1.801177786851692,0.8836424769404664,3.749999999999999
+1.8,1.044087764264675,1.836243552988863,0.8696686827464605,3.749999999999998
+2.,1.023413441348331,1.870753128813516,0.8558334298381515,3.749999999999999
+2.2,1.003148497453801,1.904712110364152,0.8421393921820457,3.749999999999998
+2.4,0.9832848263334661,1.938126195284579,0.8285889783819537,3.749999999999998
+2.6,0.9638144822542471,1.971001172482932,0.8151843452628191,3.749999999999998
+2.8,0.9447296768200489,1.003342908350705,0.8019274108582741,2.749999996029028
+3.,0.9260227758525282,1.035157353346945,0.7888198668295549,2.749999996029028
+3.2,0.9076862963417325,1.066450509353987,0.7758631903333083,2.749999996029029
+3.4,0.8897129034533402,1.097228437212595,0.7630586553630929,2.749999996029028
+3.6,0.8720954075891876,1.127497244840331,0.7504073435995096,2.749999996029028
+3.8,0.8548267615158421,1.157263079749601,0.7379101547635846,2.749999996029028
+4.,0.8379000575446433,1.186532121968267,0.7255678165161176,2.749999996029028
+4.2,0.8213085247685083,1.215310577347743,0.713380893912777,2.749999996029028
+4.4,0.8050455263532526,1.243604671240742,0.7013497984350332,2.749999996029027
+4.6,0.7891045568827622,1.271420642532125,0.6894747966141402,2.749999996029028
+4.8,0.7734792397567462,1.298764738006857,0.6777560182654242,2.749999996029028
+5.,0.7581633246400159,1.325643207039814,0.6661934643491985,2.749999996029029
+5.2,0.7431506849622712,1.352062296592819,0.6547870144739385,2.749999996029028
+5.4,0.7284353154673959,1.378028246504903,0.6435364340567287,2.749999996029028
+5.6,0.7140113298112782,1.403547285062371,0.6324413811553791,2.749999996029028
+5.8,0.6998729582071975,1.428625624835805,0.6215014129860254,2.749999996029028
+6.,0.6860145451178768,1.453269458771707,0.6107159921394442,2.749999996029028
+6.2,0.6724305469933962,1.477484956526919,0.6000844925087135,2.749999996029029
+6.4,0.6591155300535345,1.501278261034667,0.5896062049408267,2.749999996029028
+6.6,0.6460641681140856,1.524655485291348,0.5792803426235949,2.749999996029027
+6.8,0.6332712404563162,1.547622709353657,0.5691060462190553,2.749999996029027
+7.,0.6207316297386138,1.570185977536169,0.5590823887542451,2.749999996029026
+7.2,0.6084403199494844,1.592351295799873,0.5492083802796704,2.749999996029029
+7.4,0.5963923944010858,1.614124629322556,0.5394829723053856,2.749999996029028
+7.6,0.5845830337624879,1.63551190024235,0.5299050620241904,2.749999996029028
+7.8,0.5730075141318814,1.656518985566091,0.5204734963310551,2.749999996029028
+8.,0.561661205136642,1.677151715240585,0.5111870756518009,2.749999996029027
+8.2,0.5505395681263161,1.697415870341544,0.5020445575611672,2.749999996029027
+8.4,0.5396381542855446,1.717317181468614,0.4930446602748691,2.749999996029028
+8.6,0.528952602897751,1.736861327214841,0.4841860659164362,2.749999996029029
+8.8,0.5184786395983872,1.756053932786639,0.4754674236440024,2.749999996029028
+9.,0.508212074668368,1.774900568742122,0.4668873526185383,2.749999996029028
+9.2,0.4981488013481476,1.793406749854533,0.4584444448263471,2.74999999602903
+9.4,0.4882847941943264,1.811577934079986,0.450137267754716,2.749999996029028
+9.6,0.478616107469711,1.829419521628861,0.441964366930456,2.749999996029028
+9.8,0.4691388735655069,1.846936854135871,0.4339242683276495,2.749999996029029
+10.,0.4598493014664026,1.864135213914283,0.4260154806483424,2.749999996029028
diff --git a/models/sbml-test-suite/cases/semantic/00760/00760-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00760/00760-sbml-l2v4.xml
new file mode 100644
index 0000000..5d3391e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00760/00760-sbml-l2v4.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00760" id="case00760" name="case00760">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="greaterthan" name="greaterthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <gt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> X0 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> greaterthan </ci>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00760/00760-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00760/00760-sbml-l3v1.xml
new file mode 100644
index 0000000..eb4b9bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00760/00760-sbml-l3v1.xml
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00760" id="case00760" name="case00760" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="greaterthan" name="greaterthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <gt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <apply>
+              <ci> add </ci>
+              <ci> X0 </ci>
+              <ci> X1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> greaterthan </ci>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00760/00760-settings.txt b/models/sbml-test-suite/cases/semantic/00760/00760-settings.txt
new file mode 100644
index 0000000..979aa8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00760/00760-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-002
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00761/00761-results.csv b/models/sbml-test-suite/cases/semantic/00761/00761-results.csv
new file mode 100644
index 0000000..1fac52b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00761/00761-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,2.138552610247586e-30,-2.197198502093979e-24,9.67026976726205e-12
+0.8,0.9231163451889691,0.003244933713928174,0.07363872109710263,0.02103963459917219
+1.6,0.8521437887162755,0.01228934238564433,0.1355668688980801,0.03873339111373719
+2.4,0.786627859535143,0.02619044073253581,0.1871816997323211,0.05348048563780594
+3.2,0.7261490354291663,0.04411877451320064,0.2297321900576329,0.06563776858789513
+4.,0.6703200445499893,0.06534610753976989,0.2643338479102406,0.075523956545783
+4.8,0.6187833914968956,0.08923458508610325,0.2919820234170009,0.08342343526200027
+5.6,0.5712090627291711,0.1152269433305583,0.3135639939402704,0.08958971255436298
+6.4,0.5272924244905951,0.1428377516878315,0.3298698238215733,0.09424852109187811
+7.2,0.4867522554029566,0.1716454656148573,0.3416022789821859,0.09760065113776747
+8.,0.4493289646829047,0.2012853796811326,0.3493856556359624,0.09982447303884638
+8.8,0.4147829117829972,0.2314432079939618,0.3537738802230408,0.1010782514922973
+9.6,0.3828928864342857,0.2618494024571859,0.3552577111085281,0.1015022031738652
+10.4,0.3534546826623529,0.2922740025613215,0.3542713147763255,0.1012203756503787
+11.2,0.32627979502984,0.3225220501166841,0.3511981548534758,0.100342329958136
+12.,0.3011942130097296,0.3524294783092463,0.3463763086810239,0.09896465962314969
+12.8,0.2780373009419539,0.38185941920361,0.340103279854436,0.097172365672696
+13.6,0.2566607781205618,0.4106989305066555,0.3326402913727826,0.09504008324936645
+14.4,0.2369277593606532,0.4388560378517291,0.3242162027876177,0.09263320079646214
+15.2,0.2187118879677983,0.4662571292663049,0.3150309827658966,0.09000885221882765
+16.,0.2018965180426676,0.4928446039100782,0.305258878047254,0.08721682229921558
+16.8,0.1863740009876559,1.018574755823207,0.2950512427025137,0.08430035505786112
+17.6,0.172044885984899,1.043416087815171,0.2845390257133063,0.08129686448951467
+18.4,0.1588174503477969,1.067347417728526,0.2738351314370534,0.07823860898201544
+19.2,0.1466069866686047,1.090356566184669,0.2630364466601022,0.07515327047431548
+20.,0.1353353085696214,1.112439051957319,0.2522256389864365,0.07206446828183858
+20.8,0.1249302321120566,1.133596911004964,0.2414728563963562,0.06899224468467228
+21.6,0.11532513595071,1.15383773391899,0.2308371296436768,0.0659534656124802
+22.4,0.1064585106050199,1.173173726514419,0.220367762393937,0.06296221782683769
+23.2,0.09827358330895673,1.191620956227265,0.2101054599771557,0.06003013142204536
+24.,0.09071794676298784,1.209198651188965,0.2000834015614235,0.0571666861604134
+24.8,0.08374321952520674,1.225928589353538,0.1903281906346319,0.05437948303844833
+25.6,0.07730473844601465,1.241834573027488,0.1808606880398746,0.0516744822971055
+26.4,0.071361270020189,1.256941967352235,0.1716967621409527,0.04905621775456805
+27.2,0.06587475438272259,1.271277313450075,0.1628479316805788,0.04652798048004194
+28.,0.06081006315685783,1.284867983269628,0.1543219530868909,0.04409198659674173
+28.8,0.05613476852374712,1.297741871607027,0.1461233593826019,0.04174953125096096
+29.6,0.05181892392226671,1.309927121418986,0.1382539541721243,0.0395011297658462
+30.4,0.04783489541193537,1.321451942843897,0.1307131612575442,0.03734661749998786
+31.2,0.04415717006896345,1.332344403403221,0.1234984260411924,0.03528526456480921
+32.,0.04076220093552568,1.342632288320278,0.1166055102575724,0.03331586011376166
+32.8,0.03762825523230895,1.352342952123768,0.1100287921572989,0.03143679779533636
+33.6,0.03473525897164842,1.36150321109865,0.1037615294430774,0.02964615127555122
+34.4,0.03206468522853021,1.370139266844675,0.09779604744017042,0.02794172782258457
+35.2,0.02959943346710135,1.378276632986186,0.09212393306008882,0.02632112372712448
+36.,0.027323722180051,1.385940071423197,0.08673620591012841,0.02478177315357742
+36.8,0.02522297708797724,1.393153559849365,0.08162346257603446,0.02332098926613955
+37.6,0.02328374526144436,1.39994025251584,0.07677600173609196,0.02193600042949677
+38.4,0.0214936087607868,1.406322464522599,0.07218392622999024,0.02062397904478536
+39.2,0.01984110420435494,1.412321657365297,0.0678372379437243,0.01938206804361763
+40.,0.01831565024968183,1.417958433514777,0.06372591574891751,0.01820740449969071
diff --git a/models/sbml-test-suite/cases/semantic/00761/00761-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00761/00761-sbml-l2v4.xml
new file mode 100644
index 0000000..73272d4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00761/00761-sbml-l2v4.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00761" id="case00761" name="case00761">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="greaterthan" name="greaterthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <gt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.375"/>
+      <parameter id="k3" name="k3" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> S1 </ci>
+              <apply>
+                <ci> add </ci>
+                <cn type="integer"> 1 </cn>
+                <ci> k3 </ci>
+              </apply>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> greaterthan </ci>
+              <ci> X1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00761/00761-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00761/00761-sbml-l3v1.xml
new file mode 100644
index 0000000..13b0b8e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00761/00761-sbml-l3v1.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00761" id="case00761" name="case00761" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="greaterthan" name="greaterthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <gt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="add" name="add">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> S1 </ci>
+              <apply>
+                <ci> add </ci>
+                <cn type="integer"> 1 </cn>
+                <ci> k3 </ci>
+              </apply>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> greaterthan </ci>
+              <ci> X1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00761/00761-settings.txt b/models/sbml-test-suite/cases/semantic/00761/00761-settings.txt
new file mode 100644
index 0000000..254736a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00761/00761-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 40.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00762/00762-results.csv b/models/sbml-test-suite/cases/semantic/00762/00762-results.csv
new file mode 100644
index 0000000..ab7709b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00762/00762-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.2,0.2,-3.639594695233321e-22,1.544905196784829e-25
+0.2,0.1506974918559806,0.1466611172815501,0.04930250814401948,0.004036374574430379
+0.4,0.1326816824303609,0.1202747569980942,0.06731831756963911,0.01240692543226656
+0.6,0.1265637811065801,0.1042176910335963,0.07343621889341997,0.02234609007298367
+0.8,0.1255842896082523,0.09284962096562132,0.07441571039174781,0.03273466864263088
+1.,0.1269631086194479,0.08388851771884574,0.0730368913805522,0.04307459090060204
+1.2,0.1294527200581528,0.07631861717762025,0.07054727994184735,0.05313410288053237
+1.4,0.1324625546909689,0.06965856774908758,0.0675374453090312,0.06280398694188119
+1.6,0.135701352230964,0.06366724118834633,0.06429864776903618,0.1383682413375818
+1.8,0.1390195999997013,0.0582155980222272,0.06098040000029885,0.1471381322724383
+2.,0.1423368344301764,0.05322811331249613,0.0576631655698238,0.1554428514126442
+2.2,0.1456071791136787,0.04865527614367748,0.0543928208863214,0.1632860332649653
+2.4,0.1488026885733654,0.04446047080685542,0.05119731142663471,0.1706763480614741
+2.6,0.1519051845447382,0.04061368519810577,0.04809481545526189,0.1776256296415965
+2.8,0.1549022048907578,0.03708851105573435,0.04509779510924212,0.1841478241299876
+3.,0.1577849605323183,0.03386074221994527,0.04221503946768167,0.190258348607337
+3.2,0.1605472751112052,0.03090774652202351,0.03945272488879468,0.1959736588841457
+3.4,0.1631850034248564,0.02820820552307002,0.03681499657514344,0.2013109281967505
+3.6,0.1656956802543527,0.0257420213272187,0.03430431974564722,0.206287789222098
+3.8,0.1680782779222906,0.02349029153077491,0.0319217220777093,0.2109221166864799
+4.,0.1703330142059001,0.02143530455928318,0.02966698579409977,0.2152318399415811
+4.2,0.1724611838429391,0.01956053355443397,0.02753881615706079,0.219234780583469
+4.4,0.1744650025028138,0.01785062008450276,0.02553499749718614,0.222948512713275
+4.6,0.1763474595868161,0.01629134547280743,0.02365254041318384,0.2263902444089726
+4.8,0.1781121795561767,0.01486959063852232,0.02188782044382322,0.2295767192126183
+5.,0.1797632927321146,0.01357328664315411,0.0202367072678854,0.2325241363839243
+5.2,0.1813053167251166,0.01239135851024435,0.01869468327488334,0.2352480885098363
+5.4,0.1827430494080389,0.01131366478838296,0.01725695059196113,0.2377635149146199
+5.6,0.1840814739353726,0.01033093501699905,0.01591852606462727,0.2400846692133376
+5.8,0.1853256758826187,0.009434706864343719,0.01467432411738124,0.2422250993132388
+6.,0.1864807722046356,0.008617264317023289,0.01351922779536444,0.2441976381825761
+6.2,0.1875518514169805,0.007871577940417304,0.0124481485830195,0.2460144037715271
+6.4,0.1885439241955569,0.007191247922585027,0.01145607580444316,0.2476868065679357
+6.6,0.1894618834585528,0.006570450359520712,0.01053811654144729,0.249225563393996
+6.8,0.1903104729297477,0.006003887038806057,0.009689527070252243,0.2506407161859057
+7.,0.1910942631688983,0.005486738823621151,0.008905736831101848,0.251941654640241
+7.2,0.1918176340806024,0.005014622624336447,0.008182365919397754,0.25313714175123
+7.4,0.192484762965706,0.004583551862255351,0.007515237034294086,0.2542353413984148
+7.6,0.193099617249747,0.004189900274785843,0.006900382750253133,0.2552438472699253
+7.8,0.1936659511028214,0.003830368875015285,0.006334048897178801,0.2561697125227702
+8.,0.1941873052494416,0.00350195585901628,0.0058126947505584,0.2570194796853896
+8.2,0.1946670093507533,0.00320192924576754,0.005332990649246852,0.25779921039995
+8.4,0.1951081864218514,0.002927802033923579,0.004891813578148786,0.2585145146828921
+8.6,0.1955137588224042,0.002677309665382338,0.00448624117759592,0.2591705794519862
+8.8,0.19588645542779,0.002448389594957783,0.004113544572210181,0.2597721961277964
+9.,0.1962288196500854,0.002239162776813167,0.003771180349914784,0.2603237871682365
+9.2,0.196543218033608,0.002047916891555303,0.003456781966392195,0.2608294314370169
+9.4,0.1968318491981166,0.001873091151079778,0.003168150801883531,0.2612928883420011
+9.6,0.1970967529449347,0.001713262531711011,0.002903247055065518,0.2617176207081877
+9.8,0.1973398193775383,0.001567133299229344,0.0026601806224619,0.262106816373273
+10.,0.1975627979190064,0.001433519701643878,0.002437202080993853,0.2624634085123265
diff --git a/models/sbml-test-suite/cases/semantic/00762/00762-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00762/00762-sbml-l2v4.xml
new file mode 100644
index 0000000..a0349f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00762/00762-sbml-l2v4.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00762" id="case00762" name="case00762">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="greaterthan" name="greaterthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <gt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="subtract" name="subtract">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="10"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> subtract </ci>
+            <ci> k2 </ci>
+            <cn> 0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> greaterthan </ci>
+              <ci> S4 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <cn type="integer"> 2 </cn>
+                <ci> S4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00762/00762-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00762/00762-sbml-l3v1.xml
new file mode 100644
index 0000000..4afc2eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00762/00762-sbml-l3v1.xml
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00762" id="case00762" name="case00762" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="greaterthan" name="greaterthan">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <gt/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="subtract" name="subtract">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="10" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> subtract </ci>
+            <ci> k2 </ci>
+            <cn> 0.9 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> greaterthan </ci>
+              <ci> S4 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <cn type="integer"> 2 </cn>
+                <ci> S4 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00762/00762-settings.txt b/models/sbml-test-suite/cases/semantic/00762/00762-settings.txt
new file mode 100644
index 0000000..104d181
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00762/00762-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00763/00763-results.csv b/models/sbml-test-suite/cases/semantic/00763/00763-results.csv
new file mode 100644
index 0000000..0e8e45c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00763/00763-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.2,0.8013223155387665,1.801322315538763,1.198677684461236
+0.4,0.6738662230523208,1.673866223052317,1.326133776947682
+0.6,0.5887929243701314,1.588792924370128,1.411207075629871
+0.8,0.5304961572253974,1.530496157225394,1.469503842774605
+1.,0.4898248837185535,1.48982488371855,1.510175116281449
+1.2,0.4610937667436381,1.461093766743635,1.538906233256364
+1.4,0.4406180045468303,1.440618004546827,1.559381995453172
+1.6,0.4259338607395112,1.425933860739508,1.574066139260492
+1.8,0.4153557868663377,1.415355786866334,1.584644213133665
+2.,0.4077109485620997,1.407710948562096,1.592289051437903
+2.2,0.4021730656170181,1.402173065617015,1.597826934382985
+2.4,0.3981546618849669,1.398154661884963,1.601845338115036
+2.6,0.3952352458547968,1.395235245854793,1.604764754145206
+2.8,0.3931123652351089,1.393112365235105,1.606887634764894
+3.,0.3915676953083679,1.391567695308364,1.608432304691635
+3.2,0.390443216823501,1.390443216823497,1.609556783176502
+3.4,0.3896243454415381,1.389624345441534,1.610375654558465
+3.6,0.3890278757200012,1.389027875719997,1.610972124280002
+3.8,0.3885933254485872,1.388593325448583,1.611406674551416
+4.,0.3882766974866437,1.38827669748664,1.611723302513359
+4.2,0.3880459692397013,1.388045969239698,1.611954030760302
+4.4,0.3878778246354402,1.387877824635437,1.612122175364562
+4.6,0.3877552821367537,1.38775528213675,1.612244717863249
+4.8,0.3876659707226255,1.387665970722622,1.612334029277377
+5.,0.3876008768560889,1.387600876856085,1.612399123143914
+5.2,0.3875534330527972,1.387553433052794,1.612446566947205
+5.4,0.3875188529330264,1.387518852933023,1.612481147066976
+5.6,0.3874936483163161,1.387493648316313,1.612506351683686
+5.8,0.387475277254396,1.387475277254392,1.612524722745607
+6.,0.3906964280401508,1.003232835573316,1.609303571959853
+6.2,0.4097696564691669,1.022306064002332,1.590230343530837
+6.4,0.4244087516137637,1.036945159146929,1.57559124838624
+6.6,0.4355947728475166,1.048131180380682,1.564405227152487
+6.8,0.4441132630988333,1.056649670631998,1.555886736901171
+7.,0.4505835915445033,1.063119999077668,1.549416408455501
+7.2,0.4554885640400757,1.06802497157324,1.544511435959929
+7.4,0.4592013474264516,1.071737754959617,1.540798652573552
+7.6,0.4620085435556473,1.074544951088812,1.537991456444357
+7.8,0.4641292250110692,1.076665632544235,1.535870774988934
+8.,0.4657302494325112,1.078266656965677,1.534269750567492
+8.2,0.4669383684295261,1.079474775962692,1.533061631570477
+8.4,0.4678496684045088,1.080386075937675,1.532150331595494
+8.6,0.4685368838652014,1.081073291398368,1.531463116134801
+8.8,0.4690550078237632,1.08159141535693,1.530944992176239
+9.,0.4694455847071454,1.081981992240312,1.530554415292857
+9.2,0.4697399773485049,1.082276384881672,1.530260022651497
+9.4,0.4699618531559167,1.082498260689084,1.530038146844085
+9.6,0.4701290628369387,1.082665470370106,1.529870937163063
+9.8,0.4702550690847649,1.082791476617932,1.529744930915237
+10.,0.4703500214701448,1.082886429003312,1.529649978529857
diff --git a/models/sbml-test-suite/cases/semantic/00763/00763-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00763/00763-sbml-l2v4.xml
new file mode 100644
index 0000000..56c6f77
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00763/00763-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00763" id="case00763" name="case00763">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 5.7 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00763/00763-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00763/00763-sbml-l3v1.xml
new file mode 100644
index 0000000..1012ecc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00763/00763-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00763" id="case00763" name="case00763" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 5.7 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00763/00763-settings.txt b/models/sbml-test-suite/cases/semantic/00763/00763-settings.txt
new file mode 100644
index 0000000..197ba54
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00763/00763-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00764/00764-results.csv b/models/sbml-test-suite/cases/semantic/00764/00764-results.csv
new file mode 100644
index 0000000..2891ea4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00764/00764-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842698627,1.889094184269861,1.110905815730138
+0.2,0.8013223155387287,1.801322315538728,1.198677684461271
+0.3,0.7309282020918899,1.730928202091888,1.269071797908111
+0.4,0.673866223112698,1.673866223112696,1.326133776887304
+0.5,0.6272103609353402,1.627210360935338,1.372789639064661
+0.6,0.5887929235928308,1.588792923592829,1.41120707640717
+0.7,0.5569750606147387,1.556975060614736,1.443024939385263
+0.8,0.530496156654598,1.530496156654596,1.469503843345403
+0.9,0.5083721061715539,1.508372106171552,1.491627893828447
+1.,0.4898248831750543,1.489824883175053,1.510175116824946
+1.1,0.4873928042822223,1.001024187022748,1.512607195717778
+1.2,0.4885361629367754,1.002167545677302,1.511463837063225
+1.3,0.4895333378920855,1.003164720632612,1.510466662107915
+1.4,0.4904028889223949,1.004034271662921,1.509597111077605
+1.5,0.4911610509322699,1.004792433672796,1.50883894906773
+1.6,0.4918220174079495,1.005453400148475,1.508177982592051
+1.7,0.4923981912911659,1.006029574031691,1.507601808708835
+1.8,0.4929004072004658,1.006531789940991,1.507099592799535
+1.9,0.4933381239581434,1.006969506698669,1.506661876041857
+2.,0.4937196018601375,1.007350984600663,1.506280398139863
+2.1,0.9884893186734018,0.9960739133907933,1.517557469349733
+2.2,0.9555032544155422,0.9630878491329337,1.550543533607593
+2.3,0.9276468524819415,0.935231447199333,1.578399935541193
+2.4,0.904023369576665,0.9116079642940565,1.60202341844647
+2.5,0.8839181181141043,0.8915027128314958,1.622128669909031
+2.6,0.8667551998246251,0.8743397945420166,1.639291588198511
+2.7,0.8520660798644289,0.8596506745818204,1.653980708158707
+2.8,0.8394663401975517,0.8470509349149432,1.666580447825584
+2.9,0.8286382563012081,0.8362228510185996,1.677408531721928
+3.,0.8193175268041793,0.8269021215215708,1.686729261218956
+3.1,0.8112830462850864,0.8188676410024778,1.694763741738049
+3.2,0.8043489300953335,0.811933524812725,1.701697857927802
+3.3,0.798358226529811,0.8059428212472025,1.707688561493325
+3.4,0.7931779107088343,0.8007625054262258,1.712868877314301
+3.5,0.7886948633216375,0.796279458039029,1.717351924701498
+3.6,0.7848126134398958,0.7923972081572873,1.72123417458324
+3.7,0.7814486792703291,0.7890332739877206,1.724598108752806
+3.8,0.7785323846387793,0.7861169793561708,1.727514403384356
+3.9,0.7760030520121846,0.7835876467295761,1.730043736010951
+4.,0.7738084999496781,0.7813930946670696,1.732238288073457
+4.1,0.7719037888380967,0.7794883835554882,1.734142999185039
+4.2,0.7702501627778276,0.7778347574952191,1.735796625245308
+4.3,0.7688141688455991,0.7763987635629906,1.737232619177536
+4.4,0.7675668924450949,0.7751514871624863,1.73847989557804
+4.5,0.766483329155709,0.7740679238731005,1.739563458867426
+4.6,0.7655418388455937,0.7731264335629852,1.740504949177541
+4.7,0.7647236748022001,0.7723082695195916,1.741323113220935
+4.8,0.7640125986122881,0.7715971933296795,1.742034189410847
+4.9,0.7633945238738997,0.7709791185912912,1.742652264149235
+5.,0.7628572396549684,0.7704418343723599,1.743189548368167
diff --git a/models/sbml-test-suite/cases/semantic/00764/00764-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00764/00764-sbml-l2v4.xml
new file mode 100644
index 0000000..19d9a37
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00764/00764-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00764" id="case00764" name="case00764">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.43" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00764/00764-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00764/00764-sbml-l3v1.xml
new file mode 100644
index 0000000..d7809c1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00764/00764-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00764" id="case00764" name="case00764" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.43" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00764/00764-settings.txt b/models/sbml-test-suite/cases/semantic/00764/00764-settings.txt
new file mode 100644
index 0000000..4072afc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00764/00764-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00765/00765-results.csv b/models/sbml-test-suite/cases/semantic/00765/00765-results.csv
new file mode 100644
index 0000000..4af8765
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00765/00765-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842704108,1.889094184270411,1.110905815729588
+0.2,0.8013223155404307,1.80132231554043,1.198677684459569
+0.3,0.7309282008940095,1.730928200894009,1.26907179910599
+0.4,0.6738662218375924,1.673866221837592,1.326133778162407
+0.5,0.6272103624694829,1.627210362469482,1.372789637530517
+0.6,0.5887929239905047,1.588792923990504,1.411207076009495
+0.7,0.5569750615165444,1.556975061516544,1.443024938483455
+0.8,0.5304961563810717,1.530496156381071,1.469503843618928
+0.9,0.508372107802211,1.50837210780221,1.491627892197789
+1.,0.4898248831408869,1.489824883140886,1.510175116859113
+1.1,0.4742326544365683,1.474232654436567,1.525767345563432
+1.2,0.4610937613647416,1.461093761364741,1.538906238635258
+1.3,0.4500002416773839,1.450000241677383,1.549999758322616
+1.4,0.4406180046129439,1.440618004612943,1.559381995387056
+1.5,0.9642933636252903,1.46429336362529,1.599121641326303
+1.6,0.9046618379603207,1.40466183796032,1.658753166991273
+1.7,0.8557647705788208,1.35576477057882,1.707650234372773
+1.8,0.8153724181200244,1.315372418120023,1.748042586831569
+1.9,0.7818013544416997,1.281801354441699,1.781613650509894
+2.,0.7537578720973514,1.25375787209735,1.809657132854242
+2.1,0.7302324901359619,1.230232490135961,1.833182514815631
+2.2,0.7104271415412035,1.210427141541202,1.85298786341039
+2.3,0.6937037067497783,1.193703706749777,1.869711298201815
+2.4,0.6795469591265967,1.179546959126595,1.883868045824997
+2.5,0.6675373666221519,1.167537366622151,1.895877638329441
+2.6,0.6573308127285639,1.157330812728563,1.906084192223029
+2.7,0.6486432497420409,1.148643249742041,1.914771755209552
+2.8,0.6412389267333911,1.141238926733391,1.922176078218202
+2.9,0.6349212531222105,1.13492125312221,1.928493751829382
+3.,0.6295256206157813,1.129525620615781,1.933889384335811
+3.1,0.6249137136856893,1.124913713685689,1.938501291265903
+3.2,0.6209689554310794,1.120968955431079,1.942446049520513
+3.3,0.6175928312690298,1.11759283126903,1.945822173682562
+3.4,0.6147019042598724,1.114701904259872,1.94871310069172
+3.5,0.6122253669986185,1.112225366998618,1.951189637952974
+3.6,0.6101030263192731,1.110103026319273,1.953311978632319
+3.7,0.9895522316019639,1.489552231601964,1.965294204860966
+3.8,0.9341037115321649,1.434103711532165,2.020742724930765
+3.9,0.8888363827581028,1.388836382758103,2.066010053704827
+4.,0.8516270709378827,1.351627070937883,2.103219365525047
+4.1,0.8208689520903291,1.32086895209033,2.1339774843726
+4.2,0.7953251799535481,1.295325179953549,2.159521256509382
+4.3,0.7740298304927498,1.274029830492751,2.18081660597018
+4.4,0.7562191684181642,1.256219168418166,2.198627268044766
+4.5,0.7412828949543974,1.241282894954399,2.213563541508533
+4.6,0.7287288765188443,1.228728876518845,2.226117559944086
+4.7,0.7181571659803772,1.218157165980378,2.236689270482552
+4.8,0.7092405433748976,1.209240543374898,2.245605893088032
+4.9,0.7017097844526579,1.201709784452659,2.253136652010271
+5.,0.6953422600837176,1.195342260083718,2.259504176379211
diff --git a/models/sbml-test-suite/cases/semantic/00765/00765-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00765/00765-sbml-l2v4.xml
new file mode 100644
index 0000000..0f2c49e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00765/00765-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00765" id="case00765" name="case00765">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.9" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00765/00765-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00765/00765-sbml-l3v1.xml
new file mode 100644
index 0000000..1a9d9d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00765/00765-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00765" id="case00765" name="case00765" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.9" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.65 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00765/00765-settings.txt b/models/sbml-test-suite/cases/semantic/00765/00765-settings.txt
new file mode 100644
index 0000000..4072afc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00765/00765-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00766/00766-results.csv b/models/sbml-test-suite/cases/semantic/00766/00766-results.csv
new file mode 100644
index 0000000..05ea0db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00766/00766-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.001199999999999999,0.002,0.001
+0.16,0.0009467801580831984,0.001146780158083198,0.002053219841916802,0.001053219841916801
+0.32,0.0009102366240006767,0.001110236624000676,0.002089763375999324,0.001089763375999323
+0.48,0.0008849931751016891,0.001084993175101688,0.002115006824898311,0.001115006824898311
+0.64,0.0008674833442402608,0.00106748334424026,0.002132516655759738,0.001132516655759739
+0.8,0.0008553029976130325,0.001055302997613031,0.002144697002386967,0.001144697002386968
+0.96,0.0008468130969272138,0.001046813096927213,0.002153186903072785,0.001153186903072786
+1.12,0.0008408872775605345,0.001040887277560533,0.002159112722439465,0.001159112722439466
+1.28,0.000836747136362764,0.001036747136362762,0.002163252863637236,0.001163252863637237
+1.44,0.0008338526220349715,0.00103385262203497,0.002166147377965028,0.001166147377965029
+1.6,0.00198053001776433,0.001012595550564698,0.002187404449435299,0.001187404449435301
+1.76,0.001872307835493037,0.0009043733682934055,0.002295626631706593,0.001295626631706594
+1.92,0.001805203522027039,0.0008372690548274078,0.00236273094517259,0.001362730945172592
+2.08,0.001763127788406965,0.0007951933212073335,0.002404806678792664,0.001404806678792666
+2.24,0.001736560573805052,0.0007686261066054199,0.002431373893394578,0.001431373893394579
+2.4,0.001719711625437299,0.0007517771582376675,0.00244822284176233,0.001448222841762332
+2.56,0.001708996147496078,0.0007410616802964462,0.002458938319703551,0.001458938319703553
+2.72,0.001702169290554777,0.0007342348233551448,0.002465765176644853,0.001465765176644854
+2.88,0.00169781497056967,0.0007298805033700384,0.002470119496629959,0.001470119496629961
+3.04,0.001695035682286288,0.0007271012150866558,0.002472898784913341,0.001472898784913343
+3.2,0.001693260898183369,0.0007253264309837369,0.00247467356901626,0.001474673569016262
+3.36,0.001692127229964986,0.0007241927627653541,0.002475807237234642,0.001475807237234645
+3.52,0.001691402949300325,0.0007234684821006927,0.002476531517899303,0.001476531517899306
+3.68,0.00169094016292165,0.0007230056957220176,0.002476994304277979,0.001476994304277981
+3.84,0.001690644438481566,0.0007227099712819343,0.002477290028718062,0.001477290028718065
+4.,0.001690455458753044,0.0007225209915534123,0.002477479008446584,0.001477479008446587
+4.16,0.00169033468933484,0.0007224002221352087,0.002477599777864787,0.001477599777864791
+4.32,0.001690257509007188,0.0007223230418075559,0.00247767695819244,0.001477676958192443
+4.48,0.001690208184590003,0.0007222737173903708,0.002477726282609626,0.001477726282609628
+4.64,0.001690176662051679,0.000722242194852047,0.002477757805147949,0.001477757805147952
+4.8,0.001690156516337552,0.0007222220491379197,0.002477777950862076,0.001477777950862079
+4.96,0.001690143641386087,0.0007222091741864548,0.002477790825813541,0.001477790825813544
+5.12,0.001690135413098525,0.0007222009458988933,0.002477799054101103,0.001477799054101106
+5.28,0.001690130154452788,0.0007221956872531558,0.002477804312746841,0.001477804312746843
+5.44,0.001690126793678176,0.0007221923264785442,0.002477807673521452,0.001477807673521455
+5.6,0.001690124645838028,0.0007221901786383963,0.0024778098213616,0.001477809821361603
+5.76,0.001690123273154085,0.0007221888059544533,0.002477811194045543,0.001477811194045546
+5.92,0.001690122395880174,0.0007221879286805423,0.002477812071319454,0.001477812071319457
+6.08,0.001690121835219276,0.0007221873680196453,0.002477812631980351,0.001477812631980355
+6.24,0.001690121476906303,0.0007221870097066715,0.002477812990293325,0.001477812990293328
+6.4,0.001690121247909922,0.0007221867807102906,0.002477813219289705,0.001477813219289709
+6.56,0.001690121101557983,0.0007221866343583509,0.002477813365641644,0.001477813365641648
+6.72,0.001690121008025404,0.0007221865408257725,0.002477813459174223,0.001477813459174227
+6.88,0.001690120948249657,0.0007221864810500252,0.00247781351894997,0.001477813518949974
+7.04,0.001690120910046837,0.0007221864428472058,0.00247781355715279,0.001477813557152794
+7.2,0.00169012088563178,0.000722186418432148,0.002477813581567847,0.001477813581567851
+7.36,0.001690120870028341,0.0007221864028287089,0.002477813597171287,0.00147781359717129
+7.52,0.001690120860056276,0.0007221863928566442,0.002477813607143351,0.001477813607143355
+7.68,0.00169012085368321,0.0007221863864835786,0.002477813613516417,0.001477813613516421
+7.84,0.001690120849610141,0.0007221863824105088,0.002477813617589486,0.001477813617589491
+8.,0.0016901208470071,0.0007221863798074683,0.002477813620192526,0.001477813620192531
diff --git a/models/sbml-test-suite/cases/semantic/00766/00766-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00766/00766-sbml-l2v4.xml
new file mode 100644
index 0000000..c8a4b42
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00766/00766-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00766" id="case00766" name="case00766">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.24" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00766/00766-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00766/00766-sbml-l3v1.xml
new file mode 100644
index 0000000..934d6e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00766/00766-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00766" id="case00766" name="case00766" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.24" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 500 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00766/00766-settings.txt b/models/sbml-test-suite/cases/semantic/00766/00766-settings.txt
new file mode 100644
index 0000000..f4eccf8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00766/00766-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00767/00767-results.csv b/models/sbml-test-suite/cases/semantic/00767/00767-results.csv
new file mode 100644
index 0000000..ff2facc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00767/00767-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.12,0.2,0.1
+0.24,0.09268122763582745,0.1126812276358274,0.2073187723641725,0.1073187723641725
+0.48,0.08849931750962128,0.1084993175096212,0.2115006824903787,0.1115006824903787
+0.72,0.08608438656403698,0.1060843865640369,0.213915613435963,0.113915613435963
+0.96,0.1930543975542926,0.09813272310960348,0.2218672768903963,0.1218672768903965
+1.2,0.1803046542742598,0.08538297982957074,0.2346170201704291,0.1346170201704292
+1.44,0.1739878794233719,0.07906620497868281,0.240933795021317,0.1409337950213172
+1.68,0.1708063634721195,0.07588468902743049,0.2441153109725694,0.1441153109725695
+1.92,0.1691906781808663,0.07426900373617725,0.2457309962638226,0.1457309962638227
+2.16,0.1647636115289804,0.06984193708429142,0.2501580629157084,0.1040704580006466
+2.4,0.1609876334736891,0.06606595902899999,0.2539340409709998,0.1078464360559381
+2.64,0.158969442885327,0.06404776844063803,0.2559522315593618,0.1098646266443
+2.88,0.1578851681390859,0.06296349369439698,0.2570365063056029,0.1109489013905411
+3.12,0.1573010224284436,0.06237934798375461,0.2576206520162452,0.1115330471011834
+3.36,0.1569858476165355,0.06206417317184653,0.2579358268281533,0.1118482219130915
+3.6,0.1568156586505056,0.06189398420581664,0.2581060157941832,0.1120184108791214
+3.84,0.1567237195294755,0.06180204508478645,0.2581979549152134,0.1121103500001516
+4.08,0.1566740407513417,0.06175236630665261,0.2582476336933473,0.1121600287782855
+4.32,0.1566471936506082,0.06172551920591923,0.2582744807940807,0.1121868758790189
+4.56,0.1566326841288808,0.0617110096841918,0.258288990315808,0.1122013854007463
+4.8,0.1566248421649162,0.0617031677202272,0.2582968322797727,0.1122092273647109
+5.04,0.1566206037370409,0.0616989292923518,0.258301070707648,0.1122134657925863
+5.28,0.1566183129217667,0.06169663847707763,0.2583033615229222,0.1122157566078605
+5.52,0.156617074758229,0.06169540031353993,0.2583045996864599,0.1122169947713982
+5.76,0.156616405540503,0.06169473109581394,0.2583052689041859,0.1122176639891242
+6.,0.1566160438324566,0.06169436938776751,0.2583056306122323,0.1122180256971706
+6.24,0.156615848331914,0.06169417388722488,0.258305826112775,0.1122182211977132
+6.48,0.1566157426653619,0.06169406822067283,0.2583059317793271,0.1122183268642653
+6.72,0.1566156855532829,0.06169401110859379,0.2583059888914062,0.1122183839763443
+6.96,0.1566156546845155,0.06169398023982643,0.2583060197601735,0.1122184148451117
+7.2,0.1566156380001123,0.06169396355542312,0.2583060364445768,0.1122184315295149
+7.44,0.156615628982287,0.06169395453759787,0.2583060454624021,0.1122184405473402
+7.68,0.1566156241082179,0.06169394966352873,0.2583060503364712,0.1122184454214093
+7.92,0.1566156214737749,0.06169394702908579,0.2583060529709141,0.1122184480558523
+8.16,0.1566156200499209,0.06169394560523178,0.2583060543947681,0.1122184494797063
+8.4,0.1566156192803142,0.06169394483562502,0.2583060551643749,0.1122184502493131
+8.64,0.156615618864356,0.06169394441966683,0.2583060555803331,0.1122184506652712
+8.88,0.1566156186395397,0.06169394419485051,0.2583060558051495,0.1122184508900876
+9.12,0.1566156185180207,0.06169394407333152,0.2583060559266685,0.1122184510116065
+9.36,0.1566156184523438,0.06169394400765452,0.2583060559923455,0.1122184510772835
+9.6,0.1566156184168404,0.06169394397215113,0.2583060560278489,0.1122184511127869
+9.84,0.1566156183976519,0.06169394395296266,0.2583060560470374,0.1122184511319754
+10.08,0.1566156183872853,0.06169394394259605,0.258306056057404,0.112218451142342
+10.32,0.1566156183816883,0.0616939439369991,0.2583060560630009,0.112218451147939
+10.56,0.1566156183785953,0.06169394393390612,0.2583060560660939,0.112218451151032
+10.8,0.1566156183769734,0.06169394393228425,0.2583060560677157,0.1122184511526538
+11.04,0.156615618376097,0.0616939439314079,0.258306056068592,0.1122184511535301
+11.28,0.1566156183756303,0.06169394393094117,0.2583060560690587,0.1122184511539969
+11.52,0.1566156183753733,0.06169394393068418,0.2583060560693157,0.1122184511542539
+11.76,0.1566156183752246,0.06169394393053546,0.2583060560694645,0.1122184511544026
+12.,0.1566156183751586,0.06169394393046947,0.2583060560695305,0.1122184511544686
diff --git a/models/sbml-test-suite/cases/semantic/00767/00767-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00767/00767-sbml-l2v4.xml
new file mode 100644
index 0000000..d4d2c51
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00767/00767-sbml-l2v4.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00767" id="case00767" name="case00767">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.12" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.2" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 0.225 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00767/00767-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00767/00767-sbml-l3v1.xml
new file mode 100644
index 0000000..276e9c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00767/00767-sbml-l3v1.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00767" id="case00767" name="case00767" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.12" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 0.225 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00767/00767-settings.txt b/models/sbml-test-suite/cases/semantic/00767/00767-settings.txt
new file mode 100644
index 0000000..65bee09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00767/00767-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00768/00768-results.csv b/models/sbml-test-suite/cases/semantic/00768/00768-results.csv
new file mode 100644
index 0000000..71d4eb2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00768/00768-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00012,0.0002,0.0001
+0.2,0.00009363300101483543,0.0001136330010148354,0.0002063669989851645,0.0001063669989851645
+0.4,0.00008964585455531358,0.0001096458545553135,0.0002103541454446863,0.0001103541454446864
+0.6,0.00008712827475348653,0.0001071282747534865,0.0002128717252465133,0.0001128717252465134
+0.8,0.00008553029963903717,0.0001055302996390371,0.0002144697003609627,0.0001144697003609628
+1.,0.00008451266143185497,0.0001045126614318549,0.0002154873385681449,0.000115487338568145
+1.2,0.00008386323310699522,0.0001038632331069952,0.0002161367668930046,0.0001161367668930047
+1.4,0.00008344822884899908,0.000103448228848999,0.0002165517711510008,0.0001165517711510009
+1.6,0.00008318280124576257,0.0001031828012457625,0.0002168171987542373,0.0001168171987542374
+1.8,0.00008301294616158232,0.0001030129461615823,0.0002169870538384175,0.0001169870538384176
+2.,0.00008290421277776709,0.000102904212777767,0.0002170957872222327,0.0001170957872222329
+2.2,0.00008283459097297446,0.0001028345909729744,0.0002171654090270254,0.0001171654090270255
+2.4,0.0000827900058532111,0.0001027900058532111,0.0002172099941467887,0.0001172099941467889
+2.6,0.00008276145135909838,0.0001027614513590983,0.0002172385486409014,0.0001172385486409016
+2.8,0.00008274316255914862,0.0001027431625591486,0.0002172568374408512,0.0001172568374408513
+3.,0.000186949097507726,0.00008968706381083593,0.0002303129361891638,0.00006305090249227407
+3.2,0.0001731990260541561,0.0000759369923572661,0.0002440630076427337,0.0000768009739458439
+3.4,0.000165154196035657,0.00006789216233876688,0.0002521078376612328,0.00008484580396434312
+3.6,0.0001603671724850207,0.0000631051387881306,0.0002568948612118692,0.0000896328275149794
+3.8,0.0001574900060145023,0.00006022797231761222,0.0002597720276823877,0.00009250999398549779
+4.,0.000155750307014232,0.00005848827331734184,0.000261511726682658,0.00009424969298576817
+4.2,0.0001546945609721956,0.00005743252727530548,0.0002625674727246944,0.00009530543902780454
+4.4,0.0001540524640565397,0.00005679043035964961,0.0002632095696403502,0.00009594753594346042
+4.6,0.0001536614227764187,0.00005639938907952861,0.0002636006109204712,0.00009633857722358141
+4.8,0.000153423081963395,0.00005616104826650486,0.000263838951733495,0.00009657691803660515
+5.,0.0001532777403746321,0.00005601570667774191,0.0002639842933222579,0.00009672225962536813
+5.2,0.0001531890834122349,0.00005592704971534474,0.0002640729502846551,0.00009681091658776528
+5.4,0.0001531349935516816,0.00005587295985479149,0.0002641270401452083,0.00009686500644831855
+5.6,0.0001531019894175888,0.0000558399557206986,0.0002641600442793013,0.00009689801058241144
+5.8,0.0001952357700389779,0.00005106524974979107,0.0002689347502502088,0.00005476422996102193
+6.,0.000189335799418971,0.00004516527912978413,0.0002748347208702157,0.00006066420058102886
+6.2,0.0001858291654253091,0.00004165864513612229,0.0002783413548638775,0.00006417083457469067
+6.4,0.0001837296552498907,0.00003955913496070385,0.000280440865039296,0.00006627034475010911
+6.6,0.0001824670983623128,0.00003829657807312591,0.0002817034219268739,0.00006753290163768704
+6.8,0.0001817058460704291,0.00003753532578124221,0.0002824646742187576,0.00006829415392957074
+7.,0.0001812461232077459,0.00003707560291855901,0.0002829243970814409,0.00006875387679225395
+7.2,0.0001809682286115321,0.00003679770832234521,0.0002832022916776547,0.00006903177138846774
+7.4,0.0001808001486576954,0.00003662962836850843,0.0002833703716314916,0.00006919985134230452
+7.6,0.0001806984526430299,0.00003652793235384294,0.000283472067646157,0.00006930154735696999
+7.8,0.0001806369088812927,0.00003646638859210575,0.0002835336114078942,0.00006936309111870716
+8.,0.0001805996594098324,0.00003642913912064555,0.0002835708608793544,0.00006940034059016739
+8.2,0.0001805771123955213,0.00003640659210633443,0.0002835934078936655,0.00006942288760447849
+8.4,0.0001976752820203098,0.00003407747713509934,0.0002859225228649007,0.00005232471797969007
+8.6,0.0001956247395415215,0.00003202693465631101,0.0002879730653436891,0.0000543752604584784
+8.8,0.0001943969923378478,0.00003079918745263733,0.0002892008125473627,0.00005560300766215207
+9.,0.0001936599996724045,0.00003006219478719405,0.0002899378052128059,0.00005634000032759537
+9.2,0.0001932169159300951,0.00002961911104488459,0.0002903808889551155,0.00005678308406990484
+9.4,0.0001929502854204079,0.00002935248053519744,0.0002906475194648026,0.00005704971457959198
+9.6,0.0001927897480827063,0.00002919194319749576,0.0002908080568025044,0.00005721025191729367
+9.8,0.000192693056761488,0.00002909525187627748,0.0002909047481237227,0.00005730694323851197
+10.,0.0001926348080339879,0.00002903700314877741,0.0002909629968512229,0.00005736519196601204
diff --git a/models/sbml-test-suite/cases/semantic/00768/00768-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00768/00768-sbml-l2v4.xml
new file mode 100644
index 0000000..12a1cec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00768/00768-sbml-l2v4.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00768" id="case00768" name="case00768">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.25" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.00012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0002" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="2500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 20000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00768/00768-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00768/00768-sbml-l3v1.xml
new file mode 100644
index 0000000..c86283b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00768/00768-sbml-l3v1.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00768" id="case00768" name="case00768" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.25" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.00012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 20000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00768/00768-settings.txt b/models/sbml-test-suite/cases/semantic/00768/00768-settings.txt
new file mode 100644
index 0000000..a2c7091
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00768/00768-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00769/00769-results.csv b/models/sbml-test-suite/cases/semantic/00769/00769-results.csv
new file mode 100644
index 0000000..585ee5b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00769/00769-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.1,0.606530652734937,0.893469347265063,0.6701020104487972
+0.2,0.3678793772064842,1.132120622793515,0.8490904670951366
+0.3,0.2231301593864236,1.276869840613576,0.9576523804601824
+0.4,0.1353352827296378,1.364664717270361,1.023498537952771
+0.5,0.08208499836935288,1.417915001630646,1.063436251222984
+0.6,0.04978706798785716,1.450212932012142,1.087659699009106
+0.7,0.03019738286940604,1.469802617130593,1.102351962847945
+0.8,0.01831563781787338,1.481684362182126,1.111263271636594
+0.9,0.01110899639766705,1.488891003602332,1.116668252701749
+1.,0.006737946867325076,1.493262053132673,1.119946539849505
+1.1,0.004086771112444829,1.495913228887553,1.121934921665665
+1.2,0.002478751894639269,1.497521248105359,1.123140936079019
+1.3,0.001503439058391464,1.498496560941607,1.123872420706205
+1.4,0.0009118819396782899,1.49908811806032,1.12431608854524
+1.5,0.0005530843661721775,1.499446915633826,1.124585186725369
+1.6,0.000335462607383218,1.499664537392615,1.124748403044461
+1.7,0.0002034683468230013,1.499796531653175,1.124847398739881
+1.8,0.0001234097974774222,0.7500148612511453,0.562511145938359
+1.9,0.0000748518258556623,0.7500634192227673,0.5625475644170754
+2.,0.00004539992734529719,0.7500928711212779,0.5625696533409585
+2.1,0.00002753644776111519,0.750110734600862,0.5625830509506465
+2.2,0.00001670169967390677,0.7501215693489493,0.562591177011712
+2.3,0.00001013009252358222,0.7501281409560997,0.5625961057170747
+2.4,6.144211953179986e-6,0.7501321268366701,0.5625990951275026
+2.5,3.726652920220423e-6,0.7501345443957034,0.5626009082967775
+2.6,2.260329117724021e-6,0.7501360107195062,0.5626020080396296
+2.7,1.370958862048653e-6,0.7501369000897619,0.5626026750673214
+2.8,8.315286026041617e-7,0.7501374395200214,0.5626030796400161
+2.9,5.043476229747888e-7,0.7501377667010011,0.5626033250257509
+3.,3.059023028745975e-7,0.7501379651463213,0.5626034738597409
+3.1,1.855391153785158e-7,0.750138085509509,0.5626035641321317
+3.2,1.12535156736175e-7,0.7501381585134676,0.5626036188851006
+3.3,6.825602342740593e-8,0.750138202792601,0.5626036520944507
+3.4,4.139937328622488e-8,0.750138229649251,0.5626036722369383
+3.5,2.510999022063038e-8,0.7501382459386339,0.5626036844539754
+3.6,1.522997827663011e-8,0.750138255818646,0.5626036918639845
+3.7,9.237448256329299e-9,0.7501382618111759,0.5626036963583819
+3.8,5.602795544609518e-9,0.7501382654458285,0.5626036990843713
+3.9,3.39826744329242e-9,0.7501382676503567,0.5626037007377675
+4.,2.061153506651815e-9,0.7501382689874708,0.5626037017406031
+4.1,1.250152765393367e-9,0.7501382697984715,0.5626037023488537
+4.2,7.582559357337134e-10,0.7501382702903685,0.5626037027177763
+4.3,4.599054626762161e-10,0.7501382705887188,0.5626037029415391
+4.4,2.789467740023568e-10,0.7501382707696773,0.5626037030772579
+4.5,1.69189781188231e-10,0.7501382708794343,0.5626037031595757
+4.6,1.026187894189837e-10,0.7501382709460053,0.562603703209504
+4.7,6.224143829132542e-11,0.7501382709863827,0.562603703239787
+4.8,3.77513392680027e-11,0.7501382710108727,0.5626037032581545
+4.9,2.289734524033773e-11,0.7501382710257267,0.5626037032692949
+5.,1.388794312649442e-11,0.7501382710347361,0.5626037032760521
diff --git a/models/sbml-test-suite/cases/semantic/00769/00769-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00769/00769-sbml-l2v4.xml
new file mode 100644
index 0000000..9e161fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00769/00769-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00769" id="case00769" name="case00769">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.63" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.375" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00769/00769-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00769/00769-sbml-l3v1.xml
new file mode 100644
index 0000000..5f9ca4c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00769/00769-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00769" id="case00769" name="case00769" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.63" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.375" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00769/00769-settings.txt b/models/sbml-test-suite/cases/semantic/00769/00769-settings.txt
new file mode 100644
index 0000000..4072afc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00769/00769-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00770/00770-results.csv b/models/sbml-test-suite/cases/semantic/00770/00770-results.csv
new file mode 100644
index 0000000..1861990
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00770/00770-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.375
+0.1,0.6065306527282378,0.8934693472717621,0.6701020104538216
+0.2,0.3678793785780327,1.132120621421967,0.8490904660664755
+0.3,0.2231301601143213,1.276869839885678,0.9576523799142591
+0.4,0.1353352827995035,1.364664717200496,1.023498537900372
+0.5,0.08208499786926455,1.417915002130734,1.063436251598051
+0.6,0.04978706691007342,1.450212933089926,1.087659699817444
+0.7,0.03019738313854777,1.46980261686145,1.102351962646088
+0.8,0.01831563871854158,1.481684361281456,1.111263270961092
+0.9,0.01110899566660876,1.488891004333389,1.116668253250042
+1.,0.006737946668664118,1.001470549848109,0.7511029123860821
+1.1,0.00408677115559116,1.004121725361182,0.7530912940208867
+1.2,0.002478752054718019,1.005729744462055,0.7542973083465416
+1.3,0.001503439119377369,1.006705057397395,0.7550287930480469
+1.4,0.0009118818575787568,1.007296614659194,0.7554724609943956
+1.5,0.000553084304559031,1.007655412212214,0.7557415591591607
+1.6,0.0003354626096785803,1.007873033907094,0.7559047754303208
+1.7,0.0002034683543676331,1.008005028162405,0.7560037711218041
+1.8,0.0001234097876693631,1.008085086729103,0.7560638150468278
+1.9,0.00007485181794076106,1.008133644698832,0.7561002335241242
+2.,0.00004539992403094791,1.008163096592742,0.7561223224445565
+2.1,0.00002753644757716535,1.008180960069195,0.7561357200518965
+2.2,0.00001670169978701099,1.008191794816985,0.7561438461127392
+2.3,0.00001013009238613989,1.008198366424387,0.7561487748182902
+2.4,6.144211378209642e-6,1.008202352305395,0.7561517642290462
+2.5,3.726652654895486e-6,1.008204769864118,0.7561535773980887
+2.6,2.260329231473757e-6,1.008206236187541,0.7561546771406564
+2.7,1.370959015303383e-6,1.008207125557758,0.7561553441683185
+2.8,8.315286318069508e-7,1.008207664988141,0.7561557487411061
+2.9,5.043475847484746e-7,1.008207992169188,0.7561559941268915
+3.,3.059022749915506e-7,1.008208190614498,0.7561561429608739
+3.1,1.855391190723661e-7,1.008208310977654,0.7561562332332408
+3.2,1.12535169216612e-7,1.008208383981604,0.7561562879862033
+3.3,6.825602763141444e-8,1.008208428260746,0.7561563211955595
+3.4,4.139937111811544e-8,1.008208455117402,0.7561563413380519
+3.5,2.510998764750871e-8,1.008208471406786,0.7561563535550897
+3.6,1.522997809901983e-8,1.008208481286796,0.7561563609650972
+3.7,9.237449177103226e-9,1.008208487279324,0.7561563654594936
+3.8,5.602796015394517e-9,1.008208490913977,0.7561563681854834
+3.9,3.398267357140671e-9,1.008208493118506,0.75615636983888
+4.,2.061153294183705e-9,1.00820849445562,0.7561563708417156
+4.1,1.250152712915709e-9,1.008208495266621,0.7561563714499659
+4.2,7.582559961835201e-10,1.008208495758518,0.7561563718188885
+4.3,4.599055090042722e-10,1.008208496056868,0.7561563720426509
+4.4,2.789467749238475e-10,1.008208496237826,0.7561563721783701
+4.5,1.691897653177686e-10,1.008208496347583,0.7561563722606878
+4.6,1.026187823781966e-10,1.008208496414154,0.7561563723106161
+4.7,6.224144161822525e-11,1.008208496454532,0.756156372340899
+4.8,3.775134342437386e-11,1.008208496479022,0.7561563723592668
+4.9,2.289734596654194e-11,1.008208496493876,0.7561563723704073
+5.,1.388794318612138e-11,1.008208496502885,0.7561563723771644
diff --git a/models/sbml-test-suite/cases/semantic/00770/00770-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00770/00770-sbml-l2v4.xml
new file mode 100644
index 0000000..7eb2dba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00770/00770-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00770" id="case00770" name="case00770">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.4" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00770/00770-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00770/00770-sbml-l3v1.xml
new file mode 100644
index 0000000..1a6d6b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00770/00770-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00770" id="case00770" name="case00770" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.4" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00770/00770-settings.txt b/models/sbml-test-suite/cases/semantic/00770/00770-settings.txt
new file mode 100644
index 0000000..4072afc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00770/00770-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00771/00771-results.csv b/models/sbml-test-suite/cases/semantic/00771/00771-results.csv
new file mode 100644
index 0000000..60606e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00771/00771-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842699198,1.889094184269919,1.11090581573008
+0.2,0.8013223155402242,1.801322315540224,1.198677684459776
+0.3,0.7309282020846935,1.730928202084693,1.269071797915306
+0.4,0.6738662230476977,1.673866223047697,1.326133776952302
+0.5,0.6272103610144392,1.627210361014439,1.37278963898556
+0.6,0.5887929243656386,1.588792924365638,1.411207075634361
+0.7,0.5569750598824316,1.556975059882431,1.443024940117568
+0.8,0.5304961572112842,1.530496157211284,1.469503842788715
+0.9,0.5083721068828738,1.508372106882873,1.491627893117126
+1.,0.4898248836619993,1.489824883661999,1.510175116338
+1.1,0.4742326555793149,1.474232655579315,1.525767344420685
+1.2,0.4610937667366614,1.461093766736661,1.538906233263338
+1.3,0.4500002400913346,1.450000240091334,1.549999759908665
+1.4,0.4406180044711035,1.440618004471103,1.559381995528896
+1.5,0.4326718335106743,1.432671833510674,1.567328166489325
+1.6,0.4259338606945052,1.425933860694505,1.574066139305494
+1.7,0.4202145796865758,1.420214579686576,1.579785420313423
+1.8,0.4153557869279515,1.415355786927951,1.584644213072048
+1.9,0.4112249976450429,1.411224997645043,1.588775002354956
+2.,0.407710948528252,1.407710948528252,1.592289051471747
+2.1,0.4047199745646838,1.404719974564684,1.595280025435315
+2.2,0.4021730656527535,1.402173065652754,1.597826934347245
+2.3,0.4000034611519748,1.400003461151975,1.599996538848024
+2.4,0.3981546619082652,1.398154661908265,1.601845338091734
+2.5,0.3965787936998591,1.396578793699859,1.60342120630014
+2.6,0.3952352458678296,1.39523524586783,1.604764754132169
+2.7,0.3940895370045421,1.394089537004543,1.605910462995457
+2.8,0.3964451262139419,1.003062608267849,1.603554873786057
+2.9,0.4060682195408137,1.012685701594721,1.593931780459185
+3.,0.4145065867402558,1.021124068794163,1.585493413259742
+3.1,0.4218966975306762,1.028514179584584,1.578103302469322
+3.2,0.4283615814286124,1.03497906348252,1.571638418571386
+3.3,0.4340115775720777,1.040629059625985,1.565988422427921
+3.4,0.4389452059686755,1.045562688022583,1.561054794031323
+3.5,0.4432500993578735,1.049867581411781,1.556749900642125
+3.6,0.4470039499052037,1.053621431959111,1.552996050094795
+3.7,0.4502754460817456,1.056892928135653,1.549724553918252
+3.8,0.4531251651118216,1.059742647165729,1.546874834888176
+3.9,0.4556064202175353,1.062223902271443,1.544393579782463
+4.,0.4577660465529271,1.064383528606834,1.542233953447071
+4.1,0.4596451235432059,1.066262605597113,1.540354876456793
+4.2,0.461279635342074,1.067897117395981,1.538720364657924
+4.3,0.4627010624675618,1.069318544521469,1.537298937532437
+4.4,0.4639369190237638,1.070554401077671,1.536063080976235
+4.5,0.4650112314036134,1.07162871345752,1.534988768596385
+4.6,0.4659449672121029,1.07256244926601,1.534055032787895
+4.7,0.4667564033403927,1.0733738853943,1.533243596659606
+4.8,0.4674614764492626,1.07407895850317,1.532538523550736
+4.9,0.4680740599961962,1.074691542050103,1.531925940003802
+5.,0.4686062398288701,1.075223721882777,1.531393760171128
diff --git a/models/sbml-test-suite/cases/semantic/00771/00771-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00771/00771-sbml-l2v4.xml
new file mode 100644
index 0000000..5c5e6be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00771/00771-sbml-l2v4.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00771" id="case00771" name="case00771">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00771/00771-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00771/00771-sbml-l3v1.xml
new file mode 100644
index 0000000..dae431e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00771/00771-sbml-l3v1.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00771" id="case00771" name="case00771" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00771/00771-settings.txt b/models/sbml-test-suite/cases/semantic/00771/00771-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00771/00771-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00772/00772-results.csv b/models/sbml-test-suite/cases/semantic/00772/00772-results.csv
new file mode 100644
index 0000000..60606e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00772/00772-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842699198,1.889094184269919,1.11090581573008
+0.2,0.8013223155402242,1.801322315540224,1.198677684459776
+0.3,0.7309282020846935,1.730928202084693,1.269071797915306
+0.4,0.6738662230476977,1.673866223047697,1.326133776952302
+0.5,0.6272103610144392,1.627210361014439,1.37278963898556
+0.6,0.5887929243656386,1.588792924365638,1.411207075634361
+0.7,0.5569750598824316,1.556975059882431,1.443024940117568
+0.8,0.5304961572112842,1.530496157211284,1.469503842788715
+0.9,0.5083721068828738,1.508372106882873,1.491627893117126
+1.,0.4898248836619993,1.489824883661999,1.510175116338
+1.1,0.4742326555793149,1.474232655579315,1.525767344420685
+1.2,0.4610937667366614,1.461093766736661,1.538906233263338
+1.3,0.4500002400913346,1.450000240091334,1.549999759908665
+1.4,0.4406180044711035,1.440618004471103,1.559381995528896
+1.5,0.4326718335106743,1.432671833510674,1.567328166489325
+1.6,0.4259338606945052,1.425933860694505,1.574066139305494
+1.7,0.4202145796865758,1.420214579686576,1.579785420313423
+1.8,0.4153557869279515,1.415355786927951,1.584644213072048
+1.9,0.4112249976450429,1.411224997645043,1.588775002354956
+2.,0.407710948528252,1.407710948528252,1.592289051471747
+2.1,0.4047199745646838,1.404719974564684,1.595280025435315
+2.2,0.4021730656527535,1.402173065652754,1.597826934347245
+2.3,0.4000034611519748,1.400003461151975,1.599996538848024
+2.4,0.3981546619082652,1.398154661908265,1.601845338091734
+2.5,0.3965787936998591,1.396578793699859,1.60342120630014
+2.6,0.3952352458678296,1.39523524586783,1.604764754132169
+2.7,0.3940895370045421,1.394089537004543,1.605910462995457
+2.8,0.3964451262139419,1.003062608267849,1.603554873786057
+2.9,0.4060682195408137,1.012685701594721,1.593931780459185
+3.,0.4145065867402558,1.021124068794163,1.585493413259742
+3.1,0.4218966975306762,1.028514179584584,1.578103302469322
+3.2,0.4283615814286124,1.03497906348252,1.571638418571386
+3.3,0.4340115775720777,1.040629059625985,1.565988422427921
+3.4,0.4389452059686755,1.045562688022583,1.561054794031323
+3.5,0.4432500993578735,1.049867581411781,1.556749900642125
+3.6,0.4470039499052037,1.053621431959111,1.552996050094795
+3.7,0.4502754460817456,1.056892928135653,1.549724553918252
+3.8,0.4531251651118216,1.059742647165729,1.546874834888176
+3.9,0.4556064202175353,1.062223902271443,1.544393579782463
+4.,0.4577660465529271,1.064383528606834,1.542233953447071
+4.1,0.4596451235432059,1.066262605597113,1.540354876456793
+4.2,0.461279635342074,1.067897117395981,1.538720364657924
+4.3,0.4627010624675618,1.069318544521469,1.537298937532437
+4.4,0.4639369190237638,1.070554401077671,1.536063080976235
+4.5,0.4650112314036134,1.07162871345752,1.534988768596385
+4.6,0.4659449672121029,1.07256244926601,1.534055032787895
+4.7,0.4667564033403927,1.0733738853943,1.533243596659606
+4.8,0.4674614764492626,1.07407895850317,1.532538523550736
+4.9,0.4680740599961962,1.074691542050103,1.531925940003802
+5.,0.4686062398288701,1.075223721882777,1.531393760171128
diff --git a/models/sbml-test-suite/cases/semantic/00772/00772-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00772/00772-sbml-l2v4.xml
new file mode 100644
index 0000000..6ef28ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00772/00772-sbml-l2v4.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00772" id="case00772" name="case00772">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="4" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00772/00772-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00772/00772-sbml-l3v1.xml
new file mode 100644
index 0000000..43f080d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00772/00772-sbml-l3v1.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00772" id="case00772" name="case00772" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00772/00772-settings.txt b/models/sbml-test-suite/cases/semantic/00772/00772-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00772/00772-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00773/00773-results.csv b/models/sbml-test-suite/cases/semantic/00773/00773-results.csv
new file mode 100644
index 0000000..c59454c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00773/00773-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.16,0.8340700131976908,1.834070013197691,1.165929986802308
+0.32,0.7185561942222187,1.718556194222218,1.281443805777781
+0.48,0.6358218766191172,1.635821876619117,1.364178123380883
+0.64,0.5753516241851488,1.575351624185148,1.424648375814851
+0.8,0.5304961572168104,1.53049615721681,1.469503842783189
+0.96,0.4968573756064728,1.496857375606472,1.503142624393527
+1.12,0.4714228700898026,1.471422870089802,1.528577129910197
+1.28,0.4520722866256664,1.452072286625665,1.547927713374334
+1.44,0.4372809221803847,1.437280922180384,1.562719077819615
+1.6,0.4259338606797847,1.425933860679784,1.574066139320215
+1.76,0.4172050423036547,1.417205042303654,1.582794957696345
+1.92,0.4104760803010592,1.410476080301059,1.58952391969894
+2.08,0.4052803050459236,1.405280305045924,1.594719694954075
+2.24,0.4012633223302693,1.40126332233027,1.598736677669729
+2.4,0.3981546619194269,1.398154661919427,1.601845338080572
+2.56,0.3957471183370797,1.39574711833708,1.604252881662919
+2.72,0.3938814743455441,1.393881474345544,1.606118525654455
+2.88,0.4042429896861137,1.010860471733157,1.595757010313886
+3.04,0.4175812386148587,1.024198720661902,1.582418761385141
+3.2,0.4283615814729823,1.034979063520026,1.571638418527017
+3.36,0.4370518773603385,1.043669359407382,1.562948122639661
+3.52,0.4440426313039641,1.050660113351007,1.555957368696036
+3.68,0.4496567184762257,1.056274200523269,1.550343281523774
+3.84,0.454159122621424,1.060776604668468,1.545840877378575
+4.,0.4577660465436271,1.064383528590671,1.542233953456372
+4.16,0.4606530694401063,1.06727055148715,1.539346930559893
+4.32,0.4629622624897318,1.069579744536776,1.537037737510267
+4.48,0.4648082458431288,1.071425727890173,1.53519175415687
+4.64,0.4662832753129354,1.072900757359979,1.533716724687064
+4.8,0.467461476455361,1.074078958502405,1.532538523544638
+4.96,0.4684023109693407,1.075019793016385,1.531597689030658
+5.12,0.4691534306440819,1.075770912691126,1.530846569355917
+5.28,0.4697529820714549,1.076370464118499,1.530247017928544
+5.44,0.4702314792570567,1.076848961304101,1.529768520742942
+5.6,0.4706133195764368,1.077230801623481,1.529386680423562
+5.76,0.4709180002844141,1.077535482331458,1.529081999715585
+5.92,0.4711610960025329,1.077778578049577,1.528838903997466
+6.08,0.4713550429316966,1.07797252497874,1.528644957068302
+6.24,0.4715097703014818,1.078127252348526,1.528490229698517
+6.4,0.4716332045021842,1.078250686549228,1.528366795497815
+6.56,0.4717316718473696,1.078349153894413,1.528268328152629
+6.72,0.4718102204932823,1.078427702540326,1.528189779506717
+6.88,0.4718728783262248,1.078490360373269,1.528127121673774
+7.04,0.4719228593115547,1.078540341358599,1.528077140688444
+7.2,0.4719627280894034,1.078580210136447,1.528037271910595
+7.36,0.4719945298814503,1.078612011928495,1.528005470118548
+7.52,0.472019896976195,1.07863737902324,1.527980103023803
+7.68,0.4720401311877993,1.078657613234844,1.527959868812199
+7.84,0.472056270968628,1.078673753015672,1.527943729031371
+8.,0.4720691448726133,1.078686626919658,1.527930855127385
diff --git a/models/sbml-test-suite/cases/semantic/00773/00773-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00773/00773-sbml-l2v4.xml
new file mode 100644
index 0000000..5bb5210
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00773/00773-sbml-l2v4.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00773" id="case00773" name="case00773">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00773/00773-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00773/00773-sbml-l3v1.xml
new file mode 100644
index 0000000..385530e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00773/00773-sbml-l3v1.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00773" id="case00773" name="case00773" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00773/00773-settings.txt b/models/sbml-test-suite/cases/semantic/00773/00773-settings.txt
new file mode 100644
index 0000000..ed20bce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00773/00773-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00774/00774-results.csv b/models/sbml-test-suite/cases/semantic/00774/00774-results.csv
new file mode 100644
index 0000000..24f2884
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00774/00774-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.930281191870172,1.930281191870171,1.069718808129829
+0.12,0.8699043934601165,1.869904393460116,1.130095606539883
+0.18,0.8173317123168027,1.817331712316802,1.182668287683197
+0.24,0.7713364606633982,1.771336460663398,1.228663539336601
+0.3,0.7428459850452578,0.9928460129671287,1.257154014954742
+0.36,0.7291585085389346,0.9791585364608054,1.270841491461065
+0.42,0.7166727459629957,0.9666727738848666,1.283327254037004
+0.48,0.7052703646433876,0.9552703925652584,1.294729635356612
+0.54,0.6948466527219725,0.9448466806438433,1.305153347278026
+0.6,0.6853086532873172,0.935308681209188,1.314691346712681
+0.66,0.6765736014525669,0.9265736293744377,1.323426398547431
+0.72,0.6685676009330735,0.9185676288549443,1.331432399066925
+0.78,0.6612245067472369,0.9112245346691078,1.338775493252761
+0.84,0.6544849709277125,0.9044849988495833,1.345515029072286
+0.9,0.6482956257492318,0.8982956536711026,1.351704374250767
+0.96,0.6426083852926429,0.8926084132145137,1.357391614707355
+1.02,0.6373798398833674,0.8873798678052382,1.362620160116631
+1.08,0.6325707243276912,0.882570752249562,1.367429275672307
+1.14,0.6281454799927644,0.8781455079146353,1.371854520007234
+1.2,0.6240718371854042,0.874071865107275,1.375928162814594
+1.26,0.6203204858344622,0.870320513756333,1.379679514165536
+1.32,0.6168647576564821,0.866864785578353,1.383135242343516
+1.38,0.6136803663436791,0.8636803942655499,1.386319633656319
+1.44,0.6107451653072792,0.8607451932291501,1.389254834692719
+1.5,0.6080389388617814,0.8580389667836522,1.391961061138217
+1.56,0.6055432160119687,0.8555432439338395,1.39445678398803
+1.62,0.603241104721453,0.8532411326433239,1.396758895278545
+1.68,0.6011171439435206,0.8511171718653914,1.398882856056478
+1.74,0.5991571724297354,0.8491572003516062,1.400842827570263
+1.8,0.5973482104261004,0.8473482383479712,1.402651789573897
+1.86,0.595678350419282,0.8456783783411528,1.404321649580716
+1.92,0.5941366641256243,0.8441366920474952,1.405863335874374
+1.98,0.9954610767614995,0.8385519785407076,1.411448049381162
+2.04,0.9798395626513204,0.8229304644305285,1.42706956349134
+2.1,0.9656500528382885,0.8087409546174966,1.441259073304373
+2.16,0.9527447784075719,0.79583568018678,1.454164347735089
+2.22,0.9409938449360179,0.7840847467152259,1.465915281206643
+2.28,0.9302826587718159,0.773373560551024,1.476626467370846
+2.34,0.9205097910432729,0.763600692822481,1.486399335099389
+2.4,0.9115851844479072,0.7546760862271153,1.495323941694755
+2.46,0.9034286533681567,0.7465195551473647,1.503480472774505
+2.52,0.8959686128463768,0.7390595146255849,1.510940513296285
+2.58,0.8891409995175599,0.732231901296768,1.517768126625102
+2.64,0.8828883548072874,0.7259792565864955,1.524020771335374
+2.7,0.8771590278023674,0.7202499295815755,1.529750098340294
+2.76,0.8719065124181305,0.7149974141973386,1.535002613724531
+2.82,0.8670888442608455,0.7101797460400536,1.539820281881816
+2.88,0.8626681037771529,0.705759005556361,1.544241022365509
+2.94,0.8586099730962081,0.7017008748754162,1.548299153046453
+3.,0.8548833479494475,0.6979742497286556,1.552025778193214
diff --git a/models/sbml-test-suite/cases/semantic/00774/00774-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00774/00774-sbml-l2v4.xml
new file mode 100644
index 0000000..7482d69
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00774/00774-sbml-l2v4.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00774" id="case00774" name="case00774">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.25 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00774/00774-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00774/00774-sbml-l3v1.xml
new file mode 100644
index 0000000..108b515
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00774/00774-sbml-l3v1.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00774" id="case00774" name="case00774" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.25 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00774/00774-settings.txt b/models/sbml-test-suite/cases/semantic/00774/00774-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00774/00774-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00775/00775-results.csv b/models/sbml-test-suite/cases/semantic/00775/00775-results.csv
new file mode 100644
index 0000000..fb34d1f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00775/00775-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.012,0.02,0.01
+0.06,0.009776429638095187,0.01177642963809518,0.02022357036190481,0.01022357036190481
+0.12,0.009582588704892539,0.01158258870489254,0.02041741129510745,0.01041741129510746
+0.18,0.009414327623961417,0.01141432762396141,0.02058567237603857,0.01058567237603858
+0.24,0.009268122763582643,0.01126812276358264,0.02073187723641734,0.01073187723641735
+0.3,0.009140971040794958,0.01114097104079495,0.02085902895920502,0.01085902895920504
+0.36,0.009030304804350415,0.01103030480435041,0.02096969519564956,0.01096969519564958
+0.42,0.01957763168878258,0.01057763157482631,0.02142236842517367,0.01142236842517368
+0.48,0.01906168576093419,0.01006168564697793,0.02193831435302205,0.01193831435302206
+0.54,0.01863157354033511,0.009631573426378848,0.02236842657362113,0.01236842657362115
+0.6,0.01827208358188042,0.009272083467924144,0.02272791653207583,0.01272791653207585
+0.66,0.01797096764264659,0.008970967528690322,0.02302903247130965,0.01302903247130967
+0.72,0.01771828831717392,0.008718288203217659,0.02328171179678232,0.01328171179678234
+0.78,0.0175059307860792,0.008505930672122939,0.02349406932787704,0.01349406932787706
+0.84,0.01732723194216842,0.008327231828212161,0.02367276817178782,0.01367276817178783
+0.9,0.01717669471442853,0.00817669460047226,0.02382330539952771,0.01382330539952773
+0.96,0.01704976584717023,0.00804976573321397,0.02395023426678601,0.01395023426678602
+1.02,0.01694266101414825,0.007942660900191982,0.024057339099808,0.01405733909980801
+1.08,0.01685222561752484,0.007852225503568581,0.0241477744964314,0.01414777449643141
+1.14,0.01677582366413309,0.007775823550176837,0.02422417644982315,0.01422417644982315
+1.2,0.01671124776049476,0.007711247646538503,0.02428875235346148,0.01428875235346149
+1.26,0.01665664611020806,0.007656645996251801,0.02434335400374818,0.01434335400374819
+1.32,0.01658602358222177,0.007586023468265513,0.02441397653173448,0.0100310727164025
+1.38,0.01640227062592147,0.007402270511965212,0.02459772948803477,0.01021482567270281
+1.44,0.01624558742832763,0.007245587314371367,0.02475441268562861,0.01037150887029665
+1.5,0.01611185997177504,0.007111859857818771,0.02488814014218121,0.01050523632684925
+1.56,0.01599763298373424,0.006997632869777971,0.025002367130222,0.01061946331489005
+1.62,0.01589999569114095,0.006899995577184675,0.0251000044228153,0.01071710060748335
+1.68,0.01581648958764566,0.006816489473689385,0.02518351052631059,0.01080060671097864
+1.74,0.01574503349960264,0.00674503338564637,0.0252549666143536,0.01087206279902165
+1.8,0.01568386226730257,0.006683862153346302,0.02531613784665367,0.01093323403132172
+1.86,0.01563147626647685,0.006631476152520575,0.0253685238474794,0.01098562003214744
+1.92,0.01558659962501046,0.00658659951105419,0.02541340048894578,0.01103049667361383
+1.98,0.01554814550678109,0.006548145392824817,0.02545185460717515,0.0110689507918432
+2.04,0.0155151871184553,0.006515187004499027,0.02548481299550094,0.01110190918016899
+2.1,0.01548693342064122,0.006486933306684947,0.02551306669331501,0.01113016287798307
+2.16,0.01546270871340166,0.006462708599445385,0.02553729140055458,0.01115438758522263
+2.22,0.01544193541880877,0.006441935304852501,0.02555806469514746,0.01117516087981552
+2.28,0.01542411959014554,0.006424119476189261,0.0255758805238107,0.01119297670847876
+2.34,0.01540883853411074,0.006408838420154461,0.02559116157984551,0.01120825776451355
+2.4,0.01539573039309259,0.006395730279136317,0.02560426972086365,0.0112213659055317
+2.46,0.01538448529410306,0.006384485180146786,0.02561551481985318,0.01123261100452123
+2.52,0.01537483779769443,0.006374837683738154,0.02562516231626181,0.01124225850092986
+2.58,0.01536656047160532,0.00636656035764904,0.02563343964235092,0.01125053582701898
+2.64,0.01535945832580357,0.006359458211847295,0.02564054178815267,0.01125763797282072
+2.7,0.01535336429180571,0.006353364177849436,0.02564663582215053,0.01126373200681858
+2.76,0.0153481350470001,0.006348134933043823,0.02565186506695614,0.01126896125162419
+2.82,0.01534364775863936,0.006343647644683082,0.02565635235531688,0.01127344853998493
+2.88,0.01533979702709276,0.006339796913136484,0.02566020308686348,0.01127729927153153
+2.94,0.01533649249203398,0.006336492378077702,0.02566350762192226,0.01128060380659031
+3.,0.01533365661404878,0.0063336565000925,0.02566634349990746,0.01128343968457551
diff --git a/models/sbml-test-suite/cases/semantic/00775/00775-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00775/00775-sbml-l2v4.xml
new file mode 100644
index 0000000..ccf7e9f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00775/00775-sbml-l2v4.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00775" id="case00775" name="case00775">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 400 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 100 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00775/00775-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00775/00775-sbml-l3v1.xml
new file mode 100644
index 0000000..f180102
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00775/00775-sbml-l3v1.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00775" id="case00775" name="case00775" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 50 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 9 <sep/> 400 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.75 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 100 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00775/00775-settings.txt b/models/sbml-test-suite/cases/semantic/00775/00775-settings.txt
new file mode 100644
index 0000000..f3d33f6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00775/00775-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00776/00776-results.csv b/models/sbml-test-suite/cases/semantic/00776/00776-results.csv
new file mode 100644
index 0000000..00fdd40
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00776/00776-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8890941842699198,1.889094184269919,1.11090581573008
+0.2,0.8013223155402242,1.801322315540224,1.198677684459776
+0.3,0.7309282020869385,1.730928202086938,1.269071797913061
+0.4,0.6738662231088462,1.673866223108845,1.326133776891154
+0.5,0.6272103609293118,1.627210360929311,1.372789639070688
+0.6,0.5887929243230957,1.588792924323094,1.411207075676905
+0.7,0.5569750597304576,1.556975059730457,1.443024940269543
+0.8,0.5304961571189468,1.530496157118946,1.469503842881053
+0.9,0.5083721065948989,1.508372106594898,1.491627893405101
+1.,0.4898248835279895,1.489824883527988,1.510175116472011
+1.1,0.4742326555352971,1.474232655535296,1.525767344464703
+1.2,0.4610937667325468,1.461093766732546,1.538906233267453
+1.3,0.4500002400800592,1.450000240080058,1.549999759919941
+1.4,0.4406180044517428,1.440618004451742,1.559381995548258
+1.5,0.4326718335342096,1.432671833534208,1.567328166465791
+1.6,0.4259338606813631,1.425933860681362,1.574066139318637
+1.7,0.420214579678223,1.420214579678222,1.579785420321777
+1.8,0.4153557869497887,1.415355786949787,1.584644213050212
+1.9,0.4112249976512419,1.411224997651241,1.588775002348759
+2.,0.4077109485124162,1.407710948512415,1.592289051487584
+2.1,0.4047199745523822,1.404719974552381,1.595280025447618
+2.2,0.402173065673933,1.402173065673931,1.597826934326068
+2.3,0.9794157391880885,1.479415739188088,1.61998122768628
+2.4,0.9178132847683703,1.41781328476837,1.681583682105998
+2.5,0.8674002028979274,1.367400202897926,1.731996763976442
+2.6,0.8223375820978771,1.322337582097876,1.527059357134655
+2.7,0.7827117737929248,1.282711773792923,1.566685165439607
+2.8,0.7496158245648229,1.249615824564821,1.59978111466771
+2.9,0.7218352821101077,1.221835282110105,1.627561657122425
+3.,0.6984185305750358,1.198418530575033,1.650978408657497
+3.1,0.6786102744622875,1.178610274462285,1.670786664770245
+3.2,0.6618043371354027,1.161804337135401,1.68759260209713
+3.3,0.6475094941247754,1.147509494124773,1.701887445107757
+3.4,0.6353243216080004,1.135324321607998,1.714072617624533
+3.5,0.6249183827252786,1.124918382725276,1.724478556507255
+3.6,0.6160179371109262,1.116017937110923,1.733379002121607
+3.7,0.6083949591069658,1.108394959106963,1.741001980125568
+3.8,0.6018586010594394,1.101858601059436,1.747538338173094
+3.9,0.5927794697456169,1.092779469745614,1.506617468081651
+4.,0.5826454363593215,1.082645436359319,1.516751501467946
+4.1,0.5739224001711509,1.073922400171148,1.525474537656117
+4.2,0.5664040337861552,1.066404033786152,1.532992904041113
+4.3,0.559916628518756,1.059916628518753,1.539480309308512
+4.4,0.5543133442478029,1.0543133442478,1.545083593579465
+4.5,0.5494696053288846,1.049469605328882,1.549927332498383
+4.6,0.545279397167575,1.045279397167573,1.554117540659693
+4.7,0.5416522580523646,1.041652258052362,1.557744679774903
+4.8,0.9990694723770298,1.499069472377029,1.561779574879694
+4.9,0.9329375920670484,1.432937592067047,1.627911455189676
+5.,0.8789417160605914,1.378941716060591,1.681907331196133
diff --git a/models/sbml-test-suite/cases/semantic/00776/00776-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00776/00776-sbml-l2v4.xml
new file mode 100644
index 0000000..ef9a5ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00776/00776-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00776" id="case00776" name="case00776">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00776/00776-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00776/00776-sbml-l3v1.xml
new file mode 100644
index 0000000..454edec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00776/00776-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00776" id="case00776" name="case00776" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00776/00776-settings.txt b/models/sbml-test-suite/cases/semantic/00776/00776-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00776/00776-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00777/00777-results.csv b/models/sbml-test-suite/cases/semantic/00777/00777-results.csv
new file mode 100644
index 0000000..ec77592
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00777/00777-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,6.630679790225069e-21,4.973009842668802e-21
+0.1,0.7788007866101504,0.2211992133898498,0.1658994100423874
+0.2,0.6065306317243646,0.3934693682756356,0.2951020262067267
+0.3,0.472366547265564,0.5276334527344361,0.3957250895508271
+0.4,0.3678794530867826,0.6321205469132176,0.4740904101849132
+0.5,0.2865048180928113,0.7134951819071889,0.5351213864303917
+0.6,0.2231301839292464,0.7768698160707535,0.5826523620530651
+0.7,0.1737739619677672,0.8262260380322328,0.6196695285241746
+0.8,0.1353352976635574,0.8646647023364425,0.6484985267523318
+0.9,0.1053992357954419,0.8946007642045579,0.6709505731534184
+1.,0.0820850073737564,0.9179149926262433,0.6884362444696825
+1.1,0.06392786802398436,0.936072131976015,0.7020540989820112
+1.2,0.04978707367629303,0.9502129263237065,0.7126596947427799
+1.3,0.03877421196624409,0.9612257880337554,0.7209193410253166
+1.4,0.03019738664370445,0.9698026133562951,0.7273519600172213
+1.5,0.02351774836451602,0.9764822516354837,0.7323616887266127
+1.6,0.01831564084222183,0.7522056076480582,0.5641542057360436
+1.7,0.01426423543058915,0.7562570130596907,0.567192759794768
+1.8,0.01110899772324889,0.7594122507670312,0.5695591880752733
+1.9,0.008651696125972364,0.7618695523643075,0.5714021642732306
+2.,0.006737947717819109,0.7637833007724607,0.5728374755793455
+2.1,0.005247518958989685,0.76527372953129,0.5739552971484674
+2.2,0.004086771874521504,0.7664344766157582,0.5748258574618186
+2.3,0.003182781136180903,0.7673384673540989,0.5755038505155741
+2.4,0.002478752441241601,0.7680424960490386,0.5760318720367789
+2.5,0.001930454342284066,0.7685907941479961,0.5764430956109971
+2.6,0.001503439353449739,0.7690178091368306,0.5767633568526229
+2.7,0.001170879745766726,0.7693503687445133,0.577012776558385
+2.8,0.0009118820628918291,0.769609366427388,0.577207024820541
+2.9,0.0007101744646606256,0.7698110740256194,0.5773583055192146
+3.,0.0005530844292070422,0.7699681640610728,0.5774761230458046
+3.1,0.0004307425865796111,0.7700905059037003,0.5775678794277752
+3.2,0.0003354626637327856,0.770185785826547,0.5776393393699103
+3.3,0.0002612585852056147,0.7702599899050741,0.5776949924288056
+3.4,0.0002034683907418061,0.7703177800995376,0.5777383350746532
+3.5,0.0001584613420407258,0.7703627871482388,0.5777720903611791
+3.6,0.0001234098172694848,0.7703978386730097,0.5777983790047572
+3.7,0.00009611166233005591,0.7704251368279493,0.577818852620962
+3.8,0.00007485183788657208,0.7704463966523929,0.5778347974892946
+3.9,0.00005829466996116893,0.770462953820318,0.5778472153652385
+4.,0.00004539993461465218,0.7704758485556645,0.5778568864167483
+4.1,0.00003535750462914217,0.7704858909856495,0.5778644182392371
+4.2,0.0000275364522926651,0.7704937120379858,0.5778702840284893
+4.3,0.00002144541060874788,0.7704998030796697,0.5778748523097523
+4.4,0.00001670170257568683,0.7705045467877024,0.5778784100907767
+4.5,0.0000130072990448548,0.770508241191233,0.5778811808934247
+4.6,0.00001013009468195071,0.7705111183955958,0.5778833387966968
+4.7,7.889325670924197e-6,0.7705133591646069,0.5778850193734552
+4.8,6.144213010403154e-6,0.7705151042772677,0.5778863282079508
+4.9,4.785117903854725e-6,0.7705164633723742,0.5778873475292807
+5.,3.726653570747814e-6,0.7705175218367074,0.5778881413775305
diff --git a/models/sbml-test-suite/cases/semantic/00777/00777-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00777/00777-sbml-l2v4.xml
new file mode 100644
index 0000000..09d9f30
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00777/00777-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00777" id="case00777" name="case00777">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -2.5 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00777/00777-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00777/00777-sbml-l3v1.xml
new file mode 100644
index 0000000..d2fb704
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00777/00777-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00777" id="case00777" name="case00777" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <algebraicRule metaid="rule2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> k2 </ci>
+            <cn> -2.5 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.75 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00777/00777-settings.txt b/models/sbml-test-suite/cases/semantic/00777/00777-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00777/00777-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00778/00778-results.csv b/models/sbml-test-suite/cases/semantic/00778/00778-results.csv
new file mode 100644
index 0000000..d6c427f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00778/00778-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.25,1.5,1.,3.75
+0.2,1.225248341634303,1.539700676519924,0.9850509818457722,3.749999999999999
+0.4,1.200986798940196,1.578805488713228,0.9702077123465743,3.749999999999996
+0.6,1.177205666979558,1.617318775215723,0.9554755578047179,3.749999999999998
+0.8,1.153895432982213,1.655245081271962,0.9408594857458226,3.749999999999996
+1.,1.131046772543813,1.692589143176806,0.9263640842793794,3.749999999999999
+1.2,1.108650545895531,1.729355873471387,0.9119935806330805,3.749999999999999
+1.4,1.086697794248031,1.765550346865127,0.8977518588868403,3.749999999999999
+1.6,1.065179736207841,1.801177786851692,0.8836424769404664,3.749999999999999
+1.8,1.044087764264675,1.836243552988863,0.8696686827464605,3.749999999999998
+2.,1.023413441348331,1.870753128813516,0.8558334298381515,3.749999999999999
+2.2,1.003148497453801,1.904712110364152,0.8421393921820457,3.749999999999998
+2.4,0.9832848263334661,1.938126195284579,0.8285889783819537,3.749999999999998
+2.6,0.9638144822542471,1.971001172482932,0.8151843452628191,3.749999999999998
+2.8,0.9447296768191197,2.003342912320706,0.8019274108601735,3.749999999999997
+3.,0.9260227758512645,2.035157357316486,0.7888198668322481,3.75
+3.2,0.9076862963371271,2.066450513321097,0.7758631903417746,3.750000000000003
+3.4,0.889712903451333,2.097228441181308,0.7630586553673587,3.749999999999992
+3.6,0.8720954075870683,2.127497248808663,0.7504073436042685,3.750000000000883
+3.8,0.8548267615126187,2.157263083717691,0.7379101547696886,3.749999999999738
+4.,0.8379000575422622,2.186532125936691,0.7255678165210457,3.749999999999587
+4.2,0.8213085247678189,2.215310581316506,0.7133808939156749,3.749999999998633
+4.4,0.8050455263522877,2.243604675209541,0.7013497984381709,3.749999999999492
+4.6,0.7891045568826565,2.271420646501016,0.6894747966163263,3.750000000000107
+4.8,0.7734792397566422,2.298764741975791,0.6777560182675663,3.750000000000621
+5.,0.7581633246395979,2.325643211008811,0.6661934643515898,3.750000000001038
+5.2,0.743150684961843,2.35206230056187,0.6547870144762852,3.750000000000247
+5.4,0.7284353154666372,2.378028250474054,0.6435364340593061,3.750000000000097
+5.6,0.7140113298101042,2.403547289031659,0.6324413811582331,3.749999999999356
+5.8,0.6998729582057553,2.428625628805231,0.621501412989011,3.749999999997749
+6.,0.6860145451167392,2.453269462741146,0.6107159921421122,3.749999999999894
+6.2,0.6724305469925111,2.477484960496357,0.6000844925111282,3.750000000002188
+6.4,0.6591155300530472,2.501278265004042,0.5896062049429067,3.749999999999851
+6.6,0.6460641681030431,2.524655489264462,0.5792803426324918,3.749999999999969
+6.8,0.6332712404498805,2.547622713325791,0.5691060462243254,3.749999999999997
+7.,0.6207316297385813,2.570185981506493,0.5590823887549236,3.749999999999998
+7.2,0.6084403199469891,1.013343380692658,0.5492083802824551,2.170992080922101
+7.4,0.5963923943977708,1.035116714215496,0.5394829723088358,2.170992080922102
+7.6,0.5845830337564325,1.056503985136828,0.5299050620288423,2.170992080922116
+7.8,0.5730075141251296,1.077511070460332,0.520473496336641,2.17099208092141
+8.,0.5616612051404025,1.098143800128771,0.511187075652929,2.170992080922344
+8.2,0.5505395681272147,1.118407955230936,0.502044557563952,2.170992080922005
+8.4,0.5396381542816557,1.138309266360042,0.4930446602804045,2.170992080922141
+8.6,0.5289526028937312,1.157853412105889,0.4841860659224827,2.170992080922031
+8.8,0.518478639597621,1.177046017674985,0.4754674236494971,2.170992080921417
+9.,0.5082120746718568,1.195892653626901,0.4668873526233456,2.170992080922433
+9.2,0.4981488013522313,1.21439883473826,0.4584444448316117,2.170992080922046
+9.4,0.4882847941945799,1.232570018966011,0.4501372677615115,2.170992080920873
+9.6,0.4786161074656272,1.250411606517819,0.4419643669386571,2.170992080922175
+9.8,0.4691388735610874,1.26792893902484,0.433924268336175,2.170992080922455
+10.,0.4598493014613153,1.285127298803621,0.4260154806571667,2.170992080922103
diff --git a/models/sbml-test-suite/cases/semantic/00778/00778-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00778/00778-sbml-l2v4.xml
new file mode 100644
index 0000000..322c9df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00778/00778-sbml-l2v4.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00778" id="case00778" name="case00778">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="X0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> X1 </ci>
+            <cn> -0.25 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00778/00778-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00778/00778-sbml-l3v1.xml
new file mode 100644
index 0000000..a046574
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00778/00778-sbml-l3v1.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00778" id="case00778" name="case00778" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1.25" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="X0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> X1 </ci>
+            <cn> -0.25 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00778/00778-settings.txt b/models/sbml-test-suite/cases/semantic/00778/00778-settings.txt
new file mode 100644
index 0000000..979aa8f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00778/00778-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-002
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00779/00779-results.csv b/models/sbml-test-suite/cases/semantic/00779/00779-results.csv
new file mode 100644
index 0000000..5357b7f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00779/00779-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.25,1.5,1.,3.75
+0.4,1.200986798940196,1.578805488713228,0.9702077123465743,3.749999999999996
+0.8,1.153895432982213,1.655245081271962,0.9408594857458226,3.749999999999996
+1.2,1.108650545895531,1.729355873471387,0.9119935806330805,3.749999999999999
+1.6,1.065179736207841,1.801177786851692,0.8836424769404664,3.749999999999999
+2.,1.023413441348331,1.870753128813516,0.8558334298381515,3.749999999999999
+2.4,0.9832848263334661,1.938126195284579,0.8285889783819537,3.749999999999998
+2.8,0.9447296768191197,2.003342912320706,0.8019274108601735,3.749999999999997
+3.2,0.9076862963371271,2.066450513321097,0.7758631903417746,3.750000000000003
+3.6,0.8720954075870683,2.127497248808663,0.7504073436042685,3.750000000000883
+4.,0.8379000575422622,2.186532125936691,0.7255678165210457,3.749999999999587
+4.4,0.8050455263522877,2.243604675209541,0.7013497984381709,3.749999999999492
+4.8,0.7734792397566422,2.298764741975791,0.6777560182675663,3.750000000000621
+5.2,0.743150684961843,2.35206230056187,0.6547870144762852,3.750000000000247
+5.6,0.7140113298101042,2.403547289031659,0.6324413811582331,3.749999999999356
+6.,0.6860145451167392,2.453269462741146,0.6107159921421122,3.749999999999894
+6.4,0.6591155300530472,2.501278265004042,0.5896062049429067,3.749999999999851
+6.8,0.6332712404498805,2.547622713325791,0.5691060462243254,3.749999999999997
+7.2,0.6084403199469889,1.013343380692659,0.5492083802824547,2.170992080922102
+7.6,0.5845830337564323,1.056503985136828,0.5299050620288421,2.170992080922132
+8.,0.5616612051405915,1.098143800128982,0.5111870756525287,2.170992080920359
+8.4,0.5396381542816353,1.138309266360198,0.493044660280269,2.170992080921039
+8.8,0.5184786395984357,1.177046017674562,0.4754674236491045,2.170992080922595
+9.2,0.4981488013524487,1.214398834738277,0.4584444448313763,2.17099208092118
+9.6,0.4786161074658474,1.250411606517841,0.441964366938414,2.170992080921887
+10.,0.4598493014612729,1.285127298803843,0.4260154806569864,2.17099208092222
+10.4,0.4418183524455556,1.318587929076149,0.4105857994003978,2.17099208092321
+10.8,0.4244944070534779,1.35083454707064,0.3956631267979831,2.170992080922101
+11.2,0.4078497432762706,1.381907220460889,0.3812351171849424,2.170992080922102
+11.6,0.3918577260959743,1.411845025123551,0.3672893297025763,2.170992080922103
+12.,0.3764927648849765,1.44068603946942,0.3538132765677049,2.170992080922101
+12.4,0.3617302724211753,1.468467342475701,0.3407944660252252,2.170992080922102
+12.8,0.3475466255598097,1.495225014907985,0.3282204404543074,2.170992080922102
+13.2,0.3339191274543593,1.520994143400813,0.3160788100669298,2.170992080922102
+13.6,0.3208259711886592,1.545808827149746,0.3043572825836969,2.170992080922102
+14.,0.3082462049215159,1.56970218673226,0.2930436892683259,2.170992080922101
+14.4,0.2961596983513245,1.592706374928329,0.2821260076424493,2.170992080922103
+14.8,0.2845471104759638,1.614852589262041,0.2715923811840974,2.170992080922103
+15.2,0.2733898586863183,1.636171085921783,0.2614311363140007,2.170992080922102
+15.6,0.2626700890002294,1.656691195027671,0.2516307968942019,2.170992080922102
+16.,0.2523706474894227,1.676441336936964,0.242180096495716,2.170992080922102
+16.4,0.2424750528612667,1.695449039401562,0.2330679886592738,2.170992080922102
+16.8,0.2329674700482506,1.713740955562852,0.2242836553109989,2.170992080922102
+17.2,0.223832684885846,1.731342882482027,0.2158165135542291,2.170992080922103
+17.6,0.2150560797778352,1.748279780159524,0.2076562209847427,2.170992080922102
+18.,0.2066236102754465,1.764575790983861,0.1997926796627945,2.170992080922102
+18.4,0.1985217826308826,1.780254259369352,0.1922160389218671,2.170992080922102
+18.8,0.1907376321960058,1.79533775162535,0.184916697100746,2.170992080922102
+19.2,0.183258702661023,1.809848075936979,0.1778853023240998,2.170992080922102
+19.6,0.176073026149498,1.823806302309892,0.1711127524627117,2.170992080922101
+20.,0.1691691040459298,1.837232782553961,0.164590194322211,2.170992080922102
diff --git a/models/sbml-test-suite/cases/semantic/00779/00779-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00779/00779-sbml-l2v4.xml
new file mode 100644
index 0000000..77003c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00779/00779-sbml-l2v4.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00779" id="case00779" name="case00779">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="3" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="X0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> X1 </ci>
+            <cn> -0.25 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00779/00779-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00779/00779-sbml-l3v1.xml
new file mode 100644
index 0000000..625c9f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00779/00779-sbml-l3v1.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00779" id="case00779" name="case00779" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="X0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> X1 </ci>
+            <cn> -0.25 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00779/00779-settings.txt b/models/sbml-test-suite/cases/semantic/00779/00779-settings.txt
new file mode 100644
index 0000000..4a6393b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00779/00779-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-002
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00780/00780-results.csv b/models/sbml-test-suite/cases/semantic/00780/00780-results.csv
new file mode 100644
index 0000000..ec31217
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00780/00780-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.25,1.5,1.,3.75
+0.3,1.213056916935694,1.55932729952239,0.9776157835419144,3.74999999999999
+0.6,1.177205666979558,1.617318775215723,0.9554755578047179,3.749999999999998
+0.9,1.142413981587891,1.67398958967182,0.933596428740287,3.749999999999997
+1.2,1.108650545895531,1.729355873471387,0.9119935806330805,3.749999999999999
+1.5,1.075884970531117,1.783434614106294,0.890680415362588,3.749999999999999
+1.8,1.044087764264675,1.836243552988863,0.8696686827464605,3.749999999999998
+2.1,1.013230307463563,1.887801090027888,0.8489686025085471,3.749999999999999
+2.4,0.9832848263334661,1.938126195284579,0.8285889783819537,3.749999999999998
+2.7,0.9542243679206425,1.987238327250628,0.8085373048287277,3.749999999999998
+3.,0.9260227758512645,2.035157357316486,0.7888198668322481,3.75
+3.3,0.898654666787764,2.081903500039151,0.7694418331730845,3.749999999999982
+3.6,0.8720954075870683,2.127497248808663,0.7504073436042685,3.750000000000883
+3.9,0.8463210931198215,2.171959316577231,0.7317195903029464,3.750000000002076
+4.2,0.8213085247678189,2.215310581316506,0.7133808939156749,3.749999999998633
+4.5,0.7970351895256245,2.257572035877812,0.6953927745965622,3.74999999999938
+4.8,0.7734792397566422,2.298764741975791,0.6777560182675663,3.750000000000621
+5.1,0.7506194735143706,2.338909788010198,0.6604707384754294,3.750000000000307
+5.4,0.7284353154666372,2.378028250474054,0.6435364340593061,3.750000000000097
+5.7,0.7069067983734627,2.416141158703244,0.6269520429232899,3.749999999998675
+6.,0.6860145451167392,2.453269462741146,0.6107159921421122,3.749999999999894
+6.3,0.6657397512578006,2.489434004106031,0.5948262446361651,3.749999999997911
+6.6,0.6460641681030431,2.524655489264462,0.5792803426324918,3.749999999999969
+6.9,0.6269700863292805,2.558954465600118,0.5640754480705986,3.749999999999997
+7.2,0.6084403199469891,1.013343380692659,0.5492083802824553,2.170992080922104
+7.5,0.5904581909223936,1.045858239106734,0.534675650892975,2.170992080922103
+7.8,0.5730075141251512,1.077511070460341,0.5204734963366113,2.170992080922244
+8.1,0.5560725827745083,1.108321590136053,0.506597908011541,2.170992080922028
+8.4,0.539638154281767,1.138309266360117,0.493044660280219,2.170992080923317
+8.7,0.5236894365555416,1.167493307957979,0.4798093364085823,2.17099208092203
+9.,0.5082120746724841,1.195892653626415,0.4668873526232039,2.170992080922379
+9.3,0.4931921379611345,1.22352596258579,0.4542739803751785,2.170992080924385
+9.6,0.4786161074657588,1.250411606517648,0.4419643669386967,2.17099208092101
+9.9,0.4644708637742384,1.276567662695868,0.4299535544519969,2.170992080921667
+10.2,0.4507436752134252,1.302011908210082,0.4182364974985952,2.170992080922102
+10.5,0.4374221863807094,1.326761815213787,0.4068080793276071,2.170992080922103
+10.8,0.4244944070476899,1.350834547076575,0.3956631267978382,2.170992080922103
+11.1,0.4119487013416838,1.374246955442532,0.384796424137887,2.170992080922103
+11.4,0.3997737772631618,1.397015578067638,0.3742027255913034,2.170992080922103
+11.7,0.3879586765744961,1.419156637324124,0.3638767670234832,2.170992080922103
+12.,0.3764927648884965,1.440686039466765,0.3538132765668414,2.170992080922103
+12.3,0.3653657220947607,1.461619374469756,0.344006984357586,2.170992080922102
+12.6,0.3545675331183463,1.481971916368492,0.3344526314352647,2.170992080922103
+12.9,0.3440884788609024,1.501758624206547,0.325144977854654,2.170992080922103
+13.2,0.3339191274518023,1.52099414340472,0.3160788100655805,2.170992080922104
+13.5,0.3240503258018752,1.539692807500717,0.3072489476195114,2.170992080922104
+13.8,0.3144731913238065,1.557868640365783,0.2986502492325136,2.170992080922103
+14.1,0.3051791039369974,1.575535358723789,0.2902776182613168,2.170992080922104
+14.4,0.296159698347937,1.592706374933464,0.2821260076407017,2.170992080922102
+14.7,0.2874068564828543,1.609394800142916,0.2741904242963323,2.170992080922103
+15.,0.2789127001850799,1.625613447645951,0.2664659330910718,2.170992080922103
diff --git a/models/sbml-test-suite/cases/semantic/00780/00780-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00780/00780-sbml-l2v4.xml
new file mode 100644
index 0000000..13a7192
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00780/00780-sbml-l2v4.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00780" id="case00780" name="case00780">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" substanceUnits="substance"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="X0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> X1 </ci>
+            <cn> -0.25 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00780/00780-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00780/00780-sbml-l3v1.xml
new file mode 100644
index 0000000..53899e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00780/00780-sbml-l3v1.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00780" id="case00780" name="case00780" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="3.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="X0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> X1 </ci>
+            <cn> -0.25 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+            <ci> T </ci>
+            <ci> X0 </ci>
+            <ci> X1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> T </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> X1 </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="X1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00780/00780-settings.txt b/models/sbml-test-suite/cases/semantic/00780/00780-settings.txt
new file mode 100644
index 0000000..cc0e684
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00780/00780-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-002
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00781/00781-results.csv b/models/sbml-test-suite/cases/semantic/00781/00781-results.csv
new file mode 100644
index 0000000..6ffb802
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00781/00781-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.2,0.9048374180297637,1.595162581970236
+0.4,0.8187307530678463,1.681269246932154
+0.6,0.7408182193488913,1.759181780651109
+0.8,0.6703200446045471,1.829679955395452
+1.,0.6065306582283019,1.893469341771698
+1.2,0.5488116279094619,1.951188372090538
+1.4,0.4965852941406662,2.003414705859333
+1.6,0.4493289549957622,2.050671045004238
+1.8,0.4065696527167856,2.093430347283214
+2.,0.3678794216965456,2.132120578303454
+2.2,0.3328710836870444,2.167128916312957
+2.4,0.3011942117970897,2.198805788202912
+2.6,0.2725317929307889,2.227468207069212
+2.8,0.2465969634790944,2.253403036520907
+3.,0.223130158917576,2.276869841082426
+3.2,0.2018965179575218,2.29810348204248
+3.4,0.1826835240011246,2.317316475998878
+3.6,0.1652988856362918,2.33470111436371
+3.8,0.1495686149101082,2.350431385089894
+4.,0.1353352813550555,2.364664718644947
+4.2,0.122456428162302,2.3775435718377
+4.4,0.1108031507902467,2.389196849209756
+4.6,0.1002588434096688,2.399741156590334
+4.8,0.09071794831496324,2.409282051685039
+5.,0.08208499492437311,2.417915005075629
+5.2,0.07427357738203568,2.425726422617966
+5.4,0.06720550804878748,2.432794491951214
+5.6,0.06081006200251096,2.439189937997491
+5.8,0.05502321662972115,2.444976783370281
+6.,0.04978706286295912,2.450212937137043
+6.2,0.0450491992488263,2.454950800751176
+6.4,0.04076220390950022,2.459237796090502
+6.6,0.03688316567268454,2.463116834327317
+6.8,0.03337326636569754,2.466626733634305
+7.,0.0301973808950397,2.469802619104962
+7.2,0.02732372219399922,2.472676277806003
+7.4,0.02472352568739283,2.475276474312609
+7.6,0.02237076959001986,2.477629230409982
+7.8,0.02024190951729957,2.479758090482702
+8.,0.018315638500386,2.481684361499616
+8.2,0.01657267510423135,2.48342732489577
+8.4,0.01499557544560412,2.485004424554397
+8.6,0.0135685576024149,2.486431442397586
+8.8,0.01227733946395605,2.487722660536045
+9.,0.01110899645871722,2.488891003541283
+9.2,0.01005183494653649,2.489948165053464
+9.4,0.009095276109167188,2.490904723890834
+9.6,0.008229746625600708,2.4917702533744
+9.8,0.007446583068338345,2.492553416931663
+10.,0.006737946999097447,2.493262053000903
diff --git a/models/sbml-test-suite/cases/semantic/00781/00781-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00781/00781-sbml-l2v4.xml
new file mode 100644
index 0000000..e9ce53f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00781/00781-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00781" id="case00781" name="case00781">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="5.4" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 9 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00781/00781-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00781/00781-sbml-l3v1.xml
new file mode 100644
index 0000000..429bbcf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00781/00781-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00781" id="case00781" name="case00781" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="5.4" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 9 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00781/00781-settings.txt b/models/sbml-test-suite/cases/semantic/00781/00781-settings.txt
new file mode 100644
index 0000000..4a362ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00781/00781-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00782/00782-results.csv b/models/sbml-test-suite/cases/semantic/00782/00782-results.csv
new file mode 100644
index 0000000..973e852
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00782/00782-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.16,0.9231163463795645,1.576883653620435
+0.32,0.8521437889506755,1.647856211049324
+0.48,0.786627861061215,1.713372138938785
+0.64,0.7261490350336102,1.77385096496639
+0.8,0.6703200446201622,1.829679955379838
+0.96,0.6187833915260784,1.881216608473922
+1.12,0.5712090632513954,1.928790936748605
+1.28,0.5272924134931757,1.972707586506824
+1.44,0.4867522557648886,2.013247744235112
+1.6,0.4493289549939456,2.050671045006055
+1.76,0.4147829116608859,2.085217088339115
+1.92,0.3828928781566264,2.117107121843374
+2.08,0.3534545905699433,2.146545409430058
+2.24,0.3262797946223445,2.173720205377658
+2.4,0.3011942117970561,2.198805788202946
+2.56,0.2780373003466319,2.22196269965337
+2.72,0.2566607763819127,2.24333922361809
+2.88,0.2369277583792294,2.263072241620773
+3.04,0.2187118868416664,2.281288113158336
+3.2,0.2018965179836184,2.298103482016383
+3.36,0.1863739722247947,2.313626027775207
+3.52,0.1720448633202934,2.327955136679709
+3.68,0.1588174216023891,2.341182578397612
+3.84,0.1466069612725043,2.353393038727497
+4.,0.135335280953815,2.364664719046186
+4.16,0.1249302092574387,2.375069790742563
+4.32,0.1153251208902477,2.384674879109754
+4.48,0.1064585025453179,2.393541497454684
+4.64,0.09827358162394202,2.40172641837606
+4.8,0.09071794781935568,2.409282052180647
+4.96,0.08374321975997405,2.416256780240028
+5.12,0.07730473537536732,2.422695264624635
+5.28,0.07136126604813897,2.428638733951863
+5.44,0.06587475272537396,2.434125247274628
+5.6,0.06081006230388244,2.43918993769612
+5.76,0.05613476272982067,2.443865237270181
+5.92,0.05181891712258344,2.448181082877419
+6.08,0.04783488947716363,2.452165110522839
+6.24,0.04415716841787253,2.45584283158213
+6.4,0.04076220397662214,2.45923779602338
+6.56,0.03762825679303357,2.462371743206969
+6.72,0.03473525890918167,2.465264741090821
+6.88,0.03206468526481079,2.467935314735192
+7.04,0.02959943507363432,2.470400564926368
+7.2,0.02732372231999187,2.472676277680011
+7.36,0.02522297467452207,2.47477702532548
+7.52,0.02328374018156027,2.476716259818442
+7.68,0.02149360112074674,2.478506398879256
+7.84,0.01984109469364011,2.480158905306363
+8.,0.01831563888874244,2.48168436111126
diff --git a/models/sbml-test-suite/cases/semantic/00782/00782-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00782/00782-sbml-l2v4.xml
new file mode 100644
index 0000000..dee83a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00782/00782-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00782" id="case00782" name="case00782">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 10 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00782/00782-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00782/00782-sbml-l3v1.xml
new file mode 100644
index 0000000..cfac894
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00782/00782-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00782" id="case00782" name="case00782" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 10 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00782/00782-settings.txt b/models/sbml-test-suite/cases/semantic/00782/00782-settings.txt
new file mode 100644
index 0000000..d2f3ade
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00782/00782-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00783/00783-results.csv b/models/sbml-test-suite/cases/semantic/00783/00783-results.csv
new file mode 100644
index 0000000..c8d6dd5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00783/00783-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.24,0.8869204366943703,1.613079563305629
+0.48,0.7866278610609056,1.713372138939093
+0.72,0.6976763237530595,1.80232367624694
+0.96,0.6187833915366286,1.88121660846337
+1.2,0.5488116279298668,1.951188372070132
+1.44,0.4867522557303053,2.013247744269694
+1.68,0.4317105191095403,2.068289480890459
+1.92,0.3828928781474801,2.117107121852519
+2.16,0.3395955198313251,2.160404480168674
+2.4,0.3011942117957573,2.198805788204243
+2.64,0.2671353018695693,2.232864698130431
+2.88,0.2369277583619698,2.263072241638031
+3.12,0.2101360711172426,2.289863928882758
+3.36,0.1863739718703914,2.313626028129609
+3.6,0.1652988855585307,2.33470111444147
+3.84,0.1466069607802761,2.353393039219724
+4.08,0.1300287104615353,2.369971289538466
+4.32,0.1153251210288585,2.384674878971142
+4.56,0.102284200924713,2.397715799075288
+4.8,0.09071794842284956,2.409282051577151
+5.04,0.08045960674927897,2.419540393250722
+5.28,0.07136126562134494,2.428638734378656
+5.52,0.06329176486822943,2.436708235131771
+5.76,0.056134762829453,2.443865237170547
+6.,0.04978706286701802,2.450212937132982
+6.24,0.04415716838942492,2.455842831610576
+6.48,0.0391638908158004,2.4608361091842
+6.72,0.03473525882031285,2.465264741179688
+6.96,0.03080740773618479,2.469192592263816
+7.2,0.0273237222183284,2.472676277781673
+7.44,0.02423396533865807,2.475766034661343
+7.68,0.02149360102910081,2.478506398970901
+7.92,0.01906311240879239,2.480936887591209
+8.16,0.01690746527742891,2.483092534722573
+8.4,0.01499557542526903,2.485004424574732
+8.64,0.0132998831363244,2.486700116863676
+8.88,0.01179593750082441,2.488204062499177
+9.12,0.01046205853103605,2.489537941468966
+9.36,0.009279013154857284,2.490720986845144
+9.6,0.008229746649351592,2.49177025335065
+9.84,0.0072991303301449,2.492700869669856
+10.08,0.006473747944628561,2.493526252055373
+10.32,0.005741699328734054,2.494258300671267
+10.56,0.005092430453270684,2.49490756954673
+10.8,0.004516580702136792,2.495483419297864
+11.04,0.004005847641014343,2.495994152358987
+11.28,0.003552868249074881,2.496447131750926
+11.52,0.00315111133673685,2.496848888663264
+11.76,0.00279478521238758,2.497205214787614
+12.,0.002478752176673988,2.497521247823327
diff --git a/models/sbml-test-suite/cases/semantic/00783/00783-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00783/00783-sbml-l2v4.xml
new file mode 100644
index 0000000..2e35306
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00783/00783-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00783" id="case00783" name="case00783">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 9 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00783/00783-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00783/00783-sbml-l3v1.xml
new file mode 100644
index 0000000..81c200a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00783/00783-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00783" id="case00783" name="case00783" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 9 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00783/00783-settings.txt b/models/sbml-test-suite/cases/semantic/00783/00783-settings.txt
new file mode 100644
index 0000000..3eda711
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00783/00783-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00784/00784-results.csv b/models/sbml-test-suite/cases/semantic/00784/00784-results.csv
new file mode 100644
index 0000000..6d7f55e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00784/00784-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.24,0.01054593488405082,0.02054593488405082,0.00945406511594918
+0.48,0.01105720868923238,0.02105720868923238,0.008942791310767615
+0.72,0.01153593382433628,0.02153593382433628,0.008464066175663718
+0.96,0.0119841051103152,0.0219841051103152,0.008015894889684795
+1.2,0.01240360487148939,0.02240360487148938,0.00759639512851061
+1.44,0.01279620800083472,0.02279620800083472,0.007203791999165277
+1.68,0.01316358705375995,0.02316358705375994,0.006836412946240048
+1.92,0.01350731713166685,0.02350731713166685,0.006492682868333142
+2.16,0.01382888080492808,0.02382888080492808,0.006171119195071914
+2.4,0.01412967256669692,0.02412967256669692,0.005870327433303079
+2.64,0.01441100373013449,0.02441100373013449,0.005588996269865512
+2.88,0.01467410678427912,0.02467410678427912,0.005325893215720878
+3.12,0.01492013946511948,0.02492013946511948,0.005079860534880519
+3.36,0.0151501888299036,0.0251501888299036,0.0048498111700964
+3.6,0.01536527538198396,0.02536527538198396,0.00463472461801604
+3.84,0.01556635681605699,0.02556635681605699,0.004433643183943006
+4.08,0.01575433144484678,0.02575433144484678,0.004245668555153218
+4.32,0.01593004167012772,0.02593004167012771,0.004069958329872285
+4.56,0.01609427728466358,0.02609427728466358,0.00390572271533642
+4.8,0.01624777854458658,0.02624777854458658,0.003752221455413422
+5.04,0.01639123910706206,0.02639123910706206,0.003608760892937939
+5.28,0.01652530881572173,0.02652530881572173,0.003474691184278273
+5.52,0.0166505963387748,0.02665059633877479,0.003349403661225204
+5.76,0.0167676716650174,0.02676767166501739,0.003232328334982605
+6.,0.0168770684631499,0.0268770684631499,0.003122931536850104
+6.24,0.01697928636580878,0.02697928636580878,0.003020713634191218
+6.48,0.01707479280697625,0.02707479280697625,0.002925207193023749
+6.72,0.01716402546259345,0.02716402546259345,0.002835974537406551
+6.96,0.01724739380066914,0.02724739380066913,0.002752606199330865
+7.2,0.01732528090484025,0.02732528090484025,0.002674719095159748
+7.44,0.01739804509035113,0.02739804509035112,0.002601954909648872
+7.68,0.0174660215034075,0.02746602150340749,0.002533978496592504
+7.92,0.0175295236040657,0.0275295236040657,0.002470476395934301
+8.16,0.01758884453816967,0.02758884453816966,0.002411155461830334
+8.4,0.01764425842648298,0.02764425842648297,0.002355741573517021
+8.64,0.01769602157554254,0.02769602157554253,0.002303978424457463
+8.88,0.01774437361454054,0.02774437361454053,0.002255626385459467
+9.12,0.01778953860651868,0.02778953860651867,0.002210461393481327
+9.36,0.01783172584790266,0.02783172584790265,0.002168274152097347
+9.6,0.01787113099213257,0.02787113099213256,0.002128869007867437
+9.84,0.01790793705602141,0.02790793705602141,0.002092062943978589
+10.08,0.01794231512218728,0.02794231512218727,0.002057684877812722
+10.32,0.01797442486137478,0.02797442486137477,0.002025575138625225
+10.56,0.01800441553618506,0.02800441553618506,0.001995584463814941
+10.8,0.01803242674118082,0.02803242674118081,0.001967573258819183
+11.04,0.01805858894835159,0.02805858894835159,0.001941411051648408
+11.28,0.01808302390502145,0.02808302390502145,0.001916976094978548
+11.52,0.01810584538729079,0.02810584538729078,0.001894154612709213
+11.76,0.01812715983319622,0.02812715983319621,0.001872840166803782
+12.,0.01814706659972228,0.02814706659972228,0.001852933400277719
diff --git a/models/sbml-test-suite/cases/semantic/00784/00784-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00784/00784-sbml-l2v4.xml
new file mode 100644
index 0000000..8ca1d05
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00784/00784-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00784" id="case00784" name="case00784">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00784/00784-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00784/00784-sbml-l3v1.xml
new file mode 100644
index 0000000..bf980a8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00784/00784-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00784" id="case00784" name="case00784" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00784/00784-settings.txt b/models/sbml-test-suite/cases/semantic/00784/00784-settings.txt
new file mode 100644
index 0000000..badcd00
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00784/00784-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00785/00785-results.csv b/models/sbml-test-suite/cases/semantic/00785/00785-results.csv
new file mode 100644
index 0000000..f24fac8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00785/00785-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.3,0.001071798656125596,0.002071798656125595,0.0009282013438744042
+0.6,0.001138362320367012,0.002138362320367012,0.0008616376796329874
+0.9,0.00120007083607808,0.00220007083607808,0.0007999291639219199
+1.2,0.001257276749953116,0.002257276749953116,0.0007427232500468843
+1.5,0.001310307225653065,0.002310307225653065,0.0006896927743469352
+1.8,0.001359465856085386,0.002359465856085386,0.0006405341439146135
+2.1,0.001405034323986525,0.002405034323986525,0.0005949656760134742
+2.4,0.001447273964933599,0.002447273964933598,0.0005527260350664014
+2.7,0.001486427183418411,0.00248642718341841,0.0005135728165815892
+3.,0.001522718897559506,0.002522718897559505,0.0004772811024404943
+3.3,0.001556357657499126,0.002556357657499125,0.0004436423425008738
+3.6,0.001587536949563303,0.002587536949563302,0.0004124630504366974
+3.9,0.001616436172576433,0.002616436172576432,0.0003835638274235671
+4.2,0.001643221730796594,0.002643221730796593,0.000356778269203406
+4.5,0.001668047900626391,0.00266804790062639,0.0003319520993736091
+4.8,0.001691057761019637,0.002691057761019636,0.0003089422389803631
+5.1,0.001712383974027889,0.002712383974027889,0.0002876160259721108
+5.4,0.001732149543367005,0.002732149543367005,0.0002678504566329952
+5.7,0.001750468513175076,0.002750468513175076,0.0002495314868249243
+6.,0.001767446616840444,0.002767446616840444,0.0002325533831595563
+6.3,0.001783181879378875,0.002783181879378875,0.000216818120621125
+6.6,0.001797765176609361,0.002797765176609362,0.0002022348233906386
+6.9,0.001811280754161668,0.002811280754161669,0.0001887192458383313
+7.2,0.001823806723598042,0.002823806723598042,0.000176193276401958
+7.5,0.001835415438345499,0.0028354154383455,0.0001645845616545001
+7.8,0.001846174034989636,0.002846174034989637,0.0001538259650103633
+8.1,0.001856144738190614,0.002856144738190615,0.0001438552618093855
+8.4,0.001865385199947576,0.002865385199947578,0.0001346148000524231
+8.7,0.001873948851049971,0.002873948851049972,0.0001260511489500291
+9.,0.001881885229514481,0.002881885229514482,0.0001181147704855187
+9.3,0.001889240260903795,0.002889240260903797,0.000110759739096204
+9.6,0.001896056518553495,0.002896056518553496,0.0001039434814465045
+9.9,0.001902373453212965,0.002902373453212966,0.0000976265467870344
+10.2,0.001908227614301093,0.002908227614301095,0.00009177238569890635
+10.5,0.001913652884609515,0.002913652884609517,0.00008634711539048437
+10.8,0.001918680674900597,0.002918680674900598,0.0000813193250994027
+11.1,0.001923340102213946,0.002923340102213948,0.00007665989778605326
+11.4,0.001927658152497663,0.002927658152497665,0.00007234184750233639
+11.7,0.001931659823227203,0.002931659823227204,0.00006834017677279693
+12.,0.001935368282983349,0.002935368282983351,0.00006463171701665022
+12.3,0.001938805009629796,0.002938805009629797,0.00006119499037020363
+12.6,0.001941989912298504,0.002941989912298505,0.0000580100877014955
+12.9,0.001944941444391351,0.002944941444391353,0.00005505855560864831
+13.2,0.001947676701424827,0.002947676701424829,0.00005232329857517194
+13.5,0.001950211523046647,0.002950211523046648,0.00004978847695335264
+13.8,0.001952560592642668,0.00295256059264267,0.00004743940735733167
+14.1,0.001954737521080806,0.002954737521080809,0.0000452624789191925
+14.4,0.001956754924248815,0.002956754924248817,0.00004324507575118397
+14.7,0.001958624490060141,0.002958624490060143,0.0000413755099398577
+15.,0.001960357049706323,0.002960357049706325,0.00003964295029367594
diff --git a/models/sbml-test-suite/cases/semantic/00785/00785-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00785/00785-sbml-l2v4.xml
new file mode 100644
index 0000000..7903103
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00785/00785-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00785" id="case00785" name="case00785">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="3.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00785/00785-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00785/00785-sbml-l3v1.xml
new file mode 100644
index 0000000..ffb1107
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00785/00785-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00785" id="case00785" name="case00785" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="3.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00785/00785-settings.txt b/models/sbml-test-suite/cases/semantic/00785/00785-settings.txt
new file mode 100644
index 0000000..ecb132e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00785/00785-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00786/00786-results.csv b/models/sbml-test-suite/cases/semantic/00786/00786-results.csv
new file mode 100644
index 0000000..d18ae34
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00786/00786-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.4,0.1036416406743523,0.2036416406743524,0.09635835932564763
+0.8,0.1066467469151817,0.2066467469151818,0.09335325308481826
+1.2,0.1091220870110208,0.2091220870110209,0.09087791298897919
+1.6,0.1111580088302945,0.2111580088302946,0.08884199116970542
+2.,0.1128304590098088,0.2128304590098089,0.08716954099019114
+2.4,0.1142029420287858,0.2142029420287858,0.08579705797121414
+2.8,0.1153283262456635,0.2153283262456635,0.08467167375433643
+3.2,0.1162504725709547,0.2162504725709547,0.0837495274290453
+3.6,0.1170056623804662,0.2170056623804662,0.08299433761953378
+4.,0.1176238421700514,0.2176238421700513,0.08237615782994858
+4.4,0.1181296801231808,0.2181296801231808,0.08187031987681915
+4.8,0.1185434657806843,0.2185434657806842,0.08145653421931567
+5.2,0.1188818660658657,0.2188818660658657,0.08111813393413427
+5.6,0.1191585586495932,0.2191585586495931,0.0808414413504068
+6.,0.1193847579572253,0.2193847579572253,0.08061524204277463
+6.4,0.1195696531394105,0.2195696531394105,0.08043034686058943
+6.8,0.1197207697261893,0.2197207697261894,0.08027923027381064
+7.2,0.1198442673474518,0.2198442673474519,0.08015573265254812
+7.6,0.1199451862750527,0.2199451862750527,0.08005481372494729
+8.,0.1200276494708259,0.2200276494708259,0.07997235052917406
+8.4,0.1200950287873767,0.2200950287873767,0.07990497121262324
+8.8,0.1201500807898832,0.2201500807898832,0.07984991921011672
+9.2,0.1201950596921134,0.2201950596921134,0.07980494030788658
+9.6,0.1202318074086614,0.2202318074086613,0.0797681925913386
+10.,0.1202618295374586,0.2202618295374586,0.07973817046254133
+10.4,0.1202863567540331,0.2202863567540331,0.07971364324596685
+10.8,0.1203063943093443,0.2203063943093442,0.07969360569065567
+11.2,0.1203227638867165,0.2203227638867165,0.07967723611328343
+11.6,0.1203361368503024,0.2203361368503024,0.07966386314969757
+12.,0.1203470615811985,0.2203470615811985,0.07965293841880143
+12.4,0.1203559863136198,0.2203559863136198,0.07964401368638014
+12.8,0.1203632770501945,0.2203632770501945,0.07963672294980545
+13.2,0.1203692330345358,0.2203692330345358,0.0796307669654642
+13.6,0.1203740985168358,0.2203740985168358,0.0796259014831642
+14.,0.1203780732153493,0.2203780732153493,0.07962192678465064
+14.4,0.1203813201702078,0.2203813201702078,0.0796186798297922
+14.8,0.1203839726340524,0.2203839726340524,0.07961602736594758
+15.2,0.120386139463139,0.220386139463139,0.07961386053686096
+15.6,0.1203879095411651,0.2203879095411651,0.07961209045883482
+16.,0.1203893555329705,0.2203893555329705,0.07961064446702942
+16.4,0.1203905367745162,0.2203905367745162,0.07960946322548374
+16.8,0.1203915017256821,0.2203915017256821,0.07960849827431787
+17.2,0.120392290002795,0.220392290002795,0.07960770999720499
+17.6,0.1203929339492998,0.2203929339492999,0.07960706605070014
+18.,0.1203934599860304,0.2203934599860305,0.07960654001396955
+18.4,0.1203938897104487,0.2203938897104488,0.07960611028955125
+18.8,0.1203942407525631,0.2203942407525632,0.07960575924743688
+19.2,0.1203945275172804,0.2203945275172805,0.07960547248271959
+19.6,0.120394761777847,0.2203947617778471,0.07960523822215298
+20.,0.120394953144649,0.2203949531446491,0.07960504685535099
diff --git a/models/sbml-test-suite/cases/semantic/00786/00786-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00786/00786-sbml-l2v4.xml
new file mode 100644
index 0000000..97f5bf1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00786/00786-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00786" id="case00786" name="case00786">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.25"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00786/00786-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00786/00786-sbml-l3v1.xml
new file mode 100644
index 0000000..29570c7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00786/00786-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00786" id="case00786" name="case00786" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00786/00786-settings.txt b/models/sbml-test-suite/cases/semantic/00786/00786-settings.txt
new file mode 100644
index 0000000..29d65d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00786/00786-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00787/00787-results.csv b/models/sbml-test-suite/cases/semantic/00787/00787-results.csv
new file mode 100644
index 0000000..798cc5c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00787/00787-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.1499999999999999
+0.2,0.08607079760839515,0.1639292023916049
+0.4,0.07408182193551271,0.1759181780644873
+0.6,0.06376281506790236,0.1862371849320976
+0.8,0.05488116280138479,0.1951188371986152
+1.,0.04723665431842163,0.2027633456815784
+1.2,0.04065696526040411,0.2093430347395959
+1.4,0.03499376703336908,0.2150062329666309
+1.6,0.03011942117966407,0.2198805788203359
+1.8,0.02592402591389692,0.2240759740861031
+2.,0.0223130158894271,0.2276869841105728
+2.2,0.01920499067108306,0.2307950093289169
+2.4,0.01652988861309594,0.233470111386904
+2.6,0.01422740678748261,0.2357725932125173
+2.8,0.01224564282493106,0.2377543571750689
+3.,0.0105399219595949,0.239460078040405
+3.2,0.009071794776038323,0.2409282052239616
+3.4,0.007808166062679069,0.2421918339373208
+3.6,0.006720550807721297,0.2432794491922786
+3.8,0.005784431726263326,0.2442155682737366
+4.,0.004978706285372657,0.2450212937146273
+4.2,0.004285212271139858,0.2457147877288601
+4.4,0.003688316534784778,0.2463116834652151
+4.6,0.003174563601345392,0.2468254363986545
+4.8,0.002732372231794646,0.2472676277682052
+5.,0.002351774478970749,0.2476482255210291
+5.2,0.002024190961537214,0.2479758090384627
+5.4,0.001742237270853737,0.2482577627291461
+5.6,0.00149955753765742,0.2485004424623424
+5.8,0.001290681187593593,0.2487093188124063
+6.,0.001110899641885963,0.2488891003581139
+6.2,0.0009561601880072174,0.2490438398119927
+6.4,0.0008229746666771872,0.2491770253333227
+6.6,0.0007083408282845486,0.2492916591717153
+6.8,0.0006096745889440379,0.2493903254110559
+7.,0.0005247517897589388,0.249475248210241
+7.2,0.0004516580700978676,0.249548341929902
+7.4,0.0003887457204497937,0.2496112542795501
+7.6,0.0003345965437901888,0.2496654034562097
+7.8,0.0002879899021134753,0.2497120100978864
+8.,0.0002478751948583719,0.2497521248051415
+8.2,0.0002133481533366424,0.2497866518466633
+8.4,0.000183630460281835,0.2498163695397181
+8.6,0.0001580522085900635,0.2498419477914099
+8.8,0.000136036802486035,0.2498639631975139
+9.,0.0001170879613246612,0.2498829120386753
+9.2,0.00010077853800063,0.2498992214619993
+9.4,0.0000867408876821567,0.2499132591123177
+9.6,0.00007465857255397398,0.2499253414274459
+9.8,0.0000642592299862039,0.2499357407700137
+10.,0.0000553084370150761,0.2499446915629848
diff --git a/models/sbml-test-suite/cases/semantic/00787/00787-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00787/00787-sbml-l2v4.xml
new file mode 100644
index 0000000..5925a20
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00787/00787-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00787" id="case00787" name="case00787">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.47" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="10" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00787/00787-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00787/00787-sbml-l3v1.xml
new file mode 100644
index 0000000..35c3bc8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00787/00787-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00787" id="case00787" name="case00787" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.47" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="10" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00787/00787-settings.txt b/models/sbml-test-suite/cases/semantic/00787/00787-settings.txt
new file mode 100644
index 0000000..2f9d0d3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00787/00787-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00788/00788-results.csv b/models/sbml-test-suite/cases/semantic/00788/00788-results.csv
new file mode 100644
index 0000000..c75b911
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00788/00788-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.1499999999999999
+0.16,0.08869204366941961,0.1613079563305804
+0.32,0.07866278610607853,0.1713372138939214
+0.48,0.06976763237543436,0.1802323676245656
+0.64,0.06187833915340486,0.1881216608465951
+0.8,0.05488116279634144,0.1951188372036585
+0.96,0.04867522557463541,0.2013247744253645
+1.12,0.04317105190599495,0.206828948094005
+1.28,0.03828928781532301,0.2117107121846769
+1.44,0.03395955200604472,0.2160404479939552
+1.6,0.03011942117959998,0.2198805788203999
+1.76,0.02671353018689948,0.2232864698131004
+1.92,0.02369277583720247,0.2263072241627973
+2.08,0.02101360711319295,0.2289863928868068
+2.24,0.01863739719964242,0.2313626028003574
+2.4,0.01652988857296624,0.2334701114270336
+2.56,0.01466069609619601,0.2353393039038038
+2.72,0.01300287105947496,0.2369971289405249
+2.88,0.01153251210337509,0.2384674878966247
+3.04,0.0102284201156363,0.2397715798843635
+3.2,0.00907179482037511,0.2409282051796247
+3.36,0.008045960673909353,0.2419540393260905
+3.52,0.007136126574181548,0.2428638734258183
+3.68,0.006329176475925103,0.2436708235240747
+3.84,0.005613476281448957,0.2443865237185508
+4.,0.004978706285563732,0.245021293714436
+4.16,0.004415716840589448,0.2455842831594103
+4.32,0.003916389079603478,0.2460836109203963
+4.48,0.00347352588470257,0.2465264741152972
+4.64,0.003080740771519597,0.2469192592284802
+4.8,0.00273237222438997,0.2472676277756098
+4.96,0.002423396532027893,0.2475766034679719
+5.12,0.002149360104890225,0.2478506398951095
+5.28,0.00190631123946984,0.2480936887605299
+5.44,0.001690746529043513,0.2483092534709563
+5.6,0.001499557541581223,0.2485004424584186
+5.76,0.001329988314324072,0.2486700116856757
+5.92,0.001179593749560934,0.2488204062504388
+6.08,0.001046205853323328,0.2489537941466764
+6.24,0.0009279013153124851,0.2490720986846873
+6.4,0.0008229746648297856,0.24917702533517
+6.56,0.0007299130331016802,0.2492700869668981
+6.72,0.0006473747941617628,0.249352625205838
+6.88,0.0005741699331358761,0.2494258300668638
+7.04,0.0005092430449320231,0.2494907569550677
+7.2,0.0004516580705768204,0.2495483419294229
+7.36,0.0004005847636855538,0.2495994152363141
+7.52,0.0003552868253106521,0.249644713174689
+7.68,0.0003151111332847911,0.2496848888667149
+7.84,0.0002794785215185433,0.2497205214784812
+8.,0.0002478752176674072,0.2497521247823323
diff --git a/models/sbml-test-suite/cases/semantic/00788/00788-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00788/00788-sbml-l2v4.xml
new file mode 100644
index 0000000..43f3879
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00788/00788-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00788" id="case00788" name="case00788">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="6.6" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.15" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00788/00788-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00788/00788-sbml-l3v1.xml
new file mode 100644
index 0000000..cf30f9e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00788/00788-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00788" id="case00788" name="case00788" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="6.6" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.133333333333333 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.75 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00788/00788-settings.txt b/models/sbml-test-suite/cases/semantic/00788/00788-settings.txt
new file mode 100644
index 0000000..2956016
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00788/00788-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00789/00789-results.csv b/models/sbml-test-suite/cases/semantic/00789/00789-results.csv
new file mode 100644
index 0000000..876f55f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00789/00789-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.04,0.9523960637194353,1.952396063719436,1.047603936280563
+0.08,0.9092009390881764,1.909200939088178,1.090799060911821
+0.12,0.869904393460821,1.869904393460823,1.130095606539177
+0.16,0.8340700131988868,1.834070013198889,1.165929986801111
+0.2,0.8013223155409106,1.801322315540912,1.198677684459087
+0.24,0.7713364606653292,1.771336460665331,1.228663539334669
+0.28,0.7476982042103491,0.9976982444372477,1.252301795789648
+0.32,0.738142032102101,0.9881420723289996,1.261857967897896
+0.36,0.7291585012403463,0.9791585414672449,1.27084149875965
+0.4,0.7207087403640133,0.9707087805909119,1.279291259635983
+0.44,0.71275700134263,0.9627570415695286,1.287242998657366
+0.48,0.705270357830395,0.9552703980572936,1.294729642169601
+0.52,0.6982184372790587,0.9482184775059573,1.301781562720937
+0.56,0.6915731838841671,0.9415732241110657,1.308426816115829
+0.6,0.6853086468792242,0.9353086871061228,1.314691353120772
+0.64,0.6794007926802284,0.929400832907127,1.320599207319768
+0.68,0.6738273385742595,0.9238273788011581,1.326172661425737
+0.72,0.6685675948594066,0.9185676350863052,1.331432405140589
+0.76,0.6636023354798711,0.9136023757067697,1.336397664520125
+0.8,0.6589136776050269,0.9089137178319255,1.341086322394969
+0.84,0.6544849651385246,0.9044850053654232,1.345515034861472
+0.88,0.6503006719006156,0.9003007121275142,1.349699328099381
+0.92,0.6463463181423877,0.8963463583692863,1.353653681857609
+0.96,0.642608379740159,0.8926084199670576,1.357391620259837
+1.,0.639074219651229,0.8890742598781276,1.360925780348767
+1.04,0.6357320196187156,0.8857320598456142,1.364267980381281
+1.08,0.6325707189853089,0.8825707592122075,1.367429281014687
+1.12,0.6295799588768062,0.8795799991037048,1.37042004112319
+1.16,0.6267500312072581,0.8767500714341567,1.373249968792738
+1.2,0.6240718320217461,0.8740718722486446,1.37592816797825
+1.24,0.6215368187474841,0.8715368589743827,1.378463181252512
+1.28,0.6191369678903746,0.8691370081172732,1.380863032109622
+1.32,0.6168647526219024,0.866864792848801,1.383135247378094
+1.36,0.614713087996803,0.8647131282237016,1.385286912003193
+1.4,0.6126753109387046,0.8626753511656032,1.387324689061292
+1.44,0.6107451604171102,0.8607452006440088,1.389254839582886
+1.48,0.6089167426793985,0.8589167829062971,1.391083257320598
+1.52,0.6071845039991602,0.8571845442260588,1.392815496000836
+1.56,0.6055432112399943,0.8555432514668929,1.394456788760002
+1.6,0.6039879386172742,0.8539879788441728,1.396012061382722
+1.64,0.6025140421826803,0.8525140824095789,1.397485957817316
+1.68,0.601117139389096,0.8511171796159946,1.3988828606109
+1.72,0.5997930946792274,0.849793134906126,1.400206905320768
+1.76,0.5985380099227861,0.8485380501496847,1.40146199007721
+1.8,0.5973482054390288,0.8473482456659274,1.402651794560967
+1.84,0.59622020444187,0.8462202446687686,1.403779795558126
+1.88,0.5951507221902515,0.8451507624171501,1.404849277809744
+1.92,0.5941366589610946,0.8441366991879932,1.405863341038901
+1.96,0.5931750865541681,0.8431751267810667,1.406824913445827
+2.,0.5922632324445518,0.8422632726714504,1.407736767555444
diff --git a/models/sbml-test-suite/cases/semantic/00789/00789-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00789/00789-sbml-l2v4.xml
new file mode 100644
index 0000000..c374057
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00789/00789-sbml-l2v4.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00789" id="case00789" name="case00789">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00789/00789-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00789/00789-sbml-l3v1.xml
new file mode 100644
index 0000000..bda146a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00789/00789-sbml-l3v1.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00789" id="case00789" name="case00789" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00789/00789-settings.txt b/models/sbml-test-suite/cases/semantic/00789/00789-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00789/00789-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00790/00790-results.csv b/models/sbml-test-suite/cases/semantic/00790/00790-results.csv
new file mode 100644
index 0000000..876f55f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00790/00790-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.04,0.9523960637194353,1.952396063719436,1.047603936280563
+0.08,0.9092009390881764,1.909200939088178,1.090799060911821
+0.12,0.869904393460821,1.869904393460823,1.130095606539177
+0.16,0.8340700131988868,1.834070013198889,1.165929986801111
+0.2,0.8013223155409106,1.801322315540912,1.198677684459087
+0.24,0.7713364606653292,1.771336460665331,1.228663539334669
+0.28,0.7476982042103491,0.9976982444372477,1.252301795789648
+0.32,0.738142032102101,0.9881420723289996,1.261857967897896
+0.36,0.7291585012403463,0.9791585414672449,1.27084149875965
+0.4,0.7207087403640133,0.9707087805909119,1.279291259635983
+0.44,0.71275700134263,0.9627570415695286,1.287242998657366
+0.48,0.705270357830395,0.9552703980572936,1.294729642169601
+0.52,0.6982184372790587,0.9482184775059573,1.301781562720937
+0.56,0.6915731838841671,0.9415732241110657,1.308426816115829
+0.6,0.6853086468792242,0.9353086871061228,1.314691353120772
+0.64,0.6794007926802284,0.929400832907127,1.320599207319768
+0.68,0.6738273385742595,0.9238273788011581,1.326172661425737
+0.72,0.6685675948594066,0.9185676350863052,1.331432405140589
+0.76,0.6636023354798711,0.9136023757067697,1.336397664520125
+0.8,0.6589136776050269,0.9089137178319255,1.341086322394969
+0.84,0.6544849651385246,0.9044850053654232,1.345515034861472
+0.88,0.6503006719006156,0.9003007121275142,1.349699328099381
+0.92,0.6463463181423877,0.8963463583692863,1.353653681857609
+0.96,0.642608379740159,0.8926084199670576,1.357391620259837
+1.,0.639074219651229,0.8890742598781276,1.360925780348767
+1.04,0.6357320196187156,0.8857320598456142,1.364267980381281
+1.08,0.6325707189853089,0.8825707592122075,1.367429281014687
+1.12,0.6295799588768062,0.8795799991037048,1.37042004112319
+1.16,0.6267500312072581,0.8767500714341567,1.373249968792738
+1.2,0.6240718320217461,0.8740718722486446,1.37592816797825
+1.24,0.6215368187474841,0.8715368589743827,1.378463181252512
+1.28,0.6191369678903746,0.8691370081172732,1.380863032109622
+1.32,0.6168647526219024,0.866864792848801,1.383135247378094
+1.36,0.614713087996803,0.8647131282237016,1.385286912003193
+1.4,0.6126753109387046,0.8626753511656032,1.387324689061292
+1.44,0.6107451604171102,0.8607452006440088,1.389254839582886
+1.48,0.6089167426793985,0.8589167829062971,1.391083257320598
+1.52,0.6071845039991602,0.8571845442260588,1.392815496000836
+1.56,0.6055432112399943,0.8555432514668929,1.394456788760002
+1.6,0.6039879386172742,0.8539879788441728,1.396012061382722
+1.64,0.6025140421826803,0.8525140824095789,1.397485957817316
+1.68,0.601117139389096,0.8511171796159946,1.3988828606109
+1.72,0.5997930946792274,0.849793134906126,1.400206905320768
+1.76,0.5985380099227861,0.8485380501496847,1.40146199007721
+1.8,0.5973482054390288,0.8473482456659274,1.402651794560967
+1.84,0.59622020444187,0.8462202446687686,1.403779795558126
+1.88,0.5951507221902515,0.8451507624171501,1.404849277809744
+1.92,0.5941366589610946,0.8441366991879932,1.405863341038901
+1.96,0.5931750865541681,0.8431751267810667,1.406824913445827
+2.,0.5922632324445518,0.8422632726714504,1.407736767555444
diff --git a/models/sbml-test-suite/cases/semantic/00790/00790-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00790/00790-sbml-l2v4.xml
new file mode 100644
index 0000000..574940a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00790/00790-sbml-l2v4.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00790" id="case00790" name="case00790">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="4" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00790/00790-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00790/00790-sbml-l3v1.xml
new file mode 100644
index 0000000..5c654c8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00790/00790-sbml-l3v1.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00790" id="case00790" name="case00790" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00790/00790-settings.txt b/models/sbml-test-suite/cases/semantic/00790/00790-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00790/00790-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00791/00791-results.csv b/models/sbml-test-suite/cases/semantic/00791/00791-results.csv
new file mode 100644
index 0000000..81291b9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00791/00791-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.06,0.930281191870172,1.930281191870171,1.069718808129829
+0.12,0.8699043934601165,1.869904393460116,1.130095606539883
+0.18,0.8173317123168027,1.817331712316802,1.182668287683197
+0.24,0.7713364606633982,1.771336460663398,1.228663539336601
+0.3,0.7428459850452403,0.9928460129671111,1.257154014954759
+0.36,0.7291585085309124,0.9791585364527832,1.270841491469087
+0.42,0.7166727460022031,0.9666727739240739,1.283327253997796
+0.48,0.705270364487138,0.9552703924090089,1.294729635512861
+0.54,0.6948466526006074,0.9448466805224782,1.305153347399392
+0.6,0.6853086527835547,0.9353086807054256,1.314691347216445
+0.66,0.6765736009851071,0.9265736289069779,1.323426399014892
+0.72,0.6685676005171626,0.9185676284390335,1.331432399482836
+0.78,0.6612245063957675,0.9112245343176383,1.338775493604232
+0.84,0.6544849706515985,0.9044849985734693,1.345515029348401
+0.9,0.6482956263741612,0.898295654296032,1.351704373625838
+0.96,0.6426083850663457,0.8926084129882165,1.357391614933653
+1.02,0.6373798398998379,0.8873798678217087,1.362620160100161
+1.08,0.6325707245129732,0.882570752434844,1.367429275487026
+1.14,0.6281454795764484,0.8781455074983192,1.37185452042355
+1.2,0.6240718375884893,0.8740718655103602,1.375928162411509
+1.26,0.6203204847434071,0.8703205126652779,1.379679515256591
+1.32,0.6168647568577604,0.8668647847796312,1.383135243142238
+1.38,0.6136803661171969,0.8636803940390677,1.386319633882802
+1.44,0.6107451656421116,0.8607451935639824,1.389254834357887
+1.5,0.6080389395405341,0.8580389674624049,1.391961060459465
+1.56,0.6055432166761498,0.8555432445980206,1.394456783323849
+1.62,0.6032411049227501,0.853241132844621,1.396758895077249
+1.68,0.6011171436916319,0.8511171716135027,1.398882856308367
+1.74,0.5991571721410002,0.8491572000628711,1.400842827858999
+1.8,0.5973482097019549,0.8473482376238257,1.402651790298044
+1.86,0.5956783496765741,0.845678377598445,1.404321650323425
+1.92,0.5941366636948637,0.8441366916167345,1.405863336305135
+1.98,0.5927131156224834,0.8427131435443542,1.407286884377516
+2.04,0.5913984832764135,0.8413985111982843,1.408601516723586
+2.1,0.5901842904487134,0.8401843183705842,1.409815709551286
+2.16,0.5890627405785118,0.8390627685003826,1.410937259421487
+2.22,0.5880266603172654,0.8380266882391362,1.411973339682734
+2.28,0.5870694469605204,0.8370694748823912,1.412930553039478
+2.34,0.586185020853454,0.8361850487753248,1.413814979146545
+2.4,0.5853677820800301,0.8353678100019009,1.414632217919969
+2.46,0.5846125710065324,0.8346125989284032,1.415387428993466
+2.52,0.5839146322990984,0.8339146602209692,1.4160853677009
+2.58,0.5832695820773958,0.8332696099992666,1.416730417922603
+2.64,0.5826733765794295,0.8326734045013003,1.417326623420569
+2.7,0.5821222898853418,0.8321223178072126,1.417877710114657
+2.76,0.5816128822218242,0.831612910143695,1.418387117778174
+2.82,0.5811419788741685,0.8311420067960393,1.41885802112583
+2.88,0.5807066497760953,0.8307066776979661,1.419293350223903
+2.94,0.5803041936238958,0.8303042215457666,1.419695806376102
+3.,0.5799321135172289,0.8299321414390997,1.420067886482769
diff --git a/models/sbml-test-suite/cases/semantic/00791/00791-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00791/00791-sbml-l2v4.xml
new file mode 100644
index 0000000..ba9e0af
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00791/00791-sbml-l2v4.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00791" id="case00791" name="case00791">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00791/00791-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00791/00791-sbml-l3v1.xml
new file mode 100644
index 0000000..7eab5d2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00791/00791-sbml-l3v1.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00791" id="case00791" name="case00791" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> S1 </ci>
+            <apply>
+              <power/>
+              <ci> p1 </ci>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00791/00791-settings.txt b/models/sbml-test-suite/cases/semantic/00791/00791-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00791/00791-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00792/00792-results.csv b/models/sbml-test-suite/cases/semantic/00792/00792-results.csv
new file mode 100644
index 0000000..6ffb802
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00792/00792-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.2,0.9048374180297637,1.595162581970236
+0.4,0.8187307530678463,1.681269246932154
+0.6,0.7408182193488913,1.759181780651109
+0.8,0.6703200446045471,1.829679955395452
+1.,0.6065306582283019,1.893469341771698
+1.2,0.5488116279094619,1.951188372090538
+1.4,0.4965852941406662,2.003414705859333
+1.6,0.4493289549957622,2.050671045004238
+1.8,0.4065696527167856,2.093430347283214
+2.,0.3678794216965456,2.132120578303454
+2.2,0.3328710836870444,2.167128916312957
+2.4,0.3011942117970897,2.198805788202912
+2.6,0.2725317929307889,2.227468207069212
+2.8,0.2465969634790944,2.253403036520907
+3.,0.223130158917576,2.276869841082426
+3.2,0.2018965179575218,2.29810348204248
+3.4,0.1826835240011246,2.317316475998878
+3.6,0.1652988856362918,2.33470111436371
+3.8,0.1495686149101082,2.350431385089894
+4.,0.1353352813550555,2.364664718644947
+4.2,0.122456428162302,2.3775435718377
+4.4,0.1108031507902467,2.389196849209756
+4.6,0.1002588434096688,2.399741156590334
+4.8,0.09071794831496324,2.409282051685039
+5.,0.08208499492437311,2.417915005075629
+5.2,0.07427357738203568,2.425726422617966
+5.4,0.06720550804878748,2.432794491951214
+5.6,0.06081006200251096,2.439189937997491
+5.8,0.05502321662972115,2.444976783370281
+6.,0.04978706286295912,2.450212937137043
+6.2,0.0450491992488263,2.454950800751176
+6.4,0.04076220390950022,2.459237796090502
+6.6,0.03688316567268454,2.463116834327317
+6.8,0.03337326636569754,2.466626733634305
+7.,0.0301973808950397,2.469802619104962
+7.2,0.02732372219399922,2.472676277806003
+7.4,0.02472352568739283,2.475276474312609
+7.6,0.02237076959001986,2.477629230409982
+7.8,0.02024190951729957,2.479758090482702
+8.,0.018315638500386,2.481684361499616
+8.2,0.01657267510423135,2.48342732489577
+8.4,0.01499557544560412,2.485004424554397
+8.6,0.0135685576024149,2.486431442397586
+8.8,0.01227733946395605,2.487722660536045
+9.,0.01110899645871722,2.488891003541283
+9.2,0.01005183494653649,2.489948165053464
+9.4,0.009095276109167188,2.490904723890834
+9.6,0.008229746625600708,2.4917702533744
+9.8,0.007446583068338345,2.492553416931663
+10.,0.006737946999097447,2.493262053000903
diff --git a/models/sbml-test-suite/cases/semantic/00792/00792-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00792/00792-sbml-l2v4.xml
new file mode 100644
index 0000000..cff98a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00792/00792-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00792" id="case00792" name="case00792">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 100 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00792/00792-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00792/00792-sbml-l3v1.xml
new file mode 100644
index 0000000..83ae2da
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00792/00792-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00792" id="case00792" name="case00792" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 100 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00792/00792-settings.txt b/models/sbml-test-suite/cases/semantic/00792/00792-settings.txt
new file mode 100644
index 0000000..4a362ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00792/00792-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00793/00793-results.csv b/models/sbml-test-suite/cases/semantic/00793/00793-results.csv
new file mode 100644
index 0000000..c8d6dd5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00793/00793-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.24,0.8869204366943703,1.613079563305629
+0.48,0.7866278610609056,1.713372138939093
+0.72,0.6976763237530595,1.80232367624694
+0.96,0.6187833915366286,1.88121660846337
+1.2,0.5488116279298668,1.951188372070132
+1.44,0.4867522557303053,2.013247744269694
+1.68,0.4317105191095403,2.068289480890459
+1.92,0.3828928781474801,2.117107121852519
+2.16,0.3395955198313251,2.160404480168674
+2.4,0.3011942117957573,2.198805788204243
+2.64,0.2671353018695693,2.232864698130431
+2.88,0.2369277583619698,2.263072241638031
+3.12,0.2101360711172426,2.289863928882758
+3.36,0.1863739718703914,2.313626028129609
+3.6,0.1652988855585307,2.33470111444147
+3.84,0.1466069607802761,2.353393039219724
+4.08,0.1300287104615353,2.369971289538466
+4.32,0.1153251210288585,2.384674878971142
+4.56,0.102284200924713,2.397715799075288
+4.8,0.09071794842284956,2.409282051577151
+5.04,0.08045960674927897,2.419540393250722
+5.28,0.07136126562134494,2.428638734378656
+5.52,0.06329176486822943,2.436708235131771
+5.76,0.056134762829453,2.443865237170547
+6.,0.04978706286701802,2.450212937132982
+6.24,0.04415716838942492,2.455842831610576
+6.48,0.0391638908158004,2.4608361091842
+6.72,0.03473525882031285,2.465264741179688
+6.96,0.03080740773618479,2.469192592263816
+7.2,0.0273237222183284,2.472676277781673
+7.44,0.02423396533865807,2.475766034661343
+7.68,0.02149360102910081,2.478506398970901
+7.92,0.01906311240879239,2.480936887591209
+8.16,0.01690746527742891,2.483092534722573
+8.4,0.01499557542526903,2.485004424574732
+8.64,0.0132998831363244,2.486700116863676
+8.88,0.01179593750082441,2.488204062499177
+9.12,0.01046205853103605,2.489537941468966
+9.36,0.009279013154857284,2.490720986845144
+9.6,0.008229746649351592,2.49177025335065
+9.84,0.0072991303301449,2.492700869669856
+10.08,0.006473747944628561,2.493526252055373
+10.32,0.005741699328734054,2.494258300671267
+10.56,0.005092430453270684,2.49490756954673
+10.8,0.004516580702136792,2.495483419297864
+11.04,0.004005847641014343,2.495994152358987
+11.28,0.003552868249074881,2.496447131750926
+11.52,0.00315111133673685,2.496848888663264
+11.76,0.00279478521238758,2.497205214787614
+12.,0.002478752176673988,2.497521247823327
diff --git a/models/sbml-test-suite/cases/semantic/00793/00793-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00793/00793-sbml-l2v4.xml
new file mode 100644
index 0000000..d60dc7a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00793/00793-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00793" id="case00793" name="case00793">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="100" constant="false"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 100 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00793/00793-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00793/00793-sbml-l3v1.xml
new file mode 100644
index 0000000..08d5a4a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00793/00793-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00793" id="case00793" name="case00793" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="100" constant="false"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 100 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00793/00793-settings.txt b/models/sbml-test-suite/cases/semantic/00793/00793-settings.txt
new file mode 100644
index 0000000..3eda711
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00793/00793-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00794/00794-results.csv b/models/sbml-test-suite/cases/semantic/00794/00794-results.csv
new file mode 100644
index 0000000..973e852
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00794/00794-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.16,0.9231163463795645,1.576883653620435
+0.32,0.8521437889506755,1.647856211049324
+0.48,0.786627861061215,1.713372138938785
+0.64,0.7261490350336102,1.77385096496639
+0.8,0.6703200446201622,1.829679955379838
+0.96,0.6187833915260784,1.881216608473922
+1.12,0.5712090632513954,1.928790936748605
+1.28,0.5272924134931757,1.972707586506824
+1.44,0.4867522557648886,2.013247744235112
+1.6,0.4493289549939456,2.050671045006055
+1.76,0.4147829116608859,2.085217088339115
+1.92,0.3828928781566264,2.117107121843374
+2.08,0.3534545905699433,2.146545409430058
+2.24,0.3262797946223445,2.173720205377658
+2.4,0.3011942117970561,2.198805788202946
+2.56,0.2780373003466319,2.22196269965337
+2.72,0.2566607763819127,2.24333922361809
+2.88,0.2369277583792294,2.263072241620773
+3.04,0.2187118868416664,2.281288113158336
+3.2,0.2018965179836184,2.298103482016383
+3.36,0.1863739722247947,2.313626027775207
+3.52,0.1720448633202934,2.327955136679709
+3.68,0.1588174216023891,2.341182578397612
+3.84,0.1466069612725043,2.353393038727497
+4.,0.135335280953815,2.364664719046186
+4.16,0.1249302092574387,2.375069790742563
+4.32,0.1153251208902477,2.384674879109754
+4.48,0.1064585025453179,2.393541497454684
+4.64,0.09827358162394202,2.40172641837606
+4.8,0.09071794781935568,2.409282052180647
+4.96,0.08374321975997405,2.416256780240028
+5.12,0.07730473537536732,2.422695264624635
+5.28,0.07136126604813897,2.428638733951863
+5.44,0.06587475272537396,2.434125247274628
+5.6,0.06081006230388244,2.43918993769612
+5.76,0.05613476272982067,2.443865237270181
+5.92,0.05181891712258344,2.448181082877419
+6.08,0.04783488947716363,2.452165110522839
+6.24,0.04415716841787253,2.45584283158213
+6.4,0.04076220397662214,2.45923779602338
+6.56,0.03762825679303357,2.462371743206969
+6.72,0.03473525890918167,2.465264741090821
+6.88,0.03206468526481079,2.467935314735192
+7.04,0.02959943507363432,2.470400564926368
+7.2,0.02732372231999187,2.472676277680011
+7.36,0.02522297467452207,2.47477702532548
+7.52,0.02328374018156027,2.476716259818442
+7.68,0.02149360112074674,2.478506398879256
+7.84,0.01984109469364011,2.480158905306363
+8.,0.01831563888874244,2.48168436111126
diff --git a/models/sbml-test-suite/cases/semantic/00794/00794-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00794/00794-sbml-l2v4.xml
new file mode 100644
index 0000000..1c434fe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00794/00794-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00794" id="case00794" name="case00794">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="5.4" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 50 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00794/00794-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00794/00794-sbml-l3v1.xml
new file mode 100644
index 0000000..3c678ef
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00794/00794-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00794" id="case00794" name="case00794" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="5.4" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 50 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00794/00794-settings.txt b/models/sbml-test-suite/cases/semantic/00794/00794-settings.txt
new file mode 100644
index 0000000..d2f3ade
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00794/00794-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00795/00795-results.csv b/models/sbml-test-suite/cases/semantic/00795/00795-results.csv
new file mode 100644
index 0000000..973e852
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00795/00795-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.16,0.9231163463795645,1.576883653620435
+0.32,0.8521437889506755,1.647856211049324
+0.48,0.786627861061215,1.713372138938785
+0.64,0.7261490350336102,1.77385096496639
+0.8,0.6703200446201622,1.829679955379838
+0.96,0.6187833915260784,1.881216608473922
+1.12,0.5712090632513954,1.928790936748605
+1.28,0.5272924134931757,1.972707586506824
+1.44,0.4867522557648886,2.013247744235112
+1.6,0.4493289549939456,2.050671045006055
+1.76,0.4147829116608859,2.085217088339115
+1.92,0.3828928781566264,2.117107121843374
+2.08,0.3534545905699433,2.146545409430058
+2.24,0.3262797946223445,2.173720205377658
+2.4,0.3011942117970561,2.198805788202946
+2.56,0.2780373003466319,2.22196269965337
+2.72,0.2566607763819127,2.24333922361809
+2.88,0.2369277583792294,2.263072241620773
+3.04,0.2187118868416664,2.281288113158336
+3.2,0.2018965179836184,2.298103482016383
+3.36,0.1863739722247947,2.313626027775207
+3.52,0.1720448633202934,2.327955136679709
+3.68,0.1588174216023891,2.341182578397612
+3.84,0.1466069612725043,2.353393038727497
+4.,0.135335280953815,2.364664719046186
+4.16,0.1249302092574387,2.375069790742563
+4.32,0.1153251208902477,2.384674879109754
+4.48,0.1064585025453179,2.393541497454684
+4.64,0.09827358162394202,2.40172641837606
+4.8,0.09071794781935568,2.409282052180647
+4.96,0.08374321975997405,2.416256780240028
+5.12,0.07730473537536732,2.422695264624635
+5.28,0.07136126604813897,2.428638733951863
+5.44,0.06587475272537396,2.434125247274628
+5.6,0.06081006230388244,2.43918993769612
+5.76,0.05613476272982067,2.443865237270181
+5.92,0.05181891712258344,2.448181082877419
+6.08,0.04783488947716363,2.452165110522839
+6.24,0.04415716841787253,2.45584283158213
+6.4,0.04076220397662214,2.45923779602338
+6.56,0.03762825679303357,2.462371743206969
+6.72,0.03473525890918167,2.465264741090821
+6.88,0.03206468526481079,2.467935314735192
+7.04,0.02959943507363432,2.470400564926368
+7.2,0.02732372231999187,2.472676277680011
+7.36,0.02522297467452207,2.47477702532548
+7.52,0.02328374018156027,2.476716259818442
+7.68,0.02149360112074674,2.478506398879256
+7.84,0.01984109469364011,2.480158905306363
+8.,0.01831563888874244,2.48168436111126
diff --git a/models/sbml-test-suite/cases/semantic/00795/00795-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00795/00795-sbml-l2v4.xml
new file mode 100644
index 0000000..de6f9e9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00795/00795-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00795" id="case00795" name="case00795">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 50 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00795/00795-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00795/00795-sbml-l3v1.xml
new file mode 100644
index 0000000..8628b60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00795/00795-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00795" id="case00795" name="case00795" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 50 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00795/00795-settings.txt b/models/sbml-test-suite/cases/semantic/00795/00795-settings.txt
new file mode 100644
index 0000000..d2f3ade
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00795/00795-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00796/00796-results.csv b/models/sbml-test-suite/cases/semantic/00796/00796-results.csv
new file mode 100644
index 0000000..6ffb802
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00796/00796-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,1.5
+0.2,0.9048374180297637,1.595162581970236
+0.4,0.8187307530678463,1.681269246932154
+0.6,0.7408182193488913,1.759181780651109
+0.8,0.6703200446045471,1.829679955395452
+1.,0.6065306582283019,1.893469341771698
+1.2,0.5488116279094619,1.951188372090538
+1.4,0.4965852941406662,2.003414705859333
+1.6,0.4493289549957622,2.050671045004238
+1.8,0.4065696527167856,2.093430347283214
+2.,0.3678794216965456,2.132120578303454
+2.2,0.3328710836870444,2.167128916312957
+2.4,0.3011942117970897,2.198805788202912
+2.6,0.2725317929307889,2.227468207069212
+2.8,0.2465969634790944,2.253403036520907
+3.,0.223130158917576,2.276869841082426
+3.2,0.2018965179575218,2.29810348204248
+3.4,0.1826835240011246,2.317316475998878
+3.6,0.1652988856362918,2.33470111436371
+3.8,0.1495686149101082,2.350431385089894
+4.,0.1353352813550555,2.364664718644947
+4.2,0.122456428162302,2.3775435718377
+4.4,0.1108031507902467,2.389196849209756
+4.6,0.1002588434096688,2.399741156590334
+4.8,0.09071794831496324,2.409282051685039
+5.,0.08208499492437311,2.417915005075629
+5.2,0.07427357738203568,2.425726422617966
+5.4,0.06720550804878748,2.432794491951214
+5.6,0.06081006200251096,2.439189937997491
+5.8,0.05502321662972115,2.444976783370281
+6.,0.04978706286295912,2.450212937137043
+6.2,0.0450491992488263,2.454950800751176
+6.4,0.04076220390950022,2.459237796090502
+6.6,0.03688316567268454,2.463116834327317
+6.8,0.03337326636569754,2.466626733634305
+7.,0.0301973808950397,2.469802619104962
+7.2,0.02732372219399922,2.472676277806003
+7.4,0.02472352568739283,2.475276474312609
+7.6,0.02237076959001986,2.477629230409982
+7.8,0.02024190951729957,2.479758090482702
+8.,0.018315638500386,2.481684361499616
+8.2,0.01657267510423135,2.48342732489577
+8.4,0.01499557544560412,2.485004424554397
+8.6,0.0135685576024149,2.486431442397586
+8.8,0.01227733946395605,2.487722660536045
+9.,0.01110899645871722,2.488891003541283
+9.2,0.01005183494653649,2.489948165053464
+9.4,0.009095276109167188,2.490904723890834
+9.6,0.008229746625600708,2.4917702533744
+9.8,0.007446583068338345,2.492553416931663
+10.,0.006737946999097447,2.493262053000903
diff --git a/models/sbml-test-suite/cases/semantic/00796/00796-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00796/00796-sbml-l2v4.xml
new file mode 100644
index 0000000..4f833da
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00796/00796-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00796" id="case00796" name="case00796">
+    <listOfCompartments>
+      <compartment id="C" name="C" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="50"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 50 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00796/00796-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00796/00796-sbml-l3v1.xml
new file mode 100644
index 0000000..d4154dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00796/00796-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00796" id="case00796" name="case00796" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <apply>
+              <power/>
+              <cn type="integer"> 50 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00796/00796-settings.txt b/models/sbml-test-suite/cases/semantic/00796/00796-settings.txt
new file mode 100644
index 0000000..4a362ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00796/00796-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00797/00797-results.csv b/models/sbml-test-suite/cases/semantic/00797/00797-results.csv
new file mode 100644
index 0000000..7d86daf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00797/00797-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0025,0.02,0.01
+0.3,0.003209912810664819,0.02070991281066483,0.009290087189335176
+0.6,0.003864997354615738,0.02136499735461575,0.008635002645384257
+0.9,0.004469309817688164,0.02196930981768818,0.00803069018231183
+1.2,0.005026633491120416,0.02252663349112043,0.007473366508879577
+1.5,0.005540493048150014,0.02304049304815003,0.00695950695184998
+1.8,0.006014168450296154,0.02351416845029617,0.006485831549703839
+2.1,0.006450709023994377,0.02395070902399439,0.006049290976005617
+2.4,0.006852946751412904,0.02435294675141292,0.00564705324858709
+2.7,0.007223510167226045,0.02472351016722606,0.005276489832773949
+3.,0.007564836317151759,0.02506483631715177,0.004935163682848235
+3.3,0.00787918380168506,0.02537918380168507,0.004620816198314935
+3.6,0.008168643968031453,0.02566864396803146,0.004331356031968542
+3.9,0.008435152517825944,0.02593515251782595,0.004064847482174049
+4.2,0.008680499725093996,0.02618049972509401,0.003819500274905998
+4.5,0.008906340858139523,0.02640634085813953,0.003593659141860472
+4.8,0.009114205602464493,0.0266142056024645,0.003385794397535502
+5.1,0.009305506984666974,0.02680550698466699,0.00319449301533302
+5.4,0.009481549713507442,0.02698154971350745,0.003018450286492553
+5.7,0.009643537948861304,0.02714353794886131,0.002856462051138692
+6.,0.009792582813007724,0.02729258281300774,0.002707417186992269
+6.3,0.009929709300083272,0.02742970930008328,0.002570290699916721
+6.6,0.01005586268637226,0.02755586268637227,0.00244413731362773
+6.9,0.01017191450474403,0.02767191450474404,0.002328085495255964
+7.2,0.01027866805939575,0.02777866805939576,0.002221331940604241
+7.5,0.01037686359679678,0.0278768635967968,0.002123136403203208
+7.8,0.0104671831802247,0.02796718318022472,0.002032816819775288
+8.1,0.01055025513175545,0.02805025513175547,0.001949744868244537
+8.4,0.01062665817089053,0.02812665817089055,0.001873341829109458
+8.7,0.01069692524937941,0.02819692524937943,0.001803074750620576
+9.,0.01076154710218197,0.02826154710218199,0.001738452897818018
+9.3,0.01082097553359097,0.02832097553359099,0.001679024466409019
+9.6,0.01087562645658646,0.02837562645658648,0.001624373543413532
+9.9,0.0109258827495525,0.02842588274955251,0.001574117250447495
+10.2,0.01097209666512435,0.02847209666512437,0.001527903334875643
+10.5,0.01101459250194304,0.02851459250194306,0.001485407498056953
+10.8,0.0110536686468204,0.02855366864682043,0.001446331353179587
+11.1,0.01108959965656036,0.02858959965656039,0.001410400343439628
+11.4,0.01112263814295077,0.02862263814295079,0.001377361857049218
+11.7,0.01115301651147096,0.02865301651147098,0.001346983488529029
+12.,0.01118094856463085,0.02868094856463087,0.001319051435369136
+12.3,0.01120663097829273,0.02870663097829274,0.001293369021707262
+12.6,0.01123024466101536,0.02873024466101538,0.001269755338984627
+12.9,0.01125195601573767,0.02875195601573768,0.001248043984262324
+13.2,0.01127191811926861,0.02877191811926863,0.001228081880731377
+13.5,0.011290271696412,0.02879027169641202,0.001209728303587986
+13.8,0.0113071462257436,0.02880714622574362,0.001192853774256393
+14.1,0.01132266079092832,0.02882266079092834,0.001177339209071669
+14.4,0.01133692491424796,0.02883692491424799,0.001163075085752028
+14.7,0.01135003929231302,0.02885003929231304,0.001149960707686969
+15.,0.01136209651972424,0.02886209651972426,0.001137903480275753
diff --git a/models/sbml-test-suite/cases/semantic/00797/00797-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00797/00797-sbml-l2v4.xml
new file mode 100644
index 0000000..04a9e99
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00797/00797-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00797" id="case00797" name="case00797">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.00125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00797/00797-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00797/00797-sbml-l3v1.xml
new file mode 100644
index 0000000..0d71841
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00797/00797-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00797" id="case00797" name="case00797" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.00125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00797/00797-settings.txt b/models/sbml-test-suite/cases/semantic/00797/00797-settings.txt
new file mode 100644
index 0000000..8bef3de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00797/00797-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00798/00798-results.csv b/models/sbml-test-suite/cases/semantic/00798/00798-results.csv
new file mode 100644
index 0000000..9c07887
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00798/00798-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.000025,0.0002,0.0001
+0.4,0.00003451450594477665,0.0002095145059447767,0.00009048549405522332
+0.8,0.0000431229575071012,0.0002181229575071012,0.00008187704249289879
+1.2,0.00005091159686937578,0.0002259115968693757,0.0000740884031306242
+1.6,0.00005795846436857253,0.0002329584643685725,0.00006704153563142746
+2.,0.00006433417775445725,0.0002393341777544572,0.00006066582224554272
+2.4,0.00007010263646519843,0.0002451026364651983,0.00005489736353480155
+2.8,0.00007532166055666669,0.0002503216605566666,0.00004967833944333329
+3.2,0.00008004356782209842,0.0002550435678220983,0.00004495643217790154
+3.6,0.00008431569695635809,0.0002593156969563579,0.00004068430304364187
+4.,0.00008818088265981086,0.0002631808826598107,0.00003681911734018909
+4.4,0.00009167787752818745,0.0002666778775281872,0.0000333221224718125
+4.8,0.00009484174675407983,0.0002698417467540795,0.00003015825324592012
+5.2,0.00009770422463919683,0.0002727042246391965,0.00002729577536080311
+5.6,0.0001002940121248271,0.0002752940121248269,0.00002470598787517283
+6.,0.0001026370837636335,0.0002776370837636333,0.00002236291623636638
+6.4,0.0001047569434300626,0.0002797569434300623,0.0000202430565699373
+6.8,0.0001066748496369118,0.0002816748496369115,0.00001832515036308809
+7.2,0.0001084100391184009,0.0002834100391184006,0.000016589960881599
+7.6,0.0001099799199967493,0.000284979919996749,0.00001502008000325059
+8.,0.0001114002398239348,0.0002864002398239345,0.00001359976017606517
+8.4,0.0001126852445685531,0.0002876852445685529,0.00001231475543144679
+8.8,0.0001138478244250982,0.000288847824425098,0.00001115217557490174
+9.2,0.0001148996427442072,0.000289899642744207,0.00001010035725579274
+9.6,0.0001158512524833999,0.0002908512524833997,9.148747516600061e-6
+10.,0.0001167122001413487,0.0002917122001413486,8.287799858651219e-6
+10.4,0.0001174911220322038,0.0002924911220322036,7.508877967796168e-6
+10.8,0.0001181958324946835,0.0002931958324946833,6.80416750531643e-6
+11.2,0.0001188334020306808,0.0002938334020306806,6.166597969319138e-6
+11.6,0.0001194102278894798,0.0002944102278894796,5.58977211052015e-6
+12.,0.0001199320970240228,0.0002949320970240226,5.067902975977147e-6
+12.4,0.0001204042447483719,0.0002954042447483717,4.595755251628025e-6
+12.8,0.000120831408070496,0.0002958314080704958,4.168591929503931e-6
+13.2,0.0001212178730505196,0.0002962178730505195,3.782126949480313e-6
+13.6,0.0001215675175680464,0.0002965675175680463,3.432482431953475e-6
+14.,0.0001218838494721694,0.0002968838494721692,3.116150527830524e-6
+14.4,0.000122170042301369,0.0002971700423013689,2.829957698630907e-6
+14.8,0.0001224289675192149,0.0002974289675192148,2.571032480784968e-6
+15.2,0.0001226632232192991,0.000297663223219299,2.336776780700738e-6
+15.6,0.0001228751600295092,0.0002978751600295091,2.124839970490632e-6
+16.,0.0001230669042441606,0.0002980669042441605,1.933095755839302e-6
+16.4,0.0001232403795608977,0.0002982403795608976,1.75962043910216e-6
+16.8,0.0001233973265629042,0.0002983973265629041,1.60267343709568e-6
+17.2,0.0001235393201188141,0.0002985393201188141,1.460679881185722e-6
+17.6,0.0001236677850678906,0.0002986677850678906,1.332214932109238e-6
+18.,0.0001237840102572417,0.0002987840102572416,1.21598974275817e-6
+18.4,0.0001238891617578974,0.0002988891617578973,1.110838242102453e-6
+18.8,0.0001239842946405093,0.0002989842946405092,1.015705359490533e-6
+19.2,0.0001240703635230516,0.0002990703635230515,9.296364769482564e-7
+19.6,0.0001241482320424547,0.0002991482320424547,8.517679575451125e-7
+20.,0.0001242186814171372,0.0002992186814171373,7.81318582862607e-7
diff --git a/models/sbml-test-suite/cases/semantic/00798/00798-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00798/00798-sbml-l2v4.xml
new file mode 100644
index 0000000..d256489
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00798/00798-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00798" id="case00798" name="case00798">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="2.5e-005" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="1.25e-005"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00798/00798-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00798/00798-sbml-l3v1.xml
new file mode 100644
index 0000000..794ae0e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00798/00798-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00798" id="case00798" name="case00798" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="2.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="1.25e-005" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00798/00798-settings.txt b/models/sbml-test-suite/cases/semantic/00798/00798-settings.txt
new file mode 100644
index 0000000..a419658
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00798/00798-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00799/00799-results.csv b/models/sbml-test-suite/cases/semantic/00799/00799-results.csv
new file mode 100644
index 0000000..5709060
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00799/00799-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.00025,0.002,0.001
+0.24,0.0003081362547806899,0.002058136254780689,0.00094186374521931
+0.48,0.0003628636139082313,0.00211286361390823,0.0008871363860917685
+0.72,0.0004143809468124541,0.002164380946812453,0.0008356190531875458
+0.96,0.0004628756387714195,0.002212875638771419,0.0007871243612285805
+1.2,0.00050852423408684,0.002258524234086839,0.0007414757659131599
+1.44,0.0005514930624229428,0.002301493062422942,0.0006985069375770572
+1.68,0.0005919388118430992,0.002341938811843098,0.0006580611881569008
+1.92,0.0006300090901404453,0.002380009090140444,0.0006199909098595547
+2.16,0.000665842898837504,0.002415842898837503,0.0005841571011624959
+2.4,0.0006995711970375812,0.00244957119703758,0.0005504288029624188
+2.64,0.0007313173203788549,0.002481317320378854,0.000518682679621145
+2.88,0.0007611974175591357,0.002511197417559135,0.0004888025824408644
+3.12,0.0007893208643736471,0.002539320864373647,0.0004606791356263528
+3.36,0.0008157906636485796,0.002565790663648579,0.0004342093363514204
+3.6,0.0008407038125907361,0.002590703812590736,0.0004092961874092638
+3.84,0.0008641516668571668,0.002614151666857166,0.000385848333142833
+4.08,0.0008862201969123322,0.002636220196912332,0.0003637798030876677
+4.32,0.0009069903747073713,0.002656990374707371,0.0003430096252926285
+4.56,0.0009265384413448502,0.00267653844134485,0.0003234615586551495
+4.8,0.0009449361827372225,0.002694936182737223,0.0003050638172627772
+5.04,0.0009622511860680255,0.002712251186068026,0.0002877488139319741
+5.28,0.0009785470688684421,0.002728547068868443,0.0002714529311315576
+5.52,0.0009938837147506921,0.002743883714750693,0.0002561162852493074
+5.76,0.001008317504064722,0.002758317504064723,0.000241682495935277
+6.,0.001021901517049358,0.002771901517049359,0.0002280984829506412
+6.24,0.001034685725867863,0.002784685725867864,0.0002153142741321365
+6.48,0.001046717182008875,0.002796717182008876,0.0002032828179911239
+6.72,0.001058040135240232,0.002808040135240234,0.0001919598647597667
+6.96,0.001068696268312419,0.00281869626831242,0.0001813037316875804
+7.2,0.001078724819330754,0.002828724819330755,0.0001712751806692447
+7.44,0.001088162714030487,0.002838162714030488,0.0001618372859695121
+7.68,0.001097044711310857,0.002847044711310857,0.0001529552886891421
+7.92,0.001105403525245821,0.002855403525245821,0.0001445964747541773
+8.16,0.001113269949838102,0.002863269949838103,0.0001367300501618967
+8.4,0.001120672969156735,0.002870672969156735,0.0001293270308432642
+8.64,0.001127639862509983,0.002877639862509984,0.0001223601374900154
+8.88,0.001134196307759583,0.002884196307759584,0.0001158036922404153
+9.12,0.00114036647049814,0.002890366470498141,0.0001096335295018586
+9.36,0.001146173096948242,0.002896173096948243,0.0001038269030517562
+9.6,0.001151637594541453,0.002901637594541455,0.00009836240545854495
+9.84,0.001156780110804732,0.002906780110804734,0.0000932198891952663
+10.08,0.001161619609295371,0.002911619609295373,0.00008838039070462718
+10.32,0.001166173937125083,0.002916173937125085,0.00008382606287491487
+10.56,0.00117045989115423,0.002920459891154232,0.00007954010884576812
+10.8,0.001174493279663913,0.002924493279663914,0.00007550672033608569
+11.04,0.001178288980458527,0.002928288980458528,0.00007171101954147166
+11.28,0.001181860995575289,0.00293186099557529,0.00006813900442470941
+11.52,0.001185222502981716,0.002935222502981717,0.00006477749701828275
+11.76,0.00118838590341446,0.002938385903414461,0.0000616140965855387
+12.,0.001191362869933086,0.002941362869933087,0.00005863713006691263
diff --git a/models/sbml-test-suite/cases/semantic/00799/00799-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00799/00799-sbml-l2v4.xml
new file mode 100644
index 0000000..ab615be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00799/00799-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00799" id="case00799" name="case00799">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="p1" name="p1" value="0.000125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00799/00799-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00799/00799-sbml-l3v1.xml
new file mode 100644
index 0000000..38a35ca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00799/00799-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00799" id="case00799" name="case00799" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.000125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00799/00799-settings.txt b/models/sbml-test-suite/cases/semantic/00799/00799-settings.txt
new file mode 100644
index 0000000..b7e46bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00799/00799-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00800/00800-results.csv b/models/sbml-test-suite/cases/semantic/00800/00800-results.csv
new file mode 100644
index 0000000..336c687
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00800/00800-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.3,0.1027954657196836,0.2027954657196837,0.09720453428031633
+0.6,0.1052166790750115,0.2052166790750116,0.09478332092498849
+0.9,0.1073114533104427,0.2073114533104428,0.09268854668955731
+1.2,0.1091220870111078,0.2091220870111079,0.09087791298889212
+1.5,0.1106858430652298,0.2106858430652298,0.08931415693477021
+1.8,0.1120354289754245,0.2120354289754246,0.0879645710245755
+2.1,0.1131994679349532,0.2131994679349533,0.08680053206504677
+2.4,0.1142029420270832,0.2142029420270833,0.08579705797291681
+2.7,0.1150676073721578,0.2150676073721579,0.08493239262784216
+3.,0.1158123748586422,0.2158123748586423,0.08418762514135776
+3.3,0.116453652239067,0.2164536522390671,0.08354634776093294
+3.6,0.1170056623466827,0.2170056623466828,0.08299433765331726
+3.9,0.1174807118246261,0.2174807118246262,0.08251928817537382
+4.2,0.1178894426337883,0.2178894426337884,0.08211055736621167
+4.5,0.1182410491759564,0.2182410491759564,0.0817589508240436
+4.8,0.1185434657675469,0.2185434657675469,0.0814565342324531
+5.1,0.1188035398106985,0.2188035398106986,0.08119646018930146
+5.4,0.1190271727197296,0.2190271727197297,0.08097282728027038
+5.7,0.1192194515541829,0.219219451554183,0.08078054844581707
+6.,0.1193847579560247,0.2193847579560248,0.08061524204397527
+6.3,0.1195268646906009,0.219526864690601,0.08047313530939906
+6.6,0.1196490198897266,0.2196490198897267,0.08035098011027337
+6.9,0.1197540191857113,0.2197540191857114,0.08024598081428864
+7.2,0.1198442672937777,0.2198442672937777,0.08015573270622231
+7.5,0.1199218338287116,0.2199218338287116,0.0800781661712884
+7.8,0.1199884981618256,0.2199884981618257,0.08001150183817432
+8.1,0.1200457911060625,0.2200457911060625,0.0799542088939375
+8.4,0.1200950287633639,0.2200950287633639,0.07990497123663607
+8.7,0.1201373425029221,0.2201373425029222,0.07986265749707782
+9.,0.1201737055435155,0.2201737055435155,0.07982629445648449
+9.3,0.1202049542465649,0.2202049542465649,0.0797950457534351
+9.6,0.1202318074231434,0.2202318074231434,0.07976819257685656
+9.9,0.1202548830575333,0.2202548830575334,0.07974511694246665
+10.2,0.1202747124047727,0.2202747124047728,0.07972528759522723
+10.5,0.1202917520646065,0.2202917520646066,0.07970824793539345
+10.8,0.1203063943304659,0.2203063943304659,0.07969360566953408
+11.1,0.1203189763860302,0.2203189763860303,0.07968102361396974
+11.4,0.1203297880620335,0.2203297880620336,0.07967021193796645
+11.7,0.1203390784603604,0.2203390784603604,0.07966092153963956
+12.,0.1203470616050103,0.2203470616050103,0.07965293839498968
+12.3,0.1203539213690725,0.2203539213690725,0.07964607863092748
+12.6,0.1203598158304109,0.2203598158304109,0.07964018416958904
+12.9,0.1203648808124192,0.2203648808124192,0.07963511918758078
+13.2,0.1203692330314193,0.2203692330314193,0.07963076696858069
+13.5,0.1203729727834712,0.2203729727834712,0.07962702721652877
+13.8,0.1203761862536314,0.2203761862536313,0.0796238137463686
+14.1,0.1203789475006824,0.2203789475006824,0.07962105249931757
+14.4,0.1203813201628536,0.2203813201628536,0.07961867983714635
+14.7,0.1203833589235379,0.2203833589235379,0.07961664107646201
+15.,0.1203851107688889,0.2203851107688889,0.07961488923111104
diff --git a/models/sbml-test-suite/cases/semantic/00800/00800-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00800/00800-sbml-l2v4.xml
new file mode 100644
index 0000000..43cc161
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00800/00800-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00800" id="case00800" name="case00800">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="p1" name="p1" value="0.125"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00800/00800-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00800/00800-sbml-l3v1.xml
new file mode 100644
index 0000000..52f4d04
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00800/00800-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00800" id="case00800" name="case00800" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" constant="false"/>
+      <parameter id="p1" name="p1" value="0.125" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00800/00800-settings.txt b/models/sbml-test-suite/cases/semantic/00800/00800-settings.txt
new file mode 100644
index 0000000..a6787eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00800/00800-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00801/00801-results.csv b/models/sbml-test-suite/cases/semantic/00801/00801-results.csv
new file mode 100644
index 0000000..86fbc11
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00801/00801-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,0
+0.2,0.985,0.015
+0.4,0.97,0.03
+0.6,0.955,0.045
+0.8,0.94,0.06
+1,0.925,0.075
+1.2,0.91,0.09
+1.4,0.895,0.105
+1.6,0.88,0.12
+1.8,0.865,0.135
+2,0.85,0.15
+2.2,0.835,0.165
+2.4,0.82,0.18
+2.6,0.805,0.195
+2.8,0.79,0.21
+3,0.775,0.225
+3.2,0.76,0.24
+3.4,0.745,0.255
+3.6,0.73,0.27
+3.8,0.715,0.285
+4,0.7,0.3
+4.2,0.685,0.315
+4.4,0.67,0.33
+4.6,0.655,0.345
+4.8,0.64,0.36
+5,0.625,0.375
+5.2,0.61,0.39
+5.4,0.595,0.405
+5.6,0.58,0.42
+5.8,0.565,0.435
+6,0.55,0.45
+6.2,0.535,0.465
+6.4,0.52,0.48
+6.6,0.505,0.495
+6.8,0.49,0.51
+7,0.475,0.525
+7.2,0.46,0.54
+7.4,0.445,0.555
+7.6,0.43,0.57
+7.8,0.415,0.585
+8,0.4,0.6
+8.2,0.385,0.615
+8.4,0.37,0.63
+8.6,0.355,0.645
+8.8,0.34,0.66
+9,0.325,0.675
+9.2,0.31,0.69
+9.4,0.295,0.705
+9.6,0.28,0.72
+9.8,0.265,0.735
+10,0.25,0.75
diff --git a/models/sbml-test-suite/cases/semantic/00801/00801-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00801/00801-sbml-l1v2.xml
new file mode 100644
index 0000000..22e6777
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00801/00801-sbml-l1v2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00801">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00801/00801-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00801/00801-sbml-l2v4.xml
new file mode 100644
index 0000000..2dbd56a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00801/00801-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00801" id="case00801" name="case00801">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000047">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00801/00801-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00801/00801-sbml-l3v1.xml
new file mode 100644
index 0000000..001817f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00801/00801-sbml-l3v1.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00801" id="case00801" name="case00801" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000047">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00801/00801-settings.txt b/models/sbml-test-suite/cases/semantic/00801/00801-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00801/00801-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00802/00802-results.csv b/models/sbml-test-suite/cases/semantic/00802/00802-results.csv
new file mode 100644
index 0000000..03f5e40
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00802/00802-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,0
+0.1,0.778801,0.221199
+0.2,0.606531,0.393469
+0.3,0.472367,0.527633
+0.4,0.367879,0.632121
+0.5,0.286505,0.713495
+0.6,0.22313,0.77687
+0.7,0.173774,0.826226
+0.8,0.135335,0.864665
+0.9,0.105399,0.894601
+1,0.082085,0.917915
+1.1,0.0639279,0.936072
+1.2,0.0497871,0.950213
+1.3,0.0387742,0.961226
+1.4,0.0301974,0.969803
+1.5,0.0235177,0.976482
+1.6,0.0183156,0.981684
+1.7,0.0142642,0.985736
+1.8,0.011109,0.988891
+1.9,0.0086517,0.991348
+2,0.00673795,0.993262
+2.1,0.00524752,0.994752
+2.2,0.00408677,0.995913
+2.3,0.00318278,0.996817
+2.4,0.00247875,0.997521
+2.5,0.00193045,0.99807
+2.6,0.00150344,0.998497
+2.7,0.00117088,0.998829
+2.8,0.000911882,0.999088
+2.9,0.000710174,0.99929
+3,0.000553084,0.999447
+3.1,0.000430743,0.999569
+3.2,0.000335463,0.999665
+3.3,0.000261259,0.999739
+3.4,0.000203468,0.999797
+3.5,0.000158461,0.999842
+3.6,0.00012341,0.999877
+3.7,9.61117e-005,0.999904
+3.8,7.48518e-005,0.999925
+3.9,5.82947e-005,0.999942
+4,4.53999e-005,0.999955
+4.1,3.53575e-005,0.999965
+4.2,2.75364e-005,0.999972
+4.3,2.14454e-005,0.999979
+4.4,1.67017e-005,0.999983
+4.5,1.30073e-005,0.999987
+4.6,1.01301e-005,0.99999
+4.7,7.88932e-006,0.999992
+4.8,6.14421e-006,0.999994
+4.9,4.78512e-006,0.999995
+5,3.72665e-006,0.999996
diff --git a/models/sbml-test-suite/cases/semantic/00802/00802-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00802/00802-sbml-l1v2.xml
new file mode 100644
index 0000000..80b974a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00802/00802-sbml-l1v2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00802">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * S1"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00802/00802-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00802/00802-sbml-l2v4.xml
new file mode 100644
index 0000000..0541c71
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00802/00802-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00802" id="case00802" name="case00802">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="2.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000049">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00802/00802-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00802/00802-sbml-l3v1.xml
new file mode 100644
index 0000000..14100e0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00802/00802-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00802" id="case00802" name="case00802" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000049">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00802/00802-settings.txt b/models/sbml-test-suite/cases/semantic/00802/00802-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00802/00802-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00803/00803-results.csv b/models/sbml-test-suite/cases/semantic/00803/00803-results.csv
new file mode 100644
index 0000000..b63bb6a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00803/00803-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,0
+0.2,0.875173,0.124827
+0.4,0.765928,0.234072
+0.6,0.67032,0.32968
+0.8,0.586646,0.413354
+1,0.513417,0.486583
+1.2,0.449329,0.550671
+1.4,0.393241,0.606759
+1.6,0.344154,0.655846
+1.8,0.301194,0.698806
+2,0.263597,0.736403
+2.2,0.230693,0.769307
+2.4,0.201897,0.798103
+2.6,0.176694,0.823306
+2.8,0.154638,0.845362
+3,0.135335,0.864665
+3.2,0.118442,0.881558
+3.4,0.103657,0.896343
+3.6,0.090718,0.909282
+3.8,0.0793939,0.920606
+4,0.0694835,0.930517
+4.2,0.0608101,0.93919
+4.4,0.0532193,0.946781
+4.6,0.0465762,0.953424
+4.8,0.0407622,0.959238
+5,0.035674,0.964326
+5.2,0.0312209,0.968779
+5.4,0.0273237,0.972676
+5.6,0.023913,0.976087
+5.8,0.020928,0.979072
+6,0.0183156,0.981684
+6.2,0.0160294,0.983971
+6.4,0.0140285,0.985972
+6.6,0.0122773,0.987723
+6.8,0.0107448,0.989255
+7,0.00940356,0.990596
+7.2,0.00822975,0.99177
+7.4,0.00720246,0.992798
+7.6,0.0063034,0.993697
+7.8,0.00551656,0.994483
+8,0.00482795,0.995172
+8.2,0.00422529,0.995775
+8.4,0.00369786,0.996302
+8.6,0.00323627,0.996764
+8.8,0.0028323,0.997168
+9,0.00247875,0.997521
+9.2,0.00216934,0.997831
+9.4,0.00189855,0.998101
+9.6,0.00166156,0.998338
+9.8,0.00145415,0.998546
+10,0.00127263,0.998727
diff --git a/models/sbml-test-suite/cases/semantic/00803/00803-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00803/00803-sbml-l1v2.xml
new file mode 100644
index 0000000..7f178b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00803/00803-sbml-l1v2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00803">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * S1 * pow(k, -1)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00803/00803-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00803/00803-sbml-l2v4.xml
new file mode 100644
index 0000000..985f2c3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00803/00803-sbml-l2v4.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00803" id="case00803" name="case00803">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000333">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> S1 </ci>
+              <apply>
+                <power/>
+                <ci> k </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00803/00803-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00803/00803-sbml-l3v1.xml
new file mode 100644
index 0000000..333450f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00803/00803-sbml-l3v1.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00803" id="case00803" name="case00803" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000333">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> S1 </ci>
+              <apply>
+                <power/>
+                <ci> k </ci>
+                <cn type="integer"> -1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00803/00803-settings.txt b/models/sbml-test-suite/cases/semantic/00803/00803-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00803/00803-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00804/00804-results.csv b/models/sbml-test-suite/cases/semantic/00804/00804-results.csv
new file mode 100644
index 0000000..65c6585
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00804/00804-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.8695652173409191,0.1304347826590809
+0.2,0.769230768396701,0.2307692316032993
+0.3,0.6896551708073983,0.3103448291926019
+0.4,0.6249999999980954,0.3750000000019049
+0.5,0.5714285711459278,0.4285714288540727
+0.6,0.5263157891323895,0.4736842108676109
+0.7,0.487804878029749,0.5121951219702515
+0.8,0.4545454526165758,0.5454545473834249
+0.9,0.4255319133484042,0.5744680866515964
+1.,0.3999999978902636,0.600000002109737
+1.1,0.3773584902187681,0.6226415097812324
+1.2,0.3571428561468167,0.6428571438531837
+1.3,0.3389830493709834,0.661016950629017
+1.4,0.3225806438403673,0.6774193561596328
+1.5,0.3076923065639111,0.6923076934360892
+1.6,0.2941176461332258,0.7058823538667745
+1.7,0.2816901407052794,0.718309859294721
+1.8,0.270270269189045,0.7297297308109553
+1.9,0.259740259619318,0.7402597403806823
+2.,0.2499999992842299,0.7500000007157704
+2.1,0.2409638549039782,0.7590361450960219
+2.2,0.2325581394705229,0.7674418605294773
+2.3,0.2247191010695455,0.7752808989304548
+2.4,0.2173913040459858,0.7826086959540145
+2.5,0.210526315000049,0.7894736849999513
+2.6,0.2040816325176677,0.7959183674823326
+2.7,0.1980198019006509,0.8019801980993495
+2.8,0.1923076918394109,0.8076923081605895
+2.9,0.1869158872005319,0.8130841127994685
+3.,0.1818181813216654,0.8181818186783349
+3.1,0.1769911504417034,0.823008849558297
+3.2,0.1724137922789279,0.8275862077210725
+3.3,0.168067226793537,0.8319327732064633
+3.4,0.1639344256808023,0.8360655743191981
+3.5,0.1599999997754106,0.8400000002245897
+3.6,0.1562499996936508,0.8437500003063496
+3.7,0.1526717552544903,0.8473282447455101
+3.8,0.1492537305840158,0.8507462694159845
+3.9,0.1459854013295955,0.8540145986704047
+4.,0.1428571426154917,0.8571428573845085
+4.1,0.1398601392970026,0.8601398607029976
+4.2,0.136986301201804,0.8630136987981963
+4.3,0.1342281878102254,0.8657718121897748
+4.4,0.1315789469593942,0.8684210530406061
+4.5,0.1290322574832532,0.8709677425167471
+4.6,0.1265822781733277,0.8734177218266726
+4.7,0.1242236024102674,0.875776397589733
+4.8,0.1219512195080582,0.8780487804919421
+4.9,0.1197604790033945,0.8802395209966058
+5.,0.1176470588239239,0.8823529411760765
diff --git a/models/sbml-test-suite/cases/semantic/00804/00804-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00804/00804-sbml-l1v2.xml
new file mode 100644
index 0000000..dd83bc8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00804/00804-sbml-l1v2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00804">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * pow(S1, 2)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00804/00804-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00804/00804-sbml-l2v4.xml
new file mode 100644
index 0000000..a6d5813
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00804/00804-sbml-l2v4.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00804" id="case00804" name="case00804">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000052">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00804/00804-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00804/00804-sbml-l3v1.xml
new file mode 100644
index 0000000..88a7659
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00804/00804-sbml-l3v1.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00804" id="case00804" name="case00804" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000052">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00804/00804-settings.txt b/models/sbml-test-suite/cases/semantic/00804/00804-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00804/00804-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00805/00805-results.csv b/models/sbml-test-suite/cases/semantic/00805/00805-results.csv
new file mode 100644
index 0000000..4612cec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00805/00805-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,0.5,0
+0.16,0.922306,0.422306,0.0776942
+0.32,0.861043,0.361043,0.138957
+0.48,0.811671,0.311671,0.188329
+0.64,0.771177,0.271177,0.228823
+0.8,0.737483,0.237483,0.262517
+0.96,0.709111,0.209111,0.290889
+1.12,0.684979,0.184979,0.315021
+1.28,0.664277,0.164277,0.335723
+1.44,0.646387,0.146387,0.353613
+1.6,0.630828,0.130828,0.369172
+1.76,0.617224,0.117224,0.382776
+1.92,0.60527,0.10527,0.39473
+2.08,0.594722,0.0947221,0.405278
+2.24,0.58538,0.0853802,0.41462
+2.4,0.577079,0.0770791,0.422921
+2.56,0.569681,0.0696811,0.430319
+2.72,0.563071,0.0630708,0.436929
+2.88,0.557151,0.0571505,0.442849
+3.04,0.551837,0.0518371,0.448163
+3.2,0.547059,0.0470594,0.452941
+3.36,0.542756,0.0427561,0.457244
+3.52,0.538874,0.0388744,0.461126
+3.68,0.535368,0.035368,0.464632
+3.84,0.532197,0.0321968,0.467803
+4,0.529325,0.0293255,0.470675
+4.16,0.526723,0.0267231,0.473277
+4.32,0.524362,0.0243623,0.475638
+4.48,0.522219,0.0222188,0.477781
+4.64,0.520271,0.0202712,0.479729
+4.8,0.5185,0.0185004,0.4815
+4.96,0.516889,0.0168893,0.483111
+5.12,0.515423,0.0154227,0.484577
+5.28,0.514087,0.0140869,0.485913
+5.44,0.51287,0.0128697,0.48713
+5.6,0.51176,0.0117601,0.48824
+5.76,0.510748,0.0107481,0.489252
+5.92,0.509825,0.0098249,0.490175
+6.08,0.508982,0.00898239,0.491018
+6.24,0.508213,0.00821329,0.491787
+6.4,0.507511,0.00751102,0.492489
+6.56,0.50687,0.0068696,0.49313
+6.72,0.506284,0.00628364,0.493716
+6.88,0.505748,0.00574823,0.494252
+7.04,0.505259,0.00525891,0.494741
+7.2,0.504812,0.00481164,0.495188
+7.36,0.504403,0.00440274,0.495597
+7.52,0.504029,0.00402887,0.495971
+7.68,0.503687,0.00368698,0.496313
+7.84,0.503374,0.0033743,0.496626
+8,0.503088,0.00308829,0.496912
diff --git a/models/sbml-test-suite/cases/semantic/00805/00805-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00805/00805-sbml-l1v2.xml
new file mode 100644
index 0000000..3522837
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00805/00805-sbml-l1v2.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00805">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="1.1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * S1 * S2"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00805/00805-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00805/00805-sbml-l2v4.xml
new file mode 100644
index 0000000..0b8384f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00805/00805-sbml-l2v4.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00805" id="case00805" name="case00805">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1.1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000054">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00805/00805-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00805/00805-sbml-l3v1.xml
new file mode 100644
index 0000000..06cb819
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00805/00805-sbml-l3v1.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00805" id="case00805" name="case00805" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000054">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00805/00805-settings.txt b/models/sbml-test-suite/cases/semantic/00805/00805-settings.txt
new file mode 100644
index 0000000..ed20bce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00805/00805-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00806/00806-results.csv b/models/sbml-test-suite/cases/semantic/00806/00806-results.csv
new file mode 100644
index 0000000..c7b9f2d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00806/00806-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.3,0.8481889295782179,0.1518110704217821
+0.6,0.7495316888964356,0.2504683111035644
+0.9,0.6788442323957991,0.321155767604201
+1.2,0.6249999999619251,0.3750000000380749
+1.5,0.5822225095080539,0.4177774904919461
+1.8,0.5471756548600279,0.4528243451399722
+2.1,0.5177803725848121,0.4822196274151879
+2.4,0.4926646387435471,0.5073353612564531
+2.7,0.4708816093304338,0.5291183906695664
+3.,0.4517539502337401,0.5482460497662602
+3.3,0.4347826078455399,0.5652173921544603
+3.6,0.4195906785445458,0.5804093214554544
+3.9,0.4058874788934356,0.5941125211065647
+4.2,0.3934447375421266,0.6065552624578737
+4.5,0.3820803594007099,0.6179196405992902
+4.8,0.371647072566569,0.6283529274334311
+5.1,0.3620243071287446,0.6379756928712555
+5.4,0.3531122754032203,0.6468877245967797
+5.7,0.3448275852824797,0.6551724147175203
+6.,0.3370999305511839,0.662900069448816
+6.3,0.3298695623300351,0.6701304376699648
+6.6,0.3230853346470733,0.6769146653529266
+6.9,0.3167031771372608,0.6832968228627391
+7.2,0.3106848821773539,0.6893151178226459
+7.5,0.3049971401206167,0.6950028598793831
+7.8,0.2996107586002173,0.7003892413997827
+8.1,0.2945000319755817,0.7054999680244182
+8.4,0.2896422231758297,0.7103577768241703
+8.7,0.285017136591332,0.7149828634086681
+9.,0.2806067662020018,0.7193932337979983
+9.3,0.2763949962009724,0.7236050037990277
+9.6,0.2723673548604781,0.727632645139522
+9.9,0.2685108067514505,0.7314891932485498
+10.2,0.2648135702397629,0.7351864297602372
+10.5,0.2612649721019023,0.7387350278980977
+10.8,0.2578553109821425,0.7421446890178575
+11.1,0.2545757524297872,0.7454242475702129
+11.4,0.2514182275464388,0.7485817724535612
+11.7,0.2483753500150187,0.7516246499849813
+12.,0.2454403463832113,0.7545596536167888
+12.3,0.242606990384288,0.7573930096157121
+12.6,0.2398695463822755,0.7601304536177244
+12.9,0.2372227220988954,0.7627772779011047
+13.2,0.2346616266328656,0.7653383733671345
+13.5,0.2321817295236602,0.7678182704763398
+13.8,0.2297788289089858,0.7702211710910141
+14.1,0.2274490211669895,0.7725509788330104
+14.4,0.2251886742413135,0.7748113257586865
+14.7,0.222994403937842,0.7770055960621579
+15.,0.2208630521502975,0.7791369478497024
diff --git a/models/sbml-test-suite/cases/semantic/00806/00806-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00806/00806-sbml-l1v2.xml
new file mode 100644
index 0000000..6c785f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00806/00806-sbml-l1v2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00806">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="0.65"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * pow(S1, 3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00806/00806-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00806/00806-sbml-l2v4.xml
new file mode 100644
index 0000000..8a67572
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00806/00806-sbml-l2v4.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00806" id="case00806" name="case00806">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.65"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000057">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 3 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00806/00806-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00806/00806-sbml-l3v1.xml
new file mode 100644
index 0000000..a059c2a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00806/00806-sbml-l3v1.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00806" id="case00806" name="case00806" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.65" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000057">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 3 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00806/00806-settings.txt b/models/sbml-test-suite/cases/semantic/00806/00806-settings.txt
new file mode 100644
index 0000000..1de7f43
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00806/00806-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00807/00807-results.csv b/models/sbml-test-suite/cases/semantic/00807/00807-results.csv
new file mode 100644
index 0000000..2be4f38
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00807/00807-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.2,0.9095790108487408,0.4095790108487413,0.09042098915125879
+0.4,0.8459176589171355,0.3459176589171361,0.154082341082864
+0.6,0.7982290240917342,0.2982290240917348,0.2017709759082655
+0.8,0.7609610354452589,0.2609610354452592,0.239038964554741
+1.,0.7309279503114388,0.2309279503114393,0.2690720496885609
+1.2,0.7061547618915681,0.2061547618915685,0.2938452381084318
+1.4,0.6853438373406332,0.1853438373406336,0.3146561626593667
+1.6,0.6676030938076396,0.1676030938076398,0.3323969061923604
+1.8,0.6522965432578582,0.1522965432578586,0.3477034567421417
+2.,0.6389570391714813,0.1389570391714816,0.3610429608285187
+2.2,0.627232782170277,0.1272327821702772,0.3727672178297231
+2.4,0.6168531671821539,0.1168531671821541,0.3831468328178462
+2.6,0.6076062181763096,0.1076062181763098,0.3923937818236905
+2.8,0.599323237161372,0.09932323716137211,0.4006767628386283
+3.,0.5918680943743478,0.09186809437434791,0.4081319056256524
+3.2,0.5851295803917419,0.08512958039174194,0.4148704196082583
+3.4,0.5790158485551428,0.07901584855514294,0.4209841514448573
+3.6,0.5734502961527152,0.07345029615271525,0.426549703847285
+3.8,0.5683684680419229,0.06836846804192311,0.4316315319580771
+4.,0.5637156949888588,0.06371569498885894,0.4362843050111412
+4.2,0.5594452690252405,0.05944526902524065,0.4405547309747596
+4.4,0.5555170195805947,0.05551701958059482,0.4444829804194053
+4.6,0.5518961853465386,0.05189618534653857,0.4481038146534616
+4.8,0.5485525196347659,0.04855251963476583,0.4514474803652344
+5.,0.5454595658780664,0.04545956587806628,0.4545404341219339
+5.2,0.5425940725745702,0.04259407257457021,0.45740592742543
+5.4,0.5399355147500805,0.0399355147500805,0.4600644852499197
+5.6,0.5374656993929117,0.03746569939291179,0.4625343006070884
+5.8,0.5351684391325961,0.03516843913259615,0.464831560867404
+6.,0.5330292785738287,0.0330292785738288,0.4669707214261714
+6.2,0.5310352669630912,0.03103526696309115,0.4689647330369091
+6.4,0.5291747652611803,0.02917476526118039,0.4708252347388198
+6.6,0.5274372825854263,0.02743728258542637,0.4725627174145739
+6.8,0.5258133370340708,0.02581333703407093,0.4741866629659293
+7.,0.524294336687213,0.02429433668721304,0.4757056633127872
+7.2,0.5228724769071801,0.02287247690718035,0.4771275230928199
+7.4,0.5215406534678482,0.02154065346784842,0.4784593465321518
+7.6,0.5202923837124896,0.02029238371248987,0.4797076162875104
+7.8,0.5191217424032437,0.0191217424032438,0.4808782575967565
+8.,0.5180233023872647,0.01802330238726496,0.4819766976127353
+8.2,0.5169920838017887,0.01699208380178884,0.4830079161982114
+8.4,0.5160235103071144,0.01602351030711465,0.4839764896928857
+8.6,0.515113368997439,0.01511336899743923,0.484886631002561
+8.8,0.514257775627732,0.01425777562773221,0.4857422243722681
+9.,0.5134531450074377,0.01345314500743792,0.4865468549925623
+9.2,0.5126961617331579,0.01269616173315805,0.4873038382668422
+9.4,0.5119837579805999,0.01198375798060003,0.4880162420194003
+9.6,0.5113130902751748,0.01131309027517491,0.4886869097248253
+9.8,0.5106815202560798,0.01068152025607988,0.4893184797439204
+10.,0.5100865980442176,0.01008659804421767,0.4899134019557826
diff --git a/models/sbml-test-suite/cases/semantic/00807/00807-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00807/00807-sbml-l1v2.xml
new file mode 100644
index 0000000..93ca3aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00807/00807-sbml-l1v2.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00807">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="1.1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * pow(S1, 2) * S2"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00807/00807-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00807/00807-sbml-l2v4.xml
new file mode 100644
index 0000000..1ca3632
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00807/00807-sbml-l2v4.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00807" id="case00807" name="case00807">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1.1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000059">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00807/00807-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00807/00807-sbml-l3v1.xml
new file mode 100644
index 0000000..dc34b67
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00807/00807-sbml-l3v1.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00807" id="case00807" name="case00807" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="1.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000059">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <apply>
+                <power/>
+                <ci> S1 </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00807/00807-settings.txt b/models/sbml-test-suite/cases/semantic/00807/00807-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00807/00807-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00808/00808-results.csv b/models/sbml-test-suite/cases/semantic/00808/00808-results.csv
new file mode 100644
index 0000000..a9e2577
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00808/00808-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0.5,0.75,0
+0.2,0.9468350697398935,0.446835069739893,0.6968350697398935,0.05316493026010704
+0.4,0.9043584690837643,0.4043584690837638,0.6543584690837643,0.09564153091623615
+0.6,0.8694574786790343,0.3694574786790336,0.6194574786790343,0.1305425213209664
+0.8,0.8401544571298024,0.3401544571298016,0.5901544571298024,0.1598455428701983
+1.,0.8151249934407548,0.3151249934407541,0.5651249934407548,0.1848750065592458
+1.2,0.7934445165266857,0.293444516526685,0.5434445165266857,0.2065554834733149
+1.4,0.7744455037868276,0.2744455037868268,0.5244455037868276,0.2255544962131731
+1.6,0.7576324162682001,0.2576324162681993,0.5076324162682001,0.2423675837318005
+1.8,0.7426286833705725,0.2426286833705717,0.4926286833705724,0.2573713166294281
+2.,0.7291423675544496,0.2291423675544489,0.4791423675544497,0.2708576324455508
+2.2,0.7169432131031983,0.2169432131031975,0.4669432131031983,0.2830567868968023
+2.4,0.7058468635002234,0.2058468635002227,0.4558468635002234,0.2941531364997772
+2.6,0.6957037458083008,0.1957037458083,0.4457037458083007,0.3042962541916999
+2.8,0.6863910756882385,0.1863910756882379,0.4363910756882385,0.313608924311762
+3.,0.6778070012703618,0.1778070012703612,0.4278070012703618,0.3221929987296388
+3.2,0.6698662317848186,0.1698662317848179,0.4198662317848184,0.3301337682151822
+3.4,0.6624967370062451,0.1624967370062443,0.4124967370062449,0.3375032629937557
+3.6,0.6556372157246349,0.1556372157246342,0.4056372157246348,0.3443627842753658
+3.8,0.6492351249845734,0.1492351249845729,0.3992351249845734,0.3507648750154272
+4.,0.6432451415153066,0.1432451415153059,0.3932451415153063,0.3567548584846942
+4.2,0.6376279354865881,0.1376279354865873,0.3876279354865877,0.3623720645134129
+4.4,0.6323491900199743,0.1323491900199734,0.3823491900199739,0.3676508099800267
+4.6,0.6273788119127782,0.1273788119127772,0.3773788119127777,0.3726211880872228
+4.8,0.6226902873321352,0.1226902873321342,0.3726902873321346,0.377309712667866
+5.,0.6182601534416185,0.1182601534416175,0.368260153441618,0.3817398465583826
+5.2,0.6140675626926254,0.1140675626926245,0.3640675626926249,0.3859324373073757
+5.4,0.6100939203224276,0.1100939203224268,0.3600939203224272,0.3899060796775734
+5.6,0.6063225831704088,0.1063225831704079,0.3563225831704083,0.3936774168295922
+5.8,0.6027386010663197,0.1027386010663188,0.3527386010663192,0.3972613989336814
+6.,0.5993285069868702,0.09932850698686937,0.3493285069868698,0.4006714930131308
+6.2,0.596080130773356,0.09608013077335518,0.3460801307733557,0.4039198692266449
+6.4,0.5929824428692925,0.09298244286929158,0.342982442869292,0.4070175571307085
+6.6,0.5900254237518651,0.09002542375186425,0.3400254237518647,0.4099745762481359
+6.8,0.5871999454686713,0.08719994546867049,0.3371999454686709,0.4128000545313296
+7.,0.5844976749664052,0.08449767496640435,0.3344976749664048,0.4155023250335958
+7.2,0.5819109842840961,0.08191098428409526,0.3319109842840958,0.4180890157159048
+7.4,0.5794328804753393,0.07943288047533843,0.3294328804753389,0.4205671195246617
+7.6,0.5770569351276505,0.07705693512764957,0.3270569351276499,0.4229430648723506
+7.8,0.5747772297428804,0.0747772297428795,0.3247772297428798,0.4252227702571208
+8.,0.5725883051035827,0.07258830510358169,0.3225883051035821,0.4274116948964185
+8.2,0.5704851146792385,0.07048511467923754,0.320485114679238,0.4295148853207626
+8.4,0.5684629878561307,0.06846298785612965,0.3184629878561301,0.4315370121438705
+8.6,0.5665175937827706,0.06651759378276951,0.31651759378277,0.4334824062172306
+8.8,0.5646449102062087,0.06464491020620766,0.3146449102062081,0.4353550897937925
+9.,0.5628411959205988,0.06284119592059783,0.3128411959205983,0.4371588040794023
+9.2,0.5611029661856125,0.06110296618561141,0.3111029661856119,0.4388970338143887
+9.4,0.5594269710304642,0.05942697103046326,0.3094269710304637,0.4405730289695369
+9.6,0.5578101752294362,0.05781017522943521,0.3078101752294356,0.442189824770565
+9.8,0.5562497402934757,0.05624974029347489,0.3062497402934754,0.4437502597065252
+10.,0.5547430082305554,0.05474300823055456,0.304743008230555,0.4452569917694456
diff --git a/models/sbml-test-suite/cases/semantic/00808/00808-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00808/00808-sbml-l1v2.xml
new file mode 100644
index 0000000..8677a5c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00808/00808-sbml-l1v2.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00808">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.75" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="k" value="0.8"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="C * k * S1 * S2 * S3"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00808/00808-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00808/00808-sbml-l2v4.xml
new file mode 100644
index 0000000..203bb35
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00808/00808-sbml-l2v4.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00808" id="case00808" name="case00808">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.75" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.8"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000061">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00808/00808-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00808/00808-sbml-l3v1.xml
new file mode 100644
index 0000000..534d192
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00808/00808-sbml-l3v1.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00808" id="case00808" name="case00808" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.75" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" name="k" value="0.8" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw sboTerm="SBO:0000061">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00808/00808-settings.txt b/models/sbml-test-suite/cases/semantic/00808/00808-settings.txt
new file mode 100644
index 0000000..5dd8210
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00808/00808-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00809/00809-results.csv b/models/sbml-test-suite/cases/semantic/00809/00809-results.csv
new file mode 100644
index 0000000..b2f90a1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00809/00809-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.9142483152584428,0.08575168474155696
+0.2,0.8364627607178646,0.1635372392821351
+0.3,0.7659033027229892,0.2340966972770104
+0.4,0.7018986483804176,0.298101351619582
+0.5,0.6438398834839568,0.3561601165160428
+0.6,0.5911746413366045,0.408825358663395
+0.7,0.5434018752558964,0.4565981247441033
+0.8,0.5000670755411827,0.4999329244588169
+0.9,0.4607579907834843,0.5392420092165155
+1.,0.4251006156469335,0.5748993843530663
+1.1,0.3927557540293014,0.6072442459706982
+1.2,0.363415621774797,0.6365843782252027
+1.3,0.3368011465637819,0.6631988534362177
+1.4,0.3126590766615867,0.6873409233384129
+1.5,0.2907597336158243,0.7092402663841753
+1.6,0.2708948162088166,0.729105183791183
+1.7,0.2528753062485101,0.7471246937514896
+1.8,0.2365297620885568,0.7634702379114428
+1.9,0.2217026705790048,0.7782973294209949
+2.,0.2082529776975664,0.7917470223024333
+2.1,0.1960527323082339,0.8039472676917658
+2.2,0.1849858658535986,0.8150141341464012
+2.3,0.1749470894969834,0.8250529105030163
+2.4,0.165840893526765,0.8341591064732347
+2.5,0.157580639553559,0.8424193604464408
+2.6,0.1500877387142287,0.8499122612857711
+2.7,0.1432909090907995,0.8567090909092003
+2.8,0.1371254903058226,0.8628745096941771
+2.9,0.1315328268698907,0.868467173130109
+3.,0.126459710849629,0.8735402891503708
+3.1,0.1218578762141979,0.8781421237858019
+3.2,0.1176835400749328,0.882316459925067
+3.3,0.1138969874020085,0.8861030125979914
+3.4,0.1104621957426982,0.8895378042573016
+3.5,0.1073464888383761,0.8926535111616238
+3.6,0.1045202250142094,0.8954797749857905
+3.7,0.1019565135137126,0.8980434864862874
+3.8,0.09963096622935149,0.9003690337706483
+3.9,0.09752145686211001,0.9024785431378898
+4.,0.09560791597728415,0.9043920840227157
+4.1,0.09387213854589203,0.9061278614541078
+4.2,0.09229761074573571,0.9077023892542641
+4.3,0.09086935285219,0.9091306471478098
+4.4,0.08957377672403722,0.9104262232759625
+4.5,0.08839855652848888,0.9116014434715108
+4.6,0.08733251147555004,0.9126674885244496
+4.7,0.08636549926901639,0.9136345007309832
+4.8,0.08548832022457443,0.9145116797754252
+4.9,0.08469262937637936,0.9153073706236202
+5.,0.08397085620211741,0.9160291437978822
diff --git a/models/sbml-test-suite/cases/semantic/00809/00809-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00809/00809-sbml-l1v2.xml
new file mode 100644
index 0000000..8365e17
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00809/00809-sbml-l1v2.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00809">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00809/00809-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00809/00809-sbml-l2v4.xml
new file mode 100644
index 0000000..344b3a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00809/00809-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00809" id="case00809" name="case00809">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00809/00809-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00809/00809-sbml-l3v1.xml
new file mode 100644
index 0000000..012617b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00809/00809-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00809" id="case00809" name="case00809" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00809/00809-settings.txt b/models/sbml-test-suite/cases/semantic/00809/00809-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00809/00809-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00810/00810-results.csv b/models/sbml-test-suite/cases/semantic/00810/00810-results.csv
new file mode 100644
index 0000000..73071d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00810/00810-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.2,0.9064645346409043,0.4064645346409041,0.09353546535909597
+0.4,0.837768668416168,0.3377686684161677,0.1622313315838322
+0.6,0.7857368097117591,0.2857368097117588,0.214263190288241
+0.8,0.745399430992763,0.2453994309927627,0.2546005690072372
+1.,0.7135607449682854,0.2135607449682851,0.2864392550317146
+1.2,0.6880716385294087,0.1880716385294082,0.3119283614705916
+1.4,0.6674334125830857,0.1674334125830851,0.3325665874169146
+1.6,0.6505691257472551,0.1505691257472544,0.3494308742527453
+1.8,0.6366852274857909,0.1366852274857902,0.3633147725142094
+2.,0.6251844605317147,0.1251844605317142,0.3748155394682856
+2.2,0.615609115107369,0.1156091151073684,0.3843908848926312
+2.4,0.6076029747342909,0.1076029747342902,0.3923970252657094
+2.6,0.6008851193163851,0.1008851193163844,0.3991148806836152
+2.8,0.595231466781812,0.09523146678181128,0.4047685332181884
+3.,0.5904615198658586,0.09046151986585789,0.4095384801341417
+3.2,0.5864286508733929,0.08642865087339232,0.4135713491266073
+3.4,0.5830128764921798,0.08301287649217924,0.4169871235078204
+3.6,0.5801153982812329,0.08011539828123236,0.4198846017187673
+3.8,0.5776544232306821,0.07765442323068157,0.4223455767693182
+4.,0.5755619159020228,0.07556191590202221,0.4244380840979776
+4.2,0.573781062090809,0.07378106209080839,0.4262189379091915
+4.4,0.5722642513885463,0.07226425138854579,0.427735748611454
+4.6,0.5709714689156221,0.07097146891562164,0.4290285310843781
+4.8,0.5698689957940575,0.06986899579405705,0.4301310042059427
+5.,0.5689283590451259,0.06892835904512546,0.4310716409548743
+5.2,0.568125468409091,0.06812546840909053,0.4318745315909092
+5.4,0.5674399095194768,0.06743990951947634,0.4325600904805234
+5.6,0.566854358434863,0.06685435843486262,0.433145641565137
+5.8,0.5663540968173325,0.06635409681733202,0.4336459031826677
+6.,0.5659266071883154,0.06592660718831504,0.4340733928116847
+6.2,0.5655612345007755,0.06556123450077504,0.4344387654992247
+6.4,0.565248902280204,0.06524890228020352,0.4347510977197963
+6.6,0.5649818739294438,0.06498187392944339,0.4350181260705564
+6.8,0.564753551666755,0.06475355166675445,0.4352464483332453
+7.,0.5645583044339713,0.06455830443397084,0.4354416955660289
+7.2,0.5643913272263778,0.0643913272263773,0.4356086727736224
+7.4,0.5642485160900182,0.06424851609001777,0.4357514839099819
+7.6,0.5641263655419253,0.06412636554192478,0.4358736344580749
+7.8,0.5640218815013897,0.06402188150138928,0.4359781184986104
+8.,0.5639325042038095,0.06393250420380906,0.4360674957961905
+8.2,0.5638560468630666,0.06385604686306611,0.4361439531369336
+8.4,0.5637906393610657,0.06379063936106535,0.4362093606389344
+8.6,0.563734683226023,0.06373468322602254,0.4362653167739771
+8.8,0.5636868115884714,0.06368681158847103,0.4363131884115286
+9.,0.5636458554120057,0.06364585541200543,0.4363541445879942
+9.2,0.5636108152403256,0.06361081524032531,0.4363891847596743
+9.4,0.5635808358786997,0.06358083587869949,0.4364191641213002
+9.6,0.5635551862126798,0.06355518621267941,0.4364448137873203
+9.8,0.563533240585486,0.06353324058548559,0.4364667594145141
+10.,0.5635144639882953,0.06351446398829473,0.4364855360117049
diff --git a/models/sbml-test-suite/cases/semantic/00810/00810-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00810/00810-sbml-l1v2.xml
new file mode 100644
index 0000000..51b4a59
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00810/00810-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00810">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="1.1"/>
+      <parameter name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 * S2 + -1 * kr * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00810/00810-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00810/00810-sbml-l2v4.xml
new file mode 100644
index 0000000..f6b534e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00810/00810-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00810" id="case00810" name="case00810">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00810/00810-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00810/00810-sbml-l3v1.xml
new file mode 100644
index 0000000..b973074
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00810/00810-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00810" id="case00810" name="case00810" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00810/00810-settings.txt b/models/sbml-test-suite/cases/semantic/00810/00810-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00810/00810-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00811/00811-results.csv b/models/sbml-test-suite/cases/semantic/00811/00811-results.csv
new file mode 100644
index 0000000..96e3804
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00811/00811-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.7801790747220285,0.7198209252779714,0.2198209252779709
+0.2,0.6121116963789492,0.8878883036210507,0.3878883036210504
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784
+0.4,0.3880646348602712,1.111935365139728,0.6119353651397283
+0.5,0.3155065934670892,1.184493406532911,0.6844934065329104
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048
+0.7,0.2203066768115224,1.279693323188478,0.7796933231884773
+0.8,0.1898427909551363,1.310157209044864,0.8101572090448636
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173
+1.,0.150140515363472,1.349859484636528,0.8498594846365277
+1.1,0.1374995341824785,1.362500465817521,0.8625004658175212
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788
+1.3,0.1210711462304827,1.378928853769517,0.8789288537695171
+1.4,0.1158513466263468,1.384148653373653,0.8841486533736531
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567
+1.6,0.1090754722842808,1.390924527715719,0.890924527715719
+1.7,0.1069244240624349,1.393075575937565,0.8930755759375649
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277
+1.9,0.1041334594443718,1.395866540555628,0.8958665405556279
+2.,0.1032477631469481,1.396752236853052,0.8967522368530515
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692
+2.2,0.1020988064560762,1.397901193543924,0.8979011935439233
+2.3,0.101734245069293,1.398265754930707,0.8982657549307065
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076
+2.5,0.1012613613416976,1.398738638658302,0.898738638658302
+2.6,0.1011113254183241,1.398888674581676,0.8988886745816756
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379
+2.8,0.1009167157011023,1.399083284298898,0.8990832842988972
+2.9,0.100854971702119,1.399145028297881,0.8991450282978807
+3.,0.1008090456985285,1.399190954301471,0.8991909543014713
+3.1,0.1007748854718443,1.399225114528156,0.8992251145281555
+3.2,0.1007494766411436,1.399250523358856,0.8992505233588563
+3.3,0.1007305773648939,1.399269422635106,0.899269422635106
+3.4,0.1007165199256037,1.399283480074396,0.899283480074396
+3.5,0.1007060638721755,1.399293936127824,0.8992939361278243
+3.6,0.1006982865587182,1.399301713441282,0.8993017134412816
+3.7,0.1006925017316733,1.399307498268327,0.8993074982683265
+3.8,0.1006881989303313,1.399311801069669,0.8993118010696685
+3.9,0.1006849984723328,1.399315001527667,0.899315001527667
+4.,0.1006826179464744,1.399317382053526,0.8993173820535256
+4.1,0.1006808472928433,1.399319152707157,0.8993191527071566
+4.2,0.100679530267059,1.399320469732941,0.8993204697329412
+4.3,0.1006785506532387,1.399321449346761,0.8993214493467613
+4.4,0.1006778220090586,1.399322177990941,0.8993221779909415
+4.5,0.100677280038026,1.399322719961974,0.8993227199619741
+4.6,0.1006768769159033,1.399323123084097,0.8993231230840969
+4.7,0.1006765770696654,1.399323422930335,0.8993234229303348
+4.8,0.1006763540428806,1.399323645957119,0.8993236459571195
+4.9,0.1006761881543798,1.39932381184562,0.8993238118456203
+5.,0.1006760647649644,1.399323935235036,0.8993239352350358
diff --git a/models/sbml-test-suite/cases/semantic/00811/00811-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00811/00811-sbml-l1v2.xml
new file mode 100644
index 0000000..b88ca3b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00811/00811-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00811">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00811/00811-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00811/00811-sbml-l2v4.xml
new file mode 100644
index 0000000..81c9831
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00811/00811-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00811" id="case00811" name="case00811">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00811/00811-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00811/00811-sbml-l3v1.xml
new file mode 100644
index 0000000..a2fce1a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00811/00811-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00811" id="case00811" name="case00811" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00811/00811-settings.txt b/models/sbml-test-suite/cases/semantic/00811/00811-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00811/00811-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00812/00812-results.csv b/models/sbml-test-suite/cases/semantic/00812/00812-results.csv
new file mode 100644
index 0000000..2dd3630
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00812/00812-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,0
+0.24,0.8074108774511052,0.192589122548895
+0.48,0.6550032569642327,0.3449967430357674
+0.72,0.5343936181798833,0.4656063818201169
+0.96,0.4389477413420267,0.5610522586579735
+1.2,0.3634155711637972,0.6365844288362029
+1.44,0.3036423099985429,0.6963576900014572
+1.68,0.2563400366375685,0.7436599633624316
+1.92,0.2189068224408446,0.7810931775591554
+2.16,0.189283602959822,0.8107163970401781
+2.4,0.165840914905373,0.834159085094627
+2.64,0.1472892639684953,0.8527107360315047
+2.88,0.1326081935987126,0.8673918064012874
+3.12,0.1209901530969017,0.8790098469030983
+3.36,0.1117960773319783,0.8882039226680217
+3.6,0.1045202346123351,0.8954797653876649
+3.84,0.09876240901811581,0.9012375909818842
+4.08,0.09420588667469243,0.9057941133253075
+4.32,0.09060003402016999,0.90939996597983
+4.56,0.08774650757945186,0.9122534924205481
+4.8,0.08548833357111017,0.9145116664288898
+5.04,0.08370128624328521,0.9162987137567147
+5.28,0.0822870857091096,0.9177129142908903
+5.52,0.08116795815302622,0.9188320418469737
+5.76,0.08028231669432534,0.9197176833056746
+6,0.07958143964964158,0.9204185603503584
+6.24,0.07902681424371055,0.9209731857562895
+6.48,0.0785878907214574,0.9214121092785427
+6.72,0.07824054287126772,0.9217594571287322
+6.96,0.07796567842249881,0.9220343215775012
+7.2,0.07774814073142572,0.9222518592685742
+7.44,0.07757601346059419,0.9224239865394058
+7.68,0.07743977361719559,0.9225602263828044
+7.92,0.07733198268246079,0.9226680173175392
+8.16,0.07724665912224103,0.922753340877759
+8.4,0.07717915411429309,0.9228208458857069
+8.64,0.07712572494760135,0.9228742750523986
+8.88,0.07708344030386052,0.9229165596961395
+9.12,0.07704999338332219,0.9229500066166777
+9.36,0.07702350211802375,0.9229764978819762
+9.6,0.07700255468950441,0.9229974453104956
+9.84,0.07698597739918298,0.9230140226008169
+10.08,0.07697284364214363,0.9230271563578563
+10.32,0.076962466080137,0.9230375339198629
+10.56,0.07695425356142747,0.9230457464385725
+10.8,0.07694773927511353,0.9230522607248864
+11.04,0.0769425943917405,0.9230574056082594
+11.28,0.07693853162088926,0.9230614683791107
+11.52,0.07693530681632137,0.9230646931836787
+11.76,0.07693275502058307,0.923067244979417
+12,0.07693073701677565,0.9230692629832243
diff --git a/models/sbml-test-suite/cases/semantic/00812/00812-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00812/00812-sbml-l1v2.xml
new file mode 100644
index 0000000..a72f0be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00812/00812-sbml-l1v2.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00812">
+    <listOfCompartments>
+      <compartment name="C" volume="0.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00812/00812-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00812/00812-sbml-l2v4.xml
new file mode 100644
index 0000000..61fdcc3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00812/00812-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00812" id="case00812" name="case00812">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00812/00812-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00812/00812-sbml-l3v1.xml
new file mode 100644
index 0000000..061361f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00812/00812-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00812" id="case00812" name="case00812" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00812/00812-settings.txt b/models/sbml-test-suite/cases/semantic/00812/00812-settings.txt
new file mode 100644
index 0000000..a75ec03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00812/00812-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00813/00813-results.csv b/models/sbml-test-suite/cases/semantic/00813/00813-results.csv
new file mode 100644
index 0000000..0da15ff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00813/00813-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,0.5,0
+0.06,0.9859922804493677,0.4859922804493677,0.01400771955063233
+0.12,0.9726363220403544,0.4726363220403546,0.0273636779596455
+0.18,0.9598920270364739,0.4598920270364739,0.04010797296352612
+0.24,0.9477224697869451,0.4477224697869451,0.05227753021305493
+0.3,0.9360936395571726,0.4360936395571727,0.06390636044282738
+0.36,0.9249740603663809,0.4249740603663808,0.07502593963361924
+0.42,0.9143346283327065,0.4143346283327066,0.08566537166729343
+0.48,0.9041484346385015,0.4041484346385015,0.09585156536149855
+0.54,0.8943904482749909,0.3943904482749909,0.1056095517250091
+0.6,0.8850374038108312,0.3850374038108312,0.1149625961891689
+0.66,0.8760676850006517,0.3760676850006517,0.1239323149993484
+0.72,0.8674611979091363,0.3674611979091363,0.1325388020908637
+0.78,0.8591991279930007,0.3591991279930007,0.1408008720069993
+0.84,0.8512639038752743,0.3512639038752743,0.1487360961247257
+0.9,0.8436391136672424,0.3436391136672425,0.1563608863327576
+0.96,0.8363094525974898,0.3363094525974898,0.1636905474025103
+1.02,0.8292605371164734,0.3292605371164734,0.1707394628835267
+1.08,0.8224788374171893,0.3224788374171893,0.1775211625828108
+1.14,0.8159516717912259,0.3159516717912258,0.1840483282087742
+1.2,0.8096671321480379,0.3096671321480379,0.1903328678519622
+1.26,0.803614054032182,0.303614054032182,0.1963859459678181
+1.32,0.7977818843967482,0.2977818843967482,0.2022181156032518
+1.38,0.7921606558481346,0.2921606558481346,0.2078393441518655
+1.44,0.7867409829430673,0.2867409829430673,0.2132590170569328
+1.5,0.7815140132078999,0.2815140132078998,0.2184859867921003
+1.56,0.7764714075216945,0.2764714075216945,0.2235285924783056
+1.62,0.7716052537686595,0.2716052537686595,0.2283947462313405
+1.68,0.7669080499810208,0.2669080499810208,0.2330919500189794
+1.74,0.7623727019137233,0.2623727019137232,0.2376272980862769
+1.8,0.7579924921020793,0.2579924921020792,0.2420075078979209
+1.86,0.7537610677914038,0.2537610677914038,0.2462389322085962
+1.92,0.7496723817938246,0.2496723817938245,0.2503276182061756
+1.98,0.7457206811435073,0.2457206811435073,0.2542793188564927
+2.04,0.7419005054678314,0.2419005054678313,0.2580994945321688
+2.1,0.7382066670101052,0.2382066670101051,0.261793332989895
+2.16,0.7346342430187423,0.2346342430187422,0.2653657569812579
+2.22,0.7311785341393577,0.2311785341393578,0.2688214658606423
+2.28,0.7278350565767637,0.2278350565767637,0.2721649434232364
+2.34,0.7245995409766083,0.2245995409766082,0.2754004590233919
+2.4,0.7214679192923529,0.2214679192923528,0.2785320807076473
+2.46,0.7184363198907339,0.2184363198907338,0.2815636801092663
+2.52,0.7155010375812102,0.2155010375812102,0.2844989624187899
+2.58,0.7126585280731677,0.2126585280731677,0.2873414719268324
+2.64,0.709905407192831,0.209905407192831,0.2900945928071691
+2.7,0.7072384421207701,0.2072384421207701,0.2927615578792299
+2.76,0.7046545481946965,0.2046545481946965,0.2953454518053036
+2.82,0.7021507668646446,0.2021507668646445,0.2978492331353555
+2.88,0.6997242616908973,0.1997242616908973,0.3002757383091028
+2.94,0.6973723182810806,0.1973723182810805,0.3026276817189195
+3,0.6950923395305554,0.1950923395305553,0.3049076604694447
diff --git a/models/sbml-test-suite/cases/semantic/00813/00813-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00813/00813-sbml-l1v2.xml
new file mode 100644
index 0000000..2a6cb08
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00813/00813-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00813">
+    <listOfCompartments>
+      <compartment name="C" volume="2.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="1.1"/>
+      <parameter name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 * S2 + -1 * kr * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00813/00813-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00813/00813-sbml-l2v4.xml
new file mode 100644
index 0000000..2a32279
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00813/00813-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00813" id="case00813" name="case00813">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00813/00813-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00813/00813-sbml-l3v1.xml
new file mode 100644
index 0000000..ac23d00
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00813/00813-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00813" id="case00813" name="case00813" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00813/00813-settings.txt b/models/sbml-test-suite/cases/semantic/00813/00813-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00813/00813-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00814/00814-results.csv b/models/sbml-test-suite/cases/semantic/00814/00814-results.csv
new file mode 100644
index 0000000..f26b2a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00814/00814-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.9999999999999999,0.4999999999999999,0
+0.06,0.8612170137400856,0.6387829862599141,0.1387829862599143
+0.12,0.7429226855700387,0.7570773144299612,0.2570773144299612
+0.18,0.6423942887378297,0.8576057112621702,0.3576057112621702
+0.24,0.5571812291478625,0.9428187708521374,0.4428187708521374
+0.3,0.4851062509591047,1.014893749040895,0.5148937490408952
+0.36,0.4242551663236964,1.075744833676303,0.5757448336763035
+0.42,0.3729593541423457,1.127040645857654,0.6270406458576542
+0.48,0.3297745767882686,1.170225423211731,0.6702254232117313
+0.54,0.2934581934339767,1.206541806566023,0.7065418065660232
+0.6,0.2629459882995158,1.237054011700484,0.7370540117004842
+0.66,0.2373301671840586,1.262669832815941,0.7626698328159414
+0.72,0.2158389169168271,1.284161083083172,0.7841610830831729
+0.78,0.1978179464047999,1.3021820535952,0.8021820535952
+0.84,0.1827138545921445,1.317286145407855,0.8172861454078555
+0.9,0.1700593873978302,1.32994061260217,0.8299406126021698
+0.96,0.1594606183404903,1.34053938165951,0.8405393816595096
+1.02,0.1505859744412043,1.349414025558795,0.8494140255587956
+1.08,0.143156713566636,1.356843286433364,0.8568432864333638
+1.14,0.1369386071823441,1.363061392817656,0.8630613928176557
+1.2,0.1317349679957204,1.368265032004279,0.8682650320042796
+1.26,0.1273809103563925,1.372619089643607,0.8726190896436074
+1.32,0.1237381467903364,1.376261853209663,0.8762618532096635
+1.38,0.1206906944553754,1.379309305544624,0.8793093055446245
+1.44,0.1181415237358215,1.381858476264178,0.8818584762641784
+1.5,0.116009279425577,1.383990720574422,0.8839907205744229
+1.56,0.1142258449790355,1.385774155020964,0.8857741550209645
+1.62,0.1127342819143417,1.387265718085658,0.8872657180856581
+1.68,0.111486798892758,1.388513201107241,0.888513201107242
+1.74,0.110443562797191,1.389556437202808,0.8895564372028089
+1.8,0.1095710836774447,1.390428916322555,0.8904289163225552
+1.86,0.1088414966261882,1.391158503373811,0.8911585033738116
+1.92,0.1082313443015867,1.391768655698413,0.8917686556984131
+1.98,0.1077211498464832,1.392278850153516,0.8922788501535167
+2.04,0.1072944737967888,1.392705526203211,0.8927055262032111
+2.1,0.1069377179693648,1.393062282030635,0.8930622820306351
+2.16,0.1066393622725771,1.393360637727422,0.8933606377274229
+2.22,0.1063898992231638,1.393610100776836,0.8936101007768361
+2.28,0.1061812938903797,1.39381870610962,0.8938187061096203
+2.34,0.106006845701527,1.393993154298473,0.893993154298473
+2.4,0.1058610029274345,1.394138997072565,0.8941389970725655
+2.46,0.1057390204443526,1.394260979555647,0.8942609795556474
+2.52,0.1056370343727751,1.394362965627224,0.8943629656272248
+2.58,0.1055517694625427,1.394448230537457,0.8944482305374573
+2.64,0.1054804430987462,1.394519556901253,0.8945195569012537
+2.7,0.1054208193208355,1.394579180679164,0.8945791806791644
+2.76,0.1053709747073935,1.394629025292606,0.8946290252926065
+2.82,0.1053292690969716,1.394670730903028,0.8946707309030284
+2.88,0.1052944059762873,1.394705594023712,0.8947055940237126
+2.94,0.1052652714799507,1.394734728520049,0.8947347285200493
+3,0.1052408985315039,1.394759101468495,0.8947591014684961
diff --git a/models/sbml-test-suite/cases/semantic/00814/00814-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00814/00814-sbml-l1v2.xml
new file mode 100644
index 0000000..c22333a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00814/00814-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00814">
+    <listOfCompartments>
+      <compartment name="C" volume="0.95" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00814/00814-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00814/00814-sbml-l2v4.xml
new file mode 100644
index 0000000..cf1f2df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00814/00814-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00814" id="case00814" name="case00814">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.95" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00814/00814-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00814/00814-sbml-l3v1.xml
new file mode 100644
index 0000000..4004b6b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00814/00814-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00814" id="case00814" name="case00814" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.95" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00814/00814-settings.txt b/models/sbml-test-suite/cases/semantic/00814/00814-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00814/00814-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00815/00815-results.csv b/models/sbml-test-suite/cases/semantic/00815/00815-results.csv
new file mode 100644
index 0000000..d9df080
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00815/00815-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.16,0.866670021435293,0.1333299785647067
+0.32,0.7525983336921141,0.2474016663078854
+0.48,0.6550032463135467,0.3449967536864528
+0.64,0.5715048812730874,0.4284951187269122
+0.8,0.5000670755411827,0.4999329244588169
+0.96,0.4389478232422685,0.5610521767577313
+1.12,0.3866566630620043,0.6133433369379953
+1.28,0.3419184897159534,0.6580815102840462
+1.44,0.303642346747309,0.6963576532526906
+1.6,0.2708948162088166,0.729105183791183
+1.76,0.2428773744510044,0.7571226255489952
+1.92,0.2189068042096757,0.7810931957903239
+2.08,0.1983985675845211,0.8016014324154786
+2.24,0.1808525546621354,0.8191474453378643
+2.4,0.165840893526765,0.8341591064732347
+2.56,0.152997526825388,0.8470024731746118
+2.72,0.1420092696464903,0.8579907303535094
+2.88,0.1326081689209019,0.8673918310790979
+3.04,0.1245649723807568,0.875435027619243
+3.2,0.1176835400749328,0.882316459925067
+3.36,0.1117960640874081,0.8882039359125918
+3.52,0.1067589795941432,0.8932410204058567
+3.68,0.1024494555622902,0.8975505444377097
+3.84,0.09876240862446789,0.9012375913755319
+4.,0.09560791597728415,0.9043920840227157
+4.16,0.09290906165053169,0.9070909383494681
+4.32,0.09060003552794755,0.9093999644720522
+4.48,0.08862452297687009,0.9113754770231297
+4.64,0.0869343559776618,0.9130656440223379
+4.8,0.08548832022457443,0.9145116797754252
+4.96,0.08425114791163457,0.9157488520883649
+5.12,0.08319267700237789,0.9168073229976216
+5.28,0.08228708957043842,0.9177129104295611
+5.44,0.08151230810187018,0.9184876918981294
+5.6,0.0808494353461113,0.9191505646538883
+5.76,0.08028230906279473,0.9197176909372047
+5.92,0.0797970990320355,0.9202029009679639
+6.08,0.07938197260883825,0.9206180273911612
+6.24,0.07902680818356468,0.9209731918164346
+6.4,0.07872294309082535,0.921277056909174
+6.56,0.07846296934377884,0.9215370306562205
+6.72,0.07824054574876693,0.9217594542512324
+6.88,0.07805024964359044,0.9219497503564086
+7.04,0.07788743984240457,0.9221125601575946
+7.2,0.07774814645736009,0.9222518535426391
+7.36,0.07762897283378512,0.922371027166214
+7.52,0.07752701254331879,0.9224729874566803
+7.68,0.07743977972053812,0.922560220279461
+7.84,0.0773651466369615,0.9226348533630377
+8.,0.07730129382676605,0.9226987061732332
diff --git a/models/sbml-test-suite/cases/semantic/00815/00815-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00815/00815-sbml-l2v4.xml
new file mode 100644
index 0000000..6e0fde1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00815/00815-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00815" id="case00815" name="case00815">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00815/00815-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00815/00815-sbml-l3v1.xml
new file mode 100644
index 0000000..3d4bbf1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00815/00815-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00815" id="case00815" name="case00815" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00815/00815-settings.txt b/models/sbml-test-suite/cases/semantic/00815/00815-settings.txt
new file mode 100644
index 0000000..d2f3ade
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00815/00815-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00816/00816-results.csv b/models/sbml-test-suite/cases/semantic/00816/00816-results.csv
new file mode 100644
index 0000000..215f8b9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00816/00816-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.16,0.9228405801437049,0.4228405801437048,0.07715941985629527
+0.32,0.8628834426659975,0.3628834426659973,0.1371165573340026
+0.48,0.8152862880754407,0.3152862880754404,0.1847137119245595
+0.64,0.7768556011371181,0.2768556011371177,0.2231443988628822
+0.8,0.745399430992763,0.2453994309927627,0.2546005690072372
+0.96,0.7193629821149248,0.2193629821149245,0.2806370178850752
+1.12,0.6976126118372334,0.1976126118372329,0.3023873881627668
+1.28,0.6793022038744743,0.1793022038744738,0.320697796125526
+1.44,0.6637874475355404,0.1637874475355398,0.33621255246446
+1.6,0.6505691257472551,0.1505691257472544,0.3494308742527453
+1.76,0.6392545468894025,0.1392545468894019,0.3607454531105978
+1.92,0.6295307015411671,0.1295307015411665,0.3704692984588332
+2.08,0.621145167873466,0.1211451678734655,0.3788548321265342
+2.24,0.6138922886130385,0.1138922886130379,0.3861077113869617
+2.4,0.6076029747342909,0.1076029747342902,0.3923970252657094
+2.56,0.6021370826189522,0.1021370826189515,0.3978629173810481
+2.72,0.5973776250826029,0.09737762508260218,0.4026223749173975
+2.88,0.5932263260660724,0.09322632606607168,0.4067736739339279
+3.04,0.5896001643139148,0.08960016431391415,0.4103998356860855
+3.2,0.5864286508733929,0.08642865087339232,0.4135713491266073
+3.36,0.5836516746138797,0.08365167461387919,0.4163483253861204
+3.52,0.5812177679909623,0.08121776799096185,0.4187822320090378
+3.68,0.5790827158027123,0.07908271580271181,0.4209172841972879
+3.84,0.5772084094525126,0.07720840945251199,0.4227915905474878
+4.,0.5755619159020228,0.07556191590202221,0.4244380840979776
+4.16,0.5741147046451594,0.07411470464515876,0.4258852953548411
+4.32,0.5728420053718552,0.07284200537185471,0.4271579946281451
+4.48,0.571722271727322,0.07172227172732155,0.4282777282726782
+4.64,0.5707367297729324,0.07073672977293196,0.4292632702270678
+4.8,0.5698689957940575,0.06986899579405705,0.4301310042059427
+4.96,0.569104753161606,0.06910475316160555,0.4308952468383942
+5.12,0.5684314770180706,0.06843147701807009,0.4315685229819297
+5.28,0.5678381988582296,0.06783819885822908,0.4321618011417706
+5.44,0.5673153048218131,0.06731530482181258,0.4326846951781871
+5.6,0.566854358434863,0.06685435843486262,0.433145641565137
+5.76,0.566447955920312,0.06644795592031153,0.4335520440796882
+5.92,0.5660895904060562,0.06608959040605577,0.433910409593944
+6.08,0.5657735451113702,0.06577354511136983,0.4342264548886299
+6.24,0.5654947899647307,0.06549478996473032,0.4345052100352694
+6.4,0.565248902280204,0.06524890228020352,0.4347510977197963
+6.56,0.5650319872169602,0.0650319872169597,0.4349680127830401
+6.72,0.5648406159676328,0.06484061596763227,0.4351593840323675
+6.88,0.5646717697543068,0.06467176975430637,0.4353282302456933
+7.04,0.5645227883366071,0.06452278833660664,0.435477211663393
+7.2,0.5643913272263778,0.0643913272263773,0.4356086727736224
+7.36,0.5642753210092091,0.06427532100920867,0.435724678990791
+7.52,0.5641729486890769,0.06417294868907637,0.4358270513109233
+7.68,0.5640826044113952,0.06408260441139469,0.4359173955886049
+7.84,0.5640028724214929,0.06400287242149235,0.4359971275785072
+8.,0.5639325043291322,0.0639325043291317,0.436067495670868
diff --git a/models/sbml-test-suite/cases/semantic/00816/00816-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00816/00816-sbml-l2v4.xml
new file mode 100644
index 0000000..3b17bd5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00816/00816-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00816" id="case00816" name="case00816">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00816/00816-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00816/00816-sbml-l3v1.xml
new file mode 100644
index 0000000..94b76f1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00816/00816-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00816" id="case00816" name="case00816" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00816/00816-settings.txt b/models/sbml-test-suite/cases/semantic/00816/00816-settings.txt
new file mode 100644
index 0000000..cd61bac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00816/00816-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00817/00817-results.csv b/models/sbml-test-suite/cases/semantic/00817/00817-results.csv
new file mode 100644
index 0000000..b0db776
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00817/00817-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.8611916481419862,0.6388083518580142,0.1388083518580136
+0.12,0.7428181887011865,0.7571818112988136,0.2571818112988133
+0.18,0.6421587465991153,0.8578412534008849,0.3578412534008845
+0.24,0.5567698662418384,0.9432301337581618,0.4432301337581615
+0.3,0.4844838549817913,1.015516145018209,0.5155161450182087
+0.36,0.4233966116090199,1.07660338839098,0.57660338839098
+0.42,0.3718491602923491,1.128150839707651,0.6281508397076508
+0.48,0.3284057340877321,1.171594265912268,0.6715942659122679
+0.54,0.2918305952159941,1.208169404784006,0.7081694047840058
+0.6,0.261065046039847,1.238934953960154,0.7389349539601529
+0.66,0.2352054619026291,1.264794538097371,0.7647945380973708
+0.72,0.2134831034527976,1.286516896547203,0.7865168965472022
+0.78,0.1952455978361925,1.304754402163808,0.8047544021638073
+0.84,0.179940630687101,1.320059369312899,0.820059369312899
+0.9,0.1671013929977449,1.332898607002256,0.8328986070022552
+0.96,0.1563339731483834,1.343666026851617,0.8436660268516169
+1.02,0.1473064003426943,1.352693599657306,0.8526935996573059
+1.08,0.1397391890379605,1.36026081096204,0.8602608109620397
+1.14,0.1333972563504936,1.366602743649507,0.8666027436495067
+1.2,0.1280830196051355,1.371916980394865,0.8719169803948648
+1.26,0.1236305134871911,1.376369486512809,0.8763694865128093
+1.32,0.1199004104235591,1.380099589576441,0.8800995895764414
+1.38,0.1167757792575844,1.383224220742416,0.883224220742416
+1.44,0.1141585356329555,1.385841464367045,0.8858414643670449
+1.5,0.1119664284232472,1.388033571576753,0.8880335715767533
+1.56,0.110130498000236,1.389869501999764,0.8898695019997644
+1.62,0.1085929404793912,1.391407059520609,0.8914070595206093
+1.68,0.1073053121283644,1.392694687871636,0.892694687871636
+1.74,0.1062270187363609,1.393772981263639,0.8937729812636396
+1.8,0.1053240524484464,1.394675947551554,0.8946759475515542
+1.86,0.1045679230435023,1.395432076956498,0.8954320769564984
+1.92,0.1039347637907303,1.39606523620927,0.8960652362092702
+1.98,0.1034045831933199,1.39659541680668,0.8965954168066806
+2.04,0.102960638151256,1.397039361848744,0.8970393618487444
+2.1,0.1025889068091532,1.397411093190847,0.8974110931908473
+2.16,0.1022776455049196,1.397722354495081,0.8977223544950808
+2.22,0.1020170191696639,1.397982980830337,0.8979829808303364
+2.28,0.1017987917521163,1.398201208247884,0.898201208247884
+2.34,0.1016160669912687,1.398383933008732,0.8983839330087317
+2.4,0.1014630699125226,1.398536930087478,0.8985369300874779
+2.46,0.1013349644970079,1.398665035502992,0.8986650355029925
+2.52,0.1012277011924027,1.398772298807597,0.8987722988075977
+2.58,0.1011378893346657,1.398862110665334,0.8988621106653347
+2.64,0.1010626899095293,1.398937310090471,0.898937310090471
+2.7,0.1009997255917325,1.399000274408268,0.899000274408268
+2.76,0.1009470057227717,1.399052994277228,0.8990529942772288
+2.82,0.1009028634677717,1.399097136532228,0.8990971365322287
+2.88,0.1008659034386249,1.399134096561375,0.8991340965613756
+2.94,0.1008349570171635,1.399165042982836,0.899165042982837
+3.,0.1008090457514056,1.399190954248594,0.8991909542485949
diff --git a/models/sbml-test-suite/cases/semantic/00817/00817-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00817/00817-sbml-l2v4.xml
new file mode 100644
index 0000000..76b11af
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00817/00817-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00817" id="case00817" name="case00817">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.95" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00817/00817-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00817/00817-sbml-l3v1.xml
new file mode 100644
index 0000000..a42acd0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00817/00817-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00817" id="case00817" name="case00817" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.95" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00817/00817-settings.txt b/models/sbml-test-suite/cases/semantic/00817/00817-settings.txt
new file mode 100644
index 0000000..e7bbf91
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00817/00817-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/00818/00818-results.csv b/models/sbml-test-suite/cases/semantic/00818/00818-results.csv
new file mode 100644
index 0000000..05d4f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00818/00818-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.06,1.,0.05387868204683907
+0.12,1.,0.1075154547267679
+0.18,1.,0.1609114041886566
+0.24,1.,0.2140676117019683
+0.3,1.,0.2669851537073828
+0.36,1.,0.3196651023042338
+0.42,1.,0.372108522790746
+0.48,1.,0.4243164784266743
+0.54,1.,0.4762900264550185
+0.6,1.,0.5280302180343028
+0.66,1.,0.5795381028143843
+0.72,1.,0.6308147224156889
+0.78,1.,0.6818611152442098
+0.84,1.,0.7326783163137091
+0.9,1.,0.7832673528097914
+0.96,1.,0.8336292505072087
+1.02,1.,0.883765029096362
+1.08,1.,0.9336757026832881
+1.14,1.,0.9833622838063955
+1.2,1.,1.032825777145259
+1.26,1.,1.082067184541926
+1.32,1.,1.131087504286145
+1.38,1.,1.179887727268766
+1.44,1.,1.228468843992724
+1.5,1.,1.276831839985599
+1.56,1.,1.324977689155218
+1.62,1.,1.372907364572586
+1.68,1.,1.420621839308708
+1.74,1.,1.468122085747523
+1.8,1.,1.515409064913887
+1.86,1.,1.562483728505139
+1.92,1.,1.60934702794268
+1.98,1.,1.655999914647913
+2.04,1.,1.702443339370442
+2.1,1.,1.748678241753456
+2.16,1.,1.794705552320215
+2.22,1.,1.840526201324187
+2.28,1.,1.88614111901884
+2.34,1.,1.931551235000791
+2.4,1.,1.976757468007324
+2.46,1.,2.021760727858695
+2.52,1.,2.066561924111369
+2.58,1.,2.111161966321813
+2.64,1.,2.155561762744663
+2.7,1.,2.199762210034558
+2.76,1.,2.243764200714639
+2.82,1.,2.287568627487146
+2.88,1.,2.331176378606218
+2.94,1.,2.374588334520325
+3.,1.,2.417805374887475
diff --git a/models/sbml-test-suite/cases/semantic/00818/00818-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00818/00818-sbml-l1v2.xml
new file mode 100644
index 0000000..24739dd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00818/00818-sbml-l1v2.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00818">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00818/00818-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00818/00818-sbml-l2v4.xml
new file mode 100644
index 0000000..81b0ab7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00818/00818-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00818" id="case00818" name="case00818">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00818/00818-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00818/00818-sbml-l3v1.xml
new file mode 100644
index 0000000..833b8e1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00818/00818-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00818" id="case00818" name="case00818" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00818/00818-settings.txt b/models/sbml-test-suite/cases/semantic/00818/00818-settings.txt
new file mode 100644
index 0000000..565fb7c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00818/00818-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00819/00819-results.csv b/models/sbml-test-suite/cases/semantic/00819/00819-results.csv
new file mode 100644
index 0000000..b05f610
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00819/00819-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,1.,0.4481464625197142,0.05185353748028587
+0.2,1.,0.402110487142263,0.09788951285773719
+0.3,1.,0.3612393873726733,0.1387606126273268
+0.4,1.,0.3249537077936033,0.1750462922063969
+0.5,1.,0.292739000514572,0.207260999485428
+0.6,1.,0.2641385282073232,0.2358614717926768
+0.7,1.,0.2387468002768682,0.2612531997231317
+0.8,1.,0.2162038420571189,0.2837961579428811
+0.9,1.,0.1961900159570923,0.3038099840429078
+1.,1.,0.178421584166431,0.3215784158335691
+1.1,1.,0.1626466404685188,0.3373533595314812
+1.2,1.,0.1486415209888699,0.3513584790111302
+1.3,1.,0.1362076534996644,0.3637923465003356
+1.4,1.,0.1251687817007925,0.3748312182992075
+1.5,1.,0.1153683873866717,0.3846316126133284
+1.6,1.,0.1066675088731672,0.3933324911268327
+1.7,1.,0.09894281627532901,0.401057183724671
+1.8,1.,0.09208476145152577,0.4079152385484743
+1.9,1.,0.08599613198370234,0.4140038680162977
+2.,1.,0.08059060226138457,0.4194093977386155
+2.1,1.,0.07579152296983929,0.4242084770301609
+2.2,1.,0.07153087143048822,0.4284691285695119
+2.3,1.,0.06774822570328481,0.4322517742967153
+2.4,1.,0.06438996504685057,0.4356100349531495
+2.5,1.,0.06140847765042607,0.4385915223495741
+2.6,1.,0.05876148500274077,0.4412385149972593
+2.7,1.,0.05641146889883604,0.443588531101164
+2.8,1.,0.05432510347749962,0.4456748965225004
+2.9,1.,0.05247281230528495,0.4475271876947151
+3.,1.,0.05082833566033138,0.4491716643396687
+3.1,1.,0.04936835342666152,0.4506316465733386
+3.2,1.,0.04807217090420021,0.4519278290957999
+3.3,1.,0.04692141169360931,0.4530785883063908
+3.4,1.,0.04589975782591383,0.4541002421740863
+3.5,1.,0.04499272414390857,0.4550072758560915
+3.6,1.,0.04418745354492204,0.4558125464550781
+3.7,1.,0.04347252894473147,0.4565274710552686
+3.8,1.,0.04283781237628341,0.4571621876237167
+3.9,1.,0.04227430551572021,0.4577256944842799
+4.,1.,0.04177402012000821,0.4582259798799919
+4.1,1.,0.04132986336128111,0.458670136638719
+4.2,1.,0.04093553770562882,0.4590644622943713
+4.3,1.,0.04058545189329728,0.4594145481067028
+4.4,1.,0.04027464260348474,0.4597253573965154
+4.5,1.,0.03999870382766548,0.4600012961723347
+4.6,1.,0.03975372351749541,0.4602462764825047
+4.7,1.,0.03953622824903815,0.460463771750962
+4.8,1.,0.03934313411128684,0.4606568658887133
+4.9,1.,0.0391717034665899,0.4608282965334102
+5.,1.,0.03901950612198147,0.4609804938780186
diff --git a/models/sbml-test-suite/cases/semantic/00819/00819-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00819/00819-sbml-l1v2.xml
new file mode 100644
index 0000000..327a7c5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00819/00819-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00819">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="1.1"/>
+      <parameter name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 * S2 + -1 * kr * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00819/00819-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00819/00819-sbml-l2v4.xml
new file mode 100644
index 0000000..7096fe3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00819/00819-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00819" id="case00819" name="case00819">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00819/00819-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00819/00819-sbml-l3v1.xml
new file mode 100644
index 0000000..d20909e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00819/00819-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00819" id="case00819" name="case00819" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00819/00819-settings.txt b/models/sbml-test-suite/cases/semantic/00819/00819-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00819/00819-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00820/00820-results.csv b/models/sbml-test-suite/cases/semantic/00820/00820-results.csv
new file mode 100644
index 0000000..afde8e0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00820/00820-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,1.,0.7483424533465733,0.2483424533465734
+0.2,1.,0.9917914889969324,0.4917914889969328
+0.3,1.,1.228134313149466,0.7281343131494663
+0.4,1.,1.455422432100361,0.9554224321003624
+0.5,1.,1.672026872330454,1.172026872330454
+0.6,1.,1.876670817931137,1.376670817931138
+0.7,1.,2.068439659890649,1.56843965989065
+0.8,1.,2.246770891555391,1.746770891555392
+0.9,1.,2.411427682382503,1.911427682382504
+1.,1.,2.562460451460391,2.062460451460392
+1.1,1.,2.700161840936484,2.200161840936484
+1.2,1.,2.825018537057193,2.325018537057194
+1.3,1.,2.937664212872675,2.437664212872676
+1.4,1.,3.038835727468975,2.538835727468976
+1.5,1.,3.129334383128759,2.629334383128759
+1.6,1.,3.209993127661476,2.709993127661477
+1.7,1.,3.281649897419916,2.781649897419917
+1.8,1.,3.345126784889993,2.845126784889994
+1.9,1.,3.401214699688587,2.901214699688588
+2.,1.,3.450662417141156,2.950662417141157
+2.1,1.,3.494169714652244,2.994169714652245
+2.2,1.,3.532383561178027,3.032383561178028
+2.3,1.,3.565896540287607,3.065896540287608
+2.4,1.,3.595247509011877,3.095247509011878
+2.5,1.,3.620923081132372,3.120923081132373
+2.6,1.,3.643360371634774,3.143360371634774
+2.7,1.,3.662950166607981,3.162950166607982
+2.8,1.,3.680040412711807,3.180040412711808
+2.9,1.,3.694939814353563,3.194939814353564
+3.,1.,3.707921458696629,3.20792145869663
+3.1,1.,3.719226287796291,3.219226287796292
+3.2,1.,3.729066430311263,3.229066430311264
+3.3,1.,3.737628294271064,3.237628294271065
+3.4,1.,3.745075339889125,3.245075339889126
+3.5,1.,3.751550827688207,3.251550827688208
+3.6,1.,3.757180015818871,3.257180015818872
+3.7,1.,3.76207241993702,3.262072419937021
+3.8,1.,3.76632363963681,3.266323639636811
+3.9,1.,3.770017064920424,3.270017064920425
+4.,1.,3.773225425796455,3.273225425796455
+4.1,1.,3.776012050442488,3.276012050442489
+4.2,1.,3.778432115807174,3.278432115807175
+4.3,1.,3.780533633186796,3.280533633186796
+4.4,1.,3.782358374125851,3.282358374125852
+4.5,1.,3.783942682346571,3.283942682346572
+4.6,1.,3.785318147379864,3.285318147379865
+4.7,1.,3.786512232157912,3.286512232157913
+4.8,1.,3.787548804894853,3.287548804894854
+4.9,1.,3.788448603052045,3.288448603052046
+5.,1.,3.78922964959723,3.28922964959723
diff --git a/models/sbml-test-suite/cases/semantic/00820/00820-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00820/00820-sbml-l1v2.xml
new file mode 100644
index 0000000..6950b83
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00820/00820-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00820">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00820/00820-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00820/00820-sbml-l2v4.xml
new file mode 100644
index 0000000..c469ce7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00820/00820-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00820" id="case00820" name="case00820">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00820/00820-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00820/00820-sbml-l3v1.xml
new file mode 100644
index 0000000..e2b57d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00820/00820-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00820" id="case00820" name="case00820" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00820/00820-settings.txt b/models/sbml-test-suite/cases/semantic/00820/00820-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00820/00820-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00821/00821-results.csv b/models/sbml-test-suite/cases/semantic/00821/00821-results.csv
new file mode 100644
index 0000000..0f23d0d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00821/00821-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.9139311852645197,0
+0.2,0.8352702113981102,0
+0.3,0.763379493806668,0
+0.4,0.6976763237520321,0
+0.5,0.6376281506851765,0
+0.6,0.5827482407727274,0
+0.7,0.532591794606214,0
+0.8,0.4867522557285909,0
+0.9,0.4448580588646324,0
+1.,0.4065696527004625,0
+1.1,0.3715766895448397,0
+1.2,0.3395955198626709,0
+1.3,0.3103669412158033,0
+1.4,0.2836540263904839,0
+1.5,0.2592402591114947,0
+1.6,0.236927758353767,0
+1.7,0.2165356669204767,0
+1.8,0.19789869789176,0
+1.9,0.1808657905270149,0
+2.,0.1652988856201071,0
+2.1,0.1510718055843933,0
+2.2,0.1380692365533755,0
+2.3,0.1261857781865223,0
+2.4,0.1153251210368525,0
+2.5,0.1053992205330016,0
+2.6,0.09632763152477379,0
+2.7,0.08803682911428764,0
+2.8,0.08045960674850762,0
+2.9,0.07353454084892319,0
+3.,0.06720550806120868,0
+3.1,0.06142121158313393,0
+3.2,0.0561347628265097,0
+3.3,0.0513033092899171,0
+3.4,0.04688769252772205,0
+3.5,0.04285212294429174,0
+3.6,0.03916389080985287,0
+3.7,0.03579310130178447,0
+3.8,0.0327124323291501,0
+3.9,0.0298969131827134,0
+4.,0.02732372222074999,0
+4.1,0.02497200197283829,0
+4.2,0.02282269073454135,0
+4.3,0.02085836800151609,0
+4.4,0.01906311240866195,0
+4.5,0.01742237271171235,0
+4.6,0.01592284991513819,0
+4.7,0.01455238953581312,0
+4.8,0.01329988313145271,0
+4.9,0.01215517829762205,0
+5.,0.01110899653825452,0
diff --git a/models/sbml-test-suite/cases/semantic/00821/00821-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00821/00821-sbml-l1v2.xml
new file mode 100644
index 0000000..4ce8976
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00821/00821-sbml-l1v2.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00821">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00821/00821-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00821/00821-sbml-l2v4.xml
new file mode 100644
index 0000000..291541e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00821/00821-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00821" id="case00821" name="case00821">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00821/00821-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00821/00821-sbml-l3v1.xml
new file mode 100644
index 0000000..21a9fd0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00821/00821-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00821" id="case00821" name="case00821" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00821/00821-settings.txt b/models/sbml-test-suite/cases/semantic/00821/00821-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00821/00821-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00822/00822-results.csv b/models/sbml-test-suite/cases/semantic/00822/00822-results.csv
new file mode 100644
index 0000000..17353d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00822/00822-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.4
+0.16,0.9274128597622002,0.4274128597622,0.4
+0.32,0.870276742084602,0.3702767420846021,0.4
+0.48,0.8243777840341973,0.324377784034197,0.4
+0.64,0.7868992201800451,0.2868992201800449,0.4
+0.8,0.7558863504197345,0.2558863504197345,0.4
+0.96,0.7299399269001145,0.2299399269001144,0.4
+1.12,0.7080317816098562,0.2080317816098562,0.4
+1.28,0.6893893544377293,0.1893893544377292,0.4
+1.44,0.6734208480293537,0.1734208480293536,0.4
+1.6,0.6596652666703054,0.1596652666703054,0.4
+1.76,0.6477581755168179,0.1477581755168181,0.4
+1.92,0.6374077038159331,0.1374077038159334,0.4
+2.08,0.6283773897916638,0.1283773897916641,0.4
+2.24,0.6204736800280022,0.1204736800280026,0.4
+2.4,0.613536682855569,0.1135366828555693,0.4
+2.56,0.607433227041064,0.1074332270410642,0.4
+2.72,0.6020515704126001,0.1020515704126003,0.4
+2.88,0.5972973279381759,0.09729732793817616,0.4
+3.04,0.5930902988280153,0.09309029882801554,0.4
+3.2,0.5893619673337067,0.08936196733370693,0.4
+3.36,0.5860535145622524,0.08605351456225265,0.4
+3.52,0.5831142231385548,0.08311422313855501,0.4
+3.68,0.5805001934003597,0.08050019340035982,0.4
+3.84,0.57817328604853,0.07817328604853009,0.4
+4.,0.5761002625453883,0.07610026254538848,0.4
+4.16,0.5742520708733773,0.07425207087337747,0.4
+4.32,0.5726032515141428,0.07260325151414286,0.4
+4.48,0.5711314420062958,0.07113144200629587,0.4
+4.64,0.5698169571523279,0.06981695715232785,0.4
+4.8,0.5686424352574076,0.06864243525740765,0.4
+4.96,0.5675925382096407,0.0675925382096406,0.4
+5.12,0.5666536952491271,0.06665369524912702,0.4
+5.28,0.5658138817186306,0.06581388171863061,0.4
+5.44,0.5650624284868764,0.06506242848687639,0.4
+5.6,0.5643898616846536,0.06438986168465368,0.4
+5.76,0.5637877560756057,0.0637877560756057,0.4
+5.92,0.5632486160904715,0.06324861609047141,0.4
+6.08,0.5627657647104584,0.06276576471045852,0.4
+6.24,0.56233325176377,0.06233325176376997,0.4
+6.4,0.561945769927708,0.06194576992770811,0.4
+6.56,0.5615985840759504,0.06159858407595041,0.4
+6.72,0.5612874650069035,0.06128746500690347,0.4
+6.88,0.5610086350681158,0.06100863506811581,0.4
+7.04,0.5607587192341621,0.06075871923416206,0.4
+7.2,0.560534699357495,0.06053469935749487,0.4
+7.36,0.5603338757672612,0.0603338757672612,0.4
+7.52,0.5601538339795395,0.06015383397953955,0.4
+7.68,0.5599924136083032,0.05999241360830316,0.4
+7.84,0.5598476803756862,0.05984768037568628,0.4
+8.,0.5597179023059044,0.05971790230590446,0.4
diff --git a/models/sbml-test-suite/cases/semantic/00822/00822-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00822/00822-sbml-l1v2.xml
new file mode 100644
index 0000000..da7e35b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00822/00822-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00822">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.4" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="1.1"/>
+      <parameter name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 * S2 + -1 * kr * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00822/00822-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00822/00822-sbml-l2v4.xml
new file mode 100644
index 0000000..769c216
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00822/00822-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00822" id="case00822" name="case00822">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.4" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00822/00822-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00822/00822-sbml-l3v1.xml
new file mode 100644
index 0000000..614f08e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00822/00822-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00822" id="case00822" name="case00822" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00822/00822-settings.txt b/models/sbml-test-suite/cases/semantic/00822/00822-settings.txt
new file mode 100644
index 0000000..ed20bce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00822/00822-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00823/00823-results.csv b/models/sbml-test-suite/cases/semantic/00823/00823-results.csv
new file mode 100644
index 0000000..943563d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00823/00823-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.77985729335006,0.5,0.2201427066499402
+0.2,0.6101159094395809,0.5,0.3898840905604194
+0.3,0.4792365448726125,0.5,0.5207634551273877
+0.4,0.3783217888982599,0.5,0.6216782111017403
+0.5,0.3005113303919517,0.5,0.6994886696080483
+0.6,0.2405154437702747,0.5,0.7594845562297255
+0.7,0.1942555275704717,0.5,0.8057444724295285
+0.8,0.1585867424977763,0.5,0.8414132575022239
+0.9,0.1310842662009599,0.5,0.8689157337990404
+1.,0.1098784373245693,0.5,0.8901215626754308
+1.1,0.09352764962818635,0.5,0.9064723503718139
+1.2,0.08092034954062535,0.5,0.919079650459375
+1.3,0.07119947151787636,0.5,0.9288005284821239
+1.4,0.06370417364101438,0.5,0.9362958263589858
+1.5,0.05792491265366545,0.5,0.9420750873463349
+1.6,0.05346880327476179,0.5,0.9465311967252386
+1.7,0.05003291344946421,0.5,0.9499670865505361
+1.8,0.04738366627728895,0.5,0.9526163337227114
+1.9,0.04534095994998444,0.5,0.954659040050016
+2.,0.04376592634278887,0.5,0.9562340736572114
+2.1,0.04255149516438299,0.5,0.9574485048356173
+2.2,0.04161510653025201,0.5,0.9583848934697484
+2.3,0.04089310157080402,0.5,0.9591068984291963
+2.4,0.04033639947797847,0.5,0.9596636005220219
+2.5,0.03990715280205928,0.5,0.960092847197941
+2.6,0.03957618169500792,0.5,0.9604238183049924
+2.7,0.03932098602184215,0.5,0.9606790139781581
+2.8,0.03912421671560939,0.5,0.9608757832843909
+2.9,0.03897249769593912,0.5,0.9610275023040613
+3.,0.03885551432996452,0.5,0.9611444856700358
+3.1,0.03876531418042918,0.5,0.9612346858195711
+3.2,0.03869576524631667,0.5,0.9613042347536836
+3.3,0.0386421393543354,0.5,0.961357860645665
+3.4,0.03860079109775238,0.5,0.9613992089022479
+3.5,0.03856890941148705,0.5,0.9614310905885132
+3.6,0.03854432699661257,0.5,0.9614556730033877
+3.7,0.03852537268281956,0.5,0.9614746273171807
+3.8,0.03851075795469588,0.5,0.9614892420453043
+3.9,0.03849948922885746,0.5,0.9615005107711427
+4.,0.03849080044115849,0.5,0.9615091995588418
+4.1,0.0384841009620044,0.5,0.9615158990379959
+4.2,0.03847893531778948,0.5,0.9615210646822108
+4.3,0.03847495233822242,0.5,0.9615250476617779
+4.4,0.03847188125344696,0.5,0.9615281187465534
+4.5,0.03846951328384947,0.5,0.9615304867161509
+4.6,0.03846768745587379,0.5,0.9615323125441266
+4.7,0.03846627965542176,0.5,0.9615337203445786
+4.8,0.03846519416972277,0.5,0.9615348058302776
+4.9,0.0384643571990491,0.5,0.9615356428009512
+5.,0.03846371185518806,0.5,0.9615362881448122
diff --git a/models/sbml-test-suite/cases/semantic/00823/00823-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00823/00823-sbml-l1v2.xml
new file mode 100644
index 0000000..9006bde
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00823/00823-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00823">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance" boundaryCondition="true"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00823/00823-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00823/00823-sbml-l2v4.xml
new file mode 100644
index 0000000..76e4cfd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00823/00823-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00823" id="case00823" name="case00823">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00823/00823-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00823/00823-sbml-l3v1.xml
new file mode 100644
index 0000000..2ea8850
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00823/00823-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00823" id="case00823" name="case00823" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00823/00823-settings.txt b/models/sbml-test-suite/cases/semantic/00823/00823-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00823/00823-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00824/00824-results.csv b/models/sbml-test-suite/cases/semantic/00824/00824-results.csv
new file mode 100644
index 0000000..7a04fda
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00824/00824-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.9145638764965688,0.1708722470068617
+0.2,0.8376436386324442,0.3247127227351108
+0.3,0.768390463046732,0.4632190739065351
+0.4,0.70604013075497,0.5879197384900594
+0.5,0.6499045930335642,0.7001908139328711
+0.6,0.5993643964158479,0.8012712071683036
+0.7,0.5538618216680552,0.8922763566638889
+0.8,0.5128947114301744,0.9742105771396506
+0.9,0.476011059845866,1.047977880308267
+1.,0.4428037665396531,1.114392466920693
+1.1,0.4129064591650051,1.174187081669988
+1.2,0.3859891508169073,1.228021698366184
+1.3,0.3617548640285471,1.276490271942904
+1.4,0.3399361065037838,1.320127786992431
+1.5,0.3202921613027399,1.359415677394519
+1.6,0.302606250562297,1.394787498875404
+1.7,0.2866831940497772,1.426633611900444
+1.8,0.2723472601076875,1.455305479784623
+1.9,0.2594402607076247,1.481119478584749
+2.,0.2478197799153314,1.504360440169336
+2.1,0.2373575847844173,1.525284830431164
+2.2,0.2279382151188438,1.544123569762311
+2.3,0.2194577161142805,1.561084567771438
+2.4,0.2118225114456443,1.57635497710871
+2.5,0.2049483539163612,1.590103292167276
+2.6,0.1987593864006467,1.602481227198705
+2.7,0.1931873076348501,1.613625384730299
+2.8,0.1881706227392112,1.623658754521577
+2.9,0.1836539765040294,1.63269204699194
+3.,0.1795875318730647,1.64082493625387
+3.1,0.1759264150167765,1.648147169966446
+3.2,0.1726302218594896,1.65473955628102
+3.3,0.1696625759396687,1.660674848120662
+3.4,0.1669907308518242,1.666018538296351
+3.5,0.164585202918677,1.670829594162645
+3.6,0.1624194471399979,1.675161105720004
+3.7,0.160469564285741,1.679060871428517
+3.8,0.1587140372065353,1.682571925586928
+3.9,0.1571334934219081,1.685733013156183
+4.,0.1557104913679087,1.688579017264182
+4.1,0.1544293279466891,1.691141344106621
+4.2,0.1532758650006043,1.69344826999879
+4.3,0.1522373742195613,1.695525251560877
+4.4,0.1513023955095878,1.697395208980824
+4.5,0.1504606112272507,1.699078777545498
+4.6,0.1497027321483237,1.700594535703352
+4.7,0.1490203949598889,1.701959210080222
+4.8,0.1484060699697881,1.703187860060423
+4.9,0.1478529780237005,1.704294043952598
+5.,0.147355015770824,1.705289968458351
diff --git a/models/sbml-test-suite/cases/semantic/00824/00824-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00824/00824-sbml-l1v2.xml
new file mode 100644
index 0000000..55d3967
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00824/00824-sbml-l1v2.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00824">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00824/00824-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00824/00824-sbml-l2v4.xml
new file mode 100644
index 0000000..e329734
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00824/00824-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00824" id="case00824" name="case00824">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00824/00824-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00824/00824-sbml-l3v1.xml
new file mode 100644
index 0000000..1239738
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00824/00824-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00824" id="case00824" name="case00824" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00824/00824-settings.txt b/models/sbml-test-suite/cases/semantic/00824/00824-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00824/00824-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00825/00825-results.csv b/models/sbml-test-suite/cases/semantic/00825/00825-results.csv
new file mode 100644
index 0000000..193a86b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00825/00825-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.9519519122345286,0.4039038244690564,0.04804808776547173
+0.2,0.9150401322581299,0.330080264516259,0.08495986774187039
+0.3,0.8862128399369182,0.2724256798738354,0.1137871600630822
+0.4,0.8634085500049902,0.2268171000099793,0.1365914499950103
+0.5,0.8451850141470789,0.190370028294157,0.1548149858529215
+0.6,0.8305037308100224,0.1610074616200441,0.1694962691899779
+0.7,0.8185988469593781,0.1371976939187552,0.1814011530406223
+0.8,0.80889420760368,0.117788415207359,0.1911057923963205
+0.9,0.8009490553410307,0.1018981106820606,0.1990509446589697
+1.,0.7944214477779237,0.08884289555584658,0.2055785522220767
+1.1,0.7890429401571099,0.07808588031421881,0.2109570598428906
+1.2,0.7846006785903941,0.06920135718078701,0.2153993214096065
+1.3,0.7809244659895424,0.06184893197908348,0.2190755340104582
+1.4,0.7778772439517625,0.05575448790352359,0.2221227560482381
+1.5,0.7753479849818044,0.05069596996360754,0.2246520150181961
+1.6,0.7732462947753882,0.04649258955077503,0.2267537052246124
+1.7,0.7714982679503051,0.04299653590060892,0.2285017320496954
+1.8,0.7700432661819711,0.04008653236394067,0.2299567338180295
+1.9,0.7688313894259025,0.03766277885180319,0.2311686105740983
+2.,0.7678214712751751,0.03564294255034818,0.2321785287248258
+2.1,0.7669794788731437,0.03395895774628556,0.2330205211268571
+2.2,0.7662772284180395,0.03255445683607701,0.2337227715819613
+2.3,0.7656913458931844,0.03138269178636672,0.2343086541068165
+2.4,0.7652024215771755,0.03040484315434866,0.2347975784228255
+2.5,0.7647943210844749,0.02958864216894761,0.2352056789155261
+2.6,0.7644536223008801,0.02890724460175807,0.2355463776991208
+2.7,0.7641691503608463,0.02833830072169049,0.2358308496391546
+2.8,0.7639315959365361,0.02786319187306986,0.2360684040634649
+2.9,0.7637332001331312,0.02746640026626041,0.2362667998668697
+3.,0.7635674934634503,0.02713498692689816,0.2364325065365507
+3.1,0.7634290796201,0.02685815924019767,0.236570920379901
+3.2,0.7633134563004347,0.02662691260086719,0.2366865436995662
+3.3,0.7632168660602018,0.02643373212040166,0.236783133939799
+3.4,0.7631361723619041,0.02627234472380587,0.2368638276380969
+3.5,0.7630687565537477,0.02613751310749311,0.2369312434462533
+3.6,0.7630124320683682,0.02602486413673418,0.2369875679316328
+3.7,0.7629653729877686,0.02593074597553521,0.2370346270122322
+3.8,0.7629260543789255,0.02585210875784908,0.2370739456210753
+3.9,0.762893202493596,0.02578640498719007,0.2371067975064048
+4.,0.7628657533345962,0.02573150666919054,0.2371342466654046
+4.1,0.7628428180793631,0.02568563615872429,0.2371571819206377
+4.2,0.762823654246438,0.02564730849287388,0.2371763457535629
+4.3,0.762807641556486,0.02561528311297,0.2371923584435149
+4.4,0.7627942617696185,0.02558852353923516,0.2372057382303823
+4.5,0.7627830818941093,0.02556616378821688,0.2372169181058914
+4.6,0.7627737401618475,0.02554748032369326,0.2372262598381533
+4.7,0.7627659343254743,0.02553186865094701,0.2372340656745264
+4.8,0.7627594118503596,0.02551882370071759,0.2372405881496411
+4.9,0.7627539617261416,0.02550792345228154,0.2372460382738592
+5.,0.7627494076281484,0.02549881525629508,0.2372505923718524
diff --git a/models/sbml-test-suite/cases/semantic/00825/00825-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00825/00825-sbml-l1v2.xml
new file mode 100644
index 0000000..8e24925
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00825/00825-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00825">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="1.1"/>
+      <parameter name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 * S2 + -1 * kr * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00825/00825-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00825/00825-sbml-l2v4.xml
new file mode 100644
index 0000000..d53bd89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00825/00825-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00825" id="case00825" name="case00825">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00825/00825-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00825/00825-sbml-l3v1.xml
new file mode 100644
index 0000000..10bd4a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00825/00825-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00825" id="case00825" name="case00825" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00825/00825-settings.txt b/models/sbml-test-suite/cases/semantic/00825/00825-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00825/00825-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00826/00826-results.csv b/models/sbml-test-suite/cases/semantic/00826/00826-results.csv
new file mode 100644
index 0000000..523b449
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00826/00826-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.7815431345015093,0.7184568654984906,0.4369137309969808
+0.2,0.6175478499902036,0.8824521500097963,0.7649043000195919
+0.3,0.4960608273574218,1.003939172642578,1.007878345285155
+0.4,0.4069462413651704,1.093053758634829,1.186107517269657
+0.5,0.3420492738091299,1.15795072619087,1.315901452381738
+0.6,0.2950372882210906,1.204962711778909,1.409925423557816
+0.7,0.2611113691218901,1.23888863087811,1.477777261756217
+0.8,0.2366964365848039,1.263303563415197,1.52660712683039
+0.9,0.2191610329255468,1.280838967074453,1.561677934148904
+1.,0.2065846512155935,1.293415348784407,1.586830697568811
+1.1,0.1975741122436703,1.30242588775633,1.604851775512657
+1.2,0.1911231160783092,1.308876883921691,1.61775376784338
+1.3,0.1865070234090951,1.313492976590905,1.626985953181808
+1.4,0.1832051590145248,1.316794840985475,1.633589681970949
+1.5,0.180843992003667,1.319156007996333,1.638312015992664
+1.6,0.1791558448826216,1.320844155117378,1.641688310234755
+1.7,0.1779490455360554,1.322050954463944,1.644101908927887
+1.8,0.1770864319196693,1.32291356808033,1.645827136160659
+1.9,0.1764698837424544,1.323530116257545,1.647060232515089
+2.,0.1760292307547604,1.323970769245239,1.647941538490477
+2.1,0.1757143038020976,1.324285696197902,1.648571392395802
+2.2,0.1754892366077815,1.324510763392218,1.649021526784434
+2.3,0.1753283918247989,1.3246716081752,1.649343216350399
+2.4,0.1752134453839989,1.324786554616,1.649573109232
+2.5,0.1751313005685293,1.32486869943147,1.649737398862939
+2.6,0.1750725974025003,1.324927402597499,1.649854805194997
+2.7,0.1750306463854922,1.324969353614507,1.649938707229013
+2.8,0.1750006672821867,1.324999332717812,1.649998665435624
+2.9,0.1749792433945951,1.325020756605404,1.650041513210808
+3.,0.1749639335060284,1.32503606649397,1.650072132987941
+3.1,0.1749529927258846,1.325047007274114,1.650094014548229
+3.2,0.1749451741886915,1.325054825811308,1.650109651622615
+3.3,0.1749395869173972,1.325060413082602,1.650120826165204
+3.4,0.1749355941561787,1.32506440584382,1.65012881168764
+3.5,0.1749327408475371,1.325067259152462,1.650134518304924
+3.6,0.1749307018104496,1.32506929818955,1.650138596379099
+3.7,0.174929244677998,1.325070755322001,1.650141510644002
+3.8,0.1749282033866514,1.325071796613348,1.650143593226695
+3.9,0.1749274592597707,1.325072540740229,1.650145081480456
+4.,0.1749269274909274,1.325073072509072,1.650146145018143
+4.1,0.1749265474793003,1.325073452520699,1.650146905041397
+4.2,0.1749262759157774,1.325073724084222,1.650147448168443
+4.3,0.174926081851324,1.325073918148676,1.65014783629735
+4.4,0.1749259431688538,1.325074056831146,1.65014811366229
+4.5,0.1749258440632854,1.325074155936715,1.650148311873427
+4.6,0.1749257732417491,1.325074226758251,1.650148453516499
+4.7,0.1749257226311201,1.32507427736888,1.650148554737757
+4.8,0.1749256864633222,1.325074313536678,1.650148627073353
+4.9,0.1749256606175574,1.325074339382442,1.650148678764883
+5.,0.1749256421476752,1.325074357852325,1.650148715704647
diff --git a/models/sbml-test-suite/cases/semantic/00826/00826-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00826/00826-sbml-l1v2.xml
new file mode 100644
index 0000000..12ee0df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00826/00826-sbml-l1v2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00826">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00826/00826-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00826/00826-sbml-l2v4.xml
new file mode 100644
index 0000000..15abcc2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00826/00826-sbml-l2v4.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00826" id="case00826" name="case00826">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00826/00826-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00826/00826-sbml-l3v1.xml
new file mode 100644
index 0000000..320e4da
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00826/00826-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00826" id="case00826" name="case00826" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00826/00826-settings.txt b/models/sbml-test-suite/cases/semantic/00826/00826-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00826/00826-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00827/00827-results.csv b/models/sbml-test-suite/cases/semantic/00827/00827-results.csv
new file mode 100644
index 0000000..b86ea71
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00827/00827-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.16,0.8674461438566446,0.2651077122867101
+0.32,0.7553912296266588,0.4892175407466816
+0.48,0.6606651845799057,0.6786696308401882
+0.64,0.5805881522289524,0.8388236955420945
+0.8,0.5128947114301744,0.9742105771396506
+0.96,0.4556698341041101,1.088660331791779
+1.12,0.4072945472844014,1.185410905431196
+1.28,0.3664003113716774,1.267199377256644
+1.44,0.3318302177334989,1.336339564533001
+1.6,0.302606250562297,1.394787498875404
+1.76,0.2779016593924217,1.444196681215155
+1.92,0.257017540340215,1.485964919319569
+2.08,0.2393630718897156,1.521273856220567
+2.24,0.2244388005842858,1.551122398831427
+2.4,0.2118225114456443,1.57635497710871
+2.56,0.2011572834248798,1.597685433150239
+2.72,0.1921413919952827,1.615717216009434
+2.88,0.1845197732456855,1.630960453508628
+3.04,0.1780768080029133,1.643846383994172
+3.2,0.1726302218594896,1.65473955628102
+3.36,0.1680259248357856,1.663948150328428
+3.52,0.1641336684668112,1.671732663066377
+3.68,0.160843338631873,1.678313322736253
+3.84,0.1580618417627714,1.683876316474456
+4.,0.1557104913679087,1.688579017264182
+4.16,0.1537227713129696,1.69255445737406
+4.32,0.1520424447098569,1.695915110580286
+4.48,0.1506219712957153,1.698756057408569
+4.64,0.1494211707589508,1.701157658482098
+4.8,0.1484060699697881,1.703187860060423
+4.96,0.1475479486677223,1.704904102664555
+5.12,0.1468225335937843,1.706354932812431
+5.28,0.1462093017990854,1.707581396401828
+5.44,0.1456909027323298,1.70861819453534
+5.6,0.1452526725525035,1.709494654894993
+5.76,0.1448822135073344,1.710235572985331
+5.92,0.1445690438367742,1.710861912326451
+6.08,0.1443043047971257,1.711391390405748
+6.24,0.1440805070148766,1.711838985970247
+6.4,0.1438913183339688,1.712217363332062
+6.56,0.1437313869535032,1.712537226092993
+6.72,0.1435961886049454,1.712807622790109
+6.88,0.143481897986369,1.713036204027262
+7.04,0.1433852819159146,1.71322943616817
+7.2,0.1433036073147115,1.713392785370577
+7.36,0.1432345633044834,1.713530873391033
+7.52,0.1431761966184394,1.713647606763121
+7.68,0.1431268562404177,1.713746287519164
+7.84,0.1430851460081502,1.713829707983699
+8.,0.1430498862778779,1.713900227444244
diff --git a/models/sbml-test-suite/cases/semantic/00827/00827-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00827/00827-sbml-l2v4.xml
new file mode 100644
index 0000000..66a6228
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00827/00827-sbml-l2v4.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00827" id="case00827" name="case00827">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00827/00827-settings.txt b/models/sbml-test-suite/cases/semantic/00827/00827-settings.txt
new file mode 100644
index 0000000..782b0d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00827/00827-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00828/00828-results.csv b/models/sbml-test-suite/cases/semantic/00828/00828-results.csv
new file mode 100644
index 0000000..122ffc6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00828/00828-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.9696179454642711,0.4392358909285413,0.03038205453572927
+0.12,0.9437947594964144,0.3875895189928282,0.05620524050358585
+0.18,0.9216954270748496,0.3433908541496985,0.0783045729251507
+0.24,0.9026717447258134,0.3053434894516258,0.09732825527418702
+0.3,0.8862128399369182,0.2724256798738354,0.1137871600630822
+0.36,0.8719106658115749,0.2438213316231486,0.1280893341884257
+0.42,0.8594354122631484,0.2188708245262958,0.1405645877368521
+0.48,0.8485176887592405,0.1970353775184801,0.1514823112407599
+0.54,0.8389353649935498,0.1778707299870987,0.1610646350064506
+0.6,0.8305037308100224,0.1610074616200441,0.1694962691899779
+0.66,0.8230680221717499,0.1461360443434988,0.1769319778282506
+0.72,0.8164976800789665,0.132995360157932,0.183502319921034
+0.78,0.8106818870376608,0.1213637740753207,0.1893181129623396
+0.84,0.8055260562348722,0.1110521124697436,0.1944739437651282
+0.9,0.8009490553410307,0.1018981106820606,0.1990509446589697
+0.96,0.7968809759131927,0.09376195182638452,0.2031190240868077
+1.02,0.7932613361166933,0.08652267223338555,0.2067386638833072
+1.08,0.7900376147630173,0.08007522952603364,0.2099623852369832
+1.14,0.7871640566023572,0.07432811320471303,0.2128359433976435
+1.2,0.7846006785903941,0.06920135718078701,0.2153993214096065
+1.26,0.7823124471114399,0.06462489422287849,0.2176875528885607
+1.32,0.7802685915353989,0.06053718307079644,0.2197314084646017
+1.38,0.7784420257791159,0.05688405155823055,0.2215579742208846
+1.44,0.7768088597975793,0.05361771959515723,0.2231911402024213
+1.5,0.7753479849818044,0.05069596996360754,0.2246520150181961
+1.56,0.7740407205127242,0.04808144102544719,0.2259592794872763
+1.62,0.7728705097609502,0.04574101952189911,0.2271294902390503
+1.68,0.7718226596384412,0.04364531927688087,0.2281773403615594
+1.74,0.7708841155355393,0.04176823107107718,0.2291158844644613
+1.8,0.7700432661819711,0.04008653236394067,0.2299567338180295
+1.86,0.7692897751563261,0.03857955031265036,0.2307102248436747
+1.92,0.7686144322138514,0.03722886442770084,0.2313855677861494
+1.98,0.7680090232404527,0.0360180464809033,0.2319909767595482
+2.04,0.7674662202251498,0.03493244045029753,0.2325337797748511
+2.1,0.7669794788731437,0.03395895774628556,0.2330205211268571
+2.16,0.766542952464459,0.03308590492891596,0.2334570475355419
+2.22,0.7661514159846728,0.03230283196934352,0.2338485840153281
+2.28,0.7658001958517509,0.0316003917034997,0.23419980414825
+2.34,0.7654851114069644,0.03097022281392642,0.2345148885930366
+2.4,0.7652024215771755,0.03040484315434866,0.2347975784228255
+2.46,0.764948776264381,0.02989755252875986,0.2350512237356199
+2.52,0.7647211767037641,0.02944235340752586,0.235278823296237
+2.58,0.7645169354882692,0.02903387097653622,0.2354830645117318
+2.64,0.7643336457072129,0.02866729141442374,0.235666354292788
+2.7,0.7641691503608463,0.02833830072169049,0.2358308496391546
+2.76,0.7640215157226102,0.0280430314452181,0.2359784842773908
+2.82,0.7638890081549438,0.02777801630988544,0.2361109918450572
+2.88,0.763770073719003,0.02754014743800385,0.2362299262809979
+2.94,0.7636633188428251,0.02732663768564807,0.2363366811571758
+3.,0.7635674934634627,0.02713498692692338,0.2364325065365382
diff --git a/models/sbml-test-suite/cases/semantic/00828/00828-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00828/00828-sbml-l2v4.xml
new file mode 100644
index 0000000..a82dc78
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00828/00828-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00828" id="case00828" name="case00828">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00828/00828-settings.txt b/models/sbml-test-suite/cases/semantic/00828/00828-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00828/00828-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00829/00829-results.csv b/models/sbml-test-suite/cases/semantic/00829/00829-results.csv
new file mode 100644
index 0000000..35e3c84
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00829/00829-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.8616727079606161,0.6383272920393838,0.2766545840787671
+0.12,0.7447919324790182,0.7552080675209818,0.5104161350419632
+0.18,0.6465872622274573,0.8534127377725426,0.7068254755450845
+0.24,0.5644642271990528,0.9355357728009471,0.8710715456018935
+0.3,0.4960608273574218,1.003939172642578,1.007878345285155
+0.36,0.4392727543869955,1.060727245613004,1.121454491226007
+0.42,0.392256683654747,1.107743316345253,1.215486632690504
+0.48,0.3534193023920151,1.146580697607985,1.293161395215968
+0.54,0.3213979841979456,1.178602015802054,1.357204031604107
+0.6,0.2950372882210906,1.204962711778909,1.409925423557816
+0.66,0.2733641582161532,1.226635841783847,1.453271683567691
+0.72,0.2555636743033055,1.244436325696695,1.488872651393387
+0.78,0.2409564136757351,1.259043586324265,1.518087172648527
+0.84,0.2289780164431097,1.271021983556891,1.542043967113778
+0.9,0.2191610329255468,1.280838967074453,1.561677934148904
+0.96,0.2111192807154172,1.288880719284583,1.577761438569164
+1.02,0.2045342872276673,1.295465712772333,1.590931425544663
+1.08,0.1991438880151231,1.300856111984877,1.601712223969752
+1.14,0.1947325132758389,1.305267486724161,1.61053497344832
+1.2,0.1911231160783092,1.308876883921691,1.61775376784338
+1.26,0.1881704166109222,1.311829583389078,1.623659166778154
+1.32,0.1857552805250867,1.314244719474914,1.628489438949825
+1.38,0.1837800691793961,1.316219930820604,1.632439861641206
+1.44,0.1821648030614262,1.317835196938574,1.635670393877146
+1.5,0.180843992003667,1.319156007996333,1.638312015992664
+1.56,0.1797640272409757,1.320235972759024,1.640471945518047
+1.62,0.1788810371796498,1.32111896282035,1.642237925640698
+1.68,0.1781591264238181,1.321840873576181,1.643681747152362
+1.74,0.1775689306993571,1.322431069300642,1.644862138601284
+1.8,0.1770864319196693,1.32291356808033,1.645827136160659
+1.86,0.176691987105813,1.323308012894186,1.646616025788372
+1.92,0.1763695329289744,1.323630467071025,1.647260934142049
+1.98,0.1761059343915924,1.323894065608407,1.647788131216813
+2.04,0.1758904516692595,1.32410954833074,1.648219096661479
+2.1,0.1757143038020976,1.324285696197902,1.648571392395802
+2.16,0.1755703117146072,1.324429688285392,1.648859376570783
+2.22,0.1754526061906401,1.324547393809359,1.649094787618717
+2.28,0.1753563889212805,1.324643611078719,1.649287222157436
+2.34,0.1752777375487411,1.324722262451258,1.649444524902515
+2.4,0.1752134453839989,1.324786554616,1.649573109232
+2.46,0.1751608910281392,1.32483910897186,1.649678217943719
+2.52,0.1751179315766129,1.324882068423386,1.649764136846772
+2.58,0.1750828152555256,1.324917184744474,1.649834369488947
+2.64,0.1750541105146971,1.324945889485302,1.649891778970604
+2.7,0.1750306463854922,1.324969353614507,1.649938707229013
+2.76,0.1750114664163874,1.324988533583612,1.649977067167223
+2.82,0.1749957881607985,1.3250042118392,1.650008423678401
+2.88,0.1749829725080639,1.325017027491935,1.65003405498387
+2.94,0.1749724966489235,1.325027503351075,1.650055006702151
+3.,0.1749639335286364,1.325036066471362,1.650072132942725
diff --git a/models/sbml-test-suite/cases/semantic/00829/00829-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00829/00829-sbml-l2v4.xml
new file mode 100644
index 0000000..dae552a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00829/00829-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00829" id="case00829" name="case00829">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00829/00829-settings.txt b/models/sbml-test-suite/cases/semantic/00829/00829-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00829/00829-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00830/00830-results.csv b/models/sbml-test-suite/cases/semantic/00830/00830-results.csv
new file mode 100644
index 0000000..be3beac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00830/00830-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0,1.5,0.5
+0.2,0.853003881816861,0.1469961181831392,1.261508193068378,0.7384918069316205
+0.4,0.7292362049789094,0.2707637950210908,1.065268853177446,0.934731146822553
+0.6,0.6250264110519917,0.3749735889480083,0.9037963507957798,1.096203649204219
+0.8,0.5372839278528029,0.4627160721471972,0.7709311638160287,1.22906883618397
+1.,0.4634065857028789,0.5365934142971214,0.6616050859944306,1.338394914005568
+1.2,0.4012033952153769,0.5987966047846233,0.5716477855148897,1.428352214485109
+1.4,0.3488296095435641,0.6511703904564362,0.4976278119568066,1.502372188043192
+1.6,0.3047319751782503,0.6952680248217502,0.4367216171967165,1.563278382803283
+1.8,0.2676026762333647,0.7323973237666356,0.3866058712559676,1.613394128744031
+2.,0.2363405967559268,0.7636594032440735,0.3453689311865667,1.654631068813432
+2.2,0.2100185729810366,0.7899814270189636,0.3114377400985903,1.688562259901409
+2.4,0.1878559656598178,0.8121440343401824,0.2835179590230571,1.716482040976942
+2.6,0.1691955201554634,0.8308044798445368,0.2605446104704231,1.739455389529576
+2.8,0.1534838183444258,0.8465161816555745,0.2416413511666107,1.758358648833388
+3.,0.1402548842372802,0.85974511576272,0.2260870798162515,1.773912920183747
+3.2,0.1291163981685325,0.8708836018314678,0.2132884879065557,1.786711512093443
+3.4,0.1197380261873056,0.8802619738126947,0.2027573651090871,1.797242634890911
+3.6,0.1118416342264441,0.8881583657735562,0.194091995365153,1.805908004634845
+3.8,0.1051930366166131,0.8948069633833872,0.1869618287235153,1.813038171276483
+4.,0.09959505564500931,0.900404944354991,0.1810948800747066,1.818905119925292
+4.2,0.09488167183338104,0.9051183281666193,0.1762673507388606,1.823732649261138
+4.4,0.09091310024189493,0.9090868997581054,0.1722950914265488,1.82770490857345
+4.6,0.08757164550692501,0.9124283544930753,0.1690265786483501,1.830973421351648
+4.8,0.08475821019036543,0.915241789809635,0.166337133034714,1.833662866965285
+5.,0.08238935627715979,0.9176106437228406,0.1641241640220275,1.835875835977971
+5.2,0.0803948306710313,0.919605169328969,0.1623032565007998,1.837696743499199
+5.4,0.07871548171206971,0.9212845182879305,0.1608049507704919,1.839195049229507
+5.6,0.07730150492412706,0.9226984950758732,0.1595720929683769,1.840427907031622
+5.8,0.07611096597049207,0.9238890340295081,0.1585576549094391,1.84144234509056
+6.,0.07510855701038163,0.9248914429896185,0.1577229401707039,1.842277059829295
+6.2,0.07426454957649218,0.925735450423508,0.1570361079942744,1.842963892005725
+6.4,0.07355391291925135,0.9264460870807489,0.1564709587027908,1.843529041297208
+6.6,0.07295557166832598,0.9270444283316743,0.1560059342939527,1.843994065706047
+6.8,0.07245178080421285,0.9275482191957874,0.1556232961008245,1.844376703899175
+7.,0.0720275993908729,0.9279724006091273,0.1553084481348524,1.844691551865147
+7.2,0.07167044747269144,0.9283295525273088,0.1550493803126399,1.84495061968736
+7.4,0.07136973299021461,0.9286302670097856,0.1548362103228369,1.845163789677163
+7.6,0.07111653765108463,0.9288834623489156,0.1546608066584817,1.845339193341518
+7.8,0.07090335243989368,0.9290966475601065,0.1545164784349468,1.845483521565053
+8.,0.07072385492264604,0.9292761450773542,0.1543977201610853,1.845602279838914
+8.2,0.07057272174212468,0.9294272782578755,0.1543000017284789,1.84569999827152
+8.4,0.0704454707439143,0.9295545292560859,0.1542195956082097,1.84578040439179
+8.6,0.07033832804981267,0.9296616719501875,0.1541534346624197,1.845846565337579
+8.8,0.07024811605401455,0.9297518839459857,0.1540989950748488,1.84590100492515
+9.,0.07017215951515458,0.9298278404848456,0.1540542003677552,1.845945799632244
+9.2,0.07010820575423631,0.9298917942457639,0.1540173417823274,1.845982658217671
+9.4,0.07005435796411005,0.9299456420358901,0.1539870132147066,1.846012986785292
+9.6,0.07000901920228812,0.929990980797712,0.1539620577832813,1.846037942216718
+9.8,0.06997084497998995,0.9300291550200101,0.1539415236451669,1.846058476354832
+10.,0.06993870306385754,0.9300612969361424,0.153924627431918,1.846075372568081
diff --git a/models/sbml-test-suite/cases/semantic/00830/00830-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00830/00830-sbml-l1v2.xml
new file mode 100644
index 0000000..96f4c21
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00830/00830-sbml-l1v2.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00830">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2)">
+          <listOfParameters>
+            <parameter name="kf" value="0.8"/>
+            <parameter name="kr" value="0.06"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction name="reaction2">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S3 + -1 * kr * S4)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00830/00830-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00830/00830-sbml-l2v4.xml
new file mode 100644
index 0000000..468a069
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00830/00830-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00830" id="case00830" name="case00830">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="kf" value="0.8"/>
+            <parameter id="kr" value="0.06"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00830/00830-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00830/00830-sbml-l3v1.xml
new file mode 100644
index 0000000..d7005b8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00830/00830-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00830" id="case00830" name="case00830" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="kf" value="0.8"/>
+            <localParameter id="kr" value="0.06"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00830/00830-settings.txt b/models/sbml-test-suite/cases/semantic/00830/00830-settings.txt
new file mode 100644
index 0000000..5dd8210
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00830/00830-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00831/00831-results.csv b/models/sbml-test-suite/cases/semantic/00831/00831-results.csv
new file mode 100644
index 0000000..88fbf6f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00831/00831-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0,1.5,0.5
+0.16,0.8804160000251078,0.1195839999748922,1.305560446627352,0.6944395533726466
+0.32,0.7762048595178056,0.2237951404821946,1.139205903364718,0.8607940966352809
+0.48,0.6853903505477676,0.3146096494522324,0.9968797398439105,1.003120260156088
+0.64,0.6062503017819194,0.3937496982180807,0.8751112846340858,1.124888715365913
+0.8,0.5372839278528029,0.4627160721471972,0.7709311638160287,1.22906883618397
+0.96,0.4771833653292434,0.522816634670757,0.6817988847781749,1.318201115221824
+1.12,0.4248089052170889,0.5751910947829113,0.6055409590394881,1.394459040960511
+1.28,0.3791673375592828,0.6208326624407174,0.5402978085504247,1.459702191449574
+1.44,0.3393931192388901,0.6606068807611102,0.4844784274056965,1.515521572594303
+1.6,0.3047319751782503,0.6952680248217502,0.4367216171967165,1.563278382803283
+1.76,0.2745266337380021,0.7254733662619983,0.3958628698897483,1.60413713011025
+1.92,0.2482042641930348,0.7517957358069655,0.3609057750681614,1.639094224931837
+2.08,0.2252657048263653,0.774734295173635,0.3309979036831531,1.669002096316846
+2.24,0.205275964455285,0.7947240355447153,0.3054099552165172,1.694590044783482
+2.4,0.1878559656598178,0.8121440343401824,0.2835179590230571,1.716482040976942
+2.56,0.1726753591699852,0.827324640830015,0.2647880652387109,1.735211934761288
+2.72,0.1594462613669546,0.8405537386330456,0.2487635309949881,1.75123646900501
+2.88,0.1479177970026912,0.852082202997309,0.2350535862983668,1.764946413701632
+3.04,0.1378713472960952,0.862128652703905,0.2233239142758563,1.776676085724142
+3.2,0.1291163981685325,0.8708836018314678,0.2132884879065557,1.786711512093443
+3.36,0.1214869245249486,0.8785130754750518,0.2047025903829377,1.795297409617061
+3.52,0.1148382426403029,0.8851617573596974,0.1973568492946852,1.802643150705313
+3.68,0.1090442609661441,0.8909557390338562,0.1910721228307464,1.808927877169252
+3.84,0.103995117791204,0.8960048822087963,0.1856951766025722,1.814304823397426
+4.,0.09959505564500931,0.900404944354991,0.1810948800747066,1.818905119925292
+4.16,0.09576062974045136,0.9042393702595489,0.1771590480510565,1.822840951948942
+4.32,0.09241913443624601,0.9075808655637542,0.1737917172967171,1.826208282703281
+4.48,0.08950719463288132,0.910492805367119,0.1709107620699745,1.829089237930024
+4.64,0.08696959433901232,0.913030405660988,0.1684459365022165,1.831554063497782
+4.8,0.08475821019036543,0.915241789809635,0.166337133034714,1.833662866965285
+4.96,0.08283110376252521,0.9171688962374752,0.1645329242729974,1.835467075727001
+5.12,0.0811517350158518,0.9188482649841486,0.162989320563746,1.837010679436253
+5.28,0.07968825075569006,0.9203117492443102,0.1616686721941693,1.838331327805829
+5.44,0.07841290427057078,0.9215870957294295,0.1605387829323927,1.839461217067606
+5.6,0.07730150492412706,0.9226984950758732,0.1595720929683769,1.840427907031622
+5.76,0.07633298054164884,0.9236670194583513,0.1587450343206136,1.841254965679385
+5.92,0.07548896199733327,0.9245110380026669,0.1580374358509525,1.841962564149046
+6.08,0.07475344444055667,0.9252465555594435,0.1574320435349495,1.84256795646505
+6.24,0.07411248021235475,0.9258875197876455,0.1569140951430488,1.84308590485695
+6.4,0.07355391291925135,0.9264460870807489,0.1564709587027908,1.843529041297208
+6.56,0.07306715196431667,0.9269328480356836,0.1560918303241123,1.843908169675887
+6.72,0.07264296455054813,0.9273570354494522,0.1557674625053635,1.844232537494636
+6.88,0.07227330838406306,0.9277266916159372,0.1554899474788331,1.844510052521166
+7.04,0.07195117201472583,0.9280488279852744,0.155252516367708,1.844747483632291
+7.2,0.07167044747269144,0.9283295525273088,0.1550493803126399,1.84495061968736
+7.36,0.07142581079437725,0.928574189205623,0.1548755853273012,1.845124414672698
+7.52,0.07121262273483774,0.9287873772651624,0.1547268933194403,1.845273106680559
+7.68,0.07102684083435907,0.928973159165641,0.1545996787409705,1.845400321259029
+7.84,0.07086494141589985,0.9291350585841003,0.1544908388445634,1.845509161155436
+8.,0.07072385492575568,0.9292761450742446,0.1543977201640351,1.845602279835964
diff --git a/models/sbml-test-suite/cases/semantic/00831/00831-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00831/00831-sbml-l1v2.xml
new file mode 100644
index 0000000..6cfe546
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00831/00831-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00831">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.5" units="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2)">
+          <listOfParameters>
+            <parameter name="kf" value="0.8"/>
+            <parameter name="kr" value="0.06"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction name="reaction2">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S3 + -1 * kr * S4)">
+          <listOfParameters>
+            <parameter name="kf" value="0.9"/>
+            <parameter name="kr" value="0.075"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00831/00831-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00831/00831-sbml-l2v4.xml
new file mode 100644
index 0000000..5525ad7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00831/00831-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00831" id="case00831" name="case00831">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="kf" value="0.8"/>
+            <parameter id="kr" value="0.06"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="kf" value="0.9"/>
+            <parameter id="kr" value="0.075"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00831/00831-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00831/00831-sbml-l3v1.xml
new file mode 100644
index 0000000..f75572e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00831/00831-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00831" id="case00831" name="case00831" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="kf" value="0.8"/>
+            <localParameter id="kr" value="0.06"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="kf" value="0.9"/>
+            <localParameter id="kr" value="0.075"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00831/00831-settings.txt b/models/sbml-test-suite/cases/semantic/00831/00831-settings.txt
new file mode 100644
index 0000000..7d26374
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00831/00831-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00832/00832-results.csv b/models/sbml-test-suite/cases/semantic/00832/00832-results.csv
new file mode 100644
index 0000000..1c6ca86
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00832/00832-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.2,0.8895103824224083,0.1104896175775915
+0.4,0.7927805792635843,0.2072194207364157
+0.6,0.708097005742329,0.2919029942576709
+0.8,0.6339595010095482,0.3660404989904517
+1.,0.569054706869474,0.4309452931305259
+1.2,0.5122328232514341,0.4877671767485656
+1.4,0.4624872421761243,0.5375127578238756
+1.6,0.4189367212380718,0.581063278761928
+1.8,0.3808097611447565,0.6191902388552434
+2.,0.3474309402025342,0.6525690597974658
+2.2,0.3182089495351642,0.6817910504648357
+2.4,0.2926261228134271,0.7073738771865727
+2.6,0.2702292336709055,0.7297707663290944
+2.8,0.2506215573198475,0.7493784426801524
+3.,0.2334557138119106,0.7665442861880893
+3.2,0.2184276159335442,0.7815723840664556
+3.4,0.205271048689063,0.794728951310937
+3.6,0.1937529210017564,0.8062470789982435
+3.8,0.1836692173597648,0.8163307826402351
+4.,0.174841270585004,0.8251587294149959
+4.2,0.1671127271754064,0.8328872728245934
+4.4,0.1603466426348915,0.8396533573651082
+4.6,0.1544231840762248,0.8455768159237748
+4.8,0.1492373931703218,0.8507626068296778
+5.,0.1446974213334307,0.855302578666569
+5.2,0.1407228273441419,0.8592771726558576
+5.4,0.1372432181429396,0.8627567818570599
+5.6,0.1341969326590286,0.8658030673409709
+5.8,0.1315300221337686,0.8684699778662309
+6.,0.1291952340393357,0.8708047659606638
+6.2,0.1271512055843821,0.8728487944156174
+6.4,0.12536173483009,0.8746382651699096
+6.6,0.1237951112988212,0.8762048887011783
+6.8,0.122423588399298,0.8775764116007015
+7.,0.1212228703375956,0.8787771296624038
+7.2,0.1201716804838922,0.8798283195161071
+7.4,0.1192514012899001,0.8807485987100992
+7.6,0.1184457306461336,0.8815542693538658
+7.8,0.117740392083841,0.8822596079161585
+8.,0.11712289324783,0.8828771067521695
+8.2,0.1165822957408549,0.8834177042591445
+8.4,0.1161090201639564,0.8838909798360431
+8.6,0.1156946841507678,0.8843053158492316
+8.8,0.1153319482503355,0.8846680517496639
+9.,0.1150143847676022,0.8849856152323971
+9.2,0.1147363691316257,0.8852636308683736
+9.4,0.1144929767137034,0.885507023286296
+9.6,0.1142798945899728,0.8857201054100265
+9.8,0.1140933487338499,0.8859066512661495
+10.,0.1139300346499996,0.8860699653499998
diff --git a/models/sbml-test-suite/cases/semantic/00832/00832-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00832/00832-sbml-l2v4.xml
new file mode 100644
index 0000000..dd4054f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00832/00832-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00832" id="case00832" name="case00832">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.59"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00832/00832-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00832/00832-sbml-l3v1.xml
new file mode 100644
index 0000000..2aeab28
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00832/00832-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00832" id="case00832" name="case00832" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.59" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00832/00832-settings.txt b/models/sbml-test-suite/cases/semantic/00832/00832-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00832/00832-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00833/00833-results.csv b/models/sbml-test-suite/cases/semantic/00833/00833-results.csv
new file mode 100644
index 0000000..285892b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00833/00833-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.16,0.9229587434569916,0.4229587434569919,0.07704125654300825
+0.32,0.8632877513811619,0.3632877513811623,0.1367122486188378
+0.48,0.8160760907598575,0.3160760907598581,0.1839239092401421
+0.64,0.7780891335009687,0.2780891335009693,0.2219108664990309
+0.8,0.7471090141890666,0.2471090141890671,0.2528909858109332
+0.96,0.7215639207269927,0.2215639207269932,0.2784360792730071
+1.12,0.7003086784861243,0.2003086784861248,0.2996913215138754
+1.28,0.6824891697255127,0.1824891697255134,0.3175108302744868
+1.44,0.667455467610215,0.1674554676102157,0.3325445323897845
+1.6,0.6547043822000314,0.154704382200032,0.3452956177999682
+1.76,0.6438404332133262,0.1438404332133269,0.3561595667866733
+1.92,0.6345486909500298,0.1345486909500305,0.3654513090499697
+2.08,0.6265754779000039,0.1265754779000044,0.3734245220999957
+2.24,0.6197143778111636,0.1197143778111643,0.3802856221888358
+2.4,0.6137959361072372,0.1137959361072379,0.3862040638927621
+2.56,0.6086799510329041,0.1086799510329048,0.3913200489670953
+2.72,0.6042496195852733,0.1042496195852739,0.3957503804147263
+2.88,0.600407039842524,0.1004070398425246,0.3995929601574757
+3.04,0.5970697088070239,0.09706970880702443,0.4029302911929759
+3.2,0.5941677763250752,0.09416777632507564,0.4058322236749247
+3.36,0.591641849050903,0.09164184905090347,0.4083581509490968
+3.52,0.5894412468024536,0.0894412468024542,0.4105587531975461
+3.68,0.5875225791546484,0.08752257915464893,0.4124774208453514
+3.84,0.58584859122763,0.08584859122763043,0.41415140877237
+4.,0.5843872163139721,0.08438721631397272,0.4156127836860277
+4.16,0.583110791921969,0.08311079192196946,0.416889208078031
+4.32,0.5819954087898685,0.08199540878986891,0.4180045912101315
+4.48,0.5810203643338439,0.08102036433384422,0.4189796356661562
+4.64,0.5801677079052127,0.08016770790521302,0.4198322920947874
+4.8,0.5794218529934357,0.07942185299343601,0.4205781470065644
+4.96,0.5787692500593713,0.07876925005937161,0.4212307499406288
+5.12,0.578198108262297,0.07819810826229732,0.4218018917377031
+5.28,0.5776981580296017,0.07769815802960219,0.4223018419703982
+5.44,0.5772604495089087,0.07726044950890918,0.4227395504910911
+5.6,0.5768771730716756,0.07687717307167608,0.4231228269283243
+5.76,0.5765415157406698,0.07654151574067028,0.4234584842593301
+5.92,0.5762475251526748,0.07624752515267518,0.4237524748473252
+6.08,0.5759900032294422,0.07599000322944267,0.4240099967705577
+6.24,0.5757644047794391,0.07576440477943956,0.4242355952205608
+6.4,0.57556675763754,0.07556675763754051,0.4244332423624599
+6.56,0.5753935860484246,0.07539358604842499,0.4246064139515753
+6.72,0.5752418495856821,0.07524184958568258,0.4247581504143178
+6.88,0.5751088885094923,0.07510888850949283,0.4248911114905076
+7.04,0.5749923737963075,0.07499237379630809,0.4250076262036923
+7.2,0.5748902667694458,0.0748902667694464,0.425109733230554
+7.36,0.5748007830265869,0.0748007830265876,0.4251992169734128
+7.52,0.5747223592941357,0.07472235929413631,0.4252776407058641
+7.68,0.5746536265211083,0.07465362652110893,0.4253463734788914
+7.84,0.5745933860005406,0.07459338600054123,0.4254066139994591
+8.,0.5745405872524718,0.07454058725247234,0.425459412747528
diff --git a/models/sbml-test-suite/cases/semantic/00833/00833-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00833/00833-sbml-l2v4.xml
new file mode 100644
index 0000000..7a4200f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00833/00833-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00833" id="case00833" name="case00833">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.11"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <ci> multiply </ci>
+                  <apply>
+                    <ci> multiply </ci>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00833/00833-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00833/00833-sbml-l3v1.xml
new file mode 100644
index 0000000..e0f3ce9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00833/00833-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00833" id="case00833" name="case00833" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <ci> multiply </ci>
+                  <apply>
+                    <ci> multiply </ci>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00833/00833-settings.txt b/models/sbml-test-suite/cases/semantic/00833/00833-settings.txt
new file mode 100644
index 0000000..ed20bce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00833/00833-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00834/00834-results.csv b/models/sbml-test-suite/cases/semantic/00834/00834-results.csv
new file mode 100644
index 0000000..e03edfe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00834/00834-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.8615126438176059,0.638487356182394,0.1384873561823936
+0.2,0.7441369007776839,0.755863099222316,0.2558630992223158
+0.3,0.6451222245116324,0.8548777754883675,0.3548777754883673
+0.4,0.5619279625522714,0.9380720374477286,0.4380720374477285
+0.5,0.4922596496419127,1.007740350358087,0.507740350358087
+0.6,0.4340813384642038,1.065918661535796,0.5659186615357959
+0.7,0.3856115630448358,1.114388436955164,0.6143884369551639
+0.8,0.3453088250354574,1.154691174964543,0.6546911749645423
+0.9,0.3118512780627298,1.18814872193727,0.6881487219372698
+1.,0.2841136679450215,1.215886332054978,0.715886332054978
+1.1,0.2611437470031959,1.238856252996804,0.7388562529968038
+1.2,0.2421395837616408,1.257860416238359,0.7578604162383589
+1.3,0.226428517931588,1.273571482068412,0.7735714820684118
+1.4,0.2134481126609808,1.28655188733902,0.7865518873390189
+1.5,0.2027293762631625,1.297270623736838,0.7972706237368371
+1.6,0.1938820460521207,1.30611795394788,0.8061179539478787
+1.7,0.1865820019652272,1.313417998034774,0.8134179980347722
+1.8,0.1805604009689611,1.319439599031039,0.8194395990310383
+1.9,0.1755945616106864,1.324405438389314,0.8244054383893131
+2.,0.171500196956185,1.328499803043816,0.8284998030438144
+2.1,0.1681249244282416,1.331875075571759,0.8318750755717578
+2.2,0.1653428270768144,1.334657172923187,0.8346571729231852
+2.3,0.1630499149358624,1.336950085064139,0.8369500850641371
+2.4,0.1611603484690088,1.338839651530992,0.8388396515309906
+2.5,0.1596032938433939,1.340396706156607,0.8403967061566055
+2.6,0.1583203186091486,1.341679681390853,0.8416796813908507
+2.7,0.1572632327668765,1.342736767233125,0.8427367672331229
+2.8,0.1563923017366304,1.343607698263371,0.8436076982633691
+2.9,0.1556747684300507,1.344325231569951,0.8443252315699487
+3.,0.1550836318275157,1.344916368172486,0.8449163681724836
+3.1,0.1545966381303603,1.345403361869641,0.8454033618696391
+3.2,0.1541954478909091,1.345804552109092,0.8458045521090904
+3.3,0.1538649486944494,1.346135051305551,0.84613505130555
+3.4,0.153592688148085,1.346407311851916,0.8464073118519144
+3.5,0.1533684062615771,1.346631593738424,0.8466315937384224
+3.6,0.1531836497742551,1.346816350225746,0.8468163502257445
+3.7,0.1530314541087877,1.346968545891213,0.8469685458912119
+3.8,0.1529060820051048,1.347093917994896,0.8470939179948947
+3.9,0.1528028062569802,1.347197193743021,0.8471971937430194
+4.,0.1527177326136477,1.347282267386353,0.8472822673863519
+4.1,0.1526476534721968,1.347352346527804,0.8473523465278027
+4.2,0.152589926250502,1.347410073749499,0.8474100737494976
+4.3,0.1525423736495663,1.347457626350435,0.8474576263504333
+4.4,0.1525032027205462,1.347496797279455,0.8474967972794533
+4.5,0.1524709360174261,1.347529063982575,0.8475290639825734
+4.6,0.1524443566187362,1.347555643381265,0.8475556433812633
+4.7,0.1524224622343577,1.347577537765643,0.8475775377656418
+4.8,0.1524044268846967,1.347595573115304,0.8475955731153027
+4.9,0.1523895705856628,1.347610429414339,0.8476104294143368
+5.,0.1523773329138312,1.34762266708617,0.8476226670861684
diff --git a/models/sbml-test-suite/cases/semantic/00834/00834-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00834/00834-sbml-l2v4.xml
new file mode 100644
index 0000000..49ba12e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00834/00834-sbml-l2v4.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00834" id="case00834" name="case00834">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="minus" name="minus">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> minus </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00834/00834-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00834/00834-sbml-l3v1.xml
new file mode 100644
index 0000000..8aaec13
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00834/00834-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00834" id="case00834" name="case00834" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="minus" name="minus">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> minus </ci>
+                <apply>
+                  <ci> multiply </ci>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00834/00834-settings.txt b/models/sbml-test-suite/cases/semantic/00834/00834-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00834/00834-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00835/00835-results.csv b/models/sbml-test-suite/cases/semantic/00835/00835-results.csv
new file mode 100644
index 0000000..729e07f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00835/00835-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.9494255794801914,0.4494255794801911,0.05057442051980889
+0.2,0.9064645346409043,0.4064645346409041,0.09353546535909597
+0.3,0.8696221973403461,0.3696221973403458,0.1303778026596542
+0.4,0.837768668416168,0.3377686684161677,0.1622313315838322
+0.5,0.8100338586497422,0.3100338586497418,0.1899661413502581
+0.6,0.7857368097117591,0.2857368097117588,0.214263190288241
+0.7,0.7643368991877602,0.2643368991877598,0.23566310081224
+0.8,0.745399430992763,0.2453994309927627,0.2546005690072372
+0.9,0.7285708727155042,0.2285708727155038,0.2714291272844959
+1.,0.7135607449682854,0.2135607449682851,0.2864392550317146
+1.1,0.7001281551138195,0.200128155113819,0.2998718448861807
+1.2,0.6880716385294087,0.1880716385294082,0.3119283614705916
+1.3,0.6772214178045081,0.1772214178045075,0.3227785821954922
+1.4,0.6674334125830857,0.1674334125830851,0.3325665874169146
+1.5,0.6585845577885306,0.1585845577885299,0.3414154422114699
+1.6,0.6505691257472551,0.1505691257472544,0.3494308742527453
+1.7,0.6432957795646377,0.1432957795646371,0.3567042204353627
+1.8,0.6366852274857909,0.1366852274857902,0.3633147725142094
+1.9,0.630668313454578,0.1306683134545774,0.3693316865454223
+2.,0.6251844605317147,0.1251844605317142,0.3748155394682856
+2.1,0.6201803995637955,0.120180399563795,0.3798196004362047
+2.2,0.615609115107369,0.1156091151073684,0.3843908848926312
+2.3,0.6114289697391045,0.1114289697391039,0.3885710302608956
+2.4,0.6076029747342909,0.1076029747342902,0.3923970252657094
+2.5,0.6040981729285542,0.1040981729285535,0.3959018270714461
+2.6,0.6008851193163851,0.1008851193163844,0.3991148806836152
+2.7,0.5979374419414939,0.09793744194149323,0.4020625580585064
+2.8,0.595231466781812,0.09523146678181128,0.4047685332181884
+2.9,0.5927458940630976,0.09274589406309694,0.4072541059369027
+3.,0.5904615198658586,0.09046151986585789,0.4095384801341417
+3.1,0.5883610033592937,0.08836100335929314,0.4116389966407064
+3.2,0.5864286508733929,0.08642865087339232,0.4135713491266073
+3.3,0.5846502442062562,0.08465024420625555,0.4153497557937441
+3.4,0.5830128764921798,0.08301287649217924,0.4169871235078204
+3.5,0.581504819293974,0.08150481929397346,0.4184951807060262
+3.6,0.5801153982812329,0.08011539828123236,0.4198846017187673
+3.7,0.5788348900701695,0.07883489007016897,0.4211651099298308
+3.8,0.5776544232306821,0.07765442323068157,0.4223455767693182
+3.9,0.5765658987094429,0.07656589870944231,0.4234341012905575
+4.,0.5755619159020228,0.07556191590202221,0.4244380840979776
+4.1,0.5746357034115469,0.07463570341154615,0.4253642965884537
+4.2,0.573781062090809,0.07378106209080839,0.4262189379091915
+4.3,0.572992313515759,0.0729923135157585,0.4270076864842413
+4.4,0.5722642513885463,0.07226425138854579,0.427735748611454
+4.5,0.5715920982968794,0.07159209829687888,0.4284079017031209
+4.6,0.5709714689156221,0.07097146891562164,0.4290285310843781
+4.7,0.570398335255548,0.07039833525554753,0.4296016647444522
+4.8,0.5698689957940575,0.06986899579405705,0.4301310042059427
+4.9,0.569380047454697,0.06938004745469661,0.4306199525453031
+5.,0.5689283594113548,0.06892835941135437,0.4310716405886453
diff --git a/models/sbml-test-suite/cases/semantic/00835/00835-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00835/00835-sbml-l2v4.xml
new file mode 100644
index 0000000..459df30
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00835/00835-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00835" id="case00835" name="case00835">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00835/00835-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00835/00835-sbml-l3v1.xml
new file mode 100644
index 0000000..82619b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00835/00835-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00835" id="case00835" name="case00835" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00835/00835-settings.txt b/models/sbml-test-suite/cases/semantic/00835/00835-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00835/00835-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00836/00836-results.csv b/models/sbml-test-suite/cases/semantic/00836/00836-results.csv
new file mode 100644
index 0000000..215f8b9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00836/00836-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.16,0.9228405801437049,0.4228405801437048,0.07715941985629527
+0.32,0.8628834426659975,0.3628834426659973,0.1371165573340026
+0.48,0.8152862880754407,0.3152862880754404,0.1847137119245595
+0.64,0.7768556011371181,0.2768556011371177,0.2231443988628822
+0.8,0.745399430992763,0.2453994309927627,0.2546005690072372
+0.96,0.7193629821149248,0.2193629821149245,0.2806370178850752
+1.12,0.6976126118372334,0.1976126118372329,0.3023873881627668
+1.28,0.6793022038744743,0.1793022038744738,0.320697796125526
+1.44,0.6637874475355404,0.1637874475355398,0.33621255246446
+1.6,0.6505691257472551,0.1505691257472544,0.3494308742527453
+1.76,0.6392545468894025,0.1392545468894019,0.3607454531105978
+1.92,0.6295307015411671,0.1295307015411665,0.3704692984588332
+2.08,0.621145167873466,0.1211451678734655,0.3788548321265342
+2.24,0.6138922886130385,0.1138922886130379,0.3861077113869617
+2.4,0.6076029747342909,0.1076029747342902,0.3923970252657094
+2.56,0.6021370826189522,0.1021370826189515,0.3978629173810481
+2.72,0.5973776250826029,0.09737762508260218,0.4026223749173975
+2.88,0.5932263260660724,0.09322632606607168,0.4067736739339279
+3.04,0.5896001643139148,0.08960016431391415,0.4103998356860855
+3.2,0.5864286508733929,0.08642865087339232,0.4135713491266073
+3.36,0.5836516746138797,0.08365167461387919,0.4163483253861204
+3.52,0.5812177679909623,0.08121776799096185,0.4187822320090378
+3.68,0.5790827158027123,0.07908271580271181,0.4209172841972879
+3.84,0.5772084094525126,0.07720840945251199,0.4227915905474878
+4.,0.5755619159020228,0.07556191590202221,0.4244380840979776
+4.16,0.5741147046451594,0.07411470464515876,0.4258852953548411
+4.32,0.5728420053718552,0.07284200537185471,0.4271579946281451
+4.48,0.571722271727322,0.07172227172732155,0.4282777282726782
+4.64,0.5707367297729324,0.07073672977293196,0.4292632702270678
+4.8,0.5698689957940575,0.06986899579405705,0.4301310042059427
+4.96,0.569104753161606,0.06910475316160555,0.4308952468383942
+5.12,0.5684314770180706,0.06843147701807009,0.4315685229819297
+5.28,0.5678381988582296,0.06783819885822908,0.4321618011417706
+5.44,0.5673153048218131,0.06731530482181258,0.4326846951781871
+5.6,0.566854358434863,0.06685435843486262,0.433145641565137
+5.76,0.566447955920312,0.06644795592031153,0.4335520440796882
+5.92,0.5660895904060562,0.06608959040605577,0.433910409593944
+6.08,0.5657735451113702,0.06577354511136983,0.4342264548886299
+6.24,0.5654947899647307,0.06549478996473032,0.4345052100352694
+6.4,0.565248902280204,0.06524890228020352,0.4347510977197963
+6.56,0.5650319872169602,0.0650319872169597,0.4349680127830401
+6.72,0.5648406159676328,0.06484061596763227,0.4351593840323675
+6.88,0.5646717697543068,0.06467176975430637,0.4353282302456933
+7.04,0.5645227883366071,0.06452278833660664,0.435477211663393
+7.2,0.5643913272263778,0.0643913272263773,0.4356086727736224
+7.36,0.5642753210092091,0.06427532100920867,0.435724678990791
+7.52,0.5641729486890769,0.06417294868907637,0.4358270513109233
+7.68,0.5640826044113952,0.06408260441139469,0.4359173955886049
+7.84,0.5640028724214929,0.06400287242149235,0.4359971275785072
+8.,0.5639325043291322,0.0639325043291317,0.436067495670868
diff --git a/models/sbml-test-suite/cases/semantic/00836/00836-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00836/00836-sbml-l2v4.xml
new file mode 100644
index 0000000..88a39fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00836/00836-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00836" id="case00836" name="case00836">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00836/00836-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00836/00836-sbml-l3v1.xml
new file mode 100644
index 0000000..67b0ebe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00836/00836-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00836" id="case00836" name="case00836" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00836/00836-settings.txt b/models/sbml-test-suite/cases/semantic/00836/00836-settings.txt
new file mode 100644
index 0000000..ed20bce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00836/00836-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00837/00837-results.csv b/models/sbml-test-suite/cases/semantic/00837/00837-results.csv
new file mode 100644
index 0000000..73071d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00837/00837-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.2,0.9064645346409043,0.4064645346409041,0.09353546535909597
+0.4,0.837768668416168,0.3377686684161677,0.1622313315838322
+0.6,0.7857368097117591,0.2857368097117588,0.214263190288241
+0.8,0.745399430992763,0.2453994309927627,0.2546005690072372
+1.,0.7135607449682854,0.2135607449682851,0.2864392550317146
+1.2,0.6880716385294087,0.1880716385294082,0.3119283614705916
+1.4,0.6674334125830857,0.1674334125830851,0.3325665874169146
+1.6,0.6505691257472551,0.1505691257472544,0.3494308742527453
+1.8,0.6366852274857909,0.1366852274857902,0.3633147725142094
+2.,0.6251844605317147,0.1251844605317142,0.3748155394682856
+2.2,0.615609115107369,0.1156091151073684,0.3843908848926312
+2.4,0.6076029747342909,0.1076029747342902,0.3923970252657094
+2.6,0.6008851193163851,0.1008851193163844,0.3991148806836152
+2.8,0.595231466781812,0.09523146678181128,0.4047685332181884
+3.,0.5904615198658586,0.09046151986585789,0.4095384801341417
+3.2,0.5864286508733929,0.08642865087339232,0.4135713491266073
+3.4,0.5830128764921798,0.08301287649217924,0.4169871235078204
+3.6,0.5801153982812329,0.08011539828123236,0.4198846017187673
+3.8,0.5776544232306821,0.07765442323068157,0.4223455767693182
+4.,0.5755619159020228,0.07556191590202221,0.4244380840979776
+4.2,0.573781062090809,0.07378106209080839,0.4262189379091915
+4.4,0.5722642513885463,0.07226425138854579,0.427735748611454
+4.6,0.5709714689156221,0.07097146891562164,0.4290285310843781
+4.8,0.5698689957940575,0.06986899579405705,0.4301310042059427
+5.,0.5689283590451259,0.06892835904512546,0.4310716409548743
+5.2,0.568125468409091,0.06812546840909053,0.4318745315909092
+5.4,0.5674399095194768,0.06743990951947634,0.4325600904805234
+5.6,0.566854358434863,0.06685435843486262,0.433145641565137
+5.8,0.5663540968173325,0.06635409681733202,0.4336459031826677
+6.,0.5659266071883154,0.06592660718831504,0.4340733928116847
+6.2,0.5655612345007755,0.06556123450077504,0.4344387654992247
+6.4,0.565248902280204,0.06524890228020352,0.4347510977197963
+6.6,0.5649818739294438,0.06498187392944339,0.4350181260705564
+6.8,0.564753551666755,0.06475355166675445,0.4352464483332453
+7.,0.5645583044339713,0.06455830443397084,0.4354416955660289
+7.2,0.5643913272263778,0.0643913272263773,0.4356086727736224
+7.4,0.5642485160900182,0.06424851609001777,0.4357514839099819
+7.6,0.5641263655419253,0.06412636554192478,0.4358736344580749
+7.8,0.5640218815013897,0.06402188150138928,0.4359781184986104
+8.,0.5639325042038095,0.06393250420380906,0.4360674957961905
+8.2,0.5638560468630666,0.06385604686306611,0.4361439531369336
+8.4,0.5637906393610657,0.06379063936106535,0.4362093606389344
+8.6,0.563734683226023,0.06373468322602254,0.4362653167739771
+8.8,0.5636868115884714,0.06368681158847103,0.4363131884115286
+9.,0.5636458554120057,0.06364585541200543,0.4363541445879942
+9.2,0.5636108152403256,0.06361081524032531,0.4363891847596743
+9.4,0.5635808358786997,0.06358083587869949,0.4364191641213002
+9.6,0.5635551862126798,0.06355518621267941,0.4364448137873203
+9.8,0.563533240585486,0.06353324058548559,0.4364667594145141
+10.,0.5635144639882953,0.06351446398829473,0.4364855360117049
diff --git a/models/sbml-test-suite/cases/semantic/00837/00837-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00837/00837-sbml-l2v4.xml
new file mode 100644
index 0000000..03cab27
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00837/00837-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00837" id="case00837" name="case00837">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00837/00837-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00837/00837-sbml-l3v1.xml
new file mode 100644
index 0000000..545f9ed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00837/00837-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00837" id="case00837" name="case00837" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00837/00837-settings.txt b/models/sbml-test-suite/cases/semantic/00837/00837-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00837/00837-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00838/00838-results.csv b/models/sbml-test-suite/cases/semantic/00838/00838-results.csv
new file mode 100644
index 0000000..2fd3cbd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00838/00838-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.8611916481236175,0.6388083518763824,0.1388083518763821
+0.12,0.742818188707881,0.7571818112921189,0.2571818112921184
+0.18,0.6421587466200794,0.8578412533799205,0.3578412533799201
+0.24,0.5567698660893156,0.9432301339106843,0.4432301339106841
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784
+0.36,0.423396611695567,1.076603388304433,0.5766033883044325
+0.42,0.3718491604228449,1.128150839577155,0.6281508395771547
+0.48,0.3284057339127614,1.171594266087238,0.6715942660872382
+0.54,0.2918305953106844,1.208169404689316,0.7081694046893153
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048
+0.66,0.2352054618966362,1.264794538103364,0.7647945381033636
+0.72,0.2134831034919577,1.286516896508043,0.7865168965080421
+0.78,0.1952455977991957,1.304754402200804,0.8047544022008041
+0.84,0.1799406307183346,1.320059369281665,0.8200593692816653
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173
+0.96,0.1563339731541778,1.343666026845822,0.8436660268458219
+1.02,0.1473064003611048,1.352693599638895,0.8526935996388949
+1.08,0.1397391890453404,1.360260810954659,0.8602608109546594
+1.14,0.1333972563400889,1.366602743659911,0.8666027436599108
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788
+1.26,0.1236305134734752,1.376369486526525,0.8763694865265245
+1.32,0.1199004104073578,1.380099589592642,0.880099589592642
+1.38,0.1167757792592841,1.383224220740715,0.8832242207407158
+1.44,0.1141585356482175,1.385841464351782,0.8858414643517822
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567
+1.56,0.1101304979990865,1.389869502000913,0.8898695020009133
+1.62,0.1085929404689462,1.391407059531053,0.8914070595310535
+1.68,0.1073053121259106,1.392694687874089,0.8926946878740892
+1.74,0.1062270187403269,1.393772981259673,0.8937729812596729
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277
+1.86,0.1045679230421565,1.395432076957843,0.8954320769578433
+1.92,0.103934763790581,1.396065236209419,0.8960652362094186
+1.98,0.1034045831933456,1.396595416806654,0.896595416806654
+2.04,0.1029606381511902,1.39703936184881,0.8970393618488093
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692
+2.16,0.1022776455050206,1.397722354494979,0.8977223544949789
+2.22,0.1020170191696785,1.397982980830321,0.8979829808303211
+2.28,0.1017987917516301,1.39820120824837,0.8982012082483694
+2.34,0.1016160669908156,1.398383933009184,0.898383933009184
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076
+2.46,0.1013349644977458,1.398665035502254,0.8986650355022538
+2.52,0.1012277011915454,1.398772298808455,0.8987722988084542
+2.58,0.1011378893337681,1.398862110666232,0.8988621106662315
+2.64,0.1010626899097442,1.398937310090256,0.8989373100902554
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379
+2.76,0.1009470057227274,1.399052994277273,0.8990529942772722
+2.82,0.1009028634667915,1.399097136533209,0.8990971365332081
+2.88,0.1008659034395489,1.399134096560451,0.8991340965604509
+2.94,0.1008349570163807,1.399165042983619,0.8991650429836192
+3.,0.1008090457514055,1.399190954248594,0.8991909542485944
diff --git a/models/sbml-test-suite/cases/semantic/00838/00838-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00838/00838-sbml-l1v2.xml
new file mode 100644
index 0000000..ddd7b85
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00838/00838-sbml-l1v2.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00838">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="2.5" name="kf"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00838/00838-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00838/00838-sbml-l2v4.xml
new file mode 100644
index 0000000..7a30d3a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00838/00838-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00838" id="case00838" name="case00838">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" constant="false"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="kf">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 2.5 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00838/00838-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00838/00838-sbml-l3v1.xml
new file mode 100644
index 0000000..5aab4ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00838/00838-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00838" id="case00838" name="case00838" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" constant="false"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="kf">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 2.5 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00838/00838-settings.txt b/models/sbml-test-suite/cases/semantic/00838/00838-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00838/00838-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00839/00839-results.csv b/models/sbml-test-suite/cases/semantic/00839/00839-results.csv
new file mode 100644
index 0000000..9215625
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00839/00839-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0.5,0,0.5
+0.06,0.8611916481236175,0.6388083518763824,0.1388083518763821,0.4305958240618088
+0.12,0.742818188707881,0.7571818112921189,0.2571818112921184,0.3714090943539405
+0.18,0.6421587466200794,0.8578412533799205,0.3578412533799201,0.3210793733100397
+0.24,0.5567698660893156,0.9432301339106843,0.4432301339106841,0.2783849330446578
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784,0.2422419274476078
+0.36,0.423396611695567,1.076603388304433,0.5766033883044325,0.2116983058477835
+0.42,0.3718491604228449,1.128150839577155,0.6281508395771547,0.1859245802114224
+0.48,0.3284057339127614,1.171594266087238,0.6715942660872382,0.1642028669563807
+0.54,0.2918305953106844,1.208169404689316,0.7081694046893153,0.1459152976553422
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048,0.1305325229856974
+0.66,0.2352054618966362,1.264794538103364,0.7647945381033636,0.1176027309483181
+0.72,0.2134831034919577,1.286516896508043,0.7865168965080421,0.1067415517459788
+0.78,0.1952455977991957,1.304754402200804,0.8047544022008041,0.09762279889959786
+0.84,0.1799406307183346,1.320059369281665,0.8200593692816653,0.0899703153591673
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173,0.08355069648719132
+0.96,0.1563339731541778,1.343666026845822,0.8436660268458219,0.07816698657708894
+1.02,0.1473064003611048,1.352693599638895,0.8526935996388949,0.0736532001805524
+1.08,0.1397391890453404,1.360260810954659,0.8602608109546594,0.0698695945226702
+1.14,0.1333972563400889,1.366602743659911,0.8666027436599108,0.06669862817004448
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788,0.06404150979631041
+1.26,0.1236305134734752,1.376369486526525,0.8763694865265245,0.06181525673673762
+1.32,0.1199004104073578,1.380099589592642,0.880099589592642,0.05995020520367892
+1.38,0.1167757792592841,1.383224220740715,0.8832242207407158,0.05838788962964206
+1.44,0.1141585356482175,1.385841464351782,0.8858414643517822,0.05707926782410877
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567,0.05598321421662153
+1.56,0.1101304979990865,1.389869502000913,0.8898695020009133,0.05506524899954327
+1.62,0.1085929404689462,1.391407059531053,0.8914070595310535,0.0542964702344731
+1.68,0.1073053121259106,1.392694687874089,0.8926946878740892,0.05365265606295532
+1.74,0.1062270187403269,1.393772981259673,0.8937729812596729,0.05311350937016346
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277,0.05266202622433605
+1.86,0.1045679230421565,1.395432076957843,0.8954320769578433,0.05228396152107829
+1.92,0.103934763790581,1.396065236209419,0.8960652362094186,0.05196738189529052
+1.98,0.1034045831933456,1.396595416806654,0.896595416806654,0.05170229159667284
+2.04,0.1029606381511902,1.39703936184881,0.8970393618488093,0.05148031907559511
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692,0.05129445340456523
+2.16,0.1022776455050206,1.397722354494979,0.8977223544949789,0.05113882275251034
+2.22,0.1020170191696785,1.397982980830321,0.8979829808303211,0.05100850958483927
+2.28,0.1017987917516301,1.39820120824837,0.8982012082483694,0.05089939587581507
+2.34,0.1016160669908156,1.398383933009184,0.898383933009184,0.0508080334954078
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076,0.05073153495649602
+2.46,0.1013349644977458,1.398665035502254,0.8986650355022538,0.05066748224887293
+2.52,0.1012277011915454,1.398772298808455,0.8987722988084542,0.05061385059577272
+2.58,0.1011378893337681,1.398862110666232,0.8988621106662315,0.05056894466688405
+2.64,0.1010626899097442,1.398937310090256,0.8989373100902554,0.05053134495487214
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379,0.0504998627963309
+2.76,0.1009470057227274,1.399052994277273,0.8990529942772722,0.05047350286136373
+2.82,0.1009028634667915,1.399097136533209,0.8990971365332081,0.05045143173339578
+2.88,0.1008659034395489,1.399134096560451,0.8991340965604509,0.05043295171977445
+2.94,0.1008349570163807,1.399165042983619,0.8991650429836192,0.05041747850819035
+3.,0.1008090457514055,1.399190954248594,0.8991909542485944,0.05040452287570278
diff --git a/models/sbml-test-suite/cases/semantic/00839/00839-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00839/00839-sbml-l1v2.xml
new file mode 100644
index 0000000..1be6beb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00839/00839-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00839">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.5 * S1" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00839/00839-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00839/00839-sbml-l2v4.xml
new file mode 100644
index 0000000..432d494
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00839/00839-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00839" id="case00839" name="case00839">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00839/00839-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00839/00839-sbml-l3v1.xml
new file mode 100644
index 0000000..1fbd2ab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00839/00839-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00839" id="case00839" name="case00839" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00839/00839-settings.txt b/models/sbml-test-suite/cases/semantic/00839/00839-settings.txt
new file mode 100644
index 0000000..d8011d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00839/00839-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00840/00840-results.csv b/models/sbml-test-suite/cases/semantic/00840/00840-results.csv
new file mode 100644
index 0000000..afafa8d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00840/00840-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0.5,0,0.5
+0.1,0.7801790747220285,0.7198209252779714,0.2198209252779709,0.3900895373610142
+0.2,0.6121116963789492,0.8878883036210507,0.3878883036210504,0.3060558481894746
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784,0.2422419274476078
+0.4,0.3880646348602712,1.111935365139728,0.6119353651397283,0.1940323174301356
+0.5,0.3155065934670892,1.184493406532911,0.6844934065329104,0.1577532967335446
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048,0.1305325229856974
+0.7,0.2203066768115224,1.279693323188478,0.7796933231884773,0.1101533384057612
+0.8,0.1898427909551363,1.310157209044864,0.8101572090448636,0.09492139547756817
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173,0.08355069648719132
+1.,0.150140515363472,1.349859484636528,0.8498594846365277,0.07507025768173604
+1.1,0.1374995341824785,1.362500465817521,0.8625004658175212,0.06874976709123929
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788,0.06404150979631041
+1.3,0.1210711462304827,1.378928853769517,0.8789288537695171,0.06053557311524135
+1.4,0.1158513466263468,1.384148653373653,0.8841486533736531,0.0579256733131734
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567,0.05598321421662153
+1.6,0.1090754722842808,1.390924527715719,0.890924527715719,0.0545377361421404
+1.7,0.1069244240624349,1.393075575937565,0.8930755759375649,0.05346221203121747
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277,0.05266202622433605
+1.9,0.1041334594443718,1.395866540555628,0.8958665405556279,0.0520667297221859
+2.,0.1032477631469481,1.396752236853052,0.8967522368530515,0.05162388157347407
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692,0.05129445340456523
+2.2,0.1020988064560762,1.397901193543924,0.8979011935439233,0.05104940322803813
+2.3,0.101734245069293,1.398265754930707,0.8982657549307065,0.05086712253464652
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076,0.05073153495649602
+2.5,0.1012613613416976,1.398738638658302,0.898738638658302,0.05063068067084881
+2.6,0.1011113254183241,1.398888674581676,0.8988886745816756,0.05055566270916205
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379,0.0504998627963309
+2.8,0.1009167157011023,1.399083284298898,0.8990832842988972,0.05045835785055118
+2.9,0.100854971702119,1.399145028297881,0.8991450282978807,0.05042748585105952
+3.,0.1008090456985285,1.399190954301471,0.8991909543014713,0.05040452284926428
+3.1,0.1007748854718443,1.399225114528156,0.8992251145281555,0.05038744273592216
+3.2,0.1007494766411436,1.399250523358856,0.8992505233588563,0.0503747383205718
+3.3,0.1007305773648939,1.399269422635106,0.899269422635106,0.05036528868244698
+3.4,0.1007165199256037,1.399283480074396,0.899283480074396,0.05035825996280186
+3.5,0.1007060638721755,1.399293936127824,0.8992939361278243,0.05035303193608777
+3.6,0.1006982865587182,1.399301713441282,0.8993017134412816,0.05034914327935913
+3.7,0.1006925017316733,1.399307498268327,0.8993074982683265,0.05034625086583665
+3.8,0.1006881989303313,1.399311801069669,0.8993118010696685,0.05034409946516567
+3.9,0.1006849984723328,1.399315001527667,0.899315001527667,0.05034249923616643
+4.,0.1006826179464744,1.399317382053526,0.8993173820535256,0.0503413089732372
+4.1,0.1006808472928433,1.399319152707157,0.8993191527071566,0.05034042364642168
+4.2,0.100679530267059,1.399320469732941,0.8993204697329412,0.0503397651335295
+4.3,0.1006785506532387,1.399321449346761,0.8993214493467613,0.05033927532661938
+4.4,0.1006778220090586,1.399322177990941,0.8993221779909415,0.05033891100452934
+4.5,0.100677280038026,1.399322719961974,0.8993227199619741,0.05033864001901304
+4.6,0.1006768769159033,1.399323123084097,0.8993231230840969,0.05033843845795164
+4.7,0.1006765770696654,1.399323422930335,0.8993234229303348,0.0503382885348327
+4.8,0.1006763540428806,1.399323645957119,0.8993236459571195,0.05033817702144034
+4.9,0.1006761881543798,1.39932381184562,0.8993238118456203,0.05033809407718994
+5.,0.1006760647649644,1.399323935235036,0.8993239352350358,0.05033803238248223
diff --git a/models/sbml-test-suite/cases/semantic/00840/00840-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00840/00840-sbml-l1v2.xml
new file mode 100644
index 0000000..d86529e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00840/00840-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00840">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.5 * S1" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00840/00840-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00840/00840-sbml-l2v4.xml
new file mode 100644
index 0000000..a6baabb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00840/00840-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00840" id="case00840" name="case00840">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00840/00840-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00840/00840-sbml-l3v1.xml
new file mode 100644
index 0000000..bb85256
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00840/00840-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00840" id="case00840" name="case00840" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00840/00840-settings.txt b/models/sbml-test-suite/cases/semantic/00840/00840-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00840/00840-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00841/00841-results.csv b/models/sbml-test-suite/cases/semantic/00841/00841-results.csv
new file mode 100644
index 0000000..afafa8d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00841/00841-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0.5,0,0.5
+0.1,0.7801790747220285,0.7198209252779714,0.2198209252779709,0.3900895373610142
+0.2,0.6121116963789492,0.8878883036210507,0.3878883036210504,0.3060558481894746
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784,0.2422419274476078
+0.4,0.3880646348602712,1.111935365139728,0.6119353651397283,0.1940323174301356
+0.5,0.3155065934670892,1.184493406532911,0.6844934065329104,0.1577532967335446
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048,0.1305325229856974
+0.7,0.2203066768115224,1.279693323188478,0.7796933231884773,0.1101533384057612
+0.8,0.1898427909551363,1.310157209044864,0.8101572090448636,0.09492139547756817
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173,0.08355069648719132
+1.,0.150140515363472,1.349859484636528,0.8498594846365277,0.07507025768173604
+1.1,0.1374995341824785,1.362500465817521,0.8625004658175212,0.06874976709123929
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788,0.06404150979631041
+1.3,0.1210711462304827,1.378928853769517,0.8789288537695171,0.06053557311524135
+1.4,0.1158513466263468,1.384148653373653,0.8841486533736531,0.0579256733131734
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567,0.05598321421662153
+1.6,0.1090754722842808,1.390924527715719,0.890924527715719,0.0545377361421404
+1.7,0.1069244240624349,1.393075575937565,0.8930755759375649,0.05346221203121747
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277,0.05266202622433605
+1.9,0.1041334594443718,1.395866540555628,0.8958665405556279,0.0520667297221859
+2.,0.1032477631469481,1.396752236853052,0.8967522368530515,0.05162388157347407
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692,0.05129445340456523
+2.2,0.1020988064560762,1.397901193543924,0.8979011935439233,0.05104940322803813
+2.3,0.101734245069293,1.398265754930707,0.8982657549307065,0.05086712253464652
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076,0.05073153495649602
+2.5,0.1012613613416976,1.398738638658302,0.898738638658302,0.05063068067084881
+2.6,0.1011113254183241,1.398888674581676,0.8988886745816756,0.05055566270916205
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379,0.0504998627963309
+2.8,0.1009167157011023,1.399083284298898,0.8990832842988972,0.05045835785055118
+2.9,0.100854971702119,1.399145028297881,0.8991450282978807,0.05042748585105952
+3.,0.1008090456985285,1.399190954301471,0.8991909543014713,0.05040452284926428
+3.1,0.1007748854718443,1.399225114528156,0.8992251145281555,0.05038744273592216
+3.2,0.1007494766411436,1.399250523358856,0.8992505233588563,0.0503747383205718
+3.3,0.1007305773648939,1.399269422635106,0.899269422635106,0.05036528868244698
+3.4,0.1007165199256037,1.399283480074396,0.899283480074396,0.05035825996280186
+3.5,0.1007060638721755,1.399293936127824,0.8992939361278243,0.05035303193608777
+3.6,0.1006982865587182,1.399301713441282,0.8993017134412816,0.05034914327935913
+3.7,0.1006925017316733,1.399307498268327,0.8993074982683265,0.05034625086583665
+3.8,0.1006881989303313,1.399311801069669,0.8993118010696685,0.05034409946516567
+3.9,0.1006849984723328,1.399315001527667,0.899315001527667,0.05034249923616643
+4.,0.1006826179464744,1.399317382053526,0.8993173820535256,0.0503413089732372
+4.1,0.1006808472928433,1.399319152707157,0.8993191527071566,0.05034042364642168
+4.2,0.100679530267059,1.399320469732941,0.8993204697329412,0.0503397651335295
+4.3,0.1006785506532387,1.399321449346761,0.8993214493467613,0.05033927532661938
+4.4,0.1006778220090586,1.399322177990941,0.8993221779909415,0.05033891100452934
+4.5,0.100677280038026,1.399322719961974,0.8993227199619741,0.05033864001901304
+4.6,0.1006768769159033,1.399323123084097,0.8993231230840969,0.05033843845795164
+4.7,0.1006765770696654,1.399323422930335,0.8993234229303348,0.0503382885348327
+4.8,0.1006763540428806,1.399323645957119,0.8993236459571195,0.05033817702144034
+4.9,0.1006761881543798,1.39932381184562,0.8993238118456203,0.05033809407718994
+5.,0.1006760647649644,1.399323935235036,0.8993239352350358,0.05033803238248223
diff --git a/models/sbml-test-suite/cases/semantic/00841/00841-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00841/00841-sbml-l1v2.xml
new file mode 100644
index 0000000..457c7d0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00841/00841-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00841">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="-0.5 * (kf * S1 + -1 * kr * S2 * S3)" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00841/00841-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00841/00841-sbml-l2v4.xml
new file mode 100644
index 0000000..89d7a5f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00841/00841-sbml-l2v4.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00841" id="case00841" name="case00841">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <ci> kf </ci>
+                <ci> S1 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> kr </ci>
+                <ci> S2 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00841/00841-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00841/00841-sbml-l3v1.xml
new file mode 100644
index 0000000..7368221
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00841/00841-sbml-l3v1.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00841" id="case00841" name="case00841" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <ci> kf </ci>
+                <ci> S1 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> kr </ci>
+                <ci> S2 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00841/00841-settings.txt b/models/sbml-test-suite/cases/semantic/00841/00841-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00841/00841-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00842/00842-results.csv b/models/sbml-test-suite/cases/semantic/00842/00842-results.csv
new file mode 100644
index 0000000..c563a55
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00842/00842-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0.5,0,0.5
+0.1,0.7801790747220285,0.7198209252779714,0.2198209252779709,0.4557375487840984
+0.2,0.6121116963789492,0.8878883036210507,0.3878883036210504,0.4211207135927536
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784,0.3938535566649621
+0.4,0.3880646348602712,1.111935365139728,0.6119353651397283,0.3721532353908088
+0.5,0.3155065934670892,1.184493406532911,0.6844934065329104,0.3546502975515459
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048,0.3403013614555225
+0.7,0.2203066768115224,1.279693323188478,0.7796933231884773,0.3283163173859176
+0.8,0.1898427909551363,1.310157209044864,0.8101572090448636,0.3180995697322399
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173,0.3092036774136737
+1.,0.150140515363472,1.349859484636528,0.8498594846365277,0.3012933537281957
+1.1,0.1374995341824785,1.362500465817521,0.8625004658175212,0.2941178283141694
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788,0.2874898104658963
+1.3,0.1210711462304827,1.378928853769517,0.8789288537695171,0.2812695626208534
+1.4,0.1158513466263468,1.384148653373653,0.8841486533736531,0.2753529128061207
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567,0.2696622439738466
+1.6,0.1090754722842808,1.390924527715719,0.890924527715719,0.2641397517376596
+1.7,0.1069244240624349,1.393075575937565,0.8930755759375649,0.2587424005512847
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277,0.2534381579190082
+1.9,0.1041334594443718,1.395866540555628,0.8958665405556279,0.2482031854428586
+2.,0.1032477631469481,1.396752236853052,0.8967522368530515,0.2430197451041492
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692,0.2378746394445043
+2.2,0.1020988064560762,1.397901193543924,0.8979011935439233,0.2327580500023795
+2.3,0.101734245069293,1.398265754930707,0.8982657549307065,0.2276626725728712
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076,0.2225830735920257
+2.5,0.1012613613416976,1.398738638658302,0.898738638658302,0.2175152111796216
+2.6,0.1011113254183241,1.398888674581676,0.8988886745816756,0.2124560787583432
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379,0.2074034399047666
+2.8,0.1009167157011023,1.399083284298898,0.8990832842988972,0.2023556310891437
+2.9,0.100854971702119,1.399145028297881,0.8991450282978807,0.1973114149327459
+3.,0.1008090456985285,1.399190954301471,0.8991909543014713,0.1922698710452023
+3.1,0.1007748854718443,1.399225114528156,0.8992251145281555,0.1872303148380787
+3.2,0.1007494766411436,1.399250523358856,0.8992505233588563,0.182192237062553
+3.3,0.1007305773648939,1.399269422635106,0.899269422635106,0.1771552589855481
+3.4,0.1007165199256037,1.399283480074396,0.899283480074396,0.1721190988672962
+3.5,0.1007060638721755,1.399293936127824,0.8992939361278243,0.1670835471502343
+3.6,0.1006982865587182,1.399301713441282,0.8993017134412816,0.1620484479662512
+3.7,0.1006925017316733,1.399307498268327,0.8993074982683265,0.1570136853827041
+3.8,0.1006881989303313,1.399311801069669,0.8993118010696685,0.1519791731647788
+3.9,0.1006849984723328,1.399315001527667,0.899315001527667,0.146944847170825
+4.,0.1006826179464744,1.399317382053526,0.8993173820535256,0.1419106596917477
+4.1,0.1006808472928433,1.399319152707157,0.8993191527071566,0.1368765752411337
+4.2,0.100679530267059,1.399320469732941,0.8993204697329412,0.1318425674238971
+4.3,0.1006785506532387,1.399321449346761,0.8993214493467613,0.1268086166071598
+4.4,0.1006778220090586,1.399322177990941,0.8993221779909415,0.1217747081878307
+4.5,0.100677280038026,1.399322719961974,0.8993227199619741,0.1167408313040166
+4.6,0.1006768769159033,1.399323123084097,0.8993231230840969,0.1117069778765573
+4.7,0.1006765770696654,1.399323422930335,0.8993234229303348,0.1066731418959446
+4.8,0.1006763540428806,1.399323645957119,0.8993236459571195,0.1016393188927775
+4.9,0.1006761881543798,1.39932381184562,0.8993238118456203,0.09660550554222988
+5.,0.1006760647649644,1.399323935235036,0.8993239352350358,0.09157169937123783
diff --git a/models/sbml-test-suite/cases/semantic/00842/00842-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00842/00842-sbml-l1v2.xml
new file mode 100644
index 0000000..e07625b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00842/00842-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00842">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="-0.5 * S1" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00842/00842-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00842/00842-sbml-l2v4.xml
new file mode 100644
index 0000000..5b92006
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00842/00842-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00842" id="case00842" name="case00842">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00842/00842-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00842/00842-sbml-l3v1.xml
new file mode 100644
index 0000000..866dce5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00842/00842-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00842" id="case00842" name="case00842" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00842/00842-settings.txt b/models/sbml-test-suite/cases/semantic/00842/00842-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00842/00842-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00843/00843-results.csv b/models/sbml-test-suite/cases/semantic/00843/00843-results.csv
new file mode 100644
index 0000000..f204f09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00843/00843-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0.5,0,0.5
+0.1,0.7801790747220285,0.7198209252779714,0.2198209252779709,0.5149999999999997
+0.2,0.6121116963789492,0.8878883036210507,0.3878883036210504,0.5299999999999999
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784,0.5450000000000001
+0.4,0.3880646348602712,1.111935365139728,0.6119353651397283,0.5600000000000003
+0.5,0.3155065934670892,1.184493406532911,0.6844934065329104,0.5750000000000004
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048,0.5900000000000003
+0.7,0.2203066768115224,1.279693323188478,0.7796933231884773,0.6050000000000003
+0.8,0.1898427909551363,1.310157209044864,0.8101572090448636,0.6200000000000003
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173,0.6350000000000002
+1.,0.150140515363472,1.349859484636528,0.8498594846365277,0.6500000000000002
+1.1,0.1374995341824785,1.362500465817521,0.8625004658175212,0.6650000000000003
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788,0.6800000000000003
+1.3,0.1210711462304827,1.378928853769517,0.8789288537695171,0.6950000000000005
+1.4,0.1158513466263468,1.384148653373653,0.8841486533736531,0.7100000000000005
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567,0.7250000000000006
+1.6,0.1090754722842808,1.390924527715719,0.890924527715719,0.7400000000000007
+1.7,0.1069244240624349,1.393075575937565,0.8930755759375649,0.7550000000000008
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277,0.770000000000001
+1.9,0.1041334594443718,1.395866540555628,0.8958665405556279,0.785000000000001
+2.,0.1032477631469481,1.396752236853052,0.8967522368530515,0.800000000000001
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692,0.8150000000000011
+2.2,0.1020988064560762,1.397901193543924,0.8979011935439233,0.8300000000000011
+2.3,0.101734245069293,1.398265754930707,0.8982657549307065,0.8450000000000009
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076,0.8600000000000008
+2.5,0.1012613613416976,1.398738638658302,0.898738638658302,0.8750000000000007
+2.6,0.1011113254183241,1.398888674581676,0.8988886745816756,0.8900000000000006
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379,0.9050000000000005
+2.8,0.1009167157011023,1.399083284298898,0.8990832842988972,0.9200000000000004
+2.9,0.100854971702119,1.399145028297881,0.8991450282978807,0.9350000000000006
+3.,0.1008090456985285,1.399190954301471,0.8991909543014713,0.9500000000000006
+3.1,0.1007748854718443,1.399225114528156,0.8992251145281555,0.9650000000000006
+3.2,0.1007494766411436,1.399250523358856,0.8992505233588563,0.9800000000000006
+3.3,0.1007305773648939,1.399269422635106,0.899269422635106,0.9950000000000006
+3.4,0.1007165199256037,1.399283480074396,0.899283480074396,1.01
+3.5,0.1007060638721755,1.399293936127824,0.8992939361278243,1.025
+3.6,0.1006982865587182,1.399301713441282,0.8993017134412816,1.04
+3.7,0.1006925017316733,1.399307498268327,0.8993074982683265,1.055
+3.8,0.1006881989303313,1.399311801069669,0.8993118010696685,1.07
+3.9,0.1006849984723328,1.399315001527667,0.899315001527667,1.085
+4.,0.1006826179464744,1.399317382053526,0.8993173820535256,1.1
+4.1,0.1006808472928433,1.399319152707157,0.8993191527071566,1.115
+4.2,0.100679530267059,1.399320469732941,0.8993204697329412,1.13
+4.3,0.1006785506532387,1.399321449346761,0.8993214493467613,1.145
+4.4,0.1006778220090586,1.399322177990941,0.8993221779909415,1.16
+4.5,0.100677280038026,1.399322719961974,0.8993227199619741,1.175
+4.6,0.1006768769159033,1.399323123084097,0.8993231230840969,1.19
+4.7,0.1006765770696654,1.399323422930335,0.8993234229303348,1.205000000000001
+4.8,0.1006763540428806,1.399323645957119,0.8993236459571195,1.22
+4.9,0.1006761881543798,1.39932381184562,0.8993238118456203,1.235000000000001
+5.,0.1006760647649644,1.399323935235036,0.8993239352350358,1.25
diff --git a/models/sbml-test-suite/cases/semantic/00843/00843-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00843/00843-sbml-l1v2.xml
new file mode 100644
index 0000000..cdf90a9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00843/00843-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00843">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.15" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 + -1 * kr * S2 * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00843/00843-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00843/00843-sbml-l2v4.xml
new file mode 100644
index 0000000..cf10597
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00843/00843-sbml-l2v4.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00843" id="case00843" name="case00843">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00843/00843-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00843/00843-sbml-l3v1.xml
new file mode 100644
index 0000000..5496da4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00843/00843-sbml-l3v1.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00843" id="case00843" name="case00843" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00843/00843-settings.txt b/models/sbml-test-suite/cases/semantic/00843/00843-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00843/00843-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00844/00844-results.csv b/models/sbml-test-suite/cases/semantic/00844/00844-results.csv
new file mode 100644
index 0000000..82f6652
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00844/00844-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.5,0.01109831734297234,0.02109831734297235,0.008901682657027653
+1.,0.01205596357887534,0.02205596357887534,0.007944036421124652
+1.5,0.01289035436559064,0.02289035436559063,0.007109645634409356
+2.,0.01361689729357902,0.02361689729357902,0.006383102706420975
+2.5,0.01424918635922526,0.02424918635922525,0.00575081364077474
+3.,0.01479918733973938,0.02479918733973937,0.00520081266026062
+3.5,0.01527741152925639,0.02527741152925639,0.004722588470743607
+4.,0.01569307642393407,0.02569307642393406,0.004306923576065936
+4.5,0.01605425279220379,0.02605425279220378,0.003945747207796199
+5.,0.01636799812982478,0.02636799812982478,0.003632001870175214
+5.5,0.01664047692249411,0.0266404769224941,0.003359523077505892
+6.,0.01687706839540627,0.02687706839540626,0.003122931604593725
+6.5,0.01708246258471984,0.02708246258471984,0.002917537415280152
+7.,0.0172607456510575,0.0272607456510575,0.002739254348942494
+7.5,0.01741547538293725,0.02741547538293725,0.002584524617062744
+8.,0.01754974782404564,0.02754974782404564,0.00245025217595435
+8.5,0.01766625592279317,0.02766625592279316,0.002333744077206833
+9.,0.01776734105166957,0.02776734105166956,0.002232658948330433
+9.5,0.01785503818291608,0.02785503818291607,0.002144961817083925
+10.,0.01793111543975069,0.02793111543975069,0.002068884560249303
+10.5,0.01799710867793409,0.02799710867793409,0.002002891322065906
+11.,0.01805435168832897,0.02805435168832896,0.001945648311671037
+11.5,0.01810400254924281,0.02810400254924281,0.001895997450757194
+12.,0.01814706659964915,0.02814706659964914,0.001852933400350857
+12.5,0.0181844164522593,0.0281844164522593,0.001815583547740693
+13.,0.01821680941736087,0.02821680941736086,0.001783190582639134
+13.5,0.01824490266363758,0.02824490266363758,0.001755097336362412
+14.,0.01826926640437391,0.02826926640437391,0.001730733595626089
+14.5,0.01829039536087634,0.02829039536087634,0.001709604639123661
+15.,0.01830871872546244,0.02830871872546244,0.001691281274537559
+15.5,0.01832460881735896,0.02832460881735896,0.001675391182641043
+16.,0.01833838860111411,0.0283383886011141,0.001661611398885889
+16.5,0.01835033821548735,0.02835033821548734,0.001649661784512648
+17.,0.01836070064224323,0.02836070064224323,0.001639299357756759
+17.5,0.01836968662687984,0.02836968662687983,0.001630313373120156
+18.,0.0183774789496108,0.02837747894961079,0.001622521050389197
+18.5,0.01838423613204031,0.02838423613204031,0.001615763867959686
+19.,0.01839009565351237,0.02839009565351236,0.001609904346487635
+19.5,0.01839517674178259,0.02839517674178259,0.001604823258217414
+20.,0.01839958279428865,0.02839958279428864,0.001600417205711359
+20.5,0.01840340347862877,0.02840340347862876,0.001596596521371242
+21.,0.01840671655463322,0.02840671655463321,0.001593283445366789
+21.5,0.01840958945494197,0.02840958945494196,0.001590410545058042
+22.,0.01841208065597493,0.02841208065597493,0.001587919344025074
+22.5,0.0184142408670112,0.0284142408670112,0.001585759132988806
+23.,0.01841611406153009,0.02841611406153008,0.001583885938469927
+23.5,0.01841773837170507,0.02841773837170506,0.001582261628294944
+24.,0.01841914686414828,0.02841914686414828,0.001580853135851726
+24.5,0.01842036821268332,0.02842036821268332,0.001579631787316685
+25.,0.01842142728181884,0.02842142728181883,0.001578572718181171
diff --git a/models/sbml-test-suite/cases/semantic/00844/00844-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00844/00844-sbml-l1v2.xml
new file mode 100644
index 0000000..e612614
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00844/00844-sbml-l1v2.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00844">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.02" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.01" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf"/>
+      <parameter name="kr" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="kf + -0.75"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 * S2 + -1 * kr * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00844/00844-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00844/00844-sbml-l2v4.xml
new file mode 100644
index 0000000..4ec307f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00844/00844-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00844" id="case00844" name="case00844">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" constant="false"/>
+      <parameter id="kr" name="kr" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> kf </ci>
+            <cn> -0.75 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00844/00844-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00844/00844-sbml-l3v1.xml
new file mode 100644
index 0000000..30b00fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00844/00844-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00844" id="case00844" name="case00844" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" constant="false"/>
+      <parameter id="kr" name="kr" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> kf </ci>
+            <cn> -0.75 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00844/00844-settings.txt b/models/sbml-test-suite/cases/semantic/00844/00844-settings.txt
new file mode 100644
index 0000000..dc30fbb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00844/00844-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00845/00845-results.csv b/models/sbml-test-suite/cases/semantic/00845/00845-results.csv
new file mode 100644
index 0000000..e920c2f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00845/00845-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,2.
+0.1,0.928540262733673,2.071459737266328
+0.2,0.863718967637875,2.136281032362127
+0.3,0.8049194190454255,2.195080580954575
+0.4,0.7515822106686513,2.248417789331349
+0.5,0.697999898226213,1.552000058077566
+0.6,0.6492357826661694,1.60076417363761
+0.7,0.6050017392517459,1.644998217052033
+0.8,0.5648769341275484,1.685123022176231
+0.9,0.528479629522506,1.721520326781273
+1.,0.49546354891896,1.754536407384819
+1.1,0.465514581401487,1.784485374902292
+1.2,0.4383478079291043,1.811652148374675
+1.3,0.4137047675203929,1.836295188783386
+1.4,0.3913510038350087,1.85864895246877
+1.5,0.3710738108400401,1.878926145463739
+1.6,0.3526803858846551,1.897319570419124
+1.7,0.3359956566507751,1.914004299653004
+1.8,0.3208608895660389,1.92913906673774
+1.9,0.3071321048054835,1.942867851498296
+2.,0.2946786919491905,1.955321264354589
+2.1,0.2833821720258098,1.96661778427797
+2.2,0.2731350721742918,1.976864884129487
+2.3,0.263839903568263,1.986160052735516
+2.4,0.2554082314301423,1.994591724873637
+2.5,0.2477598479563244,2.002240108347454
+2.6,0.2408219774708682,2.00917797883291
+2.7,0.2345286201807509,2.015471336123027
+2.8,0.2288199022725906,2.021180054031188
+2.9,0.2236415078999811,2.026358448403798
+3.,0.2189441783166415,2.031055777987137
+3.1,0.2146832171892644,2.035316739114514
+3.2,0.2108180892967014,2.039181867007077
+3.3,0.2073120226881373,2.042687933615641
+3.4,0.204131661434085,2.045868294869693
+3.5,0.2012467482872424,2.048753208016536
+3.6,0.1986298368234023,2.051370119480375
+3.7,0.1962560303232461,2.053743925980532
+3.8,0.1941027449113637,2.055897211392414
+3.9,0.1921494946992034,2.057850461604574
+4.,0.1903776966094881,2.059622259694289
+4.1,0.1887704952560998,2.061229461047678
+4.2,0.1873125991163828,2.062687357187395
+4.3,0.1859901380824716,2.064009818221305
+4.4,0.1847905305480063,2.065209425755771
+4.5,0.1837023637092396,2.066297592594538
+4.6,0.1827152849858975,2.06728467131788
+4.7,0.1818199035287848,2.068180052774993
+4.8,0.1810077008775645,2.068992255426213
+4.9,0.1802709499114709,2.069729006392307
+5.,0.1796026413622095,2.070397314941568
diff --git a/models/sbml-test-suite/cases/semantic/00845/00845-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00845/00845-sbml-l2v4.xml
new file mode 100644
index 0000000..6e221bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00845/00845-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00845" id="case00845" name="case00845">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00845/00845-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00845/00845-sbml-l3v1.xml
new file mode 100644
index 0000000..9300046
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00845/00845-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00845" id="case00845" name="case00845" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00845/00845-settings.txt b/models/sbml-test-suite/cases/semantic/00845/00845-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00845/00845-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00846/00846-results.csv b/models/sbml-test-suite/cases/semantic/00846/00846-results.csv
new file mode 100644
index 0000000..7d110a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00846/00846-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.1,0.9285402627340821,2.071459737265918,0.9497931914075972,1.550206808592403
+0.2,0.86371896763816,2.136281032361841,0.9039076232689001,1.5960923767311
+0.3,0.8049194190451108,2.19508058095489,0.8619713715763732,1.638028628423628
+0.4,0.7515822106667366,2.248417789333265,0.8236445232661107,1.67635547673389
+0.5,0.7031999031741502,2.296800096825852,0.7886164208574515,1.711383579142549
+0.6,0.6593121998969282,2.340687800103073,0.7566031463571243,1.743396853642877
+0.7,0.6195015550797409,2.38049844492026,0.7273452127302649,1.772654787269736
+0.8,0.5833892313299046,2.416610768670097,0.7006054778858206,1.799394522114181
+0.9,0.5506316636907074,2.449368336309294,0.676167203736286,1.823832796263715
+1.,0.5209171946673176,2.479082805332684,0.653832301289462,1.846167698710539
+1.1,0.4922383089090659,1.507761673245744,0.6356225307408034,2.502382418959203
+1.2,0.4608024697889108,1.539197512365899,0.6259293139737912,2.512075635726215
+1.3,0.4322869468155882,1.567713035339221,0.6170703809584762,2.52093456874153
+1.4,0.4064204479507848,1.593579534204025,0.6089739255100562,2.52903102418995
+1.5,0.3829568876716668,1.617043094483143,0.6015743227343111,2.536430626965696
+1.6,0.3616730373947746,1.638326944760035,0.594811595048325,2.543193354651681
+1.7,0.3423664058149099,1.657633576339899,0.5886309270270716,2.549374022672935
+1.8,0.3248533147702451,1.675146667384564,0.5829822216920473,2.555022728007959
+1.9,0.3089671471802491,1.69103283497456,0.577819693292319,2.560185256407688
+2.,0.2945567711701797,1.705443210984629,0.5731014985720827,2.564903451127924
+2.1,0.2814850863811584,1.718514895773651,0.5687893935513288,2.569215556148678
+2.2,0.2696277012583882,1.730372280896421,0.5648484186260147,2.573156531073992
+2.3,0.2588718806298404,1.741128101524969,0.5612466495818048,2.576758300118202
+2.4,0.2491152407848333,1.750884741369976,0.5579548779548264,2.58005007174518
+2.5,0.2402649701360791,1.75973501201873,0.5549464252696459,2.583058524430361
+2.6,0.2322368627097,1.767763119445109,0.5521969048764621,2.585808044823545
+2.7,0.2249545499959305,1.775045432158879,0.5496840330760064,2.588320916624
+2.8,0.2183487464905651,1.781651235664244,0.5473874410125033,2.590617508687503
+2.9,0.2123566068373628,1.787643375317446,0.5452885139542156,2.59271643574579
+3.,0.2069211228311889,1.79307885932362,0.543370239033907,2.594634710666099
+3.1,0.2019905820616227,1.798009400093187,0.5416170676222572,2.596387882077749
+3.2,0.1975180758165004,1.802481906338309,0.5400147892655411,2.597990160434465
+3.3,0.193461057600847,1.806538924553962,0.5385504178654262,2.59945453183458
+3.4,0.1897809246759881,1.810219057478821,0.5372120825472094,2.600792867152797
+3.5,0.1864426692689154,1.813557312885894,0.5359889366773815,2.602016013022625
+3.6,0.1834145285600444,1.816585453594765,0.5348710651136012,2.603133884586405
+3.7,0.1806676954830835,1.819332286671726,0.5338494075600622,2.604155542139944
+3.8,0.1781760363173277,1.821823945837482,0.5329156827283668,2.605089266971639
+3.9,0.1759158464736271,1.824084135681182,0.532062322490849,2.605942627209157
+4.,0.1738656230383609,1.826134359116448,0.5312824099755686,2.606722539724438
+4.1,0.1720058606502721,1.827994121504537,0.5305696236324085,2.607435326067598
+4.2,0.1703188659368556,1.829681116217954,0.5299181859955891,2.608086763704417
+4.3,0.1687885891883482,1.831211392966461,0.5293228168559305,2.608682132844075
+4.4,0.1674004716680234,1.832599510486786,0.5287786904633258,2.60922625923668
+4.5,0.1661413071065278,1.833858675048282,0.5282813964126226,2.609723553287383
+4.6,0.1649991160626412,1.835000866092168,0.5278269038958927,2.610178045804112
+4.7,0.1639630312349042,1.836036950919905,0.5274115288033207,2.610593420896684
+4.8,0.1630231968533285,1.836976785301481,0.5270319047396298,2.610973044960375
+4.9,0.1621706725836392,1.83782930957117,0.5266849550149245,2.61131999468508
+5.,0.161397344605889,1.83860263754892,0.5263678664518902,2.611637083248115
diff --git a/models/sbml-test-suite/cases/semantic/00846/00846-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00846/00846-sbml-l2v4.xml
new file mode 100644
index 0000000..de30f69
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00846/00846-sbml-l2v4.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00846" id="case00846" name="case00846">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.15"/>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00846/00846-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00846/00846-sbml-l3v1.xml
new file mode 100644
index 0000000..cfc8704
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00846/00846-sbml-l3v1.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00846" id="case00846" name="case00846" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.15" constant="true"/>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00846/00846-settings.txt b/models/sbml-test-suite/cases/semantic/00846/00846-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00846/00846-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00847/00847-results.csv b/models/sbml-test-suite/cases/semantic/00847/00847-results.csv
new file mode 100644
index 0000000..665e9aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00847/00847-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.1,0.9285402627338184,2.071459737266182,0.9497931914074244,1.550206808592576
+0.2,0.8637189676384043,2.136281032361595,0.9039076232690126,1.596092376730988
+0.3,0.8049194190466343,2.195080580953365,0.8619713715772097,1.638028628422791
+0.4,0.7515822106648566,2.248417789335142,0.8236445232650246,1.676355476734976
+0.5,0.7031999031733114,2.296800096826687,0.7886164208569536,1.711383579143047
+0.6,0.6593121998911396,2.340687800108859,0.7566031463537776,1.743396853646223
+0.7,0.6195015567753169,2.38049844322468,0.7131859758785849,0.536814017816264
+0.8,0.5833892339281296,2.416610766071867,0.6697339072319133,0.5802660864629355
+0.9,0.5506316602627074,2.449368339737289,0.6300217056241327,0.6199782880707162
+1.,0.5209171904836402,2.479082809516357,0.5937274880575181,0.6562725056373307
+1.1,0.4922383042789991,1.507761690352339,0.5605570698349791,0.6894429238598698
+1.2,0.4608024656781369,1.539197528953201,0.5302415901092107,0.7197584035856381
+1.3,0.4322869431759011,1.567713051455437,0.5025353280217449,0.7474646656731039
+1.4,0.4064204447387306,1.593579549892607,0.4772137101425377,0.7727862835523113
+1.5,0.3829568848469022,1.617043109784436,0.4540714949913669,0.7959284987034822
+1.6,0.3616730349214405,1.638326959709897,0.432921103023004,0.8170788906718453
+1.7,0.3423664036535291,1.657633590977809,0.4135910993052315,0.8364088943896177
+1.8,0.3248533129224194,1.675146681708918,0.3959248058559041,0.854075187838945
+1.9,0.30896714558756,1.691032849043778,0.3797790279523596,0.8702209657424896
+2.,0.2945567697866755,1.705443224844662,0.3650229010599903,0.8849770926348588
+2.1,0.2814850852283289,1.718514909403009,0.3515368174038678,0.8984631762909813
+2.2,0.2696276988742344,1.730372295757103,0.3392114398036411,0.910788553891208
+2.3,0.258871879642931,1.741128114988406,0.327946928819633,0.9220530648752162
+2.4,0.2491152393851232,1.750884755246214,0.3176519314977263,0.9323480621971228
+2.5,0.2402649695768791,1.759735025054458,0.3082430135940348,0.9417569801008142
+2.6,0.2322368624146984,1.767763132216638,0.2996439044779741,0.950356089216875
+2.7,0.2249545498653289,1.775045444766008,0.2917849124031043,0.9582150812917449
+2.8,0.2183487465696969,1.78165124806164,0.2846023340113523,0.9653976596834971
+2.9,0.2123566070392896,1.787643387592047,0.2780379517220642,0.9719620419727851
+3.,0.2069211227228181,1.793078871908519,0.2720385575870658,0.9779614361077833
+3.1,0.2019905812602323,1.798009413371104,0.2665555233922034,0.9834444703026457
+3.2,0.1975180775095941,1.802481917121743,0.2615444091758228,0.9884555845190263
+3.3,0.1934610568135291,1.806538937817808,0.256964593778574,0.9930353999162752
+3.4,0.189780926345888,1.810219068285449,0.2527789599066127,0.9972210337882365
+3.5,0.1864426690407276,1.813557325590609,0.2489535764723518,1.001046417222497
+3.6,0.1834145295706888,1.816585465060648,0.2454574406588437,1.004542553036005
+3.7,0.1806676904724454,1.819332304158892,0.2422622069674292,1.00773778672742
+3.8,0.1781760325062201,1.821823962125117,0.239341988956891,1.010658004737958
+3.9,0.1759158437416572,1.82408415088968,0.2366731106596294,1.01332688303522
+4.,0.1738656212295821,1.826134373401755,0.2342339395623948,1.015766054132454
+4.1,0.1720058595946652,1.827994135036672,0.2320047050369013,1.017995288657948
+4.2,0.1703188654656473,1.82968112916569,0.2299673380896861,1.020032655605163
+4.3,0.1687885891443406,1.831211405486997,0.2281053249043785,1.02189466879047
+4.4,0.167400471912141,1.832599522719196,0.2264035729893818,1.023596420705467
+4.5,0.166141307521484,1.833858687109853,0.2248482888461128,1.025151704848736
+4.6,0.1649991165544557,1.835000878076882,0.2234268661662111,1.026573127528638
+4.7,0.1639630323630753,1.836036962268262,0.2221277835621218,1.027872210132727
+4.8,0.1630231981292075,1.83697679650213,0.2209405116196007,1.029059482075249
+4.9,0.1621706735227823,1.837829321108555,0.2198554280025498,1.030144565692299
+5.,0.1613973454409201,1.838602649190417,0.2188637352271369,1.031136258467712
diff --git a/models/sbml-test-suite/cases/semantic/00847/00847-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00847/00847-sbml-l2v4.xml
new file mode 100644
index 0000000..7fd25f6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00847/00847-sbml-l2v4.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00847" id="case00847" name="case00847">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.15"/>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S3 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00847/00847-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00847/00847-sbml-l3v1.xml
new file mode 100644
index 0000000..c83833f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00847/00847-sbml-l3v1.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00847" id="case00847" name="case00847" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.15" constant="true"/>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S3 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00847/00847-settings.txt b/models/sbml-test-suite/cases/semantic/00847/00847-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00847/00847-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00848/00848-results.csv b/models/sbml-test-suite/cases/semantic/00848/00848-results.csv
new file mode 100644
index 0000000..cb0851d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00848/00848-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,2.
+0.1,0.928540262733673,2.071459737266328
+0.2,0.863718967637875,2.136281032362127
+0.3,0.8049194190454255,2.195080580954575
+0.4,0.7515822106686513,2.248417789331349
+0.5,0.7031999046927454,2.296800095307256
+0.6,0.6593122012349672,2.340687798765033
+0.7,0.6195015622313149,2.380498437768686
+0.8,0.5833892379435223,2.416610762056478
+0.9,0.5506316654040287,2.449368334595972
+1.,0.5209171885077817,2.47908281149222
+1.1,0.4939631225239087,2.506036877476093
+1.2,0.4695130308835756,2.530486969116426
+1.3,0.4473342898127062,2.552665710187296
+1.4,0.4272158996248611,2.572784100375141
+1.5,0.4015243494549538,1.525094732087963
+1.6,0.3779912468334879,1.548627834709428
+1.7,0.3566443139168862,1.56997476762603
+1.8,0.3372804613425715,1.589338620200345
+1.9,0.3197154661385547,1.606903615404361
+2.,0.3037822132328695,1.622836868310047
+2.1,0.2893291280066689,1.637289953536247
+2.2,0.2762187006564089,1.650400380886507
+2.3,0.2643261970851637,1.662292884457752
+2.4,0.2535384813198786,1.673080600223037
+2.5,0.2437529206521764,1.682866160890739
+2.6,0.2348764152135197,1.691742666329396
+2.7,0.2268245108392124,1.699794570703704
+2.8,0.2195206112262007,1.707098470316715
+2.9,0.2128952358839967,1.713723845658919
+3.,0.2068853356354092,1.719733745907507
+3.1,0.2014337424046608,1.725185339138255
+3.2,0.1964885889391816,1.730130492603734
+3.3,0.1920028286349311,1.734616252907984
+3.4,0.1879337848132831,1.738685296729632
+3.5,0.1842427450078818,1.742376336535034
+3.6,0.1808945941574668,1.745724487385448
+3.7,0.1778574797447269,1.748761601798189
+3.8,0.1751025052994115,1.751516576243504
+3.9,0.172603462196311,1.754015619346605
+4.,0.1703365738373716,1.756282507705544
+4.1,0.1682802705862321,1.758338810956684
+4.2,0.1664149968672219,1.760204084675694
+4.3,0.16472300272655,1.761896078816366
+4.4,0.1631881908930116,1.763430890649904
+4.5,0.1617959594946729,1.764823122048243
+4.6,0.1605330631398245,1.766086018403091
+4.7,0.1593874869030879,1.767231594639828
+4.8,0.1583483320178799,1.768270749525036
+4.9,0.1574057132703235,1.769213368272592
+5.,0.1565506608080033,1.770068420734912
diff --git a/models/sbml-test-suite/cases/semantic/00848/00848-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00848/00848-sbml-l2v4.xml
new file mode 100644
index 0000000..7eab2a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00848/00848-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00848" id="case00848" name="case00848">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00848/00848-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00848/00848-sbml-l3v1.xml
new file mode 100644
index 0000000..e4da8d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00848/00848-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00848" id="case00848" name="case00848" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00848/00848-settings.txt b/models/sbml-test-suite/cases/semantic/00848/00848-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00848/00848-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00849/00849-results.csv b/models/sbml-test-suite/cases/semantic/00849/00849-results.csv
new file mode 100644
index 0000000..f8531c6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00849/00849-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1,2,1,1.5
+0.1,0.928541,2.07146,0.949794,1.55021
+0.2,0.86372,2.13628,0.903908,1.59609
+0.3,0.80492,2.19508,0.861972,1.63803
+0.4,0.751583,2.24842,0.823645,1.67636
+0.5,0.7032,2.2968,0.788617,1.71138
+0.6,0.659312,2.34069,0.756603,1.7434
+0.7,0.619502,2.3805,0.727345,1.77265
+0.8,0.583389,2.41661,0.700605,1.79939
+0.9,0.550631,2.44937,0.676167,1.82383
+1,0.520917,2.47908,0.653832,1.84617
+1.1,0.493964,2.50604,0.63342,1.86658
+1.2,0.469514,2.53049,0.614764,1.88524
+1.3,0.447335,2.55267,0.597714,1.90229
+1.4,0.427216,2.57278,0.582132,1.91787
+1.5,0.408967,2.59103,0.56789,1.93211
+1.6,0.392413,2.60759,0.554875,1.94513
+1.7,0.377397,2.6226,0.542979,1.95702
+1.8,0.363775,2.63622,0.532108,1.96789
+1.9,0.351419,2.64858,0.522172,1.97783
+2,0.340211,2.65979,0.513091,1.98691
+2.1,0.330044,2.66996,0.504792,1.99521
+2.2,0.320822,2.67918,0.497207,2.00279
+2.3,0.312456,2.68754,0.490275,2.00972
+2.4,0.304868,2.69513,0.48394,2.01606
+2.5,0.297984,2.70202,0.47815,2.02185
+2.6,0.29174,2.70826,0.472858,2.02714
+2.7,0.286076,2.71392,0.468022,2.03198
+2.8,0.280938,2.71906,0.463602,2.0364
+2.9,0.276278,2.72372,0.459562,2.04044
+3,0.26904,1.50437,0.458116,2.49894
+3.1,0.25672,1.51669,0.461105,2.49596
+3.2,0.245544,1.52787,0.463837,2.49322
+3.3,0.235406,1.538,0.466333,2.49073
+3.4,0.22621,1.5472,0.468615,2.48845
+3.5,0.217868,1.55554,0.4707,2.48636
+3.6,0.210302,1.56311,0.472606,2.48445
+3.7,0.203438,1.56997,0.474348,2.48271
+3.8,0.197212,1.5762,0.47594,2.48112
+3.9,0.191564,1.58185,0.477395,2.47967
+4,0.186441,1.58697,0.478724,2.47834
+4.1,0.181794,1.59162,0.47994,2.47712
+4.2,0.177578,1.59583,0.48105,2.47601
+4.3,0.173755,1.59966,0.482065,2.475
+4.4,0.170286,1.60312,0.482993,2.47407
+4.5,0.167139,1.60627,0.483841,2.47322
+4.6,0.164285,1.60913,0.484616,2.47245
+4.7,0.161696,1.61171,0.485324,2.47174
+4.8,0.159348,1.61406,0.485971,2.47109
+4.9,0.157218,1.61619,0.486563,2.4705
+5,0.155285,1.61813,0.487103,2.46996
diff --git a/models/sbml-test-suite/cases/semantic/00849/00849-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00849/00849-sbml-l2v4.xml
new file mode 100644
index 0000000..6e70ed3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00849/00849-sbml-l2v4.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00849" id="case00849" name="case00849">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.15"/>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.89 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00849/00849-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00849/00849-sbml-l3v1.xml
new file mode 100644
index 0000000..e73fc85
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00849/00849-sbml-l3v1.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00849" id="case00849" name="case00849" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.15" constant="true"/>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.89 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00849/00849-settings.txt b/models/sbml-test-suite/cases/semantic/00849/00849-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00849/00849-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00850/00850-results.csv b/models/sbml-test-suite/cases/semantic/00850/00850-results.csv
new file mode 100644
index 0000000..6b6c0ff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00850/00850-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.1,0.9285402627338184,2.071459737266182,0.9497931914074244,1.550206808592576
+0.2,0.8637189676384043,2.136281032361595,0.9039076232690126,1.596092376730988
+0.3,0.8049194190466343,2.195080580953365,0.8619713715772097,1.638028628422791
+0.4,0.7515822106648566,2.248417789335142,0.8236445232650246,1.676355476734976
+0.5,0.7031999031733114,2.296800096826687,0.7886164208569536,1.711383579143047
+0.6,0.6593121998911396,2.340687800108859,0.7566031463537776,1.743396853646223
+0.7,0.6195015567686946,2.380498443231303,0.7273452137054551,1.772654786294545
+0.8,0.5833892338712365,2.416610766128762,0.7006054793706399,1.79939452062936
+0.9,0.5506316607524779,2.44936833924752,0.6761672020050921,1.823832797994907
+1.,0.5209171903291254,2.479082809670872,0.6538322987128649,1.846167701287135
+1.1,0.4939631244188217,2.506036875581175,0.6334197339492688,1.866580266050731
+1.2,0.4695130279463932,2.530486972053604,0.6147640543379917,1.885235945662008
+1.3,0.447334288112969,2.552665711887028,0.5977140469149699,1.90228595308503
+1.4,0.4272159014004511,2.572784098599545,0.5821315134967197,1.91786848650328
+1.5,0.4089664652373494,2.591033534762647,0.5678901499723151,1.932109850027685
+1.6,0.3924123592526553,2.607587640747341,0.5548745239045659,1.945125476095434
+1.7,0.3773960877672829,2.622603912232714,0.5429791353546292,1.957020864645371
+1.8,0.3637747969226539,2.636225203077343,0.5321075714133695,1.967892428586631
+1.9,0.3514188936652371,2.64858110633476,0.5221717110945499,1.97782828890545
+2.,0.3402108196262126,2.659789180373784,0.5130910151415627,1.986908984858438
+2.1,0.3300439529103351,2.669956047089662,0.504791886158594,1.995208113841406
+2.2,0.3208215654695426,2.679178434530454,0.4972070541317288,2.002792945868272
+2.3,0.3124559137300086,2.687544086269988,0.4902750379827565,2.009724962017244
+2.4,0.3048674111349776,2.695132588865019,0.4839396520324135,2.016060347967587
+2.5,0.2979838593573013,2.702016140642695,0.4781495430437217,2.021850456956279
+2.6,0.2917397759144441,2.708260224085552,0.4728577835242328,2.027142216475768
+2.7,0.2860757568345783,2.713924243165418,0.46802148191324,2.031978518086761
+2.8,0.2809379133491943,2.719062086650802,0.4636014360624732,2.036398563937527
+2.9,0.2762773607079592,2.723722639292037,0.4595618164298041,2.040438183570196
+3.,0.2720497594681043,2.727950240531892,0.455869879986971,2.044130120013029
+3.1,0.2660917745483394,1.502982011541902,0.4524957075460211,2.047504292453977
+3.2,0.2540142265551628,1.515059559535078,0.4318748877927625,0.5199248511794483
+3.3,0.2430586544295944,1.526015131660647,0.4083573072151377,0.543442431757073
+3.4,0.2331208293559196,1.535952956734322,0.3868638570154879,0.5649358819567229
+3.5,0.2241062046671309,1.544967581423111,0.3672203220919113,0.5845794168802994
+3.6,0.2159290181029843,1.553144767987257,0.3492674839716788,0.6025322550005319
+3.7,0.2085114723781599,1.560562313712081,0.3328598242263461,0.6189399147458647
+3.8,0.2017829983071223,1.567290787783119,0.3178643505849905,0.6339353883872203
+3.9,0.1956795865362922,1.573394199553949,0.304159524561212,0.6476402144109987
+4.,0.1901431643673876,1.578930621722854,0.2916342512227775,0.660165487749433
+4.1,0.1851210649641251,1.583952721126116,0.2801870170871287,0.6716127218850819
+4.2,0.1805655069027998,1.588508279187441,0.2697250329585055,0.682074706013705
+4.3,0.1764331413226638,1.592640644767577,0.2601634844218998,0.6916362545503107
+4.4,0.1726846737082281,1.596389112382013,0.2514249069802141,0.7003748319919965
+4.5,0.1692844259493959,1.599789360140845,0.2434384411499429,0.7083612978222678
+4.6,0.1662000549762748,1.602873731113966,0.2361393641897952,0.7156603747824155
+4.7,0.1634022155693064,1.605671570520935,0.2294685115049417,0.722331227467269
+4.8,0.1608642877643022,1.608209498325939,0.2233718090891498,0.7284279298830608
+4.9,0.158562126504636,1.610511659585605,0.2177998407145949,0.7339998982576156
+5.,0.1564738314421645,1.612599954648076,0.2127074466022881,0.7390922923699224
diff --git a/models/sbml-test-suite/cases/semantic/00850/00850-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00850/00850-sbml-l2v4.xml
new file mode 100644
index 0000000..f99748a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00850/00850-sbml-l2v4.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00850" id="case00850" name="case00850">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.15"/>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S3 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00850/00850-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00850/00850-sbml-l3v1.xml
new file mode 100644
index 0000000..5648e2b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00850/00850-sbml-l3v1.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00850" id="case00850" name="case00850" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.15" constant="true"/>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S3 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00850/00850-settings.txt b/models/sbml-test-suite/cases/semantic/00850/00850-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00850/00850-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00851/00851-results.csv b/models/sbml-test-suite/cases/semantic/00851/00851-results.csv
new file mode 100644
index 0000000..20c55ef
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00851/00851-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0
+0.1,0.0001492518718740149,7.481281259850865e-7
+0.2,0.0001470298009637395,2.970199036260434e-6
+0.3,0.0001433996221555662,6.600377844433734e-6
+0.4,0.0001384674518111702,0.00001153254818882975
+0.5,0.0001323745342838787,0.00001762546571612124
+0.6,0.0001252905315934656,0.00002470946840653433
+0.7,0.0001174056806218294,0.0000325943193781706
+0.8,0.0001089223558064527,0.00004107764419354722
+0.9,0.0001000465216539489,0.00004995347834605113
+1.,0.00009097960049910019,0.00005902039950089982
+1.1,0.00008191116426314935,0.00006808883573685065
+1.2,0.00007301283939365961,0.0000769871606063404
+1.3,0.00006443360630438724,0.00008556639369561277
+1.4,0.0000562966659066907,0.00009370333409330932
+1.5,0.00004869787025118543,0.0001013021297488146
+1.6,0.0000417055952271719,0.0001082944047728281
+1.7,0.00003536191164564081,0.0001146380883543592
+1.8,0.00002968480501850008,0.0001203151949814999
+1.9,0.00002467116862709788,0.0001253288313729021
+2.,0.00002030029260254299,0.000129699707397457
+2.1,0.00001653757912216503,0.000133462420877835
+2.2,0.00001333824271306947,0.0001366617572869306
+2.3,0.00001065080306570875,0.0001393491969342913
+2.4,8.420214362761942e-6,0.0001415797856372381
+2.5,6.590539947578383e-6,0.0001434094600524216
+2.6,5.107118198163573e-6,0.0001448928818018364
+2.7,3.918211234359608e-6,0.0001460817887656404
+2.8,2.976164073104588e-6,0.0001470238359268954
+2.9,2.23811785238308e-6,0.0001477618821476169
+3.,1.666349213056943e-6,0.000148333650786943
+3.1,1.228305009168324e-6,0.0001487716949908316
+3.2,8.96403304430605e-7,0.0001491035966955693
+3.3,6.476758869174923e-7,0.0001493523241130824
+3.4,4.633072135555591e-7,0.0001495366927864444
+3.5,3.281236404974154e-7,0.0001496718763595026
+3.6,2.30071585994387e-7,0.0001497699284140056
+3.7,1.597149088801958e-7,0.0001498402850911197
+3.8,1.097703519496619e-7,0.0001498902296480503
+3.9,7.469331301249418e-8,0.0001499253066869874
+4.,5.031938558910991e-8,0.0001499496806144108
+4.1,3.356186402812618e-8,0.0001499664381359718
+4.2,2.216225038085226e-8,0.000149977837749619
+4.3,1.448901081737345e-8,0.0001499855109891825
+4.4,9.378225514091644e-9,0.0001499906217744858
+4.5,6.009793775525941e-9,0.0001499939902062244
+4.6,3.812901674686604e-9,0.0001499961870983252
+4.7,2.395017196956681e-9,0.0001499976049828029
+4.8,1.489425644750175e-9,0.0001499985105743551
+4.9,9.170350448550259e-10,0.000149999082964955
+5.,5.589979758122896e-10,0.0001499994410020241
diff --git a/models/sbml-test-suite/cases/semantic/00851/00851-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00851/00851-sbml-l2v4.xml
new file mode 100644
index 0000000..c389448
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00851/00851-sbml-l2v4.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00851" id="case00851" name="case00851">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00851/00851-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00851/00851-sbml-l3v1.xml
new file mode 100644
index 0000000..a4844b1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00851/00851-sbml-l3v1.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00851" id="case00851" name="case00851" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00851/00851-settings.txt b/models/sbml-test-suite/cases/semantic/00851/00851-settings.txt
new file mode 100644
index 0000000..4e5ac53
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00851/00851-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00852/00852-results.csv b/models/sbml-test-suite/cases/semantic/00852/00852-results.csv
new file mode 100644
index 0000000..6824ca1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00852/00852-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0,0,0
+0.1,0.0009965061178604189,3.489515879658321e-6,4.358988282264677e-9,7.271644538585528e-12
+0.2,0.0009860975442628648,0.00001383301320207349,6.898097115542103e-8,4.61563910370732e-10
+0.3,0.0009689909564537408,0.00003066098258859451,3.428751404271065e-7,5.185817242502709e-9
+0.4,0.0009455391358903915,0.00005337606141675978,1.056219241299769e-6,2.858345155388327e-8
+0.5,0.0009162188716508022,0.00008117966906920999,2.495074581106221e-6,1.063846988865997e-7
+0.6,0.000881614846783393,0.0001131071847073808,4.969702172351491e-6,3.082663368794488e-7
+0.7,0.00084240026802,0.0001480697292321375,8.779693083116748e-6,7.503096647507078e-7
+0.8,0.0007993151343693368,0.0001849002910889533,0.00001417939739919533,1.605177142519437e-6
+0.9,0.0007531431221400648,0.000222401761603124,0.00002134703527956999,3.108080977245816e-6
+1.,0.0007046880897187816,0.0002593944267341404,0.00003036042338729215,5.557060159790821e-6
+1.1,0.0006547511756664684,0.0002947605940736823,0.00004118151301160977,9.306717248244326e-6
+1.2,0.0006041093828562083,0.0003274843012521526,0.00005365100516341318,0.00001475531072823086
+1.3,0.0005534964171141303,0.0003566844302446886,0.00006749329280505785,0.00002232585983612856
+1.4,0.0005035863913071653,0.0003816400100712683,0.00008233099434582158,0.00003244260427574986
+1.5,0.0004549808267202647,0.000401806993040015,0.00009770748787273608,0.00004550469236698902
+1.6,0.000408199195281282,0.0004168263006710244,0.0001131152127536693,0.00006185929129402925
+1.7,0.00036367306064786,0.0004265234207782949,0.0001280271245797091,0.00008177639399414107
+1.8,0.0003217437042245799,0.0004309002670014654,0.0001419285883534205,0.0001054274404205391
+1.9,0.0002826629727663989,0.0004301203630459232,0.0001543471586147873,0.0001328695055728954
+2.,0.0002465969639443167,0.0004244886703002523,0.0001648780819886203,0.0001640362837668156
+2.1,0.0002136320791274595,0.0004144275317639469,0.0001732039061802066,0.000198736482928392
+2.2,0.0001837829200882963,0.0004004502576984884,0.0001791072182324429,0.0002366596039807775
+2.3,0.0001570014873688856,0.0003831338365597162,0.0001824761914251503,0.0002773884846462531
+2.4,0.0001331871496022223,0.0003630921317853268,0.0001833032293249607,0.0003204174892874955
+2.5,0.0001121968905210097,0.0003409507382081547,0.0001816775054447946,0.0003651748658260467
+2.6,0.00009385539802810647,0.0003173244408848222,0.0001777725731924889,0.0004110475878945884
+2.7,0.00007796463130040991,0.0002927979640850556,0.0001718304473663264,0.000457406957248214
+2.8,0.00006431258137983177,0.0002679104383971388,0.0001641436362410989,0.0005036333439819364
+2.9,0.00005268102211203366,0.0002431437660003473,0.0001550365485596941,0.0005491386633279307
+3.,0.00004285212686532831,0.0002189148419413282,0.0001448475378342802,0.000593385493359069
+3.1,0.00003461389804213076,0.0001955714026769604,0.0001339126096044807,0.0006359020896764339
+3.2,0.00002776441816955913,0.0001733911279580334,0.0001225515389805846,0.0006762929148918285
+3.3,0.00002211498159080824,0.0001525835207279151,0.0001110568570283919,0.0007142446406528901
+3.4,0.00001749220370067723,0.0001332940311862956,0.00009968589183194102,0.0007495278732810918
+3.5,0.00001373923047278639,0.000115609871687552,0.00008865581319149315,0.0007819950846481741
+3.6,0.00001071618567970803,0.00009956698296564022,0.00007814144129691464,0.0008115753900577427
+3.7,8.299998040776855e-6,0.00008515765282899698,0.00006827544528400393,0.0008382669038462277
+3.8,6.383747317391672e-6,0.00007233834841811487,0.00005915047698725104,0.0008621274272772477
+3.9,4.875659019799617e-6,0.0000610373951482689,0.0000508227534192264,0.0008832641924127105
+4.,3.697863715546942e-6,0.00005116221310304804,0.00004331661056509569,0.0009018233126163148
+4.1,2.785020623654174e-6,0.00004260589926535094,0.00003662959132864072,0.0009179794887823598
+4.2,2.082887763630972e-6,0.00003525301697951987,0.00003073769170518008,0.0009319264035516746
+4.3,1.54690363613849e-6,0.00002898451919586646,0.00002560046201056923,0.0009438681151574313
+4.4,1.140829099963036e-6,0.00002368178732878757,0.00002116573627118429,0.0009540116473000708
+4.5,8.354834654185781e-7,0.00001922981186595792,0.00001737383614072612,0.0009625608685279028
+4.6,6.075962250344753e-7,0.00001551957412021189,0.00001416116140377831,0.0009697116682509808
+4.7,4.387854449913864e-7,0.00001244971134701145,0.00001146313447120704,0.0009756483687367954
+4.8,3.146656221038609e-7,9.927560916654703e-6,9.216509975187868e-6,0.0009805412634860586
+4.9,2.240816642451349e-7,7.869684800351795e-6,7.361092575744647e-6,0.000984545140959663
+5.,1.584613251132506e-7,6.201974838630581e-6,5.840927270795559e-6,0.0009877986365654655
diff --git a/models/sbml-test-suite/cases/semantic/00852/00852-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00852/00852-sbml-l2v4.xml
new file mode 100644
index 0000000..4855a09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00852/00852-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00852" id="case00852" name="case00852">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00852/00852-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00852/00852-sbml-l3v1.xml
new file mode 100644
index 0000000..c189aa4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00852/00852-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00852" id="case00852" name="case00852" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00852/00852-settings.txt b/models/sbml-test-suite/cases/semantic/00852/00852-settings.txt
new file mode 100644
index 0000000..17c3ca9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00852/00852-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00853/00853-results.csv b/models/sbml-test-suite/cases/semantic/00853/00853-results.csv
new file mode 100644
index 0000000..2984926
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00853/00853-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,2.,2.,0,0
+0.1,1.98027687069821,1.980242194627081,0.01972312930179007,0.00003467607112939467
+0.2,1.924285994425995,1.923746216779407,0.07571400557400441,0.0005397776465888971
+0.3,1.840579759780687,1.837966056113953,0.159420240219312,0.002613703666735053
+0.4,1.740645401057284,1.732864116950726,0.2593545989427153,0.007781284106559319
+0.5,1.636148636420715,1.61848870048545,0.3638513635792837,0.01765993593526665
+0.6,1.536854580806531,1.503187451179162,0.4631454191934677,0.03366712962737029
+0.7,1.449618575779246,1.392787775383098,0.5503814242207536,0.05683080039614879
+0.8,1.37830384082654,1.290590034905305,0.6216961591734592,0.08771380592123603
+0.9,1.324257828154553,1.197827934931567,0.675742171845446,0.1264298932229872
+1.,1.287004813254443,1.114288260663887,0.7129951867455558,0.1727165525905572
+1.1,1.264932798201782,1.038900418968997,0.7350672017982173,0.2260323792327856
+1.2,1.255865973590474,0.9702110384456854,0.7441340264095248,0.2856549351447897
+1.3,1.257487376205349,0.9067229498570014,0.7425126237946498,0.3507644263483489
+1.4,1.26761511155007,0.8471086580517549,0.7323848884499288,0.4205064534983165
+1.5,1.28435372461672,0.7903206605279253,0.7156462753832785,0.4940330640887963
+1.6,1.306149752508405,0.7356245420761253,0.6938502474915941,0.5705252104322805
+1.7,1.331781845897344,0.6825801818454782,0.6682181541026551,0.6492016640518669
+1.8,1.360313099247652,0.6309933106036085,0.6396869007523463,0.7293197886440453
+1.9,1.391027823031448,0.5808549819175846,0.6089721769685506,0.810172841113865
+2.,1.423368317362269,0.5322811383747415,0.5766316826377301,0.8910871789875286
+2.1,1.456880682015703,0.4854593481190243,0.5431193179842965,0.9714213338966796
+2.2,1.491173637441217,0.4406059010131964,0.5088263625587812,1.050567736428022
+2.3,1.525890702987247,0.3979337210754871,0.4741092970127513,1.127956981911761
+2.4,1.560694144339073,0.3576301477079653,0.4393058556609259,1.203063996631109
+2.5,1.595258230381816,0.3198430135671603,0.4047417696181831,1.275415216814657
+2.6,1.629269182479928,0.2846733727034926,0.3707308175200716,1.344595809776436
+2.7,1.662429414017058,0.2521733461683413,0.3375705859829413,1.410256067848718
+2.8,1.694464016424602,0.2223477506812524,0.3055359835753974,1.472116265743351
+2.9,1.725127830873915,0.1951583870110097,0.2748721691260846,1.529969443862906
+3.,1.754211873201445,0.1705299867275698,0.2457881267985544,1.583681886473876
+3.1,1.781548232107041,0.1483570271549569,0.2184517678929588,1.633191204952085
+3.2,1.807012953327717,0.1285107431825946,0.1929870466722828,1.678502210145123
+3.3,1.830526728871274,0.11084584880204,0.1694732711287255,1.719680880069235
+3.4,1.85205349387819,0.09520662894933071,0.1479465061218101,1.75684686492886
+3.5,1.871597218137141,0.08143221012105962,0.128402781862858,1.790165008016083
+3.6,1.889197319120587,0.06936093183365044,0.1108026808794128,1.819836387286937
+3.7,1.904923160699039,0.05883383137584301,0.09507683930096057,1.846089329323197
+3.8,1.918868104855794,0.04969731202778549,0.08113189514420547,1.869170792828009
+3.9,1.931143515328369,0.04180509350733461,0.06885648467163028,1.889338421821036
+4.,1.941873050708474,0.03501955969561772,0.05812694929152509,1.906853491012858
+4.1,1.951187477589277,0.02921260754211406,0.04881252241072264,1.921974870047164
+4.2,1.959220162760303,0.02426610301243554,0.04077983723969674,1.934954059747869
+4.3,1.96610331459083,0.0200720227263771,0.0338966854091694,1.946031291864455
+4.4,1.971964988853104,0.01653235693241758,0.02803501114689567,1.955432631920688
+4.5,1.976926825277794,0.01355882915497783,0.02307317472220555,1.963367996122818
+4.6,1.981102448126643,0.01107248227015421,0.01889755187335613,1.970029965856491
+4.7,1.984596448225292,0.009003166927819281,0.01540355177470775,1.975593281297474
+4.8,1.987503853309321,0.007288964597007916,0.01249614669067782,1.980214888712315
+4.9,1.98990999445557,0.005875569897549844,0.01009000554442946,1.984034424558022
+5.,1.991890680656552,0.004715653074557801,0.00810931934344742,1.987175027581996
diff --git a/models/sbml-test-suite/cases/semantic/00853/00853-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00853/00853-sbml-l2v4.xml
new file mode 100644
index 0000000..e532f1c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00853/00853-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00853" id="case00853" name="case00853">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="0.9"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00853/00853-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00853/00853-sbml-l3v1.xml
new file mode 100644
index 0000000..1dfe798
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00853/00853-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00853" id="case00853" name="case00853" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.9" constant="true"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00853/00853-settings.txt b/models/sbml-test-suite/cases/semantic/00853/00853-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00853/00853-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00854/00854-results.csv b/models/sbml-test-suite/cases/semantic/00854/00854-results.csv
new file mode 100644
index 0000000..bf84210
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00854/00854-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.1,0.01
+0.1,0.09950124791136663,0.0104987520886334
+0.2,0.09801986732386855,0.01198013267613145
+0.3,0.09559974817606932,0.01440025182393067
+0.4,0.09231163463668848,0.01768836536331152
+0.5,0.08824969025769073,0.02175030974230926
+0.6,0.083527021107081,0.02647297889291897
+0.7,0.07827045378730018,0.03172954621269977
+0.8,0.07261490383124703,0.03738509616875292
+0.9,0.06669768160848099,0.04330231839151895
+1.,0.06065306690761418,0.04934693309238577
+1.1,0.05460744271032838,0.05539255728967157
+1.2,0.04867522659138914,0.06132477340861081
+1.3,0.04295573732386289,0.06704426267613705
+1.4,0.0375311114964513,0.07246888850354864
+1.5,0.03246524878898993,0.07753475121101
+1.6,0.02780373233890675,0.08219626766109318
+1.7,0.02357460994841716,0.08642539005158279
+1.8,0.0197898719754805,0.09021012802451942
+1.9,0.01644744733398059,0.09355255266601934
+2.,0.01353352835600823,0.0964664716439917
+2.1,0.01102505279541243,0.09897494720458752
+2.2,0.00889216175195911,0.1011078382480408
+2.3,0.007100535405621668,0.1028994645943782
+2.4,0.005613476259651534,0.1043865237403484
+2.5,0.004393693300277155,0.1056063066997227
+2.6,0.003404745343818465,0.1065952546561814
+2.7,0.002612140956878917,0.107387859043121
+2.8,0.001984109317073036,0.1080158906829269
+2.9,0.001492078490205447,0.1085079215097945
+3.,0.0011108996538202,0.1088891003461797
+3.1,0.0008188700641489206,0.109181129935851
+3.2,0.0005976022735014427,0.1094023977264985
+3.3,0.0004317839979070673,0.1095682160020929
+3.4,0.0003088715404822502,0.1096911284595177
+3.5,0.0002187490795729218,0.1097812509204271
+3.6,0.0001533810582540932,0.1098466189417459
+3.7,0.0001064766151515473,0.1098935233848484
+3.8,0.00007318024109340179,0.1099268197589066
+3.9,0.00004979553336825492,0.1099502044666318
+4.,0.00003354625735816105,0.1099664537426418
+4.1,0.00002237457551287086,0.1099776254244871
+4.2,0.00001477483338668638,0.1099852251666133
+4.3,9.659339514765536e-6,0.1099903406604853
+4.4,6.252149558316681e-6,0.1099937478504417
+4.5,4.006529695715268e-6,0.1099959934703043
+4.6,2.541934107635912e-6,0.1099974580658924
+4.7,1.596678387767175e-6,0.1099984033216122
+4.8,9.929502774218734e-7,0.1099990070497225
+4.9,6.113566867496557e-7,0.1099993886433132
+5.,3.726653172074874e-7,0.1099996273346827
diff --git a/models/sbml-test-suite/cases/semantic/00854/00854-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00854/00854-sbml-l2v4.xml
new file mode 100644
index 0000000..b65f4b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00854/00854-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00854" id="case00854" name="case00854">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00854/00854-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00854/00854-sbml-l3v1.xml
new file mode 100644
index 0000000..47483fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00854/00854-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00854" id="case00854" name="case00854" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00854/00854-settings.txt b/models/sbml-test-suite/cases/semantic/00854/00854-settings.txt
new file mode 100644
index 0000000..5a66c8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00854/00854-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00855/00855-results.csv b/models/sbml-test-suite/cases/semantic/00855/00855-results.csv
new file mode 100644
index 0000000..1ee813f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00855/00855-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0,0,0
+0.12,0.009949726794895147,0.00005018274595178019,9.024228543000997e-8,2.168676509869751e-10
+0.24,0.009800418540649011,0.0001981465520140024,1.421191579193322e-6,1.371575780454972e-8
+0.36,0.009556533846808278,0.0004363055282504761,7.007449992895078e-6,1.531749483855988e-7
+0.48,0.009225257409387758,0.0007525609692656333,0.00002134441245556251,8.372088910869132e-7
+0.6,0.008816148467834022,0.00113107184707369,0.00004969702172344665,3.082663368878653e-6
+0.72,0.008340682878994441,0.001553245800766689,0.00009725480685164131,8.81651338726721e-6
+0.84,0.007811719397840268,0.001998873220406653,0.0001682748257095822,0.00002113255604353672
+0.96,0.007242924729548107,0.002447318288160302,0.0002653330653256416,0.00004442391696599196
+1.08,0.006648193030414482,0.002878680003351475,0.0003887858921165746,0.00008434107411751019
+1.2,0.006041093828565271,0.003274843012512965,0.0005365100516395808,0.0001475531072822258
+1.32,0.00543437812169715,0.003620351440744009,0.0007039483648099789,0.0002413220727489045
+1.44,0.004839566221235555,0.003903057204089093,0.0008844454877874104,0.0003729310868879879
+1.56,0.00426663343264189,0.004114515407186769,0.001069820453028787,0.0005490307071426022
+1.68,0.003723801641154136,0.004250121187159858,0.001251095386178206,0.000774981785507849
+1.8,0.003217437042220128,0.004309002670056951,0.001419285883554672,0.001054274404168295
+1.92,0.002752047260321991,0.00429370180472483,0.001566158725241641,0.001388092209711584
+2.04,0.00233036543191156,0.004209687480940228,0.001684875326460123,0.001775071760688135
+2.16,0.001953504800720957,0.004064752852196648,0.001770461318178625,0.002211281028903818
+2.28,0.001621165107660408,0.003868351087703465,0.001820069656352909,0.002690414148283268
+2.4,0.001331871496022197,0.003630921317853216,0.001833032293249715,0.003204174892874923
+2.52,0.001083227589269672,0.003363250171851388,0.001810719872513875,0.003742802366365117
+2.64,0.0008721665226212122,0.003075905157168246,0.001756247366150619,0.004295680954059976
+2.76,0.0006951866509117083,0.002778765426871314,0.001674074604935691,0.00485197331728134
+2.88,0.0005485620346023416,0.002480664414746722,0.001569554103688269,0.005401219446962723
+3.,0.0004285212686566187,0.002189148419389726,0.001448475378337432,0.00593385493361628
+3.12,0.0003313914721730902,0.001910346289694894,0.001316646740327899,0.006441615497804171
+3.24,0.0002537070796673726,0.001648938408724108,0.001179544337446779,0.006917810174161796
+3.36,0.0001922853317839681,0.001408208437848643,0.001042045958698231,0.007357460271669213
+3.48,0.0001442719949597273,0.001190158739749406,0.0009082555202367585,0.007757313745054164
+3.6,0.0001071618567929871,0.000995669829665347,0.0007814144129795118,0.008115753900562211
+3.72,0.00007879900515347474,0.0008246852572661325,0.0006638887240502755,0.008432627013530175
+3.84,0.00005736190297233117,0.0006764055537471077,0.000557216943815838,0.00870901559946478
+3.96,0.00004133792551134009,0.0005494778569655405,0.0004622009628413788,0.008946983254681798
+4.08,0.00002949144943428995,0.0004421711297454249,0.0003790234918087528,0.009149313929011592
+4.2,0.00002082887763674446,0.0003525301697951394,0.0003073769170511932,0.009319264035516982
+4.32,0.00001456323747168018,0.0002785046117758107,0.0002465914271450107,0.009460340723607558
+4.44,0.00001008027326399569,0.000218051666513335,0.0001957534559060364,0.009576114604316699
+4.56,6.907310695976964e-6,0.0001692133421628052,0.0001538086510755039,0.009670070696065777
+4.68,4.685629969680441e-6,0.0001301703259425635,0.0001196463850417747,0.009745497659046047
+4.8,3.146656220747437e-6,0.00009927560916544432,0.0000921650997513604,0.009805412634862517
+4.92,2.091957795734751e-6,0.00007507138324100097,0.00007031945591342448,0.009852517203049913
+5.04,1.376825341677732e-6,0.00005629281150110727,0.00005315135503554449,0.009889179008121742
+5.16,8.970715734157541e-7,0.00004186208780943423,0.0000398074953849554,0.009917433345232267
+5.28,5.786256085003375e-7,0.000030875819845293,0.00002954631202410005,0.009938999242522179
+5.4,3.694796450185088e-7,0.00002258830308779158,0.00002173704725279422,0.00995530517001447
+5.52,2.335638882322331e-7,0.00001639274547928295,0.00001585340481897467,0.00996752028581359
+5.64,1.4616493136189e-7,0.00001180201039972052,0.00001146384697781316,0.00997658797769118
+5.76,9.055303045998124e-8,8.429999280904456e-6,8.220166188312664e-6,0.009983259281500409
+5.88,5.553734354077878e-8,5.974413196066501e-6,5.845550899582799e-6,0.009988124498560914
+6.,3.372015234627755e-8,4.201322609692662e-6,4.122997620413909e-6,0.009991641959617667
diff --git a/models/sbml-test-suite/cases/semantic/00855/00855-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00855/00855-sbml-l2v4.xml
new file mode 100644
index 0000000..59189fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00855/00855-sbml-l2v4.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00855" id="case00855" name="case00855">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> C </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S2 </ci>
+                <ci> C </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S3 </ci>
+                <ci> C </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00855/00855-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00855/00855-sbml-l3v1.xml
new file mode 100644
index 0000000..e4f084b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00855/00855-sbml-l3v1.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00855" id="case00855" name="case00855" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <bvar>
+              <ci> z </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+              <ci> z </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> C </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S2 </ci>
+                <ci> C </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S3 </ci>
+                <ci> C </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00855/00855-settings.txt b/models/sbml-test-suite/cases/semantic/00855/00855-settings.txt
new file mode 100644
index 0000000..664f965
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00855/00855-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00856/00856-results.csv b/models/sbml-test-suite/cases/semantic/00856/00856-results.csv
new file mode 100644
index 0000000..4889adc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00856/00856-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,2.,2.,0,0
+0.12,1.971771308181178,1.971699695848491,0.0282286918188235,0.00007161233268895679
+0.24,1.89352088609311,1.892419195578125,0.1064791139068923,0.001101690514985232
+0.36,1.781794915633311,1.776557146499066,0.2182050843666903,0.005237769134246417
+0.48,1.656905571607735,1.641671049273407,0.3430944283922656,0.01523452233433019
+0.6,1.536854577195978,1.503187448132957,0.4631454228040219,0.03366712906302356
+0.72,1.434006715060263,1.37162662594302,0.5659932849397372,0.06238008911724474
+0.84,1.354606741962033,1.252339202535164,0.6453932580379691,0.1022675394268703
+0.96,1.299975911884124,1.146652907899542,0.7000240881158779,0.1533230039845828
+1.08,1.268232902975663,1.053393220375485,0.7317670970243401,0.2148396826001773
+1.2,1.255865974020297,0.9702110389473839,0.7441340259797052,0.285654935072914
+1.32,1.25889779214001,0.8945281446481023,0.7411022078599925,0.3643696474919084
+1.44,1.273612038933018,0.8241024305261808,0.7263879610669856,0.4495096084068378
+1.56,1.296909618525004,0.7572862505256932,0.703090381475,0.5396233679993111
+1.68,1.326397117832613,0.6930693043946049,0.6736028821673912,0.6333278134380073
+1.8,1.360313099499301,0.630993310802446,0.6396869005007039,0.7293197886968533
+1.92,1.397381579494806,0.5710097801310388,0.6026184205051985,0.8263717993637653
+2.04,1.436655594072581,0.5133303127977532,0.5633444059274224,0.9233252812748274
+2.16,1.477386142375463,0.4582970747554315,0.5226138576245419,1.019089067620029
+2.28,1.518929764657572,0.4062841608260037,0.4810702353424332,1.112645603831566
+2.4,1.56069414446434,0.3576301471869507,0.4393058555356656,1.203063997277387
+2.52,1.60211446454051,0.3125973137735906,0.3978855354594956,1.289517150766917
+2.64,1.642651341142493,0.2713517148618314,0.3573486588575131,1.371299626280659
+2.76,1.681801688125893,0.2339586015667459,0.3181983118741131,1.447843086559144
+2.88,1.719115328486023,0.2003884936470656,0.2808846715139832,1.518726834838954
+3.,1.754211873615868,0.1705299865105657,0.245788126384137,1.5836818871053
+3.12,1.786794085465371,0.1442060882527655,0.2132059145346343,1.642587997212604
+3.24,1.816655538344259,0.1211915658980928,0.1833444616557463,1.695463972446164
+3.36,1.843681823832054,0.1012294714442974,0.1563181761679512,1.742452352387755
+3.48,1.867845692698689,0.0840456888303409,0.1321543073013163,1.783800003868347
+3.6,1.889197319116754,0.06936093183402952,0.1108026808832511,1.819836387282723
+3.72,1.907851279680488,0.0569000775767031,0.0921487203195177,1.850951202103783
+3.84,1.923971905054355,0.04639902041037122,0.07602809494564995,1.877572884643983
+3.96,1.937758475884324,0.03760938978085373,0.06224152411568121,1.90014908610347
+4.08,1.949431404136406,0.03030152737623591,0.05056859586359852,1.91912987676017
+4.2,1.959220162759385,0.02426610301615465,0.04077983724061953,1.93495405974323
+4.32,1.967353370754773,0.01931469919020101,0.03264662924523122,1.948038671564572
+4.44,1.974051148017146,0.01527963447848911,0.02594885198285849,1.958771513538657
+4.56,1.979519640232545,0.01201323969160232,0.02048035976745957,1.967506400540943
+4.68,1.983947476871848,0.009386753198842015,0.01605252312815693,1.974560723673005
+4.8,1.987503853306092,0.00728896459955774,0.01249614669391198,1.980214888706535
+4.92,1.990337905859015,0.005624707328908174,0.009662094140989317,1.984713198530108
+5.04,1.992579060750619,0.00431327891623942,0.007420939249385413,1.988265781834381
+5.16,1.994338071011645,0.003286850469457858,0.005661928988359724,1.991051220542189
+5.28,1.995708499114784,0.002488913030365577,0.004291500885220174,1.99321958608442
+5.4,1.99676844978502,0.001872796731628853,0.003231550214985454,1.994895653053391
+5.52,1.99758240231508,0.001400288610253211,0.002417597684925723,1.996182113704827
+5.64,1.998203031872373,0.00104036621498862,0.0017969681276321,1.997162665657386
+5.76,1.998672943379879,0.0007680566860541662,0.001327056620126034,1.997904886693826
+5.88,1.999026269280355,0.000563424740066177,0.0009737307196495541,1.99846284454029
+6.,1.999290104119443,0.0004106879650819175,0.0007098958805615035,1.998879416154363
diff --git a/models/sbml-test-suite/cases/semantic/00856/00856-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00856/00856-sbml-l2v4.xml
new file mode 100644
index 0000000..c93d67d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00856/00856-sbml-l2v4.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00856" id="case00856" name="case00856">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="0.9"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k2 </ci>
+                <ci> S3 </ci>
+              </apply>
+              <apply>
+                <ci> multiply </ci>
+                <ci> C </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00856/00856-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00856/00856-sbml-l3v1.xml
new file mode 100644
index 0000000..d8caef8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00856/00856-sbml-l3v1.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00856" id="case00856" name="case00856" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.9" constant="true"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> k2 </ci>
+                <ci> S3 </ci>
+              </apply>
+              <apply>
+                <ci> multiply </ci>
+                <ci> C </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00856/00856-settings.txt b/models/sbml-test-suite/cases/semantic/00856/00856-settings.txt
new file mode 100644
index 0000000..7ac3dec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00856/00856-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00857/00857-results.csv b/models/sbml-test-suite/cases/semantic/00857/00857-results.csv
new file mode 100644
index 0000000..ffc5773
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00857/00857-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0
+0.12,0.0001489238786864918,1.076121313508221e-006
+0.24,0.0001457416171549521,4.258382845047919e-006
+0.36,0.000140588235283506,9.411764716493949e-006
+0.48,0.0001336781843659626,1.632181563403734e-005
+0.6,0.0001252905319758004,2.470946802419957e-005
+0.72,0.0001157503008435475,3.424969915645248e-005
+0.84,0.0001054076580259589,4.459234197404105e-005
+0.96,9.461682327029049e-005,5.53831767297095e-005
+1.08,8.371643351062373e-005,6.628356648937626e-005
+1.2,7.301283845753113e-005,7.698716154246886e-005
+1.32,6.276736637544672e-005,8.723263362455327e-005
+1.44,5.318813226512902e-005,9.681186773487096e-005
+1.56,4.442646221237756e-005,0.0001055735377876224
+1.68,3.657757319414702e-005,0.000113422426805853
+1.8,2.968480497248979e-005,0.0001203151950275102
+1.92,2.374650328133733e-005,0.0001262534967186626
+2.04,1.872454609322394e-005,0.000131275453906776
+2.16,1.455355497872644e-005,0.0001354464450212735
+2.28,1.11499531796381e-005,0.0001388500468203619
+2.4,8.420214544960428e-006,0.0001415797854550395
+2.52,6.267862093392325e-006,0.0001437321379066076
+2.64,4.598983689291606e-006,0.0001454010163107083
+2.76,3.326216106994507e-006,0.0001466737838930054
+2.88,2.37129288389207e-006,0.0001476287071161079
+3,1.666349401346655e-006,0.0001483336505986533
+3.12,1.154232007770263e-006,0.0001488457679922297
+3.24,7.880729889891083e-007,0.0001492119270110109
+3.36,5.303784260102195e-007,0.0001494696215739898
+3.48,3.518448105246392e-007,0.0001496481551894753
+3.6,2.300717982173092e-007,0.0001497699282017827
+3.72,1.48292938988256e-007,0.0001498517070610117
+3.84,9.421620240614312e-008,0.0001499057837975938
+3.96,5.900314118202824e-008,0.000149940996858818
+4.08,3.642250068711967e-008,0.0001499635774993129
+4.2,2.216223247948267e-008,0.0001499778377675205
+4.32,1.329248145834992e-008,0.0001499867075185417
+4.44,7.858615402067911e-009,0.000149992141384598
+4.56,4.579657571326019e-009,0.0001499954203424287
+4.68,2.630645622672567e-009,0.0001499973693543773
+4.8,1.489405322080606e-009,0.0001499985105946779
+4.92,8.311292703511508e-010,0.0001499991688707297
+5.04,4.572611459344822e-010,0.0001499995427388541
+5.16,2.481533727490362e-010,0.0001499997518466273
+5.28,1.32470597016771e-010,0.000149999867529403
+5.4,6.982775492404493e-011,0.0001499999301722451
+5.52,3.633473193267891e-011,0.0001499999636652681
+5.64,1.849862543184375e-011,0.0001499999815013746
+5.76,9.434088879788336e-012,0.0001499999905659111
+5.88,4.748646465338068e-012,0.0001499999952513535
+6,2.341934165994744e-012,0.0001499999976580658
diff --git a/models/sbml-test-suite/cases/semantic/00857/00857-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00857/00857-sbml-l2v4.xml
new file mode 100644
index 0000000..966331b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00857/00857-sbml-l2v4.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00857" id="case00857" name="case00857">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.57" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00857/00857-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00857/00857-sbml-l3v1.xml
new file mode 100644
index 0000000..98df137
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00857/00857-sbml-l3v1.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00857" id="case00857" name="case00857" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.57" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00857/00857-settings.txt b/models/sbml-test-suite/cases/semantic/00857/00857-settings.txt
new file mode 100644
index 0000000..5104335
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00857/00857-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00858/00858-results.csv b/models/sbml-test-suite/cases/semantic/00858/00858-results.csv
new file mode 100644
index 0000000..7548d14
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00858/00858-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0,0,0
+0.08,0.009977625069278689,2.235703364133196e-005,1.787800076888214e-008,1.907920879623029e-011
+0.16,0.009910800147844416,8.891467275591769e-005,2.83908242411231e-007,1.271157252827535e-009
+0.24,0.009800418564759716,0.0001981464986303749,1.421243867552506e-006,1.369274235545408e-008
+0.32,0.009647946489080331,0.0003475588519913764,4.41854475821051e-006,7.61141700808095e-008
+0.4,0.009455391326336887,0.0005337606841860212,1.056213511032603e-005,2.858543667652148e-007
+0.48,0.009225257418447678,0.0007525609498174146,2.1344427818399e-005,8.372039165070852e-007
+0.56,0.008960491633032069,0.0009990873276014061,3.835736934394188e-005,2.063670022581787e-006
+0.64,0.008664420919126881,0.001267921181126276,6.31783951400508e-005,4.479504606791226e-006
+0.72,0.00834068286640367,0.001553245826504337,9.725479089357684e-005,8.816516198415575e-006
+0.8,0.007993151346645388,0.001849002905640367,0.0001417939724872612,1.60517752269818e-005
+0.88,0.007625859943581587,0.002149050394857621,0.0001976673956922604,2.742226586853125e-005
+0.96,0.007242924722993619,0.002447318299029617,0.0002653330522097913,4.442392576697234e-005
+1.04,0.00684846876399759,0.002737956406187471,0.0003447814453578831,6.879338445705555e-005
+1.12,0.006446549957764501,0.00301547049925028,0.0004355074591245862,0.0001024720838606315
+1.2,0.006041093831194894,0.003274843013894357,0.0005365100078421608,0.0001475531470685875
+1.28,0.005635833728339261,0.003511633660065577,0.0006463181937059904,0.0002062144178891729
+1.36,0.005234257977917261,0.003722060417386033,0.00076304220232649,0.0002806394023702158
+1.44,0.004839566214191476,0.003903057218986375,0.0008844454697956075,0.0003729310970265411
+1.52,0.004454634840494288,0.004052308823360872,0.001008033216494287,0.0004850231196505527
+1.6,0.004081991946008241,0.004168263020269284,0.001131152112155312,0.0006185929215671627
+1.68,0.00372380163673286,0.004250121194734408,0.001251095385605621,0.0007749817829271113
+1.76,0.003381857426213025,0.004297809022373242,0.001365207623058609,0.0009551259283551243
+1.84,0.003057584097378234,0.004311929611884161,0.001470983913115438,0.001159502377622166
+1.92,0.002752047252295531,0.004293701826899019,0.001566158722999076,0.001388092197806374
+2,0.002465969616771075,0.004244886764824164,0.001648780763450943,0.001640362854953819
+2.08,0.002199752991745058,0.004167705753905836,0.00171727082381865,0.001915270430530456
+2.16,0.001953504766164581,0.004064752941308195,0.001770461230061286,0.002211281062465938
+2.24,0.001727067841281187,0.003938905611465955,0.001807616306794003,0.002526410240458855
+2.32,0.001520052838343647,0.00379323514830893,0.001828434334386702,0.002858277678960721
+2.4,0.001331871516074947,0.003630921259848743,0.001833032397414578,0.003204174826661732
+2.48,0.001161770431735731,0.003455171648512613,0.001821916395599322,0.003561141524152335
+2.56,0.001008864071056845,0.00326914871759594,0.001795938880581813,0.003926048330765404
+2.64,0.0008721664640381103,0.00307590529197208,0.001756247354375905,0.004295680889613906
+2.72,0.0007506206455337152,0.002878330329247735,0.001704226290537848,0.004666822734680702
+2.8,0.0006431258578848422,0.002679104267741528,0.00164143646061707,0.00503633341375656
+2.88,0.0005485620592534171,0.002480664341673838,0.001569554182663052,0.005401219416409694
+2.96,0.0004658111921351343,0.002285180496896106,0.001490312481350079,0.005758695829618681
+3.04,0.0003937752723736015,0.002094540953001907,0.001405446787316142,0.006106236987308349
+3.12,0.0003313914730277261,0.001910346270251837,0.001316646785491026,0.00644161547122941
+3.2,0.0002776441854123674,0.001733911255444467,0.001225515424111181,0.006762929135031984
+3.28,0.0002315742137463783,0.001566273647482615,0.001133535774396287,0.007068616364374719
+3.36,0.0001922853406762074,0.001408208406408456,0.00104204597174192,0.007357460281173415
+3.44,0.0001589485276715337,0.001260246436382112,0.0009522220805524157,0.007628582955393938
+3.52,0.0001308040532860843,0.001122696574132285,0.0008650683856167562,0.007881430986964874
+3.6,0.0001071618627019767,0.0009956698068938959,0.0007814144124869419,0.008115753917917185
+3.68,8.740044895329499e-005,0.0008791046888794641,0.0007019177611694676,0.008331577100997771
+3.76,7.096454584526873e-005,0.0007727930926289953,0.0006270717649073436,0.008529170596618391
+3.84,5.736190207941388e-005,0.0006764055415953004,0.0005572169452003671,0.008709015611124917
+3.92,4.615938463931551e-005,0.0005895154991725736,0.0004925552485201375,0.008871769867667972
+4,3.697865230503915e-005,0.000511622109005462,0.0004331660799074781,0.009018233158782021
diff --git a/models/sbml-test-suite/cases/semantic/00858/00858-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00858/00858-sbml-l2v4.xml
new file mode 100644
index 0000000..7029c8c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00858/00858-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00858" id="case00858" name="case00858">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.45" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00858/00858-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00858/00858-sbml-l3v1.xml
new file mode 100644
index 0000000..3b5f9fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00858/00858-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00858" id="case00858" name="case00858" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.45" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00858/00858-settings.txt b/models/sbml-test-suite/cases/semantic/00858/00858-settings.txt
new file mode 100644
index 0000000..47ebbcf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00858/00858-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00859/00859-results.csv b/models/sbml-test-suite/cases/semantic/00859/00859-results.csv
new file mode 100644
index 0000000..0b85c57
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00859/00859-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,2,2,0,0
+0.12,1.971203545058641,1.971130485483288,0.02879645494135914,7.30595753526207e-005
+0.24,1.891467994619215,1.890344656361064,0.1085320053807844,0.001123338258151715
+0.36,1.777857608152802,1.772521355135031,0.2221423918471982,0.005336253017770284
+0.48,1.651219167506439,1.63571389152766,0.3487808324935603,0.01550527597877971
+0.6,1.529896772159836,1.495668899387856,0.4701032278401637,0.03422787277198033
+0.72,1.426362934013213,1.363014092388625,0.5736370659867869,0.06334884162458826
+0.84,1.346802550609448,1.243057539448658,0.6531974493905515,0.1037450111607903
+0.96,1.292402080945989,1.137018499755536,0.7075979190540104,0.1553835811904537
+1.08,1.261136257599259,1.043606637907074,0.7388637424007412,0.2175296196921845
+1.2,1.249377319442395,0.9603817932139651,0.7506226805576055,0.2889955262284294
+1.32,1.253068826721317,0.8847071077301892,0.7469311732786831,0.3683617189911277
+1.44,1.268451459217485,0.8143133912881564,0.7315485407825147,0.4541380679293288
+1.56,1.292407375433597,0.7475475141385061,0.7075926245664033,0.5448598612950907
+1.68,1.322540696772159,0.6834083115158376,0.6774593032278408,0.6391323852563215
+1.8,1.357092123909363,0.6214512040728139,0.6429078760906372,0.7356409198365489
+1.92,1.394788501459811,0.561642000792934,0.6052114985401893,0.8331465006668766
+2.04,1.434681648915801,0.504202521128397,0.5653183510841988,0.9304791277874039
+2.16,1.476016676130681,0.4494796851541846,0.5239833238693187,1.026536990976497
+2.28,1.518141157226971,0.3978473184200811,0.4818588427730289,1.12029383880689
+2.4,1.560450189207176,0.3496376571159233,0.439549810792824,1.210812532091252
+2.52,1.602366959678385,0.3051034877905607,0.3976330403216147,1.297263471887824
+2.64,1.64334005547302,0.264397643192287,0.3566599445269796,1.378942412280733
+2.76,1.682857437559645,0.2275710831405081,0.3171425624403551,1.455286354419137
+2.88,1.720463397574477,0.1945797453948189,0.2795366024255229,1.525883652179658
+3,1.755775690516387,0.1652982785069503,0.244224309483613,1.590477412009437
+3.12,1.788499236770711,0.1395375027475608,0.2115007632292887,1.64896173402315
+3.24,1.818433255627671,0.1170622298708102,0.181566744372328,1.701371025756862
+3.36,1.845471542725992,0.09760788770898436,0.1545284572740078,1.747863655017008
+3.48,1.869596709734589,0.08089505388110156,0.130403290265411,1.788701655853487
+3.6,1.890869529503639,0.06664125399737658,0.1091304704963602,1.824228275506263
+3.72,1.909415094531931,0.0545699854071808,0.09058490546806867,1.85484510912475
+3.84,1.925407527340163,0.04441722377836073,0.0745924726598363,1.880990303561803
+3.96,1.939054740338552,0.03593580146393782,0.06094525966144767,1.903118938874615
+4.08,1.950584376260194,0.02889807852655676,0.04941562373980554,1.921686297733638
+4.2,1.96023166095249,0.02309729722591507,0.03976833904750952,1.937134363726575
+4.32,1.968229535545015,0.01834795200391248,0.03177046445498474,1.949881583541103
+4.44,1.974801141950755,0.01448544216370614,0.025198858049245,1.960315699787049
+4.56,1.980154526458102,0.01136521574884561,0.01984547354189744,1.968789310709256
+4.68,1.984479296185925,0.008861565206028424,0.0155207038140745,1.975617730979897
+4.8,1.987944900096831,0.006866199688347427,0.01205509990316876,1.981078700408483
+4.92,1.990700187798236,0.005286687878637469,0.009299812201763647,1.985413499919599
+5.04,1.992873916704441,0.004044843523281824,0.007126083295558454,1.98882907318116
+5.16,1.994575923797622,0.003075116537985819,0.005424076202377957,1.991500807259636
+5.28,1.995898717903167,0.002323033142279104,0.004101282096832097,1.993575684760888
+5.4,1.99691929853569,0.001743719934493811,0.00308070146431002,1.995175578601196
+5.52,1.997701049568006,0.001300530660794856,0.0022989504319931,1.996400518907211
+5.64,1.998295601866788,0.0009637904564456817,0.001704398133211902,1.997331811410342
+5.76,1.998744597117879,0.0007096741668081656,0.001255402882120364,1.998034922951071
+5.88,1.999081301372774,0.0005192151215000271,0.0009186986272255843,1.998562086251273
+6,1.999332045777389,0.0003774377710304791,0.0006679542226103405,1.998954608006358
diff --git a/models/sbml-test-suite/cases/semantic/00859/00859-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00859/00859-sbml-l2v4.xml
new file mode 100644
index 0000000..ad8f132
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00859/00859-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00859" id="case00859" name="case00859">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.98" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="0.9"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00859/00859-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00859/00859-sbml-l3v1.xml
new file mode 100644
index 0000000..f1843f1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00859/00859-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00859" id="case00859" name="case00859" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.98" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.9" constant="true"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00859/00859-settings.txt b/models/sbml-test-suite/cases/semantic/00859/00859-settings.txt
new file mode 100644
index 0000000..7ac3dec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00859/00859-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00860/00860-results.csv b/models/sbml-test-suite/cases/semantic/00860/00860-results.csv
new file mode 100644
index 0000000..36e47db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00860/00860-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.1,0.001492518718747919,7.481281252080671e-6
+0.2,0.00147029800977466,0.00002970199022533918
+0.3,0.001433996221127972,0.0000660037788720266
+0.4,0.001384674518851585,0.0001153254811484139
+0.5,0.001323745351150879,0.0001762546488491202
+0.6,0.001252905312328537,0.000247094687671462
+0.7,0.001174056807011131,0.0003259431929888679
+0.8,0.00108922355987577,0.0004107764401242291
+0.9,0.001000465222694879,0.0004995347773051199
+1.,0.0009097959900679852,0.0005902040099320145
+1.1,0.0008191116576501387,0.0006808883423498609
+1.2,0.0007301284069041597,0.00076987159309584
+1.3,0.0006443360373347171,0.0008556639626652825
+1.4,0.0005629666483420081,0.0009370333516579915
+1.5,0.0004869787011932695,0.00101302129880673
+1.6,0.0004170559508699475,0.001082944049130052
+1.7,0.0003536191154729841,0.001146380884527015
+1.8,0.0002968480517532987,0.001203151948246701
+1.9,0.0002467116848779952,0.001253288315122004
+2.,0.0002030029249343849,0.001296997075065615
+2.1,0.0001653757879666983,0.001334624212033301
+2.2,0.0001333824262169214,0.001366617573783078
+2.3,0.0001065080306123926,0.001393491969387607
+2.4,0.00008420214420909703,0.001415797855790902
+2.5,0.00006590540016484665,0.001434094599835153
+2.6,0.00005107118169073632,0.001448928818309263
+2.7,0.00003918211427355181,0.001460817885726448
+2.8,0.00002976164204027758,0.001470238357959722
+2.9,0.00002238117850549469,0.001477618821494505
+3.,0.00001666349374260604,0.001483336506257393
+3.1,0.00001228305128287592,0.001487716948717123
+3.2,8.964034328150633e-6,0.001491035965671848
+3.3,6.476759932823552e-6,0.001493523240067175
+3.4,4.633072812341382e-6,0.001495366927187657
+3.5,3.281236185432648e-6,0.001496718763814566
+3.6,2.300716002719962e-6,0.001497699283997279
+3.7,1.597149070294508e-6,0.001498402850929704
+3.8,1.097703624286134e-6,0.001498902296375713
+3.9,7.469330521055737e-7,0.001499253066947893
+4.,5.031938573750589e-7,0.001499496806142624
+4.1,3.35618626738619e-7,0.00149966438137326
+4.2,2.216224929324001e-7,0.001499778377507067
+4.3,1.448900964337548e-7,0.001499855109903565
+4.4,9.378225122371479e-8,0.001499906217748775
+4.5,6.009794272963332e-8,0.00149993990205727
+4.6,3.812901286622678e-8,0.001499961870987133
+4.7,2.395017507486103e-8,0.001499976049824924
+4.8,1.489425529017262e-8,0.001499985105744709
+4.9,9.170349814944221e-9,0.001499990829650184
+5.,5.589979758201098e-9,0.00149999441002024
diff --git a/models/sbml-test-suite/cases/semantic/00860/00860-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00860/00860-sbml-l2v4.xml
new file mode 100644
index 0000000..3bad2c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00860/00860-sbml-l2v4.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00860" id="case00860" name="case00860">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.9" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00860/00860-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00860/00860-sbml-l3v1.xml
new file mode 100644
index 0000000..75d5259
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00860/00860-sbml-l3v1.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00860" id="case00860" name="case00860" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.9" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00860/00860-settings.txt b/models/sbml-test-suite/cases/semantic/00860/00860-settings.txt
new file mode 100644
index 0000000..8ed3e6c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00860/00860-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/00861/00861-results.csv b/models/sbml-test-suite/cases/semantic/00861/00861-results.csv
new file mode 100644
index 0000000..880bcaf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00861/00861-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0,0,0
+0.12,0.09949726794895157,0.0005018274595177867,9.024228543061577e-7,2.168676510101702e-9
+0.24,0.09800418540649011,0.001981465520140245,0.00001421191579185769,1.371575780310379e-7
+0.36,0.09556533846808434,0.004363055282502319,0.00007007449992946289,1.531749484240067e-6
+0.48,0.09225257409387718,0.007525609692656924,0.0002134441245556318,8.372088910681474e-6
+0.6,0.08816148467834114,0.01131071847073592,0.0004969702172338836,0.00003082663368950793
+0.72,0.08340682878994241,0.01553245800766793,0.0009725480685206597,0.00008816513386937856
+0.84,0.07811719397840227,0.01998873220406545,0.001682748257099301,0.0002113255604333498
+0.96,0.07242924729548162,0.02447318288159995,0.002653330653260663,0.0004442391696581742
+1.08,0.06648193030415038,0.02878680003349649,0.003887858921182774,0.000843410741170755
+1.2,0.06041093828559519,0.03274843012528406,0.005365100516297254,0.001475531072823915
+1.32,0.05434378121700771,0.03620351440735353,0.007039483648134854,0.002413220727504312
+1.44,0.04839566221218734,0.03903057204125884,0.00884445487779875,0.003729310868755465
+1.56,0.04266633432616256,0.04114515407238336,0.01069820453028759,0.005490307071166859
+1.68,0.03723801641148797,0.04250121187169625,0.01251095386180363,0.007749817855012501
+1.8,0.03217437042232393,0.04309002670036649,0.01419285883544802,0.01054274404186193
+1.92,0.02752047260327047,0.04293701804717458,0.01566158725235613,0.01388092209719917
+2.04,0.02330365431912147,0.04209687480939414,0.01684875326459026,0.01775071760689448
+2.16,0.01953504800726715,0.04064752852191727,0.01770461318167557,0.02211281028914035
+2.28,0.01621165107669326,0.03868351087700051,0.01820069656332648,0.02690414148298011
+2.4,0.01331871496015455,0.03630921317850514,0.01833032293267461,0.03204174892866606
+2.52,0.01083227589269641,0.03363250171851472,0.01810719872513353,0.03742802366365571
+2.64,0.008721665226209417,0.03075905157165303,0.01756247366152432,0.04295680954061361
+2.76,0.006951866509121488,0.02778765426869747,0.01674074604935314,0.04851973317282829
+2.88,0.005485620346028667,0.02480664414746325,0.01569554103687278,0.05401219446963569
+3.,0.004285212686587739,0.02189148419377863,0.01448475378333675,0.05933854933629728
+3.12,0.003313914721719078,0.0191034628970252,0.01316646740330191,0.06441615497795422
+3.24,0.002537070796702678,0.01648938408714062,0.01179544337439583,0.06917810174176126
+3.36,0.001922853317843054,0.01408208437848406,0.0104204595869697,0.07357460271670356
+3.48,0.001442719949592367,0.01190158739751354,0.009082555202375263,0.07757313745051919
+3.6,0.001071618567980845,0.009956698296545704,0.007814144129663381,0.08115753900581043
+3.72,0.0007879900514976829,0.008246852572731704,0.006638887240587499,0.08432627013518345
+3.84,0.0005736190297591463,0.006764055537426819,0.005572169438074856,0.08709015599473951
+3.96,0.000413379255104934,0.005494778569667628,0.004622009628429233,0.08946983254679853
+4.08,0.0002949144943362318,0.004421711297462157,0.003790234918099014,0.09149313929010295
+4.2,0.0002082887763722713,0.003525301697954547,0.003073769170505286,0.09319264035516823
+4.32,0.0001456323747046966,0.002785046117753503,0.002465914271462879,0.09460340723607929
+4.44,0.0001008027326443927,0.002180516665140442,0.001957534559058814,0.09576114604315672
+4.56,0.00006907310695859872,0.001692133421627136,0.00153808651075561,0.09670070696065903
+4.68,0.00004685629969470165,0.001301703259421126,0.001196463850416825,0.09745497659046775
+4.8,0.00003146656220928821,0.0009927560916622689,0.0009216509975175775,0.09805412634861127
+4.92,0.00002091957795792673,0.000750713832413134,0.0007031945591360822,0.09852517203049322
+5.04,0.00001376825341670231,0.000562928115011002,0.0005315135503554663,0.09889179008121719
+5.16,8.970715735015975e-6,0.000418620878100918,0.0003980749538542629,0.09917433345231013
+5.28,5.786256084676553e-6,0.0003087581984503446,0.0002954631202391006,0.09938999242522617
+5.4,3.694796449953344e-6,0.0002258830308756143,0.0002173704725261388,0.09955305170014856
+5.52,2.335638882447883e-6,0.0001639274547944885,0.0001585340481911225,0.09967520285813219
+5.64,1.461649313625123e-6,0.0001180201039973468,0.0001146384697782569,0.09976587977691106
+5.76,9.055303046342246e-7,0.0000842999928097225,0.00008220166188372554,0.09983259281500234
+5.88,5.553734353697508e-7,0.00005974413195987983,0.00005845550899512859,0.09988124498560992
+6.,3.372015234643051e-7,0.00004201322609700647,0.00004122997620421507,0.09991641959617537
diff --git a/models/sbml-test-suite/cases/semantic/00861/00861-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00861/00861-sbml-l2v4.xml
new file mode 100644
index 0000000..89021f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00861/00861-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00861" id="case00861" name="case00861">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1.78" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00861/00861-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00861/00861-sbml-l3v1.xml
new file mode 100644
index 0000000..b559c6b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00861/00861-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00861" id="case00861" name="case00861" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1.78" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00861/00861-settings.txt b/models/sbml-test-suite/cases/semantic/00861/00861-settings.txt
new file mode 100644
index 0000000..5de5e2a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00861/00861-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00862/00862-results.csv b/models/sbml-test-suite/cases/semantic/00862/00862-results.csv
new file mode 100644
index 0000000..299a2bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00862/00862-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,2.,2.,0,0
+0.12,1.971771308181178,1.971699695848492,0.0282286918188235,0.00007161233268895679
+0.24,1.89352088609311,1.892419195578125,0.1064791139068921,0.001101690514985242
+0.36,1.781794915633311,1.776557146499065,0.2182050843666902,0.005237769134246412
+0.48,1.656905571607736,1.641671049273406,0.3430944283922649,0.01523452233433021
+0.6,1.536854577195977,1.503187448132956,0.4631454228040225,0.03366712906302343
+0.72,1.434006715060263,1.37162662594302,0.5659932849397366,0.06238008911724473
+0.84,1.354606741962029,1.252339202535162,0.6453932580379703,0.1022675394268698
+0.96,1.299975911884127,1.146652907899546,0.7000240881158726,0.1533230039845838
+1.08,1.268232902975659,1.053393220375487,0.7317670970243398,0.2148396826001764
+1.2,1.255865974020296,0.9702110389473865,0.7441340259797034,0.2856549350729135
+1.32,1.258897792140005,0.8945281446481003,0.7411022078599957,0.3643696474919077
+1.44,1.27361203893301,0.8241024305261768,0.7263879610669908,0.4495096084068363
+1.56,1.296909618524996,0.7572862505256897,0.7030903814750044,0.5396233679993096
+1.68,1.326397117832634,0.6930693043946272,0.6736028821673666,0.6333278134380101
+1.8,1.360313099499292,0.6309933108024441,0.6396869005007078,0.7293197886968516
+1.92,1.397381579494799,0.5710097801310395,0.6026184205052003,0.826371799363764
+2.04,1.436655594072577,0.5133303127977553,0.563344405927422,0.9233252812748262
+2.16,1.477386142375458,0.458297074755433,0.5226138576245418,1.019089067620028
+2.28,1.518929764657567,0.4062841608260051,0.4810702353424328,1.112645603831564
+2.4,1.560694144464334,0.357630147186952,0.4393058555356654,1.203063997277385
+2.52,1.602114464540504,0.3125973137735917,0.3978855354594953,1.289517150766915
+2.64,1.642651341142486,0.2713517148618324,0.3573486588575128,1.371299626280657
+2.76,1.681801688125885,0.2339586015667471,0.3181983118741131,1.447843086559143
+2.88,1.719115328486016,0.2003884936470664,0.2808846715139829,1.518726834838954
+3.,1.754211873615862,0.1705299865105664,0.2457881263841367,1.5836818871053
+3.12,1.786794085465365,0.1442060882527661,0.2132059145346339,1.642587997212602
+3.24,1.816655538344253,0.1211915658980935,0.1833444616557462,1.695463972446162
+3.36,1.843681823832048,0.1012294714442981,0.1563181761679515,1.742452352387753
+3.48,1.867845692698682,0.0840456888303414,0.132154307301317,1.783800003868344
+3.6,1.889197319116747,0.06936093183402987,0.110802680883252,1.819836387282721
+3.72,1.90785127968048,0.05690007757670322,0.0921487203195186,1.850951202103781
+3.84,1.923971905054348,0.04639902041037113,0.07602809494565072,1.877572884643981
+3.96,1.937758475884317,0.03760938978085345,0.0622415241156817,1.900149086103468
+4.08,1.9494314041364,0.03030152737623555,0.05056859586359872,1.919129876760169
+4.2,1.959220162759379,0.02426610301615429,0.04077983724061944,1.93495405974323
+4.32,1.967353370754767,0.01931469919020089,0.0326466292452312,1.948038671564572
+4.44,1.974051148017139,0.01527963447848937,0.02594885198285875,1.958771513538656
+4.56,1.979519640232538,0.01201323969160292,0.02048035976746023,1.967506400540941
+4.68,1.983947476871841,0.009386753198842781,0.01605252312815788,1.974560723673003
+4.8,1.987503853306085,0.007288964599558541,0.01249614669391306,1.980214888706533
+4.92,1.990337905859008,0.005624707328908919,0.009662094140990385,1.984713198530105
+5.04,1.992579060750612,0.00431327891624003,0.007420939249386325,1.988265781834379
+5.16,1.994338071011638,0.003286850469458298,0.005661928988360404,1.991051220542187
+5.28,1.995708499114778,0.002488913030365839,0.004291500885220584,1.993219586084419
+5.4,1.996768449785013,0.001872796731628947,0.003231550214985599,1.99489565305339
+5.52,1.997582402315073,0.001400288610253142,0.002417597684925599,1.996182113704826
+5.64,1.998203031872367,0.001040366214988553,0.001796968127631981,1.997162665657384
+5.76,1.998672943379873,0.0007680566860541033,0.001327056620125922,1.997904886693824
+5.88,1.999026269280349,0.0005634247400661214,0.0009737307196494553,1.998462844540288
+6.,1.999290104119437,0.0004106879650820482,0.0007098958805617104,1.998879416154361
diff --git a/models/sbml-test-suite/cases/semantic/00862/00862-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00862/00862-sbml-l2v4.xml
new file mode 100644
index 0000000..bd89d71
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00862/00862-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00862" id="case00862" name="case00862">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.002" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="0.9"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00862/00862-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00862/00862-sbml-l3v1.xml
new file mode 100644
index 0000000..b33aa36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00862/00862-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00862" id="case00862" name="case00862" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.002" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.9" constant="true"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00862/00862-settings.txt b/models/sbml-test-suite/cases/semantic/00862/00862-settings.txt
new file mode 100644
index 0000000..f2d5f03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00862/00862-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3, S4
diff --git a/models/sbml-test-suite/cases/semantic/00863/00863-results.csv b/models/sbml-test-suite/cases/semantic/00863/00863-results.csv
new file mode 100644
index 0000000..6c63475
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00863/00863-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.12,0.15,0.001079999999999999
+0.24,0.15,0.004319999999999995
+0.36,0.15,0.009719999999999996
+0.48,0.15,0.01728
+0.6,0.15,0.027
+0.72,0.15,0.03887999999999999
+0.84,0.15,0.05291999999999998
+0.96,0.15,0.06911999999999998
+1.08,0.15,0.08747999999999998
+1.2,0.15,0.1079999999999999
+1.32,0.15,0.1306799999999999
+1.44,0.15,0.1555199999999999
+1.56,0.15,0.18252
+1.68,0.15,0.2116799999999999
+1.8,0.15,0.2429999999999999
+1.92,0.15,0.27648
+2.04,0.15,0.31212
+2.16,0.15,0.34992
+2.28,0.15,0.38988
+2.4,0.15,0.4320000000000001
+2.52,0.15,0.4762800000000001
+2.64,0.15,0.5227199999999999
+2.76,0.15,0.57132
+2.88,0.15,0.62208
+3.,0.15,0.6750000000000001
+3.12,0.15,0.7300800000000001
+3.24,0.15,0.78732
+3.36,0.15,0.84672
+3.48,0.15,0.90828
+3.6,0.15,0.9719999999999999
+3.72,0.15,1.037879999999999
+3.84,0.15,1.10592
+3.96,0.15,1.17612
+4.08,0.15,1.24848
+4.2,0.15,1.323
+4.32,0.15,1.39968
+4.44,0.15,1.478519999999999
+4.56,0.15,1.559519999999999
+4.68,0.15,1.642679999999999
+4.8,0.15,1.728
+4.92,0.15,1.81548
+5.04,0.15,1.90512
+5.16,0.15,1.99692
+5.28,0.15,2.090879999999999
+5.4,0.15,2.186999999999999
+5.52,0.15,2.285279999999999
+5.64,0.15,2.38572
+5.76,0.15,2.488319999999999
+5.88,0.15,2.59308
+6.,0.15,2.7
diff --git a/models/sbml-test-suite/cases/semantic/00863/00863-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00863/00863-sbml-l2v4.xml
new file mode 100644
index 0000000..eae5bd6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00863/00863-sbml-l2v4.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00863" id="case00863" name="case00863">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.15" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00863/00863-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00863/00863-sbml-l3v1.xml
new file mode 100644
index 0000000..826d299
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00863/00863-sbml-l3v1.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00863" id="case00863" name="case00863" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00863/00863-settings.txt b/models/sbml-test-suite/cases/semantic/00863/00863-settings.txt
new file mode 100644
index 0000000..7b568a0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00863/00863-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00864/00864-results.csv b/models/sbml-test-suite/cases/semantic/00864/00864-results.csv
new file mode 100644
index 0000000..662ae18
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00864/00864-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0,0,0
+0.08,0.01,0.00002238208955351167,1.789135474215037e-8,1.909174618314946e-11
+0.16,0.01,0.00008931389069191566,2.848918239455247e-7,1.217484138725116e-9
+0.24,0.01,0.0002001554222857985,1.430792609656465e-6,1.378510454435666e-8
+0.32,0.01,0.0003538513775749394,4.471814193231686e-6,7.680823182840779e-8
+0.4,0.01,0.0005489478518676953,0.00001076227657379551,2.898715585086557e-7
+0.48,0.01,0.0007836152391517609,0.00002193045867905127,8.543021691870882e-7
+0.56,0.01,0.001055676793357139,0.000039801910429668,2.121296213192025e-6
+0.64,0.01,0.001362642230866976,0.00006631406604788942,4.643703085133267e-6
+0.72,0.01,0.001701745649101198,0.0001034263662227593,9.227984676040258e-6
+0.8,0.01,0.002069986954473325,0.0001530302139892449,0.0000169828315374276
+0.88,0.01,0.002464175933356444,0.000216862965376851,0.00002936110126670131
+0.96,0.01,0.002880978063368794,0.0002964298072029769,0.00004819212942822483
+1.04,0.01,0.003316961149581421,0.0003929368309955846,0.00007570201942299004
+1.12,0.01,0.003768641880919504,0.0005072379152430661,0.0001145202038374256
+1.2,0.01,0.004232531435004622,0.0006397972267318002,0.0001676713382635699
+1.28,0.01,0.004705179313299701,0.0007906682989549608,0.0002385523877453313
+1.36,0.01,0.005183214660381437,0.0009594897934291603,0.0003308955461893959
+1.44,0.01,0.005663384408645297,0.001145497248588508,0.0004487183427661855
+1.52,0.01,0.006142587689783063,0.001347549411692137,0.0005962628985247905
+1.6,0.01,0.006617906063390507,0.001564167166581413,0.000777926770028072
+1.68,0.01,0.007086629227516676,0.001793582636035569,0.0009981881364477455
+1.76,0.01,0.007546275993023299,0.00203379576298832,0.001261528243988372
+1.84,0.01,0.007994610418460107,0.002282635562274985,0.0015723540192649
+1.92,0.01,0.008429653113643348,0.002537823272034037,0.001934923614322603
+2.,0.01,0.0088496878235542,0.002797034806240301,0.002353277370205492
+2.08,0.01,0.009253263498387584,0.003057960191809905,0.002831176309802503
+2.16,0.01,0.009639192138082744,0.00331835803838075,0.003372049823536497
+2.24,0.01,0.01000654276914215,0.003576103506791402,0.003978953724066434
+2.32,0.01,0.01035463196702131,0.003829228684702668,0.004654539348276007
+2.4,0.01,0.01068301137839456,0.004075954718210308,0.00540103390339512
+2.48,0.01,0.01099145272419511,0.004314715463821852,0.00622023181198303
+2.56,0.01,0.01127993077695192,0.004544172797553282,0.007113496425494783
+2.64,0.01,0.01154860480545086,0.004763224033966831,0.008081771160582295
+2.72,0.01,0.01179779896730444,0.004971002159692028,0.00912559887300352
+2.8,0.01,0.01202798210706214,0.005166869770215746,0.0102451481227221
+2.88,0.01,0.01223974738561801,0.005350407716463736,0.01144024489791823
+2.96,0.01,0.01243379212775934,0.005521399524031184,0.01271040834820946
+3.04,0.01,0.01261089822997482,0.005679812648677003,0.01405488912134816
+3.12,0.01,0.01277191342305954,0.005825777588623333,0.01547270898831712
+3.2,0.01,0.01291773363382343,0.005959565794027386,0.01696270057214916
+3.28,0.01,0.01304928663954011,0.006081567207057476,0.01852354615340241
+3.36,0.01,0.01316751716042782,0.006192268148828605,0.02015381469074355
+3.44,0.01,0.01327337348681723,0.006292230132851477,0.02185199638033127
+3.52,0.01,0.01336779569556171,0.006382070062731219,0.02361653424170705
+3.6,0.01,0.01345170546873505,0.006462442143443785,0.02544585238782115
+3.68,0.01,0.01352599749409574,0.006534021721800233,0.02733838078410402
+3.76,0.01,0.01359153239524342,0.006597491173227551,0.02929257643152902
+3.84,0.01,0.01364913111446002,0.006653527863559628,0.03130694102198033
+3.92,0.01,0.0136995706529801,0.006702794145589446,0.03338003520143044
+4.,0.01,0.01374358105564928,0.006745929294063457,0.03551048965028723
diff --git a/models/sbml-test-suite/cases/semantic/00864/00864-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00864/00864-sbml-l2v4.xml
new file mode 100644
index 0000000..b06fed9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00864/00864-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00864" id="case00864" name="case00864">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00864/00864-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00864/00864-sbml-l3v1.xml
new file mode 100644
index 0000000..5e2c096
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00864/00864-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00864" id="case00864" name="case00864" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00864/00864-settings.txt b/models/sbml-test-suite/cases/semantic/00864/00864-settings.txt
new file mode 100644
index 0000000..7e5270f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00864/00864-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00865/00865-results.csv b/models/sbml-test-suite/cases/semantic/00865/00865-results.csv
new file mode 100644
index 0000000..8337c69
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00865/00865-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,2.,2.,0,0
+0.1,2.,1.980144249624385,0.01982095953536821,0.00003479084024966217
+0.2,2.,1.922272536751857,0.07718069016405844,0.0005467730840905668
+0.3,2.,1.831214746974561,0.1660979664779719,0.002687286547472542
+0.4,2.,1.714219378187879,0.2776282233587846,0.008152398453342082
+0.5,2.,1.579927436196372,0.4011739731338531,0.01889859066978114
+0.6,2.,1.437239434647577,0.5259296936756171,0.03683087167681208
+0.7,2.,1.294282441668381,0.6421956070793757,0.06352195125224943
+0.8,2.,1.157639863288073,0.7423517033715849,0.1000084333403474
+0.9,2.,1.031931479480909,0.8213800165146034,0.1466885040044943
+1.,2.,0.9197484122290449,0.8769296409432895,0.2033219468276725
+1.1,2.,0.8218789537978975,0.9090073403266463,0.2691137058754631
+1.2,2.,0.7377205062051154,0.9194288709107258,0.3428506228841655
+1.3,2.,0.6657638939504327,0.9111776759873309,0.4230584300622432
+1.4,2.,0.6040534493758953,0.8877955541717941,0.5081509964523176
+1.5,2.,0.550558619456607,0.8528882884374258,0.5965530921059746
+1.6,2.,0.5034285957491287,0.8097832214820643,0.6867881827688143
+1.7,2.,0.4611314940552944,0.7613371126763822,0.777531393268331
+1.8,2.,0.422499098627872,0.7098674944798605,0.8676334068922749
+1.9,2.,0.386706546560305,0.6571699243564124,0.9561235290832904
+2.,2.,0.3532158656724959,0.6045840440273608,1.042200090300151
+2.1,2.,0.3217065225303847,0.5530786803905327,1.12521479707909
+2.2,2.,0.2920084560125665,0.5033360230945009,1.20465552089294
+2.3,2.,0.2640458736002886,0.455824102945619,1.280130023454099
+2.4,2.,0.2377946330922732,0.4108537525981935,1.351351614309541
+2.5,2.,0.2132526160589295,0.3686205809255442,1.418126803015534
+2.6,2.,0.1904208307052677,0.3292346077854921,1.480344561509248
+2.7,2.,0.16929252735956,0.292740772548968,1.537966700091479
+2.8,2.,0.1498478416496211,0.2591332255477769,1.591018932802609
+2.9,2.,0.1320519966075743,0.2283656521559016,1.639582351236532
+3.,2.,0.1158556469607918,0.2003591826631453,1.68378517037607
+3.1,2.,0.1011964161694428,0.1750088608946014,1.723794722935963
+3.2,2.,0.08800102350877286,0.1521892250786765,1.759809751412557
+3.3,2.,0.07618763371131748,0.1317592825965171,1.792053083692171
+3.4,2.,0.06566821131606427,0.113567000934785,1.820764787749157
+3.5,2.,0.05635075306869619,0.09745335393191753,1.846195892999393
+3.6,2.,0.04814132629560813,0.08325592592919077,1.868602747775207
+3.7,2.,0.04094587415230677,0.07081206614721115,1.888242059700488
+3.8,2.,0.03467176937805053,0.0599615885394889,1.905366642082466
+3.9,2.,0.02922911200847384,0.05054902092865864,1.920221867062873
+4.,2.,0.02453177624759645,0.04242541725842922,1.93304280649398
+4.1,2.,0.0204982188123262,0.03544975618156125,1.944052025006118
+4.2,2.,0.0170520662427206,0.02948995697385188,1.953457976783433
+4.3,2.,0.01412250228718932,0.02442354955178814,1.961453948161028
+4.4,2.,0.01164447875071926,0.02013803913750024,1.968217482111786
+4.5,2.,0.009558774315758356,0.01653100799094414,1.973910217693303
+4.6,2.,0.007811925978800877,0.01350999683793965,1.978678077183265
+4.7,2.,0.006356057060448907,0.01099220743021674,1.98265173550934
+4.8,2.,0.005148624411307914,0.008904065361771053,1.985947310226926
+4.9,2.,0.004152105615084777,0.007180679115861445,1.988667215269059
+5.,2.,0.003333644837302276,0.005765227593428479,1.990901127569275
diff --git a/models/sbml-test-suite/cases/semantic/00865/00865-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00865/00865-sbml-l2v4.xml
new file mode 100644
index 0000000..5980f6b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00865/00865-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00865" id="case00865" name="case00865">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="0.9"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00865/00865-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00865/00865-sbml-l3v1.xml
new file mode 100644
index 0000000..fef9d0b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00865/00865-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00865" id="case00865" name="case00865" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.9" constant="true"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00865/00865-settings.txt b/models/sbml-test-suite/cases/semantic/00865/00865-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00865/00865-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00866/00866-results.csv b/models/sbml-test-suite/cases/semantic/00866/00866-results.csv
new file mode 100644
index 0000000..cdda7e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00866/00866-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0
+0.08,0.000149520767178971,0
+0.16,0.0001480922357376659,0
+0.24,0.0001457416150328878,0
+0.32,0.0001425132949760747,0
+0.4,0.0001384674518421242,0
+0.48,0.0001336781830032523,0
+0.56,0.0001282312522066888,0
+0.64,0.0001222215392891343,0
+0.72,0.0001157503009140796,0
+0.8,0.0001089223559634828,0
+0.88,0.0001018432943120562,0
+0.96,0.00009461682377431386,0
+1.04,0.00008734233629910575,0
+1.12,0.00008011277216654974,0
+1.2,0.00007301284090504156,0
+1.28,0.00006611762112296868,0
+1.36,0.00005949160999521054,0
+1.44,0.00005318813232147854,0
+1.52,0.00004724917980066836,0
+1.6,0.00004170559513984384,0
+1.68,0.00003657757307974673,0
+1.76,0.00003187542458260518,0
+1.84,0.00002760053883900052,0
+1.92,0.00002374650339587896,0
+2.,0.00002030029252731269,0
+2.08,0.0000172435006419504,0
+2.16,0.00001455355506430784,0
+2.24,0.00001220487295186626,0
+2.32,0.00001016992966802507,0
+2.4,8.420214382589242e-6,0
+2.48,6.927058610326953e-6,0
+2.56,5.662328989738542e-6,0
+2.64,4.598983413351917e-6,0
+2.72,3.711496748965766e-6,0
+2.8,2.976163975978583e-6,0
+2.88,2.371292666293965e-6,0
+2.96,1.877301328577709e-6,0
+3.04,1.476737525508518e-6,0
+3.12,1.154231998154489e-6,0
+3.2,8.964034104396152e-7,0
+3.28,6.917263635565871e-7,0
+3.36,5.303782827066946e-7,0
+3.44,4.040709364917136e-7,0
+3.52,3.058792913562526e-7,0
+3.6,2.30071587459716e-7,0
+3.68,1.719477016662341e-7,0
+3.76,1.276880794517736e-7,0
+3.84,9.421603598451667e-8,0
+3.92,6.907482912117743e-8,0
+4.,5.031939418605477e-8,0
diff --git a/models/sbml-test-suite/cases/semantic/00866/00866-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00866/00866-sbml-l2v4.xml
new file mode 100644
index 0000000..2643f6b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00866/00866-sbml-l2v4.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00866" id="case00866" name="case00866">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00866/00866-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00866/00866-sbml-l3v1.xml
new file mode 100644
index 0000000..85050b8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00866/00866-sbml-l3v1.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00866" id="case00866" name="case00866" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00866/00866-settings.txt b/models/sbml-test-suite/cases/semantic/00866/00866-settings.txt
new file mode 100644
index 0000000..8e410e8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00866/00866-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00867/00867-results.csv b/models/sbml-test-suite/cases/semantic/00867/00867-results.csv
new file mode 100644
index 0000000..dfbe438
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00867/00867-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0,0,0
+0.08,0.0009977625069047184,0,0,0
+0.16,0.000991080021141674,0,0,0
+0.24,0.000980041853913512,0,0,0
+0.32,0.0009647946480009545,0,0,0
+0.4,0.0009455391354890148,0,0,0
+0.48,0.0009225257404479961,0,0,0
+0.56,0.0008960491587239331,0,0,0
+0.64,0.0008664420914151577,0,0,0
+0.72,0.0008340682875433158,0,0,0
+0.8,0.0007993151342257326,0,0,0
+0.88,0.0007625859923344187,0,0,0
+0.96,0.0007242924756636539,0,0,0
+1.04,0.0006848468799994597,0,0,0
+1.12,0.0006446549988348104,0,0,0
+1.2,0.0006041093892061231,0,0,0
+1.28,0.0005635833771411082,0,0,0
+1.36,0.0005234258305074629,0,0,0
+1.44,0.0004839566370115846,0,0,0
+1.52,0.0004454634847929817,0,0,0
+1.6,0.0004081991953515134,0,0,0
+1.68,0.000372380164151932,0,0,0
+1.76,0.0003381857430634255,0,0,0
+1.84,0.0003057584104227324,0,0,0
+1.92,0.0002752047262945344,0,0,0
+2.,0.0002465969643336416,0,0,0
+2.08,0.000219975302584589,0,0,0
+2.16,0.0001953504800744754,0,0,0
+2.24,0.0001727067872784493,0,0,0
+2.32,0.0001520052836279785,0,0,0
+2.4,0.0001331871502326147,0,0,0
+2.48,0.0001161770454168042,0,0,0
+2.56,0.0001008864154141397,0,0,0
+2.64,0.00008721665226516932,0,0,0
+2.72,0.00007506206318098071,0,0,0
+2.8,0.00006431258136655827,0,0,0
+2.88,0.00005485620309420615,0,0,0
+2.96,0.00004658111791585049,0,0,0
+3.04,0.0000393775263650326,0,0,0
+3.12,0.00003313914636594772,0,0,0
+3.2,0.00002776441752861792,0,0,0
+3.28,0.00002315742056669727,0,0,0
+3.36,0.00001922853294366207,0,0,0
+3.44,0.00001589485075942237,0,0,0
+3.52,0.00001308040294383217,0,0,0
+3.6,0.00001071618444444846,0,0,0
+3.68,8.740044235377782e-6,0,0,0
+3.76,7.096454021837557e-6,0,0,0
+3.84,5.736189811513285e-6,0,0,0
+3.92,4.615938278195891e-6,0,0,0
+4.,3.697863716532781e-6,0,0,0
diff --git a/models/sbml-test-suite/cases/semantic/00867/00867-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00867/00867-sbml-l2v4.xml
new file mode 100644
index 0000000..0b5033e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00867/00867-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00867" id="case00867" name="case00867">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00867/00867-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00867/00867-sbml-l3v1.xml
new file mode 100644
index 0000000..f29bec9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00867/00867-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00867" id="case00867" name="case00867" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00867/00867-settings.txt b/models/sbml-test-suite/cases/semantic/00867/00867-settings.txt
new file mode 100644
index 0000000..338e172
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00867/00867-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00868/00868-results.csv b/models/sbml-test-suite/cases/semantic/00868/00868-results.csv
new file mode 100644
index 0000000..c13c5ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00868/00868-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,2.,2.,0,0
+0.08,1.987281398593608,1.987281398593608,0,0
+0.16,1.950078002077092,1.950078002077092,0,0
+0.24,1.891074128954709,1.891074128954709,0,0
+0.32,1.814223512267407,1.814223512267407,0,0
+0.4,1.724137931607951,1.724137931607951,0,0
+0.48,1.625487646857207,1.625487646857207,0,0
+0.56,1.522533503586844,1.522533503586844,0,0
+0.64,1.418842232559292,1.418842232559292,0,0
+0.72,1.317175989800843,1.317175989800843,0,0
+0.8,1.219512201569306,1.219512201569306,0,0
+0.88,1.127141569449491,1.127141569449491,0,0
+0.96,1.040799339366954,1.040799339366954,0,0
+1.04,0.9607993860391206,0.9607993860391206,0,0
+1.12,0.8871540159062567,0.8871540159062567,0,0
+1.2,0.8196721332420081,0.8196721332420081,0,0
+1.28,0.7580351734735072,0.7580351734735072,0,0
+1.36,0.7018528918296776,0.7018528918296776,0,0
+1.44,0.6507027589813063,0.6507027589813063,0,0
+1.52,0.6041565961338558,0.6041565961338558,0,0
+1.6,0.5617977523414555,0.5617977523414555,0,0
+1.68,0.5232314734649109,0.5232314734649109,0,0
+1.76,0.4880905858695261,0.4880905858695261,0,0
+1.84,0.4560379393141997,0.4560379393141997,0,0
+1.92,0.4267668124000931,0.4267668124000931,0,0
+2.,0.3999999985999105,0.3999999985999105,0,0
+2.08,0.3754881338577607,0.3754881338577607,0,0
+2.16,0.353007624724417,0.353007624724417,0,0
+2.24,0.3323584153000117,0.3323584153000117,0,0
+2.32,0.3133617447471992,0.3133617447471992,0,0
+2.4,0.2958579879149466,0.2958579879149466,0,0
+2.48,0.2797046314061007,0.2797046314061007,0,0
+2.56,0.2647744119587212,0.2647744119587212,0,0
+2.64,0.2509536235988444,0.2509536235988444,0,0
+2.72,0.2381405971630176,0.2381405971630176,0,0
+2.8,0.2262443422166811,0.2262443422166811,0,0
+2.88,0.2151833345540619,0.2151833345540619,0,0
+2.96,0.2048844434275962,0.2048844434275962,0,0
+3.04,0.1952819862625032,0.1952819862625032,0,0
+3.12,0.1863168857407538,0.1863168857407538,0,0
+3.2,0.1779359429221619,0.1779359429221619,0,0
+3.28,0.1700911670342875,0.1700911670342875,0,0
+3.36,0.1627392266198486,0.1627392266198486,0,0
+3.44,0.155840916232153,0.155840916232153,0,0
+3.52,0.1493607353674718,0.1493607353674718,0,0
+3.6,0.1432664754119109,0.1432664754119109,0,0
+3.68,0.1375288792699168,0.1375288792699168,0,0
+3.76,0.1321213375361996,0.1321213375361996,0,0
+3.84,0.1270196096791062,0.1270196096791062,0,0
+3.92,0.1222015829774297,0.1222015829774297,0,0
+4.,0.1176470588234445,0.1176470588234445,0,0
diff --git a/models/sbml-test-suite/cases/semantic/00868/00868-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00868/00868-sbml-l2v4.xml
new file mode 100644
index 0000000..d1b173a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00868/00868-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00868" id="case00868" name="case00868">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="0.9"/>
+      <parameter id="k3" name="k3" value="0.7"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00868/00868-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00868/00868-sbml-l3v1.xml
new file mode 100644
index 0000000..73ac818
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00868/00868-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00868" id="case00868" name="case00868" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.9" constant="true"/>
+      <parameter id="k3" name="k3" value="0.7" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00868/00868-settings.txt b/models/sbml-test-suite/cases/semantic/00868/00868-settings.txt
new file mode 100644
index 0000000..55ba5cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00868/00868-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00869/00869-results.csv b/models/sbml-test-suite/cases/semantic/00869/00869-results.csv
new file mode 100644
index 0000000..bb82bb9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00869/00869-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0,0,0
+0.08,0.09977625068928357,0.000223570342403187,0,0
+0.16,0.09910800211692553,0.0008891453213611859,0,0
+0.24,0.09800418535902914,0.001981465598981424,0,0
+0.32,0.09647946476437725,0.003475588765504294,0,0
+0.4,0.09455391340968434,0.005337606418735233,0,0
+0.48,0.09225257394067829,0.007525609912273256,0,0
+0.56,0.08960491611285693,0.009990873734636928,0,0
+0.64,0.08664420931922653,0.0126792115138632,0,0
+0.72,0.08340682838037358,0.01553245823793305,0,0
+0.8,0.07993151324739226,0.01849002890676058,0,0
+0.88,0.07625859923840666,0.02149050424126763,0,0
+0.96,0.07242924733799321,0.02447318261978153,0,0
+1.04,0.06848468825086853,0.02737956233561242,0,0
+1.12,0.06446549972586133,0.03015470416745479,0,0
+1.2,0.06041093832919343,0.03274843001020514,0,0
+1.28,0.05635833809990228,0.03511633457122862,0,0
+1.36,0.0523425808377406,0.03722060174170002,0,0
+1.44,0.04839566247611923,0.03903057145655981,0,0
+1.52,0.0445463500001045,0.04052308493351199,0,0
+1.6,0.0408199195481393,0.04168263002857178,0,0
+1.68,0.03723801784478837,0.04250120922898163,0,0
+1.76,0.03381857478900286,0.04297808936067625,0,0
+1.84,0.03057584176405865,0.04311929489360917,0,0
+1.92,0.02752047365843774,0.04293701654911406,0,0
+2.,0.02465969666058127,0.04244886668399252,0,0
+2.08,0.02199753142588523,0.04167705540420372,0,0
+2.16,0.01953504807905929,0.04064752845806589,0,0
+2.24,0.01727067955335315,0.03938905510905439,0,0
+2.32,0.01520052833461418,0.03793235165762649,0,0
+2.4,0.01331871559070328,0.03630921339755365,0,0
+2.48,0.01161770452888064,0.03455171610317549,0,0
+2.56,0.0100886415856094,0.03269148557490347,0,0
+2.64,0.008721665304107562,0.03075905193577008,0,0
+2.72,0.007506206344809605,0.028783304219318,0,0
+2.8,0.006431258132343223,0.02679104435112505,0,0
+2.88,0.005485620311635765,0.0248066445973016,0,0
+2.96,0.004658111820636805,0.02285180560568399,0,0
+3.04,0.003937752697963582,0.02094540986717707,0,0
+3.12,0.003313914714833183,0.01910346292959888,0,0
+3.2,0.002776441745625025,0.01733911309871327,0,0
+3.28,0.002315741887046321,0.01566273743255343,0,0
+3.36,0.001922853184078288,0.01408208480106365,0,0
+3.44,0.001589485189000732,0.01260246466667379,0,0
+3.52,0.00130804037242132,0.01122696622612824,0,0
+3.6,0.001071618470195028,0.009956698513744448,0,0
+3.68,0.0008740043553330257,0.008791047260897364,0,0
+3.76,0.0007096453533363995,0.007727931225537934,0,0
+3.84,0.000573618949989359,0.006764055646200221,0,0
+3.92,0.0004615938108933955,0.005895155163039968,0,0
+4.,0.0003697863716496561,0.005116221310282346,0,0
diff --git a/models/sbml-test-suite/cases/semantic/00869/00869-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00869/00869-sbml-l2v4.xml
new file mode 100644
index 0000000..ccf8b2c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00869/00869-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00869" id="case00869" name="case00869">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00869/00869-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00869/00869-sbml-l3v1.xml
new file mode 100644
index 0000000..bf8a6e1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00869/00869-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00869" id="case00869" name="case00869" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00869/00869-settings.txt b/models/sbml-test-suite/cases/semantic/00869/00869-settings.txt
new file mode 100644
index 0000000..9039b5b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00869/00869-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00870/00870-results.csv b/models/sbml-test-suite/cases/semantic/00870/00870-results.csv
new file mode 100644
index 0000000..0f96755
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00870/00870-results.csv
@@ -0,0 +1,52 @@
+time,A1,A2,A3,A4
+0,2,1.333333333333333,4,2.666666666666667
+0.02,2.102384005801262,1.367461335267089,3.897615994198738,2.734922670534174
+0.04,2.196928275605629,1.398976091868543,3.803071724394371,2.797952183737087
+0.06,2.284001654744583,1.428000551581528,3.715998345255417,2.856001103163055
+0.08,2.36407166942325,1.454690556474417,3.63592833057675,2.909381112948833
+0.1,2.437560744939932,1.479186914979977,3.562439255060069,2.958373829959954
+0.12,2.504988601628972,1.501662867209658,3.495011398371028,3.003325734419315
+0.14,2.566801834139539,1.522267278046513,3.433198165860461,3.044534556093026
+0.16,2.623411937676035,1.541137312558678,3.376588062323965,3.082274625117357
+0.18,2.675151468787706,1.558383822929235,3.324848531212294,3.116767645858471
+0.2,2.722511880759032,1.574170626919677,3.277488119240968,3.148341253839354
+0.22,2.765910101807191,1.588636700602397,3.23408989819281,3.177273401204794
+0.24,2.805412856498825,1.601804285499608,3.194587143501175,3.203608570999216
+0.26,2.841528795335732,1.613842931778577,3.158471204664268,3.227685863557154
+0.28,2.874620240821229,1.624873413607077,3.125379759178771,3.249746827214153
+0.3,2.904756471801121,1.634918823933707,3.095243528198879,3.269837647867414
+0.32,2.932208458770535,1.644069486256845,3.067791541229465,3.28813897251369
+0.34,2.95732446044163,1.652441486813876,3.04267553955837,3.304882973627754
+0.36,2.980257177119163,1.660085725706388,3.019742822880837,3.320171451412775
+0.38,3.001060200468057,1.667020066822686,2.998939799531943,3.334040133645372
+0.4,3.020055207004673,1.673351735668224,2.979944792995327,3.346703471336448
+0.42,3.03744443223451,1.67914814407817,2.96255556776549,3.35829628815634
+0.44,3.053266196556583,1.684422065518861,2.946733803443417,3.368844131037722
+0.46,3.067683516392782,1.689227838797594,2.932316483607218,3.378455677595188
+0.48,3.08080297738197,1.693600992460657,2.91919702261803,3.387201984921314
+0.5,3.092713521845432,1.697571173948477,2.907286478154568,3.395142347896955
+0.52,3.103505597296926,1.701168532432309,2.896494402703074,3.402337064864617
+0.54,3.113413308148672,1.704471102716223,2.886586691851329,3.408942205432449
+0.56,3.122420924054478,1.707473641351492,2.877579075945522,3.414947282702986
+0.58,3.130588869967235,1.710196289989078,2.869411130032765,3.420392579978157
+0.6,3.137964535385907,1.712654845128636,2.862035464614093,3.425309690257271
+0.62,3.144603049722552,1.714867683240851,2.855396950277448,3.429735366481701
+0.64,3.150721511213907,1.716907170404636,2.849278488786093,3.433814340809271
+0.66,3.156272064222593,1.718757354740865,2.843727935777407,3.437514709481729
+0.68,3.161295585402236,1.720431861800746,2.838704414597764,3.440863723601491
+0.7,3.165824915300174,1.721941638433392,2.834175084699826,3.443883276866782
+0.72,3.169897584759458,1.723299194919819,2.830102415240543,3.446598389839638
+0.74,3.173650291186169,1.724550097062056,2.826349708813831,3.449100194124112
+0.76,3.177057377783945,1.725685792594649,2.822942622216055,3.451371585189297
+0.78,3.180147491691156,1.726715830563719,2.819852508308844,3.453431661127437
+0.8,3.182944306398795,1.727648102132932,2.817055693601205,3.455296204265864
+0.82,3.185472264575902,1.728490754858634,2.814527735424098,3.456981509717268
+0.84,3.187799210756329,1.729266403585443,2.812200789243671,3.458532807170886
+0.86,3.189918379342783,1.729972793114261,2.810081620657217,3.459945586228522
+0.88,3.191846162213012,1.730615387404337,2.808153837786988,3.461230774808675
+0.9,3.19359535954076,1.731198453180253,2.80640464045924,3.462396906360506
+0.92,3.19517837554845,1.731726125182817,2.80482162445155,3.463452250365633
+0.94,3.196633583489068,1.732211194496356,2.803366416510932,3.464422388992711
+0.96,3.197958624887405,1.732652874962468,2.802041375112595,3.465305749924936
+0.98,3.199162521358668,1.733054173786223,2.800837478641332,3.466108347572445
+1,3.200252057250727,1.733417352416909,2.799747942749273,3.466834704833818
diff --git a/models/sbml-test-suite/cases/semantic/00870/00870-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00870/00870-sbml-l1v2.xml
new file mode 100644
index 0000000..e150aab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00870/00870-sbml-l1v2.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00870">
+    <listOfCompartments>
+      <compartment name="C" volume="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="A1" compartment="C" initialAmount="2"/>
+      <species name="A2" compartment="C" initialAmount="3"/>
+      <species name="A3" compartment="C" initialAmount="4"/>
+      <species name="A4" compartment="C" initialAmount="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="Kr1" value="2"/>
+      <parameter name="Kf1" value="1"/>
+      <parameter name="Kf" value="1"/>
+      <parameter name="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="fasterReaction" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw formula="(Kf1 * A4 + -(Kr1 * A2)) * C"/>
+      </reaction>
+      <reaction name="slowerReaction1">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw formula="(Kf * A1 * A2 + -(Kr * A3)) * C"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00870/00870-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00870/00870-sbml-l2v4.xml
new file mode 100644
index 0000000..1dab236
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00870/00870-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00870" name="case00870">
+    <listOfCompartments>
+      <compartment id="C" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" compartment="C" initialAmount="2"/>
+      <species id="A2" compartment="C" initialAmount="3"/>
+      <species id="A3" compartment="C" initialAmount="4"/>
+      <species id="A4" compartment="C" initialAmount="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kr1" value="2"/>
+      <parameter id="Kf1" value="1"/>
+      <parameter id="Kf" value="1"/>
+      <parameter id="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="fasterReaction" name="fasterReaction" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> Kf1 </ci>
+                  <ci> A4 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <apply>
+                    <times/>
+                    <ci> Kr1 </ci>
+                    <ci> A2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <ci> C </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="slowerReaction1" name="slowerReaction1">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> Kf </ci>
+                  <ci> A1 </ci>
+                  <ci> A2 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <apply>
+                    <times/>
+                    <ci> Kr </ci>
+                    <ci> A3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <ci> C </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00870/00870-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00870/00870-sbml-l3v1.xml
new file mode 100644
index 0000000..a4153df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00870/00870-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00870" name="case00870" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A2" compartment="C" initialAmount="3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A3" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kr1" value="2" constant="true"/>
+      <parameter id="Kf1" value="1" constant="true"/>
+      <parameter id="Kf" value="1" constant="true"/>
+      <parameter id="Kr" value="2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="fasterReaction" name="fasterReaction" reversible="true" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> Kf1 </ci>
+                  <ci> A4 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <apply>
+                    <times/>
+                    <ci> Kr1 </ci>
+                    <ci> A2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <ci> C </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="slowerReaction1" name="slowerReaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="A1" stoichiometry="1" constant="true"/>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> Kf </ci>
+                  <ci> A1 </ci>
+                  <ci> A2 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <apply>
+                    <times/>
+                    <ci> Kr </ci>
+                    <ci> A3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <ci> C </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00870/00870-settings.txt b/models/sbml-test-suite/cases/semantic/00870/00870-settings.txt
new file mode 100644
index 0000000..7b37a81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00870/00870-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 50
+variables: A1, A2, A3, A4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: A1, A2, A3, A4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00871/00871-results.csv b/models/sbml-test-suite/cases/semantic/00871/00871-results.csv
new file mode 100644
index 0000000..31389b6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00871/00871-results.csv
@@ -0,0 +1,52 @@
+time,A1,A2,A3,A4
+0,2,4,4,0
+0.06,1.5989579196,3.5989579196,4.4010420804,0
+0.12,1.2994585679,3.2994585679,4.7005414321,0
+0.18,1.0732167165,3.0732167165,4.9267832835,0
+0.24,0.8987213492,2.8987213492,5.1012786508,0
+0.3,0.7604564505,2.7604564505,5.2395435495,0
+0.36,0.6475029201,2.6475029201,5.3524970799,0
+0.42,0.5540674103,2.5540674103,5.4459325897,0
+0.48,0.4762942471,2.4762942471,5.5237057529,0
+0.54,0.4110782928,2.4110782928,5.5889217072,0
+0.6,0.3563568390,2.3563568390,5.6436431610,0
+0.66,0.3100378961,2.3100378961,5.6899621039,0
+0.72,0.2704552598,2.2704552598,5.7295447402,0
+0.78,0.2365773124,2.2365773124,5.7634226876,0
+0.84,0.2070718669,2.2070718669,5.7929281331,0
+0.9,0.1816704021,2.1816704021,5.8183295979,0
+0.96,0.1593370041,2.1593370041,5.8406629959,0
+1.02,0.1400431704,2.1400431704,5.8599568296,0
+1.08,0.1230580383,2.1230580383,5.8769419617,0
+1.14,0.1082552733,2.1082552733,5.8917447267,0
+1.2,0.0952146971,2.0952146971,5.9047853029,0
+1.26,0.0841881065,2.0841881065,5.9158118935,0
+1.32,0.0745277090,2.0745277090,5.9254722910,0
+1.38,0.0659240410,2.0659240410,5.9340759590,0
+1.44,0.0580676390,2.0580676390,5.9419323610,0
+1.5,0.0514856742,2.0514856742,5.9485143258,0
+1.56,0.0457111655,2.0457111655,5.9542888345,0
+1.62,0.0404738726,2.0404738726,5.9595261274,0
+1.68,0.0355810967,2.0355810967,5.9644189033,0
+1.74,0.0312945795,2.0312945795,5.9687054205,0
+1.8,0.0276450862,2.0276450862,5.9723549138,0
+1.86,0.0243409230,2.0243409230,5.9756590770,0
+1.92,0.0212877449,2.0212877449,5.9787122551,0
+1.98,0.0185175570,2.0185175570,5.9814824430,0
+2.04,0.0162110999,2.0162110999,5.9837889001,0
+2.1,0.0141658195,2.0141658195,5.9858341805,0
+2.16,0.0123395466,2.0123395466,5.9876604534,0
+2.22,0.0106993253,2.0106993253,5.9893006747,0
+2.28,0.0093318505,2.0093318505,5.9906681495,0
+2.34,0.0081466017,2.0081466017,5.9918533983,0
+2.4,0.0071181686,2.0071181686,5.9928818314,0
+2.46,0.0062211410,2.0062211410,5.9937788590,0
+2.52,0.0054683022,2.0054683022,5.9945316978,0
+2.58,0.0048280378,2.0048280378,5.9951719622,0
+2.64,0.0042731399,2.0042731399,5.9957268601,0
+2.7,0.0037826239,2.0037826239,5.9962173761,0
+2.76,0.0033355053,2.0033355053,5.9966644947,0
+2.82,0.0029571998,2.0029571998,5.9970428002,0
+2.88,0.0026272974,2.0026272974,5.9973727026,0
+2.94,0.0023264710,2.0023264710,5.9976735290,0
+3,0.0020423530,2.0020423530,5.9979576470,0
diff --git a/models/sbml-test-suite/cases/semantic/00871/00871-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00871/00871-sbml-l1v2.xml
new file mode 100644
index 0000000..89756a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00871/00871-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00871">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="A1" compartment="C" initialAmount="2" units="substance"/>
+      <species name="A2" compartment="C" initialAmount="3" units="substance"/>
+      <species name="A3" compartment="C" initialAmount="4" units="substance"/>
+      <species name="A4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="Kf1" value="1"/>
+      <parameter name="Kf" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw formula="A4 * C * Kf1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw formula="A1 * A2 * C * Kf"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00871/00871-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00871/00871-sbml-l2v4.xml
new file mode 100644
index 0000000..c72895e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00871/00871-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00871" id="case00871" name="case00871">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1"/>
+      <parameter id="Kf" name="Kf" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A4 </ci>
+              <ci> C </ci>
+              <ci> Kf1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A1 </ci>
+              <ci> A2 </ci>
+              <ci> C </ci>
+              <ci> Kf </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00871/00871-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00871/00871-sbml-l3v1.xml
new file mode 100644
index 0000000..70c416a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00871/00871-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00871" id="case00871" name="case00871" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1" constant="true"/>
+      <parameter id="Kf" name="Kf" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A4 </ci>
+              <ci> C </ci>
+              <ci> Kf1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="A1" stoichiometry="1" constant="true"/>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A1 </ci>
+              <ci> A2 </ci>
+              <ci> C </ci>
+              <ci> Kf </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00871/00871-settings.txt b/models/sbml-test-suite/cases/semantic/00871/00871-settings.txt
new file mode 100644
index 0000000..6ddd13a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00871/00871-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: A1, A2, A3, A4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: A1, A2, A3, A4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00872/00872-results.csv b/models/sbml-test-suite/cases/semantic/00872/00872-results.csv
new file mode 100644
index 0000000..7b2507c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00872/00872-results.csv
@@ -0,0 +1,52 @@
+time,A1,A2,A3,A4
+0,2,1.333333333,4,2.666666667
+0.02,2,1.367574031,3.897277907,2.735148062
+0.04,2,1.399973148,3.800080555,2.799946297
+0.06,2,1.431110671,3.706667988,2.862221341
+0.08,2,1.460726756,3.617819733,2.921453511
+0.1,2,1.488818129,3.533545612,2.977636258
+0.12,2,1.515384792,3.453845625,3.030769583
+0.14,2,1.540690739,3.377927782,3.081381478
+0.16,2,1.564829457,3.30551163,3.129658914
+0.18,2,1.587643617,3.23706915,3.175287233
+0.2,2,1.609133219,3.172600344,3.218266437
+0.22,2,1.629554306,3.111337083,3.259108612
+0.24,2,1.649081419,3.052755744,3.298162837
+0.26,2,1.667510462,2.997468615,3.335020923
+0.28,2,1.684841435,2.945475694,3.36968287
+0.3,2,1.701272444,2.896182668,3.402544888
+0.32,2,1.717025857,2.848922429,3.434051714
+0.34,2,1.731890304,2.804329088,3.463780608
+0.36,2,1.745865786,2.762402642,3.491731572
+0.38,2,1.759034647,2.72289606,3.518069294
+0.4,2,1.771594727,2.685215818,3.543189455
+0.42,2,1.783485764,2.649542709,3.566971527
+0.44,2,1.794749892,2.615750324,3.589499784
+0.46,2,1.805429249,2.583712254,3.610858498
+0.48,2,1.815544821,2.553365537,3.631089642
+0.5,2,1.82509559,2.524713229,3.650191181
+0.52,2,1.83414619,2.497561431,3.668292379
+0.54,2,1.842732169,2.471803492,3.685464339
+0.56,2,1.85088908,2.447332759,3.701778161
+0.58,2,1.858625945,2.424122164,3.71725189
+0.6,2,1.865924185,2.402227445,3.73184837
+0.62,2,1.872847568,2.381457297,3.745695135
+0.64,2,1.879423384,2.361729849,3.758846768
+0.66,2,1.885678923,2.342963231,3.771357846
+0.68,2,1.891617413,2.32514776,3.783234827
+0.7,2,1.897217046,2.308348861,3.794434093
+0.72,2,1.902530707,2.292407878,3.805061415
+0.74,2,1.907578193,2.277265421,3.815156386
+0.76,2,1.912379301,2.262862097,3.824758602
+0.78,2,1.916936831,2.249189507,3.833873662
+0.8,2,1.921235899,2.236292304,3.842471797
+0.82,2,1.92531438,2.224056859,3.850628761
+0.84,2,1.929186781,2.212439658,3.858373562
+0.86,2,1.932867604,2.201397187,3.865735209
+0.88,2,1.936360234,2.190919299,3.872720467
+0.9,2,1.939656478,2.181030567,3.879312955
+0.92,2,1.942782672,2.171651984,3.885565344
+0.94,2,1.945749858,2.162750427,3.891499715
+0.96,2,1.948569075,2.154292774,3.897138151
+0.98,2,1.951248676,2.146253973,3.902497351
+1,2,1.953785769,2.138642693,3.907571538
diff --git a/models/sbml-test-suite/cases/semantic/00872/00872-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00872/00872-sbml-l1v2.xml
new file mode 100644
index 0000000..a030f2a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00872/00872-sbml-l1v2.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00872">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="A1" compartment="C" initialAmount="2" units="substance" boundaryCondition="true"/>
+      <species name="A2" compartment="C" initialAmount="3" units="substance"/>
+      <species name="A3" compartment="C" initialAmount="4" units="substance"/>
+      <species name="A4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="Kf1" value="1"/>
+      <parameter name="Kr1" value="2"/>
+      <parameter name="Kf" value="1"/>
+      <parameter name="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (A4 * Kf1 + -1 * A2 * Kr1)"/>
+      </reaction>
+      <reaction name="reaction2">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (A1 * A2 * Kf + -1 * A3 * Kr)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00872/00872-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00872/00872-sbml-l2v4.xml
new file mode 100644
index 0000000..a684952
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00872/00872-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00872" id="case00872" name="case00872">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1"/>
+      <parameter id="Kr1" name="Kr1" value="2"/>
+      <parameter id="Kf" name="Kf" value="1"/>
+      <parameter id="Kr" name="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> A4 </ci>
+                  <ci> Kf1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A2 </ci>
+                  <ci> Kr1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> A1 </ci>
+                  <ci> A2 </ci>
+                  <ci> Kf </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A3 </ci>
+                  <ci> Kr </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00872/00872-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00872/00872-sbml-l3v1.xml
new file mode 100644
index 0000000..212612e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00872/00872-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00872" id="case00872" name="case00872" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1" constant="true"/>
+      <parameter id="Kr1" name="Kr1" value="2" constant="true"/>
+      <parameter id="Kf" name="Kf" value="1" constant="true"/>
+      <parameter id="Kr" name="Kr" value="2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> A4 </ci>
+                  <ci> Kf1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A2 </ci>
+                  <ci> Kr1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="A1" stoichiometry="1" constant="true"/>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> A1 </ci>
+                  <ci> A2 </ci>
+                  <ci> Kf </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A3 </ci>
+                  <ci> Kr </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00872/00872-settings.txt b/models/sbml-test-suite/cases/semantic/00872/00872-settings.txt
new file mode 100644
index 0000000..7b37a81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00872/00872-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 50
+variables: A1, A2, A3, A4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: A1, A2, A3, A4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00873/00873-results.csv b/models/sbml-test-suite/cases/semantic/00873/00873-results.csv
new file mode 100644
index 0000000..44b7ae6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00873/00873-results.csv
@@ -0,0 +1,52 @@
+time,A1,A2,A3,A4
+0.0,2.0,3.0,4.0,6.00000000001164
+0.02,2.038060114929978,3.0,3.9619398850700214,6.0
+0.04,2.072498652069728,3.0,3.927501347930272,6.0
+0.06,2.103660778276194,3.0,3.8963392217238058,6.0
+0.08,2.131857851809102,3.0,3.8681421481908975,6.0
+0.1,2.1573713850834375,3.0,3.8426286149165625,6.0
+0.12,2.180456737871248,3.0,3.8195432621287515,6.0
+0.14,2.2013457507675276,3.0,3.7986542492324724,6.0
+0.16,2.220248802861826,3.0,3.779751197138174,6.0
+0.18,2.237353081434307,3.0,3.7626469185656926,6.0
+0.2,2.252829542790926,3.0,3.747170457209074,6.0
+0.22,2.2668332697613156,3.0,3.7331667302386844,6.0
+0.24,2.2795045449824474,3.0,3.7204954550175526,6.0
+0.26,2.2909701040330392,3.0,3.7090298959669603,6.0
+0.28,2.301344974004119,3.0,3.6986550259958806,6.0
+0.3,2.310732938844179,3.0,3.6892670611558205,6.0
+0.32,2.3192275329517784,3.0,3.680772467048221,6.0
+0.34,2.3269137305303564,3.0,3.673086269469643,6.0
+0.36,2.3338685200515115,3.0,3.6661314799484885,6.0
+0.38,2.340161379661706,3.0,3.659838620338294,6.0
+0.4,2.3458554438082837,3.0,3.6541445561917163,6.0
+0.42,2.3510076160762208,3.0,3.6489923839237792,6.0
+0.44,2.355669523574511,3.0,3.644330476425489,6.0
+0.46,2.359887827059821,3.0,3.6401121729401784,6.0
+0.48,2.3637047257390855,3.0,3.636295274260914,6.0
+0.5,2.367158462873345,3.0,3.632841537126655,6.0
+0.52,2.3702836014638544,3.0,3.6297163985361456,6.0
+0.54,2.3731113577736664,3.0,3.626888642226333,6.0
+0.56,2.3756700383137694,3.0,3.62432996168623,6.0
+0.58,2.3779852292612786,3.0,3.6220147707387214,6.0
+0.6,2.3800801672283263,3.0,3.6199198327716737,6.0
+0.62,2.3819757594436806,3.0,3.618024240556319,6.0
+0.64,2.3836909623825475,3.0,3.6163090376174525,6.0
+0.66,2.385242957554124,3.0,3.614757042445876,6.0
+0.68,2.386647247663401,3.0,3.6133527523365987,6.0
+0.7,2.3879179066901814,3.0,3.612082093309818,6.0
+0.72,2.3890676488744766,3.0,3.6109323511255234,6.0
+0.74,2.3901079748071834,3.0,3.609892025192816,6.0
+0.76,2.3910493030006217,3.0,3.608950696999378,6.0
+0.78,2.391901050652165,3.0,3.608098949347835,6.0
+0.8,2.3926717402932085,3.0,3.6073282597067915,6.0
+0.82,2.3933690909338843,3.0,3.6066309090661153,6.0
+0.84,2.3940000777305275,3.0,3.605999922269472,6.0
+0.86,2.3945710205530406,3.0,3.605428979446959,6.0
+0.88,2.395087634197079,3.0,3.6049123658029205,6.0
+0.9,2.395555086219234,3.0,3.6044449137807657,6.0
+0.92,2.3959780640823785,3.0,3.604021935917621,6.0
+0.94,2.396360792569209,3.0,3.603639207430791,6.0
+0.96,2.3967070978965954,3.0,3.603292902103404,6.0
+0.98,2.3970204441250185,3.0,3.602979555874981,6.0
+1.0,2.3973039766949693,3.0,3.6026960233050302,6.0
diff --git a/models/sbml-test-suite/cases/semantic/00873/00873-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00873/00873-sbml-l1v2.xml
new file mode 100644
index 0000000..d37c5eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00873/00873-sbml-l1v2.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00873">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="A1" compartment="C" initialAmount="2" units="substance"/>
+      <species name="A2" compartment="C" initialAmount="3" units="substance" boundaryCondition="true"/>
+      <species name="A3" compartment="C" initialAmount="4" units="substance"/>
+      <species name="A4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="Kf1" value="1"/>
+      <parameter name="Kr1" value="2"/>
+      <parameter name="Kf" value="1"/>
+      <parameter name="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (A4 * Kf1 + -1 * A2 * Kr1)"/>
+      </reaction>
+      <reaction name="reaction2">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (A1 * A2 * Kf + -1 * A3 * Kr)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00873/00873-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00873/00873-sbml-l2v4.xml
new file mode 100644
index 0000000..403ec25
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00873/00873-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00873" id="case00873" name="case00873">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1"/>
+      <parameter id="Kr1" name="Kr1" value="2"/>
+      <parameter id="Kf" name="Kf" value="1"/>
+      <parameter id="Kr" name="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> A4 </ci>
+                  <ci> Kf1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A2 </ci>
+                  <ci> Kr1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> A1 </ci>
+                  <ci> A2 </ci>
+                  <ci> Kf </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A3 </ci>
+                  <ci> Kr </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00873/00873-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00873/00873-sbml-l3v1.xml
new file mode 100644
index 0000000..8af2c2e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00873/00873-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00873" id="case00873" name="case00873" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1" constant="true"/>
+      <parameter id="Kr1" name="Kr1" value="2" constant="true"/>
+      <parameter id="Kf" name="Kf" value="1" constant="true"/>
+      <parameter id="Kr" name="Kr" value="2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> A4 </ci>
+                  <ci> Kf1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A2 </ci>
+                  <ci> Kr1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="A1" stoichiometry="1" constant="true"/>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> A1 </ci>
+                  <ci> A2 </ci>
+                  <ci> Kf </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A3 </ci>
+                  <ci> Kr </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00873/00873-settings.txt b/models/sbml-test-suite/cases/semantic/00873/00873-settings.txt
new file mode 100644
index 0000000..7b37a81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00873/00873-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 50
+variables: A1, A2, A3, A4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: A1, A2, A3, A4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00874/00874-results.csv b/models/sbml-test-suite/cases/semantic/00874/00874-results.csv
new file mode 100644
index 0000000..d9ab5cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00874/00874-results.csv
@@ -0,0 +1,52 @@
+time,A1,A2,A3,A4
+0.0,2.0,4.0,4.0,0.0
+0.06,1.5938216765344433,3.593821676534443,4.0,0.0
+0.12,1.296845288756824,3.296845288756824,4.0,0.0
+0.18,1.0716750218363227,3.0716750218363225,4.0,0.0
+0.24,0.8962192042020308,2.8962192042020307,4.0,0.0
+0.3,0.7565693510225638,2.7565693510225637,4.0,0.0
+0.36,0.6435074966970762,2.643507496697076,4.0,0.0
+0.42,0.5507130856798733,2.5507130856798734,4.0,0.0
+0.48,0.47369550557173223,2.4736955055717322,4.0,0.0
+0.54,0.40917495807590026,2.4091749580759,4.0,0.0
+0.6,0.354705605731109,2.354705605731109,4.0,0.0
+0.66,0.3084141163056944,2.3084141163056944,4.0,0.0
+0.72,0.2688530238531728,2.2688530238531723,4.0,0.0
+0.78,0.23488233136804235,2.234882331368042,4.0,0.0
+0.84,0.20559254007042807,2.205592540070428,4.0,0.0
+0.9,0.18024990246175798,2.1802499024617576,4.0,0.0
+0.96,0.1582548834165983,2.158254883416598,4.0,0.0
+1.02,0.13911506556411526,2.139115065564115,4.0,0.0
+1.08,0.12242140889546566,2.1224214088954656,4.0,0.0
+1.14,0.10783197750924783,2.107831977509248,4.0,0.0
+1.2,0.09505901910370117,2.0950590191037013,4.0,0.0
+1.26,0.08385907630522907,2.0838590763052287,4.0,0.0
+1.32,0.07402534673814573,2.0740253467381455,4.0,0.0
+1.38,0.06538094908668245,2.0653809490866823,4.0,0.0
+1.44,0.05777413024987982,2.0577741302498795,4.0,0.0
+1.5,0.051074221013630065,2.05107422101363,4.0,0.0
+1.56,0.045168336738406784,2.0451683367384064,4.0,0.0
+1.62,0.03995867456031302,2.039958674560313,4.0,0.0
+1.68,0.03536030695841152,2.0353603069584114,4.0,0.0
+1.74,0.031299203450459674,2.03129920345046,4.0,0.0
+1.8,0.02771088762453261,2.0277108876245324,4.0,0.0
+1.86,0.024538905860481006,2.024538905860481,4.0,0.0
+1.92,0.02173390294041836,2.021733902940418,4.0,0.0
+1.98,0.019252593897511838,2.019252593897512,4.0,0.0
+2.04,0.01705696032722092,2.0170569603272206,4.0,0.0
+2.1,0.015113591203306858,2.0151135912033067,4.0,0.0
+2.16,0.013393108242978007,2.013393108242978,4.0,0.0
+2.22,0.011869633210269218,2.011869633210269,4.0,0.0
+2.28,0.010520359988871065,2.010520359988871,4.0,0.0
+2.34,0.00932517548553212,2.009325175485532,4.0,0.0
+2.4,0.00826633034609355,2.0082663303460935,4.0,0.0
+2.46,0.007328152314332407,2.007328152314332,4.0,0.0
+2.52,0.006496796219531095,2.006496796219531,4.0,0.0
+2.58,0.005760025524860968,2.005760025524861,4.0,0.0
+2.64,0.005107021147445059,2.005107021147445,4.0,0.0
+2.7,0.004528213905282446,2.004528213905282,4.0,0.0
+2.76,0.004015137481958206,2.004015137481958,4.0,0.0
+2.82,0.0035602992476567413,2.0035602992476567,4.0,0.0
+2.88,0.0031570666506617424,2.0031570666506617,4.0,0.0
+2.94,0.002799567210197786,2.0027995672101975,4.0,0.0
+3.0,0.0024826004095184423,2.002482600409518,4.0,0.0
diff --git a/models/sbml-test-suite/cases/semantic/00874/00874-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00874/00874-sbml-l1v2.xml
new file mode 100644
index 0000000..41cb47e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00874/00874-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00874">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="A1" compartment="C" initialAmount="2" units="substance"/>
+      <species name="A2" compartment="C" initialAmount="3" units="substance"/>
+      <species name="A3" compartment="C" initialAmount="4" units="substance" boundaryCondition="true"/>
+      <species name="A4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="Kf1" value="1"/>
+      <parameter name="Kf" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw formula="A4 * C * Kf1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw formula="A1 * A2 * C * Kf"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00874/00874-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00874/00874-sbml-l2v4.xml
new file mode 100644
index 0000000..16e415c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00874/00874-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00874" id="case00874" name="case00874">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1"/>
+      <parameter id="Kf" name="Kf" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A4 </ci>
+              <ci> C </ci>
+              <ci> Kf1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A1 </ci>
+              <ci> A2 </ci>
+              <ci> C </ci>
+              <ci> Kf </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00874/00874-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00874/00874-sbml-l3v1.xml
new file mode 100644
index 0000000..1526c2f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00874/00874-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00874" id="case00874" name="case00874" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1" constant="true"/>
+      <parameter id="Kf" name="Kf" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A4 </ci>
+              <ci> C </ci>
+              <ci> Kf1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="A1" stoichiometry="1" constant="true"/>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A1 </ci>
+              <ci> A2 </ci>
+              <ci> C </ci>
+              <ci> Kf </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00874/00874-settings.txt b/models/sbml-test-suite/cases/semantic/00874/00874-settings.txt
new file mode 100644
index 0000000..6ddd13a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00874/00874-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: A1, A2, A3, A4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: A1, A2, A3, A4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00875/00875-results.csv b/models/sbml-test-suite/cases/semantic/00875/00875-results.csv
new file mode 100644
index 0000000..866b95e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00875/00875-results.csv
@@ -0,0 +1,52 @@
+time,A1,A2,A3,A4
+0,2,4.0000000000000000,4.0000000000000000,0
+0.06,2,3.5476817511522900,4.4523182488477000,0
+0.12,2,3.1465114338907300,4.8534885661092600,0
+0.18,2,2.7907052823493600,5.2092947176506300,0
+0.24,2,2.4751335497994700,5.5248664502005300,0
+0.3,2,2.1952465310638600,5.8047534689361400,0
+0.36,2,1.9470090124005300,6.0529909875994600,0
+0.42,2,1.7268420840334500,6.2731579159665400,0
+0.48,2,1.5315715350125400,6.4684284649874500,0
+0.54,2,1.3583820954108200,6.6416179045891700,0
+0.6,2,1.2047768442977900,6.7952231557022000,0
+0.66,2,1.0685412069730600,6.9314587930269300,0
+0.72,2,0.9477110363726260,7.0522889636273700,0
+0.78,2,0.8405443109112310,7.1594556890887600,0
+0.84,2,0.7454959267341460,7.2545040732658500,0
+0.9,2,0.6611955666527970,7.3388044333472000,0
+0.96,2,0.5864278494413020,7.4135721505586900,0
+1.02,2,0.5201148372525890,7.4798851627474100,0
+1.08,2,0.4613004724734200,7.5386995275265800,0
+1.14,2,0.4091368048091540,7.5908631951908400,0
+1.2,2,0.3628717844747910,7.6371282155252000,0
+1.26,2,0.3218383955508540,7.6781616044491400,0
+1.32,2,0.2854450453794810,7.7145549546205100,0
+1.38,2,0.2531670403256400,7.7468329596743500,0
+1.44,2,0.2245390160987170,7.7754609839012800,0
+1.5,2,0.1991482381887370,7.8008517618112600,0
+1.56,2,0.1766286410464130,7.8233713589535800,0
+1.62,2,0.1566555505439380,7.8433444494560600,0
+1.68,2,0.1389410083026260,7.8610589916973700,0
+1.74,2,0.1232296136605800,7.8767703863394100,0
+1.8,2,0.1092948619022090,7.8907051380977900,0
+1.86,2,0.0969358484543990,7.9030641515456000,0
+1.92,2,0.0859743829825986,7.9140256170174000,0
+1.98,2,0.0762524329961361,7.9237475670038600,0
+2.04,2,0.0676298370156521,7.9323701629843400,0
+2.1,2,0.0599822831196440,7.9400177168803500,0
+2.16,2,0.0531995119185298,7.9468004880814700,0
+2.22,2,0.0471837339600427,7.9528162660399500,0
+2.28,2,0.0418482158699668,7.9581517841300300,0
+2.34,2,0.0371160351780829,7.9628839648219100,0
+2.4,2,0.0329189698944892,7.9670810301055100,0
+2.46,2,0.0291965064537497,7.9708034935462500,0
+2.52,2,0.0258949785275086,7.9741050214724900,0
+2.58,2,0.0229667857397198,7.9770332142602800,0
+2.64,2,0.0203697100772354,7.9796302899227600,0
+2.7,2,0.0180663117693271,7.9819336882306700,0
+2.76,2,0.0160233814431708,7.9839766185568200,0
+2.82,2,0.0142114633450265,7.9857885366549700,0
+2.88,2,0.0126044343966692,7.9873955656033300,0
+2.94,2,0.0111791303986683,7.9888208696013300,0
+3,2,0.0099149976070840,7.9900850023929100,0
diff --git a/models/sbml-test-suite/cases/semantic/00875/00875-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00875/00875-sbml-l1v2.xml
new file mode 100644
index 0000000..b46362d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00875/00875-sbml-l1v2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00875">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="A1" compartment="C" initialAmount="2" units="substance" boundaryCondition="true"/>
+      <species name="A2" compartment="C" initialAmount="3" units="substance"/>
+      <species name="A3" compartment="C" initialAmount="4" units="substance"/>
+      <species name="A4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="Kf1" value="1"/>
+      <parameter name="Kf" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" reversible="false" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw formula="A4 * C * Kf1"/>
+      </reaction>
+      <reaction name="reaction2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw formula="A1 * A2 * C * Kf"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00875/00875-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00875/00875-sbml-l2v4.xml
new file mode 100644
index 0000000..c5dbd87
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00875/00875-sbml-l2v4.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00875" id="case00875" name="case00875">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1"/>
+      <parameter id="Kf" name="Kf" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A4 </ci>
+              <ci> C </ci>
+              <ci> Kf1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A1 </ci>
+              <ci> A2 </ci>
+              <ci> C </ci>
+              <ci> Kf </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00875/00875-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00875/00875-sbml-l3v1.xml
new file mode 100644
index 0000000..d5df0d2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00875/00875-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00875" id="case00875" name="case00875" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1" constant="true"/>
+      <parameter id="Kf" name="Kf" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="true">
+        <listOfReactants>
+          <speciesReference species="A4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A4 </ci>
+              <ci> C </ci>
+              <ci> Kf1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="A1" stoichiometry="1" constant="true"/>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> A1 </ci>
+              <ci> A2 </ci>
+              <ci> C </ci>
+              <ci> Kf </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00875/00875-settings.txt b/models/sbml-test-suite/cases/semantic/00875/00875-settings.txt
new file mode 100644
index 0000000..6ddd13a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00875/00875-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: A1, A2, A3, A4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: A1, A2, A3, A4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00876/00876-results.csv b/models/sbml-test-suite/cases/semantic/00876/00876-results.csv
new file mode 100644
index 0000000..b2fe67d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00876/00876-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0002,0.0001,0.0001000000239903073
+0.5,0.000111737976853481,0.0002117379768534811,0.00008826202314651895,0.000111737976853481
+1.,0.0001221071131464763,0.0002221071131464763,0.00007789288685352366,0.0001221071131464763
+1.5,0.0001312556678242006,0.0002312556678242007,0.00006874433217579932,0.0001312556678242006
+2.,0.0001393218759368605,0.0002393218759368606,0.00006067812406313943,0.0001393218759368604
+2.5,0.0001464381993338658,0.0002464381993338657,0.0000535618006661342,0.000146438199333866
+3.,0.0001527197069860825,0.0002527197069860825,0.00004728029301391754,0.0001527197069860823
+3.5,0.0001582636276489352,0.0002582636276489352,0.0000417363723510648,0.0001582636276489357
+4.,0.0001631540425836468,0.0002631540425836468,0.00003684595741635319,0.0001631540425836461
+4.5,0.0001674691287147588,0.0002674691287147589,0.00003253087128524117,0.0001674691287147564
+5.,0.0001712762205687154,0.0002712762205687154,0.00002872377943128462,0.0001712762205687158
+5.5,0.0001746362430078711,0.0002746362430078711,0.00002536375699212889,0.0001746362430078706
+6.,0.0001776000492267866,0.0002776000492267867,0.00002239995077321332,0.0001776000492267908
+6.5,0.0001802169201959474,0.0002802169201959475,0.00001978307980405258,0.0001802169201959487
+7.,0.0001825246145359539,0.000282524614535954,0.00001747538546404605,0.0001825246145359519
+7.5,0.0001845607713605806,0.0002845607713605807,0.00001543922863941937,0.0001845607713605805
+8.,0.0001863557286211178,0.0002863557286211178,0.00001364427137888218,0.0001863557286211198
+8.5,0.0001879395110789107,0.0002879395110789108,0.00001206048892108926,0.0001879395110789077
+9.,0.00018933652717051,0.0002893365271705101,0.00001066347282948996,0.0001893365271705063
+9.5,0.0001905692876689924,0.0002905692876689925,9.430712331007594e-6,0.0001905692876689982
+10.,0.0001916575335568122,0.0002916575335568123,8.342466443187818e-6,0.0001916575335568161
+10.5,0.0001926177330790805,0.0002926177330790806,7.382266920919435e-6,0.0001926177330790689
+11.,0.0001934655144434852,0.0002934655144434853,6.534485556514745e-6,0.0001934655144434829
+11.5,0.0001942131243780432,0.0002942131243780432,5.786875621956808e-6,0.0001942131243780594
+12.,0.000194873500993521,0.000294873500993521,5.126499006479016e-6,0.0001948735009935045
+12.5,0.0001954560014786799,0.00029545600147868,4.543998521320059e-6,0.0001954560014786333
+13.,0.0001959695421414924,0.0002959695421414925,4.030457858507554e-6,0.0001959695421414854
+13.5,0.0001964224079747205,0.0002964224079747207,3.577592025279435e-6,0.000196422407974763
+14.,0.0001968214664259127,0.0002968214664259128,3.178533574087258e-6,0.000196821466425926
+14.5,0.0001971736572109376,0.0002971736572109377,2.826342789062319e-6,0.0001971736572109254
+15.,0.0001974845946311395,0.0002974845946311396,2.515405368860489e-6,0.0001974845946311458
+15.5,0.0001977580700438011,0.0002977580700438012,2.241929956198871e-6,0.00019775807004382
+16.,0.0001979999047017327,0.0002979999047017328,2.000095298267264e-6,0.0001979999047017471
+16.5,0.000198213595213666,0.000298213595213666,1.786404786333989e-6,0.0001982135952136761
+17.,0.0001984013784381164,0.0002984013784381164,1.598621561883628e-6,0.0001984013784381234
+17.5,0.0001985670224166688,0.0002985670224166689,1.432977583331191e-6,0.0001985670224166449
+18.,0.00019871353213461,0.00029871353213461,1.28646786539006e-6,0.0001987135321345569
+18.5,0.0001988431130660521,0.0002988431130660522,1.156886933947922e-6,0.0001988431130659938
+19.,0.0001989578864533849,0.0002989578864533851,1.042113546615083e-6,0.0001989578864533427
+19.5,0.0001990590166426545,0.0002990590166426547,9.40983357345464e-7,0.000199059016642631
+20.,0.0001991480672871676,0.0002991480672871677,8.519327128324005e-7,0.0001991480672871815
+20.5,0.0001992267320722729,0.000299226732072273,7.73267927727073e-7,0.00019922673207235
+21.,0.0001992962864655444,0.0002992962864655445,7.037135344555884e-7,0.0001992962864656486
+21.5,0.0001993578333896112,0.0002993578333896113,6.42166610388819e-7,0.0001993578333896801
+22.,0.000199412226580147,0.0002994122265801471,5.877734198529674e-7,0.0001994122265801411
+22.5,0.0001994599906308038,0.0002994599906308039,5.400093691962003e-7,0.0001994599906307436
+23.,0.000199502063422171,0.0002995020634221712,4.979365778289437e-7,0.0001995020634220497
+23.5,0.000199539230832562,0.000299539230832562,4.607691674380282e-7,0.0001995392308323883
+24.,0.000199572071414542,0.0002995720714145421,4.279285854580017e-7,0.0001995720714144007
+24.5,0.0001996012038487448,0.0002996012038487449,3.987961512551613e-7,0.0001996012038487668
+25.,0.0001996269934832319,0.000299626993483232,3.730065167680339e-7,0.0001996269934832319
diff --git a/models/sbml-test-suite/cases/semantic/00876/00876-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00876/00876-sbml-l1v2.xml
new file mode 100644
index 0000000..4fbeae3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00876/00876-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00876">
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.0002" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.0001" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.0001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.75"/>
+      <parameter name="kr" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="S4 + -1 * S1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="C * (kf * S1 * S2 + -1 * kr * S3)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00876/00876-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00876/00876-sbml-l2v4.xml
new file mode 100644
index 0000000..6d66554
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00876/00876-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00876" id="case00876" name="case00876">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.75"/>
+      <parameter id="kr" name="kr" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00876/00876-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00876/00876-sbml-l3v1.xml
new file mode 100644
index 0000000..f870042
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00876/00876-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00876" id="case00876" name="case00876" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.75" constant="true"/>
+      <parameter id="kr" name="kr" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00876/00876-settings.txt b/models/sbml-test-suite/cases/semantic/00876/00876-settings.txt
new file mode 100644
index 0000000..1850cb9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00876/00876-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00877/00877-results.csv b/models/sbml-test-suite/cases/semantic/00877/00877-results.csv
new file mode 100644
index 0000000..91a3ff0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00877/00877-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.1,0.001357256127050197,0.0001427438729498038
+0.2,0.001228096128439952,0.0002719038715600487
+0.3,0.001111227329995828,0.000388772670004173
+0.4,0.001005480068615407,0.0004945199313845933
+0.5,0.0009097959877092778,0.0005902040122907232
+0.6,0.0008232174476636483,0.0006767825523363527
+0.7,0.0007448779470657381,0.0007551220529342629
+0.8,0.0006739934420502532,0.0008260065579497478
+0.9,0.0006098544543940038,0.0008901455456059972
+1.,0.0005518191617466486,0.0009481808382533524
+1.1,0.0004993065970586114,0.001000693402941389
+1.2,0.0004517913144403353,0.001048208685559666
+1.3,0.0004087976697160141,0.001091202330283987
+1.4,0.0003698954373617172,0.001130104562638284
+1.5,0.0003346952390493507,0.00116530476095065
+1.6,0.000302844756320453,0.001197155243679548
+1.7,0.0002740252528823463,0.001225974747117655
+1.8,0.0002479483073829268,0.001252051692617074
+1.9,0.0002243529226294299,0.001275647077370571
+2.,0.0002030029232073591,0.001296997076792642
+2.1,0.0001836846281687833,0.001316315371831218
+2.2,0.000166204717107591,0.00133379528289241
+2.3,0.000150388251574276,0.001349611748425725
+2.4,0.0001360769272891653,0.001363923072710836
+2.5,0.000123127496184305,0.001376872503815696
+2.6,0.0001114103577379535,0.001388589642262047
+2.7,0.0001008082566565383,0.001399191743343463
+2.8,0.00009121508619151536,0.001408784913808486
+2.9,0.00008253482907339337,0.001417465170926608
+3.,0.00007468060094354591,0.001425319399056455
+3.1,0.00006757379723405507,0.001432426202765946
+3.2,0.00006114329845539335,0.001438856701544608
+3.3,0.00005532474689350698,0.001444675253106494
+3.4,0.00005005990461925803,0.001449940095380743
+3.5,0.0000452960737853687,0.001454703926214632
+3.6,0.00004098557951688885,0.001459014420483112
+3.7,0.00003708528522002338,0.001462914714779977
+3.8,0.00003355615554423098,0.00146644384445577
+3.9,0.00003036286709975645,0.001469637132900244
+4.,0.00002747345727150421,0.001472526542728496
+4.1,0.00002485901042373027,0.00147514098957627
+4.2,0.00002249336258041828,0.001477506637419582
+4.3,0.00002035283735462325,0.001479647162645378
+4.4,0.00001841600985138878,0.001481583990148612
+4.5,0.00001666349400881857,0.001483336505991182
+4.6,0.00001507775191032841,0.001484922248089672
+4.7,0.00001364291410362804,0.001486357085896373
+4.8,0.00001234461998669556,0.001487655380013305
+4.9,0.00001116987460458112,0.00148883012539542
+5.,0.00001010692049869271,0.001489893079501308
diff --git a/models/sbml-test-suite/cases/semantic/00877/00877-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00877/00877-sbml-l2v4.xml
new file mode 100644
index 0000000..0c99460
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00877/00877-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00877" id="case00877" name="case00877">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="p1" name="p1" value="-0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> S1 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00877/00877-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00877/00877-sbml-l3v1.xml
new file mode 100644
index 0000000..64e70a1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00877/00877-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00877" id="case00877" name="case00877" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="p1" name="p1" value="-0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> S1 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00877/00877-settings.txt b/models/sbml-test-suite/cases/semantic/00877/00877-settings.txt
new file mode 100644
index 0000000..203055a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00877/00877-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00878/00878-results.csv b/models/sbml-test-suite/cases/semantic/00878/00878-results.csv
new file mode 100644
index 0000000..2f7220c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00878/00878-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.01499999999999999,0
+0.2,0.01228096129100411,0.002719038708995884
+0.4,0.01005480057054202,0.004945199429457969
+0.6,0.008232174498496273,0.00676782550150372
+0.8,0.006739934215385759,0.008260065784614235
+1.,0.005518191315175401,0.009481808684824592
+1.2,0.004517912903924455,0.01048208709607554
+1.4,0.003698954265071974,0.01130104573492802
+1.6,0.003028447702965832,0.01197155229703416
+1.8,0.002479483117207911,0.01252051688279208
+2.,0.00203002907001679,0.0129699709299832
+2.2,0.001662047344228168,0.01333795265577182
+2.4,0.001360769131556771,0.01363923086844322
+2.6,0.00111410366379587,0.01388589633620412
+2.8,0.0009121508493851816,0.01408784915061481
+3.,0.0007468059728554316,0.01425319402714456
+3.2,0.0006114330382788998,0.01438856696172109
+3.4,0.0005005989896794293,0.01449940101032056
+3.6,0.0004098558363866104,0.01459014416361338
+3.8,0.000335561540589286,0.0146644384594107
+4.,0.0002747345691026944,0.0147252654308973
+4.2,0.0002249336403524908,0.0147750663596475
+4.4,0.0001841600781455433,0.01481583992185444
+4.6,0.0001507775359400847,0.01484922246405991
+4.8,0.0001234461909945071,0.01487655380900548
+5.,0.000101069201616798,0.01489893079838319
+5.2,0.00008274846039450791,0.01491725153960548
+5.4,0.00006774870748624701,0.01493225129251374
+5.6,0.00005546795519287384,0.01494453204480712
+5.8,0.00004541331558037601,0.01495458668441962
+6.,0.00003718128201622126,0.01496281871798377
+6.2,0.00003044145684777478,0.01496955854315222
+6.4,0.00002492335704478774,0.0149750766429552
+6.6,0.00002040552007682623,0.01497959447992317
+6.8,0.00001670662517131865,0.01498329337482867
+7.,0.00001367822941352472,0.01498632177058646
+7.2,0.00001119878597033872,0.01498880121402965
+7.4,9.168790826951307e-6,0.01499083120917304
+7.6,7.506771194535286e-6,0.01499249322880545
+7.8,6.146023965944981e-6,0.01499385397603404
+8.,5.031939418455056e-6,0.01499496806058153
+8.2,4.119803078787259e-6,0.0149958801969212
+8.4,3.373009709135291e-6,0.01499662699029085
+8.6,2.761586741231031e-6,0.01499723841325876
+8.8,2.260995884509242e-6,0.01499773900411548
+9.,1.85114705464164e-6,0.01499814885294535
+9.2,1.515590843835879e-6,0.01499848440915615
+9.4,1.240860949144191e-6,0.01499875913905084
+9.6,1.015930968738457e-6,0.01499898406903124
+9.8,8.317739139310943e-7,0.01499916822608605
+10.,6.809989464474127e-7,0.01499931900105353
diff --git a/models/sbml-test-suite/cases/semantic/00878/00878-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00878/00878-sbml-l2v4.xml
new file mode 100644
index 0000000..a014396
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00878/00878-sbml-l2v4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00878" id="case00878" name="case00878">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.015" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="p1" name="p1" value="-0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> S1 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00878/00878-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00878/00878-sbml-l3v1.xml
new file mode 100644
index 0000000..79253a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00878/00878-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00878" id="case00878" name="case00878" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="p1" name="p1" value="-0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> p1 </ci>
+            <ci> S1 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00878/00878-settings.txt b/models/sbml-test-suite/cases/semantic/00878/00878-settings.txt
new file mode 100644
index 0000000..0801f66
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00878/00878-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00879/00879-results.csv b/models/sbml-test-suite/cases/semantic/00879/00879-results.csv
new file mode 100644
index 0000000..7c01425
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00879/00879-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0,0,0
+0.2,0.00008693582353987676,0.00001241771392301287,6.046347147965128e-7,4.182782231357121e-8
+0.4,0.00007557837414556617,0.00002203145406780465,2.089925136415201e-6,3.002466502135211e-7
+0.6,0.00006570468198148474,0.00002931999030338151,4.065114101695617e-6,9.102136134375325e-7
+0.8,0.00005712090638488246,0.00003468884376538407,6.250153828034918e-6,1.940096021697965e-6
+1.,0.00004965853037914027,0.00003848087457242683,8.449506627796118e-6,3.411088420636201e-6
+1.2,0.00004317105234290536,0.00004098538943273244,0.00001053158341216899,5.311974812192638e-6
+1.4,0.00003753110988501004,0.00004244597172929372,0.00001241267358323024,7.610244802465465e-6
+1.6,0.00003262797946217224,0.00004306720932324746,0.00001404444477625639,0.00001026036643832335
+1.8,0.00002836540264996241,0.00004302047163430486,0.00001540427270283505,0.00001320985301289714
+2.,0.00002465969639399398,0.0000424488670307756,0.00001648780819930555,0.00001640362837592435
+2.2,0.00002143811014273758,0.00004147149379477238,0.00001730330708002186,0.00001978708898246764
+2.4,0.00001863739760380126,0.00004018708255572213,0.00001786734391398277,0.00002330817592649332
+2.6,0.00001620257509338446,0.0000386771147350069,0.00001820160776739137,0.00002691870240421674
+2.8,0.00001408584209211801,0.00003700849005711481,0.00001833053978842727,0.00003057512806233939
+3.,0.00001224564282518793,0.00003523580616354326,0.00001827962219050787,0.0000342389288207604
+3.2,0.00001064585043800665,0.00003340330476516933,0.00001807416800543158,0.00003787667679139187
+3.4,9.255057751052021e-6,0.00003154653128971561,0.00001773849286177986,0.00004145991809745197
+3.6,8.045960674782615e-6,0.00002969374851539306,0.00001729537551176374,0.00004496491529806006
+3.8,6.994822174533957e-6,0.00002786713911706454,0.00001676573414355487,0.0000483723045648461
+4.,6.081006262438986e-6,0.00002608382721397403,0.00001616846167583348,0.00005166670484775298
+4.2,5.28657287393707e-6,0.00002435674482983297,0.00001552037604944966,0.00005483630624677978
+4.4,4.595925664876954e-6,0.00002269536559953394,0.00001483625169252142,0.00005787245704306716
+4.6,3.995505826180331e-6,0.00002110632491145526,0.00001412890632475903,0.00006076926293760485
+4.8,3.473525894479846e-6,0.00001959394302046941,0.0000134093235784671,0.00006352320750658309
+5.,3.019738342347133e-6,0.00001816066532027504,0.000012686796821803,0.0000661327995155743
+5.2,2.625234396593702e-6,0.00001680743198684424,0.00001196908342662453,0.00006859825018993698
+5.4,2.28226914261775e-6,0.00001553398745988479,0.00001126256168083609,0.00007092118171666079
+5.6,1.984109474471376e-6,0.00001433913875811935,0.0000105723848518078,0.00007310436691560092
+5.8,1.724901911632582e-6,0.00001322097032916429,9.902628642964313e-6,0.0000751514991162383
+6.,1.499557682085561e-6,0.00001217702204142312,9.256429624670927e-6,0.00007706699065181987
+6.2,1.303652820429787e-6,0.00001120443596637285,8.636113200779411e-6,0.00007885579801241743
+6.4,1.133341315504315e-6,0.00001030007678815281,8.043310415894947e-6,0.00008052327148044739
+6.6,9.852796061927019e-7,9.460629968884167e-6,7.479063430069693e-6,0.00008207502699485288
+6.8,8.56560939785076e-7,8.682681196869742e-6,6.94391987200621e-6,0.00008351683799133838
+7.,7.446583071550515e-7,7.962780122884202e-6,6.438016531640001e-6,0.00008485454503832012
+7.2,6.473748318608341e-7,7.29749094505206e-6,5.961153026102761e-6,0.00008609398119698373
+7.4,5.628006414927425e-7,6.683432019499388e-6,5.512856167060955e-6,0.00008724091117194628
+7.6,4.892753725520435e-7,6.11730634574428e-6,5.092435811004187e-6,0.00008830098247069884
+7.8,4.253555745248067e-7,5.595924495289406e-6,4.699032983243882e-6,0.00008927968694694124
+8.,3.697863716725698e-7,5.116221310224904e-6,4.331661056224394e-6,0.00009018233126187745
+8.2,3.214768275661962e-7,4.675267494219115e-6,3.989240729618986e-6,0.000091014014948595
+8.4,2.79478527524351e-7,4.270277040855599e-6,3.67062951898331e-6,0.00009177961491263603
+8.6,2.429669595313731e-7,3.898611295985032e-6,3.374646408978165e-6,0.00009248377533550471
+8.8,2.112253271906582e-7,3.557780320930715e-6,3.100092275039347e-6,0.00009313090207683857
+9.,1.836304777262871e-7,3.245442116408122e-6,2.845766622698517e-6,0.00009372516078316636
+9.2,1.596406680757122e-7,2.959400172380392e-6,2.61048114065502e-6,0.00009427047801888816
+9.4,1.387849295024237e-7,2.697599732391953e-6,2.393070512205346e-6,0.00009477054482589955
+9.6,1.206538214077797e-7,2.458123092252398e-6,2.192400880831763e-6,0.00009522882220550733
+9.8,1.048913932778653e-7,2.239184198400291e-6,2.007376320635448e-6,0.00009564854808768568
+10.,9.118819656895374e-8,2.039122761734626e-6,1.836943620031782e-6,0.00009603274542166389
diff --git a/models/sbml-test-suite/cases/semantic/00879/00879-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00879/00879-sbml-l2v4.xml
new file mode 100644
index 0000000..ca71dce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00879/00879-sbml-l2v4.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00879" id="case00879" name="case00879">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <apply>
+                <exp/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+              </apply>
+            </apply>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00879/00879-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00879/00879-sbml-l3v1.xml
new file mode 100644
index 0000000..45f9d02
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00879/00879-sbml-l3v1.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00879" id="case00879" name="case00879" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <apply>
+                <exp/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+              </apply>
+            </apply>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00879/00879-settings.txt b/models/sbml-test-suite/cases/semantic/00879/00879-settings.txt
new file mode 100644
index 0000000..bfe1d07
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00879/00879-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00880/00880-results.csv b/models/sbml-test-suite/cases/semantic/00880/00880-results.csv
new file mode 100644
index 0000000..7e66c7a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00880/00880-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,1.5e-15,0
+0.04,0.8187307523613716,0.1812692476386297,0.005438077429158891
+0.08,0.6703200438918627,0.3296799561081383,0.0197807973664883
+0.12,0.5488116340743879,0.4511883659256133,0.04060695293330519
+0.16,0.4493289641164092,0.5506710358835921,0.06608052430603106
+0.2,0.3678794388708739,0.6321205611291274,0.09481808416936911
+0.24,0.3011942057388402,0.6988057942611611,0.125785042967009
+0.28,0.246596954935341,0.7534030450646602,0.1582146394635786
+0.32,0.2018965089179655,0.7981034910820358,0.1915448378596886
+0.36,0.1652988692865341,0.8347011307134671,0.2253693052926361
+0.4,0.1353352832102819,0.8646647167897194,0.2593994150369158
+0.44,0.110803145436157,0.8891968545638444,0.2934349620060686
+0.48,0.09071794973735969,0.9092820502626417,0.327341538094551
+0.52,0.07427357331736272,0.9257264266826386,0.361033306406229
+0.56,0.06081005643787545,0.9391899435621258,0.3944597762960928
+0.6,0.04978706800268702,0.9502129319973142,0.4275958193987913
+0.64,0.04076219898110118,0.9592378010189001,0.460434144489072
+0.68,0.03337326929936319,0.9666267307006382,0.4929796326573254
+0.72,0.02732372010291363,0.9726762798970877,0.5252451911444273
+0.76,0.0223707699676122,0.9776292300323891,0.5572486611184618
+0.8,0.01831563848282394,0.9816843615171774,0.5890106169103064
+0.84,0.01499557498435659,0.9850044250156448,0.6205527877598562
+0.88,0.01227733983509851,0.9877226601649029,0.6518969557088359
+0.92,0.01005183471263608,0.9899481652873654,0.6830642340482822
+0.96,0.008229746521754363,0.9917702534782472,0.7140745825043379
+1.,0.006737946719774032,0.9932620532802275,0.7449465399601706
+1.04,0.005516563779832376,0.9944834362201692,0.775697080251732
+1.08,0.004516580942640145,0.9954834190573614,0.8063415694364628
+1.12,0.003697863290953523,0.9963021367090481,0.8368937948356004
+1.16,0.003027554616118775,0.9969724453838828,0.8673660274839779
+1.2,0.002478752022000067,0.9975212479780014,0.8977691231802013
+1.24,0.002029430424707753,0.9979705695752937,0.9281126297050231
+1.28,0.00166155726405807,0.9983384427359434,0.9584049050265056
+1.32,0.001360367871575624,0.9986396321284257,0.9886532358071414
+1.36,0.001113775122443009,0.9988862248775582,1.018863949375109
+1.4,0.000911881890235363,0.9990881181097659,1.049042524015254
+1.44,0.000746585742971785,0.9992534142570296,1.079193687397592
+1.48,0.000611252749362469,0.9993887472506389,1.109321509448209
+1.52,0.000500451371936033,0.9994995486280654,1.139429485435994
+1.56,0.0004097349759326082,0.9995902650240688,1.16952061007816
+1.6,0.0003354625943270067,0.9996645374056745,1.199597444886809
+1.64,0.0002746535513952034,0.9997253464486064,1.229662176131785
+1.68,0.0002248673156347563,0.9997751326843668,1.259716667182302
+1.72,0.0001841057720072429,0.9998158942279941,1.289762503554112
+1.76,0.0001507330750744631,0.9998492669249269,1.319801032340903
+1.8,0.0001234097901003834,0.9998765902099009,1.349833396783366
+1.84,0.0001010393971616402,0.9998989606028397,1.379860565631918
+1.88,0.00008272406068915693,0.9999172759393122,1.40988335907443
+1.92,0.000067728729268643,0.9999322712707327,1.439902470629854
+1.96,0.00005545159921737639,0.9999445484007839,1.469918486149152
+2.,0.00004539992976316602,0.9999546000702382,1.499931900105357
diff --git a/models/sbml-test-suite/cases/semantic/00880/00880-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00880/00880-sbml-l2v4.xml
new file mode 100644
index 0000000..8f5b805
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00880/00880-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00880" id="case00880" name="case00880">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00880/00880-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00880/00880-sbml-l3v1.xml
new file mode 100644
index 0000000..2c49940
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00880/00880-sbml-l3v1.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00880" id="case00880" name="case00880" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00880/00880-settings.txt b/models/sbml-test-suite/cases/semantic/00880/00880-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00880/00880-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00881/00881-results.csv b/models/sbml-test-suite/cases/semantic/00881/00881-results.csv
new file mode 100644
index 0000000..0b29ef6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00881/00881-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,1.5e-15,0
+0.04,1.357256127032107,0.1427438729678932,0.004282316189036798
+0.08,1.228096129271296,0.2719038707287043,0.01631423224372225
+0.12,1.111227330516308,0.3887726694836929,0.03498954025353236
+0.16,1.005480057298294,0.4945199427017065,0.05934239312420478
+0.2,0.9097959815021748,0.5902040184978261,0.08853060277467392
+0.24,0.8232174517170113,0.6767825482829896,0.1218208586909381
+0.28,0.7448779555968209,0.75512204440318,0.1585756293246678
+0.32,0.6739934267752584,0.8260065732247425,0.1982415775739382
+0.36,0.6098544726185229,0.890145527381478,0.240339292392999
+0.4,0.5518191319550189,0.948180868044982,0.2844542604134946
+0.44,0.4993066237200362,1.000693376279964,0.3302288141723884
+0.48,0.4517912894530437,1.048208710546957,0.3773551357969046
+0.52,0.4087976871358912,1.091202312864109,0.4255689020170028
+0.56,0.3698954271217608,1.13010457287824,0.4746439206088609
+0.6,0.334695205463786,1.165304794536215,0.5243871575412967
+0.64,0.3028447673567498,1.197155232643251,0.5746345116687605
+0.68,0.274025284549594,1.225974715450406,0.6252471048797074
+0.72,0.2479483143314756,1.252051685668525,0.6761079102610037
+0.76,0.2243529013449825,1.275647098655018,0.7271188462333604
+0.8,0.2030029048213543,1.296997095178646,0.7781982571071879
+0.84,0.1836846377137211,1.316315362286279,0.829278678240356
+0.88,0.166204735979676,1.333795264020324,0.8803048742534143
+0.92,0.1503882536683615,1.349611746331639,0.9312321049688311
+0.96,0.1360769131102065,1.363923086889794,0.9820246225606517
+1.,0.1231274864782331,1.376872513521767,1.032654385141325
+1.04,0.1114103651569665,1.388589634843034,1.083099915177566
+1.08,0.1008082676971369,1.399191732302864,1.13334530316532
+1.12,0.09121508612910196,1.408784913870899,1.183379327651555
+1.16,0.08253481984421005,1.41746518015579,1.233194706735538
+1.2,0.07468059605377112,1.425319403946229,1.282787463551607
+1.24,0.06757380264311435,1.432426197356886,1.332156363541904
+1.28,0.06114330478926034,1.43885669521074,1.38130242740231
+1.32,0.05532474603092573,1.444675253969075,1.430228501429384
+1.36,0.0500598987412758,1.449940101258725,1.4789389032839
+1.4,0.0452960714820628,1.454703928517938,1.527439124943835
+1.44,0.04098558329003616,1.459014416709965,1.575735570046762
+1.48,0.0370852887756592,1.462914711224341,1.623835329459019
+1.52,0.03355615451840325,1.466443845481597,1.671745983849021
+1.56,0.03036286343642313,1.469637136563578,1.719475449779386
+1.6,0.02747345630218681,1.472526543697814,1.767031852437377
+1.64,0.02485901296869954,1.475140987031301,1.8144234140485
+1.68,0.02249336452645365,1.477506635473547,1.861658360696669
+1.72,0.02035283643099558,1.479647163569005,1.908744841004017
+1.76,0.01841600762000139,1.481583992379999,1.955690869941599
+1.8,0.01666349369069804,1.483336506309303,2.002504283517559
+1.84,0.01507775358017404,1.484922246419827,2.049192700059361
+1.88,0.01364291513579714,1.486357084864204,2.095763489658527
+1.92,0.01234461924891176,1.487655380751089,2.142223748281568
+1.96,0.01116987387571391,1.488830126124287,2.188580285402701
+2.,0.01010692049869289,1.489893079501308,2.234839619251962
diff --git a/models/sbml-test-suite/cases/semantic/00881/00881-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00881/00881-sbml-l2v4.xml
new file mode 100644
index 0000000..cad1e8b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00881/00881-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00881" id="case00881" name="case00881">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-015" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="2.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00881/00881-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00881/00881-sbml-l3v1.xml
new file mode 100644
index 0000000..e60a839
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00881/00881-sbml-l3v1.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00881" id="case00881" name="case00881" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00881/00881-settings.txt b/models/sbml-test-suite/cases/semantic/00881/00881-settings.txt
new file mode 100644
index 0000000..6e7e957
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00881/00881-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00882/00882-results.csv b/models/sbml-test-suite/cases/semantic/00882/00882-results.csv
new file mode 100644
index 0000000..b5fdbcf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00882/00882-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0,0,0
+0.2,1.,0.00797604792808638,0.00002392015179215458,3.192012146038253e-8
+0.4,1.,0.03161905365612442,0.0003789186999232725,2.027643952238291e-6
+0.6,1.,0.07009052466429095,0.001886665108437404,0.00002281022727160333
+0.8,1.,0.1220479785751086,0.005826067090418074,0.0001259543344732098
+1.,1.,0.1857226981000139,0.01380739748445125,0.0004699044155346776
+1.2,1.,0.259019597502122,0.02761471913881084,0.001365683359066986
+1.4,1.,0.3396313447422644,0.04903255770446918,0.003336097553266105
+1.6,1.,0.4251580970939187,0.0796738959648305,0.007168006941250537
+1.8,1.,0.5132242569149602,0.1208257749759437,0.01394996810909606
+2.,1.,0.6015844852077547,0.1733262681627936,0.02508924662945148
+2.2,1.,0.688212684708481,0.2374827343998686,0.04230458089165068
+2.4,1.,0.7713695802948081,0.313036587928739,0.06759383177645302
+2.6,1.,0.8496466486278941,0.3991749420226082,0.1031784093494981
+2.8,1.,0.9219862465678637,0.494584962535938,0.1514287908961988
+3.,1.,0.9876796524585055,0.5975430841492555,0.2147772633922396
+3.2,1.,1.04634620909198,0.7060287247093433,0.2956250661986772
+3.4,1.,1.097897748366624,0.8178509338040047,0.3962513178293717
+3.6,1.,1.142492957219823,0.9307765080825045,0.5187305346976726
+3.8,1.,1.180486343970665,1.042649324790953,0.6648643312383811
+4.,1.,1.212376062279133,1.151492705174105,0.8361312325467605
+4.2,1.,1.238754154831264,1.255589182132118,1.033656663036617
+4.4,1.,1.260261910968597,1.353534766615524,1.258203322415878
+4.6,1.,1.27755210788081,1.444267376981377,1.510180515137813
+4.8,1.,1.291259022884492,1.527071275241177,1.789669701874331
+5.,1.,1.301976338868348,1.601560991649416,2.096462669482236
+5.2,1.,1.310242462192454,1.667649247729478,2.430108290078069
+5.4,1.,1.316532351107025,1.725503822129271,2.789963826763706
+5.6,1.,1.321254708475393,1.775498219704319,3.175247071820289
+5.8,1.,1.324753303843702,1.818160515974098,3.585086180182202
+6.,1.,1.327311225425193,1.854123989097992,4.018564785476817
+6.2,1.,1.329156984626846,1.884082254208248,4.474760761164907
+6.4,1.,1.330471571818313,1.908750691420009,4.952777736761681
+6.6,1.,1.33139575802888,1.928835104587826,5.451769137383295
+6.8,1.,1.332037132757075,1.945007820190834,5.970955047052092
+7.,1.,1.332476543521515,1.957890871055211,6.509632585423274
+7.2,1.,1.332773749903788,1.968045514200705,7.067180735895507
+7.4,1.,1.332972219718283,1.975967098380311,7.643060681901407
+7.6,1.,1.33310307712534,1.982084198571445,8.236812724303211
+7.8,1.,1.333188266778129,1.986760946335761,8.848050786886108
+8.,1.,1.333243028347521,1.99030157132267,9.476455400329809
+8.2,1.,1.333277788378536,1.992956304676274,10.12176590694519
+8.4,1.,1.333299576165942,1.994927950975937,10.78377247285812
+8.6,1.,1.333313062302161,1.996378597071206,11.46230834062663
+8.8,1.,1.333321305866839,1.997436073804824,12.15724262032833
+9.,1.,1.33332628216723,1.998199918663787,12.86847379916898
+9.2,1.,1.333329248858578,1.99874669336933,13.59592405777209
+9.4,1.,1.333330995573067,1.999134594080496,14.33953441034644
+9.6,1.,1.333332011270128,1.999407352357793,15.09926063637207
+9.8,1.,1.333332594591058,1.999597466031785,15.87506993937716
+10.,1.,1.333332925462968,1.999728824014636,16.66693825052239
diff --git a/models/sbml-test-suite/cases/semantic/00882/00882-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00882/00882-sbml-l2v4.xml
new file mode 100644
index 0000000..07dc485
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00882/00882-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00882" id="case00882" name="case00882">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true" constant="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.4"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+      <parameter id="k3" name="k3" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00882/00882-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00882/00882-sbml-l3v1.xml
new file mode 100644
index 0000000..f95bb6b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00882/00882-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00882" id="case00882" name="case00882" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.4" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+      <parameter id="k3" name="k3" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00882/00882-settings.txt b/models/sbml-test-suite/cases/semantic/00882/00882-settings.txt
new file mode 100644
index 0000000..5dd8210
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00882/00882-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00883/00883-results.csv b/models/sbml-test-suite/cases/semantic/00883/00883-results.csv
new file mode 100644
index 0000000..966cf4a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00883/00883-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883858146,1.941205288385815,1.058794711614184
+0.1,0.8890941842720874,1.889094184272087,1.110905815727912
+0.15,0.8427255019071731,1.842725501907173,1.157274498092826
+0.2,0.8013223155429497,1.80132231554295,1.198677684457049
+0.25,0.7642376047383383,1.764237604738338,1.235762395261661
+0.3,0.7309282008846402,1.73092820088464,1.269071799115359
+0.35,0.7009347586153784,1.700934758615378,1.299065241384621
+0.4,0.6738662218464023,1.673866221846402,1.326133778153597
+0.45,0.6493876112041175,1.649387611204117,1.350612388795882
+0.5,0.627210358471101,1.6272103584711,1.372789641528899
+0.55,0.6070845998513552,1.607084599851354,1.392915400148645
+0.6,0.5887929211198471,1.588792921119846,1.411207078880153
+0.65,0.5721453184900466,1.572145318490046,1.427854681509954
+0.7,0.5569750596589945,1.556975059658993,1.443024940341006
+0.75,0.5431352731867795,1.543135273186778,1.456864726813221
+0.8,0.5304961569170376,1.530496156917036,1.469503843082963
+0.85,0.5189425620154288,1.518942562015427,1.481057437984572
+0.9,0.5083721072218921,1.508372107221891,1.491627892778108
+0.95,0.5001491937744496,0.9431380607507994,1.499850806225552
+1.,0.5011736933383153,0.944162560314665,1.498826306661686
+1.05,0.5021320885778369,0.9451209555541867,1.497867911422164
+1.1,0.5030285802841536,0.9460174472605034,1.496971419715847
+1.15,0.5038671104379176,0.9468559774142674,1.496132889562083
+1.2,0.504651377129265,0.9476402441056147,1.495348622870736
+1.25,0.5053848486886878,0.9483737156650375,1.494615151311313
+1.3,0.5060707774176036,0.9490596443939534,1.493929222582397
+1.35,0.5067122116581235,0.9497010786344732,1.493287788341878
+1.4,0.5073120089062666,0.9503008758826163,1.492687991093734
+1.45,0.5078728466660831,0.9508617136424328,1.492127153333918
+1.5,0.5083972334537548,0.9513861004301046,1.491602766546246
+1.55,0.5088875190582909,0.9518763860346407,1.49111248094171
+1.6,0.5093459042313073,0.952334771207657,1.490654095768694
+1.65,0.5097744498303815,0.9527633168067313,1.490225550169619
+1.7,0.5101750872379797,0.9531639542143295,1.489824912762021
+1.75,0.5105496175521734,0.9535384845285231,1.489450382447828
+1.8,0.5108997390934556,0.9538886060698054,1.489100260906546
+1.85,0.5112270264954414,0.9542158934717912,1.48877297350456
+1.9,0.5115329687139471,0.9545218356902969,1.488467031286054
+1.95,0.5118189455523983,0.9548078125287481,1.488181054447603
+2.,0.5120862569063768,0.9550751238827266,1.487913743093624
+2.05,0.5123361167502336,0.9553249837265833,1.487663883249768
+2.1,0.5125696586311524,0.9555585256075022,1.487430341368849
+2.15,0.5127879441019521,0.9557768110783019,1.487212055898049
+2.2,0.5129919677304838,0.9559808347068335,1.487008032269518
+2.25,0.513182658073099,0.9561715250494488,1.486817341926902
+2.3,0.5133608830355804,0.9563497500119302,1.486639116964421
+2.35,0.5135274558971614,0.9565163228735111,1.48647254410284
+2.4,0.5136831370883145,0.9566720040646643,1.486316862911687
+2.45,0.5138286357672362,0.956817502743586,1.486171364232765
+2.5,0.5139646174657723,0.9569534844421221,1.486035382534229
diff --git a/models/sbml-test-suite/cases/semantic/00883/00883-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00883/00883-sbml-l2v4.xml
new file mode 100644
index 0000000..4d0aa80
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00883/00883-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00883" id="case00883" name="case00883">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> k3 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00883/00883-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00883/00883-sbml-l3v1.xml
new file mode 100644
index 0000000..cda779a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00883/00883-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00883" id="case00883" name="case00883" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> k3 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00883/00883-settings.txt b/models/sbml-test-suite/cases/semantic/00883/00883-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00883/00883-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00884/00884-results.csv b/models/sbml-test-suite/cases/semantic/00884/00884-results.csv
new file mode 100644
index 0000000..eee4167
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00884/00884-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,0.7415191015233668,1.074423603113031,1.258480898476634
+0.35,0.727926378374008,1.060830879963672,1.272073621625993
+0.4,0.715373585309425,1.048278086899089,1.284626414690576
+0.45,0.703770228633589,1.036674730223253,1.296229771366412
+0.5,0.6930351492003807,1.025939650790044,1.306964850799621
+0.55,0.6830953644806931,1.015999866070357,1.316904635519309
+0.6,0.6738850852090514,1.006789586798715,1.326114914790951
+0.65,0.6653448669838381,0.9982493685735017,1.334655133016164
+0.7,0.6574208831097935,0.9903253846994571,1.342579116890209
+0.75,0.6500642938523428,0.9829687954420065,1.349935706147659
+0.8,0.643230697645876,0.9761351992355397,1.356769302354126
+0.85,0.6368796543166352,0.9697841559062989,1.363120345683367
+0.9,0.6309742773675189,0.9638787789571826,1.369025722632483
+0.95,0.6254808544357062,0.9583853560253698,1.374519145564296
+1.,0.6203685449709279,0.9532730465605916,1.379631455029074
+1.05,0.6156090772355826,0.9485135788252463,1.384390922764419
+1.1,0.6111765195512354,0.944081021140899,1.388823480448767
+1.15,0.607047041817334,0.9399515434069977,1.392952958182669
+1.2,0.6031987249231253,0.9361032265127889,1.396801275076877
+1.25,0.311839937747765,0.9336415904126419,1.399262911177024
+1.3,0.3182214236385607,0.9400230763034376,1.392881425286228
+1.35,0.3242332069395068,0.9460348596043837,1.386869641985282
+1.4,0.3298941514210924,0.9516958040859693,1.381208697503696
+1.45,0.3352224677101182,0.957024120374995,1.37588038121467
+1.5,0.3402356956346629,0.9620373482995396,1.370867153290126
+1.55,0.3449506935390249,0.9667523462039017,1.366152155385764
+1.6,0.3493836338237952,0.9711852864886718,1.361719215100993
+1.65,0.3535500038932164,0.975351656558093,1.357552845031572
+1.7,0.357464609005057,0.9792662616699335,1.353638239919732
+1.75,0.3611415832782656,0.9829432359431421,1.349961265646523
+1.8,0.3645943972238193,0.9863960498886958,1.346508451700969
+1.85,0.3678358772831726,0.9896375299480492,1.343266971641616
+1.9,0.3708782184709468,0.9926798711358234,1.340224630453842
+1.95,0.373733003022367,0.9955346556872436,1.337369845902421
+2.,0.3764112195158091,0.9982128721806858,1.334691629408979
+2.05,0.3789232835254054,1.000724936190282,1.332179565399383
+2.1,0.3812790586283385,1.003080711293215,1.32982379029645
+2.15,0.3834878833578285,1.005289536022705,1.32761496556696
+2.2,0.3855585646687023,1.007360217333578,1.325544284256087
+2.25,0.3874994580290803,1.009301110693956,1.323603390895709
+2.3,0.3893184274528631,1.011120080117739,1.321784421471926
+2.35,0.3910228978142065,1.012824550479082,1.320079951110583
+2.4,0.3926198718327874,1.014421524497663,1.318482977092002
+2.45,0.3941159515451882,1.015917604210064,1.316986897379601
+2.5,0.3955173537543773,1.017319006419253,1.315585495170412
diff --git a/models/sbml-test-suite/cases/semantic/00884/00884-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00884/00884-sbml-l2v4.xml
new file mode 100644
index 0000000..d60dc5d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00884/00884-sbml-l2v4.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00884" id="case00884" name="case00884">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="4"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> k3 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <cn> 0.25 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00884/00884-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00884/00884-sbml-l3v1.xml
new file mode 100644
index 0000000..e25bc3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00884/00884-sbml-l3v1.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00884" id="case00884" name="case00884" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="4" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> k3 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <cn> 0.25 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00884/00884-settings.txt b/models/sbml-test-suite/cases/semantic/00884/00884-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00884/00884-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00885/00885-results.csv b/models/sbml-test-suite/cases/semantic/00885/00885-results.csv
new file mode 100644
index 0000000..704d8e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00885/00885-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.012,0.02,0.01
+0.12,0.01046610322095667,0.01246610322095667,0.01953389677904331,0.009533896779043321
+0.24,0.01088454233784795,0.01288454233784795,0.01911545766215204,0.009115457662152047
+0.36,0.01126085374383024,0.01326085374383024,0.01873914625616975,0.008739146256169758
+0.48,0.01159981522013161,0.01359981522013161,0.01840018477986837,0.008400184779868388
+0.6,0.01190556973145154,0.01390556973145154,0.01809443026854845,0.008094430268548459
+0.72,0.01218172550068485,0.01418172550068485,0.01781827449931513,0.007818274499315141
+0.84,0.01243143790371844,0.01443143790371844,0.01756856209628155,0.007568562096281554
+0.96,0.01265747641591562,0.01465747641591562,0.01734252358408437,0.007342523584084376
+1.08,0.01286228011292071,0.01486228011292071,0.01713771988707928,0.007137719887079287
+1.2,0.01304800382501863,0.01504800382501863,0.01695199617498136,0.006951996174981362
+1.32,0.01321655673797806,0.01521655673797806,0.01678344326202192,0.006783443262021932
+1.44,0.01336963486233716,0.01536963486233716,0.01663036513766283,0.006630365137662833
+1.56,0.01350874848891561,0.01550874848891561,0.01649125151108438,0.006491251511084383
+1.68,0.01363524563538488,0.01563524563538488,0.01636475436461511,0.006364754364615117
+1.8,0.01375033153914559,0.01575033153914559,0.01624966846085439,0.006249668460854401
+1.92,0.01385508636436425,0.01585508636436425,0.01614491363563573,0.006144913635635745
+2.04,0.01395047969706129,0.01595047969706129,0.0160495203029387,0.006049520302938708
+2.16,0.04189035378232697,0.01575022091239644,0.01624977908760355,0.0008397409815057508
+2.28,0.04136523673399015,0.01522510386405964,0.01677489613594035,0.001364858029842555
+2.4,0.04089260932348812,0.01475247645355761,0.01724752354644238,0.001837485440344582
+2.52,0.04046806967299034,0.01432793680305983,0.01767206319694016,0.002262025090842366
+2.64,0.04008740553891943,0.01394727266898892,0.01805272733101107,0.002642689224913272
+2.76,0.03974662866165729,0.01360649579172677,0.01839350420827321,0.002983466102175419
+2.88,0.03944199667568779,0.01330186380575727,0.01869813619424272,0.00328809808814492
+3.,0.0391700246622058,0.01302989179227529,0.01897010820772469,0.003560070101626898
+3.12,0.03892748885657944,0.01278735598664892,0.01921264401335107,0.003802605907253274
+3.24,0.03871142399651412,0.01257129112658361,0.01942870887341639,0.004018670767318588
+3.36,0.0385191159123573,0.01237898304242679,0.0196210169575732,0.004210978851475403
+3.48,0.03834809097137664,0.01220795810144613,0.01979204189855387,0.004382003792456067
+3.6,0.03819610316691087,0.01205597029698036,0.01994402970301964,0.004533991596921836
+3.72,0.03806111989859958,0.01192098702866906,0.02007901297133093,0.004668974865233133
+3.84,0.0379413066653704,0.01180117379543988,0.02019882620456011,0.004788788098462313
+3.96,0.037835012303121,0.01169487943319048,0.02030512056680951,0.004895082460711706
+4.08,0.0377407536394131,0.01160062076948258,0.0203993792305174,0.004989341124419607
+4.2,0.03765720096304431,0.01151706809311379,0.02048293190688619,0.005072893800788399
+4.32,0.03758316430569588,0.01144303143576537,0.02055696856423462,0.005146930458136822
+4.44,0.03751758046641888,0.01137744759648837,0.02062255240351162,0.005212514297413825
+4.56,0.03745950024422239,0.01131936737429188,0.02068063262570811,0.00527059451961031
+4.68,0.03740807780708273,0.01126794493715222,0.02073205506284777,0.005322016956749974
+4.8,0.03736255981376324,0.01122242694383272,0.02077757305616727,0.005367534950069472
+4.92,0.03732227595794736,0.01118214308801685,0.02081785691198314,0.005407818805885343
+5.04,0.03728663052028524,0.01114649765035472,0.02085350234964527,0.005443464243547471
+5.16,0.03725509400808902,0.0111149611381585,0.02088503886184149,0.005475000755743689
+5.28,0.03722719660090327,0.01108706373097275,0.02091293626902723,0.005502898162929437
+5.4,0.03720252126184928,0.01106238839191876,0.02093761160808122,0.005527573501983428
+5.52,0.03718069806301536,0.01104056519308484,0.02095943480691515,0.005549396700817351
+5.64,0.03716139910426487,0.01102126623433436,0.02097873376566563,0.005568695659567835
+5.76,0.03714433384549027,0.01100420097555975,0.02099579902444024,0.005585760918342442
+5.88,0.03712924484004702,0.0109891119701165,0.02101088802988349,0.005600849923785697
+6.,0.03711590404326369,0.01097577117333317,0.02102422882666681,0.00561419072056902
diff --git a/models/sbml-test-suite/cases/semantic/00885/00885-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00885/00885-sbml-l2v4.xml
new file mode 100644
index 0000000..b041275
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00885/00885-sbml-l2v4.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00885" id="case00885" name="case00885">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="25"/>
+      <parameter id="k3" name="k3" value="0.02"/>
+      <parameter id="k4" name="k4" value="0.02"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> k3 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> k4 </ci>
+                <ci> S1 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00885/00885-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00885/00885-sbml-l3v1.xml
new file mode 100644
index 0000000..d47a226
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00885/00885-sbml-l3v1.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00885" id="case00885" name="case00885" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+      <parameter id="k3" name="k3" value="0.02" constant="true"/>
+      <parameter id="k4" name="k4" value="0.02" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> k3 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> k4 </ci>
+                <ci> S1 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00885/00885-settings.txt b/models/sbml-test-suite/cases/semantic/00885/00885-settings.txt
new file mode 100644
index 0000000..664f965
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00885/00885-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00886/00886-results.csv b/models/sbml-test-suite/cases/semantic/00886/00886-results.csv
new file mode 100644
index 0000000..92c8325
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00886/00886-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.08,0.9092009390889381,1.909200939088938,1.090799060911061
+0.16,0.8340700131993279,1.834070013199328,1.165929986800671
+0.24,0.7713364606642036,1.771336460664204,1.228663539335795
+0.32,0.7185561939993981,1.718556193999399,1.281443806000601
+0.4,0.6738662218399149,1.673866221839915,1.326133778160084
+0.48,0.6358218735248861,1.635821873524886,1.364178126475113
+0.56,0.6032859867041361,1.603285986704136,1.396714013295863
+0.64,0.5753516235888196,1.575351623588819,1.42464837641118
+0.72,0.5512871138606685,1.551287113860669,1.448712886139331
+0.8,0.5304961569893357,1.530496156989336,1.469503843010663
+0.88,0.5124883869522735,1.512488386952274,1.487511613047725
+0.96,0.4968573748276001,1.496857374827601,1.503142625172398
+1.04,0.4832638530143488,1.483263853014349,1.51673614698565
+1.12,0.4714228698730876,1.471422869873088,1.528577130126912
+1.2,0.4610937642641096,1.46109376426411,1.53890623573589
+1.28,0.4520722844083944,1.452072284408394,1.547927715591605
+1.36,0.4441843283760207,1.44418432837602,1.555815671623979
+1.44,0.4372809215218131,1.437280921521813,1.562719078478186
+1.52,0.4312341500143851,1.431234150014385,1.568765849985614
+1.6,0.4259338608531712,1.425933860853171,1.574066139146828
+1.68,0.4212849352341874,1.421284935234187,1.578715064765812
+1.76,0.4172050428645186,1.417205042864518,1.582794957135481
+1.84,0.4136227748883561,1.413622774888356,1.586377225111643
+1.92,0.4147007365527099,1.002936033135223,1.585299263447289
+2.,0.4211082833601933,1.009343579942707,1.578891716639806
+2.08,0.4268724593272898,1.015107755909803,1.573127540672709
+2.16,0.4320542728910139,1.020289569473527,1.567945727108986
+2.24,0.4367096592421109,1.024944955824624,1.563290340757889
+2.32,0.4408897594523124,1.029125056034826,1.559110240547687
+2.4,0.4446412108200783,1.032876507402592,1.555358789179921
+2.48,0.4480064524703689,1.036241749052883,1.55199354752963
+2.56,0.4510240208795532,1.039259317462067,1.548975979120446
+2.64,0.4537288556556626,1.041964152238176,1.546271144344336
+2.72,0.4561525788503436,1.044387875432857,1.543847421149656
+2.8,0.4583237733746838,1.046559069957197,1.541676226625316
+2.88,0.4602682428910354,1.048503539473549,1.539731757108964
+2.96,0.4620092556583421,1.050244552240856,1.537990744341657
+3.04,0.4635677729143947,1.051803069496908,1.536432227085605
+3.12,0.4649626643319604,1.053197960914474,1.535037335668039
+3.2,0.4662108974763067,1.05444619405882,1.533789102523693
+3.28,0.4673277262319812,1.055563022814495,1.532672273768018
+3.36,0.4683268477380154,1.056562144320529,1.531673152261984
+3.44,0.4692205622208653,1.057455858803379,1.530779437779134
+3.52,0.470019903238598,1.058255199821111,1.529980096761401
+3.6,0.4707347673486508,1.058970063931164,1.529265232651348
+3.68,0.4713740272832316,1.059609323865745,1.528625972716767
+3.76,0.4719456350436681,1.060180931626182,1.528054364956331
+3.84,0.4724567151851074,1.060692011767621,1.527543284814892
+3.92,0.472913649107114,1.061148945689628,1.527086350892885
+4.,0.4733221510396487,1.061557447622162,1.526677848960351
diff --git a/models/sbml-test-suite/cases/semantic/00886/00886-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00886/00886-sbml-l2v4.xml
new file mode 100644
index 0000000..faf4a8c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00886/00886-sbml-l2v4.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00886" id="case00886" name="case00886">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00886/00886-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00886/00886-sbml-l3v1.xml
new file mode 100644
index 0000000..ac657e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00886/00886-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00886" id="case00886" name="case00886" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00886/00886-settings.txt b/models/sbml-test-suite/cases/semantic/00886/00886-settings.txt
new file mode 100644
index 0000000..ed578e5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00886/00886-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00887/00887-results.csv b/models/sbml-test-suite/cases/semantic/00887/00887-results.csv
new file mode 100644
index 0000000..4aaefcb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00887/00887-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9412052883849633,1.941205288384962,1.058794711615038
+0.1,0.8890941842702648,1.889094184270263,1.110905815729736
+0.15,0.8427255019058447,1.842725501905843,1.157274498094156
+0.2,0.8013223155413801,1.801322315541378,1.198677684458621
+0.25,0.7642376047393315,1.76423760473933,1.23576239526067
+0.3,0.7309282020853614,1.73092820208536,1.269071797914639
+0.35,0.7009347609651552,1.700934760965154,1.299065239034845
+0.4,0.673866223106966,1.673866223106965,1.326133776893034
+0.45,0.6493876110475033,1.649387611047502,1.350612388952497
+0.5,0.6272103609302675,1.627210360930267,1.372789639069732
+0.55,0.6070846027997229,1.607084602799722,1.392915397200277
+0.6,0.2515204746310764,1.601520474550354,1.398479525449646
+0.65,0.2538010623774457,1.603801062296723,1.396198937703276
+0.7,0.2559017723919482,1.605901772311225,1.394098227688774
+0.75,0.2578364869035637,1.607836486822841,1.392163513177158
+0.8,0.2596180640295516,1.609618063948829,1.39038193605117
+0.85,0.2612584056201419,1.611258405539419,1.38874159446058
+0.9,0.2627685222563973,1.612768522175675,1.387231477824324
+0.95,0.2641585936989498,1.614158593618227,1.385841406381772
+1.,0.265438030629801,1.615438030549078,1.384561969450921
+1.05,0.2666155248174828,1.61661552473676,1.383384475263239
+1.1,0.267699102274271,1.617699102193548,1.382300897806451
+1.15,0.2686961736516284,1.618696173570906,1.381303826429094
+1.2,0.2696135762991723,1.61961357621845,1.38038642378155
+1.25,0.2704576174816001,1.620457617400877,1.379542382599122
+1.3,0.2712341142667987,1.621234114186076,1.378765885813923
+1.35,0.2719484302566665,1.621948430175944,1.378051569824055
+1.4,0.2786814322067113,1.006723060993999,1.37131856787401
+1.45,0.285104644129256,1.013146272916543,1.364895355951466
+1.5,0.2911466656130303,1.019188294400317,1.358853334467692
+1.55,0.2968275424641169,1.024869171251404,1.353172457616605
+1.6,0.3021665844969322,1.030208213284219,1.34783341558379
+1.65,0.3071823510401294,1.035223979827416,1.342817649040593
+1.7,0.3118926425803246,1.039934271367611,1.338107357500398
+1.75,0.3163145001195887,1.044356128906875,1.333685499961134
+1.8,0.3204642089627103,1.048505837749996,1.329535791118012
+1.85,0.3243573059047853,1.052398934692071,1.325642694175937
+1.9,0.328008593107022,1.056050221894308,1.321991406973701
+1.95,0.3314321512717823,1.059473780059068,1.318567848808941
+2.,0.3346413587166751,1.062682987503961,1.315358641364048
+2.05,0.3376489115448407,1.065690540332127,1.312351088535882
+2.1,0.3404668451211508,1.068508473908437,1.309533154959572
+2.15,0.3431065566975253,1.071148185484811,1.306893443383197
+2.2,0.3455788297620198,1.073620458549306,1.304421170318703
+2.25,0.3478938525664065,1.075935481353693,1.302106147514316
+2.3,0.3500612503976691,1.078102879184955,1.299938749683054
+2.35,0.3520901081655764,1.080131736952862,1.297909891915146
+2.4,0.3539889908620807,1.082030619649367,1.296011009218642
+2.45,0.3557659730313501,1.083807601818636,1.294234027049373
+2.5,0.3574286590028856,1.085470287790172,1.292571341077837
diff --git a/models/sbml-test-suite/cases/semantic/00887/00887-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00887/00887-sbml-l2v4.xml
new file mode 100644
index 0000000..a204a1f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00887/00887-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00887" id="case00887" name="case00887">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+      <parameter id="k3" name="k3" value="4"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.25 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00887/00887-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00887/00887-sbml-l3v1.xml
new file mode 100644
index 0000000..0de357e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00887/00887-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00887" id="case00887" name="case00887" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="k3" name="k3" value="4" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn> 1.4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.25 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00887/00887-settings.txt b/models/sbml-test-suite/cases/semantic/00887/00887-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00887/00887-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00888/00888-results.csv b/models/sbml-test-suite/cases/semantic/00888/00888-results.csv
new file mode 100644
index 0000000..c213896
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00888/00888-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.5,0,0
+0.1,1.291061963593297,0.2089380364067016,0.1427438731630235
+0.2,1.111227319143139,0.3887726808568595,0.2719038729813358
+0.3,0.9564422149335143,0.5435577850664848,0.3887726718453382
+0.4,0.8232174460203375,0.6767825539796616,0.4945199329011887
+0.5,0.7085497945832061,0.7914502054167931,0.5902040191723765
+0.6,0.6098544799335253,0.8901455200664738,0.676782548423643
+0.7,0.5249066216262877,0.9750933783737114,0.7551220448891975
+0.8,0.4517913005753516,1.048208699424647,0.826006558937162
+0.9,0.3888603707862227,1.111139629213776,0.8901455166359666
+1.,0.3346952006172642,1.165304799382734,0.9481808511553064
+1.1,0.2880748422084225,1.211925157791576,1.000693381584414
+1.2,0.2479483298653508,1.252051670134648,1.048208683027925
+1.3,0.2134111035776969,1.286588896422302,1.09120231187514
+1.4,0.1836846270313602,1.316315372968638,1.130104560164277
+1.5,0.158098817720349,1.341901182279649,1.165304767768986
+1.6,0.1360769167397856,1.363923083260213,1.19715522882853
+1.7,0.1171224951390044,1.382877504860994,1.225974715719615
+1.8,0.1008082689571355,1.399191731042863,1.252051667741034
+1.9,0.08676647649308855,1.41323352350691,1.275647073611883
+2.,0.07468059417957918,1.425319405820419,1.296997079630151
+2.1,0.06427818295163662,1.435721817048362,1.316315361776124
+2.2,0.05532474771779898,1.4446752522822,1.333795264476431
+2.3,0.04761845437144968,1.452381545628549,1.349611734539149
+2.4,0.04098558255379156,1.459014417446207,1.363923070792705
+2.5,0.03527661550260695,1.464723384497391,1.376872504317493
+2.6,0.03036286348533746,1.469637136514661,1.388589635348369
+2.7,0.02613355965760828,1.47386644034239,1.3991917326514
+2.8,0.02249336471019239,1.477506635289806,1.408784906482609
+2.9,0.01936021875536425,1.480639781244633,1.417465170011641
+3.,0.01666349369686176,1.483336506303136,1.425319398425729
+3.1,0.01434240122049876,1.485657598779499,1.432426197966262
+3.2,0.01234461923062421,1.487655380769374,1.438856695349514
+3.3,0.01062511286025118,1.489374887139747,1.444675249450284
+3.4,0.009145119842074882,1.490854880157923,1.449940095066324
+3.5,0.00787127730198596,1.492128722698012,1.454703925201414
+3.6,0.006774870726997302,1.493225129273001,1.45901441714719
+3.7,0.005831185165667915,1.49416881483433,1.462914711173936
+3.8,0.005018947793446362,1.494981052206552,1.466443842736953
+3.9,0.004319848674645405,1.495680151325353,1.469637132918838
+4.,0.003718128217584543,1.496281871782414,1.47252654173549
+4.1,0.003200222407524085,1.496799777592474,1.475140987275259
+4.2,0.002754456835313141,1.497245543164685,1.477506635301438
+4.3,0.002370783011705047,1.497629216988293,1.479647161892315
+4.4,0.002040551976016383,1.497959448023982,1.481583990289587
+4.5,0.001756319430842127,1.498243680569156,1.483336505193279
+4.6,0.001511678069925715,1.498488321930072,1.484922246527169
+4.7,0.00130111329481552,1.498698886705183,1.486357084639003
+4.8,0.001119878581595098,1.498880121418403,1.487655379712027
+4.9,0.0009638884752174206,1.499036111524781,1.488830125543931
+5.,0.0008296265552303219,1.499170373444768,1.489893079501345
diff --git a/models/sbml-test-suite/cases/semantic/00888/00888-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00888/00888-sbml-l2v4.xml
new file mode 100644
index 0000000..8ccf63d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00888/00888-sbml-l2v4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00888" id="case00888" name="case00888">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 1.5 </cn>
+            <apply>
+              <power/>
+              <apply>
+                <exp/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00888/00888-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00888/00888-sbml-l3v1.xml
new file mode 100644
index 0000000..7e70190
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00888/00888-sbml-l3v1.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00888" id="case00888" name="case00888" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 1.5 </cn>
+            <apply>
+              <power/>
+              <apply>
+                <exp/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00888/00888-settings.txt b/models/sbml-test-suite/cases/semantic/00888/00888-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00888/00888-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00889/00889-results.csv b/models/sbml-test-suite/cases/semantic/00889/00889-results.csv
new file mode 100644
index 0000000..4ab1f98
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00889/00889-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00015,0.0002,0.00015,0.0001
+0.1,0.0001301482528425512,0.0001801482528425512,0.0001698517471574487,0.0001000500000000124
+0.2,0.0001144383745548199,0.0001644383745548198,0.0001855616254451801,0.0001002000000000124
+0.3,0.0001017060886508048,0.0001517060886508048,0.0001982939113491951,0.0001004500000000124
+0.4,0.00009118606238026999,0.0001411860623802699,0.00020881393761973,0.0001008000000000123
+0.5,0.00008235451085025201,0.000132354510850252,0.0002176454891497479,0.0001012500000000124
+0.6,0.00007484086865471905,0.0001248408686547191,0.0002251591313452809,0.0001018000000000123
+0.7,0.00006837558150038386,0.0001183755815003839,0.000231624418499616,0.0001024500000000123
+0.8,0.00006275787974189643,0.0001127578797418965,0.0002372421202581035,0.0001032000000000124
+0.9,0.00005783515441016273,0.0001078351544101627,0.0002421648455898372,0.0001040500000000123
+1.,0.00005348932972175029,0.0001034893297217503,0.0002465106702782495,0.0001050000000000123
+1.1,0.00004962761702060732,0.00009962761702060735,0.0002503723829793925,0.0001060500000000123
+1.2,0.00004617608984185705,0.00009617608984185709,0.0002538239101581427,0.0001072000000000124
+1.3,0.00004307511934780861,0.00009307511934780862,0.0002569248806521912,0.0001084500000000123
+1.4,0.00004027607766107743,0.00009027607766107744,0.0002597239223389223,0.0001098000000000123
+1.5,0.00003773891211532944,0.00008773891211532943,0.0002622610878846703,0.0001112500000000124
+1.6,0.00003543033323004601,0.00008543033323004601,0.0002645696667699537,0.0001128000000000124
+1.7,0.00003332244536351051,0.0000833224453635105,0.0002666775546364892,0.0001144500000000124
+1.8,0.00003139169553177647,0.00008139169553177648,0.0002686083044682232,0.0001162000000000123
+1.9,0.0000296180592852637,0.0000796180592852637,0.000270381940714736,0.0001180500000000124
+2.,0.0000279844046583046,0.00007798440465830461,0.0002720155953416951,0.0001200000000000124
+2.1,0.00002647598621885185,0.00007647598621885186,0.0002735240137811479,0.0001220500000000124
+2.2,0.00002508004374808621,0.00007508004374808622,0.0002749199562519135,0.0001242000000000124
+2.3,0.00002378547936592006,0.00007378547936592007,0.0002762145206340797,0.0001264500000000124
+2.4,0.00002258259402516353,0.00007258259402516356,0.0002774174059748362,0.0001288000000000124
+2.5,0.00002146287425931426,0.00007146287425931427,0.0002785371257406855,0.0001312500000000124
+2.6,0.00002041881607052107,0.00007041881607052109,0.0002795811839294787,0.0001338000000000124
+2.7,0.00001944377936345498,0.00006944377936345499,0.0002805562206365448,0.0001364500000000124
+2.8,0.00001853186729255536,0.00006853186729255538,0.0002814681327074444,0.0001392000000000124
+2.9,0.0000176778245572978,0.00006767782455729783,0.000282322175442702,0.0001420500000000124
+3.,0.0000168769524261922,0.00006687695242619222,0.0002831230475738077,0.0001450000000000123
+3.1,0.00001612503708711959,0.00006612503708711961,0.0002838749629128803,0.0001480500000000124
+3.2,0.00001541828861910803,0.00006541828861910804,0.0002845817113808919,0.0001512000000000124
+3.3,0.00001475328875795867,0.00006475328875795867,0.0002852467112420412,0.0001544500000000124
+3.4,0.00001412694616023841,0.00006412694616023841,0.0002858730538397615,0.0001578000000000124
+3.5,0.00001353645903282013,0.00006353645903282014,0.0002864635409671797,0.0001612500000000124
+3.6,0.00001297928088517812,0.00006297928088517813,0.0002870207191148217,0.0001648000000000123
+3.7,0.00001245309305528037,0.00006245309305528038,0.0002875469069447195,0.0001684500000000123
+3.8,0.00001195577915557212,0.00006195577915557211,0.0002880442208444278,0.0001722000000000123
+3.9,0.00001148540375152517,0.00006148540375152517,0.0002885145962484747,0.0001760500000000123
+4.,0.00001104019348569377,0.00006104019348569376,0.0002889598065143061,0.0001800000000000124
+4.1,0.00001061852044041376,0.00006061852044041374,0.0002893814795595861,0.0001840500000000124
+4.2,0.00001021888716673989,0.00006021888716673987,0.0002897811128332601,0.0001882000000000124
+4.3,9.839914647895876e-6,0.00005983991464789586,0.0002901600853521041,0.0001924500000000123
+4.4,9.480330301657829e-6,0.00005948033030165782,0.0002905196696983421,0.0001968000000000124
+4.5,9.138957873359906e-6,0.0000591389578733599,0.0002908610421266401,0.0002012500000000124
+4.6,8.814709051808487e-6,0.00005881470905180847,0.0002911852909481915,0.0002058000000000124
+4.7,8.50657497429912e-6,0.0000585065749742991,0.0002914934250257009,0.0002104500000000123
+4.8,8.213619279506209e-6,0.00005821361927950619,0.0002917863807204938,0.0002152000000000124
+4.9,7.93497179855727e-6,0.00005793497179855725,0.0002920650282014428,0.0002200500000000124
+5.,7.669822897900066e-6,0.00005766982289790005,0.0002923301771021,0.0002250000000000124
diff --git a/models/sbml-test-suite/cases/semantic/00889/00889-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00889/00889-sbml-l2v4.xml
new file mode 100644
index 0000000..c1fa6fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00889/00889-sbml-l2v4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00889" id="case00889" name="case00889">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="0.0025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            <apply>
+              <power/>
+              <cn type="integer"> 100000 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00889/00889-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00889/00889-sbml-l3v1.xml
new file mode 100644
index 0000000..9f617ca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00889/00889-sbml-l3v1.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00889" id="case00889" name="case00889" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="0.0025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            <apply>
+              <power/>
+              <cn type="integer"> 100000 </cn>
+              <cn type="integer"> -1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00889/00889-settings.txt b/models/sbml-test-suite/cases/semantic/00889/00889-settings.txt
new file mode 100644
index 0000000..428995a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00889/00889-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00890/00890-results.csv b/models/sbml-test-suite/cases/semantic/00890/00890-results.csv
new file mode 100644
index 0000000..2b0e5f6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00890/00890-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.12,1.37089677789688,2.129103222103118,1.542299999999323,3.984999999999998
+0.24,1.252905317097757,2.247094682902241,1.579199999999323,3.969999999999999
+0.36,1.145069240714165,2.354930759285834,1.610699999999323,3.954999999999999
+0.48,1.046514485625248,2.453485514374751,1.636799999999323,3.939999999999999
+0.6,0.9564422260323058,2.543557773967693,1.657499999999323,3.925
+0.72,0.8741223611550863,2.625877638844913,1.672799999999323,3.91
+0.84,0.7988876919325016,2.701112308067497,1.682699999999323,3.895
+0.96,0.7301283835877399,2.769871616412259,1.687199999999323,3.88
+1.08,0.6672870993283892,2.83271290067161,1.688699999999566,3.865
+1.2,0.6098544894588402,2.890145510541158,1.694999999999566,3.85
+1.32,0.5573650357372601,2.942634964262739,1.706699999999566,3.834999999999999
+1.44,0.5093932881265486,2.990606711873451,1.723799999999566,3.819999999999999
+1.56,0.4655504103463135,3.034449589653685,1.746299999999566,3.804999999999998
+1.68,0.4254810379173288,3.07451896208267,1.774199999999566,3.789999999999998
+1.8,0.3888603881044746,3.111139611895525,1.807499999999566,3.774999999999998
+1.92,0.3553916305693887,3.144608369430611,1.846199999999566,3.759999999999998
+2.04,0.3248034982342928,3.175196501765707,1.890299999999566,3.744999999999998
+2.16,0.2968480476314662,3.203151952368533,1.939799999999566,3.729999999999998
+2.28,0.2712986834874424,3.228701316512557,1.994699999999566,3.714999999999998
+2.4,0.2479482988862301,3.25205170111377,2.054999999999566,3.699999999999998
+2.52,0.2266077105989856,3.273392289401014,2.120699999999565,3.684999999999998
+2.64,0.2071038559662642,3.292896144033735,2.191800000000155,3.669999999999998
+2.76,0.1892786724251308,3.310721327574868,2.268300000000155,3.654999999999998
+2.88,0.172987681493221,3.327012318506778,2.350200000000155,3.639999999999997
+3.,0.158098836745379,3.341901163254619,2.437500000000155,3.624999999999997
+3.12,0.1444914571198558,3.355508542880143,2.530200000000155,3.609999999999998
+3.24,0.1320552484352149,3.367944751564783,2.628300000000155,3.594999999999998
+3.36,0.1206894081389513,3.379310591861046,2.731800000000155,3.579999999999998
+3.48,0.1103018152924998,3.389698184707498,2.840700000000155,3.564999999999998
+3.6,0.1008082686539451,3.399191731346052,2.955000000000155,3.549999999999998
+3.72,0.09213181927357727,3.40786818072642,3.074700000000155,3.534999999999998
+3.84,0.08420214300615322,3.415797856993844,3.199800000000154,3.519999999999998
+3.96,0.07695495890659369,3.423045041093404,3.330300000000154,3.504999999999998
+4.08,0.07033153930535911,3.429668460694639,3.466200000000154,3.489999999999998
+4.2,0.06427818932745979,3.435721810672538,3.607500000000155,3.474999999999998
+4.32,0.05874584264298357,3.441254157357014,3.754200000000154,3.459999999999998
+4.44,0.05368965661877719,3.446310343381221,3.906300000000154,3.444999999999998
+4.56,0.04906864979158029,3.450931350208418,4.063800000000153,3.429999999999998
+4.68,0.04484536771833654,3.455154632281662,4.226700000000153,3.414999999999998
+4.8,0.04098557917928924,3.459014420820709,4.395000000000154,3.399999999999998
+4.92,0.03745799886319354,3.462542001136804,4.568700000000153,3.384999999999998
+5.04,0.0342340339023659,3.465765966097632,4.747800000000154,3.369999999999997
+5.16,0.03128755220755594,3.468712447792442,4.932300000000154,3.354999999999997
+5.28,0.02859467072870905,3.471405329271289,5.122200000000154,3.339999999999997
+5.4,0.02613356192865058,3.473866438071347,5.317500000000155,3.324999999999997
+5.52,0.02388427701854591,3.476115722981452,5.518200000000153,3.309999999999997
+5.64,0.02182858490741308,3.478171415092585,5.724300000000154,3.294999999999997
+5.76,0.01994982375563475,3.480050176244363,5.935800000000154,3.279999999999997
+5.88,0.01823276682446674,3.481767233175531,6.152700000000155,3.264999999999997
+6.,0.01666349480739471,3.483336505192603,6.375000000000156,3.249999999999997
diff --git a/models/sbml-test-suite/cases/semantic/00890/00890-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00890/00890-sbml-l2v4.xml
new file mode 100644
index 0000000..3eece11
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00890/00890-sbml-l2v4.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00890" id="case00890" name="case00890">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+            <apply>
+              <abs/>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+                </apply>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00890/00890-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00890/00890-sbml-l3v1.xml
new file mode 100644
index 0000000..89d9f35
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00890/00890-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00890" id="case00890" name="case00890" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+            <apply>
+              <abs/>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+                </apply>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00890/00890-settings.txt b/models/sbml-test-suite/cases/semantic/00890/00890-settings.txt
new file mode 100644
index 0000000..514ef27
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00890/00890-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00891/00891-results.csv b/models/sbml-test-suite/cases/semantic/00891/00891-results.csv
new file mode 100644
index 0000000..60900be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00891/00891-results.csv
@@ -0,0 +1,52 @@
+time,k1,k2
+0,0.00015,0
+0.1,0.0001492518718740149,7.481281259850865e-7
+0.2,0.0001470298009637395,2.970199036260434e-6
+0.3,0.0001433996221555662,6.600377844433734e-6
+0.4,0.0001384674518111702,0.00001153254818882975
+0.5,0.0001323745342838787,0.00001762546571612124
+0.6,0.0001252905315934656,0.00002470946840653433
+0.7,0.0001174056806218294,0.0000325943193781706
+0.8,0.0001089223558064527,0.00004107764419354722
+0.9,0.0001000465216539489,0.00004995347834605113
+1.,0.00009097960049910019,0.00005902039950089982
+1.1,0.00008191116426314935,0.00006808883573685065
+1.2,0.00007301283939365961,0.0000769871606063404
+1.3,0.00006443360630438724,0.00008556639369561277
+1.4,0.0000562966659066907,0.00009370333409330932
+1.5,0.00004869787025118543,0.0001013021297488146
+1.6,0.0000417055952271719,0.0001082944047728281
+1.7,0.00003536191164564081,0.0001146380883543592
+1.8,0.00002968480501850008,0.0001203151949814999
+1.9,0.00002467116862709788,0.0001253288313729021
+2.,0.00002030029260254299,0.000129699707397457
+2.1,0.00001653757912216503,0.000133462420877835
+2.2,0.00001333824271306947,0.0001366617572869306
+2.3,0.00001065080306570875,0.0001393491969342913
+2.4,8.420214362761942e-6,0.0001415797856372381
+2.5,6.590539947578383e-6,0.0001434094600524216
+2.6,5.107118198163573e-6,0.0001448928818018364
+2.7,3.918211234359608e-6,0.0001460817887656404
+2.8,2.976164073104588e-6,0.0001470238359268954
+2.9,2.23811785238308e-6,0.0001477618821476169
+3.,1.666349213056943e-6,0.000148333650786943
+3.1,1.228305009168324e-6,0.0001487716949908316
+3.2,8.96403304430605e-7,0.0001491035966955693
+3.3,6.476758869174923e-7,0.0001493523241130824
+3.4,4.633072135555591e-7,0.0001495366927864444
+3.5,3.281236404974154e-7,0.0001496718763595026
+3.6,2.30071585994387e-7,0.0001497699284140056
+3.7,1.597149088801958e-7,0.0001498402850911197
+3.8,1.097703519496619e-7,0.0001498902296480503
+3.9,7.469331301249418e-8,0.0001499253066869874
+4.,5.031938558910991e-8,0.0001499496806144108
+4.1,3.356186402812618e-8,0.0001499664381359718
+4.2,2.216225038085226e-8,0.000149977837749619
+4.3,1.448901081737345e-8,0.0001499855109891825
+4.4,9.378225514091644e-9,0.0001499906217744858
+4.5,6.009793775525941e-9,0.0001499939902062244
+4.6,3.812901674686604e-9,0.0001499961870983252
+4.7,2.395017196956681e-9,0.0001499976049828029
+4.8,1.489425644750175e-9,0.0001499985105743551
+4.9,9.170350448550259e-10,0.000149999082964955
+5.,5.589979758122896e-10,0.0001499994410020241
diff --git a/models/sbml-test-suite/cases/semantic/00891/00891-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00891/00891-sbml-l2v4.xml
new file mode 100644
index 0000000..089cddb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00891/00891-sbml-l2v4.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00891" id="case00891" name="case00891">
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.00015" constant="false"/>
+      <parameter id="k2" name="k2" value="0" constant="false"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> k3 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k3 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00891/00891-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00891/00891-sbml-l3v1.xml
new file mode 100644
index 0000000..2b49f9b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00891/00891-sbml-l3v1.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00891" id="case00891" name="case00891" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.00015" constant="false"/>
+      <parameter id="k2" name="k2" value="0" constant="false"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k1 </ci>
+            <ci> k3 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="k2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k3 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00891/00891-settings.txt b/models/sbml-test-suite/cases/semantic/00891/00891-settings.txt
new file mode 100644
index 0000000..73ee32e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00891/00891-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: k1, k2
+absolute: 1.000000e-007
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00892/00892-results.csv b/models/sbml-test-suite/cases/semantic/00892/00892-results.csv
new file mode 100644
index 0000000..13098de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00892/00892-results.csv
@@ -0,0 +1,52 @@
+time,P1,P2
+0,1.5,0
+0.16,1.512313881944166,0.2223908796991922
+0.32,1.542382417003705,0.4146380273405152
+0.48,1.582491124021685,0.5822693049325387
+0.64,1.627457226660922,0.7290331721730035
+0.8,1.673829059092223,0.8576741564885364
+0.96,1.719359235900145,0.9703581346119917
+1.12,1.762643870667612,1.06890187557132
+1.28,1.802868566682436,1.154893974123908
+1.44,1.839626645729957,1.229756721479943
+1.6,1.872788182742659,1.294776983250388
+1.76,1.902405703304652,1.351121736312105
+1.92,1.928646716611807,1.399846733167756
+2.08,1.951745997277676,1.441902649340541
+2.24,1.971972386750413,1.478140766344915
+2.4,1.989606212341016,1.509318998714083
+2.56,2.004924402525484,1.536108442150001
+2.72,2.018191116585351,1.559100331495794
+2.88,2.029652267896467,1.578813194877069
+3.04,2.039532746833327,1.595699982255651
+3.2,2.04803547173595,1.610154979328043
+3.36,2.055341638883095,1.622520365405261
+3.52,2.061611723441702,1.633092321461543
+3.68,2.066986916700166,1.642126634736308
+3.84,2.071590782895839,1.64984377900716
+4.,2.075530989778004,1.656433473497501
+4.16,2.078901017835593,1.662058740043296
+4.32,2.08178178910858,1.666859488985754
+4.48,2.084243181509115,1.67095567035378
+4.64,2.086345411744171,1.674450029772082
+4.8,2.088140281425462,1.677430509025668
+4.96,2.089672288387246,1.679972330088524
+5.12,2.090979609804031,1.682139799247546
+5.28,2.092094966174363,1.683987864973587
+5.44,2.093046376889312,1.68556346082484
+5.6,2.093857817909334,1.686906660591437
+5.76,2.094549792499662,1.688051670931305
+5.92,2.095139824929669,1.689027683035782
+6.08,2.095642886573632,1.689859602683364
+6.24,2.096071762938003,1.690568675495502
+6.4,2.096437369262115,1.691173022008596
+6.56,2.096749021554289,1.691688095336478
+6.72,2.09701466901271,1.692127072294036
+6.88,2.097241093241218,1.69250118767769
+7.04,2.097434078743944,1.69282001965735
+7.2,2.097598558827721,1.693091733499837
+7.36,2.097738740342068,1.69332328957776
+7.52,2.097858210278368,1.693520620864592
+7.68,2.097960026826136,1.693688784359189
+7.84,2.098046797147354,1.693832090284437
+8.,2.098120743727315,1.693954212209434
diff --git a/models/sbml-test-suite/cases/semantic/00892/00892-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00892/00892-sbml-l2v4.xml
new file mode 100644
index 0000000..a82a9f8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00892/00892-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00892" id="case00892" name="case00892">
+    <listOfParameters>
+      <parameter id="P1" name="P1" value="1.5" constant="false"/>
+      <parameter id="P2" name="P2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="k2" name="k2" value="0.75"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <apply>
+              <power/>
+              <exponentiale/>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+            <ci> k2 </ci>
+            <ci> P2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <apply>
+              <power/>
+              <exponentiale/>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+            <ci> k1 </ci>
+            <ci> P1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00892/00892-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00892/00892-sbml-l3v1.xml
new file mode 100644
index 0000000..0fe6785
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00892/00892-sbml-l3v1.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00892" id="case00892" name="case00892" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" name="P1" value="1.5" constant="false"/>
+      <parameter id="P2" name="P2" value="0" constant="false"/>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.75" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <apply>
+              <power/>
+              <exponentiale/>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+            <ci> k2 </ci>
+            <ci> P2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <apply>
+              <power/>
+              <exponentiale/>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+            <ci> k1 </ci>
+            <ci> P1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00892/00892-settings.txt b/models/sbml-test-suite/cases/semantic/00892/00892-settings.txt
new file mode 100644
index 0000000..fca090b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00892/00892-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: P1, P2
+absolute: 1.000000e-003
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00893/00893-results.csv b/models/sbml-test-suite/cases/semantic/00893/00893-results.csv
new file mode 100644
index 0000000..fcb43b7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00893/00893-results.csv
@@ -0,0 +1,52 @@
+time,P1,P2,P3
+0,0.0015,0,0.001
+0.16,0.001499248188469817,7.518115301825485e-7,0.007400000000000086
+0.32,0.001495430972832554,4.569027167445828e-6,0.02660000000000008
+0.48,0.001485526281977145,0.00001447371802285509,0.05860000000002175
+0.64,0.001466648366474043,0.00003335163352595717,0.1034000000000217
+0.8,0.001436196703560108,0.00006380329643989129,0.1610000000000217
+0.96,0.001392049481177583,0.000107950518822416,0.2314000000000217
+1.12,0.001332781050832461,0.0001672189491675392,0.3146000000000218
+1.28,0.001257873304590101,0.0002421266954098991,0.4106000000000217
+1.44,0.001167883467091251,0.0003321165329087497,0.5194000000000218
+1.6,0.001064528283513109,0.0004354717164868924,0.6410000000000218
+1.76,0.0009506497711319215,0.0005493502288680809,0.7754000000000217
+1.92,0.000830042070680134,0.0006699579293198684,0.9226000000000218
+2.08,0.0007071416884335461,0.0007928583115664563,1.082600000000022
+2.24,0.0005866108896691815,0.000913389110330821,1.255400000000022
+2.4,0.0004728699422343989,0.001027130057765603,1.441000000000021
+2.56,0.000369650902616053,0.001130349097383948,1.639400000000021
+2.72,0.0002796474549851123,0.00122035254501489,1.850600000000021
+2.88,0.0002043193859953625,0.001295680614004639,2.07460000000002
+3.04,0.0001438793431884419,0.00135612065681156,2.31140000000002
+3.2,0.00009745139301751156,0.001402548606982491,2.561000000000021
+3.36,0.00006335617568318922,0.001436643824316813,2.823400000000021
+3.52,0.00003945587874411784,0.001460544121255885,3.098600000000022
+3.68,0.00002348912904802177,0.001476510870951981,3.386600000000022
+3.84,0.00001334028476614445,0.001486659715233858,3.687400000000021
+4.,7.213015148554442e-6,0.001492786984851448,4.001000000000022
+4.16,3.705379639675854e-6,0.001496294620360326,4.327400000000023
+4.32,1.804775823907472e-6,0.001498195224176095,4.666600000000022
+4.48,8.317619921023049e-7,0.0014991682380079,5.018600000000024
+4.64,3.619684304776066e-7,0.001499638031569526,5.383400000000022
+4.8,1.484392325450298e-7,0.001499851560767458,5.761000000000024
+4.96,5.724580317761403e-8,0.001499942754196826,6.151400000000022
+5.12,2.071887249216128e-8,0.001499979281127515,6.554600000000022
+5.28,7.023064534434509e-9,0.001499992976935477,6.970600000000022
+5.44,2.22502985360056e-9,0.001499997774970159,7.399400000000024
+5.6,6.575128309128742e-10,0.001499999342487181,7.841000000000022
+5.76,1.808599446593412e-10,0.001499999819140066,8.29540000000002
+5.92,4.621265193682841e-11,0.001499999953787358,8.76260000000002
+6.08,1.094637420727002e-11,0.001499999989053637,9.242600000000017
+6.24,2.398728836447092e-12,0.001499999997601283,9.735400000000018
+6.4,4.85293028633431e-13,0.001499999999514717,10.24100000000001
+6.56,9.045853400640395e-14,0.001499999999909553,10.75940000000001
+6.72,1.550344449490326e-14,0.001499999999984509,11.29060000000001
+6.88,2.438094743563581e-15,0.001499999999997575,11.83460000000001
+7.04,3.510971048552469e-16,0.001499999999999662,12.39140000000001
+7.2,4.620285089782701e-17,0.001499999999999966,12.96100000000001
+7.36,5.544797888465159e-18,0.001500000000000007,13.54340000000001
+7.52,6.056038846153272e-19,0.001500000000000007,14.13860000000002
+7.68,6.007421914300642e-20,0.001500000000000007,14.74660000000001
+7.84,5.401255637912712e-21,0.001500000000000007,15.36740000000004
+8.,4.392573287478598e-22,0.001500000000000007,16.00100000000004
diff --git a/models/sbml-test-suite/cases/semantic/00893/00893-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00893/00893-sbml-l2v4.xml
new file mode 100644
index 0000000..b6362df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00893/00893-sbml-l2v4.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00893" id="case00893" name="case00893">
+    <listOfParameters>
+      <parameter id="P1" name="P1" value="0.0015" constant="false"/>
+      <parameter id="P2" name="P2" value="0" constant="false"/>
+      <parameter id="P3" name="P3" value="0.001" constant="false"/>
+      <parameter id="k1" name="k1" value="0.5"/>
+     </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> P1 </ci>
+            <ci> P3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> P1 </ci>
+            <ci> P3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00893/00893-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00893/00893-sbml-l3v1.xml
new file mode 100644
index 0000000..1a86ce4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00893/00893-sbml-l3v1.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00893" id="case00893" name="case00893" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" name="P1" value="0.0015" constant="false"/>
+      <parameter id="P2" name="P2" value="0" constant="false"/>
+      <parameter id="P3" name="P3" value="0.001" constant="false"/>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+     </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> P1 </ci>
+            <ci> P3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule3" variable="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> P1 </ci>
+            <ci> P3 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00893/00893-settings.txt b/models/sbml-test-suite/cases/semantic/00893/00893-settings.txt
new file mode 100644
index 0000000..1e31949
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00893/00893-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: P1, P2, P3
+absolute: 1.000000e-006
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00894/00894-results.csv b/models/sbml-test-suite/cases/semantic/00894/00894-results.csv
new file mode 100644
index 0000000..7c59f4f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00894/00894-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.1,0.1492518718784392,0.001496256243121557
+0.2,0.1470298009879408,0.005940398024118352
+0.3,0.1433996219842294,0.01320075603154108
+0.4,0.1384674517383472,0.02306509652330528
+0.5,0.1323745351839068,0.03525092963218629
+0.6,0.125290531119449,0.04941893776110184
+0.7,0.1174056806528443,0.06518863869431115
+0.8,0.108922355569059,0.08215528886188182
+0.9,0.1000465221335133,0.09990695573297321
+1.,0.0909795993799307,0.1180408012401385
+1.1,0.08191116600233217,0.1361776679953356
+1.2,0.07301283920574075,0.1539743215885184
+1.3,0.06443360436757826,0.1711327912648434
+1.4,0.05629666725220065,0.1874066654955986
+1.5,0.04869787449158568,0.2026042510168285
+1.6,0.04170559912118097,0.216588801757638
+1.7,0.03536191504512187,0.2292761699097561
+1.8,0.02968480782943387,0.2406303843411321
+1.9,0.0246711708094516,0.2506576583810966
+2.,0.02030029298386021,0.2593994140322795
+2.1,0.01653757898907339,0.2669248420218531
+2.2,0.01333824265302902,0.2733235146939418
+2.3,0.01065080310512015,0.2786983937897595
+2.4,0.008420214401694161,0.2831595711966115
+2.5,0.006590539976018151,0.2868189200479635
+2.6,0.005107117994198502,0.2897857640116028
+2.7,0.003918211467378057,0.2921635770652438
+2.8,0.002976163991358735,0.2940476720172824
+2.9,0.002238117711297255,0.2955237645774054
+3.,0.001666349455379857,0.2966673010892402
+3.1,0.001228305135710218,0.2975433897285794
+3.2,0.0008964034203332006,0.2982071931593334
+3.3,0.0006476759897030959,0.2987046480205936
+3.4,0.0004633072997634451,0.2990733854004729
+3.5,0.0003281236569620698,0.2993437526860756
+3.6,0.0002300715972169526,0.2995398568055659
+3.7,0.0001597149343202771,0.2996805701313593
+3.8,0.0001097703628247524,0.2997804592743503
+3.9,0.00007469331269611185,0.2998506133746076
+4.,0.0000503193926123795,0.2998993612147751
+4.1,0.00003356186667244034,0.2999328762666549
+4.2,0.0000221622516315344,0.2999556754967368
+4.3,0.00001448901112661494,0.2999710219777466
+4.4,9.378225548101851e-6,0.2999812435489036
+4.5,6.009793952976751e-6,0.2999879804120939
+4.6,3.812901775371055e-6,0.2999923741964491
+4.7,2.395017133778624e-6,0.2999952099657323
+4.8,1.48942560778313e-6,0.2999970211487843
+4.9,9.170351612291296e-7,0.2999981659296776
+5.,5.589979758187113e-7,0.2999988820040485
diff --git a/models/sbml-test-suite/cases/semantic/00894/00894-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00894/00894-sbml-l2v4.xml
new file mode 100644
index 0000000..bbf28a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00894/00894-sbml-l2v4.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00894" id="case00894" name="case00894">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.15" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00894/00894-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00894/00894-sbml-l3v1.xml
new file mode 100644
index 0000000..dd3f598
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00894/00894-sbml-l3v1.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00894" id="case00894" name="case00894" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00894/00894-settings.txt b/models/sbml-test-suite/cases/semantic/00894/00894-settings.txt
new file mode 100644
index 0000000..5a66c8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00894/00894-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00895/00895-results.csv b/models/sbml-test-suite/cases/semantic/00895/00895-results.csv
new file mode 100644
index 0000000..2bb288d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00895/00895-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0,0,0
+0.1,0.00996506117860414,0.00003485156891376055,4.355357002723573e-8,7.267101805512127e-11
+0.2,0.009860975442628608,0.0001376403223091656,6.875134103440309e-7,4.604120765996492e-9
+0.3,0.009689909564537326,0.0003031810744817483,3.403112840251559e-6,5.156765021217879e-8
+0.4,0.00945539135890386,0.0005231984217546573,0.00001042211296312382,2.829967076251648e-7
+0.5,0.009162188716508317,0.0007868459448805843,0.00002443525853078154,1.04741077476913e-6
+0.6,0.008816148467833757,0.001081374825350338,0.0000482239316200889,3.014421787872691e-6
+0.7,0.008424002680199955,0.001392900361490151,0.00008427013067643576,7.278348478511712e-6
+0.8,0.007993151343693532,0.001707208936898562,0.0001343918230906841,0.00001542803661327553
+0.9,0.007531431221400659,0.002010547263234967,0.0001994466740906412,0.00002956408359155324
+1.,0.007046880897187322,0.002290340033472998,0.0002791378741366309,0.00005225166053321498
+1.1,0.006547511756665054,0.002535790810618515,0.0003719426896769778,0.00008640602668124461
+1.2,0.006041093828559805,0.002738332960896997,0.0004751693181137166,0.0001351172871578871
+1.3,0.005534964171152892,0.002891911374354525,0.0005851326676621947,0.0002014295595841018
+1.4,0.005035863913072977,0.002993090157250271,0.0006974266986075102,0.0002880962662308705
+1.5,0.004549808267188871,0.003040995051705802,0.0008072614521373145,0.0003973368884153547
+1.6,0.004081991952798506,0.003037110879201348,0.0009098277786259365,0.0005306208053741431
+1.7,0.003636730606453602,0.002984962962020957,0.00100065232946222,0.0006885008863005071
+1.8,0.003217437042211187,0.002889716786511288,0.001075909231515211,0.0008705138541235573
+1.9,0.00282662972764435,0.002757732044319007,0.001132662142436481,0.001075156971581846
+2.,0.002465969639437545,0.002596105883115957,0.001169019862967471,0.001299942375755783
+2.1,0.002136320791269992,0.002412236255835024,0.001184198996224021,0.001541522480223477
+2.2,0.001837829200893829,0.002213430394677082,0.001178496991422604,0.001795873210791947
+2.3,0.00157001487368954,0.00200657645135317,0.001153187211351935,0.002058517126126716
+2.4,0.001331871496010597,0.001797889024574864,0.001110353676343681,0.002324766063363595
+2.5,0.00112196890521251,0.00159273232764795,0.001052686507628285,0.002589962875941492
+2.6,0.0009385539802766931,0.001395518676880801,0.0009832598296767765,0.002849703841744484
+2.7,0.0007796463130014458,0.001209675167106407,0.0009053123244344332,0.003100026935511648
+2.8,0.000643125813801663,0.001037668021538723,0.0008220473028847966,0.00333755577944502
+2.9,0.000526810221124645,0.0008810721743967719,0.0007364647273875484,0.003559594074851753
+3.,0.0004285212686654942,0.0007406730410265518,0.0006512327501109486,0.003764170095043037
+3.1,0.0003461389804345964,0.000616587930698685,0.0005686016201384151,0.003950034924294952
+3.2,0.0002776441816988464,0.0005083958897804588,0.0004903587153827187,0.00411662124887764
+3.3,0.0002211498159196348,0.0004152666369937471,0.0004178202751888367,0.004263971498354483
+3.4,0.000174922037026263,0.0003360813935439879,0.0003518532802274757,0.004392645004487409
+3.5,0.0001373923047349886,0.0002695405849698552,0.000292919838817041,0.004503613716330547
+3.6,0.0001071618568005604,0.0002142554166974862,0.0002411362738296641,0.004598155089421321
+3.7,0.00008299998042214502,0.0001688220754666224,0.0001963396687435243,0.004677749303312101
+3.8,0.00006383747318493587,0.0001318787143253295,0.0001581557001370885,0.004743986206107789
+3.9,0.000048756590197798,0.0001021464172972407,0.0001260629340714717,0.004798485562181017
+4.,0.00003697863716062599,0.00007845602539177017,0.00009945019705925151,0.004842832471664559
+4.1,0.00002785020624561455,0.00005976307938447686,0.00007766499268830898,0.004878528364496655
+4.2,0.00002082887763958116,0.00004515325275251116,0.0000600521149895941,0.004906956819814369
+4.3,0.00001546903636198054,0.00003384057185701471,0.00004598254848225429,0.004929362647408257
+4.4,0.00001140829100129001,0.0000251605105810579,0.00003487342247698739,0.004946842176731846
+4.5,8.354834654656094e-6,0.00001855975725462418,0.00002620021550411835,0.004960342488541249
+4.6,6.075962250681108e-6,0.00001358412716589419,0.00001950261727203103,0.004970667338019691
+4.7,4.387854450009667e-6,9.865768758817602e-6,0.00001438549476981075,0.004978487693625784
+4.8,3.146656220924458e-6,7.110509414811009e-6,0.00001051632364598025,0.00498435509353616
+4.9,2.24081664241821e-6,5.085922246226733e-6,7.620280936693794e-6,0.004988716349618992
+5.,1.584613251216091e-6,3.610475678659366e-6,5.473989209830949e-6,0.00499192846632524
diff --git a/models/sbml-test-suite/cases/semantic/00895/00895-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00895/00895-sbml-l2v4.xml
new file mode 100644
index 0000000..959207f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00895/00895-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00895" id="case00895" name="case00895">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00895/00895-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00895/00895-sbml-l3v1.xml
new file mode 100644
index 0000000..8d586d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00895/00895-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00895" id="case00895" name="case00895" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00895/00895-settings.txt b/models/sbml-test-suite/cases/semantic/00895/00895-settings.txt
new file mode 100644
index 0000000..9888299
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00895/00895-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00896/00896-results.csv b/models/sbml-test-suite/cases/semantic/00896/00896-results.csv
new file mode 100644
index 0000000..2984926
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00896/00896-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,2.,2.,0,0
+0.1,1.98027687069821,1.980242194627081,0.01972312930179007,0.00003467607112939467
+0.2,1.924285994425995,1.923746216779407,0.07571400557400441,0.0005397776465888971
+0.3,1.840579759780687,1.837966056113953,0.159420240219312,0.002613703666735053
+0.4,1.740645401057284,1.732864116950726,0.2593545989427153,0.007781284106559319
+0.5,1.636148636420715,1.61848870048545,0.3638513635792837,0.01765993593526665
+0.6,1.536854580806531,1.503187451179162,0.4631454191934677,0.03366712962737029
+0.7,1.449618575779246,1.392787775383098,0.5503814242207536,0.05683080039614879
+0.8,1.37830384082654,1.290590034905305,0.6216961591734592,0.08771380592123603
+0.9,1.324257828154553,1.197827934931567,0.675742171845446,0.1264298932229872
+1.,1.287004813254443,1.114288260663887,0.7129951867455558,0.1727165525905572
+1.1,1.264932798201782,1.038900418968997,0.7350672017982173,0.2260323792327856
+1.2,1.255865973590474,0.9702110384456854,0.7441340264095248,0.2856549351447897
+1.3,1.257487376205349,0.9067229498570014,0.7425126237946498,0.3507644263483489
+1.4,1.26761511155007,0.8471086580517549,0.7323848884499288,0.4205064534983165
+1.5,1.28435372461672,0.7903206605279253,0.7156462753832785,0.4940330640887963
+1.6,1.306149752508405,0.7356245420761253,0.6938502474915941,0.5705252104322805
+1.7,1.331781845897344,0.6825801818454782,0.6682181541026551,0.6492016640518669
+1.8,1.360313099247652,0.6309933106036085,0.6396869007523463,0.7293197886440453
+1.9,1.391027823031448,0.5808549819175846,0.6089721769685506,0.810172841113865
+2.,1.423368317362269,0.5322811383747415,0.5766316826377301,0.8910871789875286
+2.1,1.456880682015703,0.4854593481190243,0.5431193179842965,0.9714213338966796
+2.2,1.491173637441217,0.4406059010131964,0.5088263625587812,1.050567736428022
+2.3,1.525890702987247,0.3979337210754871,0.4741092970127513,1.127956981911761
+2.4,1.560694144339073,0.3576301477079653,0.4393058556609259,1.203063996631109
+2.5,1.595258230381816,0.3198430135671603,0.4047417696181831,1.275415216814657
+2.6,1.629269182479928,0.2846733727034926,0.3707308175200716,1.344595809776436
+2.7,1.662429414017058,0.2521733461683413,0.3375705859829413,1.410256067848718
+2.8,1.694464016424602,0.2223477506812524,0.3055359835753974,1.472116265743351
+2.9,1.725127830873915,0.1951583870110097,0.2748721691260846,1.529969443862906
+3.,1.754211873201445,0.1705299867275698,0.2457881267985544,1.583681886473876
+3.1,1.781548232107041,0.1483570271549569,0.2184517678929588,1.633191204952085
+3.2,1.807012953327717,0.1285107431825946,0.1929870466722828,1.678502210145123
+3.3,1.830526728871274,0.11084584880204,0.1694732711287255,1.719680880069235
+3.4,1.85205349387819,0.09520662894933071,0.1479465061218101,1.75684686492886
+3.5,1.871597218137141,0.08143221012105962,0.128402781862858,1.790165008016083
+3.6,1.889197319120587,0.06936093183365044,0.1108026808794128,1.819836387286937
+3.7,1.904923160699039,0.05883383137584301,0.09507683930096057,1.846089329323197
+3.8,1.918868104855794,0.04969731202778549,0.08113189514420547,1.869170792828009
+3.9,1.931143515328369,0.04180509350733461,0.06885648467163028,1.889338421821036
+4.,1.941873050708474,0.03501955969561772,0.05812694929152509,1.906853491012858
+4.1,1.951187477589277,0.02921260754211406,0.04881252241072264,1.921974870047164
+4.2,1.959220162760303,0.02426610301243554,0.04077983723969674,1.934954059747869
+4.3,1.96610331459083,0.0200720227263771,0.0338966854091694,1.946031291864455
+4.4,1.971964988853104,0.01653235693241758,0.02803501114689567,1.955432631920688
+4.5,1.976926825277794,0.01355882915497783,0.02307317472220555,1.963367996122818
+4.6,1.981102448126643,0.01107248227015421,0.01889755187335613,1.970029965856491
+4.7,1.984596448225292,0.009003166927819281,0.01540355177470775,1.975593281297474
+4.8,1.987503853309321,0.007288964597007916,0.01249614669067782,1.980214888712315
+4.9,1.98990999445557,0.005875569897549844,0.01009000554442946,1.984034424558022
+5.,1.991890680656552,0.004715653074557801,0.00810931934344742,1.987175027581996
diff --git a/models/sbml-test-suite/cases/semantic/00896/00896-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00896/00896-sbml-l2v4.xml
new file mode 100644
index 0000000..5744174
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00896/00896-sbml-l2v4.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00896" id="case00896" name="case00896">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k1" value="0.9"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k1" value="0.7"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00896/00896-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00896/00896-sbml-l3v1.xml
new file mode 100644
index 0000000..82b45a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00896/00896-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00896" id="case00896" name="case00896" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k1" value="0.9"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k1" value="0.7"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00896/00896-settings.txt b/models/sbml-test-suite/cases/semantic/00896/00896-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00896/00896-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00897/00897-results.csv b/models/sbml-test-suite/cases/semantic/00897/00897-results.csv
new file mode 100644
index 0000000..13cb3b4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00897/00897-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0,0,0
+0.16,0.0000991080021180877,8.891453193951075e-7,2.840414924740584e-9,1.214759244202978e-11
+0.32,0.00009647946482781323,3.47558866328126e-6,4.41852856621349e-8,7.612232434514123e-10
+0.48,0.00009225257409387925,7.525609692653627e-6,2.13444124555546e-7,8.372088911774433e-9
+0.64,0.00008664420935895793,0.00001267921147196998,6.317841404294126e-7,4.479502864285019e-8
+0.8,0.00007993151343693556,0.00001849002910889707,1.417939739908805e-6,1.605177142587385e-7
+0.96,0.00007242924729548192,0.00002447318288159745,2.653330653263857e-6,4.442391696569371e-7
+1.12,0.00006446549929145974,0.00003015470545690395,4.355074920918817e-6,1.024720330717644e-6
+1.28,0.00005635833734588333,0.00003511633645693016,6.463182171785086e-6,2.062144025401534e-6
+1.44,0.00004839566221231417,0.0000390305720409812,8.844454877854618e-6,3.729310868850091e-6
+1.6,0.00004081991952806713,0.0000416826300672225,0.00001131152127537461,6.185929129335852e-6
+1.76,0.00003381857426419006,0.00004297809024941309,0.00001365207596453337,9.551259521863569e-6
+1.92,0.00002752047260328338,0.00004293701804716038,0.00001566158725234615,0.00001388092209721022
+2.08,0.00002199753025665444,0.00004167705664108087,0.00001717270915593782,0.00001915270394632698
+2.24,0.00001727067861799208,0.00003938905560766995,0.00001807616342091615,0.00002526410235342192
+2.4,0.00001331871496023828,0.00003630921317854645,0.00001833032293245469,0.0000320417489287607
+2.56,0.00001008864148944685,0.00003269148536255325,0.00001795938924122272,0.0000392604839067773
+2.72,7.50620630730342e-6,0.00002878330374109182,0.00001704226210461244,0.00004666822784699246
+2.88,5.485620346034801e-6,0.00002480664414739987,0.00001569554103687246,0.000054012194469693
+3.04,3.937752723994805e-6,0.00002094540971570352,0.00001405446732042821,0.00006106237023987359
+3.2,2.776441816864877e-6,0.00001733911279619746,0.00001225515389826182,0.00006762929148867599
+3.36,1.922853317848811e-6,0.00001408208437846828,0.00001042045958694814,0.00007357460271673493
+3.52,1.308040460733803e-6,0.00001122696600092211,8.650683833513212e-6,0.00007881430970483103
+3.68,8.740044479533533e-7,8.791047081913659e-6,7.019177626700957e-6,0.00008331577084343221
+3.84,5.736190297785721e-7,6.764055537403279e-6,5.572169438026153e-6,0.00008709015599479221
+4.,3.697863715538093e-7,5.116221310312568e-6,4.331661056507924e-6,0.0000901823312616259
+4.16,2.341508263607676e-7,3.805734738784181e-6,3.30013148570533e-6,0.00009265998294914988
+4.32,1.456323747099206e-7,2.785046117759481e-6,2.465914271458226e-6,0.00009460340723607253
+4.48,8.896877494473652e-8,2.00574810097446e-6,1.808381211418179e-6,0.00009609690191266279
+4.64,5.338690359599319e-8,1.422017583387821e-6,1.302378557474745e-6,0.00009722221695554159
+4.8,3.146656220889697e-8,9.927560916619419e-7,9.216509975177283e-7,0.00009805412634861156
+4.96,1.821718655869968e-8,6.826598388034819e-7,6.412142945583295e-7,0.00009865790868007961
+5.12,1.035930826626231e-8,4.624841744126913e-7,4.387862519577339e-7,0.00009908837026536345
+5.28,5.78625608491244e-9,3.087581984526947e-7,2.954631202409157e-7,0.00009938999242522161
+5.44,3.17454865086231e-9,2.03170121643562e-7,1.958503012012891e-7,0.00009959780502850441
+5.6,1.71073904127784e-9,1.31796577579544e-7,1.27841014056546e-7,0.00009973865166932268
+5.76,9.055303046188805e-10,8.429999280946185e-8,8.220166188349828e-8,0.0000998325928150026
+5.92,4.708034691915802e-10,5.317401572743436e-8,5.208119893327408e-8,0.00009989427398187049
+6.08,2.404328268071025e-10,3.308132170050623e-8,3.252250369290613e-8,0.00009993415574178041
+6.24,1.206050001641007e-10,2.030179928220295e-8,2.002120567368532e-8,0.00009995955639004471
+6.4,5.942296359333115e-11,1.229151700161461e-8,1.215316101501209e-8,0.00009997549589902074
+6.56,2.87581367390473e-11,7.342453999634321e-9,7.275457204098973e-9,0.00009998535333066069
+6.72,1.367050707710093e-11,4.327949169767249e-9,4.296087791521196e-9,0.00009999136229253298
+6.88,6.383016199683014e-12,2.517467305688038e-9,2.502585888125007e-9,0.00009999497356379147
+7.04,2.927417819870936e-12,1.445165180984581e-9,1.438338574112715e-9,0.00009999711356882868
+7.2,1.318745286870357e-12,8.187857114849482e-10,8.157099305579447e-10,0.00009999836418561437
+7.36,5.835184223570181e-13,4.578736157701958e-10,4.565124756850101e-10,0.00009999908503039186
+7.52,2.536095864662194e-13,2.527340476075907e-10,2.521424144276607e-10,0.00009999949486993012
+7.68,1.082665263304934e-13,1.377025149498129e-10,1.374499293721587e-10,0.00009999972473929092
+7.84,4.539836192617171e-14,7.406185215468188e-11,7.395593313631934e-11,0.0000999998519368182
+8.,1.869836381523866e-14,3.932186687906833e-11,3.927824031847142e-11,0.00009999992138119635
diff --git a/models/sbml-test-suite/cases/semantic/00897/00897-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00897/00897-sbml-l2v4.xml
new file mode 100644
index 0000000..b762cbc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00897/00897-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00897" id="case00897" name="case00897">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k2" name="k2" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k2" value="0.7"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k2" value="1"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00897/00897-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00897/00897-sbml-l3v1.xml
new file mode 100644
index 0000000..6bcaef9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00897/00897-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00897" id="case00897" name="case00897" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k2" value="0.7"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k2" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00897/00897-settings.txt b/models/sbml-test-suite/cases/semantic/00897/00897-settings.txt
new file mode 100644
index 0000000..c50ce93
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00897/00897-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00898/00898-results.csv b/models/sbml-test-suite/cases/semantic/00898/00898-results.csv
new file mode 100644
index 0000000..931b689
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00898/00898-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.12,0.00148923878632782,0.00002152242734436023
+0.24,0.001457416150128718,0.00008516769974256412
+0.36,0.001405882341414774,0.0001882353171704535
+0.48,0.001336781823144882,0.0003264363537102376
+0.6,0.001252905311522248,0.0004941893769555065
+0.72,0.001157503010424932,0.0006849939791501384
+0.84,0.001054076584601119,0.0008918468307977638
+0.96,0.0009461682393999251,0.001107663521200151
+1.08,0.0008371643343268171,0.001325671331346367
+1.2,0.0007301283885782245,0.001539743222843552
+1.32,0.0006276736821333545,0.001744652635733292
+1.44,0.0005318813655845281,0.001936237268830945
+1.56,0.0004442646448733434,0.002111470710253315
+1.68,0.0003657757409504507,0.002268448518099101
+1.8,0.0002968480781084056,0.002406303843783191
+1.92,0.0002374650360239782,0.002525069927952045
+2.04,0.0001872454651130897,0.002625509069773823
+2.16,0.0001455355505381963,0.002708928898923609
+2.28,0.000111499531288838,0.002777000937422326
+2.4,0.00008420214390989195,0.002831595712180218
+2.52,0.00006267861761851252,0.002874642764762976
+2.64,0.00004598983222112167,0.002908020335557758
+2.76,0.00003326215683522207,0.002933475686329557
+2.88,0.00002371292692863848,0.002952574146142724
+3.,0.00001666349470961878,0.002966673010580763
+3.12,0.00001154231979360747,0.002976915360412785
+3.24,7.880728482420952e-6,0.002984238543035159
+3.36,5.303781818500962e-6,0.002989392436362999
+3.48,3.518449307004578e-6,0.002992963101385991
+3.6,2.300715792460512e-6,0.00299539856841508
+3.72,1.482930665567378e-6,0.002997034138668866
+3.84,9.421605216278393e-7,0.002998115678956745
+3.96,5.900312937017508e-7,0.002998819937412597
+4.08,3.642263346843231e-7,0.002999271547330632
+4.2,2.216225224912079e-7,0.002999556754955019
+4.32,1.329237370259588e-7,0.002999734152525948
+4.44,7.858459251523899e-8,0.002999842830814968
+4.56,4.579503058642902e-8,0.002999908409938826
+4.68,2.630543196838971e-8,0.002999947389136062
+4.8,1.48942561428805e-8,0.002999970211487713
+4.92,8.3126264374855e-9,0.002999983374747124
+5.04,4.573027992555844e-9,0.002999990853944014
+5.16,2.479794194518273e-9,0.002999995040411609
+5.28,1.325481058024583e-9,0.002999997349037883
+5.4,6.983572469897471e-10,0.002999998603285504
+5.52,3.626836286725222e-10,0.002999999274632741
+5.64,1.856625536041341e-10,0.002999999628674891
+5.76,9.368431040489702e-11,0.002999999812631378
+5.88,4.659674887380159e-11,0.002999999906806501
+6.,2.284496961755386e-11,0.00299999995431006
diff --git a/models/sbml-test-suite/cases/semantic/00898/00898-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00898/00898-sbml-l2v4.xml
new file mode 100644
index 0000000..299188d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00898/00898-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00898" id="case00898" name="case00898">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00898/00898-settings.txt b/models/sbml-test-suite/cases/semantic/00898/00898-settings.txt
new file mode 100644
index 0000000..de7110f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00898/00898-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00899/00899-results.csv b/models/sbml-test-suite/cases/semantic/00899/00899-results.csv
new file mode 100644
index 0000000..9978c87
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00899/00899-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0,0,0
+0.12,0.09949726794895141,0.0005009250366634846,9.013404665941766e-7,2.166725965728907e-9
+0.24,0.09800418540648989,0.001967253604348595,0.0000141438294911883,1.366650896287244e-7
+0.36,0.09556533846807858,0.004292980782583725,0.00006932096012019906,1.519414548779366e-6
+0.48,0.09225257409388475,0.007312165568090434,0.0002093773919849626,8.252777027602671e-6
+0.6,0.08816148467834096,0.01081374825350178,0.0004822393161975899,0.00003014421788119162
+0.72,0.08340682878994305,0.01455990993914794,0.0009312558672945385,0.0000853747681600552
+0.84,0.07811719397840348,0.01830598394698009,0.001586111771712723,0.0002022992655956024
+0.96,0.07242924729548108,0.02181985222834801,0.002455750988034089,0.000419699250051466
+1.08,0.06648193030416177,0.0248989411122433,0.003524461036900863,0.0007851032548967038
+1.2,0.06041093828565492,0.02738332960872005,0.00475169318120622,0.001351172871606389
+1.32,0.05434378121694338,0.02916403075942885,0.006075550502944466,0.002170543508869523
+1.44,0.04839566221220982,0.03018611716340407,0.007419285399249245,0.003289824912943923
+1.56,0.04266633432611834,0.03044694954220144,0.008699711796312511,0.004743646269527688
+1.68,0.037238016411525,0.02999025800986027,0.009836219182595962,0.006549643606711497
+1.8,0.0321743704221185,0.02889716786510803,0.01075909231514447,0.008705138541242366
+1.92,0.02752047260307006,0.02727543079487574,0.01141606406004575,0.01118598424098146
+2.04,0.02330365431896586,0.02524812154475579,0.01177639700500894,0.01394771506313033
+2.16,0.01953504800719087,0.0229429153401714,0.01183222202950169,0.01692879629681727
+2.28,0.01621165107663445,0.02048281431361574,0.01159727861232555,0.02005548869254945
+2.4,0.01331871496013664,0.01797889024583897,0.01110353676340049,0.02324766063361182
+2.52,0.01083227589261535,0.01552530299299454,0.01039639320254827,0.0264248173546469
+2.64,0.008721665226137818,0.01319657790930323,0.009529211720436053,0.02951166671184354
+2.76,0.006951866509145557,0.01104690821920329,0.008557931690272874,0.03244268094555281
+2.88,0.005485620346095669,0.009111103110075125,0.007536329775481877,0.03516530849643285
+3.,0.004285212686640464,0.007406730410343352,0.006512327501175856,0.03764170095033236
+3.12,0.003313914721795431,0.005936995493635287,0.005525531365489627,0.03984901352679513
+3.24,0.002537070796822402,0.004693940712669289,0.004606005795335157,0.04177848844991912
+3.36,0.001922853317885038,0.003661624791581451,0.003774134987087722,0.04343362595817915
+3.48,0.001442719949761637,0.0028190321952048,0.003041338052997231,0.04482778587451965
+3.6,0.001071618568056757,0.002142554166989726,0.002411362738230214,0.04598155089424663
+3.72,0.0007879900516197766,0.001607965332298773,0.001881888191512564,0.04692013411652825
+3.84,0.0005736190298520815,0.001191886099505463,0.001446204302622729,0.04767104313269859
+3.96,0.0004133792551252897,0.0008727689413225215,0.001094790185632286,0.04826213571614391
+4.08,0.0002949144943985801,0.0006314763794959542,0.0008166750270386767,0.04872012953601413
+4.2,0.0002082887763763914,0.0004515325274963735,0.0006005211498844007,0.04906956819817927
+4.32,0.0001456323747156993,0.0003191318463357649,0.0004354156687695274,0.04933220222070479
+4.44,0.000100802732647942,0.0002229821061061754,0.0003113907509234496,0.04952671682969955
+4.56,0.00006907310696334137,0.0001540469108909092,0.0002197131548668904,0.04966872683620603
+4.68,0.00004685629969988064,0.0001052394090203474,0.0001529930956021723,0.04977095905003778
+4.8,0.00003146656221305924,0.00007110509415565273,0.0001051632364674782,0.04984355093534823
+4.92,0.00002091957795881358,0.00004751927328079438,0.00007137361438657191,0.04989440695999367
+5.04,0.00001376825341657938,0.00003141456465634517,0.00004784018733394662,0.04992956840362965
+5.16,8.97071573475163e-6,0.00002054592424667084,0.00003167552873053436,0.04995356615127879
+5.28,5.786256084754147e-6,0.00001329507821172217,0.00002072142983972193,0.04996973790301208
+5.4,3.694796450134502e-6,8.512558350037289e-6,0.00001339566000609916,0.04998050066259385
+5.52,2.33563888260859e-6,5.393406603806811e-6,8.559245397117923e-6,0.04998757623185971
+5.64,1.461649313748958e-6,3.381634219410558e-6,5.40638499293425e-6,0.04999217197324051
+5.76,9.055303046151979e-7,2.098330925975645e-6,3.376342939148195e-6,0.04999512172644559
+5.88,5.553734354008142e-7,1.288622964832665e-6,2.085052805771493e-6,0.04999699294899413
+6.,3.37201523480227e-7,7.832498928331175e-7,1.273433530519915e-6,0.04999816634076138
diff --git a/models/sbml-test-suite/cases/semantic/00899/00899-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00899/00899-sbml-l2v4.xml
new file mode 100644
index 0000000..3ec2d4c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00899/00899-sbml-l2v4.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00899" id="case00899" name="case00899">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7"/>
+      <parameter id="k2" name="k2" value="0.5"/>
+      <parameter id="k3" name="k3" value="1"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00899/00899-settings.txt b/models/sbml-test-suite/cases/semantic/00899/00899-settings.txt
new file mode 100644
index 0000000..8181f90
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00899/00899-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00900/00900-results.csv b/models/sbml-test-suite/cases/semantic/00900/00900-results.csv
new file mode 100644
index 0000000..177b1dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00900/00900-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,2.,2.,0,0
+0.12,1.943779325253877,1.971899844560352,0.02802888190573774,0.0000712735339114218
+0.24,1.790312817747,1.895310936172954,0.1036073727308475,0.001081691096198738
+0.36,1.57668316095953,1.789061159604234,0.205901786524458,0.005037053871307359
+0.48,1.344049298340081,1.674064101372538,0.3116597332099589,0.0142761654175028
+0.6,1.123859232372908,1.566306901915687,0.4030520979796649,0.03064100010464871
+0.72,0.9334898694744971,1.474606514179548,0.4703624297243337,0.05503105609611801
+0.84,0.7784751018652338,1.401716999811539,0.5109268580359775,0.08735614215248273
+0.96,0.6568323296939889,1.346521446039738,0.5267415856110208,0.1267369683492397
+1.08,0.5629192914656692,1.306002061315361,0.5222010296069126,0.171796909077724
+1.2,0.4900870352972107,1.276606606228781,0.5024517737099489,0.2209416200612673
+1.32,0.4322181075164742,1.255048436868926,0.4723758813561986,0.272575681774871
+1.44,0.3844372066881826,1.238681774186522,0.4360760299164082,0.3252421958970651
+1.56,0.3432716896766672,1.225592061866974,0.3967144189324872,0.377693519200534
+1.68,0.306493635114086,1.214519947372975,0.3565681439154467,0.4289119087115737
+1.8,0.2728242253263435,1.20471217068058,0.3171874231975029,0.4781004061219119
+1.92,0.241623764354427,1.195763336570906,0.2795764826731816,0.5246601807559061
+2.04,0.2126335648022273,1.18748313235944,0.2443524179322065,0.5681644497083469
+2.16,0.1857909017595125,1.179800270569126,0.2118659916052182,0.6083337378256494
+2.28,0.161111293689433,1.172700476452873,0.182285716289961,0.6450138072571592
+2.4,0.1386215872669417,1.166190221933511,0.1556537799661411,0.6781559981003419
+2.52,0.1183266880019671,1.160277535061701,0.131923127513215,0.7077993374250787
+2.64,0.1001964998036359,1.154963098758969,0.1109829592409083,0.7340539420001169
+2.76,0.08416405778911763,1.150237105134245,0.09267736118789185,0.7570855336778582
+2.88,0.07012937879618666,1.146079133734882,0.07681975590753641,0.7771011103575764
+3.,0.05796590691947563,1.142459513978156,0.06320456239286219,0.7943359236289776
+3.12,0.04752782699103624,1.139341331828416,0.05161673984124087,0.8090419283303385
+3.24,0.03865729358715559,1.136682622141368,0.04183955042403461,0.8214778274345917
+3.36,0.03119104611122787,1.134438490215859,0.03366073966236191,0.8319007701217733
+3.48,0.02496612162590175,1.132563016849854,0.02687729089175904,0.840559692258381
+3.6,0.01982452785792567,1.131010867881046,0.02129890445430461,0.8476902276646428
+3.72,0.01561684233688686,1.129738574033891,0.01675035590790737,0.8535110700581948
+3.84,0.01220477800310683,1.128705479076475,0.01307289039901103,0.8582216305245077
+3.96,0.009462807869937275,1.127874377257237,0.01012480948681399,0.862000813255942
+4.08,0.007278974716538771,1.127211876199742,0.007781401909891656,0.8650067218903609
+4.2,0.005555028898744094,1.126688529951594,0.005934361532792997,0.8673771085156072
+4.32,0.004206041044048164,1.126278789887083,0.004490824557443708,0.869230385555467
+4.44,0.003159629776483935,1.12596081995475,0.00337214457963039,0.8706670354656129
+4.56,0.002354930846325157,1.125716218643675,0.002512508812675548,0.8717712725436428
+4.68,0.001741415995984308,1.125529684189108,0.001857482473011681,0.8726128333378727
+4.8,0.001277650001798684,1.125388652915544,0.001362551681877026,0.8732487954025719
+4.92,0.0009300544503697908,1.12528293394519,0.0009917190147040813,0.8737253470400984
+5.04,0.0006717283011997111,1.125204357290146,0.0007161907329535255,0.874079451976892
+5.16,0.0004813589551448897,1.125146446886819,0.0005131812483873982,0.8743403718647859
+5.28,0.0003422438535069745,1.12510412557549,0.0003648488832868866,0.8745310255412155
+5.4,0.0002414316865793736,1.125073455405072,0.0002573676623837245,0.8746691769325367
+5.52,0.0001689839731840438,1.125051413901808,0.0001801326916127646,0.8747684534065717
+5.64,0.0001173518339310699,1.125035704987722,0.0001250915169126006,0.8748392034953576
+5.76,0.00008085887952107735,1.125024601949644,0.00008619048110821355,0.8748892075692413
+5.88,0.00005527888802450197,1.125016819112159,0.00005892321073757021,0.8749242576770954
+6.,0.00003749598928094305,1.125011408536828,0.0000399676677729386,0.8749486237953891
diff --git a/models/sbml-test-suite/cases/semantic/00900/00900-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00900/00900-sbml-l2v4.xml
new file mode 100644
index 0000000..3ae1578
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00900/00900-sbml-l2v4.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00900" id="case00900" name="case00900">
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+      <parameter id="p1" name="p1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k1" value="0.9"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="k1" value="0.7"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00900/00900-settings.txt b/models/sbml-test-suite/cases/semantic/00900/00900-settings.txt
new file mode 100644
index 0000000..7ac3dec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00900/00900-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00901/00901-results.csv b/models/sbml-test-suite/cases/semantic/00901/00901-results.csv
new file mode 100644
index 0000000..be39fdb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00901/00901-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,5
+0.1,4.52419
+0.2,4.09365
+0.3,3.70409
+0.4,3.3516
+0.5,3.03265
+0.6,2.74406
+0.7,2.48293
+0.8,2.24664
+0.9,2.03285
+1,1.8394
+1.1,1.66436
+1.2,1.50597
+1.3,1.36266
+1.4,1.23298
+1.5,1.11565
+1.6,1.00948
+1.7,0.913418
+1.8,0.826494
+1.9,0.747843
+2,0.676676
+2.1,0.612282
+2.2,0.554016
+2.3,0.501294
+2.4,0.45359
+2.5,0.410425
+2.6,0.371368
+2.7,0.336028
+2.8,0.30405
+2.9,0.275116
+3,0.248935
+3.1,0.225246
+3.2,0.203811
+3.3,0.184416
+3.4,0.166866
+3.5,0.150987
+3.6,0.136619
+3.7,0.123618
+3.8,0.111854
+3.9,0.10121
+4,0.0915782
+4.1,0.0828634
+4.2,0.0749779
+4.3,0.0678428
+4.4,0.0613867
+4.5,0.055545
+4.6,0.0502592
+4.7,0.0454764
+4.8,0.0411487
+4.9,0.0372329
+5,0.0336897
diff --git a/models/sbml-test-suite/cases/semantic/00901/00901-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00901/00901-sbml-l1v2.xml
new file mode 100644
index 0000000..26ef6f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00901/00901-sbml-l1v2.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00901">
+    <listOfCompartments>
+      <compartment name="c" volume="5" units="volume"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <compartmentVolumeRule formula="-1 * c * k1" type="rate" compartment="c"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00901/00901-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00901/00901-sbml-l2v4.xml
new file mode 100644
index 0000000..ca89380
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00901/00901-sbml-l2v4.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00901" id="case00901" name="case00901">
+    <listOfCompartments>
+      <compartment id="c" name="c" size="5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> c </ci>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00901/00901-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00901/00901-sbml-l3v1.xml
new file mode 100644
index 0000000..84921bb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00901/00901-sbml-l3v1.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00901" id="case00901" name="case00901" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="3" size="5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> c </ci>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00901/00901-settings.txt b/models/sbml-test-suite/cases/semantic/00901/00901-settings.txt
new file mode 100644
index 0000000..78f3d12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00901/00901-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5
+steps: 50
+variables: c
+absolute: 1.000000e-002
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00902/00902-results.csv b/models/sbml-test-suite/cases/semantic/00902/00902-results.csv
new file mode 100644
index 0000000..f1fa539
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00902/00902-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,0.015
+0.1,0.0157691
+0.2,0.0165776
+0.3,0.0174275
+0.4,0.018321
+0.5,0.0192604
+0.6,0.0202479
+0.7,0.021286
+0.8,0.0223774
+0.9,0.0235247
+1,0.0247308
+1.1,0.0259988
+1.2,0.0273318
+1.3,0.0287331
+1.4,0.0302063
+1.5,0.031755
+1.6,0.0333831
+1.7,0.0350947
+1.8,0.036894
+1.9,0.0387856
+2,0.0407742
+2.1,0.0428648
+2.2,0.0450625
+2.3,0.0473729
+2.4,0.0498018
+2.5,0.0523551
+2.6,0.0550395
+2.7,0.0578614
+2.8,0.060828
+2.9,0.0639467
+3,0.0672253
+3.1,0.0706721
+3.2,0.0742955
+3.3,0.0781047
+3.4,0.0821092
+3.5,0.086319
+3.6,0.0907447
+3.7,0.0953973
+3.8,0.100288
+3.9,0.10543
+4,0.110836
+4.1,0.116519
+4.2,0.122493
+4.3,0.128773
+4.4,0.135375
+4.5,0.142316
+4.6,0.149613
+4.7,0.157284
+4.8,0.165348
+4.9,0.173825
+5,0.182737
diff --git a/models/sbml-test-suite/cases/semantic/00902/00902-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00902/00902-sbml-l1v2.xml
new file mode 100644
index 0000000..7984f28
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00902/00902-sbml-l1v2.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00902">
+    <listOfCompartments>
+      <compartment name="c" volume="0.015" units="volume"/>
+    </listOfCompartments>
+    <listOfRules>
+      <compartmentVolumeRule formula="0.5 * c" type="rate" compartment="c"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00902/00902-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00902/00902-sbml-l2v4.xml
new file mode 100644
index 0000000..68ef606
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00902/00902-sbml-l2v4.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00902" id="case00902" name="case00902">
+    <listOfCompartments>
+      <compartment id="c" name="c" size="0.015" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00902/00902-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00902/00902-sbml-l3v1.xml
new file mode 100644
index 0000000..10cd4f7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00902/00902-sbml-l3v1.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00902" id="case00902" name="case00902" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="3" size="0.015" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00902/00902-settings.txt b/models/sbml-test-suite/cases/semantic/00902/00902-settings.txt
new file mode 100644
index 0000000..e5b9881
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00902/00902-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: c
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00903/00903-results.csv b/models/sbml-test-suite/cases/semantic/00903/00903-results.csv
new file mode 100644
index 0000000..b8c1553
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00903/00903-results.csv
@@ -0,0 +1,52 @@
+time,C1,C2
+0,1.5,1.5
+0.1,1.53988,1.3188
+0.2,1.57095,1.1743
+0.3,1.59501,1.05902
+0.4,1.61348,0.967
+0.5,1.62751,0.893497
+0.6,1.638,0.834738
+0.7,1.64568,0.787717
+0.8,1.65111,0.75004
+0.9,1.65477,0.719803
+1,1.65701,0.695489
+1.1,1.65812,0.675891
+1.2,1.65834,0.660049
+1.3,1.65785,0.647196
+1.4,1.65679,0.636723
+1.5,1.65529,0.628147
+1.6,1.65342,0.62108
+1.7,1.65128,0.615216
+1.8,1.64891,0.610309
+1.9,1.64637,0.606165
+2,1.64368,0.602629
+2.1,1.64089,0.599577
+2.2,1.63801,0.596911
+2.3,1.63507,0.594553
+2.4,1.63207,0.59244
+2.5,1.62903,0.590524
+2.6,1.62596,0.588763
+2.7,1.62287,0.587128
+2.8,1.61976,0.585593
+2.9,1.61664,0.584138
+3,1.61351,0.582747
+3.1,1.61038,0.581407
+3.2,1.60724,0.580109
+3.3,1.6041,0.578845
+3.4,1.60096,0.577607
+3.5,1.59782,0.576392
+3.6,1.59469,0.575195
+3.7,1.59155,0.574012
+3.8,1.58843,0.572842
+3.9,1.5853,0.571682
+4,1.58218,0.57053
+4.1,1.57907,0.569386
+4.2,1.57596,0.568248
+4.3,1.57285,0.567115
+4.4,1.56976,0.565987
+4.5,1.56666,0.564864
+4.6,1.56358,0.563744
+4.7,1.56049,0.562628
+4.8,1.55742,0.561514
+4.9,1.55435,0.560404
+5,1.55128,0.559297
diff --git a/models/sbml-test-suite/cases/semantic/00903/00903-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00903/00903-sbml-l1v2.xml
new file mode 100644
index 0000000..7d95b4b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00903/00903-sbml-l1v2.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00903">
+    <listOfCompartments>
+      <compartment name="C1" volume="1.5" units="volume"/>
+      <compartment name="C2" volume="1.5" units="volume"/>
+    </listOfCompartments>
+    <listOfRules>
+      <compartmentVolumeRule formula="0.5 * C2 - 0.2 * C1" type="rate" compartment="C1"/>
+      <compartmentVolumeRule formula="0.75 * C1 - 2.1 * C2" type="rate" compartment="C2"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00903/00903-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00903/00903-sbml-l2v4.xml
new file mode 100644
index 0000000..119382a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00903/00903-sbml-l2v4.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00903" id="case00903" name="case00903">
+    <listOfCompartments>
+      <compartment id="C1" name="C1" size="1.5" units="volume" constant="false"/>
+      <compartment id="C2" name="C2" size="1.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <times/>
+              <cn> 0.5 </cn>
+              <ci> C2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.2 </cn>
+              <ci> C1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="C2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <times/>
+              <cn> 0.75 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 2.1 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00903/00903-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00903/00903-sbml-l3v1.xml
new file mode 100644
index 0000000..954a1dd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00903/00903-sbml-l3v1.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00903" id="case00903" name="case00903" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C1" name="C1" spatialDimensions="3" size="1.5" units="volume" constant="false"/>
+      <compartment id="C2" name="C2" spatialDimensions="3" size="1.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <times/>
+              <cn> 0.5 </cn>
+              <ci> C2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.2 </cn>
+              <ci> C1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="C2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <times/>
+              <cn> 0.75 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 2.1 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00903/00903-settings.txt b/models/sbml-test-suite/cases/semantic/00903/00903-settings.txt
new file mode 100644
index 0000000..d202e4a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00903/00903-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: C1, C2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00904/00904-results.csv b/models/sbml-test-suite/cases/semantic/00904/00904-results.csv
new file mode 100644
index 0000000..1afebe8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00904/00904-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,3.2
+0.04,3.23216
+0.08,3.26464
+0.12,3.29745
+0.16,3.33059
+0.2,3.36407
+0.24,3.39788
+0.28,3.43203
+0.32,3.46652
+0.36,3.50136
+0.4,3.53655
+0.44,3.57209
+0.48,3.60799
+0.52,3.64425
+0.56,3.68088
+0.6,3.71787
+0.64,3.75523
+0.68,3.79298
+0.72,3.8311
+0.76,3.8696
+0.8,3.90849
+0.84,3.94777
+0.88,3.98745
+0.92,4.02752
+0.96,4.068
+1,4.10888
+1.04,4.15018
+1.08,4.19189
+1.12,4.23402
+1.16,4.27657
+1.2,4.31955
+1.24,4.36296
+1.28,4.40681
+1.32,4.4511
+1.36,4.49583
+1.4,4.54102
+1.44,4.58665
+1.48,4.63275
+1.52,4.67931
+1.56,4.72634
+1.6,4.77384
+1.64,4.82182
+1.68,4.87028
+1.72,4.91922
+1.76,4.96866
+1.8,5.0186
+1.84,5.06904
+1.88,5.11998
+1.92,5.17144
+1.96,5.22341
+2,5.27591
diff --git a/models/sbml-test-suite/cases/semantic/00904/00904-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00904/00904-sbml-l2v4.xml
new file mode 100644
index 0000000..158ab92
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00904/00904-sbml-l2v4.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00904" id="case00904" name="case00904">
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="2" size="3.2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.25 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00904/00904-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00904/00904-sbml-l3v1.xml
new file mode 100644
index 0000000..61d65b8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00904/00904-sbml-l3v1.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00904" id="case00904" name="case00904" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="2" size="3.2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.25 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00904/00904-settings.txt b/models/sbml-test-suite/cases/semantic/00904/00904-settings.txt
new file mode 100644
index 0000000..fd1cd1c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00904/00904-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: c
+absolute: 1.000000e-002
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00905/00905-results.csv b/models/sbml-test-suite/cases/semantic/00905/00905-results.csv
new file mode 100644
index 0000000..69c3d85
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00905/00905-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,0.00015
+0.16,0.000152419
+0.32,0.000154878
+0.48,0.000157376
+0.64,0.000159914
+0.8,0.000162493
+0.96,0.000165114
+1.12,0.000167777
+1.28,0.000170483
+1.44,0.000173233
+1.6,0.000176027
+1.76,0.000178866
+1.92,0.000181751
+2.08,0.000184682
+2.24,0.000187661
+2.4,0.000190687
+2.56,0.000193763
+2.72,0.000196888
+2.88,0.000200064
+3.04,0.00020329
+3.2,0.000206569
+3.36,0.000209901
+3.52,0.000213286
+3.68,0.000216726
+3.84,0.000220222
+4,0.000223774
+4.16,0.000227383
+4.32,0.00023105
+4.48,0.000234777
+4.64,0.000238563
+4.8,0.000242411
+4.96,0.000246321
+5.12,0.000250294
+5.28,0.000254331
+5.44,0.000258433
+5.6,0.000262601
+5.76,0.000266836
+5.92,0.00027114
+6.08,0.000275513
+6.24,0.000279957
+6.4,0.000284472
+6.56,0.00028906
+6.72,0.000293722
+6.88,0.00029846
+7.04,0.000303274
+7.2,0.000308165
+7.36,0.000313135
+7.52,0.000318186
+7.68,0.000323318
+7.84,0.000328532
+8,0.000333831
diff --git a/models/sbml-test-suite/cases/semantic/00905/00905-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00905/00905-sbml-l2v4.xml
new file mode 100644
index 0000000..713b098
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00905/00905-sbml-l2v4.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00905" id="case00905" name="case00905">
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="1" size="0.00015" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.1 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00905/00905-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00905/00905-sbml-l3v1.xml
new file mode 100644
index 0000000..a9483cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00905/00905-sbml-l3v1.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00905" id="case00905" name="case00905" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="1" size="0.00015" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.1 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00905/00905-settings.txt b/models/sbml-test-suite/cases/semantic/00905/00905-settings.txt
new file mode 100644
index 0000000..e560c21
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00905/00905-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: c
+absolute: 1.000000e-007
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00906/00906-results.csv b/models/sbml-test-suite/cases/semantic/00906/00906-results.csv
new file mode 100644
index 0000000..ca5f918
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00906/00906-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,0.002
+0.12,0.00175268
+0.24,0.00153595
+0.36,0.00134601
+0.48,0.00117957
+0.6,0.0010337
+0.72,0.000905876
+0.84,0.000793856
+0.96,0.000695689
+1.08,0.000609661
+1.2,0.000534271
+1.32,0.000468203
+1.44,0.000410306
+1.56,0.000359568
+1.68,0.000315104
+1.8,0.000276138
+1.92,0.000241991
+2.04,0.000212067
+2.16,0.000185843
+2.28,0.000162862
+2.4,0.000142723
+2.52,0.000125074
+2.64,0.000109607
+2.76,9.60532e-005
+2.88,8.41754e-005
+3,7.37663e-005
+3.12,6.46445e-005
+3.24,5.66506e-005
+3.36,4.96452e-005
+3.48,4.35062e-005
+3.6,3.81262e-005
+3.72,3.34116e-005
+3.84,2.92799e-005
+3.96,2.56592e-005
+4.08,2.24862e-005
+4.2,1.97056e-005
+4.32,1.72688e-005
+4.44,1.51334e-005
+4.56,1.3262e-005
+4.68,1.1622e-005
+4.8,1.01849e-005
+4.92,8.92541e-006
+5.04,7.8217e-006
+5.16,6.85448e-006
+5.28,6.00686e-006
+5.4,5.26406e-006
+5.52,4.61311e-006
+5.64,4.04266e-006
+5.76,3.54275e-006
+5.88,3.10465e-006
+6,2.72074e-006
diff --git a/models/sbml-test-suite/cases/semantic/00906/00906-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00906/00906-sbml-l2v4.xml
new file mode 100644
index 0000000..b492da9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00906/00906-sbml-l2v4.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00906" id="case00906" name="case00906">
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="2" size="0.002" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> c </ci>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00906/00906-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00906/00906-sbml-l3v1.xml
new file mode 100644
index 0000000..8b9efe4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00906/00906-sbml-l3v1.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00906" id="case00906" name="case00906" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="2" size="0.002" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> c </ci>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00906/00906-settings.txt b/models/sbml-test-suite/cases/semantic/00906/00906-settings.txt
new file mode 100644
index 0000000..1f385ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00906/00906-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: c
+absolute: 1.000000e-006
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00907/00907-results.csv b/models/sbml-test-suite/cases/semantic/00907/00907-results.csv
new file mode 100644
index 0000000..21b1e2a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00907/00907-results.csv
@@ -0,0 +1,52 @@
+time,c
+0.0,22.5
+0.02,20.070068875833158
+0.04,17.902562880300717
+0.06,15.969140902214109
+0.08,14.244522528778413
+0.1,12.706157676317122
+0.12,11.333931438173597
+0.14,10.109901487646976
+0.16,9.01806310063462
+0.18,8.044138063658508
+0.2,7.175397539761307
+0.22,6.400476570395506
+0.24,5.70924469223209
+0.26,5.092663748214584
+0.28,4.542671654243095
+0.3,4.052076948987271
+0.32,3.61446504943578
+0.34,3.22411389484088
+0.36,2.8759194694153396
+0.38,2.5653289540634665
+0.4,2.2882812364843583
+0.42,2.0411538353485352
+0.44,1.8207155624875744
+0.46,1.6240837507800094
+0.48,1.4486877639097853
+0.5,1.2922338685155925
+0.52,1.1526765939818102
+0.54,1.0281909673062126
+0.56,0.9171495886204345
+0.58,0.8181001599544092
+0.6,0.7297478882157595
+0.62,0.6509373449156319
+0.64,0.5806380794213712
+0.66,0.5179309914976867
+0.68,0.4619959814366405
+0.7,0.41210186718572295
+0.72,0.36759610579364177
+0.74,0.32789685260684054
+0.76,0.29248501160356966
+0.78,0.26089750314131016
+0.8,0.2327213963483971
+0.82,0.2075881783946382
+0.84,0.18516929957232336
+0.86,0.1651715823683288
+0.88,0.14733354959434045
+0.9,0.13142198990576626
+0.92,0.11722880489696544
+0.94,0.10456846177633161
+0.96,0.09327538343195545
+0.98,0.08320192705603481
+1.0,0.07421637950883594
diff --git a/models/sbml-test-suite/cases/semantic/00907/00907-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00907/00907-sbml-l2v4.xml
new file mode 100644
index 0000000..039b01f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00907/00907-sbml-l2v4.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00907" id="case00907" name="case00907">
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="1" size="22.5" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.175"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <apply>
+              <divide/>
+              <ci> c </ci>
+              <ci> k1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00907/00907-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00907/00907-sbml-l3v1.xml
new file mode 100644
index 0000000..7568f19
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00907/00907-sbml-l3v1.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00907" id="case00907" name="case00907" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="1" size="22.5" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.175" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <apply>
+              <divide/>
+              <ci> c </ci>
+              <ci> k1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00907/00907-settings.txt b/models/sbml-test-suite/cases/semantic/00907/00907-settings.txt
new file mode 100644
index 0000000..6f2c767
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00907/00907-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: c
+absolute: 1.000000e-002
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00908/00908-results.csv b/models/sbml-test-suite/cases/semantic/00908/00908-results.csv
new file mode 100644
index 0000000..072f0f3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00908/00908-results.csv
@@ -0,0 +1,52 @@
+time,C1,C2
+0,1.5,0.75
+0.06,1.48892,0.772333
+0.12,1.47817,0.794336
+0.18,1.46774,0.816017
+0.24,1.45763,0.837385
+0.3,1.44783,0.858446
+0.36,1.43833,0.879207
+0.42,1.42913,0.899677
+0.48,1.42022,0.919862
+0.54,1.4116,0.939769
+0.6,1.40326,0.959405
+0.66,1.39519,0.978776
+0.72,1.38739,0.997888
+0.78,1.37985,1.01675
+0.84,1.37257,1.03536
+0.9,1.36554,1.05374
+0.96,1.35876,1.07188
+1.02,1.35223,1.08979
+1.08,1.34593,1.10749
+1.14,1.33986,1.12496
+1.2,1.33402,1.14222
+1.26,1.3284,1.15928
+1.32,1.323,1.17614
+1.38,1.31782,1.1928
+1.44,1.31284,1.20926
+1.5,1.30807,1.22555
+1.56,1.30351,1.24165
+1.62,1.29914,1.25758
+1.68,1.29496,1.27333
+1.74,1.29098,1.28892
+1.8,1.28718,1.30434
+1.86,1.28356,1.3196
+1.92,1.28012,1.33471
+1.98,1.27686,1.34967
+2.04,1.27377,1.36449
+2.1,1.27085,1.37916
+2.16,1.2681,1.39369
+2.22,1.2655,1.40808
+2.28,1.26307,1.42235
+2.34,1.26079,1.43649
+2.4,1.25867,1.4505
+2.46,1.25669,1.4644
+2.52,1.25486,1.47817
+2.58,1.25318,1.49183
+2.64,1.25164,1.50538
+2.7,1.25024,1.51883
+2.76,1.24897,1.53217
+2.82,1.24784,1.54541
+2.88,1.24684,1.55855
+2.94,1.24597,1.57159
+3,1.24522,1.58454
diff --git a/models/sbml-test-suite/cases/semantic/00908/00908-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00908/00908-sbml-l2v4.xml
new file mode 100644
index 0000000..affaa6f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00908/00908-sbml-l2v4.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00908" id="case00908" name="case00908">
+    <listOfCompartments>
+      <compartment id="C1" name="C1" size="1.5" units="volume" constant="false"/>
+      <compartment id="C2" name="C2" spatialDimensions="2" size="0.75" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <times/>
+              <cn> 0.15 </cn>
+              <ci> C2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.2 </cn>
+              <ci> C1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="C2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <times/>
+              <cn> 0.3 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.1 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00908/00908-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00908/00908-sbml-l3v1.xml
new file mode 100644
index 0000000..fc414b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00908/00908-sbml-l3v1.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00908" id="case00908" name="case00908" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C1" name="C1" spatialDimensions="3" size="1.5" units="volume" constant="false"/>
+      <compartment id="C2" name="C2" spatialDimensions="2" size="0.75" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <times/>
+              <cn> 0.15 </cn>
+              <ci> C2 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.2 </cn>
+              <ci> C1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="C2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <apply>
+              <times/>
+              <cn> 0.3 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.1 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00908/00908-settings.txt b/models/sbml-test-suite/cases/semantic/00908/00908-settings.txt
new file mode 100644
index 0000000..a2bf4be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00908/00908-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: C1, C2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00909/00909-results.csv b/models/sbml-test-suite/cases/semantic/00909/00909-results.csv
new file mode 100644
index 0000000..9bcefbc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00909/00909-results.csv
@@ -0,0 +1,52 @@
+time,C1,C2
+0,0.015,0.01
+0.06,0.0155181,0.0102589
+0.12,0.0160528,0.0105256
+0.18,0.0166046,0.0108005
+0.24,0.017174,0.0110838
+0.3,0.0177617,0.0113757
+0.36,0.0183681,0.0116766
+0.42,0.0189938,0.0119867
+0.48,0.0196396,0.0123063
+0.54,0.0203059,0.0126357
+0.6,0.0209935,0.0129752
+0.66,0.0217031,0.0133251
+0.72,0.0224353,0.0136857
+0.78,0.0231908,0.0140575
+0.84,0.0239704,0.0144407
+0.9,0.0247749,0.0148356
+0.96,0.0256049,0.0152428
+1.02,0.0264615,0.0156625
+1.08,0.0273452,0.0160951
+1.14,0.0282572,0.0165411
+1.2,0.0291981,0.0170009
+1.26,0.030169,0.0174749
+1.32,0.0311708,0.0179635
+1.38,0.0322044,0.0184672
+1.44,0.033271,0.0189865
+1.5,0.0343714,0.0195219
+1.56,0.0355068,0.0200739
+1.62,0.0366783,0.020643
+1.68,0.0378871,0.0212297
+1.74,0.0391342,0.0218347
+1.8,0.0404209,0.0224584
+1.86,0.0417486,0.0231014
+1.92,0.0431184,0.0237645
+1.98,0.0445316,0.0244481
+2.04,0.0459898,0.025153
+2.1,0.0474942,0.0258799
+2.16,0.0490464,0.0266293
+2.22,0.0506478,0.027402
+2.28,0.0523001,0.0281988
+2.34,0.0540047,0.0290205
+2.4,0.0557635,0.0298677
+2.46,0.057578,0.0307413
+2.52,0.0594501,0.0316422
+2.58,0.0613815,0.0325711
+2.64,0.0633741,0.033529
+2.7,0.06543,0.0345168
+2.76,0.067551,0.0355355
+2.82,0.0697392,0.0365859
+2.88,0.0719967,0.0376692
+2.94,0.0743258,0.0387863
+3,0.0767287,0.0399383
diff --git a/models/sbml-test-suite/cases/semantic/00909/00909-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00909/00909-sbml-l2v4.xml
new file mode 100644
index 0000000..c5370ad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00909/00909-sbml-l2v4.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00909" id="case00909" name="case00909">
+    <listOfCompartments>
+      <compartment id="C1" name="C1" size="0.015" units="volume" constant="false"/>
+      <compartment id="C2" name="C2" spatialDimensions="1" size="0.01" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn> 0.4 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.25 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="C2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn> 0.15 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.2 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00909/00909-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00909/00909-sbml-l3v1.xml
new file mode 100644
index 0000000..dd3ffc2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00909/00909-sbml-l3v1.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00909" id="case00909" name="case00909" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C1" name="C1" spatialDimensions="3" size="0.015" units="volume" constant="false"/>
+      <compartment id="C2" name="C2" spatialDimensions="1" size="0.01" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn> 0.4 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.25 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="C2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn> 0.15 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.2 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00909/00909-settings.txt b/models/sbml-test-suite/cases/semantic/00909/00909-settings.txt
new file mode 100644
index 0000000..b0832d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00909/00909-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: C1, C2
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00910/00910-results.csv b/models/sbml-test-suite/cases/semantic/00910/00910-results.csv
new file mode 100644
index 0000000..ac5b8dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00910/00910-results.csv
@@ -0,0 +1,52 @@
+time,C1,C2
+0,0.015,0.01
+0.06,0.0155784,0.010213
+0.12,0.0161738,0.0104321
+0.18,0.0167867,0.0106575
+0.24,0.0174177,0.0108894
+0.3,0.0180673,0.0111279
+0.36,0.018736,0.0113733
+0.42,0.0194244,0.0116258
+0.48,0.020133,0.0118855
+0.54,0.0208625,0.0121527
+0.6,0.0216134,0.0124276
+0.66,0.0223864,0.0127104
+0.72,0.0231822,0.0130014
+0.78,0.0240013,0.0133007
+0.84,0.0248445,0.0136087
+0.9,0.0257125,0.0139255
+0.96,0.0266059,0.0142515
+1.02,0.0275256,0.0145869
+1.08,0.0284723,0.014932
+1.14,0.0294468,0.0152871
+1.2,0.0304499,0.0156524
+1.26,0.0314824,0.0160282
+1.32,0.0325453,0.0164149
+1.38,0.0336393,0.0168128
+1.44,0.0347654,0.0172222
+1.5,0.0359245,0.0176435
+1.56,0.0371176,0.0180769
+1.62,0.0383457,0.0185228
+1.68,0.0396097,0.0189817
+1.74,0.0409109,0.0194539
+1.8,0.0422501,0.0199397
+1.86,0.0436286,0.0204395
+1.92,0.0450475,0.0209539
+1.98,0.046508,0.0214831
+2.04,0.0480112,0.0220277
+2.1,0.0495585,0.0225881
+2.16,0.051151,0.0231647
+2.22,0.0527902,0.023758
+2.28,0.0544774,0.0243685
+2.34,0.056214,0.0249968
+2.4,0.0580014,0.0256432
+2.46,0.0598411,0.0263084
+2.52,0.0617347,0.0269929
+2.58,0.0636837,0.0276972
+2.64,0.0656897,0.028422
+2.7,0.0677544,0.0291678
+2.76,0.0698795,0.0299353
+2.82,0.0720668,0.0307251
+2.88,0.074318,0.0315377
+2.94,0.0766351,0.032374
+3,0.07902,0.0332346
diff --git a/models/sbml-test-suite/cases/semantic/00910/00910-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00910/00910-sbml-l2v4.xml
new file mode 100644
index 0000000..87b9b23
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00910/00910-sbml-l2v4.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00910" id="case00910" name="case00910">
+    <listOfCompartments>
+      <compartment id="C1" name="C1" spatialDimensions="1" size="0.015" units="length" constant="false"/>
+      <compartment id="C2" name="C2" spatialDimensions="2" size="0.01" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn> 0.3 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.5 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="C2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn> 0.1 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.2 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00910/00910-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00910/00910-sbml-l3v1.xml
new file mode 100644
index 0000000..443a4a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00910/00910-sbml-l3v1.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00910" id="case00910" name="case00910" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C1" name="C1" spatialDimensions="1" size="0.015" units="length" constant="false"/>
+      <compartment id="C2" name="C2" spatialDimensions="2" size="0.01" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="C1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn> 0.3 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.5 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="C2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn> 0.1 </cn>
+              <ci> C1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn> 0.2 </cn>
+              <ci> C2 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00910/00910-settings.txt b/models/sbml-test-suite/cases/semantic/00910/00910-settings.txt
new file mode 100644
index 0000000..b0832d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00910/00910-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: C1, C2
+absolute: 1.000000e-005
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00911/00911-results.csv b/models/sbml-test-suite/cases/semantic/00911/00911-results.csv
new file mode 100644
index 0000000..8ba580c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00911/00911-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,1.5
+0.02,1.51508
+0.04,1.5303
+0.06,1.54568
+0.08,1.56122
+0.1,1.57691
+0.12,1.59275
+0.14,1.60876
+0.16,1.62493
+0.18,1.64126
+0.2,1.65776
+0.22,1.67442
+0.24,1.69125
+0.26,1.70824
+0.28,1.72541
+0.3,1.74275
+0.32,1.76027
+0.34,1.77796
+0.36,1.79583
+0.38,1.81387
+0.4,1.8321
+0.42,1.85052
+0.44,1.86912
+0.46,1.8879
+0.48,1.90687
+0.5,1.92604
+0.52,1.9454
+0.54,1.96495
+0.56,1.98469
+0.58,2.00464
+0.6,2.02479
+0.62,2.04514
+0.64,2.06569
+0.66,2.08645
+0.68,2.10742
+0.7,2.1286
+0.72,2.14999
+0.74,2.1716
+0.76,2.19343
+0.78,2.21547
+0.8,2.23774
+0.82,2.26023
+0.84,2.28294
+0.86,2.30589
+0.88,2.32906
+0.9,2.35247
+0.92,2.37611
+0.94,2.39999
+0.96,2.42411
+0.98,2.44847
+1,2.47308
diff --git a/models/sbml-test-suite/cases/semantic/00911/00911-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00911/00911-sbml-l2v4.xml
new file mode 100644
index 0000000..e314e81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00911/00911-sbml-l2v4.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00911" id="case00911" name="case00911">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" size="1.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> c </ci>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00911/00911-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00911/00911-sbml-l3v1.xml
new file mode 100644
index 0000000..9831bd4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00911/00911-sbml-l3v1.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00911" id="case00911" name="case00911" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="3" size="1.5" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> c </ci>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00911/00911-settings.txt b/models/sbml-test-suite/cases/semantic/00911/00911-settings.txt
new file mode 100644
index 0000000..5d9ade5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00911/00911-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: c
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00912/00912-results.csv b/models/sbml-test-suite/cases/semantic/00912/00912-results.csv
new file mode 100644
index 0000000..4cf6aab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00912/00912-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,1.5
+0.1,1.53797
+0.2,1.57691
+0.3,1.61683
+0.4,1.65776
+0.5,1.69972
+0.6,1.74275
+0.7,1.78687
+0.8,1.8321
+0.9,1.87848
+1,1.92604
+1.1,1.9748
+1.2,2.02479
+1.3,2.07605
+1.4,2.1286
+1.5,2.18249
+1.6,2.23774
+1.7,2.29439
+1.8,2.35247
+1.9,2.41202
+2,2.47308
+2.1,2.53569
+2.2,2.59988
+2.3,2.6657
+2.4,2.73318
+2.5,2.80237
+2.6,2.87331
+2.7,2.94605
+2.8,3.02063
+2.9,3.0971
+3,3.1755
+3.1,3.25589
+3.2,3.33831
+3.3,3.42282
+3.4,3.50947
+3.5,3.59831
+3.6,3.6894
+3.7,3.7828
+3.8,3.87856
+3.9,3.97675
+4,4.07742
+4.1,4.18064
+4.2,4.28648
+4.3,4.39499
+4.4,4.50625
+4.5,4.62033
+4.6,4.73729
+4.7,4.85721
+4.8,4.98018
+4.9,5.10625
+5,5.23551
diff --git a/models/sbml-test-suite/cases/semantic/00912/00912-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00912/00912-sbml-l2v4.xml
new file mode 100644
index 0000000..e38175f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00912/00912-sbml-l2v4.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00912" id="case00912" name="case00912">
+    <listOfCompartments>
+      <compartment id="c" name="c" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 3 </cn>
+            <cn> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.25 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00912/00912-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00912/00912-sbml-l3v1.xml
new file mode 100644
index 0000000..19198ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00912/00912-sbml-l3v1.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00912" id="case00912" name="case00912" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="3" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 3 </cn>
+            <cn> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.25 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00912/00912-settings.txt b/models/sbml-test-suite/cases/semantic/00912/00912-settings.txt
new file mode 100644
index 0000000..6dec00a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00912/00912-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: c
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00913/00913-results.csv b/models/sbml-test-suite/cases/semantic/00913/00913-results.csv
new file mode 100644
index 0000000..0765ead
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00913/00913-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,1.5
+0.05,1.51887
+0.1,1.53797
+0.15,1.55732
+0.2,1.57691
+0.25,1.59674
+0.3,1.61683
+0.35,1.63716
+0.4,1.65776
+0.45,1.67861
+0.5,1.69972
+0.55,1.7211
+0.6,1.74275
+0.65,1.76467
+0.7,1.78687
+0.75,1.80935
+0.8,1.8321
+0.85,1.85515
+0.9,1.87848
+0.95,1.90211
+1,1.92604
+1.05,1.95026
+1.1,1.9748
+1.15,1.99964
+1.2,2.02479
+1.25,2.05026
+1.3,2.07605
+1.35,2.10216
+1.4,2.1286
+1.45,2.15538
+1.5,2.18249
+1.55,2.20994
+1.6,2.23774
+1.65,2.26588
+1.7,2.29439
+1.75,2.32325
+1.8,2.35247
+1.85,2.38206
+1.9,2.41202
+1.95,2.44236
+2,2.47308
+2.05,2.50419
+2.1,2.53569
+2.15,2.56758
+2.2,2.59988
+2.25,2.63258
+2.3,2.6657
+2.35,2.69923
+2.4,2.73318
+2.45,2.76756
+2.5,2.80237
diff --git a/models/sbml-test-suite/cases/semantic/00913/00913-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00913/00913-sbml-l2v4.xml
new file mode 100644
index 0000000..721d53e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00913/00913-sbml-l2v4.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00913" id="case00913" name="case00913">
+    <listOfCompartments>
+      <compartment id="c" name="c" size="2" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 3 </cn>
+            <cn> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.25 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00913/00913-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00913/00913-sbml-l3v1.xml
new file mode 100644
index 0000000..d79251a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00913/00913-sbml-l3v1.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00913" id="case00913" name="case00913" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="3" size="2" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 3 </cn>
+            <cn> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.25 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00913/00913-settings.txt b/models/sbml-test-suite/cases/semantic/00913/00913-settings.txt
new file mode 100644
index 0000000..ea0a309
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00913/00913-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: c
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00914/00914-results.csv b/models/sbml-test-suite/cases/semantic/00914/00914-results.csv
new file mode 100644
index 0000000..9456b0d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00914/00914-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,0.5
+0.1,0.525636
+0.2,0.552585
+0.3,0.580917
+0.4,0.610701
+0.5,0.642013
+0.6,0.674929
+0.7,0.709534
+0.8,0.745912
+0.9,0.784156
+1,0.824361
+1.1,0.866627
+1.2,0.911059
+1.3,0.95777
+1.4,1.00688
+1.5,1.0585
+1.6,1.11277
+1.7,1.16982
+1.8,1.2298
+1.9,1.29285
+2,1.35914
+2.1,1.42883
+2.2,1.50208
+2.3,1.5791
+2.4,1.66006
+2.5,1.74517
+2.6,1.83465
+2.7,1.92871
+2.8,2.0276
+2.9,2.13156
+3,2.24084
+3.1,2.35574
+3.2,2.47652
+3.3,2.60349
+3.4,2.73697
+3.5,2.8773
+3.6,3.02482
+3.7,3.17991
+3.8,3.34295
+3.9,3.51434
+4,3.69453
+4.1,3.88395
+4.2,4.08308
+4.3,4.29243
+4.4,4.51251
+4.5,4.74387
+4.6,4.98709
+4.7,5.24278
+4.8,5.51159
+4.9,5.79417
+5,6.09125
diff --git a/models/sbml-test-suite/cases/semantic/00914/00914-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00914/00914-sbml-l2v4.xml
new file mode 100644
index 0000000..52cef70
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00914/00914-sbml-l2v4.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00914" id="case00914" name="case00914">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="2" size="0.5" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> c </ci>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00914/00914-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00914/00914-sbml-l3v1.xml
new file mode 100644
index 0000000..f2af235
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00914/00914-sbml-l3v1.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00914" id="case00914" name="case00914" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="2" size="0.5" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> c </ci>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00914/00914-settings.txt b/models/sbml-test-suite/cases/semantic/00914/00914-settings.txt
new file mode 100644
index 0000000..6dec00a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00914/00914-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: c
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00915/00915-results.csv b/models/sbml-test-suite/cases/semantic/00915/00915-results.csv
new file mode 100644
index 0000000..7562c67
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00915/00915-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,0.5
+0.06,0.50452
+0.12,0.509081
+0.18,0.513684
+0.24,0.518328
+0.3,0.523014
+0.36,0.527742
+0.42,0.532513
+0.48,0.537328
+0.54,0.542185
+0.6,0.547087
+0.66,0.552033
+0.72,0.557024
+0.78,0.56206
+0.84,0.567141
+0.9,0.572268
+0.96,0.577442
+1.02,0.582662
+1.08,0.58793
+1.14,0.593245
+1.2,0.598609
+1.26,0.60402
+1.32,0.609481
+1.38,0.614991
+1.44,0.620551
+1.5,0.626161
+1.56,0.631822
+1.62,0.637534
+1.68,0.643298
+1.74,0.649114
+1.8,0.654982
+1.86,0.660904
+1.92,0.666879
+1.98,0.672908
+2.04,0.678991
+2.1,0.68513
+2.16,0.691324
+2.22,0.697574
+2.28,0.70388
+2.34,0.710244
+2.4,0.716665
+2.46,0.723144
+2.52,0.729681
+2.58,0.736278
+2.64,0.742935
+2.7,0.749651
+2.76,0.756429
+2.82,0.763267
+2.88,0.770168
+2.94,0.77713
+3,0.784156
diff --git a/models/sbml-test-suite/cases/semantic/00915/00915-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00915/00915-sbml-l2v4.xml
new file mode 100644
index 0000000..4630c64
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00915/00915-sbml-l2v4.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00915" id="case00915" name="case00915">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="1" size="0.5" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> c </ci>
+            <cn> 0.15 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00915/00915-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00915/00915-sbml-l3v1.xml
new file mode 100644
index 0000000..aa53eee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00915/00915-sbml-l3v1.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00915" id="case00915" name="case00915" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="1" size="0.5" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> c </ci>
+            <cn> 0.15 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00915/00915-settings.txt b/models/sbml-test-suite/cases/semantic/00915/00915-settings.txt
new file mode 100644
index 0000000..b1f4c37
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00915/00915-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: c
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00916/00916-results.csv b/models/sbml-test-suite/cases/semantic/00916/00916-results.csv
new file mode 100644
index 0000000..c23213a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00916/00916-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,0.666667
+0.08,0.693874
+0.16,0.722192
+0.24,0.751665
+0.32,0.782341
+0.4,0.814269
+0.48,0.8475
+0.56,0.882087
+0.64,0.918086
+0.72,0.955553
+0.8,0.99455
+0.88,1.03514
+0.96,1.07738
+1.04,1.12135
+1.12,1.16712
+1.2,1.21475
+1.28,1.26432
+1.36,1.31592
+1.44,1.36962
+1.52,1.42552
+1.6,1.48369
+1.68,1.54425
+1.76,1.60727
+1.84,1.67286
+1.92,1.74113
+2,1.81219
+2.08,1.88615
+2.16,1.96312
+2.24,2.04324
+2.32,2.12662
+2.4,2.21341
+2.48,2.30374
+2.56,2.39776
+2.64,2.49562
+2.72,2.59746
+2.8,2.70347
+2.88,2.8138
+2.96,2.92863
+3.04,3.04815
+3.12,3.17255
+3.2,3.30202
+3.28,3.43678
+3.36,3.57704
+3.44,3.72302
+3.52,3.87496
+3.6,4.0331
+3.68,4.19769
+3.76,4.36901
+3.84,4.54731
+3.92,4.73289
+4,4.92604
diff --git a/models/sbml-test-suite/cases/semantic/00916/00916-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00916/00916-sbml-l2v4.xml
new file mode 100644
index 0000000..b6e4b4b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00916/00916-sbml-l2v4.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00916" id="case00916" name="case00916">
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 2 </cn>
+            <cn> 3 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00916/00916-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00916/00916-sbml-l3v1.xml
new file mode 100644
index 0000000..0dde28a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00916/00916-sbml-l3v1.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00916" id="case00916" name="case00916" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 2 </cn>
+            <cn> 3 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00916/00916-settings.txt b/models/sbml-test-suite/cases/semantic/00916/00916-settings.txt
new file mode 100644
index 0000000..3f63783
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00916/00916-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 4.0
+steps: 50
+variables: c
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00917/00917-results.csv b/models/sbml-test-suite/cases/semantic/00917/00917-results.csv
new file mode 100644
index 0000000..d80d9e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00917/00917-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,0.733333
+0.16,0.79441
+0.32,0.860574
+0.48,0.932249
+0.64,1.00989
+0.8,1.094
+0.96,1.18512
+1.12,1.28383
+1.28,1.39075
+1.44,1.50658
+1.6,1.63206
+1.76,1.76799
+1.92,1.91524
+2.08,2.07476
+2.24,2.24756
+2.4,2.43475
+2.56,2.63753
+2.72,2.85721
+2.88,3.09518
+3.04,3.35296
+3.2,3.63222
+3.36,3.93474
+3.52,4.26245
+3.68,4.61746
+3.84,5.00203
+4,5.41864
+4.16,5.86994
+4.32,6.35883
+4.48,6.88844
+4.64,7.46216
+4.8,8.08366
+4.96,8.75692
+5.12,9.48626
+5.28,10.2763
+5.44,11.1322
+5.6,12.0594
+5.76,13.0638
+5.92,14.1518
+6.08,15.3305
+6.24,16.6073
+6.4,17.9905
+6.56,19.4889
+6.72,21.1121
+6.88,22.8704
+7.04,24.7752
+7.2,26.8387
+7.36,29.074
+7.52,31.4955
+7.68,34.1187
+7.84,36.9603
+8,40.0386
diff --git a/models/sbml-test-suite/cases/semantic/00917/00917-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00917/00917-sbml-l2v4.xml
new file mode 100644
index 0000000..d443e90
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00917/00917-sbml-l2v4.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00917" id="case00917" name="case00917">
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="1" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 2.2 </cn>
+            <cn> 3 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00917/00917-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00917/00917-sbml-l3v1.xml
new file mode 100644
index 0000000..374c729
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00917/00917-sbml-l3v1.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00917" id="case00917" name="case00917" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="1" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 2.2 </cn>
+            <cn> 3 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00917/00917-settings.txt b/models/sbml-test-suite/cases/semantic/00917/00917-settings.txt
new file mode 100644
index 0000000..4cc88c0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00917/00917-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: c
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00918/00918-results.csv b/models/sbml-test-suite/cases/semantic/00918/00918-results.csv
new file mode 100644
index 0000000..2112a0e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00918/00918-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,1.65
+0.04,1.7346
+0.08,1.82353
+0.12,1.91703
+0.16,2.01531
+0.2,2.11864
+0.24,2.22727
+0.28,2.34146
+0.32,2.46151
+0.36,2.58772
+0.4,2.72039
+0.44,2.85987
+0.48,3.0065
+0.52,3.16064
+0.56,3.32269
+0.6,3.49305
+0.64,3.67214
+0.68,3.86042
+0.72,4.05835
+0.76,4.26642
+0.8,4.48517
+0.84,4.71512
+0.88,4.95687
+0.92,5.21102
+0.96,5.47819
+1,5.75907
+1.04,6.05434
+1.08,6.36475
+1.12,6.69108
+1.16,7.03414
+1.2,7.39479
+1.24,7.77393
+1.28,8.1725
+1.32,8.59152
+1.36,9.03201
+1.4,9.49509
+1.44,9.98192
+1.48,10.4937
+1.52,11.0317
+1.56,11.5973
+1.6,12.1919
+1.64,12.817
+1.68,13.4742
+1.72,14.165
+1.76,14.8913
+1.8,15.6548
+1.84,16.4574
+1.88,17.3012
+1.92,18.1882
+1.96,19.1208
+2,20.1011
diff --git a/models/sbml-test-suite/cases/semantic/00918/00918-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00918/00918-sbml-l2v4.xml
new file mode 100644
index 0000000..12ca12f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00918/00918-sbml-l2v4.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00918" id="case00918" name="case00918">
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="2" size="2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 3.3 </cn>
+            <cn> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 1.25 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00918/00918-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00918/00918-sbml-l3v1.xml
new file mode 100644
index 0000000..44a6f35
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00918/00918-sbml-l3v1.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00918" id="case00918" name="case00918" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="2" size="2" units="area" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 3.3 </cn>
+            <cn> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 1.25 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00918/00918-settings.txt b/models/sbml-test-suite/cases/semantic/00918/00918-settings.txt
new file mode 100644
index 0000000..3a643f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00918/00918-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: c
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00919/00919-results.csv b/models/sbml-test-suite/cases/semantic/00919/00919-results.csv
new file mode 100644
index 0000000..585abbe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00919/00919-results.csv
@@ -0,0 +1,52 @@
+time,c
+0,0.525
+0.06,0.565889
+0.12,0.609963
+0.18,0.657469
+0.24,0.708676
+0.3,0.76387
+0.36,0.823364
+0.42,0.887491
+0.48,0.956612
+0.54,1.03112
+0.6,1.11143
+0.66,1.19799
+0.72,1.29129
+0.78,1.39186
+0.84,1.50027
+0.9,1.61711
+0.96,1.74306
+1.02,1.87882
+1.08,2.02515
+1.14,2.18288
+1.2,2.35289
+1.26,2.53614
+1.32,2.73366
+1.38,2.94657
+1.44,3.17606
+1.5,3.42343
+1.56,3.69006
+1.62,3.97746
+1.68,4.28724
+1.74,4.62115
+1.8,4.98106
+1.86,5.36901
+1.92,5.78717
+1.98,6.2379
+2.04,6.72373
+2.1,7.2474
+2.16,7.81186
+2.22,8.42028
+2.28,9.07609
+2.34,9.78297
+2.4,10.5449
+2.46,11.3662
+2.52,12.2514
+2.58,13.2056
+2.64,14.2341
+2.7,15.3427
+2.76,16.5377
+2.82,17.8257
+2.88,19.2141
+2.94,20.7105
+3,22.3236
diff --git a/models/sbml-test-suite/cases/semantic/00919/00919-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00919/00919-sbml-l2v4.xml
new file mode 100644
index 0000000..9515107
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00919/00919-sbml-l2v4.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00919" id="case00919" name="case00919">
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="1" size="2" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 2.1 </cn>
+            <cn> 4 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 1.25 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00919/00919-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00919/00919-sbml-l3v1.xml
new file mode 100644
index 0000000..ad8daab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00919/00919-sbml-l3v1.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00919" id="case00919" name="case00919" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="1" size="2" units="length" constant="false"/>
+    </listOfCompartments>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn> 2.1 </cn>
+            <cn> 4 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 1.25 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00919/00919-settings.txt b/models/sbml-test-suite/cases/semantic/00919/00919-settings.txt
new file mode 100644
index 0000000..b1f4c37
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00919/00919-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: c
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00920/00920-results.csv b/models/sbml-test-suite/cases/semantic/00920/00920-results.csv
new file mode 100644
index 0000000..8b498be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00920/00920-results.csv
@@ -0,0 +1,52 @@
+time,k1
+0.0,0.75
+0.02,0.75
+0.04,0.75
+0.06,0.75
+0.08,0.75
+0.1,0.75
+0.12,0.75
+0.14,0.75
+0.16,0.75
+0.18,0.75
+0.2,0.75
+0.22,0.75
+0.24,0.75
+0.26,0.75
+0.28,0.75
+0.3,0.75
+0.32,0.75
+0.34,0.75
+0.36,0.75
+0.38,0.75
+0.4,0.75
+0.42,0.75
+0.44,0.75
+0.46,0.75
+0.48,0.75
+0.5,0.75
+0.52,0.75
+0.54,0.75
+0.56,0.75
+0.58,0.75
+0.6,0.75
+0.62,0.75
+0.64,0.75
+0.66,0.75
+0.68,0.75
+0.7,0.75
+0.72,0.75
+0.74,0.75
+0.76,0.75
+0.78,0.75
+0.8,0.75
+0.82,0.75
+0.84,0.75
+0.86,0.75
+0.88,0.75
+0.9,0.75
+0.92,0.75
+0.94,0.75
+0.96,0.75
+0.98,0.75
+1.0,0.75
diff --git a/models/sbml-test-suite/cases/semantic/00920/00920-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00920/00920-sbml-l2v4.xml
new file mode 100644
index 0000000..cca90e3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00920/00920-sbml-l2v4.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00920" id="case00920" name="case00920">
+    <listOfParameters>
+      <parameter id="k1" name="k1"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00920/00920-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00920/00920-sbml-l3v1.xml
new file mode 100644
index 0000000..c4efe46
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00920/00920-sbml-l3v1.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00920" id="case00920" name="case00920" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00920/00920-settings.txt b/models/sbml-test-suite/cases/semantic/00920/00920-settings.txt
new file mode 100644
index 0000000..2d4f812
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00920/00920-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: k1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00921/00921-results.csv b/models/sbml-test-suite/cases/semantic/00921/00921-results.csv
new file mode 100644
index 0000000..61a79b0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00921/00921-results.csv
@@ -0,0 +1,52 @@
+time,k1
+0.0,0.44999999999999996
+0.02,0.44999999999999996
+0.04,0.44999999999999996
+0.06,0.44999999999999996
+0.08,0.44999999999999996
+0.1,0.44999999999999996
+0.12,0.44999999999999996
+0.14,0.44999999999999996
+0.16,0.44999999999999996
+0.18,0.44999999999999996
+0.2,0.44999999999999996
+0.22,0.44999999999999996
+0.24,0.44999999999999996
+0.26,0.44999999999999996
+0.28,0.44999999999999996
+0.3,0.44999999999999996
+0.32,0.44999999999999996
+0.34,0.44999999999999996
+0.36,0.44999999999999996
+0.38,0.44999999999999996
+0.4,0.44999999999999996
+0.42,0.44999999999999996
+0.44,0.44999999999999996
+0.46,0.44999999999999996
+0.48,0.44999999999999996
+0.5,0.44999999999999996
+0.52,0.44999999999999996
+0.54,0.44999999999999996
+0.56,0.44999999999999996
+0.58,0.44999999999999996
+0.6,0.44999999999999996
+0.62,0.44999999999999996
+0.64,0.44999999999999996
+0.66,0.44999999999999996
+0.68,0.44999999999999996
+0.7,0.44999999999999996
+0.72,0.44999999999999996
+0.74,0.44999999999999996
+0.76,0.44999999999999996
+0.78,0.44999999999999996
+0.8,0.44999999999999996
+0.82,0.44999999999999996
+0.84,0.44999999999999996
+0.86,0.44999999999999996
+0.88,0.44999999999999996
+0.9,0.44999999999999996
+0.92,0.44999999999999996
+0.94,0.44999999999999996
+0.96,0.44999999999999996
+0.98,0.44999999999999996
+1.0,0.44999999999999996
diff --git a/models/sbml-test-suite/cases/semantic/00921/00921-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00921/00921-sbml-l2v4.xml
new file mode 100644
index 0000000..bc3360f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00921/00921-sbml-l2v4.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00921" id="case00921" name="case00921">
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 1.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00921/00921-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00921/00921-sbml-l3v1.xml
new file mode 100644
index 0000000..3b9663d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00921/00921-sbml-l3v1.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00921" id="case00921" name="case00921" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 1.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00921/00921-settings.txt b/models/sbml-test-suite/cases/semantic/00921/00921-settings.txt
new file mode 100644
index 0000000..2d4f812
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00921/00921-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: k1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00922/00922-results.csv b/models/sbml-test-suite/cases/semantic/00922/00922-results.csv
new file mode 100644
index 0000000..b1634e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00922/00922-results.csv
@@ -0,0 +1,52 @@
+time,k1
+0.0,0.6
+0.02,0.6
+0.04,0.6
+0.06,0.6
+0.08,0.6
+0.1,0.6
+0.12,0.6
+0.14,0.6
+0.16,0.6
+0.18,0.6
+0.2,0.6
+0.22,0.6
+0.24,0.6
+0.26,0.6
+0.28,0.6
+0.3,0.6
+0.32,0.6
+0.34,0.6
+0.36,0.6
+0.38,0.6
+0.4,0.6
+0.42,0.6
+0.44,0.6
+0.46,0.6
+0.48,0.6
+0.5,0.6
+0.52,0.6
+0.54,0.6
+0.56,0.6
+0.58,0.6
+0.6,0.6
+0.62,0.6
+0.64,0.6
+0.66,0.6
+0.68,0.6
+0.7,0.6
+0.72,0.6
+0.74,0.6
+0.76,0.6
+0.78,0.6
+0.8,0.6
+0.82,0.6
+0.84,0.6
+0.86,0.6
+0.88,0.6
+0.9,0.6
+0.92,0.6
+0.94,0.6
+0.96,0.6
+0.98,0.6
+1.0,0.6
diff --git a/models/sbml-test-suite/cases/semantic/00922/00922-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00922/00922-sbml-l2v4.xml
new file mode 100644
index 0000000..3d21cc6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00922/00922-sbml-l2v4.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00922" id="case00922" name="case00922">
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00922/00922-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00922/00922-sbml-l3v1.xml
new file mode 100644
index 0000000..8a26d25
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00922/00922-sbml-l3v1.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00922" id="case00922" name="case00922" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00922/00922-settings.txt b/models/sbml-test-suite/cases/semantic/00922/00922-settings.txt
new file mode 100644
index 0000000..2d4f812
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00922/00922-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: k1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00923/00923-results.csv b/models/sbml-test-suite/cases/semantic/00923/00923-results.csv
new file mode 100644
index 0000000..8599044
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00923/00923-results.csv
@@ -0,0 +1,52 @@
+time,k1
+0.0,1.2
+0.02,1.2
+0.04,1.2
+0.06,1.2
+0.08,1.2
+0.1,1.2
+0.12,1.2
+0.14,1.2
+0.16,1.2
+0.18,1.2
+0.2,1.2
+0.22,1.2
+0.24,1.2
+0.26,1.2
+0.28,1.2
+0.3,1.2
+0.32,1.2
+0.34,1.2
+0.36,1.2
+0.38,1.2
+0.4,1.2
+0.42,1.2
+0.44,1.2
+0.46,1.2
+0.48,1.2
+0.5,1.2
+0.52,1.2
+0.54,1.2
+0.56,1.2
+0.58,1.2
+0.6,1.2
+0.62,1.2
+0.64,1.2
+0.66,1.2
+0.68,1.2
+0.7,1.2
+0.72,1.2
+0.74,1.2
+0.76,1.2
+0.78,1.2
+0.8,1.2
+0.82,1.2
+0.84,1.2
+0.86,1.2
+0.88,1.2
+0.9,1.2
+0.92,1.2
+0.94,1.2
+0.96,1.2
+0.98,1.2
+1.0,1.2
diff --git a/models/sbml-test-suite/cases/semantic/00923/00923-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00923/00923-sbml-l1v2.xml
new file mode 100644
index 0000000..dc17dfb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00923/00923-sbml-l1v2.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00923">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="k1"/>
+      <parameter name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="4 * k2" name="k1"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00923/00923-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00923/00923-sbml-l2v4.xml
new file mode 100644
index 0000000..0c02f67
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00923/00923-sbml-l2v4.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00923" id="case00923" name="case00923">
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00923/00923-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00923/00923-sbml-l3v1.xml
new file mode 100644
index 0000000..d93c745
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00923/00923-sbml-l3v1.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00923" id="case00923" name="case00923" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="k1" name="k1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00923/00923-settings.txt b/models/sbml-test-suite/cases/semantic/00923/00923-settings.txt
new file mode 100644
index 0000000..2d4f812
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00923/00923-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: k1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00924/00924-results.csv b/models/sbml-test-suite/cases/semantic/00924/00924-results.csv
new file mode 100644
index 0000000..1fe0b87
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00924/00924-results.csv
@@ -0,0 +1,52 @@
+time,k1
+0.0,0.8999999999999999
+0.02,0.8999999999999999
+0.04,0.8999999999999999
+0.06,0.8999999999999999
+0.08,0.8999999999999999
+0.1,0.8999999999999999
+0.12,0.8999999999999999
+0.14,0.8999999999999999
+0.16,0.8999999999999999
+0.18,0.8999999999999999
+0.2,0.8999999999999999
+0.22,0.8999999999999999
+0.24,0.8999999999999999
+0.26,0.8999999999999999
+0.28,0.8999999999999999
+0.3,0.8999999999999999
+0.32,0.8999999999999999
+0.34,0.8999999999999999
+0.36,0.8999999999999999
+0.38,0.8999999999999999
+0.4,0.8999999999999999
+0.42,0.8999999999999999
+0.44,0.8999999999999999
+0.46,0.8999999999999999
+0.48,0.8999999999999999
+0.5,0.8999999999999999
+0.52,0.8999999999999999
+0.54,0.8999999999999999
+0.56,0.8999999999999999
+0.58,0.8999999999999999
+0.6,0.8999999999999999
+0.62,0.8999999999999999
+0.64,0.8999999999999999
+0.66,0.8999999999999999
+0.68,0.8999999999999999
+0.7,0.8999999999999999
+0.72,0.8999999999999999
+0.74,0.8999999999999999
+0.76,0.8999999999999999
+0.78,0.8999999999999999
+0.8,0.8999999999999999
+0.82,0.8999999999999999
+0.84,0.8999999999999999
+0.86,0.8999999999999999
+0.88,0.8999999999999999
+0.9,0.8999999999999999
+0.92,0.8999999999999999
+0.94,0.8999999999999999
+0.96,0.8999999999999999
+0.98,0.8999999999999999
+1.0,0.8999999999999999
diff --git a/models/sbml-test-suite/cases/semantic/00924/00924-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00924/00924-sbml-l1v2.xml
new file mode 100644
index 0000000..51118db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00924/00924-sbml-l1v2.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00924">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="k1" value="1"/>
+      <parameter name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="3 * k2" name="k1"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00924/00924-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00924/00924-sbml-l2v4.xml
new file mode 100644
index 0000000..daaffa3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00924/00924-sbml-l2v4.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00924" id="case00924" name="case00924">
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 3 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00924/00924-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00924/00924-sbml-l3v1.xml
new file mode 100644
index 0000000..12a9970
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00924/00924-sbml-l3v1.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00924" id="case00924" name="case00924" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="false"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 3 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00924/00924-settings.txt b/models/sbml-test-suite/cases/semantic/00924/00924-settings.txt
new file mode 100644
index 0000000..2d4f812
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00924/00924-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: k1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00925/00925-results.csv b/models/sbml-test-suite/cases/semantic/00925/00925-results.csv
new file mode 100644
index 0000000..e327629
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00925/00925-results.csv
@@ -0,0 +1,52 @@
+time,k1
+0.0,0.6000000000000001
+0.02,0.6000000000000001
+0.04,0.6000000000000001
+0.06,0.6000000000000001
+0.08,0.6000000000000001
+0.1,0.6000000000000001
+0.12,0.6000000000000001
+0.14,0.6000000000000001
+0.16,0.6000000000000001
+0.18,0.6000000000000001
+0.2,0.6000000000000001
+0.22,0.6000000000000001
+0.24,0.6000000000000001
+0.26,0.6000000000000001
+0.28,0.6000000000000001
+0.3,0.6000000000000001
+0.32,0.6000000000000001
+0.34,0.6000000000000001
+0.36,0.6000000000000001
+0.38,0.6000000000000001
+0.4,0.6000000000000001
+0.42,0.6000000000000001
+0.44,0.6000000000000001
+0.46,0.6000000000000001
+0.48,0.6000000000000001
+0.5,0.6000000000000001
+0.52,0.6000000000000001
+0.54,0.6000000000000001
+0.56,0.6000000000000001
+0.58,0.6000000000000001
+0.6,0.6000000000000001
+0.62,0.6000000000000001
+0.64,0.6000000000000001
+0.66,0.6000000000000001
+0.68,0.6000000000000001
+0.7,0.6000000000000001
+0.72,0.6000000000000001
+0.74,0.6000000000000001
+0.76,0.6000000000000001
+0.78,0.6000000000000001
+0.8,0.6000000000000001
+0.82,0.6000000000000001
+0.84,0.6000000000000001
+0.86,0.6000000000000001
+0.88,0.6000000000000001
+0.9,0.6000000000000001
+0.92,0.6000000000000001
+0.94,0.6000000000000001
+0.96,0.6000000000000001
+0.98,0.6000000000000001
+1.0,0.6000000000000001
diff --git a/models/sbml-test-suite/cases/semantic/00925/00925-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00925/00925-sbml-l1v2.xml
new file mode 100644
index 0000000..5bc696c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00925/00925-sbml-l1v2.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00925">
+    <listOfCompartments>
+      <compartment name="AssignedName"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="k1" value="0.6"/>
+      <parameter name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="3 * k2" name="k1"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00925/00925-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00925/00925-sbml-l2v4.xml
new file mode 100644
index 0000000..4a4f527
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00925/00925-sbml-l2v4.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00925" id="case00925" name="case00925">
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6" constant="false"/>
+      <parameter id="k2" name="k2" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 3 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00925/00925-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00925/00925-sbml-l3v1.xml
new file mode 100644
index 0000000..5afca1e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00925/00925-sbml-l3v1.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00925" id="case00925" name="case00925" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.6" constant="false"/>
+      <parameter id="k2" name="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 3 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00925/00925-settings.txt b/models/sbml-test-suite/cases/semantic/00925/00925-settings.txt
new file mode 100644
index 0000000..2d4f812
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00925/00925-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: k1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00926/00926-results.csv b/models/sbml-test-suite/cases/semantic/00926/00926-results.csv
new file mode 100644
index 0000000..d899b72
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00926/00926-results.csv
@@ -0,0 +1,52 @@
+time,s,c,
+0,2,1,
+0.06,1.940891067,1.030454534,
+0.12,1.883529067,1.061836547,
+0.18,1.827862372,1.094174283,
+0.24,1.773840875,1.127496851,
+0.3,1.721415953,1.161834242,
+0.36,1.670540423,1.197217363,
+0.42,1.621168493,1.233678059,
+0.48,1.573255723,1.271249149,
+0.54,1.526758998,1.309964443,
+0.6,1.481636448,1.349858801,
+0.66,1.437847468,1.390968128,
+0.72,1.395352654,1.433329412,
+0.78,1.354113756,1.476980786,
+0.84,1.314093647,1.521961547,
+0.9,1.275256305,1.568312183,
+0.96,1.237566784,1.616074401,
+1.02,1.200991163,1.665291187,
+1.08,1.165496512,1.716006852,
+1.14,1.131050884,1.768267042,
+1.2,1.097623284,1.822118780,
+1.26,1.065183617,1.877610552,
+1.32,1.033702672,1.934792329,
+1.38,1.003152157,1.993715496,
+1.44,0.973504513,2.054433209,
+1.5,0.944733121,2.116999982,
+1.56,0.916812030,2.181472248,
+1.62,0.889716140,2.247907968,
+1.68,0.863421061,2.316366939,
+1.74,0.837903099,2.386910851,
+1.8,0.813139335,2.459603065,
+1.86,0.789107423,2.534509172,
+1.92,0.765785783,2.611696436,
+1.98,0.743153390,2.691234443,
+2.04,0.721189885,2.773194748,
+2.1,0.699875531,2.857650986,
+2.16,0.679191079,2.944679433,
+2.22,0.659117934,3.034358342,
+2.28,0.639638083,3.126768174,
+2.34,0.620733883,3.221992639,
+2.4,0.602388461,3.320116717,
+2.46,0.584585165,3.421229482,
+2.52,0.567308077,3.525421339,
+2.58,0.550541591,3.632786394,
+2.64,0.534270611,3.743421328,
+2.7,0.518480554,3.857425288,
+2.76,0.503157106,3.974901626,
+2.82,0.488286582,4.095955273,
+2.88,0.473855517,4.220695817,
+2.94,0.459850985,4.349235001,
+3,0.446260320,4.481689070,
diff --git a/models/sbml-test-suite/cases/semantic/00926/00926-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00926/00926-sbml-l2v4.xml
new file mode 100644
index 0000000..075ffca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00926/00926-sbml-l2v4.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00926" id="case00926" name="case00926">
+    <listOfCompartments>
+      <compartment id="c" name="c" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="s" name="s" compartment="c" initialConcentration="2" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00926/00926-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00926/00926-sbml-l3v1.xml
new file mode 100644
index 0000000..43922d3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00926/00926-sbml-l3v1.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00926" id="case00926" name="case00926" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="s" name="s" compartment="c" initialConcentration="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00926/00926-settings.txt b/models/sbml-test-suite/cases/semantic/00926/00926-settings.txt
new file mode 100644
index 0000000..bdb7d08
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00926/00926-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3
+steps: 50
+variables: s, c
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: s
diff --git a/models/sbml-test-suite/cases/semantic/00927/00927-results.csv b/models/sbml-test-suite/cases/semantic/00927/00927-results.csv
new file mode 100644
index 0000000..7c57232
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00927/00927-results.csv
@@ -0,0 +1,52 @@
+time,s,c
+0,2,1.00000000000000
+0.04,2,1.02020133999356
+0.08,2,1.04081077417141
+0.12,2,1.06183654654477
+0.16,2,1.08328706767829
+0.2,2,1.10517091802797
+0.24,2,1.12749685144512
+0.28,2,1.15027379862888
+0.32,2,1.17351087068682
+0.36,2,1.19721736277491
+0.4,2,1.22140275781540
+0.44,2,1.24607673028958
+0.48,2,1.27124914419992
+0.52,2,1.29693008520638
+0.56,2,1.32312980542248
+0.6,2,1.34985880676137
+0.64,2,1.37712775672921
+0.68,2,1.40494759025932
+0.72,2,1.43332940639503
+0.76,2,1.46228458941423
+0.8,2,1.49182468907942
+0.84,2,1.52196155554810
+0.88,2,1.55270720973858
+0.92,2,1.58407398450634
+0.96,2,1.61607439341357
+1,2,1.64872126947302
+1.04,2,1.68202764112964
+1.08,2,1.71600685818762
+1.12,2,1.75067247271722
+1.16,2,1.78603842796424
+1.2,2,1.82211877873774
+1.24,2,1.85892802289531
+1.28,2,1.89648087369926
+1.32,2,1.93479230407744
+1.36,2,1.97387773009405
+1.4,2,2.01375268231869
+1.44,2,2.05443319116403
+1.48,2,2.09593550689326
+1.52,2,2.13827618728490
+1.56,2,2.18147226401718
+1.6,2,2.22554089943890
+1.64,2,2.27049981766746
+1.68,2,2.31636696674595
+1.72,2,2.36316065747776
+1.76,2,2.41089970555073
+1.8,2,2.45960307777154
+1.84,2,2.50929036985628
+1.88,2,2.55998141328510
+1.92,2,2.61169647051086
+1.96,2,2.66445623295895
+2,2,2.71828182847037
diff --git a/models/sbml-test-suite/cases/semantic/00927/00927-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00927/00927-sbml-l1v2.xml
new file mode 100644
index 0000000..0b1c71e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00927/00927-sbml-l1v2.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00927">
+    <listOfCompartments>
+      <compartment name="c" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="s" compartment="c" initialAmount="2" units="substance"/>
+    </listOfSpecies>
+    <listOfRules>
+      <compartmentVolumeRule formula="0.5 * c" type="rate" compartment="c"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00927/00927-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00927/00927-sbml-l2v4.xml
new file mode 100644
index 0000000..4b97be4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00927/00927-sbml-l2v4.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00927" id="case00927" name="case00927">
+    <listOfCompartments>
+      <compartment id="c" name="c" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="s" name="s" compartment="c" initialAmount="2" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00927/00927-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00927/00927-sbml-l3v1.xml
new file mode 100644
index 0000000..66e07e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00927/00927-sbml-l3v1.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00927" id="case00927" name="case00927" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="c" name="c" spatialDimensions="3" size="1" units="volume" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="s" name="s" compartment="c" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> c </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00927/00927-settings.txt b/models/sbml-test-suite/cases/semantic/00927/00927-settings.txt
new file mode 100644
index 0000000..34f119c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00927/00927-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: s, c
+absolute: 1.000000e-003
+relative: 0.0001
+amount: s
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00928/00928-results.csv b/models/sbml-test-suite/cases/semantic/00928/00928-results.csv
new file mode 100644
index 0000000..3abe477
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00928/00928-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0
+0.1,0.0001357256127053939,1.427438729460607e-005
+0.2,0.0001228096129616973,2.719038703830272e-005
+0.3,0.0001111227331022577,3.887726689774233e-005
+0.4,0.0001005480069053459,4.945199309465411e-005
+0.5,9.097959895689501e-005,5.902040104310499e-005
+0.6,8.232174541410396e-005,6.767825458589604e-005
+0.7,7.448779556871142e-005,7.551220443128858e-005
+0.8,6.739934461758323e-005,8.260065538241677e-005
+0.9,6.098544896108986e-005,8.901455103891014e-005
+1,5.518191617571635e-005,9.481808382428365e-005
+1.1,4.993066255471193e-005,0.0001000693374452881
+1.2,4.517913178683031e-005,0.0001048208682131697
+1.3,4.087976895510189e-005,0.0001091202310448981
+1.4,3.698954459124097e-005,0.000113010455408759
+1.5,3.346952402226447e-005,0.0001165304759777355
+1.6,3.028447769919831e-005,0.0001197155223008017
+1.7,2.740252860791019e-005,0.0001225974713920898
+1.8,2.479483323323798e-005,0.000125205166766762
+1.9,2.243529288339526e-005,0.0001275647071166047
+2,2.03002924854919e-005,0.0001296997075145081
+2.1,1.836846423794729e-005,0.0001316315357620527
+2.2,1.662047375435008e-005,0.0001333795262456499
+2.3,1.503882655842056e-005,0.0001349611734415794
+2.4,1.360769299341187e-005,0.0001363923070065881
+2.5,1.231274979358482e-005,0.0001376872502064152
+2.6,1.114103673215008e-005,0.0001388589632678499
+2.7,1.008082691096246e-005,0.0001399191730890375
+2.8,9.121509393782692e-006,0.0001408784906062173
+2.9,8.253483008461082e-006,0.0001417465169915389
+3,7.468060255179591e-006,0.0001425319397448204
+3.1,6.757380359033671e-006,0.0001432426196409663
+3.2,6.114330596754931e-006,0.0001438856694032451
+3.3,5.532475110186e-006,0.000144467524889814
+3.4,5.00599049404891e-006,0.0001449940095059511
+3.5,4.529607513347775e-006,0.0001454703924866522
+3.6,4.098558367093884e-006,0.0001459014416329061
+3.7,3.708528970550908e-006,0.0001462914710294491
+3.8,3.355615778424839e-006,0.0001466443842215752
+3.9,3.036286716870657e-006,0.0001469637132831294
+4,2.747345833310127e-006,0.0001472526541666899
+4.1,2.485901310264186e-006,0.0001475140986897358
+4.2,2.249336523071655e-006,0.0001477506634769283
+4.3,2.03528385183014e-006,0.0001479647161481699
+4.4,1.841600985460266e-006,0.0001481583990145397
+4.5,1.666349480736346e-006,0.0001483336505192637
+4.6,1.507775361695036e-006,0.000148492224638305
+4.7,1.364291565254372e-006,0.0001486357084347456
+4.8,1.234462057353003e-006,0.000148765537942647
+4.9,1.116987460638651e-006,0.0001488830125393614
+5,1.01069204986282e-006,0.0001489893079501372
diff --git a/models/sbml-test-suite/cases/semantic/00928/00928-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00928/00928-sbml-l3v1.xml
new file mode 100644
index 0000000..4de396d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00928/00928-sbml-l3v1.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00928" id="case00928" name="case00928" timeUnits="second">
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="true" spatialDimensions="3" units="litre"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="mole" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="mole" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event useValuesFromTriggerTime="true">
+        <trigger initialValue="false" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 0 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML"
+                  xmlns:sbml="http://www.sbml.org/sbml/level3/version1/core">
+              <apply>
+                <divide/>
+                <cn sbml:units="mole"> 0.00015 </cn>
+                <ci> C </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00928/00928-settings.txt b/models/sbml-test-suite/cases/semantic/00928/00928-settings.txt
new file mode 100644
index 0000000..afe6b3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00928/00928-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00929/00929-results.csv b/models/sbml-test-suite/cases/semantic/00929/00929-results.csv
new file mode 100644
index 0000000..3abe477
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00929/00929-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0
+0.1,0.0001357256127053939,1.427438729460607e-005
+0.2,0.0001228096129616973,2.719038703830272e-005
+0.3,0.0001111227331022577,3.887726689774233e-005
+0.4,0.0001005480069053459,4.945199309465411e-005
+0.5,9.097959895689501e-005,5.902040104310499e-005
+0.6,8.232174541410396e-005,6.767825458589604e-005
+0.7,7.448779556871142e-005,7.551220443128858e-005
+0.8,6.739934461758323e-005,8.260065538241677e-005
+0.9,6.098544896108986e-005,8.901455103891014e-005
+1,5.518191617571635e-005,9.481808382428365e-005
+1.1,4.993066255471193e-005,0.0001000693374452881
+1.2,4.517913178683031e-005,0.0001048208682131697
+1.3,4.087976895510189e-005,0.0001091202310448981
+1.4,3.698954459124097e-005,0.000113010455408759
+1.5,3.346952402226447e-005,0.0001165304759777355
+1.6,3.028447769919831e-005,0.0001197155223008017
+1.7,2.740252860791019e-005,0.0001225974713920898
+1.8,2.479483323323798e-005,0.000125205166766762
+1.9,2.243529288339526e-005,0.0001275647071166047
+2,2.03002924854919e-005,0.0001296997075145081
+2.1,1.836846423794729e-005,0.0001316315357620527
+2.2,1.662047375435008e-005,0.0001333795262456499
+2.3,1.503882655842056e-005,0.0001349611734415794
+2.4,1.360769299341187e-005,0.0001363923070065881
+2.5,1.231274979358482e-005,0.0001376872502064152
+2.6,1.114103673215008e-005,0.0001388589632678499
+2.7,1.008082691096246e-005,0.0001399191730890375
+2.8,9.121509393782692e-006,0.0001408784906062173
+2.9,8.253483008461082e-006,0.0001417465169915389
+3,7.468060255179591e-006,0.0001425319397448204
+3.1,6.757380359033671e-006,0.0001432426196409663
+3.2,6.114330596754931e-006,0.0001438856694032451
+3.3,5.532475110186e-006,0.000144467524889814
+3.4,5.00599049404891e-006,0.0001449940095059511
+3.5,4.529607513347775e-006,0.0001454703924866522
+3.6,4.098558367093884e-006,0.0001459014416329061
+3.7,3.708528970550908e-006,0.0001462914710294491
+3.8,3.355615778424839e-006,0.0001466443842215752
+3.9,3.036286716870657e-006,0.0001469637132831294
+4,2.747345833310127e-006,0.0001472526541666899
+4.1,2.485901310264186e-006,0.0001475140986897358
+4.2,2.249336523071655e-006,0.0001477506634769283
+4.3,2.03528385183014e-006,0.0001479647161481699
+4.4,1.841600985460266e-006,0.0001481583990145397
+4.5,1.666349480736346e-006,0.0001483336505192637
+4.6,1.507775361695036e-006,0.000148492224638305
+4.7,1.364291565254372e-006,0.0001486357084347456
+4.8,1.234462057353003e-006,0.000148765537942647
+4.9,1.116987460638651e-006,0.0001488830125393614
+5,1.01069204986282e-006,0.0001489893079501372
diff --git a/models/sbml-test-suite/cases/semantic/00929/00929-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00929/00929-sbml-l3v1.xml
new file mode 100644
index 0000000..e30e7df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00929/00929-sbml-l3v1.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00929" id="case00929" name="case00929" timeUnits="second">
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="true" spatialDimensions="3" units="litre"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00015" substanceUnits="mole" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="mole" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 0 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML"
+                  xmlns:sbml="http://www.sbml.org/sbml/level3/version1/core">
+              <apply>
+                <divide/>
+                <cn sbml:units="mole"> 1 </cn>
+                <ci> C </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00929/00929-settings.txt b/models/sbml-test-suite/cases/semantic/00929/00929-settings.txt
new file mode 100644
index 0000000..afe6b3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00929/00929-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00930/00930-results.csv b/models/sbml-test-suite/cases/semantic/00930/00930-results.csv
new file mode 100644
index 0000000..d9ecb9b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00930/00930-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0,0,0
+0.04,0,0,0
+0.08,0,0,0
+0.12,0,0,0
+0.16,0,0,0
+0.2,0,0,0
+0.24,0,0,0
+0.28,0,0,0
+0.32,0,0,0
+0.36,0,0,0
+0.4,0,0,0
+0.44,0,0,0
+0.48,0,0,0
+0.52,0,0,0
+0.56,0,0,0
+0.6,0,0,0
+0.64,0,0,0
+0.68,0,0,0
+0.72,0,0,0
+0.76,0,0,0
+0.8,0,0,0
+0.84,0,0,0
+0.88,0,0,0
+0.92,0,0,0
+0.96,0,0,0
+1,1,2,3
+1.04,1,2,3
+1.08,1,2,3
+1.12,1,2,3
+1.16,1,2,3
+1.2,1,2,3
+1.24,1,2,3
+1.28,1,2,3
+1.32,1,2,3
+1.36,1,2,3
+1.4,1,2,3
+1.44,1,2,3
+1.48,1,2,3
+1.52,1,2,3
+1.56,1,2,3
+1.6,1,2,3
+1.64,1,2,3
+1.68,1,2,3
+1.72,1,2,3
+1.76,1,2,3
+1.8,1,2,3
+1.84,1,2,3
+1.88,1,2,3
+1.92,1,2,3
+1.96,1,2,3
+2,1,2,3
diff --git a/models/sbml-test-suite/cases/semantic/00930/00930-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00930/00930-sbml-l3v1.xml
new file mode 100644
index 0000000..7342f48
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00930/00930-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 22:25 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00930" name="case00930">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="C" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="C" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 4 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 6 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 0 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 3 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00930/00930-settings.txt b/models/sbml-test-suite/cases/semantic/00930/00930-settings.txt
new file mode 100644
index 0000000..176da7e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00930/00930-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00931/00931-results.csv b/models/sbml-test-suite/cases/semantic/00931/00931-results.csv
new file mode 100644
index 0000000..48b22f6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00931/00931-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0,0,0
+0.04,0,0,0
+0.08,0,0,0
+0.12,0,0,0
+0.16,0,0,0
+0.2,0,0,0
+0.24,0,0,0
+0.28,0,0,0
+0.32,0,0,0
+0.36,0,0,0
+0.4,0,0,0
+0.44,0,0,0
+0.48,0,0,0
+0.52,0,0,0
+0.56,0,0,0
+0.6,0,0,0
+0.64,0,0,0
+0.68,0,0,0
+0.72,0,0,0
+0.76,0,0,0
+0.8,0,0,0
+0.84,0,0,0
+0.88,0,0,0
+0.92,0,0,0
+0.96,0,0,0
+1,4,5,6
+1.04,4,5,6
+1.08,4,5,6
+1.12,4,5,6
+1.16,4,5,6
+1.2,4,5,6
+1.24,4,5,6
+1.28,4,5,6
+1.32,4,5,6
+1.36,4,5,6
+1.4,4,5,6
+1.44,4,5,6
+1.48,4,5,6
+1.52,4,5,6
+1.56,4,5,6
+1.6,4,5,6
+1.64,4,5,6
+1.68,4,5,6
+1.72,4,5,6
+1.76,4,5,6
+1.8,4,5,6
+1.84,4,5,6
+1.88,4,5,6
+1.92,4,5,6
+1.96,4,5,6
+2,4,5,6
diff --git a/models/sbml-test-suite/cases/semantic/00931/00931-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00931/00931-sbml-l3v1.xml
new file mode 100644
index 0000000..c631e55
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00931/00931-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 22:26 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00931" name="case00931">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="C" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="C" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> -1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 4 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 6 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 0 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 3 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00931/00931-settings.txt b/models/sbml-test-suite/cases/semantic/00931/00931-settings.txt
new file mode 100644
index 0000000..176da7e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00931/00931-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00932/00932-results.csv b/models/sbml-test-suite/cases/semantic/00932/00932-results.csv
new file mode 100644
index 0000000..a7e7cd0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00932/00932-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.00015,0.00015,0.00015
+0.1,0.000135726,0.000164274,0.00015
+0.2,0.00012281,0.00017719,0.00015
+0.3,0.000111123,0.000188877,0.00015
+0.4,0.000100548,0.000199452,0.00015
+0.5,9.10E-05,0.00020902,0.00015
+0.6,8.23E-05,0.000217678,0.00015
+0.7,7.45E-05,0.000225512,0.00015
+0.8,6.74E-05,0.000232601,0.00015
+0.9,6.10E-05,0.000239015,0.00015
+1,5.52E-05,0.000244818,0.00015
+1.1,4.99E-05,0.000250069,0.00015
+1.2,4.52E-05,0.000254821,0.00015
+1.3,4.09E-05,0.00025912,0.00015
+1.4,3.70E-05,0.00026301,0.00015
+1.5,3.35E-05,0.00026653,0.00015
+1.6,3.03E-05,0.000269716,0.00015
+1.7,2.74E-05,0.000272597,0.00015
+1.8,2.48E-05,0.000275205,0.00015
+1.9,2.24E-05,0.000277565,0.00015
+2,2.03E-05,0.0002797,0.00015
+2.1,1.84E-05,0.000281632,0.00015
+2.2,1.66E-05,0.00028338,0.00015
+2.3,1.50E-05,0.000284961,0.00015
+2.4,1.36E-05,0.000286392,0.00015
+2.5,1.23E-05,0.000287687,0.00015
+2.6,1.11E-05,0.000288859,0.00015
+2.7,1.01E-05,0.000289919,0.00015
+2.8,9.12E-06,0.000290878,0.00015
+2.9,8.25E-06,0.000291747,0.00015
+3,7.47E-06,0.000292532,0.00015
+3.1,6.76E-06,0.000293243,0.00015
+3.2,6.11E-06,0.000293886,0.00015
+3.3,5.53E-06,0.000294468,0.00015
+3.4,5.01E-06,0.000294994,0.00015
+3.5,4.53E-06,0.00029547,0.00015
+3.6,4.10E-06,0.000295901,0.00015
+3.7,3.71E-06,0.000296291,0.00015
+3.8,3.36E-06,0.000296644,0.00015
+3.9,3.04E-06,0.000296964,0.00015
+4,2.75E-06,0.000297253,0.00015
+4.1,2.49E-06,0.000297514,0.00015
+4.2,2.25E-06,0.000297751,0.00015
+4.3,2.04E-06,0.000297965,0.00015
+4.4,1.84E-06,0.000298158,0.00015
+4.5,1.67E-06,0.000298334,0.00015
+4.6,1.51E-06,0.000298492,0.00015
+4.7,1.36E-06,0.000298636,0.00015
+4.8,1.23E-06,0.000298766,0.00015
+4.9,1.12E-06,0.000298883,0.00015
+5,1.01E-06,0.000298989,0.00015
diff --git a/models/sbml-test-suite/cases/semantic/00932/00932-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00932/00932-sbml-l3v1.xml
new file mode 100644
index 0000000..1ab27a7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00932/00932-sbml-l3v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00932" id="case00932" name="case00932">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="0.00015" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="C" initialAmount="0.00015" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="C" initialAmount="0.00015" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event useValuesFromTriggerTime="true">
+        <trigger persistent="false" initialValue="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <leq/>
+                <ci> S1 </ci>
+                <cn> 0.00005 </cn>
+              </apply>
+              <apply>
+                <geq/>
+                <ci> S1 </ci>
+                <cn> 0.00004 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 3 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.00025 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00932/00932-settings.txt b/models/sbml-test-suite/cases/semantic/00932/00932-settings.txt
new file mode 100644
index 0000000..53db0cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00932/00932-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00933/00933-results.csv b/models/sbml-test-suite/cases/semantic/00933/00933-results.csv
new file mode 100644
index 0000000..9c1d03a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00933/00933-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.9048374180172196,0.09516258198278092
+0.2,0.8187307521474208,0.1812692478525797
+0.3,0.7408182201023446,0.2591817798976557
+0.4,0.6703200379848521,0.3296799620151481
+0.5,0.6065306542979904,0.3934693457020097
+0.6,0.5488116333710605,0.4511883666289398
+0.7,0.4965853030966702,0.50341469690333
+0.8,0.4493289640981568,0.5506710359018434
+0.9,0.406569635991948,0.5934303640080523
+1.,0.3678794381552668,0.6321205618447336
+1.1,0.3328710676851778,0.6671289323148227
+1.2,0.3011942038176673,0.6988057961823332
+1.3,0.272531784772877,0.7274682152271235
+1.4,0.2465969526910352,0.7534030473089654
+1.5,0.223130156396217,0.7768698436037837
+1.6,0.2018964999441263,0.7981035000558744
+1.7,0.1826835018163205,0.8173164981836803
+1.8,0.1652988755559843,0.8347011244440164
+1.9,0.1495686182600013,0.8504313817399995
+2.,0.1353352791104195,0.8646647208895813
+2.1,0.122456415768212,0.8775435842317889
+2.2,0.1108031452486894,0.8891968547513114
+2.3,0.1002588376427423,0.8997411623572586
+2.4,0.09071794885958585,0.9092820511404151
+2.5,0.08208499460648469,0.9179150053935164
+2.6,0.07427357440154631,0.9257264255984547
+2.7,0.06720550927175093,0.9327944907282501
+2.8,0.06081005947365539,0.9391899405263457
+2.9,0.05502321642261129,0.9449767835773897
+3.,0.0497870649291562,0.9502129350708449
+3.1,0.04504919931903034,0.9549508006809707
+3.2,0.04076220137573458,0.9592377986242665
+3.3,0.03688316532854148,0.9631168346714594
+3.4,0.9071795166219389,1.056032540763022
+3.5,0.8208499714349863,1.142362085949975
+3.6,0.7427357670094507,1.220476290375511
+3.7,0.6720551135221035,1.291156943862858
+3.8,0.6081006135577288,1.355111443827233
+3.9,0.5502321813961924,1.412979875988769
+4.,0.4978706647307489,1.465341392654213
+4.1,0.4504920070356809,1.512720050349281
+4.2,0.4076220261736848,1.555590031211277
+4.3,0.368831652498239,1.594380404886722
+4.4,0.333732693621585,1.629479363763377
+4.5,0.301973828709931,1.661238228675031
+4.6,0.2732372194727199,1.689974837912242
+4.7,0.2472352595949652,1.715976797789997
+4.8,0.2237077134481071,1.739504343936854
+4.9,0.2024191106585974,1.760792946726364
+5.,0.1831563856062985,1.780055671778663
diff --git a/models/sbml-test-suite/cases/semantic/00933/00933-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00933/00933-sbml-l2v4.xml
new file mode 100644
index 0000000..a4c2205
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00933/00933-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-03-18 13:23 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00933" id="case00933" name="case00933">
+    <listOfCompartments>
+      <compartment id="C" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1"/>
+      <species id="S2" compartment="C" initialAmount="0"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <lt/>
+                <ci> S1 </ci>
+                <cn> 0.1 </cn>
+              </apply>
+              <apply>
+                <lt/>
+                <ci> S2 </ci>
+                <cn> 0.95 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00933/00933-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00933/00933-sbml-l3v1.xml
new file mode 100644
index 0000000..625c175
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00933/00933-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case00933" id="case00933" name="case00933">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="C" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <lt/>
+                <ci> S1 </ci>
+                <cn> 0.1 </cn>
+              </apply>
+              <apply>
+                <lt/>
+                <ci> S2 </ci>
+                <cn> 0.95 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00933/00933-settings.txt b/models/sbml-test-suite/cases/semantic/00933/00933-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00933/00933-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00934/00934-results.csv b/models/sbml-test-suite/cases/semantic/00934/00934-results.csv
new file mode 100644
index 0000000..89c9b8b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00934/00934-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0,1
+0.04,0,1
+0.08,0,1
+0.12,0,1
+0.16,0,1
+0.2,0,1
+0.24,0,1
+0.28,0,1
+0.32,0,1
+0.36,0,1
+0.4,0,1
+0.44,0,1
+0.48,0,1
+0.52,0,1
+0.56,0,1
+0.6,0,1
+0.64,0,1
+0.68,0,1
+0.72,0,1
+0.76,0,1
+0.8,0,1
+0.84,0,1
+0.88,0,1
+0.92,0,1
+0.96,0,1
+1,2,1
+1.04,2,1
+1.08,2,1
+1.12,2,1
+1.16,2,1
+1.2,2,1
+1.24,2,1
+1.28,2,1
+1.32,2,1
+1.36,2,1
+1.4,2,1
+1.44,2,1
+1.48,2,1
+1.52,2,1
+1.56,2,1
+1.6,2,1
+1.64,2,1
+1.68,2,1
+1.72,2,1
+1.76,2,1
+1.8,2,1
+1.84,2,1
+1.88,2,1
+1.92,2,1
+1.96,2,1
+2,2,1
diff --git a/models/sbml-test-suite/cases/semantic/00934/00934-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00934/00934-sbml-l3v1.xml
new file mode 100644
index 0000000..201855f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00934/00934-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 22:27 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00934" name="case00934">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="C" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfEvents>
+      <event id="A" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="B" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <cn type="integer"> 2 </cn>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="C1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <cn type="integer"> 2 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 3 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00934/00934-settings.txt b/models/sbml-test-suite/cases/semantic/00934/00934-settings.txt
new file mode 100644
index 0000000..e74120b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00934/00934-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00935/00935-results.csv b/models/sbml-test-suite/cases/semantic/00935/00935-results.csv
new file mode 100644
index 0000000..6876041
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00935/00935-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0,1
+0.04,0,1
+0.08,0,1
+0.12,0,1
+0.16,0,1
+0.2,0,1
+0.24,0,1
+0.28,0,1
+0.32,0,1
+0.36,0,1
+0.4,0,1
+0.44,0,1
+0.48,0,1
+0.52,0,1
+0.56,0,1
+0.6,0,1
+0.64,0,1
+0.68,0,1
+0.72,0,1
+0.76,0,1
+0.8,0,1
+0.84,0,1
+0.88,0,1
+0.92,0,1
+0.96,0,1
+1,3,2
+1.04,3,2
+1.08,3,2
+1.12,3,2
+1.16,3,2
+1.2,3,2
+1.24,3,2
+1.28,3,2
+1.32,3,2
+1.36,3,2
+1.4,3,2
+1.44,3,2
+1.48,3,2
+1.52,3,2
+1.56,3,2
+1.6,3,2
+1.64,3,2
+1.68,3,2
+1.72,3,2
+1.76,3,2
+1.8,3,2
+1.84,3,2
+1.88,3,2
+1.92,3,2
+1.96,3,2
+2,3,2
diff --git a/models/sbml-test-suite/cases/semantic/00935/00935-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00935/00935-sbml-l3v1.xml
new file mode 100644
index 0000000..179e86d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00935/00935-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 22:28 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00935" name="case00935">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="C" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfEvents>
+      <event id="A" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn> 0.99 </cn>
+              </apply>
+              <apply>
+                <lt/>
+                <ci> S1 </ci>
+                <cn> 0.5 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="B" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn> 0.99 </cn>
+              </apply>
+              <apply>
+                <lt/>
+                <ci> S1 </ci>
+                <cn> 0.5 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 8 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="C1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn> 0.99 </cn>
+              </apply>
+              <apply>
+                <lt/>
+                <ci> S1 </ci>
+                <cn> 0.5 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 9 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 3 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00935/00935-settings.txt b/models/sbml-test-suite/cases/semantic/00935/00935-settings.txt
new file mode 100644
index 0000000..e74120b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00935/00935-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00936/00936-results.csv b/models/sbml-test-suite/cases/semantic/00936/00936-results.csv
new file mode 100644
index 0000000..31894d4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00936/00936-results.csv
@@ -0,0 +1,127 @@
+time,S1,S2
+0,0,0
+0.04,0.38941834,0
+0.08,0.71735609,0
+0.12,0.93203909,0
+0.16,0.9995736,0
+0.2,0.90929743,0
+0.24,0.67546318,0
+0.28,0.33498815,0
+0.32,-0.05837414,0
+0.36,-0.44252044,0
+0.4,-0.7568025,0
+0.44,-0.95160207,0
+0.48,-0.99616461,0
+0.52,-0.88345466,0
+0.56,-0.63126664,0
+0.6,-0.2794155,0
+0.64,0.1165492,0
+0.68,0.49411335,0
+0.72,0.79366786,0
+0.76,0.96791967,0
+0.8,0.98935825,0
+0.84,0.85459891,0
+0.88,0.58491719,0
+0.92,0.22288991,0
+0.96,-0.17432678,0
+1,-0.54402111,0
+1.04,-0.82782647,0
+1.08,-0.98093623,0
+1.12,-0.97917773,0
+1.16,-0.82282859,0
+1.2,-0.53657292,0
+1.24,-0.16560418,0
+1.28,0.23150983,0
+1.32,0.59207351,0
+1.36,0.85916181,0
+1.4,0.99060736,0
+1.44,0.96565778,0
+1.48,0.78825207,0
+1.52,0.48639869,0
+1.56,0.10775365,0
+1.6,-0.28790332,0
+1.64,-0.63810668,0
+1.68,-0.88756703,0
+1.72,-0.99690007,0
+1.76,-0.9488445,0
+1.8,-0.75098725,0
+1.84,-0.43456562,0
+1.88,-0.04953564,0
+1.92,0.34331493,0
+1.96,0.68196362,0
+2,0.912945251,0
+2.04,1,0
+2.08,1,0
+2.12,1,0
+2.16,1,0
+2.2,1,0
+2.24,1,0
+2.28,1,0
+2.32,1,1
+2.36,1,1
+2.4,1,1
+2.44,1,1
+2.48,1,1
+2.52,1,1
+2.56,1,1
+2.6,1,1
+2.64,1,1
+2.68,1,1
+2.72,1,1
+2.76,1,1
+2.8,1,1
+2.84,1,1
+2.88,1,1
+2.92,1,1
+2.96,1,2
+3,1,2
+3.04,1,2
+3.08,1,2
+3.12,1,2
+3.16,1,2
+3.2,1,2
+3.24,1,2
+3.28,1,2
+3.32,1,2
+3.36,1,2
+3.4,1,2
+3.44,1,2
+3.48,1,2
+3.52,1,2
+3.56,1,2
+3.6,1,3
+3.64,1,3
+3.68,1,3
+3.72,1,3
+3.76,1,3
+3.8,1,3
+3.84,1,3
+3.88,1,3
+3.92,1,3
+3.96,1,3
+4,1,3
+4.04,1,3
+4.08,1,3
+4.12,1,3
+4.16,1,3
+4.2,1,3
+4.24,1,3
+4.28,1,3
+4.32,1,3
+4.36,1,3
+4.4,1,3
+4.44,1,3
+4.48,1,3
+4.52,1,3
+4.56,1,3
+4.6,1,3
+4.64,1,3
+4.68,1,3
+4.72,1,3
+4.76,1,3
+4.8,1,3
+4.84,1,3
+4.88,1,3
+4.92,1,3
+4.96,1,3
+5,1,3
diff --git a/models/sbml-test-suite/cases/semantic/00936/00936-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00936/00936-sbml-l2v4.xml
new file mode 100644
index 0000000..1d142d0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00936/00936-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00936" name="case00936">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" boundaryCondition="true"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="0"/>
+    </listOfSpecies>
+    <listOfRules>
+      <assignmentRule variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <apply>
+                <sin/>
+                <apply>
+                  <times/>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                  <cn type="integer"> 10 </cn>
+                </apply>
+              </apply>
+              <apply>
+                <leq/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 1 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="false">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn type="integer"> 0 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00936/00936-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00936/00936-sbml-l3v1.xml
new file mode 100644
index 0000000..0dac9de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00936/00936-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 22:29 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00936" name="case00936">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfRules>
+      <assignmentRule variable="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <apply>
+                <sin/>
+                <apply>
+                  <times/>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                  <cn type="integer"> 10 </cn>
+                </apply>
+              </apply>
+              <apply>
+                <leq/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 1 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="false">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn type="integer"> 0 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> S2 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00936/00936-settings.txt b/models/sbml-test-suite/cases/semantic/00936/00936-settings.txt
new file mode 100644
index 0000000..781be58
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00936/00936-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 5
+steps: 125
+variables: S1, S2
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration: S1, S2
+
diff --git a/models/sbml-test-suite/cases/semantic/00937/00937-results.csv b/models/sbml-test-suite/cases/semantic/00937/00937-results.csv
new file mode 100644
index 0000000..f65fd19
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00937/00937-results.csv
@@ -0,0 +1,42 @@
+time,x,y
+0,0.000000,1.090703
+0.05,0.479426,1.002505
+0.1,0.841471,1.158529
+0.15,0.997495,1.520574
+0.2,0.909297,2.000000
+0.25,0.598472,2.479426
+0.3,0.141120,2.841471
+0.35,-0.350783,2.997495
+0.4,-0.756802,2.909297
+0.45,-0.977530,2.598472
+0.5,-0.958924,2.141120
+0.55,-0.705540,1.649217
+0.6,-0.279415,1.243198
+0.65,0.215120,1.022470
+0.7,0.656987,1.041076
+0.75,0.938000,1.294460
+0.8,0.989358,1.720585
+0.85,0.798487,2.215120
+0.9,0.412118,2.656987
+0.95,-0.075151,2.938000
+1,-0.544021,2.989358
+1.05,-0.879696,2.798487
+1.1,-0.999990,2.412118
+1.15,-0.875452,1.924849
+1.2,-0.536573,1.455979
+1.25,-0.066322,1.120304
+1.3,0.420167,1.000010
+1.35,0.803784,1.124548
+1.4,0.990607,1.463427
+1.45,0.934895,1.933678
+1.5,0.650288,2.420167
+1.55,0.206467,2.803784
+1.6,-0.287903,2.990607
+1.65,-0.711785,2.934895
+1.7,-0.961397,2.650288
+1.75,-0.975626,2.206467
+1.8,-0.750987,1.712097
+1.85,-0.342481,1.288215
+1.9,0.149877,1.038603
+1.95,0.605540,1.024374
+2,0.912945,1.249013
diff --git a/models/sbml-test-suite/cases/semantic/00937/00937-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00937/00937-sbml-l2v4.xml
new file mode 100644
index 0000000..ae8fc75
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00937/00937-sbml-l2v4.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00937" name="case00937">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfParameters>
+      <parameter id="x" constant="false"/>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <apply>
+              <times/>
+              <cn type="integer"> 10 </cn>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.2 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00937/00937-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00937/00937-sbml-l3v1.xml
new file mode 100644
index 0000000..86a861f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00937/00937-sbml-l3v1.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00937" name="case00937" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfParameters>
+      <parameter id="x" constant="false"/>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <apply>
+              <times/>
+              <cn type="integer"> 10 </cn>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.2 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00937/00937-settings.txt b/models/sbml-test-suite/cases/semantic/00937/00937-settings.txt
new file mode 100644
index 0000000..7c8abf4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00937/00937-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 2
+steps: 40
+variables: x, y
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00938/00938-results.csv b/models/sbml-test-suite/cases/semantic/00938/00938-results.csv
new file mode 100644
index 0000000..836eee6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00938/00938-results.csv
@@ -0,0 +1,42 @@
+time,x,y
+0,0,1.090703
+0.05,0.05,1.002505
+0.1,0.1,1.158529
+0.15,0.15,1.520574
+0.2,0.2,2
+0.25,0.25,2.05
+0.3,0.3,2.1
+0.35,0.35,2.15
+0.4,0.4,2.2
+0.45,0.45,2.25
+0.5,0.5,2.3
+0.55,0.55,2.35
+0.6,0.6,2.4
+0.65,0.65,2.45
+0.7,0.7,2.5
+0.75,0.75,2.55
+0.8,0.8,2.6
+0.85,0.85,2.65
+0.9,0.9,2.7
+0.95,0.95,2.75
+1,1,2.8
+1.05,1.05,2.85
+1.1,1.1,2.9
+1.15,1.15,2.95
+1.2,1.2,3
+1.25,1.25,3.05
+1.3,1.3,3.1
+1.35,1.35,3.15
+1.4,1.4,3.2
+1.45,1.45,3.25
+1.5,1.5,3.3
+1.55,1.55,3.35
+1.6,1.6,3.4
+1.65,1.65,3.45
+1.7,1.7,3.5
+1.75,1.75,3.55
+1.8,1.8,3.6
+1.85,1.85,3.65
+1.9,1.9,3.7
+1.95,1.95,3.75
+2,2,3.8
diff --git a/models/sbml-test-suite/cases/semantic/00938/00938-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00938/00938-sbml-l2v4.xml
new file mode 100644
index 0000000..c45b483
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00938/00938-sbml-l2v4.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00938" name="case00938">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfCompartments>
+      <compartment id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="x" compartment="default_compartment"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 1 </cn>
+            <apply>
+              <sin/>
+              <apply>
+                <times/>
+                <cn type="integer"> 10 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.2 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="_J0" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="x"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00938/00938-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00938/00938-sbml-l3v1.xml
new file mode 100644
index 0000000..0bb982a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00938/00938-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00938" name="case00938">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfCompartments>
+      <compartment id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="x" compartment="default_compartment" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 1 </cn>
+            <apply>
+              <sin/>
+              <apply>
+                <times/>
+                <cn type="integer"> 10 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.2 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="_J0" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="x" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00938/00938-settings.txt b/models/sbml-test-suite/cases/semantic/00938/00938-settings.txt
new file mode 100644
index 0000000..4927286
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00938/00938-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 40
+variables: x, y
+absolute: 0.0001
+relative: 0.0001
+amount: x
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00939/00939-results.csv b/models/sbml-test-suite/cases/semantic/00939/00939-results.csv
new file mode 100644
index 0000000..7f96152
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00939/00939-results.csv
@@ -0,0 +1,42 @@
+time,x,y
+0,3,5
+0.05,3.05,5
+0.1,3.1,5
+0.15,3.15,5
+0.2,3.2,5
+0.25,3.25,5.05
+0.3,3.3,5.1
+0.35,3.35,5.15
+0.4,3.4,5.2
+0.45,3.45,5.25
+0.5,3.5,5.3
+0.55,3.55,5.35
+0.6,3.6,5.4
+0.65,3.65,5.45
+0.7,3.7,5.5
+0.75,3.75,5.55
+0.8,3.8,5.6
+0.85,3.85,5.65
+0.9,3.9,5.7
+0.95,3.95,5.75
+1,4,5.8
+1.05,4.05,5.85
+1.1,4.1,5.9
+1.15,4.15,5.95
+1.2,4.2,6
+1.25,4.25,6.05
+1.3,4.3,6.1
+1.35,4.35,6.15
+1.4,4.4,6.2
+1.45,4.45,6.25
+1.5,4.5,6.3
+1.55,4.55,6.35
+1.6,4.6,6.4
+1.65,4.65,6.45
+1.7,4.7,6.5
+1.75,4.75,6.55
+1.8,4.8,6.6
+1.85,4.85,6.65
+1.9,4.9,6.7
+1.95,4.95,6.75
+2,5,6.8
diff --git a/models/sbml-test-suite/cases/semantic/00939/00939-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00939/00939-sbml-l2v4.xml
new file mode 100644
index 0000000..d3cbe8d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00939/00939-sbml-l2v4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00939">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="default_compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="x" compartment="default_compartment" initialAmount="3" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.2 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="_J0" fast="false">
+        <listOfProducts>
+          <speciesReference species="x"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00939/00939-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00939/00939-sbml-l3v1.xml
new file mode 100644
index 0000000..6bde74e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00939/00939-sbml-l3v1.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00939" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="default_compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="x" compartment="default_compartment" initialAmount="3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.2 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="x" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00939/00939-settings.txt b/models/sbml-test-suite/cases/semantic/00939/00939-settings.txt
new file mode 100644
index 0000000..068d954
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00939/00939-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 2
+steps: 40
+variables: x, y
+absolute: 0.0001
+relative: 0.0001
+amount: x
+concentration: 
+
diff --git a/models/sbml-test-suite/cases/semantic/00940/00940-results.csv b/models/sbml-test-suite/cases/semantic/00940/00940-results.csv
new file mode 100644
index 0000000..ff03389
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00940/00940-results.csv
@@ -0,0 +1,52 @@
+time,x,y
+0,0,2.958924275
+0.02,0,2.996164609
+0.04,0,2.993691004
+0.06,0,2.951602074
+0.08,0,2.871575772
+0.1,0,2.756802495
+0.12,0,2.611857891
+0.14,0,2.442520443
+0.16,0,2.255541102
+0.18,0,2.058374143
+0.2,0,1.858879992
+0.22,0,1.66501185
+0.24,0,1.484498628
+0.26,0,1.324536819
+0.28,0,1.191503596
+0.3,0,1.090702573
+0.32,0,1.026152369
+0.34,0,1.000426397
+0.36,0,1.01455027
+0.38,0,1.067960914
+0.4,0,1.158529015
+0.42,0,1.282643909
+0.44,0,1.435357527
+0.46,0,1.610581658
+0.48,0,1.801330669
+0.5,0,2
+0.52,0,2
+0.54,0,2
+0.56,0,2
+0.58,0,2
+0.6,0,2
+0.62,0,2
+0.64,0,2
+0.66,0,2
+0.68,0,2
+0.7,0,2
+0.72,0,2
+0.74,0,2
+0.76,0,2
+0.78,0,2
+0.8,0,2
+0.82,0,2
+0.84,0,2
+0.86,0,2
+0.88,0,2
+0.9,0,2
+0.92,0,2
+0.94,0,2
+0.96,0,2
+0.98,0,2
+1,0,2
diff --git a/models/sbml-test-suite/cases/semantic/00940/00940-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00940/00940-sbml-l2v4.xml
new file mode 100644
index 0000000..630b627
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00940/00940-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00940" name="case00940">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="default_compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="x" compartment="default_compartment" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 1 </cn>
+            <apply>
+              <sin/>
+              <apply>
+                <times/>
+                <cn type="integer"> 10 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00940/00940-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00940/00940-sbml-l3v1.xml
new file mode 100644
index 0000000..d9d08ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00940/00940-sbml-l3v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00940" name="case00940" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="default_compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="x" compartment="default_compartment" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 1 </cn>
+            <apply>
+              <sin/>
+              <apply>
+                <times/>
+                <cn type="integer"> 10 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00940/00940-settings.txt b/models/sbml-test-suite/cases/semantic/00940/00940-settings.txt
new file mode 100644
index 0000000..8264db9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00940/00940-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 50
+variables: x, y
+absolute: 0.0001
+relative: 0.0001
+amount: x
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00941/00941-results.csv b/models/sbml-test-suite/cases/semantic/00941/00941-results.csv
new file mode 100644
index 0000000..ff03389
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00941/00941-results.csv
@@ -0,0 +1,52 @@
+time,x,y
+0,0,2.958924275
+0.02,0,2.996164609
+0.04,0,2.993691004
+0.06,0,2.951602074
+0.08,0,2.871575772
+0.1,0,2.756802495
+0.12,0,2.611857891
+0.14,0,2.442520443
+0.16,0,2.255541102
+0.18,0,2.058374143
+0.2,0,1.858879992
+0.22,0,1.66501185
+0.24,0,1.484498628
+0.26,0,1.324536819
+0.28,0,1.191503596
+0.3,0,1.090702573
+0.32,0,1.026152369
+0.34,0,1.000426397
+0.36,0,1.01455027
+0.38,0,1.067960914
+0.4,0,1.158529015
+0.42,0,1.282643909
+0.44,0,1.435357527
+0.46,0,1.610581658
+0.48,0,1.801330669
+0.5,0,2
+0.52,0,2
+0.54,0,2
+0.56,0,2
+0.58,0,2
+0.6,0,2
+0.62,0,2
+0.64,0,2
+0.66,0,2
+0.68,0,2
+0.7,0,2
+0.72,0,2
+0.74,0,2
+0.76,0,2
+0.78,0,2
+0.8,0,2
+0.82,0,2
+0.84,0,2
+0.86,0,2
+0.88,0,2
+0.9,0,2
+0.92,0,2
+0.94,0,2
+0.96,0,2
+0.98,0,2
+1,0,2
diff --git a/models/sbml-test-suite/cases/semantic/00941/00941-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00941/00941-sbml-l2v4.xml
new file mode 100644
index 0000000..43699fc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00941/00941-sbml-l2v4.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00941" name="case00941">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfParameters>
+      <parameter id="y" value="2.958924275" constant="false"/>
+      <parameter id="x" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <apply>
+              <times/>
+              <cn type="integer"> 10 </cn>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00941/00941-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00941/00941-sbml-l3v1.xml
new file mode 100644
index 0000000..dbf9d5e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00941/00941-sbml-l3v1.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00941" name="case00941">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfParameters>
+      <parameter id="y" value="2.958924275" constant="false"/>
+      <parameter id="x" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <apply>
+              <times/>
+              <cn type="integer"> 10 </cn>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00941/00941-settings.txt b/models/sbml-test-suite/cases/semantic/00941/00941-settings.txt
new file mode 100644
index 0000000..27e0032
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00941/00941-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 50
+variables: x, y
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00942/00942-results.csv b/models/sbml-test-suite/cases/semantic/00942/00942-results.csv
new file mode 100644
index 0000000..ff03389
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00942/00942-results.csv
@@ -0,0 +1,52 @@
+time,x,y
+0,0,2.958924275
+0.02,0,2.996164609
+0.04,0,2.993691004
+0.06,0,2.951602074
+0.08,0,2.871575772
+0.1,0,2.756802495
+0.12,0,2.611857891
+0.14,0,2.442520443
+0.16,0,2.255541102
+0.18,0,2.058374143
+0.2,0,1.858879992
+0.22,0,1.66501185
+0.24,0,1.484498628
+0.26,0,1.324536819
+0.28,0,1.191503596
+0.3,0,1.090702573
+0.32,0,1.026152369
+0.34,0,1.000426397
+0.36,0,1.01455027
+0.38,0,1.067960914
+0.4,0,1.158529015
+0.42,0,1.282643909
+0.44,0,1.435357527
+0.46,0,1.610581658
+0.48,0,1.801330669
+0.5,0,2
+0.52,0,2
+0.54,0,2
+0.56,0,2
+0.58,0,2
+0.6,0,2
+0.62,0,2
+0.64,0,2
+0.66,0,2
+0.68,0,2
+0.7,0,2
+0.72,0,2
+0.74,0,2
+0.76,0,2
+0.78,0,2
+0.8,0,2
+0.82,0,2
+0.84,0,2
+0.86,0,2
+0.88,0,2
+0.9,0,2
+0.92,0,2
+0.94,0,2
+0.96,0,2
+0.98,0,2
+1,0,2
diff --git a/models/sbml-test-suite/cases/semantic/00942/00942-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00942/00942-sbml-l2v4.xml
new file mode 100644
index 0000000..95e8c06
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00942/00942-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00942" name="case00942">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="default_compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="x" compartment="default_compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="y" value="2.958924275" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 1 </cn>
+            <apply>
+              <sin/>
+              <apply>
+                <times/>
+                <cn type="integer"> 10 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00942/00942-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00942/00942-sbml-l3v1.xml
new file mode 100644
index 0000000..88d929a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00942/00942-sbml-l3v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00942" name="case00942" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="default_compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="x" compartment="default_compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="y" value="2.958924275" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 1 </cn>
+            <apply>
+              <sin/>
+              <apply>
+                <times/>
+                <cn type="integer"> 10 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00942/00942-settings.txt b/models/sbml-test-suite/cases/semantic/00942/00942-settings.txt
new file mode 100644
index 0000000..8264db9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00942/00942-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 50
+variables: x, y
+absolute: 0.0001
+relative: 0.0001
+amount: x
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00943/00943-results.csv b/models/sbml-test-suite/cases/semantic/00943/00943-results.csv
new file mode 100644
index 0000000..ff03389
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00943/00943-results.csv
@@ -0,0 +1,52 @@
+time,x,y
+0,0,2.958924275
+0.02,0,2.996164609
+0.04,0,2.993691004
+0.06,0,2.951602074
+0.08,0,2.871575772
+0.1,0,2.756802495
+0.12,0,2.611857891
+0.14,0,2.442520443
+0.16,0,2.255541102
+0.18,0,2.058374143
+0.2,0,1.858879992
+0.22,0,1.66501185
+0.24,0,1.484498628
+0.26,0,1.324536819
+0.28,0,1.191503596
+0.3,0,1.090702573
+0.32,0,1.026152369
+0.34,0,1.000426397
+0.36,0,1.01455027
+0.38,0,1.067960914
+0.4,0,1.158529015
+0.42,0,1.282643909
+0.44,0,1.435357527
+0.46,0,1.610581658
+0.48,0,1.801330669
+0.5,0,2
+0.52,0,2
+0.54,0,2
+0.56,0,2
+0.58,0,2
+0.6,0,2
+0.62,0,2
+0.64,0,2
+0.66,0,2
+0.68,0,2
+0.7,0,2
+0.72,0,2
+0.74,0,2
+0.76,0,2
+0.78,0,2
+0.8,0,2
+0.82,0,2
+0.84,0,2
+0.86,0,2
+0.88,0,2
+0.9,0,2
+0.92,0,2
+0.94,0,2
+0.96,0,2
+0.98,0,2
+1,0,2
diff --git a/models/sbml-test-suite/cases/semantic/00943/00943-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00943/00943-sbml-l2v4.xml
new file mode 100644
index 0000000..0d0738c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00943/00943-sbml-l2v4.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00941" name="case00943">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="y" value="2.958924275" constant="false"/>
+      <parameter id="x" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <apply>
+              <times/>
+              <cn type="integer"> 10 </cn>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00943/00943-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00943/00943-sbml-l3v1.xml
new file mode 100644
index 0000000..1153b19
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00943/00943-sbml-l3v1.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00941" name="case00943" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony 1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="y" value="2.958924275" constant="false"/>
+      <parameter id="x" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <apply>
+              <times/>
+              <cn type="integer"> 10 </cn>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> x </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00943/00943-settings.txt b/models/sbml-test-suite/cases/semantic/00943/00943-settings.txt
new file mode 100644
index 0000000..27e0032
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00943/00943-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 50
+variables: x, y
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/00944/00944-results.csv b/models/sbml-test-suite/cases/semantic/00944/00944-results.csv
new file mode 100644
index 0000000..79faad7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00944/00944-results.csv
@@ -0,0 +1,302 @@
+time,S1,k1
+0,1,1
+0.01,1.009950496,1
+0.02,1.019803904,1
+0.03,1.029563016,1
+0.04,1.039230487,1
+0.05,1.04880885,1
+0.06,1.058300527,1
+0.07,1.06770783,1
+0.08,1.077032966,1
+0.09,1.086278053,1
+0.1,1.095445119,1
+0.11,1.104536106,1
+0.12,1.113552877,1
+0.13,1.122497221,1
+0.14,1.131370855,1
+0.15,1.140175431,1
+0.16,1.148912538,1
+0.17,1.157583698,1
+0.18,1.166190387,1
+0.19,1.174734023,1
+0.2,1.183215966,1
+0.21,1.191637538,1
+0.22,1.200000012,1
+0.23,1.208304609,1
+0.24,1.216552517,1
+0.25,1.224744885,1
+0.26,1.232882814,1
+0.27,1.240967378,1
+0.28,1.248999613,1
+0.29,1.256980522,1
+0.3,1.26491108,1
+0.31,1.272792222,1
+0.32,1.280624862,1
+0.33,1.288409887,1
+0.34,1.296148155,1
+0.35,1.303840496,1
+0.36,1.31148772,1
+0.37,1.319090613,1
+0.38,1.326649934,1
+0.39,1.334166424,1
+0.4,1.341640803,1
+0.41,1.349073773,1
+0.42,1.356466014,1
+0.43,1.363818189,1
+0.44,1.37113094,1
+0.45,1.378404895,1
+0.46,1.385640665,1
+0.47,1.392838847,1
+0.48,1.400000019,1
+0.49,1.407124749,1
+0.5,1.414213585,1
+0.51,1.421267062,1
+0.52,1.428285707,1
+0.53,1.43527003,1
+0.54,1.442220531,1
+0.55,1.449137696,1
+0.56,1.456021999,1
+0.57,1.462873905,1
+0.58,1.469693867,1
+0.59,1.476482329,1
+0.6,1.483239722,1
+0.61,1.489966467,1
+0.62,1.496662978,1
+0.63,1.503329661,1
+0.64,1.50996691,1
+0.65,1.516575112,1
+0.66,1.523154645,1
+0.67,1.529705878,1
+0.68,1.536229173,1
+0.69,1.542724886,1
+0.7,1.549193362,1
+0.71,1.555634942,1
+0.72,1.56204996,1
+0.73,1.568438741,1
+0.74,1.574801602,1
+0.75,1.581138856,1
+0.76,1.587450812,1
+0.77,1.593737771,1
+0.78,1.600000026,1
+0.79,1.606237866,1
+0.8,1.612451575,1
+0.81,1.618641432,1
+0.82,1.624807707,1
+0.83,1.630950669,1
+0.84,1.63707058,1
+0.85,1.643167699,1
+0.86,1.64924228,1
+0.87,1.655294565,1
+0.88,1.661324801,1
+0.89,1.667333228,1
+0.9,1.673320081,1
+0.91,1.67928559,1
+0.92,1.685229983,1
+0.93,1.691153481,1
+0.94,1.697056303,1
+0.95,1.702938665,1
+0.96,1.708800777,1
+0.97,1.714642849,1
+0.98,1.720465085,1
+0.99,1.726267682,1
+1,1.732050839,1
+1.01,1.737814751,1
+1.02,1.743559608,1
+1.03,1.749285599,1
+1.04,1.754992908,1
+1.05,1.760681717,1
+1.06,1.766352204,1
+1.07,1.772004545,1
+1.08,1.777638914,1
+1.09,1.783255481,1
+1.1,1.788854413,1
+1.11,1.794435875,1
+1.12,1.800000031,1
+1.13,1.805547039,1
+1.14,1.811077058,1
+1.15,1.816590243,1
+1.16,1.822086747,1
+1.17,1.827566719,1
+1.18,1.833030312,1
+1.19,1.838477666,1
+1.2,1.843908926,1
+1.21,1.849324235,1
+1.22,1.854723733,1
+1.23,1.860107557,1
+1.24,1.865475844,1
+1.25,1.870828726,1
+1.26,1.876166337,1
+1.27,1.881488805,1
+1.28,1.88679626,1
+1.29,1.892088826,1
+1.3,1.89736663,1
+1.31,1.902629793,1
+1.32,1.907878436,1
+1.33,1.91311268,1
+1.34,1.918332643,1
+1.35,1.92353844,1
+1.36,1.928730186,1
+1.37,1.933907994,1
+1.38,1.939071976,1
+1.39,1.944222243,1
+1.4,1.949358903,1
+1.41,1.954482063,1
+1.42,1.959591828,1
+1.43,1.964688307,1
+1.44,1.969771599,1
+1.45,1.974841804,1
+1.46,1.979899025,1
+1.47,1.984943361,1
+1.48,1.989974911,1
+1.49,1.994993771,1
+1.5,2.000000036,1
+1.51,2.004993802,1
+1.52,2.009975161,1
+1.53,2.014944204,1
+1.54,2.019901024,1
+1.55,2.02484571,1
+1.56,2.02977835,1
+1.57,2.034699032,1
+1.58,2.039607842,1
+1.59,2.044504867,1
+1.6,2.04939019,1
+1.61,2.054263895,1
+1.62,2.059126065,1
+1.63,2.063976781,1
+1.64,2.068816123,1
+1.65,2.073644172,1
+1.66,2.078461006,1
+1.67,2.083266702,1
+1.68,2.088061338,1
+1.69,2.092844992,1
+1.7,2.097617737,1
+1.71,2.123676472,10
+1.72,2.170253846,10
+1.73,2.215852378,10
+1.74,2.260531303,10
+1.75,2.304344113,10
+1.76,2.347339299,10
+1.77,2.389561003,10
+1.78,2.431049522,10
+1.79,2.471841774,10
+1.8,2.511971681,10
+1.81,2.551470499,10
+1.82,2.590367098,10
+1.83,2.628688208,10
+1.84,2.666458641,10
+1.85,2.703701477,10
+1.86,2.740438227,10
+1.87,2.776688976,10
+1.88,2.812472518,10
+1.89,2.847806465,10
+1.9,2.882707349,10
+1.91,2.917190713,10
+1.92,2.951271193,10
+1.93,2.984962595,10
+1.94,3.018277933,10
+1.95,3.051229537,10
+1.96,3.083829064,10
+1.97,3.116087562,10
+1.98,3.148015518,10
+1.99,3.179622889,10
+2,3.210919143,10
+2.01,3.241913286,10
+2.02,3.272613902,10
+2.03,3.303029178,10
+2.04,3.333166925,10
+2.05,3.363034604,10
+2.06,3.392639348,10
+2.07,3.42198798,10
+2.08,3.451087033,10
+2.09,3.47994277,10
+2.1,3.508561193,10
+2.11,3.536948066,10
+2.12,3.565108919,10
+2.13,3.593049066,10
+2.14,3.620773617,10
+2.15,3.648287486,10
+2.16,3.675595404,10
+2.17,3.702701928,10
+2.18,3.729611448,10
+2.19,3.7563282,10
+2.2,3.782856268,10
+2.21,3.809199593,10
+2.22,3.835361982,10
+2.23,3.861347113,10
+2.24,3.887158541,10
+2.25,3.912799703,10
+2.26,3.938273926,10
+2.27,3.963584427,10
+2.28,3.988734324,10
+2.29,4.013726635,10
+2.3,4.038564287,10
+2.31,4.063250115,10
+2.32,4.08778687,10
+2.33,4.11217722,10
+2.34,4.136423756,10
+2.35,4.160528991,10
+2.36,4.184495368,10
+2.37,4.208325259,10
+2.38,4.232020969,10
+2.39,4.25558474,10
+2.4,4.279018752,10
+2.41,4.302325124,10
+2.42,4.325505921,10
+2.43,4.34856315,10
+2.44,4.371498767,10
+2.45,4.394314676,10
+2.46,4.417012731,10
+2.47,4.439594741,10
+2.48,4.462062468,10
+2.49,4.484417628,10
+2.5,4.506661898,10
+2.51,4.528796911,10
+2.52,4.550824262,10
+2.53,4.572745506,10
+2.54,4.594562162,10
+2.55,4.616275713,10
+2.56,4.637887607,10
+2.57,4.659399259,10
+2.58,4.680812049,10
+2.59,4.702127331,10
+2.6,4.723346422,10
+2.61,4.744470615,10
+2.62,4.765501171,10
+2.63,4.786439324,10
+2.64,4.807286282,10
+2.65,4.828043227,10
+2.66,4.848711313,10
+2.67,4.869291672,10
+2.68,4.889785413,10
+2.69,4.91019362,10
+2.7,4.930517354,10
+2.71,4.950757657,10
+2.72,4.970915547,10
+2.73,4.990992023,10
+2.74,5.010988063,10
+2.75,5.030904627,10
+2.76,5.050742655,10
+2.77,5.070503068,10
+2.78,5.090186771,10
+2.79,5.109794649,10
+2.8,5.129327573,10
+2.81,5.148786396,10
+2.82,5.168171954,10
+2.83,5.18748507,10
+2.84,5.206726548,10
+2.85,5.225897181,10
+2.86,5.244997745,10
+2.87,5.264029003,10
+2.88,5.282991704,10
+2.89,5.301886583,10
+2.9,5.320714363,10
+2.91,5.339475755,10
+2.92,5.358171454,10
+2.93,5.376802147,10
+2.94,5.395368508,10
+2.95,5.413871196,10
+2.96,5.432310865,10
+2.97,5.450688152,10
+2.98,5.469003687,10
+2.99,5.487258088,10
+3,5.505451964,10
diff --git a/models/sbml-test-suite/cases/semantic/00944/00944-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00944/00944-sbml-l2v4.xml
new file mode 100644
index 0000000..ecf0072
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00944/00944-sbml-l2v4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00944" name="case00944">
+    <listOfCompartments>
+      <compartment id="C" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="false"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <ci> k1 </ci>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn> 2.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="k1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00944/00944-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00944/00944-sbml-l3v1.xml
new file mode 100644
index 0000000..6656b4e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00944/00944-sbml-l3v1.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-10 00:33 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00944" name="case00944">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="false"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <ci> k1 </ci>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn> 2.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="k1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00944/00944-settings.txt b/models/sbml-test-suite/cases/semantic/00944/00944-settings.txt
new file mode 100644
index 0000000..ec5639f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00944/00944-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 300
+variables: S1, k1
+absolute: 0.0001
+relative: 0.0001
+amount: S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00945/00945-results.csv b/models/sbml-test-suite/cases/semantic/00945/00945-results.csv
new file mode 100644
index 0000000..0c3e634
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00945/00945-results.csv
@@ -0,0 +1,302 @@
+time,S1,C
+0,1,1
+0.01,1.009950496,1
+0.02,1.019803904,1
+0.03,1.029563016,1
+0.04,1.039230487,1
+0.05,1.04880885,1
+0.06,1.058300527,1
+0.07,1.06770783,1
+0.08,1.077032966,1
+0.09,1.086278053,1
+0.1,1.095445119,1
+0.11,1.104536106,1
+0.12,1.113552877,1
+0.13,1.122497221,1
+0.14,1.131370855,1
+0.15,1.140175431,1
+0.16,1.148912538,1
+0.17,1.157583698,1
+0.18,1.166190387,1
+0.19,1.174734023,1
+0.2,1.183215966,1
+0.21,1.191637538,1
+0.22,1.200000012,1
+0.23,1.208304609,1
+0.24,1.216552517,1
+0.25,1.224744885,1
+0.26,1.232882814,1
+0.27,1.240967378,1
+0.28,1.248999613,1
+0.29,1.256980522,1
+0.3,1.26491108,1
+0.31,1.272792222,1
+0.32,1.280624862,1
+0.33,1.288409887,1
+0.34,1.296148155,1
+0.35,1.303840496,1
+0.36,1.31148772,1
+0.37,1.319090613,1
+0.38,1.326649934,1
+0.39,1.334166424,1
+0.4,1.341640803,1
+0.41,1.349073773,1
+0.42,1.356466014,1
+0.43,1.363818189,1
+0.44,1.37113094,1
+0.45,1.378404895,1
+0.46,1.385640665,1
+0.47,1.392838847,1
+0.48,1.400000019,1
+0.49,1.407124749,1
+0.5,1.414213585,1
+0.51,1.421267062,1
+0.52,1.428285707,1
+0.53,1.43527003,1
+0.54,1.442220531,1
+0.55,1.449137696,1
+0.56,1.456021999,1
+0.57,1.462873905,1
+0.58,1.469693867,1
+0.59,1.476482329,1
+0.6,1.483239722,1
+0.61,1.489966467,1
+0.62,1.496662978,1
+0.63,1.503329661,1
+0.64,1.50996691,1
+0.65,1.516575112,1
+0.66,1.523154645,1
+0.67,1.529705878,1
+0.68,1.536229173,1
+0.69,1.542724886,1
+0.7,1.549193362,1
+0.71,1.555634942,1
+0.72,1.56204996,1
+0.73,1.568438741,1
+0.74,1.574801602,1
+0.75,1.581138856,1
+0.76,1.587450812,1
+0.77,1.593737771,1
+0.78,1.600000026,1
+0.79,1.606237866,1
+0.8,1.612451575,1
+0.81,1.618641432,1
+0.82,1.624807707,1
+0.83,1.630950669,1
+0.84,1.63707058,1
+0.85,1.643167699,1
+0.86,1.64924228,1
+0.87,1.655294565,1
+0.88,1.661324801,1
+0.89,1.667333228,1
+0.9,1.673320081,1
+0.91,1.67928559,1
+0.92,1.685229983,1
+0.93,1.691153481,1
+0.94,1.697056303,1
+0.95,1.702938665,1
+0.96,1.708800777,1
+0.97,1.714642849,1
+0.98,1.720465085,1
+0.99,1.726267682,1
+1,1.732050839,1
+1.01,1.737814751,1
+1.02,1.743559608,1
+1.03,1.749285599,1
+1.04,1.754992908,1
+1.05,1.760681717,1
+1.06,1.766352204,1
+1.07,1.772004545,1
+1.08,1.777638914,1
+1.09,1.783255481,1
+1.1,1.788854413,1
+1.11,1.794435875,1
+1.12,1.800000031,1
+1.13,1.805547039,1
+1.14,1.811077058,1
+1.15,1.816590243,1
+1.16,1.822086747,1
+1.17,1.827566719,1
+1.18,1.833030312,1
+1.19,1.838477666,1
+1.2,1.843908926,1
+1.21,1.849324235,1
+1.22,1.854723733,1
+1.23,1.860107557,1
+1.24,1.865475844,1
+1.25,1.870828726,1
+1.26,1.876166337,1
+1.27,1.881488805,1
+1.28,1.88679626,1
+1.29,1.892088826,1
+1.3,1.89736663,1
+1.31,1.902629793,1
+1.32,1.907878436,1
+1.33,1.91311268,1
+1.34,1.918332643,1
+1.35,1.92353844,1
+1.36,1.928730186,1
+1.37,1.933907994,1
+1.38,1.939071976,1
+1.39,1.944222243,1
+1.4,1.949358903,1
+1.41,1.954482063,1
+1.42,1.959591828,1
+1.43,1.964688307,1
+1.44,1.969771599,1
+1.45,1.974841804,1
+1.46,1.979899025,1
+1.47,1.984943361,1
+1.48,1.989974911,1
+1.49,1.994993771,1
+1.5,2.000000036,1
+1.51,2.004993802,1
+1.52,2.009975161,1
+1.53,2.014944204,1
+1.54,2.019901024,1
+1.55,2.02484571,1
+1.56,2.02977835,1
+1.57,2.034699032,1
+1.58,2.039607842,1
+1.59,2.044504867,1
+1.6,2.04939019,1
+1.61,2.054263895,1
+1.62,2.059126065,1
+1.63,2.063976781,1
+1.64,2.068816123,1
+1.65,2.073644172,1
+1.66,2.078461006,1
+1.67,2.083266702,1
+1.68,2.088061338,1
+1.69,2.092844992,1
+1.7,2.097617737,1
+1.71,2.325944417,10
+1.72,2.722134699,10
+1.73,3.067575148,10
+1.74,3.377871706,10
+1.75,3.661969037,10
+1.76,3.925559478,10
+1.77,4.172531267,10
+1.78,4.4056801,10
+1.79,4.627095971,10
+1.8,4.83838993,10
+1.81,5.040834959,10
+1.82,5.235457671,10
+1.83,5.423100312,10
+1.84,5.604464022,10
+1.85,5.780139874,10
+1.86,5.950631643,10
+1.87,6.116372857,10
+1.88,6.277739789,10
+1.89,6.435061524,10
+1.9,6.588627838,10
+1.91,6.738695479,10
+1.92,6.88549321,10
+1.93,7.029225911,10
+1.94,7.17007789,10
+1.95,7.308215718,10
+1.96,7.443790509,10
+1.97,7.576939838,10
+1.98,7.707789388,10
+1.99,7.83645438,10
+2,7.963040701,10
+2.01,8.087645946,10
+2.02,8.210360324,10
+2.03,8.331267398,10
+2.04,8.450444745,10
+2.05,8.567964537,10
+2.06,8.68389407,10
+2.07,8.798296207,10
+2.08,8.911229775,10
+2.09,9.022749916,10
+2.1,9.132908409,10
+2.11,9.241753944,10
+2.12,9.349332379,10
+2.13,9.455686961,10
+2.14,9.560858532,10
+2.15,9.664885713,10
+2.16,9.767805067,10
+2.17,9.869651251,10
+2.18,9.97045715,10
+2.19,10.07025401,10
+2.2,10.16907153,10
+2.21,10.26693799,10
+2.22,10.36388034,10
+2.23,10.45992427,10
+2.24,10.5550943,10
+2.25,10.64941387,10
+2.26,10.74290537,10
+2.27,10.83559023,10
+2.28,10.92748899,10
+2.29,11.01862131,10
+2.3,11.10900605,10
+2.31,11.19866132,10
+2.32,11.2876045,10
+2.33,11.37585229,10
+2.34,11.46342075,10
+2.35,11.55032533,10
+2.36,11.63658091,10
+2.37,11.72220181,10
+2.38,11.80720183,10
+2.39,11.89159431,10
+2.4,11.97539207,10
+2.41,12.05860751,10
+2.42,12.14125262,10
+2.43,12.22333895,10
+2.44,12.30487769,10
+2.45,12.38587966,10
+2.46,12.46635532,10
+2.47,12.5463148,10
+2.48,12.6257679,10
+2.49,12.70472412,10
+2.5,12.78319267,10
+2.51,12.86118249,10
+2.52,12.93870221,10
+2.53,13.01576025,10
+2.54,13.09236476,10
+2.55,13.16852364,10
+2.56,13.24424459,10
+2.57,13.31953508,10
+2.58,13.39440237,10
+2.59,13.4688535,10
+2.6,13.54289536,10
+2.61,13.6165346,10
+2.62,13.68977774,10
+2.63,13.76263109,10
+2.64,13.83510081,10
+2.65,13.9071929,10
+2.66,13.9789132,10
+2.67,14.05026741,10
+2.68,14.12126107,10
+2.69,14.1918996,10
+2.7,14.26218827,10
+2.71,14.33213223,10
+2.72,14.4017365,10
+2.73,14.47100598,10
+2.74,14.53994546,10
+2.75,14.60855962,10
+2.76,14.676853,10
+2.77,14.74483008,10
+2.78,14.8124952,10
+2.79,14.87985262,10
+2.8,14.9469065,10
+2.81,15.01366091,10
+2.82,15.08011983,10
+2.83,15.14628713,10
+2.84,15.21216664,10
+2.85,15.27776207,10
+2.86,15.34307707,10
+2.87,15.4081152,10
+2.88,15.47287995,10
+2.89,15.53737474,10
+2.9,15.60160293,10
+2.91,15.66556778,10
+2.92,15.72927251,10
+2.93,15.79272028,10
+2.94,15.85591416,10
+2.95,15.91885718,10
+2.96,15.9815523,10
+2.97,16.04400242,10
+2.98,16.10621041,10
+2.99,16.16817905,10
+3,16.22991108,10
diff --git a/models/sbml-test-suite/cases/semantic/00945/00945-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00945/00945-sbml-l2v4.xml
new file mode 100644
index 0000000..13923c7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00945/00945-sbml-l2v4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00945" name="case00945">
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <ci> k1 </ci>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn> 2.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="C">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00945/00945-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00945/00945-sbml-l3v1.xml
new file mode 100644
index 0000000..ea0d487
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00945/00945-sbml-l3v1.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-10 00:32 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00945" name="case00945">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <ci> k1 </ci>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn> 2.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="C">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00945/00945-settings.txt b/models/sbml-test-suite/cases/semantic/00945/00945-settings.txt
new file mode 100644
index 0000000..4acca0d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00945/00945-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 300
+variables: S1, C
+absolute: 0.001
+relative: 0.0001
+amount: S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00946/00946-results.csv b/models/sbml-test-suite/cases/semantic/00946/00946-results.csv
new file mode 100644
index 0000000..0c3e634
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00946/00946-results.csv
@@ -0,0 +1,302 @@
+time,S1,C
+0,1,1
+0.01,1.009950496,1
+0.02,1.019803904,1
+0.03,1.029563016,1
+0.04,1.039230487,1
+0.05,1.04880885,1
+0.06,1.058300527,1
+0.07,1.06770783,1
+0.08,1.077032966,1
+0.09,1.086278053,1
+0.1,1.095445119,1
+0.11,1.104536106,1
+0.12,1.113552877,1
+0.13,1.122497221,1
+0.14,1.131370855,1
+0.15,1.140175431,1
+0.16,1.148912538,1
+0.17,1.157583698,1
+0.18,1.166190387,1
+0.19,1.174734023,1
+0.2,1.183215966,1
+0.21,1.191637538,1
+0.22,1.200000012,1
+0.23,1.208304609,1
+0.24,1.216552517,1
+0.25,1.224744885,1
+0.26,1.232882814,1
+0.27,1.240967378,1
+0.28,1.248999613,1
+0.29,1.256980522,1
+0.3,1.26491108,1
+0.31,1.272792222,1
+0.32,1.280624862,1
+0.33,1.288409887,1
+0.34,1.296148155,1
+0.35,1.303840496,1
+0.36,1.31148772,1
+0.37,1.319090613,1
+0.38,1.326649934,1
+0.39,1.334166424,1
+0.4,1.341640803,1
+0.41,1.349073773,1
+0.42,1.356466014,1
+0.43,1.363818189,1
+0.44,1.37113094,1
+0.45,1.378404895,1
+0.46,1.385640665,1
+0.47,1.392838847,1
+0.48,1.400000019,1
+0.49,1.407124749,1
+0.5,1.414213585,1
+0.51,1.421267062,1
+0.52,1.428285707,1
+0.53,1.43527003,1
+0.54,1.442220531,1
+0.55,1.449137696,1
+0.56,1.456021999,1
+0.57,1.462873905,1
+0.58,1.469693867,1
+0.59,1.476482329,1
+0.6,1.483239722,1
+0.61,1.489966467,1
+0.62,1.496662978,1
+0.63,1.503329661,1
+0.64,1.50996691,1
+0.65,1.516575112,1
+0.66,1.523154645,1
+0.67,1.529705878,1
+0.68,1.536229173,1
+0.69,1.542724886,1
+0.7,1.549193362,1
+0.71,1.555634942,1
+0.72,1.56204996,1
+0.73,1.568438741,1
+0.74,1.574801602,1
+0.75,1.581138856,1
+0.76,1.587450812,1
+0.77,1.593737771,1
+0.78,1.600000026,1
+0.79,1.606237866,1
+0.8,1.612451575,1
+0.81,1.618641432,1
+0.82,1.624807707,1
+0.83,1.630950669,1
+0.84,1.63707058,1
+0.85,1.643167699,1
+0.86,1.64924228,1
+0.87,1.655294565,1
+0.88,1.661324801,1
+0.89,1.667333228,1
+0.9,1.673320081,1
+0.91,1.67928559,1
+0.92,1.685229983,1
+0.93,1.691153481,1
+0.94,1.697056303,1
+0.95,1.702938665,1
+0.96,1.708800777,1
+0.97,1.714642849,1
+0.98,1.720465085,1
+0.99,1.726267682,1
+1,1.732050839,1
+1.01,1.737814751,1
+1.02,1.743559608,1
+1.03,1.749285599,1
+1.04,1.754992908,1
+1.05,1.760681717,1
+1.06,1.766352204,1
+1.07,1.772004545,1
+1.08,1.777638914,1
+1.09,1.783255481,1
+1.1,1.788854413,1
+1.11,1.794435875,1
+1.12,1.800000031,1
+1.13,1.805547039,1
+1.14,1.811077058,1
+1.15,1.816590243,1
+1.16,1.822086747,1
+1.17,1.827566719,1
+1.18,1.833030312,1
+1.19,1.838477666,1
+1.2,1.843908926,1
+1.21,1.849324235,1
+1.22,1.854723733,1
+1.23,1.860107557,1
+1.24,1.865475844,1
+1.25,1.870828726,1
+1.26,1.876166337,1
+1.27,1.881488805,1
+1.28,1.88679626,1
+1.29,1.892088826,1
+1.3,1.89736663,1
+1.31,1.902629793,1
+1.32,1.907878436,1
+1.33,1.91311268,1
+1.34,1.918332643,1
+1.35,1.92353844,1
+1.36,1.928730186,1
+1.37,1.933907994,1
+1.38,1.939071976,1
+1.39,1.944222243,1
+1.4,1.949358903,1
+1.41,1.954482063,1
+1.42,1.959591828,1
+1.43,1.964688307,1
+1.44,1.969771599,1
+1.45,1.974841804,1
+1.46,1.979899025,1
+1.47,1.984943361,1
+1.48,1.989974911,1
+1.49,1.994993771,1
+1.5,2.000000036,1
+1.51,2.004993802,1
+1.52,2.009975161,1
+1.53,2.014944204,1
+1.54,2.019901024,1
+1.55,2.02484571,1
+1.56,2.02977835,1
+1.57,2.034699032,1
+1.58,2.039607842,1
+1.59,2.044504867,1
+1.6,2.04939019,1
+1.61,2.054263895,1
+1.62,2.059126065,1
+1.63,2.063976781,1
+1.64,2.068816123,1
+1.65,2.073644172,1
+1.66,2.078461006,1
+1.67,2.083266702,1
+1.68,2.088061338,1
+1.69,2.092844992,1
+1.7,2.097617737,1
+1.71,2.325944417,10
+1.72,2.722134699,10
+1.73,3.067575148,10
+1.74,3.377871706,10
+1.75,3.661969037,10
+1.76,3.925559478,10
+1.77,4.172531267,10
+1.78,4.4056801,10
+1.79,4.627095971,10
+1.8,4.83838993,10
+1.81,5.040834959,10
+1.82,5.235457671,10
+1.83,5.423100312,10
+1.84,5.604464022,10
+1.85,5.780139874,10
+1.86,5.950631643,10
+1.87,6.116372857,10
+1.88,6.277739789,10
+1.89,6.435061524,10
+1.9,6.588627838,10
+1.91,6.738695479,10
+1.92,6.88549321,10
+1.93,7.029225911,10
+1.94,7.17007789,10
+1.95,7.308215718,10
+1.96,7.443790509,10
+1.97,7.576939838,10
+1.98,7.707789388,10
+1.99,7.83645438,10
+2,7.963040701,10
+2.01,8.087645946,10
+2.02,8.210360324,10
+2.03,8.331267398,10
+2.04,8.450444745,10
+2.05,8.567964537,10
+2.06,8.68389407,10
+2.07,8.798296207,10
+2.08,8.911229775,10
+2.09,9.022749916,10
+2.1,9.132908409,10
+2.11,9.241753944,10
+2.12,9.349332379,10
+2.13,9.455686961,10
+2.14,9.560858532,10
+2.15,9.664885713,10
+2.16,9.767805067,10
+2.17,9.869651251,10
+2.18,9.97045715,10
+2.19,10.07025401,10
+2.2,10.16907153,10
+2.21,10.26693799,10
+2.22,10.36388034,10
+2.23,10.45992427,10
+2.24,10.5550943,10
+2.25,10.64941387,10
+2.26,10.74290537,10
+2.27,10.83559023,10
+2.28,10.92748899,10
+2.29,11.01862131,10
+2.3,11.10900605,10
+2.31,11.19866132,10
+2.32,11.2876045,10
+2.33,11.37585229,10
+2.34,11.46342075,10
+2.35,11.55032533,10
+2.36,11.63658091,10
+2.37,11.72220181,10
+2.38,11.80720183,10
+2.39,11.89159431,10
+2.4,11.97539207,10
+2.41,12.05860751,10
+2.42,12.14125262,10
+2.43,12.22333895,10
+2.44,12.30487769,10
+2.45,12.38587966,10
+2.46,12.46635532,10
+2.47,12.5463148,10
+2.48,12.6257679,10
+2.49,12.70472412,10
+2.5,12.78319267,10
+2.51,12.86118249,10
+2.52,12.93870221,10
+2.53,13.01576025,10
+2.54,13.09236476,10
+2.55,13.16852364,10
+2.56,13.24424459,10
+2.57,13.31953508,10
+2.58,13.39440237,10
+2.59,13.4688535,10
+2.6,13.54289536,10
+2.61,13.6165346,10
+2.62,13.68977774,10
+2.63,13.76263109,10
+2.64,13.83510081,10
+2.65,13.9071929,10
+2.66,13.9789132,10
+2.67,14.05026741,10
+2.68,14.12126107,10
+2.69,14.1918996,10
+2.7,14.26218827,10
+2.71,14.33213223,10
+2.72,14.4017365,10
+2.73,14.47100598,10
+2.74,14.53994546,10
+2.75,14.60855962,10
+2.76,14.676853,10
+2.77,14.74483008,10
+2.78,14.8124952,10
+2.79,14.87985262,10
+2.8,14.9469065,10
+2.81,15.01366091,10
+2.82,15.08011983,10
+2.83,15.14628713,10
+2.84,15.21216664,10
+2.85,15.27776207,10
+2.86,15.34307707,10
+2.87,15.4081152,10
+2.88,15.47287995,10
+2.89,15.53737474,10
+2.9,15.60160293,10
+2.91,15.66556778,10
+2.92,15.72927251,10
+2.93,15.79272028,10
+2.94,15.85591416,10
+2.95,15.91885718,10
+2.96,15.9815523,10
+2.97,16.04400242,10
+2.98,16.10621041,10
+2.99,16.16817905,10
+3,16.22991108,10
diff --git a/models/sbml-test-suite/cases/semantic/00946/00946-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00946/00946-sbml-l2v4.xml
new file mode 100644
index 0000000..7e8cd2e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00946/00946-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00946" name="case00946">
+    <listOfCompartments>
+      <compartment id="C" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="fakeC" value="1" constant="false"/>
+      <parameter id="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> fakeC </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <ci> k1 </ci>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn> 2.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="fakeC">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00946/00946-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00946/00946-sbml-l3v1.xml
new file mode 100644
index 0000000..e745465
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00946/00946-sbml-l3v1.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-10 00:31 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00946" name="case00946">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="fakeC" value="1" constant="false"/>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> fakeC </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <ci> k1 </ci>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn> 2.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="fakeC">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00946/00946-settings.txt b/models/sbml-test-suite/cases/semantic/00946/00946-settings.txt
new file mode 100644
index 0000000..4acca0d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00946/00946-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 300
+variables: S1, C
+absolute: 0.001
+relative: 0.0001
+amount: S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00947/00947-results.csv b/models/sbml-test-suite/cases/semantic/00947/00947-results.csv
new file mode 100644
index 0000000..1833281
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00947/00947-results.csv
@@ -0,0 +1,302 @@
+time,S1,C
+0,1,1
+0.01,1.009950496,1
+0.02,1.019803904,1
+0.03,1.029563016,1
+0.04,1.039230487,1
+0.05,1.04880885,1
+0.06,1.058300527,1
+0.07,1.06770783,1
+0.08,1.077032966,1
+0.09,1.086278053,1
+0.1,1.095445119,1
+0.11,1.104536106,1
+0.12,1.113552877,1
+0.13,1.122497221,1
+0.14,1.131370855,1
+0.15,1.140175431,1
+0.16,1.148912538,1
+0.17,1.157583698,1
+0.18,1.166190387,1
+0.19,1.174734023,1
+0.2,1.183215966,1
+0.21,1.191637538,1
+0.22,1.200000012,1
+0.23,1.208304609,1
+0.24,1.216552517,1
+0.25,1.224744885,1
+0.26,1.232882814,1
+0.27,1.240967378,1
+0.28,1.248999613,1
+0.29,1.256980522,1
+0.3,1.26491108,1
+0.31,1.272792222,1
+0.32,1.280624862,1
+0.33,1.288409887,1
+0.34,1.296148155,1
+0.35,1.303840496,1
+0.36,1.31148772,1
+0.37,1.319090613,1
+0.38,1.326649934,1
+0.39,1.334166424,1
+0.4,1.341640803,1
+0.41,1.349073773,1
+0.42,1.356466014,1
+0.43,1.363818189,1
+0.44,1.37113094,1
+0.45,1.378404895,1
+0.46,1.385640665,1
+0.47,1.392838847,1
+0.48,1.400000019,1
+0.49,1.407124749,1
+0.5,1.414213585,1
+0.51,1.421267062,1
+0.52,1.428285707,1
+0.53,1.43527003,1
+0.54,1.442220531,1
+0.55,1.449137696,1
+0.56,1.456021999,1
+0.57,1.462873905,1
+0.58,1.469693867,1
+0.59,1.476482329,1
+0.6,1.483239722,1
+0.61,1.489966467,1
+0.62,1.496662978,1
+0.63,1.503329661,1
+0.64,1.50996691,1
+0.65,1.516575112,1
+0.66,1.523154645,1
+0.67,1.529705878,1
+0.68,1.536229173,1
+0.69,1.542724886,1
+0.7,1.549193362,1
+0.71,1.555634942,1
+0.72,1.56204996,1
+0.73,1.568438741,1
+0.74,1.574801602,1
+0.75,1.581138856,1
+0.76,1.587450812,1
+0.77,1.593737771,1
+0.78,1.600000026,1
+0.79,1.606237866,1
+0.8,1.612451575,1
+0.81,1.618641432,1
+0.82,1.624807707,1
+0.83,1.630950669,1
+0.84,1.63707058,1
+0.85,1.643167699,1
+0.86,1.64924228,1
+0.87,1.655294565,1
+0.88,1.661324801,1
+0.89,1.667333228,1
+0.9,1.673320081,1
+0.91,1.67928559,1
+0.92,1.685229983,1
+0.93,1.691153481,1
+0.94,1.697056303,1
+0.95,1.702938665,1
+0.96,1.708800777,1
+0.97,1.714642849,1
+0.98,1.720465085,1
+0.99,1.726267682,1
+1,1.732050839,1
+1.01,1.737814751,1
+1.02,1.743559608,1
+1.03,1.749285599,1
+1.04,1.754992908,1
+1.05,1.760681717,1
+1.06,1.766352204,1
+1.07,1.772004545,1
+1.08,1.777638914,1
+1.09,1.783255481,1
+1.1,1.788854413,1
+1.11,1.794435875,1
+1.12,1.800000031,1
+1.13,1.805547039,1
+1.14,1.811077058,1
+1.15,1.816590243,1
+1.16,1.822086747,1
+1.17,1.827566719,1
+1.18,1.833030312,1
+1.19,1.838477666,1
+1.2,1.843908926,1
+1.21,1.849324235,1
+1.22,1.854723733,1
+1.23,1.860107557,1
+1.24,1.865475844,1
+1.25,1.870828726,1
+1.26,1.876166337,1
+1.27,1.881488805,1
+1.28,1.88679626,1
+1.29,1.892088826,1
+1.3,1.89736663,1
+1.31,1.902629793,1
+1.32,1.907878436,1
+1.33,1.91311268,1
+1.34,1.918332643,1
+1.35,1.92353844,1
+1.36,1.928730186,1
+1.37,1.933907994,1
+1.38,1.939071976,1
+1.39,1.944222243,1
+1.4,1.949358903,1
+1.41,1.954482063,1
+1.42,1.959591828,1
+1.43,1.964688307,1
+1.44,1.969771599,1
+1.45,1.974841804,1
+1.46,1.979899025,1
+1.47,1.984943361,1
+1.48,1.989974911,1
+1.49,1.994993771,1
+1.5,2.000000036,1
+1.51,2.004993802,1
+1.52,2.009975161,1
+1.53,2.014944204,1
+1.54,2.019901024,1
+1.55,2.02484571,1
+1.56,2.02977835,1
+1.57,2.034699032,1
+1.58,2.039607842,1
+1.59,2.044504867,1
+1.6,2.04939019,1
+1.61,2.054263895,1
+1.62,2.059126065,1
+1.63,2.063976781,1
+1.64,2.068816123,1
+1.65,2.073644172,1
+1.66,2.078461006,1
+1.67,2.083266702,1
+1.68,2.088061338,1
+1.69,2.092844992,1
+1.7,2.097617737,1
+1.71,0.232594442,10
+1.72,0.27221347,10
+1.73,0.306757515,10
+1.74,0.337787171,10
+1.75,0.366196904,10
+1.76,0.392555948,10
+1.77,0.417253127,10
+1.78,0.44056801,10
+1.79,0.462709597,10
+1.8,0.483838993,10
+1.81,0.504083496,10
+1.82,0.523545767,10
+1.83,0.542310031,10
+1.84,0.560446402,10
+1.85,0.578013987,10
+1.86,0.595063164,10
+1.87,0.611637286,10
+1.88,0.627773979,10
+1.89,0.643506152,10
+1.9,0.658862784,10
+1.91,0.673869548,10
+1.92,0.688549321,10
+1.93,0.702922591,10
+1.94,0.717007789,10
+1.95,0.730821572,10
+1.96,0.744379051,10
+1.97,0.757693984,10
+1.98,0.770778939,10
+1.99,0.783645438,10
+2,0.79630407,10
+2.01,0.808764595,10
+2.02,0.821036032,10
+2.03,0.83312674,10
+2.04,0.845044474,10
+2.05,0.856796454,10
+2.06,0.868389407,10
+2.07,0.879829621,10
+2.08,0.891122977,10
+2.09,0.902274992,10
+2.1,0.913290841,10
+2.11,0.924175394,10
+2.12,0.934933238,10
+2.13,0.945568696,10
+2.14,0.956085853,10
+2.15,0.966488571,10
+2.16,0.976780507,10
+2.17,0.986965125,10
+2.18,0.997045715,10
+2.19,1.007025401,10
+2.2,1.016907153,10
+2.21,1.026693799,10
+2.22,1.036388034,10
+2.23,1.045992427,10
+2.24,1.05550943,10
+2.25,1.064941387,10
+2.26,1.074290537,10
+2.27,1.083559023,10
+2.28,1.092748899,10
+2.29,1.101862131,10
+2.3,1.110900605,10
+2.31,1.119866132,10
+2.32,1.12876045,10
+2.33,1.137585229,10
+2.34,1.146342075,10
+2.35,1.155032533,10
+2.36,1.163658091,10
+2.37,1.172220181,10
+2.38,1.180720183,10
+2.39,1.189159431,10
+2.4,1.197539207,10
+2.41,1.205860751,10
+2.42,1.214125262,10
+2.43,1.222333895,10
+2.44,1.230487769,10
+2.45,1.238587966,10
+2.46,1.246635532,10
+2.47,1.25463148,10
+2.48,1.26257679,10
+2.49,1.270472412,10
+2.5,1.278319267,10
+2.51,1.286118249,10
+2.52,1.293870221,10
+2.53,1.301576025,10
+2.54,1.309236476,10
+2.55,1.316852364,10
+2.56,1.324424459,10
+2.57,1.331953508,10
+2.58,1.339440237,10
+2.59,1.34688535,10
+2.6,1.354289536,10
+2.61,1.36165346,10
+2.62,1.368977774,10
+2.63,1.376263109,10
+2.64,1.383510081,10
+2.65,1.39071929,10
+2.66,1.39789132,10
+2.67,1.405026741,10
+2.68,1.412126107,10
+2.69,1.41918996,10
+2.7,1.426218827,10
+2.71,1.433213223,10
+2.72,1.44017365,10
+2.73,1.447100598,10
+2.74,1.453994546,10
+2.75,1.460855962,10
+2.76,1.4676853,10
+2.77,1.474483008,10
+2.78,1.48124952,10
+2.79,1.487985262,10
+2.8,1.49469065,10
+2.81,1.501366091,10
+2.82,1.508011983,10
+2.83,1.514628713,10
+2.84,1.521216664,10
+2.85,1.527776207,10
+2.86,1.534307707,10
+2.87,1.54081152,10
+2.88,1.547287995,10
+2.89,1.553737474,10
+2.9,1.560160293,10
+2.91,1.566556778,10
+2.92,1.572927251,10
+2.93,1.579272028,10
+2.94,1.585591416,10
+2.95,1.591885718,10
+2.96,1.59815523,10
+2.97,1.604400242,10
+2.98,1.610621041,10
+2.99,1.616817905,10
+3,1.622991108,10
diff --git a/models/sbml-test-suite/cases/semantic/00947/00947-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00947/00947-sbml-l2v4.xml
new file mode 100644
index 0000000..13923c7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00947/00947-sbml-l2v4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00945" name="case00945">
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <ci> k1 </ci>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn> 2.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="C">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00947/00947-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00947/00947-sbml-l3v1.xml
new file mode 100644
index 0000000..9d3e6de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00947/00947-sbml-l3v1.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-10 00:30 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00945" name="case00945">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <ci> k1 </ci>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn> 2.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="C">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00947/00947-settings.txt b/models/sbml-test-suite/cases/semantic/00947/00947-settings.txt
new file mode 100644
index 0000000..02bbb96
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00947/00947-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 300
+variables: S1, C
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration: S1
diff --git a/models/sbml-test-suite/cases/semantic/00948/00948-results.csv b/models/sbml-test-suite/cases/semantic/00948/00948-results.csv
new file mode 100644
index 0000000..1833281
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00948/00948-results.csv
@@ -0,0 +1,302 @@
+time,S1,C
+0,1,1
+0.01,1.009950496,1
+0.02,1.019803904,1
+0.03,1.029563016,1
+0.04,1.039230487,1
+0.05,1.04880885,1
+0.06,1.058300527,1
+0.07,1.06770783,1
+0.08,1.077032966,1
+0.09,1.086278053,1
+0.1,1.095445119,1
+0.11,1.104536106,1
+0.12,1.113552877,1
+0.13,1.122497221,1
+0.14,1.131370855,1
+0.15,1.140175431,1
+0.16,1.148912538,1
+0.17,1.157583698,1
+0.18,1.166190387,1
+0.19,1.174734023,1
+0.2,1.183215966,1
+0.21,1.191637538,1
+0.22,1.200000012,1
+0.23,1.208304609,1
+0.24,1.216552517,1
+0.25,1.224744885,1
+0.26,1.232882814,1
+0.27,1.240967378,1
+0.28,1.248999613,1
+0.29,1.256980522,1
+0.3,1.26491108,1
+0.31,1.272792222,1
+0.32,1.280624862,1
+0.33,1.288409887,1
+0.34,1.296148155,1
+0.35,1.303840496,1
+0.36,1.31148772,1
+0.37,1.319090613,1
+0.38,1.326649934,1
+0.39,1.334166424,1
+0.4,1.341640803,1
+0.41,1.349073773,1
+0.42,1.356466014,1
+0.43,1.363818189,1
+0.44,1.37113094,1
+0.45,1.378404895,1
+0.46,1.385640665,1
+0.47,1.392838847,1
+0.48,1.400000019,1
+0.49,1.407124749,1
+0.5,1.414213585,1
+0.51,1.421267062,1
+0.52,1.428285707,1
+0.53,1.43527003,1
+0.54,1.442220531,1
+0.55,1.449137696,1
+0.56,1.456021999,1
+0.57,1.462873905,1
+0.58,1.469693867,1
+0.59,1.476482329,1
+0.6,1.483239722,1
+0.61,1.489966467,1
+0.62,1.496662978,1
+0.63,1.503329661,1
+0.64,1.50996691,1
+0.65,1.516575112,1
+0.66,1.523154645,1
+0.67,1.529705878,1
+0.68,1.536229173,1
+0.69,1.542724886,1
+0.7,1.549193362,1
+0.71,1.555634942,1
+0.72,1.56204996,1
+0.73,1.568438741,1
+0.74,1.574801602,1
+0.75,1.581138856,1
+0.76,1.587450812,1
+0.77,1.593737771,1
+0.78,1.600000026,1
+0.79,1.606237866,1
+0.8,1.612451575,1
+0.81,1.618641432,1
+0.82,1.624807707,1
+0.83,1.630950669,1
+0.84,1.63707058,1
+0.85,1.643167699,1
+0.86,1.64924228,1
+0.87,1.655294565,1
+0.88,1.661324801,1
+0.89,1.667333228,1
+0.9,1.673320081,1
+0.91,1.67928559,1
+0.92,1.685229983,1
+0.93,1.691153481,1
+0.94,1.697056303,1
+0.95,1.702938665,1
+0.96,1.708800777,1
+0.97,1.714642849,1
+0.98,1.720465085,1
+0.99,1.726267682,1
+1,1.732050839,1
+1.01,1.737814751,1
+1.02,1.743559608,1
+1.03,1.749285599,1
+1.04,1.754992908,1
+1.05,1.760681717,1
+1.06,1.766352204,1
+1.07,1.772004545,1
+1.08,1.777638914,1
+1.09,1.783255481,1
+1.1,1.788854413,1
+1.11,1.794435875,1
+1.12,1.800000031,1
+1.13,1.805547039,1
+1.14,1.811077058,1
+1.15,1.816590243,1
+1.16,1.822086747,1
+1.17,1.827566719,1
+1.18,1.833030312,1
+1.19,1.838477666,1
+1.2,1.843908926,1
+1.21,1.849324235,1
+1.22,1.854723733,1
+1.23,1.860107557,1
+1.24,1.865475844,1
+1.25,1.870828726,1
+1.26,1.876166337,1
+1.27,1.881488805,1
+1.28,1.88679626,1
+1.29,1.892088826,1
+1.3,1.89736663,1
+1.31,1.902629793,1
+1.32,1.907878436,1
+1.33,1.91311268,1
+1.34,1.918332643,1
+1.35,1.92353844,1
+1.36,1.928730186,1
+1.37,1.933907994,1
+1.38,1.939071976,1
+1.39,1.944222243,1
+1.4,1.949358903,1
+1.41,1.954482063,1
+1.42,1.959591828,1
+1.43,1.964688307,1
+1.44,1.969771599,1
+1.45,1.974841804,1
+1.46,1.979899025,1
+1.47,1.984943361,1
+1.48,1.989974911,1
+1.49,1.994993771,1
+1.5,2.000000036,1
+1.51,2.004993802,1
+1.52,2.009975161,1
+1.53,2.014944204,1
+1.54,2.019901024,1
+1.55,2.02484571,1
+1.56,2.02977835,1
+1.57,2.034699032,1
+1.58,2.039607842,1
+1.59,2.044504867,1
+1.6,2.04939019,1
+1.61,2.054263895,1
+1.62,2.059126065,1
+1.63,2.063976781,1
+1.64,2.068816123,1
+1.65,2.073644172,1
+1.66,2.078461006,1
+1.67,2.083266702,1
+1.68,2.088061338,1
+1.69,2.092844992,1
+1.7,2.097617737,1
+1.71,0.232594442,10
+1.72,0.27221347,10
+1.73,0.306757515,10
+1.74,0.337787171,10
+1.75,0.366196904,10
+1.76,0.392555948,10
+1.77,0.417253127,10
+1.78,0.44056801,10
+1.79,0.462709597,10
+1.8,0.483838993,10
+1.81,0.504083496,10
+1.82,0.523545767,10
+1.83,0.542310031,10
+1.84,0.560446402,10
+1.85,0.578013987,10
+1.86,0.595063164,10
+1.87,0.611637286,10
+1.88,0.627773979,10
+1.89,0.643506152,10
+1.9,0.658862784,10
+1.91,0.673869548,10
+1.92,0.688549321,10
+1.93,0.702922591,10
+1.94,0.717007789,10
+1.95,0.730821572,10
+1.96,0.744379051,10
+1.97,0.757693984,10
+1.98,0.770778939,10
+1.99,0.783645438,10
+2,0.79630407,10
+2.01,0.808764595,10
+2.02,0.821036032,10
+2.03,0.83312674,10
+2.04,0.845044474,10
+2.05,0.856796454,10
+2.06,0.868389407,10
+2.07,0.879829621,10
+2.08,0.891122977,10
+2.09,0.902274992,10
+2.1,0.913290841,10
+2.11,0.924175394,10
+2.12,0.934933238,10
+2.13,0.945568696,10
+2.14,0.956085853,10
+2.15,0.966488571,10
+2.16,0.976780507,10
+2.17,0.986965125,10
+2.18,0.997045715,10
+2.19,1.007025401,10
+2.2,1.016907153,10
+2.21,1.026693799,10
+2.22,1.036388034,10
+2.23,1.045992427,10
+2.24,1.05550943,10
+2.25,1.064941387,10
+2.26,1.074290537,10
+2.27,1.083559023,10
+2.28,1.092748899,10
+2.29,1.101862131,10
+2.3,1.110900605,10
+2.31,1.119866132,10
+2.32,1.12876045,10
+2.33,1.137585229,10
+2.34,1.146342075,10
+2.35,1.155032533,10
+2.36,1.163658091,10
+2.37,1.172220181,10
+2.38,1.180720183,10
+2.39,1.189159431,10
+2.4,1.197539207,10
+2.41,1.205860751,10
+2.42,1.214125262,10
+2.43,1.222333895,10
+2.44,1.230487769,10
+2.45,1.238587966,10
+2.46,1.246635532,10
+2.47,1.25463148,10
+2.48,1.26257679,10
+2.49,1.270472412,10
+2.5,1.278319267,10
+2.51,1.286118249,10
+2.52,1.293870221,10
+2.53,1.301576025,10
+2.54,1.309236476,10
+2.55,1.316852364,10
+2.56,1.324424459,10
+2.57,1.331953508,10
+2.58,1.339440237,10
+2.59,1.34688535,10
+2.6,1.354289536,10
+2.61,1.36165346,10
+2.62,1.368977774,10
+2.63,1.376263109,10
+2.64,1.383510081,10
+2.65,1.39071929,10
+2.66,1.39789132,10
+2.67,1.405026741,10
+2.68,1.412126107,10
+2.69,1.41918996,10
+2.7,1.426218827,10
+2.71,1.433213223,10
+2.72,1.44017365,10
+2.73,1.447100598,10
+2.74,1.453994546,10
+2.75,1.460855962,10
+2.76,1.4676853,10
+2.77,1.474483008,10
+2.78,1.48124952,10
+2.79,1.487985262,10
+2.8,1.49469065,10
+2.81,1.501366091,10
+2.82,1.508011983,10
+2.83,1.514628713,10
+2.84,1.521216664,10
+2.85,1.527776207,10
+2.86,1.534307707,10
+2.87,1.54081152,10
+2.88,1.547287995,10
+2.89,1.553737474,10
+2.9,1.560160293,10
+2.91,1.566556778,10
+2.92,1.572927251,10
+2.93,1.579272028,10
+2.94,1.585591416,10
+2.95,1.591885718,10
+2.96,1.59815523,10
+2.97,1.604400242,10
+2.98,1.610621041,10
+2.99,1.616817905,10
+3,1.622991108,10
diff --git a/models/sbml-test-suite/cases/semantic/00948/00948-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00948/00948-sbml-l2v4.xml
new file mode 100644
index 0000000..010f0ec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00948/00948-sbml-l2v4.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00948" name="case00948">
+    <listOfCompartments>
+      <compartment id="C" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="fakeC" value="1" constant="false"/>
+      <parameter id="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> fakeC </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <ci> k1 </ci>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn> 2.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="fakeC">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00948/00948-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00948/00948-sbml-l3v1.xml
new file mode 100644
index 0000000..65ad2d0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00948/00948-sbml-l3v1.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-10 00:27 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00948" name="case00948">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="fakeC" value="1" constant="false"/>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> fakeC </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <ci> k1 </ci>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S1 </ci>
+              <cn> 2.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="fakeC">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00948/00948-settings.txt b/models/sbml-test-suite/cases/semantic/00948/00948-settings.txt
new file mode 100644
index 0000000..02bbb96
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00948/00948-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 300
+variables: S1, C
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration: S1
diff --git a/models/sbml-test-suite/cases/semantic/00949/00949-results.csv b/models/sbml-test-suite/cases/semantic/00949/00949-results.csv
new file mode 100644
index 0000000..e10d2c4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00949/00949-results.csv
@@ -0,0 +1,12 @@
+time,P
+0,3.7
+0.1,3.7
+0.2,3.7
+0.3,3.7
+0.4,3.7
+0.5,3.7
+0.6,3.7
+0.7,3.7
+0.8,3.7
+0.9,3.7
+1,3.7
diff --git a/models/sbml-test-suite/cases/semantic/00949/00949-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00949/00949-sbml-l1v2.xml
new file mode 100644
index 0000000..f5f54cf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00949/00949-sbml-l1v2.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case000949">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfCompartments>
+      <compartment name="default_compartment" volume="1"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="P" value="3.7"/>
+    </listOfParameters>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00949/00949-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00949/00949-sbml-l2v4.xml
new file mode 100644
index 0000000..2832431
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00949/00949-sbml-l2v4.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case000949">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfParameters>
+      <parameter id="P" value="3.7"/>
+    </listOfParameters>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00949/00949-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00949/00949-sbml-l3v1.xml
new file mode 100644
index 0000000..df24e0e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00949/00949-sbml-l3v1.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case000949">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfParameters>
+      <parameter id="P" value="3.7" constant="true"/>
+    </listOfParameters>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00949/00949-settings.txt b/models/sbml-test-suite/cases/semantic/00949/00949-settings.txt
new file mode 100644
index 0000000..5a92520
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00949/00949-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 10
+variables: P
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00950/00950-results.csv b/models/sbml-test-suite/cases/semantic/00950/00950-results.csv
new file mode 100644
index 0000000..53b67a0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00950/00950-results.csv
@@ -0,0 +1,12 @@
+time, P, Q, R
+0,INF,-INF, NaN
+0.1,INF,-INF, NaN
+0.2,INF,-INF, NaN
+0.3,INF,-INF, NaN
+0.4,INF,-INF, NaN
+0.5,INF,-INF, NaN
+0.6,INF,-INF, NaN
+0.7,INF,-INF, NaN
+0.8,INF,-INF, NaN
+0.9,INF,-INF, NaN
+1,INF,-INF, NaN
diff --git a/models/sbml-test-suite/cases/semantic/00950/00950-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00950/00950-sbml-l2v4.xml
new file mode 100644
index 0000000..5adbad8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00950/00950-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case000950" name="case000950">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfParameters>
+      <parameter id="P" value="0"/>
+      <parameter id="Q" value="0"/>
+      <parameter id="R" value="0"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="P">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <infinity/>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="Q">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <infinity/>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="R">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <notanumber/>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00950/00950-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00950/00950-sbml-l3v1.xml
new file mode 100644
index 0000000..22d7f37
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00950/00950-sbml-l3v1.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case000950" name="case000950" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfParameters>
+      <parameter id="P" value="0" constant="true"/>
+      <parameter id="Q" value="0" constant="true"/>
+      <parameter id="R" value="0" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="P">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <infinity/>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="Q">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <infinity/>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="R">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <notanumber/>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00950/00950-settings.txt b/models/sbml-test-suite/cases/semantic/00950/00950-settings.txt
new file mode 100644
index 0000000..c4f100b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00950/00950-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 10
+variables: P, Q, R
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00951/00951-results.csv b/models/sbml-test-suite/cases/semantic/00951/00951-results.csv
new file mode 100644
index 0000000..53b67a0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00951/00951-results.csv
@@ -0,0 +1,12 @@
+time, P, Q, R
+0,INF,-INF, NaN
+0.1,INF,-INF, NaN
+0.2,INF,-INF, NaN
+0.3,INF,-INF, NaN
+0.4,INF,-INF, NaN
+0.5,INF,-INF, NaN
+0.6,INF,-INF, NaN
+0.7,INF,-INF, NaN
+0.8,INF,-INF, NaN
+0.9,INF,-INF, NaN
+1,INF,-INF, NaN
diff --git a/models/sbml-test-suite/cases/semantic/00951/00951-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00951/00951-sbml-l1v2.xml
new file mode 100644
index 0000000..7727c62
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00951/00951-sbml-l1v2.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case000951">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="c" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="P" value="INF"/>
+      <parameter name="Q" value="-INF"/>
+      <parameter name="R" value="NaN"/>
+    </listOfParameters>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00951/00951-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00951/00951-sbml-l2v4.xml
new file mode 100644
index 0000000..788069e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00951/00951-sbml-l2v4.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case000951">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P" value="INF"/>
+      <parameter id="Q" value="-INF"/>
+      <parameter id="R" value="NaN"/>
+    </listOfParameters>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00951/00951-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00951/00951-sbml-l3v1.xml
new file mode 100644
index 0000000..ea97439
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00951/00951-sbml-l3v1.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case000951" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P" value="INF" constant="true"/>
+      <parameter id="Q" value="-INF" constant="true"/>
+      <parameter id="R" value="NaN" constant="true"/>
+    </listOfParameters>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00951/00951-settings.txt b/models/sbml-test-suite/cases/semantic/00951/00951-settings.txt
new file mode 100644
index 0000000..c4f100b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00951/00951-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 10
+variables: P, Q, R
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00952/00952-antimony.txt b/models/sbml-test-suite/cases/semantic/00952/00952-antimony.txt
new file mode 100644
index 0000000..e745389
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00952/00952-antimony.txt
@@ -0,0 +1,17 @@
+model case00952()
+
+  // Assignment Rules:
+  S := Q + R;
+
+  // Events:
+  Qinc: at (time - reset >= 0.01), priority = 1, persistent=false: Q = Q + 0.01, reset = time;
+  Rinc: at (time - reset >= 0.01), priority = 1, persistent=false: R = R + 0.01, reset = time;
+  error_check: at (abs(Q - R) >= 4): error = 1;
+
+  // Variable initializations:
+  Q = 0;
+  R = 0;
+  reset = 0;
+  error = 0;
+
+end
diff --git a/models/sbml-test-suite/cases/semantic/00952/00952-results.csv b/models/sbml-test-suite/cases/semantic/00952/00952-results.csv
new file mode 100644
index 0000000..ef7896b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00952/00952-results.csv
@@ -0,0 +1,1003 @@
+time,S,error
+0,0,0
+0.0999001,0.09,0
+0.1998002,0.19,0
+0.2997003,0.29,0
+0.3996004,0.39,0
+0.4995005,0.49,0
+0.599400599,0.59,0
+0.699300699,0.69,0
+0.799200799,0.79,0
+0.899100899,0.89,0
+0.999000999,0.99,0
+1.098901099,1.09,0
+1.198801199,1.19,0
+1.298701299,1.29,0
+1.398601399,1.39,0
+1.498501499,1.49,0
+1.598401598,1.59,0
+1.698301698,1.69,0
+1.798201798,1.79,0
+1.898101898,1.89,0
+1.998001998,1.99,0
+2.097902098,2.09,0
+2.197802198,2.19,0
+2.297702298,2.29,0
+2.397602398,2.39,0
+2.497502498,2.49,0
+2.597402597,2.59,0
+2.697302697,2.69,0
+2.797202797,2.79,0
+2.897102897,2.89,0
+2.997002997,2.99,0
+3.096903097,3.09,0
+3.196803197,3.19,0
+3.296703297,3.29,0
+3.396603397,3.39,0
+3.496503497,3.49,0
+3.596403596,3.59,0
+3.696303696,3.69,0
+3.796203796,3.79,0
+3.896103896,3.89,0
+3.996003996,3.99,0
+4.095904096,4.09,0
+4.195804196,4.19,0
+4.295704296,4.29,0
+4.395604396,4.39,0
+4.495504496,4.49,0
+4.595404595,4.59,0
+4.695304695,4.69,0
+4.795204795,4.79,0
+4.895104895,4.89,0
+4.995004995,4.99,0
+5.094905095,5.09,0
+5.194805195,5.19,0
+5.294705295,5.29,0
+5.394605395,5.39,0
+5.494505495,5.49,0
+5.594405594,5.59,0
+5.694305694,5.69,0
+5.794205794,5.79,0
+5.894105894,5.89,0
+5.994005994,5.99,0
+6.093906094,6.09,0
+6.193806194,6.19,0
+6.293706294,6.29,0
+6.393606394,6.39,0
+6.493506494,6.49,0
+6.593406593,6.59,0
+6.693306693,6.69,0
+6.793206793,6.79,0
+6.893106893,6.89,0
+6.993006993,6.99,0
+7.092907093,7.09,0
+7.192807193,7.19,0
+7.292707293,7.29,0
+7.392607393,7.39,0
+7.492507493,7.49,0
+7.592407592,7.59,0
+7.692307692,7.69,0
+7.792207792,7.79,0
+7.892107892,7.89,0
+7.992007992,7.99,0
+8.091908092,8.09,0
+8.191808192,8.19,0
+8.291708292,8.29,0
+8.391608392,8.39,0
+8.491508492,8.49,0
+8.591408591,8.59,0
+8.691308691,8.69,0
+8.791208791,8.79,0
+8.891108891,8.89,0
+8.991008991,8.99,0
+9.090909091,9.09,0
+9.190809191,9.19,0
+9.290709291,9.29,0
+9.390609391,9.39,0
+9.490509491,9.49,0
+9.59040959,9.59,0
+9.69030969,9.69,0
+9.79020979,9.79,0
+9.89010989,9.89,0
+9.99000999,9.99,0
+10.08991009,10.08,0
+10.18981019,10.18,0
+10.28971029,10.28,0
+10.38961039,10.38,0
+10.48951049,10.48,0
+10.58941059,10.58,0
+10.68931069,10.68,0
+10.78921079,10.78,0
+10.88911089,10.88,0
+10.98901099,10.98,0
+11.08891109,11.08,0
+11.18881119,11.18,0
+11.28871129,11.28,0
+11.38861139,11.38,0
+11.48851149,11.48,0
+11.58841159,11.58,0
+11.68831169,11.68,0
+11.78821179,11.78,0
+11.88811189,11.88,0
+11.98801199,11.98,0
+12.08791209,12.08,0
+12.18781219,12.18,0
+12.28771229,12.28,0
+12.38761239,12.38,0
+12.48751249,12.48,0
+12.58741259,12.58,0
+12.68731269,12.68,0
+12.78721279,12.78,0
+12.88711289,12.88,0
+12.98701299,12.98,0
+13.08691309,13.08,0
+13.18681319,13.18,0
+13.28671329,13.28,0
+13.38661339,13.38,0
+13.48651349,13.48,0
+13.58641359,13.58,0
+13.68631369,13.68,0
+13.78621379,13.78,0
+13.88611389,13.88,0
+13.98601399,13.98,0
+14.08591409,14.08,0
+14.18581419,14.18,0
+14.28571429,14.28,0
+14.38561439,14.38,0
+14.48551449,14.48,0
+14.58541459,14.58,0
+14.68531469,14.68,0
+14.78521479,14.78,0
+14.88511489,14.88,0
+14.98501499,14.98,0
+15.08491508,15.08,0
+15.18481518,15.18,0
+15.28471528,15.28,0
+15.38461538,15.38,0
+15.48451548,15.48,0
+15.58441558,15.58,0
+15.68431568,15.68,0
+15.78421578,15.78,0
+15.88411588,15.88,0
+15.98401598,15.98,0
+16.08391608,16.08,0
+16.18381618,16.18,0
+16.28371628,16.28,0
+16.38361638,16.38,0
+16.48351648,16.48,0
+16.58341658,16.58,0
+16.68331668,16.68,0
+16.78321678,16.78,0
+16.88311688,16.88,0
+16.98301698,16.98,0
+17.08291708,17.08,0
+17.18281718,17.18,0
+17.28271728,17.28,0
+17.38261738,17.38,0
+17.48251748,17.48,0
+17.58241758,17.58,0
+17.68231768,17.68,0
+17.78221778,17.78,0
+17.88211788,17.88,0
+17.98201798,17.98,0
+18.08191808,18.08,0
+18.18181818,18.18,0
+18.28171828,18.28,0
+18.38161838,18.38,0
+18.48151848,18.48,0
+18.58141858,18.58,0
+18.68131868,18.68,0
+18.78121878,18.78,0
+18.88111888,18.88,0
+18.98101898,18.98,0
+19.08091908,19.08,0
+19.18081918,19.18,0
+19.28071928,19.28,0
+19.38061938,19.38,0
+19.48051948,19.48,0
+19.58041958,19.58,0
+19.68031968,19.68,0
+19.78021978,19.78,0
+19.88011988,19.88,0
+19.98001998,19.98,0
+20.07992008,20.07,0
+20.17982018,20.17,0
+20.27972028,20.27,0
+20.37962038,20.37,0
+20.47952048,20.47,0
+20.57942058,20.57,0
+20.67932068,20.67,0
+20.77922078,20.77,0
+20.87912088,20.87,0
+20.97902098,20.97,0
+21.07892108,21.07,0
+21.17882118,21.17,0
+21.27872128,21.27,0
+21.37862138,21.37,0
+21.47852148,21.47,0
+21.57842158,21.57,0
+21.67832168,21.67,0
+21.77822178,21.77,0
+21.87812188,21.87,0
+21.97802198,21.97,0
+22.07792208,22.07,0
+22.17782218,22.17,0
+22.27772228,22.27,0
+22.37762238,22.37,0
+22.47752248,22.47,0
+22.57742258,22.57,0
+22.67732268,22.67,0
+22.77722278,22.77,0
+22.87712288,22.87,0
+22.97702298,22.97,0
+23.07692308,23.07,0
+23.17682318,23.17,0
+23.27672328,23.27,0
+23.37662338,23.37,0
+23.47652348,23.47,0
+23.57642358,23.57,0
+23.67632368,23.67,0
+23.77622378,23.77,0
+23.87612388,23.87,0
+23.97602398,23.97,0
+24.07592408,24.07,0
+24.17582418,24.17,0
+24.27572428,24.27,0
+24.37562438,24.37,0
+24.47552448,24.47,0
+24.57542458,24.57,0
+24.67532468,24.67,0
+24.77522478,24.77,0
+24.87512488,24.87,0
+24.97502498,24.97,0
+25.07492507,25.07,0
+25.17482517,25.17,0
+25.27472527,25.27,0
+25.37462537,25.37,0
+25.47452547,25.47,0
+25.57442557,25.57,0
+25.67432567,25.67,0
+25.77422577,25.77,0
+25.87412587,25.87,0
+25.97402597,25.97,0
+26.07392607,26.07,0
+26.17382617,26.17,0
+26.27372627,26.27,0
+26.37362637,26.37,0
+26.47352647,26.47,0
+26.57342657,26.57,0
+26.67332667,26.67,0
+26.77322677,26.77,0
+26.87312687,26.87,0
+26.97302697,26.97,0
+27.07292707,27.07,0
+27.17282717,27.17,0
+27.27272727,27.27,0
+27.37262737,27.37,0
+27.47252747,27.47,0
+27.57242757,27.57,0
+27.67232767,27.67,0
+27.77222777,27.77,0
+27.87212787,27.87,0
+27.97202797,27.97,0
+28.07192807,28.07,0
+28.17182817,28.17,0
+28.27172827,28.27,0
+28.37162837,28.37,0
+28.47152847,28.47,0
+28.57142857,28.57,0
+28.67132867,28.67,0
+28.77122877,28.77,0
+28.87112887,28.87,0
+28.97102897,28.97,0
+29.07092907,29.07,0
+29.17082917,29.17,0
+29.27072927,29.27,0
+29.37062937,29.37,0
+29.47052947,29.47,0
+29.57042957,29.57,0
+29.67032967,29.67,0
+29.77022977,29.77,0
+29.87012987,29.87,0
+29.97002997,29.97,0
+30.06993007,30.06,0
+30.16983017,30.16,0
+30.26973027,30.26,0
+30.36963037,30.36,0
+30.46953047,30.46,0
+30.56943057,30.56,0
+30.66933067,30.66,0
+30.76923077,30.76,0
+30.86913087,30.86,0
+30.96903097,30.96,0
+31.06893107,31.06,0
+31.16883117,31.16,0
+31.26873127,31.26,0
+31.36863137,31.36,0
+31.46853147,31.46,0
+31.56843157,31.56,0
+31.66833167,31.66,0
+31.76823177,31.76,0
+31.86813187,31.86,0
+31.96803197,31.96,0
+32.06793207,32.06,0
+32.16783217,32.16,0
+32.26773227,32.26,0
+32.36763237,32.36,0
+32.46753247,32.46,0
+32.56743257,32.56,0
+32.66733267,32.66,0
+32.76723277,32.76,0
+32.86713287,32.86,0
+32.96703297,32.96,0
+33.06693307,33.06,0
+33.16683317,33.16,0
+33.26673327,33.26,0
+33.36663337,33.36,0
+33.46653347,33.46,0
+33.56643357,33.56,0
+33.66633367,33.66,0
+33.76623377,33.76,0
+33.86613387,33.86,0
+33.96603397,33.96,0
+34.06593407,34.06,0
+34.16583417,34.16,0
+34.26573427,34.26,0
+34.36563437,34.36,0
+34.46553447,34.46,0
+34.56543457,34.56,0
+34.66533467,34.66,0
+34.76523477,34.76,0
+34.86513487,34.86,0
+34.96503497,34.96,0
+35.06493506,35.06,0
+35.16483516,35.16,0
+35.26473526,35.26,0
+35.36463536,35.36,0
+35.46453546,35.46,0
+35.56443556,35.56,0
+35.66433566,35.66,0
+35.76423576,35.76,0
+35.86413586,35.86,0
+35.96403596,35.96,0
+36.06393606,36.06,0
+36.16383616,36.16,0
+36.26373626,36.26,0
+36.36363636,36.36,0
+36.46353646,36.46,0
+36.56343656,36.56,0
+36.66333666,36.66,0
+36.76323676,36.76,0
+36.86313686,36.86,0
+36.96303696,36.96,0
+37.06293706,37.06,0
+37.16283716,37.16,0
+37.26273726,37.26,0
+37.36263736,37.36,0
+37.46253746,37.46,0
+37.56243756,37.56,0
+37.66233766,37.66,0
+37.76223776,37.76,0
+37.86213786,37.86,0
+37.96203796,37.96,0
+38.06193806,38.06,0
+38.16183816,38.16,0
+38.26173826,38.26,0
+38.36163836,38.36,0
+38.46153846,38.46,0
+38.56143856,38.56,0
+38.66133866,38.66,0
+38.76123876,38.76,0
+38.86113886,38.86,0
+38.96103896,38.96,0
+39.06093906,39.06,0
+39.16083916,39.16,0
+39.26073926,39.26,0
+39.36063936,39.36,0
+39.46053946,39.46,0
+39.56043956,39.56,0
+39.66033966,39.66,0
+39.76023976,39.76,0
+39.86013986,39.86,0
+39.96003996,39.96,0
+40.05994006,40.05,0
+40.15984016,40.15,0
+40.25974026,40.25,0
+40.35964036,40.35,0
+40.45954046,40.45,0
+40.55944056,40.55,0
+40.65934066,40.65,0
+40.75924076,40.75,0
+40.85914086,40.85,0
+40.95904096,40.95,0
+41.05894106,41.05,0
+41.15884116,41.15,0
+41.25874126,41.25,0
+41.35864136,41.35,0
+41.45854146,41.45,0
+41.55844156,41.55,0
+41.65834166,41.65,0
+41.75824176,41.75,0
+41.85814186,41.85,0
+41.95804196,41.95,0
+42.05794206,42.05,0
+42.15784216,42.15,0
+42.25774226,42.25,0
+42.35764236,42.35,0
+42.45754246,42.45,0
+42.55744256,42.55,0
+42.65734266,42.65,0
+42.75724276,42.75,0
+42.85714286,42.85,0
+42.95704296,42.95,0
+43.05694306,43.05,0
+43.15684316,43.15,0
+43.25674326,43.25,0
+43.35664336,43.35,0
+43.45654346,43.45,0
+43.55644356,43.55,0
+43.65634366,43.65,0
+43.75624376,43.75,0
+43.85614386,43.85,0
+43.95604396,43.95,0
+44.05594406,44.05,0
+44.15584416,44.15,0
+44.25574426,44.25,0
+44.35564436,44.35,0
+44.45554446,44.45,0
+44.55544456,44.55,0
+44.65534466,44.65,0
+44.75524476,44.75,0
+44.85514486,44.85,0
+44.95504496,44.95,0
+45.05494505,45.05,0
+45.15484515,45.15,0
+45.25474525,45.25,0
+45.35464535,45.35,0
+45.45454545,45.45,0
+45.55444555,45.55,0
+45.65434565,45.65,0
+45.75424575,45.75,0
+45.85414585,45.85,0
+45.95404595,45.95,0
+46.05394605,46.05,0
+46.15384615,46.15,0
+46.25374625,46.25,0
+46.35364635,46.35,0
+46.45354645,46.45,0
+46.55344655,46.55,0
+46.65334665,46.65,0
+46.75324675,46.75,0
+46.85314685,46.85,0
+46.95304695,46.95,0
+47.05294705,47.05,0
+47.15284715,47.15,0
+47.25274725,47.25,0
+47.35264735,47.35,0
+47.45254745,47.45,0
+47.55244755,47.55,0
+47.65234765,47.65,0
+47.75224775,47.75,0
+47.85214785,47.85,0
+47.95204795,47.95,0
+48.05194805,48.05,0
+48.15184815,48.15,0
+48.25174825,48.25,0
+48.35164835,48.35,0
+48.45154845,48.45,0
+48.55144855,48.55,0
+48.65134865,48.65,0
+48.75124875,48.75,0
+48.85114885,48.85,0
+48.95104895,48.95,0
+49.05094905,49.05,0
+49.15084915,49.15,0
+49.25074925,49.25,0
+49.35064935,49.35,0
+49.45054945,49.45,0
+49.55044955,49.55,0
+49.65034965,49.65,0
+49.75024975,49.75,0
+49.85014985,49.85,0
+49.95004995,49.95,0
+50.04995005,50.04,0
+50.14985015,50.14,0
+50.24975025,50.24,0
+50.34965035,50.34,0
+50.44955045,50.44,0
+50.54945055,50.54,0
+50.64935065,50.64,0
+50.74925075,50.74,0
+50.84915085,50.84,0
+50.94905095,50.94,0
+51.04895105,51.04,0
+51.14885115,51.14,0
+51.24875125,51.24,0
+51.34865135,51.34,0
+51.44855145,51.44,0
+51.54845155,51.54,0
+51.64835165,51.64,0
+51.74825175,51.74,0
+51.84815185,51.84,0
+51.94805195,51.94,0
+52.04795205,52.04,0
+52.14785215,52.14,0
+52.24775225,52.24,0
+52.34765235,52.34,0
+52.44755245,52.44,0
+52.54745255,52.54,0
+52.64735265,52.64,0
+52.74725275,52.74,0
+52.84715285,52.84,0
+52.94705295,52.94,0
+53.04695305,53.04,0
+53.14685315,53.14,0
+53.24675325,53.24,0
+53.34665335,53.34,0
+53.44655345,53.44,0
+53.54645355,53.54,0
+53.64635365,53.64,0
+53.74625375,53.74,0
+53.84615385,53.84,0
+53.94605395,53.94,0
+54.04595405,54.04,0
+54.14585415,54.14,0
+54.24575425,54.24,0
+54.34565435,54.34,0
+54.44555445,54.44,0
+54.54545455,54.54,0
+54.64535465,54.64,0
+54.74525475,54.74,0
+54.84515485,54.84,0
+54.94505495,54.94,0
+55.04495504,55.04,0
+55.14485514,55.14,0
+55.24475524,55.24,0
+55.34465534,55.34,0
+55.44455544,55.44,0
+55.54445554,55.54,0
+55.64435564,55.64,0
+55.74425574,55.74,0
+55.84415584,55.84,0
+55.94405594,55.94,0
+56.04395604,56.04,0
+56.14385614,56.14,0
+56.24375624,56.24,0
+56.34365634,56.34,0
+56.44355644,56.44,0
+56.54345654,56.54,0
+56.64335664,56.64,0
+56.74325674,56.74,0
+56.84315684,56.84,0
+56.94305694,56.94,0
+57.04295704,57.04,0
+57.14285714,57.14,0
+57.24275724,57.24,0
+57.34265734,57.34,0
+57.44255744,57.44,0
+57.54245754,57.54,0
+57.64235764,57.64,0
+57.74225774,57.74,0
+57.84215784,57.84,0
+57.94205794,57.94,0
+58.04195804,58.04,0
+58.14185814,58.14,0
+58.24175824,58.24,0
+58.34165834,58.34,0
+58.44155844,58.44,0
+58.54145854,58.54,0
+58.64135864,58.64,0
+58.74125874,58.74,0
+58.84115884,58.84,0
+58.94105894,58.94,0
+59.04095904,59.04,0
+59.14085914,59.14,0
+59.24075924,59.24,0
+59.34065934,59.34,0
+59.44055944,59.44,0
+59.54045954,59.54,0
+59.64035964,59.64,0
+59.74025974,59.74,0
+59.84015984,59.84,0
+59.94005994,59.94,0
+60.03996004,60.03,0
+60.13986014,60.13,0
+60.23976024,60.23,0
+60.33966034,60.33,0
+60.43956044,60.43,0
+60.53946054,60.53,0
+60.63936064,60.63,0
+60.73926074,60.73,0
+60.83916084,60.83,0
+60.93906094,60.93,0
+61.03896104,61.03,0
+61.13886114,61.13,0
+61.23876124,61.23,0
+61.33866134,61.33,0
+61.43856144,61.43,0
+61.53846154,61.53,0
+61.63836164,61.63,0
+61.73826174,61.73,0
+61.83816184,61.83,0
+61.93806194,61.93,0
+62.03796204,62.03,0
+62.13786214,62.13,0
+62.23776224,62.23,0
+62.33766234,62.33,0
+62.43756244,62.43,0
+62.53746254,62.53,0
+62.63736264,62.63,0
+62.73726274,62.73,0
+62.83716284,62.83,0
+62.93706294,62.93,0
+63.03696304,63.03,0
+63.13686314,63.13,0
+63.23676324,63.23,0
+63.33666334,63.33,0
+63.43656344,63.43,0
+63.53646354,63.53,0
+63.63636364,63.63,0
+63.73626374,63.73,0
+63.83616384,63.83,0
+63.93606394,63.93,0
+64.03596404,64.03,0
+64.13586414,64.13,0
+64.23576424,64.23,0
+64.33566434,64.33,0
+64.43556444,64.43,0
+64.53546454,64.53,0
+64.63536464,64.63,0
+64.73526474,64.73,0
+64.83516484,64.83,0
+64.93506494,64.93,0
+65.03496503,65.03,0
+65.13486513,65.13,0
+65.23476523,65.23,0
+65.33466533,65.33,0
+65.43456543,65.43,0
+65.53446553,65.53,0
+65.63436563,65.63,0
+65.73426573,65.73,0
+65.83416583,65.83,0
+65.93406593,65.93,0
+66.03396603,66.03,0
+66.13386613,66.13,0
+66.23376623,66.23,0
+66.33366633,66.33,0
+66.43356643,66.43,0
+66.53346653,66.53,0
+66.63336663,66.63,0
+66.73326673,66.73,0
+66.83316683,66.83,0
+66.93306693,66.93,0
+67.03296703,67.03,0
+67.13286713,67.13,0
+67.23276723,67.23,0
+67.33266733,67.33,0
+67.43256743,67.43,0
+67.53246753,67.53,0
+67.63236763,67.63,0
+67.73226773,67.73,0
+67.83216783,67.83,0
+67.93206793,67.93,0
+68.03196803,68.03,0
+68.13186813,68.13,0
+68.23176823,68.23,0
+68.33166833,68.33,0
+68.43156843,68.43,0
+68.53146853,68.53,0
+68.63136863,68.63,0
+68.73126873,68.73,0
+68.83116883,68.83,0
+68.93106893,68.93,0
+69.03096903,69.03,0
+69.13086913,69.13,0
+69.23076923,69.23,0
+69.33066933,69.33,0
+69.43056943,69.43,0
+69.53046953,69.53,0
+69.63036963,69.63,0
+69.73026973,69.73,0
+69.83016983,69.83,0
+69.93006993,69.93,0
+70.02997003,70.02,0
+70.12987013,70.12,0
+70.22977023,70.22,0
+70.32967033,70.32,0
+70.42957043,70.42,0
+70.52947053,70.52,0
+70.62937063,70.62,0
+70.72927073,70.72,0
+70.82917083,70.82,0
+70.92907093,70.92,0
+71.02897103,71.02,0
+71.12887113,71.12,0
+71.22877123,71.22,0
+71.32867133,71.32,0
+71.42857143,71.42,0
+71.52847153,71.52,0
+71.62837163,71.62,0
+71.72827173,71.72,0
+71.82817183,71.82,0
+71.92807193,71.92,0
+72.02797203,72.02,0
+72.12787213,72.12,0
+72.22777223,72.22,0
+72.32767233,72.32,0
+72.42757243,72.42,0
+72.52747253,72.52,0
+72.62737263,72.62,0
+72.72727273,72.72,0
+72.82717283,72.82,0
+72.92707293,72.92,0
+73.02697303,73.02,0
+73.12687313,73.12,0
+73.22677323,73.22,0
+73.32667333,73.32,0
+73.42657343,73.42,0
+73.52647353,73.52,0
+73.62637363,73.62,0
+73.72627373,73.72,0
+73.82617383,73.82,0
+73.92607393,73.92,0
+74.02597403,74.02,0
+74.12587413,74.12,0
+74.22577423,74.22,0
+74.32567433,74.32,0
+74.42557443,74.42,0
+74.52547453,74.52,0
+74.62537463,74.62,0
+74.72527473,74.72,0
+74.82517483,74.82,0
+74.92507493,74.92,0
+75.02497502,75.02,0
+75.12487512,75.12,0
+75.22477522,75.22,0
+75.32467532,75.32,0
+75.42457542,75.42,0
+75.52447552,75.52,0
+75.62437562,75.62,0
+75.72427572,75.72,0
+75.82417582,75.82,0
+75.92407592,75.92,0
+76.02397602,76.02,0
+76.12387612,76.12,0
+76.22377622,76.22,0
+76.32367632,76.32,0
+76.42357642,76.42,0
+76.52347652,76.52,0
+76.62337662,76.62,0
+76.72327672,76.72,0
+76.82317682,76.82,0
+76.92307692,76.92,0
+77.02297702,77.02,0
+77.12287712,77.12,0
+77.22277722,77.22,0
+77.32267732,77.32,0
+77.42257742,77.42,0
+77.52247752,77.52,0
+77.62237762,77.62,0
+77.72227772,77.72,0
+77.82217782,77.82,0
+77.92207792,77.92,0
+78.02197802,78.02,0
+78.12187812,78.12,0
+78.22177822,78.22,0
+78.32167832,78.32,0
+78.42157842,78.42,0
+78.52147852,78.52,0
+78.62137862,78.62,0
+78.72127872,78.72,0
+78.82117882,78.82,0
+78.92107892,78.92,0
+79.02097902,79.02,0
+79.12087912,79.12,0
+79.22077922,79.22,0
+79.32067932,79.32,0
+79.42057942,79.42,0
+79.52047952,79.52,0
+79.62037962,79.62,0
+79.72027972,79.72,0
+79.82017982,79.82,0
+79.92007992,79.92,0
+80.01998002,80.01,0
+80.11988012,80.11,0
+80.21978022,80.21,0
+80.31968032,80.31,0
+80.41958042,80.41,0
+80.51948052,80.51,0
+80.61938062,80.61,0
+80.71928072,80.71,0
+80.81918082,80.81,0
+80.91908092,80.91,0
+81.01898102,81.01,0
+81.11888112,81.11,0
+81.21878122,81.21,0
+81.31868132,81.31,0
+81.41858142,81.41,0
+81.51848152,81.51,0
+81.61838162,81.61,0
+81.71828172,81.71,0
+81.81818182,81.81,0
+81.91808192,81.91,0
+82.01798202,82.01,0
+82.11788212,82.11,0
+82.21778222,82.21,0
+82.31768232,82.31,0
+82.41758242,82.41,0
+82.51748252,82.51,0
+82.61738262,82.61,0
+82.71728272,82.71,0
+82.81718282,82.81,0
+82.91708292,82.91,0
+83.01698302,83.01,0
+83.11688312,83.11,0
+83.21678322,83.21,0
+83.31668332,83.31,0
+83.41658342,83.41,0
+83.51648352,83.51,0
+83.61638362,83.61,0
+83.71628372,83.71,0
+83.81618382,83.81,0
+83.91608392,83.91,0
+84.01598402,84.01,0
+84.11588412,84.11,0
+84.21578422,84.21,0
+84.31568432,84.31,0
+84.41558442,84.41,0
+84.51548452,84.51,0
+84.61538462,84.61,0
+84.71528472,84.71,0
+84.81518482,84.81,0
+84.91508492,84.91,0
+85.01498501,85.01,0
+85.11488511,85.11,0
+85.21478521,85.21,0
+85.31468531,85.31,0
+85.41458541,85.41,0
+85.51448551,85.51,0
+85.61438561,85.61,0
+85.71428571,85.71,0
+85.81418581,85.81,0
+85.91408591,85.91,0
+86.01398601,86.01,0
+86.11388611,86.11,0
+86.21378621,86.21,0
+86.31368631,86.31,0
+86.41358641,86.41,0
+86.51348651,86.51,0
+86.61338661,86.61,0
+86.71328671,86.71,0
+86.81318681,86.81,0
+86.91308691,86.91,0
+87.01298701,87.01,0
+87.11288711,87.11,0
+87.21278721,87.21,0
+87.31268731,87.31,0
+87.41258741,87.41,0
+87.51248751,87.51,0
+87.61238761,87.61,0
+87.71228771,87.71,0
+87.81218781,87.81,0
+87.91208791,87.91,0
+88.01198801,88.01,0
+88.11188811,88.11,0
+88.21178821,88.21,0
+88.31168831,88.31,0
+88.41158841,88.41,0
+88.51148851,88.51,0
+88.61138861,88.61,0
+88.71128871,88.71,0
+88.81118881,88.81,0
+88.91108891,88.91,0
+89.01098901,89.01,0
+89.11088911,89.11,0
+89.21078921,89.21,0
+89.31068931,89.31,0
+89.41058941,89.41,0
+89.51048951,89.51,0
+89.61038961,89.61,0
+89.71028971,89.71,0
+89.81018981,89.81,0
+89.91008991,89.91,0
+90.00999001,90,0
+90.10989011,90.1,0
+90.20979021,90.2,0
+90.30969031,90.3,0
+90.40959041,90.4,0
+90.50949051,90.5,0
+90.60939061,90.6,0
+90.70929071,90.7,0
+90.80919081,90.8,0
+90.90909091,90.9,0
+91.00899101,91,0
+91.10889111,91.1,0
+91.20879121,91.2,0
+91.30869131,91.3,0
+91.40859141,91.4,0
+91.50849151,91.5,0
+91.60839161,91.6,0
+91.70829171,91.7,0
+91.80819181,91.8,0
+91.90809191,91.9,0
+92.00799201,92,0
+92.10789211,92.1,0
+92.20779221,92.2,0
+92.30769231,92.3,0
+92.40759241,92.4,0
+92.50749251,92.5,0
+92.60739261,92.6,0
+92.70729271,92.7,0
+92.80719281,92.8,0
+92.90709291,92.9,0
+93.00699301,93,0
+93.10689311,93.1,0
+93.20679321,93.2,0
+93.30669331,93.3,0
+93.40659341,93.4,0
+93.50649351,93.5,0
+93.60639361,93.6,0
+93.70629371,93.7,0
+93.80619381,93.8,0
+93.90609391,93.9,0
+94.00599401,94,0
+94.10589411,94.1,0
+94.20579421,94.2,0
+94.30569431,94.3,0
+94.40559441,94.4,0
+94.50549451,94.5,0
+94.60539461,94.6,0
+94.70529471,94.7,0
+94.80519481,94.8,0
+94.90509491,94.9,0
+95.004995,95,0
+95.1048951,95.1,0
+95.2047952,95.2,0
+95.3046953,95.3,0
+95.4045954,95.4,0
+95.5044955,95.5,0
+95.6043956,95.6,0
+95.7042957,95.7,0
+95.8041958,95.8,0
+95.9040959,95.9,0
+96.003996,96,0
+96.1038961,96.1,0
+96.2037962,96.2,0
+96.3036963,96.3,0
+96.4035964,96.4,0
+96.5034965,96.5,0
+96.6033966,96.6,0
+96.7032967,96.7,0
+96.8031968,96.8,0
+96.9030969,96.9,0
+97.002997,97,0
+97.1028971,97.1,0
+97.2027972,97.2,0
+97.3026973,97.3,0
+97.4025974,97.4,0
+97.5024975,97.5,0
+97.6023976,97.6,0
+97.7022977,97.7,0
+97.8021978,97.8,0
+97.9020979,97.9,0
+98.001998,98,0
+98.1018981,98.1,0
+98.2017982,98.2,0
+98.3016983,98.3,0
+98.4015984,98.4,0
+98.5014985,98.5,0
+98.6013986,98.6,0
+98.7012987,98.7,0
+98.8011988,98.8,0
+98.9010989,98.9,0
+99.000999,99,0
+99.1008991,99.1,0
+99.2007992,99.2,0
+99.3006993,99.3,0
+99.4005994,99.4,0
+99.5004995,99.5,0
+99.6003996,99.6,0
+99.7002997,99.7,0
+99.8001998,99.8,0
+99.9000999,99.9,0
+100,99.99,0
diff --git a/models/sbml-test-suite/cases/semantic/00952/00952-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00952/00952-sbml-l3v1.xml
new file mode 100644
index 0000000..ae50942
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00952/00952-sbml-l3v1.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 12:30 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00952" name="case00952">
+    <listOfParameters>
+      <parameter id="S" value="0"  constant="false"/>
+      <parameter id="Q" value="0" constant="false"/>
+      <parameter id="R" value="0" constant="false"/>
+      <parameter id="reset" value="0" constant="false"/>
+      <parameter id="error" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="S">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> Q </ci>
+            <ci> R </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="Qinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Rinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="error_check" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <abs/>
+                <apply>
+                  <minus/>
+                  <ci> Q </ci>
+                  <ci> R </ci>
+                </apply>
+              </apply>
+              <cn type="integer"> 4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="error">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00952/00952-settings.txt b/models/sbml-test-suite/cases/semantic/00952/00952-settings.txt
new file mode 100644
index 0000000..e89905b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00952/00952-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 100
+steps: 1001
+variables: S, error
+absolute: 0.03
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00953/00953-results.csv b/models/sbml-test-suite/cases/semantic/00953/00953-results.csv
new file mode 100644
index 0000000..d165009
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00953/00953-results.csv
@@ -0,0 +1,1003 @@
+time,S
+0,0
+0.0999001,0.09
+0.1998002,0.19
+0.2997003,0.29
+0.3996004,0.39
+0.4995005,0.49
+0.599400599,0.59
+0.699300699,0.69
+0.799200799,0.79
+0.899100899,0.89
+0.999000999,0.99
+1.098901099,1.09
+1.198801199,1.19
+1.298701299,1.29
+1.398601399,1.39
+1.498501499,1.49
+1.598401598,1.59
+1.698301698,1.69
+1.798201798,1.79
+1.898101898,1.89
+1.998001998,1.99
+2.097902098,2.09
+2.197802198,2.19
+2.297702298,2.29
+2.397602398,2.39
+2.497502498,2.49
+2.597402597,2.59
+2.697302697,2.69
+2.797202797,2.79
+2.897102897,2.89
+2.997002997,2.99
+3.096903097,3.09
+3.196803197,3.19
+3.296703297,3.29
+3.396603397,3.39
+3.496503497,3.49
+3.596403596,3.59
+3.696303696,3.69
+3.796203796,3.79
+3.896103896,3.89
+3.996003996,3.99
+4.095904096,4.09
+4.195804196,4.19
+4.295704296,4.29
+4.395604396,4.39
+4.495504496,4.49
+4.595404595,4.59
+4.695304695,4.69
+4.795204795,4.79
+4.895104895,4.89
+4.995004995,4.99
+5.094905095,5.09
+5.194805195,5.19
+5.294705295,5.29
+5.394605395,5.39
+5.494505495,5.49
+5.594405594,5.59
+5.694305694,5.69
+5.794205794,5.79
+5.894105894,5.89
+5.994005994,5.99
+6.093906094,6.09
+6.193806194,6.19
+6.293706294,6.29
+6.393606394,6.39
+6.493506494,6.49
+6.593406593,6.59
+6.693306693,6.69
+6.793206793,6.79
+6.893106893,6.89
+6.993006993,6.99
+7.092907093,7.09
+7.192807193,7.19
+7.292707293,7.29
+7.392607393,7.39
+7.492507493,7.49
+7.592407592,7.59
+7.692307692,7.69
+7.792207792,7.79
+7.892107892,7.89
+7.992007992,7.99
+8.091908092,8.09
+8.191808192,8.19
+8.291708292,8.29
+8.391608392,8.39
+8.491508492,8.49
+8.591408591,8.59
+8.691308691,8.69
+8.791208791,8.79
+8.891108891,8.89
+8.991008991,8.99
+9.090909091,9.09
+9.190809191,9.19
+9.290709291,9.29
+9.390609391,9.39
+9.490509491,9.49
+9.59040959,9.59
+9.69030969,9.69
+9.79020979,9.79
+9.89010989,9.89
+9.99000999,9.99
+10.08991009,10.08
+10.18981019,10.18
+10.28971029,10.28
+10.38961039,10.38
+10.48951049,10.48
+10.58941059,10.58
+10.68931069,10.68
+10.78921079,10.78
+10.88911089,10.88
+10.98901099,10.98
+11.08891109,11.08
+11.18881119,11.18
+11.28871129,11.28
+11.38861139,11.38
+11.48851149,11.48
+11.58841159,11.58
+11.68831169,11.68
+11.78821179,11.78
+11.88811189,11.88
+11.98801199,11.98
+12.08791209,12.08
+12.18781219,12.18
+12.28771229,12.28
+12.38761239,12.38
+12.48751249,12.48
+12.58741259,12.58
+12.68731269,12.68
+12.78721279,12.78
+12.88711289,12.88
+12.98701299,12.98
+13.08691309,13.08
+13.18681319,13.18
+13.28671329,13.28
+13.38661339,13.38
+13.48651349,13.48
+13.58641359,13.58
+13.68631369,13.68
+13.78621379,13.78
+13.88611389,13.88
+13.98601399,13.98
+14.08591409,14.08
+14.18581419,14.18
+14.28571429,14.28
+14.38561439,14.38
+14.48551449,14.48
+14.58541459,14.58
+14.68531469,14.68
+14.78521479,14.78
+14.88511489,14.88
+14.98501499,14.98
+15.08491508,15.08
+15.18481518,15.18
+15.28471528,15.28
+15.38461538,15.38
+15.48451548,15.48
+15.58441558,15.58
+15.68431568,15.68
+15.78421578,15.78
+15.88411588,15.88
+15.98401598,15.98
+16.08391608,16.08
+16.18381618,16.18
+16.28371628,16.28
+16.38361638,16.38
+16.48351648,16.48
+16.58341658,16.58
+16.68331668,16.68
+16.78321678,16.78
+16.88311688,16.88
+16.98301698,16.98
+17.08291708,17.08
+17.18281718,17.18
+17.28271728,17.28
+17.38261738,17.38
+17.48251748,17.48
+17.58241758,17.58
+17.68231768,17.68
+17.78221778,17.78
+17.88211788,17.88
+17.98201798,17.98
+18.08191808,18.08
+18.18181818,18.18
+18.28171828,18.28
+18.38161838,18.38
+18.48151848,18.48
+18.58141858,18.58
+18.68131868,18.68
+18.78121878,18.78
+18.88111888,18.88
+18.98101898,18.98
+19.08091908,19.08
+19.18081918,19.18
+19.28071928,19.28
+19.38061938,19.38
+19.48051948,19.48
+19.58041958,19.58
+19.68031968,19.68
+19.78021978,19.78
+19.88011988,19.88
+19.98001998,19.98
+20.07992008,20.07
+20.17982018,20.17
+20.27972028,20.27
+20.37962038,20.37
+20.47952048,20.47
+20.57942058,20.57
+20.67932068,20.67
+20.77922078,20.77
+20.87912088,20.87
+20.97902098,20.97
+21.07892108,21.07
+21.17882118,21.17
+21.27872128,21.27
+21.37862138,21.37
+21.47852148,21.47
+21.57842158,21.57
+21.67832168,21.67
+21.77822178,21.77
+21.87812188,21.87
+21.97802198,21.97
+22.07792208,22.07
+22.17782218,22.17
+22.27772228,22.27
+22.37762238,22.37
+22.47752248,22.47
+22.57742258,22.57
+22.67732268,22.67
+22.77722278,22.77
+22.87712288,22.87
+22.97702298,22.97
+23.07692308,23.07
+23.17682318,23.17
+23.27672328,23.27
+23.37662338,23.37
+23.47652348,23.47
+23.57642358,23.57
+23.67632368,23.67
+23.77622378,23.77
+23.87612388,23.87
+23.97602398,23.97
+24.07592408,24.07
+24.17582418,24.17
+24.27572428,24.27
+24.37562438,24.37
+24.47552448,24.47
+24.57542458,24.57
+24.67532468,24.67
+24.77522478,24.77
+24.87512488,24.87
+24.97502498,24.97
+25.07492507,25.07
+25.17482517,25.17
+25.27472527,25.27
+25.37462537,25.37
+25.47452547,25.47
+25.57442557,25.57
+25.67432567,25.67
+25.77422577,25.77
+25.87412587,25.87
+25.97402597,25.97
+26.07392607,26.07
+26.17382617,26.17
+26.27372627,26.27
+26.37362637,26.37
+26.47352647,26.47
+26.57342657,26.57
+26.67332667,26.67
+26.77322677,26.77
+26.87312687,26.87
+26.97302697,26.97
+27.07292707,27.07
+27.17282717,27.17
+27.27272727,27.27
+27.37262737,27.37
+27.47252747,27.47
+27.57242757,27.57
+27.67232767,27.67
+27.77222777,27.77
+27.87212787,27.87
+27.97202797,27.97
+28.07192807,28.07
+28.17182817,28.17
+28.27172827,28.27
+28.37162837,28.37
+28.47152847,28.47
+28.57142857,28.57
+28.67132867,28.67
+28.77122877,28.77
+28.87112887,28.87
+28.97102897,28.97
+29.07092907,29.07
+29.17082917,29.17
+29.27072927,29.27
+29.37062937,29.37
+29.47052947,29.47
+29.57042957,29.57
+29.67032967,29.67
+29.77022977,29.77
+29.87012987,29.87
+29.97002997,29.97
+30.06993007,30.06
+30.16983017,30.16
+30.26973027,30.26
+30.36963037,30.36
+30.46953047,30.46
+30.56943057,30.56
+30.66933067,30.66
+30.76923077,30.76
+30.86913087,30.86
+30.96903097,30.96
+31.06893107,31.06
+31.16883117,31.16
+31.26873127,31.26
+31.36863137,31.36
+31.46853147,31.46
+31.56843157,31.56
+31.66833167,31.66
+31.76823177,31.76
+31.86813187,31.86
+31.96803197,31.96
+32.06793207,32.06
+32.16783217,32.16
+32.26773227,32.26
+32.36763237,32.36
+32.46753247,32.46
+32.56743257,32.56
+32.66733267,32.66
+32.76723277,32.76
+32.86713287,32.86
+32.96703297,32.96
+33.06693307,33.06
+33.16683317,33.16
+33.26673327,33.26
+33.36663337,33.36
+33.46653347,33.46
+33.56643357,33.56
+33.66633367,33.66
+33.76623377,33.76
+33.86613387,33.86
+33.96603397,33.96
+34.06593407,34.06
+34.16583417,34.16
+34.26573427,34.26
+34.36563437,34.36
+34.46553447,34.46
+34.56543457,34.56
+34.66533467,34.66
+34.76523477,34.76
+34.86513487,34.86
+34.96503497,34.96
+35.06493506,35.06
+35.16483516,35.16
+35.26473526,35.26
+35.36463536,35.36
+35.46453546,35.46
+35.56443556,35.56
+35.66433566,35.66
+35.76423576,35.76
+35.86413586,35.86
+35.96403596,35.96
+36.06393606,36.06
+36.16383616,36.16
+36.26373626,36.26
+36.36363636,36.36
+36.46353646,36.46
+36.56343656,36.56
+36.66333666,36.66
+36.76323676,36.76
+36.86313686,36.86
+36.96303696,36.96
+37.06293706,37.06
+37.16283716,37.16
+37.26273726,37.26
+37.36263736,37.36
+37.46253746,37.46
+37.56243756,37.56
+37.66233766,37.66
+37.76223776,37.76
+37.86213786,37.86
+37.96203796,37.96
+38.06193806,38.06
+38.16183816,38.16
+38.26173826,38.26
+38.36163836,38.36
+38.46153846,38.46
+38.56143856,38.56
+38.66133866,38.66
+38.76123876,38.76
+38.86113886,38.86
+38.96103896,38.96
+39.06093906,39.06
+39.16083916,39.16
+39.26073926,39.26
+39.36063936,39.36
+39.46053946,39.46
+39.56043956,39.56
+39.66033966,39.66
+39.76023976,39.76
+39.86013986,39.86
+39.96003996,39.96
+40.05994006,40.05
+40.15984016,40.15
+40.25974026,40.25
+40.35964036,40.35
+40.45954046,40.45
+40.55944056,40.55
+40.65934066,40.65
+40.75924076,40.75
+40.85914086,40.85
+40.95904096,40.95
+41.05894106,41.05
+41.15884116,41.15
+41.25874126,41.25
+41.35864136,41.35
+41.45854146,41.45
+41.55844156,41.55
+41.65834166,41.65
+41.75824176,41.75
+41.85814186,41.85
+41.95804196,41.95
+42.05794206,42.05
+42.15784216,42.15
+42.25774226,42.25
+42.35764236,42.35
+42.45754246,42.45
+42.55744256,42.55
+42.65734266,42.65
+42.75724276,42.75
+42.85714286,42.85
+42.95704296,42.95
+43.05694306,43.05
+43.15684316,43.15
+43.25674326,43.25
+43.35664336,43.35
+43.45654346,43.45
+43.55644356,43.55
+43.65634366,43.65
+43.75624376,43.75
+43.85614386,43.85
+43.95604396,43.95
+44.05594406,44.05
+44.15584416,44.15
+44.25574426,44.25
+44.35564436,44.35
+44.45554446,44.45
+44.55544456,44.55
+44.65534466,44.65
+44.75524476,44.75
+44.85514486,44.85
+44.95504496,44.95
+45.05494505,45.05
+45.15484515,45.15
+45.25474525,45.25
+45.35464535,45.35
+45.45454545,45.45
+45.55444555,45.55
+45.65434565,45.65
+45.75424575,45.75
+45.85414585,45.85
+45.95404595,45.95
+46.05394605,46.05
+46.15384615,46.15
+46.25374625,46.25
+46.35364635,46.35
+46.45354645,46.45
+46.55344655,46.55
+46.65334665,46.65
+46.75324675,46.75
+46.85314685,46.85
+46.95304695,46.95
+47.05294705,47.05
+47.15284715,47.15
+47.25274725,47.25
+47.35264735,47.35
+47.45254745,47.45
+47.55244755,47.55
+47.65234765,47.65
+47.75224775,47.75
+47.85214785,47.85
+47.95204795,47.95
+48.05194805,48.05
+48.15184815,48.15
+48.25174825,48.25
+48.35164835,48.35
+48.45154845,48.45
+48.55144855,48.55
+48.65134865,48.65
+48.75124875,48.75
+48.85114885,48.85
+48.95104895,48.95
+49.05094905,49.05
+49.15084915,49.15
+49.25074925,49.25
+49.35064935,49.35
+49.45054945,49.45
+49.55044955,49.55
+49.65034965,49.65
+49.75024975,49.75
+49.85014985,49.85
+49.95004995,49.95
+50.04995005,50.04
+50.14985015,50.14
+50.24975025,50.24
+50.34965035,50.34
+50.44955045,50.44
+50.54945055,50.54
+50.64935065,50.64
+50.74925075,50.74
+50.84915085,50.84
+50.94905095,50.94
+51.04895105,51.04
+51.14885115,51.14
+51.24875125,51.24
+51.34865135,51.34
+51.44855145,51.44
+51.54845155,51.54
+51.64835165,51.64
+51.74825175,51.74
+51.84815185,51.84
+51.94805195,51.94
+52.04795205,52.04
+52.14785215,52.14
+52.24775225,52.24
+52.34765235,52.34
+52.44755245,52.44
+52.54745255,52.54
+52.64735265,52.64
+52.74725275,52.74
+52.84715285,52.84
+52.94705295,52.94
+53.04695305,53.04
+53.14685315,53.14
+53.24675325,53.24
+53.34665335,53.34
+53.44655345,53.44
+53.54645355,53.54
+53.64635365,53.64
+53.74625375,53.74
+53.84615385,53.84
+53.94605395,53.94
+54.04595405,54.04
+54.14585415,54.14
+54.24575425,54.24
+54.34565435,54.34
+54.44555445,54.44
+54.54545455,54.54
+54.64535465,54.64
+54.74525475,54.74
+54.84515485,54.84
+54.94505495,54.94
+55.04495504,55.04
+55.14485514,55.14
+55.24475524,55.24
+55.34465534,55.34
+55.44455544,55.44
+55.54445554,55.54
+55.64435564,55.64
+55.74425574,55.74
+55.84415584,55.84
+55.94405594,55.94
+56.04395604,56.04
+56.14385614,56.14
+56.24375624,56.24
+56.34365634,56.34
+56.44355644,56.44
+56.54345654,56.54
+56.64335664,56.64
+56.74325674,56.74
+56.84315684,56.84
+56.94305694,56.94
+57.04295704,57.04
+57.14285714,57.14
+57.24275724,57.24
+57.34265734,57.34
+57.44255744,57.44
+57.54245754,57.54
+57.64235764,57.64
+57.74225774,57.74
+57.84215784,57.84
+57.94205794,57.94
+58.04195804,58.04
+58.14185814,58.14
+58.24175824,58.24
+58.34165834,58.34
+58.44155844,58.44
+58.54145854,58.54
+58.64135864,58.64
+58.74125874,58.74
+58.84115884,58.84
+58.94105894,58.94
+59.04095904,59.04
+59.14085914,59.14
+59.24075924,59.24
+59.34065934,59.34
+59.44055944,59.44
+59.54045954,59.54
+59.64035964,59.64
+59.74025974,59.74
+59.84015984,59.84
+59.94005994,59.94
+60.03996004,60.03
+60.13986014,60.13
+60.23976024,60.23
+60.33966034,60.33
+60.43956044,60.43
+60.53946054,60.53
+60.63936064,60.63
+60.73926074,60.73
+60.83916084,60.83
+60.93906094,60.93
+61.03896104,61.03
+61.13886114,61.13
+61.23876124,61.23
+61.33866134,61.33
+61.43856144,61.43
+61.53846154,61.53
+61.63836164,61.63
+61.73826174,61.73
+61.83816184,61.83
+61.93806194,61.93
+62.03796204,62.03
+62.13786214,62.13
+62.23776224,62.23
+62.33766234,62.33
+62.43756244,62.43
+62.53746254,62.53
+62.63736264,62.63
+62.73726274,62.73
+62.83716284,62.83
+62.93706294,62.93
+63.03696304,63.03
+63.13686314,63.13
+63.23676324,63.23
+63.33666334,63.33
+63.43656344,63.43
+63.53646354,63.53
+63.63636364,63.63
+63.73626374,63.73
+63.83616384,63.83
+63.93606394,63.93
+64.03596404,64.03
+64.13586414,64.13
+64.23576424,64.23
+64.33566434,64.33
+64.43556444,64.43
+64.53546454,64.53
+64.63536464,64.63
+64.73526474,64.73
+64.83516484,64.83
+64.93506494,64.93
+65.03496503,65.03
+65.13486513,65.13
+65.23476523,65.23
+65.33466533,65.33
+65.43456543,65.43
+65.53446553,65.53
+65.63436563,65.63
+65.73426573,65.73
+65.83416583,65.83
+65.93406593,65.93
+66.03396603,66.03
+66.13386613,66.13
+66.23376623,66.23
+66.33366633,66.33
+66.43356643,66.43
+66.53346653,66.53
+66.63336663,66.63
+66.73326673,66.73
+66.83316683,66.83
+66.93306693,66.93
+67.03296703,67.03
+67.13286713,67.13
+67.23276723,67.23
+67.33266733,67.33
+67.43256743,67.43
+67.53246753,67.53
+67.63236763,67.63
+67.73226773,67.73
+67.83216783,67.83
+67.93206793,67.93
+68.03196803,68.03
+68.13186813,68.13
+68.23176823,68.23
+68.33166833,68.33
+68.43156843,68.43
+68.53146853,68.53
+68.63136863,68.63
+68.73126873,68.73
+68.83116883,68.83
+68.93106893,68.93
+69.03096903,69.03
+69.13086913,69.13
+69.23076923,69.23
+69.33066933,69.33
+69.43056943,69.43
+69.53046953,69.53
+69.63036963,69.63
+69.73026973,69.73
+69.83016983,69.83
+69.93006993,69.93
+70.02997003,70.02
+70.12987013,70.12
+70.22977023,70.22
+70.32967033,70.32
+70.42957043,70.42
+70.52947053,70.52
+70.62937063,70.62
+70.72927073,70.72
+70.82917083,70.82
+70.92907093,70.92
+71.02897103,71.02
+71.12887113,71.12
+71.22877123,71.22
+71.32867133,71.32
+71.42857143,71.42
+71.52847153,71.52
+71.62837163,71.62
+71.72827173,71.72
+71.82817183,71.82
+71.92807193,71.92
+72.02797203,72.02
+72.12787213,72.12
+72.22777223,72.22
+72.32767233,72.32
+72.42757243,72.42
+72.52747253,72.52
+72.62737263,72.62
+72.72727273,72.72
+72.82717283,72.82
+72.92707293,72.92
+73.02697303,73.02
+73.12687313,73.12
+73.22677323,73.22
+73.32667333,73.32
+73.42657343,73.42
+73.52647353,73.52
+73.62637363,73.62
+73.72627373,73.72
+73.82617383,73.82
+73.92607393,73.92
+74.02597403,74.02
+74.12587413,74.12
+74.22577423,74.22
+74.32567433,74.32
+74.42557443,74.42
+74.52547453,74.52
+74.62537463,74.62
+74.72527473,74.72
+74.82517483,74.82
+74.92507493,74.92
+75.02497502,75.02
+75.12487512,75.12
+75.22477522,75.22
+75.32467532,75.32
+75.42457542,75.42
+75.52447552,75.52
+75.62437562,75.62
+75.72427572,75.72
+75.82417582,75.82
+75.92407592,75.92
+76.02397602,76.02
+76.12387612,76.12
+76.22377622,76.22
+76.32367632,76.32
+76.42357642,76.42
+76.52347652,76.52
+76.62337662,76.62
+76.72327672,76.72
+76.82317682,76.82
+76.92307692,76.92
+77.02297702,77.02
+77.12287712,77.12
+77.22277722,77.22
+77.32267732,77.32
+77.42257742,77.42
+77.52247752,77.52
+77.62237762,77.62
+77.72227772,77.72
+77.82217782,77.82
+77.92207792,77.92
+78.02197802,78.02
+78.12187812,78.12
+78.22177822,78.22
+78.32167832,78.32
+78.42157842,78.42
+78.52147852,78.52
+78.62137862,78.62
+78.72127872,78.72
+78.82117882,78.82
+78.92107892,78.92
+79.02097902,79.02
+79.12087912,79.12
+79.22077922,79.22
+79.32067932,79.32
+79.42057942,79.42
+79.52047952,79.52
+79.62037962,79.62
+79.72027972,79.72
+79.82017982,79.82
+79.92007992,79.92
+80.01998002,80.01
+80.11988012,80.11
+80.21978022,80.21
+80.31968032,80.31
+80.41958042,80.41
+80.51948052,80.51
+80.61938062,80.61
+80.71928072,80.71
+80.81918082,80.81
+80.91908092,80.91
+81.01898102,81.01
+81.11888112,81.11
+81.21878122,81.21
+81.31868132,81.31
+81.41858142,81.41
+81.51848152,81.51
+81.61838162,81.61
+81.71828172,81.71
+81.81818182,81.81
+81.91808192,81.91
+82.01798202,82.01
+82.11788212,82.11
+82.21778222,82.21
+82.31768232,82.31
+82.41758242,82.41
+82.51748252,82.51
+82.61738262,82.61
+82.71728272,82.71
+82.81718282,82.81
+82.91708292,82.91
+83.01698302,83.01
+83.11688312,83.11
+83.21678322,83.21
+83.31668332,83.31
+83.41658342,83.41
+83.51648352,83.51
+83.61638362,83.61
+83.71628372,83.71
+83.81618382,83.81
+83.91608392,83.91
+84.01598402,84.01
+84.11588412,84.11
+84.21578422,84.21
+84.31568432,84.31
+84.41558442,84.41
+84.51548452,84.51
+84.61538462,84.61
+84.71528472,84.71
+84.81518482,84.81
+84.91508492,84.91
+85.01498501,85.01
+85.11488511,85.11
+85.21478521,85.21
+85.31468531,85.31
+85.41458541,85.41
+85.51448551,85.51
+85.61438561,85.61
+85.71428571,85.71
+85.81418581,85.81
+85.91408591,85.91
+86.01398601,86.01
+86.11388611,86.11
+86.21378621,86.21
+86.31368631,86.31
+86.41358641,86.41
+86.51348651,86.51
+86.61338661,86.61
+86.71328671,86.71
+86.81318681,86.81
+86.91308691,86.91
+87.01298701,87.01
+87.11288711,87.11
+87.21278721,87.21
+87.31268731,87.31
+87.41258741,87.41
+87.51248751,87.51
+87.61238761,87.61
+87.71228771,87.71
+87.81218781,87.81
+87.91208791,87.91
+88.01198801,88.01
+88.11188811,88.11
+88.21178821,88.21
+88.31168831,88.31
+88.41158841,88.41
+88.51148851,88.51
+88.61138861,88.61
+88.71128871,88.71
+88.81118881,88.81
+88.91108891,88.91
+89.01098901,89.01
+89.11088911,89.11
+89.21078921,89.21
+89.31068931,89.31
+89.41058941,89.41
+89.51048951,89.51
+89.61038961,89.61
+89.71028971,89.71
+89.81018981,89.81
+89.91008991,89.91
+90.00999001,90
+90.10989011,90.1
+90.20979021,90.2
+90.30969031,90.3
+90.40959041,90.4
+90.50949051,90.5
+90.60939061,90.6
+90.70929071,90.7
+90.80919081,90.8
+90.90909091,90.9
+91.00899101,91
+91.10889111,91.1
+91.20879121,91.2
+91.30869131,91.3
+91.40859141,91.4
+91.50849151,91.5
+91.60839161,91.6
+91.70829171,91.7
+91.80819181,91.8
+91.90809191,91.9
+92.00799201,92
+92.10789211,92.1
+92.20779221,92.2
+92.30769231,92.3
+92.40759241,92.4
+92.50749251,92.5
+92.60739261,92.6
+92.70729271,92.7
+92.80719281,92.8
+92.90709291,92.9
+93.00699301,93
+93.10689311,93.1
+93.20679321,93.2
+93.30669331,93.3
+93.40659341,93.4
+93.50649351,93.5
+93.60639361,93.6
+93.70629371,93.7
+93.80619381,93.8
+93.90609391,93.9
+94.00599401,94
+94.10589411,94.1
+94.20579421,94.2
+94.30569431,94.3
+94.40559441,94.4
+94.50549451,94.5
+94.60539461,94.6
+94.70529471,94.7
+94.80519481,94.8
+94.90509491,94.9
+95.004995,95
+95.1048951,95.1
+95.2047952,95.2
+95.3046953,95.3
+95.4045954,95.4
+95.5044955,95.5
+95.6043956,95.6
+95.7042957,95.7
+95.8041958,95.8
+95.9040959,95.9
+96.003996,96
+96.1038961,96.1
+96.2037962,96.2
+96.3036963,96.3
+96.4035964,96.4
+96.5034965,96.5
+96.6033966,96.6
+96.7032967,96.7
+96.8031968,96.8
+96.9030969,96.9
+97.002997,97
+97.1028971,97.1
+97.2027972,97.2
+97.3026973,97.3
+97.4025974,97.4
+97.5024975,97.5
+97.6023976,97.6
+97.7022977,97.7
+97.8021978,97.8
+97.9020979,97.9
+98.001998,98
+98.1018981,98.1
+98.2017982,98.2
+98.3016983,98.3
+98.4015984,98.4
+98.5014985,98.5
+98.6013986,98.6
+98.7012987,98.7
+98.8011988,98.8
+98.9010989,98.9
+99.000999,99
+99.1008991,99.1
+99.2007992,99.2
+99.3006993,99.3
+99.4005994,99.4
+99.5004995,99.5
+99.6003996,99.6
+99.7002997,99.7
+99.8001998,99.8
+99.9000999,99.9
+100,99.99
diff --git a/models/sbml-test-suite/cases/semantic/00953/00953-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00953/00953-sbml-l3v1.xml
new file mode 100644
index 0000000..bcd1073
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00953/00953-sbml-l3v1.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00952" name="case00952" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="S" constant="false"/>
+      <parameter id="Q" value="0" constant="false"/>
+      <parameter id="R" value="0" constant="false"/>
+      <parameter id="reset" value="0" constant="false"/>
+      <parameter id="error" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="S">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> Q </ci>
+            <ci> R </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="Qinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Rinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00953/00953-settings.txt b/models/sbml-test-suite/cases/semantic/00953/00953-settings.txt
new file mode 100644
index 0000000..fda585b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00953/00953-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 100
+steps: 1001
+variables: S
+absolute: 0.01
+relative: 0.01
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00954/00954-antimony.txt b/models/sbml-test-suite/cases/semantic/00954/00954-antimony.txt
new file mode 100644
index 0000000..b1bb54f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00954/00954-antimony.txt
@@ -0,0 +1,45 @@
+model case000954()
+  P1 = 3.7;
+  P2  := abs(-1);
+  P3  := abs(1);
+  P4  := acos(-1);
+  P5  := acos(.5);
+  P6  := asin(1);
+  P7  := asin(-.5);
+  P8  := atan(2.8);
+  P9  := atan(-7.09);
+  P10 := ceil(.5);
+  P11 := ceil(3.55);
+  P12 := ceil(-4.6);
+  P13 := cos(9.1);
+  P14 := cos(-0.22);
+  P15 := exp(0);
+  P16 := exp(1);
+  P17 := exp(.77);
+  P18 := floor(-4.6);
+  P19 := floor(9.1);
+  P20 := log(.2);
+  P21 := log(1);
+  P22 := log10(.2);
+  P23 := log10(1);
+  P24 := pow(1, 2);
+  P25 := pow(2, 2);
+  P26 := pow(1.4, 5.1);
+  P27 := sqr(4);
+  P28 := sqr(3.1);
+  P29 := sqrt(4);
+  P30 := sqrt(7.4);
+  P31 := sin(2.1);
+  P32 := sin(0);
+  P33 := sin(-5.9);
+  P34 := tan(0);
+  P35 := tan(1.11);
+  P36 := tan(-6);
+  P37 := 1 + 2;
+  P38 := 1 - 2;
+  P39 := 5/2;
+  P40 := 8*3;
+
+  
+end
+
diff --git a/models/sbml-test-suite/cases/semantic/00954/00954-results.csv b/models/sbml-test-suite/cases/semantic/00954/00954-results.csv
new file mode 100644
index 0000000..2ea0411
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00954/00954-results.csv
@@ -0,0 +1,12 @@
+time,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40
+0,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.1,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.2,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.3,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.4,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.5,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.6,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.7,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.8,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.9,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+1,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
diff --git a/models/sbml-test-suite/cases/semantic/00954/00954-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00954/00954-sbml-l1v2.xml
new file mode 100644
index 0000000..ddcdf33
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00954/00954-sbml-l1v2.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case000954">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="c" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter name="P1" value="3.7"/>
+      <parameter name="P2"/>
+      <parameter name="P3"/>
+      <parameter name="P4"/>
+      <parameter name="P5"/>
+      <parameter name="P6"/>
+      <parameter name="P7"/>
+      <parameter name="P8"/>
+      <parameter name="P9"/>
+      <parameter name="P10"/>
+      <parameter name="P11"/>
+      <parameter name="P12"/>
+      <parameter name="P13"/>
+      <parameter name="P14"/>
+      <parameter name="P15"/>
+      <parameter name="P16"/>
+      <parameter name="P17"/>
+      <parameter name="P18"/>
+      <parameter name="P19"/>
+      <parameter name="P20"/>
+      <parameter name="P21"/>
+      <parameter name="P22"/>
+      <parameter name="P23"/>
+      <parameter name="P24"/>
+      <parameter name="P25"/>
+      <parameter name="P26"/>
+      <parameter name="P27"/>
+      <parameter name="P28"/>
+      <parameter name="P29"/>
+      <parameter name="P30"/>
+      <parameter name="P31"/>
+      <parameter name="P32"/>
+      <parameter name="P33"/>
+      <parameter name="P34"/>
+      <parameter name="P35"/>
+      <parameter name="P36"/>
+      <parameter name="P37"/>
+      <parameter name="P38"/>
+      <parameter name="P39"/>
+      <parameter name="P40"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="abs(-1)" name="P2"/>
+      <parameterRule formula="abs(1)" name="P3"/>
+      <parameterRule formula="acos(-1)" name="P4"/>
+      <parameterRule formula="acos(0.5)" name="P5"/>
+      <parameterRule formula="asin(1)" name="P6"/>
+      <parameterRule formula="asin(-0.5)" name="P7"/>
+      <parameterRule formula="atan(2.8)" name="P8"/>
+      <parameterRule formula="atan(-7.09)" name="P9"/>
+      <parameterRule formula="ceil(0.5)" name="P10"/>
+      <parameterRule formula="ceil(3.55)" name="P11"/>
+      <parameterRule formula="ceil(-4.6)" name="P12"/>
+      <parameterRule formula="cos(9.1)" name="P13"/>
+      <parameterRule formula="cos(-0.22)" name="P14"/>
+      <parameterRule formula="exp(0)" name="P15"/>
+      <parameterRule formula="exp(1)" name="P16"/>
+      <parameterRule formula="exp(0.77)" name="P17"/>
+      <parameterRule formula="floor(-4.6)" name="P18"/>
+      <parameterRule formula="floor(9.1)" name="P19"/>
+      <parameterRule formula="log(0.2)" name="P20"/>
+      <parameterRule formula="log(1)" name="P21"/>
+      <parameterRule formula="log10(0.2)" name="P22"/>
+      <parameterRule formula="log10(1)" name="P23"/>
+      <parameterRule formula="pow(1, 2)" name="P24"/>
+      <parameterRule formula="pow(2, 2)" name="P25"/>
+      <parameterRule formula="pow(1.4, 5.1)" name="P26"/>
+      <parameterRule formula="pow(4, 2)" name="P27"/>
+      <parameterRule formula="pow(3.1, 2)" name="P28"/>
+      <parameterRule formula="sqrt(4)" name="P29"/>
+      <parameterRule formula="sqrt(7.4)" name="P30"/>
+      <parameterRule formula="sin(2.1)" name="P31"/>
+      <parameterRule formula="sin(0)" name="P32"/>
+      <parameterRule formula="sin(-5.9)" name="P33"/>
+      <parameterRule formula="tan(0)" name="P34"/>
+      <parameterRule formula="tan(1.11)" name="P35"/>
+      <parameterRule formula="tan(-6)" name="P36"/>
+      <parameterRule formula="1 + 2" name="P37"/>
+      <parameterRule formula="1 - 2" name="P38"/>
+      <parameterRule formula="5 / 2" name="P39"/>
+      <parameterRule formula="8 * 3" name="P40"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00954/00954-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00954/00954-sbml-l2v4.xml
new file mode 100644
index 0000000..09464ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00954/00954-sbml-l2v4.xml
@@ -0,0 +1,399 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case000954">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" value="3.7"/>
+      <parameter id="P2" constant="false"/>
+      <parameter id="P3" constant="false"/>
+      <parameter id="P4" constant="false"/>
+      <parameter id="P5" constant="false"/>
+      <parameter id="P6" constant="false"/>
+      <parameter id="P7" constant="false"/>
+      <parameter id="P8" constant="false"/>
+      <parameter id="P9" constant="false"/>
+      <parameter id="P10" constant="false"/>
+      <parameter id="P11" constant="false"/>
+      <parameter id="P12" constant="false"/>
+      <parameter id="P13" constant="false"/>
+      <parameter id="P14" constant="false"/>
+      <parameter id="P15" constant="false"/>
+      <parameter id="P16" constant="false"/>
+      <parameter id="P17" constant="false"/>
+      <parameter id="P18" constant="false"/>
+      <parameter id="P19" constant="false"/>
+      <parameter id="P20" constant="false"/>
+      <parameter id="P21" constant="false"/>
+      <parameter id="P22" constant="false"/>
+      <parameter id="P23" constant="false"/>
+      <parameter id="P24" constant="false"/>
+      <parameter id="P25" constant="false"/>
+      <parameter id="P26" constant="false"/>
+      <parameter id="P27" constant="false"/>
+      <parameter id="P28" constant="false"/>
+      <parameter id="P29" constant="false"/>
+      <parameter id="P30" constant="false"/>
+      <parameter id="P31" constant="false"/>
+      <parameter id="P32" constant="false"/>
+      <parameter id="P33" constant="false"/>
+      <parameter id="P34" constant="false"/>
+      <parameter id="P35" constant="false"/>
+      <parameter id="P36" constant="false"/>
+      <parameter id="P37" constant="false"/>
+      <parameter id="P38" constant="false"/>
+      <parameter id="P39" constant="false"/>
+      <parameter id="P40" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <cn> -0.5 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <cn> 2.8 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <cn> -7.09 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> 3.55 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P12">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> -4.6 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <cn> 9.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <cn> -0.22 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P17">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn> 0.77 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <cn> -4.6 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <cn> 9.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ln/>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P21">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ln/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <log/>
+            <logbase>
+              <cn type="integer"> 10 </cn>
+            </logbase>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P23">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <log/>
+            <logbase>
+              <cn type="integer"> 10 </cn>
+            </logbase>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 2 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn> 1.4 </cn>
+            <cn> 5.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P27">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 4 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P28">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn> 3.1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P29">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <root/>
+            <degree>
+              <cn type="integer"> 2 </cn>
+            </degree>
+            <cn type="integer"> 4 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P30">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <root/>
+            <degree>
+              <cn type="integer"> 2 </cn>
+            </degree>
+            <cn> 7.4 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P31">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn> 2.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P32">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P33">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn> -5.9 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P34">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P35">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn> 1.11 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P36">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn type="integer"> -6 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P37">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P38">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P39">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn type="integer"> 5 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P40">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 8 </cn>
+            <cn type="integer"> 3 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00954/00954-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00954/00954-sbml-l3v1.xml
new file mode 100644
index 0000000..d810569
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00954/00954-sbml-l3v1.xml
@@ -0,0 +1,399 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case000954" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" value="3.7" constant="true"/>
+      <parameter id="P2" constant="false"/>
+      <parameter id="P3" constant="false"/>
+      <parameter id="P4" constant="false"/>
+      <parameter id="P5" constant="false"/>
+      <parameter id="P6" constant="false"/>
+      <parameter id="P7" constant="false"/>
+      <parameter id="P8" constant="false"/>
+      <parameter id="P9" constant="false"/>
+      <parameter id="P10" constant="false"/>
+      <parameter id="P11" constant="false"/>
+      <parameter id="P12" constant="false"/>
+      <parameter id="P13" constant="false"/>
+      <parameter id="P14" constant="false"/>
+      <parameter id="P15" constant="false"/>
+      <parameter id="P16" constant="false"/>
+      <parameter id="P17" constant="false"/>
+      <parameter id="P18" constant="false"/>
+      <parameter id="P19" constant="false"/>
+      <parameter id="P20" constant="false"/>
+      <parameter id="P21" constant="false"/>
+      <parameter id="P22" constant="false"/>
+      <parameter id="P23" constant="false"/>
+      <parameter id="P24" constant="false"/>
+      <parameter id="P25" constant="false"/>
+      <parameter id="P26" constant="false"/>
+      <parameter id="P27" constant="false"/>
+      <parameter id="P28" constant="false"/>
+      <parameter id="P29" constant="false"/>
+      <parameter id="P30" constant="false"/>
+      <parameter id="P31" constant="false"/>
+      <parameter id="P32" constant="false"/>
+      <parameter id="P33" constant="false"/>
+      <parameter id="P34" constant="false"/>
+      <parameter id="P35" constant="false"/>
+      <parameter id="P36" constant="false"/>
+      <parameter id="P37" constant="false"/>
+      <parameter id="P38" constant="false"/>
+      <parameter id="P39" constant="false"/>
+      <parameter id="P40" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <cn> -0.5 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <cn> 2.8 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <cn> -7.09 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> 3.55 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P12">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> -4.6 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <cn> 9.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <cn> -0.22 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P17">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn> 0.77 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <cn> -4.6 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <cn> 9.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ln/>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P21">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ln/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <log/>
+            <logbase>
+              <cn type="integer"> 10 </cn>
+            </logbase>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P23">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <log/>
+            <logbase>
+              <cn type="integer"> 10 </cn>
+            </logbase>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 2 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn> 1.4 </cn>
+            <cn> 5.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P27">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 4 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P28">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn> 3.1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P29">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <root/>
+            <degree>
+              <cn type="integer"> 2 </cn>
+            </degree>
+            <cn type="integer"> 4 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P30">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <root/>
+            <degree>
+              <cn type="integer"> 2 </cn>
+            </degree>
+            <cn> 7.4 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P31">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn> 2.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P32">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P33">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn> -5.9 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P34">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P35">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn> 1.11 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P36">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn type="integer"> -6 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P37">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P38">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P39">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn type="integer"> 5 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P40">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 8 </cn>
+            <cn type="integer"> 3 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00954/00954-settings.txt b/models/sbml-test-suite/cases/semantic/00954/00954-settings.txt
new file mode 100644
index 0000000..3cfbb05
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00954/00954-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 10
+variables: P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00955/00955-antimony.txt b/models/sbml-test-suite/cases/semantic/00955/00955-antimony.txt
new file mode 100644
index 0000000..60f2938
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00955/00955-antimony.txt
@@ -0,0 +1,45 @@
+//Created by libAntimony v1.4
+model case000955()
+
+  // Assignment Rules:
+  P1 := time;
+  P2 := abs(time);
+  P3 := abs(-time);
+  P4 := acos(time);
+  P5 := acos(-time);
+  P6 := asin(time);
+  P7 := asin(-time);
+  P8 := atan(time);
+  P9 := atan(-time);
+  P10 := ceil(time);
+  P11 := ceil(-time);
+  P13 := cos(time);
+  P14 := cos(-time);
+  P15 := exp(time);
+  P16 := exp(-time);
+  P18 := floor(time);
+  P19 := floor(-time);
+  P20 := log(time + 1);
+  P22 := log10(time + 1);
+  P24 := time^2;
+  P25 := 2^time;
+  P26 := time^time;
+  P29 := sqrt(time);
+  P31 := sin(time);
+  P32 := sin(-time);
+  P34 := tan(time);
+  P35 := tan(-time);
+  P37 := time + 2;
+  P38 := time - 2;
+  P39 := time / 2;
+  P40 := time * 3;
+  P41 := 2 + time;
+  P42 := 2 - time;
+  P43 := 2 / (time + 1);
+  P44 := 3 * time;
+
+  //Other declarations:
+  var P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P13, P14, P15, P16, P18;
+  var P19, P20, P22, P24, P25, P26, P29, P31, P32, P34, P35, P37, P38, P39;
+  var P40, P41, P42, P43, P44;
+end
\ No newline at end of file
diff --git a/models/sbml-test-suite/cases/semantic/00955/00955-results.csv b/models/sbml-test-suite/cases/semantic/00955/00955-results.csv
new file mode 100644
index 0000000..3a4b56e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00955/00955-results.csv
@@ -0,0 +1,12 @@
+time,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P13,P14,P15,P16,P18,P19,P20,P22,P24,P25,P26,P29,P31,P32,P34,P35,P37,P38,P39,P40,P41,P42,P43,P44
+0.00000000000000,0.00000000000000,0.00000000000000,0.00000000000000,1.57079632679490,1.57079632679490,0.00000000000000,0.00000000000000,0.00000000000000,0.00000000000000,0.00000000000000,0.00000000000000,1.00000000000000,1.00000000000000,1.00000000000000,1.00000000000000,0.00000000000000,0.00000000000000,0.00000000000000,0.00000000000000,0.00000000000000,1.00000000000000,1.00000000000000,0.00000000000000,0.00000000000000,0.00000000000000,0.00000000000000,0.00000000000000,2.00000000000000 [...]
+0.10000000000000,0.10000000000000,0.10000000000000,0.10000000000000,1.47062890563334,1.67096374795646,0.10016742116156,-0.10016742116156,0.09966865249116,-0.09966865249116,1.00000000000000,0.00000000000000,0.99500416527803,0.99500416527803,1.10517091807565,0.90483741803596,0.00000000000000,-1.00000000000000,0.09531017980432,0.04139268515823,0.01000000000000,1.07177346253629,0.79432823472428,0.31622776601684,0.09983341664683,-0.09983341664683,0.10033467208545,-0.10033467208545,2.100000000 [...]
+0.20000000000000,0.20000000000000,0.20000000000000,0.20000000000000,1.36943840600457,1.77215424758523,0.20135792079033,-0.20135792079033,0.19739555984988,-0.19739555984988,1.00000000000000,0.00000000000000,0.98006657784124,0.98006657784124,1.22140275816017,0.81873075307798,0.00000000000000,-1.00000000000000,0.18232155679396,0.07918124604762,0.04000000000000,1.14869835499704,0.72477966367770,0.44721359549996,0.19866933079506,-0.19866933079506,0.20271003550867,-0.20271003550867,2.200000000 [...]
+0.30000000000000,0.30000000000000,0.30000000000000,0.30000000000000,1.26610367277950,1.87548898081029,0.30469265401540,-0.30469265401540,0.29145679447787,-0.29145679447787,1.00000000000000,0.00000000000000,0.95533648912561,0.95533648912561,1.34985880757600,0.74081822068172,0.00000000000000,-1.00000000000000,0.26236426446749,0.11394335230684,0.09000000000000,1.23114441334492,0.69684530193595,0.54772255750517,0.29552020666134,-0.29552020666134,0.30933624960962,-0.30933624960962,2.300000000 [...]
+0.40000000000000,0.40000000000000,0.40000000000000,0.40000000000000,1.15927948072741,1.98231317286238,0.41151684606749,-0.41151684606749,0.38050637711237,-0.38050637711237,1.00000000000000,0.00000000000000,0.92106099400289,0.92106099400289,1.49182469764127,0.67032004603564,0.00000000000000,-1.00000000000000,0.33647223662121,0.14612803567824,0.16000000000000,1.31950791077289,0.69314484315515,0.63245553203368,0.38941834230865,-0.38941834230865,0.42279321873816,-0.42279321873816,2.400000000 [...]
+0.50000000000000,0.50000000000000,0.50000000000000,0.50000000000000,1.04719755119660,2.09439510239320,0.52359877559830,-0.52359877559830,0.46364760900081,-0.46364760900081,1.00000000000000,0.00000000000000,0.87758256189037,0.87758256189037,1.64872127070013,0.60653065971263,0.00000000000000,-1.00000000000000,0.40546510810816,0.17609125905568,0.25000000000000,1.41421356237310,0.70710678118655,0.70710678118655,0.47942553860420,-0.47942553860420,0.54630248984379,-0.54630248984379,2.500000000 [...]
+0.60000000000000,0.60000000000000,0.60000000000000,0.60000000000000,0.92729521800161,2.21429743558818,0.64350110879328,-0.64350110879328,0.54041950027058,-0.54041950027058,1.00000000000000,0.00000000000000,0.82533561490968,0.82533561490968,1.82211880039051,0.54881163609403,0.00000000000000,-1.00000000000000,0.47000362924574,0.20411998265593,0.36000000000000,1.51571656651040,0.73602192281783,0.77459666924148,0.56464247339504,-0.56464247339504,0.68413680834169,-0.68413680834169,2.600000000 [...]
+0.70000000000000,0.70000000000000,0.70000000000000,0.70000000000000,0.79539883018414,2.34619382340565,0.77539749661075,-0.77539749661075,0.61072596438921,-0.61072596438921,1.00000000000000,0.00000000000000,0.76484218728449,0.76484218728449,2.01375270747048,0.49658530379141,0.00000000000000,-1.00000000000000,0.53062825106217,0.23044892137827,0.49000000000000,1.62450479271247,0.77905591267045,0.83666002653408,0.64421768723769,-0.64421768723769,0.84228838046308,-0.84228838046308,2.700000000 [...]
+0.80000000000000,0.80000000000000,0.80000000000000,0.80000000000000,0.64350110879328,2.49809154479651,0.92729521800161,-0.92729521800161,0.67474094222355,-0.67474094222355,1.00000000000000,0.00000000000000,0.69670670934717,0.69670670934717,2.22554092849247,0.44932896411722,0.00000000000000,-1.00000000000000,0.58778666490212,0.25527250510331,0.64000000000000,1.74110112659225,0.83651164207302,0.89442719099992,0.71735609089952,-0.71735609089952,1.02963855705036,-1.02963855705036,2.800000000 [...]
+0.90000000000000,0.90000000000000,0.90000000000000,0.90000000000000,0.45102681179626,2.69056584179353,1.11976951499863,-1.11976951499863,0.73281510178651,-0.73281510178651,1.00000000000000,0.00000000000000,0.62160996827066,0.62160996827066,2.45960311115695,0.40656965974060,0.00000000000000,-1.00000000000000,0.64185388617240,0.27875360095283,0.81000000000000,1.86606598307361,0.90953257608296,0.94868329805051,0.78332690962748,-0.78332690962748,1.26015821755034,-1.26015821755034,2.900000000 [...]
+1.00000000000000,1.00000000000000,1.00000000000000,1.00000000000000,0.00000000000000,3.14159265358979,1.57079632679490,-1.57079632679490,0.78539816339745,-0.78539816339745,1.00000000000000,-1.00000000000000,0.54030230586814,0.54030230586814,2.71828182845905,0.36787944117144,1.00000000000000,-1.00000000000000,0.69314718055995,0.30102999566398,1.00000000000000,2.00000000000000,1.00000000000000,1.00000000000000,0.84147098480790,-0.84147098480790,1.55740772465490,-1.55740772465490,3.00000000 [...]
diff --git a/models/sbml-test-suite/cases/semantic/00955/00955-results.xlsx b/models/sbml-test-suite/cases/semantic/00955/00955-results.xlsx
new file mode 100644
index 0000000..f2b06c1
Binary files /dev/null and b/models/sbml-test-suite/cases/semantic/00955/00955-results.xlsx differ
diff --git a/models/sbml-test-suite/cases/semantic/00955/00955-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00955/00955-sbml-l2v4.xml
new file mode 100644
index 0000000..932ff54
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00955/00955-sbml-l2v4.xml
@@ -0,0 +1,397 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case000955" name="case000955">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" constant="false"/>
+      <parameter id="P2" constant="false"/>
+      <parameter id="P3" constant="false"/>
+      <parameter id="P4" constant="false"/>
+      <parameter id="P5" constant="false"/>
+      <parameter id="P6" constant="false"/>
+      <parameter id="P7" constant="false"/>
+      <parameter id="P8" constant="false"/>
+      <parameter id="P9" constant="false"/>
+      <parameter id="P10" constant="false"/>
+      <parameter id="P11" constant="false"/>
+      <parameter id="P13" constant="false"/>
+      <parameter id="P14" constant="false"/>
+      <parameter id="P15" constant="false"/>
+      <parameter id="P16" constant="false"/>
+      <parameter id="P18" constant="false"/>
+      <parameter id="P19" constant="false"/>
+      <parameter id="P20" constant="false"/>
+      <parameter id="P22" constant="false"/>
+      <parameter id="P24" constant="false"/>
+      <parameter id="P25" constant="false"/>
+      <parameter id="P26" constant="false"/>
+      <parameter id="P29" constant="false"/>
+      <parameter id="P31" constant="false"/>
+      <parameter id="P32" constant="false"/>
+      <parameter id="P34" constant="false"/>
+      <parameter id="P35" constant="false"/>
+      <parameter id="P37" constant="false"/>
+      <parameter id="P38" constant="false"/>
+      <parameter id="P39" constant="false"/>
+      <parameter id="P40" constant="false"/>
+      <parameter id="P41" constant="false"/>
+      <parameter id="P42" constant="false"/>
+      <parameter id="P43" constant="false"/>
+      <parameter id="P44" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ln/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <log/>
+            <logbase>
+              <cn type="integer"> 10 </cn>
+            </logbase>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 2 </cn>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P29">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <root/>
+            <degree>
+              <cn type="integer"> 2 </cn>
+            </degree>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P31">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P32">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P34">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P35">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P37">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P38">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P39">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P40">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 3 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P41">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P42">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <cn type="integer"> 2 </cn>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P43">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P44">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 3 </cn>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00955/00955-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00955/00955-sbml-l3v1.xml
new file mode 100644
index 0000000..ba874b8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00955/00955-sbml-l3v1.xml
@@ -0,0 +1,397 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case000955" name="case000955" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" constant="false"/>
+      <parameter id="P2" constant="false"/>
+      <parameter id="P3" constant="false"/>
+      <parameter id="P4" constant="false"/>
+      <parameter id="P5" constant="false"/>
+      <parameter id="P6" constant="false"/>
+      <parameter id="P7" constant="false"/>
+      <parameter id="P8" constant="false"/>
+      <parameter id="P9" constant="false"/>
+      <parameter id="P10" constant="false"/>
+      <parameter id="P11" constant="false"/>
+      <parameter id="P13" constant="false"/>
+      <parameter id="P14" constant="false"/>
+      <parameter id="P15" constant="false"/>
+      <parameter id="P16" constant="false"/>
+      <parameter id="P18" constant="false"/>
+      <parameter id="P19" constant="false"/>
+      <parameter id="P20" constant="false"/>
+      <parameter id="P22" constant="false"/>
+      <parameter id="P24" constant="false"/>
+      <parameter id="P25" constant="false"/>
+      <parameter id="P26" constant="false"/>
+      <parameter id="P29" constant="false"/>
+      <parameter id="P31" constant="false"/>
+      <parameter id="P32" constant="false"/>
+      <parameter id="P34" constant="false"/>
+      <parameter id="P35" constant="false"/>
+      <parameter id="P37" constant="false"/>
+      <parameter id="P38" constant="false"/>
+      <parameter id="P39" constant="false"/>
+      <parameter id="P40" constant="false"/>
+      <parameter id="P41" constant="false"/>
+      <parameter id="P42" constant="false"/>
+      <parameter id="P43" constant="false"/>
+      <parameter id="P44" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ln/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <log/>
+            <logbase>
+              <cn type="integer"> 10 </cn>
+            </logbase>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 2 </cn>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P29">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <root/>
+            <degree>
+              <cn type="integer"> 2 </cn>
+            </degree>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P31">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P32">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P34">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P35">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P37">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P38">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P39">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P40">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 3 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P41">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 2 </cn>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P42">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <cn type="integer"> 2 </cn>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P43">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P44">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 3 </cn>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00955/00955-settings.txt b/models/sbml-test-suite/cases/semantic/00955/00955-settings.txt
new file mode 100644
index 0000000..1acc73b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00955/00955-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 10
+variables: P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P13,P14,P15,P16,P18,P19,P20,P22,P24,P25,P26,P29,P31,P32,P34,P35,P37,P38,P39,P40,P41,P42,P43,P44
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00956/00956-antimony.txt b/models/sbml-test-suite/cases/semantic/00956/00956-antimony.txt
new file mode 100644
index 0000000..72ad3ad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00956/00956-antimony.txt
@@ -0,0 +1,44 @@
+model case000954()
+  P1 = 3.7;
+  P2  = abs(-1);
+  P3  = abs(1);
+  P4  = acos(-1);
+  P5  = acos(.5);
+  P6  = asin(1);
+  P7  = asin(-.5);
+  P8  = atan(2.8);
+  P9  = atan(-7.09);
+  P10 = ceil(.5);
+  P11 = ceil(3.55);
+  P12 = ceil(-4.6);
+  P13 = cos(9.1);
+  P14 = cos(-0.22);
+  P15 = exp(0);
+  P16 = exp(1);
+  P17 = exp(.77);
+  P18 = floor(-4.6);
+  P19 = floor(9.1);
+  P20 = log(.2);
+  P21 = log(1);
+  P22 = log10(.2);
+  P23 = log10(1);
+  P24 = pow(1, 2);
+  P25 = pow(2, 2);
+  P26 = pow(1.4, 5.1);
+  P27 = sqr(4);
+  P28 = sqr(3.1);
+  P29 = sqrt(4);
+  P30 = sqrt(7.4);
+  P31 = sin(2.1);
+  P32 = sin(0);
+  P33 = sin(-5.9);
+  P34 = tan(0);
+  P35 = tan(1.11);
+  P36 = tan(-6);
+  P37 = 1 + 2;
+  P38 = 1 - 2;
+  P39 = 5/2;
+  P40 = 8*3;
+
+end
+
diff --git a/models/sbml-test-suite/cases/semantic/00956/00956-results.csv b/models/sbml-test-suite/cases/semantic/00956/00956-results.csv
new file mode 100644
index 0000000..2ea0411
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00956/00956-results.csv
@@ -0,0 +1,12 @@
+time,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40
+0,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.1,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.2,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.3,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.4,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.5,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.6,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.7,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.8,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+0.9,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
+1,3.7,1,1,3.141592654,1.047197551,1.570796327,-0.523598776,1.227772386,-1.430676873,1,4,-4,-0.947721602,0.975897449,1,2.718281828,2.159766254,-5,9,-1.609437912,0,-0.698970004,0,1,4,5.562281728,16,9.61,2,2.720294102,0.863209367,0,0.373876665,0,2.014338214,0.291006191,3,-1,2.5,24
diff --git a/models/sbml-test-suite/cases/semantic/00956/00956-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00956/00956-sbml-l2v4.xml
new file mode 100644
index 0000000..c65e01a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00956/00956-sbml-l2v4.xml
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case000956" name="case000956">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1"/>
+      <parameter id="P2"/>
+      <parameter id="P3"/>
+      <parameter id="P4"/>
+      <parameter id="P5"/>
+      <parameter id="P6"/>
+      <parameter id="P7"/>
+      <parameter id="P8"/>
+      <parameter id="P9"/>
+      <parameter id="P10"/>
+      <parameter id="P11"/>
+      <parameter id="P12"/>
+      <parameter id="P13"/>
+      <parameter id="P14"/>
+      <parameter id="P15"/>
+      <parameter id="P16"/>
+      <parameter id="P17"/>
+      <parameter id="P18"/>
+      <parameter id="P19"/>
+      <parameter id="P20"/>
+      <parameter id="P21"/>
+      <parameter id="P22"/>
+      <parameter id="P23"/>
+      <parameter id="P24"/>
+      <parameter id="P25"/>
+      <parameter id="P26"/>
+      <parameter id="P27"/>
+      <parameter id="P28"/>
+      <parameter id="P29"/>
+      <parameter id="P30"/>
+      <parameter id="P31"/>
+      <parameter id="P32"/>
+      <parameter id="P33"/>
+      <parameter id="P34"/>
+      <parameter id="P35"/>
+      <parameter id="P36"/>
+      <parameter id="P37"/>
+      <parameter id="P38"/>
+      <parameter id="P39"/>
+      <parameter id="P40"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 3.7 </cn>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <cn> -0.5 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <cn> 2.8 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <cn> -7.09 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> 3.55 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P12">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> -4.6 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <cn> 9.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <cn> -0.22 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P17">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn> 0.77 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <cn> -4.6 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <cn> 9.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ln/>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P21">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ln/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <log/>
+            <logbase>
+              <cn type="integer"> 10 </cn>
+            </logbase>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P23">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <log/>
+            <logbase>
+              <cn type="integer"> 10 </cn>
+            </logbase>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 2 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn> 1.4 </cn>
+            <cn> 5.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P27">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 4 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P28">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn> 3.1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P29">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <root/>
+            <degree>
+              <cn type="integer"> 2 </cn>
+            </degree>
+            <cn type="integer"> 4 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P30">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <root/>
+            <degree>
+              <cn type="integer"> 2 </cn>
+            </degree>
+            <cn> 7.4 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P31">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn> 2.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P32">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P33">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn> -5.9 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P34">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P35">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn> 1.11 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P36">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn type="integer"> -6 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P37">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P38">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P39">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn type="integer"> 5 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P40">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 8 </cn>
+            <cn type="integer"> 3 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00956/00956-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00956/00956-sbml-l3v1.xml
new file mode 100644
index 0000000..445689a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00956/00956-sbml-l3v1.xml
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case000956" name="case000956" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" constant="true"/>
+      <parameter id="P2" constant="true"/>
+      <parameter id="P3" constant="true"/>
+      <parameter id="P4" constant="true"/>
+      <parameter id="P5" constant="true"/>
+      <parameter id="P6" constant="true"/>
+      <parameter id="P7" constant="true"/>
+      <parameter id="P8" constant="true"/>
+      <parameter id="P9" constant="true"/>
+      <parameter id="P10" constant="true"/>
+      <parameter id="P11" constant="true"/>
+      <parameter id="P12" constant="true"/>
+      <parameter id="P13" constant="true"/>
+      <parameter id="P14" constant="true"/>
+      <parameter id="P15" constant="true"/>
+      <parameter id="P16" constant="true"/>
+      <parameter id="P17" constant="true"/>
+      <parameter id="P18" constant="true"/>
+      <parameter id="P19" constant="true"/>
+      <parameter id="P20" constant="true"/>
+      <parameter id="P21" constant="true"/>
+      <parameter id="P22" constant="true"/>
+      <parameter id="P23" constant="true"/>
+      <parameter id="P24" constant="true"/>
+      <parameter id="P25" constant="true"/>
+      <parameter id="P26" constant="true"/>
+      <parameter id="P27" constant="true"/>
+      <parameter id="P28" constant="true"/>
+      <parameter id="P29" constant="true"/>
+      <parameter id="P30" constant="true"/>
+      <parameter id="P31" constant="true"/>
+      <parameter id="P32" constant="true"/>
+      <parameter id="P33" constant="true"/>
+      <parameter id="P34" constant="true"/>
+      <parameter id="P35" constant="true"/>
+      <parameter id="P36" constant="true"/>
+      <parameter id="P37" constant="true"/>
+      <parameter id="P38" constant="true"/>
+      <parameter id="P39" constant="true"/>
+      <parameter id="P40" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 3.7 </cn>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <abs/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <cn type="integer"> -1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccos/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsin/>
+            <cn> -0.5 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <cn> 2.8 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctan/>
+            <cn> -7.09 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> 3.55 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P12">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ceiling/>
+            <cn> -4.6 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <cn> 9.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cos/>
+            <cn> -0.22 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P17">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <cn> 0.77 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <cn> -4.6 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <floor/>
+            <cn> 9.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ln/>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P21">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ln/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <log/>
+            <logbase>
+              <cn type="integer"> 10 </cn>
+            </logbase>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P23">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <log/>
+            <logbase>
+              <cn type="integer"> 10 </cn>
+            </logbase>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 2 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn> 1.4 </cn>
+            <cn> 5.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P27">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn type="integer"> 4 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P28">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <power/>
+            <cn> 3.1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P29">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <root/>
+            <degree>
+              <cn type="integer"> 2 </cn>
+            </degree>
+            <cn type="integer"> 4 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P30">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <root/>
+            <degree>
+              <cn type="integer"> 2 </cn>
+            </degree>
+            <cn> 7.4 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P31">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn> 2.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P32">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P33">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sin/>
+            <cn> -5.9 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P34">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn type="integer"> 0 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P35">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn> 1.11 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P36">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <tan/>
+            <cn type="integer"> -6 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P37">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P38">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P39">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <cn type="integer"> 5 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P40">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 8 </cn>
+            <cn type="integer"> 3 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00956/00956-settings.txt b/models/sbml-test-suite/cases/semantic/00956/00956-settings.txt
new file mode 100644
index 0000000..7eaff99
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00956/00956-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 10
+variables: P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40
+absolute: 0.0001
+relative: 0.0001 
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00957/00957-antimony.txt b/models/sbml-test-suite/cases/semantic/00957/00957-antimony.txt
new file mode 100644
index 0000000..6480862
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00957/00957-antimony.txt
@@ -0,0 +1,37 @@
+//Created by libAntimony v1.4
+model case000957()
+
+  // Assignment Rules:
+  P1 := pi;
+  P3 := piecewise(2, gt(1, 0.5), 3);
+  P4 := piecewise(2, geq(1, 0.5), 3);
+  P5 := piecewise(2, lt(1, 0.5), 3);
+  P6 := piecewise(2, leq(1, 0.5), 3);
+  P7 := piecewise(2, eq(P1, pi), 3);
+  P8 := piecewise(2, neq(P1, pi), 3);
+  P9 := factorial(4);
+  P10 := piecewise(2, and(true, false), 3);
+  P11 := piecewise(2, or(true, false), 3);
+  P12 := piecewise(2, xor(true, false), 3);
+  P13 := piecewise(2, not(false), 3);
+  P14 := sec(0.5);
+  P15 := csc(4.5);
+  P16 := cot(0.2);
+  P17 := sinh(0.3);
+  P18 := cosh(1.7);
+  P19 := arcsec(2.3);
+  P20 := arccsc(1.1);
+  P21 := arccot(-0.1);
+  P22 := arcsinh(99);
+  P23 := arccosh(1.34);
+  P24 := arctanh(-0.7);
+  P25 := arcsech(.42);
+  P26 := arccsch(0.01);
+  P27 := arccoth(8.2);
+  P28 := exponentiale;
+  P29 := exp(exponentiale);
+
+  //Other declarations:
+  var P1, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17;
+  var P18, P19, P20, P21, P22, P23, P24, P25, P26, P27, P28, P29;
+end
\ No newline at end of file
diff --git a/models/sbml-test-suite/cases/semantic/00957/00957-results.csv b/models/sbml-test-suite/cases/semantic/00957/00957-results.csv
new file mode 100644
index 0000000..93f4545
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00957/00957-results.csv
@@ -0,0 +1,12 @@
+time,P1,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29
+0,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.1,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.2,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.3,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.4,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.5,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.6,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.7,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.8,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.9,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+1,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
diff --git a/models/sbml-test-suite/cases/semantic/00957/00957-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00957/00957-sbml-l2v4.xml
new file mode 100644
index 0000000..75d2df2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00957/00957-sbml-l2v4.xml
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case000957" name="case000957">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" constant="false"/>
+      <parameter id="P3" constant="false"/>
+      <parameter id="P4" constant="false"/>
+      <parameter id="P5" constant="false"/>
+      <parameter id="P6" constant="false"/>
+      <parameter id="P7" constant="false"/>
+      <parameter id="P8" constant="false"/>
+      <parameter id="P9" constant="false"/>
+      <parameter id="P10" constant="false"/>
+      <parameter id="P11" constant="false"/>
+      <parameter id="P12" constant="false"/>
+      <parameter id="P13" constant="false"/>
+      <parameter id="P14" constant="false"/>
+      <parameter id="P15" constant="false"/>
+      <parameter id="P16" constant="false"/>
+      <parameter id="P17" constant="false"/>
+      <parameter id="P18" constant="false"/>
+      <parameter id="P19" constant="false"/>
+      <parameter id="P20" constant="false"/>
+      <parameter id="P21" constant="false"/>
+      <parameter id="P22" constant="false"/>
+      <parameter id="P23" constant="false"/>
+      <parameter id="P24" constant="false"/>
+      <parameter id="P25" constant="false"/>
+      <parameter id="P26" constant="false"/>
+      <parameter id="P27" constant="false"/>
+      <parameter id="P28" constant="false"/>
+      <parameter id="P29" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <pi/>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <gt/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <geq/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <lt/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <leq/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <eq/>
+                <ci> P1 </ci>
+                <pi/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <neq/>
+                <ci> P1 </ci>
+                <pi/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <factorial/>
+            <cn type="integer"> 4 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <and/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <or/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P12">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <xor/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <not/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sec/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csc/>
+            <cn> 4.5 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cot/>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P17">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sinh/>
+            <cn> 0.3 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cosh/>
+            <cn> 1.7 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsec/>
+            <cn> 2.3 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsc/>
+            <cn> 1.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P21">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccot/>
+            <cn> -0.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsinh/>
+            <cn type="integer"> 99 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P23">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccosh/>
+            <cn> 1.34 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctanh/>
+            <cn> -0.7 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsech/>
+            <cn> 0.42 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsch/>
+            <cn> 0.01 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P27">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccoth/>
+            <cn> 8.2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P28">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <exponentiale/>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P29">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <exponentiale/>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00957/00957-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00957/00957-sbml-l3v1.xml
new file mode 100644
index 0000000..a318972
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00957/00957-sbml-l3v1.xml
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case000957" name="case000957" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" constant="false"/>
+      <parameter id="P3" constant="false"/>
+      <parameter id="P4" constant="false"/>
+      <parameter id="P5" constant="false"/>
+      <parameter id="P6" constant="false"/>
+      <parameter id="P7" constant="false"/>
+      <parameter id="P8" constant="false"/>
+      <parameter id="P9" constant="false"/>
+      <parameter id="P10" constant="false"/>
+      <parameter id="P11" constant="false"/>
+      <parameter id="P12" constant="false"/>
+      <parameter id="P13" constant="false"/>
+      <parameter id="P14" constant="false"/>
+      <parameter id="P15" constant="false"/>
+      <parameter id="P16" constant="false"/>
+      <parameter id="P17" constant="false"/>
+      <parameter id="P18" constant="false"/>
+      <parameter id="P19" constant="false"/>
+      <parameter id="P20" constant="false"/>
+      <parameter id="P21" constant="false"/>
+      <parameter id="P22" constant="false"/>
+      <parameter id="P23" constant="false"/>
+      <parameter id="P24" constant="false"/>
+      <parameter id="P25" constant="false"/>
+      <parameter id="P26" constant="false"/>
+      <parameter id="P27" constant="false"/>
+      <parameter id="P28" constant="false"/>
+      <parameter id="P29" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <pi/>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <gt/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <geq/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <lt/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <leq/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <eq/>
+                <ci> P1 </ci>
+                <pi/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <neq/>
+                <ci> P1 </ci>
+                <pi/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <factorial/>
+            <cn type="integer"> 4 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <and/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <or/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P12">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <xor/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <not/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sec/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csc/>
+            <cn> 4.5 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cot/>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P17">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sinh/>
+            <cn> 0.3 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cosh/>
+            <cn> 1.7 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsec/>
+            <cn> 2.3 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsc/>
+            <cn> 1.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P21">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccot/>
+            <cn> -0.1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsinh/>
+            <cn type="integer"> 99 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P23">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccosh/>
+            <cn> 1.34 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctanh/>
+            <cn> -0.7 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsech/>
+            <cn> 0.42 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsch/>
+            <cn> 0.01 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P27">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccoth/>
+            <cn> 8.2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P28">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <exponentiale/>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P29">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <exponentiale/>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00957/00957-settings.txt b/models/sbml-test-suite/cases/semantic/00957/00957-settings.txt
new file mode 100644
index 0000000..64aa4e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00957/00957-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 10
+variables: P1,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00958/00958-antimony.txt b/models/sbml-test-suite/cases/semantic/00958/00958-antimony.txt
new file mode 100644
index 0000000..5647433
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00958/00958-antimony.txt
@@ -0,0 +1,31 @@
+model case000958()
+  P1 = pi;
+  P3 = piecewise(2, gt(1, 0.5), 3);
+  P4 = piecewise(2, geq(1, 0.5), 3);
+  P5 = piecewise(2, lt(1, 0.5), 3);
+  P6 = piecewise(2, leq(1, 0.5), 3);
+  P7 = piecewise(2, eq(P1, pi), 3);
+  P8 = piecewise(2, neq(P1, pi), 3);
+  P9 = factorial(4);
+  P10 = piecewise(2, and(true, false), 3);
+  P11 = piecewise(2, or(true, false), 3);
+  P12 = piecewise(2, xor(true, false), 3);
+  P13 = piecewise(2, not(false), 3);
+  P14 = sec(0.5);
+  P15 = csc(4.5);
+  P16 = cot(0.2);
+  P17 = sinh(0.3);
+  P18 = cosh(1.7);
+  P19 = arcsec(2.3);
+  P20 = arccsc(1.1);
+  P21 = arccot(-0.1);
+  P22 = arcsinh(99);
+  P23 = arccosh(1.34);
+  P24 = arctanh(-0.7);
+  P25 = arcsech(.42);
+  P26 = arccsch(0.01);
+  P27 = arccoth(8.2);
+  P28 = exponentiale;
+  P29 = exp(exponentiale);
+
+end
\ No newline at end of file
diff --git a/models/sbml-test-suite/cases/semantic/00958/00958-results.csv b/models/sbml-test-suite/cases/semantic/00958/00958-results.csv
new file mode 100644
index 0000000..93f4545
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00958/00958-results.csv
@@ -0,0 +1,12 @@
+time,P1,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29
+0,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.1,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.2,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.3,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.4,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.5,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.6,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.7,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.8,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+0.9,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
+1,3.141592654,2,2,3,3,2,3,24,3,2,2,2,1.139493927,-1.022986384,4.933154876,0.304520293,2.828315458,1.120999466,1.141096661,-1.471127674,5.288292537,0.802881971,-0.867300528,1.513306688,5.298342366,0.122561229,2.718281828,15.15426224
diff --git a/models/sbml-test-suite/cases/semantic/00958/00958-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00958/00958-sbml-l2v4.xml
new file mode 100644
index 0000000..30a15ff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00958/00958-sbml-l2v4.xml
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case000958" name="case000958">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1"/>
+      <parameter id="P3"/>
+      <parameter id="P4"/>
+      <parameter id="P5"/>
+      <parameter id="P6"/>
+      <parameter id="P7"/>
+      <parameter id="P8"/>
+      <parameter id="P9"/>
+      <parameter id="P10"/>
+      <parameter id="P11"/>
+      <parameter id="P12"/>
+      <parameter id="P13"/>
+      <parameter id="P14"/>
+      <parameter id="P15"/>
+      <parameter id="P16"/>
+      <parameter id="P17"/>
+      <parameter id="P18"/>
+      <parameter id="P19"/>
+      <parameter id="P20"/>
+      <parameter id="P21"/>
+      <parameter id="P22"/>
+      <parameter id="P23"/>
+      <parameter id="P24"/>
+      <parameter id="P25"/>
+      <parameter id="P26"/>
+      <parameter id="P27"/>
+      <parameter id="P28"/>
+      <parameter id="P29"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <pi/>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <gt/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <geq/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <lt/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <leq/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <eq/>
+                <ci> P1 </ci>
+                <pi/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <neq/>
+                <ci> P1 </ci>
+                <pi/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <factorial/>
+            <cn type="integer"> 4 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <and/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <or/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P12">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <xor/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <not/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sec/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csc/>
+            <cn> 4.5 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cot/>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P17">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sinh/>
+            <cn> 0.3 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cosh/>
+            <cn> 1.7 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsec/>
+            <cn> 2.3 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsc/>
+            <cn> 1.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P21">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccot/>
+            <cn> -0.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsinh/>
+            <cn type="integer"> 99 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P23">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccosh/>
+            <cn> 1.34 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctanh/>
+            <cn> -0.7 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsech/>
+            <cn> 0.42 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsch/>
+            <cn> 0.01 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P27">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccoth/>
+            <cn> 8.2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P28">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <exponentiale/>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P29">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <exponentiale/>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00958/00958-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00958/00958-sbml-l3v1.xml
new file mode 100644
index 0000000..5f0a880
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00958/00958-sbml-l3v1.xml
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case000958" name="case000958" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" constant="true"/>
+      <parameter id="P3" constant="true"/>
+      <parameter id="P4" constant="true"/>
+      <parameter id="P5" constant="true"/>
+      <parameter id="P6" constant="true"/>
+      <parameter id="P7" constant="true"/>
+      <parameter id="P8" constant="true"/>
+      <parameter id="P9" constant="true"/>
+      <parameter id="P10" constant="true"/>
+      <parameter id="P11" constant="true"/>
+      <parameter id="P12" constant="true"/>
+      <parameter id="P13" constant="true"/>
+      <parameter id="P14" constant="true"/>
+      <parameter id="P15" constant="true"/>
+      <parameter id="P16" constant="true"/>
+      <parameter id="P17" constant="true"/>
+      <parameter id="P18" constant="true"/>
+      <parameter id="P19" constant="true"/>
+      <parameter id="P20" constant="true"/>
+      <parameter id="P21" constant="true"/>
+      <parameter id="P22" constant="true"/>
+      <parameter id="P23" constant="true"/>
+      <parameter id="P24" constant="true"/>
+      <parameter id="P25" constant="true"/>
+      <parameter id="P26" constant="true"/>
+      <parameter id="P27" constant="true"/>
+      <parameter id="P28" constant="true"/>
+      <parameter id="P29" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <pi/>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <gt/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <geq/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <lt/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <leq/>
+                <cn type="integer"> 1 </cn>
+                <cn> 0.5 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <eq/>
+                <ci> P1 </ci>
+                <pi/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <neq/>
+                <ci> P1 </ci>
+                <pi/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <factorial/>
+            <cn type="integer"> 4 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <and/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <or/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P12">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <xor/>
+                <true/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <not/>
+                <false/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 3 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sec/>
+            <cn> 0.5 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csc/>
+            <cn> 4.5 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cot/>
+            <cn> 0.2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P17">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sinh/>
+            <cn> 0.3 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cosh/>
+            <cn> 1.7 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsec/>
+            <cn> 2.3 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsc/>
+            <cn> 1.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P21">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccot/>
+            <cn> -0.1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsinh/>
+            <cn type="integer"> 99 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P23">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccosh/>
+            <cn> 1.34 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arctanh/>
+            <cn> -0.7 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsech/>
+            <cn> 0.42 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsch/>
+            <cn> 0.01 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P27">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccoth/>
+            <cn> 8.2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P28">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <exponentiale/>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P29">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <exp/>
+            <exponentiale/>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00958/00958-settings.txt b/models/sbml-test-suite/cases/semantic/00958/00958-settings.txt
new file mode 100644
index 0000000..64aa4e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00958/00958-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 10
+variables: P1,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00959/00959-antimony.txt b/models/sbml-test-suite/cases/semantic/00959/00959-antimony.txt
new file mode 100644
index 0000000..8ed3a77
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00959/00959-antimony.txt
@@ -0,0 +1,30 @@
+model case000959()
+
+  // Assignment Rules:
+  P1 := sec(time);
+  P2 := sec(-time);
+  P3 := csc(time + 0.001);
+  P4 := csc(-time - 0.001);
+  P5 := cot(time + 0.001);
+  P6 := cot(-time - 0.001);
+  P7 := sinh(time);
+  P8 := sinh(-time);
+  P9 := cosh(time);
+  P10 := cosh(-time);
+  P11 := arcsec(time + 1);
+  P12 := arcsec(-time - 1);
+  P13 := arccsc(time + 1);
+  P14 := arccsc(-time - 1);
+  P15 := arccot(time);
+  P16 := arccot(-time);
+  P17 := arcsinh(time);
+  P18 := arcsinh(-time);
+  P19 := arccosh(time + 1);
+  P20 := piecewise(arctanh(time), (time < 1), 10);
+  P21 := piecewise(arctanh(-time), (time < 1), -10);
+  P22 := piecewise(0,((time<=0) || (time>=1)),arcsech(time + 0.001));
+  P23 := arccsch(time + 1);
+  P24 := arccsch(-time - 1);
+  P25 := arccoth(time + 1.001);
+  P26 := arccoth(-time - 1.001);
+end
diff --git a/models/sbml-test-suite/cases/semantic/00959/00959-results.csv b/models/sbml-test-suite/cases/semantic/00959/00959-results.csv
new file mode 100644
index 0000000..441a765
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00959/00959-results.csv
@@ -0,0 +1,12 @@
+time,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26
+0,1,1,1000.000167,-1000.000167,999.9996667,-999.9996667,0,0,1,1,0,3.141592654,1.570796327,-1.570796327,1.570796327,-1.570796327,0,0,0,0,0,0,0.881373587,-0.881373587,3.800701167,-3.800701167
+0.1,1.005020918,1.005020918,9.917843488,-9.917843488,9.867300514,-9.867300514,0.10016675,-0.10016675,1.005004168,1.005004168,0.429699666,2.711892987,1.141096661,-1.141096661,1.471127674,-1.471127674,0.099834079,-0.099834079,0.443568254,0.100335348,-0.100335348,2.993222846,0.8156089,-0.8156089,1.517524092,-1.517524092
+0.2,1.020338845,1.020338845,5.008782954,-5.008782954,4.907943223,-4.907943223,0.201336003,-0.201336003,1.020066756,1.020066756,0.585685543,2.55590711,0.985110783,-0.985110783,1.373400767,-1.373400767,0.19869011,-0.19869011,0.622362504,0.202732554,-0.202732554,2.29243167,0.758486137,-0.758486137,1.196681087,-1.196681087
+0.3,1.046751602,1.046751602,3.372961184,-3.372961184,3.221314506,-3.221314506,0.304520293,-0.304520293,1.045338514,1.045338514,0.693159908,2.448432746,0.877636419,-0.877636419,1.279339532,-1.279339532,0.295673048,-0.295673048,0.756432911,0.309519604,-0.309519604,1.873820243,0.708460844,-0.708460844,1.016994413,-1.016994413
+0.4,1.085704428,1.085704428,2.561874335,-2.561874335,2.358643701,-2.358643701,0.410752326,-0.410752326,1.081072372,1.081072372,0.775193373,2.36639928,0.795602953,-0.795602953,1.19028995,-1.19028995,0.39003532,-0.39003532,0.867014726,0.42364893,-0.42364893,1.566799237,0.664330605,-0.664330605,0.894839584,-0.894839584
+0.5,1.139493927,1.139493927,2.082019573,-2.082019573,1.826144984,-1.826144984,0.521095305,-0.521095305,1.127625965,1.127625965,0.841068671,2.300523983,0.729727656,-0.729727656,1.107148718,-1.107148718,0.481211825,-0.481211825,0.96242365,0.549306144,-0.549306144,1.316957897,0.625145117,-0.625145117,0.803919915,-0.803919915
+0.6,1.211628315,1.211628315,1.768448148,-1.768448148,1.458563969,-1.458563969,0.636653582,-0.636653582,1.185465218,1.185465218,0.895664794,2.24592786,0.675131533,-0.675131533,1.030376827,-1.030376827,0.568824899,-0.568824899,1.046967915,0.693147181,-0.693147181,1.098612289,0.590143686,-0.590143686,0.732528165,-0.732528165
+0.7,1.30745926,1.30745926,1.550430367,-1.550430367,1.184835145,-1.184835145,0.758583702,-0.758583702,1.255169006,1.255169006,0.941921401,2.199671252,0.628874925,-0.628874925,0.960070362,-0.960070362,0.652666566,-0.652666566,1.123230983,0.867300528,-0.867300528,0.8955881,0.558710603,-0.558710603,0.674434733,-0.674434733
+0.8,1.4353242,1.4353242,1.392655948,-1.392655948,0.969273228,-0.969273228,0.888105982,-0.888105982,1.337434946,1.337434946,0.981765357,2.159827297,0.58903097,-0.58903097,0.896055385,-0.896055385,0.732668256,-0.732668256,1.192910731,1.098612289,-1.098612289,0.693147181,0.530342599,-0.530342599,0.625935414,-0.625935414
+0.9,1.60872581,1.60872581,1.275594602,-1.275594602,0.791922716,-0.791922716,1.026516726,-1.026516726,1.433086385,1.433086385,1.016534492,2.125058161,0.554261834,-0.554261834,0.837981225,-0.837981225,0.808866936,-0.808866936,1.257195827,1.47221949,-1.47221949,0.467145308,0.504624666,-0.504624666,0.584652763,-0.584652763
+1,1.850815718,1.850815718,1.187633129,-1.187633129,0.640681239,-0.640681239,1.175201194,-1.175201194,1.543080635,1.543080635,1.047197551,2.094395102,0.523598776,-0.523598776,0.785398163,-0.785398163,0.881373587,-0.881373587,1.316957897,10,-10,0,0.481211825,-0.481211825,0.548973033,-0.548973033
diff --git a/models/sbml-test-suite/cases/semantic/00959/00959-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00959/00959-sbml-l2v4.xml
new file mode 100644
index 0000000..5d6d433
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00959/00959-sbml-l2v4.xml
@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case000959" name="case000959">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" constant="false"/>
+      <parameter id="P2" constant="false"/>
+      <parameter id="P3" constant="false"/>
+      <parameter id="P4" constant="false"/>
+      <parameter id="P5" constant="false"/>
+      <parameter id="P6" constant="false"/>
+      <parameter id="P7" constant="false"/>
+      <parameter id="P8" constant="false"/>
+      <parameter id="P9" constant="false"/>
+      <parameter id="P10" constant="false"/>
+      <parameter id="P11" constant="false"/>
+      <parameter id="P12" constant="false"/>
+      <parameter id="P13" constant="false"/>
+      <parameter id="P14" constant="false"/>
+      <parameter id="P15" constant="false"/>
+      <parameter id="P16" constant="false"/>
+      <parameter id="P17" constant="false"/>
+      <parameter id="P18" constant="false"/>
+      <parameter id="P19" constant="false"/>
+      <parameter id="P20" constant="false"/>
+      <parameter id="P21" constant="false"/>
+      <parameter id="P22" constant="false"/>
+      <parameter id="P23" constant="false"/>
+      <parameter id="P24" constant="false"/>
+      <parameter id="P25" constant="false"/>
+      <parameter id="P26" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sec/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sec/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csc/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csc/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn> 0.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cot/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cot/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn> 0.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sinh/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sinh/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cosh/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cosh/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsec/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P12">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsec/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsc/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsc/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccot/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccot/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P17">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsinh/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsinh/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccosh/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <apply>
+                <arctanh/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <apply>
+                <lt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 10 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P21">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <apply>
+                <arctanh/>
+                <apply>
+                  <minus/>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                </apply>
+              </apply>
+              <apply>
+                <lt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> -10 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 0 </cn>
+              <apply>
+                <or/>
+                <apply>
+                  <leq/>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                  <cn type="integer"> 0 </cn>
+                </apply>
+                <apply>
+                  <geq/>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+              </apply>
+            </piece>
+            <otherwise>
+              <apply>
+                <arcsech/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P23">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsch/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsch/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccoth/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 1.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccoth/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn> 1.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00959/00959-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00959/00959-sbml-l3v1.xml
new file mode 100644
index 0000000..2e56e36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00959/00959-sbml-l3v1.xml
@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case000959" name="case000959" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" constant="false"/>
+      <parameter id="P2" constant="false"/>
+      <parameter id="P3" constant="false"/>
+      <parameter id="P4" constant="false"/>
+      <parameter id="P5" constant="false"/>
+      <parameter id="P6" constant="false"/>
+      <parameter id="P7" constant="false"/>
+      <parameter id="P8" constant="false"/>
+      <parameter id="P9" constant="false"/>
+      <parameter id="P10" constant="false"/>
+      <parameter id="P11" constant="false"/>
+      <parameter id="P12" constant="false"/>
+      <parameter id="P13" constant="false"/>
+      <parameter id="P14" constant="false"/>
+      <parameter id="P15" constant="false"/>
+      <parameter id="P16" constant="false"/>
+      <parameter id="P17" constant="false"/>
+      <parameter id="P18" constant="false"/>
+      <parameter id="P19" constant="false"/>
+      <parameter id="P20" constant="false"/>
+      <parameter id="P21" constant="false"/>
+      <parameter id="P22" constant="false"/>
+      <parameter id="P23" constant="false"/>
+      <parameter id="P24" constant="false"/>
+      <parameter id="P25" constant="false"/>
+      <parameter id="P26" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sec/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sec/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csc/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csc/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn> 0.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cot/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cot/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn> 0.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sinh/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <sinh/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P9">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cosh/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P10">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <cosh/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P11">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsec/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P12">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsec/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P13">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsc/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P14">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsc/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P15">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccot/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P16">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccot/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P17">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsinh/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P18">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arcsinh/>
+            <apply>
+              <minus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P19">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccosh/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P20">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <apply>
+                <arctanh/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <apply>
+                <lt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 10 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P21">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <apply>
+                <arctanh/>
+                <apply>
+                  <minus/>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                </apply>
+              </apply>
+              <apply>
+                <lt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> -10 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P22">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 0 </cn>
+              <apply>
+                <or/>
+                <apply>
+                  <leq/>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                  <cn type="integer"> 0 </cn>
+                </apply>
+                <apply>
+                  <geq/>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+              </apply>
+            </piece>
+            <otherwise>
+              <apply>
+                <arcsech/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </otherwise>
+          </piecewise>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P23">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsch/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P24">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccsch/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P25">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccoth/>
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 1.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P26">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <arccoth/>
+            <apply>
+              <minus/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+              <cn> 1.001 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00959/00959-settings.txt b/models/sbml-test-suite/cases/semantic/00959/00959-settings.txt
new file mode 100644
index 0000000..dbdfb64
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00959/00959-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 10
+variables: P1,P2, P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00960/00960-results.csv b/models/sbml-test-suite/cases/semantic/00960/00960-results.csv
new file mode 100644
index 0000000..acc3d20
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00960/00960-results.csv
@@ -0,0 +1,12 @@
+time,P1,P2,P3,P4,P5
+0,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.1,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.2,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.3,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.4,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.5,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.6,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.7,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.8,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.9,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+1,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
diff --git a/models/sbml-test-suite/cases/semantic/00960/00960-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00960/00960-sbml-l3v1.xml
new file mode 100644
index 0000000..6bf5a25
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00960/00960-sbml-l3v1.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00960" name="case00960" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="P1" constant="true"/>
+      <parameter id="P2" constant="true"/>
+      <parameter id="P3" constant="true"/>
+      <parameter id="P4" constant="true"/>
+      <parameter id="P5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> avogadro </csymbol>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> time </csymbol>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> delay </csymbol>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro" />
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> avogadro </csymbol>
+            <cn type="e-notation"> 6.0221 <sep/> 23 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00960/00960-settings.txt b/models/sbml-test-suite/cases/semantic/00960/00960-settings.txt
new file mode 100644
index 0000000..194e0e0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00960/00960-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 10
+variables: P1,P2,P3,P4,P5
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00961/00961-results.csv b/models/sbml-test-suite/cases/semantic/00961/00961-results.csv
new file mode 100644
index 0000000..acc3d20
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00961/00961-results.csv
@@ -0,0 +1,12 @@
+time,P1,P2,P3,P4,P5
+0,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.1,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.2,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.3,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.4,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.5,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.6,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.7,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.8,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+0.9,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
+1,6.02214179E+23,6.02214179E+23,6.02214179E+23,6.02214179E+23,4.179E+18
diff --git a/models/sbml-test-suite/cases/semantic/00961/00961-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00961/00961-sbml-l3v1.xml
new file mode 100644
index 0000000..2f82abd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00961/00961-sbml-l3v1.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00961" name="case00961">
+    <listOfParameters>
+      <parameter id="P1" constant="false"/>
+      <parameter id="P2" constant="false"/>
+      <parameter id="P3" constant="false"/>
+      <parameter id="P4" constant="false"/>
+      <parameter id="P5" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="P1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> avogadro </csymbol>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> time </csymbol>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> delay </csymbol>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro" />
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="P5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> avogadro </csymbol>
+            <cn type="e-notation"> 6.0221 <sep/> 23 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00961/00961-settings.txt b/models/sbml-test-suite/cases/semantic/00961/00961-settings.txt
new file mode 100644
index 0000000..194e0e0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00961/00961-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 10
+variables: P1,P2,P3,P4,P5
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00962/00962-antimony.txt b/models/sbml-test-suite/cases/semantic/00962/00962-antimony.txt
new file mode 100644
index 0000000..d52585a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00962/00962-antimony.txt
@@ -0,0 +1,21 @@
+//Created by libAntimony v1.4
+model case00962()
+
+  // Assignment Rules:
+  S := Q + R;
+
+  // Events:
+  Qinc: at time - reset >= 0.01, priority = 1, persistent=false: Q = Q + 0.01, reset = time;
+  Rinc: at time - reset >= 0.01, priority = 1, persistent=false: R = R + 0.01, reset = time;
+  maxcheck: at(abs(Q-R)>maxdiff): maxdiff = abs(Q-R);
+  error_check: at (time>=99) && (maxdiff < .2) : error = 1;
+
+  // Variable initializations:
+  reset = 0;
+  Q = 0;
+  R = 0;
+  maxdiff = 0;
+  error = 0;
+
+end
+
diff --git a/models/sbml-test-suite/cases/semantic/00962/00962-results.csv b/models/sbml-test-suite/cases/semantic/00962/00962-results.csv
new file mode 100644
index 0000000..ef7896b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00962/00962-results.csv
@@ -0,0 +1,1003 @@
+time,S,error
+0,0,0
+0.0999001,0.09,0
+0.1998002,0.19,0
+0.2997003,0.29,0
+0.3996004,0.39,0
+0.4995005,0.49,0
+0.599400599,0.59,0
+0.699300699,0.69,0
+0.799200799,0.79,0
+0.899100899,0.89,0
+0.999000999,0.99,0
+1.098901099,1.09,0
+1.198801199,1.19,0
+1.298701299,1.29,0
+1.398601399,1.39,0
+1.498501499,1.49,0
+1.598401598,1.59,0
+1.698301698,1.69,0
+1.798201798,1.79,0
+1.898101898,1.89,0
+1.998001998,1.99,0
+2.097902098,2.09,0
+2.197802198,2.19,0
+2.297702298,2.29,0
+2.397602398,2.39,0
+2.497502498,2.49,0
+2.597402597,2.59,0
+2.697302697,2.69,0
+2.797202797,2.79,0
+2.897102897,2.89,0
+2.997002997,2.99,0
+3.096903097,3.09,0
+3.196803197,3.19,0
+3.296703297,3.29,0
+3.396603397,3.39,0
+3.496503497,3.49,0
+3.596403596,3.59,0
+3.696303696,3.69,0
+3.796203796,3.79,0
+3.896103896,3.89,0
+3.996003996,3.99,0
+4.095904096,4.09,0
+4.195804196,4.19,0
+4.295704296,4.29,0
+4.395604396,4.39,0
+4.495504496,4.49,0
+4.595404595,4.59,0
+4.695304695,4.69,0
+4.795204795,4.79,0
+4.895104895,4.89,0
+4.995004995,4.99,0
+5.094905095,5.09,0
+5.194805195,5.19,0
+5.294705295,5.29,0
+5.394605395,5.39,0
+5.494505495,5.49,0
+5.594405594,5.59,0
+5.694305694,5.69,0
+5.794205794,5.79,0
+5.894105894,5.89,0
+5.994005994,5.99,0
+6.093906094,6.09,0
+6.193806194,6.19,0
+6.293706294,6.29,0
+6.393606394,6.39,0
+6.493506494,6.49,0
+6.593406593,6.59,0
+6.693306693,6.69,0
+6.793206793,6.79,0
+6.893106893,6.89,0
+6.993006993,6.99,0
+7.092907093,7.09,0
+7.192807193,7.19,0
+7.292707293,7.29,0
+7.392607393,7.39,0
+7.492507493,7.49,0
+7.592407592,7.59,0
+7.692307692,7.69,0
+7.792207792,7.79,0
+7.892107892,7.89,0
+7.992007992,7.99,0
+8.091908092,8.09,0
+8.191808192,8.19,0
+8.291708292,8.29,0
+8.391608392,8.39,0
+8.491508492,8.49,0
+8.591408591,8.59,0
+8.691308691,8.69,0
+8.791208791,8.79,0
+8.891108891,8.89,0
+8.991008991,8.99,0
+9.090909091,9.09,0
+9.190809191,9.19,0
+9.290709291,9.29,0
+9.390609391,9.39,0
+9.490509491,9.49,0
+9.59040959,9.59,0
+9.69030969,9.69,0
+9.79020979,9.79,0
+9.89010989,9.89,0
+9.99000999,9.99,0
+10.08991009,10.08,0
+10.18981019,10.18,0
+10.28971029,10.28,0
+10.38961039,10.38,0
+10.48951049,10.48,0
+10.58941059,10.58,0
+10.68931069,10.68,0
+10.78921079,10.78,0
+10.88911089,10.88,0
+10.98901099,10.98,0
+11.08891109,11.08,0
+11.18881119,11.18,0
+11.28871129,11.28,0
+11.38861139,11.38,0
+11.48851149,11.48,0
+11.58841159,11.58,0
+11.68831169,11.68,0
+11.78821179,11.78,0
+11.88811189,11.88,0
+11.98801199,11.98,0
+12.08791209,12.08,0
+12.18781219,12.18,0
+12.28771229,12.28,0
+12.38761239,12.38,0
+12.48751249,12.48,0
+12.58741259,12.58,0
+12.68731269,12.68,0
+12.78721279,12.78,0
+12.88711289,12.88,0
+12.98701299,12.98,0
+13.08691309,13.08,0
+13.18681319,13.18,0
+13.28671329,13.28,0
+13.38661339,13.38,0
+13.48651349,13.48,0
+13.58641359,13.58,0
+13.68631369,13.68,0
+13.78621379,13.78,0
+13.88611389,13.88,0
+13.98601399,13.98,0
+14.08591409,14.08,0
+14.18581419,14.18,0
+14.28571429,14.28,0
+14.38561439,14.38,0
+14.48551449,14.48,0
+14.58541459,14.58,0
+14.68531469,14.68,0
+14.78521479,14.78,0
+14.88511489,14.88,0
+14.98501499,14.98,0
+15.08491508,15.08,0
+15.18481518,15.18,0
+15.28471528,15.28,0
+15.38461538,15.38,0
+15.48451548,15.48,0
+15.58441558,15.58,0
+15.68431568,15.68,0
+15.78421578,15.78,0
+15.88411588,15.88,0
+15.98401598,15.98,0
+16.08391608,16.08,0
+16.18381618,16.18,0
+16.28371628,16.28,0
+16.38361638,16.38,0
+16.48351648,16.48,0
+16.58341658,16.58,0
+16.68331668,16.68,0
+16.78321678,16.78,0
+16.88311688,16.88,0
+16.98301698,16.98,0
+17.08291708,17.08,0
+17.18281718,17.18,0
+17.28271728,17.28,0
+17.38261738,17.38,0
+17.48251748,17.48,0
+17.58241758,17.58,0
+17.68231768,17.68,0
+17.78221778,17.78,0
+17.88211788,17.88,0
+17.98201798,17.98,0
+18.08191808,18.08,0
+18.18181818,18.18,0
+18.28171828,18.28,0
+18.38161838,18.38,0
+18.48151848,18.48,0
+18.58141858,18.58,0
+18.68131868,18.68,0
+18.78121878,18.78,0
+18.88111888,18.88,0
+18.98101898,18.98,0
+19.08091908,19.08,0
+19.18081918,19.18,0
+19.28071928,19.28,0
+19.38061938,19.38,0
+19.48051948,19.48,0
+19.58041958,19.58,0
+19.68031968,19.68,0
+19.78021978,19.78,0
+19.88011988,19.88,0
+19.98001998,19.98,0
+20.07992008,20.07,0
+20.17982018,20.17,0
+20.27972028,20.27,0
+20.37962038,20.37,0
+20.47952048,20.47,0
+20.57942058,20.57,0
+20.67932068,20.67,0
+20.77922078,20.77,0
+20.87912088,20.87,0
+20.97902098,20.97,0
+21.07892108,21.07,0
+21.17882118,21.17,0
+21.27872128,21.27,0
+21.37862138,21.37,0
+21.47852148,21.47,0
+21.57842158,21.57,0
+21.67832168,21.67,0
+21.77822178,21.77,0
+21.87812188,21.87,0
+21.97802198,21.97,0
+22.07792208,22.07,0
+22.17782218,22.17,0
+22.27772228,22.27,0
+22.37762238,22.37,0
+22.47752248,22.47,0
+22.57742258,22.57,0
+22.67732268,22.67,0
+22.77722278,22.77,0
+22.87712288,22.87,0
+22.97702298,22.97,0
+23.07692308,23.07,0
+23.17682318,23.17,0
+23.27672328,23.27,0
+23.37662338,23.37,0
+23.47652348,23.47,0
+23.57642358,23.57,0
+23.67632368,23.67,0
+23.77622378,23.77,0
+23.87612388,23.87,0
+23.97602398,23.97,0
+24.07592408,24.07,0
+24.17582418,24.17,0
+24.27572428,24.27,0
+24.37562438,24.37,0
+24.47552448,24.47,0
+24.57542458,24.57,0
+24.67532468,24.67,0
+24.77522478,24.77,0
+24.87512488,24.87,0
+24.97502498,24.97,0
+25.07492507,25.07,0
+25.17482517,25.17,0
+25.27472527,25.27,0
+25.37462537,25.37,0
+25.47452547,25.47,0
+25.57442557,25.57,0
+25.67432567,25.67,0
+25.77422577,25.77,0
+25.87412587,25.87,0
+25.97402597,25.97,0
+26.07392607,26.07,0
+26.17382617,26.17,0
+26.27372627,26.27,0
+26.37362637,26.37,0
+26.47352647,26.47,0
+26.57342657,26.57,0
+26.67332667,26.67,0
+26.77322677,26.77,0
+26.87312687,26.87,0
+26.97302697,26.97,0
+27.07292707,27.07,0
+27.17282717,27.17,0
+27.27272727,27.27,0
+27.37262737,27.37,0
+27.47252747,27.47,0
+27.57242757,27.57,0
+27.67232767,27.67,0
+27.77222777,27.77,0
+27.87212787,27.87,0
+27.97202797,27.97,0
+28.07192807,28.07,0
+28.17182817,28.17,0
+28.27172827,28.27,0
+28.37162837,28.37,0
+28.47152847,28.47,0
+28.57142857,28.57,0
+28.67132867,28.67,0
+28.77122877,28.77,0
+28.87112887,28.87,0
+28.97102897,28.97,0
+29.07092907,29.07,0
+29.17082917,29.17,0
+29.27072927,29.27,0
+29.37062937,29.37,0
+29.47052947,29.47,0
+29.57042957,29.57,0
+29.67032967,29.67,0
+29.77022977,29.77,0
+29.87012987,29.87,0
+29.97002997,29.97,0
+30.06993007,30.06,0
+30.16983017,30.16,0
+30.26973027,30.26,0
+30.36963037,30.36,0
+30.46953047,30.46,0
+30.56943057,30.56,0
+30.66933067,30.66,0
+30.76923077,30.76,0
+30.86913087,30.86,0
+30.96903097,30.96,0
+31.06893107,31.06,0
+31.16883117,31.16,0
+31.26873127,31.26,0
+31.36863137,31.36,0
+31.46853147,31.46,0
+31.56843157,31.56,0
+31.66833167,31.66,0
+31.76823177,31.76,0
+31.86813187,31.86,0
+31.96803197,31.96,0
+32.06793207,32.06,0
+32.16783217,32.16,0
+32.26773227,32.26,0
+32.36763237,32.36,0
+32.46753247,32.46,0
+32.56743257,32.56,0
+32.66733267,32.66,0
+32.76723277,32.76,0
+32.86713287,32.86,0
+32.96703297,32.96,0
+33.06693307,33.06,0
+33.16683317,33.16,0
+33.26673327,33.26,0
+33.36663337,33.36,0
+33.46653347,33.46,0
+33.56643357,33.56,0
+33.66633367,33.66,0
+33.76623377,33.76,0
+33.86613387,33.86,0
+33.96603397,33.96,0
+34.06593407,34.06,0
+34.16583417,34.16,0
+34.26573427,34.26,0
+34.36563437,34.36,0
+34.46553447,34.46,0
+34.56543457,34.56,0
+34.66533467,34.66,0
+34.76523477,34.76,0
+34.86513487,34.86,0
+34.96503497,34.96,0
+35.06493506,35.06,0
+35.16483516,35.16,0
+35.26473526,35.26,0
+35.36463536,35.36,0
+35.46453546,35.46,0
+35.56443556,35.56,0
+35.66433566,35.66,0
+35.76423576,35.76,0
+35.86413586,35.86,0
+35.96403596,35.96,0
+36.06393606,36.06,0
+36.16383616,36.16,0
+36.26373626,36.26,0
+36.36363636,36.36,0
+36.46353646,36.46,0
+36.56343656,36.56,0
+36.66333666,36.66,0
+36.76323676,36.76,0
+36.86313686,36.86,0
+36.96303696,36.96,0
+37.06293706,37.06,0
+37.16283716,37.16,0
+37.26273726,37.26,0
+37.36263736,37.36,0
+37.46253746,37.46,0
+37.56243756,37.56,0
+37.66233766,37.66,0
+37.76223776,37.76,0
+37.86213786,37.86,0
+37.96203796,37.96,0
+38.06193806,38.06,0
+38.16183816,38.16,0
+38.26173826,38.26,0
+38.36163836,38.36,0
+38.46153846,38.46,0
+38.56143856,38.56,0
+38.66133866,38.66,0
+38.76123876,38.76,0
+38.86113886,38.86,0
+38.96103896,38.96,0
+39.06093906,39.06,0
+39.16083916,39.16,0
+39.26073926,39.26,0
+39.36063936,39.36,0
+39.46053946,39.46,0
+39.56043956,39.56,0
+39.66033966,39.66,0
+39.76023976,39.76,0
+39.86013986,39.86,0
+39.96003996,39.96,0
+40.05994006,40.05,0
+40.15984016,40.15,0
+40.25974026,40.25,0
+40.35964036,40.35,0
+40.45954046,40.45,0
+40.55944056,40.55,0
+40.65934066,40.65,0
+40.75924076,40.75,0
+40.85914086,40.85,0
+40.95904096,40.95,0
+41.05894106,41.05,0
+41.15884116,41.15,0
+41.25874126,41.25,0
+41.35864136,41.35,0
+41.45854146,41.45,0
+41.55844156,41.55,0
+41.65834166,41.65,0
+41.75824176,41.75,0
+41.85814186,41.85,0
+41.95804196,41.95,0
+42.05794206,42.05,0
+42.15784216,42.15,0
+42.25774226,42.25,0
+42.35764236,42.35,0
+42.45754246,42.45,0
+42.55744256,42.55,0
+42.65734266,42.65,0
+42.75724276,42.75,0
+42.85714286,42.85,0
+42.95704296,42.95,0
+43.05694306,43.05,0
+43.15684316,43.15,0
+43.25674326,43.25,0
+43.35664336,43.35,0
+43.45654346,43.45,0
+43.55644356,43.55,0
+43.65634366,43.65,0
+43.75624376,43.75,0
+43.85614386,43.85,0
+43.95604396,43.95,0
+44.05594406,44.05,0
+44.15584416,44.15,0
+44.25574426,44.25,0
+44.35564436,44.35,0
+44.45554446,44.45,0
+44.55544456,44.55,0
+44.65534466,44.65,0
+44.75524476,44.75,0
+44.85514486,44.85,0
+44.95504496,44.95,0
+45.05494505,45.05,0
+45.15484515,45.15,0
+45.25474525,45.25,0
+45.35464535,45.35,0
+45.45454545,45.45,0
+45.55444555,45.55,0
+45.65434565,45.65,0
+45.75424575,45.75,0
+45.85414585,45.85,0
+45.95404595,45.95,0
+46.05394605,46.05,0
+46.15384615,46.15,0
+46.25374625,46.25,0
+46.35364635,46.35,0
+46.45354645,46.45,0
+46.55344655,46.55,0
+46.65334665,46.65,0
+46.75324675,46.75,0
+46.85314685,46.85,0
+46.95304695,46.95,0
+47.05294705,47.05,0
+47.15284715,47.15,0
+47.25274725,47.25,0
+47.35264735,47.35,0
+47.45254745,47.45,0
+47.55244755,47.55,0
+47.65234765,47.65,0
+47.75224775,47.75,0
+47.85214785,47.85,0
+47.95204795,47.95,0
+48.05194805,48.05,0
+48.15184815,48.15,0
+48.25174825,48.25,0
+48.35164835,48.35,0
+48.45154845,48.45,0
+48.55144855,48.55,0
+48.65134865,48.65,0
+48.75124875,48.75,0
+48.85114885,48.85,0
+48.95104895,48.95,0
+49.05094905,49.05,0
+49.15084915,49.15,0
+49.25074925,49.25,0
+49.35064935,49.35,0
+49.45054945,49.45,0
+49.55044955,49.55,0
+49.65034965,49.65,0
+49.75024975,49.75,0
+49.85014985,49.85,0
+49.95004995,49.95,0
+50.04995005,50.04,0
+50.14985015,50.14,0
+50.24975025,50.24,0
+50.34965035,50.34,0
+50.44955045,50.44,0
+50.54945055,50.54,0
+50.64935065,50.64,0
+50.74925075,50.74,0
+50.84915085,50.84,0
+50.94905095,50.94,0
+51.04895105,51.04,0
+51.14885115,51.14,0
+51.24875125,51.24,0
+51.34865135,51.34,0
+51.44855145,51.44,0
+51.54845155,51.54,0
+51.64835165,51.64,0
+51.74825175,51.74,0
+51.84815185,51.84,0
+51.94805195,51.94,0
+52.04795205,52.04,0
+52.14785215,52.14,0
+52.24775225,52.24,0
+52.34765235,52.34,0
+52.44755245,52.44,0
+52.54745255,52.54,0
+52.64735265,52.64,0
+52.74725275,52.74,0
+52.84715285,52.84,0
+52.94705295,52.94,0
+53.04695305,53.04,0
+53.14685315,53.14,0
+53.24675325,53.24,0
+53.34665335,53.34,0
+53.44655345,53.44,0
+53.54645355,53.54,0
+53.64635365,53.64,0
+53.74625375,53.74,0
+53.84615385,53.84,0
+53.94605395,53.94,0
+54.04595405,54.04,0
+54.14585415,54.14,0
+54.24575425,54.24,0
+54.34565435,54.34,0
+54.44555445,54.44,0
+54.54545455,54.54,0
+54.64535465,54.64,0
+54.74525475,54.74,0
+54.84515485,54.84,0
+54.94505495,54.94,0
+55.04495504,55.04,0
+55.14485514,55.14,0
+55.24475524,55.24,0
+55.34465534,55.34,0
+55.44455544,55.44,0
+55.54445554,55.54,0
+55.64435564,55.64,0
+55.74425574,55.74,0
+55.84415584,55.84,0
+55.94405594,55.94,0
+56.04395604,56.04,0
+56.14385614,56.14,0
+56.24375624,56.24,0
+56.34365634,56.34,0
+56.44355644,56.44,0
+56.54345654,56.54,0
+56.64335664,56.64,0
+56.74325674,56.74,0
+56.84315684,56.84,0
+56.94305694,56.94,0
+57.04295704,57.04,0
+57.14285714,57.14,0
+57.24275724,57.24,0
+57.34265734,57.34,0
+57.44255744,57.44,0
+57.54245754,57.54,0
+57.64235764,57.64,0
+57.74225774,57.74,0
+57.84215784,57.84,0
+57.94205794,57.94,0
+58.04195804,58.04,0
+58.14185814,58.14,0
+58.24175824,58.24,0
+58.34165834,58.34,0
+58.44155844,58.44,0
+58.54145854,58.54,0
+58.64135864,58.64,0
+58.74125874,58.74,0
+58.84115884,58.84,0
+58.94105894,58.94,0
+59.04095904,59.04,0
+59.14085914,59.14,0
+59.24075924,59.24,0
+59.34065934,59.34,0
+59.44055944,59.44,0
+59.54045954,59.54,0
+59.64035964,59.64,0
+59.74025974,59.74,0
+59.84015984,59.84,0
+59.94005994,59.94,0
+60.03996004,60.03,0
+60.13986014,60.13,0
+60.23976024,60.23,0
+60.33966034,60.33,0
+60.43956044,60.43,0
+60.53946054,60.53,0
+60.63936064,60.63,0
+60.73926074,60.73,0
+60.83916084,60.83,0
+60.93906094,60.93,0
+61.03896104,61.03,0
+61.13886114,61.13,0
+61.23876124,61.23,0
+61.33866134,61.33,0
+61.43856144,61.43,0
+61.53846154,61.53,0
+61.63836164,61.63,0
+61.73826174,61.73,0
+61.83816184,61.83,0
+61.93806194,61.93,0
+62.03796204,62.03,0
+62.13786214,62.13,0
+62.23776224,62.23,0
+62.33766234,62.33,0
+62.43756244,62.43,0
+62.53746254,62.53,0
+62.63736264,62.63,0
+62.73726274,62.73,0
+62.83716284,62.83,0
+62.93706294,62.93,0
+63.03696304,63.03,0
+63.13686314,63.13,0
+63.23676324,63.23,0
+63.33666334,63.33,0
+63.43656344,63.43,0
+63.53646354,63.53,0
+63.63636364,63.63,0
+63.73626374,63.73,0
+63.83616384,63.83,0
+63.93606394,63.93,0
+64.03596404,64.03,0
+64.13586414,64.13,0
+64.23576424,64.23,0
+64.33566434,64.33,0
+64.43556444,64.43,0
+64.53546454,64.53,0
+64.63536464,64.63,0
+64.73526474,64.73,0
+64.83516484,64.83,0
+64.93506494,64.93,0
+65.03496503,65.03,0
+65.13486513,65.13,0
+65.23476523,65.23,0
+65.33466533,65.33,0
+65.43456543,65.43,0
+65.53446553,65.53,0
+65.63436563,65.63,0
+65.73426573,65.73,0
+65.83416583,65.83,0
+65.93406593,65.93,0
+66.03396603,66.03,0
+66.13386613,66.13,0
+66.23376623,66.23,0
+66.33366633,66.33,0
+66.43356643,66.43,0
+66.53346653,66.53,0
+66.63336663,66.63,0
+66.73326673,66.73,0
+66.83316683,66.83,0
+66.93306693,66.93,0
+67.03296703,67.03,0
+67.13286713,67.13,0
+67.23276723,67.23,0
+67.33266733,67.33,0
+67.43256743,67.43,0
+67.53246753,67.53,0
+67.63236763,67.63,0
+67.73226773,67.73,0
+67.83216783,67.83,0
+67.93206793,67.93,0
+68.03196803,68.03,0
+68.13186813,68.13,0
+68.23176823,68.23,0
+68.33166833,68.33,0
+68.43156843,68.43,0
+68.53146853,68.53,0
+68.63136863,68.63,0
+68.73126873,68.73,0
+68.83116883,68.83,0
+68.93106893,68.93,0
+69.03096903,69.03,0
+69.13086913,69.13,0
+69.23076923,69.23,0
+69.33066933,69.33,0
+69.43056943,69.43,0
+69.53046953,69.53,0
+69.63036963,69.63,0
+69.73026973,69.73,0
+69.83016983,69.83,0
+69.93006993,69.93,0
+70.02997003,70.02,0
+70.12987013,70.12,0
+70.22977023,70.22,0
+70.32967033,70.32,0
+70.42957043,70.42,0
+70.52947053,70.52,0
+70.62937063,70.62,0
+70.72927073,70.72,0
+70.82917083,70.82,0
+70.92907093,70.92,0
+71.02897103,71.02,0
+71.12887113,71.12,0
+71.22877123,71.22,0
+71.32867133,71.32,0
+71.42857143,71.42,0
+71.52847153,71.52,0
+71.62837163,71.62,0
+71.72827173,71.72,0
+71.82817183,71.82,0
+71.92807193,71.92,0
+72.02797203,72.02,0
+72.12787213,72.12,0
+72.22777223,72.22,0
+72.32767233,72.32,0
+72.42757243,72.42,0
+72.52747253,72.52,0
+72.62737263,72.62,0
+72.72727273,72.72,0
+72.82717283,72.82,0
+72.92707293,72.92,0
+73.02697303,73.02,0
+73.12687313,73.12,0
+73.22677323,73.22,0
+73.32667333,73.32,0
+73.42657343,73.42,0
+73.52647353,73.52,0
+73.62637363,73.62,0
+73.72627373,73.72,0
+73.82617383,73.82,0
+73.92607393,73.92,0
+74.02597403,74.02,0
+74.12587413,74.12,0
+74.22577423,74.22,0
+74.32567433,74.32,0
+74.42557443,74.42,0
+74.52547453,74.52,0
+74.62537463,74.62,0
+74.72527473,74.72,0
+74.82517483,74.82,0
+74.92507493,74.92,0
+75.02497502,75.02,0
+75.12487512,75.12,0
+75.22477522,75.22,0
+75.32467532,75.32,0
+75.42457542,75.42,0
+75.52447552,75.52,0
+75.62437562,75.62,0
+75.72427572,75.72,0
+75.82417582,75.82,0
+75.92407592,75.92,0
+76.02397602,76.02,0
+76.12387612,76.12,0
+76.22377622,76.22,0
+76.32367632,76.32,0
+76.42357642,76.42,0
+76.52347652,76.52,0
+76.62337662,76.62,0
+76.72327672,76.72,0
+76.82317682,76.82,0
+76.92307692,76.92,0
+77.02297702,77.02,0
+77.12287712,77.12,0
+77.22277722,77.22,0
+77.32267732,77.32,0
+77.42257742,77.42,0
+77.52247752,77.52,0
+77.62237762,77.62,0
+77.72227772,77.72,0
+77.82217782,77.82,0
+77.92207792,77.92,0
+78.02197802,78.02,0
+78.12187812,78.12,0
+78.22177822,78.22,0
+78.32167832,78.32,0
+78.42157842,78.42,0
+78.52147852,78.52,0
+78.62137862,78.62,0
+78.72127872,78.72,0
+78.82117882,78.82,0
+78.92107892,78.92,0
+79.02097902,79.02,0
+79.12087912,79.12,0
+79.22077922,79.22,0
+79.32067932,79.32,0
+79.42057942,79.42,0
+79.52047952,79.52,0
+79.62037962,79.62,0
+79.72027972,79.72,0
+79.82017982,79.82,0
+79.92007992,79.92,0
+80.01998002,80.01,0
+80.11988012,80.11,0
+80.21978022,80.21,0
+80.31968032,80.31,0
+80.41958042,80.41,0
+80.51948052,80.51,0
+80.61938062,80.61,0
+80.71928072,80.71,0
+80.81918082,80.81,0
+80.91908092,80.91,0
+81.01898102,81.01,0
+81.11888112,81.11,0
+81.21878122,81.21,0
+81.31868132,81.31,0
+81.41858142,81.41,0
+81.51848152,81.51,0
+81.61838162,81.61,0
+81.71828172,81.71,0
+81.81818182,81.81,0
+81.91808192,81.91,0
+82.01798202,82.01,0
+82.11788212,82.11,0
+82.21778222,82.21,0
+82.31768232,82.31,0
+82.41758242,82.41,0
+82.51748252,82.51,0
+82.61738262,82.61,0
+82.71728272,82.71,0
+82.81718282,82.81,0
+82.91708292,82.91,0
+83.01698302,83.01,0
+83.11688312,83.11,0
+83.21678322,83.21,0
+83.31668332,83.31,0
+83.41658342,83.41,0
+83.51648352,83.51,0
+83.61638362,83.61,0
+83.71628372,83.71,0
+83.81618382,83.81,0
+83.91608392,83.91,0
+84.01598402,84.01,0
+84.11588412,84.11,0
+84.21578422,84.21,0
+84.31568432,84.31,0
+84.41558442,84.41,0
+84.51548452,84.51,0
+84.61538462,84.61,0
+84.71528472,84.71,0
+84.81518482,84.81,0
+84.91508492,84.91,0
+85.01498501,85.01,0
+85.11488511,85.11,0
+85.21478521,85.21,0
+85.31468531,85.31,0
+85.41458541,85.41,0
+85.51448551,85.51,0
+85.61438561,85.61,0
+85.71428571,85.71,0
+85.81418581,85.81,0
+85.91408591,85.91,0
+86.01398601,86.01,0
+86.11388611,86.11,0
+86.21378621,86.21,0
+86.31368631,86.31,0
+86.41358641,86.41,0
+86.51348651,86.51,0
+86.61338661,86.61,0
+86.71328671,86.71,0
+86.81318681,86.81,0
+86.91308691,86.91,0
+87.01298701,87.01,0
+87.11288711,87.11,0
+87.21278721,87.21,0
+87.31268731,87.31,0
+87.41258741,87.41,0
+87.51248751,87.51,0
+87.61238761,87.61,0
+87.71228771,87.71,0
+87.81218781,87.81,0
+87.91208791,87.91,0
+88.01198801,88.01,0
+88.11188811,88.11,0
+88.21178821,88.21,0
+88.31168831,88.31,0
+88.41158841,88.41,0
+88.51148851,88.51,0
+88.61138861,88.61,0
+88.71128871,88.71,0
+88.81118881,88.81,0
+88.91108891,88.91,0
+89.01098901,89.01,0
+89.11088911,89.11,0
+89.21078921,89.21,0
+89.31068931,89.31,0
+89.41058941,89.41,0
+89.51048951,89.51,0
+89.61038961,89.61,0
+89.71028971,89.71,0
+89.81018981,89.81,0
+89.91008991,89.91,0
+90.00999001,90,0
+90.10989011,90.1,0
+90.20979021,90.2,0
+90.30969031,90.3,0
+90.40959041,90.4,0
+90.50949051,90.5,0
+90.60939061,90.6,0
+90.70929071,90.7,0
+90.80919081,90.8,0
+90.90909091,90.9,0
+91.00899101,91,0
+91.10889111,91.1,0
+91.20879121,91.2,0
+91.30869131,91.3,0
+91.40859141,91.4,0
+91.50849151,91.5,0
+91.60839161,91.6,0
+91.70829171,91.7,0
+91.80819181,91.8,0
+91.90809191,91.9,0
+92.00799201,92,0
+92.10789211,92.1,0
+92.20779221,92.2,0
+92.30769231,92.3,0
+92.40759241,92.4,0
+92.50749251,92.5,0
+92.60739261,92.6,0
+92.70729271,92.7,0
+92.80719281,92.8,0
+92.90709291,92.9,0
+93.00699301,93,0
+93.10689311,93.1,0
+93.20679321,93.2,0
+93.30669331,93.3,0
+93.40659341,93.4,0
+93.50649351,93.5,0
+93.60639361,93.6,0
+93.70629371,93.7,0
+93.80619381,93.8,0
+93.90609391,93.9,0
+94.00599401,94,0
+94.10589411,94.1,0
+94.20579421,94.2,0
+94.30569431,94.3,0
+94.40559441,94.4,0
+94.50549451,94.5,0
+94.60539461,94.6,0
+94.70529471,94.7,0
+94.80519481,94.8,0
+94.90509491,94.9,0
+95.004995,95,0
+95.1048951,95.1,0
+95.2047952,95.2,0
+95.3046953,95.3,0
+95.4045954,95.4,0
+95.5044955,95.5,0
+95.6043956,95.6,0
+95.7042957,95.7,0
+95.8041958,95.8,0
+95.9040959,95.9,0
+96.003996,96,0
+96.1038961,96.1,0
+96.2037962,96.2,0
+96.3036963,96.3,0
+96.4035964,96.4,0
+96.5034965,96.5,0
+96.6033966,96.6,0
+96.7032967,96.7,0
+96.8031968,96.8,0
+96.9030969,96.9,0
+97.002997,97,0
+97.1028971,97.1,0
+97.2027972,97.2,0
+97.3026973,97.3,0
+97.4025974,97.4,0
+97.5024975,97.5,0
+97.6023976,97.6,0
+97.7022977,97.7,0
+97.8021978,97.8,0
+97.9020979,97.9,0
+98.001998,98,0
+98.1018981,98.1,0
+98.2017982,98.2,0
+98.3016983,98.3,0
+98.4015984,98.4,0
+98.5014985,98.5,0
+98.6013986,98.6,0
+98.7012987,98.7,0
+98.8011988,98.8,0
+98.9010989,98.9,0
+99.000999,99,0
+99.1008991,99.1,0
+99.2007992,99.2,0
+99.3006993,99.3,0
+99.4005994,99.4,0
+99.5004995,99.5,0
+99.6003996,99.6,0
+99.7002997,99.7,0
+99.8001998,99.8,0
+99.9000999,99.9,0
+100,99.99,0
diff --git a/models/sbml-test-suite/cases/semantic/00962/00962-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00962/00962-sbml-l3v1.xml
new file mode 100644
index 0000000..75ae25f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00962/00962-sbml-l3v1.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 12:53 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00962" name="case00962">
+    <listOfParameters>
+      <parameter id="S" value="0" constant="false"/>
+      <parameter id="Q" value="0" constant="false"/>
+      <parameter id="R" value="0" constant="false"/>
+      <parameter id="reset" value="0" constant="false"/>
+      <parameter id="maxdiff" value="0" constant="false"/>
+      <parameter id="error" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="S">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> Q </ci>
+            <ci> R </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="Qinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Rinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="maxcheck" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <apply>
+                <abs/>
+                <apply>
+                  <minus/>
+                  <ci> Q </ci>
+                  <ci> R </ci>
+                </apply>
+              </apply>
+              <ci> maxdiff </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="maxdiff">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <abs/>
+                <apply>
+                  <minus/>
+                  <ci> Q </ci>
+                  <ci> R </ci>
+                </apply>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="error_check" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 99 </cn>
+              </apply>
+              <apply>
+                <lt/>
+                <ci> maxdiff </ci>
+                <cn> 0.2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="error">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00962/00962-settings.txt b/models/sbml-test-suite/cases/semantic/00962/00962-settings.txt
new file mode 100644
index 0000000..e89905b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00962/00962-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 100
+steps: 1001
+variables: S, error
+absolute: 0.03
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00963/00963-results.csv b/models/sbml-test-suite/cases/semantic/00963/00963-results.csv
new file mode 100644
index 0000000..3ab4e00
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00963/00963-results.csv
@@ -0,0 +1,1003 @@
+time,Q,R,Q2,R2
+0,0,0,0,0
+0.009991009,0,0,0,0
+0.019982018,0.01,0,0,0.01
+0.029973027,0.02,0,0,0.02
+0.039964036,0.03,0,0,0.03
+0.049955045,0.04,0,0,0.04
+0.059946054,0.05,0,0,0.05
+0.069937063,0.06,0,0,0.06
+0.079928072,0.07,0,0,0.07
+0.089919081,0.08,0,0,0.08
+0.09991009,0.09,0,0,0.09
+0.109901099,0.1,0,0,0.1
+0.119892108,0.11,0,0,0.11
+0.129883117,0.12,0,0,0.12
+0.139874126,0.13,0,0,0.13
+0.149865135,0.14,0,0,0.14
+0.159856144,0.15,0,0,0.15
+0.169847153,0.16,0,0,0.16
+0.179838162,0.17,0,0,0.17
+0.189829171,0.18,0,0,0.18
+0.19982018,0.19,0,0,0.19
+0.209811189,0.2,0,0,0.2
+0.219802198,0.21,0,0,0.21
+0.229793207,0.22,0,0,0.22
+0.239784216,0.23,0,0,0.23
+0.249775225,0.24,0,0,0.24
+0.259766234,0.25,0,0,0.25
+0.269757243,0.26,0,0,0.26
+0.279748252,0.27,0,0,0.27
+0.289739261,0.28,0,0,0.28
+0.29973027,0.29,0,0,0.29
+0.309721279,0.3,0,0,0.3
+0.319712288,0.31,0,0,0.31
+0.329703297,0.32,0,0,0.32
+0.339694306,0.33,0,0,0.33
+0.349685315,0.34,0,0,0.34
+0.359676324,0.35,0,0,0.35
+0.369667333,0.36,0,0,0.36
+0.379658342,0.37,0,0,0.37
+0.389649351,0.38,0,0,0.38
+0.39964036,0.39,0,0,0.39
+0.409631369,0.4,0,0,0.4
+0.419622378,0.41,0,0,0.41
+0.429613387,0.42,0,0,0.42
+0.439604396,0.43,0,0,0.43
+0.449595405,0.44,0,0,0.44
+0.459586414,0.45,0,0,0.45
+0.469577423,0.46,0,0,0.46
+0.479568432,0.47,0,0,0.47
+0.489559441,0.48,0,0,0.48
+0.49955045,0.49,0,0,0.49
+0.509541459,0.5,0,0,0.5
+0.519532468,0.51,0,0,0.51
+0.529523477,0.52,0,0,0.52
+0.539514486,0.53,0,0,0.53
+0.549505495,0.54,0,0,0.54
+0.559496503,0.55,0,0,0.55
+0.569487512,0.56,0,0,0.56
+0.579478521,0.57,0,0,0.57
+0.58946953,0.58,0,0,0.58
+0.599460539,0.59,0,0,0.59
+0.609451548,0.6,0,0,0.6
+0.619442557,0.61,0,0,0.61
+0.629433566,0.62,0,0,0.62
+0.639424575,0.63,0,0,0.63
+0.649415584,0.64,0,0,0.64
+0.659406593,0.65,0,0,0.65
+0.669397602,0.66,0,0,0.66
+0.679388611,0.67,0,0,0.67
+0.68937962,0.68,0,0,0.68
+0.699370629,0.69,0,0,0.69
+0.709361638,0.7,0,0,0.7
+0.719352647,0.71,0,0,0.71
+0.729343656,0.72,0,0,0.72
+0.739334665,0.73,0,0,0.73
+0.749325674,0.74,0,0,0.74
+0.759316683,0.75,0,0,0.75
+0.769307692,0.76,0,0,0.76
+0.779298701,0.77,0,0,0.77
+0.78928971,0.78,0,0,0.78
+0.799280719,0.79,0,0,0.79
+0.809271728,0.8,0,0,0.8
+0.819262737,0.81,0,0,0.81
+0.829253746,0.82,0,0,0.82
+0.839244755,0.83,0,0,0.83
+0.849235764,0.84,0,0,0.84
+0.859226773,0.85,0,0,0.85
+0.869217782,0.86,0,0,0.86
+0.879208791,0.87,0,0,0.87
+0.8891998,0.88,0,0,0.88
+0.899190809,0.89,0,0,0.89
+0.909181818,0.9,0,0,0.9
+0.919172827,0.91,0,0,0.91
+0.929163836,0.92,0,0,0.92
+0.939154845,0.93,0,0,0.93
+0.949145854,0.94,0,0,0.94
+0.959136863,0.95,0,0,0.95
+0.969127872,0.96,0,0,0.96
+0.979118881,0.97,0,0,0.97
+0.98910989,0.98,0,0,0.98
+0.999100899,0.99,0,0,0.99
+1.009091908,1,0,0,1
+1.019082917,1.01,0,0,1.01
+1.029073926,1.02,0,0,1.02
+1.039064935,1.03,0,0,1.03
+1.049055944,1.04,0,0,1.04
+1.059046953,1.05,0,0,1.05
+1.069037962,1.06,0,0,1.06
+1.079028971,1.07,0,0,1.07
+1.08901998,1.08,0,0,1.08
+1.099010989,1.09,0,0,1.09
+1.109001998,1.1,0,0,1.1
+1.118993007,1.11,0,0,1.11
+1.128984016,1.12,0,0,1.12
+1.138975025,1.13,0,0,1.13
+1.148966034,1.14,0,0,1.14
+1.158957043,1.15,0,0,1.15
+1.168948052,1.16,0,0,1.16
+1.178939061,1.17,0,0,1.17
+1.18893007,1.18,0,0,1.18
+1.198921079,1.19,0,0,1.19
+1.208912088,1.2,0,0,1.2
+1.218903097,1.21,0,0,1.21
+1.228894106,1.22,0,0,1.22
+1.238885115,1.23,0,0,1.23
+1.248876124,1.24,0,0,1.24
+1.258867133,1.25,0,0,1.25
+1.268858142,1.26,0,0,1.26
+1.278849151,1.27,0,0,1.27
+1.28884016,1.28,0,0,1.28
+1.298831169,1.29,0,0,1.29
+1.308822178,1.3,0,0,1.3
+1.318813187,1.31,0,0,1.31
+1.328804196,1.32,0,0,1.32
+1.338795205,1.33,0,0,1.33
+1.348786214,1.34,0,0,1.34
+1.358777223,1.35,0,0,1.35
+1.368768232,1.36,0,0,1.36
+1.378759241,1.37,0,0,1.37
+1.38875025,1.38,0,0,1.38
+1.398741259,1.39,0,0,1.39
+1.408732268,1.4,0,0,1.4
+1.418723277,1.41,0,0,1.41
+1.428714286,1.42,0,0,1.42
+1.438705295,1.43,0,0,1.43
+1.448696304,1.44,0,0,1.44
+1.458687313,1.45,0,0,1.45
+1.468678322,1.46,0,0,1.46
+1.478669331,1.47,0,0,1.47
+1.48866034,1.48,0,0,1.48
+1.498651349,1.49,0,0,1.49
+1.508642358,1.5,0,0,1.5
+1.518633367,1.51,0,0,1.51
+1.528624376,1.52,0,0,1.52
+1.538615385,1.53,0,0,1.53
+1.548606394,1.54,0,0,1.54
+1.558597403,1.55,0,0,1.55
+1.568588412,1.56,0,0,1.56
+1.578579421,1.57,0,0,1.57
+1.58857043,1.58,0,0,1.58
+1.598561439,1.59,0,0,1.59
+1.608552448,1.6,0,0,1.6
+1.618543457,1.61,0,0,1.61
+1.628534466,1.62,0,0,1.62
+1.638525475,1.63,0,0,1.63
+1.648516484,1.64,0,0,1.64
+1.658507493,1.65,0,0,1.65
+1.668498501,1.66,0,0,1.66
+1.67848951,1.67,0,0,1.67
+1.688480519,1.68,0,0,1.68
+1.698471528,1.69,0,0,1.69
+1.708462537,1.7,0,0,1.7
+1.718453546,1.71,0,0,1.71
+1.728444555,1.72,0,0,1.72
+1.738435564,1.73,0,0,1.73
+1.748426573,1.74,0,0,1.74
+1.758417582,1.75,0,0,1.75
+1.768408591,1.76,0,0,1.76
+1.7783996,1.77,0,0,1.77
+1.788390609,1.78,0,0,1.78
+1.798381618,1.79,0,0,1.79
+1.808372627,1.8,0,0,1.8
+1.818363636,1.81,0,0,1.81
+1.828354645,1.82,0,0,1.82
+1.838345654,1.83,0,0,1.83
+1.848336663,1.84,0,0,1.84
+1.858327672,1.85,0,0,1.85
+1.868318681,1.86,0,0,1.86
+1.87830969,1.87,0,0,1.87
+1.888300699,1.88,0,0,1.88
+1.898291708,1.89,0,0,1.89
+1.908282717,1.9,0,0,1.9
+1.918273726,1.91,0,0,1.91
+1.928264735,1.92,0,0,1.92
+1.938255744,1.93,0,0,1.93
+1.948246753,1.94,0,0,1.94
+1.958237762,1.95,0,0,1.95
+1.968228771,1.96,0,0,1.96
+1.97821978,1.97,0,0,1.97
+1.988210789,1.98,0,0,1.98
+1.998201798,1.99,0,0,1.99
+2.008192807,2,0,0,2
+2.018183816,2.01,0,0,2.01
+2.028174825,2.02,0,0,2.02
+2.038165834,2.03,0,0,2.03
+2.048156843,2.04,0,0,2.04
+2.058147852,2.05,0,0,2.05
+2.068138861,2.06,0,0,2.06
+2.07812987,2.07,0,0,2.07
+2.088120879,2.08,0,0,2.08
+2.098111888,2.09,0,0,2.09
+2.108102897,2.1,0,0,2.1
+2.118093906,2.11,0,0,2.11
+2.128084915,2.12,0,0,2.12
+2.138075924,2.13,0,0,2.13
+2.148066933,2.14,0,0,2.14
+2.158057942,2.15,0,0,2.15
+2.168048951,2.16,0,0,2.16
+2.17803996,2.17,0,0,2.17
+2.188030969,2.18,0,0,2.18
+2.198021978,2.19,0,0,2.19
+2.208012987,2.2,0,0,2.2
+2.218003996,2.21,0,0,2.21
+2.227995005,2.22,0,0,2.22
+2.237986014,2.23,0,0,2.23
+2.247977023,2.24,0,0,2.24
+2.257968032,2.25,0,0,2.25
+2.267959041,2.26,0,0,2.26
+2.27795005,2.27,0,0,2.27
+2.287941059,2.28,0,0,2.28
+2.297932068,2.29,0,0,2.29
+2.307923077,2.3,0,0,2.3
+2.317914086,2.31,0,0,2.31
+2.327905095,2.32,0,0,2.32
+2.337896104,2.33,0,0,2.33
+2.347887113,2.34,0,0,2.34
+2.357878122,2.35,0,0,2.35
+2.367869131,2.36,0,0,2.36
+2.37786014,2.37,0,0,2.37
+2.387851149,2.38,0,0,2.38
+2.397842158,2.39,0,0,2.39
+2.407833167,2.4,0,0,2.4
+2.417824176,2.41,0,0,2.41
+2.427815185,2.42,0,0,2.42
+2.437806194,2.43,0,0,2.43
+2.447797203,2.44,0,0,2.44
+2.457788212,2.45,0,0,2.45
+2.467779221,2.46,0,0,2.46
+2.47777023,2.47,0,0,2.47
+2.487761239,2.48,0,0,2.48
+2.497752248,2.49,0,0,2.49
+2.507743257,2.5,0,0,2.5
+2.517734266,2.51,0,0,2.51
+2.527725275,2.52,0,0,2.52
+2.537716284,2.53,0,0,2.53
+2.547707293,2.54,0,0,2.54
+2.557698302,2.55,0,0,2.55
+2.567689311,2.56,0,0,2.56
+2.57768032,2.57,0,0,2.57
+2.587671329,2.58,0,0,2.58
+2.597662338,2.59,0,0,2.59
+2.607653347,2.6,0,0,2.6
+2.617644356,2.61,0,0,2.61
+2.627635365,2.62,0,0,2.62
+2.637626374,2.63,0,0,2.63
+2.647617383,2.64,0,0,2.64
+2.657608392,2.65,0,0,2.65
+2.667599401,2.66,0,0,2.66
+2.67759041,2.67,0,0,2.67
+2.687581419,2.68,0,0,2.68
+2.697572428,2.69,0,0,2.69
+2.707563437,2.7,0,0,2.7
+2.717554446,2.71,0,0,2.71
+2.727545455,2.72,0,0,2.72
+2.737536464,2.73,0,0,2.73
+2.747527473,2.74,0,0,2.74
+2.757518482,2.75,0,0,2.75
+2.767509491,2.76,0,0,2.76
+2.7775005,2.77,0,0,2.77
+2.787491508,2.78,0,0,2.78
+2.797482517,2.79,0,0,2.79
+2.807473526,2.8,0,0,2.8
+2.817464535,2.81,0,0,2.81
+2.827455544,2.82,0,0,2.82
+2.837446553,2.83,0,0,2.83
+2.847437562,2.84,0,0,2.84
+2.857428571,2.85,0,0,2.85
+2.86741958,2.86,0,0,2.86
+2.877410589,2.87,0,0,2.87
+2.887401598,2.88,0,0,2.88
+2.897392607,2.89,0,0,2.89
+2.907383616,2.9,0,0,2.9
+2.917374625,2.91,0,0,2.91
+2.927365634,2.92,0,0,2.92
+2.937356643,2.93,0,0,2.93
+2.947347652,2.94,0,0,2.94
+2.957338661,2.95,0,0,2.95
+2.96732967,2.96,0,0,2.96
+2.977320679,2.97,0,0,2.97
+2.987311688,2.98,0,0,2.98
+2.997302697,2.99,0,0,2.99
+3.007293706,3,0,0,3
+3.017284715,3.01,0,0,3.01
+3.027275724,3.02,0,0,3.02
+3.037266733,3.03,0,0,3.03
+3.047257742,3.04,0,0,3.04
+3.057248751,3.05,0,0,3.05
+3.06723976,3.06,0,0,3.06
+3.077230769,3.07,0,0,3.07
+3.087221778,3.08,0,0,3.08
+3.097212787,3.09,0,0,3.09
+3.107203796,3.1,0,0,3.1
+3.117194805,3.11,0,0,3.11
+3.127185814,3.12,0,0,3.12
+3.137176823,3.13,0,0,3.13
+3.147167832,3.14,0,0,3.14
+3.157158841,3.15,0,0,3.15
+3.16714985,3.16,0,0,3.16
+3.177140859,3.17,0,0,3.17
+3.187131868,3.18,0,0,3.18
+3.197122877,3.19,0,0,3.19
+3.207113886,3.2,0,0,3.2
+3.217104895,3.21,0,0,3.21
+3.227095904,3.22,0,0,3.22
+3.237086913,3.23,0,0,3.23
+3.247077922,3.24,0,0,3.24
+3.257068931,3.25,0,0,3.25
+3.26705994,3.26,0,0,3.26
+3.277050949,3.27,0,0,3.27
+3.287041958,3.28,0,0,3.28
+3.297032967,3.29,0,0,3.29
+3.307023976,3.3,0,0,3.3
+3.317014985,3.31,0,0,3.31
+3.327005994,3.32,0,0,3.32
+3.336997003,3.33,0,0,3.33
+3.346988012,3.34,0,0,3.34
+3.356979021,3.35,0,0,3.35
+3.36697003,3.36,0,0,3.36
+3.376961039,3.37,0,0,3.37
+3.386952048,3.38,0,0,3.38
+3.396943057,3.39,0,0,3.39
+3.406934066,3.4,0,0,3.4
+3.416925075,3.41,0,0,3.41
+3.426916084,3.42,0,0,3.42
+3.436907093,3.43,0,0,3.43
+3.446898102,3.44,0,0,3.44
+3.456889111,3.45,0,0,3.45
+3.46688012,3.46,0,0,3.46
+3.476871129,3.47,0,0,3.47
+3.486862138,3.48,0,0,3.48
+3.496853147,3.49,0,0,3.49
+3.506844156,3.5,0,0,3.5
+3.516835165,3.51,0,0,3.51
+3.526826174,3.52,0,0,3.52
+3.536817183,3.53,0,0,3.53
+3.546808192,3.54,0,0,3.54
+3.556799201,3.55,0,0,3.55
+3.56679021,3.56,0,0,3.56
+3.576781219,3.57,0,0,3.57
+3.586772228,3.58,0,0,3.58
+3.596763237,3.59,0,0,3.59
+3.606754246,3.6,0,0,3.6
+3.616745255,3.61,0,0,3.61
+3.626736264,3.62,0,0,3.62
+3.636727273,3.63,0,0,3.63
+3.646718282,3.64,0,0,3.64
+3.656709291,3.65,0,0,3.65
+3.6667003,3.66,0,0,3.66
+3.676691309,3.67,0,0,3.67
+3.686682318,3.68,0,0,3.68
+3.696673327,3.69,0,0,3.69
+3.706664336,3.7,0,0,3.7
+3.716655345,3.71,0,0,3.71
+3.726646354,3.72,0,0,3.72
+3.736637363,3.73,0,0,3.73
+3.746628372,3.74,0,0,3.74
+3.756619381,3.75,0,0,3.75
+3.76661039,3.76,0,0,3.76
+3.776601399,3.77,0,0,3.77
+3.786592408,3.78,0,0,3.78
+3.796583417,3.79,0,0,3.79
+3.806574426,3.8,0,0,3.8
+3.816565435,3.81,0,0,3.81
+3.826556444,3.82,0,0,3.82
+3.836547453,3.83,0,0,3.83
+3.846538462,3.84,0,0,3.84
+3.856529471,3.85,0,0,3.85
+3.86652048,3.86,0,0,3.86
+3.876511489,3.87,0,0,3.87
+3.886502498,3.88,0,0,3.88
+3.896493506,3.89,0,0,3.89
+3.906484515,3.9,0,0,3.9
+3.916475524,3.91,0,0,3.91
+3.926466533,3.92,0,0,3.92
+3.936457542,3.93,0,0,3.93
+3.946448551,3.94,0,0,3.94
+3.95643956,3.95,0,0,3.95
+3.966430569,3.96,0,0,3.96
+3.976421578,3.97,0,0,3.97
+3.986412587,3.98,0,0,3.98
+3.996403596,3.99,0,0,3.99
+4.006394605,4,0,0,4
+4.016385614,4.01,0,0,4.01
+4.026376623,4.02,0,0,4.02
+4.036367632,4.03,0,0,4.03
+4.046358641,4.04,0,0,4.04
+4.05634965,4.05,0,0,4.05
+4.066340659,4.06,0,0,4.06
+4.076331668,4.07,0,0,4.07
+4.086322677,4.08,0,0,4.08
+4.096313686,4.09,0,0,4.09
+4.106304695,4.1,0,0,4.1
+4.116295704,4.11,0,0,4.11
+4.126286713,4.12,0,0,4.12
+4.136277722,4.13,0,0,4.13
+4.146268731,4.14,0,0,4.14
+4.15625974,4.15,0,0,4.15
+4.166250749,4.16,0,0,4.16
+4.176241758,4.17,0,0,4.17
+4.186232767,4.18,0,0,4.18
+4.196223776,4.19,0,0,4.19
+4.206214785,4.2,0,0,4.2
+4.216205794,4.21,0,0,4.21
+4.226196803,4.22,0,0,4.22
+4.236187812,4.23,0,0,4.23
+4.246178821,4.24,0,0,4.24
+4.25616983,4.25,0,0,4.25
+4.266160839,4.26,0,0,4.26
+4.276151848,4.27,0,0,4.27
+4.286142857,4.28,0,0,4.28
+4.296133866,4.29,0,0,4.29
+4.306124875,4.3,0,0,4.3
+4.316115884,4.31,0,0,4.31
+4.326106893,4.32,0,0,4.32
+4.336097902,4.33,0,0,4.33
+4.346088911,4.34,0,0,4.34
+4.35607992,4.35,0,0,4.35
+4.366070929,4.36,0,0,4.36
+4.376061938,4.37,0,0,4.37
+4.386052947,4.38,0,0,4.38
+4.396043956,4.39,0,0,4.39
+4.406034965,4.4,0,0,4.4
+4.416025974,4.41,0,0,4.41
+4.426016983,4.42,0,0,4.42
+4.436007992,4.43,0,0,4.43
+4.445999001,4.44,0,0,4.44
+4.45599001,4.45,0,0,4.45
+4.465981019,4.46,0,0,4.46
+4.475972028,4.47,0,0,4.47
+4.485963037,4.48,0,0,4.48
+4.495954046,4.49,0,0,4.49
+4.505945055,4.5,0,0,4.5
+4.515936064,4.51,0,0,4.51
+4.525927073,4.52,0,0,4.52
+4.535918082,4.53,0,0,4.53
+4.545909091,4.54,0,0,4.54
+4.5559001,4.55,0,0,4.55
+4.565891109,4.56,0,0,4.56
+4.575882118,4.57,0,0,4.57
+4.585873127,4.58,0,0,4.58
+4.595864136,4.59,0,0,4.59
+4.605855145,4.6,0,0,4.6
+4.615846154,4.61,0,0,4.61
+4.625837163,4.62,0,0,4.62
+4.635828172,4.63,0,0,4.63
+4.645819181,4.64,0,0,4.64
+4.65581019,4.65,0,0,4.65
+4.665801199,4.66,0,0,4.66
+4.675792208,4.67,0,0,4.67
+4.685783217,4.68,0,0,4.68
+4.695774226,4.69,0,0,4.69
+4.705765235,4.7,0,0,4.7
+4.715756244,4.71,0,0,4.71
+4.725747253,4.72,0,0,4.72
+4.735738262,4.73,0,0,4.73
+4.745729271,4.74,0,0,4.74
+4.75572028,4.75,0,0,4.75
+4.765711289,4.76,0,0,4.76
+4.775702298,4.77,0,0,4.77
+4.785693307,4.78,0,0,4.78
+4.795684316,4.79,0,0,4.79
+4.805675325,4.8,0,0,4.8
+4.815666334,4.81,0,0,4.81
+4.825657343,4.82,0,0,4.82
+4.835648352,4.83,0,0,4.83
+4.845639361,4.84,0,0,4.84
+4.85563037,4.85,0,0,4.85
+4.865621379,4.86,0,0,4.86
+4.875612388,4.87,0,0,4.87
+4.885603397,4.88,0,0,4.88
+4.895594406,4.89,0,0,4.89
+4.905585415,4.9,0,0,4.9
+4.915576424,4.91,0,0,4.91
+4.925567433,4.92,0,0,4.92
+4.935558442,4.93,0,0,4.93
+4.945549451,4.94,0,0,4.94
+4.95554046,4.95,0,0,4.95
+4.965531469,4.96,0,0,4.96
+4.975522478,4.97,0,0,4.97
+4.985513487,4.98,0,0,4.98
+4.995504496,4.99,0,0,4.99
+5.005495504,5,0,0,5
+5.015486513,5.01,0,0,5.01
+5.025477522,5.02,0,0,5.02
+5.035468531,5.03,0,0,5.03
+5.04545954,5.04,0,0,5.04
+5.055450549,5.05,0,0,5.05
+5.065441558,5.06,0,0,5.06
+5.075432567,5.07,0,0,5.07
+5.085423576,5.08,0,0,5.08
+5.095414585,5.09,0,0,5.09
+5.105405594,5.1,0,0,5.1
+5.115396603,5.11,0,0,5.11
+5.125387612,5.12,0,0,5.12
+5.135378621,5.13,0,0,5.13
+5.14536963,5.14,0,0,5.14
+5.155360639,5.15,0,0,5.15
+5.165351648,5.16,0,0,5.16
+5.175342657,5.17,0,0,5.17
+5.185333666,5.18,0,0,5.18
+5.195324675,5.19,0,0,5.19
+5.205315684,5.2,0,0,5.2
+5.215306693,5.21,0,0,5.21
+5.225297702,5.22,0,0,5.22
+5.235288711,5.23,0,0,5.23
+5.24527972,5.24,0,0,5.24
+5.255270729,5.25,0,0,5.25
+5.265261738,5.26,0,0,5.26
+5.275252747,5.27,0,0,5.27
+5.285243756,5.28,0,0,5.28
+5.295234765,5.29,0,0,5.29
+5.305225774,5.3,0,0,5.3
+5.315216783,5.31,0,0,5.31
+5.325207792,5.32,0,0,5.32
+5.335198801,5.33,0,0,5.33
+5.34518981,5.34,0,0,5.34
+5.355180819,5.35,0,0,5.35
+5.365171828,5.36,0,0,5.36
+5.375162837,5.37,0,0,5.37
+5.385153846,5.38,0,0,5.38
+5.395144855,5.39,0,0,5.39
+5.405135864,5.4,0,0,5.4
+5.415126873,5.41,0,0,5.41
+5.425117882,5.42,0,0,5.42
+5.435108891,5.43,0,0,5.43
+5.4450999,5.44,0,0,5.44
+5.455090909,5.45,0,0,5.45
+5.465081918,5.46,0,0,5.46
+5.475072927,5.47,0,0,5.47
+5.485063936,5.48,0,0,5.48
+5.495054945,5.49,0,0,5.49
+5.505045954,5.5,0,0,5.5
+5.515036963,5.51,0,0,5.51
+5.525027972,5.52,0,0,5.52
+5.535018981,5.53,0,0,5.53
+5.54500999,5.54,0,0,5.54
+5.555000999,5.55,0,0,5.55
+5.564992008,5.56,0,0,5.56
+5.574983017,5.57,0,0,5.57
+5.584974026,5.58,0,0,5.58
+5.594965035,5.59,0,0,5.59
+5.604956044,5.6,0,0,5.6
+5.614947053,5.61,0,0,5.61
+5.624938062,5.62,0,0,5.62
+5.634929071,5.63,0,0,5.63
+5.64492008,5.64,0,0,5.64
+5.654911089,5.65,0,0,5.65
+5.664902098,5.66,0,0,5.66
+5.674893107,5.67,0,0,5.67
+5.684884116,5.68,0,0,5.68
+5.694875125,5.69,0,0,5.69
+5.704866134,5.7,0,0,5.7
+5.714857143,5.71,0,0,5.71
+5.724848152,5.72,0,0,5.72
+5.734839161,5.73,0,0,5.73
+5.74483017,5.74,0,0,5.74
+5.754821179,5.75,0,0,5.75
+5.764812188,5.76,0,0,5.76
+5.774803197,5.77,0,0,5.77
+5.784794206,5.78,0,0,5.78
+5.794785215,5.79,0,0,5.79
+5.804776224,5.8,0,0,5.8
+5.814767233,5.81,0,0,5.81
+5.824758242,5.82,0,0,5.82
+5.834749251,5.83,0,0,5.83
+5.84474026,5.84,0,0,5.84
+5.854731269,5.85,0,0,5.85
+5.864722278,5.86,0,0,5.86
+5.874713287,5.87,0,0,5.87
+5.884704296,5.88,0,0,5.88
+5.894695305,5.89,0,0,5.89
+5.904686314,5.9,0,0,5.9
+5.914677323,5.91,0,0,5.91
+5.924668332,5.92,0,0,5.92
+5.934659341,5.93,0,0,5.93
+5.94465035,5.94,0,0,5.94
+5.954641359,5.95,0,0,5.95
+5.964632368,5.96,0,0,5.96
+5.974623377,5.97,0,0,5.97
+5.984614386,5.98,0,0,5.98
+5.994605395,5.99,0,0,5.99
+6.004596404,6,0,0,6
+6.014587413,6.01,0,0,6.01
+6.024578422,6.02,0,0,6.02
+6.034569431,6.03,0,0,6.03
+6.04456044,6.04,0,0,6.04
+6.054551449,6.05,0,0,6.05
+6.064542458,6.06,0,0,6.06
+6.074533467,6.07,0,0,6.07
+6.084524476,6.08,0,0,6.08
+6.094515485,6.09,0,0,6.09
+6.104506494,6.1,0,0,6.1
+6.114497502,6.11,0,0,6.11
+6.124488511,6.12,0,0,6.12
+6.13447952,6.13,0,0,6.13
+6.144470529,6.14,0,0,6.14
+6.154461538,6.15,0,0,6.15
+6.164452547,6.16,0,0,6.16
+6.174443556,6.17,0,0,6.17
+6.184434565,6.18,0,0,6.18
+6.194425574,6.19,0,0,6.19
+6.204416583,6.2,0,0,6.2
+6.214407592,6.21,0,0,6.21
+6.224398601,6.22,0,0,6.22
+6.23438961,6.23,0,0,6.23
+6.244380619,6.24,0,0,6.24
+6.254371628,6.25,0,0,6.25
+6.264362637,6.26,0,0,6.26
+6.274353646,6.27,0,0,6.27
+6.284344655,6.28,0,0,6.28
+6.294335664,6.29,0,0,6.29
+6.304326673,6.3,0,0,6.3
+6.314317682,6.31,0,0,6.31
+6.324308691,6.32,0,0,6.32
+6.3342997,6.33,0,0,6.33
+6.344290709,6.34,0,0,6.34
+6.354281718,6.35,0,0,6.35
+6.364272727,6.36,0,0,6.36
+6.374263736,6.37,0,0,6.37
+6.384254745,6.38,0,0,6.38
+6.394245754,6.39,0,0,6.39
+6.404236763,6.4,0,0,6.4
+6.414227772,6.41,0,0,6.41
+6.424218781,6.42,0,0,6.42
+6.43420979,6.43,0,0,6.43
+6.444200799,6.44,0,0,6.44
+6.454191808,6.45,0,0,6.45
+6.464182817,6.46,0,0,6.46
+6.474173826,6.47,0,0,6.47
+6.484164835,6.48,0,0,6.48
+6.494155844,6.49,0,0,6.49
+6.504146853,6.5,0,0,6.5
+6.514137862,6.51,0,0,6.51
+6.524128871,6.52,0,0,6.52
+6.53411988,6.53,0,0,6.53
+6.544110889,6.54,0,0,6.54
+6.554101898,6.55,0,0,6.55
+6.564092907,6.56,0,0,6.56
+6.574083916,6.57,0,0,6.57
+6.584074925,6.58,0,0,6.58
+6.594065934,6.59,0,0,6.59
+6.604056943,6.6,0,0,6.6
+6.614047952,6.61,0,0,6.61
+6.624038961,6.62,0,0,6.62
+6.63402997,6.63,0,0,6.63
+6.644020979,6.64,0,0,6.64
+6.654011988,6.65,0,0,6.65
+6.664002997,6.66,0,0,6.66
+6.673994006,6.67,0,0,6.67
+6.683985015,6.68,0,0,6.68
+6.693976024,6.69,0,0,6.69
+6.703967033,6.7,0,0,6.7
+6.713958042,6.71,0,0,6.71
+6.723949051,6.72,0,0,6.72
+6.73394006,6.73,0,0,6.73
+6.743931069,6.74,0,0,6.74
+6.753922078,6.75,0,0,6.75
+6.763913087,6.76,0,0,6.76
+6.773904096,6.77,0,0,6.77
+6.783895105,6.78,0,0,6.78
+6.793886114,6.79,0,0,6.79
+6.803877123,6.8,0,0,6.8
+6.813868132,6.81,0,0,6.81
+6.823859141,6.82,0,0,6.82
+6.83385015,6.83,0,0,6.83
+6.843841159,6.84,0,0,6.84
+6.853832168,6.85,0,0,6.85
+6.863823177,6.86,0,0,6.86
+6.873814186,6.87,0,0,6.87
+6.883805195,6.88,0,0,6.88
+6.893796204,6.89,0,0,6.89
+6.903787213,6.9,0,0,6.9
+6.913778222,6.91,0,0,6.91
+6.923769231,6.92,0,0,6.92
+6.93376024,6.93,0,0,6.93
+6.943751249,6.94,0,0,6.94
+6.953742258,6.95,0,0,6.95
+6.963733267,6.96,0,0,6.96
+6.973724276,6.97,0,0,6.97
+6.983715285,6.98,0,0,6.98
+6.993706294,6.99,0,0,6.99
+7.003697303,7,0,0,7
+7.013688312,7.01,0,0,7.01
+7.023679321,7.02,0,0,7.02
+7.03367033,7.03,0,0,7.03
+7.043661339,7.04,0,0,7.04
+7.053652348,7.05,0,0,7.05
+7.063643357,7.06,0,0,7.06
+7.073634366,7.07,0,0,7.07
+7.083625375,7.08,0,0,7.08
+7.093616384,7.09,0,0,7.09
+7.103607393,7.1,0,0,7.1
+7.113598402,7.11,0,0,7.11
+7.123589411,7.12,0,0,7.12
+7.13358042,7.13,0,0,7.13
+7.143571429,7.14,0,0,7.14
+7.153562438,7.15,0,0,7.15
+7.163553447,7.16,0,0,7.16
+7.173544456,7.17,0,0,7.17
+7.183535465,7.18,0,0,7.18
+7.193526474,7.19,0,0,7.19
+7.203517483,7.2,0,0,7.2
+7.213508492,7.21,0,0,7.21
+7.2234995,7.22,0,0,7.22
+7.233490509,7.23,0,0,7.23
+7.243481518,7.24,0,0,7.24
+7.253472527,7.25,0,0,7.25
+7.263463536,7.26,0,0,7.26
+7.273454545,7.27,0,0,7.27
+7.283445554,7.28,0,0,7.28
+7.293436563,7.29,0,0,7.29
+7.303427572,7.3,0,0,7.3
+7.313418581,7.31,0,0,7.31
+7.32340959,7.32,0,0,7.32
+7.333400599,7.33,0,0,7.33
+7.343391608,7.34,0,0,7.34
+7.353382617,7.35,0,0,7.35
+7.363373626,7.36,0,0,7.36
+7.373364635,7.37,0,0,7.37
+7.383355644,7.38,0,0,7.38
+7.393346653,7.39,0,0,7.39
+7.403337662,7.4,0,0,7.4
+7.413328671,7.41,0,0,7.41
+7.42331968,7.42,0,0,7.42
+7.433310689,7.43,0,0,7.43
+7.443301698,7.44,0,0,7.44
+7.453292707,7.45,0,0,7.45
+7.463283716,7.46,0,0,7.46
+7.473274725,7.47,0,0,7.47
+7.483265734,7.48,0,0,7.48
+7.493256743,7.49,0,0,7.49
+7.503247752,7.5,0,0,7.5
+7.513238761,7.51,0,0,7.51
+7.52322977,7.52,0,0,7.52
+7.533220779,7.53,0,0,7.53
+7.543211788,7.54,0,0,7.54
+7.553202797,7.55,0,0,7.55
+7.563193806,7.56,0,0,7.56
+7.573184815,7.57,0,0,7.57
+7.583175824,7.58,0,0,7.58
+7.593166833,7.59,0,0,7.59
+7.603157842,7.6,0,0,7.6
+7.613148851,7.61,0,0,7.61
+7.62313986,7.62,0,0,7.62
+7.633130869,7.63,0,0,7.63
+7.643121878,7.64,0,0,7.64
+7.653112887,7.65,0,0,7.65
+7.663103896,7.66,0,0,7.66
+7.673094905,7.67,0,0,7.67
+7.683085914,7.68,0,0,7.68
+7.693076923,7.69,0,0,7.69
+7.703067932,7.7,0,0,7.7
+7.713058941,7.71,0,0,7.71
+7.72304995,7.72,0,0,7.72
+7.733040959,7.73,0,0,7.73
+7.743031968,7.74,0,0,7.74
+7.753022977,7.75,0,0,7.75
+7.763013986,7.76,0,0,7.76
+7.773004995,7.77,0,0,7.77
+7.782996004,7.78,0,0,7.78
+7.792987013,7.79,0,0,7.79
+7.802978022,7.8,0,0,7.8
+7.812969031,7.81,0,0,7.81
+7.82296004,7.82,0,0,7.82
+7.832951049,7.83,0,0,7.83
+7.842942058,7.84,0,0,7.84
+7.852933067,7.85,0,0,7.85
+7.862924076,7.86,0,0,7.86
+7.872915085,7.87,0,0,7.87
+7.882906094,7.88,0,0,7.88
+7.892897103,7.89,0,0,7.89
+7.902888112,7.9,0,0,7.9
+7.912879121,7.91,0,0,7.91
+7.92287013,7.92,0,0,7.92
+7.932861139,7.93,0,0,7.93
+7.942852148,7.94,0,0,7.94
+7.952843157,7.95,0,0,7.95
+7.962834166,7.96,0,0,7.96
+7.972825175,7.97,0,0,7.97
+7.982816184,7.98,0,0,7.98
+7.992807193,7.99,0,0,7.99
+8.002798202,8,0,0,8
+8.012789211,8.01,0,0,8.01
+8.02278022,8.02,0,0,8.02
+8.032771229,8.03,0,0,8.03
+8.042762238,8.04,0,0,8.04
+8.052753247,8.05,0,0,8.05
+8.062744256,8.06,0,0,8.06
+8.072735265,8.07,0,0,8.07
+8.082726274,8.08,0,0,8.08
+8.092717283,8.09,0,0,8.09
+8.102708292,8.1,0,0,8.1
+8.112699301,8.11,0,0,8.11
+8.12269031,8.12,0,0,8.12
+8.132681319,8.13,0,0,8.13
+8.142672328,8.14,0,0,8.14
+8.152663337,8.15,0,0,8.15
+8.162654346,8.16,0,0,8.16
+8.172645355,8.17,0,0,8.17
+8.182636364,8.18,0,0,8.18
+8.192627373,8.19,0,0,8.19
+8.202618382,8.2,0,0,8.2
+8.212609391,8.21,0,0,8.21
+8.2226004,8.22,0,0,8.22
+8.232591409,8.23,0,0,8.23
+8.242582418,8.24,0,0,8.24
+8.252573427,8.25,0,0,8.25
+8.262564436,8.26,0,0,8.26
+8.272555445,8.27,0,0,8.27
+8.282546454,8.28,0,0,8.28
+8.292537463,8.29,0,0,8.29
+8.302528472,8.3,0,0,8.3
+8.312519481,8.31,0,0,8.31
+8.32251049,8.32,0,0,8.32
+8.332501499,8.33,0,0,8.33
+8.342492507,8.34,0,0,8.34
+8.352483516,8.35,0,0,8.35
+8.362474525,8.36,0,0,8.36
+8.372465534,8.37,0,0,8.37
+8.382456543,8.38,0,0,8.38
+8.392447552,8.39,0,0,8.39
+8.402438561,8.4,0,0,8.4
+8.41242957,8.41,0,0,8.41
+8.422420579,8.42,0,0,8.42
+8.432411588,8.43,0,0,8.43
+8.442402597,8.44,0,0,8.44
+8.452393606,8.45,0,0,8.45
+8.462384615,8.46,0,0,8.46
+8.472375624,8.47,0,0,8.47
+8.482366633,8.48,0,0,8.48
+8.492357642,8.49,0,0,8.49
+8.502348651,8.5,0,0,8.5
+8.51233966,8.51,0,0,8.51
+8.522330669,8.52,0,0,8.52
+8.532321678,8.53,0,0,8.53
+8.542312687,8.54,0,0,8.54
+8.552303696,8.55,0,0,8.55
+8.562294705,8.56,0,0,8.56
+8.572285714,8.57,0,0,8.57
+8.582276723,8.58,0,0,8.58
+8.592267732,8.59,0,0,8.59
+8.602258741,8.6,0,0,8.6
+8.61224975,8.61,0,0,8.61
+8.622240759,8.62,0,0,8.62
+8.632231768,8.63,0,0,8.63
+8.642222777,8.64,0,0,8.64
+8.652213786,8.65,0,0,8.65
+8.662204795,8.66,0,0,8.66
+8.672195804,8.67,0,0,8.67
+8.682186813,8.68,0,0,8.68
+8.692177822,8.69,0,0,8.69
+8.702168831,8.7,0,0,8.7
+8.71215984,8.71,0,0,8.71
+8.722150849,8.72,0,0,8.72
+8.732141858,8.73,0,0,8.73
+8.742132867,8.74,0,0,8.74
+8.752123876,8.75,0,0,8.75
+8.762114885,8.76,0,0,8.76
+8.772105894,8.77,0,0,8.77
+8.782096903,8.78,0,0,8.78
+8.792087912,8.79,0,0,8.79
+8.802078921,8.8,0,0,8.8
+8.81206993,8.81,0,0,8.81
+8.822060939,8.82,0,0,8.82
+8.832051948,8.83,0,0,8.83
+8.842042957,8.84,0,0,8.84
+8.852033966,8.85,0,0,8.85
+8.862024975,8.86,0,0,8.86
+8.872015984,8.87,0,0,8.87
+8.882006993,8.88,0,0,8.88
+8.891998002,8.89,0,0,8.89
+8.901989011,8.9,0,0,8.9
+8.91198002,8.91,0,0,8.91
+8.921971029,8.92,0,0,8.92
+8.931962038,8.93,0,0,8.93
+8.941953047,8.94,0,0,8.94
+8.951944056,8.95,0,0,8.95
+8.961935065,8.96,0,0,8.96
+8.971926074,8.97,0,0,8.97
+8.981917083,8.98,0,0,8.98
+8.991908092,8.99,0,0,8.99
+9.001899101,9,0,0,9
+9.01189011,9.01,0,0,9.01
+9.021881119,9.02,0,0,9.02
+9.031872128,9.03,0,0,9.03
+9.041863137,9.04,0,0,9.04
+9.051854146,9.05,0,0,9.05
+9.061845155,9.06,0,0,9.06
+9.071836164,9.07,0,0,9.07
+9.081827173,9.08,0,0,9.08
+9.091818182,9.09,0,0,9.09
+9.101809191,9.1,0,0,9.1
+9.1118002,9.11,0,0,9.11
+9.121791209,9.12,0,0,9.12
+9.131782218,9.13,0,0,9.13
+9.141773227,9.14,0,0,9.14
+9.151764236,9.15,0,0,9.15
+9.161755245,9.16,0,0,9.16
+9.171746254,9.17,0,0,9.17
+9.181737263,9.18,0,0,9.18
+9.191728272,9.19,0,0,9.19
+9.201719281,9.2,0,0,9.2
+9.21171029,9.21,0,0,9.21
+9.221701299,9.22,0,0,9.22
+9.231692308,9.23,0,0,9.23
+9.241683317,9.24,0,0,9.24
+9.251674326,9.25,0,0,9.25
+9.261665335,9.26,0,0,9.26
+9.271656344,9.27,0,0,9.27
+9.281647353,9.28,0,0,9.28
+9.291638362,9.29,0,0,9.29
+9.301629371,9.3,0,0,9.3
+9.31162038,9.31,0,0,9.31
+9.321611389,9.32,0,0,9.32
+9.331602398,9.33,0,0,9.33
+9.341593407,9.34,0,0,9.34
+9.351584416,9.35,0,0,9.35
+9.361575425,9.36,0,0,9.36
+9.371566434,9.37,0,0,9.37
+9.381557443,9.38,0,0,9.38
+9.391548452,9.39,0,0,9.39
+9.401539461,9.4,0,0,9.4
+9.41153047,9.41,0,0,9.41
+9.421521479,9.42,0,0,9.42
+9.431512488,9.43,0,0,9.43
+9.441503497,9.44,0,0,9.44
+9.451494505,9.45,0,0,9.45
+9.461485514,9.46,0,0,9.46
+9.471476523,9.47,0,0,9.47
+9.481467532,9.48,0,0,9.48
+9.491458541,9.49,0,0,9.49
+9.50144955,9.5,0,0,9.5
+9.511440559,9.51,0,0,9.51
+9.521431568,9.52,0,0,9.52
+9.531422577,9.53,0,0,9.53
+9.541413586,9.54,0,0,9.54
+9.551404595,9.55,0,0,9.55
+9.561395604,9.56,0,0,9.56
+9.571386613,9.57,0,0,9.57
+9.581377622,9.58,0,0,9.58
+9.591368631,9.59,0,0,9.59
+9.60135964,9.6,0,0,9.6
+9.611350649,9.61,0,0,9.61
+9.621341658,9.62,0,0,9.62
+9.631332667,9.63,0,0,9.63
+9.641323676,9.64,0,0,9.64
+9.651314685,9.65,0,0,9.65
+9.661305694,9.66,0,0,9.66
+9.671296703,9.67,0,0,9.67
+9.681287712,9.68,0,0,9.68
+9.691278721,9.69,0,0,9.69
+9.70126973,9.7,0,0,9.7
+9.711260739,9.71,0,0,9.71
+9.721251748,9.72,0,0,9.72
+9.731242757,9.73,0,0,9.73
+9.741233766,9.74,0,0,9.74
+9.751224775,9.75,0,0,9.75
+9.761215784,9.76,0,0,9.76
+9.771206793,9.77,0,0,9.77
+9.781197802,9.78,0,0,9.78
+9.791188811,9.79,0,0,9.79
+9.80117982,9.8,0,0,9.8
+9.811170829,9.81,0,0,9.81
+9.821161838,9.82,0,0,9.82
+9.831152847,9.83,0,0,9.83
+9.841143856,9.84,0,0,9.84
+9.851134865,9.85,0,0,9.85
+9.861125874,9.86,0,0,9.86
+9.871116883,9.87,0,0,9.87
+9.881107892,9.88,0,0,9.88
+9.891098901,9.89,0,0,9.89
+9.90108991,9.9,0,0,9.9
+9.911080919,9.91,0,0,9.91
+9.921071928,9.92,0,0,9.92
+9.931062937,9.93,0,0,9.93
+9.941053946,9.94,0,0,9.94
+9.951044955,9.95,0,0,9.95
+9.961035964,9.96,0,0,9.96
+9.971026973,9.97,0,0,9.97
+9.981017982,9.98,0,0,9.98
+9.991008991,9.99,0,0,9.99
+10.001,10,0,0,10
diff --git a/models/sbml-test-suite/cases/semantic/00963/00963-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00963/00963-sbml-l3v1.xml
new file mode 100644
index 0000000..9532778
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00963/00963-sbml-l3v1.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00963" name="case00963" timeUnits="time">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p> Originally created by libAntimony v1.4 (using libSBML 5.0.0-a1) </p>
+      </body>
+    </notes>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfParameters>
+      <parameter id="Q" value="0" constant="false"/>
+      <parameter id="R" value="0" constant="false"/>
+      <parameter id="reset" value="0" constant="false"/>
+      <parameter id="Q2" value="0" constant="false"/>
+      <parameter id="R2" value="0" constant="false"/>
+      <parameter id="reset2" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfEvents>
+      <event id="Qinc" useValuesFromTriggerTime="true">
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Rinc" useValuesFromTriggerTime="true">
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> -1 </cn>
+          </math>
+        </priority>
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Qinc2" useValuesFromTriggerTime="true">
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> -1 </cn>
+          </math>
+        </priority>
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset2 </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q2 </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Rinc2" useValuesFromTriggerTime="true">
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset2 </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R2 </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00963/00963-settings.txt b/models/sbml-test-suite/cases/semantic/00963/00963-settings.txt
new file mode 100644
index 0000000..b930cdf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00963/00963-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.001
+steps: 1001
+variables: Q, R, Q2, R2
+absolute: 0.01
+relative: 0.01
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00964/00964-antimony.txt b/models/sbml-test-suite/cases/semantic/00964/00964-antimony.txt
new file mode 100644
index 0000000..c94d541
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00964/00964-antimony.txt
@@ -0,0 +1,20 @@
+model case00963()
+
+  // Assignment Rules:
+  S := Q + R + T;
+
+  // Events:
+  Qinc: at (time - reset >= 0.01), priority = 1, persistent=false: Q = Q + 0.01, reset = time;
+  Rinc: at (time - reset >= 0.01), priority = 1, persistent=false: R = R + 0.01, reset = time;
+  Tinc: at (time - reset >= 0.01), priority = 1, persistent=false: T = T + 0.01, reset = time;
+  error_check: at or((abs(Q - R) >= tolerance), (abs(Q - T) >= tolerance), (abs(T - R) >= tolerance)): error = 1;
+
+  // Variable initializations:
+  reset = 0;
+  Q = 0;
+  R = 0;
+  T = 0;
+  tolerance = 5;
+  error = 0;
+
+end
diff --git a/models/sbml-test-suite/cases/semantic/00964/00964-results.csv b/models/sbml-test-suite/cases/semantic/00964/00964-results.csv
new file mode 100644
index 0000000..ef7896b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00964/00964-results.csv
@@ -0,0 +1,1003 @@
+time,S,error
+0,0,0
+0.0999001,0.09,0
+0.1998002,0.19,0
+0.2997003,0.29,0
+0.3996004,0.39,0
+0.4995005,0.49,0
+0.599400599,0.59,0
+0.699300699,0.69,0
+0.799200799,0.79,0
+0.899100899,0.89,0
+0.999000999,0.99,0
+1.098901099,1.09,0
+1.198801199,1.19,0
+1.298701299,1.29,0
+1.398601399,1.39,0
+1.498501499,1.49,0
+1.598401598,1.59,0
+1.698301698,1.69,0
+1.798201798,1.79,0
+1.898101898,1.89,0
+1.998001998,1.99,0
+2.097902098,2.09,0
+2.197802198,2.19,0
+2.297702298,2.29,0
+2.397602398,2.39,0
+2.497502498,2.49,0
+2.597402597,2.59,0
+2.697302697,2.69,0
+2.797202797,2.79,0
+2.897102897,2.89,0
+2.997002997,2.99,0
+3.096903097,3.09,0
+3.196803197,3.19,0
+3.296703297,3.29,0
+3.396603397,3.39,0
+3.496503497,3.49,0
+3.596403596,3.59,0
+3.696303696,3.69,0
+3.796203796,3.79,0
+3.896103896,3.89,0
+3.996003996,3.99,0
+4.095904096,4.09,0
+4.195804196,4.19,0
+4.295704296,4.29,0
+4.395604396,4.39,0
+4.495504496,4.49,0
+4.595404595,4.59,0
+4.695304695,4.69,0
+4.795204795,4.79,0
+4.895104895,4.89,0
+4.995004995,4.99,0
+5.094905095,5.09,0
+5.194805195,5.19,0
+5.294705295,5.29,0
+5.394605395,5.39,0
+5.494505495,5.49,0
+5.594405594,5.59,0
+5.694305694,5.69,0
+5.794205794,5.79,0
+5.894105894,5.89,0
+5.994005994,5.99,0
+6.093906094,6.09,0
+6.193806194,6.19,0
+6.293706294,6.29,0
+6.393606394,6.39,0
+6.493506494,6.49,0
+6.593406593,6.59,0
+6.693306693,6.69,0
+6.793206793,6.79,0
+6.893106893,6.89,0
+6.993006993,6.99,0
+7.092907093,7.09,0
+7.192807193,7.19,0
+7.292707293,7.29,0
+7.392607393,7.39,0
+7.492507493,7.49,0
+7.592407592,7.59,0
+7.692307692,7.69,0
+7.792207792,7.79,0
+7.892107892,7.89,0
+7.992007992,7.99,0
+8.091908092,8.09,0
+8.191808192,8.19,0
+8.291708292,8.29,0
+8.391608392,8.39,0
+8.491508492,8.49,0
+8.591408591,8.59,0
+8.691308691,8.69,0
+8.791208791,8.79,0
+8.891108891,8.89,0
+8.991008991,8.99,0
+9.090909091,9.09,0
+9.190809191,9.19,0
+9.290709291,9.29,0
+9.390609391,9.39,0
+9.490509491,9.49,0
+9.59040959,9.59,0
+9.69030969,9.69,0
+9.79020979,9.79,0
+9.89010989,9.89,0
+9.99000999,9.99,0
+10.08991009,10.08,0
+10.18981019,10.18,0
+10.28971029,10.28,0
+10.38961039,10.38,0
+10.48951049,10.48,0
+10.58941059,10.58,0
+10.68931069,10.68,0
+10.78921079,10.78,0
+10.88911089,10.88,0
+10.98901099,10.98,0
+11.08891109,11.08,0
+11.18881119,11.18,0
+11.28871129,11.28,0
+11.38861139,11.38,0
+11.48851149,11.48,0
+11.58841159,11.58,0
+11.68831169,11.68,0
+11.78821179,11.78,0
+11.88811189,11.88,0
+11.98801199,11.98,0
+12.08791209,12.08,0
+12.18781219,12.18,0
+12.28771229,12.28,0
+12.38761239,12.38,0
+12.48751249,12.48,0
+12.58741259,12.58,0
+12.68731269,12.68,0
+12.78721279,12.78,0
+12.88711289,12.88,0
+12.98701299,12.98,0
+13.08691309,13.08,0
+13.18681319,13.18,0
+13.28671329,13.28,0
+13.38661339,13.38,0
+13.48651349,13.48,0
+13.58641359,13.58,0
+13.68631369,13.68,0
+13.78621379,13.78,0
+13.88611389,13.88,0
+13.98601399,13.98,0
+14.08591409,14.08,0
+14.18581419,14.18,0
+14.28571429,14.28,0
+14.38561439,14.38,0
+14.48551449,14.48,0
+14.58541459,14.58,0
+14.68531469,14.68,0
+14.78521479,14.78,0
+14.88511489,14.88,0
+14.98501499,14.98,0
+15.08491508,15.08,0
+15.18481518,15.18,0
+15.28471528,15.28,0
+15.38461538,15.38,0
+15.48451548,15.48,0
+15.58441558,15.58,0
+15.68431568,15.68,0
+15.78421578,15.78,0
+15.88411588,15.88,0
+15.98401598,15.98,0
+16.08391608,16.08,0
+16.18381618,16.18,0
+16.28371628,16.28,0
+16.38361638,16.38,0
+16.48351648,16.48,0
+16.58341658,16.58,0
+16.68331668,16.68,0
+16.78321678,16.78,0
+16.88311688,16.88,0
+16.98301698,16.98,0
+17.08291708,17.08,0
+17.18281718,17.18,0
+17.28271728,17.28,0
+17.38261738,17.38,0
+17.48251748,17.48,0
+17.58241758,17.58,0
+17.68231768,17.68,0
+17.78221778,17.78,0
+17.88211788,17.88,0
+17.98201798,17.98,0
+18.08191808,18.08,0
+18.18181818,18.18,0
+18.28171828,18.28,0
+18.38161838,18.38,0
+18.48151848,18.48,0
+18.58141858,18.58,0
+18.68131868,18.68,0
+18.78121878,18.78,0
+18.88111888,18.88,0
+18.98101898,18.98,0
+19.08091908,19.08,0
+19.18081918,19.18,0
+19.28071928,19.28,0
+19.38061938,19.38,0
+19.48051948,19.48,0
+19.58041958,19.58,0
+19.68031968,19.68,0
+19.78021978,19.78,0
+19.88011988,19.88,0
+19.98001998,19.98,0
+20.07992008,20.07,0
+20.17982018,20.17,0
+20.27972028,20.27,0
+20.37962038,20.37,0
+20.47952048,20.47,0
+20.57942058,20.57,0
+20.67932068,20.67,0
+20.77922078,20.77,0
+20.87912088,20.87,0
+20.97902098,20.97,0
+21.07892108,21.07,0
+21.17882118,21.17,0
+21.27872128,21.27,0
+21.37862138,21.37,0
+21.47852148,21.47,0
+21.57842158,21.57,0
+21.67832168,21.67,0
+21.77822178,21.77,0
+21.87812188,21.87,0
+21.97802198,21.97,0
+22.07792208,22.07,0
+22.17782218,22.17,0
+22.27772228,22.27,0
+22.37762238,22.37,0
+22.47752248,22.47,0
+22.57742258,22.57,0
+22.67732268,22.67,0
+22.77722278,22.77,0
+22.87712288,22.87,0
+22.97702298,22.97,0
+23.07692308,23.07,0
+23.17682318,23.17,0
+23.27672328,23.27,0
+23.37662338,23.37,0
+23.47652348,23.47,0
+23.57642358,23.57,0
+23.67632368,23.67,0
+23.77622378,23.77,0
+23.87612388,23.87,0
+23.97602398,23.97,0
+24.07592408,24.07,0
+24.17582418,24.17,0
+24.27572428,24.27,0
+24.37562438,24.37,0
+24.47552448,24.47,0
+24.57542458,24.57,0
+24.67532468,24.67,0
+24.77522478,24.77,0
+24.87512488,24.87,0
+24.97502498,24.97,0
+25.07492507,25.07,0
+25.17482517,25.17,0
+25.27472527,25.27,0
+25.37462537,25.37,0
+25.47452547,25.47,0
+25.57442557,25.57,0
+25.67432567,25.67,0
+25.77422577,25.77,0
+25.87412587,25.87,0
+25.97402597,25.97,0
+26.07392607,26.07,0
+26.17382617,26.17,0
+26.27372627,26.27,0
+26.37362637,26.37,0
+26.47352647,26.47,0
+26.57342657,26.57,0
+26.67332667,26.67,0
+26.77322677,26.77,0
+26.87312687,26.87,0
+26.97302697,26.97,0
+27.07292707,27.07,0
+27.17282717,27.17,0
+27.27272727,27.27,0
+27.37262737,27.37,0
+27.47252747,27.47,0
+27.57242757,27.57,0
+27.67232767,27.67,0
+27.77222777,27.77,0
+27.87212787,27.87,0
+27.97202797,27.97,0
+28.07192807,28.07,0
+28.17182817,28.17,0
+28.27172827,28.27,0
+28.37162837,28.37,0
+28.47152847,28.47,0
+28.57142857,28.57,0
+28.67132867,28.67,0
+28.77122877,28.77,0
+28.87112887,28.87,0
+28.97102897,28.97,0
+29.07092907,29.07,0
+29.17082917,29.17,0
+29.27072927,29.27,0
+29.37062937,29.37,0
+29.47052947,29.47,0
+29.57042957,29.57,0
+29.67032967,29.67,0
+29.77022977,29.77,0
+29.87012987,29.87,0
+29.97002997,29.97,0
+30.06993007,30.06,0
+30.16983017,30.16,0
+30.26973027,30.26,0
+30.36963037,30.36,0
+30.46953047,30.46,0
+30.56943057,30.56,0
+30.66933067,30.66,0
+30.76923077,30.76,0
+30.86913087,30.86,0
+30.96903097,30.96,0
+31.06893107,31.06,0
+31.16883117,31.16,0
+31.26873127,31.26,0
+31.36863137,31.36,0
+31.46853147,31.46,0
+31.56843157,31.56,0
+31.66833167,31.66,0
+31.76823177,31.76,0
+31.86813187,31.86,0
+31.96803197,31.96,0
+32.06793207,32.06,0
+32.16783217,32.16,0
+32.26773227,32.26,0
+32.36763237,32.36,0
+32.46753247,32.46,0
+32.56743257,32.56,0
+32.66733267,32.66,0
+32.76723277,32.76,0
+32.86713287,32.86,0
+32.96703297,32.96,0
+33.06693307,33.06,0
+33.16683317,33.16,0
+33.26673327,33.26,0
+33.36663337,33.36,0
+33.46653347,33.46,0
+33.56643357,33.56,0
+33.66633367,33.66,0
+33.76623377,33.76,0
+33.86613387,33.86,0
+33.96603397,33.96,0
+34.06593407,34.06,0
+34.16583417,34.16,0
+34.26573427,34.26,0
+34.36563437,34.36,0
+34.46553447,34.46,0
+34.56543457,34.56,0
+34.66533467,34.66,0
+34.76523477,34.76,0
+34.86513487,34.86,0
+34.96503497,34.96,0
+35.06493506,35.06,0
+35.16483516,35.16,0
+35.26473526,35.26,0
+35.36463536,35.36,0
+35.46453546,35.46,0
+35.56443556,35.56,0
+35.66433566,35.66,0
+35.76423576,35.76,0
+35.86413586,35.86,0
+35.96403596,35.96,0
+36.06393606,36.06,0
+36.16383616,36.16,0
+36.26373626,36.26,0
+36.36363636,36.36,0
+36.46353646,36.46,0
+36.56343656,36.56,0
+36.66333666,36.66,0
+36.76323676,36.76,0
+36.86313686,36.86,0
+36.96303696,36.96,0
+37.06293706,37.06,0
+37.16283716,37.16,0
+37.26273726,37.26,0
+37.36263736,37.36,0
+37.46253746,37.46,0
+37.56243756,37.56,0
+37.66233766,37.66,0
+37.76223776,37.76,0
+37.86213786,37.86,0
+37.96203796,37.96,0
+38.06193806,38.06,0
+38.16183816,38.16,0
+38.26173826,38.26,0
+38.36163836,38.36,0
+38.46153846,38.46,0
+38.56143856,38.56,0
+38.66133866,38.66,0
+38.76123876,38.76,0
+38.86113886,38.86,0
+38.96103896,38.96,0
+39.06093906,39.06,0
+39.16083916,39.16,0
+39.26073926,39.26,0
+39.36063936,39.36,0
+39.46053946,39.46,0
+39.56043956,39.56,0
+39.66033966,39.66,0
+39.76023976,39.76,0
+39.86013986,39.86,0
+39.96003996,39.96,0
+40.05994006,40.05,0
+40.15984016,40.15,0
+40.25974026,40.25,0
+40.35964036,40.35,0
+40.45954046,40.45,0
+40.55944056,40.55,0
+40.65934066,40.65,0
+40.75924076,40.75,0
+40.85914086,40.85,0
+40.95904096,40.95,0
+41.05894106,41.05,0
+41.15884116,41.15,0
+41.25874126,41.25,0
+41.35864136,41.35,0
+41.45854146,41.45,0
+41.55844156,41.55,0
+41.65834166,41.65,0
+41.75824176,41.75,0
+41.85814186,41.85,0
+41.95804196,41.95,0
+42.05794206,42.05,0
+42.15784216,42.15,0
+42.25774226,42.25,0
+42.35764236,42.35,0
+42.45754246,42.45,0
+42.55744256,42.55,0
+42.65734266,42.65,0
+42.75724276,42.75,0
+42.85714286,42.85,0
+42.95704296,42.95,0
+43.05694306,43.05,0
+43.15684316,43.15,0
+43.25674326,43.25,0
+43.35664336,43.35,0
+43.45654346,43.45,0
+43.55644356,43.55,0
+43.65634366,43.65,0
+43.75624376,43.75,0
+43.85614386,43.85,0
+43.95604396,43.95,0
+44.05594406,44.05,0
+44.15584416,44.15,0
+44.25574426,44.25,0
+44.35564436,44.35,0
+44.45554446,44.45,0
+44.55544456,44.55,0
+44.65534466,44.65,0
+44.75524476,44.75,0
+44.85514486,44.85,0
+44.95504496,44.95,0
+45.05494505,45.05,0
+45.15484515,45.15,0
+45.25474525,45.25,0
+45.35464535,45.35,0
+45.45454545,45.45,0
+45.55444555,45.55,0
+45.65434565,45.65,0
+45.75424575,45.75,0
+45.85414585,45.85,0
+45.95404595,45.95,0
+46.05394605,46.05,0
+46.15384615,46.15,0
+46.25374625,46.25,0
+46.35364635,46.35,0
+46.45354645,46.45,0
+46.55344655,46.55,0
+46.65334665,46.65,0
+46.75324675,46.75,0
+46.85314685,46.85,0
+46.95304695,46.95,0
+47.05294705,47.05,0
+47.15284715,47.15,0
+47.25274725,47.25,0
+47.35264735,47.35,0
+47.45254745,47.45,0
+47.55244755,47.55,0
+47.65234765,47.65,0
+47.75224775,47.75,0
+47.85214785,47.85,0
+47.95204795,47.95,0
+48.05194805,48.05,0
+48.15184815,48.15,0
+48.25174825,48.25,0
+48.35164835,48.35,0
+48.45154845,48.45,0
+48.55144855,48.55,0
+48.65134865,48.65,0
+48.75124875,48.75,0
+48.85114885,48.85,0
+48.95104895,48.95,0
+49.05094905,49.05,0
+49.15084915,49.15,0
+49.25074925,49.25,0
+49.35064935,49.35,0
+49.45054945,49.45,0
+49.55044955,49.55,0
+49.65034965,49.65,0
+49.75024975,49.75,0
+49.85014985,49.85,0
+49.95004995,49.95,0
+50.04995005,50.04,0
+50.14985015,50.14,0
+50.24975025,50.24,0
+50.34965035,50.34,0
+50.44955045,50.44,0
+50.54945055,50.54,0
+50.64935065,50.64,0
+50.74925075,50.74,0
+50.84915085,50.84,0
+50.94905095,50.94,0
+51.04895105,51.04,0
+51.14885115,51.14,0
+51.24875125,51.24,0
+51.34865135,51.34,0
+51.44855145,51.44,0
+51.54845155,51.54,0
+51.64835165,51.64,0
+51.74825175,51.74,0
+51.84815185,51.84,0
+51.94805195,51.94,0
+52.04795205,52.04,0
+52.14785215,52.14,0
+52.24775225,52.24,0
+52.34765235,52.34,0
+52.44755245,52.44,0
+52.54745255,52.54,0
+52.64735265,52.64,0
+52.74725275,52.74,0
+52.84715285,52.84,0
+52.94705295,52.94,0
+53.04695305,53.04,0
+53.14685315,53.14,0
+53.24675325,53.24,0
+53.34665335,53.34,0
+53.44655345,53.44,0
+53.54645355,53.54,0
+53.64635365,53.64,0
+53.74625375,53.74,0
+53.84615385,53.84,0
+53.94605395,53.94,0
+54.04595405,54.04,0
+54.14585415,54.14,0
+54.24575425,54.24,0
+54.34565435,54.34,0
+54.44555445,54.44,0
+54.54545455,54.54,0
+54.64535465,54.64,0
+54.74525475,54.74,0
+54.84515485,54.84,0
+54.94505495,54.94,0
+55.04495504,55.04,0
+55.14485514,55.14,0
+55.24475524,55.24,0
+55.34465534,55.34,0
+55.44455544,55.44,0
+55.54445554,55.54,0
+55.64435564,55.64,0
+55.74425574,55.74,0
+55.84415584,55.84,0
+55.94405594,55.94,0
+56.04395604,56.04,0
+56.14385614,56.14,0
+56.24375624,56.24,0
+56.34365634,56.34,0
+56.44355644,56.44,0
+56.54345654,56.54,0
+56.64335664,56.64,0
+56.74325674,56.74,0
+56.84315684,56.84,0
+56.94305694,56.94,0
+57.04295704,57.04,0
+57.14285714,57.14,0
+57.24275724,57.24,0
+57.34265734,57.34,0
+57.44255744,57.44,0
+57.54245754,57.54,0
+57.64235764,57.64,0
+57.74225774,57.74,0
+57.84215784,57.84,0
+57.94205794,57.94,0
+58.04195804,58.04,0
+58.14185814,58.14,0
+58.24175824,58.24,0
+58.34165834,58.34,0
+58.44155844,58.44,0
+58.54145854,58.54,0
+58.64135864,58.64,0
+58.74125874,58.74,0
+58.84115884,58.84,0
+58.94105894,58.94,0
+59.04095904,59.04,0
+59.14085914,59.14,0
+59.24075924,59.24,0
+59.34065934,59.34,0
+59.44055944,59.44,0
+59.54045954,59.54,0
+59.64035964,59.64,0
+59.74025974,59.74,0
+59.84015984,59.84,0
+59.94005994,59.94,0
+60.03996004,60.03,0
+60.13986014,60.13,0
+60.23976024,60.23,0
+60.33966034,60.33,0
+60.43956044,60.43,0
+60.53946054,60.53,0
+60.63936064,60.63,0
+60.73926074,60.73,0
+60.83916084,60.83,0
+60.93906094,60.93,0
+61.03896104,61.03,0
+61.13886114,61.13,0
+61.23876124,61.23,0
+61.33866134,61.33,0
+61.43856144,61.43,0
+61.53846154,61.53,0
+61.63836164,61.63,0
+61.73826174,61.73,0
+61.83816184,61.83,0
+61.93806194,61.93,0
+62.03796204,62.03,0
+62.13786214,62.13,0
+62.23776224,62.23,0
+62.33766234,62.33,0
+62.43756244,62.43,0
+62.53746254,62.53,0
+62.63736264,62.63,0
+62.73726274,62.73,0
+62.83716284,62.83,0
+62.93706294,62.93,0
+63.03696304,63.03,0
+63.13686314,63.13,0
+63.23676324,63.23,0
+63.33666334,63.33,0
+63.43656344,63.43,0
+63.53646354,63.53,0
+63.63636364,63.63,0
+63.73626374,63.73,0
+63.83616384,63.83,0
+63.93606394,63.93,0
+64.03596404,64.03,0
+64.13586414,64.13,0
+64.23576424,64.23,0
+64.33566434,64.33,0
+64.43556444,64.43,0
+64.53546454,64.53,0
+64.63536464,64.63,0
+64.73526474,64.73,0
+64.83516484,64.83,0
+64.93506494,64.93,0
+65.03496503,65.03,0
+65.13486513,65.13,0
+65.23476523,65.23,0
+65.33466533,65.33,0
+65.43456543,65.43,0
+65.53446553,65.53,0
+65.63436563,65.63,0
+65.73426573,65.73,0
+65.83416583,65.83,0
+65.93406593,65.93,0
+66.03396603,66.03,0
+66.13386613,66.13,0
+66.23376623,66.23,0
+66.33366633,66.33,0
+66.43356643,66.43,0
+66.53346653,66.53,0
+66.63336663,66.63,0
+66.73326673,66.73,0
+66.83316683,66.83,0
+66.93306693,66.93,0
+67.03296703,67.03,0
+67.13286713,67.13,0
+67.23276723,67.23,0
+67.33266733,67.33,0
+67.43256743,67.43,0
+67.53246753,67.53,0
+67.63236763,67.63,0
+67.73226773,67.73,0
+67.83216783,67.83,0
+67.93206793,67.93,0
+68.03196803,68.03,0
+68.13186813,68.13,0
+68.23176823,68.23,0
+68.33166833,68.33,0
+68.43156843,68.43,0
+68.53146853,68.53,0
+68.63136863,68.63,0
+68.73126873,68.73,0
+68.83116883,68.83,0
+68.93106893,68.93,0
+69.03096903,69.03,0
+69.13086913,69.13,0
+69.23076923,69.23,0
+69.33066933,69.33,0
+69.43056943,69.43,0
+69.53046953,69.53,0
+69.63036963,69.63,0
+69.73026973,69.73,0
+69.83016983,69.83,0
+69.93006993,69.93,0
+70.02997003,70.02,0
+70.12987013,70.12,0
+70.22977023,70.22,0
+70.32967033,70.32,0
+70.42957043,70.42,0
+70.52947053,70.52,0
+70.62937063,70.62,0
+70.72927073,70.72,0
+70.82917083,70.82,0
+70.92907093,70.92,0
+71.02897103,71.02,0
+71.12887113,71.12,0
+71.22877123,71.22,0
+71.32867133,71.32,0
+71.42857143,71.42,0
+71.52847153,71.52,0
+71.62837163,71.62,0
+71.72827173,71.72,0
+71.82817183,71.82,0
+71.92807193,71.92,0
+72.02797203,72.02,0
+72.12787213,72.12,0
+72.22777223,72.22,0
+72.32767233,72.32,0
+72.42757243,72.42,0
+72.52747253,72.52,0
+72.62737263,72.62,0
+72.72727273,72.72,0
+72.82717283,72.82,0
+72.92707293,72.92,0
+73.02697303,73.02,0
+73.12687313,73.12,0
+73.22677323,73.22,0
+73.32667333,73.32,0
+73.42657343,73.42,0
+73.52647353,73.52,0
+73.62637363,73.62,0
+73.72627373,73.72,0
+73.82617383,73.82,0
+73.92607393,73.92,0
+74.02597403,74.02,0
+74.12587413,74.12,0
+74.22577423,74.22,0
+74.32567433,74.32,0
+74.42557443,74.42,0
+74.52547453,74.52,0
+74.62537463,74.62,0
+74.72527473,74.72,0
+74.82517483,74.82,0
+74.92507493,74.92,0
+75.02497502,75.02,0
+75.12487512,75.12,0
+75.22477522,75.22,0
+75.32467532,75.32,0
+75.42457542,75.42,0
+75.52447552,75.52,0
+75.62437562,75.62,0
+75.72427572,75.72,0
+75.82417582,75.82,0
+75.92407592,75.92,0
+76.02397602,76.02,0
+76.12387612,76.12,0
+76.22377622,76.22,0
+76.32367632,76.32,0
+76.42357642,76.42,0
+76.52347652,76.52,0
+76.62337662,76.62,0
+76.72327672,76.72,0
+76.82317682,76.82,0
+76.92307692,76.92,0
+77.02297702,77.02,0
+77.12287712,77.12,0
+77.22277722,77.22,0
+77.32267732,77.32,0
+77.42257742,77.42,0
+77.52247752,77.52,0
+77.62237762,77.62,0
+77.72227772,77.72,0
+77.82217782,77.82,0
+77.92207792,77.92,0
+78.02197802,78.02,0
+78.12187812,78.12,0
+78.22177822,78.22,0
+78.32167832,78.32,0
+78.42157842,78.42,0
+78.52147852,78.52,0
+78.62137862,78.62,0
+78.72127872,78.72,0
+78.82117882,78.82,0
+78.92107892,78.92,0
+79.02097902,79.02,0
+79.12087912,79.12,0
+79.22077922,79.22,0
+79.32067932,79.32,0
+79.42057942,79.42,0
+79.52047952,79.52,0
+79.62037962,79.62,0
+79.72027972,79.72,0
+79.82017982,79.82,0
+79.92007992,79.92,0
+80.01998002,80.01,0
+80.11988012,80.11,0
+80.21978022,80.21,0
+80.31968032,80.31,0
+80.41958042,80.41,0
+80.51948052,80.51,0
+80.61938062,80.61,0
+80.71928072,80.71,0
+80.81918082,80.81,0
+80.91908092,80.91,0
+81.01898102,81.01,0
+81.11888112,81.11,0
+81.21878122,81.21,0
+81.31868132,81.31,0
+81.41858142,81.41,0
+81.51848152,81.51,0
+81.61838162,81.61,0
+81.71828172,81.71,0
+81.81818182,81.81,0
+81.91808192,81.91,0
+82.01798202,82.01,0
+82.11788212,82.11,0
+82.21778222,82.21,0
+82.31768232,82.31,0
+82.41758242,82.41,0
+82.51748252,82.51,0
+82.61738262,82.61,0
+82.71728272,82.71,0
+82.81718282,82.81,0
+82.91708292,82.91,0
+83.01698302,83.01,0
+83.11688312,83.11,0
+83.21678322,83.21,0
+83.31668332,83.31,0
+83.41658342,83.41,0
+83.51648352,83.51,0
+83.61638362,83.61,0
+83.71628372,83.71,0
+83.81618382,83.81,0
+83.91608392,83.91,0
+84.01598402,84.01,0
+84.11588412,84.11,0
+84.21578422,84.21,0
+84.31568432,84.31,0
+84.41558442,84.41,0
+84.51548452,84.51,0
+84.61538462,84.61,0
+84.71528472,84.71,0
+84.81518482,84.81,0
+84.91508492,84.91,0
+85.01498501,85.01,0
+85.11488511,85.11,0
+85.21478521,85.21,0
+85.31468531,85.31,0
+85.41458541,85.41,0
+85.51448551,85.51,0
+85.61438561,85.61,0
+85.71428571,85.71,0
+85.81418581,85.81,0
+85.91408591,85.91,0
+86.01398601,86.01,0
+86.11388611,86.11,0
+86.21378621,86.21,0
+86.31368631,86.31,0
+86.41358641,86.41,0
+86.51348651,86.51,0
+86.61338661,86.61,0
+86.71328671,86.71,0
+86.81318681,86.81,0
+86.91308691,86.91,0
+87.01298701,87.01,0
+87.11288711,87.11,0
+87.21278721,87.21,0
+87.31268731,87.31,0
+87.41258741,87.41,0
+87.51248751,87.51,0
+87.61238761,87.61,0
+87.71228771,87.71,0
+87.81218781,87.81,0
+87.91208791,87.91,0
+88.01198801,88.01,0
+88.11188811,88.11,0
+88.21178821,88.21,0
+88.31168831,88.31,0
+88.41158841,88.41,0
+88.51148851,88.51,0
+88.61138861,88.61,0
+88.71128871,88.71,0
+88.81118881,88.81,0
+88.91108891,88.91,0
+89.01098901,89.01,0
+89.11088911,89.11,0
+89.21078921,89.21,0
+89.31068931,89.31,0
+89.41058941,89.41,0
+89.51048951,89.51,0
+89.61038961,89.61,0
+89.71028971,89.71,0
+89.81018981,89.81,0
+89.91008991,89.91,0
+90.00999001,90,0
+90.10989011,90.1,0
+90.20979021,90.2,0
+90.30969031,90.3,0
+90.40959041,90.4,0
+90.50949051,90.5,0
+90.60939061,90.6,0
+90.70929071,90.7,0
+90.80919081,90.8,0
+90.90909091,90.9,0
+91.00899101,91,0
+91.10889111,91.1,0
+91.20879121,91.2,0
+91.30869131,91.3,0
+91.40859141,91.4,0
+91.50849151,91.5,0
+91.60839161,91.6,0
+91.70829171,91.7,0
+91.80819181,91.8,0
+91.90809191,91.9,0
+92.00799201,92,0
+92.10789211,92.1,0
+92.20779221,92.2,0
+92.30769231,92.3,0
+92.40759241,92.4,0
+92.50749251,92.5,0
+92.60739261,92.6,0
+92.70729271,92.7,0
+92.80719281,92.8,0
+92.90709291,92.9,0
+93.00699301,93,0
+93.10689311,93.1,0
+93.20679321,93.2,0
+93.30669331,93.3,0
+93.40659341,93.4,0
+93.50649351,93.5,0
+93.60639361,93.6,0
+93.70629371,93.7,0
+93.80619381,93.8,0
+93.90609391,93.9,0
+94.00599401,94,0
+94.10589411,94.1,0
+94.20579421,94.2,0
+94.30569431,94.3,0
+94.40559441,94.4,0
+94.50549451,94.5,0
+94.60539461,94.6,0
+94.70529471,94.7,0
+94.80519481,94.8,0
+94.90509491,94.9,0
+95.004995,95,0
+95.1048951,95.1,0
+95.2047952,95.2,0
+95.3046953,95.3,0
+95.4045954,95.4,0
+95.5044955,95.5,0
+95.6043956,95.6,0
+95.7042957,95.7,0
+95.8041958,95.8,0
+95.9040959,95.9,0
+96.003996,96,0
+96.1038961,96.1,0
+96.2037962,96.2,0
+96.3036963,96.3,0
+96.4035964,96.4,0
+96.5034965,96.5,0
+96.6033966,96.6,0
+96.7032967,96.7,0
+96.8031968,96.8,0
+96.9030969,96.9,0
+97.002997,97,0
+97.1028971,97.1,0
+97.2027972,97.2,0
+97.3026973,97.3,0
+97.4025974,97.4,0
+97.5024975,97.5,0
+97.6023976,97.6,0
+97.7022977,97.7,0
+97.8021978,97.8,0
+97.9020979,97.9,0
+98.001998,98,0
+98.1018981,98.1,0
+98.2017982,98.2,0
+98.3016983,98.3,0
+98.4015984,98.4,0
+98.5014985,98.5,0
+98.6013986,98.6,0
+98.7012987,98.7,0
+98.8011988,98.8,0
+98.9010989,98.9,0
+99.000999,99,0
+99.1008991,99.1,0
+99.2007992,99.2,0
+99.3006993,99.3,0
+99.4005994,99.4,0
+99.5004995,99.5,0
+99.6003996,99.6,0
+99.7002997,99.7,0
+99.8001998,99.8,0
+99.9000999,99.9,0
+100,99.99,0
diff --git a/models/sbml-test-suite/cases/semantic/00964/00964-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00964/00964-sbml-l3v1.xml
new file mode 100644
index 0000000..31b29d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00964/00964-sbml-l3v1.xml
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 13:35 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00963" name="case00963">
+    <listOfParameters>
+      <parameter id="S" value="0" constant="false"/>
+      <parameter id="Q" value="0" constant="false"/>
+      <parameter id="R" value="0" constant="false"/>
+      <parameter id="T" value="0" constant="false"/>
+      <parameter id="reset" value="0" constant="false"/>
+      <parameter id="tolerance" value="5" constant="true"/>
+      <parameter id="error" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="S">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> Q </ci>
+            <ci> R </ci>
+            <ci> T </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="Qinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Rinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Tinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="T">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> T </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="error_check" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <or/>
+              <apply>
+                <geq/>
+                <apply>
+                  <abs/>
+                  <apply>
+                    <minus/>
+                    <ci> Q </ci>
+                    <ci> R </ci>
+                  </apply>
+                </apply>
+                <ci> tolerance </ci>
+              </apply>
+              <apply>
+                <geq/>
+                <apply>
+                  <abs/>
+                  <apply>
+                    <minus/>
+                    <ci> Q </ci>
+                    <ci> T </ci>
+                  </apply>
+                </apply>
+                <ci> tolerance </ci>
+              </apply>
+              <apply>
+                <geq/>
+                <apply>
+                  <abs/>
+                  <apply>
+                    <minus/>
+                    <ci> T </ci>
+                    <ci> R </ci>
+                  </apply>
+                </apply>
+                <ci> tolerance </ci>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="error">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00964/00964-settings.txt b/models/sbml-test-suite/cases/semantic/00964/00964-settings.txt
new file mode 100644
index 0000000..e89905b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00964/00964-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 100
+steps: 1001
+variables: S, error
+absolute: 0.03
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00965/00965-antimony.txt b/models/sbml-test-suite/cases/semantic/00965/00965-antimony.txt
new file mode 100644
index 0000000..4a2c35c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00965/00965-antimony.txt
@@ -0,0 +1,23 @@
+model case00965()
+
+  // Assignment Rules:
+  S := Q + R;
+
+  // Events:
+  Qinc: at (time - reset >= 0.01), priority = 10, persistent=false: Q = Q + 0.01, Qrun = Qrun + 1, Rrun = 0, reset = time;
+  Rinc: at (time - reset >= 0.01), priority = 10, persistent=false: R = R + 0.01, Rrun = Rrun + 1, Qrun = 0, reset = time;
+  maxrun_check1: at (Qrun > maxrun), priority = 9: maxrun = Qrun;
+  maxrun_check2: at (Rrun > maxrun), priority = 8: maxrun = Rrun;
+  error_check: at (maxrun > 300), priority = 7: error = 1;
+
+  // Variable initializations:
+  reset = 0;
+  Q = 0;
+  R = 0;
+  Qrun = 0;
+  Rrun = 0;
+  maxrun = 0;
+  error = 0;
+
+end
+
diff --git a/models/sbml-test-suite/cases/semantic/00965/00965-results.csv b/models/sbml-test-suite/cases/semantic/00965/00965-results.csv
new file mode 100644
index 0000000..ef7896b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00965/00965-results.csv
@@ -0,0 +1,1003 @@
+time,S,error
+0,0,0
+0.0999001,0.09,0
+0.1998002,0.19,0
+0.2997003,0.29,0
+0.3996004,0.39,0
+0.4995005,0.49,0
+0.599400599,0.59,0
+0.699300699,0.69,0
+0.799200799,0.79,0
+0.899100899,0.89,0
+0.999000999,0.99,0
+1.098901099,1.09,0
+1.198801199,1.19,0
+1.298701299,1.29,0
+1.398601399,1.39,0
+1.498501499,1.49,0
+1.598401598,1.59,0
+1.698301698,1.69,0
+1.798201798,1.79,0
+1.898101898,1.89,0
+1.998001998,1.99,0
+2.097902098,2.09,0
+2.197802198,2.19,0
+2.297702298,2.29,0
+2.397602398,2.39,0
+2.497502498,2.49,0
+2.597402597,2.59,0
+2.697302697,2.69,0
+2.797202797,2.79,0
+2.897102897,2.89,0
+2.997002997,2.99,0
+3.096903097,3.09,0
+3.196803197,3.19,0
+3.296703297,3.29,0
+3.396603397,3.39,0
+3.496503497,3.49,0
+3.596403596,3.59,0
+3.696303696,3.69,0
+3.796203796,3.79,0
+3.896103896,3.89,0
+3.996003996,3.99,0
+4.095904096,4.09,0
+4.195804196,4.19,0
+4.295704296,4.29,0
+4.395604396,4.39,0
+4.495504496,4.49,0
+4.595404595,4.59,0
+4.695304695,4.69,0
+4.795204795,4.79,0
+4.895104895,4.89,0
+4.995004995,4.99,0
+5.094905095,5.09,0
+5.194805195,5.19,0
+5.294705295,5.29,0
+5.394605395,5.39,0
+5.494505495,5.49,0
+5.594405594,5.59,0
+5.694305694,5.69,0
+5.794205794,5.79,0
+5.894105894,5.89,0
+5.994005994,5.99,0
+6.093906094,6.09,0
+6.193806194,6.19,0
+6.293706294,6.29,0
+6.393606394,6.39,0
+6.493506494,6.49,0
+6.593406593,6.59,0
+6.693306693,6.69,0
+6.793206793,6.79,0
+6.893106893,6.89,0
+6.993006993,6.99,0
+7.092907093,7.09,0
+7.192807193,7.19,0
+7.292707293,7.29,0
+7.392607393,7.39,0
+7.492507493,7.49,0
+7.592407592,7.59,0
+7.692307692,7.69,0
+7.792207792,7.79,0
+7.892107892,7.89,0
+7.992007992,7.99,0
+8.091908092,8.09,0
+8.191808192,8.19,0
+8.291708292,8.29,0
+8.391608392,8.39,0
+8.491508492,8.49,0
+8.591408591,8.59,0
+8.691308691,8.69,0
+8.791208791,8.79,0
+8.891108891,8.89,0
+8.991008991,8.99,0
+9.090909091,9.09,0
+9.190809191,9.19,0
+9.290709291,9.29,0
+9.390609391,9.39,0
+9.490509491,9.49,0
+9.59040959,9.59,0
+9.69030969,9.69,0
+9.79020979,9.79,0
+9.89010989,9.89,0
+9.99000999,9.99,0
+10.08991009,10.08,0
+10.18981019,10.18,0
+10.28971029,10.28,0
+10.38961039,10.38,0
+10.48951049,10.48,0
+10.58941059,10.58,0
+10.68931069,10.68,0
+10.78921079,10.78,0
+10.88911089,10.88,0
+10.98901099,10.98,0
+11.08891109,11.08,0
+11.18881119,11.18,0
+11.28871129,11.28,0
+11.38861139,11.38,0
+11.48851149,11.48,0
+11.58841159,11.58,0
+11.68831169,11.68,0
+11.78821179,11.78,0
+11.88811189,11.88,0
+11.98801199,11.98,0
+12.08791209,12.08,0
+12.18781219,12.18,0
+12.28771229,12.28,0
+12.38761239,12.38,0
+12.48751249,12.48,0
+12.58741259,12.58,0
+12.68731269,12.68,0
+12.78721279,12.78,0
+12.88711289,12.88,0
+12.98701299,12.98,0
+13.08691309,13.08,0
+13.18681319,13.18,0
+13.28671329,13.28,0
+13.38661339,13.38,0
+13.48651349,13.48,0
+13.58641359,13.58,0
+13.68631369,13.68,0
+13.78621379,13.78,0
+13.88611389,13.88,0
+13.98601399,13.98,0
+14.08591409,14.08,0
+14.18581419,14.18,0
+14.28571429,14.28,0
+14.38561439,14.38,0
+14.48551449,14.48,0
+14.58541459,14.58,0
+14.68531469,14.68,0
+14.78521479,14.78,0
+14.88511489,14.88,0
+14.98501499,14.98,0
+15.08491508,15.08,0
+15.18481518,15.18,0
+15.28471528,15.28,0
+15.38461538,15.38,0
+15.48451548,15.48,0
+15.58441558,15.58,0
+15.68431568,15.68,0
+15.78421578,15.78,0
+15.88411588,15.88,0
+15.98401598,15.98,0
+16.08391608,16.08,0
+16.18381618,16.18,0
+16.28371628,16.28,0
+16.38361638,16.38,0
+16.48351648,16.48,0
+16.58341658,16.58,0
+16.68331668,16.68,0
+16.78321678,16.78,0
+16.88311688,16.88,0
+16.98301698,16.98,0
+17.08291708,17.08,0
+17.18281718,17.18,0
+17.28271728,17.28,0
+17.38261738,17.38,0
+17.48251748,17.48,0
+17.58241758,17.58,0
+17.68231768,17.68,0
+17.78221778,17.78,0
+17.88211788,17.88,0
+17.98201798,17.98,0
+18.08191808,18.08,0
+18.18181818,18.18,0
+18.28171828,18.28,0
+18.38161838,18.38,0
+18.48151848,18.48,0
+18.58141858,18.58,0
+18.68131868,18.68,0
+18.78121878,18.78,0
+18.88111888,18.88,0
+18.98101898,18.98,0
+19.08091908,19.08,0
+19.18081918,19.18,0
+19.28071928,19.28,0
+19.38061938,19.38,0
+19.48051948,19.48,0
+19.58041958,19.58,0
+19.68031968,19.68,0
+19.78021978,19.78,0
+19.88011988,19.88,0
+19.98001998,19.98,0
+20.07992008,20.07,0
+20.17982018,20.17,0
+20.27972028,20.27,0
+20.37962038,20.37,0
+20.47952048,20.47,0
+20.57942058,20.57,0
+20.67932068,20.67,0
+20.77922078,20.77,0
+20.87912088,20.87,0
+20.97902098,20.97,0
+21.07892108,21.07,0
+21.17882118,21.17,0
+21.27872128,21.27,0
+21.37862138,21.37,0
+21.47852148,21.47,0
+21.57842158,21.57,0
+21.67832168,21.67,0
+21.77822178,21.77,0
+21.87812188,21.87,0
+21.97802198,21.97,0
+22.07792208,22.07,0
+22.17782218,22.17,0
+22.27772228,22.27,0
+22.37762238,22.37,0
+22.47752248,22.47,0
+22.57742258,22.57,0
+22.67732268,22.67,0
+22.77722278,22.77,0
+22.87712288,22.87,0
+22.97702298,22.97,0
+23.07692308,23.07,0
+23.17682318,23.17,0
+23.27672328,23.27,0
+23.37662338,23.37,0
+23.47652348,23.47,0
+23.57642358,23.57,0
+23.67632368,23.67,0
+23.77622378,23.77,0
+23.87612388,23.87,0
+23.97602398,23.97,0
+24.07592408,24.07,0
+24.17582418,24.17,0
+24.27572428,24.27,0
+24.37562438,24.37,0
+24.47552448,24.47,0
+24.57542458,24.57,0
+24.67532468,24.67,0
+24.77522478,24.77,0
+24.87512488,24.87,0
+24.97502498,24.97,0
+25.07492507,25.07,0
+25.17482517,25.17,0
+25.27472527,25.27,0
+25.37462537,25.37,0
+25.47452547,25.47,0
+25.57442557,25.57,0
+25.67432567,25.67,0
+25.77422577,25.77,0
+25.87412587,25.87,0
+25.97402597,25.97,0
+26.07392607,26.07,0
+26.17382617,26.17,0
+26.27372627,26.27,0
+26.37362637,26.37,0
+26.47352647,26.47,0
+26.57342657,26.57,0
+26.67332667,26.67,0
+26.77322677,26.77,0
+26.87312687,26.87,0
+26.97302697,26.97,0
+27.07292707,27.07,0
+27.17282717,27.17,0
+27.27272727,27.27,0
+27.37262737,27.37,0
+27.47252747,27.47,0
+27.57242757,27.57,0
+27.67232767,27.67,0
+27.77222777,27.77,0
+27.87212787,27.87,0
+27.97202797,27.97,0
+28.07192807,28.07,0
+28.17182817,28.17,0
+28.27172827,28.27,0
+28.37162837,28.37,0
+28.47152847,28.47,0
+28.57142857,28.57,0
+28.67132867,28.67,0
+28.77122877,28.77,0
+28.87112887,28.87,0
+28.97102897,28.97,0
+29.07092907,29.07,0
+29.17082917,29.17,0
+29.27072927,29.27,0
+29.37062937,29.37,0
+29.47052947,29.47,0
+29.57042957,29.57,0
+29.67032967,29.67,0
+29.77022977,29.77,0
+29.87012987,29.87,0
+29.97002997,29.97,0
+30.06993007,30.06,0
+30.16983017,30.16,0
+30.26973027,30.26,0
+30.36963037,30.36,0
+30.46953047,30.46,0
+30.56943057,30.56,0
+30.66933067,30.66,0
+30.76923077,30.76,0
+30.86913087,30.86,0
+30.96903097,30.96,0
+31.06893107,31.06,0
+31.16883117,31.16,0
+31.26873127,31.26,0
+31.36863137,31.36,0
+31.46853147,31.46,0
+31.56843157,31.56,0
+31.66833167,31.66,0
+31.76823177,31.76,0
+31.86813187,31.86,0
+31.96803197,31.96,0
+32.06793207,32.06,0
+32.16783217,32.16,0
+32.26773227,32.26,0
+32.36763237,32.36,0
+32.46753247,32.46,0
+32.56743257,32.56,0
+32.66733267,32.66,0
+32.76723277,32.76,0
+32.86713287,32.86,0
+32.96703297,32.96,0
+33.06693307,33.06,0
+33.16683317,33.16,0
+33.26673327,33.26,0
+33.36663337,33.36,0
+33.46653347,33.46,0
+33.56643357,33.56,0
+33.66633367,33.66,0
+33.76623377,33.76,0
+33.86613387,33.86,0
+33.96603397,33.96,0
+34.06593407,34.06,0
+34.16583417,34.16,0
+34.26573427,34.26,0
+34.36563437,34.36,0
+34.46553447,34.46,0
+34.56543457,34.56,0
+34.66533467,34.66,0
+34.76523477,34.76,0
+34.86513487,34.86,0
+34.96503497,34.96,0
+35.06493506,35.06,0
+35.16483516,35.16,0
+35.26473526,35.26,0
+35.36463536,35.36,0
+35.46453546,35.46,0
+35.56443556,35.56,0
+35.66433566,35.66,0
+35.76423576,35.76,0
+35.86413586,35.86,0
+35.96403596,35.96,0
+36.06393606,36.06,0
+36.16383616,36.16,0
+36.26373626,36.26,0
+36.36363636,36.36,0
+36.46353646,36.46,0
+36.56343656,36.56,0
+36.66333666,36.66,0
+36.76323676,36.76,0
+36.86313686,36.86,0
+36.96303696,36.96,0
+37.06293706,37.06,0
+37.16283716,37.16,0
+37.26273726,37.26,0
+37.36263736,37.36,0
+37.46253746,37.46,0
+37.56243756,37.56,0
+37.66233766,37.66,0
+37.76223776,37.76,0
+37.86213786,37.86,0
+37.96203796,37.96,0
+38.06193806,38.06,0
+38.16183816,38.16,0
+38.26173826,38.26,0
+38.36163836,38.36,0
+38.46153846,38.46,0
+38.56143856,38.56,0
+38.66133866,38.66,0
+38.76123876,38.76,0
+38.86113886,38.86,0
+38.96103896,38.96,0
+39.06093906,39.06,0
+39.16083916,39.16,0
+39.26073926,39.26,0
+39.36063936,39.36,0
+39.46053946,39.46,0
+39.56043956,39.56,0
+39.66033966,39.66,0
+39.76023976,39.76,0
+39.86013986,39.86,0
+39.96003996,39.96,0
+40.05994006,40.05,0
+40.15984016,40.15,0
+40.25974026,40.25,0
+40.35964036,40.35,0
+40.45954046,40.45,0
+40.55944056,40.55,0
+40.65934066,40.65,0
+40.75924076,40.75,0
+40.85914086,40.85,0
+40.95904096,40.95,0
+41.05894106,41.05,0
+41.15884116,41.15,0
+41.25874126,41.25,0
+41.35864136,41.35,0
+41.45854146,41.45,0
+41.55844156,41.55,0
+41.65834166,41.65,0
+41.75824176,41.75,0
+41.85814186,41.85,0
+41.95804196,41.95,0
+42.05794206,42.05,0
+42.15784216,42.15,0
+42.25774226,42.25,0
+42.35764236,42.35,0
+42.45754246,42.45,0
+42.55744256,42.55,0
+42.65734266,42.65,0
+42.75724276,42.75,0
+42.85714286,42.85,0
+42.95704296,42.95,0
+43.05694306,43.05,0
+43.15684316,43.15,0
+43.25674326,43.25,0
+43.35664336,43.35,0
+43.45654346,43.45,0
+43.55644356,43.55,0
+43.65634366,43.65,0
+43.75624376,43.75,0
+43.85614386,43.85,0
+43.95604396,43.95,0
+44.05594406,44.05,0
+44.15584416,44.15,0
+44.25574426,44.25,0
+44.35564436,44.35,0
+44.45554446,44.45,0
+44.55544456,44.55,0
+44.65534466,44.65,0
+44.75524476,44.75,0
+44.85514486,44.85,0
+44.95504496,44.95,0
+45.05494505,45.05,0
+45.15484515,45.15,0
+45.25474525,45.25,0
+45.35464535,45.35,0
+45.45454545,45.45,0
+45.55444555,45.55,0
+45.65434565,45.65,0
+45.75424575,45.75,0
+45.85414585,45.85,0
+45.95404595,45.95,0
+46.05394605,46.05,0
+46.15384615,46.15,0
+46.25374625,46.25,0
+46.35364635,46.35,0
+46.45354645,46.45,0
+46.55344655,46.55,0
+46.65334665,46.65,0
+46.75324675,46.75,0
+46.85314685,46.85,0
+46.95304695,46.95,0
+47.05294705,47.05,0
+47.15284715,47.15,0
+47.25274725,47.25,0
+47.35264735,47.35,0
+47.45254745,47.45,0
+47.55244755,47.55,0
+47.65234765,47.65,0
+47.75224775,47.75,0
+47.85214785,47.85,0
+47.95204795,47.95,0
+48.05194805,48.05,0
+48.15184815,48.15,0
+48.25174825,48.25,0
+48.35164835,48.35,0
+48.45154845,48.45,0
+48.55144855,48.55,0
+48.65134865,48.65,0
+48.75124875,48.75,0
+48.85114885,48.85,0
+48.95104895,48.95,0
+49.05094905,49.05,0
+49.15084915,49.15,0
+49.25074925,49.25,0
+49.35064935,49.35,0
+49.45054945,49.45,0
+49.55044955,49.55,0
+49.65034965,49.65,0
+49.75024975,49.75,0
+49.85014985,49.85,0
+49.95004995,49.95,0
+50.04995005,50.04,0
+50.14985015,50.14,0
+50.24975025,50.24,0
+50.34965035,50.34,0
+50.44955045,50.44,0
+50.54945055,50.54,0
+50.64935065,50.64,0
+50.74925075,50.74,0
+50.84915085,50.84,0
+50.94905095,50.94,0
+51.04895105,51.04,0
+51.14885115,51.14,0
+51.24875125,51.24,0
+51.34865135,51.34,0
+51.44855145,51.44,0
+51.54845155,51.54,0
+51.64835165,51.64,0
+51.74825175,51.74,0
+51.84815185,51.84,0
+51.94805195,51.94,0
+52.04795205,52.04,0
+52.14785215,52.14,0
+52.24775225,52.24,0
+52.34765235,52.34,0
+52.44755245,52.44,0
+52.54745255,52.54,0
+52.64735265,52.64,0
+52.74725275,52.74,0
+52.84715285,52.84,0
+52.94705295,52.94,0
+53.04695305,53.04,0
+53.14685315,53.14,0
+53.24675325,53.24,0
+53.34665335,53.34,0
+53.44655345,53.44,0
+53.54645355,53.54,0
+53.64635365,53.64,0
+53.74625375,53.74,0
+53.84615385,53.84,0
+53.94605395,53.94,0
+54.04595405,54.04,0
+54.14585415,54.14,0
+54.24575425,54.24,0
+54.34565435,54.34,0
+54.44555445,54.44,0
+54.54545455,54.54,0
+54.64535465,54.64,0
+54.74525475,54.74,0
+54.84515485,54.84,0
+54.94505495,54.94,0
+55.04495504,55.04,0
+55.14485514,55.14,0
+55.24475524,55.24,0
+55.34465534,55.34,0
+55.44455544,55.44,0
+55.54445554,55.54,0
+55.64435564,55.64,0
+55.74425574,55.74,0
+55.84415584,55.84,0
+55.94405594,55.94,0
+56.04395604,56.04,0
+56.14385614,56.14,0
+56.24375624,56.24,0
+56.34365634,56.34,0
+56.44355644,56.44,0
+56.54345654,56.54,0
+56.64335664,56.64,0
+56.74325674,56.74,0
+56.84315684,56.84,0
+56.94305694,56.94,0
+57.04295704,57.04,0
+57.14285714,57.14,0
+57.24275724,57.24,0
+57.34265734,57.34,0
+57.44255744,57.44,0
+57.54245754,57.54,0
+57.64235764,57.64,0
+57.74225774,57.74,0
+57.84215784,57.84,0
+57.94205794,57.94,0
+58.04195804,58.04,0
+58.14185814,58.14,0
+58.24175824,58.24,0
+58.34165834,58.34,0
+58.44155844,58.44,0
+58.54145854,58.54,0
+58.64135864,58.64,0
+58.74125874,58.74,0
+58.84115884,58.84,0
+58.94105894,58.94,0
+59.04095904,59.04,0
+59.14085914,59.14,0
+59.24075924,59.24,0
+59.34065934,59.34,0
+59.44055944,59.44,0
+59.54045954,59.54,0
+59.64035964,59.64,0
+59.74025974,59.74,0
+59.84015984,59.84,0
+59.94005994,59.94,0
+60.03996004,60.03,0
+60.13986014,60.13,0
+60.23976024,60.23,0
+60.33966034,60.33,0
+60.43956044,60.43,0
+60.53946054,60.53,0
+60.63936064,60.63,0
+60.73926074,60.73,0
+60.83916084,60.83,0
+60.93906094,60.93,0
+61.03896104,61.03,0
+61.13886114,61.13,0
+61.23876124,61.23,0
+61.33866134,61.33,0
+61.43856144,61.43,0
+61.53846154,61.53,0
+61.63836164,61.63,0
+61.73826174,61.73,0
+61.83816184,61.83,0
+61.93806194,61.93,0
+62.03796204,62.03,0
+62.13786214,62.13,0
+62.23776224,62.23,0
+62.33766234,62.33,0
+62.43756244,62.43,0
+62.53746254,62.53,0
+62.63736264,62.63,0
+62.73726274,62.73,0
+62.83716284,62.83,0
+62.93706294,62.93,0
+63.03696304,63.03,0
+63.13686314,63.13,0
+63.23676324,63.23,0
+63.33666334,63.33,0
+63.43656344,63.43,0
+63.53646354,63.53,0
+63.63636364,63.63,0
+63.73626374,63.73,0
+63.83616384,63.83,0
+63.93606394,63.93,0
+64.03596404,64.03,0
+64.13586414,64.13,0
+64.23576424,64.23,0
+64.33566434,64.33,0
+64.43556444,64.43,0
+64.53546454,64.53,0
+64.63536464,64.63,0
+64.73526474,64.73,0
+64.83516484,64.83,0
+64.93506494,64.93,0
+65.03496503,65.03,0
+65.13486513,65.13,0
+65.23476523,65.23,0
+65.33466533,65.33,0
+65.43456543,65.43,0
+65.53446553,65.53,0
+65.63436563,65.63,0
+65.73426573,65.73,0
+65.83416583,65.83,0
+65.93406593,65.93,0
+66.03396603,66.03,0
+66.13386613,66.13,0
+66.23376623,66.23,0
+66.33366633,66.33,0
+66.43356643,66.43,0
+66.53346653,66.53,0
+66.63336663,66.63,0
+66.73326673,66.73,0
+66.83316683,66.83,0
+66.93306693,66.93,0
+67.03296703,67.03,0
+67.13286713,67.13,0
+67.23276723,67.23,0
+67.33266733,67.33,0
+67.43256743,67.43,0
+67.53246753,67.53,0
+67.63236763,67.63,0
+67.73226773,67.73,0
+67.83216783,67.83,0
+67.93206793,67.93,0
+68.03196803,68.03,0
+68.13186813,68.13,0
+68.23176823,68.23,0
+68.33166833,68.33,0
+68.43156843,68.43,0
+68.53146853,68.53,0
+68.63136863,68.63,0
+68.73126873,68.73,0
+68.83116883,68.83,0
+68.93106893,68.93,0
+69.03096903,69.03,0
+69.13086913,69.13,0
+69.23076923,69.23,0
+69.33066933,69.33,0
+69.43056943,69.43,0
+69.53046953,69.53,0
+69.63036963,69.63,0
+69.73026973,69.73,0
+69.83016983,69.83,0
+69.93006993,69.93,0
+70.02997003,70.02,0
+70.12987013,70.12,0
+70.22977023,70.22,0
+70.32967033,70.32,0
+70.42957043,70.42,0
+70.52947053,70.52,0
+70.62937063,70.62,0
+70.72927073,70.72,0
+70.82917083,70.82,0
+70.92907093,70.92,0
+71.02897103,71.02,0
+71.12887113,71.12,0
+71.22877123,71.22,0
+71.32867133,71.32,0
+71.42857143,71.42,0
+71.52847153,71.52,0
+71.62837163,71.62,0
+71.72827173,71.72,0
+71.82817183,71.82,0
+71.92807193,71.92,0
+72.02797203,72.02,0
+72.12787213,72.12,0
+72.22777223,72.22,0
+72.32767233,72.32,0
+72.42757243,72.42,0
+72.52747253,72.52,0
+72.62737263,72.62,0
+72.72727273,72.72,0
+72.82717283,72.82,0
+72.92707293,72.92,0
+73.02697303,73.02,0
+73.12687313,73.12,0
+73.22677323,73.22,0
+73.32667333,73.32,0
+73.42657343,73.42,0
+73.52647353,73.52,0
+73.62637363,73.62,0
+73.72627373,73.72,0
+73.82617383,73.82,0
+73.92607393,73.92,0
+74.02597403,74.02,0
+74.12587413,74.12,0
+74.22577423,74.22,0
+74.32567433,74.32,0
+74.42557443,74.42,0
+74.52547453,74.52,0
+74.62537463,74.62,0
+74.72527473,74.72,0
+74.82517483,74.82,0
+74.92507493,74.92,0
+75.02497502,75.02,0
+75.12487512,75.12,0
+75.22477522,75.22,0
+75.32467532,75.32,0
+75.42457542,75.42,0
+75.52447552,75.52,0
+75.62437562,75.62,0
+75.72427572,75.72,0
+75.82417582,75.82,0
+75.92407592,75.92,0
+76.02397602,76.02,0
+76.12387612,76.12,0
+76.22377622,76.22,0
+76.32367632,76.32,0
+76.42357642,76.42,0
+76.52347652,76.52,0
+76.62337662,76.62,0
+76.72327672,76.72,0
+76.82317682,76.82,0
+76.92307692,76.92,0
+77.02297702,77.02,0
+77.12287712,77.12,0
+77.22277722,77.22,0
+77.32267732,77.32,0
+77.42257742,77.42,0
+77.52247752,77.52,0
+77.62237762,77.62,0
+77.72227772,77.72,0
+77.82217782,77.82,0
+77.92207792,77.92,0
+78.02197802,78.02,0
+78.12187812,78.12,0
+78.22177822,78.22,0
+78.32167832,78.32,0
+78.42157842,78.42,0
+78.52147852,78.52,0
+78.62137862,78.62,0
+78.72127872,78.72,0
+78.82117882,78.82,0
+78.92107892,78.92,0
+79.02097902,79.02,0
+79.12087912,79.12,0
+79.22077922,79.22,0
+79.32067932,79.32,0
+79.42057942,79.42,0
+79.52047952,79.52,0
+79.62037962,79.62,0
+79.72027972,79.72,0
+79.82017982,79.82,0
+79.92007992,79.92,0
+80.01998002,80.01,0
+80.11988012,80.11,0
+80.21978022,80.21,0
+80.31968032,80.31,0
+80.41958042,80.41,0
+80.51948052,80.51,0
+80.61938062,80.61,0
+80.71928072,80.71,0
+80.81918082,80.81,0
+80.91908092,80.91,0
+81.01898102,81.01,0
+81.11888112,81.11,0
+81.21878122,81.21,0
+81.31868132,81.31,0
+81.41858142,81.41,0
+81.51848152,81.51,0
+81.61838162,81.61,0
+81.71828172,81.71,0
+81.81818182,81.81,0
+81.91808192,81.91,0
+82.01798202,82.01,0
+82.11788212,82.11,0
+82.21778222,82.21,0
+82.31768232,82.31,0
+82.41758242,82.41,0
+82.51748252,82.51,0
+82.61738262,82.61,0
+82.71728272,82.71,0
+82.81718282,82.81,0
+82.91708292,82.91,0
+83.01698302,83.01,0
+83.11688312,83.11,0
+83.21678322,83.21,0
+83.31668332,83.31,0
+83.41658342,83.41,0
+83.51648352,83.51,0
+83.61638362,83.61,0
+83.71628372,83.71,0
+83.81618382,83.81,0
+83.91608392,83.91,0
+84.01598402,84.01,0
+84.11588412,84.11,0
+84.21578422,84.21,0
+84.31568432,84.31,0
+84.41558442,84.41,0
+84.51548452,84.51,0
+84.61538462,84.61,0
+84.71528472,84.71,0
+84.81518482,84.81,0
+84.91508492,84.91,0
+85.01498501,85.01,0
+85.11488511,85.11,0
+85.21478521,85.21,0
+85.31468531,85.31,0
+85.41458541,85.41,0
+85.51448551,85.51,0
+85.61438561,85.61,0
+85.71428571,85.71,0
+85.81418581,85.81,0
+85.91408591,85.91,0
+86.01398601,86.01,0
+86.11388611,86.11,0
+86.21378621,86.21,0
+86.31368631,86.31,0
+86.41358641,86.41,0
+86.51348651,86.51,0
+86.61338661,86.61,0
+86.71328671,86.71,0
+86.81318681,86.81,0
+86.91308691,86.91,0
+87.01298701,87.01,0
+87.11288711,87.11,0
+87.21278721,87.21,0
+87.31268731,87.31,0
+87.41258741,87.41,0
+87.51248751,87.51,0
+87.61238761,87.61,0
+87.71228771,87.71,0
+87.81218781,87.81,0
+87.91208791,87.91,0
+88.01198801,88.01,0
+88.11188811,88.11,0
+88.21178821,88.21,0
+88.31168831,88.31,0
+88.41158841,88.41,0
+88.51148851,88.51,0
+88.61138861,88.61,0
+88.71128871,88.71,0
+88.81118881,88.81,0
+88.91108891,88.91,0
+89.01098901,89.01,0
+89.11088911,89.11,0
+89.21078921,89.21,0
+89.31068931,89.31,0
+89.41058941,89.41,0
+89.51048951,89.51,0
+89.61038961,89.61,0
+89.71028971,89.71,0
+89.81018981,89.81,0
+89.91008991,89.91,0
+90.00999001,90,0
+90.10989011,90.1,0
+90.20979021,90.2,0
+90.30969031,90.3,0
+90.40959041,90.4,0
+90.50949051,90.5,0
+90.60939061,90.6,0
+90.70929071,90.7,0
+90.80919081,90.8,0
+90.90909091,90.9,0
+91.00899101,91,0
+91.10889111,91.1,0
+91.20879121,91.2,0
+91.30869131,91.3,0
+91.40859141,91.4,0
+91.50849151,91.5,0
+91.60839161,91.6,0
+91.70829171,91.7,0
+91.80819181,91.8,0
+91.90809191,91.9,0
+92.00799201,92,0
+92.10789211,92.1,0
+92.20779221,92.2,0
+92.30769231,92.3,0
+92.40759241,92.4,0
+92.50749251,92.5,0
+92.60739261,92.6,0
+92.70729271,92.7,0
+92.80719281,92.8,0
+92.90709291,92.9,0
+93.00699301,93,0
+93.10689311,93.1,0
+93.20679321,93.2,0
+93.30669331,93.3,0
+93.40659341,93.4,0
+93.50649351,93.5,0
+93.60639361,93.6,0
+93.70629371,93.7,0
+93.80619381,93.8,0
+93.90609391,93.9,0
+94.00599401,94,0
+94.10589411,94.1,0
+94.20579421,94.2,0
+94.30569431,94.3,0
+94.40559441,94.4,0
+94.50549451,94.5,0
+94.60539461,94.6,0
+94.70529471,94.7,0
+94.80519481,94.8,0
+94.90509491,94.9,0
+95.004995,95,0
+95.1048951,95.1,0
+95.2047952,95.2,0
+95.3046953,95.3,0
+95.4045954,95.4,0
+95.5044955,95.5,0
+95.6043956,95.6,0
+95.7042957,95.7,0
+95.8041958,95.8,0
+95.9040959,95.9,0
+96.003996,96,0
+96.1038961,96.1,0
+96.2037962,96.2,0
+96.3036963,96.3,0
+96.4035964,96.4,0
+96.5034965,96.5,0
+96.6033966,96.6,0
+96.7032967,96.7,0
+96.8031968,96.8,0
+96.9030969,96.9,0
+97.002997,97,0
+97.1028971,97.1,0
+97.2027972,97.2,0
+97.3026973,97.3,0
+97.4025974,97.4,0
+97.5024975,97.5,0
+97.6023976,97.6,0
+97.7022977,97.7,0
+97.8021978,97.8,0
+97.9020979,97.9,0
+98.001998,98,0
+98.1018981,98.1,0
+98.2017982,98.2,0
+98.3016983,98.3,0
+98.4015984,98.4,0
+98.5014985,98.5,0
+98.6013986,98.6,0
+98.7012987,98.7,0
+98.8011988,98.8,0
+98.9010989,98.9,0
+99.000999,99,0
+99.1008991,99.1,0
+99.2007992,99.2,0
+99.3006993,99.3,0
+99.4005994,99.4,0
+99.5004995,99.5,0
+99.6003996,99.6,0
+99.7002997,99.7,0
+99.8001998,99.8,0
+99.9000999,99.9,0
+100,99.99,0
diff --git a/models/sbml-test-suite/cases/semantic/00965/00965-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00965/00965-sbml-l3v1.xml
new file mode 100644
index 0000000..babe6d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00965/00965-sbml-l3v1.xml
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 12:56 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00965" name="case00965">
+    <listOfParameters>
+      <parameter id="S" value="0" constant="false"/>
+      <parameter id="Q" value="0" constant="false"/>
+      <parameter id="R" value="0" constant="false"/>
+      <parameter id="reset" value="0" constant="false"/>
+      <parameter id="Qrun" value="0" constant="false"/>
+      <parameter id="Rrun" value="0" constant="false"/>
+      <parameter id="maxrun" value="0" constant="false"/>
+      <parameter id="error" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="S">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> Q </ci>
+            <ci> R </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="Qinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Rrun">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Qrun">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Qrun </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Rinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Qrun">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Rrun">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Rrun </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="maxrun_check1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> Qrun </ci>
+              <ci> maxrun </ci>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 9 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="maxrun">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> Qrun </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="maxrun_check2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> Rrun </ci>
+              <ci> maxrun </ci>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 8 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="maxrun">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> Rrun </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="error_check" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> maxrun </ci>
+              <cn type="integer"> 300 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 7 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="error">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00965/00965-settings.txt b/models/sbml-test-suite/cases/semantic/00965/00965-settings.txt
new file mode 100644
index 0000000..e89905b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00965/00965-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 100
+steps: 1001
+variables: S, error
+absolute: 0.03
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00966/00966-antimony.txt b/models/sbml-test-suite/cases/semantic/00966/00966-antimony.txt
new file mode 100644
index 0000000..8a15212
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00966/00966-antimony.txt
@@ -0,0 +1,81 @@
+function calculateerror(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16)
+  (x0-.0952)^2/.0952 + \
+  (x1-1.523)^2/1.523 + \
+  (x2-11.428)^2/11.428 + \
+  (x3-53.32)^2/53.32 + \
+  (x4-173.29)^2/173.29 + \
+  (x5-415.898)^2/415.898 + \
+  (x6-762.48)^2/762.48 + \
+  (x7-1089.26)^2/1089.26 + \
+  (x8-1225.415)^2/1225.415 + \
+  (x9-1089.26)^2/1089.26 + \
+  (x10-762.48)^2/762.48 + \
+  (x11-415.898)^2/415.898 + \
+  (x12-173.29)^2/173.29 + \
+  (x13-53.32)^2/53.32 + \
+  (x14-11.428)^2/11.428 + \
+  (x15-1.523)^2/1.523 + \
+  (x16-.0952)^2/.0952
+end
+
+model case00966()
+
+  // Assignment Rules:
+  S := Q + R;
+
+  // Events:
+  Rinc: at (time - reset >= 0.01), priority = 10, persistent=false: R = R + 0.01, chicount = chicount+1, reset = time;
+  Qinc: at (time - reset >= 0.01), priority = 10, persistent=false: Q = Q + 0.01, chicount = chicount+1, chitest = chitest+1, reset = time;
+
+  repeat: at floor(chicount/16) >= 1, priority = 5: chicount = 0, assemble = 1.5;
+  at ((assemble >= 1) && (chitest==0)), priority = 3: chi0 = chi0+1;
+  at ((assemble >= 1) && (chitest==1)), priority = 3: chi1 = chi1+1;
+  at ((assemble >= 1) && (chitest==2)), priority = 3: chi2 = chi2+1;
+  at ((assemble >= 1) && (chitest==3)), priority = 3: chi3 = chi3+1;
+  at ((assemble >= 1) && (chitest==4)), priority = 3: chi4 = chi4+1;
+  at ((assemble >= 1) && (chitest==5)), priority = 3: chi5 = chi5+1;
+  at ((assemble >= 1) && (chitest==6)), priority = 3: chi6 = chi6+1;
+  at ((assemble >= 1) && (chitest==7)), priority = 3: chi7 = chi7+1;
+  at ((assemble >= 1) && (chitest==8)), priority = 3: chi8 = chi8+1;
+  at ((assemble >= 1) && (chitest==9)), priority = 3: chi9 = chi9+1;
+  at ((assemble >= 1) && (chitest==10)), priority = 3: chi10 = chi10+1;
+  at ((assemble >= 1) && (chitest==11)), priority = 3: chi11 = chi11+1;
+  at ((assemble >= 1) && (chitest==12)), priority = 3: chi12 = chi12+1;
+  at ((assemble >= 1) && (chitest==13)), priority = 3: chi13 = chi13+1;
+  at ((assemble >= 1) && (chitest==14)), priority = 3: chi14 = chi14+1;
+  at ((assemble >= 1) && (chitest==15)), priority = 3: chi15 = chi15+1;
+  at ((assemble >= 1) && (chitest==16)), priority = 3: chi16 = chi16+1;
+  at (assemble >= 1), priority = 1: assemble = 0, chitest=0, tests = tests+1;
+
+  at ((tests >= 6240) && (finalchi==0)), priority = 0: finalchi = calculateerror(chi0, chi1, chi2, chi3, chi4, chi5, chi6, chi7, chi8, chi9, chi10, chi11, chi12, chi13, chi14, chi15, chi16)
+  error_check: at (finalchi > 50), priority = -1: error = 1;
+
+  // Variable initializations:
+  chicount = 0;
+  chitest = 0;
+  assemble = 0;
+  reset = 0;
+  tests = 0;
+  Q = 0;
+  R = 0;
+  chi0 = 0;
+  chi1 = 0;
+  chi2 = 0;
+  chi3 = 0;
+  chi4 = 0;
+  chi5 = 0;
+  chi6 = 0;
+  chi7 = 0;
+  chi8 = 0;
+  chi9 = 0;
+  chi10 = 0;
+  chi11 = 0;
+  chi12 = 0;
+  chi13 = 0;
+  chi14 = 0;
+  chi15 = 0;
+  chi16 = 0;
+  error = 0;
+
+end
+
diff --git a/models/sbml-test-suite/cases/semantic/00966/00966-results.csv b/models/sbml-test-suite/cases/semantic/00966/00966-results.csv
new file mode 100644
index 0000000..c96645e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00966/00966-results.csv
@@ -0,0 +1,1002 @@
+time,S,error
+0,0,0
+1,1,0
+2,2,0
+3,3,0
+4,4,0
+5,5,0
+6,6,0
+7,7,0
+8,8,0
+9,9,0
+10,10,0
+11,11,0
+12,12,0
+13,13,0
+14,14,0
+15,15,0
+16,16,0
+17,17,0
+18,18,0
+19,19,0
+20,20,0
+21,21,0
+22,22,0
+23,23,0
+24,24,0
+25,25,0
+26,26,0
+27,27,0
+28,28,0
+29,29,0
+30,30,0
+31,31,0
+32,32,0
+33,33,0
+34,34,0
+35,35,0
+36,36,0
+37,37,0
+38,38,0
+39,39,0
+40,40,0
+41,41,0
+42,42,0
+43,43,0
+44,44,0
+45,45,0
+46,46,0
+47,47,0
+48,48,0
+49,49,0
+50,50,0
+51,51,0
+52,52,0
+53,53,0
+54,54,0
+55,55,0
+56,56,0
+57,57,0
+58,58,0
+59,59,0
+60,60,0
+61,61,0
+62,62,0
+63,63,0
+64,64,0
+65,65,0
+66,66,0
+67,67,0
+68,68,0
+69,69,0
+70,70,0
+71,71,0
+72,72,0
+73,73,0
+74,74,0
+75,75,0
+76,76,0
+77,77,0
+78,78,0
+79,79,0
+80,80,0
+81,81,0
+82,82,0
+83,83,0
+84,84,0
+85,85,0
+86,86,0
+87,87,0
+88,88,0
+89,89,0
+90,90,0
+91,91,0
+92,92,0
+93,93,0
+94,94,0
+95,95,0
+96,96,0
+97,97,0
+98,98,0
+99,99,0
+100,100,0
+101,101,0
+102,102,0
+103,103,0
+104,104,0
+105,105,0
+106,106,0
+107,107,0
+108,108,0
+109,109,0
+110,110,0
+111,111,0
+112,112,0
+113,113,0
+114,114,0
+115,115,0
+116,116,0
+117,117,0
+118,118,0
+119,119,0
+120,120,0
+121,121,0
+122,122,0
+123,123,0
+124,124,0
+125,125,0
+126,126,0
+127,127,0
+128,128,0
+129,129,0
+130,130,0
+131,131,0
+132,132,0
+133,133,0
+134,134,0
+135,135,0
+136,136,0
+137,137,0
+138,138,0
+139,139,0
+140,140,0
+141,141,0
+142,142,0
+143,143,0
+144,144,0
+145,145,0
+146,146,0
+147,147,0
+148,148,0
+149,149,0
+150,150,0
+151,151,0
+152,152,0
+153,153,0
+154,154,0
+155,155,0
+156,156,0
+157,157,0
+158,158,0
+159,159,0
+160,160,0
+161,161,0
+162,162,0
+163,163,0
+164,164,0
+165,165,0
+166,166,0
+167,167,0
+168,168,0
+169,169,0
+170,170,0
+171,171,0
+172,172,0
+173,173,0
+174,174,0
+175,175,0
+176,176,0
+177,177,0
+178,178,0
+179,179,0
+180,180,0
+181,181,0
+182,182,0
+183,183,0
+184,184,0
+185,185,0
+186,186,0
+187,187,0
+188,188,0
+189,189,0
+190,190,0
+191,191,0
+192,192,0
+193,193,0
+194,194,0
+195,195,0
+196,196,0
+197,197,0
+198,198,0
+199,199,0
+200,200,0
+201,201,0
+202,202,0
+203,203,0
+204,204,0
+205,205,0
+206,206,0
+207,207,0
+208,208,0
+209,209,0
+210,210,0
+211,211,0
+212,212,0
+213,213,0
+214,214,0
+215,215,0
+216,216,0
+217,217,0
+218,218,0
+219,219,0
+220,220,0
+221,221,0
+222,222,0
+223,223,0
+224,224,0
+225,225,0
+226,226,0
+227,227,0
+228,228,0
+229,229,0
+230,230,0
+231,231,0
+232,232,0
+233,233,0
+234,234,0
+235,235,0
+236,236,0
+237,237,0
+238,238,0
+239,239,0
+240,240,0
+241,241,0
+242,242,0
+243,243,0
+244,244,0
+245,245,0
+246,246,0
+247,247,0
+248,248,0
+249,249,0
+250,250,0
+251,251,0
+252,252,0
+253,253,0
+254,254,0
+255,255,0
+256,256,0
+257,257,0
+258,258,0
+259,259,0
+260,260,0
+261,261,0
+262,262,0
+263,263,0
+264,264,0
+265,265,0
+266,266,0
+267,267,0
+268,268,0
+269,269,0
+270,270,0
+271,271,0
+272,272,0
+273,273,0
+274,274,0
+275,275,0
+276,276,0
+277,277,0
+278,278,0
+279,279,0
+280,280,0
+281,281,0
+282,282,0
+283,283,0
+284,284,0
+285,285,0
+286,286,0
+287,287,0
+288,288,0
+289,289,0
+290,290,0
+291,291,0
+292,292,0
+293,293,0
+294,294,0
+295,295,0
+296,296,0
+297,297,0
+298,298,0
+299,299,0
+300,300,0
+301,301,0
+302,302,0
+303,303,0
+304,304,0
+305,305,0
+306,306,0
+307,307,0
+308,308,0
+309,309,0
+310,310,0
+311,311,0
+312,312,0
+313,313,0
+314,314,0
+315,315,0
+316,316,0
+317,317,0
+318,318,0
+319,319,0
+320,320,0
+321,321,0
+322,322,0
+323,323,0
+324,324,0
+325,325,0
+326,326,0
+327,327,0
+328,328,0
+329,329,0
+330,330,0
+331,331,0
+332,332,0
+333,333,0
+334,334,0
+335,335,0
+336,336,0
+337,337,0
+338,338,0
+339,339,0
+340,340,0
+341,341,0
+342,342,0
+343,343,0
+344,344,0
+345,345,0
+346,346,0
+347,347,0
+348,348,0
+349,349,0
+350,350,0
+351,351,0
+352,352,0
+353,353,0
+354,354,0
+355,355,0
+356,356,0
+357,357,0
+358,358,0
+359,359,0
+360,360,0
+361,361,0
+362,362,0
+363,363,0
+364,364,0
+365,365,0
+366,366,0
+367,367,0
+368,368,0
+369,369,0
+370,370,0
+371,371,0
+372,372,0
+373,373,0
+374,374,0
+375,375,0
+376,376,0
+377,377,0
+378,378,0
+379,379,0
+380,380,0
+381,381,0
+382,382,0
+383,383,0
+384,384,0
+385,385,0
+386,386,0
+387,387,0
+388,388,0
+389,389,0
+390,390,0
+391,391,0
+392,392,0
+393,393,0
+394,394,0
+395,395,0
+396,396,0
+397,397,0
+398,398,0
+399,399,0
+400,400,0
+401,401,0
+402,402,0
+403,403,0
+404,404,0
+405,405,0
+406,406,0
+407,407,0
+408,408,0
+409,409,0
+410,410,0
+411,411,0
+412,412,0
+413,413,0
+414,414,0
+415,415,0
+416,416,0
+417,417,0
+418,418,0
+419,419,0
+420,420,0
+421,421,0
+422,422,0
+423,423,0
+424,424,0
+425,425,0
+426,426,0
+427,427,0
+428,428,0
+429,429,0
+430,430,0
+431,431,0
+432,432,0
+433,433,0
+434,434,0
+435,435,0
+436,436,0
+437,437,0
+438,438,0
+439,439,0
+440,440,0
+441,441,0
+442,442,0
+443,443,0
+444,444,0
+445,445,0
+446,446,0
+447,447,0
+448,448,0
+449,449,0
+450,450,0
+451,451,0
+452,452,0
+453,453,0
+454,454,0
+455,455,0
+456,456,0
+457,457,0
+458,458,0
+459,459,0
+460,460,0
+461,461,0
+462,462,0
+463,463,0
+464,464,0
+465,465,0
+466,466,0
+467,467,0
+468,468,0
+469,469,0
+470,470,0
+471,471,0
+472,472,0
+473,473,0
+474,474,0
+475,475,0
+476,476,0
+477,477,0
+478,478,0
+479,479,0
+480,480,0
+481,481,0
+482,482,0
+483,483,0
+484,484,0
+485,485,0
+486,486,0
+487,487,0
+488,488,0
+489,489,0
+490,490,0
+491,491,0
+492,492,0
+493,493,0
+494,494,0
+495,495,0
+496,496,0
+497,497,0
+498,498,0
+499,499,0
+500,500,0
+501,501,0
+502,502,0
+503,503,0
+504,504,0
+505,505,0
+506,506,0
+507,507,0
+508,508,0
+509,509,0
+510,510,0
+511,511,0
+512,512,0
+513,513,0
+514,514,0
+515,515,0
+516,516,0
+517,517,0
+518,518,0
+519,519,0
+520,520,0
+521,521,0
+522,522,0
+523,523,0
+524,524,0
+525,525,0
+526,526,0
+527,527,0
+528,528,0
+529,529,0
+530,530,0
+531,531,0
+532,532,0
+533,533,0
+534,534,0
+535,535,0
+536,536,0
+537,537,0
+538,538,0
+539,539,0
+540,540,0
+541,541,0
+542,542,0
+543,543,0
+544,544,0
+545,545,0
+546,546,0
+547,547,0
+548,548,0
+549,549,0
+550,550,0
+551,551,0
+552,552,0
+553,553,0
+554,554,0
+555,555,0
+556,556,0
+557,557,0
+558,558,0
+559,559,0
+560,560,0
+561,561,0
+562,562,0
+563,563,0
+564,564,0
+565,565,0
+566,566,0
+567,567,0
+568,568,0
+569,569,0
+570,570,0
+571,571,0
+572,572,0
+573,573,0
+574,574,0
+575,575,0
+576,576,0
+577,577,0
+578,578,0
+579,579,0
+580,580,0
+581,581,0
+582,582,0
+583,583,0
+584,584,0
+585,585,0
+586,586,0
+587,587,0
+588,588,0
+589,589,0
+590,590,0
+591,591,0
+592,592,0
+593,593,0
+594,594,0
+595,595,0
+596,596,0
+597,597,0
+598,598,0
+599,599,0
+600,600,0
+601,601,0
+602,602,0
+603,603,0
+604,604,0
+605,605,0
+606,606,0
+607,607,0
+608,608,0
+609,609,0
+610,610,0
+611,611,0
+612,612,0
+613,613,0
+614,614,0
+615,615,0
+616,616,0
+617,617,0
+618,618,0
+619,619,0
+620,620,0
+621,621,0
+622,622,0
+623,623,0
+624,624,0
+625,625,0
+626,626,0
+627,627,0
+628,628,0
+629,629,0
+630,630,0
+631,631,0
+632,632,0
+633,633,0
+634,634,0
+635,635,0
+636,636,0
+637,637,0
+638,638,0
+639,639,0
+640,640,0
+641,641,0
+642,642,0
+643,643,0
+644,644,0
+645,645,0
+646,646,0
+647,647,0
+648,648,0
+649,649,0
+650,650,0
+651,651,0
+652,652,0
+653,653,0
+654,654,0
+655,655,0
+656,656,0
+657,657,0
+658,658,0
+659,659,0
+660,660,0
+661,661,0
+662,662,0
+663,663,0
+664,664,0
+665,665,0
+666,666,0
+667,667,0
+668,668,0
+669,669,0
+670,670,0
+671,671,0
+672,672,0
+673,673,0
+674,674,0
+675,675,0
+676,676,0
+677,677,0
+678,678,0
+679,679,0
+680,680,0
+681,681,0
+682,682,0
+683,683,0
+684,684,0
+685,685,0
+686,686,0
+687,687,0
+688,688,0
+689,689,0
+690,690,0
+691,691,0
+692,692,0
+693,693,0
+694,694,0
+695,695,0
+696,696,0
+697,697,0
+698,698,0
+699,699,0
+700,700,0
+701,701,0
+702,702,0
+703,703,0
+704,704,0
+705,705,0
+706,706,0
+707,707,0
+708,708,0
+709,709,0
+710,710,0
+711,711,0
+712,712,0
+713,713,0
+714,714,0
+715,715,0
+716,716,0
+717,717,0
+718,718,0
+719,719,0
+720,720,0
+721,721,0
+722,722,0
+723,723,0
+724,724,0
+725,725,0
+726,726,0
+727,727,0
+728,728,0
+729,729,0
+730,730,0
+731,731,0
+732,732,0
+733,733,0
+734,734,0
+735,735,0
+736,736,0
+737,737,0
+738,738,0
+739,739,0
+740,740,0
+741,741,0
+742,742,0
+743,743,0
+744,744,0
+745,745,0
+746,746,0
+747,747,0
+748,748,0
+749,749,0
+750,750,0
+751,751,0
+752,752,0
+753,753,0
+754,754,0
+755,755,0
+756,756,0
+757,757,0
+758,758,0
+759,759,0
+760,760,0
+761,761,0
+762,762,0
+763,763,0
+764,764,0
+765,765,0
+766,766,0
+767,767,0
+768,768,0
+769,769,0
+770,770,0
+771,771,0
+772,772,0
+773,773,0
+774,774,0
+775,775,0
+776,776,0
+777,777,0
+778,778,0
+779,779,0
+780,780,0
+781,781,0
+782,782,0
+783,783,0
+784,784,0
+785,785,0
+786,786,0
+787,787,0
+788,788,0
+789,789,0
+790,790,0
+791,791,0
+792,792,0
+793,793,0
+794,794,0
+795,795,0
+796,796,0
+797,797,0
+798,798,0
+799,799,0
+800,800,0
+801,801,0
+802,802,0
+803,803,0
+804,804,0
+805,805,0
+806,806,0
+807,807,0
+808,808,0
+809,809,0
+810,810,0
+811,811,0
+812,812,0
+813,813,0
+814,814,0
+815,815,0
+816,816,0
+817,817,0
+818,818,0
+819,819,0
+820,820,0
+821,821,0
+822,822,0
+823,823,0
+824,824,0
+825,825,0
+826,826,0
+827,827,0
+828,828,0
+829,829,0
+830,830,0
+831,831,0
+832,832,0
+833,833,0
+834,834,0
+835,835,0
+836,836,0
+837,837,0
+838,838,0
+839,839,0
+840,840,0
+841,841,0
+842,842,0
+843,843,0
+844,844,0
+845,845,0
+846,846,0
+847,847,0
+848,848,0
+849,849,0
+850,850,0
+851,851,0
+852,852,0
+853,853,0
+854,854,0
+855,855,0
+856,856,0
+857,857,0
+858,858,0
+859,859,0
+860,860,0
+861,861,0
+862,862,0
+863,863,0
+864,864,0
+865,865,0
+866,866,0
+867,867,0
+868,868,0
+869,869,0
+870,870,0
+871,871,0
+872,872,0
+873,873,0
+874,874,0
+875,875,0
+876,876,0
+877,877,0
+878,878,0
+879,879,0
+880,880,0
+881,881,0
+882,882,0
+883,883,0
+884,884,0
+885,885,0
+886,886,0
+887,887,0
+888,888,0
+889,889,0
+890,890,0
+891,891,0
+892,892,0
+893,893,0
+894,894,0
+895,895,0
+896,896,0
+897,897,0
+898,898,0
+899,899,0
+900,900,0
+901,901,0
+902,902,0
+903,903,0
+904,904,0
+905,905,0
+906,906,0
+907,907,0
+908,908,0
+909,909,0
+910,910,0
+911,911,0
+912,912,0
+913,913,0
+914,914,0
+915,915,0
+916,916,0
+917,917,0
+918,918,0
+919,919,0
+920,920,0
+921,921,0
+922,922,0
+923,923,0
+924,924,0
+925,925,0
+926,926,0
+927,927,0
+928,928,0
+929,929,0
+930,930,0
+931,931,0
+932,932,0
+933,933,0
+934,934,0
+935,935,0
+936,936,0
+937,937,0
+938,938,0
+939,939,0
+940,940,0
+941,941,0
+942,942,0
+943,943,0
+944,944,0
+945,945,0
+946,946,0
+947,947,0
+948,948,0
+949,949,0
+950,950,0
+951,951,0
+952,952,0
+953,953,0
+954,954,0
+955,955,0
+956,956,0
+957,957,0
+958,958,0
+959,959,0
+960,960,0
+961,961,0
+962,962,0
+963,963,0
+964,964,0
+965,965,0
+966,966,0
+967,967,0
+968,968,0
+969,969,0
+970,970,0
+971,971,0
+972,972,0
+973,973,0
+974,974,0
+975,975,0
+976,976,0
+977,977,0
+978,978,0
+979,979,0
+980,980,0
+981,981,0
+982,982,0
+983,983,0
+984,984,0
+985,985,0
+986,986,0
+987,987,0
+988,988,0
+989,989,0
+990,990,0
+991,991,0
+992,992,0
+993,993,0
+994,994,0
+995,995,0
+996,996,0
+997,997,0
+998,998,0
+999,999,0
+1000,1000,0
diff --git a/models/sbml-test-suite/cases/semantic/00966/00966-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00966/00966-sbml-l3v1.xml
new file mode 100644
index 0000000..9587de7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00966/00966-sbml-l3v1.xml
@@ -0,0 +1,1169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00966" name="case00966">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="calculateerror">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x0 </ci>
+            </bvar>
+            <bvar>
+              <ci> x1 </ci>
+            </bvar>
+            <bvar>
+              <ci> x2 </ci>
+            </bvar>
+            <bvar>
+              <ci> x3 </ci>
+            </bvar>
+            <bvar>
+              <ci> x4 </ci>
+            </bvar>
+            <bvar>
+              <ci> x5 </ci>
+            </bvar>
+            <bvar>
+              <ci> x6 </ci>
+            </bvar>
+            <bvar>
+              <ci> x7 </ci>
+            </bvar>
+            <bvar>
+              <ci> x8 </ci>
+            </bvar>
+            <bvar>
+              <ci> x9 </ci>
+            </bvar>
+            <bvar>
+              <ci> x10 </ci>
+            </bvar>
+            <bvar>
+              <ci> x11 </ci>
+            </bvar>
+            <bvar>
+              <ci> x12 </ci>
+            </bvar>
+            <bvar>
+              <ci> x13 </ci>
+            </bvar>
+            <bvar>
+              <ci> x14 </ci>
+            </bvar>
+            <bvar>
+              <ci> x15 </ci>
+            </bvar>
+            <bvar>
+              <ci> x16 </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x0 </ci>
+                    <cn> 0.0952 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 0.0952 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x1 </ci>
+                    <cn> 1.523 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 1.523 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x2 </ci>
+                    <cn> 11.428 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 11.428 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x3 </ci>
+                    <cn> 53.32 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 53.32 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x4 </ci>
+                    <cn> 173.29 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 173.29 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x5 </ci>
+                    <cn> 415.898 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 415.898 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x6 </ci>
+                    <cn> 762.48 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 762.48 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x7 </ci>
+                    <cn> 1089.26 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 1089.26 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x8 </ci>
+                    <cn> 1225.415 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 1225.415 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x9 </ci>
+                    <cn> 1089.26 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 1089.26 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x10 </ci>
+                    <cn> 762.48 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 762.48 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x11 </ci>
+                    <cn> 415.898 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 415.898 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x12 </ci>
+                    <cn> 173.29 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 173.29 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x13 </ci>
+                    <cn> 53.32 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 53.32 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x14 </ci>
+                    <cn> 11.428 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 11.428 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x15 </ci>
+                    <cn> 1.523 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 1.523 </cn>
+              </apply>
+              <apply>
+                <divide/>
+                <apply>
+                  <power/>
+                  <apply>
+                    <minus/>
+                    <ci> x16 </ci>
+                    <cn> 0.0952 </cn>
+                  </apply>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+                <cn> 0.0952 </cn>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfParameters>
+      <parameter id="S" value="0" constant="false"/>
+      <parameter id="Q" value="0" constant="false"/>
+      <parameter id="R" value="0" constant="false"/>
+      <parameter id="reset" value="0" constant="false"/>
+      <parameter id="chicount" value="0" constant="false"/>
+      <parameter id="chitest" value="0" constant="false"/>
+      <parameter id="assemble" value="0" constant="false"/>
+      <parameter id="chi0" value="0" constant="false"/>
+      <parameter id="chi1" value="0" constant="false"/>
+      <parameter id="chi2" value="0" constant="false"/>
+      <parameter id="chi3" value="0" constant="false"/>
+      <parameter id="chi4" value="0" constant="false"/>
+      <parameter id="chi5" value="0" constant="false"/>
+      <parameter id="chi6" value="0" constant="false"/>
+      <parameter id="chi7" value="0" constant="false"/>
+      <parameter id="chi8" value="0" constant="false"/>
+      <parameter id="chi9" value="0" constant="false"/>
+      <parameter id="chi10" value="0" constant="false"/>
+      <parameter id="chi11" value="0" constant="false"/>
+      <parameter id="chi12" value="0" constant="false"/>
+      <parameter id="chi13" value="0" constant="false"/>
+      <parameter id="chi14" value="0" constant="false"/>
+      <parameter id="chi15" value="0" constant="false"/>
+      <parameter id="chi16" value="0" constant="false"/>
+      <parameter id="tests" value="0" constant="false"/>
+      <parameter id="finalchi" value="0" constant="false"/>
+      <parameter id="error" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="S">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> Q </ci>
+            <ci> R </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="Rinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="chicount">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chicount </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Qinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="chitest">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chitest </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="chicount">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chicount </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="repeat" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <floor/>
+                <apply>
+                  <divide/>
+                  <ci> chicount </ci>
+                  <cn type="integer"> 16 </cn>
+                </apply>
+              </apply>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 5 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="assemble">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="chicount">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 0 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi0">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi0 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi1 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi2 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E3" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 3 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E4" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 4 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi4 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E5" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 5 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi5">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi5 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E6" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 6 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi6">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi6 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E7" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 7 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi7">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi7 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E8" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 8 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi8">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi8 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E9" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 9 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi9">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi9 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E10" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 10 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi10">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi10 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E11" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 11 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi11">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi11 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E12" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 12 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi12">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi12 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E13" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 13 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi13">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi13 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E14" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 14 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi14">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi14 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E15" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 15 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi15">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi15 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E16" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> assemble </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> chitest </ci>
+                <cn type="integer"> 16 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="chi16">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> chi16 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E17" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> assemble </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="tests">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> tests </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="chitest">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="assemble">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E18" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <ci> tests </ci>
+                <cn type="integer"> 6240 </cn>
+              </apply>
+              <apply>
+                <eq/>
+                <ci> finalchi </ci>
+                <cn type="integer"> 0 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 0 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="finalchi">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <ci> calculateerror </ci>
+                <ci> chi0 </ci>
+                <ci> chi1 </ci>
+                <ci> chi2 </ci>
+                <ci> chi3 </ci>
+                <ci> chi4 </ci>
+                <ci> chi5 </ci>
+                <ci> chi6 </ci>
+                <ci> chi7 </ci>
+                <ci> chi8 </ci>
+                <ci> chi9 </ci>
+                <ci> chi10 </ci>
+                <ci> chi11 </ci>
+                <ci> chi12 </ci>
+                <ci> chi13 </ci>
+                <ci> chi14 </ci>
+                <ci> chi15 </ci>
+                <ci> chi16 </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="error_check" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> finalchi </ci>
+              <cn type="integer"> 50 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> -1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="error">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00966/00966-settings.txt b/models/sbml-test-suite/cases/semantic/00966/00966-settings.txt
new file mode 100644
index 0000000..db5688b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00966/00966-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1000
+steps: 1000
+variables: S, error
+absolute: 0.01
+relative: 0.01
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00966/00966-worksheet.xlsx b/models/sbml-test-suite/cases/semantic/00966/00966-worksheet.xlsx
new file mode 100644
index 0000000..66bb216
Binary files /dev/null and b/models/sbml-test-suite/cases/semantic/00966/00966-worksheet.xlsx differ
diff --git a/models/sbml-test-suite/cases/semantic/00967/00967-antimony.txt b/models/sbml-test-suite/cases/semantic/00967/00967-antimony.txt
new file mode 100644
index 0000000..5e73a7a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00967/00967-antimony.txt
@@ -0,0 +1,12 @@
+model case00967()
+
+  // Events:
+  Qinc: at (time - reset >= 0.01), priority = R, persistent=false: Q = Q + 0.01, reset = time;
+  Rinc: at (time - reset >= 0.01), priority = 5.001, persistent=false: R = R + 0.01, reset = time;
+
+  // Variable initializations:
+  Q = 0;
+  R = 0;
+  reset = 0;
+
+end
diff --git a/models/sbml-test-suite/cases/semantic/00967/00967-results.csv b/models/sbml-test-suite/cases/semantic/00967/00967-results.csv
new file mode 100644
index 0000000..d6fdff8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00967/00967-results.csv
@@ -0,0 +1,103 @@
+time,Q,R
+0,0,0
+0.099009901,0,0.09
+0.198019802,0,0.19
+0.297029703,0,0.29
+0.396039604,0,0.39
+0.495049505,0,0.49
+0.594059406,0,0.59
+0.693069307,0,0.69
+0.792079208,0,0.79
+0.891089109,0,0.89
+0.99009901,0,0.99
+1.089108911,0,1.08
+1.188118812,0,1.18
+1.287128713,0,1.28
+1.386138614,0,1.38
+1.485148515,0,1.48
+1.584158416,0,1.58
+1.683168317,0,1.68
+1.782178218,0,1.78
+1.881188119,0,1.88
+1.98019802,0,1.98
+2.079207921,0,2.07
+2.178217822,0,2.17
+2.277227723,0,2.27
+2.376237624,0,2.37
+2.475247525,0,2.47
+2.574257426,0,2.57
+2.673267327,0,2.67
+2.772277228,0,2.77
+2.871287129,0,2.87
+2.97029703,0,2.97
+3.069306931,0,3.06
+3.168316832,0,3.16
+3.267326733,0,3.26
+3.366336634,0,3.36
+3.465346535,0,3.46
+3.564356436,0,3.56
+3.663366337,0,3.66
+3.762376238,0,3.76
+3.861386139,0,3.86
+3.96039604,0,3.96
+4.059405941,0,4.05
+4.158415842,0,4.15
+4.257425743,0,4.25
+4.356435644,0,4.35
+4.455445545,0,4.45
+4.554455446,0,4.55
+4.653465347,0,4.65
+4.752475248,0,4.75
+4.851485149,0,4.85
+4.95049505,0,4.95
+5.04950495,0.04,5
+5.148514851,0.14,5
+5.247524752,0.24,5
+5.346534653,0.34,5
+5.445544554,0.44,5
+5.544554455,0.54,5
+5.643564356,0.64,5
+5.742574257,0.74,5
+5.841584158,0.84,5
+5.940594059,0.94,5
+6.03960396,1.03,5
+6.138613861,1.13,5
+6.237623762,1.23,5
+6.336633663,1.33,5
+6.435643564,1.43,5
+6.534653465,1.53,5
+6.633663366,1.63,5
+6.732673267,1.73,5
+6.831683168,1.83,5
+6.930693069,1.93,5
+7.02970297,2.02,5
+7.128712871,2.12,5
+7.227722772,2.22,5
+7.326732673,2.32,5
+7.425742574,2.42,5
+7.524752475,2.52,5
+7.623762376,2.62,5
+7.722772277,2.72,5
+7.821782178,2.82,5
+7.920792079,2.92,5
+8.01980198,3.01,5
+8.118811881,3.11,5
+8.217821782,3.21,5
+8.316831683,3.31,5
+8.415841584,3.41,5
+8.514851485,3.51,5
+8.613861386,3.61,5
+8.712871287,3.71,5
+8.811881188,3.81,5
+8.910891089,3.91,5
+9.00990099,4,5
+9.108910891,4.1,5
+9.207920792,4.2,5
+9.306930693,4.3,5
+9.405940594,4.4,5
+9.504950495,4.5,5
+9.603960396,4.6,5
+9.702970297,4.7,5
+9.801980198,4.8,5
+9.900990099,4.9,5
+10,5,5
diff --git a/models/sbml-test-suite/cases/semantic/00967/00967-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00967/00967-sbml-l3v1.xml
new file mode 100644
index 0000000..735ff85
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00967/00967-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00967" name="case00967">
+    <listOfParameters>
+      <parameter id="reset" value="0" constant="false"/>
+      <parameter id="Q" value="0" constant="false"/>
+      <parameter id="R" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfEvents>
+      <event id="Qinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="Q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> Q </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="Rinc" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <apply>
+                <minus/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> reset </ci>
+              </apply>
+              <cn> 0.01 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 5.001 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="reset">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="R">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> R </ci>
+                <cn> 0.01 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00967/00967-settings.txt b/models/sbml-test-suite/cases/semantic/00967/00967-settings.txt
new file mode 100644
index 0000000..aff564c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00967/00967-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 101
+variables: Q, R
+absolute: 0.01
+relative: 0.01
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00968/00968-results.csv b/models/sbml-test-suite/cases/semantic/00968/00968-results.csv
new file mode 100644
index 0000000..6212877
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00968/00968-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,0
+0.1,0.3
+0.2,0.6
+0.3,0.9
+0.4,1.2
+0.5,1.5
+0.6,1.8
+0.7,2.1
+0.8,2.4
+0.9,2.7
+1,3
+1.1,3.3
+1.2,3.6
+1.3,3.9
+1.4,4.2
+1.5,4.5
+1.6,4.8
+1.7,5.1
+1.8,5.4
+1.9,5.7
+2,6
+2.1,6.3
+2.2,6.6
+2.3,6.9
+2.4,7.2
+2.5,7.5
+2.6,7.8
+2.7,8.1
+2.8,8.4
+2.9,8.7
+3,9
+3.1,9.3
+3.2,9.6
+3.3,9.9
+3.4,10.2
+3.5,10.5
+3.6,10.8
+3.7,11.1
+3.8,11.4
+3.9,11.7
+4,12
+4.1,12.3
+4.2,12.6
+4.3,12.9
+4.4,13.2
+4.5,13.5
+4.6,13.8
+4.7,14.1
+4.8,14.4
+4.9,14.7
+5,15
+5.1,15.3
+5.2,15.6
+5.3,15.9
+5.4,16.2
+5.5,16.5
+5.6,16.8
+5.7,17.1
+5.8,17.4
+5.9,17.7
+6,18
+6.1,18.3
+6.2,18.6
+6.3,18.9
+6.4,19.2
+6.5,19.5
+6.6,19.8
+6.7,20.1
+6.8,20.4
+6.9,20.7
+7,21
+7.1,21.3
+7.2,21.6
+7.3,21.9
+7.4,22.2
+7.5,22.5
+7.6,22.8
+7.7,23.1
+7.8,23.4
+7.9,23.7
+8,24
+8.1,24.3
+8.2,24.6
+8.3,24.9
+8.4,25.2
+8.5,25.5
+8.6,25.8
+8.7,26.1
+8.8,26.4
+8.9,26.7
+9,27
+9.1,27.3
+9.2,27.6
+9.3,27.9
+9.4,28.2
+9.5,28.5
+9.6,28.8
+9.7,29.1
+9.8,29.4
+9.9,29.7
+10,30
diff --git a/models/sbml-test-suite/cases/semantic/00968/00968-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00968/00968-sbml-l2v4.xml
new file mode 100644
index 0000000..67af219
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00968/00968-sbml-l2v4.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00968" name="case00968">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialAmount="0"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn type="integer"> 3 </cn>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00968/00968-settings.txt b/models/sbml-test-suite/cases/semantic/00968/00968-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00968/00968-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00969/00969-results.csv b/models/sbml-test-suite/cases/semantic/00969/00969-results.csv
new file mode 100644
index 0000000..6212877
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00969/00969-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,0
+0.1,0.3
+0.2,0.6
+0.3,0.9
+0.4,1.2
+0.5,1.5
+0.6,1.8
+0.7,2.1
+0.8,2.4
+0.9,2.7
+1,3
+1.1,3.3
+1.2,3.6
+1.3,3.9
+1.4,4.2
+1.5,4.5
+1.6,4.8
+1.7,5.1
+1.8,5.4
+1.9,5.7
+2,6
+2.1,6.3
+2.2,6.6
+2.3,6.9
+2.4,7.2
+2.5,7.5
+2.6,7.8
+2.7,8.1
+2.8,8.4
+2.9,8.7
+3,9
+3.1,9.3
+3.2,9.6
+3.3,9.9
+3.4,10.2
+3.5,10.5
+3.6,10.8
+3.7,11.1
+3.8,11.4
+3.9,11.7
+4,12
+4.1,12.3
+4.2,12.6
+4.3,12.9
+4.4,13.2
+4.5,13.5
+4.6,13.8
+4.7,14.1
+4.8,14.4
+4.9,14.7
+5,15
+5.1,15.3
+5.2,15.6
+5.3,15.9
+5.4,16.2
+5.5,16.5
+5.6,16.8
+5.7,17.1
+5.8,17.4
+5.9,17.7
+6,18
+6.1,18.3
+6.2,18.6
+6.3,18.9
+6.4,19.2
+6.5,19.5
+6.6,19.8
+6.7,20.1
+6.8,20.4
+6.9,20.7
+7,21
+7.1,21.3
+7.2,21.6
+7.3,21.9
+7.4,22.2
+7.5,22.5
+7.6,22.8
+7.7,23.1
+7.8,23.4
+7.9,23.7
+8,24
+8.1,24.3
+8.2,24.6
+8.3,24.9
+8.4,25.2
+8.5,25.5
+8.6,25.8
+8.7,26.1
+8.8,26.4
+8.9,26.7
+9,27
+9.1,27.3
+9.2,27.6
+9.3,27.9
+9.4,28.2
+9.5,28.5
+9.6,28.8
+9.7,29.1
+9.8,29.4
+9.9,29.7
+10,30
diff --git a/models/sbml-test-suite/cases/semantic/00969/00969-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00969/00969-sbml-l3v1.xml
new file mode 100644
index 0000000..a4fb9db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00969/00969-sbml-l3v1.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00969" name="case00969">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="Xref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 3 </cn>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" stoichiometry="1" species="X" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00969/00969-settings.txt b/models/sbml-test-suite/cases/semantic/00969/00969-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00969/00969-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00970/00970-results.csv b/models/sbml-test-suite/cases/semantic/00970/00970-results.csv
new file mode 100644
index 0000000..6212877
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00970/00970-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,0
+0.1,0.3
+0.2,0.6
+0.3,0.9
+0.4,1.2
+0.5,1.5
+0.6,1.8
+0.7,2.1
+0.8,2.4
+0.9,2.7
+1,3
+1.1,3.3
+1.2,3.6
+1.3,3.9
+1.4,4.2
+1.5,4.5
+1.6,4.8
+1.7,5.1
+1.8,5.4
+1.9,5.7
+2,6
+2.1,6.3
+2.2,6.6
+2.3,6.9
+2.4,7.2
+2.5,7.5
+2.6,7.8
+2.7,8.1
+2.8,8.4
+2.9,8.7
+3,9
+3.1,9.3
+3.2,9.6
+3.3,9.9
+3.4,10.2
+3.5,10.5
+3.6,10.8
+3.7,11.1
+3.8,11.4
+3.9,11.7
+4,12
+4.1,12.3
+4.2,12.6
+4.3,12.9
+4.4,13.2
+4.5,13.5
+4.6,13.8
+4.7,14.1
+4.8,14.4
+4.9,14.7
+5,15
+5.1,15.3
+5.2,15.6
+5.3,15.9
+5.4,16.2
+5.5,16.5
+5.6,16.8
+5.7,17.1
+5.8,17.4
+5.9,17.7
+6,18
+6.1,18.3
+6.2,18.6
+6.3,18.9
+6.4,19.2
+6.5,19.5
+6.6,19.8
+6.7,20.1
+6.8,20.4
+6.9,20.7
+7,21
+7.1,21.3
+7.2,21.6
+7.3,21.9
+7.4,22.2
+7.5,22.5
+7.6,22.8
+7.7,23.1
+7.8,23.4
+7.9,23.7
+8,24
+8.1,24.3
+8.2,24.6
+8.3,24.9
+8.4,25.2
+8.5,25.5
+8.6,25.8
+8.7,26.1
+8.8,26.4
+8.9,26.7
+9,27
+9.1,27.3
+9.2,27.6
+9.3,27.9
+9.4,28.2
+9.5,28.5
+9.6,28.8
+9.7,29.1
+9.8,29.4
+9.9,29.7
+10,30
diff --git a/models/sbml-test-suite/cases/semantic/00970/00970-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00970/00970-sbml-l3v1.xml
new file mode 100644
index 0000000..e59c5cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00970/00970-sbml-l3v1.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00970" name="case00970">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="Xref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 3 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00970/00970-settings.txt b/models/sbml-test-suite/cases/semantic/00970/00970-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00970/00970-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00971/00971-results.csv b/models/sbml-test-suite/cases/semantic/00971/00971-results.csv
new file mode 100644
index 0000000..6212877
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00971/00971-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,0
+0.1,0.3
+0.2,0.6
+0.3,0.9
+0.4,1.2
+0.5,1.5
+0.6,1.8
+0.7,2.1
+0.8,2.4
+0.9,2.7
+1,3
+1.1,3.3
+1.2,3.6
+1.3,3.9
+1.4,4.2
+1.5,4.5
+1.6,4.8
+1.7,5.1
+1.8,5.4
+1.9,5.7
+2,6
+2.1,6.3
+2.2,6.6
+2.3,6.9
+2.4,7.2
+2.5,7.5
+2.6,7.8
+2.7,8.1
+2.8,8.4
+2.9,8.7
+3,9
+3.1,9.3
+3.2,9.6
+3.3,9.9
+3.4,10.2
+3.5,10.5
+3.6,10.8
+3.7,11.1
+3.8,11.4
+3.9,11.7
+4,12
+4.1,12.3
+4.2,12.6
+4.3,12.9
+4.4,13.2
+4.5,13.5
+4.6,13.8
+4.7,14.1
+4.8,14.4
+4.9,14.7
+5,15
+5.1,15.3
+5.2,15.6
+5.3,15.9
+5.4,16.2
+5.5,16.5
+5.6,16.8
+5.7,17.1
+5.8,17.4
+5.9,17.7
+6,18
+6.1,18.3
+6.2,18.6
+6.3,18.9
+6.4,19.2
+6.5,19.5
+6.6,19.8
+6.7,20.1
+6.8,20.4
+6.9,20.7
+7,21
+7.1,21.3
+7.2,21.6
+7.3,21.9
+7.4,22.2
+7.5,22.5
+7.6,22.8
+7.7,23.1
+7.8,23.4
+7.9,23.7
+8,24
+8.1,24.3
+8.2,24.6
+8.3,24.9
+8.4,25.2
+8.5,25.5
+8.6,25.8
+8.7,26.1
+8.8,26.4
+8.9,26.7
+9,27
+9.1,27.3
+9.2,27.6
+9.3,27.9
+9.4,28.2
+9.5,28.5
+9.6,28.8
+9.7,29.1
+9.8,29.4
+9.9,29.7
+10,30
diff --git a/models/sbml-test-suite/cases/semantic/00971/00971-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00971/00971-sbml-l3v1.xml
new file mode 100644
index 0000000..9f78299
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00971/00971-sbml-l3v1.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00971" name="case00971">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="Xref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 3 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" stoichiometry="1" species="X" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00971/00971-settings.txt b/models/sbml-test-suite/cases/semantic/00971/00971-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00971/00971-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00972/00972-results.csv b/models/sbml-test-suite/cases/semantic/00972/00972-results.csv
new file mode 100644
index 0000000..bace292
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00972/00972-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,0
+0.1,0.1
+0.2,0.2
+0.3,0.3
+0.4,0.4
+0.5,0.5
+0.6,0.6
+0.7,0.7
+0.8,0.8
+0.9,0.9
+1,1
+1.1,1.1
+1.2,1.2
+1.3,1.3
+1.4,1.4
+1.5,1.5
+1.6,1.6
+1.7,1.7
+1.8,1.8
+1.9,1.9
+2,2
+2.1,2.1
+2.2,2.2
+2.3,2.3
+2.4,2.4
+2.5,2.5
+2.6,2.6
+2.7,2.7
+2.8,2.8
+2.9,2.9
+3,3
+3.1,3.1
+3.2,3.2
+3.3,3.3
+3.4,3.4
+3.5,3.5
+3.6,3.6
+3.7,3.7
+3.8,3.8
+3.9,3.9
+4,4
+4.1,4.1
+4.2,4.2
+4.3,4.3
+4.4,4.4
+4.5,4.5
+4.6,4.6
+4.7,4.7
+4.8,4.8
+4.9,4.9
+5,5
+5.1,5.3
+5.2,5.6
+5.3,5.9
+5.4,6.2
+5.5,6.5
+5.6,6.8
+5.7,7.1
+5.8,7.4
+5.9,7.7
+6,8
+6.1,8.3
+6.2,8.6
+6.3,8.9
+6.4,9.2
+6.5,9.5
+6.6,9.8
+6.7,10.1
+6.8,10.4
+6.9,10.7
+7,11
+7.1,11.3
+7.2,11.6
+7.3,11.9
+7.4,12.2
+7.5,12.5
+7.6,12.8
+7.7,13.1
+7.8,13.4
+7.9,13.7
+8,14
+8.1,14.3
+8.2,14.6
+8.3,14.9
+8.4,15.2
+8.5,15.5
+8.6,15.8
+8.7,16.1
+8.8,16.4
+8.9,16.7
+9,17
+9.1,17.3
+9.2,17.6
+9.3,17.9
+9.4,18.2
+9.5,18.5
+9.6,18.8
+9.7,19.1
+9.8,19.4
+9.9,19.7
+10,20
diff --git a/models/sbml-test-suite/cases/semantic/00972/00972-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00972/00972-sbml-l3v1.xml
new file mode 100644
index 0000000..562d911
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00972/00972-sbml-l3v1.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00972" name="case00972">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> X </ci>
+              <cn type="integer"> 5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="Xref">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 3 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00972/00972-settings.txt b/models/sbml-test-suite/cases/semantic/00972/00972-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00972/00972-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00973/00973-results.csv b/models/sbml-test-suite/cases/semantic/00973/00973-results.csv
new file mode 100644
index 0000000..7e967b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00973/00973-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,0
+0.1,0.10005
+0.2,0.2002
+0.3,0.30045
+0.4,0.4008
+0.5,0.50125
+0.6,0.6018
+0.7,0.70245
+0.8,0.8032
+0.9,0.90405
+1,1.005
+1.1,1.10605
+1.2,1.2072
+1.3,1.30845
+1.4,1.4098
+1.5,1.51125
+1.6,1.6128
+1.7,1.71445
+1.8,1.8162
+1.9,1.91805
+2,2.02
+2.1,2.12205
+2.2,2.2242
+2.3,2.32645
+2.4,2.4288
+2.5,2.53125
+2.6,2.6338
+2.7,2.73645
+2.8,2.8392
+2.9,2.94205
+3,3.045
+3.1,3.14805
+3.2,3.2512
+3.3,3.35445
+3.4,3.4578
+3.5,3.56125
+3.6,3.6648
+3.7,3.76845
+3.8,3.8722
+3.9,3.97605
+4,4.08
+4.1,4.18405
+4.2,4.2882
+4.3,4.39245
+4.4,4.4968
+4.5,4.60125
+4.6,4.7058
+4.7,4.81045
+4.8,4.9152
+4.9,5.02005
+5,5.125
+5.1,5.23005
+5.2,5.3352
+5.3,5.44045
+5.4,5.5458
+5.5,5.65125
+5.6,5.7568
+5.7,5.86245
+5.8,5.9682
+5.9,6.07405
+6,6.18
+6.1,6.28605
+6.2,6.3922
+6.3,6.49845
+6.4,6.6048
+6.5,6.71125
+6.6,6.8178
+6.7,6.92445
+6.8,7.0312
+6.9,7.13805
+7,7.245
+7.1,7.35205
+7.2,7.4592
+7.3,7.56645
+7.4,7.6738
+7.5,7.78125
+7.6,7.8888
+7.7,7.99645
+7.8,8.1042
+7.9,8.21205
+8,8.32
+8.1,8.42805
+8.2,8.5362
+8.3,8.64445
+8.4,8.7528
+8.5,8.86125
+8.6,8.9698
+8.7,9.07845
+8.8,9.1872
+8.9,9.29605
+9,9.405
+9.1,9.51405
+9.2,9.6232
+9.3,9.73245
+9.4,9.8418
+9.5,9.95125
+9.6,10.0608
+9.7,10.17045
+9.8,10.2802
+9.9,10.39005
+10,10.5
diff --git a/models/sbml-test-suite/cases/semantic/00973/00973-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00973/00973-sbml-l2v4.xml
new file mode 100644
index 0000000..187381e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00973/00973-sbml-l2v4.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00973" name="case00973">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="0"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="false"/>
+      <parameter id="parameterId_0"  value="1"  constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="parameterId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.01 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <ci> parameterId_0 </ci>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00973/00973-settings.txt b/models/sbml-test-suite/cases/semantic/00973/00973-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00973/00973-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00974/00974-results.csv b/models/sbml-test-suite/cases/semantic/00974/00974-results.csv
new file mode 100644
index 0000000..5655336
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00974/00974-results.csv
@@ -0,0 +1,102 @@
+time,X,Y,Z,Q
+0,0,0,1,1
+0.1,0.1,0.1,1,1
+0.2,0.2,0.2,1,1
+0.3,0.3,0.3,1,1
+0.4,0.4,0.4,1,1
+0.5,0.5,0.5,1,1
+0.6,0.6,0.6,1,1
+0.7,0.7,0.7,1,1
+0.8,0.8,0.8,1,1
+0.9,0.9,0.9,1,1
+1,1,1,1,1
+1.1,1.1,1.1,1,1
+1.2,1.2,1.2,1,1
+1.3,1.3,1.3,1,1
+1.4,1.4,1.4,1,1
+1.5,1.5,1.5,1,1
+1.6,1.6,1.6,1,1
+1.7,1.7,1.7,1,1
+1.8,1.8,1.8,1,1
+1.9,1.9,1.9,1,1
+2,2,2,1,1
+2.1,2.1,2.1,1,1
+2.2,2.2,2.2,1,1
+2.3,2.3,2.3,1,1
+2.4,2.4,2.4,1,1
+2.5,2.5,2.5,1,1
+2.6,2.6,2.6,1,1
+2.7,2.7,2.7,1,1
+2.8,2.8,2.8,1,1
+2.9,2.9,2.9,1,1
+3,3,3,1,1
+3.1,3.1,3.1,1,1
+3.2,3.2,3.2,1,1
+3.3,3.3,3.3,1,1
+3.4,3.4,3.4,1,1
+3.5,3.5,3.5,1,1
+3.6,3.6,3.6,1,1
+3.7,3.7,3.7,1,1
+3.8,3.8,3.8,1,1
+3.9,3.9,3.9,1,1
+4,4,4,1,1
+4.1,4.1,4.1,1,1
+4.2,4.2,4.2,1,1
+4.3,4.3,4.3,1,1
+4.4,4.4,4.4,1,1
+4.5,4.5,4.5,1,1
+4.6,4.6,4.6,1,1
+4.7,4.7,4.7,1,1
+4.8,4.8,4.8,1,1
+4.9,4.9,4.9,1,1
+5,5,5,1,1
+5.1,5.1,5.1,1,1
+5.2,5.2,5.2,1,1
+5.3,5.3,5.3,1,1
+5.4,5.4,5.4,1,1
+5.5,5.5,5.5,1,1
+5.6,5.6,5.6,1,1
+5.7,5.7,5.7,1,1
+5.8,5.8,5.8,1,1
+5.9,5.9,5.9,1,1
+6,6,6,1,1
+6.1,6.1,6.1,1,1
+6.2,6.2,6.2,1,1
+6.3,6.3,6.3,1,1
+6.4,6.4,6.4,1,1
+6.5,6.5,6.5,1,1
+6.6,6.6,6.6,1,1
+6.7,6.7,6.7,1,1
+6.8,6.8,6.8,1,1
+6.9,6.9,6.9,1,1
+7,7,7,1,1
+7.1,7.1,7.1,1,1
+7.2,7.2,7.2,1,1
+7.3,7.3,7.3,1,1
+7.4,7.4,7.4,1,1
+7.5,7.5,7.5,1,1
+7.6,7.6,7.6,1,1
+7.7,7.7,7.7,1,1
+7.8,7.8,7.8,1,1
+7.9,7.9,7.9,1,1
+8,8,8,1,1
+8.1,8.1,8.1,1,1
+8.2,8.2,8.2,1,1
+8.3,8.3,8.3,1,1
+8.4,8.4,8.4,1,1
+8.5,8.5,8.5,1,1
+8.6,8.6,8.6,1,1
+8.7,8.7,8.7,1,1
+8.8,8.8,8.8,1,1
+8.9,8.9,8.9,1,1
+9,9,9,1,1
+9.1,9.1,9.1,1,1
+9.2,9.2,9.2,1,1
+9.3,9.3,9.3,1,1
+9.4,9.4,9.4,1,1
+9.5,9.5,9.5,1,1
+9.6,9.6,9.6,1,1
+9.7,9.7,9.7,1,1
+9.8,9.8,9.8,1,1
+9.9,9.9,9.9,1,1
+10,10,10,1,1
diff --git a/models/sbml-test-suite/cases/semantic/00974/00974-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00974/00974-sbml-l3v1.xml
new file mode 100644
index 0000000..6d2f81a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00974/00974-sbml-l3v1.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00974" name="case00974">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Y" value="0" constant="false"/>
+      <parameter id="Z" value="0" constant="false"/>
+      <parameter id="Q" value="0" constant="true"/>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="Q">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> Xref </ci>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule variable="Y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> Xref </ci>
+        </math>
+      </rateRule>
+      <assignmentRule variable="Z">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> Xref </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00974/00974-settings.txt b/models/sbml-test-suite/cases/semantic/00974/00974-settings.txt
new file mode 100644
index 0000000..9e23361
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00974/00974-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X, Y, Z, Q
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00975/00975-results.csv b/models/sbml-test-suite/cases/semantic/00975/00975-results.csv
new file mode 100644
index 0000000..0206e5a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00975/00975-results.csv
@@ -0,0 +1,102 @@
+time,S1,S2
+0,0,0.001
+0.1,0.057887068,0.394633967
+0.2,0.097867145,0.63972091
+0.3,0.125037622,0.794193936
+0.4,0.143261517,0.89252954
+0.5,0.155372093,0.955594839
+0.6,0.163368979,0.996255363
+0.7,0.168626772,1.022567373
+0.8,0.172073705,1.039636926
+0.9,0.174329141,1.050729166
+1,0.175803082,1.057945233
+1.1,0.176765511,1.062643109
+1.2,0.177393601,1.065703045
+1.3,0.177803352,1.06769675
+1.4,0.178070602,1.068996021
+1.5,0.178244883,1.069842852
+1.6,0.178358525,1.070394845
+1.7,0.178432621,1.070754672
+1.8,0.178480932,1.070989241
+1.9,0.178512429,1.071142159
+2,0.178532964,1.07124185
+2.1,0.178546352,1.071306841
+2.2,0.17855508,1.071349211
+2.3,0.17856077,1.071376833
+2.4,0.17856448,1.071394841
+2.5,0.178566898,1.071406581
+2.6,0.178568475,1.071414235
+2.7,0.178569503,1.071419225
+2.8,0.178570173,1.071422478
+2.9,0.17857061,1.071424599
+3,0.178570895,1.071425982
+3.1,0.178571081,1.071426883
+3.2,0.178571202,1.071427471
+3.3,0.178571281,1.071427854
+3.4,0.178571332,1.071428104
+3.5,0.178571366,1.071428266
+3.6,0.178571388,1.071428373
+3.7,0.178571402,1.071428442
+3.8,0.178571411,1.071428487
+3.9,0.178571417,1.071428516
+4,0.178571421,1.071428536
+4.1,0.178571424,1.071428548
+4.2,0.178571425,1.071428556
+4.3,0.178571427,1.071428561
+4.4,0.178571427,1.071428565
+4.5,0.178571428,1.071428567
+4.6,0.178571428,1.071428569
+4.7,0.178571428,1.07142857
+4.8,0.178571428,1.07142857
+4.9,0.178571428,1.071428571
+5,0.178571428,1.071428571
+5.1,0.178571429,1.071428571
+5.2,0.178571429,1.071428571
+5.3,0.178571429,1.071428571
+5.4,0.178571429,1.071428571
+5.5,0.178571429,1.071428571
+5.6,0.178571429,1.071428571
+5.7,0.178571429,1.071428571
+5.8,0.178571429,1.071428571
+5.9,0.178571429,1.071428571
+6,0.178571429,1.071428571
+6.1,0.178571429,1.071428571
+6.2,0.178571429,1.071428571
+6.3,0.178571429,1.071428571
+6.4,0.178571429,1.071428571
+6.5,0.178571429,1.071428571
+6.6,0.178571429,1.071428571
+6.7,0.178571429,1.071428571
+6.8,0.178571429,1.071428571
+6.9,0.178571429,1.071428571
+7,0.178571429,1.071428571
+7.1,0.178571429,1.071428571
+7.2,0.178571429,1.071428571
+7.3,0.178571429,1.071428571
+7.4,0.178571429,1.071428571
+7.5,0.178571429,1.071428571
+7.6,0.178571429,1.071428571
+7.7,0.178571429,1.071428571
+7.8,0.178571429,1.071428571
+7.9,0.178571429,1.071428571
+8,0.178571429,1.071428571
+8.1,0.178571429,1.071428571
+8.2,0.178571429,1.071428571
+8.3,0.178571429,1.071428571
+8.4,0.178571429,1.071428571
+8.5,0.178571429,1.071428571
+8.6,0.178571429,1.071428571
+8.7,0.178571429,1.071428571
+8.8,0.178571429,1.071428571
+8.9,0.178571429,1.071428571
+9,0.178571429,1.071428571
+9.1,0.178571429,1.071428571
+9.2,0.178571429,1.071428571
+9.3,0.178571429,1.071428571
+9.4,0.178571429,1.071428571
+9.5,0.178571429,1.071428571
+9.6,0.178571429,1.071428571
+9.7,0.178571429,1.071428571
+9.8,0.178571429,1.071428571
+9.9,0.178571429,1.071428571
+10,0.178571429,1.071428571
diff --git a/models/sbml-test-suite/cases/semantic/00975/00975-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00975/00975-sbml-l3v1.xml
new file mode 100644
index 0000000..261d974
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00975/00975-sbml-l3v1.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 11:28 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00975" name="case00975" conversionFactor="modelconv">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialAmount="0.001" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+      <parameter id="k2" value="3" constant="true"/>
+      <parameter id="k3" value="1.4" constant="true"/>
+      <parameter id="S1conv" value="3" constant="true"/>
+      <parameter id="modelconv" value="4" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="3" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> k2 </ci>
+                <ci> S1 </ci>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00975/00975-settings.txt b/models/sbml-test-suite/cases/semantic/00975/00975-settings.txt
new file mode 100644
index 0000000..2eccbf3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00975/00975-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: S1, S2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00976/00976-results.csv b/models/sbml-test-suite/cases/semantic/00976/00976-results.csv
new file mode 100644
index 0000000..ea6d678
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00976/00976-results.csv
@@ -0,0 +1,102 @@
+time,S1,S2
+0,0,0.001
+0.1,0.053652186,0.379096494
+0.2,0.092004084,0.618162126
+0.3,0.119015127,0.771837291
+0.4,0.137808014,0.872008705
+0.5,0.150770481,0.938011044
+0.6,0.159657668,0.98184809
+0.7,0.165725567,1.011131391
+0.8,0.169856797,1.030772294
+0.9,0.172664044,1.043983129
+1,0.174569116,1.052886325
+1.1,0.175860797,1.058894495
+1.2,0.176736057,1.062952708
+1.3,0.177328901,1.065695528
+1.4,0.177730345,1.067550098
+1.5,0.17800213,1.068804433
+1.6,0.178186112,1.069652964
+1.7,0.178310644,1.070227054
+1.8,0.178394933,1.070615499
+1.9,0.17845198,1.070878349
+2,0.178490589,1.071056218
+2.1,0.178516719,1.071176585
+2.2,0.178534404,1.071258041
+2.3,0.178546371,1.071313165
+2.4,0.178554471,1.07135047
+2.5,0.178559952,1.071375716
+2.6,0.178563662,1.071392802
+2.7,0.178566172,1.071404364
+2.8,0.178567871,1.071412189
+2.9,0.178569021,1.071417485
+3,0.178569799,1.071421068
+3.1,0.178570326,1.071423494
+3.2,0.178570682,1.071425135
+3.3,0.178570924,1.071426246
+3.4,0.178571087,1.071426998
+3.5,0.178571197,1.071427506
+3.6,0.178571272,1.071427851
+3.7,0.178571323,1.071428084
+3.8,0.178571357,1.071428241
+3.9,0.17857138,1.071428348
+4,0.178571396,1.07142842
+4.1,0.178571406,1.071428469
+4.2,0.178571414,1.071428502
+4.3,0.178571418,1.071428525
+4.4,0.178571422,1.07142854
+4.5,0.178571424,1.07142855
+4.6,0.178571425,1.071428557
+4.7,0.178571426,1.071428562
+4.8,0.178571427,1.071428565
+4.9,0.178571428,1.071428567
+5,0.178571428,1.071428568
+5.1,0.178571428,1.071428569
+5.2,0.178571428,1.07142857
+5.3,0.178571428,1.07142857
+5.4,0.178571428,1.071428571
+5.5,0.178571428,1.071428571
+5.6,0.178571429,1.071428571
+5.7,0.178571429,1.071428571
+5.8,0.178571429,1.071428571
+5.9,0.178571429,1.071428571
+6,0.178571429,1.071428571
+6.1,0.178571429,1.071428571
+6.2,0.178571429,1.071428571
+6.3,0.178571429,1.071428571
+6.4,0.178571429,1.071428571
+6.5,0.178571429,1.071428571
+6.6,0.178571429,1.071428571
+6.7,0.178571429,1.071428571
+6.8,0.178571429,1.071428571
+6.9,0.178571429,1.071428571
+7,0.178571429,1.071428571
+7.1,0.178571429,1.071428571
+7.2,0.178571429,1.071428571
+7.3,0.178571429,1.071428571
+7.4,0.178571429,1.071428571
+7.5,0.178571429,1.071428571
+7.6,0.178571429,1.071428571
+7.7,0.178571429,1.071428571
+7.8,0.178571429,1.071428571
+7.9,0.178571429,1.071428571
+8,0.178571429,1.071428571
+8.1,0.178571429,1.071428571
+8.2,0.178571429,1.071428571
+8.3,0.178571429,1.071428571
+8.4,0.178571429,1.071428571
+8.5,0.178571429,1.071428571
+8.6,0.178571429,1.071428571
+8.7,0.178571429,1.071428571
+8.8,0.178571429,1.071428571
+8.9,0.178571429,1.071428571
+9,0.178571429,1.071428571
+9.1,0.178571429,1.071428571
+9.2,0.178571429,1.071428571
+9.3,0.178571429,1.071428571
+9.4,0.178571429,1.071428571
+9.5,0.178571429,1.071428571
+9.6,0.178571429,1.071428571
+9.7,0.178571429,1.071428571
+9.8,0.178571429,1.071428571
+9.9,0.178571429,1.071428571
+10,0.178571429,1.071428571
diff --git a/models/sbml-test-suite/cases/semantic/00976/00976-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00976/00976-sbml-l3v1.xml
new file mode 100644
index 0000000..ee42cd0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00976/00976-sbml-l3v1.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 11:28 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00976" name="case00976" conversionFactor="modelconv">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" conversionFactor="S1conv" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="0.001" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+      <parameter id="k2" value="3" constant="true"/>
+      <parameter id="k3" value="1.4" constant="true"/>
+      <parameter id="S1conv" value="3" constant="true"/>
+      <parameter id="modelconv" value="4" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="3" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> k2 </ci>
+                <ci> S1 </ci>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00976/00976-settings.txt b/models/sbml-test-suite/cases/semantic/00976/00976-settings.txt
new file mode 100644
index 0000000..2eccbf3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00976/00976-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: S1, S2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00977/00977-results.csv b/models/sbml-test-suite/cases/semantic/00977/00977-results.csv
new file mode 100644
index 0000000..21b3243
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00977/00977-results.csv
@@ -0,0 +1,102 @@
+time,S1,S2
+0,0,0.001
+0.1,0.020483491,0.131302767
+0.2,0.038612305,0.245675377
+0.3,0.054748694,0.346034626
+0.4,0.06909398,0.434117406
+0.5,0.081832679,0.511441534
+0.6,0.093133196,0.579334052
+0.7,0.103148648,0.638955761
+0.8,0.112017761,0.691322524
+0.9,0.119865836,0.737323747
+1,0.126805722,0.777738449
+1.1,0.13293879,0.813249224
+1.2,0.138355894,0.844454394
+1.3,0.143138291,0.871878589
+1.4,0.147358516,0.895981962
+1.5,0.151081216,0.917168232
+1.6,0.154363914,0.935791689
+1.7,0.157257733,0.952163326
+1.8,0.159808049,0.966556182
+1.9,0.162055097,0.979210022
+2,0.164034517,0.990335429
+2.1,0.165777856,1.000117382
+2.2,0.167313015,1.008718393
+2.3,0.168664654,1.016281253
+2.4,0.169854558,1.022931439
+2.5,0.170901958,1.028779223
+2.6,0.171823828,1.033921525
+2.7,0.17263514,1.038443536
+2.8,0.173349096,1.04242014
+2.9,0.173977335,1.045917167
+3,0.174530114,1.048992492
+3.1,0.175016471,1.051696997
+3.2,0.175444367,1.054075416
+3.3,0.175820813,1.056167084
+3.4,0.176151983,1.058006586
+3.5,0.176443313,1.059624333
+3.6,0.176699589,1.061047065
+3.7,0.176925022,1.062298299
+3.8,0.177123321,1.06339871
+3.9,0.177297747,1.064366484
+4,0.177451173,1.065217609
+4.1,0.177586124,1.065966149
+4.2,0.177704824,1.06662447
+4.3,0.177809228,1.067203446
+4.4,0.177901057,1.067712643
+4.5,0.177981825,1.06816047
+4.6,0.178052864,1.068554325
+4.7,0.178115346,1.068900713
+4.8,0.1781703,1.069205355
+4.9,0.178218633,1.069473282
+5,0.178261144,1.06970892
+5.1,0.178298532,1.06991616
+5.2,0.178331416,1.070098424
+5.3,0.178360338,1.070258723
+5.4,0.178385774,1.070399703
+5.5,0.178408146,1.070523694
+5.6,0.178427822,1.070632742
+5.7,0.178445128,1.070728648
+5.8,0.178460347,1.070812997
+5.9,0.178473733,1.07088718
+6,0.178485506,1.070952424
+6.1,0.17849586,1.071009805
+6.2,0.178504967,1.071060271
+6.3,0.178512976,1.071104655
+6.4,0.17852002,1.07114369
+6.5,0.178526215,1.071178022
+6.6,0.178531664,1.071208215
+6.7,0.178536456,1.071234771
+6.8,0.17854067,1.071258126
+6.9,0.178544377,1.071278666
+7,0.178547637,1.071296731
+7.1,0.178550504,1.071312619
+7.2,0.178553026,1.071326593
+7.3,0.178555243,1.071338882
+7.4,0.178557194,1.071349691
+7.5,0.178558909,1.071359197
+7.6,0.178560418,1.071367557
+7.7,0.178561745,1.07137491
+7.8,0.178562912,1.071381377
+7.9,0.178563938,1.071387064
+8,0.178564841,1.071392066
+8.1,0.178565635,1.071396465
+8.2,0.178566333,1.071400335
+8.3,0.178566947,1.071403737
+8.4,0.178567487,1.07140673
+8.5,0.178567962,1.071409362
+8.6,0.17856838,1.071411677
+8.7,0.178568747,1.071413713
+8.8,0.17856907,1.071415504
+8.9,0.178569355,1.071417078
+9,0.178569604,1.071418463
+9.1,0.178569824,1.071419682
+9.2,0.178570018,1.071420753
+9.3,0.178570188,1.071421695
+9.4,0.178570337,1.071422524
+9.5,0.178570469,1.071423253
+9.6,0.178570584,1.071423894
+9.7,0.178570686,1.071424457
+9.8,0.178570776,1.071424953
+9.9,0.178570854,1.071425389
+10,0.178570923,1.071425773
diff --git a/models/sbml-test-suite/cases/semantic/00977/00977-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00977/00977-sbml-l3v1.xml
new file mode 100644
index 0000000..55c637f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00977/00977-sbml-l3v1.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-09 11:28 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00977" name="case00977">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" conversionFactor="S1conv" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="0.001" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+      <parameter id="k2" value="3" constant="true"/>
+      <parameter id="k3" value="1.4" constant="true"/>
+      <parameter id="S1conv" value="3" constant="true"/>
+      <parameter id="modelconv" value="4" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="3" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> k2 </ci>
+                <ci> S1 </ci>
+              </apply>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k3 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00977/00977-settings.txt b/models/sbml-test-suite/cases/semantic/00977/00977-settings.txt
new file mode 100644
index 0000000..2eccbf3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00977/00977-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: S1, S2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00978/00978-antimony.txt b/models/sbml-test-suite/cases/semantic/00978/00978-antimony.txt
new file mode 100644
index 0000000..d7076f7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00978/00978-antimony.txt
@@ -0,0 +1,33 @@
+model case00978()
+  multitrig=0;
+  x = 0;
+  y = 0;
+  z = 0;
+  //On!
+  at(time>=.99), priority = 10: multitrig=2;
+  //Off!
+  at(time>=.99), priority =  9: multitrig=0;
+  //On!
+  at(time>=.99), priority =  8: multitrig=2;
+  //Off!
+  at(time>=.99), priority =  7: multitrig=0;
+  //On!
+  at(time>=.99), priority =  6: multitrig=2;
+  //Off!
+  at(time>=.99), priority =  5: multitrig=0;
+  //On!
+  at(time>=.99), priority =  4: multitrig=2;
+  //Off!
+  at(time>=.99), priority =  3: multitrig=0;
+  //On!
+  at(time>=.99), priority =  2: multitrig=2;
+
+  //Our events that just got triggered 5 times:
+  //  This one will end up executing five times:
+  at(multitrig > 1), priority = 1, persistent=true, fromTrigger=false : x = x+1;
+  //  This one will end up executing five times, but performing the same action each time, since fromTrigger was true:
+  at(multitrig > 1), priority = 1, persistent=true, fromTrigger=true : y = y+1;
+  //  And this one will only end up executing once:
+  at(multitrig > 1), priority = 1, persistent=false, fromTrigger=false: z = z+3;
+
+end
diff --git a/models/sbml-test-suite/cases/semantic/00978/00978-results.csv b/models/sbml-test-suite/cases/semantic/00978/00978-results.csv
new file mode 100644
index 0000000..9d38924
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00978/00978-results.csv
@@ -0,0 +1,12 @@
+time,x,y,z
+0,0,0,0
+0.2,0,0,0
+0.4,0,0,0
+0.6,0,0,0
+0.8,0,0,0
+1,5,1,3
+1.2,5,1,3
+1.4,5,1,3
+1.6,5,1,3
+1.8,5,1,3
+2,5,1,3
diff --git a/models/sbml-test-suite/cases/semantic/00978/00978-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00978/00978-sbml-l3v1.xml
new file mode 100644
index 0000000..6c9989b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00978/00978-sbml-l3v1.xml
@@ -0,0 +1,302 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-02-17 15:24 with libSBML version 4.2.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00978" name="case00978">
+    <listOfParameters>
+      <parameter id="multitrig" value="0" constant="false"/>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="y" value="0" constant="false"/>
+      <parameter id="z" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 9 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 8 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E3" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 7 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E4" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 6 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E5" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 5 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E6" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 4 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E7" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E8" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="multitrig">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E9" useValuesFromTriggerTime="false">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> multitrig </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="x">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> x </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E10" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> multitrig </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="y">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> y </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E11" useValuesFromTriggerTime="false">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> multitrig </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="z">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> z </ci>
+                <cn type="integer"> 3 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00978/00978-settings.txt b/models/sbml-test-suite/cases/semantic/00978/00978-settings.txt
new file mode 100644
index 0000000..04a38ad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00978/00978-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 10
+variables: x, y, z
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00979/00979-antimony.txt b/models/sbml-test-suite/cases/semantic/00979/00979-antimony.txt
new file mode 100644
index 0000000..0a3955e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00979/00979-antimony.txt
@@ -0,0 +1,8 @@
+model case00979()
+  x = 0;
+  y = 0;
+  p = 0;
+  q = 0;
+  at(time>=.98): x = 2, y = y+x;
+  at(time>=.99): q = p+1, p = 3;
+end
diff --git a/models/sbml-test-suite/cases/semantic/00979/00979-results.csv b/models/sbml-test-suite/cases/semantic/00979/00979-results.csv
new file mode 100644
index 0000000..753eba1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00979/00979-results.csv
@@ -0,0 +1,12 @@
+time,x,y,p,q
+0,0,0,0,0
+0.2,0,0,0,0
+0.4,0,0,0,0
+0.6,0,0,0,0
+0.8,0,0,0,0
+1,2,0,3,1
+1.2,2,0,3,1
+1.4,2,0,3,1
+1.6,2,0,3,1
+1.8,2,0,3,1
+2,2,0,3,1
diff --git a/models/sbml-test-suite/cases/semantic/00979/00979-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00979/00979-sbml-l2v4.xml
new file mode 100644
index 0000000..5df4cd9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00979/00979-sbml-l2v4.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00979" name="case00979">
+    <listOfParameters>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="y" value="0" constant="false"/>
+      <parameter id="p" value="0" constant="false"/>
+      <parameter id="q" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfEvents>
+      <event id="_E0">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.98 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="y">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> y </ci>
+                <ci> x </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="x">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="p">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 3 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> p </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00979/00979-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00979/00979-sbml-l3v1.xml
new file mode 100644
index 0000000..728045f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00979/00979-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-03-07 16:07 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00979" name="case00979">
+    <listOfParameters>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="y" value="0" constant="false"/>
+      <parameter id="p" value="0" constant="false"/>
+      <parameter id="q" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.98 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="y">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> y </ci>
+                <ci> x </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="x">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="p">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 3 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> p </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00979/00979-settings.txt b/models/sbml-test-suite/cases/semantic/00979/00979-settings.txt
new file mode 100644
index 0000000..024bc49
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00979/00979-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 10
+variables: x, y, p, q
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00980/00980-antimony.txt b/models/sbml-test-suite/cases/semantic/00980/00980-antimony.txt
new file mode 100644
index 0000000..421836d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00980/00980-antimony.txt
@@ -0,0 +1,8 @@
+model case00980()
+  x = 0;
+  y = 0;
+  p = 0;
+  q = 0;
+  at 0.1 after (time>=.99), fromTrigger=false: x = 2, y = y+x;
+  at 0.1 after (time>=.99), fromTrigger=false: q = p+1, p = 3;
+end
diff --git a/models/sbml-test-suite/cases/semantic/00980/00980-results.csv b/models/sbml-test-suite/cases/semantic/00980/00980-results.csv
new file mode 100644
index 0000000..eb5c14c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00980/00980-results.csv
@@ -0,0 +1,12 @@
+time,x,y,p,q
+0,0,0,0,0
+0.2,0,0,0,0
+0.4,0,0,0,0
+0.6,0,0,0,0
+0.8,0,0,0,0
+1,0,0,0,0
+1.2,2,0,3,1
+1.4,2,0,3,1
+1.6,2,0,3,1
+1.8,2,0,3,1
+2,2,0,3,1
diff --git a/models/sbml-test-suite/cases/semantic/00980/00980-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00980/00980-sbml-l2v4.xml
new file mode 100644
index 0000000..aaabf7a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00980/00980-sbml-l2v4.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00980" name="case00980">
+    <listOfParameters>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="y" value="0" constant="false"/>
+      <parameter id="p" value="0" constant="false"/>
+      <parameter id="q" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="false">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.98 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="y">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> y </ci>
+                <ci> x </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="x">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E1" useValuesFromTriggerTime="false">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="p">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 3 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> p </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00980/00980-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00980/00980-sbml-l3v1.xml
new file mode 100644
index 0000000..bbf86fc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00980/00980-sbml-l3v1.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v1.4 on 2011-03-07 16:45 with libSBML version 5.0.0-b1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00980" name="case00980">
+    <listOfParameters>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="y" value="0" constant="false"/>
+      <parameter id="p" value="0" constant="false"/>
+      <parameter id="q" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="false">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.98 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="y">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> y </ci>
+                <ci> x </ci>
+              </apply>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="x">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E1" useValuesFromTriggerTime="false">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="p">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 3 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="q">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <plus/>
+                <ci> p </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00980/00980-settings.txt b/models/sbml-test-suite/cases/semantic/00980/00980-settings.txt
new file mode 100644
index 0000000..024bc49
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00980/00980-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 10
+variables: x, y, p, q
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00981/00981-results.csv b/models/sbml-test-suite/cases/semantic/00981/00981-results.csv
new file mode 100644
index 0000000..c72cec6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00981/00981-results.csv
@@ -0,0 +1,12 @@
+time,x,y
+0,0,0
+0.2,0.2,0.1
+0.4,0.4,0.2
+0.6,0.6,0.3
+0.8,0.8,0.4
+1,1,0.5
+1.2,1.2,0.6
+1.4,1.4,0.7
+1.6,1.6,0.8
+1.8,1.8,0.9
+2,2,1
diff --git a/models/sbml-test-suite/cases/semantic/00981/00981-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00981/00981-sbml-l2v4.xml
new file mode 100644
index 0000000..8cf26cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00981/00981-sbml-l2v4.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00981" name="case00981">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <apply>
+              <divide/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00981/00981-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00981/00981-sbml-l3v1.xml
new file mode 100644
index 0000000..1e9d406
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00981/00981-sbml-l3v1.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-14 16:57 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00981" name="case00981">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <apply>
+              <divide/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00981/00981-settings.txt b/models/sbml-test-suite/cases/semantic/00981/00981-settings.txt
new file mode 100644
index 0000000..3934251
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00981/00981-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 10
+variables: x, y
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00982/00982-results.csv b/models/sbml-test-suite/cases/semantic/00982/00982-results.csv
new file mode 100644
index 0000000..c72cec6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00982/00982-results.csv
@@ -0,0 +1,12 @@
+time,x,y
+0,0,0
+0.2,0.2,0.1
+0.4,0.4,0.2
+0.6,0.6,0.3
+0.8,0.8,0.4
+1,1,0.5
+1.2,1.2,0.6
+1.4,1.4,0.7
+1.6,1.6,0.8
+1.8,1.8,0.9
+2,2,1
diff --git a/models/sbml-test-suite/cases/semantic/00982/00982-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00982/00982-sbml-l2v4.xml
new file mode 100644
index 0000000..85c81ea
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00982/00982-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00982" name="case00982">
+    <listOfParameters>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="temp" constant="false"/>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <assignmentRule variable="temp">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <ci> temp </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00982/00982-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00982/00982-sbml-l3v1.xml
new file mode 100644
index 0000000..2cd53c7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00982/00982-sbml-l3v1.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-14 17:15 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00982" name="case00982">
+    <listOfParameters>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="temp" constant="false"/>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <assignmentRule variable="temp">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <ci> temp </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00982/00982-settings.txt b/models/sbml-test-suite/cases/semantic/00982/00982-settings.txt
new file mode 100644
index 0000000..3934251
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00982/00982-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 10
+variables: x, y
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00983/00983-results.csv b/models/sbml-test-suite/cases/semantic/00983/00983-results.csv
new file mode 100644
index 0000000..c72cec6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00983/00983-results.csv
@@ -0,0 +1,12 @@
+time,x,y
+0,0,0
+0.2,0.2,0.1
+0.4,0.4,0.2
+0.6,0.6,0.3
+0.8,0.8,0.4
+1,1,0.5
+1.2,1.2,0.6
+1.4,1.4,0.7
+1.6,1.6,0.8
+1.8,1.8,0.9
+2,2,1
diff --git a/models/sbml-test-suite/cases/semantic/00983/00983-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00983/00983-sbml-l2v4.xml
new file mode 100644
index 0000000..c3255a9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00983/00983-sbml-l2v4.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00983" name="case00983">
+    <listOfParameters>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="temp" constant="false"/>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <algebraicRule>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> temp </ci>
+            </apply>
+            <apply>
+              <divide/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <ci> temp </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00983/00983-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00983/00983-sbml-l3v1.xml
new file mode 100644
index 0000000..783adbe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00983/00983-sbml-l3v1.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-14 22:28 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00983" name="case00983">
+    <listOfParameters>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="temp" constant="false"/>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <algebraicRule variable="temp">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> temp </ci>
+            </apply>
+	    <apply>
+            <divide/>
+               <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+               <cn type="integer"> 2 </cn>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <ci> temp </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00983/00983-settings.txt b/models/sbml-test-suite/cases/semantic/00983/00983-settings.txt
new file mode 100644
index 0000000..64d83eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00983/00983-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 10
+variables: x, y
+absolute: 0.0002
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00984/00984-results.csv b/models/sbml-test-suite/cases/semantic/00984/00984-results.csv
new file mode 100644
index 0000000..53be302
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00984/00984-results.csv
@@ -0,0 +1,12 @@
+time,x,y
+0,0,0
+0.2,0.2,0.2
+0.4,0.4,0.4
+0.6,0.6,0.6
+0.8,0.8,0.8
+1,1,0
+1.2,1.2,0.2
+1.4,1.4,0.4
+1.6,1.6,0.6
+1.8,1.8,0.8
+2,2,1
diff --git a/models/sbml-test-suite/cases/semantic/00984/00984-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00984/00984-sbml-l2v4.xml
new file mode 100644
index 0000000..cc6f056
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00984/00984-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00984" name="case00984">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter id="y" constant="false"/>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="temp" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <ci> temp </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="_E0">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="temp">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00984/00984-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00984/00984-sbml-l3v1.xml
new file mode 100644
index 0000000..824f6fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00984/00984-sbml-l3v1.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-15 09:18 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00984" name="case00984">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter id="y" constant="false"/>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="temp" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <ci> temp </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="temp">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00984/00984-settings.txt b/models/sbml-test-suite/cases/semantic/00984/00984-settings.txt
new file mode 100644
index 0000000..3934251
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00984/00984-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 10
+variables: x, y
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00985/00985-results.csv b/models/sbml-test-suite/cases/semantic/00985/00985-results.csv
new file mode 100644
index 0000000..325473c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00985/00985-results.csv
@@ -0,0 +1,12 @@
+time,x,y,z
+0,0,0,0
+0.2,0.2,0.2,0
+0.4,0.4,0.4,0
+0.6,0.6,0.6,0
+0.8,0.8,0.8,0
+1,1,1,0
+1.2,1.2,1,0.2
+1.4,1.4,1,0.4
+1.6,1.6,1,0.6
+1.8,1.8,1,0.8
+2,2,1,1
diff --git a/models/sbml-test-suite/cases/semantic/00985/00985-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00985/00985-sbml-l2v4.xml
new file mode 100644
index 0000000..fc1d284
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00985/00985-sbml-l2v4.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00984" name="case00984">
+    <listOfParameters>
+      <parameter id="z" constant="false"/>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="z">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <ci> z </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00985/00985-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00985/00985-sbml-l3v1.xml
new file mode 100644
index 0000000..a1e8699
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00985/00985-sbml-l3v1.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-18 10:09 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00984" name="case00984">
+    <listOfParameters>
+      <parameter id="z" constant="false"/>
+      <parameter id="x" value="0" constant="false"/>
+      <parameter id="y" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="z">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule variable="x">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+            <ci> x </ci>
+            <ci> z </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00985/00985-settings.txt b/models/sbml-test-suite/cases/semantic/00985/00985-settings.txt
new file mode 100644
index 0000000..04a38ad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00985/00985-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 10
+variables: x, y, z
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00986/00986-results.csv b/models/sbml-test-suite/cases/semantic/00986/00986-results.csv
new file mode 100644
index 0000000..57a6ec1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00986/00986-results.csv
@@ -0,0 +1,12 @@
+time,A,B,C
+0,0,1,0
+0.2,0,0.818730753,0.181269247
+0.4,0,0.670320046,0.329679954
+0.6,0,0.548811636,0.451188364
+0.8,0,0.449328964,0.550671036
+1,0,0.367879441,0.632120559
+1.2,0,0.301194212,0.698805788
+1.4,0,0.246596964,0.753403036
+1.6,0,0.201896518,0.798103482
+1.8,0,0.165298888,0.834701112
+2,0,0.135335283,0.864664717
diff --git a/models/sbml-test-suite/cases/semantic/00986/00986-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/00986/00986-sbml-l1v2.xml
new file mode 100644
index 0000000..e95925f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00986/00986-sbml-l1v2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case00986">
+    <listOfCompartments>
+      <compartment name="default_compartment" volume="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="A" compartment="default_compartment" initialAmount="1"/>
+      <species name="B" compartment="default_compartment" initialAmount="0"/>
+      <species name="C" compartment="default_compartment" initialAmount="0"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction name="fast" fast="true">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B"/>
+        </listOfProducts>
+        <kineticLaw formula="1 * A"/>
+      </reaction>
+      <reaction name="slow">
+        <listOfReactants>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C"/>
+        </listOfProducts>
+        <kineticLaw formula="1 * B"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00986/00986-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00986/00986-sbml-l2v4.xml
new file mode 100644
index 0000000..1f4abf4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00986/00986-sbml-l2v4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00986" name="case00986">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="true"/>
+      <species id="B" compartment="default_compartment" initialAmount="0" hasOnlySubstanceUnits="true"/>
+      <species id="C" compartment="default_compartment" initialAmount="0" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="fast" fast="true">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <cn type="integer"> 1 </cn>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="slow" fast="false">
+        <listOfReactants>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <cn type="integer"> 1 </cn>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00986/00986-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00986/00986-sbml-l3v1.xml
new file mode 100644
index 0000000..ae98f4f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00986/00986-sbml-l3v1.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-16 14:16 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00986" name="case00986">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="B" compartment="default_compartment" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="C" compartment="default_compartment" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="fast" reversible="true" fast="true">
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <cn type="integer"> 1 </cn>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="slow" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <cn type="integer"> 1 </cn>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00986/00986-settings.txt b/models/sbml-test-suite/cases/semantic/00986/00986-settings.txt
new file mode 100644
index 0000000..888fedb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00986/00986-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 10
+variables: A, B, C
+absolute: 0.0001
+relative: 0.0001
+amount: A, B, C
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00987/00987-results.csv b/models/sbml-test-suite/cases/semantic/00987/00987-results.csv
new file mode 100644
index 0000000..748a4c1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00987/00987-results.csv
@@ -0,0 +1,12 @@
+time,A,B,C
+0,1,0,0
+0.2,1,0,0
+0.4,1,0,0
+0.6,1,0,0
+0.8,1,0,0
+1,0,0.990049834,0.009950166
+1.2,0,0.810584246,0.189415754
+1.4,0,0.66365025,0.33634975
+1.6,0,0.543350869,0.456649131
+1.8,0,0.444858066,0.555141934
+2,0,0.36421898,0.63578102
diff --git a/models/sbml-test-suite/cases/semantic/00987/00987-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00987/00987-sbml-l2v4.xml
new file mode 100644
index 0000000..4f124fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00987/00987-sbml-l2v4.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00987" name="case00987">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="true"/>
+      <species id="B" compartment="default_compartment" initialAmount="0" hasOnlySubstanceUnits="true"/>
+      <species id="C" compartment="default_compartment" initialAmount="0" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="fast" fast="true">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="slow" fast="false">
+        <listOfReactants>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="_E0">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="k1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00987/00987-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00987/00987-sbml-l3v1.xml
new file mode 100644
index 0000000..53fca41
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00987/00987-sbml-l3v1.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-16 15:11 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00987" name="case00987">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="B" compartment="default_compartment" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="C" compartment="default_compartment" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="fast" reversible="true" fast="true">
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="slow" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> B </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="k1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00987/00987-settings.txt b/models/sbml-test-suite/cases/semantic/00987/00987-settings.txt
new file mode 100644
index 0000000..888fedb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00987/00987-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 10
+variables: A, B, C
+absolute: 0.0001
+relative: 0.0001
+amount: A, B, C
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00988/00988-antimony.txt b/models/sbml-test-suite/cases/semantic/00988/00988-antimony.txt
new file mode 100644
index 0000000..1c79a03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00988/00988-antimony.txt
@@ -0,0 +1,24 @@
+//Created by libAntimony v2.1-beta
+model *case00988()
+
+  species A in comp, B in comp;
+  // Reactions:
+  slow: B -> A; k1 ;
+  fast: A -> B; k2 * A;
+
+  // Events:
+  E0: at (A>=1): k2 = 1;
+  E1: at 0.1 after (A>=1): k2 = 0;
+
+  // Species initializations:
+  A = 0/comp;
+  B = 2/comp;
+  comp = 1;
+
+  // Variable initializations:
+  k1 = 1;
+  k2 = 0;
+
+  //Other declarations:
+  var k1;
+end
diff --git a/models/sbml-test-suite/cases/semantic/00988/00988-results.csv b/models/sbml-test-suite/cases/semantic/00988/00988-results.csv
new file mode 100644
index 0000000..82fb741
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00988/00988-results.csv
@@ -0,0 +1,22 @@
+time,A,B
+0,0,2
+0.1,0.1,1.9
+0.2,0.2,1.8
+0.3,0.3,1.7
+0.4,0.4,1.6
+0.5,0.5,1.5
+0.6,0.6,1.4
+0.7,0.7,1.3
+0.8,0.8,1.2
+0.9,0.9,1.1
+1,0,2
+1.1,0.01,1.99
+1.2,0.11,1.89
+1.3,0.21,1.79
+1.4,0.31,1.69
+1.5,0.41,1.59
+1.6,0.51,1.49
+1.7,0.61,1.39
+1.8,0.71,1.29
+1.9,0.81,1.19
+2,0.91,1.09
diff --git a/models/sbml-test-suite/cases/semantic/00988/00988-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00988/00988-sbml-l2v4.xml
new file mode 100644
index 0000000..0115303
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00988/00988-sbml-l2v4.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00988" name="case00988">
+    <listOfCompartments>
+      <compartment id="comp" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="comp" initialAmount="0" hasOnlySubstanceUnits="true"/>
+      <species id="B" compartment="comp" initialAmount="2" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="false"/>
+      <parameter id="k2" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="slow" fast="false">
+        <listOfReactants>
+          <speciesReference species="B"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="fast" fast="true">
+        <listOfReactants>
+          <speciesReference species="A"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="E0">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> A </ci>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="k2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="E1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> A </ci>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="k2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00988/00988-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00988/00988-sbml-l3v1.xml
new file mode 100644
index 0000000..d568b68
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00988/00988-sbml-l3v1.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-21 12:09 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00988" name="case00988">
+    <listOfCompartments>
+      <compartment id="comp" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A" compartment="comp" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="B" compartment="comp" initialAmount="2" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="false"/>
+      <parameter id="k2" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="slow" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="fast" reversible="true" fast="true">
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> A </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> A </ci>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="k2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> A </ci>
+              <cn> 0.99 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="k2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00988/00988-settings.txt b/models/sbml-test-suite/cases/semantic/00988/00988-settings.txt
new file mode 100644
index 0000000..3610745
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00988/00988-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 20
+variables: A, B
+absolute: 0.001
+relative: 0.001
+amount: A, B
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00989/00989-results.csv b/models/sbml-test-suite/cases/semantic/00989/00989-results.csv
new file mode 100644
index 0000000..91da47b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00989/00989-results.csv
@@ -0,0 +1,102 @@
+time,X,Y
+0,1,1
+0.1,1.105170918,1.105170918
+0.2,1.221402758,1.221402758
+0.3,1.349858808,1.349858808
+0.4,1.491824698,1.491824698
+0.5,1.648721271,1.648721271
+0.6,1.8221188,1.8221188
+0.7,2.013752708,2.013752708
+0.8,2.225540929,2.225540929
+0.9,2.459603111,2.459603111
+1,2.718281829,2.718281829
+1.1,3.004166024,3.004166024
+1.2,3.320116923,3.320116923
+1.3,3.669296668,3.669296668
+1.4,4.055199967,4.055199967
+1.5,4.481689071,4.481689071
+1.6,4.953032425,4.953032425
+1.7,5.473947392,5.473947392
+1.8,6.049647465,6.049647465
+1.9,6.685894443,6.685894443
+2,7.3890561,7.3890561
+2.1,8.166169913,8.166169913
+2.2,9.0250135,9.0250135
+2.3,9.974182456,9.974182456
+2.4,11.02317638,11.02317638
+2.5,12.18249396,12.18249396
+2.6,13.46373804,13.46373804
+2.7,14.87973173,14.87973173
+2.8,16.44464677,16.44464677
+2.9,18.17414537,18.17414537
+3,20.08553693,20.08553693
+3.1,22.19795128,22.19795128
+3.2,24.5325302,24.5325302
+3.3,27.11263892,27.11263892
+3.4,29.96410005,29.96410005
+3.5,33.11545196,33.11545196
+3.6,36.59823445,36.59823445
+3.7,40.44730437,40.44730437
+3.8,44.7011845,44.7011845
+3.9,49.40244911,49.40244911
+4,54.59815004,54.59815004
+4.1,60.34028761,60.34028761
+4.2,66.68633105,66.68633105
+4.3,73.69979371,73.69979371
+4.4,81.45086868,81.45086868
+4.5,90.01713132,90.01713132
+4.6,99.48431566,99.48431566
+4.7,109.9471725,109.9471725
+4.8,121.5104175,121.5104175
+4.9,134.2897797,134.2897797
+5,148.4131591,148.4131591
+5.1,164.0219073,164.0219073
+5.2,181.2722419,181.2722419
+5.3,200.33681,200.33681
+5.4,221.4064162,221.4064162
+5.5,244.6919323,244.6919323
+5.6,270.4264075,270.4264075
+5.7,298.867401,298.867401
+5.8,330.29956,330.29956
+5.9,365.0374679,365.0374679
+6,403.4287936,403.4287936
+6.1,445.8577702,445.8577702
+6.2,492.7490412,492.7490412
+6.3,544.5719102,544.5719102
+6.4,601.845038,601.845038
+6.5,665.1416332,665.1416332
+6.6,735.0951894,735.0951894
+6.7,812.4058253,812.4058253
+6.8,897.8472918,897.8472918
+6.9,992.2747158,992.2747158
+7,1096.633159,1096.633159
+7.1,1211.967075,1211.967075
+7.2,1339.430765,1339.430765
+7.3,1480.299928,1480.299928
+7.4,1635.98443,1635.98443
+7.5,1808.042415,1808.042415
+7.6,1998.195896,1998.195896
+7.7,2208.347992,2208.347992
+7.8,2440.601978,2440.601978
+7.9,2697.282329,2697.282329
+8,2980.957988,2980.957988
+8.1,3294.468076,3294.468076
+8.2,3640.950308,3640.950308
+8.3,4023.872395,4023.872395
+8.4,4447.066749,4447.066749
+8.5,4914.768841,4914.768841
+8.6,5431.659593,5431.659593
+8.7,6002.912219,6002.912219
+8.8,6634.244008,6634.244008
+8.9,7331.973541,7331.973541
+9,8103.083929,8103.083929
+9.1,8955.292706,8955.292706
+9.2,9897.129061,9897.129061
+9.3,10938.01921,10938.01921
+9.4,12088.38073,12088.38073
+9.5,13359.72683,13359.72683
+9.6,14764.78157,14764.78157
+9.7,16317.6072,16317.6072
+9.8,18033.74493,18033.74493
+9.9,19930.37044,19930.37044
+10,22026.4658,22026.4658
diff --git a/models/sbml-test-suite/cases/semantic/00989/00989-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00989/00989-sbml-l2v4.xml
new file mode 100644
index 0000000..7544036
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00989/00989-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00989" name="case00989">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="true"/>
+      <species id="Y" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <ci> X </ci>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" fast="false">
+        <listOfProducts>
+          <speciesReference species="Y"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00989/00989-settings.txt b/models/sbml-test-suite/cases/semantic/00989/00989-settings.txt
new file mode 100644
index 0000000..c9d4808
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00989/00989-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X, Y
+absolute: 0.0001
+relative: 0.0001
+amount: X, Y
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00990/00990-results.csv b/models/sbml-test-suite/cases/semantic/00990/00990-results.csv
new file mode 100644
index 0000000..66264ba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00990/00990-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,1
+0.1,1.105
+0.2,1.22
+0.3,1.345
+0.4,1.48
+0.5,1.625
+0.6,1.78
+0.7,1.945
+0.8,2.12
+0.9,2.305
+1,2.5
+1.1,2.705
+1.2,2.92
+1.3,3.145
+1.4,3.38
+1.5,3.625
+1.6,3.88
+1.7,4.145
+1.8,4.42
+1.9,4.705
+2,5
+2.1,5.305
+2.2,5.62
+2.3,5.945
+2.4,6.28
+2.5,6.625
+2.6,6.98
+2.7,7.345
+2.8,7.72
+2.9,8.105
+3,8.5
+3.1,8.905
+3.2,9.32
+3.3,9.745
+3.4,10.18
+3.5,10.625
+3.6,11.08
+3.7,11.545
+3.8,12.02
+3.9,12.505
+4,13
+4.1,13.505
+4.2,14.02
+4.3,14.545
+4.4,15.08
+4.5,15.625
+4.6,16.18
+4.7,16.745
+4.8,17.32
+4.9,17.905
+5,18.5
+5.1,19.105
+5.2,19.72
+5.3,20.345
+5.4,20.98
+5.5,21.625
+5.6,22.28
+5.7,22.945
+5.8,23.62
+5.9,24.305
+6,25
+6.1,25.705
+6.2,26.42
+6.3,27.145
+6.4,27.88
+6.5,28.625
+6.6,29.38
+6.7,30.145
+6.8,30.92
+6.9,31.705
+7,32.5
+7.1,33.305
+7.2,34.12
+7.3,34.945
+7.4,35.78
+7.5,36.625
+7.6,37.48
+7.7,38.345
+7.8,39.22
+7.9,40.105
+8,41
+8.1,41.905
+8.2,42.82
+8.3,43.745
+8.4,44.68
+8.5,45.625
+8.6,46.58
+8.7,47.545
+8.8,48.52
+8.9,49.505
+9,50.5
+9.1,51.505
+9.2,52.52
+9.3,53.545
+9.4,54.58
+9.5,55.625
+9.6,56.68
+9.7,57.745
+9.8,58.82
+9.9,59.905
+10,61
diff --git a/models/sbml-test-suite/cases/semantic/00990/00990-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00990/00990-sbml-l2v4.xml
new file mode 100644
index 0000000..ce83e1e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00990/00990-sbml-l2v4.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00990" name="case00990">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" value="1" constant="false"/>
+      <parameter id="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <ci> p1 </ci>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00990/00990-settings.txt b/models/sbml-test-suite/cases/semantic/00990/00990-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00990/00990-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00991/00991-results.csv b/models/sbml-test-suite/cases/semantic/00991/00991-results.csv
new file mode 100644
index 0000000..0ae989b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00991/00991-results.csv
@@ -0,0 +1,22 @@
+time,X
+0,1
+0.1,1.1
+0.2,1.2
+0.3,1.3
+0.4,1.4
+0.5,1.5
+0.6,1.6
+0.7,1.7
+0.8,1.8
+0.9,1.9
+1,2
+1.1,2.2
+1.2,2.4
+1.3,2.6
+1.4,2.8
+1.5,3
+1.6,3.2
+1.7,3.4
+1.8,3.6
+1.9,3.8
+2,4
diff --git a/models/sbml-test-suite/cases/semantic/00991/00991-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00991/00991-sbml-l2v4.xml
new file mode 100644
index 0000000..5ca9020
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00991/00991-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00991" name="case00991">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" value="1" constant="false"/>
+      <parameter id="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <ci> p1 </ci>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="_E0">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> X </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="p1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00991/00991-settings.txt b/models/sbml-test-suite/cases/semantic/00991/00991-settings.txt
new file mode 100644
index 0000000..8bc7254
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00991/00991-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 20
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00992/00992-results.csv b/models/sbml-test-suite/cases/semantic/00992/00992-results.csv
new file mode 100644
index 0000000..53f242c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00992/00992-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,1
+0.1,1.105170918
+0.2,1.221402758
+0.3,1.349858808
+0.4,1.491824698
+0.5,1.648721271
+0.6,1.8221188
+0.7,2.013752708
+0.8,2.225540929
+0.9,2.459603111
+1,2.718281829
+1.1,3.004166024
+1.2,3.320116923
+1.3,3.669296668
+1.4,4.055199967
+1.5,4.481689071
+1.6,4.953032425
+1.7,5.473947392
+1.8,6.049647465
+1.9,6.685894443
+2,7.3890561
+2.1,8.166169913
+2.2,9.0250135
+2.3,9.974182456
+2.4,11.02317638
+2.5,12.18249396
+2.6,13.46373804
+2.7,14.87973173
+2.8,16.44464677
+2.9,18.17414537
+3,20.08553693
+3.1,22.19795128
+3.2,24.5325302
+3.3,27.11263892
+3.4,29.96410005
+3.5,33.11545196
+3.6,36.59823445
+3.7,40.44730437
+3.8,44.7011845
+3.9,49.40244911
+4,54.59815004
+4.1,60.34028761
+4.2,66.68633105
+4.3,73.69979371
+4.4,81.45086868
+4.5,90.01713132
+4.6,99.48431566
+4.7,109.9471725
+4.8,121.5104175
+4.9,134.2897797
+5,148.4131591
+5.1,164.0219073
+5.2,181.2722419
+5.3,200.33681
+5.4,221.4064162
+5.5,244.6919323
+5.6,270.4264075
+5.7,298.867401
+5.8,330.29956
+5.9,365.0374679
+6,403.4287936
+6.1,445.8577702
+6.2,492.7490412
+6.3,544.5719102
+6.4,601.845038
+6.5,665.1416332
+6.6,735.0951894
+6.7,812.4058253
+6.8,897.8472918
+6.9,992.2747158
+7,1096.633159
+7.1,1211.967075
+7.2,1339.430765
+7.3,1480.299928
+7.4,1635.98443
+7.5,1808.042415
+7.6,1998.195896
+7.7,2208.347992
+7.8,2440.601978
+7.9,2697.282329
+8,2980.957988
+8.1,3294.468076
+8.2,3640.950308
+8.3,4023.872395
+8.4,4447.066749
+8.5,4914.768841
+8.6,5431.659593
+8.7,6002.912219
+8.8,6634.244008
+8.9,7331.973541
+9,8103.083929
+9.1,8955.292706
+9.2,9897.129061
+9.3,10938.01921
+9.4,12088.38073
+9.5,13359.72683
+9.6,14764.78157
+9.7,16317.6072
+9.8,18033.74493
+9.9,19930.37044
+10,22026.4658
diff --git a/models/sbml-test-suite/cases/semantic/00992/00992-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00992/00992-sbml-l2v4.xml
new file mode 100644
index 0000000..8a9eb72
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00992/00992-sbml-l2v4.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00992" name="case00992">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" constant="false"/>
+      <parameter id="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> X </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <ci> p1 </ci>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00992/00992-settings.txt b/models/sbml-test-suite/cases/semantic/00992/00992-settings.txt
new file mode 100644
index 0000000..aba4d18
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00992/00992-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.001
+relative: 0.001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00993/00993-results.csv b/models/sbml-test-suite/cases/semantic/00993/00993-results.csv
new file mode 100644
index 0000000..53f242c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00993/00993-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,1
+0.1,1.105170918
+0.2,1.221402758
+0.3,1.349858808
+0.4,1.491824698
+0.5,1.648721271
+0.6,1.8221188
+0.7,2.013752708
+0.8,2.225540929
+0.9,2.459603111
+1,2.718281829
+1.1,3.004166024
+1.2,3.320116923
+1.3,3.669296668
+1.4,4.055199967
+1.5,4.481689071
+1.6,4.953032425
+1.7,5.473947392
+1.8,6.049647465
+1.9,6.685894443
+2,7.3890561
+2.1,8.166169913
+2.2,9.0250135
+2.3,9.974182456
+2.4,11.02317638
+2.5,12.18249396
+2.6,13.46373804
+2.7,14.87973173
+2.8,16.44464677
+2.9,18.17414537
+3,20.08553693
+3.1,22.19795128
+3.2,24.5325302
+3.3,27.11263892
+3.4,29.96410005
+3.5,33.11545196
+3.6,36.59823445
+3.7,40.44730437
+3.8,44.7011845
+3.9,49.40244911
+4,54.59815004
+4.1,60.34028761
+4.2,66.68633105
+4.3,73.69979371
+4.4,81.45086868
+4.5,90.01713132
+4.6,99.48431566
+4.7,109.9471725
+4.8,121.5104175
+4.9,134.2897797
+5,148.4131591
+5.1,164.0219073
+5.2,181.2722419
+5.3,200.33681
+5.4,221.4064162
+5.5,244.6919323
+5.6,270.4264075
+5.7,298.867401
+5.8,330.29956
+5.9,365.0374679
+6,403.4287936
+6.1,445.8577702
+6.2,492.7490412
+6.3,544.5719102
+6.4,601.845038
+6.5,665.1416332
+6.6,735.0951894
+6.7,812.4058253
+6.8,897.8472918
+6.9,992.2747158
+7,1096.633159
+7.1,1211.967075
+7.2,1339.430765
+7.3,1480.299928
+7.4,1635.98443
+7.5,1808.042415
+7.6,1998.195896
+7.7,2208.347992
+7.8,2440.601978
+7.9,2697.282329
+8,2980.957988
+8.1,3294.468076
+8.2,3640.950308
+8.3,4023.872395
+8.4,4447.066749
+8.5,4914.768841
+8.6,5431.659593
+8.7,6002.912219
+8.8,6634.244008
+8.9,7331.973541
+9,8103.083929
+9.1,8955.292706
+9.2,9897.129061
+9.3,10938.01921
+9.4,12088.38073
+9.5,13359.72683
+9.6,14764.78157
+9.7,16317.6072
+9.8,18033.74493
+9.9,19930.37044
+10,22026.4658
diff --git a/models/sbml-test-suite/cases/semantic/00993/00993-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00993/00993-sbml-l2v4.xml
new file mode 100644
index 0000000..7238e6c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00993/00993-sbml-l2v4.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00993" name="case00993">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" constant="false"/>
+      <parameter id="k1" value="1"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <ci> X </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <ci> p1 </ci>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00993/00993-settings.txt b/models/sbml-test-suite/cases/semantic/00993/00993-settings.txt
new file mode 100644
index 0000000..8fb99d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00993/00993-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.002
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00994/00994-results.csv b/models/sbml-test-suite/cases/semantic/00994/00994-results.csv
new file mode 100644
index 0000000..cfbcedd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00994/00994-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,1
+0.1,1.005
+0.2,1.02
+0.3,1.045
+0.4,1.08
+0.5,1.125
+0.6,1.18
+0.7,1.245
+0.8,1.32
+0.9,1.405
+1,1.5
+1.1,1.605
+1.2,1.72
+1.3,1.845
+1.4,1.98
+1.5,2.125
+1.6,2.28
+1.7,2.445
+1.8,2.62
+1.9,2.805
+2,3
+2.1,3.205
+2.2,3.42
+2.3,3.645
+2.4,3.88
+2.5,4.125
+2.6,4.38
+2.7,4.645
+2.8,4.92
+2.9,5.205
+3,5.5
+3.1,5.805
+3.2,6.12
+3.3,6.445
+3.4,6.78
+3.5,7.125
+3.6,7.48
+3.7,7.845
+3.8,8.22
+3.9,8.605
+4,9
+4.1,9.405
+4.2,9.82
+4.3,10.245
+4.4,10.68
+4.5,11.125
+4.6,11.58
+4.7,12.045
+4.8,12.52
+4.9,13.005
+5,13.5
+5.1,14.005
+5.2,14.52
+5.3,15.045
+5.4,15.58
+5.5,16.125
+5.6,16.68
+5.7,17.245
+5.8,17.82
+5.9,18.405
+6,19
+6.1,19.605
+6.2,20.22
+6.3,20.845
+6.4,21.48
+6.5,22.125
+6.6,22.78
+6.7,23.445
+6.8,24.12
+6.9,24.805
+7,25.5
+7.1,26.205
+7.2,26.92
+7.3,27.645
+7.4,28.38
+7.5,29.125
+7.6,29.88
+7.7,30.645
+7.8,31.42
+7.9,32.205
+8,33
+8.1,33.805
+8.2,34.62
+8.3,35.445
+8.4,36.28
+8.5,37.125
+8.6,37.98
+8.7,38.845
+8.8,39.72
+8.9,40.605
+9,41.5
+9.1,42.405
+9.2,43.32
+9.3,44.245
+9.4,45.18
+9.5,46.125
+9.6,47.08
+9.7,48.045
+9.8,49.02
+9.9,50.005
+10,51
diff --git a/models/sbml-test-suite/cases/semantic/00994/00994-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00994/00994-sbml-l2v4.xml
new file mode 100644
index 0000000..218a175
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00994/00994-sbml-l2v4.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00994" name="case00994">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00994/00994-settings.txt b/models/sbml-test-suite/cases/semantic/00994/00994-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00994/00994-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/00995/00995-results.csv b/models/sbml-test-suite/cases/semantic/00995/00995-results.csv
new file mode 100644
index 0000000..815ce6e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00995/00995-results.csv
@@ -0,0 +1,7 @@
+time,p1,p2,p3
+0,1,1,0
+0.2,1,1,0
+0.4,1,1,0
+0.6,1,1,0
+0.8,1,1,0
+1,1,1,0
diff --git a/models/sbml-test-suite/cases/semantic/00995/00995-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00995/00995-sbml-l3v1.xml
new file mode 100644
index 0000000..ab2ef80
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00995/00995-sbml-l3v1.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00995" name="case00995">
+    <listOfParameters>
+      <parameter id="p1" value="1" constant="true"/>
+      <parameter id="p2" value="0" constant="false"/>
+      <parameter id="p3" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfEvents>
+      <event id="E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="false" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> p1 </ci>
+              <cn type="integer"> 0 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="p2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> p1 </ci>
+              <cn type="integer"> 0 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="p3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00995/00995-settings.txt b/models/sbml-test-suite/cases/semantic/00995/00995-settings.txt
new file mode 100644
index 0000000..ffe5c7d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00995/00995-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 1
+steps: 5
+variables: p1, p2, p3
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00996/00996-results.csv b/models/sbml-test-suite/cases/semantic/00996/00996-results.csv
new file mode 100644
index 0000000..3d07f85
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00996/00996-results.csv
@@ -0,0 +1,7 @@
+time,p1,p2,p3
+0,1,1,0
+0.2,0.8,1,0
+0.4,0.6,1,0
+0.6,0.4,1,0
+0.8,0.2,1,0
+1,0,1,0
diff --git a/models/sbml-test-suite/cases/semantic/00996/00996-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00996/00996-sbml-l3v1.xml
new file mode 100644
index 0000000..bef333b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00996/00996-sbml-l3v1.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00995" name="case00995">
+    <listOfParameters>
+      <parameter id="p1" value="1" constant="false"/>
+      <parameter id="p2" value="0" constant="false"/>
+      <parameter id="p3" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> -1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="false" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> p1 </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="p2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> p1 </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="p3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00996/00996-settings.txt b/models/sbml-test-suite/cases/semantic/00996/00996-settings.txt
new file mode 100644
index 0000000..ffe5c7d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00996/00996-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 1
+steps: 5
+variables: p1, p2, p3
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00997/00997-results.csv b/models/sbml-test-suite/cases/semantic/00997/00997-results.csv
new file mode 100644
index 0000000..90cd51d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00997/00997-results.csv
@@ -0,0 +1,7 @@
+time,p1,p2,p3
+0,0,1,0
+0.2,0,1,0
+0.4,0,1,0
+0.6,0,1,0
+0.8,0,1,0
+1,0,1,0
diff --git a/models/sbml-test-suite/cases/semantic/00997/00997-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00997/00997-sbml-l3v1.xml
new file mode 100644
index 0000000..067df05
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00997/00997-sbml-l3v1.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-23 18:35 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00997" name="case00997">
+    <listOfParameters>
+      <parameter id="p1" value="1" constant="false"/>
+      <parameter id="p2" value="0" constant="false"/>
+      <parameter id="p3" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfEvents>
+      <event id="E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="false" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> p1 </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="p2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> p1 </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="p3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="E2" useValuesFromTriggerTime="true">
+        <trigger initialValue="false" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> p1 </ci>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="p1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00997/00997-settings.txt b/models/sbml-test-suite/cases/semantic/00997/00997-settings.txt
new file mode 100644
index 0000000..ffe5c7d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00997/00997-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 1
+steps: 5
+variables: p1, p2, p3
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00998/00998-results.csv b/models/sbml-test-suite/cases/semantic/00998/00998-results.csv
new file mode 100644
index 0000000..270a304
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00998/00998-results.csv
@@ -0,0 +1,12 @@
+time, S1
+0,5
+0.1,5.19615
+0.2,5.38516
+0.3,5.56776
+0.4,5.74456
+0.5,5.91608
+0.6,6.08276
+0.7,6.245
+0.8,6.40312
+0.9,6.55744
+1,6.7082
diff --git a/models/sbml-test-suite/cases/semantic/00998/00998-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00998/00998-sbml-l2v4.xml
new file mode 100644
index 0000000..3cce542
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00998/00998-sbml-l2v4.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00998" name="case00998">
+    <listOfCompartments>
+      <compartment id="comp" size="5"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="comp" initialConcentration="1" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <cn type="integer"> 10 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00998/00998-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00998/00998-sbml-l3v1.xml
new file mode 100644
index 0000000..526246e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00998/00998-sbml-l3v1.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-28 16:41 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00998" name="case00998">
+    <listOfCompartments>
+      <compartment id="comp" spatialDimensions="3" size="5" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="comp" initialConcentration="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <cn type="integer"> 10 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00998/00998-settings.txt b/models/sbml-test-suite/cases/semantic/00998/00998-settings.txt
new file mode 100644
index 0000000..a3ac344
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00998/00998-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 1
+steps: 10
+variables: S1
+absolute: 0.0001
+relative: 0.0001
+amount: S1
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/00999/00999-results.csv b/models/sbml-test-suite/cases/semantic/00999/00999-results.csv
new file mode 100644
index 0000000..2da51fc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00999/00999-results.csv
@@ -0,0 +1,12 @@
+time,S1,S2,S3,S4,S5,S6,S7,S8,p1,p2,p3,p4,p5,p6,p7,p8,comp1,comp2
+0,10,20,3,4,50,60,7,8,1,20,0.3,4,5,60,0.7,8,10,10
+1,10,20,3,4,50,60,7,8,1,20,0.3,4,4.545454545,60,0.636363636,8,10,11
+2,10,20,3,4,50,60,7,8,1,20,0.3,4,4.166666667,60,0.583333333,8,10,12
+3,10,20,3,4,50,60,7,8,1,20,0.3,4,3.846153846,60,0.538461538,8,10,13
+4,10,20,3,4,50,60,7,8,1,20,0.3,4,3.571428571,60,0.5,8,10,14
+5,10,20,3,4,50,60,7,8,1,20,0.3,4,3.333333333,60,0.466666667,8,10,15
+6,10,20,3,4,50,60,7,8,1,20,0.3,4,3.125,60,0.4375,8,10,16
+7,10,20,3,4,50,60,7,8,1,20,0.3,4,2.941176471,60,0.411764706,8,10,17
+8,10,20,3,4,50,60,7,8,1,20,0.3,4,2.777777778,60,0.388888889,8,10,18
+9,10,20,3,4,50,60,7,8,1,20,0.3,4,2.631578947,60,0.368421053,8,10,19
+10,10,20,3,4,50,60,7,8,1,20,0.3,4,2.5,60,0.35,8,10,20
diff --git a/models/sbml-test-suite/cases/semantic/00999/00999-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/00999/00999-sbml-l2v4.xml
new file mode 100644
index 0000000..52c956b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00999/00999-sbml-l2v4.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case00999" name="case00999">
+    <listOfCompartments>
+      <compartment id="comp1" size="10"/>
+      <compartment id="comp2" size="10" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="comp1" initialConcentration="1"/>
+      <species id="S2" compartment="comp1" initialConcentration="2" hasOnlySubstanceUnits="true"/>
+      <species id="S3" compartment="comp1" initialAmount="3"/>
+      <species id="S4" compartment="comp1" initialAmount="4" hasOnlySubstanceUnits="true"/>
+      <species id="S5" compartment="comp2" initialConcentration="5"/>
+      <species id="S6" compartment="comp2" initialConcentration="6" hasOnlySubstanceUnits="true"/>
+      <species id="S7" compartment="comp2" initialAmount="7"/>
+      <species id="S8" compartment="comp2" initialAmount="8" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" constant="false"/>
+      <parameter id="p2" constant="false"/>
+      <parameter id="p3" constant="false"/>
+      <parameter id="p4" constant="false"/>
+      <parameter id="p5" constant="false"/>
+      <parameter id="p6" constant="false"/>
+      <parameter id="p7" constant="false"/>
+      <parameter id="p8" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="comp2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <assignmentRule variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S1 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S2 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S3 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S4 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S5 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S6 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S7 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S8 </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00999/00999-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/00999/00999-sbml-l3v1.xml
new file mode 100644
index 0000000..2110553
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00999/00999-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-01-04 15:12 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case00999" name="case00999">
+    <listOfCompartments>
+      <compartment id="comp1" spatialDimensions="3" size="10" constant="true"/>
+      <compartment id="comp2" spatialDimensions="3" size="10" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="comp1" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="comp1" initialConcentration="2" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="comp1" initialAmount="3" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" compartment="comp1" initialAmount="4" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S5" compartment="comp2" initialConcentration="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S6" compartment="comp2" initialConcentration="6" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S7" compartment="comp2" initialAmount="7" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S8" compartment="comp2" initialAmount="8" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" constant="false"/>
+      <parameter id="p2" constant="false"/>
+      <parameter id="p3" constant="false"/>
+      <parameter id="p4" constant="false"/>
+      <parameter id="p5" constant="false"/>
+      <parameter id="p6" constant="false"/>
+      <parameter id="p7" constant="false"/>
+      <parameter id="p8" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="comp2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <assignmentRule variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S1 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S2 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S3 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S4 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p5">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S5 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p6">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S6 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p7">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S7 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> S8 </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/00999/00999-settings.txt b/models/sbml-test-suite/cases/semantic/00999/00999-settings.txt
new file mode 100644
index 0000000..b2de610
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/00999/00999-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 10
+steps: 10
+variables: S1, S2, S3, S4, S5, S6, S7, S8, p1, p2, p3, p4, p5, p6, p7, p8, comp1, comp2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2, S3, S4, S5, S6, S7, S8
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/01000/01000-results.csv b/models/sbml-test-suite/cases/semantic/01000/01000-results.csv
new file mode 100644
index 0000000..a47a673
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01000/01000-results.csv
@@ -0,0 +1,1007 @@
+time,S1,S2,S3,S4,k1,k2,k3,k4,k5,kavo,comp,comp2
+0,1,3,4,2,1.1,8.12,2.5,1,2.8,1.000023545,5,1
+0.009950249,0.740405028,3.045137377,4,2,1.1,8.12,2.5,1.000049504,2.8,1.000023545,5.009950249,1.000049504
+0.019900498,0.480962633,3.076732758,4,2,1.1,8.12,2.5,1.000198015,2.8,1.000023545,5.019900498,1.000198015
+0.029850746,0.221820232,3.094856899,4,2,1.1,8.12,2.5,1.000445534,2.8,1.000023545,5.029850746,1.000445534
+0.039800995,-0.036876008,3.099610434,4,2,1.1,8.12,2.5,1.00079206,2.8,1.000023545,5.039800995,1.00079206
+0.049751244,-0.294981579,3.091123194,4,2,1.1,8.12,2.5,1.001237593,2.8,1.000023545,5.049751244,1.001237593
+0.059701493,-0.552354025,3.069553353,4,2,1.1,8.12,2.5,1.001782134,2.8,1.000023545,5.059701493,1.001782134
+0.069651741,-0.808853324,3.035086443,4,2,1.1,8.12,2.5,1.002425683,2.8,1.000023545,5.069651741,1.002425683
+0.07960199,-1.064342252,2.987934219,4,2,1.1,8.12,2.5,1.003168238,2.8,1.000023545,5.07960199,1.003168238
+0.089552239,-1.318686734,2.928333408,4,2,1.1,8.12,2.5,1.004009802,2.8,1.000023545,5.089552239,1.004009802
+0.099502488,-1.571756174,2.856544336,4,2,1.1,8.12,2.5,1.004950373,2.8,1.000023545,5.099502488,1.004950373
+0.109452736,-1.82342376,2.77284946,4,2,1.1,8.12,2.5,1.005989951,2.8,1.000023545,5.109452736,1.005989951
+0.119402985,-2.073566756,2.677551811,4,2,1.1,8.12,2.5,1.007128536,2.8,1.000023545,5.119402985,1.007128536
+0.129353234,-2.322066762,2.570973364,4,2,1.1,8.12,2.5,1.00836613,2.8,1.000023545,5.129353234,1.00836613
+0.139303483,-2.568809957,2.453453349,4,2,1.1,8.12,2.5,1.00970273,2.8,1.000023545,5.139303483,1.00970273
+0.149253731,-2.813687313,2.325346519,4,2,1.1,8.12,2.5,1.011138338,2.8,1.000023545,5.149253731,1.011138338
+0.15920398,-3.056594786,2.187021389,4,2,1.1,8.12,2.5,1.012672954,2.8,1.000023545,5.15920398,1.012672954
+0.169154229,-3.297433479,2.038858454,4,2,1.1,8.12,2.5,1.014306577,2.8,1.000023545,5.169154229,1.014306577
+0.179104478,-3.536109785,1.881248409,4,2,1.1,8.12,2.5,1.016039207,2.8,1.000023545,5.179104478,1.016039207
+0.189054726,-3.772535495,1.714590379,4,2,1.1,8.12,2.5,1.017870845,2.8,1.000023545,5.189054726,1.017870845
+0.199004975,-4.006627894,1.539290171,4,2,1.1,8.12,2.5,1.01980149,2.8,1.000023545,5.199004975,1.01980149
+0.208955224,-4.238309819,1.355758558,4,2,1.1,8.12,2.5,1.021831143,2.8,1.000023545,5.208955224,1.021831143
+0.218905473,-4.4675097,1.164409609,4,2,1.1,8.12,2.5,1.023959803,2.8,1.000023545,5.218905473,1.023959803
+0.228855721,-4.69416158,0.965659077,4,2,1.1,8.12,2.5,1.026187471,2.8,1.000023545,5.228855721,1.026187471
+0.23880597,-4.918205107,0.759922844,4,2,1.1,8.12,2.5,1.028514146,2.8,1.000023545,5.23880597,1.028514146
+0.248756219,-5.139585504,0.547615437,4,2,1.1,8.12,2.5,1.030939828,2.8,1.000023545,5.248756219,1.030939828
+0.258706468,-5.358253528,0.329148629,4,2,1.1,8.12,2.5,1.033464518,2.8,1.000023545,5.258706468,1.033464518
+0.268656716,-5.574165397,0.104930108,4,2,1.1,8.12,2.5,1.036088216,2.8,1.000023545,5.268656716,1.036088216
+0.278606965,-5.787282712,-0.124637754,4,2,1.1,8.12,2.5,1.038810921,2.8,1.000023545,5.278606965,1.038810921
+0.288557214,-5.997572353,-0.359159051,4,2,1.1,8.12,2.5,1.041632633,2.8,1.000023545,5.288557214,1.041632633
+0.298507463,-6.205006362,-0.598245394,4,2,1.1,8.12,2.5,1.044553353,2.8,1.000023545,5.298507463,1.044553353
+0.308457711,-6.409561819,-0.841516875,4,2,1.1,8.12,2.5,1.04757308,2.8,1.000023545,5.308457711,1.04757308
+0.31840796,-6.611220695,-1.088602933,4,2,1.1,8.12,2.5,1.050691815,2.8,1.000023545,5.31840796,1.050691815
+0.328358209,-6.809969703,-1.339143125,4,2,1.1,8.12,2.5,1.053909557,2.8,1.000023545,5.328358209,1.053909557
+0.338308458,-7.005800134,-1.592787809,4,2,1.1,8.12,2.5,1.057226306,2.8,1.000023545,5.338308458,1.057226306
+0.348258706,-7.19870769,-1.849198735,4,2,1.1,8.12,2.5,1.060642063,2.8,1.000023545,5.348258706,1.060642063
+0.358208955,-7.388692304,-2.108049539,4,2,1.1,8.12,2.5,1.064156828,2.8,1.000023545,5.358208955,1.064156828
+0.368159204,-7.575757957,-2.369026167,4,2,1.1,8.12,2.5,1.0677706,2.8,1.000023545,5.368159204,1.0677706
+0.378109453,-7.759912496,-2.631827203,4,2,1.1,8.12,2.5,1.071483379,2.8,1.000023545,5.378109453,1.071483379
+0.388059701,-7.941167439,-2.896164127,4,2,1.1,8.12,2.5,1.075295166,2.8,1.000023545,5.388059701,1.075295166
+0.39800995,-8.119537785,-3.161761492,4,2,1.1,8.12,2.5,1.07920596,2.8,1.000023545,5.39800995,1.07920596
+0.407960199,-8.295041821,-3.42835704,4,2,1.1,8.12,2.5,1.083215762,2.8,1.000023545,5.407960199,1.083215762
+0.417910448,-8.46770093,-3.695701744,4,2,1.1,8.12,2.5,1.087324571,2.8,1.000023545,5.417910448,1.087324571
+0.427860697,-8.637539394,-3.963559792,4,2,1.1,8.12,2.5,1.091532388,2.8,1.000023545,5.427860697,1.091532388
+0.437810945,-8.80458421,-4.231708519,4,2,1.1,8.12,2.5,1.095839212,2.8,1.000023545,5.437810945,1.095839212
+0.447761194,-8.968864896,-4.499938283,4,2,1.1,8.12,2.5,1.100245043,2.8,1.000023545,5.447761194,1.100245043
+0.457711443,-9.130413309,-4.768052294,4,2,1.1,8.12,2.5,1.104749882,2.8,1.000023545,5.457711443,1.104749882
+0.467661692,-9.28926346,-5.035866405,4,2,1.1,8.12,2.5,1.109353729,2.8,1.000023545,5.467661692,1.109353729
+0.47761194,-9.445451343,-5.303208863,4,2,1.1,8.12,2.5,1.114056583,2.8,1.000023545,5.47761194,1.114056583
+0.487562189,-9.599014755,-5.569920027,4,2,1.1,8.12,2.5,1.118858444,2.8,1.000023545,5.487562189,1.118858444
+0.497512438,-9.749993132,-5.835852059,4,2,1.1,8.12,2.5,1.123759313,2.8,1.000023545,5.497512438,1.123759313
+0.507462687,-9.480729886,-5.365478403,4,2,1.1,8.12,2.5,0.103759189,2.8,1.000023545,5.507462687,0.103759189
+0.517412935,-9.154071128,-4.813319228,4,2,1.1,8.12,2.5,0.108858073,2.8,1.000023545,5.517412935,0.108858073
+0.527363184,-8.899483501,-4.397158533,4,2,1.1,8.12,2.5,0.114055964,2.8,1.000023545,5.527363184,0.114055964
+0.537313433,-8.699952656,-4.0797728,4,2,1.1,8.12,2.5,0.119352863,2.8,1.000023545,5.537313433,0.119352863
+0.547263682,-8.543296382,-3.836067604,4,2,1.1,8.12,2.5,0.124748769,2.8,1.000023545,5.547263682,0.124748769
+0.55721393,-8.420581057,-3.64859283,4,2,1.1,8.12,2.5,0.130243682,2.8,1.000023545,5.55721393,0.130243682
+0.567164179,-8.325120231,-3.504888376,4,2,1.1,8.12,2.5,0.135837603,2.8,1.000023545,5.567164179,0.135837603
+0.577114428,-8.251820354,-3.39585135,4,2,1.1,8.12,2.5,0.141530531,2.8,1.000023545,5.577114428,0.141530531
+0.587064677,-8.19674114,-3.314697566,4,2,1.1,8.12,2.5,0.147322467,2.8,1.000023545,5.587064677,0.147322467
+0.597014925,-8.156792858,-3.25628152,4,2,1.1,8.12,2.5,0.153213411,2.8,1.000023545,5.597014925,0.153213411
+0.606965174,-8.129523386,-3.216639573,4,2,1.1,8.12,2.5,0.159203361,2.8,1.000023545,5.606965174,0.159203361
+0.616915423,-8.112965547,-3.192675997,4,2,1.1,8.12,2.5,0.165292319,2.8,1.000023545,5.616915423,0.165292319
+0.626865672,-8.105525809,-3.181942818,4,2,1.1,8.12,2.5,0.171480285,2.8,1.000023545,5.626865672,0.171480285
+0.63681592,-8.105901894,-3.182482569,4,2,1.1,8.12,2.5,0.177767258,2.8,1.000023545,5.63681592,0.177767258
+0.646766169,-8.113020962,-3.192714133,4,2,1.1,8.12,2.5,0.184153239,2.8,1.000023545,5.646766169,0.184153239
+0.656716418,-8.125992658,-3.211348615,4,2,1.1,8.12,2.5,0.190638227,2.8,1.000023545,5.656716418,0.190638227
+0.666666667,-8.144073037,-3.237326502,4,2,1.1,8.12,2.5,0.197222222,2.8,1.000023545,5.666666667,0.197222222
+0.676616915,-8.166636579,-3.269770133,4,2,1.1,8.12,2.5,0.203905225,2.8,1.000023545,5.676616915,0.203905225
+0.686567164,-8.193154253,-3.307947341,4,2,1.1,8.12,2.5,0.210687235,2.8,1.000023545,5.686567164,0.210687235
+0.696517413,-8.223176197,-3.351243347,4,2,1.1,8.12,2.5,0.217568253,2.8,1.000023545,5.696517413,0.217568253
+0.706467662,-8.25631791,-3.399138827,4,2,1.1,8.12,2.5,0.224548279,2.8,1.000023545,5.706467662,0.224548279
+0.71641791,-8.292249188,-3.451192626,4,2,1.1,8.12,2.5,0.231627311,2.8,1.000023545,5.71641791,0.231627311
+0.726368159,-8.330685169,-3.507028049,4,2,1.1,8.12,2.5,0.238805351,2.8,1.000023545,5.726368159,0.238805351
+0.736318408,-8.37137906,-3.566321871,4,2,1.1,8.12,2.5,0.246082399,2.8,1.000023545,5.736318408,0.246082399
+0.746268657,-8.414116191,-3.628795496,4,2,1.1,8.12,2.5,0.253458454,2.8,1.000023545,5.746268657,0.253458454
+0.756218905,-8.458709109,-3.694207767,4,2,1.1,8.12,2.5,0.260933516,2.8,1.000023545,5.756218905,0.260933516
+0.766169154,-8.504993541,-3.762349108,4,2,1.1,8.12,2.5,0.268507586,2.8,1.000023545,5.766169154,0.268507586
+0.776119403,-8.552825019,-3.8330367,4,2,1.1,8.12,2.5,0.276180664,2.8,1.000023545,5.776119403,0.276180664
+0.786069652,-8.602076075,-3.906110506,4,2,1.1,8.12,2.5,0.283952749,2.8,1.000023545,5.786069652,0.283952749
+0.7960199,-8.652633883,-3.981429963,4,2,1.1,8.12,2.5,0.291823841,2.8,1.000023545,5.7960199,0.291823841
+0.805970149,-8.704398273,-4.058871226,4,2,1.1,8.12,2.5,0.299793941,2.8,1.000023545,5.805970149,0.299793941
+0.815920398,-8.757280052,-4.138324853,4,2,1.1,8.12,2.5,0.307863048,2.8,1.000023545,5.815920398,0.307863048
+0.825870647,-8.811199578,-4.219693861,4,2,1.1,8.12,2.5,0.316031163,2.8,1.000023545,5.825870647,0.316031163
+0.835820896,-8.866085546,-4.302892077,4,2,1.1,8.12,2.5,0.324298285,2.8,1.000023545,5.835820896,0.324298285
+0.845771144,-8.92187395,-4.387842744,4,2,1.1,8.12,2.5,0.332664414,2.8,1.000023545,5.845771144,0.332664414
+0.855721393,-8.978507191,-4.474477321,4,2,1.1,8.12,2.5,0.341129551,2.8,1.000023545,5.855721393,0.341129551
+0.865671642,-9.035933312,-4.562734475,4,2,1.1,8.12,2.5,0.349693696,2.8,1.000023545,5.865671642,0.349693696
+0.875621891,-9.094105332,-4.652559197,4,2,1.1,8.12,2.5,0.358356848,2.8,1.000023545,5.875621891,0.358356848
+0.885572139,-9.15298068,-4.743902053,4,2,1.1,8.12,2.5,0.367119007,2.8,1.000023545,5.885572139,0.367119007
+0.895522388,-9.212520691,-4.836718535,4,2,1.1,8.12,2.5,0.375980174,2.8,1.000023545,5.895522388,0.375980174
+0.905472637,-9.272690177,-4.930968493,4,2,1.1,8.12,2.5,0.384940348,2.8,1.000023545,5.905472637,0.384940348
+0.915422886,-9.333457048,-5.02661565,4,2,1.1,8.12,2.5,0.39399953,2.8,1.000023545,5.915422886,0.39399953
+0.925373134,-9.39479198,-5.123627172,4,2,1.1,8.12,2.5,0.403157719,2.8,1.000023545,5.925373134,0.403157719
+0.935323383,-9.456668128,-5.221973298,4,2,1.1,8.12,2.5,0.412414915,2.8,1.000023545,5.935323383,0.412414915
+0.945273632,-9.519060869,-5.321627011,4,2,1.1,8.12,2.5,0.42177112,2.8,1.000023545,5.945273632,0.42177112
+0.955223881,-9.581947578,-5.422563752,4,2,1.1,8.12,2.5,0.431226331,2.8,1.000023545,5.955223881,0.431226331
+0.965174129,-9.645307428,-5.524761172,4,2,1.1,8.12,2.5,0.44078055,2.8,1.000023545,5.965174129,0.44078055
+0.975124378,-9.709121217,-5.628198903,4,2,1.1,8.12,2.5,0.450433776,2.8,1.000023545,5.975124378,0.450433776
+0.985074627,-9.773371211,-5.732858367,4,2,1.1,8.12,2.5,0.46018601,2.8,1.000023545,5.985074627,0.46018601
+0.995024876,-9.838041007,-5.8387226,4,2,1.1,8.12,2.5,0.470037252,2.8,1.000023545,5.995024876,0.470037252
+1.004975124,-9.903115407,-5.945776096,4,2,1.1,8.12,2.5,0.4799875,2.8,1.000023545,6.004975124,0.4799875
+1.014925373,-9.968580312,-6.054004673,4,2,1.1,8.12,2.5,0.490036757,2.8,1.000023545,6.014925373,0.490036757
+1.024875622,-10.03442262,-6.163395348,4,2,1.1,8.12,2.5,0.50018502,2.8,1.000023545,6.024875622,0.50018502
+1.034825871,-10.10063014,-6.273936229,4,2,1.1,8.12,2.5,0.510432291,2.8,1.000023545,6.034825871,0.510432291
+1.044776119,-10.16719152,-6.385616418,4,2,1.1,8.12,2.5,0.52077857,2.8,1.000023545,6.044776119,0.52077857
+1.054726368,-10.23409615,-6.49842592,4,2,1.1,8.12,2.5,0.531223856,2.8,1.000023545,6.054726368,0.531223856
+1.064676617,-10.30133415,-6.61235557,4,2,1.1,8.12,2.5,0.541768149,2.8,1.000023545,6.064676617,0.541768149
+1.074626866,-10.36889625,-6.72739696,4,2,1.1,8.12,2.5,0.55241145,2.8,1.000023545,6.074626866,0.55241145
+1.084577114,-10.43677378,-6.843542372,4,2,1.1,8.12,2.5,0.563153759,2.8,1.000023545,6.084577114,0.563153759
+1.094527363,-10.50495863,-6.960784728,4,2,1.1,8.12,2.5,0.573995074,2.8,1.000023545,6.094527363,0.573995074
+1.104477612,-10.57344315,-7.079117533,4,2,1.1,8.12,2.5,0.584935398,2.8,1.000023545,6.104477612,0.584935398
+1.114427861,-10.64222019,-7.198534831,4,2,1.1,8.12,2.5,0.595974728,2.8,1.000023545,6.114427861,0.595974728
+1.124378109,-10.711283,-7.319031159,4,2,1.1,8.12,2.5,0.607113067,2.8,1.000023545,6.124378109,0.607113067
+1.134328358,-10.78062524,-7.440601515,4,2,1.1,8.12,2.5,0.618350412,2.8,1.000023545,6.134328358,0.618350412
+1.144278607,-10.85024093,-7.563241319,4,2,1.1,8.12,2.5,0.629686765,2.8,1.000023545,6.144278607,0.629686765
+1.154228856,-10.92012443,-7.68694638,4,2,1.1,8.12,2.5,0.641122126,2.8,1.000023545,6.154228856,0.641122126
+1.164179104,-10.99027042,-7.811712873,4,2,1.1,8.12,2.5,0.652656494,2.8,1.000023545,6.164179104,0.652656494
+1.174129353,-11.06067387,-7.937537308,4,2,1.1,8.12,2.5,0.664289869,2.8,1.000023545,6.174129353,0.664289869
+1.184079602,-11.13133001,-8.064416507,4,2,1.1,8.12,2.5,0.676022252,2.8,1.000023545,6.184079602,0.676022252
+1.194029851,-11.20223435,-8.192347582,4,2,1.1,8.12,2.5,0.687853642,2.8,1.000023545,6.194029851,0.687853642
+1.2039801,-11.27338262,-8.32132792,4,2,1.1,8.12,2.5,0.69978404,2.8,1.000023545,6.2039801,0.69978404
+1.213930348,-11.34477078,-8.451355156,4,2,1.1,8.12,2.5,0.711813445,2.8,1.000023545,6.213930348,0.711813445
+1.223880597,-11.41639499,-8.582427165,4,2,1.1,8.12,2.5,0.723941858,2.8,1.000023545,6.223880597,0.723941858
+1.233830846,-11.48825162,-8.714542039,4,2,1.1,8.12,2.5,0.736169278,2.8,1.000023545,6.233830846,0.736169278
+1.243781095,-11.56033721,-8.84769808,4,2,1.1,8.12,2.5,0.748495706,2.8,1.000023545,6.243781095,0.748495706
+1.253731343,-11.63264848,-8.981893782,4,2,1.1,8.12,2.5,0.760921141,2.8,1.000023545,6.253731343,0.760921141
+1.263681592,-11.7051823,-9.117127822,4,2,1.1,8.12,2.5,0.773445583,2.8,1.000023545,6.263681592,0.773445583
+1.273631841,-11.7779357,-9.253399048,4,2,1.1,8.12,2.5,0.786069033,2.8,1.000023545,6.273631841,0.786069033
+1.28358209,-11.85090586,-9.390706467,4,2,1.1,8.12,2.5,0.79879149,2.8,1.000023545,6.28358209,0.79879149
+1.293532338,-11.92409009,-9.529049241,4,2,1.1,8.12,2.5,0.811612955,2.8,1.000023545,6.293532338,0.811612955
+1.303482587,-11.99748581,-9.668426673,4,2,1.1,8.12,2.5,0.824533427,2.8,1.000023545,6.303482587,0.824533427
+1.313432836,-12.07109058,-9.808838201,4,2,1.1,8.12,2.5,0.837552907,2.8,1.000023545,6.313432836,0.837552907
+1.323383085,-12.14490207,-9.950283393,4,2,1.1,8.12,2.5,0.850671394,2.8,1.000023545,6.323383085,0.850671394
+1.333333333,-12.21891806,-10.09276194,4,2,1.1,8.12,2.5,0.863888889,2.8,1.000023545,6.333333333,0.863888889
+1.343283582,-12.29313642,-10.23627363,4,2,1.1,8.12,2.5,0.877205391,2.8,1.000023545,6.343283582,0.877205391
+1.353233831,-12.36755513,-10.38081839,4,2,1.1,8.12,2.5,0.8906209,2.8,1.000023545,6.353233831,0.8906209
+1.36318408,-12.44217225,-10.52639624,4,2,1.1,8.12,2.5,0.904135417,2.8,1.000023545,6.36318408,0.904135417
+1.373134328,-12.51698593,-10.67300728,4,2,1.1,8.12,2.5,0.917748942,2.8,1.000023545,6.373134328,0.917748942
+1.383084577,-12.59199442,-10.82065172,4,2,1.1,8.12,2.5,0.931461474,2.8,1.000023545,6.383084577,0.931461474
+1.393034826,-12.66719601,-10.96932986,4,2,1.1,8.12,2.5,0.945273013,2.8,1.000023545,6.393034826,0.945273013
+1.402985075,-12.74258911,-11.11904209,4,2,1.1,8.12,2.5,0.95918356,2.8,1.000023545,6.402985075,0.95918356
+1.412935323,-12.81817216,-11.26978887,4,2,1.1,8.12,2.5,0.973193114,2.8,1.000023545,6.412935323,0.973193114
+1.422885572,-12.89394371,-11.42157074,4,2,1.1,8.12,2.5,0.987301676,2.8,1.000023545,6.422885572,0.987301676
+1.432835821,-12.96990233,-11.57438833,4,2,1.1,8.12,2.5,1.001509245,2.8,1.000023545,6.432835821,1.001509245
+1.44278607,-13.04604668,-11.72824232,4,2,1.1,8.12,2.5,1.015815821,2.8,1.000023545,6.44278607,1.015815821
+1.452736318,-13.12237547,-11.88313348,4,2,1.1,8.12,2.5,1.030221405,2.8,1.000023545,6.452736318,1.030221405
+1.462686567,-13.19888748,-12.03906263,4,2,1.1,8.12,2.5,1.044725997,2.8,1.000023545,6.462686567,1.044725997
+1.472636816,-13.27558152,-12.19603066,4,2,1.1,8.12,2.5,1.059329596,2.8,1.000023545,6.472636816,1.059329596
+1.482587065,-13.35245646,-12.35403853,4,2,1.1,8.12,2.5,1.074032202,2.8,1.000023545,6.482587065,1.074032202
+1.492537313,-13.42951125,-12.51308725,4,2,1.1,8.12,2.5,1.088833816,2.8,1.000023545,6.492537313,1.088833816
+1.502487562,-13.50674483,-12.67317789,4,2,1.1,8.12,2.5,1.103734437,2.8,1.000023545,6.502487562,1.103734437
+1.512437811,-13.58415623,-12.83431158,4,2,1.1,8.12,2.5,1.118734066,2.8,1.000023545,6.512437811,1.118734066
+1.52238806,-13.66174452,-12.9964895,4,2,1.1,8.12,2.5,1.133832702,2.8,1.000023545,6.52238806,1.133832702
+1.532338308,-13.73950878,-13.15971288,4,2,1.1,8.12,2.5,1.149030346,2.8,1.000023545,6.532338308,1.149030346
+1.542288557,-13.81744817,-13.323983,4,2,1.1,8.12,2.5,1.164326997,2.8,1.000023545,6.542288557,1.164326997
+1.552238806,-13.89556185,-13.4893012,4,2,1.1,8.12,2.5,1.179722655,2.8,1.000023545,6.552238806,1.179722655
+1.562189055,-13.97384906,-13.65566886,4,2,1.1,8.12,2.5,1.195217321,2.8,1.000023545,6.562189055,1.195217321
+1.572139303,-14.05230905,-13.82308741,4,2,1.1,8.12,2.5,1.210810995,2.8,1.000023545,6.572139303,1.210810995
+1.582089552,-14.13094109,-13.99155831,4,2,1.1,8.12,2.5,1.226503676,2.8,1.000023545,6.582089552,1.226503676
+1.592039801,-14.20974452,-14.16108309,4,2,1.1,8.12,2.5,1.242295364,2.8,1.000023545,6.592039801,1.242295364
+1.60199005,-14.28871867,-14.3316633,4,2,1.1,8.12,2.5,1.25818606,2.8,1.000023545,6.60199005,1.25818606
+1.611940299,-14.36786295,-14.50330055,4,2,1.1,8.12,2.5,1.274175763,2.8,1.000023545,6.611940299,1.274175763
+1.621890547,-14.44717676,-14.67599648,4,2,1.1,8.12,2.5,1.290264474,2.8,1.000023545,6.621890547,1.290264474
+1.631840796,-14.52665954,-14.84975278,4,2,1.1,8.12,2.5,1.306452192,2.8,1.000023545,6.631840796,1.306452192
+1.641791045,-14.60631076,-15.02457116,4,2,1.1,8.12,2.5,1.322738917,2.8,1.000023545,6.641791045,1.322738917
+1.651741294,-14.68612991,-15.20045339,4,2,1.1,8.12,2.5,1.33912465,2.8,1.000023545,6.651741294,1.33912465
+1.661691542,-14.76611653,-15.37740127,4,2,1.1,8.12,2.5,1.355609391,2.8,1.000023545,6.661691542,1.355609391
+1.671641791,-14.84627015,-15.55541663,4,2,1.1,8.12,2.5,1.372193139,2.8,1.000023545,6.671641791,1.372193139
+1.68159204,-14.92659034,-15.73450135,4,2,1.1,8.12,2.5,1.388875894,2.8,1.000023545,6.68159204,1.388875894
+1.691542289,-15.0070767,-15.91465734,4,2,1.1,8.12,2.5,1.405657657,2.8,1.000023545,6.691542289,1.405657657
+1.701492537,-15.08772885,-16.09588653,4,2,1.1,8.12,2.5,1.422538427,2.8,1.000023545,6.701492537,1.422538427
+1.711442786,-15.16854642,-16.27819091,4,2,1.1,8.12,2.5,1.439518205,2.8,1.000023545,6.711442786,1.439518205
+1.721393035,-15.24952907,-16.46157249,4,2,1.1,8.12,2.5,1.45659699,2.8,1.000023545,6.721393035,1.45659699
+1.731343284,-15.33067648,-16.64603331,4,2,1.1,8.12,2.5,1.473774783,2.8,1.000023545,6.731343284,1.473774783
+1.741293532,-15.41198836,-16.83157545,4,2,1.1,8.12,2.5,1.491051583,2.8,1.000023545,6.741293532,1.491051583
+1.751243781,-15.49346441,-17.01820103,4,2,1.1,8.12,2.5,1.50842739,2.8,1.000023545,6.751243781,1.50842739
+1.76119403,-15.57510438,-17.20591218,4,2,1.1,8.12,2.5,1.525902205,2.8,1.000023545,6.76119403,1.525902205
+1.771144279,-15.65690803,-17.39471109,4,2,1.1,8.12,2.5,1.543476028,2.8,1.000023545,6.771144279,1.543476028
+1.781094527,-15.73887512,-17.58459994,4,2,1.1,8.12,2.5,1.561148858,2.8,1.000023545,6.781094527,1.561148858
+1.791044776,-15.82100544,-17.775581,4,2,1.1,8.12,2.5,1.578920695,2.8,1.000023545,6.791044776,1.578920695
+1.800995025,-15.90329881,-17.96765651,4,2,1.1,8.12,2.5,1.59679154,2.8,1.000023545,6.800995025,1.59679154
+1.810945274,-15.98575504,-18.16082878,4,2,1.1,8.12,2.5,1.614761392,2.8,1.000023545,6.810945274,1.614761392
+1.820895522,-16.06837398,-18.35510013,4,2,1.1,8.12,2.5,1.632830252,2.8,1.000023545,6.820895522,1.632830252
+1.830845771,-16.15115547,-18.55047292,4,2,1.1,8.12,2.5,1.650998119,2.8,1.000023545,6.830845771,1.650998119
+1.84079602,-16.23409938,-18.74694954,4,2,1.1,8.12,2.5,1.669264993,2.8,1.000023545,6.84079602,1.669264993
+1.850746269,-16.3172056,-18.9445324,4,2,1.1,8.12,2.5,1.687630875,2.8,1.000023545,6.850746269,1.687630875
+1.860696517,-16.40047402,-19.14322394,4,2,1.1,8.12,2.5,1.706095765,2.8,1.000023545,6.860696517,1.706095765
+1.870646766,-16.48390455,-19.34302663,4,2,1.1,8.12,2.5,1.724659662,2.8,1.000023545,6.870646766,1.724659662
+1.880597015,-16.56749712,-19.54394299,4,2,1.1,8.12,2.5,1.743322566,2.8,1.000023545,6.880597015,1.743322566
+1.890547264,-16.65125166,-19.74597552,4,2,1.1,8.12,2.5,1.762084478,2.8,1.000023545,6.890547264,1.762084478
+1.900497512,-16.73516812,-19.94912679,4,2,1.1,8.12,2.5,1.780945397,2.8,1.000023545,6.900497512,1.780945397
+1.910447761,-16.81924646,-20.15339938,4,2,1.1,8.12,2.5,1.799905324,2.8,1.000023545,6.910447761,1.799905324
+1.92039801,-16.90348665,-20.3587959,4,2,1.1,8.12,2.5,1.818964258,2.8,1.000023545,6.92039801,1.818964258
+1.930348259,-16.98788868,-20.56531899,4,2,1.1,8.12,2.5,1.8381222,2.8,1.000023545,6.930348259,1.8381222
+1.940298507,-17.07245253,-20.7729713,4,2,1.1,8.12,2.5,1.857379149,2.8,1.000023545,6.940298507,1.857379149
+1.950248756,-17.15717823,-20.98175554,4,2,1.1,8.12,2.5,1.876735106,2.8,1.000023545,6.950248756,1.876735106
+1.960199005,-17.24206577,-21.19167442,4,2,1.1,8.12,2.5,1.89619007,2.8,1.000023545,6.960199005,1.89619007
+1.970149254,-17.3271152,-21.40273068,4,2,1.1,8.12,2.5,1.915744041,2.8,1.000023545,6.970149254,1.915744041
+1.980099502,-17.41232655,-21.61492708,4,2,1.1,8.12,2.5,1.93539702,2.8,1.000023545,6.980099502,1.93539702
+1.990049751,-17.49769986,-21.82826644,4,2,1.1,8.12,2.5,1.955149006,2.8,1.000023545,6.990049751,1.955149006
+2,-17.58323519,-22.04275156,4,2,1.1,8.12,2.5,1.975,2.8,1.000023545,7,1.975
+2.009950249,-17.66893261,-22.2583853,4,2,1.1,8.12,2.5,1.994950001,2.8,1.000023545,7.009950249,1.994950001
+2.019900498,-17.75479219,-22.47517052,4,2,1.1,8.12,2.5,2.01499901,2.8,1.000023545,7.019900498,2.01499901
+2.029850746,-17.84081403,-22.69311014,4,2,1.1,8.12,2.5,2.035147026,2.8,1.000023545,7.029850746,2.035147026
+2.039800995,-17.9269982,-22.91220706,4,2,1.1,8.12,2.5,2.05539405,2.8,1.000023545,7.039800995,2.05539405
+2.049751244,-18.01334481,-23.13246424,4,2,1.1,8.12,2.5,2.075740081,2.8,1.000023545,7.049751244,2.075740081
+2.059701493,-18.09985398,-23.35388465,4,2,1.1,8.12,2.5,2.096185119,2.8,1.000023545,7.059701493,2.096185119
+2.069651741,-18.18652582,-23.5764713,4,2,1.1,8.12,2.5,2.116729165,2.8,1.000023545,7.069651741,2.116729165
+2.07960199,-18.27336046,-23.8002272,4,2,1.1,8.12,2.5,2.137372219,2.8,1.000023545,7.07960199,2.137372219
+2.089552239,-18.36035803,-24.02515541,4,2,1.1,8.12,2.5,2.158114279,2.8,1.000023545,7.089552239,2.158114279
+2.099502488,-18.44751867,-24.251259,4,2,1.1,8.12,2.5,2.178955348,2.8,1.000023545,7.099502488,2.178955348
+2.109452736,-18.53484253,-24.47854107,4,2,1.1,8.12,2.5,2.199895423,2.8,1.000023545,7.109452736,2.199895423
+2.119402985,-18.62232977,-24.70700473,4,2,1.1,8.12,2.5,2.220934507,2.8,1.000023545,7.119402985,2.220934507
+2.129353234,-18.70998056,-24.93665315,4,2,1.1,8.12,2.5,2.242072597,2.8,1.000023545,7.129353234,2.242072597
+2.139303483,-18.79779505,-25.16748949,4,2,1.1,8.12,2.5,2.263309695,2.8,1.000023545,7.139303483,2.263309695
+2.149253731,-18.88577344,-25.39951694,4,2,1.1,8.12,2.5,2.284645801,2.8,1.000023545,7.149253731,2.284645801
+2.15920398,-18.9739159,-25.63273873,4,2,1.1,8.12,2.5,2.306080914,2.8,1.000023545,7.15920398,2.306080914
+2.169154229,-19.06222262,-25.8671581,4,2,1.1,8.12,2.5,2.327615034,2.8,1.000023545,7.169154229,2.327615034
+2.179104478,-19.1506938,-26.10277832,4,2,1.1,8.12,2.5,2.349248162,2.8,1.000023545,7.179104478,2.349248162
+2.189054726,-19.23932965,-26.33960268,4,2,1.1,8.12,2.5,2.370980298,2.8,1.000023545,7.189054726,2.370980298
+2.199004975,-19.32813036,-26.57763451,4,2,1.1,8.12,2.5,2.39281144,2.8,1.000023545,7.199004975,2.39281144
+2.208955224,-19.41709617,-26.81687713,4,2,1.1,8.12,2.5,2.414741591,2.8,1.000023545,7.208955224,2.414741591
+2.218905473,-19.50622728,-27.05733392,4,2,1.1,8.12,2.5,2.436770748,2.8,1.000023545,7.218905473,2.436770748
+2.228855721,-19.59552393,-27.29900827,4,2,1.1,8.12,2.5,2.458898913,2.8,1.000023545,7.228855721,2.458898913
+2.23880597,-19.68498634,-27.54190358,4,2,1.1,8.12,2.5,2.481126086,2.8,1.000023545,7.23880597,2.481126086
+2.248756219,-19.77461475,-27.78602329,4,2,1.1,8.12,2.5,2.503452266,2.8,1.000023545,7.248756219,2.503452266
+2.258706468,-19.86440941,-28.03137086,4,2,1.1,8.12,2.5,2.525877454,2.8,1.000023545,7.258706468,2.525877454
+2.268656716,-19.95437057,-28.27794978,4,2,1.1,8.12,2.5,2.548401649,2.8,1.000023545,7.268656716,2.548401649
+2.278606965,-20.04449848,-28.52576354,4,2,1.1,8.12,2.5,2.571024851,2.8,1.000023545,7.278606965,2.571024851
+2.288557214,-20.13479339,-28.77481569,4,2,1.1,8.12,2.5,2.593747061,2.8,1.000023545,7.288557214,2.593747061
+2.298507463,-20.22525557,-29.02510977,4,2,1.1,8.12,2.5,2.616568278,2.8,1.000023545,7.298507463,2.616568278
+2.308457711,-20.31588528,-29.27664936,4,2,1.1,8.12,2.5,2.639488503,2.8,1.000023545,7.308457711,2.639488503
+2.31840796,-20.40668281,-29.52943807,4,2,1.1,8.12,2.5,2.662507735,2.8,1.000023545,7.31840796,2.662507735
+2.328358209,-20.49764843,-29.78347951,4,2,1.1,8.12,2.5,2.685625975,2.8,1.000023545,7.328358209,2.685625975
+2.338308458,-20.58878241,-30.03877733,4,2,1.1,8.12,2.5,2.708843222,2.8,1.000023545,7.338308458,2.708843222
+2.348258706,-20.68008505,-30.2953352,4,2,1.1,8.12,2.5,2.732159476,2.8,1.000023545,7.348258706,2.732159476
+2.358208955,-20.77155664,-30.55315682,4,2,1.1,8.12,2.5,2.755574738,2.8,1.000023545,7.358208955,2.755574738
+2.368159204,-20.86319746,-30.8122459,4,2,1.1,8.12,2.5,2.779089008,2.8,1.000023545,7.368159204,2.779089008
+2.378109453,-20.95500783,-31.07260618,4,2,1.1,8.12,2.5,2.802702285,2.8,1.000023545,7.378109453,2.802702285
+2.388059701,-21.04698804,-31.33424143,4,2,1.1,8.12,2.5,2.826414569,2.8,1.000023545,7.388059701,2.826414569
+2.39800995,-21.1391384,-31.59715543,4,2,1.1,8.12,2.5,2.850225861,2.8,1.000023545,7.39800995,2.850225861
+2.407960199,-21.23145923,-31.86135199,4,2,1.1,8.12,2.5,2.87413616,2.8,1.000023545,7.407960199,2.87413616
+2.417910448,-21.32395083,-32.12683495,4,2,1.1,8.12,2.5,2.898145467,2.8,1.000023545,7.417910448,2.898145467
+2.427860697,-21.41661353,-32.39360814,4,2,1.1,8.12,2.5,2.922253781,2.8,1.000023545,7.427860697,2.922253781
+2.437810945,-21.50944765,-32.66167547,4,2,1.1,8.12,2.5,2.946461103,2.8,1.000023545,7.437810945,2.946461103
+2.447761194,-21.60245351,-32.93104082,4,2,1.1,8.12,2.5,2.970767432,2.8,1.000023545,7.447761194,2.970767432
+2.457711443,-21.69563144,-33.20170812,4,2,1.1,8.12,2.5,2.995172768,2.8,1.000023545,7.457711443,2.995172768
+2.467661692,-21.78898179,-33.47368132,4,2,1.1,8.12,2.5,3.019677112,2.8,1.000023545,7.467661692,3.019677112
+2.47761194,-21.88250488,-33.74696439,4,2,1.1,8.12,2.5,3.044280463,2.8,1.000023545,7.47761194,3.044280463
+2.487562189,-21.97620105,-34.02156131,4,2,1.1,8.12,2.5,3.068982822,2.8,1.000023545,7.487562189,3.068982822
+2.497512438,-22.07007066,-34.29747611,4,2,1.1,8.12,2.5,3.093784189,2.8,1.000023545,7.497512438,3.093784189
+2.507462687,-22.16411404,-34.57471283,4,2,1.1,8.12,2.5,3.118684562,2.8,1.000023545,7.507462687,3.118684562
+2.517412935,-22.25833154,-34.85327551,4,2,1.1,8.12,2.5,3.143683944,2.8,1.000023545,7.517412935,3.143683944
+2.527363184,-22.35272352,-35.13316826,4,2,1.1,8.12,2.5,3.168782332,2.8,1.000023545,7.527363184,3.168782332
+2.537313433,-22.44729034,-35.41439517,4,2,1.1,8.12,2.5,3.193979728,2.8,1.000023545,7.537313433,3.193979728
+2.547263682,-22.54203235,-35.69696038,4,2,1.1,8.12,2.5,3.219276132,2.8,1.000023545,7.547263682,3.219276132
+2.55721393,-22.63694991,-35.98086803,4,2,1.1,8.12,2.5,3.244671543,2.8,1.000023545,7.55721393,3.244671543
+2.567164179,-22.7320434,-36.26612231,4,2,1.1,8.12,2.5,3.270165961,2.8,1.000023545,7.567164179,3.270165961
+2.577114428,-22.82731318,-36.5527274,4,2,1.1,8.12,2.5,3.295759387,2.8,1.000023545,7.577114428,3.295759387
+2.587064677,-22.92275961,-36.84068753,4,2,1.1,8.12,2.5,3.321451821,2.8,1.000023545,7.587064677,3.321451821
+2.597014925,-23.01838307,-37.13000695,4,2,1.1,8.12,2.5,3.347243261,2.8,1.000023545,7.597014925,3.347243261
+2.606965174,-23.11418395,-37.42068991,4,2,1.1,8.12,2.5,3.37313371,2.8,1.000023545,7.606965174,3.37313371
+2.616915423,-23.21016261,-37.71274071,4,2,1.1,8.12,2.5,3.399123165,2.8,1.000023545,7.616915423,3.399123165
+2.626865672,-23.30631944,-38.00616366,4,2,1.1,8.12,2.5,3.425211629,2.8,1.000023545,7.626865672,3.425211629
+2.63681592,-23.40265482,-38.30096308,4,2,1.1,8.12,2.5,3.451399099,2.8,1.000023545,7.63681592,3.451399099
+2.646766169,-23.49916914,-38.59714335,4,2,1.1,8.12,2.5,3.477685577,2.8,1.000023545,7.646766169,3.477685577
+2.656716418,-23.59586279,-38.89470882,4,2,1.1,8.12,2.5,3.504071063,2.8,1.000023545,7.656716418,3.504071063
+2.666666667,-23.69273616,-39.19366392,4,2,1.1,8.12,2.5,3.530555556,2.8,1.000023545,7.666666667,3.530555556
+2.676616915,-23.78978963,-39.49401306,4,2,1.1,8.12,2.5,3.557139056,2.8,1.000023545,7.676616915,3.557139056
+2.686567164,-23.88702362,-39.79576068,4,2,1.1,8.12,2.5,3.583821564,2.8,1.000023545,7.686567164,3.583821564
+2.696517413,-23.98443851,-40.09891126,4,2,1.1,8.12,2.5,3.610603079,2.8,1.000023545,7.696517413,3.610603079
+2.706467662,-24.08203471,-40.40346929,4,2,1.1,8.12,2.5,3.637483602,2.8,1.000023545,7.706467662,3.637483602
+2.71641791,-24.17981262,-40.70943929,4,2,1.1,8.12,2.5,3.664463132,2.8,1.000023545,7.71641791,3.664463132
+2.726368159,-24.27777265,-41.01682578,4,2,1.1,8.12,2.5,3.69154167,2.8,1.000023545,7.726368159,3.69154167
+2.736318408,-24.37591519,-41.32563333,4,2,1.1,8.12,2.5,3.718719215,2.8,1.000023545,7.736318408,3.718719215
+2.746268657,-24.47424067,-41.63586652,4,2,1.1,8.12,2.5,3.745995768,2.8,1.000023545,7.746268657,3.745995768
+2.756218905,-24.57274948,-41.94752996,4,2,1.1,8.12,2.5,3.773371328,2.8,1.000023545,7.756218905,3.773371328
+2.766169154,-24.67144205,-42.26062827,4,2,1.1,8.12,2.5,3.800845895,2.8,1.000023545,7.766169154,3.800845895
+2.776119403,-24.77031879,-42.5751661,4,2,1.1,8.12,2.5,3.82841947,2.8,1.000023545,7.776119403,3.82841947
+2.786069652,-24.86938012,-42.89114813,4,2,1.1,8.12,2.5,3.856092052,2.8,1.000023545,7.786069652,3.856092052
+2.7960199,-24.96862645,-43.20857904,4,2,1.1,8.12,2.5,3.883863642,2.8,1.000023545,7.7960199,3.883863642
+2.805970149,-25.06805821,-43.52746356,4,2,1.1,8.12,2.5,3.911734239,2.8,1.000023545,7.805970149,3.911734239
+2.815920398,-25.16767582,-43.84780643,4,2,1.1,8.12,2.5,3.939703844,2.8,1.000023545,7.815920398,3.939703844
+2.825870647,-25.2674797,-44.1696124,4,2,1.1,8.12,2.5,3.967772456,2.8,1.000023545,7.825870647,3.967772456
+2.835820896,-25.36747028,-44.49288627,4,2,1.1,8.12,2.5,3.995940076,2.8,1.000023545,7.835820896,3.995940076
+2.845771144,-25.46764798,-44.81763283,4,2,1.1,8.12,2.5,4.024206703,2.8,1.000023545,7.845771144,4.024206703
+2.855721393,-25.56801325,-45.14385693,4,2,1.1,8.12,2.5,4.052572338,2.8,1.000023545,7.855721393,4.052572338
+2.865671642,-25.6685665,-45.47156341,4,2,1.1,8.12,2.5,4.08103698,2.8,1.000023545,7.865671642,4.08103698
+2.875621891,-25.76930818,-45.80075714,4,2,1.1,8.12,2.5,4.109600629,2.8,1.000023545,7.875621891,4.109600629
+2.885572139,-25.87023871,-46.13144303,4,2,1.1,8.12,2.5,4.138263286,2.8,1.000023545,7.885572139,4.138263286
+2.895522388,-25.97135853,-46.46362599,4,2,1.1,8.12,2.5,4.16702495,2.8,1.000023545,7.895522388,4.16702495
+2.905472637,-26.07266809,-46.79731097,4,2,1.1,8.12,2.5,4.195885622,2.8,1.000023545,7.905472637,4.195885622
+2.915422886,-26.17416781,-47.13250292,4,2,1.1,8.12,2.5,4.224845301,2.8,1.000023545,7.915422886,4.224845301
+2.925373134,-26.27585815,-47.46920685,4,2,1.1,8.12,2.5,4.253903988,2.8,1.000023545,7.925373134,4.253903988
+2.935323383,-26.37773954,-47.80742775,4,2,1.1,8.12,2.5,4.283061682,2.8,1.000023545,7.935323383,4.283061682
+2.945273632,-26.47981242,-48.14717067,4,2,1.1,8.12,2.5,4.312318383,2.8,1.000023545,7.945273632,4.312318383
+2.955223881,-26.58207725,-48.48844065,4,2,1.1,8.12,2.5,4.341674092,2.8,1.000023545,7.955223881,4.341674092
+2.965174129,-26.68453447,-48.83124277,4,2,1.1,8.12,2.5,4.371128809,2.8,1.000023545,7.965174129,4.371128809
+2.975124378,-26.78718452,-49.17558214,4,2,1.1,8.12,2.5,4.400682533,2.8,1.000023545,7.975124378,4.400682533
+2.985074627,-26.89002786,-49.52146387,4,2,1.1,8.12,2.5,4.430335264,2.8,1.000023545,7.985074627,4.430335264
+2.995024876,-26.99306494,-49.86889312,4,2,1.1,8.12,2.5,4.460087003,2.8,1.000023545,7.995024876,4.460087003
+3.004975124,-27.04628081,-50.04867992,4,2,1.1,8.12,4,2.814937749,0.475,1.000023545,8.004975124,2.814937749
+3.014925373,-27.05130971,-50.06566119,4,2,1.1,8.12,4,2.844887503,0.475,1.000023545,8.014925373,2.844887503
+3.024875622,-27.05865529,-50.09044055,4,2,1.1,8.12,4,2.874936264,0.475,1.000023545,8.024875622,2.874936264
+3.034825871,-27.06825231,-50.12278517,4,2,1.1,8.12,4,2.905084033,0.475,1.000023545,8.034825871,2.905084033
+3.044776119,-27.08003829,-50.16247386,4,2,1.1,8.12,4,2.935330809,0.475,1.000023545,8.044776119,2.935330809
+3.054726368,-27.09395327,-50.20929633,4,2,1.1,8.12,4,2.965676592,0.475,1.000023545,8.054726368,2.965676592
+3.064676617,-27.10993975,-50.26305256,4,2,1.1,8.12,4,2.996121383,0.475,1.000023545,8.064676617,2.996121383
+3.074626866,-27.12794255,-50.32355224,4,2,1.1,8.12,4,3.026665182,0.475,1.000023545,8.074626866,3.026665182
+3.084577114,-27.14790867,-50.39061417,4,2,1.1,8.12,4,3.057307987,0.475,1.000023545,8.084577114,3.057307987
+3.094527363,-27.16978721,-50.46406577,4,2,1.1,8.12,4,3.088049801,0.475,1.000023545,8.094527363,3.088049801
+3.104477612,-27.19352924,-50.5437426,4,2,1.1,8.12,4,3.118890622,0.475,1.000023545,8.104477612,3.118890622
+3.114427861,-27.21908773,-50.62948789,4,2,1.1,8.12,4,3.14983045,0.475,1.000023545,8.114427861,3.14983045
+3.124378109,-27.24641746,-50.72115212,4,2,1.1,8.12,4,3.180869285,0.475,1.000023545,8.124378109,3.180869285
+3.134328358,-27.2754749,-50.81859267,4,2,1.1,8.12,4,3.212007129,0.475,1.000023545,8.134328358,3.212007129
+3.144278607,-27.30621817,-50.92167337,4,2,1.1,8.12,4,3.243243979,0.475,1.000023545,8.144278607,3.243243979
+3.154228856,-27.33860693,-51.03026424,4,2,1.1,8.12,4,3.274579837,0.475,1.000023545,8.154228856,3.274579837
+3.164179104,-27.37260233,-51.14424109,4,2,1.1,8.12,4,3.306014703,0.475,1.000023545,8.164179104,3.306014703
+3.174129353,-27.40816695,-51.26348528,4,2,1.1,8.12,4,3.337548576,0.475,1.000023545,8.174129353,3.337548576
+3.184079602,-27.44526469,-51.38788339,4,2,1.1,8.12,4,3.369181456,0.475,1.000023545,8.184079602,3.369181456
+3.194029851,-27.48386078,-51.51732698,4,2,1.1,8.12,4,3.400913344,0.475,1.000023545,8.194029851,3.400913344
+3.2039801,-27.52392166,-51.65171231,4,2,1.1,8.12,4,3.432744239,0.475,1.000023545,8.2039801,3.432744239
+3.213930348,-27.56541496,-51.79094014,4,2,1.1,8.12,4,3.464674142,0.475,1.000023545,8.213930348,3.464674142
+3.223880597,-27.60830941,-51.93491546,4,2,1.1,8.12,4,3.496703052,0.475,1.000023545,8.223880597,3.496703052
+3.233830846,-27.65257487,-52.08354734,4,2,1.1,8.12,4,3.52883097,0.475,1.000023545,8.233830846,3.52883097
+3.243781095,-27.69818219,-52.23674867,4,2,1.1,8.12,4,3.561057895,0.475,1.000023545,8.243781095,3.561057895
+3.253731343,-27.74510322,-52.39443603,4,2,1.1,8.12,4,3.593383827,0.475,1.000023545,8.253731343,3.593383827
+3.263681592,-27.79331078,-52.55652946,4,2,1.1,8.12,4,3.625808767,0.475,1.000023545,8.263681592,3.625808767
+3.273631841,-27.84277858,-52.72295235,4,2,1.1,8.12,4,3.658332715,0.475,1.000023545,8.273631841,3.658332715
+3.28358209,-27.89348119,-52.89363123,4,2,1.1,8.12,4,3.690955669,0.475,1.000023545,8.28358209,3.690955669
+3.293532338,-27.94539403,-53.06849568,4,2,1.1,8.12,4,3.723677632,0.475,1.000023545,8.293532338,3.723677632
+3.303482587,-27.99849333,-53.24747813,4,2,1.1,8.12,4,3.756498602,0.475,1.000023545,8.303482587,3.756498602
+3.313432836,-28.05275607,-53.43051376,4,2,1.1,8.12,4,3.789418579,0.475,1.000023545,8.313432836,3.789418579
+3.323383085,-28.10815998,-53.6175404,4,2,1.1,8.12,4,3.822437563,0.475,1.000023545,8.323383085,3.822437563
+3.333333333,-28.1646835,-53.80849837,4,2,1.1,8.12,4,3.855555556,0.475,1.000023545,8.333333333,3.855555556
+3.343283582,-28.22230574,-54.00333036,4,2,1.1,8.12,4,3.888772555,0.475,1.000023545,8.343283582,3.888772555
+3.353233831,-28.28100649,-54.20198138,4,2,1.1,8.12,4,3.922088562,0.475,1.000023545,8.353233831,3.922088562
+3.36318408,-28.34076614,-54.40439861,4,2,1.1,8.12,4,3.955503577,0.475,1.000023545,8.36318408,3.955503577
+3.373134328,-28.4015657,-54.61053134,4,2,1.1,8.12,4,3.989017599,0.475,1.000023545,8.373134328,3.989017599
+3.383084577,-28.46338677,-54.82033083,4,2,1.1,8.12,4,4.022630628,0.475,1.000023545,8.383084577,4.022630628
+3.393034826,-28.52621151,-55.0337503,4,2,1.1,8.12,4,4.056342665,0.475,1.000023545,8.393034826,4.056342665
+3.402985075,-28.5900226,-55.25074476,4,2,1.1,8.12,4,4.090153709,0.475,1.000023545,8.402985075,4.090153709
+3.412935323,-28.65480326,-55.47127101,4,2,1.1,8.12,4,4.124063761,0.475,1.000023545,8.412935323,4.124063761
+3.422885572,-28.72053721,-55.69528753,4,2,1.1,8.12,4,4.15807282,0.475,1.000023545,8.422885572,4.15807282
+3.432835821,-28.78720864,-55.9227544,4,2,1.1,8.12,4,4.192180887,0.475,1.000023545,8.432835821,4.192180887
+3.44278607,-28.85480223,-56.15363328,4,2,1.1,8.12,4,4.226387961,0.475,1.000023545,8.44278607,4.226387961
+3.452736318,-28.92330308,-56.38788729,4,2,1.1,8.12,4,4.260694042,0.475,1.000023545,8.452736318,4.260694042
+3.462686567,-28.99269674,-56.62548098,4,2,1.1,8.12,4,4.295099131,0.475,1.000023545,8.462686567,4.295099131
+3.472636816,-29.06296918,-56.86638028,4,2,1.1,8.12,4,4.329603228,0.475,1.000023545,8.472636816,4.329603228
+3.482587065,-29.13410675,-57.11055244,4,2,1.1,8.12,4,4.364206332,0.475,1.000023545,8.482587065,4.364206332
+3.492537313,-29.20609623,-57.35796595,4,2,1.1,8.12,4,4.398908443,0.475,1.000023545,8.492537313,4.398908443
+3.502487562,-29.27892473,-57.60859055,4,2,1.1,8.12,4,4.433709562,0.475,1.000023545,8.502487562,4.433709562
+3.512437811,-29.35257976,-57.86239711,4,2,1.1,8.12,4,4.468609688,0.475,1.000023545,8.512437811,4.468609688
+3.52238806,-29.42704915,-58.11935766,4,2,1.1,8.12,4,4.503608822,0.475,1.000023545,8.52238806,4.503608822
+3.532338308,-29.5023211,-58.37944529,4,2,1.1,8.12,4,4.538706963,0.475,1.000023545,8.532338308,4.538706963
+3.542288557,-29.57838411,-58.64263412,4,2,1.1,8.12,4,4.573904111,0.475,1.000023545,8.542288557,4.573904111
+3.552238806,-29.65522701,-58.9088993,4,2,1.1,8.12,4,4.609200267,0.475,1.000023545,8.552238806,4.609200267
+3.562189055,-29.73283893,-59.17821692,4,2,1.1,8.12,4,4.644595431,0.475,1.000023545,8.562189055,4.644595431
+3.572139303,-29.81120931,-59.45056401,4,2,1.1,8.12,4,4.680089602,0.475,1.000023545,8.572139303,4.680089602
+3.582089552,-29.89032786,-59.7259185,4,2,1.1,8.12,4,4.71568278,0.475,1.000023545,8.582089552,4.71568278
+3.592039801,-29.97018456,-60.00425916,4,2,1.1,8.12,4,4.751374966,0.475,1.000023545,8.592039801,4.751374966
+3.60199005,-30.0507697,-60.28556561,4,2,1.1,8.12,4,4.787166159,0.475,1.000023545,8.60199005,4.787166159
+3.611940299,-30.13207377,-60.56981827,4,2,1.1,8.12,4,4.82305636,0.475,1.000023545,8.611940299,4.82305636
+3.621890547,-30.21408756,-60.85699833,4,2,1.1,8.12,4,4.859045568,0.475,1.000023545,8.621890547,4.859045568
+3.631840796,-30.29680208,-61.14708773,4,2,1.1,8.12,4,4.895133784,0.475,1.000023545,8.631840796,4.895133784
+3.641791045,-30.38020859,-61.44006912,4,2,1.1,8.12,4,4.931321007,0.475,1.000023545,8.641791045,4.931321007
+3.651741294,-30.46429856,-61.73592586,4,2,1.1,8.12,4,4.967607238,0.475,1.000023545,8.651741294,4.967607238
+3.661691542,-30.5490637,-62.03464198,4,2,1.1,8.12,4,5.003992476,0.475,1.000023545,8.661691542,5.003992476
+3.671641791,-30.63449592,-62.33620214,4,2,1.1,8.12,4,5.040476721,0.475,1.000023545,8.671641791,5.040476721
+3.68159204,-30.72058736,-62.64059166,4,2,1.1,8.12,4,5.077059974,0.475,1.000023545,8.68159204,5.077059974
+3.691542289,-30.80733033,-62.94779643,4,2,1.1,8.12,4,5.113742234,0.475,1.000023545,8.691542289,5.113742234
+3.701492537,-30.89471736,-63.25780295,4,2,1.1,8.12,4,5.150523502,0.475,1.000023545,8.701492537,5.150523502
+3.711442786,-30.98274117,-63.57059828,4,2,1.1,8.12,4,5.187403777,0.475,1.000023545,8.711442786,5.187403777
+3.721393035,-31.07139465,-63.88617003,4,2,1.1,8.12,4,5.22438306,0.475,1.000023545,8.721393035,5.22438306
+3.731343284,-31.16067088,-64.20450634,4,2,1.1,8.12,4,5.26146135,0.475,1.000023545,8.731343284,5.26146135
+3.741293532,-31.25056311,-64.52559586,4,2,1.1,8.12,4,5.298638648,0.475,1.000023545,8.741293532,5.298638648
+3.751243781,-31.34106477,-64.84942775,4,2,1.1,8.12,4,5.335914953,0.475,1.000023545,8.751243781,5.335914953
+3.76119403,-31.43216943,-65.17599164,4,2,1.1,8.12,4,5.373290265,0.475,1.000023545,8.76119403,5.373290265
+3.771144279,-31.52387084,-65.50527762,4,2,1.1,8.12,4,5.410764585,0.475,1.000023545,8.771144279,5.410764585
+3.781094527,-31.6161629,-65.83727625,4,2,1.1,8.12,4,5.448337913,0.475,1.000023545,8.781094527,5.448337913
+3.791044776,-31.70903966,-66.17197852,4,2,1.1,8.12,4,5.486010247,0.475,1.000023545,8.791044776,5.486010247
+3.800995025,-31.8024953,-66.50937584,4,2,1.1,8.12,4,5.52378159,0.475,1.000023545,8.800995025,5.52378159
+3.810945274,-31.89652418,-66.84946004,4,2,1.1,8.12,4,5.561651939,0.475,1.000023545,8.810945274,5.561651939
+3.820895522,-31.99112075,-67.19222334,4,2,1.1,8.12,4,5.599621297,0.475,1.000023545,8.820895522,5.599621297
+3.830845771,-32.08627964,-67.53765836,4,2,1.1,8.12,4,5.637689661,0.475,1.000023545,8.830845771,5.637689661
+3.84079602,-32.18199557,-67.88575809,4,2,1.1,8.12,4,5.675857033,0.475,1.000023545,8.84079602,5.675857033
+3.850746269,-32.27826342,-68.23651588,4,2,1.1,8.12,4,5.714123413,0.475,1.000023545,8.850746269,5.714123413
+3.860696517,-32.37507818,-68.58992544,4,2,1.1,8.12,4,5.7524888,0.475,1.000023545,8.860696517,5.7524888
+3.870646766,-32.47243496,-68.94598083,4,2,1.1,8.12,4,5.790953194,0.475,1.000023545,8.870646766,5.790953194
+3.880597015,-32.57032898,-69.30467644,4,2,1.1,8.12,4,5.829516596,0.475,1.000023545,8.880597015,5.829516596
+3.890547264,-32.66875558,-69.66600697,4,2,1.1,8.12,4,5.868179006,0.475,1.000023545,8.890547264,5.868179006
+3.900497512,-32.76771022,-70.02996747,4,2,1.1,8.12,4,5.906940422,0.475,1.000023545,8.900497512,5.906940422
+3.910447761,-32.86718845,-70.39655326,4,2,1.1,8.12,4,5.945800847,0.475,1.000023545,8.910447761,5.945800847
+3.92039801,-32.96718594,-70.76575998,4,2,1.1,8.12,4,5.984760278,0.475,1.000023545,8.92039801,5.984760278
+3.930348259,-33.06769847,-71.13758356,4,2,1.1,8.12,4,6.023818718,0.475,1.000023545,8.930348259,6.023818718
+3.940298507,-33.16872188,-71.5120202,4,2,1.1,8.12,4,6.062976164,0.475,1.000023545,8.940298507,6.062976164
+3.950248756,-33.27025215,-71.8890664,4,2,1.1,8.12,4,6.102232618,0.475,1.000023545,8.950248756,6.102232618
+3.960199005,-33.37228534,-72.2687189,4,2,1.1,8.12,4,6.14158808,0.475,1.000023545,8.960199005,6.14158808
+3.970149254,-33.47481759,-72.65097471,4,2,1.1,8.12,4,6.181042549,0.475,1.000023545,8.970149254,6.181042549
+3.980099502,-33.57784515,-73.0358311,4,2,1.1,8.12,4,6.220596025,0.475,1.000023545,8.980099502,6.220596025
+3.990049751,-33.68136435,-73.42328558,4,2,1.1,8.12,4,6.260248509,0.475,1.000023545,8.990049751,6.260248509
+4,-33.78537159,-73.8133359,4,2,1.1,8.12,4,6.3,0.475,1.000023545,9,6.3
+4.009950249,-33.88986337,-74.20598006,4,2,1.1,8.12,4,6.339850499,0.475,1.000023545,9.009950249,6.339850499
+4.019900498,-33.99483628,-74.60121627,4,2,1.1,8.12,4,6.379800005,0.475,1.000023545,9.019900498,6.379800005
+4.029850746,-34.10028696,-74.99904297,4,2,1.1,8.12,4,6.419848519,0.475,1.000023545,9.029850746,6.419848519
+4.039800995,-34.20621216,-75.39945882,4,2,1.1,8.12,4,6.45999604,0.475,1.000023545,9.039800995,6.45999604
+4.049751244,-34.31260867,-75.80246268,4,2,1.1,8.12,4,6.500242568,0.475,1.000023545,9.049751244,6.500242568
+4.059701493,-34.41947339,-76.20805363,4,2,1.1,8.12,4,6.540588104,0.475,1.000023545,9.059701493,6.540588104
+4.069651741,-34.52680326,-76.61623096,4,2,1.1,8.12,4,6.581032648,0.475,1.000023545,9.069651741,6.581032648
+4.07960199,-34.63459532,-77.02699413,4,2,1.1,8.12,4,6.621576199,0.475,1.000023545,9.07960199,6.621576199
+4.089552239,-34.74284665,-77.44034281,4,2,1.1,8.12,4,6.662218757,0.475,1.000023545,9.089552239,6.662218757
+4.099502488,-34.85155441,-77.85627687,4,2,1.1,8.12,4,6.702960323,0.475,1.000023545,9.099502488,6.702960323
+4.109452736,-34.96071583,-78.27479633,4,2,1.1,8.12,4,6.743800896,0.475,1.000023545,9.109452736,6.743800896
+4.119402985,-35.07032819,-78.69590141,4,2,1.1,8.12,4,6.784740477,0.475,1.000023545,9.119402985,6.784740477
+4.129353234,-35.18038884,-79.11959252,4,2,1.1,8.12,4,6.825779065,0.475,1.000023545,9.129353234,6.825779065
+4.139303483,-35.2908952,-79.5458702,4,2,1.1,8.12,4,6.866916661,0.475,1.000023545,9.139303483,6.866916661
+4.149253731,-35.40184473,-79.9747352,4,2,1.1,8.12,4,6.908153264,0.475,1.000023545,9.149253731,6.908153264
+4.15920398,-35.51323496,-80.40618841,4,2,1.1,8.12,4,6.949488874,0.475,1.000023545,9.15920398,6.949488874
+4.169154229,-35.62506348,-80.84023089,4,2,1.1,8.12,4,6.990923492,0.475,1.000023545,9.169154229,6.990923492
+4.179104478,-35.73732792,-81.27686384,4,2,1.1,8.12,4,7.032457118,0.475,1.000023545,9.179104478,7.032457118
+4.189054726,-35.85002597,-81.71608864,4,2,1.1,8.12,4,7.074089751,0.475,1.000023545,9.189054726,7.074089751
+4.199004975,-35.96315538,-82.15790679,4,2,1.1,8.12,4,7.115821391,0.475,1.000023545,9.199004975,7.115821391
+4.208955224,-36.07671394,-82.60231995,4,2,1.1,8.12,4,7.157652039,0.475,1.000023545,9.208955224,7.157652039
+4.218905473,-36.19069951,-83.04932995,4,2,1.1,8.12,4,7.199581694,0.475,1.000023545,9.218905473,7.199581694
+4.228855721,-36.30510998,-83.49893871,4,2,1.1,8.12,4,7.241610356,0.475,1.000023545,9.228855721,7.241610356
+4.23880597,-36.41994328,-83.95114832,4,2,1.1,8.12,4,7.283738027,0.475,1.000023545,9.23880597,7.283738027
+4.248756219,-36.53519743,-84.405961,4,2,1.1,8.12,4,7.325964704,0.475,1.000023545,9.248756219,7.325964704
+4.258706468,-36.65087044,-84.86337911,4,2,1.1,8.12,4,7.368290389,0.475,1.000023545,9.258706468,7.368290389
+4.268656716,-36.7669604,-85.32340512,4,2,1.1,8.12,4,7.410715082,0.475,1.000023545,9.268656716,7.410715082
+4.278606965,-36.88346544,-85.78604164,4,2,1.1,8.12,4,7.453238782,0.475,1.000023545,9.278606965,7.453238782
+4.288557214,-37.00038373,-86.2512914,4,2,1.1,8.12,4,7.495861489,0.475,1.000023545,9.288557214,7.495861489
+4.298507463,-37.11771347,-86.71915726,4,2,1.1,8.12,4,7.538583204,0.475,1.000023545,9.298507463,7.538583204
+4.308457711,-37.23545292,-87.18964219,4,2,1.1,8.12,4,7.581403926,0.475,1.000023545,9.308457711,7.581403926
+4.31840796,-37.35360038,-87.66274929,4,2,1.1,8.12,4,7.624323656,0.475,1.000023545,9.31840796,7.624323656
+4.328358209,-37.47215416,-88.13848175,4,2,1.1,8.12,4,7.667342393,0.475,1.000023545,9.328358209,7.667342393
+4.338308458,-37.59111265,-88.61684291,4,2,1.1,8.12,4,7.710460137,0.475,1.000023545,9.338308458,7.710460137
+4.348258706,-37.71047424,-89.09783619,4,2,1.1,8.12,4,7.753676889,0.475,1.000023545,9.348258706,7.753676889
+4.358208955,-37.8302374,-89.58146514,4,2,1.1,8.12,4,7.796992649,0.475,1.000023545,9.358208955,7.796992649
+4.368159204,-37.95040058,-90.0677334,4,2,1.1,8.12,4,7.840407416,0.475,1.000023545,9.368159204,7.840407416
+4.378109453,-38.07096232,-90.55664472,4,2,1.1,8.12,4,7.88392119,0.475,1.000023545,9.378109453,7.88392119
+4.388059701,-38.19192115,-91.04820298,4,2,1.1,8.12,4,7.927533972,0.475,1.000023545,9.388059701,7.927533972
+4.39800995,-38.31327568,-91.54241211,4,2,1.1,8.12,4,7.971245762,0.475,1.000023545,9.39800995,7.971245762
+4.407960199,-38.4350245,-92.03927619,4,2,1.1,8.12,4,8.015056558,0.475,1.000023545,9.407960199,8.015056558
+4.417910448,-38.55716628,-92.53879937,4,2,1.1,8.12,4,8.058966363,0.475,1.000023545,9.417910448,8.058966363
+4.427860697,-38.6796997,-93.04098591,4,2,1.1,8.12,4,8.102975174,0.475,1.000023545,9.427860697,8.102975174
+4.437810945,-38.80262346,-93.54584015,4,2,1.1,8.12,4,8.147082993,0.475,1.000023545,9.437810945,8.147082993
+4.447761194,-38.92593632,-94.05336654,4,2,1.1,8.12,4,8.19128982,0.475,1.000023545,9.447761194,8.19128982
+4.457711443,-39.04963704,-94.56356961,4,2,1.1,8.12,4,8.235595654,0.475,1.000023545,9.457711443,8.235595654
+4.467661692,-39.17372443,-95.07645399,4,2,1.1,8.12,4,8.280000495,0.475,1.000023545,9.467661692,8.280000495
+4.47761194,-39.29819732,-95.5920244,4,2,1.1,8.12,4,8.324504344,0.475,1.000023545,9.47761194,8.324504344
+4.487562189,-39.42305457,-96.11028563,4,2,1.1,8.12,4,8.369107201,0.475,1.000023545,9.487562189,8.369107201
+4.497512438,-39.54829506,-96.63124258,4,2,1.1,8.12,4,8.413809064,0.475,1.000023545,9.497512438,8.413809064
+4.507462687,-39.67391772,-97.15490022,4,2,1.1,8.12,4,8.458609936,0.475,1.000023545,9.507462687,8.458609936
+4.517412935,-39.79992148,-97.6812636,4,2,1.1,8.12,4,8.503509814,0.475,1.000023545,9.517412935,8.503509814
+4.527363184,-39.9263053,-98.21033788,4,2,1.1,8.12,4,8.548508701,0.475,1.000023545,9.527363184,8.548508701
+4.537313433,-40.05306819,-98.74212826,4,2,1.1,8.12,4,8.593606594,0.475,1.000023545,9.537313433,8.593606594
+4.547263682,-40.18020915,-99.27664006,4,2,1.1,8.12,4,8.638803495,0.475,1.000023545,9.547263682,8.638803495
+4.55721393,-40.30772724,-99.81387865,4,2,1.1,8.12,4,8.684099404,0.475,1.000023545,9.55721393,8.684099404
+4.567164179,-40.4356215,-100.3538495,4,2,1.1,8.12,4,8.72949432,0.475,1.000023545,9.567164179,8.72949432
+4.577114428,-40.56389104,-100.8965581,4,2,1.1,8.12,4,8.774988243,0.475,1.000023545,9.577114428,8.774988243
+4.587064677,-40.69253496,-101.4420102,4,2,1.1,8.12,4,8.820581174,0.475,1.000023545,9.587064677,8.820581174
+4.597014925,-40.8215524,-101.9902113,4,2,1.1,8.12,4,8.866273112,0.475,1.000023545,9.597014925,8.866273112
+4.606965174,-40.95094251,-102.5411673,4,2,1.1,8.12,4,8.912064058,0.475,1.000023545,9.606965174,8.912064058
+4.616915423,-41.08070447,-103.094884,4,2,1.1,8.12,4,8.957954011,0.475,1.000023545,9.616915423,8.957954011
+4.626865672,-41.21083749,-103.6513672,4,2,1.1,8.12,4,9.003942972,0.475,1.000023545,9.626865672,9.003942972
+4.63681592,-41.34134078,-104.2106231,4,2,1.1,8.12,4,9.05003094,0.475,1.000023545,9.63681592,9.05003094
+4.646766169,-41.47221358,-104.7726575,4,2,1.1,8.12,4,9.096217916,0.475,1.000023545,9.646766169,9.096217916
+4.656716418,-41.60345516,-105.3374767,4,2,1.1,8.12,4,9.142503899,0.475,1.000023545,9.656716418,9.142503899
+4.666666667,-41.73506479,-105.9050868,4,2,1.1,8.12,4,9.188888889,0.475,1.000023545,9.666666667,9.188888889
+4.676616915,-41.86704178,-106.475494,4,2,1.1,8.12,4,9.235372887,0.475,1.000023545,9.676616915,9.235372887
+4.686567164,-41.99938544,-107.0487048,4,2,1.1,8.12,4,9.281955893,0.475,1.000023545,9.686567164,9.281955893
+4.696517413,-42.13209511,-107.6247254,4,2,1.1,8.12,4,9.328637905,0.475,1.000023545,9.696517413,9.328637905
+4.706467662,-42.26517014,-108.2035623,4,2,1.1,8.12,4,9.375418926,0.475,1.000023545,9.706467662,9.375418926
+4.71641791,-42.39860992,-108.7852221,4,2,1.1,8.12,4,9.422298953,0.475,1.000023545,9.71641791,9.422298953
+4.726368159,-42.53241383,-109.3697113,4,2,1.1,8.12,4,9.469277989,0.475,1.000023545,9.726368159,9.469277989
+4.736318408,-42.66658128,-109.9570365,4,2,1.1,8.12,4,9.516356031,0.475,1.000023545,9.736318408,9.516356031
+4.746268657,-42.80111169,-110.5472045,4,2,1.1,8.12,4,9.563533081,0.475,1.000023545,9.746268657,9.563533081
+4.756218905,-42.93600451,-111.1402221,4,2,1.1,8.12,4,9.610809139,0.475,1.000023545,9.756218905,9.610809139
+4.766169154,-43.0712592,-111.7360959,4,2,1.1,8.12,4,9.658184204,0.475,1.000023545,9.766169154,9.658184204
+4.776119403,-43.20687523,-112.334833,4,2,1.1,8.12,4,9.705658276,0.475,1.000023545,9.776119403,9.705658276
+4.786069652,-43.34285209,-112.9364403,4,2,1.1,8.12,4,9.753231356,0.475,1.000023545,9.786069652,9.753231356
+4.7960199,-43.47918929,-113.5409248,4,2,1.1,8.12,4,9.800903443,0.475,1.000023545,9.7960199,9.800903443
+4.805970149,-43.61588634,-114.1482935,4,2,1.1,8.12,4,9.848674538,0.475,1.000023545,9.805970149,9.848674538
+4.815920398,-43.75294279,-114.7585536,4,2,1.1,8.12,4,9.89654464,0.475,1.000023545,9.815920398,9.89654464
+4.825870647,-43.89035818,-115.3717122,4,2,1.1,8.12,4,9.94451375,0.475,1.000023545,9.825870647,9.94451375
+4.835820896,-44.02813208,-115.9877766,4,2,1.1,8.12,4,9.992581867,0.475,1.000023545,9.835820896,9.992581867
+4.845771144,-44.16626407,-116.6067541,4,2,1.1,8.12,4,10.04074899,0.475,1.000023545,9.845771144,10.04074899
+4.855721393,-44.30475374,-117.228652,4,2,1.1,8.12,4,10.08901512,0.475,1.000023545,9.855721393,10.08901512
+4.865671642,-44.44360069,-117.8534778,4,2,1.1,8.12,4,10.13738026,0.475,1.000023545,9.865671642,10.13738026
+4.875621891,-44.58280455,-118.4812388,4,2,1.1,8.12,4,10.18584441,0.475,1.000023545,9.875621891,10.18584441
+4.885572139,-44.72236495,-119.1119426,4,2,1.1,8.12,4,10.23440756,0.475,1.000023545,9.885572139,10.23440756
+4.895522388,-44.86228154,-119.7455967,4,2,1.1,8.12,4,10.28306973,0.475,1.000023545,9.895522388,10.28306973
+4.905472637,-45.00255396,-120.3822089,4,2,1.1,8.12,4,10.3318309,0.475,1.000023545,9.905472637,10.3318309
+4.915422886,-45.1431819,-121.0217867,4,2,1.1,8.12,4,10.38069107,0.475,1.000023545,9.915422886,10.38069107
+4.925373134,-45.28416504,-121.6643378,4,2,1.1,8.12,4,10.42965026,0.475,1.000023545,9.925373134,10.42965026
+4.935323383,-45.42550308,-122.3098701,4,2,1.1,8.12,4,10.47870845,0.475,1.000023545,9.935323383,10.47870845
+4.945273632,-45.56719571,-122.9583914,4,2,1.1,8.12,4,10.52786565,0.475,1.000023545,9.945273632,10.52786565
+4.955223881,-45.70924265,-123.6099095,4,2,1.1,8.12,4,10.57712185,0.475,1.000023545,9.955223881,10.57712185
+4.965174129,-45.85164365,-124.2644324,4,2,1.1,8.12,4,10.62647707,0.475,1.000023545,9.965174129,10.62647707
+4.975124378,-45.99439843,-124.921968,4,2,1.1,8.12,4,10.67593129,0.475,1.000023545,9.975124378,10.67593129
+4.985074627,-46.13750676,-125.5825244,4,2,1.1,8.12,4,10.72548452,0.475,1.000023545,9.985074627,10.72548452
+4.995024876,-46.28096839,-126.2461097,4,2,1.1,8.12,4,10.77513675,0.475,1.000023545,9.995024876,10.77513675
+5.004975124,-46.42478309,-126.912732,4,2,1.1,8.12,4,10.824888,0.475,1.000023545,10.00497512,10.824888
+5.014925373,-46.56895066,-127.5823994,4,2,1.1,8.12,4,10.87473825,0.475,1.000023545,10.01492537,10.87473825
+5.024875622,-46.71347088,-128.2551202,4,2,1.1,8.12,4,10.92468751,0.475,1.000023545,10.02487562,10.92468751
+5.034825871,-46.85834356,-128.9309027,4,2,1.1,8.12,4,10.97473577,0.475,1.000023545,10.03482587,10.97473577
+5.044776119,-47.00356852,-129.6097551,4,2,1.1,8.12,4,11.02488305,0.475,1.000023545,10.04477612,11.02488305
+5.054726368,-47.14914557,-130.2916859,4,2,1.1,8.12,4,11.07512933,0.475,1.000023545,10.05472637,11.07512933
+5.064676617,-47.29507456,-130.9767035,4,2,1.1,8.12,4,11.12547462,0.475,1.000023545,10.06467662,11.12547462
+5.074626866,-47.44135532,-131.6648162,4,2,1.1,8.12,4,11.17591891,0.475,1.000023545,10.07462687,11.17591891
+5.084577114,-47.58798771,-132.3560327,4,2,1.1,8.12,4,11.22646222,0.475,1.000023545,10.08457711,11.22646222
+5.094527363,-47.73497159,-133.0503615,4,2,1.1,8.12,4,11.27710453,0.475,1.000023545,10.09452736,11.27710453
+5.104477612,-47.88230682,-133.7478112,4,2,1.1,8.12,4,11.32784585,0.475,1.000023545,10.10447761,11.32784585
+5.114427861,-48.0299933,-134.4483904,4,2,1.1,8.12,4,11.37868617,0.475,1.000023545,10.11442786,11.37868617
+5.124378109,-48.1780309,-135.1521077,4,2,1.1,8.12,4,11.4296255,0.475,1.000023545,10.12437811,11.4296255
+5.134328358,-48.32641952,-135.8589721,4,2,1.1,8.12,4,11.48066385,0.475,1.000023545,10.13432836,11.48066385
+5.144278607,-48.47515907,-136.5689922,4,2,1.1,8.12,4,11.53180119,0.475,1.000023545,10.14427861,11.53180119
+5.154228856,-48.62424946,-137.2821768,4,2,1.1,8.12,4,11.58303755,0.475,1.000023545,10.15422886,11.58303755
+5.164179104,-48.77369062,-137.9985349,4,2,1.1,8.12,4,11.63437291,0.475,1.000023545,10.1641791,11.63437291
+5.174129353,-48.92348246,-138.7180752,4,2,1.1,8.12,4,11.68580728,0.475,1.000023545,10.17412935,11.68580728
+5.184079602,-49.07362493,-139.4408069,4,2,1.1,8.12,4,11.73734066,0.475,1.000023545,10.1840796,11.73734066
+5.194029851,-49.22411797,-140.1667389,4,2,1.1,8.12,4,11.78897305,0.475,1.000023545,10.19402985,11.78897305
+5.2039801,-49.37496154,-140.8958802,4,2,1.1,8.12,4,11.84070444,0.475,1.000023545,10.2039801,11.84070444
+5.213930348,-49.52615559,-141.6282399,4,2,1.1,8.12,4,11.89253484,0.475,1.000023545,10.21393035,11.89253484
+5.223880597,-49.67770009,-142.3638272,4,2,1.1,8.12,4,11.94446425,0.475,1.000023545,10.2238806,11.94446425
+5.233830846,-49.82959502,-143.1026512,4,2,1.1,8.12,4,11.99649266,0.475,1.000023545,10.23383085,11.99649266
+5.243781095,-49.98184036,-143.8447211,4,2,1.1,8.12,4,12.04862008,0.475,1.000023545,10.24378109,12.04862008
+5.253731343,-50.13443609,-144.5900462,4,2,1.1,8.12,4,12.10084651,0.475,1.000023545,10.25373134,12.10084651
+5.263681592,-50.28738221,-145.3386358,4,2,1.1,8.12,4,12.15317195,0.475,1.000023545,10.26368159,12.15317195
+5.273631841,-50.44067872,-146.0904993,4,2,1.1,8.12,4,12.2055964,0.475,1.000023545,10.27363184,12.2055964
+5.28358209,-50.59432563,-146.8456459,4,2,1.1,8.12,4,12.25811985,0.475,1.000023545,10.28358209,12.25811985
+5.293532338,-50.74832296,-147.6040852,4,2,1.1,8.12,4,12.31074231,0.475,1.000023545,10.29353234,12.31074231
+5.303482587,-50.90267073,-148.3658266,4,2,1.1,8.12,4,12.36346378,0.475,1.000023545,10.30348259,12.36346378
+5.313432836,-51.05736896,-149.1308795,4,2,1.1,8.12,4,12.41628425,0.475,1.000023545,10.31343284,12.41628425
+5.323383085,-51.21241769,-149.8992536,4,2,1.1,8.12,4,12.46920373,0.475,1.000023545,10.32338308,12.46920373
+5.333333333,-51.36781696,-150.6709585,4,2,1.1,8.12,4,12.52222222,0.475,1.000023545,10.33333333,12.52222222
+5.343283582,-51.52356682,-151.4460037,4,2,1.1,8.12,4,12.57533972,0.475,1.000023545,10.34328358,12.57533972
+5.353233831,-51.67966732,-152.2243989,4,2,1.1,8.12,4,12.62855622,0.475,1.000023545,10.35323383,12.62855622
+5.36318408,-51.83611851,-153.0061539,4,2,1.1,8.12,4,12.68187174,0.475,1.000023545,10.36318408,12.68187174
+5.373134328,-51.99292047,-153.7912784,4,2,1.1,8.12,4,12.73528626,0.475,1.000023545,10.37313433,12.73528626
+5.383084577,-52.15007325,-154.5797821,4,2,1.1,8.12,4,12.78879978,0.475,1.000023545,10.38308458,12.78879978
+5.393034826,-52.30757694,-155.3716749,4,2,1.1,8.12,4,12.84241232,0.475,1.000023545,10.39303483,12.84241232
+5.402985075,-52.46543161,-156.1669667,4,2,1.1,8.12,4,12.89612386,0.475,1.000023545,10.40298507,12.89612386
+5.412935323,-52.62363736,-156.9656673,4,2,1.1,8.12,4,12.94993441,0.475,1.000023545,10.41293532,12.94993441
+5.422885572,-52.78219427,-157.7677867,4,2,1.1,8.12,4,13.00384396,0.475,1.000023545,10.42288557,13.00384396
+5.432835821,-52.94110244,-158.573335,4,2,1.1,8.12,4,13.05785253,0.475,1.000023545,10.43283582,13.05785253
+5.44278607,-53.10036197,-159.3823221,4,2,1.1,8.12,4,13.1119601,0.475,1.000023545,10.44278607,13.1119601
+5.452736318,-53.25997296,-160.194758,4,2,1.1,8.12,4,13.16616668,0.475,1.000023545,10.45273632,13.16616668
+5.462686567,-53.41993554,-161.0106529,4,2,1.1,8.12,4,13.22047227,0.475,1.000023545,10.46268657,13.22047227
+5.472636816,-53.58024982,-161.830017,4,2,1.1,8.12,4,13.27487686,0.475,1.000023545,10.47263682,13.27487686
+5.482587065,-53.74091591,-162.6528603,4,2,1.1,8.12,4,13.32938046,0.475,1.000023545,10.48258706,13.32938046
+5.492537313,-53.90193394,-163.4791932,4,2,1.1,8.12,4,13.38398307,0.475,1.000023545,10.49253731,13.38398307
+5.502487562,-54.06330405,-164.3090258,4,2,1.1,8.12,4,13.43868469,0.475,1.000023545,10.50248756,13.43868469
+5.512437811,-54.22502638,-165.1423685,4,2,1.1,8.12,4,13.49348531,0.475,1.000023545,10.51243781,13.49348531
+5.52238806,-54.38710105,-165.9792316,4,2,1.1,8.12,4,13.54838494,0.475,1.000023545,10.52238806,13.54838494
+5.532338308,-54.54952821,-166.8196254,4,2,1.1,8.12,4,13.60338358,0.475,1.000023545,10.53233831,13.60338358
+5.542288557,-54.71230802,-167.6635604,4,2,1.1,8.12,4,13.65848123,0.475,1.000023545,10.54228856,13.65848123
+5.552238806,-54.87544063,-168.511047,4,2,1.1,8.12,4,13.71367788,0.475,1.000023545,10.55223881,13.71367788
+5.562189055,-55.03892619,-169.3620957,4,2,1.1,8.12,4,13.76897354,0.475,1.000023545,10.56218905,13.76897354
+5.572139303,-55.20276487,-170.216717,4,2,1.1,8.12,4,13.82436821,0.475,1.000023545,10.5721393,13.82436821
+5.582089552,-55.36695683,-171.0749214,4,2,1.1,8.12,4,13.87986189,0.475,1.000023545,10.58208955,13.87986189
+5.592039801,-55.53150225,-171.9367196,4,2,1.1,8.12,4,13.93545457,0.475,1.000023545,10.5920398,13.93545457
+5.60199005,-55.69640129,-172.8021222,4,2,1.1,8.12,4,13.99114626,0.475,1.000023545,10.60199005,13.99114626
+5.611940299,-55.86165413,-173.6711399,4,2,1.1,8.12,4,14.04693696,0.475,1.000023545,10.6119403,14.04693696
+5.621890547,-56.02726096,-174.5437833,4,2,1.1,8.12,4,14.10282666,0.475,1.000023545,10.62189055,14.10282666
+5.631840796,-56.19322196,-175.4200632,4,2,1.1,8.12,4,14.15881538,0.475,1.000023545,10.6318408,14.15881538
+5.641791045,-56.35953732,-176.2999904,4,2,1.1,8.12,4,14.2149031,0.475,1.000023545,10.64179104,14.2149031
+5.651741294,-56.52620724,-177.1835756,4,2,1.1,8.12,4,14.27108983,0.475,1.000023545,10.65174129,14.27108983
+5.661691542,-56.6932319,-178.0708298,4,2,1.1,8.12,4,14.32737556,0.475,1.000023545,10.66169154,14.32737556
+5.671641791,-56.86061152,-178.9617639,4,2,1.1,8.12,4,14.3837603,0.475,1.000023545,10.67164179,14.3837603
+5.68159204,-57.02834629,-179.8563886,4,2,1.1,8.12,4,14.44024405,0.475,1.000023545,10.68159204,14.44024405
+5.691542289,-57.19643642,-180.7547151,4,2,1.1,8.12,4,14.49682681,0.475,1.000023545,10.69154229,14.49682681
+5.701492537,-57.36488213,-181.6567543,4,2,1.1,8.12,4,14.55350858,0.475,1.000023545,10.70149254,14.55350858
+5.711442786,-57.53368362,-182.5625173,4,2,1.1,8.12,4,14.61028935,0.475,1.000023545,10.71144279,14.61028935
+5.721393035,-57.70284112,-183.472015,4,2,1.1,8.12,4,14.66716913,0.475,1.000023545,10.72139303,14.66716913
+5.731343284,-57.87235484,-184.3852587,4,2,1.1,8.12,4,14.72414792,0.475,1.000023545,10.73134328,14.72414792
+5.741293532,-58.04222502,-185.3022594,4,2,1.1,8.12,4,14.78122571,0.475,1.000023545,10.74129353,14.78122571
+5.751243781,-58.21245187,-186.2230284,4,2,1.1,8.12,4,14.83840252,0.475,1.000023545,10.75124378,14.83840252
+5.76119403,-58.38303562,-187.1475768,4,2,1.1,8.12,4,14.89567833,0.475,1.000023545,10.76119403,14.89567833
+5.771144279,-58.55397652,-188.0759159,4,2,1.1,8.12,4,14.95305314,0.475,1.000023545,10.77114428,14.95305314
+5.781094527,-58.72527479,-189.0080569,4,2,1.1,8.12,4,15.01052697,0.475,1.000023545,10.78109453,15.01052697
+5.791044776,-58.89693068,-189.9440113,4,2,1.1,8.12,4,15.0680998,0.475,1.000023545,10.79104478,15.0680998
+5.800995025,-59.06894443,-190.8837903,4,2,1.1,8.12,4,15.12577164,0.475,1.000023545,10.80099502,15.12577164
+5.810945274,-59.24131629,-191.8274054,4,2,1.1,8.12,4,15.18354249,0.475,1.000023545,10.81094527,15.18354249
+5.820895522,-59.41404649,-192.774868,4,2,1.1,8.12,4,15.24141234,0.475,1.000023545,10.82089552,15.24141234
+5.830845771,-59.5871353,-193.7261894,4,2,1.1,8.12,4,15.2993812,0.475,1.000023545,10.83084577,15.2993812
+5.84079602,-59.76058297,-194.6813813,4,2,1.1,8.12,4,15.35744907,0.475,1.000023545,10.84079602,15.35744907
+5.850746269,-59.93438975,-195.6404552,4,2,1.1,8.12,4,15.41561595,0.475,1.000023545,10.85074627,15.41561595
+5.860696517,-60.1085559,-196.6034226,4,2,1.1,8.12,4,15.47388184,0.475,1.000023545,10.86069652,15.47388184
+5.870646766,-60.28308169,-197.5702951,4,2,1.1,8.12,4,15.53224673,0.475,1.000023545,10.87064677,15.53224673
+5.880597015,-60.45796738,-198.5410845,4,2,1.1,8.12,4,15.59071063,0.475,1.000023545,10.88059701,15.59071063
+5.890547264,-60.63321323,-199.5158022,4,2,1.1,8.12,4,15.64927353,0.475,1.000023545,10.89054726,15.64927353
+5.900497512,-60.80881952,-200.4944601,4,2,1.1,8.12,4,15.70793545,0.475,1.000023545,10.90049751,15.70793545
+5.910447761,-60.98478652,-201.4770699,4,2,1.1,8.12,4,15.76669637,0.475,1.000023545,10.91044776,15.76669637
+5.92039801,-61.16111451,-202.4636434,4,2,1.1,8.12,4,15.8255563,0.475,1.000023545,10.92039801,15.8255563
+5.930348259,-61.33780375,-203.4541924,4,2,1.1,8.12,4,15.88451524,0.475,1.000023545,10.93034826,15.88451524
+5.940298507,-61.51485453,-204.4487287,4,2,1.1,8.12,4,15.94357318,0.475,1.000023545,10.94029851,15.94357318
+5.950248756,-61.69226713,-205.4472643,4,2,1.1,8.12,4,16.00273013,0.475,1.000023545,10.95024876,16.00273013
+5.960199005,-61.87004184,-206.4498109,4,2,1.1,8.12,4,16.06198609,0.475,1.000023545,10.960199,16.06198609
+5.970149254,-62.04817894,-207.4563807,4,2,1.1,8.12,4,16.12134106,0.475,1.000023545,10.97014925,16.12134106
+5.980099502,-62.22667872,-208.4669856,4,2,1.1,8.12,4,16.18079503,0.475,1.000023545,10.9800995,16.18079503
+5.990049751,-62.40554146,-209.4816375,4,2,1.1,8.12,4,16.24034801,0.475,1.000023545,10.99004975,16.24034801
+6,-62.566398,-210.3958266,4,2,1.1,8.12,4,14.5299875,0.475,1.000023545,11,14.5299875
+6.009950249,-62.70961356,-211.2109792,4,2,1.1,8.12,4,14.5897385,0.475,1.000023545,11.00995025,14.5897385
+6.019900498,-62.85343355,-212.0307063,4,2,1.1,8.12,4,14.6495885,0.475,1.000023545,11.0199005,14.6495885
+6.029850746,-62.99785595,-212.8550121,4,2,1.1,8.12,4,14.70953751,0.475,1.000023545,11.02985075,14.70953751
+6.039800995,-63.1428788,-213.6839007,4,2,1.1,8.12,4,14.76958553,0.475,1.000023545,11.039801,14.76958553
+6.049751244,-63.28850016,-214.5173763,4,2,1.1,8.12,4,14.82973256,0.475,1.000023545,11.04975124,14.82973256
+6.059701493,-63.43471814,-215.3554434,4,2,1.1,8.12,4,14.88997859,0.475,1.000023545,11.05970149,14.88997859
+6.069651741,-63.58153085,-216.1981066,4,2,1.1,8.12,4,14.95032363,0.475,1.000023545,11.06965174,14.95032363
+6.07960199,-63.72893645,-217.0453707,4,2,1.1,8.12,4,15.01076768,0.475,1.000023545,11.07960199,15.01076768
+6.089552239,-63.87693312,-217.8972406,4,2,1.1,8.12,4,15.07131073,0.475,1.000023545,11.08955224,15.07131073
+6.099502488,-64.02551907,-218.7537215,4,2,1.1,8.12,4,15.1319528,0.475,1.000023545,11.09950249,15.1319528
+6.109452736,-64.17469255,-219.6148185,4,2,1.1,8.12,4,15.19269387,0.475,1.000023545,11.10945274,15.19269387
+6.119402985,-64.32445183,-220.4805369,4,2,1.1,8.12,4,15.25353395,0.475,1.000023545,11.11940299,15.25353395
+6.129353234,-64.47479519,-221.3508824,4,2,1.1,8.12,4,15.31447303,0.475,1.000023545,11.12935323,15.31447303
+6.139303483,-64.62572096,-222.2258605,4,2,1.1,8.12,4,15.37551113,0.475,1.000023545,11.13930348,15.37551113
+6.149253731,-64.7772275,-223.1054771,4,2,1.1,8.12,4,15.43664823,0.475,1.000023545,11.14925373,15.43664823
+6.15920398,-64.92931317,-223.9897381,4,2,1.1,8.12,4,15.49788433,0.475,1.000023545,11.15920398,15.49788433
+6.169154229,-65.08197637,-224.8786495,4,2,1.1,8.12,4,15.55921945,0.475,1.000023545,11.16915423,15.55921945
+6.179104478,-65.23521554,-225.7722176,4,2,1.1,8.12,4,15.62065357,0.475,1.000023545,11.17910448,15.62065357
+6.189054726,-65.38902912,-226.6704486,4,2,1.1,8.12,4,15.6821867,0.475,1.000023545,11.18905473,15.6821867
+6.199004975,-65.54341559,-227.5733491,4,2,1.1,8.12,4,15.74381884,0.475,1.000023545,11.19900498,15.74381884
+6.208955224,-65.69837345,-228.4809256,4,2,1.1,8.12,4,15.80554999,0.475,1.000023545,11.20895522,15.80554999
+6.218905473,-65.85390121,-229.3931849,4,2,1.1,8.12,4,15.86738014,0.475,1.000023545,11.21890547,15.86738014
+6.228855721,-66.00999744,-230.3101337,4,2,1.1,8.12,4,15.9293093,0.475,1.000023545,11.22885572,15.9293093
+6.23880597,-66.16666068,-231.2317791,4,2,1.1,8.12,4,15.99133747,0.475,1.000023545,11.23880597,15.99133747
+6.248756219,-66.32388955,-232.1581281,4,2,1.1,8.12,4,16.05346464,0.475,1.000023545,11.24875622,16.05346464
+6.258706468,-66.48168264,-233.0891879,4,2,1.1,8.12,4,16.11569082,0.475,1.000023545,11.25870647,16.11569082
+6.268656716,-66.6400386,-234.0249659,4,2,1.1,8.12,4,16.17801601,0.475,1.000023545,11.26865672,16.17801601
+6.278606965,-66.79895609,-234.9654695,4,2,1.1,8.12,4,16.24044021,0.475,1.000023545,11.27860697,16.24044021
+6.288557214,-66.95843378,-235.9107062,4,2,1.1,8.12,4,16.30296342,0.475,1.000023545,11.28855721,16.30296342
+6.298507463,-67.11847038,-236.8606837,4,2,1.1,8.12,4,16.36558563,0.475,1.000023545,11.29850746,16.36558563
+6.308457711,-67.2790646,-237.8154098,4,2,1.1,8.12,4,16.42830685,0.475,1.000023545,11.30845771,16.42830685
+6.31840796,-67.44021518,-238.7748923,4,2,1.1,8.12,4,16.49112708,0.475,1.000023545,11.31840796,16.49112708
+6.328358209,-67.60192089,-239.7391393,4,2,1.1,8.12,4,16.55404631,0.475,1.000023545,11.32835821,16.55404631
+6.338308458,-67.7641805,-240.7081589,4,2,1.1,8.12,4,16.61706455,0.475,1.000023545,11.33830846,16.61706455
+6.348258706,-67.92699283,-241.6819592,4,2,1.1,8.12,4,16.6801818,0.475,1.000023545,11.34825871,16.6801818
+6.358208955,-68.09035667,-242.6605487,4,2,1.1,8.12,4,16.74339806,0.475,1.000023545,11.35820896,16.74339806
+6.368159204,-68.25427088,-243.6439356,4,2,1.1,8.12,4,16.80671332,0.475,1.000023545,11.3681592,16.80671332
+6.378109453,-68.41873431,-244.6321286,4,2,1.1,8.12,4,16.8701276,0.475,1.000023545,11.37810945,16.8701276
+6.388059701,-68.58374584,-245.6251363,4,2,1.1,8.12,4,16.93364088,0.475,1.000023545,11.3880597,16.93364088
+6.39800995,-68.74930435,-246.6229673,4,2,1.1,8.12,4,16.99725316,0.475,1.000023545,11.39800995,16.99725316
+6.407960199,-68.91540876,-247.6256305,4,2,1.1,8.12,4,17.06096446,0.475,1.000023545,11.4079602,17.06096446
+6.417910448,-69.08205799,-248.6331349,4,2,1.1,8.12,4,17.12477476,0.475,1.000023545,11.41791045,17.12477476
+6.427860697,-69.249251,-249.6454894,4,2,1.1,8.12,4,17.18868407,0.475,1.000023545,11.4278607,17.18868407
+6.437810945,-69.41698674,-250.6627032,4,2,1.1,8.12,4,17.25269238,0.475,1.000023545,11.43781095,17.25269238
+6.447761194,-69.5852642,-251.6847854,4,2,1.1,8.12,4,17.31679971,0.475,1.000023545,11.44776119,17.31679971
+6.457711443,-69.75408236,-252.7117454,4,2,1.1,8.12,4,17.38100604,0.475,1.000023545,11.45771144,17.38100604
+6.467661692,-69.92344024,-253.7435926,4,2,1.1,8.12,4,17.44531138,0.475,1.000023545,11.46766169,17.44531138
+6.47761194,-70.09333688,-254.7803364,4,2,1.1,8.12,4,17.50971572,0.475,1.000023545,11.47761194,17.50971572
+6.487562189,-70.2637713,-255.8219865,4,2,1.1,8.12,4,17.57421908,0.475,1.000023545,11.48756219,17.57421908
+6.497512438,-70.43474258,-256.8685525,4,2,1.1,8.12,4,17.63882144,0.475,1.000023545,11.49751244,17.63882144
+6.507462687,-70.60624979,-257.9200441,4,2,1.1,8.12,4,17.70352281,0.475,1.000023545,11.50746269,17.70352281
+6.517412935,-70.77829201,-258.9764712,4,2,1.1,8.12,4,17.76832318,0.475,1.000023545,11.51741294,17.76832318
+6.527363184,-70.95086835,-260.0378437,4,2,1.1,8.12,4,17.83322257,0.475,1.000023545,11.52736318,17.83322257
+6.537313433,-71.12397794,-261.1041717,4,2,1.1,8.12,4,17.89822096,0.475,1.000023545,11.53731343,17.89822096
+6.547263682,-71.2976199,-262.1754652,4,2,1.1,8.12,4,17.96331836,0.475,1.000023545,11.54726368,17.96331836
+6.55721393,-71.47179339,-263.2517344,4,2,1.1,8.12,4,18.02851476,0.475,1.000023545,11.55721393,18.02851476
+6.567164179,-71.64649757,-264.3329896,4,2,1.1,8.12,4,18.09381018,0.475,1.000023545,11.56716418,18.09381018
+6.577114428,-71.82173161,-265.4192412,4,2,1.1,8.12,4,18.1592046,0.475,1.000023545,11.57711443,18.1592046
+6.587064677,-71.9974947,-266.5104996,4,2,1.1,8.12,4,18.22469803,0.475,1.000023545,11.58706468,18.22469803
+6.597014925,-72.17378605,-267.6067752,4,2,1.1,8.12,4,18.29029046,0.475,1.000023545,11.59701493,18.29029046
+6.606965174,-72.35060488,-268.7080787,4,2,1.1,8.12,4,18.35598191,0.475,1.000023545,11.60696517,18.35598191
+6.616915423,-72.52795042,-269.8144208,4,2,1.1,8.12,4,18.42177236,0.475,1.000023545,11.61691542,18.42177236
+6.626865672,-72.7058219,-270.9258122,4,2,1.1,8.12,4,18.48766182,0.475,1.000023545,11.62686567,18.48766182
+6.63681592,-72.88421859,-272.0422637,4,2,1.1,8.12,4,18.55365028,0.475,1.000023545,11.63681592,18.55365028
+6.646766169,-73.06313976,-273.1637863,4,2,1.1,8.12,4,18.61973775,0.475,1.000023545,11.64676617,18.61973775
+6.656716418,-73.24258468,-274.2903909,4,2,1.1,8.12,4,18.68592423,0.475,1.000023545,11.65671642,18.68592423
+6.666666667,-73.42255265,-275.4220886,4,2,1.1,8.12,4,18.75220972,0.475,1.000023545,11.66666667,18.75220972
+6.676616915,-73.60304298,-276.5588905,4,2,1.1,8.12,4,18.81859422,0.475,1.000023545,11.67661692,18.81859422
+6.686567164,-73.78405498,-277.7008079,4,2,1.1,8.12,4,18.88507772,0.475,1.000023545,11.68656716,18.88507772
+6.696517413,-73.96558798,-278.8478519,4,2,1.1,8.12,4,18.95166023,0.475,1.000023545,11.69651741,18.95166023
+6.706467662,-74.14764133,-280.0000341,4,2,1.1,8.12,4,19.01834175,0.475,1.000023545,11.70646766,19.01834175
+6.71641791,-74.33021438,-281.1573657,4,2,1.1,8.12,4,19.08512227,0.475,1.000023545,11.71641791,19.08512227
+6.726368159,-74.51330649,-282.3198583,4,2,1.1,8.12,4,19.15200181,0.475,1.000023545,11.72636816,19.15200181
+6.736318408,-74.69691703,-283.4875235,4,2,1.1,8.12,4,19.21898035,0.475,1.000023545,11.73631841,19.21898035
+6.746268657,-74.8810454,-284.6603728,4,2,1.1,8.12,4,19.28605789,0.475,1.000023545,11.74626866,19.28605789
+6.756218905,-75.06569099,-285.8384181,4,2,1.1,8.12,4,19.35323445,0.475,1.000023545,11.75621891,19.35323445
+6.766169154,-75.25085321,-287.0216711,4,2,1.1,8.12,4,19.42051001,0.475,1.000023545,11.76616915,19.42051001
+6.776119403,-75.43653148,-288.2101437,4,2,1.1,8.12,4,19.48788458,0.475,1.000023545,11.7761194,19.48788458
+6.786069652,-75.62272522,-289.4038477,4,2,1.1,8.12,4,19.55535816,0.475,1.000023545,11.78606965,19.55535816
+6.7960199,-75.80943388,-290.6027952,4,2,1.1,8.12,4,19.62293074,0.475,1.000023545,11.7960199,19.62293074
+6.805970149,-75.99665691,-291.8069982,4,2,1.1,8.12,4,19.69060234,0.475,1.000023545,11.80597015,19.69060234
+6.815920398,-76.18439376,-293.0164688,4,2,1.1,8.12,4,19.75837294,0.475,1.000023545,11.8159204,19.75837294
+6.825870647,-76.3726439,-294.2312192,4,2,1.1,8.12,4,19.82624254,0.475,1.000023545,11.82587065,19.82624254
+6.835820896,-76.56140682,-295.4512617,4,2,1.1,8.12,4,19.89421116,0.475,1.000023545,11.8358209,19.89421116
+6.845771144,-76.75068201,-296.6766086,4,2,1.1,8.12,4,19.96227878,0.475,1.000023545,11.84577114,19.96227878
+6.855721393,-76.94046896,-297.9072723,4,2,1.1,8.12,4,20.03044541,0.475,1.000023545,11.85572139,20.03044541
+6.865671642,-77.13076717,-299.1432651,4,2,1.1,8.12,4,20.09871105,0.475,1.000023545,11.86567164,20.09871105
+6.875621891,-77.32157618,-300.3845997,4,2,1.1,8.12,4,20.16707569,0.475,1.000023545,11.87562189,20.16707569
+6.885572139,-77.5128955,-301.6312887,4,2,1.1,8.12,4,20.23553934,0.475,1.000023545,11.88557214,20.23553934
+6.895522388,-77.70472468,-302.8833445,4,2,1.1,8.12,4,20.304102,0.475,1.000023545,11.89552239,20.304102
+6.905472637,-77.89706325,-304.14078,4,2,1.1,8.12,4,20.37276367,0.475,1.000023545,11.90547264,20.37276367
+6.915422886,-78.08991077,-305.403608,4,2,1.1,8.12,4,20.44152434,0.475,1.000023545,11.91542289,20.44152434
+6.925373134,-78.2832668,-306.6718411,4,2,1.1,8.12,4,20.51038403,0.475,1.000023545,11.92537313,20.51038403
+6.935323383,-78.47713091,-307.9454924,4,2,1.1,8.12,4,20.57934271,0.475,1.000023545,11.93532338,20.57934271
+6.945273632,-78.67150269,-309.2245747,4,2,1.1,8.12,4,20.64840041,0.475,1.000023545,11.94527363,20.64840041
+6.955223881,-78.86638171,-310.5091011,4,2,1.1,8.12,4,20.71755711,0.475,1.000023545,11.95522388,20.71755711
+6.965174129,-79.06176758,-311.7990847,4,2,1.1,8.12,4,20.78681283,0.475,1.000023545,11.96517413,20.78681283
+6.975124378,-79.2576599,-313.0945385,4,2,1.1,8.12,4,20.85616755,0.475,1.000023545,11.97512438,20.85616755
+6.985074627,-79.45405829,-314.3954758,4,2,1.1,8.12,4,20.92562127,0.475,1.000023545,11.98507463,20.92562127
+6.995024876,-79.65096236,-315.7019098,4,2,1.1,8.12,4,20.99517401,0.475,1.000023545,11.99502488,20.99517401
+7.004975124,-79.84837174,-317.0138538,4,2,1.1,8.12,4,21.06482575,0.475,1.000023545,12.00497512,21.06482575
+7.014925373,-80.04628607,-318.3313211,4,2,1.1,8.12,4,21.1345765,0.475,1.000023545,12.01492537,21.1345765
+7.024875622,-80.24470499,-319.6543252,4,2,1.1,8.12,4,21.20442625,0.475,1.000023545,12.02487562,21.20442625
+7.034825871,-80.44362815,-320.9828796,4,2,1.1,8.12,4,21.27437502,0.475,1.000023545,12.03482587,21.27437502
+7.044776119,-80.64305522,-322.3169979,4,2,1.1,8.12,4,21.34442279,0.475,1.000023545,12.04477612,21.34442279
+7.054726368,-80.84298585,-323.6566935,4,2,1.1,8.12,4,21.41456957,0.475,1.000023545,12.05472637,21.41456957
+7.064676617,-81.04341973,-325.0019801,4,2,1.1,8.12,4,21.48481535,0.475,1.000023545,12.06467662,21.48481535
+7.074626866,-81.24435653,-326.3528715,4,2,1.1,8.12,4,21.55516014,0.475,1.000023545,12.07462687,21.55516014
+7.084577114,-81.44579594,-327.7093814,4,2,1.1,8.12,4,21.62560395,0.475,1.000023545,12.08457711,21.62560395
+7.094527363,-81.64773766,-329.0715236,4,2,1.1,8.12,4,21.69614675,0.475,1.000023545,12.09452736,21.69614675
+7.104477612,-81.85018139,-330.4393121,4,2,1.1,8.12,4,21.76678857,0.475,1.000023545,12.10447761,21.76678857
+7.114427861,-82.05312684,-331.8127606,4,2,1.1,8.12,4,21.83752939,0.475,1.000023545,12.11442786,21.83752939
+7.124378109,-82.25657372,-333.1918833,4,2,1.1,8.12,4,21.90836922,0.475,1.000023545,12.12437811,21.90836922
+7.134328358,-82.46052175,-334.5766941,4,2,1.1,8.12,4,21.97930806,0.475,1.000023545,12.13432836,21.97930806
+7.144278607,-82.66497068,-335.9672071,4,2,1.1,8.12,4,22.05034591,0.475,1.000023545,12.14427861,22.05034591
+7.154228856,-82.86992022,-337.3634365,4,2,1.1,8.12,4,22.12148276,0.475,1.000023545,12.15422886,22.12148276
+7.164179104,-83.07537013,-338.7653965,4,2,1.1,8.12,4,22.19271862,0.475,1.000023545,12.1641791,22.19271862
+7.174129353,-83.28132015,-340.1731013,4,2,1.1,8.12,4,22.26405349,0.475,1.000023545,12.17412935,22.26405349
+7.184079602,-83.48777004,-341.5865653,4,2,1.1,8.12,4,22.33548736,0.475,1.000023545,12.1840796,22.33548736
+7.194029851,-83.69471955,-343.0058027,4,2,1.1,8.12,4,22.40702025,0.475,1.000023545,12.19402985,22.40702025
+7.2039801,-83.90216846,-344.4308281,4,2,1.1,8.12,4,22.47865214,0.475,1.000023545,12.2039801,22.47865214
+7.213930348,-84.11011654,-345.8616558,4,2,1.1,8.12,4,22.55038304,0.475,1.000023545,12.21393035,22.55038304
+7.223880597,-84.31856358,-347.2983003,4,2,1.1,8.12,4,22.62221294,0.475,1.000023545,12.2238806,22.62221294
+7.233830846,-84.52750934,-348.7407764,4,2,1.1,8.12,4,22.69414185,0.475,1.000023545,12.23383085,22.69414185
+7.243781095,-84.73695363,-350.1890985,4,2,1.1,8.12,4,22.76616977,0.475,1.000023545,12.24378109,22.76616977
+7.253731343,-84.94689625,-351.6432813,4,2,1.1,8.12,4,22.8382967,0.475,1.000023545,12.25373134,22.8382967
+7.263681592,-85.15733699,-353.1033395,4,2,1.1,8.12,4,22.91052264,0.475,1.000023545,12.26368159,22.91052264
+7.273631841,-85.36827567,-354.569288,4,2,1.1,8.12,4,22.98284758,0.475,1.000023545,12.27363184,22.98284758
+7.28358209,-85.57971209,-356.0411415,4,2,1.1,8.12,4,23.05527153,0.475,1.000023545,12.28358209,23.05527153
+7.293532338,-85.79164609,-357.518915,4,2,1.1,8.12,4,23.12779449,0.475,1.000023545,12.29353234,23.12779449
+7.303482587,-86.00407748,-359.0026232,4,2,1.1,8.12,4,23.20041645,0.475,1.000023545,12.30348259,23.20041645
+7.313432836,-86.21700609,-360.4922813,4,2,1.1,8.12,4,23.27313742,0.475,1.000023545,12.31343284,23.27313742
+7.323383085,-86.43043177,-361.9879042,4,2,1.1,8.12,4,23.3459574,0.475,1.000023545,12.32338308,23.3459574
+7.333333333,-86.64435435,-363.4895071,4,2,1.1,8.12,4,23.41887639,0.475,1.000023545,12.33333333,23.41887639
+7.343283582,-86.85877368,-364.9971049,4,2,1.1,8.12,4,23.49189438,0.475,1.000023545,12.34328358,23.49189438
+7.353233831,-87.07368961,-366.5107129,4,2,1.1,8.12,4,23.56501139,0.475,1.000023545,12.35323383,23.56501139
+7.36318408,-87.289102,-368.0303464,4,2,1.1,8.12,4,23.6382274,0.475,1.000023545,12.36318408,23.6382274
+7.373134328,-87.50501071,-369.5560205,4,2,1.1,8.12,4,23.71154241,0.475,1.000023545,12.37313433,23.71154241
+7.383084577,-87.72141561,-371.0877507,4,2,1.1,8.12,4,23.78495644,0.475,1.000023545,12.38308458,23.78495644
+7.393034826,-87.93831657,-372.6255522,4,2,1.1,8.12,4,23.85846947,0.475,1.000023545,12.39303483,23.85846947
+7.402985075,-88.15571346,-374.1694405,4,2,1.1,8.12,4,23.93208151,0.475,1.000023545,12.40298507,23.93208151
+7.412935323,-88.37360618,-375.7194311,4,2,1.1,8.12,4,24.00579255,0.475,1.000023545,12.41293532,24.00579255
+7.422885572,-88.59199459,-377.2755394,4,2,1.1,8.12,4,24.07960261,0.475,1.000023545,12.42288557,24.07960261
+7.432835821,-88.81087861,-378.837781,4,2,1.1,8.12,4,24.15351167,0.475,1.000023545,12.43283582,24.15351167
+7.44278607,-89.03025811,-380.4061715,4,2,1.1,8.12,4,24.22751974,0.475,1.000023545,12.44278607,24.22751974
+7.452736318,-89.250133,-381.9807267,4,2,1.1,8.12,4,24.30162682,0.475,1.000023545,12.45273632,24.30162682
+7.462686567,-89.4705032,-383.5614621,4,2,1.1,8.12,4,24.3758329,0.475,1.000023545,12.46268657,24.3758329
+7.472636816,-89.6913686,-385.1483935,4,2,1.1,8.12,4,24.45013799,0.475,1.000023545,12.47263682,24.45013799
+7.482587065,-89.91272912,-386.7415367,4,2,1.1,8.12,4,24.52454209,0.475,1.000023545,12.48258706,24.52454209
+7.492537313,-90.13458467,-388.3409076,4,2,1.1,8.12,4,24.5990452,0.475,1.000023545,12.49253731,24.5990452
+7.502487562,-90.35693519,-389.946522,4,2,1.1,8.12,4,24.67364731,0.475,1.000023545,12.50248756,24.67364731
+7.512437811,-90.5797806,-391.558396,4,2,1.1,8.12,4,24.74834843,0.475,1.000023545,12.51243781,24.74834843
+7.52238806,-90.80312083,-393.1765453,4,2,1.1,8.12,4,24.82314856,0.475,1.000023545,12.52238806,24.82314856
+7.532338308,-91.02695581,-394.8009862,4,2,1.1,8.12,4,24.8980477,0.475,1.000023545,12.53233831,24.8980477
+7.542288557,-91.25128549,-396.4317347,4,2,1.1,8.12,4,24.97304584,0.475,1.000023545,12.54228856,24.97304584
+7.552238806,-91.47610981,-398.0688068,4,2,1.1,8.12,4,25.04814299,0.475,1.000023545,12.55223881,25.04814299
+7.562189055,-91.70142871,-399.7122188,4,2,1.1,8.12,4,25.12333915,0.475,1.000023545,12.56218905,25.12333915
+7.572139303,-91.92724216,-401.3619868,4,2,1.1,8.12,4,25.19863432,0.475,1.000023545,12.5721393,25.19863432
+7.582089552,-92.15355009,-403.0181272,4,2,1.1,8.12,4,25.27402849,0.475,1.000023545,12.58208955,25.27402849
+7.592039801,-92.38035248,-404.6806562,4,2,1.1,8.12,4,25.34952167,0.475,1.000023545,12.5920398,25.34952167
+7.60199005,-92.60764929,-406.3495901,4,2,1.1,8.12,4,25.42511386,0.475,1.000023545,12.60199005,25.42511386
+7.611940299,-92.83544049,-408.0249454,4,2,1.1,8.12,4,25.50080505,0.475,1.000023545,12.6119403,25.50080505
+7.621890547,-93.06372604,-409.7067386,4,2,1.1,8.12,4,25.57659526,0.475,1.000023545,12.62189055,25.57659526
+7.631840796,-93.29250592,-411.394986,4,2,1.1,8.12,4,25.65248447,0.475,1.000023545,12.6318408,25.65248447
+7.641791045,-93.52178011,-413.0897042,4,2,1.1,8.12,4,25.72847269,0.475,1.000023545,12.64179104,25.72847269
+7.651741294,-93.7515486,-414.7909098,4,2,1.1,8.12,4,25.80455991,0.475,1.000023545,12.65174129,25.80455991
+7.661691542,-93.98181137,-416.4986194,4,2,1.1,8.12,4,25.88074615,0.475,1.000023545,12.66169154,25.88074615
+7.671641791,-94.2125684,-418.2128496,4,2,1.1,8.12,4,25.95703139,0.475,1.000023545,12.67164179,25.95703139
+7.68159204,-94.4438197,-419.9336172,4,2,1.1,8.12,4,26.03341563,0.475,1.000023545,12.68159204,26.03341563
+7.691542289,-94.67556526,-421.660939,4,2,1.1,8.12,4,26.10989889,0.475,1.000023545,12.69154229,26.10989889
+7.701492537,-94.90780508,-423.3948316,4,2,1.1,8.12,4,26.18648115,0.475,1.000023545,12.70149254,26.18648115
+7.711442786,-95.14053916,-425.135312,4,2,1.1,8.12,4,26.26316242,0.475,1.000023545,12.71144279,26.26316242
+7.721393035,-95.37376751,-426.882397,4,2,1.1,8.12,4,26.3399427,0.475,1.000023545,12.72139303,26.3399427
+7.731343284,-95.60749014,-428.6361036,4,2,1.1,8.12,4,26.41682198,0.475,1.000023545,12.73134328,26.41682198
+7.741293532,-95.84170707,-430.3964488,4,2,1.1,8.12,4,26.49380028,0.475,1.000023545,12.74129353,26.49380028
+7.751243781,-96.07641831,-432.1634494,4,2,1.1,8.12,4,26.57087758,0.475,1.000023545,12.75124378,26.57087758
+7.76119403,-96.31162389,-433.9371227,4,2,1.1,8.12,4,26.64805389,0.475,1.000023545,12.76119403,26.64805389
+7.771144279,-96.54732382,-435.7174856,4,2,1.1,8.12,4,26.7253292,0.475,1.000023545,12.77114428,26.7253292
+7.781094527,-96.78351813,-437.5045554,4,2,1.1,8.12,4,26.80270352,0.475,1.000023545,12.78109453,26.80270352
+7.791044776,-97.02020686,-439.2983493,4,2,1.1,8.12,4,26.88017685,0.475,1.000023545,12.79104478,26.88017685
+7.800995025,-97.25739003,-441.0988844,4,2,1.1,8.12,4,26.95774919,0.475,1.000023545,12.80099502,26.95774919
+7.810945274,-97.49506769,-442.906178,4,2,1.1,8.12,4,27.03542053,0.475,1.000023545,12.81094527,27.03542053
+7.820895522,-97.73323987,-444.7202475,4,2,1.1,8.12,4,27.11319089,0.475,1.000023545,12.82089552,27.11319089
+7.830845771,-97.97190661,-446.5411102,4,2,1.1,8.12,4,27.19106025,0.475,1.000023545,12.83084577,27.19106025
+7.84079602,-98.21106797,-448.3687835,4,2,1.1,8.12,4,27.26902861,0.475,1.000023545,12.84079602,27.26902861
+7.850746269,-98.45072398,-450.2032849,4,2,1.1,8.12,4,27.34709599,0.475,1.000023545,12.85074627,27.34709599
+7.860696517,-98.6908747,-452.0446318,4,2,1.1,8.12,4,27.42526237,0.475,1.000023545,12.86069652,27.42526237
+7.870646766,-98.93152018,-453.8928418,4,2,1.1,8.12,4,27.50352776,0.475,1.000023545,12.87064677,27.50352776
+7.880597015,-99.17266049,-455.7479324,4,2,1.1,8.12,4,27.58189216,0.475,1.000023545,12.88059701,27.58189216
+7.890547264,-99.41429568,-457.6099213,4,2,1.1,8.12,4,27.66035556,0.475,1.000023545,12.89054726,27.66035556
+7.900497512,-99.65642581,-459.4788262,4,2,1.1,8.12,4,27.73891797,0.475,1.000023545,12.90049751,27.73891797
+7.910447761,-99.89905095,-461.3546646,4,2,1.1,8.12,4,27.81757939,0.475,1.000023545,12.91044776,27.81757939
+7.92039801,-100.1421712,-463.2374544,4,2,1.1,8.12,4,27.89633982,0.475,1.000023545,12.92039801,27.89633982
+7.930348259,-100.3857865,-465.1272134,4,2,1.1,8.12,4,27.97519925,0.475,1.000023545,12.93034826,27.97519925
+7.940298507,-100.6298971,-467.0239593,4,2,1.1,8.12,4,28.05415769,0.475,1.000023545,12.94029851,28.05415769
+7.950248756,-100.874503,-468.9277101,4,2,1.1,8.12,4,28.13321514,0.475,1.000023545,12.95024876,28.13321514
+7.960199005,-101.1196042,-470.8384837,4,2,1.1,8.12,4,28.2123716,0.475,1.000023545,12.960199,28.2123716
+7.970149254,-101.365201,-472.7562979,4,2,1.1,8.12,4,28.29162706,0.475,1.000023545,12.97014925,28.29162706
+7.980099502,-101.6112932,-474.6811709,4,2,1.1,8.12,4,28.37098154,0.475,1.000023545,12.9800995,28.37098154
+7.990049751,-101.8578811,-476.6131206,4,2,1.1,8.12,4,28.45043501,0.475,1.000023545,12.99004975,28.45043501
+8,-102.1049647,-478.5521651,4,2,1.1,8.12,4,28.5299875,0.475,1.000023545,13,28.5299875
+8.009950249,-102.3525441,-480.4983225,4,2,1.1,8.12,4,28.60963899,0.475,1.000023545,13.00995025,28.60963899
+8.019900498,-102.6006194,-482.451611,4,2,1.1,8.12,4,28.6893895,0.475,1.000023545,13.0199005,28.6893895
+8.029850746,-102.8491908,-484.4120489,4,2,1.1,8.12,4,28.769239,0.475,1.000023545,13.02985075,28.769239
+8.039800995,-103.0982582,-486.3796542,4,2,1.1,8.12,4,28.84918752,0.475,1.000023545,13.039801,28.84918752
+8.049751244,-103.3478218,-488.3544454,4,2,1.1,8.12,4,28.92923504,0.475,1.000023545,13.04975124,28.92923504
+8.059701493,-103.5978817,-490.3364408,4,2,1.1,8.12,4,29.00938158,0.475,1.000023545,13.05970149,29.00938158
+8.069651741,-103.848438,-492.3256586,4,2,1.1,8.12,4,29.08962711,0.475,1.000023545,13.06965174,29.08962711
+8.07960199,-104.0994909,-494.3221174,4,2,1.1,8.12,4,29.16997166,0.475,1.000023545,13.07960199,29.16997166
+8.089552239,-104.3510403,-496.3258356,4,2,1.1,8.12,4,29.25041521,0.475,1.000023545,13.08955224,29.25041521
+8.099502488,-104.6030866,-498.3368316,4,2,1.1,8.12,4,29.33095777,0.475,1.000023545,13.09950249,29.33095777
+8.109452736,-104.8556296,-500.3551241,4,2,1.1,8.12,4,29.41159934,0.475,1.000023545,13.10945274,29.41159934
+8.119402985,-105.1086697,-502.3807315,4,2,1.1,8.12,4,29.49233992,0.475,1.000023545,13.11940299,29.49233992
+8.129353234,-105.3622068,-504.4136725,4,2,1.1,8.12,4,29.5731795,0.475,1.000023545,13.12935323,29.5731795
+8.139303483,-105.6162412,-506.4539657,4,2,1.1,8.12,4,29.65411809,0.475,1.000023545,13.13930348,29.65411809
+8.149253731,-105.8707729,-508.5016299,4,2,1.1,8.12,4,29.73515569,0.475,1.000023545,13.14925373,29.73515569
+8.15920398,-106.1258021,-510.5566837,4,2,1.1,8.12,4,29.8162923,0.475,1.000023545,13.15920398,29.8162923
+8.169154229,-106.3813288,-512.619146,4,2,1.1,8.12,4,29.89752791,0.475,1.000023545,13.16915423,29.89752791
+8.179104478,-106.6373533,-514.6890356,4,2,1.1,8.12,4,29.97886253,0.475,1.000023545,13.17910448,29.97886253
+8.189054726,-106.8938756,-516.7663713,4,2,1.1,8.12,4,30.06029616,0.475,1.000023545,13.18905473,30.06029616
+8.199004975,-107.150896,-518.851172,4,2,1.1,8.12,4,30.14182879,0.475,1.000023545,13.19900498,30.14182879
+8.208955224,-107.4084144,-520.9434567,4,2,1.1,8.12,4,30.22346043,0.475,1.000023545,13.20895522,30.22346043
+8.218905473,-107.6664312,-523.0432443,4,2,1.1,8.12,4,30.30519108,0.475,1.000023545,13.21890547,30.30519108
+8.228855721,-107.9249463,-525.1505539,4,2,1.1,8.12,4,30.38702074,0.475,1.000023545,13.22885572,30.38702074
+8.23880597,-108.18396,-527.2654045,4,2,1.1,8.12,4,30.46894941,0.475,1.000023545,13.23880597,30.46894941
+8.248756219,-108.4434723,-529.3878153,4,2,1.1,8.12,4,30.55097708,0.475,1.000023545,13.24875622,30.55097708
+8.258706468,-108.7034836,-531.5178053,4,2,1.1,8.12,4,30.63310376,0.475,1.000023545,13.25870647,30.63310376
+8.268656716,-108.9639938,-533.6553938,4,2,1.1,8.12,4,30.71532945,0.475,1.000023545,13.26865672,30.71532945
+8.278606965,-109.2250031,-535.8005999,4,2,1.1,8.12,4,30.79765414,0.475,1.000023545,13.27860697,30.79765414
+8.288557214,-109.4865117,-537.953443,4,2,1.1,8.12,4,30.88007785,0.475,1.000023545,13.28855721,30.88007785
+8.298507463,-109.7485198,-540.1139423,4,2,1.1,8.12,4,30.96260055,0.475,1.000023545,13.29850746,30.96260055
+8.308457711,-110.0110275,-542.2821173,4,2,1.1,8.12,4,31.04522227,0.475,1.000023545,13.30845771,31.04522227
+8.31840796,-110.2740349,-544.4579871,4,2,1.1,8.12,4,31.127943,0.475,1.000023545,13.31840796,31.127943
+8.328358209,-110.5375422,-546.6415714,4,2,1.1,8.12,4,31.21076273,0.475,1.000023545,13.32835821,31.21076273
+8.338308458,-110.8015497,-548.8328895,4,2,1.1,8.12,4,31.29368147,0.475,1.000023545,13.33830846,31.29368147
+8.348258706,-111.0660573,-551.031961,4,2,1.1,8.12,4,31.37669922,0.475,1.000023545,13.34825871,31.37669922
+8.358208955,-111.3310654,-553.2388054,4,2,1.1,8.12,4,31.45981597,0.475,1.000023545,13.35820896,31.45981597
+8.368159204,-111.596574,-555.4534422,4,2,1.1,8.12,4,31.54303173,0.475,1.000023545,13.3681592,31.54303173
+8.378109453,-111.8625834,-557.6758912,4,2,1.1,8.12,4,31.6263465,0.475,1.000023545,13.37810945,31.6263465
+8.388059701,-112.1290937,-559.906172,4,2,1.1,8.12,4,31.70976028,0.475,1.000023545,13.3880597,31.70976028
+8.39800995,-112.396105,-562.1443042,4,2,1.1,8.12,4,31.79327306,0.475,1.000023545,13.39800995,31.79327306
+8.407960199,-112.6636176,-564.3903076,4,2,1.1,8.12,4,31.87688485,0.475,1.000023545,13.4079602,31.87688485
+8.417910448,-112.9316317,-566.644202,4,2,1.1,8.12,4,31.96059565,0.475,1.000023545,13.41791045,31.96059565
+8.427860697,-113.2001473,-568.9060072,4,2,1.1,8.12,4,32.04440546,0.475,1.000023545,13.4278607,32.04440546
+8.437810945,-113.4691647,-571.1757432,4,2,1.1,8.12,4,32.12831427,0.475,1.000023545,13.43781095,32.12831427
+8.447761194,-113.7386841,-573.4534297,4,2,1.1,8.12,4,32.2123221,0.475,1.000023545,13.44776119,32.2123221
+8.457711443,-114.0087056,-575.7390867,4,2,1.1,8.12,4,32.29642893,0.475,1.000023545,13.45771144,32.29642893
+8.467661692,-114.2792295,-578.0327342,4,2,1.1,8.12,4,32.38063476,0.475,1.000023545,13.46766169,32.38063476
+8.47761194,-114.5502558,-580.3343923,4,2,1.1,8.12,4,32.46493961,0.475,1.000023545,13.47761194,32.46493961
+8.487562189,-114.8217849,-582.6440809,4,2,1.1,8.12,4,32.54934346,0.475,1.000023545,13.48756219,32.54934346
+8.497512438,-115.0938168,-584.9618202,4,2,1.1,8.12,4,32.63384632,0.475,1.000023545,13.49751244,32.63384632
+8.507462687,-115.3663518,-587.2876304,4,2,1.1,8.12,4,32.71844818,0.475,1.000023545,13.50746269,32.71844818
+8.517412935,-115.63939,-589.6215315,4,2,1.1,8.12,4,32.80314906,0.475,1.000023545,13.51741294,32.80314906
+8.527363184,-115.9129317,-591.9635439,4,2,1.1,8.12,4,32.88794894,0.475,1.000023545,13.52736318,32.88794894
+8.537313433,-116.186977,-594.3136878,4,2,1.1,8.12,4,32.97284783,0.475,1.000023545,13.53731343,32.97284783
+8.547263682,-116.4615262,-596.6719834,4,2,1.1,8.12,4,33.05784572,0.475,1.000023545,13.54726368,33.05784572
+8.55721393,-116.7365794,-599.0384511,4,2,1.1,8.12,4,33.14294263,0.475,1.000023545,13.55721393,33.14294263
+8.567164179,-117.0121368,-601.4131114,4,2,1.1,8.12,4,33.22813854,0.475,1.000023545,13.56716418,33.22813854
+8.577114428,-117.2881987,-603.7959845,4,2,1.1,8.12,4,33.31343346,0.475,1.000023545,13.57711443,33.31343346
+8.587064677,-117.5647652,-606.187091,4,2,1.1,8.12,4,33.39882738,0.475,1.000023545,13.58706468,33.39882738
+8.597014925,-117.8418365,-608.5864514,4,2,1.1,8.12,4,33.48432031,0.475,1.000023545,13.59701493,33.48432031
+8.606965174,-118.1194128,-610.9940861,4,2,1.1,8.12,4,33.56991226,0.475,1.000023545,13.60696517,33.56991226
+8.616915423,-118.3974944,-613.4100158,4,2,1.1,8.12,4,33.6556032,0.475,1.000023545,13.61691542,33.6556032
+8.626865672,-118.6760814,-615.8342611,4,2,1.1,8.12,4,33.74139316,0.475,1.000023545,13.62686567,33.74139316
+8.63681592,-118.9551741,-618.2668426,4,2,1.1,8.12,4,33.82728212,0.475,1.000023545,13.63681592,33.82728212
+8.646766169,-119.2347726,-620.707781,4,2,1.1,8.12,4,33.91327009,0.475,1.000023545,13.64676617,33.91327009
+8.656716418,-119.5148772,-623.157097,4,2,1.1,8.12,4,33.99935707,0.475,1.000023545,13.65671642,33.99935707
+8.666666667,-119.7954881,-625.6148115,4,2,1.1,8.12,4,34.08554306,0.475,1.000023545,13.66666667,34.08554306
+8.676616915,-120.0766054,-628.0809452,4,2,1.1,8.12,4,34.17182805,0.475,1.000023545,13.67661692,34.17182805
+8.686567164,-120.3582295,-630.5555189,4,2,1.1,8.12,4,34.25821205,0.475,1.000023545,13.68656716,34.25821205
+8.696517413,-120.6403604,-633.0385537,4,2,1.1,8.12,4,34.34469506,0.475,1.000023545,13.69651741,34.34469506
+8.706467662,-120.9229985,-635.5300702,4,2,1.1,8.12,4,34.43127707,0.475,1.000023545,13.70646766,34.43127707
+8.71641791,-121.206144,-638.0300897,4,2,1.1,8.12,4,34.5179581,0.475,1.000023545,13.71641791,34.5179581
+8.726368159,-121.4897969,-640.538633,4,2,1.1,8.12,4,34.60473813,0.475,1.000023545,13.72636816,34.60473813
+8.736318408,-121.7739577,-643.0557212,4,2,1.1,8.12,4,34.69161716,0.475,1.000023545,13.73631841,34.69161716
+8.746268657,-122.0586265,-645.5813753,4,2,1.1,8.12,4,34.77859521,0.475,1.000023545,13.74626866,34.77859521
+8.756218905,-122.3438035,-648.1156166,4,2,1.1,8.12,4,34.86567226,0.475,1.000023545,13.75621891,34.86567226
+8.766169154,-122.629489,-650.6584661,4,2,1.1,8.12,4,34.95284832,0.475,1.000023545,13.76616915,34.95284832
+8.776119403,-122.9156831,-653.209945,4,2,1.1,8.12,4,35.04012339,0.475,1.000023545,13.7761194,35.04012339
+8.786069652,-123.2023861,-655.7700747,4,2,1.1,8.12,4,35.12749746,0.475,1.000023545,13.78606965,35.12749746
+8.7960199,-123.4895982,-658.3388763,4,2,1.1,8.12,4,35.21497055,0.475,1.000023545,13.7960199,35.21497055
+8.805970149,-123.7773197,-660.9163712,4,2,1.1,8.12,4,35.30254264,0.475,1.000023545,13.80597015,35.30254264
+8.815920398,-124.0655508,-663.5025808,4,2,1.1,8.12,4,35.39021373,0.475,1.000023545,13.8159204,35.39021373
+8.825870647,-124.3542916,-666.0975264,4,2,1.1,8.12,4,35.47798384,0.475,1.000023545,13.82587065,35.47798384
+8.835820896,-124.6435425,-668.7012294,4,2,1.1,8.12,4,35.56585295,0.475,1.000023545,13.8358209,35.56585295
+8.845771144,-124.9333037,-671.3137114,4,2,1.1,8.12,4,35.65382107,0.475,1.000023545,13.84577114,35.65382107
+8.855721393,-125.2235753,-673.9349939,4,2,1.1,8.12,4,35.7418882,0.475,1.000023545,13.85572139,35.7418882
+8.865671642,-125.5143577,-676.5650983,4,2,1.1,8.12,4,35.83005433,0.475,1.000023545,13.86567164,35.83005433
+8.875621891,-125.805651,-679.2040464,4,2,1.1,8.12,4,35.91831947,0.475,1.000023545,13.87562189,35.91831947
+8.885572139,-126.0974556,-681.8518597,4,2,1.1,8.12,4,36.00668362,0.475,1.000023545,13.88557214,36.00668362
+8.895522388,-126.3897716,-684.5085598,4,2,1.1,8.12,4,36.09514678,0.475,1.000023545,13.89552239,36.09514678
+8.905472637,-126.6825992,-687.1741686,4,2,1.1,8.12,4,36.18370894,0.475,1.000023545,13.90547264,36.18370894
+8.915422886,-126.9759388,-689.8487076,4,2,1.1,8.12,4,36.27237012,0.475,1.000023545,13.91542289,36.27237012
+8.925373134,-127.2697905,-692.5321988,4,2,1.1,8.12,4,36.36113029,0.475,1.000023545,13.92537313,36.36113029
+8.935323383,-127.5641547,-695.224664,4,2,1.1,8.12,4,36.44998948,0.475,1.000023545,13.93532338,36.44998948
+8.945273632,-127.8590314,-697.9261249,4,2,1.1,8.12,4,36.53894768,0.475,1.000023545,13.94527363,36.53894768
+8.955223881,-128.154421,-700.6366035,4,2,1.1,8.12,4,36.62800488,0.475,1.000023545,13.95522388,36.62800488
+8.965174129,-128.4503238,-703.3561218,4,2,1.1,8.12,4,36.71716109,0.475,1.000023545,13.96517413,36.71716109
+8.975124378,-128.7467399,-706.0847017,4,2,1.1,8.12,4,36.8064163,0.475,1.000023545,13.97512438,36.8064163
+8.985074627,-129.0436696,-708.8223652,4,2,1.1,8.12,4,36.89577053,0.475,1.000023545,13.98507463,36.89577053
+8.995024876,-129.3411132,-711.5691344,4,2,1.1,8.12,4,36.98522376,0.475,1.000023545,13.99502488,36.98522376
+9.004975124,-129.6390708,-714.3250314,4,2,1.1,8.12,4,37.074776,0.475,1.000023545,14.00497512,37.074776
+9.014925373,-129.9375428,-717.0900783,4,2,1.1,8.12,4,37.16442724,0.475,1.000023545,14.01492537,37.16442724
+9.024875622,-130.2365294,-719.8642973,4,2,1.1,8.12,4,37.2541775,0.475,1.000023545,14.02487562,37.2541775
+9.034825871,-130.5360309,-722.6477106,4,2,1.1,8.12,4,37.34402676,0.475,1.000023545,14.03482587,37.34402676
+9.044776119,-130.8360474,-725.4403404,4,2,1.1,8.12,4,37.43397503,0.475,1.000023545,14.04477612,37.43397503
+9.054726368,-131.1365793,-728.2422091,4,2,1.1,8.12,4,37.5240223,0.475,1.000023545,14.05472637,37.5240223
+9.064676617,-131.4376268,-731.0533389,4,2,1.1,8.12,4,37.61416859,0.475,1.000023545,14.06467662,37.61416859
+9.074626866,-131.7391902,-733.8737522,4,2,1.1,8.12,4,37.70441388,0.475,1.000023545,14.07462687,37.70441388
+9.084577114,-132.0412696,-736.7034715,4,2,1.1,8.12,4,37.79475817,0.475,1.000023545,14.08457711,37.79475817
+9.094527363,-132.3438655,-739.5425191,4,2,1.1,8.12,4,37.88520148,0.475,1.000023545,14.09452736,37.88520148
+9.104477612,-132.6469779,-742.3909176,4,2,1.1,8.12,4,37.97574379,0.475,1.000023545,14.10447761,37.97574379
+9.114427861,-132.9506072,-745.2486895,4,2,1.1,8.12,4,38.06638511,0.475,1.000023545,14.11442786,38.06638511
+9.124378109,-133.2547536,-748.1158572,4,2,1.1,8.12,4,38.15712544,0.475,1.000023545,14.12437811,38.15712544
+9.134328358,-133.5594174,-750.9924435,4,2,1.1,8.12,4,38.24796478,0.475,1.000023545,14.13432836,38.24796478
+9.144278607,-133.8645989,-753.878471,4,2,1.1,8.12,4,38.33890312,0.475,1.000023545,14.14427861,38.33890312
+9.154228856,-134.1702983,-756.7739623,4,2,1.1,8.12,4,38.42994047,0.475,1.000023545,14.15422886,38.42994047
+9.164179104,-134.4765158,-759.6789402,4,2,1.1,8.12,4,38.52107683,0.475,1.000023545,14.1641791,38.52107683
+9.174129353,-134.7832517,-762.5934273,4,2,1.1,8.12,4,38.6123122,0.475,1.000023545,14.17412935,38.6123122
+9.184079602,-135.0905064,-765.5174466,4,2,1.1,8.12,4,38.70364657,0.475,1.000023545,14.1840796,38.70364657
+9.194029851,-135.39828,-768.4510207,4,2,1.1,8.12,4,38.79507995,0.475,1.000023545,14.19402985,38.79507995
+9.2039801,-135.7065728,-771.3941727,4,2,1.1,8.12,4,38.88661234,0.475,1.000023545,14.2039801,38.88661234
+9.213930348,-136.015385,-774.3469253,4,2,1.1,8.12,4,38.97824373,0.475,1.000023545,14.21393035,38.97824373
+9.223880597,-136.3247171,-777.3093016,4,2,1.1,8.12,4,39.06997414,0.475,1.000023545,14.2238806,39.06997414
+9.233830846,-136.6345691,-780.2813246,4,2,1.1,8.12,4,39.16180355,0.475,1.000023545,14.23383085,39.16180355
+9.243781095,-136.9449414,-783.2630171,4,2,1.1,8.12,4,39.25373196,0.475,1.000023545,14.24378109,39.25373196
+9.253731343,-137.2558342,-786.2544024,4,2,1.1,8.12,4,39.34575939,0.475,1.000023545,14.25373134,39.34575939
+9.263681592,-137.5672478,-789.2555035,4,2,1.1,8.12,4,39.43788582,0.475,1.000023545,14.26368159,39.43788582
+9.273631841,-137.8791826,-792.2663435,4,2,1.1,8.12,4,39.53011126,0.475,1.000023545,14.27363184,39.53011126
+9.28358209,-138.1916386,-795.2869457,4,2,1.1,8.12,4,39.62243571,0.475,1.000023545,14.28358209,39.62243571
+9.293532338,-138.5046163,-798.3173332,4,2,1.1,8.12,4,39.71485916,0.475,1.000023545,14.29353234,39.71485916
+9.303482587,-138.8181158,-801.3575293,4,2,1.1,8.12,4,39.80738162,0.475,1.000023545,14.30348259,39.80738162
+9.313432836,-139.1321375,-804.4075573,4,2,1.1,8.12,4,39.90000309,0.475,1.000023545,14.31343284,39.90000309
+9.323383085,-139.4466816,-807.4674406,4,2,1.1,8.12,4,39.99272357,0.475,1.000023545,14.32338308,39.99272357
+9.333333333,-139.7617484,-810.5372024,4,2,1.1,8.12,4,40.08554306,0.475,1.000023545,14.33333333,40.08554306
+9.343283582,-140.0773382,-813.6168662,4,2,1.1,8.12,4,40.17846155,0.475,1.000023545,14.34328358,40.17846155
+9.353233831,-140.3934512,-816.7064555,4,2,1.1,8.12,4,40.27147905,0.475,1.000023545,14.35323383,40.27147905
+9.36318408,-140.7100878,-819.8059937,4,2,1.1,8.12,4,40.36459556,0.475,1.000023545,14.36318408,40.36459556
+9.373134328,-141.0272481,-822.9155044,4,2,1.1,8.12,4,40.45781107,0.475,1.000023545,14.37313433,40.45781107
+9.383084577,-141.3449325,-826.0350111,4,2,1.1,8.12,4,40.55112559,0.475,1.000023545,14.38308458,40.55112559
+9.393034826,-141.6631412,-829.1645374,4,2,1.1,8.12,4,40.64453912,0.475,1.000023545,14.39303483,40.64453912
+9.402985075,-141.9818746,-832.3041071,4,2,1.1,8.12,4,40.73805166,0.475,1.000023545,14.40298507,40.73805166
+9.412935323,-142.3011328,-835.4537436,4,2,1.1,8.12,4,40.8316632,0.475,1.000023545,14.41293532,40.8316632
+9.422885572,-142.6209162,-838.6134708,4,2,1.1,8.12,4,40.92537375,0.475,1.000023545,14.42288557,40.92537375
+9.432835821,-142.9412251,-841.7833125,4,2,1.1,8.12,4,41.01918331,0.475,1.000023545,14.43283582,41.01918331
+9.44278607,-143.2620597,-844.9632924,4,2,1.1,8.12,4,41.11309188,0.475,1.000023545,14.44278607,41.11309188
+9.452736318,-143.5834203,-848.1534343,4,2,1.1,8.12,4,41.20709945,0.475,1.000023545,14.45273632,41.20709945
+9.462686567,-143.9053072,-851.3537622,4,2,1.1,8.12,4,41.30120604,0.475,1.000023545,14.46268657,41.30120604
+9.472636816,-144.2277206,-854.5642999,4,2,1.1,8.12,4,41.39541162,0.475,1.000023545,14.47263682,41.39541162
+9.482587065,-144.5506609,-857.7850714,4,2,1.1,8.12,4,41.48971622,0.475,1.000023545,14.48258706,41.48971622
+9.492537313,-144.8741283,-861.0161007,4,2,1.1,8.12,4,41.58411982,0.475,1.000023545,14.49253731,41.58411982
+9.502487562,-145.1981232,-864.2574118,4,2,1.1,8.12,4,41.67862244,0.475,1.000023545,14.50248756,41.67862244
+9.512437811,-145.5226457,-867.5090288,4,2,1.1,8.12,4,41.77322405,0.475,1.000023545,14.51243781,41.77322405
+9.52238806,-145.8476962,-870.7709757,4,2,1.1,8.12,4,41.86792468,0.475,1.000023545,14.52238806,41.86792468
+9.532338308,-146.173275,-874.0432768,4,2,1.1,8.12,4,41.96272431,0.475,1.000023545,14.53233831,41.96272431
+9.542288557,-146.4993823,-877.3259562,4,2,1.1,8.12,4,42.05762296,0.475,1.000023545,14.54228856,42.05762296
+9.552238806,-146.8260185,-880.6190381,4,2,1.1,8.12,4,42.1526206,0.475,1.000023545,14.55223881,42.1526206
+9.562189055,-147.1531837,-883.9225468,4,2,1.1,8.12,4,42.24771726,0.475,1.000023545,14.56218905,42.24771726
+9.572139303,-147.4808784,-887.2365066,4,2,1.1,8.12,4,42.34291292,0.475,1.000023545,14.5721393,42.34291292
+9.582089552,-147.8091027,-890.5609418,4,2,1.1,8.12,4,42.43820759,0.475,1.000023545,14.58208955,42.43820759
+9.592039801,-148.1378571,-893.8958768,4,2,1.1,8.12,4,42.53360127,0.475,1.000023545,14.5920398,42.53360127
+9.60199005,-148.4671417,-897.241336,4,2,1.1,8.12,4,42.62909396,0.475,1.000023545,14.60199005,42.62909396
+9.611940299,-148.7969568,-900.5973438,4,2,1.1,8.12,4,42.72468565,0.475,1.000023545,14.6119403,42.72468565
+9.621890547,-149.1273028,-903.9639249,4,2,1.1,8.12,4,42.82037635,0.475,1.000023545,14.62189055,42.82037635
+9.631840796,-149.4581798,-907.3411036,4,2,1.1,8.12,4,42.91616606,0.475,1.000023545,14.6318408,42.91616606
+9.641791045,-149.7895884,-910.7289045,4,2,1.1,8.12,4,43.01205478,0.475,1.000023545,14.64179104,43.01205478
+9.651741294,-150.1215286,-914.1273524,4,2,1.1,8.12,4,43.1080425,0.475,1.000023545,14.65174129,43.1080425
+9.661691542,-150.4540008,-917.5364717,4,2,1.1,8.12,4,43.20412923,0.475,1.000023545,14.66169154,43.20412923
+9.671641791,-150.7870053,-920.9562873,4,2,1.1,8.12,4,43.30031497,0.475,1.000023545,14.67164179,43.30031497
+9.68159204,-151.1205423,-924.3868237,4,2,1.1,8.12,4,43.39659971,0.475,1.000023545,14.68159204,43.39659971
+9.691542289,-151.4546122,-927.8281058,4,2,1.1,8.12,4,43.49298347,0.475,1.000023545,14.69154229,43.49298347
+9.701492537,-151.7892153,-931.2801585,4,2,1.1,8.12,4,43.58946623,0.475,1.000023545,14.70149254,43.58946623
+9.711442786,-152.1243519,-934.7430064,4,2,1.1,8.12,4,43.68604799,0.475,1.000023545,14.71144279,43.68604799
+9.721393035,-152.4600221,-938.2166745,4,2,1.1,8.12,4,43.78272877,0.475,1.000023545,14.72139303,43.78272877
+9.731343284,-152.7962265,-941.7011877,4,2,1.1,8.12,4,43.87950855,0.475,1.000023545,14.73134328,43.87950855
+9.741293532,-153.1329651,-945.1965711,4,2,1.1,8.12,4,43.97638734,0.475,1.000023545,14.74129353,43.97638734
+9.751243781,-153.4702384,-948.7028494,4,2,1.1,8.12,4,44.07336514,0.475,1.000023545,14.75124378,44.07336514
+9.76119403,-153.8080466,-952.2200479,4,2,1.1,8.12,4,44.17044195,0.475,1.000023545,14.76119403,44.17044195
+9.771144279,-154.1463899,-955.7481916,4,2,1.1,8.12,4,44.26761776,0.475,1.000023545,14.77114428,44.26761776
+9.781094527,-154.4852689,-959.2873055,4,2,1.1,8.12,4,44.36489258,0.475,1.000023545,14.78109453,44.36489258
+9.791044776,-154.8246836,-962.8374148,4,2,1.1,8.12,4,44.46226641,0.475,1.000023545,14.79104478,44.46226641
+9.800995025,-155.1646344,-966.3985448,4,2,1.1,8.12,4,44.55973924,0.475,1.000023545,14.80099502,44.55973924
+9.810945274,-155.5051216,-969.9707206,4,2,1.1,8.12,4,44.65731108,0.475,1.000023545,14.81094527,44.65731108
+9.820895522,-155.8461455,-973.5539675,4,2,1.1,8.12,4,44.75498193,0.475,1.000023545,14.82089552,44.75498193
+9.830845771,-156.1877063,-977.1483108,4,2,1.1,8.12,4,44.85275179,0.475,1.000023545,14.83084577,44.85275179
+9.84079602,-156.5298045,-980.7537759,4,2,1.1,8.12,4,44.95062065,0.475,1.000023545,14.84079602,44.95062065
+9.850746269,-156.8724403,-984.3703882,4,2,1.1,8.12,4,45.04858853,0.475,1.000023545,14.85074627,45.04858853
+9.860696517,-157.2156139,-987.9981729,4,2,1.1,8.12,4,45.14665541,0.475,1.000023545,14.86069652,45.14665541
+9.870646766,-157.5593257,-991.6371557,4,2,1.1,8.12,4,45.24482129,0.475,1.000023545,14.87064677,45.24482129
+9.880597015,-157.903576,-995.2873621,4,2,1.1,8.12,4,45.34308619,0.475,1.000023545,14.88059701,45.34308619
+9.890547264,-158.2483651,-998.9488174,4,2,1.1,8.12,4,45.44145009,0.475,1.000023545,14.89054726,45.44145009
+9.900497512,-158.5936932,-1002.621547,4,2,1.1,8.12,4,45.539913,0.475,1.000023545,14.90049751,45.539913
+9.910447761,-158.9395607,-1006.305578,4,2,1.1,8.12,4,45.63847491,0.475,1.000023545,14.91044776,45.63847491
+9.92039801,-159.285968,-1010.000934,4,2,1.1,8.12,4,45.73713584,0.475,1.000023545,14.92039801,45.73713584
+9.930348259,-159.6329151,-1013.707641,4,2,1.1,8.12,4,45.83589577,0.475,1.000023545,14.93034826,45.83589577
+9.940298507,-159.9804026,-1017.425726,4,2,1.1,8.12,4,45.93475471,0.475,1.000023545,14.94029851,45.93475471
+9.950248756,-160.3284307,-1021.155215,4,2,1.1,8.12,4,46.03371266,0.475,1.000023545,14.95024876,46.03371266
+9.960199005,-160.6769996,-1024.896132,4,2,1.1,8.12,4,46.13276961,0.475,1.000023545,14.960199,46.13276961
+9.970149254,-161.0261097,-1028.648503,4,2,1.1,8.12,4,46.23192557,0.475,1.000023545,14.97014925,46.23192557
+9.980099502,-161.3757613,-1032.412356,4,2,1.1,8.12,4,46.33118054,0.475,1.000023545,14.9800995,46.33118054
+9.990049751,-161.7259547,-1036.187715,4,2,1.1,8.12,4,46.43053452,0.475,1.000023545,14.99004975,46.43053452
+10,-162.0766902,-1039.974606,4,2,1.1,8.12,4,46.5299875,0.475,1.000023545,15,46.5299875
diff --git a/models/sbml-test-suite/cases/semantic/01000/01000-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01000/01000-sbml-l3v1.xml
new file mode 100644
index 0000000..dea74e0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01000/01000-sbml-l3v1.xml
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-01-04 14:12 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model conversionFactor="conversion1" id="case01000" name="case01000">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="kinetics">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> a </ci>
+            </bvar>
+            <bvar>
+              <ci> b </ci>
+            </bvar>
+            <bvar>
+              <ci> c </ci>
+            </bvar>
+            <bvar>
+              <ci> d </ci>
+            </bvar>
+            <bvar>
+              <ci> e </ci>
+            </bvar>
+            <bvar>
+              <ci> f </ci>
+            </bvar>
+            <bvar>
+              <ci> g </ci>
+            </bvar>
+            <bvar>
+              <ci> h </ci>
+            </bvar>
+            <bvar>
+              <ci> i </ci>
+            </bvar>
+            <bvar>
+              <ci> j </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <plus/>
+                <apply>
+                  <minus/>
+                  <ci> a </ci>
+                </apply>
+                <ci> b </ci>
+                <ci> c </ci>
+                <ci> d </ci>
+                <ci> e </ci>
+                <ci> f </ci>
+                <ci> g </ci>
+                <ci> h </ci>
+                <ci> i </ci>
+                <ci> j </ci>
+              </apply>
+              <cn> 10 </cn>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="comp" spatialDimensions="3" size="5" constant="false"/>
+      <compartment id="comp2" spatialDimensions="3" size="2" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="comp" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="comp2" initialConcentration="3" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="comp2" initialAmount="4" hasOnlySubstanceUnits="true" boundaryCondition="true" constant="false"/>
+      <species id="S4" conversionFactor="conversion2" compartment="comp2" initialConcentration="2" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kavo" value="1.1"  constant="true"/>
+      <parameter id="k1" value="1.1"  constant="true"/>
+      <parameter id="k3" value="2.5"  constant="false"/>
+      <parameter id="k4" value="1"    constant="false"/>
+      <parameter id="k5" value="2.8"  constant="false"/>
+      <parameter id="k2" value="8.12" constant="true"/>
+      <parameter id="conversion1" value="10" constant="true"/>
+      <parameter id="conversion2" value="100" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="kavo">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> avogadro </csymbol>
+            <cn type="e-notation"> 6.022 <sep/> 23 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="S1ref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> k1 </ci>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule variable="comp">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <assignmentRule variable="comp2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> k4 </ci>
+        </math>
+      </assignmentRule>
+      <rateRule variable="k4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+        </math>
+      </rateRule>
+      <assignmentRule variable="S2ref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference id="S1ref" species="S1" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="S2ref" species="S2" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> kinetics </ci>
+              <ci> k1 </ci>
+              <ci> k2 </ci>
+              <ci> k3 </ci>
+              <ci> k4 </ci>
+              <ci> k5 </ci>
+              <ci> S1 </ci>
+              <ci> S1ref </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+	  <listOfLocalParameters>
+            <localParameter id="k1" value="1"/>
+          </listOfLocalParameters>       
+      </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="k4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="k3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 4 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E2" useValuesFromTriggerTime="false">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="k4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> k3 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E3" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="k5">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> k4 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E4" useValuesFromTriggerTime="false">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 4 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="k3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> k5 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E5" useValuesFromTriggerTime="true">
+        <trigger initialValue="false" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <leq/>
+              <ci> comp </ci>
+              <cn> 5.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 4 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E6" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <leq/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 4 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.995 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="k4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 14.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="_E7" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="false">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <and/>
+              <apply>
+                <geq/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <apply>
+                <leq/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 4 </cn>
+              </apply>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 4.995 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="k5">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01000/01000-settings.txt b/models/sbml-test-suite/cases/semantic/01000/01000-settings.txt
new file mode 100644
index 0000000..96a08fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01000/01000-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 10
+steps: 1005
+variables: S1, S2, S3, S4, k1, k2, k3, k4, k5, kavo, comp, comp2
+absolute: 0.08
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/01001/01001-results.csv b/models/sbml-test-suite/cases/semantic/01001/01001-results.csv
new file mode 100644
index 0000000..9da35da
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01001/01001-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.07,0.001350486783627322,0.0001495132163726771
+0.14,0.001215876367941789,0.0002841236320582098
+0.21,0.001094683298279733,0.000405316701720266
+0.28,0.0009855702229769807,0.0005144297770230189
+0.35,0.0008873330465146263,0.0006126669534853732
+0.42,0.000798887695313261,0.0007011123046867385
+0.49,0.0007192581547299241,0.0007807418452700754
+0.56,0.0006475657829421294,0.0008524342170578701
+0.63,0.000583019325077099,0.0009169806749229005
+0.7,0.0005249066226811803,0.0009750933773188192
+0.77,0.000472586282156046,0.001027413717843953
+0.84,0.000425481032854416,0.001074518967145583
+0.91,0.0003830710007045363,0.001116928999295463
+0.98,0.0003448882266481977,0.001155111773351801
+1.05,0.0003105113013980686,0.00118948869860193
+1.12,0.0002795609312855421,0.001220439068714457
+1.19,0.0002516955829459092,0.00124830441705409
+1.26,0.0002266077088446278,0.001273392291155371
+1.33,0.0002040204591428142,0.001295979540857185
+1.4,0.0001836846234973735,0.001316315376502626
+1.47,0.0001653757860107959,0.001334624213989203
+1.54,0.0001488918708762929,0.001351108129123706
+1.61,0.0001340509923009085,0.00136594900769909
+1.68,0.0001206894003389316,0.001379310599661067
+1.75,0.0001086596355159219,0.001391340364484077
+1.82,0.00009782892769785534,0.001402171072302144
+1.89,0.00008807777797864005,0.001411922222021359
+1.96,0.00007929858874062557,0.001420701411259374
+2.03,0.00007139446758163289,0.001428605532418366
+2.1,0.00006427818429933827,0.001435721815700661
+2.17,0.00005787122433861103,0.001442128775661388
+2.24,0.00005210288690616698,0.001447897113093832
+2.31,0.00004690950702164682,0.001453090492978353
+2.38,0.0000422337758168036,0.001457766224183196
+2.45,0.00003802410452178141,0.001461975895478218
+2.52,0.00003423403685097421,0.001465765963149025
+2.59,0.0000308217416432268,0.001469178258356772
+2.66,0.00002774956781637961,0.00147225043218362
+2.73,0.00002498361752340058,0.001475016382476599
+2.8,0.00002249336523076609,0.001477506634769233
+2.87,0.00002025132680118384,0.001479748673198815
+2.94,0.00001823276527773152,0.001481767234722268
+3.01,0.00001641540687461692,0.001483584593125382
+3.08,0.00001477919396717005,0.001485220806032829
+3.15,0.0000133060695671776,0.001486693930432822
+3.22,0.0000119797805517605,0.001488020219448239
+3.29,0.00001078569115755022,0.001489214308842449
+3.36,9.710622201069345e-6,0.00149028937779893
+3.43,8.742711016705953e-6,0.001491257288983293
+3.5,7.87127759882431e-6,0.001492128722401175
diff --git a/models/sbml-test-suite/cases/semantic/01001/01001-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01001/01001-sbml-l2v4.xml
new file mode 100644
index 0000000..5e55577
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01001/01001-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01001" id="case01001" name="case01001">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="10" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01001/01001-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01001/01001-sbml-l3v1.xml
new file mode 100644
index 0000000..b4fa9b9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01001/01001-sbml-l3v1.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01001" id="case01001" name="case01001" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="10" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01001/01001-settings.txt b/models/sbml-test-suite/cases/semantic/01001/01001-settings.txt
new file mode 100644
index 0000000..9c4188e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01001/01001-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01002/01002-results.csv b/models/sbml-test-suite/cases/semantic/01002/01002-results.csv
new file mode 100644
index 0000000..0f96b70
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01002/01002-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.3,0.001075732452247863,0.002075732452247862,0.0009242675477521362
+0.6,0.001143844032353959,0.002143844032353958,0.0008561559676460401
+0.9,0.001205059001742304,0.002205059001742304,0.0007949409982576948
+1.2,0.001260041271031724,0.002260041271031723,0.0007399587289682754
+1.5,0.001309397693309883,0.002309397693309883,0.0006906023066901167
+1.8,0.001353681568666824,0.002353681568666823,0.0006463184313331768
+2.1,0.001393396247551767,0.002393396247551766,0.0006066037524482333
+2.4,0.001428998724686619,0.002428998724686618,0.0005710012753133812
+2.7,0.001460903181588641,0.00246090318158864,0.0005390968184113591
+3.,0.001489484410475039,0.002489484410475039,0.000510515589524961
+3.3,0.001515081085547144,0.002515081085547144,0.0004849189144528561
+3.6,0.001537998873163197,0.002537998873163197,0.0004620011268368029
+3.9,0.00155851332632117,0.00255851332632117,0.0004414866736788301
+4.2,0.001576872630580545,0.002576872630580545,0.0004231273694194548
+4.5,0.001593300112626801,0.002593300112626801,0.0004066998873731995
+4.8,0.00160799657878716,0.00260799657878716,0.0003920034212128402
+5.1,0.001621142450412158,0.002621142450412158,0.0003788575495878422
+5.4,0.001632899760353041,0.002632899760353042,0.0003671002396469585
+5.7,0.001643413899365991,0.002643413899365993,0.0003565861006340086
+6.,0.001652815316115478,0.002652815316115479,0.0003471846838845215
+6.3,0.001661220961714698,0.0026612209617147,0.000338779038285301
+6.6,0.00166873565286461,0.002668735652864612,0.0003312643471353888
+6.9,0.001675453324259319,0.002675453324259322,0.0003245466757406797
+7.2,0.001681458083265648,0.00268145808326565,0.0003185419167343511
+7.5,0.00168682525641397,0.002686825256413972,0.0003131747435860297
+7.8,0.00169162229112492,0.002691622291124921,0.0003083777088750799
+8.1,0.001695909538684076,0.002695909538684078,0.0003040904613159236
+8.4,0.001699740999061354,0.002699740999061356,0.0003002590009386451
+8.7,0.001703164997640559,0.00270316499764056,0.0002968350023594406
+9.,0.001706224766923826,0.002706224766923827,0.0002937752330761735
+9.3,0.001708958958703985,0.002708958958703985,0.000291041041296015
+9.6,0.001711402148536649,0.002711402148536649,0.0002885978514633507
+9.9,0.001713585253315973,0.002713585253315973,0.0002864147466840273
+10.2,0.001715535916677679,0.002715535916677679,0.0002844640833223214
+10.5,0.00171727885321098,0.00271727885321098,0.0002827211467890202
+10.8,0.001718836156942929,0.00271883615694293,0.0002811638430570705
+11.1,0.001720227577185778,0.002720227577185778,0.0002797724228142218
+11.4,0.001721470765401623,0.002721470765401623,0.0002785292345983766
+11.7,0.0017225814984667,0.0027225814984667,0.0002774185015333
+12.,0.001723573877238243,0.002723573877238243,0.0002764261227617566
+12.3,0.001724460503920449,0.002724460503920448,0.0002755394960795507
+12.6,0.001725252640862268,0.002725252640862267,0.0002747473591377321
+12.9,0.001725960352584212,0.002725960352584211,0.0002740396474157885
+13.2,0.001726592632842087,0.002726592632842086,0.0002734073671579133
+13.5,0.001727157518023408,0.002727157518023407,0.0002728424819765921
+13.8,0.001727662188580085,0.002727662188580084,0.0002723378114199149
+14.1,0.00172811306060082,0.002728113060600819,0.0002718869393991807
+14.4,0.001728515867110058,0.002728515867110057,0.0002714841328899422
+14.7,0.001728875730321088,0.002728875730321087,0.0002711242696789123
+15.,0.001729197227942944,0.002729197227942944,0.0002708027720570558
diff --git a/models/sbml-test-suite/cases/semantic/01002/01002-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01002/01002-sbml-l2v4.xml
new file mode 100644
index 0000000..20f910b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01002/01002-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01002" id="case01002" name="case01002">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="10" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="17"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01002/01002-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01002/01002-sbml-l3v1.xml
new file mode 100644
index 0000000..21ce15e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01002/01002-sbml-l3v1.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01002" id="case01002" name="case01002" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="10" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="17" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01002/01002-settings.txt b/models/sbml-test-suite/cases/semantic/01002/01002-settings.txt
new file mode 100644
index 0000000..8f5672c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01002/01002-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01003/01003-results.csv b/models/sbml-test-suite/cases/semantic/01003/01003-results.csv
new file mode 100644
index 0000000..0f9d6c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01003/01003-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7
+0.04,9.389597079643723e-7,1.438959707964372e-6,2.061040292035627e-6,5.610402920356275e-7
+0.08,8.866960875357621e-7,1.386696087535762e-6,2.113303912464238e-6,6.133039124642377e-7
+0.12,8.417588271763808e-7,1.341758827176381e-6,2.158241172823618e-6,6.58241172823619e-7
+0.16,8.029811572858246e-7,1.302981157285825e-6,2.197018842714174e-6,6.970188427141752e-7
+0.2,7.694143855642448e-7,1.269414385564245e-6,2.230585614435754e-6,7.305856144357549e-7
+0.24,7.402798425167762e-7,1.240279842516776e-6,2.259720157483222e-6,7.597201574832235e-7
+0.28,7.149330646010629e-7,1.214933064601063e-6,2.285066935398935e-6,7.850669353989368e-7
+0.32,6.92836683000088e-7,1.192836683000088e-6,2.307163316999909e-6,8.071633169999118e-7
+0.36,6.735396919433461e-7,1.173539691943346e-6,2.326460308056651e-6,8.264603080566536e-7
+0.4,6.566613024219375e-7,1.156661302421938e-6,2.343338697578059e-6,8.433386975780623e-7
+0.44,6.418783689951896e-7,1.14187836899519e-6,2.358121631004807e-6,8.581216310048101e-7
+0.48,6.289153769923319e-7,1.128915376992332e-6,2.371084623007665e-6,8.710846230076679e-7
+0.52,6.175364356356689e-7,1.117536435635669e-6,2.382463564364328e-6,8.824635643643308e-7
+0.56,6.075388526511111e-7,1.107538852651112e-6,2.392461147348885e-6,8.924611473488886e-7
+0.6,5.987478929217906e-7,1.098747892921791e-6,2.401252107078206e-6,9.012521070782091e-7
+0.64,5.910124738048314e-7,1.091012473804832e-6,2.408987526195165e-6,9.089875261951684e-7
+0.68,5.842016280296117e-7,1.084201628029612e-6,2.415798371970385e-6,9.15798371970388e-7
+0.72,5.782015661418184e-7,1.078201566141819e-6,2.421798433858179e-6,9.217984338581814e-7
+0.76,5.729132256002133e-7,1.072913225600214e-6,2.427086774399783e-6,9.270867743997865e-7
+0.8,5.682502086988119e-7,1.068250208698813e-6,2.431749791301184e-6,9.317497913011878e-7
+0.84,5.641370352567391e-7,1.06413703525674e-6,2.435862964743258e-6,9.358629647432606e-7
+0.88,5.605076688194867e-7,1.060507668819488e-6,2.43949233118051e-6,9.39492331180513e-7
+0.92,5.573042712221429e-7,1.057304271222144e-6,2.442695728777854e-6,9.426957287778568e-7
+0.96,5.544761233621076e-7,1.054476123362109e-6,2.445523876637889e-6,9.455238766378921e-7
+1.,5.519787002370357e-7,1.051978700237037e-6,2.448021299762961e-6,9.480212997629641e-7
+1.04,5.497728818090925e-7,1.049772881809094e-6,2.450227118190905e-6,9.502271181909072e-7
+1.08,5.478242815365218e-7,1.047824281536523e-6,2.452175718463475e-6,9.521757184634779e-7
+1.12,5.461026294104691e-7,1.04610262941047e-6,2.453897370589528e-6,9.538973705895307e-7
+1.16,5.44581289484622e-7,1.044581289484623e-6,2.455418710515375e-6,9.554187105153779e-7
+1.2,5.432367862310685e-7,1.04323678623107e-6,2.456763213768928e-6,9.567632137689313e-7
+1.24,5.420484412027306e-7,1.042048441202732e-6,2.457951558797266e-6,9.579515587972693e-7
+1.28,5.409980120713418e-7,1.040998012071343e-6,2.459001987928655e-6,9.590019879286578e-7
+1.32,5.400694192262633e-7,1.040069419226265e-6,2.459930580773733e-6,9.599305807737363e-7
+1.36,5.392484692176387e-7,1.03924846921764e-6,2.460751530782358e-6,9.607515307823608e-7
+1.4,5.385226343054472e-7,1.038522634305448e-6,2.461477365694549e-6,9.614773656945525e-7
+1.44,5.37880857267953e-7,1.037880857267954e-6,2.462119142732043e-6,9.621191427320468e-7
+1.48,5.373133757509462e-7,1.037313375750947e-6,2.46268662424905e-6,9.626866242490536e-7
+1.52,5.368115661223508e-7,1.036811566122352e-6,2.463188433877645e-6,9.631884338776489e-7
+1.56,5.363678095699785e-7,1.03636780956998e-6,2.463632190430018e-6,9.636321904300213e-7
+1.6,5.359753758055117e-7,1.035975375805513e-6,2.464024624194484e-6,9.640246241944878e-7
+1.64,5.356283191145352e-7,1.035628319114537e-6,2.46437168088546e-6,9.643716808854643e-7
+1.68,5.353213841798119e-7,1.035321384179813e-6,2.464678615820183e-6,9.646786158201878e-7
+1.72,5.350499255337026e-7,1.035049925533704e-6,2.464950074466293e-6,9.649500744662967e-7
+1.76,5.348098370543882e-7,1.034809837054389e-6,2.465190162945607e-6,9.651901629456114e-7
+1.8,5.345974899863946e-7,1.034597489986396e-6,2.465402510013601e-6,9.654025100136049e-7
+1.84,5.34409675950601e-7,1.034409675950602e-6,2.465590324049394e-6,9.655903240493985e-7
+1.88,5.342435579014371e-7,1.034243557901439e-6,2.465756442098559e-6,9.657564420985623e-7
+1.92,5.340966271938641e-7,1.034096627193866e-6,2.465903372806131e-6,9.659033728061353e-7
+1.96,5.339666664953589e-7,1.03396666649536e-6,2.466033333504637e-6,9.660333335046404e-7
+2.,5.338517145486229e-7,1.033851714548625e-6,2.466148285451373e-6,9.661482854513763e-7
diff --git a/models/sbml-test-suite/cases/semantic/01003/01003-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01003/01003-sbml-l2v4.xml
new file mode 100644
index 0000000..582255a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01003/01003-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01003" id="case01003" name="case01003">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="10" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000"/>
+      <parameter id="k2" name="k2" value="300000"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01003/01003-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01003/01003-sbml-l3v1.xml
new file mode 100644
index 0000000..e8ee0a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01003/01003-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01003" id="case01003" name="case01003" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="10" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000" constant="true"/>
+      <parameter id="k2" name="k2" value="300000" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01003/01003-settings.txt b/models/sbml-test-suite/cases/semantic/01003/01003-settings.txt
new file mode 100644
index 0000000..c94e1f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01003/01003-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01004/01004-results.csv b/models/sbml-test-suite/cases/semantic/01004/01004-results.csv
new file mode 100644
index 0000000..1fdd034
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01004/01004-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.15,0
+0.07,0.1350486782780117,0.0149513217219882
+0.14,0.1215876368909954,0.02841236310900452
+0.21,0.1094683301896844,0.04053166981031553
+0.28,0.0985570229341304,0.05144297706586959
+0.35,0.08873330419301235,0.06126669580698766
+0.42,0.07988876918317956,0.07011123081682045
+0.49,0.07192581507448764,0.07807418492551238
+0.56,0.06475657833902225,0.08524342166097777
+0.63,0.05830193294804702,0.091698067051953
+0.7,0.05249066129275634,0.09750933870724368
+0.77,0.04725862921900601,0.1027413707809939
+0.84,0.0425481022438116,0.1074518977561884
+0.91,0.03830710111959149,0.1116928988804085
+0.98,0.03448882126848498,0.115511178731515
+1.05,0.03105112918269254,0.1189488708173074
+1.12,0.02795609418350344,0.1220439058164965
+1.19,0.02516955914681425,0.1248304408531857
+1.26,0.0226607697057791,0.1273392302942209
+1.33,0.02040204564502601,0.129597954354974
+1.4,0.01836846328805947,0.1316315367119405
+1.47,0.01653757867296935,0.1334624213270306
+1.54,0.01488918630202426,0.1351108136979757
+1.61,0.01340509933018752,0.1365949006698125
+1.68,0.01206894071629078,0.1379310592837092
+1.75,0.0108659632471508,0.1391340367528492
+1.82,0.009782892336561332,0.1402171076634387
+1.89,0.008807778048925888,0.1411922219510741
+1.96,0.007929859272405652,0.1420701407275943
+2.03,0.007139446402557409,0.1428605535974426
+2.1,0.006427818246797193,0.1435721817532028
+2.17,0.00578712270499476,0.1442128772950052
+2.24,0.005210288836599309,0.1447897111634007
+2.31,0.004690950427264062,0.1453090495727359
+2.38,0.004223377549253244,0.1457766224507467
+2.45,0.003802410676647419,0.1461975893233526
+2.52,0.003423403662507857,0.1465765963374921
+2.59,0.003082173991827529,0.1469178260081724
+2.66,0.002774956824584184,0.1472250431754158
+2.73,0.002498361905131533,0.1475016380948685
+2.8,0.002249336434671369,0.1477506635653286
+2.87,0.002025132591367026,0.147974867408633
+2.94,0.001823276596864806,0.1481767234031352
+3.01,0.001641540767723146,0.1483584592322768
+3.08,0.001477919310125027,0.148522080689875
+3.15,0.001330606924139155,0.1486693930758609
+3.22,0.001197978122369313,0.1488020218776307
+3.29,0.001078569136411792,0.1489214308635883
+3.36,0.0009710621578983203,0.1490289378421018
+3.43,0.0008742710854447105,0.1491257289145554
+3.5,0.0007871277598824305,0.1492128722401177
diff --git a/models/sbml-test-suite/cases/semantic/01004/01004-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01004/01004-sbml-l2v4.xml
new file mode 100644
index 0000000..939eddb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01004/01004-sbml-l2v4.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01004" id="case01004" name="case01004">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="10" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01004/01004-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01004/01004-sbml-l3v1.xml
new file mode 100644
index 0000000..230ebc9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01004/01004-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01004" id="case01004" name="case01004" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="10" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> multiply </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01004/01004-settings.txt b/models/sbml-test-suite/cases/semantic/01004/01004-settings.txt
new file mode 100644
index 0000000..234a779
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01004/01004-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.5
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01005/01005-results.csv b/models/sbml-test-suite/cases/semantic/01005/01005-results.csv
new file mode 100644
index 0000000..fc2e78c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01005/01005-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.3,0.0107573245263036,0.0207573245263036,0.009242675473696393
+0.6,0.01143844032399364,0.02143844032399363,0.008561559676006358
+0.9,0.01205059002918453,0.02205059002918451,0.00794940997081547
+1.2,0.0126004127098879,0.02260041270988789,0.007399587290112099
+1.5,0.01309397692199032,0.0230939769219903,0.006906023078009675
+1.8,0.01353681568660831,0.02353681568660826,0.0064631843133917
+2.1,0.01393396247952724,0.0239339624795272,0.006066037520472761
+2.4,0.0142899872481082,0.02428998724810816,0.005710012751891803
+2.7,0.01460903182071222,0.02460903182071218,0.005390968179287785
+3.,0.01489484409232644,0.0248948440923264,0.005105155907673569
+3.3,0.01515081084694252,0.02515081084694247,0.004849189153057497
+3.6,0.01537998869347943,0.02537998869347938,0.004620011306520581
+3.9,0.01558513323430038,0.02558513323430033,0.004414866765699634
+4.2,0.0157687262861454,0.02576872628614535,0.004231273713854616
+4.5,0.01593300111526188,0.02593300111526183,0.004066998884738128
+4.8,0.01607996580765136,0.02607996580765131,0.003920034192348652
+5.1,0.01621142452544579,0.02621142452544574,0.003788575474554223
+5.4,0.01632899756411668,0.02632899756411663,0.003671002435883329
+5.7,0.01643413902737924,0.0264341390273792,0.003565860972620763
+6.,0.01652815314876347,0.02652815314876343,0.003471846851236531
+6.3,0.01661220960323651,0.02661220960323646,0.003387790396763498
+6.6,0.01668735658785168,0.02668735658785164,0.003312643412148322
+6.9,0.01675453325808131,0.02675453325808126,0.003245466741918693
+7.2,0.01681458078048978,0.02681458078048973,0.003185419219510229
+7.5,0.01686825256927799,0.02686825256927794,0.003131747430722018
+7.8,0.01691622295033605,0.026916222950336,0.003083777049663961
+8.1,0.01695909536930477,0.02695909536930472,0.00304090463069524
+8.4,0.01699740995947226,0.02699740995947221,0.003002590040527753
+8.7,0.01703165000524086,0.02703165000524082,0.002968349994759145
+9.,0.0170622476978809,0.02706224769788085,0.002937752302119105
+9.3,0.01708958958709868,0.02708958958709864,0.002910410412901322
+9.6,0.01711402146224128,0.02711402146224123,0.002885978537758733
+9.9,0.01713585250052718,0.02713585250052713,0.002864147499472829
+10.2,0.017155359143258,0.02715535914325795,0.002844640856742009
+10.5,0.01717278853270583,0.02717278853270579,0.002827211467294172
+10.8,0.01718836158851136,0.02718836158851131,0.002811638411488654
+11.1,0.01720227579230374,0.02720227579230369,0.002797724207696273
+11.4,0.01721470766561739,0.02721470766561734,0.002785292334382621
+11.7,0.01722581498445295,0.0272258149844529,0.002774185015547063
+12.,0.01723573876268361,0.02723573876268356,0.002764261237316406
+12.3,0.0172446050257902,0.02724460502579016,0.002755394974209808
+12.6,0.01725252639938255,0.02725252639938251,0.002747473600617453
+12.9,0.01725960352673867,0.02725960352673862,0.002740396473261339
+13.2,0.0172659263365826,0.02726592633658256,0.002734073663417407
+13.5,0.0172715751884987,0.02727157518849865,0.002728424811501315
+13.8,0.01727662189012656,0.02727662189012652,0.002723378109873447
+14.1,0.01728113060541156,0.02728113060541151,0.002718869394588449
+14.4,0.01728515866675279,0.02728515866675275,0.002714841333247219
+14.7,0.01728875730117757,0.02728875730117752,0.002711242698822441
+15.,0.01729197227942947,0.02729197227942942,0.002708027720570544
diff --git a/models/sbml-test-suite/cases/semantic/01005/01005-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01005/01005-sbml-l2v4.xml
new file mode 100644
index 0000000..f9c812d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01005/01005-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01005" id="case01005" name="case01005">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="10" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01005/01005-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01005/01005-sbml-l3v1.xml
new file mode 100644
index 0000000..83c6aaf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01005/01005-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01005" id="case01005" name="case01005" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="10" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01005/01005-settings.txt b/models/sbml-test-suite/cases/semantic/01005/01005-settings.txt
new file mode 100644
index 0000000..529f687
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01005/01005-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01006/01006-results.csv b/models/sbml-test-suite/cases/semantic/01006/01006-results.csv
new file mode 100644
index 0000000..0f9d6c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01006/01006-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,9.999999999999999e-7,1.5e-6,1.999999999999999e-6,4.999999999999999e-7
+0.04,9.389597079643723e-7,1.438959707964372e-6,2.061040292035627e-6,5.610402920356275e-7
+0.08,8.866960875357621e-7,1.386696087535762e-6,2.113303912464238e-6,6.133039124642377e-7
+0.12,8.417588271763808e-7,1.341758827176381e-6,2.158241172823618e-6,6.58241172823619e-7
+0.16,8.029811572858246e-7,1.302981157285825e-6,2.197018842714174e-6,6.970188427141752e-7
+0.2,7.694143855642448e-7,1.269414385564245e-6,2.230585614435754e-6,7.305856144357549e-7
+0.24,7.402798425167762e-7,1.240279842516776e-6,2.259720157483222e-6,7.597201574832235e-7
+0.28,7.149330646010629e-7,1.214933064601063e-6,2.285066935398935e-6,7.850669353989368e-7
+0.32,6.92836683000088e-7,1.192836683000088e-6,2.307163316999909e-6,8.071633169999118e-7
+0.36,6.735396919433461e-7,1.173539691943346e-6,2.326460308056651e-6,8.264603080566536e-7
+0.4,6.566613024219375e-7,1.156661302421938e-6,2.343338697578059e-6,8.433386975780623e-7
+0.44,6.418783689951896e-7,1.14187836899519e-6,2.358121631004807e-6,8.581216310048101e-7
+0.48,6.289153769923319e-7,1.128915376992332e-6,2.371084623007665e-6,8.710846230076679e-7
+0.52,6.175364356356689e-7,1.117536435635669e-6,2.382463564364328e-6,8.824635643643308e-7
+0.56,6.075388526511111e-7,1.107538852651112e-6,2.392461147348885e-6,8.924611473488886e-7
+0.6,5.987478929217906e-7,1.098747892921791e-6,2.401252107078206e-6,9.012521070782091e-7
+0.64,5.910124738048314e-7,1.091012473804832e-6,2.408987526195165e-6,9.089875261951684e-7
+0.68,5.842016280296117e-7,1.084201628029612e-6,2.415798371970385e-6,9.15798371970388e-7
+0.72,5.782015661418184e-7,1.078201566141819e-6,2.421798433858179e-6,9.217984338581814e-7
+0.76,5.729132256002133e-7,1.072913225600214e-6,2.427086774399783e-6,9.270867743997865e-7
+0.8,5.682502086988119e-7,1.068250208698813e-6,2.431749791301184e-6,9.317497913011878e-7
+0.84,5.641370352567391e-7,1.06413703525674e-6,2.435862964743258e-6,9.358629647432606e-7
+0.88,5.605076688194867e-7,1.060507668819488e-6,2.43949233118051e-6,9.39492331180513e-7
+0.92,5.573042712221429e-7,1.057304271222144e-6,2.442695728777854e-6,9.426957287778568e-7
+0.96,5.544761233621076e-7,1.054476123362109e-6,2.445523876637889e-6,9.455238766378921e-7
+1.,5.519787002370357e-7,1.051978700237037e-6,2.448021299762961e-6,9.480212997629641e-7
+1.04,5.497728818090925e-7,1.049772881809094e-6,2.450227118190905e-6,9.502271181909072e-7
+1.08,5.478242815365218e-7,1.047824281536523e-6,2.452175718463475e-6,9.521757184634779e-7
+1.12,5.461026294104691e-7,1.04610262941047e-6,2.453897370589528e-6,9.538973705895307e-7
+1.16,5.44581289484622e-7,1.044581289484623e-6,2.455418710515375e-6,9.554187105153779e-7
+1.2,5.432367862310685e-7,1.04323678623107e-6,2.456763213768928e-6,9.567632137689313e-7
+1.24,5.420484412027306e-7,1.042048441202732e-6,2.457951558797266e-6,9.579515587972693e-7
+1.28,5.409980120713418e-7,1.040998012071343e-6,2.459001987928655e-6,9.590019879286578e-7
+1.32,5.400694192262633e-7,1.040069419226265e-6,2.459930580773733e-6,9.599305807737363e-7
+1.36,5.392484692176387e-7,1.03924846921764e-6,2.460751530782358e-6,9.607515307823608e-7
+1.4,5.385226343054472e-7,1.038522634305448e-6,2.461477365694549e-6,9.614773656945525e-7
+1.44,5.37880857267953e-7,1.037880857267954e-6,2.462119142732043e-6,9.621191427320468e-7
+1.48,5.373133757509462e-7,1.037313375750947e-6,2.46268662424905e-6,9.626866242490536e-7
+1.52,5.368115661223508e-7,1.036811566122352e-6,2.463188433877645e-6,9.631884338776489e-7
+1.56,5.363678095699785e-7,1.03636780956998e-6,2.463632190430018e-6,9.636321904300213e-7
+1.6,5.359753758055117e-7,1.035975375805513e-6,2.464024624194484e-6,9.640246241944878e-7
+1.64,5.356283191145352e-7,1.035628319114537e-6,2.46437168088546e-6,9.643716808854643e-7
+1.68,5.353213841798119e-7,1.035321384179813e-6,2.464678615820183e-6,9.646786158201878e-7
+1.72,5.350499255337026e-7,1.035049925533704e-6,2.464950074466293e-6,9.649500744662967e-7
+1.76,5.348098370543882e-7,1.034809837054389e-6,2.465190162945607e-6,9.651901629456114e-7
+1.8,5.345974899863946e-7,1.034597489986396e-6,2.465402510013601e-6,9.654025100136049e-7
+1.84,5.34409675950601e-7,1.034409675950602e-6,2.465590324049394e-6,9.655903240493985e-7
+1.88,5.342435579014371e-7,1.034243557901439e-6,2.465756442098559e-6,9.657564420985623e-7
+1.92,5.340966271938641e-7,1.034096627193866e-6,2.465903372806131e-6,9.659033728061353e-7
+1.96,5.339666664953589e-7,1.03396666649536e-6,2.466033333504637e-6,9.660333335046404e-7
+2.,5.338517145486229e-7,1.033851714548625e-6,2.466148285451373e-6,9.661482854513763e-7
diff --git a/models/sbml-test-suite/cases/semantic/01006/01006-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01006/01006-sbml-l2v4.xml
new file mode 100644
index 0000000..6088a30
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01006/01006-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01006" id="case01006" name="case01006">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="10" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000"/>
+      <parameter id="k2" name="k2" value="300000"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01006/01006-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01006/01006-sbml-l3v1.xml
new file mode 100644
index 0000000..402092e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01006/01006-sbml-l3v1.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01006" id="case01006" name="case01006" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="10" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="5e-007" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1300000" constant="true"/>
+      <parameter id="k2" name="k2" value="300000" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <apply>
+                <ci> multiply </ci>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01006/01006-settings.txt b/models/sbml-test-suite/cases/semantic/01006/01006-settings.txt
new file mode 100644
index 0000000..c94e1f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01006/01006-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01007/01007-results.csv b/models/sbml-test-suite/cases/semantic/01007/01007-results.csv
new file mode 100644
index 0000000..d5f349b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01007/01007-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.00015,0.0001
+0.1,0.0001357256126742597,0.0001142743873257403
+0.2,0.0001228096128954889,0.0001271903871045111
+0.3,0.0001111227330766294,0.0001388772669233705
+0.4,0.0001005480068516682,0.0001494519931483319
+0.5,0.00009097959887375714,0.0001590204011262429
+0.6,0.00008232174485545655,0.0001676782551445435
+0.7,0.0000744877947070635,0.0001755122052929366
+0.8,0.00006739934355962143,0.0001826006564403786
+0.9,0.00006098544783937572,0.0001890145521606243
+1.,0.00005518191105426146,0.0001948180889457386
+1.1,0.00004993065968003168,0.0002000693403199684
+1.2,0.00004517913174967631,0.0002048208682503237
+1.3,0.00004087976645779386,0.0002091202335422061
+1.4,0.00003698954425561347,0.0002130104557443865
+1.5,0.00003346952243568353,0.0002165304775643165
+1.6,0.00003028447667617287,0.0002197155233238271
+1.7,0.00002740252797442168,0.0002225974720255783
+1.8,0.00002479483096268447,0.0002252051690373155
+1.9,0.00002243529232867706,0.0002275647076713229
+2.,0.00002030029204661997,0.00022969970795338
+2.1,0.00001836846258309459,0.0002316315374169054
+2.2,0.00001662047273204181,0.0002333795272679582
+2.3,0.000015038826555389,0.000234961173444611
+2.4,0.00001360769209482715,0.0002363923079051728
+2.5,0.00001231274870790273,0.0002376872512920973
+2.6,0.00001114103654802876,0.0002388589634519712
+2.7,0.00001008082660730412,0.0002399191733926959
+2.8,9.121508547808962e-6,0.000240878491452191
+2.9,8.253482573169637e-6,0.0002417465174268303
+3.,7.468060236218503e-6,0.0002425319397637815
+3.1,6.757379861685185e-6,0.0002432426201383148
+3.2,6.114330086812052e-6,0.0002438856699131879
+3.3,5.532475057791357e-6,0.0002444675249422086
+3.4,5.00599029839853e-6,0.0002449940097016014
+3.5,4.529607087896762e-6,0.0002454703929121032
+3.6,4.098558188450128e-6,0.0002459014418115498
+3.7,3.708528944244573e-6,0.0002462914710557553
+3.8,3.355615509310574e-6,0.0002466443844906894
+3.9,3.036286481957772e-6,0.0002469637135180421
+4.,2.747345822226978e-6,0.000247252654177773
+4.1,2.485901190561074e-6,0.0002475140988094389
+4.2,2.249336312523869e-6,0.0002477506636874761
+4.3,2.035283781894116e-6,0.0002479647162181059
+4.4,1.841600960811073e-6,0.000248158399039189
+4.5,1.666349338013526e-6,0.0002483336506619865
+4.6,1.507775255800699e-6,0.0002484922247441993
+4.7,1.364291564250467e-6,0.0002486357084357496
+4.8,1.234461986969878e-6,0.0002487655380130302
+4.9,1.116987390115314e-6,0.0002488830126098847
+5.,1.010692049865426e-6,0.0002489893079501346
diff --git a/models/sbml-test-suite/cases/semantic/01007/01007-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01007/01007-sbml-l2v4.xml
new file mode 100644
index 0000000..f67a29f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01007/01007-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01007" id="case01007" name="case01007">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="10" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01007/01007-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01007/01007-sbml-l3v1.xml
new file mode 100644
index 0000000..d1a6f83
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01007/01007-sbml-l3v1.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01007" id="case01007" name="case01007" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="10" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01007/01007-settings.txt b/models/sbml-test-suite/cases/semantic/01007/01007-settings.txt
new file mode 100644
index 0000000..4e5ac53
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01007/01007-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01008/01008-results.csv b/models/sbml-test-suite/cases/semantic/01008/01008-results.csv
new file mode 100644
index 0000000..fc78f76
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01008/01008-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0015,0.002,0.0015,0.004
+0.2,0.00130586,0.00219414,0.0015693,0.003975
+0.4,0.00113685,0.00236315,0.0016386,0.00395
+0.6,0.000989718,0.00251028,0.0017079,0.003925
+0.8,0.000861625,0.00263837,0.0017772,0.0039
+1,0.00075011,0.00274989,0.0018465,0.003875
+1.2,0.000653028,0.00284697,0.0019158,0.00385
+1.4,0.000568511,0.00293149,0.0019851,0.003825
+1.6,0.000494932,0.00300507,0.0020544,0.0038
+1.8,0.000430876,0.00306912,0.0021237,0.003775
+2,0.00037511,0.00312489,0.002193,0.00375
+2.2,0.000326562,0.00317344,0.0022623,0.003725
+2.4,0.000284297,0.0032157,0.0023316,0.0037
+2.6,0.000247502,0.0032525,0.0024009,0.003675
+2.8,0.00021547,0.00328453,0.0024702,0.00365
+3,0.000187583,0.00331242,0.0025395,0.003625
+3.2,0.000163305,0.00333669,0.0026088,0.0036
+3.4,0.00014217,0.00335783,0.0026781,0.003575
+3.6,0.000123769,0.00337623,0.0027474,0.00355
+3.8,0.000107751,0.00339225,0.0028167,0.003525
+4,9.38E-05,0.00340619,0.002886,0.0035
+4.2,8.17E-05,0.00341834,0.0029553,0.003475
+4.4,7.11E-05,0.0034289,0.0030246,0.00345
+4.6,6.19E-05,0.00343811,0.0030939,0.003425
+4.8,5.39E-05,0.00344612,0.0031632,0.0034
+5,4.69E-05,0.00345309,0.0032325,0.003375
+5.2,4.08E-05,0.00345916,0.0033018,0.00335
+5.4,3.56E-05,0.00346445,0.0033711,0.003325
+5.6,3.10E-05,0.00346905,0.0034404,0.0033
+5.8,2.69E-05,0.00347305,0.0035097,0.003275
+6,2.35E-05,0.00347654,0.003579,0.00325
+6.2,2.04E-05,0.00347958,0.0036483,0.003225
+6.4,1.78E-05,0.00348222,0.0037176,0.0032
+6.6,1.55E-05,0.00348452,0.0037869,0.003175
+6.8,1.35E-05,0.00348653,0.0038562,0.00315
+7,1.17E-05,0.00348827,0.0039255,0.003125
+7.2,1.02E-05,0.00348979,0.0039948,0.0031
+7.4,8.89E-06,0.00349111,0.0040641,0.003075
+7.6,7.74E-06,0.00349226,0.0041334,0.00305
+7.8,6.74E-06,0.00349326,0.0042027,0.003025
+8,5.87E-06,0.00349413,0.004272,0.003
+8.2,5.11E-06,0.00349489,0.0043413,0.002975
+8.4,4.45E-06,0.00349555,0.0044106,0.00295
+8.6,3.87E-06,0.00349613,0.0044799,0.002925
+8.8,3.37E-06,0.00349663,0.0045492,0.0029
+9,2.93E-06,0.00349707,0.0046185,0.002875
+9.2,2.55E-06,0.00349745,0.0046878,0.00285
+9.4,2.22E-06,0.00349778,0.0047571,0.002825
+9.6,1.94E-06,0.00349806,0.0048264,0.0028
+9.8,1.69E-06,0.00349831,0.0048957,0.002775
+10,1.47E-06,0.00349853,0.004965,0.00275
diff --git a/models/sbml-test-suite/cases/semantic/01008/01008-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01008/01008-sbml-l2v4.xml
new file mode 100644
index 0000000..9c772d3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01008/01008-sbml-l2v4.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01008" id="case01008" name="case01008">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="10" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693"/>
+      <parameter id="k2" name="k2" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01008/01008-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01008/01008-sbml-l3v1.xml
new file mode 100644
index 0000000..c4962e1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01008/01008-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01008" id="case01008" name="case01008" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="10" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.004" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.693" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.0005 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.0005 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01008/01008-settings.txt b/models/sbml-test-suite/cases/semantic/01008/01008-settings.txt
new file mode 100644
index 0000000..c5ba120
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01008/01008-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01009/01009-results.csv b/models/sbml-test-suite/cases/semantic/01009/01009-results.csv
new file mode 100644
index 0000000..be5862c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01009/01009-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.005,0.1044481221378916,0.2044481221378916,0.09555187786210833
+0.01,0.1079446299755927,0.2079446299755926,0.09205537002440729
+0.015,0.1106858430651386,0.2106858430651386,0.08931415693486134
+0.02,0.1128304590101838,0.2128304590101838,0.08716954098981619
+0.025,0.1145055981480002,0.2145055981480002,0.08549440185199976
+0.03,0.1158123748607399,0.2158123748607399,0.08418762513926003
+0.035,0.1168307813099396,0.2168307813099397,0.08316921869006034
+0.04,0.1176238421366178,0.2176238421366178,0.08237615786338217
+0.045,0.1182410491767997,0.2182410491767997,0.08175895082320031
+0.05,0.1187211708983351,0.2187211708983352,0.08127882910166482
+0.055,0.119094519631828,0.2190945196318281,0.08090548036817192
+0.06,0.1193847579561612,0.2193847579561612,0.08061524204383881
+0.065,0.1196103373432451,0.2196103373432452,0.08038966265675483
+0.07,0.1197856321768527,0.2197856321768527,0.08021436782314728
+0.075,0.1199218338235438,0.2199218338235438,0.0800781661764562
+0.08,0.1200276494188382,0.2200276494188382,0.07997235058116179
+0.085,0.1201098514475569,0.2201098514475569,0.07989014855244303
+0.09,0.1201737055358806,0.2201737055358806,0.0798262944641194
+0.095,0.1202233046094008,0.2202233046094008,0.07977669539059918
+0.1,0.120261829558363,0.220261829558363,0.079738170441637
+0.105,0.1202917520587661,0.2202917520587661,0.07970824794123387
+0.11,0.1203149924710523,0.2203149924710523,0.07968500752894763
+0.115,0.1203330426750826,0.2203330426750825,0.07966695732491739
+0.12,0.1203470616013342,0.2203470616013342,0.07965293839866577
+0.125,0.1203579494268505,0.2203579494268504,0.0796420505731495
+0.13,0.1203664054576069,0.2203664054576068,0.0796335945423931
+0.135,0.1203729727853375,0.2203729727853374,0.07962702721466249
+0.14,0.1203780732193355,0.2203780732193355,0.07962192678066447
+0.145,0.1203820343930572,0.2203820343930572,0.07961796560694271
+0.15,0.1203851107693808,0.2203851107693807,0.07961488923061921
+0.155,0.1203874999985105,0.2203874999985105,0.07961250000148943
+0.16,0.1203893555366262,0.2203893555366261,0.07961064446337377
+0.165,0.1203907965982158,0.2203907965982157,0.07960920340178415
+0.17,0.1203919157765692,0.2203919157765691,0.07960808422343074
+0.175,0.1203927849584649,0.2203927849584648,0.07960721504153504
+0.18,0.1203934599858894,0.2203934599858893,0.07960654001411057
+0.185,0.1203939842342217,0.2203939842342216,0.07960601576577827
+0.19,0.1203943913789151,0.2203943913789151,0.07960560862108484
+0.195,0.1203947075764129,0.2203947075764129,0.07960529242358703
+0.2,0.1203949531451083,0.2203949531451082,0.07960504685489167
+0.205,0.1203951438604251,0.220395143860425,0.07960485613957489
+0.21,0.1203952919737154,0.2203952919737153,0.07960470802628459
+0.215,0.1203954070039401,0.2203954070039401,0.07960459299605983
+0.22,0.1203954963377769,0.2203954963377769,0.07960450366222303
+0.225,0.1203955657178845,0.2203955657178844,0.07960443428211548
+0.23,0.1203956195995317,0.2203956195995317,0.07960438040046824
+0.235,0.1203956614459248,0.2203956614459248,0.07960433855407513
+0.24,0.1203956939448528,0.2203956939448528,0.07960430605514715
+0.245,0.1203957191839631,0.2203957191839631,0.07960428081603689
+0.25,0.1203957387853741,0.2203957387853741,0.07960426121462589
diff --git a/models/sbml-test-suite/cases/semantic/01009/01009-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01009/01009-sbml-l2v4.xml
new file mode 100644
index 0000000..4824d3e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01009/01009-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01009" id="case01009" name="case01009">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="10" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75"/>
+      <parameter id="k2" name="k2" value="25"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01009/01009-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01009/01009-sbml-l3v1.xml
new file mode 100644
index 0000000..926bf9b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01009/01009-sbml-l3v1.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01009" id="case01009" name="case01009" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="10" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="25" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01009/01009-settings.txt b/models/sbml-test-suite/cases/semantic/01009/01009-settings.txt
new file mode 100644
index 0000000..1ba9ef6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01009/01009-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.25
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01010/01010-results.csv b/models/sbml-test-suite/cases/semantic/01010/01010-results.csv
new file mode 100644
index 0000000..2ed9eb9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01010/01010-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.0015,0.002,0.001
+0.04,0.0006926632324792408,0.00119266323247924,0.002307336767520755,0.001307336767520759
+0.08,0.0005265018953712766,0.001026501895371276,0.00247349810462872,0.001473498104628723
+0.12,0.0004268907133485237,0.000926890713348524,0.002573109286651472,0.001573109286651476
+0.16,0.0003634423078770663,0.0008634423078770666,0.00263655769212293,0.001636557692122933
+0.2,0.0003214546384183692,0.0008214546384183696,0.002678545361581627,0.00167854536158163
+0.24,0.0002929622296131581,0.0007929622296131584,0.002707037770386837,0.001707037770386841
+0.28,0.000273296611775547,0.0007732966117755474,0.00272670338822445,0.001726703388224452
+0.32,0.0002595637779284935,0.000759563777928494,0.002740436222071502,0.001740436222071505
+0.36,0.0002498954882791467,0.0007498954882791473,0.002750104511720849,0.001750104511720852
+0.4,0.0002430496521221716,0.0007430496521221722,0.002756950347877825,0.001756950347877827
+0.44,0.0002381826344637265,0.0007381826344637268,0.00276181736553627,0.001761817365536272
+0.48,0.0002347124732328066,0.0007347124732328069,0.00276528752676719,0.001765287526767192
+0.52,0.0002322331834233109,0.0007322331834233112,0.002767766816576685,0.001767766816576687
+0.56,0.0002304592328733644,0.0007304592328733647,0.002769540767126631,0.001769540767126634
+0.6,0.000229188626046147,0.0007291886260461471,0.002770811373953849,0.001770811373953851
+0.64,0.0002282778610969879,0.0007282778610969879,0.002771722138903008,0.00177172213890301
+0.68,0.000227624676279113,0.0007276246762791131,0.002772375323720883,0.001772375323720885
+0.72,0.000227156043707133,0.0007271560437071331,0.002772843956292862,0.001772843956292865
+0.76,0.0002268197261798769,0.0007268197261798771,0.002773180273820118,0.001773180273820121
+0.8,0.0002265783172812696,0.0007265783172812695,0.002773421682718726,0.001773421682718729
+0.84,0.0002264050094827345,0.0007264050094827344,0.00277359499051726,0.001773594990517264
+0.88,0.0002262805786301308,0.0007262805786301307,0.002773719421369863,0.001773719421369868
+0.92,0.0002261912337637498,0.0007261912337637497,0.002773808766236245,0.001773808766236249
+0.96,0.0002261270782279809,0.0007261270782279808,0.002773872921772014,0.001773872921772017
+1.,0.0002260810085780461,0.0007260810085780458,0.002773918991421949,0.001773918991421952
+1.04,0.0002260479252788478,0.0007260479252788475,0.002773952074721147,0.001773952074721151
+1.08,0.0002260241673805917,0.0007260241673805914,0.002773975832619403,0.001773975832619407
+1.12,0.0002260071058530516,0.0007260071058530513,0.002773992894146943,0.001773992894146947
+1.16,0.0002259948532474378,0.0007259948532474375,0.002774005146752557,0.001774005146752561
+1.2,0.000225986054064158,0.0007259860540641577,0.002774013945935837,0.00177401394593584
+1.24,0.0002259797349005019,0.0007259797349005016,0.002774020265099493,0.001774020265099496
+1.28,0.0002259751967392147,0.0007259751967392144,0.002774024803260779,0.001774024803260784
+1.32,0.0002259719376205396,0.0007259719376205393,0.002774028062379455,0.001774028062379459
+1.36,0.000225969597059507,0.0007259695970595067,0.002774030402940488,0.001774030402940491
+1.4,0.0002259679161649476,0.0007259679161649472,0.002774032083835047,0.00177403208383505
+1.44,0.000225966709011006,0.0007259667090110057,0.002774033290988989,0.001774033290988992
+1.48,0.0002259658420764097,0.0007259658420764094,0.002774034157923585,0.001774034157923589
+1.52,0.0002259652194772247,0.0007259652194772243,0.00277403478052277,0.001774034780522774
+1.56,0.0002259647723514645,0.0007259647723514639,0.00277403522764853,0.001774035227648534
+1.6,0.0002259644512424014,0.0007259644512424009,0.002774035548757593,0.001774035548757597
+1.64,0.0002259642206337479,0.0007259642206337474,0.002774035779366247,0.00177403577936625
+1.68,0.0002259640550185998,0.0007259640550185993,0.002774035944981395,0.001774035944981398
+1.72,0.0002259639360795788,0.0007259639360795782,0.002774036063920416,0.001774036063920419
+1.76,0.0002259638506635629,0.0007259638506635623,0.002774036149336432,0.001774036149336435
+1.8,0.0002259637893201925,0.0007259637893201919,0.002774036210679802,0.001774036210679806
+1.84,0.0002259637452654807,0.0007259637452654801,0.002774036254734514,0.001774036254734518
+1.88,0.000225963713627572,0.0007259637136275714,0.002774036286372423,0.001774036286372426
+1.92,0.000225963690906049,0.0007259636909060484,0.002774036309093945,0.00177403630909395
+1.96,0.000225963674588295,0.0007259636745882943,0.0027740363254117,0.001774036325411703
+2.,0.0002259636628696866,0.000725963662869686,0.002774036337130309,0.001774036337130312
diff --git a/models/sbml-test-suite/cases/semantic/01010/01010-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01010/01010-sbml-l2v4.xml
new file mode 100644
index 0000000..db94a51
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01010/01010-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01010" id="case01010" name="case01010">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="10" units="area"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500"/>
+      <parameter id="k2" name="k2" value="250"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01010/01010-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01010/01010-sbml-l3v1.xml
new file mode 100644
index 0000000..e25c56c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01010/01010-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01010" id="case01010" name="case01010" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="2" size="10" units="area" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="250" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01010/01010-settings.txt b/models/sbml-test-suite/cases/semantic/01010/01010-settings.txt
new file mode 100644
index 0000000..6f0400b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01010/01010-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01011/01011-results.csv b/models/sbml-test-suite/cases/semantic/01011/01011-results.csv
new file mode 100644
index 0000000..3ae692b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01011/01011-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.50000E-06,1.00000E-06
+0.1,1.29106E-06,1.20894E-06
+0.2,1.11123E-06,1.38877E-06
+0.3,9.56442E-07,1.54356E-06
+0.4,8.23217E-07,1.67678E-06
+0.5,7.08550E-07,1.79145E-06
+0.6,6.09854E-07,1.89015E-06
+0.7,5.24907E-07,1.97509E-06
+0.8,4.51791E-07,2.04821E-06
+0.9,3.88860E-07,2.11114E-06
+1,3.34695E-07,2.16530E-06
+1.1,2.88075E-07,2.21193E-06
+1.2,2.47948E-07,2.25205E-06
+1.3,2.13411E-07,2.28659E-06
+1.4,1.83685E-07,2.31632E-06
+1.5,1.58099E-07,2.34190E-06
+1.6,1.36077E-07,2.36392E-06
+1.7,1.17122E-07,2.38288E-06
+1.8,1.00808E-07,2.39919E-06
+1.9,8.67665E-08,2.41323E-06
+2,7.46806E-08,2.42532E-06
+2.1,6.42782E-08,2.43572E-06
+2.2,5.53248E-08,2.44468E-06
+2.3,4.76185E-08,2.45238E-06
+2.4,4.09856E-08,2.45901E-06
+2.5,3.52766E-08,2.46472E-06
+2.6,3.03629E-08,2.46964E-06
+2.7,2.61336E-08,2.47387E-06
+2.8,2.24934E-08,2.47751E-06
+2.9,1.93602E-08,2.48064E-06
+3,1.66635E-08,2.48334E-06
+3.1,1.43424E-08,2.48566E-06
+3.2,1.23446E-08,2.48766E-06
+3.3,1.06251E-08,2.48937E-06
+3.4,9.14512E-09,2.49085E-06
+3.5,7.87128E-09,2.49213E-06
+3.6,6.77487E-09,2.49323E-06
+3.7,5.83119E-09,2.49417E-06
+3.8,5.01895E-09,2.49498E-06
+3.9,4.31985E-09,2.49568E-06
+4,3.71813E-09,2.49628E-06
+4.1,3.20022E-09,2.49680E-06
+4.2,2.75446E-09,2.49725E-06
+4.3,2.37078E-09,2.49763E-06
+4.4,2.04055E-09,2.49796E-06
+4.5,1.75632E-09,2.49824E-06
+4.6,1.51168E-09,2.49849E-06
+4.7,1.30111E-09,2.49870E-06
+4.8,1.11988E-09,2.49888E-06
+4.9,9.63889E-10,2.49904E-06
+5,8.29627E-10,2.49917E-06
diff --git a/models/sbml-test-suite/cases/semantic/01011/01011-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01011/01011-sbml-l2v4.xml
new file mode 100644
index 0000000..b0ffeaa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01011/01011-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01011" id="case01011" name="case01011">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="10" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01011/01011-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01011/01011-sbml-l3v1.xml
new file mode 100644
index 0000000..40d2a29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01011/01011-sbml-l3v1.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01011" id="case01011" name="case01011" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="10" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01011/01011-settings.txt b/models/sbml-test-suite/cases/semantic/01011/01011-settings.txt
new file mode 100644
index 0000000..88c221b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01011/01011-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01012/01012-results.csv b/models/sbml-test-suite/cases/semantic/01012/01012-results.csv
new file mode 100644
index 0000000..25792cf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01012/01012-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.5
+0.02,0.7635638868221963,1.763563886822197,1.736436113177803
+0.04,0.6032956133325602,1.60329561333256,1.896704386667439
+0.06,0.4891384446518271,1.489138444651828,2.010861555348171
+0.08,0.4049255655556218,1.404925565555623,2.095074434444377
+0.1,0.3411830157960605,1.341183015796062,2.158816984203937
+0.12,0.2919889395535409,1.291988939553542,2.208011060446458
+0.14,0.2534509025130994,1.253450902513101,2.246549097486899
+0.16,0.2229055627613853,1.222905562761387,2.277094437238614
+0.18,0.1984700918960634,1.198470091896066,2.301529908103936
+0.2,0.1787771914693879,1.17877719146939,2.321222808530611
+0.22,0.1628115492937797,1.162811549293782,2.337188450706219
+0.24,0.1498050664228105,1.149805066422813,2.350194933577188
+0.26,0.139167537638592,1.139167537638594,2.360832462361407
+0.28,0.1304394810767746,1.130439481076777,2.369560518923224
+0.3,0.1232592363002355,1.123259236300238,2.376740763699764
+0.32,0.1173394941137277,1.11733949411373,2.382660505886272
+0.34,0.1124502417588514,1.112450241758854,2.387549758241148
+0.36,0.1084061292146969,1.108406129214699,2.391593870785302
+0.38,0.1050569817752994,1.105056981775302,2.3949430182247
+0.4,0.1022805678379795,1.102280567837982,2.39771943216202
+0.42,0.09997701642969013,1.099977016429693,2.400022983570309
+0.44,0.09806446266076045,1.098064462660763,2.401935537339239
+0.46,0.09647562220652873,1.096475622206531,2.40352437779347
+0.48,0.09515507266851848,1.095155072668521,2.404844927331481
+0.5,0.09405707321310226,1.094057073213105,2.405942926786897
+0.52,0.09314381406241804,1.093143814062421,2.406856185937581
+0.54,0.0923840036655715,1.092384003665574,2.407615996334428
+0.56,0.09175171457141906,1.091751714571422,2.40824828542858
+0.58,0.0912254437700123,1.091225443770015,2.408774556229987
+0.6,0.09078734522266294,1.090787345222666,2.409212654777336
+0.62,0.09042259820320718,1.09042259820321,2.409577401796792
+0.64,0.09011888794754138,1.090118887947544,2.409881112052458
+0.66,0.08986597750763451,1.089865977507637,2.410134022492365
+0.68,0.08965535358739046,1.089655353587393,2.410344646412609
+0.7,0.08947993475187132,1.089479934751874,2.410520065248129
+0.72,0.08933382897670098,1.089333828976703,2.410666171023299
+0.74,0.08921213263448037,1.089212132634483,2.410787867365519
+0.76,0.08911076399825983,1.089110763998262,2.41088923600174
+0.78,0.0890263249819789,1.089026324981981,2.410973675018021
+0.8,0.0889559863186348,1.088955986318637,2.411044013681364
+0.82,0.08889739216282034,1.088897392162823,2.411102607837179
+0.84,0.08884858070549722,1.0888485807055,2.411151419294503
+0.86,0.08880791807593488,1.088807918075937,2.411192081924065
+0.88,0.08877404343961109,1.088774043439614,2.411225956560389
+0.9,0.08874582335656343,1.088745823356566,2.411254176643436
+0.92,0.08872231368702106,1.088722313687023,2.411277686312979
+0.94,0.08870272815391824,1.088702728153921,2.411297271846082
+0.96,0.08868641153352445,1.088686411533527,2.411313588466476
+0.98,0.08867281825236779,1.08867281825237,2.411327181747632
+1.,0.088661493698996,1.088661493698998,2.411338506301004
diff --git a/models/sbml-test-suite/cases/semantic/01012/01012-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01012/01012-sbml-l2v4.xml
new file mode 100644
index 0000000..23bca2d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01012/01012-sbml-l2v4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01012" id="case01012" name="case01012">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="10" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5"/>
+      <parameter id="k2" name="k2" value="0.3"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01012/01012-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01012/01012-sbml-l3v1.xml
new file mode 100644
index 0000000..016e222
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01012/01012-sbml-l3v1.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01012" id="case01012" name="case01012" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="10" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01012/01012-settings.txt b/models/sbml-test-suite/cases/semantic/01012/01012-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01012/01012-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01013/01013-results.csv b/models/sbml-test-suite/cases/semantic/01013/01013-results.csv
new file mode 100644
index 0000000..37a785c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01013/01013-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01,0.01499999999999999,0.02,0.001
+0.01,0.009268912946140125,0.01426891294614012,0.02073108705385987,0.001731087053859876
+0.02,0.008704254657840668,0.01370425465784066,0.02129574534215933,0.002295745342159333
+0.03,0.008267540254314366,0.01326754025431436,0.02173245974568564,0.002732459745685639
+0.04,0.007929421214327176,0.01292942121432717,0.02207057878567283,0.003070578785672831
+0.05,0.007667423147814838,0.01266742314781483,0.02233257685218516,0.003332576852185167
+0.06,0.007464279783279488,0.01246427978327948,0.02253572021672051,0.003535720216720518
+0.07,0.007306692565004875,0.01230669256500487,0.02269330743499513,0.00369330743499513
+0.08,0.007184398461604595,0.01218439846160459,0.02281560153839541,0.003815601538395411
+0.09,0.007089465059170766,0.01208946505917076,0.02291053494082924,0.00391053494082924
+0.1,0.007015754003523275,0.01201575400352327,0.02298424599647673,0.003984245996476731
+0.11,0.006958510836837507,0.0119585108368375,0.02304148916316249,0.004041489163162499
+0.12,0.006914050291170683,0.01191405029117068,0.02308594970882932,0.004085949708829323
+0.13,0.006879514215875756,0.01187951421587575,0.02312048578412424,0.00412048578412425
+0.14,0.006852684994802387,0.01185268499480238,0.02314731500519761,0.004147315005197619
+0.15,0.006831841517541888,0.01183184151754188,0.02316815848245811,0.004168158482458118
+0.16,0.006815647454354235,0.01181564745435423,0.02318435254564576,0.004184352545645772
+0.17,0.006803065247003114,0.01180306524700311,0.02319693475299688,0.004196934752996892
+0.18,0.006793288984287129,0.01179328898428713,0.02320671101571287,0.004206711015712877
+0.19,0.006785692766236497,0.0117856927662365,0.02321430723376349,0.004214307233763509
+0.2,0.006779790324735417,0.01177979032473541,0.02322020967526457,0.004220209675264589
+0.21,0.006775203939057074,0.01177520393905707,0.02322479606094291,0.004224796060942932
+0.22,0.006771640119181691,0.01177164011918169,0.0232283598808183,0.004228359880818316
+0.23,0.006768870861967878,0.01176887086196788,0.02323112913803212,0.004231129138032128
+0.24,0.006766718995610324,0.01176671899561033,0.02323328100438967,0.004233281004389682
+0.25,0.00676504687238072,0.01176504687238072,0.02323495312761928,0.004234953127619287
+0.26,0.006763747532148994,0.011763747532149,0.02323625246785101,0.004236252467851012
+0.27,0.006762737861055997,0.011762737861056,0.023237262138944,0.004237262138944009
+0.28,0.006761953279671923,0.01176195327967192,0.02323804672032808,0.004238046720328083
+0.29,0.0067613436074279,0.0117613436074279,0.0232386563925721,0.004238656392572106
+0.3,0.006760869850860502,0.0117608698508605,0.0232391301491395,0.004239130149139504
+0.31,0.006760501709609863,0.01176050170960986,0.02323949829039014,0.004239498290390143
+0.32,0.006760215638514977,0.01176021563851497,0.02323978436148502,0.00423978436148503
+0.33,0.006759993341224722,0.01175999334122472,0.02324000665877527,0.004240006658775284
+0.34,0.006759820599579385,0.01175982059957938,0.02324017940042061,0.004240179400420621
+0.35,0.006759686367947742,0.01175968636794774,0.02324031363205225,0.004240313632052264
+0.36,0.00675958206041754,0.01175958206041754,0.02324041793958245,0.004240417939582466
+0.37,0.006759501005452538,0.01175950100545254,0.02324049899454746,0.004240498994547469
+0.38,0.006759438020315084,0.01175943802031508,0.02324056197968491,0.004240561979684922
+0.39,0.006759389076446187,0.01175938907644618,0.02324061092355381,0.004240610923553819
+0.4,0.006759351043249734,0.01175935104324973,0.02324064895675026,0.004240648956750272
+0.41,0.006759321488862771,0.01175932148886276,0.02324067851113722,0.004240678511137236
+0.42,0.006759298523063182,0.01175929852306318,0.02324070147693681,0.004240701476936824
+0.43,0.006759280676844427,0.01175928067684442,0.02324071932315557,0.00424071932315558
+0.44,0.006759266809090178,0.01175926680909017,0.02324073319090982,0.004240733190909828
+0.45,0.006759256032900478,0.01175925603290047,0.02324074396709952,0.004240743967099528
+0.46,0.006759247658928681,0.01175924765892868,0.02324075234107131,0.004240752341071326
+0.47,0.006759241151841838,0.01175924115184184,0.02324075884815815,0.004240758848158168
+0.48,0.006759236095294076,0.01175923609529407,0.02324076390470592,0.00424076390470593
+0.49,0.006759232166058682,0.01175923216605868,0.02324076783394132,0.004240767833941325
+0.5,0.006759229112727695,0.01175922911272769,0.0232407708872723,0.004240770887272311
diff --git a/models/sbml-test-suite/cases/semantic/01013/01013-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01013/01013-sbml-l2v4.xml
new file mode 100644
index 0000000..74030a4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01013/01013-sbml-l2v4.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01013" id="case01013" name="case01013">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="10" units="length"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="620"/>
+      <parameter id="k2" name="k2" value="500"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01013/01013-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01013/01013-sbml-l3v1.xml
new file mode 100644
index 0000000..ecf74d2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01013/01013-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01013" id="case01013" name="case01013" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="1" size="10" units="length" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="620" constant="true"/>
+      <parameter id="k2" name="k2" value="500" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01013/01013-settings.txt b/models/sbml-test-suite/cases/semantic/01013/01013-settings.txt
new file mode 100644
index 0000000..bdeb7a8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01013/01013-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01014/01014-results.csv b/models/sbml-test-suite/cases/semantic/01014/01014-results.csv
new file mode 100644
index 0000000..df8be39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01014/01014-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.15,0.1575
+0.1,0.08913661436314215,0.1608633856368579,0.1689065549187008
+0.2,0.07945336021828572,0.1705466397817143,0.1790739717708
+0.3,0.07082203531898217,0.1791779646810179,0.1881368629150688
+0.4,0.06312836433843031,0.1868716356615698,0.1962152174446483
+0.5,0.05627048634020921,0.1937295136597909,0.2034159893427804
+0.6,0.05015760597551761,0.1998423940244824,0.2098345137257066
+0.7,0.04470879177124138,0.2052912082287587,0.2155557686401966
+0.8,0.03985190361830286,0.2101480963816972,0.2206555012007821
+0.9,0.0355226288765542,0.2144773711234459,0.2252012396796182
+1.,0.03166367693632202,0.218336323063678,0.2292531392168619
+1.1,0.02822392960899557,0.2217760703910045,0.2328648739105548
+1.2,0.02515785518796679,0.2248421448120333,0.236084252052635
+1.3,0.02242486038820936,0.2275751396117907,0.2389538965923803
+1.4,0.01998876135216055,0.2300112386478395,0.2415118005802315
+1.5,0.01781730467094188,0.2321826953290582,0.2437918300955111
+1.6,0.01588174216086607,0.234118257839134,0.2458241707310908
+1.7,0.01415644726998046,0.2358435527300196,0.2476357303665206
+1.8,0.0126185778159745,0.2373814221840256,0.2492504932932269
+1.9,0.01124777271435285,0.2387522272856472,0.2506898386499296
+2.,0.01002588435248365,0.2399741156475164,0.2519728214298923
+2.1,0.008936733285953731,0.2410632667140463,0.2531164300497486
+2.2,0.007965901875643541,0.2420340981243565,0.2541358030305743
+2.3,0.007100535104945913,0.2428994648950541,0.2550444381398068
+2.4,0.006329176466986434,0.2436708235330135,0.2558543647096642
+2.5,0.005641613940571294,0.2443583860594287,0.2565763053624002
+2.6,0.005028743173688178,0.2449712568263118,0.2572198196676274
+2.7,0.004482451667525734,0.2455175483324742,0.2577934257490979
+2.8,0.00399550559920431,0.2460044944007956,0.2583047191208354
+2.9,0.003561458300820221,0.2464385416991797,0.2587604687841387
+3.,0.003174563604715692,0.2468254363952843,0.2591667082150485
+3.1,0.002829698235172054,0.2471703017648279,0.2595288168530693
+3.2,0.002522297465782962,0.247477702534217,0.2598515876609279
+3.3,0.002248290373397724,0.2477517096266023,0.2601392951079324
+3.4,0.002004050001037518,0.2479959499989624,0.2603957474989106
+3.5,0.001786342332190145,0.2482136576678098,0.2606243405512003
+3.6,0.001592284996030909,0.248407715003969,0.2608281007541675
+3.7,0.001419309068049474,0.2485806909319505,0.261009725478548
+3.8,0.001265123917433577,0.2487348760825664,0.2611716198866947
+3.9,0.001127688736366048,0.2488723112636339,0.2613159268268156
+4.,0.001005183489106542,0.2489948165108934,0.2614445573364381
+4.1,0.0008959865504444268,0.2491040134495555,0.2615592141220333
+4.2,0.0007986520975188341,0.2492013479024811,0.2616614152976052
+4.3,0.0007118913933040845,0.2492881086066959,0.2617525140370307
+4.4,0.0006345559506823189,0.2493654440493177,0.2618337162517835
+4.5,0.0005656216303037975,0.2494343783696962,0.261906097288181
+4.6,0.000504176014680604,0.2494958239853194,0.2619706151845854
+4.7,0.000449405405876398,0.2495505945941236,0.2620281243238298
+4.8,0.000400584765106651,0.2495994152348933,0.262079385996638
+4.9,0.0003570677179418058,0.2496429322820581,0.2621250788961611
+5.,0.0003182780796518471,0.2496817219203481,0.2621658080163655
diff --git a/models/sbml-test-suite/cases/semantic/01014/01014-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01014/01014-sbml-l2v4.xml
new file mode 100644
index 0000000..ad74efc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01014/01014-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01014" id="case01014" name="case01014">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="10" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05"/>
+      <parameter id="k2" name="k2" value="1.15"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01014/01014-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01014/01014-sbml-l3v1.xml
new file mode 100644
index 0000000..6b69eaa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01014/01014-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01014" id="case01014" name="case01014" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="10" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.05" constant="true"/>
+      <parameter id="k2" name="k2" value="1.15" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01014/01014-settings.txt b/models/sbml-test-suite/cases/semantic/01014/01014-settings.txt
new file mode 100644
index 0000000..01ff453
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01014/01014-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01015/01015-results.csv b/models/sbml-test-suite/cases/semantic/01015/01015-results.csv
new file mode 100644
index 0000000..05ed248
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01015/01015-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.004,0.00001171804228248603,0.00001671804228248603,8.281957717513968e-6,0.00002507706342372904
+0.008,0.00001310095331391059,0.00001810095331391059,6.899046686089409e-6,0.00002715142997086588
+0.012,0.00001421224595408018,0.00001921224595408016,5.787754045919824e-6,0.00002881836893112025
+0.016,0.00001510406942054186,0.00002010406942054185,4.895930579458139e-6,0.00003015610413081277
+0.02,0.00001581899521073821,0.00002081899521073819,4.181004789261788e-6,0.00003122849281610729
+0.024,0.00001639161625397317,0.00002139161625397316,3.608383746026822e-6,0.00003208742438095974
+0.028,0.00001684994070619628,0.00002184994070619626,3.150059293803723e-6,0.0000327749110592944
+0.032,0.00001721657888961542,0.00002221657888961541,2.783421110384575e-6,0.00003332486833442311
+0.036,0.00001750974236591257,0.00002250974236591255,2.490257634087424e-6,0.00003376461354886884
+0.04,0.00001774407237374435,0.00002274407237374433,2.255927626255648e-6,0.0000341161085606165
+0.044,0.00001793132279600444,0.00002293132279600443,2.068677203995551e-6,0.00003439698419400664
+0.048,0.00001808091853068592,0.0000230809185306859,1.919081469314072e-6,0.00003462137779602886
+0.052,0.00001820041012930617,0.00002320041012930616,1.799589870693818e-6,0.00003480061519395924
+0.056,0.00001829584172383535,0.00002329584172383534,1.704158276164635e-6,0.00003494376258575301
+0.06,0.00001837204915327158,0.00002337204915327156,1.627950846728408e-6,0.00003505807372990735
+0.064,0.00001843289934718111,0.0000234328993471811,1.567100652818871e-6,0.00003514934902077165
+0.068,0.00001848148358139371,0.00002348148358139369,1.518516418606279e-6,0.00003522222537209054
+0.072,0.00001852027204624574,0.00002352027204624573,1.479727953754242e-6,0.0000352804080693686
+0.076,0.00001855123833425574,0.00002355123833425572,1.448761665744252e-6,0.00003532685750138359
+0.08,0.00001857595898535781,0.00002357595898535779,1.424041014642179e-6,0.00003536393847803669
+0.084,0.00001859569312497732,0.0000235956931249773,1.404306875022668e-6,0.00003539353968746595
+0.088,0.00001861144620156202,0.00002361144620156201,1.388553798437966e-6,0.00003541716930234301
+0.092,0.00001862402108653137,0.00002362402108653136,1.375978913468616e-6,0.00003543603162979704
+0.096,0.00001863405884075938,0.00002363405884075937,1.365941159240609e-6,0.00003545108826113906
+0.1,0.00001864207127178561,0.0000236420712717856,1.357928728214386e-6,0.00003546310690767839
+0.104,0.00001864846695706035,0.00002364846695706034,1.351533042939646e-6,0.00003547270043559051
+0.108,0.00001865357208075213,0.00002365357208075212,1.346427919247867e-6,0.00003548035812112818
+0.112,0.00001865764704048443,0.00002365764704048442,1.342352959515569e-6,0.00003548647056072663
+0.116,0.00001866089970034157,0.00002366089970034156,1.339100299658429e-6,0.00003549134955051234
+0.12,0.00001866349598014565,0.00002366349598014564,1.336504019854347e-6,0.00003549524397021846
+0.124,0.0000186655683286453,0.00002366556832864529,1.334431671354699e-6,0.00003549835249296793
+0.128,0.00001866722247374555,0.00002366722247374554,1.332777526254452e-6,0.00003550083371061831
+0.132,0.0000186685428079121,0.00002366854280791209,1.331457192087897e-6,0.00003550281421186814
+0.136,0.00001866959669150238,0.00002366959669150236,1.330403308497626e-6,0.00003550439503725355
+0.14,0.00001867043789438688,0.00002367043789438687,1.329562105613121e-6,0.0000355056568415803
+0.144,0.00001867110933723736,0.00002367110933723734,1.328890662762643e-6,0.00003550666400585601
+0.148,0.00001867164527818636,0.00002367164527818635,1.32835472181364e-6,0.00003550746791727952
+0.152,0.00001867207306203043,0.00002367207306203041,1.327926937969573e-6,0.00003550810959304563
+0.156,0.00001867241451554808,0.00002367241451554807,1.327585484451914e-6,0.0000355086217733221
+0.16,0.00001867268706080211,0.0000236726870608021,1.327312939197885e-6,0.00003550903059120315
+0.164,0.0000186729046047036,0.00002367290460470359,1.327095395296398e-6,0.00003550935690705539
+0.168,0.00001867307824529587,0.00002367307824529585,1.326921754704132e-6,0.00003550961736794378
+0.172,0.00001867321684369252,0.0000236732168436925,1.326783156307481e-6,0.00003550982526553875
+0.176,0.00001867332747214223,0.00002367332747214221,1.326672527857771e-6,0.00003550999120821332
+0.18,0.00001867341577419696,0.00002367341577419694,1.326584225803042e-6,0.00003551012366129542
+0.184,0.00001867348625633764,0.00002367348625633763,1.326513743662354e-6,0.00003551022938450644
+0.188,0.00001867354251443507,0.00002367354251443506,1.326457485564932e-6,0.00003551031377165259
+0.192,0.00001867358741904819,0.00002367358741904818,1.32641258095181e-6,0.00003551038112857227
+0.196,0.00001867362326149052,0.00002367362326149051,1.326376738509479e-6,0.00003551043489223576
+0.2,0.00001867365187051742,0.0000236736518705174,1.326348129482583e-6,0.00003551047780577611
diff --git a/models/sbml-test-suite/cases/semantic/01015/01015-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01015/01015-sbml-l2v4.xml
new file mode 100644
index 0000000..ba4da76
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01015/01015-sbml-l2v4.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01015" id="case01015" name="case01015">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="10" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000"/>
+      <parameter id="k2" name="k2" value="50"/>
+      <parameter id="k3" name="k3" value="1.5"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01015/01015-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01015/01015-sbml-l3v1.xml
new file mode 100644
index 0000000..044a9aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01015/01015-sbml-l3v1.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01015" id="case01015" name="case01015" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="10" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="2.25e-005" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="150000" constant="true"/>
+      <parameter id="k2" name="k2" value="50" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01015/01015-settings.txt b/models/sbml-test-suite/cases/semantic/01015/01015-settings.txt
new file mode 100644
index 0000000..137f6e4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01015/01015-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 0.2
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01016/01016-results.csv b/models/sbml-test-suite/cases/semantic/01016/01016-results.csv
new file mode 100644
index 0000000..1fc5d7b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01016/01016-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.15,0.1,0.1
+0.2,0.1057032133860833,0.1442967866139167,0.10525
+0.4,0.07448779555272069,0.1755122044472795,0.1104999999999999
+0.6,0.05249066219779822,0.1975093378022019,0.1157499999999999
+0.8,0.03698954147196806,0.2130104585280321,0.1209999999999999
+1.,0.02606609081010956,0.2239339091898905,0.1262499999999999
+1.2,0.01836846348022981,0.2316315365197703,0.1314999999999999
+1.4,0.01294403696559737,0.2370559630344027,0.1367499999999998
+1.6,0.009121509393760081,0.2408784906062401,0.1419999999999998
+1.8,0.006427818524583929,0.2435721814754162,0.1472499999999998
+2.,0.004529607329598275,0.2454703926704018,0.1524999999999997
+2.2,0.003191960377799521,0.2468080396222006,0.1577499999999997
+2.4,0.002249336334268075,0.247750663665732,0.1629999999999997
+2.6,0.001585080652259528,0.2484149193477406,0.1682499999999997
+2.8,0.001116987382680088,0.24888301261732,0.1734999999999996
+3.,0.0007871277175014625,0.2492128722824986,0.1787499999999996
+3.2,0.0005546795491494669,0.2494453204508506,0.1839999999999996
+3.4,0.0003908760439699451,0.2496091239560301,0.1892499999999995
+3.6,0.000275445713319705,0.2497245542866803,0.1944999999999995
+3.8,0.0001941033044858935,0.2498058966955141,0.1997499999999994
+4.,0.0001367822858297263,0.2498632177141703,0.2049999999999994
+4.2,0.00009638885354593587,0.2499036111464541,0.2102499999999994
+4.4,0.00006792407163661078,0.2499320759283635,0.2154999999999993
+4.6,0.00004786528725431635,0.2499521347127458,0.2207499999999993
+4.8,0.00003373009709981664,0.2499662699029003,0.2259999999999993
+5.,0.00002376919697000138,0.2499762308030301,0.2312499999999992
+5.2,0.00001674987126920472,0.2499832501287309,0.2364999999999992
+5.4,0.00001180343383881495,0.2499881965661613,0.2417499999999991
+5.6,8.31773961055665e-6,0.2499916822603896,0.2469999999999991
+5.8,5.861412066607984e-6,0.2499941385879335,0.2522499999999992
+6.,4.130467061591226e-6,0.2499958695329385,0.2574999999999992
+6.2,2.910691178370493e-6,0.2499970893088218,0.2627499999999993
+6.4,2.051129260774627e-6,0.2499979488707394,0.2679999999999994
+6.6,1.445406393291717e-6,0.2499985545936069,0.2732499999999995
+6.8,1.018560702292559e-6,0.2499989814392979,0.2784999999999996
+7.,7.177675470340143e-7,0.2499992822324531,0.2837499999999997
+7.2,5.058022806371088e-7,0.2499994941977196,0.2889999999999998
+7.4,3.564328239950598e-7,0.2499996435671762,0.2942499999999999
+7.6,2.511739657191946e-7,0.2499997488260345,0.2994999999999999
+7.8,1.769993117844025e-7,0.2499998230006884,0.30475
+8.,1.247292971344023e-7,0.2499998752707031,0.3100000000000001
+8.2,8.789525595966719e-8,0.2499999121047443,0.3152500000000003
+8.4,6.193873818849427e-8,0.249999938061262,0.3205000000000002
+8.6,4.364749005596694e-8,0.2499999563525101,0.3257500000000003
+8.8,3.075786860013513e-8,0.2499999692421316,0.3310000000000005
+9.,2.167470190610784e-8,0.2499999783252983,0.3362500000000005
+9.2,1.527390504155955e-8,0.2499999847260952,0.3415000000000006
+9.4,1.076333893475063e-8,0.2499999892366613,0.3467500000000007
+9.6,7.584796409469644e-9,0.2499999924152038,0.3520000000000008
+9.8,5.34491612126284e-9,0.2499999946550841,0.3572500000000009
+10.,3.766498733658382e-9,0.2499999962335015,0.3625000000000009
diff --git a/models/sbml-test-suite/cases/semantic/01016/01016-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01016/01016-sbml-l2v4.xml
new file mode 100644
index 0000000..f6e12a1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01016/01016-sbml-l2v4.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01016" id="case01016" name="case01016">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="10" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75"/>
+      <parameter id="k2" name="k2" value="0.015"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01016/01016-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01016/01016-sbml-l3v1.xml
new file mode 100644
index 0000000..2032714
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01016/01016-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01016" id="case01016" name="case01016" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="10" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.15" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.015" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01016/01016-settings.txt b/models/sbml-test-suite/cases/semantic/01016/01016-settings.txt
new file mode 100644
index 0000000..67c4569
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01016/01016-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01017/01017-results.csv b/models/sbml-test-suite/cases/semantic/01017/01017-results.csv
new file mode 100644
index 0000000..eff3ee0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01017/01017-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5e-6,1.999999999999999e-6,1.5e-6,9.999999999999999e-7
+0.2,1.143765361559367e-6,1.643765361559366e-6,1.856234638440632e-6,1.02e-6
+0.4,9.106905837044867e-7,1.410690583704486e-6,2.089309416295514e-6,1.04e-6
+0.6,7.467198345234815e-7,1.246719834523481e-6,2.253280165476518e-6,1.059999999999999e-6
+0.8,6.25390521058305e-7,1.125390521058304e-6,2.374609478941694e-6,1.079999999999999e-6
+1.,5.322189514144564e-7,1.032218951414455e-6,2.467781048585543e-6,1.099999999999999e-6
+1.2,4.586109416844124e-7,9.586109416844119e-7,2.541389058315587e-6,1.119999999999999e-6
+1.4,3.991442460911372e-7,8.991442460911369e-7,2.600855753908862e-6,1.139999999999999e-6
+1.6,3.502285946131883e-7,8.50228594613188e-7,2.649771405386811e-6,1.159999999999998e-6
+1.8,3.093921067652681e-7,8.093921067652677e-7,2.690607893234731e-6,1.179999999999998e-6
+2.,2.748771378336288e-7,7.748771378336286e-7,2.725122862166371e-6,1.199999999999999e-6
+2.2,2.453995968305578e-7,7.453995968305572e-7,2.754600403169441e-6,1.219999999999999e-6
+2.4,2.199994435426164e-7,7.199994435426158e-7,2.780000556457382e-6,1.239999999999999e-6
+2.6,1.979444645094783e-7,6.979444645094777e-7,2.802055535490521e-6,1.26e-6
+2.8,1.786664278394837e-7,6.78666427839483e-7,2.821333572160515e-6,1.28e-6
+3.,1.617175758622145e-7,6.617175758622139e-7,2.838282424137785e-6,1.299999999999999e-6
+3.2,1.467402641970266e-7,6.46740264197026e-7,2.853259735802973e-6,1.319999999999999e-6
+3.4,1.334453665080154e-7,6.334453665080147e-7,2.866554633491984e-6,1.339999999999999e-6
+3.6,1.215965919700996e-7,6.215965919700989e-7,2.8784034080299e-6,1.359999999999999e-6
+3.8,1.109989345369802e-7,6.109989345369795e-7,2.889001065463019e-6,1.379999999999999e-6
+4.,1.014900271291311e-7,6.014900271291304e-7,2.898509972870868e-6,1.399999999999999e-6
+4.2,9.293358586799289e-8,5.92933585867992e-7,2.907066414132006e-6,1.419999999999999e-6
+4.4,8.521437341108295e-8,5.852143734110821e-7,2.914785626588916e-6,1.439999999999999e-6
+4.6,7.823428790864099e-8,5.782342879086404e-7,2.921765712091357e-6,1.459999999999999e-6
+4.8,7.190929943640214e-8,5.719092994364015e-7,2.928090700563596e-6,1.479999999999999e-6
+5.,6.616701986499932e-8,5.661670198649988e-7,2.933832980135e-6,1.499999999999999e-6
+5.2,6.094476099135e-8,5.609447609913493e-7,2.939055239008649e-6,1.519999999999999e-6
+5.4,5.618796870645792e-8,5.561879687064572e-7,2.943812031293541e-6,1.539999999999998e-6
+5.6,5.184895852575537e-8,5.518489585257547e-7,2.948151041474243e-6,1.559999999999998e-6
+5.8,4.788587385798952e-8,5.478858738579888e-7,2.952114126142009e-6,1.579999999999998e-6
+6.,4.426183191300815e-8,5.442618319130075e-7,2.95573816808699e-6,1.599999999999998e-6
+6.2,4.094421709211298e-8,5.409442170921123e-7,2.959055782907885e-6,1.619999999999998e-6
+6.4,3.790409106044079e-8,5.379040910604402e-7,2.962095908939557e-6,1.639999999999998e-6
+6.6,3.511569849314209e-8,5.351156984931415e-7,2.964884301506856e-6,1.659999999999998e-6
+6.8,3.255605212625713e-8,5.325560521262565e-7,2.967443947873741e-6,1.679999999999998e-6
+7.,3.020457939458526e-8,5.302045793945847e-7,2.969795420605413e-6,1.699999999999998e-6
+7.2,2.80428232671576e-8,5.28042823267157e-7,2.971957176732841e-6,1.719999999999998e-6
+7.4,2.605418643556528e-8,5.260541864355647e-7,2.973945813564434e-6,1.739999999999998e-6
+7.6,2.422371177385015e-8,5.242237117738495e-7,2.975776288226149e-6,1.759999999999997e-6
+7.8,2.253789332552675e-8,5.22537893325526e-7,2.977462106674472e-6,1.779999999999997e-6
+8.,2.098451392723793e-8,5.209845139272372e-7,2.97901548607276e-6,1.799999999999997e-6
+8.2,1.955250035763733e-8,5.195525003576365e-7,2.980447499642361e-6,1.819999999999997e-6
+8.4,1.823180234462865e-8,5.182318023446277e-7,2.98176819765537e-6,1.839999999999997e-6
+8.6,1.701328429119773e-8,5.170132842911967e-7,2.982986715708801e-6,1.859999999999997e-6
+8.8,1.588862840099405e-8,5.15888628400993e-7,2.984111371599005e-6,1.879999999999998e-6
+9.,1.485025456202494e-8,5.148502545620239e-7,2.985149745437974e-6,1.899999999999997e-6
+9.2,1.389124369186681e-8,5.138912436918657e-7,2.986108756308132e-6,1.919999999999997e-6
+9.4,1.300527553270531e-8,5.130052755327042e-7,2.986994724467294e-6,1.939999999999997e-6
+9.6,1.218656833766431e-8,5.121865683376631e-7,2.987813431662335e-6,1.959999999999997e-6
+9.8,1.142983045244039e-8,5.114298304524392e-7,2.988570169547559e-6,1.979999999999997e-6
+10.,1.07302118001339e-8,5.107302118001328e-7,2.989269788199865e-6,1.999999999999997e-6
diff --git a/models/sbml-test-suite/cases/semantic/01017/01017-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01017/01017-sbml-l2v4.xml
new file mode 100644
index 0000000..1318a6a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01017/01017-sbml-l2v4.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01017" id="case01017" name="case01017">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="10" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000"/>
+      <parameter id="k2" name="k2" value="0.00025"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01017/01017-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01017/01017-sbml-l3v1.xml
new file mode 100644
index 0000000..cd42ae3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01017/01017-sbml-l3v1.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01017" id="case01017" name="case01017" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="10" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="compartment" initialAmount="1e-006" substanceUnits="substance" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00025" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="e-notation"> 1 <sep/> -7 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01017/01017-settings.txt b/models/sbml-test-suite/cases/semantic/01017/01017-settings.txt
new file mode 100644
index 0000000..bb92d29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01017/01017-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01018/01018-results.csv b/models/sbml-test-suite/cases/semantic/01018/01018-results.csv
new file mode 100644
index 0000000..05d4f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01018/01018-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.06,1.,0.05387868204683907
+0.12,1.,0.1075154547267679
+0.18,1.,0.1609114041886566
+0.24,1.,0.2140676117019683
+0.3,1.,0.2669851537073828
+0.36,1.,0.3196651023042338
+0.42,1.,0.372108522790746
+0.48,1.,0.4243164784266743
+0.54,1.,0.4762900264550185
+0.6,1.,0.5280302180343028
+0.66,1.,0.5795381028143843
+0.72,1.,0.6308147224156889
+0.78,1.,0.6818611152442098
+0.84,1.,0.7326783163137091
+0.9,1.,0.7832673528097914
+0.96,1.,0.8336292505072087
+1.02,1.,0.883765029096362
+1.08,1.,0.9336757026832881
+1.14,1.,0.9833622838063955
+1.2,1.,1.032825777145259
+1.26,1.,1.082067184541926
+1.32,1.,1.131087504286145
+1.38,1.,1.179887727268766
+1.44,1.,1.228468843992724
+1.5,1.,1.276831839985599
+1.56,1.,1.324977689155218
+1.62,1.,1.372907364572586
+1.68,1.,1.420621839308708
+1.74,1.,1.468122085747523
+1.8,1.,1.515409064913887
+1.86,1.,1.562483728505139
+1.92,1.,1.60934702794268
+1.98,1.,1.655999914647913
+2.04,1.,1.702443339370442
+2.1,1.,1.748678241753456
+2.16,1.,1.794705552320215
+2.22,1.,1.840526201324187
+2.28,1.,1.88614111901884
+2.34,1.,1.931551235000791
+2.4,1.,1.976757468007324
+2.46,1.,2.021760727858695
+2.52,1.,2.066561924111369
+2.58,1.,2.111161966321813
+2.64,1.,2.155561762744663
+2.7,1.,2.199762210034558
+2.76,1.,2.243764200714639
+2.82,1.,2.287568627487146
+2.88,1.,2.331176378606218
+2.94,1.,2.374588334520325
+3.,1.,2.417805374887475
diff --git a/models/sbml-test-suite/cases/semantic/01018/01018-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01018/01018-sbml-l1v2.xml
new file mode 100644
index 0000000..6e75acc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01018/01018-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01018">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01018/01018-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01018/01018-sbml-l2v4.xml
new file mode 100644
index 0000000..7b51259
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01018/01018-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01018" id="case01018" name="case01018">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01018/01018-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01018/01018-sbml-l3v1.xml
new file mode 100644
index 0000000..2146648
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01018/01018-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01018" id="case01018" name="case01018" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             TEMP<apply>
+                <plus/>
+               TEMP<apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                TEMP</apply>
+               TEMP<apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                TEMP</apply>
+              TEMP</apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01018/01018-settings.txt b/models/sbml-test-suite/cases/semantic/01018/01018-settings.txt
new file mode 100644
index 0000000..565fb7c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01018/01018-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01019/01019-results.csv b/models/sbml-test-suite/cases/semantic/01019/01019-results.csv
new file mode 100644
index 0000000..b05f610
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01019/01019-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,1.,0.4481464625197142,0.05185353748028587
+0.2,1.,0.402110487142263,0.09788951285773719
+0.3,1.,0.3612393873726733,0.1387606126273268
+0.4,1.,0.3249537077936033,0.1750462922063969
+0.5,1.,0.292739000514572,0.207260999485428
+0.6,1.,0.2641385282073232,0.2358614717926768
+0.7,1.,0.2387468002768682,0.2612531997231317
+0.8,1.,0.2162038420571189,0.2837961579428811
+0.9,1.,0.1961900159570923,0.3038099840429078
+1.,1.,0.178421584166431,0.3215784158335691
+1.1,1.,0.1626466404685188,0.3373533595314812
+1.2,1.,0.1486415209888699,0.3513584790111302
+1.3,1.,0.1362076534996644,0.3637923465003356
+1.4,1.,0.1251687817007925,0.3748312182992075
+1.5,1.,0.1153683873866717,0.3846316126133284
+1.6,1.,0.1066675088731672,0.3933324911268327
+1.7,1.,0.09894281627532901,0.401057183724671
+1.8,1.,0.09208476145152577,0.4079152385484743
+1.9,1.,0.08599613198370234,0.4140038680162977
+2.,1.,0.08059060226138457,0.4194093977386155
+2.1,1.,0.07579152296983929,0.4242084770301609
+2.2,1.,0.07153087143048822,0.4284691285695119
+2.3,1.,0.06774822570328481,0.4322517742967153
+2.4,1.,0.06438996504685057,0.4356100349531495
+2.5,1.,0.06140847765042607,0.4385915223495741
+2.6,1.,0.05876148500274077,0.4412385149972593
+2.7,1.,0.05641146889883604,0.443588531101164
+2.8,1.,0.05432510347749962,0.4456748965225004
+2.9,1.,0.05247281230528495,0.4475271876947151
+3.,1.,0.05082833566033138,0.4491716643396687
+3.1,1.,0.04936835342666152,0.4506316465733386
+3.2,1.,0.04807217090420021,0.4519278290957999
+3.3,1.,0.04692141169360931,0.4530785883063908
+3.4,1.,0.04589975782591383,0.4541002421740863
+3.5,1.,0.04499272414390857,0.4550072758560915
+3.6,1.,0.04418745354492204,0.4558125464550781
+3.7,1.,0.04347252894473147,0.4565274710552686
+3.8,1.,0.04283781237628341,0.4571621876237167
+3.9,1.,0.04227430551572021,0.4577256944842799
+4.,1.,0.04177402012000821,0.4582259798799919
+4.1,1.,0.04132986336128111,0.458670136638719
+4.2,1.,0.04093553770562882,0.4590644622943713
+4.3,1.,0.04058545189329728,0.4594145481067028
+4.4,1.,0.04027464260348474,0.4597253573965154
+4.5,1.,0.03999870382766548,0.4600012961723347
+4.6,1.,0.03975372351749541,0.4602462764825047
+4.7,1.,0.03953622824903815,0.460463771750962
+4.8,1.,0.03934313411128684,0.4606568658887133
+4.9,1.,0.0391717034665899,0.4608282965334102
+5.,1.,0.03901950612198147,0.4609804938780186
diff --git a/models/sbml-test-suite/cases/semantic/01019/01019-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01019/01019-sbml-l1v2.xml
new file mode 100644
index 0000000..e2ef1b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01019/01019-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01019">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="1.1"/>
+      <parameter name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 * S2 + -1 * kr * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01019/01019-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01019/01019-sbml-l2v4.xml
new file mode 100644
index 0000000..f4ce8c1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01019/01019-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01019" id="case01019" name="case01019">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01019/01019-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01019/01019-sbml-l3v1.xml
new file mode 100644
index 0000000..b2ec4f3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01019/01019-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01019" id="case01019" name="case01019" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01019/01019-settings.txt b/models/sbml-test-suite/cases/semantic/01019/01019-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01019/01019-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01020/01020-results.csv b/models/sbml-test-suite/cases/semantic/01020/01020-results.csv
new file mode 100644
index 0000000..afde8e0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01020/01020-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,1.,0.7483424533465733,0.2483424533465734
+0.2,1.,0.9917914889969324,0.4917914889969328
+0.3,1.,1.228134313149466,0.7281343131494663
+0.4,1.,1.455422432100361,0.9554224321003624
+0.5,1.,1.672026872330454,1.172026872330454
+0.6,1.,1.876670817931137,1.376670817931138
+0.7,1.,2.068439659890649,1.56843965989065
+0.8,1.,2.246770891555391,1.746770891555392
+0.9,1.,2.411427682382503,1.911427682382504
+1.,1.,2.562460451460391,2.062460451460392
+1.1,1.,2.700161840936484,2.200161840936484
+1.2,1.,2.825018537057193,2.325018537057194
+1.3,1.,2.937664212872675,2.437664212872676
+1.4,1.,3.038835727468975,2.538835727468976
+1.5,1.,3.129334383128759,2.629334383128759
+1.6,1.,3.209993127661476,2.709993127661477
+1.7,1.,3.281649897419916,2.781649897419917
+1.8,1.,3.345126784889993,2.845126784889994
+1.9,1.,3.401214699688587,2.901214699688588
+2.,1.,3.450662417141156,2.950662417141157
+2.1,1.,3.494169714652244,2.994169714652245
+2.2,1.,3.532383561178027,3.032383561178028
+2.3,1.,3.565896540287607,3.065896540287608
+2.4,1.,3.595247509011877,3.095247509011878
+2.5,1.,3.620923081132372,3.120923081132373
+2.6,1.,3.643360371634774,3.143360371634774
+2.7,1.,3.662950166607981,3.162950166607982
+2.8,1.,3.680040412711807,3.180040412711808
+2.9,1.,3.694939814353563,3.194939814353564
+3.,1.,3.707921458696629,3.20792145869663
+3.1,1.,3.719226287796291,3.219226287796292
+3.2,1.,3.729066430311263,3.229066430311264
+3.3,1.,3.737628294271064,3.237628294271065
+3.4,1.,3.745075339889125,3.245075339889126
+3.5,1.,3.751550827688207,3.251550827688208
+3.6,1.,3.757180015818871,3.257180015818872
+3.7,1.,3.76207241993702,3.262072419937021
+3.8,1.,3.76632363963681,3.266323639636811
+3.9,1.,3.770017064920424,3.270017064920425
+4.,1.,3.773225425796455,3.273225425796455
+4.1,1.,3.776012050442488,3.276012050442489
+4.2,1.,3.778432115807174,3.278432115807175
+4.3,1.,3.780533633186796,3.280533633186796
+4.4,1.,3.782358374125851,3.282358374125852
+4.5,1.,3.783942682346571,3.283942682346572
+4.6,1.,3.785318147379864,3.285318147379865
+4.7,1.,3.786512232157912,3.286512232157913
+4.8,1.,3.787548804894853,3.287548804894854
+4.9,1.,3.788448603052045,3.288448603052046
+5.,1.,3.78922964959723,3.28922964959723
diff --git a/models/sbml-test-suite/cases/semantic/01020/01020-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01020/01020-sbml-l1v2.xml
new file mode 100644
index 0000000..430c2a9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01020/01020-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01020">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance" boundaryCondition="true"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01020/01020-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01020/01020-sbml-l2v4.xml
new file mode 100644
index 0000000..ce916fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01020/01020-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01020" id="case01020" name="case01020">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01020/01020-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01020/01020-sbml-l3v1.xml
new file mode 100644
index 0000000..5c92399
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01020/01020-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01020" id="case01020" name="case01020" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01020/01020-settings.txt b/models/sbml-test-suite/cases/semantic/01020/01020-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01020/01020-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01021/01021-results.csv b/models/sbml-test-suite/cases/semantic/01021/01021-results.csv
new file mode 100644
index 0000000..0f23d0d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01021/01021-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.9139311852645197,0
+0.2,0.8352702113981102,0
+0.3,0.763379493806668,0
+0.4,0.6976763237520321,0
+0.5,0.6376281506851765,0
+0.6,0.5827482407727274,0
+0.7,0.532591794606214,0
+0.8,0.4867522557285909,0
+0.9,0.4448580588646324,0
+1.,0.4065696527004625,0
+1.1,0.3715766895448397,0
+1.2,0.3395955198626709,0
+1.3,0.3103669412158033,0
+1.4,0.2836540263904839,0
+1.5,0.2592402591114947,0
+1.6,0.236927758353767,0
+1.7,0.2165356669204767,0
+1.8,0.19789869789176,0
+1.9,0.1808657905270149,0
+2.,0.1652988856201071,0
+2.1,0.1510718055843933,0
+2.2,0.1380692365533755,0
+2.3,0.1261857781865223,0
+2.4,0.1153251210368525,0
+2.5,0.1053992205330016,0
+2.6,0.09632763152477379,0
+2.7,0.08803682911428764,0
+2.8,0.08045960674850762,0
+2.9,0.07353454084892319,0
+3.,0.06720550806120868,0
+3.1,0.06142121158313393,0
+3.2,0.0561347628265097,0
+3.3,0.0513033092899171,0
+3.4,0.04688769252772205,0
+3.5,0.04285212294429174,0
+3.6,0.03916389080985287,0
+3.7,0.03579310130178447,0
+3.8,0.0327124323291501,0
+3.9,0.0298969131827134,0
+4.,0.02732372222074999,0
+4.1,0.02497200197283829,0
+4.2,0.02282269073454135,0
+4.3,0.02085836800151609,0
+4.4,0.01906311240866195,0
+4.5,0.01742237271171235,0
+4.6,0.01592284991513819,0
+4.7,0.01455238953581312,0
+4.8,0.01329988313145271,0
+4.9,0.01215517829762205,0
+5.,0.01110899653825452,0
diff --git a/models/sbml-test-suite/cases/semantic/01021/01021-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01021/01021-sbml-l1v2.xml
new file mode 100644
index 0000000..f278517
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01021/01021-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01021">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01021/01021-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01021/01021-sbml-l2v4.xml
new file mode 100644
index 0000000..18e6a63
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01021/01021-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01021" id="case01021" name="case01021">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01021/01021-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01021/01021-sbml-l3v1.xml
new file mode 100644
index 0000000..dcb0694
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01021/01021-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01021" id="case01021" name="case01021" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01021/01021-settings.txt b/models/sbml-test-suite/cases/semantic/01021/01021-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01021/01021-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01022/01022-results.csv b/models/sbml-test-suite/cases/semantic/01022/01022-results.csv
new file mode 100644
index 0000000..17353d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01022/01022-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0.4
+0.16,0.9274128597622002,0.4274128597622,0.4
+0.32,0.870276742084602,0.3702767420846021,0.4
+0.48,0.8243777840341973,0.324377784034197,0.4
+0.64,0.7868992201800451,0.2868992201800449,0.4
+0.8,0.7558863504197345,0.2558863504197345,0.4
+0.96,0.7299399269001145,0.2299399269001144,0.4
+1.12,0.7080317816098562,0.2080317816098562,0.4
+1.28,0.6893893544377293,0.1893893544377292,0.4
+1.44,0.6734208480293537,0.1734208480293536,0.4
+1.6,0.6596652666703054,0.1596652666703054,0.4
+1.76,0.6477581755168179,0.1477581755168181,0.4
+1.92,0.6374077038159331,0.1374077038159334,0.4
+2.08,0.6283773897916638,0.1283773897916641,0.4
+2.24,0.6204736800280022,0.1204736800280026,0.4
+2.4,0.613536682855569,0.1135366828555693,0.4
+2.56,0.607433227041064,0.1074332270410642,0.4
+2.72,0.6020515704126001,0.1020515704126003,0.4
+2.88,0.5972973279381759,0.09729732793817616,0.4
+3.04,0.5930902988280153,0.09309029882801554,0.4
+3.2,0.5893619673337067,0.08936196733370693,0.4
+3.36,0.5860535145622524,0.08605351456225265,0.4
+3.52,0.5831142231385548,0.08311422313855501,0.4
+3.68,0.5805001934003597,0.08050019340035982,0.4
+3.84,0.57817328604853,0.07817328604853009,0.4
+4.,0.5761002625453883,0.07610026254538848,0.4
+4.16,0.5742520708733773,0.07425207087337747,0.4
+4.32,0.5726032515141428,0.07260325151414286,0.4
+4.48,0.5711314420062958,0.07113144200629587,0.4
+4.64,0.5698169571523279,0.06981695715232785,0.4
+4.8,0.5686424352574076,0.06864243525740765,0.4
+4.96,0.5675925382096407,0.0675925382096406,0.4
+5.12,0.5666536952491271,0.06665369524912702,0.4
+5.28,0.5658138817186306,0.06581388171863061,0.4
+5.44,0.5650624284868764,0.06506242848687639,0.4
+5.6,0.5643898616846536,0.06438986168465368,0.4
+5.76,0.5637877560756057,0.0637877560756057,0.4
+5.92,0.5632486160904715,0.06324861609047141,0.4
+6.08,0.5627657647104584,0.06276576471045852,0.4
+6.24,0.56233325176377,0.06233325176376997,0.4
+6.4,0.561945769927708,0.06194576992770811,0.4
+6.56,0.5615985840759504,0.06159858407595041,0.4
+6.72,0.5612874650069035,0.06128746500690347,0.4
+6.88,0.5610086350681158,0.06100863506811581,0.4
+7.04,0.5607587192341621,0.06075871923416206,0.4
+7.2,0.560534699357495,0.06053469935749487,0.4
+7.36,0.5603338757672612,0.0603338757672612,0.4
+7.52,0.5601538339795395,0.06015383397953955,0.4
+7.68,0.5599924136083032,0.05999241360830316,0.4
+7.84,0.5598476803756862,0.05984768037568628,0.4
+8.,0.5597179023059044,0.05971790230590446,0.4
diff --git a/models/sbml-test-suite/cases/semantic/01022/01022-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01022/01022-sbml-l1v2.xml
new file mode 100644
index 0000000..e5a76f1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01022/01022-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01022">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.4" units="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="1.1"/>
+      <parameter name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 * S2 + -1 * kr * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01022/01022-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01022/01022-sbml-l2v4.xml
new file mode 100644
index 0000000..aabf93b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01022/01022-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01022" id="case01022" name="case01022">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.4" substanceUnits="substance" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01022/01022-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01022/01022-sbml-l3v1.xml
new file mode 100644
index 0000000..8052d04
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01022/01022-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01022" id="case01022" name="case01022" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01022/01022-settings.txt b/models/sbml-test-suite/cases/semantic/01022/01022-settings.txt
new file mode 100644
index 0000000..ed20bce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01022/01022-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01023/01023-results.csv b/models/sbml-test-suite/cases/semantic/01023/01023-results.csv
new file mode 100644
index 0000000..943563d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01023/01023-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.77985729335006,0.5,0.2201427066499402
+0.2,0.6101159094395809,0.5,0.3898840905604194
+0.3,0.4792365448726125,0.5,0.5207634551273877
+0.4,0.3783217888982599,0.5,0.6216782111017403
+0.5,0.3005113303919517,0.5,0.6994886696080483
+0.6,0.2405154437702747,0.5,0.7594845562297255
+0.7,0.1942555275704717,0.5,0.8057444724295285
+0.8,0.1585867424977763,0.5,0.8414132575022239
+0.9,0.1310842662009599,0.5,0.8689157337990404
+1.,0.1098784373245693,0.5,0.8901215626754308
+1.1,0.09352764962818635,0.5,0.9064723503718139
+1.2,0.08092034954062535,0.5,0.919079650459375
+1.3,0.07119947151787636,0.5,0.9288005284821239
+1.4,0.06370417364101438,0.5,0.9362958263589858
+1.5,0.05792491265366545,0.5,0.9420750873463349
+1.6,0.05346880327476179,0.5,0.9465311967252386
+1.7,0.05003291344946421,0.5,0.9499670865505361
+1.8,0.04738366627728895,0.5,0.9526163337227114
+1.9,0.04534095994998444,0.5,0.954659040050016
+2.,0.04376592634278887,0.5,0.9562340736572114
+2.1,0.04255149516438299,0.5,0.9574485048356173
+2.2,0.04161510653025201,0.5,0.9583848934697484
+2.3,0.04089310157080402,0.5,0.9591068984291963
+2.4,0.04033639947797847,0.5,0.9596636005220219
+2.5,0.03990715280205928,0.5,0.960092847197941
+2.6,0.03957618169500792,0.5,0.9604238183049924
+2.7,0.03932098602184215,0.5,0.9606790139781581
+2.8,0.03912421671560939,0.5,0.9608757832843909
+2.9,0.03897249769593912,0.5,0.9610275023040613
+3.,0.03885551432996452,0.5,0.9611444856700358
+3.1,0.03876531418042918,0.5,0.9612346858195711
+3.2,0.03869576524631667,0.5,0.9613042347536836
+3.3,0.0386421393543354,0.5,0.961357860645665
+3.4,0.03860079109775238,0.5,0.9613992089022479
+3.5,0.03856890941148705,0.5,0.9614310905885132
+3.6,0.03854432699661257,0.5,0.9614556730033877
+3.7,0.03852537268281956,0.5,0.9614746273171807
+3.8,0.03851075795469588,0.5,0.9614892420453043
+3.9,0.03849948922885746,0.5,0.9615005107711427
+4.,0.03849080044115849,0.5,0.9615091995588418
+4.1,0.0384841009620044,0.5,0.9615158990379959
+4.2,0.03847893531778948,0.5,0.9615210646822108
+4.3,0.03847495233822242,0.5,0.9615250476617779
+4.4,0.03847188125344696,0.5,0.9615281187465534
+4.5,0.03846951328384947,0.5,0.9615304867161509
+4.6,0.03846768745587379,0.5,0.9615323125441266
+4.7,0.03846627965542176,0.5,0.9615337203445786
+4.8,0.03846519416972277,0.5,0.9615348058302776
+4.9,0.0384643571990491,0.5,0.9615356428009512
+5.,0.03846371185518806,0.5,0.9615362881448122
diff --git a/models/sbml-test-suite/cases/semantic/01023/01023-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01023/01023-sbml-l1v2.xml
new file mode 100644
index 0000000..884c2da
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01023/01023-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01023">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance" boundaryCondition="true"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01023/01023-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01023/01023-sbml-l2v4.xml
new file mode 100644
index 0000000..92ab20e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01023/01023-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01023" id="case01023" name="case01023">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01023/01023-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01023/01023-sbml-l3v1.xml
new file mode 100644
index 0000000..aa5551a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01023/01023-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01023" id="case01023" name="case01023" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01023/01023-settings.txt b/models/sbml-test-suite/cases/semantic/01023/01023-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01023/01023-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01024/01024-results.csv b/models/sbml-test-suite/cases/semantic/01024/01024-results.csv
new file mode 100644
index 0000000..7a04fda
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01024/01024-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.9145638764965688,0.1708722470068617
+0.2,0.8376436386324442,0.3247127227351108
+0.3,0.768390463046732,0.4632190739065351
+0.4,0.70604013075497,0.5879197384900594
+0.5,0.6499045930335642,0.7001908139328711
+0.6,0.5993643964158479,0.8012712071683036
+0.7,0.5538618216680552,0.8922763566638889
+0.8,0.5128947114301744,0.9742105771396506
+0.9,0.476011059845866,1.047977880308267
+1.,0.4428037665396531,1.114392466920693
+1.1,0.4129064591650051,1.174187081669988
+1.2,0.3859891508169073,1.228021698366184
+1.3,0.3617548640285471,1.276490271942904
+1.4,0.3399361065037838,1.320127786992431
+1.5,0.3202921613027399,1.359415677394519
+1.6,0.302606250562297,1.394787498875404
+1.7,0.2866831940497772,1.426633611900444
+1.8,0.2723472601076875,1.455305479784623
+1.9,0.2594402607076247,1.481119478584749
+2.,0.2478197799153314,1.504360440169336
+2.1,0.2373575847844173,1.525284830431164
+2.2,0.2279382151188438,1.544123569762311
+2.3,0.2194577161142805,1.561084567771438
+2.4,0.2118225114456443,1.57635497710871
+2.5,0.2049483539163612,1.590103292167276
+2.6,0.1987593864006467,1.602481227198705
+2.7,0.1931873076348501,1.613625384730299
+2.8,0.1881706227392112,1.623658754521577
+2.9,0.1836539765040294,1.63269204699194
+3.,0.1795875318730647,1.64082493625387
+3.1,0.1759264150167765,1.648147169966446
+3.2,0.1726302218594896,1.65473955628102
+3.3,0.1696625759396687,1.660674848120662
+3.4,0.1669907308518242,1.666018538296351
+3.5,0.164585202918677,1.670829594162645
+3.6,0.1624194471399979,1.675161105720004
+3.7,0.160469564285741,1.679060871428517
+3.8,0.1587140372065353,1.682571925586928
+3.9,0.1571334934219081,1.685733013156183
+4.,0.1557104913679087,1.688579017264182
+4.1,0.1544293279466891,1.691141344106621
+4.2,0.1532758650006043,1.69344826999879
+4.3,0.1522373742195613,1.695525251560877
+4.4,0.1513023955095878,1.697395208980824
+4.5,0.1504606112272507,1.699078777545498
+4.6,0.1497027321483237,1.700594535703352
+4.7,0.1490203949598889,1.701959210080222
+4.8,0.1484060699697881,1.703187860060423
+4.9,0.1478529780237005,1.704294043952598
+5.,0.147355015770824,1.705289968458351
diff --git a/models/sbml-test-suite/cases/semantic/01024/01024-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01024/01024-sbml-l1v2.xml
new file mode 100644
index 0000000..558bafe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01024/01024-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01024">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01024/01024-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01024/01024-sbml-l2v4.xml
new file mode 100644
index 0000000..0fc7c1f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01024/01024-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01024" id="case01024" name="case01024">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01024/01024-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01024/01024-sbml-l3v1.xml
new file mode 100644
index 0000000..edbca12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01024/01024-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01024" id="case01024" name="case01024" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01024/01024-settings.txt b/models/sbml-test-suite/cases/semantic/01024/01024-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01024/01024-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01025/01025-results.csv b/models/sbml-test-suite/cases/semantic/01025/01025-results.csv
new file mode 100644
index 0000000..193a86b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01025/01025-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.9519519122345286,0.4039038244690564,0.04804808776547173
+0.2,0.9150401322581299,0.330080264516259,0.08495986774187039
+0.3,0.8862128399369182,0.2724256798738354,0.1137871600630822
+0.4,0.8634085500049902,0.2268171000099793,0.1365914499950103
+0.5,0.8451850141470789,0.190370028294157,0.1548149858529215
+0.6,0.8305037308100224,0.1610074616200441,0.1694962691899779
+0.7,0.8185988469593781,0.1371976939187552,0.1814011530406223
+0.8,0.80889420760368,0.117788415207359,0.1911057923963205
+0.9,0.8009490553410307,0.1018981106820606,0.1990509446589697
+1.,0.7944214477779237,0.08884289555584658,0.2055785522220767
+1.1,0.7890429401571099,0.07808588031421881,0.2109570598428906
+1.2,0.7846006785903941,0.06920135718078701,0.2153993214096065
+1.3,0.7809244659895424,0.06184893197908348,0.2190755340104582
+1.4,0.7778772439517625,0.05575448790352359,0.2221227560482381
+1.5,0.7753479849818044,0.05069596996360754,0.2246520150181961
+1.6,0.7732462947753882,0.04649258955077503,0.2267537052246124
+1.7,0.7714982679503051,0.04299653590060892,0.2285017320496954
+1.8,0.7700432661819711,0.04008653236394067,0.2299567338180295
+1.9,0.7688313894259025,0.03766277885180319,0.2311686105740983
+2.,0.7678214712751751,0.03564294255034818,0.2321785287248258
+2.1,0.7669794788731437,0.03395895774628556,0.2330205211268571
+2.2,0.7662772284180395,0.03255445683607701,0.2337227715819613
+2.3,0.7656913458931844,0.03138269178636672,0.2343086541068165
+2.4,0.7652024215771755,0.03040484315434866,0.2347975784228255
+2.5,0.7647943210844749,0.02958864216894761,0.2352056789155261
+2.6,0.7644536223008801,0.02890724460175807,0.2355463776991208
+2.7,0.7641691503608463,0.02833830072169049,0.2358308496391546
+2.8,0.7639315959365361,0.02786319187306986,0.2360684040634649
+2.9,0.7637332001331312,0.02746640026626041,0.2362667998668697
+3.,0.7635674934634503,0.02713498692689816,0.2364325065365507
+3.1,0.7634290796201,0.02685815924019767,0.236570920379901
+3.2,0.7633134563004347,0.02662691260086719,0.2366865436995662
+3.3,0.7632168660602018,0.02643373212040166,0.236783133939799
+3.4,0.7631361723619041,0.02627234472380587,0.2368638276380969
+3.5,0.7630687565537477,0.02613751310749311,0.2369312434462533
+3.6,0.7630124320683682,0.02602486413673418,0.2369875679316328
+3.7,0.7629653729877686,0.02593074597553521,0.2370346270122322
+3.8,0.7629260543789255,0.02585210875784908,0.2370739456210753
+3.9,0.762893202493596,0.02578640498719007,0.2371067975064048
+4.,0.7628657533345962,0.02573150666919054,0.2371342466654046
+4.1,0.7628428180793631,0.02568563615872429,0.2371571819206377
+4.2,0.762823654246438,0.02564730849287388,0.2371763457535629
+4.3,0.762807641556486,0.02561528311297,0.2371923584435149
+4.4,0.7627942617696185,0.02558852353923516,0.2372057382303823
+4.5,0.7627830818941093,0.02556616378821688,0.2372169181058914
+4.6,0.7627737401618475,0.02554748032369326,0.2372262598381533
+4.7,0.7627659343254743,0.02553186865094701,0.2372340656745264
+4.8,0.7627594118503596,0.02551882370071759,0.2372405881496411
+4.9,0.7627539617261416,0.02550792345228154,0.2372460382738592
+5.,0.7627494076281484,0.02549881525629508,0.2372505923718524
diff --git a/models/sbml-test-suite/cases/semantic/01025/01025-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01025/01025-sbml-l1v2.xml
new file mode 100644
index 0000000..bc5d1b0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01025/01025-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01025">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="1.1"/>
+      <parameter name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 * S2 + -1 * kr * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01025/01025-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01025/01025-sbml-l2v4.xml
new file mode 100644
index 0000000..b46a26b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01025/01025-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01025" id="case01025" name="case01025">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2" stoichiometry="2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01025/01025-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01025/01025-sbml-l3v1.xml
new file mode 100644
index 0000000..5d7c1a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01025/01025-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01025" id="case01025" name="case01025" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01025/01025-settings.txt b/models/sbml-test-suite/cases/semantic/01025/01025-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01025/01025-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01026/01026-results.csv b/models/sbml-test-suite/cases/semantic/01026/01026-results.csv
new file mode 100644
index 0000000..523b449
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01026/01026-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.7815431345015093,0.7184568654984906,0.4369137309969808
+0.2,0.6175478499902036,0.8824521500097963,0.7649043000195919
+0.3,0.4960608273574218,1.003939172642578,1.007878345285155
+0.4,0.4069462413651704,1.093053758634829,1.186107517269657
+0.5,0.3420492738091299,1.15795072619087,1.315901452381738
+0.6,0.2950372882210906,1.204962711778909,1.409925423557816
+0.7,0.2611113691218901,1.23888863087811,1.477777261756217
+0.8,0.2366964365848039,1.263303563415197,1.52660712683039
+0.9,0.2191610329255468,1.280838967074453,1.561677934148904
+1.,0.2065846512155935,1.293415348784407,1.586830697568811
+1.1,0.1975741122436703,1.30242588775633,1.604851775512657
+1.2,0.1911231160783092,1.308876883921691,1.61775376784338
+1.3,0.1865070234090951,1.313492976590905,1.626985953181808
+1.4,0.1832051590145248,1.316794840985475,1.633589681970949
+1.5,0.180843992003667,1.319156007996333,1.638312015992664
+1.6,0.1791558448826216,1.320844155117378,1.641688310234755
+1.7,0.1779490455360554,1.322050954463944,1.644101908927887
+1.8,0.1770864319196693,1.32291356808033,1.645827136160659
+1.9,0.1764698837424544,1.323530116257545,1.647060232515089
+2.,0.1760292307547604,1.323970769245239,1.647941538490477
+2.1,0.1757143038020976,1.324285696197902,1.648571392395802
+2.2,0.1754892366077815,1.324510763392218,1.649021526784434
+2.3,0.1753283918247989,1.3246716081752,1.649343216350399
+2.4,0.1752134453839989,1.324786554616,1.649573109232
+2.5,0.1751313005685293,1.32486869943147,1.649737398862939
+2.6,0.1750725974025003,1.324927402597499,1.649854805194997
+2.7,0.1750306463854922,1.324969353614507,1.649938707229013
+2.8,0.1750006672821867,1.324999332717812,1.649998665435624
+2.9,0.1749792433945951,1.325020756605404,1.650041513210808
+3.,0.1749639335060284,1.32503606649397,1.650072132987941
+3.1,0.1749529927258846,1.325047007274114,1.650094014548229
+3.2,0.1749451741886915,1.325054825811308,1.650109651622615
+3.3,0.1749395869173972,1.325060413082602,1.650120826165204
+3.4,0.1749355941561787,1.32506440584382,1.65012881168764
+3.5,0.1749327408475371,1.325067259152462,1.650134518304924
+3.6,0.1749307018104496,1.32506929818955,1.650138596379099
+3.7,0.174929244677998,1.325070755322001,1.650141510644002
+3.8,0.1749282033866514,1.325071796613348,1.650143593226695
+3.9,0.1749274592597707,1.325072540740229,1.650145081480456
+4.,0.1749269274909274,1.325073072509072,1.650146145018143
+4.1,0.1749265474793003,1.325073452520699,1.650146905041397
+4.2,0.1749262759157774,1.325073724084222,1.650147448168443
+4.3,0.174926081851324,1.325073918148676,1.65014783629735
+4.4,0.1749259431688538,1.325074056831146,1.65014811366229
+4.5,0.1749258440632854,1.325074155936715,1.650148311873427
+4.6,0.1749257732417491,1.325074226758251,1.650148453516499
+4.7,0.1749257226311201,1.32507427736888,1.650148554737757
+4.8,0.1749256864633222,1.325074313536678,1.650148627073353
+4.9,0.1749256606175574,1.325074339382442,1.650148678764883
+5.,0.1749256421476752,1.325074357852325,1.650148715704647
diff --git a/models/sbml-test-suite/cases/semantic/01026/01026-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01026/01026-sbml-l1v2.xml
new file mode 100644
index 0000000..fc7993a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01026/01026-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01026">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01026/01026-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01026/01026-sbml-l2v4.xml
new file mode 100644
index 0000000..02a612c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01026/01026-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01026" id="case01026" name="case01026">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3" stoichiometry="2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01026/01026-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01026/01026-sbml-l3v1.xml
new file mode 100644
index 0000000..501559e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01026/01026-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01026" id="case01026" name="case01026" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01026/01026-settings.txt b/models/sbml-test-suite/cases/semantic/01026/01026-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01026/01026-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01027/01027-results.csv b/models/sbml-test-suite/cases/semantic/01027/01027-results.csv
new file mode 100644
index 0000000..b86ea71
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01027/01027-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.16,0.8674461438566446,0.2651077122867101
+0.32,0.7553912296266588,0.4892175407466816
+0.48,0.6606651845799057,0.6786696308401882
+0.64,0.5805881522289524,0.8388236955420945
+0.8,0.5128947114301744,0.9742105771396506
+0.96,0.4556698341041101,1.088660331791779
+1.12,0.4072945472844014,1.185410905431196
+1.28,0.3664003113716774,1.267199377256644
+1.44,0.3318302177334989,1.336339564533001
+1.6,0.302606250562297,1.394787498875404
+1.76,0.2779016593924217,1.444196681215155
+1.92,0.257017540340215,1.485964919319569
+2.08,0.2393630718897156,1.521273856220567
+2.24,0.2244388005842858,1.551122398831427
+2.4,0.2118225114456443,1.57635497710871
+2.56,0.2011572834248798,1.597685433150239
+2.72,0.1921413919952827,1.615717216009434
+2.88,0.1845197732456855,1.630960453508628
+3.04,0.1780768080029133,1.643846383994172
+3.2,0.1726302218594896,1.65473955628102
+3.36,0.1680259248357856,1.663948150328428
+3.52,0.1641336684668112,1.671732663066377
+3.68,0.160843338631873,1.678313322736253
+3.84,0.1580618417627714,1.683876316474456
+4.,0.1557104913679087,1.688579017264182
+4.16,0.1537227713129696,1.69255445737406
+4.32,0.1520424447098569,1.695915110580286
+4.48,0.1506219712957153,1.698756057408569
+4.64,0.1494211707589508,1.701157658482098
+4.8,0.1484060699697881,1.703187860060423
+4.96,0.1475479486677223,1.704904102664555
+5.12,0.1468225335937843,1.706354932812431
+5.28,0.1462093017990854,1.707581396401828
+5.44,0.1456909027323298,1.70861819453534
+5.6,0.1452526725525035,1.709494654894993
+5.76,0.1448822135073344,1.710235572985331
+5.92,0.1445690438367742,1.710861912326451
+6.08,0.1443043047971257,1.711391390405748
+6.24,0.1440805070148766,1.711838985970247
+6.4,0.1438913183339688,1.712217363332062
+6.56,0.1437313869535032,1.712537226092993
+6.72,0.1435961886049454,1.712807622790109
+6.88,0.143481897986369,1.713036204027262
+7.04,0.1433852819159146,1.71322943616817
+7.2,0.1433036073147115,1.713392785370577
+7.36,0.1432345633044834,1.713530873391033
+7.52,0.1431761966184394,1.713647606763121
+7.68,0.1431268562404177,1.713746287519164
+7.84,0.1430851460081502,1.713829707983699
+8.,0.1430498862778779,1.713900227444244
diff --git a/models/sbml-test-suite/cases/semantic/01027/01027-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01027/01027-sbml-l2v4.xml
new file mode 100644
index 0000000..49f72bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01027/01027-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01027" id="case01027" name="case01027">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference id="generatedId_0" species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01027/01027-settings.txt b/models/sbml-test-suite/cases/semantic/01027/01027-settings.txt
new file mode 100644
index 0000000..782b0d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01027/01027-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01028/01028-results.csv b/models/sbml-test-suite/cases/semantic/01028/01028-results.csv
new file mode 100644
index 0000000..122ffc6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01028/01028-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.9696179454642711,0.4392358909285413,0.03038205453572927
+0.12,0.9437947594964144,0.3875895189928282,0.05620524050358585
+0.18,0.9216954270748496,0.3433908541496985,0.0783045729251507
+0.24,0.9026717447258134,0.3053434894516258,0.09732825527418702
+0.3,0.8862128399369182,0.2724256798738354,0.1137871600630822
+0.36,0.8719106658115749,0.2438213316231486,0.1280893341884257
+0.42,0.8594354122631484,0.2188708245262958,0.1405645877368521
+0.48,0.8485176887592405,0.1970353775184801,0.1514823112407599
+0.54,0.8389353649935498,0.1778707299870987,0.1610646350064506
+0.6,0.8305037308100224,0.1610074616200441,0.1694962691899779
+0.66,0.8230680221717499,0.1461360443434988,0.1769319778282506
+0.72,0.8164976800789665,0.132995360157932,0.183502319921034
+0.78,0.8106818870376608,0.1213637740753207,0.1893181129623396
+0.84,0.8055260562348722,0.1110521124697436,0.1944739437651282
+0.9,0.8009490553410307,0.1018981106820606,0.1990509446589697
+0.96,0.7968809759131927,0.09376195182638452,0.2031190240868077
+1.02,0.7932613361166933,0.08652267223338555,0.2067386638833072
+1.08,0.7900376147630173,0.08007522952603364,0.2099623852369832
+1.14,0.7871640566023572,0.07432811320471303,0.2128359433976435
+1.2,0.7846006785903941,0.06920135718078701,0.2153993214096065
+1.26,0.7823124471114399,0.06462489422287849,0.2176875528885607
+1.32,0.7802685915353989,0.06053718307079644,0.2197314084646017
+1.38,0.7784420257791159,0.05688405155823055,0.2215579742208846
+1.44,0.7768088597975793,0.05361771959515723,0.2231911402024213
+1.5,0.7753479849818044,0.05069596996360754,0.2246520150181961
+1.56,0.7740407205127242,0.04808144102544719,0.2259592794872763
+1.62,0.7728705097609502,0.04574101952189911,0.2271294902390503
+1.68,0.7718226596384412,0.04364531927688087,0.2281773403615594
+1.74,0.7708841155355393,0.04176823107107718,0.2291158844644613
+1.8,0.7700432661819711,0.04008653236394067,0.2299567338180295
+1.86,0.7692897751563261,0.03857955031265036,0.2307102248436747
+1.92,0.7686144322138514,0.03722886442770084,0.2313855677861494
+1.98,0.7680090232404527,0.0360180464809033,0.2319909767595482
+2.04,0.7674662202251498,0.03493244045029753,0.2325337797748511
+2.1,0.7669794788731437,0.03395895774628556,0.2330205211268571
+2.16,0.766542952464459,0.03308590492891596,0.2334570475355419
+2.22,0.7661514159846728,0.03230283196934352,0.2338485840153281
+2.28,0.7658001958517509,0.0316003917034997,0.23419980414825
+2.34,0.7654851114069644,0.03097022281392642,0.2345148885930366
+2.4,0.7652024215771755,0.03040484315434866,0.2347975784228255
+2.46,0.764948776264381,0.02989755252875986,0.2350512237356199
+2.52,0.7647211767037641,0.02944235340752586,0.235278823296237
+2.58,0.7645169354882692,0.02903387097653622,0.2354830645117318
+2.64,0.7643336457072129,0.02866729141442374,0.235666354292788
+2.7,0.7641691503608463,0.02833830072169049,0.2358308496391546
+2.76,0.7640215157226102,0.0280430314452181,0.2359784842773908
+2.82,0.7638890081549438,0.02777801630988544,0.2361109918450572
+2.88,0.763770073719003,0.02754014743800385,0.2362299262809979
+2.94,0.7636633188428251,0.02732663768564807,0.2363366811571758
+3.,0.7635674934634627,0.02713498692692338,0.2364325065365382
diff --git a/models/sbml-test-suite/cases/semantic/01028/01028-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01028/01028-sbml-l2v4.xml
new file mode 100644
index 0000000..ec2c0d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01028/01028-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01028" id="case01028" name="case01028">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference id="generatedId_0" species="S2">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01028/01028-settings.txt b/models/sbml-test-suite/cases/semantic/01028/01028-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01028/01028-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01029/01029-results.csv b/models/sbml-test-suite/cases/semantic/01029/01029-results.csv
new file mode 100644
index 0000000..35e3c84
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01029/01029-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.8616727079606161,0.6383272920393838,0.2766545840787671
+0.12,0.7447919324790182,0.7552080675209818,0.5104161350419632
+0.18,0.6465872622274573,0.8534127377725426,0.7068254755450845
+0.24,0.5644642271990528,0.9355357728009471,0.8710715456018935
+0.3,0.4960608273574218,1.003939172642578,1.007878345285155
+0.36,0.4392727543869955,1.060727245613004,1.121454491226007
+0.42,0.392256683654747,1.107743316345253,1.215486632690504
+0.48,0.3534193023920151,1.146580697607985,1.293161395215968
+0.54,0.3213979841979456,1.178602015802054,1.357204031604107
+0.6,0.2950372882210906,1.204962711778909,1.409925423557816
+0.66,0.2733641582161532,1.226635841783847,1.453271683567691
+0.72,0.2555636743033055,1.244436325696695,1.488872651393387
+0.78,0.2409564136757351,1.259043586324265,1.518087172648527
+0.84,0.2289780164431097,1.271021983556891,1.542043967113778
+0.9,0.2191610329255468,1.280838967074453,1.561677934148904
+0.96,0.2111192807154172,1.288880719284583,1.577761438569164
+1.02,0.2045342872276673,1.295465712772333,1.590931425544663
+1.08,0.1991438880151231,1.300856111984877,1.601712223969752
+1.14,0.1947325132758389,1.305267486724161,1.61053497344832
+1.2,0.1911231160783092,1.308876883921691,1.61775376784338
+1.26,0.1881704166109222,1.311829583389078,1.623659166778154
+1.32,0.1857552805250867,1.314244719474914,1.628489438949825
+1.38,0.1837800691793961,1.316219930820604,1.632439861641206
+1.44,0.1821648030614262,1.317835196938574,1.635670393877146
+1.5,0.180843992003667,1.319156007996333,1.638312015992664
+1.56,0.1797640272409757,1.320235972759024,1.640471945518047
+1.62,0.1788810371796498,1.32111896282035,1.642237925640698
+1.68,0.1781591264238181,1.321840873576181,1.643681747152362
+1.74,0.1775689306993571,1.322431069300642,1.644862138601284
+1.8,0.1770864319196693,1.32291356808033,1.645827136160659
+1.86,0.176691987105813,1.323308012894186,1.646616025788372
+1.92,0.1763695329289744,1.323630467071025,1.647260934142049
+1.98,0.1761059343915924,1.323894065608407,1.647788131216813
+2.04,0.1758904516692595,1.32410954833074,1.648219096661479
+2.1,0.1757143038020976,1.324285696197902,1.648571392395802
+2.16,0.1755703117146072,1.324429688285392,1.648859376570783
+2.22,0.1754526061906401,1.324547393809359,1.649094787618717
+2.28,0.1753563889212805,1.324643611078719,1.649287222157436
+2.34,0.1752777375487411,1.324722262451258,1.649444524902515
+2.4,0.1752134453839989,1.324786554616,1.649573109232
+2.46,0.1751608910281392,1.32483910897186,1.649678217943719
+2.52,0.1751179315766129,1.324882068423386,1.649764136846772
+2.58,0.1750828152555256,1.324917184744474,1.649834369488947
+2.64,0.1750541105146971,1.324945889485302,1.649891778970604
+2.7,0.1750306463854922,1.324969353614507,1.649938707229013
+2.76,0.1750114664163874,1.324988533583612,1.649977067167223
+2.82,0.1749957881607985,1.3250042118392,1.650008423678401
+2.88,0.1749829725080639,1.325017027491935,1.65003405498387
+2.94,0.1749724966489235,1.325027503351075,1.650055006702151
+3.,0.1749639335286364,1.325036066471362,1.650072132942725
diff --git a/models/sbml-test-suite/cases/semantic/01029/01029-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01029/01029-sbml-l2v4.xml
new file mode 100644
index 0000000..e650e29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01029/01029-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01029" id="case01029" name="case01029">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference id="generatedId_0" species="S3">
+            <stoichiometryMath>
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <times/>
+                  <cn type="integer"> 4 </cn>
+                  <ci> p1 </ci>
+                </apply>
+              </math>
+            </stoichiometryMath>
+          </speciesReference>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01029/01029-settings.txt b/models/sbml-test-suite/cases/semantic/01029/01029-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01029/01029-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01030/01030-results.csv b/models/sbml-test-suite/cases/semantic/01030/01030-results.csv
new file mode 100644
index 0000000..be3beac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01030/01030-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0,1.5,0.5
+0.2,0.853003881816861,0.1469961181831392,1.261508193068378,0.7384918069316205
+0.4,0.7292362049789094,0.2707637950210908,1.065268853177446,0.934731146822553
+0.6,0.6250264110519917,0.3749735889480083,0.9037963507957798,1.096203649204219
+0.8,0.5372839278528029,0.4627160721471972,0.7709311638160287,1.22906883618397
+1.,0.4634065857028789,0.5365934142971214,0.6616050859944306,1.338394914005568
+1.2,0.4012033952153769,0.5987966047846233,0.5716477855148897,1.428352214485109
+1.4,0.3488296095435641,0.6511703904564362,0.4976278119568066,1.502372188043192
+1.6,0.3047319751782503,0.6952680248217502,0.4367216171967165,1.563278382803283
+1.8,0.2676026762333647,0.7323973237666356,0.3866058712559676,1.613394128744031
+2.,0.2363405967559268,0.7636594032440735,0.3453689311865667,1.654631068813432
+2.2,0.2100185729810366,0.7899814270189636,0.3114377400985903,1.688562259901409
+2.4,0.1878559656598178,0.8121440343401824,0.2835179590230571,1.716482040976942
+2.6,0.1691955201554634,0.8308044798445368,0.2605446104704231,1.739455389529576
+2.8,0.1534838183444258,0.8465161816555745,0.2416413511666107,1.758358648833388
+3.,0.1402548842372802,0.85974511576272,0.2260870798162515,1.773912920183747
+3.2,0.1291163981685325,0.8708836018314678,0.2132884879065557,1.786711512093443
+3.4,0.1197380261873056,0.8802619738126947,0.2027573651090871,1.797242634890911
+3.6,0.1118416342264441,0.8881583657735562,0.194091995365153,1.805908004634845
+3.8,0.1051930366166131,0.8948069633833872,0.1869618287235153,1.813038171276483
+4.,0.09959505564500931,0.900404944354991,0.1810948800747066,1.818905119925292
+4.2,0.09488167183338104,0.9051183281666193,0.1762673507388606,1.823732649261138
+4.4,0.09091310024189493,0.9090868997581054,0.1722950914265488,1.82770490857345
+4.6,0.08757164550692501,0.9124283544930753,0.1690265786483501,1.830973421351648
+4.8,0.08475821019036543,0.915241789809635,0.166337133034714,1.833662866965285
+5.,0.08238935627715979,0.9176106437228406,0.1641241640220275,1.835875835977971
+5.2,0.0803948306710313,0.919605169328969,0.1623032565007998,1.837696743499199
+5.4,0.07871548171206971,0.9212845182879305,0.1608049507704919,1.839195049229507
+5.6,0.07730150492412706,0.9226984950758732,0.1595720929683769,1.840427907031622
+5.8,0.07611096597049207,0.9238890340295081,0.1585576549094391,1.84144234509056
+6.,0.07510855701038163,0.9248914429896185,0.1577229401707039,1.842277059829295
+6.2,0.07426454957649218,0.925735450423508,0.1570361079942744,1.842963892005725
+6.4,0.07355391291925135,0.9264460870807489,0.1564709587027908,1.843529041297208
+6.6,0.07295557166832598,0.9270444283316743,0.1560059342939527,1.843994065706047
+6.8,0.07245178080421285,0.9275482191957874,0.1556232961008245,1.844376703899175
+7.,0.0720275993908729,0.9279724006091273,0.1553084481348524,1.844691551865147
+7.2,0.07167044747269144,0.9283295525273088,0.1550493803126399,1.84495061968736
+7.4,0.07136973299021461,0.9286302670097856,0.1548362103228369,1.845163789677163
+7.6,0.07111653765108463,0.9288834623489156,0.1546608066584817,1.845339193341518
+7.8,0.07090335243989368,0.9290966475601065,0.1545164784349468,1.845483521565053
+8.,0.07072385492264604,0.9292761450773542,0.1543977201610853,1.845602279838914
+8.2,0.07057272174212468,0.9294272782578755,0.1543000017284789,1.84569999827152
+8.4,0.0704454707439143,0.9295545292560859,0.1542195956082097,1.84578040439179
+8.6,0.07033832804981267,0.9296616719501875,0.1541534346624197,1.845846565337579
+8.8,0.07024811605401455,0.9297518839459857,0.1540989950748488,1.84590100492515
+9.,0.07017215951515458,0.9298278404848456,0.1540542003677552,1.845945799632244
+9.2,0.07010820575423631,0.9298917942457639,0.1540173417823274,1.845982658217671
+9.4,0.07005435796411005,0.9299456420358901,0.1539870132147066,1.846012986785292
+9.6,0.07000901920228812,0.929990980797712,0.1539620577832813,1.846037942216718
+9.8,0.06997084497998995,0.9300291550200101,0.1539415236451669,1.846058476354832
+10.,0.06993870306385754,0.9300612969361424,0.153924627431918,1.846075372568081
diff --git a/models/sbml-test-suite/cases/semantic/01030/01030-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01030/01030-sbml-l1v2.xml
new file mode 100644
index 0000000..f9b2741
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01030/01030-sbml-l1v2.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01030">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2))">
+		  <listOfParameters>
+            <parameter name="kf" value="0.8"/>
+            <parameter name="kr" value="0.06"/>
+          </listOfParameters>
+		</kineticLaw>
+      </reaction>
+      <reaction name="reaction2">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S3 + -1 * kr * S4))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01030/01030-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01030/01030-sbml-l2v4.xml
new file mode 100644
index 0000000..2a9dd02
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01030/01030-sbml-l2v4.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01030" id="case01030" name="case01030">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+		  <listOfParameters>
+            <parameter id="kf" value="0.8"/>
+            <parameter id="kr" value="0.06"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S4 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01030/01030-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01030/01030-sbml-l3v1.xml
new file mode 100644
index 0000000..0d84da2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01030/01030-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01030" id="case01030" name="case01030" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="kf" value="0.8"/>
+            <localParameter id="kr" value="0.06"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S3 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01030/01030-settings.txt b/models/sbml-test-suite/cases/semantic/01030/01030-settings.txt
new file mode 100644
index 0000000..5dd8210
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01030/01030-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01031/01031-results.csv b/models/sbml-test-suite/cases/semantic/01031/01031-results.csv
new file mode 100644
index 0000000..88fbf6f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01031/01031-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0,1.5,0.5
+0.16,0.8804160000251078,0.1195839999748922,1.305560446627352,0.6944395533726466
+0.32,0.7762048595178056,0.2237951404821946,1.139205903364718,0.8607940966352809
+0.48,0.6853903505477676,0.3146096494522324,0.9968797398439105,1.003120260156088
+0.64,0.6062503017819194,0.3937496982180807,0.8751112846340858,1.124888715365913
+0.8,0.5372839278528029,0.4627160721471972,0.7709311638160287,1.22906883618397
+0.96,0.4771833653292434,0.522816634670757,0.6817988847781749,1.318201115221824
+1.12,0.4248089052170889,0.5751910947829113,0.6055409590394881,1.394459040960511
+1.28,0.3791673375592828,0.6208326624407174,0.5402978085504247,1.459702191449574
+1.44,0.3393931192388901,0.6606068807611102,0.4844784274056965,1.515521572594303
+1.6,0.3047319751782503,0.6952680248217502,0.4367216171967165,1.563278382803283
+1.76,0.2745266337380021,0.7254733662619983,0.3958628698897483,1.60413713011025
+1.92,0.2482042641930348,0.7517957358069655,0.3609057750681614,1.639094224931837
+2.08,0.2252657048263653,0.774734295173635,0.3309979036831531,1.669002096316846
+2.24,0.205275964455285,0.7947240355447153,0.3054099552165172,1.694590044783482
+2.4,0.1878559656598178,0.8121440343401824,0.2835179590230571,1.716482040976942
+2.56,0.1726753591699852,0.827324640830015,0.2647880652387109,1.735211934761288
+2.72,0.1594462613669546,0.8405537386330456,0.2487635309949881,1.75123646900501
+2.88,0.1479177970026912,0.852082202997309,0.2350535862983668,1.764946413701632
+3.04,0.1378713472960952,0.862128652703905,0.2233239142758563,1.776676085724142
+3.2,0.1291163981685325,0.8708836018314678,0.2132884879065557,1.786711512093443
+3.36,0.1214869245249486,0.8785130754750518,0.2047025903829377,1.795297409617061
+3.52,0.1148382426403029,0.8851617573596974,0.1973568492946852,1.802643150705313
+3.68,0.1090442609661441,0.8909557390338562,0.1910721228307464,1.808927877169252
+3.84,0.103995117791204,0.8960048822087963,0.1856951766025722,1.814304823397426
+4.,0.09959505564500931,0.900404944354991,0.1810948800747066,1.818905119925292
+4.16,0.09576062974045136,0.9042393702595489,0.1771590480510565,1.822840951948942
+4.32,0.09241913443624601,0.9075808655637542,0.1737917172967171,1.826208282703281
+4.48,0.08950719463288132,0.910492805367119,0.1709107620699745,1.829089237930024
+4.64,0.08696959433901232,0.913030405660988,0.1684459365022165,1.831554063497782
+4.8,0.08475821019036543,0.915241789809635,0.166337133034714,1.833662866965285
+4.96,0.08283110376252521,0.9171688962374752,0.1645329242729974,1.835467075727001
+5.12,0.0811517350158518,0.9188482649841486,0.162989320563746,1.837010679436253
+5.28,0.07968825075569006,0.9203117492443102,0.1616686721941693,1.838331327805829
+5.44,0.07841290427057078,0.9215870957294295,0.1605387829323927,1.839461217067606
+5.6,0.07730150492412706,0.9226984950758732,0.1595720929683769,1.840427907031622
+5.76,0.07633298054164884,0.9236670194583513,0.1587450343206136,1.841254965679385
+5.92,0.07548896199733327,0.9245110380026669,0.1580374358509525,1.841962564149046
+6.08,0.07475344444055667,0.9252465555594435,0.1574320435349495,1.84256795646505
+6.24,0.07411248021235475,0.9258875197876455,0.1569140951430488,1.84308590485695
+6.4,0.07355391291925135,0.9264460870807489,0.1564709587027908,1.843529041297208
+6.56,0.07306715196431667,0.9269328480356836,0.1560918303241123,1.843908169675887
+6.72,0.07264296455054813,0.9273570354494522,0.1557674625053635,1.844232537494636
+6.88,0.07227330838406306,0.9277266916159372,0.1554899474788331,1.844510052521166
+7.04,0.07195117201472583,0.9280488279852744,0.155252516367708,1.844747483632291
+7.2,0.07167044747269144,0.9283295525273088,0.1550493803126399,1.84495061968736
+7.36,0.07142581079437725,0.928574189205623,0.1548755853273012,1.845124414672698
+7.52,0.07121262273483774,0.9287873772651624,0.1547268933194403,1.845273106680559
+7.68,0.07102684083435907,0.928973159165641,0.1545996787409705,1.845400321259029
+7.84,0.07086494141589985,0.9291350585841003,0.1544908388445634,1.845509161155436
+8.,0.07072385492575568,0.9292761450742446,0.1543977201640351,1.845602279835964
diff --git a/models/sbml-test-suite/cases/semantic/01031/01031-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01031/01031-sbml-l1v2.xml
new file mode 100644
index 0000000..de0d894
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01031/01031-sbml-l1v2.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01031">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="1.5" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.5" units="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2))">
+          <listOfParameters>
+            <parameter name="kf" value="0.8"/>
+            <parameter name="kr" value="0.06"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction name="reaction2">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S3 + -1 * kr * S4))">
+          <listOfParameters>
+            <parameter name="kf" value="0.9"/>
+            <parameter name="kr" value="0.075"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01031/01031-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01031/01031-sbml-l2v4.xml
new file mode 100644
index 0000000..b3dbd13
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01031/01031-sbml-l2v4.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01031" id="case01031" name="case01031">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="kf" value="0.8"/>
+            <parameter id="kr" value="0.06"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S4 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+          <listOfParameters>
+            <parameter id="kf" value="0.9"/>
+            <parameter id="kr" value="0.075"/>
+          </listOfParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01031/01031-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01031/01031-sbml-l3v1.xml
new file mode 100644
index 0000000..78c6ba2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01031/01031-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01031" id="case01031" name="case01031" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="kf" value="0.8"/>
+            <localParameter id="kr" value="0.06"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S3 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="kf" value="0.9"/>
+            <localParameter id="kr" value="0.075"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01031/01031-settings.txt b/models/sbml-test-suite/cases/semantic/01031/01031-settings.txt
new file mode 100644
index 0000000..7d26374
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01031/01031-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01032/01032-results.csv b/models/sbml-test-suite/cases/semantic/01032/01032-results.csv
new file mode 100644
index 0000000..1c6ca86
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01032/01032-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.2,0.8895103824224083,0.1104896175775915
+0.4,0.7927805792635843,0.2072194207364157
+0.6,0.708097005742329,0.2919029942576709
+0.8,0.6339595010095482,0.3660404989904517
+1.,0.569054706869474,0.4309452931305259
+1.2,0.5122328232514341,0.4877671767485656
+1.4,0.4624872421761243,0.5375127578238756
+1.6,0.4189367212380718,0.581063278761928
+1.8,0.3808097611447565,0.6191902388552434
+2.,0.3474309402025342,0.6525690597974658
+2.2,0.3182089495351642,0.6817910504648357
+2.4,0.2926261228134271,0.7073738771865727
+2.6,0.2702292336709055,0.7297707663290944
+2.8,0.2506215573198475,0.7493784426801524
+3.,0.2334557138119106,0.7665442861880893
+3.2,0.2184276159335442,0.7815723840664556
+3.4,0.205271048689063,0.794728951310937
+3.6,0.1937529210017564,0.8062470789982435
+3.8,0.1836692173597648,0.8163307826402351
+4.,0.174841270585004,0.8251587294149959
+4.2,0.1671127271754064,0.8328872728245934
+4.4,0.1603466426348915,0.8396533573651082
+4.6,0.1544231840762248,0.8455768159237748
+4.8,0.1492373931703218,0.8507626068296778
+5.,0.1446974213334307,0.855302578666569
+5.2,0.1407228273441419,0.8592771726558576
+5.4,0.1372432181429396,0.8627567818570599
+5.6,0.1341969326590286,0.8658030673409709
+5.8,0.1315300221337686,0.8684699778662309
+6.,0.1291952340393357,0.8708047659606638
+6.2,0.1271512055843821,0.8728487944156174
+6.4,0.12536173483009,0.8746382651699096
+6.6,0.1237951112988212,0.8762048887011783
+6.8,0.122423588399298,0.8775764116007015
+7.,0.1212228703375956,0.8787771296624038
+7.2,0.1201716804838922,0.8798283195161071
+7.4,0.1192514012899001,0.8807485987100992
+7.6,0.1184457306461336,0.8815542693538658
+7.8,0.117740392083841,0.8822596079161585
+8.,0.11712289324783,0.8828771067521695
+8.2,0.1165822957408549,0.8834177042591445
+8.4,0.1161090201639564,0.8838909798360431
+8.6,0.1156946841507678,0.8843053158492316
+8.8,0.1153319482503355,0.8846680517496639
+9.,0.1150143847676022,0.8849856152323971
+9.2,0.1147363691316257,0.8852636308683736
+9.4,0.1144929767137034,0.885507023286296
+9.6,0.1142798945899728,0.8857201054100265
+9.8,0.1140933487338499,0.8859066512661495
+10.,0.1139300346499996,0.8860699653499998
diff --git a/models/sbml-test-suite/cases/semantic/01032/01032-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01032/01032-sbml-l2v4.xml
new file mode 100644
index 0000000..bc2b334
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01032/01032-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01032" id="case01032" name="case01032">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.59"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <ci> multiply </ci>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01032/01032-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01032/01032-sbml-l3v1.xml
new file mode 100644
index 0000000..d163ecf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01032/01032-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01032" id="case01032" name="case01032" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.59" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <ci> multiply </ci>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01032/01032-settings.txt b/models/sbml-test-suite/cases/semantic/01032/01032-settings.txt
new file mode 100644
index 0000000..5f5e18f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01032/01032-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01033/01033-results.csv b/models/sbml-test-suite/cases/semantic/01033/01033-results.csv
new file mode 100644
index 0000000..285892b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01033/01033-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.16,0.9229587434569916,0.4229587434569919,0.07704125654300825
+0.32,0.8632877513811619,0.3632877513811623,0.1367122486188378
+0.48,0.8160760907598575,0.3160760907598581,0.1839239092401421
+0.64,0.7780891335009687,0.2780891335009693,0.2219108664990309
+0.8,0.7471090141890666,0.2471090141890671,0.2528909858109332
+0.96,0.7215639207269927,0.2215639207269932,0.2784360792730071
+1.12,0.7003086784861243,0.2003086784861248,0.2996913215138754
+1.28,0.6824891697255127,0.1824891697255134,0.3175108302744868
+1.44,0.667455467610215,0.1674554676102157,0.3325445323897845
+1.6,0.6547043822000314,0.154704382200032,0.3452956177999682
+1.76,0.6438404332133262,0.1438404332133269,0.3561595667866733
+1.92,0.6345486909500298,0.1345486909500305,0.3654513090499697
+2.08,0.6265754779000039,0.1265754779000044,0.3734245220999957
+2.24,0.6197143778111636,0.1197143778111643,0.3802856221888358
+2.4,0.6137959361072372,0.1137959361072379,0.3862040638927621
+2.56,0.6086799510329041,0.1086799510329048,0.3913200489670953
+2.72,0.6042496195852733,0.1042496195852739,0.3957503804147263
+2.88,0.600407039842524,0.1004070398425246,0.3995929601574757
+3.04,0.5970697088070239,0.09706970880702443,0.4029302911929759
+3.2,0.5941677763250752,0.09416777632507564,0.4058322236749247
+3.36,0.591641849050903,0.09164184905090347,0.4083581509490968
+3.52,0.5894412468024536,0.0894412468024542,0.4105587531975461
+3.68,0.5875225791546484,0.08752257915464893,0.4124774208453514
+3.84,0.58584859122763,0.08584859122763043,0.41415140877237
+4.,0.5843872163139721,0.08438721631397272,0.4156127836860277
+4.16,0.583110791921969,0.08311079192196946,0.416889208078031
+4.32,0.5819954087898685,0.08199540878986891,0.4180045912101315
+4.48,0.5810203643338439,0.08102036433384422,0.4189796356661562
+4.64,0.5801677079052127,0.08016770790521302,0.4198322920947874
+4.8,0.5794218529934357,0.07942185299343601,0.4205781470065644
+4.96,0.5787692500593713,0.07876925005937161,0.4212307499406288
+5.12,0.578198108262297,0.07819810826229732,0.4218018917377031
+5.28,0.5776981580296017,0.07769815802960219,0.4223018419703982
+5.44,0.5772604495089087,0.07726044950890918,0.4227395504910911
+5.6,0.5768771730716756,0.07687717307167608,0.4231228269283243
+5.76,0.5765415157406698,0.07654151574067028,0.4234584842593301
+5.92,0.5762475251526748,0.07624752515267518,0.4237524748473252
+6.08,0.5759900032294422,0.07599000322944267,0.4240099967705577
+6.24,0.5757644047794391,0.07576440477943956,0.4242355952205608
+6.4,0.57556675763754,0.07556675763754051,0.4244332423624599
+6.56,0.5753935860484246,0.07539358604842499,0.4246064139515753
+6.72,0.5752418495856821,0.07524184958568258,0.4247581504143178
+6.88,0.5751088885094923,0.07510888850949283,0.4248911114905076
+7.04,0.5749923737963075,0.07499237379630809,0.4250076262036923
+7.2,0.5748902667694458,0.0748902667694464,0.425109733230554
+7.36,0.5748007830265869,0.0748007830265876,0.4251992169734128
+7.52,0.5747223592941357,0.07472235929413631,0.4252776407058641
+7.68,0.5746536265211083,0.07465362652110893,0.4253463734788914
+7.84,0.5745933860005406,0.07459338600054123,0.4254066139994591
+8.,0.5745405872524718,0.07454058725247234,0.425459412747528
diff --git a/models/sbml-test-suite/cases/semantic/01033/01033-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01033/01033-sbml-l2v4.xml
new file mode 100644
index 0000000..2fb5eeb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01033/01033-sbml-l2v4.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01033" id="case01033" name="case01033">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.11"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <ci> multiply </ci>
+                    <apply>
+                      <ci> multiply </ci>
+                      <ci> kf </ci>
+                      <ci> S1 </ci>
+                    </apply>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01033/01033-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01033/01033-sbml-l3v1.xml
new file mode 100644
index 0000000..e194cf9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01033/01033-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01033" id="case01033" name="case01033" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <ci> multiply </ci>
+                 <apply>
+                    <ci> multiply </ci>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01033/01033-settings.txt b/models/sbml-test-suite/cases/semantic/01033/01033-settings.txt
new file mode 100644
index 0000000..ed20bce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01033/01033-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01034/01034-results.csv b/models/sbml-test-suite/cases/semantic/01034/01034-results.csv
new file mode 100644
index 0000000..e03edfe
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01034/01034-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.8615126438176059,0.638487356182394,0.1384873561823936
+0.2,0.7441369007776839,0.755863099222316,0.2558630992223158
+0.3,0.6451222245116324,0.8548777754883675,0.3548777754883673
+0.4,0.5619279625522714,0.9380720374477286,0.4380720374477285
+0.5,0.4922596496419127,1.007740350358087,0.507740350358087
+0.6,0.4340813384642038,1.065918661535796,0.5659186615357959
+0.7,0.3856115630448358,1.114388436955164,0.6143884369551639
+0.8,0.3453088250354574,1.154691174964543,0.6546911749645423
+0.9,0.3118512780627298,1.18814872193727,0.6881487219372698
+1.,0.2841136679450215,1.215886332054978,0.715886332054978
+1.1,0.2611437470031959,1.238856252996804,0.7388562529968038
+1.2,0.2421395837616408,1.257860416238359,0.7578604162383589
+1.3,0.226428517931588,1.273571482068412,0.7735714820684118
+1.4,0.2134481126609808,1.28655188733902,0.7865518873390189
+1.5,0.2027293762631625,1.297270623736838,0.7972706237368371
+1.6,0.1938820460521207,1.30611795394788,0.8061179539478787
+1.7,0.1865820019652272,1.313417998034774,0.8134179980347722
+1.8,0.1805604009689611,1.319439599031039,0.8194395990310383
+1.9,0.1755945616106864,1.324405438389314,0.8244054383893131
+2.,0.171500196956185,1.328499803043816,0.8284998030438144
+2.1,0.1681249244282416,1.331875075571759,0.8318750755717578
+2.2,0.1653428270768144,1.334657172923187,0.8346571729231852
+2.3,0.1630499149358624,1.336950085064139,0.8369500850641371
+2.4,0.1611603484690088,1.338839651530992,0.8388396515309906
+2.5,0.1596032938433939,1.340396706156607,0.8403967061566055
+2.6,0.1583203186091486,1.341679681390853,0.8416796813908507
+2.7,0.1572632327668765,1.342736767233125,0.8427367672331229
+2.8,0.1563923017366304,1.343607698263371,0.8436076982633691
+2.9,0.1556747684300507,1.344325231569951,0.8443252315699487
+3.,0.1550836318275157,1.344916368172486,0.8449163681724836
+3.1,0.1545966381303603,1.345403361869641,0.8454033618696391
+3.2,0.1541954478909091,1.345804552109092,0.8458045521090904
+3.3,0.1538649486944494,1.346135051305551,0.84613505130555
+3.4,0.153592688148085,1.346407311851916,0.8464073118519144
+3.5,0.1533684062615771,1.346631593738424,0.8466315937384224
+3.6,0.1531836497742551,1.346816350225746,0.8468163502257445
+3.7,0.1530314541087877,1.346968545891213,0.8469685458912119
+3.8,0.1529060820051048,1.347093917994896,0.8470939179948947
+3.9,0.1528028062569802,1.347197193743021,0.8471971937430194
+4.,0.1527177326136477,1.347282267386353,0.8472822673863519
+4.1,0.1526476534721968,1.347352346527804,0.8473523465278027
+4.2,0.152589926250502,1.347410073749499,0.8474100737494976
+4.3,0.1525423736495663,1.347457626350435,0.8474576263504333
+4.4,0.1525032027205462,1.347496797279455,0.8474967972794533
+4.5,0.1524709360174261,1.347529063982575,0.8475290639825734
+4.6,0.1524443566187362,1.347555643381265,0.8475556433812633
+4.7,0.1524224622343577,1.347577537765643,0.8475775377656418
+4.8,0.1524044268846967,1.347595573115304,0.8475955731153027
+4.9,0.1523895705856628,1.347610429414339,0.8476104294143368
+5.,0.1523773329138312,1.34762266708617,0.8476226670861684
diff --git a/models/sbml-test-suite/cases/semantic/01034/01034-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01034/01034-sbml-l2v4.xml
new file mode 100644
index 0000000..706b48e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01034/01034-sbml-l2v4.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01034" id="case01034" name="case01034">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="minus" name="minus">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <ci> minus </ci>
+                  <apply>
+                    <ci> multiply </ci>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01034/01034-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01034/01034-sbml-l3v1.xml
new file mode 100644
index 0000000..757f810
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01034/01034-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01034" id="case01034" name="case01034" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+      <functionDefinition id="minus" name="minus">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <plus/>
+              <ci> x </ci>
+             <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> y </ci>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <ci> minus </ci>
+               <apply>
+                  <ci> multiply </ci>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01034/01034-settings.txt b/models/sbml-test-suite/cases/semantic/01034/01034-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01034/01034-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01035/01035-results.csv b/models/sbml-test-suite/cases/semantic/01035/01035-results.csv
new file mode 100644
index 0000000..729e07f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01035/01035-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.9494255794801914,0.4494255794801911,0.05057442051980889
+0.2,0.9064645346409043,0.4064645346409041,0.09353546535909597
+0.3,0.8696221973403461,0.3696221973403458,0.1303778026596542
+0.4,0.837768668416168,0.3377686684161677,0.1622313315838322
+0.5,0.8100338586497422,0.3100338586497418,0.1899661413502581
+0.6,0.7857368097117591,0.2857368097117588,0.214263190288241
+0.7,0.7643368991877602,0.2643368991877598,0.23566310081224
+0.8,0.745399430992763,0.2453994309927627,0.2546005690072372
+0.9,0.7285708727155042,0.2285708727155038,0.2714291272844959
+1.,0.7135607449682854,0.2135607449682851,0.2864392550317146
+1.1,0.7001281551138195,0.200128155113819,0.2998718448861807
+1.2,0.6880716385294087,0.1880716385294082,0.3119283614705916
+1.3,0.6772214178045081,0.1772214178045075,0.3227785821954922
+1.4,0.6674334125830857,0.1674334125830851,0.3325665874169146
+1.5,0.6585845577885306,0.1585845577885299,0.3414154422114699
+1.6,0.6505691257472551,0.1505691257472544,0.3494308742527453
+1.7,0.6432957795646377,0.1432957795646371,0.3567042204353627
+1.8,0.6366852274857909,0.1366852274857902,0.3633147725142094
+1.9,0.630668313454578,0.1306683134545774,0.3693316865454223
+2.,0.6251844605317147,0.1251844605317142,0.3748155394682856
+2.1,0.6201803995637955,0.120180399563795,0.3798196004362047
+2.2,0.615609115107369,0.1156091151073684,0.3843908848926312
+2.3,0.6114289697391045,0.1114289697391039,0.3885710302608956
+2.4,0.6076029747342909,0.1076029747342902,0.3923970252657094
+2.5,0.6040981729285542,0.1040981729285535,0.3959018270714461
+2.6,0.6008851193163851,0.1008851193163844,0.3991148806836152
+2.7,0.5979374419414939,0.09793744194149323,0.4020625580585064
+2.8,0.595231466781812,0.09523146678181128,0.4047685332181884
+2.9,0.5927458940630976,0.09274589406309694,0.4072541059369027
+3.,0.5904615198658586,0.09046151986585789,0.4095384801341417
+3.1,0.5883610033592937,0.08836100335929314,0.4116389966407064
+3.2,0.5864286508733929,0.08642865087339232,0.4135713491266073
+3.3,0.5846502442062562,0.08465024420625555,0.4153497557937441
+3.4,0.5830128764921798,0.08301287649217924,0.4169871235078204
+3.5,0.581504819293974,0.08150481929397346,0.4184951807060262
+3.6,0.5801153982812329,0.08011539828123236,0.4198846017187673
+3.7,0.5788348900701695,0.07883489007016897,0.4211651099298308
+3.8,0.5776544232306821,0.07765442323068157,0.4223455767693182
+3.9,0.5765658987094429,0.07656589870944231,0.4234341012905575
+4.,0.5755619159020228,0.07556191590202221,0.4244380840979776
+4.1,0.5746357034115469,0.07463570341154615,0.4253642965884537
+4.2,0.573781062090809,0.07378106209080839,0.4262189379091915
+4.3,0.572992313515759,0.0729923135157585,0.4270076864842413
+4.4,0.5722642513885463,0.07226425138854579,0.427735748611454
+4.5,0.5715920982968794,0.07159209829687888,0.4284079017031209
+4.6,0.5709714689156221,0.07097146891562164,0.4290285310843781
+4.7,0.570398335255548,0.07039833525554753,0.4296016647444522
+4.8,0.5698689957940575,0.06986899579405705,0.4301310042059427
+4.9,0.569380047454697,0.06938004745469661,0.4306199525453031
+5.,0.5689283594113548,0.06892835941135437,0.4310716405886453
diff --git a/models/sbml-test-suite/cases/semantic/01035/01035-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01035/01035-sbml-l2v4.xml
new file mode 100644
index 0000000..33ec598
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01035/01035-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01035" id="case01035" name="case01035">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01035/01035-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01035/01035-sbml-l3v1.xml
new file mode 100644
index 0000000..d954e9e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01035/01035-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01035" id="case01035" name="case01035" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01035/01035-settings.txt b/models/sbml-test-suite/cases/semantic/01035/01035-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01035/01035-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01036/01036-results.csv b/models/sbml-test-suite/cases/semantic/01036/01036-results.csv
new file mode 100644
index 0000000..215f8b9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01036/01036-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.16,0.9228405801437049,0.4228405801437048,0.07715941985629527
+0.32,0.8628834426659975,0.3628834426659973,0.1371165573340026
+0.48,0.8152862880754407,0.3152862880754404,0.1847137119245595
+0.64,0.7768556011371181,0.2768556011371177,0.2231443988628822
+0.8,0.745399430992763,0.2453994309927627,0.2546005690072372
+0.96,0.7193629821149248,0.2193629821149245,0.2806370178850752
+1.12,0.6976126118372334,0.1976126118372329,0.3023873881627668
+1.28,0.6793022038744743,0.1793022038744738,0.320697796125526
+1.44,0.6637874475355404,0.1637874475355398,0.33621255246446
+1.6,0.6505691257472551,0.1505691257472544,0.3494308742527453
+1.76,0.6392545468894025,0.1392545468894019,0.3607454531105978
+1.92,0.6295307015411671,0.1295307015411665,0.3704692984588332
+2.08,0.621145167873466,0.1211451678734655,0.3788548321265342
+2.24,0.6138922886130385,0.1138922886130379,0.3861077113869617
+2.4,0.6076029747342909,0.1076029747342902,0.3923970252657094
+2.56,0.6021370826189522,0.1021370826189515,0.3978629173810481
+2.72,0.5973776250826029,0.09737762508260218,0.4026223749173975
+2.88,0.5932263260660724,0.09322632606607168,0.4067736739339279
+3.04,0.5896001643139148,0.08960016431391415,0.4103998356860855
+3.2,0.5864286508733929,0.08642865087339232,0.4135713491266073
+3.36,0.5836516746138797,0.08365167461387919,0.4163483253861204
+3.52,0.5812177679909623,0.08121776799096185,0.4187822320090378
+3.68,0.5790827158027123,0.07908271580271181,0.4209172841972879
+3.84,0.5772084094525126,0.07720840945251199,0.4227915905474878
+4.,0.5755619159020228,0.07556191590202221,0.4244380840979776
+4.16,0.5741147046451594,0.07411470464515876,0.4258852953548411
+4.32,0.5728420053718552,0.07284200537185471,0.4271579946281451
+4.48,0.571722271727322,0.07172227172732155,0.4282777282726782
+4.64,0.5707367297729324,0.07073672977293196,0.4292632702270678
+4.8,0.5698689957940575,0.06986899579405705,0.4301310042059427
+4.96,0.569104753161606,0.06910475316160555,0.4308952468383942
+5.12,0.5684314770180706,0.06843147701807009,0.4315685229819297
+5.28,0.5678381988582296,0.06783819885822908,0.4321618011417706
+5.44,0.5673153048218131,0.06731530482181258,0.4326846951781871
+5.6,0.566854358434863,0.06685435843486262,0.433145641565137
+5.76,0.566447955920312,0.06644795592031153,0.4335520440796882
+5.92,0.5660895904060562,0.06608959040605577,0.433910409593944
+6.08,0.5657735451113702,0.06577354511136983,0.4342264548886299
+6.24,0.5654947899647307,0.06549478996473032,0.4345052100352694
+6.4,0.565248902280204,0.06524890228020352,0.4347510977197963
+6.56,0.5650319872169602,0.0650319872169597,0.4349680127830401
+6.72,0.5648406159676328,0.06484061596763227,0.4351593840323675
+6.88,0.5646717697543068,0.06467176975430637,0.4353282302456933
+7.04,0.5645227883366071,0.06452278833660664,0.435477211663393
+7.2,0.5643913272263778,0.0643913272263773,0.4356086727736224
+7.36,0.5642753210092091,0.06427532100920867,0.435724678990791
+7.52,0.5641729486890769,0.06417294868907637,0.4358270513109233
+7.68,0.5640826044113952,0.06408260441139469,0.4359173955886049
+7.84,0.5640028724214929,0.06400287242149235,0.4359971275785072
+8.,0.5639325043291322,0.0639325043291317,0.436067495670868
diff --git a/models/sbml-test-suite/cases/semantic/01036/01036-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01036/01036-sbml-l2v4.xml
new file mode 100644
index 0000000..d3a6784
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01036/01036-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01036" id="case01036" name="case01036">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01036/01036-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01036/01036-sbml-l3v1.xml
new file mode 100644
index 0000000..b1b09e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01036/01036-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01036" id="case01036" name="case01036" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01036/01036-settings.txt b/models/sbml-test-suite/cases/semantic/01036/01036-settings.txt
new file mode 100644
index 0000000..ed20bce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01036/01036-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01037/01037-results.csv b/models/sbml-test-suite/cases/semantic/01037/01037-results.csv
new file mode 100644
index 0000000..73071d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01037/01037-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.2,0.9064645346409043,0.4064645346409041,0.09353546535909597
+0.4,0.837768668416168,0.3377686684161677,0.1622313315838322
+0.6,0.7857368097117591,0.2857368097117588,0.214263190288241
+0.8,0.745399430992763,0.2453994309927627,0.2546005690072372
+1.,0.7135607449682854,0.2135607449682851,0.2864392550317146
+1.2,0.6880716385294087,0.1880716385294082,0.3119283614705916
+1.4,0.6674334125830857,0.1674334125830851,0.3325665874169146
+1.6,0.6505691257472551,0.1505691257472544,0.3494308742527453
+1.8,0.6366852274857909,0.1366852274857902,0.3633147725142094
+2.,0.6251844605317147,0.1251844605317142,0.3748155394682856
+2.2,0.615609115107369,0.1156091151073684,0.3843908848926312
+2.4,0.6076029747342909,0.1076029747342902,0.3923970252657094
+2.6,0.6008851193163851,0.1008851193163844,0.3991148806836152
+2.8,0.595231466781812,0.09523146678181128,0.4047685332181884
+3.,0.5904615198658586,0.09046151986585789,0.4095384801341417
+3.2,0.5864286508733929,0.08642865087339232,0.4135713491266073
+3.4,0.5830128764921798,0.08301287649217924,0.4169871235078204
+3.6,0.5801153982812329,0.08011539828123236,0.4198846017187673
+3.8,0.5776544232306821,0.07765442323068157,0.4223455767693182
+4.,0.5755619159020228,0.07556191590202221,0.4244380840979776
+4.2,0.573781062090809,0.07378106209080839,0.4262189379091915
+4.4,0.5722642513885463,0.07226425138854579,0.427735748611454
+4.6,0.5709714689156221,0.07097146891562164,0.4290285310843781
+4.8,0.5698689957940575,0.06986899579405705,0.4301310042059427
+5.,0.5689283590451259,0.06892835904512546,0.4310716409548743
+5.2,0.568125468409091,0.06812546840909053,0.4318745315909092
+5.4,0.5674399095194768,0.06743990951947634,0.4325600904805234
+5.6,0.566854358434863,0.06685435843486262,0.433145641565137
+5.8,0.5663540968173325,0.06635409681733202,0.4336459031826677
+6.,0.5659266071883154,0.06592660718831504,0.4340733928116847
+6.2,0.5655612345007755,0.06556123450077504,0.4344387654992247
+6.4,0.565248902280204,0.06524890228020352,0.4347510977197963
+6.6,0.5649818739294438,0.06498187392944339,0.4350181260705564
+6.8,0.564753551666755,0.06475355166675445,0.4352464483332453
+7.,0.5645583044339713,0.06455830443397084,0.4354416955660289
+7.2,0.5643913272263778,0.0643913272263773,0.4356086727736224
+7.4,0.5642485160900182,0.06424851609001777,0.4357514839099819
+7.6,0.5641263655419253,0.06412636554192478,0.4358736344580749
+7.8,0.5640218815013897,0.06402188150138928,0.4359781184986104
+8.,0.5639325042038095,0.06393250420380906,0.4360674957961905
+8.2,0.5638560468630666,0.06385604686306611,0.4361439531369336
+8.4,0.5637906393610657,0.06379063936106535,0.4362093606389344
+8.6,0.563734683226023,0.06373468322602254,0.4362653167739771
+8.8,0.5636868115884714,0.06368681158847103,0.4363131884115286
+9.,0.5636458554120057,0.06364585541200543,0.4363541445879942
+9.2,0.5636108152403256,0.06361081524032531,0.4363891847596743
+9.4,0.5635808358786997,0.06358083587869949,0.4364191641213002
+9.6,0.5635551862126798,0.06355518621267941,0.4364448137873203
+9.8,0.563533240585486,0.06353324058548559,0.4364667594145141
+10.,0.5635144639882953,0.06351446398829473,0.4364855360117049
diff --git a/models/sbml-test-suite/cases/semantic/01037/01037-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01037/01037-sbml-l2v4.xml
new file mode 100644
index 0000000..0fa7567
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01037/01037-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01037" id="case01037" name="case01037">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+      <parameter id="p1" name="p1" value="0.5"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01037/01037-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01037/01037-sbml-l3v1.xml
new file mode 100644
index 0000000..eb4ed88
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01037/01037-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01037" id="case01037" name="case01037" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01037/01037-settings.txt b/models/sbml-test-suite/cases/semantic/01037/01037-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01037/01037-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01038/01038-results.csv b/models/sbml-test-suite/cases/semantic/01038/01038-results.csv
new file mode 100644
index 0000000..2fd3cbd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01038/01038-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.8611916481236175,0.6388083518763824,0.1388083518763821
+0.12,0.742818188707881,0.7571818112921189,0.2571818112921184
+0.18,0.6421587466200794,0.8578412533799205,0.3578412533799201
+0.24,0.5567698660893156,0.9432301339106843,0.4432301339106841
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784
+0.36,0.423396611695567,1.076603388304433,0.5766033883044325
+0.42,0.3718491604228449,1.128150839577155,0.6281508395771547
+0.48,0.3284057339127614,1.171594266087238,0.6715942660872382
+0.54,0.2918305953106844,1.208169404689316,0.7081694046893153
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048
+0.66,0.2352054618966362,1.264794538103364,0.7647945381033636
+0.72,0.2134831034919577,1.286516896508043,0.7865168965080421
+0.78,0.1952455977991957,1.304754402200804,0.8047544022008041
+0.84,0.1799406307183346,1.320059369281665,0.8200593692816653
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173
+0.96,0.1563339731541778,1.343666026845822,0.8436660268458219
+1.02,0.1473064003611048,1.352693599638895,0.8526935996388949
+1.08,0.1397391890453404,1.360260810954659,0.8602608109546594
+1.14,0.1333972563400889,1.366602743659911,0.8666027436599108
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788
+1.26,0.1236305134734752,1.376369486526525,0.8763694865265245
+1.32,0.1199004104073578,1.380099589592642,0.880099589592642
+1.38,0.1167757792592841,1.383224220740715,0.8832242207407158
+1.44,0.1141585356482175,1.385841464351782,0.8858414643517822
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567
+1.56,0.1101304979990865,1.389869502000913,0.8898695020009133
+1.62,0.1085929404689462,1.391407059531053,0.8914070595310535
+1.68,0.1073053121259106,1.392694687874089,0.8926946878740892
+1.74,0.1062270187403269,1.393772981259673,0.8937729812596729
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277
+1.86,0.1045679230421565,1.395432076957843,0.8954320769578433
+1.92,0.103934763790581,1.396065236209419,0.8960652362094186
+1.98,0.1034045831933456,1.396595416806654,0.896595416806654
+2.04,0.1029606381511902,1.39703936184881,0.8970393618488093
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692
+2.16,0.1022776455050206,1.397722354494979,0.8977223544949789
+2.22,0.1020170191696785,1.397982980830321,0.8979829808303211
+2.28,0.1017987917516301,1.39820120824837,0.8982012082483694
+2.34,0.1016160669908156,1.398383933009184,0.898383933009184
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076
+2.46,0.1013349644977458,1.398665035502254,0.8986650355022538
+2.52,0.1012277011915454,1.398772298808455,0.8987722988084542
+2.58,0.1011378893337681,1.398862110666232,0.8988621106662315
+2.64,0.1010626899097442,1.398937310090256,0.8989373100902554
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379
+2.76,0.1009470057227274,1.399052994277273,0.8990529942772722
+2.82,0.1009028634667915,1.399097136533209,0.8990971365332081
+2.88,0.1008659034395489,1.399134096560451,0.8991340965604509
+2.94,0.1008349570163807,1.399165042983619,0.8991650429836192
+3.,0.1008090457514055,1.399190954248594,0.8991909542485944
diff --git a/models/sbml-test-suite/cases/semantic/01038/01038-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01038/01038-sbml-l1v2.xml
new file mode 100644
index 0000000..f925aee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01038/01038-sbml-l1v2.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01038">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <parameterRule formula="2.5" name="kf"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01038/01038-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01038/01038-sbml-l2v4.xml
new file mode 100644
index 0000000..48cc9f3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01038/01038-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01038" id="case01038" name="case01038">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" constant="false"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="kf">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 2.5 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01038/01038-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01038/01038-sbml-l3v1.xml
new file mode 100644
index 0000000..1779e0a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01038/01038-sbml-l3v1.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01038" id="case01038" name="case01038" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" constant="false"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="kf">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 2.5 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01038/01038-settings.txt b/models/sbml-test-suite/cases/semantic/01038/01038-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01038/01038-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01039/01039-results.csv b/models/sbml-test-suite/cases/semantic/01039/01039-results.csv
new file mode 100644
index 0000000..9215625
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01039/01039-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0.5,0,0.5
+0.06,0.8611916481236175,0.6388083518763824,0.1388083518763821,0.4305958240618088
+0.12,0.742818188707881,0.7571818112921189,0.2571818112921184,0.3714090943539405
+0.18,0.6421587466200794,0.8578412533799205,0.3578412533799201,0.3210793733100397
+0.24,0.5567698660893156,0.9432301339106843,0.4432301339106841,0.2783849330446578
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784,0.2422419274476078
+0.36,0.423396611695567,1.076603388304433,0.5766033883044325,0.2116983058477835
+0.42,0.3718491604228449,1.128150839577155,0.6281508395771547,0.1859245802114224
+0.48,0.3284057339127614,1.171594266087238,0.6715942660872382,0.1642028669563807
+0.54,0.2918305953106844,1.208169404689316,0.7081694046893153,0.1459152976553422
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048,0.1305325229856974
+0.66,0.2352054618966362,1.264794538103364,0.7647945381033636,0.1176027309483181
+0.72,0.2134831034919577,1.286516896508043,0.7865168965080421,0.1067415517459788
+0.78,0.1952455977991957,1.304754402200804,0.8047544022008041,0.09762279889959786
+0.84,0.1799406307183346,1.320059369281665,0.8200593692816653,0.0899703153591673
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173,0.08355069648719132
+0.96,0.1563339731541778,1.343666026845822,0.8436660268458219,0.07816698657708894
+1.02,0.1473064003611048,1.352693599638895,0.8526935996388949,0.0736532001805524
+1.08,0.1397391890453404,1.360260810954659,0.8602608109546594,0.0698695945226702
+1.14,0.1333972563400889,1.366602743659911,0.8666027436599108,0.06669862817004448
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788,0.06404150979631041
+1.26,0.1236305134734752,1.376369486526525,0.8763694865265245,0.06181525673673762
+1.32,0.1199004104073578,1.380099589592642,0.880099589592642,0.05995020520367892
+1.38,0.1167757792592841,1.383224220740715,0.8832242207407158,0.05838788962964206
+1.44,0.1141585356482175,1.385841464351782,0.8858414643517822,0.05707926782410877
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567,0.05598321421662153
+1.56,0.1101304979990865,1.389869502000913,0.8898695020009133,0.05506524899954327
+1.62,0.1085929404689462,1.391407059531053,0.8914070595310535,0.0542964702344731
+1.68,0.1073053121259106,1.392694687874089,0.8926946878740892,0.05365265606295532
+1.74,0.1062270187403269,1.393772981259673,0.8937729812596729,0.05311350937016346
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277,0.05266202622433605
+1.86,0.1045679230421565,1.395432076957843,0.8954320769578433,0.05228396152107829
+1.92,0.103934763790581,1.396065236209419,0.8960652362094186,0.05196738189529052
+1.98,0.1034045831933456,1.396595416806654,0.896595416806654,0.05170229159667284
+2.04,0.1029606381511902,1.39703936184881,0.8970393618488093,0.05148031907559511
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692,0.05129445340456523
+2.16,0.1022776455050206,1.397722354494979,0.8977223544949789,0.05113882275251034
+2.22,0.1020170191696785,1.397982980830321,0.8979829808303211,0.05100850958483927
+2.28,0.1017987917516301,1.39820120824837,0.8982012082483694,0.05089939587581507
+2.34,0.1016160669908156,1.398383933009184,0.898383933009184,0.0508080334954078
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076,0.05073153495649602
+2.46,0.1013349644977458,1.398665035502254,0.8986650355022538,0.05066748224887293
+2.52,0.1012277011915454,1.398772298808455,0.8987722988084542,0.05061385059577272
+2.58,0.1011378893337681,1.398862110666232,0.8988621106662315,0.05056894466688405
+2.64,0.1010626899097442,1.398937310090256,0.8989373100902554,0.05053134495487214
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379,0.0504998627963309
+2.76,0.1009470057227274,1.399052994277273,0.8990529942772722,0.05047350286136373
+2.82,0.1009028634667915,1.399097136533209,0.8990971365332081,0.05045143173339578
+2.88,0.1008659034395489,1.399134096560451,0.8991340965604509,0.05043295171977445
+2.94,0.1008349570163807,1.399165042983619,0.8991650429836192,0.05041747850819035
+3.,0.1008090457514055,1.399190954248594,0.8991909542485944,0.05040452287570278
diff --git a/models/sbml-test-suite/cases/semantic/01039/01039-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01039/01039-sbml-l1v2.xml
new file mode 100644
index 0000000..07896ca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01039/01039-sbml-l1v2.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01039">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="NaN" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.5 * S1" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01039/01039-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01039/01039-sbml-l2v4.xml
new file mode 100644
index 0000000..52876cc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01039/01039-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01039" id="case01039" name="case01039">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01039/01039-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01039/01039-sbml-l3v1.xml
new file mode 100644
index 0000000..0dd01ab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01039/01039-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01039" id="case01039" name="case01039" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01039/01039-settings.txt b/models/sbml-test-suite/cases/semantic/01039/01039-settings.txt
new file mode 100644
index 0000000..d8011d9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01039/01039-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01040/01040-results.csv b/models/sbml-test-suite/cases/semantic/01040/01040-results.csv
new file mode 100644
index 0000000..afafa8d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01040/01040-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0.5,0,0.5
+0.1,0.7801790747220285,0.7198209252779714,0.2198209252779709,0.3900895373610142
+0.2,0.6121116963789492,0.8878883036210507,0.3878883036210504,0.3060558481894746
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784,0.2422419274476078
+0.4,0.3880646348602712,1.111935365139728,0.6119353651397283,0.1940323174301356
+0.5,0.3155065934670892,1.184493406532911,0.6844934065329104,0.1577532967335446
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048,0.1305325229856974
+0.7,0.2203066768115224,1.279693323188478,0.7796933231884773,0.1101533384057612
+0.8,0.1898427909551363,1.310157209044864,0.8101572090448636,0.09492139547756817
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173,0.08355069648719132
+1.,0.150140515363472,1.349859484636528,0.8498594846365277,0.07507025768173604
+1.1,0.1374995341824785,1.362500465817521,0.8625004658175212,0.06874976709123929
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788,0.06404150979631041
+1.3,0.1210711462304827,1.378928853769517,0.8789288537695171,0.06053557311524135
+1.4,0.1158513466263468,1.384148653373653,0.8841486533736531,0.0579256733131734
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567,0.05598321421662153
+1.6,0.1090754722842808,1.390924527715719,0.890924527715719,0.0545377361421404
+1.7,0.1069244240624349,1.393075575937565,0.8930755759375649,0.05346221203121747
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277,0.05266202622433605
+1.9,0.1041334594443718,1.395866540555628,0.8958665405556279,0.0520667297221859
+2.,0.1032477631469481,1.396752236853052,0.8967522368530515,0.05162388157347407
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692,0.05129445340456523
+2.2,0.1020988064560762,1.397901193543924,0.8979011935439233,0.05104940322803813
+2.3,0.101734245069293,1.398265754930707,0.8982657549307065,0.05086712253464652
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076,0.05073153495649602
+2.5,0.1012613613416976,1.398738638658302,0.898738638658302,0.05063068067084881
+2.6,0.1011113254183241,1.398888674581676,0.8988886745816756,0.05055566270916205
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379,0.0504998627963309
+2.8,0.1009167157011023,1.399083284298898,0.8990832842988972,0.05045835785055118
+2.9,0.100854971702119,1.399145028297881,0.8991450282978807,0.05042748585105952
+3.,0.1008090456985285,1.399190954301471,0.8991909543014713,0.05040452284926428
+3.1,0.1007748854718443,1.399225114528156,0.8992251145281555,0.05038744273592216
+3.2,0.1007494766411436,1.399250523358856,0.8992505233588563,0.0503747383205718
+3.3,0.1007305773648939,1.399269422635106,0.899269422635106,0.05036528868244698
+3.4,0.1007165199256037,1.399283480074396,0.899283480074396,0.05035825996280186
+3.5,0.1007060638721755,1.399293936127824,0.8992939361278243,0.05035303193608777
+3.6,0.1006982865587182,1.399301713441282,0.8993017134412816,0.05034914327935913
+3.7,0.1006925017316733,1.399307498268327,0.8993074982683265,0.05034625086583665
+3.8,0.1006881989303313,1.399311801069669,0.8993118010696685,0.05034409946516567
+3.9,0.1006849984723328,1.399315001527667,0.899315001527667,0.05034249923616643
+4.,0.1006826179464744,1.399317382053526,0.8993173820535256,0.0503413089732372
+4.1,0.1006808472928433,1.399319152707157,0.8993191527071566,0.05034042364642168
+4.2,0.100679530267059,1.399320469732941,0.8993204697329412,0.0503397651335295
+4.3,0.1006785506532387,1.399321449346761,0.8993214493467613,0.05033927532661938
+4.4,0.1006778220090586,1.399322177990941,0.8993221779909415,0.05033891100452934
+4.5,0.100677280038026,1.399322719961974,0.8993227199619741,0.05033864001901304
+4.6,0.1006768769159033,1.399323123084097,0.8993231230840969,0.05033843845795164
+4.7,0.1006765770696654,1.399323422930335,0.8993234229303348,0.0503382885348327
+4.8,0.1006763540428806,1.399323645957119,0.8993236459571195,0.05033817702144034
+4.9,0.1006761881543798,1.39932381184562,0.8993238118456203,0.05033809407718994
+5.,0.1006760647649644,1.399323935235036,0.8993239352350358,0.05033803238248223
diff --git a/models/sbml-test-suite/cases/semantic/01040/01040-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01040/01040-sbml-l1v2.xml
new file mode 100644
index 0000000..f301338
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01040/01040-sbml-l1v2.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01040">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.5 * S1" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01040/01040-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01040/01040-sbml-l2v4.xml
new file mode 100644
index 0000000..8b1eda1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01040/01040-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01040" id="case01040" name="case01040">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01040/01040-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01040/01040-sbml-l3v1.xml
new file mode 100644
index 0000000..21e08be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01040/01040-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01040" id="case01040" name="case01040" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01040/01040-settings.txt b/models/sbml-test-suite/cases/semantic/01040/01040-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01040/01040-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01041/01041-results.csv b/models/sbml-test-suite/cases/semantic/01041/01041-results.csv
new file mode 100644
index 0000000..afafa8d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01041/01041-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0.5,0,0.5
+0.1,0.7801790747220285,0.7198209252779714,0.2198209252779709,0.3900895373610142
+0.2,0.6121116963789492,0.8878883036210507,0.3878883036210504,0.3060558481894746
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784,0.2422419274476078
+0.4,0.3880646348602712,1.111935365139728,0.6119353651397283,0.1940323174301356
+0.5,0.3155065934670892,1.184493406532911,0.6844934065329104,0.1577532967335446
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048,0.1305325229856974
+0.7,0.2203066768115224,1.279693323188478,0.7796933231884773,0.1101533384057612
+0.8,0.1898427909551363,1.310157209044864,0.8101572090448636,0.09492139547756817
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173,0.08355069648719132
+1.,0.150140515363472,1.349859484636528,0.8498594846365277,0.07507025768173604
+1.1,0.1374995341824785,1.362500465817521,0.8625004658175212,0.06874976709123929
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788,0.06404150979631041
+1.3,0.1210711462304827,1.378928853769517,0.8789288537695171,0.06053557311524135
+1.4,0.1158513466263468,1.384148653373653,0.8841486533736531,0.0579256733131734
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567,0.05598321421662153
+1.6,0.1090754722842808,1.390924527715719,0.890924527715719,0.0545377361421404
+1.7,0.1069244240624349,1.393075575937565,0.8930755759375649,0.05346221203121747
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277,0.05266202622433605
+1.9,0.1041334594443718,1.395866540555628,0.8958665405556279,0.0520667297221859
+2.,0.1032477631469481,1.396752236853052,0.8967522368530515,0.05162388157347407
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692,0.05129445340456523
+2.2,0.1020988064560762,1.397901193543924,0.8979011935439233,0.05104940322803813
+2.3,0.101734245069293,1.398265754930707,0.8982657549307065,0.05086712253464652
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076,0.05073153495649602
+2.5,0.1012613613416976,1.398738638658302,0.898738638658302,0.05063068067084881
+2.6,0.1011113254183241,1.398888674581676,0.8988886745816756,0.05055566270916205
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379,0.0504998627963309
+2.8,0.1009167157011023,1.399083284298898,0.8990832842988972,0.05045835785055118
+2.9,0.100854971702119,1.399145028297881,0.8991450282978807,0.05042748585105952
+3.,0.1008090456985285,1.399190954301471,0.8991909543014713,0.05040452284926428
+3.1,0.1007748854718443,1.399225114528156,0.8992251145281555,0.05038744273592216
+3.2,0.1007494766411436,1.399250523358856,0.8992505233588563,0.0503747383205718
+3.3,0.1007305773648939,1.399269422635106,0.899269422635106,0.05036528868244698
+3.4,0.1007165199256037,1.399283480074396,0.899283480074396,0.05035825996280186
+3.5,0.1007060638721755,1.399293936127824,0.8992939361278243,0.05035303193608777
+3.6,0.1006982865587182,1.399301713441282,0.8993017134412816,0.05034914327935913
+3.7,0.1006925017316733,1.399307498268327,0.8993074982683265,0.05034625086583665
+3.8,0.1006881989303313,1.399311801069669,0.8993118010696685,0.05034409946516567
+3.9,0.1006849984723328,1.399315001527667,0.899315001527667,0.05034249923616643
+4.,0.1006826179464744,1.399317382053526,0.8993173820535256,0.0503413089732372
+4.1,0.1006808472928433,1.399319152707157,0.8993191527071566,0.05034042364642168
+4.2,0.100679530267059,1.399320469732941,0.8993204697329412,0.0503397651335295
+4.3,0.1006785506532387,1.399321449346761,0.8993214493467613,0.05033927532661938
+4.4,0.1006778220090586,1.399322177990941,0.8993221779909415,0.05033891100452934
+4.5,0.100677280038026,1.399322719961974,0.8993227199619741,0.05033864001901304
+4.6,0.1006768769159033,1.399323123084097,0.8993231230840969,0.05033843845795164
+4.7,0.1006765770696654,1.399323422930335,0.8993234229303348,0.0503382885348327
+4.8,0.1006763540428806,1.399323645957119,0.8993236459571195,0.05033817702144034
+4.9,0.1006761881543798,1.39932381184562,0.8993238118456203,0.05033809407718994
+5.,0.1006760647649644,1.399323935235036,0.8993239352350358,0.05033803238248223
diff --git a/models/sbml-test-suite/cases/semantic/01041/01041-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01041/01041-sbml-l1v2.xml
new file mode 100644
index 0000000..7638e8c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01041/01041-sbml-l1v2.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01041">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="-0.5 * (kf * S1 + -1 * kr * S2 * S3)" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01041/01041-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01041/01041-sbml-l2v4.xml
new file mode 100644
index 0000000..e88e976
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01041/01041-sbml-l2v4.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01041" id="case01041" name="case01041">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <ci> kf </ci>
+                <ci> S1 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> kr </ci>
+                <ci> S2 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01041/01041-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01041/01041-sbml-l3v1.xml
new file mode 100644
index 0000000..8d00a17
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01041/01041-sbml-l3v1.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01041" id="case01041" name="case01041" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <apply>
+              <plus/>
+             <apply>
+                <times/>
+                <ci> kf </ci>
+                <ci> S1 </ci>
+              </apply>
+             <apply>
+                <times/>
+                <cn type="integer"> -1 </cn>
+                <ci> kr </ci>
+                <ci> S2 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01041/01041-settings.txt b/models/sbml-test-suite/cases/semantic/01041/01041-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01041/01041-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01042/01042-results.csv b/models/sbml-test-suite/cases/semantic/01042/01042-results.csv
new file mode 100644
index 0000000..c563a55
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01042/01042-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0.5,0,0.5
+0.1,0.7801790747220285,0.7198209252779714,0.2198209252779709,0.4557375487840984
+0.2,0.6121116963789492,0.8878883036210507,0.3878883036210504,0.4211207135927536
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784,0.3938535566649621
+0.4,0.3880646348602712,1.111935365139728,0.6119353651397283,0.3721532353908088
+0.5,0.3155065934670892,1.184493406532911,0.6844934065329104,0.3546502975515459
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048,0.3403013614555225
+0.7,0.2203066768115224,1.279693323188478,0.7796933231884773,0.3283163173859176
+0.8,0.1898427909551363,1.310157209044864,0.8101572090448636,0.3180995697322399
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173,0.3092036774136737
+1.,0.150140515363472,1.349859484636528,0.8498594846365277,0.3012933537281957
+1.1,0.1374995341824785,1.362500465817521,0.8625004658175212,0.2941178283141694
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788,0.2874898104658963
+1.3,0.1210711462304827,1.378928853769517,0.8789288537695171,0.2812695626208534
+1.4,0.1158513466263468,1.384148653373653,0.8841486533736531,0.2753529128061207
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567,0.2696622439738466
+1.6,0.1090754722842808,1.390924527715719,0.890924527715719,0.2641397517376596
+1.7,0.1069244240624349,1.393075575937565,0.8930755759375649,0.2587424005512847
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277,0.2534381579190082
+1.9,0.1041334594443718,1.395866540555628,0.8958665405556279,0.2482031854428586
+2.,0.1032477631469481,1.396752236853052,0.8967522368530515,0.2430197451041492
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692,0.2378746394445043
+2.2,0.1020988064560762,1.397901193543924,0.8979011935439233,0.2327580500023795
+2.3,0.101734245069293,1.398265754930707,0.8982657549307065,0.2276626725728712
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076,0.2225830735920257
+2.5,0.1012613613416976,1.398738638658302,0.898738638658302,0.2175152111796216
+2.6,0.1011113254183241,1.398888674581676,0.8988886745816756,0.2124560787583432
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379,0.2074034399047666
+2.8,0.1009167157011023,1.399083284298898,0.8990832842988972,0.2023556310891437
+2.9,0.100854971702119,1.399145028297881,0.8991450282978807,0.1973114149327459
+3.,0.1008090456985285,1.399190954301471,0.8991909543014713,0.1922698710452023
+3.1,0.1007748854718443,1.399225114528156,0.8992251145281555,0.1872303148380787
+3.2,0.1007494766411436,1.399250523358856,0.8992505233588563,0.182192237062553
+3.3,0.1007305773648939,1.399269422635106,0.899269422635106,0.1771552589855481
+3.4,0.1007165199256037,1.399283480074396,0.899283480074396,0.1721190988672962
+3.5,0.1007060638721755,1.399293936127824,0.8992939361278243,0.1670835471502343
+3.6,0.1006982865587182,1.399301713441282,0.8993017134412816,0.1620484479662512
+3.7,0.1006925017316733,1.399307498268327,0.8993074982683265,0.1570136853827041
+3.8,0.1006881989303313,1.399311801069669,0.8993118010696685,0.1519791731647788
+3.9,0.1006849984723328,1.399315001527667,0.899315001527667,0.146944847170825
+4.,0.1006826179464744,1.399317382053526,0.8993173820535256,0.1419106596917477
+4.1,0.1006808472928433,1.399319152707157,0.8993191527071566,0.1368765752411337
+4.2,0.100679530267059,1.399320469732941,0.8993204697329412,0.1318425674238971
+4.3,0.1006785506532387,1.399321449346761,0.8993214493467613,0.1268086166071598
+4.4,0.1006778220090586,1.399322177990941,0.8993221779909415,0.1217747081878307
+4.5,0.100677280038026,1.399322719961974,0.8993227199619741,0.1167408313040166
+4.6,0.1006768769159033,1.399323123084097,0.8993231230840969,0.1117069778765573
+4.7,0.1006765770696654,1.399323422930335,0.8993234229303348,0.1066731418959446
+4.8,0.1006763540428806,1.399323645957119,0.8993236459571195,0.1016393188927775
+4.9,0.1006761881543798,1.39932381184562,0.8993238118456203,0.09660550554222988
+5.,0.1006760647649644,1.399323935235036,0.8993239352350358,0.09157169937123783
diff --git a/models/sbml-test-suite/cases/semantic/01042/01042-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01042/01042-sbml-l1v2.xml
new file mode 100644
index 0000000..8fe2179
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01042/01042-sbml-l1v2.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01042">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="-0.5 * S1" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01042/01042-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01042/01042-sbml-l2v4.xml
new file mode 100644
index 0000000..a71bba0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01042/01042-sbml-l2v4.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01042" id="case01042" name="case01042">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01042/01042-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01042/01042-sbml-l3v1.xml
new file mode 100644
index 0000000..9eeb5bf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01042/01042-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01042" id="case01042" name="case01042" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01042/01042-settings.txt b/models/sbml-test-suite/cases/semantic/01042/01042-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01042/01042-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01043/01043-results.csv b/models/sbml-test-suite/cases/semantic/01043/01043-results.csv
new file mode 100644
index 0000000..f204f09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01043/01043-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,0.5,0,0.5
+0.1,0.7801790747220285,0.7198209252779714,0.2198209252779709,0.5149999999999997
+0.2,0.6121116963789492,0.8878883036210507,0.3878883036210504,0.5299999999999999
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784,0.5450000000000001
+0.4,0.3880646348602712,1.111935365139728,0.6119353651397283,0.5600000000000003
+0.5,0.3155065934670892,1.184493406532911,0.6844934065329104,0.5750000000000004
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048,0.5900000000000003
+0.7,0.2203066768115224,1.279693323188478,0.7796933231884773,0.6050000000000003
+0.8,0.1898427909551363,1.310157209044864,0.8101572090448636,0.6200000000000003
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173,0.6350000000000002
+1.,0.150140515363472,1.349859484636528,0.8498594846365277,0.6500000000000002
+1.1,0.1374995341824785,1.362500465817521,0.8625004658175212,0.6650000000000003
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788,0.6800000000000003
+1.3,0.1210711462304827,1.378928853769517,0.8789288537695171,0.6950000000000005
+1.4,0.1158513466263468,1.384148653373653,0.8841486533736531,0.7100000000000005
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567,0.7250000000000006
+1.6,0.1090754722842808,1.390924527715719,0.890924527715719,0.7400000000000007
+1.7,0.1069244240624349,1.393075575937565,0.8930755759375649,0.7550000000000008
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277,0.770000000000001
+1.9,0.1041334594443718,1.395866540555628,0.8958665405556279,0.785000000000001
+2.,0.1032477631469481,1.396752236853052,0.8967522368530515,0.800000000000001
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692,0.8150000000000011
+2.2,0.1020988064560762,1.397901193543924,0.8979011935439233,0.8300000000000011
+2.3,0.101734245069293,1.398265754930707,0.8982657549307065,0.8450000000000009
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076,0.8600000000000008
+2.5,0.1012613613416976,1.398738638658302,0.898738638658302,0.8750000000000007
+2.6,0.1011113254183241,1.398888674581676,0.8988886745816756,0.8900000000000006
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379,0.9050000000000005
+2.8,0.1009167157011023,1.399083284298898,0.8990832842988972,0.9200000000000004
+2.9,0.100854971702119,1.399145028297881,0.8991450282978807,0.9350000000000006
+3.,0.1008090456985285,1.399190954301471,0.8991909543014713,0.9500000000000006
+3.1,0.1007748854718443,1.399225114528156,0.8992251145281555,0.9650000000000006
+3.2,0.1007494766411436,1.399250523358856,0.8992505233588563,0.9800000000000006
+3.3,0.1007305773648939,1.399269422635106,0.899269422635106,0.9950000000000006
+3.4,0.1007165199256037,1.399283480074396,0.899283480074396,1.01
+3.5,0.1007060638721755,1.399293936127824,0.8992939361278243,1.025
+3.6,0.1006982865587182,1.399301713441282,0.8993017134412816,1.04
+3.7,0.1006925017316733,1.399307498268327,0.8993074982683265,1.055
+3.8,0.1006881989303313,1.399311801069669,0.8993118010696685,1.07
+3.9,0.1006849984723328,1.399315001527667,0.899315001527667,1.085
+4.,0.1006826179464744,1.399317382053526,0.8993173820535256,1.1
+4.1,0.1006808472928433,1.399319152707157,0.8993191527071566,1.115
+4.2,0.100679530267059,1.399320469732941,0.8993204697329412,1.13
+4.3,0.1006785506532387,1.399321449346761,0.8993214493467613,1.145
+4.4,0.1006778220090586,1.399322177990941,0.8993221779909415,1.16
+4.5,0.100677280038026,1.399322719961974,0.8993227199619741,1.175
+4.6,0.1006768769159033,1.399323123084097,0.8993231230840969,1.19
+4.7,0.1006765770696654,1.399323422930335,0.8993234229303348,1.205000000000001
+4.8,0.1006763540428806,1.399323645957119,0.8993236459571195,1.22
+4.9,0.1006761881543798,1.39932381184562,0.8993238118456203,1.235000000000001
+5.,0.1006760647649644,1.399323935235036,0.8993239352350358,1.25
diff --git a/models/sbml-test-suite/cases/semantic/01043/01043-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01043/01043-sbml-l1v2.xml
new file mode 100644
index 0000000..5011284
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01043/01043-sbml-l1v2.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01043">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.5" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <speciesConcentrationRule formula="0.15" type="rate" species="S4"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01043/01043-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01043/01043-sbml-l2v4.xml
new file mode 100644
index 0000000..6697a44
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01043/01043-sbml-l2v4.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01043" id="case01043" name="case01043">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01043/01043-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01043/01043-sbml-l3v1.xml
new file mode 100644
index 0000000..2902ca2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01043/01043-sbml-l3v1.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01043" id="case01043" name="case01043" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.15 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01043/01043-settings.txt b/models/sbml-test-suite/cases/semantic/01043/01043-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01043/01043-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01044/01044-results.csv b/models/sbml-test-suite/cases/semantic/01044/01044-results.csv
new file mode 100644
index 0000000..82f6652
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01044/01044-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.5,0.01109831734297234,0.02109831734297235,0.008901682657027653
+1.,0.01205596357887534,0.02205596357887534,0.007944036421124652
+1.5,0.01289035436559064,0.02289035436559063,0.007109645634409356
+2.,0.01361689729357902,0.02361689729357902,0.006383102706420975
+2.5,0.01424918635922526,0.02424918635922525,0.00575081364077474
+3.,0.01479918733973938,0.02479918733973937,0.00520081266026062
+3.5,0.01527741152925639,0.02527741152925639,0.004722588470743607
+4.,0.01569307642393407,0.02569307642393406,0.004306923576065936
+4.5,0.01605425279220379,0.02605425279220378,0.003945747207796199
+5.,0.01636799812982478,0.02636799812982478,0.003632001870175214
+5.5,0.01664047692249411,0.0266404769224941,0.003359523077505892
+6.,0.01687706839540627,0.02687706839540626,0.003122931604593725
+6.5,0.01708246258471984,0.02708246258471984,0.002917537415280152
+7.,0.0172607456510575,0.0272607456510575,0.002739254348942494
+7.5,0.01741547538293725,0.02741547538293725,0.002584524617062744
+8.,0.01754974782404564,0.02754974782404564,0.00245025217595435
+8.5,0.01766625592279317,0.02766625592279316,0.002333744077206833
+9.,0.01776734105166957,0.02776734105166956,0.002232658948330433
+9.5,0.01785503818291608,0.02785503818291607,0.002144961817083925
+10.,0.01793111543975069,0.02793111543975069,0.002068884560249303
+10.5,0.01799710867793409,0.02799710867793409,0.002002891322065906
+11.,0.01805435168832897,0.02805435168832896,0.001945648311671037
+11.5,0.01810400254924281,0.02810400254924281,0.001895997450757194
+12.,0.01814706659964915,0.02814706659964914,0.001852933400350857
+12.5,0.0181844164522593,0.0281844164522593,0.001815583547740693
+13.,0.01821680941736087,0.02821680941736086,0.001783190582639134
+13.5,0.01824490266363758,0.02824490266363758,0.001755097336362412
+14.,0.01826926640437391,0.02826926640437391,0.001730733595626089
+14.5,0.01829039536087634,0.02829039536087634,0.001709604639123661
+15.,0.01830871872546244,0.02830871872546244,0.001691281274537559
+15.5,0.01832460881735896,0.02832460881735896,0.001675391182641043
+16.,0.01833838860111411,0.0283383886011141,0.001661611398885889
+16.5,0.01835033821548735,0.02835033821548734,0.001649661784512648
+17.,0.01836070064224323,0.02836070064224323,0.001639299357756759
+17.5,0.01836968662687984,0.02836968662687983,0.001630313373120156
+18.,0.0183774789496108,0.02837747894961079,0.001622521050389197
+18.5,0.01838423613204031,0.02838423613204031,0.001615763867959686
+19.,0.01839009565351237,0.02839009565351236,0.001609904346487635
+19.5,0.01839517674178259,0.02839517674178259,0.001604823258217414
+20.,0.01839958279428865,0.02839958279428864,0.001600417205711359
+20.5,0.01840340347862877,0.02840340347862876,0.001596596521371242
+21.,0.01840671655463322,0.02840671655463321,0.001593283445366789
+21.5,0.01840958945494197,0.02840958945494196,0.001590410545058042
+22.,0.01841208065597493,0.02841208065597493,0.001587919344025074
+22.5,0.0184142408670112,0.0284142408670112,0.001585759132988806
+23.,0.01841611406153009,0.02841611406153008,0.001583885938469927
+23.5,0.01841773837170507,0.02841773837170506,0.001582261628294944
+24.,0.01841914686414828,0.02841914686414828,0.001580853135851726
+24.5,0.01842036821268332,0.02842036821268332,0.001579631787316685
+25.,0.01842142728181884,0.02842142728181883,0.001578572718181171
diff --git a/models/sbml-test-suite/cases/semantic/01044/01044-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01044/01044-sbml-l1v2.xml
new file mode 100644
index 0000000..0ded026
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01044/01044-sbml-l1v2.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01044">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.01" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.02" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.01" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf"/>
+      <parameter name="kr" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="kf + -0.75"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 * S2 + -1 * kr * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01044/01044-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01044/01044-sbml-l2v4.xml
new file mode 100644
index 0000000..3dae765
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01044/01044-sbml-l2v4.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01044" id="case01044" name="case01044">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" constant="false"/>
+      <parameter id="kr" name="kr" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> kf </ci>
+            <cn> -0.75 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01044/01044-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01044/01044-sbml-l3v1.xml
new file mode 100644
index 0000000..d625a09
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01044/01044-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01044" id="case01044" name="case01044" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" constant="false"/>
+      <parameter id="kr" name="kr" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> kf </ci>
+            <cn> -0.75 </cn>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01044/01044-settings.txt b/models/sbml-test-suite/cases/semantic/01044/01044-settings.txt
new file mode 100644
index 0000000..dc30fbb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01044/01044-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01045/01045-results.csv b/models/sbml-test-suite/cases/semantic/01045/01045-results.csv
new file mode 100644
index 0000000..e920c2f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01045/01045-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,2.
+0.1,0.928540262733673,2.071459737266328
+0.2,0.863718967637875,2.136281032362127
+0.3,0.8049194190454255,2.195080580954575
+0.4,0.7515822106686513,2.248417789331349
+0.5,0.697999898226213,1.552000058077566
+0.6,0.6492357826661694,1.60076417363761
+0.7,0.6050017392517459,1.644998217052033
+0.8,0.5648769341275484,1.685123022176231
+0.9,0.528479629522506,1.721520326781273
+1.,0.49546354891896,1.754536407384819
+1.1,0.465514581401487,1.784485374902292
+1.2,0.4383478079291043,1.811652148374675
+1.3,0.4137047675203929,1.836295188783386
+1.4,0.3913510038350087,1.85864895246877
+1.5,0.3710738108400401,1.878926145463739
+1.6,0.3526803858846551,1.897319570419124
+1.7,0.3359956566507751,1.914004299653004
+1.8,0.3208608895660389,1.92913906673774
+1.9,0.3071321048054835,1.942867851498296
+2.,0.2946786919491905,1.955321264354589
+2.1,0.2833821720258098,1.96661778427797
+2.2,0.2731350721742918,1.976864884129487
+2.3,0.263839903568263,1.986160052735516
+2.4,0.2554082314301423,1.994591724873637
+2.5,0.2477598479563244,2.002240108347454
+2.6,0.2408219774708682,2.00917797883291
+2.7,0.2345286201807509,2.015471336123027
+2.8,0.2288199022725906,2.021180054031188
+2.9,0.2236415078999811,2.026358448403798
+3.,0.2189441783166415,2.031055777987137
+3.1,0.2146832171892644,2.035316739114514
+3.2,0.2108180892967014,2.039181867007077
+3.3,0.2073120226881373,2.042687933615641
+3.4,0.204131661434085,2.045868294869693
+3.5,0.2012467482872424,2.048753208016536
+3.6,0.1986298368234023,2.051370119480375
+3.7,0.1962560303232461,2.053743925980532
+3.8,0.1941027449113637,2.055897211392414
+3.9,0.1921494946992034,2.057850461604574
+4.,0.1903776966094881,2.059622259694289
+4.1,0.1887704952560998,2.061229461047678
+4.2,0.1873125991163828,2.062687357187395
+4.3,0.1859901380824716,2.064009818221305
+4.4,0.1847905305480063,2.065209425755771
+4.5,0.1837023637092396,2.066297592594538
+4.6,0.1827152849858975,2.06728467131788
+4.7,0.1818199035287848,2.068180052774993
+4.8,0.1810077008775645,2.068992255426213
+4.9,0.1802709499114709,2.069729006392307
+5.,0.1796026413622095,2.070397314941568
diff --git a/models/sbml-test-suite/cases/semantic/01045/01045-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01045/01045-sbml-l2v4.xml
new file mode 100644
index 0000000..83b8990
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01045/01045-sbml-l2v4.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01045" id="case01045" name="case01045">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01045/01045-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01045/01045-sbml-l3v1.xml
new file mode 100644
index 0000000..b99334a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01045/01045-sbml-l3v1.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01045" id="case01045" name="case01045" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01045/01045-settings.txt b/models/sbml-test-suite/cases/semantic/01045/01045-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01045/01045-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01046/01046-results.csv b/models/sbml-test-suite/cases/semantic/01046/01046-results.csv
new file mode 100644
index 0000000..7d110a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01046/01046-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.1,0.9285402627340821,2.071459737265918,0.9497931914075972,1.550206808592403
+0.2,0.86371896763816,2.136281032361841,0.9039076232689001,1.5960923767311
+0.3,0.8049194190451108,2.19508058095489,0.8619713715763732,1.638028628423628
+0.4,0.7515822106667366,2.248417789333265,0.8236445232661107,1.67635547673389
+0.5,0.7031999031741502,2.296800096825852,0.7886164208574515,1.711383579142549
+0.6,0.6593121998969282,2.340687800103073,0.7566031463571243,1.743396853642877
+0.7,0.6195015550797409,2.38049844492026,0.7273452127302649,1.772654787269736
+0.8,0.5833892313299046,2.416610768670097,0.7006054778858206,1.799394522114181
+0.9,0.5506316636907074,2.449368336309294,0.676167203736286,1.823832796263715
+1.,0.5209171946673176,2.479082805332684,0.653832301289462,1.846167698710539
+1.1,0.4922383089090659,1.507761673245744,0.6356225307408034,2.502382418959203
+1.2,0.4608024697889108,1.539197512365899,0.6259293139737912,2.512075635726215
+1.3,0.4322869468155882,1.567713035339221,0.6170703809584762,2.52093456874153
+1.4,0.4064204479507848,1.593579534204025,0.6089739255100562,2.52903102418995
+1.5,0.3829568876716668,1.617043094483143,0.6015743227343111,2.536430626965696
+1.6,0.3616730373947746,1.638326944760035,0.594811595048325,2.543193354651681
+1.7,0.3423664058149099,1.657633576339899,0.5886309270270716,2.549374022672935
+1.8,0.3248533147702451,1.675146667384564,0.5829822216920473,2.555022728007959
+1.9,0.3089671471802491,1.69103283497456,0.577819693292319,2.560185256407688
+2.,0.2945567711701797,1.705443210984629,0.5731014985720827,2.564903451127924
+2.1,0.2814850863811584,1.718514895773651,0.5687893935513288,2.569215556148678
+2.2,0.2696277012583882,1.730372280896421,0.5648484186260147,2.573156531073992
+2.3,0.2588718806298404,1.741128101524969,0.5612466495818048,2.576758300118202
+2.4,0.2491152407848333,1.750884741369976,0.5579548779548264,2.58005007174518
+2.5,0.2402649701360791,1.75973501201873,0.5549464252696459,2.583058524430361
+2.6,0.2322368627097,1.767763119445109,0.5521969048764621,2.585808044823545
+2.7,0.2249545499959305,1.775045432158879,0.5496840330760064,2.588320916624
+2.8,0.2183487464905651,1.781651235664244,0.5473874410125033,2.590617508687503
+2.9,0.2123566068373628,1.787643375317446,0.5452885139542156,2.59271643574579
+3.,0.2069211228311889,1.79307885932362,0.543370239033907,2.594634710666099
+3.1,0.2019905820616227,1.798009400093187,0.5416170676222572,2.596387882077749
+3.2,0.1975180758165004,1.802481906338309,0.5400147892655411,2.597990160434465
+3.3,0.193461057600847,1.806538924553962,0.5385504178654262,2.59945453183458
+3.4,0.1897809246759881,1.810219057478821,0.5372120825472094,2.600792867152797
+3.5,0.1864426692689154,1.813557312885894,0.5359889366773815,2.602016013022625
+3.6,0.1834145285600444,1.816585453594765,0.5348710651136012,2.603133884586405
+3.7,0.1806676954830835,1.819332286671726,0.5338494075600622,2.604155542139944
+3.8,0.1781760363173277,1.821823945837482,0.5329156827283668,2.605089266971639
+3.9,0.1759158464736271,1.824084135681182,0.532062322490849,2.605942627209157
+4.,0.1738656230383609,1.826134359116448,0.5312824099755686,2.606722539724438
+4.1,0.1720058606502721,1.827994121504537,0.5305696236324085,2.607435326067598
+4.2,0.1703188659368556,1.829681116217954,0.5299181859955891,2.608086763704417
+4.3,0.1687885891883482,1.831211392966461,0.5293228168559305,2.608682132844075
+4.4,0.1674004716680234,1.832599510486786,0.5287786904633258,2.60922625923668
+4.5,0.1661413071065278,1.833858675048282,0.5282813964126226,2.609723553287383
+4.6,0.1649991160626412,1.835000866092168,0.5278269038958927,2.610178045804112
+4.7,0.1639630312349042,1.836036950919905,0.5274115288033207,2.610593420896684
+4.8,0.1630231968533285,1.836976785301481,0.5270319047396298,2.610973044960375
+4.9,0.1621706725836392,1.83782930957117,0.5266849550149245,2.61131999468508
+5.,0.161397344605889,1.83860263754892,0.5263678664518902,2.611637083248115
diff --git a/models/sbml-test-suite/cases/semantic/01046/01046-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01046/01046-sbml-l2v4.xml
new file mode 100644
index 0000000..0b3c40d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01046/01046-sbml-l2v4.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01046" id="case01046" name="case01046">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.15"/>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> k1 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> k2 </ci>
+                    <ci> S4 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01046/01046-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01046/01046-sbml-l3v1.xml
new file mode 100644
index 0000000..5a38305
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01046/01046-sbml-l3v1.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01046" id="case01046" name="case01046" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.15" constant="true"/>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01046/01046-settings.txt b/models/sbml-test-suite/cases/semantic/01046/01046-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01046/01046-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01047/01047-results.csv b/models/sbml-test-suite/cases/semantic/01047/01047-results.csv
new file mode 100644
index 0000000..665e9aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01047/01047-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.1,0.9285402627338184,2.071459737266182,0.9497931914074244,1.550206808592576
+0.2,0.8637189676384043,2.136281032361595,0.9039076232690126,1.596092376730988
+0.3,0.8049194190466343,2.195080580953365,0.8619713715772097,1.638028628422791
+0.4,0.7515822106648566,2.248417789335142,0.8236445232650246,1.676355476734976
+0.5,0.7031999031733114,2.296800096826687,0.7886164208569536,1.711383579143047
+0.6,0.6593121998911396,2.340687800108859,0.7566031463537776,1.743396853646223
+0.7,0.6195015567753169,2.38049844322468,0.7131859758785849,0.536814017816264
+0.8,0.5833892339281296,2.416610766071867,0.6697339072319133,0.5802660864629355
+0.9,0.5506316602627074,2.449368339737289,0.6300217056241327,0.6199782880707162
+1.,0.5209171904836402,2.479082809516357,0.5937274880575181,0.6562725056373307
+1.1,0.4922383042789991,1.507761690352339,0.5605570698349791,0.6894429238598698
+1.2,0.4608024656781369,1.539197528953201,0.5302415901092107,0.7197584035856381
+1.3,0.4322869431759011,1.567713051455437,0.5025353280217449,0.7474646656731039
+1.4,0.4064204447387306,1.593579549892607,0.4772137101425377,0.7727862835523113
+1.5,0.3829568848469022,1.617043109784436,0.4540714949913669,0.7959284987034822
+1.6,0.3616730349214405,1.638326959709897,0.432921103023004,0.8170788906718453
+1.7,0.3423664036535291,1.657633590977809,0.4135910993052315,0.8364088943896177
+1.8,0.3248533129224194,1.675146681708918,0.3959248058559041,0.854075187838945
+1.9,0.30896714558756,1.691032849043778,0.3797790279523596,0.8702209657424896
+2.,0.2945567697866755,1.705443224844662,0.3650229010599903,0.8849770926348588
+2.1,0.2814850852283289,1.718514909403009,0.3515368174038678,0.8984631762909813
+2.2,0.2696276988742344,1.730372295757103,0.3392114398036411,0.910788553891208
+2.3,0.258871879642931,1.741128114988406,0.327946928819633,0.9220530648752162
+2.4,0.2491152393851232,1.750884755246214,0.3176519314977263,0.9323480621971228
+2.5,0.2402649695768791,1.759735025054458,0.3082430135940348,0.9417569801008142
+2.6,0.2322368624146984,1.767763132216638,0.2996439044779741,0.950356089216875
+2.7,0.2249545498653289,1.775045444766008,0.2917849124031043,0.9582150812917449
+2.8,0.2183487465696969,1.78165124806164,0.2846023340113523,0.9653976596834971
+2.9,0.2123566070392896,1.787643387592047,0.2780379517220642,0.9719620419727851
+3.,0.2069211227228181,1.793078871908519,0.2720385575870658,0.9779614361077833
+3.1,0.2019905812602323,1.798009413371104,0.2665555233922034,0.9834444703026457
+3.2,0.1975180775095941,1.802481917121743,0.2615444091758228,0.9884555845190263
+3.3,0.1934610568135291,1.806538937817808,0.256964593778574,0.9930353999162752
+3.4,0.189780926345888,1.810219068285449,0.2527789599066127,0.9972210337882365
+3.5,0.1864426690407276,1.813557325590609,0.2489535764723518,1.001046417222497
+3.6,0.1834145295706888,1.816585465060648,0.2454574406588437,1.004542553036005
+3.7,0.1806676904724454,1.819332304158892,0.2422622069674292,1.00773778672742
+3.8,0.1781760325062201,1.821823962125117,0.239341988956891,1.010658004737958
+3.9,0.1759158437416572,1.82408415088968,0.2366731106596294,1.01332688303522
+4.,0.1738656212295821,1.826134373401755,0.2342339395623948,1.015766054132454
+4.1,0.1720058595946652,1.827994135036672,0.2320047050369013,1.017995288657948
+4.2,0.1703188654656473,1.82968112916569,0.2299673380896861,1.020032655605163
+4.3,0.1687885891443406,1.831211405486997,0.2281053249043785,1.02189466879047
+4.4,0.167400471912141,1.832599522719196,0.2264035729893818,1.023596420705467
+4.5,0.166141307521484,1.833858687109853,0.2248482888461128,1.025151704848736
+4.6,0.1649991165544557,1.835000878076882,0.2234268661662111,1.026573127528638
+4.7,0.1639630323630753,1.836036962268262,0.2221277835621218,1.027872210132727
+4.8,0.1630231981292075,1.83697679650213,0.2209405116196007,1.029059482075249
+4.9,0.1621706735227823,1.837829321108555,0.2198554280025498,1.030144565692299
+5.,0.1613973454409201,1.838602649190417,0.2188637352271369,1.031136258467712
diff --git a/models/sbml-test-suite/cases/semantic/01047/01047-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01047/01047-sbml-l2v4.xml
new file mode 100644
index 0000000..17a1bbd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01047/01047-sbml-l2v4.xml
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01047" id="case01047" name="case01047">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.15"/>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> k1 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> k2 </ci>
+                    <ci> S4 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S3 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01047/01047-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01047/01047-sbml-l3v1.xml
new file mode 100644
index 0000000..cc78ada
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01047/01047-sbml-l3v1.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01047" id="case01047" name="case01047" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.15" constant="true"/>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S3 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01047/01047-settings.txt b/models/sbml-test-suite/cases/semantic/01047/01047-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01047/01047-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01048/01048-results.csv b/models/sbml-test-suite/cases/semantic/01048/01048-results.csv
new file mode 100644
index 0000000..cb0851d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01048/01048-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,2.
+0.1,0.928540262733673,2.071459737266328
+0.2,0.863718967637875,2.136281032362127
+0.3,0.8049194190454255,2.195080580954575
+0.4,0.7515822106686513,2.248417789331349
+0.5,0.7031999046927454,2.296800095307256
+0.6,0.6593122012349672,2.340687798765033
+0.7,0.6195015622313149,2.380498437768686
+0.8,0.5833892379435223,2.416610762056478
+0.9,0.5506316654040287,2.449368334595972
+1.,0.5209171885077817,2.47908281149222
+1.1,0.4939631225239087,2.506036877476093
+1.2,0.4695130308835756,2.530486969116426
+1.3,0.4473342898127062,2.552665710187296
+1.4,0.4272158996248611,2.572784100375141
+1.5,0.4015243494549538,1.525094732087963
+1.6,0.3779912468334879,1.548627834709428
+1.7,0.3566443139168862,1.56997476762603
+1.8,0.3372804613425715,1.589338620200345
+1.9,0.3197154661385547,1.606903615404361
+2.,0.3037822132328695,1.622836868310047
+2.1,0.2893291280066689,1.637289953536247
+2.2,0.2762187006564089,1.650400380886507
+2.3,0.2643261970851637,1.662292884457752
+2.4,0.2535384813198786,1.673080600223037
+2.5,0.2437529206521764,1.682866160890739
+2.6,0.2348764152135197,1.691742666329396
+2.7,0.2268245108392124,1.699794570703704
+2.8,0.2195206112262007,1.707098470316715
+2.9,0.2128952358839967,1.713723845658919
+3.,0.2068853356354092,1.719733745907507
+3.1,0.2014337424046608,1.725185339138255
+3.2,0.1964885889391816,1.730130492603734
+3.3,0.1920028286349311,1.734616252907984
+3.4,0.1879337848132831,1.738685296729632
+3.5,0.1842427450078818,1.742376336535034
+3.6,0.1808945941574668,1.745724487385448
+3.7,0.1778574797447269,1.748761601798189
+3.8,0.1751025052994115,1.751516576243504
+3.9,0.172603462196311,1.754015619346605
+4.,0.1703365738373716,1.756282507705544
+4.1,0.1682802705862321,1.758338810956684
+4.2,0.1664149968672219,1.760204084675694
+4.3,0.16472300272655,1.761896078816366
+4.4,0.1631881908930116,1.763430890649904
+4.5,0.1617959594946729,1.764823122048243
+4.6,0.1605330631398245,1.766086018403091
+4.7,0.1593874869030879,1.767231594639828
+4.8,0.1583483320178799,1.768270749525036
+4.9,0.1574057132703235,1.769213368272592
+5.,0.1565506608080033,1.770068420734912
diff --git a/models/sbml-test-suite/cases/semantic/01048/01048-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01048/01048-sbml-l2v4.xml
new file mode 100644
index 0000000..f8113ce
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01048/01048-sbml-l2v4.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01048" id="case01048" name="case01048">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01048/01048-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01048/01048-sbml-l3v1.xml
new file mode 100644
index 0000000..b4965aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01048/01048-sbml-l3v1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01048" id="case01048" name="case01048" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 1 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01048/01048-settings.txt b/models/sbml-test-suite/cases/semantic/01048/01048-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01048/01048-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01049/01049-results.csv b/models/sbml-test-suite/cases/semantic/01049/01049-results.csv
new file mode 100644
index 0000000..f8531c6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01049/01049-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1,2,1,1.5
+0.1,0.928541,2.07146,0.949794,1.55021
+0.2,0.86372,2.13628,0.903908,1.59609
+0.3,0.80492,2.19508,0.861972,1.63803
+0.4,0.751583,2.24842,0.823645,1.67636
+0.5,0.7032,2.2968,0.788617,1.71138
+0.6,0.659312,2.34069,0.756603,1.7434
+0.7,0.619502,2.3805,0.727345,1.77265
+0.8,0.583389,2.41661,0.700605,1.79939
+0.9,0.550631,2.44937,0.676167,1.82383
+1,0.520917,2.47908,0.653832,1.84617
+1.1,0.493964,2.50604,0.63342,1.86658
+1.2,0.469514,2.53049,0.614764,1.88524
+1.3,0.447335,2.55267,0.597714,1.90229
+1.4,0.427216,2.57278,0.582132,1.91787
+1.5,0.408967,2.59103,0.56789,1.93211
+1.6,0.392413,2.60759,0.554875,1.94513
+1.7,0.377397,2.6226,0.542979,1.95702
+1.8,0.363775,2.63622,0.532108,1.96789
+1.9,0.351419,2.64858,0.522172,1.97783
+2,0.340211,2.65979,0.513091,1.98691
+2.1,0.330044,2.66996,0.504792,1.99521
+2.2,0.320822,2.67918,0.497207,2.00279
+2.3,0.312456,2.68754,0.490275,2.00972
+2.4,0.304868,2.69513,0.48394,2.01606
+2.5,0.297984,2.70202,0.47815,2.02185
+2.6,0.29174,2.70826,0.472858,2.02714
+2.7,0.286076,2.71392,0.468022,2.03198
+2.8,0.280938,2.71906,0.463602,2.0364
+2.9,0.276278,2.72372,0.459562,2.04044
+3,0.26904,1.50437,0.458116,2.49894
+3.1,0.25672,1.51669,0.461105,2.49596
+3.2,0.245544,1.52787,0.463837,2.49322
+3.3,0.235406,1.538,0.466333,2.49073
+3.4,0.22621,1.5472,0.468615,2.48845
+3.5,0.217868,1.55554,0.4707,2.48636
+3.6,0.210302,1.56311,0.472606,2.48445
+3.7,0.203438,1.56997,0.474348,2.48271
+3.8,0.197212,1.5762,0.47594,2.48112
+3.9,0.191564,1.58185,0.477395,2.47967
+4,0.186441,1.58697,0.478724,2.47834
+4.1,0.181794,1.59162,0.47994,2.47712
+4.2,0.177578,1.59583,0.48105,2.47601
+4.3,0.173755,1.59966,0.482065,2.475
+4.4,0.170286,1.60312,0.482993,2.47407
+4.5,0.167139,1.60627,0.483841,2.47322
+4.6,0.164285,1.60913,0.484616,2.47245
+4.7,0.161696,1.61171,0.485324,2.47174
+4.8,0.159348,1.61406,0.485971,2.47109
+4.9,0.157218,1.61619,0.486563,2.4705
+5,0.155285,1.61813,0.487103,2.46996
diff --git a/models/sbml-test-suite/cases/semantic/01049/01049-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01049/01049-sbml-l2v4.xml
new file mode 100644
index 0000000..f79ae64
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01049/01049-sbml-l2v4.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01049" id="case01049" name="case01049">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.15"/>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> k1 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> k2 </ci>
+                    <ci> S4 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.89 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01049/01049-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01049/01049-sbml-l3v1.xml
new file mode 100644
index 0000000..2296dc0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01049/01049-sbml-l3v1.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01049" id="case01049" name="case01049" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.15" constant="true"/>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.89 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> S2 </ci>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01049/01049-settings.txt b/models/sbml-test-suite/cases/semantic/01049/01049-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01049/01049-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01050/01050-results.csv b/models/sbml-test-suite/cases/semantic/01050/01050-results.csv
new file mode 100644
index 0000000..6b6c0ff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01050/01050-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.,2.,1.,1.5
+0.1,0.9285402627338184,2.071459737266182,0.9497931914074244,1.550206808592576
+0.2,0.8637189676384043,2.136281032361595,0.9039076232690126,1.596092376730988
+0.3,0.8049194190466343,2.195080580953365,0.8619713715772097,1.638028628422791
+0.4,0.7515822106648566,2.248417789335142,0.8236445232650246,1.676355476734976
+0.5,0.7031999031733114,2.296800096826687,0.7886164208569536,1.711383579143047
+0.6,0.6593121998911396,2.340687800108859,0.7566031463537776,1.743396853646223
+0.7,0.6195015567686946,2.380498443231303,0.7273452137054551,1.772654786294545
+0.8,0.5833892338712365,2.416610766128762,0.7006054793706399,1.79939452062936
+0.9,0.5506316607524779,2.44936833924752,0.6761672020050921,1.823832797994907
+1.,0.5209171903291254,2.479082809670872,0.6538322987128649,1.846167701287135
+1.1,0.4939631244188217,2.506036875581175,0.6334197339492688,1.866580266050731
+1.2,0.4695130279463932,2.530486972053604,0.6147640543379917,1.885235945662008
+1.3,0.447334288112969,2.552665711887028,0.5977140469149699,1.90228595308503
+1.4,0.4272159014004511,2.572784098599545,0.5821315134967197,1.91786848650328
+1.5,0.4089664652373494,2.591033534762647,0.5678901499723151,1.932109850027685
+1.6,0.3924123592526553,2.607587640747341,0.5548745239045659,1.945125476095434
+1.7,0.3773960877672829,2.622603912232714,0.5429791353546292,1.957020864645371
+1.8,0.3637747969226539,2.636225203077343,0.5321075714133695,1.967892428586631
+1.9,0.3514188936652371,2.64858110633476,0.5221717110945499,1.97782828890545
+2.,0.3402108196262126,2.659789180373784,0.5130910151415627,1.986908984858438
+2.1,0.3300439529103351,2.669956047089662,0.504791886158594,1.995208113841406
+2.2,0.3208215654695426,2.679178434530454,0.4972070541317288,2.002792945868272
+2.3,0.3124559137300086,2.687544086269988,0.4902750379827565,2.009724962017244
+2.4,0.3048674111349776,2.695132588865019,0.4839396520324135,2.016060347967587
+2.5,0.2979838593573013,2.702016140642695,0.4781495430437217,2.021850456956279
+2.6,0.2917397759144441,2.708260224085552,0.4728577835242328,2.027142216475768
+2.7,0.2860757568345783,2.713924243165418,0.46802148191324,2.031978518086761
+2.8,0.2809379133491943,2.719062086650802,0.4636014360624732,2.036398563937527
+2.9,0.2762773607079592,2.723722639292037,0.4595618164298041,2.040438183570196
+3.,0.2720497594681043,2.727950240531892,0.455869879986971,2.044130120013029
+3.1,0.2660917745483394,1.502982011541902,0.4524957075460211,2.047504292453977
+3.2,0.2540142265551628,1.515059559535078,0.4318748877927625,0.5199248511794483
+3.3,0.2430586544295944,1.526015131660647,0.4083573072151377,0.543442431757073
+3.4,0.2331208293559196,1.535952956734322,0.3868638570154879,0.5649358819567229
+3.5,0.2241062046671309,1.544967581423111,0.3672203220919113,0.5845794168802994
+3.6,0.2159290181029843,1.553144767987257,0.3492674839716788,0.6025322550005319
+3.7,0.2085114723781599,1.560562313712081,0.3328598242263461,0.6189399147458647
+3.8,0.2017829983071223,1.567290787783119,0.3178643505849905,0.6339353883872203
+3.9,0.1956795865362922,1.573394199553949,0.304159524561212,0.6476402144109987
+4.,0.1901431643673876,1.578930621722854,0.2916342512227775,0.660165487749433
+4.1,0.1851210649641251,1.583952721126116,0.2801870170871287,0.6716127218850819
+4.2,0.1805655069027998,1.588508279187441,0.2697250329585055,0.682074706013705
+4.3,0.1764331413226638,1.592640644767577,0.2601634844218998,0.6916362545503107
+4.4,0.1726846737082281,1.596389112382013,0.2514249069802141,0.7003748319919965
+4.5,0.1692844259493959,1.599789360140845,0.2434384411499429,0.7083612978222678
+4.6,0.1662000549762748,1.602873731113966,0.2361393641897952,0.7156603747824155
+4.7,0.1634022155693064,1.605671570520935,0.2294685115049417,0.722331227467269
+4.8,0.1608642877643022,1.608209498325939,0.2233718090891498,0.7284279298830608
+4.9,0.158562126504636,1.610511659585605,0.2177998407145949,0.7339998982576156
+5.,0.1564738314421645,1.612599954648076,0.2127074466022881,0.7390922923699224
diff --git a/models/sbml-test-suite/cases/semantic/01050/01050-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01050/01050-sbml-l2v4.xml
new file mode 100644
index 0000000..ebc3750
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01050/01050-sbml-l2v4.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01050" id="case01050" name="case01050">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75"/>
+      <parameter id="k2" name="k2" value="0.15"/>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> k1 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> k2 </ci>
+                    <ci> S4 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S3 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01050/01050-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01050/01050-sbml-l3v1.xml
new file mode 100644
index 0000000..229fce0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01050/01050-sbml-l3v1.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01050" id="case01050" name="case01050" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.15" constant="true"/>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> S3 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> k2 </ci>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S3 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01050/01050-settings.txt b/models/sbml-test-suite/cases/semantic/01050/01050-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01050/01050-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01051/01051-results.csv b/models/sbml-test-suite/cases/semantic/01051/01051-results.csv
new file mode 100644
index 0000000..0f96755
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01051/01051-results.csv
@@ -0,0 +1,52 @@
+time,A1,A2,A3,A4
+0,2,1.333333333333333,4,2.666666666666667
+0.02,2.102384005801262,1.367461335267089,3.897615994198738,2.734922670534174
+0.04,2.196928275605629,1.398976091868543,3.803071724394371,2.797952183737087
+0.06,2.284001654744583,1.428000551581528,3.715998345255417,2.856001103163055
+0.08,2.36407166942325,1.454690556474417,3.63592833057675,2.909381112948833
+0.1,2.437560744939932,1.479186914979977,3.562439255060069,2.958373829959954
+0.12,2.504988601628972,1.501662867209658,3.495011398371028,3.003325734419315
+0.14,2.566801834139539,1.522267278046513,3.433198165860461,3.044534556093026
+0.16,2.623411937676035,1.541137312558678,3.376588062323965,3.082274625117357
+0.18,2.675151468787706,1.558383822929235,3.324848531212294,3.116767645858471
+0.2,2.722511880759032,1.574170626919677,3.277488119240968,3.148341253839354
+0.22,2.765910101807191,1.588636700602397,3.23408989819281,3.177273401204794
+0.24,2.805412856498825,1.601804285499608,3.194587143501175,3.203608570999216
+0.26,2.841528795335732,1.613842931778577,3.158471204664268,3.227685863557154
+0.28,2.874620240821229,1.624873413607077,3.125379759178771,3.249746827214153
+0.3,2.904756471801121,1.634918823933707,3.095243528198879,3.269837647867414
+0.32,2.932208458770535,1.644069486256845,3.067791541229465,3.28813897251369
+0.34,2.95732446044163,1.652441486813876,3.04267553955837,3.304882973627754
+0.36,2.980257177119163,1.660085725706388,3.019742822880837,3.320171451412775
+0.38,3.001060200468057,1.667020066822686,2.998939799531943,3.334040133645372
+0.4,3.020055207004673,1.673351735668224,2.979944792995327,3.346703471336448
+0.42,3.03744443223451,1.67914814407817,2.96255556776549,3.35829628815634
+0.44,3.053266196556583,1.684422065518861,2.946733803443417,3.368844131037722
+0.46,3.067683516392782,1.689227838797594,2.932316483607218,3.378455677595188
+0.48,3.08080297738197,1.693600992460657,2.91919702261803,3.387201984921314
+0.5,3.092713521845432,1.697571173948477,2.907286478154568,3.395142347896955
+0.52,3.103505597296926,1.701168532432309,2.896494402703074,3.402337064864617
+0.54,3.113413308148672,1.704471102716223,2.886586691851329,3.408942205432449
+0.56,3.122420924054478,1.707473641351492,2.877579075945522,3.414947282702986
+0.58,3.130588869967235,1.710196289989078,2.869411130032765,3.420392579978157
+0.6,3.137964535385907,1.712654845128636,2.862035464614093,3.425309690257271
+0.62,3.144603049722552,1.714867683240851,2.855396950277448,3.429735366481701
+0.64,3.150721511213907,1.716907170404636,2.849278488786093,3.433814340809271
+0.66,3.156272064222593,1.718757354740865,2.843727935777407,3.437514709481729
+0.68,3.161295585402236,1.720431861800746,2.838704414597764,3.440863723601491
+0.7,3.165824915300174,1.721941638433392,2.834175084699826,3.443883276866782
+0.72,3.169897584759458,1.723299194919819,2.830102415240543,3.446598389839638
+0.74,3.173650291186169,1.724550097062056,2.826349708813831,3.449100194124112
+0.76,3.177057377783945,1.725685792594649,2.822942622216055,3.451371585189297
+0.78,3.180147491691156,1.726715830563719,2.819852508308844,3.453431661127437
+0.8,3.182944306398795,1.727648102132932,2.817055693601205,3.455296204265864
+0.82,3.185472264575902,1.728490754858634,2.814527735424098,3.456981509717268
+0.84,3.187799210756329,1.729266403585443,2.812200789243671,3.458532807170886
+0.86,3.189918379342783,1.729972793114261,2.810081620657217,3.459945586228522
+0.88,3.191846162213012,1.730615387404337,2.808153837786988,3.461230774808675
+0.9,3.19359535954076,1.731198453180253,2.80640464045924,3.462396906360506
+0.92,3.19517837554845,1.731726125182817,2.80482162445155,3.463452250365633
+0.94,3.196633583489068,1.732211194496356,2.803366416510932,3.464422388992711
+0.96,3.197958624887405,1.732652874962468,2.802041375112595,3.465305749924936
+0.98,3.199162521358668,1.733054173786223,2.800837478641332,3.466108347572445
+1,3.200252057250727,1.733417352416909,2.799747942749273,3.466834704833818
diff --git a/models/sbml-test-suite/cases/semantic/01051/01051-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01051/01051-sbml-l1v2.xml
new file mode 100644
index 0000000..1b845df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01051/01051-sbml-l1v2.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01051">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="A1" compartment="C" initialAmount="2" units="substance"/>
+      <species name="A2" compartment="C" initialAmount="3" units="substance"/>
+      <species name="A3" compartment="C" initialAmount="4" units="substance"/>
+      <species name="A4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="Kr1" value="2"/>
+      <parameter name="Kf1" value="1"/>
+      <parameter name="Kf" value="1"/>
+      <parameter name="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="fasterReaction" fast="true">
+        <listOfReactants>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A4"/>
+        </listOfProducts>
+        <kineticLaw formula="-((Kf1 * A4 + -(Kr1 * A2)) * C)"/>
+      </reaction>
+      <reaction name="slowerReaction1">
+        <listOfReactants>
+          <speciesReference species="A3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw formula="-((Kf * A1 * A2 + -(Kr * A3)) * C)"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01051/01051-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01051/01051-sbml-l2v4.xml
new file mode 100644
index 0000000..142c96d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01051/01051-sbml-l2v4.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case01051" name="case01051">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="A2" compartment="C" initialAmount="3" substanceUnits="substance"/>
+      <species id="A3" compartment="C" initialAmount="4" substanceUnits="substance"/>
+      <species id="A4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kr1" value="2"/>
+      <parameter id="Kf1" value="1"/>
+      <parameter id="Kf" value="1"/>
+      <parameter id="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="fasterReaction" name="fasterReaction" fast="true">
+        <listOfReactants>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> Kf1 </ci>
+                    <ci> A4 </ci>
+                  </apply>
+                  <apply>
+                    <minus/>
+                    <apply>
+                      <times/>
+                      <ci> Kr1 </ci>
+                      <ci> A2 </ci>
+                    </apply>
+                  </apply>
+                </apply>
+                <ci> C </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="slowerReaction1" name="slowerReaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="A3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> Kf </ci>
+                    <ci> A1 </ci>
+                    <ci> A2 </ci>
+                  </apply>
+                  <apply>
+                    <minus/>
+                    <apply>
+                      <times/>
+                      <ci> Kr </ci>
+                      <ci> A3 </ci>
+                    </apply>
+                  </apply>
+                </apply>
+                <ci> C </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01051/01051-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01051/01051-sbml-l3v1.xml
new file mode 100644
index 0000000..dc23e8b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01051/01051-sbml-l3v1.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case01051" name="case01051" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A2" compartment="C" initialAmount="3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A3" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kr1" value="2" constant="true"/>
+      <parameter id="Kf1" value="1" constant="true"/>
+      <parameter id="Kf" value="1" constant="true"/>
+      <parameter id="Kr" value="2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="fasterReaction" name="fasterReaction" reversible="true" fast="true">
+        <listOfProducts>
+          <speciesReference species="A4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> Kf1 </ci>
+                  <ci> A4 </ci>
+                </apply>
+               <apply>
+                  <minus/>
+                 <apply>
+                    <times/>
+                    <ci> Kr1 </ci>
+                    <ci> A2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <ci> C </ci>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="slowerReaction1" name="slowerReaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="A1" stoichiometry="1" constant="true"/>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="A3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> Kf </ci>
+                  <ci> A1 </ci>
+                  <ci> A2 </ci>
+                </apply>
+               <apply>
+                  <minus/>
+                 <apply>
+                    <times/>
+                    <ci> Kr </ci>
+                    <ci> A3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <ci> C </ci>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01051/01051-settings.txt b/models/sbml-test-suite/cases/semantic/01051/01051-settings.txt
new file mode 100644
index 0000000..7b37a81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01051/01051-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 50
+variables: A1, A2, A3, A4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: A1, A2, A3, A4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01052/01052-results.csv b/models/sbml-test-suite/cases/semantic/01052/01052-results.csv
new file mode 100644
index 0000000..7b2507c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01052/01052-results.csv
@@ -0,0 +1,52 @@
+time,A1,A2,A3,A4
+0,2,1.333333333,4,2.666666667
+0.02,2,1.367574031,3.897277907,2.735148062
+0.04,2,1.399973148,3.800080555,2.799946297
+0.06,2,1.431110671,3.706667988,2.862221341
+0.08,2,1.460726756,3.617819733,2.921453511
+0.1,2,1.488818129,3.533545612,2.977636258
+0.12,2,1.515384792,3.453845625,3.030769583
+0.14,2,1.540690739,3.377927782,3.081381478
+0.16,2,1.564829457,3.30551163,3.129658914
+0.18,2,1.587643617,3.23706915,3.175287233
+0.2,2,1.609133219,3.172600344,3.218266437
+0.22,2,1.629554306,3.111337083,3.259108612
+0.24,2,1.649081419,3.052755744,3.298162837
+0.26,2,1.667510462,2.997468615,3.335020923
+0.28,2,1.684841435,2.945475694,3.36968287
+0.3,2,1.701272444,2.896182668,3.402544888
+0.32,2,1.717025857,2.848922429,3.434051714
+0.34,2,1.731890304,2.804329088,3.463780608
+0.36,2,1.745865786,2.762402642,3.491731572
+0.38,2,1.759034647,2.72289606,3.518069294
+0.4,2,1.771594727,2.685215818,3.543189455
+0.42,2,1.783485764,2.649542709,3.566971527
+0.44,2,1.794749892,2.615750324,3.589499784
+0.46,2,1.805429249,2.583712254,3.610858498
+0.48,2,1.815544821,2.553365537,3.631089642
+0.5,2,1.82509559,2.524713229,3.650191181
+0.52,2,1.83414619,2.497561431,3.668292379
+0.54,2,1.842732169,2.471803492,3.685464339
+0.56,2,1.85088908,2.447332759,3.701778161
+0.58,2,1.858625945,2.424122164,3.71725189
+0.6,2,1.865924185,2.402227445,3.73184837
+0.62,2,1.872847568,2.381457297,3.745695135
+0.64,2,1.879423384,2.361729849,3.758846768
+0.66,2,1.885678923,2.342963231,3.771357846
+0.68,2,1.891617413,2.32514776,3.783234827
+0.7,2,1.897217046,2.308348861,3.794434093
+0.72,2,1.902530707,2.292407878,3.805061415
+0.74,2,1.907578193,2.277265421,3.815156386
+0.76,2,1.912379301,2.262862097,3.824758602
+0.78,2,1.916936831,2.249189507,3.833873662
+0.8,2,1.921235899,2.236292304,3.842471797
+0.82,2,1.92531438,2.224056859,3.850628761
+0.84,2,1.929186781,2.212439658,3.858373562
+0.86,2,1.932867604,2.201397187,3.865735209
+0.88,2,1.936360234,2.190919299,3.872720467
+0.9,2,1.939656478,2.181030567,3.879312955
+0.92,2,1.942782672,2.171651984,3.885565344
+0.94,2,1.945749858,2.162750427,3.891499715
+0.96,2,1.948569075,2.154292774,3.897138151
+0.98,2,1.951248676,2.146253973,3.902497351
+1,2,1.953785769,2.138642693,3.907571538
diff --git a/models/sbml-test-suite/cases/semantic/01052/01052-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01052/01052-sbml-l1v2.xml
new file mode 100644
index 0000000..d99a940
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01052/01052-sbml-l1v2.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01052">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="A1" compartment="C" initialAmount="2" units="substance" boundaryCondition="true"/>
+      <species name="A2" compartment="C" initialAmount="3" units="substance"/>
+      <species name="A3" compartment="C" initialAmount="4" units="substance"/>
+      <species name="A4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="Kf1" value="1"/>
+      <parameter name="Kr1" value="2"/>
+      <parameter name="Kf" value="1"/>
+      <parameter name="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" fast="true">
+        <listOfReactants>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A4"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (A4 * Kf1 + -1 * A2 * Kr1))"/>
+      </reaction>
+      <reaction name="reaction2">
+        <listOfReactants>
+          <speciesReference species="A3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (A1 * A2 * Kf + -1 * A3 * Kr))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01052/01052-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01052/01052-sbml-l2v4.xml
new file mode 100644
index 0000000..8f462b8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01052/01052-sbml-l2v4.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01052" id="case01052" name="case01052">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1"/>
+      <parameter id="Kr1" name="Kr1" value="2"/>
+      <parameter id="Kf" name="Kf" value="1"/>
+      <parameter id="Kr" name="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="true">
+        <listOfReactants>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> A4 </ci>
+                    <ci> Kf1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> A2 </ci>
+                    <ci> Kr1 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="A3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> A1 </ci>
+                    <ci> A2 </ci>
+                    <ci> Kf </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> A3 </ci>
+                    <ci> Kr </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01052/01052-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01052/01052-sbml-l3v1.xml
new file mode 100644
index 0000000..e35d313
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01052/01052-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01052" id="case01052" name="case01052" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1" constant="true"/>
+      <parameter id="Kr1" name="Kr1" value="2" constant="true"/>
+      <parameter id="Kf" name="Kf" value="1" constant="true"/>
+      <parameter id="Kr" name="Kr" value="2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="true">
+        <listOfProducts>
+          <speciesReference species="A4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> A4 </ci>
+                  <ci> Kf1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A2 </ci>
+                  <ci> Kr1 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="A1" stoichiometry="1" constant="true"/>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="A3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> A1 </ci>
+                  <ci> A2 </ci>
+                  <ci> Kf </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A3 </ci>
+                  <ci> Kr </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01052/01052-settings.txt b/models/sbml-test-suite/cases/semantic/01052/01052-settings.txt
new file mode 100644
index 0000000..7b37a81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01052/01052-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 50
+variables: A1, A2, A3, A4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: A1, A2, A3, A4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01053/01053-results.csv b/models/sbml-test-suite/cases/semantic/01053/01053-results.csv
new file mode 100644
index 0000000..44b7ae6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01053/01053-results.csv
@@ -0,0 +1,52 @@
+time,A1,A2,A3,A4
+0.0,2.0,3.0,4.0,6.00000000001164
+0.02,2.038060114929978,3.0,3.9619398850700214,6.0
+0.04,2.072498652069728,3.0,3.927501347930272,6.0
+0.06,2.103660778276194,3.0,3.8963392217238058,6.0
+0.08,2.131857851809102,3.0,3.8681421481908975,6.0
+0.1,2.1573713850834375,3.0,3.8426286149165625,6.0
+0.12,2.180456737871248,3.0,3.8195432621287515,6.0
+0.14,2.2013457507675276,3.0,3.7986542492324724,6.0
+0.16,2.220248802861826,3.0,3.779751197138174,6.0
+0.18,2.237353081434307,3.0,3.7626469185656926,6.0
+0.2,2.252829542790926,3.0,3.747170457209074,6.0
+0.22,2.2668332697613156,3.0,3.7331667302386844,6.0
+0.24,2.2795045449824474,3.0,3.7204954550175526,6.0
+0.26,2.2909701040330392,3.0,3.7090298959669603,6.0
+0.28,2.301344974004119,3.0,3.6986550259958806,6.0
+0.3,2.310732938844179,3.0,3.6892670611558205,6.0
+0.32,2.3192275329517784,3.0,3.680772467048221,6.0
+0.34,2.3269137305303564,3.0,3.673086269469643,6.0
+0.36,2.3338685200515115,3.0,3.6661314799484885,6.0
+0.38,2.340161379661706,3.0,3.659838620338294,6.0
+0.4,2.3458554438082837,3.0,3.6541445561917163,6.0
+0.42,2.3510076160762208,3.0,3.6489923839237792,6.0
+0.44,2.355669523574511,3.0,3.644330476425489,6.0
+0.46,2.359887827059821,3.0,3.6401121729401784,6.0
+0.48,2.3637047257390855,3.0,3.636295274260914,6.0
+0.5,2.367158462873345,3.0,3.632841537126655,6.0
+0.52,2.3702836014638544,3.0,3.6297163985361456,6.0
+0.54,2.3731113577736664,3.0,3.626888642226333,6.0
+0.56,2.3756700383137694,3.0,3.62432996168623,6.0
+0.58,2.3779852292612786,3.0,3.6220147707387214,6.0
+0.6,2.3800801672283263,3.0,3.6199198327716737,6.0
+0.62,2.3819757594436806,3.0,3.618024240556319,6.0
+0.64,2.3836909623825475,3.0,3.6163090376174525,6.0
+0.66,2.385242957554124,3.0,3.614757042445876,6.0
+0.68,2.386647247663401,3.0,3.6133527523365987,6.0
+0.7,2.3879179066901814,3.0,3.612082093309818,6.0
+0.72,2.3890676488744766,3.0,3.6109323511255234,6.0
+0.74,2.3901079748071834,3.0,3.609892025192816,6.0
+0.76,2.3910493030006217,3.0,3.608950696999378,6.0
+0.78,2.391901050652165,3.0,3.608098949347835,6.0
+0.8,2.3926717402932085,3.0,3.6073282597067915,6.0
+0.82,2.3933690909338843,3.0,3.6066309090661153,6.0
+0.84,2.3940000777305275,3.0,3.605999922269472,6.0
+0.86,2.3945710205530406,3.0,3.605428979446959,6.0
+0.88,2.395087634197079,3.0,3.6049123658029205,6.0
+0.9,2.395555086219234,3.0,3.6044449137807657,6.0
+0.92,2.3959780640823785,3.0,3.604021935917621,6.0
+0.94,2.396360792569209,3.0,3.603639207430791,6.0
+0.96,2.3967070978965954,3.0,3.603292902103404,6.0
+0.98,2.3970204441250185,3.0,3.602979555874981,6.0
+1.0,2.3973039766949693,3.0,3.6026960233050302,6.0
diff --git a/models/sbml-test-suite/cases/semantic/01053/01053-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01053/01053-sbml-l1v2.xml
new file mode 100644
index 0000000..a11942d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01053/01053-sbml-l1v2.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01053">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="A1" compartment="C" initialAmount="2" units="substance"/>
+      <species name="A2" compartment="C" initialAmount="3" units="substance" boundaryCondition="true"/>
+      <species name="A3" compartment="C" initialAmount="4" units="substance"/>
+      <species name="A4" compartment="C" initialAmount="1" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="Kf1" value="1"/>
+      <parameter name="Kr1" value="2"/>
+      <parameter name="Kf" value="1"/>
+      <parameter name="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1" fast="true">
+        <listOfReactants>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A4"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (A4 * Kf1 + -1 * A2 * Kr1))"/>
+      </reaction>
+      <reaction name="reaction2">
+        <listOfReactants>
+          <speciesReference species="A3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (A1 * A2 * Kf + -1 * A3 * Kr))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01053/01053-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01053/01053-sbml-l2v4.xml
new file mode 100644
index 0000000..005b6fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01053/01053-sbml-l2v4.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01053" id="case01053" name="case01053">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance" boundaryCondition="true"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1"/>
+      <parameter id="Kr1" name="Kr1" value="2"/>
+      <parameter id="Kf" name="Kf" value="1"/>
+      <parameter id="Kr" name="Kr" value="2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="true">
+        <listOfReactants>
+          <speciesReference species="A2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> A4 </ci>
+                    <ci> Kf1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> A2 </ci>
+                    <ci> Kr1 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" fast="false">
+        <listOfReactants>
+          <speciesReference species="A3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A1"/>
+          <speciesReference species="A2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> A1 </ci>
+                    <ci> A2 </ci>
+                    <ci> Kf </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> A3 </ci>
+                    <ci> Kr </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01053/01053-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01053/01053-sbml-l3v1.xml
new file mode 100644
index 0000000..0da8ef1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01053/01053-sbml-l3v1.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01053" id="case01053" name="case01053" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="A1" name="A1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A2" name="A2" compartment="C" initialAmount="3" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="A3" name="A3" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A4" name="A4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Kf1" name="Kf1" value="1" constant="true"/>
+      <parameter id="Kr1" name="Kr1" value="2" constant="true"/>
+      <parameter id="Kf" name="Kf" value="1" constant="true"/>
+      <parameter id="Kr" name="Kr" value="2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="true">
+        <listOfProducts>
+          <speciesReference species="A4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> A4 </ci>
+                  <ci> Kf1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A2 </ci>
+                  <ci> Kr1 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="A1" stoichiometry="1" constant="true"/>
+          <speciesReference species="A2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="A3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> A1 </ci>
+                  <ci> A2 </ci>
+                  <ci> Kf </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> A3 </ci>
+                  <ci> Kr </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01053/01053-settings.txt b/models/sbml-test-suite/cases/semantic/01053/01053-settings.txt
new file mode 100644
index 0000000..7b37a81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01053/01053-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 50
+variables: A1, A2, A3, A4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: A1, A2, A3, A4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01054/01054-results.csv b/models/sbml-test-suite/cases/semantic/01054/01054-results.csv
new file mode 100644
index 0000000..b2fe67d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01054/01054-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.0002,0.0001,0.0001000000239903073
+0.5,0.000111737976853481,0.0002117379768534811,0.00008826202314651895,0.000111737976853481
+1.,0.0001221071131464763,0.0002221071131464763,0.00007789288685352366,0.0001221071131464763
+1.5,0.0001312556678242006,0.0002312556678242007,0.00006874433217579932,0.0001312556678242006
+2.,0.0001393218759368605,0.0002393218759368606,0.00006067812406313943,0.0001393218759368604
+2.5,0.0001464381993338658,0.0002464381993338657,0.0000535618006661342,0.000146438199333866
+3.,0.0001527197069860825,0.0002527197069860825,0.00004728029301391754,0.0001527197069860823
+3.5,0.0001582636276489352,0.0002582636276489352,0.0000417363723510648,0.0001582636276489357
+4.,0.0001631540425836468,0.0002631540425836468,0.00003684595741635319,0.0001631540425836461
+4.5,0.0001674691287147588,0.0002674691287147589,0.00003253087128524117,0.0001674691287147564
+5.,0.0001712762205687154,0.0002712762205687154,0.00002872377943128462,0.0001712762205687158
+5.5,0.0001746362430078711,0.0002746362430078711,0.00002536375699212889,0.0001746362430078706
+6.,0.0001776000492267866,0.0002776000492267867,0.00002239995077321332,0.0001776000492267908
+6.5,0.0001802169201959474,0.0002802169201959475,0.00001978307980405258,0.0001802169201959487
+7.,0.0001825246145359539,0.000282524614535954,0.00001747538546404605,0.0001825246145359519
+7.5,0.0001845607713605806,0.0002845607713605807,0.00001543922863941937,0.0001845607713605805
+8.,0.0001863557286211178,0.0002863557286211178,0.00001364427137888218,0.0001863557286211198
+8.5,0.0001879395110789107,0.0002879395110789108,0.00001206048892108926,0.0001879395110789077
+9.,0.00018933652717051,0.0002893365271705101,0.00001066347282948996,0.0001893365271705063
+9.5,0.0001905692876689924,0.0002905692876689925,9.430712331007594e-6,0.0001905692876689982
+10.,0.0001916575335568122,0.0002916575335568123,8.342466443187818e-6,0.0001916575335568161
+10.5,0.0001926177330790805,0.0002926177330790806,7.382266920919435e-6,0.0001926177330790689
+11.,0.0001934655144434852,0.0002934655144434853,6.534485556514745e-6,0.0001934655144434829
+11.5,0.0001942131243780432,0.0002942131243780432,5.786875621956808e-6,0.0001942131243780594
+12.,0.000194873500993521,0.000294873500993521,5.126499006479016e-6,0.0001948735009935045
+12.5,0.0001954560014786799,0.00029545600147868,4.543998521320059e-6,0.0001954560014786333
+13.,0.0001959695421414924,0.0002959695421414925,4.030457858507554e-6,0.0001959695421414854
+13.5,0.0001964224079747205,0.0002964224079747207,3.577592025279435e-6,0.000196422407974763
+14.,0.0001968214664259127,0.0002968214664259128,3.178533574087258e-6,0.000196821466425926
+14.5,0.0001971736572109376,0.0002971736572109377,2.826342789062319e-6,0.0001971736572109254
+15.,0.0001974845946311395,0.0002974845946311396,2.515405368860489e-6,0.0001974845946311458
+15.5,0.0001977580700438011,0.0002977580700438012,2.241929956198871e-6,0.00019775807004382
+16.,0.0001979999047017327,0.0002979999047017328,2.000095298267264e-6,0.0001979999047017471
+16.5,0.000198213595213666,0.000298213595213666,1.786404786333989e-6,0.0001982135952136761
+17.,0.0001984013784381164,0.0002984013784381164,1.598621561883628e-6,0.0001984013784381234
+17.5,0.0001985670224166688,0.0002985670224166689,1.432977583331191e-6,0.0001985670224166449
+18.,0.00019871353213461,0.00029871353213461,1.28646786539006e-6,0.0001987135321345569
+18.5,0.0001988431130660521,0.0002988431130660522,1.156886933947922e-6,0.0001988431130659938
+19.,0.0001989578864533849,0.0002989578864533851,1.042113546615083e-6,0.0001989578864533427
+19.5,0.0001990590166426545,0.0002990590166426547,9.40983357345464e-7,0.000199059016642631
+20.,0.0001991480672871676,0.0002991480672871677,8.519327128324005e-7,0.0001991480672871815
+20.5,0.0001992267320722729,0.000299226732072273,7.73267927727073e-7,0.00019922673207235
+21.,0.0001992962864655444,0.0002992962864655445,7.037135344555884e-7,0.0001992962864656486
+21.5,0.0001993578333896112,0.0002993578333896113,6.42166610388819e-7,0.0001993578333896801
+22.,0.000199412226580147,0.0002994122265801471,5.877734198529674e-7,0.0001994122265801411
+22.5,0.0001994599906308038,0.0002994599906308039,5.400093691962003e-7,0.0001994599906307436
+23.,0.000199502063422171,0.0002995020634221712,4.979365778289437e-7,0.0001995020634220497
+23.5,0.000199539230832562,0.000299539230832562,4.607691674380282e-7,0.0001995392308323883
+24.,0.000199572071414542,0.0002995720714145421,4.279285854580017e-7,0.0001995720714144007
+24.5,0.0001996012038487448,0.0002996012038487449,3.987961512551613e-7,0.0001996012038487668
+25.,0.0001996269934832319,0.000299626993483232,3.730065167680339e-7,0.0001996269934832319
diff --git a/models/sbml-test-suite/cases/semantic/01054/01054-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01054/01054-sbml-l1v2.xml
new file mode 100644
index 0000000..40dda22
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01054/01054-sbml-l1v2.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01054">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.0001" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.0002" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0.0001" units="substance"/>
+      <species name="S4" compartment="C" initialAmount="0.0001" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.75"/>
+      <parameter name="kr" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule formula="S4 + -1 * S1"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 * S2 + -1 * kr * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01054/01054-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01054/01054-sbml-l2v4.xml
new file mode 100644
index 0000000..84d8641
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01054/01054-sbml-l2v4.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01054" id="case01054" name="case01054">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.75"/>
+      <parameter id="kr" name="kr" value="0.25"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01054/01054-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01054/01054-sbml-l3v1.xml
new file mode 100644
index 0000000..1500106
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01054/01054-sbml-l3v1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01054" id="case01054" name="case01054" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.75" constant="true"/>
+      <parameter id="kr" name="kr" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01054/01054-settings.txt b/models/sbml-test-suite/cases/semantic/01054/01054-settings.txt
new file mode 100644
index 0000000..1850cb9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01054/01054-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 25.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01055/01055-results.csv b/models/sbml-test-suite/cases/semantic/01055/01055-results.csv
new file mode 100644
index 0000000..b2f90a1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01055/01055-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.1,0.9142483152584428,0.08575168474155696
+0.2,0.8364627607178646,0.1635372392821351
+0.3,0.7659033027229892,0.2340966972770104
+0.4,0.7018986483804176,0.298101351619582
+0.5,0.6438398834839568,0.3561601165160428
+0.6,0.5911746413366045,0.408825358663395
+0.7,0.5434018752558964,0.4565981247441033
+0.8,0.5000670755411827,0.4999329244588169
+0.9,0.4607579907834843,0.5392420092165155
+1.,0.4251006156469335,0.5748993843530663
+1.1,0.3927557540293014,0.6072442459706982
+1.2,0.363415621774797,0.6365843782252027
+1.3,0.3368011465637819,0.6631988534362177
+1.4,0.3126590766615867,0.6873409233384129
+1.5,0.2907597336158243,0.7092402663841753
+1.6,0.2708948162088166,0.729105183791183
+1.7,0.2528753062485101,0.7471246937514896
+1.8,0.2365297620885568,0.7634702379114428
+1.9,0.2217026705790048,0.7782973294209949
+2.,0.2082529776975664,0.7917470223024333
+2.1,0.1960527323082339,0.8039472676917658
+2.2,0.1849858658535986,0.8150141341464012
+2.3,0.1749470894969834,0.8250529105030163
+2.4,0.165840893526765,0.8341591064732347
+2.5,0.157580639553559,0.8424193604464408
+2.6,0.1500877387142287,0.8499122612857711
+2.7,0.1432909090907995,0.8567090909092003
+2.8,0.1371254903058226,0.8628745096941771
+2.9,0.1315328268698907,0.868467173130109
+3.,0.126459710849629,0.8735402891503708
+3.1,0.1218578762141979,0.8781421237858019
+3.2,0.1176835400749328,0.882316459925067
+3.3,0.1138969874020085,0.8861030125979914
+3.4,0.1104621957426982,0.8895378042573016
+3.5,0.1073464888383761,0.8926535111616238
+3.6,0.1045202250142094,0.8954797749857905
+3.7,0.1019565135137126,0.8980434864862874
+3.8,0.09963096622935149,0.9003690337706483
+3.9,0.09752145686211001,0.9024785431378898
+4.,0.09560791597728415,0.9043920840227157
+4.1,0.09387213854589203,0.9061278614541078
+4.2,0.09229761074573571,0.9077023892542641
+4.3,0.09086935285219,0.9091306471478098
+4.4,0.08957377672403722,0.9104262232759625
+4.5,0.08839855652848888,0.9116014434715108
+4.6,0.08733251147555004,0.9126674885244496
+4.7,0.08636549926901639,0.9136345007309832
+4.8,0.08548832022457443,0.9145116797754252
+4.9,0.08469262937637936,0.9153073706236202
+5.,0.08397085620211741,0.9160291437978822
diff --git a/models/sbml-test-suite/cases/semantic/01055/01055-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01055/01055-sbml-l1v2.xml
new file mode 100644
index 0000000..24afab4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01055/01055-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01055">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01055/01055-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01055/01055-sbml-l2v4.xml
new file mode 100644
index 0000000..e02a808
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01055/01055-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01055" id="case01055" name="case01055">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01055/01055-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01055/01055-sbml-l3v1.xml
new file mode 100644
index 0000000..3b6a89f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01055/01055-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01055" id="case01055" name="case01055" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01055/01055-settings.txt b/models/sbml-test-suite/cases/semantic/01055/01055-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01055/01055-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01056/01056-results.csv b/models/sbml-test-suite/cases/semantic/01056/01056-results.csv
new file mode 100644
index 0000000..73071d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01056/01056-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.2,0.9064645346409043,0.4064645346409041,0.09353546535909597
+0.4,0.837768668416168,0.3377686684161677,0.1622313315838322
+0.6,0.7857368097117591,0.2857368097117588,0.214263190288241
+0.8,0.745399430992763,0.2453994309927627,0.2546005690072372
+1.,0.7135607449682854,0.2135607449682851,0.2864392550317146
+1.2,0.6880716385294087,0.1880716385294082,0.3119283614705916
+1.4,0.6674334125830857,0.1674334125830851,0.3325665874169146
+1.6,0.6505691257472551,0.1505691257472544,0.3494308742527453
+1.8,0.6366852274857909,0.1366852274857902,0.3633147725142094
+2.,0.6251844605317147,0.1251844605317142,0.3748155394682856
+2.2,0.615609115107369,0.1156091151073684,0.3843908848926312
+2.4,0.6076029747342909,0.1076029747342902,0.3923970252657094
+2.6,0.6008851193163851,0.1008851193163844,0.3991148806836152
+2.8,0.595231466781812,0.09523146678181128,0.4047685332181884
+3.,0.5904615198658586,0.09046151986585789,0.4095384801341417
+3.2,0.5864286508733929,0.08642865087339232,0.4135713491266073
+3.4,0.5830128764921798,0.08301287649217924,0.4169871235078204
+3.6,0.5801153982812329,0.08011539828123236,0.4198846017187673
+3.8,0.5776544232306821,0.07765442323068157,0.4223455767693182
+4.,0.5755619159020228,0.07556191590202221,0.4244380840979776
+4.2,0.573781062090809,0.07378106209080839,0.4262189379091915
+4.4,0.5722642513885463,0.07226425138854579,0.427735748611454
+4.6,0.5709714689156221,0.07097146891562164,0.4290285310843781
+4.8,0.5698689957940575,0.06986899579405705,0.4301310042059427
+5.,0.5689283590451259,0.06892835904512546,0.4310716409548743
+5.2,0.568125468409091,0.06812546840909053,0.4318745315909092
+5.4,0.5674399095194768,0.06743990951947634,0.4325600904805234
+5.6,0.566854358434863,0.06685435843486262,0.433145641565137
+5.8,0.5663540968173325,0.06635409681733202,0.4336459031826677
+6.,0.5659266071883154,0.06592660718831504,0.4340733928116847
+6.2,0.5655612345007755,0.06556123450077504,0.4344387654992247
+6.4,0.565248902280204,0.06524890228020352,0.4347510977197963
+6.6,0.5649818739294438,0.06498187392944339,0.4350181260705564
+6.8,0.564753551666755,0.06475355166675445,0.4352464483332453
+7.,0.5645583044339713,0.06455830443397084,0.4354416955660289
+7.2,0.5643913272263778,0.0643913272263773,0.4356086727736224
+7.4,0.5642485160900182,0.06424851609001777,0.4357514839099819
+7.6,0.5641263655419253,0.06412636554192478,0.4358736344580749
+7.8,0.5640218815013897,0.06402188150138928,0.4359781184986104
+8.,0.5639325042038095,0.06393250420380906,0.4360674957961905
+8.2,0.5638560468630666,0.06385604686306611,0.4361439531369336
+8.4,0.5637906393610657,0.06379063936106535,0.4362093606389344
+8.6,0.563734683226023,0.06373468322602254,0.4362653167739771
+8.8,0.5636868115884714,0.06368681158847103,0.4363131884115286
+9.,0.5636458554120057,0.06364585541200543,0.4363541445879942
+9.2,0.5636108152403256,0.06361081524032531,0.4363891847596743
+9.4,0.5635808358786997,0.06358083587869949,0.4364191641213002
+9.6,0.5635551862126798,0.06355518621267941,0.4364448137873203
+9.8,0.563533240585486,0.06353324058548559,0.4364667594145141
+10.,0.5635144639882953,0.06351446398829473,0.4364855360117049
diff --git a/models/sbml-test-suite/cases/semantic/01056/01056-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01056/01056-sbml-l1v2.xml
new file mode 100644
index 0000000..1e7d33e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01056/01056-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01056">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="1.1"/>
+      <parameter name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 * S2 + -1 * kr * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01056/01056-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01056/01056-sbml-l2v4.xml
new file mode 100644
index 0000000..2ded62a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01056/01056-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01056" id="case01056" name="case01056">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01056/01056-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01056/01056-sbml-l3v1.xml
new file mode 100644
index 0000000..aa58e7b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01056/01056-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01056" id="case01056" name="case01056" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01056/01056-settings.txt b/models/sbml-test-suite/cases/semantic/01056/01056-settings.txt
new file mode 100644
index 0000000..9781387
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01056/01056-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01057/01057-results.csv b/models/sbml-test-suite/cases/semantic/01057/01057-results.csv
new file mode 100644
index 0000000..96e3804
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01057/01057-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.1,0.7801790747220285,0.7198209252779714,0.2198209252779709
+0.2,0.6121116963789492,0.8878883036210507,0.3878883036210504
+0.3,0.4844838548952156,1.015516145104784,0.515516145104784
+0.4,0.3880646348602712,1.111935365139728,0.6119353651397283
+0.5,0.3155065934670892,1.184493406532911,0.6844934065329104
+0.6,0.2610650459713949,1.238934954028605,0.7389349540286048
+0.7,0.2203066768115224,1.279693323188478,0.7796933231884773
+0.8,0.1898427909551363,1.310157209044864,0.8101572090448636
+0.9,0.1671013929743826,1.332898607025617,0.8328986070256173
+1.,0.150140515363472,1.349859484636528,0.8498594846365277
+1.1,0.1374995341824785,1.362500465817521,0.8625004658175212
+1.2,0.1280830195926208,1.371916980407379,0.8719169804073788
+1.3,0.1210711462304827,1.378928853769517,0.8789288537695171
+1.4,0.1158513466263468,1.384148653373653,0.8841486533736531
+1.5,0.111966428433243,1.388033571566757,0.8880335715667567
+1.6,0.1090754722842808,1.390924527715719,0.890924527715719
+1.7,0.1069244240624349,1.393075575937565,0.8930755759375649
+1.8,0.1053240524486721,1.394675947551327,0.8946759475513277
+1.9,0.1041334594443718,1.395866540555628,0.8958665405556279
+2.,0.1032477631469481,1.396752236853052,0.8967522368530515
+2.1,0.1025889068091304,1.397411093190869,0.8974110931908692
+2.2,0.1020988064560762,1.397901193543924,0.8979011935439233
+2.3,0.101734245069293,1.398265754930707,0.8982657549307065
+2.4,0.101463069912992,1.398536930087008,0.8985369300870076
+2.5,0.1012613613416976,1.398738638658302,0.898738638658302
+2.6,0.1011113254183241,1.398888674581676,0.8988886745816756
+2.7,0.1009997255926618,1.399000274407338,0.8990002744073379
+2.8,0.1009167157011023,1.399083284298898,0.8990832842988972
+2.9,0.100854971702119,1.399145028297881,0.8991450282978807
+3.,0.1008090456985285,1.399190954301471,0.8991909543014713
+3.1,0.1007748854718443,1.399225114528156,0.8992251145281555
+3.2,0.1007494766411436,1.399250523358856,0.8992505233588563
+3.3,0.1007305773648939,1.399269422635106,0.899269422635106
+3.4,0.1007165199256037,1.399283480074396,0.899283480074396
+3.5,0.1007060638721755,1.399293936127824,0.8992939361278243
+3.6,0.1006982865587182,1.399301713441282,0.8993017134412816
+3.7,0.1006925017316733,1.399307498268327,0.8993074982683265
+3.8,0.1006881989303313,1.399311801069669,0.8993118010696685
+3.9,0.1006849984723328,1.399315001527667,0.899315001527667
+4.,0.1006826179464744,1.399317382053526,0.8993173820535256
+4.1,0.1006808472928433,1.399319152707157,0.8993191527071566
+4.2,0.100679530267059,1.399320469732941,0.8993204697329412
+4.3,0.1006785506532387,1.399321449346761,0.8993214493467613
+4.4,0.1006778220090586,1.399322177990941,0.8993221779909415
+4.5,0.100677280038026,1.399322719961974,0.8993227199619741
+4.6,0.1006768769159033,1.399323123084097,0.8993231230840969
+4.7,0.1006765770696654,1.399323422930335,0.8993234229303348
+4.8,0.1006763540428806,1.399323645957119,0.8993236459571195
+4.9,0.1006761881543798,1.39932381184562,0.8993238118456203
+5.,0.1006760647649644,1.399323935235036,0.8993239352350358
diff --git a/models/sbml-test-suite/cases/semantic/01057/01057-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01057/01057-sbml-l1v2.xml
new file mode 100644
index 0000000..2dc1db3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01057/01057-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01057">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01057/01057-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01057/01057-sbml-l2v4.xml
new file mode 100644
index 0000000..9409fae
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01057/01057-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01057" id="case01057" name="case01057">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01057/01057-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01057/01057-sbml-l3v1.xml
new file mode 100644
index 0000000..4d10d83
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01057/01057-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01057" id="case01057" name="case01057" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01057/01057-settings.txt b/models/sbml-test-suite/cases/semantic/01057/01057-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01057/01057-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01058/01058-results.csv b/models/sbml-test-suite/cases/semantic/01058/01058-results.csv
new file mode 100644
index 0000000..2dd3630
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01058/01058-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1,0
+0.24,0.8074108774511052,0.192589122548895
+0.48,0.6550032569642327,0.3449967430357674
+0.72,0.5343936181798833,0.4656063818201169
+0.96,0.4389477413420267,0.5610522586579735
+1.2,0.3634155711637972,0.6365844288362029
+1.44,0.3036423099985429,0.6963576900014572
+1.68,0.2563400366375685,0.7436599633624316
+1.92,0.2189068224408446,0.7810931775591554
+2.16,0.189283602959822,0.8107163970401781
+2.4,0.165840914905373,0.834159085094627
+2.64,0.1472892639684953,0.8527107360315047
+2.88,0.1326081935987126,0.8673918064012874
+3.12,0.1209901530969017,0.8790098469030983
+3.36,0.1117960773319783,0.8882039226680217
+3.6,0.1045202346123351,0.8954797653876649
+3.84,0.09876240901811581,0.9012375909818842
+4.08,0.09420588667469243,0.9057941133253075
+4.32,0.09060003402016999,0.90939996597983
+4.56,0.08774650757945186,0.9122534924205481
+4.8,0.08548833357111017,0.9145116664288898
+5.04,0.08370128624328521,0.9162987137567147
+5.28,0.0822870857091096,0.9177129142908903
+5.52,0.08116795815302622,0.9188320418469737
+5.76,0.08028231669432534,0.9197176833056746
+6,0.07958143964964158,0.9204185603503584
+6.24,0.07902681424371055,0.9209731857562895
+6.48,0.0785878907214574,0.9214121092785427
+6.72,0.07824054287126772,0.9217594571287322
+6.96,0.07796567842249881,0.9220343215775012
+7.2,0.07774814073142572,0.9222518592685742
+7.44,0.07757601346059419,0.9224239865394058
+7.68,0.07743977361719559,0.9225602263828044
+7.92,0.07733198268246079,0.9226680173175392
+8.16,0.07724665912224103,0.922753340877759
+8.4,0.07717915411429309,0.9228208458857069
+8.64,0.07712572494760135,0.9228742750523986
+8.88,0.07708344030386052,0.9229165596961395
+9.12,0.07704999338332219,0.9229500066166777
+9.36,0.07702350211802375,0.9229764978819762
+9.6,0.07700255468950441,0.9229974453104956
+9.84,0.07698597739918298,0.9230140226008169
+10.08,0.07697284364214363,0.9230271563578563
+10.32,0.076962466080137,0.9230375339198629
+10.56,0.07695425356142747,0.9230457464385725
+10.8,0.07694773927511353,0.9230522607248864
+11.04,0.0769425943917405,0.9230574056082594
+11.28,0.07693853162088926,0.9230614683791107
+11.52,0.07693530681632137,0.9230646931836787
+11.76,0.07693275502058307,0.923067244979417
+12,0.07693073701677565,0.9230692629832243
diff --git a/models/sbml-test-suite/cases/semantic/01058/01058-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01058/01058-sbml-l1v2.xml
new file mode 100644
index 0000000..c8dec47
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01058/01058-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01058">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="0.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01058/01058-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01058/01058-sbml-l2v4.xml
new file mode 100644
index 0000000..cb9a67d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01058/01058-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01058" id="case01058" name="case01058">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01058/01058-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01058/01058-sbml-l3v1.xml
new file mode 100644
index 0000000..79f7cfc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01058/01058-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01058" id="case01058" name="case01058" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01058/01058-settings.txt b/models/sbml-test-suite/cases/semantic/01058/01058-settings.txt
new file mode 100644
index 0000000..a75ec03
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01058/01058-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 12.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01059/01059-results.csv b/models/sbml-test-suite/cases/semantic/01059/01059-results.csv
new file mode 100644
index 0000000..0da15ff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01059/01059-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1,0.5,0
+0.06,0.9859922804493677,0.4859922804493677,0.01400771955063233
+0.12,0.9726363220403544,0.4726363220403546,0.0273636779596455
+0.18,0.9598920270364739,0.4598920270364739,0.04010797296352612
+0.24,0.9477224697869451,0.4477224697869451,0.05227753021305493
+0.3,0.9360936395571726,0.4360936395571727,0.06390636044282738
+0.36,0.9249740603663809,0.4249740603663808,0.07502593963361924
+0.42,0.9143346283327065,0.4143346283327066,0.08566537166729343
+0.48,0.9041484346385015,0.4041484346385015,0.09585156536149855
+0.54,0.8943904482749909,0.3943904482749909,0.1056095517250091
+0.6,0.8850374038108312,0.3850374038108312,0.1149625961891689
+0.66,0.8760676850006517,0.3760676850006517,0.1239323149993484
+0.72,0.8674611979091363,0.3674611979091363,0.1325388020908637
+0.78,0.8591991279930007,0.3591991279930007,0.1408008720069993
+0.84,0.8512639038752743,0.3512639038752743,0.1487360961247257
+0.9,0.8436391136672424,0.3436391136672425,0.1563608863327576
+0.96,0.8363094525974898,0.3363094525974898,0.1636905474025103
+1.02,0.8292605371164734,0.3292605371164734,0.1707394628835267
+1.08,0.8224788374171893,0.3224788374171893,0.1775211625828108
+1.14,0.8159516717912259,0.3159516717912258,0.1840483282087742
+1.2,0.8096671321480379,0.3096671321480379,0.1903328678519622
+1.26,0.803614054032182,0.303614054032182,0.1963859459678181
+1.32,0.7977818843967482,0.2977818843967482,0.2022181156032518
+1.38,0.7921606558481346,0.2921606558481346,0.2078393441518655
+1.44,0.7867409829430673,0.2867409829430673,0.2132590170569328
+1.5,0.7815140132078999,0.2815140132078998,0.2184859867921003
+1.56,0.7764714075216945,0.2764714075216945,0.2235285924783056
+1.62,0.7716052537686595,0.2716052537686595,0.2283947462313405
+1.68,0.7669080499810208,0.2669080499810208,0.2330919500189794
+1.74,0.7623727019137233,0.2623727019137232,0.2376272980862769
+1.8,0.7579924921020793,0.2579924921020792,0.2420075078979209
+1.86,0.7537610677914038,0.2537610677914038,0.2462389322085962
+1.92,0.7496723817938246,0.2496723817938245,0.2503276182061756
+1.98,0.7457206811435073,0.2457206811435073,0.2542793188564927
+2.04,0.7419005054678314,0.2419005054678313,0.2580994945321688
+2.1,0.7382066670101052,0.2382066670101051,0.261793332989895
+2.16,0.7346342430187423,0.2346342430187422,0.2653657569812579
+2.22,0.7311785341393577,0.2311785341393578,0.2688214658606423
+2.28,0.7278350565767637,0.2278350565767637,0.2721649434232364
+2.34,0.7245995409766083,0.2245995409766082,0.2754004590233919
+2.4,0.7214679192923529,0.2214679192923528,0.2785320807076473
+2.46,0.7184363198907339,0.2184363198907338,0.2815636801092663
+2.52,0.7155010375812102,0.2155010375812102,0.2844989624187899
+2.58,0.7126585280731677,0.2126585280731677,0.2873414719268324
+2.64,0.709905407192831,0.209905407192831,0.2900945928071691
+2.7,0.7072384421207701,0.2072384421207701,0.2927615578792299
+2.76,0.7046545481946965,0.2046545481946965,0.2953454518053036
+2.82,0.7021507668646446,0.2021507668646445,0.2978492331353555
+2.88,0.6997242616908973,0.1997242616908973,0.3002757383091028
+2.94,0.6973723182810806,0.1973723182810805,0.3026276817189195
+3,0.6950923395305554,0.1950923395305553,0.3049076604694447
diff --git a/models/sbml-test-suite/cases/semantic/01059/01059-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01059/01059-sbml-l1v2.xml
new file mode 100644
index 0000000..6c5390d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01059/01059-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01059">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="2.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="1.1"/>
+      <parameter name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 * S2 + -1 * kr * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01059/01059-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01059/01059-sbml-l2v4.xml
new file mode 100644
index 0000000..8af108f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01059/01059-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01059" id="case01059" name="case01059">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01059/01059-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01059/01059-sbml-l3v1.xml
new file mode 100644
index 0000000..727c71d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01059/01059-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01059" id="case01059" name="case01059" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01059/01059-settings.txt b/models/sbml-test-suite/cases/semantic/01059/01059-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01059/01059-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01060/01060-results.csv b/models/sbml-test-suite/cases/semantic/01060/01060-results.csv
new file mode 100644
index 0000000..f26b2a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01060/01060-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.9999999999999999,0.4999999999999999,0
+0.06,0.8612170137400856,0.6387829862599141,0.1387829862599143
+0.12,0.7429226855700387,0.7570773144299612,0.2570773144299612
+0.18,0.6423942887378297,0.8576057112621702,0.3576057112621702
+0.24,0.5571812291478625,0.9428187708521374,0.4428187708521374
+0.3,0.4851062509591047,1.014893749040895,0.5148937490408952
+0.36,0.4242551663236964,1.075744833676303,0.5757448336763035
+0.42,0.3729593541423457,1.127040645857654,0.6270406458576542
+0.48,0.3297745767882686,1.170225423211731,0.6702254232117313
+0.54,0.2934581934339767,1.206541806566023,0.7065418065660232
+0.6,0.2629459882995158,1.237054011700484,0.7370540117004842
+0.66,0.2373301671840586,1.262669832815941,0.7626698328159414
+0.72,0.2158389169168271,1.284161083083172,0.7841610830831729
+0.78,0.1978179464047999,1.3021820535952,0.8021820535952
+0.84,0.1827138545921445,1.317286145407855,0.8172861454078555
+0.9,0.1700593873978302,1.32994061260217,0.8299406126021698
+0.96,0.1594606183404903,1.34053938165951,0.8405393816595096
+1.02,0.1505859744412043,1.349414025558795,0.8494140255587956
+1.08,0.143156713566636,1.356843286433364,0.8568432864333638
+1.14,0.1369386071823441,1.363061392817656,0.8630613928176557
+1.2,0.1317349679957204,1.368265032004279,0.8682650320042796
+1.26,0.1273809103563925,1.372619089643607,0.8726190896436074
+1.32,0.1237381467903364,1.376261853209663,0.8762618532096635
+1.38,0.1206906944553754,1.379309305544624,0.8793093055446245
+1.44,0.1181415237358215,1.381858476264178,0.8818584762641784
+1.5,0.116009279425577,1.383990720574422,0.8839907205744229
+1.56,0.1142258449790355,1.385774155020964,0.8857741550209645
+1.62,0.1127342819143417,1.387265718085658,0.8872657180856581
+1.68,0.111486798892758,1.388513201107241,0.888513201107242
+1.74,0.110443562797191,1.389556437202808,0.8895564372028089
+1.8,0.1095710836774447,1.390428916322555,0.8904289163225552
+1.86,0.1088414966261882,1.391158503373811,0.8911585033738116
+1.92,0.1082313443015867,1.391768655698413,0.8917686556984131
+1.98,0.1077211498464832,1.392278850153516,0.8922788501535167
+2.04,0.1072944737967888,1.392705526203211,0.8927055262032111
+2.1,0.1069377179693648,1.393062282030635,0.8930622820306351
+2.16,0.1066393622725771,1.393360637727422,0.8933606377274229
+2.22,0.1063898992231638,1.393610100776836,0.8936101007768361
+2.28,0.1061812938903797,1.39381870610962,0.8938187061096203
+2.34,0.106006845701527,1.393993154298473,0.893993154298473
+2.4,0.1058610029274345,1.394138997072565,0.8941389970725655
+2.46,0.1057390204443526,1.394260979555647,0.8942609795556474
+2.52,0.1056370343727751,1.394362965627224,0.8943629656272248
+2.58,0.1055517694625427,1.394448230537457,0.8944482305374573
+2.64,0.1054804430987462,1.394519556901253,0.8945195569012537
+2.7,0.1054208193208355,1.394579180679164,0.8945791806791644
+2.76,0.1053709747073935,1.394629025292606,0.8946290252926065
+2.82,0.1053292690969716,1.394670730903028,0.8946707309030284
+2.88,0.1052944059762873,1.394705594023712,0.8947055940237126
+2.94,0.1052652714799507,1.394734728520049,0.8947347285200493
+3,0.1052408985315039,1.394759101468495,0.8947591014684961
diff --git a/models/sbml-test-suite/cases/semantic/01060/01060-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01060/01060-sbml-l1v2.xml
new file mode 100644
index 0000000..0eee015
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01060/01060-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01060">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="0.95" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01060/01060-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01060/01060-sbml-l2v4.xml
new file mode 100644
index 0000000..e1aa568
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01060/01060-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01060" id="case01060" name="case01060">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.95" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01060/01060-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01060/01060-sbml-l3v1.xml
new file mode 100644
index 0000000..a0bbc46
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01060/01060-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01060" id="case01060" name="case01060" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.95" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01060/01060-settings.txt b/models/sbml-test-suite/cases/semantic/01060/01060-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01060/01060-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01061/01061-results.csv b/models/sbml-test-suite/cases/semantic/01061/01061-results.csv
new file mode 100644
index 0000000..d9df080
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01061/01061-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.16,0.866670021435293,0.1333299785647067
+0.32,0.7525983336921141,0.2474016663078854
+0.48,0.6550032463135467,0.3449967536864528
+0.64,0.5715048812730874,0.4284951187269122
+0.8,0.5000670755411827,0.4999329244588169
+0.96,0.4389478232422685,0.5610521767577313
+1.12,0.3866566630620043,0.6133433369379953
+1.28,0.3419184897159534,0.6580815102840462
+1.44,0.303642346747309,0.6963576532526906
+1.6,0.2708948162088166,0.729105183791183
+1.76,0.2428773744510044,0.7571226255489952
+1.92,0.2189068042096757,0.7810931957903239
+2.08,0.1983985675845211,0.8016014324154786
+2.24,0.1808525546621354,0.8191474453378643
+2.4,0.165840893526765,0.8341591064732347
+2.56,0.152997526825388,0.8470024731746118
+2.72,0.1420092696464903,0.8579907303535094
+2.88,0.1326081689209019,0.8673918310790979
+3.04,0.1245649723807568,0.875435027619243
+3.2,0.1176835400749328,0.882316459925067
+3.36,0.1117960640874081,0.8882039359125918
+3.52,0.1067589795941432,0.8932410204058567
+3.68,0.1024494555622902,0.8975505444377097
+3.84,0.09876240862446789,0.9012375913755319
+4.,0.09560791597728415,0.9043920840227157
+4.16,0.09290906165053169,0.9070909383494681
+4.32,0.09060003552794755,0.9093999644720522
+4.48,0.08862452297687009,0.9113754770231297
+4.64,0.0869343559776618,0.9130656440223379
+4.8,0.08548832022457443,0.9145116797754252
+4.96,0.08425114791163457,0.9157488520883649
+5.12,0.08319267700237789,0.9168073229976216
+5.28,0.08228708957043842,0.9177129104295611
+5.44,0.08151230810187018,0.9184876918981294
+5.6,0.0808494353461113,0.9191505646538883
+5.76,0.08028230906279473,0.9197176909372047
+5.92,0.0797970990320355,0.9202029009679639
+6.08,0.07938197260883825,0.9206180273911612
+6.24,0.07902680818356468,0.9209731918164346
+6.4,0.07872294309082535,0.921277056909174
+6.56,0.07846296934377884,0.9215370306562205
+6.72,0.07824054574876693,0.9217594542512324
+6.88,0.07805024964359044,0.9219497503564086
+7.04,0.07788743984240457,0.9221125601575946
+7.2,0.07774814645736009,0.9222518535426391
+7.36,0.07762897283378512,0.922371027166214
+7.52,0.07752701254331879,0.9224729874566803
+7.68,0.07743977972053812,0.922560220279461
+7.84,0.0773651466369615,0.9226348533630377
+8.,0.07730129382676605,0.9226987061732332
diff --git a/models/sbml-test-suite/cases/semantic/01061/01061-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01061/01061-sbml-l1v2.xml
new file mode 100644
index 0000000..b8545a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01061/01061-sbml-l1v2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01061">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="0.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.5" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="0.9"/>
+      <parameter name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01061/01061-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01061/01061-sbml-l2v4.xml
new file mode 100644
index 0000000..a0a4b5b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01061/01061-sbml-l2v4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01061" id="case01061" name="case01061">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.5" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9"/>
+      <parameter id="kr" name="kr" value="0.075"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01061/01061-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01061/01061-sbml-l3v1.xml
new file mode 100644
index 0000000..91221eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01061/01061-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01061" id="case01061" name="case01061" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.5" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01061/01061-settings.txt b/models/sbml-test-suite/cases/semantic/01061/01061-settings.txt
new file mode 100644
index 0000000..d2f3ade
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01061/01061-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2
diff --git a/models/sbml-test-suite/cases/semantic/01062/01062-results.csv b/models/sbml-test-suite/cases/semantic/01062/01062-results.csv
new file mode 100644
index 0000000..215f8b9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01062/01062-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.16,0.9228405801437049,0.4228405801437048,0.07715941985629527
+0.32,0.8628834426659975,0.3628834426659973,0.1371165573340026
+0.48,0.8152862880754407,0.3152862880754404,0.1847137119245595
+0.64,0.7768556011371181,0.2768556011371177,0.2231443988628822
+0.8,0.745399430992763,0.2453994309927627,0.2546005690072372
+0.96,0.7193629821149248,0.2193629821149245,0.2806370178850752
+1.12,0.6976126118372334,0.1976126118372329,0.3023873881627668
+1.28,0.6793022038744743,0.1793022038744738,0.320697796125526
+1.44,0.6637874475355404,0.1637874475355398,0.33621255246446
+1.6,0.6505691257472551,0.1505691257472544,0.3494308742527453
+1.76,0.6392545468894025,0.1392545468894019,0.3607454531105978
+1.92,0.6295307015411671,0.1295307015411665,0.3704692984588332
+2.08,0.621145167873466,0.1211451678734655,0.3788548321265342
+2.24,0.6138922886130385,0.1138922886130379,0.3861077113869617
+2.4,0.6076029747342909,0.1076029747342902,0.3923970252657094
+2.56,0.6021370826189522,0.1021370826189515,0.3978629173810481
+2.72,0.5973776250826029,0.09737762508260218,0.4026223749173975
+2.88,0.5932263260660724,0.09322632606607168,0.4067736739339279
+3.04,0.5896001643139148,0.08960016431391415,0.4103998356860855
+3.2,0.5864286508733929,0.08642865087339232,0.4135713491266073
+3.36,0.5836516746138797,0.08365167461387919,0.4163483253861204
+3.52,0.5812177679909623,0.08121776799096185,0.4187822320090378
+3.68,0.5790827158027123,0.07908271580271181,0.4209172841972879
+3.84,0.5772084094525126,0.07720840945251199,0.4227915905474878
+4.,0.5755619159020228,0.07556191590202221,0.4244380840979776
+4.16,0.5741147046451594,0.07411470464515876,0.4258852953548411
+4.32,0.5728420053718552,0.07284200537185471,0.4271579946281451
+4.48,0.571722271727322,0.07172227172732155,0.4282777282726782
+4.64,0.5707367297729324,0.07073672977293196,0.4292632702270678
+4.8,0.5698689957940575,0.06986899579405705,0.4301310042059427
+4.96,0.569104753161606,0.06910475316160555,0.4308952468383942
+5.12,0.5684314770180706,0.06843147701807009,0.4315685229819297
+5.28,0.5678381988582296,0.06783819885822908,0.4321618011417706
+5.44,0.5673153048218131,0.06731530482181258,0.4326846951781871
+5.6,0.566854358434863,0.06685435843486262,0.433145641565137
+5.76,0.566447955920312,0.06644795592031153,0.4335520440796882
+5.92,0.5660895904060562,0.06608959040605577,0.433910409593944
+6.08,0.5657735451113702,0.06577354511136983,0.4342264548886299
+6.24,0.5654947899647307,0.06549478996473032,0.4345052100352694
+6.4,0.565248902280204,0.06524890228020352,0.4347510977197963
+6.56,0.5650319872169602,0.0650319872169597,0.4349680127830401
+6.72,0.5648406159676328,0.06484061596763227,0.4351593840323675
+6.88,0.5646717697543068,0.06467176975430637,0.4353282302456933
+7.04,0.5645227883366071,0.06452278833660664,0.435477211663393
+7.2,0.5643913272263778,0.0643913272263773,0.4356086727736224
+7.36,0.5642753210092091,0.06427532100920867,0.435724678990791
+7.52,0.5641729486890769,0.06417294868907637,0.4358270513109233
+7.68,0.5640826044113952,0.06408260441139469,0.4359173955886049
+7.84,0.5640028724214929,0.06400287242149235,0.4359971275785072
+8.,0.5639325043291322,0.0639325043291317,0.436067495670868
diff --git a/models/sbml-test-suite/cases/semantic/01062/01062-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01062/01062-sbml-l1v2.xml
new file mode 100644
index 0000000..c22df8c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01062/01062-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01062">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="2.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="2.3" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="1.15" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="1.1"/>
+      <parameter name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 * S2 + -1 * kr * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01062/01062-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01062/01062-sbml-l2v4.xml
new file mode 100644
index 0000000..0e285f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01062/01062-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01062" id="case01062" name="case01062">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="2.3" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1"/>
+      <parameter id="kr" name="kr" value="0.09"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01062/01062-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01062/01062-sbml-l3v1.xml
new file mode 100644
index 0000000..3920f46
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01062/01062-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01062" id="case01062" name="case01062" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="2.3" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01062/01062-settings.txt b/models/sbml-test-suite/cases/semantic/01062/01062-settings.txt
new file mode 100644
index 0000000..cd61bac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01062/01062-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/01063/01063-results.csv b/models/sbml-test-suite/cases/semantic/01063/01063-results.csv
new file mode 100644
index 0000000..b0db776
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01063/01063-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.8611916481419862,0.6388083518580142,0.1388083518580136
+0.12,0.7428181887011865,0.7571818112988136,0.2571818112988133
+0.18,0.6421587465991153,0.8578412534008849,0.3578412534008845
+0.24,0.5567698662418384,0.9432301337581618,0.4432301337581615
+0.3,0.4844838549817913,1.015516145018209,0.5155161450182087
+0.36,0.4233966116090199,1.07660338839098,0.57660338839098
+0.42,0.3718491602923491,1.128150839707651,0.6281508397076508
+0.48,0.3284057340877321,1.171594265912268,0.6715942659122679
+0.54,0.2918305952159941,1.208169404784006,0.7081694047840058
+0.6,0.261065046039847,1.238934953960154,0.7389349539601529
+0.66,0.2352054619026291,1.264794538097371,0.7647945380973708
+0.72,0.2134831034527976,1.286516896547203,0.7865168965472022
+0.78,0.1952455978361925,1.304754402163808,0.8047544021638073
+0.84,0.179940630687101,1.320059369312899,0.820059369312899
+0.9,0.1671013929977449,1.332898607002256,0.8328986070022552
+0.96,0.1563339731483834,1.343666026851617,0.8436660268516169
+1.02,0.1473064003426943,1.352693599657306,0.8526935996573059
+1.08,0.1397391890379605,1.36026081096204,0.8602608109620397
+1.14,0.1333972563504936,1.366602743649507,0.8666027436495067
+1.2,0.1280830196051355,1.371916980394865,0.8719169803948648
+1.26,0.1236305134871911,1.376369486512809,0.8763694865128093
+1.32,0.1199004104235591,1.380099589576441,0.8800995895764414
+1.38,0.1167757792575844,1.383224220742416,0.883224220742416
+1.44,0.1141585356329555,1.385841464367045,0.8858414643670449
+1.5,0.1119664284232472,1.388033571576753,0.8880335715767533
+1.56,0.110130498000236,1.389869501999764,0.8898695019997644
+1.62,0.1085929404793912,1.391407059520609,0.8914070595206093
+1.68,0.1073053121283644,1.392694687871636,0.892694687871636
+1.74,0.1062270187363609,1.393772981263639,0.8937729812636396
+1.8,0.1053240524484464,1.394675947551554,0.8946759475515542
+1.86,0.1045679230435023,1.395432076956498,0.8954320769564984
+1.92,0.1039347637907303,1.39606523620927,0.8960652362092702
+1.98,0.1034045831933199,1.39659541680668,0.8965954168066806
+2.04,0.102960638151256,1.397039361848744,0.8970393618487444
+2.1,0.1025889068091532,1.397411093190847,0.8974110931908473
+2.16,0.1022776455049196,1.397722354495081,0.8977223544950808
+2.22,0.1020170191696639,1.397982980830337,0.8979829808303364
+2.28,0.1017987917521163,1.398201208247884,0.898201208247884
+2.34,0.1016160669912687,1.398383933008732,0.8983839330087317
+2.4,0.1014630699125226,1.398536930087478,0.8985369300874779
+2.46,0.1013349644970079,1.398665035502992,0.8986650355029925
+2.52,0.1012277011924027,1.398772298807597,0.8987722988075977
+2.58,0.1011378893346657,1.398862110665334,0.8988621106653347
+2.64,0.1010626899095293,1.398937310090471,0.898937310090471
+2.7,0.1009997255917325,1.399000274408268,0.899000274408268
+2.76,0.1009470057227717,1.399052994277228,0.8990529942772288
+2.82,0.1009028634677717,1.399097136532228,0.8990971365322287
+2.88,0.1008659034386249,1.399134096561375,0.8991340965613756
+2.94,0.1008349570171635,1.399165042982836,0.899165042982837
+3.,0.1008090457514056,1.399190954248594,0.8991909542485949
diff --git a/models/sbml-test-suite/cases/semantic/01063/01063-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01063/01063-sbml-l1v2.xml
new file mode 100644
index 0000000..fcbfe12
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01063/01063-sbml-l1v2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01063">
+    <listOfUnitDefinitions>
+      <unitDefinition name="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition name="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment name="C" volume="0.95" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="0.95" units="substance"/>
+      <species name="S2" compartment="C" initialAmount="0.475" units="substance"/>
+      <species name="S3" compartment="C" initialAmount="0" units="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter name="kf" value="2.5"/>
+      <parameter name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction name="reaction1">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw formula="-(C * (kf * S1 + -1 * kr * S2 * S3))"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01063/01063-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01063/01063-sbml-l2v4.xml
new file mode 100644
index 0000000..46c5ba5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01063/01063-sbml-l2v4.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case01063" id="case01063" name="case01063">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" size="0.95" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5"/>
+      <parameter id="kr" name="kr" value="0.2"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> C </ci>
+                <apply>
+                  <plus/>
+                  <apply>
+                    <times/>
+                    <ci> kf </ci>
+                    <ci> S1 </ci>
+                  </apply>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> -1 </cn>
+                    <ci> kr </ci>
+                    <ci> S2 </ci>
+                    <ci> S3 </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01063/01063-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01063/01063-sbml-l3v1.xml
new file mode 100644
index 0000000..e9e498f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01063/01063-sbml-l3v1.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01063" id="case01063" name="case01063" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="0.95" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialConcentration="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialConcentration="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialConcentration="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01063/01063-settings.txt b/models/sbml-test-suite/cases/semantic/01063/01063-settings.txt
new file mode 100644
index 0000000..e7bbf91
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01063/01063-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: 
+concentration: S1, S2, S3
diff --git a/models/sbml-test-suite/cases/semantic/01064/01064-results.csv b/models/sbml-test-suite/cases/semantic/01064/01064-results.csv
new file mode 100644
index 0000000..35e3c84
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01064/01064-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.8616727079606161,0.6383272920393838,0.2766545840787671
+0.12,0.7447919324790182,0.7552080675209818,0.5104161350419632
+0.18,0.6465872622274573,0.8534127377725426,0.7068254755450845
+0.24,0.5644642271990528,0.9355357728009471,0.8710715456018935
+0.3,0.4960608273574218,1.003939172642578,1.007878345285155
+0.36,0.4392727543869955,1.060727245613004,1.121454491226007
+0.42,0.392256683654747,1.107743316345253,1.215486632690504
+0.48,0.3534193023920151,1.146580697607985,1.293161395215968
+0.54,0.3213979841979456,1.178602015802054,1.357204031604107
+0.6,0.2950372882210906,1.204962711778909,1.409925423557816
+0.66,0.2733641582161532,1.226635841783847,1.453271683567691
+0.72,0.2555636743033055,1.244436325696695,1.488872651393387
+0.78,0.2409564136757351,1.259043586324265,1.518087172648527
+0.84,0.2289780164431097,1.271021983556891,1.542043967113778
+0.9,0.2191610329255468,1.280838967074453,1.561677934148904
+0.96,0.2111192807154172,1.288880719284583,1.577761438569164
+1.02,0.2045342872276673,1.295465712772333,1.590931425544663
+1.08,0.1991438880151231,1.300856111984877,1.601712223969752
+1.14,0.1947325132758389,1.305267486724161,1.61053497344832
+1.2,0.1911231160783092,1.308876883921691,1.61775376784338
+1.26,0.1881704166109222,1.311829583389078,1.623659166778154
+1.32,0.1857552805250867,1.314244719474914,1.628489438949825
+1.38,0.1837800691793961,1.316219930820604,1.632439861641206
+1.44,0.1821648030614262,1.317835196938574,1.635670393877146
+1.5,0.180843992003667,1.319156007996333,1.638312015992664
+1.56,0.1797640272409757,1.320235972759024,1.640471945518047
+1.62,0.1788810371796498,1.32111896282035,1.642237925640698
+1.68,0.1781591264238181,1.321840873576181,1.643681747152362
+1.74,0.1775689306993571,1.322431069300642,1.644862138601284
+1.8,0.1770864319196693,1.32291356808033,1.645827136160659
+1.86,0.176691987105813,1.323308012894186,1.646616025788372
+1.92,0.1763695329289744,1.323630467071025,1.647260934142049
+1.98,0.1761059343915924,1.323894065608407,1.647788131216813
+2.04,0.1758904516692595,1.32410954833074,1.648219096661479
+2.1,0.1757143038020976,1.324285696197902,1.648571392395802
+2.16,0.1755703117146072,1.324429688285392,1.648859376570783
+2.22,0.1754526061906401,1.324547393809359,1.649094787618717
+2.28,0.1753563889212805,1.324643611078719,1.649287222157436
+2.34,0.1752777375487411,1.324722262451258,1.649444524902515
+2.4,0.1752134453839989,1.324786554616,1.649573109232
+2.46,0.1751608910281392,1.32483910897186,1.649678217943719
+2.52,0.1751179315766129,1.324882068423386,1.649764136846772
+2.58,0.1750828152555256,1.324917184744474,1.649834369488947
+2.64,0.1750541105146971,1.324945889485302,1.649891778970604
+2.7,0.1750306463854922,1.324969353614507,1.649938707229013
+2.76,0.1750114664163874,1.324988533583612,1.649977067167223
+2.82,0.1749957881607985,1.3250042118392,1.650008423678401
+2.88,0.1749829725080639,1.325017027491935,1.65003405498387
+2.94,0.1749724966489235,1.325027503351075,1.650055006702151
+3.,0.1749639335286364,1.325036066471362,1.650072132942725
diff --git a/models/sbml-test-suite/cases/semantic/01064/01064-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01064/01064-sbml-l3v1.xml
new file mode 100644
index 0000000..77d09e1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01064/01064-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01064" id="case01064" name="case01064" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S3" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01064/01064-settings.txt b/models/sbml-test-suite/cases/semantic/01064/01064-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01064/01064-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01065/01065-results.csv b/models/sbml-test-suite/cases/semantic/01065/01065-results.csv
new file mode 100644
index 0000000..a6e2372
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01065/01065-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5,0
+0.1,1.29106,0.417876
+0.2,1.11123,0.777545
+0.3,0.956442,1.08712
+0.4,0.823217,1.35357
+0.5,0.70855,1.5829
+0.6,0.609854,1.78029
+0.7,0.524907,1.95019
+0.8,0.451791,2.09642
+0.9,0.38886,2.22228
+1,0.334695,2.33061
+1.1,0.288075,2.42385
+1.2,0.247948,2.5041
+1.3,0.213411,2.57318
+1.4,0.183685,2.63263
+1.5,0.158099,2.6838
+1.6,0.136077,2.72785
+1.7,0.117122,2.76576
+1.8,0.100808,2.79838
+1.9,0.0867665,2.82647
+2,0.0746806,2.85064
+2.1,0.0642782,2.87144
+2.2,0.0553248,2.88935
+2.3,0.0476185,2.90476
+2.4,0.0409856,2.91803
+2.5,0.0352766,2.92945
+2.6,0.0303629,2.93927
+2.7,0.0261336,2.94773
+2.8,0.0224934,2.95501
+2.9,0.0193602,2.96128
+3,0.0166635,2.96667
+3.1,0.0143424,2.97132
+3.2,0.0123446,2.97531
+3.3,0.0106251,2.97875
+3.4,0.00914512,2.98171
+3.5,0.00787128,2.98426
+3.6,0.00677487,2.98645
+3.7,0.00583119,2.98834
+3.8,0.00501895,2.98996
+3.9,0.00431985,2.99136
+4,0.00371813,2.99256
+4.1,0.00320022,2.9936
+4.2,0.00275446,2.99449
+4.3,0.00237078,2.99526
+4.4,0.00204055,2.99592
+4.5,0.00175632,2.99649
+4.6,0.00151168,2.99698
+4.7,0.00130111,2.9974
+4.8,0.00111988,2.99776
+4.9,0.000963889,2.99807
+5,0.000829627,2.99834
diff --git a/models/sbml-test-suite/cases/semantic/01065/01065-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01065/01065-sbml-l3v1.xml
new file mode 100644
index 0000000..f56491d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01065/01065-sbml-l3v1.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01065" id="case01065" name="case01065" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01065/01065-settings.txt b/models/sbml-test-suite/cases/semantic/01065/01065-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01065/01065-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01066/01066-results.csv b/models/sbml-test-suite/cases/semantic/01066/01066-results.csv
new file mode 100644
index 0000000..c20deef
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01066/01066-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.1,0.2,0.1
+0.2,0.06026999450447567,0.1602699945044757,0.1325638225527571
+0.4,0.04268333961660282,0.142683339616603,0.1418528676323988
+0.6,0.03357765983556926,0.1335776598355695,0.1424035721589239
+0.8,0.0283605195948833,0.1283605195948835,0.1391614685124014
+1.,0.0251055383419735,0.1251055383419737,0.1342098436993093
+1.2,0.02290057966583209,0.1229005796658323,0.1285304784690697
+1.4,0.02128205755099267,0.1212820575509929,0.1226142543900989
+1.6,0.02000384331785076,0.1200038433178509,0.1167131248141063
+1.8,0.01893143526818101,0.1189314352681812,0.1109563728215837
+2.,0.01798975984136668,0.1179897598413669,0.1054082486199686
+2.2,0.01713615737675474,0.1171361573767549,0.1000978933078293
+2.4,0.01634595116808371,0.1163459511680839,0.09503534729323513
+2.6,0.01560457030937368,0.1156045703093738,0.09022028548428555
+2.8,0.01490318387660439,0.1149031838766046,0.08564684606999259
+3.,0.01423625245687628,0.1142362524568765,0.08130632264624788
+3.2,0.01360014234228671,0.1136001423422869,0.07718867114905336
+3.4,0.01299233481282606,0.1129923348128263,0.0732833530826757
+3.6,0.01241097179461016,0.1124109717946104,0.06957980410254521
+3.8,0.01185459304237128,0.1118545930423715,0.06606768990834234
+4.,0.01132198317521432,0.1113219831752146,0.06273704091474152
+4.2,0.01081208208059032,0.1108120820805905,0.05957831775470132
+4.4,0.01032393208082159,0.1103239320808218,0.05658243733015416
+4.6,0.009856646572341254,0.1098566465723415,0.05374077667939401
+4.8,0.009409391227002725,0.1094093912270029,0.05104516431309351
+5.,0.008981372621443101,0.1089813726214433,0.04848786494072975
+5.2,0.008571831255386306,0.1085718312553865,0.04606156084870068
+5.4,0.008180037178861902,0.1081800371788621,0.04375933182190062
+5.6,0.007805287177054144,0.1078052871770543,0.04157463471258147
+5.8,0.007446902886247841,0.107446902886248,0.03950128326181792
+6.,0.007104229478903338,0.1071042294789035,0.03753342867456033
+6.2,0.006776634677346643,0.1067766346773468,0.03566554087489447
+6.4,0.006463507975699908,0.1064635079757001,0.03389239072320646
+6.6,0.006164259975154165,0.1061642599751544,0.03220903303116753
+6.8,0.005878321813335861,0.105878321813336,0.03061079075755631
+7.,0.005605144618167919,0.1056051446181681,0.0290932398270416
+7.2,0.005344198991414939,0.1053441989914151,0.0276521948551526
+7.4,0.005094974515305867,0.1050949745153061,0.0262836957757327
+7.6,0.004856979269116657,0.1048569792691169,0.02498399523735497
+7.8,0.00462973934066655,0.1046297393406667,0.0237495466069903
+8.,0.004412798352022151,0.1044127983520223,0.02257699278149474
+8.2,0.004205716984593675,0.1042057169845939,0.02146315560758481
+8.4,0.0040080725065542,0.1040080725065544,0.02040502591183416
+8.6,0.003819458304378426,0.1038194583043786,0.01939975412166226
+8.8,0.003639483417289322,0.1036394834172895,0.01844464142717623
+9.,0.003467772070759823,0.10346777207076,0.01753713141413579
+9.2,0.003303963225459985,0.1033039632254601,0.0166748022825526
+9.4,0.003147710121188777,0.1031477101211889,0.01585535942674347
+9.6,0.002998679822925638,0.1029986798229258,0.01507662841948827
+9.8,0.002856552775971812,0.102856552775972,0.01433654843080588
+10.,0.002721022384689117,0.1027210223846893,0.01363316616217136
diff --git a/models/sbml-test-suite/cases/semantic/01066/01066-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01066/01066-sbml-l3v1.xml
new file mode 100644
index 0000000..524e33a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01066/01066-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01066" id="case01066" name="case01066" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="17" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference id="generatedId_0" species="S3" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01066/01066-settings.txt b/models/sbml-test-suite/cases/semantic/01066/01066-settings.txt
new file mode 100644
index 0000000..67c4569
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01066/01066-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01067/01067-results.csv b/models/sbml-test-suite/cases/semantic/01067/01067-results.csv
new file mode 100644
index 0000000..f936b8e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01067/01067-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.01,0.02,0.01
+0.4,0.01211992074997756,0.02211992074997756,0.009019616915219758
+0.8,0.01397739166858373,0.02397739166858373,0.008193485028526001
+1.2,0.01560841574860294,0.02560841574860294,0.007502981557086072
+1.6,0.01704543520496746,0.02704543520496747,0.006930891457278738
+2.,0.01831731950052899,0.028317319500529,0.006461601550663354
+2.4,0.01944950035144862,0.02944950035144862,0.006081162605303472
+2.8,0.02046419743818918,0.03046419743818918,0.005777262103486356
+3.2,0.02138069625042429,0.03138069625042429,0.005539138755113306
+3.6,0.02221564378305729,0.03221564378305728,0.005357465361780741
+4.,0.02298334830729808,0.03298334830729807,0.005224213763972068
+4.4,0.02369606463772798,0.03369606463772797,0.005132516653573932
+4.8,0.02436426210266756,0.03436426210266755,0.005076531170105792
+5.2,0.02499686694787568,0.03499686694787567,0.005051311386424118
+5.6,0.02560148029419739,0.03560148029419738,0.0050526908139266
+6.,0.02618457121833129,0.03618457121833128,0.005077176425994485
+6.4,0.02675164602405536,0.03675164602405535,0.005121854492372197
+6.8,0.02730739512593108,0.03730739512593108,0.005184308068245577
+7.2,0.02785582034626196,0.03785582034626195,0.005262544956209874
+7.6,0.02840034407528276,0.03840034407528274,0.005354935648421202
+8.,0.02894390290297536,0.03894390290297535,0.005460159947721384
+8.4,0.02948902748622174,0.03948902748622172,0.005577161410554785
+8.8,0.03003791050596323,0.04003791050596321,0.00570510864732961
+9.2,0.03059246453702083,0.0405924645370208,0.005843362472875665
+9.6,0.03115437077894351,0.04115437077894348,0.005991448476837656
+10.,0.03172512067323813,0.0417251206732381,0.006149033787078897
+10.4,0.03230605104284804,0.04230605104284802,0.006315907724308831
+10.8,0.03289837377724626,0.04289837377724624,0.006491965776133379
+11.2,0.03350320096558257,0.04350320096558255,0.006677196379467629
+11.6,0.03412156620756993,0.0441215662075699,0.006871670101063849
+12.,0.03475444276060817,0.04475444276060815,0.007075530798566348
+12.4,0.03540275892945014,0.04540275892945011,0.007288988579514877
+12.8,0.03606741119410781,0.04606741119410778,0.00751231427163754
+13.2,0.036749275465095,0.04674927546509498,0.007745835192592584
+13.6,0.03744921679344014,0.04744921679344012,0.007989932083485385
+14.,0.03816809779439996,0.04816809779439994,0.008245036820083307
+14.4,0.03890678598614837,0.04890678598614834,0.008511631237191029
+14.8,0.03966616031045842,0.0496661603104584,0.008790246585596052
+15.2,0.04044711686441206,0.05044711686441203,0.009081463530369616
+15.6,0.04125057424123802,0.05125057424123799,0.009385913138168859
+16.,0.04207747818492377,0.05207747818492373,0.009704277902556389
+16.4,0.04292880618721785,0.05292880618721782,0.01003729384780326
+16.8,0.04380557158216798,0.05380557158216795,0.01038575268270765
+17.2,0.04470882760730317,0.05470882760730314,0.01075050469962183
+17.6,0.04563967137584849,0.05563967137584846,0.01113246216647768
+18.,0.04659924756082902,0.05659924756082899,0.01153260289305666
+18.4,0.04758875250706901,0.05758875250706898,0.0119519748851973
+18.8,0.04860943780258584,0.05860943780258581,0.01239170072721347
+19.2,0.04966261447688499,0.05966261447688495,0.0128529832449623
+19.6,0.05074965695410634,0.0607496569541063,0.01333711125251528
+20.,0.05187200728339189,0.06187200728339186,0.01384546607967008
diff --git a/models/sbml-test-suite/cases/semantic/01067/01067-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01067/01067-sbml-l3v1.xml
new file mode 100644
index 0000000..ffc8236
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01067/01067-sbml-l3v1.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01067" id="case01067" name="case01067" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="generatedId_1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S1" constant="true"/>
+          <speciesReference id="generatedId_1" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01067/01067-settings.txt b/models/sbml-test-suite/cases/semantic/01067/01067-settings.txt
new file mode 100644
index 0000000..d088026
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01067/01067-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01068/01068-results.csv b/models/sbml-test-suite/cases/semantic/01068/01068-results.csv
new file mode 100644
index 0000000..9373a5c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01068/01068-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.5,0
+0.1,1.291061964045341,0.4178760719093156
+0.2,1.111227330323169,0.7775453393536607
+0.3,0.9564422181701498,1.087115563659699
+0.4,0.8232174416554475,1.353565116689103
+0.5,0.7085498160995695,1.582900367800859
+0.6,0.6098544864049196,1.780291027190159
+0.7,0.5249066151966118,1.950186769606775
+0.8,0.4517912959422058,2.096417408115587
+0.9,0.3888603764504554,2.222279247099088
+1.,0.3346952207759654,2.330609558448068
+1.1,0.288074832571813,2.423850334856373
+1.2,0.2479483043779198,2.504103391244159
+1.3,0.2134110911696576,2.573177817660683
+1.4,0.1836846385039438,2.63263072299211
+1.5,0.1580988364196165,2.683802327160766
+1.6,0.1360769232976315,2.727846153404735
+1.7,0.1171224872957385,2.765755025408521
+1.8,0.1008082575374642,2.79838348492507
+1.9,0.08676647401565509,2.826467051968689
+2.,0.07468060037294749,2.850638799254104
+2.1,0.06427819028053913,2.871443619438921
+2.2,0.05532474891667567,2.889350502166648
+2.3,0.04761845011445885,2.904763099771082
+2.4,0.04098557893252342,2.918028842134952
+2.5,0.03527661555443043,2.929446768891139
+2.6,0.03036286601905099,2.939274267961898
+2.7,0.02613356195161657,2.947732876096767
+2.8,0.02249336454390506,2.95501327091219
+2.9,0.01936021720225144,2.961279565595497
+3.,0.01666349288805201,2.966673014223896
+3.1,0.01434240148761273,2.971315197024775
+3.2,0.01234461999446627,2.975310760011067
+3.3,0.01062511336681583,2.978749773266368
+3.4,0.009145119645693488,2.981709760708613
+3.5,0.007871276984012054,2.984257446031976
+3.6,0.006774870644943125,2.986450258710114
+3.7,0.005831185259484416,2.988337629481031
+3.8,0.005018947904788619,2.989962104190423
+3.9,0.004319848708448,2.991360302583104
+4.,0.003718128210546544,2.992563743578907
+4.1,0.003200222432874866,2.99359955513425
+4.2,0.002754456860882202,2.994491086278235
+4.3,0.00237078299580598,2.995258434008388
+4.4,0.002040551923412866,2.995918896153174
+4.5,0.001756319409540545,2.996487361180918
+4.6,0.001511678130977185,2.996976643738045
+4.7,0.00130111335745946,2.99739777328508
+4.8,0.001119878593261028,2.997760242813477
+4.9,0.0009638884325227682,2.998072223134954
+5.,0.0008296265552292313,2.998340746889541
diff --git a/models/sbml-test-suite/cases/semantic/01068/01068-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01068/01068-sbml-l3v1.xml
new file mode 100644
index 0000000..581fae6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01068/01068-sbml-l3v1.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01068" id="case01068" name="case01068" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1.5" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01068/01068-settings.txt b/models/sbml-test-suite/cases/semantic/01068/01068-settings.txt
new file mode 100644
index 0000000..86341a3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01068/01068-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01069/01069-results.csv b/models/sbml-test-suite/cases/semantic/01069/01069-results.csv
new file mode 100644
index 0000000..37deeff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01069/01069-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0001,0.0002,0.0001
+0.2,0.0001049678872290109,0.000204967887229011,0.00008935801342384627
+0.4,0.0001092867024455099,0.00020928670244551,0.00007996536177943267
+0.6,0.0001130321690168877,0.0002130321690168878,0.00007167583688438726
+0.8,0.0001162714553284234,0.0002162714553284234,0.00006436004375663157
+1.,0.0001190640860459349,0.000219064086045935,0.00005790353761152735
+1.2,0.0001214627691840038,0.0002214627691840038,0.00005220515083979148
+1.4,0.0001235141437751109,0.000223514143775111,0.00004717549420669622
+1.6,0.0001252594525206547,0.0002252594525206547,0.00004273561876015412
+1.8,0.0001267351462310028,0.0002267351462310028,0.00003881582137377712
+2.,0.0001279734251514827,0.0002279734251514828,0.00003535458107750071
+2.2,0.0001290027220007664,0.0002290027220007665,0.00003229761452756871
+2.4,0.0001298481342624947,0.0002298481342624947,0.0000295970343161665
+2.6,0.0001305318079657506,0.0002305318079657506,0.00002721060442857585
+2.8,0.0001310732773342392,0.0002310732773342392,0.00002510108334831633
+3.,0.0001314897716417322,0.0002314897716417322,0.00002323563231040139
+3.2,0.0001317964812408573,0.0002317964812408574,0.00002158530339914912
+3.4,0.0001320067964212401,0.0002320067964212401,0.00002012458090254194
+3.6,0.0001321325195330724,0.0002321325195330725,0.00001883097473182636
+3.8,0.0001321840505389405,0.0002321840505389405,0.00001768466529256701
+4.,0.0001321705530534201,0.0002321705530534201,0.00001666818613446786
+4.2,0.000132100099881748,0.0002321000998817481,0.00001576614609250501
+4.4,0.0001319798020668975,0.0002319798020668975,0.00001496498315598953
+4.6,0.0001318159227364145,0.0002318159227364145,0.00001425274751023108
+4.8,0.0001316139769680322,0.0002316139769680323,0.00001361891135594207
+5.,0.0001313788220185457,0.0002313788220185458,0.00001305419719110638
+5.2,0.000131114733630567,0.0002311147336305671,0.00001255043265710087
+5.4,0.0001308254766507607,0.0002308254766507608,0.0000121004162681365
+5.6,0.000130514364656215,0.0002305143646562151,0.00001169780407956452
+5.8,0.0001301843145562327,0.0002301843145562327,0.00001133700593747196
+6.,0.0001298378926346726,0.0002298378926346727,0.00001101309801465029
+6.2,0.0001294773581789834,0.0002294773581789835,0.00001072173994368136
+6.4,0.000129104697801224,0.000229104697801224,0.0000104591096448718
+6.6,0.0001287216594965303,0.0002287216594965304,0.00001022183865296273
+6.8,0.0001283297810176946,0.0002283297810176946,0.00001000695824349699
+7.,0.0001279304138829305,0.0002279304138829306,9.811853856272812e-6
+7.2,0.0001275247465782585,0.0002275247465782585,9.634221041966458e-6
+7.4,0.0001271138239522637,0.0002271138239522638,9.472028640557187e-6
+7.6,0.0001266985636930818,0.0002266985636930819,9.323487501953424e-6
+7.8,0.000126279772004367,0.0002262797720043671,9.187020720727183e-6
+8.,0.0001258581569887372,0.0002258581569887373,9.061238223460108e-6
+8.2,0.0001254343401830284,0.0002254343401830285,8.944914865343358e-6
+8.4,0.0001250088667154233,0.0002250088667154234,8.836971142674893e-6
+8.6,0.0001245822147095617,0.0002245822147095617,8.736455329968283e-6
+8.8,0.0001241548032986063,0.0002241548032986063,8.642528256917661e-6
+9.,0.0001237269995395111,0.0002237269995395111,8.554450174270116e-6
+9.2,0.0001232991245852229,0.0002232991245852229,8.471569027533806e-6
+9.4,0.000122871459333382,0.000222871459333382,8.393309721043572e-6
+9.6,0.0001224442492293916,0.0002224442492293916,8.319164989084229e-6
+9.8,0.0001220177083991156,0.0002220177083991156,8.248687541454805e-6
+10.,0.0001215920234434612,0.0002215920234434613,8.181482848422862e-6
diff --git a/models/sbml-test-suite/cases/semantic/01069/01069-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01069/01069-sbml-l3v1.xml
new file mode 100644
index 0000000..2887997
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01069/01069-sbml-l3v1.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01069" id="case01069" name="case01069" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="170" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference id="generatedId_0" species="S3" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01069/01069-settings.txt b/models/sbml-test-suite/cases/semantic/01069/01069-settings.txt
new file mode 100644
index 0000000..61fa7e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01069/01069-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01070/01070-results.csv b/models/sbml-test-suite/cases/semantic/01070/01070-results.csv
new file mode 100644
index 0000000..0dd3485
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01070/01070-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.001,0.002,0.001
+0.4,0.001211992074998905,0.002211992074998905,0.0009019616915216053
+0.8,0.001397739166860507,0.002397739166860506,0.0008193485028517552
+1.2,0.001560841574848738,0.002560841574848738,0.0007502981557138531
+1.6,0.001704543520548538,0.002704543520548538,0.0006930891457027398
+2.,0.00183173195004247,0.00283173195004247,0.0006461601550715605
+2.4,0.001944950035155365,0.002944950035155365,0.000608116260524392
+2.8,0.002046419743650067,0.003046419743650066,0.0005777262104408076
+3.2,0.002138069625255656,0.003138069625255655,0.0005539138753926685
+3.6,0.002221564378098057,0.003221564378098056,0.0005357465362955854
+4.,0.002298334830848789,0.003298334830848788,0.0005224213763285951
+4.4,0.002369606464041181,0.00336960646404118,0.0005132516652013191
+4.8,0.002436426210393057,0.003436426210393056,0.0005076531169363622
+5.2,0.002499686694646308,0.003499686694646307,0.0005051311387266043
+5.6,0.002560148029289237,0.003560148029289236,0.0005052690814712107
+6.,0.00261845712180747,0.003618457121807469,0.0005077176426149809
+6.4,0.002675164602404142,0.003675164602404142,0.0005121854492379368
+6.8,0.002730739512579624,0.003730739512579624,0.0005184308068328562
+7.2,0.00278558203460376,0.003785582034603759,0.0005262544956351314
+7.6,0.002840034407499673,0.003840034407499672,0.000535493564860565
+8.,0.002894390290265171,0.00389439029026517,0.0005460159947935543
+8.4,0.002948902748541754,0.003948902748541752,0.0005577161411107398
+8.8,0.003003791050570922,0.004003791050570919,0.00057051086475121
+9.2,0.00305924645375504,0.004059246453755039,0.0005843362472482212
+9.6,0.00311543707791777,0.00411543707791777,0.0005991448476650034
+10.,0.003172512067306292,0.004172512067306293,0.0006149033787225266
+10.4,0.003230605104258685,0.004230605104258686,0.0006315907724554601
+10.8,0.003289837377728877,0.004289837377728878,0.0006491965776089854
+11.2,0.003350320096573574,0.004350320096573575,0.0006677196379282225
+11.6,0.003412156620759446,0.004412156620759446,0.0006871670101022352
+12.,0.00347544427605479,0.00447544427605479,0.0007075530798679033
+12.4,0.003540275892941055,0.004540275892941056,0.000728898857963124
+12.8,0.003606741119412653,0.004606741119412655,0.0007512314271554475
+13.2,0.003674927546509664,0.004674927546509664,0.0007745835192491462
+13.6,0.00374492167934585,0.004744921679345851,0.0007989932083649857
+14.,0.003816809779436331,0.004816809779436333,0.000824503681992045
+14.4,0.003890678598618143,0.004890678598618144,0.0008511631237291009
+14.8,0.003966616031043099,0.004966616031043101,0.0008790246585532214
+15.2,0.00404471168643906,0.005044711686439062,0.0009081463530332975
+15.6,0.00412505742413239,0.005125057424132392,0.0009385913138311161
+16.,0.004207747818483778,0.00520774781848378,0.000970427790242388
+16.4,0.004292880618733478,0.00529288061873348,0.001003729384797438
+16.8,0.004380557158205429,0.00538055715820543,0.001038575268254692
+17.2,0.004470882760738035,0.005470882760738037,0.00107505046997285
+17.6,0.004563967137579102,0.005563967137579103,0.001113246216639963
+18.,0.004659924756083034,0.005659924756083036,0.001153260289305864
+18.4,0.00475887525071132,0.005758875250711322,0.001195197488525706
+18.8,0.004860943780259571,0.005860943780259573,0.0012391700727227
+19.2,0.004966261447687392,0.005966261447687393,0.001285298324494727
+19.6,0.00507496569540986,0.006074965695409862,0.001333711125250468
+20.,0.005187200728339175,0.006187200728339177,0.001384546607967003
diff --git a/models/sbml-test-suite/cases/semantic/01070/01070-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01070/01070-sbml-l3v1.xml
new file mode 100644
index 0000000..23fb2ee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01070/01070-sbml-l3v1.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01070" id="case01070" name="case01070" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="compartment" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="17" constant="true"/>
+      <parameter id="k2" name="k2" value="0.3" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="generatedId_1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> p1 </ci>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S1" constant="true"/>
+          <speciesReference id="generatedId_1" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01070/01070-settings.txt b/models/sbml-test-suite/cases/semantic/01070/01070-settings.txt
new file mode 100644
index 0000000..1651ee1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01070/01070-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01071/01071-results.csv b/models/sbml-test-suite/cases/semantic/01071/01071-results.csv
new file mode 100644
index 0000000..525fa3f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01071/01071-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9424487530290474,1.87202786394052,1.057551246970952
+0.1,0.8935253567664223,1.760647814559027,1.106474643233578
+0.15,0.8516673584578466,1.662832599575355,1.148332641542154
+0.2,0.8156652289448177,1.576243606922262,1.184334771055183
+0.25,0.7845679867904453,1.499045897650766,1.215432013209555
+0.3,0.7576175923644991,1.429779791871586,1.242382407635501
+0.35,0.7417868291933019,0.9727603678089576,1.258213170806698
+0.4,0.7312348474477117,0.9358611979539384,1.268765152552288
+0.45,0.7221240928519471,0.9017217678474913,1.277875907148053
+0.5,0.714296165199064,0.8700422779231045,1.285703834800936
+0.55,0.7076141793730348,0.8405641172955199,1.292385820626965
+0.6,0.7019592422031943,0.8130630637544654,1.298040757796806
+0.65,0.6972276061241483,0.7873437971927379,1.302772393875852
+0.7,0.6933283382718953,0.7632354127169562,1.306671661728104
+0.75,0.6901814193920721,0.740587765735389,1.309818580607928
+0.8,0.6877161639598798,0.7192684387493691,1.31228383604012
+0.85,0.6858699098463757,0.6991602289399335,1.314130090153624
+0.9,0.6845869240398085,0.6801590527607475,1.315413075960191
+0.95,0.6838174818402126,0.6621721850572268,1.316182518159787
+1.,0.6835170876034929,0.6451167708867393,1.316482912396507
+1.05,0.6836458234562047,0.6289185831060459,1.316354176543795
+1.1,0.6841677720894843,0.6135109232495316,1.315832227910515
+1.15,0.6850505476574045,0.5988337288997295,1.314949452342595
+1.2,0.6862648798920734,0.5848327835913388,1.313735120107926
+1.25,0.6877842491842923,0.5714590246153359,1.312215750815707
+1.3,0.6895845920170697,0.5586679844905012,1.31041540798293
+1.35,0.6916440130605349,0.546419246549733,1.308355986939465
+1.4,0.6939425731645145,0.5346760436955494,1.306057426835485
+1.45,0.6964620658088895,0.523404836809613,1.30353793419111
+1.5,0.6991858459067109,0.5125749918093569,1.300814154093288
+1.55,0.702098670161232,0.5021584790572679,1.297901329838767
+1.6,0.7051865575937135,0.4921296110453384,1.294813442406286
+1.65,0.7084366661697537,0.4824648106370353,1.291563333830246
+1.7,0.7118371833992159,0.4731424058035274,1.288162816600783
+1.75,0.7153772293033967,0.4641424477722769,1.284622770696603
+1.8,0.7190467697551488,0.4554465488071012,1.280953230244851
+1.85,0.722836538669513,0.4470377367374341,1.277163461330486
+1.9,0.726737969307438,0.4389003266460185,1.273262030692561
+1.95,0.7307431313359543,0.4310198034777267,1.269256868664045
+2.,0.7348446759362897,0.4233827197290213,1.26515532406371
+2.05,0.7390357854114659,0.4159766016495276,1.260964214588534
+2.1,0.7433101279881068,0.408789865197138,1.256689872011893
+2.15,0.7476618170090421,0.4018117402377496,1.252338182990957
+2.2,0.752085374452218,0.3950322028379428,1.247914625547782
+2.25,0.7565756956830718,0.388441909983748,1.243424304316928
+2.3,0.7611280221147551,0.3820321488692294,1.238871977885244
+2.35,0.7657379115964317,0.3757947821707579,1.234262088403568
+2.4,0.7704012138400148,0.3697222026244524,1.229598786159985
+2.45,0.7751140476542882,0.3638072909949677,1.224885952345711
+2.5,0.7798727805244279,0.3580433783986561,1.220127219475571
diff --git a/models/sbml-test-suite/cases/semantic/01071/01071-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01071/01071-sbml-l3v1.xml
new file mode 100644
index 0000000..0aa8782
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01071/01071-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01071" id="case01071" name="case01071" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01071/01071-settings.txt b/models/sbml-test-suite/cases/semantic/01071/01071-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01071/01071-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01072/01072-results.csv b/models/sbml-test-suite/cases/semantic/01072/01072-results.csv
new file mode 100644
index 0000000..05411e3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01072/01072-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.0001,0.00012,0.0002,0.0001
+0.05,0.00009812669061532844,0.0001181266906153284,0.0002037466187693431,0.0001018733093846715
+0.1,0.00009648510062292909,0.000116485100622929,0.0002070297987541418,0.0001035148993770709
+0.15,0.00009504597518667602,0.000115045975186676,0.0002099080496266479,0.0001049540248133239
+0.2,0.00009378388824737793,0.0001137838882473779,0.0002124322235052441,0.000106216111752622
+0.25,0.00009267671009681956,0.0001126767100968195,0.0002146465798063608,0.0001073232899031804
+0.3,0.00009170515848561759,0.0001117051584856175,0.0002165896830287648,0.0001082948415143824
+0.35,0.00009085241097326033,0.0001108524109732603,0.0002182951780534793,0.0001091475890267396
+0.4,0.00009010378008669134,0.0001101037800866913,0.0002197924398266173,0.0001098962199133086
+0.45,0.0001958639578742163,0.0001058639573319347,0.0002282720853361304,0.0001141360426680652
+0.5,0.0001917080641717751,0.0001017080636294935,0.0002365838727410129,0.0001182919363705064
+0.55,0.0001881990906387454,0.00009819909009646392,0.0002436018198070721,0.000121800909903536
+0.6,0.0001852337220150334,0.00009523372147275191,0.0002495325570544961,0.000124766278527248
+0.65,0.0001820557676908329,0.00009205576714855133,0.0002558884657028972,0.0001029442306036814
+0.7,0.0001792912750147859,0.00008929127447250425,0.0002614174510549913,0.0001057087232797284
+0.75,0.0001769351523412899,0.00008693515179900828,0.0002661296964019832,0.0001080648459532244
+0.8,0.0001749258863297232,0.00008492588578744159,0.0002701482284251167,0.0001100741119647911
+0.85,0.0001732115520193307,0.00008321155147704916,0.0002735768970459015,0.0001117884462751835
+0.9,0.000171748225890832,0.00008174822534855045,0.000276503549302899,0.0001132517724036822
+0.95,0.0001704986975699615,0.00008049869702767994,0.0002790026059446399,0.0001145013007245528
+1.,0.0001694313957446524,0.00007943139520237086,0.0002811372095952581,0.0001155686025498618
+1.05,0.0001685195007603042,0.0000785195002180226,0.0002829609995639547,0.0001164804975342101
+1.1,0.0001677402062587335,0.00007774020571645195,0.000284519588567096,0.0001172597920357807
+1.15,0.000167074099587207,0.00007707409904492543,0.0002858518019101491,0.0001179258987073073
+1.2,0.0001665046459509826,0.0000765046454087011,0.0002869907091825977,0.0001184953523435316
+1.25,0.0001660177515612787,0.00007601775101899715,0.0002879644979620057,0.0001189822467332355
+1.3,0.0001656013958974509,0.00007560139535516936,0.0002887972092896612,0.0001193986023970633
+1.35,0.0001652453224551583,0.0000752453219128767,0.0002895093561742464,0.000119754675839356
+1.4,0.000164940776022001,0.00007494077547971939,0.0002901184490405611,0.0001200592222725133
+1.45,0.0001646802801682464,0.00007468027962596487,0.0002906394407480701,0.0001203197181262678
+1.5,0.0001644574486244433,0.00007445744808216178,0.0002910851038356763,0.0001205425496700709
+1.55,0.0001642668256215368,0.00007426682507925526,0.0002914663498414893,0.0001207331726729774
+1.6,0.0001641037469051803,0.00007410374636289868,0.0002917925072742025,0.000120896251389334
+1.65,0.000163964227579937,0.00007396422703765543,0.000292071545924689,0.0001210357707145773
+1.7,0.0001638448592986754,0.0000738448587563938,0.0002923102824872123,0.0001211551389958389
+1.75,0.0001637427289100738,0.00007374272836779221,0.0002925145432644155,0.0001212572693844405
+1.8,0.000163655344750986,0.00007365534420870447,0.000292689311582591,0.0001213446535435282
+1.85,0.0001635805759425247,0.00007358057540024314,0.0002928388491995136,0.0001214194223519896
+1.9,0.0001635166002615306,0.00007351659971924905,0.0002929668005615018,0.0001214833980329836
+1.95,0.0001634618585249714,0.00007346185798268982,0.0002930762840346202,0.0001215381397695429
+2.,0.0001634150175909007,0.00007341501704861909,0.0002931699659027617,0.0001215849807036136
+2.05,0.0001633749364298305,0.00007337493588754894,0.000293250128224902,0.0001216250618646838
+2.1,0.0001633406393526127,0.00007334063881033114,0.0002933187223793375,0.0001216593589419016
+2.15,0.000163311291303689,0.0000733112907614074,0.000293377418477185,0.0001216887069908253
+2.2,0.0001632861780050142,0.00007328617746273258,0.0002934276450745346,0.0001217138202895001
+2.25,0.0001632646882236222,0.0000732646876813406,0.0002934706246373186,0.0001217353100708921
+2.3,0.0001632462991406507,0.0000732462985983691,0.0002935074028032617,0.0001217536991538636
+2.35,0.0001632305631553908,0.0000732305626131092,0.0002935388747737815,0.0001217694351391235
+2.4,0.0001632170975424065,0.00007321709700012489,0.0002935658059997501,0.0001217829007521078
+2.45,0.0001632055746579937,0.00007320557411571215,0.0002935888517685756,0.0001217944236365205
+2.5,0.0001631957141851558,0.00007319571364287423,0.0002936085727142514,0.0001218042841093585
diff --git a/models/sbml-test-suite/cases/semantic/01072/01072-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01072/01072-sbml-l3v1.xml
new file mode 100644
index 0000000..6d4e6a8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01072/01072-sbml-l3v1.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01072" id="case01072" name="case01072" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00012" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7500" constant="true"/>
+      <parameter id="k2" name="k2" value="2500" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S3" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 4000 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10000 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01072/01072-settings.txt b/models/sbml-test-suite/cases/semantic/01072/01072-settings.txt
new file mode 100644
index 0000000..a8bef47
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01072/01072-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01073/01073-results.csv b/models/sbml-test-suite/cases/semantic/01073/01073-results.csv
new file mode 100644
index 0000000..5c7b7eb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01073/01073-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.02,0.9758257295351443,1.946590345225209,1.024174270464856
+0.04,0.9532111927805436,1.896183241569566,1.046788807219456
+0.06,0.9320298816714958,1.848533149416596,1.067970118328504
+0.08,0.9121685166051827,1.803420387308996,1.087831483394817
+0.1,0.8935253567662128,1.76064781455862,1.106474643233788
+0.12,0.8760087692101794,1.720038023265502,1.123991230789821
+0.14,0.8595360029711024,1.681430933927476,1.140463997028898
+0.16,0.8440321329406899,1.64468172515815,1.15596786705931
+0.18,0.8294291603531568,1.609659071197919,1.170570839646843
+0.2,0.815665228948064,1.576243606928575,1.184334771051936
+0.22,0.8026839442023833,1.544326595436473,1.197316055797617
+0.24,0.7904337894960989,1.513808785781832,1.209566210503901
+0.26,0.7788675969682381,1.484599378546997,1.221132403031762
+0.28,0.7679421134984644,1.45661517744808,1.232057886501535
+0.3,0.7576175923524792,1.429779791848289,1.24238240764752
+0.32,0.9955456453372042,1.739686489768749,1.25445437646254
+0.34,0.9764694075067985,1.695213533129465,1.273530614292946
+0.36,0.9585898568854723,1.653041600660702,1.291410164914273
+0.38,0.9418175299849632,1.612997521342305,1.308182491814782
+0.4,0.9260715837545636,1.574924939709211,1.323928438045181
+0.42,0.9112787806559781,1.538682326503874,1.338721241143767
+0.44,0.8973726131546272,1.504141263491592,1.352627408645117
+0.46,0.8842925475647495,1.471184962853005,1.365707474234995
+0.48,0.8719833719093244,1.439706990842671,1.378016649890421
+0.5,0.8603946143792606,1.409610130376034,1.389605407420484
+0.52,0.8494800511314013,1.380805418683335,1.400519970668343
+0.54,0.8391972702909742,1.353211295320452,1.41080275150877
+0.56,0.829507280761968,1.326752838245121,1.420492741037777
+0.58,0.8203741785716303,1.301361112462607,1.429625843228114
+0.6,0.8117648438966453,1.276972578965544,1.438235177903099
+0.62,0.8036486836892858,1.253528592752829,1.446351338110459
+0.64,0.7959973824993714,1.230974917369425,1.454002639300373
+0.66,0.7887847064701006,1.209261342930305,1.461215315329644
+0.68,0.7819863128798952,1.188341315336916,1.468013708919849
+0.7,0.7755795752380004,1.168171596043991,1.474420446561744
+0.72,0.7695434472338662,1.148711997263096,1.480456574565879
+0.74,0.763858317699857,1.129925100165621,1.486141704099888
+0.76,0.7585058947245229,1.111776029665397,1.491494127075222
+0.78,0.7534690971486064,1.094232243706437,1.496530924651138
+0.8,0.9949134416094755,1.737770001399362,1.505086584089389
+0.82,0.9771057775784631,1.694584227083098,1.522894248120401
+0.84,0.960439195983172,1.653594468968874,1.539560829715692
+0.86,0.9448293714983581,1.614637567452966,1.555170654200506
+0.88,0.9301999936385845,1.577565991440851,1.56980003206028
+0.9,0.9164818366814887,1.542246015848934,1.583518189017376
+0.92,0.9036119535298402,1.508556142813849,1.596388072169024
+0.94,0.891532981695657,1.476385743140163,1.608467044003207
+0.96,0.8801925394719689,1.445633874889347,1.619807486226896
+0.98,0.8695426874448692,1.41620823050953,1.630457338253996
+1.,0.8595394801300223,1.388024260365772,1.640460545568842
diff --git a/models/sbml-test-suite/cases/semantic/01073/01073-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01073/01073-sbml-l3v1.xml
new file mode 100644
index 0000000..704a047
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01073/01073-sbml-l3v1.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01073" id="case01073" name="case01073" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.75 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01073/01073-settings.txt b/models/sbml-test-suite/cases/semantic/01073/01073-settings.txt
new file mode 100644
index 0000000..a441693
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01073/01073-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01074/01074-results.csv b/models/sbml-test-suite/cases/semantic/01074/01074-results.csv
new file mode 100644
index 0000000..20ff364
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01074/01074-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.05,0.9424487530290474,1.87202786394052,1.057551246970952
+0.1,0.8935253567664223,1.760647814559027,1.106474643233578
+0.15,0.8516673584578466,1.662832599575355,1.148332641542154
+0.2,0.8156652289448177,1.576243606922262,1.184334771055183
+0.25,0.7845679867904453,1.499045897650766,1.215432013209555
+0.3,0.7576175923644991,1.429779791871586,1.242382407635501
+0.35,0.7342023656460265,1.367269809437175,1.265797634353973
+0.4,0.7138233074644203,1.310558919785563,1.28617669253558
+0.45,0.6960693121889197,1.258860213431751,1.30393068781108
+0.5,0.6805986589652021,1.211520861940413,1.319401341034798
+0.55,0.6671249982042921,1.167994866589739,1.332875001795708
+0.6,0.6554066035929955,1.127822184701998,1.344593396407005
+0.65,0.6452380425769203,1.090612573966705,1.35476195742308
+0.7,0.6364436457227105,1.056032942419313,1.36355635427729
+0.75,0.6288723408217795,1.023797355022457,1.371127659178221
+0.8,0.6223935213996767,0.9936590519198553,1.377606478600324
+0.85,0.6168937306794763,0.9654040503078406,1.383106269320524
+0.9,0.6122739723282442,0.9388459623569294,1.387726027671757
+0.95,0.6084474953536898,0.9138217327254721,1.391552504646311
+1.,0.6053379915050696,0.890188174062793,1.394662008494931
+1.05,0.6028780950055221,0.8678190874142552,1.397121904994479
+1.1,0.6010081354498707,0.8466028716001733,1.39899186455013
+1.15,0.5996750881421215,0.826440513786084,1.400324911857879
+1.2,0.5988317034202614,0.8072439245469323,1.401168296579739
+1.25,0.5984357481032358,0.7889344896580723,1.401564251896765
+1.3,0.5952040584292063,0.9815140539082984,1.404795941570794
+1.35,0.5912433301468758,0.9560071011709773,1.408756669853125
+1.4,0.5880062631751676,0.9319025606464936,1.411993736824833
+1.45,0.585424406163915,0.9090721387603537,1.414575593836086
+1.5,0.5834371833605218,0.8874024878927341,1.416562816639479
+1.55,0.581990817879965,0.8667931445967698,1.418009182120036
+1.6,0.5810374303966431,0.8471548058286472,1.418962569603358
+1.65,0.5805342704770689,0.8284078608491376,1.419465729522932
+1.7,0.5804430701289398,0.8104811579813168,1.419556929871061
+1.75,0.5807294891315801,0.7933109478229299,1.419270510868421
+1.8,0.5813626402088776,0.7768399796880509,1.418637359791123
+1.85,0.5823146815802775,0.7610167271834119,1.417685318419723
+1.9,0.5835604662124134,0.745794722312969,1.416439533787587
+1.95,0.5850772294189045,0.7311319632946816,1.414922770581096
+2.,0.5868443353596101,0.7169904341928041,1.413155664640391
+2.05,0.5888430326782534,0.7033356429047404,1.411156967321747
+2.1,0.591056263159137,0.690136259361696,1.408943736840864
+2.15,0.5934684760387996,0.6773637651832396,1.406531523961201
+2.2,0.5960654767347115,0.6649921683459707,1.403934523265289
+2.25,0.5988342865286842,0.6529977389299528,1.401165713471316
+2.3,0.601763021171394,0.6413587806859841,1.398236978828607
+2.35,0.6048407828334967,0.6300554279281672,1.395159217166504
+2.4,0.6080575641127308,0.6190694652652767,1.39194243588727
+2.45,0.6114041631504657,0.608384168329464,1.388595836849535
+2.5,0.6148721050967592,0.5979841566330763,1.385127894903242
diff --git a/models/sbml-test-suite/cases/semantic/01074/01074-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01074/01074-sbml-l3v1.xml
new file mode 100644
index 0000000..eec04a5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01074/01074-sbml-l3v1.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01074" id="case01074" name="case01074" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.95 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01074/01074-settings.txt b/models/sbml-test-suite/cases/semantic/01074/01074-settings.txt
new file mode 100644
index 0000000..99a2440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01074/01074-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.5
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01075/01075-results.csv b/models/sbml-test-suite/cases/semantic/01075/01075-results.csv
new file mode 100644
index 0000000..dfec7e9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01075/01075-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.12,0.2,0.1
+0.1,0.09648510062293083,0.1164851006229308,0.2070297987541383,0.1035148993770691
+0.2,0.0937838882474198,0.1137838882474197,0.2124322235051604,0.1062161117525802
+0.3,0.09170515848648368,0.1117051584864836,0.2165896830270326,0.1082948415135163
+0.4,0.09010378008827908,0.110103780088279,0.2197924398234418,0.1098962199117209
+0.5,0.08886913645910392,0.1088691364591039,0.2222617270817921,0.111130863540896
+0.6,0.0879166464331671,0.107916646433167,0.2241667071336658,0.1120833535668329
+0.7,0.08718147535742211,0.1071814753574221,0.2256370492851557,0.1128185246425779
+0.8,0.08661382897319941,0.1066138289731994,0.2267723420536011,0.1133861710268006
+0.9,0.08617540747964032,0.1061754074796403,0.2276491850407193,0.1138245925203596
+1.,0.192512489760178,0.09865945024397825,0.2426810995120435,0.1213405497560217
+1.1,0.1866738333672335,0.09282079385103388,0.2543584122979324,0.1271792061489662
+1.2,0.1825053097866416,0.08865227027044196,0.2626954594591163,0.1313477297295581
+1.3,0.1795228523838101,0.08566981286761052,0.2686603742647792,0.1343301871323896
+1.4,0.177385746251196,0.08353270673499645,0.2729345865300074,0.1364672932650037
+1.5,0.175852715868512,0.08199967635231246,0.2760006472953753,0.1380003236476876
+1.6,0.1747521538038711,0.08089911428767152,0.2782017714246573,0.1391008857123286
+1.7,0.1739616179968455,0.08010857848064592,0.2797828430387084,0.1398914215193542
+1.8,0.1733935456626127,0.07954050614641317,0.280918987707174,0.140459493853587
+1.9,0.1729852159968629,0.07913217648066334,0.2817356470386737,0.1408678235193368
+2.,0.1726916476471116,0.07883860813091198,0.2823227837381762,0.1411613918690881
+2.1,0.1724805558341916,0.07862751631799193,0.2827449673640162,0.1413724836820081
+2.2,0.1723287525544834,0.07847571303828376,0.2830485739234326,0.1415242869617163
+2.3,0.1722195772748015,0.07836653775860187,0.2832669244827964,0.1416334622413982
+2.4,0.1721410553320706,0.07828801581587094,0.2834239683682582,0.1417119841841291
+2.5,0.1720845778136139,0.07823153829741419,0.2835369234051717,0.1417684617025858
+2.6,0.1708929179971497,0.07703987848094985,0.2859202430381001,0.1011662400653114
+2.7,0.1686179305392834,0.07476489102308357,0.2904702179538326,0.1034412275231777
+2.8,0.166944209215248,0.07309116969904812,0.2938176606019035,0.1051149488472131
+2.9,0.1657117961043033,0.07185875658810345,0.2962824868237928,0.1063473619581578
+3.,0.1648037635269009,0.07095072401070107,0.2980985519785975,0.1072553945355602
+3.1,0.1641344233553631,0.07028138383916318,0.2994372323216733,0.1079247347070981
+3.2,0.1636408633720381,0.06978782385583827,0.3004243522883232,0.108418294690423
+3.3,0.1632768298104944,0.06942379029429454,0.3011524194114106,0.1087823282519667
+3.4,0.1630082806637761,0.06915524114757623,0.3016895177048473,0.109050877398685
+3.5,0.1628101438689077,0.06895710435270788,0.302085791294584,0.1092490141935534
+3.6,0.1626639429220949,0.06881090340589506,0.3023781931882096,0.1093952151403662
+3.7,0.1625560563330515,0.06870301681685167,0.3025939663662964,0.1095031017294096
+3.8,0.1624764388363021,0.06862339932010226,0.3027532013597952,0.109582719226159
+3.9,0.1624176808203617,0.06856464130416188,0.302870717391676,0.1096414772420994
+4.,0.1623743159050973,0.06852127638889755,0.3029574472222048,0.1096848421573637
+4.1,0.162342310734701,0.06848927121850124,0.3030214575629975,0.10971684732776
+4.2,0.1623186892049486,0.06846564968874882,0.3030687006225023,0.1097404688575124
+4.3,0.1623012550541528,0.06844821553795311,0.3031035689240937,0.1097579030083081
+4.4,0.1622883874134759,0.06843534789727612,0.3031293042054477,0.1097707706489851
+4.5,0.1622788901336037,0.06842585061740397,0.3031482987651921,0.1097802679288573
+4.6,0.1622718804176434,0.06841884090144367,0.3031623181971127,0.1097872776448176
+4.7,0.1622667066843427,0.06841366716814298,0.303172665663714,0.1097924513781183
+4.8,0.1622628880409504,0.06840984852475066,0.3031803029504986,0.1097962700215106
+4.9,0.1622600695616323,0.06840703004543256,0.3031859399091348,0.1097990885008287
+5.,0.1622579892858342,0.06840494976963451,0.3031901004607309,0.1098011687766267
diff --git a/models/sbml-test-suite/cases/semantic/01075/01075-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01075/01075-sbml-l3v1.xml
new file mode 100644
index 0000000..0b43b4c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01075/01075-sbml-l3v1.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01075" id="case01075" name="case01075" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.12" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="7.5" constant="true"/>
+      <parameter id="k2" name="k2" value="2.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S3" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="event2" name="event2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> S3 </ci>
+              <cn type="rational"> 1 <sep/> 4 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S4">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="rational"> 1 <sep/> 10 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01075/01075-settings.txt b/models/sbml-test-suite/cases/semantic/01075/01075-settings.txt
new file mode 100644
index 0000000..0e87183
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01075/01075-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01076/01076-results.csv b/models/sbml-test-suite/cases/semantic/01076/01076-results.csv
new file mode 100644
index 0000000..6e88c6a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01076/01076-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,2.,1.
+0.1,0.8935253567664708,1.760647814559123,1.106474643233529
+0.2,0.8156652289457194,1.576243606924015,1.18433477105428
+0.3,0.7576175923581124,1.429779791859207,1.242382407641887
+0.4,0.7138233074642922,1.310558919785301,1.286176692535708
+0.5,0.6805986589668289,1.21152086194353,1.319401341033171
+0.6,0.6554066035935799,1.127822184703106,1.344593396406419
+0.7,0.6364436457177867,1.056032942409873,1.363556354282212
+0.8,0.6223935213961473,0.9936590519131054,1.377606478603852
+0.9,0.6122739723227907,0.9388459623465342,1.387726027677208
+1.,0.6053379914989452,0.8901881740511641,1.394662008501053
+1.1,0.6010081354749388,0.8466028716475674,1.39899186452506
+1.2,0.598831703481291,0.807243924662019,1.401168296518707
+1.3,0.598449376387073,0.7714418702870981,1.401550623612925
+1.4,0.5995728387245001,0.7386611969999029,1.400427161275498
+1.5,0.6019685003899049,0.7084693499835922,1.398031499610093
+1.6,0.6054454827244375,0.6805139119147699,1.394554517275561
+1.7,0.6098465783722142,0.6545054738720199,1.390153421627784
+1.8,0.6150413965639737,0.630204677035858,1.384958603436024
+1.9,0.6209210721798228,0.6074122334186077,1.379078927820175
+2.,0.6273941595923799,0.5859611978001506,1.372605840407618
+2.1,0.6343834067791702,0.5657109089083977,1.365616593220828
+2.2,0.6418231907547816,0.546542182431281,1.358176809245216
+2.3,0.6496574711831928,0.5283534825639164,1.350342528816805
+2.4,0.6578381452819621,0.5110578498314395,1.342161854718036
+2.5,0.6663237137287971,0.4945804140607503,1.333676286271201
+2.6,0.927662254756269,1.576384525613531,1.40467275487614
+2.7,0.8635764807348358,1.412253924343062,1.468758528897573
+2.8,0.816325507833621,1.280412736939761,1.516009501798788
+2.9,0.7813719965693868,1.172146564949352,1.550963013063022
+3.,0.7556494809081886,1.081589208866214,1.57668552872422
+3.1,0.7370116048680305,1.004650381070054,1.595323404764378
+3.2,0.7239118358441317,0.9383937892150694,1.608423173788277
+3.3,0.715208409542653,0.880659391233136,1.617126600089756
+3.4,0.7100408168273061,0.8298248317091357,1.622294192805103
+3.5,0.7077489440269378,0.7846496749365358,1.624586065605471
+3.6,0.7078186002611984,0.7441707450391421,1.62451640937121
+3.7,0.7098438756755576,0.7076299924796583,1.622491133956851
+3.8,0.7135005687943268,0.6744237033905149,1.618834440838082
+3.9,0.7185270067292576,0.6440659336956532,1.613808002903152
+4.,0.7247100426822265,0.6161618789349879,1.607624966950183
+4.1,0.731874564639609,0.5903879718094626,1.6004604449928
+4.2,0.7398756274067199,0.5664769906686258,1.59245938222569
+4.3,0.7485923921722739,0.5442066164467886,1.583742617460136
+4.4,0.757923466912479,0.5233906537002032,1.574411542719931
+4.5,0.7677832475871766,0.5038721524505336,1.564551762045233
+4.6,0.7780990389014532,0.4855180067325489,1.554235970730956
+4.7,0.7888087614261295,0.4682146619311542,1.54352624820628
+4.8,0.7998591146871484,0.4518646825531529,1.532475894945261
+4.9,0.8112040965242437,0.436383990962274,1.521130913108166
+5.,0.8228037964388186,0.4216996215625876,1.509531213193591
diff --git a/models/sbml-test-suite/cases/semantic/01076/01076-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01076/01076-sbml-l3v1.xml
new file mode 100644
index 0000000..158cff4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01076/01076-sbml-l3v1.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01076" id="case01076" name="case01076" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.75 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.2 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 1.75 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="S1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 1 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01076/01076-settings.txt b/models/sbml-test-suite/cases/semantic/01076/01076-settings.txt
new file mode 100644
index 0000000..280dfa6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01076/01076-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01077/01077-results.csv b/models/sbml-test-suite/cases/semantic/01077/01077-results.csv
new file mode 100644
index 0000000..bb9e8f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01077/01077-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.04,0.921072,1.90786
+0.08,0.75411,2.24178
+0.12,0.617413,2.51517
+0.16,0.505495,2.73901
+0.2,0.413864,2.92227
+0.24,0.338843,3.07231
+0.28,0.277422,3.19516
+0.32,0.227134,3.29573
+0.36,0.185961,3.37808
+0.4,0.152252,3.4455
+0.44,0.124654,3.50069
+0.48,0.102058,3.54588
+0.52,0.0835578,3.58288
+0.56,0.0684113,3.61318
+0.6,0.0560105,3.63798
+0.64,0.0458575,3.65829
+0.68,0.0375449,3.67491
+0.72,0.0307392,3.68852
+0.76,0.0251671,3.69967
+0.8,0.0206051,3.70879
+0.84,0.01687,3.71626
+0.88,0.013812,3.72238
+0.92,0.0113083,3.72738
+0.96,0.00925847,3.73148
+1,0.00758019,3.73484
+1.04,0.00620613,3.73759
+1.08,0.00508115,3.73984
+1.12,0.0041601,3.74168
+1.16,0.003406,3.74319
+1.2,0.0027886,3.74442
+1.24,0.00228311,3.74543
+1.28,0.00186925,3.74626
+1.32,0.00153041,3.74694
+1.36,0.001253,3.74749
+1.4,0.00102587,3.74795
+1.44,0.000839909,3.74832
+1.48,0.000687659,3.74862
+1.52,0.000563008,3.74887
+1.56,0.000460952,3.74908
+1.6,0.000377395,3.74925
+1.64,0.000308985,3.74938
+1.68,0.000252976,3.74949
+1.72,0.000207119,3.74959
+1.76,0.000169575,3.74966
+1.8,0.000138836,3.74972
+1.84,0.000113669,3.74977
+1.88,9.31E-05,3.74981
+1.92,7.62E-05,3.74985
+1.96,6.24E-05,3.74988
+2,5.11E-05,3.7499
diff --git a/models/sbml-test-suite/cases/semantic/01077/01077-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01077/01077-sbml-l3v1.xml
new file mode 100644
index 0000000..141d09b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01077/01077-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01077" id="case01077" name="case01077" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01077/01077-settings.txt b/models/sbml-test-suite/cases/semantic/01077/01077-settings.txt
new file mode 100644
index 0000000..8b0405c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01077/01077-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01078/01078-results.csv b/models/sbml-test-suite/cases/semantic/01078/01078-results.csv
new file mode 100644
index 0000000..bb9e8f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01078/01078-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.04,0.921072,1.90786
+0.08,0.75411,2.24178
+0.12,0.617413,2.51517
+0.16,0.505495,2.73901
+0.2,0.413864,2.92227
+0.24,0.338843,3.07231
+0.28,0.277422,3.19516
+0.32,0.227134,3.29573
+0.36,0.185961,3.37808
+0.4,0.152252,3.4455
+0.44,0.124654,3.50069
+0.48,0.102058,3.54588
+0.52,0.0835578,3.58288
+0.56,0.0684113,3.61318
+0.6,0.0560105,3.63798
+0.64,0.0458575,3.65829
+0.68,0.0375449,3.67491
+0.72,0.0307392,3.68852
+0.76,0.0251671,3.69967
+0.8,0.0206051,3.70879
+0.84,0.01687,3.71626
+0.88,0.013812,3.72238
+0.92,0.0113083,3.72738
+0.96,0.00925847,3.73148
+1,0.00758019,3.73484
+1.04,0.00620613,3.73759
+1.08,0.00508115,3.73984
+1.12,0.0041601,3.74168
+1.16,0.003406,3.74319
+1.2,0.0027886,3.74442
+1.24,0.00228311,3.74543
+1.28,0.00186925,3.74626
+1.32,0.00153041,3.74694
+1.36,0.001253,3.74749
+1.4,0.00102587,3.74795
+1.44,0.000839909,3.74832
+1.48,0.000687659,3.74862
+1.52,0.000563008,3.74887
+1.56,0.000460952,3.74908
+1.6,0.000377395,3.74925
+1.64,0.000308985,3.74938
+1.68,0.000252976,3.74949
+1.72,0.000207119,3.74959
+1.76,0.000169575,3.74966
+1.8,0.000138836,3.74972
+1.84,0.000113669,3.74977
+1.88,9.31E-05,3.74981
+1.92,7.62E-05,3.74985
+1.96,6.24E-05,3.74988
+2,5.11E-05,3.7499
diff --git a/models/sbml-test-suite/cases/semantic/01078/01078-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01078/01078-sbml-l3v1.xml
new file mode 100644
index 0000000..7771afa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01078/01078-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01078" id="case01078" name="case01078" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01078/01078-settings.txt b/models/sbml-test-suite/cases/semantic/01078/01078-settings.txt
new file mode 100644
index 0000000..8b0405c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01078/01078-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01079/01079-results.csv b/models/sbml-test-suite/cases/semantic/01079/01079-results.csv
new file mode 100644
index 0000000..bb9e8f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01079/01079-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.125,1.5
+0.04,0.921072,1.90786
+0.08,0.75411,2.24178
+0.12,0.617413,2.51517
+0.16,0.505495,2.73901
+0.2,0.413864,2.92227
+0.24,0.338843,3.07231
+0.28,0.277422,3.19516
+0.32,0.227134,3.29573
+0.36,0.185961,3.37808
+0.4,0.152252,3.4455
+0.44,0.124654,3.50069
+0.48,0.102058,3.54588
+0.52,0.0835578,3.58288
+0.56,0.0684113,3.61318
+0.6,0.0560105,3.63798
+0.64,0.0458575,3.65829
+0.68,0.0375449,3.67491
+0.72,0.0307392,3.68852
+0.76,0.0251671,3.69967
+0.8,0.0206051,3.70879
+0.84,0.01687,3.71626
+0.88,0.013812,3.72238
+0.92,0.0113083,3.72738
+0.96,0.00925847,3.73148
+1,0.00758019,3.73484
+1.04,0.00620613,3.73759
+1.08,0.00508115,3.73984
+1.12,0.0041601,3.74168
+1.16,0.003406,3.74319
+1.2,0.0027886,3.74442
+1.24,0.00228311,3.74543
+1.28,0.00186925,3.74626
+1.32,0.00153041,3.74694
+1.36,0.001253,3.74749
+1.4,0.00102587,3.74795
+1.44,0.000839909,3.74832
+1.48,0.000687659,3.74862
+1.52,0.000563008,3.74887
+1.56,0.000460952,3.74908
+1.6,0.000377395,3.74925
+1.64,0.000308985,3.74938
+1.68,0.000252976,3.74949
+1.72,0.000207119,3.74959
+1.76,0.000169575,3.74966
+1.8,0.000138836,3.74972
+1.84,0.000113669,3.74977
+1.88,9.31E-05,3.74981
+1.92,7.62E-05,3.74985
+1.96,6.24E-05,3.74988
+2,5.11E-05,3.7499
diff --git a/models/sbml-test-suite/cases/semantic/01079/01079-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01079/01079-sbml-l3v1.xml
new file mode 100644
index 0000000..072ccf7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01079/01079-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01079" id="case01079" name="case01079" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.125" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01079/01079-settings.txt b/models/sbml-test-suite/cases/semantic/01079/01079-settings.txt
new file mode 100644
index 0000000..8b0405c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01079/01079-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01080/01080-results.csv b/models/sbml-test-suite/cases/semantic/01080/01080-results.csv
new file mode 100644
index 0000000..2563771
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01080/01080-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.0025,0.02,0.01
+0.4,0.003433333277640792,0.02093333327764079,0.009048461496649838
+0.8,0.004269667655160172,0.02176966765516016,0.008187504532186962
+1.2,0.005017899504380064,0.02251789950438007,0.007408507802113257
+1.6,0.005686164609074009,0.02318616460907402,0.006703670185069836
+2.,0.006281894748061595,0.02378189474806161,0.00606593266412983
+2.4,0.006811871284994127,0.02431187128499414,0.005488908036871428
+2.8,0.007282276498646707,0.02478227649864672,0.004966816749455877
+3.2,0.007698741549236897,0.02519874154923691,0.004494429237475391
+3.6,0.008066391596168887,0.0255663915961689,0.004067013619277446
+4.,0.008389887808732482,0.02588988780873249,0.003680288488301456
+4.4,0.008673466488173816,0.02617346648817383,0.003330380174043077
+4.8,0.008920976568635843,0.02642097656863585,0.003013782939191874
+5.2,0.009135911249908097,0.02663591124990811,0.002727325832145877
+5.6,0.009321441545211584,0.0268214415452116,0.002468138637097823
+6.,0.009480442400223974,0.02698044240022399,0.002233625487291636
+6.4,0.009615521568666593,0.0271155215686666,0.002021436510407169
+6.8,0.009729041205458872,0.02722904120545888,0.001829446655882262
+7.2,0.009823141938256497,0.02732314193825651,0.001655732631247997
+7.6,0.009899762505203517,0.02739976250520353,0.001498554203022488
+8.,0.009960658238272072,0.02746065823827208,0.001356336787138593
+8.4,0.01000741763782347,0.02750741763782349,0.001227655962058311
+8.8,0.01004147804744167,0.02754147804744169,0.001111222953377386
+9.2,0.01006413983134583,0.02756413983134585,0.001005871595222919
+9.6,0.01007657910986688,0.0275765791098669,0.0009105466856255679
+10.,0.01007985932198141,0.02757985932198142,0.0008242934708616567
+10.4,0.01007494159964789,0.02757494159964791,0.0007462482529994897
+10.8,0.01006269453356293,0.02756269453356296,0.0006756295903531115
+11.2,0.01004390298441164,0.02754390298441166,0.0006117303874071118
+11.6,0.01001927597382248,0.02751927597382251,0.000553910833001495
+12.,0.009989453830900732,0.02748945383090075,0.0005015920227187708
+12.4,0.00995501458985022,0.02745501458985024,0.0004542502633244265
+12.8,0.009916479994774973,0.02741647999477499,0.0004114117390190066
+13.2,0.009874320911446776,0.02737432091144679,0.0003726477132032265
+13.6,0.009828962164475737,0.02732896216447576,0.0003375702463128523
+14.,0.009780786911892267,0.02728078691189229,0.0003058283282434615
+14.4,0.009730140555942993,0.02723014055594301,0.0002771044248257658
+14.8,0.009677334406633481,0.0271773344066335,0.0002511112450959675
+15.2,0.009622648982241232,0.02712264898224125,0.0002275888308790149
+15.6,0.009566336955612823,0.02706633695561285,0.0002063019602993072
+16.,0.009508625816486747,0.02700862581648677,0.0001870378024925155
+16.4,0.009449720249568286,0.02694972024956831,0.0001696038236193155
+16.8,0.009389804359117102,0.02688980435911712,0.0001538258276341862
+17.2,0.009329043673232414,0.02682904367323243,0.0001395461910008877
+17.6,0.009267586931419366,0.02676758693141939,0.0001266222883552429
+18.,0.009205567699068075,0.0267055676990681,0.0001149250703682911
+18.4,0.00914310580881153,0.02664310580881155,0.0001043377941079972
+18.8,0.009080308707316417,0.02658030870731644,0.00009475483565751304
+19.2,0.00901727266907309,0.02651727266907312,0.00008608061941480878
+19.6,0.008954083878199698,0.02645408387819973,0.00007822866353018512
+20.,0.008890819403106542,0.02639081940310657,0.00007112071945500831
diff --git a/models/sbml-test-suite/cases/semantic/01080/01080-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01080/01080-sbml-l3v1.xml
new file mode 100644
index 0000000..d2ef6e6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01080/01080-sbml-l3v1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01080" id="case01080" name="case01080" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.00125" constant="true"/>
+      <parameter id="p2" name="p2" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S3" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01080/01080-settings.txt b/models/sbml-test-suite/cases/semantic/01080/01080-settings.txt
new file mode 100644
index 0000000..d088026
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01080/01080-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01081/01081-results.csv b/models/sbml-test-suite/cases/semantic/01081/01081-results.csv
new file mode 100644
index 0000000..77a0100
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01081/01081-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.000025,0.0002,0.0001
+0.4,0.00003451442245666156,0.0002095144224566616,0.0000904837418871838
+0.8,0.0000431225916661263,0.0002181225916661263,0.00008187307547259969
+1.2,0.00005091070674363358,0.0002259107067436336,0.00007408182224728547
+1.6,0.00005795677130765419,0.0002329567713076542,0.00006703200494160374
+2.,0.00006433137265675227,0.0002393313726567523,0.00006065306640540469
+2.4,0.00007009838552938175,0.0002450983855293818,0.00005488116434373562
+2.8,0.0000753156109059978,0.0002503156109059978,0.00004965853136006244
+3.2,0.00008003535250823066,0.0002550353525082306,0.00004493289758224759
+3.6,0.00008430493951944887,0.0002593049395194488,0.00004065696728907994
+4.,0.00008816720134448735,0.0002631672013444873,0.00003678794367434053
+4.4,0.00009166088834122269,0.0002666608883412226,0.00003328710777398482
+4.8,0.00009482106695675861,0.0002698210669567586,0.00003011942310240041
+5.2,0.00009767947540896589,0.0002726794754089658,0.0000272531798291704
+5.6,0.0001002648213202008,0.0002752648213202008,0.0000246596970538927
+6.,0.0001026030859938787,0.0002776030859938787,0.00002231301850749612
+6.4,0.0001047177837766559,0.0002797177837766559,0.00002018965319727283
+6.8,0.000106630184260588,0.000281630184260588,0.00001826835322871706
+7.2,0.0001083595350304168,0.0002833595350304167,0.00001652989111851906
+7.6,0.0001099232564740314,0.0002849232564740314,0.00001495686505371682
+8.,0.0001113371099903332,0.0002863371099903332,0.00001353353075502998
+8.4,0.0001126153547184207,0.0002876153547184207,0.0000122456448278706
+8.8,0.0001137708940191975,0.0002887708940191975,0.00001108031836824528
+9.2,0.0001148154046453699,0.0002898154046453698,0.00001002588787751078
+9.6,0.000115759453035968,0.0002907594530359679,9.071799050814527e-6
+10.,0.0001166125990533299,0.0002916125990533298,8.208503119164936e-6
+10.4,0.0001173834919110023,0.0002923834919110022,7.427360999705768e-6
+10.8,0.0001180799586051863,0.0002930799586051862,6.720554940682811e-6
+11.2,0.0001187090820035714,0.0002937090820035713,6.081010502847432e-6
+11.6,0.0001192772712744859,0.0002942772712744859,5.502326196113394e-6
+12.,0.0001197903246490734,0.0002947903246490733,4.978710777854929e-6
+12.4,0.000120253488476297,0.0002952534884762969,4.504924256868333e-6
+12.8,0.0001206715103784474,0.0002956715103784473,4.076224792362062e-6
+13.2,0.0001210486865701225,0.0002960486865701224,3.688321424537246e-6
+13.6,0.0001213889044120092,0.0002963889044120091,3.337331566259145e-6
+14.,0.0001216956806472358,0.0002966956806472357,3.019742808252328e-6
+14.4,0.0001219721975263001,0.0002969721975263,2.732376834212893e-6
+14.8,0.0001222213347679558,0.0002972213347679557,2.472357495818141e-6
+15.2,0.0001224456982577814,0.0002974456982577812,2.237082146789904e-6
+15.6,0.0001226476457068237,0.0002976476457068235,2.024196013737076e-6
+16.,0.0001228293101396475,0.0002978293101396473,1.831568735387996e-6
+16.4,0.0001229926217771256,0.0002979926217771254,1.657272505492428e-6
+16.8,0.0001231393273234671,0.000298139327323467,1.499562808604205e-6
+17.2,0.0001232710073566571,0.000298271007356657,1.356861050359273e-6
+17.6,0.00012338909181926,0.0002983890918192599,1.227739085236133e-6
+18.,0.0001234948744882476,0.0002984948744882476,1.110904764188812e-6
+18.4,0.0001235895261462304,0.0002985895261462303,1.005188779399835e-6
+18.8,0.0001236741062556221,0.000298674106255622,9.09533004344641e-7
+19.2,0.0001237495734773786,0.0002987495734773785,8.229799879283591e-7
+19.6,0.0001238167950270185,0.0002988167950270184,7.446636099564563e-7
+20.,0.0001238765557062426,0.0002988765557062425,6.738000606609992e-7
diff --git a/models/sbml-test-suite/cases/semantic/01081/01081-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01081/01081-sbml-l3v1.xml
new file mode 100644
index 0000000..5b2b8e2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01081/01081-sbml-l3v1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01081" id="case01081" name="case01081" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.0002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.0001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="1.25e-005" constant="true"/>
+      <parameter id="p2" name="p2" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S3" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01081/01081-settings.txt b/models/sbml-test-suite/cases/semantic/01081/01081-settings.txt
new file mode 100644
index 0000000..895888a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01081/01081-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01082/01082-results.csv b/models/sbml-test-suite/cases/semantic/01082/01082-results.csv
new file mode 100644
index 0000000..e2204d0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01082/01082-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.025,0.2,0.1
+0.4,0.03274433224797,0.20774433224797,0.09056846090383244
+0.8,0.03908669386516008,0.2140866938651601,0.08205848467092014
+1.2,0.04418778371037901,0.219187783710379,0.07437888984110599
+1.6,0.04820061927431434,0.2232006192743143,0.06744712638107801
+2.,0.05126773373377165,0.2262677337337717,0.06118862615320704
+2.4,0.05351958673866776,0.2285195867386677,0.05553615510213054
+2.8,0.05507390503981927,0.2300739050398192,0.05042918040400732
+3.2,0.05603570405963974,0.2310357040596397,0.04581326080603526
+3.6,0.05649776820692237,0.2314977682069223,0.04163947210920349
+4.,0.05654142486684125,0.2315414248668412,0.03786387035771052
+4.4,0.05623748367328308,0.231237483673283,0.03444699545446103
+4.8,0.05564724682663659,0.2306472468266365,0.03135341629581346
+5.2,0.05482352479967011,0.2298235247996701,0.02855131706980485
+5.6,0.05381161032894256,0.2288116103289425,0.0260121251033816
+6.,0.0526502032709219,0.2276502032709219,0.02371016983649731
+6.4,0.05137224552565119,0.2263722455256511,0.02162238187185644
+6.8,0.05000568023603322,0.2250056802360332,0.01972802067274796
+7.2,0.04857412748084203,0.223574127480842,0.01800843136419864
+7.6,0.04709748180983066,0.2220974818098306,0.01644682693542048
+8.,0.04559243174501507,0.2205924317450151,0.01502809613041525
+8.4,0.04407292543516058,0.2190729254351606,0.01373862483072072
+8.8,0.04255055515187557,0.2175505551518756,0.01256614755520794
+9.2,0.04103490832896458,0.2160349083289646,0.01149960432935974
+9.6,0.03953385829949375,0.2145338582994937,0.01052901981627442
+10.,0.0380538196175583,0.2130538196175583,0.009645392358071373
+10.4,0.03659996775247806,0.211599967752478,0.008840594184116663
+10.8,0.03517642282875595,0.2101764228287559,0.008107285872595767
+11.2,0.03378641351460654,0.2087864135146065,0.007438834781132942
+11.6,0.0324324140617989,0.2074324140617989,0.006829244378040667
+12.,0.03111625835373611,0.2061162583537361,0.006273094113793044
+12.4,0.02983924463902144,0.2048392446390214,0.00576547879231301
+12.8,0.02860221970739619,0.2036022197073962,0.005301959086408519
+13.2,0.02740565103063207,0.202405651030632,0.004878517365543755
+13.6,0.02624969186665088,0.2012496918666509,0.004491513831734601
+14.,0.02513423316878972,0.2001342331687897,0.004137651470267467
+14.4,0.02405894960128535,0.1990589496012853,0.0038139424804858
+14.8,0.02302333864564584,0.1980233386456458,0.003517678185205634
+15.2,0.02202675370841917,0.1970267537084191,0.003246402245752871
+15.6,0.0210684323789052,0.1960684323789052,0.002997886447482063
+16.,0.02014752046477991,0.1951475204647799,0.002770108880859567
+16.4,0.01926309241052917,0.1942630924105291,0.002561234272200719
+16.8,0.01841416861629672,0.1934141686162966,0.002369596244595143
+17.2,0.01759973010020708,0.192599730100207,0.002193681312993301
+17.6,0.01681873088357616,0.191818730883576,0.002032114438222997
+18.,0.01607010842406897,0.1910701084240689,0.001883645983174615
+18.4,0.01535279237544588,0.1903527923754458,0.001747139930810014
+18.8,0.01466571191287667,0.1896657119128766,0.001621563238258779
+19.2,0.01400780182890257,0.1890078018289025,0.001505976214274159
+19.6,0.01337800760646834,0.1883780076064682,0.001399523938750175
+20.,0.01277528943817201,0.1877752894381719,0.00130142788904965
diff --git a/models/sbml-test-suite/cases/semantic/01082/01082-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01082/01082-sbml-l3v1.xml
new file mode 100644
index 0000000..d4a6fbb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01082/01082-sbml-l3v1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01082" id="case01082" name="case01082" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.0125" constant="true"/>
+      <parameter id="p2" name="p2" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S3" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01082/01082-settings.txt b/models/sbml-test-suite/cases/semantic/01082/01082-settings.txt
new file mode 100644
index 0000000..7baa566
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01082/01082-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01083/01083-results.csv b/models/sbml-test-suite/cases/semantic/01083/01083-results.csv
new file mode 100644
index 0000000..84d20ed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01083/01083-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,1.,0,2.016252743098005e-24,4.026050352503676e-11
+0.4,0.9607894409017612,0.001667669898384893,0.07675344829809327,0.02192955665659808
+0.8,0.9231163475692573,0.00648988457114184,0.147277420290344,0.04207926294009829
+1.2,0.8869204370658339,0.01420787466024156,0.2119512512080911,0.06055750034516883
+1.6,0.8521437888556933,0.02457868514798868,0.2711337371406254,0.07746678204017862
+2.,0.8187307527586488,0.03737431121388435,0.3251641832688188,0.0929040523625195
+2.4,0.7866278608627832,0.05238089031981252,0.3743633879546212,0.1069609679870345
+2.8,0.7557837412637938,0.06939792467172625,0.4190345928006868,0.1197241693716253
+3.2,0.7261490368912757,0.08823755688407751,0.4594643693333719,0.1312755340952511
+3.6,0.697676325872988,0.1087238682337104,0.4959234800203143,0.1416924228629474
+4.,0.6703200458201811,0.1306922202414869,0.5286676881181519,0.1510479108908867
+4.4,0.6440364209017656,0.1539886284752437,0.5579385297212258,0.1594110084917334
+4.8,0.6187833915300805,0.1784691667988282,0.5839640501410117,0.1668468714688285
+5.2,0.5945205470278822,0.2039994050591966,0.6069595008850396,0.1734170002519322
+5.6,0.5712090642418797,0.23045389206594,0.6271279794503014,0.1791794227024307
+6.,0.5488116352522103,0.2577155896720984,0.6446611398234821,0.1841888970761521
+6.4,0.5272924231163636,0.2856754886088657,0.6597396651584081,0.1884970471725327
+6.8,0.5066169920251808,0.3142320782405953,0.672533937709044,0.1921525540763994
+7.2,0.4867522550404241,0.3432909215853939,0.6832045683337588,0.1952013046540407
+7.6,0.4676664257069774,0.3727642868054843,0.6919028617805619,0.1976865329306764
+8.,0.4493289622615449,0.4025707358544475,0.698771339622464,0.199648951089981
+8.4,0.4317105220564154,0.432634752102128,0.7039442037850425,0.2011269154109025
+8.8,0.414782909013957,0.4628863858497444,0.7075477961223429,0.2021565097517269
+9.2,0.3985190388696275,0.493260979685603,0.7097009425751433,0.2027716967420271
+9.6,0.3828928838309957,0.5236987778142203,0.7105154545237898,0.2030044111730838
+10.,0.3678794392909594,0.5541446862318265,0.7100964351862558,0.2028846966937529
+10.4,0.3534546799763814,0.5845479788091615,0.708542661238077,0.2024407492698062
+10.8,0.3395955240700652,0.6148620337562531,0.7059469181036179,0.2016991187084666
+11.2,0.3262797931316595,0.6450440781272439,0.7023963356094388,0.2006846648987518
+11.6,0.3134861795426283,0.6750549643538037,0.6979726765609413,0.1994207690826255
+12.,0.3011942105831191,0.704858933716942,0.6927526451168211,0.1979293233324424
+12.4,0.2893842166599098,0.7344234149673992,0.6868081517127824,0.1962309052092477
+12.8,0.2780372992525854,0.7637188192528386,0.6802065822419921,0.1943447403664405
+13.2,0.2671353007805241,0.7927183530047174,0.673011045434236,0.1922888622809982
+13.6,0.2566607758544127,0.8213978407175377,0.6652806075736386,0.1900801708693064
+14.,0.246596962890192,0.8497355548422475,0.6570705193773701,0.1877344407386487
+14.4,0.2369277576449549,0.8777120581018528,0.6484324266082394,0.185266408578009
+14.8,0.2276376872369566,0.9053100525333598,0.6394145729927288,0.1826898784209601
+15.2,0.2187118857146367,0.9325142394513494,0.6300619891193788,0.1800177113870704
+15.6,0.2101360698788604,0.959311183887034,0.6204166763552465,0.1772619076345899
+16.,0.2018965167150164,0.9856891895331422,0.6105177770368266,0.174433650457866
+16.4,0.1939800409792719,1.011638178064753,0.6004017399767043,0.1715433545322206
+16.8,0.1863739745619891,1.037149578673509,0.5901024722025139,0.1686007064834141
+17.2,0.1790661468151971,1.062216224065633,0.579651482303974,0.1656147094640844
+17.6,0.1720448625811577,1.086832243787989,0.5690780310496962,0.1625937230259786
+18.,0.1652988871233244,1.110992980220051,0.5584092455333017,0.1595454996923907
+18.4,0.1588174252182799,1.134694892443675,0.5476702571197666,0.1564772157020359
+18.8,0.1525901047101003,1.157935475513917,0.5368843150658836,0.1533955203135206
+19.2,0.146606961385597,1.180713185288947,0.5260728919398607,0.1503065392608117
+19.6,0.1408584201109214,1.20302735820804,0.5152558015701187,0.147215945297442
+20.,0.1353352826381643,1.224878149048482,0.5044512856751904,0.1441289379611978
diff --git a/models/sbml-test-suite/cases/semantic/01083/01083-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01083/01083-sbml-l3v1.xml
new file mode 100644
index 0000000..accc83e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01083/01083-sbml-l3v1.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01083" id="case01083" name="case01083" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="T" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01083/01083-settings.txt b/models/sbml-test-suite/cases/semantic/01083/01083-settings.txt
new file mode 100644
index 0000000..636cb95
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01083/01083-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 20.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01084/01084-results.csv b/models/sbml-test-suite/cases/semantic/01084/01084-results.csv
new file mode 100644
index 0000000..dd19060
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01084/01084-results.csv
@@ -0,0 +1,52 @@
+time,X0,X1,T,S1
+0,0.5,0,2.436305397910089e-24,2.240070748394604e-12
+0.2,0.4803947362319226,0.000104978755215973,0.009697653128822742,0.002770758036806498
+0.4,0.4615581934920606,0.0004114355954912161,0.0188094676584785,0.005374133616708146
+0.6,0.4434602386567785,0.0009071120739867227,0.02736276859762405,0.007817933885035441
+0.8,0.4260719113442638,0.001580322455092254,0.03538372187277587,0.0101096348207931
+1.,0.4093653895906613,0.002419930956429458,0.04289737424823989,0.01225639264235425
+1.2,0.3933139383749489,0.003415325121056489,0.04992770569146907,0.01426505876899116
+1.4,0.3778918731469346,0.004556396360751841,0.05649766706578091,0.01614219059022311
+1.6,0.3630745155306853,0.005833516862017149,0.06262922537264026,0.01789406439218293
+1.8,0.3488381540582491,0.007237518888460557,0.06834340408241489,0.01952668688068996
+2.,0.3351600009268785,0.008759672691705501,0.07366032684485528,0.02104580766995865
+2.2,0.322018192899931,0.01039168487472056,0.07859921867531395,0.02245691962151827
+2.4,0.3093916729977046,0.01212564120674651,0.08317852229440118,0.02376529208411463
+2.6,0.2972602601680149,0.01395403729125778,0.08741583262473473,0.02497595217849562
+2.8,0.285604522836455,0.01586971814500386,0.09132802043676867,0.02609372012479103
+3.,0.2744058019999133,0.01786588712941169,0.09493121187063166,0.02712320339160904
+3.2,0.2636461986086674,0.01993609886649134,0.09824080182917495,0.0280688005226213
+3.4,0.253308480674684,0.02207421473570296,0.1012715449269549,0.02893472712198719
+3.6,0.2433761024976674,0.02427441016788996,0.1040375385832763,0.02972501102379342
+3.8,0.2338331913989402,0.02653116709577209,0.1065522372047578,0.03044349634421583
+4.,0.224664462865121,0.02883923366215749,0.108828534905282,0.03109386711579541
+4.2,0.2158552376566259,0.03119363076075668,0.1108787504109303,0.03167964297455294
+4.4,0.2073914332783536,0.03358964668848608,0.1127146366723371,0.03220418190637607
+4.6,0.1992594992075221,0.03602280758989744,0.1143474428063415,0.03267069794466527
+4.8,0.1914464160513688,0.03848887473280965,0.115787917241506,0.03308226206900113
+5.,0.1839396983365533,0.0409838450161034,0.1170463058156199,0.03344180166158673
+5.2,0.1767273234874256,0.04350391806384017,0.118132420192447,0.0337521200549993
+5.4,0.169797743081501,0.04604550022378228,0.1190556282354672,0.03401589378161448
+5.6,0.1631398823456957,0.04860520307164156,0.1198248557555106,0.03423567307296861
+5.8,0.1567430793175488,0.05117981586961304,0.1204486444716125,0.03441389842044431
+6.,0.1505970914645193,0.05376630730235614,0.1209351469653842,0.03455289913300052
+6.2,0.1446920977483372,0.05636182527166857,0.1212921258541628,0.03465489310117349
+6.4,0.1390186418638656,0.05896367156928989,0.1215270074987773,0.0347220021425038
+6.6,0.1335676400343779,0.06156930415446432,0.1216468758283467,0.03475625023667512
+6.8,0.1283303807679477,0.06417633593495454,0.1216584736810716,0.03475956390887688
+7.,0.1232984771736396,0.06678251398896482,0.1215682474242153,0.03473378497834718
+7.2,0.1184638720694584,0.06938572055902632,0.1213823434062445,0.03468066954464129
+7.4,0.1138188395960602,0.07198397284910081,0.1211066073528691,0.03460188781510546
+7.6,0.1093559410431426,0.07457540399391433,0.1207466254845143,0.03449903585271838
+7.8,0.1050680308525793,0.07715826456202029,0.1203077200116901,0.03437363428905431
+8.,0.1009482565629186,0.07973092159596979,0.1197949501225709,0.03422712860644882
+8.2,0.09699002068107012,0.08229184257955654,0.1192131470799084,0.03406089916568812
+8.4,0.09318698550580957,0.08483959640860913,0.1185669108384861,0.03387626023956748
+8.6,0.08953307347637626,0.08737285270911439,0.1178606105526975,0.03367446015791356
+8.8,0.08602243306479555,0.0898903677706549,0.1170984156969473,0.0334566901991278
+9.,0.08264944334677151,0.09239098544793933,0.1162842928786749,0.03322408367962141
+9.2,0.07940871401837959,0.09487363638371507,0.1154220066070951,0.03297771617345574
+9.4,0.07629505521545608,0.09733732584749703,0.1145151465447749,0.03271861329850712
+9.6,0.07330348167192662,0.09978113448651292,0.1135671246775237,0.03244774990786393
+9.8,0.07042921286427711,0.1022042176358777,0.1125811759319836,0.03216605026628106
+10.,0.06766764503350303,0.1046057943500808,0.1115603831331676,0.03187439518090504
diff --git a/models/sbml-test-suite/cases/semantic/01084/01084-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01084/01084-sbml-l3v1.xml
new file mode 100644
index 0000000..b81bf39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01084/01084-sbml-l3v1.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01084" id="case01084" name="case01084" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" name="X0" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" name="X1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="T" name="T" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" name="S1" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.1" constant="true"/>
+      <parameter id="k2" name="k2" value="0.375" constant="true"/>
+      <parameter id="k3" name="k3" value="2.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <apply>
+                <plus/>
+                <ci> k3 </ci>
+                <cn type="integer"> 1 </cn>
+              </apply>
+              <ci> S1 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> T </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference id="generatedId_0" species="X0" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> X0 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="T" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S1"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01084/01084-settings.txt b/models/sbml-test-suite/cases/semantic/01084/01084-settings.txt
new file mode 100644
index 0000000..6b700db
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01084/01084-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: X0, X1, T, S1
+absolute: 1.000000e-003
+relative: 0.0001
+amount: X0, X1, T, S1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01085/01085-results.csv b/models/sbml-test-suite/cases/semantic/01085/01085-results.csv
new file mode 100644
index 0000000..62e94fd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01085/01085-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.001,0.002,0.001,0.001000000052764959
+0.3,0.001071783821880633,0.002071308790917422,0.0009282161781193672,0.001071783821880633
+0.6,0.001138356112808056,0.002137357505905242,0.0008616438871919433,0.001138356112808056
+0.9,0.001200064285196821,0.002198494989785465,0.0007999357148031784,0.001200064285196821
+1.2,0.001257269002914208,0.002255083758131269,0.0007427309970857917,0.001257269002914208
+1.5,0.001310296879911391,0.002307452368559547,0.000689703120088609,0.00131029687991139
+1.8,0.001359453214654736,0.002355908096625453,0.000640546785345264,0.001359453214654736
+2.1,0.001405020355687798,0.002400735293998899,0.0005949796443122019,0.001405020355687798
+2.4,0.001447261726479712,0.002442199393499957,0.0005527382735202877,0.001447261726479712
+2.7,0.001486417193738351,0.002480542258755946,0.0005135828062616494,0.001486417193738351
+3.,0.001522712403126529,0.00251599149431711,0.0004772875968734714,0.001522712403126529
+3.3,0.001556354715724169,0.002548756382849276,0.0004436452842758304,0.001556354715724169
+3.6,0.001587537952891355,0.002579032594976106,0.0004124620471086442,0.001587537952891355
+3.9,0.001616440885187944,0.002607000685446704,0.0003835591148120557,0.001616440885187944
+4.2,0.001643230997129667,0.002632829856433632,0.000356769002870333,0.001643230997129667
+4.5,0.001668061052208633,0.002656674521288302,0.0003319389477913669,0.001668061052208633
+4.8,0.001691074742721633,0.002678679934105511,0.0003089252572783669,0.001691074742721633
+5.1,0.001712405098093774,0.002698980619762124,0.0002875949019062253,0.001712405098093774
+5.4,0.001732174349423263,0.00271770021878765,0.0002678256505767366,0.001732174349423264
+5.7,0.001750497434105372,0.002734955005874657,0.0002495025658946273,0.001750497434105372
+6.,0.001767479862373538,0.002750851758127485,0.0002325201376264617,0.001767479862373537
+6.3,0.001783219271402293,0.002765489300357953,0.0002167807285977075,0.001783219271402294
+6.6,0.001797807138086787,0.002778960235635897,0.0002021928619132131,0.001797807138086788
+6.9,0.001811327294503874,0.002791349451309647,0.000188672705496126,0.001811327294503871
+7.2,0.00182385787565126,0.00280273607337793,0.0001761421243487399,0.001823857875651261
+7.5,0.001835471627881266,0.002813193791585821,0.0001645283721187337,0.001835471627881261
+7.8,0.001846233819717233,0.002822788719405236,0.0001537661802827669,0.001846233819717222
+8.1,0.001856208509780428,0.002831585739381772,0.0001437914902195712,0.001856208509780431
+8.4,0.001865453724075311,0.0028396436633562,0.0001345462759246888,0.001865453724075321
+8.7,0.001874021087228427,0.00284701480494388,0.0001259789127715725,0.00187402108722843
+9.,0.001881962710373151,0.002853751948617018,0.0001180372896268483,0.00188196271037315
+9.3,0.001889322843550832,0.002859899973197944,0.0001106771564491678,0.001889322843550832
+9.6,0.001896143393074027,0.002865501350687291,0.0001038566069259729,0.00189614339307403
+9.9,0.001902465809015333,0.002870598084636891,0.0000975341909846665,0.00190246580901534
+10.2,0.001908325560388428,0.002875226138111721,0.00009167443961157184,0.001908325560388434
+10.5,0.001913756789617566,0.002879420120250691,0.00008624321038243365,0.001913756789617567
+10.8,0.001918791265894195,0.002883212248745776,0.00008120873410580508,0.001918791265894191
+11.1,0.001923456721528773,0.002886630651349164,0.00007654327847122641,0.001923456721528768
+11.4,0.001927781074268643,0.002889703631211954,0.00007221892573135593,0.001927781074268639
+11.7,0.001931789388151786,0.002892456602707173,0.000068210611848213,0.001931789388151783
+12.,0.001935504331162122,0.002894912553824526,0.0000644956688378775,0.001935504331162122
+12.3,0.001938948104704549,0.002897094001304583,0.00006105189529545097,0.001938948104704557
+12.6,0.001942139763795918,0.002899020276318478,0.00005786023620408105,0.001942139763795929
+12.9,0.001945097957231753,0.002900710289870981,0.00005490204276824613,0.001945097957231758
+13.2,0.001947840342816013,0.002902181949989463,0.00005215965718398698,0.001947840342816009
+13.5,0.001950382071567083,0.002903450624953306,0.00004961792843291707,0.001950382071567075
+13.8,0.001952738313928778,0.002904531700319044,0.00004726168607122195,0.001952738313928768
+14.1,0.0019549225796636,0.002905438882344636,0.00004507742033640011,0.001954922579663588
+14.4,0.001956947114981959,0.002906184593228202,0.00004305288501804074,0.001956947114981954
+14.7,0.001958824118743728,0.002906781205309917,0.000041175881256271,0.001958824118743736
+15.,0.001960564324710483,0.00290723960686399,0.00003943567528951652,0.001960564324710483
diff --git a/models/sbml-test-suite/cases/semantic/01085/01085-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01085/01085-sbml-l3v1.xml
new file mode 100644
index 0000000..7b09747
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01085/01085-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01085" id="case01085" name="case01085" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.002" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.001" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01085/01085-settings.txt b/models/sbml-test-suite/cases/semantic/01085/01085-settings.txt
new file mode 100644
index 0000000..79d94fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01085/01085-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 15.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01086/01086-results.csv b/models/sbml-test-suite/cases/semantic/01086/01086-results.csv
new file mode 100644
index 0000000..ec60b29
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01086/01086-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0.2,0.1,0.1000000000463599
+0.2,0.1017894170963555,0.2017894170963555,0.09337919405427221,0.1017894170963555
+0.4,0.1031931542209749,0.2031931542209749,0.08745728179834634,0.1031931542209752
+0.6,0.1042599881499148,0.2042599881499148,0.0821526133335977,0.1042599881499156
+0.8,0.1050330999051172,0.2050330999051172,0.07739299128225411,0.1050330999051172
+1.,0.1055506492146797,0.2055506492146797,0.0731146314462558,0.1055506492146796
+1.2,0.1058462807063498,0.2058462807063498,0.06926126349122672,0.1058462807063499
+1.4,0.1059496026554249,0.2059496026554249,0.0657832982003982,0.1059496026554248
+1.6,0.1058866371725133,0.2058866371725133,0.06263705739438379,0.1058866371725133
+1.8,0.1056802258732096,0.2056802258732095,0.05978408976920773,0.1056802258732095
+2.,0.1053503787758972,0.2053503787758972,0.057190587065693,0.1053503787758972
+2.2,0.1049146143104152,0.2049146143104152,0.05482681929221898,0.1049146143104152
+2.4,0.1043882639187886,0.2043882639187886,0.05266663291966161,0.1043882639187886
+2.6,0.1037847209423212,0.2037847209423212,0.05068704323528809,0.1037847209423213
+2.8,0.1031156800376933,0.2031156800376933,0.04886784324360379,0.1031156800376932
+3.,0.1023913507694748,0.2023913507694748,0.04719125602993358,0.1023913507694749
+3.2,0.1016206318792724,0.2016206318792724,0.04564165200907392,0.1016206318792724
+3.4,0.1008112772822125,0.2008112772822124,0.04420527993999474,0.1008112772822125
+3.6,0.09997004144388294,0.1999700414438829,0.0428700316294028,0.09997004144388289
+3.8,0.09910279848892183,0.1991027984889219,0.04162524951100705,0.09910279848892186
+4.,0.09821465575306168,0.1982146557530616,0.04046154305509486,0.09821465575306169
+4.2,0.09731005161061764,0.1973100516106176,0.03937063058551895,0.09731005161061763
+4.4,0.09639283585586611,0.1963928358558661,0.03834520951501027,0.09639283585586619
+4.6,0.09546634652732845,0.1954663465273284,0.03737883199055018,0.09546634652732839
+4.8,0.09453347527925393,0.1945334752792539,0.03646579897164496,0.09453347527925402
+5.,0.09359672135068802,0.193596721350688,0.03560107292046465,0.09359672135068793
+5.2,0.09265824321741977,0.1926582432174197,0.03478019387307175,0.09265824321741982
+5.4,0.09171990208018614,0.1917199020801861,0.03399920867273204,0.09171990208018607
+5.6,0.09078329801111878,0.1907832980111187,0.03325461224491058,0.09078329801111874
+5.8,0.08984980457220048,0.1898498045722004,0.03254329099858861,0.08984980457220055
+6.,0.08892059768858194,0.1889205976885819,0.03186247554738058,0.08892059768858183
+6.2,0.08799667983818003,0.18799667983818,0.03120970117020558,0.08799667983818027
+6.4,0.08707890321210225,0.1870789032121022,0.03058276962551375,0.08707890321210209
+6.6,0.08616798887538741,0.1861679888753874,0.02997971751893245,0.08616798887538768
+6.8,0.08526454354434097,0.1852645435443409,0.02939878848002751,0.08526454354434158
+7.,0.08436907132613909,0.184369071326139,0.02883841438946423,0.08436907132613909
+7.2,0.08348199462486101,0.1834819946248609,0.02829717888042449,0.08348199462486026
+7.4,0.08260365728015123,0.1826036572801512,0.02777381398722022,0.08260365728015167
+7.6,0.08173433679687849,0.1817343367968785,0.02726717844818867,0.08173433679687836
+7.8,0.08087425563401569,0.1808742556340156,0.02677623880537673,0.08087425563401548
+8.,0.08002358606769471,0.1800235860676946,0.0263000611685276,0.08002358606769455
+8.2,0.07918245604236148,0.1791824560423614,0.02583780156777737,0.07918245604236182
+8.4,0.07835095681112012,0.1783509568111201,0.02538869249051425,0.07835095681112012
+8.6,0.07752914743649173,0.1775291474364917,0.02495203496356134,0.07752914743649154
+8.8,0.0767170595150952,0.1767170595150952,0.02452719061582129,0.07671705951509495
+9.,0.07591469985512031,0.1759146998551203,0.02411357712285329,0.07591469985512075
+9.2,0.07512205468664495,0.1751220546866449,0.02371066041612053,0.07512205468664499
+9.4,0.07433909277311849,0.1743390927731184,0.02331794911630186,0.07433909277311824
+9.6,0.07356576767790776,0.1735657676779077,0.02293499065498627,0.0735657676779073
+9.8,0.07280201956511543,0.1728020195651154,0.02256136809898754,0.072802019565116
+10.,0.07204777773677623,0.1720477777367761,0.02219669522654535,0.07204777773677623
diff --git a/models/sbml-test-suite/cases/semantic/01086/01086-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01086/01086-sbml-l3v1.xml
new file mode 100644
index 0000000..f36beee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01086/01086-sbml-l3v1.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01086" id="case01086" name="case01086" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule metaid="rule1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <ci> S4 </ci>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </algebraicRule>
+    </listOfRules>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference id="generatedId_0" species="S3" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01086/01086-settings.txt b/models/sbml-test-suite/cases/semantic/01086/01086-settings.txt
new file mode 100644
index 0000000..104d181
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01086/01086-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01087/01087-results.csv b/models/sbml-test-suite/cases/semantic/01087/01087-results.csv
new file mode 100644
index 0000000..aa1fa2c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01087/01087-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,0.00015,0.00015,0.0001125
+0.04,0.0001228096129566186,0.0002043807740867624,0.0001532855805650718
+0.08,0.0001005480066291285,0.0002489039867417427,0.000186677990056307
+0.12,0.00008232174487033327,0.0002853565102593333,0.0002140173826945
+0.16,0.00006739934461450083,0.0003152013107709982,0.0002364009830782486
+0.2,0.00005518190638277436,0.0003396361872344511,0.0002547271404258383
+0.24,0.00004517913100435505,0.0003596417379912897,0.0002697313034934673
+0.28,0.000036989544583126,0.0003760209108337478,0.0002820156831253109
+0.32,0.00003028447760136352,0.0003894310447972728,0.0002920732835979546
+0.36,0.00002479483277102242,0.0004004103344579551,0.0003003077508434663
+0.4,0.00002030029214324479,0.0004093994157135103,0.0003070495617851327
+0.44,0.00001662047321268503,0.0004167590535746299,0.0003125692901809724
+0.48,0.00001360769153566373,0.0004227846169286725,0.0003170884626965044
+0.52,0.00001114103636120264,0.0004277179272775947,0.000320788445458196
+0.56,9.121509170834904e-6,0.0004317569816583302,0.0003238177362437476
+0.6,7.468060138473658e-6,0.0004350638797230526,0.0003262979097922894
+0.64,6.114330548864529e-6,0.0004377713389022708,0.0003283285041767031
+0.68,5.005990472336152e-6,0.0004399880190553276,0.0003299910142914957
+0.72,4.098558137700621e-6,0.0004418028837245986,0.000331352162793449
+0.76,3.355615346393948e-6,0.000443288769307212,0.000332466576980409
+0.8,2.74734532079628e-6,0.0004445053093584073,0.0003333789820188055
+0.84,2.249336056980028e-6,0.0004455013278860398,0.0003341259959145298
+0.88,1.841600648067011e-6,0.0004463167987038658,0.0003347375990278994
+0.92,1.507775177314227e-6,0.0004469844496453713,0.0003352383372340285
+0.96,1.234461997862066e-6,0.0004475310760042757,0.0003356483070032068
+1.,1.010692048498694e-6,0.0004479786159030025,0.0003359839619272518
+1.04,8.274846425593801e-7,0.0004483450307148811,0.0003362587730361608
+1.08,6.774870787529477e-7,0.000448645025842494,0.0003364837693818705
+1.12,5.546794679644908e-7,0.0004488906410640709,0.0003366679807980532
+1.16,4.541331198972317e-7,0.0004490917337602055,0.0003368188003201541
+1.2,3.718127519111653e-7,0.0004492563744961776,0.0003369422808721332
+1.24,3.044145479236565e-7,0.0004493911709041526,0.0003370433781781145
+1.28,2.492335698979315e-7,0.0004495015328602041,0.0003371261496451531
+1.32,2.040552019508404e-7,0.0004495918895960983,0.0003371939171970737
+1.36,1.670662714350837e-7,0.0004496658674571298,0.0003372494005928473
+1.4,1.36782287135718e-7,0.0004497264354257285,0.0003372948265692964
+1.44,1.119878568035683e-7,0.0004497760242863928,0.0003373320182147946
+1.48,9.168789704904192e-8,0.0004498166242059018,0.0003373624681544263
+1.52,7.506769946315072e-8,0.0004498498646010736,0.0003373873984508052
+1.56,6.146023560122922e-8,0.0004498770795287975,0.0003374078096465981
+1.6,5.031938805012614e-8,0.0004498993612238996,0.0003374245209179247
+1.64,4.119803352443756e-8,0.0004499176039329511,0.0003374382029497133
+1.68,3.373009858435363e-8,0.0004499325398028312,0.0003374494048521234
+1.72,2.761586835771374e-8,0.0004499447682632845,0.0003374585761974633
+1.76,2.260995916641871e-8,0.000449954780081667,0.0003374660850612502
+1.8,1.851146762110221e-8,0.0004499629770647576,0.0003374722327985682
+1.84,1.515590720707042e-8,0.0004499696881855857,0.0003374772661391892
+1.88,1.240860734588667e-8,0.0004499751827853081,0.000337481387088981
+1.92,1.015930889085393e-8,0.0004499796813822182,0.0003374847610366636
+1.96,8.317739214490765e-9,0.0004499833645215709,0.0003374875233911781
+2.,6.809989464624469e-9,0.0004499863800210706,0.000337489785015803
diff --git a/models/sbml-test-suite/cases/semantic/01087/01087-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01087/01087-sbml-l3v1.xml
new file mode 100644
index 0000000..5a1996a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01087/01087-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01087" id="case01087" name="case01087" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.00015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01087/01087-settings.txt b/models/sbml-test-suite/cases/semantic/01087/01087-settings.txt
new file mode 100644
index 0000000..13c40dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01087/01087-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01088/01088-results.csv b/models/sbml-test-suite/cases/semantic/01088/01088-results.csv
new file mode 100644
index 0000000..c37b33a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01088/01088-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.0000225
+0.1,0.00001368932032442437,0.00001838383676732878,6.31067967557563e-6,0.00002757575515099317
+0.2,0.00001582956878448168,0.00002009256617381981,4.170431215518318e-6,0.00003013884926072972
+0.3,0.00001706883777132257,0.00002082372053671467,2.931162228677427e-6,0.000031235580805072
+0.4,0.0000177895844421121,0.00002099588201582955,2.210415557887897e-6,0.00003149382302374432
+0.5,0.00001821352425569098,0.00002085371752235294,1.786475744309023e-6,0.00003128057628352941
+0.6,0.00001846794610526505,0.00002053816923563076,1.532053894734949e-6,0.00003080725385344614
+0.7,0.00001862555623386465,0.00002012975984003148,1.374443766135348e-6,0.00003019463976004722
+0.8,0.00001872778081004895,0.00001967425944662283,1.272219189951048e-6,0.00002951138916993424
+0.9,0.00001879820050764327,0.00001919758271541869,1.201799492356722e-6,0.00002879637407312805
+1.,0.00001885023681960668,0.00001871433898621576,1.149763180393314e-6,0.00002807150847932364
+1.1,0.00001889153256239292,0.00001823271113636465,1.108467437607075e-6,0.00002734906670454698
+1.2,0.00001892644385934171,0.00001775723155551947,1.073556140658281e-6,0.00002663584733327921
+1.3,0.000018957456946207,0.0000172903597562267,1.042543053792986e-6,0.00002593553963434005
+1.4,0.00001898599365861873,0.00001683337861589906,1.01400634138126e-6,0.00002525006792384859
+1.5,0.00001901286952418265,0.00001638690361164442,9.87130475817342e-7,0.00002458035541746663
+1.6,0.00001903855447425315,0.00001595117234101271,9.614455257468341e-7,0.00002392675851151907
+1.7,0.00001906332128480667,0.00001552620918578814,9.366787151933215e-7,0.0000232893137786822
+1.8,0.00001908733017176583,0.00001511191904388774,9.126698282341562e-7,0.00002266787856583161
+1.9,0.00001911067703375428,0.0000147081407147657,8.893229662457099e-7,0.00002206221107214855
+2.,0.00001913342097725136,0.00001431467731494125,8.665790227486276e-7,0.00002147201597241188
+2.1,0.00001915560003796197,0.00001393131361823553,8.443999620380192e-7,0.0000208969704273533
+2.2,0.00001917724016200714,0.00001355782593690671,8.227598379928422e-7,0.00002033673890536006
+2.3,0.00001919836034057972,0.00001319398774931552,8.016396594202662e-7,0.00001979098162397329
+2.4,0.00001921897554693077,0.00001283957289789193,7.810244530692122e-7,0.00001925935934683791
+2.5,0.00001923909841572494,0.00001249435739771108,7.609015842750443e-7,0.00001874153609656662
+2.6,0.00001925874020343429,0.00001215812045089426,7.412597965657051e-7,0.00001823718067634139
+2.7,0.0000192779113373101,0.00001183064500473763,7.220886626898924e-7,0.00001774596750710645
+2.8,0.00001929662172837465,0.00001151171804926065,7.03378271625342e-7,0.00001726757707389098
+2.9,0.000019314880949508,0.00001120113076385304,6.851190504919937e-7,0.00001680169614577956
+3.,0.00001933269833617508,0.0000108986785764316,6.673016638249129e-7,0.00001634801786464741
+3.1,0.00001935008304281123,0.00001060416117398245,6.499169571887606e-7,0.00001590624176097367
+3.2,0.00001936704407396063,0.00001031738248282119,6.329559260393675e-7,0.00001547607372423179
+3.3,0.00001938359030099141,0.00001003815063110995,6.164096990085924e-7,0.00001505722594666493
+3.4,0.00001939973047062421,9.766277901348437e-6,6.002695293757818e-7,0.00001464941685202265
+3.5,0.00001941547320879252,9.50158067932709e-6,5.845267912074716e-7,0.00001425237101899063
+3.6,0.00001943082702213909,9.243879393357891e-6,5.691729778609074e-7,0.00001386581909003683
+3.7,0.00001944580029797331,8.992998457333804e-6,5.541997020266835e-7,0.0000134894976860007
+3.8,0.00001946040130362196,8.74876620953786e-6,5.395986963780368e-7,0.00001312314931430679
+3.9,0.00001947463818552003,8.51101484925513e-6,5.253618144799657e-7,0.00001276652227388269
+4.,0.00001948851896823852,8.279580372313526e-6,5.114810317614771e-7,0.00001241937055847028
+4.1,0.00001950205155305915,8.054302520661407e-6,4.979484469408498e-7,0.00001208145378099211
+4.2,0.00001951524371799998,7.835024691805011e-6,4.847562820000242e-7,0.00001175253703770751
+4.3,0.00001952810311608857,7.621593904092625e-6,4.718968839114311e-7,0.00001143239085613893
+4.4,0.00001954063727530401,7.413860717049523e-6,4.593627246959943e-7,0.00001112079107557428
+4.5,0.00001955285359802322,7.211679171212355e-6,4.471464019767813e-7,0.00001081751875681853
+4.6,0.00001956475936067973,7.014906726195567e-6,4.352406393202785e-7,0.00001052236008929335
+4.7,0.0000195763617136914,6.823404195830491e-6,4.23638286308598e-7,0.00001023510629374573
+4.8,0.00001958766768148997,6.637035684866228e-6,4.123323185100376e-7,9.955553527299342e-6
+4.9,0.00001959868416261745,6.455668527826587e-6,4.013158373825582e-7,9.68350279173988e-6
+5.,0.00001960941793002402,6.279173226398622e-6,3.905820699759905e-7,9.418759839597932e-6
diff --git a/models/sbml-test-suite/cases/semantic/01088/01088-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01088/01088-sbml-l3v1.xml
new file mode 100644
index 0000000..3e3714a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01088/01088-sbml-l3v1.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01088" id="case01088" name="case01088" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="15000" constant="true"/>
+      <parameter id="k2" name="k2" value="5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S2 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01088/01088-settings.txt b/models/sbml-test-suite/cases/semantic/01088/01088-settings.txt
new file mode 100644
index 0000000..161e1a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01088/01088-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01089/01089-results.csv b/models/sbml-test-suite/cases/semantic/01089/01089-results.csv
new file mode 100644
index 0000000..c81bf11
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01089/01089-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.01499999999999999,0.02,0.01499999999999999,0.01
+0.1,0.01304691087642063,0.01804691087642063,0.01695308912357936,0.011
+0.2,0.01150552049903058,0.01650552049903058,0.01849447950096942,0.012
+0.3,0.01026023480903082,0.01526023480903083,0.01973976519096917,0.013
+0.4,0.009235008638813707,0.01423500863881371,0.02076499136118628,0.014
+0.5,0.008377762889193844,0.01337776288919384,0.02162223711080615,0.015
+0.6,0.007651631290731362,0.01265163129073136,0.02234836870926863,0.016
+0.7,0.0070297827533067,0.0120297827533067,0.02297021724669329,0.01699999999999999
+0.8,0.006492223184837084,0.01149222318483708,0.02350777681516291,0.01799999999999999
+0.9,0.006023747712163113,0.01102374771216311,0.02397625228783688,0.019
+1.,0.00561258686251842,0.01061258686251841,0.02438741313748157,0.02
+1.1,0.005249487784800066,0.01024948778480006,0.02475051221519991,0.021
+1.2,0.00492707529971039,0.009927075299710387,0.02507292470028959,0.022
+1.3,0.004639398153490543,0.00963939815349054,0.02536060184650943,0.023
+1.4,0.0043816009505757,0.009381600950575696,0.02561839904942428,0.024
+1.5,0.004149682754307969,0.009149682754307964,0.02585031724569202,0.02499999999999999
+1.6,0.003940316938029498,0.008940316938029492,0.02605968306197049,0.02599999999999999
+1.7,0.003750714616104014,0.008750714616104011,0.02624928538389597,0.027
+1.8,0.003578520091730439,0.008578520091730436,0.02642147990826955,0.028
+1.9,0.003421729936951026,0.008421729936951023,0.02657827006304897,0.029
+2.,0.003278629266669519,0.008278629266669515,0.02672137073333048,0.02999999999999999
+2.1,0.003147741754355426,0.008147741754355423,0.02685225824564458,0.031
+2.2,0.003027789379703138,0.008027789379703134,0.02697221062029686,0.032
+2.3,0.002917660262045538,0.007917660262045536,0.02708233973795447,0.033
+2.4,0.00281638254149072,0.007816382541490717,0.02718361745850929,0.03399999999999999
+2.5,0.002723103007516336,0.007723103007516333,0.02727689699248367,0.03499999999999999
+2.6,0.002637069566175293,0.007637069566175291,0.0273629304338247,0.03599999999999999
+2.7,0.0025576167302873,0.007557616730287298,0.0274423832697127,0.03699999999999999
+2.8,0.00248415353878559,0.007484153538785588,0.02751584646121441,0.03799999999999999
+2.9,0.002416153485676,0.007416153485675996,0.027583846514324,0.03899999999999999
+3.,0.002353146004267218,0.007353146004267215,0.02764685399573278,0.03999999999999999
+3.1,0.002294709254884423,0.007294709254884419,0.02770529074511557,0.04099999999999999
+3.2,0.002240464080406711,0.007240464080406708,0.02775953591959329,0.04199999999999999
+3.3,0.00219006880895671,0.007190068808956708,0.02780993119104329,0.04299999999999999
+3.4,0.002143214761978522,0.007143214761978519,0.02785678523802148,0.04399999999999999
+3.5,0.002099622441309437,0.007099622441309435,0.02790037755869057,0.04499999999999999
+3.6,0.002059038223070844,0.007059038223070842,0.02794096177692916,0.04599999999999999
+3.7,0.002021231515767174,0.007021231515767173,0.02797876848423283,0.04699999999999999
+3.8,0.001985992214889393,0.00698599221488939,0.02801400778511061,0.04799999999999999
+3.9,0.001953128612008442,0.006953128612008439,0.02804687138799156,0.049
+4.,0.001922465389259263,0.00692246538925926,0.02807753461074074,0.04999999999999999
+4.1,0.00189384208347579,0.006893842083475786,0.02810615791652422,0.05099999999999999
+4.2,0.001867111488127108,0.006867111488127105,0.0281328885118729,0.05199999999999999
+4.3,0.001842138413237128,0.006842138413237125,0.02815786158676288,0.05299999999999999
+4.4,0.001818798566212294,0.00681879856621229,0.02818120143378771,0.05399999999999999
+4.5,0.001796977498185458,0.006796977498185453,0.02820302250181455,0.055
+4.6,0.001776569688565464,0.00677656968856546,0.02822343031143454,0.056
+4.7,0.001757477748312967,0.006757477748312964,0.02824252225168704,0.057
+4.8,0.001739611715520644,0.006739611715520641,0.02826038828447936,0.058
+4.9,0.001722888409180703,0.006722888409180699,0.02827711159081931,0.05899999999999999
+5.,0.001707230790798014,0.00670723079079801,0.02829276920920199,0.05999999999999999
diff --git a/models/sbml-test-suite/cases/semantic/01089/01089-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01089/01089-sbml-l3v1.xml
new file mode 100644
index 0000000..036dd93
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01089/01089-sbml-l3v1.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01089" id="case01089" name="case01089" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.02" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0.015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0.01" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.025" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="rational"> 1 <sep/> 100 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference id="generatedId_0" species="S3" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01089/01089-settings.txt b/models/sbml-test-suite/cases/semantic/01089/01089-settings.txt
new file mode 100644
index 0000000..9888299
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01089/01089-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-005
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01090/01090-results.csv b/models/sbml-test-suite/cases/semantic/01090/01090-results.csv
new file mode 100644
index 0000000..cd98a4d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01090/01090-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.1,1.391615229463606,2.108384770536392,1.537499999999999,3.987499999999998
+0.2,1.291061964126237,2.208938035873761,1.574999999999999,3.974999999999998
+0.3,1.197774327920917,2.302225672079081,1.612499999999999,3.962499999999999
+0.4,1.111227329028637,2.388772670971361,1.649999999999999,3.949999999999999
+0.5,1.030933918175498,2.4690660818245,1.687499999999999,3.937499999999999
+0.6,0.9564422260114331,2.543557773988566,1.724999999999999,3.924999999999998
+0.7,0.8873330349807219,2.612666965019277,1.762499999999999,3.912499999999998
+0.8,0.8232174420858516,2.676782557914147,1.799999999999999,3.899999999999998
+0.9,0.7637346283561901,2.736265371643809,1.837499999999999,3.887499999999997
+1.,0.7085498147991272,2.791450185200872,1.874999999999999,3.874999999999997
+1.1,0.6573524882475748,2.842647511752424,1.912499999999999,3.862499999999997
+1.2,0.6098544788576378,2.890145521142362,1.949999999999999,3.849999999999996
+1.3,0.5657885251810088,2.934211474818991,1.987499999999999,3.837499999999996
+1.4,0.5249065058981936,2.975093494101806,2.024999999999999,3.824999999999996
+1.5,0.4869787010131501,3.013021298986851,2.0625,3.812499999999995
+1.6,0.451791317693614,3.048208682306386,2.1,3.799999999999994
+1.7,0.4191464522016875,3.080853547798312,2.137499999999999,3.787499999999994
+1.8,0.3888603887196708,3.111139611280329,2.174999999999999,3.774999999999994
+1.9,0.36076269261492,3.139237307385079,2.212499999999999,3.762499999999994
+2.,0.3346952382978551,3.165304761702144,2.25,3.749999999999994
+2.1,0.3105113275246773,3.189488672475322,2.287499999999999,3.737499999999995
+2.2,0.2880748602751087,3.21192513972489,2.324999999999999,3.724999999999995
+2.3,0.2672595699993246,3.232740430000673,2.362499999999999,3.712499999999995
+2.4,0.2479483287148262,3.252051671285172,2.399999999999999,3.699999999999994
+2.5,0.2300324498184125,3.269967550181586,2.437499999999999,3.687499999999994
+2.6,0.2134111020496992,3.286588897950299,2.474999999999999,3.674999999999994
+2.7,0.1979907602694288,3.30200923973057,2.512499999999999,3.662499999999993
+2.8,0.1836846423026317,3.316315357697367,2.549999999999999,3.649999999999993
+2.9,0.1704122251597573,3.329587774840241,2.587499999999999,3.637499999999993
+3.,0.1580988304436269,3.341901169556372,2.624999999999999,3.624999999999993
+3.1,0.1466751588898776,3.353324841110121,2.662499999999999,3.612499999999993
+3.2,0.1360769222497864,3.363923077750212,2.699999999999999,3.599999999999993
+3.3,0.126244477495966,3.373755522504033,2.737499999999999,3.587499999999992
+3.4,0.1171224911797466,3.382877508820252,2.774999999999999,3.574999999999992
+3.5,0.1086596280403545,3.391340371959644,2.8125,3.562499999999992
+3.6,0.1008082621132493,3.399191737886749,2.85,3.549999999999992
+3.7,0.09352420871229363,3.406475791287705,2.8875,3.537499999999992
+3.8,0.08676647577743318,3.413233524222565,2.925,3.524999999999991
+3.9,0.08049702935130885,3.419502970648689,2.9625,3.512499999999991
+4.,0.07468059428803168,3.425319405711966,3.,3.499999999999992
+4.1,0.06928443518339419,3.430715564816604,3.0375,3.487499999999991
+4.2,0.06427818423627604,3.435721815763722,3.075,3.474999999999991
+4.3,0.05963366787123929,3.440366332128759,3.1125,3.462499999999991
+4.4,0.05532474820898054,3.444675251791018,3.15,3.449999999999991
+4.5,0.05132717598799031,3.448672824012008,3.1875,3.437499999999992
+4.6,0.04761845411056685,3.452381545889431,3.225,3.424999999999991
+4.7,0.04417771104599953,3.455822288953999,3.2625,3.412499999999992
+4.8,0.0409855834269733,3.459014416573025,3.3,3.399999999999991
+4.9,0.03802410823579958,3.461975891764199,3.3375,3.387499999999992
+5.,0.03527661878401435,3.464723381215984,3.375,3.374999999999992
diff --git a/models/sbml-test-suite/cases/semantic/01090/01090-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01090/01090-sbml-l3v1.xml
new file mode 100644
index 0000000..a5daefa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01090/01090-sbml-l3v1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01090" id="case01090" name="case01090" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01090/01090-settings.txt b/models/sbml-test-suite/cases/semantic/01090/01090-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01090/01090-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01091/01091-results.csv b/models/sbml-test-suite/cases/semantic/01091/01091-results.csv
new file mode 100644
index 0000000..790e6f4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01091/01091-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5e-6,2e-6,1.5e-6,1e-7
+0.1,1.336380231834313e-6,1.836380231834315e-6,1.663619768165686e-6,2.000000000000001e-7
+0.2,1.21071212580229e-6,1.710712125802292e-6,1.789287874197709e-6,3.e-7
+0.3,1.112330087502838e-6,1.61233008750284e-6,1.887669912497162e-6,3.999999999999999e-7
+0.4,1.034150748791684e-6,1.534150748791686e-6,1.965849251208316e-6,4.999999999999999e-7
+0.5,9.71285021665502e-7,1.471285021665504e-6,2.028714978334498e-6,5.999999999999999e-7
+0.6,9.202499338883168e-7,1.420249933888319e-6,2.079750066111684e-6,6.999999999999998e-7
+0.7,8.78498061731402e-7,1.378498061731404e-6,2.121501938268598e-6,7.999999999999999e-7
+0.8,8.441245760573407e-7,1.344124576057343e-6,2.155875423942659e-6,9.e-7
+0.9,8.15678250582198e-7,1.3156782505822e-6,2.184321749417802e-6,9.999999999999999e-7
+1.,7.920357183508675e-7,1.292035718350869e-6,2.207964281649132e-6,1.099999999999999e-6
+1.1,7.723155084990126e-7,1.272315508499014e-6,2.227684491500987e-6,1.199999999999999e-6
+1.2,7.558178872264303e-7,1.255817887226432e-6,2.24418211277357e-6,1.299999999999999e-6
+1.3,7.419818422364117e-7,1.241981842236413e-6,2.258018157763589e-6,1.399999999999999e-6
+1.4,7.303537404858634e-7,1.230353740485865e-6,2.269646259514137e-6,1.499999999999999e-6
+1.5,7.205640878107322e-7,1.220564087810734e-6,2.279435912189269e-6,1.599999999999999e-6
+1.6,7.123100506475475e-7,1.212310050647549e-6,2.287689949352454e-6,1.699999999999999e-6
+1.7,7.053420771037081e-7,1.20534207710371e-6,2.294657922896294e-6,1.799999999999999e-6
+1.8,6.994536111590898e-7,1.199453611159091e-6,2.300546388840912e-6,1.899999999999999e-6
+1.9,6.94472984086884e-7,1.194472984086886e-6,2.305527015913118e-6,1.999999999999999e-6
+2.,6.902570759558192e-7,1.190257075955821e-6,2.309742924044182e-6,2.099999999999999e-6
+2.1,6.866862022719161e-7,1.186686202271918e-6,2.313313797728085e-6,2.199999999999999e-6
+2.2,6.836600445901221e-7,1.183660044590124e-6,2.316339955409879e-6,2.3e-6
+2.3,6.810943398321899e-7,1.181094339832192e-6,2.318905660167812e-6,2.399999999999999e-6
+2.4,6.789181837243398e-7,1.178918183724342e-6,2.321081816275662e-6,2.499999999999999e-6
+2.5,6.770718284559447e-7,1.177071828455947e-6,2.322928171544056e-6,2.599999999999999e-6
+2.6,6.755048570160653e-7,1.175504857016068e-6,2.324495142983936e-6,2.699999999999999e-6
+2.7,6.741746771741963e-7,1.174174677174198e-6,2.325825322825805e-6,2.8e-6
+2.8,6.730452802879961e-7,1.173045280287999e-6,2.326954719712005e-6,2.899999999999999e-6
+2.9,6.720861981176026e-7,1.172086198117605e-6,2.327913801882398e-6,3.e-6
+3.,6.712716287391329e-7,1.171271628739135e-6,2.328728371260869e-6,3.1e-6
+3.1,6.705797102965063e-7,1.170579710296509e-6,2.329420289703495e-6,3.2e-6
+3.2,6.699919161755601e-7,1.169991916175562e-6,2.330008083824442e-6,3.300000000000001e-6
+3.3,6.694925321895635e-7,1.169492532189566e-6,2.330507467810439e-6,3.4e-6
+3.4,6.690682275052076e-7,1.16906822750521e-6,2.330931772494795e-6,3.5e-6
+3.5,6.687076929909063e-7,1.168707692990909e-6,2.331292307009096e-6,3.6e-6
+3.6,6.68401326875118e-7,1.16840132687512e-6,2.331598673124884e-6,3.700000000000001e-6
+3.7,6.681409784457038e-7,1.168140978445706e-6,2.331859021554298e-6,3.8e-6
+3.8,6.679197277628966e-7,1.167919727762898e-6,2.332080272237106e-6,3.899999999999999e-6
+3.9,6.677316963107443e-7,1.167731696310746e-6,2.332268303689257e-6,4.e-6
+4.,6.67571892165676e-7,1.167571892165678e-6,2.332428107834326e-6,4.1e-6
+4.1,6.674360746013568e-7,1.167436074601359e-6,2.332563925398645e-6,4.2e-6
+4.2,6.673206411501181e-7,1.16732064115012e-6,2.332679358849883e-6,4.300000000000001e-6
+4.3,6.672225301256529e-7,1.167222530125655e-6,2.332777469874349e-6,4.4e-6
+4.4,6.671391415705975e-7,1.1671391415706e-6,2.332860858429404e-6,4.500000000000001e-6
+4.5,6.670682646493727e-7,1.167068264649375e-6,2.332931735350629e-6,4.6e-6
+4.6,6.670080217827031e-7,1.167008021782705e-6,2.332991978217298e-6,4.7e-6
+4.7,6.669568172876044e-7,1.166956817287607e-6,2.333043182712397e-6,4.8e-6
+4.8,6.669132944918741e-7,1.166913294491876e-6,2.333086705508127e-6,4.9e-6
+4.9,6.668763006887071e-7,1.166876300688709e-6,2.333123699311294e-6,5.000000000000001e-6
+5.,6.668448563888434e-7,1.166844856388846e-6,2.333155143611158e-6,5.1e-6
diff --git a/models/sbml-test-suite/cases/semantic/01091/01091-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01091/01091-sbml-l3v1.xml
new file mode 100644
index 0000000..edef479
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01091/01091-sbml-l3v1.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01091" id="case01091" name="case01091" timeUnits="time">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="multiply" name="multiply">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> x </ci>
+            </bvar>
+            <bvar>
+              <ci> y </ci>
+            </bvar>
+            <apply>
+              <times/>
+              <ci> x </ci>
+              <ci> y </ci>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5e-006" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1e-007" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="750000" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> multiply </ci>
+            <ci> k2 </ci>
+            <cn type="rational"> 1 <sep/> 250000 </cn>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01091/01091-settings.txt b/models/sbml-test-suite/cases/semantic/01091/01091-settings.txt
new file mode 100644
index 0000000..8b20d89
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01091/01091-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-009
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01092/01092-results.csv b/models/sbml-test-suite/cases/semantic/01092/01092-results.csv
new file mode 100644
index 0000000..b4f0c60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01092/01092-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.00001,0.000015,0.00001,0.000015
+0.2,0.0000109217168516862,0.00001592171685168619,9.078283148313796e-6,0.0000163825752775293
+0.4,0.00001175322248611593,0.00001675322248611592,8.246777513884069e-6,0.00001762983372917389
+0.6,0.00001250334614858563,0.00001750334614858562,7.496653851414368e-6,0.00001875501922287844
+0.8,0.00001318005293522239,0.00001818005293522239,6.819947064777604e-6,0.00001977007940283359
+1.,0.00001379052838101457,0.00001879052838101457,6.209471618985424e-6,0.00002068579257152185
+1.2,0.00001434125475998713,0.00001934125475998713,5.658745240012861e-6,0.0000215118821399807
+1.4,0.00001483807988873711,0.00001983807988873711,5.161920111262884e-6,0.00002225711983310566
+1.6,0.00001528627923921957,0.00002028627923921957,4.713720760780419e-6,0.00002292941885882936
+1.8,0.00001569061195944459,0.00002069061195944459,4.309388040555399e-6,0.00002353591793916689
+2.,0.00001605537201135175,0.00002105537201135175,3.944627988648242e-6,0.00002408305801702762
+2.2,0.00001638443067396678,0.00002138443067396677,3.615569326033227e-6,0.00002457664601095016
+2.4,0.00001668128397414227,0.00002168128397414227,3.318716025857725e-6,0.00002502192596121341
+2.6,0.00001694908334211642,0.00002194908334211642,3.050916657883575e-6,0.00002542362501317464
+2.8,0.00001719067238789137,0.00002219067238789137,2.809327612108627e-6,0.00002578600858183706
+3.,0.00001740861636010126,0.00002240861636010126,2.591383639898737e-6,0.00002611292454015189
+3.2,0.00001760522951714257,0.00002260522951714257,2.39477048285742e-6,0.00002640784427571386
+3.4,0.00001778259957214644,0.00002278259957214644,2.217400427853551e-6,0.00002667389935821966
+3.6,0.00001794260981060975,0.00002294260981060975,2.057390189390241e-6,0.00002691391471591463
+3.8,0.00001808695942631759,0.00002308695942631759,1.913040573682397e-6,0.00002713043913947639
+4.,0.00001821718110098768,0.00002321718110098767,1.782818899012317e-6,0.00002732577165148152
+4.2,0.00001833465754334666,0.00002333465754334665,1.665342456653334e-6,0.00002750198631501999
+4.4,0.00001844063628729467,0.00002344063628729467,1.559363712705321e-6,0.00002766095443094201
+4.6,0.00001853624246760236,0.00002353624246760236,1.463757532397627e-6,0.00002780436370140355
+4.8,0.00001862249149504929,0.00002362249149504929,1.377508504950704e-6,0.00002793373724257394
+5.,0.00001870029898173963,0.00002370029898173963,1.299701018260363e-6,0.00002805044847260945
+5.2,0.00001877049122313275,0.00002377049122313275,1.229508776867238e-6,0.00002815573683469913
+5.4,0.00001883381359495538,0.00002383381359495538,1.166186405044614e-6,0.00002825072039243307
+5.6,0.00001889093834173048,0.00002389093834173048,1.109061658269508e-6,0.00002833640751259573
+5.8,0.0000189424721616409,0.0000239424721616409,1.057527838359091e-6,0.00002841370824246136
+6.,0.00001898896223094105,0.00002398896223094104,1.011037769058948e-6,0.00002848344334641157
+6.2,0.00001903090215108336,0.00002403090215108336,9.690978489166296e-7,0.00002854635322662505
+6.4,0.00001906873725747461,0.00002406873725747461,9.312627425253851e-7,0.00002860310588621192
+6.6,0.00001910286932261635,0.00002410286932261635,8.971306773836424e-7,0.00002865430398392453
+6.8,0.00001913366080733739,0.00002413366080733739,8.663391926626052e-7,0.00002870049121100609
+7.,0.00001916143865302751,0.00002416143865302751,8.385613469724786e-7,0.00002874215797954127
+7.2,0.00001918649778658127,0.00002418649778658127,8.135022134187217e-7,0.00002877974667987191
+7.4,0.00001920910428992916,0.00002420910428992916,7.908957100708378e-7,0.00002881365643489374
+7.6,0.00001922949821801625,0.00002422949821801625,7.705017819837406e-7,0.00002884424732702439
+7.8,0.00001924789614108157,0.00002424789614108157,7.521038589184182e-7,0.00002887184421162237
+8.,0.00001926449342284265,0.00002426449342284265,7.355065771573465e-7,0.00002889674013426397
+8.2,0.00001927946627059378,0.00002427946627059377,7.205337294062176e-7,0.00002891919940589067
+8.4,0.00001929297367883728,0.00002429297367883728,7.070263211627083e-7,0.00002893946051825593
+8.6,0.0000193051590741782,0.0000243051590741782,6.948409258217906e-7,0.0000289577386112673
+8.8,0.00001931615184599961,0.00002431615184599961,6.838481540003791e-7,0.00002897422776899942
+9.,0.00001932606872021517,0.00002432606872021517,6.7393127978482e-7,0.00002898910308032276
+9.2,0.00001933501499859236,0.00002433501499859236,6.649850014076305e-7,0.00002900252249788854
+9.4,0.0000193430856767989,0.0000243430856767989,6.569143232010876e-7,0.00002901462851519836
+9.6,0.00001935036645303882,0.00002435036645303882,6.496335469611699e-7,0.00002902554967955824
+9.8,0.00001935693463667982,0.00002435693463667982,6.430653633201714e-7,0.00002903540195501973
+10.,0.00001936285997490206,0.00002436285997490206,6.371400250979317e-7,0.00002904428996235309
diff --git a/models/sbml-test-suite/cases/semantic/01092/01092-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01092/01092-sbml-l3v1.xml
new file mode 100644
index 0000000..c500580
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01092/01092-sbml-l3v1.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01092" id="case01092" name="case01092" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="1.5e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1e-005" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.015" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k3 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+      <rateRule metaid="rule2" variable="S2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+            <apply>
+              <times/>
+              <cn type="integer"> -1 </cn>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference id="generatedId_0" species="S1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01092/01092-settings.txt b/models/sbml-test-suite/cases/semantic/01092/01092-settings.txt
new file mode 100644
index 0000000..b6f2b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01092/01092-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-008
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01093/01093-results.csv b/models/sbml-test-suite/cases/semantic/01093/01093-results.csv
new file mode 100644
index 0000000..d470c97
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01093/01093-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.2,1.291061964125639,2.208938035874358,1.880650328139764,3.619349671860238
+0.4,1.111227329006146,2.38877267099385,2.225076988858965,3.274923011141037
+0.6,0.9564422260482462,2.54355777395175,2.536727118122601,2.963272881877401
+0.8,0.823217441769657,2.676782558230339,2.818719823795357,2.681280176204644
+1.,0.7085498146615377,2.791450185338459,3.073877370919135,2.426122629080866
+1.2,0.6098544791390524,2.890145520860944,3.304753463084459,2.195246536915542
+1.4,0.5249065036738509,2.975093496326145,3.513658874207764,1.986341125792237
+1.6,0.4517913176964891,3.048208682303505,3.702684143664394,1.797315856335608
+1.8,0.3888603886735604,3.111139611326434,3.873721362930878,1.626278637069125
+2.,0.3346952383773503,3.165304761622645,4.028482236916986,1.471517763083016
+2.2,0.2880748604177267,3.211925139582269,4.168515667512812,1.33148433248719
+2.4,0.2479483287532424,3.252051671246754,4.295223155770901,1.204776844229102
+2.6,0.2134111020252686,3.286588897974727,4.409872833275655,1.090127166724347
+2.8,0.1836846423476224,3.316315357652374,4.513612144266024,0.9863878557339799
+3.,0.1580988301234463,3.341901169876549,4.607479366931245,0.892520633068758
+3.2,0.1360769220888853,3.36392307791111,4.69241393724331,0.8075860627566919
+3.4,0.1171224911122594,3.382877508887736,4.769265913523073,0.73073408647693
+3.6,0.1008082620655447,3.399191737934451,4.83880445623564,0.6611955437643626
+3.8,0.08676647569648428,3.413233524303512,4.901725530742401,0.5982744692576026
+4.,0.07468059427357788,3.425319405726418,4.958658878905015,0.5413411210949888
+4.2,0.06427818431870295,3.435721815681293,5.01017429601872,0.4898257039812836
+4.4,0.05532474833609136,3.444675251663905,5.056787370953483,0.4432126290465202
+4.6,0.04761845418768078,3.452381545812315,5.098964625745416,0.4010353742545882
+4.8,0.04098558335831677,3.459014416641679,5.137128187383702,0.3628718126163018
+5.,0.03527661700112794,3.464723382998868,5.171660008761588,0.3283399912384159
+5.2,0.03036286431775535,3.469637135682241,5.202905692635259,0.2970943073647462
+5.4,0.02613355906240457,3.473866440937592,5.231177954926272,0.2688220450737347
+5.6,0.022493363136816,3.477506636863181,5.256759753985003,0.2432402460150012
+5.8,0.01936021790208584,3.480639782097911,5.27990712196258,0.2200928780374255
+6.,0.01666349467419731,3.4833365053258,5.300851726845676,0.1991482731543301
+6.2,0.01434240278679902,3.485657597213199,5.319803190693707,0.1801968093062993
+6.4,0.01234461995017799,3.487655380049819,5.336951185702629,0.163048814297378
+6.6,0.01062511239624416,3.489374887603753,5.352467333121738,0.147532666878269
+6.8,0.009145118834570394,3.490854881165427,5.366506923081239,0.1334930769187679
+7.,0.007871276865819442,3.492128723134177,5.379210468539038,0.1207895314609689
+7.2,0.006774871074681965,3.493225128925314,5.390705111298374,0.1092948887016319
+7.4,0.005831185818476821,3.49416881418152,5.401105894276619,0.09889410572338722
+7.6,0.005018948148191528,3.494981051851805,5.410516912707951,0.08948308729205459
+7.8,0.004319848519189362,3.495680151480807,5.419032355018628,0.08096764498137808
+8.,0.003718127916107277,3.496281872083889,5.426737445798682,0.07326255420132338
+8.2,0.003200222300326868,3.49679977769967,5.433709299844249,0.06629070015575643
+8.4,0.002754456908979407,3.497245543091017,5.440017693824979,0.05998230617502602
+8.6,0.002370783134296092,3.4976292168657,5.445725764491708,0.05427423550829688
+8.8,0.002040552039918484,3.497959447960078,5.45089064046642,0.04910935953358416
+9.,0.001756319417930403,3.498243680582066,5.455564013912667,0.04443598608733788
+9.2,0.001511678067373266,3.498488321932624,5.459792657419312,0.04020734258069303
+9.4,0.001301113313909349,3.498698886686087,5.463618892265197,0.03638110773480818
+9.6,0.001119878588432885,3.498880121411564,5.467081012524612,0.03291898747539177
+9.8,0.000963888450725293,3.499036111549272,5.470213668266138,0.0297863317338653
+10.,0.0008296265552255436,3.499170373444772,5.47304821200364,0.02695178799636324
diff --git a/models/sbml-test-suite/cases/semantic/01093/01093-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01093/01093-sbml-l3v1.xml
new file mode 100644
index 0000000..d27d01c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01093/01093-sbml-l3v1.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01093" id="case01093" name="case01093" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="p1" name="p1" value="0.75" constant="true"/>
+      <parameter id="p2" name="p2" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="S1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p2 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> -1 </cn>
+            <ci> k2 </ci>
+            <ci> S4 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01093/01093-settings.txt b/models/sbml-test-suite/cases/semantic/01093/01093-settings.txt
new file mode 100644
index 0000000..76bab9a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01093/01093-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01094/01094-results.csv b/models/sbml-test-suite/cases/semantic/01094/01094-results.csv
new file mode 100644
index 0000000..4026c3c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01094/01094-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,4.
+0.1,1.391615229463018,2.108384770536979,1.5375,3.987499999999998
+0.2,1.291061964125568,2.20893803587443,1.575,3.974999999999999
+0.3,1.19777432791931,2.302225672080688,1.612500000000001,3.962499999999999
+0.4,1.111227329031182,2.388772670968817,1.650000000000001,3.949999999999998
+0.5,1.03093391817527,2.469066081824729,1.687500000000001,3.937499999999998
+0.6,0.9564422260114998,2.543557773988499,1.725000000000001,3.924999999999998
+0.7,0.8873330349438418,2.612666965056157,1.762500000000001,3.912499999999998
+0.8,0.8232174419009635,2.676782558099035,1.800000000000001,3.899999999999997
+0.9,0.7637346285181497,2.736265371481849,1.837500000000001,3.887499999999997
+1.,0.7085498146739673,2.791450185326031,1.875000000000001,3.874999999999997
+1.1,0.6573524880772634,2.842647511922735,1.912500000000001,3.862499999999997
+1.2,0.6098544790654891,2.890145520934509,1.950000000000001,3.849999999999997
+1.3,0.5657885246960531,2.934211475303945,1.987500000000001,3.837499999999996
+1.4,0.5249066231498047,2.975093376850194,2.025000000000001,3.824999999999997
+1.5,0.4869786964450624,2.013021297899924,2.062500000000001,3.812499999999996
+1.6,0.4517913136237014,2.048208680721284,2.100000000000002,3.799999999999995
+1.7,0.4191464483074065,2.080853546037579,2.137500000000002,3.787499999999996
+1.8,0.3888603863341802,2.111139608010805,2.175000000000003,3.774999999999996
+1.9,0.360762690227492,2.139237304117493,2.212500000000003,3.762499999999996
+2.,0.3346952365056685,2.165304757839317,2.250000000000004,3.749999999999996
+2.1,0.3105113261038671,2.189488668241118,2.287500000000004,3.737499999999997
+2.2,0.2880748573756282,2.211925136969357,2.325000000000004,3.724999999999997
+2.3,0.2672595730233221,2.232740421321663,2.362500000000004,3.712499999999996
+2.4,0.2479483254417506,2.252051668903234,2.400000000000004,3.699999999999996
+2.5,0.2300324480351357,2.269967546309849,2.437500000000004,3.687499999999996
+2.6,0.2134111011231353,2.286588893221849,2.475000000000004,3.674999999999996
+2.7,0.1979907620704752,2.302009232274509,2.512500000000004,3.662499999999996
+2.8,0.1836846283070245,2.316315366037959,2.550000000000004,3.649999999999995
+2.9,0.1704122231641413,2.329587771180843,2.587500000000004,3.637499999999995
+3.,0.1580988353511249,2.34190115899386,2.625000000000006,3.624999999999995
+3.1,0.1466751646785712,2.353324829666414,2.662500000000005,3.612499999999995
+3.2,0.1360769286107153,2.363923065734271,2.700000000000005,3.599999999999996
+3.3,0.1262444837993561,2.37375551054563,2.737500000000005,3.587499999999996
+3.4,0.1171224976838767,2.382877496661109,2.775000000000005,3.574999999999997
+3.5,0.1086596344532725,2.391340359891713,2.812500000000005,3.562499999999997
+3.6,0.1008082681575095,2.399191726187476,2.850000000000005,3.549999999999997
+3.7,0.09352421190504697,2.406475782439939,2.887500000000006,3.537499999999997
+3.8,0.08676648040200293,2.413233513942983,2.925000000000006,3.524999999999997
+3.9,0.08049703581544666,2.419502958529539,2.962500000000006,3.512499999999998
+4.,0.07468059978040295,2.425319394564583,3.000000000000006,3.499999999999997
+4.1,0.06928444147709761,2.430715552867888,3.037500000000006,3.487499999999998
+4.2,0.06427818913131655,2.435721805213669,3.075000000000006,3.474999999999998
+4.3,0.05963367012099719,2.440366324223988,3.112500000000006,3.462499999999998
+4.4,0.05532474711904416,2.444675247225941,3.150000000000007,3.449999999999998
+4.5,0.05132717407559799,2.448672820269388,3.187500000000006,3.437499999999998
+4.6,0.04761845176510967,2.452381542579876,3.225000000000006,3.424999999999998
+4.7,0.0441777088181301,2.455822285526855,3.262500000000006,3.412499999999998
+4.8,0.04098558195836439,2.459014412386621,3.300000000000006,3.399999999999998
+4.9,0.03802410758440162,2.461975886760584,3.337500000000007,3.387499999999998
+5.,0.03527661845256652,2.464723375892419,3.375000000000007,3.374999999999998
diff --git a/models/sbml-test-suite/cases/semantic/01094/01094-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01094/01094-sbml-l3v1.xml
new file mode 100644
index 0000000..9aa8c49
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01094/01094-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01094" id="case01094" name="case01094" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="4" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.25" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S3">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> 0.5 </cn>
+            <ci> k1 </ci>
+          </apply>
+        </math>
+      </rateRule>
+      <rateRule metaid="rule2" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn> -0.5 </cn>
+            <ci> k2 </ci>
+          </apply>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference id="generatedId_0" species="S1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01094/01094-settings.txt b/models/sbml-test-suite/cases/semantic/01094/01094-settings.txt
new file mode 100644
index 0000000..4b98fcd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01094/01094-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-002
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01095/01095-results.csv b/models/sbml-test-suite/cases/semantic/01095/01095-results.csv
new file mode 100644
index 0000000..637ec05
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01095/01095-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,1.5,2.,1.5,1.
+0.1,1.301161272393736,1.801161272393736,1.698838727606263,1.1
+0.2,1.143765361558212,1.643765361558212,1.856234638441787,1.2
+0.3,1.016161200470581,1.516161200470581,1.983838799529418,1.299999999999999
+0.4,0.9106905837379247,1.410690583737925,2.089309416262074,1.399999999999999
+0.5,0.82211265497212,1.32211265497212,2.177887345027879,1.499999999999999
+0.6,0.7467198345605001,1.2467198345605,2.253280165439498,1.599999999999998
+0.7,0.6818153082816071,1.181815308281608,2.318184691718391,1.699999999999998
+0.8,0.6253905210486328,1.125390521048633,2.374609478951366,1.799999999999998
+0.9,0.5759187918405485,1.075918791840548,2.424081208159451,1.899999999999998
+1.,0.5322189514243052,1.032218951424305,2.467781048575694,1.999999999999998
+1.1,0.4933628271304125,0.993362827130413,2.506637172869588,2.099999999999997
+1.2,0.4586109428698224,0.9586109428698226,2.541389057130178,2.199999999999996
+1.3,0.4273668743886653,0.9273668743886657,2.572633125611336,2.299999999999996
+1.4,0.3991442463576938,0.8991442463576941,2.600855753642308,2.399999999999995
+1.5,0.3735424645637546,0.8735424645637549,2.626457535436247,2.499999999999996
+1.6,0.3502285960915758,0.850228596091576,2.649771403908425,2.599999999999997
+1.7,0.3289236565084796,0.8289236565084798,2.671076343491521,2.699999999999997
+1.8,0.3093921066663449,0.8093921066663452,2.690607893333656,2.799999999999998
+1.9,0.2914337062715157,0.7914337062715157,2.708566293728485,2.899999999999997
+2.,0.2748771363145161,0.7748771363145161,2.725122863685485,2.999999999999997
+2.1,0.2595749619664419,0.759574961966442,2.74042503803356,3.099999999999997
+2.2,0.2453995983541298,0.7453995983541299,2.754600401645872,3.199999999999998
+2.3,0.23224008144138,0.7322400814413802,2.767759918558621,3.299999999999998
+2.4,0.2199994444731565,0.7199994444731566,2.780000555526845,3.399999999999998
+2.5,0.2085925774229491,0.7085925774229493,2.791407422577052,3.499999999999998
+2.6,0.1979444651012947,0.697944465101295,2.802055534898707,3.599999999999999
+2.7,0.1879887309279706,0.6879887309279708,2.812011269072031,3.699999999999999
+2.8,0.1786664290753538,0.678666429075354,2.821333570924648,3.799999999999998
+2.9,0.1699250312578738,0.669925031257874,2.830074968742128,3.899999999999999
+3.,0.1617175745153864,0.6617175745153866,2.838282425484616,3.999999999999999
+3.1,0.154001945765409,0.6540019457654092,2.845998054234593,4.099999999999998
+3.2,0.1467402648979847,0.6467402648979849,2.853259735102017,4.199999999999999
+3.3,0.1398983680425594,0.6398983680425596,2.860101631957443,4.299999999999998
+3.4,0.1334453668936546,0.6334453668936548,2.866554633106348,4.399999999999996
+3.5,0.1273532565311079,0.6273532565311081,2.872646743468894,4.499999999999996
+3.6,0.1193697625754568,1.99676590130814,2.880630237424544,4.599999999999996
+3.7,0.1028996998683662,1.980295838601049,2.897100300131635,4.699999999999994
+3.8,0.08881315377761159,1.966209292510294,2.91118684622239,4.799999999999994
+3.9,0.07673958993964598,1.954135728672329,2.923260410060355,4.899999999999993
+4.,0.06637251481645623,1.943768653549139,2.933627485183545,4.999999999999992
+4.1,0.05745682111089139,1.934852959843575,2.94254317888911,5.099999999999991
+4.2,0.04977901379876797,1.927175152531452,2.950220986201234,5.199999999999992
+4.3,0.04315957253780254,1.920555711270486,2.9568404274622,5.299999999999993
+4.4,0.03744691180972244,1.914843050542406,2.962553088190279,5.399999999999994
+4.5,0.03251257512562789,1.909908713858312,2.967487424874374,5.499999999999992
+4.6,0.02824735005773967,1.905643488790423,2.971752649942262,5.599999999999991
+4.7,0.02455813341679675,1.90195427214948,2.975441866583205,5.699999999999991
+4.8,0.02136536558652107,1.898761504319205,2.978634634413481,5.79999999999999
+4.9,0.01860091213071844,1.895997050863402,2.981399087869284,5.89999999999999
+5.,0.01620631892797512,1.893602457660659,2.983793681072027,5.99999999999999
diff --git a/models/sbml-test-suite/cases/semantic/01095/01095-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01095/01095-sbml-l3v1.xml
new file mode 100644
index 0000000..cdca04b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01095/01095-sbml-l3v1.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01095" id="case01095" name="case01095" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="1.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.75" constant="true"/>
+      <parameter id="k2" name="k2" value="0.00025" constant="true"/>
+      <parameter id="p1" name="p1" value="0.25" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule metaid="rule1" variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S3 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="event1" name="event1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <lt/>
+              <ci> S1 </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 2.5 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01095/01095-settings.txt b/models/sbml-test-suite/cases/semantic/01095/01095-settings.txt
new file mode 100644
index 0000000..af4e4bd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01095/01095-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 5.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01096/01096-results.csv b/models/sbml-test-suite/cases/semantic/01096/01096-results.csv
new file mode 100644
index 0000000..b86ea71
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01096/01096-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.16,0.8674461438566446,0.2651077122867101
+0.32,0.7553912296266588,0.4892175407466816
+0.48,0.6606651845799057,0.6786696308401882
+0.64,0.5805881522289524,0.8388236955420945
+0.8,0.5128947114301744,0.9742105771396506
+0.96,0.4556698341041101,1.088660331791779
+1.12,0.4072945472844014,1.185410905431196
+1.28,0.3664003113716774,1.267199377256644
+1.44,0.3318302177334989,1.336339564533001
+1.6,0.302606250562297,1.394787498875404
+1.76,0.2779016593924217,1.444196681215155
+1.92,0.257017540340215,1.485964919319569
+2.08,0.2393630718897156,1.521273856220567
+2.24,0.2244388005842858,1.551122398831427
+2.4,0.2118225114456443,1.57635497710871
+2.56,0.2011572834248798,1.597685433150239
+2.72,0.1921413919952827,1.615717216009434
+2.88,0.1845197732456855,1.630960453508628
+3.04,0.1780768080029133,1.643846383994172
+3.2,0.1726302218594896,1.65473955628102
+3.36,0.1680259248357856,1.663948150328428
+3.52,0.1641336684668112,1.671732663066377
+3.68,0.160843338631873,1.678313322736253
+3.84,0.1580618417627714,1.683876316474456
+4.,0.1557104913679087,1.688579017264182
+4.16,0.1537227713129696,1.69255445737406
+4.32,0.1520424447098569,1.695915110580286
+4.48,0.1506219712957153,1.698756057408569
+4.64,0.1494211707589508,1.701157658482098
+4.8,0.1484060699697881,1.703187860060423
+4.96,0.1475479486677223,1.704904102664555
+5.12,0.1468225335937843,1.706354932812431
+5.28,0.1462093017990854,1.707581396401828
+5.44,0.1456909027323298,1.70861819453534
+5.6,0.1452526725525035,1.709494654894993
+5.76,0.1448822135073344,1.710235572985331
+5.92,0.1445690438367742,1.710861912326451
+6.08,0.1443043047971257,1.711391390405748
+6.24,0.1440805070148766,1.711838985970247
+6.4,0.1438913183339688,1.712217363332062
+6.56,0.1437313869535032,1.712537226092993
+6.72,0.1435961886049454,1.712807622790109
+6.88,0.143481897986369,1.713036204027262
+7.04,0.1433852819159146,1.71322943616817
+7.2,0.1433036073147115,1.713392785370577
+7.36,0.1432345633044834,1.713530873391033
+7.52,0.1431761966184394,1.713647606763121
+7.68,0.1431268562404177,1.713746287519164
+7.84,0.1430851460081502,1.713829707983699
+8.,0.1430498862778779,1.713900227444244
diff --git a/models/sbml-test-suite/cases/semantic/01096/01096-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01096/01096-sbml-l3v1.xml
new file mode 100644
index 0000000..460fc55
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01096/01096-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01096" id="case01096" name="case01096" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01096/01096-settings.txt b/models/sbml-test-suite/cases/semantic/01096/01096-settings.txt
new file mode 100644
index 0000000..782b0d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01096/01096-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01097/01097-results.csv b/models/sbml-test-suite/cases/semantic/01097/01097-results.csv
new file mode 100644
index 0000000..122ffc6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01097/01097-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.9696179454642711,0.4392358909285413,0.03038205453572927
+0.12,0.9437947594964144,0.3875895189928282,0.05620524050358585
+0.18,0.9216954270748496,0.3433908541496985,0.0783045729251507
+0.24,0.9026717447258134,0.3053434894516258,0.09732825527418702
+0.3,0.8862128399369182,0.2724256798738354,0.1137871600630822
+0.36,0.8719106658115749,0.2438213316231486,0.1280893341884257
+0.42,0.8594354122631484,0.2188708245262958,0.1405645877368521
+0.48,0.8485176887592405,0.1970353775184801,0.1514823112407599
+0.54,0.8389353649935498,0.1778707299870987,0.1610646350064506
+0.6,0.8305037308100224,0.1610074616200441,0.1694962691899779
+0.66,0.8230680221717499,0.1461360443434988,0.1769319778282506
+0.72,0.8164976800789665,0.132995360157932,0.183502319921034
+0.78,0.8106818870376608,0.1213637740753207,0.1893181129623396
+0.84,0.8055260562348722,0.1110521124697436,0.1944739437651282
+0.9,0.8009490553410307,0.1018981106820606,0.1990509446589697
+0.96,0.7968809759131927,0.09376195182638452,0.2031190240868077
+1.02,0.7932613361166933,0.08652267223338555,0.2067386638833072
+1.08,0.7900376147630173,0.08007522952603364,0.2099623852369832
+1.14,0.7871640566023572,0.07432811320471303,0.2128359433976435
+1.2,0.7846006785903941,0.06920135718078701,0.2153993214096065
+1.26,0.7823124471114399,0.06462489422287849,0.2176875528885607
+1.32,0.7802685915353989,0.06053718307079644,0.2197314084646017
+1.38,0.7784420257791159,0.05688405155823055,0.2215579742208846
+1.44,0.7768088597975793,0.05361771959515723,0.2231911402024213
+1.5,0.7753479849818044,0.05069596996360754,0.2246520150181961
+1.56,0.7740407205127242,0.04808144102544719,0.2259592794872763
+1.62,0.7728705097609502,0.04574101952189911,0.2271294902390503
+1.68,0.7718226596384412,0.04364531927688087,0.2281773403615594
+1.74,0.7708841155355393,0.04176823107107718,0.2291158844644613
+1.8,0.7700432661819711,0.04008653236394067,0.2299567338180295
+1.86,0.7692897751563261,0.03857955031265036,0.2307102248436747
+1.92,0.7686144322138514,0.03722886442770084,0.2313855677861494
+1.98,0.7680090232404527,0.0360180464809033,0.2319909767595482
+2.04,0.7674662202251498,0.03493244045029753,0.2325337797748511
+2.1,0.7669794788731437,0.03395895774628556,0.2330205211268571
+2.16,0.766542952464459,0.03308590492891596,0.2334570475355419
+2.22,0.7661514159846728,0.03230283196934352,0.2338485840153281
+2.28,0.7658001958517509,0.0316003917034997,0.23419980414825
+2.34,0.7654851114069644,0.03097022281392642,0.2345148885930366
+2.4,0.7652024215771755,0.03040484315434866,0.2347975784228255
+2.46,0.764948776264381,0.02989755252875986,0.2350512237356199
+2.52,0.7647211767037641,0.02944235340752586,0.235278823296237
+2.58,0.7645169354882692,0.02903387097653622,0.2354830645117318
+2.64,0.7643336457072129,0.02866729141442374,0.235666354292788
+2.7,0.7641691503608463,0.02833830072169049,0.2358308496391546
+2.76,0.7640215157226102,0.0280430314452181,0.2359784842773908
+2.82,0.7638890081549438,0.02777801630988544,0.2361109918450572
+2.88,0.763770073719003,0.02754014743800385,0.2362299262809979
+2.94,0.7636633188428251,0.02732663768564807,0.2363366811571758
+3.,0.7635674934634627,0.02713498692692338,0.2364325065365382
diff --git a/models/sbml-test-suite/cases/semantic/01097/01097-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01097/01097-sbml-l3v1.xml
new file mode 100644
index 0000000..1426b38
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01097/01097-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01097" id="case01097" name="case01097" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01097/01097-settings.txt b/models/sbml-test-suite/cases/semantic/01097/01097-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01097/01097-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01098/01098-results.csv b/models/sbml-test-suite/cases/semantic/01098/01098-results.csv
new file mode 100644
index 0000000..35e3c84
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01098/01098-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.8616727079606161,0.6383272920393838,0.2766545840787671
+0.12,0.7447919324790182,0.7552080675209818,0.5104161350419632
+0.18,0.6465872622274573,0.8534127377725426,0.7068254755450845
+0.24,0.5644642271990528,0.9355357728009471,0.8710715456018935
+0.3,0.4960608273574218,1.003939172642578,1.007878345285155
+0.36,0.4392727543869955,1.060727245613004,1.121454491226007
+0.42,0.392256683654747,1.107743316345253,1.215486632690504
+0.48,0.3534193023920151,1.146580697607985,1.293161395215968
+0.54,0.3213979841979456,1.178602015802054,1.357204031604107
+0.6,0.2950372882210906,1.204962711778909,1.409925423557816
+0.66,0.2733641582161532,1.226635841783847,1.453271683567691
+0.72,0.2555636743033055,1.244436325696695,1.488872651393387
+0.78,0.2409564136757351,1.259043586324265,1.518087172648527
+0.84,0.2289780164431097,1.271021983556891,1.542043967113778
+0.9,0.2191610329255468,1.280838967074453,1.561677934148904
+0.96,0.2111192807154172,1.288880719284583,1.577761438569164
+1.02,0.2045342872276673,1.295465712772333,1.590931425544663
+1.08,0.1991438880151231,1.300856111984877,1.601712223969752
+1.14,0.1947325132758389,1.305267486724161,1.61053497344832
+1.2,0.1911231160783092,1.308876883921691,1.61775376784338
+1.26,0.1881704166109222,1.311829583389078,1.623659166778154
+1.32,0.1857552805250867,1.314244719474914,1.628489438949825
+1.38,0.1837800691793961,1.316219930820604,1.632439861641206
+1.44,0.1821648030614262,1.317835196938574,1.635670393877146
+1.5,0.180843992003667,1.319156007996333,1.638312015992664
+1.56,0.1797640272409757,1.320235972759024,1.640471945518047
+1.62,0.1788810371796498,1.32111896282035,1.642237925640698
+1.68,0.1781591264238181,1.321840873576181,1.643681747152362
+1.74,0.1775689306993571,1.322431069300642,1.644862138601284
+1.8,0.1770864319196693,1.32291356808033,1.645827136160659
+1.86,0.176691987105813,1.323308012894186,1.646616025788372
+1.92,0.1763695329289744,1.323630467071025,1.647260934142049
+1.98,0.1761059343915924,1.323894065608407,1.647788131216813
+2.04,0.1758904516692595,1.32410954833074,1.648219096661479
+2.1,0.1757143038020976,1.324285696197902,1.648571392395802
+2.16,0.1755703117146072,1.324429688285392,1.648859376570783
+2.22,0.1754526061906401,1.324547393809359,1.649094787618717
+2.28,0.1753563889212805,1.324643611078719,1.649287222157436
+2.34,0.1752777375487411,1.324722262451258,1.649444524902515
+2.4,0.1752134453839989,1.324786554616,1.649573109232
+2.46,0.1751608910281392,1.32483910897186,1.649678217943719
+2.52,0.1751179315766129,1.324882068423386,1.649764136846772
+2.58,0.1750828152555256,1.324917184744474,1.649834369488947
+2.64,0.1750541105146971,1.324945889485302,1.649891778970604
+2.7,0.1750306463854922,1.324969353614507,1.649938707229013
+2.76,0.1750114664163874,1.324988533583612,1.649977067167223
+2.82,0.1749957881607985,1.3250042118392,1.650008423678401
+2.88,0.1749829725080639,1.325017027491935,1.65003405498387
+2.94,0.1749724966489235,1.325027503351075,1.650055006702151
+3.,0.1749639335286364,1.325036066471362,1.650072132942725
diff --git a/models/sbml-test-suite/cases/semantic/01098/01098-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01098/01098-sbml-l3v1.xml
new file mode 100644
index 0000000..9e8b75e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01098/01098-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01098" id="case01098" name="case01098" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="2.5" constant="true"/>
+      <parameter id="kr" name="kr" value="0.2" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S3" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <apply>
+                <plus/>
+                <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01098/01098-settings.txt b/models/sbml-test-suite/cases/semantic/01098/01098-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01098/01098-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01099/01099-results.csv b/models/sbml-test-suite/cases/semantic/01099/01099-results.csv
new file mode 100644
index 0000000..931b689
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01099/01099-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,0.0015,0
+0.12,0.00148923878632782,0.00002152242734436023
+0.24,0.001457416150128718,0.00008516769974256412
+0.36,0.001405882341414774,0.0001882353171704535
+0.48,0.001336781823144882,0.0003264363537102376
+0.6,0.001252905311522248,0.0004941893769555065
+0.72,0.001157503010424932,0.0006849939791501384
+0.84,0.001054076584601119,0.0008918468307977638
+0.96,0.0009461682393999251,0.001107663521200151
+1.08,0.0008371643343268171,0.001325671331346367
+1.2,0.0007301283885782245,0.001539743222843552
+1.32,0.0006276736821333545,0.001744652635733292
+1.44,0.0005318813655845281,0.001936237268830945
+1.56,0.0004442646448733434,0.002111470710253315
+1.68,0.0003657757409504507,0.002268448518099101
+1.8,0.0002968480781084056,0.002406303843783191
+1.92,0.0002374650360239782,0.002525069927952045
+2.04,0.0001872454651130897,0.002625509069773823
+2.16,0.0001455355505381963,0.002708928898923609
+2.28,0.000111499531288838,0.002777000937422326
+2.4,0.00008420214390989195,0.002831595712180218
+2.52,0.00006267861761851252,0.002874642764762976
+2.64,0.00004598983222112167,0.002908020335557758
+2.76,0.00003326215683522207,0.002933475686329557
+2.88,0.00002371292692863848,0.002952574146142724
+3.,0.00001666349470961878,0.002966673010580763
+3.12,0.00001154231979360747,0.002976915360412785
+3.24,7.880728482420952e-6,0.002984238543035159
+3.36,5.303781818500962e-6,0.002989392436362999
+3.48,3.518449307004578e-6,0.002992963101385991
+3.6,2.300715792460512e-6,0.00299539856841508
+3.72,1.482930665567378e-6,0.002997034138668866
+3.84,9.421605216278393e-7,0.002998115678956745
+3.96,5.900312937017508e-7,0.002998819937412597
+4.08,3.642263346843231e-7,0.002999271547330632
+4.2,2.216225224912079e-7,0.002999556754955019
+4.32,1.329237370259588e-7,0.002999734152525948
+4.44,7.858459251523899e-8,0.002999842830814968
+4.56,4.579503058642902e-8,0.002999908409938826
+4.68,2.630543196838971e-8,0.002999947389136062
+4.8,1.48942561428805e-8,0.002999970211487713
+4.92,8.3126264374855e-9,0.002999983374747124
+5.04,4.573027992555844e-9,0.002999990853944014
+5.16,2.479794194518273e-9,0.002999995040411609
+5.28,1.325481058024583e-9,0.002999997349037883
+5.4,6.983572469897471e-10,0.002999998603285504
+5.52,3.626836286725222e-10,0.002999999274632741
+5.64,1.856625536041341e-10,0.002999999628674891
+5.76,9.368431040489702e-11,0.002999999812631378
+5.88,4.659674887380159e-11,0.002999999906806501
+6.,2.284496961755386e-11,0.00299999995431006
diff --git a/models/sbml-test-suite/cases/semantic/01099/01099-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01099/01099-sbml-l3v1.xml
new file mode 100644
index 0000000..e1ddcff
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01099/01099-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01099" id="case01099" name="case01099" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.0015" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01099/01099-settings.txt b/models/sbml-test-suite/cases/semantic/01099/01099-settings.txt
new file mode 100644
index 0000000..de7110f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01099/01099-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-006
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01100/01100-results.csv b/models/sbml-test-suite/cases/semantic/01100/01100-results.csv
new file mode 100644
index 0000000..9978c87
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01100/01100-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,0.1,0,0,0
+0.12,0.09949726794895141,0.0005009250366634846,9.013404665941766e-7,2.166725965728907e-9
+0.24,0.09800418540648989,0.001967253604348595,0.0000141438294911883,1.366650896287244e-7
+0.36,0.09556533846807858,0.004292980782583725,0.00006932096012019906,1.519414548779366e-6
+0.48,0.09225257409388475,0.007312165568090434,0.0002093773919849626,8.252777027602671e-6
+0.6,0.08816148467834096,0.01081374825350178,0.0004822393161975899,0.00003014421788119162
+0.72,0.08340682878994305,0.01455990993914794,0.0009312558672945385,0.0000853747681600552
+0.84,0.07811719397840348,0.01830598394698009,0.001586111771712723,0.0002022992655956024
+0.96,0.07242924729548108,0.02181985222834801,0.002455750988034089,0.000419699250051466
+1.08,0.06648193030416177,0.0248989411122433,0.003524461036900863,0.0007851032548967038
+1.2,0.06041093828565492,0.02738332960872005,0.00475169318120622,0.001351172871606389
+1.32,0.05434378121694338,0.02916403075942885,0.006075550502944466,0.002170543508869523
+1.44,0.04839566221220982,0.03018611716340407,0.007419285399249245,0.003289824912943923
+1.56,0.04266633432611834,0.03044694954220144,0.008699711796312511,0.004743646269527688
+1.68,0.037238016411525,0.02999025800986027,0.009836219182595962,0.006549643606711497
+1.8,0.0321743704221185,0.02889716786510803,0.01075909231514447,0.008705138541242366
+1.92,0.02752047260307006,0.02727543079487574,0.01141606406004575,0.01118598424098146
+2.04,0.02330365431896586,0.02524812154475579,0.01177639700500894,0.01394771506313033
+2.16,0.01953504800719087,0.0229429153401714,0.01183222202950169,0.01692879629681727
+2.28,0.01621165107663445,0.02048281431361574,0.01159727861232555,0.02005548869254945
+2.4,0.01331871496013664,0.01797889024583897,0.01110353676340049,0.02324766063361182
+2.52,0.01083227589261535,0.01552530299299454,0.01039639320254827,0.0264248173546469
+2.64,0.008721665226137818,0.01319657790930323,0.009529211720436053,0.02951166671184354
+2.76,0.006951866509145557,0.01104690821920329,0.008557931690272874,0.03244268094555281
+2.88,0.005485620346095669,0.009111103110075125,0.007536329775481877,0.03516530849643285
+3.,0.004285212686640464,0.007406730410343352,0.006512327501175856,0.03764170095033236
+3.12,0.003313914721795431,0.005936995493635287,0.005525531365489627,0.03984901352679513
+3.24,0.002537070796822402,0.004693940712669289,0.004606005795335157,0.04177848844991912
+3.36,0.001922853317885038,0.003661624791581451,0.003774134987087722,0.04343362595817915
+3.48,0.001442719949761637,0.0028190321952048,0.003041338052997231,0.04482778587451965
+3.6,0.001071618568056757,0.002142554166989726,0.002411362738230214,0.04598155089424663
+3.72,0.0007879900516197766,0.001607965332298773,0.001881888191512564,0.04692013411652825
+3.84,0.0005736190298520815,0.001191886099505463,0.001446204302622729,0.04767104313269859
+3.96,0.0004133792551252897,0.0008727689413225215,0.001094790185632286,0.04826213571614391
+4.08,0.0002949144943985801,0.0006314763794959542,0.0008166750270386767,0.04872012953601413
+4.2,0.0002082887763763914,0.0004515325274963735,0.0006005211498844007,0.04906956819817927
+4.32,0.0001456323747156993,0.0003191318463357649,0.0004354156687695274,0.04933220222070479
+4.44,0.000100802732647942,0.0002229821061061754,0.0003113907509234496,0.04952671682969955
+4.56,0.00006907310696334137,0.0001540469108909092,0.0002197131548668904,0.04966872683620603
+4.68,0.00004685629969988064,0.0001052394090203474,0.0001529930956021723,0.04977095905003778
+4.8,0.00003146656221305924,0.00007110509415565273,0.0001051632364674782,0.04984355093534823
+4.92,0.00002091957795881358,0.00004751927328079438,0.00007137361438657191,0.04989440695999367
+5.04,0.00001376825341657938,0.00003141456465634517,0.00004784018733394662,0.04992956840362965
+5.16,8.97071573475163e-6,0.00002054592424667084,0.00003167552873053436,0.04995356615127879
+5.28,5.786256084754147e-6,0.00001329507821172217,0.00002072142983972193,0.04996973790301208
+5.4,3.694796450134502e-6,8.512558350037289e-6,0.00001339566000609916,0.04998050066259385
+5.52,2.33563888260859e-6,5.393406603806811e-6,8.559245397117923e-6,0.04998757623185971
+5.64,1.461649313748958e-6,3.381634219410558e-6,5.40638499293425e-6,0.04999217197324051
+5.76,9.055303046151979e-7,2.098330925975645e-6,3.376342939148195e-6,0.04999512172644559
+5.88,5.553734354008142e-7,1.288622964832665e-6,2.085052805771493e-6,0.04999699294899413
+6.,3.37201523480227e-7,7.832498928331175e-7,1.273433530519915e-6,0.04999816634076138
diff --git a/models/sbml-test-suite/cases/semantic/01100/01100-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01100/01100-sbml-l3v1.xml
new file mode 100644
index 0000000..dd7deae
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01100/01100-sbml-l3v1.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01100" id="case01100" name="case01100" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="0.1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="0.7" constant="true"/>
+      <parameter id="k2" name="k2" value="0.5" constant="true"/>
+      <parameter id="k3" name="k3" value="1" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k3 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01100/01100-settings.txt b/models/sbml-test-suite/cases/semantic/01100/01100-settings.txt
new file mode 100644
index 0000000..8181f90
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01100/01100-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-004
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01101/01101-results.csv b/models/sbml-test-suite/cases/semantic/01101/01101-results.csv
new file mode 100644
index 0000000..177b1dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01101/01101-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3,S4
+0,2.,2.,0,0
+0.12,1.943779325253877,1.971899844560352,0.02802888190573774,0.0000712735339114218
+0.24,1.790312817747,1.895310936172954,0.1036073727308475,0.001081691096198738
+0.36,1.57668316095953,1.789061159604234,0.205901786524458,0.005037053871307359
+0.48,1.344049298340081,1.674064101372538,0.3116597332099589,0.0142761654175028
+0.6,1.123859232372908,1.566306901915687,0.4030520979796649,0.03064100010464871
+0.72,0.9334898694744971,1.474606514179548,0.4703624297243337,0.05503105609611801
+0.84,0.7784751018652338,1.401716999811539,0.5109268580359775,0.08735614215248273
+0.96,0.6568323296939889,1.346521446039738,0.5267415856110208,0.1267369683492397
+1.08,0.5629192914656692,1.306002061315361,0.5222010296069126,0.171796909077724
+1.2,0.4900870352972107,1.276606606228781,0.5024517737099489,0.2209416200612673
+1.32,0.4322181075164742,1.255048436868926,0.4723758813561986,0.272575681774871
+1.44,0.3844372066881826,1.238681774186522,0.4360760299164082,0.3252421958970651
+1.56,0.3432716896766672,1.225592061866974,0.3967144189324872,0.377693519200534
+1.68,0.306493635114086,1.214519947372975,0.3565681439154467,0.4289119087115737
+1.8,0.2728242253263435,1.20471217068058,0.3171874231975029,0.4781004061219119
+1.92,0.241623764354427,1.195763336570906,0.2795764826731816,0.5246601807559061
+2.04,0.2126335648022273,1.18748313235944,0.2443524179322065,0.5681644497083469
+2.16,0.1857909017595125,1.179800270569126,0.2118659916052182,0.6083337378256494
+2.28,0.161111293689433,1.172700476452873,0.182285716289961,0.6450138072571592
+2.4,0.1386215872669417,1.166190221933511,0.1556537799661411,0.6781559981003419
+2.52,0.1183266880019671,1.160277535061701,0.131923127513215,0.7077993374250787
+2.64,0.1001964998036359,1.154963098758969,0.1109829592409083,0.7340539420001169
+2.76,0.08416405778911763,1.150237105134245,0.09267736118789185,0.7570855336778582
+2.88,0.07012937879618666,1.146079133734882,0.07681975590753641,0.7771011103575764
+3.,0.05796590691947563,1.142459513978156,0.06320456239286219,0.7943359236289776
+3.12,0.04752782699103624,1.139341331828416,0.05161673984124087,0.8090419283303385
+3.24,0.03865729358715559,1.136682622141368,0.04183955042403461,0.8214778274345917
+3.36,0.03119104611122787,1.134438490215859,0.03366073966236191,0.8319007701217733
+3.48,0.02496612162590175,1.132563016849854,0.02687729089175904,0.840559692258381
+3.6,0.01982452785792567,1.131010867881046,0.02129890445430461,0.8476902276646428
+3.72,0.01561684233688686,1.129738574033891,0.01675035590790737,0.8535110700581948
+3.84,0.01220477800310683,1.128705479076475,0.01307289039901103,0.8582216305245077
+3.96,0.009462807869937275,1.127874377257237,0.01012480948681399,0.862000813255942
+4.08,0.007278974716538771,1.127211876199742,0.007781401909891656,0.8650067218903609
+4.2,0.005555028898744094,1.126688529951594,0.005934361532792997,0.8673771085156072
+4.32,0.004206041044048164,1.126278789887083,0.004490824557443708,0.869230385555467
+4.44,0.003159629776483935,1.12596081995475,0.00337214457963039,0.8706670354656129
+4.56,0.002354930846325157,1.125716218643675,0.002512508812675548,0.8717712725436428
+4.68,0.001741415995984308,1.125529684189108,0.001857482473011681,0.8726128333378727
+4.8,0.001277650001798684,1.125388652915544,0.001362551681877026,0.8732487954025719
+4.92,0.0009300544503697908,1.12528293394519,0.0009917190147040813,0.8737253470400984
+5.04,0.0006717283011997111,1.125204357290146,0.0007161907329535255,0.874079451976892
+5.16,0.0004813589551448897,1.125146446886819,0.0005131812483873982,0.8743403718647859
+5.28,0.0003422438535069745,1.12510412557549,0.0003648488832868866,0.8745310255412155
+5.4,0.0002414316865793736,1.125073455405072,0.0002573676623837245,0.8746691769325367
+5.52,0.0001689839731840438,1.125051413901808,0.0001801326916127646,0.8747684534065717
+5.64,0.0001173518339310699,1.125035704987722,0.0001250915169126006,0.8748392034953576
+5.76,0.00008085887952107735,1.125024601949644,0.00008619048110821355,0.8748892075692413
+5.88,0.00005527888802450197,1.125016819112159,0.00005892321073757021,0.8749242576770954
+6.,0.00003749598928094305,1.125011408536828,0.0000399676677729386,0.8749486237953891
diff --git a/models/sbml-test-suite/cases/semantic/01101/01101-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01101/01101-sbml-l3v1.xml
new file mode 100644
index 0000000..a683943
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01101/01101-sbml-l3v1.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01101" id="case01101" name="case01101" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="2" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" name="S4" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1" constant="true"/>
+      <parameter id="p1" name="p1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference id="generatedId_0" species="S1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction2" name="reaction2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k1" value="0.9"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="reaction3" name="reaction3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> C </ci>
+              <ci> k1 </ci>
+              <ci> S3 </ci>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> s </csymbol>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k1" value="0.7"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01101/01101-settings.txt b/models/sbml-test-suite/cases/semantic/01101/01101-settings.txt
new file mode 100644
index 0000000..7ac3dec
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01101/01101-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 6.0
+steps: 50
+variables: S1, S2, S3, S4
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01102/01102-results.csv b/models/sbml-test-suite/cases/semantic/01102/01102-results.csv
new file mode 100644
index 0000000..6212877
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01102/01102-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,0
+0.1,0.3
+0.2,0.6
+0.3,0.9
+0.4,1.2
+0.5,1.5
+0.6,1.8
+0.7,2.1
+0.8,2.4
+0.9,2.7
+1,3
+1.1,3.3
+1.2,3.6
+1.3,3.9
+1.4,4.2
+1.5,4.5
+1.6,4.8
+1.7,5.1
+1.8,5.4
+1.9,5.7
+2,6
+2.1,6.3
+2.2,6.6
+2.3,6.9
+2.4,7.2
+2.5,7.5
+2.6,7.8
+2.7,8.1
+2.8,8.4
+2.9,8.7
+3,9
+3.1,9.3
+3.2,9.6
+3.3,9.9
+3.4,10.2
+3.5,10.5
+3.6,10.8
+3.7,11.1
+3.8,11.4
+3.9,11.7
+4,12
+4.1,12.3
+4.2,12.6
+4.3,12.9
+4.4,13.2
+4.5,13.5
+4.6,13.8
+4.7,14.1
+4.8,14.4
+4.9,14.7
+5,15
+5.1,15.3
+5.2,15.6
+5.3,15.9
+5.4,16.2
+5.5,16.5
+5.6,16.8
+5.7,17.1
+5.8,17.4
+5.9,17.7
+6,18
+6.1,18.3
+6.2,18.6
+6.3,18.9
+6.4,19.2
+6.5,19.5
+6.6,19.8
+6.7,20.1
+6.8,20.4
+6.9,20.7
+7,21
+7.1,21.3
+7.2,21.6
+7.3,21.9
+7.4,22.2
+7.5,22.5
+7.6,22.8
+7.7,23.1
+7.8,23.4
+7.9,23.7
+8,24
+8.1,24.3
+8.2,24.6
+8.3,24.9
+8.4,25.2
+8.5,25.5
+8.6,25.8
+8.7,26.1
+8.8,26.4
+8.9,26.7
+9,27
+9.1,27.3
+9.2,27.6
+9.3,27.9
+9.4,28.2
+9.5,28.5
+9.6,28.8
+9.7,29.1
+9.8,29.4
+9.9,29.7
+10,30
diff --git a/models/sbml-test-suite/cases/semantic/01102/01102-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01102/01102-sbml-l3v1.xml
new file mode 100644
index 0000000..139352d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01102/01102-sbml-l3v1.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case01102" name="case01102">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="Xref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 3 </cn>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01102/01102-settings.txt b/models/sbml-test-suite/cases/semantic/01102/01102-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01102/01102-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01103/01103-results.csv b/models/sbml-test-suite/cases/semantic/01103/01103-results.csv
new file mode 100644
index 0000000..7e967b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01103/01103-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,0
+0.1,0.10005
+0.2,0.2002
+0.3,0.30045
+0.4,0.4008
+0.5,0.50125
+0.6,0.6018
+0.7,0.70245
+0.8,0.8032
+0.9,0.90405
+1,1.005
+1.1,1.10605
+1.2,1.2072
+1.3,1.30845
+1.4,1.4098
+1.5,1.51125
+1.6,1.6128
+1.7,1.71445
+1.8,1.8162
+1.9,1.91805
+2,2.02
+2.1,2.12205
+2.2,2.2242
+2.3,2.32645
+2.4,2.4288
+2.5,2.53125
+2.6,2.6338
+2.7,2.73645
+2.8,2.8392
+2.9,2.94205
+3,3.045
+3.1,3.14805
+3.2,3.2512
+3.3,3.35445
+3.4,3.4578
+3.5,3.56125
+3.6,3.6648
+3.7,3.76845
+3.8,3.8722
+3.9,3.97605
+4,4.08
+4.1,4.18405
+4.2,4.2882
+4.3,4.39245
+4.4,4.4968
+4.5,4.60125
+4.6,4.7058
+4.7,4.81045
+4.8,4.9152
+4.9,5.02005
+5,5.125
+5.1,5.23005
+5.2,5.3352
+5.3,5.44045
+5.4,5.5458
+5.5,5.65125
+5.6,5.7568
+5.7,5.86245
+5.8,5.9682
+5.9,6.07405
+6,6.18
+6.1,6.28605
+6.2,6.3922
+6.3,6.49845
+6.4,6.6048
+6.5,6.71125
+6.6,6.8178
+6.7,6.92445
+6.8,7.0312
+6.9,7.13805
+7,7.245
+7.1,7.35205
+7.2,7.4592
+7.3,7.56645
+7.4,7.6738
+7.5,7.78125
+7.6,7.8888
+7.7,7.99645
+7.8,8.1042
+7.9,8.21205
+8,8.32
+8.1,8.42805
+8.2,8.5362
+8.3,8.64445
+8.4,8.7528
+8.5,8.86125
+8.6,8.9698
+8.7,9.07845
+8.8,9.1872
+8.9,9.29605
+9,9.405
+9.1,9.51405
+9.2,9.6232
+9.3,9.73245
+9.4,9.8418
+9.5,9.95125
+9.6,10.0608
+9.7,10.17045
+9.8,10.2802
+9.9,10.39005
+10,10.5
diff --git a/models/sbml-test-suite/cases/semantic/01103/01103-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01103/01103-sbml-l3v1.xml
new file mode 100644
index 0000000..9e2a8f6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01103/01103-sbml-l3v1.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case01103" name="case01103">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="Xref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn> 0.01 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01103/01103-settings.txt b/models/sbml-test-suite/cases/semantic/01103/01103-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01103/01103-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01104/01104-results.csv b/models/sbml-test-suite/cases/semantic/01104/01104-results.csv
new file mode 100644
index 0000000..91da47b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01104/01104-results.csv
@@ -0,0 +1,102 @@
+time,X,Y
+0,1,1
+0.1,1.105170918,1.105170918
+0.2,1.221402758,1.221402758
+0.3,1.349858808,1.349858808
+0.4,1.491824698,1.491824698
+0.5,1.648721271,1.648721271
+0.6,1.8221188,1.8221188
+0.7,2.013752708,2.013752708
+0.8,2.225540929,2.225540929
+0.9,2.459603111,2.459603111
+1,2.718281829,2.718281829
+1.1,3.004166024,3.004166024
+1.2,3.320116923,3.320116923
+1.3,3.669296668,3.669296668
+1.4,4.055199967,4.055199967
+1.5,4.481689071,4.481689071
+1.6,4.953032425,4.953032425
+1.7,5.473947392,5.473947392
+1.8,6.049647465,6.049647465
+1.9,6.685894443,6.685894443
+2,7.3890561,7.3890561
+2.1,8.166169913,8.166169913
+2.2,9.0250135,9.0250135
+2.3,9.974182456,9.974182456
+2.4,11.02317638,11.02317638
+2.5,12.18249396,12.18249396
+2.6,13.46373804,13.46373804
+2.7,14.87973173,14.87973173
+2.8,16.44464677,16.44464677
+2.9,18.17414537,18.17414537
+3,20.08553693,20.08553693
+3.1,22.19795128,22.19795128
+3.2,24.5325302,24.5325302
+3.3,27.11263892,27.11263892
+3.4,29.96410005,29.96410005
+3.5,33.11545196,33.11545196
+3.6,36.59823445,36.59823445
+3.7,40.44730437,40.44730437
+3.8,44.7011845,44.7011845
+3.9,49.40244911,49.40244911
+4,54.59815004,54.59815004
+4.1,60.34028761,60.34028761
+4.2,66.68633105,66.68633105
+4.3,73.69979371,73.69979371
+4.4,81.45086868,81.45086868
+4.5,90.01713132,90.01713132
+4.6,99.48431566,99.48431566
+4.7,109.9471725,109.9471725
+4.8,121.5104175,121.5104175
+4.9,134.2897797,134.2897797
+5,148.4131591,148.4131591
+5.1,164.0219073,164.0219073
+5.2,181.2722419,181.2722419
+5.3,200.33681,200.33681
+5.4,221.4064162,221.4064162
+5.5,244.6919323,244.6919323
+5.6,270.4264075,270.4264075
+5.7,298.867401,298.867401
+5.8,330.29956,330.29956
+5.9,365.0374679,365.0374679
+6,403.4287936,403.4287936
+6.1,445.8577702,445.8577702
+6.2,492.7490412,492.7490412
+6.3,544.5719102,544.5719102
+6.4,601.845038,601.845038
+6.5,665.1416332,665.1416332
+6.6,735.0951894,735.0951894
+6.7,812.4058253,812.4058253
+6.8,897.8472918,897.8472918
+6.9,992.2747158,992.2747158
+7,1096.633159,1096.633159
+7.1,1211.967075,1211.967075
+7.2,1339.430765,1339.430765
+7.3,1480.299928,1480.299928
+7.4,1635.98443,1635.98443
+7.5,1808.042415,1808.042415
+7.6,1998.195896,1998.195896
+7.7,2208.347992,2208.347992
+7.8,2440.601978,2440.601978
+7.9,2697.282329,2697.282329
+8,2980.957988,2980.957988
+8.1,3294.468076,3294.468076
+8.2,3640.950308,3640.950308
+8.3,4023.872395,4023.872395
+8.4,4447.066749,4447.066749
+8.5,4914.768841,4914.768841
+8.6,5431.659593,5431.659593
+8.7,6002.912219,6002.912219
+8.8,6634.244008,6634.244008
+8.9,7331.973541,7331.973541
+9,8103.083929,8103.083929
+9.1,8955.292706,8955.292706
+9.2,9897.129061,9897.129061
+9.3,10938.01921,10938.01921
+9.4,12088.38073,12088.38073
+9.5,13359.72683,13359.72683
+9.6,14764.78157,14764.78157
+9.7,16317.6072,16317.6072
+9.8,18033.74493,18033.74493
+9.9,19930.37044,19930.37044
+10,22026.4658,22026.4658
diff --git a/models/sbml-test-suite/cases/semantic/01104/01104-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01104/01104-sbml-l3v1.xml
new file mode 100644
index 0000000..380fc80
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01104/01104-sbml-l3v1.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-21 13:00 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case01104" name="case01104">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="Y" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="Xref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> X </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> Y </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01104/01104-settings.txt b/models/sbml-test-suite/cases/semantic/01104/01104-settings.txt
new file mode 100644
index 0000000..c9d4808
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01104/01104-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X, Y
+absolute: 0.0001
+relative: 0.0001
+amount: X, Y
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01105/01105-results.csv b/models/sbml-test-suite/cases/semantic/01105/01105-results.csv
new file mode 100644
index 0000000..66264ba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01105/01105-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,1
+0.1,1.105
+0.2,1.22
+0.3,1.345
+0.4,1.48
+0.5,1.625
+0.6,1.78
+0.7,1.945
+0.8,2.12
+0.9,2.305
+1,2.5
+1.1,2.705
+1.2,2.92
+1.3,3.145
+1.4,3.38
+1.5,3.625
+1.6,3.88
+1.7,4.145
+1.8,4.42
+1.9,4.705
+2,5
+2.1,5.305
+2.2,5.62
+2.3,5.945
+2.4,6.28
+2.5,6.625
+2.6,6.98
+2.7,7.345
+2.8,7.72
+2.9,8.105
+3,8.5
+3.1,8.905
+3.2,9.32
+3.3,9.745
+3.4,10.18
+3.5,10.625
+3.6,11.08
+3.7,11.545
+3.8,12.02
+3.9,12.505
+4,13
+4.1,13.505
+4.2,14.02
+4.3,14.545
+4.4,15.08
+4.5,15.625
+4.6,16.18
+4.7,16.745
+4.8,17.32
+4.9,17.905
+5,18.5
+5.1,19.105
+5.2,19.72
+5.3,20.345
+5.4,20.98
+5.5,21.625
+5.6,22.28
+5.7,22.945
+5.8,23.62
+5.9,24.305
+6,25
+6.1,25.705
+6.2,26.42
+6.3,27.145
+6.4,27.88
+6.5,28.625
+6.6,29.38
+6.7,30.145
+6.8,30.92
+6.9,31.705
+7,32.5
+7.1,33.305
+7.2,34.12
+7.3,34.945
+7.4,35.78
+7.5,36.625
+7.6,37.48
+7.7,38.345
+7.8,39.22
+7.9,40.105
+8,41
+8.1,41.905
+8.2,42.82
+8.3,43.745
+8.4,44.68
+8.5,45.625
+8.6,46.58
+8.7,47.545
+8.8,48.52
+8.9,49.505
+9,50.5
+9.1,51.505
+9.2,52.52
+9.3,53.545
+9.4,54.58
+9.5,55.625
+9.6,56.68
+9.7,57.745
+9.8,58.82
+9.9,59.905
+10,61
diff --git a/models/sbml-test-suite/cases/semantic/01105/01105-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01105/01105-sbml-l3v1.xml
new file mode 100644
index 0000000..7783726
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01105/01105-sbml-l3v1.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-21 14:13 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case01105" name="case01105">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" value="1" constant="false"/>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="Xref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> p1 </ci>
+        </math>
+      </assignmentRule>
+      <rateRule variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01105/01105-settings.txt b/models/sbml-test-suite/cases/semantic/01105/01105-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01105/01105-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01106/01106-results.csv b/models/sbml-test-suite/cases/semantic/01106/01106-results.csv
new file mode 100644
index 0000000..0ae989b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01106/01106-results.csv
@@ -0,0 +1,22 @@
+time,X
+0,1
+0.1,1.1
+0.2,1.2
+0.3,1.3
+0.4,1.4
+0.5,1.5
+0.6,1.6
+0.7,1.7
+0.8,1.8
+0.9,1.9
+1,2
+1.1,2.2
+1.2,2.4
+1.3,2.6
+1.4,2.8
+1.5,3
+1.6,3.2
+1.7,3.4
+1.8,3.6
+1.9,3.8
+2,4
diff --git a/models/sbml-test-suite/cases/semantic/01106/01106-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01106/01106-sbml-l3v1.xml
new file mode 100644
index 0000000..a9494bb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01106/01106-sbml-l3v1.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-21 15:05 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case01106" name="case01106">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" value="1" constant="false"/>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="Xref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> p1 </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="_E0" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <ci> X </ci>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="p1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01106/01106-settings.txt b/models/sbml-test-suite/cases/semantic/01106/01106-settings.txt
new file mode 100644
index 0000000..8bc7254
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01106/01106-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 20
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01107/01107-results.csv b/models/sbml-test-suite/cases/semantic/01107/01107-results.csv
new file mode 100644
index 0000000..53f242c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01107/01107-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,1
+0.1,1.105170918
+0.2,1.221402758
+0.3,1.349858808
+0.4,1.491824698
+0.5,1.648721271
+0.6,1.8221188
+0.7,2.013752708
+0.8,2.225540929
+0.9,2.459603111
+1,2.718281829
+1.1,3.004166024
+1.2,3.320116923
+1.3,3.669296668
+1.4,4.055199967
+1.5,4.481689071
+1.6,4.953032425
+1.7,5.473947392
+1.8,6.049647465
+1.9,6.685894443
+2,7.3890561
+2.1,8.166169913
+2.2,9.0250135
+2.3,9.974182456
+2.4,11.02317638
+2.5,12.18249396
+2.6,13.46373804
+2.7,14.87973173
+2.8,16.44464677
+2.9,18.17414537
+3,20.08553693
+3.1,22.19795128
+3.2,24.5325302
+3.3,27.11263892
+3.4,29.96410005
+3.5,33.11545196
+3.6,36.59823445
+3.7,40.44730437
+3.8,44.7011845
+3.9,49.40244911
+4,54.59815004
+4.1,60.34028761
+4.2,66.68633105
+4.3,73.69979371
+4.4,81.45086868
+4.5,90.01713132
+4.6,99.48431566
+4.7,109.9471725
+4.8,121.5104175
+4.9,134.2897797
+5,148.4131591
+5.1,164.0219073
+5.2,181.2722419
+5.3,200.33681
+5.4,221.4064162
+5.5,244.6919323
+5.6,270.4264075
+5.7,298.867401
+5.8,330.29956
+5.9,365.0374679
+6,403.4287936
+6.1,445.8577702
+6.2,492.7490412
+6.3,544.5719102
+6.4,601.845038
+6.5,665.1416332
+6.6,735.0951894
+6.7,812.4058253
+6.8,897.8472918
+6.9,992.2747158
+7,1096.633159
+7.1,1211.967075
+7.2,1339.430765
+7.3,1480.299928
+7.4,1635.98443
+7.5,1808.042415
+7.6,1998.195896
+7.7,2208.347992
+7.8,2440.601978
+7.9,2697.282329
+8,2980.957988
+8.1,3294.468076
+8.2,3640.950308
+8.3,4023.872395
+8.4,4447.066749
+8.5,4914.768841
+8.6,5431.659593
+8.7,6002.912219
+8.8,6634.244008
+8.9,7331.973541
+9,8103.083929
+9.1,8955.292706
+9.2,9897.129061
+9.3,10938.01921
+9.4,12088.38073
+9.5,13359.72683
+9.6,14764.78157
+9.7,16317.6072
+9.8,18033.74493
+9.9,19930.37044
+10,22026.4658
diff --git a/models/sbml-test-suite/cases/semantic/01107/01107-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01107/01107-sbml-l3v1.xml
new file mode 100644
index 0000000..b7e2504
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01107/01107-sbml-l3v1.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-21 16:09 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case01107" name="case01107">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" constant="false"/>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="Xref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> p1 </ci>
+        </math>
+      </assignmentRule>
+      <assignmentRule variable="p1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> X </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01107/01107-settings.txt b/models/sbml-test-suite/cases/semantic/01107/01107-settings.txt
new file mode 100644
index 0000000..5b5b471
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01107/01107-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.001
+relative: 0.002
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01108/01108-results.csv b/models/sbml-test-suite/cases/semantic/01108/01108-results.csv
new file mode 100644
index 0000000..53f242c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01108/01108-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,1
+0.1,1.105170918
+0.2,1.221402758
+0.3,1.349858808
+0.4,1.491824698
+0.5,1.648721271
+0.6,1.8221188
+0.7,2.013752708
+0.8,2.225540929
+0.9,2.459603111
+1,2.718281829
+1.1,3.004166024
+1.2,3.320116923
+1.3,3.669296668
+1.4,4.055199967
+1.5,4.481689071
+1.6,4.953032425
+1.7,5.473947392
+1.8,6.049647465
+1.9,6.685894443
+2,7.3890561
+2.1,8.166169913
+2.2,9.0250135
+2.3,9.974182456
+2.4,11.02317638
+2.5,12.18249396
+2.6,13.46373804
+2.7,14.87973173
+2.8,16.44464677
+2.9,18.17414537
+3,20.08553693
+3.1,22.19795128
+3.2,24.5325302
+3.3,27.11263892
+3.4,29.96410005
+3.5,33.11545196
+3.6,36.59823445
+3.7,40.44730437
+3.8,44.7011845
+3.9,49.40244911
+4,54.59815004
+4.1,60.34028761
+4.2,66.68633105
+4.3,73.69979371
+4.4,81.45086868
+4.5,90.01713132
+4.6,99.48431566
+4.7,109.9471725
+4.8,121.5104175
+4.9,134.2897797
+5,148.4131591
+5.1,164.0219073
+5.2,181.2722419
+5.3,200.33681
+5.4,221.4064162
+5.5,244.6919323
+5.6,270.4264075
+5.7,298.867401
+5.8,330.29956
+5.9,365.0374679
+6,403.4287936
+6.1,445.8577702
+6.2,492.7490412
+6.3,544.5719102
+6.4,601.845038
+6.5,665.1416332
+6.6,735.0951894
+6.7,812.4058253
+6.8,897.8472918
+6.9,992.2747158
+7,1096.633159
+7.1,1211.967075
+7.2,1339.430765
+7.3,1480.299928
+7.4,1635.98443
+7.5,1808.042415
+7.6,1998.195896
+7.7,2208.347992
+7.8,2440.601978
+7.9,2697.282329
+8,2980.957988
+8.1,3294.468076
+8.2,3640.950308
+8.3,4023.872395
+8.4,4447.066749
+8.5,4914.768841
+8.6,5431.659593
+8.7,6002.912219
+8.8,6634.244008
+8.9,7331.973541
+9,8103.083929
+9.1,8955.292706
+9.2,9897.129061
+9.3,10938.01921
+9.4,12088.38073
+9.5,13359.72683
+9.6,14764.78157
+9.7,16317.6072
+9.8,18033.74493
+9.9,19930.37044
+10,22026.4658
diff --git a/models/sbml-test-suite/cases/semantic/01108/01108-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01108/01108-sbml-l3v1.xml
new file mode 100644
index 0000000..10b7557
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01108/01108-sbml-l3v1.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-21 16:27 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case01108" name="case01108">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="p1" constant="false"/>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <algebraicRule>
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <minus/>
+            <ci> X </ci>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </algebraicRule>
+      <assignmentRule variable="Xref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> p1 </ci>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01108/01108-settings.txt b/models/sbml-test-suite/cases/semantic/01108/01108-settings.txt
new file mode 100644
index 0000000..8fb99d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01108/01108-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.002
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01109/01109-results.csv b/models/sbml-test-suite/cases/semantic/01109/01109-results.csv
new file mode 100644
index 0000000..cfbcedd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01109/01109-results.csv
@@ -0,0 +1,102 @@
+time,X
+0,1
+0.1,1.005
+0.2,1.02
+0.3,1.045
+0.4,1.08
+0.5,1.125
+0.6,1.18
+0.7,1.245
+0.8,1.32
+0.9,1.405
+1,1.5
+1.1,1.605
+1.2,1.72
+1.3,1.845
+1.4,1.98
+1.5,2.125
+1.6,2.28
+1.7,2.445
+1.8,2.62
+1.9,2.805
+2,3
+2.1,3.205
+2.2,3.42
+2.3,3.645
+2.4,3.88
+2.5,4.125
+2.6,4.38
+2.7,4.645
+2.8,4.92
+2.9,5.205
+3,5.5
+3.1,5.805
+3.2,6.12
+3.3,6.445
+3.4,6.78
+3.5,7.125
+3.6,7.48
+3.7,7.845
+3.8,8.22
+3.9,8.605
+4,9
+4.1,9.405
+4.2,9.82
+4.3,10.245
+4.4,10.68
+4.5,11.125
+4.6,11.58
+4.7,12.045
+4.8,12.52
+4.9,13.005
+5,13.5
+5.1,14.005
+5.2,14.52
+5.3,15.045
+5.4,15.58
+5.5,16.125
+5.6,16.68
+5.7,17.245
+5.8,17.82
+5.9,18.405
+6,19
+6.1,19.605
+6.2,20.22
+6.3,20.845
+6.4,21.48
+6.5,22.125
+6.6,22.78
+6.7,23.445
+6.8,24.12
+6.9,24.805
+7,25.5
+7.1,26.205
+7.2,26.92
+7.3,27.645
+7.4,28.38
+7.5,29.125
+7.6,29.88
+7.7,30.645
+7.8,31.42
+7.9,32.205
+8,33
+8.1,33.805
+8.2,34.62
+8.3,35.445
+8.4,36.28
+8.5,37.125
+8.6,37.98
+8.7,38.845
+8.8,39.72
+8.9,40.605
+9,41.5
+9.1,42.405
+9.2,43.32
+9.3,44.245
+9.4,45.18
+9.5,46.125
+9.6,47.08
+9.7,48.045
+9.8,49.02
+9.9,50.005
+10,51
diff --git a/models/sbml-test-suite/cases/semantic/01109/01109-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01109/01109-sbml-l3v1.xml
new file mode 100644
index 0000000..6b6c3d7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01109/01109-sbml-l3v1.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2011-11-21 16:44 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case01109" name="case01109">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="default_compartment" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="Xref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference id="Xref" species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01109/01109-settings.txt b/models/sbml-test-suite/cases/semantic/01109/01109-settings.txt
new file mode 100644
index 0000000..2279f9d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01109/01109-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 100
+variables: X
+absolute: 0.0001
+relative: 0.0001
+amount: X
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01110/01110-results.csv b/models/sbml-test-suite/cases/semantic/01110/01110-results.csv
new file mode 100644
index 0000000..b86ea71
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01110/01110-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2
+0,1.,0
+0.16,0.8674461438566446,0.2651077122867101
+0.32,0.7553912296266588,0.4892175407466816
+0.48,0.6606651845799057,0.6786696308401882
+0.64,0.5805881522289524,0.8388236955420945
+0.8,0.5128947114301744,0.9742105771396506
+0.96,0.4556698341041101,1.088660331791779
+1.12,0.4072945472844014,1.185410905431196
+1.28,0.3664003113716774,1.267199377256644
+1.44,0.3318302177334989,1.336339564533001
+1.6,0.302606250562297,1.394787498875404
+1.76,0.2779016593924217,1.444196681215155
+1.92,0.257017540340215,1.485964919319569
+2.08,0.2393630718897156,1.521273856220567
+2.24,0.2244388005842858,1.551122398831427
+2.4,0.2118225114456443,1.57635497710871
+2.56,0.2011572834248798,1.597685433150239
+2.72,0.1921413919952827,1.615717216009434
+2.88,0.1845197732456855,1.630960453508628
+3.04,0.1780768080029133,1.643846383994172
+3.2,0.1726302218594896,1.65473955628102
+3.36,0.1680259248357856,1.663948150328428
+3.52,0.1641336684668112,1.671732663066377
+3.68,0.160843338631873,1.678313322736253
+3.84,0.1580618417627714,1.683876316474456
+4.,0.1557104913679087,1.688579017264182
+4.16,0.1537227713129696,1.69255445737406
+4.32,0.1520424447098569,1.695915110580286
+4.48,0.1506219712957153,1.698756057408569
+4.64,0.1494211707589508,1.701157658482098
+4.8,0.1484060699697881,1.703187860060423
+4.96,0.1475479486677223,1.704904102664555
+5.12,0.1468225335937843,1.706354932812431
+5.28,0.1462093017990854,1.707581396401828
+5.44,0.1456909027323298,1.70861819453534
+5.6,0.1452526725525035,1.709494654894993
+5.76,0.1448822135073344,1.710235572985331
+5.92,0.1445690438367742,1.710861912326451
+6.08,0.1443043047971257,1.711391390405748
+6.24,0.1440805070148766,1.711838985970247
+6.4,0.1438913183339688,1.712217363332062
+6.56,0.1437313869535032,1.712537226092993
+6.72,0.1435961886049454,1.712807622790109
+6.88,0.143481897986369,1.713036204027262
+7.04,0.1433852819159146,1.71322943616817
+7.2,0.1433036073147115,1.713392785370577
+7.36,0.1432345633044834,1.713530873391033
+7.52,0.1431761966184394,1.713647606763121
+7.68,0.1431268562404177,1.713746287519164
+7.84,0.1430851460081502,1.713829707983699
+8.,0.1430498862778779,1.713900227444244
diff --git a/models/sbml-test-suite/cases/semantic/01110/01110-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01110/01110-sbml-l3v1.xml
new file mode 100644
index 0000000..6b56b4e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01110/01110-sbml-l3v1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01110" id="case01110" name="case01110" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="0.9" constant="true"/>
+      <parameter id="kr" name="kr" value="0.075" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01110/01110-settings.txt b/models/sbml-test-suite/cases/semantic/01110/01110-settings.txt
new file mode 100644
index 0000000..782b0d1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01110/01110-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 8.0
+steps: 50
+variables: S1, S2
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01111/01111-results.csv b/models/sbml-test-suite/cases/semantic/01111/01111-results.csv
new file mode 100644
index 0000000..122ffc6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01111/01111-results.csv
@@ -0,0 +1,52 @@
+time,S1,S2,S3
+0,1.,0.5,0
+0.06,0.9696179454642711,0.4392358909285413,0.03038205453572927
+0.12,0.9437947594964144,0.3875895189928282,0.05620524050358585
+0.18,0.9216954270748496,0.3433908541496985,0.0783045729251507
+0.24,0.9026717447258134,0.3053434894516258,0.09732825527418702
+0.3,0.8862128399369182,0.2724256798738354,0.1137871600630822
+0.36,0.8719106658115749,0.2438213316231486,0.1280893341884257
+0.42,0.8594354122631484,0.2188708245262958,0.1405645877368521
+0.48,0.8485176887592405,0.1970353775184801,0.1514823112407599
+0.54,0.8389353649935498,0.1778707299870987,0.1610646350064506
+0.6,0.8305037308100224,0.1610074616200441,0.1694962691899779
+0.66,0.8230680221717499,0.1461360443434988,0.1769319778282506
+0.72,0.8164976800789665,0.132995360157932,0.183502319921034
+0.78,0.8106818870376608,0.1213637740753207,0.1893181129623396
+0.84,0.8055260562348722,0.1110521124697436,0.1944739437651282
+0.9,0.8009490553410307,0.1018981106820606,0.1990509446589697
+0.96,0.7968809759131927,0.09376195182638452,0.2031190240868077
+1.02,0.7932613361166933,0.08652267223338555,0.2067386638833072
+1.08,0.7900376147630173,0.08007522952603364,0.2099623852369832
+1.14,0.7871640566023572,0.07432811320471303,0.2128359433976435
+1.2,0.7846006785903941,0.06920135718078701,0.2153993214096065
+1.26,0.7823124471114399,0.06462489422287849,0.2176875528885607
+1.32,0.7802685915353989,0.06053718307079644,0.2197314084646017
+1.38,0.7784420257791159,0.05688405155823055,0.2215579742208846
+1.44,0.7768088597975793,0.05361771959515723,0.2231911402024213
+1.5,0.7753479849818044,0.05069596996360754,0.2246520150181961
+1.56,0.7740407205127242,0.04808144102544719,0.2259592794872763
+1.62,0.7728705097609502,0.04574101952189911,0.2271294902390503
+1.68,0.7718226596384412,0.04364531927688087,0.2281773403615594
+1.74,0.7708841155355393,0.04176823107107718,0.2291158844644613
+1.8,0.7700432661819711,0.04008653236394067,0.2299567338180295
+1.86,0.7692897751563261,0.03857955031265036,0.2307102248436747
+1.92,0.7686144322138514,0.03722886442770084,0.2313855677861494
+1.98,0.7680090232404527,0.0360180464809033,0.2319909767595482
+2.04,0.7674662202251498,0.03493244045029753,0.2325337797748511
+2.1,0.7669794788731437,0.03395895774628556,0.2330205211268571
+2.16,0.766542952464459,0.03308590492891596,0.2334570475355419
+2.22,0.7661514159846728,0.03230283196934352,0.2338485840153281
+2.28,0.7658001958517509,0.0316003917034997,0.23419980414825
+2.34,0.7654851114069644,0.03097022281392642,0.2345148885930366
+2.4,0.7652024215771755,0.03040484315434866,0.2347975784228255
+2.46,0.764948776264381,0.02989755252875986,0.2350512237356199
+2.52,0.7647211767037641,0.02944235340752586,0.235278823296237
+2.58,0.7645169354882692,0.02903387097653622,0.2354830645117318
+2.64,0.7643336457072129,0.02866729141442374,0.235666354292788
+2.7,0.7641691503608463,0.02833830072169049,0.2358308496391546
+2.76,0.7640215157226102,0.0280430314452181,0.2359784842773908
+2.82,0.7638890081549438,0.02777801630988544,0.2361109918450572
+2.88,0.763770073719003,0.02754014743800385,0.2362299262809979
+2.94,0.7636633188428251,0.02732663768564807,0.2363366811571758
+3.,0.7635674934634627,0.02713498692692338,0.2364325065365382
diff --git a/models/sbml-test-suite/cases/semantic/01111/01111-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01111/01111-sbml-l3v1.xml
new file mode 100644
index 0000000..8304050
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01111/01111-sbml-l3v1.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model metaid="_case01111" id="case01111" name="case01111" timeUnits="time">
+    <listOfUnitDefinitions>
+      <unitDefinition id="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="C" name="C" spatialDimensions="3" size="1" units="volume" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="C" initialAmount="1" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" name="S2" compartment="C" initialAmount="0.5" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" name="S3" compartment="C" initialAmount="0" substanceUnits="substance" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kf" name="kf" value="1.1" constant="true"/>
+      <parameter id="kr" name="kr" value="0.09" constant="true"/>
+      <parameter id="p1" name="p1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="generatedId_0">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 4 </cn>
+            <ci> p1 </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference id="generatedId_0" species="S2" constant="true"/>
+        </listOfProducts>
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply><minus /><apply>
+              <times/>
+              <ci> C </ci>
+             <apply>
+                <plus/>
+               <apply>
+                  <times/>
+                  <ci> kf </ci>
+                  <ci> S1 </ci>
+                  <ci> S2 </ci>
+                </apply>
+               <apply>
+                  <times/>
+                  <cn type="integer"> -1 </cn>
+                  <ci> kr </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply></apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01111/01111-settings.txt b/models/sbml-test-suite/cases/semantic/01111/01111-settings.txt
new file mode 100644
index 0000000..ea1912d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01111/01111-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 3.0
+steps: 50
+variables: S1, S2, S3
+absolute: 1.000000e-003
+relative: 0.0001
+amount: S1, S2, S3
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01112/01112-results.csv b/models/sbml-test-suite/cases/semantic/01112/01112-results.csv
new file mode 100644
index 0000000..305a49d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01112/01112-results.csv
@@ -0,0 +1,4 @@
+time,a,b,c,d,e
+0,0,1,1,0,0
+0.5,0,1,1,0,0
+1,0,1,1,0,0
diff --git a/models/sbml-test-suite/cases/semantic/01112/01112-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01112/01112-sbml-l2v4.xml
new file mode 100644
index 0000000..bff3f5c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01112/01112-sbml-l2v4.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case_01112" name="case_01112">
+    <listOfParameters>
+      <parameter id="a"/>
+      <parameter id="b"/>
+      <parameter id="c"/>
+      <parameter id="d"/>
+      <parameter id="e"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="a">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="b">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <and/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="d">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <or/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="e">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <xor/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01112/01112-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01112/01112-sbml-l3v1.xml
new file mode 100644
index 0000000..1438b93
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01112/01112-sbml-l3v1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-01-18 10:55 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case_01112" name="case_01112">
+    <listOfParameters>
+      <parameter id="a" constant="true"/>
+      <parameter id="b" constant="true"/>
+      <parameter id="c" constant="true"/>
+      <parameter id="d" constant="true"/>
+      <parameter id="e" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="a">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="b">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <and/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="d">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <or/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="e">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <xor/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01112/01112-settings.txt b/models/sbml-test-suite/cases/semantic/01112/01112-settings.txt
new file mode 100644
index 0000000..804e995
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01112/01112-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 2
+variables: a, b, c, d, e
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01113/01113-results.csv b/models/sbml-test-suite/cases/semantic/01113/01113-results.csv
new file mode 100644
index 0000000..a0280fa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01113/01113-results.csv
@@ -0,0 +1,4 @@
+time,a,b,c,d,e
+0,1,2,1,1,1
+0.5,1,2,1,1,1
+1,1,2,1,1,1
diff --git a/models/sbml-test-suite/cases/semantic/01113/01113-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01113/01113-sbml-l2v4.xml
new file mode 100644
index 0000000..75a9c0a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01113/01113-sbml-l2v4.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case_01113" name="case_01113">
+    <listOfParameters>
+      <parameter id="a"/>
+      <parameter id="b"/>
+      <parameter id="c"/>
+      <parameter id="d"/>
+      <parameter id="e"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="a">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="b">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <and/>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="d">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <or/>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="e">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <xor/>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01113/01113-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01113/01113-sbml-l3v1.xml
new file mode 100644
index 0000000..f4a5249
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01113/01113-sbml-l3v1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-01-18 10:55 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case_01113" name="case_01113">
+    <listOfParameters>
+      <parameter id="a" constant="true"/>
+      <parameter id="b" constant="true"/>
+      <parameter id="c" constant="true"/>
+      <parameter id="d" constant="true"/>
+      <parameter id="e" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="a">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="b">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <and/>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="d">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <or/>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="e">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <xor/>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01113/01113-settings.txt b/models/sbml-test-suite/cases/semantic/01113/01113-settings.txt
new file mode 100644
index 0000000..804e995
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01113/01113-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 2
+variables: a, b, c, d, e
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01114/01114-results.csv b/models/sbml-test-suite/cases/semantic/01114/01114-results.csv
new file mode 100644
index 0000000..cd0ba9c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01114/01114-results.csv
@@ -0,0 +1,4 @@
+time,a,b,c,d,e
+0,2,4,1,1,0
+0.5,2,4,1,1,0
+1,2,4,1,1,0
diff --git a/models/sbml-test-suite/cases/semantic/01114/01114-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01114/01114-sbml-l2v4.xml
new file mode 100644
index 0000000..26b2530
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01114/01114-sbml-l2v4.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case_01114" name="case_01114">
+    <listOfParameters>
+      <parameter id="a"/>
+      <parameter id="b"/>
+      <parameter id="c"/>
+      <parameter id="d"/>
+      <parameter id="e"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="a">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="b">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <and/>
+                <apply>
+                  <and/>
+                  <apply>
+                    <and/>
+                  </apply>
+                  <true/>
+                </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="d">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <or/>
+                <apply>
+                  <or/>
+                  <apply>
+                    <or/>
+                  </apply>
+                  <true/>
+                </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="e">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <xor/>
+                <apply>
+                  <xor/>
+                  <apply>
+                    <xor/>
+                  </apply>
+                  <true/>
+                </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01114/01114-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01114/01114-sbml-l3v1.xml
new file mode 100644
index 0000000..ed8f28c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01114/01114-sbml-l3v1.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-01-18 10:55 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case_01114" name="case_01114">
+    <listOfParameters>
+      <parameter id="a" constant="true"/>
+      <parameter id="b" constant="true"/>
+      <parameter id="c" constant="true"/>
+      <parameter id="d" constant="true"/>
+      <parameter id="e" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="a">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 1 </cn>
+            <apply>
+              <plus/>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <plus/>
+              </apply> 
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="b">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <times/>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <times/>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <and/>
+                <apply>
+                  <and/>
+                  <apply>
+                    <and/>
+                  </apply>
+                  <true/>
+                 </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="d">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <or/>
+                <apply>
+                  <or/>
+                  <apply>
+                    <or/>
+                  </apply>
+                  <true/>
+                </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="e">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <xor/>
+                <apply>
+                  <xor/>
+                  <apply>
+                    <xor/>
+                  </apply>
+                  <true/>
+                </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01114/01114-settings.txt b/models/sbml-test-suite/cases/semantic/01114/01114-settings.txt
new file mode 100644
index 0000000..804e995
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01114/01114-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 2
+variables: a, b, c, d, e
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01115/01115-results.csv b/models/sbml-test-suite/cases/semantic/01115/01115-results.csv
new file mode 100644
index 0000000..4863852
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01115/01115-results.csv
@@ -0,0 +1,4 @@
+time,a,b,c,d,e
+0,3,8,1,1,1
+0.5,3,8,1,1,1
+1,3,8,1,1,1
diff --git a/models/sbml-test-suite/cases/semantic/01115/01115-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01115/01115-sbml-l2v4.xml
new file mode 100644
index 0000000..6ba6523
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01115/01115-sbml-l2v4.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case_01115" name="case_01115">
+    <listOfParameters>
+      <parameter id="a"/>
+      <parameter id="b"/>
+      <parameter id="c"/>
+      <parameter id="d"/>
+      <parameter id="e"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="a">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 1 </cn>
+            <cn type="integer"> 1 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="b">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <cn type="integer"> 2 </cn>
+            <cn type="integer"> 2 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <and/>
+                <apply>
+                  <and/>
+                  <apply>
+                    <and/>
+                    <true/>
+                  </apply>
+                  <true/>
+                </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="d">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <or/>
+                <apply>
+                  <or/>
+                  <apply>
+                    <or/>
+                    <true/>
+                  </apply>
+                  <true/>
+                </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="e">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <xor/>
+                <apply>
+                  <xor/>
+                  <apply>
+                    <xor/>
+                    <true/>
+                  </apply>
+                  <true/>
+                </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01115/01115-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01115/01115-sbml-l3v1.xml
new file mode 100644
index 0000000..01f49c3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01115/01115-sbml-l3v1.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-01-18 10:55 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case_01115" name="case_01115">
+    <listOfParameters>
+      <parameter id="a" constant="true"/>
+      <parameter id="b" constant="true"/>
+      <parameter id="c" constant="true"/>
+      <parameter id="d" constant="true"/>
+      <parameter id="e" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="a">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <plus/>
+            <cn type="integer"> 1 </cn>
+            <apply>
+              <plus/>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+              </apply> 
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="b">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <apply>
+              <times/>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <times/>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="c">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <and/>
+                <apply>
+                  <and/>
+                  <apply>
+                    <and/>
+                    <true/>
+                  </apply>
+                  <true/>
+                 </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="d">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <or/>
+                <apply>
+                  <or/>
+                  <apply>
+                    <or/>
+                    <true/>
+                  </apply>
+                  <true/>
+                </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="e">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <xor/>
+                <apply>
+                  <xor/>
+                  <apply>
+                    <xor/>
+                    <true/>
+                  </apply>
+                  <true/>
+                </apply>
+                <true/>
+              </apply>
+            </piece>
+            <otherwise>
+              <cn type="integer"> 0 </cn>
+            </otherwise>
+          </piecewise>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01115/01115-settings.txt b/models/sbml-test-suite/cases/semantic/01115/01115-settings.txt
new file mode 100644
index 0000000..804e995
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01115/01115-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 2
+variables: a, b, c, d, e
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01116/01116-results.csv b/models/sbml-test-suite/cases/semantic/01116/01116-results.csv
new file mode 100644
index 0000000..b422ae2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01116/01116-results.csv
@@ -0,0 +1,4 @@
+time,a,b
+0,1,1
+0.5,1,1
+1,1,1
diff --git a/models/sbml-test-suite/cases/semantic/01116/01116-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01116/01116-sbml-l2v4.xml
new file mode 100644
index 0000000..0a5f19b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01116/01116-sbml-l2v4.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case_01116" name="case_01116">
+    <listOfParameters>
+      <parameter id="a"/>
+      <parameter id="b"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="a">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <true/>
+            </piece>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="b">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <gt/>
+                <ci> a </ci>
+                <cn type="integer"> 0 </cn>
+              </apply>
+            </piece>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <leq/>
+                <ci> a </ci>
+                <cn type="integer"> 0 </cn>
+              </apply>
+            </piece>
+          </piecewise>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01116/01116-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01116/01116-sbml-l3v1.xml
new file mode 100644
index 0000000..b373ec3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01116/01116-sbml-l3v1.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-01-30 18:26 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case_01116" name="case_01116">
+    <listOfParameters>
+      <parameter id="a" constant="true"/>
+      <parameter id="b" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="a">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <true/>
+            </piece>
+          </piecewise>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="b">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <piecewise>
+            <piece>
+              <cn type="integer"> 1 </cn>
+              <apply>
+                <gt/>
+                <ci> a </ci>
+                <cn type="integer"> 0 </cn>
+              </apply>
+            </piece>
+            <piece>
+              <cn type="integer"> 2 </cn>
+              <apply>
+                <leq/>
+                <ci> a </ci>
+                <cn type="integer"> 0 </cn>
+              </apply>
+            </piece>
+          </piecewise>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01116/01116-settings.txt b/models/sbml-test-suite/cases/semantic/01116/01116-settings.txt
new file mode 100644
index 0000000..e002119
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01116/01116-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 2
+variables: a, b
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01117/01117-results.csv b/models/sbml-test-suite/cases/semantic/01117/01117-results.csv
new file mode 100644
index 0000000..cbae3df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01117/01117-results.csv
@@ -0,0 +1,12 @@
+time,S1,C
+0,1,1
+0.1,1,1.1
+0.2,1,1.2
+0.3,1,1.3
+0.4,1,1.4
+0.5,1,1.5
+0.6,1,1.6
+0.7,1,1.7
+0.8,1,1.8
+0.9,1,1.9
+1,1,2
diff --git a/models/sbml-test-suite/cases/semantic/01117/01117-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01117/01117-sbml-l1v2.xml
new file mode 100644
index 0000000..c8c582f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01117/01117-sbml-l1v2.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case_01117">
+    <listOfCompartments>
+      <compartment name="C" volume="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1"/>
+    </listOfSpecies>
+    <listOfRules>
+      <compartmentVolumeRule formula="1" type="rate" compartment="C"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01117/01117-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01117/01117-sbml-l2v4.xml
new file mode 100644
index 0000000..cbb7f7c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01117/01117-sbml-l2v4.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case_01117" name="case_01117">
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialConcentration="1" constant="true"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01117/01117-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01117/01117-sbml-l3v1.xml
new file mode 100644
index 0000000..3429510
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01117/01117-sbml-l3v1.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-02-14 10:15 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case_01117" name="case_01117">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01117/01117-settings.txt b/models/sbml-test-suite/cases/semantic/01117/01117-settings.txt
new file mode 100644
index 0000000..ab790b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01117/01117-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S1, C
+absolute: 0.0001
+relative: 0.0001
+amount: S1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01118/01118-results.csv b/models/sbml-test-suite/cases/semantic/01118/01118-results.csv
new file mode 100644
index 0000000..cbae3df
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01118/01118-results.csv
@@ -0,0 +1,12 @@
+time,S1,C
+0,1,1
+0.1,1,1.1
+0.2,1,1.2
+0.3,1,1.3
+0.4,1,1.4
+0.5,1,1.5
+0.6,1,1.6
+0.7,1,1.7
+0.8,1,1.8
+0.9,1,1.9
+1,1,2
diff --git a/models/sbml-test-suite/cases/semantic/01118/01118-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01118/01118-sbml-l1v2.xml
new file mode 100644
index 0000000..75c856a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01118/01118-sbml-l1v2.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case_01118">
+    <listOfCompartments>
+      <compartment name="C" volume="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="C" initialAmount="1" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfRules>
+      <compartmentVolumeRule formula="1" type="rate" compartment="C"/>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01118/01118-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01118/01118-sbml-l2v4.xml
new file mode 100644
index 0000000..7bf72d2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01118/01118-sbml-l2v4.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case_01118" name="case_01118">
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialConcentration="1" boundaryCondition="true" constant="true"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01118/01118-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01118/01118-sbml-l3v1.xml
new file mode 100644
index 0000000..b05a065
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01118/01118-sbml-l3v1.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-02-14 10:15 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case_01118" name="case_01118">
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="true"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule variable="C">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01118/01118-settings.txt b/models/sbml-test-suite/cases/semantic/01118/01118-settings.txt
new file mode 100644
index 0000000..ab790b3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01118/01118-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S1, C
+absolute: 0.0001
+relative: 0.0001
+amount: S1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01119/01119-results.csv b/models/sbml-test-suite/cases/semantic/01119/01119-results.csv
new file mode 100644
index 0000000..46a962d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01119/01119-results.csv
@@ -0,0 +1,12 @@
+time,e1,e2
+0,0,0
+1,0,0
+2,0,0
+3,0,0
+4,0,0
+5,2,3
+6,2,3
+7,2,3
+8,2,3
+9,2,3
+10,2,3
diff --git a/models/sbml-test-suite/cases/semantic/01119/01119-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01119/01119-sbml-l3v1.xml
new file mode 100644
index 0000000..8da0028
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01119/01119-sbml-l3v1.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-02-24 12:04 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case_01119" name="case_01119">
+    <listOfParameters>
+      <parameter id="e1" value="0" constant="false"/>
+      <parameter id="e2" value="0" constant="false"/>
+    </listOfParameters>
+    <listOfEvents>
+      <event id="E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="e1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 3 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="E2" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 5 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="e1">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="E3" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 4 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="e2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 3 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+      <event id="E4" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.5 </cn>
+          </math>
+        </delay>
+        <priority>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 9 </cn>
+          </math>
+        </priority>
+        <listOfEventAssignments>
+          <eventAssignment variable="e2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 2 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01119/01119-settings.txt b/models/sbml-test-suite/cases/semantic/01119/01119-settings.txt
new file mode 100644
index 0000000..92820ed
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01119/01119-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 10
+steps: 10
+variables: e1, e2
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01120/01120-results.csv b/models/sbml-test-suite/cases/semantic/01120/01120-results.csv
new file mode 100644
index 0000000..b92fd57
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01120/01120-results.csv
@@ -0,0 +1,22 @@
+time,comp,S3
+0,5,2
+0.1,5.1,2
+0.2,5.2,2
+0.3,5.3,2
+0.4,5.4,2
+0.5,5.5,2
+0.6,5.6,2
+0.7,5.7,2
+0.8,5.8,2
+0.9,5.9,2
+1,6,2
+1.1,6.1,4
+1.2,6.2,4
+1.3,6.3,4
+1.4,6.4,4
+1.5,6.5,4
+1.6,6.6,4
+1.7,6.7,4
+1.8,6.8,4
+1.9,6.9,4
+2,7,4
diff --git a/models/sbml-test-suite/cases/semantic/01120/01120-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01120/01120-sbml-l3v1.xml
new file mode 100644
index 0000000..6170151
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01120/01120-sbml-l3v1.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-03-16 14:38 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case_01120" name="case_01120">
+    <listOfCompartments>
+      <compartment id="comp" spatialDimensions="3" size="5" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S3" compartment="comp" initialAmount="2" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule variable="comp">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfEvents>
+      <event id="E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="false" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <leq/>
+              <ci> comp </ci>
+              <cn> 5.1 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <delay>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 1.05 </cn>
+          </math>
+        </delay>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 4 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01120/01120-settings.txt b/models/sbml-test-suite/cases/semantic/01120/01120-settings.txt
new file mode 100644
index 0000000..827d4c8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01120/01120-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 2
+steps: 20
+variables: comp, S3
+absolute: 0.0001
+relative: 0.0001
+amount: S3
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01121/01121-results.csv b/models/sbml-test-suite/cases/semantic/01121/01121-results.csv
new file mode 100644
index 0000000..6ab13a0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01121/01121-results.csv
@@ -0,0 +1,307 @@
+time, S1, S2, S3, S4, k1, k2, k3, k4, k5, kavo, comp, comp2
+0,1,3,4,2,1.1,8.12,2.5,1,2.8,1.000023545,5,1
+0.009836066,0.743383395,3.044697171,4,2,1.1,8.12,2.5,1.000048368,2.8,1.000023545,5.009836066,1.000048368
+0.019672131,0.486914228,3.076159836,4,2,1.1,8.12,2.5,1.00019349,2.8,1.000023545,5.019672131,1.00019349
+0.029508197,0.230734918,3.094456689,4,2,1.1,8.12,2.5,1.000435361,2.8,1.000023545,5.029508197,1.000435361
+0.039344262,-0.025013301,3.099684124,4,2,1.1,8.12,2.5,1.000773979,2.8,1.000023545,5.039344262,1.000773979
+0.049180328,-0.280190768,3.091966435,4,2,1.1,8.12,2.5,1.001209346,2.8,1.000023545,5.049180328,1.001209346
+0.059016393,-0.53465976,3.071455026,4,2,1.1,8.12,2.5,1.001741461,2.8,1.000023545,5.059016393,1.001741461
+0.068852459,-0.788284861,3.03832748,4,2,1.1,8.12,2.5,1.002370324,2.8,1.000023545,5.068852459,1.002370324
+0.078688525,-1.040933304,2.992786501,4,2,1.1,8.12,2.5,1.003095936,2.8,1.000023545,5.078688525,1.003095936
+0.08852459,-1.2924753,2.935058737,4,2,1.1,8.12,2.5,1.003918295,2.8,1.000023545,5.08852459,1.003918295
+0.098360656,-1.542784356,2.865393496,4,2,1.1,8.12,2.5,1.004837403,2.8,1.000023545,5.098360656,1.004837403
+0.108196721,-1.791737563,2.784061368,4,2,1.1,8.12,2.5,1.005853259,2.8,1.000023545,5.108196721,1.005853259
+0.118032787,-2.039215871,2.691352763,4,2,1.1,8.12,2.5,1.006965863,2.8,1.000023545,5.118032787,1.006965863
+0.127868852,-2.285104345,2.58757638,4,2,1.1,8.12,2.5,1.008175216,2.8,1.000023545,5.127868852,1.008175216
+0.137704918,-2.529292388,2.47305762,4,2,1.1,8.12,2.5,1.009481316,2.8,1.000023545,5.137704918,1.009481316
+0.147540984,-2.771673951,2.348136956,4,2,1.1,8.12,2.5,1.010884165,2.8,1.000023545,5.147540984,1.010884165
+0.157377049,-3.012147719,2.213168273,4,2,1.1,8.12,2.5,1.012383762,2.8,1.000023545,5.157377049,1.012383762
+0.167213115,-3.250617265,2.06851719,4,2,1.1,8.12,2.5,1.013980107,2.8,1.000023545,5.167213115,1.013980107
+0.17704918,-3.486991191,1.914559375,4,2,1.1,8.12,2.5,1.0156732,2.8,1.000023545,5.17704918,1.0156732
+0.186885246,-3.721183234,1.751678878,4,2,1.1,8.12,2.5,1.017463041,2.8,1.000023545,5.186885246,1.017463041
+0.196721311,-3.953112363,1.580266468,4,2,1.1,8.12,2.5,1.019349631,2.8,1.000023545,5.196721311,1.019349631
+0.206557377,-4.182702834,1.400718011,4,2,1.1,8.12,2.5,1.021332969,2.8,1.000023545,5.206557377,1.021332969
+0.216393443,-4.409884242,1.213432884,4,2,1.1,8.12,2.5,1.023413055,2.8,1.000023545,5.216393443,1.023413055
+0.226229508,-4.634591536,1.018812434,4,2,1.1,8.12,2.5,1.025589889,2.8,1.000023545,5.226229508,1.025589889
+0.236065574,-4.85676502,0.817258501,4,2,1.1,8.12,2.5,1.027863471,2.8,1.000023545,5.236065574,1.027863471
+0.245901639,-5.076350335,0.609172,4,2,1.1,8.12,2.5,1.030233802,2.8,1.000023545,5.245901639,1.030233802
+0.255737705,-5.293298415,0.394951573,4,2,1.1,8.12,2.5,1.032700881,2.8,1.000023545,5.255737705,1.032700881
+0.26557377,-5.507565434,0.17499232,4,2,1.1,8.12,2.5,1.035264708,2.8,1.000023545,5.26557377,1.035264708
+0.275409836,-5.719112728,-0.050315396,4,2,1.1,8.12,2.5,1.037925283,2.8,1.000023545,5.275409836,1.037925283
+0.285245902,-5.927906706,-0.280587052,4,2,1.1,8.12,2.5,1.040682606,2.8,1.000023545,5.285245902,1.040682606
+0.295081967,-6.133918745,-0.515444995,4,2,1.1,8.12,2.5,1.043536678,2.8,1.000023545,5.295081967,1.043536678
+0.304918033,-6.337125071,-0.754519371,4,2,1.1,8.12,2.5,1.046487497,2.8,1.000023545,5.304918033,1.046487497
+0.314754098,-6.537506634,-0.997448979,4,2,1.1,8.12,2.5,1.049535065,2.8,1.000023545,5.314754098,1.049535065
+0.324590164,-6.735048959,-1.243882027,4,2,1.1,8.12,2.5,1.052679381,2.8,1.000023545,5.324590164,1.052679381
+0.33442623,-6.929742006,-1.493476809,4,2,1.1,8.12,2.5,1.055920445,2.8,1.000023545,5.33442623,1.055920445
+0.344262295,-7.121580003,-1.745902292,4,2,1.1,8.12,2.5,1.059258258,2.8,1.000023545,5.344262295,1.059258258
+0.354098361,-7.31056129,-2.000838619,4,2,1.1,8.12,2.5,1.062692818,2.8,1.000023545,5.354098361,1.062692818
+0.363934426,-7.496688142,-2.257977537,4,2,1.1,8.12,2.5,1.066224127,2.8,1.000023545,5.363934426,1.066224127
+0.373770492,-7.679966597,-2.517022739,4,2,1.1,8.12,2.5,1.069852184,2.8,1.000023545,5.373770492,1.069852184
+0.383606557,-7.860406277,-2.777690138,4,2,1.1,8.12,2.5,1.073576989,2.8,1.000023545,5.383606557,1.073576989
+0.393442623,-8.038020211,-3.039708063,4,2,1.1,8.12,2.5,1.077398543,2.8,1.000023545,5.393442623,1.077398543
+0.403278689,-8.212824646,-3.302817399,4,2,1.1,8.12,2.5,1.081316844,2.8,1.000023545,5.403278689,1.081316844
+0.413114754,-8.384838871,-3.566771651,4,2,1.1,8.12,2.5,1.085331894,2.8,1.000023545,5.413114754,1.085331894
+0.42295082,-8.554085033,-3.831336959,4,2,1.1,8.12,2.5,1.089443692,2.8,1.000023545,5.42295082,1.089443692
+0.432786885,-8.720587953,-4.096292056,4,2,1.1,8.12,2.5,1.093652238,2.8,1.000023545,5.432786885,1.093652238
+0.442622951,-8.884374952,-4.361428171,4,2,1.1,8.12,2.5,1.097957532,2.8,1.000023545,5.442622951,1.097957532
+0.452459016,-9.045475672,-4.626548896,4,2,1.1,8.12,2.5,1.102359575,2.8,1.000023545,5.452459016,1.102359575
+0.462295082,-9.203921903,-4.891470002,4,2,1.1,8.12,2.5,1.106858365,2.8,1.000023545,5.462295082,1.106858365
+0.472131148,-9.359747413,-5.156019227,4,2,1.1,8.12,2.5,1.111453904,2.8,1.000023545,5.472131148,1.111453904
+0.481967213,-9.512987784,-5.420036022,4,2,1.1,8.12,2.5,1.116146191,2.8,1.000023545,5.481967213,1.116146191
+0.491803279,-9.663680248,-5.683371272,4,2,1.1,8.12,2.5,1.120935226,2.8,1.000023545,5.491803279,1.120935226
+0.501639344,-9.811863537,-5.945886999,4,2,1.1,8.12,2.5,1.12582101,2.8,1.000023545,5.501639344,1.12582101
+0.51147541,-9.957577725,-6.207456027,4,2,1.1,8.12,2.5,1.130803541,2.8,1.000023545,5.51147541,1.130803541
+0.521311475,-10.10086409,-6.467961647,4,2,1.1,8.12,2.5,1.135882821,2.8,1.000023545,5.521311475,1.135882821
+0.531147541,-10.24176496,-6.727297254,4,2,1.1,8.12,2.5,1.141058849,2.8,1.000023545,5.531147541,1.141058849
+0.540983607,-10.3803236,-6.985365979,4,2,1.1,8.12,2.5,1.146331625,2.8,1.000023545,5.540983607,1.146331625
+0.550819672,-10.51658408,-7.242080311,4,2,1.1,8.12,2.5,1.151701149,2.8,1.000023545,5.550819672,1.151701149
+0.560655738,-10.65059112,-7.497361711,4,2,1.1,8.12,2.5,1.157167422,2.8,1.000023545,5.560655738,1.157167422
+0.570491803,-10.78239003,-7.751140224,4,2,1.1,8.12,2.5,1.162730443,2.8,1.000023545,5.570491803,1.162730443
+0.580327869,-10.91202655,-8.003354087,4,2,1.1,8.12,2.5,1.168390212,2.8,1.000023545,5.580327869,1.168390212
+0.590163934,-11.03954678,-8.253949344,4,2,1.1,8.12,2.5,1.174146729,2.8,1.000023545,5.590163934,1.174146729
+0.6,-11.16499705,-8.502879453,4,2,1.1,8.12,2.5,1.179999994,2.8,1.000023545,5.6,1.179999994
+0.609836066,-11.28842385,-8.750104907,4,2,1.1,8.12,2.5,1.185950007,2.8,1.000023545,5.609836066,1.185950007
+0.619672131,-11.40987375,-8.995592853,4,2,1.1,8.12,2.5,1.191996769,2.8,1.000023545,5.619672131,1.191996769
+0.629508197,-11.5293933,-9.239316722,4,2,1.1,8.12,2.5,1.198140279,2.8,1.000023545,5.629508197,1.198140279
+0.639344262,-11.64702895,-9.481255866,4,2,1.1,8.12,2.5,1.204380537,2.8,1.000023545,5.639344262,1.204380537
+0.649180328,-11.76282701,-9.7213952,4,2,1.1,8.12,2.5,1.210717543,2.8,1.000023545,5.649180328,1.210717543
+0.659016393,-11.87683354,-9.959724861,4,2,1.1,8.12,2.5,1.217151297,2.8,1.000023545,5.659016393,1.217151297
+0.668852459,-11.98909434,-10.19623987,4,2,1.1,8.12,2.5,1.2236818,2.8,1.000023545,5.668852459,1.2236818
+0.678688525,-12.09965484,-10.43093981,4,2,1.1,8.12,2.5,1.230309051,2.8,1.000023545,5.678688525,1.230309051
+0.68852459,-12.2085601,-10.6638285,4,2,1.1,8.12,2.5,1.237033049,2.8,1.000023545,5.68852459,1.237033049
+0.698360656,-12.31585472,-10.89491372,4,2,1.1,8.12,2.5,1.243853797,2.8,1.000023545,5.698360656,1.243853797
+0.708196721,-12.42158285,-11.12420689,4,2,1.1,8.12,2.5,1.250771292,2.8,1.000023545,5.708196721,1.250771292
+0.718032787,-12.52578807,-11.35172283,4,2,1.1,8.12,2.5,1.257785535,2.8,1.000023545,5.718032787,1.257785535
+0.727868852,-12.62851345,-11.57747944,4,2,1.1,8.12,2.5,1.264896527,2.8,1.000023545,5.727868852,1.264896527
+0.737704918,-12.72980144,-11.80149751,4,2,1.1,8.12,2.5,1.272104267,2.8,1.000023545,5.737704918,1.272104267
+0.747540984,-12.82969389,-12.02380041,4,2,1.1,8.12,2.5,1.279408755,2.8,1.000023545,5.747540984,1.279408755
+0.757377049,-12.92823201,-12.24441392,4,2,1.1,8.12,2.5,1.286809991,2.8,1.000023545,5.757377049,1.286809991
+0.767213115,-13.02545635,-12.46336597,4,2,1.1,8.12,2.5,1.294307976,2.8,1.000023545,5.767213115,1.294307976
+0.77704918,-13.12140675,-12.68068647,4,2,1.1,8.12,2.5,1.301902708,2.8,1.000023545,5.77704918,1.301902708
+0.786885246,-13.21612241,-12.89640707,4,2,1.1,8.12,2.5,1.309594189,2.8,1.000023545,5.786885246,1.309594189
+0.796721311,-13.30964176,-13.11056101,4,2,1.1,8.12,2.5,1.317382418,2.8,1.000023545,5.796721311,1.317382418
+0.806557377,-13.40200256,-13.32318292,4,2,1.1,8.12,2.5,1.325267395,2.8,1.000023545,5.806557377,1.325267395
+0.816393443,-13.49324181,-13.53430868,4,2,1.1,8.12,2.5,1.33324912,2.8,1.000023545,5.816393443,1.33324912
+0.826229508,-13.58339578,-13.74397524,4,2,1.1,8.12,2.5,1.341327594,2.8,1.000023545,5.826229508,1.341327594
+0.836065574,-13.67250001,-13.95222052,4,2,1.1,8.12,2.5,1.349502816,2.8,1.000023545,5.836065574,1.349502816
+0.845901639,-13.76058928,-14.15908319,4,2,1.1,8.12,2.5,1.357774786,2.8,1.000023545,5.845901639,1.357774786
+0.855737705,-13.84769763,-14.36460266,4,2,1.1,8.12,2.5,1.366143504,2.8,1.000023545,5.855737705,1.366143504
+0.86557377,-13.93385837,-14.56881884,4,2,1.1,8.12,2.5,1.37460897,2.8,1.000023545,5.86557377,1.37460897
+0.875409836,-14.01910405,-14.77177213,4,2,1.1,8.12,2.5,1.383171184,2.8,1.000023545,5.875409836,1.383171184
+0.885245902,-14.10346648,-14.97350325,4,2,1.1,8.12,2.5,1.391830147,2.8,1.000023545,5.885245902,1.391830147
+0.895081967,-14.18697673,-15.17405319,4,2,1.1,8.12,2.5,1.400585858,2.8,1.000023545,5.895081967,1.400585858
+0.904918033,-14.26966516,-15.37346309,4,2,1.1,8.12,2.5,1.409438317,2.8,1.000023545,5.904918033,1.409438317
+0.914754098,-14.35156138,-15.57177417,4,2,1.1,8.12,2.5,1.418387524,2.8,1.000023545,5.914754098,1.418387524
+0.924590164,-14.43269429,-15.76902769,4,2,1.1,8.12,2.5,1.427433479,2.8,1.000023545,5.924590164,1.427433479
+0.93442623,-14.51309209,-15.9652648,4,2,1.1,8.12,2.5,1.436576183,2.8,1.000023545,5.93442623,1.436576183
+0.944262295,-14.59278226,-16.16052656,4,2,1.1,8.12,2.5,1.445815635,2.8,1.000023545,5.944262295,1.445815635
+0.954098361,-14.6717916,-16.35485385,4,2,1.1,8.12,2.5,1.455151835,2.8,1.000023545,5.954098361,1.455151835
+0.963934426,-14.75014622,-16.5482873,4,2,1.1,8.12,2.5,1.464584783,2.8,1.000023545,5.963934426,1.464584783
+0.973770492,-14.82787156,-16.74086726,4,2,1.1,8.12,2.5,1.474114479,2.8,1.000023545,5.973770492,1.474114479
+0.983606557,-14.90499238,-16.93263376,4,2,1.1,8.12,2.5,1.483740924,2.8,1.000023545,5.983606557,1.483740924
+0.993442623,-14.98153283,-17.12362648,4,2,1.1,8.12,2.5,1.493464116,2.8,1.000023545,5.993442623,1.493464116
+1.003278689,-15.05751637,-17.31388467,4,2,1.1,8.12,2.5,1.503284057,2.8,1.000023545,6.003278689,1.503284057
+1.013114754,-15.13296587,-17.50344718,4,2,1.1,8.12,2.5,1.513200746,2.8,1.000023545,6.013114754,1.513200746
+1.02295082,-15.20790355,-17.6923524,4,2,1.1,8.12,2.5,1.523214184,2.8,1.000023545,6.02295082,1.523214184
+1.032786885,-15.28235105,-17.88063821,4,2,1.1,8.12,2.5,1.533324369,2.8,1.000023545,6.032786885,1.533324369
+1.042622951,-15.35632942,-18.06834201,4,2,1.1,8.12,2.5,1.543531303,2.8,1.000023545,6.042622951,1.543531303
+1.052459016,-15.4298591,-18.25550068,4,2,1.1,8.12,2.5,1.553834984,2.8,1.000023545,6.052459016,1.553834984
+1.062295082,-15.50295998,-18.44215054,4,2,1.1,8.12,2.5,1.564235414,2.8,1.000023545,6.062295082,1.564235414
+1.072131148,-15.5756514,-18.62832738,4,2,1.1,8.12,2.5,1.574732593,2.8,1.000023545,6.072131148,1.574732593
+1.081967213,-15.64795214,-18.81406641,4,2,1.1,8.12,2.5,1.585326519,2.8,1.000023545,6.081967213,1.585326519
+1.091803279,-15.71988047,-18.99940227,4,2,1.1,8.12,2.5,1.596017193,2.8,1.000023545,6.091803279,1.596017193
+1.101639344,-15.79145411,-19.18436903,4,2,1.1,8.12,2.5,1.606804616,2.8,1.000023545,6.101639344,1.606804616
+1.11147541,-15.8626903,-19.36900016,4,2,1.1,8.12,2.5,1.617688787,2.8,1.000023545,6.11147541,1.617688787
+1.121311475,-15.93360577,-19.55332853,4,2,1.1,8.12,2.5,1.628669706,2.8,1.000023545,6.121311475,1.628669706
+1.131147541,-16.00421677,-19.73738645,4,2,1.1,8.12,2.5,1.639747374,2.8,1.000023545,6.131147541,1.639747374
+1.140983607,-16.07453908,-19.9212056,4,2,1.1,8.12,2.5,1.650921789,2.8,1.000023545,6.140983607,1.650921789
+1.150819672,-16.14458803,-20.10481709,4,2,1.1,8.12,2.5,1.662192953,2.8,1.000023545,6.150819672,1.662192953
+1.160655738,-16.21437848,-20.28825141,4,2,1.1,8.12,2.5,1.673560865,2.8,1.000023545,6.160655738,1.673560865
+1.170491803,-16.28392488,-20.47153849,4,2,1.1,8.12,2.5,1.685025525,2.8,1.000023545,6.170491803,1.685025525
+1.180327869,-16.35324122,-20.65470764,4,2,1.1,8.12,2.5,1.696586933,2.8,1.000023545,6.180327869,1.696586933
+1.190163934,-16.42234111,-20.83778762,4,2,1.1,8.12,2.5,1.708245089,2.8,1.000023545,6.190163934,1.708245089
+1.2,-16.49123775,-21.02080658,4,2,1.1,8.12,2.5,1.719999994,2.8,1.000023545,6.2,1.719999994
+1.209836066,-16.55994393,-21.20379211,4,2,1.1,8.12,2.5,1.731851647,2.8,1.000023545,6.209836066,1.731851647
+1.219672131,-16.62847207,-21.38677123,4,2,1.1,8.12,2.5,1.743800048,2.8,1.000023545,6.219672131,1.743800048
+1.229508197,-16.69683423,-21.56977041,4,2,1.1,8.12,2.5,1.755845197,2.8,1.000023545,6.229508197,1.755845197
+1.239344262,-16.76504208,-21.75281554,4,2,1.1,8.12,2.5,1.767987094,2.8,1.000023545,6.239344262,1.767987094
+1.249180328,-16.83310697,-21.93593199,4,2,1.1,8.12,2.5,1.78022574,2.8,1.000023545,6.249180328,1.78022574
+1.259016393,-16.9010399,-22.11914457,4,2,1.1,8.12,2.5,1.792561133,2.8,1.000023545,6.259016393,1.792561133
+1.268852459,-16.96885152,-22.30247758,4,2,1.1,8.12,2.5,1.804993275,2.8,1.000023545,6.268852459,1.804993275
+1.278688525,-17.03655217,-22.48595479,4,2,1.1,8.12,2.5,1.817522165,2.8,1.000023545,6.278688525,1.817522165
+1.28852459,-17.10415189,-22.66959945,4,2,1.1,8.12,2.5,1.830147804,2.8,1.000023545,6.28852459,1.830147804
+1.298360656,-17.17166039,-22.85343433,4,2,1.1,8.12,2.5,1.84287019,2.8,1.000023545,6.298360656,1.84287019
+1.308196721,-17.23908711,-23.03748167,4,2,1.1,8.12,2.5,1.855689325,2.8,1.000023545,6.308196721,1.855689325
+1.318032787,-17.30644118,-23.22176326,4,2,1.1,8.12,2.5,1.868605207,2.8,1.000023545,6.318032787,1.868605207
+1.327868852,-17.37373147,-23.40630039,4,2,1.1,8.12,2.5,1.881617838,2.8,1.000023545,6.327868852,1.881617838
+1.337704918,-17.44096657,-23.5911139,4,2,1.1,8.12,2.5,1.894727218,2.8,1.000023545,6.337704918,1.894727218
+1.347540984,-17.5081548,-23.77622416,4,2,1.1,8.12,2.5,1.907933345,2.8,1.000023545,6.347540984,1.907933345
+1.357377049,-17.57530425,-23.96165112,4,2,1.1,8.12,2.5,1.921236221,2.8,1.000023545,6.357377049,1.921236221
+1.367213115,-17.64242273,-24.14741426,4,2,1.1,8.12,2.5,1.934635844,2.8,1.000023545,6.367213115,1.934635844
+1.37704918,-17.70951784,-24.33353266,4,2,1.1,8.12,2.5,1.948132216,2.8,1.000023545,6.37704918,1.948132216
+1.386885246,-17.77659692,-24.52002496,4,2,1.1,8.12,2.5,1.961725336,2.8,1.000023545,6.386885246,1.961725336
+1.396721311,-17.84366711,-24.70690941,4,2,1.1,8.12,2.5,1.975415205,2.8,1.000023545,6.396721311,1.975415205
+1.406557377,-17.91073532,-24.89420384,4,2,1.1,8.12,2.5,1.989201821,2.8,1.000023545,6.406557377,1.989201821
+1.416393443,-17.97780823,-25.08192573,4,2,1.1,8.12,2.5,2.003085186,2.8,1.000023545,6.416393443,2.003085186
+1.426229508,-18.04489235,-25.27009214,4,2,1.1,8.12,2.5,2.017065299,2.8,1.000023545,6.426229508,2.017065299
+1.436065574,-18.11199395,-25.45871977,4,2,1.1,8.12,2.5,2.03114216,2.8,1.000023545,6.436065574,2.03114216
+1.445901639,-18.17911914,-25.64782498,4,2,1.1,8.12,2.5,2.045315769,2.8,1.000023545,6.445901639,2.045315769
+1.455737705,-18.24627382,-25.83742375,4,2,1.1,8.12,2.5,2.059586127,2.8,1.000023545,6.455737705,2.059586127
+1.46557377,-18.31346373,-26.02753173,4,2,1.1,8.12,2.5,2.073953232,2.8,1.000023545,6.46557377,2.073953232
+1.475409836,-18.3806944,-26.21816423,4,2,1.1,8.12,2.5,2.088417086,2.8,1.000023545,6.475409836,2.088417086
+1.485245902,-18.44797122,-26.40933625,4,2,1.1,8.12,2.5,2.102977688,2.8,1.000023545,6.485245902,2.102977688
+1.495081967,-18.51529941,-26.60106244,4,2,1.1,8.12,2.5,2.117635038,2.8,1.000023545,6.495081967,2.117635038
+1.504918033,-18.582684,-26.79335718,4,2,1.1,8.12,2.5,2.132389137,2.8,1.000023545,6.504918033,2.132389137
+1.514754098,-18.6501299,-26.98623451,4,2,1.1,8.12,2.5,2.147239983,2.8,1.000023545,6.514754098,2.147239983
+1.524590164,-18.71764185,-27.17970821,4,2,1.1,8.12,2.5,2.162187578,2.8,1.000023545,6.524590164,2.162187578
+1.53442623,-18.78522445,-27.37379175,4,2,1.1,8.12,2.5,2.177231921,2.8,1.000023545,6.53442623,2.177231921
+1.544262295,-18.85288215,-27.56849834,4,2,1.1,8.12,2.5,2.192373012,2.8,1.000023545,6.544262295,2.192373012
+1.554098361,-18.92061928,-27.76384092,4,2,1.1,8.12,2.5,2.207610851,2.8,1.000023545,6.554098361,2.207610851
+1.563934426,-18.98844002,-27.95983214,4,2,1.1,8.12,2.5,2.222945439,2.8,1.000023545,6.563934426,2.222945439
+1.573770492,-19.05634842,-28.15648444,4,2,1.1,8.12,2.5,2.238376774,2.8,1.000023545,6.573770492,2.238376774
+1.583606557,-19.12434843,-28.35380997,4,2,1.1,8.12,2.5,2.253904858,2.8,1.000023545,6.583606557,2.253904858
+1.593442623,-19.19244384,-28.55182066,4,2,1.1,8.12,2.5,2.26952969,2.8,1.000023545,6.593442623,2.26952969
+1.603278689,-19.26063835,-28.75052821,4,2,1.1,8.12,2.5,2.28525127,2.8,1.000023545,6.603278689,2.28525127
+1.613114754,-19.32893555,-28.94994407,4,2,1.1,8.12,2.5,2.301069599,2.8,1.000023545,6.613114754,2.301069599
+1.62295082,-19.3973389,-29.15007949,4,2,1.1,8.12,2.5,2.316984675,2.8,1.000023545,6.62295082,2.316984675
+1.632786885,-19.46585176,-29.35094551,4,2,1.1,8.12,2.5,2.3329965,2.8,1.000023545,6.632786885,2.3329965
+1.642622951,-19.53447739,-29.55255293,4,2,1.1,8.12,2.5,2.349105073,2.8,1.000023545,6.642622951,2.349105073
+1.652459016,-19.60321896,-29.75491238,4,2,1.1,8.12,2.5,2.365310394,2.8,1.000023545,6.652459016,2.365310394
+1.662295082,-19.67207953,-29.95803428,4,2,1.1,8.12,2.5,2.381612464,2.8,1.000023545,6.662295082,2.381612464
+1.672131148,-19.74106207,-30.16192885,4,2,1.1,8.12,2.5,2.398011281,2.8,1.000023545,6.672131148,2.398011281
+1.681967213,-19.81016945,-30.36660615,4,2,1.1,8.12,2.5,2.414506847,2.8,1.000023545,6.681967213,2.414506847
+1.691803279,-19.87940447,-30.57207604,4,2,1.1,8.12,2.5,2.431099161,2.8,1.000023545,6.691803279,2.431099161
+1.701639344,-19.94876983,-30.7783482,4,2,1.1,8.12,2.5,2.447788223,2.8,1.000023545,6.701639344,2.447788223
+1.71147541,-20.01826816,-30.98543216,4,2,1.1,8.12,2.5,2.464574033,2.8,1.000023545,6.71147541,2.464574033
+1.721311475,-20.08790199,-31.19333728,4,2,1.1,8.12,2.5,2.481456592,2.8,1.000023545,6.721311475,2.481456592
+1.731147541,-20.15767381,-31.40207275,4,2,1.1,8.12,2.5,2.498435898,2.8,1.000023545,6.731147541,2.498435898
+1.740983607,-20.22758598,-31.61164762,4,2,1.1,8.12,2.5,2.515511953,2.8,1.000023545,6.740983607,2.515511953
+1.750819672,-20.29764085,-31.82207078,4,2,1.1,8.12,2.5,2.532684756,2.8,1.000023545,6.750819672,2.532684756
+1.760655738,-20.36784065,-32.03335098,4,2,1.1,8.12,2.5,2.549954307,2.8,1.000023545,6.760655738,2.549954307
+1.770491803,-20.43818757,-32.24549684,4,2,1.1,8.12,2.5,2.567320607,2.8,1.000023545,6.770491803,2.567320607
+1.780327869,-20.50868372,-32.45851681,4,2,1.1,8.12,2.5,2.584783654,2.8,1.000023545,6.780327869,2.584783654
+1.790163934,-20.57933115,-32.67241925,4,2,1.1,8.12,2.5,2.60234345,2.8,1.000023545,6.790163934,2.60234345
+1.8,-20.65013185,-32.88721237,4,2,1.1,8.12,2.5,2.619999994,2.8,1.000023545,6.8,2.619999994
+1.809836066,-20.72108777,-33.10290425,4,2,1.1,8.12,2.5,2.637753286,2.8,1.000023545,6.809836066,2.637753286
+1.819672131,-20.79220076,-33.31950286,4,2,1.1,8.12,2.5,2.655603326,2.8,1.000023545,6.819672131,2.655603326
+1.829508197,-20.86347264,-33.53701606,4,2,1.1,8.12,2.5,2.673550115,2.8,1.000023545,6.829508197,2.673550115
+1.839344262,-20.93490519,-33.75545158,4,2,1.1,8.12,2.5,2.691593651,2.8,1.000023545,6.839344262,2.691593651
+1.849180328,-21.0065001,-33.97481707,4,2,1.1,8.12,2.5,2.709733936,2.8,1.000023545,6.849180328,2.709733936
+1.859016393,-21.07825905,-34.19512003,4,2,1.1,8.12,2.5,2.727970969,2.8,1.000023545,6.859016393,2.727970969
+1.868852459,-21.15018363,-34.4163679,4,2,1.1,8.12,2.5,2.746304751,2.8,1.000023545,6.868852459,2.746304751
+1.878688525,-21.22227543,-34.63856801,4,2,1.1,8.12,2.5,2.76473528,2.8,1.000023545,6.878688525,2.76473528
+1.88852459,-21.29453595,-34.86172757,4,2,1.1,8.12,2.5,2.783262558,2.8,1.000023545,6.88852459,2.783262558
+1.898360656,-21.36696667,-35.08585374,4,2,1.1,8.12,2.5,2.801886583,2.8,1.000023545,6.898360656,2.801886583
+1.908196721,-21.43956902,-35.31095355,4,2,1.1,8.12,2.5,2.820607357,2.8,1.000023545,6.908196721,2.820607357
+1.918032787,-21.51234439,-35.53703397,4,2,1.1,8.12,2.5,2.83942488,2.8,1.000023545,6.918032787,2.83942488
+1.927868852,-21.58529413,-35.76410188,4,2,1.1,8.12,2.5,2.85833915,2.8,1.000023545,6.927868852,2.85833915
+1.937704918,-21.65841955,-35.99216407,4,2,1.1,8.12,2.5,2.877350169,2.8,1.000023545,6.937704918,2.877350169
+1.947540984,-21.73172192,-36.22122726,4,2,1.1,8.12,2.5,2.896457935,2.8,1.000023545,6.947540984,2.896457935
+1.957377049,-21.80520249,-36.45129811,4,2,1.1,8.12,2.5,2.91566245,2.8,1.000023545,6.957377049,2.91566245
+1.967213115,-21.87886245,-36.68238317,4,2,1.1,8.12,2.5,2.934963713,2.8,1.000023545,6.967213115,2.934963713
+1.97704918,-21.95270297,-36.91448895,4,2,1.1,8.12,2.5,2.954361725,2.8,1.000023545,6.97704918,2.954361725
+1.986885246,-22.02672519,-37.14762189,4,2,1.1,8.12,2.5,2.973856484,2.8,1.000023545,6.986885246,2.973856484
+1.996721311,-22.1009302,-37.38178835,4,2,1.1,8.12,2.5,2.993447992,2.8,1.000023545,6.996721311,2.993447992
+2.006557377,-22.17531909,-37.61699463,4,2,1.1,8.12,2.5,3.013136248,2.8,1.000023545,7.006557377,3.013136248
+2.016393443,-22.24989289,-37.85324699,4,2,1.1,8.12,2.5,3.032921252,2.8,1.000023545,7.016393443,3.032921252
+2.026229508,-22.32465261,-38.0905516,4,2,1.1,8.12,2.5,3.052803004,2.8,1.000023545,7.026229508,3.052803004
+2.036065574,-22.39959926,-38.32891459,4,2,1.1,8.12,2.5,3.072781504,2.8,1.000023545,7.036065574,3.072781504
+2.045901639,-22.47473377,-38.56834205,4,2,1.1,8.12,2.5,3.092856753,2.8,1.000023545,7.045901639,3.092856753
+2.055737705,-22.5500571,-38.80883998,4,2,1.1,8.12,2.5,3.11302875,2.8,1.000023545,7.055737705,3.11302875
+2.06557377,-22.62557013,-39.05041436,4,2,1.1,8.12,2.5,3.133297494,2.8,1.000023545,7.06557377,3.133297494
+2.075409836,-22.70127377,-39.29307111,4,2,1.1,8.12,2.5,3.153662988,2.8,1.000023545,7.075409836,3.153662988
+2.085245902,-22.77716887,-39.53681611,4,2,1.1,8.12,2.5,3.174125229,2.8,1.000023545,7.085245902,3.174125229
+2.095081967,-22.85325626,-39.78165519,4,2,1.1,8.12,2.5,3.194684218,2.8,1.000023545,7.095081967,3.194684218
+2.104918033,-22.92953677,-40.02759412,4,2,1.1,8.12,2.5,3.215339956,2.8,1.000023545,7.104918033,3.215339956
+2.114754098,-23.00601119,-40.27463867,4,2,1.1,8.12,2.5,3.236092442,2.8,1.000023545,7.114754098,3.236092442
+2.124590164,-23.08268029,-40.52279452,4,2,1.1,8.12,2.5,3.256941676,2.8,1.000023545,7.124590164,3.256941676
+2.13442623,-23.15954482,-40.77206735,4,2,1.1,8.12,2.5,3.277887658,2.8,1.000023545,7.13442623,3.277887658
+2.144262295,-23.23660553,-41.02246279,4,2,1.1,8.12,2.5,3.298930389,2.8,1.000023545,7.144262295,3.298930389
+2.154098361,-23.31386313,-41.27398643,4,2,1.1,8.12,2.5,3.320069868,2.8,1.000023545,7.154098361,3.320069868
+2.163934426,-23.39131833,-41.52664382,4,2,1.1,8.12,2.5,3.341306094,2.8,1.000023545,7.163934426,3.341306094
+2.173770492,-23.46897179,-41.78044051,4,2,1.1,8.12,2.5,3.362639069,2.8,1.000023545,7.173770492,3.362639069
+2.183606557,-23.54682419,-42.03538197,4,2,1.1,8.12,2.5,3.384068793,2.8,1.000023545,7.183606557,3.384068793
+2.193442623,-23.62487618,-42.29147368,4,2,1.1,8.12,2.5,3.405595264,2.8,1.000023545,7.193442623,3.405595264
+2.203278689,-23.70312839,-42.54872107,4,2,1.1,8.12,2.5,3.427218483,2.8,1.000023545,7.203278689,3.427218483
+2.213114754,-23.78158144,-42.80712956,4,2,1.1,8.12,2.5,3.448938451,2.8,1.000023545,7.213114754,3.448938451
+2.22295082,-23.86023593,-43.06670453,4,2,1.1,8.12,2.5,3.470755167,2.8,1.000023545,7.22295082,3.470755167
+2.232786885,-23.93909247,-43.32745134,4,2,1.1,8.12,2.5,3.492668631,2.8,1.000023545,7.232786885,3.492668631
+2.242622951,-24.01815162,-43.58937531,4,2,1.1,8.12,2.5,3.514678844,2.8,1.000023545,7.242622951,3.514678844
+2.252459016,-24.09741394,-43.85248178,4,2,1.1,8.12,2.5,3.536785804,2.8,1.000023545,7.252459016,3.536785804
+2.262295082,-24.17688,-44.11677602,4,2,1.1,8.12,2.5,3.558989513,2.8,1.000023545,7.262295082,3.558989513
+2.272131148,-24.25655033,-44.38226331,4,2,1.1,8.12,2.5,3.58128997,2.8,1.000023545,7.272131148,3.58128997
+2.281967213,-24.33642546,-44.6489489,4,2,1.1,8.12,2.5,3.603687175,2.8,1.000023545,7.281967213,3.603687175
+2.291803279,-24.41650591,-44.91683802,4,2,1.1,8.12,2.5,3.626181128,2.8,1.000023545,7.291803279,3.626181128
+2.301639344,-24.49679218,-45.18593589,4,2,1.1,8.12,2.5,3.648771829,2.8,1.000023545,7.301639344,3.648771829
+2.31147541,-24.57728478,-45.45624772,4,2,1.1,8.12,2.5,3.671459279,2.8,1.000023545,7.31147541,3.671459279
+2.321311475,-24.65798418,-45.72777868,4,2,1.1,8.12,2.5,3.694243477,2.8,1.000023545,7.321311475,3.694243477
+2.331147541,-24.73889086,-46.00053394,4,2,1.1,8.12,2.5,3.717124423,2.8,1.000023545,7.331147541,3.717124423
+2.340983607,-24.82000529,-46.27451867,4,2,1.1,8.12,2.5,3.740102117,2.8,1.000023545,7.340983607,3.740102117
+2.350819672,-24.90132794,-46.54973799,4,2,1.1,8.12,2.5,3.763176559,2.8,1.000023545,7.350819672,3.763176559
+2.360655738,-24.98285924,-46.82619706,4,2,1.1,8.12,2.5,3.78634775,2.8,1.000023545,7.360655738,3.78634775
+2.370491803,-25.06459964,-47.10390098,4,2,1.1,8.12,2.5,3.809615689,2.8,1.000023545,7.370491803,3.809615689
+2.380327869,-25.14654958,-47.38285488,4,2,1.1,8.12,2.5,3.832980375,2.8,1.000023545,7.380327869,3.832980375
+2.390163934,-25.22870948,-47.66306384,4,2,1.1,8.12,2.5,3.856441811,2.8,1.000023545,7.390163934,3.856441811
+2.4,-25.31107976,-47.94453296,4,2,1.1,8.12,2.5,3.879999994,2.8,1.000023545,7.4,3.879999994
+2.409836066,-25.39366083,-48.22726732,4,2,1.1,8.12,2.5,3.903654925,2.8,1.000023545,7.409836066,3.903654925
+2.419672131,-25.4764531,-48.51127201,4,2,1.1,8.12,2.5,3.927406605,2.8,1.000023545,7.419672131,3.927406605
+2.429508197,-25.55945695,-48.79655209,4,2,1.1,8.12,2.5,3.951255033,2.8,1.000023545,7.429508197,3.951255033
+2.439344262,-25.6426728,-49.08311263,4,2,1.1,8.12,2.5,3.975200209,2.8,1.000023545,7.439344262,3.975200209
+2.449180328,-25.72610101,-49.37095869,4,2,1.1,8.12,2.5,3.999242133,2.8,1.000023545,7.449180328,3.999242133
+2.459016393,-25.80974198,-49.66009531,4,2,1.1,8.12,2.5,4.023380805,2.8,1.000023545,7.459016393,4.023380805
+2.468852459,-25.89359608,-49.95052756,4,2,1.1,8.12,2.5,4.047616226,2.8,1.000023545,7.468852459,4.047616226
+2.478688525,-25.97766367,-50.24226047,4,2,1.1,8.12,2.5,4.071948395,2.8,1.000023545,7.478688525,4.071948395
+2.48852459,-26.06194512,-50.5352991,4,2,1.1,8.12,2.5,4.096377312,2.8,1.000023545,7.48852459,4.096377312
+2.498360656,-26.14644079,-50.82964848,4,2,1.1,8.12,2.5,4.120902977,2.8,1.000023545,7.498360656,4.120902977
+2.508196721,-26.23115103,-51.12531365,4,2,1.1,8.12,2.5,4.14552539,2.8,1.000023545,7.508196721,4.14552539
+2.518032787,-26.3160762,-51.42229966,4,2,1.1,8.12,2.5,4.170244552,2.8,1.000023545,7.518032787,4.170244552
+2.527868852,-26.40121664,-51.72061154,4,2,1.1,8.12,2.5,4.195060461,2.8,1.000023545,7.527868852,4.195060461
+2.537704918,-26.48657269,-52.02025433,4,2,1.1,8.12,2.5,4.219973119,2.8,1.000023545,7.537704918,4.219973119
+2.547540984,-26.57214468,-52.32123307,4,2,1.1,8.12,2.5,4.244982525,2.8,1.000023545,7.547540984,4.244982525
+2.557377049,-26.65793297,-52.62355279,4,2,1.1,8.12,2.5,4.27008868,2.8,1.000023545,7.557377049,4.27008868
+2.567213115,-26.74393786,-52.92721855,4,2,1.1,8.12,2.5,4.295291582,2.8,1.000023545,7.567213115,4.295291582
+2.57704918,-26.8301597,-53.23223539,4,2,1.1,8.12,2.5,4.320591233,2.8,1.000023545,7.57704918,4.320591233
+2.586885246,-26.9165988,-53.53860834,4,2,1.1,8.12,2.5,4.345987632,2.8,1.000023545,7.586885246,4.345987632
+2.596721311,-27.00325549,-53.84634246,4,2,1.1,8.12,2.5,4.371480779,2.8,1.000023545,7.596721311,4.371480779
+2.606557377,-27.09013008,-54.1554428,4,2,1.1,8.12,2.5,4.397070674,2.8,1.000023545,7.606557377,4.397070674
+2.616393443,-27.1772229,-54.46591441,4,2,1.1,8.12,2.5,4.422757317,2.8,1.000023545,7.616393443,4.422757317
+2.626229508,-27.26453424,-54.77776235,4,2,1.1,8.12,2.5,4.448540709,2.8,1.000023545,7.626229508,4.448540709
+2.636065574,-27.35206442,-55.09099169,4,2,1.1,8.12,2.5,4.474420848,2.8,1.000023545,7.636065574,4.474420848
+2.645901639,-27.43981375,-55.4056075,4,2,1.1,8.12,2.5,4.500397736,2.8,1.000023545,7.645901639,4.500397736
+2.655737705,-27.52778254,-55.72161484,4,2,1.1,8.12,2.5,4.526471372,2.8,1.000023545,7.655737705,4.526471372
+2.66557377,-27.61597108,-56.0390188,4,2,1.1,8.12,2.5,4.552641757,2.8,1.000023545,7.66557377,4.552641757
+2.675409836,-27.70437968,-56.35782446,4,2,1.1,8.12,2.5,4.578908889,2.8,1.000023545,7.675409836,4.578908889
+2.685245902,-27.79300864,-56.67803692,4,2,1.1,8.12,2.5,4.60527277,2.8,1.000023545,7.685245902,4.60527277
+2.695081967,-27.88185825,-56.99966127,4,2,1.1,8.12,2.5,4.631733399,2.8,1.000023545,7.695081967,4.631733399
+2.704918033,-27.97092881,-57.32270261,4,2,1.1,8.12,2.5,4.658290776,2.8,1.000023545,7.704918033,4.658290776
+2.714754098,-28.06022061,-57.64716606,4,2,1.1,8.12,2.5,4.684944901,2.8,1.000023545,7.714754098,4.684944901
+2.724590164,-28.14973395,-57.97305674,4,2,1.1,8.12,2.5,4.711695775,2.8,1.000023545,7.724590164,4.711695775
+2.73442623,-28.23946912,-58.30037978,4,2,1.1,8.12,2.5,4.738543396,2.8,1.000023545,7.73442623,4.738543396
+2.744262295,-28.3294264,-58.62914031,4,2,1.1,8.12,2.5,4.765487766,2.8,1.000023545,7.744262295,4.765487766
+2.754098361,-28.41960609,-58.95934348,4,2,1.1,8.12,2.5,4.792528884,2.8,1.000023545,7.754098361,4.792528884
+2.763934426,-28.51000847,-59.29099443,4,2,1.1,8.12,2.5,4.81966675,2.8,1.000023545,7.763934426,4.81966675
+2.773770492,-28.60063383,-59.62409834,4,2,1.1,8.12,2.5,4.846901364,2.8,1.000023545,7.773770492,4.846901364
+2.783606557,-28.69148246,-59.95866038,4,2,1.1,8.12,2.5,4.874232727,2.8,1.000023545,7.783606557,4.874232727
+2.793442623,-28.78255464,-60.29468571,4,2,1.1,8.12,2.5,4.901660838,2.8,1.000023545,7.793442623,4.901660838
+2.803278689,-28.87385065,-60.63217955,4,2,1.1,8.12,2.5,4.929185697,2.8,1.000023545,7.803278689,4.929185697
+2.813114754,-28.96537077,-60.97114709,4,2,1.1,8.12,2.5,4.956807304,2.8,1.000023545,7.813114754,4.956807304
+2.82295082,-29.0571153,-61.31159354,4,2,1.1,8.12,2.5,4.984525659,2.8,1.000023545,7.82295082,4.984525659
+2.832786885,-29.1490845,-61.65352412,4,2,1.1,8.12,2.5,5.012340762,2.8,1.000023545,7.832786885,5.012340762
+2.842622951,-29.24127867,-61.99694406,4,2,1.1,8.12,2.5,5.040252614,2.8,1.000023545,7.842622951,5.040252614
+2.852459016,-29.33369808,-62.34185863,4,2,1.1,8.12,2.5,5.068261214,2.8,1.000023545,7.852459016,5.068261214
+2.862295082,-29.42634301,-62.68827305,4,2,1.1,8.12,2.5,5.096366562,2.8,1.000023545,7.862295082,5.096366562
+2.872131148,-29.51921375,-63.03619262,4,2,1.1,8.12,2.5,5.124568658,2.8,1.000023545,7.872131148,5.124568658
+2.881967213,-29.61231057,-63.3856226,4,2,1.1,8.12,2.5,5.152867503,2.8,1.000023545,7.881967213,5.152867503
+2.891803279,-29.70563375,-63.73656829,4,2,1.1,8.12,2.5,5.181263095,2.8,1.000023545,7.891803279,5.181263095
+2.901639344,-29.79918357,-64.08903499,4,2,1.1,8.12,2.5,5.209755436,2.8,1.000023545,7.901639344,5.209755436
+2.91147541,-29.89296031,-64.44302801,4,2,1.1,8.12,2.5,5.238344525,2.8,1.000023545,7.91147541,5.238344525
+2.921311475,-29.98696426,-64.7985527,4,2,1.1,8.12,2.5,5.267030362,2.8,1.000023545,7.921311475,5.267030362
+2.931147541,-30.08119568,-65.15561438,4,2,1.1,8.12,2.5,5.295812947,2.8,1.000023545,7.931147541,5.295812947
+2.940983607,-30.17565486,-65.51421841,4,2,1.1,8.12,2.5,5.324692281,2.8,1.000023545,7.940983607,5.324692281
+2.950819672,-30.27034208,-65.87437017,4,2,1.1,8.12,2.5,5.353668363,2.8,1.000023545,7.950819672,5.353668363
+2.960655738,-30.36525762,-66.23607502,4,2,1.1,8.12,2.5,5.382741192,2.8,1.000023545,7.960655738,5.382741192
+2.970491803,-30.46040175,-66.59933837,4,2,1.1,8.12,2.5,5.41191077,2.8,1.000023545,7.970491803,5.41191077
+2.980327869,-30.55577476,-66.96416563,4,2,1.1,8.12,2.5,5.441177097,2.8,1.000023545,7.980327869,5.441177097
+2.990163934,-30.65137692,-67.33056222,4,2,1.1,8.12,2.5,5.470540171,2.8,1.000023545,7.990163934,5.470540171
+3,-30.74720853,-67.69853357,4,2,1.1,8.12,2.5,5.499999994,2.8,1.000023545,8,5.499999994
diff --git a/models/sbml-test-suite/cases/semantic/01121/01121-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01121/01121-sbml-l3v1.xml
new file mode 100644
index 0000000..8150fc0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01121/01121-sbml-l3v1.xml
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-01-04 14:12 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model conversionFactor="conversion1" id="case01121" name="case01121">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="kinetics">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> a </ci>
+            </bvar>
+            <bvar>
+              <ci> b </ci>
+            </bvar>
+            <bvar>
+              <ci> c </ci>
+            </bvar>
+            <bvar>
+              <ci> d </ci>
+            </bvar>
+            <bvar>
+              <ci> e </ci>
+            </bvar>
+            <bvar>
+              <ci> f </ci>
+            </bvar>
+            <bvar>
+              <ci> g </ci>
+            </bvar>
+            <bvar>
+              <ci> h </ci>
+            </bvar>
+            <bvar>
+              <ci> i </ci>
+            </bvar>
+            <bvar>
+              <ci> j </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <plus/>
+                <apply>
+                  <minus/>
+                  <ci> a </ci>
+                </apply>
+                <ci> b </ci>
+                <ci> c </ci>
+                <ci> d </ci>
+                <ci> e </ci>
+                <ci> f </ci>
+                <ci> g </ci>
+                <ci> h </ci>
+                <ci> i </ci>
+                <ci> j </ci>
+              </apply>
+              <cn> 10 </cn>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment id="comp" spatialDimensions="3" size="5" constant="false"/>
+      <compartment id="comp2" spatialDimensions="3" size="2" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="comp" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="comp2" initialConcentration="3" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="comp2" initialAmount="4" hasOnlySubstanceUnits="true" boundaryCondition="true" constant="false"/>
+      <species id="S4" conversionFactor="conversion2" compartment="comp2" initialConcentration="2" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kavo" value="1.1"  constant="true"/>
+      <parameter id="k1" value="1.1"  constant="true"/>
+      <parameter id="k3" value="2.5"  constant="false"/>
+      <parameter id="k4" value="1"    constant="false"/>
+      <parameter id="k5" value="2.8"  constant="false"/>
+      <parameter id="k2" value="8.12" constant="true"/>
+      <parameter id="conversion1" value="10" constant="true"/>
+      <parameter id="conversion2" value="100" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="kavo">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> avogadro </csymbol>
+            <cn type="e-notation"> 6.022 <sep/> 23 </cn>
+          </apply>
+        </math>
+      </initialAssignment>
+      <initialAssignment symbol="S1ref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> k1 </ci>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfRules>
+      <rateRule variable="comp">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+      <assignmentRule variable="comp2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> k4 </ci>
+        </math>
+      </assignmentRule>
+      <rateRule variable="k4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+        </math>
+      </rateRule>
+      <assignmentRule variable="S2ref">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <ci> k1 </ci>
+            <ci> S1 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+          <speciesReference id="S1ref" species="S1" stoichiometry="2" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference id="S2ref" species="S2" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> kinetics </ci>
+              <ci> k1 </ci>
+              <ci> k2 </ci>
+              <ci> k3 </ci>
+              <ci> k4 </ci>
+              <ci> k5 </ci>
+              <ci> S1 </ci>
+              <ci> S1ref </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+	  <listOfLocalParameters>
+            <localParameter id="k1" value="1"/>
+          </listOfLocalParameters>       
+      </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01121/01121-settings.txt b/models/sbml-test-suite/cases/semantic/01121/01121-settings.txt
new file mode 100644
index 0000000..0d5cd18
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01121/01121-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 3
+steps: 305
+variables: S1, S2, S3, S4, k1, k2, k3, k4, k5, kavo, comp, comp2
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S2, S3, S4
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/01122/01122-results.csv b/models/sbml-test-suite/cases/semantic/01122/01122-results.csv
new file mode 100644
index 0000000..77c36a0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01122/01122-results.csv
@@ -0,0 +1,307 @@
+time, S1, S3, comp
+0,1,4,5
+0.009836066,0.999213888,4,5.009836066
+0.019672131,0.998429317,4,5.019672131
+0.029508197,0.997646283,4,5.029508197
+0.039344262,0.996864778,4,5.039344262
+0.049180328,0.996084797,4,5.049180328
+0.059016393,0.995306335,4,5.059016393
+0.068852459,0.994529384,4,5.068852459
+0.078688525,0.993753939,4,5.078688525
+0.08852459,0.992979995,4,5.08852459
+0.098360656,0.992207546,4,5.098360656
+0.108196721,0.991436585,4,5.108196721
+0.118032787,0.990667107,4,5.118032787
+0.127868852,0.989899107,4,5.127868852
+0.137704918,0.989132579,4,5.137704918
+0.147540984,0.988367516,4,5.147540984
+0.157377049,0.987603914,4,5.157377049
+0.167213115,0.986841767,4,5.167213115
+0.17704918,0.98608107,4,5.17704918
+0.186885246,0.985321816,4,5.186885246
+0.196721311,0.984564001,4,5.196721311
+0.206557377,0.983807619,4,5.206557377
+0.216393443,0.983052664,4,5.216393443
+0.226229508,0.982299132,4,5.226229508
+0.236065574,0.981547016,4,5.236065574
+0.245901639,0.980796312,4,5.245901639
+0.255737705,0.980047014,4,5.255737705
+0.26557377,0.979299118,4,5.26557377
+0.275409836,0.978552617,4,5.275409836
+0.285245902,0.977807506,4,5.285245902
+0.295081967,0.977063781,4,5.295081967
+0.304918033,0.976321436,4,5.304918033
+0.314754098,0.975580467,4,5.314754098
+0.324590164,0.974840867,4,5.324590164
+0.33442623,0.974102633,4,5.33442623
+0.344262295,0.973365758,4,5.344262295
+0.354098361,0.972630238,4,5.354098361
+0.363934426,0.971896069,4,5.363934426
+0.373770492,0.971163244,4,5.373770492
+0.383606557,0.97043176,4,5.383606557
+0.393442623,0.96970161,4,5.393442623
+0.403278689,0.968972791,4,5.403278689
+0.413114754,0.968245298,4,5.413114754
+0.42295082,0.967519125,4,5.42295082
+0.432786885,0.966794269,4,5.432786885
+0.442622951,0.966070723,4,5.442622951
+0.452459016,0.965348484,4,5.452459016
+0.462295082,0.964627546,4,5.462295082
+0.472131148,0.963907906,4,5.472131148
+0.481967213,0.963189558,4,5.481967213
+0.491803279,0.962472498,4,5.491803279
+0.501639344,0.961756721,4,5.501639344
+0.51147541,0.961042222,4,5.51147541
+0.521311475,0.960328998,4,5.521311475
+0.531147541,0.959617042,4,5.531147541
+0.540983607,0.958906352,4,5.540983607
+0.550819672,0.958196923,4,5.550819672
+0.560655738,0.957488749,4,5.560655738
+0.570491803,0.956781827,4,5.570491803
+0.580327869,0.956076152,4,5.580327869
+0.590163934,0.95537172,4,5.590163934
+0.6,0.954668526,4,5.6
+0.609836066,0.953966566,4,5.609836066
+0.619672131,0.953265836,4,5.619672131
+0.629508197,0.952566331,4,5.629508197
+0.639344262,0.951868048,4,5.639344262
+0.649180328,0.951170981,4,5.649180328
+0.659016393,0.950475127,4,5.659016393
+0.668852459,0.949780481,4,5.668852459
+0.678688525,0.94908704,4,5.678688525
+0.68852459,0.948394799,4,5.68852459
+0.698360656,0.947703753,4,5.698360656
+0.708196721,0.9470139,4,5.708196721
+0.718032787,0.946325234,4,5.718032787
+0.727868852,0.945637751,4,5.727868852
+0.737704918,0.944951449,4,5.737704918
+0.747540984,0.944266322,4,5.747540984
+0.757377049,0.943582366,4,5.757377049
+0.767213115,0.942899578,4,5.767213115
+0.77704918,0.942217953,4,5.77704918
+0.786885246,0.941537488,4,5.786885246
+0.796721311,0.940858178,4,5.796721311
+0.806557377,0.94018002,4,5.806557377
+0.816393443,0.93950301,4,5.816393443
+0.826229508,0.938827144,4,5.826229508
+0.836065574,0.938152418,4,5.836065574
+0.845901639,0.937478828,4,5.845901639
+0.855737705,0.936806371,4,5.855737705
+0.86557377,0.936135042,4,5.86557377
+0.875409836,0.935464838,4,5.875409836
+0.885245902,0.934795755,4,5.885245902
+0.895081967,0.93412779,4,5.895081967
+0.904918033,0.933460937,4,5.904918033
+0.914754098,0.932795195,4,5.914754098
+0.924590164,0.932130559,4,5.924590164
+0.93442623,0.931467026,4,5.93442623
+0.944262295,0.930804591,4,5.944262295
+0.954098361,0.930143252,4,5.954098361
+0.963934426,0.929483004,4,5.963934426
+0.973770492,0.928823844,4,5.973770492
+0.983606557,0.928165769,4,5.983606557
+0.993442623,0.927508775,4,5.993442623
+1.003278689,0.926852858,4,6.003278689
+1.013114754,0.926198014,4,6.013114754
+1.02295082,0.925544241,4,6.02295082
+1.032786885,0.924891535,4,6.032786885
+1.042622951,0.924239892,4,6.042622951
+1.052459016,0.923589309,4,6.052459016
+1.062295082,0.922939783,4,6.062295082
+1.072131148,0.922291309,4,6.072131148
+1.081967213,0.921643886,4,6.081967213
+1.091803279,0.920997508,4,6.091803279
+1.101639344,0.920352173,4,6.101639344
+1.11147541,0.919707877,4,6.11147541
+1.121311475,0.919064618,4,6.121311475
+1.131147541,0.918422392,4,6.131147541
+1.140983607,0.917781195,4,6.140983607
+1.150819672,0.917141024,4,6.150819672
+1.160655738,0.916501876,4,6.160655738
+1.170491803,0.915863747,4,6.170491803
+1.180327869,0.915226636,4,6.180327869
+1.190163934,0.914590537,4,6.190163934
+1.2,0.913955448,4,6.2
+1.209836066,0.913321366,4,6.209836066
+1.219672131,0.912688288,4,6.219672131
+1.229508197,0.912056209,4,6.229508197
+1.239344262,0.911425129,4,6.239344262
+1.249180328,0.910795042,4,6.249180328
+1.259016393,0.910165946,4,6.259016393
+1.268852459,0.909537838,4,6.268852459
+1.278688525,0.908910715,4,6.278688525
+1.28852459,0.908284573,4,6.28852459
+1.298360656,0.90765941,4,6.298360656
+1.308196721,0.907035223,4,6.308196721
+1.318032787,0.906412008,4,6.318032787
+1.327868852,0.905789763,4,6.327868852
+1.337704918,0.905168484,4,6.337704918
+1.347540984,0.904548168,4,6.347540984
+1.357377049,0.903928813,4,6.357377049
+1.367213115,0.903310416,4,6.367213115
+1.37704918,0.902692973,4,6.37704918
+1.386885246,0.902076482,4,6.386885246
+1.396721311,0.901460939,4,6.396721311
+1.406557377,0.900846342,4,6.406557377
+1.416393443,0.900232689,4,6.416393443
+1.426229508,0.899619975,4,6.426229508
+1.436065574,0.899008198,4,6.436065574
+1.445901639,0.898397355,4,6.445901639
+1.455737705,0.897787444,4,6.455737705
+1.46557377,0.897178461,4,6.46557377
+1.475409836,0.896570405,4,6.475409836
+1.485245902,0.895963271,4,6.485245902
+1.495081967,0.895357057,4,6.495081967
+1.504918033,0.89475176,4,6.504918033
+1.514754098,0.894147378,4,6.514754098
+1.524590164,0.893543908,4,6.524590164
+1.53442623,0.892941347,4,6.53442623
+1.544262295,0.892339693,4,6.544262295
+1.554098361,0.891738942,4,6.554098361
+1.563934426,0.891139092,4,6.563934426
+1.573770492,0.89054014,4,6.573770492
+1.583606557,0.889942083,4,6.583606557
+1.593442623,0.88934492,4,6.593442623
+1.603278689,0.888748646,4,6.603278689
+1.613114754,0.88815326,4,6.613114754
+1.62295082,0.887558759,4,6.62295082
+1.632786885,0.886965141,4,6.632786885
+1.642622951,0.886372402,4,6.642622951
+1.652459016,0.88578054,4,6.652459016
+1.662295082,0.885189552,4,6.662295082
+1.672131148,0.884599436,4,6.672131148
+1.681967213,0.88401019,4,6.681967213
+1.691803279,0.88342181,4,6.691803279
+1.701639344,0.882834295,4,6.701639344
+1.71147541,0.882247641,4,6.71147541
+1.721311475,0.881661847,4,6.721311475
+1.731147541,0.881076909,4,6.731147541
+1.740983607,0.880492825,4,6.740983607
+1.750819672,0.879909593,4,6.750819672
+1.760655738,0.87932721,4,6.760655738
+1.770491803,0.878745673,4,6.770491803
+1.780327869,0.878164981,4,6.780327869
+1.790163934,0.877585131,4,6.790163934
+1.8,0.87700612,4,6.8
+1.809836066,0.876427946,4,6.809836066
+1.819672131,0.875850606,4,6.819672131
+1.829508197,0.875274099,4,6.829508197
+1.839344262,0.874698421,4,6.839344262
+1.849180328,0.874123571,4,6.849180328
+1.859016393,0.873549545,4,6.859016393
+1.868852459,0.872976343,4,6.868852459
+1.878688525,0.87240396,4,6.878688525
+1.88852459,0.871832395,4,6.88852459
+1.898360656,0.871261646,4,6.898360656
+1.908196721,0.87069171,4,6.908196721
+1.918032787,0.870122585,4,6.918032787
+1.927868852,0.869554268,4,6.927868852
+1.937704918,0.868986758,4,6.937704918
+1.947540984,0.868420052,4,6.947540984
+1.957377049,0.867854148,4,6.957377049
+1.967213115,0.867289043,4,6.967213115
+1.97704918,0.866724735,4,6.97704918
+1.986885246,0.866161223,4,6.986885246
+1.996721311,0.865598503,4,6.996721311
+2.006557377,0.865036573,4,7.006557377
+2.016393443,0.864475432,4,7.016393443
+2.026229508,0.863915077,4,7.026229508
+2.036065574,0.863355506,4,7.036065574
+2.045901639,0.862796717,4,7.045901639
+2.055737705,0.862238707,4,7.055737705
+2.06557377,0.861681475,4,7.06557377
+2.075409836,0.861125017,4,7.075409836
+2.085245902,0.860569333,4,7.085245902
+2.095081967,0.86001442,4,7.095081967
+2.104918033,0.859460275,4,7.104918033
+2.114754098,0.858906897,4,7.114754098
+2.124590164,0.858354283,4,7.124590164
+2.13442623,0.857802432,4,7.13442623
+2.144262295,0.857251342,4,7.144262295
+2.154098361,0.856701009,4,7.154098361
+2.163934426,0.856151433,4,7.163934426
+2.173770492,0.85560261,4,7.173770492
+2.183606557,0.85505454,4,7.183606557
+2.193442623,0.854507219,4,7.193442623
+2.203278689,0.853960647,4,7.203278689
+2.213114754,0.85341482,4,7.213114754
+2.22295082,0.852869737,4,7.22295082
+2.232786885,0.852325396,4,7.232786885
+2.242622951,0.851781794,4,7.242622951
+2.252459016,0.85123893,4,7.252459016
+2.262295082,0.850696803,4,7.262295082
+2.272131148,0.850155408,4,7.272131148
+2.281967213,0.849614746,4,7.281967213
+2.291803279,0.849074813,4,7.291803279
+2.301639344,0.848535609,4,7.301639344
+2.31147541,0.84799713,4,7.31147541
+2.321311475,0.847459375,4,7.321311475
+2.331147541,0.846922342,4,7.331147541
+2.340983607,0.846386029,4,7.340983607
+2.350819672,0.845850434,4,7.350819672
+2.360655738,0.845315555,4,7.360655738
+2.370491803,0.844781391,4,7.370491803
+2.380327869,0.844247939,4,7.380327869
+2.390163934,0.843715198,4,7.390163934
+2.4,0.843183165,4,7.4
+2.409836066,0.842651839,4,7.409836066
+2.419672131,0.842121217,4,7.419672131
+2.429508197,0.841591299,4,7.429508197
+2.439344262,0.841062082,4,7.439344262
+2.449180328,0.840533564,4,7.449180328
+2.459016393,0.840005743,4,7.459016393
+2.468852459,0.839478618,4,7.468852459
+2.478688525,0.838952187,4,7.478688525
+2.48852459,0.838426447,4,7.48852459
+2.498360656,0.837901398,4,7.498360656
+2.508196721,0.837377037,4,7.508196721
+2.518032787,0.836853362,4,7.518032787
+2.527868852,0.836330373,4,7.527868852
+2.537704918,0.835808066,4,7.537704918
+2.547540984,0.83528644,4,7.547540984
+2.557377049,0.834765493,4,7.557377049
+2.567213115,0.834245224,4,7.567213115
+2.57704918,0.833725631,4,7.57704918
+2.586885246,0.833206712,4,7.586885246
+2.596721311,0.832688466,4,7.596721311
+2.606557377,0.83217089,4,7.606557377
+2.616393443,0.831653982,4,7.616393443
+2.626229508,0.831137742,4,7.626229508
+2.636065574,0.830622168,4,7.636065574
+2.645901639,0.830107257,4,7.645901639
+2.655737705,0.829593007,4,7.655737705
+2.66557377,0.829079419,4,7.66557377
+2.675409836,0.828566489,4,7.675409836
+2.685245902,0.828054215,4,7.685245902
+2.695081967,0.827542597,4,7.695081967
+2.704918033,0.827031633,4,7.704918033
+2.714754098,0.82652132,4,7.714754098
+2.724590164,0.826011658,4,7.724590164
+2.73442623,0.825502644,4,7.73442623
+2.744262295,0.824994277,4,7.744262295
+2.754098361,0.824486555,4,7.754098361
+2.763934426,0.823979477,4,7.763934426
+2.773770492,0.823473041,4,7.773770492
+2.783606557,0.822967245,4,7.783606557
+2.793442623,0.822462089,4,7.793442623
+2.803278689,0.821957569,4,7.803278689
+2.813114754,0.821453685,4,7.813114754
+2.82295082,0.820950434,4,7.82295082
+2.832786885,0.820447817,4,7.832786885
+2.842622951,0.819945829,4,7.842622951
+2.852459016,0.819444472,4,7.852459016
+2.862295082,0.818943741,4,7.862295082
+2.872131148,0.818443637,4,7.872131148
+2.881967213,0.817944157,4,7.881967213
+2.891803279,0.8174453,4,7.891803279
+2.901639344,0.816947065,4,7.901639344
+2.91147541,0.816449449,4,7.91147541
+2.921311475,0.815952452,4,7.921311475
+2.931147541,0.815456071,4,7.931147541
+2.940983607,0.814960306,4,7.940983607
+2.950819672,0.814465154,4,7.950819672
+2.960655738,0.813970615,4,7.960655738
+2.970491803,0.813476686,4,7.970491803
+2.980327869,0.812983366,4,7.980327869
+2.990163934,0.812490654,4,7.990163934
+3,0.811998548,4,8
diff --git a/models/sbml-test-suite/cases/semantic/01122/01122-sbml-l1v2.xml b/models/sbml-test-suite/cases/semantic/01122/01122-sbml-l1v2.xml
new file mode 100644
index 0000000..8dcf86f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01122/01122-sbml-l1v2.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level1" level="1" version="2">
+  <model name="case01122">
+    <listOfCompartments>
+      <compartment name="comp" volume="5"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species name="S1" compartment="comp" initialAmount="1"/>
+      <species name="S3" compartment="comp" initialAmount="4" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfRules>
+      <compartmentVolumeRule formula="1" type="rate" compartment="comp"/>
+    </listOfRules>
+    <listOfReactions>
+      <reaction name="_J0">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" denominator="1"/>
+        </listOfReactants>
+        <kineticLaw formula="S3 / 10"/>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01122/01122-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01122/01122-sbml-l2v4.xml
new file mode 100644
index 0000000..3261a25
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01122/01122-sbml-l2v4.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case01122" name="case01122">
+    <listOfCompartments>
+      <compartment id="comp" size="5" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="comp" initialAmount="1"/>
+      <species id="S3" compartment="comp" initialAmount="4" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule variable="comp">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="_J0" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <ci> S3 </ci>
+              <cn type="integer"> 10 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01122/01122-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01122/01122-sbml-l3v1.xml
new file mode 100644
index 0000000..76fd89f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01122/01122-sbml-l3v1.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-03-26 10:42 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case01122" name="case01122">
+    <listOfCompartments>
+      <compartment id="comp" spatialDimensions="3" size="5" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="comp" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="comp" initialAmount="4" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule variable="comp">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <ci> S3 </ci>
+              <cn type="integer"> 10 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01122/01122-settings.txt b/models/sbml-test-suite/cases/semantic/01122/01122-settings.txt
new file mode 100644
index 0000000..cf1f788
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01122/01122-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 3
+steps: 305
+variables: S1, S3, comp
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S3
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/01123/01123-results.csv b/models/sbml-test-suite/cases/semantic/01123/01123-results.csv
new file mode 100644
index 0000000..b7c71ad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01123/01123-results.csv
@@ -0,0 +1,307 @@
+time, S1, S3, comp
+0,1,4,5
+0.009836066,0.996065574,4,5.009836066
+0.019672131,0.992131148,4,5.019672131
+0.029508197,0.988196721,4,5.029508197
+0.039344262,0.984262295,4,5.039344262
+0.049180328,0.980327869,4,5.049180328
+0.059016393,0.976393443,4,5.059016393
+0.068852459,0.972459016,4,5.068852459
+0.078688525,0.96852459,4,5.078688525
+0.08852459,0.964590164,4,5.08852459
+0.098360656,0.960655738,4,5.098360656
+0.108196721,0.956721311,4,5.108196721
+0.118032787,0.952786885,4,5.118032787
+0.127868852,0.948852459,4,5.127868852
+0.137704918,0.944918033,4,5.137704918
+0.147540984,0.940983607,4,5.147540984
+0.157377049,0.93704918,4,5.157377049
+0.167213115,0.933114754,4,5.167213115
+0.17704918,0.929180328,4,5.17704918
+0.186885246,0.925245902,4,5.186885246
+0.196721311,0.921311475,4,5.196721311
+0.206557377,0.917377049,4,5.206557377
+0.216393443,0.913442623,4,5.216393443
+0.226229508,0.909508197,4,5.226229508
+0.236065574,0.90557377,4,5.236065574
+0.245901639,0.901639344,4,5.245901639
+0.255737705,0.897704918,4,5.255737705
+0.26557377,0.893770492,4,5.26557377
+0.275409836,0.889836066,4,5.275409836
+0.285245902,0.885901639,4,5.285245902
+0.295081967,0.881967213,4,5.295081967
+0.304918033,0.878032787,4,5.304918033
+0.314754098,0.874098361,4,5.314754098
+0.324590164,0.870163934,4,5.324590164
+0.33442623,0.866229508,4,5.33442623
+0.344262295,0.862295082,4,5.344262295
+0.354098361,0.858360656,4,5.354098361
+0.363934426,0.85442623,4,5.363934426
+0.373770492,0.850491803,4,5.373770492
+0.383606557,0.846557377,4,5.383606557
+0.393442623,0.842622951,4,5.393442623
+0.403278689,0.838688525,4,5.403278689
+0.413114754,0.834754098,4,5.413114754
+0.42295082,0.830819672,4,5.42295082
+0.432786885,0.826885246,4,5.432786885
+0.442622951,0.82295082,4,5.442622951
+0.452459016,0.819016393,4,5.452459016
+0.462295082,0.815081967,4,5.462295082
+0.472131148,0.811147541,4,5.472131148
+0.481967213,0.807213115,4,5.481967213
+0.491803279,0.803278689,4,5.491803279
+0.501639344,0.799344262,4,5.501639344
+0.51147541,0.795409836,4,5.51147541
+0.521311475,0.79147541,4,5.521311475
+0.531147541,0.787540984,4,5.531147541
+0.540983607,0.783606557,4,5.540983607
+0.550819672,0.779672131,4,5.550819672
+0.560655738,0.775737705,4,5.560655738
+0.570491803,0.771803279,4,5.570491803
+0.580327869,0.767868852,4,5.580327869
+0.590163934,0.763934426,4,5.590163934
+0.6,0.76,4,5.6
+0.609836066,0.756065574,4,5.609836066
+0.619672131,0.752131148,4,5.619672131
+0.629508197,0.748196721,4,5.629508197
+0.639344262,0.744262295,4,5.639344262
+0.649180328,0.740327869,4,5.649180328
+0.659016393,0.736393443,4,5.659016393
+0.668852459,0.732459016,4,5.668852459
+0.678688525,0.72852459,4,5.678688525
+0.68852459,0.724590164,4,5.68852459
+0.698360656,0.720655738,4,5.698360656
+0.708196721,0.716721311,4,5.708196721
+0.718032787,0.712786885,4,5.718032787
+0.727868852,0.708852459,4,5.727868852
+0.737704918,0.704918033,4,5.737704918
+0.747540984,0.700983607,4,5.747540984
+0.757377049,0.69704918,4,5.757377049
+0.767213115,0.693114754,4,5.767213115
+0.77704918,0.689180328,4,5.77704918
+0.786885246,0.685245902,4,5.786885246
+0.796721311,0.681311475,4,5.796721311
+0.806557377,0.677377049,4,5.806557377
+0.816393443,0.673442623,4,5.816393443
+0.826229508,0.669508197,4,5.826229508
+0.836065574,0.66557377,4,5.836065574
+0.845901639,0.661639344,4,5.845901639
+0.855737705,0.657704918,4,5.855737705
+0.86557377,0.653770492,4,5.86557377
+0.875409836,0.649836066,4,5.875409836
+0.885245902,0.645901639,4,5.885245902
+0.895081967,0.641967213,4,5.895081967
+0.904918033,0.638032787,4,5.904918033
+0.914754098,0.634098361,4,5.914754098
+0.924590164,0.630163934,4,5.924590164
+0.93442623,0.626229508,4,5.93442623
+0.944262295,0.622295082,4,5.944262295
+0.954098361,0.618360656,4,5.954098361
+0.963934426,0.61442623,4,5.963934426
+0.973770492,0.610491803,4,5.973770492
+0.983606557,0.606557377,4,5.983606557
+0.993442623,0.602622951,4,5.993442623
+1.003278689,0.598688525,4,6.003278689
+1.013114754,0.594754098,4,6.013114754
+1.02295082,0.590819672,4,6.02295082
+1.032786885,0.586885246,4,6.032786885
+1.042622951,0.58295082,4,6.042622951
+1.052459016,0.579016393,4,6.052459016
+1.062295082,0.575081967,4,6.062295082
+1.072131148,0.571147541,4,6.072131148
+1.081967213,0.567213115,4,6.081967213
+1.091803279,0.563278689,4,6.091803279
+1.101639344,0.559344262,4,6.101639344
+1.11147541,0.555409836,4,6.11147541
+1.121311475,0.55147541,4,6.121311475
+1.131147541,0.547540984,4,6.131147541
+1.140983607,0.543606557,4,6.140983607
+1.150819672,0.539672131,4,6.150819672
+1.160655738,0.535737705,4,6.160655738
+1.170491803,0.531803279,4,6.170491803
+1.180327869,0.527868852,4,6.180327869
+1.190163934,0.523934426,4,6.190163934
+1.2,0.52,4,6.2
+1.209836066,0.516065574,4,6.209836066
+1.219672131,0.512131148,4,6.219672131
+1.229508197,0.508196721,4,6.229508197
+1.239344262,0.504262295,4,6.239344262
+1.249180328,0.500327869,4,6.249180328
+1.259016393,0.496393443,4,6.259016393
+1.268852459,0.492459016,4,6.268852459
+1.278688525,0.48852459,4,6.278688525
+1.28852459,0.484590164,4,6.28852459
+1.298360656,0.480655738,4,6.298360656
+1.308196721,0.476721311,4,6.308196721
+1.318032787,0.472786885,4,6.318032787
+1.327868852,0.468852459,4,6.327868852
+1.337704918,0.464918033,4,6.337704918
+1.347540984,0.460983607,4,6.347540984
+1.357377049,0.45704918,4,6.357377049
+1.367213115,0.453114754,4,6.367213115
+1.37704918,0.449180328,4,6.37704918
+1.386885246,0.445245902,4,6.386885246
+1.396721311,0.441311475,4,6.396721311
+1.406557377,0.437377049,4,6.406557377
+1.416393443,0.433442623,4,6.416393443
+1.426229508,0.429508197,4,6.426229508
+1.436065574,0.42557377,4,6.436065574
+1.445901639,0.421639344,4,6.445901639
+1.455737705,0.417704918,4,6.455737705
+1.46557377,0.413770492,4,6.46557377
+1.475409836,0.409836066,4,6.475409836
+1.485245902,0.405901639,4,6.485245902
+1.495081967,0.401967213,4,6.495081967
+1.504918033,0.398032787,4,6.504918033
+1.514754098,0.394098361,4,6.514754098
+1.524590164,0.390163934,4,6.524590164
+1.53442623,0.386229508,4,6.53442623
+1.544262295,0.382295082,4,6.544262295
+1.554098361,0.378360656,4,6.554098361
+1.563934426,0.37442623,4,6.563934426
+1.573770492,0.370491803,4,6.573770492
+1.583606557,0.366557377,4,6.583606557
+1.593442623,0.362622951,4,6.593442623
+1.603278689,0.358688525,4,6.603278689
+1.613114754,0.354754098,4,6.613114754
+1.62295082,0.350819672,4,6.62295082
+1.632786885,0.346885246,4,6.632786885
+1.642622951,0.34295082,4,6.642622951
+1.652459016,0.339016393,4,6.652459016
+1.662295082,0.335081967,4,6.662295082
+1.672131148,0.331147541,4,6.672131148
+1.681967213,0.327213115,4,6.681967213
+1.691803279,0.323278689,4,6.691803279
+1.701639344,0.319344262,4,6.701639344
+1.71147541,0.315409836,4,6.71147541
+1.721311475,0.31147541,4,6.721311475
+1.731147541,0.307540984,4,6.731147541
+1.740983607,0.303606557,4,6.740983607
+1.750819672,0.299672131,4,6.750819672
+1.760655738,0.295737705,4,6.760655738
+1.770491803,0.291803279,4,6.770491803
+1.780327869,0.287868852,4,6.780327869
+1.790163934,0.283934426,4,6.790163934
+1.8,0.28,4,6.8
+1.809836066,0.276065574,4,6.809836066
+1.819672131,0.272131148,4,6.819672131
+1.829508197,0.268196721,4,6.829508197
+1.839344262,0.264262295,4,6.839344262
+1.849180328,0.260327869,4,6.849180328
+1.859016393,0.256393443,4,6.859016393
+1.868852459,0.252459016,4,6.868852459
+1.878688525,0.24852459,4,6.878688525
+1.88852459,0.244590164,4,6.88852459
+1.898360656,0.240655738,4,6.898360656
+1.908196721,0.236721311,4,6.908196721
+1.918032787,0.232786885,4,6.918032787
+1.927868852,0.228852459,4,6.927868852
+1.937704918,0.224918033,4,6.937704918
+1.947540984,0.220983607,4,6.947540984
+1.957377049,0.21704918,4,6.957377049
+1.967213115,0.213114754,4,6.967213115
+1.97704918,0.209180328,4,6.97704918
+1.986885246,0.205245902,4,6.986885246
+1.996721311,0.201311475,4,6.996721311
+2.006557377,0.197377049,4,7.006557377
+2.016393443,0.193442623,4,7.016393443
+2.026229508,0.189508197,4,7.026229508
+2.036065574,0.18557377,4,7.036065574
+2.045901639,0.181639344,4,7.045901639
+2.055737705,0.177704918,4,7.055737705
+2.06557377,0.173770492,4,7.06557377
+2.075409836,0.169836066,4,7.075409836
+2.085245902,0.165901639,4,7.085245902
+2.095081967,0.161967213,4,7.095081967
+2.104918033,0.158032787,4,7.104918033
+2.114754098,0.154098361,4,7.114754098
+2.124590164,0.150163934,4,7.124590164
+2.13442623,0.146229508,4,7.13442623
+2.144262295,0.142295082,4,7.144262295
+2.154098361,0.138360656,4,7.154098361
+2.163934426,0.13442623,4,7.163934426
+2.173770492,0.130491803,4,7.173770492
+2.183606557,0.126557377,4,7.183606557
+2.193442623,0.122622951,4,7.193442623
+2.203278689,0.118688525,4,7.203278689
+2.213114754,0.114754098,4,7.213114754
+2.22295082,0.110819672,4,7.22295082
+2.232786885,0.106885246,4,7.232786885
+2.242622951,0.10295082,4,7.242622951
+2.252459016,0.099016393,4,7.252459016
+2.262295082,0.095081967,4,7.262295082
+2.272131148,0.091147541,4,7.272131148
+2.281967213,0.087213115,4,7.281967213
+2.291803279,0.083278689,4,7.291803279
+2.301639344,0.079344262,4,7.301639344
+2.31147541,0.075409836,4,7.31147541
+2.321311475,0.07147541,4,7.321311475
+2.331147541,0.067540984,4,7.331147541
+2.340983607,0.063606557,4,7.340983607
+2.350819672,0.059672131,4,7.350819672
+2.360655738,0.055737705,4,7.360655738
+2.370491803,0.051803279,4,7.370491803
+2.380327869,0.047868852,4,7.380327869
+2.390163934,0.043934426,4,7.390163934
+2.4,0.04,4,7.4
+2.409836066,0.036065574,4,7.409836066
+2.419672131,0.032131148,4,7.419672131
+2.429508197,0.028196721,4,7.429508197
+2.439344262,0.024262295,4,7.439344262
+2.449180328,0.020327869,4,7.449180328
+2.459016393,0.016393443,4,7.459016393
+2.468852459,0.012459016,4,7.468852459
+2.478688525,0.00852459,4,7.478688525
+2.48852459,0.004590164,4,7.48852459
+2.498360656,0.000655738,4,7.498360656
+2.508196721,-0.003278689,4,7.508196721
+2.518032787,-0.007213115,4,7.518032787
+2.527868852,-0.011147541,4,7.527868852
+2.537704918,-0.015081967,4,7.537704918
+2.547540984,-0.019016393,4,7.547540984
+2.557377049,-0.02295082,4,7.557377049
+2.567213115,-0.026885246,4,7.567213115
+2.57704918,-0.030819672,4,7.57704918
+2.586885246,-0.034754098,4,7.586885246
+2.596721311,-0.038688525,4,7.596721311
+2.606557377,-0.042622951,4,7.606557377
+2.616393443,-0.046557377,4,7.616393443
+2.626229508,-0.050491803,4,7.626229508
+2.636065574,-0.05442623,4,7.636065574
+2.645901639,-0.058360656,4,7.645901639
+2.655737705,-0.062295082,4,7.655737705
+2.66557377,-0.066229508,4,7.66557377
+2.675409836,-0.070163934,4,7.675409836
+2.685245902,-0.074098361,4,7.685245902
+2.695081967,-0.078032787,4,7.695081967
+2.704918033,-0.081967213,4,7.704918033
+2.714754098,-0.085901639,4,7.714754098
+2.724590164,-0.089836066,4,7.724590164
+2.73442623,-0.093770492,4,7.73442623
+2.744262295,-0.097704918,4,7.744262295
+2.754098361,-0.101639344,4,7.754098361
+2.763934426,-0.10557377,4,7.763934426
+2.773770492,-0.109508197,4,7.773770492
+2.783606557,-0.113442623,4,7.783606557
+2.793442623,-0.117377049,4,7.793442623
+2.803278689,-0.121311475,4,7.803278689
+2.813114754,-0.125245902,4,7.813114754
+2.82295082,-0.129180328,4,7.82295082
+2.832786885,-0.133114754,4,7.832786885
+2.842622951,-0.13704918,4,7.842622951
+2.852459016,-0.140983607,4,7.852459016
+2.862295082,-0.144918033,4,7.862295082
+2.872131148,-0.148852459,4,7.872131148
+2.881967213,-0.152786885,4,7.881967213
+2.891803279,-0.156721311,4,7.891803279
+2.901639344,-0.160655738,4,7.901639344
+2.91147541,-0.164590164,4,7.91147541
+2.921311475,-0.16852459,4,7.921311475
+2.931147541,-0.172459016,4,7.931147541
+2.940983607,-0.176393443,4,7.940983607
+2.950819672,-0.180327869,4,7.950819672
+2.960655738,-0.184262295,4,7.960655738
+2.970491803,-0.188196721,4,7.970491803
+2.980327869,-0.192131148,4,7.980327869
+2.990163934,-0.196065574,4,7.990163934
+3,-0.2,4,8
diff --git a/models/sbml-test-suite/cases/semantic/01123/01123-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01123/01123-sbml-l3v1.xml
new file mode 100644
index 0000000..ba5e2bc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01123/01123-sbml-l3v1.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.1-beta on 2012-03-26 10:42 with libSBML version 5.1.0-b0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case01122" name="case01122">
+    <listOfCompartments>
+      <compartment id="comp" spatialDimensions="3" size="5" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="comp" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="comp" initialAmount="4" hasOnlySubstanceUnits="true" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfRules>
+      <rateRule variable="comp">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 1 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S3"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <ci> S3 </ci>
+              <cn type="integer"> 10 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01123/01123-settings.txt b/models/sbml-test-suite/cases/semantic/01123/01123-settings.txt
new file mode 100644
index 0000000..cf1f788
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01123/01123-settings.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 3
+steps: 305
+variables: S1, S3, comp
+absolute: 0.0001
+relative: 0.0001
+amount: S1, S3
+concentration:
+
diff --git a/models/sbml-test-suite/cases/semantic/01124/01124-results.csv b/models/sbml-test-suite/cases/semantic/01124/01124-results.csv
new file mode 100644
index 0000000..6946682
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01124/01124-results.csv
@@ -0,0 +1,12 @@
+time,param1
+0,10.42
+0.1,10.42
+0.2,10.42
+0.3,10.42
+0.4,10.42
+0.5,10.42
+0.6,10.42
+0.7,10.42
+0.8,10.42
+0.9,10.42
+1,10.42
diff --git a/models/sbml-test-suite/cases/semantic/01124/01124-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01124/01124-sbml-l3v1.xml
new file mode 100644
index 0000000..3c8c7cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01124/01124-sbml-l3v1.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model id="case01124">
+    <listOfParameters>
+      <parameter id="param1" value="10.42" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="subparam1" comp:submodelRef="submod1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="submod1" comp:modelRef="Mod1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="Mod1">
+      <listOfParameters>
+        <parameter id="subparam1" value="5.01" constant="true"/>
+      </listOfParameters>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01124/01124-settings.txt b/models/sbml-test-suite/cases/semantic/01124/01124-settings.txt
new file mode 100644
index 0000000..e273f6d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01124/01124-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: param1
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01125/01125-results.csv b/models/sbml-test-suite/cases/semantic/01125/01125-results.csv
new file mode 100644
index 0000000..6946682
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01125/01125-results.csv
@@ -0,0 +1,12 @@
+time,param1
+0,10.42
+0.1,10.42
+0.2,10.42
+0.3,10.42
+0.4,10.42
+0.5,10.42
+0.6,10.42
+0.7,10.42
+0.8,10.42
+0.9,10.42
+1,10.42
diff --git a/models/sbml-test-suite/cases/semantic/01125/01125-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01125/01125-sbml-l3v1.xml
new file mode 100644
index 0000000..c9293fb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01125/01125-sbml-l3v1.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="param1" value="10.42" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="port1" comp:submodelRef="submod1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="submod1" comp:modelRef="Mod1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="Mod1">
+      <listOfParameters>
+        <parameter id="subparam1" value="5.01" constant="true"/>
+      </listOfParameters>
+      <comp:listOfPorts>
+        <comp:port comp:idRef="subparam1" comp:id="port1"/>
+      </comp:listOfPorts>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01125/01125-settings.txt b/models/sbml-test-suite/cases/semantic/01125/01125-settings.txt
new file mode 100644
index 0000000..e273f6d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01125/01125-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: param1
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01126/01126-results.csv b/models/sbml-test-suite/cases/semantic/01126/01126-results.csv
new file mode 100644
index 0000000..272b0aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01126/01126-results.csv
@@ -0,0 +1,12 @@
+time,param1,submod1__subparam2
+0,10.42,6
+0.1,10.42,6
+0.2,10.42,6
+0.3,10.42,6
+0.4,10.42,6
+0.5,10.42,6
+0.6,10.42,6
+0.7,10.42,6
+0.8,10.42,6
+0.9,10.42,6
+1,10.42,6
diff --git a/models/sbml-test-suite/cases/semantic/01126/01126-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01126/01126-sbml-l3v1.xml
new file mode 100644
index 0000000..1868543
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01126/01126-sbml-l3v1.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="param1" value="10.42" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="port1" comp:submodelRef="submod1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="submod1" comp:modelRef="Mod1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="Mod1">
+      <listOfParameters>
+        <parameter id="subparam1" value="5.01" constant="true"/>
+        <parameter id="subparam2" value="6" constant="true"/>
+      </listOfParameters>
+      <comp:listOfPorts>
+        <comp:port comp:idRef="subparam1" comp:id="port1"/>
+      </comp:listOfPorts>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01126/01126-settings.txt b/models/sbml-test-suite/cases/semantic/01126/01126-settings.txt
new file mode 100644
index 0000000..07fff3e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01126/01126-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: param1, submod1__subparam2
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01127/01127-results.csv b/models/sbml-test-suite/cases/semantic/01127/01127-results.csv
new file mode 100644
index 0000000..0e98a1c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01127/01127-results.csv
@@ -0,0 +1,12 @@
+time,param1,submod1__subparam2
+0,12,6
+0.1,18.31025508,6
+0.2,25.28416549,6
+0.3,32.99152845,6
+0.4,41.50948186,6
+0.5,50.92327624,6
+0.6,61.32712802,6
+0.7,72.82516245,6
+0.8,85.53245571,6
+0.9,99.57618667,6
+1,115.0969097,6
diff --git a/models/sbml-test-suite/cases/semantic/01127/01127-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01127/01127-sbml-l3v1.xml
new file mode 100644
index 0000000..329423a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01127/01127-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="param1" value="10.42" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="port1" comp:submodelRef="submod1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="submod1" comp:modelRef="Mod1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="Mod1">
+      <listOfParameters>
+        <parameter id="subparam1" value="5.01" constant="false"/>
+        <parameter id="subparam2" value="6" constant="true"/>
+      </listOfParameters>
+      <listOfInitialAssignments>
+        <initialAssignment symbol="subparam1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <ci> subparam2 </ci>
+              <cn type="integer"> 6 </cn>
+            </apply>
+          </math>
+        </initialAssignment>
+      </listOfInitialAssignments>
+      <listOfRules>
+        <rateRule variable="subparam1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <cn type="integer"> 8 </cn>
+                <ci> subparam2 </ci>
+              </apply>
+              <ci> subparam1 </ci>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+      <comp:listOfPorts>
+        <comp:port comp:idRef="subparam1" comp:id="port1"/>
+      </comp:listOfPorts>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01127/01127-settings.txt b/models/sbml-test-suite/cases/semantic/01127/01127-settings.txt
new file mode 100644
index 0000000..07fff3e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01127/01127-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: param1, submod1__subparam2
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01128/01128-results.csv b/models/sbml-test-suite/cases/semantic/01128/01128-results.csv
new file mode 100644
index 0000000..bc339b7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01128/01128-results.csv
@@ -0,0 +1,12 @@
+time,param2
+0,6
+0.1,6
+0.2,6
+0.3,6
+0.4,6
+0.5,6
+0.6,6
+0.7,6
+0.8,6
+0.9,6
+1,6
diff --git a/models/sbml-test-suite/cases/semantic/01128/01128-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01128/01128-sbml-l3v1.xml
new file mode 100644
index 0000000..65a8ef0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01128/01128-sbml-l3v1.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter metaid="p2_meta" id="param2" constant="false">
+        <comp:replacedBy comp:idRef="subparam2" comp:submodelRef="submod1"/>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="submod1" comp:modelRef="Mod1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="Mod1">
+      <listOfParameters>
+        <parameter id="subparam2" metaid="meta_sp2" value="6" constant="true"/>
+      </listOfParameters>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01128/01128-settings.txt b/models/sbml-test-suite/cases/semantic/01128/01128-settings.txt
new file mode 100644
index 0000000..cd6616d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01128/01128-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: param2
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01129/01129-results.csv b/models/sbml-test-suite/cases/semantic/01129/01129-results.csv
new file mode 100644
index 0000000..1e871cf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01129/01129-results.csv
@@ -0,0 +1,12 @@
+time,S1,sub1__S1,sub2__S1,sub2__sub1__S1
+0,5,7,9,7
+0.1,5,7,9,7
+0.2,5,7,9,7
+0.3,5,7,9,7
+0.4,5,7,9,7
+0.5,5,7,9,7
+0.6,5,7,9,7
+0.7,5,7,9,7
+0.8,5,7,9,7
+0.9,5,7,9,7
+1,5,7,9,7
diff --git a/models/sbml-test-suite/cases/semantic/01129/01129-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01129/01129-sbml-l3v1.xml
new file mode 100644
index 0000000..e77fe76
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01129/01129-sbml-l3v1.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="7" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef2">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="9" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01129/01129-settings.txt b/models/sbml-test-suite/cases/semantic/01129/01129-settings.txt
new file mode 100644
index 0000000..7799335
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01129/01129-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S1, sub1__S1, sub2__S1, sub2__sub1__S1
+absolute: 0.0001
+relative: 0.0001
+amount: S1, sub1__S1, sub2__S1, sub2__sub1__S1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01130/01130-results.csv b/models/sbml-test-suite/cases/semantic/01130/01130-results.csv
new file mode 100644
index 0000000..f5de207
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01130/01130-results.csv
@@ -0,0 +1,12 @@
+time,S1,sub1__S1,sub2__S1,sub2__sub1__S1
+0,0.5,7,9,0.7
+0.1,0.5,7,9,0.7
+0.2,0.5,7,9,0.7
+0.3,0.5,7,9,0.7
+0.4,0.5,7,9,0.7
+0.5,0.5,7,9,0.7
+0.6,0.5,7,9,0.7
+0.7,0.5,7,9,0.7
+0.8,0.5,7,9,0.7
+0.9,0.5,7,9,0.7
+1,0.5,7,9,0.7
diff --git a/models/sbml-test-suite/cases/semantic/01130/01130-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01130/01130-sbml-l3v1.xml
new file mode 100644
index 0000000..68fc9c5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01130/01130-sbml-l3v1.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="10" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="sub1" comp:submodelRef="sub2">
+            <comp:sBaseRef comp:idRef="C"/>
+          </comp:replacedElement>
+        </comp:listOfReplacedElements>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="7" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef2">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="9" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01130/01130-settings.txt b/models/sbml-test-suite/cases/semantic/01130/01130-settings.txt
new file mode 100644
index 0000000..61ce446
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01130/01130-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S1, sub1__S1, sub2__S1, sub2__sub1__S1
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: S1, sub1__S1, sub2__S1, sub2__sub1__S1
diff --git a/models/sbml-test-suite/cases/semantic/01131/01131-results.csv b/models/sbml-test-suite/cases/semantic/01131/01131-results.csv
new file mode 100644
index 0000000..4ddcd65
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01131/01131-results.csv
@@ -0,0 +1,12 @@
+time,S1,sub1__S1,sub2__S1,sub2__sub1__S1,sub3__S1,sub3__sub1__S1,sub3__sub2__S1,sub3__sub2__sub1__S1
+0,0.5,7,9,0.7,11,7,9,7
+0.1,0.5,7,9,0.7,11,7,9,7
+0.2,0.5,7,9,0.7,11,7,9,7
+0.3,0.5,7,9,0.7,11,7,9,7
+0.4,0.5,7,9,0.7,11,7,9,7
+0.5,0.5,7,9,0.7,11,7,9,7
+0.6,0.5,7,9,0.7,11,7,9,7
+0.7,0.5,7,9,0.7,11,7,9,7
+0.8,0.5,7,9,0.7,11,7,9,7
+0.9,0.5,7,9,0.7,11,7,9,7
+1,0.5,7,9,0.7,11,7,9,7
diff --git a/models/sbml-test-suite/cases/semantic/01131/01131-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01131/01131-sbml-l3v1.xml
new file mode 100644
index 0000000..8e64d69
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01131/01131-sbml-l3v1.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="10" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="sub1" comp:submodelRef="sub2">
+            <comp:sBaseRef comp:idRef="C"/>
+          </comp:replacedElement>
+        </comp:listOfReplacedElements>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+    </listOfSpecies>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+      <comp:submodel comp:id="sub3" comp:modelRef="moddef3"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="7" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef2">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="9" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef3">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="11" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+        <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01131/01131-settings.txt b/models/sbml-test-suite/cases/semantic/01131/01131-settings.txt
new file mode 100644
index 0000000..0124f3e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01131/01131-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S1, sub1__S1, sub2__S1, sub2__sub1__S1, sub3__S1, sub3__sub1__S1, sub3__sub2__S1, sub3__sub2__sub1__S1
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: S1, sub1__S1, sub2__S1, sub2__sub1__S1, sub3__S1, sub3__sub1__S1, sub3__sub2__S1, sub3__sub2__sub1__S1
diff --git a/models/sbml-test-suite/cases/semantic/01132/01132-results.csv b/models/sbml-test-suite/cases/semantic/01132/01132-results.csv
new file mode 100644
index 0000000..d2ece5e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01132/01132-results.csv
@@ -0,0 +1,12 @@
+time,S1,sub1__S1,sub2__S1,sub2__sub1__S1,sub3__S1,sub3__sub1__S1,sub3__sub2__S1
+0,0.5,7,9,0.7,11,7,9
+0.1,0.5,7,9,0.7,11,7,9
+0.2,0.5,7,9,0.7,11,7,9
+0.3,0.5,7,9,0.7,11,7,9
+0.4,0.5,7,9,0.7,11,7,9
+0.5,0.5,7,9,0.7,11,7,9
+0.6,0.5,7,9,0.7,11,7,9
+0.7,0.5,7,9,0.7,11,7,9
+0.8,0.5,7,9,0.7,11,7,9
+0.9,0.5,7,9,0.7,11,7,9
+1,0.5,7,9,0.7,11,7,9
diff --git a/models/sbml-test-suite/cases/semantic/01132/01132-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01132/01132-sbml-l3v1.xml
new file mode 100644
index 0000000..3e73701
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01132/01132-sbml-l3v1.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="10" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="sub1" comp:submodelRef="sub2">
+            <comp:sBaseRef comp:idRef="C"/>
+          </comp:replacedElement>
+        </comp:listOfReplacedElements>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="sub2" comp:submodelRef="sub3">
+            <comp:sBaseRef comp:idRef="sub1">
+              <comp:sBaseRef comp:idRef="S1"/>
+            </comp:sBaseRef>
+          </comp:replacedElement>
+        </comp:listOfReplacedElements>
+      </species>
+    </listOfSpecies>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+      <comp:submodel comp:id="sub3" comp:modelRef="moddef3"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="7" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef2">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="9" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef3">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="11" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+        <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01132/01132-settings.txt b/models/sbml-test-suite/cases/semantic/01132/01132-settings.txt
new file mode 100644
index 0000000..6e232f1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01132/01132-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S1, sub1__S1, sub2__S1, sub2__sub1__S1, sub3__S1, sub3__sub1__S1, sub3__sub2__S1
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: S1, sub1__S1, sub2__S1, sub2__sub1__S1, sub3__S1, sub3__sub1__S1, sub3__sub2__S1
diff --git a/models/sbml-test-suite/cases/semantic/01133/01133-results.csv b/models/sbml-test-suite/cases/semantic/01133/01133-results.csv
new file mode 100644
index 0000000..15ddaa3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01133/01133-results.csv
@@ -0,0 +1,12 @@
+time,S1,sub1__S1,sub2__S1,sub3__S1,sub3__sub1__S1,sub3__sub2__S1
+0,2.5,2.5,9,11,2.5,9
+0.1,2.5,2.5,9,11,2.5,9
+0.2,2.5,2.5,9,11,2.5,9
+0.3,2.5,2.5,9,11,2.5,9
+0.4,2.5,2.5,9,11,2.5,9
+0.5,2.5,2.5,9,11,2.5,9
+0.6,2.5,2.5,9,11,2.5,9
+0.7,2.5,2.5,9,11,2.5,9
+0.8,2.5,2.5,9,11,2.5,9
+0.9,2.5,2.5,9,11,2.5,9
+1,2.5,2.5,9,11,2.5,9
diff --git a/models/sbml-test-suite/cases/semantic/01133/01133-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01133/01133-sbml-l3v1.xml
new file mode 100644
index 0000000..235b7f3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01133/01133-sbml-l3v1.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="10" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="sub1" comp:submodelRef="sub2">
+            <comp:sBaseRef comp:idRef="C"/>
+          </comp:replacedElement>
+        </comp:listOfReplacedElements>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="sub2" comp:submodelRef="sub3">
+            <comp:sBaseRef comp:idRef="sub1">
+              <comp:sBaseRef comp:idRef="S1"/>
+            </comp:sBaseRef>
+          </comp:replacedElement>
+        </comp:listOfReplacedElements>
+        <comp:replacedBy comp:idRef="sub1" comp:submodelRef="sub2">
+          <comp:sBaseRef comp:idRef="S1"/>
+        </comp:replacedBy>
+      </species>
+    </listOfSpecies>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+      <comp:submodel comp:id="sub3" comp:modelRef="moddef3"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="7" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialConcentration="2.5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef2">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="9" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="9" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef3">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="11" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="11" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="true"/>
+      </listOfSpecies>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+        <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01133/01133-settings.txt b/models/sbml-test-suite/cases/semantic/01133/01133-settings.txt
new file mode 100644
index 0000000..e5d8894
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01133/01133-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S1, sub1__S1, sub2__S1, sub3__S1, sub3__sub1__S1, sub3__sub2__S1
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: S1, sub1__S1, sub2__S1, sub3__S1, sub3__sub1__S1, sub3__sub2__S1
diff --git a/models/sbml-test-suite/cases/semantic/01134/01134-results.csv b/models/sbml-test-suite/cases/semantic/01134/01134-results.csv
new file mode 100644
index 0000000..15ddaa3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01134/01134-results.csv
@@ -0,0 +1,12 @@
+time,S1,sub1__S1,sub2__S1,sub3__S1,sub3__sub1__S1,sub3__sub2__S1
+0,2.5,2.5,9,11,2.5,9
+0.1,2.5,2.5,9,11,2.5,9
+0.2,2.5,2.5,9,11,2.5,9
+0.3,2.5,2.5,9,11,2.5,9
+0.4,2.5,2.5,9,11,2.5,9
+0.5,2.5,2.5,9,11,2.5,9
+0.6,2.5,2.5,9,11,2.5,9
+0.7,2.5,2.5,9,11,2.5,9
+0.8,2.5,2.5,9,11,2.5,9
+0.9,2.5,2.5,9,11,2.5,9
+1,2.5,2.5,9,11,2.5,9
diff --git a/models/sbml-test-suite/cases/semantic/01134/01134-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01134/01134-sbml-l3v1.xml
new file mode 100644
index 0000000..3b2d8d0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01134/01134-sbml-l3v1.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" spatialDimensions="3" size="10" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="sub1" comp:submodelRef="sub2">
+            <comp:sBaseRef comp:idRef="C"/>
+          </comp:replacedElement>
+        </comp:listOfReplacedElements>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="C" initialAmount="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="sub2" comp:submodelRef="sub3">
+            <comp:sBaseRef comp:idRef="sub1">
+              <comp:sBaseRef comp:idRef="S1"/>
+            </comp:sBaseRef>
+          </comp:replacedElement>
+        </comp:listOfReplacedElements>
+        <comp:replacedBy comp:idRef="sub1" comp:submodelRef="sub2">
+          <comp:sBaseRef comp:idRef="S1"/>
+        </comp:replacedBy>
+      </species>
+    </listOfSpecies>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+      <comp:submodel comp:id="sub3" comp:modelRef="moddef3"/>
+    </comp:listOfSubmodels>
+    <comp:listOfPorts>
+      <comp:port comp:idRef="C" comp:id="C_port"/>
+      <comp:port comp:idRef="sub3" comp:id="C2_port">
+        <comp:sBaseRef comp:idRef="sub2">
+          <comp:sBaseRef comp:idRef="sub1">
+            <comp:sBaseRef comp:idRef="C"/>
+          </comp:sBaseRef>
+        </comp:sBaseRef>
+      </comp:port>
+    </comp:listOfPorts>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="false"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialConcentration="2.5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef2">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="false"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="9" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef3">
+      <listOfCompartments>
+        <compartment id="C" spatialDimensions="3" size="1" constant="false"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="C" initialAmount="11" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+        <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01134/01134-settings.txt b/models/sbml-test-suite/cases/semantic/01134/01134-settings.txt
new file mode 100644
index 0000000..e5d8894
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01134/01134-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S1, sub1__S1, sub2__S1, sub3__S1, sub3__sub1__S1, sub3__sub2__S1
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: S1, sub1__S1, sub2__S1, sub3__S1, sub3__sub1__S1, sub3__sub2__S1
diff --git a/models/sbml-test-suite/cases/semantic/01135/01135-results.csv b/models/sbml-test-suite/cases/semantic/01135/01135-results.csv
new file mode 100644
index 0000000..e0ef847
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01135/01135-results.csv
@@ -0,0 +1,12 @@
+time,p2
+0,8
+0.1,8
+0.2,8
+0.3,8
+0.4,8
+0.5,8
+0.6,8
+0.7,8
+0.8,8
+0.9,8
+1,8
diff --git a/models/sbml-test-suite/cases/semantic/01135/01135-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01135/01135-sbml-l3v1.xml
new file mode 100644
index 0000000..f0bc23c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01135/01135-sbml-l3v1.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="p2" value="2" constant="false">
+        <comp:replacedBy comp:idRef="sub1" comp:submodelRef="sub2">
+          <comp:sBaseRef comp:idRef="p8"/>
+        </comp:replacedBy>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="p8" value="8" constant="false"/>
+      </listOfParameters>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef2">
+      <listOfParameters>
+        <parameter id="p4" value="4" constant="false">
+          <comp:replacedBy comp:idRef="p8" comp:submodelRef="sub1"/>
+        </parameter>
+      </listOfParameters>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01135/01135-settings.txt b/models/sbml-test-suite/cases/semantic/01135/01135-settings.txt
new file mode 100644
index 0000000..5ae62f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01135/01135-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: p2
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01136/01136-results.csv b/models/sbml-test-suite/cases/semantic/01136/01136-results.csv
new file mode 100644
index 0000000..e0ef847
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01136/01136-results.csv
@@ -0,0 +1,12 @@
+time,p2
+0,8
+0.1,8
+0.2,8
+0.3,8
+0.4,8
+0.5,8
+0.6,8
+0.7,8
+0.8,8
+0.9,8
+1,8
diff --git a/models/sbml-test-suite/cases/semantic/01136/01136-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01136/01136-sbml-l3v1.xml
new file mode 100644
index 0000000..76881aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01136/01136-sbml-l3v1.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="p2" value="2" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="p16" comp:submodelRef="sub2"/>
+        </comp:listOfReplacedElements>
+        <comp:replacedBy comp:idRef="sub1" comp:submodelRef="sub2">
+          <comp:sBaseRef comp:idRef="p8"/>
+        </comp:replacedBy>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub2" comp:modelRef="moddef2"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="p8" value="8" constant="false"/>
+        <parameter id="p16" value="16" constant="true"/>
+      </listOfParameters>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef2">
+      <listOfParameters>
+        <parameter id="p4" value="4" constant="false">
+          <comp:listOfReplacedElements>
+            <comp:replacedElement comp:idRef="p16" comp:submodelRef="sub1"/>
+          </comp:listOfReplacedElements>
+          <comp:replacedBy comp:idRef="p8" comp:submodelRef="sub1"/>
+        </parameter>
+        <parameter id="p16" value="16" constant="true"/>
+      </listOfParameters>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01136/01136-settings.txt b/models/sbml-test-suite/cases/semantic/01136/01136-settings.txt
new file mode 100644
index 0000000..5ae62f9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01136/01136-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: p2
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01137/01137-results.csv b/models/sbml-test-suite/cases/semantic/01137/01137-results.csv
new file mode 100644
index 0000000..12b40aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01137/01137-results.csv
@@ -0,0 +1,12 @@
+time,p8
+0,8
+0.1,8
+0.2,8
+0.3,8
+0.4,8
+0.5,8
+0.6,8
+0.7,8
+0.8,8
+0.9,8
+1,8
diff --git a/models/sbml-test-suite/cases/semantic/01137/01137-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01137/01137-sbml-l3v1.xml
new file mode 100644
index 0000000..d99e764
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01137/01137-sbml-l3v1.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="p8" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="p80" comp:submodelRef="sub1" comp:conversionFactor="conv"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="conv" value="0.1" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="p80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 80 </cn>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01137/01137-settings.txt b/models/sbml-test-suite/cases/semantic/01137/01137-settings.txt
new file mode 100644
index 0000000..d6a44b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01137/01137-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: p8
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01138/01138-results.csv b/models/sbml-test-suite/cases/semantic/01138/01138-results.csv
new file mode 100644
index 0000000..7662520
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01138/01138-results.csv
@@ -0,0 +1,12 @@
+time,p8,sub1__prel
+0,8,10
+0.1,8,10
+0.2,8,10
+0.3,8,10
+0.4,8,10
+0.5,8,10
+0.6,8,10
+0.7,8,10
+0.8,8,10
+0.9,8,10
+1,8,10
diff --git a/models/sbml-test-suite/cases/semantic/01138/01138-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01138/01138-sbml-l3v1.xml
new file mode 100644
index 0000000..89f1163
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01138/01138-sbml-l3v1.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="p8" value="8" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="p80" comp:submodelRef="sub1" comp:conversionFactor="conv"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="conv" value="0.1" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="p80" value="80" constant="false"/>
+        <parameter id="prel" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="prel">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <ci> p80 </ci>
+              <cn type="integer"> 8 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01138/01138-settings.txt b/models/sbml-test-suite/cases/semantic/01138/01138-settings.txt
new file mode 100644
index 0000000..e2b9ba0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01138/01138-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: p8, sub1__prel
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01139/01139-results.csv b/models/sbml-test-suite/cases/semantic/01139/01139-results.csv
new file mode 100644
index 0000000..b6f8d7f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01139/01139-results.csv
@@ -0,0 +1,12 @@
+time,p8
+0,8
+0.1,11.97148443
+0.2,17.896243
+0.3,26.73494415
+0.4,39.92073683
+0.5,59.591628
+0.6,88.93714928
+0.7,132.7155227
+0.8,198.0251814
+0.9,295.4557432
+1,440.8050616
diff --git a/models/sbml-test-suite/cases/semantic/01139/01139-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01139/01139-sbml-l3v1.xml
new file mode 100644
index 0000000..ec6dee1
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01139/01139-sbml-l3v1.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="p8" value="8" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="p80" comp:submodelRef="sub1" comp:conversionFactor="conv"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="conv" value="0.1" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="p80" value="80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <rateRule variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <cn type="integer"> 4 </cn>
+                <ci> p80 </ci>
+              </apply>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01139/01139-settings.txt b/models/sbml-test-suite/cases/semantic/01139/01139-settings.txt
new file mode 100644
index 0000000..d6a44b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01139/01139-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: p8
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01140/01140-results.csv b/models/sbml-test-suite/cases/semantic/01140/01140-results.csv
new file mode 100644
index 0000000..62b2eaf
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01140/01140-results.csv
@@ -0,0 +1,12 @@
+time,s8
+0,8
+0.1,11.97148443
+0.2,17.896243
+0.3,26.73494415
+0.4,39.92073683
+0.5,59.591628
+0.6,88.93714928
+0.7,132.7155227
+0.8,198.0251814
+0.9,295.4557432
+1,440.8050616
diff --git a/models/sbml-test-suite/cases/semantic/01140/01140-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01140/01140-sbml-l3v1.xml
new file mode 100644
index 0000000..71e202e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01140/01140-sbml-l3v1.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="s8" compartment="C" initialAmount="8" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="s80" comp:submodelRef="sub1" comp:conversionFactor="conv"/>
+        </comp:listOfReplacedElements>
+      </species>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="conv" value="0.1" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s80" compartment="C" initialAmount="80" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfRules>
+        <rateRule variable="s80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <cn type="integer"> 4 </cn>
+                <ci> s80 </ci>
+              </apply>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01140/01140-settings.txt b/models/sbml-test-suite/cases/semantic/01140/01140-settings.txt
new file mode 100644
index 0000000..1cdf1b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01140/01140-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: s8
+absolute: 0.0001
+relative: 0.0001
+amount: s8
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01141/01141-results.csv b/models/sbml-test-suite/cases/semantic/01141/01141-results.csv
new file mode 100644
index 0000000..8e2493a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01141/01141-results.csv
@@ -0,0 +1,12 @@
+time,C8
+0,8
+0.1,11.97148443
+0.2,17.896243
+0.3,26.73494415
+0.4,39.92073683
+0.5,59.591628
+0.6,88.93714928
+0.7,132.7155227
+0.8,198.0251814
+0.9,295.4557432
+1,440.8050616
diff --git a/models/sbml-test-suite/cases/semantic/01141/01141-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01141/01141-sbml-l3v1.xml
new file mode 100644
index 0000000..1a65b2d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01141/01141-sbml-l3v1.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C8" size="8" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="C80" comp:submodelRef="sub1" comp:conversionFactor="conv"/>
+        </comp:listOfReplacedElements>
+      </compartment>
+    </listOfCompartments>
+    <listOfParameters>
+      <parameter id="conv" value="0.1" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C80" size="80" constant="false"/>
+      </listOfCompartments>
+      <listOfRules>
+        <rateRule variable="C80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <cn type="integer"> 4 </cn>
+                <ci> C80 </ci>
+              </apply>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01141/01141-settings.txt b/models/sbml-test-suite/cases/semantic/01141/01141-settings.txt
new file mode 100644
index 0000000..68b97c8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01141/01141-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: C8
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01142/01142-results.csv b/models/sbml-test-suite/cases/semantic/01142/01142-results.csv
new file mode 100644
index 0000000..a189cab
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01142/01142-results.csv
@@ -0,0 +1,12 @@
+Time,t1,t2,t3,t4,t5,s1
+0,1,3,1,1,1,0.001
+0.1,1.005001381,3,1,1,1,0.001944109
+0.2,1.010005507,3,1,1,1,0.003483012
+0.3,1.015012352,3,1,1,1,0.00510378
+0.4,1.020021889,3,1,1,1,0.006747813
+0.5,1.025034092,3,1,1,1,0.00840133
+0.6,1.030048934,3,1,1,1,0.010059715
+0.7,1.03506639,3,1,1,1,0.011720996
+0.8,1.040086435,3,1,1,1,0.013383967
+0.9,1.045109043,3,1,1,1,0.01504796
+1,1.050134189,3,1,1,1,0.016713001
diff --git a/models/sbml-test-suite/cases/semantic/01142/01142-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01142/01142-sbml-l3v1.xml
new file mode 100644
index 0000000..3b5f901
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01142/01142-sbml-l3v1.xml
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="true">
+        <comp:replacedBy comp:idRef="C" comp:submodelRef="sub1"/>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false">
+        <comp:replacedBy comp:idRef="s1" comp:submodelRef="sub1"/>
+      </species>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="t1" value="1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t1" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="t2" value="1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t2" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="t3" value="1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t3" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="t4" value="1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t4" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="t5" value="1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t5" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="t1" value="1" constant="false"/>
+        <parameter id="t2" value="1" constant="false"/>
+        <parameter id="t3" value="1" constant="false"/>
+        <parameter id="t4" value="1" constant="false"/>
+        <parameter id="t5" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfInitialAssignments>
+        <initialAssignment symbol="t2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </initialAssignment>
+      </listOfInitialAssignments>
+      <listOfRules>
+        <rateRule variable="t1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <divide/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> t1 </ci>
+              </apply>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </rateRule>
+        <assignmentRule variable="t3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> t1 </ci>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+        <algebraicRule>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <ci> t4 </ci>
+              <apply>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+                <ci> t3 </ci>
+                <apply>
+                  <divide/>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </algebraicRule>
+      </listOfRules>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> t3 </ci>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> s1 </ci>
+                  <apply>
+                    <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+                    <ci> t5 </ci>
+                    <cn type="e-notation"> 2 <sep/> -1 </cn>
+                  </apply>
+                </apply>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+      <listOfEvents>
+        <event useValuesFromTriggerTime="true">
+          <trigger initialValue="true" persistent="true">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <gt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn type="integer"> 3 </cn>
+              </apply>
+            </math>
+          </trigger>
+          <delay>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <cn type="integer"> 1 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </math>
+          </delay>
+          <listOfEventAssignments>
+            <eventAssignment variable="t5">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </math>
+            </eventAssignment>
+          </listOfEventAssignments>
+        </event>
+      </listOfEvents>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01142/01142-settings.txt b/models/sbml-test-suite/cases/semantic/01142/01142-settings.txt
new file mode 100644
index 0000000..5aa7e38
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01142/01142-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: t1, t2, t3, t4, t5, s1
+absolute: 0.0001
+relative: 0.0001
+amount: s1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01143/01143-results.csv b/models/sbml-test-suite/cases/semantic/01143/01143-results.csv
new file mode 100644
index 0000000..dcb0969
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01143/01143-results.csv
@@ -0,0 +1,12 @@
+time,sub1__s1
+0,1
+0.1,1001
+0.2,2001
+0.3,3001
+0.4,4001
+0.5,5001
+0.6,6001
+0.7,7001
+0.8,8001
+0.9,9001
+1,10001
diff --git a/models/sbml-test-suite/cases/semantic/01143/01143-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01143/01143-sbml-l3v1.xml
new file mode 100644
index 0000000..eb412dc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01143/01143-sbml-l3v1.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="extentconv" value="1000" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:extentConversionFactor="extentconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01143/01143-settings.txt b/models/sbml-test-suite/cases/semantic/01143/01143-settings.txt
new file mode 100644
index 0000000..36c38c2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01143/01143-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__s1
+absolute: 0.0001
+relative: 0.0001
+amount: sub1__s1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01144/01144-results.csv b/models/sbml-test-suite/cases/semantic/01144/01144-results.csv
new file mode 100644
index 0000000..85ba2a9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01144/01144-results.csv
@@ -0,0 +1,12 @@
+time,sub1__s1
+0,1
+0.1,1.000277816
+0.2,1.001111729
+0.3,1.002503128
+0.4,1.004454336
+0.5,1.006968613
+0.6,1.010050167
+0.7,1.013704164
+0.8,1.017936743
+0.9,1.022755034
+1,1.028167177
diff --git a/models/sbml-test-suite/cases/semantic/01144/01144-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01144/01144-sbml-l3v1.xml
new file mode 100644
index 0000000..b90d852
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01144/01144-sbml-l3v1.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="extentconv" value="1000" constant="true"/>
+      <parameter id="t3" value="0.2" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t3" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv" comp:extentConversionFactor="extentconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="t3" value="0.2" constant="false"/>
+      </listOfParameters>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> s1 </ci>
+                <ci> t3 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01144/01144-settings.txt b/models/sbml-test-suite/cases/semantic/01144/01144-settings.txt
new file mode 100644
index 0000000..36c38c2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01144/01144-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__s1
+absolute: 0.0001
+relative: 0.0001
+amount: sub1__s1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01145/01145-results.csv b/models/sbml-test-suite/cases/semantic/01145/01145-results.csv
new file mode 100644
index 0000000..05e5f93
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01145/01145-results.csv
@@ -0,0 +1,12 @@
+time,sub1__sub1__s1
+0,0.01
+0.1,0.027182818
+0.2,0.073890561
+0.3,0.200855369
+0.4,0.5459815
+0.5,1.484131591
+0.6,4.034287935
+0.7,10.96633159
+0.8,29.80957987
+0.9,81.03083929
+1,220.264658
diff --git a/models/sbml-test-suite/cases/semantic/01145/01145-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01145/01145-sbml-l3v1.xml
new file mode 100644
index 0000000..8b78045
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01145/01145-sbml-l3v1.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="extentconv" value="10" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef2" comp:extentConversionFactor="extentconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef2">
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount=".01" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> s1 </ci>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01145/01145-settings.txt b/models/sbml-test-suite/cases/semantic/01145/01145-settings.txt
new file mode 100644
index 0000000..cc7dedc
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01145/01145-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__sub1__s1
+absolute: 0.0001
+relative: 0.0001
+amount: sub1__sub1__s1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01146/01146-results.csv b/models/sbml-test-suite/cases/semantic/01146/01146-results.csv
new file mode 100644
index 0000000..219696a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01146/01146-results.csv
@@ -0,0 +1,12 @@
+time,sub1__sub1__t1
+0,3
+0.1,3.001666667
+0.2,3.003333333
+0.3,3.005
+0.4,3.006666667
+0.5,3.008333333
+0.6,3.01
+0.7,3.011666667
+0.8,3.013333333
+0.9,3.015
+1,3.016666667
diff --git a/models/sbml-test-suite/cases/semantic/01146/01146-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01146/01146-sbml-l3v1.xml
new file mode 100644
index 0000000..8852a0b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01146/01146-sbml-l3v1.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef2" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef2">
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t1" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="t1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01146/01146-settings.txt b/models/sbml-test-suite/cases/semantic/01146/01146-settings.txt
new file mode 100644
index 0000000..a16848f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01146/01146-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__sub1__t1
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01147/01147-results.csv b/models/sbml-test-suite/cases/semantic/01147/01147-results.csv
new file mode 100644
index 0000000..79cd0a2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01147/01147-results.csv
@@ -0,0 +1,12 @@
+time,sub1__sub1__t1
+0,3
+0.1,3.000027778
+0.2,3.000055556
+0.3,3.000083333
+0.4,3.000111111
+0.5,3.000138889
+0.6,3.000166667
+0.7,3.000194444
+0.8,3.000222222
+0.9,3.00025
+1,3.000277778
diff --git a/models/sbml-test-suite/cases/semantic/01147/01147-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01147/01147-sbml-l3v1.xml
new file mode 100644
index 0000000..b5f95e7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01147/01147-sbml-l3v1.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef2" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef2">
+      <listOfParameters>
+        <parameter id="timeconv" value="60" constant="true"/>
+      </listOfParameters>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t1" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="t1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01147/01147-settings.txt b/models/sbml-test-suite/cases/semantic/01147/01147-settings.txt
new file mode 100644
index 0000000..53fa599
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01147/01147-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__sub1__t1
+absolute: 0.00001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01148/01148-results.csv b/models/sbml-test-suite/cases/semantic/01148/01148-results.csv
new file mode 100644
index 0000000..58a5a8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01148/01148-results.csv
@@ -0,0 +1,12 @@
+time,sub1__sub1__sub1__s1
+0,0.001
+0.1,0.001113121
+0.2,0.001535213
+0.3,0.002623492
+0.4,0.005554885
+0.5,0.014573194
+0.6,0.047371685
+0.7,0.190795138
+0.8,0.952138553
+0.9,5.88731642
+1,45.10440781
diff --git a/models/sbml-test-suite/cases/semantic/01148/01148-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01148/01148-sbml-l3v1.xml
new file mode 100644
index 0000000..63fd801
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01148/01148-sbml-l3v1.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="extentconv" value="10" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef3" comp:timeConversionFactor="timeconv" comp:extentConversionFactor="extentconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef3">
+      <listOfParameters>
+        <parameter id="timeconv" value="60" constant="true"/>
+        <parameter id="extentconv" value="10" constant="true"/>
+      </listOfParameters>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef2" comp:timeConversionFactor="timeconv" comp:extentConversionFactor="extentconv"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef2">
+      <listOfParameters>
+        <parameter id="timeconv" value="60" constant="true"/>
+        <parameter id="extentconv" value="10" constant="true"/>
+      </listOfParameters>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv" comp:extentConversionFactor="extentconv"/>
+      </comp:listOfSubmodels>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <cn> 1000000000 </cn>
+                <ci> s1 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01148/01148-settings.txt b/models/sbml-test-suite/cases/semantic/01148/01148-settings.txt
new file mode 100644
index 0000000..85d6e6d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01148/01148-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__sub1__sub1__s1
+absolute: 0.0001
+relative: 0.001
+amount: sub1__sub1__sub1__s1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01149/01149-results.csv b/models/sbml-test-suite/cases/semantic/01149/01149-results.csv
new file mode 100644
index 0000000..12b40aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01149/01149-results.csv
@@ -0,0 +1,12 @@
+time,p8
+0,8
+0.1,8
+0.2,8
+0.3,8
+0.4,8
+0.5,8
+0.6,8
+0.7,8
+0.8,8
+0.9,8
+1,8
diff --git a/models/sbml-test-suite/cases/semantic/01149/01149-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01149/01149-sbml-l3v1.xml
new file mode 100644
index 0000000..0811240
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01149/01149-sbml-l3v1.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="p8" value="8" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="p80" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1">
+        <comp:listOfDeletions>
+          <comp:deletion comp:metaIdRef="p80_raterule"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="p80" value="80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <rateRule metaid="p80_raterule" variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <cn type="integer"> 4 </cn>
+                <ci> p80 </ci>
+              </apply>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01149/01149-settings.txt b/models/sbml-test-suite/cases/semantic/01149/01149-settings.txt
new file mode 100644
index 0000000..d6a44b2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01149/01149-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: p8
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01150/01150-results.csv b/models/sbml-test-suite/cases/semantic/01150/01150-results.csv
new file mode 100644
index 0000000..aa1eb1b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01150/01150-results.csv
@@ -0,0 +1,12 @@
+time,p8
+0,8
+0.1,8.3
+0.2,8.6
+0.3,8.9
+0.4,9.2
+0.5,9.5
+0.6,9.8
+0.7,10.1
+0.8,10.4
+0.9,10.7
+1,11
diff --git a/models/sbml-test-suite/cases/semantic/01150/01150-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01150/01150-sbml-l3v1.xml
new file mode 100644
index 0000000..c70307b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01150/01150-sbml-l3v1.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="p8" value="8" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="p80" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="p8_raterule" variable="p8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 3 </cn>
+        </math>
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:metaIdRef="p80_raterule" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </rateRule>
+    </listOfRules>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="p80" value="80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <rateRule metaid="p80_raterule" variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <cn type="integer"> 4 </cn>
+                <ci> p80 </ci>
+              </apply>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01150/01150-settings.txt b/models/sbml-test-suite/cases/semantic/01150/01150-settings.txt
new file mode 100644
index 0000000..ce8f13c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01150/01150-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: p8
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01151/01151-results.csv b/models/sbml-test-suite/cases/semantic/01151/01151-results.csv
new file mode 100644
index 0000000..aa1eb1b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01151/01151-results.csv
@@ -0,0 +1,12 @@
+time,p8
+0,8
+0.1,8.3
+0.2,8.6
+0.3,8.9
+0.4,9.2
+0.5,9.5
+0.6,9.8
+0.7,10.1
+0.8,10.4
+0.9,10.7
+1,11
diff --git a/models/sbml-test-suite/cases/semantic/01151/01151-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01151/01151-sbml-l3v1.xml
new file mode 100644
index 0000000..98dbd06
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01151/01151-sbml-l3v1.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="p8" value="8" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="p80" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="p8_raterule" variable="p8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 3 </cn>
+        </math>
+      </rateRule>
+    </listOfRules>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1">
+        <comp:listOfDeletions>
+          <comp:deletion comp:metaIdRef="p80_raterule"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="p80" value="80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <rateRule metaid="p80_raterule" variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <cn type="integer"> 4 </cn>
+                <ci> p80 </ci>
+              </apply>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01151/01151-settings.txt b/models/sbml-test-suite/cases/semantic/01151/01151-settings.txt
new file mode 100644
index 0000000..ce8f13c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01151/01151-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: p8
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01152/01152-results.csv b/models/sbml-test-suite/cases/semantic/01152/01152-results.csv
new file mode 100644
index 0000000..ae9f7ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01152/01152-results.csv
@@ -0,0 +1,12 @@
+time,p8
+0,8
+0.1,8
+0.2,8
+0.3,8
+0.4,88
+0.5,88
+0.6,88
+0.7,88
+0.8,88
+0.9,88
+1,88
diff --git a/models/sbml-test-suite/cases/semantic/01152/01152-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01152/01152-sbml-l3v1.xml
new file mode 100644
index 0000000..39eec70
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01152/01152-sbml-l3v1.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.3-beta with libSBML version 5.5.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model id="doc0" name="doc0">
+    <listOfParameters>
+      <parameter id="conv" value="0.1" constant="true"/>
+      <parameter id="p8" value="8" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="p80" comp:submodelRef="sub1" comp:conversionFactor="conv"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1" name="moddef1">
+      <listOfParameters>
+        <parameter id="p80" value="80" constant="false"/>
+      </listOfParameters>
+      <listOfEvents>
+        <event id="E1" useValuesFromTriggerTime="true">
+          <trigger initialValue="true" persistent="true">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <gt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn> 0.31 </cn>
+              </apply>
+            </math>
+          </trigger>
+          <listOfEventAssignments>
+            <eventAssignment variable="p80">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <apply>
+                  <plus/>
+                  <cn type="integer"> 800 </cn>
+                  <ci> p80 </ci>
+                </apply>
+              </math>
+            </eventAssignment>
+          </listOfEventAssignments>
+        </event>
+      </listOfEvents>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01152/01152-settings.txt b/models/sbml-test-suite/cases/semantic/01152/01152-settings.txt
new file mode 100644
index 0000000..ce8f13c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01152/01152-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: p8
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01153/01153-results.csv b/models/sbml-test-suite/cases/semantic/01153/01153-results.csv
new file mode 100644
index 0000000..e9ab4be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01153/01153-results.csv
@@ -0,0 +1,12 @@
+time,i,z,A__A__Q,A__A__y
+0,2,68,2,7
+0.1,2,68,2,7
+0.2,2,68,2,7
+0.3,2,68,2,7
+0.4,2,68,2,7
+0.5,2,68,2,7
+0.6,2,68,2,7
+0.7,2,68,2,7
+0.8,2,68,2,7
+0.9,2,68,2,7
+1,2,68,2,7
diff --git a/models/sbml-test-suite/cases/semantic/01153/01153-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01153/01153-sbml-l3v1.xml
new file mode 100644
index 0000000..ade321e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01153/01153-sbml-l3v1.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.3-beta with libSBML version 5.6.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model id="baz" name="baz">
+    <listOfParameters>
+      <parameter id="z" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="y" comp:submodelRef="A"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="i" value="2" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="z">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 34 </cn>
+            <ci> i </ci>
+          </apply>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="A" comp:modelRef="bar">
+        <comp:listOfDeletions>
+          <comp:deletion comp:idRef="A">
+            <comp:sBaseRef comp:metaIdRef="foo_x_initialassignment"/>
+          </comp:deletion>
+          <comp:deletion comp:idRef="A">
+            <comp:sBaseRef comp:metaIdRef="foo_x_raterule"/>
+          </comp:deletion>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="foo" name="foo">
+      <listOfParameters>
+        <parameter id="x" constant="false"/>
+        <parameter id="y" value="7" constant="true"/>
+        <parameter id="Q" value="2" constant="true"/>
+      </listOfParameters>
+      <listOfInitialAssignments>
+        <initialAssignment metaid="foo_x_initialassignment" symbol="x">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <cn type="integer"> 50 </cn>
+              <ci> Q </ci>
+            </apply>
+          </math>
+        </initialAssignment>
+      </listOfInitialAssignments>
+      <listOfRules>
+        <rateRule metaid="foo_x_raterule" variable="x">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <cn type="integer"> 37 </cn>
+              <ci> y </ci>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+      <comp:listOfPorts>
+        <comp:port comp:idRef="x" comp:id="x"/>
+      </comp:listOfPorts>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="bar" name="bar">
+      <listOfParameters>
+        <parameter id="y" constant="false">
+          <comp:listOfReplacedElements>
+            <comp:replacedElement comp:portRef="x" comp:submodelRef="A"/>
+          </comp:listOfReplacedElements>
+        </parameter>
+      </listOfParameters>
+      <comp:listOfSubmodels>
+        <comp:submodel comp:id="A" comp:modelRef="foo"/>
+      </comp:listOfSubmodels>
+      <comp:listOfPorts>
+        <comp:port comp:idRef="y" comp:id="y"/>
+      </comp:listOfPorts>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01153/01153-settings.txt b/models/sbml-test-suite/cases/semantic/01153/01153-settings.txt
new file mode 100644
index 0000000..e609bc7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01153/01153-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: i, z, A__A__Q, A__A__y
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01154/01154-results.csv b/models/sbml-test-suite/cases/semantic/01154/01154-results.csv
new file mode 100644
index 0000000..53f2288
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01154/01154-results.csv
@@ -0,0 +1,12 @@
+time,sub1__t1,sub1__t2
+0,1,1
+0.1,1,1
+0.2,1,1
+0.3,1,1
+0.4,1,1
+0.5,1,1
+0.6,1,1
+0.7,1,1
+0.8,1,1
+0.9,1,1
+1,1,1
diff --git a/models/sbml-test-suite/cases/semantic/01154/01154-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01154/01154-sbml-l3v1.xml
new file mode 100644
index 0000000..9815572
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01154/01154-sbml-l3v1.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1">
+        <comp:listOfDeletions>
+          <comp:deletion comp:idRef="E0"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t1" value="1" constant="false"/>
+        <parameter id="t2" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfEvents>
+        <event id="E0" useValuesFromTriggerTime="true">
+          <trigger initialValue="true" persistent="true">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <gt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn> 0.31 </cn>
+              </apply>
+            </math>
+          </trigger>
+          <listOfEventAssignments>
+            <eventAssignment metaid="E0_asnt1" variable="t1">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn> 3.3 </cn>
+              </math>
+            </eventAssignment>
+            <eventAssignment metaid="E0_asnt2" variable="t2">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn> 5.5 </cn>
+              </math>
+            </eventAssignment>
+          </listOfEventAssignments>
+        </event>
+      </listOfEvents>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01154/01154-settings.txt b/models/sbml-test-suite/cases/semantic/01154/01154-settings.txt
new file mode 100644
index 0000000..6b76690
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01154/01154-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__t1, sub1__t2
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01155/01155-results.csv b/models/sbml-test-suite/cases/semantic/01155/01155-results.csv
new file mode 100644
index 0000000..6e29b9f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01155/01155-results.csv
@@ -0,0 +1,12 @@
+time,sub1__t1,sub1__t2
+0,1,1
+0.1,1,1
+0.2,1,1
+0.3,1,1
+0.4,3.3,5.5
+0.5,3.3,5.5
+0.6,3.3,5.5
+0.7,3.3,5.5
+0.8,3.3,5.5
+0.9,3.3,5.5
+1,3.3,5.5
diff --git a/models/sbml-test-suite/cases/semantic/01155/01155-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01155/01155-sbml-l3v1.xml
new file mode 100644
index 0000000..000dae7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01155/01155-sbml-l3v1.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1">
+        <comp:listOfDeletions>
+          <comp:deletion comp:metaIdRef="E0_delay"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t1" value="1" constant="false"/>
+        <parameter id="t2" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfEvents>
+        <event id="E0" useValuesFromTriggerTime="true">
+          <trigger initialValue="true" persistent="true">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <gt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn> 0.31 </cn>
+              </apply>
+            </math>
+          </trigger>
+          <delay metaid="E0_delay">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <cn> 0.1 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </math>
+          </delay>
+          <listOfEventAssignments>
+            <eventAssignment metaid="E0_asnt1" variable="t1">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn> 3.3 </cn>
+              </math>
+            </eventAssignment>
+            <eventAssignment metaid="E0_asnt2" variable="t2">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn> 5.5 </cn>
+              </math>
+            </eventAssignment>
+          </listOfEventAssignments>
+        </event>
+      </listOfEvents>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01155/01155-settings.txt b/models/sbml-test-suite/cases/semantic/01155/01155-settings.txt
new file mode 100644
index 0000000..6b76690
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01155/01155-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__t1, sub1__t2
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01156/01156-results.csv b/models/sbml-test-suite/cases/semantic/01156/01156-results.csv
new file mode 100644
index 0000000..32873ad
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01156/01156-results.csv
@@ -0,0 +1,12 @@
+time,sub1__t1,sub1__t2
+0,1,1
+0.1,1,1
+0.2,1,1
+0.3,1,1
+0.4,1,1
+0.5,3.3,5.5
+0.6,3.3,5.5
+0.7,3.3,5.5
+0.8,3.3,5.5
+0.9,3.3,5.5
+1,3.3,5.5
diff --git a/models/sbml-test-suite/cases/semantic/01156/01156-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01156/01156-sbml-l3v1.xml
new file mode 100644
index 0000000..4673cd0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01156/01156-sbml-l3v1.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1">
+        <comp:listOfDeletions>
+          <comp:deletion comp:metaIdRef="E0_priority"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t1" value="1" constant="false"/>
+        <parameter id="t2" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfEvents>
+        <event id="E0" useValuesFromTriggerTime="true">
+          <trigger initialValue="true" persistent="true">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <gt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn> 0.31 </cn>
+              </apply>
+            </math>
+          </trigger>
+          <delay metaid="E0_delay">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.1 </cn>
+            </math>
+          </delay>
+          <priority metaid="E0_priority">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </priority>
+          <listOfEventAssignments>
+            <eventAssignment metaid="E0_asnt1" variable="t1">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn> 3.3 </cn>
+              </math>
+            </eventAssignment>
+            <eventAssignment metaid="E0_asnt2" variable="t2">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn> 5.5 </cn>
+              </math>
+            </eventAssignment>
+          </listOfEventAssignments>
+        </event>
+      </listOfEvents>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01156/01156-settings.txt b/models/sbml-test-suite/cases/semantic/01156/01156-settings.txt
new file mode 100644
index 0000000..6b76690
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01156/01156-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__t1, sub1__t2
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01157/01157-results.csv b/models/sbml-test-suite/cases/semantic/01157/01157-results.csv
new file mode 100644
index 0000000..a473e2e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01157/01157-results.csv
@@ -0,0 +1,12 @@
+time,sub1__t1,sub1__t2
+0,1,1
+0.1,1,1
+0.2,1,1
+0.3,1,1
+0.4,1,5.5
+0.5,1,5.5
+0.6,1,5.5
+0.7,1,5.5
+0.8,1,5.5
+0.9,1,5.5
+1,1,5.5
diff --git a/models/sbml-test-suite/cases/semantic/01157/01157-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01157/01157-sbml-l3v1.xml
new file mode 100644
index 0000000..4e30353
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01157/01157-sbml-l3v1.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1">
+        <comp:listOfDeletions>
+          <comp:deletion comp:metaIdRef="E0_asnt1"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t1" value="1" constant="false"/>
+        <parameter id="t2" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfEvents>
+        <event id="E0" useValuesFromTriggerTime="true">
+          <trigger initialValue="true" persistent="true">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <gt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn> 0.31 </cn>
+              </apply>
+            </math>
+          </trigger>
+          <listOfEventAssignments>
+            <eventAssignment metaid="E0_asnt1" variable="t1">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn> 3.3 </cn>
+              </math>
+            </eventAssignment>
+            <eventAssignment metaid="E0_asnt2" variable="t2">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn> 5.5 </cn>
+              </math>
+            </eventAssignment>
+          </listOfEventAssignments>
+        </event>
+      </listOfEvents>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01157/01157-settings.txt b/models/sbml-test-suite/cases/semantic/01157/01157-settings.txt
new file mode 100644
index 0000000..6b76690
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01157/01157-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__t1, sub1__t2
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01158/01158-results.csv b/models/sbml-test-suite/cases/semantic/01158/01158-results.csv
new file mode 100644
index 0000000..4bea091
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01158/01158-results.csv
@@ -0,0 +1,12 @@
+time,sub1__t1,sub1__t2
+0,1,1
+0.1,1,1
+0.2,1,1
+0.3,1,1
+0.4,3.3,1
+0.5,3.3,1
+0.6,3.3,1
+0.7,3.3,1
+0.8,3.3,1
+0.9,3.3,1
+1,3.3,1
diff --git a/models/sbml-test-suite/cases/semantic/01158/01158-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01158/01158-sbml-l3v1.xml
new file mode 100644
index 0000000..1ed4465
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01158/01158-sbml-l3v1.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1">
+        <comp:listOfDeletions>
+          <comp:deletion comp:metaIdRef="E0_delay"/>
+          <comp:deletion comp:metaIdRef="E0_priority"/>
+          <comp:deletion comp:metaIdRef="E0_asnt2"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t1" value="1" constant="false"/>
+        <parameter id="t2" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfEvents>
+        <event id="E0" useValuesFromTriggerTime="true">
+          <trigger initialValue="true" persistent="true">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <gt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn> 0.31 </cn>
+              </apply>
+            </math>
+          </trigger>
+          <delay metaid="E0_delay">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn> 0.1 </cn>
+            </math>
+          </delay>
+          <priority metaid="E0_priority">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </priority>
+          <listOfEventAssignments>
+            <eventAssignment metaid="E0_asnt1" variable="t1">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn> 3.3 </cn>
+              </math>
+            </eventAssignment>
+            <eventAssignment metaid="E0_asnt2" variable="t2">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn> 5.5 </cn>
+              </math>
+            </eventAssignment>
+          </listOfEventAssignments>
+        </event>
+      </listOfEvents>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01158/01158-settings.txt b/models/sbml-test-suite/cases/semantic/01158/01158-settings.txt
new file mode 100644
index 0000000..6b76690
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01158/01158-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__t1, sub1__t2
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01159/01159-results.csv b/models/sbml-test-suite/cases/semantic/01159/01159-results.csv
new file mode 100644
index 0000000..aa54fdb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01159/01159-results.csv
@@ -0,0 +1,12 @@
+time,sub1__s1,sub1__p1
+0,0.001,10
+0.1,0.002718282,10
+0.2,0.007389056,10
+0.3,0.020085537,10
+0.4,0.05459815,10
+0.5,0.148413159,10
+0.6,0.403428794,10
+0.7,1.096633159,10
+0.8,2.980957989,10
+0.9,8.103083935,10
+1,22.02646582,10
diff --git a/models/sbml-test-suite/cases/semantic/01159/01159-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01159/01159-sbml-l3v1.xml
new file mode 100644
index 0000000..f9c7385
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01159/01159-sbml-l3v1.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1">
+        <comp:listOfDeletions>
+          <comp:deletion comp:metaIdRef="J0_p1"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="p1" value="10" constant="true"/>
+      </listOfParameters>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> p1 </ci>
+                <ci> s1 </ci>
+              </apply>
+            </math>
+            <listOfLocalParameters>
+              <localParameter metaid="J0_p1" id="p1" value="100"/>
+            </listOfLocalParameters>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01159/01159-settings.txt b/models/sbml-test-suite/cases/semantic/01159/01159-settings.txt
new file mode 100644
index 0000000..687ed98
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01159/01159-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__s1, sub1__p1
+absolute: 0.0001
+relative: 0.0001
+amount: sub1__s1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01160/01160-results.csv b/models/sbml-test-suite/cases/semantic/01160/01160-results.csv
new file mode 100644
index 0000000..1b56db9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01160/01160-results.csv
@@ -0,0 +1,12 @@
+time,sub1__s1,new_p1
+0,0.001,10
+0.1,0.002718282,10
+0.2,0.007389056,10
+0.3,0.020085537,10
+0.4,0.05459815,10
+0.5,0.148413159,10
+0.6,0.403428794,10
+0.7,1.096633159,10
+0.8,2.980957989,10
+0.9,8.103083935,10
+1,22.02646582,10
diff --git a/models/sbml-test-suite/cases/semantic/01160/01160-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01160/01160-sbml-l3v1.xml
new file mode 100644
index 0000000..5e09b39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01160/01160-sbml-l3v1.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter metaid="new_p1_metaid" id="new_p1" value="10" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:metaIdRef="J0_p1" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> p1 </ci>
+                <ci> s1 </ci>
+              </apply>
+            </math>
+            <listOfLocalParameters>
+              <localParameter metaid="J0_p1" id="p1" value="100"/>
+            </listOfLocalParameters>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01160/01160-settings.txt b/models/sbml-test-suite/cases/semantic/01160/01160-settings.txt
new file mode 100644
index 0000000..3dfa13e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01160/01160-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__s1, new_p1
+absolute: 0.0001
+relative: 0.0001
+amount: sub1__s1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01161/01161-results.csv b/models/sbml-test-suite/cases/semantic/01161/01161-results.csv
new file mode 100644
index 0000000..0161e4b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01161/01161-results.csv
@@ -0,0 +1,12 @@
+time,sub1__s1,sub1__p1
+0,0.001,100
+0.1,0.002718282,100
+0.2,0.007389056,100
+0.3,0.020085537,100
+0.4,0.05459815,100
+0.5,0.148413159,100
+0.6,0.403428794,100
+0.7,1.096633159,100
+0.8,2.980957989,100
+0.9,8.103083935,100
+1,22.02646582,100
diff --git a/models/sbml-test-suite/cases/semantic/01161/01161-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01161/01161-sbml-l3v1.xml
new file mode 100644
index 0000000..aa05436
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01161/01161-sbml-l3v1.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter metaid="unused_p1" id="p1" value="100" constant="true"/>
+      </listOfParameters>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> p1 </ci>
+                <ci> s1 </ci>
+              </apply>
+            </math>
+            <listOfLocalParameters>
+              <localParameter metaid="J0_p1" id="p1" value="10"/>
+            </listOfLocalParameters>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01161/01161-settings.txt b/models/sbml-test-suite/cases/semantic/01161/01161-settings.txt
new file mode 100644
index 0000000..687ed98
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01161/01161-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__s1, sub1__p1
+absolute: 0.0001
+relative: 0.0001
+amount: sub1__s1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01162/01162-results.csv b/models/sbml-test-suite/cases/semantic/01162/01162-results.csv
new file mode 100644
index 0000000..12b40aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01162/01162-results.csv
@@ -0,0 +1,12 @@
+time,p8
+0,8
+0.1,8
+0.2,8
+0.3,8
+0.4,8
+0.5,8
+0.6,8
+0.7,8
+0.8,8
+0.9,8
+1,8
diff --git a/models/sbml-test-suite/cases/semantic/01162/01162-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01162/01162-sbml-l3v1.xml
new file mode 100644
index 0000000..e48aa3e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01162/01162-sbml-l3v1.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="p8" value="8" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="p80" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1">
+        <comp:listOfDeletions>
+          <comp:deletion comp:portRef="rr_port"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="p80" value="80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <rateRule metaid="p80_raterule" variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <cn type="integer"> 4 </cn>
+                <ci> p80 </ci>
+              </apply>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+      <comp:listOfPorts>
+        <comp:port comp:metaIdRef="p80_raterule" comp:id="rr_port"/>
+      </comp:listOfPorts>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01162/01162-settings.txt b/models/sbml-test-suite/cases/semantic/01162/01162-settings.txt
new file mode 100644
index 0000000..ce8f13c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01162/01162-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: p8
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01163/01163-results.csv b/models/sbml-test-suite/cases/semantic/01163/01163-results.csv
new file mode 100644
index 0000000..aa1eb1b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01163/01163-results.csv
@@ -0,0 +1,12 @@
+time,p8
+0,8
+0.1,8.3
+0.2,8.6
+0.3,8.9
+0.4,9.2
+0.5,9.5
+0.6,9.8
+0.7,10.1
+0.8,10.4
+0.9,10.7
+1,11
diff --git a/models/sbml-test-suite/cases/semantic/01163/01163-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01163/01163-sbml-l3v1.xml
new file mode 100644
index 0000000..9589f71
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01163/01163-sbml-l3v1.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="p8" value="8" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="p80" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule metaid="p8_raterule" variable="p8">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 3 </cn>
+        </math>
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="rr_port" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </rateRule>
+    </listOfRules>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="p80" value="80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <rateRule metaid="p80_raterule" variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <times/>
+                <cn type="integer"> 4 </cn>
+                <ci> p80 </ci>
+              </apply>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+      <comp:listOfPorts>
+        <comp:port comp:metaIdRef="p80_raterule" comp:id="rr_port"/>
+      </comp:listOfPorts>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01163/01163-settings.txt b/models/sbml-test-suite/cases/semantic/01163/01163-settings.txt
new file mode 100644
index 0000000..ce8f13c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01163/01163-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: p8
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01164/01164-results.csv b/models/sbml-test-suite/cases/semantic/01164/01164-results.csv
new file mode 100644
index 0000000..f0017ba
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01164/01164-results.csv
@@ -0,0 +1,12 @@
+time,submod1__S,submod1__E,submod1__D,submod1__ES,submod2__S,submod2__E,submod2__D,submod2__ES
+0,1,1,1,1,1,1,1,1
+0.1,0.826224455,0.880489294,1.054264839,1.119510706,0.826224455,0.880489294,1.054264839,1.119510706
+0.2,0.688713681,0.803334579,1.114620897,1.196665421,0.688713681,0.803334579,1.114620897,1.196665421
+0.3,0.573802873,0.752097389,1.178294515,1.247902611,0.573802873,0.752097389,1.178294515,1.247902611
+0.4,0.474504717,0.717908697,1.24340398,1.282091303,0.474504717,0.717908697,1.24340398,1.282091303
+0.5,0.38673724,0.695438425,1.308701185,1.304561575,0.38673724,0.695438425,1.308701185,1.304561575
+0.6,0.307899775,0.681279843,1.373380067,1.318720157,0.307899775,0.681279843,1.373380067,1.318720157
+0.7,0.236228436,0.673164272,1.436935836,1.326835728,0.236228436,0.673164272,1.436935836,1.326835728
+0.8,0.170467832,0.669533267,1.499065435,1.330466733,0.170467832,0.669533267,1.499065435,1.330466733
+0.9,0.109689269,0.669288501,1.559599232,1.330711499,0.109689269,0.669288501,1.559599232,1.330711499
+1,0.053183501,0.671638504,1.618455003,1.328361496,0.053183501,0.671638504,1.618455003,1.328361496
diff --git a/models/sbml-test-suite/cases/semantic/01164/01164-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01164/01164-sbml-l3v1.xml
new file mode 100644
index 0000000..88360c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01164/01164-sbml-l3v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.3-beta with libSBML version 5.6.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model id="aggregate" name="aggregate">
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="submod1" comp:modelRef="enzyme"/>
+      <comp:submodel comp:id="submod2" comp:modelRef="enzyme"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="enzyme" name="enzyme">
+      <listOfCompartments>
+        <compartment id="comp" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S" compartment="comp" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="E" compartment="comp" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="D" compartment="comp" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="ES" compartment="comp" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="S" stoichiometry="1" constant="true"/>
+            <speciesReference species="E" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="ES" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <apply>
+                  <plus/>
+                  <ci> S </ci>
+                  <ci> E </ci>
+                </apply>
+                <ci> ES </ci>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+        <reaction id="J1" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="ES" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="E" stoichiometry="1" constant="true"/>
+            <speciesReference species="D" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <ci> ES </ci>
+                <apply>
+                  <plus/>
+                  <ci> E </ci>
+                  <ci> D </ci>
+                </apply>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01164/01164-settings.txt b/models/sbml-test-suite/cases/semantic/01164/01164-settings.txt
new file mode 100644
index 0000000..9d00881
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01164/01164-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: submod1__S, submod1__E, submod1__D, submod1__ES, submod2__S, submod2__E, submod2__D, submod2__ES
+absolute: 0.0001
+relative: 0.0001
+amount: submod1__S, submod1__E, submod1__D, submod1__ES, submod2__S, submod2__E, submod2__D, submod2__ES
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01165/01165-results.csv b/models/sbml-test-suite/cases/semantic/01165/01165-results.csv
new file mode 100644
index 0000000..a594045
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01165/01165-results.csv
@@ -0,0 +1,12 @@
+time,S,D,A__E,A__ES
+0,5,10,1,1
+0.1,4.548330057,10.01153314,0.559863195,1.440136805
+0.2,4.245561457,10.02680607,0.272367531,1.727632469
+0.3,4.012168372,10.04485493,0.057023299,1.942976701
+0.4,3.82083238,10.06512526,-0.114042359,2.114042359
+0.5,3.658286173,10.08723524,-0.254478585,2.254478585
+0.6,3.516908247,10.11089743,-0.372194319,2.372194319
+0.7,3.391849585,10.13588378,-0.472266634,2.472266634
+0.8,3.279803709,10.16200706,-0.55818923,2.55818923
+0.9,3.178399668,10.18910995,-0.632490377,2.632490377
+1,3.08587109,10.21705805,-0.697070863,2.697070863
diff --git a/models/sbml-test-suite/cases/semantic/01165/01165-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01165/01165-sbml-l3v1.xml
new file mode 100644
index 0000000..71e1523
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01165/01165-sbml-l3v1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model id="complexified">
+    <listOfCompartments>
+      <compartment id="comp" spatialDimensions="3" size="1" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="comp" comp:submodelRef="A"/>
+          <comp:replacedElement comp:portRef="comp_port" comp:submodelRef="B"/>
+        </comp:listOfReplacedElements>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S" compartment="comp" initialConcentration="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="S" comp:submodelRef="A"/>
+          <comp:replacedElement comp:portRef="S_port" comp:submodelRef="B"/>
+        </comp:listOfReplacedElements>
+      </species>
+      <species id="D" compartment="comp" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="D" comp:submodelRef="A"/>
+          <comp:replacedElement comp:portRef="D_port" comp:submodelRef="B"/>
+        </comp:listOfReplacedElements>
+      </species>
+    </listOfSpecies>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="A" comp:modelRef="ExtMod1"/>
+      <comp:submodel comp:id="B" comp:modelRef="simple">
+        <comp:listOfDeletions>
+          <comp:deletion comp:portRef="J0_port"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="simple">
+      <listOfCompartments>
+        <compartment id="comp" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S" compartment="comp" initialConcentration="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="D" compartment="comp" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="S" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="D" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+        </reaction>
+      </listOfReactions>
+      <comp:listOfPorts>
+        <comp:port comp:idRef="S" comp:id="S_port"/>
+        <comp:port comp:idRef="D" comp:id="D_port"/>
+        <comp:port comp:idRef="comp" comp:id="comp_port"/>
+        <comp:port comp:idRef="J0" comp:id="J0_port"/>
+      </comp:listOfPorts>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+  <comp:listOfExternalModelDefinitions>
+    <comp:externalModelDefinition comp:id="ExtMod1" comp:source="enzyme_model.xml" comp:modelRef="enzyme"/>
+  </comp:listOfExternalModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01165/01165-settings.txt b/models/sbml-test-suite/cases/semantic/01165/01165-settings.txt
new file mode 100644
index 0000000..e14d295
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01165/01165-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S, D, A__E, A__ES
+absolute: 0.0001
+relative: 0.0001
+amount: S, D, A__E, A__ES
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01165/enzyme_model.xml b/models/sbml-test-suite/cases/semantic/01165/enzyme_model.xml
new file mode 100644
index 0000000..88360c9
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01165/enzyme_model.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.3-beta with libSBML version 5.6.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model id="aggregate" name="aggregate">
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="submod1" comp:modelRef="enzyme"/>
+      <comp:submodel comp:id="submod2" comp:modelRef="enzyme"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="enzyme" name="enzyme">
+      <listOfCompartments>
+        <compartment id="comp" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S" compartment="comp" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="E" compartment="comp" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="D" compartment="comp" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="ES" compartment="comp" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="S" stoichiometry="1" constant="true"/>
+            <speciesReference species="E" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="ES" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <apply>
+                  <plus/>
+                  <ci> S </ci>
+                  <ci> E </ci>
+                </apply>
+                <ci> ES </ci>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+        <reaction id="J1" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="ES" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="E" stoichiometry="1" constant="true"/>
+            <speciesReference species="D" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <ci> ES </ci>
+                <apply>
+                  <plus/>
+                  <ci> E </ci>
+                  <ci> D </ci>
+                </apply>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01166/01166-results.csv b/models/sbml-test-suite/cases/semantic/01166/01166-results.csv
new file mode 100644
index 0000000..82f6fc4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01166/01166-results.csv
@@ -0,0 +1,12 @@
+time,S,D,E,ES
+0,5,10,7,0.1
+0.1,3.664104796,10.0061191,5.670223898,1.429776102
+0.2,3.143051041,10.01718314,5.160234185,1.939765815
+0.3,2.769454109,10.03137753,4.800831638,2.299168362
+0.4,2.471504318,10.04801846,4.519522779,2.580477221
+0.5,2.221425283,10.06669337,4.288118651,2.811881349
+0.6,2.005003323,10.08711245,4.092115772,3.007884228
+0.7,1.813816402,10.10905483,3.922871233,3.177128767
+0.8,1.642392139,10.13234338,3.774735524,3.325264476
+0.9,1.486940354,10.15683108,3.643771435,3.456228565
+1,1.344709721,10.18239284,3.527102563,3.572897437
diff --git a/models/sbml-test-suite/cases/semantic/01166/01166-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01166/01166-sbml-l3v1.xml
new file mode 100644
index 0000000..5419e0f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01166/01166-sbml-l3v1.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model id="complexified2">
+    <listOfCompartments>
+      <compartment id="comp" spatialDimensions="3" size="1" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="comp_port" comp:submodelRef="A"/>
+          <comp:replacedElement comp:portRef="comp_port" comp:submodelRef="B"/>
+        </comp:listOfReplacedElements>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S" compartment="comp" initialConcentration="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="S_port" comp:submodelRef="A"/>
+          <comp:replacedElement comp:portRef="S_port" comp:submodelRef="B"/>
+        </comp:listOfReplacedElements>
+      </species>
+      <species id="D" compartment="comp" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="D_port" comp:submodelRef="A"/>
+          <comp:replacedElement comp:portRef="D_port" comp:submodelRef="B"/>
+        </comp:listOfReplacedElements>
+      </species>
+      <species id="E" compartment="comp" initialConcentration="7" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="E_port" comp:submodelRef="A"/>
+        </comp:listOfReplacedElements>
+      </species>
+      <species id="ES" compartment="comp" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="ES_port" comp:submodelRef="A"/>
+        </comp:listOfReplacedElements>
+      </species>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="true"/>
+          <speciesReference species="E" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="ES" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <apply>
+                  <plus/>
+                  <ci> S </ci>
+                  <ci> E </ci>
+                </apply>
+                <ci> ES </ci>
+              </apply>
+            </math>
+          </kineticLaw>
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:submodelRef="B" comp:deletion="oldrxn"/>
+          <comp:replacedElement comp:portRef="J0_port" comp:submodelRef="A"/>
+        </comp:listOfReplacedElements>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="ES" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="true"/>
+          <speciesReference species="D" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <ci> ES </ci>
+                <apply>
+                  <plus/>
+                  <ci> E </ci>
+                  <ci> D </ci>
+                </apply>
+              </apply>
+            </math>
+          </kineticLaw>
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:submodelRef="B" comp:deletion="oldrxn"/>
+          <comp:replacedElement comp:portRef="J1_port" comp:submodelRef="A"/>
+        </comp:listOfReplacedElements>
+      </reaction>
+    </listOfReactions>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="A" comp:modelRef="enzyme"/>
+      <comp:submodel comp:id="B" comp:modelRef="simple">
+        <comp:listOfDeletions>
+          <comp:deletion comp:portRef="J0_port" comp:id="oldrxn"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="enzyme" name="enzyme">
+      <listOfCompartments>
+        <compartment id="comp" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S" compartment="comp" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="E" compartment="comp" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="D" compartment="comp" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="ES" compartment="comp" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="S" stoichiometry="1" constant="true"/>
+            <speciesReference species="E" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="ES" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+        </reaction>
+        <reaction id="J1" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="ES" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="E" stoichiometry="1" constant="true"/>
+            <speciesReference species="D" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+        </reaction>
+      </listOfReactions>
+      <comp:listOfPorts>
+        <comp:port comp:idRef="comp" comp:id="comp_port"/>
+        <comp:port comp:idRef="S" comp:id="S_port"/>
+        <comp:port comp:idRef="E" comp:id="E_port"/>
+        <comp:port comp:idRef="D" comp:id="D_port"/>
+        <comp:port comp:idRef="ES" comp:id="ES_port"/>
+        <comp:port comp:idRef="J0" comp:id="J0_port"/>
+        <comp:port comp:idRef="J1" comp:id="J1_port"/>
+      </comp:listOfPorts>
+    </comp:modelDefinition>
+    <comp:modelDefinition id="simple">
+      <listOfCompartments>
+        <compartment id="comp" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S" compartment="comp" initialConcentration="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="D" compartment="comp" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="S" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="D" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+        </reaction>
+      </listOfReactions>
+      <comp:listOfPorts>
+        <comp:port comp:idRef="S" comp:id="S_port"/>
+        <comp:port comp:idRef="D" comp:id="D_port"/>
+        <comp:port comp:idRef="comp" comp:id="comp_port"/>
+        <comp:port comp:idRef="J0" comp:id="J0_port"/>
+      </comp:listOfPorts>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01166/01166-settings.txt b/models/sbml-test-suite/cases/semantic/01166/01166-settings.txt
new file mode 100644
index 0000000..b63b393
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01166/01166-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S, D, E, ES
+absolute: 0.0001
+relative: 0.0001
+amount: S, D, E, ES
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01167/01167-results.csv b/models/sbml-test-suite/cases/semantic/01167/01167-results.csv
new file mode 100644
index 0000000..907b3d3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01167/01167-results.csv
@@ -0,0 +1,12 @@
+time,A__S,A__E,A__D,A__ES
+0,10,5,7,0.1
+0.1,8.482169858,3.492274814,7.010104956,1.607725186
+0.2,7.884531647,2.913468724,7.028937077,2.186531276
+0.3,7.451424604,2.505020528,7.053595923,2.594979472
+0.4,7.10262587,2.185575942,7.082950073,2.914424058
+0.5,6.807120371,1.923406113,7.116285743,3.176593887
+0.6,6.549044028,1.702120618,7.153076591,3.397879382
+0.7,6.319001838,1.511903381,7.192901543,3.588096619
+0.8,6.110893375,1.346300519,7.235407144,3.753699481
+0.9,5.920497173,1.200784828,7.280287654,3.899215172
+1,5.744752178,1.072025641,7.327273463,4.027974359
diff --git a/models/sbml-test-suite/cases/semantic/01167/01167-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01167/01167-sbml-l3v1.xml
new file mode 100644
index 0000000..6ab7a91
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01167/01167-sbml-l3v1.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="A" comp:modelRef="EM1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfExternalModelDefinitions>
+    <comp:externalModelDefinition comp:id="EM1" comp:source="enzyme_identical.xml" comp:modelRef="ExtMod1"/>
+  </comp:listOfExternalModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01167/01167-settings.txt b/models/sbml-test-suite/cases/semantic/01167/01167-settings.txt
new file mode 100644
index 0000000..7040a8a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01167/01167-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: A__S, A__E, A__D, A__ES
+absolute: 0.0001
+relative: 0.0001
+amount: A__S, A__E, A__D, A__ES
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01167/enzyme_identical.xml b/models/sbml-test-suite/cases/semantic/01167/enzyme_identical.xml
new file mode 100644
index 0000000..6152e23
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01167/enzyme_identical.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="comp" spatialDimensions="3" size="1" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="comp" comp:submodelRef="A" />
+          <comp:replacedElement comp:idRef="comp" comp:submodelRef="B" />
+        </comp:listOfReplacedElements>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S" compartment="comp" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="S" comp:submodelRef="A" />
+          <comp:replacedElement comp:idRef="S" comp:submodelRef="B" />
+        </comp:listOfReplacedElements>
+      </species>
+    </listOfSpecies>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="A" comp:modelRef="ExtMod1"/>
+      <comp:submodel comp:id="B" comp:modelRef="ExtMod1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfExternalModelDefinitions>
+    <comp:externalModelDefinition comp:id="ExtMod1" comp:source="enzyme_model.xml" comp:modelRef="enzyme"/>
+  </comp:listOfExternalModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01167/enzyme_model.xml b/models/sbml-test-suite/cases/semantic/01167/enzyme_model.xml
new file mode 100644
index 0000000..e8cd3aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01167/enzyme_model.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.3-beta with libSBML version 5.6.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model id="aggregate" name="aggregate">
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="submod1" comp:modelRef="enzyme"/>
+      <comp:submodel comp:id="submod2" comp:modelRef="enzyme"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="enzyme" name="enzyme">
+      <listOfCompartments>
+        <compartment id="comp" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S" compartment="comp" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="E" compartment="comp" initialConcentration="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="D" compartment="comp" initialConcentration="7" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="ES" compartment="comp" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="S" stoichiometry="1" constant="true"/>
+            <speciesReference species="E" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="ES" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <apply>
+                  <plus/>
+                  <ci> S </ci>
+                  <ci> E </ci>
+                </apply>
+                <ci> ES </ci>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+        <reaction id="J1" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="ES" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="E" stoichiometry="1" constant="true"/>
+            <speciesReference species="D" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <ci> ES </ci>
+                <apply>
+                  <plus/>
+                  <ci> E </ci>
+                  <ci> D </ci>
+                </apply>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01168/01168-results.csv b/models/sbml-test-suite/cases/semantic/01168/01168-results.csv
new file mode 100644
index 0000000..dad96c4
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01168/01168-results.csv
@@ -0,0 +1,12 @@
+time,A__S,A__A__E,A__A__D,A__A__ES,A__B__E,A__B__D,A__B__ES
+0,11,5,7,0.1,5,7,0.1
+0.1,7.968041799,3.494212251,7.010191352,1.605787749,3.494212251,7.010191352,1.605787749
+0.2,6.843419736,2.950509295,7.028799428,2.149490705,2.950509295,7.028799428,2.149490705
+0.3,6.056547334,2.581012746,7.052739079,2.518987254,2.581012746,7.052739079,2.518987254
+0.4,5.441847529,2.301711558,7.080787793,2.798288442,2.301711558,7.080787793,2.798288442
+0.5,4.935432006,2.079890157,7.112174154,3.020109843,2.079890157,7.112174154,3.020109843
+0.6,4.504681849,1.898676065,7.146335141,3.201323935,1.898676065,7.146335141,3.201323935
+0.7,4.130313089,1.747984935,7.18282839,3.352015065,1.747984935,7.18282839,3.352015065
+0.8,3.79982467,1.621203533,7.221291198,3.478796467,1.621203533,7.221291198,3.478796467
+0.9,3.504579117,1.513707791,7.261418232,3.586292209,1.513707791,7.261418232,3.586292209
+1,3.238321984,1.422109056,7.302948064,3.677890944,1.422109056,7.302948064,3.677890944
diff --git a/models/sbml-test-suite/cases/semantic/01168/01168-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01168/01168-sbml-l3v1.xml
new file mode 100644
index 0000000..d8536d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01168/01168-sbml-l3v1.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="A" comp:modelRef="EM1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfExternalModelDefinitions>
+    <comp:externalModelDefinition comp:id="EM1" comp:source="enzyme_identical.xml"/>
+  </comp:listOfExternalModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01168/01168-settings.txt b/models/sbml-test-suite/cases/semantic/01168/01168-settings.txt
new file mode 100644
index 0000000..5a5e576
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01168/01168-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: A__S, A__A__E, A__A__D, A__A__ES, A__B__E, A__B__D, A__B__ES
+absolute: 0.0001
+relative: 0.0001
+amount: A__S, A__A__E, A__A__D, A__A__ES, A__B__E, A__B__D, A__B__ES
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01168/enzyme_identical.xml b/models/sbml-test-suite/cases/semantic/01168/enzyme_identical.xml
new file mode 100644
index 0000000..1eb1300
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01168/enzyme_identical.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="comp" spatialDimensions="3" size="1" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="comp" comp:submodelRef="A" />
+          <comp:replacedElement comp:idRef="comp" comp:submodelRef="B" />
+        </comp:listOfReplacedElements>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S" compartment="comp" initialConcentration="11" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="S" comp:submodelRef="A" />
+          <comp:replacedElement comp:idRef="S" comp:submodelRef="B" />
+        </comp:listOfReplacedElements>
+      </species>
+    </listOfSpecies>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="A" comp:modelRef="ExtMod1"/>
+      <comp:submodel comp:id="B" comp:modelRef="ExtMod1"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfExternalModelDefinitions>
+    <comp:externalModelDefinition comp:id="ExtMod1" comp:source="enzyme_model.xml" comp:modelRef="enzyme"/>
+  </comp:listOfExternalModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01168/enzyme_model.xml b/models/sbml-test-suite/cases/semantic/01168/enzyme_model.xml
new file mode 100644
index 0000000..e8cd3aa
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01168/enzyme_model.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.3-beta with libSBML version 5.6.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model id="aggregate" name="aggregate">
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="submod1" comp:modelRef="enzyme"/>
+      <comp:submodel comp:id="submod2" comp:modelRef="enzyme"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="enzyme" name="enzyme">
+      <listOfCompartments>
+        <compartment id="comp" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S" compartment="comp" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="E" compartment="comp" initialConcentration="5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="D" compartment="comp" initialConcentration="7" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+        <species id="ES" compartment="comp" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="S" stoichiometry="1" constant="true"/>
+            <speciesReference species="E" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="ES" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <apply>
+                  <plus/>
+                  <ci> S </ci>
+                  <ci> E </ci>
+                </apply>
+                <ci> ES </ci>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+        <reaction id="J1" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="ES" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <listOfProducts>
+            <speciesReference species="E" stoichiometry="1" constant="true"/>
+            <speciesReference species="D" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <ci> ES </ci>
+                <apply>
+                  <plus/>
+                  <ci> E </ci>
+                  <ci> D </ci>
+                </apply>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01169/01169-results.csv b/models/sbml-test-suite/cases/semantic/01169/01169-results.csv
new file mode 100644
index 0000000..07c6672
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01169/01169-results.csv
@@ -0,0 +1,12 @@
+time,A__S1,Q,R,cf,X,U1,U2,A__y,A__k1
+0,7.2,-2.85,20,100,15,1.1,23,8.8,1.06
+0.1,7.073917012,-2.849666667,20,100,15.03333333,1.115016667,23,8.8,1.06
+0.2,6.95004193,-2.849333333,20,100,15.06666667,1.130066667,23,8.8,1.06
+0.3,6.82833609,-2.849,20,100,15.1,1.14515,23,8.8,1.06
+0.4,6.708761504,-2.848666667,20,100,15.13333333,1.160266667,23,8.8,1.06
+0.5,6.591280852,-2.848333333,20,100,15.16666667,1.175416667,23,4,1.06
+0.6,6.475857466,-2.848,20,100,15.2,1.1906,23,4,1.06
+0.7,6.362455319,-2.847666667,20,100,15.23333333,1.205816667,23,4,1.06
+0.8,6.251039017,-2.847333333,20,100,15.26666667,1.221066667,23,4,1.06
+0.9,6.141573784,-2.847,20,100,15.3,1.23635,23,4,1.06
+1,6.034025455,-2.846666667,20,100,15.33333333,1.251666667,23,4,1.06
diff --git a/models/sbml-test-suite/cases/semantic/01169/01169-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01169/01169-sbml-l3v1.xml
new file mode 100644
index 0000000..bdc6765
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01169/01169-sbml-l3v1.xml
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.3-beta with libSBML version 5.6.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model id="testmod" name="testmod">
+    <listOfParameters>
+      <parameter id="extentconv" value="10" constant="true"/>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="Q" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="q" comp:submodelRef="A"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="R" value="20" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="r" comp:submodelRef="A"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="cf" value="100" constant="true"/>
+      <parameter id="X" value="15" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:portRef="x" comp:submodelRef="A" comp:conversionFactor="cf"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="U1" value="1.1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="unused" comp:submodelRef="A"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="U2" value="23" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="unused2" comp:submodelRef="A"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <listOfRules>
+      <rateRule variable="U1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <divide/>
+            <ci> X </ci>
+            <cn type="integer"> 100 </cn>
+          </apply>
+        </math>
+      </rateRule>
+      <assignmentRule variable="U2">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <cn type="integer"> 23 </cn>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="A" comp:modelRef="submod" comp:timeConversionFactor="timeconv" comp:extentConversionFactor="extentconv">
+        <comp:listOfDeletions>
+          <comp:deletion comp:metaIdRef="submod_unused_raterule"/>
+          <comp:deletion comp:metaIdRef="submod_unused2_assignmentrule"/>
+        </comp:listOfDeletions>
+      </comp:submodel>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="submod" name="submod">
+      <listOfCompartments>
+        <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="S1" compartment="default_compartment" initialConcentration="7.2" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="q" constant="false"/>
+        <parameter id="r" value="-4" constant="true"/>
+        <parameter id="x" value="3" constant="false"/>
+        <parameter id="unused2" value="3" constant="false"/>
+        <parameter id="unused" value="10" constant="false"/>
+        <parameter id="k1" value="1.06" constant="true"/>
+        <parameter id="y" value="8.8" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="q">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <ci> x </ci>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+        <rateRule variable="x">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.2 </cn>
+          </math>
+        </rateRule>
+        <assignmentRule metaid="submod_unused2_assignmentrule" variable="unused2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 3 </cn>
+          </math>
+        </assignmentRule>
+        <rateRule metaid="submod_unused_raterule" variable="unused">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn> 0.3 </cn>
+          </math>
+        </rateRule>
+      </listOfRules>
+      <listOfReactions>
+        <reaction id="_J0" reversible="true" fast="false">
+          <listOfReactants>
+            <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          </listOfReactants>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> k1 </ci>
+                <ci> S1 </ci>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+      <listOfEvents>
+        <event id="_E0" useValuesFromTriggerTime="true">
+          <trigger initialValue="true" persistent="true">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <gt/>
+                <ci> x </ci>
+                <cn> 0.1515 </cn>
+              </apply>
+            </math>
+          </trigger>
+          <priority>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> q </ci>
+            </math>
+          </priority>
+          <listOfEventAssignments>
+            <eventAssignment variable="y">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn type="integer"> 4 </cn>
+              </math>
+            </eventAssignment>
+          </listOfEventAssignments>
+        </event>
+        <event id="_E1" useValuesFromTriggerTime="true">
+          <trigger initialValue="true" persistent="true">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <gt/>
+                <ci> x </ci>
+                <cn> 0.1515 </cn>
+              </apply>
+            </math>
+          </trigger>
+          <priority>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <ci> r </ci>
+            </math>
+          </priority>
+          <listOfEventAssignments>
+            <eventAssignment variable="y">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <cn type="integer"> 5 </cn>
+              </math>
+            </eventAssignment>
+          </listOfEventAssignments>
+        </event>
+      </listOfEvents>
+      <comp:listOfPorts>
+        <comp:port comp:idRef="q" comp:id="q"/>
+        <comp:port comp:idRef="r" comp:id="r"/>
+        <comp:port comp:idRef="x" comp:id="x"/>
+      </comp:listOfPorts>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01169/01169-settings.txt b/models/sbml-test-suite/cases/semantic/01169/01169-settings.txt
new file mode 100644
index 0000000..f66b7b5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01169/01169-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: A__S1, Q, R, cf, X, U1, U2, A__y, A__k1
+absolute: 0.0001
+relative: 0.0001
+amount: A__S1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01170/01170-results.csv b/models/sbml-test-suite/cases/semantic/01170/01170-results.csv
new file mode 100644
index 0000000..816e196
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01170/01170-results.csv
@@ -0,0 +1,12 @@
+time,t3,s1
+0,10,0.001
+0.1,10,0.001013889
+0.2,10,0.001055556
+0.3,10,0.001125
+0.4,10,0.001222222
+0.5,10,0.001347222
+0.6,10,0.0015
+0.7,10,0.001680556
+0.8,10,0.001888889
+0.9,10,0.002125
+1,10,0.002388889
diff --git a/models/sbml-test-suite/cases/semantic/01170/01170-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01170/01170-sbml-l3v1.xml
new file mode 100644
index 0000000..fe500ac
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01170/01170-sbml-l3v1.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="true">
+        <comp:replacedBy comp:idRef="C" comp:submodelRef="sub1"/>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false">
+        <comp:replacedBy comp:idRef="s1" comp:submodelRef="sub1"/>
+      </species>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="t3" value="10" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t3" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="t3" value="10" constant="true"/>
+      </listOfParameters>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <ci> t3 </ci>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01170/01170-settings.txt b/models/sbml-test-suite/cases/semantic/01170/01170-settings.txt
new file mode 100644
index 0000000..7cfd124
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01170/01170-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: t3, s1
+absolute: 0.0001
+relative: 0.0001
+amount: s1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01171/01171-results.csv b/models/sbml-test-suite/cases/semantic/01171/01171-results.csv
new file mode 100644
index 0000000..2fd12cd
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01171/01171-results.csv
@@ -0,0 +1,12 @@
+time,t2
+0,3
+0.1,3.001666667
+0.2,3.003333333
+0.3,3.005
+0.4,3.006666667
+0.5,3.008333333
+0.6,3.01
+0.7,3.011666667
+0.8,3.013333333
+0.9,3.015
+1,3.016666667
diff --git a/models/sbml-test-suite/cases/semantic/01171/01171-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01171/01171-sbml-l3v1.xml
new file mode 100644
index 0000000..5996ddb
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01171/01171-sbml-l3v1.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model id="doc0" name="doc0">
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="t2" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t2" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1" name="moddef1">
+      <listOfParameters>
+        <parameter id="t2" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="t2">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01171/01171-settings.txt b/models/sbml-test-suite/cases/semantic/01171/01171-settings.txt
new file mode 100644
index 0000000..299bbf7
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01171/01171-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: t2
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01172/01172-results.csv b/models/sbml-test-suite/cases/semantic/01172/01172-results.csv
new file mode 100644
index 0000000..164fd02
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01172/01172-results.csv
@@ -0,0 +1,12 @@
+time,t1
+0,1
+0.1,1.005001384
+0.2,1.010005519
+0.3,1.015012376
+0.4,1.02002193
+0.5,1.025034154
+0.6,1.030049021
+0.7,1.035066506
+0.8,1.040086584
+0.9,1.045109229
+1,1.050134418
diff --git a/models/sbml-test-suite/cases/semantic/01172/01172-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01172/01172-sbml-l3v1.xml
new file mode 100644
index 0000000..7fa52be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01172/01172-sbml-l3v1.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="t1" value="1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t1" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t1" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <rateRule variable="t1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <divide/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> t1 </ci>
+              </apply>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01172/01172-settings.txt b/models/sbml-test-suite/cases/semantic/01172/01172-settings.txt
new file mode 100644
index 0000000..3d3ce44
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01172/01172-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: t1
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01173/01173-results.csv b/models/sbml-test-suite/cases/semantic/01173/01173-results.csv
new file mode 100644
index 0000000..0c50bd2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01173/01173-results.csv
@@ -0,0 +1,12 @@
+Time,t1,t3
+0,0,-3
+0.1,0.001666667,-2.998333333
+0.2,0.003333333,-2.996666667
+0.3,0.005,-2.995
+0.4,0.006666667,-2.993333333
+0.5,0.008333333,-2.991666667
+0.6,0.01,-2.99
+0.7,0.011666667,-2.988333333
+0.8,0.013333333,-2.986666667
+0.9,0.015,-2.985
+1,0.016666667,-2.983333333
diff --git a/models/sbml-test-suite/cases/semantic/01173/01173-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01173/01173-sbml-l3v1.xml
new file mode 100644
index 0000000..a3e6771
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01173/01173-sbml-l3v1.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="t1" value="1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t1" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="t3" value="1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t3" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t1" constant="false"/>
+        <parameter id="t3" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="t1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </math>
+        </assignmentRule>
+        <assignmentRule variable="t3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+              <ci> t1 </ci>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01173/01173-settings.txt b/models/sbml-test-suite/cases/semantic/01173/01173-settings.txt
new file mode 100644
index 0000000..dfee5e8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01173/01173-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: t1, t3
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01174/01174-results.csv b/models/sbml-test-suite/cases/semantic/01174/01174-results.csv
new file mode 100644
index 0000000..8e0afee
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01174/01174-results.csv
@@ -0,0 +1,12 @@
+Time,t3,t4
+0,3,3
+0.1,3,3
+0.2,3,3
+0.3,3,3
+0.4,3,3
+0.5,3,3
+0.6,3,3
+0.7,3,3
+0.8,3,3
+0.9,3,3
+1,3,3
diff --git a/models/sbml-test-suite/cases/semantic/01174/01174-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01174/01174-sbml-l3v1.xml
new file mode 100644
index 0000000..864d90a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01174/01174-sbml-l3v1.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="t3" value="1" constant="true">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t3" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+      <parameter id="t4" value="1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t4" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t3" value="1" constant="true"/>
+        <parameter id="t4" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfInitialAssignments>
+        <initialAssignment symbol="t3">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </initialAssignment>
+      </listOfInitialAssignments>
+      <listOfRules>
+        <algebraicRule>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <ci> t4 </ci>
+              <apply>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+                <ci> t3 </ci>
+                <apply>
+                  <divide/>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </algebraicRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01174/01174-settings.txt b/models/sbml-test-suite/cases/semantic/01174/01174-settings.txt
new file mode 100644
index 0000000..3a07407
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01174/01174-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: t3, t4
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01175/01175-results.csv b/models/sbml-test-suite/cases/semantic/01175/01175-results.csv
new file mode 100644
index 0000000..667eb58
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01175/01175-results.csv
@@ -0,0 +1,12 @@
+time,t5,s1
+0,3.1,0.001
+0.1,3.1,0.001943651
+0.2,3.1,0.003480102
+0.3,3.1,0.00509902
+0.4,3.1,0.006741249
+0.5,3.1,0.008393119
+0.6,3.1,0.010049876
+0.7,3.1,0.011709445
+0.8,3.1,0.013370781
+0.9,3.1,0.015033296
+1,3.1,0.01669664
diff --git a/models/sbml-test-suite/cases/semantic/01175/01175-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01175/01175-sbml-l3v1.xml
new file mode 100644
index 0000000..a8d9884
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01175/01175-sbml-l3v1.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="true">
+        <comp:replacedBy comp:idRef="C" comp:submodelRef="sub1"/>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false">
+        <comp:replacedBy comp:idRef="s1" comp:submodelRef="sub1"/>
+      </species>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="t5" value="3.1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t5" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="t5" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> t5 </ci>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> s1 </ci>
+                  <ci> t5 </ci>
+                </apply>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01175/01175-settings.txt b/models/sbml-test-suite/cases/semantic/01175/01175-settings.txt
new file mode 100644
index 0000000..e85da60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01175/01175-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: t5, s1
+absolute: 0.0001
+relative: 0.0001
+amount: s1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01176/01176-results.csv b/models/sbml-test-suite/cases/semantic/01176/01176-results.csv
new file mode 100644
index 0000000..ae7f13f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01176/01176-results.csv
@@ -0,0 +1,12 @@
+Time,t5,s1,,,
+0,0,0.001,,,
+0.1,0.001666667,1.00E-03,,,
+0.2,0.003333333,9.99E-04,,,
+0.3,0.005,9.98E-04,,,
+0.4,0.006666667,9.96E-04,,,
+0.5,0.008333333,9.93E-04,,,
+0.6,0.01,9.90E-04,,,
+0.7,0.011666667,9.87E-04,,,
+0.8,0.013333333,9.83E-04,,,
+0.9,0.015,9.79E-04,,,
+1,0.016666667,9.74E-04,,,
diff --git a/models/sbml-test-suite/cases/semantic/01176/01176-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01176/01176-sbml-l3v1.xml
new file mode 100644
index 0000000..726b440
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01176/01176-sbml-l3v1.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="true">
+        <comp:replacedBy comp:idRef="C" comp:submodelRef="sub1"/>
+      </compartment>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false">
+        <comp:replacedBy comp:idRef="s1" comp:submodelRef="sub1"/>
+      </species>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="t5" value="3.2" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t5" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="0.001" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="t5" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="t5">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <times/>
+                <apply>
+                  <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol>
+                  <ci> t5 </ci>
+                  <cn> 0.2 </cn>
+                </apply>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01176/01176-settings.txt b/models/sbml-test-suite/cases/semantic/01176/01176-settings.txt
new file mode 100644
index 0000000..e85da60
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01176/01176-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: t5, s1
+absolute: 0.0001
+relative: 0.0001
+amount: s1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01177/01177-results.csv b/models/sbml-test-suite/cases/semantic/01177/01177-results.csv
new file mode 100644
index 0000000..9bae51f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01177/01177-results.csv
@@ -0,0 +1,12 @@
+time,t5
+0,1
+0.1,1
+0.2,1
+0.3,1
+0.4,1
+0.5,0.005
+0.6,0.005
+0.7,0.005
+0.8,0.005
+0.9,0.005
+1,0.005
diff --git a/models/sbml-test-suite/cases/semantic/01177/01177-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01177/01177-sbml-l3v1.xml
new file mode 100644
index 0000000..a3c3719
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01177/01177-sbml-l3v1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="t5" value="1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t5" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t5" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfEvents>
+        <event useValuesFromTriggerTime="true">
+          <trigger initialValue="true" persistent="true">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <gt/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <cn> 0.005 </cn>
+              </apply>
+            </math>
+          </trigger>
+          <delay>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <apply>
+                <divide/>
+                <cn> 0.00001 </cn>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </apply>
+            </math>
+          </delay>
+          <listOfEventAssignments>
+            <eventAssignment variable="t5">
+              <math xmlns="http://www.w3.org/1998/Math/MathML">
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              </math>
+            </eventAssignment>
+          </listOfEventAssignments>
+        </event>
+      </listOfEvents>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01177/01177-settings.txt b/models/sbml-test-suite/cases/semantic/01177/01177-settings.txt
new file mode 100644
index 0000000..876be39
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01177/01177-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: t5
+absolute: 0.0001
+relative: 0.0001
+amount:
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01178/01178-results.csv b/models/sbml-test-suite/cases/semantic/01178/01178-results.csv
new file mode 100644
index 0000000..9ea07f3
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01178/01178-results.csv
@@ -0,0 +1,12 @@
+time,sub1__s1,sub1__p80
+0,1,16
+0.1,1001,16
+0.2,2001,16
+0.3,3001,16
+0.4,4001,16
+0.5,5001,16
+0.6,6001,16
+0.7,7001,16
+0.8,8001,16
+0.9,9001,16
+1,10001,16
diff --git a/models/sbml-test-suite/cases/semantic/01178/01178-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01178/01178-sbml-l3v1.xml
new file mode 100644
index 0000000..a4c2c78
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01178/01178-sbml-l3v1.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="extentconv" value="1000" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:extentConversionFactor="extentconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="p80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <ci> J0 </ci>
+              <cn type="integer"> 6 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01178/01178-settings.txt b/models/sbml-test-suite/cases/semantic/01178/01178-settings.txt
new file mode 100644
index 0000000..6ffaba2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01178/01178-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__s1, sub1__p80
+absolute: 0.0001
+relative: 0.0001
+amount: sub1__s1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01179/01179-results.csv b/models/sbml-test-suite/cases/semantic/01179/01179-results.csv
new file mode 100644
index 0000000..09b92be
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01179/01179-results.csv
@@ -0,0 +1,12 @@
+time,t1
+0,1
+0.1,1.00005
+0.2,1.000100001
+0.3,1.000150001
+0.4,1.000200002
+0.5,1.000250003
+0.6,1.000300005
+0.7,1.000350007
+0.8,1.000400009
+0.9,1.000450011
+1,1.000500014
diff --git a/models/sbml-test-suite/cases/semantic/01179/01179-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01179/01179-sbml-l3v1.xml
new file mode 100644
index 0000000..1f17da8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01179/01179-sbml-l3v1.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="paramconv" value="0.01" constant="true"/>
+      <parameter id="t1" value="1" constant="false">
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="t1" comp:submodelRef="sub1" comp:conversionFactor="paramconv"/>
+        </comp:listOfReplacedElements>
+      </parameter>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfParameters>
+        <parameter id="t1" value="1" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <rateRule variable="t1">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <apply>
+                <divide/>
+                <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+                <ci> t1 </ci>
+              </apply>
+              <cn type="integer"> 3 </cn>
+            </apply>
+          </math>
+        </rateRule>
+      </listOfRules>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01179/01179-settings.txt b/models/sbml-test-suite/cases/semantic/01179/01179-settings.txt
new file mode 100644
index 0000000..3d3ce44
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01179/01179-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: t1
+absolute: 0.0001
+relative: 0.0001
+amount: 
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01180/01180-results.csv b/models/sbml-test-suite/cases/semantic/01180/01180-results.csv
new file mode 100644
index 0000000..8a03480
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01180/01180-results.csv
@@ -0,0 +1,12 @@
+time,sub1__s1,sub1__p80
+0,1,16
+0.1,1.016666667,16
+0.2,1.033333333,16
+0.3,1.05,16
+0.4,1.066666667,16
+0.5,1.083333333,16
+0.6,1.1,16
+0.7,1.116666667,16
+0.8,1.133333333,16
+0.9,1.15,16
+1,1.166666667,16
diff --git a/models/sbml-test-suite/cases/semantic/01180/01180-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01180/01180-sbml-l3v1.xml
new file mode 100644
index 0000000..e885c08
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01180/01180-sbml-l3v1.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="timeconv" value="60" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="p80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <ci> J0 </ci>
+              <cn type="integer"> 6 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01180/01180-settings.txt b/models/sbml-test-suite/cases/semantic/01180/01180-settings.txt
new file mode 100644
index 0000000..6ffaba2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01180/01180-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__s1, sub1__p80
+absolute: 0.0001
+relative: 0.0001
+amount: sub1__s1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01181/01181-results.csv b/models/sbml-test-suite/cases/semantic/01181/01181-results.csv
new file mode 100644
index 0000000..b64aa64
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01181/01181-results.csv
@@ -0,0 +1,12 @@
+time,sub1__s1,sub1__p80
+0,1,16
+0.1,17.66666667,16
+0.2,34.33333333,16
+0.3,51,16
+0.4,67.66666667,16
+0.5,84.33333333,16
+0.6,101,16
+0.7,117.6666667,16
+0.8,134.3333333,16
+0.9,151,16
+1,167.6666667,16
diff --git a/models/sbml-test-suite/cases/semantic/01181/01181-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01181/01181-sbml-l3v1.xml
new file mode 100644
index 0000000..01f0ac8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01181/01181-sbml-l3v1.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfParameters>
+      <parameter id="extentconv" value="1000" constant="true"/>
+      <parameter id="timeconv" value="60" constant="true"/>
+    </listOfParameters>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv" comp:extentConversionFactor="extentconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="p80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <ci> J0 </ci>
+              <cn type="integer"> 6 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01181/01181-settings.txt b/models/sbml-test-suite/cases/semantic/01181/01181-settings.txt
new file mode 100644
index 0000000..6ffaba2
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01181/01181-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: sub1__s1, sub1__p80
+absolute: 0.0001
+relative: 0.0001
+amount: sub1__s1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01182/01182-results.csv b/models/sbml-test-suite/cases/semantic/01182/01182-results.csv
new file mode 100644
index 0000000..9a5e186
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01182/01182-results.csv
@@ -0,0 +1,12 @@
+time,s1,sub1__p80
+0,1,16
+0.1,2,16
+0.2,3,16
+0.3,4,16
+0.4,5,16
+0.5,6,16
+0.6,7,16
+0.7,8,16
+0.8,9,16
+0.9,10,16
+1,11,16
diff --git a/models/sbml-test-suite/cases/semantic/01182/01182-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01182/01182-sbml-l3v1.xml
new file mode 100644
index 0000000..830a31b
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01182/01182-sbml-l3v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="s1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="extentconv" value="1000" constant="true"/>
+      <parameter id="timeconv" value="60" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="s1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </kineticLaw>
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="J0" comp:submodelRef="sub1"/>
+        </comp:listOfReplacedElements>
+      </reaction>
+    </listOfReactions>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv" comp:extentConversionFactor="extentconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="p80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <ci> J0 </ci>
+              <cn type="integer"> 6 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01182/01182-settings.txt b/models/sbml-test-suite/cases/semantic/01182/01182-settings.txt
new file mode 100644
index 0000000..efb0959
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01182/01182-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: s1, sub1__p80
+absolute: 0.0001
+relative: 0.0001
+amount: s1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01183/01183-results.csv b/models/sbml-test-suite/cases/semantic/01183/01183-results.csv
new file mode 100644
index 0000000..89dfd77
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01183/01183-results.csv
@@ -0,0 +1,12 @@
+time,s1,sub1__p80
+0,1,6.6
+0.1,2,6.6
+0.2,3,6.6
+0.3,4,6.6
+0.4,5,6.6
+0.5,6,6.6
+0.6,7,6.6
+0.7,8,6.6
+0.8,9,6.6
+0.9,10,6.6
+1,11,6.6
diff --git a/models/sbml-test-suite/cases/semantic/01183/01183-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01183/01183-sbml-l3v1.xml
new file mode 100644
index 0000000..65c6181
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01183/01183-sbml-l3v1.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
+  <model>
+    <listOfCompartments>
+      <compartment id="C" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="s1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="extentconv" value="1000" constant="true"/>
+      <parameter id="timeconv" value="60" constant="true"/>
+      <parameter id="extentpertimeconv" value="16.6666666666667" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="s1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <cn type="integer"> 10 </cn>
+          </math>
+        </kineticLaw>
+        <comp:listOfReplacedElements>
+          <comp:replacedElement comp:idRef="J0" comp:submodelRef="sub1" comp:conversionFactor="extentpertimeconv"/>
+        </comp:listOfReplacedElements>
+      </reaction>
+    </listOfReactions>
+    <comp:listOfSubmodels>
+      <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv" comp:extentConversionFactor="extentconv"/>
+    </comp:listOfSubmodels>
+  </model>
+  <comp:listOfModelDefinitions>
+    <comp:modelDefinition id="moddef1">
+      <listOfCompartments>
+        <compartment id="C" size="1" constant="true"/>
+      </listOfCompartments>
+      <listOfSpecies>
+        <species id="s1" compartment="C" initialAmount="1" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      </listOfSpecies>
+      <listOfParameters>
+        <parameter id="p80" constant="false"/>
+      </listOfParameters>
+      <listOfRules>
+        <assignmentRule variable="p80">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <plus/>
+              <ci> J0 </ci>
+              <cn type="integer"> 6 </cn>
+            </apply>
+          </math>
+        </assignmentRule>
+      </listOfRules>
+      <listOfReactions>
+        <reaction id="J0" reversible="true" fast="false">
+          <listOfProducts>
+            <speciesReference species="s1" stoichiometry="1" constant="true"/>
+          </listOfProducts>
+          <kineticLaw>
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 10 </cn>
+            </math>
+          </kineticLaw>
+        </reaction>
+      </listOfReactions>
+    </comp:modelDefinition>
+  </comp:listOfModelDefinitions>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01183/01183-settings.txt b/models/sbml-test-suite/cases/semantic/01183/01183-settings.txt
new file mode 100644
index 0000000..efb0959
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01183/01183-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: s1, sub1__p80
+absolute: 0.0001
+relative: 0.0001
+amount: s1
+concentration:
diff --git a/models/sbml-test-suite/cases/semantic/01184/01184-results.csv b/models/sbml-test-suite/cases/semantic/01184/01184-results.csv
new file mode 100644
index 0000000..6831e90
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01184/01184-results.csv
@@ -0,0 +1,12 @@
+time,S1,k1,y
+0,1,3,3
+0.1,1.3,3,3
+0.2,1.6,3,3
+0.3,1.9,3,3
+0.4,2.2,3,3
+0.5,2.5,3,3
+0.6,2.8,3,3
+0.7,3.1,3,3
+0.8,3.4,3,3
+0.9,3.7,3,3
+1,4,3,3
diff --git a/models/sbml-test-suite/cases/semantic/01184/01184-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01184/01184-sbml-l2v4.xml
new file mode 100644
index 0000000..abc1272
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01184/01184-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case_01184" name="case_01184">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" initialAmount="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1"/>
+      <parameter id="y" value="3"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> y </ci>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="_J0" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01184/01184-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01184/01184-sbml-l3v1.xml
new file mode 100644
index 0000000..05fa1a6
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01184/01184-sbml-l3v1.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.3-beta with libSBML version 5.6.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case_01184" name="case_01184">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" constant="true"/>
+      <parameter id="y" value="3" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> y </ci>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01184/01184-settings.txt b/models/sbml-test-suite/cases/semantic/01184/01184-settings.txt
new file mode 100644
index 0000000..0121b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01184/01184-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S1, k1, y
+absolute: 0.0001
+relative: 0.0001
+amount: S1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01185/01185-results.csv b/models/sbml-test-suite/cases/semantic/01185/01185-results.csv
new file mode 100644
index 0000000..6831e90
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01185/01185-results.csv
@@ -0,0 +1,12 @@
+time,S1,k1,y
+0,1,3,3
+0.1,1.3,3,3
+0.2,1.6,3,3
+0.3,1.9,3,3
+0.4,2.2,3,3
+0.5,2.5,3,3
+0.6,2.8,3,3
+0.7,3.1,3,3
+0.8,3.4,3,3
+0.9,3.7,3,3
+1,4,3,3
diff --git a/models/sbml-test-suite/cases/semantic/01185/01185-sbml-l2v4.xml b/models/sbml-test-suite/cases/semantic/01185/01185-sbml-l2v4.xml
new file mode 100644
index 0000000..8474a81
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01185/01185-sbml-l2v4.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="case_01185" name="case_01185">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" initialAmount="1"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="-2"/>
+      <parameter id="y" value="3"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> y </ci>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="_J0" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01185/01185-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01185/01185-sbml-l3v1.xml
new file mode 100644
index 0000000..29f7130
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01185/01185-sbml-l3v1.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.3-beta with libSBML version 5.6.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="case_01185" name="case_01185">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="-2" constant="true"/>
+      <parameter id="y" value="3" constant="true"/>
+    </listOfParameters>
+    <listOfInitialAssignments>
+      <initialAssignment symbol="k1">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <ci> y </ci>
+        </math>
+      </initialAssignment>
+    </listOfInitialAssignments>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k1 </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01185/01185-settings.txt b/models/sbml-test-suite/cases/semantic/01185/01185-settings.txt
new file mode 100644
index 0000000..0121b36
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01185/01185-settings.txt
@@ -0,0 +1,8 @@
+start: 0
+duration: 1
+steps: 10
+variables: S1, k1, y
+absolute: 0.0001
+relative: 0.0001
+amount: S1
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01186/01186-results.csv b/models/sbml-test-suite/cases/semantic/01186/01186-results.csv
new file mode 100644
index 0000000..0c27364
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01186/01186-results.csv
@@ -0,0 +1,2 @@
+R01,R26,OBJF
+1.0,1.0,1.0
diff --git a/models/sbml-test-suite/cases/semantic/01186/01186-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01186/01186-sbml-l3v1.xml
new file mode 100644
index 0000000..db7ca7d
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01186/01186-sbml-l3v1.xml
@@ -0,0 +1,633 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version1" xmlns:html="http://www.w3.org/1999/xhtml" level="3" version="1" fbc:required="false">
+  <model metaid="meta_MODEL_01186" id="MODEL_01186">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          <span style="font-family: Courier New,Courier,monospace;">Maximize single objective function, hard bounds.</span>
+        </p>
+      </body>
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
+        <rdf:Description rdf:about="#meta_MODEL_01186">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Olivier</vCard:Family>
+                  <vCard:Given>Brett</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bgoli at users.sourceforge.net</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>VU university Amsterdam</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T11:05:21Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T10:05:21Z</dcterms:W3CDTF>
+          </dcterms:modified>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area" name="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="volume" name="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length" name="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
+          <unit kind="second" exponent="-1" scale="0" multiplier="0.00027777"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Cell" name="Cell" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species metaid="meta_A" id="A" name="A" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_B" id="B" name="B" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_C" id="C" name="C" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_D" id="D" name="D" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_E" id="E" name="E" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_F" id="F" name="F" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_G" id="G" name="G" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_H" id="H" name="H" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_I" id="I" name="I" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_J" id="J" name="J" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_K" id="K" name="K" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_L" id="L" name="L" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_M" id="M" name="M" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_N" id="N" name="N" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_O" id="O" name="O" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_P" id="P" name="P" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Q" id="Q" name="Q" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_R" id="R" name="R" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_S" id="S" name="S" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_T" id="T" name="T" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_U" id="U" name="U" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_X" id="X" name="X" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Y" id="Y" name="Y" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction metaid="meta_R16" id="R16" name="R16" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R14" id="R14" name="R14" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R15" id="R15" name="R15" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R12" id="R12" name="R12" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R07" id="R07" name="R07" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R13" id="R13" name="R13" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R01" id="R01" name="R01" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R17" id="R17" name="R17" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R03" id="R03" name="R03" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R02" id="R02" name="R02" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R05" id="R05" name="R05" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R04" id="R04" name="R04" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R10" id="R10" name="R10" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R06" id="R06" name="R06" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R09" id="R09" name="R09" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R08" id="R08" name="R08" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R11" id="R11" name="R11" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R18" id="R18" name="R18" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R19" id="R19" name="R19" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R26" id="R26" name="R26" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R25" id="R25" name="R25" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+          <speciesReference species="T" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="0.5" constant="false"/>
+          <speciesReference species="U" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R24" id="R24" name="R24" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R23" id="R23" name="R23" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R22" id="R22" name="R22" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R21" id="R21" name="R21" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R20" id="R20" name="R20" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+    </listOfReactions>
+    <fbc:listOfFluxBounds>
+      <fbc:fluxBound fbc:id="c0" fbc:reaction="R16" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c1" fbc:reaction="R16" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c2" fbc:reaction="R03" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c3" fbc:reaction="R03" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c4" fbc:reaction="R02" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c5" fbc:reaction="R02" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c6" fbc:reaction="R05" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c7" fbc:reaction="R05" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c8" fbc:reaction="R07" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c9" fbc:reaction="R07" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c10" fbc:reaction="R04" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c11" fbc:reaction="R04" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c12" fbc:reaction="R01" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c13" fbc:reaction="R01" fbc:operation="lessEqual" fbc:value="1"/>
+      <fbc:fluxBound fbc:id="c14" fbc:reaction="R17" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c15" fbc:reaction="R17" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c16" fbc:reaction="R14" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c17" fbc:reaction="R14" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c18" fbc:reaction="R15" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c19" fbc:reaction="R15" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c20" fbc:reaction="R12" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c21" fbc:reaction="R12" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c22" fbc:reaction="R13" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c23" fbc:reaction="R13" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c24" fbc:reaction="R10" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c25" fbc:reaction="R10" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c26" fbc:reaction="R11" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c27" fbc:reaction="R11" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c28" fbc:reaction="R09" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c29" fbc:reaction="R09" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c30" fbc:reaction="R08" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c31" fbc:reaction="R08" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c32" fbc:reaction="R06" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c33" fbc:reaction="R06" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c34" fbc:reaction="R18" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c35" fbc:reaction="R18" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c36" fbc:reaction="R19" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c37" fbc:reaction="R19" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c38" fbc:reaction="R26" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c39" fbc:reaction="R26" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c40" fbc:reaction="R25" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c41" fbc:reaction="R25" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c42" fbc:reaction="R24" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c43" fbc:reaction="R24" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c44" fbc:reaction="R23" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c45" fbc:reaction="R23" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c46" fbc:reaction="R22" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c47" fbc:reaction="R22" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c48" fbc:reaction="R21" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c49" fbc:reaction="R21" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c50" fbc:reaction="R20" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c51" fbc:reaction="R20" fbc:operation="lessEqual" fbc:value="1000"/>
+    </fbc:listOfFluxBounds>
+    <fbc:listOfObjectives fbc:activeObjective="OBJF">
+      <fbc:objective fbc:id="OBJF" fbc:type="maximize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="1"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+    </fbc:listOfObjectives>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01186/01186-settings.txt b/models/sbml-test-suite/cases/semantic/01186/01186-settings.txt
new file mode 100644
index 0000000..6e32235
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01186/01186-settings.txt
@@ -0,0 +1,8 @@
+start:
+duration:
+steps:
+variables: R01,R26,OBJF
+absolute: 0.001
+relative: 0.001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01187/01187-results.csv b/models/sbml-test-suite/cases/semantic/01187/01187-results.csv
new file mode 100644
index 0000000..dceda79
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01187/01187-results.csv
@@ -0,0 +1,2 @@
+R01,R26,OBJF
+0.0,0.0,0.0
diff --git a/models/sbml-test-suite/cases/semantic/01187/01187-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01187/01187-sbml-l3v1.xml
new file mode 100644
index 0000000..5ffaf9c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01187/01187-sbml-l3v1.xml
@@ -0,0 +1,633 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version1" xmlns:html="http://www.w3.org/1999/xhtml" level="3" version="1" fbc:required="false">
+  <model metaid="meta_MODEL_01187" id="MODEL_01187">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          <span style="font-family: Courier New,Courier,monospace;">Minimize single objective function, hard bounds.</span>
+        </p>
+      </body>
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
+        <rdf:Description rdf:about="#meta_MODEL_01187">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Olivier</vCard:Family>
+                  <vCard:Given>Brett</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bgoli at users.sourceforge.net</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>VU university Amsterdam</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T11:05:21Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T10:05:21Z</dcterms:W3CDTF>
+          </dcterms:modified>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area" name="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="volume" name="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length" name="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
+          <unit kind="second" exponent="-1" scale="0" multiplier="0.00027777"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Cell" name="Cell" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species metaid="meta_A" id="A" name="A" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_B" id="B" name="B" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_C" id="C" name="C" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_D" id="D" name="D" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_E" id="E" name="E" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_F" id="F" name="F" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_G" id="G" name="G" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_H" id="H" name="H" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_I" id="I" name="I" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_J" id="J" name="J" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_K" id="K" name="K" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_L" id="L" name="L" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_M" id="M" name="M" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_N" id="N" name="N" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_O" id="O" name="O" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_P" id="P" name="P" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Q" id="Q" name="Q" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_R" id="R" name="R" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_S" id="S" name="S" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_T" id="T" name="T" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_U" id="U" name="U" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_X" id="X" name="X" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Y" id="Y" name="Y" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction metaid="meta_R16" id="R16" name="R16" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R14" id="R14" name="R14" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R15" id="R15" name="R15" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R12" id="R12" name="R12" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R07" id="R07" name="R07" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R13" id="R13" name="R13" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R01" id="R01" name="R01" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R17" id="R17" name="R17" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R03" id="R03" name="R03" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R02" id="R02" name="R02" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R05" id="R05" name="R05" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R04" id="R04" name="R04" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R10" id="R10" name="R10" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R06" id="R06" name="R06" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R09" id="R09" name="R09" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R08" id="R08" name="R08" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R11" id="R11" name="R11" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R18" id="R18" name="R18" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R19" id="R19" name="R19" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R26" id="R26" name="R26" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R25" id="R25" name="R25" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+          <speciesReference species="T" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="0.5" constant="false"/>
+          <speciesReference species="U" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R24" id="R24" name="R24" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R23" id="R23" name="R23" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R22" id="R22" name="R22" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R21" id="R21" name="R21" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R20" id="R20" name="R20" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+    </listOfReactions>
+    <fbc:listOfFluxBounds>
+      <fbc:fluxBound fbc:id="c0" fbc:reaction="R16" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c1" fbc:reaction="R16" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c2" fbc:reaction="R03" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c3" fbc:reaction="R03" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c4" fbc:reaction="R02" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c5" fbc:reaction="R02" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c6" fbc:reaction="R05" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c7" fbc:reaction="R05" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c8" fbc:reaction="R07" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c9" fbc:reaction="R07" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c10" fbc:reaction="R04" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c11" fbc:reaction="R04" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c12" fbc:reaction="R01" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c13" fbc:reaction="R01" fbc:operation="lessEqual" fbc:value="1"/>
+      <fbc:fluxBound fbc:id="c14" fbc:reaction="R17" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c15" fbc:reaction="R17" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c16" fbc:reaction="R14" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c17" fbc:reaction="R14" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c18" fbc:reaction="R15" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c19" fbc:reaction="R15" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c20" fbc:reaction="R12" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c21" fbc:reaction="R12" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c22" fbc:reaction="R13" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c23" fbc:reaction="R13" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c24" fbc:reaction="R10" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c25" fbc:reaction="R10" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c26" fbc:reaction="R11" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c27" fbc:reaction="R11" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c28" fbc:reaction="R09" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c29" fbc:reaction="R09" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c30" fbc:reaction="R08" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c31" fbc:reaction="R08" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c32" fbc:reaction="R06" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c33" fbc:reaction="R06" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c34" fbc:reaction="R18" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c35" fbc:reaction="R18" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c36" fbc:reaction="R19" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c37" fbc:reaction="R19" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c38" fbc:reaction="R26" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c39" fbc:reaction="R26" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c40" fbc:reaction="R25" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c41" fbc:reaction="R25" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c42" fbc:reaction="R24" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c43" fbc:reaction="R24" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c44" fbc:reaction="R23" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c45" fbc:reaction="R23" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c46" fbc:reaction="R22" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c47" fbc:reaction="R22" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c48" fbc:reaction="R21" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c49" fbc:reaction="R21" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c50" fbc:reaction="R20" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c51" fbc:reaction="R20" fbc:operation="lessEqual" fbc:value="1000"/>
+    </fbc:listOfFluxBounds>
+    <fbc:listOfObjectives fbc:activeObjective="OBJF">
+      <fbc:objective fbc:id="OBJF" fbc:type="minimize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="1"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+    </fbc:listOfObjectives>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01187/01187-settings.txt b/models/sbml-test-suite/cases/semantic/01187/01187-settings.txt
new file mode 100644
index 0000000..6e32235
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01187/01187-settings.txt
@@ -0,0 +1,8 @@
+start:
+duration:
+steps:
+variables: R01,R26,OBJF
+absolute: 0.001
+relative: 0.001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01188/01188-results.csv b/models/sbml-test-suite/cases/semantic/01188/01188-results.csv
new file mode 100644
index 0000000..0c27364
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01188/01188-results.csv
@@ -0,0 +1,2 @@
+R01,R26,OBJF
+1.0,1.0,1.0
diff --git a/models/sbml-test-suite/cases/semantic/01188/01188-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01188/01188-sbml-l3v1.xml
new file mode 100644
index 0000000..d5b643f
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01188/01188-sbml-l3v1.xml
@@ -0,0 +1,633 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version1" xmlns:html="http://www.w3.org/1999/xhtml" level="3" version="1" fbc:required="false">
+  <model metaid="meta_MODEL_01188" id="MODEL_01188">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          <span style="font-family: Courier New,Courier,monospace;">Maximize single objective function, infinite bounds.</span>
+        </p>
+      </body>
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
+        <rdf:Description rdf:about="#meta_MODEL_01188">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Olivier</vCard:Family>
+                  <vCard:Given>Brett</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bgoli at users.sourceforge.net</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>VU university Amsterdam</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T11:05:21Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T10:05:21Z</dcterms:W3CDTF>
+          </dcterms:modified>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area" name="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="volume" name="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length" name="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
+          <unit kind="second" exponent="-1" scale="0" multiplier="0.00027777"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Cell" name="Cell" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species metaid="meta_A" id="A" name="A" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_B" id="B" name="B" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_C" id="C" name="C" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_D" id="D" name="D" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_E" id="E" name="E" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_F" id="F" name="F" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_G" id="G" name="G" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_H" id="H" name="H" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_I" id="I" name="I" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_J" id="J" name="J" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_K" id="K" name="K" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_L" id="L" name="L" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_M" id="M" name="M" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_N" id="N" name="N" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_O" id="O" name="O" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_P" id="P" name="P" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Q" id="Q" name="Q" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_R" id="R" name="R" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_S" id="S" name="S" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_T" id="T" name="T" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_U" id="U" name="U" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_X" id="X" name="X" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Y" id="Y" name="Y" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction metaid="meta_R16" id="R16" name="R16" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R14" id="R14" name="R14" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R15" id="R15" name="R15" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R12" id="R12" name="R12" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R07" id="R07" name="R07" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R13" id="R13" name="R13" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R01" id="R01" name="R01" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R17" id="R17" name="R17" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R03" id="R03" name="R03" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R02" id="R02" name="R02" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R05" id="R05" name="R05" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R04" id="R04" name="R04" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R10" id="R10" name="R10" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R06" id="R06" name="R06" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R09" id="R09" name="R09" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R08" id="R08" name="R08" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R11" id="R11" name="R11" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R18" id="R18" name="R18" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R19" id="R19" name="R19" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R26" id="R26" name="R26" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R25" id="R25" name="R25" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+          <speciesReference species="T" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="0.5" constant="false"/>
+          <speciesReference species="U" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R24" id="R24" name="R24" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R23" id="R23" name="R23" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R22" id="R22" name="R22" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R21" id="R21" name="R21" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R20" id="R20" name="R20" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+    </listOfReactions>
+    <fbc:listOfFluxBounds>
+      <fbc:fluxBound fbc:id="c0" fbc:reaction="R16" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c1" fbc:reaction="R16" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c2" fbc:reaction="R03" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c3" fbc:reaction="R03" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c4" fbc:reaction="R02" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c5" fbc:reaction="R02" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c6" fbc:reaction="R05" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c7" fbc:reaction="R05" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c8" fbc:reaction="R07" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c9" fbc:reaction="R07" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c10" fbc:reaction="R04" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c11" fbc:reaction="R04" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c12" fbc:reaction="R01" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c13" fbc:reaction="R01" fbc:operation="lessEqual" fbc:value="1"/>
+      <fbc:fluxBound fbc:id="c14" fbc:reaction="R17" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c15" fbc:reaction="R17" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c16" fbc:reaction="R14" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c17" fbc:reaction="R14" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c18" fbc:reaction="R15" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c19" fbc:reaction="R15" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c20" fbc:reaction="R12" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c21" fbc:reaction="R12" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c22" fbc:reaction="R13" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c23" fbc:reaction="R13" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c24" fbc:reaction="R10" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c25" fbc:reaction="R10" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c26" fbc:reaction="R11" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c27" fbc:reaction="R11" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c28" fbc:reaction="R09" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c29" fbc:reaction="R09" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c30" fbc:reaction="R08" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c31" fbc:reaction="R08" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c32" fbc:reaction="R06" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c33" fbc:reaction="R06" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c34" fbc:reaction="R18" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c35" fbc:reaction="R18" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c36" fbc:reaction="R19" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c37" fbc:reaction="R19" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c38" fbc:reaction="R26" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c39" fbc:reaction="R26" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c40" fbc:reaction="R25" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c41" fbc:reaction="R25" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c42" fbc:reaction="R24" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c43" fbc:reaction="R24" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c44" fbc:reaction="R23" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c45" fbc:reaction="R23" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c46" fbc:reaction="R22" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c47" fbc:reaction="R22" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c48" fbc:reaction="R21" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c49" fbc:reaction="R21" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c50" fbc:reaction="R20" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c51" fbc:reaction="R20" fbc:operation="lessEqual" fbc:value="INF"/>
+    </fbc:listOfFluxBounds>
+    <fbc:listOfObjectives fbc:activeObjective="OBJF">
+      <fbc:objective fbc:id="OBJF" fbc:type="maximize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="1"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+    </fbc:listOfObjectives>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01188/01188-settings.txt b/models/sbml-test-suite/cases/semantic/01188/01188-settings.txt
new file mode 100644
index 0000000..6e32235
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01188/01188-settings.txt
@@ -0,0 +1,8 @@
+start:
+duration:
+steps:
+variables: R01,R26,OBJF
+absolute: 0.001
+relative: 0.001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01189/01189-results.csv b/models/sbml-test-suite/cases/semantic/01189/01189-results.csv
new file mode 100644
index 0000000..dceda79
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01189/01189-results.csv
@@ -0,0 +1,2 @@
+R01,R26,OBJF
+0.0,0.0,0.0
diff --git a/models/sbml-test-suite/cases/semantic/01189/01189-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01189/01189-sbml-l3v1.xml
new file mode 100644
index 0000000..dce3286
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01189/01189-sbml-l3v1.xml
@@ -0,0 +1,633 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version1" xmlns:html="http://www.w3.org/1999/xhtml" level="3" version="1" fbc:required="false">
+  <model metaid="meta_MODEL_01189" id="MODEL_01189">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          <span style="font-family: Courier New,Courier,monospace;">Minimize single objective function, infinite bounds.</span>
+        </p>
+      </body>
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
+        <rdf:Description rdf:about="#meta_MODEL_01189">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Olivier</vCard:Family>
+                  <vCard:Given>Brett</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bgoli at users.sourceforge.net</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>VU university Amsterdam</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T11:05:21Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T10:05:21Z</dcterms:W3CDTF>
+          </dcterms:modified>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area" name="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="volume" name="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length" name="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
+          <unit kind="second" exponent="-1" scale="0" multiplier="0.00027777"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Cell" name="Cell" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species metaid="meta_A" id="A" name="A" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_B" id="B" name="B" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_C" id="C" name="C" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_D" id="D" name="D" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_E" id="E" name="E" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_F" id="F" name="F" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_G" id="G" name="G" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_H" id="H" name="H" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_I" id="I" name="I" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_J" id="J" name="J" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_K" id="K" name="K" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_L" id="L" name="L" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_M" id="M" name="M" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_N" id="N" name="N" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_O" id="O" name="O" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_P" id="P" name="P" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Q" id="Q" name="Q" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_R" id="R" name="R" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_S" id="S" name="S" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_T" id="T" name="T" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_U" id="U" name="U" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_X" id="X" name="X" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Y" id="Y" name="Y" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction metaid="meta_R16" id="R16" name="R16" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R14" id="R14" name="R14" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R15" id="R15" name="R15" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R12" id="R12" name="R12" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R07" id="R07" name="R07" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R13" id="R13" name="R13" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R01" id="R01" name="R01" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R17" id="R17" name="R17" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R03" id="R03" name="R03" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R02" id="R02" name="R02" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R05" id="R05" name="R05" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R04" id="R04" name="R04" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R10" id="R10" name="R10" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R06" id="R06" name="R06" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R09" id="R09" name="R09" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R08" id="R08" name="R08" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R11" id="R11" name="R11" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R18" id="R18" name="R18" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R19" id="R19" name="R19" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R26" id="R26" name="R26" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R25" id="R25" name="R25" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+          <speciesReference species="T" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="0.5" constant="false"/>
+          <speciesReference species="U" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R24" id="R24" name="R24" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R23" id="R23" name="R23" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R22" id="R22" name="R22" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R21" id="R21" name="R21" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R20" id="R20" name="R20" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+    </listOfReactions>
+    <fbc:listOfFluxBounds>
+      <fbc:fluxBound fbc:id="c0" fbc:reaction="R16" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c1" fbc:reaction="R16" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c2" fbc:reaction="R03" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c3" fbc:reaction="R03" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c4" fbc:reaction="R02" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c5" fbc:reaction="R02" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c6" fbc:reaction="R05" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c7" fbc:reaction="R05" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c8" fbc:reaction="R07" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c9" fbc:reaction="R07" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c10" fbc:reaction="R04" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c11" fbc:reaction="R04" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c12" fbc:reaction="R01" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c13" fbc:reaction="R01" fbc:operation="lessEqual" fbc:value="1"/>
+      <fbc:fluxBound fbc:id="c14" fbc:reaction="R17" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c15" fbc:reaction="R17" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c16" fbc:reaction="R14" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c17" fbc:reaction="R14" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c18" fbc:reaction="R15" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c19" fbc:reaction="R15" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c20" fbc:reaction="R12" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c21" fbc:reaction="R12" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c22" fbc:reaction="R13" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c23" fbc:reaction="R13" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c24" fbc:reaction="R10" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c25" fbc:reaction="R10" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c26" fbc:reaction="R11" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c27" fbc:reaction="R11" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c28" fbc:reaction="R09" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c29" fbc:reaction="R09" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c30" fbc:reaction="R08" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c31" fbc:reaction="R08" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c32" fbc:reaction="R06" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c33" fbc:reaction="R06" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c34" fbc:reaction="R18" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c35" fbc:reaction="R18" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c36" fbc:reaction="R19" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c37" fbc:reaction="R19" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c38" fbc:reaction="R26" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c39" fbc:reaction="R26" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c40" fbc:reaction="R25" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c41" fbc:reaction="R25" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c42" fbc:reaction="R24" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c43" fbc:reaction="R24" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c44" fbc:reaction="R23" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c45" fbc:reaction="R23" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c46" fbc:reaction="R22" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c47" fbc:reaction="R22" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c48" fbc:reaction="R21" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c49" fbc:reaction="R21" fbc:operation="lessEqual" fbc:value="INF"/>
+      <fbc:fluxBound fbc:id="c50" fbc:reaction="R20" fbc:operation="greaterEqual" fbc:value="-INF"/>
+      <fbc:fluxBound fbc:id="c51" fbc:reaction="R20" fbc:operation="lessEqual" fbc:value="INF"/>
+    </fbc:listOfFluxBounds>
+    <fbc:listOfObjectives fbc:activeObjective="OBJF">
+      <fbc:objective fbc:id="OBJF" fbc:type="minimize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="1"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+    </fbc:listOfObjectives>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01189/01189-settings.txt b/models/sbml-test-suite/cases/semantic/01189/01189-settings.txt
new file mode 100644
index 0000000..6e32235
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01189/01189-settings.txt
@@ -0,0 +1,8 @@
+start:
+duration:
+steps:
+variables: R01,R26,OBJF
+absolute: 0.001
+relative: 0.001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01190/01190-results.csv b/models/sbml-test-suite/cases/semantic/01190/01190-results.csv
new file mode 100644
index 0000000..89aac28
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01190/01190-results.csv
@@ -0,0 +1,2 @@
+R01,R26,OBJF
+1.0,1.0,0.5
diff --git a/models/sbml-test-suite/cases/semantic/01190/01190-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01190/01190-sbml-l3v1.xml
new file mode 100644
index 0000000..bbc75f0
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01190/01190-sbml-l3v1.xml
@@ -0,0 +1,633 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version1" xmlns:html="http://www.w3.org/1999/xhtml" level="3" version="1" fbc:required="false">
+  <model metaid="meta_MODEL_01190" id="MODEL_01190">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          <span style="font-family: Courier New,Courier,monospace;">Maximize single objective function, non-unitary objective flux coefficient</span>
+        </p>
+      </body>
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
+        <rdf:Description rdf:about="#meta_MODEL_01190">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Olivier</vCard:Family>
+                  <vCard:Given>Brett</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bgoli at users.sourceforge.net</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>VU university Amsterdam</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T11:05:21Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T10:05:21Z</dcterms:W3CDTF>
+          </dcterms:modified>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area" name="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="volume" name="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length" name="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
+          <unit kind="second" exponent="-1" scale="0" multiplier="0.00027777"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Cell" name="Cell" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species metaid="meta_A" id="A" name="A" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_B" id="B" name="B" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_C" id="C" name="C" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_D" id="D" name="D" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_E" id="E" name="E" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_F" id="F" name="F" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_G" id="G" name="G" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_H" id="H" name="H" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_I" id="I" name="I" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_J" id="J" name="J" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_K" id="K" name="K" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_L" id="L" name="L" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_M" id="M" name="M" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_N" id="N" name="N" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_O" id="O" name="O" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_P" id="P" name="P" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Q" id="Q" name="Q" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_R" id="R" name="R" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_S" id="S" name="S" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_T" id="T" name="T" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_U" id="U" name="U" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_X" id="X" name="X" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Y" id="Y" name="Y" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction metaid="meta_R16" id="R16" name="R16" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R14" id="R14" name="R14" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R15" id="R15" name="R15" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R12" id="R12" name="R12" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R07" id="R07" name="R07" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R13" id="R13" name="R13" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R01" id="R01" name="R01" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R17" id="R17" name="R17" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R03" id="R03" name="R03" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R02" id="R02" name="R02" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R05" id="R05" name="R05" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R04" id="R04" name="R04" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R10" id="R10" name="R10" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R06" id="R06" name="R06" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R09" id="R09" name="R09" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R08" id="R08" name="R08" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R11" id="R11" name="R11" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R18" id="R18" name="R18" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R19" id="R19" name="R19" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R26" id="R26" name="R26" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R25" id="R25" name="R25" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+          <speciesReference species="T" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="0.5" constant="false"/>
+          <speciesReference species="U" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R24" id="R24" name="R24" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R23" id="R23" name="R23" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R22" id="R22" name="R22" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R21" id="R21" name="R21" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R20" id="R20" name="R20" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+    </listOfReactions>
+    <fbc:listOfFluxBounds>
+      <fbc:fluxBound fbc:id="c0" fbc:reaction="R16" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c1" fbc:reaction="R16" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c2" fbc:reaction="R03" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c3" fbc:reaction="R03" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c4" fbc:reaction="R02" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c5" fbc:reaction="R02" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c6" fbc:reaction="R05" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c7" fbc:reaction="R05" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c8" fbc:reaction="R07" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c9" fbc:reaction="R07" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c10" fbc:reaction="R04" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c11" fbc:reaction="R04" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c12" fbc:reaction="R01" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c13" fbc:reaction="R01" fbc:operation="lessEqual" fbc:value="1"/>
+      <fbc:fluxBound fbc:id="c14" fbc:reaction="R17" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c15" fbc:reaction="R17" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c16" fbc:reaction="R14" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c17" fbc:reaction="R14" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c18" fbc:reaction="R15" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c19" fbc:reaction="R15" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c20" fbc:reaction="R12" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c21" fbc:reaction="R12" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c22" fbc:reaction="R13" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c23" fbc:reaction="R13" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c24" fbc:reaction="R10" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c25" fbc:reaction="R10" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c26" fbc:reaction="R11" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c27" fbc:reaction="R11" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c28" fbc:reaction="R09" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c29" fbc:reaction="R09" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c30" fbc:reaction="R08" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c31" fbc:reaction="R08" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c32" fbc:reaction="R06" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c33" fbc:reaction="R06" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c34" fbc:reaction="R18" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c35" fbc:reaction="R18" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c36" fbc:reaction="R19" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c37" fbc:reaction="R19" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c38" fbc:reaction="R26" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c39" fbc:reaction="R26" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c40" fbc:reaction="R25" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c41" fbc:reaction="R25" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c42" fbc:reaction="R24" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c43" fbc:reaction="R24" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c44" fbc:reaction="R23" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c45" fbc:reaction="R23" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c46" fbc:reaction="R22" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c47" fbc:reaction="R22" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c48" fbc:reaction="R21" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c49" fbc:reaction="R21" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c50" fbc:reaction="R20" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c51" fbc:reaction="R20" fbc:operation="lessEqual" fbc:value="1000"/>
+    </fbc:listOfFluxBounds>
+    <fbc:listOfObjectives fbc:activeObjective="OBJF">
+      <fbc:objective fbc:id="OBJF" fbc:type="maximize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="0.5"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+    </fbc:listOfObjectives>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01190/01190-settings.txt b/models/sbml-test-suite/cases/semantic/01190/01190-settings.txt
new file mode 100644
index 0000000..6e32235
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01190/01190-settings.txt
@@ -0,0 +1,8 @@
+start:
+duration:
+steps:
+variables: R01,R26,OBJF
+absolute: 0.001
+relative: 0.001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01191/01191-results.csv b/models/sbml-test-suite/cases/semantic/01191/01191-results.csv
new file mode 100644
index 0000000..566d043
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01191/01191-results.csv
@@ -0,0 +1,2 @@
+R01,R26,OBJF2
+1.0,1.0,1.0
diff --git a/models/sbml-test-suite/cases/semantic/01191/01191-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01191/01191-sbml-l3v1.xml
new file mode 100644
index 0000000..38b0fde
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01191/01191-sbml-l3v1.xml
@@ -0,0 +1,638 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version1" xmlns:html="http://www.w3.org/1999/xhtml" level="3" version="1" fbc:required="false">
+  <model metaid="meta_MODEL_01191" id="MODEL_01191">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          <span style="font-family: Courier New,Courier,monospace;">Multiple objectives defined, optimize active one (maximize)</span>
+        </p>
+      </body>
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
+        <rdf:Description rdf:about="#meta_MODEL_01191">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Olivier</vCard:Family>
+                  <vCard:Given>Brett</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bgoli at users.sourceforge.net</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>VU university Amsterdam</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T11:05:21Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T10:05:21Z</dcterms:W3CDTF>
+          </dcterms:modified>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area" name="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="volume" name="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length" name="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
+          <unit kind="second" exponent="-1" scale="0" multiplier="0.00027777"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Cell" name="Cell" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species metaid="meta_A" id="A" name="A" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_B" id="B" name="B" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_C" id="C" name="C" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_D" id="D" name="D" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_E" id="E" name="E" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_F" id="F" name="F" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_G" id="G" name="G" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_H" id="H" name="H" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_I" id="I" name="I" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_J" id="J" name="J" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_K" id="K" name="K" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_L" id="L" name="L" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_M" id="M" name="M" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_N" id="N" name="N" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_O" id="O" name="O" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_P" id="P" name="P" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Q" id="Q" name="Q" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_R" id="R" name="R" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_S" id="S" name="S" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_T" id="T" name="T" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_U" id="U" name="U" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_X" id="X" name="X" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Y" id="Y" name="Y" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction metaid="meta_R16" id="R16" name="R16" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R14" id="R14" name="R14" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R15" id="R15" name="R15" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R12" id="R12" name="R12" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R07" id="R07" name="R07" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R13" id="R13" name="R13" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R01" id="R01" name="R01" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R17" id="R17" name="R17" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R03" id="R03" name="R03" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R02" id="R02" name="R02" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R05" id="R05" name="R05" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R04" id="R04" name="R04" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R10" id="R10" name="R10" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R06" id="R06" name="R06" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R09" id="R09" name="R09" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R08" id="R08" name="R08" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R11" id="R11" name="R11" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R18" id="R18" name="R18" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R19" id="R19" name="R19" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R26" id="R26" name="R26" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R25" id="R25" name="R25" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+          <speciesReference species="T" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="0.5" constant="false"/>
+          <speciesReference species="U" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R24" id="R24" name="R24" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R23" id="R23" name="R23" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R22" id="R22" name="R22" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R21" id="R21" name="R21" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R20" id="R20" name="R20" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+    </listOfReactions>
+    <fbc:listOfFluxBounds>
+      <fbc:fluxBound fbc:id="c0" fbc:reaction="R16" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c1" fbc:reaction="R16" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c2" fbc:reaction="R03" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c3" fbc:reaction="R03" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c4" fbc:reaction="R02" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c5" fbc:reaction="R02" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c6" fbc:reaction="R05" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c7" fbc:reaction="R05" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c8" fbc:reaction="R07" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c9" fbc:reaction="R07" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c10" fbc:reaction="R04" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c11" fbc:reaction="R04" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c12" fbc:reaction="R01" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c13" fbc:reaction="R01" fbc:operation="lessEqual" fbc:value="1"/>
+      <fbc:fluxBound fbc:id="c14" fbc:reaction="R17" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c15" fbc:reaction="R17" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c16" fbc:reaction="R14" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c17" fbc:reaction="R14" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c18" fbc:reaction="R15" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c19" fbc:reaction="R15" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c20" fbc:reaction="R12" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c21" fbc:reaction="R12" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c22" fbc:reaction="R13" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c23" fbc:reaction="R13" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c24" fbc:reaction="R10" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c25" fbc:reaction="R10" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c26" fbc:reaction="R11" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c27" fbc:reaction="R11" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c28" fbc:reaction="R09" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c29" fbc:reaction="R09" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c30" fbc:reaction="R08" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c31" fbc:reaction="R08" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c32" fbc:reaction="R06" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c33" fbc:reaction="R06" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c34" fbc:reaction="R18" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c35" fbc:reaction="R18" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c36" fbc:reaction="R19" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c37" fbc:reaction="R19" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c38" fbc:reaction="R26" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c39" fbc:reaction="R26" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c40" fbc:reaction="R25" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c41" fbc:reaction="R25" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c42" fbc:reaction="R24" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c43" fbc:reaction="R24" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c44" fbc:reaction="R23" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c45" fbc:reaction="R23" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c46" fbc:reaction="R22" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c47" fbc:reaction="R22" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c48" fbc:reaction="R21" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c49" fbc:reaction="R21" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c50" fbc:reaction="R20" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c51" fbc:reaction="R20" fbc:operation="lessEqual" fbc:value="1000"/>
+    </fbc:listOfFluxBounds>
+    <fbc:listOfObjectives fbc:activeObjective="OBJF2">
+      <fbc:objective fbc:id="OBJF" fbc:type="minimize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="1"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+      <fbc:objective fbc:id="OBJF2" fbc:type="maximize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="1"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+    </fbc:listOfObjectives>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01191/01191-settings.txt b/models/sbml-test-suite/cases/semantic/01191/01191-settings.txt
new file mode 100644
index 0000000..1842b9c
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01191/01191-settings.txt
@@ -0,0 +1,8 @@
+start:
+duration:
+steps:
+variables: R01,R26,OBJF2
+absolute: 0.001
+relative: 0.001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01192/01192-results.csv b/models/sbml-test-suite/cases/semantic/01192/01192-results.csv
new file mode 100644
index 0000000..4e7c731
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01192/01192-results.csv
@@ -0,0 +1,2 @@
+R01,R26,R10,R07,OBJF
+1.0,1.0,1.0,0.0,2.0
diff --git a/models/sbml-test-suite/cases/semantic/01192/01192-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01192/01192-sbml-l3v1.xml
new file mode 100644
index 0000000..f4c8dca
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01192/01192-sbml-l3v1.xml
@@ -0,0 +1,634 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version1" xmlns:html="http://www.w3.org/1999/xhtml" level="3" version="1" fbc:required="false">
+  <model metaid="meta_MODEL_01192" id="MODEL_01192">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          <span style="font-family: Courier New,Courier,monospace;">Single objective, multiple flux objectives</span>
+        </p>
+      </body>
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
+        <rdf:Description rdf:about="#meta_MODEL_01192">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Olivier</vCard:Family>
+                  <vCard:Given>Brett</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bgoli at users.sourceforge.net</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>VU university Amsterdam</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T11:05:21Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T10:05:21Z</dcterms:W3CDTF>
+          </dcterms:modified>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area" name="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="volume" name="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length" name="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
+          <unit kind="second" exponent="-1" scale="0" multiplier="0.00027777"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Cell" name="Cell" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species metaid="meta_A" id="A" name="A" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_B" id="B" name="B" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_C" id="C" name="C" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_D" id="D" name="D" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_E" id="E" name="E" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_F" id="F" name="F" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_G" id="G" name="G" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_H" id="H" name="H" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_I" id="I" name="I" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_J" id="J" name="J" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_K" id="K" name="K" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_L" id="L" name="L" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_M" id="M" name="M" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_N" id="N" name="N" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_O" id="O" name="O" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_P" id="P" name="P" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Q" id="Q" name="Q" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_R" id="R" name="R" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_S" id="S" name="S" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_T" id="T" name="T" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_U" id="U" name="U" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_X" id="X" name="X" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Y" id="Y" name="Y" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction metaid="meta_R16" id="R16" name="R16" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R14" id="R14" name="R14" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R15" id="R15" name="R15" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R12" id="R12" name="R12" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R07" id="R07" name="R07" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R13" id="R13" name="R13" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R01" id="R01" name="R01" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R17" id="R17" name="R17" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R03" id="R03" name="R03" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R02" id="R02" name="R02" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R05" id="R05" name="R05" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R04" id="R04" name="R04" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R10" id="R10" name="R10" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R06" id="R06" name="R06" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R09" id="R09" name="R09" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R08" id="R08" name="R08" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R11" id="R11" name="R11" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R18" id="R18" name="R18" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R19" id="R19" name="R19" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R26" id="R26" name="R26" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R25" id="R25" name="R25" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+          <speciesReference species="T" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="0.5" constant="false"/>
+          <speciesReference species="U" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R24" id="R24" name="R24" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R23" id="R23" name="R23" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R22" id="R22" name="R22" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R21" id="R21" name="R21" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R20" id="R20" name="R20" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+    </listOfReactions>
+    <fbc:listOfFluxBounds>
+      <fbc:fluxBound fbc:id="c0" fbc:reaction="R16" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c1" fbc:reaction="R16" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c2" fbc:reaction="R03" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c3" fbc:reaction="R03" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c4" fbc:reaction="R02" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c5" fbc:reaction="R02" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c6" fbc:reaction="R05" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c7" fbc:reaction="R05" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c8" fbc:reaction="R07" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c9" fbc:reaction="R07" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c10" fbc:reaction="R04" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c11" fbc:reaction="R04" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c12" fbc:reaction="R01" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c13" fbc:reaction="R01" fbc:operation="lessEqual" fbc:value="1"/>
+      <fbc:fluxBound fbc:id="c14" fbc:reaction="R17" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c15" fbc:reaction="R17" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c16" fbc:reaction="R14" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c17" fbc:reaction="R14" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c18" fbc:reaction="R15" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c19" fbc:reaction="R15" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c20" fbc:reaction="R12" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c21" fbc:reaction="R12" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c22" fbc:reaction="R13" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c23" fbc:reaction="R13" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c24" fbc:reaction="R10" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c25" fbc:reaction="R10" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c26" fbc:reaction="R11" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c27" fbc:reaction="R11" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c28" fbc:reaction="R09" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c29" fbc:reaction="R09" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c30" fbc:reaction="R08" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c31" fbc:reaction="R08" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c32" fbc:reaction="R06" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c33" fbc:reaction="R06" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c34" fbc:reaction="R18" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c35" fbc:reaction="R18" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c36" fbc:reaction="R19" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c37" fbc:reaction="R19" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c38" fbc:reaction="R26" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c39" fbc:reaction="R26" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c40" fbc:reaction="R25" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c41" fbc:reaction="R25" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c42" fbc:reaction="R24" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c43" fbc:reaction="R24" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c44" fbc:reaction="R23" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c45" fbc:reaction="R23" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c46" fbc:reaction="R22" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c47" fbc:reaction="R22" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c48" fbc:reaction="R21" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c49" fbc:reaction="R21" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c50" fbc:reaction="R20" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c51" fbc:reaction="R20" fbc:operation="lessEqual" fbc:value="1000"/>
+    </fbc:listOfFluxBounds>
+    <fbc:listOfObjectives fbc:activeObjective="OBJF">
+      <fbc:objective fbc:id="OBJF" fbc:type="maximize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="1"/>
+          <fbc:fluxObjective fbc:reaction="R10" fbc:coefficient="1"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+    </fbc:listOfObjectives>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01192/01192-settings.txt b/models/sbml-test-suite/cases/semantic/01192/01192-settings.txt
new file mode 100644
index 0000000..ffc04de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01192/01192-settings.txt
@@ -0,0 +1,8 @@
+start:
+duration:
+steps:
+variables: R01,R26,R10,R07,OBJF
+absolute: 0.001
+relative: 0.001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01193/01193-results.csv b/models/sbml-test-suite/cases/semantic/01193/01193-results.csv
new file mode 100644
index 0000000..d2168d8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01193/01193-results.csv
@@ -0,0 +1,2 @@
+R01,R26,R10,R07,OBJF
+1.0,1.0,0.5,0.5,1.0
diff --git a/models/sbml-test-suite/cases/semantic/01193/01193-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01193/01193-sbml-l3v1.xml
new file mode 100644
index 0000000..7559683
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01193/01193-sbml-l3v1.xml
@@ -0,0 +1,633 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version1" xmlns:html="http://www.w3.org/1999/xhtml" level="3" version="1" fbc:required="false">
+  <model metaid="meta_MODEL_01193" id="MODEL_01193">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          <span style="font-family: Courier New,Courier,monospace;">Single objective, test R07 GE 0.5, R10 GE 0.5</span>
+        </p>
+      </body>
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
+        <rdf:Description rdf:about="#meta_MODEL_01193">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Olivier</vCard:Family>
+                  <vCard:Given>Brett</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bgoli at users.sourceforge.net</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>VU university Amsterdam</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T11:05:21Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T10:05:21Z</dcterms:W3CDTF>
+          </dcterms:modified>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area" name="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="volume" name="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length" name="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
+          <unit kind="second" exponent="-1" scale="0" multiplier="0.00027777"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Cell" name="Cell" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species metaid="meta_A" id="A" name="A" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_B" id="B" name="B" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_C" id="C" name="C" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_D" id="D" name="D" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_E" id="E" name="E" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_F" id="F" name="F" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_G" id="G" name="G" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_H" id="H" name="H" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_I" id="I" name="I" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_J" id="J" name="J" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_K" id="K" name="K" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_L" id="L" name="L" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_M" id="M" name="M" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_N" id="N" name="N" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_O" id="O" name="O" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_P" id="P" name="P" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Q" id="Q" name="Q" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_R" id="R" name="R" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_S" id="S" name="S" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_T" id="T" name="T" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_U" id="U" name="U" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_X" id="X" name="X" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Y" id="Y" name="Y" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction metaid="meta_R16" id="R16" name="R16" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R14" id="R14" name="R14" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R15" id="R15" name="R15" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R12" id="R12" name="R12" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R07" id="R07" name="R07" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R13" id="R13" name="R13" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R01" id="R01" name="R01" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R17" id="R17" name="R17" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R03" id="R03" name="R03" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R02" id="R02" name="R02" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R05" id="R05" name="R05" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R04" id="R04" name="R04" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R10" id="R10" name="R10" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R06" id="R06" name="R06" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R09" id="R09" name="R09" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R08" id="R08" name="R08" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R11" id="R11" name="R11" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R18" id="R18" name="R18" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R19" id="R19" name="R19" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R26" id="R26" name="R26" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R25" id="R25" name="R25" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+          <speciesReference species="T" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="0.5" constant="false"/>
+          <speciesReference species="U" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R24" id="R24" name="R24" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R23" id="R23" name="R23" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R22" id="R22" name="R22" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R21" id="R21" name="R21" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R20" id="R20" name="R20" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+    </listOfReactions>
+    <fbc:listOfFluxBounds>
+      <fbc:fluxBound fbc:id="c0" fbc:reaction="R16" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c1" fbc:reaction="R16" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c2" fbc:reaction="R03" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c3" fbc:reaction="R03" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c4" fbc:reaction="R02" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c5" fbc:reaction="R02" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c6" fbc:reaction="R05" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c7" fbc:reaction="R05" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c8" fbc:reaction="R07" fbc:operation="greaterEqual" fbc:value="0.5"/>
+      <fbc:fluxBound fbc:id="c9" fbc:reaction="R07" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c10" fbc:reaction="R04" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c11" fbc:reaction="R04" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c12" fbc:reaction="R01" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c13" fbc:reaction="R01" fbc:operation="lessEqual" fbc:value="1"/>
+      <fbc:fluxBound fbc:id="c14" fbc:reaction="R17" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c15" fbc:reaction="R17" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c16" fbc:reaction="R14" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c17" fbc:reaction="R14" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c18" fbc:reaction="R15" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c19" fbc:reaction="R15" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c20" fbc:reaction="R12" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c21" fbc:reaction="R12" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c22" fbc:reaction="R13" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c23" fbc:reaction="R13" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c24" fbc:reaction="R10" fbc:operation="greaterEqual" fbc:value="0.5"/>
+      <fbc:fluxBound fbc:id="c25" fbc:reaction="R10" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c26" fbc:reaction="R11" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c27" fbc:reaction="R11" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c28" fbc:reaction="R09" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c29" fbc:reaction="R09" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c30" fbc:reaction="R08" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c31" fbc:reaction="R08" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c32" fbc:reaction="R06" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c33" fbc:reaction="R06" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c34" fbc:reaction="R18" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c35" fbc:reaction="R18" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c36" fbc:reaction="R19" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c37" fbc:reaction="R19" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c38" fbc:reaction="R26" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c39" fbc:reaction="R26" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c40" fbc:reaction="R25" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c41" fbc:reaction="R25" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c42" fbc:reaction="R24" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c43" fbc:reaction="R24" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c44" fbc:reaction="R23" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c45" fbc:reaction="R23" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c46" fbc:reaction="R22" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c47" fbc:reaction="R22" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c48" fbc:reaction="R21" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c49" fbc:reaction="R21" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c50" fbc:reaction="R20" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c51" fbc:reaction="R20" fbc:operation="lessEqual" fbc:value="1000"/>
+    </fbc:listOfFluxBounds>
+    <fbc:listOfObjectives fbc:activeObjective="OBJF">
+      <fbc:objective fbc:id="OBJF" fbc:type="maximize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="1"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+    </fbc:listOfObjectives>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01193/01193-settings.txt b/models/sbml-test-suite/cases/semantic/01193/01193-settings.txt
new file mode 100644
index 0000000..ffc04de
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01193/01193-settings.txt
@@ -0,0 +1,8 @@
+start:
+duration:
+steps:
+variables: R01,R26,R10,R07,OBJF
+absolute: 0.001
+relative: 0.001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01194/01194-results.csv b/models/sbml-test-suite/cases/semantic/01194/01194-results.csv
new file mode 100644
index 0000000..23fdfa8
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01194/01194-results.csv
@@ -0,0 +1,2 @@
+R01,R07,R10,OBJF,R26,R25
+1.0,0.2,0.3,0.75,0.75,0.5
diff --git a/models/sbml-test-suite/cases/semantic/01194/01194-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01194/01194-sbml-l3v1.xml
new file mode 100644
index 0000000..d5c4c21
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01194/01194-sbml-l3v1.xml
@@ -0,0 +1,633 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version1" xmlns:html="http://www.w3.org/1999/xhtml" level="3" version="1" fbc:required="false">
+  <model metaid="meta_MODEL_01194" id="MODEL_01194">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          <span style="font-family: Courier New,Courier,monospace;">Single objective, test R07 LE 0.2, R10 LE 0.3</span>
+        </p>
+      </body>
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
+        <rdf:Description rdf:about="#meta_MODEL_01194">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Olivier</vCard:Family>
+                  <vCard:Given>Brett</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bgoli at users.sourceforge.net</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>VU university Amsterdam</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T11:05:22Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T10:05:22Z</dcterms:W3CDTF>
+          </dcterms:modified>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area" name="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="volume" name="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length" name="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
+          <unit kind="second" exponent="-1" scale="0" multiplier="0.00027777"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Cell" name="Cell" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species metaid="meta_A" id="A" name="A" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_B" id="B" name="B" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_C" id="C" name="C" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_D" id="D" name="D" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_E" id="E" name="E" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_F" id="F" name="F" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_G" id="G" name="G" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_H" id="H" name="H" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_I" id="I" name="I" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_J" id="J" name="J" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_K" id="K" name="K" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_L" id="L" name="L" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_M" id="M" name="M" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_N" id="N" name="N" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_O" id="O" name="O" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_P" id="P" name="P" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Q" id="Q" name="Q" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_R" id="R" name="R" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_S" id="S" name="S" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_T" id="T" name="T" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_U" id="U" name="U" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_X" id="X" name="X" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Y" id="Y" name="Y" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction metaid="meta_R16" id="R16" name="R16" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R14" id="R14" name="R14" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R15" id="R15" name="R15" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R12" id="R12" name="R12" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R07" id="R07" name="R07" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R13" id="R13" name="R13" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R01" id="R01" name="R01" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R17" id="R17" name="R17" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R03" id="R03" name="R03" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R02" id="R02" name="R02" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R05" id="R05" name="R05" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R04" id="R04" name="R04" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R10" id="R10" name="R10" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R06" id="R06" name="R06" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R09" id="R09" name="R09" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R08" id="R08" name="R08" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R11" id="R11" name="R11" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R18" id="R18" name="R18" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R19" id="R19" name="R19" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R26" id="R26" name="R26" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R25" id="R25" name="R25" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+          <speciesReference species="T" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="0.5" constant="false"/>
+          <speciesReference species="U" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R24" id="R24" name="R24" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R23" id="R23" name="R23" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R22" id="R22" name="R22" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R21" id="R21" name="R21" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R20" id="R20" name="R20" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+    </listOfReactions>
+    <fbc:listOfFluxBounds>
+      <fbc:fluxBound fbc:id="c0" fbc:reaction="R16" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c1" fbc:reaction="R16" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c2" fbc:reaction="R03" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c3" fbc:reaction="R03" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c4" fbc:reaction="R02" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c5" fbc:reaction="R02" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c6" fbc:reaction="R05" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c7" fbc:reaction="R05" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c8" fbc:reaction="R07" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c9" fbc:reaction="R07" fbc:operation="lessEqual" fbc:value="0.2"/>
+      <fbc:fluxBound fbc:id="c10" fbc:reaction="R04" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c11" fbc:reaction="R04" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c12" fbc:reaction="R01" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c13" fbc:reaction="R01" fbc:operation="lessEqual" fbc:value="1"/>
+      <fbc:fluxBound fbc:id="c14" fbc:reaction="R17" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c15" fbc:reaction="R17" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c16" fbc:reaction="R14" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c17" fbc:reaction="R14" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c18" fbc:reaction="R15" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c19" fbc:reaction="R15" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c20" fbc:reaction="R12" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c21" fbc:reaction="R12" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c22" fbc:reaction="R13" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c23" fbc:reaction="R13" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c24" fbc:reaction="R10" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c25" fbc:reaction="R10" fbc:operation="lessEqual" fbc:value="0.3"/>
+      <fbc:fluxBound fbc:id="c26" fbc:reaction="R11" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c27" fbc:reaction="R11" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c28" fbc:reaction="R09" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c29" fbc:reaction="R09" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c30" fbc:reaction="R08" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c31" fbc:reaction="R08" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c32" fbc:reaction="R06" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c33" fbc:reaction="R06" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c34" fbc:reaction="R18" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c35" fbc:reaction="R18" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c36" fbc:reaction="R19" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c37" fbc:reaction="R19" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c38" fbc:reaction="R26" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c39" fbc:reaction="R26" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c40" fbc:reaction="R25" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c41" fbc:reaction="R25" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c42" fbc:reaction="R24" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c43" fbc:reaction="R24" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c44" fbc:reaction="R23" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c45" fbc:reaction="R23" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c46" fbc:reaction="R22" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c47" fbc:reaction="R22" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c48" fbc:reaction="R21" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c49" fbc:reaction="R21" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c50" fbc:reaction="R20" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c51" fbc:reaction="R20" fbc:operation="lessEqual" fbc:value="1000"/>
+    </fbc:listOfFluxBounds>
+    <fbc:listOfObjectives fbc:activeObjective="OBJF">
+      <fbc:objective fbc:id="OBJF" fbc:type="maximize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="1"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+    </fbc:listOfObjectives>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01194/01194-settings.txt b/models/sbml-test-suite/cases/semantic/01194/01194-settings.txt
new file mode 100644
index 0000000..d2718d5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01194/01194-settings.txt
@@ -0,0 +1,8 @@
+start:
+duration:
+steps:
+variables: R01,R07,R10,OBJF,R26,R25
+absolute: 0.001
+relative: 0.001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01195/01195-results.csv b/models/sbml-test-suite/cases/semantic/01195/01195-results.csv
new file mode 100644
index 0000000..1089a0a
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01195/01195-results.csv
@@ -0,0 +1,2 @@
+R01,R07,R10,OBJF,R26,R25
+0.9,0.2,0.3,0.7,0.7,0.4
diff --git a/models/sbml-test-suite/cases/semantic/01195/01195-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01195/01195-sbml-l3v1.xml
new file mode 100644
index 0000000..8568989
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01195/01195-sbml-l3v1.xml
@@ -0,0 +1,630 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version1" xmlns:html="http://www.w3.org/1999/xhtml" level="3" version="1" fbc:required="false">
+  <model metaid="meta_MODEL_01195" id="MODEL_01195">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          <span style="font-family: Courier New,Courier,monospace;">Single objective, test: R07 EQ 0.2, R10 EQ 0.2, R25 EQ 0.6</span>
+        </p>
+      </body>
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
+        <rdf:Description rdf:about="#meta_MODEL_01195">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Olivier</vCard:Family>
+                  <vCard:Given>Brett</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bgoli at users.sourceforge.net</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>VU university Amsterdam</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T11:05:22Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T10:05:22Z</dcterms:W3CDTF>
+          </dcterms:modified>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area" name="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="volume" name="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length" name="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
+          <unit kind="second" exponent="-1" scale="0" multiplier="0.00027777"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Cell" name="Cell" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species metaid="meta_A" id="A" name="A" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_B" id="B" name="B" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_C" id="C" name="C" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_D" id="D" name="D" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_E" id="E" name="E" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_F" id="F" name="F" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_G" id="G" name="G" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_H" id="H" name="H" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_I" id="I" name="I" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_J" id="J" name="J" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_K" id="K" name="K" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_L" id="L" name="L" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_M" id="M" name="M" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_N" id="N" name="N" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_O" id="O" name="O" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_P" id="P" name="P" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Q" id="Q" name="Q" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_R" id="R" name="R" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_S" id="S" name="S" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_T" id="T" name="T" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_U" id="U" name="U" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_X" id="X" name="X" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Y" id="Y" name="Y" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction metaid="meta_R16" id="R16" name="R16" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R14" id="R14" name="R14" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R15" id="R15" name="R15" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R12" id="R12" name="R12" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R07" id="R07" name="R07" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R13" id="R13" name="R13" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R01" id="R01" name="R01" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R17" id="R17" name="R17" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R03" id="R03" name="R03" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R02" id="R02" name="R02" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R05" id="R05" name="R05" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R04" id="R04" name="R04" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R10" id="R10" name="R10" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R06" id="R06" name="R06" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R09" id="R09" name="R09" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R08" id="R08" name="R08" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R11" id="R11" name="R11" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R18" id="R18" name="R18" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R19" id="R19" name="R19" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R26" id="R26" name="R26" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R25" id="R25" name="R25" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+          <speciesReference species="T" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="0.5" constant="false"/>
+          <speciesReference species="U" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R24" id="R24" name="R24" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R23" id="R23" name="R23" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R22" id="R22" name="R22" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R21" id="R21" name="R21" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R20" id="R20" name="R20" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+    </listOfReactions>
+    <fbc:listOfFluxBounds>
+      <fbc:fluxBound fbc:id="c0" fbc:reaction="R16" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c1" fbc:reaction="R16" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c2" fbc:reaction="R03" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c3" fbc:reaction="R03" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c4" fbc:reaction="R02" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c5" fbc:reaction="R02" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c6" fbc:reaction="R05" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c7" fbc:reaction="R05" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c10" fbc:reaction="R04" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c11" fbc:reaction="R04" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c12" fbc:reaction="R01" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c13" fbc:reaction="R01" fbc:operation="lessEqual" fbc:value="1"/>
+      <fbc:fluxBound fbc:id="c14" fbc:reaction="R17" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c15" fbc:reaction="R17" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c16" fbc:reaction="R14" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c17" fbc:reaction="R14" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c18" fbc:reaction="R15" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c19" fbc:reaction="R15" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c20" fbc:reaction="R12" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c21" fbc:reaction="R12" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c22" fbc:reaction="R13" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c23" fbc:reaction="R13" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c26" fbc:reaction="R11" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c27" fbc:reaction="R11" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c28" fbc:reaction="R09" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c29" fbc:reaction="R09" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c30" fbc:reaction="R08" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c31" fbc:reaction="R08" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c32" fbc:reaction="R06" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c33" fbc:reaction="R06" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c34" fbc:reaction="R18" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c35" fbc:reaction="R18" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c36" fbc:reaction="R19" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c37" fbc:reaction="R19" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c38" fbc:reaction="R26" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c39" fbc:reaction="R26" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c42" fbc:reaction="R24" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c43" fbc:reaction="R24" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c44" fbc:reaction="R23" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c45" fbc:reaction="R23" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c46" fbc:reaction="R22" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c47" fbc:reaction="R22" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c48" fbc:reaction="R21" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c49" fbc:reaction="R21" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c50" fbc:reaction="R20" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c51" fbc:reaction="R20" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="R07_eq" fbc:reaction="R07" fbc:operation="equal" fbc:value="0.2"/>
+      <fbc:fluxBound fbc:id="R10_eq" fbc:reaction="R10" fbc:operation="equal" fbc:value="0.3"/>
+      <fbc:fluxBound fbc:id="R25_eq" fbc:reaction="R25" fbc:operation="equal" fbc:value="0.4"/>
+    </fbc:listOfFluxBounds>
+    <fbc:listOfObjectives fbc:activeObjective="OBJF">
+      <fbc:objective fbc:id="OBJF" fbc:type="maximize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="1"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+    </fbc:listOfObjectives>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01195/01195-settings.txt b/models/sbml-test-suite/cases/semantic/01195/01195-settings.txt
new file mode 100644
index 0000000..d2718d5
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01195/01195-settings.txt
@@ -0,0 +1,8 @@
+start:
+duration:
+steps:
+variables: R01,R07,R10,OBJF,R26,R25
+absolute: 0.001
+relative: 0.001
+amount: 
+concentration: 
diff --git a/models/sbml-test-suite/cases/semantic/01196/01196-results.csv b/models/sbml-test-suite/cases/semantic/01196/01196-results.csv
new file mode 100644
index 0000000..2b86674
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01196/01196-results.csv
@@ -0,0 +1,2 @@
+OBJF
+NaN
diff --git a/models/sbml-test-suite/cases/semantic/01196/01196-sbml-l3v1.xml b/models/sbml-test-suite/cases/semantic/01196/01196-sbml-l3v1.xml
new file mode 100644
index 0000000..befe95e
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01196/01196-sbml-l3v1.xml
@@ -0,0 +1,633 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version1" xmlns:html="http://www.w3.org/1999/xhtml" level="3" version="1" fbc:required="false">
+  <model metaid="meta_MODEL_01196" id="MODEL_01196">
+    <notes>
+      <body xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          <span style="font-family: Courier New,Courier,monospace;">Infeasible solution, should return a nan</span>
+        </p>
+      </body>
+    </notes>
+    <annotation>
+      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
+        <rdf:Description rdf:about="#meta_MODEL_01196">
+          <dc:creator>
+            <rdf:Bag>
+              <rdf:li rdf:parseType="Resource">
+                <vCard:N rdf:parseType="Resource">
+                  <vCard:Family>Olivier</vCard:Family>
+                  <vCard:Given>Brett</vCard:Given>
+                </vCard:N>
+                <vCard:EMAIL>bgoli at users.sourceforge.net</vCard:EMAIL>
+                <vCard:ORG rdf:parseType="Resource">
+                  <vCard:Orgname>VU university Amsterdam</vCard:Orgname>
+                </vCard:ORG>
+              </rdf:li>
+            </rdf:Bag>
+          </dc:creator>
+          <dcterms:created rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T11:05:22Z</dcterms:W3CDTF>
+          </dcterms:created>
+          <dcterms:modified rdf:parseType="Resource">
+            <dcterms:W3CDTF>2012-12-21T10:05:22Z</dcterms:W3CDTF>
+          </dcterms:modified>
+        </rdf:Description>
+      </rdf:RDF>
+    </annotation>
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance" name="substance">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="area" name="area">
+        <listOfUnits>
+          <unit kind="metre" exponent="2" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="volume" name="volume">
+        <listOfUnits>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="length" name="length">
+        <listOfUnits>
+          <unit kind="metre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="time" name="time">
+        <listOfUnits>
+          <unit kind="second" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+      <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+        <listOfUnits>
+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
+          <unit kind="second" exponent="-1" scale="0" multiplier="0.00027777"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="Cell" name="Cell" size="1" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species metaid="meta_A" id="A" name="A" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_B" id="B" name="B" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_C" id="C" name="C" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_D" id="D" name="D" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_E" id="E" name="E" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_F" id="F" name="F" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_G" id="G" name="G" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_H" id="H" name="H" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_I" id="I" name="I" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_J" id="J" name="J" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_K" id="K" name="K" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_L" id="L" name="L" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_M" id="M" name="M" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_N" id="N" name="N" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_O" id="O" name="O" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_P" id="P" name="P" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Q" id="Q" name="Q" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_R" id="R" name="R" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_S" id="S" name="S" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_T" id="T" name="T" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_U" id="U" name="U" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_X" id="X" name="X" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+      <species metaid="meta_Y" id="Y" name="Y" compartment="Cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false" fbc:charge="1" fbc:chemicalFormula="C2H6O"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction metaid="meta_R16" id="R16" name="R16" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R14" id="R14" name="R14" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R15" id="R15" name="R15" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R12" id="R12" name="R12" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R07" id="R07" name="R07" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R13" id="R13" name="R13" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="J" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R01" id="R01" name="R01" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R17" id="R17" name="R17" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="M" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R03" id="R03" name="R03" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R02" id="R02" name="R02" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R05" id="R05" name="R05" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R04" id="R04" name="R04" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C1</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C1"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="C" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R10" id="R10" name="R10" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R06" id="R06" name="R06" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="E" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R09" id="R09" name="R09" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="D" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="G" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R08" id="R08" name="R08" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="F" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R11" id="R11" name="R11" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C2</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C2"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="H" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="I" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R18" id="R18" name="R18" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="N" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R19" id="R19" name="R19" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="K" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R26" id="R26" name="R26" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Y" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R25" id="R25" name="R25" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="A" stoichiometry="1" constant="false"/>
+          <speciesReference species="T" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="0.5" constant="false"/>
+          <speciesReference species="U" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R24" id="R24" name="R24" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R23" id="R23" name="R23" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C4</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C4"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R22" id="R22" name="R22" reversible="false" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: L</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="L"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="Q" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="R" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R21" id="R21" name="R21" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="L" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+      <reaction metaid="meta_R20" id="R20" name="R20" reversible="true" fast="false">
+        <notes>
+          <body xmlns="http://www.w3.org/1999/xhtml">
+            <p>subsystem: C3</p>
+          </body>
+        </notes>
+        <annotation>
+          <listOfKeyValueData xmlns="http://pysces.sourceforge.net/KeyValueData">
+            <data id="subsystem" type="string" value="C3"/>
+          </listOfKeyValueData>
+        </annotation>
+        <listOfReactants>
+          <speciesReference species="O" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+      </reaction>
+    </listOfReactions>
+    <fbc:listOfFluxBounds>
+      <fbc:fluxBound fbc:id="c0" fbc:reaction="R16" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c1" fbc:reaction="R16" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c2" fbc:reaction="R03" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c3" fbc:reaction="R03" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c4" fbc:reaction="R02" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c5" fbc:reaction="R02" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c6" fbc:reaction="R05" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c7" fbc:reaction="R05" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c8" fbc:reaction="R07" fbc:operation="greaterEqual" fbc:value="2"/>
+      <fbc:fluxBound fbc:id="c9" fbc:reaction="R07" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c10" fbc:reaction="R04" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c11" fbc:reaction="R04" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c12" fbc:reaction="R01" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c13" fbc:reaction="R01" fbc:operation="lessEqual" fbc:value="1"/>
+      <fbc:fluxBound fbc:id="c14" fbc:reaction="R17" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c15" fbc:reaction="R17" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c16" fbc:reaction="R14" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c17" fbc:reaction="R14" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c18" fbc:reaction="R15" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c19" fbc:reaction="R15" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c20" fbc:reaction="R12" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c21" fbc:reaction="R12" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c22" fbc:reaction="R13" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c23" fbc:reaction="R13" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c24" fbc:reaction="R10" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c25" fbc:reaction="R10" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c26" fbc:reaction="R11" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c27" fbc:reaction="R11" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c28" fbc:reaction="R09" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c29" fbc:reaction="R09" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c30" fbc:reaction="R08" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c31" fbc:reaction="R08" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c32" fbc:reaction="R06" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c33" fbc:reaction="R06" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c34" fbc:reaction="R18" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c35" fbc:reaction="R18" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c36" fbc:reaction="R19" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c37" fbc:reaction="R19" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c38" fbc:reaction="R26" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c39" fbc:reaction="R26" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c40" fbc:reaction="R25" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c41" fbc:reaction="R25" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c42" fbc:reaction="R24" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c43" fbc:reaction="R24" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c44" fbc:reaction="R23" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c45" fbc:reaction="R23" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c46" fbc:reaction="R22" fbc:operation="greaterEqual" fbc:value="0"/>
+      <fbc:fluxBound fbc:id="c47" fbc:reaction="R22" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c48" fbc:reaction="R21" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c49" fbc:reaction="R21" fbc:operation="lessEqual" fbc:value="1000"/>
+      <fbc:fluxBound fbc:id="c50" fbc:reaction="R20" fbc:operation="greaterEqual" fbc:value="-1000"/>
+      <fbc:fluxBound fbc:id="c51" fbc:reaction="R20" fbc:operation="lessEqual" fbc:value="1000"/>
+    </fbc:listOfFluxBounds>
+    <fbc:listOfObjectives fbc:activeObjective="OBJF">
+      <fbc:objective fbc:id="OBJF" fbc:type="maximize">
+        <fbc:listOfFluxObjectives>
+          <fbc:fluxObjective fbc:reaction="R26" fbc:coefficient="1"/>
+        </fbc:listOfFluxObjectives>
+      </fbc:objective>
+    </fbc:listOfObjectives>
+  </model>
+</sbml>
diff --git a/models/sbml-test-suite/cases/semantic/01196/01196-settings.txt b/models/sbml-test-suite/cases/semantic/01196/01196-settings.txt
new file mode 100644
index 0000000..9681782
--- /dev/null
+++ b/models/sbml-test-suite/cases/semantic/01196/01196-settings.txt
@@ -0,0 +1,8 @@
+start:
+duration:
+steps:
+variables: OBJF
+absolute: 0.001
+relative: 0.001
+amount: 
+concentration: 
diff --git a/models/sbml_test_0001.xml b/models/sbml_test_0001.xml
new file mode 100644
index 0000000..60c5c4a
--- /dev/null
+++ b/models/sbml_test_0001.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model metaid="_case00001" id="case00001" name="case00001">
+    <listOfCompartments>
+      <compartment id="compartment" name="compartment" size="1" units="volume"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" name="S1" compartment="compartment" initialAmount="0.00015" substanceUnits="substance"/>
+      <species id="S2" name="S2" compartment="compartment" initialAmount="0" substanceUnits="substance"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" name="k1" value="1"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="reaction1" name="reaction1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> compartment </ci>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/models/settings_override.txt b/models/settings_override.txt
new file mode 100644
index 0000000..1bf9a30
--- /dev/null
+++ b/models/settings_override.txt
@@ -0,0 +1,9 @@
+start: 0
+duration: 5
+steps: 100
+variables: S1, S2
+absolute: 1.000000e-007
+relative: 0.0001
+amount: S1, S2
+concentration:
+
diff --git a/models/simple.xml b/models/simple.xml
new file mode 100644
index 0000000..ee79016
--- /dev/null
+++ b/models/simple.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by JarnacLite version 1.0.4092.22132 on 2012-03-21 15:10 with libSBML version 4.3.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
+  <model id="cell" name="cell">
+    <listOfCompartments>
+      <compartment id="compartment" size="1" />
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="Xo" compartment="compartment" initialConcentration="10" boundaryCondition="true" />
+      <species id="X1" compartment="compartment" initialConcentration="0" boundaryCondition="true" />
+      <species id="S1" compartment="compartment" initialConcentration="0" />
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="1" />
+      <parameter id="k2" value="2" />
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="_J0" reversible="false">
+        <listOfReactants>
+          <speciesReference species="Xo" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci> k1 </ci>
+              <ci> Xo </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci> k2 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
\ No newline at end of file
diff --git a/models/squareWaveModel.xml b/models/squareWaveModel.xml
new file mode 100644
index 0000000..ec36659
--- /dev/null
+++ b/models/squareWaveModel.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 7/25/2012 from  -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2" level = "2" version = "1">
+   <model id = "cell">
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "X1" boundaryCondition = "true" initialConcentration = "1" compartment = "compartment"/>
+         <species id = "S1" boundaryCondition = "false" initialConcentration = "1.9039453559906" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "k1" value = "1"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "J0" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "X1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <plus/>
+                     <apply>
+                        <gt/>
+                        <apply>
+                           <sin/>
+                           <csymbol encoding = "text" definitionURL = "http://www.sbml.org/sbml/symbols/time">
+                                 time
+                           </csymbol>
+                        </apply>
+                        <cn type = "integer">
+                              0
+                        </cn>
+                     </apply>
+                     <cn type = "integer">
+                           1
+                     </cn>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "_J2" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "X1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k1
+                     </ci>
+                     <ci>
+                           S1
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
diff --git a/models/ss_SimpleConservedCycle.xml b/models/ss_SimpleConservedCycle.xml
new file mode 100644
index 0000000..654325b
--- /dev/null
+++ b/models/ss_SimpleConservedCycle.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 6/19/2012 from  -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2" level = "2" version = "1">
+   <model id = "cell">
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "S1" boundaryCondition = "false" initialConcentration = "7.5" compartment = "compartment"/>
+         <species id = "S2" boundaryCondition = "false" initialConcentration = "2.5" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "k1" value = "0.15"/>
+         <parameter id = "k2" value = "0.45"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "_J1" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k1
+                     </ci>
+                     <ci>
+                           S1
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "_J2" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k2
+                     </ci>
+                     <ci>
+                           S2
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
diff --git a/models/ss_TurnOnConservationAnalysis.xml b/models/ss_TurnOnConservationAnalysis.xml
new file mode 100644
index 0000000..654325b
--- /dev/null
+++ b/models/ss_TurnOnConservationAnalysis.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 6/19/2012 from  -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2" level = "2" version = "1">
+   <model id = "cell">
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "S1" boundaryCondition = "false" initialConcentration = "7.5" compartment = "compartment"/>
+         <species id = "S2" boundaryCondition = "false" initialConcentration = "2.5" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "k1" value = "0.15"/>
+         <parameter id = "k2" value = "0.45"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "_J1" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k1
+                     </ci>
+                     <ci>
+                           S1
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "_J2" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k2
+                     </ci>
+                     <ci>
+                           S2
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
diff --git a/models/ss_threeSpecies.xml b/models/ss_threeSpecies.xml
new file mode 100644
index 0000000..19d8037
--- /dev/null
+++ b/models/ss_threeSpecies.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 6/19/2012 from  -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2" level = "2" version = "1">
+   <model id = "cell">
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "Xo" boundaryCondition = "true" initialConcentration = "1" compartment = "compartment"/>
+         <species id = "X1" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "S1" boundaryCondition = "false" initialConcentration = "0.666666666666667" compartment = "compartment"/>
+         <species id = "S2" boundaryCondition = "false" initialConcentration = "0.25" compartment = "compartment"/>
+         <species id = "S3" boundaryCondition = "false" initialConcentration = "0.181818181818182" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "k1" value = "0.1"/>
+         <parameter id = "k2" value = "0.15"/>
+         <parameter id = "k3" value = "0.4"/>
+         <parameter id = "k4" value = "0.55"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "_J1" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "Xo" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k1
+                     </ci>
+                     <ci>
+                           Xo
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "_J2" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k2
+                     </ci>
+                     <ci>
+                           S1
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "_J3" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k3
+                     </ci>
+                     <ci>
+                           S2
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "_J4" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "X1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k4
+                     </ci>
+                     <ci>
+                           S3
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
diff --git a/models/ss_threestep.xml b/models/ss_threestep.xml
new file mode 100644
index 0000000..75a115a
--- /dev/null
+++ b/models/ss_threestep.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 6/19/2012 from  -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2" level = "2" version = "1">
+   <model id = "cell">
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "Xo" boundaryCondition = "true" initialConcentration = "1" compartment = "compartment"/>
+         <species id = "X1" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "S1" boundaryCondition = "false" initialConcentration = "0.0" compartment = "compartment"/>
+         <species id = "S2" boundaryCondition = "false" initialConcentration = "0.0" compartment = "compartment"/>
+         <species id = "S3" boundaryCondition = "false" initialConcentration = "0.0" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "k1" value = "0.1"/>
+         <parameter id = "k2" value = "0.15"/>
+         <parameter id = "k3" value = "0.4"/>
+         <parameter id = "k4" value = "0.55"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "_J1" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "Xo" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k1
+                     </ci>
+                     <ci>
+                           Xo
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "_J2" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k2
+                     </ci>
+                     <ci>
+                           S1
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "_J3" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k3
+                     </ci>
+                     <ci>
+                           S2
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "_J4" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "X1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           k4
+                     </ci>
+                     <ci>
+                           S3
+                     </ci>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
diff --git a/models/test_models/CMakeLists.txt b/models/test_models/CMakeLists.txt
new file mode 100644
index 0000000..eda3faf
--- /dev/null
+++ b/models/test_models/CMakeLists.txt
@@ -0,0 +1,17 @@
+cmake_minimum_required(VERSION 2.8)
+
+PROJECT(rrModels)
+
+set(test_models
+TestModel_1.xml
+)
+
+if(BUILD_TESTS)
+add_subdirectory(reference_data)
+endif()
+
+install(    
+FILES ${test_models}
+DESTINATION models/test_models 	
+COMPONENT testing
+)
diff --git a/models/test_models/TestModel_1.xml b/models/test_models/TestModel_1.xml
new file mode 100644
index 0000000..d51e185
--- /dev/null
+++ b/models/test_models/TestModel_1.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 11/28/2012 from  -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2/version4" level = "2" version = "4">
+   <model id = "cell">
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "src" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "waste" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "Xo" boundaryCondition = "true" initialConcentration = "1" compartment = "compartment"/>
+         <species id = "X1" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "S1" boundaryCondition = "false" initialConcentration = "0.569694868238558" compartment = "compartment"/>
+         <species id = "S2" boundaryCondition = "false" initialConcentration = "0.208044382801664" compartment = "compartment"/>
+         <species id = "S3" boundaryCondition = "false" initialConcentration = "0.13002773925104" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "k1" value = "0.1"/>
+         <parameter id = "k_1" value = "0.05"/>
+         <parameter id = "k2" value = "0.15"/>
+         <parameter id = "k_2" value = "0.067"/>
+         <parameter id = "k3" value = "0.4"/>
+         <parameter id = "k_3" value = "0.09"/>
+         <parameter id = "k4" value = "0.55"/>
+         <parameter id = "k_4" value = "0.01"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "J1" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "Xo" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <minus/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              k1
+                        </ci>
+                        <ci>
+                              Xo
+                        </ci>
+                     </apply>
+                     <apply>
+                        <times/>
+                        <ci>
+                              k_1
+                        </ci>
+                        <ci>
+                              S1
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J2" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <minus/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              k2
+                        </ci>
+                        <ci>
+                              S1
+                        </ci>
+                     </apply>
+                     <apply>
+                        <times/>
+                        <ci>
+                              k_2
+                        </ci>
+                        <ci>
+                              S2
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J3" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <minus/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              k3
+                        </ci>
+                        <ci>
+                              S2
+                        </ci>
+                     </apply>
+                     <apply>
+                        <times/>
+                        <ci>
+                              k_3
+                        </ci>
+                        <ci>
+                              S3
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J4" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "X1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <minus/>
+                     <apply>
+                        <times/>
+                        <ci>
+                              k4
+                        </ci>
+                        <ci>
+                              S3
+                        </ci>
+                     </apply>
+                     <apply>
+                        <times/>
+                        <ci>
+                              k_4
+                        </ci>
+                        <ci>
+                              X1
+                        </ci>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
diff --git a/models/test_models/reference_data/CMakeLists.txt b/models/test_models/reference_data/CMakeLists.txt
new file mode 100644
index 0000000..ed84197
--- /dev/null
+++ b/models/test_models/reference_data/CMakeLists.txt
@@ -0,0 +1,13 @@
+cmake_minimum_required(VERSION 2.8)
+
+PROJECT(ref_data)
+
+set(ref_data_files
+TestModel_1.dat
+)
+
+install(
+FILES ${ref_data_files}
+DESTINATION models/test_models/reference_data 	
+COMPONENT testing
+)
diff --git a/models/test_models/reference_data/TestModel_1.dat b/models/test_models/reference_data/TestModel_1.dat
new file mode 100644
index 0000000..9058a74
--- /dev/null
+++ b/models/test_models/reference_data/TestModel_1.dat
@@ -0,0 +1,95 @@
+# The following reference data is taken using C# roadrunner version 2.0.1
+# Input model for the data below is TestModel_1.xml. This model file can be found in roadrunners reference_data folder.
+
+[SBML_FILE]
+sbmlFile=Test_1.xml
+
+[STEADY_STATE_CONCENTRATIONS]
+S1 = 0.569694868238558
+S2 = 0.208044382801664
+S3 = 0.13002773925104
+J1 = 0.0715152565880721
+J2 = 0.0715152565880721
+J3 = 0.0715152565880721
+J4 = 0.0715152565880721
+
+[FULL_JACOBIAN]
+-0.2    0.067        0 
+0.15   -0.467     0.09 
+  0      0.4    -0.64
+
+[REDUCED_REORDERED_JACOBIAN]
+-0.2    0       0.067
+0      -0.64    0.4
+0.15    0.09    -0.467
+
+
+[FULL_REORDERED_JACOBIAN]
+-0.2    0       0.067
+0      -0.64    0.4
+0.15    0.09    -0.467
+
+         
+[EIGEN_VALUES]   
+eigen_S1 = -0.157263450928358,0
+eigen_S2 = -0.382371338369919,0
+eigen_S3 = -0.157263450928358,0
+
+[STOICHIOMETRY_MATRIX]
+1 -1 0 0 
+0 0 1 -1 
+0 1 -1 0
+
+[REORDERED_STOICHIOMETRY_MATRIX]
+1 -1 0 0 
+0 0 1 -1 
+0 1 -1 0
+
+[FULLY_REORDERED_STOICHIOMETRY_MATRIX]
+1 -1 0 0 
+0 0 1 -1 
+0 1 -1 0
+
+[LINK_MATRIX]
+1 0 0 
+0 1 0 
+0 0 1
+
+[NR_MATRIX]
+1 -1 0 0 
+0 0 1 -1 
+0 1 -1 0
+
+[LO_MATRIX]
+
+
+[UNSCALED_ELASTICITY_MATRIX]
+-0.0499999999999996 0 0 
+0.15 0 -0.0670000000000002 
+0 -0.0899999999999976 0.4 
+0 0.55 0
+
+
+[SCALED_ELASTICITY_MATRIX]
+-0.398303030303028 0 0 
+1.19490909090909 0 -0.194909090909091 
+0 -0.163636363636359 1.16363636363636 
+0 1 0
+
+[UNSCALED_CONCENTRATION_CONTROL_COEFFICIENT_MATRIX]
+5.6969486823856 -4.76768377253816 -0.798587031900144 -0.130677877947294 
+1.3002773925104 0.433425797503465 0.0725988210818309 -1.8063020110957 
+2.08044382801664 0.693481276005544 -2.38384188626907 -0.390083217753115
+
+[UNSCALED_FLUX_CONTROL_COEFFICIENT_MATRIX]
+0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736467 
+0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736467 
+0.715152565880722 0.238384188626906 0.039929351595007 0.00653389389736467 
+0.715152565880722 0.238384188626906 0.0399293515950071 0.0065338938973647
+
+[SCALED_FLUX_CONTROL_COEFFICIENT_MATRIX]
+0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736468 
+0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736467 
+0.715152565880722 0.238384188626906 0.039929351595007 0.00653389389736467 
+0.715152565880722 0.238384188626906 0.0399293515950071 0.0065338938973647
+
diff --git a/packaging/deb/libroadrunner-deps/debian/README b/packaging/deb/libroadrunner-deps/debian/README
new file mode 100644
index 0000000..c468269
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/README
@@ -0,0 +1,6 @@
+The Debian Package libroadrunner-deps
+----------------------------
+
+Comments regarding the Package
+
+ -- Kyle Medley <0u812github at gmail.com>  Tue, 02 Jun 2015 15:26:19 -0700
diff --git a/packaging/deb/libroadrunner-deps/debian/README.Debian b/packaging/deb/libroadrunner-deps/debian/README.Debian
new file mode 100644
index 0000000..426c684
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/README.Debian
@@ -0,0 +1,6 @@
+libroadrunner-deps for Debian
+-----------------------------
+
+<possible notes regarding this package - if none, delete this file>
+
+ -- Kyle Medley <0u812github at gmail.com>  Tue, 02 Jun 2015 15:26:19 -0700
diff --git a/packaging/deb/libroadrunner-deps/debian/README.source b/packaging/deb/libroadrunner-deps/debian/README.source
new file mode 100644
index 0000000..926155b
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/README.source
@@ -0,0 +1,10 @@
+libroadrunner-deps for Debian
+-----------------------------
+
+<this file describes information about the source package, see Debian policy
+manual section 4.14. You WILL either need to modify or delete this file>
+
+
+
+ -- Kyle Medley <0u812github at gmail.com>  Tue, 02 Jun 2015 15:26:19 -0700
+
diff --git a/packaging/deb/libroadrunner-deps/debian/changelog b/packaging/deb/libroadrunner-deps/debian/changelog
new file mode 100644
index 0000000..3c2fdbf
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/changelog
@@ -0,0 +1,17 @@
+libroadrunner-deps (1.3.4) unstable; urgency=low
+
+  * Sync with libroadrunner
+
+ -- Kyle Medley <0u812github at gmail.com>  Wed, 10 Jun 2015 12:00:00 -0700
+
+libroadrunner-deps (1.3.3) unstable; urgency=low
+
+  * Sync with libroadrunner
+
+ -- Kyle Medley <0u812github at gmail.com>  Wed, 03 Jun 2015 12:00:00 -0700
+
+libroadrunner-deps (1.3.2) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Kyle Medley <0u812github at gmail.com>  Tue, 02 Jun 2015 15:26:19 -0700
diff --git a/packaging/deb/libroadrunner-deps/debian/compat b/packaging/deb/libroadrunner-deps/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/packaging/deb/libroadrunner-deps/debian/control b/packaging/deb/libroadrunner-deps/debian/control
new file mode 100755
index 0000000..379f80a
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/control
@@ -0,0 +1,21 @@
+Source: libroadrunner-deps
+Priority: optional
+Maintainer: Kyle Medley <0u812github at gmail.com>
+Build-Depends: debhelper (>= 8.0.0), cmake, libxml2-dev
+Standards-Version: 3.9.4
+Section: libs
+Homepage: http://libroadrunner.org/
+Vcs-Git: git at github.com:sys-bio/roadrunner.git
+Vcs-Browser: https://github.com/sys-bio/roadrunner
+
+Package: libroadrunner-deps-dev
+Section: libdevel
+Architecture: any
+Depends: libroadrunner-deps (= ${binary:Version})
+Description: Dependencies for libroadrunner
+
+Package: libroadrunner-deps
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Dependencies for libroadrunner
diff --git a/packaging/deb/libroadrunner-deps/debian/copyright b/packaging/deb/libroadrunner-deps/debian/copyright
new file mode 100644
index 0000000..4092333
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/copyright
@@ -0,0 +1,33 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: libroadrunner-deps
+Source: <url://example.com>
+
+Files: *
+Copyright: <years> <put author's name and email here>
+           <years> <likewise for another author>
+License: Apache-2.0
+
+Files: debian/*
+Copyright: 2015 Kyle Medley <0u812github at gmail.com>
+License: Apache-2.0
+
+License: Apache-2.0
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ .
+ http://www.apache.org/licenses/LICENSE-2.0
+ .
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ .
+ On Debian systems, the complete text of the Apache version 2.0 license
+ can be found in "/usr/share/common-licenses/Apache-2.0".
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+# Please avoid to pick license terms that are more restrictive than the
+# packaged work, as it may make Debian's contributions unacceptable upstream.
diff --git a/packaging/deb/libroadrunner-deps/debian/docs b/packaging/deb/libroadrunner-deps/debian/docs
new file mode 100644
index 0000000..e69de29
diff --git a/packaging/deb/libroadrunner-deps/debian/init.d.ex b/packaging/deb/libroadrunner-deps/debian/init.d.ex
new file mode 100644
index 0000000..650c21f
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/init.d.ex
@@ -0,0 +1,166 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          libroadrunner-deps
+# Required-Start:    $local_fs $network $remote_fs $syslog
+# Required-Stop:     $local_fs $network $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: <Enter a short description of the software>
+# Description:       <Enter a long description of the software>
+#                    <...>
+#                    <...>
+### END INIT INFO
+
+# Author: Kyle Medley <0u812github at gmail.com>
+
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="libroadrunner-deps"
+NAME=libroadrunner-deps
+DAEMON=/usr/sbin/libroadrunner-deps
+DAEMON_ARGS=""
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+	# Return
+	#   0 if daemon has been started
+	#   1 if daemon was already running
+	#   2 if daemon could not be started
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+		|| return 1
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+		$DAEMON_ARGS \
+		|| return 2
+	# The above code will not work for interpreted scripts, use the next
+	# six lines below instead (Ref: #643337, start-stop-daemon(8) )
+	#start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON \
+	#	--name $NAME --test > /dev/null \
+	#	|| return 1
+	#start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON \
+	#	--name $NAME -- $DAEMON_ARGS \
+	#	|| return 2
+
+	# Add code here, if necessary, that waits for the process to be ready
+	# to handle requests from services started subsequently which depend
+	# on this one.  As a last resort, sleep for some time.
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+	# Return
+	#   0 if daemon has been stopped
+	#   1 if daemon was already stopped
+	#   2 if daemon could not be stopped
+	#   other if a failure occurred
+	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+	RETVAL="$?"
+	[ "$RETVAL" = 2 ] && return 2
+	# Wait for children to finish too if this is a daemon that forks
+	# and if the daemon is only ever run from this initscript.
+	# If the above conditions are not satisfied then add some other code
+	# that waits for the process to drop all resources that could be
+	# needed by services started subsequently.  A last resort is to
+	# sleep for some time.
+	start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+	[ "$?" = 2 ] && return 2
+	# Many daemons don't delete their pidfiles when they exit.
+	rm -f $PIDFILE
+	return "$RETVAL"
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+	#
+	# If the daemon can reload its configuration without
+	# restarting (for example, when it is sent a SIGHUP),
+	# then implement that here.
+	#
+	start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
+	return 0
+}
+
+case "$1" in
+  start)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+	do_start
+	case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+  stop)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+	do_stop
+	case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+  status)
+	status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+	;;
+  #reload|force-reload)
+	#
+	# If do_reload() is not implemented then leave this commented out
+	# and leave 'force-reload' as an alias for 'restart'.
+	#
+	#log_daemon_msg "Reloading $DESC" "$NAME"
+	#do_reload
+	#log_end_msg $?
+	#;;
+  restart|force-reload)
+	#
+	# If the "reload" option is implemented then remove the
+	# 'force-reload' alias
+	#
+	log_daemon_msg "Restarting $DESC" "$NAME"
+	do_stop
+	case "$?" in
+	  0|1)
+		do_start
+		case "$?" in
+			0) log_end_msg 0 ;;
+			1) log_end_msg 1 ;; # Old process is still running
+			*) log_end_msg 1 ;; # Failed to start
+		esac
+		;;
+	  *)
+		# Failed to stop
+		log_end_msg 1
+		;;
+	esac
+	;;
+  *)
+	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+	exit 3
+	;;
+esac
+
+:
diff --git a/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps-dev.dirs b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps-dev.dirs
new file mode 100644
index 0000000..4418816
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps-dev.dirs
@@ -0,0 +1,2 @@
+usr/lib
+usr/include
diff --git a/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps-dev.install b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps-dev.install
new file mode 100644
index 0000000..cc66f5e
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps-dev.install
@@ -0,0 +1,5 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
+usr/lib/pkgconfig/*
+usr/share/pkgconfig/*
diff --git a/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.cron.d.ex b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.cron.d.ex
new file mode 100644
index 0000000..0f75a95
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.cron.d.ex
@@ -0,0 +1,4 @@
+#
+# Regular cron jobs for the libroadrunner-deps package
+#
+0 4	* * *	root	[ -x /usr/bin/libroadrunner-deps_maintenance ] && /usr/bin/libroadrunner-deps_maintenance
diff --git a/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.default.ex b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.default.ex
new file mode 100644
index 0000000..698c6c7
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.default.ex
@@ -0,0 +1,10 @@
+# Defaults for libroadrunner-deps initscript
+# sourced by /etc/init.d/libroadrunner-deps
+# installed at /etc/default/libroadrunner-deps by the maintainer scripts
+
+#
+# This is a POSIX shell fragment
+#
+
+# Additional options that are passed to the Daemon.
+DAEMON_OPTS=""
diff --git a/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.dirs b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.dirs
new file mode 100644
index 0000000..6845771
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.dirs
@@ -0,0 +1 @@
+usr/lib
diff --git a/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.doc-base.EX b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.doc-base.EX
new file mode 100644
index 0000000..4be257f
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.doc-base.EX
@@ -0,0 +1,20 @@
+Document: libroadrunner-deps
+Title: Debian libroadrunner-deps Manual
+Author: <insert document author here>
+Abstract: This manual describes what libroadrunner-deps is
+ and how it can be used to
+ manage online manuals on Debian systems.
+Section: unknown
+
+Format: debiandoc-sgml
+Files: /usr/share/doc/libroadrunner-deps/libroadrunner-deps.sgml.gz
+
+Format: postscript
+Files: /usr/share/doc/libroadrunner-deps/libroadrunner-deps.ps.gz
+
+Format: text
+Files: /usr/share/doc/libroadrunner-deps/libroadrunner-deps.text.gz
+
+Format: HTML
+Index: /usr/share/doc/libroadrunner-deps/html/index.html
+Files: /usr/share/doc/libroadrunner-deps/html/*.html
diff --git a/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.install b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.install
new file mode 100644
index 0000000..d0dbfd1
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/libroadrunner-deps.install
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
diff --git a/packaging/deb/libroadrunner-deps/debian/manpage.1.ex b/packaging/deb/libroadrunner-deps/debian/manpage.1.ex
new file mode 100644
index 0000000..92aa8b0
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/manpage.1.ex
@@ -0,0 +1,56 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" (C) Copyright 2015 Kyle Medley <0u812github at gmail.com>,
+.\"
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH LIBROADRUNNER-DEPS SECTION "June  2, 2015"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+libroadrunner-deps \- program to do something
+.SH SYNOPSIS
+.B libroadrunner-deps
+.RI [ options ] " files" ...
+.br
+.B bar
+.RI [ options ] " files" ...
+.SH DESCRIPTION
+This manual page documents briefly the
+.B libroadrunner-deps
+and
+.B bar
+commands.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fBlibroadrunner-deps\fP is a program that...
+.SH OPTIONS
+These programs follow the usual GNU command line syntax, with long
+options starting with two dashes (`-').
+A summary of options is included below.
+For a complete description, see the Info files.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-v, \-\-version
+Show version of program.
+.SH SEE ALSO
+.BR bar (1),
+.BR baz (1).
+.br
+The programs are documented fully by
+.IR "The Rise and Fall of a Fooish Bar" ,
+available via the Info system.
diff --git a/packaging/deb/libroadrunner-deps/debian/manpage.sgml.ex b/packaging/deb/libroadrunner-deps/debian/manpage.sgml.ex
new file mode 100644
index 0000000..46f9edb
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/manpage.sgml.ex
@@ -0,0 +1,154 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
+     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
+     less'.  A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+	docbook-to-man $< > $@
+
+
+	The docbook-to-man binary is found in the docbook-to-man package.
+	Please remember that if you create the nroff version in one of the
+	debian/rules file targets (such as build), you will need to include
+	docbook-to-man in your Build-Depends control field.
+
+  -->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+  <!ENTITY dhsurname   "<surname>SURNAME</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>June  2, 2015</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>SECTION</manvolnum>">
+  <!ENTITY dhemail     "<email>0u812github at gmail.com</email>">
+  <!ENTITY dhusername  "Kyle Medley">
+  <!ENTITY dhucpackage "<refentrytitle>LIBROADRUNNER-DEPS</refentrytitle>">
+  <!ENTITY dhpackage   "libroadrunner-deps">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2003</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+
+      <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+      <arg><option>--example <replaceable>that</replaceable></option></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+
+    <para>This manual page was written for the &debian; distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the &gnu;
+      <application>Info</application> format; see below.</para>
+
+    <para><command>&dhpackage;</command> is a program that...</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <para>These programs follow the usual &gnu; command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <application>Info</application> files.</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>bar (1), baz (1).</para>
+
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the
+      <application>Info</application> system.</para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (and may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the &gnu; General Public License, Version 2 any
+      later version published by the Free Software Foundation.
+    </para>
+    <para>
+      On Debian systems, the complete text of the GNU General Public
+      License can be found in /usr/share/common-licenses/GPL.
+    </para>
+
+  </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
diff --git a/packaging/deb/libroadrunner-deps/debian/manpage.xml.ex b/packaging/deb/libroadrunner-deps/debian/manpage.xml.ex
new file mode 100644
index 0000000..a6c39db
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/manpage.xml.ex
@@ -0,0 +1,291 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+
+<!--
+
+`xsltproc -''-nonet \
+          -''-param man.charmap.use.subset "0" \
+          -''-param make.year.ranges "1" \
+          -''-param make.single.year.ranges "1" \
+          /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \
+          manpage.xml'
+
+A manual page <package>.<section> will be generated. You may view the
+manual page with: nroff -man <package>.<section> | less'. A typical entry
+in a Makefile or Makefile.am is:
+
+DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/manpages/docbook.xsl
+XP     = xsltproc -''-nonet -''-param man.charmap.use.subset "0"
+
+manpage.1: manpage.xml
+        $(XP) $(DB2MAN) $<
+
+The xsltproc binary is found in the xsltproc package. The XSL files are in
+docbook-xsl. A description of the parameters you can use can be found in the
+docbook-xsl-doc-* packages. Please remember that if you create the nroff
+version in one of the debian/rules file targets (such as build), you will need
+to include xsltproc and docbook-xsl in your Build-Depends control field.
+Alternatively use the xmlto command/package. That will also automatically
+pull in xsltproc and docbook-xsl.
+
+Notes for using docbook2x: docbook2x-man does not automatically create the
+AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as
+<refsect1> ... </refsect1>.
+
+To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections
+read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be
+found in the docbook-xsl-doc-html package.
+
+Validation can be done using: `xmllint -''-noout -''-valid manpage.xml`
+
+General documentation about man-pages and man-page-formatting:
+man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/
+
+-->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "FIRSTNAME">
+  <!ENTITY dhsurname   "SURNAME">
+  <!-- dhusername could also be set to "&dhfirstname; &dhsurname;". -->
+  <!ENTITY dhusername  "Kyle Medley">
+  <!ENTITY dhemail     "0u812github at gmail.com">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1) and
+       http://www.tldp.org/HOWTO/Man-Page/q2.html. -->
+  <!ENTITY dhsection   "SECTION">
+  <!-- TITLE should be something like "User commands" or similar (see
+       http://www.tldp.org/HOWTO/Man-Page/q2.html). -->
+  <!ENTITY dhtitle     "libroadrunner-deps User Manual">
+  <!ENTITY dhucpackage "LIBROADRUNNER-DEPS">
+  <!ENTITY dhpackage   "libroadrunner-deps">
+]>
+
+<refentry>
+  <refentryinfo>
+    <title>&dhtitle;</title>
+    <productname>&dhpackage;</productname>
+    <authorgroup>
+      <author>
+       <firstname>&dhfirstname;</firstname>
+        <surname>&dhsurname;</surname>
+        <contrib>Wrote this manpage for the Debian system.</contrib>
+        <address>
+          <email>&dhemail;</email>
+        </address>
+      </author>
+    </authorgroup>
+    <copyright>
+      <year>2007</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    <legalnotice>
+      <para>This manual page was written for the Debian system
+        (and may be used by others).</para>
+      <para>Permission is granted to copy, distribute and/or modify this
+        document under the terms of the GNU General Public License,
+        Version 2 or (at your option) any later version published by
+        the Free Software Foundation.</para>
+      <para>On Debian systems, the complete text of the GNU General Public
+        License can be found in
+        <filename>/usr/share/common-licenses/GPL</filename>.</para>
+    </legalnotice>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>&dhucpackage;</refentrytitle>
+    <manvolnum>&dhsection;</manvolnum>
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+      <!-- These are several examples, how syntaxes could look -->
+      <arg choice="plain"><option>-e <replaceable>this</replaceable></option></arg>
+      <arg choice="opt"><option>--example=<parameter>that</parameter></option></arg>
+      <arg choice="opt">
+        <group choice="req">
+          <arg choice="plain"><option>-e</option></arg>
+          <arg choice="plain"><option>--example</option></arg>
+        </group>
+        <replaceable class="option">this</replaceable>
+      </arg>
+      <arg choice="opt">
+        <group choice="req">
+          <arg choice="plain"><option>-e</option></arg>
+          <arg choice="plain"><option>--example</option></arg>
+        </group>
+        <group choice="req">
+          <arg choice="plain"><replaceable>this</replaceable></arg>
+          <arg choice="plain"><replaceable>that</replaceable></arg>
+        </group>
+      </arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+      <!-- Normally the help and version options make the programs stop
+           right after outputting the requested information. -->
+      <group choice="opt">
+        <arg choice="plain">
+          <group choice="req">
+            <arg choice="plain"><option>-h</option></arg>
+            <arg choice="plain"><option>--help</option></arg>
+          </group>
+        </arg>
+        <arg choice="plain">
+          <group choice="req">
+            <arg choice="plain"><option>-v</option></arg>
+            <arg choice="plain"><option>--version</option></arg>
+          </group>
+        </arg>
+      </group>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1 id="description">
+    <title>DESCRIPTION</title>
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+    <para>This manual page was written for the Debian distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the GNU <citerefentry>
+        <refentrytitle>info</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry> format; see below.</para>
+    <para><command>&dhpackage;</command> is a program that...</para>
+  </refsect1>
+  <refsect1 id="options">
+    <title>OPTIONS</title>
+    <para>The program follows the usual GNU command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <citerefentry>
+        <refentrytitle>info</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry> files.</para>
+    <variablelist>
+      <!-- Use the variablelist.term.separator and the
+           variablelist.term.break.after parameters to
+           control the term elements. -->
+      <varlistentry>
+        <term><option>-e <replaceable>this</replaceable></option></term>
+        <term><option>--example=<replaceable>that</replaceable></option></term>
+        <listitem>
+          <para>Does this and that.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-h</option></term>
+        <term><option>--help</option></term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option></term>
+        <term><option>--version</option></term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="files">
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/foo.conf</filename></term>
+        <listitem>
+          <para>The system-wide configuration file to control the
+            behaviour of <application>&dhpackage;</application>. See
+            <citerefentry>
+              <refentrytitle>foo.conf</refentrytitle>
+              <manvolnum>5</manvolnum>
+            </citerefentry> for further details.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>${HOME}/.foo.conf</filename></term>
+        <listitem>
+          <para>The per-user configuration file to control the
+             behaviour of <application>&dhpackage;</application>. See
+             <citerefentry>
+               <refentrytitle>foo.conf</refentrytitle>
+               <manvolnum>5</manvolnum>
+             </citerefentry> for further details.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="environment">
+    <title>ENVIRONMENT</title>
+    <variablelist>
+      <varlistentry>
+        <term><envar>FOO_CONF</envar></term>
+        <listitem>
+          <para>If used, the defined file is used as configuration
+            file (see also <xref linkend="files"/>).</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="diagnostics">
+    <title>DIAGNOSTICS</title>
+    <para>The following diagnostics may be issued
+      on <filename class="devicefile">stderr</filename>:</para>
+    <variablelist>
+      <varlistentry>
+        <term><errortext>Bad configuration file. Exiting.</errortext></term>
+        <listitem>
+          <para>The configuration file seems to contain a broken configuration
+            line. Use the <option>--verbose</option> option, to get more info.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para><command>&dhpackage;</command> provides some return codes, that can
+      be used in scripts:</para>
+    <segmentedlist>
+      <segtitle>Code</segtitle>
+      <segtitle>Diagnostic</segtitle>
+      <seglistitem>
+        <seg><errorcode>0</errorcode></seg>
+        <seg>Program exited successfully.</seg>
+      </seglistitem>
+      <seglistitem>
+        <seg><errorcode>1</errorcode></seg>
+        <seg>The configuration file seems to be broken.</seg>
+      </seglistitem>
+    </segmentedlist>
+  </refsect1>
+  <refsect1 id="bugs">
+    <!-- Or use this section to tell about upstream BTS. -->
+    <title>BUGS</title>
+    <para>The program is currently limited to only work
+      with the <package>foobar</package> library.</para>
+    <para>The upstreams <acronym>BTS</acronym> can be found
+      at <ulink url="http://bugzilla.foo.tld"/>.</para>
+  </refsect1>
+  <refsect1 id="see_also">
+    <title>SEE ALSO</title>
+    <!-- In alpabetical order. -->
+    <para><citerefentry>
+        <refentrytitle>bar</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry>, <citerefentry>
+        <refentrytitle>baz</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry>, <citerefentry>
+        <refentrytitle>foo.conf</refentrytitle>
+        <manvolnum>5</manvolnum>
+      </citerefentry></para>
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the <citerefentry>
+        <refentrytitle>info</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry> system.</para>
+  </refsect1>
+</refentry>
+
diff --git a/packaging/deb/libroadrunner-deps/debian/menu.ex b/packaging/deb/libroadrunner-deps/debian/menu.ex
new file mode 100644
index 0000000..4176976
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/menu.ex
@@ -0,0 +1,2 @@
+?package(libroadrunner-deps):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\
+  title="libroadrunner-deps" command="/usr/bin/libroadrunner-deps"
diff --git a/packaging/deb/libroadrunner-deps/debian/postinst.ex b/packaging/deb/libroadrunner-deps/debian/postinst.ex
new file mode 100644
index 0000000..0077990
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/postinst.ex
@@ -0,0 +1,39 @@
+#!/bin/sh
+# postinst script for libroadrunner-deps
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    configure)
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/packaging/deb/libroadrunner-deps/debian/postrm.ex b/packaging/deb/libroadrunner-deps/debian/postrm.ex
new file mode 100644
index 0000000..5ddee82
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/postrm.ex
@@ -0,0 +1,37 @@
+#!/bin/sh
+# postrm script for libroadrunner-deps
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/packaging/deb/libroadrunner-deps/debian/preinst.ex b/packaging/deb/libroadrunner-deps/debian/preinst.ex
new file mode 100644
index 0000000..7d7ab1d
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/preinst.ex
@@ -0,0 +1,35 @@
+#!/bin/sh
+# preinst script for libroadrunner-deps
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    install|upgrade)
+    ;;
+
+    abort-upgrade)
+    ;;
+
+    *)
+        echo "preinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/packaging/deb/libroadrunner-deps/debian/prerm.ex b/packaging/deb/libroadrunner-deps/debian/prerm.ex
new file mode 100644
index 0000000..7cdaaf9
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/prerm.ex
@@ -0,0 +1,38 @@
+#!/bin/sh
+# prerm script for libroadrunner-deps
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    remove|upgrade|deconfigure)
+    ;;
+
+    failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/packaging/deb/libroadrunner-deps/debian/rules b/packaging/deb/libroadrunner-deps/debian/rules
new file mode 100755
index 0000000..96bde7e
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/rules
@@ -0,0 +1,19 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# %:
+# 	dh $@
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/cmake.mk
+
+DEB_SRCDIR = ../../../third_party
+
+# Whatever knucklehead set this default behavior should be forced to clean up
+# every single warning in clapack
+CFLAGS   = -Wno-error
+CPPFLAGS = -Wno-error
+CXXFLAGS = -Wno-error
\ No newline at end of file
diff --git a/packaging/deb/libroadrunner-deps/debian/shlibs.local.ex b/packaging/deb/libroadrunner-deps/debian/shlibs.local.ex
new file mode 100644
index 0000000..143f8af
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/shlibs.local.ex
@@ -0,0 +1 @@
+liblibroadrunner-deps 1.3.2 libroadrunner-deps (>> 1.3.2-0), libroadrunner-deps (<< 1.3.2-99)
diff --git a/packaging/deb/libroadrunner-deps/debian/source/format b/packaging/deb/libroadrunner-deps/debian/source/format
new file mode 100644
index 0000000..89ae9db
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/source/format
@@ -0,0 +1 @@
+3.0 (native)
diff --git a/packaging/deb/libroadrunner-deps/debian/watch.ex b/packaging/deb/libroadrunner-deps/debian/watch.ex
new file mode 100644
index 0000000..c5ee4e5
--- /dev/null
+++ b/packaging/deb/libroadrunner-deps/debian/watch.ex
@@ -0,0 +1,23 @@
+# Example watch control file for uscan
+# Rename this file to "watch" and then you can run the "uscan" command
+# to check for upstream updates and more.
+# See uscan(1) for format
+
+# Compulsory line, this is a version 3 file
+version=3
+
+# Uncomment to examine a Webpage
+# <Webpage URL> <string match>
+#http://www.example.com/downloads.php libroadrunner-deps-(.*)\.tar\.gz
+
+# Uncomment to examine a Webserver directory
+#http://www.example.com/pub/libroadrunner-deps-(.*)\.tar\.gz
+
+# Uncommment to examine a FTP server
+#ftp://ftp.example.com/pub/libroadrunner-deps-(.*)\.tar\.gz debian uupdate
+
+# Uncomment to find new files on sourceforge, for devscripts >= 2.9
+# http://sf.net/libroadrunner-deps/libroadrunner-deps-(.*)\.tar\.gz
+
+# Uncomment to find new files on GooglePages
+# http://example.googlepages.com/foo.html libroadrunner-deps-(.*)\.tar\.gz
diff --git a/packaging/deb/libroadrunner/debian/README b/packaging/deb/libroadrunner/debian/README
new file mode 100644
index 0000000..6e71aae
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/README
@@ -0,0 +1,6 @@
+The Debian Package libroadrunner
+----------------------------
+
+Comments regarding the Package
+
+ -- Kyle Medley <0u812github at gmail.com>  Mon, 01 Jun 2015 13:52:40 -0700
diff --git a/packaging/deb/libroadrunner/debian/README.Debian b/packaging/deb/libroadrunner/debian/README.Debian
new file mode 100644
index 0000000..d94d647
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/README.Debian
@@ -0,0 +1,6 @@
+libroadrunner for Debian
+------------------------
+
+<possible notes regarding this package - if none, delete this file>
+
+ -- Kyle Medley <0u812github at gmail.com>  Mon, 01 Jun 2015 13:52:40 -0700
diff --git a/packaging/deb/libroadrunner/debian/README.source b/packaging/deb/libroadrunner/debian/README.source
new file mode 100644
index 0000000..edbce47
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/README.source
@@ -0,0 +1,10 @@
+libroadrunner for Debian
+------------------------
+
+<this file describes information about the source package, see Debian policy
+manual section 4.14. You WILL either need to modify or delete this file>
+
+
+
+ -- Kyle Medley <0u812github at gmail.com>  Mon, 01 Jun 2015 13:52:40 -0700
+
diff --git a/packaging/deb/libroadrunner/debian/changelog b/packaging/deb/libroadrunner/debian/changelog
new file mode 100755
index 0000000..6650c83
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/changelog
@@ -0,0 +1,33 @@
+libroadrunner (1.4.2) unstable; urgency=low
+
+  * Bufix release
+
+   -- Kyle Medley <0u812github at gmail.com>  Fri, 29 Jan 2016 12:00:00 -0700
+
+libroadrunner (1.4.1) unstable; urgency=low
+
+  * Refactored solver API
+  * Misc. issues fixed, see https://github.com/sys-bio/roadrunner/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed+label%3ACOMBINE
+  * Support events in Gillespie simulations
+
+   -- Kyle Medley <0u812github at gmail.com>  Tue, 13 Oct 2015 12:00:00 -0700
+
+libroadrunner (1.3.4) unstable; urgency=low
+
+  * Fixed event time point uniqueness issue
+
+ -- Kyle Medley <0u812github at gmail.com>  Wed, 10 Jun 2015 12:00:00 -0700
+
+libroadrunner (1.3.3) unstable; urgency=low
+
+  * First release to include a native .deb package
+  * Integrator refactor by wcopeland
+  * Fixed method getCC
+
+ -- Kyle Medley <0u812github at gmail.com>  Wed, 03 Jun 2015 12:00:00 -0700
+
+libroadrunner (1.3.2) unstable; urgency=low
+
+  * Fix conserved moieties bug (wcopeland)
+
+ -- Kyle Medley <0u812github at gmail.com>  Mon, 01 Jun 2015 13:52:40 -0700
diff --git a/packaging/deb/libroadrunner/debian/compat b/packaging/deb/libroadrunner/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/packaging/deb/libroadrunner/debian/control b/packaging/deb/libroadrunner/debian/control
new file mode 100755
index 0000000..c210ddb
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/control
@@ -0,0 +1,34 @@
+Source: libroadrunner
+Priority: optional
+Maintainer: Kyle Medley <0u812github at gmail.com>
+# libSBML deps: libxml2-dev
+# LLVM deps: ncurses-dev, libz-dev
+# Python deps: python-dev, swig
+Build-Depends: debhelper (>= 8.0.0), git, cmake, llvm-3.5-dev, libxml2-dev, ncurses-dev, libz-dev, python-dev, swig, python-numpy
+Standards-Version: 3.9.4
+Section: libs
+Homepage: http://libroadrunner.org/
+Vcs-Git: git at github.com:sys-bio/roadrunner.git
+Vcs-Browser: https://github.com/sys-bio/roadrunner
+
+Package: libroadrunner-python
+Section: libdevel
+Architecture: any
+Depends: libroadrunner (= ${binary:Version}), python-numpy
+Description: Python bindings for libroadrunner
+
+Package: libroadrunner-dev
+Section: libdevel
+Architecture: any
+Depends: libroadrunner (= ${binary:Version})
+Description: Simulation library for SBML
+ libRoadRunner is a ODE/stochastic simulation and
+ modeling environment for SBML
+
+Package: libroadrunner
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, libroadrunner-deps (>= 2.0.2)
+Description: Simulation library for SBML
+ libRoadRunner is a ODE/stochastic simulation and
+ modeling environment for SBML
diff --git a/packaging/deb/libroadrunner/debian/copyright b/packaging/deb/libroadrunner/debian/copyright
new file mode 100644
index 0000000..63631dd
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/copyright
@@ -0,0 +1,33 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: libroadrunner
+Source: <url://example.com>
+
+Files: *
+Copyright: <years> <put author's name and email here>
+           <years> <likewise for another author>
+License: Apache-2.0
+
+Files: debian/*
+Copyright: 2015 Kyle Medley <0u812github at gmail.com>
+License: Apache-2.0
+
+License: Apache-2.0
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ .
+ http://www.apache.org/licenses/LICENSE-2.0
+ .
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ .
+ On Debian systems, the complete text of the Apache version 2.0 license
+ can be found in "/usr/share/common-licenses/Apache-2.0".
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+# Please avoid to pick license terms that are more restrictive than the
+# packaged work, as it may make Debian's contributions unacceptable upstream.
diff --git a/packaging/deb/libroadrunner/debian/docs b/packaging/deb/libroadrunner/debian/docs
new file mode 100644
index 0000000..e69de29
diff --git a/packaging/deb/libroadrunner/debian/init.d.ex b/packaging/deb/libroadrunner/debian/init.d.ex
new file mode 100644
index 0000000..8d602ea
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/init.d.ex
@@ -0,0 +1,166 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          libroadrunner
+# Required-Start:    $local_fs $network $remote_fs $syslog
+# Required-Stop:     $local_fs $network $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: <Enter a short description of the software>
+# Description:       <Enter a long description of the software>
+#                    <...>
+#                    <...>
+### END INIT INFO
+
+# Author: Kyle Medley <0u812github at gmail.com>
+
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="libroadrunner"
+NAME=libroadrunner
+DAEMON=/usr/sbin/libroadrunner
+DAEMON_ARGS=""
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+	# Return
+	#   0 if daemon has been started
+	#   1 if daemon was already running
+	#   2 if daemon could not be started
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+		|| return 1
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+		$DAEMON_ARGS \
+		|| return 2
+	# The above code will not work for interpreted scripts, use the next
+	# six lines below instead (Ref: #643337, start-stop-daemon(8) )
+	#start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON \
+	#	--name $NAME --test > /dev/null \
+	#	|| return 1
+	#start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON \
+	#	--name $NAME -- $DAEMON_ARGS \
+	#	|| return 2
+
+	# Add code here, if necessary, that waits for the process to be ready
+	# to handle requests from services started subsequently which depend
+	# on this one.  As a last resort, sleep for some time.
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+	# Return
+	#   0 if daemon has been stopped
+	#   1 if daemon was already stopped
+	#   2 if daemon could not be stopped
+	#   other if a failure occurred
+	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+	RETVAL="$?"
+	[ "$RETVAL" = 2 ] && return 2
+	# Wait for children to finish too if this is a daemon that forks
+	# and if the daemon is only ever run from this initscript.
+	# If the above conditions are not satisfied then add some other code
+	# that waits for the process to drop all resources that could be
+	# needed by services started subsequently.  A last resort is to
+	# sleep for some time.
+	start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+	[ "$?" = 2 ] && return 2
+	# Many daemons don't delete their pidfiles when they exit.
+	rm -f $PIDFILE
+	return "$RETVAL"
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+	#
+	# If the daemon can reload its configuration without
+	# restarting (for example, when it is sent a SIGHUP),
+	# then implement that here.
+	#
+	start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
+	return 0
+}
+
+case "$1" in
+  start)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+	do_start
+	case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+  stop)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+	do_stop
+	case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+  status)
+	status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+	;;
+  #reload|force-reload)
+	#
+	# If do_reload() is not implemented then leave this commented out
+	# and leave 'force-reload' as an alias for 'restart'.
+	#
+	#log_daemon_msg "Reloading $DESC" "$NAME"
+	#do_reload
+	#log_end_msg $?
+	#;;
+  restart|force-reload)
+	#
+	# If the "reload" option is implemented then remove the
+	# 'force-reload' alias
+	#
+	log_daemon_msg "Restarting $DESC" "$NAME"
+	do_stop
+	case "$?" in
+	  0|1)
+		do_start
+		case "$?" in
+			0) log_end_msg 0 ;;
+			1) log_end_msg 1 ;; # Old process is still running
+			*) log_end_msg 1 ;; # Failed to start
+		esac
+		;;
+	  *)
+		# Failed to stop
+		log_end_msg 1
+		;;
+	esac
+	;;
+  *)
+	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+	exit 3
+	;;
+esac
+
+:
diff --git a/packaging/deb/libroadrunner/debian/libroadrunner-dev.dirs b/packaging/deb/libroadrunner/debian/libroadrunner-dev.dirs
new file mode 100644
index 0000000..4418816
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/libroadrunner-dev.dirs
@@ -0,0 +1,2 @@
+usr/lib
+usr/include
diff --git a/packaging/deb/libroadrunner/debian/libroadrunner-dev.install b/packaging/deb/libroadrunner/debian/libroadrunner-dev.install
new file mode 100644
index 0000000..cc66f5e
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/libroadrunner-dev.install
@@ -0,0 +1,5 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
+usr/lib/pkgconfig/*
+usr/share/pkgconfig/*
diff --git a/packaging/deb/libroadrunner/debian/libroadrunner-python.dirs b/packaging/deb/libroadrunner/debian/libroadrunner-python.dirs
new file mode 100644
index 0000000..4bc7c02
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/libroadrunner-python.dirs
@@ -0,0 +1 @@
+usr/site-packages
\ No newline at end of file
diff --git a/packaging/deb/libroadrunner/debian/libroadrunner-python.install b/packaging/deb/libroadrunner/debian/libroadrunner-python.install
new file mode 100644
index 0000000..bcbb15b
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/libroadrunner-python.install
@@ -0,0 +1 @@
+usr/site-packages/* /usr/local/lib/python2.7/dist-packages
diff --git a/packaging/deb/libroadrunner/debian/libroadrunner.cron.d.ex b/packaging/deb/libroadrunner/debian/libroadrunner.cron.d.ex
new file mode 100644
index 0000000..7097b6e
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/libroadrunner.cron.d.ex
@@ -0,0 +1,4 @@
+#
+# Regular cron jobs for the libroadrunner package
+#
+0 4	* * *	root	[ -x /usr/bin/libroadrunner_maintenance ] && /usr/bin/libroadrunner_maintenance
diff --git a/packaging/deb/libroadrunner/debian/libroadrunner.default.ex b/packaging/deb/libroadrunner/debian/libroadrunner.default.ex
new file mode 100644
index 0000000..5b2367f
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/libroadrunner.default.ex
@@ -0,0 +1,10 @@
+# Defaults for libroadrunner initscript
+# sourced by /etc/init.d/libroadrunner
+# installed at /etc/default/libroadrunner by the maintainer scripts
+
+#
+# This is a POSIX shell fragment
+#
+
+# Additional options that are passed to the Daemon.
+DAEMON_OPTS=""
diff --git a/packaging/deb/libroadrunner/debian/libroadrunner.dirs b/packaging/deb/libroadrunner/debian/libroadrunner.dirs
new file mode 100644
index 0000000..34b50c1
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/libroadrunner.dirs
@@ -0,0 +1,2 @@
+usr/lib
+usr/bin
\ No newline at end of file
diff --git a/packaging/deb/libroadrunner/debian/libroadrunner.doc-base.EX b/packaging/deb/libroadrunner/debian/libroadrunner.doc-base.EX
new file mode 100644
index 0000000..77104ab
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/libroadrunner.doc-base.EX
@@ -0,0 +1,20 @@
+Document: libroadrunner
+Title: Debian libroadrunner Manual
+Author: <insert document author here>
+Abstract: This manual describes what libroadrunner is
+ and how it can be used to
+ manage online manuals on Debian systems.
+Section: unknown
+
+Format: debiandoc-sgml
+Files: /usr/share/doc/libroadrunner/libroadrunner.sgml.gz
+
+Format: postscript
+Files: /usr/share/doc/libroadrunner/libroadrunner.ps.gz
+
+Format: text
+Files: /usr/share/doc/libroadrunner/libroadrunner.text.gz
+
+Format: HTML
+Index: /usr/share/doc/libroadrunner/html/index.html
+Files: /usr/share/doc/libroadrunner/html/*.html
diff --git a/packaging/deb/libroadrunner/debian/libroadrunner.install b/packaging/deb/libroadrunner/debian/libroadrunner.install
new file mode 100644
index 0000000..d370c2b
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/libroadrunner.install
@@ -0,0 +1,2 @@
+usr/lib/lib*.so.*
+usr/bin/*
diff --git a/packaging/deb/libroadrunner/debian/manpage.1.ex b/packaging/deb/libroadrunner/debian/manpage.1.ex
new file mode 100644
index 0000000..942aceb
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/manpage.1.ex
@@ -0,0 +1,56 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" (C) Copyright 2015 Kyle Medley <0u812github at gmail.com>,
+.\"
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH LIBROADRUNNER SECTION "June  1, 2015"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+libroadrunner \- program to do something
+.SH SYNOPSIS
+.B libroadrunner
+.RI [ options ] " files" ...
+.br
+.B bar
+.RI [ options ] " files" ...
+.SH DESCRIPTION
+This manual page documents briefly the
+.B libroadrunner
+and
+.B bar
+commands.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fBlibroadrunner\fP is a program that...
+.SH OPTIONS
+These programs follow the usual GNU command line syntax, with long
+options starting with two dashes (`-').
+A summary of options is included below.
+For a complete description, see the Info files.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-v, \-\-version
+Show version of program.
+.SH SEE ALSO
+.BR bar (1),
+.BR baz (1).
+.br
+The programs are documented fully by
+.IR "The Rise and Fall of a Fooish Bar" ,
+available via the Info system.
diff --git a/packaging/deb/libroadrunner/debian/manpage.sgml.ex b/packaging/deb/libroadrunner/debian/manpage.sgml.ex
new file mode 100644
index 0000000..879644a
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/manpage.sgml.ex
@@ -0,0 +1,154 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
+     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
+     less'.  A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+	docbook-to-man $< > $@
+
+
+	The docbook-to-man binary is found in the docbook-to-man package.
+	Please remember that if you create the nroff version in one of the
+	debian/rules file targets (such as build), you will need to include
+	docbook-to-man in your Build-Depends control field.
+
+  -->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+  <!ENTITY dhsurname   "<surname>SURNAME</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>June  1, 2015</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>SECTION</manvolnum>">
+  <!ENTITY dhemail     "<email>0u812github at gmail.com</email>">
+  <!ENTITY dhusername  "Kyle Medley">
+  <!ENTITY dhucpackage "<refentrytitle>LIBROADRUNNER</refentrytitle>">
+  <!ENTITY dhpackage   "libroadrunner">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2003</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+
+      <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+      <arg><option>--example <replaceable>that</replaceable></option></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+
+    <para>This manual page was written for the &debian; distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the &gnu;
+      <application>Info</application> format; see below.</para>
+
+    <para><command>&dhpackage;</command> is a program that...</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <para>These programs follow the usual &gnu; command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <application>Info</application> files.</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>bar (1), baz (1).</para>
+
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the
+      <application>Info</application> system.</para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (and may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the &gnu; General Public License, Version 2 any
+      later version published by the Free Software Foundation.
+    </para>
+    <para>
+      On Debian systems, the complete text of the GNU General Public
+      License can be found in /usr/share/common-licenses/GPL.
+    </para>
+
+  </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
diff --git a/packaging/deb/libroadrunner/debian/manpage.xml.ex b/packaging/deb/libroadrunner/debian/manpage.xml.ex
new file mode 100644
index 0000000..4555559
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/manpage.xml.ex
@@ -0,0 +1,291 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+
+<!--
+
+`xsltproc -''-nonet \
+          -''-param man.charmap.use.subset "0" \
+          -''-param make.year.ranges "1" \
+          -''-param make.single.year.ranges "1" \
+          /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \
+          manpage.xml'
+
+A manual page <package>.<section> will be generated. You may view the
+manual page with: nroff -man <package>.<section> | less'. A typical entry
+in a Makefile or Makefile.am is:
+
+DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/manpages/docbook.xsl
+XP     = xsltproc -''-nonet -''-param man.charmap.use.subset "0"
+
+manpage.1: manpage.xml
+        $(XP) $(DB2MAN) $<
+
+The xsltproc binary is found in the xsltproc package. The XSL files are in
+docbook-xsl. A description of the parameters you can use can be found in the
+docbook-xsl-doc-* packages. Please remember that if you create the nroff
+version in one of the debian/rules file targets (such as build), you will need
+to include xsltproc and docbook-xsl in your Build-Depends control field.
+Alternatively use the xmlto command/package. That will also automatically
+pull in xsltproc and docbook-xsl.
+
+Notes for using docbook2x: docbook2x-man does not automatically create the
+AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as
+<refsect1> ... </refsect1>.
+
+To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections
+read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be
+found in the docbook-xsl-doc-html package.
+
+Validation can be done using: `xmllint -''-noout -''-valid manpage.xml`
+
+General documentation about man-pages and man-page-formatting:
+man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/
+
+-->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "FIRSTNAME">
+  <!ENTITY dhsurname   "SURNAME">
+  <!-- dhusername could also be set to "&dhfirstname; &dhsurname;". -->
+  <!ENTITY dhusername  "Kyle Medley">
+  <!ENTITY dhemail     "0u812github at gmail.com">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1) and
+       http://www.tldp.org/HOWTO/Man-Page/q2.html. -->
+  <!ENTITY dhsection   "SECTION">
+  <!-- TITLE should be something like "User commands" or similar (see
+       http://www.tldp.org/HOWTO/Man-Page/q2.html). -->
+  <!ENTITY dhtitle     "libroadrunner User Manual">
+  <!ENTITY dhucpackage "LIBROADRUNNER">
+  <!ENTITY dhpackage   "libroadrunner">
+]>
+
+<refentry>
+  <refentryinfo>
+    <title>&dhtitle;</title>
+    <productname>&dhpackage;</productname>
+    <authorgroup>
+      <author>
+       <firstname>&dhfirstname;</firstname>
+        <surname>&dhsurname;</surname>
+        <contrib>Wrote this manpage for the Debian system.</contrib>
+        <address>
+          <email>&dhemail;</email>
+        </address>
+      </author>
+    </authorgroup>
+    <copyright>
+      <year>2007</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    <legalnotice>
+      <para>This manual page was written for the Debian system
+        (and may be used by others).</para>
+      <para>Permission is granted to copy, distribute and/or modify this
+        document under the terms of the GNU General Public License,
+        Version 2 or (at your option) any later version published by
+        the Free Software Foundation.</para>
+      <para>On Debian systems, the complete text of the GNU General Public
+        License can be found in
+        <filename>/usr/share/common-licenses/GPL</filename>.</para>
+    </legalnotice>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>&dhucpackage;</refentrytitle>
+    <manvolnum>&dhsection;</manvolnum>
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+      <!-- These are several examples, how syntaxes could look -->
+      <arg choice="plain"><option>-e <replaceable>this</replaceable></option></arg>
+      <arg choice="opt"><option>--example=<parameter>that</parameter></option></arg>
+      <arg choice="opt">
+        <group choice="req">
+          <arg choice="plain"><option>-e</option></arg>
+          <arg choice="plain"><option>--example</option></arg>
+        </group>
+        <replaceable class="option">this</replaceable>
+      </arg>
+      <arg choice="opt">
+        <group choice="req">
+          <arg choice="plain"><option>-e</option></arg>
+          <arg choice="plain"><option>--example</option></arg>
+        </group>
+        <group choice="req">
+          <arg choice="plain"><replaceable>this</replaceable></arg>
+          <arg choice="plain"><replaceable>that</replaceable></arg>
+        </group>
+      </arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+      <!-- Normally the help and version options make the programs stop
+           right after outputting the requested information. -->
+      <group choice="opt">
+        <arg choice="plain">
+          <group choice="req">
+            <arg choice="plain"><option>-h</option></arg>
+            <arg choice="plain"><option>--help</option></arg>
+          </group>
+        </arg>
+        <arg choice="plain">
+          <group choice="req">
+            <arg choice="plain"><option>-v</option></arg>
+            <arg choice="plain"><option>--version</option></arg>
+          </group>
+        </arg>
+      </group>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1 id="description">
+    <title>DESCRIPTION</title>
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+    <para>This manual page was written for the Debian distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the GNU <citerefentry>
+        <refentrytitle>info</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry> format; see below.</para>
+    <para><command>&dhpackage;</command> is a program that...</para>
+  </refsect1>
+  <refsect1 id="options">
+    <title>OPTIONS</title>
+    <para>The program follows the usual GNU command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <citerefentry>
+        <refentrytitle>info</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry> files.</para>
+    <variablelist>
+      <!-- Use the variablelist.term.separator and the
+           variablelist.term.break.after parameters to
+           control the term elements. -->
+      <varlistentry>
+        <term><option>-e <replaceable>this</replaceable></option></term>
+        <term><option>--example=<replaceable>that</replaceable></option></term>
+        <listitem>
+          <para>Does this and that.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-h</option></term>
+        <term><option>--help</option></term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option></term>
+        <term><option>--version</option></term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="files">
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/foo.conf</filename></term>
+        <listitem>
+          <para>The system-wide configuration file to control the
+            behaviour of <application>&dhpackage;</application>. See
+            <citerefentry>
+              <refentrytitle>foo.conf</refentrytitle>
+              <manvolnum>5</manvolnum>
+            </citerefentry> for further details.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>${HOME}/.foo.conf</filename></term>
+        <listitem>
+          <para>The per-user configuration file to control the
+             behaviour of <application>&dhpackage;</application>. See
+             <citerefentry>
+               <refentrytitle>foo.conf</refentrytitle>
+               <manvolnum>5</manvolnum>
+             </citerefentry> for further details.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="environment">
+    <title>ENVIRONMENT</title>
+    <variablelist>
+      <varlistentry>
+        <term><envar>FOO_CONF</envar></term>
+        <listitem>
+          <para>If used, the defined file is used as configuration
+            file (see also <xref linkend="files"/>).</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="diagnostics">
+    <title>DIAGNOSTICS</title>
+    <para>The following diagnostics may be issued
+      on <filename class="devicefile">stderr</filename>:</para>
+    <variablelist>
+      <varlistentry>
+        <term><errortext>Bad configuration file. Exiting.</errortext></term>
+        <listitem>
+          <para>The configuration file seems to contain a broken configuration
+            line. Use the <option>--verbose</option> option, to get more info.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para><command>&dhpackage;</command> provides some return codes, that can
+      be used in scripts:</para>
+    <segmentedlist>
+      <segtitle>Code</segtitle>
+      <segtitle>Diagnostic</segtitle>
+      <seglistitem>
+        <seg><errorcode>0</errorcode></seg>
+        <seg>Program exited successfully.</seg>
+      </seglistitem>
+      <seglistitem>
+        <seg><errorcode>1</errorcode></seg>
+        <seg>The configuration file seems to be broken.</seg>
+      </seglistitem>
+    </segmentedlist>
+  </refsect1>
+  <refsect1 id="bugs">
+    <!-- Or use this section to tell about upstream BTS. -->
+    <title>BUGS</title>
+    <para>The program is currently limited to only work
+      with the <package>foobar</package> library.</para>
+    <para>The upstreams <acronym>BTS</acronym> can be found
+      at <ulink url="http://bugzilla.foo.tld"/>.</para>
+  </refsect1>
+  <refsect1 id="see_also">
+    <title>SEE ALSO</title>
+    <!-- In alpabetical order. -->
+    <para><citerefentry>
+        <refentrytitle>bar</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry>, <citerefentry>
+        <refentrytitle>baz</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry>, <citerefentry>
+        <refentrytitle>foo.conf</refentrytitle>
+        <manvolnum>5</manvolnum>
+      </citerefentry></para>
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the <citerefentry>
+        <refentrytitle>info</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry> system.</para>
+  </refsect1>
+</refentry>
+
diff --git a/packaging/deb/libroadrunner/debian/menu.ex b/packaging/deb/libroadrunner/debian/menu.ex
new file mode 100644
index 0000000..d9f4a6e
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/menu.ex
@@ -0,0 +1,2 @@
+?package(libroadrunner):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\
+  title="libroadrunner" command="/usr/bin/libroadrunner"
diff --git a/packaging/deb/libroadrunner/debian/postinst.ex b/packaging/deb/libroadrunner/debian/postinst.ex
new file mode 100644
index 0000000..1307919
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/postinst.ex
@@ -0,0 +1,39 @@
+#!/bin/sh
+# postinst script for libroadrunner
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    configure)
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/packaging/deb/libroadrunner/debian/postrm.ex b/packaging/deb/libroadrunner/debian/postrm.ex
new file mode 100644
index 0000000..bd12028
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/postrm.ex
@@ -0,0 +1,37 @@
+#!/bin/sh
+# postrm script for libroadrunner
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/packaging/deb/libroadrunner/debian/preinst.ex b/packaging/deb/libroadrunner/debian/preinst.ex
new file mode 100644
index 0000000..4324260
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/preinst.ex
@@ -0,0 +1,35 @@
+#!/bin/sh
+# preinst script for libroadrunner
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    install|upgrade)
+    ;;
+
+    abort-upgrade)
+    ;;
+
+    *)
+        echo "preinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/packaging/deb/libroadrunner/debian/prerm.ex b/packaging/deb/libroadrunner/debian/prerm.ex
new file mode 100644
index 0000000..e34f084
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/prerm.ex
@@ -0,0 +1,38 @@
+#!/bin/sh
+# prerm script for libroadrunner
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    remove|upgrade|deconfigure)
+    ;;
+
+    failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/packaging/deb/libroadrunner/debian/rules b/packaging/deb/libroadrunner/debian/rules
new file mode 100755
index 0000000..ad90808
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/rules
@@ -0,0 +1,20 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# %:
+# 	dh $@
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/cmake.mk
+
+DEB_SRCDIR = ../../..
+
+# Whatever knucklehead set this default behavior should be forced to clean up
+# every single warning in clapack
+CFLAGS   = -Wno-error
+CPPFLAGS = -Wno-error
+CXXFLAGS = -Wno-error
+
+DEB_CMAKE_NORMAL_ARGS += -DLLVM_CONFIG_EXECUTABLE=/usr/lib/llvm-3.5/bin/llvm-config -DTHIRD_PARTY_INSTALL_FOLDER=/home/user/devel/install/roadrunner-deps -DBUILD_PYTHON=TRUE
diff --git a/packaging/deb/libroadrunner/debian/shlibs.local.ex b/packaging/deb/libroadrunner/debian/shlibs.local.ex
new file mode 100644
index 0000000..4032065
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/shlibs.local.ex
@@ -0,0 +1 @@
+liblibroadrunner 1.3.3 libroadrunner (>> 1.3.3-0), libroadrunner (<< 1.3.3-99)
diff --git a/packaging/deb/libroadrunner/debian/source/format b/packaging/deb/libroadrunner/debian/source/format
new file mode 100644
index 0000000..89ae9db
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/source/format
@@ -0,0 +1 @@
+3.0 (native)
diff --git a/packaging/deb/libroadrunner/debian/watch.ex b/packaging/deb/libroadrunner/debian/watch.ex
new file mode 100644
index 0000000..a57d9b3
--- /dev/null
+++ b/packaging/deb/libroadrunner/debian/watch.ex
@@ -0,0 +1,23 @@
+# Example watch control file for uscan
+# Rename this file to "watch" and then you can run the "uscan" command
+# to check for upstream updates and more.
+# See uscan(1) for format
+
+# Compulsory line, this is a version 3 file
+version=3
+
+# Uncomment to examine a Webpage
+# <Webpage URL> <string match>
+#http://www.example.com/downloads.php libroadrunner-(.*)\.tar\.gz
+
+# Uncomment to examine a Webserver directory
+#http://www.example.com/pub/libroadrunner-(.*)\.tar\.gz
+
+# Uncommment to examine a FTP server
+#ftp://ftp.example.com/pub/libroadrunner-(.*)\.tar\.gz debian uupdate
+
+# Uncomment to find new files on sourceforge, for devscripts >= 2.9
+# http://sf.net/libroadrunner/libroadrunner-(.*)\.tar\.gz
+
+# Uncomment to find new files on GooglePages
+# http://example.googlepages.com/foo.html libroadrunner-(.*)\.tar\.gz
diff --git a/rr_support/CMakeLists.txt b/rr_support/CMakeLists.txt
new file mode 100644
index 0000000..ca3127e
--- /dev/null
+++ b/rr_support/CMakeLists.txt
@@ -0,0 +1,16 @@
+cmake_minimum_required(VERSION 2.8)
+project(rr_support)
+set(SUPPORT_FOLDER 			${CMAKE_CURRENT_SOURCE_DIR})
+
+#=== Install support code for on the fly compilation
+FILE(GLOB rr_support_headers *.h)
+FILE(GLOB rr_support_source *.c)
+
+install(FILES 
+	${rr_support_headers} 
+	${rr_support_source} 
+	gurgle.dat
+    DESTINATION rr_support
+    COMPONENT rr_core
+	) 
+
diff --git a/rr_support/bcc.cfg b/rr_support/bcc.cfg
new file mode 100644
index 0000000..81a2663
--- /dev/null
+++ b/rr_support/bcc.cfg
@@ -0,0 +1,7 @@
+-I"C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\include";"C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\include\windows\crtl";"C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\include\dinkumware";"C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\include\windows\rtl";"C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\include\windows\vcl";"C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\include\windows\sdk"
+-L"C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\lib\win32\release";"C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\lib\win32\release\psdk"
+-I"R:\roadrunnerwork\trunk\source\rr_support"
+-L"R:\roadrunnerwork\trunk\source\rr_support"
+
+-D"BUILD_MODEL_DLL";"DEBUG_SPF"
+
diff --git a/rr_support/gurgle.dat b/rr_support/gurgle.dat
new file mode 100644
index 0000000..bd9404e
--- /dev/null
+++ b/rr_support/gurgle.dat
@@ -0,0 +1,360 @@
+If You Want Something Done You Have to Do It Yourself_(Highlander II)
+I Live the Life They Wish They Did_(Tricky)
+Jesus Built My Hotrod_(Ministry)
+Nurture Another Mind, Before Yours Expires_(Arrested Development)
+Hmm, It *Does* Go Well With the Chicken_(Beastie Boys)
+We Can Dance Like Iggy Pop_(Red Hot Chili Peppers)
+It's So Lonely When You Don't Even Know Yourself_(Red Hot Chili Peppers)
+Do the Dog On the Ground_(Red Hot Chili Peppers)
+Don't Push Me, Cause I'm Close to the Edge_(Tricky)
+Don't Push Me, Cause I'm Close to the Edge_(Grandmaster Flash)
+Bum Stikkie Di Bum Stikkie Di Bum Stikkie Di Bum_(R. Slijngaard)
+She's Not Bad, She's Just Genetically Mean_(Captain Beefheart)
+Being Great is Not So Good_(Red Hot Chili Peppers)
+If Life Seems Jolly Rotten, There's Something You've Forgotten !_(Monty Python)
+Your Proposal is Accepted_(Men In Black)
+Don't Grumble, Give a Whistle !_(Monty Python)
+Stop Drinking My Beer !_(The Amps)
+I Calculate My Birthright_(P.J. Harvey)
+You Should Sleep Late Man, It's Much Easier On Your Constitution_(Beastie Boys)
+You're Insignificant_(Tricky)
+Check Your Output_(P. Ahlstrom)
+What Kind Of Guru are You, Anyway ?_(F. Zappa)
+I Had So Many Problem, and Then I Got Me a Walkman_(F. Black)
+I Caught It In the Face_(P.J. Harvey)
+If You Touch Me, You'll Get Shocked_(Beastie Boys)
+This Puke Stinks Like Beer_(LIVE)
+Art For Arts Sake, Money For Gods Sake_(10 CC)
+A Man Needs a Maid_(N. Young)
+No One Could Foresee the End That Came So Fast_(Slayer)
+Stay Cool, This is a Robbery_(Pulp Fiction)
+With a Little Penknife_(Nick Cave)
+In a Deep Deep Well_(Nick Cave)
+I'm Only Faking When I Get It Right_(Soundgarden)
+Sisters Have Always Fascinated Me_(Speech)
+There's No Room For the Weak_(Joy Division)
+All Work and No Play Makes Jack a Dull Boy_(The Shining)
+They Were So Quiet About It_(Pixies)
+Never Get a Chance to Kick Ass_(The Amps)
+Yeah, a Wuzz, Or a Jerk_(F. Black)
+It's Time to Move On_(F. Black)
+It'll Cure Your Asthma Too !_(F. Zappa)
+Out Of Register Space (Ugh)_(Vi)
+May the Force Be With You_(Star Wars)
+You Try to Run the Universe_(Tricky)
+This May Come As a Shock_(F. Black)
+I Wonder, Should I Get Up..._(J. Lennon)
+I Am Testing Your Grey Matter_(Red Hot Chili Peppers)
+Insane In Tha Membrane_(Cypress Hill)
+You Could Make More Money As a Butcher_(F. Zappa)
+I'll Master Your Language, and In the Meantime I'll Create My Own_(Tricky)
+The Stingrays Must Be Fat This Year_(Red Hot Chili Peppers)
+I'm a Wishbone and I'm Breaking_(Pixies)
+You Think That You're Bigger When You Fill the Void_(Urban Dance Squad)
+And It Goes a Little Something Like This_(Tag Team)
+Kissing You is Like Kissing Gravel_(Throwing Muses)
+You Look Better Upside Down_(Throwing Muses)
+Lunatics On Pogo Sticks_(Red Hot Chili Peppers)
+I Could Take You Home and Abuse You_(Magnapop)
+Move Over Hogey Bear_(Urban Dance Squad)
+You Leave Me Dry_(P.J. Harvey)
+Would You Like to Be the Monster Tonight ?_(Captain Beefheart)
+Meet Me At the Coffee Shop_(Red Hot Chili Peppers)
+She Says She Can't Go Home Without a Chaperone_(E. Costello)
+Keep Your Shoes and Socks On, People_(F. Zappa)
+What If None Of Your Dreams Come True ?_(E. Costello)
+Give a Man a Fish_(Arrested Development)
+The Wheels On the Bus Go Round and Round_(J. Richman)
+I Want to Know Right Now_(Meatloaf)
+What's Your Definition Of Dirty ?_(G. Michael)
+Here's the Way It Might End_(G. Michael)
+Breaking the Law, Breaking the Law_(Judas Priest)
+Just Because the Sun Wants a Place In the Sky_(F. Zappa)
+Baseball Heroes Only_(P.J. Harvey)
+One Cross Each_(Monty Python)
+I Snipe Like Wesley_(Urban Dance Squad)
+Hold On Like Cliffhanger_(Urban Dance Squad)
+It Costs Too Much If It Costs a Lot_(Magnapop)
+Every Sperm is Sacred_(Monty Python)
+Everybody Lie Down On the Floor and Keep Calm_(KLF)
+Love is Like Moby Dick, Get Chewed and Get Spat Out_(Urban Dance Squad)
+Don't Follow Me Home_(Throwing Muses)
+All Beauty Must Die_(Nick Cave)
+I Don't Want to Calm Down_(Throwing Muses)
+We're Gonna Hit You Harder_(Scoter)
+Shake Barrels Of Whisky Down My Throat_(Throwing Muses)
+It's Because Of the Metric System_(Pulp Fiction)
+I Don't Want to Catch Anybody Not Drinking._(Monty Python)
+This Doesn't Suck, It's a Black Hole !_(K.A. Feenstra)
+Let Me Do This_(Urban Dance Squad)
+I Can't Shake It_(Dinosaur Jr)
+Once Again Let Me Do This_(Urban Dance Squad)
+Pretend That You're Hercule Poirot_(TeX)
+Exactly_(Pulp Fiction)
+Sort Of_(Urban Dance Squad)
+Proceed, With Fingers Crossed_(TeX)
+The Universe is Somewhere In Here_(J.G.E.M. Fraaije)
+You're About to Hurt Somebody_(Jazzy Jeff)
+I Should Be the Pimp Of the Year_(Urban Dance Squad)
+Jesus Can't Save You, Though It's Nice to Think He Tried_(Black Crowes)
+My Heart is Just a Muscle In a Cavity_(F. Black)
+Step Aside, Butch_(Pulp Fiction)
+The World is a Friendly Place_(Magnapop)
+Sometimes Life is Obscene_(Black Crowes)
+Take Your Medications and Preparations and Ram It Up Your Snout_(F. Zappa)
+Count the Bubbles In Your Hair_(The Breeders)
+You Own the Sun_(Throwing Muses)
+I Need a Little Poison_(Throwing Muses)
+Ease Myself Into the Body Bag_(P.J. Harvey)
+A Lady Shaves Her Legs_(C. Meijering)
+Motherhood Means Mental Freeze_(The Breeders)
+Correctomundo_(Pulp Fiction)
+I Don't Like Dirt_(The Breeders)
+Bring Out the Gimp_(Pulp Fiction)
+You Could Be a Shadow_(The Breeders)
+If You're So Special Why aren't You Dead ?_(The Breeders)
+The Path Of the Righteous Man is Beset On All Sides With the Iniquities Of the Selfish and the Tyranny Of Evil Men._(Pulp Fiction)
+Blessed is He Who In the Name Of Charity and Good Will Shepherds the Weak Through the Valley Of Darkness, For He is Truly His Brother's Keeper and the Finder Of Lost Children._(Pulp Fiction)
+And I Will Strike Down Upon Thee With Great Vengeance and With Furious Anger Those Who Attempt to Poison and Destroy My Brothers._(Pulp Fiction)
+And You Will Know That My Name is the Lord When I Lay My Vengeance Upon Thee._(Pulp Fiction)
+Step On the Brakes_(2 Unlimited)
+You Don't Wanna Know_(Pulp Fiction)
+You Dirty Switch, You're On Again_(The Breeders)
+She's a Good Sheila Bruce_(Monty Python)
+I'm Gonna Get Medieval On Your Ass_(Pulp Fiction)
+Three Little Fonzies_(Pulp Fiction)
+It's Not Your Fault_(Pulp Fiction)
+You Will Be Surprised At What Resides In Your Inside_(Arrested Development)
+The Carpenter Goes Bang Bang_(The Breeders)
+Everybody Wants to Be Naked and Famous_(Tricky)
+Royale With Cheese_(Pulp Fiction)
+Shit Happens_(Pulp Fiction)
+You Fill Your Space So Sweet_(F. Apple)
+Push It Real Good_(Salt 'n' Pepa)
+Check Your Input_(D. Van Der Spoel)
+Catholic School Girls Rule_(Red Hot Chili Peppers)
+It Was My Pleasure_(Pulp Fiction)
+We Don't Bother Anyone_(LIVE)
+I Wrapped a Newspaper Round My Head_(F. Zappa)
+Kick the Dog and You Will Die_(Magnapop)
+We All Get the Flu, We All Get Aids_(LIVE)
+One Ripple At a Time_(Bianca's Smut Shack)
+We Have No Money_(E. Clementi)
+Carry Me Away_(Motors)
+I Solve Problems_(Pulp Fiction)
+A Protein is a Set Of Coordinates_(A.P. Heiner)
+It Doesn't Have to Be Tip Top_(Pulp Fiction)
+Everybody's Good Enough For Some Change_(LIVE)
+It's Against the Rules_(Pulp Fiction)
+I'm An Oakman_(Pulp Fiction)
+I Ripped the Cord Right Out Of the Phone_(Capt. Beefheart)
+I Smell Smoke From a Gun Named Extinction_(Pixies)
+With a Lead Filled Snowshoe_(F. Zappa)
+Right Between the Eyes_(F. Zappa)
+BioBeat is Not Available In Regular Shops_(P.J. Meulenhoff)
+Rub It Right Accross Your Eyes_(F. Zappa)
+Shake Yourself_(YES)
+I Am a Wonderful Thing_(Kid Creole)
+Way to Go Dude_(Beavis and Butthead)
+The Microsecond is Within Reach_(P.J. Van Maaren)
+Microsecond Here I Come_(P.J. Van Maaren)
+Confirmed_(Star Trek)
+If You Don't Like Cool Quotes Check Your GMXRC File_(Your Sysadmin)
+When It Starts to Start It'll Never Stop_(Magnapop)
+I'm a Jerk_(F. Black)
+It Wouldn't Hurt to Wipe Once In a While_(Beavis and Butthead)
+Welcome to the Power Age_(2 Unlimited)
+If You See Me Getting High, Knock Me Down_(Red Hot Chili Peppers)
+The Poodle Bites_(F. Zappa)
+The Poodle Chews It_(F. Zappa)
+I Got a Forty Dollar Bill_(F. Zappa)
+We Look Pretty Sharp In These Clothes_(F. Zappa)
+You Got to Relate to It_(A.E. Torda)
+That Was Pretty Cool_(Beavis)
+That Was Really Cool_(Butthead)
+Hang On to Your Ego_(F. Black)
+Pump Up the Volume Along With the Tempo_(Jazzy Jeff)
+Ramones For Ever_(P.J. Van Maaren)
+Have a Nice Day_(R. McDonald)
+Whatever Happened to Pong ?_(F. Black)
+Make the Floor Burn_(2 Unlimited)
+That Was Cool_(Beavis and Butthead)
+You Hear Footsteps Coming From Behind_(Colossal Cave)
+It is Lunchtime_(A.R. Van Buuren)
+You Crashed Into the Swamps_(Silicon Graphics)
+I Am a Poor Lonesome Cowboy_(Lucky Luke)
+Clickety Clickety Click_(System Manager From Hell)
+Been There, Done It_(Beavis and Butthead)
+Load Up Your Rubber Bullets_(10 CC)
+How Do You Like Your Vacation So Far ?_(Speed 2 - Cruise Control)
+It's So Fast It's Slow_(F. Black)
+Ich Bin Ein Berliner_(J.F. Kennedy)
+Take Dehydrated Water On Your Desert Trips_(Space Quest III)
+Your Country Needs YOU_(U.S. Army)
+Don't Eat That Yellow Snow_(F. Zappa)
+I Do It All the Time_(Magnapop)
+Just Give Me a Blip_(F. Black)
+Garbage Collecting..._(GNU Emacs)
+Cut It Deep and Cut It Wide_(The Walkabouts)
+Beat On the Brat With a Baseball Bat_(The Ramones)
+My Head Goes Pop Pop Pop Pop Pop_(F. Black)
+Hangout In the Suburbs If You've Got the Guts_(Urban Dance Squad)
+I Have a Bad Case Of Purple Diarrhea_(Urban Dance Squad)
+It's Bicycle Repair Man !_(Monty Python)
+I've Got Two Turntables and a Microphone_(B. Hansen)
+I Am the Psychotherapist. Please, Describe Your Problems._(GNU Emacs)
+Watch Out Where the Huskies Go_(F. Zappa)
+I Was Born to Have Adventure_(F. Zappa)
+Is That a Real Poncho ?_(F. Zappa)
+They're Red Hot_(Red Hot Chili Peppers)
+Your Bones Got a Little Machine_(Pixies)
+Oh My God ! It's the Funky Shit_(Beastie Boys)
+Throwing the Baby Away With the SPC_(S. Hayward)
+Engage_(J.L. Picard)
+Everybody is Smashing Things Down_(Offspring)
+Hey Man You Know, I'm Really OK_(Offspring)
+I'm Not Gonna Die Here !_(Sphere)
+I'd Like Monday Mornings Better If They Started Later_(Garfield)
+Here's Another Useful Quote_(S. Boot)
+Wild Pointers Couldn't Drag Me Away_(K.A. Feenstra)
+Let's Go Hang Out In a Mall_(LIVE)
+These are Ideas, They are Not Lies_(Magnapop)
+Bad As This Shit Is, This Shit Ain't As Bad As You Think It Is._(Jackie Brown)
+My Ass May Be Dumb, But I Ain't No Dumbass._(Jackie Brown)
+Jesus Not Only Saves, He Also Frequently Makes Backups._(Myron Bradshaw)
+Player Sleeps With the Fishes_(Ein Bekanntes Spiel Von ID Software)
+Bailed Out Of Edge Synchronization After 10,000 Iterations_(X/Motif)
+God is a DJ_(Faithless)
+Encountered Subspace Anomaly_(Star Trek)
+If I Were You I Would Give Me a Break_(F. Black)
+She Needs Cash to Buy Aspirine For Her Pain_(LIVE)
+Got Coffee, Got Donuts, Got Wasted_(F. Black)
+Boom Boom Boom Boom, I Want You in My Room_(Venga Boys)
+Right Now My Job is Eating These Doughnuts_(Bodycount)
+Wait a Minute, aren't You.... ? (gunshots) Yeah._(Bodycount)
+If I Wanted You to Understand This, I Would Explain it Better_(J. Cruijff)
+Uh-oh_(Tinky Winky)
+Uh-oh, We're In Trouble_(Shampoo)
+Can't You Make This Thing Go Faster ?_(Black Crowes)
+Get Down In 3D_(George Clinton)
+Uh-oh .... Right Again_(Laurie Anderson)
+(That makes 100 errors; please try again.)_(TeX)
+O My God, They Killed Kenny !_(South Park)
+Drugs are Bad, mmokay_(South Park)
+Let's Unzip And Let's Unfold_(Red Hot Chili Peppers)
+I'd Be Water If I Could_(Red Hot Chili Peppers)
+Space May Be the Final Frontier, But It's Made in a Hollywood Basement_(Red Hot Chili Peppers)
+Everything Must Go_(Red Hot Chili Peppers)
+There's Nothing We Can't Fix, 'coz We Can Do It in the Mix_(Indeep)
+It's Coming Right For Us !_(South Park)
+Disturb the Peace of a John Q Citizen_(Urban Dance Squad)
+Wicky-wicky Wa-wild West_(Will Smith)
+This is Tense !_(Star Wars Episode I The Phantom Menace)
+Fly to the Court of England and Unfold_(Macbeth, Act 3, Scene 6, William Shakespeare)
+Why, how now, Claudio ! Whence Comes this Restraint ?_(Lucio in Measure for measure, Act 1, Scene 4, William Shakespeare)
+In the End Science Comes Down to Praying_(P. v.d. Berg)
+I'm Looking for a New Simulation_(Stone Temple Pilots)
+I Quit My Job Blowing Leaves_(Beck)
+Live for Liposuction_(Robbie Williams)
+All You Need is Greed_(Aztec Camera)
+You Can Be Too Early, You Can Be Too Late and You Can Be On Time_(J. Cruijff)
+RTFM_(B. Hess)
+Why Do *You* Use Constraints ?_(H.J.C. Berendsen)
+Why Weren't You at My Funeral ?_(G. Groenhof)
+You Can Always Go On Ricky Lake_(Offspring)
+As Always Your Logic Is Impeccable_(Tuvok)
+set: No match._(tcsh)
+AH ....Satisfaction_(IRIX imapd)
+I Need Love, Not Games_(Iggy Pop & Kate Pierson)
+It's Not Dark Yet, But It's Getting There_(Bob Dylan)
+I Used To Care, But Things Have Changed_(Bob Dylan)
+Working in the Burger Kings, Spitting on your Onion Rings_(Slim Shady)
+Does All This Money Really Have To Go To Charity ?_(Rick)
+Yeah, uh uh, Neil's Head !_(Neil)
+In the Meantime, Take Care of Yourself aaand Eachother_(J. Springer)
+I Feel a Great Disturbance in the Force_(The Emperor Strikes Back)
+Do You Have a Mind of Your Own ?_(Garbage)
+I'll Match Your DNA_(Red Hot Chili Peppers)
+All I Ever Wanted Was Your Life_(Red Hot Chili Peppers)
+Just a Minute While I Reinvent Myself_(Red Hot Chili Peppers)
+There's Still Time to Change the Rope You're On_(Led Zeppelin)
+Baby, It Aint Over Till It's Over_(Lenny Kravitz)
+It Just Tastes Better_(Burger King)
+'Nay. We are but men.' Rock!_(Tenacious D)
+Cowardly refusing to create an empty archive_(GNU tar)
+Shaken, not Stirred_(J. Bond)
+Oh, There Goes Gravity_(Eminem)
+Is This the Right Room for an Argument ?_(Monty Python)
+I was detained, I was restrained_(The Smiths)
+The Candlelight Was Just Right_(Beastie Boys)
+Fresh Air, Green Hair_(Frank Black)
+Rat-tat-tat Ka boom boom_(The Smashing Pumpkins)
+Youth is wasted on the young_(The Smashing Pumpkins)
+Miggida-Miggida-Miggida-Mac_(Kriss Kross)
+Interfacing Space and Beyond..._(P. J. Harvey)
+Everything He Lacks, He Makes Up In Denial_(Offspring)
+A Pretty Village Burning Makes a Pretty Fire_(David Sandstrom)
+They don't have any beavers in India, so they have to simulate them_(The Tubes)
+It's Calling Me to Break my Bonds, Again..._(Van der Graaf)
+I believe in miracles cause I'm one_(The Ramones)
+Gabba Gabba Hey!_(The Ramones)
+Shoot them in the back now_(The Ramones)
+Read me your scripture and I will twist it_(Red Hot Chili Peppers)
+Good Music Saves your Soul_(Lemmy)
+I believe in miracles cause I'm one_(The Ramones)
+Gabba Gabba Hey!_(The Ramones)
+Good Music Saves your Soul_(Lemmy)
+Move about like a Scientist, lay down, get kissed_(Red Hot Chili Peppars)
+California, R.I.P._(Red Hot Chili Peppars)
+Don't You Wish You Never Met Her, Dirty Blue Gene?_(Captain Beefheart)
+Nobody Never Learnt No-Nothing from No History_(Gogol Bordello)
+I'd be Safe and Warm if I was in L.A._(The Mamas and the Papas)
+It's Unacceptable That Choclate Makes You Fat_(MI 3)
+My Brothers are Protons (Protons!), My Sisters are Neurons (Neurons)_(Gogol Bordello)
+Put Me Inside SSC, Let's Test Superstring Theory, Oh Yoi Yoi Accelerate the Protons_(Gogol Bordello)
+Do You Have Sex Maniacs or Schizophrenics or Astrophysicists in Your Family?_(Gogol Bordello)
+Screw a Lightbulb in your Head_(Gogol Bordello)
+Alas, You're Welcome_(Prof. Dumbledore in Potter Puppet Pals)
+Your Shopping Techniques are Amazing_(Gogol Bordello)
+Your Country Raised You, Your Country Fed You, and Just Like Any Other Country it Will Break You_(Gogol Bordello)
+What They Need's a Damn Good Whacking_(The Beatles)
+They Paint Their Faces So Differently From Ours_(Gogol Bordello)
+The Feeling of Power was Intoxicating, Magic_(Frida Hyvonen)
+I was elected to lead, not to read_(President A. Schwarzenegger)
+I managed to get two hours of work done before work_(E. Lindahl)
+Go back to the rock from under which you came_(Fiona Apple)
+It's just the way this stuff is done_(Built to Spill)
+You Fill Me With Inertia_(The Long Blondes)
+I used to be blond and stupid, but now I dyed it black_(Miss Li)
+Aber wenn der Quarterback kommt, um dir die Brille abzunehmen Sag ihm: Danke die bleibt wo sie ist_(Wir sind Helden)
+Jede der Scherben spiegelt das Licht_(Wir sind Helden)
+Ohne Arbeit wird das Leben Oede_(Wir Sind Helden)
+Act like Prometheus would_(Gogol Bordello)
+Making merry out of nothing, like in refugee camp_(Gogol Bordello)
+History has expired_(PubMed Central)
+There's only music to make new ringtones_(Arctic Monkeys)
+Can someone please tell Icarus that he's not the only one falling from the sky?_(Urban Dance Squad)
+Ich war schwanger, mir gings zum kotzen_(Nina Hagen)
+What if you're wrong about the great Ju Ju at the bottom of the sea?_(Richard Dawkins)
+Come on boys, Let's push it hard_(P.J. Harvey)
+Look at these, my work-strong arms_(P.J. Harvey)
+Is it the invisible chemistry stuff?_(Frida Hyvonen)
+Nada e organico, e tudo programado_(Pitty)
+Sitting on a rooftop watching molecules collide_(A Camp)
+Though the path of the comet is sure, it's constitution is not_(Peter Hammill)
+Everything's formed from particles_(Van der Graaf Generator)
+The time for theory is over_(J. Hajdu)
+What's the point, yo, what's the spread?_(Red Hot Chili Peppers)
+If There Is No Guitar In The House, You Know It's Owner Can Not Be Trusted_(Gogol Bordello)
+Carbohydrates is all they groove_(Frank Zappa)
+Never, I said never, compare with experiment_(Magnus Bergh)
+Suzy is a headbanger, her mother is a geek_(The Ramones)
+Now it's filled with hundreds and hundreds of chemicals_(Midlake)
+If it weren't for bad luck, we'd have no luck at all_(The Unthanks)
+There's no way you can rely on an experiment_(Gerrit Groenhof)
+I like to wait, then I feel like I do something_(Carl Caleman)
+Can I have everything louder than everything else?_(Deep Purple)
+He's using code that only you and I know_(Kate Bush)
+Chemical gases filling lungs of little ones_(Black Eyed Peas)
+I've basically become a vegetarian since the only meat I'm eating is from animals I've killed myself_(Mark Zuckerberg)
+Years of calculations and the stress, My science is waiting, nearly complete_(Midlake)
diff --git a/rr_support/rrCExporter.h b/rr_support/rrCExporter.h
new file mode 100644
index 0000000..1b13bda
--- /dev/null
+++ b/rr_support/rrCExporter.h
@@ -0,0 +1,17 @@
+#ifndef rrCExporterH
+#define rrCExporterH
+
+#if defined(WIN32)
+
+#if defined(BUILD_MODEL_DLL)
+#define D_S __declspec(dllexport)
+#else
+#define D_S __declspec(dllimport)
+#endif
+
+#else
+#define D_S 
+#endif
+#endif
+
+
diff --git a/rr_support/rrModelData.h b/rr_support/rrModelData.h
new file mode 100644
index 0000000..1dd50c8
--- /dev/null
+++ b/rr_support/rrModelData.h
@@ -0,0 +1,240 @@
+#ifndef rrModelDataH
+#define rrModelDataH
+
+/**
+ * This file is included by the generated C sbml model code, so
+ * BE AWARE OF THIS AND BE VERY CAREFULL MODIFYING IT!
+ */
+
+#if defined __cplusplus
+namespace rr
+{
+#endif
+typedef struct   SModelData *ModelDataP;
+typedef double   (*EventDelayHandler)(ModelDataP);
+typedef double*  (*ComputeEventAssignmentHandler)(ModelDataP);
+typedef void     (*PerformEventAssignmentHandler)(ModelDataP, double*);
+typedef void     (*EventAssignmentHandler)();
+
+/**
+ * A data structure that is that allows data to be exchanged
+ * with running SBML models. In the case of CExecutableModels, A pointer to
+ * this struct is given to the compiled shared library, and the C code
+ * there modifies the buffers of this structure.
+ *
+ * There are some functions in ExecutableModel.h that manage ModelData
+ * memory. These would have made more sense here, but in order to prevent
+ * any issues with generated code interacting with them, they were placed
+ * there.
+ *
+ * Basic Nomencalture
+ * Compartments: A well stirred compartment which contains one or more species.
+ * the volume of a compartment can change durring the course of a simulation.
+ *
+ * Floating Species: these are chemical species who's values (ammount / concentration)
+ * change over time.
+ *
+ * Boundary Species: chemical species that who's values are fixed to their initial conditions,
+ * these function as boundary conditions.
+ *
+ * @see ExecutableModel.h
+ */
+typedef struct SModelData
+{
+    /**
+     * current time.
+     */
+    double                              time;                             // 2
+
+    /**
+     * number of linearly independent rows in the stochiometry matrix.
+     */
+    unsigned                            numIndependentSpecies;            // 3
+
+    /**
+     * number of linerly dependent rows in the stoichiometry matrix.
+     *
+     * numIndependentVariables + numDependentVariables had better
+     * be equal to numFloatingSpecies
+     */
+    unsigned                            numDependentSpecies;              // 4
+    double*                             dependentSpeciesConservedSums;    // 5
+
+    /**
+     * number of global parameters
+     */
+    unsigned                            numGlobalParameters;              // 6
+    double*                             globalParameters;                 // 7
+
+    /**
+     * number of reactions, same as ratesSize.
+     * These are the calcuated reaction rates, not the
+     * species rates.
+     */
+    unsigned                            numReactions;                     // 8
+    double*                             reactionRates;                    // 9
+
+    unsigned                            numRateRules;                     // 10
+
+    /**
+     * All of the elelments which have a rate rule are stored here.
+     *
+     * As the integrator runs, this pointer can simply point to an offset
+     * in the integrator's state vector.
+     *
+     * Only used in the LLVM version.
+     */
+    double*                             rateRuleValues;                   // 11
+
+    /**
+     * the rate of change of all elements who's dynamics are determined
+     * by rate rules.
+     *
+     * In the LLVM version, this is just a pointer to a data block
+     * owned by the integrator. In the C version, lots of strange
+     * stuff goes on here, but the C version does allocate this block,
+     * and do all sorts of copying back and forth between the integrator's
+     * rate rule block.
+     */
+    double*                             rateRuleRates;                    // 12
+
+    /**
+     * LLVM specific
+     * C version does not support local parameters
+     * This is the offset, or starting index of the local parameters
+     * for reaction i. Length is numReactions.
+     *
+     * Rationale: It is simple more effecient to store all the local
+     * parameters in a single dimensional array with offsets, as the
+     * offsets can be computed at compile time, whereas if we used
+     * a array of arrays, it would require an additional memory access
+     * to determine the location of the parameter.
+     */
+    unsigned*                           localParametersOffsets;           // 12
+
+    /**
+     * the number of local parameters for each reaction,
+     * so legnth is numReactions. This is an array of counts,
+     * hence it is named differently than the rest of the num*** fields.
+     */
+    unsigned*                           localParametersNum;               // 14
+
+    /**
+     * All local parameters are stored in this array. This has
+     * length sum(localParameterNum).
+     */
+    double*                             localParameters;                  // 15
+
+    /**
+     * The total ammounts of the floating species, i.e.
+     * concentration * compartment volume.
+     * Everything named floatingSpecies??? has length numFloatingSpecies.
+     *
+     * Note, the floating species consist of BOTH independent AND dependent
+     * species. Indexes [0,numIndpendentSpecies) values are the indenpendent
+     * species, and the [numIndependentSpecies,numIndendentSpecies+numDependentSpecies)
+     * contain the dependent species.
+     */
+    unsigned                            numFloatingSpecies;               // 16
+
+    /**
+     * number of floating species and floating species concentrations.
+     */
+    double*                             floatingSpeciesConcentrations;    // 17
+
+    /**
+     * initial concentration values for floating species.
+     */
+    double*                             floatingSpeciesInitConcentrations;// 18
+
+    /**
+     * amount rates of change for floating species.
+     */
+    double*                             floatingSpeciesAmountRates;       // 19
+
+    /**
+     * The total amount of a species in a compartment.
+     */
+    double*                             floatingSpeciesAmounts;           // 20
+
+    /**
+     * compartment index for each floating species,
+     * e.g. the volume of the i'th species is
+     * md->compartmentVolumes[md->floatingSpeciesCompartments[i]]
+     */
+    unsigned*                           floatingSpeciesCompartments;      // 21
+
+    /**
+     * number of boundary species and boundary species concentrations.
+     * units: either
+     * Mass Percent = (Mass of Solute) / (Mass of Solution) x 100%
+     * Volume Percent= (Volume of Solute) / (Volume of Solution) x 100%
+     * Mass/Volume Percent= (Mass of Solute) / (Volume of Solution) x 100%
+     */
+    unsigned                            numBoundarySpecies;               // 22
+    double*                             boundarySpeciesConcentrations;    // 23
+    double*                             boundarySpeciesAmounts;           // 24
+
+    /**
+     * compartment index for each boundary species,
+     * e.g. the volume of the i'th species is
+     * md->compartmentVolumes[md->boundarySpeciesCompartments[i]]
+     */
+    unsigned*                           boundarySpeciesCompartments;      // 25
+
+    /**
+     * number of compartments, and compartment volumes.
+     * units: volume
+     */
+    unsigned                            numCompartments;                  // 26
+    double*                             compartmentVolumes;               // 27
+
+
+    //Event stuff
+    unsigned                            numEvents;                        // 29
+    unsigned                            eventTypeSize;                    // 30
+    bool*                               eventType;                        // 31
+
+    unsigned                            eventPersistentTypeSize;          // 32
+    bool*                               eventPersistentType;              // 33
+
+    unsigned                            eventTestsSize;                   // 34
+    double*                             eventTests;                       // 35
+
+    unsigned                            eventPrioritiesSize;              // 36
+    double*                             eventPriorities;                  // 37
+
+    unsigned                            eventStatusArraySize;             // 38
+    bool*                               eventStatusArray;                 // 39
+
+    unsigned                            previousEventStatusArraySize;     // 40
+    bool*                               previousEventStatusArray;         // 41
+
+
+    EventDelayHandler*                  eventDelays;                      // 47
+    EventAssignmentHandler*             eventAssignments;                 // 48
+
+    ComputeEventAssignmentHandler*      computeEventAssignments;          // 49
+    PerformEventAssignmentHandler*      performEventAssignments;          // 50
+
+    /**
+     * model name
+     */
+    char*                               modelName;                        // 51
+
+    /**
+     * C species references,
+     * not working correctly...
+     */
+    unsigned                            srSize;                           // 52
+    double*                             sr;                               // 53
+} ModelData;
+//#pragma pack(pop)
+
+#if defined __cplusplus
+}
+#endif
+
+
+
+#endif
diff --git a/rr_support/rrSupport.c b/rr_support/rrSupport.c
new file mode 100644
index 0000000..5bb680a
--- /dev/null
+++ b/rr_support/rrSupport.c
@@ -0,0 +1,528 @@
+#include <stdio.h>                //va_list etc..
+#include <stdarg.h>                //va_list etc..
+#include <stdbool.h>
+#include <math.h>
+#include "rrSupport.h"
+
+#define IS_ODD(n)  ((n) & 1)
+
+double myFastSin ( double angle );
+
+double trunc(double d)
+{
+    return (d > 0) ? floor(d) : ceil(d) ;
+}
+
+double IntPower(double x, int y)
+{
+//The following code goes into an endless loop when y is negative
+//    double value = 1.0;
+//    int count = 0;
+//    do
+//    {
+//        if(IS_ODD(exponent))
+//        {
+//            value *= base;
+//        }
+//        exponent >>= 1;
+//        base *= base;
+//        ++count;
+//    }
+//    while (exponent);
+//    return (value);
+
+    double  temp;
+    if( y == 0)
+    {
+       return 1;
+    }
+
+    temp = IntPower(x, y/2);
+    if (y%2 == 0)
+    {
+        return temp*temp;
+    }
+    else
+    {
+        if(y > 0)
+            return x*temp*temp;
+        else
+            return (temp*temp)/x;
+    }
+}
+
+double spf_abs(double x)
+{
+    if(x < 0)
+    {
+        return -x;
+    }
+	
+    return x;
+}
+
+double MyPower(double base, double exponent)
+{
+    double result;
+    int sign = 1;
+    double x = 0;
+    if (base < 0)
+    {
+        sign = -1;
+        base = fabs(base);
+    }
+
+    if (exponent == 0.0)
+    {
+         return (1.0*sign);              // n**0 = 1
+    }
+
+    if ((base == 0.0) && (exponent > 0.0))
+    {
+         return (0.0);                   // 0**n = 0, n > 0
+    }
+
+    x = exponent - trunc (exponent);
+
+    if ((x == 0.0) && (fabs(exponent) <= 2147483647))
+    {
+        result = (sign*IntPower(base, trunc (exponent)));
+    }
+    else
+    {
+        result = (sign*exp(exponent * log(base)));
+    }
+    return result;
+}
+
+double spf_pow(double base, double exp)
+{
+	if(base == 0)
+    {
+		return 0;
+    }
+	else
+    {
+        return MyPower(base, exp);
+    }
+}
+
+double spf_exp(double num)
+{
+	return exp(num);
+}
+
+//---------------------------------------------------------------------------
+// Boolean functions for event handling" + NL());
+double spf_gt(double a, double b)
+{
+    return (a > b ? 1.0 : 0.0);
+}
+
+double spf_lt(double a, double b)
+{
+//    printf("in %f less than %f", a, b);
+    return (a <= b ? 1.0 : 0.0);
+}
+
+double spf_geq(double a, double b)
+{
+    return (a >= b ? 1.0 : 0.0);
+}
+
+double spf_leq(double a, double b)
+{
+    return (a <= b ? 1.0 : 0.0);
+}
+
+double spf_eq(double a, double b)
+{
+    return (a == b ? 1.0 : 0.0);
+}
+
+double spf_neq(double a, double b)
+{
+    return (a != b ? 1.0 : 0.0);
+}
+
+double spf_and(int nrOfArguments, ...)
+{
+    double result = 1.0;
+    int i;
+    va_list listPointer;
+
+/*    printf( "Number of args in spf_and: %d", nrOfArguments );*/
+
+    // make listPointer point to the first argument in the list
+    va_start(listPointer, nrOfArguments);
+
+    for(i = 0; i < nrOfArguments; i++)
+    {
+        // Get an argument.  Must know the type of the arg to retrieve
+        // it from the va_list.
+        double arg = va_arg(listPointer, double);
+
+/*        printf( "The %dth arg is %f\n", i, arg );*/
+        if(arg == 0.0)
+        {
+            result = 0.0;
+            break;
+        }
+    }
+    va_end( listPointer );
+    return result;
+}
+
+double spf_or(int nrOfArguments, ...)
+{
+    double result = 0.0;
+    int i;
+    va_list listPointer;
+    va_start(listPointer, nrOfArguments);
+
+    for(i = 0; i < nrOfArguments; i++)
+    {
+        // Get an argument.  Must know
+        // the type of the arg to retrieve
+        // it from the va_list.
+        double arg = va_arg( listPointer, double);
+
+/*        printf("The %dth arg is %f\n", i, arg);*/
+        if(arg == 1.0)
+        {
+            result = 1.0;
+            break;
+        }
+    }
+    va_end( listPointer );
+    return result;
+}
+
+
+double spf_xor(int nrOfArguments, ...)
+{
+    int i;
+    bool result = false;
+    va_list listPointer;
+    va_start(listPointer, nrOfArguments);
+
+    for(i = 0; i < nrOfArguments; i++)
+    {
+        // Get an argument.  Must know
+        // the type of the arg to retrieve
+        // it from the va_list.
+        double arg = va_arg( listPointer, double);
+/*        printf( "    The %dth arg is %f\n", i, arg );*/
+
+          if(i == 0)
+          {
+              result = (arg == 1.0);
+        }
+        else
+        {
+            result ^= (arg == 1.0);
+        }
+    }
+    va_end( listPointer );
+    return (result ? 1.0 : 0.0);
+}
+
+double spf_not(double a)
+{
+    return (a == 1.0 ? 0.0 : 1.0);
+}
+
+double spf_ceil(double a)
+{
+    return (double) ceil(a);
+}
+
+double spf_floor(double a)
+{
+    return  (double) floor(a);
+}
+
+int spf_factorial(int a)
+{
+
+    if (a <= 0 )
+    {
+        return 1;
+    }
+    return a * spf_factorial(a - 1);
+}
+
+double spf_log(double a)
+{
+    return log(a);
+}
+
+double spf_log10(double a)
+{
+    return log10(a);
+}
+
+//double spf_log(double a, double b)
+//{
+//    return log(b, a);
+//}
+
+double spf_delay(double a, double b)
+{
+    return a;
+}
+
+double spf_root(double a, double b)
+{
+    if(a != 0)
+    {
+        return spf_pow(b, 1.0/a);
+    }
+    else
+    {
+        return 1.0;
+    }
+}
+
+double spf_piecewise(int nrOfArgs, ...)
+{
+    int i;
+    double result = 0.0;
+    double nextArg;
+    va_list listPointer;
+/*    printf( "Nr of args to piecewise: %d\n", nrOfArgs);*/
+
+    // make listPointer point to the first argument in the list
+    va_start(listPointer, nrOfArgs);
+    for(i = 0; i < nrOfArgs - 1; i= i + 2)
+    {
+        // Get an argument.  Must know the type of the arg to retrieve
+        // it from the va_list.
+        result  = (double) va_arg(listPointer, double);
+/*        printf( "The %d:th arg is %f\n", i, result );*/
+        nextArg = (double) va_arg(listPointer, double);
+/*        printf( "The %d:th arg is %f\n", i + 1, nextArg );*/
+        if(nextArg == 1.0)
+        {
+            va_end( listPointer );            
+/*            printf( "Returning result %f\n",  result );*/
+            return result;
+        }
+    }
+   
+    //Get last argument (this works only if nrOfArgs are odd..)
+    //Todo: rewrite this
+
+    result = (double) va_arg(listPointer, double);
+    va_end( listPointer );       
+/*    printf( "Returning result outside loop%f\n",  result );*/
+
+    return result;
+}
+//        double _piecewise(params object[] args)
+//        {
+//            try
+//            {
+//                for (int i = 0; i < args.Length - 1; i = i + 2)
+//                {
+//                    //bool bTest = (bool) args[i+1];
+//                    try
+//                    {
+//                        var bTest = (double) args[i + 1];
+//                        if (bTest == 1.0)
+//                            return (double) args[i];
+//                    }
+//                    catch
+//                    {
+//                        var bTest = (bool) args[i + 1];
+//                        if (bTest) return (double) args[i];
+//                    }
+//                }
+//                return (double) args[args.Length - 1];
+//            }
+//            catch (Exception)
+//            {
+//                throw new ArgumentException("Invalid arguments for piecewise.");
+//            }
+//        }
+//    }
+
+//
+
+double spf_sin(double a)
+{
+//    return myFastSin(a);
+    return sin(a);
+}
+
+double spf_sec(double a)
+{
+    return 1./cos(a);
+}
+
+double sec(double a)
+{
+    return 1./cos(a);
+}
+
+//// Cotangent
+double cot(double a)
+{
+    return 1./tan(a);
+}
+//
+//// Inverse cotangent
+double arccot(double a)
+{
+    double result;
+    if(a == 0.0)
+    {
+        result = PI/2.;
+    }
+    else
+    {
+        result = atan(1. / a);
+    }
+    return result;
+}
+
+//// Inverse cotangent - ratio numerator and denominator provided
+double arccot2(double a, double b)
+{
+    return 0;
+}
+
+//// Inverse secant
+double asec(double a)
+{
+    return 0;
+}
+
+//// Cosecant
+double csc(double a)
+{
+    return 0;
+}
+
+//// Inverse cosecant
+double acsc(double a)
+{
+    return 0;
+}
+
+//// Hyperbolic secant of a double number
+double sech(double a)
+{
+    return 0;
+}
+
+//// Inverse hyperbolic secant of a double number
+double asech(double a)
+{
+    return 0;
+}
+
+double arcsech(double a)
+{
+    return 0;
+}
+
+//// Hyperbolic cosecant of a double number
+double csch(double a)
+{
+    return 0;
+}
+
+//// Inverse hyperbolic cosecant of a double number
+double arccsc(double a)
+{
+    return 0;
+}
+
+//// Inverse hyperbolic cosecant of a double number
+double arccsch(double a)
+{
+    return 0;
+}
+
+//// Hyperbolic cotangent of a double number
+double coth(double a)
+{
+    return 0;
+}
+
+//// Inverse hyperbolic cotangent of a double number
+double arccoth(double a)
+{
+    return 0;
+}
+
+//// Inverse hyperbolic functions
+//// --------------------------------------------------------------
+//// Inverse hyperbolic sine of a double number
+double arcsinh(double a)
+{
+    return 0;
+}
+
+//// Inverse hyperbolic cosine of a double number
+double arccosh(double a)
+{
+    return 0;
+}
+
+//// Inverse hyperbolic tangent of a double number
+double arctanh(double a)
+{
+    return 0;
+}
+
+
+
+//First of all sine and cosine tables
+
+double sinTable[] = {
+0.0,                                    //sin(0)
+0.17364817766693034885171662676931 ,    //sin(10)
+0.34202014332566873304409961468226 ,    //sin(20)
+0.5 ,                                    //sin(30)
+0.64278760968653932632264340990726 ,    //sin(40)
+0.76604444311897803520239265055542 ,    //sin(50)
+0.86602540378443864676372317075294 ,    //sin(60)
+0.93969262078590838405410927732473 ,    //sin(70)
+0.98480775301220805936674302458952 ,    //sin(80)
+1.0                                     //sin(90)
+};
+
+double cosTable[] = {
+1.0 ,                                    //cos(0)
+0.99984769515639123915701155881391 ,    //cos(1)
+0.99939082701909573000624344004393 ,    //cos(2)
+0.99862953475457387378449205843944 ,    //cos(3)
+0.99756405025982424761316268064426 ,    //cos(4)
+0.99619469809174553229501040247389 ,    //cos(5)
+0.99452189536827333692269194498057 ,    //cos(6)
+0.99254615164132203498006158933058 ,    //cos(7)
+0.99026806874157031508377486734485 ,    //cos(8)
+0.98768834059513772619004024769344         //cos(9)
+};
+// sin (a+b) = sin(a)*cos(b) + sin(b)*cos(a)
+// a = 10*m where m is a natural number and 0<= m <= 90
+// i.e. lets a+b = 18.22
+// then a = 10, b = 8.22
+
+
+double myFastSin(double angle)
+{
+//    int aVal;
+//    double bVal;
+//    static double holyConstant = 0.017453292519943295769236907684886;
+//
+//    aVal = angle * 0.1;
+//    bVal = angle - (10.0 * aVal);
+//
+//    return sinTable[aVal]* cosTable[ spf_ceil(bVal)] + bVal * holyConstant * sinTable[9-aVal];
+//    return -1;//sin(angle);//sinTable[aVal]*cosTable[(int)bVal] + bVal*holyConstant*sinTable[9-aVal];
+    return 0;
+}
+
diff --git a/rr_support/rrSupport.h b/rr_support/rrSupport.h
new file mode 100644
index 0000000..8d47c5e
--- /dev/null
+++ b/rr_support/rrSupport.h
@@ -0,0 +1,158 @@
+#ifndef rrSupportH
+#define rrSupportH
+#include "rrCExporter.h"
+
+#ifndef MATH_CONSTANTS
+#define E 2.71828182845904523536028747135
+#define PI 3.14159265358979323846264338327
+#endif
+
+// Boolean functions for event handling" + NL());
+double spf_gt(double a, double b);
+double spf_lt(double a, double b);
+double spf_geq(double a, double b);
+double spf_leq(double a, double b);
+double spf_eq(double a, double b);
+double spf_neq(double a, double b);
+double spf_and(int numArgs, ...);
+double spf_or(int numArgs, ...);
+double spf_xor(int numArgs, ...);
+
+//D_S double     spf_not(double a);
+//D_S bool     spf_not(bool a);
+//D_S double     spf_xor(params double[] a);
+//D_S bool     spf_xor(params bool[] a);
+double spf_abs(double s);
+double spf_exp(double a);
+double spf_pow(double a, double b);
+double spf_ceil(double a);
+double spf_floor(double a);
+int    spf_factorial(int a);
+double spf_log(double a);
+double spf_log10(double a);
+
+//double spf_log(double a, double b);
+double spf_delay(double a, double b);
+double spf_root(double a, double b);
+
+//double spf_piecewise(params object[] args);
+double spf_piecewise(int nrOfArgs, ...);
+
+// Square
+double spf_sqr(double a);
+double Logbase(double value, double baseValue);
+
+//// -----------------------------------------------------------------------
+//// Start of trig functions
+//// -----------------------------------------------------------------------
+
+//// Convert degrees to Radians
+double degToRad(double degrees);
+
+// Convert radians to degrees
+double radToDeg(double radians);
+
+
+double spf_sin(double a);
+
+//// Secant
+double sec(double a);
+
+//// Cotangent
+double cot(double a);
+//
+//// Inverse cotangent
+double arccot(double a);
+//
+//// Inverse cotangent - ratio numerator and denominator provided
+double arccot2(double a, double b);
+//// Inverse secant
+double asec(double a);
+
+// Inverse secant
+double arcsech(double a);
+
+//// Cosecant
+double csc(double a);
+
+//// Inverse cosecant
+double acsc(double a);
+
+//// Hyperbolic secant of a double number
+double sech(double a);
+
+//// Inverse hyperbolic secant of a double number
+double asech(double a);
+
+//// Hyperbolic cosecant of a double number
+double csch(double a);
+
+//// Inverse hyperbolic cosecant of a double number
+double arccsc(double a);
+
+//// Inverse hyperbolic cosecant of a double number
+double arccsch(double a);
+
+//// Hyperbolic cotangent of a double number
+double coth(double a);
+
+//// Inverse hyperbolic cotangent of a double number
+double arccoth(double a);
+
+//// Inverse hyperbolic functions
+//// --------------------------------------------------------------
+//// Inverse hyperbolic sine of a double number
+double arcsinh(double a);
+
+//// Inverse hyperbolic cosine of a double number
+double arccosh(double a);
+
+//// Inverse hyperbolic tangent of a double number
+double arctanh(double a);
+
+//// Boolean functions for event handling" + NL());
+//D_S double Gt(double a, double b);
+//D_S double Lt(double a, double b);
+//D_S double Geq(double a, double b);
+//D_S double Leq(double a, double b);
+//D_S double Eq(double a, double b);
+//D_S double Neq(double a, double b);
+//D_S double And(double first, ...);    //double args...
+////D_S bool And(params bool[] a);
+////D_S double Or(params double[] a);
+////D_S bool Or(params bool[] a);
+//D_S double Not(double a);
+////D_S bool Not(bool a);
+////D_S double Xor(params double[] a);
+////D_S bool Xor(params bool[]  a);
+//
+////No references to 'double' Factorial
+//D_S double Factorial(double a);
+////D_S double log(double a);
+////D_S double log(double a, double b);
+//D_S double Delay(double a, double b);
+//D_S double Root(double a, double b);
+////D_S double Piecewise(params object[] args);
+//
+
+
+// See: http://en.wikipedia.org/wiki/Mathematical_constant
+//const double EULER_CONSTANT_GAMMA  = 0.57721566490153286060651209008;
+//const double GOLDEN_RATIO          = 1.618033988749895;
+//const double LOG2E                 = 1.44269504088896340735992468100; /* log_2 (e) */
+//const double LOG10E                = 0.43429448190325182765112891892; /* log_10 (e) */
+//const double SQRT2                 = 1.41421356237309504880168872421; /* sqrt(2) */
+//const double SQRT1_2               = 0.70710678118654752440084436210; /* sqrt(1/2) */
+//const double SQRT3                 = 1.73205080756887729352744634151; /* sqrt(3) */
+//const double PI_BY_2               = 1.57079632679489661923132169164; /* pi/2 */
+//const double PI_BY_4               = 0.78539816339744830966156608458; /* pi/4 */
+//const double SQRTPI                = 1.77245385090551602729816748334; /* sqrt(pi) */
+//const double TWO_BY_SQRTPI         = 1.12837916709551257389615890312; /* 2/sqrt(pi) */
+//const double ONE_BY_PI             = 0.31830988618379067153776752675; /* 1/pi */
+//const double TWO_BY_PI             = 0.63661977236758134307553505349; /* 2/pi */
+//const double LN10                  = 2.30258509299404568401799145468; /* ln(10) */
+//const double LN2                   = 0.69314718055994530941723212146; /* ln(2) */
+//const double LNPI                  = 1.14472988584940017414342735135; /* ln(pi) */
+#endif
+
+
diff --git a/rr_support/stdbool.h b/rr_support/stdbool.h
new file mode 100644
index 0000000..1548695
--- /dev/null
+++ b/rr_support/stdbool.h
@@ -0,0 +1,13 @@
+#ifndef _STDBOOL_H
+#define _STDBOOL_H
+
+#ifndef __cplusplus
+#define bool    _Bool
+#define true    1
+#define false    0
+#endif /* __cplusplus */
+
+/* Signal that all the definitions are present.  */
+#define __bool_true_false_are_defined    1
+
+#endif    /* stdbool.h */
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
new file mode 100755
index 0000000..c222f50
--- /dev/null
+++ b/source/CMakeLists.txt
@@ -0,0 +1,395 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+
+set(target roadrunner)
+
+configure_file(rrConfigure.h.in rrConfigure.h)
+include_directories(${RR_GENERATED_HEADER_PATH}) #we have to do this to get the generated header
+
+install( FILES ${CMAKE_CURRENT_BINARY_DIR}/rrConfigure.h DESTINATION include/rr )
+
+OPTION(USE_POCO_NET "Use poco net library" ON)
+
+# pre-process the GitInfo.h.in file and insert the response from git about
+# last commit and current branch.
+# may not have git, set default replacement strings then.
+find_program(GIT git)
+
+if(GIT)
+    message("found git: ${GIT}")
+    execute_process(
+        COMMAND ${GIT} symbolic-ref -q --short HEAD
+        WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+        OUTPUT_VARIABLE ROADRUNNER_GIT_BRANCH
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        )
+
+
+    execute_process(
+        COMMAND ${GIT} log -1 --format=%H
+        WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+        OUTPUT_VARIABLE ROADRUNNER_GIT_LAST_COMMIT
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        )
+else()
+    # could not find GIT
+    message("could not find git")
+
+    set(ROADRUNNER_GIT_BRANCH "git not found, unknown git branch")
+    set(ROADRUNNER_GIT_LAST_COMMIT "git not found, unknown git commit")
+endif(GIT)
+
+# Add semantic version info set in root-level CMake script
+configure_file(rrVersionInfo.h.in rrVersionInfo.h @ONLY)
+
+install( FILES ${CMAKE_CURRENT_BINARY_DIR}/rrVersionInfo.h DESTINATION include/rr )
+
+# writes the results of the git commands to GitInfo.h
+message("ROADRUNNER_GIT_BRANCH ${ROADRUNNER_GIT_BRANCH}")
+message("ROADRUNNER_GIT_LAST_COMMIT: ${ROADRUNNER_GIT_LAST_COMMIT}")
+configure_file(GitInfo.h.in GitInfo.h @ONLY)
+
+install( FILES ${CMAKE_CURRENT_BINARY_DIR}/GitInfo.h DESTINATION include/rr )
+
+set(ROADRUNNER_SHARED_DEPS xml2)
+
+configure_file(roadrunner.pc.in roadrunner.pc @ONLY)
+install( FILES ${CMAKE_CURRENT_BINARY_DIR}/roadrunner.pc DESTINATION lib/pkgconfig )
+install( FILES ${CMAKE_CURRENT_BINARY_DIR}/roadrunner.pc DESTINATION share/pkgconfig )
+
+include_directories(
+    .
+    ${THIRD_PARTY_INSTALL_FOLDER}/include
+    ${THIRD_PARTY_INSTALL_FOLDER}/include/rr-libstruct
+    ${THIRD_PARTY_INSTALL_FOLDER}/include/sbml
+    ${THIRD_PARTY_INSTALL_FOLDER}/include/cvode
+    )
+
+set(rrCoreSources
+    rrConfig
+    rrSteadyStateSolver
+    rrConstants
+    rrException
+    rrGetOptions
+    rrLogger
+    rrExecutableModel
+    rrRoadRunner
+    rrRoadRunnerOptions
+    rrStringUtils
+    rrUtils
+    Integrator
+    IntegratorRegistration
+    CVODEIntegrator
+    Dictionary
+    GillespieIntegrator
+    RK4Integrator
+    RK45Integrator
+    NLEQSolver
+    rrNLEQInterface
+    rrTestSuiteModelSimulation
+    rrIniKey
+    rrIniSection
+    rrIniFile
+    rrFileName
+    rrRoadRunnerData
+    rrSelectionRecord
+    ExecutableModelFactory
+    rrVersionInfo.cpp
+    rrSparse
+    rrSBMLModelSimulation
+    rrSBMLReader
+    SBMLValidator
+    SteadyStateSolver
+    Solver
+    SolverRegistration
+    Variant
+    conservation/ConservationExtension
+    conservation/ConservationDocumentPlugin
+    conservation/ConservedMoietyPlugin
+    conservation/ConservedMoietyConverter
+    testing/CXXExecutableModel
+    testing/CXXEnzymeExecutableModel
+    testing/CXXBrusselatorExecutableModel
+    testing/CXXPiecewiseExecutableModel
+    )
+
+set(rrSources ${rrCoreSources})
+
+set_source_files_properties(rrVersionInfo.h PROPERTIES GENERATED TRUE)
+
+# Add the LLVM sources to compilation
+if(BUILD_LLVM)
+    set(rrLLVMSources
+        llvm/AssignmentRuleEvaluator
+        llvm/ASTNodeCodeGen
+        llvm/ASTNodeFactory
+        llvm/ModelResources
+        llvm/CodeGenBase
+        llvm/LLVMCompiler
+        llvm/EvalConversionFactorCodeGen
+        llvm/EvalInitialConditionsCodeGen
+        llvm/EvalRateRuleRatesCodeGen
+        llvm/EvalReactionRatesCodeGen
+        llvm/EventAssignCodeGen
+        llvm/EventTriggerCodeGen
+        llvm/EventQueue
+        llvm/FunctionResolver
+        llvm/LLVMExecutableModel
+        llvm/GetValuesCodeGen
+        llvm/LoadSymbolResolverBase
+        llvm/GetInitialValuesCodeGen
+        llvm/GetEventValuesCodeGen
+        llvm/KineticLawParameterResolver
+        llvm/LLVMModelData
+        llvm/ModelDataIRBuilder
+        llvm/ModelDataSymbolResolver
+        llvm/ModelInitialValueSymbolResolver
+        llvm/LLVMModelDataSymbols
+        llvm/LLVMModelGenerator
+        llvm/ModelGeneratorContext
+        llvm/LLVMModelSymbols
+        llvm/SetValuesCodeGen
+        llvm/SetInitialValuesCodeGen
+        llvm/SBMLSupportFunctions
+        llvm/EvalVolatileStoichCodeGen
+        llvm/SBMLInitialValueSymbolResolver
+        llvm/Random
+        llvm/DistribFunctionResolver
+        )
+
+    # set up appropriate flags for using LLVM
+    if(LLVM_FLAGS)
+      set_source_files_properties(${rrLLVMSources} PROPERTIES COMPILE_FLAGS ${LLVM_FLAGS})
+    endif()
+    # add LLVM-based model sources to list
+    set(rrSources ${rrSources} ${rrLLVMSources})
+endif(BUILD_LLVM)
+
+if(BUILD_LEGACY_C)
+    set(rrSources
+        ${rrSources}
+        c/rrStringList
+        c/mtrand
+        c/rrStringBuilder
+        c/rrStringListContainer
+        c/rrSBMLSymbolDependencies
+        c/rrSBMLSymbol
+        c/rrHashTable
+        c/rrRule
+        c/rrModelSymbols
+        c/rrSymbol
+        c/rrSymbolList
+        c/rrCompiledModelState
+        c/rrNOMSupport
+        c/rrPendingAssignment
+        c/rrCompiledModelGenerator
+        c/rrCModelGenerator
+        c/rrCodeBuilder
+        c/rrCCompiler
+        c/rrScanner
+        c/rrToken
+        c/rrEvent
+        c/rrModelSharedLibrary
+        c/rrCModelDataUtil
+        c/rrCompiledExecutableModel
+        c/rrRandom
+        )
+endif(BUILD_LEGACY_C)
+
+
+# set up linking libs
+if(RR_BUILD_SHARED_CORE)
+    #Link with static libs
+    add_library(${target} SHARED ${rrSources})
+
+    set_target_properties( ${target} PROPERTIES SOVERSION ${ROADRUNNER_VERSION} )
+
+    set_property(TARGET ${target}
+        PROPERTY  COMPILE_DEFINITIONS
+        EXPORT_RR
+        LIBSBML_STATIC
+        LIBLAX_STATIC
+        STATIC_LIBSTRUCT
+        STATIC_PUGI
+        STATIC_NLEQ
+        POCO_STATIC
+        POCO_NO_AUTOMATIC_LIBS
+        )
+
+    #libraries to link with our shared lib
+    if(UNIX)
+        set(staticLibExt ".a")
+    else()
+        set(staticLibExt "")
+    endif(UNIX)
+
+    target_link_libraries (${target}
+        sundials_cvode
+        sundials_nvecserial
+        blas
+        lapack
+        nleq-static
+        rr-libstruct-static
+        PocoNet
+        PocoFoundation
+        )
+
+
+    # link with libxml, aperently borland can't link with a
+    # conventional C library, need to be specially converted for borland
+
+    if(UNIX)
+    target_link_libraries(${target} xml2)
+    elseif(${MSVC})
+    target_link_libraries (${target} libxml2)
+    elseif(${BORLAND})
+        target_link_libraries (${target} libxml2_xe)
+    endif()
+
+    if(UNIX)
+        target_link_libraries (${target}
+            pthread
+            ${LIBSBML_STATIC_LIBRARY}
+            dl
+            f2c${staticLibExt}
+            )
+        target_link_libraries(${target} ${LIBSBML_EXTRA_LIBS})
+    else()
+        target_link_libraries (${target}
+            libf2c
+            ${LIBSBML_LIBRARY}
+            ws2_32
+            iphlpapi
+            )
+        target_link_libraries(${target} ${LIBSBML_EXTRA_LIBS})
+    endif(UNIX)
+
+
+    #Libxml is not built. Use a VS converted import file for Borland
+    if(${BORLAND})
+        target_link_libraries (${target}
+            libxml2_xe
+            )
+    endif()
+
+
+    if(${INSTALL_CXX_API})
+        install(TARGETS ${target}
+            RUNTIME DESTINATION bin COMPONENT rr_core
+            LIBRARY DESTINATION lib COMPONENT rr_core
+            ARCHIVE DESTINATION lib COMPONENT rr_core
+            )
+        install(TARGETS roadrunner DESTINATION ${PYTHON_PACKAGE_DEST_DIR})
+    endif()
+
+
+    if(BUILD_LLVM)
+        target_link_libraries(${target}
+            ${LLVM_LIBRARIES}
+            )
+    endif(BUILD_LLVM)
+
+endif(RR_BUILD_SHARED_CORE)
+
+# static allways gets build
+
+add_library(${target}-static STATIC ${rrSources})
+
+set_target_properties( ${target}-static PROPERTIES SOVERSION ${ROADRUNNER_VERSION} )
+
+set_property(TARGET ${target}-static
+    PROPERTY COMPILE_DEFINITIONS
+    STATIC_RR
+    LIBSBML_USE_CPP_NAMESPACE
+    LIBSBML_STATIC
+    LIBLAX_STATIC
+    STATIC_LIBSTRUCT
+    STATIC_PUGI
+    STATIC_NLEQ
+    POCO_STATIC
+    POCO_NO_AUTOMATIC_LIBS
+    )
+
+#libraries to link with static lib
+#======== We need to split up this one to satisfy linking in both windows and posix.
+#=== windows need libsbml-static and libf2c and posix uses sbml-static and f2c
+if(BUILD_LLVM)
+    target_link_libraries(${target}-static
+        ${LLVM_LIBRARIES}
+        )
+endif(BUILD_LLVM)
+
+
+target_link_libraries (${target}-static
+    sundials_cvode
+    sundials_nvecserial
+    blas
+    lapack
+    nleq-static
+    rr-libstruct-static
+    PocoNet
+    PocoFoundation
+    )
+
+if(WIN32)
+    target_link_libraries (${target}-static
+        ${LIBSBML_STATIC_LIBRARY}
+        libf2c
+        ws2_32
+        iphlpapi
+        )
+    target_link_libraries(${target}-static ${LIBSBML_EXTRA_LIBS})
+endif(WIN32)
+
+
+if(UNIX)
+    target_link_libraries (${target}-static
+        ${LIBSBML_STATIC_LIBRARY}
+        f2c
+        xml2
+        dl
+        pthread
+        )
+    target_link_libraries(${target}-static ${LIBSBML_EXTRA_LIBS})
+endif(UNIX)
+
+#Libxml we can't build right now
+if(${BORLAND})
+    target_link_libraries (${target}-static libxml2_xe)
+endif()
+
+if(${MSVC})
+    target_link_libraries(${target}-static libxml2)
+endif()
+
+if(BUILD_TEST_TOOLS)
+    if(BUILD_LLVM)
+        add_subdirectory(llvm_testing)
+    endif(BUILD_LLVM)
+    add_subdirectory(testing)
+endif()
+
+#--- INSTALL STUFF
+if(${INSTALL_CXX_API})
+
+    #if(INSTALL_STATIC_LIB)
+    install(TARGETS ${target}-static
+        LIBRARY DESTINATION lib COMPONENT rr_core
+        ARCHIVE DESTINATION lib COMPONENT rr_core
+        )
+    #endif()
+
+#     set(install_headers
+#         rrRoadRunner.h)
+    set(subfolders
+          .
+          tr1proxy
+          )
+
+    foreach(subfolder ${subfolders})
+       FILE (GLOB headers ${subfolder}/*.h)
+       message(STATUS "*** headers *** ${headers}")
+       install (   FILES ${headers}
+           DESTINATION include/rr/${subfolder}
+           COMPONENT rr_core)
+    endforeach(subfolder)
+endif() #Install CXX API
diff --git a/source/CVODEIntegrator.cpp b/source/CVODEIntegrator.cpp
new file mode 100755
index 0000000..4570863
--- /dev/null
+++ b/source/CVODEIntegrator.cpp
@@ -0,0 +1,1045 @@
+#pragma hdrstop
+#include "CVODEIntegrator.h"
+#include "rrExecutableModel.h"
+#include "rrException.h"
+#include "rrLogger.h"
+#include "rrStringUtils.h"
+#include "rrException.h"
+#include "rrConfig.h"
+#include "rrUtils.h"
+
+#include <cvode/cvode.h>
+#include <cvode/cvode_dense.h>
+#include <nvector/nvector_serial.h>
+#include <cstring>
+#include <iomanip>
+#include <math.h>
+#include <map>
+#include <algorithm>
+#include <limits>
+#include <assert.h>
+#include <Poco/Logger.h>
+
+#define CVODE_INT_TYPECODE 0x7799ff00
+
+using namespace std;
+namespace rr
+{
+	const int CVODEIntegrator::mDefaultMaxNumSteps = 20000;
+	const int CVODEIntegrator::mDefaultMaxAdamsOrder = 12;
+	const int CVODEIntegrator::mDefaultMaxBDFOrder = 5;
+
+	int cvodeDyDtFcn(realtype t, N_Vector cv_y, N_Vector cv_ydot, void *userData);
+	int cvodeRootFcn(realtype t, N_Vector y, realtype *gout, void *userData);
+
+	// Sets the value of an element in a N_Vector object
+	inline void SetVector(N_Vector v, int Index, double Value)
+	{
+		double *data = NV_DATA_S(v);
+		data[Index] = Value;
+	}
+
+	inline double GetVector(N_Vector v, int Index)
+	{
+		double *data = NV_DATA_S(v);
+		return data[Index];
+	}
+
+	/**
+	* Purpose
+	* This function processes error and warning messages from CVODE and its
+	* sub-modules.
+	*
+	* Arguments:
+	* error_code: is the error code.
+	* module: is the name of the CVODE module reporting the error.
+	* function: is the name of the function in which the error occurred.
+	* msg: is the error message.
+	* eh_data: is a pointer to user data, the same as the eh_data parameter
+	* passed to CVodeSetErrHandlerFn.
+	* Return value: A CVErrHandlerFn function has no return value.
+	*
+	* Notes:
+	* error_code is negative for errors and positive (CV_WARNING) for warnings.
+	* If a function that returns a pointer to memory encounters an error,
+	* it sets error_code to 0.
+	*/
+	static void cvodeErrHandler(int error_code, const char *module, const char *function, char *msg, void *eh_data);
+
+	/**
+	* macro to throw a (hopefully) usefull error message
+	*/
+#define handleCVODEError(errCode) \
+	{ std::string _err_what = std::string("CVODE Error: ") + \
+	cvodeDecodeError(errCode); \
+	throw IntegratorException(_err_what, std::string(__FUNC__)); }
+
+	void CVODEIntegrator::setListener(IntegratorListenerPtr p)
+	{
+		listener = p;
+	}
+
+	IntegratorListenerPtr CVODEIntegrator::getListener()
+	{
+		return listener;
+	}
+
+    void CVODEIntegrator::checkType() const {
+        if (typecode_ != CVODE_INT_TYPECODE)
+            throw std::runtime_error("CVODEIntegrator::checkType failed, memory bug");
+    }
+
+    void CVODEIntegrator::resetSettings()
+    {
+        Solver::resetSettings();
+
+        // Set default integrator settings.
+        addSetting("relative_tolerance", 1e-6, "Relative Tolerance", "Specifies the scalar relative tolerance (double).", "(double) CVODE calculates a vector of error weights which is used in all error and convergence tests. The weighted RMS norm for the relative tolerance should not become smaller than this value.");
+        addSetting("absolute_tolerance", 1e-15, "Absolute Tolerance", "Specifies the scalar absolute tolerance (double).", "(double) CVODE calculates a vector of error weights which is used in all error and convergence tests. The weighted RMS norm for the absolute tolerance should not become smaller than this value.");
+        addSetting("stiff",              true, "Stiff", "Specifies whether the integrator attempts to solve stiff equations. (bool)", "(bool) Specifies whether the integrator attempts to solve stiff equations. Ensure the integrator can solver stiff differential equations by setting this value to true.");
+        addSetting("maximum_bdf_order",  mDefaultMaxBDFOrder, "Maximum BDF Order", "Specifies the maximum order for Backward Differentiation Formula integration. (int)", "(int) Specifies the maximum order for Backward Differentiation Formula integration. This integration method is used for stiff problems. Default value is 5.");
+        addSetting("maximum_adams_order",mDefaultMaxAdamsOrder, "Maximum Adams Order", "Specifies the maximum order for Adams-Moulton intergration. (int)", "(int) Specifies the maximum order for Adams-Moulton intergration. This integration method is used for non-stiff problems. Default value is 12.");
+        addSetting("maximum_num_steps",  mDefaultMaxNumSteps, "Maximum Number of Steps", "Specifies the maximum number of steps to be taken by the CVODE solver in its attempt to reach tout. (int)", "(int) Maximum number of steps to be taken by the CVODE solver in its attempt to reach tout.");
+        addSetting("maximum_time_step",  0.0, "Maximum Time Step", "Specifies the maximum absolute value of step size allowed. (double)", "(double) The maximum absolute value of step size allowed.");
+        addSetting("minimum_time_step",  0.0, "Minimum Time Step", "Specifies the minimum absolute value of step size allowed. (double)", "(double) The minimum absolute value of step size allowed.");
+        addSetting("initial_time_step",  0.0, "Initial Time Step", "Specifies the initial time step size. (double)", "(double) Specifies the initial time step size. If inappropriate, CVODE will attempt to estimate a better initial time step.");
+        addSetting("multiple_steps",     false, "Multiple Steps", "Perform a multiple time step simulation. (bool)", "(bool) Perform a multiple time step simulation.");
+        addSetting("variable_step_size", false, "Variable Step Size", "Perform a variable time step simulation. (bool)", "(bool) Enabling this setting will allow the integrator to adapt the size of each time step. This will result in a non-uniform time column.");
+        CVODEIntegrator::loadConfigSettings();
+    }
+
+
+	CVODEIntegrator::CVODEIntegrator(ExecutableModel *aModel)
+		:
+		mStateVector(NULL),
+		mCVODE_Memory(NULL),
+		lastEventTime(0),
+		mModel(aModel),
+		stateVectorVariables(false),
+		variableStepPendingEvent(false),
+		variableStepTimeEndEvent(false),
+		variableStepPostEventState(0),
+		typecode_(CVODE_INT_TYPECODE)
+	{
+		Log(Logger::LOG_INFORMATION) << "creating CVODEIntegrator";
+
+		resetSettings();
+
+		if (aModel)
+		{
+			createCVode();
+
+			// allocate space for the event status array
+			eventStatus = std::vector<unsigned char>(mModel->getEventTriggers(0, 0, 0), false);
+		}
+
+		// Update parameter settings within CVODE.
+		updateCVODE();
+	}
+
+	CVODEIntegrator::~CVODEIntegrator()
+	{
+		delete[] variableStepPostEventState;
+		freeCVode();
+	}
+
+    void CVODEIntegrator::syncWithModel(ExecutableModel* m)
+    {
+        freeCVode();
+
+        mModel = m;
+
+        lastEventTime = 0;
+        stateVectorVariables = false;
+        variableStepPendingEvent = false;
+        variableStepTimeEndEvent = false;
+        variableStepPostEventState = NULL;
+
+        if (m)
+        {
+            createCVode();
+
+            // allocate space for the event status array
+            eventStatus = std::vector<unsigned char>(mModel->getEventTriggers(0, 0, 0), false);
+        }
+
+        // Update parameter settings within CVODE.
+        updateCVODE();
+    }
+
+// 	void CVODEIntegrator::loadConfigSettings()
+// 	{
+// 		Integrator::loadConfigSettings();
+// 		// Load settings specific to CVODE integrator
+//
+// 		CVODEIntegrator::setValue("absolute_tolerance", Config::getDouble(Config::CVODE_MIN_ABSOLUTE));
+// 		CVODEIntegrator::setValue("relative_tolerance", Config::getDouble(Config::CVODE_MIN_RELATIVE));
+// 	}
+
+    void CVODEIntegrator::loadConfigSettings()
+    {
+        //  VARIABLE STEP SIZE
+        bool bVal = false;
+        if (getIntegrationMethod() == Integrator::Deterministic)
+        {
+            bVal = Config::getBool(Config::SIMULATEOPTIONS_DETERMINISTIC_VARIABLE_STEP);
+            Integrator::setValue("variable_step_size", bVal);
+        }
+        else if (getIntegrationMethod() == Integrator::Stochastic)
+        {
+            bVal = Config::getBool(Config::SIMULATEOPTIONS_STOCHASTIC_VARIABLE_STEP);
+            Integrator::setValue("variable_step_size", bVal);
+        }
+
+        // STIFFNESS
+        bVal = Config::getBool(Config::SIMULATEOPTIONS_STIFF);
+        Integrator::setValue("stiff", bVal);
+
+        // MULTIPLE STEPS
+        bVal = Config::getBool(Config::SIMULATEOPTIONS_MULTI_STEP);
+        Integrator::setValue("multiple_steps", bVal);
+
+        // ABSOLUTE TOLERANCE
+//         Integrator::setValue("absolute_tolerance", Config::getDouble(Config::SIMULATEOPTIONS_ABSOLUTE));
+//         Integrator::setValue("relative_tolerance", Config::getDouble(Config::SIMULATEOPTIONS_RELATIVE));
+
+        CVODEIntegrator::setValue("absolute_tolerance", Config::getDouble(Config::CVODE_MIN_ABSOLUTE));
+        CVODEIntegrator::setValue("relative_tolerance", Config::getDouble(Config::CVODE_MIN_RELATIVE));
+    }
+
+	void CVODEIntegrator::loadSBMLSettings(std::string const& filename)
+	{
+		if (!filename.size())
+		{
+			Log(Logger::LOG_ERROR) << "Empty file name for settings file";
+		}
+		else
+		{
+			map<string, string> options;
+			map<string, string>::iterator it;
+			//Read each line in the settings file
+			vector<string> lines = getLinesInFile(filename);
+			for (int i = 0; i < lines.size(); i++)
+			{
+				vector<string> line = splitString(lines[i], ":");
+				if (line.size() == 2)
+				{
+					options.insert(pair<string, string>(line[0], line[1]));
+				}
+				else
+				{
+					Log(lDebug2) << "Empty line in settings file: " << lines[i];
+				}
+			}
+
+			Log(lDebug3) << "Settings File =============";
+			for (it = options.begin(); it != options.end(); it++)
+			{
+				Log(lDebug) << (*it).first << " => " << (*it).second;
+			}
+			Log(lDebug) << "===========================";
+
+			//Assign values
+			it = options.find("absolute");
+			if (it != options.end())
+			{
+				CVODEIntegrator::setValue("absolute_tolerance", std::abs(toDouble((*it).second)));
+			}
+
+			it = options.find("relative");
+			if (it != options.end())
+			{
+				CVODEIntegrator::setValue("relative_tolerance", std::abs(toDouble((*it).second)));
+			}
+		}
+	}
+
+	std::string CVODEIntegrator::getName() const {
+        return CVODEIntegrator::getCVODEIntegratorName();
+	}
+
+	std::string CVODEIntegrator::getCVODEIntegratorName() {
+        return "cvode";
+	}
+
+	std::string CVODEIntegrator::getDescription() const {
+        return CVODEIntegrator::getCVODEIntegratorDescription();
+	}
+
+	std::string CVODEIntegrator::getCVODEIntegratorDescription() {
+        return "CVODE is a deterministic ODE solver from the SUNDIALS suite "
+            "of timecourse integrators. It implements an Adams-Moulton solver "
+            "for non-stiff problems and a backward differentiation formula "
+            "(BDF) solver for stiff problems.";
+	}
+
+	std::string CVODEIntegrator::getHint() const {
+        return CVODEIntegrator::getCVODEIntegratorHint();
+	}
+
+	std::string CVODEIntegrator::getCVODEIntegratorHint() {
+        return "Deterministic ODE solver";
+	}
+
+	Integrator::IntegrationMethod CVODEIntegrator::getIntegrationMethod() const
+	{
+		return Integrator::Deterministic;
+	}
+
+	void CVODEIntegrator::setValue(string key, const Variant& val)
+	{
+		Integrator::setValue(key, val);
+
+		/// Values and keys are stored in the settings map, which is updated
+		/// in every call to @ref setValue. In addition, changing CVODE-specific
+		/// parameters requires a call into the CVODE library to synchronize
+		/// CVODE's internal memory with the settings map.
+        if (mCVODE_Memory) {
+            if (key == "maximum_bdf_order")
+            {
+                CVodeSetMaxOrd(mCVODE_Memory, getValueAsInt("maximum_bdf_order"));
+            }
+            else if (key == "maximum_adams_order")
+            {
+                CVodeSetMaxOrd(mCVODE_Memory, getValueAsInt("maximum_adams_order"));
+            }
+            else if (key == "initial_time_step")
+            {
+                CVodeSetInitStep(mCVODE_Memory, getValueAsDouble("initial_time_step"));
+            }
+            else if (key == "minimum_time_step")
+            {
+                CVodeSetMinStep(mCVODE_Memory, getValueAsDouble("minimum_time_step"));
+            }
+            else if (key == "maximum_time_step")
+            {
+                CVodeSetMaxStep(mCVODE_Memory, getValueAsDouble("maximum_time_step"));
+            }
+            else if (key == "maximum_num_steps")
+            {
+                CVodeSetMaxNumSteps(mCVODE_Memory, getValueAsInt("maximum_num_steps"));
+            }
+            else if (key == "absolute_tolerance" || key == "relative_tolerance")
+            {
+                CVodeSetMaxNumSteps(mCVODE_Memory, getValueAsInt("maximum_num_steps")); // FIXME: is this intentional?
+                setCVODETolerances();
+            }
+        }
+		if (key == "stiff")
+		{
+			// If the integrator is changed from stiff to standard, we must re-create CVode.
+			Log(Logger::LOG_INFORMATION) << "Integrator stiffness has been changed. Re-creating CVode.";
+			freeCVode();
+			createCVode();
+		}
+	}
+
+	void CVODEIntegrator::updateCVODE()
+	{
+		if (mCVODE_Memory == NULL)
+		{
+			return;
+		}
+
+		CVodeSetInitStep(mCVODE_Memory, getValueAsDouble("initial_time_step"));
+		CVodeSetMinStep(mCVODE_Memory, getValueAsDouble("minimum_time_step"));
+		CVodeSetMaxStep(mCVODE_Memory, getValueAsDouble("maximum_time_step"));
+		CVodeSetMaxNumSteps(mCVODE_Memory, getValueAsInt("maximum_num_steps") > 0 ? getValueAsInt("maximum_num_steps") : mDefaultMaxNumSteps);
+		if (getValueAsBool("stiff"))
+            CVodeSetMaxOrd(mCVODE_Memory, getValueAsInt("maximum_bdf_order"));
+        else
+            CVodeSetMaxOrd(mCVODE_Memory, getValueAsInt("maximum_adams_order"));
+		setCVODETolerances();
+	}
+
+	void CVODEIntegrator::reInit(double t0)
+	{
+		// if we have no state vector variables and no events, we never
+		// created an integrator.
+		if (mCVODE_Memory == 0)
+		{
+			return;
+		}
+
+		int result = CVodeReInit(mCVODE_Memory, t0, mStateVector);
+
+		if (result != CV_SUCCESS)
+		{
+			handleCVODEError(result);
+		}
+
+		setCVODETolerances();
+	}
+
+	double CVODEIntegrator::integrate(double timeStart, double hstep)
+	{
+		static const double epsilon = std::numeric_limits<double>::epsilon();
+		// CVODE root tolerance, used for backing up when an event fires (see CVODE User Doc pp. 13)
+		static const double roottol = 100.*(32.*epsilon) * ( fabs(timeStart) + fabs(hstep) );
+
+		Log(Logger::LOG_DEBUG) << "CVODEIntegrator::integrate("
+				<< timeStart <<", " << hstep << ")";
+
+		if(variableStepPendingEvent || variableStepTimeEndEvent) {
+			return applyVariableStepPendingEvents() + roottol;
+		}
+
+		double timeEnd = 0.0;
+		double tout = timeStart + hstep;
+		int strikes = 3;
+
+		// Set itask based on step size settings.
+		int itask = CV_NORMAL;
+		bool varstep = getValueAsBool("variable_step_size");
+		double relTol = getValueAsDouble("relative_tolerance");
+
+		if (getValueAsBool("multiple_steps") || getValueAsBool("variable_step_size"))
+		{
+			itask = CV_ONE_STEP;
+		}
+
+
+		// TODO: CONFIRM THIS WITH HERBERT, BUT I THINK THAT THIS WAS SET UP INCORRECTLY.
+		/*
+		const int itask = ((options.integratorFlags & MULTI_STEP)
+		|| (options.integratorFlags & VARIABLE_STEP))
+		? CV_ONE_STEP : CV_NORMAL;*/
+
+		// loop until machine epislon
+		while (tout - timeEnd >= epsilon)
+		{
+			// here we bail in case we have no ODEs set up with CVODE ... though we should
+			// still at least evaluate the model function
+			if (!haveVariables() && mModel->getNumEvents() == 0)
+			{
+				mModel->getStateVectorRate(tout, 0, 0);
+				return tout;
+			}
+
+			double nextTargetEndTime = tout;
+
+			if (mModel->getPendingEventSize() > 0 &&
+					mModel->getNextPendingEventTime(false) < nextTargetEndTime)
+			{
+				nextTargetEndTime = mModel->getNextPendingEventTime(true);
+			}
+
+			// event status before time step
+			mModel->getEventTriggers(eventStatus.size(), 0, eventStatus.size() == 0 ? NULL : &eventStatus[0]);
+
+			// time step
+			int nResult = CVode(mCVODE_Memory, nextTargetEndTime,  mStateVector, &timeEnd, itask);
+
+			if (nResult == CV_ROOT_RETURN)
+			{
+				Log(Logger::LOG_DEBUG) << "Event detected at time " << timeEnd;
+
+				bool tooCloseToStart = fabs(timeEnd - lastEventTime) > relTol;
+
+				if(tooCloseToStart)
+				{
+					strikes =  3;
+				}
+				else
+				{
+					strikes--;
+				}
+
+				// the condition that we are to evaluate and apply events
+				if (tooCloseToStart || strikes > 0)
+				{
+					lastEventTime = timeEnd;
+
+					if(varstep
+							&& (timeEnd - timeStart > 2. * epsilon)) {
+						variableStepPendingEvent = true;
+						assignResultsToModel();
+						mModel->setTime(timeEnd - epsilon);
+						if (listener) {
+							listener->onTimeStep(this, mModel, timeEnd);
+						}
+						return timeEnd - roottol;
+					}
+
+					// apply events, copy post event status into integrator state vector.
+					applyEvents(timeEnd, eventStatus);
+
+					if (listener)
+					{
+						listener->onEvent(this, mModel, timeEnd);
+					}
+				}
+			}
+			else if (nResult == CV_SUCCESS)
+			{
+				// copy integrator state vector into model
+				assignResultsToModel();
+
+
+				// need to check if an event occured at the exact time step,
+				// if so, add an extra point if we're doing variable step
+				if(varstep
+						&& (timeEnd - timeStart > 2. * epsilon)) {
+					// event status before time step
+					mModel->getEventTriggers(eventStatus.size(), 0, &eventStatus[0]);
+					// apply events and write state to variableStepPostEventState
+					// model state is updated by events.
+					int handled = mModel->applyEvents(timeEnd, &eventStatus[0],
+							NULL, variableStepPostEventState);
+					if(handled > 0) {
+						// write original state back to model
+						mModel->setTime(timeEnd - epsilon);
+						assignResultsToModel();
+						variableStepTimeEndEvent = true;
+						lastEventTime = timeEnd;
+						return timeEnd - epsilon;
+					}
+				} else {
+
+
+				mModel->setTime(timeEnd);
+
+				// only needs to be called after a reg time step completes, the applyEvents
+				// called when a event root is found clears out all pending events and applies
+				// them.
+				applyPendingEvents(timeEnd);
+				}
+
+				if (listener)
+				{
+					listener->onTimeStep(this, mModel, timeEnd);
+				}
+			}
+			else
+			{
+				handleCVODEError(nResult);
+			}
+
+			try
+			{
+				mModel->testConstraints();
+			}
+			catch (const std::exception& e)
+			{
+				Log(Logger::LOG_WARNING) << "Constraint Violated at time = " << timeEnd << ": " << e.what();
+			}
+
+			if (varstep && (timeEnd - timeStart > 2. * epsilon))
+			{
+				return timeEnd;
+			}
+
+
+			if (tout - timeEnd > epsilon)
+			{
+				timeStart = timeEnd;
+			}
+			Log(Logger::LOG_TRACE) << "time step, tout: " << tout << ", timeEnd: " << timeEnd;
+		}
+		return timeEnd;
+	}
+
+	void CVODEIntegrator::tweakTolerances()
+	{
+		double minAbs = Config::getDouble(Config::CVODE_MIN_ABSOLUTE);
+		double minRel = Config::getDouble(Config::CVODE_MIN_RELATIVE);
+
+		CVODEIntegrator::setValue("absolute_tolerance", std::min(CVODEIntegrator::getValueAsDouble("absolute_tolerance"), minAbs));
+		CVODEIntegrator::setValue("relative_tolerance", std::min(CVODEIntegrator::getValueAsDouble("relative_tolerance"), minRel));
+
+		Log(Logger::LOG_INFORMATION) << "tweaking CVODE tolerances to abs=" << CVODEIntegrator::getValueAsDouble("absolute_tolerance") << ", rel=" << CVODEIntegrator::getValueAsDouble("relative_tolerance");
+	}
+
+	bool CVODEIntegrator::haveVariables()
+	{
+		return stateVectorVariables;
+	}
+
+	void CVODEIntegrator::createCVode()
+	{
+		if (!mModel)
+		{
+			return;
+		}
+
+		assert(mStateVector == 0 && mCVODE_Memory == 0 &&
+			"calling cvodeCreate, but cvode objects already exist");
+
+		// still need cvode state vector size if we have no vars, but have
+		// events, needed so root finder works.
+		int allocStateVectorSize = 0;
+		int realStateVectorSize = mModel->getStateVector(0);
+
+		// cvode return code
+		int err;
+
+		if (realStateVectorSize > 0)
+		{
+			stateVectorVariables = true;
+			allocStateVectorSize = realStateVectorSize;
+		}
+		else if (mModel->getNumEvents() > 0)
+		{
+			allocStateVectorSize = 1;
+			stateVectorVariables = false;
+		}
+		else
+		{
+			stateVectorVariables = false;
+			return;
+		}
+
+		// allocate and init the cvode arrays
+		mStateVector = N_VNew_Serial(allocStateVectorSize);
+		variableStepPostEventState = new double[allocStateVectorSize];
+
+		for (int i = 0; i < allocStateVectorSize; i++)
+		{
+			SetVector(mStateVector, i, 0.);
+		}
+
+		if (getValueAsBool("stiff"))
+		{
+			Log(Logger::LOG_INFORMATION) << "using stiff integrator";
+			mCVODE_Memory = (void*)CVodeCreate(CV_BDF, CV_NEWTON);
+		}
+		else
+		{
+			Log(Logger::LOG_INFORMATION) << "using non-stiff integrator";
+			mCVODE_Memory = (void*)CVodeCreate(CV_ADAMS, CV_FUNCTIONAL);
+		}
+
+		assert(mCVODE_Memory && "could not create Cvode, CVodeCreate failed");
+
+		if ((err = CVodeSetErrHandlerFn(mCVODE_Memory, cvodeErrHandler, this)) != CV_SUCCESS)
+		{
+			handleCVODEError(err);
+		}
+
+		// use non default CVODE value here, default is too short
+		// for some sbml tests.
+		CVodeSetMaxNumSteps(mCVODE_Memory, mDefaultMaxNumSteps);
+
+		double t0 = 0.0;
+
+		if ((err = CVodeSetUserData(mCVODE_Memory, (void*) this)) != CV_SUCCESS)
+		{
+			handleCVODEError(err);
+		}
+
+		if ((err = CVodeInit(mCVODE_Memory, cvodeDyDtFcn, t0, mStateVector)) != CV_SUCCESS)
+		{
+			handleCVODEError(err);
+		}
+
+		if (mModel->getNumEvents() > 0)
+		{
+			if ((err = CVodeRootInit(mCVODE_Memory, mModel->getNumEvents(),
+				cvodeRootFcn)) != CV_SUCCESS)
+			{
+				handleCVODEError(err);
+			}
+			Log(Logger::LOG_TRACE) << "CVRootInit executed.....";
+		}
+
+		// only allocate this if we are using stiff solver.
+		// otherwise, CVode will NOT free it if using standard solver.
+		if (getValueAsBool("stiff"))
+		{
+			if ((err = CVDense(mCVODE_Memory, allocStateVectorSize)) != CV_SUCCESS)
+			{
+				handleCVODEError(err);
+			}
+		}
+
+		setCVODETolerances();
+		mModel->resetEvents();
+	}
+
+	void CVODEIntegrator::testRootsAtInitialTime()
+	{
+		vector<unsigned char> initialEventStatus(mModel->getEventTriggers(0, 0, 0), false);
+		mModel->getEventTriggers(initialEventStatus.size(), 0, initialEventStatus.size() == 0 ? NULL : &initialEventStatus[0]);
+		applyEvents(0, initialEventStatus);
+	}
+
+	void CVODEIntegrator::applyEvents(double timeEnd, vector<unsigned char> &previousEventStatus)
+	{
+		double *stateVector = mStateVector ? NV_DATA_S(mStateVector) : 0;
+		mModel->applyEvents(timeEnd, previousEventStatus.size() == 0 ? NULL : &previousEventStatus[0], stateVector, stateVector);
+
+		if (timeEnd > 0.0) {
+			mModel->setTime(timeEnd);
+
+			// copy state vector into cvode memory
+			if (mStateVector)
+			{
+				mModel->getStateVector(NV_DATA_S(mStateVector));
+			}
+
+			// set tolerances and so forth.
+			reInit(timeEnd);
+		}
+	}
+
+
+	void CVODEIntegrator::applyPendingEvents(double timeEnd)
+	{
+		if (mModel) {
+			// get current event triggered state
+			mModel->getEventTriggers(eventStatus.size(), 0, eventStatus.size() == 0 ? NULL : &eventStatus[0]);
+			int handled = mModel->applyEvents(timeEnd, eventStatus.size() == 0 ? NULL : &eventStatus[0], NULL, NULL);
+			if (handled > 0)
+			{
+				Log(Logger::LOG_DEBUG) << __FUNC__;
+				restart(timeEnd);
+			}
+		}
+	}
+
+	void CVODEIntegrator::assignResultsToModel()
+	{
+		if (mStateVector)
+		{
+			mModel->setStateVector(NV_DATA_S(mStateVector));
+		}
+	}
+
+	void CVODEIntegrator::setCVODETolerances()
+	{
+		if (mStateVector == 0 || mModel == 0)
+		{
+			return;
+		}
+
+		// If we have a model with only events, cvode still needs a state vector of length 1 to integrate.
+		if (!haveVariables() && mModel->getNumEvents() > 0)
+		{
+			SetVector(mStateVector, 0, 1.0);
+		}
+
+		int err = CVodeSStolerances(mCVODE_Memory, getValueAsDouble("relative_tolerance"), getValueAsDouble("absolute_tolerance"));
+		if (err != CV_SUCCESS)
+		{
+			handleCVODEError(err);
+		}
+
+		Log(Logger::LOG_INFORMATION) << "Set tolerance to abs: " << setprecision(16)
+			<< getValueAsDouble("absolute_tolerance") << ", rel: " << getValueAsDouble("relative_tolerance");
+	}
+
+	void CVODEIntegrator::restart(double time)
+	{
+		if (!mModel) {
+			return;
+		}
+
+		// apply any events that trigger before or at time 0.
+		// important NOT to set model time before we check get
+		// the initial event state, initially time is < 0.
+		if (time <= 0.0) {
+
+			// copy state vector into cvode memory, need to do this before evaluating
+			// roots because the applyEvents method copies the cvode state vector
+			// into the model
+			if (mStateVector)
+			{
+				mModel->getStateVector(NV_DATA_S(mStateVector));
+			}
+
+			testRootsAtInitialTime();
+		}
+
+		mModel->setTime(time);
+
+		// copy state vector into cvode memory
+		if (mStateVector && mCVODE_Memory)
+		{
+			mModel->getStateVector(NV_DATA_S(mStateVector));
+		}
+
+		// set tolerances and so forth.
+		if (mCVODE_Memory)
+		{
+			reInit(time);
+			// FIXME: Passing setting to CVODE? -JKM
+		}
+	}
+
+	// Cvode calls this to compute the dy/dts. This routine in turn calls the
+	// model function which is located in the host application.
+	int cvodeDyDtFcn(realtype time, N_Vector cv_y, N_Vector cv_ydot, void *userData)
+	{
+		double* y = NV_DATA_S(cv_y);
+		double* ydot = NV_DATA_S(cv_ydot);
+		CVODEIntegrator* cvInstance = (CVODEIntegrator*)userData;
+
+		assert(cvInstance && "userData pointer is NULL in cvode dydt callback");
+
+		ExecutableModel *model = cvInstance->mModel;
+
+		model->getStateVectorRate(time, y, ydot);
+
+		if (!cvInstance->stateVectorVariables && cvInstance->mStateVector &&
+			NV_LENGTH_S(cvInstance->mStateVector) == 1)
+		{
+			ydot[0] = 0.0;
+		}
+
+		Log(Logger::LOG_TRACE) << __FUNC__ << ", model: " << model;
+
+		return CV_SUCCESS;
+	}
+
+	void CVODEIntegrator::freeCVode()
+	{
+		// cvode does not check for null values.
+		if (mCVODE_Memory)
+		{
+			CVodeFree(&mCVODE_Memory);
+		}
+
+		if (mStateVector)
+		{
+			N_VDestroy_Serial(mStateVector);
+		}
+
+		mCVODE_Memory = 0;
+		mStateVector = 0;
+	}
+
+	double CVODEIntegrator::applyVariableStepPendingEvents()
+	{
+		if (variableStepTimeEndEvent) {
+			// post event state allready calcuated.
+			mModel->setStateVector(variableStepPostEventState);
+			// copy state vector into cvode memory
+			if (mStateVector)
+			{
+				mModel->getStateVector(NV_DATA_S(mStateVector));
+			}
+			mModel->setTime(lastEventTime);
+			reInit(lastEventTime);
+		}
+		else {
+			// apply events, copy post event status into integrator state vector.
+			applyEvents(lastEventTime, eventStatus);
+		}
+
+		if (listener) {
+			listener->onEvent(this, mModel, lastEventTime);
+		}
+
+		variableStepPendingEvent = false;
+		variableStepTimeEndEvent = false;
+		return lastEventTime;
+	}
+
+	// int (*CVRootFn)(realtype t, N_Vector y, realtype *gout, void *user_data)
+	// Cvode calls this to check for event changes
+	int cvodeRootFcn(realtype time, N_Vector y_vector, realtype *gout, void *user_data)
+	{
+		CVODEIntegrator* cvInstance = (CVODEIntegrator*)user_data;
+
+		assert(cvInstance && "user data pointer is NULL on CVODE root callback");
+
+		ExecutableModel *model = cvInstance->mModel;
+
+		double* y = NV_DATA_S(y_vector);
+
+		model->getEventRoots(time, y, gout);
+
+		return CV_SUCCESS;
+	}
+
+	std::string CVODEIntegrator::cvodeDecodeError(int cvodeError, bool exInfo)
+	{
+		std::string result;
+		std::stringstream ss;
+		ss << getValueAsInt("maximum_num_steps");
+		std::string max_steps = ss.str();
+
+		switch (cvodeError)
+		{
+		case CV_TOO_MUCH_WORK:
+			result = "CV_TOO_MUCH_WORK";
+			if (exInfo)
+			{
+				result += ": The solver took mxstep (" + max_steps + ") internal steps but " +
+					"could not reach tout.";
+			}
+			break;
+		case CV_TOO_MUCH_ACC:
+			result = "CV_TOO_MUCH_ACC";
+			if (exInfo)
+			{
+				result += ": The solver could not satisfy the accuracy "
+					"demanded by the user for some internal step.";
+			}
+			break;
+		case CV_ERR_FAILURE:
+			result = "CV_ERR_FAILURE";
+			if (exInfo)
+			{
+				result += ": Error test failures occurred too many times "
+					"(= MXNEF = 7) during one internal time step or"
+					"occurred with |h| = hmin.";
+			}
+			break;
+		case CV_CONV_FAILURE:
+			result = "CV_CONV_FAILURE";
+			if (exInfo)
+			{
+				result += ": Convergence test failures occurred too many "
+					"times (= MXNCF = 10) during one internal time"
+					"step or occurred with |h| = hmin.";
+			}
+			break;
+		case CV_LINIT_FAIL:
+			result = "CV_LINIT_FAIL";
+			if (exInfo)
+			{
+				result += ": The linear solver's initialization function "
+					"failed.";
+			}
+			break;
+		case CV_LSETUP_FAIL:
+			result = "CV_LSETUP_FAIL";
+			if (exInfo)
+			{
+				result += ": The linear solver's setup routine failed in an "
+					"unrecoverable manner.";
+			}
+			break;
+		case CV_LSOLVE_FAIL:
+			result = "CV_LSOLVE_FAIL";
+			if (exInfo)
+			{
+				result += ": The linear solver's solve routine failed in an "
+					"unrecoverable manner.";
+			}
+			break;
+		case CV_RHSFUNC_FAIL:
+			result = "CV_RHSFUNC_FAIL";
+			break;
+		case CV_FIRST_RHSFUNC_ERR:
+			result = "CV_FIRST_RHSFUNC_ERR";
+			break;
+		case CV_REPTD_RHSFUNC_ERR:
+			result = "CV_REPTD_RHSFUNC_ERR";
+			break;
+		case CV_UNREC_RHSFUNC_ERR:
+			result = "CV_UNREC_RHSFUNC_ERR";
+			break;
+		case CV_RTFUNC_FAIL:
+			result = "CV_RTFUNC_FAIL";
+			break;
+		case CV_MEM_FAIL:
+			result = "CV_MEM_FAIL";
+			break;
+		case CV_MEM_NULL:
+			result = "CV_MEM_NULL";
+			if (exInfo)
+			{
+				result += ": The cvode_mem argument was NULL.";
+			}
+			break;
+		case CV_ILL_INPUT:
+			result = "CV_ILL_INPUT";
+			if (exInfo)
+			{
+				result += ": One of the inputs to CVode is illegal. This "
+					"includes the situation when a component of the "
+					"error weight vectors becomes < 0 during "
+					"internal time-stepping.  It also includes the "
+					"situation where a root of one of the root "
+					"functions was found both at t0 and very near t0. "
+					"The ILL_INPUT flag will also be returned if the "
+					"linear solver routine CV--- (called by the user "
+					"after calling CVodeCreate) failed to set one of "
+					"the linear solver-related fields in cvode_mem or "
+					"if the linear solver's init routine failed. In "
+					"any case, the user should see the printed "
+					"error message for more details.";
+			}
+			break;
+		case CV_NO_MALLOC:
+			result = "CV_NO_MALLOC";
+			if (exInfo)
+			{
+				result += ": indicating that cvode_mem has not been "
+					"allocated (i.e., CVodeInit has not been "
+					"called).";
+			}
+			break;
+		case CV_BAD_K:
+			result = "CV_BAD_K";
+			if (exInfo)
+			{
+				result += ": k is not in the range 0, 1, ..., qu.";
+			}
+			break;
+		case CV_BAD_T:
+			result = "CV_BAD_T";
+			if (exInfo)
+			{
+				result += ": t is not in the interval [tn-hu,tn].";
+			}
+			break;
+		case CV_BAD_DKY:
+			result = "CV_BAD_DKY";
+			if (exInfo)
+			{
+				result += ": The dky argument was NULL.";
+			}
+			break;
+		case CV_TOO_CLOSE:
+			result = "CV_TOO_CLOSE:";
+			break;
+		default:
+			result = "UNKNOWN_CODE";
+			break;
+		}
+		return result;
+	}
+
+
+	/**
+	* Purpose
+	* This function processes error and warning messages from CVODE and its
+	* sub-modules.
+	*
+	* Arguments:
+	* error_code: is the error code.
+	* module: is the name of the CVODE module reporting the error.
+	* function: is the name of the function in which the error occurred.
+	* msg: is the error message.
+	* eh_data: is a pointer to user data, the same as the eh_data parameter
+	* passed to CVodeSetErrHandlerFn.
+	* Return value: A CVErrHandlerFn function has no return value.
+	*
+	* Notes:
+	* error_code is negative for errors and positive (CV_WARNING) for warnings.
+	* If a function that returns a pointer to memory encounters an error,
+	* it sets error_code to 0.
+	*/
+	void cvodeErrHandler(int error_code, const char *module, const char *function,
+		char *msg, void *eh_data)
+	{
+        CVODEIntegrator* i = (CVODEIntegrator*)eh_data;
+        i->checkType();
+
+		if (error_code < 0) {
+			Log(Logger::LOG_ERROR) << "CVODE Error: " << i->cvodeDecodeError(error_code, false)
+				<< ", Module: " << module << ", Function: " << function
+				<< ", Message: " << msg;
+
+		}
+		else if (error_code == CV_WARNING) {
+			Log(Logger::LOG_WARNING) << "CVODE Warning: "
+				<< ", Module: " << module << ", Function: " << function
+				<< ", Message: " << msg;
+		}
+	}
+
+}
diff --git a/source/CVODEIntegrator.h b/source/CVODEIntegrator.h
new file mode 100644
index 0000000..a4fbbb7
--- /dev/null
+++ b/source/CVODEIntegrator.h
@@ -0,0 +1,285 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file CVODEIntegrator.h
+* @author WBC, ETS, MTK, JKM
+* @copyright Apache License, Version 2.0
+* @brief Contains the RoadRunner CVODE integrator interface
+**/
+
+#ifndef rrCvodeInterfaceH
+#define rrCvodeInterfaceH
+
+// == INCLUDES ================================================
+
+#include "Integrator.h"
+#include "rrRoadRunnerOptions.h"
+
+#include <string>
+#include <vector>
+
+// == CODE ====================================================
+
+/**
+* CVode vector struct
+*/
+typedef struct _generic_N_Vector *N_Vector;
+
+namespace rr
+{
+    using std::string;
+
+    class ExecutableModel;
+    class RoadRunner;
+
+    /**
+     * @author WBC, ETS, MTK
+     * @brief A RoadRunner integrator based on CVODE; serves as RoadRunner's main integrator for ODEs
+     * @details Provides a wrapper around CVODE from the SUNDIALS suite.
+     * CVODE has two main solvers: an Adams-Moulton solver for non-stiff problems,
+     * and a backward differentiation formula (BDF) solver for stiff problems.
+     * See: https://computation.llnl.gov/casc/sundials/documentation/toms_sundials.pdf
+     */
+    class CVODEIntegrator : public Integrator
+    {
+
+    public:
+        /**
+         * @author WBC, ETS, MTK
+         * @brief Constructor: takes an executable model, does not own the pointer
+         */
+        CVODEIntegrator(ExecutableModel* oModel);
+
+        /**
+         * @author WBC, ETS, MTK
+         * @brief Destructor
+         */
+        virtual ~CVODEIntegrator();
+
+        /**
+        * @author JKM
+        * @brief Called whenever a new model is loaded to allow integrator
+        * to reset internal state
+        */
+        virtual void syncWithModel(ExecutableModel* m);
+
+        // ** Loading Settings *************************************************
+
+        void loadConfigSettings();
+
+        /**
+         * @author WBC
+         * @brief Load an SBML settings file and apply the configuration options
+         * @note Can assign relative and absolute tolerances
+         */
+        void loadSBMLSettings(const std::string& filename);
+
+        // ** Meta Info ********************************************************
+
+        /**
+         * @author WBC
+         * @brief Get the name for this integrator
+         * @note Delegates to @ref getName
+         */
+        std::string getName() const;
+
+        /**
+         * @author JKM
+         * @brief Get the name for this integrator
+         */
+        static std::string getCVODEIntegratorName();
+
+        /**
+         * @author WBC
+         * @brief Get the description for this integrator
+         * @note Delegates to @ref getDescription
+         */
+        std::string getDescription() const;
+
+        /**
+         * @author JKM
+         * @brief Get the description for this integrator
+         */
+        static std::string getCVODEIntegratorDescription();
+
+        /**
+         * @author WBC
+         * @brief Get the hint for this integrator
+         * @note Delegates to @ref getHint
+         */
+        std::string getHint() const;
+
+        /**
+         * @author JKM
+         * @brief Get the hint for this integrator
+         */
+        static std::string getCVODEIntegratorHint();
+
+        // ** Getters / Setters ************************************************
+
+        /**
+         * @author WBC, ETS, MTK
+         * @brief Always deterministic for CVODE
+         */
+        IntegrationMethod getIntegrationMethod() const;
+
+        /**
+         * @author WBC, ETS, MTK
+         * @brief Sets the value of an integrator setting (e.g. absolute_tolerance)
+         */
+        void setValue(std::string setting, const Variant& value);
+
+        /**
+        * @author JKM
+        * @brief Reset all integrator settings to their respective default values
+        */
+        void resetSettings();
+
+        /**
+         * @author JKM, WBC, ETS, MTK
+         * @brief Fix tolerances for SBML tests
+         * @details In order to ensure that the results of the SBML test suite
+         * remain valid, this method enforces a lower bound on tolerance values.
+         * Sets minimum absolute and relative tolerances to
+         * Config::CVODE_MIN_ABSOLUTE and Config::CVODE_MIN_RELATIVE resp.
+         */
+        void tweakTolerances();
+
+        // ** Integration Routines *********************************************
+
+        /**
+         * @author WBC, ETS, MTK
+         * @brief Main integration routine
+         */
+        double integrate(double t0, double tf);
+
+        /**
+         * @author WBC, ETS, MTK
+         * @brief Reset time to zero and reinitialize model
+         * @details Applies events which occur before time zero.
+         * Reinitializes CVODE and the executable model.
+         */
+        void restart(double timeStart);
+
+        // ** Listeners ********************************************************
+
+        /**
+         * @author WBC, ETS
+         * @brief Gets the integrator listener
+         */
+        IntegratorListenerPtr getListener();
+
+        /**
+         * @author WBC, ETS
+         * @brief Sets the integrator listener
+         */
+        void setListener(IntegratorListenerPtr);
+
+        /**
+         * @author JKM
+         * @brief Does a RT type check which throws if it fails, EVEN IF RTTI IS DISABLED
+         */
+        void checkType() const;
+
+        /**
+         * @brief decode the cvode error code to a string
+         */
+        std::string cvodeDecodeError(int cvodeError, bool exInfo = true);
+
+    private:
+        static const int mDefaultMaxNumSteps;
+        static const int mDefaultMaxAdamsOrder;
+        static const int mDefaultMaxBDFOrder;
+
+        void* mCVODE_Memory;
+        N_Vector mStateVector;
+        ExecutableModel* mModel;
+
+        IntegratorListenerPtr listener;
+        double lastEventTime;
+        bool variableStepPendingEvent;
+        bool variableStepTimeEndEvent;
+        double *variableStepPostEventState;
+        std::vector<unsigned char> eventStatus;
+
+        void testRootsAtInitialTime();
+        bool haveVariables();
+        void assignResultsToModel();
+        /**
+         * @author WBC, ETS, JKM
+         * @brief Propagates changes in the "absolute_tolerance" and
+         * "relative_tolerance" settings to the CVODE library.
+         */
+        void setCVODETolerances();
+        void reInit(double t0);
+
+        /**
+         * @author WBC, ETS, JKM
+         * @brief Propagates changes in the following settings to CVODE:\n
+         * *  initial_time_step \n
+         * *  minimum_time_step \n
+         * *  maximum_time_step \n
+         * *  maximum_num_steps \n
+         * *  absolute_tolerance (via @ref setCVODETolerances) \n
+         * *  relative_tolerance (via @ref setCVODETolerances) \n
+         */
+        void updateCVODE();
+        void applyPendingEvents(double timeEnd);
+        void applyEvents(double timeEnd, std::vector<unsigned char> &previousEventStatus);
+        double applyVariableStepPendingEvents();
+
+        void createCVode();
+        void freeCVode();
+        bool stateVectorVariables;
+
+
+        friend int cvodeDyDtFcn(double t, N_Vector cv_y, N_Vector cv_ydot, void *f_data);
+        friend int cvodeRootFcn(double t, N_Vector y, double *gout, void *g_data);
+
+        unsigned long typecode_;
+    };
+
+
+    // ** Registration *********************************************************
+
+
+    class CVODEIntegratorRegistrar : public IntegratorRegistrar {
+        public:
+            /**
+            * @author JKM
+            * @brief Gets the name associated with this integrator type
+            */
+            virtual std::string getName() const {
+                return CVODEIntegrator::getCVODEIntegratorName();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the description associated with this integrator type
+            */
+            virtual std::string getDescription() const {
+                return CVODEIntegrator::getCVODEIntegratorDescription();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the hint associated with this integrator type
+            */
+            virtual std::string getHint() const {
+                return CVODEIntegrator::getCVODEIntegratorHint();
+            }
+
+            /**
+            * @author JKM
+            * @brief Constructs a new integrator of a given type
+            */
+            virtual Integrator* construct(ExecutableModel *model) const {
+                return new CVODEIntegrator(model);
+            }
+    };
+}
+
+#endif
diff --git a/source/Dictionary.cpp b/source/Dictionary.cpp
new file mode 100644
index 0000000..3862adf
--- /dev/null
+++ b/source/Dictionary.cpp
@@ -0,0 +1,53 @@
+/*
+ * Dictionary.cpp
+ *
+ *  Created on: Nov 28, 2014
+ *      Author: andy
+ */
+#include "Dictionary.h"
+#include <stdexcept>
+
+namespace rr {
+
+void BasicDictionary::setItem(const std::string& key,
+        const rr::Variant& value)
+{
+    items[key] = value;
+}
+
+Variant BasicDictionary::getItem(const std::string& key) const
+{
+    VariantMap::const_iterator i = items.find(key);
+
+    if (i != items.end()) {
+        return i->second;
+    }
+    throw std::invalid_argument("invalid key: " + key);
+}
+
+bool BasicDictionary::hasKey(const std::string& key) const
+{
+    return items.find(key) != items.end();
+}
+
+int  BasicDictionary::deleteItem(const std::string& key)
+{
+    return items.erase(key);
+}
+
+std::vector<std::string> rr::BasicDictionary::getKeys() const
+{
+    std::vector<std::string> keys(items.size());
+    int j = 0;
+    for(VariantMap::const_iterator i = items.begin(); i != items.end(); ++i, ++j) {
+        keys[j] = i->first;
+    }
+    return keys;
+}
+
+
+}
+
+
+
+
diff --git a/source/Dictionary.h b/source/Dictionary.h
new file mode 100644
index 0000000..f3cf813
--- /dev/null
+++ b/source/Dictionary.h
@@ -0,0 +1,189 @@
+/*
+ * Dictionary.h
+ *
+ *  Created on: Jul 14, 2014
+ *      Author: andy
+ */
+
+#ifndef DICTIONARY_H_
+#define DICTIONARY_H_
+
+#include "Variant.h"
+#include <string>
+#include <vector>
+
+#include "tr1proxy/rr_memory.h"
+#include "tr1proxy/rr_unordered_map.h"
+
+#if defined(SWIG) || defined(SWIGPYTHON)
+#include "PyUtils.h"
+#endif
+
+
+namespace rr {
+
+/**
+ * @brief This class is frozen, no new features
+ * A dictionary interface that objects can implement. These are automatically
+ * mapped to python dictionaries.
+ */
+class RR_DECLSPEC Dictionary  // Yes, I know this is a pure virtual *INTERFACE*
+{                             // so it should NOT need to be exported, but MSVC
+public:                       // *mistakenly* complains in ONE instance.
+                              // add the declspec just to shut it up.
+
+#ifndef SWIG
+
+    /**
+     * Set the value for an arbitrary key.
+     *
+     * The Variant object has a large number of creation operators so
+     * you only have to give the value as native C++ object i.e.
+     *
+     * @code
+     * Dictionary*d = (...);
+     * d->setItem("someIntKey", 1);
+     * d->setItem("someStrKey", string("some string"));
+     * d->setItem("someFloatVal, 0.123);
+     * @endcode
+     */
+    virtual void setItem(const std::string& key, const rr::Variant& value) = 0;
+
+    /**
+     * Get a value. Variants are POD. If the key does not exist, an std::exception
+     * will be thrown.
+     *
+     * The Variant object has the assigment operator overloaded so
+     * it will automatically convert to any native C++ object. If the
+     * Variant can not be converted, it will raise an exception, i.e.
+     *
+     * @code
+     * Dictionary* d = ...;
+     * int a = d->getItem("someIntKey");
+     * string s = d->getItem("someStrVal");
+     * double val = d->getItem("someDoubleVal");
+     * @endcode
+     */
+    virtual Variant getItem(const std::string& key) const = 0;
+
+    /**
+     * is there a key matching this name.
+     */
+    virtual bool hasKey(const std::string& key) const = 0;
+
+    /**
+     * remove a value
+     */
+    virtual int deleteItem(const std::string& key) = 0;
+
+    /**
+     * list of keys in this object.
+     */
+    virtual std::vector<std::string> getKeys() const = 0;
+
+    /**
+     * Pure virtual interface, you should never have to delete
+     * an instance of this type directly.
+     */
+    virtual ~Dictionary() {};
+
+#endif
+
+    /**
+     * implement the python method if we are being used in the python binding.
+     *
+     * Note, if these methods are added to an %extend section, derived classes
+     * will not see them, so as far as I can tell, this is the only way to
+     * add these methods.
+     */
+#if defined(SWIGPYTHON)
+    PyObject *keys() {
+        return dictionary_keys(this);
+    }
+
+    PyObject *values() {
+        return dictionary_values(this);
+    }
+
+    PyObject *items() {
+        return dictionary_items(this);
+    }
+
+    PyObject *__getitem__(const char* key) {
+        return dictionary_getitem(this, key);
+    }
+
+    PyObject *__setitem__(const char* key, PyObject* value) {
+        return dictionary_setitem(this, key, value);
+    }
+
+    void __delitem__(const char* key) {
+        return dictionary_delitem(this, key);
+    }
+
+    PyObject *__contains__(const char* key) {
+        return dictionary_contains(this, key);
+    }
+
+    std::string helloPython() {
+        return "hello python";
+    }
+#endif
+};
+
+
+/**
+ * @brief This class is frozen, no new features
+ * Basic implementation of the Dictionary interface which uses a
+ * std unordered map to store the values.
+ */
+class RR_DECLSPEC BasicDictionary : public Dictionary
+{
+public:
+    BasicDictionary() {};
+
+    /**
+     * sets an item in the internal unordered map.
+     */
+    virtual void setItem(const std::string& key, const rr::Variant& value);
+
+    /**
+     * gets an item from the internal unordered map.
+     */
+    virtual Variant getItem(const std::string& key) const;
+
+    /**
+     * is there a key matching this name.
+     *
+     * @retruns true if this key exists, false otherwise.
+     */
+    virtual bool hasKey(const std::string& key) const;
+
+    /**
+     * remove a value
+     */
+    virtual int deleteItem(const std::string& key);
+
+    /**
+     * list of keys in this object.
+     */
+    virtual std::vector<std::string> getKeys() const;
+
+    /**
+     * Pure virtual interface, you should never have to delete
+     * an instance of this type directly.
+     */
+    virtual ~BasicDictionary() {};
+
+protected:
+    typedef cxx11_ns::unordered_map<std::string, Variant> VariantMap;
+    VariantMap items;
+};
+
+}
+
+
+
+
+
+#endif /* DICTIONARY_H_ */
diff --git a/source/DoxygenDocs.h b/source/DoxygenDocs.h
new file mode 100644
index 0000000..6c71774
--- /dev/null
+++ b/source/DoxygenDocs.h
@@ -0,0 +1,249 @@
+namespace rr {
+
+/** 
+ at mainpage The LibRoadRunner C++ Library
+
+ at author Andy Somogyi (andy.somogyi at gmail.com, somogyie at indiana.edu)
+ at author Totte Karlsson (totte at dunescientific.com)
+ at author Herbert M. Sauro  (hsauro at u.washington.edu)
+
+
+ at section sec_intro Introduction
+ 
+
+
+This document describes the application programming interface (API) of RoadRunner, 
+an open source (BSD) library for computing structural characteristics of cellular networks.
+
+
+ 
+
+ at section sec_install Instalation
+
+ \par
+
+ \par
+
+ \par Dependencies
+ The RoadRunner library depend on several third-party libraries, CLapack, libSBML (libxml2), Sundials, NLEQ, and Poco. These are provided with the binary installation where necessary.
+ \par
+
+
+ \par
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ \li Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ \li Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ \li Neither the name of University of Washington nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+ \par
+
+
+ at section sec_new_integrator Creating a new Integrator
+
+One of the key design goals of the LibRoadRunner library is extensibility. This means that the 
+library is designed with the idea that most internal components are loosely coupled and that
+it is simple to add new solvers such as new steady state solvers or integrators. This section
+will give a tutorial on creating a new integrator using the EulerIntegrator as an example. 
+
+At its simplest, an Integrator is a class which implements the Integrator interface and
+is responsible for advanding a model (an object which implements the ExecutableModel interface)
+forward in time. 
+
+All Integrators are created by the IntegratorFactory class, this is the only class that knows
+about the existence of any Integrator objects. All integrators that the IntegratorFactory knows about
+are automatically available to any code (including any Python code) that needs to create one. Each time 
+the RoadRunner::simulate method is called, a different integrator may be specified. In Python, this is
+done with the <TT>integrator</TT> keyword, i.e.
+
+ at code 
+r.simulate(0, 10, 100, integrator="MyIntegratorName")
+ at endcode
+
+Or, in C++:
+
+ at code
+BasicDictionary d;
+d.setItem("integrator", "MyIntegratorName")
+r.simulate(&d);
+ at endcode
+
+To create a new integrator, one first needs to create an object that implments the Integrator interface,
+tell RoadRunner about it. 
+
+ at subsection sec_int_impl Implementing the Integrator interface
+
+The IntegratorFactory is the ONLY object that creates integrators.
+
+Integrators are created when the IntegratorFactory::New method is called,
+typically by the top level RoadRunner object. New Integrators are given a pointer to an 
+existing ExecutableModel object which the Integrator is responsible for advancing forward in time, 
+and pointer to a SimulateOptions object which contains the initial set of parameters that the 
+Integrator may configure itself with. 
+
+The integrator will hold onto the ExecutableModel pointer, m, and when the
+Integrator::integrate method is called, will advance the model object forward in time.
+
+
+There are three key members of the Integrator interface that an integrator needs be implement: 
+
+ at li Integrator::setSimulateOptions
+This method is called whenever the simulation parameters are changed via calls to the
+RoadRunner::simulate method, the setSimulateOptions method is
+called by RoadRunner object to inform the Integrator of any new parameter changes. 
+This method should be used to read any updated tuning parameters.
+
+ at li Integrator::integrate This is the actual method that should perform the time integration. 
+
+ at li Integrator::restart This method is called whenever the RoadRunner object is re-started. This gives the 
+integrator an option to reload any internal solvers. Simple integrators like the EulerIntegrator does not 
+really do anything in the EulerIntegrator::restart method, but more sophisticated ones like the CVODE integrator
+perform a number of tasks such as re-calclating the tollerances and so forth. 
+
+The other key thing that an Integrator needs to do is provide a 
+ at code 
+static const Dictionary* getIntegratorOptions();
+ at endcode 
+method, as in the EulerIntegrator::getIntegratorOptions. This method is used by the IntegratorFactory
+to build a list of all the available tuning parameters that any integrator supports. The returned
+Dictionary pointer should be statically created inside the implemtation file, and should contain the 
+following keys / values
+
+
+<table>
+  <tr>
+  <td>Key</td>
+  <td>Value</td>
+  <tr>
+    <td>integrator</td>
+    <td>The name of your new integrator</td> 
+  </tr>
+  <tr>
+    <td>integrator.description</td>
+    <td>A description of your new integrator</td> 
+  </tr>
+  <tr>
+    <td>integrator.hint</td>
+    <td>A short hint for your new integrator</td> 
+  </tr>
+</table> 
+
+
+Any additional tuning parameters should be listed in this dictionary, where each tuning parameter
+should have three key/value pairs. 
+ 
+<table>
+  <tr>
+  <td>Key</td>
+  <td>Value</td>
+  <tr>
+    <td>parameterName</td>
+    <td>The default value of this tuning parmeter</td>
+  </tr>
+  <tr>
+    <td>parameterName.description</td>
+    <td>A description of this tuning parameter</td> 
+  </tr>
+  <tr>
+    <td>integrator.hint</td>
+    <td>A short hint for this tuning parameter</td> 
+  </tr>
+</table> 
+
+
+When the Integrator::setSimulateOptions method is called, the integrator should read any
+parameters it expects out of the given dictionary. 
+
+
+ at subsection sec_tellrr Telling RoadRunner about the new Integrator
+
+In order for the RoadRunner::simulate method use the new integrator, it needs to know about it. 
+The IntegratorFactory is the only object that knows about all the integrators, and a few lines of 
+code need to be added in the implementation of this object so that it can construct one. 
+
+
+First, a new enum value needs to be added to the Integrator::IntegratorId enum. This is numeric
+index of the integrator. Then the textual name of the integrator needs to be added to the 
+<tt>integratorNames</tt> static array in the Integrator.cpp file. Then a line needs to be added inside
+the IntegratorFactory::New method which will create the new integrator, e.g. this is a series
+of <tt>if</tt> statements, and a new statment needs to be created which creates an instance of the 
+new kind of integrator:
+
+ at code
+if (opt->integrator == Integrator::GILLESPIE)
+{
+    result = new GillespieIntegrator(m, opt);
+}
+else if(opt->integrator == Integrator::RK4)
+{
+    result = new RK4Integrator(m, opt);
+}
+else if(opt->integrator == Integrator::EULER)
+{
+    result = new EulerIntegrator(m, opt);
+}
+else
+{
+    result = new CVODEIntegrator(m, opt);
+}
+ at endcode
+
+Finally, the IntegratorFactory::getIntegratorOptions() method needs to be updated to also return
+the dictionary that was created in the getIntegratorOptions method, e.g.
+
+ at code
+const Dictionary* options[] = {
+        CVODEIntegrator::getIntegratorOptions(),
+        GillespieIntegrator::getIntegratorOptions(),
+        RK4Integrator::getIntegratorOptions(),
+        EulerIntegrator::getIntegratorOptions()
+};
+ at endcode
+
+Once the IntegratorFactory is made aware of your new integrator, it is available for full introspection and
+can be used by just adding the <tt>integrator="myNewIntegrator"</tt> argument whenever the 
+RoadRunner.simulate method is called. The EulerIntegrator was created as an example of how to create and add
+a new integrator, have a look at it. 
+
+
+ at subsection sec_euler A complete example of creating an integrator.
+This section includes the complete Euler integrator implemented in EulerIntegrator.h as an example of 
+creating a new integrator. 
+This class has two demo paramters which may be set via the keyword arguments to RoadRunner.simulate
+in Python, or set via the Dictionary::setItem method on the dictionary that is given to the 
+RoadRunner::simulate method in C++. In Python, this would be:
+
+ at code
+r.simulate(integrator='euler', exampleParameter1=123456, exampleParameter2='some value');
+print(r.integrator)
+
+< roadrunner.EulerIntegrator() { 
+  'this' : 0x101f28350
+  'exampleParameter1' : 123456
+  'exampleParameter2' : some value
+}>
+ at endcode
+
+In Python, all the keyword arguments to the simulate method are packaged up and added to the 
+dictionary which is passed into the RoadRunner::simulate method. In C++, the equivalent code 
+would be:
+ at code
+SimulateOptions& opt = r.getSimulateOptions();
+opt.setItem("integrator", "euler")
+opt.setItem("exampleParameter1", 123456);
+opt.setItem("exampleParameter2", "some value");
+r.simulate();
+
+cout << r.getIntegrator()->toString() << endl;
+ at endcode
+
+The EulerIntegrator.h file serves as a complete example of creating an new integrator. 
+This example was written entierly in the header file for clarity, but a real integrator 
+should separate the code and header files. 
+
+
+*/
+} // namespace rr
+
diff --git a/source/EulerIntegrator.h b/source/EulerIntegrator.h
new file mode 100644
index 0000000..36d835a
--- /dev/null
+++ b/source/EulerIntegrator.h
@@ -0,0 +1,438 @@
+/*
+ * EulerIntegrator.h
+ *
+ *  Created on: Dec 17, 2014
+ *      Author: andy
+ */
+
+#ifndef EULERINTEGRATOR_H_
+#define EULERINTEGRATOR_H_
+
+#include "Integrator.h"
+#include "rrExecutableModel.h"
+#include "rrRoadRunnerOptions.h"
+#include <string>
+#include <stdexcept>
+#include <sstream>
+
+namespace rr
+{
+    using std::string;
+    using std::invalid_argument;
+    using std::stringstream;
+
+    /**
+    * An example class intended to show how to create
+    * an Integrator. This class implements the most
+    * basic possible integration algorithm: the forward Euler method.
+    *
+    * This integrator should not really be used in practice as the
+    * forward Euler algorithm is highly unstable and will seldomly
+    * yield numerically correct values.
+    *
+    * This class also has two dummy variables, exampleParameter1 and
+    * exampleParameter2. These serve as examples of how to use the Dictionary
+    * interface to get/set various tuning paramters that an Integrator
+    * might have. These values will be displayed when the toString method
+    * is called, typically by Python.
+    *
+    * An example of calling simulate in Python, and the results of specifying
+    * the parameters as keyword arguments is
+    *
+    * @code
+    * r.simulate(integrator='euler', exampleParameter1=123456, exampleParameter2='some value');
+    *
+    * print(r.integrator)
+    * < roadrunner.EulerIntegrator()
+    * { 'this' : 0x101f28350
+    * 'exampleParameter1' : 123456
+    * 'exampleParameter2' : some value
+    * }>
+    * @endcode
+    *
+    */
+    class EulerIntegrator: public Integrator
+    {
+    public:
+
+        /**
+        * Creates a new EulerIntegrator.
+        *
+        * The IntegratorFactory is the ONLY object that creates integrators.
+        *
+        * Integrators are created when the IntegratorFactory::New method is called,
+        * typically by the top level RoadRunner object.
+        *
+        * The integrator will hold onto the ExecutableModel pointer, m, and when the
+        * integrate method is called, will advance the model object forward in time.
+        *
+        * @param m: a borrowed reference to an existing ExecutableModel object.
+        * @param o: a reference to a SimulatOptions object where the configuration
+        * parameters will be read from.
+        */
+        EulerIntegrator(ExecutableModel *m) {
+            model = m;
+            exampleParameter1 = 3.14;
+            exampleParameter2 = "hello";
+
+            if(model) {
+                // calling the getStateVector with a NULL argument returns
+                // the size of teh state vector.
+                stateVectorSize = model->getStateVector(NULL);
+                rateBuffer = new double[stateVectorSize];
+                stateBuffer1 = new double[stateVectorSize];
+                stateBuffer2 = new double[stateVectorSize];
+            } else {
+                rateBuffer = NULL;
+                stateBuffer1 = NULL;
+                stateBuffer2 = NULL;
+            }
+        }
+
+        /**
+        * delete any memory we allocated
+        */
+        virtual ~EulerIntegrator() {
+            delete[] rateBuffer;
+            delete[] stateBuffer1;
+            delete[] stateBuffer2;
+        };
+
+        /**
+        * integrates the model from t0 to t0 + hstep
+        *
+        * In this implementation, this performs a basic forward Euler step.
+        * This method also demonstrates how to notify the listener
+        * that a timestep has completed.
+        *
+        * @return the end time.
+        */
+        virtual double integrate(double t0, double h) {
+            if(model) {
+                // evaluate and copy the rate of change of the state vector
+                // rate into the local buffer. If the 2nd argument is NULL,
+                // the current model state is used to evaluate the
+                // state vector rate.
+                model->getStateVectorRate(t0, NULL, rateBuffer);
+
+                // copy the current state vector into a local buffer
+                model->getStateVector(stateBuffer1);
+
+                // perform the Euler integration step, i.e.
+                // y_{n+1} = y_{n} + h * y'_{n}
+                for (int i = 0; i < stateVectorSize; ++i) {
+                    stateBuffer2[i] = stateBuffer1[i] + h * rateBuffer[i];
+                }
+
+                // set the model state to the newly calculated state
+                model->setStateVector(stateBuffer2);
+
+                // update the model time to the new time
+                model->setTime(t0 + h);
+
+                // if we have a client, notify them that we have taken
+                // a time step
+                if (listener)
+                {
+                    listener->onTimeStep(this, model, t0 + h);
+                }
+            }
+            return t0 + h;
+        }
+
+        /**
+        * This simple integrator has nothing to reset, so do nothing here
+        */
+        virtual void restart(double t0) {}
+
+        /**
+        * Clients may register a listener to listen for
+        * sbml events and time step events.
+        */
+        virtual void setListener(IntegratorListenerPtr p) {
+            listener = p;
+        }
+
+        /**
+        * get the integrator listener
+        */
+        virtual IntegratorListenerPtr getListener() {
+            return listener;
+        }
+
+        /**
+        * get a description of this object, compatable with python __str__
+        */
+        virtual std::string toString() const {
+            std::stringstream ss;
+            ss << "< roadrunner.EulerIntegrator() " << std::endl;
+            ss << "{ 'this' : " << (void*)this << std::endl;
+            ss << "'exampleParameter1' : " << exampleParameter1 << std::endl;
+            ss << "'exampleParameter2' : " << exampleParameter2 << std::endl;
+            ss << "}>";
+            return ss.str();
+        }
+
+        /**
+        * get a short descriptions of this object, compatable with python __repr__.
+        */
+        virtual std::string toRepr() const {
+            std::stringstream ss;
+            ss << "< roadrunner.EulerIntegrator() { 'this' : "
+                << (void*)this << " }>";
+            return ss.str();
+        }
+
+        /**
+        * get the name of this integrator
+        */
+        virtual std::string getName() const {
+            return getEulerName();
+        }
+
+        /**
+         * @author JKM
+         * @brief Get the name for this integrator
+         */
+        static std::string getEulerName() {
+            return "euler";
+        }
+
+        /**
+         * @author JKM
+         * @brief Get the description for this integrator
+         * @note Delegates to @ref getDescription
+         */
+        std::string getDescription() const {
+            return getEulerDescription();
+        }
+
+        /**
+         * @author JKM
+         * @brief Get the description for this integrator
+         */
+        static std::string getEulerDescription() {
+            return "The Euler method is one of the simplest approaches to "
+                "solving a first order ODE. Given the rate of change of "
+                "function f at time t, it computes the new value of f as "
+                "f(t+h) = f(t) + h*f'(t), where h is the time step. "
+                "Euler's method is rarely used in practice due to poor "
+                "numerical robustness.";
+        }
+
+        /**
+         * @author JKM
+         * @brief Get the hint for this integrator
+         * @note Delegates to @ref getHint
+         */
+        std::string getHint() const {
+            return getEulerHint();
+        }
+
+        /**
+         * @author JKM
+         * @brief Get the hint for this integrator
+         */
+        static std::string getEulerHint() {
+//             return "An elementary (my dear Watson) Euler integrator";
+            return "A simple Euler integrator";
+        }
+
+        /**
+         * @author JKM
+         * @brief Reset all integrator settings to their respective default values
+         */
+        void resetSettings()
+        {
+            Solver::resetSettings();
+
+            // Euler integrator has no settings
+        }
+
+        /**
+         * @author JKM
+         * @brief Always deterministic for Euler
+         */
+        IntegrationMethod getIntegrationMethod() const {
+            return Integrator::Deterministic;
+        }
+
+        /**
+        * sets the value for a key.
+        *
+        * This integrator only supports 2 values, so those are the
+        * only two valid items to set.
+        */
+        virtual void setItem(const std::string& key, const rr::Variant& value) {
+            if (key == "exampleParameter1") {
+                exampleParameter1 = value;
+                return;
+            }
+
+            if(key == "exampleParameter2") {
+                exampleParameter2 = (string)value;
+            }
+
+            // they did not give a valid key, so throw an exception.
+            throw invalid_argument("Error, attempt to set invalid key: " + key);
+        }
+
+        /**
+        * Get a value.
+        *
+        * This integrator only supports two parameters, those are the
+        * only valid ones to get.
+        */
+        virtual Variant getItem(const std::string& key) const {
+            if (key == "exampleParameter1") {
+                return exampleParameter1;
+            }
+
+            if(key == "exampleParameter2") {
+                return exampleParameter2;
+            }
+
+            // they did not give a valid key, so throw an exception.
+            throw invalid_argument("Error, attempt to read invalid key: " + key);
+        }
+
+        /**
+        * is there a key matching this name.
+        */
+        virtual bool hasKey(const std::string& key) const {
+            if (key == "exampleParameter1" || key == "exampleParameter2") {
+                return true;
+            } else {
+                return false;
+            }
+        }
+
+        /**
+        * remove a value, this example class does not support deleting
+        * keys, so just raise an exception if someone tries to do so.
+        */
+        virtual int deleteItem(const std::string& key) {
+            throw invalid_argument(
+                    "Error, the EulerIntegrator does not support deleting keys");
+        }
+
+        /**
+        * list of keys in this object.
+        */
+        virtual std::vector<std::string> getKeys() const {
+            std::vector<std::string> keys;
+            keys.push_back("exampleParameter1");
+            keys.push_back("exampleParameter2");
+            return keys;
+        }
+
+        /**
+        * list of keys that this integrator supports.
+        *
+        * This method is called by the IntegratorFactory to build a list of
+        * all the options that all the integrators support.
+        */
+        static const Dictionary* getIntegratorOptions() {
+            static BasicDictionary dict;
+
+            // fill out the required options for defining this integrator
+            dict.setItem("integrator", "euler");
+            dict.setItem("integrator.description",
+                    "Forward Euler Integrator: an example of creating an integrator");
+            dict.setItem("integrator.hint", "Forward Euler Integrator");
+
+            // this uses two example parameters, add them here
+            dict.setItem("exampleParameter1", 3.14);
+            dict.setItem("exampleParameter1.description",
+                    "an example parameter that does nothing");
+            dict.setItem("exampleParameter1.hint", "a hint for the example parameter");
+
+            dict.setItem("exampleParameter2", string("hello"));
+            dict.setItem("exampleParameter2.description",
+                    "another parameter which does nothing");
+            dict.setItem("exampleParameter2.hint", "a hint for the other parameter");
+
+            return &dict;
+        }
+
+    private:
+        /**
+        * a parameter which does nothing
+        */
+        double exampleParameter1;
+
+        /**
+        * another parameter which does nothing
+        */
+        string exampleParameter2;
+
+        /**
+        * a stolen reference to an existing model object.
+        */
+        ExecutableModel *model;
+
+        /**
+        * two buffers to store the state vector rate, and
+        * new state vector
+        */
+        double *rateBuffer, *stateBuffer1, *stateBuffer2;
+
+        /**
+        * size of state vector
+        */
+        int stateVectorSize;
+
+        /**
+        * Clients may register a listener to listen for time steps, or
+        * sbml events. Time step events are much more usefull for variable
+        * time step integrators where they may take long time steps and
+        * clients may be notified when these occur.
+        *
+        * This is a smart pointer to a object which implements the
+        * IntegratorListener interface.
+        */
+        IntegratorListenerPtr listener;
+    };
+
+
+    // ** Registration *********************************************************
+
+
+    class EulerIntegratorRegistrar : public IntegratorRegistrar {
+        public:
+            /**
+            * @author JKM
+            * @brief Gets the name associated with this integrator type
+            */
+            virtual std::string getName() const {
+                return EulerIntegrator::getEulerName();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the description associated with this integrator type
+            */
+            virtual std::string getDescription() const {
+                return EulerIntegrator::getEulerDescription();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the hint associated with this integrator type
+            */
+            virtual std::string getHint() const {
+                return EulerIntegrator::getEulerHint();
+            }
+
+            /**
+            * @author JKM
+            * @brief Constructs a new integrator of a given type
+            */
+            virtual Integrator* construct(ExecutableModel *model) const {
+                return new EulerIntegrator(model);
+            }
+    };
+
+} /* namespace rr */
+
+#endif /* EULERINTEGRATOR_H_ */
diff --git a/source/ExecutableModelFactory.cpp b/source/ExecutableModelFactory.cpp
new file mode 100644
index 0000000..2f14ec2
--- /dev/null
+++ b/source/ExecutableModelFactory.cpp
@@ -0,0 +1,112 @@
+/*
+ * ExecutableModelFactory.cpp
+ *
+ *  Created on: Dec 11, 2014
+ *      Author: andy
+ */
+
+#include <ExecutableModelFactory.h>
+#include "rrRoadRunnerOptions.h"
+
+#if defined(BUILD_LLVM)
+#include "llvm/LLVMModelGenerator.h"
+#include "llvm/LLVMCompiler.h"
+#endif
+
+#if defined(BUILD_LEGACY_C)
+#include "c/rrCModelGenerator.h"
+#endif
+
+#include "rrLogger.h"
+#include <string>
+#include <algorithm>
+
+#include "testing/CXXExecutableModel.h"
+#include "testing/CXXEnzymeExecutableModel.h"
+
+using namespace std;
+namespace rr {
+
+/*
+static ModelGenerator* createModelGenerator(const string& compiler, const string& tempFolder,
+            const string& supportCodeFolder);
+*/
+
+/**
+ * implement the couple Compiler methods, this will go, here for source compatiblity.
+ */
+
+std::string Compiler::getDefaultCompiler()
+{
+#if defined(BUILD_LLVM)
+    return "LLVM";
+#else
+    #if defined(_WIN32)
+        return joinPath("..", "compilers", "tcc", "tcc.exe");
+    #else
+        // the default compiler on Unix systems is 'cc', the standard enviornment
+        // for the default compiler is 'CC'.
+        return getenv("CC") ? getenv("CC") : "gcc";
+    #endif
+#endif
+}
+
+Compiler* Compiler::New() {
+    return new rrllvm::LLVMCompiler();
+}
+
+ExecutableModel* rr::ExecutableModelFactory::createModel(
+        const std::string& sbml, const Dictionary* dict)
+{
+    LoadSBMLOptions opt(dict);
+
+    if(opt.hasKey("cxxEnzymeTest")) {
+        return new rrtesting::CXXEnzymeExecutableModel(dict);
+    }
+
+    return rrllvm::LLVMModelGenerator::createModel(sbml, opt.modelGeneratorOpt);
+}
+
+/*
+ModelGenerator* createModelGenerator(const string& compiler, const string& tempFolder,
+            const string& supportCodeFolder)
+{
+#if defined(BUILD_LLVM) && !defined(BUILD_LEGACY_C)
+
+    Log(Logger::LOG_INFORMATION) << "Creating LLVM based model generator.";
+    return new rrllvm::LLVMModelGenerator();
+
+#endif
+
+#if defined(BUILD_LLVM) && defined(BUILD_LEGACY_C)
+    string ucomp = compiler;
+    std::transform(ucomp.begin(), ucomp.end(),ucomp.begin(), ::toupper);
+
+    if (ucomp == "LLVM")
+    {
+        Log(Logger::LOG_INFORMATION) << "Creating LLVM based model generator.";
+        return new rrllvm::LLVMModelGenerator();
+    }
+
+    Log(Logger::LOG_INFORMATION) << "Creating C based model generator using " << compiler << " compiler.";
+
+    return new CModelGenerator(tempFolder, supportCodeFolder, compiler);
+#endif
+
+#if !defined(BUILD_LLVM) && defined(BUILD_LEGACY_C)
+
+    Log(Logger::LOG_INFORMATION) << "Creating C based model generator using " << compiler << " compiler.";
+
+    // default (for now...), the old C code generating model generator.
+    return new CModelGenerator(tempFolder, supportCodeFolder, compiler);
+#endif
+
+#if !defined(BUILD_LLVM) && !defined(BUILD_LEGACY_C)
+#error Must built at least one ModelGenerator backend, either BUILD_LLVM or BUILD_LEGACY_C
+#endif
+}
+*/
+
+
+} /* namespace rr */
+
diff --git a/source/ExecutableModelFactory.h b/source/ExecutableModelFactory.h
new file mode 100644
index 0000000..375a38c
--- /dev/null
+++ b/source/ExecutableModelFactory.h
@@ -0,0 +1,37 @@
+/*
+ * ExecutableModelFactory.h
+ *
+ *  Created on: Dec 11, 2014
+ *      Author: andy
+ */
+
+#ifndef EXECUTABLEMODELFACTORY_H_
+#define EXECUTABLEMODELFACTORY_H_
+
+#include "rrExecutableModel.h"
+#include "Dictionary.h"
+#include <string>
+
+
+namespace rr
+{
+
+/**
+ * A factory class to create ExecutableModel objects.
+ */
+class RR_DECLSPEC ExecutableModelFactory
+{
+public:
+    /**
+     * creates a NEW object which must be deleted by the caller.
+     *
+     * @param sbml: an sbml string
+     * @param dict: a dictionary of options, this is typcally a LoadSBMLOptions object,
+     * but it may be any dictionary.
+     */
+    static ExecutableModel *createModel(const std::string& sbml, const Dictionary* dict = 0);
+};
+
+} /* namespace rr */
+
+#endif /* EXECUTABLEMODELFACTORY_H_ */
diff --git a/source/GillespieIntegrator.cpp b/source/GillespieIntegrator.cpp
new file mode 100755
index 0000000..bd3a871
--- /dev/null
+++ b/source/GillespieIntegrator.cpp
@@ -0,0 +1,431 @@
+/*
+ * GillespieIntegrator.cpp
+ *
+ *  Created on: Apr 23, 2014
+ *      Author: andy
+ */
+
+#include "GillespieIntegrator.h"
+#include "rrUtils.h"
+#include "rrLogger.h"
+#include "rrConfig.h"
+
+#include <cstring>
+#include <assert.h>
+#include <iostream>
+#include <exception>
+#include <ctime>
+#include <limits>
+#include <sstream>
+
+using namespace std;
+
+// min and max macros on windows interfer with max method of engine.
+#undef max
+#undef min
+
+namespace rr
+{
+	static unsigned long defaultSeed()
+	{
+		int64_t seed = Config::getValue(Config::RANDOM_SEED).convert<int>();
+		if (seed < 0)
+		{
+			// system time in mirsoseconds since 1970
+			seed = getMicroSeconds();
+		}
+
+		unsigned long maxl = std::numeric_limits<unsigned long>::max() - 2;
+
+		seed = seed % maxl;
+
+		return (unsigned long)seed;
+	}
+
+	void GillespieIntegrator::initializeFromModel() {
+        nReactions = model->getNumReactions();
+        reactionRates = new double[nReactions];
+        reactionRatesBuffer = new double[nReactions];
+        stateVectorSize = model->getStateVector(0);
+        stateVector = new double[stateVectorSize];
+        stateVectorRate = new double[stateVectorSize];
+
+        eventStatus = std::vector<unsigned char>(model->getEventTriggers(0, 0, 0), false);
+        previousEventStatus = std::vector<unsigned char>(model->getEventTriggers(0, 0, 0), false);
+
+        floatingSpeciesStart = stateVectorSize - model->getNumIndFloatingSpecies();
+
+        assert(floatingSpeciesStart >= 0);
+
+        // get rows and columns
+        model->getStoichiometryMatrix(&stoichRows, &stoichCols, 0);
+        stoichData = new double[stoichRows * stoichCols];
+
+        // fill stoichData
+        model->getStoichiometryMatrix(&stoichRows, &stoichCols, &stoichData);
+
+        setEngineSeed(getValue("seed").convert<unsigned long>());
+	}
+
+	GillespieIntegrator::GillespieIntegrator(ExecutableModel* m) :
+			model(m),
+			timeScale(1.0),
+			stoichScale(1.0),
+			stoichRows(0),
+			stoichCols(0),
+			stoichData(NULL),
+			reactionRates(NULL),
+			reactionRatesBuffer(NULL),
+			stateVector(NULL),
+			stateVectorRate(NULL)
+	{
+		resetSettings();
+
+        if (model)
+            initializeFromModel();
+	}
+
+	GillespieIntegrator::~GillespieIntegrator()
+	{
+		delete[] reactionRates;
+		delete[] reactionRatesBuffer;
+		delete[] stateVector;
+		delete[] stateVectorRate;
+		delete[] stoichData;
+        reactionRates = NULL;
+        reactionRatesBuffer = NULL;
+        stateVector = NULL;
+        stateVectorRate = NULL;
+        stoichData = NULL;
+	}
+
+    void GillespieIntegrator::syncWithModel(ExecutableModel* m)
+    {
+        resetSettings();
+        delete[] reactionRates;
+        delete[] reactionRatesBuffer;
+        delete[] stateVector;
+        delete[] stateVectorRate;
+        delete[] stoichData;
+        reactionRates = NULL;
+        reactionRatesBuffer = NULL;
+        stateVector = NULL;
+        stateVectorRate = NULL;
+        stoichData = NULL;
+
+        model = m;
+        model->reset();
+
+        nReactions = 0;
+        stateVectorSize = 0;
+
+        timeScale = 1.;
+        stoichScale = 1.;
+
+        stoichRows = 0;
+        stoichCols = 0;
+        stoichData = NULL;
+
+        initializeFromModel();
+    }
+
+    std::string GillespieIntegrator::getName() const {
+        return GillespieIntegrator::getGillespieName();
+    }
+
+    std::string GillespieIntegrator::getGillespieName() {
+        return "gillespie";
+    }
+
+    std::string GillespieIntegrator::getDescription() const {
+        return GillespieIntegrator::getGillespieDescription();
+    }
+
+    std::string GillespieIntegrator::getGillespieDescription() {
+        return "RoadRunner's implementation of the standard Gillespie Direct "
+            "Method SSA. The granularity of this simulator is individual "
+            "molecules and kinetic processes are stochastic. "
+            "Results will, in general, be different in each run, but "
+            "a sufficiently large ensemble of runs should be statistically correct.";
+    }
+
+    std::string GillespieIntegrator::getHint() const {
+        return GillespieIntegrator::getGillespieHint();
+    }
+
+    std::string GillespieIntegrator::getGillespieHint() {
+        return "Gillespie Direct Method SSA";
+    }
+
+	Integrator::IntegrationMethod GillespieIntegrator::getIntegrationMethod() const
+	{
+		return Integrator::Deterministic;
+	}
+
+	void GillespieIntegrator::setValue(string key, const Variant& val)
+	{
+		Integrator::setValue(key, val);
+
+		/*	In addition to typically value-setting behavior, some settings require further changes
+		within CVODE. */
+		if (key == "seed")
+		{
+			try
+			{
+				unsigned long seed = val.convert<unsigned long>();
+				setEngineSeed(seed);
+			}
+			catch (std::exception& e)
+			{
+				std::stringstream ss;
+				ss << "Could not convert the value \"" << val.toString();
+				ss << "\" to an unsigned long integer. " << endl;
+				ss << "The seed must be a number between 0 and ";
+				ss << std::numeric_limits<unsigned long>::max();
+				ss << "; error message: " << e.what() << ".";
+				throw std::invalid_argument(ss.str());
+			}
+		}
+	}
+
+    void GillespieIntegrator::resetSettings()
+    {
+        Solver::resetSettings();
+
+        // Set default integrator settings.
+        addSetting("seed",              defaultSeed(), "Seed", "Set the seed into the random engine. (ulong)", "(ulong) Set the seed into the random engine.");
+        addSetting("variable_step_size",true, "Variable Step Size", "Perform a variable time step simulation. (bool)", "(bool) Enabling this setting will allow the integrator to adapt the size of each time step. This will result in a non-uniform time column.");
+        addSetting("initial_time_step", 0.0,   "Initial Time Step", "Specifies the initial time step size. (double)", "(double) Specifies the initial time step size.");
+        addSetting("minimum_time_step", 0.0,   "Minimum Time Step", "Specifies the minimum absolute value of step size allowed. (double)", "(double) The minimum absolute value of step size allowed.");
+        addSetting("maximum_time_step", 0.0,   "Maximum Time Step", "Specifies the maximum absolute value of step size allowed. (double)", "(double) The maximum absolute value of step size allowed.");
+        addSetting("nonnegative",       false, "Non-negative species only", "Prevents species amounts from going negative during a simulation. (bool)", "(bool) Enforce non-negative species constraint.");
+    }
+
+	double GillespieIntegrator::integrate(double t, double hstep)
+	{
+		double tf = 0;
+		bool singleStep;
+		bool varStep = getValue("variable_step_size").convert<bool>();
+		double minTimeStep = getValue("minimum_time_step").convert<double>();
+
+		assert(hstep > 0 && "hstep must be > 0");
+
+		if (varStep)
+		{
+			if (minTimeStep > 0.0)
+			{
+				if (minTimeStep > hstep) // no step bigger than hstep
+				{
+					minTimeStep = hstep;
+				}
+				tf = t + minTimeStep;
+				singleStep = false;
+			}
+			else
+			{
+				tf = t + hstep;
+				singleStep = true;
+			}
+		}
+		else
+		{
+			tf = t + hstep;
+			singleStep = false;
+		}
+
+		Log(Logger::LOG_DEBUG) << "ssa(" << t << ", " << tf << ")";
+
+		// get the initial state vector
+		model->setTime(t);
+		model->getStateVector(stateVector);
+
+		while (t < tf)
+		{
+			// random uniform numbers
+			double r1 = urand();
+			double r2 = urand();
+
+			assert(r1 > 0 && r1 <= 1 && r2 >= 0 && r2 <= 1);
+
+			// sum of propensities
+			double s = 0;
+
+			// next time
+			double tau = 0;
+
+			// get the 'propensity' -- reaction rates
+			model->getReactionRates(nReactions, 0, reactionRates);
+
+			// sum the propensity
+			for (int k = 0; k < nReactions; k++)
+			{
+				Log(Logger::LOG_DEBUG) << "reac rate: " << k << ": "
+					<< reactionRates[k];
+
+				// if reaction rate is negative, that means reaction goes in reverse,
+				// this is fine, we just have to reverse the stoichiometry,
+				// but still need to sum the absolute value of the propensities
+				// to get tau.
+				s += std::abs(reactionRates[k]);
+			}
+
+			// sample tau
+			if (s > 0)
+			{
+				tau = -log(r1) / s;
+			}
+			else
+			{
+				// no reaction occurs
+				return std::numeric_limits<double>::infinity();
+			}
+			if (t + tau > tf)        // if time exhausted, don't allow reaction to proceed
+			{
+				return tf;
+			}
+
+			t = t + tau;
+
+			// select reaction
+			int reaction = -1;
+			double sp = 0.0;
+
+			r2 = r2 * s;
+			for (int i = 0; i < nReactions; ++i)
+			{
+				sp += std::abs(reactionRates[i]);
+				if (r2 < sp)
+				{
+					reaction = i;
+					break;
+				}
+			}
+
+			assert(reaction >= 0 && reaction < nReactions);
+
+			// update chemical species
+			// if rate is negative, means reaction goes in reverse, so
+			// multiply by sign
+			double sign = (reactionRates[reaction] > 0)
+				- (reactionRates[reaction] < 0);
+
+			bool skip = false;
+
+			if (getValueAsBool("nonnegative")) {
+				// skip reactions which cause species amts to become negative
+				for (int i = floatingSpeciesStart; i < stateVectorSize; ++i) {
+					if (stateVector[i]
+						+ getStoich(i - floatingSpeciesStart, reaction)
+						* stoichScale * sign < 0.0) {
+							skip = true;
+							break;
+						}
+				}
+			}
+
+			if (!skip) {
+				for (int i = floatingSpeciesStart; i < stateVectorSize; ++i)
+				{
+					stateVector[i] = stateVector[i]
+						+ getStoich(i - floatingSpeciesStart, reaction)
+						* stoichScale * sign;
+
+					if (stateVector[i] < 0.0) {
+						Log(Logger::LOG_WARNING) << "Error, negative value of "
+							<< stateVector[i]
+							<< " encountred for floating species "
+							<< model->getFloatingSpeciesId(i - floatingSpeciesStart);
+						t = std::numeric_limits<double>::infinity();
+					}
+				}
+			}
+
+			// rates could be time dependent
+			model->setTime(t);
+			model->setStateVector(stateVector);
+
+      // events
+      bool triggered = false;
+
+      model->getEventTriggers(eventStatus.size(), NULL, eventStatus.size() ? &eventStatus[0] : NULL);
+      for(int k_=0; k_<eventStatus.size(); ++k_) {
+        if (eventStatus.at(k_))
+          triggered = true;
+      }
+
+      if (triggered) {
+        applyEvents(t, previousEventStatus);
+      }
+
+      if (eventStatus.size())
+        memcpy(&previousEventStatus[0], &eventStatus[0], eventStatus.size()*sizeof(unsigned char));
+
+
+			if (singleStep)
+			{
+				return t;
+			}
+		}
+
+		return t;
+	}
+
+    void GillespieIntegrator::testRootsAtInitialTime()
+    {
+        vector<unsigned char> initialEventStatus(model->getEventTriggers(0, 0, 0), false);
+        model->getEventTriggers(initialEventStatus.size(), 0, initialEventStatus.size() == 0 ? NULL : &initialEventStatus[0]);
+        applyEvents(0, initialEventStatus);
+    }
+
+    void GillespieIntegrator::applyEvents(double timeEnd, vector<unsigned char> &previousEventStatus)
+    {
+        model->applyEvents(timeEnd, previousEventStatus.size() == 0 ? NULL : &previousEventStatus[0], stateVector, stateVector);
+    }
+
+	void GillespieIntegrator::restart(double t0)
+	{
+        if (!model) {
+            return;
+        }
+
+        if (t0 <= 0.0) {
+            if (stateVector)
+            {
+                model->getStateVector(stateVector);
+            }
+
+            testRootsAtInitialTime();
+        }
+
+        model->setTime(t0);
+
+        // copy state vector into memory
+        if (stateVector)
+        {
+            model->getStateVector(stateVector);
+        }
+	}
+
+	void GillespieIntegrator::setListener(IntegratorListenerPtr)
+	{
+	}
+
+	IntegratorListenerPtr GillespieIntegrator::getListener()
+	{
+		return IntegratorListenerPtr();
+	}
+
+	double GillespieIntegrator::urand()
+	{
+		return (double)engine() / (double)engine.max();
+	}
+
+	void GillespieIntegrator::setEngineSeed(unsigned long seed)
+	{
+		Log(Logger::LOG_INFORMATION) << "Using user specified seed value: " << seed;
+
+		// MSVC needs an explicit cast, fail to compile otherwise.
+		engine.seed((unsigned long)seed);
+	}
+
+	} /* namespace rr */
diff --git a/source/GillespieIntegrator.h b/source/GillespieIntegrator.h
new file mode 100644
index 0000000..eca8c66
--- /dev/null
+++ b/source/GillespieIntegrator.h
@@ -0,0 +1,220 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file Integrator.h
+* @author ETS, WBC, JKM
+* @date Apr 23, 2014
+* @copyright Apache License, Version 2.0
+* @brief RoadRunner's Gillespie SSA integrator
+**/
+
+#ifndef GILLESPIEINTEGRATOR_H_
+#define GILLESPIEINTEGRATOR_H_
+
+// == INCLUDES ================================================
+
+#include "Integrator.h"
+#include "rrRoadRunnerOptions.h"
+#include "rrExecutableModel.h"
+#include "tr1proxy/rr_random.h"
+
+// == CODE ====================================================
+
+namespace rr
+{
+
+    class ExecutableModel;
+
+    /**
+     * @author WBC, ETS
+     * @brief RoadRunner's implementation of the Gillespie SSA
+     */
+    class GillespieIntegrator: public Integrator
+    {
+    public:
+        GillespieIntegrator(ExecutableModel* model);
+        virtual ~GillespieIntegrator();
+
+        /**
+        * @author JKM
+        * @brief Called whenever a new model is loaded to allow integrator
+        * to reset internal state
+        */
+        virtual void syncWithModel(ExecutableModel* m);
+
+        // ** Meta Info ********************************************************
+
+        /**
+         * @author WBC
+         * @brief Get the name for this integrator
+         * @note Delegates to @ref getName
+         */
+        std::string getName() const;
+
+        /**
+         * @author JKM
+         * @brief Get the name for this integrator
+         */
+        static std::string getGillespieName();
+
+        /**
+         * @author WBC
+         * @brief Get the description for this integrator
+         * @note Delegates to @ref getDescription
+         */
+        std::string getDescription() const;
+
+        /**
+         * @author JKM
+         * @brief Get the description for this integrator
+         */
+        static std::string getGillespieDescription();
+
+        /**
+         * @author WBC
+         * @brief Get the hint for this integrator
+         * @note Delegates to @ref getHint
+         */
+        std::string getHint() const;
+
+        /**
+         * @author JKM
+         * @brief Get the hint for this integrator
+         */
+        static std::string getGillespieHint();
+
+        // ** Getters / Setters ************************************************
+
+        /**
+         * @author WBC, ETS
+         * @brief Always stochastic for Gillespie
+         */
+        IntegrationMethod getIntegrationMethod() const;
+
+        /**
+         * @author WBC, ETS
+         * @brief Sets the value of an integrator setting (e.g. absolute_tolerance)
+         */
+        void setValue(std::string setting, const Variant& value);
+
+        /**
+        * @author JKM
+        * @brief Reset all integrator settings to their respective default values
+        */
+        void resetSettings();
+
+        // ** Integration Routines *********************************************
+
+        /**
+         * @author WBC, ETS
+         * @brief Main integration routine
+         */
+        double integrate(double t0, double tf);
+
+        /**
+         * @author WBC, ETS
+         * @brief Reset time to zero and reinitialize model
+         */
+        void restart(double timeStart);
+
+        // ** Listeners ********************************************************
+
+        /**
+         * @author WBC, ETS
+         * @brief Gets the integrator listener
+         */
+        IntegratorListenerPtr getListener();
+
+        /**
+         * @author WBC, ETS
+         * @brief Sets the integrator listener
+         */
+        void setListener(IntegratorListenerPtr);
+
+    private:
+        ExecutableModel *model;
+        cxx11_ns::mt19937 engine;
+        //unsigned long seed;
+        double timeScale;
+        double stoichScale;
+        int nReactions;
+        int floatingSpeciesStart;		// starting index of floating species
+        double* reactionRates;
+        double* reactionRatesBuffer;
+        int stateVectorSize;
+        double* stateVector;
+        double* stateVectorRate;
+        // m rows x n cols
+        // offset = row*NUMCOLS + column
+        int stoichRows;
+        int stoichCols;
+        double* stoichData;
+        std::vector<unsigned char> eventStatus;
+        std::vector<unsigned char> previousEventStatus;
+
+        void testRootsAtInitialTime();
+        void applyEvents(double timeEnd, std::vector<unsigned char> &previousEventStatus);
+
+        double urand();
+        void setEngineSeed(unsigned long seed);
+        unsigned long getSeed() const;
+
+        inline double getStoich(uint species, uint reaction)
+        {
+            return stoichData[species * stoichCols + reaction];
+        }
+
+        /**
+        * @author JKM
+        * @brief Initialize model-specific variables
+        * @details Called whenever a model is loaded or a Gillespie
+        * integrator is constructed
+        */
+        void initializeFromModel();
+    };
+
+
+    // ** Registration *********************************************************
+
+
+    class GillespieIntegratorRegistrar : public IntegratorRegistrar {
+        public:
+            /**
+            * @author JKM
+            * @brief Gets the name associated with this integrator type
+            */
+            virtual std::string getName() const {
+                return GillespieIntegrator::getGillespieName();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the description associated with this integrator type
+            */
+            virtual std::string getDescription() const {
+                return GillespieIntegrator::getGillespieDescription();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the hint associated with this integrator type
+            */
+            virtual std::string getHint() const {
+                return GillespieIntegrator::getGillespieHint();
+            }
+
+            /**
+            * @author JKM
+            * @brief Constructs a new integrator of a given type
+            */
+            virtual Integrator* construct(ExecutableModel *model) const {
+                return new GillespieIntegrator(model);
+            }
+    };
+
+} /* namespace rr */
+
+#endif /* GILLESPIEINTEGRATOR_H_ */
diff --git a/source/GitInfo.h.in b/source/GitInfo.h.in
new file mode 100644
index 0000000..e94fca0
--- /dev/null
+++ b/source/GitInfo.h.in
@@ -0,0 +1,28 @@
+/*
+ * GitInfo.h
+ *
+ *  Created on: Sep 7, 2013
+ *      Author: andy
+ *
+ * A file that is pre-processed by cmake to generate a GitInfo.h.
+ * The generated file is intended to be include only in VersionInfo.cpp
+ * as a way to get info about what git branch we are on. 
+ * 
+ * this has a few static (so they only show up in the current compilation unit)
+ * function get return info about the git branch and last commit. 
+ */
+
+#ifndef GITINFO_H_
+#define GITINFO_H_
+
+
+static const char* getGitBranch() {
+    return "@ROADRUNNER_GIT_BRANCH@";
+}
+
+
+static const char* getGitLastCommit() {
+    return "@ROADRUNNER_GIT_LAST_COMMIT@";
+}
+
+#endif
diff --git a/source/Integrator.cpp b/source/Integrator.cpp
new file mode 100644
index 0000000..84662bb
--- /dev/null
+++ b/source/Integrator.cpp
@@ -0,0 +1,116 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file Integrator.cpp
+* @author ETS, WBC, JKM
+* @date Apr 25, 2014
+* @copyright Apache License, Version 2.0
+* @brief Contains the base class for RoadRunner integrators
+**/
+
+// == INCLUDES ================================================
+
+#include "Integrator.h"
+// #include "CVODEIntegrator.h"
+// #include "GillespieIntegrator.h"
+// #include "RK4Integrator.h"
+// #include "EulerIntegrator.h"
+#include "rrExecutableModel.h"
+#include "rrStringUtils.h"
+#include "rrConfig.h"
+#include "rrUtils.h"
+#include <typeinfo>
+
+// == CODE ====================================================
+
+using namespace std;
+namespace rr
+{
+	/*------------------------------------------------------------------------------------------
+		INTEGRATOR
+	  ------------------------------------------------------------------------------------------*/
+
+    void Integrator::syncWithModel(ExecutableModel* m) {}
+
+    void Integrator::loadConfigSettings() {}
+
+    void Integrator::loadSBMLSettings(const std::string& filename)
+    {
+        // Stub for loading SBML settings (can override in derived classes).
+    }
+
+    /* TODO: Create getType() method. */
+
+    std::string Integrator::toString() const
+    {
+        std::stringstream ss;
+        ss << "< roadrunner.Integrator() >\n";
+        ss << "  name: " << getName() << "\n";
+        ss << "  settings:\n";
+        ss << getSettingsRepr();
+        return ss.str();
+
+    }
+
+    std::string Integrator::toRepr() const
+    {
+        std::stringstream ss;
+        ss << "< roadrunner.Integrator() \"" << getName() << "\" " << settingsPyDictRepr() << " >\n";
+        return ss.str();
+    }
+
+    void Integrator::tweakTolerances() {}
+
+    IntegratorRegistrar::~IntegratorRegistrar() {}
+
+    /********************************************************************************************
+    * INTEGRATOR FACTORY
+    ********************************************************************************************/
+
+    IntegratorFactory::~IntegratorFactory() {
+        for (IntegratorRegistrars::const_iterator it(mRegisteredIntegrators.begin()); it != mRegisteredIntegrators.end(); ++it) {
+            delete *it;
+        }
+    }
+
+    Integrator* IntegratorFactory::New(std::string name, ExecutableModel* m) const {
+        for (IntegratorRegistrars::const_iterator it(mRegisteredIntegrators.begin()); it != mRegisteredIntegrators.end(); ++it) {
+            if ((*it)->getName() == name) {
+                return (*it)->construct(m);
+            }
+        }
+        throw InvalidKeyException("No such integrator: " + name);
+    }
+
+    void IntegratorFactory::registerIntegrator(IntegratorRegistrar* i) {
+        if (!i)
+            throw CoreException("Registrar is null");
+        mRegisteredIntegrators.push_back(i);
+    }
+
+    IntegratorFactory& IntegratorFactory::getInstance() {
+        // FIXME: not thread safe -- JKM, July 24, 2015.
+        static IntegratorFactory factory;
+        return factory;
+    }
+
+    std::size_t IntegratorFactory::getNumIntegrators() const {
+        return mRegisteredIntegrators.size();
+    }
+
+    std::string IntegratorFactory::getIntegratorName(std::size_t n) const {
+        return mRegisteredIntegrators.at(n)->getName();
+    }
+
+    std::string IntegratorFactory::getIntegratorHint(std::size_t n) const {
+        return mRegisteredIntegrators.at(n)->getHint();
+    }
+
+    std::string IntegratorFactory::getIntegratorDescription(std::size_t n) const {
+        return mRegisteredIntegrators.at(n)->getDescription();
+    }
+
+}
diff --git a/source/Integrator.h b/source/Integrator.h
new file mode 100644
index 0000000..2e05f69
--- /dev/null
+++ b/source/Integrator.h
@@ -0,0 +1,223 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file Integrator.h
+* @author ETS, WBC, JKM
+* @date Sep 7, 2013
+* @copyright Apache License, Version 2.0
+* @brief Contains the base class for RoadRunner integrators
+**/
+
+# ifndef RR_INTEGRATOR_H_
+# define RR_INTEGRATOR_H_
+
+// == INCLUDES ================================================
+
+# include "rrLogger.h"
+# include "rrOSSpecifics.h"
+# include "Dictionary.h"
+# include "rrException.h"
+# include "Solver.h"
+
+# include "tr1proxy/rr_memory.h"
+# include "tr1proxy/rr_unordered_map.h"
+# include <stdexcept>
+
+// == CODE ====================================================
+
+namespace rr
+{
+
+	class Integrator;
+	class ExecutableModel;
+
+	/*-------------------------------------------------------------------------------------------
+		IntegratorListener listens for integrator events.
+	---------------------------------------------------------------------------------------------*/
+	class IntegratorListener
+	{
+	public:
+
+		/**
+		* is called after the internal integrator completes each internal time step.
+		*/
+		virtual uint onTimeStep(Integrator* integrator, ExecutableModel* model, double time) = 0;
+
+		/**
+		* whenever model event occurs and after it is procesed.
+		*/
+		virtual uint onEvent(Integrator* integrator, ExecutableModel* model, double time) = 0;
+
+		virtual ~IntegratorListener() {};
+	};
+
+	typedef cxx11_ns::shared_ptr<IntegratorListener> IntegratorListenerPtr;
+
+	/*-------------------------------------------------------------------------------------------
+		Integrator is an abstract base class that provides an interface to specific integrator
+		class implementations.
+	---------------------------------------------------------------------------------------------*/
+	class RR_DECLSPEC Integrator : public Solver
+	{
+	public:
+		enum IntegrationMethod
+		{
+			Deterministic,
+			Stochastic,
+			Hybrid,
+			Other
+		};
+
+		virtual ~Integrator() {};
+
+        virtual IntegrationMethod getIntegrationMethod() const = 0;
+
+        /**
+        * @author JKM
+        * @brief Called whenever a new model is loaded to allow integrator
+        * to reset internal state
+        */
+        virtual void syncWithModel(ExecutableModel* m);
+
+		virtual void loadConfigSettings();
+		virtual void loadSBMLSettings(const std::string& filename);
+
+		virtual double integrate(double t0, double hstep) = 0;
+		virtual void restart(double t0) = 0;
+
+    /**
+     * @author JKM, WBC, ETS, MTK
+     * @brief Fix tolerances for SBML tests
+     * @details In order to ensure that the results of the SBML test suite
+     * remain valid, this method enforces a lower bound on tolerance values.
+     * Sets minimum absolute and relative tolerances to
+     * Config::CVODE_MIN_ABSOLUTE and Config::CVODE_MIN_RELATIVE resp.
+     */
+    virtual void tweakTolerances();
+
+		/* CARRYOVER METHODS */
+		virtual void setListener(IntegratorListenerPtr) = 0;
+		virtual IntegratorListenerPtr getListener() = 0;
+		std::string toString() const;
+
+    /**
+    * @author JKM
+    * @brief Return string representation a la Python __repr__ method
+    */
+    virtual std::string toRepr() const;
+		/* !-- END OF CARRYOVER METHODS */
+	};
+
+
+	class IntegratorException : public std::runtime_error
+	{
+	public:
+		explicit IntegratorException(const std::string& what) :
+			std::runtime_error(what)
+		{
+				Log(rr::Logger::LOG_ERROR) << __FUNC__ << "what: " << what;
+			}
+
+		explicit IntegratorException(const std::string& what, const std::string &where) :
+			std::runtime_error(what + "; In " + where)
+		{
+				Log(rr::Logger::LOG_ERROR) << __FUNC__ << "what: " << what << ", where: " << where;
+			}
+	};
+
+    /**
+     * @author JKM, WBC
+     * @brief Handles constructing an integrator and contains meta
+     * information about it
+     */
+    class RR_DECLSPEC IntegratorRegistrar
+    {
+    protected:
+        typedef Integrator* (*IntegratorCtor)(ExecutableModel *model);
+    public:
+        virtual ~IntegratorRegistrar();
+
+        /**
+         * @author JKM, WBC
+         * @brief Gets the name associated with this integrator type
+         */
+        virtual std::string getName() const = 0;
+
+        /**
+         * @author JKM, WBC
+         * @brief Gets the description associated with this integrator type
+         */
+        virtual std::string getDescription() const = 0;
+
+        /**
+         * @author JKM, WBC
+         * @brief Gets the hint associated with this integrator type
+         */
+        virtual std::string getHint() const = 0;
+
+        /**
+         * @author JKM, WBC
+         * @brief Constructs a new integrator of a given type
+         */
+        virtual Integrator* construct(ExecutableModel *model) const = 0;
+    };
+
+    /**
+     * @author JKM, WBC
+     * @brief Constructs new integrators
+     * @details Implements the factory and singleton patterns.
+     * Constructs a new integrator given the name (e.g. cvode, gillespie)
+     * and returns a base pointer to @ref rr::Integrator.
+     */
+    class RR_DECLSPEC IntegratorFactory
+    {
+    public:
+        virtual ~IntegratorFactory();
+
+        /**
+         * @author JKM, WBC
+         * @brief Constructs a new integrator given the name
+         * (e.g. cvode, gillespie)
+         */
+        Integrator* New(std::string name, ExecutableModel *m) const;
+
+        /**
+         * @author JKM, WBC
+         * @brief Registers a new integrator with the factory
+         * so that it can be constructed
+         * @details Should be called at startup for new integrators.
+         */
+        void registerIntegrator(IntegratorRegistrar* i);
+
+        /**
+         * @author JKM, WBC
+         * @brief Returns the singleton instance of the integrator factory
+         */
+        static IntegratorFactory& getInstance();
+
+        // ** Indexing *********************************************************
+
+        std::size_t getNumIntegrators() const;
+
+        std::string getIntegratorName(std::size_t n) const;
+
+        std::string getIntegratorHint(std::size_t n) const;
+
+        std::string getIntegratorDescription(std::size_t n) const;
+
+    private:
+        /**
+         * @author JKM, WBC
+         * @brief Prevents external instantiation
+         */
+        IntegratorFactory() {}
+        typedef std::vector<IntegratorRegistrar*> IntegratorRegistrars;
+        IntegratorRegistrars mRegisteredIntegrators;
+    };
+
+}
+
+# endif /* RR_INTEGRATOR_H_ */
diff --git a/source/IntegratorRegistration.cpp b/source/IntegratorRegistration.cpp
new file mode 100644
index 0000000..c06b022
--- /dev/null
+++ b/source/IntegratorRegistration.cpp
@@ -0,0 +1,54 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file IntegratorRegistration.cpp
+* @author JKM
+* @date 07/31/2015
+* @copyright Apache License, Version 2.0
+* @brief Registers the integrators at startup
+**/
+
+// == INCLUDES ================================================
+
+# include "rrConfigure.h"
+# include "IntegratorRegistration.h"
+# include "Integrator.h"
+# include "CVODEIntegrator.h"
+# include "GillespieIntegrator.h"
+# include "RK4Integrator.h"
+# include "EulerIntegrator.h"
+# include "RK45Integrator.h"
+
+# if RR_USE_CXX11
+#   include <mutex>
+# endif
+// == CODE ====================================================
+
+namespace rr
+{
+    // call exactly once
+    static void register_integrators_at_init() {
+        IntegratorFactory::getInstance().registerIntegrator(new CVODEIntegratorRegistrar());
+        IntegratorFactory::getInstance().registerIntegrator(new GillespieIntegratorRegistrar());
+        IntegratorFactory::getInstance().registerIntegrator(new RK4IntegratorRegistrar());
+        IntegratorFactory::getInstance().registerIntegrator(new RK45IntegratorRegistrar());
+//         IntegratorFactory::getInstance().registerIntegrator(new EulerIntegratorRegistrar());
+    }
+
+    void IntegratorRegistrationMgr::Register() {
+# if RR_USE_CXX11
+        static std::once_flag flag;
+        std::call_once(flag, register_integrators_at_init());
+# else
+        // WARNING: not thread safe
+        static bool flag = false;
+        if (!flag) {
+            flag = true;
+            register_integrators_at_init();
+        }
+# endif
+    }
+}
\ No newline at end of file
diff --git a/source/IntegratorRegistration.h b/source/IntegratorRegistration.h
new file mode 100644
index 0000000..7921925
--- /dev/null
+++ b/source/IntegratorRegistration.h
@@ -0,0 +1,41 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file IntegratorRegistration.h
+* @author JKM
+* @date 07/31/2015
+* @copyright Apache License, Version 2.0
+* @brief Registers the integrators at startup
+**/
+
+#ifndef RR_INTEGRATOR_REGISTRATION_H_
+#define RR_INTEGRATOR_REGISTRATION_H_
+
+// == INCLUDES ================================================
+
+// == CODE ====================================================
+
+namespace rr
+{
+
+    /**
+    * @author JKM
+    * @brief Registers all integrators at startup via @ref IntegratorRegistrationMgr::Register
+    */
+    class IntegratorRegistrationMgr {
+        public:
+            /**
+             * @author JKM
+             * @brief Registers all integrators at startup
+             * @details Is run at first instantiation of @ref RoadRunner.
+             * Subsequent calls have no effect.
+             */
+            static void Register();
+    };
+
+}
+
+#endif /* RR_INTEGRATOR_REGISTRATION_H_ */
diff --git a/source/NLEQSolver.cpp b/source/NLEQSolver.cpp
new file mode 100644
index 0000000..c2b286e
--- /dev/null
+++ b/source/NLEQSolver.cpp
@@ -0,0 +1,100 @@
+#pragma hdrstop
+#include "NLEQSolver.h"
+#include "rrExecutableModel.h"
+#include "rrStringUtils.h"
+#include "rrUtils.h"
+#include "nleq/nleq1.h"
+#include "rrLogger.h"
+#include "rrUtils.h"
+#include "rrException.h"
+#include "rrConfig.h"
+#include "rrNLEQInterface.h"
+
+#include <Poco/Mutex.h>
+#include <assert.h>
+#include <math.h>
+#include <vector>
+#include "tr1proxy/rr_unordered_map.h"
+
+namespace rr
+{
+
+NLEQSolver::NLEQSolver(ExecutableModel *_model) :
+    model(_model)
+{
+    resetSettings();
+}
+
+NLEQSolver::~NLEQSolver()
+{
+}
+
+void NLEQSolver::syncWithModel(ExecutableModel* m)
+{
+    model = m;
+}
+
+void NLEQSolver::loadConfigSettings()
+{
+	SteadyStateSolver::loadConfigSettings();
+	// Load settings specific to solver integrator
+
+	NLEQSolver::setValue("maximum_iterations", Config::getInt(Config::STEADYSTATE_MAXIMUM_NUM_STEPS));
+	NLEQSolver::setValue("relative_tolerance", Config::getDouble(Config::STEADYSTATE_RELATIVE));
+	NLEQSolver::setValue("minimum_damping", Config::getDouble(Config::STEADYSTATE_MINIMUM_DAMPING));
+}
+
+void NLEQSolver::resetSettings()
+{
+    Solver::resetSettings();
+
+    // Set default settings.
+    addSetting("maximum_iterations", 100, "Maximum Iterations", "The maximum number of iterations the solver is allowed to use (int)", "(int) Iteration caps off at the maximum, regardless of whether a solution has been reached");
+    addSetting("minimum_damping", 1e-4, "Minimum Damping", "The minimum damping factor (double).", "(double) Minumum damping factor used by the algorithm");
+    addSetting("relative_tolerance", 1e-16, "Relative Tolerance", "Specifies the relative tolerance (double).", "(double) Relative tolerance used by the solver");
+    NLEQSolver::loadConfigSettings();
+}
+
+std::string NLEQSolver::getName() const {
+	return NLEQSolver::getNLEQName();
+}
+
+std::string NLEQSolver::getNLEQName() {
+	return "nleq";
+}
+
+std::string NLEQSolver::getDescription() const {
+	return NLEQSolver::getNLEQDescription();
+}
+
+std::string NLEQSolver::getNLEQDescription() {
+	return "NLEQ is a non-linear equation solver which uses a global Newton "
+     "method with adaptive damping strategies (see http://www.zib.de/weimann/NewtonLib/index.html)";
+}
+
+std::string NLEQSolver::getHint() const {
+	return NLEQSolver::getNLEQHint();
+}
+
+std::string NLEQSolver::getNLEQHint() {
+	return "Steady-state nonlinear systems of equations solver";
+}
+
+double NLEQSolver::solve()
+{
+    Log(Logger::LOG_DEBUG) << "NLEQSolver::solve";
+
+    NLEQInterface* nleq = new NLEQInterface(model);
+
+//     nleq->maxIterations = getValue("maximum_iterations");
+//     nleq->relativeTolerance = getValue("relative_tolerance");
+//     nleq->minDamping = getValue("minimum_damping");
+
+    double result = nleq->solve();
+    delete nleq;
+    return result;
+}
+
+}    //end of namespace
+
+
diff --git a/source/NLEQSolver.h b/source/NLEQSolver.h
new file mode 100644
index 0000000..933b6d1
--- /dev/null
+++ b/source/NLEQSolver.h
@@ -0,0 +1,137 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file NLEQSolver.h
+* @author ETS, WBC, JKM
+* @date 08/03/2015
+* @copyright Apache License, Version 2.0
+* @brief Provides an interface to NLEQ
+**/
+
+#ifndef rrNLEQSolverH
+#define rrNLEQSolverH
+#include <vector>
+#include "SteadyStateSolver.h"
+#include "rrExecutableModel.h"
+using std::vector;
+
+namespace rr
+{
+
+/**
+ * @internal
+ */
+class RR_DECLSPEC NLEQSolver : public SteadyStateSolver
+{
+    public:
+        /**
+        * Creates a new Instance of NLEQ for the given Model
+        */
+        NLEQSolver(ExecutableModel *_model = NULL);
+        ~NLEQSolver();
+
+        /**
+        * @author JKM
+        * @brief Called whenever a new model is loaded to allow integrator
+        * to reset internal state
+        */
+        virtual void syncWithModel(ExecutableModel* m);
+
+        void loadConfigSettings();
+
+        /**
+        * @author JKM
+        * @brief Reset all integrator settings to their respective default values
+        */
+        void resetSettings();
+
+        /**
+        * @author WBC, JKM
+        * @brief Get the name for this Solver
+        * @note Delegates to @ref getName
+        */
+        std::string getName() const;
+
+        /**
+        * @author JKM
+        * @brief Get the name for this Solver
+        */
+        static std::string getNLEQName();
+
+        /**
+        * @author WBC
+        * @brief Get the description for this Solver
+        * @note Delegates to @ref getDescription
+        */
+        std::string getDescription() const;
+
+        /**
+        * @author JKM
+        * @brief Get the description for this Solver
+        */
+        static std::string getNLEQDescription();
+
+        /**
+        * @author WBC
+        * @brief Get the hint for this Solver
+        * @note Delegates to @ref getHint
+        */
+        std::string getHint() const;
+
+        /**
+        * @author JKM
+        * @brief Get the hint for this Solver
+        */
+        static std::string getNLEQHint();
+
+        // ** Solver routines
+        double solve();
+
+    private:
+        ExecutableModel *model; // Model generated from the SBML. Static so we can access it from standalone function
+};
+
+
+    // ** Registration *********************************************************
+
+
+    class NLEQSolverRegistrar : public SteadyStateSolverRegistrar {
+        public:
+            /**
+            * @author JKM
+            * @brief Gets the name associated with this integrator type
+            */
+            virtual std::string getName() const {
+                return NLEQSolver::getNLEQName();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the description associated with this integrator type
+            */
+            virtual std::string getDescription() const {
+                return NLEQSolver::getNLEQDescription();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the hint associated with this integrator type
+            */
+            virtual std::string getHint() const {
+                return NLEQSolver::getNLEQHint();
+            }
+
+            /**
+            * @author JKM
+            * @brief Constructs a new integrator of a given type
+            */
+            virtual SteadyStateSolver* construct(ExecutableModel *model) const {
+                return new NLEQSolver(model);
+            }
+    };
+}
+
+#endif
diff --git a/source/RK45Integrator.cpp b/source/RK45Integrator.cpp
new file mode 100644
index 0000000..9135403
--- /dev/null
+++ b/source/RK45Integrator.cpp
@@ -0,0 +1,349 @@
+/*
+ * RK45Integrator.cpp
+ *
+ *  Created on: Jul 22, 2014
+ *      Author: andy
+ */
+
+#include <RK45Integrator.h>
+#include <rrExecutableModel.h>
+
+#include <cassert>
+#include <math.h>
+
+extern "C" {
+#include <clapack/f2c.h>
+#include <clapack/clapack.h>
+}
+
+namespace rr
+{
+
+    RK45Integrator::RK45Integrator(ExecutableModel *m)
+    {
+        Log(Logger::LOG_NOTICE) << "Creating Runge-Kutta Fehlberg integrator";
+        stateVectorSize = hCurrent = hmin = hmax = 0;
+        k1 = k2 = k3 = k4 = k5 = k6 = err = y = ytmp = NULL;
+        syncWithModel(m);
+    }
+
+    void RK45Integrator::syncWithModel(ExecutableModel* m)
+    {
+        // free existing memory
+        delete []k1;
+        delete []k2;
+        delete []k3;
+        delete []k4;
+        delete []k5;
+        delete []k6;
+        delete []err;
+        delete []y;
+        delete []ytmp;
+
+        model = m;
+
+        resetSettings();
+
+        if (model) {
+            stateVectorSize = model->getStateVector(NULL);
+            k1 = new double[stateVectorSize];
+            k2 = new double[stateVectorSize];
+            k3 = new double[stateVectorSize];
+            k4 = new double[stateVectorSize];
+            k5 = new double[stateVectorSize];
+            k6 = new double[stateVectorSize];
+            err = new double[stateVectorSize];
+            y = new double[stateVectorSize];
+            ytmp = new double[stateVectorSize];
+            hCurrent = 0.;
+            hmin = getValueAsDouble("minimum_time_step"); // TODO: replace hmin with getValueAsDouble("minimum_time_step")
+            hmax = getValueAsDouble("maximum_time_step"); // TODO: replace hmax with getValueAsDouble("maximum_time_step")
+        } else {
+            stateVectorSize = hCurrent = hmin = hmax = 0;
+            k1 = k2 = k3 = k4 = k5 = k6 = err = y = ytmp = NULL;
+        }
+    }
+
+    RK45Integrator::~RK45Integrator()
+    {
+        delete []k1;
+        delete []k2;
+        delete []k3;
+        delete []k4;
+        delete []k5;
+        delete []k6;
+        delete []err;
+        delete []y;
+        delete []ytmp;
+    }
+
+    double RK45Integrator::integrate(double t, double tEnd)
+    {
+        double h = getValueAsDouble("initial_time_step");
+        if (hCurrent != 0.)
+          h = hCurrent;
+        // NOTE: @kirichoi, please implement rk45 here
+//         static const double epsilon = 1e-3;
+//         double tf = 0;
+        bool singleStep;
+
+        assert(h > hmin && "h must be > hmin");
+//         tf = t + h;
+        singleStep = false;
+
+        if (!model) {
+            throw std::runtime_error("RK45Integrator::integrate: No model");
+        }
+
+        Log(Logger::LOG_DEBUG) <<
+                "RK45Integrator::integrate(" << t << ", " << h << ")";
+
+        // blas daxpy: y -> y + \alpha x
+        integer n = stateVectorSize;
+        integer inc = 1;
+        integer i;
+        double alpha = 0;
+        double error, q;
+
+        do {
+          assert(h > 1e-13);
+
+          model->setTime(t);
+
+          model->getStateVector(y);
+
+          // k1 = f(t_n, y_n)
+          model->getStateVectorRate(t, y, k1);
+
+          // k2 = f(t_n + h/4, y_n + (h/4) * k_1)
+          alpha = h/4.;
+          dcopy_(&n, y, &inc, ytmp, &inc);
+          daxpy_(&n, &alpha, k1, &inc, ytmp, &inc);
+          model->getStateVectorRate(t + alpha, ytmp, k2);
+
+          // k3 = f(t_n + 3*h/8, y_n + (3*h/32) * k_1 + (9*h/32) * k_2)
+          alpha = 3*h/32.;
+          dcopy_(&n, y, &inc, ytmp, &inc);
+          daxpy_(&n, &alpha, k1, &inc, ytmp, &inc);
+          alpha = 9*h/32.;
+          daxpy_(&n, &alpha, k2, &inc, ytmp, &inc);
+          alpha = 3*h/8.;
+          model->getStateVectorRate(t + alpha, ytmp, k3);
+
+          // k4 = f(t_n + 12*h/13, y_n + (1932*h/2197) * k_1 - (7200*h/2197) * k_2 + (7296*h/2197) * k_3)
+          alpha = 1932*h/2197.;
+          dcopy_(&n, y, &inc, ytmp, &inc);
+          daxpy_(&n, &alpha, k1, &inc, ytmp, &inc);
+          alpha = -7200*h/2197.;
+          daxpy_(&n, &alpha, k2, &inc, ytmp, &inc);
+          alpha = 7296*h/2197.;
+          daxpy_(&n, &alpha, k3, &inc, ytmp, &inc);
+          alpha = 12*h/13.;
+          model->getStateVectorRate(t + alpha, ytmp, k4);
+
+          // k5 = f(t_n + h, y_n + (439*h/216) * k_1 - (8*h) * k_2 + (3680*h/513) * k_3 - (845*h/4104) * k_4)
+          alpha = 439*h/216.;
+          dcopy_(&n, y, &inc, ytmp, &inc);
+          daxpy_(&n, &alpha, k1, &inc, ytmp, &inc);
+          alpha = -8.*h;
+          daxpy_(&n, &alpha, k2, &inc, ytmp, &inc);
+          alpha = 3680*h/513.;
+          daxpy_(&n, &alpha, k3, &inc, ytmp, &inc);
+          alpha = -845*h/4104.;
+          daxpy_(&n, &alpha, k4, &inc, ytmp, &inc);
+          alpha = h;
+          model->getStateVectorRate(t + alpha, ytmp, k5);
+
+          // k6 = f(t_n + h/2, y_n - (8*h/27) * k_1 + (2*h) * k_2 - (3544*h/2565) * k_3 + (1859*h/4104) * k_4 - (11*h/40) * k_5)
+          alpha = -8*h/27.;
+          dcopy_(&n, y, &inc, ytmp, &inc);
+          daxpy_(&n, &alpha, k1, &inc, ytmp, &inc);
+          alpha = 2.*h;
+          daxpy_(&n, &alpha, k2, &inc, ytmp, &inc);
+          alpha = -3544*h/2565.;
+          daxpy_(&n, &alpha, k3, &inc, ytmp, &inc);
+          alpha = 1859*h/4104.;
+          daxpy_(&n, &alpha, k4, &inc, ytmp, &inc);
+          alpha = -11*h/40.;
+          daxpy_(&n, &alpha, k5, &inc, ytmp, &inc);
+          alpha = h/2.;
+          model->getStateVectorRate(t + alpha, ytmp, k6);
+
+          // E = abs(k1/360 - (128/4275)*k3 - (2197/75240)*k4 + (1/50)*k5 + (2/55)*k6)
+          for (i = 0; i < stateVectorSize; i++) {
+            err[i] = 0.;
+	  }
+          alpha = 1./360;
+          daxpy_(&n, &alpha, k1, &inc, err, &inc);
+          alpha = -128./4275;
+          daxpy_(&n, &alpha, k3, &inc, err, &inc);
+          alpha = -2197./75240;
+          daxpy_(&n, &alpha, k4, &inc, err, &inc);
+          alpha = 1./50;
+          daxpy_(&n, &alpha, k5, &inc, err, &inc);
+          alpha = 2./55;
+          daxpy_(&n, &alpha, k6, &inc, err, &inc);
+          error = dnrm2_(&n, err, &inc);
+          q = 0.84*pow(getValueAsDouble("epsilon")/error, 0.25);
+
+          Log(Logger::LOG_DEBUG) <<
+	    "RK45 step: t = " << t << ", error = " << error << ", epsilon = " << getValueAsDouble("epsilon") << ", h = " << h;
+          if (error <= getValueAsDouble("epsilon")) {
+
+            Log(Logger::LOG_DEBUG) <<
+                  "RK45: Update state vector";
+
+            // y = y + (1408*h/2565) k_3
+            alpha = 1408.*h/2565;
+            daxpy_(&n, &alpha, k3, &inc, y, &inc);
+
+            // y = y + (1408/2565)*h k_3) + (2197/4104)*h k_4
+            alpha = (2197./4104)*h;
+            daxpy_(&n, &alpha, k4, &inc, y, &inc);
+
+
+            // y = (y + (1408/2565)*h k_3 + (2197/4104)*h k_4) - (1/5)*h k_5
+            alpha = (-1./5)*h;
+            daxpy_(&n, &alpha, k5, &inc, y, &inc);
+
+            // y = y + (25/216)*h k_1 + (1408/2565)*h k_3 + (2197/4104)*h k_4 - (1/5)*h k_5
+            alpha = (25./216)*h;
+            daxpy_(&n, &alpha, k1, &inc, y, &inc);
+
+            model->setTime(t + h);
+            model->setStateVector(y);
+            t = t + h;
+
+            for(int i=0; i<stateVectorSize; ++i) {
+              Log(Logger::LOG_DEBUG) << "  " << y[i];
+            }
+          }
+
+          if (q <= 0.1) {
+            h = 0.1*h;
+          } else if (q > 4) {
+            h = 4*h;
+          } else {
+            h = q*h;
+          }
+
+          if (h > hmax) { h = hmax; }
+
+        } while ( error > getValueAsDouble("epsilon") && h > hmin );
+
+        hCurrent = h;
+        if (tEnd - t < hCurrent)
+          hCurrent = tEnd - t;
+
+          Log(Logger::LOG_DEBUG) <<
+                "RK45: end of step";
+        return t;
+    }
+
+    void RK45Integrator::testRootsAtInitialTime()
+    {
+        std::vector<unsigned char> initialEventStatus(model->getEventTriggers(0, 0, 0), false);
+        model->getEventTriggers(initialEventStatus.size(), 0, initialEventStatus.size() == 0 ? NULL : &initialEventStatus[0]);
+        applyEvents(0, initialEventStatus);
+    }
+
+    void RK45Integrator::applyEvents(double timeEnd, std::vector<unsigned char> &previousEventStatus)
+    {
+        model->applyEvents(timeEnd, previousEventStatus.size() == 0 ? NULL : &previousEventStatus[0], y, y);
+    }
+
+    void RK45Integrator::restart(double t0)
+    {
+        if (!model) {
+            return;
+        }
+
+        if (t0 <= 0.0) {
+            if (y)
+            {
+                model->getStateVector(y);
+            }
+
+            testRootsAtInitialTime();
+        }
+
+        model->setTime(t0);
+
+        // copy state vector into memory
+        if (y)
+        {
+            model->getStateVector(y);
+        }
+    }
+
+    void RK45Integrator::setListener(IntegratorListenerPtr)
+    {
+    }
+
+    IntegratorListenerPtr RK45Integrator::getListener()
+    {
+        return IntegratorListenerPtr();
+    }
+
+    std::string RK45Integrator::toString() const
+    {
+        return toRepr();
+    }
+
+    std::string RK45Integrator::toRepr() const
+    {
+        std::stringstream ss;
+        ss << "< roadrunner.RK45Integrator() { 'this' : "
+                << (void*)this << " }>";
+        return ss.str();
+    }
+
+    std::string RK45Integrator::getName() const {
+        return RK45Integrator::getRK45Name();
+    }
+
+    std::string RK45Integrator::getRK45Name() {
+        return "rk45";
+    }
+
+    std::string RK45Integrator::getDescription() const {
+        return RK45Integrator::getRK45Description();
+    }
+
+    std::string RK45Integrator::getRK45Description() {
+        return "Kiri, please fill in";
+    }
+
+    std::string RK45Integrator::getHint() const {
+        return RK45Integrator::getRK45Hint();
+    }
+
+    std::string RK45Integrator::getRK45Hint() {
+        return "Internal RK45 ODE solver";
+    }
+
+    Variant RK45Integrator::getValue(std::string key)
+    {
+        if (key == "variable_step_size")
+            return true;
+        else
+            return Integrator::getValue(key);
+    }
+
+    Integrator::IntegrationMethod RK45Integrator::getIntegrationMethod() const
+    {
+        return Integrator::Deterministic;
+    }
+
+    void RK45Integrator::resetSettings()
+    {
+        Solver::resetSettings();
+
+        addSetting("variable_step_size", false, "Variable Step Size", "Perform a variable time step simulation. (bool)", "(bool) Enabling this setting will allow the integrator to adapt the size of each time step. This will result in a non-uniform time column.");
+        addSetting("initial_time_step",  0.5, "Initial Time Step", "Specifies the initial time step size. (double)", "(double) Specifies the initial time step size. If inappropriate, CVODE will attempt to estimate a better initial time step.");
+        addSetting("minimum_time_step",  1e-12, "Minimum Time Step", "Specifies the minimum absolute value of step size allowed. (double)", "(double) The minimum absolute value of step size allowed.");
+        addSetting("maximum_time_step",  1.0, "Maximum Time Step", "Specifies the maximum absolute value of step size allowed. (double)", "(double) The maximum absolute value of step size allowed.");
+        addSetting("epsilon",  1e-12, "Maximum error", "TODO: fill in. (double)", "(double) TODO: fill in.");
+    }
+
+} /* namespace rr */
diff --git a/source/RK45Integrator.h b/source/RK45Integrator.h
new file mode 100644
index 0000000..faeb07e
--- /dev/null
+++ b/source/RK45Integrator.h
@@ -0,0 +1,220 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file RK45Integrator.h
+* @author KC
+* @date 10/02/2015
+* @copyright Apache License, Version 2.0
+* @brief A Runge-Kutta Fehlberg method for roadrunner.
+**/
+
+#ifndef RK45Integrator_H_
+#define RK45Integrator_H_
+
+#include <Integrator.h>
+#include <rrRoadRunnerOptions.h>
+
+namespace rr
+{
+
+
+    /**
+     * @author KC
+     * @brief A Runge-Kutta Fehlberg method for roadrunner
+     * @details Uses the Fehlberg method, an adaptive step
+     * method, to integrate models.
+     */
+    class RK45Integrator: public Integrator
+    {
+    public:
+        /**
+         * @author KC
+         * @brief Constructor: takes an executable model, does not own the pointer
+         */
+        RK45Integrator(ExecutableModel *m);
+
+        /**
+         * @author KC
+         * @brief Destructor
+         */
+        virtual ~RK45Integrator();
+
+        /**
+        * @author JKM
+        * @brief Called whenever a new model is loaded to allow integrator
+        * to reset internal state
+        */
+        virtual void syncWithModel(ExecutableModel* m);
+
+
+        /**
+        * implement Integrator interface
+        */
+    public:
+
+        /**
+         * @author CC
+         * @brief Integrates the model from t to t + h.
+         * @details Attempts to find the state vector at
+         * t + h, and returns time t + h if successful.
+         * If the integrator does not find a convergent
+         * solution, the state vector is not updated and 
+         * t is returned.
+         * Also calculates a new timestep and saves it 
+         * to a member variable for future use.
+         */
+        virtual double integrate(double t, double h);
+
+        /**
+         * @brief Restarts the integrator
+         */
+        virtual void restart(double t0);
+
+        /**
+         * @brief Get a description of this object, compatable with python __str__
+         */
+        virtual std::string toString() const;
+
+        /**
+         * @brief Get a short descriptions of this object, compatable with python __repr__.
+         */
+        virtual std::string toRepr() const;
+
+        // ** Meta Info ********************************************************
+
+        /**
+         * @author JKM
+         * @brief Get the name for this integrator
+         * @note Delegates to @ref getName
+         */
+        std::string getName() const;
+
+        /**
+         * @author JKM
+         * @brief Get the name for this integrator
+         */
+        static std::string getRK45Name();
+
+        /**
+         * @author JKM
+         * @brief Get the description for this integrator
+         * @note Delegates to @ref getDescription
+         */
+        std::string getDescription() const;
+
+        /**
+         * @author JKM
+         * @brief Get the description for this integrator
+         */
+        static std::string getRK45Description();
+
+        /**
+         * @author WBC
+         * @brief Get the hint for this integrator
+         * @note Delegates to @ref getHint
+         */
+        std::string getHint() const;
+
+        /**
+         * @author JKM
+         * @brief Get the hint for this integrator
+         */
+        static std::string getRK45Hint();
+
+        // ** Getters / Setters ************************************************
+
+        virtual Variant getValue(std::string key);
+
+        /**
+         * @author JKM
+         * @brief Always deterministic for RK45
+         */
+        IntegrationMethod getIntegrationMethod() const;
+
+        /**
+        * @author JKM
+        * @brief Reset all integrator settings to their respective default values
+        */
+        void resetSettings();
+
+        // ** Listeners ********************************************************
+
+        /**
+        * the integrator can hold a single listener. If clients require multicast,
+        * they can create a multi-cast listener.
+        */
+        virtual void setListener(IntegratorListenerPtr);
+
+        /**
+        * get the integrator listener
+        */
+        virtual IntegratorListenerPtr getListener();
+
+    public:
+
+
+    private:
+        ExecutableModel *model;
+
+        unsigned stateVectorSize;
+
+        /**
+        * arrays to store function eval values.
+        */
+        double *k1, *k2, *k3, *k4, *y, *ytmp;
+
+        // new scalars for RK45
+        double hCurrent, hmin, hmax;
+
+        double *k5, *k6, *err;
+
+        void testRootsAtInitialTime();
+        void applyEvents(double timeEnd, std::vector<unsigned char> &previousEventStatus);
+
+    };
+
+
+    // ** Registration *********************************************************
+
+
+    class RK45IntegratorRegistrar : public IntegratorRegistrar {
+        public:
+            /**
+            * @author JKM
+            * @brief Gets the name associated with this integrator type
+            */
+            virtual std::string getName() const {
+                return RK45Integrator::getRK45Name();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the description associated with this integrator type
+            */
+            virtual std::string getDescription() const {
+                return RK45Integrator::getRK45Description();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the hint associated with this integrator type
+            */
+            virtual std::string getHint() const {
+                return RK45Integrator::getRK45Hint();
+            }
+
+            /**
+            * @author JKM
+            * @brief Constructs a new integrator of a given type
+            */
+            virtual Integrator* construct(ExecutableModel *model) const {
+                return new RK45Integrator(model);
+            }
+    };
+
+} /* namespace rr */
+
+#endif /* RK45Integrator_H_ */
diff --git a/source/RK4Integrator.cpp b/source/RK4Integrator.cpp
new file mode 100644
index 0000000..6c00d6a
--- /dev/null
+++ b/source/RK4Integrator.cpp
@@ -0,0 +1,266 @@
+/*
+ * RK4Integrator.cpp
+ *
+ *  Created on: Jul 22, 2014
+ *      Author: andy
+ */
+
+#include <RK4Integrator.h>
+#include <rrExecutableModel.h>
+
+#include <cassert>
+
+extern "C" {
+#include <clapack/f2c.h>
+#include <clapack/clapack.h>
+}
+
+namespace rr
+{
+
+    RK4Integrator::RK4Integrator(ExecutableModel *m)
+    {
+        Log(Logger::LOG_NOTICE) << "creating runge-kutta integrator";
+        stateVectorSize = 0;
+        k1 = k2 = k3 = k4 = y = ytmp = NULL;
+        syncWithModel(m);
+    }
+
+    void RK4Integrator::syncWithModel(ExecutableModel* m)
+    {
+        // free existing memory
+        delete []k1;
+        delete []k2;
+        delete []k3;
+        delete []k4;
+        delete []y;
+        delete []ytmp;
+
+        model = m;
+
+        if (model) {
+            stateVectorSize = model->getStateVector(NULL);
+            k1 = new double[stateVectorSize];
+            k2 = new double[stateVectorSize];
+            k3 = new double[stateVectorSize];
+            k4 = new double[stateVectorSize];
+            y = new double[stateVectorSize];
+            ytmp = new double[stateVectorSize];
+        } else {
+            stateVectorSize = 0;
+            k1 = k2 = k3 = k4 = y = NULL;
+        }
+
+        resetSettings();
+    }
+
+    RK4Integrator::~RK4Integrator()
+    {
+        delete []k1;
+        delete []k2;
+        delete []k3;
+        delete []k4;
+        delete []y;
+        delete []ytmp;
+    }
+
+    double RK4Integrator::integrate(double t, double h)
+    {
+        static const double epsilon = 1e-12;
+        double tf = 0;
+        bool singleStep;
+
+        assert(h > 0 && "h must be > 0");
+        tf = t + h;
+        singleStep = false;
+
+        if (!model) {
+            throw std::runtime_error("RK4Integrator::integrate: No model");
+        }
+
+        Log(Logger::LOG_DEBUG) <<
+                "RK4Integrator::integrate(" << t << ", " << h << ")";
+
+        // blas daxpy: y -> y + \alpha x
+        integer n = stateVectorSize;
+        integer inc = 1;
+        double alpha = 0;
+
+        model->setTime(t);
+
+        model->getStateVector(y);
+
+        // k1 = f(t_n, y_n)
+        model->getStateVectorRate(t, y, k1);
+
+        // k2 = f(t_n + h/2, y_n + (h/2) * k_1)
+        alpha = h/2.;
+        dcopy_(&n, y, &inc, ytmp, &inc);
+        daxpy_(&n, &alpha, k1, &inc, ytmp, &inc);
+        model->getStateVectorRate(t + alpha, ytmp, k2);
+
+        // k3 = f(t_n + h/2, y_n + (h/2) * k_2)
+        alpha = h/2.;
+        dcopy_(&n, y, &inc, ytmp, &inc);
+        daxpy_(&n, &alpha, k2, &inc, ytmp, &inc);
+        model->getStateVectorRate(t + alpha, ytmp, k3);
+
+        // k4 = f(t_n + h, y_n + (h) * k_3)
+        alpha = h;
+        dcopy_(&n, y, &inc, ytmp, &inc);
+        daxpy_(&n, &alpha, k3, &inc, ytmp, &inc);
+        model->getStateVectorRate(t + alpha, ytmp, k4);
+
+        // k_1 = k_1 + 2 k_2
+        alpha = 2.;
+        daxpy_(&n, &alpha, k2, &inc, k1, &inc);
+
+        // k_1 = (k_1 + 2 k_2) + 2 k_3
+        alpha = 2.;
+        daxpy_(&n, &alpha, k3, &inc, k1, &inc);
+
+        // k_1 = (k_1 + 2 k_2 + 2 k_3) + k_4
+        alpha = 1.;
+        daxpy_(&n, &alpha, k4, &inc, k1, &inc);
+
+        // y_{n+1} = (h/6)(k_1 + 2 k_2 + 2 k_3 + k_4);
+        alpha = h/6.;
+
+        daxpy_(&n, &alpha, k1, &inc, y, &inc);
+
+        model->setTime(t + h);
+        model->setStateVector(y);
+
+        return t + h;
+    }
+
+    void RK4Integrator::testRootsAtInitialTime()
+    {
+        std::vector<unsigned char> initialEventStatus(model->getEventTriggers(0, 0, 0), false);
+        model->getEventTriggers(initialEventStatus.size(), 0, initialEventStatus.size() == 0 ? NULL : &initialEventStatus[0]);
+        applyEvents(0, initialEventStatus);
+    }
+
+    void RK4Integrator::applyEvents(double timeEnd, std::vector<unsigned char> &previousEventStatus)
+    {
+        model->applyEvents(timeEnd, previousEventStatus.size() == 0 ? NULL : &previousEventStatus[0], y, y);
+    }
+
+    void RK4Integrator::restart(double t0)
+    {
+        if (!model) {
+            return;
+        }
+
+        if (t0 <= 0.0) {
+            if (y)
+            {
+                model->getStateVector(y);
+            }
+
+            testRootsAtInitialTime();
+        }
+
+        model->setTime(t0);
+
+        // copy state vector into memory
+        if (y)
+        {
+            model->getStateVector(y);
+        }
+    }
+
+    void RK4Integrator::setListener(IntegratorListenerPtr)
+    {
+    }
+
+    IntegratorListenerPtr RK4Integrator::getListener()
+    {
+        return IntegratorListenerPtr();
+    }
+
+    std::string RK4Integrator::toString() const
+    {
+        return toRepr();
+    }
+
+    std::string RK4Integrator::toRepr() const
+    {
+        std::stringstream ss;
+        ss << "< roadrunner.RK4Integrator() { 'this' : "
+                << (void*)this << " }>";
+        return ss.str();
+    }
+
+    std::string RK4Integrator::getName() const {
+        return RK4Integrator::getRK4Name();
+    }
+
+    std::string RK4Integrator::getRK4Name() {
+        return "rk4";
+    }
+
+    std::string RK4Integrator::getDescription() const {
+        return RK4Integrator::getRK4Description();
+    }
+
+    std::string RK4Integrator::getRK4Description() {
+        return "Runge-Kutta methods are a family of algorithms for solving "
+            "ODEs. They have considerably better accuracy than the Euler "
+            "method. This integrator is a standard 4th order Runge-Kutta "
+            "solver.";
+    }
+
+    std::string RK4Integrator::getHint() const {
+        return RK4Integrator::getRK4Hint();
+    }
+
+    std::string RK4Integrator::getRK4Hint() {
+        return "Internal RK4 ODE solver";
+    }
+
+    Variant RK4Integrator::getValue(std::string key)
+    {
+        if (key == "variable_step_size")
+            return false;
+        else
+            return Integrator::getValue(key);
+    }
+
+    Integrator::IntegrationMethod RK4Integrator::getIntegrationMethod() const
+    {
+        return Integrator::Deterministic;
+    }
+
+    void RK4Integrator::resetSettings()
+    {
+        Solver::resetSettings();
+    }
+
+//     void RK4Integrator::setItem(const std::string& key,
+//             const rr::Variant& value)
+//     {
+//         throw std::invalid_argument("invalid key");
+//     }
+//
+//     Variant RK4Integrator::getItem(const std::string& key) const
+//     {
+//         throw std::invalid_argument("invalid key");
+//     }
+//
+//     bool RK4Integrator::hasKey(const std::string& key) const
+//     {
+//         return false;
+//     }
+//
+//     int RK4Integrator::deleteItem(const std::string& key)
+//     {
+//         return -1;
+//     }
+//
+//     std::vector<std::string> RK4Integrator::getKeys() const
+//     {
+//         return std::vector<std::string>();
+//     }
+
+} /* namespace rr */
diff --git a/source/RK4Integrator.h b/source/RK4Integrator.h
new file mode 100644
index 0000000..5499181
--- /dev/null
+++ b/source/RK4Integrator.h
@@ -0,0 +1,243 @@
+/*
+ * RK4Integrator.h
+ *
+ *  Created on: Jul 22, 2014
+ *      Author: andy
+ */
+
+#ifndef RK4Integrator_H_
+#define RK4Integrator_H_
+
+#include <Integrator.h>
+#include <rrRoadRunnerOptions.h>
+
+namespace rr
+{
+
+
+    /**
+    * A super basic 4'th order fixed step integrator.
+    *
+    * The RungeKuttaIntegrator will be the more sophisticated,
+    * general purpose Runge-Kutta integrator which will support
+    * different orders and adaptive time stepping.
+    *
+    * This object is mainly here as an example of creating a new Integrator.
+    *
+    */
+    class RK4Integrator: public Integrator
+    {
+    public:
+
+
+        /**
+        * Creates a new RK4Integrator.
+        *
+        * The IntegratorFactory is the ONLY object that creates integrators.
+        *
+        * Integrators are created when the IntegratorFactory::New method is called,
+        * typically by the top level RoadRunner object.
+        *
+        * The integrator will hold onto the ExecutableModel pointer, m, and when the
+        * integrate method is called, will advance the model object forward in time.
+        *
+        * @param m: a borrowed reference to an existing ExecutableModel object.
+        * @param o: a reference to a SimulatOptions object where the configuration
+        * parameters will be read from.
+        */
+        RK4Integrator(ExecutableModel *m);
+
+        /**
+        * clean up any mess.
+        */
+        virtual ~RK4Integrator();
+
+        /**
+        * @author JKM
+        * @brief Called whenever a new model is loaded to allow integrator
+        * to reset internal state
+        */
+        virtual void syncWithModel(ExecutableModel* m);
+
+
+        /**
+        * implement Integrator interface
+        */
+    public:
+
+        /**
+        * integrates the model from t0 to tf.
+        */
+        virtual double integrate(double t0, double tf);
+
+        /**
+        * copies the state vector out of the model and into cvode vector,
+        * re-initializes cvode.
+        */
+        virtual void restart(double t0);
+
+        /**
+        * get a description of this object, compatable with python __str__
+        */
+        virtual std::string toString() const;
+
+        /**
+        * get a short descriptions of this object, compatable with python __repr__.
+        */
+        virtual std::string toRepr() const;
+
+        // ** Meta Info ********************************************************
+
+        /**
+         * @author JKM
+         * @brief Get the name for this integrator
+         * @note Delegates to @ref getName
+         */
+        std::string getName() const;
+
+        /**
+         * @author JKM
+         * @brief Get the name for this integrator
+         */
+        static std::string getRK4Name();
+
+        /**
+         * @author JKM
+         * @brief Get the description for this integrator
+         * @note Delegates to @ref getDescription
+         */
+        std::string getDescription() const;
+
+        /**
+         * @author JKM
+         * @brief Get the description for this integrator
+         */
+        static std::string getRK4Description();
+
+        /**
+         * @author WBC
+         * @brief Get the hint for this integrator
+         * @note Delegates to @ref getHint
+         */
+        std::string getHint() const;
+
+        /**
+         * @author JKM
+         * @brief Get the hint for this integrator
+         */
+        static std::string getRK4Hint();
+
+        // ** Getters / Setters ************************************************
+
+        virtual Variant getValue(std::string key);
+
+        /**
+         * @author JKM
+         * @brief Always deterministic for RK4
+         */
+        IntegrationMethod getIntegrationMethod() const;
+
+        /**
+        * @author JKM
+        * @brief Reset all integrator settings to their respective default values
+        */
+        void resetSettings();
+
+        // ** Listeners ********************************************************
+
+        /**
+        * the integrator can hold a single listener. If clients require multicast,
+        * they can create a multi-cast listener.
+        */
+        virtual void setListener(IntegratorListenerPtr);
+
+        /**
+        * get the integrator listener
+        */
+        virtual IntegratorListenerPtr getListener();
+
+    public:
+
+        /**
+        * set an arbitrary key
+        */
+//         virtual void setItem(const std::string& key, const rr::Variant& value);
+
+        /**
+        * get a value. Variants are POD.
+        */
+//         virtual Variant getItem(const std::string& key) const;
+
+        /**
+        * is there a key matching this name.
+        */
+//         virtual bool hasKey(const std::string& key) const;
+
+        /**
+        * remove a value
+        */
+//         virtual int deleteItem(const std::string& key);
+
+        /**
+        * list of keys in this object.
+        */
+//         virtual std::vector<std::string> getKeys() const;
+
+
+    private:
+        ExecutableModel *model;
+
+        unsigned stateVectorSize;
+
+        /**
+        * arrays to store function eval values.
+        */
+        double *k1, *k2, *k3, *k4, *y, *ytmp;
+
+        void testRootsAtInitialTime();
+        void applyEvents(double timeEnd, std::vector<unsigned char> &previousEventStatus);
+
+    };
+
+
+    // ** Registration *********************************************************
+
+
+    class RK4IntegratorRegistrar : public IntegratorRegistrar {
+        public:
+            /**
+            * @author JKM
+            * @brief Gets the name associated with this integrator type
+            */
+            virtual std::string getName() const {
+                return RK4Integrator::getRK4Name();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the description associated with this integrator type
+            */
+            virtual std::string getDescription() const {
+                return RK4Integrator::getRK4Description();
+            }
+
+            /**
+            * @author JKM
+            * @brief Gets the hint associated with this integrator type
+            */
+            virtual std::string getHint() const {
+                return RK4Integrator::getRK4Hint();
+            }
+
+            /**
+            * @author JKM
+            * @brief Constructs a new integrator of a given type
+            */
+            virtual Integrator* construct(ExecutableModel *model) const {
+                return new RK4Integrator(model);
+            }
+    };
+
+} /* namespace rr */
+
+#endif /* RK4Integrator_H_ */
diff --git a/source/SBMLValidator.cpp b/source/SBMLValidator.cpp
new file mode 100644
index 0000000..0219347
--- /dev/null
+++ b/source/SBMLValidator.cpp
@@ -0,0 +1,223 @@
+/*
+ * SBMLValidator.cpp
+ *
+ *  Created on: Aug 24, 2014
+ *      Author: andy
+ */
+
+#include "SBMLValidator.h"
+#include "rrSBMLReader.h"
+
+#include <sbml/SBMLDocument.h>
+
+#include "rrLogger.h"
+
+#include <sstream>
+
+using namespace libsbml;
+
+using std::string;
+
+namespace rr
+{
+
+std::string validateSBML(const std::string src, unsigned opt)
+{
+    std::stringstream errors;
+    SBMLDocument *doc = NULL;
+
+    try {
+        string sbml = SBMLReader::read(src);
+        doc =  readSBMLFromString (sbml.c_str());
+
+        doc->setConsistencyChecks(LIBSBML_CAT_GENERAL_CONSISTENCY,
+                opt & VALIDATE_GENERAL);
+
+        doc->setConsistencyChecks(LIBSBML_CAT_UNITS_CONSISTENCY,
+                opt & VALIDATE_UNITS);
+
+        doc->setConsistencyChecks(LIBSBML_CAT_IDENTIFIER_CONSISTENCY,
+                opt & VALIDATE_IDENTIFIER);
+
+        doc->setConsistencyChecks(LIBSBML_CAT_MATHML_CONSISTENCY,
+                opt & VALIDATE_MATHML);
+
+        doc->setConsistencyChecks(LIBSBML_CAT_OVERDETERMINED_MODEL,
+                opt & VALIDATE_OVERDETERMINED);
+
+        doc->setConsistencyChecks(LIBSBML_CAT_MODELING_PRACTICE,
+                opt & VALIDATE_MODELING_PRACTICE);
+
+        doc->checkConsistency();
+
+        SBMLErrorLog* errorLog = doc->getErrorLog();
+
+        if(errorLog) {
+            errorLog->printErrors(errors);
+        }
+
+    } catch(...) {
+        delete doc;
+        throw;
+    }
+
+    delete doc;
+    return errors.str();
+}
+
+// Return true if this species reference has an initial assignment
+static bool hasInitialAssignment(const SpeciesReference* s) {
+    const Model* m = s->getModel();
+    const ListOfInitialAssignments *assn = m->getListOfInitialAssignments();
+
+    for (unsigned i = 0; i < assn->size(); ++i) {
+        const InitialAssignment *a = assn->get(i);
+        if (a->getSymbol() == s->getId())
+            return true;
+    }
+
+    return false;
+}
+
+// Return true if this species reference has an assignment rule
+static bool hasAssignmentRule(const SpeciesReference* s) {
+    const Model* m = s->getModel();
+    const ListOfRules* rules = m->getListOfRules();
+
+    for (unsigned i = 0; i < rules->size(); ++i) {
+        const Rule *rule = rules->get(i);
+        if (const AssignmentRule* a = dynamic_cast<const AssignmentRule*>(rule))
+            if (a->getVariable() ==  s->getId())
+                return true;
+    }
+
+    return false;
+}
+
+// Return true if stoichiometry is defined for this species reference
+static bool isStoichDefined(const SpeciesReference* s) {
+    if (!s)
+        // null ref
+        return false;
+    if (hasInitialAssignment(s) || hasAssignmentRule(s))
+        // stoich can be set by assignments
+        return true;
+    return s->isSetStoichiometry();
+}
+
+// Return true if stoichiometry is defined for every reaction in the model
+bool isStoichDefined(const std::string sbml) {
+    SBMLDocument *doc = NULL;
+
+    bool sbml_decl_okay = false;
+
+    // check for <?xml
+    size_t pos = sbml.find("<");
+    if (pos != std::string::npos) {
+      pos = sbml.find("?", pos+1);
+      if (pos != std::string::npos) {
+        pos = sbml.find("xml", pos+1);
+        if (pos != std::string::npos)
+          sbml_decl_okay = true;
+      }
+    }
+
+    // check for <sbml
+    pos = sbml.find("<");
+    if (pos != std::string::npos) {
+      pos = sbml.find("sbml", pos+1);
+      if (pos != std::string::npos)
+        sbml_decl_okay = true;
+    }
+
+    if (!sbml_decl_okay)
+      throw std::runtime_error("SBML document must begin with an XML declaration or an SBML declaration");
+
+    try {
+        doc =  readSBMLFromString (sbml.c_str());
+
+        if (!doc)
+          throw std::runtime_error("Unable to read SBML");
+
+        if (doc->getLevel() < 3)
+            return true;                                    // stoichiometry has a default value in level 1 & 2
+
+        const Model *m = doc->getModel();
+
+        if (!m)
+          throw std::runtime_error("SBML string invalid or missing model");
+
+        for (int j = 0; j<m->getNumReactions(); ++j) {
+            const Reaction* r = m->getReaction(j);
+            if (!r)
+                throw std::runtime_error("No reaction");
+
+            // check stoich defined on reactants / products
+            for (int k = 0; k<r->getNumReactants(); ++k) {
+                if (!isStoichDefined(r->getReactant(k)))
+                    return false;
+            }
+
+            for (int k = 0; k<r->getNumProducts(); ++k) {
+                if (!isStoichDefined(r->getProduct(k)))
+                    return false;
+            }
+
+            // modifiers have no stoichiometry
+        }
+
+    } catch(...) {
+        delete doc;
+        throw;
+    }
+
+    delete doc;
+    return true;
+}
+
+std::string fixMissingStoich(const std::string sbml) {
+    SBMLDocument *doc = NULL;
+
+    try {
+        doc =  readSBMLFromString (sbml.c_str());
+
+        Model *m = doc->getModel();
+
+        for (int j = 0; j<m->getNumReactions(); ++j) {
+            Reaction* r = m->getReaction(j);
+            if (!r)
+                throw std::runtime_error("No reaction");
+
+            // check stoich defined on reactants / products
+            for (int k = 0; k<r->getNumReactants(); ++k) {
+                SpeciesReference* s = r->getReactant(k);
+                if (!isStoichDefined(s))
+                    if (s->setStoichiometry(1.) != LIBSBML_OPERATION_SUCCESS)
+                        throw std::runtime_error("Unable to set stoichiometry");
+            }
+
+            for (int k = 0; k<r->getNumProducts(); ++k) {
+                SpeciesReference* s = r->getProduct(k);
+                if (!isStoichDefined(s))
+                    if (s->setStoichiometry(1.) != LIBSBML_OPERATION_SUCCESS)
+                        throw std::runtime_error("Unable to set stoichiometry");
+            }
+
+            // modifiers have no stoichiometry
+        }
+
+    } catch(...) {
+        delete doc;
+        throw;
+    }
+
+    SBMLWriter writer;
+
+    char* sbml_cstr = writer.writeSBMLToString(doc);
+    delete doc;
+    std::string result(sbml_cstr);
+    free(sbml_cstr);
+    return result;
+}
+
+} /* namespace rr */
diff --git a/source/SBMLValidator.h b/source/SBMLValidator.h
new file mode 100644
index 0000000..d71605b
--- /dev/null
+++ b/source/SBMLValidator.h
@@ -0,0 +1,81 @@
+/*
+ * SBMLValidator.h
+ *
+ *  Created on: Aug 24, 2014
+ *      Author: andy
+ */
+
+#ifndef SBMLVALIDATOR_H_
+#define SBMLVALIDATOR_H_
+
+#include <string>
+
+namespace rr
+{
+enum ValidateSBML
+{
+
+    /**
+     * Check consistency of measurement units associated
+     * with quantities (SBML L2V4 rules 105nn)
+     */
+    VALIDATE_UNITS               = (0x1 << 0),  // => 0x00000001
+
+    /**
+     * Check correctness and consistency of identifiers used
+     * for model entities (SBML L2V4 rules 103nn)
+     */
+    VALIDATE_IDENTIFIER          = (0x1 << 1),  // => 0x00000001
+
+    /**
+     * Check syntax of MathML mathematical expressions
+     * (SBML L2V4 rules 102nn)
+     */
+    VALIDATE_MATHML              = (0x1 << 2),  // => 0x00000001
+
+    /**
+     * Check validity of SBO identifiers (if any) used in
+     * the model (SBML L2V4 rules 107nn)
+     */
+    VALIDATE_SBO                 = (0x1 << 3),  // => 0x00000001
+
+    /**
+     * Perform static analysis of whether the model is overdetermined
+     */
+    VALIDATE_OVERDETERMINED      = (0x1 << 4),  // => 0x00000001
+
+    /**
+     * Perform additional checks for recommended good modeling practices
+     */
+    VALIDATE_MODELING_PRACTICE   = (0x1 << 5),  // => 0x00000001
+
+    /**
+     * Perform all other general SBML consistency checks
+     * (SBML L2V4 rules 2nnnn; highly recommended)
+     */
+    VALIDATE_GENERAL             = (0x1 << 6),  // => 0x00000001
+};
+
+std::string validateSBML(const std::string src, unsigned opt
+        = VALIDATE_IDENTIFIER | VALIDATE_GENERAL | VALIDATE_MATHML);
+
+/**
+* @author JKM
+* @brief Returns true if stoichiometry is defined for every species
+* in every reaction.
+* @details Missing stoichiometry is not handled by the integrator.
+* Must bail or results are undefined.
+*/
+bool isStoichDefined(const std::string sbml);
+
+/**
+* @author JKM
+* @brief Adds missing stoichiometry information.
+* Assumes unit stoichiometry where not specified
+* @return SBML string with stoich fixed
+*/
+std::string fixMissingStoich(const std::string sbml);
+
+} /* namespace rr */
+
+#endif /* SBMLVALIDATOR_H_ */
diff --git a/source/Solver.cpp b/source/Solver.cpp
new file mode 100644
index 0000000..dd1505b
--- /dev/null
+++ b/source/Solver.cpp
@@ -0,0 +1,222 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file Integrator.cpp
+* @author ETS, WBC, JKM
+* @date Apr 25, 2014
+* @copyright Apache License, Version 2.0
+* @brief Contains the base class for RoadRunner integrators
+**/
+
+// == INCLUDES ================================================
+
+#include "Solver.h"
+#include "rrConfig.h"
+#include <typeinfo>
+#include <iomanip>
+
+// == CODE ====================================================
+
+using namespace std;
+namespace rr
+{
+
+    void Solver::addSetting(string name, Variant val, string display_name, string hint, string description)
+    {
+        sorted_settings.push_back(name);
+        settings[name] = val;
+        display_names_[name] = display_name;
+        hints[name] = hint;
+        descriptions[name] = description;
+    }
+
+    std::vector<string> Solver::getSettings() const
+    {
+        std::vector<string> keys;
+        for (SettingsList::const_iterator i = sorted_settings.begin(); i != sorted_settings.end(); ++i)
+        {
+            keys.push_back(*i);
+        }
+        return keys;
+    }
+
+    void Solver::resetSettings()
+    {
+        sorted_settings.clear();
+        settings.clear();
+        hints.clear();
+        descriptions.clear();
+    }
+
+    unsigned long Solver::getNumParams() const
+    {
+        if (sorted_settings.size() != settings.size())
+            throw std::runtime_error("Setting count inconsistency");
+        return sorted_settings.size();
+    }
+
+    std::string Solver::getParamName(int n) const
+    {
+        if (sorted_settings.size() != settings.size())
+            throw std::runtime_error("Setting count inconsistency");
+        return sorted_settings.at(n);
+    }
+
+    std::string Solver::getParamDisplayName(int n) const
+    {
+        return getDisplayName(getParamName(n));
+    }
+
+    std::string Solver::getParamHint(int n) const
+    {
+        return getHint(getParamName(n));
+    }
+
+    std::string Solver::getParamDesc(int n) const
+    {
+        return getDescription(getParamName(n));
+    }
+
+    Variant Solver::getValue(std::string key) const
+    {
+        SettingsMap::const_iterator option = settings.find(key);
+        if (option == settings.end())
+        {
+            throw std::invalid_argument("Solver::getValue: invalid key: " + key);
+        }
+        return option->second;
+    }
+
+    Variant Solver::hasValue(std::string key) const
+    {
+        return settings.find(key) != settings.end();
+    }
+
+    int Solver::getValueAsInt(std::string key)
+    {
+        return getValue(key).convert<int>();
+    }
+
+    unsigned int Solver::getValueAsUInt(std::string key)
+    {
+        return getValue(key).convert<unsigned int>();
+    }
+
+    long Solver::getValueAsLong(std::string key)
+    {
+        return getValue(key).convert<long>();
+    }
+
+    unsigned long Solver::getValueAsULong(std::string key)
+    {
+        return getValue(key).convert<unsigned long>();
+    }
+
+    float Solver::getValueAsFloat(std::string key)
+    {
+        return getValue(key).convert<float>();
+    }
+
+    double Solver::getValueAsDouble(std::string key)
+    {
+        return getValue(key).convert<double>();
+    }
+
+    char Solver::getValueAsChar(std::string key)
+    {
+        return getValue(key).convert<char>();
+    }
+
+    unsigned char Solver::getValueAsUChar(std::string key)
+    {
+        return getValue(key).convert<unsigned char>();
+    }
+
+    std::string Solver::getValueAsString(std::string key)
+    {
+        return getValue(key).convert<std::string>();
+    }
+
+    bool Solver::getValueAsBool(std::string key)
+    {
+        return getValue(key).convert<bool>();
+    }
+
+    void Solver::setValue(std::string key, const Variant& value)
+    {
+        if (settings.find(key) ==  settings.end())
+            throw std::invalid_argument(getName() + " invalid key: " + key);
+        settings[key] = value;
+    }
+
+    const std::string& Solver::getDisplayName(std::string key) const
+    {
+        DisplayNameMap::const_iterator option = Solver::display_names_.find(key);
+        if (option == display_names_.end())
+        {
+            throw std::invalid_argument("invalid key: " + key);
+        }
+        return option->second;
+    }
+
+    const std::string& Solver::getHint(std::string key) const
+    {
+        HintMap::const_iterator option = Solver::hints.find(key);
+        if (option == hints.end())
+        {
+            throw std::invalid_argument("invalid key: " + key);
+        }
+        return option->second;
+    }
+
+    const std::string& Solver::getDescription(std::string key) const
+    {
+        DescriptionMap::const_iterator option = Solver::descriptions.find(key);
+        if (option == descriptions.end())
+        {
+            throw std::invalid_argument("invalid key: " + key);
+        }
+        return option->second;
+    }
+
+    const Variant::TypeId Solver::getType(std::string key)
+    {
+        return getValue(key).type();
+    }
+
+    std::string Solver::getSettingsRepr() const
+    {
+        std::stringstream ss;
+        for(int n=0; n<getNumParams(); ++n)
+            ss << "    " << std::setw(20) << getParamName(n) << ": " << getValue(getParamName(n)).toString() << "\n";
+        return ss.str();
+    }
+
+    std::string Solver::settingsPyDictRepr() const
+    {
+        std::stringstream ss;
+        for(int n=0; n<getNumParams(); ++n)
+            ss << (n ? ", " : "") << "'" << getParamName(n) << "': " << getValue(getParamName(n)).pythonRepr();
+        return ss.str();
+    }
+
+    std::string Solver::toString() const
+    {
+        std::stringstream ss;
+        ss << "< roadrunner.Solver() >\n";
+        ss << "  name: " << getName() << "\n";
+        ss << "  settings:\n";
+        ss << getSettingsRepr();
+        return ss.str();
+    }
+
+    std::string Solver::toRepr() const
+    {
+        std::stringstream ss;
+        ss << "< roadrunner.Solver() \"" << getName() << "\" " << settingsPyDictRepr() << " >\n";
+        return ss.str();
+    }
+}
\ No newline at end of file
diff --git a/source/Solver.h b/source/Solver.h
new file mode 100644
index 0000000..d6c8e12
--- /dev/null
+++ b/source/Solver.h
@@ -0,0 +1,246 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file Solver.h
+* @author JKM
+* @date 09/01/2015
+* @copyright Apache License, Version 2.0
+* @brief Contains the base class for RoadRunner solvers
+**/
+
+# ifndef RR_SOLVER_H_
+# define RR_SOLVER_H_
+
+// == INCLUDES ================================================
+
+# include "rrLogger.h"
+# include "rrOSSpecifics.h"
+# include "Dictionary.h"
+# include "rrException.h"
+
+# include "tr1proxy/rr_memory.h"
+# include "tr1proxy/rr_unordered_map.h"
+# include <stdexcept>
+
+// == CODE ====================================================
+
+namespace rr
+{
+    /**
+     * @author JKM
+     * @brief Base class for all integrators and steady state solvers
+     */
+    class RR_DECLSPEC Solver
+    {
+    public:
+
+        virtual ~Solver() {};
+
+        /**
+        * @author JKM
+        * @brief Get the name of this solver
+        */
+        virtual std::string getName() const = 0;
+
+        /**
+        * @author JKM
+        * @brief Get the description of this solver
+        */
+        virtual std::string getDescription() const = 0;
+
+        /**
+        * @author JKM
+        * @brief Get a (user-readable) hint for this solver
+        */
+        virtual std::string getHint() const = 0;
+
+        /**
+        * @author JKM
+        * @brief Get a list of all settings for this solver
+        */
+        std::vector<std::string> getSettings() const;
+
+        /**
+        * @author JKM
+        * @brief Reset all settings to their respective default values
+        */
+        virtual void resetSettings();
+
+        /**
+        * @author JKM, WBC
+        * @brief Get the value of an integrator setting
+        * @note Use one of the type-concrete versions like @ref getValueAsInt
+        * to avoid type conversion gotchas
+        */
+        virtual Variant getValue(std::string key) const;
+
+        /**
+        * @author JKM
+        * @brief Return true if this setting is supported by the integrator
+        */
+        virtual Variant hasValue(std::string key) const;
+
+        /**
+        * @author JKM
+        * @brief Get the number of parameters
+        */
+        virtual unsigned long getNumParams() const;
+
+        /**
+        * @author JKM
+        * @brief Get the name of the parameter at index n
+        */
+        virtual std::string getParamName(int n) const;
+
+        /**
+        * @author JKM
+        * @brief Get the display name of the parameter at index n
+        */
+        virtual std::string getParamDisplayName(int n) const;
+
+        /**
+        * @author JKM
+        * @brief Get the hint of the parameter at index n
+        */
+        virtual std::string getParamHint(int n) const;
+
+        /**
+        * @author JKM
+        * @brief Get the description of the parameter at index n
+        */
+        virtual std::string getParamDesc(int n) const;
+
+
+        /**
+        * @author WBC, JKM
+        * @brief Wrapper for @ref getValue which converts output to a specific type
+        */
+        virtual int getValueAsInt(std::string key);
+
+        /**
+        * @author WBC, JKM
+        * @brief Wrapper for @ref getValue which converts output to a specific type
+        */
+        virtual unsigned int getValueAsUInt(std::string key);
+
+        /**
+        * @author WBC, JKM
+        * @brief Wrapper for @ref getValue which converts output to a specific type
+        */
+        virtual long getValueAsLong(std::string key);
+
+        /**
+        * @author WBC, JKM
+        * @brief Wrapper for @ref getValue which converts output to a specific type
+        */
+        virtual unsigned long getValueAsULong(std::string key);
+
+        /**
+        * @author WBC, JKM
+        * @brief Wrapper for @ref getValue which converts output to a specific type
+        */
+        virtual float getValueAsFloat(std::string key);
+
+        /**
+        * @author WBC, JKM
+        * @brief Wrapper for @ref getValue which converts output to a specific type
+        */
+        virtual double getValueAsDouble(std::string key);
+
+        /**
+        * @author WBC, JKM
+        * @brief Wrapper for @ref getValue which converts output to a specific type
+        */
+        virtual char getValueAsChar(std::string key);
+
+        /**
+        * @author WBC, JKM
+        * @brief Wrapper for @ref getValue which converts output to a specific type
+        */
+        virtual unsigned char getValueAsUChar(std::string key);
+
+        /**
+        * @author WBC, JKM
+        * @brief Wrapper for @ref getValue which converts output to a specific type
+        */
+        virtual std::string getValueAsString(std::string key);
+
+        /**
+        * @author WBC, JKM
+        * @brief Wrapper for @ref getValue which converts output to a specific type
+        */
+        virtual bool getValueAsBool(std::string key);
+
+
+        virtual void setValue(std::string key, const Variant& value);
+
+        /**
+        * @author WBC
+        * @brief Gets the hint associated with a given key
+        */
+        const std::string& getDisplayName(std::string key) const;
+
+        /**
+        * @author WBC
+        * @brief Gets the hint associated with a given key
+        */
+        const std::string& getHint(std::string key) const;
+
+        /**
+        * @author WBC
+        * @brief Gets the description associated with a given key
+        */
+        const std::string& getDescription(std::string key) const;
+
+        /**
+        * @author WBC
+        * @brief Gets the type associated with a given key
+        */
+        const Variant::TypeId getType(std::string key);
+
+        /**
+        * @author JKM
+        * @brief Get the solver settings as a string
+        */
+        std::string getSettingsRepr() const;
+
+        /**
+        * @author JKM
+        * @brief Python dictionary-style string representation of settings
+        */
+        std::string settingsPyDictRepr() const;
+
+        /**
+        * @author JKM
+        * @brief Return a string representation of the solver
+        */
+        virtual std::string toString() const;
+
+        /**
+        * @author JKM
+        * @brief Return string representation a la Python __repr__ method
+        */
+        virtual std::string toRepr() const;
+
+    protected:
+        typedef std::vector<std::string> SettingsList;
+        typedef RR_UNORDERED_MAP <std::string, Variant> SettingsMap;
+        typedef RR_UNORDERED_MAP <std::string, std::string> DisplayNameMap;
+        typedef RR_UNORDERED_MAP <std::string, std::string> HintMap;
+        typedef RR_UNORDERED_MAP <std::string, std::string> DescriptionMap;
+
+        SettingsList sorted_settings;
+        SettingsMap settings;
+        DisplayNameMap display_names_;
+        HintMap hints;
+        DescriptionMap descriptions;
+
+        void addSetting(std::string name, Variant val, string display_name, std::string hint, std::string description);
+    };
+
+}
+
+# endif /* RR_INTEGRATOR_H_ */
diff --git a/source/SolverRegistration.cpp b/source/SolverRegistration.cpp
new file mode 100644
index 0000000..3e03b02
--- /dev/null
+++ b/source/SolverRegistration.cpp
@@ -0,0 +1,46 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file SolverRegistration.cpp
+* @author JKM
+* @date 07/31/2015
+* @copyright Apache License, Version 2.0
+* @brief Registers the solvers at startup
+**/
+
+// == INCLUDES ================================================
+
+# include "rrConfigure.h"
+# include "SolverRegistration.h"
+# include "Solver.h"
+# include "NLEQSolver.h"
+
+# if RR_USE_CXX11
+#   include <mutex>
+# endif
+// == CODE ====================================================
+
+namespace rr
+{
+    // call exactly once
+    static void register_solvers_at_init() {
+        SteadyStateSolverFactory::getInstance().registerSteadyStateSolver(new NLEQSolverRegistrar());
+    }
+
+    void SolverRegistrationMgr::Register() {
+# if RR_USE_CXX11
+        static std::once_flag flag;
+        std::call_once(flag, register_solvers_at_init());
+# else
+        // WARNING: not thread safe
+        static bool flag = false;
+        if (!flag) {
+            flag = true;
+            register_solvers_at_init();
+        }
+# endif
+    }
+}
\ No newline at end of file
diff --git a/source/SolverRegistration.h b/source/SolverRegistration.h
new file mode 100644
index 0000000..3d51176
--- /dev/null
+++ b/source/SolverRegistration.h
@@ -0,0 +1,41 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file SolverRegistration.h
+* @author JKM
+* @date 08/04/2015
+* @copyright Apache License, Version 2.0
+* @brief Registers the solvers at startup
+**/
+
+#ifndef RR_SOLVER_REGISTRATION_H_
+#define RR_SOLVER_REGISTRATION_H_
+
+// == INCLUDES ================================================
+
+// == CODE ====================================================
+
+namespace rr
+{
+
+    /**
+    * @author JKM
+    * @brief Registers all solver at startup via @ref SolverRegistrationMgr::Register
+    */
+    class SolverRegistrationMgr {
+        public:
+            /**
+             * @author JKM
+             * @brief Registers all solvers at startup
+             * @details Is run at first instantiation of @ref RoadRunner.
+             * Subsequent calls have no effect.
+             */
+            static void Register();
+    };
+
+}
+
+#endif /* RR_INTEGRATOR_REGISTRATION_H_ */
diff --git a/source/SteadyStateSolver.cpp b/source/SteadyStateSolver.cpp
new file mode 100644
index 0000000..e5e37d8
--- /dev/null
+++ b/source/SteadyStateSolver.cpp
@@ -0,0 +1,98 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file SteadyStateSolver.cpp
+* @author ETS, WBC, JKM
+* @date Apr 25, 2014
+* @copyright Apache License, Version 2.0
+* @brief Contains the base class for RoadRunner SteadyStateSolvers
+**/
+
+// == INCLUDES ================================================
+
+#include "SteadyStateSolver.h"
+#include "rrStringUtils.h"
+#include "rrConfig.h"
+#include "rrUtils.h"
+#include <typeinfo>
+
+// == CODE ====================================================
+
+using namespace std;
+namespace rr
+{
+	/*------------------------------------------------------------------------------------------
+		SteadyStateSolver
+	  ------------------------------------------------------------------------------------------*/
+
+	void SteadyStateSolver::loadConfigSettings()
+	{
+		// empty
+	}
+
+	SteadyStateSolverRegistrar::~SteadyStateSolverRegistrar() {}
+
+    /********************************************************************************************
+    * SteadyStateSolver FACTORY
+    ********************************************************************************************/
+
+    SteadyStateSolverFactory::~SteadyStateSolverFactory() {
+        for (SteadyStateSolverRegistrars::const_iterator it(mRegisteredSteadyStateSolvers.begin()); it != mRegisteredSteadyStateSolvers.end(); ++it) {
+            delete *it;
+        }
+    }
+
+    SteadyStateSolver* SteadyStateSolverFactory::New(std::string name, ExecutableModel* m) const {
+        for (SteadyStateSolverRegistrars::const_iterator it(mRegisteredSteadyStateSolvers.begin()); it != mRegisteredSteadyStateSolvers.end(); ++it) {
+            if ((*it)->getName() == name) {
+                return (*it)->construct(m);
+            }
+        }
+        Log(Logger::LOG_ERROR) << "No such SteadyStateSolver '" << name << "'";
+        throw InvalidKeyException("No such SteadyStateSolver: " + name);
+    }
+
+    void SteadyStateSolverFactory::registerSteadyStateSolver(SteadyStateSolverRegistrar* i) {
+        if (!i)
+            throw CoreException("Registrar is null");
+        mRegisteredSteadyStateSolvers.push_back(i);
+    }
+
+    SteadyStateSolverFactory& SteadyStateSolverFactory::getInstance() {
+        // FIXME: not thread safe -- JKM, July 24, 2015.
+        static SteadyStateSolverFactory factory;
+        return factory;
+    }
+
+    std::size_t SteadyStateSolverFactory::getNumSteadyStateSolvers() const {
+        return mRegisteredSteadyStateSolvers.size();
+    }
+
+	std::vector<std::string> SteadyStateSolverFactory::getListSteadyStateSolverNames()
+	{
+		std::vector<std::string> intgNames;
+		int numIntgs = static_cast<int>(SteadyStateSolverFactory::getInstance().mRegisteredSteadyStateSolvers.size());
+		for (int i = 0; i < numIntgs; ++i)
+		{
+			std::size_t n = static_cast<std::size_t>(i);
+			intgNames.push_back(SteadyStateSolverFactory::getInstance().getSteadyStateSolverName(n));
+		}
+		return intgNames;
+	}
+
+    std::string SteadyStateSolverFactory::getSteadyStateSolverName(std::size_t n) const {
+        return mRegisteredSteadyStateSolvers.at(n)->getName();
+    }
+
+    std::string SteadyStateSolverFactory::getSteadyStateSolverHint(std::size_t n) const {
+        return mRegisteredSteadyStateSolvers.at(n)->getHint();
+    }
+
+    std::string SteadyStateSolverFactory::getSteadyStateSolverDescription(std::size_t n) const {
+        return mRegisteredSteadyStateSolvers.at(n)->getDescription();
+    }
+
+}
\ No newline at end of file
diff --git a/source/SteadyStateSolver.h b/source/SteadyStateSolver.h
new file mode 100644
index 0000000..576f254
--- /dev/null
+++ b/source/SteadyStateSolver.h
@@ -0,0 +1,152 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file SteadyStateSolver.h
+* @author ETS, WBC, JKM
+* @date Sep 7, 2013
+* @copyright Apache License, Version 2.0
+* @brief Contains the base class for RoadRunner solvers
+**/
+
+# ifndef RR_STEADY_STATE_SOLVER_H_
+# define RR_STEADY_STATE_SOLVER_H_
+
+// == INCLUDES ================================================
+
+# include "rrLogger.h"
+# include "rrOSSpecifics.h"
+# include "Dictionary.h"
+# include "rrException.h"
+# include "Solver.h"
+
+# include "tr1proxy/rr_memory.h"
+# include "tr1proxy/rr_unordered_map.h"
+# include <stdexcept>
+
+// == CODE ====================================================
+
+namespace rr
+{
+    class ExecutableModel;
+
+
+    /*-------------------------------------------------------------------------------------------
+        SteadyStateSolver is an abstract base class that provides an interface to specific steady-state solver
+        class implementations.
+    ---------------------------------------------------------------------------------------------*/
+    class RR_DECLSPEC SteadyStateSolver : public Solver
+    {
+    public:
+
+        virtual ~SteadyStateSolver() {};
+
+        /**
+        * @author JKM
+        * @brief Called whenever a new model is loaded to allow integrator
+        * to reset internal state
+        */
+        virtual void syncWithModel(ExecutableModel* m) = 0;
+
+        virtual double solve() = 0;
+
+        virtual void loadConfigSettings();
+    };
+
+    /**
+     * @author JKM, WBC
+     * @brief Handles constructing a solver and contains meta
+     * information about it
+     */
+    class RR_DECLSPEC SteadyStateSolverRegistrar
+    {
+    protected:
+        typedef SteadyStateSolver* (*SteadyStateSolverCtor)(ExecutableModel *model);
+    public:
+        virtual ~SteadyStateSolverRegistrar();
+
+        /**
+         * @author JKM, WBC
+         * @brief Gets the name associated with this integrator type
+         */
+        virtual std::string getName() const = 0;
+
+        /**
+         * @author JKM, WBC
+         * @brief Gets the description associated with this integrator type
+         */
+        virtual std::string getDescription() const = 0;
+
+        /**
+         * @author JKM, WBC
+         * @brief Gets the hint associated with this integrator type
+         */
+        virtual std::string getHint() const = 0;
+
+        /**
+         * @author JKM, WBC
+         * @brief Constructs a new integrator of a given type
+         */
+        virtual SteadyStateSolver* construct(ExecutableModel *model) const = 0;
+    };
+
+    /**
+     * @author JKM, WBC
+     * @brief Constructs new integrators
+     * @details Implements the factory and singleton patterns.
+     * Constructs a new integrator given the name (e.g. cvode, gillespie)
+     * and returns a base pointer to @ref rr::SteadyStateSolver.
+     */
+    class RR_DECLSPEC SteadyStateSolverFactory
+    {
+    public:
+        virtual ~SteadyStateSolverFactory();
+
+        /**
+         * @author JKM, WBC
+         * @brief Constructs a new solver given the name
+         * (e.g. cvode, gillespie)
+         */
+        SteadyStateSolver* New(std::string name, ExecutableModel *m) const;
+
+        /**
+         * @author JKM, WBC
+         * @brief Registers a new solver with the factory
+         * so that it can be constructed
+         * @details Should be called at startup for new solvers.
+         */
+        void registerSteadyStateSolver(SteadyStateSolverRegistrar* i);
+
+        /**
+         * @author JKM, WBC
+         * @brief Returns the singleton instance of the solver factory
+         */
+        static SteadyStateSolverFactory& getInstance();
+
+        // ** Indexing *********************************************************
+
+        std::size_t getNumSteadyStateSolvers() const;
+
+		std::vector<std::string> getListSteadyStateSolverNames();
+
+        std::string getSteadyStateSolverName(std::size_t n) const;
+
+        std::string getSteadyStateSolverHint(std::size_t n) const;
+
+        std::string getSteadyStateSolverDescription(std::size_t n) const;
+
+    private:
+        /**
+         * @author JKM, WBC
+         * @brief Prevents external instantiation
+         */
+        SteadyStateSolverFactory() {}
+        typedef std::vector<SteadyStateSolverRegistrar*> SteadyStateSolverRegistrars;
+        SteadyStateSolverRegistrars mRegisteredSteadyStateSolvers;
+    };
+
+}
+
+# endif /* RR_STEADY_STATE_SOLVER_H_ */
diff --git a/source/Variant.cpp b/source/Variant.cpp
new file mode 100644
index 0000000..c89ad75
--- /dev/null
+++ b/source/Variant.cpp
@@ -0,0 +1,327 @@
+/*
+ * Variant.cpp
+ *
+ *  Created on: Apr 26, 2014
+ *      Author: andy
+ */
+
+#include "Variant.h"
+#include "rrLogger.h"
+
+#include <exception>
+#include <iostream>
+#include <stdexcept>
+#include <cctype>
+#include <cstdlib>
+#include <algorithm>
+#include <assert.h>
+#include <Poco/Dynamic/Var.h>
+#include <stdint.h>
+
+using namespace std;
+using Poco::Dynamic::Var;
+
+namespace rr
+{
+
+struct VariantImpl
+{
+    Var var;
+    unsigned size;
+};
+
+Variant::Variant()
+{
+    alloc();
+}
+
+Variant::Variant(const Variant& other)
+{
+    alloc();
+    self->var = other.self->var;
+    self->size = other.self->size;
+}
+
+Variant& Variant::operator =(const Variant& other)
+{
+    self->var = other.self->var;
+    self->size = other.self->size;
+    return *this;
+}
+
+Variant::~Variant()
+{
+    delete self;
+}
+
+const std::type_info& Variant::typeInfo() const
+{
+    return self->var.type();
+}
+
+void Variant::alloc()
+{
+    self = new VariantImpl();
+}
+
+#define TRY_ASSIGN(type)                                    \
+        if (info == typeid(type)) {                         \
+            const type *val = static_cast<const type*>(p);  \
+            self->var = *val;                               \
+            self->size = sizeof(type);                      \
+            return;                                         \
+        }
+
+void Variant::assign(const std::type_info& info, const void* p)
+{
+    TRY_ASSIGN(std::string);
+
+    TRY_ASSIGN(long);
+
+    TRY_ASSIGN(bool);
+
+    TRY_ASSIGN(float);
+
+    TRY_ASSIGN(double);
+
+    TRY_ASSIGN(unsigned long);
+
+    TRY_ASSIGN(int);
+
+    TRY_ASSIGN(unsigned int);
+
+    TRY_ASSIGN(char);
+
+    TRY_ASSIGN(unsigned char);
+
+    TRY_ASSIGN(int32_t);
+
+    TRY_ASSIGN(uint32_t);
+
+    TRY_ASSIGN(int64_t);
+
+    TRY_ASSIGN(uint64_t);
+
+    string msg = "could not assign type ";
+    msg += info.name();
+    msg += " to Variant";
+
+    throw invalid_argument(msg);
+}
+
+/**
+ * strip any leading or trailing whitespace
+ */
+static std::string strip(const std::string& in)
+{
+    std::string out;
+    std::string::const_iterator b = in.begin(), e = in.end();
+
+    // skipping leading spaces
+    while (std::isspace(*b)){
+        ++b;
+    }
+
+    if (b != e){
+        // skipping trailing spaces
+        while (std::isspace(*(e-1))){
+            --e;
+        }
+    }
+
+    out.assign(b, e);
+
+    return out;
+}
+
+
+Variant Variant::parse(const std::string& s)
+{
+    string str = strip(s);
+
+    const char* input = str.c_str();
+    char* end = 0;
+
+    // check for int
+    int i = strtol(input, &end, 0);
+    if (*input != '\0' && end != input && *end == '\0')
+    {
+        return Variant(i);
+    }
+
+    // check for double
+    double d = strtod(input, &end);
+    if (*input != '\0' && end != input && *end == '\0')
+    {
+        return Variant(d);
+    }
+
+    // check for bool
+    std::string bstr = str;
+    std::transform(bstr.begin(), bstr.end(),bstr.begin(), ::toupper);
+
+    if (bstr == "TRUE") {
+        return Variant(true);
+    }
+
+    if (bstr == "FALSE") {
+        return Variant(false);
+    }
+
+    // its a string
+    Variant result;
+    result.self->var = Var::parse(str);
+    return result;
+}
+
+std::string Variant::toString() const
+{
+    return Var::toString(self->var);
+}
+
+std::string Variant::pythonRepr() const
+{
+    if (isBool()) {
+        switch (convert<bool>()) {
+          case true:
+              return "True";
+          case false:
+              return "False";
+        };
+    } else if (isString()) {
+        return "'" + toString() + "'";
+    } else
+        return toString();
+}
+
+bool Variant::isString() const
+{
+    return self->var.isString();
+}
+
+bool Variant::isInteger() const
+{
+    return self->var.isInteger();
+}
+
+bool Variant::isNumeric() const
+{
+    return self->var.isNumeric();
+}
+
+bool Variant::isBool() const
+{
+    return self->var.type() == typeid(bool);
+}
+
+#define TRY_CONVERT_TO(type)                       \
+        if (info == typeid(type)) {                \
+            type* out = static_cast<type*>(p);     \
+            *out = self->var.convert<type>();      \
+            return;                                \
+        }
+
+bool Variant::isEmpty() const
+{
+    return self->var.isEmpty();
+}
+
+bool Variant::isSigned() const
+{
+    return self->var.isSigned();
+}
+
+#define TYPE_KIND(t, tid) if (info == typeid(t)) return tid;
+
+Variant::TypeId Variant::type() const
+{
+    const std::type_info& info = self->var.type();
+    TYPE_KIND(std::string, STRING);
+    TYPE_KIND(int32_t, INT32);
+    TYPE_KIND(uint32_t, UINT32);
+    TYPE_KIND(int64_t, INT64);
+    TYPE_KIND(uint64_t, UINT64);
+    TYPE_KIND(float, FLOAT);
+    TYPE_KIND(double, DOUBLE);
+    TYPE_KIND(char, CHAR);
+    TYPE_KIND(unsigned char, UCHAR);
+    TYPE_KIND(bool, BOOL);
+
+    if(info == typeid(int)) {
+        if(self->size == 4) return INT32;
+        if(self->size == 8) return INT64;
+    }
+
+    if(info == typeid(long)) {
+        if(self->size == 4) return INT32;
+        if(self->size == 8) return INT64;
+    }
+
+    if(info == typeid(unsigned int)) {
+        if(self->size == 4) return UINT32;
+        if(self->size == 8) return UINT64;
+    }
+
+    if(info == typeid(unsigned long)) {
+        if(self->size == 4) return UINT32;
+        if(self->size == 8) return UINT64;
+    }
+
+
+    return EMPTY;
+}
+
+void Variant::convert_to(const std::type_info& info, void* p) const
+{
+    try
+    {
+        TRY_CONVERT_TO(std::string);
+
+        TRY_CONVERT_TO(long);
+
+        TRY_CONVERT_TO(bool);
+
+        TRY_CONVERT_TO(float);
+
+        TRY_CONVERT_TO(double);
+
+        TRY_CONVERT_TO(unsigned long);
+
+        TRY_CONVERT_TO(int);
+
+        TRY_CONVERT_TO(unsigned int);
+
+        TRY_CONVERT_TO(char);
+
+        TRY_CONVERT_TO(unsigned char);
+
+        TRY_CONVERT_TO(int32_t);
+
+        TRY_CONVERT_TO(uint32_t);
+
+    }
+    catch(Poco::SyntaxException& ex)
+    {
+        string msg = "Could not convert variant with typeid ";
+        msg += self->var.type().name();
+        msg += " to type";
+        msg += info.name();
+        msg += "error: ";
+        msg += ex.what();
+        msg += ", string value: " + self->var.toString();
+
+        throw std::logic_error(msg);
+    }
+
+
+    string msg = "Could not convert variant with typeid ";
+    msg += self->var.type().name();
+    msg += " to type";
+    msg += info.name();
+
+    throw invalid_argument(msg);
+}
+
+} /* namespace rr */
+
+
diff --git a/source/Variant.h b/source/Variant.h
new file mode 100644
index 0000000..52d9ba0
--- /dev/null
+++ b/source/Variant.h
@@ -0,0 +1,280 @@
+/*
+ * Variant.h
+ *
+ *  Created on: Apr 26, 2014
+ *      Author: andy
+ */
+
+#ifndef VARIANT_H_
+#define VARIANT_H_
+
+#include "rrExporter.h"
+#include <typeinfo>
+#include <string>
+
+
+namespace rr
+{
+
+/**
+ * A basic type to hold a variety of data types.
+ *
+ * Unfourtunatly C++ does not have a standard variant type so we have to
+ * create one here.
+ *
+ * This is a fairly low performance class and is intended soley for
+ * infrequent operations such as setting configuration parameters.
+ *
+ * If Python support is enabled, this class can convert to and from a
+ * Python object.
+ *
+ * Usage:
+ * This class can convert to and from any primitive data type, and
+ * some collections types. More type conversions will be added as needed.
+ *
+ * To store a value, just assign it, the assignment operator automatically
+ * takes care of everything for you:
+ * @code
+ * // store an int:
+ * int i = 23;
+ * Variant v = i;
+ *
+ * // store a double:
+ * Variant v = (double)0.123;
+ * @endcode
+ *
+ * Extraction:
+ * To retrieve the stored data, uses the convert function, this is templated
+ * so it can convert and extract to any type:
+ *
+ * @code
+ * Variant v = getSomeVariant();
+ *
+ * // to convert to integer:
+ * int i = v.convert<int>();
+ *
+ * // to convert to string:
+ * std::string s = v.convert<std::string>();
+ * @endcode
+ *
+ * Rationale:
+ * C++ does not have a built in variant type. Other variant types exist
+ * such as boost::any and Poco dynamic var. However including the one of these
+ * as part of our public API would forever tie us to that particular library, and
+ * would impose yet another dependency.
+ *
+ * Only very basic variant type support is needed and this class exposes the
+ * absolute minimum possible API to support such features, and provides
+ * just two methods of getting and storing native C++ types in it.
+ *
+ * This is *currently* implemented by Poco but the implementation is fully
+ * opaque and may change in the future.
+ */
+class RR_DECLSPEC Variant
+{
+public:
+
+    /**
+     * list of currently supported types that a Variant can hold.
+     */
+    enum TypeId
+    {
+        STRING, BOOL, INT32, UINT32, INT64, UINT64, FLOAT, DOUBLE, CHAR, UCHAR, EMPTY
+    };
+
+    /**
+     * the current type that this Variant is.
+     */
+    TypeId type() const;
+
+    /**
+     * creates an emtpy variant
+     */
+    Variant();
+
+    /**
+     * create a new variant from an existing supported data type.
+     * This templated constructor can assign any primitive type:
+     * @code
+     * Variant v = (int)1;
+     * Variant v = std::string("a string");
+     * @endcode
+     */
+    template <typename T>
+    Variant(const T& val) : self(0)
+    {
+        const std::type_info &info = typeid(T);
+        alloc();
+        assign(info, &val);
+    }
+
+    Variant(const char* str) : self(0)
+    {
+        const std::type_info &info = typeid(std::string);
+        std::string val(str);
+        alloc();
+        assign(info, &val);
+    }
+
+    /**
+     * Copy constructor.
+     */
+    Variant(const Variant& other);
+
+    /**
+     * Assignment operator for assigning POD to Var
+     * same as the constructor, this assigns a value to an existing
+     * Variant.
+     */
+    template <typename T>
+    Variant& operator = (const T& value)
+    {
+        const std::type_info &info = typeid(T);
+        assign(info, &value);
+        return *this;
+    }
+
+    /**
+     * Assignment operator. Assign one variant to another.
+     */
+    Variant& operator = (const Variant& other);
+
+    /**
+     * clean up any data owned by this object.
+     */
+    virtual ~Variant();
+
+    /**
+     * get the type id of the stored data type. This will let you check what kind
+     * of data is strored in this variant.
+     *
+     * @code
+     * // to check if this is an integer:
+     * Variant v = ...
+     * if (v.type() == typeid(int))
+     *     cout << "its an int";
+     *
+     * // to check if its a string:
+     * if (v.type() == typeid(std::string))
+     *     cout << "ints a string";
+     * @endcode
+     */
+    const std::type_info& typeInfo() const;
+
+    /**
+     * Convert this variant to a supported data type.
+     *
+     * This method will try to perform type coercion, i.e. if this variant contains
+     * a string, and it is asked to convert to a int, the string will be parsed as
+     * an int. Similary, doubles will be rounded to int, so forth.
+     *
+     * @code
+     * // convert to int:
+     * int i = v.convert<int>();
+     * @endcode
+     */
+    template <typename T>
+    T convert() const
+    {
+        T value;
+        convert_to(typeid(T), &value);
+        return value;
+    }
+
+    /**
+     * conversion operators, note, MSVC 2012 is buggy and does not support
+     * templated conversion operators correctly, so manually implement
+     * the supported types here.
+     */
+    #define VARIANT_IMPLICIT_CONVERT(type)   \
+    operator type() const                    \
+    {                                        \
+        return convert<type>();              \
+    }
+
+    VARIANT_IMPLICIT_CONVERT(std::string);
+
+    VARIANT_IMPLICIT_CONVERT(long);
+
+    VARIANT_IMPLICIT_CONVERT(bool);
+
+    VARIANT_IMPLICIT_CONVERT(float);
+
+    VARIANT_IMPLICIT_CONVERT(double);
+
+    VARIANT_IMPLICIT_CONVERT(unsigned long);
+
+    VARIANT_IMPLICIT_CONVERT(int);
+
+    VARIANT_IMPLICIT_CONVERT(unsigned int);
+
+    VARIANT_IMPLICIT_CONVERT(char);
+
+    VARIANT_IMPLICIT_CONVERT(unsigned char);
+
+    /**
+     * Parses the string which must be in JSON format. This is a common
+     * way to read a Variant from a file or create a new one from a string:
+     * @code
+     * Variant v = Variant::parse("0.123");
+     * @endcode
+     */
+    static Variant parse(const std::string& val);
+
+    /**
+     * Converts the Variant to a string in JSON format.
+     */
+    std::string toString() const;
+
+    /**
+     * @author JKM
+     * @brief Convert to Python-compatible representation
+     */
+    std::string pythonRepr() const;
+
+    /**
+     * is this variant a string.
+     */
+    bool isString() const;
+
+    /**
+     * was an interger stored here.
+     */
+    bool isInteger() const;
+
+    /**
+     * is this a numeric type.
+     */
+    bool isNumeric() const;
+
+    /**
+     * is this a boolean type.
+     */
+    bool isBool() const;
+
+    /**
+     * true if empty.
+     */
+    bool isEmpty() const;
+
+    /**
+     * true if this is a signed number.
+     */
+    bool isSigned() const;
+
+
+private:
+    /**
+     * private implementation, this gives us the flexibility to use
+     * different implementations in the future and maintain binary
+     * compatability.
+     */
+    struct VariantImpl *self;
+    void alloc();
+    void assign(const std::type_info& info, const void* value);
+    void convert_to(const std::type_info& info, void* value) const;
+};
+
+} /* namespace rr */
+
+#endif /* VARIANT_H_ */
diff --git a/source/c/mtrand.cpp b/source/c/mtrand.cpp
new file mode 100644
index 0000000..7fdef98
--- /dev/null
+++ b/source/c/mtrand.cpp
@@ -0,0 +1,56 @@
+#pragma hdrstop
+#include "mtrand.h"
+//---------------------------------------------------------------------------
+
+// mtrand.cpp, see include file mtrand.h for information
+
+// non-inline function definitions and static member definitions cannot
+// reside in header file because of the risk of multiple declarations
+// initialization of static private members
+const int MTRand_int32::n = 632;
+const int MTRand_int32::m = 397;
+
+unsigned long MTRand_int32::state[632] = {0x0UL};
+
+int MTRand_int32::p = 0;
+bool MTRand_int32::init = false;
+
+void MTRand_int32::gen_state() const { // generate new state vector
+  for (int i = 0; i < (n - m); ++i)
+    state[i] = state[i + m] ^ twiddle(state[i], state[i + 1]);
+  for (int i = n - m; i < (n - 1); ++i)
+    state[i] = state[i + m - n] ^ twiddle(state[i], state[i + 1]);
+  state[n - 1] = state[m - 1] ^ twiddle(state[n - 1], state[0]);
+  p = 0; // reset position
+}
+
+void MTRand_int32::seed(unsigned long s) {  // init by 32 bit seed
+  state[0] = s & 0xFFFFFFFFUL; // for > 32 bit machines
+  for (int i = 1; i < n; ++i) {
+    state[i] = 1812433253UL * (state[i - 1] ^ (state[i - 1] >> 30)) + i;
+// see Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier
+// in the previous versions, MSBs of the seed affect only MSBs of the array state
+// 2002/01/09 modified by Makoto Matsumoto
+    state[i] &= 0xFFFFFFFFUL; // for > 32 bit machines
+  }
+  p = n; // force gen_state() to be called for next random number
+}
+
+void MTRand_int32::seed(const unsigned long* array, int size) { // init by array
+  seed(19650218UL);
+  int i = 1, j = 0;
+  for (int k = ((n > size) ? n : size); k; --k) {
+    state[i] = (state[i] ^ ((state[i - 1] ^ (state[i - 1] >> 30)) * 1664525UL))
+      + array[j] + j; // non linear
+    state[i] &= 0xFFFFFFFFUL; // for > 32 bit machines
+    ++j; j %= size;
+    if ((++i) == n) { state[0] = state[n - 1]; i = 1; }
+  }
+  for (int k = n - 1; k; --k) {
+    state[i] = (state[i] ^ ((state[i - 1] ^ (state[i - 1] >> 30)) * 1566083941UL)) - i;
+    state[i] &= 0xFFFFFFFFUL; // for > 32 bit machines
+    if ((++i) == n) { state[0] = state[n - 1]; i = 1; }
+  }
+  state[0] = 0x80000000UL; // MSB is 1; assuring non-zero initial array
+  p = n; // force gen_state() to be called for next random number
+}
diff --git a/source/c/mtrand.h b/source/c/mtrand.h
new file mode 100644
index 0000000..712a657
--- /dev/null
+++ b/source/c/mtrand.h
@@ -0,0 +1,157 @@
+// mtrand.h
+// C++ include file for MT19937, with initialization improved 2002/1/26.
+// Coded by Takuji Nishimura and Makoto Matsumoto.
+// Ported to C++ by Jasper Bedaux 2003/1/1 (see http://www.bedaux.net/mtrand/).
+// The generators returning floating point numbers are based on
+// a version by Isaku Wada, 2002/01/09
+//
+// Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+//
+// 1. Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright
+//    notice, this list of conditions and the following disclaimer in the
+//    documentation and/or other materials provided with the distribution.
+//
+// 3. The names of its contributors may not be used to endorse or promote
+//    products derived from this software without specific prior written
+//    permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// Any feedback is very welcome.
+// http://www.math.keio.ac.jp/matumoto/emt.html
+// email: matumoto at math.keio.ac.jp
+//
+// Feedback about the C++ port should be sent to Jasper Bedaux,
+// see http://www.bedaux.net/mtrand/ for e-mail address and info.
+
+#ifndef MTRAND_H
+#define MTRAND_H
+
+#include "rrExporter.h"
+
+class  MTRand_int32
+{ // Mersenne Twister random number generator
+public:
+// default constructor: uses default seed only if this is the first instance
+  MTRand_int32() { if (!init) seed(5489UL); init = true; }
+// constructor with 32 bit int as seed
+  MTRand_int32(unsigned long s) { seed(s); init = true; }
+// constructor with array of size 32 bit ints as seed
+  MTRand_int32(const unsigned long* array, int size) { seed(array, size); init = true; }
+// the two seed functions
+  void seed(unsigned long); // seed with 32 bit integer
+  void seed(const unsigned long*, int size); // seed with array
+// overload operator() to make this a generator (functor)
+  unsigned long operator()() { return rand_int32(); }
+// 2007-02-11: made the destructor virtual; thanks "double more" for pointing this out
+  virtual ~MTRand_int32() {} // destructor
+protected: // used by derived classes, otherwise not accessible; use the ()-operator
+  unsigned long rand_int32() const; // generate 32 bit random integer
+private:
+  static const int n;//
+  static const int m;//= 624, m = 397; // compile time constants
+// the variables below are static (no duplicates can exist)
+  static unsigned long state[]; // state vector array
+  static int p; // position in state array
+  static bool init; // true if init function is called
+// private functions used to generate the pseudo random numbers
+  unsigned long twiddle(unsigned long, unsigned long) const; // used by gen_state()
+  void gen_state() const; // generate new state
+// make copy constructor and assignment operator unavailable, they don't make sense
+  MTRand_int32(const MTRand_int32&); // copy constructor not defined
+  void operator=(const MTRand_int32&); // assignment operator not defined
+};
+
+// inline for speed, must therefore reside in header file
+inline unsigned long MTRand_int32::twiddle(unsigned long u, unsigned long v) const {
+  return (((u & 0x80000000UL) | (v & 0x7FFFFFFFUL)) >> 1)
+    ^ ((v & 1UL) ? 0x9908B0DFUL : 0x0UL);
+}
+
+inline unsigned long MTRand_int32::rand_int32() const { // generate 32 bit random int
+  if (p == n) gen_state(); // new state vector needed
+// gen_state() is split off to be non-inline, because it is only called once
+// in every 624 calls and otherwise irand() would become too big to get inlined
+  unsigned long x = state[p++];
+  x ^= (x >> 11);
+  x ^= (x << 7) & 0x9D2C5680UL;
+  x ^= (x << 15) & 0xEFC60000UL;
+  return x ^ (x >> 18);
+}
+
+// generates double floating point numbers in the half-open interval [0, 1)
+class MTRand : public MTRand_int32 {
+public:
+  MTRand() : MTRand_int32() {}
+  MTRand(unsigned long seed) : MTRand_int32(seed) {}
+  MTRand(const unsigned long* seed, int size) : MTRand_int32(seed, size) {}
+  ~MTRand() {}
+  double operator()() const {
+    return static_cast<double>(rand_int32()) * (1. / 4294967296.); } // divided by 2^32
+private:
+  MTRand(const MTRand&); // copy constructor not defined
+  void operator=(const MTRand&); // assignment operator not defined
+};
+
+// generates double floating point numbers in the closed interval [0, 1]
+class MTRand_closed : public MTRand_int32 {
+public:
+  MTRand_closed() : MTRand_int32() {}
+  MTRand_closed(unsigned long seed) : MTRand_int32(seed) {}
+  MTRand_closed(const unsigned long* seed, int size) : MTRand_int32(seed, size) {}
+  ~MTRand_closed() {}
+  double operator()() {
+    return static_cast<double>(rand_int32()) * (1. / 4294967295.); } // divided by 2^32 - 1
+private:
+  MTRand_closed(const MTRand_closed&); // copy constructor not defined
+  void operator=(const MTRand_closed&); // assignment operator not defined
+};
+
+// generates double floating point numbers in the open interval (0, 1)
+class  MTRand_open : public MTRand_int32 {
+public:
+  MTRand_open() : MTRand_int32() {}
+  MTRand_open(unsigned long seed) : MTRand_int32(seed) {}
+  MTRand_open(const unsigned long* seed, int size) : MTRand_int32(seed, size) {}
+  ~MTRand_open() {}
+  double operator()() {
+    return (static_cast<double>(rand_int32()) + .5) * (1. / 4294967296.); } // divided by 2^32
+private:
+  MTRand_open(const MTRand_open&); // copy constructor not defined
+  void operator=(const MTRand_open&); // assignment operator not defined
+};
+
+// generates 53 bit resolution doubles in the half-open interval [0, 1)
+class MTRand53 : public MTRand_int32 {
+public:
+  MTRand53() : MTRand_int32() {}
+  MTRand53(unsigned long seed) : MTRand_int32(seed) {}
+  MTRand53(const unsigned long* seed, int size) : MTRand_int32(seed, size) {}
+  ~MTRand53() {}
+  double operator()() {
+    return (static_cast<double>(rand_int32() >> 5) * 67108864. +
+      static_cast<double>(rand_int32() >> 6)) * (1. / 9007199254740992.); }
+private:
+  MTRand53(const MTRand53&); // copy constructor not defined
+  void operator=(const MTRand53&); // assignment operator not defined
+};
+
+#endif // MTRAND_H
diff --git a/source/c/mtreadme.txt b/source/c/mtreadme.txt
new file mode 100644
index 0000000..60d3e39
--- /dev/null
+++ b/source/c/mtreadme.txt
@@ -0,0 +1,118 @@
+This is a Mersenne Twister pseudo-random number generator
+with period 2^19937 - 1 with improved initialization scheme,
+modified on 2002/1/26 by Takuji Nishimura and Makoto Matsumoto.
+
+This version is a port from the original C-code to C++ by
+Jasper Bedaux (http://www.bedaux.net/mtrand/).
+
+Contents of this tar ball:
+mtreadme.txt    this file
+mtrand.h        the include file containing class declarations
+mtrand.cpp      the library file containing non-inline members
+mttest.cpp      small program to test the random number generators
+mttest.out      output of the test program to compare to if modified
+
+1. Initialization
+The initialization scheme for the previous versions of MT
+(e.g. 1999/10/28 version or earlier) has a tiny problem, that
+the most significant bits of the seed is not well reflected
+to the state vector of MT.
+
+This version (2002/1/26) has two initialization schemes:
+seed(s) and seed(array, length).
+
+seed(s) initializes the state vector by using
+one unsigned 32-bit integer 's', which may be zero.
+
+seed(array, length) initializes the state vector 
+by using an array 'array' of unsigned 32-bit integers
+of length 'length'. If 'length' is smaller than 624,
+then each array of 32-bit integers gives a distinct initial
+state vector. This is useful if you want a larger seed space
+than a 32-bit word.
+
+2. Generators
+Below is an overview of the generators (functor classes) available.
+The last four are derived from the first one and all instances of every
+generator use the same static state vector in computer memory, so
+initialization must only be done once, when the first generator instance
+is created.
+
+MTRand_int32  generates unsigned 32-bit integers.
+
+MTRand        generates uniform double precision floating point numbers
+  in the halfopen interval [0, 1) (32-bit resolution).
+
+MTRand_open   generates uniform double precision floating point numbers
+  in the open interval (0, 1) (32-bit resolution).
+
+MTRand_closed generates uniform double precision floating point numbers
+  in the closed interval [0, 1] (32-bit resolution).
+
+MTRand53      generates uniform double precision floating point numbers
+  in the half-open interval [0, 1) (53-bit resolution).
+
+3. Usage
+Use #include "mtrand.h" in your C++ file and compile together with
+mtrand.cpp, e.g. g++ yourprogram.cpp mtrand.cpp.
+
+As an example, the usage of an MTRand object is given. The other classes
+can be used in the same way.
+
+unsigned long s = 89UL;
+unsigned long array[] = {0x123, 0x234, 0x345, 0x456};
+
+MTRand mt; 
+// construct random number generator, no initialization is done when
+// some other instance already performed an initialization, else, a
+// default seed number is used (not recommended)
+
+// alternative:
+MTRand mt(s);
+// the generator is initialized with the number s
+
+// alternative:
+MTRand mt(array, 4);
+// the generator is initialized with 'array' of length 4
+
+// the initializations can also be done with:
+mt.seed(s);
+// or
+mt.seed(array, 4);
+
+// an MTRand object behaves like a generator, i.e., like a function
+// that accepts no arguments and returns a pseudo random number,
+// so to generate a random number use for example
+unsigned long random_number;
+random_number = mt();
+
+4. Test program
+A small program to test the random number generators is included as 
+mttest.cpp. It is an example to initialize with an array of length 4,
+then output 1000 unsigned 32-bit integers, then 1000 real [0,1) numbers.
+
+5. The output
+The output of mttest.cpp is in the file mttest.out.
+If you revise or translate the code, check the output by using this file. 
+
+6. Cryptography
+This generator is not cryptographically secure. You need to use a one-way
+(or hash) function to obtain a secure random sequence.
+
+7. Correspondence
+See 
+URL: http://www.math.keio.ac.jp/matumoto/emt.html
+email: matumoto at math.keio.ac.jp, nisimura at sci.kj.yamagata-u.ac.jp
+For correspondence about this C++ port see
+http://www.bedaux.net/mtrand/ for contact information.
+
+8. Reference
+M. Matsumoto and T. Nishimura,
+"Mersenne Twister: A 623-Dimensionally Equidistributed Uniform  
+Pseudo-Random Number Generator",
+ACM Transactions on Modeling and Computer Simulation,
+Vol. 8, No. 1, January 1998, pp 3-30.
+
+-------
+Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
+All rights reserved.
diff --git a/source/c/mttest.cpp b/source/c/mttest.cpp
new file mode 100644
index 0000000..1b67646
--- /dev/null
+++ b/source/c/mttest.cpp
@@ -0,0 +1,31 @@
+#ifdef USE_PCH
+#include "rr_pch.h"
+#endif
+#pragma hdrstop
+
+// test program mttest.cpp, see mtreadme.txt for information
+#include "mtrand.h"
+#include <cstdio>
+//---------------------------------------------------------------------------
+
+
+int main() {
+  unsigned long init[4] = {0x123, 0x234, 0x345, 0x456}, length = 4;
+  MTRand_int32 irand(init, length); // 32-bit int generator
+// this is an example of initializing by an array
+// you may use MTRand(seed) with any 32bit integer
+// as a seed for a simpler initialization
+  MTRand drand; // double in [0, 1) generator, already init
+
+// generate the same numbers as in the original C test program
+  std::printf("1000 32-bit integer random numbers:\n");
+  for (int i = 0; i < 1000; ++i) {
+    std::printf("%10lu ", irand());
+    if ((i % 5) == 4) std::printf("\n");
+  }
+  std::printf("\n1000 random numbers in [0, 1):\n");
+  for (int i = 0; i < 1000; ++i) {
+    std::printf("%10.8f ", drand());
+    if ((i % 5) == 4) std::printf("\n");
+  }
+}
diff --git a/source/c/rrCCompiler.cpp b/source/c/rrCCompiler.cpp
new file mode 100644
index 0000000..f96a07f
--- /dev/null
+++ b/source/c/rrCCompiler.cpp
@@ -0,0 +1,412 @@
+#pragma hdrstop
+#include <sstream>
+#if defined(_WIN32) || defined(__WIN32__)
+#include <windows.h>
+#include <strsafe.h>
+#if defined(__CODEGEARC__)
+    #include <dir.h>
+#elif defined(_MSVC)
+    #include <direct.h>
+#endif
+#endif
+#include "Poco/File.h"
+#include "rrLogger.h"
+#include "rrCCompiler.h"
+#include "rrException.h"
+#include "rrStringUtils.h"
+#include "rrUtils.h"
+#include "rrRoadRunner.h"
+//---------------------------------------------------------------------------
+
+using namespace std;
+namespace rr
+{
+
+CCompiler::CCompiler(const string& supportCodeFolder, const string& compiler)
+:
+mSupportCodeFolder(supportCodeFolder),
+mCompilerName(getFileName(compiler)),
+mCompilerLocation(getFilePath(compiler))
+{
+    if(mSupportCodeFolder.size() > 0)
+    {
+        if(!setupCompiler(mSupportCodeFolder))
+        {
+            Log(lWarning)<<"Roadrunner internal compiler setup failed. ";
+        }
+    }
+}
+
+CCompiler::~CCompiler(){}
+
+bool CCompiler::setupCompiler(const string& supportCodeFolder)
+{
+    mSupportCodeFolder = supportCodeFolder;
+
+    if(!folderExists(mSupportCodeFolder))
+    {
+        Log(Logger::LOG_ERROR)<<"The roadrunner support code folder : "<<mSupportCodeFolder<<" does not exist.";
+        return false;
+    }
+
+    return true;
+}
+
+bool CCompiler::setOutputPath(const string& path)
+{
+    mOutputPath = path;
+    return true;
+}
+
+bool CCompiler::compileSource(const string& sourceFileName)
+{
+    //Compile the code and load the resulting dll, and call an exported function in it...
+#if defined(_WIN32) || defined(__CODEGEARC__)
+    string dllFName(changeFileExtensionTo(getFileName(sourceFileName), "dll"));
+#elif defined(__unix__)
+    string dllFName(changeFileExtensionTo(getFileName(sourceFileName), "so"));
+#elif defined(__APPLE__)
+    string dllFName(changeFileExtensionTo(getFileName(sourceFileName), "dylib"));
+#endif
+    mDLLFileName = joinPath(getFilePath(sourceFileName), dllFName);
+
+    //Setup compiler environment
+    setupCompilerEnvironment();
+
+    string exeCmd = createCompilerCommand(sourceFileName);
+
+    //exeCmd += " > compileLog.log";
+    Log(lDebug2)<<"Compiling model..";
+    Log(lDebug)<<"\nExecuting compile command: "<<exeCmd;
+
+    if(!compile(exeCmd))
+    {
+        Log(Logger::LOG_ERROR)<<"Creating DLL failed..";
+        throw Exception("Creating Model DLL failed..");
+    }
+
+    //Check if the DLL exists...
+    return fileExists(mDLLFileName);
+}
+
+bool CCompiler::setCompiler(const string& compiler)
+{
+    mCompilerName = getFileName(compiler);
+    mCompilerLocation = getFilePath(compiler);
+    return true;
+}
+
+string CCompiler::getCompiler() const
+{
+    return mCompilerName;
+}
+
+bool CCompiler::setCompilerLocation(const string& path)
+{
+    if(!folderExists(path))
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to set invalid path: "<<path<<" for compiler location";
+        return false;
+    }
+    mCompilerLocation = path;
+    return true;
+}
+
+string CCompiler::getCompilerLocation() const
+{
+    return mCompilerLocation;
+}
+
+bool CCompiler::setSupportCodeFolder(const string& path)
+{
+    if(!folderExists(path))
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to set invalid path: "<<path<<" for compiler location";
+        return false;
+    }
+    mSupportCodeFolder = path;
+    return true;
+}
+
+string CCompiler::getSupportCodeFolder() const
+{
+    return mSupportCodeFolder;
+}
+
+bool CCompiler::setupCompilerEnvironment()
+{
+    mIncludePaths.clear();
+    mLibraryPaths.clear();
+    mCompilerFlags.clear();
+    if(getFileNameNoExtension(mCompilerName) == "tcc" || getFileNameNoExtension(mCompilerName) == "gcc")
+    {
+        mCompilerFlags.push_back("-g");         //-g adds runtime debug information
+#if defined(__unix__) || defined(_WIN32)
+        mCompilerFlags.push_back("-shared");
+        mCompilerFlags.push_back("-rdynamic");  //-rdynamic : Export global symbols to the dynamic linker
+#elif defined(__APPLE__)
+        mCompilerFlags.push_back("-dynamiclib");
+#endif
+                                                //-b : Generate additional support code to check memory allocations and array/pointer bounds. `-g' is implied.
+
+        mCompilerFlags.push_back("-fPIC"); // shared lib
+        mCompilerFlags.push_back("-O0"); // turn off optimization
+
+        //LogLevel                              //-v is for verbose
+        if(getFileNameNoExtension(mCompilerName) == "tcc")
+        {
+            mIncludePaths.push_back(".");
+            mIncludePaths.push_back("r:/rrl/source");
+
+            mIncludePaths.push_back(joinPath(mCompilerLocation, "include"));
+            mLibraryPaths.push_back(".");
+            mLibraryPaths.push_back(joinPath(mCompilerLocation, "lib"));
+            if(gLog.getLevel() < lDebug)
+            {
+                mCompilerFlags.push_back("-v"); // suppress warnings
+            }
+            else if(gLog.getLevel() >= lDebug1)
+            {
+                mCompilerFlags.push_back("-vv");
+            }
+            else if(gLog.getLevel() >= lDebug2)
+            {
+                mCompilerFlags.push_back("-vvv");
+            }
+        }
+        else if(getFileNameNoExtension(mCompilerName) == "gcc")
+        {
+            if(gLog.getLevel() < lDebug)
+            {
+                mCompilerFlags.push_back("-w"); // suppress warnings
+            }
+            else if(gLog.getLevel() >= lDebug1)
+            {
+                mCompilerFlags.push_back("-Wall");
+            }
+            else if(gLog.getLevel() >= lDebug2)
+            {
+                mCompilerFlags.push_back("-Wall -pedantic");
+            }
+        }
+    }
+
+    mIncludePaths.push_back(mSupportCodeFolder);
+    return true;
+}
+
+string CCompiler::createCompilerCommand(const string& sourceFileName)
+{
+    stringstream exeCmd;
+    if(getFileNameNoExtension(mCompilerName) == "tcc"
+       || getFileNameNoExtension(mCompilerName) == "gcc"
+       || getFileNameNoExtension(mCompilerName) == "cc")
+    {
+        // standard unix compiler options
+        exeCmd<<joinPath(mCompilerLocation, mCompilerName);
+        //Add compiler flags
+        for(int i = 0; i < mCompilerFlags.size(); i++)
+        {
+            exeCmd<<" "<<mCompilerFlags[i];
+        }
+        exeCmd<<" \""<<sourceFileName<<"\" \""<<joinPath(mSupportCodeFolder, "rrSupport.c")<<"\"";
+
+
+        exeCmd<<" -o \""<<mDLLFileName<<"\"";
+#if defined(WIN32)
+        exeCmd<<" -DBUILD_MODEL_DLL ";
+#endif
+        //Add include paths
+        for(int i = 0; i < mIncludePaths.size(); i++)
+        {
+            exeCmd<<" -I\""<<mIncludePaths[i]<<"\" " ;
+        }
+
+        //Add library paths
+        for(int i = 0; i < mLibraryPaths.size(); i++)
+        {
+            exeCmd<<" -L\""<<mLibraryPaths[i]<<"\" " ;
+        }
+    }
+    return exeCmd.str();
+}
+
+#ifdef WIN32
+
+bool CCompiler::compile(const string& cmdLine)
+{
+    if( !cmdLine.size() )
+    {
+        return false;
+    }
+
+    PROCESS_INFORMATION pi;
+    ZeroMemory( &pi, sizeof(pi) );
+
+    STARTUPINFO si;
+    ZeroMemory( &si, sizeof(si) );
+    si.cb = sizeof(si);
+
+    //sec attributes for the output file
+    SECURITY_ATTRIBUTES sao;
+    sao.nLength=sizeof(SECURITY_ATTRIBUTES);
+    sao.lpSecurityDescriptor=NULL;
+    sao.bInheritHandle=1;
+
+    string compilerTempFile(joinPath(mOutputPath, getFileNameNoExtension(mDLLFileName)));
+    compilerTempFile.append("C.log");
+
+    Poco::File aFile(compilerTempFile);
+    if(aFile.exists())
+    {
+        aFile.remove();
+    }
+
+    HANDLE outFile;
+      //Todo: there is a problem creating the logfile after first time creation..
+    if((outFile=CreateFileA(compilerTempFile.c_str(),
+                            GENERIC_WRITE,
+                            FILE_SHARE_DELETE,
+                            &sao,
+                            OPEN_ALWAYS,
+                            FILE_ATTRIBUTE_NORMAL,
+                            NULL))==INVALID_HANDLE_VALUE)
+    {
+        // Retrieve the system error message for the last-error code
+        DWORD errorCode = GetLastError();
+        string anError = getWINAPIError(errorCode, TEXT("CreateFile"));
+        Log(Logger::LOG_ERROR)<<"WIN API Error (after CreateFile): "<<anError;
+        Log(Logger::LOG_ERROR)<<"Failed creating logFile for compiler output";
+    }
+
+    SetFilePointer(outFile, 0, NULL, FILE_END); //set pointer position to end file
+
+    //init the STARTUPINFO struct
+    si.dwFlags=STARTF_USESTDHANDLES;
+    si.hStdOutput = outFile;
+    si.hStdError  = outFile;
+
+    //proc sec attributes
+    SECURITY_ATTRIBUTES sap;
+    sap.nLength=sizeof(SECURITY_ATTRIBUTES);
+    sap.lpSecurityDescriptor=NULL;
+    sap.bInheritHandle=1;
+
+    //thread sec attributes
+    SECURITY_ATTRIBUTES sat;
+    sat.nLength=sizeof(SECURITY_ATTRIBUTES);
+    sat.lpSecurityDescriptor=NULL;
+    sat.bInheritHandle=1;
+
+    // Start the child process.
+    if( !CreateProcessA(
+        NULL,                           // No module name (use command line)
+        (char*) cmdLine.c_str(),        // Command line
+        &sap,                           // Process handle not inheritable
+        &sat,                           // Thread handle not inheritable
+        TRUE,                          // Set handle inheritance
+        CREATE_NO_WINDOW,               // Creation flags
+        NULL,                           // Use parent's environment block
+        NULL,                           // Use parent's starting directory
+        &si,                            // Pointer to STARTUPINFO structure
+        &pi )                           // Pointer to PROCESS_INFORMATION structure
+    )
+    {
+        DWORD errorCode = GetLastError();
+
+        string anError = getWINAPIError(errorCode, TEXT("CreateProcess"));
+        Log(Logger::LOG_ERROR)<<"WIN API Error: (after CreateProcess) "<<anError;
+
+        // Close process and thread handles.
+        CloseHandle(pi.hProcess);
+        CloseHandle(pi.hThread);
+        CloseHandle(outFile);
+        return false;
+    }
+
+    // Wait until child process exits.
+    WaitForSingleObject(pi.hProcess, INFINITE);
+
+    CloseHandle(outFile);
+
+    // Close process and thread handles.
+    CloseHandle(pi.hProcess);
+    DWORD errorCode = GetLastError();
+    if(errorCode != 0)
+    {
+        string anError = getWINAPIError(errorCode, TEXT("CloseHandle"));
+        Log(lDebug)<<"WIN API error: (pi.hProcess)"<<anError;
+    }
+
+    CloseHandle(pi.hThread);
+    errorCode = GetLastError();
+    if(errorCode != 0)
+    {
+        string anError = getWINAPIError(errorCode, TEXT("CloseHandle"));
+        Log(lDebug)<<"WIN API error: (pi.hThread)"<<anError;
+    }
+
+    //Read the log file and log it
+    if(fileExists(compilerTempFile))
+    {
+        string log = getFileContent(compilerTempFile.c_str());
+        Log(lDebug)<<"Compiler output: "<<log<<endl;
+    }
+
+    return true;
+}
+
+#else  //---------------- LINUX, UNIXES
+
+bool CCompiler::compile(const string& cmdLine)
+{
+    string toFile(cmdLine);
+    toFile += " >> ";
+    toFile += joinPath(mOutputPath, "compilation.log");
+    toFile += " 2>&1";
+
+    Log(lDebug)<<"Compiler command: "<<toFile;
+
+    //Create the shared library, using system call
+    int val = system(toFile.c_str());
+    if(val == 0)
+    {
+        Log(lDebug)<<"Compile system call was succesful";
+        return true;
+    }
+    else
+    {
+        Log(Logger::LOG_ERROR)<<"Compile system call returned: "<<val;
+        return false;
+    }
+}
+
+#endif //WIN32
+
+std::string CCompiler::getDefaultTargetTriple()
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+std::string CCompiler::getProcessTriple()
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+std::string CCompiler::getHostCPUName()
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+std::string CCompiler::getVersion()
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+string getCompilerMessages()
+{
+    return "No messages yet";
+}
+
+} //namespace rr
+
diff --git a/source/c/rrCCompiler.h b/source/c/rrCCompiler.h
new file mode 100644
index 0000000..3f47e73
--- /dev/null
+++ b/source/c/rrCCompiler.h
@@ -0,0 +1,70 @@
+#ifndef rrCompilerH
+#define rrCompilerH
+#include <vector>
+#include <string>
+#include "rrCompiler.h"
+#include "rrStringList.h"
+
+using std::vector;
+using std::string;
+
+namespace rr
+{
+
+/**
+ * compiler class for the C based model system.
+ */
+class RR_DECLSPEC CCompiler : public Compiler
+{
+public:
+    CCompiler(const string& supportCodeFolder, const string& compiler);
+    virtual ~CCompiler();
+
+    virtual string              getCompiler() const;
+    virtual bool                setCompiler(const string& compiler);
+
+    bool                        setupCompiler(const string& supportCodeFolder);
+    bool                        compile(const string& cmdLine);
+
+    virtual bool                setCompilerLocation(const string& path);
+    virtual string              getCompilerLocation() const;
+
+    virtual bool                setSupportCodeFolder(const string& path);
+    virtual string              getSupportCodeFolder() const;
+
+    bool                        setIncludePath(const string& path);
+    bool                        setLibraryPath(const string& path);
+    void                        execute(StringList& oProxyCode);
+    bool                        compileSource(const string& cSource);
+    string                      getCompilerMessages();
+    bool                        setOutputPath(const string& path);
+
+
+    virtual std::string getDefaultTargetTriple();
+
+    virtual std::string getProcessTriple();
+
+    virtual std::string getHostCPUName();
+
+    virtual std::string getVersion();
+
+private:
+    string                      mDLLFileName;
+    string                      mSupportCodeFolder;
+    string                      mCompilerName;
+    string                      mCompilerLocation;    //Path to executable
+
+    vector<string>              mCompilerOutput;
+    vector<string>              mIncludePaths;
+    vector<string>              mLibraryPaths;
+    vector<string>              mCompilerFlags;
+    string                      createCompilerCommand(const string& sourceFileName);
+    bool                        setupCompilerEnvironment();
+    string                      mOutputPath;
+
+};
+
+} //namespace rr
+
+
+#endif
diff --git a/source/c/rrCModelDataUtil.cpp b/source/c/rrCModelDataUtil.cpp
new file mode 100644
index 0000000..8484260
--- /dev/null
+++ b/source/c/rrCModelDataUtil.cpp
@@ -0,0 +1,225 @@
+/*
+ * rrCModelDataUtil.cpp
+ *
+ *  Created on: Aug 8, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "rrCModelDataUtil.h"
+
+#include <iomanip>
+#include <cstdlib>
+#include <cstring>
+
+
+using namespace std;
+
+static void dump_array(std::ostream &os, int n, const double *p)
+{
+    if (p)
+    {
+        os << setiosflags(ios::floatfield) << setprecision(8);
+        os << '[';
+        for (int i = 0; i < n; ++i)
+        {
+            os << p[i];
+            if (i < n - 1)
+            {
+                os << ", ";
+            }
+        }
+        os << ']' << endl;
+    }
+    else
+    {
+        os << "NULL" << endl;
+    }
+}
+
+
+namespace rr
+{
+
+
+
+
+void initModelData(ModelData &data)
+{
+    //Zero data structure..
+    memset(&data, 0, sizeof(rr::ModelData));
+}
+
+/**
+ * many implementations have a rrCalloc which returns a non zero pointer
+ * if a zero size data block is requested, this returns zero which
+ * makes debugging easier.
+ */
+static void *rrCalloc(size_t nmemb, size_t size)
+{
+    return nmemb * size != 0 ? calloc(nmemb, size) : 0;
+}
+
+void allocModelDataBuffers(ModelData &data, const string& modelName)
+{
+    data.modelName = strdup(modelName.c_str());
+
+    // in certain cases, the data returned by c++ new may be alligned differently than
+    // malloc, so just use rrCalloc here just to be safe, plus rrCalloc returns zero
+    // initialized memory.
+
+
+    data.floatingSpeciesAmounts = (double*)rrCalloc(data.numFloatingSpecies, sizeof(double));
+    data.floatingSpeciesAmountRates = (double*)rrCalloc(data.numFloatingSpecies, sizeof(double));
+    data.rateRuleRates = (double*)rrCalloc(data.numRateRules, sizeof(double));
+    data.floatingSpeciesConcentrations = (double*)rrCalloc(data.numFloatingSpecies, sizeof(double));
+    data.reactionRates = (double*)rrCalloc(data.numReactions, sizeof(double));
+    data.dependentSpeciesConservedSums = (double*)rrCalloc(data.numDependentSpecies, sizeof(double));
+    data.floatingSpeciesInitConcentrations = (double*)rrCalloc(data.numFloatingSpecies, sizeof(double));
+    data.globalParameters = (double*)rrCalloc(data.numGlobalParameters, sizeof(double));
+    data.compartmentVolumes = (double*)rrCalloc(data.numCompartments, sizeof(double));
+    data.boundarySpeciesConcentrations = (double*)rrCalloc(data.numBoundarySpecies, sizeof(double));
+    data.boundarySpeciesAmounts = (double*)rrCalloc(data.numBoundarySpecies, sizeof(double));
+    data.sr = (double*)rrCalloc(data.srSize, sizeof(double));
+    data.eventPriorities = (double*)rrCalloc(data.eventPrioritiesSize, sizeof(double));
+    data.eventStatusArray = (bool*)rrCalloc(data.eventStatusArraySize, sizeof(bool));
+    data.previousEventStatusArray = (bool*)rrCalloc(data.previousEventStatusArraySize, sizeof(bool));
+    data.eventPersistentType = (bool*)rrCalloc(data.eventPersistentTypeSize, sizeof(bool));
+    data.eventTests = (double*)rrCalloc(data.eventTestsSize, sizeof(double));
+    data.eventType = (bool*)rrCalloc(data.eventTypeSize, sizeof(bool));
+    data.floatingSpeciesCompartments = (unsigned*)rrCalloc(data.numFloatingSpecies, sizeof(unsigned));
+    data.boundarySpeciesCompartments = (unsigned*)rrCalloc(data.numBoundarySpecies, sizeof(unsigned));
+
+    //Event function pointer stuff
+    data.eventAssignments =
+            (EventAssignmentHandler*)rrCalloc(data.numEvents, sizeof(EventAssignmentHandler*));
+    data.computeEventAssignments =
+            (ComputeEventAssignmentHandler*)rrCalloc(data.numEvents, sizeof(ComputeEventAssignmentHandler*));
+    data.performEventAssignments =
+            (PerformEventAssignmentHandler*)rrCalloc(data.numEvents, sizeof(PerformEventAssignmentHandler*));
+    data.eventDelays =
+            (EventDelayHandler*)rrCalloc(data.numEvents, sizeof(EventDelayHandler*));
+}
+
+
+std::ostream& operator <<(std::ostream& os, const ModelData& data)
+{
+    os << "ModelData:"                 << endl;
+    os << "time: "                     << data.time << endl;                             // 2
+    os << "numIndependentSpecies: "    << data.numIndependentSpecies << endl;            // 3
+    os << "numDependentSpecies: "      << data.numDependentSpecies << endl;              // 4
+    os << "dependentSpeciesConservedSums:" << endl;                                      // 5
+    dump_array(os, data.numDependentSpecies, data.dependentSpeciesConservedSums);
+    os << "numGlobalParameters: "      << data.numGlobalParameters << endl;              // 6
+    os << "globalParameters: "         << endl;                                          // 7
+    dump_array(os, data.numGlobalParameters, data.globalParameters);
+    os << "numReactions: "             << data.numReactions << endl;                     // 8
+    os << "reactionRates: "            << endl;                                          // 9
+    dump_array(os, data.numReactions, data.reactionRates);
+    os << "numRateRules: "             << data.numRateRules << endl;                     // 10
+    os << "rateRuleValues: "           << endl;                                          // 11
+    dump_array(os, data.numRateRules, data.rateRuleValues);
+    os << "rateRuleRates: "            << endl;                                          // 11
+    dump_array(os, data.numRateRules, data.rateRuleRates);
+
+//    unsigned*                                localParametersOffsets;           // 12
+//
+//
+//    unsigned*                                localParametersNum;               // 13
+//
+//
+//    double*                             localParameters;                  // 14
+
+    os << "numFloatingSpecies: "       << data.numFloatingSpecies << endl;       // 15
+
+    os << "floatingSpeciesConcentrations: " << endl;                                     // 16
+    dump_array(os, data.numFloatingSpecies, data.floatingSpeciesConcentrations);
+
+
+
+    //double* floatingSpeciesInitConcentrations;    // 17
+
+
+    os << "floatingSpeciesAmountRates: " << endl;       // 18
+    dump_array(os, data.numFloatingSpecies, data.floatingSpeciesAmountRates);
+
+    os << "floatingSpeciesAmounts: "    << endl;           // 19
+    dump_array(os, data.numFloatingSpecies, data.floatingSpeciesAmounts);
+
+//    unsigned*                                floatingSpeciesCompartments;      // 20
+    os << "numBoundarySpecies: "       << data.numBoundarySpecies << endl;  // 21
+    os << "boundarySpeciesConcentrations:" << endl;                         // 22
+    dump_array(os, data.numBoundarySpecies, data.boundarySpeciesConcentrations);
+    os << "boundarySpeciesAmounts:"    << endl;                             // 23
+    dump_array(os, data.numBoundarySpecies, data.boundarySpeciesAmounts);
+//    unsigned*                                boundarySpeciesCompartments;      // 24
+    os << "numCompartments: "          << data.numCompartments << endl;     // 25
+    os << "compartmentVolumes:"        << endl;                             // 26
+    dump_array(os, data.numCompartments, data.compartmentVolumes);
+    os << "stoichiometry:"             << endl;                             // 27
+//    int                                 numEvents;                        // 28
+//    int                                 eventTypeSize;                    // 29
+//    bool*                               eventType;                        // 30
+//    int                                 eventPersistentTypeSize;          // 31
+//    bool*                               eventPersistentType;              // 32
+//    int                                 eventTestsSize;                   // 33
+//    double*                             eventTests;                       // 34
+//    int                                 eventPrioritiesSize;              // 35
+//    double*                             eventPriorities;                  // 36
+//    int                                 eventStatusArraySize;             // 37
+//    bool*                               eventStatusArray;                 // 38
+//    int                                 previousEventStatusArraySize;     // 39
+//    bool*                               previousEventStatusArray;         // 40
+//    int                                 workSize;                         // 41
+//    double*                             work;                             // 42
+//    EventDelayHandler*                eventDelays;                      // 43
+//    EventAssignmentHandler*           eventAssignments;                 // 44
+//    ComputeEventAssignmentHandler*    computeEventAssignments;          // 45
+//    PerformEventAssignmentHandler*    performEventAssignments;          // 46
+//    char*                               modelName;                        // 47
+//    char**                              variableTable;                    // 48
+//    char**                              boundaryTable;                    // 49
+//    char**                              globalParameterTable;             // 50
+//    int                                 srSize;                           // 51
+//    double*                             sr;                               // 52
+
+
+
+
+
+    return os;
+}
+
+void  freeModelDataBuffers(ModelData &data)
+{
+    free(data.modelName);
+
+    free(data.floatingSpeciesAmounts);
+    free(data.floatingSpeciesAmountRates);
+    free(data.rateRuleRates);
+    free(data.floatingSpeciesConcentrations);
+    free(data.floatingSpeciesCompartments);
+    free(data.reactionRates);
+    free(data.dependentSpeciesConservedSums);
+    free(data.floatingSpeciesInitConcentrations);
+    free(data.globalParameters);
+    free(data.compartmentVolumes);
+    free(data.boundarySpeciesConcentrations);
+    free(data.boundarySpeciesCompartments);
+    free(data.boundarySpeciesAmounts);
+    free(data.sr);
+    free(data.eventPriorities);
+    free(data.eventStatusArray);
+    free(data.previousEventStatusArray);
+    free(data.eventPersistentType);
+    free(data.eventTests);
+    free(data.eventType);
+
+    //Event function pointer stuff
+    free(data.eventAssignments);
+    free(data.computeEventAssignments);
+    free(data.performEventAssignments);
+    free(data.eventDelays);
+}
+
+
+} /* namespace rr */
diff --git a/source/c/rrCModelDataUtil.h b/source/c/rrCModelDataUtil.h
new file mode 100644
index 0000000..3f223de
--- /dev/null
+++ b/source/c/rrCModelDataUtil.h
@@ -0,0 +1,59 @@
+/*
+ * rrCModelDataUtil.h
+ *
+ *  Created on: Aug 8, 2013
+ *      Author: andy
+ */
+
+#ifndef RRCMODELDATAUTIL_H_
+#define RRCMODELDATAUTIL_H_
+
+#include "rrOSSpecifics.h"
+#include "rrModelData.h"
+
+#include <ostream>
+
+namespace rr
+{
+
+/**
+ * dump the ModelData to an output stream.
+ */
+RR_DECLSPEC std::ostream& operator<< (std::ostream& os, const ModelData& data);
+
+
+/**
+ * zero out the memory occupied by a ModelData struct, equivalent to
+ * memset(&data, 0, sizeof(ModelData));
+ *
+ * performs NO allocaation of memory.
+ *
+ */
+RR_DECLSPEC void initModelData(ModelData &data);
+
+/**
+ * Allocate memory for all the data buffers in a ModelData structure,
+ * (with the exception of the stoichiometry struct),
+ * based on what each buffer size variable indicates, i.e.
+ * if data.ySize is 10, data.y will now point to a length 10 double array.
+ * The data.modelName field will be a newly allocated null terminated c string.
+ *
+ * The ModelData structure buffers should be freed with freeModelDataBuffers.
+ *
+ * The following arrays are also allocated here, the model
+ * populates these with pointers to static strings.
+ *
+ * char**                              variableTable;
+ * char**                              boundaryTable;
+ * char**                              globalParameterTable;
+ */
+void RR_DECLSPEC allocModelDataBuffers(ModelData &data, const std::string& modelName);
+
+/**
+ * Free all the data referenced by the ModelData pointers.
+ * Does NOT free the ModelData itself, ONLY the buffer data.
+ */
+void RR_DECLSPEC freeModelDataBuffers(ModelData &data);
+
+} /* namespace rr */
+#endif /* RRCMODELDATAUTIL_H_ */
diff --git a/source/c/rrCModelGenerator.cpp b/source/c/rrCModelGenerator.cpp
new file mode 100644
index 0000000..84649b0
--- /dev/null
+++ b/source/c/rrCModelGenerator.cpp
@@ -0,0 +1,2539 @@
+#pragma hdrstop
+#include <algorithm>
+#include "sbml/Model.h"
+#include "sbml/SBMLDocument.h"
+#include "rr-libstruct/lsLibStructural.h"
+#include "rrStringListContainer.h"
+#include "rrStringUtils.h"
+#include "rrUtils.h"
+#include "rrRule.h"
+#include "rrScanner.h"
+#include "rrLogger.h"
+#include "rrRoadRunner.h"
+#include "rrException.h"
+#include "rrCModelGenerator.h"
+#include "rrCompiledExecutableModel.h"
+#include "rrRoadRunnerOptions.h"
+//---------------------------------------------------------------------------
+
+namespace rr
+{
+
+using namespace std;
+using namespace ls;
+using namespace libsbml;
+
+static string getSupportCodeDir(const std::string supdir) {
+    if (supdir.empty()) {
+        return joinPath("..", "rr_support");
+    } else {
+        return supdir;
+    }
+}
+
+
+
+Mutex               CModelGenerator::mCompileMutex;
+
+CModelGenerator::CModelGenerator(const string& tempFolder, const string& supportCodeFolder, const string& compiler)
+:
+CompiledModelGenerator(),
+mCompiler(getSupportCodeDir(supportCodeFolder), compiler),
+mModelLib(0)
+{
+    if (tempFolder.empty()) {
+        mTempFileFolder = getTempDir();
+    } else {
+        mTempFileFolder = tempFolder;
+    }
+}
+
+CModelGenerator::~CModelGenerator()
+{
+    delete mModelLib;
+}
+
+int CModelGenerator::getNumberOfFloatingSpecies()
+{
+    return ms.mFloatingSpeciesConcentrationList.size();    //Todo: is there a list of floating species?
+}
+
+string CModelGenerator::getHeaderCode()
+{
+    return mHeader.ToString();
+}
+
+string CModelGenerator::getSourceCode()
+{
+    return mSource.ToString();
+}
+
+string CModelGenerator::getHeaderCodeFileName()
+{
+    return mHeaderCodeFileName;
+}
+
+string CModelGenerator::getSourceCodeFileName()
+{
+    return mSourceCodeFileName;
+}
+
+// Generates the Model Code from the SBML string
+string CModelGenerator::generateModelCode(const string& sbmlStr, const bool& _computeAndAssignConsevationLaws)
+{
+    //This function now assume that the sbml already been loaded into NOM and libstruct..
+    mComputeAndAssignConsevationLaws  = _computeAndAssignConsevationLaws;
+    Log(lDebug2)<<"Entering CModelGenerators generateModelCode function";
+    StringList  Warnings;
+    CodeBuilder ignore;     //The Write functions below are inherited with a CodeBuilder in the
+                            //prototype that is not to be used..
+
+    //Clear header and source file objects...
+    mHeader.Clear();
+    mSource.Clear();
+
+    Log(lDebug1)<<"Processing model: "<< ms.mModelName;
+    Log(lDebug3)<<"Number of reactions:"<< ms.mNumReactions;
+
+    //Write model to String builder...
+    writeClassHeader(ignore);
+    writeOutVariables(ignore);
+
+    ///// Write non exports
+    mHeader.NewLine("\n//NON - EXPORTS ========================================");
+    mHeader.AddFunctionProto("void", "InitializeDelays(ModelData* md)");
+
+    ///// Start of exported functions
+    mHeader.NewLine("\n//EXPORTS ========================================");
+    mHeader.AddFunctionExport("int", "InitModelData(ModelData* md)");
+    mHeader.AddFunctionExport("int", "InitModel(ModelData* md)");
+
+    mHeader.AddFunctionExport("char*", "getModelName(ModelData* md)");
+    ///////////////
+
+    writeResetEvents(ignore, ms.mNumEvents);
+    writeSetConcentration(ignore);
+    writeGetConcentration(ignore);
+    writeConvertToAmounts(ignore);
+    writeConvertToConcentrations(ignore);
+    writeProperties(ignore);
+    writeAccessors(ignore);
+    writeUserDefinedFunctions(ignore);
+    writeSetInitialConditions(ignore, ms.mNumFloatingSpecies);
+    writeSetBoundaryConditions(ignore);
+    writeSetCompartmentVolumes(ignore);
+    writeSetParameterValues(ignore, ms.mNumReactions);
+    writeComputeConservedTotals(ignore, ms.mNumFloatingSpecies, ms.mNumDependentSpecies);
+
+    // Get the L0 matrix
+    int nrRows;
+    int nrCols;
+
+    ls::DoubleMatrix* aL0 = initializeL0(nrRows, nrCols);     //Todo: What is this doing? answer.. it is used below..
+    writeUpdateDependentSpecies(ignore, ms.mNumIndependentSpecies, ms.mNumDependentSpecies, *aL0);
+    int numOfRules = writeComputeRules(ignore, ms.mNumReactions);
+
+    writeComputeAllRatesOfChange(ignore, ms.mNumIndependentSpecies, ms.mNumDependentSpecies, *aL0);
+    delete aL0;
+    writeComputeReactionRates(ignore, ms.mNumReactions);
+    writeEvalModel(ignore, ms.mNumReactions, ms.mNumIndependentSpecies, ms.mNumFloatingSpecies, numOfRules);
+    writeEvalEvents(ignore, ms.mNumEvents, ms.mNumFloatingSpecies);
+    writeEventAssignments(ignore, ms.mNumReactions, ms.mNumEvents);
+    writeEvalInitialAssignments(ignore, ms.mNumReactions);
+    writeTestConstraints(ignore);
+
+    writeInitModelDataFunction(mHeader, mSource);
+    writeInitFunction(mHeader, mSource);
+
+    mHeader<<"\n\n#endif //modelH"<<NL();
+    string modelCode = mHeader.ToString() + mSource.ToString();
+
+    Log(lDebug5)<<" ------ Model Code --------\n"
+            <<modelCode
+            <<" ----- End of Model Code -----\n";
+
+    return modelCode;
+}
+
+void CModelGenerator::writeClassHeader(CodeBuilder& ignore)
+{
+    //Create c code header file....
+    mHeader<<"#ifndef modelH"<<endl;
+    mHeader<<"#define modelH"<<endl;
+    mHeader<<"#include <stdio.h>"<<endl;
+    mHeader<<"#include <stdbool.h>"<<endl;
+    mHeader<<"#include \"rrModelData.h\"\t             //Contains the structure defining model data passed to the shared library."<<endl;
+    mHeader<<"#include \"rrCExporter.h\"\t             //Export Stuff."<<endl;
+
+
+    mHeader<<append("//************************************************************************** " + NL());
+    mHeader<<"//Number of floating species: "<<ms.mFloatingSpeciesConcentrationList.size()<<endl;
+    for (int i = 0; i < ms.mFloatingSpeciesConcentrationList.size(); i++)
+    {
+        mHeader<<"\t// y["<<i<<"] = "<<ms.mFloatingSpeciesConcentrationList[i].name<<endl;//{2}", NL());
+    }
+
+    mHeader<<append("//************************************************************************** " + NL());
+    mHeader<<append(NL());
+
+    //Header of the source file...
+    mSource<<"#include <math.h>"<<endl;
+    mSource<<"#include <stdio.h>"<<endl;
+    mSource<<"#include <stdlib.h>"<<endl;
+    mSource<<"#include <string.h>"<<endl;
+    mSource<<"#include \"rrSupport.h\"\t     //Supportfunctions for event handling.."<<endl;
+}
+
+void CModelGenerator::writeOutVariables(CodeBuilder& ignore)
+{}
+
+
+void CModelGenerator::writeComputeAllRatesOfChange(CodeBuilder& ignore, const int& numIndependentSpecies, const int& numDependentSpecies, DoubleMatrix& L0)
+{
+     //In header
+       mHeader.AddFunctionExport("void", "computeAllRatesOfChange(ModelData* md)");
+    mSource<<append("//Uses the equation: dSd/dt = L0 dSi/dt" + NL());
+    mSource<<"void computeAllRatesOfChange(ModelData* md)\n{";
+
+    mSource<<gNL<<gTab<<"int i;\n";
+
+    // calloc is often preferable as it creates zero initialized memory.
+    // this is free'd just before this function exits.
+    mSource<<"\n\tdouble* dTemp = (double*) calloc((md->numFloatingSpecies + md->numRateRules), sizeof(double));\n";
+
+    for (int i = 0; i < numAdditionalRates(); i++)
+    {
+        mSource<<format("\tdTemp[{0}] = {1};{2}", i, ms.mRateRules.find(i)->second, NL());
+    }
+
+    mSource<<gTab<<"for(i = 0; i < md->numFloatingSpecies; i++)\n";
+    mSource<<gTab<<"{\n"<<gTab<<gTab<<"dTemp[i + md->numRateRules] = md->floatingSpeciesAmounts[i];\n\t}";
+    mSource<<append("\n\t//amounts.CopyTo(dTemp, rateRuleRates.Length); " + NL());
+
+    mSource<<append("\t__evalModel(md, md->time, dTemp);" + NL());
+    bool isThereAnEntry = false;
+    for (int i = 0; i < numDependentSpecies; i++)
+    {
+        mSource<<format("\tmd->floatingSpeciesAmountRates[{0}] = ", (numIndependentSpecies + i));
+        isThereAnEntry = false;
+        for (int j = 0; j < numIndependentSpecies; j++)
+        {
+            string dyName = format("md->floatingSpeciesAmountRates[{0}]", j);
+
+            if (L0(i,j) > 0)
+            {
+                isThereAnEntry = true;
+                if (L0(i,j) == 1)
+                {
+                    mSource<<format(" + {0};{1}", dyName, NL());
+                }
+                else
+                {
+                    mSource<<format(" + (double){0}{1}{2};{3}", writeDouble(L0(i,j)), mFixAmountCompartments, dyName, NL());
+                }
+            }
+            else if (L0(i,j) < 0)
+            {
+                isThereAnEntry = true;
+                if (L0(i,j) == -1)
+                {
+                    mSource<<format(" - {0};{1}", dyName, NL());
+                }
+                else
+                {
+                    mSource<<format(" - (double){0}{1}{2};{3}", writeDouble(fabs(L0(i,j))), mFixAmountCompartments, dyName, NL());
+                }
+            }
+        }
+        if (!isThereAnEntry)
+        {
+            mSource<<append("0;");
+        }
+        mSource<<"\n";
+    }
+
+    // done with temp buffer
+    mSource << "\n\tfree(dTemp);\n";
+    mSource<<format("}{0}{0}", NL());
+}
+
+void CModelGenerator::writeComputeConservedTotals(CodeBuilder& ignore, const int& numFloatingSpecies, const int& numDependentSpecies)
+{
+    mHeader.AddFunctionExport("void", "computeConservedTotals(ModelData* md)");
+    mSource<<"// Uses the equation: C = Sd - L0*Si"<<endl;
+    mSource<<"void computeConservedTotals(ModelData* md)\n{";
+
+    if (numDependentSpecies > 0)
+    {
+        string factor;
+        ls::DoubleMatrix *gamma = mLibStruct->getGammaMatrix();
+
+
+        for (int i = 0; i < numDependentSpecies; i++)
+        {
+            mSource<<format("\n\tmd->dependentSpeciesConservedSums[{0}] = ", i);
+            for (int j = 0; j < numFloatingSpecies; j++)
+            {
+                double current = (gamma != NULL) ? (*gamma)(i,j) : 1.0;    //Todo: This is a bug? We should not be here if the matrix is NULL.. Triggered by model 00029
+
+                if ( current != 0.0 )
+                {
+                    if (!gamma)//IsNaN(current)) //C# code is doing one of these.. factor = "" .. ??
+                    {
+                        // TODO: fix this
+                        factor = "";
+                    }
+                    else if (fabsl(current) == 1.0)
+                    {
+                        factor = "";
+                    }
+                    else
+                    {
+                        factor = writeDouble(fabsl(current)) +
+                                 mFixAmountCompartments;
+                    }
+
+                    if (current > 0)
+                    {
+                        string cYY = "floatingSpeciesConcentrations" + convertSpeciesToY(ms.mFloatingSpeciesConcentrationList[j].name);
+                        string cTC = convertCompartmentToC(ms.mFloatingSpeciesConcentrationList[j].compartmentName);
+                        mSource<<append(" + " + factor + "md->" + cYY +
+                                  mFixAmountCompartments +
+                                  convertCompartmentToC(ms.mFloatingSpeciesConcentrationList[j].compartmentName));
+                    }
+                    else
+                    {
+                        mSource<<append(" - " + factor + "md->floatingSpeciesConcentrations" + convertSpeciesToY(ms.mFloatingSpeciesConcentrationList[j].name) +
+                                  mFixAmountCompartments +
+                                  convertCompartmentToC(ms.mFloatingSpeciesConcentrationList[j].compartmentName));
+                    }
+                }
+            }
+            mSource<<append(";" + NL());
+            //! ms.mConservationList.Add(Symbol("CSUM" + toString(i))); //TODO: how to deal with this?
+        }
+    }
+    else
+    {
+        //mSource<<"printf(\"In an empty ComputeConservedTotals!\\n \");\n";
+    }
+    mSource<<"}\n\n";
+}
+
+void CModelGenerator::writeUpdateDependentSpecies(CodeBuilder& ignore, const int& numIndependentSpecies, const int& numDependentSpecies, DoubleMatrix& L0)
+{
+    mHeader.AddFunctionExport("void", "updateDependentSpeciesValues(ModelData* md)");
+    mSource<<append("// Compute values of dependent species " + NL());
+    mSource<<append("// Uses the equation: Sd = C + L0*Si" + NL());
+    mSource<<"void updateDependentSpeciesValues(ModelData* md)\n{";
+
+    // Use the equation: Sd = C + L0*Si to compute dependent concentrations
+
+    if (numDependentSpecies > 0)
+    {
+        for (int i = 0; i < numDependentSpecies; i++)
+        {
+            mSource<<format("\n\tmd->floatingSpeciesConcentrations[{0}] = ", (i + numIndependentSpecies));
+            mSource<<format("(md->dependentSpeciesConservedSums[{0}]", i);
+            string cLeftName =
+                convertCompartmentToC(
+                    ms.mFloatingSpeciesConcentrationList[i + numIndependentSpecies].compartmentName);
+
+            for (int j = 0; j < numIndependentSpecies; j++)
+            {
+                string yName = format("md->floatingSpeciesConcentrations[{0}]", j);
+                string cName = convertCompartmentToC(ms.mFloatingSpeciesConcentrationList[j].compartmentName);
+                double* mat = L0.GetPointer();
+                double matElementValue = L0(i,j);
+
+                if (L0(i,j) > 0) // In C# code there is no checking for index out of bound..
+                {
+                    if (L0(i,j) == 1)
+                    {
+                        mSource<<format(" + {0}\t{1}{2}{3}{0}\t",
+                            "",
+                            yName,
+                            mFixAmountCompartments,
+                            cName);
+                    }
+                    else
+                    {
+                        mSource<<format("{0} + (double){1}{2}{3}{2}{4}",
+                            "",
+                            writeDouble(L0(i,j)),
+                            mFixAmountCompartments,
+                            yName,
+                            cName);
+                    }
+                }
+                else if (L0(i,j) < 0)
+                {
+                    if (L0(i,j) == -1)
+                    {
+                        mSource<<format("{0} - {1}{2}{3}",
+                            "",
+                            yName,
+                            mFixAmountCompartments,
+                            cName);
+                    }
+                    else
+                    {
+                        mSource<<format("{0} - (double){1}{2}{3}{2}{4}",
+                            "",
+                            writeDouble(fabsl(L0(i,j))),
+                            mFixAmountCompartments,
+                            yName,
+                            cName);
+                    }
+                }
+            }
+            mSource<<format(") / {0};{1}", cLeftName, NL());
+        }
+    }
+    mSource<<format("}{0}{0}", NL());
+}
+
+void CModelGenerator::writeUserDefinedFunctions(CodeBuilder& ignore)
+{
+    for (int i = 0; i < mNOM->getNumFunctionDefinitions(); i++)
+    {
+        try
+        {
+            StringListContainer oList = mNOM->getNthFunctionDefinition(i);
+            StringList aList = oList[0];
+
+              string sName = aList[0];
+              //sName.Trim();
+            //! ms.mFunctionNames.add(sName);
+            StringList oArguments = oList[1];
+            StringList list2 = oList[2];
+            string sBody = list2[0];
+
+            mSource<<format("// User defined function:  {0}{1}", sName, NL());
+            mSource<<format("\t double {0} (", sName);
+
+            for (int j = 0; j < oArguments.Count(); j++)
+            {
+                mSource<<append("double " + (string)oArguments[j]);
+                //! ms.mFunctionParameters.add((string)oArguments[j]);
+                if (j < oArguments.Count() - 1)
+                {
+                    mSource<<append(", ");
+                }
+            }
+            string userFunc = convertUserFunctionExpression(sBody);
+
+            if(userFunc.find("spf_piecewise") != string::npos)
+            {
+                convertFunctionCallToUseVarArgsSyntax("spf_piecewise", userFunc);
+            }
+
+            if(userFunc.find("spf_and") != string::npos)
+            {
+                convertFunctionCallToUseVarArgsSyntax("spf_and", userFunc);
+            }
+
+            if(userFunc.find("spf_or") != string::npos)
+            {
+                convertFunctionCallToUseVarArgsSyntax("spf_or", userFunc);
+            }
+
+            if(userFunc.find("spf_xor") != string::npos)
+            {
+                convertFunctionCallToUseVarArgsSyntax("spf_xor", userFunc);
+            }
+
+            mSource<<append(")" + NL() + "\t{" + NL() + "\t\t return " +
+                      userFunc
+                      + ";" + NL() + "\t}" + NL() + NL());
+        }
+        catch (const Exception& ex)
+        {
+            CodeBuilder msg;
+            msg<<"Error while trying to get Function Definition #" << i <<ex.what() << "\r\n\r\n";
+            throw Exception(msg.ToString());
+        }
+    }
+}
+
+void CModelGenerator::writeResetEvents(CodeBuilder& ignore, const int& numEvents)
+{
+      mHeader.AddFunctionExport("void", "resetEvents(ModelData* md)");
+      mSource<<"void resetEvents(ModelData* md)\n{";
+      for (int i = 0; i < numEvents; i++)
+      {
+          mSource<<format("\n\tmd->eventStatusArray[{0}] = false;{1}", i, NL());
+          mSource<<format("\tmd->previousEventStatusArray[{0}] = false;", i);
+          if(i == numEvents -1)
+          {
+              mSource<<"\n";
+          }
+      }
+      mSource<<format("}{0}", NL());
+}
+
+void CModelGenerator::writeSetConcentration(CodeBuilder& ignore)
+{
+    mHeader.AddFunctionExport("void", "setConcentration(ModelData* md, int index, double value)");
+    mSource<<"\nvoid setConcentration(ModelData* md, int index, double value)\n{";
+    mSource<<format("\n\tdouble volume = 0.0;{0}", NL());
+    mSource<<format("\tmd->floatingSpeciesConcentrations[index] = value;{0}", NL());
+    mSource<<format("\tswitch (index)\n\t{{0}", NL());
+
+    for (int i = 0; i < ms.mFloatingSpeciesConcentrationList.size(); i++)
+    {
+        mSource<<format("\t\tcase {0}:\n\t\t\tvolume = {1};{2}",
+          i,
+          convertCompartmentToC(ms.mFloatingSpeciesConcentrationList[i].compartmentName),
+          NL());
+      mSource<<format("\t\tbreak;{0}", NL());
+    }
+
+    mSource<<format("\t}{0}", NL());
+
+    mSource<<format("\tmd->floatingSpeciesAmounts[index] = md->floatingSpeciesConcentrations[index]*volume;{0}", NL());
+    mSource<<format("}{0}{0}", NL());
+}
+
+void CModelGenerator::writeGetConcentration(CodeBuilder& ignore)
+{
+    mHeader.AddFunctionExport("double", "getConcentration(ModelData* md,int index)");
+    mSource<<format("double getConcentration(ModelData* md, int index)\n{{0}", NL());
+    mSource<<format("\treturn md->floatingSpeciesConcentrations[index];{0}", NL());
+    mSource<<format("}{0}{0}", NL());
+}
+
+void CModelGenerator::writeConvertToAmounts(CodeBuilder& ignore)
+{
+    mHeader.AddFunctionExport("void", "convertToAmounts(ModelData* md)");
+    mSource<<format("void convertToAmounts(ModelData* md)\n{{0}", NL());
+    for (int i = 0; i < ms.mFloatingSpeciesConcentrationList.size(); i++)
+    {
+        mSource<<format("\tmd->floatingSpeciesAmounts[{0}] = md->floatingSpeciesConcentrations[{0}]*{1};{2}",
+            i,
+            convertCompartmentToC(ms.mFloatingSpeciesConcentrationList[i].compartmentName),
+            NL());
+    }
+    mSource<<format("}{0}{0}", NL());
+}
+
+void CModelGenerator::writeConvertToConcentrations(CodeBuilder& ignore)
+{
+    mHeader.AddFunctionExport("void", "convertToConcentrations(ModelData* md)");
+    mSource<<"void convertToConcentrations(ModelData* md)\n{";
+    for (int i = 0; i < ms.mFloatingSpeciesConcentrationList.size(); i++)
+    {
+        mSource<<"\n\tmd->floatingSpeciesConcentrations[" << i << "] = md->floatingSpeciesAmounts[" << i << "] / " <<
+                  convertCompartmentToC(ms.mFloatingSpeciesConcentrationList[i].compartmentName) << ";";
+    }
+    mSource<<append("\n}" + NL() + NL());
+}
+
+void CModelGenerator::writeProperties(CodeBuilder& ignore)
+{
+}
+
+void CModelGenerator::writeAccessors(CodeBuilder& ignore)
+{
+    mHeader.AddFunctionExport("int", "getNumLocalParameters(ModelData* md, int reactionId)");
+    mSource << "int getNumLocalParameters(ModelData* md, int reactionId)\n{\n";
+    mSource << "\treturn 0;\n";
+    mSource << "}\n";
+
+    // This was never fully implemented in the C version.
+    //mSource<<"return md->localParameterDimensions[reactionId];\n}\n\n";
+}
+
+string CModelGenerator::findSymbol(const string& varName)
+{
+      int index = 0;
+      if (ms.mFloatingSpeciesConcentrationList.find(varName, index))
+      {
+          return format("md->floatingSpeciesConcentrations[{0}]", index);
+      }
+      else if (ms.mGlobalParameterList.find(varName, index))
+      {
+          return format("md->globalParameters[{0}]", index);
+      }
+      else if (ms.mBoundarySpeciesList.find(varName, index))
+      {
+          return format("md->boundarySpeciesConcentrations[{0}]", index);
+      }
+      else if (ms.mCompartmentList.find(varName, index))
+      {
+          return format("md->compartmentVolumes[{0}]", index);
+      }
+      else if (ms.mModifiableSpeciesReferenceList.find(varName, index))
+      {
+          return format("md->sr[{0}]", index);
+      }
+      else
+      {
+          throw Exception(format("Unable to locate lefthand side symbol in assignment[{0}]", varName));
+      }
+}
+
+void CModelGenerator::writeTestConstraints(CodeBuilder& ignore)
+{
+    mHeader.AddFunctionExport("void", "testConstraints(ModelData* md)");
+    mSource<<append("void testConstraints(ModelData* md)" + NL());
+    mSource<<append("{");
+
+    for (int i = 0; i < mNOM->getNumConstraints(); i++)
+    {
+        string sMessage;
+        string sCheck = mNOM->getNthConstraint(i, sMessage);
+
+        mSource<<append("\tif (" + substituteTerms(mNOM->getNumReactions(), "", sCheck) + " == 0.0 )" + NL());
+        mSource<<append("\t\tthrow new Exception(\"" + sMessage + "\");" + NL());
+    }
+
+    mSource<<append("}" + NL() + NL());
+}
+
+void CModelGenerator::writeEvalInitialAssignments(CodeBuilder& ignore, const int& numReactions)
+{
+    mHeader.AddFunctionExport("void", "evalInitialAssignments(ModelData* md)");
+    mSource<<append("void evalInitialAssignments(ModelData* md)" + NL());
+    mSource<<append("{\n");
+
+    int numInitialAssignments = mNOM->getNumInitialAssignments();
+
+    if (numInitialAssignments > 0)
+    {
+        vector< pair<string, string> > oList;// = new List<Pair<string, string>>();
+        for (int i = 0; i < numInitialAssignments; i++)
+        {
+            pair<string, string> pair = mNOM->getNthInitialAssignmentPair(i);
+            oList.push_back(mNOM->getNthInitialAssignmentPair(i));
+        }
+
+        // sort them ...
+        bool bChange = true;
+        int nIndex = -1;
+        while (bChange)
+        {
+            bChange = false;
+
+            for (int i = 0; i < oList.size(); i++)
+            {
+                pair<string, string> current = oList[i];
+                for (int j = i + 1; j < oList.size(); j++)
+                {
+                    if (expressionContainsSymbol(current.second, oList[j].first))
+                    {
+                        bChange = true;
+                        nIndex = j;
+                        break;
+                    }
+                }
+                if (bChange)
+                {
+                    break;
+                }
+            }
+
+            if (bChange)
+            {
+                pair<string, string> pairToMove = oList[nIndex];
+                oList.erase(oList.begin() + nIndex);
+                //oList.RemoveAt(nIndex);
+                oList.insert(oList.begin(), pairToMove);    //Todo: check it this is correct...
+            }
+        }
+
+        vector< pair<string, string> >::iterator iter;
+        for(iter = oList.begin(); iter < oList.end(); iter++)
+        {
+            pair<string, string>& pair = (*iter);
+            string leftSideRule = findSymbol(pair.first);
+            string rightSideRule = pair.second;
+            if (leftSideRule.size())
+            {
+                mSource<<append(leftSideRule + " = ");
+                string temp = append(substituteTerms(numReactions, "", rightSideRule) + ";" + NL());
+                mSource<<temp;
+            }
+        }
+    }
+    for (int i = 0; i < mNOM->getModel()->getNumEvents(); i++)
+    {
+        libsbml::Event *current = mNOM->getModel()->getEvent(i);
+        string initialTriggerValue = toString(current->getTrigger()->getInitialValue());//.ToString().ToLowerInvariant();
+        mSource<<append("\tmd->eventStatusArray[" + toString(i) + "] = " + initialTriggerValue + ";" + NL());
+        mSource<<append("\tmd->previousEventStatusArray[" + toString(i) + "] = " + initialTriggerValue + ";" + NL());
+    }
+    mSource<<append("}" + NL() + NL());
+}
+
+int CModelGenerator::writeComputeRules(CodeBuilder& ignore, const int& numReactions)
+{
+    IntStringHashTable mapVariables;
+    mapVariables.clear();
+    int numRateRules = 0;
+    int numOfRules = mNOM->getNumRules();
+
+    mHeader.AddFunctionExport("void", "computeRules(ModelData* md)");
+    mSource<<"void computeRules(ModelData* md)\n{\n";
+
+    for (int i = 0; i < numOfRules; i++)
+    {
+        try
+        {
+            string leftSideRule = "";
+            string rightSideRule = "";
+            string ruleType = mNOM->getNthRuleType(i);
+
+            // We only support assignment and ode rules at the moment
+            string eqnRule = mNOM->getNthRule(i);
+            RRRule aRule(eqnRule, ruleType);
+            string varName       = trim(aRule.GetLHS());
+            string rightSide     = trim(aRule.GetRHS());
+
+            bool isRateRule = false;
+
+            switch (aRule.GetType())
+            {
+                case rtAlgebraic:
+                    Log(lWarning)<<"RoadRunner does not yet support algebraic rules in SBML, they will be ignored.";
+                    leftSideRule = "";//NULL;
+                break;
+
+                case rtAssignment:
+                    leftSideRule = findSymbol(varName);
+                break;
+
+                case rtRate:
+                    isRateRule = true;
+                    int index;
+                    if (ms.mFloatingSpeciesConcentrationList.find(varName,  index))
+                    {
+                        leftSideRule = format("\n\tmd->floatingSpeciesAmountRates[{0}]", index);
+                        //! ms.mFloatingSpeciesConcentrationList[index].rateRule = true;
+                    }
+                    else
+                    {
+                        leftSideRule = "\n\tmd->rateRuleRates[" + toString(numRateRules) + "]";
+                        //! ms.mRateRules[numRateRules] = findSymbol(varName);
+                        mapVariables[numRateRules] = varName;
+                        numRateRules++;
+                    }
+                    break;
+                case rtUnknown:
+                    Log(Logger::LOG_ERROR) << "Unknown rule type in " << __FUNC__;
+                    break;
+            }
+
+            // Run the equation through MathML to carry out any conversions (eg ^ to Pow)
+            if(rightSide.size())
+            {
+                string rightSideMathml    = NOMSupport::convertStringToMathML(rightSide);
+                rightSideRule             = NOMSupport::convertMathMLToString(rightSideMathml);
+            }
+
+            if (leftSideRule.size())
+            {
+                mSource<<gTab<<append(leftSideRule + " = ");
+                int speciesIndex;
+                bool isSpecies = ms.mFloatingSpeciesConcentrationList.find(varName, speciesIndex);
+
+                const Symbol* symbol = (speciesIndex != -1) ? &(ms.mFloatingSpeciesConcentrationList[speciesIndex]) : NULL;
+                string sCompartment;
+
+                if(isRateRule && mNOM->multiplyCompartment(varName, sCompartment) && (rightSide.find(sCompartment) == string::npos))
+                {
+                    string temp = format("({0}) * {1};{2}", substituteTerms(numReactions, "", rightSideRule), findSymbol(sCompartment), NL());
+                    //temp = ReplaceWord("time", "md->time", temp);
+                    mSource<<temp;
+                }
+                else
+                {
+                    if (isSpecies && !isRateRule && symbol != NULL && symbol->hasOnlySubstance && symbol->compartmentName.size() != 0)
+                    {
+                        mSource<<format("({0}) / {1};{2}", substituteTerms(numReactions, "", rightSideRule), findSymbol(symbol->compartmentName), NL());
+                    }
+                    else
+                    {
+                        string temp   = format("{0};{1}", substituteTerms(numReactions, "", rightSideRule), NL());
+                        //temp = ReplaceWord("time", "md->time", temp);
+
+                        if(temp.find("spf_piecewise") != string::npos)
+                        {
+                            convertFunctionCallToUseVarArgsSyntax("spf_piecewise", temp);
+                        }
+                        temp = removeNewLines(temp);
+                        mSource<<temp;
+                    }
+                }
+
+                if (mNOM->isCompartment(varName))
+                {
+                    mSource<<append("\n\tconvertToConcentrations(md);\n");
+                }
+            }
+        }
+        catch (const Exception& e)
+        {
+            throw CoreException("Error while trying to get Rule #" + toString(i) + e.Message());
+        }
+    }
+
+    mSource<<append("\n}" + NL() + NL());
+
+//  mHeader.FormatArray("D_S double", "rateRuleRates", numRateRules, "Vector containing values of additional rate rules"); //Todo: why is t his here in nowhere?
+//    mHeader<<"D_S int rateRuleRates="<<numRateRules<<";           // Number of rateRuleRates   \n"; //Todo: why is this here in nowhere?
+    mHeader.AddFunctionExport("void", "InitializeRates(ModelData* md)");
+
+    mSource<<"void InitializeRates(ModelData* md)\n{";
+
+    for (int i = 0; i < numRateRules; i++)
+    {
+        mSource<<"\n\tmd->rateRuleRates[" << i << "] = " << ms.mRateRules.find(i)->second << ";" << NL();
+    }
+
+    mSource<<append("}" + NL() + NL());
+
+    mHeader.AddFunctionExport("void", "AssignRatesA(ModelData* md)");
+    mSource<<append("void AssignRatesA(ModelData* md)\n{" + NL());
+
+    for (int i = 0; i < ms.mRateRules.size(); i++)
+    {
+        if(!i)
+        {
+            mSource<<"\n";
+        }
+        mSource<<"\t"<<(string) ms.mRateRules.find(i)->second << " = md->rateRuleRates[" << i << "];\n";
+    }
+
+    mSource<<append("}" + NL() + NL());
+
+    mHeader.AddFunctionExport("void", "InitializeRateRuleSymbols(ModelData* md)");
+    mSource<<"void InitializeRateRuleSymbols(ModelData* md) \n{";
+    for (int i = 0; i < ms.mRateRules.size(); i++)
+    {
+        if(!i)
+        {
+            mSource<<"\n";
+        }
+
+        string varName = (string) mapVariables[i];
+        if(varName.size())
+        {
+            double value = mNOM->getValue(varName);
+            if (!isNaN(value))
+            {
+                mSource<<gTab<<ms.mRateRules.find(i)->second << " = " << toString(value, ms.mDoubleFormat) << ";" << NL();
+            }
+        }
+    }
+
+    mSource<<"}\n\n";
+    mHeader.AddFunctionExport("void", "AssignRatesB(ModelData* md, double oRates[])");
+    mSource<<"void AssignRatesB(ModelData* md, double oRates[])\n{";
+
+    for (int i = 0; i < ms.mRateRules.size(); i++)
+    {
+        if(!i)
+        {
+            mSource<<"\n";
+        }
+
+        mSource<< ms.mRateRules.find(i)->second << " = oRates[" << i << "];" << NL();
+    }
+
+    mSource<<append("}" + NL() + NL());
+    mHeader.AddFunctionExport("double*", "GetCurrentValues(ModelData* md)");
+    mSource<<"double* GetCurrentValues(ModelData* md)\n{";
+    mSource<<"\n\tdouble* dResult = (double*) calloc(" << numAdditionalRates() << ", sizeof(double));\n";
+
+    for (int i = 0; i < ms.mRateRules.size(); i++)
+    {
+           if(!i)
+        {
+            mSource<<"\n";
+        }
+
+        mSource<<"\tdResult[" << i << "] = " << ms.mRateRules.find(i)->second << ";" << NL();
+    }
+    mSource<<"\treturn dResult;\n";
+
+    mSource<<append("}" + NL() + NL());
+    return numOfRules;
+}
+
+void CModelGenerator::writeComputeReactionRates(CodeBuilder& ignore, const int& numReactions)
+{
+    mHeader.AddFunctionExport("void", "computeReactionRates(ModelData* md)");
+    mSource<<append("// Compute the reaction rates" + NL());
+    mSource<<"void computeReactionRates(ModelData* md)\n{";    //Todo: what is time doing here?
+
+
+    for (int i = 0; i < numReactions; i++)
+    {
+        string kineticLaw = mNOM->getKineticLaw(i);
+
+        // The following code is for the case when the kineticLaw contains a ^ in place
+        // of pow for exponent handling. It would not be needed in the case when there is
+        // no ^ in the kineticLaw.
+        string subKineticLaw;
+//        if (kineticLaw.IndexOf("^", System.StringComparison.Ordinal) > 0) //Todo: fix this...
+//        {
+//            string kineticLaw_mathml = mNOM->convertStringToMathML(kineticLaw);
+//            subKineticLaw = mNOM->convertMathMLToString(kineticLaw_mathml);
+//        }
+//        else
+        {
+            subKineticLaw = kineticLaw;
+        }
+
+        string modKineticLaw = substituteTerms(ms.mReactionList[i].name, subKineticLaw, true) + ";";
+
+        // modify to use current y ...
+        modKineticLaw = substitute(modKineticLaw, "_y[", "y[");
+        string expression = format("\n\tmd->reactionRates[{0}] = {1}{2}", i, modKineticLaw, NL());
+
+        if(expression.find("spf_and") != string::npos)
+        {
+            convertFunctionCallToUseVarArgsSyntax("spf_and", expression);
+        }
+
+        if(expression.find("spf_or") != string::npos)
+        {
+            convertFunctionCallToUseVarArgsSyntax("spf_or", expression);
+        }
+
+        if(expression.find("spf_xor") != string::npos)
+        {
+            convertFunctionCallToUseVarArgsSyntax("spf_xor", expression);
+        }
+
+        if(expression.find("spf_squarewave") != string::npos)
+        {
+            convertFunctionCallToUseVarArgsSyntax("spf_squarewave", expression);
+        }
+
+        if(expression.find("spf_piecewise") != string::npos)
+        {
+            convertFunctionCallToUseVarArgsSyntax("spf_piecewise", expression);
+        }
+
+        expression = removeChars(expression, "\t \n");
+        mSource<<"\n\t"<<expression<<"\n";
+    }
+
+    mSource<<format("}{0}{0}", NL());
+}
+
+void CModelGenerator::writeEvalEvents(CodeBuilder& ignore, const int& numEvents, const int& numFloatingSpecies)
+{
+    mSource<<append("//Event handling function" + NL());
+    mHeader.AddFunctionExport("void", "evalEvents(ModelData* md, double timeIn, double *oAmounts)");
+    mSource<<append("void evalEvents(ModelData* md, double timeIn, double *oAmounts)" + NL());
+    mSource<<append("{" + NL());
+
+    if (numEvents > 0)
+    {
+        for (int i = 0; i < numAdditionalRates(); i++)
+        {
+            mSource<<gTab<<(string) ms.mRateRules.find(i)->second << " = oAmounts[" << i << "];" << NL();
+        }
+        for (int i = 0; i < numFloatingSpecies; i++)
+        {
+            mSource<<"\tmd->floatingSpeciesConcentrations[" << i << "] = oAmounts[" << (i + numAdditionalRates()) << "]/" <<
+                      convertCompartmentToC(ms.mFloatingSpeciesConcentrationList[i].compartmentName) << ";" << NL();
+        }
+    }
+
+    mSource<<append("\tmd->time = timeIn;" + NL());
+    mSource<<append("\tupdateDependentSpeciesValues(md);" + NL());
+    mSource<<append("\tcomputeRules(md);" + NL());
+
+    for (int i = 0; i < numEvents; i++)
+    {
+        StringListContainer ev = mNOM->getNthEvent(i);
+        StringList tempList = ev[0];
+        string eventString = tempList[0];
+
+        eventString = substituteTerms(0, "", eventString);
+        mSource<<"\tmd->previousEventStatusArray[" << i << "] = md->eventStatusArray[" << i << "];" << NL();
+        convertFunctionCallToUseVarArgsSyntax("spf_and", eventString);
+        eventString = removeNewLines(eventString);
+        mSource<<append("\tif (" + eventString + " == 1.0)\n\t{" + NL());
+        mSource<<append("\t\tmd->eventStatusArray[" + toString(i) + "] = true;" + NL());
+        mSource<<append("\t\tmd->eventTests[" + toString(i) + "] = 1;" + NL());
+        mSource<<append("\n\t}\n\telse\n\t{\n");
+        mSource<<append("\t\tmd->eventStatusArray[" + toString(i) + "] = false;" + NL());
+        mSource<<append("\t\tmd->eventTests[" + toString(i) + "] = -1;" + NL());
+        mSource<<append("\t}" + NL());
+    }
+    mSource<<append("}" + NL() + NL());
+}
+
+void CModelGenerator::writeEvalModel(CodeBuilder& ignore, const int& numReactions, const int& numIndependentSpecies, const int& numFloatingSpecies, const int& numOfRules)
+{
+    mHeader.AddFunctionExport("void", "__evalModel(ModelData* md, double, double*)");
+    mSource<<append("//Model Function" + NL());
+    mSource<<"void __evalModel(ModelData* md, double timein, double* oAmounts)\n{";
+
+
+    for (int i = 0; i < numAdditionalRates(); i++)
+    {
+        mSource<<"\n"<<(string)ms.mRateRules.find(i)->second << " = oAmounts[" << i << "];" << NL();
+    }
+
+    for (int i = 0; i < numFloatingSpecies; i++)
+    {
+        mSource<<"\n\tmd->floatingSpeciesConcentrations[" << i << "] = oAmounts[" << i + numAdditionalRates() << "]/" <<
+                  convertCompartmentToC(ms.mFloatingSpeciesConcentrationList[i].compartmentName) << ";" << NL();
+    }
+
+    mSource<<append(NL());
+    mSource<<append("\tconvertToAmounts(md);" + NL());
+    mSource<<append("\tmd->time = timein;  // Don't remove" + NL());
+    mSource<<append("\tupdateDependentSpeciesValues(md);" + NL());
+
+    if (numOfRules > 0)
+    {
+        mSource<<append("\tcomputeRules(md);" + NL());
+    }
+
+    mSource<<append("\tcomputeReactionRates(md);" + NL());
+
+    // write out the ODE equations
+    string stoich;
+    for (int i = 0; i < numIndependentSpecies; i++)
+    {
+        CodeBuilder eqnBuilder;// = new CodeBuilder(" ");
+        string floatingSpeciesName = ms.mIndependentSpeciesList[i];
+        for (int j = 0; j < numReactions; j++)
+        {
+            Reaction *oReaction = mNOM->getModel()->getReaction(j);
+            int numProducts = (int) oReaction->getNumProducts();
+            double productStoichiometry;
+            for (int k1 = 0; k1 < numProducts; k1++)
+            {
+                SpeciesReference* product = oReaction->getProduct(k1);
+
+                string productName = product->getSpecies();
+                if (floatingSpeciesName == productName)
+                {
+                    productStoichiometry = product->getStoichiometry();
+
+                    if (product->isSetId() && product->getLevel() > 2)
+                    {
+                        stoich = "(" +
+                             substituteTerms(numReactions, "",
+                                product->getId()) +
+                             ") * ";
+                    }
+                    else if (product->isSetStoichiometry())
+                    {
+                        if (productStoichiometry != 1)
+                        {
+                            int denom = product->getDenominator();
+                            if (denom != 1)
+                            {
+                                stoich = format("((double){0}/(double){1})*", writeDouble(productStoichiometry), denom);
+                            }
+                            else
+                            {
+                                stoich = writeDouble(productStoichiometry) + '*';
+                            }
+                        }
+                        else
+                        {
+                            stoich = "";
+                        }
+                    }
+                    else
+                    {
+                        if (product->isSetStoichiometryMath() && product->getStoichiometryMath()->isSetMath())
+                        {
+                            stoich = "(" +
+                                     substituteTerms(numReactions, "",
+                                         SBML_formulaToStdString(product->getStoichiometryMath()->getMath())) +
+                                     ") * ";
+                        }
+                        else
+                        {
+                            stoich = "";
+                        }
+                    }
+                    eqnBuilder<<format(" + {0}md->reactionRates[{1}]", stoich, j);
+                }
+            }
+
+            int numReactants = (int)oReaction->getNumReactants();
+            double reactantStoichiometry;
+            for (int k1 = 0; k1 < numReactants; k1++)
+            {
+                SpeciesReference *reactant = oReaction->getReactant(k1);
+                string reactantName = reactant->getSpecies();
+                if (floatingSpeciesName == reactantName)
+                {
+                    reactantStoichiometry = reactant->getStoichiometry();
+
+                    if (reactant->isSetId() && reactant->getLevel() > 2)
+                    {
+                        stoich = format("({0}) * ", substituteTerms(numReactions, "", reactant->getId()));
+                    }
+                    else if (reactant->isSetStoichiometry())
+                    {
+                        if (reactantStoichiometry != 1)
+                        {
+                            int denom = reactant->getDenominator();
+                            if (denom != 1)
+                            {
+                                stoich = format("((double){0}/(double){1})*", writeDouble(reactantStoichiometry), denom);
+                            }
+                            else
+                            {
+                                stoich = writeDouble(reactantStoichiometry) + "*";
+                            }
+                        }
+                        else
+                        {
+                            stoich = "";
+                        }
+                    }
+
+                    else
+                    {
+                        if (reactant->isSetStoichiometryMath() && reactant->getStoichiometryMath()->isSetMath())
+                        {
+                            stoich = "(" +
+                                     substituteTerms(numReactions, "",
+                                         SBML_formulaToStdString(reactant->getStoichiometryMath()->getMath())) +
+                                     ") * ";
+                        }
+                        else
+                        {
+                            stoich = "";
+                        }
+                    }
+
+                    eqnBuilder<<append(format(" - {0}md->reactionRates[{1}]", stoich, j));
+                }
+            }
+        }
+
+        string finalStr = eqnBuilder.ToString();//.trim();
+
+        if (isNullOrEmpty(finalStr))
+        {
+            finalStr = "    0.0";
+        }
+
+        if (mNOM->getSBMLDocument()->getLevel() > 2)
+        {
+            // remember to take the conversion factor into account
+            string factor = "";
+            Species* species = mNOM->getModel()->getSpecies(floatingSpeciesName);
+            if (species != NULL)
+            {
+                if (species->isSetConversionFactor())
+                {
+                    factor = species->getConversionFactor();
+                }
+                else if (mNOM->getModel()->isSetConversionFactor())
+                {
+                    factor = mNOM->getModel()->getConversionFactor();
+                }
+            }
+
+            if (!isNullOrEmpty(factor))
+            {
+                finalStr = findSymbol(factor) + " * (" + finalStr + ")";
+            }
+        }
+
+        // If the floating species has a raterule then prevent the floatingSpeciesAmountRates
+        // in the model function from overriding it. I think this is expected behavior.
+        if (!ms.mFloatingSpeciesConcentrationList[i].rateRule)
+        {
+            mSource<<"\tmd->floatingSpeciesAmountRates[" << i << "] =" << finalStr << ";" << NL();
+        }
+    }
+
+    mSource<<append("\tconvertToAmounts(md);" + NL());
+    mSource<<append("}" + NL() + NL());
+}
+
+void CModelGenerator::writeEventAssignments(CodeBuilder& ignore, const int& numReactions, const int& numEvents)
+{
+    StringList delays;
+    vector<bool> eventType;
+    vector<bool> eventPersistentType;
+    if (numEvents > 0)
+    {
+        //Get array of pointers functions
+        mSource<<("EventAssignmentHandler* Get_eventAssignments(ModelData* md) \n{\n\treturn md->eventAssignments;\n}\n\n");
+        mSource<<("PerformEventAssignmentHandler* Get_performEventAssignments(ModelData* md) \n{\n\treturn md->performEventAssignments;\n}\n\n");
+        mSource<<("ComputeEventAssignmentHandler* Get_computeEventAssignments(ModelData* md) \n{\n\treturn md->computeEventAssignments;\n}\n\n");
+        mSource<<("EventDelayHandler* GetEventDelays(ModelData* md) \n{\n\treturn md->eventDelays;\n}\n\n");
+        mSource<<append("// Event assignments" + NL());
+        for (int i = 0; i < numEvents; i++)
+        {
+            StringListContainer ev = mNOM->getNthEvent(i);
+            eventType.push_back(mNOM->getNthUseValuesFromTriggerTime(i));
+            eventPersistentType.push_back(mNOM->getModel()->getEvent(i)->getTrigger()->getPersistent());
+
+            StringList event = ev[1];
+            int numItems = event.Count();
+            string str = substituteTerms(numReactions, "", event[0]);
+            delays.add(str);
+
+            mSource<<format("void eventAssignment_{0}(ModelData* md) \n{{1}", i, NL());
+
+            string funcName(format("performEventAssignment_{0}(ModelData* md, double* values)", i));
+            mHeader.AddFunctionExport("void", funcName);
+            mSource<<format("\tperformEventAssignment_{0}(md, computeEventAssignment_{0}(md) );{1}", i, NL());
+            mSource<<append("}\n\n");
+
+            funcName = (format("computeEventAssignment_{0}(ModelData* md)", i));
+            mHeader.AddFunctionExport("double*", funcName);
+
+            mSource<<format("double* computeEventAssignment_{0}(ModelData* md)\n{{1}", i, NL());
+            StringList oTemp;
+            StringList oValue;
+            int nCount = 0;
+            int numAssignments = ev.Count() - 2;
+
+            mSource<<format("\t\tdouble* values = (double*) malloc(sizeof(double)*{0});{1}", numAssignments, NL());
+            for (int j = 2; j < ev.Count(); j++)
+            {
+                StringList asgn = (StringList) ev[j];
+                //string assignmentVar = substituteTerms(numReactions, "", (string)asgn[0]);
+                string assignmentVar = findSymbol((string)asgn[0]);
+                string str;
+                const Symbol *species = getSpecies(assignmentVar);
+
+
+                if (species != NULL && species->hasOnlySubstance)
+                {
+                    str = format("{0} = ({1}) / {2}", assignmentVar, substituteTerms(numReactions, "", (string)asgn[1]), findSymbol(species->compartmentName));
+                }
+                else
+                {
+                    str = format("{0} = {1}", assignmentVar, substituteTerms(numReactions, "", (string) asgn[1]));
+                }
+
+                string sTempVar = format("values[{0}]", nCount);
+
+                oTemp.add(assignmentVar);
+                oValue.add(sTempVar);
+
+                str = sTempVar+ str.substr(str.find(" ="));
+                nCount++;
+                string temp = format("\t\t{0};{1}", str, NL());
+                mSource<<temp;
+            }
+            mSource<<append("\treturn values;" + NL());
+            mSource<<append("}" + NL());
+            mSource<<format("void performEventAssignment_{0}(ModelData* md, double* values) \n{{1}", i, NL());
+
+            for (int j = 0; j < oTemp.Count(); j++)
+            {
+                mSource<<format("\t\t{0} = values[{1}];{2}", oTemp[j], j, NL());
+                string aStr = (string) oTemp[j];
+                aStr = trim(aStr);
+
+                if (startsWith(aStr, "md->compartmentVolumes[")) //Todo:May have to trim?
+                {
+                    mSource<<append("\t\tconvertToConcentrations(md);" + NL());
+                }
+            }
+
+            mSource << append("\t free(values);" + NL());
+
+            mSource<<append("}" + NL());
+        }
+        mSource<<append("\t" + NL());
+    }
+
+    //Have to create TEventDelegate functions here
+    for (int i = 0; i < delays.Count(); i++)
+    {
+        mSource<<"double GetEventDelay_"<<i<<"(ModelData* md)\n{\n\treturn "<<delays[i]<<";\n}\n\n";
+    }
+
+    mSource<<"void InitializeDelays(ModelData* md)\n{\n";
+
+    for (int i = 0; i < delays.Count(); i++)
+    {
+        mSource<<format("\tmd->eventDelays[{0}] = (EventDelayHandler) malloc(sizeof(EventDelayHandler) * 1);{2}", i, delays[i], NL());
+
+        //Inititialize
+        mSource<<format("\tmd->eventDelays[{0}] = GetEventDelay_{0};\n", i);
+        mSource<<format("\tmd->eventType[{0}] = {1};{2}", i, toString((eventType[i] ? true : false)), NL());
+        mSource<<format("\tmd->eventPersistentType[{0}] = {1};{2}", i, (eventPersistentType[i] ? "true" : "false"), NL());
+    }
+    mSource<<"}\n\n";
+
+    mHeader.AddFunctionExport("void", "computeEventPriorities(ModelData* md)");
+    mSource<<"void computeEventPriorities(ModelData* md)\n{";
+    for (int i = 0; i < numEvents; i++)
+    {
+        libsbml::Event* current = mNOM->getModel()->getEvent(i);
+
+        if (current->isSetPriority() && current->getPriority()->isSetMath())
+        {
+            string priority = SBML_formulaToStdString(current->getPriority()->getMath());
+            mSource<<"\n"<<format("\tmd->eventPriorities[{0}] = {1};{2}", i, substituteTerms(numReactions, "", priority), NL());
+
+        }
+        else
+        {
+            mSource<<"\n"<<format("\tmd->eventPriorities[{0}] = 0;{1}", i, NL());
+        }
+    }
+    mSource<<format("}{0}{0}", NL());
+}
+
+void CModelGenerator::writeSetParameterValues(CodeBuilder& ignore, const int& numReactions)
+{
+    mHeader.AddFunctionExport("void", "setParameterValues(ModelData* md)");
+    mSource<<"void setParameterValues(ModelData* md)\n{";
+
+
+    for (int i = 0; i < ms.mGlobalParameterList.size(); i++)
+    {
+        //If !+INF
+        string para = format("\n\t{0} = (double){1};{2}",
+                      convertSymbolToGP(ms.mGlobalParameterList[i].name),
+                      writeDouble(ms.mGlobalParameterList[i].value),
+                      NL());
+        //If a parameter is INF, it means it is not initialized properly ??
+        if(para.find("INF") == string::npos && para.find("NAN") == string::npos)
+        {
+            mSource<<para;
+        }
+    }
+
+    // Initialize local parameter values
+    for (int i = 0; i < numReactions; i++)
+    {
+        for (int j = 0; j < ms.mLocalParameterList[i].size(); j++)
+        {
+            mSource<<format("\n\t_lp[{0}][{1}] = (double){2};{3}", i, j, writeDouble(ms.mLocalParameterList[i][j].value), NL());
+        }
+    }
+
+    mSource<<append("}" + NL() + NL());
+}
+
+void CModelGenerator::writeSetCompartmentVolumes(CodeBuilder& ignore)
+{
+    mHeader.AddFunctionExport("void", "setCompartmentVolumes(ModelData* md)");
+    mSource << "void setCompartmentVolumes(ModelData* md)\n{";
+
+    for (int i = 0; i < ms.mCompartmentList.size(); i++)
+    {
+        mSource<<append("\n\t" + convertSymbolToC(ms.mCompartmentList[i].name) + " = (double)" +
+                  writeDouble(ms.mCompartmentList[i].value) + ";" + NL());
+
+        // at this point we also have to take care of all initial assignments for compartments as well as
+        // the assignment rules on compartments ... otherwise we are in trouble :)
+        stack<string> initializations = mNOM->getMatchForSymbol(ms.mCompartmentList[i].name);
+        while (initializations.size() > 0)
+        {
+            string term(initializations.top());
+            string sub = substituteTerms(ms.mNumReactions, "", term);
+            mSource<<append("\t" + sub + ";" + NL());
+            initializations.pop();
+        }
+    }
+
+    mSource<<append("}" + NL() + NL());
+}
+
+void CModelGenerator::writeSetBoundaryConditions(CodeBuilder& ignore)
+{
+    mHeader.AddFunctionExport("void", "setBoundaryConditions(ModelData* md)");
+    mSource<<"void setBoundaryConditions(ModelData* md)\n{\n";
+
+    for (int i = 0; i < ms.mBoundarySpeciesList.size(); i++)
+    {
+        if (isNullOrEmpty(ms.mBoundarySpeciesList[i].formula))
+        {
+            mSource<<append("\t" + convertSpeciesToBc(ms.mBoundarySpeciesList[i].name) + " = (double)" +
+                      writeDouble(ms.mBoundarySpeciesList[i].value) + ";" + NL());
+        }
+        else
+        {
+            mSource<<append("\t\t" + convertSpeciesToBc(ms.mBoundarySpeciesList[i].name) + " = (double)" +
+                      ms.mBoundarySpeciesList[i].formula + ";" + NL());
+        }
+    }
+    mSource<<append("}" + NL() + NL());
+}
+
+
+void CModelGenerator::writeSetInitialConditions(CodeBuilder& ignore, const int& numFloatingSpecies)
+{
+    mHeader.AddFunctionExport("void", "initializeInitialConditions(ModelData* md)");
+    mSource<<"void initializeInitialConditions(ModelData* md)\n{";
+
+    for (int i = 0; i < ms.mFloatingSpeciesConcentrationList.size(); i++)
+    {
+        if (isNullOrEmpty(ms.mFloatingSpeciesConcentrationList[i].formula))
+        {
+            mSource<<append("\n\tmd->floatingSpeciesInitConcentrations" + convertSpeciesToY(ms.mFloatingSpeciesConcentrationList[i].name) + " = (double)" +
+                      writeDouble(ms.mFloatingSpeciesConcentrationList[i].value) + ";");
+        }
+        else
+        {
+            string formula = ms.mFloatingSpeciesConcentrationList[i].formula;
+            mSource<<append("\n\tmd->floatingSpeciesInitConcentrations" + convertSpeciesToY(ms.mFloatingSpeciesConcentrationList[i].name) + " = (double) " +
+                      formula + ";");
+        }
+    }
+
+    mSource<<append("\n}" + NL() + NL());
+
+    // ------------------------------------------------------------------------------
+    mHeader.AddFunctionExport("void", "setInitialConditions(ModelData* md)");
+    mSource<<"void setInitialConditions(ModelData* md)";
+    mSource<<"\n{";
+
+    for (int i = 0; i < numFloatingSpecies; i++)
+    {
+        mSource<<"\n\tmd->floatingSpeciesConcentrations[" << i << "] = md->floatingSpeciesInitConcentrations[" << i << "];";
+        mSource<<"\n\tmd->floatingSpeciesAmounts[" << i << "] = md->floatingSpeciesConcentrations[" << i << "]*" <<
+                  convertCompartmentToC(ms.mFloatingSpeciesConcentrationList[i].compartmentName) << ";" << NL();
+    }
+    mSource<<append("}" + NL() + NL());
+}
+
+string CModelGenerator::convertSpeciesToY(const string& speciesName)
+{
+    int index;
+    if (ms.mFloatingSpeciesConcentrationList.find(speciesName, index))
+    {
+        return "[" + toString(index) + "]";
+    }
+
+    throw new CoreException("Internal Error: Unable to locate species: " + speciesName);
+}
+
+string CModelGenerator::convertSpeciesToBc(const string& speciesName)
+{
+    int index;
+    if (ms.mBoundarySpeciesList.find(speciesName, index))
+    {
+        return "md->boundarySpeciesConcentrations[" + toString(index) + "]";
+    }
+
+    throw CoreException("Internal Error: Unable to locate species: " + speciesName);
+}
+
+string CModelGenerator::convertCompartmentToC(const string& compartmentName)
+{
+    int index;
+    if (ms.mCompartmentList.find(compartmentName, index))
+    {
+        return "md->compartmentVolumes[" + toString(index) + "]";
+    }
+
+    throw CoreException("Internal Error: Unable to locate compartment: " + compartmentName);
+}
+
+string CModelGenerator::convertSymbolToGP(const string& parameterName)
+{
+    int index;
+    if (ms.mGlobalParameterList.find(parameterName, index))
+    {
+        return "md->globalParameters[" + toString(index) + "]";
+    }
+      throw CoreException("Internal Error: Unable to locate parameter: " + parameterName);
+}
+
+string CModelGenerator::convertSymbolToC(const string& compartmentName)
+{
+    int index;
+    if (ms.mCompartmentList.find(compartmentName, index))
+    {
+        return "md->compartmentVolumes[" + toString(index) + "]";
+    }
+      throw CoreException("Internal Error: Unable to locate compartment: " + compartmentName);
+}
+
+
+
+//This function is obsolete.. initialize all model data in roadrunner instead..
+void CModelGenerator::writeInitModelDataFunction(CodeBuilder& ignore, CodeBuilder& source)
+{
+    source.Line("\n//Function to initialize the model data structure. Returns an integer indicating result");
+    source.Line("int InitModelData(ModelData* md)");
+    source.Line("{");
+    source.Line("\tprintf(\"Size of md   %d\\n\",  (int) sizeof(md));");
+//    source.Line("\tprintf(\"Size of SModelData  %d\",  (int) sizeof(SModelData));");
+    source.Line("\tprintf(\"Size of ModelData   %d\\n\",  (int) sizeof(ModelData));");
+//    source.Line("\tprintf(\"Size of ModelData*  %d\\n\", (int) sizeof(&ModelData));");
+    source.Line("\tprintf(\"Size of ModelData.eventDelays  %d\\n\", (int) sizeof(md->eventDelays));");
+    source.TLine("return 0;");
+    source.Line("}");
+    source.NewLine();
+}
+
+//This function is obsolete.. initialize all model data in roadrunner instead..
+void CModelGenerator::writeInitFunction(CodeBuilder& ignore, CodeBuilder& source)
+{
+    source.Line("\n//Function to initialize the model data structure. Returns an integer indicating result");
+    source.Line("int InitModel(ModelData* md)");
+    source.Line("{");
+
+//    source<<"\t"<<append("InitModelData(md);" , NL());
+    source<<"\t"<<append("setCompartmentVolumes(md);" , NL());
+    source<<"\t"<<append("InitializeDelays(md);" , NL());
+
+    // Declare any eventAssignment delegates
+    if (ms.mNumEvents > 0)
+    {
+        for (int i = 0; i < ms.mNumEvents; i++)
+        {
+            string iStr = toString(i);
+            source<<append("\tmd->eventAssignments[" + iStr + "] = eventAssignment_" + iStr +";" + NL());
+            source<<append("\tmd->computeEventAssignments[" + iStr + "] = (ComputeEventAssignmentHandler) computeEventAssignment_" + iStr + ";" + NL());
+            source<<append("\tmd->performEventAssignments[" + iStr + "] = (PerformEventAssignmentHandler) performEventAssignment_" + iStr + ";" + NL());
+        }
+
+        source<<append("\tresetEvents(md);" + NL());
+
+        //Test to call a function
+        source<<append("\tmd->eventAssignments[0](md);\n");
+        source<<append(NL());
+    }
+
+    if (ms.mNumModifiableSpeciesReferences > 0)
+    {
+        for (int i = 0; i < ms.mModifiableSpeciesReferenceList.size(); i++)
+        {
+            source<<append("\t\tmd->sr[" + toString(i) + "] = " + writeDouble(ms.mModifiableSpeciesReferenceList[i].value) + ";" + NL());
+        }
+        source<<append(NL());
+    }
+
+    source.TLine("return 0;");
+    source.Line("}");
+    source.NewLine();
+}
+
+void CModelGenerator::write_getModelNameFunction(CodeBuilder& ignore, CodeBuilder& source)
+{
+    source.Line("char* getModelName(ModelData* md)");
+    source<<"{"                                         <<endl;
+    source.TLine("return md->modelName;");
+    source<<"}"                                         <<endl;
+    source.NewLine();
+}
+
+bool CModelGenerator::saveSourceCodeToFolder(const string& folder, const string& baseName)
+{
+    string fName         = getFileName(baseName);
+    mHeaderCodeFileName = joinPath(folder, fName);
+    mHeaderCodeFileName = changeFileExtensionTo(mHeaderCodeFileName, ".h");
+
+    ofstream outFile(mHeaderCodeFileName.c_str());
+    if(!outFile)
+    {
+        throw(Exception("Failed to open file:" + mHeaderCodeFileName));
+    }
+
+    outFile<<getHeaderCode();
+    Log(lDebug3)<<"Wrote header to file: "<<mHeaderCodeFileName;
+    outFile.close();
+
+    mSourceCodeFileName = changeFileExtensionTo(mHeaderCodeFileName, ".c");
+    outFile.open(mSourceCodeFileName.c_str());
+
+    //We don't know the name of the file until here..
+    //Write an include statement to it..
+    vector<string> fNameParts = splitString(mSourceCodeFileName,"\\");
+    string headerFName = fNameParts[fNameParts.size() - 1];
+
+    headerFName = changeFileExtensionTo(headerFName, ".h");
+    outFile<<"#include \""<<getFileName(headerFName)<<"\"\n"<<endl;
+    outFile<<getSourceCode();
+    outFile.close();
+    Log(lDebug3)<<"Wrote source code to file: "<<mSourceCodeFileName;
+
+    return true;
+}
+
+string CModelGenerator::convertUserFunctionExpression(const string& equation)
+{
+    if(!equation.size())
+    {
+        Log(Logger::LOG_ERROR)<<"The equation string supplied to "<<__FUNCTION__<<" is empty";
+        return "";
+    }
+    Scanner s;
+    stringstream ss;
+    ss<<equation;
+    s.AssignStream(ss);
+    s.startScanner();
+    s.nextToken();
+    CodeBuilder  mSource;
+
+    try
+    {
+        while (s.token() != CodeTypes::tEndOfStreamToken)
+           {
+            string theToken = s.tokenString;
+               switch (s.token())
+               {
+                case CodeTypes::tWordToken:
+                    if(theToken == "pow")
+                    {
+                        mSource<<append("spf_pow");
+                    }
+                    else if(theToken == "sqrt")
+                    {
+                        mSource<<append("sqrt");
+                      }
+                    else if(theToken == "log")
+                    {
+                        mSource<<append("spf_log");
+                    }
+                    else if(theToken == "log10")
+                    {
+                        mSource<<append("Log10");
+                    }
+                    else if(theToken == "floor")
+                    {
+                        mSource<<append("spf_floor");
+                    }
+                    else if(theToken == "ceil")
+                    {
+                        mSource<<append("spf_ceil");
+                    }
+                    else if(theToken == "factorial")
+                    {
+                        mSource<<append("spf_factorial");
+                    }
+                    else if(theToken == "exp")
+                    {
+                        mSource<<append("Math.Exp");
+                    }
+                    else if(theToken == "sin")
+                    {
+                        mSource<<append("sin");
+                    }
+                    else if(theToken == "cos")
+                    {
+                        mSource<<append("cos");
+                    }
+                    else if(theToken == "tan")
+                    {
+                        mSource<<append("tan");
+                    }
+                    else if(theToken == "abs")
+                    {
+                        mSource<<append("spf_abs");
+                    }
+                    else if(theToken == "asin")
+                    {
+                        mSource<<append("asin");
+                    }
+                    else if(theToken == "acos")
+                    {
+                        mSource<<append("acos");
+                    }
+                    else if(theToken == "atan")
+                    {
+                        mSource<<append("atan");
+                    }
+                    else if(theToken == "sec")
+                    {
+                        mSource<<append("MathKGI.Sec");
+                    }
+                    else if(theToken == "csc")
+                    {
+                        mSource<<append("MathKGI.Csc");
+                    }
+                    else if(theToken == "cot")
+                    {
+                        mSource<<append("MathKGI.Cot");
+                    }
+                    else if(theToken == "arcsec")
+                    {
+                        mSource<<append("MathKGI.Asec");
+                    }
+                    else if(theToken == "arccsc")
+                    {
+                        mSource<<append("MathKGI.Acsc");
+                    }
+                    else if(theToken == "arccot")
+                    {
+                        mSource<<append("MathKGI.Acot");
+                    }
+                    else if(theToken == "sinh")
+                    {
+                        mSource<<append("Math.Sinh");
+                    }
+                    else if(theToken == "cosh")
+                    {
+                        mSource<<append("Math.Cosh");
+                    }
+                    else if(theToken == "tanh")
+                    {
+                        mSource<<append("Math.Tanh");
+                    }
+                    else if(theToken == "arcsinh")
+                    {
+                        mSource<<append("MathKGI.Asinh");
+                    }
+                    else if(theToken == "arccosh")
+                    {
+                        mSource<<append("MathKGI.Acosh");
+                    }
+                    else if(theToken == "arctanh")
+                    {
+                        mSource<<append("MathKGI.Atanh");
+                    }
+                    else if(theToken == "sech")
+                    {
+                        mSource<<append("MathKGI.Sech");
+                    }
+                    else if(theToken == "csch")
+                    {
+                        mSource<<append("MathKGI.Csch");
+                    }
+                    else if(theToken == "coth")
+                    {
+                        mSource<<append("MathKGI.Coth");
+                    }
+                    else if(theToken == "arcsech")
+                    {
+                        mSource<<append("MathKGI.Asech");
+                    }
+                    else if(theToken == "arccsch")
+                    {
+                        mSource<<append("MathKGI.Acsch");
+                    }
+                    else if(theToken == "arccoth")
+                    {
+                               mSource<<append("MathKGI.Acoth");
+                    }
+                    else if(theToken == "pi")
+                    {
+                        mSource<<append("PI");
+                    }
+                    else if(theToken == "exponentiale")
+                    {
+                        mSource<<append("Math.E");
+                    }
+                    else if(theToken == "avogadro")
+                    {
+                        mSource<<append("6.02214179e23");
+                    }
+                    else if(theToken == "true")
+                    {
+                        mSource<<append("1.0");
+                    }
+                    else if(theToken == "false")
+                    {
+                        mSource<<append("0.0");
+                    }
+                    else if(theToken == "gt")
+                    {
+                        mSource<<append("spf_gt");
+                    }
+                    else if(theToken == "lt")
+                    {
+                        mSource<<append("spf_lt");
+                    }
+                    else if(theToken == "eq")
+                    {
+                        mSource<<append("spf_eq");
+                    }
+                    else if(theToken == "neq")
+                    {
+                        mSource<<append("spf_neq");
+                    }
+                    else if(theToken == "geq")
+                    {
+                        mSource<<append("spf_geq");
+                    }
+                    else if(theToken == "leq")
+                    {
+                        mSource<<append("spf_leq");
+                    }
+                    else if(theToken == "and")
+                    {
+                        mSource<<append("supportFunction._and");
+                    }
+                    else if(theToken == "or")
+                    {
+                        mSource<<append("supportFunction._or");
+                    }
+                    else if(theToken == "not")
+                    {
+                        mSource<<append("supportFunction._not");
+                    }
+                    else if(theToken == "xor")
+                    {
+                        mSource<<append("supportFunction._xor");
+                    }
+                    else if(theToken == "root")
+                    {
+                        mSource<<append("spf_root");
+                    }
+                    else if (theToken == "squarewave")
+                    {
+                        mSource<<append("spf_squarewave");
+                    }
+                    else if(theToken == "piecewise")
+                    {
+                        mSource<<append("spf_piecewise");
+                    }
+                    else if (!ms.mFunctionParameters.Contains(s.tokenString))
+                    {
+                        throw Exception("Token '" + s.tokenString + "' not recognized.");
+                    }
+                    else
+                    {
+                        mSource<<append(s.tokenString);
+                    }
+
+                break; //Word token
+
+                   case CodeTypes::tDoubleToken:
+                       mSource<<append(writeDouble(s.tokenDouble));
+                       break;
+                   case CodeTypes::tIntToken:
+                    mSource<<append((int) s.tokenInteger);
+                       break;
+                   case CodeTypes::tPlusToken:
+                   mSource<<append("+");
+                   break;
+                   case CodeTypes::tMinusToken:
+                   mSource<<append("-");
+                   break;
+                   case CodeTypes::tDivToken:
+                   mSource<<append("/");
+                   break;
+                   case CodeTypes::tMultToken:
+                   mSource<<append(mFixAmountCompartments);
+                   break;
+                   case CodeTypes::tPowerToken:
+                   mSource<<append("^");
+                   break;
+                   case CodeTypes::tLParenToken:
+                   mSource<<append("(");
+                   break;
+                   case CodeTypes::tRParenToken:
+                   mSource<<append(")");
+                   break;
+                   case CodeTypes::tCommaToken:
+                   mSource<<append(",");
+                   break;
+                   case CodeTypes::tEqualsToken:
+                   mSource<<append(" = ");
+                   break;
+                   case CodeTypes::tTimeWord1:
+                   mSource<<append("time");
+                   break;
+                   case CodeTypes::tTimeWord2:
+                   mSource<<append("time");
+                   break;
+                   case CodeTypes::tTimeWord3:
+                   mSource<<append("time");
+                   break;
+                   case CodeTypes::tAndToken:
+                   mSource<<append("spf_and");
+                   break;
+                   case CodeTypes::tOrToken:
+                   mSource<<append("spf_or");
+                   break;
+                   case CodeTypes::tNotToken:
+                   mSource<<append("spf_not");
+                   break;
+                   case CodeTypes::tLessThanToken:
+                   mSource<<append("spf_lt");
+                   break;
+                   case CodeTypes::tLessThanOrEqualToken:
+                   mSource<<append("spf_leq");
+                   break;
+                   case CodeTypes::tMoreThanOrEqualToken:
+                   mSource<<append("spf_geq");
+                   break;
+                   case CodeTypes::tMoreThanToken:
+                   mSource<<append("spf_gt");
+                   break;
+                   case CodeTypes::tXorToken:
+                   mSource<<append("spf_xor");
+                   break;
+                   default:
+                   stringstream msg;
+                   msg<< "Unknown token in convertUserFunctionExpression: " << s.tokenToString(s.token()) <<
+                           "Exception raised in Module:roadRunner, Method:convertUserFunctionExpression";
+                   throw Exception(msg.str());
+               }
+               s.nextToken();
+        }
+    }
+    catch (const Exception& e)
+    {
+       throw CoreException(e.Message());
+    }
+    return mSource.ToString();
+}
+
+void CModelGenerator::substituteEquation(const string& reactionName, Scanner& s, CodeBuilder& mSource)
+{
+    string theToken(s.tokenString);
+    if(theToken == "pow")
+    {
+        mSource<<append("spf_pow");
+    }
+    else if(theToken == "sqrt")
+    {
+        mSource<<append("sqrt");
+    }
+    else if(theToken == "log")
+    {
+        mSource<<append("spf_log");
+    }
+    else if(theToken == "floor")
+    {
+        mSource<<append("spf_floor");
+    }
+    else if(theToken == "ceil")
+    {
+        mSource<<append("spf_ceil");
+    }
+    else if(theToken == "factorial")
+    {
+        mSource<<append("spf_factorial");
+    }
+    else if(theToken == "log10")
+    {
+        mSource<<append("spf_log10");
+    }
+    else if(theToken == "exp")
+    {
+        mSource<<append("spf_exp");
+    }
+    else if(theToken == "abs")
+    {
+        mSource<<append("spf_abs");
+    }
+    else if(theToken == "sin")
+    {
+        mSource<<append("spf_sin");
+    }
+    else if(theToken == "cos")
+    {
+        mSource<<append("cos");
+    }
+    else if(theToken == "tan")
+    {
+        mSource<<append("tan");
+    }
+    else if(theToken == "asin")
+    {
+        mSource<<append("asin");
+    }
+    else if(theToken == "acos")
+    {
+        mSource<<append("acos");
+    }
+    else if(theToken == "atan")
+    {
+        mSource<<append("atan");
+    }
+    else if(theToken == "sec")
+    {
+        mSource<<append("sec");
+    }
+    else if(theToken == "csc")
+    {
+        mSource<<append("csc");
+    }
+    else if(theToken == "cot")
+    {
+        mSource<<append("cot");
+    }
+    else if(theToken == "arcsec")
+    {
+        mSource<<append("asec");
+    }
+    else if(theToken == "arccsc")
+    {
+        mSource<<append("arccsc");
+    }
+    else if(theToken == "arccot")
+    {
+        mSource<<append("arccot");
+    }
+    else if(theToken == "sinh")
+    {
+        mSource<<append("sinh");
+    }
+    else if(theToken == "cosh")
+    {
+        mSource<<append("cosh");
+    }
+    else if(theToken == "tanh")
+    {
+        mSource<<append("tanh");
+    }
+    else if(theToken == "arcsinh")
+    {
+        mSource<<append("arcsinh");
+    }
+    else if(theToken == "arccosh")
+    {
+        mSource<<append("arccosh");
+    }
+    else if(theToken == "arctanh")
+    {
+        mSource<<append("arctanh");
+    }
+    else if(theToken == "sech")
+    {
+        mSource<<append("sech");
+    }
+    else if(theToken == "csch")
+    {
+        mSource<<append("csch");
+    }
+    else if(theToken == "coth")
+    {
+        mSource<<append("coth");
+    }
+    else if(theToken == "arcsech")
+    {
+        mSource<<append("arcsech");
+    }
+    else if(theToken == "arccsch")
+    {
+        mSource<<append("arccsch");
+    }
+    else if(theToken == "arccoth")
+    {
+        mSource<<append("arccoth");
+    }
+    else if(theToken == "pi")
+    {
+        mSource<<append("PI");
+    }
+    else if(theToken == "avogadro")
+    {
+        mSource<<append("6.02214179e23");
+    }
+    else if(theToken == "exponentiale")
+    {
+        mSource<<append("E");
+    }
+    else if(theToken == "true")
+    {
+        //mSource<<append("true");
+        mSource<<append("1.0");
+    }
+    else if(theToken == "false")
+    {
+        //mSource<<append("false");
+        mSource<<append("0.0");
+    }
+    else if(theToken == "NaN")
+    {
+        mSource<<append("NaN");
+    }
+    else if(theToken == "INF")
+    {
+        mSource<<append("INF");
+    }
+    else if(theToken == "geq")
+    {
+        mSource<<append("spf_geq");
+    }
+    else if(theToken == "leq")
+    {
+        mSource<<append("spf_leq");
+    }
+    else if(theToken == "gt")
+    {
+        mSource<<append("spf_gt");
+    }
+    else if(theToken == "lt")
+    {
+        mSource<<append("spf_lt");
+    }
+    else if(theToken == "eq")
+    {
+        mSource<<append("spf_eq");
+    }
+    else if(theToken == "neq")
+    {
+        mSource<<append("spf_neq");
+    }
+    else if(theToken == "and")
+    {
+        mSource<<append("spf_and");
+    }
+    else if(theToken == "or")
+    {
+        mSource<<append("spf_or");
+    }
+    else if(theToken == "not")
+    {
+        mSource<<append("spf_not");
+    }
+    else if(theToken == "xor")
+    {
+        mSource<<append("spf_xor");
+    }
+    else if(theToken == "root")
+    {
+        mSource<<append("spf_root");
+    }
+    else if(theToken == "squarewave")
+    {
+        mSource<<append("spf_squarewave");
+    }
+    else if(theToken == "piecewise")
+    {
+        mSource<<append("spf_piecewise");
+    }
+    else if(theToken == "delay")
+    {
+        mSource<<append("spf_delay");
+        Log(lWarning)<<"RoadRunner does not yet support delay differential equations in SBML, they will be ignored (i.e. treated as delay = 0).";
+    }
+    else
+    {
+        bool bReplaced = false;
+        int index;
+        if (ms.mReactionList.find(reactionName, index))
+        {
+            int nParamIndex = 0;
+            if (ms.mLocalParameterList[index].find(s.tokenString, nParamIndex))
+            {
+                mSource<<append("_lp[" + toString(index) + "][" + toString(nParamIndex) + "]");
+                bReplaced = true;
+            }
+        }
+
+        if (ms.mBoundarySpeciesList.find(s.tokenString, index))
+        {
+            mSource<<append("_bc[" + toString(index) + "]");
+            bReplaced = true;
+        }
+        if (!bReplaced &&
+            (ms.mFunctionParameters.Count() != 0 && !ms.mFunctionParameters.Contains(s.tokenString)))
+        {
+            throw Exception("Token '" + s.tokenString + "' not recognized.");
+        }
+    }
+}
+
+void CModelGenerator::substituteWords(const string& reactionName, bool bFixAmounts, Scanner& s, CodeBuilder& mSource)
+{
+    // Global parameters have priority
+    int index;
+    if (ms.mGlobalParameterList.find(s.tokenString, index))
+    {
+        mSource<<format("md->globalParameters[{0}]", index);
+    }
+    else if (ms.mBoundarySpeciesList.find(s.tokenString, index))
+    {
+        mSource<<format("md->boundarySpeciesConcentrations[{0}]", index);
+
+        Symbol symbol = ms.mBoundarySpeciesList[index];
+        if (symbol.hasOnlySubstance)
+        {
+            // we only store concentration for the boundary so we better
+            // fix that.
+            int nCompIndex = 0;
+            if (ms.mCompartmentList.find(symbol.compartmentName, nCompIndex))
+            {
+                mSource<<format("{0}_c[{1}]", mFixAmountCompartments, nCompIndex);
+            }
+        }
+    }
+    else if (ms.mFloatingSpeciesConcentrationList.find(s.tokenString, index))
+    {
+        Symbol floating1 = ms.mFloatingSpeciesConcentrationList[index];
+        if (floating1.hasOnlySubstance)
+        {
+            mSource<<format("md->floatingSpeciesAmounts[{0}]", index);
+        }
+        else
+        {
+            mSource<<format("md->floatingSpeciesConcentrations[{0}]", index);
+        }
+    }
+    else if (ms.mCompartmentList.find(s.tokenString, index))
+    {
+        mSource<<format("md->compartmentVolumes[{0}]", index);
+    }
+    else if (ms.mFunctionNames.Contains(s.tokenString))
+    {
+        mSource<<format("{0} ", s.tokenString);
+    }
+    else if (ms.mModifiableSpeciesReferenceList.find(s.tokenString, index))
+    {
+        mSource<<format("md->sr[{0}]", index);
+    }
+    else if (ms.mReactionList.find(s.tokenString, index))
+    {
+        mSource<<format("md->reactionRates[{0}]", index);
+    }
+    else
+    {
+        substituteEquation(reactionName, s, mSource);
+    }
+}
+
+void CModelGenerator::substituteToken(const string& reactionName, bool bFixAmounts, Scanner& s, CodeBuilder& mSource)
+{
+    string aToken = s.tokenString;
+    CodeTypes::CodeTypes codeType = s.token();
+    switch(codeType)
+    {
+        case CodeTypes::tWordToken:
+        case CodeTypes::tExternalToken:
+        case CodeTypes::tExtToken:
+            substituteWords(reactionName, bFixAmounts, s, mSource);
+            break;
+
+        case CodeTypes::tDoubleToken:
+            mSource<<append("(double) " + writeDouble(s.tokenDouble));
+            break;
+        case CodeTypes::tIntToken:
+            mSource<<append("(double)" + writeDouble((double)s.tokenInteger));
+            break;
+        case CodeTypes::tPlusToken:
+            mSource<<format("+{0}\t", NL());
+            break;
+        case CodeTypes::tMinusToken:
+            mSource<<format("-{0}\t", NL());
+            break;
+        case CodeTypes::tDivToken:
+            mSource<<format("/{0}\t", NL());
+            break;
+        case CodeTypes::tMultToken:
+            mSource<<format("*{0}\t", NL());
+            break;
+        case CodeTypes::tPowerToken:
+            mSource<<format("^{0}\t", NL());
+            break;
+        case CodeTypes::tLParenToken:
+            mSource<<append("(");
+            break;
+        case CodeTypes::tRParenToken:
+            mSource<<format("){0}\t", NL());
+            break;
+        case CodeTypes::tCommaToken:
+            mSource<<append(",");
+            break;
+        case CodeTypes::tEqualsToken:
+            mSource<<format(" = {0}\t", NL());
+            break;
+        case CodeTypes::tTimeWord1:
+            mSource<<append("md->time");
+            break;
+        case CodeTypes::tTimeWord2:
+            mSource<<append("md->time");
+            break;
+        case CodeTypes::tTimeWord3:
+            mSource<<append("md->time");
+            break;
+        case CodeTypes::tAndToken:
+            mSource<<format("{0}spf_and", NL());
+            break;
+        case CodeTypes::tOrToken:
+            mSource<<format("{0}spf_or", NL());
+            break;
+        case CodeTypes::tNotToken:
+            mSource<<format("{0}spf_not", NL());
+            break;
+        case CodeTypes::tLessThanToken:
+            mSource<<format("{0}spf_lt", NL());
+            break;
+        case CodeTypes::tLessThanOrEqualToken:
+            mSource<<format("{0}spf_leq", NL());
+            break;
+        case CodeTypes::tMoreThanOrEqualToken:
+            mSource<<format("{0}spf_geq", NL());
+            break;
+        case CodeTypes::tMoreThanToken:
+            mSource<<format("{0}spf_gt", NL());
+            break;
+        case CodeTypes::tXorToken:
+            mSource<<format("{0}spf_xor", NL());
+            break;
+        default:
+        string aToken = s.tokenToString(s.token());
+        Exception ae = Exception(
+                 format("Unknown token in substituteTerms: {0}", aToken,
+                 "Exception raised in Module:roadRunner, Method:substituteTerms"));
+         throw ae;
+    }
+}
+
+bool CModelGenerator::generateModelCode(const string& sbml, const string& modelName, bool computeAndAssignConsevationLaws)
+{
+    if(sbml.size())
+    {
+        mCurrentSBML = sbml;
+    }
+
+    string modelCode = generateModelCode(mCurrentSBML, computeAndAssignConsevationLaws);
+
+    if(!modelCode.size())
+    {
+        Log(Logger::LOG_ERROR)<<"Failed to generate model code";
+        return false;
+    }
+
+    if(!saveSourceCodeToFolder(mTempFileFolder, modelName))
+    {
+        Log(Logger::LOG_ERROR)<<"Failed saving generated source code";
+    }
+
+    return true;
+}
+
+bool CModelGenerator::compileModel()
+{
+    if(!compileCurrentModel())
+    {
+        Log(Logger::LOG_ERROR)<<"Failed compiling model";
+        return false;
+    }
+
+    return true;
+}
+
+bool CModelGenerator::compileCurrentModel()
+{
+    //*CModelGenerator *codeGen = dynamic_cast<CModelGenerator*>(mModelGenerator);
+    //*if(!codeGen)
+    //*{
+    //*    //CodeGenerator has not been allocaed
+    //*    Log(lError)<<"Generate code before compiling....";
+    //*    return false;
+    //*}
+
+    //Compile the model
+    if(!mCompiler.compileSource(getSourceCodeFileName()))
+    {
+        Log(Logger::LOG_ERROR)<<"Model failed compilation";
+        return false;
+    }
+    Log(lDebug)<<"Model compiled successfully. ";
+    Log(lDebug)<<mModelLib->getFullFileName()<<" was created";
+    return true;
+}
+
+
+bool CModelGenerator::setTemporaryDirectory(const string& _path)
+{
+    string path = _path;
+    if(!_path.size())
+    {
+        path = getCWD();
+    }
+
+    if(folderExists(path))
+    {
+        Log(lDebug2)<<"Setting model generators temp file folder to "<< path;
+        mCompiler.setOutputPath(path);
+        mTempFileFolder = path;
+        return true;
+    }
+    else
+    {
+        stringstream msg;
+        msg<<"The folder: "<<path<<" don't exist...";
+        Log(Logger::LOG_ERROR)<<msg.str();
+        CoreException e(msg.str());
+        throw(e);
+    }
+}
+
+
+ExecutableModel *CModelGenerator::createModel(const string& sbml, uint options)
+{
+    bool computeAndAssignConsevationLaws =
+                options & LoadSBMLOptions::CONSERVED_MOIETIES;
+
+    bool forceReCompile = options & LoadSBMLOptions::RECOMPILE;
+
+    LibStructural libStruct(sbml);
+
+    ExecutableModel *model = createModel(sbml, &libStruct, forceReCompile,
+            computeAndAssignConsevationLaws);
+
+    return model;
+}
+
+ExecutableModel *CModelGenerator::createModel(const string& sbml, LibStructural *ls,
+        bool forceReCompile, bool computeAndAssignConsevationLaws)
+{
+    NOMSupport nom;
+    CModelGenerator::loadSBMLIntoNOM(nom, sbml);
+    mLibStruct = ls;
+    mNOM = &nom;
+    mCurrentSBML = sbml;
+    mModelLib = new ModelSharedLibrary();
+    mComputeAndAssignConsevationLaws = computeAndAssignConsevationLaws;
+
+    ms = ModelSymbols(*mNOM, *ls, computeAndAssignConsevationLaws);
+
+
+    //clear temp folder of roadrunner generated files, only if roadRunner instance == 1
+    Log(lDebug)<<"Loading SBML into simulator";
+    if (!sbml.size())
+    {
+        throw(CoreException("SBML string is empty!"));
+    }
+
+    string modelName = getMD5(sbml);
+
+    //Check if model has been compiled
+    mModelLib->setPath(mTempFileFolder);
+
+    //Creates a name for the shared lib
+    mModelLib->createName(modelName);
+    if(forceReCompile)
+    {
+        //If the dll is loaded.. unload it..
+        if (mModelLib->isLoaded())
+        {
+            mModelLib->unload();
+        }
+    }
+
+    generateModelCode(sbml, modelName, computeAndAssignConsevationLaws);
+
+    Mutex::ScopedLock lock(mCompileMutex);
+    try
+    {
+        //Can't have multiple threads compiling to the same dll at the same time..
+        if(!fileExists(mModelLib->getFullFileName()) || forceReCompile == true)
+        {
+            if(!compileModel())
+            {
+                Log(Logger::LOG_ERROR)<<"Failed to generate and compile model";
+                return 0;
+            }
+
+            if(!mModelLib->load())
+            {
+                Log(Logger::LOG_ERROR)<<"Failed to load model DLL";
+                return 0;
+            }
+        }
+        else
+        {
+            Log(lDebug)<<"Model compiled files already generated.";
+            if(!mModelLib->isLoaded())
+            {
+                if(!mModelLib->load())
+                {
+                    Log(Logger::LOG_ERROR)<<"Failed to load model DLL";
+                    return 0;
+                }
+            }
+            else
+            {
+                Log(lDebug)<<"Model lib is already loaded.";
+            }
+        }
+
+    }//End of scope for compile Mutex
+    catch(const Exception& ex)
+    {
+        Log(Logger::LOG_ERROR)<<"Compiler problem: "<<ex.what();
+    }
+
+    CompiledExecutableModel *model = 0;
+
+    //Create a model
+    if(mModelLib->isLoaded())
+    {
+        model = new CompiledExecutableModel(ms, mModelLib);
+    }
+    else
+    {
+        Log(Logger::LOG_ERROR)<<"Failed to create model from DLL";
+        model = NULL;
+    }
+
+    if(!model)
+    {
+        throw(CoreException("Failed creating model"));
+    }
+
+
+    //Finally intitilaize the model..
+    model->evalInitialConditions();
+
+
+    // copy stoich matrix into it
+
+    DoubleMatrix* aMat = 0;
+
+    if (computeAndAssignConsevationLaws)
+    {
+        aMat = ls->getReorderedStoichiometryMatrix();
+    }
+    else
+    {
+        aMat = ls->getStoichiometryMatrix();
+    }
+
+    // could be zero, suppose if system has no reactions?
+    if (aMat)
+    {
+        model->stoichiometryMatrix.resize(aMat->numRows(), aMat->numCols());
+
+        for(int row = 0; row < model->stoichiometryMatrix.RSize(); row++)
+        {
+            for(int col = 0; col < model->stoichiometryMatrix.CSize(); col++)
+            {
+                model->stoichiometryMatrix(row,col) = (*aMat)(row,col);
+            }
+        }
+    }
+
+    mModelLib = 0;
+
+    // clear state
+    CompiledModelGenerator::reset();
+
+    return model;
+}
+
+Compiler* CModelGenerator::getCompiler()
+{
+    return &mCompiler;
+}
+
+
+bool CModelGenerator::setCompiler(const string& compiler)
+{
+    return mCompiler.setCompiler(compiler);
+}
+
+string CModelGenerator::getTemporaryDirectory()
+{
+    return mTempFileFolder;
+}
+
+bool CModelGenerator::loadSBMLIntoNOM(NOMSupport &nom, const string& sbml)
+{
+    string sASCII = NOMSupport::convertTime(sbml, "time");
+
+    Log(lDebug4)<<"Loading SBML into NOM";
+    nom.loadSBML(sASCII.c_str(), "time");
+    return true;
+}
+
+}//Namespace
+
diff --git a/source/c/rrCModelGenerator.h b/source/c/rrCModelGenerator.h
new file mode 100644
index 0000000..7b2adf1
--- /dev/null
+++ b/source/c/rrCModelGenerator.h
@@ -0,0 +1,160 @@
+#ifndef CModelGenerator_H_
+#define CModelGenerator_H_
+//---------------------------------------------------------------------------
+
+#include "rrCompiledModelGenerator.h"
+#include "rrModelSharedLibrary.h"
+#include "rrCodeBuilder.h"
+#include "rrCCompiler.h"
+
+namespace rr
+{
+
+using Poco::Mutex;
+
+/**
+ * Generate executable SBML models by generating and compiling C
+ * source code into shared libraries with an external C compiler.
+ */
+class RR_DECLSPEC CModelGenerator : public CompiledModelGenerator
+{
+
+public:
+    CModelGenerator(const string& tempFolder, const string& supportCodeFolder, const string& compiler);
+    virtual                            ~CModelGenerator();
+
+    virtual  ExecutableModel            *createModel(const string& sbml, uint options);
+
+    virtual bool                        setTemporaryDirectory(const string& path);
+
+    /**
+     * Get the location where this model generator creates source file and shared libraries.
+     */
+    virtual string                      getTemporaryDirectory();
+
+    /**
+     * Get the compiler object that the model generator is using to
+     * 'compile' sbml.
+     */
+    virtual                             Compiler* getCompiler();
+
+    /**
+     * Set the name of the compiler to use. As this is a C source code compiler, this
+     * is the name of the external C compiler, which would typically be 'gcc', 'cc', 'icc', etc...
+     */
+    virtual                             bool setCompiler(const string& compiler);
+
+    /**
+     * These are access in the c_api, should they be??? TODO: fix this.
+     */
+    string                              getHeaderCode();
+    string                              getSourceCode();
+    string                              getSourceCodeFileName();
+
+private:
+    /**
+     * create a C compiled executable model.
+     *
+     * The caller own this.
+     */
+    ExecutableModel                     *createModel(const string& sbml, ls::LibStructural *ls,
+                                                     bool forceReCompile, bool computeAndAssignConsevationLaws);
+
+    CodeBuilder                         mHeader;
+    CodeBuilder                         mSource;
+
+    string                              mHeaderCodeFileName;
+    string                              mSourceCodeFileName;
+
+    string                              mCurrentSBML;
+
+    // the shared lib thats created.
+    // this needs to belong to the model
+    // TODO: fix this!
+    ModelSharedLibrary                  *mModelLib;
+
+    CCompiler                           mCompiler;
+
+    string                              mTempFileFolder;
+
+    bool generateModelCode(const string& sbml, const string& modelName, bool computeAndAssignConsevationLaws);
+
+    static Mutex                        mCompileMutex;
+
+    bool compileModel();
+
+    bool compileCurrentModel();
+
+
+
+    //C Specifics..
+
+    string                              getHeaderCodeFileName();
+    bool                                saveSourceCodeToFolder(const string& folder, const string& baseName);
+    int                                 getNumberOfFloatingSpecies();
+
+
+    string                              convertUserFunctionExpression(const string& equation);
+    string                              convertCompartmentToC(const string& compartmentName);
+    string                              convertSpeciesToBc(const string& speciesName);
+    string                              convertSpeciesToY(const string& speciesName);
+
+    /**
+     * creates a string of the format "md->c[comp_index]", where
+     * comp_index is the index of the named compartment
+     */
+    string                              convertSymbolToC(const string& compartmentName);
+    string                              convertSymbolToGP(const string& parameterName);
+
+    void                                substituteEquation(const string& reactionName, Scanner& s, CodeBuilder& sb);
+    void                                substituteWords(const string& reactionName, bool bFixAmounts, Scanner& s, CodeBuilder& sb);
+    void                                substituteToken(const string& reactionName, bool bFixAmounts, Scanner& s, CodeBuilder& sb);
+    string                              findSymbol(const string& varName);
+    void                                write_getModelNameFunction(CodeBuilder& ignore, CodeBuilder& source);
+    void                                writeComputeAllRatesOfChange(CodeBuilder& sb, const int& numIndependentSpecies, const int& numDependentSpecies, DoubleMatrix& L0);
+    void                                writeComputeConservedTotals(CodeBuilder& sb, const int& numFloatingSpecies, const int& numDependentSpecies);
+    void                                writeUpdateDependentSpecies(CodeBuilder& sb, const int& numIndependentSpecies, const int& numDependentSpecies, DoubleMatrix& L0);
+    void                                writeUserDefinedFunctions(CodeBuilder& sb);
+    void                                writeResetEvents(CodeBuilder& sb, const int& numEvents);
+    void                                writeSetConcentration(CodeBuilder& sb);
+    void                                writeGetConcentration(CodeBuilder& sb);
+    void                                writeConvertToAmounts(CodeBuilder& sb);
+    void                                writeConvertToConcentrations(CodeBuilder& sb);
+    void                                writeProperties(CodeBuilder& sb);
+    void                                writeAccessors(CodeBuilder& sb);
+    void                                writeOutVariables(CodeBuilder& sb);
+    void                                writeClassHeader(CodeBuilder& sb);
+    void                                writeTestConstraints(CodeBuilder& sb);
+    void                                writeEvalInitialAssignments(CodeBuilder& sb, const int& numReactions);
+    int                                 writeComputeRules(CodeBuilder& sb, const int& numReactions);
+    void                                writeComputeReactionRates(CodeBuilder& sb, const int& numReactions);
+    void                                writeEvalEvents(CodeBuilder& sb, const int& numEvents, const int& numFloatingSpecies);
+    void                                writeEvalModel(CodeBuilder& sb, const int& numReactions, const int& numIndependentSpecies, const int& numFloatingSpecies, const int& numOfRules);
+    void                                writeEventAssignments(CodeBuilder& sb, const int& numReactions, const int& numEvents);
+    void                                writeSetParameterValues(CodeBuilder& sb, const int& numReactions);
+    void                                writeSetCompartmentVolumes(CodeBuilder& sb);
+    void                                writeSetBoundaryConditions(CodeBuilder& sb);
+    void                                writeSetInitialConditions(CodeBuilder& sb, const int& numFloatingSpecies);
+    void                                writeInitFunction(CodeBuilder& sbh, CodeBuilder& sbc);
+    void                                writeInitModelDataFunction(CodeBuilder& sbh, CodeBuilder& sbc);
+
+    int                                 readFloatingSpecies();
+    // int                                 readBoundarySpecies();
+
+    // Generates the Model Code from the SBML string
+    // TODO major clean up
+    string                              generateModelCode(const string& sbmlStr, const bool& _computeAndAssignConsevationLaws);
+
+    // Generates the Model Code from th e SBML string
+    // TODO major clean up also
+    string                              generateModelCode(const string& sbmlStr, LibStructural *ls, NOMSupport *nom,
+                                                          const bool& _computeAndAssignConsevationLaws = false);
+
+    static bool                         loadSBMLIntoNOM(NOMSupport &nom, const string& sbml);
+
+};
+
+
+}
+
+#endif
diff --git a/source/c/rrCodeBuilder.cpp b/source/c/rrCodeBuilder.cpp
new file mode 100644
index 0000000..4fa4b4b
--- /dev/null
+++ b/source/c/rrCodeBuilder.cpp
@@ -0,0 +1,73 @@
+#pragma hdrstop
+#include <iomanip>
+#include "rrStringUtils.h"
+#include "rrCodeBuilder.h"
+//---------------------------------------------------------------------------
+using namespace std;
+namespace rr
+{
+
+CodeBuilder::CodeBuilder(const string& aStr, const string& decl_spec, const string& call_conv)
+:
+mSizeOfVarField1(45),
+mSizeOfVarField2(55),
+mSizeOfVarField3(45),
+mDeclSpec(decl_spec),
+mCallingConvention(call_conv)
+{
+    mStringing<<aStr;
+}
+
+void CodeBuilder::FormatVariable(const string& type, const string& varName, const string& comment)
+{
+
+    mStringing<<left<<setw(mSizeOfVarField1)<<type    <<varName<<     setw(mSizeOfVarField2)<<";";
+    if(comment.size())
+    {
+        mStringing<<"//"<<comment;
+    }
+
+    mStringing<<endl;
+}
+
+void CodeBuilder::AddFunctionExport(const string& retValue, const string& funcProto)
+{
+    //mStringing<<mDeclSpec<<" "<<left<<setw(mSizeOfVarField1)<<retValue<<mCallingConvention<<setw(mSizeOfVarField2)<<funcProto + ";"<<endl;
+    mStringing<<mDeclSpec<<" "<<left<<setw(mSizeOfVarField1)<<retValue<<setw(mSizeOfVarField2)<<funcProto + ";"<<endl;
+}
+
+void CodeBuilder::AddFunctionProto(const string& retValue, const string& funcProto)
+{
+    mStringing<<"   "<<" "<<left<<setw(mSizeOfVarField1)<<retValue<<setw(mSizeOfVarField2)<<funcProto + ";"<<endl;
+}
+
+void CodeBuilder::FormatArray(const string& type, const string& varName, const int& _arraySize, const string& comment)
+{
+    int arraySize = _arraySize;
+    if(arraySize == 0)
+    {
+        //an array of zero length is undefined.. don't put it in the header..
+        mStringing<<"\n//The array size for the follwoing variable was generated as 0. We put 1, to make it legal code.\n";
+         arraySize = 1;
+    }
+
+    string field2(varName +"["+ rr::toString(arraySize)+"];");
+    mStringing<<left<<setw(mSizeOfVarField1)<<type    << setw(mSizeOfVarField2)<<field2;
+
+    if(comment.size())
+    {
+        mStringing<<left<<setw(mSizeOfVarField3)<<"//" + comment;
+    }
+    mStringing<<"\n";
+
+    //Add the size for each array, so we don't have to calculate later on..
+    if(_arraySize == 0)
+    {
+        arraySize = 0;
+    }
+
+    mStringing<<left<<setw(mSizeOfVarField1)<<"D_S const int"    << setw(mSizeOfVarField2)<<varName + "Size=" + rr::toString(arraySize) + ";";
+    mStringing<<endl;
+}
+
+}
diff --git a/source/c/rrCodeBuilder.h b/source/c/rrCodeBuilder.h
new file mode 100644
index 0000000..dba4bc2
--- /dev/null
+++ b/source/c/rrCodeBuilder.h
@@ -0,0 +1,27 @@
+#ifndef rrCodeBuilderH
+#define rrCodeBuilderH
+#include "rrStringBuilder.h"
+
+namespace rr
+{
+
+class RR_DECLSPEC CodeBuilder : public StringBuilder
+{
+    protected:
+        int                     mSizeOfVarField1;
+        int                     mSizeOfVarField2;
+        int                     mSizeOfVarField3;
+        string                  mDeclSpec;
+        string                  mCallingConvention;
+
+    public:
+                                CodeBuilder(const string& aStr = "", const string& decl_spec = "D_S", const string& call_conv = "__cdecl");
+        void                    FormatVariable(const string& type, const string& varName, const string& comment = "");
+        void                    AddFunctionExport(const string& retValue, const string& funcProto);
+        void                    AddFunctionProto(const string& retValue, const string& funcProto);
+        void                    FormatArray(const string& type, const string& varName, const int& arraySize, const string& comment = "");
+};
+
+}
+
+#endif
diff --git a/source/c/rrCodeTypes.h b/source/c/rrCodeTypes.h
new file mode 100644
index 0000000..9f88643
--- /dev/null
+++ b/source/c/rrCodeTypes.h
@@ -0,0 +1,72 @@
+#ifndef rrCodeTypesH
+#define rrCodeTypesH
+
+namespace rr
+{
+namespace CodeTypes
+{
+enum CodeTypes
+{
+    tEmptyToken = 0,
+    tEndOfStreamToken,
+    tIntToken,
+    tDoubleToken,
+    tComplexToken,
+    tStringToken,
+    tWordToken,
+    tEolToken,
+    tSemiColonToken,
+    tCommaToken,
+    tEqualsToken,
+    tPlusToken,
+    tMinusToken,
+    tMultToken,
+    tDivToken,
+    tLParenToken,
+    tRParenToken,
+    tLBracToken,
+    tRBracToken,
+    tLCBracToken,
+    tRCBracToken,
+    tOrToken,
+    tAndToken,
+    tNotToken,
+    tXorToken,
+    tTimeWord1,
+    tTimeWord2,
+    tTimeWord3,
+    tColonToken,
+    tPowerToken,
+    tLessThanToken,
+    tLessThanOrEqualToken,
+    tMoreThanToken,
+    tMoreThanOrEqualToken,
+    tNotEqualToken,
+    tReversibleArrow,
+    tIrreversibleArrow,
+    tStartComment,
+    tInternalToken,
+    tVarToken,
+    tVolToken,
+    tExternalToken,
+    tExtToken,
+    tParameterToken,
+    tIfToken,
+    tDollarToken,
+    tUnaryMinusToken,
+    tPrintToken,
+    tWhileToken,
+    tdefnToken,
+    tEndToken,
+    tTimeStartToken,
+    tTimeEndToken,
+    tNumPointsToken,
+    tSimulateToken,
+    tPointToken
+};
+}
+
+}//rr namespace
+
+
+#endif
diff --git a/source/c/rrCompiledExecutableModel.cpp b/source/c/rrCompiledExecutableModel.cpp
new file mode 100644
index 0000000..943403a
--- /dev/null
+++ b/source/c/rrCompiledExecutableModel.cpp
@@ -0,0 +1,1807 @@
+#pragma hdrstop
+#include "rrCompiledExecutableModel.h"
+#include "rrCModelGenerator.h"
+#include "rrUtils.h"
+#include "rrCompiledModelState.h"
+#include "rrCModelDataUtil.h"
+#include "rrSelectionRecord.h"
+#include "rrException.h"
+#include "rrLogger.h"
+
+#include <limits>
+#include <iostream>
+
+/**
+ * checks if the bitfield value has all the required flags
+ * from type
+ */
+inline bool checkExact(uint32_t type, uint32_t value) {
+    return (value & type) == type;
+}
+
+typedef string (rr::ExecutableModel::*getNamePtr)(int);
+typedef int (rr::ExecutableModel::*getNumPtr)();
+
+// make this static here, hide our implementation...
+static void addIds(rr::ExecutableModel *model,
+        getNumPtr numFunc, getNamePtr nameFunc,
+        std::list<std::string>& ids)
+{
+    const int num = (model->*numFunc)();
+
+    for(int i = 0; i < num; i++)
+    {
+        const std::string& name  = (model->*nameFunc)(i);
+        ids.push_back(name);
+    }
+}
+
+using namespace std;
+namespace rr
+{
+
+CompiledExecutableModel::CompiledExecutableModel(const ModelSymbols& symbols, ModelSharedLibrary* dll) :
+mDummyInt(0),
+mDummyDouble(0),
+mDummyDoubleArray(new double[1]),
+mData(),
+ms(symbols),
+mIsInitialized(false),
+mConservedSumChanged(false),
+mDLL(dll)
+{
+    //Zero data structure..
+    initModelData(mData);
+    mDummyDoubleArray[0] = 1;
+
+    if(mDLL->isLoaded())
+    {
+        setupDLLFunctions();
+        setupModelData();
+    }
+    else
+    {
+        Log(Logger::LOG_ERROR)<<"The Model DLL is not loaded in CompiledExecutableModel ctor..";
+    }
+}
+
+CompiledExecutableModel::~CompiledExecutableModel()
+{
+    Log(lDebug3) << "in " << __FUNC__ << "\n";
+    // only free buffers, mData is stack allocated.
+    freeModelDataBuffers(mData);
+    delete [] mDummyDoubleArray;
+    if(mDLL)
+    {
+        mDLL->unload();
+    }
+    delete mDLL;
+
+    while (!modelStates.empty())
+    {
+        CompiledModelState *state = modelStates.top();
+        modelStates.pop();
+        delete state;
+    }
+}
+
+string CompiledExecutableModel::getModelName()
+{
+    return mData.modelName;
+}
+
+void CompiledExecutableModel::setTime(double _time)
+{
+    mData.time = _time;
+}
+
+double CompiledExecutableModel::getTime()
+{
+    return mData.time;
+}
+
+/////////////////// The following used to be in IModel
+int CompiledExecutableModel::getNumIndFloatingSpecies()
+{
+    return mData.numIndependentSpecies;
+}
+
+int CompiledExecutableModel::getNumDepFloatingSpecies()
+{
+    return mData.numDependentSpecies;
+}
+
+int CompiledExecutableModel::getNumFloatingSpecies()
+{
+    return mData.numFloatingSpecies;
+}
+
+int CompiledExecutableModel::getNumBoundarySpecies()
+{
+    return mData.numBoundarySpecies;
+}
+
+int CompiledExecutableModel::getNumGlobalParameters()
+{
+    return mData.numGlobalParameters;
+}
+
+int CompiledExecutableModel::getNumCompartments()
+{
+    return mData.numCompartments;
+}
+
+int CompiledExecutableModel::getNumReactions()
+{
+    return mData.numReactions;
+}
+
+int CompiledExecutableModel::getNumEvents()
+{
+    return mData.numEvents;
+}
+
+double CompiledExecutableModel::getAmount(const int i)
+{
+    return (mData.floatingSpeciesAmounts ) ? mData.floatingSpeciesAmounts[i] : -1;
+}
+
+int CompiledExecutableModel::getReactionIndex(const std::string& reactionName)
+{
+    int result = -1;
+    return ms.mReactionList.find(reactionName, result) ? result : -1;
+}
+
+std::string CompiledExecutableModel::getReactionId(int index)
+{
+    return ms.mReactionList[index].name;
+}
+
+int CompiledExecutableModel::getGlobalParameterIndex(const std::string& name)
+{
+    int result = -1;
+    return ms.mGlobalParameterList.find(name, result) ? result : -1;
+}
+
+string CompiledExecutableModel::getGlobalParameterId(int index)
+{
+    return ms.mGlobalParameterList[index].name;
+}
+
+int CompiledExecutableModel::getBoundarySpeciesIndex(const string& name)
+{
+    int result = -1;
+    return ms.mBoundarySpeciesList.find(name, result) ? result : -1;
+}
+
+string CompiledExecutableModel::getBoundarySpeciesId(int index)
+{
+    return ms.mBoundarySpeciesList[index].name;
+}
+
+int CompiledExecutableModel::getBoundarySpeciesCompartmentIndex(int index)
+{
+    // mModel->getCompartments().find(mModel->getBoundarySpecies()[record.index].compartmentName, nIndex))
+    string compartmentName = ms.mBoundarySpeciesList[index].compartmentName;
+    int compartmentIndex = -1;
+    return ms.mCompartmentList.find(compartmentName, compartmentIndex) ? compartmentIndex : -1;
+}
+
+int CompiledExecutableModel::getCompartmentIndex(const string& name)
+{
+    int result = -1;
+    return ms.mCompartmentList.find(name, result) ? result : -1;
+}
+
+string CompiledExecutableModel::getCompartmentId(int index)
+{
+    return ms.mCompartmentList[index].name;
+}
+
+int CompiledExecutableModel::getFloatingSpeciesIndex(const string& name)
+{
+    int result = -1;
+    return ms.mFloatingSpeciesConcentrationList.find(name, result) ? result : -1;
+}
+
+string CompiledExecutableModel::getFloatingSpeciesId(int index)
+{
+    return ms.mFloatingSpeciesConcentrationList[index].name;
+}
+
+int CompiledExecutableModel::pushState(unsigned options)
+{
+    CompiledModelState *state = new CompiledModelState(*this);
+    modelStates.push(state);
+    return modelStates.size();
+}
+
+int CompiledExecutableModel::popState(unsigned options)
+{
+    if (modelStates.size() > 0)
+    {
+        CompiledModelState *state = modelStates.top();
+        modelStates.pop();
+        if (!(options && PopDiscard))
+        {
+            state->AssignToModel(*this);
+        }
+        delete state;
+    }
+    return modelStates.size();
+}
+
+void CompiledExecutableModel::evalInitialConditions()
+{
+    setCompartmentVolumes();
+    initializeInitialConditions();
+    setParameterValues();
+    setCompartmentVolumes();
+    setBoundaryConditions();
+    setInitialConditions();
+    convertToAmounts();
+    evalInitialAssignments();
+
+    computeRules();
+    convertToAmounts();
+
+    if (ms.mComputeAndAssignConsevationLaws)
+    {
+        computeConservedTotals();
+    }
+}
+
+bool CompiledExecutableModel::getConservedSumChanged()
+{
+    return mConservedSumChanged;
+}
+
+void CompiledExecutableModel::setConservedSumChanged(bool val)
+{
+    mConservedSumChanged = val;
+}
+
+int CompiledExecutableModel::getStateVector(double* stateVector)
+{
+    if (stateVector == 0)
+    {
+        return mData.numRateRules + mData.numIndependentSpecies;
+    }
+
+    vector<double> dTemp(mData.numRateRules, 0);
+    getRateRuleValues(&dTemp[0]);
+
+    for (int i = 0; i < mData.numRateRules; i++)
+    {
+        stateVector[i] = dTemp[i];
+    }
+
+    for (int i = 0; i < mData.numIndependentSpecies; i++)
+    {
+        stateVector[i + mData.numRateRules] = getAmount(i);
+    }
+
+    return mData.numRateRules + mData.numIndependentSpecies;
+}
+
+int CompiledExecutableModel::setStateVector(const double* stateVector)
+{
+    const double *floatingSpeciesAmounts = stateVector + mData.numRateRules;
+
+    updateDependentSpeciesValues();
+
+    for (int i = 0; i < mData.numIndependentSpecies; i++)
+    {
+        mData.floatingSpeciesAmounts[i] = floatingSpeciesAmounts[i];
+    }
+
+    computeRules();
+
+    setRateRuleValues(stateVector);
+
+    computeAllRatesOfChange();
+
+    return mData.numRateRules + mData.numRateRules;
+}
+
+bool CompiledExecutableModel::setupDLLFunctions()
+{
+    //Exported functions in the dll need to be assigned to a function pointer here..
+    if(!mDLL->isLoaded())
+    {
+        Log(Logger::LOG_ERROR)<<"DLL handle not valid in SetupModel function";
+        return false;
+    }
+
+    //Load functions..
+    cInitModel                          = (c_int_MDS)                      mDLL->getSymbol("InitModel");
+    cInitModelData                      = (c_int_MDS)                      mDLL->getSymbol("InitModelData");
+    cinitializeInitialConditions        = (c_void_MDS)                     mDLL->getSymbol("initializeInitialConditions");
+    csetParameterValues                 = (c_void_MDS)                     mDLL->getSymbol("setParameterValues");
+    csetCompartmentVolumes              = (c_void_MDS)                     mDLL->getSymbol("setCompartmentVolumes");
+    cgetNumLocalParameters              = (c_int_MDS_int)                  mDLL->getSymbol("getNumLocalParameters");
+    csetBoundaryConditions              = (c_void_MDS)                     mDLL->getSymbol("setBoundaryConditions");
+    csetInitialConditions               = (c_void_MDS)                     mDLL->getSymbol("setInitialConditions");
+    cevalInitialAssignments             = (c_void_MDS)                     mDLL->getSymbol("evalInitialAssignments");
+    ccomputeRules                       = (c_void_MDS)                     mDLL->getSymbol("computeRules");
+    cconvertToAmounts                   = (c_void_MDS)                     mDLL->getSymbol("convertToAmounts");
+    ccomputeConservedTotals             = (c_void_MDS)                     mDLL->getSymbol("computeConservedTotals");
+    cgetConcentration                   = (c_double_MDS_int)               mDLL->getSymbol("getConcentration");
+    cGetCurrentValues                   = (c_doubleStar_MDS)               mDLL->getSymbol("GetCurrentValues");
+    cevalModel                          = (c_void_MDS_double_doubleStar)   mDLL->getSymbol("__evalModel");
+    cconvertToConcentrations            = (c_void_MDS)                     mDLL->getSymbol("convertToConcentrations");
+    cevalEvents                         = (c_void_MDS_double_doubleStar)   mDLL->getSymbol("evalEvents");
+    cupdateDependentSpeciesValues       = (c_void_MDS)                     mDLL->getSymbol("updateDependentSpeciesValues");
+    ccomputeAllRatesOfChange            = (c_void_MDS)                     mDLL->getSymbol("computeAllRatesOfChange");
+    cAssignRates_a                      = (c_void_MDS)                     mDLL->getSymbol("AssignRatesA");
+    cAssignRates_b                      = (c_void_MDS_doubleStar)          mDLL->getSymbol("AssignRatesB");
+    ctestConstraints                    = (c_void_MDS)                     mDLL->getSymbol("testConstraints");
+    cresetEvents                        = (c_void_MDS)                     mDLL->getSymbol("resetEvents");
+    cInitializeRateRuleSymbols          = (c_void_MDS)                     mDLL->getSymbol("InitializeRateRuleSymbols");
+    cInitializeRates                    = (c_void_MDS)                     mDLL->getSymbol("InitializeRates");
+    csetConcentration                   = (c_void_MDS_int_double)          mDLL->getSymbol("setConcentration");
+    cComputeReactionRates               = (c_void_MDS)                     mDLL->getSymbol("computeReactionRates");
+    ccomputeEventPriorities             = (c_void_MDS)                     mDLL->getSymbol("computeEventPriorities");
+    return true;
+}
+
+bool CompiledExecutableModel::setupModelData()
+{
+    // zero out the structure
+    initModelData(mData);
+
+    // set the buffer sizes
+    mData.numIndependentSpecies         = ms.mNumIndependentSpecies;
+    mData.numDependentSpecies           = ms.mNumDependentSpecies;
+    mData.numGlobalParameters           = ms.mGlobalParameterList.size();
+    mData.numReactions                  = ms.mReactionList.size();
+    mData.numEvents                     = ms.mNumEvents;
+    mData.numFloatingSpecies            = ms.mFloatingSpeciesConcentrationList.size();
+    mData.numRateRules                  = ms.mRateRules.size();
+    mData.numCompartments               = ms.mCompartmentList.size();
+    mData.numBoundarySpecies            = ms.mNumBoundarySpecies;
+    mData.srSize                        = ms.mNumModifiableSpeciesReferences;
+    mData.eventPrioritiesSize           = ms.mNumEvents;
+    mData.eventStatusArraySize          = ms.mNumEvents;
+    mData.previousEventStatusArraySize  = ms.mNumEvents;
+    mData.eventPersistentTypeSize       = ms.mNumEvents;
+    mData.eventTestsSize                = ms.mNumEvents;
+    mData.eventTypeSize                 = ms.mNumEvents;
+
+    // allocate the data buffers
+    string test = ms.mModelName;
+    allocModelDataBuffers(mData, test);
+
+    if(cInitModel)
+    {
+        cInitModel(&mData);
+    }
+    return true;
+}
+
+void CompiledExecutableModel::setCompartmentVolumes()
+{
+    if(!csetCompartmentVolumes)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+
+    csetCompartmentVolumes(&mData);
+}
+
+void  CompiledExecutableModel::setConcentration(int index, double value)
+{
+    if(!csetConcentration)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+
+    csetConcentration(&mData, index, value);
+}
+
+void  CompiledExecutableModel::evalReactionRates ()
+{
+    if(!cComputeReactionRates)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+
+    cComputeReactionRates(&mData);
+}
+
+void CompiledExecutableModel::getRateRuleValues(double *rateRuleValues)
+{
+    vector<double> vals;
+    if(!cGetCurrentValues)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+    }
+
+    // in CModelGenerator::writeComputeRules, in effect, the following
+    // line is writen in the generated code:
+    // dResult = (double*) calloc( numAdditionalRates() sizeof(double))
+    double* values = cGetCurrentValues(&mData);
+
+    int count = ms.mRateRules.size();
+    if(values)
+    {
+        for(int i = 0; i < count; i++)
+        {
+            rateRuleValues[i] = values[i];
+        }
+    }
+
+    // allocated in C, free'd here
+    // for now, we'll just leak in Windows.
+#if defined (__unix__) || defined(__APPLE__)
+    free(values);
+#endif
+
+}
+
+double CompiledExecutableModel::getFloatingSpeciesConcentration(int index)
+{
+    if(!cgetConcentration)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return 0;
+    }
+
+    return cgetConcentration(&mData, index);
+}
+
+int CompiledExecutableModel::getNumLocalParameters(int reactionId)
+{
+    if(!cgetNumLocalParameters)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return 0;
+    }
+
+    return cgetNumLocalParameters(&mData, reactionId);
+}
+
+void CompiledExecutableModel::initializeInitialConditions()
+{
+    if(!cinitializeInitialConditions)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+    cinitializeInitialConditions(&mData);
+}
+
+//void CompiledExecutableModel::setInitialConditions(){}
+void CompiledExecutableModel::setParameterValues()
+{
+    if(!csetParameterValues)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+    csetParameterValues(&mData);
+}
+
+void CompiledExecutableModel::setBoundaryConditions()
+{
+    if(!csetBoundaryConditions)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+    csetBoundaryConditions(&mData);
+}
+
+void CompiledExecutableModel::initializeRates()
+{
+    if(!cInitializeRates)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+    cInitializeRates(&mData);
+}
+
+
+void CompiledExecutableModel::setRateRuleValues(const double *_rates)
+{
+    if(!cAssignRates_b)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+    cAssignRates_b(&mData, _rates);
+}
+
+void CompiledExecutableModel::computeConservedTotals()
+{
+    if(!ccomputeConservedTotals)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+    ccomputeConservedTotals(&mData);
+}
+
+void CompiledExecutableModel::computeEventPriorites()
+{
+    if(!ccomputeEventPriorities)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+    ccomputeEventPriorities(&mData);
+}
+
+void CompiledExecutableModel::convertToAmounts()
+{
+    if(!cconvertToAmounts)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+    cconvertToAmounts(&mData);
+}
+
+void CompiledExecutableModel::convertToConcentrations()
+{
+    if(!cconvertToConcentrations)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+    cconvertToConcentrations(&mData);
+}
+
+void CompiledExecutableModel::updateDependentSpeciesValues()
+{
+    if(!cupdateDependentSpeciesValues)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+
+    cupdateDependentSpeciesValues(&mData);
+}
+
+
+void CompiledExecutableModel::computeRules()
+{
+    if(!ccomputeRules)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+
+    ccomputeRules(&mData);
+}
+
+void CompiledExecutableModel::setInitialConditions()
+{
+    if(!csetInitialConditions)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+
+    csetInitialConditions(&mData);
+}
+
+void CompiledExecutableModel::computeAllRatesOfChange()
+{
+    if(!ccomputeAllRatesOfChange)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+    ccomputeAllRatesOfChange(&mData);
+}
+
+void CompiledExecutableModel::getStateVectorRate(double timein, const double *y, double *dydt)
+{
+    if(!cevalModel)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+
+    if (y == 0)
+    {
+        // use current state
+        vector<double> currentState(getStateVector(0), 0.0);
+        getStateVector(&currentState[0]);
+        cevalModel(&mData, timein, &currentState[0]);
+    }
+    else
+    {
+        // use the given state
+        cevalModel(&mData, timein, y);
+    }
+
+    if (dydt)
+    {
+        memcpy(dydt, mData.rateRuleRates, mData.numRateRules * sizeof(double));
+
+        memcpy(&dydt[mData.numRateRules], mData.floatingSpeciesAmountRates,
+                mData.numIndependentSpecies * sizeof(double));
+    }
+}
+
+void CompiledExecutableModel::evalEvents(const double timeIn, const double*y)
+{
+    if(!cevalEvents)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+
+    if (y == 0)
+    {
+        // use current state
+        vector<double> currentState(getStateVector(0), 0.0);
+        getStateVector(&currentState[0]);
+        cevalEvents(&mData, timeIn, &currentState[0]);
+    }
+    else
+    {
+        cevalEvents(&mData, timeIn, y);
+    }
+}
+
+void CompiledExecutableModel::resetEvents()
+{
+    if(!cresetEvents)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+
+    cresetEvents(&mData);
+}
+
+void CompiledExecutableModel::evalInitialAssignments()
+{
+    if(!cevalInitialAssignments)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+
+    cevalInitialAssignments(&mData);
+}
+
+void CompiledExecutableModel::testConstraints()
+{
+    if(!ctestConstraints)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        throw(Exception("Problem in testConstraints"));
+    }
+
+    ctestConstraints(&mData);
+}
+
+void CompiledExecutableModel::initializeRateRuleSymbols()
+{
+    if(!cInitializeRateRuleSymbols)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to call NULL function in "<<__FUNCTION__;
+        return;
+    }
+
+    cInitializeRateRuleSymbols(&mData);
+}
+
+string CompiledExecutableModel::getInfo()
+{
+    stringstream info;
+    info << "CompiledExecutableModel" << endl;
+    info << "ModelName: "             <<  getModelName()<<endl;
+    info << "Model DLL Loaded: "      << (mDLL->isLoaded() ? "true" : "false")    <<endl;
+    info << "Initialized: "           << (mIsInitialized ? "true" : "false")    <<endl;
+    return info.str();
+}
+
+void CompiledExecutableModel::reset(int options)
+{
+    reset();
+}
+
+
+void CompiledExecutableModel::reset()
+{
+    setTime(0.0);
+
+    // Reset the event flags
+    resetEvents();
+    setCompartmentVolumes();
+    setInitialConditions();
+    convertToAmounts();
+
+    // in case we have ODE rules we should assign those as initial values
+    initializeRateRuleSymbols();
+    initializeRates();
+
+    // and of course initial assignments should override anything
+    evalInitialAssignments();
+    convertToAmounts();
+
+    // also we might need to set some initial assignment rules.
+    convertToConcentrations();
+    computeRules();
+    initializeRates();
+    initializeRateRuleSymbols();
+    evalInitialAssignments();
+    computeRules();
+
+    convertToAmounts();
+
+    mAssignments.clear();
+}
+
+void CompiledExecutableModel::print(std::ostream &stream)
+{
+    stream << "CompiledExecutableModel" << endl;
+    stream << mData;
+}
+
+int CompiledExecutableModel::getNumRateRules()
+{
+    return ms.mNumRules;
+}
+
+int CompiledExecutableModel::getFloatingSpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        values[i] = mData.floatingSpeciesAmounts[j];
+    }
+    return len;
+}
+
+int CompiledExecutableModel::getFloatingSpeciesConcentrations(int len,
+        const int* indx, double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        values[i] = mData.floatingSpeciesConcentrations[j];
+    }
+    return len;
+}
+
+int CompiledExecutableModel::setFloatingSpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        setConcentration(j, values[i]);
+    }
+    convertToAmounts();
+    return len;
+}
+
+int CompiledExecutableModel::getBoundarySpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        int nIndex;
+        if ((nIndex = getBoundarySpeciesCompartmentIndex(j)) >= 0)
+        {
+            values[i] = mData.boundarySpeciesConcentrations[j] *
+                    mData.compartmentVolumes[nIndex];
+        }
+    }
+    return len;
+}
+
+int CompiledExecutableModel::getBoundarySpeciesConcentrations(int len,
+        const int* indx, double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        if (j < mData.numBoundarySpecies)
+        {
+            values[i] = mData.boundarySpeciesConcentrations[j];
+        }
+        else
+        {
+            throw Exception("index out of range");
+        }
+    }
+    return len;
+}
+
+int CompiledExecutableModel::setBoundarySpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        if (j < mData.numBoundarySpecies)
+        {
+            mData.boundarySpeciesConcentrations[j] = values[i];
+        }
+        else
+        {
+            throw Exception("index out of range");
+        }
+    }
+    return len;
+}
+
+int CompiledExecutableModel::getGlobalParameterValues(int len, const int* indx,
+        double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        if (j < mData.numGlobalParameters)
+        {
+            values[i] = mData.globalParameters[j];
+        }
+        else
+        {
+            throw Exception("index out of range");
+        }
+    }
+    return len;
+}
+
+int CompiledExecutableModel::setGlobalParameterValues(int len, const int* indx,
+        const double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        if (j < mData.numGlobalParameters)
+        {
+            mData.globalParameters[j] = values[i];
+        }
+        else
+        {
+            throw Exception("index out of range");
+        }
+    }
+    return len;
+}
+
+int CompiledExecutableModel::getCompartmentVolumes(int len, const int* indx,
+        double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        if (j < mData.numCompartments)
+        {
+            values[i] = mData.compartmentVolumes[j];
+        }
+        else
+        {
+            throw Exception("index out of range");
+        }
+    }
+    return len;
+}
+
+int CompiledExecutableModel::getEventDelays(int len, const int* indx,
+        double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        if (j < mData.numEvents)
+        {
+            values[i] = mData.eventDelays[j](&mData);
+        }
+        else
+        {
+            throw Exception("index out of range");
+        }
+    }
+    return len;
+}
+
+int CompiledExecutableModel::getEventPriorities(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+void CompiledExecutableModel::eventAssignment(int eventId)
+{
+    if (eventId < mData.numEvents)
+    {
+        mData.eventAssignments[eventId]();
+    }
+    else
+    {
+        throw Exception("index out of range");
+    }
+}
+
+double* CompiledExecutableModel::evalEventAssignment(int eventId)
+{
+    return 0;
+}
+
+void CompiledExecutableModel::applyEventAssignment(int eventId, double* values)
+{
+}
+
+int CompiledExecutableModel::getEventTriggers(int len, const int *indx,
+        unsigned char *values)
+{
+    if (len <= 0)
+    {
+        return mData.numEvents;
+    }
+    else
+    {
+        if (mData.time > 0)
+        {
+            evalEvents(mData.time, 0);
+        }
+
+        for (int i = 0; i < len; ++i)
+        {
+            int j = indx ? indx[i] : i;
+            if (j < mData.numEvents)
+            {
+                values[i] = mData.eventStatusArray[j];
+            }
+            else
+            {
+                throw Exception("index out of range");
+            }
+        }
+        return len;
+    }
+}
+
+
+vector<int> CompiledExecutableModel::retestEvents(const double& timeEnd, const vector<int>& handledEvents, vector<int>& removeEvents)
+{
+    return retestEvents(timeEnd, handledEvents, false, removeEvents);
+}
+
+vector<int> CompiledExecutableModel::retestEvents(const double& timeEnd, vector<int>& handledEvents, const bool& assignOldState)
+{
+    vector<int> removeEvents;
+    return retestEvents(timeEnd, handledEvents, assignOldState, removeEvents);
+}
+
+vector<int> CompiledExecutableModel::retestEvents(const double& timeEnd, const vector<int>& handledEvents,
+        const bool& assignOldState, vector<int>& removeEvents)
+{
+    vector<int> result;
+//    vector<int> removeEvents;// = new vector<int>();    //Todo: this code was like this originally.. which removeEvents to use???
+
+    if (this->getConservedSumChanged())
+    {
+        this->computeConservedTotals();
+    }
+
+    this->convertToAmounts();
+    this->getStateVectorRate(timeEnd, 0, 0);
+
+    // copy original evenStatusArray
+    vector<bool> eventStatusArray(mData.eventStatusArray,
+            mData.eventStatusArray +
+            mData.numEvents);
+
+    this->pushState();
+
+    this->evalEvents(timeEnd, 0);
+
+    for (int i = 0; i < this->getNumEvents(); i++)
+    {
+        bool containsI = (std::find(handledEvents.begin(), handledEvents.end(), i) != handledEvents.end()) ? true : false;
+        if (mData.eventStatusArray[i] == true && eventStatusArray[i] == false && !containsI)
+        {
+
+            result.push_back(i);
+        }
+
+        if (mData.eventStatusArray[i] == false && eventStatusArray[i] == true && !mData.eventPersistentType[i])
+        {
+            removeEvents.push_back(i);
+        }
+    }
+
+    this->popState(assignOldState ? 0 : PopDiscard);
+
+    return result;
+}
+
+int CompiledExecutableModel::applyPendingEvents(double timeEnd)
+{
+    int handled = 0;
+    for (int i = (int) mAssignments.size() - 1; i >= 0; i--)
+    {
+        if (timeEnd >= mAssignments[i].getTime())
+        {
+            this->setTime(timeEnd);
+            this->convertToConcentrations();
+            this->updateDependentSpeciesValues();
+            mAssignments[i].eval();
+
+            if (this->getConservedSumChanged())
+            {
+                this->computeConservedTotals();
+            }
+
+            this->convertToAmounts();
+            this->getStateVectorRate(timeEnd, 0, 0);
+            mAssignments.erase(mAssignments.begin() + i);
+
+            handled++;
+        }
+    }
+    return handled;
+}
+
+int CompiledExecutableModel::applyEvents(double timeEnd,
+        const unsigned char* previousEventStatus, const double *initialState,
+        double* finalState)
+{
+    this->setStateVector(initialState);
+    this->convertToConcentrations();
+    this->updateDependentSpeciesValues();
+    this->evalEvents(timeEnd, 0);
+
+    vector<int> firedEvents;
+    map<int, double* > preComputedAssignments;
+
+
+    for (int i = 0; i < this->getNumEvents(); i++)
+    {
+        // We only fire an event if we transition from false to true
+        if (mData.eventStatusArray[i] && !previousEventStatus[i])
+        {
+            firedEvents.push_back(i);
+            if (mData.eventType[i])
+            {
+                preComputedAssignments[i] = mData.computeEventAssignments[i](&(mData));
+            }
+        }
+
+        else
+        {
+            // if the trigger condition is not supposed to be persistent,
+            // remove the event from the firedEvents list;
+            if (!mData.eventPersistentType[i])
+            {
+                removePendingAssignmentForIndex(i);
+            }
+        }
+    }
+
+    int numEvents = firedEvents.size();
+
+    vector<int> handled;
+    while (firedEvents.size() > 0)
+    {
+        sortEventsByPriority(firedEvents);
+        // Call event assignment if the eventstatus flag for the particular event is false
+        for (u_int i = 0; i < firedEvents.size(); i++)
+        {
+            int currentEvent = firedEvents[i];
+            double eventDelay = 0;
+            this->getEventDelays(1, &currentEvent, &eventDelay);
+
+            if (eventDelay == 0)
+            {
+                if (mData.eventType[currentEvent] && preComputedAssignments.count(currentEvent) > 0)
+                {
+                    mData.performEventAssignments[currentEvent](&(mData), preComputedAssignments[currentEvent]);
+                }
+                else
+                {
+                    this->eventAssignment(currentEvent);
+                }
+
+                handled.push_back(currentEvent);
+                vector<int> removeEvents;
+                vector<int> additionalEvents = retestEvents(timeEnd, handled, removeEvents);
+
+
+                // buggy MSVC stdlib has issues with copy, so have to insert
+                // std::copy (additionalEvents.begin(), additionalEvents.end(), firedEvents.end());
+                firedEvents.insert(firedEvents.end(), additionalEvents.begin(), additionalEvents.end());
+
+                for (int j = 0; j < additionalEvents.size(); j++)
+                {
+                    int newEvent = additionalEvents[j];
+                    if (mData.eventType[newEvent])
+                    {
+                        preComputedAssignments[newEvent] = mData.computeEventAssignments[newEvent](&(mData));
+                    }
+                }
+
+                mData.eventStatusArray[currentEvent] = false;
+                Log(lDebug3)<<"Fired Event with ID:"<<currentEvent;
+                firedEvents.erase(firedEvents.begin() + i);
+
+                for (int i = 0; i < removeEvents.size(); i++)
+                {
+                    int item = removeEvents[i];
+                    if (find(firedEvents.begin(), firedEvents.end(), item) != firedEvents.end())
+                    {
+                        firedEvents.erase(find(firedEvents.begin(), firedEvents.end(), item));
+                        removePendingAssignmentForIndex(item);
+                    }
+                }
+
+                break;
+            }
+            else
+            {
+                if (find(mAssignmentTimes.begin(), mAssignmentTimes.end(), timeEnd + eventDelay) == mAssignmentTimes.end())
+                {
+                    mAssignmentTimes.push_back(timeEnd + eventDelay);
+                }
+
+                double *preComputedValues =
+                    (mData.eventType[currentEvent] &&
+                        preComputedAssignments.count(currentEvent) == 1) ?
+                            preComputedAssignments[currentEvent] : 0;
+
+                PendingAssignment pending( &(mData),
+                        timeEnd + eventDelay,
+                        mData.computeEventAssignments[currentEvent],
+                        mData.performEventAssignments[currentEvent],
+                        mData.eventType[currentEvent],
+                        currentEvent,
+                        preComputedValues);
+
+                mAssignments.push_back(pending);
+
+                mData.eventStatusArray[currentEvent] = false;
+                firedEvents.erase(firedEvents.begin() + i);
+                break;
+            }
+        }
+    }
+
+    if (this->getConservedSumChanged())
+    {
+        this->computeConservedTotals();
+    }
+    this->convertToAmounts();
+
+    this->getStateVectorRate(timeEnd, 0, 0);
+
+    this->getStateVector(finalState);
+
+    sort(mAssignmentTimes.begin(), mAssignmentTimes.end());
+
+    return numEvents;
+}
+
+void CompiledExecutableModel::removePendingAssignmentForIndex(int eventIndex)
+{
+    for (int j = (int) mAssignments.size() - 1; j >= 0; j--)
+    {
+        if (mAssignments[j].getIndex() == eventIndex)
+        {
+            mAssignments.erase(mAssignments.begin() + j);
+        }
+    }
+}
+
+void CompiledExecutableModel::sortEventsByPriority(vector<rr::Event>& firedEvents)
+{
+    if ((firedEvents.size() > 1))
+    {
+        Log(lDebug3)<<"Sorting event priorities";
+        for(int i = 0; i < firedEvents.size(); i++)
+        {
+            firedEvents[i].SetPriority(mData.eventPriorities[firedEvents[i].GetID()]);
+            Log(lDebug3)<<firedEvents[i];
+        }
+        sort(firedEvents.begin(), firedEvents.end(), SortByPriority());
+
+        Log(lDebug3)<<"After sorting event priorities";
+        for(int i = 0; i < firedEvents.size(); i++)
+        {
+            Log(lDebug3)<<firedEvents[i];
+        }
+    }
+}
+
+void CompiledExecutableModel::sortEventsByPriority(vector<int>& firedEvents)
+{
+    if (firedEvents.size() > 1)
+    {
+        this->computeEventPriorites();
+        vector<rr::Event> dummy;
+        for(int i = 0; i < firedEvents.size(); i++)
+        {
+            Event event(firedEvents[i]);
+            dummy.push_back(event);
+        }
+
+        Log(lDebug3)<<"Sorting event priorities";
+        for(int i = 0; i < firedEvents.size(); i++)
+        {
+            Event &event = dummy[i];
+            event.SetPriority(mData.eventPriorities[event.GetID()]);
+            Log(lDebug3) << event;
+        }
+        sort(dummy.begin(), dummy.end(), SortByPriority());
+
+        for(int i = 0; i < firedEvents.size(); i++)
+        {
+            firedEvents[i] = dummy[i].GetID();
+        }
+
+        Log(lDebug3)<<"After sorting event priorities";
+        for(int i = 0; i < firedEvents.size(); i++)
+        {
+            Log(lDebug3)<<firedEvents[i];
+        }
+    }
+}
+
+void CompiledExecutableModel::getEventRoots(double time,
+        const double *stateVector, double* gdot)
+{
+
+    this->pushState();
+
+    this->getStateVectorRate(time, 0, 0);
+    this->setStateVector(stateVector);
+
+    this->evalEvents(time, 0);
+
+    for(int i = 0; i < this->getNumEvents(); i++)
+    {
+        gdot[i] = mData.eventStatusArray[i] ? 1.0 : -1.0;
+    }
+
+    this->popState();
+}
+
+double CompiledExecutableModel::getNextPendingEventTime(bool pop)
+{
+    double result = mAssignmentTimes[0];
+    if (pop)
+    {
+        mAssignmentTimes.erase(mAssignmentTimes.begin());
+    }
+    return result;
+}
+
+int CompiledExecutableModel::getPendingEventSize()
+{
+    return mAssignmentTimes.size();
+}
+
+int CompiledExecutableModel::getReactionRates(int len, const int* indx,
+        double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        if (j < mData.numReactions)
+        {
+            values[i] = mData.reactionRates[j];
+        }
+        else
+        {
+            throw Exception("index out of range");
+        }
+    }
+    return len;
+}
+
+int CompiledExecutableModel::getNumConservedMoieties()
+{
+    return ms.mConservationList.size();
+}
+
+int CompiledExecutableModel::getConservedMoietyIndex(const string& name)
+{
+    int result = -1;
+    return ms.mConservationList.find(name, result) ? result : -1;
+}
+
+string CompiledExecutableModel::getConservedMoietyId(int index)
+{
+    return ms.mConservationList[index].name;
+}
+
+int CompiledExecutableModel::getConservedMoietyValues(int len, const int* indx,
+        double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        if (j < mData.numDependentSpecies)
+        {
+            values[i] = mData.dependentSpeciesConservedSums[j];
+        }
+        else
+        {
+            throw Exception("index out of range");
+        }
+    }
+    return len;
+}
+
+int CompiledExecutableModel::setConservedMoietyValues(int len, const int* indx,
+        const double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        if (j < mData.numDependentSpecies)
+        {
+            mData.dependentSpeciesConservedSums[j] = values[i];
+        }
+        else
+        {
+            throw Exception("index out of range");
+        }
+    }
+    return len;
+}
+
+int CompiledExecutableModel::getFloatingSpeciesAmountRates(int len,
+        int const *indx, double *values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        if (j < mData.numFloatingSpecies)
+        {
+            values[i] = mData.floatingSpeciesAmountRates[j];
+        }
+        else
+        {
+            throw Exception("index out of range");
+        }
+    }
+    return len;
+}
+
+int CompiledExecutableModel::setFloatingSpeciesAmounts(int len, int const *indx,
+        const double *values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        mData.floatingSpeciesAmounts[j] = values[i];
+    }
+    return len;
+}
+
+
+int CompiledExecutableModel::setCompartmentVolumes(int len, const int* indx,
+        const double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        mData.compartmentVolumes[j] = values[i];
+    }
+    return len;
+}
+
+int CompiledExecutableModel::setFloatingSpeciesInitConcentrations(int len,
+        const int* indx, const double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        mData.floatingSpeciesInitConcentrations[j] = values[i];
+    }
+    return len;
+}
+
+int CompiledExecutableModel::getFloatingSpeciesInitConcentrations(int len,
+        const int* indx, double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        values[i] = mData.floatingSpeciesInitConcentrations[j];
+    }
+    return len;
+}
+
+double CompiledExecutableModel::getStoichiometry(int speciesIndex, int reactionIndex)
+{
+    if (speciesIndex >= 0 && speciesIndex < stoichiometryMatrix.numRows()
+            && reactionIndex >= 0 && reactionIndex < stoichiometryMatrix.numCols())
+    {
+        return stoichiometryMatrix(speciesIndex, reactionIndex);
+    }
+    else
+    {
+        return std::numeric_limits<double>::quiet_NaN();
+    }
+
+}
+
+
+int CompiledExecutableModel::getStoichiometryMatrix(int* p_rows, int* p_cols, double** p_data)
+{
+    int rows = stoichiometryMatrix.numRows();
+    int cols = stoichiometryMatrix.numCols();
+    double *data = (double*)malloc(sizeof(double)*rows*cols);
+    memcpy(data, stoichiometryMatrix.getArray(), sizeof(double)*rows*cols);
+
+    *p_rows = rows;
+    *p_cols = cols;
+    *p_data = data;
+
+    return rows*cols;
+}
+
+
+int CompiledExecutableModel::setFloatingSpeciesInitAmounts(int len, int const *indx,
+            double const *values)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+int CompiledExecutableModel::getFloatingSpeciesInitAmounts(int len, int const *indx,
+                double *values)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+int CompiledExecutableModel::setCompartmentInitVolumes(int len, int const *indx,
+            double const *values)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+int CompiledExecutableModel::getCompartmentInitVolumes(int len, int const *indx,
+                double *values)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+void CompiledExecutableModel::getIds(int types, std::list<std::string> &ids)
+{
+    if (checkExact(SelectionRecord::FLOATING_AMOUNT, types)) {
+        addIds(this, &rr::ExecutableModel::getNumFloatingSpecies,
+                &rr::ExecutableModel::getFloatingSpeciesId, ids);
+    }
+
+    if (checkExact(SelectionRecord::BOUNDARY_AMOUNT, types)) {
+        addIds(this, &rr::ExecutableModel::getNumBoundarySpecies,
+                &rr::ExecutableModel::getBoundarySpeciesId, ids);
+    }
+
+    if (checkExact(SelectionRecord::COMPARTMENT, types)) {
+        addIds(this, &rr::ExecutableModel::getNumCompartments,
+                &rr::ExecutableModel::getCompartmentId, ids);
+    }
+
+    if (checkExact(SelectionRecord::GLOBAL_PARAMETER, types)) {
+        addIds(this, &rr::ExecutableModel::getNumGlobalParameters,
+                &rr::ExecutableModel::getGlobalParameterId, ids);
+    }
+
+    if (checkExact(SelectionRecord::REACTION_RATE, types)) {
+        addIds(this, &rr::ExecutableModel::getNumReactions,
+                &rr::ExecutableModel::getReactionId, ids);
+    }
+
+    if (checkExact(SelectionRecord::INITIAL_FLOATING_CONCENTRATION, types)) {
+        for (int i = 0; i < getNumFloatingSpecies(); ++i) {
+            ids.push_back("init([" + this->getFloatingSpeciesId(i) + "])");
+        }
+    }
+
+    if (checkExact(SelectionRecord::FLOATING_AMOUNT_RATE, types)) {
+        for (int i = 0; i < getNumFloatingSpecies(); ++i) {
+            ids.push_back(this->getFloatingSpeciesId(i) + "'");
+        }
+    }
+}
+
+int CompiledExecutableModel::getSupportedIdTypes()
+{
+    return SelectionRecord::TIME |
+        SelectionRecord::BOUNDARY_CONCENTRATION |
+        SelectionRecord::FLOATING_CONCENTRATION |
+        SelectionRecord::REACTION_RATE |
+        SelectionRecord::FLOATING_AMOUNT_RATE |
+        SelectionRecord::COMPARTMENT |
+        SelectionRecord::GLOBAL_PARAMETER |
+        SelectionRecord::FLOATING_AMOUNT |
+        SelectionRecord::BOUNDARY_AMOUNT |
+        SelectionRecord::INITIAL_FLOATING_CONCENTRATION |
+        SelectionRecord::CONSREVED_MOIETY;
+}
+
+
+double CompiledExecutableModel::getValue(const std::string& id)
+{
+    SelectionRecord sel(id);
+
+    int index = -1;
+    double result = 0;
+
+    if (sel.selectionType == SelectionRecord::UNKNOWN)
+    {
+        throw Exception("invalid selection string " + id);
+    }
+
+    // check to see that we have valid selection ids
+    switch(sel.selectionType)
+    {
+    case SelectionRecord::TIME:
+        result = getTime();
+        break;
+    case SelectionRecord::UNKNOWN_ELEMENT:
+        // check for sbml element types
+
+        if ((index = getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            getFloatingSpeciesAmounts(1, &index, &result);
+            break;
+        }
+        else if ((index = getBoundarySpeciesIndex(sel.p1)) >= 0)
+        {
+            getBoundarySpeciesAmounts(1, &index, &result);
+            break;
+        }
+        else if ((index = getCompartmentIndex(sel.p1)) >= 0)
+        {
+            getCompartmentVolumes(1, &index, &result);
+            break;
+        }
+        else if ((index = getGlobalParameterIndex(sel.p1)) >= 0)
+        {
+            getGlobalParameterValues(1, &index, &result);
+            break;
+        }
+        else if ((index = getReactionIndex(sel.p1)) >= 0)
+        {
+            getReactionRates(1, &index, &result);
+            break;
+        }
+        else
+        {
+            throw Exception("No sbml element exists for symbol '" + id + "'");
+            break;
+        }
+    case SelectionRecord::UNKNOWN_CONCENTRATION:
+        if ((index = getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            getFloatingSpeciesConcentrations(1, &index, &result);
+            break;
+        }
+        else if ((index = getBoundarySpeciesIndex(sel.p1)) >= 0)
+        {
+            getBoundarySpeciesConcentrations(1, &index, &result);
+            break;
+        }
+        else
+        {
+            string msg = "No sbml element exists for concentration selection '" + id + "'";
+            Log(Logger::LOG_ERROR) << msg;
+            throw Exception(msg);
+            break;
+        }
+    case SelectionRecord::FLOATING_AMOUNT_RATE:
+        if ((index = getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            getFloatingSpeciesAmountRates(1, &index, &result);
+            break;
+        }
+        else
+        {
+            throw Exception("Invalid id '" + id + "' for floating amount rate");
+            break;
+        }
+
+    case SelectionRecord::INITIAL_FLOATING_AMOUNT:
+        if ((index = getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            getFloatingSpeciesInitAmounts(1, &index, &result);
+            break;
+        }
+        else if ((index = getCompartmentIndex(sel.p1)) >= 0)
+        {
+            getCompartmentInitVolumes(1, &index, &result);
+            break;
+        }
+        else
+        {
+            throw Exception("Invalid id '" + id + "' for floating amount rate");
+            break;
+        }
+    case SelectionRecord::INITIAL_FLOATING_CONCENTRATION:
+        if ((index = getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            getFloatingSpeciesInitConcentrations(1, &index, &result);
+            break;
+        }
+        else
+        {
+            throw Exception("Invalid id '" + id + "' for floating species");
+            break;
+        }
+
+
+    default:
+        Log(Logger::LOG_ERROR) << "A new SelectionRecord should not have this value: "
+        << sel.to_repr();
+        throw Exception("Invalid selection '" + id + "' for setting value");
+        break;
+    }
+
+    return result;
+}
+
+void CompiledExecutableModel::setValue(const std::string& id, double value)
+{
+    ExecutableModel* p = this;
+
+    SelectionRecord sel(id);
+
+    int index = -1;
+
+    if (sel.selectionType == SelectionRecord::UNKNOWN)
+    {
+        throw Exception("invalid selection string " + id);
+    }
+
+    // check to see that we have valid selection ids
+    switch(sel.selectionType)
+    {
+    case SelectionRecord::TIME:
+        setTime(value);
+        break;
+    case SelectionRecord::UNKNOWN_ELEMENT:
+        // check for sbml element types
+
+        if ((index = getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            setFloatingSpeciesAmounts(1, &index, &value);
+            break;
+        }
+        else if ((index = getCompartmentIndex(sel.p1)) >= 0)
+        {
+            setCompartmentVolumes(1, &index, &value);
+            break;
+        }
+        else if ((index = getGlobalParameterIndex(sel.p1)) >= 0)
+        {
+            setGlobalParameterValues(1, &index, &value);
+            break;
+        }
+        else
+        {
+            throw Exception("Invalid or non-existant sbml id  '" + id + "' for set value");
+            break;
+        }
+    case SelectionRecord::UNKNOWN_CONCENTRATION:
+        if ((index = getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            setFloatingSpeciesConcentrations(1, &index, &value);
+            break;
+        }
+        else if ((index = getBoundarySpeciesIndex(sel.p1)) >= 0)
+        {
+            setBoundarySpeciesConcentrations(1, &index, &value);
+            break;
+        }
+        else
+        {
+            string msg = "No sbml element exists for concentration selection '" + id + "'";
+            Log(Logger::LOG_ERROR) << msg;
+            throw Exception(msg);
+            break;
+        }
+
+    case SelectionRecord::INITIAL_FLOATING_AMOUNT:
+        if ((index = getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            setFloatingSpeciesInitAmounts(1, &index, &value);
+            break;
+        }
+        else if ((index = getCompartmentIndex(sel.p1)) >= 0)
+        {
+            setCompartmentInitVolumes(1, &index, &value);
+            break;
+        }
+        else
+        {
+            throw Exception("Invalid id '" + id + "' for floating amount rate");
+            break;
+        }
+    case SelectionRecord::INITIAL_FLOATING_CONCENTRATION:
+        if ((index = getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            setFloatingSpeciesInitConcentrations(1, &index, &value);
+            break;
+        }
+        else
+        {
+            throw Exception("Invalid id '" + id + "' for floating species");
+            break;
+        }
+
+
+
+    default:
+        Log(Logger::LOG_ERROR) << "Invalid selection '" + sel.to_string() + "' for setting value";
+        throw Exception("Invalid selection '" + sel.to_string() + "' for setting value");
+        break;
+    }
+}
+
+int CompiledExecutableModel::getFloatingSpeciesConcentrationRates(int len, int const *indx,
+        double *values)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+std::string CompiledExecutableModel::getStateVectorId(int)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+int CompiledExecutableModel::getEventIndex(const std::string&)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+std::string CompiledExecutableModel::getEventId(int)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+void CompiledExecutableModel::setEventListener(int, EventListenerPtr)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+EventListenerPtr CompiledExecutableModel::getEventListener(int)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+double CompiledExecutableModel::getFloatingSpeciesAmountRate(int index,
+           const double *reactionRates)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+}
+
+void CompiledExecutableModel::setRandomSeed(int64_t)
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+};
+
+int64_t CompiledExecutableModel::getRandomSeed()
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+};
+
+double CompiledExecutableModel::getRandom()
+{
+    throw rr::Exception(std::string(__FUNC__) + " not supported with legacy C back end");
+};
+
+
+
+} //Namespace rr
+
+
diff --git a/source/c/rrCompiledExecutableModel.h b/source/c/rrCompiledExecutableModel.h
new file mode 100644
index 0000000..e270286
--- /dev/null
+++ b/source/c/rrCompiledExecutableModel.h
@@ -0,0 +1,526 @@
+#ifndef rrCompiledExecutableModel_H_
+#define rrCompiledExecutableModel_H_
+#include <list>
+#include "rrExecutableModel.h"
+#include "rrModelSharedLibrary.h"
+#include "rrCModelGenerator.h"
+#include "rrModelData.h"
+#include "rrNOMSupport.h"
+#include "rrPendingAssignment.h"
+#include "rrEvent.h"
+#include "rr-libstruct/lsLibStructural.h"
+#include <stack>
+
+namespace rr
+{
+using namespace ls;
+using Poco::SharedLibrary;
+class CGenerator;
+class CompiledModelState;
+
+
+//Function pointer typedefs..
+typedef void     (RR_CDECL *c_void_MDS)(ModelData*); //MDS stands for ModelDataStructure
+typedef int      (RR_CDECL *c_int_MDS)(ModelData*);
+typedef int      (RR_CDECL *c_int_MDS_int)(ModelData*, int);
+typedef char*    (RR_CDECL *c_charStar_MDS)(ModelData*);
+typedef void     (RR_CDECL *c_void_MDS_doubleStar)(ModelData*, const double*);
+typedef double   (RR_CDECL *c_double_MDS_int)(ModelData*, int);
+typedef double*  (RR_CDECL *c_doubleStar_MDS)(ModelData*);
+typedef void     (RR_CDECL *c_void_MDS_double_doubleStar)(ModelData*, double, const double*);
+typedef void     (RR_CDECL *c_void_MDS_int_double)(ModelData*, int, double);
+
+typedef ComputeEventAssignmentHandler* (RR_CDECL *c_ComputeEventAssignmentHandlerStar)();
+typedef EventDelayHandler* (RR_CDECL *c_GetEventDelayHandlerStar)();
+
+/**
+ * Both the CModelGenerator and the CSharpModelGenerator use the same
+ * paradigm of producing source code, calling a external compiler and
+ * loadig the resulting shared library. This class implements the
+ * ExecutableModel interface using this paradigm.
+ */
+class RR_DECLSPEC CompiledExecutableModel: public ExecutableModel
+{
+
+public:
+
+    /**
+     * @author JKM
+     * @date 07/31/2015
+     * @brief Returns a human-readable description of the code generation backend,
+     * e.g. LLVM, legacy C, etc.
+     */
+    virtual std::string getExecutableModelDesc() const {
+        return "Compiled (legacy C) Executable Model";
+    }
+
+    /**
+     * makes a copy of the ModelSymbols and keeps it.
+     * takes ownership of the shared lib.
+     */
+    CompiledExecutableModel(const ModelSymbols& symbols, ModelSharedLibrary* dll);
+    virtual ~CompiledExecutableModel();
+
+    virtual bool getConservedSumChanged();
+    virtual void setConservedSumChanged(bool);
+
+    virtual string getModelName();
+
+    virtual void setTime(double _time);
+    virtual double getTime();
+
+    virtual void evalInitialConditions();
+
+    /**
+     * reset the model to its original state
+     */
+    virtual void reset();
+
+    /**
+     * reset the model accordign to a bitfield specified by the
+     * SelectionRecord::SelectionType values.
+     */
+    virtual void reset(int options);
+
+
+    enum StateStackOptions
+    {
+        /**
+         * Default behavior is to pop and restore previous state, (like OpenGL),
+         * this pops the last save and discards it without restoring the state.
+         */
+        PopDiscard = 0x00000001
+    };
+
+
+    /**
+     * A ExecutableModel holds a stack of states, the entire state of this
+     * model is pushed onto the saved state stack, and the current state
+     * remains unchanged.
+     *
+     * @returns the size of the saved stack after the current state has been
+     * pushed.
+     */
+    virtual int pushState(unsigned options = 0);
+
+    /**
+     * restore the state from a previously saved state, if the state stack
+     * is empty, this has no effect.
+     *
+     * @returns the size of the saved stack after the top has been poped.
+     */
+    virtual int popState(unsigned options = 0);
+
+    // functions --------------------------------------------------------
+    virtual int getNumIndFloatingSpecies();
+    virtual int getNumDepFloatingSpecies();
+
+    virtual int getNumFloatingSpecies();
+    virtual int getFloatingSpeciesIndex(const string& name);
+    virtual string getFloatingSpeciesId(int index);
+
+    virtual int getNumBoundarySpecies();
+    virtual int getBoundarySpeciesIndex(const string &name);
+    virtual string getBoundarySpeciesId(int index);
+    virtual int getBoundarySpeciesCompartmentIndex(int index);
+
+    /**
+     * get the floating species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesAmounts(int len, int const *indx,
+            double *values);
+
+    virtual int setFloatingSpeciesAmounts(int len, int const *indx,
+            const double *values);
+
+    /**
+     * get the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+    /**
+     * set the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setFloatingSpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+    virtual int getFloatingSpeciesAmountRates(int len, int const *indx,
+            double *values);
+
+    virtual int getFloatingSpeciesConcentrationRates(int len, int const *indx,
+            double *values);
+
+
+    /**
+     * get the boundary species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesAmounts(int len, int const *indx,
+            double *values);
+
+    /**
+     * get the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+    /**
+     * set the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setBoundarySpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+    virtual int getNumGlobalParameters();
+    virtual int getGlobalParameterIndex(const std::string& name);
+    virtual string getGlobalParameterId(int index);
+
+    /**
+     * get the global parameter values
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getGlobalParameterValues(int len, int const *indx,
+            double *values);
+
+    virtual int setGlobalParameterValues(int len, int const *indx,
+            const double *values);
+
+    virtual int getNumCompartments();
+    virtual int getCompartmentIndex(const string& name);
+    virtual string getCompartmentId(int index);
+
+    /**
+     * get the compartment volumes
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getCompartmentVolumes(int len, int const *indx,
+            double *values);
+
+    virtual int getNumRateRules();
+
+    /**
+     * get the number of reactions the model has
+     */
+    virtual int getNumReactions();
+
+    virtual int getReactionRates(int len, const int* indx, double* values);
+
+    /**
+     * get the index of a named reaction
+     * @returns >= 0 on success, < 0 on failure.
+     */
+    virtual int getReactionIndex(const std::string& reactionName);
+
+    /**
+     * get the name of the specified reaction
+     */
+    virtual string getReactionId(int index);
+
+    virtual int getNumEvents();
+    virtual void computeEventPriorites();
+    void setConcentration(int index, double value);
+    virtual void evalReactionRates();
+    virtual void setCompartmentVolumes();
+    virtual int getNumLocalParameters(int reactionId);
+
+    virtual void computeRules();
+
+    virtual void initializeInitialConditions();
+    virtual void setParameterValues();
+    virtual void setBoundaryConditions();
+    virtual void setInitialConditions();
+    virtual void evalInitialAssignments();
+
+    virtual void convertToAmounts();
+    virtual void computeConservedTotals();
+
+
+    //Access dll data
+    virtual void getRateRuleValues(double *rateRuleValues);
+
+    double getAmount(const int i);
+    virtual void initializeRates();
+
+    virtual std::string getStateVectorId(int index);
+
+    virtual void setRateRuleValues(const double *rateRuleValues);
+
+    /**
+     * copies the internal model state vector into the provided
+     * buffer.
+     *
+     * @param[out] stateVector a buffer to copy the state vector into, if NULL,
+     *         return the size required.
+     *
+     * @return the number of items coppied into the provided buffer, if
+     *         stateVector is NULL, returns the length of the state vector.
+     */
+    virtual int getStateVector(double *stateVector);
+
+    /**
+     * sets the internal model state to the provided packed state vector.
+     *
+     * @param[in] an array which holds the packed state vector, must be
+     *         at least the size returned by getStateVector.
+     *
+     * @return the number of items copied from the state vector, negative
+     *         on failure.
+     */
+    virtual int setStateVector(const double *stateVector);
+
+    virtual void convertToConcentrations();
+    virtual void updateDependentSpeciesValues();
+    virtual void computeAllRatesOfChange();
+
+    /**
+     * the state vector y is the rate rule values and floating species
+     * concentrations concatenated. y is of length numFloatingSpecies + numRateRules.
+     *
+     * The state vector is packed such that the first n raterule elements are the
+     * values of the rate rules, and the last n floatingspecies are the floating
+     * species values.
+     *
+     * @param[in] time current simulator time
+     * @param[in] y state vector, must be of size returned by getStateVector
+     * @param[out] dydt calculated rate of change of the state vector, if null,
+     * it is ignored.
+     */
+    virtual void getStateVectorRate(double time, const double *y, double *dydt = 0);
+
+    virtual void evalEvents(const double time, const double *y);
+    virtual void resetEvents();
+    virtual void testConstraints();
+    virtual void initializeRateRuleSymbols();
+    virtual string getInfo();
+
+    virtual void print(std::ostream &stream);
+
+    virtual void getIds(int types, std::list<std::string> &ids);
+
+    virtual int getSupportedIdTypes();
+
+    virtual double getValue(const std::string& id);
+
+    virtual void setValue(const std::string& id, double value);
+
+    virtual int getEventDelays(int len, int const *indx, double *values);
+
+    virtual int getEventPriorities(int len, int const *indx, double *values);
+
+    virtual void eventAssignment(int eventId);
+
+    virtual double* evalEventAssignment(int eventId);
+
+    virtual void applyEventAssignment(int eventId, double *values);
+
+    virtual int getEventTriggers(int len, const int *indx, unsigned char *values);
+
+    virtual int getNumConservedMoieties();
+    virtual int getConservedMoietyIndex(const string& name);
+    virtual string getConservedMoietyId(int index);
+    virtual int getConservedMoietyValues(int len, int const *indx, double *values);
+    virtual int setConservedMoietyValues(int len, int const *indx,
+            const double *values);
+
+    virtual int setCompartmentVolumes(int len, int const *indx,
+            const double *values);
+    virtual int setFloatingSpeciesInitConcentrations(int len, int const *indx,
+            double const *values);
+    virtual int getFloatingSpeciesInitConcentrations(int len, int const *indx,
+            double *values);
+
+    virtual double getStoichiometry(int speciesIndex, int reactionIndex);
+
+    /**
+     * allocate a block of memory and copy the stochiometric values into it,
+     * and return it.
+     *
+     * The caller is responsible for freeing the memory that is referenced by data.
+     *
+     * @param[out] rows will hold the number of rows in the matrix.
+     * @param[out] cols will hold the number of columns in the matrix.
+     * @param[out] data a pointer which will hold a newly allocated memory block.
+     */
+    virtual int getStoichiometryMatrix(int* rows, int* cols, double** data);
+
+
+    double getFloatingSpeciesConcentration(int index);
+
+    bool mConservedSumChanged;
+
+    /**
+     * initialize and allocate space for the ModelData buffers.
+     */
+    bool setupModelData();
+
+    /**
+     * setup the function pointer variables to point to the C functions
+     * in the loaded shared library.
+     */
+    virtual bool setupDLLFunctions();
+
+    //This structure holds data generated/used in the shared model lib..
+    //some of it could be made global in the dll later on, like modelName..
+    int mDummyInt;
+    int mDummyDouble;
+    double* mDummyDoubleArray;
+
+    /**
+     * the data that is exchanged with the loaded shared lib,
+     * and all sorts of other routines such as CVODE.
+     */
+    ModelData                         mData;
+    ModelSymbols                      ms;
+
+    /**
+     * If all functions are found properly in the dll, this one is true
+     */
+    bool                              mIsInitialized;
+    ModelSharedLibrary*               mDLL;
+
+    std::stack<CompiledModelState*>        modelStates;
+
+    //Function pointers...
+    c_int_MDS                         cInitModel;
+    c_int_MDS                         cInitModelData;
+    c_charStar_MDS                    cgetModelName;
+    c_void_MDS                        cinitializeInitialConditions;
+    c_void_MDS                        csetParameterValues;
+    c_void_MDS                        csetCompartmentVolumes;
+    c_int_MDS_int                     cgetNumLocalParameters;
+    c_void_MDS                        csetBoundaryConditions;
+    c_void_MDS                        csetInitialConditions;
+    c_void_MDS                        cevalInitialAssignments;
+    c_void_MDS                        cupdateDependentSpeciesValues;
+    c_void_MDS                        ccomputeRules;
+    c_void_MDS                        cconvertToAmounts;
+    c_void_MDS                        ccomputeConservedTotals;
+    c_double_MDS_int                  cgetConcentration;
+    c_doubleStar_MDS                  cGetCurrentValues;
+    c_void_MDS_double_doubleStar      cevalModel;
+    c_void_MDS                        cconvertToConcentrations;
+    c_void_MDS_double_doubleStar      cevalEvents;
+    c_void_MDS                        ccomputeAllRatesOfChange;
+    c_void_MDS                        cAssignRates_a;
+    c_void_MDS_doubleStar             cAssignRates_b;
+    c_void_MDS                        ctestConstraints;
+    c_void_MDS                        cresetEvents;
+    c_void_MDS                        cInitializeRates;
+    c_void_MDS                        cInitializeRateRuleSymbols;
+    c_void_MDS_int_double             csetConcentration;
+    c_void_MDS                        cComputeReactionRates;
+    c_void_MDS                        ccomputeEventPriorities;
+
+    vector<PendingAssignment>   mAssignments;
+
+    vector<double>              mAssignmentTimes;
+
+    DoubleMatrix stoichiometryMatrix;
+
+    vector<int> retestEvents(const double& timeEnd,
+            const vector<int>& handledEvents, vector<int>& removeEvents);
+
+    vector<int> retestEvents(const double& timeEnd, vector<int>& handledEvents,
+            const bool& assignOldState);
+
+    vector<int> retestEvents(const double& timeEnd,
+            const vector<int>& handledEvents,
+            const bool& assignOldState, vector<int>& removeEvents);
+
+    virtual int applyPendingEvents(double timeEnd);
+
+    virtual int applyEvents(double timeEnd, const unsigned char* previousEventStatus,
+            const double *initialState, double* finalState);
+
+    virtual void getEventRoots(double time, const double* y,  double* gdot);
+
+    virtual double getNextPendingEventTime(bool pop);
+
+    virtual int getPendingEventSize();
+
+    void removePendingAssignmentForIndex(int eventIndex);
+
+    void sortEventsByPriority(vector<Event>& firedEvents);
+
+    void sortEventsByPriority(vector<int>& firedEvents);
+
+
+    virtual int setFloatingSpeciesInitAmounts(int len, int const *indx,
+                double const *values);
+
+    virtual int getFloatingSpeciesInitAmounts(int len, int const *indx,
+                    double *values);
+
+    virtual int setCompartmentInitVolumes(int len, int const *indx,
+                double const *values);
+
+    virtual int getCompartmentInitVolumes(int len, int const *indx,
+                    double *values);
+
+    virtual int getEventIndex(const std::string&);
+    virtual std::string getEventId(int);
+    virtual void setEventListener(int, rr::EventListenerPtr);
+    virtual rr::EventListenerPtr getEventListener(int);
+
+    friend class CompiledModelState;
+
+
+
+    virtual double getFloatingSpeciesAmountRate(int index,
+            const double *reactionRates);
+
+    virtual void setRandomSeed(int64_t);
+
+    virtual int64_t getRandomSeed();
+
+    virtual double getRandom();
+
+    virtual uint32_t getFlags() const
+    {
+        return 0;
+    }
+
+    virtual void setFlags(uint32_t)
+    {
+
+    }
+};
+}
+#endif
diff --git a/source/c/rrCompiledModelGenerator.cpp b/source/c/rrCompiledModelGenerator.cpp
new file mode 100644
index 0000000..b00a0d3
--- /dev/null
+++ b/source/c/rrCompiledModelGenerator.cpp
@@ -0,0 +1,269 @@
+/*
+ * rrCompiledModelGenerator.cpp
+ *
+ *  Created on: May 26, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "rrCompiledModelGenerator.h"
+#include "rrLogger.h"
+#include "rrStringUtils.h"
+#include "rrException.h"
+#include <iostream>
+#include <cmath>
+#include <stack>
+#include "sbml/SBMLDocument.h"
+
+
+namespace rr
+{
+using namespace std;
+using namespace libsbml;
+
+
+// check to see that these prickly variables are valid before using them.
+// this will go away as soon as these vars are no longer kept around.
+#define CHECK_LIB_NOM()  \
+{ \
+    if (mNOM == 0 || mLibStruct == 0) \
+    { \
+        std::string __mstr = "Error, atempted use of ModelGenerator query function when with mNOM or mLibStruct are null in "; \
+        __mstr = __mstr + __FUNC__; \
+        throw CoreException(__mstr); \
+    } \
+}
+
+CompiledModelGenerator::CompiledModelGenerator()
+:
+mComputeAndAssignConsevationLaws(false),
+mFixAmountCompartments("*"),
+mLibStruct(0),
+mNOM(0)
+{
+}
+
+CompiledModelGenerator::~CompiledModelGenerator() {}
+
+string CompiledModelGenerator::substituteTerms(const int& numReactions, const string& reactionName, const string& equation)
+{
+    return substituteTerms(reactionName, equation, false);
+}
+
+string CompiledModelGenerator::substituteTerms(const string& reactionName, const string& inputEquation, bool bFixAmounts)
+{
+    string equation = cleanEquation(inputEquation);
+    if (equation.size() < 1)
+    {
+        return string("0");
+    }
+
+     Scanner s;
+     stringstream ss;
+     ss<<equation;
+
+     s.AssignStream(ss);
+     s.startScanner();
+     s.nextToken();
+     CodeBuilder sb;
+
+    try
+    {
+        while (s.token() != CodeTypes::tEndOfStreamToken)
+        {
+            substituteToken(reactionName, bFixAmounts, s, sb);
+            s.nextToken();
+        }
+    }
+    catch (const Exception& e)
+    {
+       throw Exception(e.Message());
+    }
+    return sb.ToString();
+}
+
+void CompiledModelGenerator::reset()
+{
+    mNOM = NULL;
+    mLibStruct = NULL;
+}
+
+int CompiledModelGenerator::numAdditionalRates()
+{
+    return ms.mRateRules.size();
+}
+
+string CompiledModelGenerator::getInfo()
+{
+    // TODO placeholder for
+    //info<<"Compiler location: "     <<  getCompiler()->getCompilerLocation()<<endl;
+    //info<<"Support Code Folder: "   <<  getCompiler()->getSupportCodeFolder()<<endl;
+    return "";
+}
+
+ASTNode* CompiledModelGenerator::cleanEquation(ASTNode* astP)
+{
+    ASTNode& ast = *astP; //For convenience...
+
+    if (ast.getType() == AST_PLUS && ast.getNumChildren() == 0)
+    {
+        ASTNode* result = new ASTNode(AST_INTEGER);
+        result->setValue(0);
+        return result;
+    }
+    else if (ast.getType() == AST_TIMES && ast.getNumChildren() == 0)
+    {
+        ASTNode* result = new ASTNode(AST_INTEGER);
+        result->setValue(1);
+        return result;
+    }
+    else if ((ast.getType() == AST_PLUS && ast.getNumChildren() == 1) ||
+            (ast.getType() == AST_TIMES && ast.getNumChildren() == 1))
+    {
+        ASTNode *p = ast.getChild(0);
+        return p ? new ASTNode(*p) : p;
+    }
+
+    for (int i = (int) ast.getNumChildren() - 1; i >= 0; i--)
+    {
+        ASTNode *p = ast.getChild(i);
+        ast.replaceChild(i, cleanEquation(p));
+        delete p;
+    }
+
+    return new ASTNode(ast);
+}
+
+string CompiledModelGenerator::cleanEquation(const string& eqn)
+{
+    if (eqn.size() < 1)
+    {
+        return "0";
+    }
+    string equation(eqn);
+    if (equation == " + ")
+    {
+        return "0";
+    }
+
+    if (equation == " * ")
+    {
+        return "1";
+    }
+
+    ASTNode* ast = SBML_parseFormula(equation.c_str());
+    if (ast == NULL)
+    {
+        // we are in trouble!
+        if (endsWith(equation, "* "))
+        {
+              equation = equation.substr(0, equation.size() - 2);
+        }
+
+           string sought("*  +");
+        if(equation.find(sought) != string::npos)
+        {
+            equation.replace(equation.find(sought), sought.size(), string("+"));
+        }
+        sought = ("*  -");
+        if(equation.find(sought) != string::npos)
+        {
+            equation = equation.replace(equation.find(sought), sought.size(), "-");
+        }
+
+        ast = SBML_parseFormula(equation.c_str());
+        if (ast == NULL)
+        {
+            return equation;
+        }
+    }
+
+    ASTNode *ast2 = cleanEquation(ast);
+    string result = SBML_formulaToStdString(ast2);
+    delete ast;
+    delete ast2;
+    return result;
+}
+
+ls::DoubleMatrix* CompiledModelGenerator::initializeL0(int& nrRows, int& nrCols)
+{
+    ls::DoubleMatrix* L0;
+    try
+    {
+        if (ms.mNumDependentSpecies > 0)
+        {
+            vector<string> RowLabels;
+            vector<string> ColumnLabels; //Todo: Filling these out here is meaningless?
+            L0 = mLibStruct->getL0Matrix();//(RowLabels, ColumnLabels);
+            nrRows = L0->RSize();//.size();
+            nrCols = L0->CSize();//.size();
+        }
+        else
+        {
+            L0 = new ls::DoubleMatrix(1,1);//.Allocate(1,1);// = new double[0][];             //Todo: memoryleak
+            nrRows = nrCols = 1;
+        }
+    }
+    catch (const Exception& e)
+    {
+        nrRows = nrCols = 0;
+        L0 = NULL;
+        throw Exception(e.Message());
+    }
+    return L0;
+}
+
+bool CompiledModelGenerator::expressionContainsSymbol(ASTNode *ast, const string& symbol)
+{
+    if (ast == NULL || isNullOrEmpty(symbol))
+    {
+        return false;
+    }
+
+    if (ast->getType() == libsbml::AST_NAME && trim(ast->getName()) == trim(symbol))
+    {
+        return true;
+    }
+
+    for (u_int i = 0; i < ast->getNumChildren(); i++)
+    {
+        if (expressionContainsSymbol(ast->getChild(i), symbol))
+        {
+            return true;
+        }
+    }
+
+    return false;
+}
+
+bool CompiledModelGenerator::expressionContainsSymbol(const string& expression,const string& symbol)
+{
+      if (isNullOrEmpty(expression) || isNullOrEmpty(symbol))
+      {
+          return false;
+      }
+      ASTNode *ast = SBML_parseFormula(expression.c_str());
+      return expressionContainsSymbol(ast, symbol);
+}
+
+const Symbol* CompiledModelGenerator::getSpecies(const string& id)
+{
+    int index;
+    if (ms.mFloatingSpeciesConcentrationList.find(id, index))
+    {
+        return &(ms.mFloatingSpeciesConcentrationList[index]);
+    }
+
+    if (ms.mBoundarySpeciesList.find(id, index))
+    {
+        return &(ms.mBoundarySpeciesList[index]);
+    }
+    return NULL;
+}
+
+string CompiledModelGenerator::writeDouble(const double& value, const string& format)
+{
+    return toString(value, format);
+}
+
+
+} /* namespace rr */
diff --git a/source/c/rrCompiledModelGenerator.h b/source/c/rrCompiledModelGenerator.h
new file mode 100644
index 0000000..1f88560
--- /dev/null
+++ b/source/c/rrCompiledModelGenerator.h
@@ -0,0 +1,137 @@
+/*
+ * rrCompiledModelGenerator.h
+ *
+ *  Created on: May 26, 2013
+ *      Author: andy
+ */
+
+#ifndef RRCOMPILEDMODELGENERATOR_H_
+#define RRCOMPILEDMODELGENERATOR_H_
+
+
+#include "rrModelSharedLibrary.h"
+#include "rrCodeBuilder.h"
+#include "rrScanner.h"
+#include "rrNOMSupport.h"
+#include "rrSymbol.h"
+#include "rrModelSymbols.h"
+#include "rr-libstruct/lsMatrix.h"
+#include "rr-libstruct/lsLibStructural.h"
+
+// TODO UGLY!!!!
+// using namespace in header!
+using namespace ls;
+
+namespace rr {
+
+/**
+ * Both compiled model generators (C and CSharp) share a lot of functionality,
+ * so implement that here.
+ */
+class RR_DECLSPEC CompiledModelGenerator
+{
+protected:
+    CompiledModelGenerator();
+    virtual    ~CompiledModelGenerator();
+
+    string                              substituteTerms(const string& reactionName, const string& inputEquation, bool bFixAmounts);
+    string                              substituteTerms(const int& numReactions, const string& reactionName, const string& equation);
+
+    virtual string                      convertUserFunctionExpression(const string& equation) = 0;
+    virtual void                        substituteEquation(const string& reactionName, Scanner& s, CodeBuilder& sb) = 0;
+    virtual void                        substituteWords(const string& reactionName, bool bFixAmounts, Scanner& s, CodeBuilder& sb) = 0;
+    virtual void                        substituteToken(const string& reactionName, bool bFixAmounts, Scanner& s, CodeBuilder& sb) = 0;
+    virtual string                      findSymbol(const string& varName) = 0;
+    virtual void                        writeComputeAllRatesOfChange(CodeBuilder& sb, const int& numIndependentSpecies,
+                                                                        const int& numDependentSpecies, ls::DoubleMatrix& L0) = 0;
+
+    virtual void                        writeComputeConservedTotals(CodeBuilder& sb, const int& numFloatingSpecies,
+                                                                        const int& numDependentSpecies) = 0;
+
+    virtual void                        writeUpdateDependentSpecies(CodeBuilder& sb, const int& numIndependentSpecies,
+                                                                        const int& numDependentSpecies, ls::DoubleMatrix& L0) = 0;
+
+    virtual void                        writeUserDefinedFunctions(CodeBuilder& sb) = 0;
+    virtual void                        writeResetEvents(CodeBuilder& sb, const int& numEvents) = 0;
+    virtual void                        writeSetConcentration(CodeBuilder& sb) = 0;
+    virtual void                        writeGetConcentration(CodeBuilder& sb) = 0;
+    virtual void                        writeConvertToAmounts(CodeBuilder& sb) = 0;
+    virtual void                        writeConvertToConcentrations(CodeBuilder& sb) = 0;
+    virtual void                        writeProperties(CodeBuilder& sb) = 0;
+    virtual void                        writeAccessors(CodeBuilder& sb) = 0;
+    virtual void                        writeOutVariables(CodeBuilder& sb) = 0;
+    virtual void                        writeClassHeader(CodeBuilder& sb) = 0;
+    virtual void                        writeTestConstraints(CodeBuilder& sb) = 0;
+    virtual void                        writeEvalInitialAssignments(CodeBuilder& sb, const int& numReactions) = 0;
+    virtual int                         writeComputeRules(CodeBuilder& sb, const int& numReactions) = 0;
+    virtual void                        writeComputeReactionRates(CodeBuilder& sb, const int& numReactions) = 0;
+    virtual void                        writeEvalEvents(CodeBuilder& sb, const int& numEvents, const int& numFloatingSpecies) = 0;
+    virtual void                        writeEvalModel(CodeBuilder& sb, const int& numReactions, const int& numIndependentSpecies, const int& numFloatingSpecies, const int& numOfRules) = 0;
+    virtual void                        writeEventAssignments(CodeBuilder& sb, const int& numReactions, const int& numEvents) = 0;
+    virtual void                        writeSetParameterValues(CodeBuilder& sb, const int& numReactions) = 0;
+    virtual void                        writeSetCompartmentVolumes(CodeBuilder& sb) = 0;
+    virtual void                        writeSetBoundaryConditions(CodeBuilder& sb) = 0;
+    virtual void                        writeSetInitialConditions(CodeBuilder& sb, const int& numFloatingSpecies) = 0;
+    virtual string                      convertCompartmentToC(const string& compartmentName) = 0;
+    virtual string                      convertSpeciesToBc(const string& speciesName) = 0;
+    virtual string                      convertSpeciesToY(const string& speciesName) = 0;
+    virtual string                      convertSymbolToC(const string& compartmentName) = 0;
+    virtual string                      convertSymbolToGP(const string& parameterName) = 0;
+
+    void                                reset();
+
+    int                                 numAdditionalRates();        //this variable is the size of moMapRateRule
+
+    /**
+     * Refernce to libstruct library
+     * this are set by createModel, and for the time being remain after createModel
+     * completes.
+     */
+    ls::LibStructural*                      mLibStruct;
+
+    /**
+     * Object that provide some wrappers and new "NOM" functions.
+     * this are set by createModel, and for the time being remain after createModel
+     * completes.
+     */
+    NOMSupport*                         mNOM;
+
+    bool                                mComputeAndAssignConsevationLaws;
+
+    const string                        mFixAmountCompartments;
+
+    StringList                          mWarnings;
+
+    /**
+     * get various information about the model in a user displayable format.
+     */
+    virtual string                      getInfo();
+
+    /**
+     * creates a new AST node
+     */
+    static ASTNode*                     cleanEquation(ASTNode* ast);
+    static string                       cleanEquation(const string& equation);
+
+    ls::DoubleMatrix*                   initializeL0(int& nrRows, int& nrCols);
+    bool                                expressionContainsSymbol(ASTNode* ast, const string& symbol);
+    bool                                expressionContainsSymbol(const string& expression, const string& symbol);
+    const Symbol*                       getSpecies(const string& id);
+    int                                 readGlobalParameters();
+    void                                readLocalParameters(const int& numReactions,  vector<int>& localParameterDimensions, int& totalLocalParmeters);
+    int                                 readCompartments();
+
+    string                              writeDouble(const double& value, const string& format = "%G");
+
+    /**
+     * hold all the symbolic (AKA metadata) information in the model
+     * The idea is that all the memebers of this class will be const, and the entire
+     * thing will be created anew each time createModel is called.
+     *
+     * This thing will creted in one shot, then all the code building will access it.
+     */
+    ModelSymbols                         ms;
+};
+
+} /* namespace rr */
+#endif /* RRCOMPILEDMODELGENERATOR_H_ */
diff --git a/source/c/rrCompiledModelState.cpp b/source/c/rrCompiledModelState.cpp
new file mode 100644
index 0000000..1908b3f
--- /dev/null
+++ b/source/c/rrCompiledModelState.cpp
@@ -0,0 +1,54 @@
+#pragma hdrstop
+#include "rrUtils.h"
+#include "rrCompiledExecutableModel.h"
+#include "rrCompiledModelState.h"
+//---------------------------------------------------------------------------
+
+namespace rr
+{
+CompiledModelState::CompiledModelState(CompiledExecutableModel& model)
+{
+    InitializeFromModel(model);
+}
+
+void CompiledModelState::InitializeFromModel(CompiledExecutableModel& model)
+{
+    ModelData &modelData = model.mData;
+    model.convertToConcentrations();
+//    CopyCArrayToStdVector(model.y,                        mFloatingSpeciesConcentrations,       *model.ySize);
+    copyCArrayToStdVector(modelData.boundarySpeciesConcentrations,        mBoundarySpeciesConcentrations,       modelData.numBoundarySpecies);
+    copyCArrayToStdVector(modelData.compartmentVolumes,                   mCompartmentVolumes,                  modelData.numCompartments);
+    copyCArrayToStdVector(modelData.globalParameters,                     mGlobalParameters,                    modelData.numGlobalParameters);
+    copyCArrayToStdVector(modelData.dependentSpeciesConservedSums,        mConservedTotals,                     modelData.numDependentSpecies);
+    copyCArrayToStdVector(modelData.floatingSpeciesAmountRates,           mDyDt,                                modelData.numFloatingSpecies);
+    copyCArrayToStdVector(modelData.reactionRates,                        mRates,                               modelData.numReactions);
+    copyCArrayToStdVector(modelData.rateRuleRates,                        mRateRules,                           modelData.numRateRules);
+    copyCArrayToStdVector(modelData.sr,                                   mModifiableSpeciesReferences,         modelData.srSize);
+    copyCArrayToStdVector(modelData.eventStatusArray,                     mEventStatusArray,                    modelData.eventStatusArraySize);
+    copyCArrayToStdVector(modelData.eventTests,                           mEventTests,                          modelData.eventTestsSize);
+    copyCArrayToStdVector(modelData.previousEventStatusArray,             mPreviousEventStatusArray,            modelData.previousEventStatusArraySize);
+    mTime = modelData.time;
+}
+
+void CompiledModelState::AssignToModel(CompiledExecutableModel& model)
+{
+    ModelData &modelData = model.mData;
+//    CopyStdVectorToCArray(mFloatingSpeciesConcentrations,   model.y,                        *model.ySize                        );
+    copyStdVectorToCArray(mBoundarySpeciesConcentrations,   modelData.boundarySpeciesConcentrations,        modelData.numBoundarySpecies           );
+    copyStdVectorToCArray(mCompartmentVolumes,              modelData.compartmentVolumes,                   modelData.numCompartments              );
+    copyStdVectorToCArray(mGlobalParameters,                modelData.globalParameters,                     modelData.numGlobalParameters          );
+    copyStdVectorToCArray(mConservedTotals,                 modelData.dependentSpeciesConservedSums,        modelData.numDependentSpecies          );
+    copyStdVectorToCArray(mDyDt,                            modelData.floatingSpeciesAmountRates,           modelData.numFloatingSpecies           );
+    copyStdVectorToCArray(mRates,                           modelData.reactionRates,                        modelData.numReactions                 );
+    copyStdVectorToCArray(mRateRules,                       modelData.rateRuleRates,                        modelData.numRateRules                 );
+    copyStdVectorToCArray(mEventTests,                      modelData.eventTests,                           modelData.eventTestsSize               );
+    copyStdVectorToCArray(mEventStatusArray,                modelData.eventStatusArray,                     modelData.eventStatusArraySize         );
+    copyStdVectorToCArray(mPreviousEventStatusArray,        modelData.previousEventStatusArray,             modelData.previousEventStatusArraySize );
+    copyStdVectorToCArray(mModifiableSpeciesReferences,     modelData.sr,                                   modelData.srSize                       );
+    model.convertToAmounts();
+    model.setTime(mTime);
+}
+
+}
+
+
diff --git a/source/c/rrCompiledModelState.h b/source/c/rrCompiledModelState.h
new file mode 100644
index 0000000..0375eab
--- /dev/null
+++ b/source/c/rrCompiledModelState.h
@@ -0,0 +1,52 @@
+#ifndef rrModelStateH
+#define rrModelStateH
+
+#include "rrOSSpecifics.h"
+#include <vector>
+
+
+using std::vector;
+
+
+namespace rr
+{
+
+class CompiledExecutableModel;
+
+/**
+ * Saves the 'state' of a Model.
+ *
+ * TODO: GET RID OF THIS! Give the a proper clone() method if we need
+ * modify it! Or at least, write a ModelData clone function!.
+ *
+ * This class re-implements ModelData, and copies the values out of and into
+ * a ModelData struct.
+ */
+class RR_DECLSPEC CompiledModelState
+{
+    protected:
+    public:
+        //Todo:  Lot of stuff is wrong here.. ??
+        double                          mTime;
+        vector<double>                  mBoundarySpeciesConcentrations;
+        vector<double>                  mCompartmentVolumes;
+        vector<double>                  mConservedTotals;
+        vector<double>                  mDyDt;
+        vector<double>                  mFloatingSpeciesConcentrations;
+        vector<double>                  mGlobalParameters;
+        vector<bool>                    mPreviousEventStatusArray;
+        vector<double>                  mRateRules;
+        vector<double>                  mRates;
+        vector<double>                  mModifiableSpeciesReferences;
+        vector<bool>                    mEventStatusArray;
+        vector<double>                  mEventTests;
+
+        void                            InitializeFromModel(CompiledExecutableModel& model);
+
+    public:
+                                        CompiledModelState(CompiledExecutableModel& model);
+        void                            AssignToModel(CompiledExecutableModel& model);
+};
+
+}
+#endif
diff --git a/source/c/rrEvent.cpp b/source/c/rrEvent.cpp
new file mode 100644
index 0000000..0c63306
--- /dev/null
+++ b/source/c/rrEvent.cpp
@@ -0,0 +1,83 @@
+#pragma hdrstop
+#include "rrEvent.h"
+#include "rrRandom.h"
+#include <iostream>
+//---------------------------------------------------------------------------
+
+namespace rr
+{
+
+Event::Event(int id, double prior, double delay)
+:
+mID(id),
+mPriority(prior),
+mDelay(delay)
+{}
+
+Event::Event(const Event& rhs)
+{
+    (*this) = rhs;
+}
+
+Event& Event::operator=(const Event& rhs)
+{
+    if(this != &rhs)
+    {
+        (*this).mID         = rhs.mID;
+        (*this).mPriority     = rhs.mPriority;
+        (*this).mDelay         = rhs.mDelay;
+    }
+
+    return *this;
+}
+
+int    Event::GetID() const
+{
+    return mID;
+}
+
+void Event::SetPriority(double prior)
+{
+    mPriority = prior;
+}
+
+double Event::GetPriority() const
+{
+    return mPriority;
+}
+
+//Friend functions
+bool operator==(const Event &e1, const Event &e2)
+{
+    if(e1.mID == e2.mID && e1.mPriority == e2.mPriority && e1.mDelay == e2.mDelay)
+    {
+        return true;
+    }
+      return false;
+}
+
+bool operator<(const Event &e1, const Event &e2)
+{
+     if(e1.mPriority == e2.mPriority && e1.mPriority !=0 && e1.mID != e2.mID)
+    {
+        //Random toss...
+        return (e1.mRandom.NextDouble() > 0.5) ? false : true;
+    }
+
+    return e1.mPriority >= e2.mPriority;    //Used in sorting algorithm
+}
+
+std::ostream& operator<<(std::ostream& stream, const Event& anEvent)
+{
+    // something bizarre in gcc was causing this to fail if the event fields are
+    // dumped directly to the ostream. Seems fine if we make a stack based copy
+    // though
+
+    stream << "Event ID: ";
+    stream << anEvent.GetID();
+    stream << " Priority: ";
+    stream << anEvent.GetPriority();
+    return stream;
+}
+
+}//namespace
diff --git a/source/c/rrEvent.h b/source/c/rrEvent.h
new file mode 100644
index 0000000..588d10a
--- /dev/null
+++ b/source/c/rrEvent.h
@@ -0,0 +1,49 @@
+#ifndef rrEventH
+#define rrEventH
+#include "rrRandom.h"
+#include "rrExporter.h"
+#include <ostream>
+
+
+namespace rr
+{
+
+class RR_DECLSPEC Event
+{
+
+
+public:
+    Event(int id, double prior = 0, double delay = 0);
+    Event(const Event& id);
+    ~Event() {}
+    double                  GetPriority() const;
+    void                    SetPriority(double prior);
+    int                     GetID() const;
+    Event&                  operator = (const Event& rhs);
+    friend bool             operator < (const Event& e1, const Event& e2);
+    friend bool             operator == (const Event& e1, const Event& e2);
+
+protected:
+    int                     mID;
+    double                  mPriority;
+    double                  mDelay;
+    Random                  mRandom;    //If we need randomness..
+};
+
+// compare and printing functions,
+// there is some bizzare problem with gcc when these are
+// declared as friend functions, so use the public interface,
+// and all seems to work.
+RR_DECLSPEC std::ostream& operator << (std::ostream& str, const Event& event);
+
+
+struct RR_DECLSPEC SortByPriority
+{
+    bool operator()( const rr::Event& lx, const rr::Event& rx ) const
+    {
+        return lx.GetPriority() > rx.GetPriority();
+    }
+};
+
+}
+#endif
diff --git a/source/c/rrHashTable.cpp b/source/c/rrHashTable.cpp
new file mode 100644
index 0000000..6bbf566
--- /dev/null
+++ b/source/c/rrHashTable.cpp
@@ -0,0 +1,35 @@
+#pragma hdrstop
+#include "rrHashTable.h"
+//---------------------------------------------------------------------------
+
+namespace rr
+{
+
+StringSymbolHashTable::StringSymbolHashTable()
+{}
+
+
+bool StringSymbolHashTable::ContainsKey(const string& aKey)
+{
+    return (this->find( aKey ) != this->end()) ? true : false;
+}
+
+
+/////////////////////
+IntStringHashTable::IntStringHashTable()
+{}
+
+ostream& operator<<(ostream& stream, StringSymbolHashTable& hash)
+{
+    map<string, SBMLSymbol>::iterator iter;
+
+    for(iter = hash.begin(); iter != hash.end(); iter++)
+    {
+        stream<<"Key: "<<(*iter).first<<"\tValue:"<<(*iter).second<<"\n";
+    }
+    return stream;
+}
+
+
+
+}
diff --git a/source/c/rrHashTable.h b/source/c/rrHashTable.h
new file mode 100644
index 0000000..83d7885
--- /dev/null
+++ b/source/c/rrHashTable.h
@@ -0,0 +1,38 @@
+#ifndef rrHashTableH
+#define rrHashTableH
+#include <map>
+#include <string>
+#include "rrExporter.h"
+#include "rrSBMLSymbol.h"
+//---------------------------------------------------------------------------
+
+//using std::hash_map;
+using std::map;
+using std::string;
+
+namespace rr
+{
+
+class RR_DECLSPEC StringSymbolHashTable: public map<string, SBMLSymbol>
+{
+    protected:
+
+    public:
+        StringSymbolHashTable();
+        map<string, SBMLSymbol>::iterator     mIter;
+        bool                                  ContainsKey(const string& aKey);
+};
+
+ostream& operator<<(ostream& stream, StringSymbolHashTable& hash);
+class RR_DECLSPEC IntStringHashTable:  public map<int, string>
+{
+    protected:
+
+    public:
+        IntStringHashTable();
+
+};
+
+
+} //namespace rr
+#endif
diff --git a/source/c/rrModelData.h b/source/c/rrModelData.h
new file mode 100644
index 0000000..f405ae2
--- /dev/null
+++ b/source/c/rrModelData.h
@@ -0,0 +1,246 @@
+#ifndef rrModelDataH
+#define rrModelDataH
+
+/**
+ * This file is included by the generated C sbml model code, so
+ * BE AWARE OF THIS AND BE VERY CAREFULL MODIFYING IT!
+ */
+
+#if defined(WIN32)
+#define RR_CDECL __cdecl
+#else
+#define RR_CDECL
+#endif
+
+#if defined __cplusplus
+namespace rr
+{
+#endif
+typedef struct   SModelData *ModelDataP;
+typedef double   (RR_CDECL *EventDelayHandler)(ModelDataP);
+typedef double*  (RR_CDECL *ComputeEventAssignmentHandler)(ModelDataP);
+typedef void     (RR_CDECL *PerformEventAssignmentHandler)(ModelDataP, double*);
+typedef void     (RR_CDECL *EventAssignmentHandler)();
+
+/**
+ * A data structure that is that allows data to be exchanged
+ * with running SBML models. In the case of CExecutableModels, A pointer to
+ * this struct is given to the compiled shared library, and the C code
+ * there modifies the buffers of this structure.
+ *
+ * There are some functions in ExecutableModel.h that manage ModelData
+ * memory. These would have made more sense here, but in order to prevent
+ * any issues with generated code interacting with them, they were placed
+ * there.
+ *
+ * Basic Nomencalture
+ * Compartments: A well stirred compartment which contains one or more species.
+ * the volume of a compartment can change durring the course of a simulation.
+ *
+ * Floating Species: these are chemical species who's values (ammount / concentration)
+ * change over time.
+ *
+ * Boundary Species: chemical species that who's values are fixed to their initial conditions,
+ * these function as boundary conditions.
+ *
+ * @see ExecutableModel.h
+ */
+typedef struct SModelData
+{
+    /**
+     * current time.
+     */
+    double                              time;                             // 2
+
+    /**
+     * number of linearly independent rows in the stochiometry matrix.
+     */
+    unsigned                            numIndependentSpecies;            // 3
+
+    /**
+     * number of linerly dependent rows in the stoichiometry matrix.
+     *
+     * numIndependentVariables + numDependentVariables had better
+     * be equal to numFloatingSpecies
+     */
+    unsigned                            numDependentSpecies;              // 4
+    double*                             dependentSpeciesConservedSums;    // 5
+
+    /**
+     * number of global parameters
+     */
+    unsigned                            numGlobalParameters;              // 6
+    double*                             globalParameters;                 // 7
+
+    /**
+     * number of reactions, same as ratesSize.
+     * These are the calcuated reaction rates, not the
+     * species rates.
+     */
+    unsigned                            numReactions;                     // 8
+    double*                             reactionRates;                    // 9
+
+    unsigned                            numRateRules;                     // 10
+
+    /**
+     * All of the elelments which have a rate rule are stored here.
+     *
+     * As the integrator runs, this pointer can simply point to an offset
+     * in the integrator's state vector.
+     *
+     * Only used in the LLVM version.
+     */
+    double*                             rateRuleValues;                   // 11
+
+    /**
+     * the rate of change of all elements who's dynamics are determined
+     * by rate rules.
+     *
+     * In the LLVM version, this is just a pointer to a data block
+     * owned by the integrator. In the C version, lots of strange
+     * stuff goes on here, but the C version does allocate this block,
+     * and do all sorts of copying back and forth between the integrator's
+     * rate rule block.
+     */
+    double*                             rateRuleRates;                    // 12
+
+    /**
+     * LLVM specific
+     * C version does not support local parameters
+     * This is the offset, or starting index of the local parameters
+     * for reaction i. Length is numReactions.
+     *
+     * Rationale: It is simple more effecient to store all the local
+     * parameters in a single dimensional array with offsets, as the
+     * offsets can be computed at compile time, whereas if we used
+     * a array of arrays, it would require an additional memory access
+     * to determine the location of the parameter.
+     */
+    unsigned*                           localParametersOffsets;           // 12
+
+    /**
+     * the number of local parameters for each reaction,
+     * so legnth is numReactions. This is an array of counts,
+     * hence it is named differently than the rest of the num*** fields.
+     */
+    unsigned*                           localParametersNum;               // 14
+
+    /**
+     * All local parameters are stored in this array. This has
+     * length sum(localParameterNum).
+     */
+    double*                             localParameters;                  // 15
+
+    /**
+     * The total ammounts of the floating species, i.e.
+     * concentration * compartment volume.
+     * Everything named floatingSpecies??? has length numFloatingSpecies.
+     *
+     * Note, the floating species consist of BOTH independent AND dependent
+     * species. Indexes [0,numIndpendentSpecies) values are the indenpendent
+     * species, and the [numIndependentSpecies,numIndendentSpecies+numDependentSpecies)
+     * contain the dependent species.
+     */
+    unsigned                            numFloatingSpecies;               // 16
+
+    /**
+     * number of floating species and floating species concentrations.
+     */
+    double*                             floatingSpeciesConcentrations;    // 17
+
+    /**
+     * initial concentration values for floating species.
+     */
+    double*                             floatingSpeciesInitConcentrations;// 18
+
+    /**
+     * amount rates of change for floating species.
+     */
+    double*                             floatingSpeciesAmountRates;       // 19
+
+    /**
+     * The total amount of a species in a compartment.
+     */
+    double*                             floatingSpeciesAmounts;           // 20
+
+    /**
+     * compartment index for each floating species,
+     * e.g. the volume of the i'th species is
+     * md->compartmentVolumes[md->floatingSpeciesCompartments[i]]
+     */
+    unsigned*                           floatingSpeciesCompartments;      // 21
+
+    /**
+     * number of boundary species and boundary species concentrations.
+     * units: either
+     * Mass Percent = (Mass of Solute) / (Mass of Solution) x 100%
+     * Volume Percent= (Volume of Solute) / (Volume of Solution) x 100%
+     * Mass/Volume Percent= (Mass of Solute) / (Volume of Solution) x 100%
+     */
+    unsigned                            numBoundarySpecies;               // 22
+    double*                             boundarySpeciesConcentrations;    // 23
+    double*                             boundarySpeciesAmounts;           // 24
+
+    /**
+     * compartment index for each boundary species,
+     * e.g. the volume of the i'th species is
+     * md->compartmentVolumes[md->boundarySpeciesCompartments[i]]
+     */
+    unsigned*                           boundarySpeciesCompartments;      // 25
+
+    /**
+     * number of compartments, and compartment volumes.
+     * units: volume
+     */
+    unsigned                            numCompartments;                  // 26
+    double*                             compartmentVolumes;               // 27
+
+
+    //Event stuff
+    unsigned                            numEvents;                        // 29
+    unsigned                            eventTypeSize;                    // 30
+    bool*                               eventType;                        // 31
+
+    unsigned                            eventPersistentTypeSize;          // 32
+    bool*                               eventPersistentType;              // 33
+
+    unsigned                            eventTestsSize;                   // 34
+    double*                             eventTests;                       // 35
+
+    unsigned                            eventPrioritiesSize;              // 36
+    double*                             eventPriorities;                  // 37
+
+    unsigned                            eventStatusArraySize;             // 38
+    bool*                               eventStatusArray;                 // 39
+
+    unsigned                            previousEventStatusArraySize;     // 40
+    bool*                               previousEventStatusArray;         // 41
+
+
+    EventDelayHandler*                  eventDelays;                      // 47
+    EventAssignmentHandler*             eventAssignments;                 // 48
+
+    ComputeEventAssignmentHandler*      computeEventAssignments;          // 49
+    PerformEventAssignmentHandler*      performEventAssignments;          // 50
+
+    /**
+     * model name
+     */
+    char*                               modelName;                        // 51
+
+    /**
+     * C species references,
+     * not working correctly...
+     */
+    unsigned                            srSize;                           // 52
+    double*                             sr;                               // 53
+} ModelData;
+//#pragma pack(pop)
+
+#if defined __cplusplus
+}
+#endif
+
+
+
+#endif
diff --git a/source/c/rrModelSharedLibrary.cpp b/source/c/rrModelSharedLibrary.cpp
new file mode 100644
index 0000000..4c7e0f9
--- /dev/null
+++ b/source/c/rrModelSharedLibrary.cpp
@@ -0,0 +1,112 @@
+#pragma hdrstop
+#include "Poco/UUIDGenerator.h"
+#include "Poco/UUIDGenerator.h"
+#include "rrModelSharedLibrary.h"
+#include "rrLogger.h"
+#include "rrUtils.h"
+//---------------------------------------------------------------------------
+
+
+namespace rr
+{
+using Poco::UUID;
+using Poco::UUIDGenerator;
+
+ModelSharedLibrary::ModelSharedLibrary(const string& pathTo)
+{
+	if(fileExists(pathTo))
+    {
+    	load(pathTo);
+    }
+}
+
+ModelSharedLibrary::~ModelSharedLibrary()
+{}
+
+bool ModelSharedLibrary::isLoaded()
+{
+	return mTheLib.isLoaded();
+}
+
+void* ModelSharedLibrary::getSymbol(const string& name)
+{
+	return mTheLib.getSymbol(name);
+}
+bool  ModelSharedLibrary::hasSymbol(const string& name)
+{
+	return mTheLib.hasSymbol(name);
+}
+
+bool ModelSharedLibrary::setPath(const string& pathTo)
+{
+	mPathToLib = pathTo;
+    return true;
+}
+
+bool ModelSharedLibrary::load()
+{
+	return load(getFullFileName());
+}
+
+bool ModelSharedLibrary::load(const string& libName)
+{
+	mPathToLib = getFilePath(libName);
+    mLibName = getFileName(libName);
+#if defined(_WIN32) || defined(__WIN32__)    
+	mTheLib.load(libName);
+#elif defined(__linux)
+    //This flags causes symbols being 'local'
+	mTheLib.load(libName, Poco::SharedLibrary::SHLIB_LOCAL);
+#else
+    mTheLib.load(libName);
+#endif
+
+    return mTheLib.isLoaded();
+}
+
+bool ModelSharedLibrary::unload()
+{
+	mTheLib.unload();
+    return true;
+}
+
+string ModelSharedLibrary::getName()
+{
+	return mLibName;
+}
+
+string ModelSharedLibrary::getFullFileName()
+{
+	return joinPath(mPathToLib, mLibName);
+}
+
+string ModelSharedLibrary::createName(const string& baseName)
+{
+	string newName;
+	if(!baseName.size())
+    {
+		//Create  a new UUID
+		UUIDGenerator& generator = UUIDGenerator::defaultGenerator();
+		UUID uuid2(generator.createRandom());
+    	newName = uuid2.toString();
+    }
+    else
+    {
+    	newName = baseName;
+    }
+#if defined(WIN32)
+    newName.append(".dll");		//Poco suffix adds "d.dll" in debug mode :(
+#else
+	newName.append(mTheLib.suffix());
+#endif
+
+    if(newName != mLibName && isLoaded())
+    {
+    	//Unload the "old" model dll
+        unload();
+    }
+    mLibName = newName;
+	return mLibName;
+}
+
+}
diff --git a/source/c/rrModelSharedLibrary.h b/source/c/rrModelSharedLibrary.h
new file mode 100644
index 0000000..eb905ae
--- /dev/null
+++ b/source/c/rrModelSharedLibrary.h
@@ -0,0 +1,46 @@
+#ifndef rrModelSharedLibraryH
+#define rrModelSharedLibraryH
+//---------------------------------------------------------------------------
+#include "Poco/SharedLibrary.h"
+#include "rrExporter.h"
+#include <string>
+
+
+
+namespace rr
+{
+
+using std::string;
+using Poco::SharedLibrary;
+
+/**
+ * Access an actual compiled shared library (.so, .dll or .dylib) that
+ * was compiled by a ModelGenerator and provides access to the exported
+ * C functions.
+ */
+class RR_DECLSPEC ModelSharedLibrary
+{
+    protected:
+        string                             mLibName;
+        string                            mPathToLib;
+        SharedLibrary                    mTheLib;
+
+    public:
+                                        ModelSharedLibrary(const string& pathToLib = "");
+                                       ~ModelSharedLibrary();
+
+        bool                            setPath(const string& pathTo);
+        string                            createName(const string& name = "");
+        string                            getName();
+        string                            getFullFileName();
+
+        bool                            load();
+        bool                            load(const string& name);
+        bool                            unload();
+        bool                            isLoaded();
+        void*                            getSymbol(const string& name);
+        bool                            hasSymbol(const string& name);
+
+};
+}
+#endif
diff --git a/source/c/rrModelSymbols.cpp b/source/c/rrModelSymbols.cpp
new file mode 100644
index 0000000..043ef7d
--- /dev/null
+++ b/source/c/rrModelSymbols.cpp
@@ -0,0 +1,1073 @@
+/*
+ * rrModelSymbols.cpp
+ *
+ *  Created on: May 31, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "rrModelSymbols.h"
+#include "rrStringUtils.h"
+#include "sbml/Model.h"
+#include "sbml/SBMLDocument.h"
+#include "rrLogger.h"
+#include "rrException.h"
+#include "rrOSSpecifics.h"
+#include "rrRule.h"
+#include <sstream>
+
+using namespace std;
+using namespace libsbml;
+using namespace ls;
+
+namespace rr
+{
+
+const string ModelSymbols::mDoubleFormat("%.19G");
+
+SymbolList test1() {
+    return SymbolList();
+}
+
+SymbolList test2(SymbolList& s) {
+    return s;
+}
+
+//string CModelGenerator::generateModelCode(const string& sbmlStr, const bool& _computeAndAssignConsevationLaws)
+//{
+//    //This function now assume that the sbml already been loaded into NOM and libstruct..
+//    mComputeAndAssignConsevationLaws  = _computeAndAssignConsevationLaws;
+//    Log(lDebug2)<<"Entering CModelGenerators generateModelCode function";
+//    StringList  Warnings;
+//    CodeBuilder ignore;     //The Write functions below are inherited with a CodeBuilder in the
+//                            //prototype that is not to be used..
+//
+//    //Clear header and source file objects...
+//    mHeader.Clear();
+//    mSource.Clear();
+//
+//    mModelName = mNOM->getModelName();
+//    if(!mModelName.size())
+//    {
+//        Log(lWarning)<<"Model name is empty. ModelName is assigned 'NameNotSet'.";
+//        mModelName = "NameNotSet";
+//    }
+//
+//    Log(lDebug1)<<"Processing model: "<<mModelName;
+//    mNumReactions  = mNOM->getNumReactions();
+//
+//    Log(lDebug3)<<"Number of reactions:"<<mNumReactions;
+//
+//    mGlobalParameterList.Clear();
+//    mModifiableSpeciesReferenceList.Clear();
+//    mLocalParameterList.reserve(mNumReactions);
+//    mReactionList.Clear();
+//    mBoundarySpeciesList.Clear();
+//    mFloatingSpeciesConcentrationList.Clear();
+//    mFloatingSpeciesAmountsList.Clear();
+//    mCompartmentList.Clear();
+//    mConservationList.Clear();
+//    mFunctionNames.empty();
+//    mFunctionParameters.empty();
+//
+//    if(mComputeAndAssignConsevationLaws)
+//    {
+//        mNumIndependentSpecies     = mLibStruct->getNumIndSpecies();
+//        mIndependentSpeciesList = mLibStruct->getIndependentSpecies();
+//        mDependentSpeciesList   = mLibStruct->getDependentSpecies();
+//    }
+//    else
+//    {
+//        mNumIndependentSpecies = mLibStruct->getNumSpecies();
+//        mIndependentSpeciesList = mLibStruct->getSpecies();
+//    }
+//
+//    // Load the compartment array (name and value)
+//    mNumCompartments            = readCompartments();
+//
+//    // Read FloatingSpecies
+//    mNumFloatingSpecies         = readFloatingSpecies();
+//    mNumDependentSpecies        = mNumFloatingSpecies - mNumIndependentSpecies;
+//
+//    // Load the boundary species array (name and value)
+//    mNumBoundarySpecies     = readBoundarySpecies();
+//
+//    // Get all the parameters into a list, global and local
+//    mNumGlobalParameters     = readGlobalParameters();
+//    mNumModifiableSpeciesReferences = readModifiableSpeciesReferences();
+//
+//    // Load up local parameters next
+//    readLocalParameters(mNumReactions, mLocalParameterDimensions, mTotalLocalParmeters);
+//    mNumEvents = mNOM->getNumEvents();
+//
+//    //Write model to String builder...
+//    writeClassHeader(ignore);
+//    writeOutVariables(ignore);
+//    writeOutSymbolTables(ignore);
+//
+//    ///// Write non exports
+//    mHeader.NewLine("\n//NON - EXPORTS ========================================");
+//    mHeader.AddFunctionProto("void", "InitializeDelays(ModelData* md)");
+//
+//    ///// Start of exported functions
+//    mHeader.NewLine("\n//EXPORTS ========================================");
+//    mHeader.AddFunctionExport("int", "InitModelData(ModelData* md)");
+//    mHeader.AddFunctionExport("int", "InitModel(ModelData* md)");
+//
+//    mHeader.AddFunctionExport("char*", "getModelName(ModelData* md)");
+//    ///////////////
+//
+//    writeResetEvents(ignore, mNumEvents);
+//    writeSetConcentration(ignore);
+//    writeGetConcentration(ignore);
+//    writeConvertToAmounts(ignore);
+//    writeConvertToConcentrations(ignore);
+//    writeProperties(ignore);
+//    writeAccessors(ignore);
+//    writeUserDefinedFunctions(ignore);
+//    writeSetInitialConditions(ignore, mNumFloatingSpecies);
+//    writeSetBoundaryConditions(ignore);
+//    writeSetCompartmentVolumes(ignore);
+//    writeSetParameterValues(ignore, mNumReactions);
+//
+//    //fills mConservationList
+//    writeComputeConservedTotals(ignore, mNumFloatingSpecies, mNumDependentSpecies);
+//
+//    // Get the L0 matrix
+//    int nrRows;
+//    int nrCols;
+//
+//    ls::DoubleMatrix* aL0 = initializeL0(nrRows, nrCols);     //Todo: What is this doing? answer.. it is used below..
+//    writeUpdateDependentSpecies(ignore, mNumIndependentSpecies, mNumDependentSpecies, *aL0);
+//    int numOfRules = writeComputeRules(ignore, mNumReactions);
+//
+//    writeComputeAllRatesOfChange(ignore, mNumIndependentSpecies, mNumDependentSpecies, *aL0);
+//    delete aL0;
+//    writeComputeReactionRates(ignore, mNumReactions);
+//    writeEvalModel(ignore, mNumReactions, mNumIndependentSpecies, mNumFloatingSpecies, numOfRules);
+//    writeEvalEvents(ignore, mNumEvents, mNumFloatingSpecies);
+//    writeEventAssignments(ignore, mNumReactions, mNumEvents);
+//    writeEvalInitialAssignments(ignore, mNumReactions);
+//    writeTestConstraints(ignore);
+//
+//    writeInitModelDataFunction(mHeader, mSource);
+//    writeInitFunction(mHeader, mSource);
+//
+//    mHeader<<"\n\n#endif //modelH"<<NL();
+//    string modelCode = mHeader.ToString() + mSource.ToString();
+//
+//    Log(lDebug5)<<" ------ Model Code --------\n"
+//            <<modelCode
+//            <<" ----- End of Model Code -----\n";
+//
+//    return modelCode;
+//}
+
+static StringList readIndependentSpeciesList(const LibStructural &libs, bool mComputeAndAssignConsevationLaws);
+static StringList readDependentSpeciesList(const LibStructural &libs, bool mComputeAndAssignConsevationLaws);
+static SymbolList readCompartments(NOMSupport &nom);
+static SymbolList readBoundarySpecies(NOMSupport &nom, const SymbolList &compartmentList);
+static SymbolList readConservationList(const int& numDependentSpecies);
+static SymbolList readFloatingSpeciesConcentrationList(NOMSupport& nom, ls::LibStructural &libs,
+        bool mComputeAndAssignConsevationLaws, const SymbolList &mCompartmentList);
+static SymbolList readGlobalParameters(NOMSupport &nom);
+static SymbolList readModifiableSpeciesReferences(NOMSupport &nom);
+static SymbolList readReactionList(NOMSupport &nom);
+static vector<int> readLocalParameterDimensions(NOMSupport &nom);
+static vector<SymbolList> readLocalParameterList(NOMSupport &nom);
+static StringList readFunctionNames(NOMSupport &nom);
+static StringList readFunctionParameters(NOMSupport &nom);
+static string readModelName(const NOMSupport &nom);
+static IntStringHashTable readRateRules(NOMSupport &nom,
+        const SymbolList &floatingSpeciesConcentrationList,
+        const SymbolList &globalParameterList,
+        const SymbolList &boundarySpeciesList,
+        const SymbolList &compartmentList,
+        const SymbolList &modifiableSpeciesReferenceList);
+
+ModelSymbols::ModelSymbols() :
+    mModelName("NameNotSet"),
+    mBoundarySpeciesList(),
+    mNumBoundarySpecies(0),
+    mCompartmentList(),
+    mNumCompartments(0),
+    mTotalLocalParmeters(0),
+    mNumEvents(0),
+    mNumGlobalParameters(0),
+    mNumIndependentSpecies(0),
+    mNumReactions(0),
+    mNumModifiableSpeciesReferences(0),
+    mFloatingSpeciesConcentrationList(),
+    mNumFloatingSpecies(0),
+    mNumDependentSpecies(0),
+    mGlobalParameterList(),
+    mModifiableSpeciesReferenceList(),
+    mReactionList(),
+    mConservationList(),
+    mComputeAndAssignConsevationLaws(false),
+    mNumRules(0)
+{
+}
+
+ModelSymbols& rr::ModelSymbols::operator=(const ModelSymbols& right)
+{
+    if (this == &right) return *this;
+    this->~ModelSymbols();
+    new (this) ModelSymbols(right);
+    return *this;
+}
+
+ModelSymbols::ModelSymbols(NOMSupport& nom, ls::LibStructural& libs, bool computeAndAssignConsevationLaws) :
+    mModelName(readModelName(nom)),
+    mNumReactions(nom.getNumReactions()),
+    mComputeAndAssignConsevationLaws(computeAndAssignConsevationLaws),
+    mIndependentSpeciesList(readIndependentSpeciesList(libs,  computeAndAssignConsevationLaws)),
+    mNumIndependentSpecies(mIndependentSpeciesList.size()),
+    mDependentSpeciesList(readDependentSpeciesList(libs, computeAndAssignConsevationLaws)),
+    mCompartmentList(readCompartments(nom)),
+    mNumCompartments(mCompartmentList.size()),
+    mFloatingSpeciesConcentrationList(readFloatingSpeciesConcentrationList(nom, libs, computeAndAssignConsevationLaws, mCompartmentList)),
+    mNumFloatingSpecies(mFloatingSpeciesConcentrationList.size()),
+    mNumDependentSpecies(mNumFloatingSpecies - mNumIndependentSpecies),
+    mBoundarySpeciesList(readBoundarySpecies(nom, mCompartmentList)),
+    mNumBoundarySpecies(mBoundarySpeciesList.size()),
+    mGlobalParameterList(readGlobalParameters(nom)),
+    mNumGlobalParameters(mGlobalParameterList.size()),
+    mModifiableSpeciesReferenceList(readModifiableSpeciesReferences(nom)),
+    mNumModifiableSpeciesReferences(mModifiableSpeciesReferenceList.size()),
+    mReactionList(readReactionList(nom)),
+    mLocalParameterDimensions(readLocalParameterDimensions(nom)),
+    mLocalParameterList(readLocalParameterList(nom)),
+    mConservationList(readConservationList(mNumDependentSpecies)),
+    mTotalLocalParmeters(0), // TODO always set to zero before, is this right???
+    mNumEvents(nom.getNumEvents()),
+    mFunctionNames(readFunctionNames(nom)),
+    mFunctionParameters(readFunctionParameters(nom)),
+    mRateRules(readRateRules(nom,
+        mFloatingSpeciesConcentrationList,
+        mGlobalParameterList,
+        mBoundarySpeciesList,
+        mCompartmentList,
+        mModifiableSpeciesReferenceList)),
+   mNumRules(nom.getNumRules())
+{
+    // nothing to do here, all done in initialization list
+}
+
+ModelSymbols::~ModelSymbols()
+{
+    // nothing to do here, we allocate no heap memory
+}
+
+//void ModelSymbols::print()
+//{
+//
+//    cout << "mModelName: " << mModelName << "\n";
+//    cout << "mNumReactions: "  << mNumReactions << "\n";
+//    cout << "mIndependentSpeciesList:\n";
+//    for (int i = 0; i < mIndependentSpeciesList.size(); i++) {
+//        cout << "\t" << mIndependentSpeciesList[i] << "\n";
+//    }
+//    cout << "mNumIndependentSpecies: " <<  mNumIndependentSpecies << "\n";
+//    cout << "mDependentSpeciesList\n";
+//    for (int i = 0; i <  mDependentSpeciesList.size(); i++) {
+//        cout << "\t" << mDependentSpeciesList[i] << "\n";
+//    }
+//    cout << "mCompartmentList: \n";
+//    for (int i = 0; i < mCompartmentList.size(); i++) {
+//        cout << "\t" << mCompartmentList[i] << "\n";
+//    }
+//    /*
+//    int mNumCompartments;
+//    SymbolList mFloatingSpeciesConcentrationList;
+//    int mNumFloatingSpecies;
+//    int mNumDependentSpecies;
+//    SymbolList mBoundarySpeciesList;
+//    int mNumBoundarySpecies;
+//    SymbolList mGlobalParameterList;
+//    int mNumGlobalParameters;
+//    SymbolList mModifiableSpeciesReferenceList;
+//    int mNumModifiableSpeciesReferences;
+//    SymbolList mReactionList;
+//    vector<int> mLocalParameterDimensions;
+//    vector<SymbolList> mLocalParameterList;
+//    SymbolList mConservationList;
+//    int mTotalLocalParmeters;
+//    int mNumEvents;
+//    StringList mFunctionNames;
+//    StringList mFunctionParameters;
+//    IntStringHashTable                  mMapRateRule;
+//    SymbolList mFloatingSpeciesAmountsList;
+//    */
+//
+//}
+
+static string readModelName(const NOMSupport &nom)
+{
+    string modelName = nom.getModelName();
+    if(!modelName.size())
+    {
+        Log(lWarning)<<"Model name is empty. ModelName is assigned 'NameNotSet'.";
+        modelName = "NameNotSet";
+    }
+    return modelName;
+}
+
+
+
+
+static SymbolList readCompartments(NOMSupport &nom)
+{
+    // cout << __FUNC__ << "\n";
+    SymbolList compartmentList;
+    const int numCompartments = nom.getNumCompartments();
+    for (u_int i = 0; i < numCompartments; i++)
+    {
+        string sCompartmentId = nom.getNthCompartmentId(i);
+        double value = nom.getValue(sCompartmentId);
+
+        if(isNaN(value))
+        {
+            value = 1;
+        }
+        compartmentList.Add(Symbol(sCompartmentId, value));
+    }
+    return compartmentList;
+}
+
+
+
+static SymbolList readBoundarySpecies(NOMSupport &nom, const SymbolList &compartmentList)
+{
+    // cout << __FUNC__ << "\n";
+    StringListContainer oBoundarySpecies = nom.getListOfBoundarySpecies();
+    const int numBoundarySpecies = oBoundarySpecies.Count(); // sp1.size();
+    SymbolList boundarySpeciesList;
+    for (int i = 0; i < numBoundarySpecies; i++)
+    {
+        StringList oTempList     = oBoundarySpecies[i];
+        string sName             = oTempList[0];
+        string compartmentName     = nom.getNthBoundarySpeciesCompartmentName(i);
+        bool bIsConcentration     = toBool(oTempList[2]);
+        double dValue             = toDouble(oTempList[1]);
+        if (isNaN(dValue))
+        {
+            dValue = 0;
+        }
+
+        Symbol symbol;
+        if (bIsConcentration)
+        {
+            symbol = Symbol(sName, dValue, compartmentName);
+        }
+        else
+        {
+            int nCompartmentIndex;
+            double dVolume;
+            if(compartmentList.find(compartmentName, nCompartmentIndex))
+            {
+                dVolume = compartmentList[nCompartmentIndex].value;
+            }
+            else
+            {
+                if (isNaN(dVolume))
+                {
+                    dVolume = 1;
+                }
+            }
+            stringstream formula;
+            formula<<toString(dValue, ModelSymbols::mDoubleFormat)<<"/ md->compartmentVolumes["<<nCompartmentIndex<<"]";
+            symbol = Symbol(sName,
+                                dValue / dVolume,
+                                compartmentName,
+                                formula.str());
+        }
+
+        if(nom.getModel())
+        {
+            const Species* species = nom.getModel()->getSpecies(sName);
+            if(species)
+            {
+                symbol.hasOnlySubstance = species->getHasOnlySubstanceUnits();
+                symbol.constant = species->getConstant();
+            }
+        }
+        else
+        {
+            //TODO: How to report error...?
+            //Log an error...
+            symbol.hasOnlySubstance = false;
+
+        }
+        boundarySpeciesList.Add(symbol);
+    }
+    return boundarySpeciesList;
+}
+
+//int CModelGenerator::readBoundarySpecies()
+//{
+//    int numBoundarySpecies;
+//    StringListContainer oBoundarySpecies = mNOM->getListOfBoundarySpecies();
+//    numBoundarySpecies = oBoundarySpecies.Count(); // sp1.size();
+//    for (int i = 0; i < numBoundarySpecies; i++)
+//    {
+//        StringList oTempList     = oBoundarySpecies[i];
+//        string sName             = oTempList[0];
+//        string compartmentName     = mNOM->getNthBoundarySpeciesCompartmentName(i);
+//        bool bIsConcentration     = toBool(oTempList[2]);
+//        double dValue             = toDouble(oTempList[1]);
+//        if (isNaN(dValue))
+//        {
+//            dValue = 0;
+//        }
+//
+//        Symbol *symbol = NULL;
+//        if (bIsConcentration)
+//        {
+//            //Todo: memoryleak
+//            symbol = new Symbol(sName, dValue, compartmentName);
+//        }
+//        else
+//        {
+//            int nCompartmentIndex;
+//            double dVolume;
+//            if(ms.mCompartmentList.find(compartmentName, nCompartmentIndex))
+//            {
+//                dVolume = ms.mCompartmentList[nCompartmentIndex].value;
+//            }
+//            else
+//            {
+//                if (isNaN(dVolume))
+//                {
+//                    dVolume = 1;
+//                }
+//            }
+//            stringstream formula;
+//            formula<<toString(dValue, ms.mDoubleFormat)<<"/ md->c["<<nCompartmentIndex<<"]";
+//            symbol = new Symbol(sName,
+//                                dValue / dVolume,
+//                                compartmentName,
+//                                formula.str());
+//        }
+//
+//        if(mNOM->getModel())
+//        {
+//            Species* species = mNOM->getModel()->getSpecies(sName);
+//            if(species)
+//            {
+//                symbol->hasOnlySubstance = species->getHasOnlySubstanceUnits();
+//                symbol->constant = species->getConstant();
+//            }
+//        }
+//        else
+//        {
+//            //TODO: How to report error...?
+//            //Log an error...
+//            symbol->hasOnlySubstance = false;
+//
+//        }
+//        ms.mBoundarySpeciesList.Add(*symbol);
+//    }
+//    return numBoundarySpecies;
+//}
+
+
+static SymbolList readConservationList(const int& numDependentSpecies)
+{
+    // cout << __FUNC__ << "\n";
+    SymbolList conservationList;
+    for (int i = 0; i < numDependentSpecies; i++)
+    {
+        conservationList.Add(Symbol("CSUM" + toString(i))); //TODO: how to deal with this?
+    }
+    return conservationList;
+}
+
+
+static StringList readIndependentSpeciesList(const LibStructural &libs, bool mComputeAndAssignConsevationLaws)
+{
+    // cout << __FUNC__ << "\n";
+    //    if(mComputeAndAssignConsevationLaws)
+    //    {
+    //        mNumIndependentSpecies     = mLibStruct->getNumIndSpecies();
+    //        mIndependentSpeciesList = mLibStruct->getIndependentSpecies();
+    //        mDependentSpeciesList   = mLibStruct->getDependentSpecies();
+    //    }
+    //    else
+    //    {
+    //        mNumIndependentSpecies = mLibStruct->getNumSpecies();
+    //        mIndependentSpeciesList = mLibStruct->getSpecies();
+    //    }
+    return mComputeAndAssignConsevationLaws ? libs.getIndependentSpecies() : libs.getSpecies();
+}
+
+static StringList readDependentSpeciesList(const LibStructural &libs, bool mComputeAndAssignConsevationLaws)
+{
+    // cout << __FUNC__ << "\n";
+    return mComputeAndAssignConsevationLaws ? StringList(libs.getDependentSpecies()) : StringList();
+}
+
+static SymbolList readFloatingSpeciesConcentrationList(NOMSupport& nom, LibStructural &libs,
+        bool mComputeAndAssignConsevationLaws, const SymbolList &mCompartmentList)
+{
+    // cout << __FUNC__ << "\n";
+    IntStringHashTable mapVariables;
+    const int numOfRules = nom.getNumRules();
+
+    SymbolList floatingSpeciesConcentrationList;
+
+    // Load a reordered list into the variable list.
+    StringList reOrderedList;
+
+    if (mComputeAndAssignConsevationLaws)
+    {
+        reOrderedList = libs.getReorderedSpecies();
+    }
+    else
+    {
+        reOrderedList = libs.getSpecies();
+    }
+
+    StringListContainer oFloatingSpecies = nom.getListOfFloatingSpecies();
+
+    for (int i = 0; i < reOrderedList.size(); i++)
+    {
+        for (int j = 0; j < oFloatingSpecies.Count(); j++)
+        {
+            StringList oTempList = oFloatingSpecies[j];
+            if (reOrderedList[i] != (const string&) oTempList[0])
+            {
+                continue;
+            }
+
+            string compartmentName = nom.getNthFloatingSpeciesCompartmentName(j);
+            bool bIsConcentration = toBool(oTempList[2]);
+            double dValue = toDouble(oTempList[1]);
+            if (isNaN(dValue))
+            {
+                dValue = 0;
+            }
+
+            Symbol symbol;
+            if (bIsConcentration)
+            {
+                symbol = Symbol(reOrderedList[i], dValue, compartmentName);
+            }
+            else
+            {
+                int nCompartmentIndex;
+                mCompartmentList.find(compartmentName, nCompartmentIndex);
+
+                double dVolume = mCompartmentList[nCompartmentIndex].value;
+                if (isNaN(dVolume))
+                {
+                    dVolume = 1;
+                }
+
+                stringstream formula;
+                formula << toString(dValue, ModelSymbols::mDoubleFormat)
+                            << "/ md->compartmentVolumes[" << nCompartmentIndex << "]";
+
+                symbol = Symbol(reOrderedList[i], dValue / dVolume,
+                        compartmentName, formula.str());
+            }
+
+            if (nom.getModel())
+            {
+                const Species *aSpecies = nom.getModel()->getSpecies(reOrderedList[i]);
+                if (aSpecies)
+                {
+                    symbol.hasOnlySubstance = aSpecies->getHasOnlySubstanceUnits();
+                    symbol.constant = aSpecies->getConstant();
+                }
+            }
+            else
+            {
+                //TODO: How to report error...?
+                //Log an error...
+                symbol.hasOnlySubstance = false;
+            }
+            Log(lDebug5) << "Adding symbol to floatingSpeciesConcentrationList:" << (symbol);
+            floatingSpeciesConcentrationList.Add(symbol);
+            break;
+        }
+    }
+
+
+    for (int i = 0; i < numOfRules; i++)
+    {
+        try
+        {
+            string ruleType = nom.getNthRuleType(i);
+
+            // We only support assignment and ode rules at the moment
+            string eqnRule = nom.getNthRule(i);
+            RRRule aRule(eqnRule, ruleType);
+            string varName = trim(aRule.GetLHS());
+
+            bool isRateRule = false;
+
+            if (aRule.GetType() == rtRate)
+            {
+                isRateRule = true;
+                int index;
+                if (floatingSpeciesConcentrationList.find(varName, index))
+                {
+                    floatingSpeciesConcentrationList[index].rateRule = true;
+                }
+                else
+                {
+                    //leftSideRule = "\n\tmd->rateRuleRates[" + toString(numRateRules) + "]";
+                    //ms.mRateRules[numRateRules] = findSymbol(varName);
+                    //mapVariables[numRateRules] = varName;
+                    //numRateRules++;
+                }
+            }
+        }
+        catch (const Exception& e)
+        {
+            throw CoreException("Error while trying to get Rule #" + toString(i) + e.Message());
+        }
+    }
+
+
+
+
+    return floatingSpeciesConcentrationList;
+}
+//
+//int CModelGenerator::readFloatingSpecies()
+//{
+//    // Load a reordered list into the variable list.
+//    StringList reOrderedList;
+//
+//    if(mComputeAndAssignConsevationLaws)
+//    {
+//       reOrderedList = mLibStruct->getReorderedSpecies();
+//    }
+//    else
+//    {
+//        reOrderedList = mLibStruct->getSpecies();
+//    }
+//
+//    StringListContainer oFloatingSpecies = mNOM->getListOfFloatingSpecies();
+//
+//    for (int i = 0; i < reOrderedList.Count(); i++)
+//    {
+//        for (int j = 0; j < oFloatingSpecies.Count(); j++)
+//        {
+//            StringList oTempList = oFloatingSpecies[j];
+//              if(reOrderedList[i] != (const string&) oTempList[0])
+//              {
+//                  continue;
+//              }
+//
+//            string compartmentName = mNOM->getNthFloatingSpeciesCompartmentName(j);
+//            bool bIsConcentration  = toBool(oTempList[2]);
+//            double dValue = toDouble(oTempList[1]);
+//            if (isNaN(dValue))
+//            {
+//                  dValue = 0;
+//            }
+//
+//            Symbol *symbol = NULL;
+//            if (bIsConcentration)
+//            {
+//              symbol = new Symbol(reOrderedList[i], dValue, compartmentName);
+//            }
+//            else
+//            {
+//              int nCompartmentIndex;
+//              ms.mCompartmentList.find(compartmentName, nCompartmentIndex);
+//
+//              double dVolume = ms.mCompartmentList[nCompartmentIndex].value;
+//              if (isNaN(dVolume))
+//              {
+//                dVolume = 1;
+//              }
+//
+//              stringstream formula;
+//              formula<<toString(dValue,ms.mDoubleFormat)<<"/ md->c["<<nCompartmentIndex<<"]";
+//
+//              symbol = new Symbol(reOrderedList[i],
+//                  dValue / dVolume,
+//                  compartmentName,
+//                  formula.str());
+//            }
+//
+//            if(mNOM->getModel())
+//            {
+//                Species *aSpecies = mNOM->getModel()->getSpecies(reOrderedList[i]);
+//                if(aSpecies)
+//                {
+//                    symbol->hasOnlySubstance = aSpecies->getHasOnlySubstanceUnits();
+//                    symbol->constant = aSpecies->getConstant();
+//                }
+//            }
+//            else
+//            {
+//                //TODO: How to report error...?
+//                //Log an error...
+//                symbol->hasOnlySubstance = false;
+//            }
+//            Log(lDebug5)<<"Adding symbol to ms.mFloatingSpeciesConcentrationList:"<<(*symbol);
+//            ms.mFloatingSpeciesConcentrationList.Add(*(symbol));
+//            delete symbol;
+//            break;
+//          }
+//          //throw RRException("Reordered Species " + reOrderedList[i] + " not found.");
+//      }
+//      return oFloatingSpecies.Count();
+//}
+//
+
+
+static string findSymbol(const string& varName,
+                         const SymbolList &floatingSpeciesConcentrationList,
+                         const SymbolList &globalParameterList,
+                         const SymbolList &boundarySpeciesList,
+                         const SymbolList &compartmentList,
+                         const SymbolList &modifiableSpeciesReferenceList)
+{
+      int index = 0;
+      if (floatingSpeciesConcentrationList.find(varName, index))
+      {
+          return format("md->floatingSpeciesConcentrations[{0}]", index);
+      }
+      else if (globalParameterList.find(varName, index))
+      {
+          return format("md->globalParameters[{0}]", index);
+      }
+      else if (boundarySpeciesList.find(varName, index))
+      {
+          return format("md->boundarySpeciesConcentrations[{0}]", index);
+      }
+      else if (compartmentList.find(varName, index))
+      {
+          return format("md->compartmentVolumes[{0}]", index);
+      }
+      else if (modifiableSpeciesReferenceList.find(varName, index))
+      {
+          return format("md->sr[{0}]", index);
+      }
+      else
+      {
+          throw Exception(format("Unable to locate lefthand side symbol in assignment[{0}]", varName));
+      }
+}
+
+static IntStringHashTable readRateRules(NOMSupport &nom,
+        const SymbolList &floatingSpeciesConcentrationList,
+        const SymbolList &globalParameterList,
+        const SymbolList &boundarySpeciesList,
+        const SymbolList &compartmentList,
+        const SymbolList &modifiableSpeciesReferenceList)
+{
+    IntStringHashTable rateRules;
+    const int numOfRules = nom.getNumRules();
+    int numRateRules = 0;
+
+    for (int i = 0; i < numOfRules; i++)
+    {
+        try
+        {
+            string ruleType = nom.getNthRuleType(i);
+
+            // We only support assignment and ode rules at the moment
+            string eqnRule = nom.getNthRule(i);
+            RRRule aRule(eqnRule, ruleType);
+            string varName = trim(aRule.GetLHS());
+
+            bool isRateRule = false;
+
+            if (aRule.GetType() == rtRate)
+            {
+                isRateRule = true;
+                int index;
+                if (!floatingSpeciesConcentrationList.find(varName, index))
+                {
+                    rateRules[numRateRules++] = findSymbol(varName,
+                            floatingSpeciesConcentrationList,
+                            globalParameterList, boundarySpeciesList,
+                            compartmentList, modifiableSpeciesReferenceList);
+                }
+            }
+        }
+        catch (const Exception& e)
+        {
+            throw CoreException("Error while trying to get Rule #" + toString(i) + e.Message());
+        }
+    }
+
+    return rateRules;
+}
+
+
+
+
+static SymbolList readGlobalParameters(NOMSupport &nom)
+{
+    // cout << __FUNC__ << "\n";
+    SymbolList gblobalParameterList;
+
+    int numGlobalParameters;
+    StringListContainer oParameters = nom.getListOfParameters();
+    numGlobalParameters = oParameters.Count();
+    for (u_int i = 0; i < numGlobalParameters; i++)
+    {
+        StringList parameter = oParameters[i];
+
+        string name = parameter[0];
+        double value = toDouble(parameter[1]);
+        Symbol aSymbol(name, value);
+        Log(lDebug5) << "Adding symbol" << aSymbol
+                << " to global parameters";
+
+        gblobalParameterList.Add(aSymbol);
+    }
+    return gblobalParameterList;
+}
+
+//int ModelGenerator::readGlobalParameters()
+//{
+//    CHECK_LIB_NOM();
+//
+//    int numGlobalParameters;
+//    ArrayList oParameters = mNOM->getListOfParameters();
+//    numGlobalParameters = oParameters.Count();
+//    for (u_int i = 0; i < numGlobalParameters; i++)
+//    {
+//        StringList parameter = oParameters[i];
+//
+//        string name     = parameter[0];
+//        double value     = toDouble(parameter[1]);
+//        Symbol aSymbol(name, value);
+//        Log(lDebug5)<<"Adding symbol"<<aSymbol<<" to global parameters";
+//
+//        ms.mGlobalParameterList.Add(aSymbol);
+//    }
+//    return numGlobalParameters;
+//}
+
+
+static SymbolList readModifiableSpeciesReferences(NOMSupport &nom)
+{
+    // cout << __FUNC__ << "\n";
+    SymbolList modifiableSpeciesReferenceList;
+
+    if(!nom.getSBMLDocument())
+    {
+        throw Exception("nom.getSBMLDocument() is NULL");
+    }
+    SBMLDocument &SBMLDoc = *nom.getSBMLDocument();
+    Model &SbmlModel  = *nom.getModel();
+
+    if(nom.getSBMLDocument()->getLevel() < 3)
+    {
+        // return empty list
+        return modifiableSpeciesReferenceList;
+    }
+
+    string id;
+    double value;
+    int numReactions = SbmlModel.getNumReactions();
+    for (u_int i = 0; i < numReactions; i++)
+    {
+        Reaction &reaction = *(SbmlModel.getReaction(i));
+        for (u_int j = 0; j < reaction.getNumReactants(); j++)
+        {
+            SpeciesReference &reference = *(reaction.getReactant(j));
+            id = reference.getId();
+            if (!(id.size()))
+            {
+                continue;
+            }
+            value = reference.getStoichiometry();
+            if (isNaN(value))
+                value = 1;
+
+            if (reference.isSetId())
+            {
+                modifiableSpeciesReferenceList.Add(Symbol(id, value));
+            }
+        }
+        for (u_int j = 0; j < reaction.getNumProducts(); j++)
+        {
+            SpeciesReference &reference = *(reaction.getProduct(j));
+            id = reference.getId();
+            if (isNullOrEmpty(id))
+            {
+                continue;
+            }
+            value = reference.getStoichiometry();
+            if (isNaN(value))
+            {
+                value = 1;
+            }
+
+            if (reference.isSetId())
+            {
+                modifiableSpeciesReferenceList.Add(Symbol(id, value));
+            }
+        }
+    }
+    return modifiableSpeciesReferenceList;
+}
+
+
+// readLocalParameters(mNumReactions, mLocalParameterDimensions, mTotalLocalParmeters);
+//Todo: totalLocalParmeters is not used
+static SymbolList readReactionList(NOMSupport &nom)
+{
+    // cout << __FUNC__ << "\n";
+    SymbolList reactionList;
+    const int numReactions = nom.getNumReactions();
+    for (int i = 0; i < numReactions; i++)
+    {
+        reactionList.Add(Symbol(nom.getNthReactionId(i), 0.0));
+    }
+    return reactionList;
+}
+
+static vector<int> readLocalParameterDimensions(NOMSupport &nom)
+{
+    // cout << __FUNC__ << "\n";
+    vector<int> localParameterDimensions;
+    const int numReactions = nom.getNumReactions();
+    localParameterDimensions.resize(numReactions);
+    for (int i = 0; i < numReactions; i++)
+    {
+        localParameterDimensions[i] = nom.getNumParameters(i);
+    }
+    return localParameterDimensions;
+}
+
+static vector<SymbolList> readLocalParameterList(NOMSupport &nom)
+{
+    // cout << __FUNC__ << "\n";
+    vector<SymbolList> localParameterList;
+    const int numReactions = nom.getNumReactions();
+    localParameterList.resize(numReactions);
+
+    for (int i = 0; i < numReactions; i++)
+    {
+        const int numLocalParameters = nom.getNumParameters(i);
+        string reactionName = nom.getNthReactionId(i);
+        SymbolList newList;
+        for (u_int j = 0; j < numLocalParameters; j++)
+        {
+            string name = nom.getNthParameterId(i, j);
+            double value = nom.getNthParameterValue(i, j);
+            newList.Add(Symbol(reactionName, name, value));
+        }
+        localParameterList.push_back(newList);
+    }
+    return localParameterList;
+}
+
+////Todo: totalLocalParmeters is not used
+//void ModelGenerator::readLocalParameters(const int& numReactions,  vector<int>& localParameterDimensions, int& totalLocalParmeters)
+//{
+//    CHECK_LIB_NOM();
+//
+//    string name;
+//    double value;
+//    int numLocalParameters;
+//    totalLocalParmeters = 0;
+//    string reactionName;
+//    localParameterDimensions.resize(numReactions);
+//    for (int i = 0; i < numReactions; i++)
+//    {
+//        numLocalParameters = mNOM->getNumParameters(i);
+//        reactionName = mNOM->getNthReactionId(i);
+//        ms.mReactionList.Add(Symbol(reactionName, 0.0));
+//        SymbolList newList;
+//        for (u_int j = 0; j < numLocalParameters; j++)
+//        {
+//            localParameterDimensions[i] = numLocalParameters;
+//            name = mNOM->getNthParameterId(i, j);
+//            value = mNOM->getNthParameterValue(i, j);
+//            newList.Add(Symbol(reactionName, name, value));
+//        }
+//        ms.mLocalParameterList.push_back(newList);
+//    }
+//}
+
+
+
+StringList readFunctionNames(NOMSupport &nom)
+{
+    // cout << __FUNC__ << "\n";
+    StringList mFunctionNames;
+    for (int i = 0; i < nom.getNumFunctionDefinitions(); i++)
+    {
+        try
+        {
+            StringListContainer oList = nom.getNthFunctionDefinition(i);
+            StringList aList = oList[0];
+
+            string sName = aList[0];
+            mFunctionNames.add(sName);
+        }
+        catch (const Exception& ex)
+        {
+            std::stringstream ss;
+            ss << "Error while trying to get Function Definition # ";
+            ss << i << ", what: " << ex.what();
+            throw Exception(ss.str());
+        }
+    }
+    return mFunctionNames;
+}
+
+StringList readFunctionParameters(NOMSupport &nom)
+{
+    // cout << __FUNC__ << "\n";
+    StringList mFunctionParameters;
+    for (int i = 0; i < nom.getNumFunctionDefinitions(); i++)
+    {
+        try
+        {
+            StringListContainer oList = nom.getNthFunctionDefinition(i);
+            StringList oArguments = oList[1];
+
+            for (int j = 0; j < oArguments.size(); j++)
+            {
+                mFunctionParameters.add((string) oArguments[j]);
+            }
+        }
+        catch (const Exception& ex)
+        {
+            std::stringstream ss;
+            ss << "Error while trying to get Function Definition # ";
+            ss << i << ", what: " << ex.what();
+            throw Exception(ss.str());
+        }
+    }
+    return mFunctionParameters;
+}
+
+// for the time being, copy these here to have quick look to see if anything is wrong.
+
+//int ModelGenerator::readCompartments()
+//{
+//    CHECK_LIB_NOM();
+//
+//    int numCompartments = mNOM->getNumCompartments();
+//    for (u_int i = 0; i < numCompartments; i++)
+//    {
+//        string sCompartmentId = mNOM->getNthCompartmentId(i);
+//        double value = mNOM->getValue(sCompartmentId);
+//
+//        if(isNaN(value))
+//        {
+//            value = 1;
+//        }
+//        ms.mCompartmentList.Add(Symbol(sCompartmentId, value));
+//    }
+//    return numCompartments;
+//}
+
+
+
+
+} /* namespace rr */
diff --git a/source/c/rrModelSymbols.h b/source/c/rrModelSymbols.h
new file mode 100644
index 0000000..b448b6f
--- /dev/null
+++ b/source/c/rrModelSymbols.h
@@ -0,0 +1,106 @@
+/*
+ * rrModelSymbols.h
+ *
+ *  Created on: May 31, 2013
+ *      Author: andy
+ */
+
+#ifndef RRMODELSYMBOLS_H_
+#define RRMODELSYMBOLS_H_
+
+#include "rrSymbolList.h"
+#include "rrHashTable.h"
+#include "rrNOMSupport.h"
+#include "rr-libstruct/lsLibStructural.h"
+
+namespace rr
+{
+
+class RR_DECLSPEC ModelSymbols
+{
+public:
+    ModelSymbols();
+    ModelSymbols(NOMSupport& nom, ls::LibStructural& libs,
+                 bool computeAndAssignConsevationLaws);
+
+    /**
+     * have to define assignment operator if you want
+     * assignable types with const member vars.
+     */
+    ModelSymbols& operator=(const ModelSymbols&);
+
+    virtual ~ModelSymbols();
+
+    /**
+     * ! CRITICALLY IMPORTANT !
+     * THE ORDER OF THE MEMBER VARIABLE DEFINITIONS BELOW HAVE TO BE IN THIS ORDER.
+     *
+     * This class is created entierly in the initialization list, and the initialization
+     * list order is determined by the order of variable definitions. Many variables
+     * depend on previous variables. A little squirly, but thats the price to pay
+     * for having all const member vars.
+     */
+
+    /**
+     * name of the model
+     */
+    const string mModelName;
+
+    const int mNumReactions;
+
+    const bool mComputeAndAssignConsevationLaws;
+
+    /**
+     * if we computeAndAssignConsevationLaws, this is the actual Independent
+     * species, otherwise, its just species.
+     *
+     * Independent species are the linearly independent species in the
+     * stochiometry matrix.
+     */
+    const StringList mIndependentSpeciesList;
+    const int mNumIndependentSpecies;
+
+    /**
+     * copied straight from the NOM
+     */
+    const StringList mDependentSpeciesList;
+
+    const SymbolList mCompartmentList;
+    const int mNumCompartments;
+
+    const SymbolList mFloatingSpeciesConcentrationList;
+    const int mNumFloatingSpecies;
+
+    const int mNumDependentSpecies;
+
+    const SymbolList mBoundarySpeciesList;
+    const int mNumBoundarySpecies;
+
+    const SymbolList mGlobalParameterList;
+    const int mNumGlobalParameters;
+
+    const SymbolList mModifiableSpeciesReferenceList;
+    const int mNumModifiableSpeciesReferences;
+
+    const SymbolList mReactionList;
+
+    const vector<int> mLocalParameterDimensions;
+    const vector<SymbolList> mLocalParameterList;
+
+    const SymbolList mConservationList;
+
+    const int mTotalLocalParmeters;
+    const int mNumEvents;
+
+    const StringList mFunctionNames;
+    const StringList mFunctionParameters;
+
+    const IntStringHashTable mRateRules;
+
+    static const string mDoubleFormat;
+
+    const int mNumRules;
+};
+
+} /* namespace rr */
+#endif /* RRMODELSYMBOLS_H_ */
diff --git a/source/c/rrNOMSupport.cpp b/source/c/rrNOMSupport.cpp
new file mode 100644
index 0000000..6a89f13
--- /dev/null
+++ b/source/c/rrNOMSupport.cpp
@@ -0,0 +1,4137 @@
+#pragma hdrstop
+#include <math.h>
+#include "sbml/Model.h"
+#include "sbml/SBMLDocument.h"
+#include "sbml/math/FormulaFormatter.h"
+#include "sbml/common/libsbml-version.h"
+#include "rrLogger.h"
+#include "rrNOMSupport.h"
+#include "rrStringUtils.h"
+#include "rrException.h"
+#include "rrStringBuilder.h"
+#include "rrSBMLSymbol.h"
+#include "rrOSSpecifics.h"
+//---------------------------------------------------------------------------
+
+using namespace std;
+using namespace libsbml;
+namespace rr
+{
+
+/**
+ * SBML_formulaToString is used all over the place here,
+ * SBML_formulaToString returns a char* that MUST BE FREED!!!
+ *
+ * This function frees the string and returns a std::string with its contents.
+ */
+std::string SBML_formulaToStdString(const ASTNode *tree)
+{
+    char* cstr = SBML_formulaToString(tree);
+    std::string result = cstr;
+    free(cstr);
+    return result;
+}
+
+const string NOMSupport::STR_DoubleFormat("%.5G");
+
+/**
+ * some helper functions for changeSymbol.
+ * These are private symbols inside this file so they
+ * are not even visible anywhere else.
+ *
+ * Recursivly go through a ASTNode tree and change the name to time
+ */
+static void changeSymbol(ASTNode *node, const string& time, const int& targetType);
+
+/**
+ * Many sbml classes have isSetMath, setMath and getMath methods.
+ * This template replaces the name of each ASTNode item with sTimeSymbol
+ */
+template <class MathT>
+static void changeSymbolT(MathT* thing, const string& sTimeSymbol, const int& targetType);
+
+NOMSupport::NOMSupport()
+:
+mSBMLDoc(NULL),
+mModel(NULL)
+{
+}
+
+NOMSupport::~NOMSupport()
+{
+    Log(lDebug3) << __FUNC__ << "\n";
+    // the mModel is owned by the sbml doc.
+    delete mSBMLDoc;
+}
+
+
+string NOMSupport::getlibSBMLVersion()
+{
+    return getLibSBMLDottedVersion();
+}
+
+Model* NOMSupport::getModel()
+{
+    return mModel;
+}
+
+SBMLDocument* NOMSupport::getSBMLDocument()
+{
+    return mSBMLDoc;
+}
+
+void NOMSupport::reset()
+{
+    mSymbolTable.clear();
+
+    delete mSBMLDoc;
+    mModel      = NULL;
+    mSBMLDoc    = NULL;
+}
+
+string NOMSupport::getNthCompartmentId(const int& nIndex)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    if (nIndex < 0 || nIndex >= (int) mModel->getNumCompartments())
+    {
+        throw Exception("Invalid input - Argument should be >= 0 and should be less than total number of compartments in the model");
+
+    }
+    Compartment *oCompartment = mModel->getCompartment((int)nIndex);
+    return getId(*oCompartment);
+}
+
+double NOMSupport::getValue(const string& sId)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    Species *oSpecies = mModel->getSpecies(sId);
+    if (oSpecies != NULL)
+    {
+        if (oSpecies->isSetInitialAmount())
+        {
+            return oSpecies->getInitialAmount();
+        }
+        else
+        {
+            return oSpecies->getInitialConcentration();
+        }
+    }
+
+    Compartment *oCompartment = mModel->getCompartment(sId);
+    if (oCompartment != NULL)
+    {
+        return oCompartment->getVolume();
+    }
+
+    libsbml::Parameter *oParameter = mModel->getParameter(sId);
+    if (oParameter != NULL)
+    {
+        return oParameter->getValue();
+    }
+
+    for (u_int i = 0; i < mModel->getNumReactions(); i++)
+    {
+        Reaction* reaction = mModel->getReaction(i);
+        for (int j = 0; j < reaction->getNumReactants(); j++)
+        {
+            SpeciesReference *reference = reaction->getReactant(j);
+            if (reference->isSetId() && reference->getId() == sId)
+            {
+                if (reference->isSetStoichiometry())
+                {
+                    return reference->getStoichiometry();
+                }
+                else
+                {
+                    return 1;
+                }
+            }
+        }
+
+        for (int j = 0; j < reaction->getNumProducts(); j++)
+        {
+            SpeciesReference *reference = reaction->getProduct(j);
+            if (reference->isSetId() && reference->getId() == sId)
+            {
+                if (reference->isSetStoichiometry())
+                {
+                    return reference->getStoichiometry();
+                }
+                else
+                {
+                    return 1;
+                }
+            }
+        }
+    }
+
+    throw Exception("Invalid string name. The id '" + sId + "' does not exist in the model");
+}
+
+
+StringListContainer NOMSupport::getListOfBoundarySpecies()
+{
+    StringListContainer boundarySpeciesList;
+
+    if (mModel == NULL)
+    {
+        throw NOMException("You need to load the model first");
+    }
+
+    for (int i = 0; i < mModel->getNumSpecies(); i++)
+    {
+        Species *oSpecies = mModel->getSpecies(i);
+        if (oSpecies->getBoundaryCondition())
+        {
+            StringList oSpeciesValues;
+            oSpeciesValues.add(oSpecies->getId());
+            double concentration = oSpecies->isSetInitialConcentration() ? oSpecies->getInitialConcentration() : oSpecies->getInitialAmount();
+            oSpeciesValues.add( toString(concentration, STR_DoubleFormat) );
+            oSpeciesValues.add( toString(oSpecies->isSetInitialConcentration()) );
+
+            boundarySpeciesList.Add(oSpeciesValues);
+        }
+    }
+
+    return boundarySpeciesList;
+}
+
+string NOMSupport::getId(SBase& element)
+{
+    if (element.isSetId())
+        return element.getId();
+    return element.getName();
+}
+
+
+
+string NOMSupport::getName(const SBase* element)
+{
+    if(!element)
+    {
+        return string("");
+    }
+
+    if (element->isSetName())
+        return element->getName();
+    return element->getId();
+}
+
+string NOMSupport::convertMathMLToString(const string& sMathML)
+{
+    ASTNode* node = libsbml::readMathMLFromString(sMathML.c_str());
+    string str = SBML_formulaToStdString(node);
+    delete node;
+    return str;
+}
+
+string NOMSupport::convertStringToMathML(const string& var0)
+{
+    ASTNode *node = SBML_parseFormula(var0.c_str());
+    char *cstr = 0;
+
+    cstr = writeMathMLToString(node);
+    string result = cstr;
+
+    delete node;
+    free(cstr);
+
+    return result;
+}
+
+string NOMSupport::convertTime(const string& sArg, const string& sTimeSymbol)
+{
+    // we own sbml doc, and it creates a cstr, but it owns the model.
+    SBMLDocument* oSBMLDoc = 0;
+    char *cstr = 0;
+    Model* oModel = 0;
+    string sbml;
+
+    Log(lDebug4)<<"Entering function "<<__FUNC__<<" in file "<<__FILE__;
+    try
+    {
+        oSBMLDoc = readSBMLFromString(sArg.c_str());
+        if(oSBMLDoc)
+        {
+            if((oModel = oSBMLDoc->getModel()) != 0)
+            {
+                NOMSupport::changeTimeSymbol(*oModel, sTimeSymbol);
+                cstr = writeSBMLToString(oSBMLDoc);
+                sbml = cstr;
+            }
+            else
+            {
+                throw NOMException("SBML Validation failed");
+            }
+        }
+    }
+    catch(std::exception &e)
+    {
+        // clean up our mess
+        delete oSBMLDoc;
+        free(cstr);
+        throw e;
+    }
+
+    delete oSBMLDoc;
+    free(cstr);
+    return sbml;
+}
+
+
+
+
+
+void NOMSupport::changeSymbol(Model& oModel, const string& sTimeSymbol, const int& targetType)
+{
+    for (int i = 0; i < oModel.getNumReactions(); i++)
+    {
+        Reaction *r = oModel.getReaction(i);
+        if(r)
+        {
+            changeSymbolT<KineticLaw>(r->getKineticLaw(), sTimeSymbol, targetType);
+        }
+    }
+
+    for (int i = 0; i < oModel.getNumRules(); i++)
+    {
+        Rule* r = oModel.getRule(i);
+        changeSymbolT<Rule>(r, sTimeSymbol, targetType);
+    }
+
+    for (int i = 0; i < oModel.getNumInitialAssignments(); i++)
+    {
+        InitialAssignment *initialAssignment = oModel.getInitialAssignment(i);
+        changeSymbolT<InitialAssignment>(initialAssignment, sTimeSymbol, targetType);
+    }
+
+    for (int i = 0; i < oModel.getNumEvents(); i++)
+    {
+        Event *oEvent = oModel.getEvent(i);
+        Trigger *trigger = oEvent->getTrigger();
+        changeSymbolT<Trigger>(trigger, sTimeSymbol, targetType);
+
+
+        Delay *delay = oEvent->getDelay();
+        changeSymbolT<Delay>(delay, sTimeSymbol, targetType);
+
+        for (int j = 0; j < oEvent->getNumEventAssignments(); j++)
+        {
+            EventAssignment *assignment = oEvent->getEventAssignment(j);
+            changeSymbolT<EventAssignment>(assignment, sTimeSymbol, targetType);
+        }
+    }
+}
+
+static void changeSymbol(ASTNode *node, const string& time, const int& targetType)
+{
+    int c;
+    if (node->getType() == targetType)
+        node->setName(time.c_str());
+
+    for (c = 0; c < node->getNumChildren(); c++)
+        changeSymbol(node->getChild(c), time, targetType);
+}
+
+
+template <class MathT>
+static void changeSymbolT(MathT* thing, const string& sTimeSymbol, const int& targetType)
+{
+    if (thing && thing->isSetMath())
+    {
+        ASTNode *math = new ASTNode(*thing->getMath());
+        changeSymbol(math, sTimeSymbol, targetType);
+        thing->setMath(math);
+        delete math;
+    }
+}
+
+
+string NOMSupport::getKineticLaw(const int& index)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    if (mModel->getNumReactions() <= (int)index)
+    {
+        throw Exception("No Reaction for the provided index");
+    }
+
+    Reaction *r = mModel->getReaction((int)index);
+
+    if (!r->isSetKineticLaw())
+    {
+        throw Exception("No Kinetic Law present");
+    }
+
+    KineticLaw *k = r->getKineticLaw();
+
+    if (!k->isSetFormula())
+    {
+        throw Exception("No Formula present");
+    }
+    return k->getFormula();
+}
+
+
+
+
+StringListContainer NOMSupport::getListOfFloatingSpecies()
+{
+    StringListContainer floatingSpeciesList;
+
+    if (mModel == NULL)
+    {
+        throw NOMException("You need to load the model first");
+    }
+
+    for (int i = 0; i < mModel->getNumSpecies(); i++)
+    {
+        Species *oSpecies = mModel->getSpecies(i);
+        if (oSpecies && !oSpecies->getBoundaryCondition())
+        {
+            StringList oSpeciesValues;
+            oSpeciesValues.add( oSpecies->getId() );
+            double concentration = oSpecies->isSetInitialConcentration() ? oSpecies->getInitialConcentration() : oSpecies->getInitialAmount();
+            oSpeciesValues.add( toString(concentration, STR_DoubleFormat) );
+            oSpeciesValues.add( toString(oSpecies->isSetInitialConcentration()));
+
+            floatingSpeciesList.Add(oSpeciesValues);
+        }
+    }
+
+    return floatingSpeciesList;
+}
+
+
+StringListContainer NOMSupport::getListOfParameters()
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    StringListContainer paramStrValueList;
+
+    int numOfGlobalParameters = mModel->getNumParameters();
+
+    for (int i = 0; i < numOfGlobalParameters; i++)
+    {
+        libsbml::Parameter *parameter = mModel->getParameter(i);
+        double paramValue;
+        string paramStr = parameter->getId();
+        StringList tempStrValueList;
+        tempStrValueList.add(paramStr);
+
+        if ((parameter->isSetValue()))
+        {
+            paramValue = parameter->getValue();
+        }
+        else
+        {
+            paramValue = 0.0;
+        }
+        tempStrValueList.add(toString(paramValue, STR_DoubleFormat));
+
+        paramStrValueList.Add(tempStrValueList);
+    }
+
+    int numOfReactions = mModel->getNumReactions();
+    Reaction *r;
+    KineticLaw *kl;
+    for (int i = 0; i < numOfReactions; i++)
+    {
+        r = mModel->getReaction(i);
+        kl = r->getKineticLaw();
+        if (kl == NULL)
+        {
+            continue;
+        }
+        else
+        {
+            int numOfLocalParameters = kl->getNumParameters();
+            for (int j = 0; j < numOfLocalParameters; j++)
+            {
+                libsbml::Parameter *parameter = kl->getParameter(j);
+                string paramStr = parameter->getId();
+                StringList tempStrValueList;
+                double paramValue;
+                tempStrValueList.add(paramStr);
+                if (parameter->isSetValue())
+                {
+                    paramValue = parameter->getValue();
+                }
+                else
+                {
+                    paramValue = 0.0;
+                }
+                tempStrValueList.add(toString(paramValue, STR_DoubleFormat));
+                paramStrValueList.Add(tempStrValueList);
+            }
+        }
+    }
+    return paramStrValueList;
+}
+
+
+string NOMSupport::getModelName() const
+{
+    if (mModel == NULL)
+    {
+        throw NOMException("You need to load the model first");
+    }
+    return getName((SBase*) mModel);
+}
+
+
+string NOMSupport::getNthBoundarySpeciesCompartmentName(const int& nIndex)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    int nCount = 0;
+    for (int i = 0; i < mModel->getNumSpecies(); i++)
+    {
+        Species *oSpecies = mModel->getSpecies(i);
+        if (oSpecies->getBoundaryCondition())
+        {
+            if (nCount == nIndex)
+            {
+                return oSpecies->getCompartment();
+            }
+            else
+            {
+                nCount++;
+            }
+        }
+    }
+    throw Exception("The model does not have a boundary species corresponding to the index provided");
+}
+
+
+
+StringListContainer NOMSupport::getNthError(const int& nIndex)
+{
+    if (mSBMLDoc == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    if (nIndex >= mSBMLDoc->getNumErrors())
+    {
+        throw Exception("Index out of Bounds.");
+    }
+
+    const SBMLError *error = mSBMLDoc->getError(nIndex);
+    StringListContainer oResult;// = new StringListContainer();
+
+    switch (error->getSeverity())
+    {
+        default:
+        case (int)LIBSBML_SEV_INFO: oResult.Add("Advisory"); break;
+        case (int)LIBSBML_SEV_WARNING: oResult.Add("Warning"); break;
+        case (int)LIBSBML_SEV_FATAL: oResult.Add("Fatal"); break;
+        case (int)LIBSBML_SEV_ERROR: oResult.Add("Error"); break;
+        case (int)LIBSBML_SEV_SCHEMA_ERROR: oResult.Add("Error"); break;
+        case (int)LIBSBML_SEV_GENERAL_WARNING: oResult.Add("Warning"); break;
+    }
+    oResult.Add((int) error->getLine());
+    oResult.Add((int) error->getColumn());
+    oResult.Add((int) error->getErrorId());
+    oResult.Add(error->getMessage());
+    return oResult;
+}
+
+bool NOMSupport::getNthUseValuesFromTriggerTime(const int& arg)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    libsbml::Event *oEvent = mModel->getEvent((int)arg);
+
+    if (oEvent == NULL)
+    {
+        throw Exception("The model does not have a Event corresponding to the index provided");
+    }
+    return oEvent->getUseValuesFromTriggerTime();
+}
+
+StringListContainer NOMSupport::getNthEvent(const int& arg)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    StringListContainer triggerAssignmentsList;
+    libsbml::Event *oEvent = mModel->getEvent((int)arg);
+
+    if (oEvent == NULL)
+    {
+        throw Exception("The model does not have a Event corresponding to the index provided");
+    }
+
+    string trigger  = SBML_formulaToStdString(oEvent->getTrigger()->getMath());
+    triggerAssignmentsList.Add(trigger);
+
+    string delay;
+    if (!oEvent->isSetDelay())
+    {
+        delay = "0";
+    }
+    else
+    {
+        Delay *oDelay = oEvent->getDelay();
+        if (oDelay->isSetMath())
+        {
+            delay = SBML_formulaToStdString(oDelay->getMath());
+        }
+        else
+        {
+            delay = "0";
+        }
+    }
+
+    triggerAssignmentsList.Add(delay);
+    int numEventAssignments = (int)oEvent->getNumEventAssignments();
+
+    for (int i = 0; i < numEventAssignments; i++)
+    {
+        StringList assignmentList;// = new StringListContainer();
+
+        EventAssignment *ea = oEvent->getEventAssignment(i);
+        string lValue = ea->getVariable();
+        string rValue = SBML_formulaToStdString(ea->getMath());
+
+        assignmentList.add(lValue);
+        assignmentList.add(rValue);
+        triggerAssignmentsList.Add(assignmentList);
+    }
+    return triggerAssignmentsList;
+}
+
+
+string NOMSupport::getNthFloatingSpeciesCompartmentName(int nIndex)
+{
+    if (mModel == NULL)
+    {
+        throw NOMException("You need to load the model first");
+    }
+
+    int nCount = 0;
+    for (u_int i = 0; i < mModel->getNumSpecies(); i++)
+    {
+        Species *aSpecies = mModel->getSpecies(i);
+        if (!aSpecies->getBoundaryCondition())
+        {
+            if (nCount == nIndex)
+            {
+                return aSpecies->getCompartment();
+            }
+            else
+            {
+                nCount++;
+            }
+        }
+    }
+    throw NOMException("The model does not have a floating species corresponding to the index provided");
+}
+
+
+StringListContainer NOMSupport::getNthFunctionDefinition(const int& arg)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    if (arg < 0 || arg >= (int) mModel->getNumFunctionDefinitions())
+    {
+        throw Exception("Invalid input - Argument should be >= 0 and should be less than total number of Function Definitions in the model");
+    }
+
+    FunctionDefinition* fnDefn = mModel->getFunctionDefinition((int)arg);
+
+    if (fnDefn == NULL)
+    {
+        throw Exception("The model does not have a Function Definition corresponding to the index provided");
+    }
+
+    string fnId = fnDefn->getId();
+    string fnMath = SBML_formulaToStdString(fnDefn->getBody());
+
+    StringListContainer fnDefnList;
+    fnDefnList.Add(fnId);
+
+    int numArgs = (int) fnDefn->getNumArguments();
+
+    StringList argList;
+    for(int n = 0; n < numArgs; n++)
+    {
+        argList.add(fnDefn->getArgument(n)->getName());
+    }
+
+    fnDefnList.Add(argList);
+    fnDefnList.Add(fnMath);
+
+    return fnDefnList;
+}
+
+
+string NOMSupport::getNthParameterId(const int& nReactionIndex, const int& nParameterIndex)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    if (nReactionIndex < 0 || nReactionIndex >= (int)mModel->getNumReactions())
+    {
+        throw Exception("There is no reaction corresponding to the index you provided");
+    }
+
+    Reaction *oReaction = mModel->getReaction((int)nReactionIndex);
+    KineticLaw *kl = oReaction->getKineticLaw();
+
+    if (nParameterIndex < 0 || nParameterIndex >= (int)kl->getNumParameters())
+    {
+        throw Exception("Index exceeds the number of Parameters in the list");
+    }
+
+    return kl->getParameter((int)nParameterIndex)->getId();
+}
+
+
+double NOMSupport::getNthParameterValue(const int& nReactionIndex, const int& nParameterIndex)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    if (nReactionIndex < 0 || nReactionIndex >= (int)mModel->getNumReactions())
+    {
+        throw Exception("There is no reaction corresponding to the index you provided");
+    }
+
+    Reaction *oReaction = mModel->getReaction((int)nReactionIndex);
+    KineticLaw *kl = oReaction->getKineticLaw();
+
+    if (nParameterIndex < 0 || nParameterIndex >= (int)kl->getNumParameters())
+    {
+        throw Exception("Index exceeds the number of Parameters in the list");
+    }
+
+    return kl->getParameter((int)nParameterIndex)->getValue();
+
+}
+
+
+string NOMSupport::getNthReactionId(const int& nIndex)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    if (nIndex >= (int)mModel->getNumReactions())
+    {
+        throw Exception("There is no reaction corresponding to the index you provided");
+    }
+
+    Reaction &r = *(mModel->getReaction((int)nIndex));
+    return getId(r);
+}
+
+string NOMSupport::getNthReactionName(const int& nIndex)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    if (nIndex >= (int)mModel->getNumReactions())
+    {
+        throw Exception("There is no reaction corresponding to the index you provided");
+    }
+
+    Reaction *r = mModel->getReaction((int)nIndex);
+    return getName(r);
+}
+
+pair<string, string> NOMSupport::getNthInitialAssignmentPair(const int& nIndex)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    InitialAssignment *oAssignment = mModel->getInitialAssignment((int)nIndex);
+
+    if (oAssignment == NULL)
+    {
+        throw Exception("The model does not have an InitialAssignment corresponding to the index provided");
+    }
+
+    if (!oAssignment->isSetMath())
+    {
+        throw Exception("The InitialAssignment contains no math.");
+    }
+    string second = SBML_formulaToStdString(oAssignment->getMath());
+    return pair<string, string> (oAssignment->getSymbol(), second);
+}
+
+string NOMSupport::getNthInitialAssignment(const int& nIndex)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    InitialAssignment *oAssignment = mModel->getInitialAssignment((int)nIndex);
+    if (oAssignment == NULL)
+    {
+        throw Exception("The model does not have an InitialAssignment corresponding to the index provided");
+    }
+
+    if (!oAssignment->isSetMath())
+    {
+        throw Exception("The InitialAssignment contains no math.");
+    }
+
+    return oAssignment->getSymbol() + " = " + SBML_formulaToStdString(oAssignment->getMath());
+
+}
+
+string NOMSupport::getNthConstraint(const int& nIndex, string& sMessage)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    Constraint *oConstraint = mModel->getConstraint((int)nIndex);
+
+    if (oConstraint == NULL)
+    {
+        throw Exception("The model does not have a constraint corresponding to the index provided");
+    }
+
+    if (!oConstraint->isSetMath())
+    {
+        throw Exception("The constraint does not provide math.");
+    }
+
+    if (!oConstraint->isSetMessage())
+    {
+        sMessage = "Constraint: " + toString(nIndex) + " was violated.";
+    }
+    else
+    {
+        XMLNode* node = const_cast<XMLNode*>(oConstraint->getMessage());
+        sMessage = node->toString();
+    }
+
+    return SBML_formulaToStdString(oConstraint->getMath());
+}
+
+string NOMSupport::getNthRule(const int& nIndex)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    Rule *aRule = mModel->getRule((int)nIndex);
+    if (aRule == NULL)
+    {
+        throw Exception("The model does not have a Rule corresponding to the index provided");
+    }
+    Rule &oRule = *aRule;
+
+    int type = oRule.getTypeCode();
+
+    switch (type)
+    {
+        case SBML_PARAMETER_RULE:
+        case SBML_SPECIES_CONCENTRATION_RULE:
+        case SBML_COMPARTMENT_VOLUME_RULE:
+        case SBML_ASSIGNMENT_RULE:
+        case SBML_RATE_RULE:
+            {
+                string lValue = oRule.getVariable();
+                string rValue = oRule.getFormula();
+
+                return lValue + " = " + rValue;
+            }
+        case SBML_ALGEBRAIC_RULE:
+            {
+                string rValue = oRule.getFormula();
+                return rValue + " = 0";
+            }
+
+
+        default:
+            break;
+    }
+
+    return "";
+}
+
+string NOMSupport::getNthRuleType(const int& arg)
+{
+    string result = "";
+
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    Rule *aRule = mModel->getRule((int)arg);
+
+    if (aRule == NULL)
+    {
+        throw Exception("The model does not have a Rule corresponding to the index provided");
+    }
+
+    Rule& rule = *aRule;
+    int type = rule.getTypeCode();
+    if (type == SBML_PARAMETER_RULE)
+    {
+        result = "Parameter_Rule";
+    }
+
+    if (type == SBML_SPECIES_CONCENTRATION_RULE)
+    {
+        result = "Species_Concentration_Rule";
+    }
+
+    if (type == SBML_COMPARTMENT_VOLUME_RULE)
+    {
+        result = "Compartment_Volume_Rule";
+    }
+
+    if (type == libsbml::SBML_ASSIGNMENT_RULE)
+    {
+        result = "Assignment_Rule";
+    }
+
+    if (type == libsbml::SBML_ALGEBRAIC_RULE)
+    {
+        result = "Algebraic_Rule";
+    }
+
+    if (type == libsbml::SBML_RATE_RULE)
+    {
+        result = "Rate_Rule";
+    }
+    return result;
+}
+
+int NOMSupport::getNumBoundarySpecies()
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+    return (int)mModel->getNumSpeciesWithBoundaryCondition();
+}
+
+int NOMSupport::getNumCompartments()
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+    return (int) mModel->getNumCompartments();
+}
+//
+//        int NOMSupport::getNumErrors()
+//        {
+//            if (mSBMLDoc == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//            return (int)mSBMLDoc.getNumErrors();
+//        }
+//
+int NOMSupport::getNumEvents()
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+    return (int)mModel->getNumEvents();
+}
+
+int NOMSupport::getNumFloatingSpecies()
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+    return (int)mModel->getNumSpecies() - (int)mModel->getNumSpeciesWithBoundaryCondition();
+
+}
+
+int NOMSupport::getNumInitialAssignments()
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+    return (int)mModel->getNumInitialAssignments();
+}
+
+int NOMSupport::getNumConstraints()
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+    return (int)mModel->getNumConstraints();
+}
+
+int NOMSupport::getNumFunctionDefinitions()
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+    return (int)mModel->getNumFunctionDefinitions();
+
+}
+
+
+int NOMSupport::getNumParameters(int var0)
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    if (var0 > mModel->getNumReactions())
+    {
+        throw Exception("Reaction does not exist");
+    }
+    Reaction &r = *(mModel->getReaction(var0));
+    if (!r.isSetKineticLaw())
+    {
+        return 0;
+    }
+    return (int)r.getKineticLaw()->getNumParameters();
+}
+
+
+int NOMSupport::getNumReactions()
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+    return (int)mModel->getNumReactions();
+}
+
+int NOMSupport::getNumRules()
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+    return (int) mModel->getNumRules();
+}
+
+
+string NOMSupport::getParamPromotedSBML(const string& sArg)
+{
+    SBMLDocument *oSBMLDoc = NULL;
+    Model *oModel = NULL;
+
+    oSBMLDoc = libsbml::readSBMLFromString(sArg.c_str());
+    if (oSBMLDoc->getLevel() == 1)
+    {
+        oSBMLDoc->setLevelAndVersion(2, 1);
+    }
+
+    //oSBMLDoc.setLevelAndVersion(2, 1);
+    oModel = oSBMLDoc->getModel();
+
+    if (oModel == NULL)
+    {
+        throw Exception("SBML Validation failed");
+    }
+    else
+    {
+        modifyKineticLaws(*oSBMLDoc, *oModel);
+        changeTimeSymbol(*oModel, "time");
+        return libsbml::writeSBMLToString(oSBMLDoc);
+    }
+}
+
+void NOMSupport::modifyKineticLawsForLocalParameters(KineticLaw& oLaw, const string& reactionId, Model& oModel)
+{
+    int numLocalParameters = (int)oLaw.getNumLocalParameters();
+    if (numLocalParameters > 0)
+    {
+        StringListContainer oList;// = new StringCollection();
+        for (int j = numLocalParameters; j > 0; j--)
+        {
+            LocalParameter* localParameter = (LocalParameter*)oLaw.getLocalParameter(j - 1)->clone();
+            string parameterId = localParameter->getId();// getId(localParameter);
+            string sPrefix = reactionId + "_";
+            if (!oLaw.isSetMath())
+            {
+                if (oLaw.isSetFormula())
+                {
+                    ASTNode *node = readMathMLFromString(oLaw.getFormula().c_str());
+                    changeParameterName(*node, parameterId, sPrefix);
+                    oLaw.setFormula(SBML_formulaToStdString(node));
+                    delete node;
+                }
+            }
+            else
+            {
+                //changeParameterName(*((ASTNode*) oLaw.getMath()), parameterId, sPrefix);
+                ASTNode *math = new ASTNode(*oLaw.getMath());
+                changeParameterName(*math, parameterId, sPrefix);
+                oLaw.setMath(math);
+                delete math;
+
+            }
+
+            libsbml::Parameter *p = oModel.createParameter();
+            p->setId(sPrefix + parameterId);
+            p->setNotes(localParameter->getNotesString());
+            p->setAnnotation(localParameter->getAnnotationString());
+            p->setConstant(true);
+            if (localParameter->isSetSBOTerm()) p->setSBOTerm(localParameter->getSBOTerm());
+            if (localParameter->isSetName()) p->setName(localParameter->getName());
+            if (localParameter->isSetMetaId()) p->setMetaId(localParameter->getMetaId());
+            if (localParameter->isSetValue()) p->setValue(localParameter->getValue());
+            if (localParameter->isSetUnits()) p->setUnits(localParameter->getUnits());
+
+            LocalParameter* oTemp = (LocalParameter*) oLaw.getListOfLocalParameters()->remove(j - 1);
+            //if (oTemp != NULL) oTemp.Dispose();
+
+            oModel.addParameter(p);
+            //if (localParameter != NULL) localParameter.Dispose();
+        }
+    }
+}
+
+
+void NOMSupport::modifyKineticLawsForReaction(KineticLaw& oLaw, const string& reactionId, Model& oModel)
+{
+    int numLocalParameters = (int)oLaw.getNumParameters();
+    if (numLocalParameters > 0)
+    {
+//        StringCollection oList = new StringCollection();
+        for (int j = numLocalParameters; j > 0; j--)
+        {
+            libsbml::Parameter *parameter = (libsbml::Parameter*) oLaw.getParameter(j - 1)->clone();
+            if(!parameter)
+            {
+                throw(NOMException("Null parameter pointer in modifyKineticLawsForReaction"));
+            }
+            string parameterId = getId( *parameter);
+            string sPrefix = reactionId + "_";
+            if (!oLaw.isSetMath())
+            {
+                if (oLaw.isSetFormula())
+                {
+                    ASTNode *node = readMathMLFromString(oLaw.getFormula().c_str());
+                    changeParameterName(*node, parameterId, sPrefix);
+                    oLaw.setFormula(SBML_formulaToStdString(node));
+                    delete node;
+                }
+            }
+            else
+            {
+                ASTNode *math = new ASTNode(*oLaw.getMath());
+                changeParameterName(*math, parameterId, sPrefix);
+                oLaw.setMath(math);
+                delete math;
+            }
+            libsbml::Parameter *oTemp = (libsbml::Parameter*)oLaw.getListOfParameters()->remove(j - 1);
+            if(!oTemp)
+            {
+                throw(NOMException("Null parameter pointer in modifyKineticLawsForReaction"));
+            }
+
+            // we now own the removed parameter
+            delete oTemp;
+
+            parameter->setId(sPrefix + parameterId);
+
+            // add a copy to the model
+            oModel.addParameter(parameter);
+            delete parameter;
+        }
+    }
+}
+
+void NOMSupport::modifyKineticLaws(SBMLDocument& oSBMLDoc, Model& oModel)
+{
+    int numOfReactions = (int)oModel.getNumReactions();
+    for (int i = 0; i < numOfReactions; i++)
+    {
+        Reaction *oReaction = oModel.getReaction(i);
+        string sId = getId(*oReaction);
+        KineticLaw *oLaw = oReaction->getKineticLaw();
+        if (oLaw == NULL)
+        {
+            if (oReaction != NULL)
+            {
+                //oReaction->Dispose();
+            }
+            continue;
+        }
+
+        modifyKineticLawsForLocalParameters(*oLaw, sId, oModel);
+
+        modifyKineticLawsForReaction(*oLaw, sId, oModel);
+
+//        if (oLaw != NULL)
+//        {
+//            delete oLaw;
+//            oLaw = NULL;
+//        }
+//
+//        if (oReaction != NULL)
+//        {
+//            delete oReaction;
+//            oReaction  = NULL;
+//        }
+    }
+}
+
+void NOMSupport::changeParameterName(ASTNode& node, const string& sParameterName, const string& sPrefix)
+{
+    int c;
+
+    if (node.isName() && node.getName() == sParameterName)
+    {
+        node.setName( string(sPrefix + sParameterName).c_str());
+    }
+
+    for (c = 0; c < node.getNumChildren(); c++)
+    {
+        changeParameterName( *node.getChild(c), sParameterName, sPrefix);
+    }
+}
+
+string NOMSupport::getSBML()
+{
+    if (mModel == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    //Todo: how to deal with parametersets...?
+    //    if (_ParameterSets != NULL && mModel != NULL)
+//    {
+//        _ParameterSets.addToModel(mModel);
+//    }
+
+    return libsbml::writeSBMLToString(mSBMLDoc);
+}
+
+
+
+void NOMSupport::getSymbols(const ASTNode* aNode, StringList& list)
+{
+    if(!aNode)
+    {
+        return;
+    }
+    const ASTNode& node = *aNode;
+
+    if (node.isName())
+    {
+        string name = node.getName();
+        if (!list.Contains(name))
+        {
+            list.add(name);
+        }
+    }
+
+    for (int i = 0; i < node.getNumChildren(); i++)
+    {
+        getSymbols(node.getChild(i), list);
+    }
+
+}
+
+
+StringList NOMSupport::getSymbols(const ASTNode* math)
+{
+    StringList result; //= new List<string>();
+    if (math == NULL)
+    {
+        return result;
+    }
+
+    getSymbols(math, result);
+    return result;
+}
+
+
+deque<Rule*> NOMSupport::reorderAssignmentRules(deque<Rule*>& assignmentRules)
+{
+    if (assignmentRules.size() < 2)
+    {
+        return assignmentRules;
+    }
+
+    //Todo: Need XML file to test this:
+////            var result = new List<Rule>();
+    deque<Rule*> result;
+
+//    var allSymbols = new Dictionary<int, List<string>>();
+    map<int, StringList > allSymbols;
+
+    //    var map = new Dictionary<string, List<string>>();
+    map<string, StringList > map;
+//    var idList = new List<string>();
+    StringList idList;
+
+    // read id list, initialize all symbols
+    for (int index = 0; index < assignmentRules.size(); index++)
+    {
+        AssignmentRule *rule = (AssignmentRule*)assignmentRules[index];
+        string variable = rule->getVariable();
+        if (!rule->isSetMath())
+        {
+            allSymbols[index] = StringList();
+        }
+        else
+        {
+            allSymbols[index] = NOMSupport::getSymbols(rule->getMath());
+        }
+        idList.add(variable);
+        map[variable] = StringList();//new List<string>();
+    }
+
+    // initialize order array
+    vector<int> order;
+    order.resize(assignmentRules.size()); // = new int[assignmentRules.size()];
+    for (int i = 0; i < assignmentRules.size(); i++)
+    {
+        order[i] = i;
+    }
+
+    // build dependency graph
+    vector<string>::iterator    id;
+//    foreach (var id in idList)
+    for(id = idList.begin(); id != idList.end(); id++)
+    {
+        for (int index = 0; index < assignmentRules.size(); index++)
+        {
+            if (allSymbols[index].Contains( (*id) ))
+            {
+                map[(assignmentRules[index])->getVariable()].add( (*id) );
+            }
+        }
+    }
+
+    // sort
+    bool changed = true;
+    while (changed)
+    {
+        changed = false;
+        for (int i = 0; i < order.size(); i++)
+        {
+
+            int first = order[i];
+            for (int j = i + 1; j < order.size(); j++)
+            {
+                int second = order[j];
+
+                string secondVar = assignmentRules[second]->getVariable();
+                string firstVar = assignmentRules[first]->getVariable();
+
+                if (map[firstVar].Contains(secondVar))
+                {
+                    // found dependency, swap and start over
+                    order[i] = second;
+                    order[j] = first;
+
+                    changed = true;
+                    break;
+                }
+            }
+
+            // if swapped start over
+            if (changed)
+                break;
+        }
+    }
+
+    // create new order
+    for (int i = 0; i < order.size(); i++)
+    {
+        result.push_back(assignmentRules[order[i]]);
+    }
+
+    return result;
+}
+
+
+void NOMSupport::reorderRules(SBMLDocument& doc, Model& model)
+{
+    const int numRules = (int) model.getNumRules();
+    deque<Rule*> assignmentRules;
+    deque<Rule*> rateRules;
+    deque<Rule*> algebraicRules;
+
+    for (int i = numRules - 1; i >= 0; i--)
+    {
+        // removes a rule pointer from the model, we now
+        // take ownership of it.
+        Rule* current = model.removeRule(i);
+        switch (current->getTypeCode())
+        {
+            case SBML_ALGEBRAIC_RULE:
+                algebraicRules.push_front(current);
+                break;
+            case SBML_RATE_RULE:
+                rateRules.push_front(current);
+                break;
+            default:
+            case SBML_ASSIGNMENT_RULE:
+                assignmentRules.push_front(current);
+                break;
+        }
+    }
+
+    //TODO: Need to load suitable XML file to test and convert following code..
+    assignmentRules = NOMSupport::reorderAssignmentRules(assignmentRules);
+
+    // IMPORTANT: model.addRule inserts a COPY of the rule object,
+    // we still retain ownership, so we have to delete them.
+
+    //add rules back to the model..
+    //    assignmentRules.ForEach(item => model.addRule(item));
+    for(int i = 0; i < assignmentRules.size(); i++)
+    {
+        Rule* rule = assignmentRules[i];
+        model.addRule(rule);
+        delete rule;
+    }
+
+    //    rateRules.ForEach(item => model.addRule(item));
+    for(int i = 0; i < rateRules.size(); i++)
+    {
+        Rule* rule = rateRules[i];
+        model.addRule(rule);
+        delete rule;
+    }
+
+    //    algebraicRules.ForEach(item => model.addRule(item));
+    for(int i = 0; i < algebraicRules.size(); i++)
+    {
+        Rule *rule = algebraicRules[i];
+        model.addRule(rule);
+        delete rule;
+    }
+
+    if (numRules != model.getNumRules())
+    {
+        string msg = "Fatal error, the mumber of rules in a model was changed by ";
+        msg = msg + __FUNC__;
+        throw Exception(msg);
+    }
+}
+
+void NOMSupport::loadSBML(const string& var0, const string& sTimeSymbol)
+{
+    loadSBML(var0);
+    if(!mModel)
+    {
+        Log(Logger::LOG_ERROR)<<"No model is allocated in function "<<__FUNC__<<" file "<<__FILE__;
+        return;
+    }
+
+    changeTimeSymbol(*mModel, sTimeSymbol);
+    changeSymbol(*mModel, "avogadro", AST_NAME_AVOGADRO);
+
+    modifyKineticLaws(*mSBMLDoc, *mModel);
+    reorderRules(*mSBMLDoc, *mModel);
+    buildSymbolTable();
+}
+
+void NOMSupport::changeTimeSymbol(Model& model, const string& timeSymbol)
+{
+    changeSymbol(model, timeSymbol, AST_NAME_TIME);
+}
+
+
+void NOMSupport::buildSymbolTable()
+{
+    // Read CompartmentSymbols
+    Log(lDebug5)<<"Building Symbol Table";
+    for (int i = 0; i < mModel->getNumCompartments(); i++)
+    {
+        Compartment *temp = mModel->getCompartment(i);
+
+        Log(lDebug1)<<"Processing compartment with ID: "<<temp->getId();
+        SBMLSymbol symbol;
+        symbol.mId = temp->getId();
+
+        if (temp->isSetSize())
+        {
+            symbol.mValue = temp->getSize();
+        }
+
+        symbol.mInitialAssignment = getInitialAssignmentFor(symbol.mId);
+        symbol.mRule = getRuleFor(symbol.mId);
+        symbol.mType = stCompartment;
+
+        mSymbolTable[symbol.mId] = symbol;
+    }
+
+    // Read Parameter Symbols
+    for (int i = 0; i < mModel->getNumParameters(); i++)
+    {
+        libsbml::Parameter *temp = mModel->getParameter(i);
+        Log(lDebug1)<<"Processing parameter with ID:"<<temp->getId();
+        SBMLSymbol symbol;
+        symbol.mId = temp->getId();
+        if (temp->isSetValue())
+        {
+            symbol.mValue = temp->getValue();
+        }
+        symbol.mInitialAssignment = getInitialAssignmentFor(symbol.mId);
+        symbol.mRule = getRuleFor(symbol.mId);
+        symbol.mType = stParameter;
+
+        mSymbolTable[symbol.mId] = symbol;
+    }
+
+    // Read Species Symbols
+    for (int i = 0; i < mModel->getNumSpecies(); i++)
+    {
+        Species *temp = mModel->getSpecies(i);
+        Log(lDebug1)<<"Processing species with ID: "<<temp->getId();
+        SBMLSymbol symbol;
+        symbol.mId = temp->getId();
+        if (temp->isSetInitialConcentration())
+        {
+            symbol.mConcentration = temp->getInitialConcentration();
+        }
+
+        if (temp->isSetInitialAmount())
+        {
+            symbol.mAmount = temp->getInitialAmount();
+        }
+
+        symbol.mInitialAssignment = getInitialAssignmentFor(symbol.mId);
+        symbol.mRule = getRuleFor(symbol.mId);
+        symbol.mType = stSpecies;
+
+        mSymbolTable[symbol.mId] = symbol;
+    }
+
+    StringSymbolHashTable::iterator iter;
+    Log(lDebug4)<<"========== Symbols read into Symbol Table ("<<mSymbolTable.size()<<") ==============";
+    for (iter = mSymbolTable.begin(); iter != mSymbolTable.end(); iter++)//string sbmlId in mSymbolTable.Keys)
+    {
+        SBMLSymbol& aSymbol = (iter->second);
+        Log(lDebug3)<<"Key = "<<iter->first<<endl<<aSymbol;
+    }
+
+    lookForDependencies();
+}
+
+void NOMSupport::lookForDependencies()
+{
+    Log(lDebug5)<<"In function "<<__FUNCTION__;
+
+    // Go through each found Id, and test for dependencies
+    StringSymbolHashTable::iterator iter;
+
+    for (iter = mSymbolTable.begin(); iter != mSymbolTable.end(); iter++)//string sbmlId in mSymbolTable.Keys)
+    {
+        string sbmlId = (*iter).first;
+        updateDependencies(sbmlId);
+    }
+}
+
+void NOMSupport::updateDependencies(const string& sbmlId)
+{
+    SBMLSymbol& current = mSymbolTable[sbmlId];
+    if (!current.mId.size())
+    {
+        return;
+    }
+
+    if (current.HasInitialAssignment())
+    {
+        StringList dependentSymbols = getSymbols(current.mInitialAssignment);
+        for(int i = 0; i < dependentSymbols.Count(); i++)
+        {
+            string dependency = dependentSymbols[i];
+            if(dependency != current.mId)
+            {
+                SBMLSymbol *sym = &(mSymbolTable[dependency]);
+                current.AddDependency(sym);
+            }
+        }
+
+//        foreach (string dependency in dependentSymbols)
+//            if (dependency != current.Id)
+//                current.Dependencies.add((SBMLSymbol)mSymbolTable[dependency]);
+    }
+
+    if (current.HasRule())
+    {
+        StringList dependentSymbols = getSymbols(current.mRule);
+        for(int i = 0; i < dependentSymbols.Count(); i++)
+        {
+            string dependency = dependentSymbols[i];
+            if(dependency != current.mId)
+            {
+                SBMLSymbol *sym = &(mSymbolTable[dependency]);
+                current.AddDependency(sym);
+            }
+        }
+//        foreach (string dependency in dependentSymbols)
+//            if (dependency != current.Id)
+//                current.Dependencies.add((SBMLSymbol)mSymbolTable[dependency]);
+    }
+}
+
+StringList NOMSupport::getSymbols(const string& formula)
+{
+    StringList sResult;
+    if (isNullOrEmpty(formula))
+    {
+        return sResult;
+    }
+
+    ASTNode *node = SBML_parseFormula(formula.c_str());
+
+    addDependenciesToList(node, sResult);
+
+    delete node;
+
+    return sResult;
+}
+
+void NOMSupport::addDependenciesToList(const ASTNode *node, StringList& sResult)
+{
+    for (int i = 0; i < node->getNumChildren(); i++)
+    {
+        addDependenciesToList(node->getChild(i), sResult);
+    }
+
+    if (node->isName() && mSymbolTable.ContainsKey(node->getName()))
+    {
+        sResult.add(node->getName());
+    }
+}
+
+string NOMSupport::getRuleFor(const string& sbmlId)
+{
+    for (int i = 0; i < mModel->getNumRules(); i++)
+    {
+        Rule* oRule = mModel->getRule(i);
+
+        // TODO: figure out WTF is going on here.
+        switch (oRule->getTypeCode())
+        {
+            case SBML_PARAMETER_RULE:
+            case SBML_SPECIES_CONCENTRATION_RULE:
+            case SBML_COMPARTMENT_VOLUME_RULE:
+            case SBML_ASSIGNMENT_RULE:
+                //case libsbml::SBML_RATE_RULE:
+                {
+                    if (sbmlId == oRule->getVariable())
+                        return oRule->getFormula();
+                } break;
+            //case libsbml::SBML_ALGEBRAIC_RULE:
+            //    {
+            //        string rValue = oRule->getFormula();
+            //        return rValue + " = 0";
+            //    }
+
+            default:
+                break;
+        }
+    }
+
+    return string("");
+}
+
+string NOMSupport::getInitialAssignmentFor(const string& sbmlId)
+{
+    if(mModel)
+    {
+        for (int i = 0; i < mModel->getNumInitialAssignments(); i++)
+        {
+            InitialAssignment *oAssignment = mModel->getInitialAssignment(i);
+            if (oAssignment->getSymbol() == sbmlId && oAssignment->isSetMath())
+            {
+                return SBML_formulaToStdString(oAssignment->getMath());
+            }
+        }
+    }
+    return string("");
+}
+
+void NOMSupport::loadSBML(const string& sbmlStr)
+{
+    delete mSBMLDoc;
+    // model is owned by the sbml doc.
+
+//            Namespaces.Add(match.Value);
+//            prefixes.Add(prefix);
+    mSBMLDoc = readSBMLFromString(sbmlStr.c_str());
+    mModel = mSBMLDoc->getModel();
+    if (mModel == NULL)
+    {
+        throw NOMException(validateSBML(sbmlStr));
+    }
+}
+
+
+void NOMSupport::setValue(Model* model, const string& id, const double& value, const bool& throwIfNotFound)
+{
+    if (model == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    libsbml::Species* oSpecies = model->getSpecies(id);
+    if (oSpecies != NULL)
+    {
+        if (oSpecies->isSetInitialAmount())
+            oSpecies->setInitialAmount(value);
+        else
+            oSpecies->setInitialConcentration(value);
+        return;
+    }
+
+    Compartment* oCompartment = model->getCompartment(id);
+    if (oCompartment != NULL)
+    {
+        oCompartment->setVolume(value); return;
+    }
+
+    libsbml::Parameter* oParameter = model->getParameter(id);
+    if (oParameter != NULL)
+    {
+        oParameter->setValue(value);
+        return;
+    }
+
+    for (int i = 0; i < mModel->getNumReactions(); i++)
+    {
+        Reaction* reaction = mModel->getReaction(i);
+        for (int j = 0; j < reaction->getNumReactants(); j++)
+        {
+            SpeciesReference* reference = reaction->getReactant(j);
+            if (reference->isSetId() && reference->getId() == id)
+            {
+                reference->setStoichiometry(value);
+                return;
+            }
+        }
+        for (int j = 0; j < reaction->getNumProducts(); j++)
+        {
+            SpeciesReference* reference = reaction->getProduct(j);
+            if (reference->isSetId() && reference->getId() == id)
+            {
+                reference->setStoichiometry(value);
+                return;
+            }
+        }
+    }
+
+    if (throwIfNotFound)
+    {
+        throw Exception(format("Invalid string name. The id '{0}' does not exist in the model", id));
+    }
+}
+
+void NOMSupport::setValue(const string& sId, const double& dValue)
+{
+    setValue(mModel, sId, dValue, true);
+}
+
+string NOMSupport::validateSBML(const string& sModel)
+{
+    SBMLDocument *oDoc = readSBMLFromString(sModel.c_str());
+    StringBuilder oBuilder;
+    if (oDoc->getNumErrors() > 0)
+    {
+        for (int i = 0; i < oDoc->getNumErrors(); i++)
+        {
+            StringListContainer oList = getNthError(i);
+        }
+        delete oDoc;
+        throw Exception("SBML Validation failed: " + oBuilder.ToString());
+    }
+    delete oDoc;
+    return "Validation Successfull";
+}
+
+
+bool NOMSupport::isCompartment(const string& sId)
+{
+    if(!mModel)
+    {
+        //Todo: should this throw.?
+        return false;
+    }
+
+    Compartment* temp = mModel->getCompartment(sId);
+    if (temp != NULL)
+    {
+        return true;
+    }
+    return false;
+}
+
+
+bool NOMSupport::multiplyCompartment(const string& sbmlId, string& compartmentId)
+{
+    compartmentId = "";
+
+    if(!mModel)
+    {
+        return false;
+    }
+
+    Species* temp = mModel->getSpecies(sbmlId);
+    if (temp != NULL &&
+        //temp.isSetInitialAmount() &&
+        temp->isSetCompartment() &&
+        !temp->getHasOnlySubstanceUnits())
+    {
+
+        compartmentId = temp->getCompartment();
+
+        Compartment* comp = mModel->getCompartment(compartmentId);
+        if (comp == NULL || comp->getSpatialDimensions() == 0)
+        {
+            return false;
+        }
+
+        return true;
+    }
+    return false;
+}
+
+
+stack<string> NOMSupport::getMatchForSymbol(const string& sbmlId)
+{
+    stack<string> result;
+
+    //SBMLSymbol *symbol = &(mSymbolTable[sbmlId]);
+
+    fillStack(result, mSymbolTable[sbmlId]);
+    return result;
+}
+
+void NOMSupport::fillStack(stack<string>& stack, SBMLSymbol& symbol)
+{
+    Log(lDebug5)<<"In "<<__FUNCTION__<<" Filling stack with symbol: "<<(symbol);
+    if (!symbol.mId.size())
+    {
+        return;
+    }
+
+    if (symbol.HasRule())
+    {
+        stack.push(symbol.mId + " = " + symbol.mRule);
+    }
+    if (symbol.HasInitialAssignment())
+    {
+        stack.push(symbol.mId + " = " + symbol.mInitialAssignment);
+    }
+    if (symbol.HasValue())
+    {
+        stack.push(symbol.mId + " = " + toString(symbol.mValue, STR_DoubleFormat));
+    }
+
+    for(int i = 0; i < symbol.NumberOfDependencies(); i++)
+    {
+        SBMLSymbol dependency = symbol.GetDependency(i);
+        fillStack(stack, dependency); //hmm recursive.. Todo: ...?
+    }
+}
+
+}//namespace rr
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// ***************************** OLD COMMENTED OUT CODE GOES BELOW ***************************** //
+///////////////////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+//double NOMSupport::getValue(const string& id)
+//{
+//    double val;
+//    if(::getValue(id.c_str(), &val))
+//    {
+//        //How to signal error..?
+//        return -1;
+//    }
+//    return val;
+//}
+
+
+//        string NOMSupport::getMetaId(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                return "";
+//                //throw new Exception("You need to load the model first");
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//            {
+//                return oSpecies.getMetaId();
+//            }
+//
+//            Parameter oParameter = mModel->getParameter(sId);
+//            if (oParameter != NULL)
+//            {
+//                return oParameter.getMetaId();
+//            }
+//
+//            Compartment oCompartment = mModel->getCompartment(sId);
+//            if (oCompartment != NULL)
+//            {
+//                return oCompartment.getMetaId();
+//            }
+//
+//            libsbmlcs.Reaction oReaction = mModel->getReaction(sId);
+//            if (oReaction != NULL)
+//            {
+//                return oReaction.getMetaId();
+//            }
+//
+//            Rule oRule = mModel->getRule(sId);
+//            if (oRule != NULL)
+//            {
+//                return oRule.getMetaId();
+//            }
+//
+//            if (mModel->getId() == sId)
+//                return mModel->getMetaId();
+//
+//            return "";
+//        }
+
+
+
+//        bool addMissingModifiers(Model oModel)
+//        {
+//            StringCollection _species = new StringCollection();
+//            for (int i = 0; i < oModel.getNumSpecies(); i++)
+//            {
+//                _species.Add(getId(oModel.getSpecies(i)));
+//            }
+//            int nReactions = (int)oModel.getNumReactions();
+//            bool bReplaced = false;
+//            for (int i = 0; i < nReactions; i++)
+//            {
+//                libsbmlcs.Reaction oReaction = oModel.getReaction(i);
+//                KineticLaw oLaw = oReaction.getKineticLaw();
+//                if (oLaw == NULL) continue;
+//                StringCollection symbols = new StringCollection();
+//
+//                for (int j = 0; j < oReaction.getNumModifiers(); j++)
+//                {
+//                    symbols.Add(oReaction.getModifier(j).getSpecies());
+//                }
+//                for (int j = 0; j < oModel.getNumParameters(); j++)
+//                {
+//                    symbols.Add(getId(oModel.getParameter(j)));
+//                }
+//                for (int j = 0; j < oModel.getNumCompartments(); j++)
+//                {
+//                    symbols.Add(getId(oModel.getCompartment(j)));
+//                }
+//                for (int j = 0; j < oModel.getNumFunctionDefinitions(); j++)
+//                {
+//                    symbols.Add(getId(oModel.getFunctionDefinition(j)));
+//                }
+//
+//                if (oLaw != NULL)
+//                {
+//                    for (int j = 0; j < oLaw.getNumParameters(); j++)
+//                    {
+//                        symbols.Add(getId(oLaw.getParameter(j)));
+//                    }
+//                }
+//
+//                for (int j = 0; j < oReaction.getNumReactants(); j++)
+//                {
+//                    symbols.Add(oReaction.getReactant(j).getSpecies());
+//                }
+//                for (int j = 0; j < oReaction.getNumProducts(); j++)
+//                {
+//                    symbols.Add(oReaction.getProduct(j).getSpecies());
+//                }
+//                ASTNode oRoot = oLaw.getMath();
+//                StringCollection oMissingNames = new StringCollection();
+//
+//                // here the fancy function that discoveres themissing names and solves all problems
+//                // magically ...
+//                checkForMissingNames(oRoot, oMissingNames, symbols);
+//                string sMissingName;
+//                if (oMissingNames.Count > 0)
+//                {
+//                    bReplaced = true;
+//                    for (int j = 0; j < oMissingNames.Count; j++)
+//                    {
+//                        sMissingName = oMissingNames[j];
+//                        if (_species.Contains(sMissingName))
+//                        {
+//                            ModifierSpeciesReference reference = oReaction.createModifier();
+//                            reference.setSpecies(sMissingName);
+//                            oReaction.addModifier(reference);
+//                        }
+//                    }
+//                }
+//            }
+//            return bReplaced;
+//        }
+//
+//        string NOMSupport::addMissingModifiers(string sModel)
+//        {
+//
+//            SBMLDocument d = libsbml.readSBMLFromString(sModel);
+//            string sResult = sModel;
+//            try
+//            {
+//                Model oModel = d.getModel();
+//                if (oModel != NULL)
+//                {
+//                    bool bReplaced = addMissingModifiers(oModel);
+//                    if (!bReplaced)
+//                    {
+//                        return sModel;
+//                    }
+//                }
+//
+//                sResult = libsbml.writeSBMLToString(d);
+//            }
+//            catch
+//            {
+//                throw new Exception("Exception occured while trying to modify the SBML file");
+//            }
+//
+//            finally
+//            {
+//                if (d != NULL)
+//                    d.Dispose();
+//            }
+//
+//
+//            return sResult;
+//        }
+//
+//        void NOMSupport::checkForMissingNames(ASTNode node, StringCollection results, StringCollection symbols)
+//        {
+//            for (int i = 0; i < node.getNumChildren(); i++)
+//            {
+//                checkForMissingNames(node.getChild(i), results, symbols);
+//            }
+//            if (node.isName())
+//            {
+//                string sName = node.getName();
+//                if (!symbols.Contains(sName) && !results.Contains(sName))
+//                    results.Add(sName);
+//            }
+//        }
+//
+//        int NOMSupport::checkConsistency()
+//        {
+//            if (_oDoc == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//            return (int)_oDoc.checkConsistency();
+//
+//        }
+//
+//        string NOMSupport::convertLevel1ToLevel2Impl(string sSBML)
+//        {
+//            SBMLReader oReader = new SBMLReader();
+//            SBMLDocument oDoc = oReader.readSBMLFromString(sSBML);
+//            string sResult = sSBML;
+//
+//            try
+//            {
+//                oDoc.setLevelAndVersion(2, 1);
+//                SBMLWriter oWriter = new SBMLWriter();
+//                sResult = oWriter.writeToString(oDoc);
+//            }
+//            finally
+//            {
+//                if (oDoc != NULL)
+//                    oDoc.Dispose();
+//            }
+//            return sResult;
+//        }
+//
+//        string NOMSupport::convertLevel2ToLevel1Impl(string sSBML)
+//        {
+//            SBMLReader oReader = new SBMLReader();
+//            SBMLDocument oDoc = oReader.readSBMLFromString(sSBML);
+//            string sResult = sSBML;
+//
+//            try
+//            {
+//                oDoc.setLevelAndVersion(1, 2);
+//                SBMLWriter oWriter = new SBMLWriter();
+//                sResult = oWriter.writeToString(oDoc);
+//            }
+//            finally
+//            {
+//                if (oDoc != NULL)
+//                    oDoc.Dispose();
+//            }
+//            return sResult;
+//        }
+//
+
+
+//
+//        string NOMSupport::convertPowImpl(string sSBML)
+//        {
+//
+//            SBMLDocument doc = libsbml.readSBMLFromString(sSBML);
+//            try
+//            {
+//                Model model = doc.getModel();
+//                if (model == NULL)
+//                {
+//                    throw new Exception("Error in sbml input. ");
+//                }
+//                string strKineticFormula;
+//                for (int i = 0; i < model.getNumReactions(); i++)
+//                {
+//                    libsbmlcs.Reaction r = model.getReaction(i);
+//                    KineticLaw kl = r.getKineticLaw();
+//
+//                    if (kl == NULL)
+//                    {
+//                        strKineticFormula = "";
+//                    }
+//                    else
+//                    {
+//                        strKineticFormula = kl.getFormula();
+//                        if (strKineticFormula == NULL)
+//                        {
+//                            throw new Exception("The kinetic law has errors");
+//                        }
+//                    }
+//                    ASTNode ast_Node = libsbml.parseFormula(strKineticFormula);
+//                    changePow(ast_Node);
+//                    kl.setMath(ast_Node);
+//
+//                }
+//
+//                doc.setLevelAndVersion(1, 2);
+//                return libsbml.writeSBMLToString(doc);
+//            }
+//            finally
+//            {
+//                if (doc != NULL)
+//                    doc.Dispose();
+//            }
+//        }
+//
+//        void NOMSupport::changePow(ASTNode node)
+//        {
+//            int c;
+//
+//            if (node.getType() == libsbml.AST_FUNCTION_POWER)
+//            {
+//                node.setType(libsbml.AST_POWER);
+//            }
+//
+//            for (c = 0; c < node.getNumChildren(); c++)
+//            {
+//                changePow(node.getChild(c));
+//            }
+//        }
+//
+//        string NOMSupport::convertSBML(string sModel, int nLevel, int nVersion)
+//        {
+//            return convertSBML(sModel, nLevel, nVersion, true);
+//        }
+//
+//        void NOMSupport::RemoveSpatialSizeUnitsFromSpecies(SBMLDocument doc)
+//        {
+//            if (doc == NULL) return;
+//            if (doc.getModel() == NULL) return;
+//            var model = doc.getModel();
+//            for (int i = 0; i < model.getNumSpecies(); i++)
+//            {
+//                var species = model.getSpecies(i);
+//                if (species.isSetSpatialSizeUnits())
+//                    species.unsetSpatialSizeUnits();
+//            }
+//        }
+//
+//        void NOMSupport::RemoveTimeUnitsFromKineticLaws(SBMLDocument doc)
+//        {
+//            if (doc == NULL) return;
+//            if (doc.getModel() == NULL) return;
+//            var model = doc.getModel();
+//            for (int i = 0; i < model.getNumReactions(); i++)
+//            {
+//                var reaction = model.getReaction(i);
+//                if (reaction.isSetKineticLaw())
+//                {
+//                    var law = reaction.getKineticLaw();
+//                    if (law.isSetTimeUnits())
+//                        law.unsetTimeUnits();
+//                }
+//            }
+//        }
+//
+//        void NOMSupport::RemoveSubstanceUnitsFromKineticLaws(SBMLDocument doc)
+//        {
+//            if (doc == NULL) return;
+//            if (doc.getModel() == NULL) return;
+//            var model = doc.getModel();
+//            for (int i = 0; i < model.getNumReactions(); i++)
+//            {
+//                var reaction = model.getReaction(i);
+//                if (reaction.isSetKineticLaw())
+//                {
+//                    var law = reaction.getKineticLaw();
+//                    if (law.isSetSubstanceUnits())
+//                        law.unsetSubstanceUnits();
+//                }
+//            }
+//        }
+//
+//        void NOMSupport::AddMissingParameter(string parameterId, SBMLDocument doc)
+//        {
+//            if (doc == NULL) return;
+//            var model = doc.getModel();
+//            if (model == NULL) return;
+//            var parameter = model.createParameter();
+//            parameter.setId(parameterId);
+//            parameter.setValue(0.1);
+//            return;
+//        }
+//
+//        void NOMSupport::UpgradeToL2V4IfNecessary(SBMLDocument doc)
+//        {
+//            if (doc.getLevel() == 1 || (doc.getLevel() == 2 && doc.getVersion() < 2))
+//            {
+//                Model oModel = doc.getModel();
+//                addMissingModifiers(oModel);
+//
+//                if (oModel == NULL)
+//                {
+//                    SBMLErrorLog oLog = doc.getErrorLog();
+//                    StringBuilder oBuilder = new StringBuilder();
+//                    for (int i = 0; i < oLog.getNumErrors(); i++)
+//                    {
+//                        SBMLError error = oLog.getError(i);
+//                        oBuilder.Append(String.Format("{0}: {1}{2}", error.getErrorId(), error.getMessage(), Environment.NewLine));
+//                    }
+//
+//                    throw new Exception(oBuilder.ToString());
+//                }
+//
+//                if (!doc.setLevelAndVersion(2, 4))
+//                {
+//
+//                    SBMLErrorLog oLog = doc.getErrorLog();
+//                    StringBuilder oBuilder = new StringBuilder();
+//                    for (int i = 0; i < oLog.getNumErrors(); i++)
+//                    {
+//                        SBMLError error = oLog.getError(i);
+//
+//                        switch (error.getErrorId())
+//                        {
+//                            case 95004:
+//                                {
+//                                    RemoveSpatialSizeUnitsFromSpecies(doc);
+//                                    break;
+//                                }
+//                            case 95002:
+//                                {
+//                                    RemoveTimeUnitsFromKineticLaws(doc);
+//                                    break;
+//                                }
+//                            case 95003:
+//                                {
+//                                    RemoveSubstanceUnitsFromKineticLaws(doc);
+//                                    break;
+//                                }
+//                            case 10215:
+//                                {
+//                                    var matches = new System.Text.RegularExpressions.Regex("'(?<id>.*?)'").Matches((error.getMessage()));
+//                                    var thisMatch = matches[matches.Count - 1];
+//                                    var parameterId = thisMatch.Groups[thisMatch.Groups.Count - 1].Value;
+//                                    AddMissingParameter(parameterId, doc);
+//                                    break;
+//                                }
+//                            default:
+//                                break;
+//                        }
+//
+//                    }
+//                    oLog.clearLog();
+//
+//                    if (!doc.setLevelAndVersion(2, 4))
+//                    {
+//                        oLog = doc.getErrorLog();
+//                        oBuilder = new StringBuilder();
+//                        int numErrors = 0;
+//                        for (int i = 0; i < oLog.getNumErrors(); i++)
+//                        {
+//                            SBMLError error = oLog.getError(i);
+//                            if (//error.isError() ||
+//                                error.isFatal())
+//                                numErrors++;
+//
+//                            oBuilder.Append(error.getErrorId() + ": " + error.getMessage() + Environment.NewLine);
+//                        }
+//                        if (numErrors > 0)
+//                            throw new Exception(oBuilder.ToString());
+//                    }
+//
+//                }
+//            }
+//        }
+//
+//        string NOMSupport::getSBOCapableSBML(string sModel)
+//        {
+//            if (sModel == "")
+//            {
+//                throw new ArgumentException("The model cannot be empty");
+//            }
+//
+//            SBMLDocument oSBMLDoc = libsbml.readSBMLFromString(sModel);
+//            try
+//            {
+//
+//                if (oSBMLDoc.getLevel() >= 2 && oSBMLDoc.getVersion() >= 2) return sModel;
+//
+//                UpgradeToL2V4IfNecessary(oSBMLDoc);
+//
+//
+//                return libsbml.writeSBMLToString(oSBMLDoc);
+//            }
+//            finally
+//            {
+//                if (oSBMLDoc != NULL)
+//                    oSBMLDoc.Dispose();
+//            }
+//        }
+//
+//        string NOMSupport::convertSBML(string sModel, int nLevel, int nVersion, bool throwError)
+//        {
+//            if (sModel == "")
+//            {
+//                throw new ArgumentException("The model cannot be empty");
+//            }
+//
+//            SBMLDocument oSBMLDoc = libsbml.readSBMLFromString(sModel);
+//            try
+//            {
+//                Model oModel = oSBMLDoc.getModel();
+//
+//                if (oModel == NULL)
+//                {
+//                    SBMLErrorLog oLog = oSBMLDoc.getErrorLog();
+//                    StringBuilder oBuilder = new StringBuilder();
+//                    for (int i = 0; i < oLog.getNumErrors(); i++)
+//                    {
+//                        SBMLError error = oLog.getError(i);
+//                        oBuilder.Append(error.getErrorId() + ": " + error.getMessage() + Environment.NewLine);
+//                    }
+//
+//                    throw new Exception(oBuilder.ToString());
+//                }
+//
+//                oSBMLDoc.setLevelAndVersion((int)nLevel, (int)nVersion, false);
+//
+//                if (throwError && oSBMLDoc.getNumErrors() > 0)
+//                {
+//                    SBMLErrorLog oLog = oSBMLDoc.getErrorLog();
+//                    bool fatal = false;
+//                    StringBuilder oBuilder = new StringBuilder();
+//                    for (int i = 0; i < oLog.getNumErrors(); i++)
+//                    {
+//                        SBMLError error = oLog.getError(i);
+//                        if (error.getSeverity() == libsbml.LIBSBML_SEV_ERROR ||
+//                         error.getSeverity() == libsbml.LIBSBML_SEV_FATAL)
+//                        {
+//                            fatal = true;
+//                            oBuilder.Append(error.getErrorId() + ": " + error.getMessage() + Environment.NewLine);
+//                        }
+//                    }
+//                    if (fatal)
+//                    throw new Exception(oBuilder.ToString());
+//                }
+//
+//                return libsbml.writeSBMLToString(oSBMLDoc);
+//            }
+//            finally
+//            {
+//                if (oSBMLDoc != NULL)
+//                    oSBMLDoc.Dispose();
+//            }
+//        }
+//
+
+//        void NOMSupport::ChangeConstantForRules(Model model)
+//        {
+//            var ruleTargets = new List<string>();
+//            for (int i = 0; i < model.getNumRules(); i++)
+//            {
+//                var rule = model.getRule(i);
+//                ruleTargets.Add(rule.getVariable());
+//            }
+//            for (int i = 0; i < model.getNumParameters(); i++)
+//            {
+//                var parameter = model.getParameter(i);
+//                if (ruleTargets.Contains(parameter.getId()))
+//                    parameter.setConstant(false);
+//            }
+//
+//            for (int i = 0; i < model.getNumCompartments(); i++)
+//            {
+//                var compartment = model.getCompartment(i);
+//                if (ruleTargets.Contains(compartment.getId()))
+//                    compartment.setConstant(false);
+//            }
+//
+//        }
+//        /// <summary>
+//        /// This function alters the given SBML model by fixing common errors:
+//        ///
+//        /// parameter "time", "avogadro" will be replaced with their respective CSymbol
+//        /// missing modifiers will be added,
+//        ///
+//        /// also parameters with rules will be set to constant
+//        /// </summary>
+//        /// <param name="sbml">the sbml string to fix</param>
+//        /// <returns></returns>
+//        string NOMSupport::FixCommonIssues(string sbml)
+//        {
+//            return FixCommonIssues(sbml, NULL, NULL);
+//        }
+//
+//        /// <summary>
+//        /// This function alters the given SBML model by fixing common errors:
+//        ///
+//        /// parameter "time", "avogadro" will be replaced with their respective CSymbol
+//        /// missing modifiers will be added,
+//        ///
+//        /// also parameters with rules will be set to constant
+//        /// </summary>
+//        /// <param name="sbml">the sbml string to fix</param>
+//        /// <param name="programName">program name (or NULL in case of none)</param>
+//        /// <param name="programVersion">program version</param>
+//        /// <returns></returns>
+//        string NOMSupport::FixCommonIssues(string sbml, string programName, string programVersion)
+//        {
+//            var doc = libsbml.readSBMLFromString(sbml);
+//            var model = doc.getModel();
+//            if (model == NULL)
+//            {
+//                throw new Exception("SBML Validation failed");
+//            }
+//            ChangeNameToCSymbol(model, "time", libsbml.AST_NAME_TIME);
+//            ChangeNameToCSymbol(model, "avogadro", libsbml.AST_NAME_AVOGADRO);
+//
+//            addMissingModifiers(model);
+//
+//            ChangeConstantForRules(model);
+//
+//            using (var writer = new SBMLWriter())
+//            {
+//                if (!string.IsNullOrEmpty(programName))
+//                {
+//
+//                    writer.setProgramName(programName);
+//                    if (!string.IsNullOrEmpty(programVersion))
+//                        writer.setProgramVersion(programVersion);
+//                }
+//
+//                return writer.writeSBMLToString(doc);
+//            }
+//        }
+//
+//        string NOMSupport::convertTimeToCSymbol(string sArg, string sTimeSymbol)
+//        {
+//            SBMLDocument oSBMLDoc = NULL;
+//            Model oModel = NULL;
+//
+//            try
+//            {
+//                oSBMLDoc = libsbml.readSBMLFromString(sArg);
+//                oModel = oSBMLDoc.getModel();
+//
+//                if (oModel == NULL)
+//                {
+//                    throw new Exception("SBML Validation failed");
+//                }
+//                else
+//                {
+//                    ChangeNameToCSymbol(oModel, sTimeSymbol, libsbml.AST_NAME_TIME);
+//                    return libsbml.writeSBMLToString(oSBMLDoc);
+//                }
+//            }
+//            finally
+//            {
+//                if (oSBMLDoc != NULL)
+//                    oSBMLDoc.Dispose();
+//            }
+//        }
+//
+
+
+//        void NOMSupport::ChangeNameToCSymbol(Model model, string name, int type)
+//        {
+//            for (int i = 0; i < model.getNumReactions(); i++)
+//            {
+//                libsbmlcs.Reaction r = model.getReaction(i);
+//                if (r.getKineticLaw() != NULL && r.getKineticLaw().isSetMath())
+//                    r.getKineticLaw().setMath(changeTimeToCSymbol(r.getKineticLaw().getMath(), name, type));
+//            }
+//            for (int i = 0; i < model.getNumRules(); i++)
+//            {
+//                Rule r = model.getRule(i);
+//                if (r.isSetMath())
+//                    r.setMath(changeTimeToCSymbol(r.getMath(), name, type));
+//            }
+//            for (int i = 0; i < model.getNumEvents(); i++)
+//            {
+//                Event oEvent = model.getEvent(i);
+//                if (oEvent.getTrigger().isSetMath())
+//                    oEvent.getTrigger().setMath(changeTimeToCSymbol(oEvent.getTrigger().getMath(), name, type));
+//            }
+//        }
+//
+
+
+
+
+
+//        ASTNode NOMSupport::ReplaceSymbol(ASTNode node, string oldId, string newId)
+//        {
+//            int c;
+//            if (node.getType() == libsbml.AST_NAME && node.getName() == oldId)
+//                node.setName(newId);
+//
+//            for (c = 0; c < node.getNumChildren(); c++)
+//                ReplaceSymbol(node.getChild(c), oldId, newId);
+//            return node;
+//        }
+//
+//
+//        ASTNode NOMSupport::changeTimeToCSymbol(ASTNode node, string name, int type)
+//        {
+//            int c;
+//            if (node.getName() == name && node.getType() != type)
+//                node.setType(type);
+//            for (c = 0; c < node.getNumChildren(); c++)
+//                changeTimeToCSymbol(node.getChild(c), name, type);
+//            return node;
+//        }
+//
+//        bool NOMSupport::exists(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//            {
+//                return true;
+//            }
+//
+//            Compartment oCompartment = mModel->getCompartment(sId);
+//            if (oCompartment != NULL)
+//            {
+//                return true;
+//            }
+//
+//            Parameter oParameter = mModel->getParameter(sId);
+//            if (oParameter != NULL)
+//            {
+//                return true;
+//            }
+//            return false;
+//        }
+//
+//        string NOMSupport::getAnnotation(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                return "";
+//                //throw new Exception("You need to load the model first");
+//            }
+//
+//            string sResult = "";
+//
+//            if (mModel->getId() == sId || mModel->getName() == sId)
+//            {
+//                if (mModel->isSetAnnotation())
+//                {
+//                    sResult = mModel->getAnnotationString();
+//                }
+//                return sResult;
+//
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//            {
+//                if (oSpecies.isSetAnnotation())
+//                {
+//                    sResult = oSpecies.getAnnotationString();
+//                }
+//                return sResult;
+//            }
+//
+//            Parameter oParameter = mModel->getParameter(sId);
+//            if (oParameter != NULL)
+//            {
+//                if (oParameter.isSetAnnotation())
+//                {
+//                    sResult = oParameter.getAnnotationString();
+//                }
+//                return sResult;
+//            }
+//
+//            Compartment oCompartment = mModel->getCompartment(sId);
+//            if (oCompartment != NULL)
+//            {
+//                if (oCompartment.isSetAnnotation())
+//                {
+//                    sResult = oCompartment.getAnnotationString();
+//                }
+//                return sResult;
+//            }
+//
+//            libsbmlcs.Reaction oReaction = mModel->getReaction(sId);
+//            if (oReaction != NULL)
+//            {
+//                if (oReaction.isSetAnnotation())
+//                {
+//                    sResult = oReaction.getAnnotationString();
+//                }
+//                return sResult;
+//            }
+//
+//            Rule oRule = mModel->getRule(sId);
+//            if (oRule != NULL)
+//            {
+//                if (oRule.isSetAnnotation())
+//                {
+//                    sResult = oRule.getAnnotationString();
+//                }
+//                return sResult;
+//            }
+//
+//            return "";
+//            //throw new Exception("Invalid id. No element with the given id exists in the model.");
+//        }
+//
+//        string[] NOMSupport::getBuiltinFunctionInfo(string var0)
+//        {
+//            for (int i = 0; i < _oPredefinedFunctions.Length; i++)
+//            {
+//                if (_oPredefinedFunctions[i][0] == var0)
+//                    return _oPredefinedFunctions[i];
+//            }
+//
+//            throw new Exception("Invalid string name. There is no inbuilt function with that name: " + var0);
+//        }
+//
+//        string[] NOMSupport::getBuiltinFunctions()
+//        {
+//            string[] sResult = new string[_oPredefinedFunctions.Length];
+//
+//            int i;
+//
+//            for (i = 0; i < _oPredefinedFunctions.Length; i++)
+//            {
+//                sResult[i] = _oPredefinedFunctions[i][0];
+//            }
+//
+//            return sResult;
+//
+//        }
+//
+//        string NOMSupport::getCompartmentIdBySpeciesId(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies == NULL)
+//            {
+//                throw new Exception("The model does not have a species corresponding to the Id provided");
+//            }
+//            return oSpecies.getCompartment();
+//        }
+//
+//        ArrayList NOMSupport::getDerivedUnitDefinition(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//            {
+//                UnitDefinition oUnitDef = oSpecies.getDerivedUnitDefinition();
+//                return returnUnitDefinition(oUnitDef);
+//            }
+//
+//            Compartment oCompartment = mModel->getCompartment(sId);
+//            if (oCompartment != NULL)
+//            {
+//                UnitDefinition oUnitDef = oCompartment.getDerivedUnitDefinition();
+//                return returnUnitDefinition(oUnitDef);
+//            }
+//
+//            Parameter oParameter = mModel->getParameter(sId);
+//            if (oParameter != NULL)
+//            {
+//                UnitDefinition oUnitDef = oParameter.getDerivedUnitDefinition();
+//                return returnUnitDefinition(oUnitDef);
+//            }
+//            return new ArrayList();
+//        }
+//
+//        ArrayList returnUnitDefinition(UnitDefinition oDefinition)
+//        {
+//            ArrayList oResultDef = new ArrayList();
+//            for (int i = 0; i < oDefinition.getNumUnits(); i++)
+//            {
+//                Unit oUnit = oDefinition.getUnit(i);
+//                if (oUnit != NULL)
+//                {
+//                    ArrayList oResult = new ArrayList();
+//                    oResult.Add(libsbml.UnitKind_toString(oUnit.getKind()));
+//                    oResult.Add(oUnit.getExponent());
+//                    oResult.Add(oUnit.getMultiplier());
+//                    oResult.Add(oUnit.getOffset());
+//                    oResult.Add(oUnit.getScale());
+//                    oResultDef.Add(oResult);
+//                }
+//            }
+//            return oResultDef;
+//        }
+//
+
+
+
+//        ArrayList NOMSupport::getListOfBoundarySpeciesIds()
+//        {
+//            ArrayList boundarySpeciesIdList = new ArrayList();
+//
+//            if (mModel == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//
+//            for (int i = 0; i < mModel->getNumSpecies(); i++)
+//            {
+//                libsbmlcs.Species oSpecies = mModel->getSpecies(i);
+//                if (oSpecies.getBoundaryCondition())
+//                {
+//                    boundarySpeciesIdList.Add(getId(oSpecies));
+//                }
+//            }
+//
+//            return boundarySpeciesIdList;
+//        }
+//
+//        ArrayList NOMSupport::getListOfErrors()
+//        {
+//            if (_oDoc == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//            int nErrors = (int)_oDoc.getNumErrors();
+//
+//            ArrayList oErrorList = new ArrayList();
+//            for (int i = 0; i < nErrors; i++)
+//            {
+//                oErrorList.Add(getNthError((int)i));
+//            }
+//            return oErrorList;
+//        }
+//
+
+
+//StringListContainer NOMSupport::getFloatingSpecies()
+//{
+//    StringContainer floatingSpeciesList;
+//    int nrOfSpecies = ::getNumFloatingSpecies();
+//
+//    for (int i = 0; i < nrOfSpecies; i++)
+//    {
+//        Species* aSpecies = mModel->getSpecies(i);
+//        if( aSpecies != NULL && !aSpecies->getBoundaryCondition())
+//        {
+//            StringCollection oSpeciesValues;// = new ArrayList();
+//            //oSpeciesValues.Add(getId(aSpecies));
+//            oSpeciesValues.Add(aSpecies->getId());
+//            double concentration = aSpecies->isSetInitialConcentration() ? aSpecies->getInitialConcentration() : aSpecies->getInitialAmount();
+//
+//            oSpeciesValues.Add(ToString(concentration));
+//            oSpeciesValues.Add(ToString(aSpecies->isSetInitialConcentration()));
+//            floatingSpeciesList.Add(oSpeciesValues);
+//        }
+//    }
+//
+//    return floatingSpeciesList;
+//}
+
+//        ArrayList NOMSupport::getListOfFloatingSpeciesIds()
+//        {
+//            ArrayList floatingSpeciesIdList = new ArrayList();
+//
+//            if (mModel == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//
+//            for (int i = 0; i < mModel->getNumSpecies(); i++)
+//            {
+//                libsbmlcs.Species oSpecies = mModel->getSpecies(i);
+//                if (!oSpecies.getBoundaryCondition())
+//                {
+//                    floatingSpeciesIdList.Add(getId(oSpecies));
+//                }
+//            }
+//
+//            return floatingSpeciesIdList;
+//        }
+//
+
+//        string NOMSupport::getModelId()
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//            return getId(mModel);
+//        }
+//
+//        string NOMSupport::getNotes(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                //throw new Exception("You need to load the model first");
+//                return "";
+//            }
+//
+//            string sResult = "";
+//
+//            if (mModel->getId() == sId || mModel->getName() == sId)
+//            {
+//                if (mModel->isSetNotes())
+//                {
+//                    sResult = mModel->getNotesString();
+//                }
+//                return sResult;
+//
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//            {
+//                if (oSpecies.isSetNotes())
+//                {
+//                    sResult = oSpecies.getNotesString();
+//                }
+//                return sResult;
+//            }
+//
+//            Parameter oParameter = mModel->getParameter(sId);
+//            if (oParameter != NULL)
+//            {
+//                if (oParameter.isSetNotes())
+//                {
+//                    sResult = oParameter.getNotesString();
+//                }
+//                return sResult;
+//            }
+//
+//            Compartment oCompartment = mModel->getCompartment(sId);
+//            if (oCompartment != NULL)
+//            {
+//                if (oCompartment.isSetNotes())
+//                {
+//                    sResult = oCompartment.getNotesString();
+//                }
+//                return sResult;
+//            }
+//
+//            libsbmlcs.Reaction oReaction = mModel->getReaction(sId);
+//            if (oReaction != NULL)
+//            {
+//                if (oReaction.isSetNotes())
+//                {
+//                    sResult = oReaction.getNotesString();
+//                }
+//                return sResult;
+//            }
+//
+//            Rule oRule = mModel->getRule(sId);
+//            if (oRule != NULL)
+//            {
+//                if (oRule.isSetNotes())
+//                {
+//                    sResult = oRule.getNotesString();
+//                }
+//                return sResult;
+//            }
+//
+//            return "";
+//            //throw new Exception("Invalid id. No element with the given id exists in the model.");
+//        }
+//
+//        string NOMSupport::getNthBoundarySpeciesId(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//
+//            int nCount = 0;
+//            for (int i = 0; i < mModel->getNumSpecies(); i++)
+//            {
+//                libsbmlcs.Species oSpecies = mModel->getSpecies(i);
+//                if (oSpecies.getBoundaryCondition())
+//                {
+//                    if (nCount == nIndex)
+//                    {
+//                        return getId(oSpecies);
+//                    }
+//                    else
+//                    {
+//                        nCount++;
+//                    }
+//                }
+//            }
+//            throw new Exception("The model does not have a boundary species corresponding to the index provided");
+//        }
+//
+//        string NOMSupport::getNthBoundarySpeciesName(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//
+//            int nCount = 0;
+//            for (int i = 0; i < mModel->getNumSpecies(); i++)
+//            {
+//                libsbmlcs.Species oSpecies = mModel->getSpecies(i);
+//                if (oSpecies.getBoundaryCondition())
+//                {
+//                    if (nCount == nIndex)
+//                    {
+//                        return getName(oSpecies);
+//                    }
+//                    else
+//                    {
+//                        nCount++;
+//                    }
+//                }
+//            }
+//            throw new Exception("The model does not have a boundary species corresponding to the index provided");
+//        }
+//
+//        string NOMSupport::getNthCompartmentId(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//
+//            if (nIndex < 0 || nIndex >= (int)mModel->getNumCompartments())
+//            {
+//                throw new Exception("Invalid input - Argument should be >= 0 and should be less than total number of compartments in the model");
+//
+//            }
+//            Compartment oCompartment = mModel->getCompartment((int)nIndex);
+//            return getId(oCompartment);
+//        }
+//
+//        string NOMSupport::getNthCompartmentName(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw new Exception("You need to load the model first");
+//            }
+//
+//            if (nIndex < 0 || nIndex >= (int)mModel->getNumCompartments())
+//            {
+//                throw new Exception("Invalid input - Argument should be >= 0 and should be less than total number of compartments in the model");
+//
+//            }
+//            Compartment oCompartment = mModel->getCompartment((int)nIndex);
+//            return getName(oCompartment);
+//        }
+//
+
+//        string NOMSupport::getNthFloatingSpeciesId(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            int nCount = 0;
+//            for (int i = 0; i < mModel->getNumSpecies(); i++)
+//            {
+//                libsbmlcs.Species oSpecies = mModel->getSpecies(i);
+//                if (!oSpecies.getBoundaryCondition())
+//                {
+//                    if (nCount == nIndex)
+//                    {
+//                        return getId(oSpecies);
+//                    }
+//                    else
+//                    {
+//                        nCount++;
+//                    }
+//                }
+//            }
+//            throw Exception("The model does not have a floating species corresponding to the index provided");
+//        }
+//
+//        string NOMSupport::getNthFloatingSpeciesName(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            int nCount = 0;
+//            for (int i = 0; i < mModel->getNumSpecies(); i++)
+//            {
+//                libsbmlcs.Species oSpecies = mModel->getSpecies(i);
+//                if (!oSpecies.getBoundaryCondition())
+//                {
+//                    if (nCount == nIndex)
+//                    {
+//                        return getName(oSpecies);
+//                    }
+//                    else
+//                    {
+//                        nCount++;
+//                    }
+//                }
+//            }
+//            throw Exception("The model does not have a floating species corresponding to the index provided");
+//        }
+//
+//        string NOMSupport::getNthGlobalParameterId(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//
+//            }
+//
+//            if (nIndex >= (int)mModel->getNumParameters())
+//            {
+//                throw Exception("There is no parameter corresponding to the index you provided");
+//
+//            }
+//
+//            Parameter oParameter = mModel->getParameter((int)nIndex);
+//            if (oParameter == NULL)
+//            {
+//                throw Exception("There is no parameter corresponding to the index you provided");
+//            }
+//            return getId(oParameter);
+//        }
+//
+//        string NOMSupport::getNthGlobalParameterName(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//
+//            }
+//
+//            if (nIndex >= (int)mModel->getNumParameters())
+//            {
+//                throw Exception("There is no parameter corresponding to the index you provided");
+//
+//            }
+//
+//            Parameter oParameter = mModel->getParameter((int)nIndex);
+//            if (oParameter == NULL)
+//            {
+//                throw Exception("There is no parameter corresponding to the index you provided");
+//            }
+//            return getName(oParameter);
+//        }
+//
+//        ArrayList NOMSupport::getNthListOfModifiers(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            ArrayList modifierList = new ArrayList();
+//
+//            if (nIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction r = mModel->getReaction((int)nIndex);
+//            int numModifiers = (int)r.getNumModifiers();
+//            for (int i = 0; i < numModifiers; i++)
+//            {
+//                modifierList.add(r.getModifier(i).getSpecies());
+//            }
+//            return modifierList;
+//        }
+//
+//        ArrayList NOMSupport::getNthListOfProducts(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            ArrayList productList = new ArrayList();
+//
+//            if (nIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction r = mModel->getReaction((int)nIndex);
+//            int numProducts = (int)r.getNumProducts();
+//            for (int i = 0; i < numProducts; i++)
+//            {
+//                libsbmlcs.SpeciesReference product = r.getProduct(i);
+//                string stoichiometryMath = "";
+//                if (product.isSetStoichiometryMath() && product.getStoichiometryMath().isSetMath())
+//                    stoichiometryMath = libsbml.formulaToString(product.getStoichiometryMath().getMath());
+//                ArrayList oTemp = new ArrayList(); oTemp.add(product.getSpecies()); oTemp.add(product.getStoichiometry());
+//                oTemp.add(stoichiometryMath);
+//                productList.add(oTemp);
+//            }
+//            return productList;
+//        }
+//
+//        ArrayList NOMSupport::getNthListOfReactants(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            ArrayList reactantList = new ArrayList();
+//
+//            if (nIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction r = mModel->getReaction((int)nIndex);
+//            int numReactants = (int)r.getNumReactants();
+//            for (int i = 0; i < numReactants; i++)
+//            {
+//                libsbmlcs.SpeciesReference reactant = r.getReactant(i);
+//                string stoichiometryMath = "";
+//                if (reactant.isSetStoichiometryMath() && reactant.getStoichiometryMath().isSetMath())
+//                    stoichiometryMath = libsbml.formulaToString(reactant.getStoichiometryMath().getMath());
+//                ArrayList oTemp = new ArrayList(); oTemp.add(reactant.getSpecies()); oTemp.add(reactant.getStoichiometry());
+//                oTemp.add(stoichiometryMath);
+//                reactantList.add(oTemp);
+//            }
+//            return reactantList;
+//        }
+//
+//        bool NOMSupport::getNthParameterHasValue(int nReactionIndex, int nParameterIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            if (nReactionIndex < 0 || nReactionIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction oReaction = mModel->getReaction((int)nReactionIndex);
+//            KineticLaw kl = oReaction.getKineticLaw();
+//
+//            if (nParameterIndex < 0 || nParameterIndex >= (int)kl.getNumParameters())
+//            {
+//                throw Exception("Index exceeds the number of Parameters in the list");
+//            }
+//
+//            return kl.getParameter((int)nParameterIndex).isSetValue();
+//
+//        }
+//
+//        string NOMSupport::getNthParameterName(int nReactionIndex, int nParameterIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            if (nReactionIndex < 0 || nReactionIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction oReaction = mModel->getReaction((int)nReactionIndex);
+//            KineticLaw kl = oReaction.getKineticLaw();
+//
+//            if (nParameterIndex < 0 || nParameterIndex >= (int)kl.getNumParameters())
+//            {
+//                throw Exception("Index exceeds the number of Parameters in the list");
+//            }
+//
+//            return kl.getParameter((int)nParameterIndex).getName();
+//        }
+//
+//        string NOMSupport::getNthProductName(int nIndex, int nProduct)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            if (nIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction r = mModel->getReaction((int)nIndex);
+//            libsbmlcs.SpeciesReference oRef = r.getProduct((int)nProduct);
+//            if (oRef == NULL)
+//                throw Exception("No product for the provided index.");
+//            return oRef.getSpecies();
+//        }
+//
+//        int NOMSupport::getNthProductStoichiometry(int nIndex, int nProduct)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            if (nIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction r = mModel->getReaction((int)nIndex);
+//            libsbmlcs.SpeciesReference oRef = r.getProduct((int)nProduct);
+//            if (oRef == NULL)
+//                throw Exception("No product for the provided index.");
+//            return (int)oRef.getStoichiometry();
+//        }
+//
+//        double NOMSupport::getNthProductStoichiometryDouble(int nIndex, int nProduct)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//
+//            if (nIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction r = mModel->getReaction((int)nIndex);
+//            libsbmlcs.SpeciesReference oRef = r.getProduct((int)nProduct);
+//            if (oRef == NULL)
+//                throw Exception("No product for the provided index.");
+//            return oRef.getStoichiometry();
+//        }
+//
+//        string NOMSupport::getNthReactantName(int nIndex, int nReactant)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            if (nIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction r = mModel->getReaction((int)nIndex);
+//            libsbmlcs.SpeciesReference oRef = r.getReactant((int)nReactant);
+//            if (oRef == NULL)
+//                throw Exception("No reactant for the provided index.");
+//            return oRef.getSpecies();
+//        }
+//
+//        int NOMSupport::getNthReactantStoichiometry(int nIndex, int nReactant)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            if (nIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction r = mModel->getReaction((int)nIndex);
+//            libsbmlcs.SpeciesReference oRef = r.getReactant((int)nReactant);
+//            if (oRef == NULL)
+//                throw Exception("No reactant for the provided index.");
+//            return (int)oRef.getStoichiometry();
+//        }
+//
+//        double NOMSupport::getNthReactantStoichiometryDouble(int nIndex, int nReactant)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            if (nIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction r = mModel->getReaction((int)nIndex);
+//            libsbmlcs.SpeciesReference oRef = r.getReactant((int)nReactant);
+//            if (oRef == NULL)
+//                throw Exception("No reactant for the provided index.");
+//            return oRef.getStoichiometry();
+//        }
+//
+//        void NOMSupport::loadParameterPromotedSBML(string var0, string sTimeSymbol)
+//        {
+//            loadSBML(var0);
+//            changeTimeSymbol(mModel, sTimeSymbol);
+//            changeSymbol(mModel, "avogadro", libsbml::AST_NAME_AVOGADRO);
+//            modifyKineticLaws(mSBMLDoc, mModel);
+//
+//            BuildSymbolTable();
+//
+//        }
+//
+//        void loadFromFile(string fileName)
+//        {
+//            loadSBML(File.ReadAllText(fileName));
+//        }
+//
+//        static Hashtable _symbolTable = new Hashtable();
+//
+//        int getSBOTerm(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                return 0;
+//                //throw Exception("You need to load the model first");
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//            {
+//                return oSpecies.getSBOTerm();
+//            }
+//
+//            Parameter oParameter = mModel->getParameter(sId);
+//            if (oParameter != NULL)
+//            {
+//                return oParameter.getSBOTerm();
+//            }
+//
+//            Compartment oCompartment = mModel->getCompartment(sId);
+//            if (oCompartment != NULL)
+//            {
+//                return oCompartment.getSBOTerm();
+//            }
+//
+//            libsbmlcs.Reaction oReaction = mModel->getReaction(sId);
+//            if (oReaction != NULL)
+//            {
+//                return oReaction.getSBOTerm();
+//            }
+//
+//            Rule oRule = mModel->getRule(sId);
+//            if (oRule != NULL)
+//            {
+//                return oRule.getSBOTerm();
+//            }
+//
+//            if (mModel->getId() == sId)
+//                return mModel->getSBOTerm();
+//
+//            return 0;
+//            //throw Exception("Invalid id. No element with the given id exists in the model.");
+//
+//        }
+//
+//        void NOMSupport::TestASTTime()
+//        {
+//            var mathML = "<math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n            <csymbol encoding=\"text\" definitionURL=\"http://www.sbml.org/sbml/symbols/time\"> time </csymbol>\n            </math>\n";
+//            var node = libsbml::readMathMLFromString(mathML);
+//
+//            System.Diagnostics.Debug.WriteLine(
+//                string.Format("Node Type: {0}, AST_NAME_TIME: {1}, AST_NAME: {2}, AST_NAME_AVOGADRO: {3}",
+//                node.getType(),
+//                libsbml::AST_NAME_TIME,
+//                libsbml::AST_NAME,
+//                libsbml::AST_NAME_AVOGADRO));
+//
+//
+//        }
+//
+//
+//        double NOMSupport::getValue(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//            {
+//                if (oSpecies.isSetInitialAmount())
+//                    return oSpecies.getInitialAmount();
+//                else
+//                    return oSpecies.getInitialConcentration();
+//            }
+//
+//            Compartment oCompartment = mModel->getCompartment(sId);
+//            if (oCompartment != NULL)
+//            {
+//                return oCompartment.getVolume();
+//            }
+//
+//            Parameter oParameter = mModel->getParameter(sId);
+//            if (oParameter != NULL)
+//            {
+//                return oParameter.getValue();
+//            }
+//
+//            for (int i = 0; i < mModel->getNumReactions(); i++)
+//            {
+//                var reaction = mModel->getReaction(i);
+//                for (int j = 0; j < reaction.getNumReactants(); j++)
+//                {
+//                    var reference = reaction.getReactant(j);
+//                    if (reference.isSetId() && reference.getId() == sId)
+//                    {
+//                        if (reference.isSetStoichiometry())
+//                        {
+//                            return reference.getStoichiometry();
+//                        }
+//                        else return 1;
+//                    }
+//                }
+//                for (int j = 0; j < reaction.getNumProducts(); j++)
+//                {
+//                    var reference = reaction.getProduct(j);
+//                    if (reference.isSetId() && reference.getId() == sId)
+//                    {
+//                        if (reference.isSetStoichiometry())
+//                        {
+//                            return reference.getStoichiometry();
+//                        }
+//                        else return 1;
+//                    }
+//                }
+//            }
+//
+//
+//            throw Exception("Invalid string name. The id '" + sId + "' does not exist in the model");
+//        }
+//
+//        bool NOMSupport::hasInitialAmount(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//                return oSpecies.isSetInitialAmount();
+//
+//            throw Exception("Invalid string name. The name is not a valid id/name of a floating / boundary species.");
+//
+//        }
+//
+//        bool NOMSupport::hasInitialConcentration(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//                return oSpecies.isSetInitialConcentration();
+//
+//            throw Exception("Invalid string name. The name is not a valid id/name of a floating / boundary species.");
+//        }
+//
+//        bool NOMSupport::hasSBOTerm(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//            {
+//                return oSpecies.isSetSBOTerm();
+//            }
+//
+//            Parameter oParameter = mModel->getParameter(sId);
+//            if (oParameter != NULL)
+//            {
+//                return oParameter.isSetSBOTerm();
+//            }
+//
+//            Compartment oCompartment = mModel->getCompartment(sId);
+//            if (oCompartment != NULL)
+//            {
+//                return oCompartment.isSetSBOTerm();
+//            }
+//
+//            libsbmlcs.Reaction oReaction = mModel->getReaction(sId);
+//            if (oReaction != NULL)
+//            {
+//                return oReaction.isSetSBOTerm();
+//            }
+//
+//            Rule oRule = mModel->getRule(sId);
+//            if (oRule != NULL)
+//            {
+//                return oRule.isSetSBOTerm();
+//            }
+//
+//            throw Exception("Invalid id. No element with the given id exists in the model.");
+//
+//        }
+//
+//        bool NOMSupport::hasValue(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//            {
+//                return (oSpecies.isSetInitialAmount() || oSpecies.isSetInitialAmount());
+//
+//            }
+//
+//            Compartment oCompartment = mModel->getCompartment(sId);
+//            if (oCompartment != NULL)
+//            {
+//                return oCompartment.isSetVolume();
+//            }
+//
+//            Parameter oParameter = mModel->getParameter(sId);
+//            if (oParameter != NULL)
+//            {
+//                return oParameter.isSetValue();
+//            }
+//
+//            throw Exception("Invalid string name. The id '" + sId + "' does not exist in the model");
+//        }
+//
+//        bool NOMSupport::isConstantImpl(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//                return oSpecies.getConstant();
+//
+//            throw Exception("Invalid string name. The name is not a valid id/name of a floating / boundary species.");
+//        }
+//
+//        bool NOMSupport::isReactionReversible(int nIndex)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            ArrayList productList = new ArrayList();
+//
+//            if (nIndex >= (int)mModel->getNumReactions())
+//            {
+//                throw Exception("There is no reaction corresponding to the index you provided");
+//            }
+//
+//            libsbmlcs.Reaction r = mModel->getReaction((int)nIndex);
+//            return r.getReversible();
+//        }
+
+//        string NOMSupport::getOutsideCompartment(string var0)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//
+//            }
+//
+//            Compartment oCompartment = mModel->getCompartment(var0);
+//            if (oCompartment == NULL)
+//            {
+//                throw Exception("There is no compartment corresponding to the input argument.");
+//            }
+//            return oCompartment.getOutside();
+//
+//        }
+//
+
+//        string NOMSupport::validateWithConsistency(string sModel)
+//        {
+//            SBMLDocument oDoc = libsbml::readSBMLFromString(sModel);
+//            if (oDoc.getNumErrors() + oDoc.checkConsistency() > 0)
+//            {
+//                StringBuilder oBuilder = new StringBuilder();
+//                for (int i = 0; i < oDoc.getNumErrors(); i++)
+//                {
+//                    ArrayList oList = getNthError(i);
+//                    oBuilder.Append(oList[0] + ": (" + oList[1] + ":" + oList[2] + "[" + oList[3] + "]) " + oList[4] + Environment.NewLine);
+//                }
+//                throw Exception("Validation failed: " + Environment.NewLine + oBuilder.ToString());
+//            }
+//            return "Validation Successfull";
+//        }
+//
+//        #region Pre Defined Functions
+//
+//        static string[][] _oPredefinedFunctions = new string[][]
+//
+//    {
+//        new string[]{ "massi1", "Irreversible Mass Action Kinetics for 1 substrate", "S", "k", "k * S" },
+//        new string[]{ "massi2", "Irreversible Mass Action Kinetics for 2 substrates", "S1", "S2", "k", "k * S1 * S2" },
+//        new string[]{ "massi3", "Irreversible Mass Action Kinetics for 3 substrates", "S1", "S2", "S3", "k", "k * S1 * S2 * S3" },
+//        new string[]{
+//                        "massr11", "Reversible Mass Action Kinetics for 1 substrate and 1 product", "S", "P", "k_1", "k_2",
+//                        "k_1 * S - k_2 * P"},
+//        new string[]{
+//                        "massr12", "Reversible Mass Action Kinetics for 1 substrate and 2 products", "S", "P1", "P2", "k_1", "k_2",
+//                        "k_1 * S - k_2 * P1 * P2"},
+//        new string[]{
+//                        "massr13", "Reversible Mass Action Kinetics for 1 substrate and 3 products", "S", "P1", "P2", "P3", "k_1", "k_2",
+//                        "k_1 * S - k_2 * P1 * P2 * P3"},
+//        new string[]{
+//                        "massr21", "Reversible Mass Action Kinetics for 2 substrates and 1 product", "S1", "S2", "P", "k_1", "k_2",
+//                        "k_1 * S1 * S2 - k_2 * P"},
+//        new string[]{
+//                        "massr22", "Reversible Mass Action Kinetics for 2 substrates and 2 products", "S1", "S2", "P1", "P2", "k_1", "k_2",
+//                        "k_1 * S1 * S2 - k_2 * P1 * P2"},
+//        new string[]{
+//                        "massr23", "Reversible Mass Action Kinetics for 2 substrates and 3 products", "S1", "S2", "P1", "P2", "P3", "k_1", "k_2",
+//                        "k_1 * S1 * S2 - k_2 * P1 * P2 * P3"},
+//        new string[]{
+//                        "massr31", "Reversible Mass Action Kinetics for 3 substrates and 1 product", "S1", "S2", "S3", "P", "k_1", "k_2",
+//                        "k_1 * S1 * S2 * S3 - k_2 * P"},
+//        new string[]{
+//                        "massr32", "Reversible Mass Action Kinetics for 3 substrates and 2 products", "S1", "S2", "S3", "P1", "P2", "k_1", "k_2",
+//                        "k_1 * S1 * S2 * S3 - k_2 * P1 * P2"},
+//        new string[]{
+//                        "massr33", "Reversible Mass Action Kinetics for 3 substrates and 3 products", "S1", "S2", "S3", "P1", "P2", "P3", "k_1", "k_2",
+//                        "k_1 * S1 * S2 * S3 - k_2 * P1 * P2 * P3"},
+//        new string[]{ "uui", "Irreversible Simple Michaelis-Menten ", "S", "V_m", "K_m", "(V_m * S)/(K_m + S)" },
+//        new string[]{
+//                        "uur", "Uni-Uni Reversible Simple Michaelis-Menten", "S", "P", "V_f", "V_r", "K_ms", "K_mp",
+//                        "(V_f * S / K_ms - V_r * P / K_mp)/(1 + S / K_ms +  P / K_mp)"},
+//        new string[]{
+//                        "uuhr", "Uni-Uni Reversible Simple Michaelis-Menten with Haldane adjustment", "S", "P", "V_f", "K_m1", "K_m2", "K_eq",
+//                        "( V_f / K_m1 * (S - P / K_eq ))/(1 + S / K_m1 + P / K_m2)"},
+//        new string[]{
+//                        "isouur", "Iso Uni-Uni", "S", "P", "V_f", "K_ms", "K_mp", "K_ii", "K_eq",
+//                        "(V_f * (S - P / K_eq ))/(S * (1 + P / K_ii ) + K_ms * (1 + P / K_mp))"},
+//        new string[]{ "hilli", "Hill Kinetics", "S", "V", "S_0_5", "h", "(V * pow(S,h))/(pow(S_0_5,h) + pow(S,h))"},
+//        new string[]{
+//                        "hillr", "Reversible Hill Kinetics", "S", "P", "V_f", "S_0_5", "P_0_5", "h", "K_eq",
+//                        "(V_f * (S / S_0_5) * (1 - P / (S * K_eq) ) * pow(S / S_0_5 + P / P_0_5, h-1))/(1 + pow(S / S_0_5 + P / P_0_5, h))"},
+//        new string[]{
+//                        "hillmr", "Reversible Hill Kinetics with One Modifier", "S", "M", "P", "V_f", "K_eq", "k", "h", "alpha",
+//                        "(V_f * (S / S_0_5) * (1 - P / (S * K_eq) ) * pow(S / S_0_5 + P / P_0_5, h-1))/( pow(S / S_0_5 + P / P_0_5, h) + (1 + pow(M / M_0_5, h))/(1 + alpha * pow(M/M_0_5,h)))"},
+//        new string[]{
+//                        "hillmmr", "Reversible Hill Kinetics with Two Modifiers", "S", "P", "M", "V_f", "K_eq", "k", "h", "a", "b", "alpha_1", "alpha_2", "alpha_12",
+//                        "(V_f * (S / S_0_5) * (1 - P / (S * K_eq) ) * pow(S / S_0_5 + P / P_0_5, h-1)) / (pow(S / S_0_5 + P / P_0_5, h) + ((1 + pow(Ma/Ma_0_5,h) + pow(Mb/Mb_0_5,h))/( 1 + alpha_1 * pow(Ma/Ma_0_5,h) + alpha_2 * pow(Mb/Mb_0_5,h) + alpha_1 * alpha_2 * alpha_12 * pow(Ma/Ma_0_5,h) * pow(Mb/Mb_0_5,h))))"},
+//        new string[]{ "usii", "Substrate Inhibition Kinetics (Irreversible)", "S", "V", "K_m", "K_i", "V*(S/K_m)/(1 + S/K_m + sqr(S)/K_i)"},
+//        new string[]{
+//                        "usir", "Substrate Inhibition Kinetics (Reversible)", "S", "P", "V_f", "V_r", "K_ms", "K_mp", "K_i",
+//                        "(V_f*S/K_ms + V_r*P/K_mp)/(1 + S/K_ms + P/K_mp + sqr(S)/K_i)"},
+//        new string[]{ "usai", "Substrate Activation", "S", "V", "K_sa", "K_sc", "V * sqr(S/K_sa)/(1 + S/K_sc + sqr(S/K_sa) + S/K_sa)"},
+//        new string[]{ "ucii", "Competitive Inhibition (Irreversible)", "S", "V", "K_m", "K_i", "(V * S/K_m)/(1 + S/K_m + I/K_i)"},
+//        new string[]{
+//                        "ucir", "Competitive Inhibition (Reversible)", "S", "P", "V_f", "V_r", "K_ms", "K_mp", "K_i",
+//                        "(V_f*S/K_ms - V_r*P/K_mp)/(1 + S/K_ms + P/K_mp + I/K_i)"},
+//        new string[]{ "unii", "Noncompetitive Inhibition (Irreversible)", "S", "I", "V", "K_m", "K_i", "(V*S/K_m)/(1 + I/K_i + (S/K_m)*(1 + I/K_i))"},
+//        new string[]{
+//                        "unir", "Noncompetitive Inhibition (Reversible)", "S", "P", "I", "V_f", "K_ms", "K_mp", "K_i",
+//                        "(V_f*S/K_ms - V_r*P/K_mp)/(1 + I/K_i + (S/K_ms + P/K_mp )*(1 + I/K_i))"},
+//        new string[]{ "uuci", "Uncompetitive Inhibition (Irreversible)", "S", "I", "V", "K_m", "K_i", "(V*S/K_m)/(1 + (S/K_m)*(1 + I/K_i))"},
+//        new string[]{
+//                        "uucr", "Uncompetitive Inhibition (Reversible)", "S", "P", "I", "V_f", "V_r", "K_ms", "K_mp", "K_i",
+//                        "(V_f*S/K_ms - V_r*P/K_mp)/(1 + ( S/K_ms + P/K_mp )*( 1 + I/K_i))"},
+//        new string[]{
+//                        "umi", "Mixed Inhibition Kinetics (Irreversible)", "S", "I", "V", "K_m", "K_is", "K_ic",
+//                        "(V*S/K_m)/(1 + I/K_is + (S/K_m)*(1 + I/K_ic))"},
+//        new string[]{
+//                        "umr", "Mixed Inhibition Kinetics (Reversible)", "S", "P", "I", "V_f", "V_r", "K_ms", "K_mp", "K_is", "K_ic",
+//                        "(V_f*S/K_ms - V_r*P/K_mp)/(1 + I/K_is + ( S/K_ms + P/K_mp )*( 1 + I/K_ic ))"},
+//        new string[]{ "uai", "Specific Activation Kinetics - irreversible", "S", "A_c", "V", "K_m", "K_a", "(V*S/K_m)/(1 + S/K_m + K_a/A_c)"},
+//        new string[]{
+//                        "uar", "Specific Activation Kinetics (Reversible)", "S", "P", "A_c", "V_f", "V_r", "K_ms", "K_mp", "K_a",
+//                        "(V_f*S/K_ms - V_r*P/K_mp)/(1 + S/K_ms + P/K_mp + K_a/A_c)"},
+//        new string[]{ "ucti", "Catalytic Activation (Irreversible)", "S", "A_c", "V", "K_m", "K_a", "(V*S/K_m)/(1 + K_a/A_c + (S/K_m)*(1 + K_a/A_c))"},
+//        new string[]{
+//                        "uctr", "Catalytic Activation (Reversible)", "S", "P", "A_c", "V_f", "V_r", "K_ms", "K_mp", "K_a",
+//                        "(V_f*S/K_ms - V_r*P/K_mp)/(1 + K_a/A_c + (S/K_ms + P/K_mp)*(1 + K_a/A_c))"},
+//        new string[]{
+//                        "umai", "Mixed Activation Kinetics (Irreversible)", "S", "A_c", "V", "K_m", "Kas", "Kac",
+//                        "(V*S/K_m)/(1 + Kas/A_c + (S/K_m)*(1 + Kac/A_c))"},
+//        new string[]{
+//                        "umar", "Mixed Activation Kinetics (Reversible)", "S", "P", "A_c", "V_f", "V_r", "K_ms", "K_mp", "K_as", "K_ac",
+//                        "(V_f*S/K_ms - V_r*P/K_mp)/(1 + K_as/A_c + (S/K_ms + P/K_mp)*(1 + K_ac/A_c))"},
+//        new string[]{
+//                        "uhmi", "General Hyperbolic Modifier Kinetics (Irreversible)", "S", "M", "V", "K_m", "K_d", "a", "b",
+//                        "(V*(S/K_m)*(1 + b * M / (a*K_d)))/(1 + M/K_d + (S/K_m)*(1 + M/(a*K_d)))"},
+//        new string[]{
+//                        "uhmr", "General Hyperbolic Modifier Kinetics (Reversible)", "S", "P", "M", "V_f", "V_r", "K_ms", "K_mp", "K_d", "a", "b",
+//                        "((V_f*S/K_ms - V_r*P/K_mp)*(1 + b*M/(a*K_d)))/(1 + M/K_d + (S/K_ms + P/K_mp)*(1 + M/(a*K_d)))"},
+//        new string[]{
+//                        "ualii", "Allosteric inhibition (Irreversible)", "S", "I", "V", "K_s", "K_ii", "n", "L",
+//                        "(V*pow(1 + S/K_s, n-1))/(L*pow(1 + I/K_ii,n) + pow(1 + S/K_s,n))"},
+//        new string[]{
+//                        "ordubr", "Ordered Uni Bi Kinetics", "A", "P", "Q", "V_f", "V_r", "K_ma", "K_mq", "K_mp", "K_ip", "K_eq",
+//                        "(V_f*( A - P*Q/K_eq))/(K_ma + A*(1 + P/K_ip) + (V_f/(V_r*K_eq))*(K_mq*P + K_mp*Q + P*Q))"},
+//        new string[]{
+//                        "ordbur", "Ordered Bi Uni Kinetics", "A", "B", "P", "V_f", "V_r", "K_ma", "Kmb", "K_mp", "K_ia", "K_eq",
+//                        "(V_f*(A*B - P/K_eq))/(A*B + K_ma*B + Kmb*A + (V_f/(V_r*K_eq))*(K_mp + P*(1 + A/K_ia)))"},
+//        new string[]{
+//                        "ordbbr", "Ordered Bi Bi Kinetics", "A", "B", "P", "Q", "V_f", "K_ma", "K_mb", "K_mp", "K_ia", "K_ib", "K_ip", "K_eq",
+//                        "(V_f*(A*B - P*Q/K_eq))/(A*B*(1 + P/K_ip) + K_mb*(A + K_ia) + K_ma*B + ((V_f / (V_r*K_eq)) * (K_mq*P*( 1 + A/K_ia) + Q*(K_mp*( 1 + (K_ma*B)/(K_ia*K_mb) + P*(1 + B/K_ib))))))"},
+//        new string[]{
+//                        "ppbr", "Ping Pong Bi Bi Kinetics", "A", "B", "P", "Q", "V_f", "V_r", "K_ma", "K_mb", "K_mp", "K_mq", "K_ia", "K_iq", "K_eq",
+//                        "(V_f*(A*B - P*Q/K_eq))/(A*B + K_mb*A + K_ma*B*(1 + Q/K_iq) + ((V_f/(V_r*K_eq))*(K_mq*P*(1 + A/K_ia) + Q*(K_mp + P))))"}};
+//
+//
+//
+//        SBMLDocument SbmlDocument
+//        {
+//            get
+//            {
+//                return mSBMLDoc;
+//            }
+//        }
+//
+//
+//        Model SbmlModel
+//        {
+//            get
+//            {
+//                return mModel;
+//            }
+//        }
+//        #endregion
+//
+//        /// <summary>
+//        /// Checks whether the element for the given SBML id is a species
+//        /// </summary>
+//        /// <param name="sId">the id to check</param>
+//        /// <returns>true if element is a species, false otherwise</returns>
+//        bool NOMSupport::IsSpecies (string sId)
+//        {
+//            var temp = mModel->getSpecies(sId);
+//            if (temp != NULL) return true;
+//            return false;
+//        }
+//
+//        /// <summary>
+//        /// Checks whether the element for the given SBML id is a floating species
+//        /// </summary>
+//        /// <param name="sId">the id to check</param>
+//        /// <returns>true if element is a floating species, false otherwise</returns>
+//        bool NOMSupport::IsFloating(string sId)
+//        {
+//            var temp = mModel->getSpecies(sId);
+//            if (temp != NULL && temp.getBoundaryCondition() == false) return true;
+//            return false;
+//        }
+//
+//        /// <summary>
+//        /// Returns the element for the given sId, or NULL if not present
+//        /// </summary>
+//        /// <param name="sId">the sbml id for the element to find</param>
+//        /// <returns>the element with the given sbml id</returns>
+//        SBase NOMSupport::getElement(string sId)
+//        {
+//            if (mModel == NULL)
+//            {
+//                throw Exception("You need to load the model first");
+//            }
+//
+//            libsbmlcs.Species oSpecies = mModel->getSpecies(sId);
+//            if (oSpecies != NULL)
+//            {
+//                return oSpecies;
+//            }
+//
+//            Compartment oCompartment = mModel->getCompartment(sId);
+//            if (oCompartment != NULL)
+//            {
+//                return oCompartment;
+//            }
+//
+//            Parameter oParameter = mModel->getParameter(sId);
+//            if (oParameter != NULL)
+//            {
+//                return oParameter;
+//            }
+//
+//            for (int i = 0; i < mModel->getNumReactions(); i++)
+//            {
+//                var reaction = mModel->getReaction(i);
+//
+//                if (reaction.isSetId() && reaction.getId() == sId)
+//                    return reaction;
+//
+//                for (int j = 0; j < reaction.getNumReactants(); j++)
+//                {
+//                    var reference = reaction.getReactant(j);
+//                    if (reference.isSetId() && reference.getId() == sId)
+//                    {
+//                        return reference;
+//                    }
+//                }
+//                for (int j = 0; j < reaction.getNumProducts(); j++)
+//                {
+//                    var reference = reaction.getProduct(j);
+//                    if (reference.isSetId() && reference.getId() == sId)
+//                    {
+//                        return reference;
+//                    }
+//                }
+//            }
+//
+//
+//
+//
+//            throw Exception("Invalid string name. The id '" + sId + "' does not exist in the model");
+//        }
+
+//
+//        string NOMSupport::addSourceSinkNodes(string sbml)
+//        {
+//            SBMLDocument doc = libsbml::readSBMLFromString(sbml);
+//
+//            UpgradeToL2V4IfNecessary(doc);
+//
+//            Model model = doc.getModel();
+//
+//            if (NeedSourceNode(model))
+//            {
+//                Species source = model.getSpecies("source");
+//                if (source == NULL)
+//                {
+//                    source = model.createSpecies();
+//                    source.setId("source");
+//                    source.setName(" ");
+//                    //source.setName("Source");
+//                    source.setSBOTerm(291);
+//                    source.setCompartment(model.getCompartment(0).getId());
+//                    source.setBoundaryCondition(true);
+//                    source.setInitialAmount(0);
+//                }
+//
+//                for (int i = 0; i < model.getNumReactions(); i++)
+//                {
+//                    libsbmlcs.Reaction r = model.getReaction(i);
+//                    if (r.getNumReactants() == 0)
+//                    {
+//                        libsbmlcs.SpeciesReference reference = r.createReactant();
+//                        reference.setSpecies(source.getId());
+//                    }
+//                }
+//
+//            }
+//            if (NeedSinkNode(model))
+//            {
+//                Species sink = model.getSpecies("sink");
+//                if (sink == NULL)
+//                {
+//                    sink = model.createSpecies();
+//                    sink.setId("sink");
+//                    //sink.setName("Sink");
+//                    sink.setName(" ");
+//                    sink.setSBOTerm(291);
+//                    sink.setCompartment(model.getCompartment(0).getId());
+//                    sink.setBoundaryCondition(true);
+//                    sink.setInitialAmount(0);
+//                }
+//
+//                for (int i = 0; i < model.getNumReactions(); i++)
+//                {
+//                    libsbmlcs.Reaction r = model.getReaction(i);
+//                    if (r.getNumProducts() == 0)
+//                    {
+//                        libsbmlcs.SpeciesReference reference = r.createProduct();
+//                        reference.setSpecies(sink.getId());
+//                    }
+//                }
+//
+//            }
+//
+//            return libsbml::writeSBMLToString(doc);
+//        }
+//
+//        bool NOMSupport::NeedSourceNode(Model model)
+//        {
+//            for (int i = 0; i < model.getNumReactions(); i++)
+//            {
+//                libsbmlcs.Reaction r = model.getReaction(i);
+//                if (r.getNumReactants() == 0) return true;
+//            }
+//
+//            return false;
+//        }
+//
+//        bool NOMSupport::NeedSinkNode(Model model)
+//        {
+//            for (int i = 0; i < model.getNumReactions(); i++)
+//            {
+//                libsbmlcs.Reaction r = model.getReaction(i);
+//                if (r.getNumProducts() == 0) return true;
+//            }
+//
+//            return false;
+//        }
+//
+//        bool NOMSupport::NeedEmptySetNode(Model model)
+//        {
+//            for (int i = 0; i < model.getNumReactions(); i++)
+//            {
+//                libsbmlcs.Reaction r = model.getReaction(i);
+//                if (r.getNumReactants() == 0 || r.getNumProducts() == 0) return true;
+//            }
+//
+//            return false;
+//        }
+//
+//        string NOMSupport::addEmptySetNodes(string sbml)
+//        {
+//            SBMLDocument doc = libsbml::readSBMLFromString(sbml);
+//
+//            UpgradeToL2V4IfNecessary(doc);
+//
+//            Model model = doc.getModel();
+//
+//            int nCount = 0;
+//
+//            while (model.getSpecies("empty_" + nCount) != NULL)
+//            {
+//                nCount++;
+//            }
+//
+//            if (model != NULL)
+//            {
+//                for (int i = 0; i < model.getNumReactions(); i++)
+//                {
+//                    libsbmlcs.Reaction r = model.getReaction(i);
+//                    if (r.getNumReactants() == 0)
+//                    {
+//
+//                        Species species = model.createSpecies();
+//                        nCount++;
+//                        species.setId("empty_" + nCount);
+//                        //species.setName("EmptySet");
+//                        species.setName(" ");
+//                        species.setSBOTerm(291);
+//                        species.setCompartment(model.getCompartment(0).getId());
+//                        species.setBoundaryCondition(true);
+//                        species.setInitialAmount(0);
+//
+//                        libsbmlcs.SpeciesReference reference = r.createReactant();
+//                        reference.setSpecies(species.getId());
+//                    }
+//                    if (r.getNumProducts() == 0)
+//                    {
+//                        Species species = model.createSpecies();
+//                        nCount++;
+//                        species.setId("empty_" + nCount);
+//                        //species.setName("EmptySet");
+//                        species.setName(" ");
+//                        species.setSBOTerm(291);
+//                        species.setCompartment(model.getCompartment(0).getId());
+//                        species.setBoundaryCondition(true);
+//                        species.setInitialAmount(0);
+//
+//                        libsbmlcs.SpeciesReference reference = r.createProduct();
+//                        reference.setSpecies(species.getId());
+//                    }
+//                }
+//            }
+//
+//
+//            return libsbml::writeSBMLToString(doc);
+//        }
+//
+//        string NOMSupport::addEmptySetNode(string sbml)
+//        {
+//            SBMLDocument doc = libsbml::readSBMLFromString(sbml);
+//
+//            UpgradeToL2V4IfNecessary(doc);
+//
+//            Model model = doc.getModel();
+//
+//            if (NeedEmptySetNode(model))
+//            {
+//                Species source = model.getSpecies("emptySet");
+//                if (source == NULL)
+//                {
+//                    source = model.createSpecies();
+//                    source.setId("emptySet");
+//                    //source.setName("EmptySet");
+//                    source.setName(" ");
+//                    source.setSBOTerm(291);
+//                    source.setCompartment(model.getCompartment(0).getId());
+//                    source.setBoundaryCondition(true);
+//                    source.setInitialAmount(0);
+//                }
+//
+//                for (int i = 0; i < model.getNumReactions(); i++)
+//                {
+//                    libsbmlcs.Reaction r = model.getReaction(i);
+//                    if (r.getNumReactants() == 0)
+//                    {
+//                        libsbmlcs.SpeciesReference reference = r.createReactant();
+//                        reference.setSpecies(source.getId());
+//                    }
+//                    if (r.getNumProducts() == 0)
+//                    {
+//                        libsbmlcs.SpeciesReference reference = r.createProduct();
+//                        reference.setSpecies(source.getId());
+//                    }
+//                }
+//
+//            }
+//
+//
+//            return libsbml::writeSBMLToString(doc);
+//        }
+//
+//        string NOMSupport::RemoveJD2Layout(string sSBML)
+//        {
+//            int jdStart = sSBML.IndexOf("<jd2:JDesignerLayout");
+//            string endTag = "</jd2:JDesignerLayout>";
+//            int jdEnd = sSBML.IndexOf(endTag);
+//
+//            if (jdEnd != -1)
+//                return sSBML.Substring(0, jdStart) + sSBML.Substring(jdEnd + endTag.Length);
+//            return sSBML;
+//        }
+//
+//        string NOMSupport::RemoveJD1Layout(string sSBML)
+//        {
+//            XmlDocument doc = new XmlDocument();
+//            doc.LoadXml(sSBML);
+//            var nodes = doc.DocumentElement.getElementsByTagName("annotation");
+//            foreach (var item in nodes)
+//            {
+//                XmlElement node = item as XmlElement;
+//                for (int i = node.ChildNodes.Count - 1; i >= 0; i--)
+//                {
+//                    XmlNode child = node.ChildNodes[i];
+//                    if (child.Prefix == "jd")
+//                        node.RemoveChild(child);
+//                }
+//            }
+//
+//
+//            string result;
+//            using (MemoryStream stream = new MemoryStream())
+//            {
+//                XmlWriterSettings settingsVariable = new XmlWriterSettings();
+//                settingsVariable.Indent = true;
+//                XmlWriter write = XmlWriter.Create(stream, settingsVariable);
+//                doc.WriteTo(write);
+//                write.Close();
+//                stream.Flush();
+//                stream.SetLength(stream.Length);
+//                stream.Close();
+//
+//                result = ASCIIEncoding.UTF8.getString(stream.getBuffer()).Trim();
+//            }
+//
+//
+//            return result.Replace("UTF-16", "utf-8");
+//        }
+//
+//        string NOMSupport::RemoveLayoutInformation(string sSBML)
+//        {
+//            sSBML = RemoveJD2Layout(sSBML);
+//            sSBML = RemoveJD1Layout(sSBML);
+//
+//            return sSBML;
+//        }
+//
+//    }
+//
+//}
+
diff --git a/source/c/rrNOMSupport.h b/source/c/rrNOMSupport.h
new file mode 100644
index 0000000..78ca70b
--- /dev/null
+++ b/source/c/rrNOMSupport.h
@@ -0,0 +1,336 @@
+#ifndef rrNOMSupportH
+#define rrNOMSupportH
+//---------------------------------------------------------------------------
+#include <list>
+#include <vector>
+#include <deque>
+#include <string>
+#include <stack>
+#include <tr1proxy/rr_memory.h>
+#include "sbml/math/ASTNode.h"
+#include "rrExporter.h"
+#include "rrStringListContainer.h"
+#include "rrHashTable.h"
+//---------------------------------------------------------------------------
+
+namespace rr
+{
+using std::vector;
+using std::string;
+using std::pair;
+using std::list;
+using std::stack;
+using std::deque;
+
+// You HAVE to define LIBSBML_USE_CPP_NAMESPACE for your project to compile this!
+using libsbml::Model;
+using libsbml::SBMLDocument;
+using libsbml::ASTNode;
+using libsbml::SBase;
+using libsbml::Rule;
+using libsbml::UnitDefinition;
+using libsbml::KineticLaw;
+
+/**
+ * Methods to query various information from an SBML document.
+ *
+ * This class provides a set of static method to query various items
+ * from sbml objects.
+ */
+class RR_DECLSPEC NOMSupport
+{
+public:
+    NOMSupport();
+    ~NOMSupport();
+    Model*                  getModel();
+    SBMLDocument*           getSBMLDocument();
+    static string           getlibSBMLVersion();
+
+    StringListContainer     getDerivedUnitDefinition(const string& sId);
+    StringListContainer     getListOfBoundarySpeciesIds();
+    StringListContainer     getListOfErrors();
+    StringListContainer     getListOfFloatingSpecies();
+    StringListContainer     getListOfFloatingSpeciesIds();
+    StringListContainer     getListOfParameters();
+    StringListContainer     getNthError(const int& nIndex);
+    StringListContainer     getNthEvent(const int& arg);
+    StringListContainer     getNthFunctionDefinition(const int& arg);
+    StringListContainer     getNthListOfModifiers(const int& nIndex);
+    StringListContainer     getNthListOfProducts(const int& nIndex);
+    StringListContainer     getNthListOfReactants(const int& nIndex);
+    ASTNode                 replaceSymbol(ASTNode* node, const string& oldId, const string& newId);
+    bool                    exists(const string& sId);
+    bool                    getNthParameterHasValue(const int& nReactionIndex, const int& nParameterIndex);
+    bool                    getNthUseValuesFromTriggerTime(const int& arg);
+    bool                    hasInitialAmount(const string& sId);
+    bool                    hasInitialConcentration(const string& sId);
+    bool                    hasSBOTerm(const string& sId);
+    bool                    hasValue(const string& sId);
+
+    /**
+     * Checks whether the element for the given SBML id is a boundary species
+     *
+     * @ param name the id to check
+     */
+    bool                    isBoundary(const string& sId);
+
+    /**
+     * Checks whether the element for the given SBML id is a compartment
+     *
+     * @param sId the id to check
+     * @returns true if element is a compartment, false otherwise
+     */
+    bool                    isCompartment(const string& sId);
+    bool                    isConstantImpl(const string& sId);
+    bool                    isFloating(const string& sId);
+    bool                    isReactionReversible(const int& nIndex);
+    bool                    isSpecies (const string& sId);
+    bool                    multiplyCompartment(const string& sbmlId, string& compartmentId);
+    bool                    needEmptySetNode(Model model);
+    bool                    needSinkNode(Model model);
+    bool                    needSourceNode(Model model);
+    double                  getNthParameterValue(const int& nReactionIndex, const int& nParameterIndex);
+    double                  getNthProductStoichiometryDouble(const int& nIndex, const int& nProduct);
+    double                  getNthReactantStoichiometryDouble(const int& nIndex, const int& nReactant);
+    double                  getValue(const string& sId);
+    int                     checkConsistency();
+    int                     getNthProductStoichiometry(const int& nIndex, const int& nProduct);
+    int                     getNthReactantStoichiometry(const int& nIndex, const int& nReactant);
+    int                     getNumBoundarySpecies();
+    int                     getNumCompartments();
+    int                     getNumConstraints();
+    int                     getNumErrors();
+    int                     getNumEvents();
+    int                     getNumFloatingSpecies();
+    int                     getNumFunctionDefinitions();
+    int                     getNumGlobalParameters();
+    int                     getNumInitialAssignments();
+
+    /**
+     * @return the number of parameters for the i'th reaction, if reaction is
+     * not a kinetic law, 0 otherwise.
+     */
+    int                     getNumParameters(int reaction);
+
+    int                     getNumProducts(const int& var0);
+    int                     getNumReactants(const int& var0);
+
+    /**
+     * @return the number of Reactions in this Model.
+     */
+    int                     getNumReactions();
+
+    int                     getNumRules();
+    int                     getSBOTerm(const string& sId);
+    pair<string, string>    getNthInitialAssignmentPair(const int& nIndex);
+    SBase*                  getElement(const string& sId);
+
+    string                  addEmptySetNode(const string& sbml);
+    string                  addEmptySetNodes(const string& sbml);
+    string                  addMissingModifiers(const string& sModel);
+    string                  addSourceSinkNodes(const string& sbml);
+    string                  convertLevel1ToLevel2Impl(const string& sSBML);
+    string                  convertLevel2ToLevel1Impl(const string& sSBML);
+
+    string                  convertPowImpl(const string& sSBML);
+    string                  convertSBML(const string& sModel, const int& nLevel, const int& nVersion);
+    string                  convertSBML(const string& sModel, const int& nLevel, const int& nVersion, bool throwError);
+    string                  convertTimeToCSymbol(const string& sArg, const string& sTimeSymbol);
+    string                  fixCommonIssues(const string& sbml);
+    string                  fixCommonIssues(const string& sbml, const string& programName, const string& programVersion);
+    string                  fetAnnotatedModel(const string& targetSBML, const string& sourceSBML, bool checkModelId);
+
+    string                  getAnnotation(const string& sId);
+    string                  getCompartmentIdBySpeciesId(const string& sId);
+    /**
+     * gets the kinetic law math formula for the i'th reaction.
+     * This will be changed to return a KineticLaw object soon.
+     */
+    string                  getKineticLaw(const int& index);
+    string                  getMetaId(const string& sId);
+    string                  getModelId();
+    string                  getModelName() const;
+    string                  getNotes(const string& sId);
+    string                  getNthBoundarySpeciesId(const int& nIndex);
+    string                  getNthBoundarySpeciesName(const int& nIndex);
+    string                  getNthCompartmentId(const int& nIndex);
+    string                  getNthCompartmentName(const int& nIndex);
+    string                  getNthConstraint(const int& nIndex, string& sMessage);
+    string                  getNthFloatingSpeciesId(const int& nIndex);
+    string                  getNthFloatingSpeciesName(const int& nIndex);
+    string                  getNthGlobalParameterId(const int& nIndex);
+    string                  getNthGlobalParameterName(const int& nIndex);
+    string                  getNthInitialAssignment(const int& nIndex);
+    string                  getNthParameterId(const int& nReactionIndex, const int& nParameterIndex);
+    string                  getNthParameterName(const int& nReactionIndex, const int& nParameterIndex);
+    string                  getNthProductName(const int& nIndex, const int& nProduct);
+    string                  getNthReactantName(const int& nIndex, const int& nReactant);
+    string                  getNthReactionId(const int& nIndex);
+    string                  getNthReactionName(const int& nIndex);
+    string                  getNthRule(const int& nIndex);
+    string                  getNthRuleType(const int& arg);
+    string                  getOutsideCompartment(const string& var0);
+
+    string                  getSBML();
+    string                  getSBOCapableSBML(const string& sModel);
+    string                  removeJD1Layout(const string& sSBML);
+    string                  removeJD2Layout(const string& sSBML);
+    string                  removeLayoutInformation(const string& sSBML);
+    string                  validateSBML(const string& sModel);
+    string                  validateWithConsistency(const string& sModel);
+    vector<string>          getBuiltinFunctionInfo(const string& var0);
+    vector<string>          getBuiltinFunctions();
+    void                    changeConstantForRules(Model* model);
+
+    void                    loadFromFile(const string& fileName);
+    void                    loadParameterPromotedSBML(const string& var0, const string& sTimeSymbol);
+    void                    loadSBML(const string& var0);
+    void                    loadSBML(const string& var0, const string& sTimeSymbol);
+
+    void                    setAnnotation(const string& sId, const string& sAnnotation);
+    void                    setModelId(const string& sId);
+    void                    setNotes(const string& sId, const string& sNotes);
+    void                    setSBOTerm(const string& sId, const int& nSBOTerm);
+    void                    setValue(const string& sId, const double& dValue);
+    void                    setValue(Model* model, const string& id, const double& value, const bool& throwIfNotFound);
+    void                    testASTTime();
+
+    string                  getNthBoundarySpeciesCompartmentName(const int& nIndex);
+
+    /**
+     * gets the compartment name of the i'th species with boundary condition's
+     * compartment name. So, say we have a model like:
+     * model {
+     *     species{boundary = false}
+     *     species{boundary = true}
+     *     species{boundary = false}
+     *     species{boundary = true}
+     *     species{boundary = true}
+     *     ...
+     * }
+     * Using 0 based indexing, if index = 0, we'd get the compartment name for species 1,
+     * index = 1 yields compartment name for species 3,
+     * index = 2 yields compartment name for species 4, and so forth.
+     */
+    string                  getNthFloatingSpeciesCompartmentName(int index);
+    StringListContainer     getListOfBoundarySpecies();
+
+    /**
+     * stateless utility functions, these obviously do not
+     * change the state of this NOM object.
+     */
+    static string           convertTime(const string& sArg, const string& sTimeSymbol);
+
+    /**
+     * Returns the list of all names contained in the ASTNode
+     *
+     * @param math ASTNode
+     * @returns List of all symbols
+     */
+    static StringList       getSymbols(const ASTNode* math);
+
+    /**
+     * This should return an initialization for the given sbmlId that is sideeffect free
+     */
+    stack<string>           getMatchForSymbol(const string& sbmlId);
+
+    /**
+     * Reorders assignment rules. In SBML assignment rules does not have to appear in the correct order.
+     * That is you could have an assignment rule A = B, and a rule B = C. Now the result would differ,
+     * if the first rule is evaluated before the second. Thus the rules will be reordered such that
+     * this will be taken care of.
+     *
+     * @param assignmentRules assignment rules in original ordering
+     * @return assignment rules in independent order
+     */
+    static deque<Rule*>     reorderAssignmentRules(deque<Rule*>& assignmentRules);
+
+    static void             fillStack(stack<string>& stack, SBMLSymbol& symbol);
+
+    /**
+     * Reorders the Rules of the model in such a way, that AssignmentRules are calculated first,
+     * followed by Rate Rules and Algebraic Rules.
+     *
+     * @param doc the document to use
+     * @param name the model to use
+     */
+    static void             reorderRules(SBMLDocument& oc, Model& model);
+
+    static string           getParamPromotedSBML(const string& sArg);
+
+    static string           getId(SBase& element);
+    static string           convertMathMLToString(const string& sMathML);
+
+    static string           convertStringToMathML(const string& var0);
+
+private:
+
+    /**
+     * the loaded sbml doc, we own this.
+     */
+    SBMLDocument            *mSBMLDoc;
+
+    /**
+     * reference to the model object owned by the sbml doc,
+     * hence we do NOT delete this.
+     */
+    Model                   *mModel;
+
+    StringSymbolHashTable   mSymbolTable;
+
+    StringListContainer     returnUnitDefinition(UnitDefinition oDefinition);
+
+    ASTNode                 changeTimeToCSymbol(ASTNode* node, const string& name, const int& type);
+    bool                    addMissingModifiers(Model *oModel);
+    StringList              getSymbols(const string& formula);
+
+    string                  getInitialAssignmentFor(const string& sbmlId);
+
+    string                  getRuleFor(const string& sbmlId);
+    void                    addDependenciesToList(const ASTNode* node, StringList& sResult);
+    void                    addMissingParameter(const string& parameterId, SBMLDocument *doc);
+    void                    buildSymbolTable();
+    void                    changeNameToCSymbol(Model* model, const string& name, const int& type);
+    void                    changePow(ASTNode* node);
+    void                    checkForMissingNames(ASTNode *node, StringListContainer results, StringListContainer symbols);
+       void                    lookForDependencies();
+    void                    removeSpatialSizeUnitsFromSpecies(SBMLDocument* doc);
+    void                    removeSubstanceUnitsFromKineticLaws(SBMLDocument* doc);
+    void                    removeTimeUnitsFromKineticLaws(SBMLDocument* doc);
+    void                    updateDependencies(const string& sbmlId);
+    void                    upgradeToL2V4IfNecessary(SBMLDocument* doc);
+
+    /**
+     * clear the state of this object, free any objects we own.
+     */
+    void                    reset();
+    /**
+     * returns empty string if element is null, otherwise gets the element's
+     * name if its set, otherwise gets the element's id.
+     */
+    static string           getName(const SBase* element);
+    static void             modifyKineticLaws(SBMLDocument& oSBMLDoc, Model &oModel);
+    static void             modifyKineticLawsForLocalParameters(KineticLaw& oLaw, const string& reactionId, Model &oModel);
+    static void             modifyKineticLawsForReaction(KineticLaw& oLaw, const string& reactionId, Model &oModel);
+    static void             changeSymbol(Model& oModel, const string& sTimeSymbol, const int& targetType);
+    static void             changeTimeSymbol(Model& model, const string& timeSymbol);
+
+    static void             changeParameterName(ASTNode& node, const string& sParameterName, const string& sPrefix);
+    static void             getSymbols(const ASTNode* node, StringList& list);
+
+    /**
+     * type of formating we should use for printing doubles.
+     */
+    static const string     STR_DoubleFormat;
+};
+
+/**
+ * SBML_formulaToString is used all over the place here,
+ * SBML_formulaToString returns a char* that MUST BE FREED!!!
+ *
+ * This function frees the string and returns a std::string with its contents.
+ */
+std::string SBML_formulaToStdString(const ASTNode *tree);
+
+}//namespace rr
+#endif
diff --git a/source/c/rrPendingAssignment.cpp b/source/c/rrPendingAssignment.cpp
new file mode 100644
index 0000000..f0ded5c
--- /dev/null
+++ b/source/c/rrPendingAssignment.cpp
@@ -0,0 +1,126 @@
+#pragma hdrstop
+#include "rrPendingAssignment.h"
+#include "rrLogger.h"
+#include <assert.h>
+
+
+
+namespace rr
+{
+
+using namespace std;
+
+PendingAssignment::PendingAssignment(
+        ModelData* md,
+        double time,
+        ComputeEventAssignmentHandler computeAssignment,
+        PerformEventAssignmentHandler performAssignment,
+        bool useValuesFromTriggerTime,
+        int index,
+        double *preComputedValues) :
+        computedValues(0),
+        modelData(md),
+        time(time),
+        index(index),
+        useValuesFromTriggerTime(useValuesFromTriggerTime),
+        computeAssignment(computeAssignment),
+        performAssignment(performAssignment)
+{
+    if (preComputedValues)
+    {
+        computedValues = preComputedValues;
+    }
+    else if (useValuesFromTriggerTime)
+    {
+        computedValues = computeAssignment(modelData);
+    }
+    else
+    {
+        computedValues = 0;
+    }
+}
+
+PendingAssignment::PendingAssignment()
+{
+    computedValues = 0;
+    modelData = 0;
+    time = 0;
+    index = 0;
+    useValuesFromTriggerTime = 0;
+    computeAssignment = 0;
+    performAssignment = 0;
+}
+
+PendingAssignment::PendingAssignment( const PendingAssignment& other)
+{
+    computedValues = other.computedValues;
+    modelData = other.modelData;
+    time = other.time;
+    index = other.index;
+    useValuesFromTriggerTime = other.useValuesFromTriggerTime;
+    computeAssignment = other.computeAssignment;
+    performAssignment = other.performAssignment;
+
+    PendingAssignment *p = const_cast<PendingAssignment*>(&other);
+    p->clear();
+}
+
+void PendingAssignment::clear()
+{
+    computedValues = 0;
+    modelData = 0;
+    time = 0;
+    index = 0;
+    useValuesFromTriggerTime = 0;
+    computeAssignment = 0;
+    performAssignment = 0;
+}
+
+PendingAssignment& PendingAssignment::operator=( const PendingAssignment& other)
+{
+    computedValues = other.computedValues;
+    modelData = other.modelData;
+    time = other.time;
+    index = other.index;
+    useValuesFromTriggerTime = other.useValuesFromTriggerTime;
+    computeAssignment = other.computeAssignment;
+    performAssignment = other.performAssignment;
+
+    PendingAssignment *p = const_cast<PendingAssignment*>(&other);
+    p->clear();
+
+    return *this;
+}
+
+void PendingAssignment::eval()
+{
+    if (!useValuesFromTriggerTime)
+    {
+        computedValues = computeAssignment(modelData);
+    }
+
+    assert(computedValues);
+    performAssignment(modelData, computedValues);
+    computedValues = 0;
+}
+
+int PendingAssignment::getIndex()
+{
+    return index;
+}
+
+double PendingAssignment::getTime()
+{
+    return time;
+}
+
+PendingAssignment::~PendingAssignment()
+{
+    if (computedValues != 0)
+    {
+        Log(Logger::LOG_WARNING) << "PendingAssigment with index " <<
+                index << " was created at time " << time << ", but was never was used";
+    }
+}
+
+}
diff --git a/source/c/rrPendingAssignment.h b/source/c/rrPendingAssignment.h
new file mode 100644
index 0000000..ae6123f
--- /dev/null
+++ b/source/c/rrPendingAssignment.h
@@ -0,0 +1,64 @@
+#ifndef rrPendingAssignmentH
+#define rrPendingAssignmentH
+#include <vector>
+#include "rrExporter.h"
+#include "rrModelData.h"
+
+namespace rr
+{
+
+/**
+ * Holds a handle to a block of memory allocated by the model, the model
+ * is also responsible for freeing this block.
+ *
+ * Therefore, this class can not be copied, the copy constructors are
+ * actually a move, so that these can be stored in a vector.
+ */
+class RR_DECLSPEC PendingAssignment
+{
+public:
+
+    /**
+     *  Initializes a new instance of the PendingAssignment class.
+     * @param name="time"
+     */
+    PendingAssignment(ModelData* md, double time,
+            ComputeEventAssignmentHandler computeAssignment,
+            PerformEventAssignmentHandler performAssignment,
+            bool useValuesFromTriggerTime, int index,
+            double *preComputedValues);
+
+    ~PendingAssignment();
+
+    PendingAssignment() ;
+
+    /**
+     * move all the fields to the new PendingAssigment, the current
+     * fields are zeroed out.
+     */
+    PendingAssignment( const PendingAssignment& other );
+
+    /**
+     * same as copy ctor.
+     */
+    PendingAssignment& operator=( const PendingAssignment& );
+
+    void clear();
+
+    int getIndex();
+    double getTime();
+    void eval();
+
+private:
+    double* computedValues;
+    ModelData* modelData;
+    double time;
+    int index;
+    bool useValuesFromTriggerTime;
+    ComputeEventAssignmentHandler computeAssignment;
+    PerformEventAssignmentHandler performAssignment;
+
+};
+
+}
+#endif
diff --git a/source/c/rrRandom.cpp b/source/c/rrRandom.cpp
new file mode 100644
index 0000000..da54222
--- /dev/null
+++ b/source/c/rrRandom.cpp
@@ -0,0 +1,16 @@
+#pragma hdrstop
+#include "rrRandom.h"
+#include "mtrand.h"
+
+
+
+namespace rr
+{
+Random::Random() {}
+
+double Random::NextDouble() const
+{
+    return mRand();
+}
+}
+
diff --git a/source/c/rrRandom.h b/source/c/rrRandom.h
new file mode 100644
index 0000000..ef83b42
--- /dev/null
+++ b/source/c/rrRandom.h
@@ -0,0 +1,24 @@
+#ifndef rrRandomH
+#define rrRandomH
+//---------------------------------------------------------------------------
+
+#include "mtrand.h"
+
+namespace rr
+{
+
+/**
+ * @internal
+ */
+class  Random
+{
+
+    private:
+        MTRand          mRand;        //Get a double in [0, 1)
+    public:
+                        Random();
+        double          NextDouble() const;
+};
+
+}
+#endif
diff --git a/source/c/rrRule.cpp b/source/c/rrRule.cpp
new file mode 100644
index 0000000..7acda82
--- /dev/null
+++ b/source/c/rrRule.cpp
@@ -0,0 +1,63 @@
+#pragma hdrstop
+#include "rrRule.h"
+//---------------------------------------------------------------------------
+
+
+
+
+namespace rr
+{
+
+RRRule::RRRule(const string& rule, const string& ruleTypeStr)
+:
+mTheRule(rule),
+mRuleTypeStr(ruleTypeStr),
+mRuleType(rtUnknown)
+{
+    AssignType();
+}
+
+string RRRule::GetLHS()
+{
+    //Rules have equal signs, or?
+    string lhs = mTheRule.substr(0, mTheRule.find('='));
+    return lhs;
+}
+
+string RRRule::GetRHS()
+{
+    string rhs = mTheRule.substr(mTheRule.find('=') + 1);
+    return rhs;
+}
+
+RuleType RRRule::GetType()
+{
+    return mRuleType;
+}
+
+void RRRule::AssignType()
+{
+    mRuleType = GetRuleTypeFromString(mRuleTypeStr);
+}
+
+RuleType GetRuleTypeFromString(const string& str)
+{
+    if(str == "Algebraic_Rule")
+    {
+        return rtAlgebraic;
+    }
+    else if(str == "Assignment_Rule")
+    {
+        return rtAssignment;
+    }
+    else if(str == "Rate_Rule")
+    {
+        return rtRate;
+    }
+    else
+    {
+        return rtUnknown;
+    }
+}
+
+}
diff --git a/source/c/rrRule.h b/source/c/rrRule.h
new file mode 100644
index 0000000..4306e9c
--- /dev/null
+++ b/source/c/rrRule.h
@@ -0,0 +1,31 @@
+#ifndef rrRuleH
+#define rrRuleH
+#include <string>
+#include "rrExporter.h"
+
+using std::string;
+namespace rr
+{
+
+enum RuleType {rtAlgebraic = 0, rtAssignment, rtRate, rtUnknown};
+
+RuleType GetRuleTypeFromString(const string& str);
+
+class RR_DECLSPEC RRRule
+{
+    protected:
+        string                 mTheRule;
+        string                 mRuleTypeStr;
+        RuleType            mRuleType;
+        void                AssignType();
+
+    public:
+                            RRRule(const string& rule, const string& ruleType);
+        string                GetLHS();
+        string                GetRHS();
+        RuleType            GetType();
+};
+
+
+}
+#endif
diff --git a/source/c/rrSBMLSymbol.cpp b/source/c/rrSBMLSymbol.cpp
new file mode 100644
index 0000000..b8e2c69
--- /dev/null
+++ b/source/c/rrSBMLSymbol.cpp
@@ -0,0 +1,112 @@
+#pragma hdrstop
+#include <iostream>
+#include <limits>
+#include "rrSBMLSymbol.h"
+#include "rrStringUtils.h"
+#include "rrSBMLSymbolDependencies.h"
+//---------------------------------------------------------------------------
+
+
+using namespace std;
+namespace rr
+{
+
+SBMLSymbol::SBMLSymbol()
+:
+mValue(std::numeric_limits<double>::quiet_NaN()),//Represents an un-initialized value
+mConcentration(mValue),
+mAmount(mValue),
+mHasRule(false)
+{
+//    mDependencies = new SBMLSymbolDependencies;
+}
+
+SBMLSymbol::SBMLSymbol(const SBMLSymbol& cp)
+:
+mId(cp.mId),
+mType(cp.mType),
+mValue(cp.mValue),
+mConcentration(mValue),     //tie reference.. does this work?
+mAmount(mValue),            //tie reference.. does this work?
+IsSetAmount(cp.IsSetAmount),
+IsSetConcentration(cp.IsSetConcentration),
+mInitialAssignment(cp.mInitialAssignment),
+mHasRule(cp.mHasRule),
+mRule(cp.mRule)
+{
+  *this  = (cp);
+}
+
+SBMLSymbol::~SBMLSymbol()
+{
+//    delete mDependencies;
+}
+
+SBMLSymbol& SBMLSymbol::operator =(const SBMLSymbol& rhs)
+{
+    //Copy properties, one by one
+    mId = rhs.mId;
+    mType = rhs.mType;
+    mValue = rhs.mValue;
+    IsSetAmount = rhs.IsSetAmount;
+    IsSetConcentration = rhs.IsSetConcentration;
+    mInitialAssignment = rhs.mInitialAssignment;
+    mHasRule = rhs.mHasRule;
+    mRule = rhs.mRule;
+    mDependencies = (rhs.mDependencies);
+    return *this;
+}
+
+int    SBMLSymbol::NumberOfDependencies()
+{
+    return mDependencies.Count();
+}
+
+void SBMLSymbol::AddDependency(SBMLSymbol* symbol)
+{
+    mDependencies.Add(symbol);
+}
+
+SBMLSymbol SBMLSymbol::GetDependency(const int& i)
+{
+    return mDependencies.At(i);
+}
+
+bool SBMLSymbol::HasValue()
+{
+    return isNaN(mValue) ? false : true;
+}
+
+bool SBMLSymbol::HasInitialAssignment() const
+{
+    return mInitialAssignment.size() ? true : false;
+}
+
+bool SBMLSymbol::HasRule()
+{
+    return mRule.size() ? true : false;
+}
+
+
+ostream& operator<<(ostream& stream, const SBMLSymbol& symbol)
+{
+    //stream symbol to stream
+    stream<<"ID = "<<            symbol.mId                                <<endl;
+    stream<<"Type = "<<         symbol.mType                            <<endl;
+    stream<<"Value = "<<        symbol.mValue                            <<endl;
+    stream<<"Has Initial Assignment = "<<symbol.HasInitialAssignment()     <<endl;
+
+    if(symbol.HasInitialAssignment())
+    {
+        stream<<"Intial Assignment = "<<symbol.mInitialAssignment            <<endl;
+    }
+
+    stream<<"Has Rule = "<<        toString(symbol.mHasRule)                <<endl;
+    if(symbol.mHasRule)
+    {
+        stream<<"Rule = "<<        symbol.mRule                    <<endl;
+    }
+    return stream;
+}
+
+}
diff --git a/source/c/rrSBMLSymbol.h b/source/c/rrSBMLSymbol.h
new file mode 100644
index 0000000..b987753
--- /dev/null
+++ b/source/c/rrSBMLSymbol.h
@@ -0,0 +1,153 @@
+#ifndef rrSBMLSymbolH
+#define rrSBMLSymbolH
+#include <ostream>
+#include <vector>
+#include <deque>
+#include "rrExporter.h"
+#include "rrUtils.h"
+#include "rrSBMLSymbolDependencies.h"
+using std::vector;
+using std::deque;
+using std::ostream;
+namespace rr
+{
+
+class RR_DECLSPEC SBMLSymbol
+{
+    protected:
+    public:
+        string                          mId;
+        enum SBMLType                   mType;
+        SBMLSymbolDependencies          mDependencies;
+
+        double                          mValue;
+        bool                            HasValue();
+
+        double&                         mConcentration; //Assing ref to mValue..
+        double&                         mAmount; //Assing ref to mValue..
+
+        bool                            IsSetAmount;
+        bool                            IsSetConcentration;
+
+        bool                            HasInitialAssignment() const;
+        string                          mInitialAssignment;
+
+        bool                            mHasRule;
+        bool                            HasRule();
+        string                          mRule;
+
+    public:
+                                        SBMLSymbol();
+                                       ~SBMLSymbol();
+                                        SBMLSymbol(const SBMLSymbol& cp);
+                                        SBMLSymbol& operator =(const SBMLSymbol& rhs);
+        void                            AddDependency(SBMLSymbol* symbol);
+        int                             NumberOfDependencies();
+        SBMLSymbol                      GetDependency(const int& i);
+
+};
+
+RR_DECLSPEC std::ostream& operator<<(ostream& stream, const SBMLSymbol& symbol);
+}
+#endif
+
+
+
+////namespace SBMLSupport
+////{
+////    public class SBMLSymbol
+////    {
+////        private string _Id;
+////        public string Id
+////        {
+////            get { return _Id; }
+////            set { _Id = value; }
+////        }
+////
+////        private SBMLType _Type;
+////        public SBMLType Type
+////        {
+////            get { return _Type; }
+////            set { _Type = value; }
+////        }
+////
+////        private List<SBMLSymbol> _Dependencies = new List<SBMLSymbol>();
+////        public List<SBMLSymbol> Dependencies
+////        {
+////            get { return _Dependencies; }
+////            set { _Dependencies = value; }
+////        }
+////
+////        public bool HasValue
+////        {
+////            get { return !Double.IsNaN(_Value); }
+////        }
+////
+////        private double _Value = Double.NaN;
+////        public double Value
+////        {
+////            get { return _Value; }
+////            set { _Value = value; }
+////        }
+////
+////
+////        public double Concentration
+////        {
+////            set
+////            {
+////                _Value = value;
+////                _IsSetConcentration = true;
+////            }
+////        }
+////
+////        public double Amount
+////        {
+////            set
+////            {
+////                _Value = value;
+////                _IsSetAmount = true;
+////            }
+////        }
+////
+////        private bool _IsSetAmount = false;
+////        public bool IsSetAmount
+////        {
+////            get { return _IsSetAmount; }
+////            set { _IsSetAmount = value; }
+////        }
+////
+////        private bool _IsSetConcentration = false;
+////        public bool IsSetConcentration
+////        {
+////            get { return _IsSetConcentration; }
+////            set { _IsSetConcentration = value; }
+////        }
+////
+////        public bool HasInitialAssignment
+////        {
+////            get { return !string.IsNullOrEmpty(_InitialAssignment); }
+////        }
+////
+////        private string _InitialAssignment;
+////        public string InitialAssignment
+////        {
+////            get { return _InitialAssignment; }
+////            set { _InitialAssignment = value; }
+////        }
+////
+////
+////        public bool HasRule
+////        {
+////            get { return !string.IsNullOrEmpty(_Rule); }
+////        }
+////
+////        private string _Rule;
+////        public string Rule
+////        {
+////            get { return _Rule; }
+////            set { _Rule = value; }
+////        }
+////
+////    }
+////}
+
diff --git a/source/c/rrSBMLSymbolDependencies.cpp b/source/c/rrSBMLSymbolDependencies.cpp
new file mode 100644
index 0000000..2472701
--- /dev/null
+++ b/source/c/rrSBMLSymbolDependencies.cpp
@@ -0,0 +1,45 @@
+#pragma hdrstop
+#include <iostream>
+#include <limits>
+#include "rrSBMLSymbolDependencies.h"
+#include "rrStringUtils.h"
+#include "rrSBMLSymbol.h"
+//---------------------------------------------------------------------------
+using namespace std;
+namespace rr
+{
+
+SBMLSymbolDependencies::SBMLSymbolDependencies(const SBMLSymbolDependencies& cp)
+{
+    mDependencies = cp.mDependencies;
+}
+
+SBMLSymbolDependencies::~SBMLSymbolDependencies()
+{
+
+}
+
+SBMLSymbolDependencies& SBMLSymbolDependencies::operator=(const SBMLSymbolDependencies& rhs)
+{
+    mDependencies = rhs.mDependencies;
+    return *this;
+}
+
+void SBMLSymbolDependencies::Add(SBMLSymbol* symbol)
+{
+    //Todo: memory leak
+    SBMLSymbol *symbDep = new SBMLSymbol( (*symbol) );
+
+    mDependencies.push_back(symbDep);    //Makes a copy
+}
+
+int SBMLSymbolDependencies::Count()
+{
+    return mDependencies.size();
+}
+
+SBMLSymbol    SBMLSymbolDependencies::At(const int& i)
+{
+    return *mDependencies[i];
+}
+}
diff --git a/source/c/rrSBMLSymbolDependencies.h b/source/c/rrSBMLSymbolDependencies.h
new file mode 100644
index 0000000..7cd0310
--- /dev/null
+++ b/source/c/rrSBMLSymbolDependencies.h
@@ -0,0 +1,132 @@
+#ifndef rrSBMLSymbolDependenciesH
+#define rrSBMLSymbolDependenciesH
+#include <ostream>
+#include <vector>
+#include <deque>
+#include "rrExporter.h"
+#include "rrUtils.h"
+//#include "rrSBMLSymbol.h"
+
+using std::vector;
+using std::deque;
+using std::ostream;
+namespace rr
+{
+
+class SBMLSymbol;
+class RR_DECLSPEC SBMLSymbolDependencies
+{
+    protected:
+        deque<SBMLSymbol*>            mDependencies;
+
+    public:
+                                    SBMLSymbolDependencies(){}
+                                    SBMLSymbolDependencies(const SBMLSymbolDependencies& cp);
+                                   ~SBMLSymbolDependencies();
+        SBMLSymbolDependencies&     operator=(const SBMLSymbolDependencies& rhs);
+        void                        Add(SBMLSymbol* symbol);
+        int                            Count();
+        SBMLSymbol                    At(const int& i);
+};
+
+}
+#endif
+
+////namespace SBMLSupport
+////{
+////    public class SBMLSymbol
+////    {
+////        private string _Id;
+////        public string Id
+////        {
+////            get { return _Id; }
+////            set { _Id = value; }
+////        }
+////
+////        private SBMLType _Type;
+////        public SBMLType Type
+////        {
+////            get { return _Type; }
+////            set { _Type = value; }
+////        }
+////
+////        private List<SBMLSymbol> _Dependencies = new List<SBMLSymbol>();
+////        public List<SBMLSymbol> Dependencies
+////        {
+////            get { return _Dependencies; }
+////            set { _Dependencies = value; }
+////        }
+////
+////        public bool HasValue
+////        {
+////            get { return !Double.IsNaN(_Value); }
+////        }
+////
+////        private double _Value = Double.NaN;
+////        public double Value
+////        {
+////            get { return _Value; }
+////            set { _Value = value; }
+////        }
+////
+////
+////        public double Concentration
+////        {
+////            set
+////            {
+////                _Value = value;
+////                _IsSetConcentration = true;
+////            }
+////        }
+////
+////        public double Amount
+////        {
+////            set
+////            {
+////                _Value = value;
+////                _IsSetAmount = true;
+////            }
+////        }
+////
+////        private bool _IsSetAmount = false;
+////        public bool IsSetAmount
+////        {
+////            get { return _IsSetAmount; }
+////            set { _IsSetAmount = value; }
+////        }
+////
+////        private bool _IsSetConcentration = false;
+////        public bool IsSetConcentration
+////        {
+////            get { return _IsSetConcentration; }
+////            set { _IsSetConcentration = value; }
+////        }
+////
+////        public bool HasInitialAssignment
+////        {
+////            get { return !string.IsNullOrEmpty(_InitialAssignment); }
+////        }
+////
+////        private string _InitialAssignment;
+////        public string InitialAssignment
+////        {
+////            get { return _InitialAssignment; }
+////            set { _InitialAssignment = value; }
+////        }
+////
+////
+////        public bool HasRule
+////        {
+////            get { return !string.IsNullOrEmpty(_Rule); }
+////        }
+////
+////        private string _Rule;
+////        public string Rule
+////        {
+////            get { return _Rule; }
+////            set { _Rule = value; }
+////        }
+////
+////    }
+////}
+
diff --git a/source/c/rrScanner.cpp b/source/c/rrScanner.cpp
new file mode 100644
index 0000000..38f4105
--- /dev/null
+++ b/source/c/rrScanner.cpp
@@ -0,0 +1,838 @@
+#pragma hdrstop
+#include <math.h>
+#include "rrScanner.h"
+#include "rrException.h"
+#include "rrStringUtils.h"
+//---------------------------------------------------------------------------
+
+namespace rr
+{
+Scanner::Scanner()
+:
+EOFCHAR('\x7F'),
+CR((char) 13),
+LF((char) 10),
+bufferLength(),
+bufferPtr(),
+ftoken(CodeTypes::tEmptyToken),
+yylineno(),
+timeWord1("time"),
+timeWord2("Time"),
+timeWord3("TIME"),
+FromQueue(true),
+IgnoreNewLines(true),
+fch('\0'),
+tokenDouble(),
+tokenInteger(),
+tokenScalar(), // Used to retrieve int or double
+tokenString(),
+pStream(NULL),
+previousToken(CodeTypes::tEmptyToken),
+currentToken(CodeTypes::tEmptyToken)
+{
+    FCharTable.resize(255);
+    buffer.resize(255);
+    initScanner();
+}
+
+void Scanner::AssignStream(stringstream& str)
+{
+    pStream = &str;
+}
+
+void Scanner::initScanner()
+{
+    char ch;
+//    for (ch = '\x00'; ch < '\xFF'; ch++)
+//    {
+//        FCharTable[ch] = TCharCode::cSPECIAL;
+//    }
+
+    for (int i = 0; i < 48; i++)
+    {
+        FCharTable[i] = TCharCode::cSPECIAL;
+    }
+
+    for (int i = 57; i < 63; i++)
+    {
+        ch = i;
+        FCharTable[i] = TCharCode::cSPECIAL;
+    }
+
+    for (ch = '0'; ch <= '9'; ch++)
+    {
+        FCharTable[ch] = TCharCode::cDIGIT;
+    }
+
+    for (ch = 'A'; ch <= 'Z'; ch++)
+    {
+        FCharTable[ch] = TCharCode::cLETTER;
+    }
+
+    for (ch = 'a'; ch <= 'z'; ch++)
+    {
+        FCharTable[ch] = TCharCode::cLETTER;
+    }
+
+    FCharTable['='] = TCharCode::cSPECIAL;
+
+    FCharTable['.'] = TCharCode::cPOINT;
+    FCharTable['"'] = TCharCode::cDOUBLEQUOTE;
+    FCharTable['_'] = TCharCode::cUNDERSCORE;
+    FCharTable['\t'] = TCharCode::cWHITESPACE;
+    FCharTable[' '] = TCharCode::cWHITESPACE;
+    FCharTable[EOFCHAR] = TCharCode::cETX;
+
+
+    wordTable["and"]  = CodeTypes::tAndToken;
+    wordTable["or"]  = CodeTypes::tOrToken;
+    wordTable["not"] = CodeTypes::tNotToken;
+    wordTable["xor"] = CodeTypes::tXorToken;
+
+    wordTable[timeWord1] = CodeTypes::tTimeWord1;
+    wordTable[timeWord2] = CodeTypes::tTimeWord2;
+    wordTable[timeWord3] = CodeTypes::tTimeWord3;
+}
+
+
+// Create a readonly property for the current line number
+int Scanner::lineNumber()
+{
+    return yylineno;
+}
+
+// readonly current token property
+CodeTypes::CodeTypes Scanner::token()
+{
+    return ftoken;
+}
+
+
+// Must be called before using nextToken()
+void Scanner::startScanner()
+{
+    yylineno = 1;
+    bufferPtr = 0;
+    nextChar();
+}
+
+char Scanner::getCharFromBuffer()
+{
+    if(!pStream)
+    {
+        throw Exception("There is no stream assigned to the scanner.. exiting");
+    }
+    // If the buffer is empty, read a new chuck of text from the
+    // input stream, this might be a stream or console
+    if (bufferPtr == 0)
+    {
+        // Read a chunck of data from the input stream
+        //        bufferLength = (char) FStream.Read(buffer, 0, 255);
+        char chars[255];
+
+        pStream ->read(chars, 255);
+
+        bufferLength = pStream->gcount();//(char) pStream->read(buffer, 0, 255);
+        if (bufferLength == 0)
+        {
+            return EOFCHAR;
+        }
+
+        copy(chars, chars + bufferLength, buffer.begin());
+    }
+
+    char ch = (char) buffer[bufferPtr];
+    bufferPtr++;
+    if (bufferPtr >= bufferLength)
+    {
+        bufferPtr = 0; // Indicates the buffer is empty
+    }
+    return ch;
+}
+
+// -------------------------------------------------------------------
+// Fetches next character from input stream and filters NL if required
+// -------------------------------------------------------------------
+char Scanner::nextChar()
+{
+    fch = getCharFromBuffer();
+    if (IgnoreNewLines)
+    {
+        // Turn any CFs or LFs into space characters
+        if (fch == CR)
+        {
+            yylineno++;
+            fch = ' ';
+            return fch;
+        }
+
+        if (fch == LF)
+            fch = ' ';
+        return fch;
+    }
+    else
+    {
+        if (fch == CR)
+            yylineno++;
+    }
+    return fch;
+}
+
+// -------------------------------------------------------------------
+// Skips any blanks, ie TAB, ' '
+// -------------------------------------------------------------------
+
+void Scanner::skipBlanks()
+{
+    while (FCharTable[fch] == TCharCode::cWHITESPACE)
+    {
+        if ((fch == LF) || (fch == CR))
+            return;
+        nextChar();
+    }
+}
+
+// -------------------------------------------------------------------
+// Scan for a word, words start with letter or underscore then continue
+// with letters, digits or underscore
+// -------------------------------------------------------------------
+void Scanner::getWord()
+{
+    while ((FCharTable[fch] == TCharCode::cLETTER)
+           || (FCharTable[fch] == TCharCode::cDIGIT)
+           || (FCharTable[fch] == TCharCode::cUNDERSCORE))
+    {
+        tokenString = tokenString + fch; // Inefficient but convenient
+        nextChar();
+    }
+
+    if (wordTable.find(tokenString) != wordTable.end())
+    {
+        try
+        {
+            ftoken = (CodeTypes::CodeTypes) wordTable[tokenString];
+        }
+        catch (Exception&)
+        {
+            ftoken = CodeTypes::tWordToken;
+        }
+    }
+    else
+    {
+      ftoken = CodeTypes::tWordToken;
+    }
+}
+
+// -------------------------------------------------------------------
+// Scan for a number: an integer, double or complex (eg 3i)
+// -------------------------------------------------------------------
+
+void Scanner::getNumber()
+{
+    const int MAX_DIGIT_COUNT = 3; // Max number of digits in exponent
+
+    int single_digit;
+    double scale;
+    double evalue;
+    int exponent_sign;
+    int digit_count;
+
+    tokenInteger = 0;
+    tokenDouble = 0.0;
+    tokenScalar = 0.0;
+    evalue = 0.0;
+    exponent_sign = 1;
+
+    // Assume first it's an integer
+    ftoken = CodeTypes::tIntToken;
+
+    // Pick up number before any decimal place
+    if (fch != '.')
+        try
+        {
+            do
+            {
+                single_digit = fch - '0';
+                tokenInteger = 10*tokenInteger + single_digit;
+                tokenScalar = tokenInteger;
+                nextChar();
+            } while (FCharTable[fch] == TCharCode::cDIGIT);
+        }
+        catch(int)
+        {
+            throw ScannerException("Integer Overflow - constant value too large to read");
+        }
+
+    scale = 1;
+    if (fch == '.')
+    {
+        // Then it's a float. Start collecting fractional part
+        ftoken = CodeTypes::tDoubleToken;
+        tokenDouble = tokenInteger;
+        nextChar();
+        if (FCharTable[fch] != TCharCode::cDIGIT)
+        {
+            throw ScannerException("Syntax error: expecting number after decimal point");
+        }
+
+        try
+        {
+            while (FCharTable[fch] == TCharCode::cDIGIT)
+            {
+                scale = scale*0.1;
+                single_digit = fch - '0';
+                tokenDouble = tokenDouble + (single_digit*scale);
+                tokenScalar = tokenDouble;
+                nextChar();
+            }
+        }
+        catch(const Exception&)
+        {
+            throw new ScannerException("Floating point overflow - constant value too large to read in");
+        }
+    }
+
+    // Next check for scientific notation
+    if ((fch == 'e') || (fch == 'E'))
+    {
+        // Then it's a float. Start collecting exponent part
+        if (ftoken == CodeTypes::tIntToken)
+        {
+            ftoken = CodeTypes::tDoubleToken;
+            tokenDouble = tokenInteger;
+            tokenScalar = tokenInteger;
+        }
+        nextChar();
+        if ((fch == '-') || (fch == '+'))
+        {
+            if (fch == '-') exponent_sign = -1;
+            nextChar();
+        }
+        // accumulate exponent, check that first ch is a digit
+        if (FCharTable[fch] != TCharCode::cDIGIT)
+            throw new ScannerException("Syntax error: number expected in exponent");
+
+        digit_count = 0;
+        try
+        {
+            do
+            {
+                digit_count++;
+                single_digit = fch - '0';
+                evalue = 10*evalue + single_digit;
+                nextChar();
+            } while ((FCharTable[fch] == TCharCode::cDIGIT) && (digit_count <= MAX_DIGIT_COUNT));
+        }
+        catch(const Exception&)
+        {
+            throw new ScannerException("Floating point overflow - Constant value too large to read");
+        }
+
+        if (digit_count > MAX_DIGIT_COUNT)
+            throw new ScannerException("Syntax error: too many digits in exponent");
+
+        evalue = evalue*exponent_sign;
+        if (evalue > 300)
+        {
+            throw new ScannerException("Exponent overflow while parsing floating point number");
+        }
+        evalue = pow(10.0, evalue);
+        tokenDouble = tokenDouble*evalue;
+        tokenScalar = tokenDouble;
+    }
+
+    // Check for complex number
+    if ((fch == 'i') || (fch == 'j'))
+    {
+        if (ftoken == CodeTypes::tIntToken)
+            tokenDouble = tokenInteger;
+        ftoken = CodeTypes::tComplexToken;
+        nextChar();
+    }
+}
+
+
+// Returns true if the character ch is a double quote
+bool Scanner::IsDoubleQuote(char ch)
+{
+    if (FCharTable[ch] == TCharCode::cDOUBLEQUOTE)
+        return true;
+    else return false;
+}
+
+// -------------------------------------------------------------------
+// Scan for a string, eg "abc"
+// -------------------------------------------------------------------
+
+void Scanner::getString()
+{
+    bool OldIgnoreNewLines;
+    tokenString = "";
+    nextChar();
+
+    ftoken = CodeTypes::tStringToken;
+    while (fch != EOFCHAR)
+    {
+        // Check for escape characters
+        if (fch == '\\')
+        {
+            nextChar();
+            switch (fch)
+            {
+                case '\\':
+                    tokenString = tokenString + '\\';
+                    break;
+                case 'n':
+                    tokenString = tokenString + CR + LF;
+                    break;
+                case 'r':
+                    tokenString = tokenString + CR;
+                    break;
+                case 'f':
+                    tokenString = tokenString + LF;
+                    break;
+                case 't':
+                    tokenString = tokenString + string(' ', 6);
+                    break;
+                default:
+                    throw new ScannerException("Syntax error: Unrecognised control code in string");
+            }
+            nextChar();
+        }
+        else
+        {
+            OldIgnoreNewLines = IgnoreNewLines;
+            if (IsDoubleQuote(fch))
+            {
+                // Just in case the double quote is at the end of a line and another string
+                // start immediately in the next line, if we ignore newlines we'll
+                // pick up a double quote rather than the end of a string
+                IgnoreNewLines = false;
+                nextChar();
+                if (IsDoubleQuote(fch))
+                {
+                    tokenString = tokenString + fch;
+                    nextChar();
+                }
+                else
+                {
+                    if (OldIgnoreNewLines)
+                    {
+                        while (fch == CR)
+                        {
+                            nextChar();
+                            while (fch == LF)
+                                nextChar();
+                        }
+                    }
+                    IgnoreNewLines = OldIgnoreNewLines;
+                    return;
+                }
+            }
+            else
+            {
+                tokenString = tokenString + fch;
+                nextChar();
+            }
+            IgnoreNewLines = OldIgnoreNewLines;
+        }
+    }
+    if (fch == EOFCHAR)
+        throw new ScannerException("Syntax error: String without terminating quotation mark");
+}
+
+// -------------------------------------------------------------------
+// Scan for special characters
+// -------------------------------------------------------------------
+void Scanner::getSpecial()
+{
+    char tch;
+    switch (fch)
+    {
+        case '\13':       //Octal ??
+            ftoken = CodeTypes::tEolToken;
+            nextChar();
+            break;
+
+        case ';':
+            ftoken = CodeTypes::tSemiColonToken;
+            nextChar();
+            break;
+
+        case ',':
+            ftoken = CodeTypes::tCommaToken;
+            nextChar();
+            break;
+
+        case ':':
+            ftoken = CodeTypes::tColonToken;
+            nextChar();
+            break;
+
+        case '=':
+            nextChar();
+            if (fch == '>')
+            {
+                ftoken = CodeTypes::tReversibleArrow;
+                nextChar();
+            }
+            else
+                ftoken = CodeTypes::tEqualsToken;
+            break;
+
+        case '+':
+            ftoken = CodeTypes::tPlusToken;
+            nextChar();
+            break;
+
+        case '-':
+            nextChar();
+            if (fch == '>')
+            {
+                ftoken = CodeTypes::tIrreversibleArrow;
+                nextChar();
+            }
+            else
+                ftoken = CodeTypes::tMinusToken;
+            break;
+
+        case '*':
+            nextChar();
+            ftoken = CodeTypes::tMultToken;
+            break;
+
+        case '/': // look ahead at next ch
+            tch = nextChar();
+            if (tch == '/')
+            {
+                ftoken = CodeTypes::tStartComment;
+                nextChar();
+            }
+            else
+                ftoken = CodeTypes::tDivToken;
+            break;
+
+        case '(':
+            nextChar();
+            ftoken = CodeTypes::tLParenToken;
+            break;
+
+        case ')':
+            nextChar();
+            ftoken = CodeTypes::tRParenToken;
+            break;
+
+        case '[':
+            nextChar();
+            ftoken = CodeTypes::tLBracToken;
+            break;
+
+        case ']':
+            nextChar();
+            ftoken = CodeTypes::tRBracToken;
+            break;
+
+        case '{':
+            nextChar();
+            ftoken = CodeTypes::tLCBracToken;
+            break;
+
+        case '}':
+            nextChar();
+            ftoken = CodeTypes::tRCBracToken;
+            break;
+
+        case '^':
+            nextChar();
+            ftoken = CodeTypes::tPowerToken;
+            break;
+
+        case '<':
+            nextChar();
+            if (fch == '=')
+            {
+                ftoken = CodeTypes::tLessThanOrEqualToken;
+                nextChar();
+            }
+            else
+                ftoken = CodeTypes::tLessThanToken;
+            break;
+
+        case '>':
+            nextChar();
+            if (fch == '=')
+            {
+                ftoken = CodeTypes::tMoreThanOrEqualToken;
+                nextChar();
+            }
+            else
+                ftoken = CodeTypes::tMoreThanToken;
+            break;
+
+        case '!':
+            nextChar();
+            if (fch == '=')
+            {
+                ftoken = CodeTypes::tNotEqualToken;
+                nextChar();
+            }
+            break;
+
+        case '.':
+            nextChar();
+            ftoken = CodeTypes::tPointToken;
+            break;
+
+        case '$':
+            nextChar();
+            ftoken = CodeTypes::tDollarToken;
+            break;
+
+        default:
+        {
+            string aToken;
+            aToken.push_back(fch);
+            throw ScannerException("Syntax error: Unknown special token [" + aToken  + "]");
+        }
+    }
+}
+
+// -------------------------------------------------------------------
+// This scanner has a simple queue mechanism that allows one to put
+// tokens back to the scanner via a quaue
+// -------------------------------------------------------------------
+bool Scanner::IsQueueEmpty()
+{
+    return (tokenQueue.size() == 0);
+}
+
+// -------------------------------------------------------------------
+// Add the current token to the queue
+// -------------------------------------------------------------------
+void Scanner::AddTokenToQueue()
+{
+    Token t;// = new Token();
+    t.tokenCode     = ftoken;
+    t.tokenDouble     = tokenDouble;
+    t.tokenInteger     = tokenInteger;
+    t.tokenString     = tokenString;
+    t.tokenValue     = tokenScalar;
+    tokenQueue.push(t);// push or ??    tokenQueue.Enqueue(t);
+}
+
+// -------------------------------------------------------------------
+// Get a token from the queue
+// Check that a token is in the queue first by calling IsQueueEmpty()
+// Used internally
+// -------------------------------------------------------------------
+void Scanner::getTokenFromQueue()
+{
+//    Token t = (Token) tokenQueue.Dequeue();
+    Token t = (Token)     tokenQueue.front();
+    tokenQueue.pop();
+    ftoken         = t.tokenCode;
+    tokenString = t.tokenString;
+    tokenScalar = t.tokenValue;
+    tokenInteger = t.tokenInteger;
+    tokenDouble = t.tokenDouble;
+}
+
+// End of Queue routines
+// -------------------------------------------------------------------
+void Scanner::nextTokenInternal()
+{
+    // check if a token has been pushed back into the token stream, if so use it first
+    // I think I should get rid of this code, use queue methods instead
+    if (previousToken.tokenCode != CodeTypes::tEmptyToken)
+    {
+        ftoken = previousToken.tokenCode;
+        tokenString = previousToken.tokenString;
+        tokenDouble = previousToken.tokenDouble;
+        tokenInteger = previousToken.tokenInteger;
+        previousToken.tokenCode = CodeTypes::tEmptyToken;
+        return;
+    }
+
+    // Check if there is anything in the token queue, if so get the item
+    // from the queue and exit. If not, read as normal from the stream.
+    // Checking the queue before reading from the stream can be turned off and on
+    // by setting the FromQueue Flag.
+    if(FromQueue)
+    {
+        if(!IsQueueEmpty())
+        {
+            getTokenFromQueue();
+            return;
+        }
+    }
+
+    skipBlanks();
+    tokenString = "";
+
+    TCharCode::TCharCode code = FCharTable[fch];
+    switch(code)
+    {
+        case TCharCode::cLETTER:
+        case TCharCode::cUNDERSCORE:
+            getWord();
+            break;
+        case TCharCode::cDIGIT:
+            getNumber();
+            break;
+        case TCharCode::cDOUBLEQUOTE:
+            getString();
+            break;
+        case TCharCode::cETX:
+            ftoken = CodeTypes::tEndOfStreamToken;
+            break;
+        default:
+            getSpecial();
+            break;
+    }
+}
+
+// -------------------------------------------------------------------
+// Retrieve the next token in the stream, return tEndOfStreamToken
+// if it reaches the end of the stream
+// -------------------------------------------------------------------
+
+void Scanner::nextToken()
+{
+    nextTokenInternal();
+    while (ftoken == CodeTypes::tStartComment)
+    {
+        // Comment ends with an end of line char
+        while ((fch != LF) && (fch != EOFCHAR))
+            fch = getCharFromBuffer();
+        //while ((fch != CR) && (fch != EOFCHAR))
+        //      fch = getCharFromBuffer();
+        //while ((fch == LF) && (fch !=  EOFCHAR))
+        //      fch = getCharFromBuffer();
+        while (fch == LF)
+        {
+            yylineno++;
+            //while (fch == LF)
+            //      nextChar();  // Dump the linefeed
+            fch = nextChar();
+        }
+        nextTokenInternal(); // get the real next token
+    }
+}
+
+// -------------------------------------------------------------------
+// Allows one token look ahead
+// Push token back into token stream
+// -------------------------------------------------------------------
+void Scanner::UnGetToken()
+{
+    previousToken.tokenCode = ftoken;
+    previousToken.tokenString = tokenString;
+    previousToken.tokenInteger = tokenInteger;
+    previousToken.tokenDouble = tokenDouble;
+}
+
+// -------------------------------------------------------------------
+// Given a token, this function returns the string eqauivalent
+// -------------------------------------------------------------------
+string Scanner::tokenToString(const CodeTypes::CodeTypes& code)
+{
+    switch (code)
+    {
+        case CodeTypes::tIntToken:
+            return "<Integer: " + toString(tokenInteger) + ">";
+        case CodeTypes::tDoubleToken:
+            return "<Double: " + toString(tokenDouble) + ">";
+        case CodeTypes::tComplexToken:
+            return "<Complex: " + toString(tokenDouble) + "i>";
+        case CodeTypes::tStringToken:
+            return "<String: " + tokenString + ">";
+        case CodeTypes::tWordToken:
+            return "<Identifier: " + tokenString + ">";
+        case CodeTypes::tEndOfStreamToken:
+            return "<end of stream>";
+        case CodeTypes::tEolToken:
+            return "<EOLN>";
+        case CodeTypes::tSemiColonToken:
+            return ";";
+        case CodeTypes::tCommaToken:
+            return ",";
+        case CodeTypes::tEqualsToken:
+            return "=";
+        case CodeTypes::tPlusToken:
+            return "+";
+        case CodeTypes::tMinusToken:
+            return "-";
+        case CodeTypes::tMultToken:
+            return "*";
+        case CodeTypes::tDivToken:
+            return "/";
+        case CodeTypes::tPowerToken:
+            return "^";
+        case CodeTypes::tLParenToken:
+            return "(";
+        case CodeTypes::tRParenToken:
+            return ")";
+        case CodeTypes::tLBracToken:
+            return "[";
+        case CodeTypes::tRBracToken:
+            return "]";
+        case CodeTypes::tLCBracToken:
+            return "{";
+        case CodeTypes::tRCBracToken:
+            return "}";
+        case CodeTypes::tDollarToken:
+            return "$";
+        case CodeTypes::tOrToken:
+            return "or";
+        case CodeTypes::tAndToken:
+            return "and";
+        case CodeTypes::tNotToken:
+            return "not";
+        case CodeTypes::tXorToken:
+            return "xor";
+        case CodeTypes::tLessThanToken:
+            return "<";
+        case CodeTypes::tLessThanOrEqualToken:
+            return "<=";
+        case CodeTypes::tMoreThanToken:
+            return ">";
+        case CodeTypes::tMoreThanOrEqualToken:
+            return ">=";
+        case CodeTypes::tNotEqualToken:
+            return "!=";
+        case CodeTypes::tReversibleArrow:
+            return "=>";
+        case CodeTypes::tIrreversibleArrow:
+            return "->";
+        case CodeTypes::tIfToken:
+            return "if";
+        case CodeTypes::tWhileToken:
+            return "while";
+        case CodeTypes::tdefnToken:
+            return "defn";
+        case CodeTypes::tEndToken:
+            return "end";
+        case CodeTypes::tInternalToken:
+            return "Internal";
+        case CodeTypes::tExternalToken:
+            return "External";
+        case CodeTypes::tParameterToken:
+            return "Parameter";
+        case CodeTypes::tTimeStartToken:
+            return "TimeStart";
+        case CodeTypes::tTimeEndToken:
+            return "TimeEnd";
+        case CodeTypes::tNumPointsToken:
+            return "NumPoints";
+        case CodeTypes::tSimulateToken:
+            return "Simulate";
+
+        default:
+            return "<unknown>";
+    }
+}
+}
+
+
+
+
diff --git a/source/c/rrScanner.h b/source/c/rrScanner.h
new file mode 100644
index 0000000..417e33b
--- /dev/null
+++ b/source/c/rrScanner.h
@@ -0,0 +1,91 @@
+#ifndef rrScannerH
+#define rrScannerH
+#include "rrExporter.h"
+#include <vector>
+#include <queue>
+#include <fstream>
+#include <sstream>
+#include "rrHashTable.h"
+#include "rrCodeTypes.h"
+#include "rrToken.h"
+using std::vector;
+using std::queue;
+using std::fstream;
+using std::stringstream;
+
+namespace rr
+{
+
+namespace TCharCode
+{
+enum TCharCode
+{
+    cLETTER = 0,
+    cDIGIT,
+    cPOINT,
+    cDOUBLEQUOTE,
+    cUNDERSCORE,
+    cSPECIAL,
+    cWHITESPACE,
+    cETX
+};
+}
+
+
+class RR_DECLSPEC Scanner
+{
+    protected:
+        const char                                EOFCHAR; // Deemed end of string marker, used internally
+        const char                                CR;
+        const char                                LF;
+        vector<TCharCode::TCharCode>              FCharTable;
+        vector<char>                              buffer;
+        queue<Token>                              tokenQueue;
+        map<string, CodeTypes::CodeTypes>         wordTable;
+        stringstream                              *pStream;
+        std::streamsize                           bufferLength;
+        int                                       bufferPtr; // Index of position in buffer containing current char
+        CodeTypes::CodeTypes                      ftoken;
+        int                                       yylineno; // Current line number
+        void                                      initScanner();
+        char                                      getCharFromBuffer();
+        bool                                      IsDoubleQuote(char ch);
+        void                                      getNumber();
+        void                                      getSpecial();
+        void                                      getString();
+        void                                      getTokenFromQueue();
+        void                                      getWord();
+        void                                      nextTokenInternal();
+
+    public:
+        string                                    timeWord1;
+        string                                    timeWord2;
+        string                                    timeWord3;
+        bool                                      FromQueue;
+        bool                                      IgnoreNewLines;
+        Token                                     currentToken;
+        char                                      fch; // Current character read
+        Token                                     previousToken;
+        double                                    tokenDouble;
+        int                                       tokenInteger;
+        double                                    tokenScalar; // Used to retrieve int or double
+        string                                    tokenString;
+        int                                       lineNumber();
+
+        CodeTypes::CodeTypes                      token();
+
+
+                                                  Scanner();
+        void                                      startScanner();
+        bool                                      IsQueueEmpty();
+        char                                      nextChar();
+        string                                    tokenToString(const CodeTypes::CodeTypes& code);
+        void                                      AddTokenToQueue();
+        void                                      nextToken();
+        void                                      skipBlanks();
+        void                                      UnGetToken();
+        void                                      AssignStream(stringstream& str);
+}; //class scanner
+
+} //rr
+#endif
diff --git a/source/c/rrStringBuilder.cpp b/source/c/rrStringBuilder.cpp
new file mode 100644
index 0000000..7b7d9a1
--- /dev/null
+++ b/source/c/rrStringBuilder.cpp
@@ -0,0 +1,62 @@
+#pragma hdrstop
+#include <iomanip>
+#include "rrStringBuilder.h"
+#include "rrStringUtils.h"
+#include "rrLogger.h"
+//---------------------------------------------------------------------------
+
+using namespace std;
+namespace rr
+{
+
+StringBuilder::StringBuilder(const string& aStr)
+{
+    mStringing<<aStr;
+}
+
+string StringBuilder::ToString()
+{
+    return mStringing.str();
+}
+
+void StringBuilder::Clear()
+{
+    mStringing.str("");
+}
+
+stringstream& StringBuilder::operator<<(const string& str)
+{
+    mStringing<<str;
+    Log(lDebug5)<<"Appended :"<<removeNewLines(str, 1);
+    return mStringing;
+}
+
+stringstream& StringBuilder::operator<<(const char& ch)
+{
+    mStringing<<ch;
+    Log(lDebug5)<<"Appended :"<<ch;
+    return mStringing;
+}
+
+void StringBuilder::NewLine(const string& line)
+{
+    mStringing<<"\n"<<line<<endl;
+}
+
+void StringBuilder::Line(const string& line)
+{
+    mStringing<<line<<endl;
+}
+
+void StringBuilder::TLine(const string& line, const int& nrTabs)
+{
+    string tabs;
+    for(int i = 0; i < nrTabs; i++)
+    {
+        tabs +="\t";
+    }
+
+    mStringing<<tabs<<line<<endl;
+}
+
+}
diff --git a/source/c/rrStringBuilder.h b/source/c/rrStringBuilder.h
new file mode 100644
index 0000000..497a103
--- /dev/null
+++ b/source/c/rrStringBuilder.h
@@ -0,0 +1,36 @@
+#ifndef rrStringBuilderH
+#define rrStringBuilderH
+#include <sstream>
+#include <string>
+#include "rrExporter.h"
+
+using std::stringstream;
+using std::string;
+
+namespace rr
+{
+
+/**
+ * @internal
+ * @deprecated
+ */
+class RR_DECLSPEC StringBuilder
+{
+    protected:
+        stringstream                 mStringing;
+
+    public:
+                                    StringBuilder(const string& aStr = "");
+        stringstream&                  operator<<(const string& str);
+        stringstream&                  operator<<(const char& ch);
+        string                      ToString();
+
+        void                        NewLine(const string& line = "");
+        void                        Line(const string& line);
+        void                        TLine(const string& line, const int& tabs = 1);
+        void                        Clear();
+};
+
+}
+
+#endif
diff --git a/source/c/rrStringList.cpp b/source/c/rrStringList.cpp
new file mode 100644
index 0000000..8cb3f64
--- /dev/null
+++ b/source/c/rrStringList.cpp
@@ -0,0 +1,236 @@
+#pragma hdrstop
+#include <algorithm>
+#include <iostream>
+#include <sstream>
+#include "rrStringUtils.h"
+#include "rrStringList.h"
+#include "rrUtils.h"
+#include "rrException.h"
+
+using namespace std;
+
+namespace rr
+{
+
+using namespace rrc;
+
+StringList::StringList()
+{}
+
+StringList::StringList(const vector<string>& strings)
+:
+mStrings(strings)
+{}
+
+StringList::StringList(RRStringArray* cp)
+{
+    if(!cp)
+    {
+        return;
+    }
+
+    for(int i = 0; i < cp->Count; i++)
+    {
+        mStrings.push_back(cp->String[i]);
+    }
+}
+
+StringList::StringList(const string& str, const string& delimiter)
+{
+    mStrings = splitString(str, delimiter);
+}
+
+StringList::StringList(char** aList, const int& count)
+{
+    //Copy C stringlist into the container..
+    for(int i = 0; i < count; i++)
+    {
+        mStrings.push_back(aList[i]);
+    }
+}
+
+StringList::StringList(const StringList& cp)
+{
+    mStrings = cp.mStrings;
+}
+
+StringList::~StringList()
+{}
+
+vector<string>::iterator StringList::begin()
+{
+    return mStrings.begin();
+}
+
+vector<string>::iterator StringList::end()
+{
+    return mStrings.end();
+}
+
+string& StringList::operator[](const int& index)
+{
+    if(index > Count() -1 )
+    {
+        stringstream msg;
+        msg<<"index ("<<index<<") out of bounds in StringList with count "<<Count();
+
+        throw(CoreException(msg.str()));
+    }
+    return mStrings[index];
+}
+
+const string& StringList::operator[](const int& index) const
+{
+    if(index > Count() -1 )
+    {
+        stringstream msg;
+        msg<<"index ("<<index<<") out of bounds in StringList with count "<<Count();
+
+        throw(CoreException(msg.str()));
+    }
+
+    return mStrings[index];
+}
+
+unsigned int StringList::size() const
+{
+    return mStrings.size();
+}
+
+unsigned int StringList::Count() const
+{
+    return mStrings.size();
+}
+
+string StringList::AsString(const string& delimiter) const
+{
+    stringstream names;
+    for(int i = 0; i < mStrings.size(); i++)
+    {
+        names<<mStrings[i];
+        if( i < mStrings.size() - 1)
+        {
+            names<<delimiter;
+        }
+    }
+    return names.str();
+}
+
+void StringList::PreFix(const string& fix)
+{
+     for(mLI = mStrings.begin(); mLI != mStrings.end(); mLI++)
+    {
+        (*mLI) = fix + (*mLI) ;
+    }
+}
+
+void StringList::PostFix(const string& fix)
+{
+    for(mLI = mStrings.begin(); mLI != mStrings.end(); mLI++)
+    {
+        (*mLI) = (*mLI) + fix;
+    }
+}
+
+StringList StringList::operator-(const StringList& rhs)
+{
+    StringList newList;
+
+    for(int i = 0; i < Count(); i++)
+    {
+        string item = mStrings[i] + "-" + rhs[i];
+        newList.add(item);
+    }
+
+    return newList;
+}
+
+void StringList::InsertAt(const int& index, const string& item)
+{
+    mLI = mStrings.begin() + index;
+    if(mLI != mStrings.end())
+    {
+        mStrings.insert(mLI, item);
+    }
+}
+
+void StringList::Append(const StringList& list)
+{
+    for(int i = 0; i < list.Count(); i++)
+    {
+        mStrings.push_back(list[i]);
+    }
+}
+
+void StringList::add(const string& item)
+{
+    mStrings.push_back(item);
+}
+
+int StringList::find(const string& item)
+{
+    return rr::indexOf(mStrings, item);
+}
+
+int StringList::indexOf(const string& item)
+{
+    return rr::indexOf(mStrings, item);
+}
+
+void StringList::removeAt(const int& index)
+{
+    mLI = mStrings.begin() + index;
+    mStrings.erase(mLI);
+}
+
+bool StringList::Contains(const string& item) const
+{
+    return std::find(mStrings.begin(), mStrings.end(), item) != mStrings.end() ? true : false;
+}
+
+bool StringList::DontContain(const string& item) const
+{
+    return !Contains(item);
+}
+
+void StringList::clear()
+{
+    mStrings.clear();
+}
+
+void StringList::empty()
+{
+    mStrings.clear();
+}
+
+StringList& StringList::operator=(const StringList& rhs)
+{
+    mStrings = rhs.mStrings;
+    return *this;
+}
+
+StringList& StringList::operator=(const vector<string>& rhs)
+{
+    mStrings = rhs;
+    return *this;
+}
+
+ostream& operator<<(ostream& stream, const StringList& list)
+{
+    stream<<"{";
+    for(int i = 0; i < list.Count(); i++)
+    {
+        stream<<"\""<<list[i]<<"\"";
+        if(i < list.Count() -1)
+        {
+            stream<<",";
+        }
+
+    }
+    stream<<"}";
+    return stream;
+}
+
+
+} //namespace rr
+
diff --git a/source/c/rrStringList.h b/source/c/rrStringList.h
new file mode 100644
index 0000000..78e3ef6
--- /dev/null
+++ b/source/c/rrStringList.h
@@ -0,0 +1,78 @@
+#ifndef rrStringListH
+#define rrStringListH
+#include <vector>
+#include <string>
+#include "rrConstants.h"
+#include "../wrappers/C/rrc_types.h"
+
+namespace rr
+{
+using std::vector;
+using std::string;
+using std::ostream;
+
+/**
+ * @internal
+ * @deprecated
+ */
+class RR_DECLSPEC StringList
+{
+    protected:
+        vector<string>              mStrings;
+        vector<string>::iterator    mLI;
+
+    public:
+                                    StringList();
+                                    StringList(char** stringList, const int& count);
+                                    StringList(const string& str, const string& delimiters = ", ");
+                                    StringList(const vector<string>& strings);
+                                    StringList(const StringList& cp);
+                                    StringList(rrc::RRStringArrayPtr cp);
+                                   ~StringList();
+
+        void                        InsertAt(const int& index, const string& item);
+        void                        Append(const StringList& list);
+        string                      AsString(const string& delimiter = gComma) const;
+
+        /**
+         * get the size to be compatible with vector<string>
+         */
+        unsigned int size() const;
+
+
+        unsigned int                Count() const;
+
+
+        StringList&                 operator=(const StringList& rhs);
+        StringList&                 operator=(const vector<string>& rhs);
+
+        string&                     operator[](const int& index);
+        const string&               operator[](const int& index) const;
+        StringList                  operator-(const StringList& rhs);
+        void                        removeAt(const int& index);
+        int                         find(const string& item);
+        int                         indexOf(const string& item);
+        void                        clear();
+        void                        empty();
+        bool                        Contains(const string& item) const;
+        bool                        DontContain(const string& item) const;
+        void                        add(const string& item);
+        vector<string>::iterator    begin();
+        vector<string>::iterator    end();
+        void                        PreFix(const string& fix);
+        void                        PostFix(const string& fix);
+        RR_DECLSPEC
+        friend ostream&             operator<<(ostream& stream, const StringList& list);
+
+        /**
+         * so we can start getting rid of this and using
+         * standard vector<string>
+         */
+        //operator vector<string>() const { return mStrings; }
+        operator const vector<string>&() const { return mStrings;}
+};
+
+
+
+}
+#endif
diff --git a/source/c/rrStringListContainer.cpp b/source/c/rrStringListContainer.cpp
new file mode 100644
index 0000000..487d359
--- /dev/null
+++ b/source/c/rrStringListContainer.cpp
@@ -0,0 +1,124 @@
+#pragma hdrstop
+#include <sstream>
+#include "rrStringListContainer.h"
+
+using namespace std;
+
+namespace rr
+{
+
+StringListContainer::StringListContainer()
+{
+}
+
+StringListContainer::StringListContainer(const StringListContainer& cp)
+:
+mContainer(cp.mContainer)
+{}
+
+//StringListContainer::StringListContainer(const string& lbl, const StringListContainer& cp)
+//:
+//mLabel(lbl),
+//mContainer(cp.mContainer)
+//{}
+
+StringListContainer::StringListContainer(const StringList& cp)
+{
+    Add(cp);
+}
+
+int StringListContainer::TotalCount() const
+{
+    //Returns the total count of all list items..
+    int cnt = 0;
+    for(int i = 0; i < Count(); i++)
+    {
+        cnt += mContainer[i].Count();
+    }
+    return cnt;
+}
+
+int StringListContainer::ListCount() const
+{
+    return mContainer.size();
+}
+
+int StringListContainer::Count() const
+{
+    return mContainer.size();
+}
+
+StringList& StringListContainer::operator[](const int& index)
+{
+    return mContainer[index];
+}
+
+const StringList& StringListContainer::operator[](const int& index) const
+{
+    return mContainer[index];
+}
+
+vector<StringList>::iterator StringListContainer::begin()
+{
+    return mContainer.begin();
+}
+
+vector<StringList>::iterator StringListContainer::end()
+{
+    return mContainer.end();
+}
+
+//void StringListContainer::Add(const string& lbl, const StringListContainer& lists)
+//{
+//    mLabel = lbl;
+//    Add(lists);
+//}
+
+void StringListContainer::Add(const StringListContainer& lists)
+{
+    for(int i = 0; i < lists.Count(); i++)
+    {
+        StringList aList;
+        aList = lists.mContainer[i];    //Todo: lists[i] should work...
+        Add(aList);
+    }
+}
+
+void StringListContainer::Add(const StringList& list)
+{
+    mContainer.push_back(list);
+}
+
+void StringListContainer::Add(const string& listName, const StringList& aList)
+{
+    StringList list(aList);
+//    list.Label(listName);
+    mContainer.push_back(list);
+}
+
+void StringListContainer::Add(const string& item)
+{
+    StringList list;
+    list.add(item);
+    Add(list);
+
+}
+
+void StringListContainer::Add(const int& atPos)
+{
+
+}
+
+ostream& operator<<(ostream& stream, const StringListContainer& list)
+{
+    vector<StringList>::iterator iter;
+    for(int  i = 0; i < list.Count(); i++)
+    {
+        string item = list[i].AsString();
+        stream<<"List Item "<<i+1<<" : "<<item<<endl;
+    }
+    return stream;
+}
+
+}
+
diff --git a/source/c/rrStringListContainer.h b/source/c/rrStringListContainer.h
new file mode 100644
index 0000000..2fafa78
--- /dev/null
+++ b/source/c/rrStringListContainer.h
@@ -0,0 +1,44 @@
+#ifndef rrStringListContainerH
+#define rrStringListContainerH
+#include <vector>
+#include <string>
+#include "rrExporter.h"
+#include "rrStringList.h"
+using std::vector;
+using std::string;
+
+namespace rr
+{
+
+/**
+ * @internal
+ * @deprecated
+ */
+class RR_DECLSPEC StringListContainer
+{
+    protected:
+        vector<StringList>              mContainer;
+
+    public:
+                                        StringListContainer();
+                                        StringListContainer(const string& lbl, const StringListContainer& cp);
+                                        StringListContainer(const StringListContainer& cp);
+                                        StringListContainer(const StringList& cp);
+        void                            operator=(const StringListContainer& rhs);
+        void                            Add(const StringListContainer& lists);
+        void                            Add(const string& listName, const StringList& coll);
+        void                            Add(const StringList& coll);
+        void                            Add(const string& coll);
+        void                            Add(const int& coll);
+        int                             Count() const;
+        int                             ListCount() const;
+        int                             TotalCount() const;
+        StringList&                     operator[](const int& index);
+        const StringList&               operator[](const int& index) const;
+        vector<StringList>::iterator    begin();
+        vector<StringList>::iterator    end();
+};
+
+ostream& operator<<(ostream& stream, const StringListContainer& list);
+}
+#endif
diff --git a/source/c/rrSymbol.cpp b/source/c/rrSymbol.cpp
new file mode 100644
index 0000000..76abf07
--- /dev/null
+++ b/source/c/rrSymbol.cpp
@@ -0,0 +1,48 @@
+#pragma hdrstop
+#include "rrSymbol.h"
+//---------------------------------------------------------------------------
+namespace rr
+{
+
+Symbol::Symbol(const string& _name, const double& _value)
+:
+name(_name),
+value(_value),
+rateRule(false),
+hasOnlySubstance(false)
+{}
+
+Symbol::Symbol(const string& _keyName, const string& _name, const double& _value)
+:
+keyName(_keyName),
+name(_name),
+value(_value),
+hasOnlySubstance(false),
+rateRule(false)
+{}
+
+Symbol::Symbol(const string& _name, const double& _value, const string& _compartmentName)
+:
+name(_name),
+value(_value),
+compartmentName(_compartmentName),
+hasOnlySubstance(false),
+rateRule(false)
+{}
+
+Symbol::Symbol(const string& _name, const double& _value, const string& _compartmentName, const string& _formula)
+:
+name(_name),
+value(_value),
+compartmentName(_compartmentName),
+formula(_formula),
+hasOnlySubstance(false),
+rateRule(false)
+{}
+
+ostream& operator<<(ostream& stream, const Symbol& symbol)
+{
+    stream<<"Name: "<<symbol.name;
+    return stream;
+}
+}
diff --git a/source/c/rrSymbol.h b/source/c/rrSymbol.h
new file mode 100644
index 0000000..c700b45
--- /dev/null
+++ b/source/c/rrSymbol.h
@@ -0,0 +1,84 @@
+#ifndef rrSymbolH
+#define rrSymbolH
+#include <string>
+#include <ostream>
+#include <limits>
+#include "rrExporter.h"
+using std::string;
+using std::ostream;
+
+namespace rr
+{
+/**
+ * An SBML species definition.
+ * TODO: should this be named something better than 'Symbol', say SpeciesDefinition or something???
+ * TODO: Why do we even have this? Shoud'nt this just be a sbml::Species ???
+ */
+class RR_DECLSPEC Symbol
+{
+public:
+    /**
+     * Set if species also has a rate rule. Use to prevent a
+     * floatingSpeciesAmountRates being output
+     * in the model function if there is a rate rule for it.
+     */
+    bool                rateRule;
+
+    /**
+     * set to initial concentration. If initialAmmount is given, this is converted to
+     * a concentration via initialAmmount / initialCompartmentVolume.
+     * TODO: should this be named 'initialConcentration'???
+     */
+    double              value;
+    bool                constant;
+
+
+    /**
+     * Used when symbol is a species
+     */
+    string              compartmentName;
+
+    /**
+     * used when symbol is a species
+     */
+    bool                hasOnlySubstance;
+
+    /**
+     * There are only two places where formula was created, in
+     * rrModelSymbols.cpp, readBoundarySpecies and readFloatingSpeciesConcentrationList
+     * In both cases, formula was formated as the exact same C language string of
+     * formula < <toString(dValue, ModelSymbols::mDoubleFormat)<< "/ md->c[" << nCompartmentIndex << "]";,
+     *
+     * where dValue was always the initialAmmount. So, ammount / volume = concentration.
+     *
+     * General idea behind 'formula' was to convert initialAmmount to an initial concentration,
+     * that logic belongs in the code generator, not the symbolic processor,
+     * so we just declare what the initialAmmount and compartment volume
+     * here and leave the logic of converting to concentration
+     * in the code generators.
+     *
+     * There is no need to keep the compartment index here, the code generators
+     * can just grab it from the compartment list using the compartment name.
+     */
+    string              formula;
+
+    /**
+     * Used when storing local parameters, keyName is the reaction name
+     */
+    string              keyName;
+    string              name;
+
+    //Constructors
+    Symbol(const string& _name = "", const double& _value = std::numeric_limits<double>::quiet_NaN());
+    Symbol(const string& _keyName, const string& _name, const double& _value= std::numeric_limits<double>::quiet_NaN());
+    Symbol(const string& _name, const double& _value, const string& _compartmentName);
+    Symbol(const string& _name, const double& _value, const string& _compartmentName, const string& _formula);
+
+}; //class rr::Symbol
+
+ostream& operator<<(ostream& stream, const Symbol& symbol);
+
+}//namespace rr
+#endif
+
+
diff --git a/source/c/rrSymbolList.cpp b/source/c/rrSymbolList.cpp
new file mode 100644
index 0000000..d3d482c
--- /dev/null
+++ b/source/c/rrSymbolList.cpp
@@ -0,0 +1,71 @@
+#pragma hdrstop
+#include "rrSymbolList.h"
+//---------------------------------------------------------------------------
+
+
+
+namespace rr
+{
+void SymbolList::Clear()
+{
+    clear();
+}
+
+int SymbolList::Add(const Symbol& item)
+{
+    push_back(item);
+    return size();
+}
+
+double SymbolList::getValue(const int& index)
+{
+    return at(index).value;
+}
+
+string SymbolList::getName(const int& index)
+{
+//            return ((Symbol) base[index]).name;
+    return at(index).name;
+}
+
+string SymbolList::getKeyName(const int& index)
+{
+//            return ((Symbol) base[index]).keyName;
+    return at(index).keyName;
+}
+
+
+bool SymbolList::find(const string& name, int& index) const
+{
+    index = -1;
+    for (unsigned int i = 0; i < size(); i++)
+    {
+        Symbol sym = at(i);
+        if (name == sym.name)
+        {
+            index = i;
+            return true;
+        }
+    }
+    return false;
+}
+
+bool SymbolList::find(const string& keyName, const string& name, int& index) const
+{
+    index = -1;
+    for(unsigned int i = 0; i < size(); i++)
+    {
+        Symbol sym = at(i);
+        if ((sym.name == name) && (sym.keyName == keyName))
+        {
+            index = i;
+            return true;
+        }
+    }
+    return false;
+}
+
+}//namespace rr
+
+
+
diff --git a/source/c/rrSymbolList.h b/source/c/rrSymbolList.h
new file mode 100644
index 0000000..9182ec8
--- /dev/null
+++ b/source/c/rrSymbolList.h
@@ -0,0 +1,191 @@
+#ifndef rrSymbolListH
+#define rrSymbolListH
+#include <vector>
+#include "rrExporter.h"
+#include "rrSymbol.h"
+
+using std::vector;
+
+namespace rr
+{
+
+class RR_DECLSPEC SymbolList: public vector<Symbol> //Using vector instead of list since accessing element by []
+{
+    public:
+        void                     Clear();
+        int                      Add(const Symbol& item);
+        double                   getValue(const int& index);
+        string                   getName(const int& index);
+        string                   getKeyName(const int& index);
+        bool                     find(const string& name, int& index) const;
+        bool                     find(const string& keyName, const string& name, int& index) const;
+        unsigned int             Count() const {return size();}
+}; //class
+
+}//namespace rr
+
+#endif
+
+//c#
+//using System.Collections;
+//
+///* Filename    : symbolList.cs
+// * Description : .NET based simulator
+// * Author(s)   : Herbert M Sauro
+// * Organization: Keck Graduate Institute
+// * Created     : 2005
+// *
+// * This software is licenced under the BSD Licence.
+// *
+// * Original author:
+// *   Herbert Sauro (hsauro at kgi.edu)
+// *
+// * Copyright (c) 2005 <Herbert M Sauro>
+// * All rights reserved
+// *
+// * Redistribution and use in source and binary forms, with or without
+// *  modification, are permitted provided that the following conditions
+// * are met:
+// * 1. Redistributions of source code must retain the above copyright
+// *    notice, this list of conditions and the following disclaimer.
+// * 2. Redistributions in binary form must reproduce the above copyright
+// *    notice, this list of conditions and the following disclaimer in the
+// *    documentation and/or other materials provided with the distribution.
+// * 3. The name of the author may not be used to endorse or promote products
+// *    derived from this software without specific prior written permission.
+//
+// * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+// * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+// * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+// * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+// * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+// * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// *****************************************************************************/
+//
+//namespace LibRoadRunner.Util
+//{
+//    public class SymbolList : ArrayList
+//    {
+//        /// <summary>
+//        /// Returns the Symbol by the given index
+//        /// </summary>
+//        /// <param name="index">the index of the element to return</param>
+//        /// <returns>Returns the Symbol by the given index</returns>
+//        public new Symbol this[int index]
+//        {
+//            get { return ((Symbol) base[index]); }
+//        }
+//
+//        /// <summary>
+//        /// Returns the Symbol with the given Name
+//        /// </summary>
+//        /// <param name="sName">the name of the symbol to return</param>
+//        /// <returns>Returns the Symbol with the given Name or null if not found</returns>
+//        public Symbol this[string sName]
+//        {
+//            get
+//            {
+//                int nIndex = -1;
+//                if (find(sName, out nIndex))
+//                {
+//                    return this[nIndex];
+//                }
+//                return null;
+//            }
+//        }
+//
+//        public int Add(Symbol item)
+//        {
+//            return base.Add(item);
+//        }
+//
+//        public double getValue(int index)
+//        {
+//            return ((Symbol) base[index]).value;
+//        }
+//
+//        public string getName(int index)
+//        {
+//            return ((Symbol) base[index]).name;
+//        }
+//
+//        public string getKeyName(int index)
+//        {
+//            return ((Symbol) base[index]).keyName;
+//        }
+//
+//        public override void Clear()
+//        {
+//            Clear();
+//        }
+//
+//        public bool find(string name, out int index)
+//        {
+//            index = -1;
+//            Symbol sym;
+//            for (int i = 0; i < Count; i++)
+//            {
+//                sym = (Symbol) base[i];
+//                if (name == sym.name)
+//                {
+//                    index = i;
+//                    return true;
+//                }
+//                if (sym.name == name)
+//                {
+//                    index = i;
+//                    return true;
+//                }
+//            }
+//            return false;
+//        }
+//
+//        public bool find(string keyName, string name, out int index)
+//        {
+//            index = -1;
+//            for (int i = 0; i < Count; i++)
+//            {
+//                var sym = (Symbol) base[i];
+//                if ((sym.name == name) && (sym.keyName == keyName))
+//                {
+//                    index = i;
+//                    return true;
+//                }
+//            }
+//            return false;
+//        }
+//
+////        public bool find (string name, out int index) {
+////            index = -1;
+////            TSymbol sym;
+////            for (int i=0; i<this.Count; i++) {
+////                sym = (TSymbol) base[i];
+////                if (name.ToUpper() == sym.name.ToUpper()) {
+////                   index = i;
+////                   return true;
+////                }
+////                if (sym.name.ToUpper() == name.ToUpper()) {
+////                    index = i;
+////                    return true;
+////                }
+////            }
+////            return false;
+////        }
+////
+////        public bool find (string keyName, string name, out int index) {
+////            index = -1;
+////            for (int i=0; i<this.Count; i++) {
+////                TSymbol sym = (TSymbol) base[i];
+////                if ((sym.name.ToUpper() == name.ToUpper()) && (sym.keyName.ToUpper() == keyName.ToUpper())) {
+////                    index = i;
+////                    return true;
+////                }
+////            }
+////            return false;
+////        }
+//    }
+//}
diff --git a/source/c/rrToken.cpp b/source/c/rrToken.cpp
new file mode 100644
index 0000000..331b703
--- /dev/null
+++ b/source/c/rrToken.cpp
@@ -0,0 +1,18 @@
+#pragma hdrstop
+#include "rrToken.h"
+//---------------------------------------------------------------------------
+
+namespace rr
+{
+
+Token::Token(const CodeTypes::CodeTypes& code)
+:
+tokenCode(code),
+tokenDouble(0),
+tokenInteger(0),
+tokenString(""),
+tokenValue(0) // Used to retrieve int or double
+{}
+
+}
+
diff --git a/source/c/rrToken.h b/source/c/rrToken.h
new file mode 100644
index 0000000..c1f6ef0
--- /dev/null
+++ b/source/c/rrToken.h
@@ -0,0 +1,24 @@
+#ifndef rrTokenH
+#define rrTokenH
+#include "rrExporter.h"
+#include "rrCodeTypes.h"
+
+#include <string>
+
+namespace rr
+{
+// This is currently used to store the previous token and support simple look ahead
+class RR_DECLSPEC Token
+{
+public:
+    CodeTypes::CodeTypes tokenCode;
+    double tokenDouble;
+    int tokenInteger;
+    std::string tokenString;
+    double tokenValue; // Used to retrieve int or double
+    Token(const CodeTypes::CodeTypes& code = CodeTypes::tEmptyToken);
+};
+
+}
+
+#endif
diff --git a/source/conservation/ConservationDocumentPlugin.cpp b/source/conservation/ConservationDocumentPlugin.cpp
new file mode 100644
index 0000000..33085d8
--- /dev/null
+++ b/source/conservation/ConservationDocumentPlugin.cpp
@@ -0,0 +1,42 @@
+/*
+ * ConservationDocumentPlugin.cpp
+ *
+ *  Created on: Oct 18, 2013
+ *      Author: andy
+ */
+
+#include "conservation/ConservationDocumentPlugin.h"
+
+namespace rr { namespace conservation {
+
+
+rr::conservation::ConservationDocumentPlugin::ConservationDocumentPlugin(
+        const std::string& uri, const std::string& prefix,
+        ConservationPkgNamespaces* consns)
+: libsbml::SBMLDocumentPlugin(uri, prefix, consns)
+{
+}
+
+rr::conservation::ConservationDocumentPlugin::ConservationDocumentPlugin(
+        const ConservationDocumentPlugin& orig)
+: libsbml::SBMLDocumentPlugin(orig)
+{
+}
+
+rr::conservation::ConservationDocumentPlugin::~ConservationDocumentPlugin()
+{
+}
+
+ConservationDocumentPlugin& rr::conservation::ConservationDocumentPlugin::operator =(
+        const ConservationDocumentPlugin& orig)
+{
+    return *this;
+}
+
+ConservationDocumentPlugin* rr::conservation::ConservationDocumentPlugin::clone() const
+{
+    return new ConservationDocumentPlugin(*this);
+}
+
+
+} } // namespace rr } namespace conservation }
diff --git a/source/conservation/ConservationDocumentPlugin.h b/source/conservation/ConservationDocumentPlugin.h
new file mode 100644
index 0000000..05d745d
--- /dev/null
+++ b/source/conservation/ConservationDocumentPlugin.h
@@ -0,0 +1,59 @@
+/*
+ * ConservationDocumentPlugin.h
+ *
+ *  Created on: Oct 18, 2013
+ *      Author: andy
+ */
+
+#ifndef ConservationDocumentPlugin_H_
+#define ConservationDocumentPlugin_H_
+
+#include "rrExporter.h"
+#include "ConservationExtension.h"
+#include <sbml/extension/SBasePlugin.h>
+#include <sbml/extension/SBMLDocumentPlugin.h>
+
+
+namespace rr { namespace conservation {
+
+
+class RR_DECLSPEC ConservationDocumentPlugin: public libsbml::SBMLDocumentPlugin
+{
+public:
+
+  /**
+   * Constructor
+   */
+  ConservationDocumentPlugin (const std::string &uri, const std::string &prefix,
+          ConservationPkgNamespaces *consns);
+
+
+  /**
+   * Copy constructor. Creates a copy of this SBase object.
+   */
+  ConservationDocumentPlugin(const ConservationDocumentPlugin& orig);
+
+
+  /**
+   * Destroy this object.
+   */
+  virtual ~ConservationDocumentPlugin ();
+
+
+  /**
+   * Assignment operator for ConservationDocumentPlugin.
+   */
+  ConservationDocumentPlugin& operator=(const ConservationDocumentPlugin& orig);
+
+
+  /**
+   * Creates and returns a deep copy of this ConservationDocumentPlugin object.
+   *
+   * @return a (deep) copy of this SBase object
+   */
+  virtual ConservationDocumentPlugin* clone () const;
+};
+
+} } // namespace rr } namespace conservation }
+
+#endif /* ConservationDocumentPlugin_H_ */
diff --git a/source/conservation/ConservationExtension.cpp b/source/conservation/ConservationExtension.cpp
new file mode 100755
index 0000000..f1cd27f
--- /dev/null
+++ b/source/conservation/ConservationExtension.cpp
@@ -0,0 +1,417 @@
+/**
+ * @file    ConservationExtension.cpp
+ * @brief   Implementation of ConservationExtension, the core module of conservation package.
+ * @author  Andy Somogyi
+ *
+ * This files the file format of the GroupsExtension by Akiya Jouraku
+ *
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation.  A copy of the license agreement is provided
+ * in the file named "LICENSE.txt" included with this software distribution
+ * and also available online as http://sbml.org/software/libsbml/license.html
+ */
+
+#include "ConservationExtension.h"
+#include "ConservationDocumentPlugin.h"
+#include "ConservedMoietyPlugin.h"
+
+
+
+#include <sbml/extension/SBMLExtensionRegister.h>
+#include <sbml/extension/SBMLExtensionRegistry.h>
+#include <sbml/extension/SBasePluginCreator.h>
+#include <sbml/extension/SBMLDocumentPluginNotRequired.h>
+
+#include <iostream>
+#include <exception>
+#include <sstream>
+
+#include "rrLogger.h"
+#include "rrExporter.h"
+#include "rrOSSpecifics.h"
+
+
+// --------------------------------------------------------
+//
+// Instantiate SBMLExtensionNamespaces<ConservationExtension>
+// (GroupsPkgNamespaces) for DLL.
+//
+// --------------------------------------------------------
+
+
+static bool initilized = false;
+
+
+template class RR_DECLSPEC libsbml::SBMLExtensionNamespaces<rr::conservation::ConservationExtension> ;
+
+namespace rr
+{
+namespace conservation
+{
+
+bool conservation_getInit()
+{
+    return initilized;
+}
+
+
+
+using namespace libsbml;
+
+// -------------------------------------------------------------------------
+//
+// This block is global initialization code which should be automatically
+// executed before invoking main() block.
+//
+// -------------------------------------------------------------------------
+
+//------------- (START) -----------------------------------
+
+// The name of this package
+
+const std::string& ConservationExtension::getPackageName()
+{
+    static const std::string pkgName = "conservation";
+    return pkgName;
+}
+
+//
+// Default SBML level, version, and package version
+//
+unsigned int ConservationExtension::getDefaultLevel()
+{
+    return 3;
+}
+
+unsigned int ConservationExtension::getDefaultVersion()
+{
+    return 1;
+}
+
+unsigned int ConservationExtension::getDefaultPackageVersion()
+{
+    return 1;
+}
+
+//
+// XML namespaces of (1) package versions of groups extension, and
+// (2) another XML namespace(XMLSchema-instance) required in the groups
+//  extension.
+//
+
+const std::string& ConservationExtension::getXmlnsL3V1V1()
+{
+    static const std::string xmlns =
+            "http://www.sbml.org/sbml/level3/version1/conservation/version1";
+    return xmlns;
+}
+
+//
+// Adds this ConservationExtension object to the SBMLExtensionRegistry class.
+// ConservationExtension::init() function is automatically invoked when this
+// object is instantiated.
+//
+static libsbml::SBMLExtensionRegister<ConservationExtension> conservationExtensionRegistry;
+
+static
+const char* SBML_GROUPS_TYPECODE_STRINGS[] =
+{ "Group", "Member" };
+
+//------------- (END) -----------------------------------
+
+
+ConservationExtension::ConservationExtension()
+{
+}
+
+/*
+ * Copy constructor.
+ */
+ConservationExtension::ConservationExtension(const ConservationExtension& orig) :
+        SBMLExtension(orig)
+{
+}
+
+/*
+ * Destroy this object.
+ */
+ConservationExtension::~ConservationExtension()
+{
+}
+
+/*
+ * Assignment operator for ConservationExtension.
+ */
+ConservationExtension&
+ConservationExtension::operator=(const ConservationExtension& orig)
+{
+    SBMLExtension::operator=(orig);
+    return *this;
+}
+
+/*
+ * Creates and returns a deep copy of this ConservationExtension object.
+ *
+ * @return a (deep) copy of this SBase object
+ */
+ConservationExtension*
+ConservationExtension::clone() const
+{
+    return new ConservationExtension(*this);
+}
+
+const std::string&
+ConservationExtension::getName() const
+{
+    return getPackageName();
+}
+
+/*
+ * Returns the URI (namespace) of the package corresponding to the combination of the given sbml level,
+ * sbml version, and package version.
+ * Empty string will be returned if no corresponding URI exists.
+ *
+ * @return a string of the package URI
+ */
+const std::string&
+ConservationExtension::getURI(unsigned int sbmlLevel, unsigned int sbmlVersion,
+        unsigned int pkgVersion) const
+{
+    if (sbmlLevel == 3)
+    {
+        if (sbmlVersion == 1)
+        {
+            if (pkgVersion == 1)
+            {
+                return getXmlnsL3V1V1();
+            }
+        }
+    }
+
+    static std::string empty = "";
+
+    return empty;
+}
+
+/*
+ * Returns the SBML level with the given URI of this package.
+ *
+ *  (NOTICE) Package developers MUST OVERRIDE this pure virtual function in their derived class.
+ *
+ */
+unsigned int ConservationExtension::getLevel(const std::string &uri) const
+{
+    if (uri == getXmlnsL3V1V1())
+    {
+        return 3;
+    }
+
+    return 0;
+}
+
+/*
+ * Returns the SBML version with the given URI of this package.
+ *
+ *  (NOTICE) Package developers MUST OVERRIDE this pure virtual function in their derived class.
+ *
+ */
+unsigned int ConservationExtension::getVersion(const std::string &uri) const
+{
+    if (uri == getXmlnsL3V1V1())
+    {
+        return 1;
+    }
+
+    return 0;
+}
+
+/*
+ * Returns the package version with the given URI of this package.
+ *
+ *  (NOTICE) Package developers MUST OVERRIDE this pure virtual function in their derived class.
+ *
+ */
+unsigned int ConservationExtension::getPackageVersion(
+        const std::string &uri) const
+{
+    if (uri == getXmlnsL3V1V1())
+    {
+        return 1;
+    }
+
+    return 0;
+}
+
+/*
+ * Returns an SBMLExtensionNamespaces<class SBMLExtensionType> object
+ * (e.g. SBMLExtensionNamespaces<ConservationExtension> whose alias type is
+ * GroupsPkgNamespaces) corresponding to the given uri.
+ * NULL will be returned if the given uri is not defined in the corresponding package.
+ *
+ *  (NOTICE) Package developers MUST OVERRIDE this pure virtual function in their derived class.
+ *
+ */
+SBMLNamespaces* ConservationExtension::getSBMLExtensionNamespaces(
+        const std::string &uri) const
+{
+    ConservationPkgNamespaces* pkgns = 0;
+    if (uri == getXmlnsL3V1V1())
+    {
+        pkgns = new ConservationPkgNamespaces(3, 1, 1);
+    }
+    return pkgns;
+}
+
+/*
+ * This method takes a type code of groups package and returns a string representing
+ * the code.
+ */
+const char* ConservationExtension::getStringFromTypeCode(int typeCode) const
+{
+    int min = SBML_GROUPS_GROUP;
+    int max = SBML_GROUPS_MEMBER;
+
+    if (typeCode < min || typeCode > max)
+    {
+        return "(Unknown SBML Groups Type)";
+    }
+
+    return SBML_GROUPS_TYPECODE_STRINGS[typeCode - min];
+}
+
+bool ConservationExtension::getConservedMoiety(const libsbml::Species& s)
+{
+    const ConservedMoietyPlugin* plugin =
+            dynamic_cast<const ConservedMoietyPlugin*>(
+                    s.getPlugin("conservation"));
+    return plugin ? plugin->getConservedMoiety() : false;
+}
+
+bool ConservationExtension::getConservedMoiety(const libsbml::Parameter& s)
+{
+    const ConservedMoietyPlugin* plugin =
+            dynamic_cast<const ConservedMoietyPlugin*>(
+                    s.getPlugin("conservation"));
+    return plugin ? plugin->getConservedMoiety() : false;
+}
+
+
+bool ConservationExtension::isConservedMoietyDocument(
+        const libsbml::SBMLDocument* doc)
+{
+    const SBasePlugin* p = doc->getPlugin("conservation");
+
+    return dynamic_cast<const ConservationDocumentPlugin*>(p) != 0;
+}
+
+
+/*
+ *
+ * Initialization function of groups extension module which is automatically invoked
+ * by SBMLExtensionRegister class before main() function invoked.
+ *
+ */
+void ConservationExtension::init()
+{
+    //std::cout << __FUNC__ << std::endl;
+
+    initilized = true;
+    //-------------------------------------------------------------------------
+    //
+    // 1. Checks if the groups pacakge has already been registered.
+    //
+    //-------------------------------------------------------------------------
+
+    if (SBMLExtensionRegistry::getInstance().isRegistered(getPackageName()))
+    {
+        // do nothing;
+        return;
+    }
+
+    //-------------------------------------------------------------------------
+    //
+    // 2. Creates an SBMLExtension derived object.
+    //
+    //-------------------------------------------------------------------------
+
+    ConservationExtension conservationExtension;
+
+    //-------------------------------------------------------------------------------------
+    //
+    // 3. Creates SBasePluginCreatorBase derived objects required for this
+    //    extension. The derived classes can be instantiated by using the following
+    //     template class.
+    //
+    //    temaplate<class SBasePluginType> class SBasePluginCreator
+    //
+    //    The constructor of the creator class has two arguments:
+    //
+    //        (1) SBaseExtensionPoint : extension point to which the plugin object connected
+    //        (2) std::vector<std::string> : a std::vector object that contains a list of URI
+    //                                       (package versions) supported by the plugin object.
+    //
+    //    For example, two plugin objects (plugged in SBMLDocument and Model elements) are
+    //    required for the groups extension.
+    //
+    //    Since only 'required' attribute is used in SBMLDocument by the groups package, existing
+    //    SBMLDocumentPluginNotRequired class can be used as-is for the plugin.
+    //
+    //    Since the lists of supported package versions (currently only L3V1-groups-V1 supported )
+    //    are equal in the both plugin objects, the same vector object is given to each
+    //    constructor.
+    //
+    //---------------------------------------------------------------------------------------
+
+    std::vector<std::string> packageURIs;
+    packageURIs.push_back(getXmlnsL3V1V1());
+
+    // the plugins will be plugged in at these extension points
+    SBaseExtensionPoint documentExtPoint("core", SBML_DOCUMENT);
+    SBaseExtensionPoint parameterExtPoint("core", SBML_PARAMETER);
+    SBaseExtensionPoint speciesExtPoint("core", SBML_SPECIES);
+
+    SBasePluginCreator<ConservationDocumentPlugin, ConservationExtension>
+        documentPluginCreator(documentExtPoint, packageURIs);
+
+    SBasePluginCreator<ConservedMoietyPlugin, ConservationExtension>
+        parameterPluginCreator(parameterExtPoint, packageURIs);
+
+    SBasePluginCreator<ConservedMoietyPlugin, ConservationExtension>
+        speciesPluginCreator(speciesExtPoint, packageURIs);
+
+    //--------------------------------------------------------------------------------------
+    //
+    // 3. Adds the above SBasePluginCreatorBase derived objects to the SBMLExtension derived object.
+    //
+    //--------------------------------------------------------------------------------------
+
+    conservationExtension.addSBasePluginCreator(&documentPluginCreator);
+    conservationExtension.addSBasePluginCreator(&parameterPluginCreator);
+    conservationExtension.addSBasePluginCreator(&speciesPluginCreator);
+
+    //-------------------------------------------------------------------------
+    //
+    // 4. Registers the SBMLExtension derived object to SBMLExtensionRegistry
+    //
+    //-------------------------------------------------------------------------
+
+    int result = SBMLExtensionRegistry::getInstance().addExtension(
+            &conservationExtension);
+
+    if (result != LIBSBML_OPERATION_SUCCESS)
+    {
+        std::stringstream ss;
+        ss << "ConservationExtension::init() failed, result: " << result;
+        throw std::runtime_error(ss.str().c_str());
+    }
+    else
+    {
+        //std::cout << "successfully registered conservation extension" << std::endl;
+    }
+}
+
+}
+} // namespace rr } namespace conservation }
+
diff --git a/source/conservation/ConservationExtension.h b/source/conservation/ConservationExtension.h
new file mode 100755
index 0000000..4cc886b
--- /dev/null
+++ b/source/conservation/ConservationExtension.h
@@ -0,0 +1,257 @@
+/**
+ * @file    ConservationExtension.h
+ * @brief   Definition of ConservationExtension, the core module of groups package.
+ * @author  Andy Somogyi
+ *
+ * The Conservation Extension performes moiety conservation analysis on
+ * SBML documents.
+ *
+ * This file is based on the GroupsExtension, written by Akiya Jouraku
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation.  A copy of the license agreement is provided
+ * in the file named "LICENSE.txt" included with this software distribution
+ * and also available online as http://sbml.org/software/libsbml/license.html
+ */
+
+#ifndef ConservationExtension_h
+#define ConservationExtension_h
+
+#include "rrExporter.h"
+#include <sbml/common/extern.h>
+#include <sbml/SBMLTypeCodes.h>
+#include <sbml/extension/SBMLExtension.h>
+#include <sbml/extension/SBMLExtensionNamespaces.h>
+#include <sbml/extension/SBMLExtensionRegister.h>
+
+#include <string>
+#include <vector>
+
+
+
+namespace rr { namespace conservation {
+
+#ifndef CONSERVATION_CREATE_NS
+#define CONSERVATION_CREATE_NS(variable,sbmlns)\
+  EXTENSION_CREATE_NS(ConservationPkgNamespaces,variable,sbmlns);
+#endif
+
+bool RR_DECLSPEC conservation_getInit();
+
+
+class RR_DECLSPEC ConservationExtension : public libsbml::SBMLExtension
+{
+public:
+
+  //---------------------------------------------------------------
+  //
+  // Required class methods
+  //
+  //---------------------------------------------------------------
+
+  /**
+   * Returns the package name of this extension.
+   */
+  static const std::string& getPackageName ();
+
+  /**
+   * Returns the default SBML Level this extension.
+   */
+  static unsigned int getDefaultLevel();
+
+  /**
+   * Returns the default SBML Version this extension.
+   */
+  static unsigned int getDefaultVersion();
+
+  /**
+   * Returns the default SBML version this extension.
+   */
+  static unsigned int getDefaultPackageVersion();
+
+  /**
+   * Returns URI of supported versions of this package.
+   */
+  static const std::string&  getXmlnsL3V1V1();
+
+
+  /**
+   * check if the Species is a conserved moiety,
+   * a convenience function that just checks the ConservedMoietyPlugin
+   */
+  static bool getConservedMoiety(const libsbml::Species& s);
+
+  /**
+   * check if the Parameter is a conserved moiety,
+   * a convenience function that just checks the ConservedMoietyPlugin
+   */
+  static bool getConservedMoiety(const libsbml::Parameter& p);
+
+
+  /**
+   * check if the document is already a conserved moeity document
+   */
+  static bool isConservedMoietyDocument(const libsbml::SBMLDocument*);
+
+
+
+  /**
+   * Constructor
+   */
+  ConservationExtension ();
+
+
+  /**
+   * Copy constructor.
+   */
+  ConservationExtension(const ConservationExtension&);
+
+
+  /**
+   * Destroy this object.
+   */
+  virtual ~ConservationExtension ();
+
+
+  /**
+   * Assignment operator for ConservationExtension.
+   */
+  ConservationExtension& operator=(const ConservationExtension&);
+
+
+  /**
+   * Creates and returns a deep copy of this ConservationExtension object.
+   *
+   * @return a (deep) copy of this SBase object
+   */
+  virtual ConservationExtension* clone () const;
+
+
+  /**
+   * Returns the name of this package ("groups")
+   *
+   * @pram the name of this package ("groups")
+   */
+  virtual const std::string& getName() const;
+
+
+  /**
+   * Returns the URI (namespace) of the package corresponding to the combination of
+   * the given sbml level, sbml version, and package version.
+   * Empty string will be returned if no corresponding URI exists.
+   *
+   * @param sbmlLevel the level of SBML
+   * @param sbmlVersion the version of SBML
+   * @param pkgVersion the version of package
+   *
+   * @return a string of the package URI
+   */
+  virtual const std::string& getURI(unsigned int sbmlLevel, unsigned int sbmlVersion,
+                                    unsigned int pkgVersion) const;
+
+
+  /**
+   * Returns the SBML level with the given URI of this package.
+   *
+   * @param uri the string of URI that represents one of versions of layout package
+   *
+   * @return the SBML level with the given URI of this package. 0 will be returned
+   * if the given URI is invalid.
+   *
+   */
+  virtual unsigned int getLevel(const std::string &uri) const;
+
+
+  /**
+   * Returns the SBML version with the given URI of this package.
+   *
+   * @param uri the string of URI that represents one of versions of layout package
+   *
+   * @return the SBML version with the given URI of this package. 0 will be returned
+   * if the given URI is invalid.
+   */
+  virtual unsigned int getVersion(const std::string &uri) const;
+
+
+  /**
+   * Returns the package version with the given URI of this package.
+   *
+   * @param uri the string of URI that represents one of versions of layout package
+   *
+   * @return the package version with the given URI of this package. 0 will be returned
+   * if the given URI is invalid.
+   */
+  virtual unsigned int getPackageVersion(const std::string &uri) const;
+
+
+  /**
+   * Returns an SBMLExtensionNamespaces<ConservationExtension> object whose alias type is
+   * LayoutPkgNamespace.
+   * Null will be returned if the given uri is not defined in the layout package.
+   *
+   * @param uri the string of URI that represents one of versions of layout package
+   *
+   * @return an LayoutPkgNamespace object corresponding to the given uri. NULL will
+   * be returned if the given URI is not defined in layout package.
+   */
+  virtual libsbml::SBMLNamespaces* getSBMLExtensionNamespaces(const std::string &uri) const;
+
+
+  /**
+   * This method takes a type code of groups package and returns a string representing
+   * the code.
+   */
+  virtual const char* getStringFromTypeCode(int typeCode) const;
+
+
+  /** @cond doxygen-libsbml-internal */
+  /**
+   * Initializes layout extension by creating an object of this class with
+   * required SBasePlugin derived objects and registering the object
+   * to the SBMLExtensionRegistry class.
+   *
+   * (NOTE) This function is automatically invoked when creating the following
+   *        global object in ConservationExtension.cpp
+   *
+   *        static SBMLExtensionRegister<ConservationExtension> ConservationExtensionRegistry;
+   *
+   */
+
+  static void init();
+
+  /** @endcond doxygen-libsbml-internal */
+
+};
+
+
+
+
+// --------------------------------------------------------------------
+//
+// Required typedef definitions
+//
+// LayoutPkgNamespaces is derived from the SBMLNamespaces class and
+// used when creating an object of SBase derived classes defined in
+// layout package.
+//
+// --------------------------------------------------------------------
+
+//
+// (NOTE)
+//
+// SBMLExtensionNamespaces<ConservationExtension> must be instantiated
+// in ConservationExtension.cpp for DLL.
+//
+typedef libsbml::SBMLExtensionNamespaces<ConservationExtension> ConservationPkgNamespaces;
+
+typedef enum
+{
+   SBML_GROUPS_GROUP  = 200
+ , SBML_GROUPS_MEMBER = 201
+} SBMLGroupsTypeCode_t;
+
+
+} } // namespace rr } namespace conservation }
+
+#endif  /* ConservationExtension_h */
diff --git a/source/conservation/ConservedMoietyConverter.cpp b/source/conservation/ConservedMoietyConverter.cpp
new file mode 100644
index 0000000..0491a49
--- /dev/null
+++ b/source/conservation/ConservedMoietyConverter.cpp
@@ -0,0 +1,849 @@
+/*
+ * ConservedMoietyConverter.cpp
+ *
+ *  Created on: Oct 19, 2013
+ *      Author: andy
+ */
+
+#include "ConservedMoietyConverter.h"
+#include "ConservedMoietyPlugin.h"
+#include "ConservationDocumentPlugin.h"
+#include "rr-libstruct/lsLibStructural.h"
+
+#include <sbml/conversion/SBMLConverterRegistry.h>
+#include <sbml/conversion/SBMLLevelVersionConverter.h>
+#include "ConservationExtension.h"
+#include "rrSBMLReader.h"
+#include "rrLogger.h"
+#include "rrConfig.h"
+
+#include <sbml/math/ASTNode.h>
+#include <sbml/AlgebraicRule.h>
+#include <sbml/AssignmentRule.h>
+#include <sbml/RateRule.h>
+#include <sbml/InitialAssignment.h>
+#include <sbml/SBMLDocument.h>
+#include <sbml/Model.h>
+
+#include <algorithm>
+#include <string>
+#include <vector>
+#include <map>
+#include <set>
+#include <stdexcept>
+
+#include "rrStringUtils.h"
+
+#include <Poco/UUIDGenerator.h>
+
+using namespace std;
+using namespace libsbml;
+
+static const int loggingLevel = rr::Logger::LOG_DEBUG;
+
+namespace rr { namespace conservation {
+
+/**
+ * A little hack so we can copy species and get the ConservedMoiety plugin.
+ *
+ * Otherwise, we would have had to essentially re-write the Species
+ * copy ctor, which is problematic should the contents of Species
+ * ever change.
+ */
+class ConservedMoietySpecies : public libsbml::Species
+{
+public:
+    ConservedMoietySpecies(libsbml::Species& orig, bool conservedMoiety) :
+        libsbml::Species(orig)
+    {
+        ConservationPkgNamespaces ns(3,1,1);
+        this->loadPlugins(&ns);
+
+        ConservedMoietyPlugin *plugin = (ConservedMoietyPlugin*)getPlugin("conservation");
+
+        assert(plugin && "could not get conservation plugin from new species");
+
+        plugin->setConservedMoiety(conservedMoiety);
+    }
+};
+
+
+typedef std::vector<std::string> StringVector;
+
+/**
+ * check if a document is valid for conversion,
+ * raises std::invalid_argument exception if not.
+ */
+static void conservedMoietyCheck(const SBMLDocument *doc);
+
+/**
+ * remove any species from new model and replace with species
+ * in
+ */
+static void createReorderedSpecies(Model* newModel, Model* oldModel,
+        const std::vector<std::string>& indSpecies,
+        const std::vector<std::string>& depSpecies);
+
+/**
+ * creates a set of global parameters for the conserved moieties.
+ *
+ * A set of initialAssigments are also created to set thier values.
+ */
+static std::vector<std::string> createConservedMoietyParameters(
+        Model* newModel,
+        const ls::DoubleMatrix& L0, const std::vector<std::string>& indSpecies,
+        const std::vector<std::string>& depSpecies);
+
+
+static void createDependentSpeciesRules(Model* newModel,
+        const ls::DoubleMatrix& L0,
+        const std::vector<std::string>& conservedMoieties,
+        const std::vector<std::string>& indSpecies,
+        const std::vector<std::string>& depSpecies);
+
+static void updateReactions(Model* newModel,
+        const std::vector<std::string>& indSpecies,
+        const std::vector<std::string>& depSpecies);
+
+/**
+ * creates an ast node for a species, and this value will alwasy be an
+ * amount.
+ */
+static ASTNode *createSpeciesAmountNode(const Model* model, const std::string& name);
+
+static void insertAsModifier(Reaction* reaction, SimpleSpeciesReference *s);
+
+void ConservedMoietyConverter::init()
+{
+    ConservedMoietyConverter converter;
+    SBMLConverterRegistry::getInstance().addConverter(&converter);
+}
+
+ConservedMoietyConverter::ConservedMoietyConverter() :
+        SBMLConverter(),
+        mModel(0),
+        structural(0),
+        resultDoc(0),
+        resultModel(0)
+{
+}
+
+ConservedMoietyConverter::ConservedMoietyConverter(
+        const ConservedMoietyConverter& orig) :
+        SBMLConverter(orig),
+        mModel(0),
+        structural(0),
+        resultDoc(0),
+        resultModel(0)
+{
+}
+
+ConservedMoietyConverter::~ConservedMoietyConverter()
+{
+    delete structural;
+    delete resultDoc;
+}
+
+SBMLConverter* ConservedMoietyConverter::clone() const
+{
+    return new ConservedMoietyConverter(*this);
+}
+
+ConversionProperties ConservedMoietyConverter::getDefaultProperties() const
+{
+    static ConversionProperties prop;
+    prop.addOption("sortRules", true,
+            "Sort AssignmentRules and InitialAssignments in the model");
+    return prop;
+}
+
+bool ConservedMoietyConverter::matchesProperties(
+        const ConversionProperties &props) const
+{
+    if (&props == NULL || !props.hasOption("sortRules"))
+        return false;
+    return true;
+}
+
+int ConservedMoietyConverter::convert()
+{
+    int err = 0;
+
+    if (mDocument == NULL)
+    {
+        Log(Logger::LOG_ERROR) << "ConservedMoietyConverter document as not been set";
+        return LIBSBML_INVALID_OBJECT;
+    }
+
+
+    Model* mModel = mDocument->getModel();
+    if (mModel == NULL)
+    {
+        Log(Logger::LOG_ERROR) << "ConservedMoietyConverter document does not have a model";
+        return LIBSBML_INVALID_OBJECT;
+    }
+
+
+    /* The document was checked for consistency in setDocument */
+    ConservationPkgNamespaces ns(3,1,1);
+    if (mDocument->isPackageURIEnabled("http://www.sbml.org/sbml/level3/version1/fbc/version2"))
+        ns.addNamespace("http://www.sbml.org/sbml/level3/version1/fbc/version2", "fbc");
+    if (mDocument->isPackageURIEnabled("http://www.sbml.org/sbml/level3/version1/fbc/version1"))
+        ns.addNamespace("http://www.sbml.org/sbml/level3/version1/fbc/version1", "fbc");
+    resultDoc = new SBMLDocument(&ns);
+
+    ConservationDocumentPlugin *docPlugin = dynamic_cast<ConservationDocumentPlugin*>
+        (resultDoc->getPlugin("conservation"));
+
+    assert(docPlugin && "ConservationDocumentPlugin is NULL");
+
+    if ((err = docPlugin->setRequired(true)) != LIBSBML_OPERATION_SUCCESS)
+    {
+        Log(Logger::LOG_ERROR) << "ConservedMoietyConverter docPlugin->setRequired(true) failed: "
+                << std::endl
+                << OperationReturnValue_toString(err);
+        return err;
+    }
+
+    // makes a clone of the model
+    if((err = resultDoc->setModel(mModel)) != LIBSBML_OPERATION_SUCCESS)
+    {
+        Log(Logger::LOG_ERROR) << "ConservedMoietyConverter resultDoc->setModel(mModel) failed: "
+                << std::endl
+                << OperationReturnValue_toString(err);
+        return err;
+    }
+
+    resultModel = resultDoc->getModel();
+
+    assert(resultModel && "resultModel is NULL");
+
+    vector<string> indSpecies = structural->getIndependentSpecies();
+
+    vector<string> depSpecies = structural->getDependentSpecies();
+
+    // creates a new matrix
+    ls::DoubleMatrix *L0 = structural->getL0Matrix();
+
+    if (rr::Logger::getLevel() >= loggingLevel)
+    {
+        Log(loggingLevel) << "performing conversion on " << mModel->getName();
+        Log(loggingLevel) << "independent species: " << toString(indSpecies);
+        Log(loggingLevel) << "dependent species: " << toString(depSpecies);
+        Log(loggingLevel) << "L0 matrix: " << endl << *L0;
+        Log(loggingLevel) << "Stoichiometry Matrix: " << endl
+                << *(structural->getStoichiometryMatrix());
+        Log(loggingLevel) << "Reordered Stoichiometry Matrix: "
+                << endl << *(structural->getReorderedStoichiometryMatrix());
+    }
+
+    createReorderedSpecies(resultModel, mModel, indSpecies, depSpecies);
+
+    vector<string> conservedMoieties = createConservedMoietyParameters(
+            resultModel, *L0, indSpecies, depSpecies);
+
+    createDependentSpeciesRules(resultModel, *L0, conservedMoieties,
+            indSpecies, depSpecies);
+
+    updateReactions(resultModel, indSpecies, depSpecies);
+
+    delete L0;
+
+    return LIBSBML_OPERATION_SUCCESS;
+}
+
+libsbml::SBMLDocument* ConservedMoietyConverter::getDocument()
+{
+    return resultDoc;
+}
+
+const libsbml::SBMLDocument* ConservedMoietyConverter::getDocument() const
+{
+    return resultDoc;
+}
+
+int ConservedMoietyConverter::setDocument(const libsbml::SBMLDocument* doc)
+{
+    delete structural; structural = 0;
+    delete resultDoc; resultDoc = 0;
+
+    int result = 0;
+
+    if (doc == 0)
+    {
+        Log(Logger::LOG_ERROR) << "ConservedMoietyConverter::setDocument argument is NULL";
+        return LIBSBML_INVALID_OBJECT;
+    }
+
+    // throws exception if invalid.
+    conservedMoietyCheck(doc);
+
+    // The version converter checks consistency, if we are already
+    // at L3V1, need to check consistency ourselves.
+    if (doc->getLevel() != ConservationExtension::getDefaultLevel()
+        || doc->getVersion() != ConservationExtension::getDefaultVersion())
+    {
+        if ((rr::Config::getInt(rr::Config::ROADRUNNER_DISABLE_WARNINGS) &
+                rr::Config::ROADRUNNER_DISABLE_WARNINGS_CONSERVED_MOIETY) == 0)
+        {
+            Log(rr::Logger::LOG_NOTICE) << "source document is level " << doc->getLevel()
+                        << ", version " << doc->getVersion() << ", converting to "
+                        << "level " << ConservationExtension::getDefaultLevel()
+                        << ", version " << ConservationExtension::getDefaultVersion()
+                        << " for Moiety Conservation Conversion";
+        }
+
+        // this does an in-place conversion, at least for the time being
+        SBMLLevelVersionConverter versionConverter;
+
+        ConversionProperties versionProps = versionConverter.getDefaultProperties();
+
+        versionProps.addOption("strict", false);
+        std::cerr << "ConservedMoietyConverter::setDocument\n";
+
+        versionConverter.setProperties(&versionProps);
+
+        // need to set what checks the converter does. The const doc arg is fixed in 5.10, but
+        // we work with 5.9 for now.
+        libsbml::SBMLDocument* pdoc = const_cast<libsbml::SBMLDocument*>(doc);
+        pdoc->setApplicableValidators((unsigned char)Config::getInt(
+                Config::SBML_APPLICABLEVALIDATORS));
+
+        versionConverter.setDocument(doc);
+
+        if ((result = versionConverter.convert()) != LIBSBML_OPERATION_SUCCESS)
+        {
+            Log(rr::Logger::LOG_ERROR) << "could not upgrade source sbml level or version";
+
+            const SBMLErrorLog *log = doc->getErrorLog();
+            string errors = log ? log->toString() : string(" NULL SBML Error Log");
+            Log(rr::Logger::LOG_ERROR) << "Conversion Errors: " + errors;
+
+            return result;
+        }
+
+        // TODO, in case behavior of version converter changes,
+        // need to update ownership logic.
+        doc = versionConverter.getDocument();
+    }
+    else
+    {
+        if (!rr::Config::getBool(rr::Config::LOADSBMLOPTIONS_PERMISSIVE)) {
+            // need to set what checks the converter does. The const doc arg is fixed in 5.10, but
+            // we work with 5.9 for now.
+
+            libsbml::SBMLDocument* pdoc = const_cast<libsbml::SBMLDocument*>(doc);
+            pdoc->setApplicableValidators((unsigned char)Config::getInt(
+                    Config::SBML_APPLICABLEVALIDATORS));
+
+
+            /* use validators that the user has selected
+            */
+            /* hack to catch errors caught at read time */
+            char* docStr = writeSBMLToString(pdoc);
+            SBMLDocument *d = readSBMLFromString(docStr);
+            util_free(docStr);
+            unsigned int errors = d->getNumErrors();
+
+            for (unsigned int i = 0; i < errors; i++)
+            {
+                pdoc->getErrorLog()->add(*(d->getError(i)));
+            }
+            delete d;
+
+            errors += pdoc->checkConsistency();
+            errors = pdoc->getErrorLog()->getNumFailsWithSeverity(LIBSBML_SEV_ERROR);
+
+            /* if the current model is not valid dont convert and dont set
+            */
+            if (errors > 0)
+            {
+                Log(rr::Logger::LOG_ERROR) << "Invalid document for moiety conversion:";
+
+                const SBMLErrorLog *log = pdoc->getErrorLog();
+                string errors = log ? log->toString() : string(" NULL SBML Error Log");
+                Log(rr::Logger::LOG_ERROR) << "Conversion Errors: " + errors;
+
+                return LIBSBML_CONV_INVALID_SRC_DOCUMENT;
+            }
+
+            pdoc->getErrorLog()->clearLog();
+        }
+
+    }
+
+    // sets mDocument
+    if ((result = SBMLConverter::setDocument(doc)) != LIBSBML_OPERATION_SUCCESS)
+    {
+        return result;
+    }
+
+    // owned by the doc
+    mModel = mDocument->getModel();
+    if (mModel == NULL)
+    {
+        return LIBSBML_INVALID_OBJECT;
+    }
+
+    structural = new ls::LibStructural(mModel);
+
+    return LIBSBML_OPERATION_SUCCESS;
+}
+
+const libsbml::SBMLDocument *ConservedMoietyConverter::getLevelConvertedDocument() const
+{
+    return mDocument;
+}
+
+static void createReorderedSpecies(Model* newModel, Model* oldModel,
+        const std::vector<std::string>& indSpecies,
+        const std::vector<std::string>& depSpecies)
+{
+    // remove all the existing independent species
+    ListOfSpecies *species = newModel->getListOfSpecies();
+
+    unsigned index = 0;
+
+    while(index < species->size())
+    {
+        Species *s = species->get(index);
+        if (!s->getBoundaryCondition())
+        {
+            species->remove(index);
+            delete s;
+        }
+        else
+        {
+            index++;
+        }
+    }
+
+#if DEBUG
+    // TODO make sure that remaining species are in the given list.
+#endif
+
+
+    species = oldModel->getListOfSpecies();
+    ListOfSpecies *newSpecies = newModel->getListOfSpecies();
+
+    // insert independent first, then dependent
+    index = 0;
+    for (int i = 0; i < indSpecies.size(); ++i)
+    {
+        Species *s = species->get(indSpecies[i]);
+
+        assert(s && "could not get independent species from original model");
+
+        newSpecies->insertAndOwn(index++, new ConservedMoietySpecies(*s, false));
+    }
+
+    for (int i = 0; i < depSpecies.size(); ++i)
+    {
+        Species *s = species->get(depSpecies[i]);
+
+        assert(s && "could not get dependent species from original model");
+
+        newSpecies->insertAndOwn(index++, new ConservedMoietySpecies(*s, true));
+    }
+}
+
+/**
+ * create the conservied moiteies by
+ * T = S_d (0) - L_0 S_i (0)
+ */
+static std::vector<std::string> createConservedMoietyParameters(
+        Model* newModel,
+        const ls::DoubleMatrix& L0, const std::vector<std::string>& indSpecies,
+        const std::vector<std::string>& depSpecies)
+{
+    StringVector conservedMoieties(depSpecies.size());
+
+    Poco::UUIDGenerator uuidGen;
+
+    for (int i = 0; i < depSpecies.size(); ++i)
+    {
+        Poco::UUID uuid = uuidGen.create();
+        string id = "cm_" + rr::toString(i) + "_" + uuid.toString();
+        std::replace( id.begin(), id.end(), '-', '_');
+
+        Parameter *cm = newModel->createParameter();
+        cm->setId(id);
+        cm->setConstant(true);
+
+        ConservedMoietyPlugin *plugin = dynamic_cast<ConservedMoietyPlugin*>(
+                cm->getPlugin("conservation"));
+        plugin->setConservedMoiety(true);
+
+        conservedMoieties[i] = id;
+
+        InitialAssignment *ia = newModel->createInitialAssignment();
+        ia->setSymbol(id);
+
+        ASTNode sum(AST_PLUS);
+
+        ASTNode *Sd0 = createSpeciesAmountNode(newModel, depSpecies[i]);
+        sum.addChild(Sd0);
+
+        ASTNode *mult = new ASTNode(AST_TIMES);
+        sum.addChild(mult);
+
+        ASTNode *neg = new ASTNode(AST_REAL);
+        neg->setValue(-1.0);
+        mult->addChild(neg);
+
+        ASTNode *sum2 = new ASTNode(AST_PLUS);
+        mult->addChild(sum2);
+
+        for (int j = 0; j < indSpecies.size(); ++j)
+        {
+            double stoich = L0(i, j);
+
+            if (stoich != 0)
+            {
+                ASTNode *times = new ASTNode(AST_TIMES);
+                ASTNode *value = new ASTNode(AST_REAL);
+                ASTNode *species = createSpeciesAmountNode(newModel, indSpecies[j]);
+
+                value->setValue(stoich);
+                times->addChild(value);
+                times->addChild(species);
+
+                sum2->addChild(times);
+            }
+        }
+
+        ia->setMath(&sum);
+    }
+
+    return conservedMoieties;
+}
+
+static void createDependentSpeciesRules(Model* newModel,
+        const ls::DoubleMatrix& L0,
+        const std::vector<std::string>& conservedMoieties,
+        const std::vector<std::string>& indSpecies,
+        const std::vector<std::string>& depSpecies)
+{
+    for (unsigned i = 0; i < depSpecies.size(); ++i)
+    {
+        const string& id = depSpecies[i];
+
+        const Species *dspecies = newModel->getSpecies(id);
+        if (dspecies == 0)
+        {
+            throw std::invalid_argument("model does not contain dependent species " + id);
+        }
+
+        bool isAmt = dspecies->getHasOnlySubstanceUnits();
+
+        AssignmentRule *rule = newModel->createAssignmentRule();
+        rule->setVariable(id);
+
+        ASTNode *amt = new ASTNode(AST_PLUS);
+
+        // conserved moiety node
+        ASTNode *t = new ASTNode(AST_NAME);
+        t->setName(conservedMoieties[i].c_str());
+
+        amt->addChild(t);
+
+        for (int j = 0; j < indSpecies.size(); ++j)
+        {
+            double stoich = L0(i, j);
+
+            if (stoich != 0)
+            {
+                ASTNode *times = new ASTNode(AST_TIMES);
+                ASTNode *value = new ASTNode(AST_REAL);
+                ASTNode *ispecies = createSpeciesAmountNode(newModel, indSpecies[j]);
+
+                value->setValue(stoich);
+                times->addChild(value);
+                times->addChild(ispecies);
+
+                amt->addChild(times);
+            }
+        }
+
+        if (isAmt)
+        {
+            rule->setMath(amt);
+            delete amt;
+            amt = 0;
+        }
+        else
+        {
+            ASTNode conc(AST_DIVIDE);
+            ASTNode *volume = new ASTNode(AST_NAME);
+            volume->setName(dspecies->getCompartment().c_str());
+            conc.addChild(amt);
+            conc.addChild(volume);
+            rule->setMath(&conc);
+        }
+    }
+}
+
+static void updateReactions(Model* newModel,
+        const std::vector<std::string>& indSpecies,
+        const std::vector<std::string>& depSpecies)
+{
+    set<string> depSet(depSpecies.begin(), depSpecies.end());
+
+    ListOfReactions *reactions = newModel->getListOfReactions();
+
+    for (unsigned i = 0; i < reactions->size(); ++i)
+    {
+        Reaction *r = reactions->get(i);
+        ListOfSpeciesReferences *products = r->getListOfProducts();
+        ListOfSpeciesReferences *reactants = r->getListOfReactants();
+
+        unsigned j = 0;
+        while(j < products->size())
+        {
+            SimpleSpeciesReference *product = products->get(j);
+
+            if (depSet.find(product->getSpecies()) != depSet.end())
+            {
+                products->remove(j);
+                insertAsModifier(r, product);
+                delete product;
+            }
+            else
+            {
+                j++;
+            }
+        }
+
+        j = 0;
+        while(j < reactants->size())
+        {
+            SimpleSpeciesReference *reactant = reactants->get(j);
+
+            if (depSet.find(reactant->getSpecies()) != depSet.end())
+            {
+                reactants->remove(j);
+                insertAsModifier(r, reactant);
+                delete reactant;
+            }
+            else
+            {
+                j++;
+            }
+        }
+    }
+}
+
+static void insertAsModifier(Reaction* reaction, SimpleSpeciesReference *s)
+{
+    ModifierSpeciesReference *m = reaction->createModifier();
+    m->setId(s->getId());
+    m->setSpecies(s->getSpecies());
+    m->setName(s->getName());
+}
+
+
+static ASTNode *createSpeciesAmountNode(const Model* model, const std::string& name)
+{
+    const Species* species = model->getSpecies(name);
+
+    if(species == 0)
+    {
+        throw std::invalid_argument("model does not have species with name" + name);
+    }
+
+    ASTNode *speciesNode = new ASTNode(AST_NAME);
+    speciesNode->setName(name.c_str());
+
+    if(species->getHasOnlySubstanceUnits())
+    {
+        // its an amount, we're good
+        return speciesNode;
+    }
+    else
+    {
+        ASTNode *mul = new ASTNode(AST_TIMES);
+        ASTNode *volume = new ASTNode(AST_NAME);
+        volume->setName(species->getCompartment().c_str());
+        mul->addChild(volume);
+        mul->addChild(speciesNode);
+        return mul;
+    }
+}
+
+static inline void conservedMoietyException(const std::string& what)
+{
+    Log(rr::Logger::LOG_INFORMATION) << what;
+
+    static const char* help = "\n To disable conserved moeity conversion, either \n"
+            "\t a: set [Your roadrunner variable].conservedMoietyAnalysis = False, \n"
+            "\t before calling the load(\'myfile.xml\') method, or\n"
+            "\t b: create a LoadSBMLOptions object, set the conservedMoieties property \n"
+            "\t to False and use this as the second argument to the RoadRunner \n"
+            "\t constructor or load() method, i.e. \n"
+            "\t o = roadrunner.LoadSBMLOptions()\n"
+            "\t o.conservedMoieties = False\n"
+            "\t r = roadrunner.RoadRunner(\'myfile.xml\', o)\n";
+    throw std::invalid_argument(what + help);
+}
+
+static void conservedMoietyCheck(const SBMLDocument *doc)
+{
+
+    const Model *model = doc->getModel();
+
+    // check if any species are defined by assignment rules
+    const ListOfRules *rules = model->getListOfRules();
+
+    for(int i = 0; i < rules->size(); ++i)
+    {
+        const Rule *rule = rules->get(i);
+
+        const SBase *element = const_cast<Model*>(model)->getElementBySId(
+                rule->getVariable());
+
+        const Species *species = dynamic_cast<const Species*>(element);
+        if(species && !species->getBoundaryCondition())
+        {
+            string msg = "Cannot perform moeity conversion when floating "
+                    "species are defined by rules. The floating species, "
+                    + species->getId() + " is defined by rule " + rule->getId()
+                    + ".";
+            conservedMoietyException(msg);
+        }
+
+        const SpeciesReference *ref =
+                dynamic_cast<const SpeciesReference*>(element);
+        if(ref)
+        {
+            string msg = "Cannot perform moeity conversion with non-constant "
+                    "stoichiometry. The species reference " + ref->getId() +
+                    " which refers to species " + ref->getSpecies() + " has "
+                    "stoichiometry defined by rule " + rule->getId() + ".";
+            conservedMoietyException(msg);
+        }
+    }
+
+    const ListOfReactions *reactions = model->getListOfReactions();
+    for(int i = 0; i < reactions->size(); ++i)
+    {
+        const Reaction *reaction = reactions->get(i);
+
+        const ListOfSpeciesReferences *references = reaction->getListOfProducts();
+
+        for (int i = 0; i < references->size(); ++i)
+        {
+            const SpeciesReference *ref =
+                    dynamic_cast<const SpeciesReference*>(references->get(i));
+
+            // has the constant attribute
+            if (doc->getLevel() >= 3 &&  !ref->getConstant())
+            {
+                string msg = "Cannot perform moeity conversion with non-constant "
+                        "stoichiometry. The species reference " + ref->getId() +
+                        " which refers to species " + ref->getSpecies() +
+                        " does not have the constant attribute set.";
+                conservedMoietyException(msg);
+            }
+
+            else if(ref->isSetStoichiometryMath())
+            {
+                string msg = "Cannot perform moeity conversion with non-constant "
+                        "stoichiometry. The species reference " + ref->getId() +
+                        " which refers to species " + ref->getSpecies() +
+                        " has stochiometryMath set.";
+                conservedMoietyException(msg);
+            }
+        }
+    }
+
+    const ListOfEvents *events = model->getListOfEvents();
+    for(int i = 0; i < events->size(); ++i)
+    {
+        const Event *event = events->get(i);
+        const ListOfEventAssignments *assignments =
+                event->getListOfEventAssignments();
+
+        for(int j = 0; j < assignments->size(); ++j)
+        {
+            const EventAssignment *ass = assignments->get(j);
+            const SBase *element = const_cast<Model*>(model)->getElementBySId(
+                    ass->getVariable());
+
+            const Species *species = dynamic_cast<const Species*>(element);
+            if(species && !species->getBoundaryCondition())
+            {
+                string msg = "Cannot perform moeity conversion when floating "
+                        "species have events. The floating species, "
+                        + species->getId() + " has event " + event->getId() + ".";
+                conservedMoietyException(msg);
+            }
+
+            const SpeciesReference *ref =
+                    dynamic_cast<const SpeciesReference*>(element);
+            if(ref)
+            {
+                string msg = "Cannot perform moeity conversion with non-constant "
+                        "stoichiometry. The species reference " + ref->getId() +
+                        " which refers to species " + ref->getSpecies() + " has "
+                        "event " + event->getId() + ".";
+                conservedMoietyException(msg);
+            }
+        }
+    }
+}
+
+
+} // namespace conservation }
+
+
+
+PyConservedMoietyConverter::PyConservedMoietyConverter()
+    : doc(0)
+{
+}
+
+PyConservedMoietyConverter::~PyConservedMoietyConverter()
+{
+    delete doc;
+}
+
+int PyConservedMoietyConverter::setDocument(const std::string& fileOrPath)
+{
+    delete doc;
+    doc = 0;
+
+    std::string sbml = rr::SBMLReader::read(fileOrPath);
+
+    libsbml::SBMLReader reader;
+
+    doc = reader.readSBMLFromString(sbml);
+
+    return conv.setDocument(doc);
+}
+
+int PyConservedMoietyConverter::convert()
+{
+    return conv.convert();
+}
+
+std::string PyConservedMoietyConverter::getDocument()
+{
+    libsbml::SBMLWriter writer;
+
+    libsbml::SBMLDocument *resultDoc = conv.getDocument();
+
+    if (!resultDoc)
+    {
+        return "";
+    }
+
+    char* buffer = writer.writeToString(resultDoc);
+
+    std::string result = buffer;
+
+    delete[] buffer;
+
+    return result;
+}
+
+} // namespace rr }
diff --git a/source/conservation/ConservedMoietyConverter.h b/source/conservation/ConservedMoietyConverter.h
new file mode 100644
index 0000000..5e2c0a9
--- /dev/null
+++ b/source/conservation/ConservedMoietyConverter.h
@@ -0,0 +1,221 @@
+/*
+ * ConservedMoietyConverter.h
+ *
+ *  Created on: Oct 19, 2013
+ *      Author: andy
+ */
+
+#ifndef ConservedMoietyConverter_h
+#define ConservedMoietyConverter_h
+
+#include "rrExporter.h"
+
+#include <sbml/SBMLNamespaces.h>
+#include <sbml/conversion/SBMLConverter.h>
+#include <sbml/conversion/SBMLConverterRegister.h>
+
+
+namespace ls {
+    class LibStructural;
+}
+
+namespace rr
+{
+namespace conservation
+{
+
+
+#ifndef SWIG
+
+class RR_DECLSPEC ConservedMoietyConverter: public libsbml::SBMLConverter
+{
+public:
+
+    /**
+     * register with the ConversionRegistry
+     */
+    static void init();
+
+    /**
+     * Creates a new SBMLLevelVersionConverter object.
+     */
+    ConservedMoietyConverter();
+
+    /**
+     * Copy constructor; creates a copy of an SBMLLevelVersionConverter
+     * object.
+     *
+     * @param obj the SBMLLevelVersionConverter object to copy.
+     */
+    ConservedMoietyConverter(const ConservedMoietyConverter& obj);
+
+    virtual ~ConservedMoietyConverter();
+
+    /**
+     * Creates and returns a deep copy of this SBMLLevelVersionConverter
+     * object.
+     *
+     * @return a (deep) copy of this converter.
+     */
+    virtual libsbml::SBMLConverter* clone() const;
+
+    /**
+     * Returns @c true if this converter object's properties match the given
+     * properties.
+     *
+     * A typical use of this method involves creating a ConversionProperties
+     * object, setting the options desired, and then calling this method on
+     * an SBMLLevelVersionConverter object to find out if the object's
+     * property values match the given ones.  This method is also used by
+     * SBMLConverterRegistry::getConverterFor(@if java const ConversionProperties& props at endif)
+     * to search across all registered converters for one matching particular
+     * properties.
+     *
+     * @param props the properties to match.
+     *
+     * @return @c true if this converter's properties match, @c false
+     * otherwise.
+     */
+    virtual bool matchesProperties(
+            const libsbml::ConversionProperties &props) const;
+
+    /**
+     * Perform the conversion.
+     *
+     * This method causes the converter to do the actual conversion work,
+     * that is, to convert the SBMLDocument object set by
+     * SBMLConverter::setDocument(@if java const SBMLDocument* doc at endif) and
+     * with the configuration options set by
+     * SBMLConverter::setProperties(@if java const ConversionProperties *props at endif).
+     *
+     * @return  integer value indicating the success/failure of the operation.
+     * @if clike The value is drawn from the enumeration
+     * #OperationReturnValues_t. @endif@~ The possible values are:
+     * @li @link OperationReturnValues_t#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS @endlink
+     * @li @link OperationReturnValues_t#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT @endlink
+     * @li @link OperationReturnValues_t#LIBSBML_CONV_INVALID_SRC_DOCUMENT LIBSBML_CONV_INVALID_SRC_DOCUMENT @endlink
+     */
+    virtual int convert();
+
+    /**
+     * Returns the default properties of this converter.
+     *
+     * A given converter exposes one or more properties that can be adjusted
+     * in order to influence the behavior of the converter.  This method
+     * returns the @em default property settings for this converter.  It is
+     * meant to be called in order to discover all the settings for the
+     * converter object.
+     *
+     * @return the ConversionProperties object describing the default properties
+     * for this converter.
+     */
+    virtual libsbml::ConversionProperties getDefaultProperties() const;
+
+    /**
+     * Returns the SBML document that is the subject of the conversions.
+     *
+     * @return the current SBMLDocument object.
+     */
+    virtual libsbml::SBMLDocument* getDocument();
+
+    /**
+     * Returns the SBML document that is the subject of the conversions.
+     *
+     * @return the current SBMLDocument object, as a const reference.
+     */
+    virtual const libsbml::SBMLDocument* getDocument() const;
+
+
+    /**
+     * this converter first need to convert the doc to a l3v1 document,
+     * this returns the leve / version updated doc.
+     */
+    const libsbml::SBMLDocument *getLevelConvertedDocument() const;
+
+    /**
+     * Sets the current SBML document to the given SBMLDocument object.
+     *
+     * @param doc the document to use for this conversion.
+     *
+     * @return integer value indicating the success/failure of the operation.
+     * @if clike The value is drawn from the enumeration
+     * #OperationReturnValues_t. @endif@~ The set of possible values that may
+     * be returned ultimately depends on the specific subclass of
+     * SBMLConverter being used, but the default method can return the
+     * following values:
+     * @li @link OperationReturnValues_t#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS @endlink
+     */
+    virtual int setDocument(const libsbml::SBMLDocument* doc);
+
+
+
+private:
+
+    /**
+     * class used to calculate the L0 matrix.
+     *
+     * Will be replaced with a sparse version in next RoadRunner release.
+     */
+    ls::LibStructural *structural;
+
+    /**
+     * base class has an mDocument field, use this for the src doc
+     */
+
+    /**
+     * source model
+     */
+    libsbml::Model *mModel;
+
+    libsbml::SBMLDocument *resultDoc;
+
+    libsbml::Model *resultModel;
+};
+
+#endif // !SWIG
+
+
+} // namespace conservation
+
+
+
+/**
+ * a thin wrapper for python access. In the next release, we will
+ * use the native SWIG wrapped libsbml api.
+ *
+ * This is only for the python API and should not be used anywhere else.
+ *
+ * In the roadrunner namespace as the SWIG puts everhthing here and the
+ * generated docs are currently set up to use this namespace.
+ */
+class PyConservedMoietyConverter
+{
+public:
+    PyConservedMoietyConverter();
+
+    ~PyConservedMoietyConverter();
+
+    /**
+     * used in the python wrapper, can set a sbml string or file path.
+     */
+    int setDocument(const std::string& fileOrPath);
+
+    int convert();
+
+    std::string getDocument();
+
+private:
+    rr::conservation::ConservedMoietyConverter conv;
+
+    libsbml::SBMLDocument *doc;
+
+};
+
+
+
+
+} // namespace rr } namespace conservation }
+
+
+#endif  /* ConservedMoietyConverter_h */
+
diff --git a/source/conservation/ConservedMoietyPlugin.cpp b/source/conservation/ConservedMoietyPlugin.cpp
new file mode 100644
index 0000000..5e16791
--- /dev/null
+++ b/source/conservation/ConservedMoietyPlugin.cpp
@@ -0,0 +1,90 @@
+/*
+ * ConservedMoietyPlugin.cpp
+ *
+ *  Created on: Oct 18, 2013
+ *      Author: andy
+ */
+
+#include "conservation/ConservedMoietyPlugin.h"
+
+#include <stdexcept>
+
+
+namespace rr { namespace conservation {
+
+
+rr::conservation::ConservedMoietyPlugin::ConservedMoietyPlugin(
+        const std::string& uri, const std::string& prefix,
+        ConservationPkgNamespaces* consns)
+: libsbml::SBasePlugin(uri, prefix, consns),
+  conservedMoiety(false)
+{
+}
+
+rr::conservation::ConservedMoietyPlugin::ConservedMoietyPlugin(
+        const ConservedMoietyPlugin& orig)
+: libsbml::SBasePlugin(orig),
+  conservedMoiety(false)
+{
+}
+
+rr::conservation::ConservedMoietyPlugin::~ConservedMoietyPlugin()
+{
+}
+
+ConservedMoietyPlugin& rr::conservation::ConservedMoietyPlugin::operator =(
+        const ConservedMoietyPlugin& orig)
+{
+    return *this;
+}
+
+ConservedMoietyPlugin* rr::conservation::ConservedMoietyPlugin::clone() const
+{
+    return new ConservedMoietyPlugin(*this);
+}
+
+bool ConservedMoietyPlugin::getConservedMoiety() const
+{
+    return conservedMoiety;
+}
+
+void ConservedMoietyPlugin::setConservedMoiety(bool value)
+{
+    conservedMoiety = value;
+}
+
+}
+} // namespace rr } namespace conservation }
+
+void rr::conservation::ConservedMoietyPlugin::readAttributes(
+        const libsbml::XMLAttributes& attributes,
+        const libsbml::ExpectedAttributes& expectedAttributes)
+{
+    for (int i = 0; i < attributes.getLength(); ++i)
+    {
+        std::cout << "name: " << attributes.getName(i) << ", value: " << attributes.getValue(i) << ", uri: " << attributes.getURI(i) << std::endl;
+
+    }
+    if(attributes.hasAttribute("conservedMoiety", mURI))
+    {
+        if (!attributes.readInto("conservedMoiety", conservedMoiety))
+        {
+            std::string value = attributes.getValue("conservedMoiety");
+            throw std::invalid_argument("conservedMoiety attribute with value " + value
+                                        + " can not be converted to a boolean");
+        }
+    }
+    else
+    {
+        conservedMoiety = false;
+    }
+}
+
+void rr::conservation::ConservedMoietyPlugin::writeAttributes(
+        libsbml::XMLOutputStream& stream) const
+{
+
+    libsbml::XMLTriple triple("conservedMoiety", mURI, mPrefix);
+
+    stream.writeAttribute(triple, conservedMoiety);
+}
diff --git a/source/conservation/ConservedMoietyPlugin.h b/source/conservation/ConservedMoietyPlugin.h
new file mode 100644
index 0000000..b77f203
--- /dev/null
+++ b/source/conservation/ConservedMoietyPlugin.h
@@ -0,0 +1,82 @@
+/*
+ * ConservedMoietyPlugin.h
+ *
+ *  Created on: Oct 18, 2013
+ *      Author: andy
+ */
+
+#ifndef ConservedMoietyPlugin_H_
+#define ConservedMoietyPlugin_H_
+
+#include "rrExporter.h"
+#include "ConservationExtension.h"
+#include <sbml/extension/SBasePlugin.h>
+
+namespace rr
+{
+namespace conservation
+{
+
+class RR_DECLSPEC ConservedMoietyPlugin: public libsbml::SBasePlugin
+{
+public:
+
+    /**
+     * Constructor
+     */
+    ConservedMoietyPlugin(const std::string &uri, const std::string &prefix,
+            ConservationPkgNamespaces *consns);
+
+    /**
+     * Copy constructor. Creates a copy of this SBase object.
+     */
+    ConservedMoietyPlugin(const ConservedMoietyPlugin& orig);
+
+    /**
+     * Destroy this object.
+     */
+    virtual ~ConservedMoietyPlugin();
+
+    /**
+     * Assignment operator for ConservedMoietyPlugin.
+     */
+    ConservedMoietyPlugin& operator=(const ConservedMoietyPlugin& orig);
+
+    /**
+     * Creates and returns a deep copy of this ConservedMoietyPlugin object.
+     *
+     * @return a (deep) copy of this SBase object
+     */
+    virtual ConservedMoietyPlugin* clone() const;
+
+    bool getConservedMoiety() const;
+
+    void setConservedMoiety(bool value);
+
+    /**
+     * Subclasses must override this method to read values from the given
+     * XMLAttributes if they have their specific attributes.
+     */
+    virtual void readAttributes (const libsbml::XMLAttributes& attributes,
+                                 const libsbml::ExpectedAttributes& expectedAttributes);
+
+
+    /**
+     * Subclasses must override this method to write their XML attributes
+     * to the XMLOutputStream if they have their specific attributes.
+     */
+    virtual void writeAttributes (libsbml::XMLOutputStream& stream) const;
+
+    virtual libsbml::List* getAllElements(libsbml::ElementFilter* filter=NULL)
+    {
+        return NULL;
+    }
+
+private:
+    bool conservedMoiety;
+
+};
+
+}
+} // namespace rr } namespace conservation }
+#endif /* ConservedMoietyPlugin_H_ */
diff --git a/source/doxygen.conf b/source/doxygen.conf
new file mode 100644
index 0000000..073a483
--- /dev/null
+++ b/source/doxygen.conf
@@ -0,0 +1,2311 @@
+# Doxyfile 1.8.5
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a double hash (##) is considered a comment and is placed in
+# front of the TAG it is preceding.
+#
+# All text after a single hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists, items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (\" \").
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all text
+# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
+# for the list of possible encodings.
+# The default value is: UTF-8.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+# double-quotes, unless you are using Doxywizard) that should identify the
+# project for which the documentation is generated. This name is used in the
+# title of most generated pages and in a few other places.
+# The default value is: My Project.
+
+PROJECT_NAME           = "libRoadRunner C++ API"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+# could be handy for archiving the generated documentation or if some version
+# control system is used.
+
+PROJECT_NUMBER         = 1.3
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer a
+# quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF          =
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
+# the documentation. The maximum height of the logo should not exceed 55 pixels
+# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
+# to the output directory.
+
+PROJECT_LOGO           =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+# into which the generated documentation will be written. If a relative path is
+# entered, it will be relative to the location where doxygen was started. If
+# left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = ../../gh-pages/cpp_api_docs/
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
+# directories (in 2 levels) under the output directory of each output format and
+# will distribute the generated files over these directories. Enabling this
+# option can be useful when feeding doxygen a huge amount of source files, where
+# putting all generated files in the same directory would otherwise causes
+# performance problems for the file system.
+# The default value is: NO.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# Possible values are: Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-
+# Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto, Farsi,
+# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en,
+# Korean, Korean-en, Latvian, Norwegian, Macedonian, Persian, Polish,
+# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish,
+# Turkish, Ukrainian and Vietnamese.
+# The default value is: English.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
+# descriptions after the members that are listed in the file and class
+# documentation (similar to Javadoc). Set to NO to disable this.
+# The default value is: YES.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
+# description of a member or function before the detailed description
+#
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+# The default value is: YES.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator that is
+# used to form the text in various listings. Each string in this list, if found
+# as the leading text of the brief description, will be stripped from the text
+# and the result, after processing the whole list, is used as the annotated
+# text. Otherwise, the brief description is used as-is. If left blank, the
+# following values are used ($name is automatically replaced with the name of
+# the entity):The $name class, The $name widget, The $name file, is, provides,
+# specifies, contains, represents, a, an and the.
+
+ABBREVIATE_BRIEF       =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# doxygen will generate a detailed section even if there is only a brief
+# description.
+# The default value is: NO.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+# The default value is: NO.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
+# before files name in the file list and in the header files. If set to NO the
+# shortest path that makes the file name unique will be used
+# The default value is: YES.
+
+FULL_PATH_NAMES        = YES
+
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+# Stripping is only done if one of the specified strings matches the left-hand
+# part of the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the path to
+# strip.
+#
+# Note that you can specify absolute paths here, but also relative paths, which
+# will be relative from the directory where doxygen is started.
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
+STRIP_FROM_PATH        =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+# path mentioned in the documentation of a class, which tells the reader which
+# header file to include in order to use a class. If left blank only the name of
+# the header file containing the class definition is used. Otherwise one should
+# specify the list of include paths that are normally passed to the compiler
+# using the -I flag.
+
+STRIP_FROM_INC_PATH    =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+# less readable) file names. This can be useful is your file systems doesn't
+# support long names like on DOS, Mac, or CD-ROM.
+# The default value is: NO.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+# first line (until the first dot) of a Javadoc-style comment as the brief
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
+# style comments (thus requiring an explicit @brief command for a brief
+# description.)
+# The default value is: NO.
+
+JAVADOC_AUTOBRIEF      = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+# line (until the first dot) of a Qt-style comment as the brief description. If
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+# requiring an explicit \brief command for a brief description.)
+# The default value is: NO.
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
+# a brief description. This used to be the default behavior. The new default is
+# to treat a multi-line C++ comment block as a detailed description. Set this
+# tag to YES if you prefer the old behavior instead.
+#
+# Note that setting this tag to YES also means that rational rose comments are
+# not recognized any more.
+# The default value is: NO.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+# documentation from any documented member that it re-implements.
+# The default value is: YES.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
+# new page for each member. If set to NO, the documentation of a member will be
+# part of the file/class/namespace that contains it.
+# The default value is: NO.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+# uses this value to replace tabs by spaces in code fragments.
+# Minimum value: 1, maximum value: 16, default value: 4.
+
+TAB_SIZE               = 4
+
+# This tag can be used to specify a number of aliases that act as commands in
+# the documentation. An alias has the form:
+# name=value
+# For example adding
+# "sideeffect=@par Side Effects:\n"
+# will allow you to put the command \sideeffect (or @sideeffect) in the
+# documentation, which will result in a user-defined paragraph with heading
+# "Side Effects:". You can put \n's in the value part of an alias to insert
+# newlines.
+
+ALIASES                =
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding "class=itcl::class"
+# will allow you to use the command class in the itcl::class meaning.
+
+TCL_SUBST              =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C. For
+# instance, some of the names that are used will be different. The list of all
+# members will be omitted, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+# Python sources only. Doxygen will then generate output that is more tailored
+# for that language. For instance, namespaces will be presented as packages,
+# qualified scopes will look different, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources. Doxygen will then generate output that is tailored for Fortran.
+# The default value is: NO.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for VHDL.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given
+# extension. Doxygen has a built-in mapping, but you can override or extend it
+# using this tag. The format is ext=language, where ext is a file extension, and
+# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make
+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+# (default is Fortran), use: inc=Fortran f=C.
+#
+# Note For files without extension you can use no_extension as a placeholder.
+#
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+# the files are not read by doxygen.
+
+EXTENSION_MAPPING      =
+
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+# according to the Markdown format, which allows for more readable
+# documentation. See http://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you can
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+# case of backward compatibilities issues.
+# The default value is: YES.
+
+MARKDOWN_SUPPORT       = YES
+
+# When enabled doxygen tries to link words that correspond to documented
+# classes, or namespaces to their corresponding documentation. Such a link can
+# be prevented in individual cases by by putting a % sign in front of the word
+# or globally by setting AUTOLINK_SUPPORT to NO.
+# The default value is: YES.
+
+AUTOLINK_SUPPORT       = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should set this
+# tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string);
+# versus func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+# The default value is: NO.
+
+BUILTIN_STL_SUPPORT    = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+# The default value is: NO.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
+# will parse them like normal C++ but will assume all classes use public instead
+# of private inheritance when no explicit protection keyword is present.
+# The default value is: NO.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES will make
+# doxygen to replace the get and set methods by a property in the documentation.
+# This will only work if the methods are indeed getting or setting a simple
+# type. If this is not the case, or you want to show the methods anyway, you
+# should set this option to NO.
+# The default value is: YES.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+# The default value is: NO.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
+# (for instance a group of public functions) to be put as a subgroup of that
+# type (e.g. under the Public Functions section). Set it to NO to prevent
+# subgrouping. Alternatively, this can be done per class using the
+# \nosubgrouping command.
+# The default value is: YES.
+
+SUBGROUPING            = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+# are shown inside the group in which they are included (e.g. using \ingroup)
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+# and RTF).
+#
+# Note that this feature does not work in combination with
+# SEPARATE_MEMBER_PAGES.
+# The default value is: NO.
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+# with only public data fields or simple typedef fields will be shown inline in
+# the documentation of the scope in which they are defined (i.e. file,
+# namespace, or group documentation), provided this scope is documented. If set
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
+# Man pages) or section (for LaTeX and RTF).
+# The default value is: NO.
+
+INLINE_SIMPLE_STRUCTS  = NO
+
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+# enum is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically be
+# useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+# The default value is: NO.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+# cache is used to resolve symbols given their name and scope. Since this can be
+# an expensive process and often the same symbol appears multiple times in the
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+# doxygen will become slower. If the cache is too large, memory is wasted. The
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+# symbols. At the end of a run doxygen will report the cache usage and suggest
+# the optimal cache size from a speed point of view.
+# Minimum value: 0, maximum value: 9, default value: 0.
+
+LOOKUP_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available. Private
+# class members and static file members will be hidden unless the
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+# Note: This will also disable the warnings about undocumented members that are
+# normally produced when WARNINGS is set to YES.
+# The default value is: NO.
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
+# be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
+# scope will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PACKAGE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
+# included in the documentation.
+# The default value is: NO.
+
+EXTRACT_STATIC         = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO
+# only classes defined in header files are included. Does not have any effect
+# for Java sources.
+# The default value is: YES.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local methods,
+# which are defined in the implementation section but not in the interface are
+# included in the documentation. If set to NO only methods in the interface are
+# included.
+# The default value is: NO.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
+# the file that contains the anonymous namespace. By default anonymous namespace
+# are hidden.
+# The default value is: NO.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+# undocumented members inside documented classes or files. If set to NO these
+# members will be included in the various overviews, but no documentation
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_MEMBERS     = YES
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy. If set
+# to NO these classes will be included in the various overviews. This option has
+# no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_CLASSES     = YES
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+# (class|struct|union) declarations. If set to NO these declarations will be
+# included in the documentation.
+# The default value is: NO.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+# documentation blocks found inside the body of a function. If set to NO these
+# blocks will be appended to the function's detailed documentation block.
+# The default value is: NO.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
+# \internal command is included. If the tag is set to NO then the documentation
+# will be excluded. Set it to YES to include the internal documentation.
+# The default value is: NO.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+# names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+# The default value is: system dependent.
+
+CASE_SENSE_NAMES       = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+# their full class and namespace scopes in the documentation. If set to YES the
+# scope will be hidden.
+# The default value is: NO.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+# the files that are included by a file in the documentation of that file.
+# The default value is: YES.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+# files with double quotes in the documentation rather than with sharp brackets.
+# The default value is: NO.
+
+FORCE_LOCAL_INCLUDES   = NO
+
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+# documentation for inline members.
+# The default value is: YES.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+# (detailed) documentation of file and class members alphabetically by member
+# name. If set to NO the members will appear in declaration order.
+# The default value is: YES.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+# descriptions of file, namespace and class members alphabetically by member
+# name. If set to NO the members will appear in declaration order.
+# The default value is: NO.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+# (brief and detailed) documentation of class members so that constructors and
+# destructors are listed first. If set to NO the constructors will appear in the
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+# member documentation.
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+# detailed member documentation.
+# The default value is: NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+# of group names into alphabetical order. If set to NO the group names will
+# appear in their defined order.
+# The default value is: NO.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+# fully-qualified names, including namespaces. If set to NO, the class list will
+# be sorted only by class name, not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the alphabetical
+# list.
+# The default value is: NO.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+# type resolution of all parameters of a function it will reject a match between
+# the prototype and the implementation of a member function even if there is
+# only one candidate or it is obvious which candidate to choose by doing a
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+# accept a match between prototype and implementation in such cases.
+# The default value is: NO.
+
+STRICT_PROTO_MATCHING  = NO
+
+# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
+# todo list. This list is created by putting \todo commands in the
+# documentation.
+# The default value is: YES.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
+# test list. This list is created by putting \test commands in the
+# documentation.
+# The default value is: YES.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
+# list. This list is created by putting \bug commands in the documentation.
+# The default value is: YES.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
+# the deprecated list. This list is created by putting \deprecated commands in
+# the documentation.
+# The default value is: YES.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
+# sections, marked by \if <section_label> ... \endif and \cond <section_label>
+# ... \endcond blocks.
+
+ENABLED_SECTIONS       =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+# initial value of a variable or macro / define can have for it to appear in the
+# documentation. If the initializer consists of more lines than specified here
+# it will be hidden. Use a value of 0 to hide initializers completely. The
+# appearance of the value of individual variables and macros / defines can be
+# controlled using \showinitializer or \hideinitializer command in the
+# documentation regardless of this setting.
+# Minimum value: 0, maximum value: 10000, default value: 30.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+# the bottom of the documentation of classes and structs. If set to YES the list
+# will mention the files that were used to generate the documentation.
+# The default value is: YES.
+
+SHOW_USED_FILES        = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+# will remove the Files entry from the Quick Index and from the Folder Tree View
+# (if specified).
+# The default value is: YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+# page. This will remove the Namespaces entry from the Quick Index and from the
+# Folder Tree View (if specified).
+# The default value is: YES.
+
+SHOW_NAMESPACES        = NO
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command command input-file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# by doxygen. Whatever the program writes to standard output is used as the file
+# version. For an example see the documentation.
+
+FILE_VERSION_FILTER    =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. To create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option. You can
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
+# will be used as the name of the layout file.
+#
+# Note that if you run doxygen from a directory containing a file called
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+# tag is left empty.
+
+LAYOUT_FILE            =
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+# the reference definitions. This must be a list of .bib files. The .bib
+# extension is automatically appended if omitted. This requires the bibtex tool
+# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
+# For LaTeX the style of the bibliography can be controlled using
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+# search path. Do not use file names with spaces, bibtex cannot handle them. See
+# also \cite for info how to create references.
+
+CITE_BIB_FILES         =
+
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated to
+# standard output by doxygen. If QUIET is set to YES this implies that the
+# messages are off.
+# The default value is: NO.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
+# this implies that the warnings are on.
+#
+# Tip: Turn warnings on while writing the documentation.
+# The default value is: YES.
+
+WARNINGS               = YES
+
+# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: YES.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some parameters
+# in a documented function, or documenting parameters that don't exist or using
+# markup commands wrongly.
+# The default value is: YES.
+
+WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+# are documented, but have no documentation for their parameters or return
+# value. If set to NO doxygen will only warn about wrong or incomplete parameter
+# documentation, but not about the absence of documentation.
+# The default value is: NO.
+
+WARN_NO_PARAMDOC       = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
+# can produce. The string should contain the $file, $line, and $text tags, which
+# will be replaced by the file and line number from which the warning originated
+# and the warning text. Optionally the format may contain $version, which will
+# be replaced by the version of the file (if it could be obtained via
+# FILE_VERSION_FILTER)
+# The default value is: $file:$line: $text.
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
+# messages should be written. If left blank the output is written to standard
+# error (stderr).
+
+WARN_LOGFILE           =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag is used to specify the files and/or directories that contain
+# documented source files. You may enter file names like myfile.cpp or
+# directories like /usr/src/myproject. Separate the files or directories with
+# spaces.
+# Note: If this tag is empty the current directory is searched.
+
+INPUT                  = ./ ./llvm
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+# documentation (see: http://www.gnu.org/software/libiconv) for the list of
+# possible encodings.
+# The default value is: UTF-8.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank the
+# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
+# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
+# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
+# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
+# *.qsf, *.as and *.js.
+
+FILE_PATTERNS          =
+
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
+# be searched for input files as well.
+# The default value is: NO.
+
+RECURSIVE              = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+#
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE                = msc_stdint.h	\
+                         rr_pch.h	\
+                         rrConstants.h \
+                         rrData.h	\
+                         rrException.h	\
+                         rrExporter.h	\
+                         rrFileName.h	\
+                         rrGetOptions.h	\
+                         rrIniFile.h	\
+                         ./rrIniKey.h	\
+                         ./rrIniSection.h	\
+                         ./rrLogger.h	\
+                         ./rrNLEQInterface.h	\
+                         ./rrNoise.h	\
+                         ./rrOSSpecifics.h	\
+                         ./rrParameterType.h	\
+                         ./rrRandom.h	\
+                         ./rrRoadRunnerData.h	\
+                         ./rrRoadRunnerList.h	\
+                         ./rrSBMLModelSimulation.h	\
+                         ./rrSBMLReader.h	\
+                         ./rrSparse.h	\
+                         ./rrSteadyStateSolver.h	\
+                         ./rrTestSuiteModelSimulation.h	\
+                         ./rrUtils.h	\
+                         ./rrStringUtils.h \
+                         ./rrVariableType.h	\
+                         ./rrVersionInfo.h \
+                         ./rrConfig.cpp  \
+                         ./GillespieIntegrator.h \
+                         ./rrRoadRunner.cpp
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+# The default value is: NO.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories use the pattern */test/*
+
+EXCLUDE_SYMBOLS        = rr::aFinalizer \
+                       rr::sort_pred
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
+# that contain example code fragments that are included (see the \include
+# command).
+
+EXAMPLE_PATH           = .
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank all
+# files are included.
+
+EXAMPLE_PATTERNS       =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude commands
+# irrespective of the value of the RECURSIVE tag.
+# The default value is: NO.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or directories
+# that contain images that are to be included in the documentation (see the
+# \image command).
+
+IMAGE_PATH             =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command:
+#
+# <filter> <input-file>
+#
+# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
+# name of an input file. Doxygen will then use the output that the filter
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
+# will be ignored.
+#
+# Note that the filter must not add or remove lines; it is applied before the
+# code is scanned, but not when the output code is generated. If lines are added
+# or removed, the anchors will not be placed correctly.
+
+INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form: pattern=filter
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+# patterns match the file name, INPUT_FILTER is applied.
+
+FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER ) will also be used to filter the input files that are used for
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# The default value is: NO.
+
+FILTER_SOURCE_FILES    = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+# it is also possible to disable source filtering for a specific pattern using
+# *.ext= (so without naming a filter).
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
+
+FILTER_SOURCE_PATTERNS =
+
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page
+# (index.html). This can be useful if you have a project on for instance GitHub
+# and want to reuse the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+# generated. Documented entities will be cross-referenced with these sources.
+#
+# Note: To get rid of all source code in the generated output, make sure that
+# also VERBATIM_HEADERS is set to NO.
+# The default value is: NO.
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
+# classes and enums directly into the documentation.
+# The default value is: NO.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+# special comment blocks from generated source code fragments. Normal C, C++ and
+# Fortran comments will always remain visible.
+# The default value is: YES.
+
+STRIP_CODE_COMMENTS    = NO
+
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+# function all documented functions referencing it will be listed.
+# The default value is: NO.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
+# all documented entities called/used by that function will be listed.
+# The default value is: NO.
+
+REFERENCES_RELATION    = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+# to YES, then the hyperlinks from functions in REFERENCES_RELATION and
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+# link to the documentation.
+# The default value is: YES.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+# source code will show a tooltip with additional information such as prototype,
+# brief description and links to the definition and documentation. Since this
+# will make the HTML file larger and loading of large files a bit slower, you
+# can opt to disable this feature.
+# The default value is: YES.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+SOURCE_TOOLTIPS        = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code will
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
+# source browser. The htags tool is part of GNU's global source tagging system
+# (see http://www.gnu.org/software/global/global.html). You will need version
+# 4.8.6 or higher.
+#
+# To use it do the following:
+# - Install the latest version of global
+# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+# - Make sure the INPUT points to the root of the source tree
+# - Run doxygen as normal
+#
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
+# tools must be available from the command line (i.e. in the search path).
+#
+# The result: instead of the source browser generated by doxygen, the links to
+# source code will now point to the output of htags.
+# The default value is: NO.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+# verbatim copy of the header file for each class for which an include is
+# specified. Set to NO to disable this.
+# See also: Section \class.
+# The default value is: YES.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+# compounds will be generated. Enable this if the project contains a lot of
+# classes, structs, unions or interfaces.
+# The default value is: YES.
+
+ALPHABETICAL_INDEX     = YES
+
+# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+# which the alphabetical index list will be split.
+# Minimum value: 1, maximum value: 20, default value: 5.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all classes will
+# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+# can be used to specify a prefix (or a list of prefixes) that should be ignored
+# while generating the index headers.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+IGNORE_PREFIX          =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
+# The default value is: YES.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_OUTPUT            = ./
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+# generated HTML page (for example: .htm, .php, .asp).
+# The default value is: .html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+# each generated HTML page. If the tag is left blank doxygen will generate a
+# standard header.
+#
+# To get valid HTML the header file that includes any scripts and style sheets
+# that doxygen needs, which is dependent on the configuration options used (e.g.
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+# default header using
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
+# YourConfigFile
+# and then modify the file new_header.html. See also section "Doxygen usage"
+# for information on how to generate the default header that doxygen normally
+# uses.
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. For a description
+# of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_HEADER            =
+
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+# generated HTML page. If the tag is left blank doxygen will generate a standard
+# footer. See HTML_HEADER for more information on how to generate a default
+# footer and what special commands can be used inside the footer. See also
+# section "Doxygen usage" for information on how to generate the default footer
+# that doxygen normally uses.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FOOTER            =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
+# the HTML output. If left blank doxygen will generate a default style sheet.
+# See also section "Doxygen usage" for information on how to generate the style
+# sheet that doxygen normally uses.
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
+# obsolete.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_STYLESHEET        =
+
+# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user-
+# defined cascading style sheet that is included after the standard style sheets
+# created by doxygen. Using this option one can overrule certain style aspects.
+# This is preferred over using HTML_STYLESHEET since it does not replace the
+# standard style sheet and is therefor more robust against future updates.
+# Doxygen will copy the style sheet file to the output directory. For an example
+# see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_STYLESHEET  =
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+# files will be copied as-is; there are no commands or markers available.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_FILES       =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+# will adjust the colors in the stylesheet and background images according to
+# this color. Hue is specified as an angle on a colorwheel, see
+# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+# purple, and 360 is red again.
+# Minimum value: 0, maximum value: 359, default value: 220.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_HUE    = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+# in the HTML output. For a value of 0 the output will use grayscales only. A
+# value of 255 will produce the most vivid colors.
+# Minimum value: 0, maximum value: 255, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_SAT    = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+# luminance component of the colors in the HTML output. Values below 100
+# gradually make the output lighter, whereas values above 100 make the output
+# darker. The value divided by 100 is the actual gamma applied, so 80 represents
+# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+# change the gamma.
+# Minimum value: 40, maximum value: 240, default value: 80.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_GAMMA  = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting this
+# to NO can help when comparing the output of multiple runs.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_TIMESTAMP         = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+# shown in the various tree structured indices initially; the user can expand
+# and collapse entries dynamically later on. Doxygen will expand the tree to
+# such a level that at most the specified number of entries are visible (unless
+# a fully collapsed tree already exceeds this amount). So setting the number of
+# entries 1 will produce a full collapsed tree by default. 0 is a special value
+# representing an infinite number of entries and will result in a full expanded
+# tree by default.
+# Minimum value: 0, maximum value: 9999, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_INDEX_NUM_ENTRIES = 100
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files will be
+# generated that can be used as input for Apple's Xcode 3 integrated development
+# environment (see: http://developer.apple.com/tools/xcode/), introduced with
+# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+# Makefile in the HTML output directory. Running make will produce the docset in
+# that directory and running make install will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_DOCSET        = NO
+
+# This tag determines the name of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# The default value is: Doxygen generated docs.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# This tag specifies a string that should uniquely identify the documentation
+# set bundle. This should be a reverse domain-name style string, e.g.
+# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+# The default value is: org.doxygen.Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+
+# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+# The default value is: Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_NAME  = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+# Windows.
+#
+# The HTML Help Workshop contains a compiler that can convert all HTML output
+# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+# files are now used as the Windows 98 help format, and will replace the old
+# Windows help format (.hlp) on all Windows platforms in the future. Compressed
+# HTML files also contain an index, a table of contents, and you can search for
+# words in the documentation. The HTML workshop also contains a viewer for
+# compressed HTML files.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_HTMLHELP      = NO
+
+# The CHM_FILE tag can be used to specify the file name of the resulting .chm
+# file. You can add a path in front of the file if the result should not be
+# written to the html output directory.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_FILE               =
+
+# The HHC_LOCATION tag can be used to specify the location (absolute path
+# including file name) of the HTML help compiler ( hhc.exe). If non-empty
+# doxygen will try to run the HTML help compiler on the generated index.hhp.
+# The file has to be specified with full path.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+HHC_LOCATION           =
+
+# The GENERATE_CHI flag controls if a separate .chi index file is generated (
+# YES) or that it should be included in the master .chm file ( NO).
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+GENERATE_CHI           = NO
+
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
+# and project file content.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_INDEX_ENCODING     =
+
+# The BINARY_TOC flag controls whether a binary table of contents is generated (
+# YES) or a normal table of contents ( NO) in the .chm file.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members to
+# the table of contents of the HTML help documentation and to the tree view.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+# (.qch) of the generated HTML documentation.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+# the file name of the resulting .qch file. The path specified is relative to
+# the HTML output folder.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QCH_FILE               =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+# Project output. For more information please see Qt Help Project / Namespace
+# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_NAMESPACE          = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+# Help Project output. For more information please see Qt Help Project / Virtual
+# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
+# folders).
+# The default value is: doc.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+# filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_NAME   =
+
+# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_ATTRS  =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's filter section matches. Qt Help Project / Filter Attributes (see:
+# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_SECT_FILTER_ATTRS  =
+
+# The QHG_LOCATION tag can be used to specify the location of Qt's
+# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+# generated .qhp file.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHG_LOCATION           =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+# generated, together with the HTML files, they form an Eclipse help plugin. To
+# install this plugin and make it available under the help contents menu in
+# Eclipse, the contents of the directory containing the HTML and XML files needs
+# to be copied into the plugins directory of eclipse. The name of the directory
+# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+# After copying Eclipse needs to be restarted before the help appears.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_ECLIPSEHELP   = NO
+
+# A unique identifier for the Eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have this
+# name. Each documentation set should have its own identifier.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
+
+ECLIPSE_DOC_ID         = org.doxygen.Project
+
+# If you want full control over the layout of the generated HTML pages it might
+# be necessary to disable the index and replace it with your own. The
+# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+# of each HTML page. A value of NO enables the index and the value YES disables
+# it. Since the tabs in the index contain the same information as the navigation
+# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+DISABLE_INDEX          = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information. If the tag
+# value is set to YES, a side panel will be generated containing a tree-like
+# index structure (just like the one that is generated for HTML Help). For this
+# to work a browser that supports JavaScript, DHTML, CSS and frames is required
+# (i.e. any modern browser). Windows users are probably better off using the
+# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
+# further fine-tune the look of the index. As an example, the default style
+# sheet generated by doxygen has an example that shows how to put an image at
+# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+# the same information as the tab index, you could consider setting
+# DISABLE_INDEX to YES when enabling this option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_TREEVIEW      = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+# doxygen will group on one line in the generated HTML documentation.
+#
+# Note that a value of 0 will completely suppress the enum values from appearing
+# in the overview section.
+# Minimum value: 0, maximum value: 20, default value: 4.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+# to set the initial width (in pixels) of the frame in which the tree is shown.
+# Minimum value: 0, maximum value: 1500, default value: 250.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+TREEVIEW_WIDTH         = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
+# external symbols imported via tag files in a separate window.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+EXT_LINKS_IN_WINDOW    = NO
+
+# Use this tag to change the font size of LaTeX formulas included as images in
+# the HTML documentation. When you change the font size after a successful
+# doxygen run you need to manually remove any form_*.png images from the HTML
+# output directory to force them to be regenerated.
+# Minimum value: 8, maximum value: 50, default value: 10.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_FONTSIZE       = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are not
+# supported properly for IE 6.0, but are supported on all modern browsers.
+#
+# Note that when changing this option you need to delete any form_*.png files in
+# the HTML output directory before the changes have effect.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_TRANSPARENT    = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+# http://www.mathjax.org) which uses client side Javascript for the rendering
+# instead of using prerendered bitmaps. Use this if you do not have LaTeX
+# installed or if you want to formulas look prettier in the HTML output. When
+# enabled you may also need to install MathJax separately and configure the path
+# to it using the MATHJAX_RELPATH option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+USE_MATHJAX            = NO
+
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. See the MathJax site (see:
+# http://docs.mathjax.org/en/latest/output.html) for more details.
+# Possible values are: HTML-CSS (which is slower, but has the best
+# compatibility), NativeMML (i.e. MathML) and SVG.
+# The default value is: HTML-CSS.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_FORMAT         = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the HTML
+# output directory using the MATHJAX_RELPATH option. The destination directory
+# should contain the MathJax.js script. For instance, if the mathjax directory
+# is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+# Content Delivery Network so you can quickly see the result without installing
+# MathJax. However, it is strongly recommended to install a local copy of
+# MathJax from http://www.mathjax.org before deployment.
+# The default value is: http://cdn.mathjax.org/mathjax/latest.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+# extension names that should be enabled during MathJax rendering. For example
+# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_EXTENSIONS     =
+
+# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+# of code that will be used on startup of the MathJax code. See the MathJax site
+# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+# example see the documentation.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_CODEFILE       =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+# the HTML output. The underlying search engine uses javascript and DHTML and
+# should work on any modern browser. Note that when using HTML help
+# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+# there is already a search function so this one should typically be disabled.
+# For large projects the javascript based search engine can be slow, then
+# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+# search using the keyboard; to jump to the search box use <access key> + S
+# (what the <access key> is depends on the OS and browser, but it is typically
+# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
+# key> to jump into the search results window, the results can be navigated
+# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
+# the search. The filter options can be selected when the cursor is inside the
+# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
+# to select a filter and <Enter> or <escape> to activate or cancel the filter
+# option.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+SEARCHENGINE           = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a web server instead of a web client using Javascript. There
+# are two flavours of web server based searching depending on the
+# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for
+# searching and an index file used by the script. When EXTERNAL_SEARCH is
+# enabled the indexing and searching needs to be provided by external tools. See
+# the section "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SERVER_BASED_SEARCH    = NO
+
+# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
+# script for searching. Instead the search results are written to an XML file
+# which needs to be processed by an external indexer. Doxygen will invoke an
+# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+# search results.
+#
+# Doxygen ships with an example indexer ( doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/).
+#
+# See the section "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH        = NO
+
+# The SEARCHENGINE_URL should point to a search engine hosted by a web server
+# which will return the search results when EXTERNAL_SEARCH is enabled.
+#
+# Doxygen ships with an example indexer ( doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/). See the section "External Indexing and
+# Searching" for details.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHENGINE_URL       =
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+# search data is written to a file for indexing by an external tool. With the
+# SEARCHDATA_FILE tag the name of this file can be specified.
+# The default file is: searchdata.xml.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHDATA_FILE        = searchdata.xml
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
+# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+# projects and redirect the results back to the right project.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH_ID     =
+
+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+# projects other than the one defined by this configuration file, but that are
+# all added to the same external search index. Each project needs to have a
+# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
+# to a relative location where the documentation can be found. The format is:
+# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTRA_SEARCH_MAPPINGS  =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
+# The default value is: YES.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked.
+#
+# Note that when enabling USE_PDFLATEX this option is only used for generating
+# bitmaps for formulas in the HTML output, but not in the Makefile that is
+# written to the output directory.
+# The default file is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+# index for LaTeX.
+# The default file is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used by the
+# printer.
+# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
+# 14 inches) and executive (7.25 x 10.5 inches).
+# The default value is: a4.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PAPER_TYPE             = a4
+
+# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+# that should be included in the LaTeX output. To get the times font for
+# instance you can specify
+# EXTRA_PACKAGES=times
+# If left blank no extra packages will be included.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+EXTRA_PACKAGES         =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
+# generated LaTeX document. The header should contain everything until the first
+# chapter. If it is left blank doxygen will generate a standard header. See
+# section "Doxygen usage" for information on how to let doxygen write the
+# default header to a separate file.
+#
+# Note: Only use a user-defined header if you know what you are doing! The
+# following commands have a special meaning inside the header: $title,
+# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will
+# replace them by respectively the title of the page, the current date and time,
+# only the current date, the version number of doxygen, the project name (see
+# PROJECT_NAME), or the project number (see PROJECT_NUMBER).
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HEADER           =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
+# generated LaTeX document. The footer should contain everything after the last
+# chapter. If it is left blank doxygen will generate a standard footer.
+#
+# Note: Only use a user-defined footer if you know what you are doing!
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_FOOTER           =
+
+# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the LATEX_OUTPUT output
+# directory. Note that the files will be copied as-is; there are no commands or
+# markers available.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_FILES      =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
+# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
+# contain links (just like the HTML output) instead of page references. This
+# makes the output suitable for online browsing using a PDF viewer.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PDF_HYPERLINKS         = YES
+
+# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+# the PDF file directly from the LaTeX files. Set this option to YES to get a
+# higher quality PDF documentation.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+# command to the generated LaTeX files. This will instruct LaTeX to keep running
+# if errors occur, instead of asking the user for help. This option is also used
+# when generating formulas in HTML.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BATCHMODE        = NO
+
+# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
+# index chapters (such as File Index, Compound Index, etc.) in the output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HIDE_INDICES     = NO
+
+# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
+# code with syntax highlighting in the LaTeX output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_SOURCE_CODE      = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. See
+# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+# The default value is: plain.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BIB_STYLE        = plain
+
+#---------------------------------------------------------------------------
+# Configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
+# RTF output is optimized for Word 97 and may not look too pretty with other RTF
+# readers/editors.
+# The default value is: NO.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: rtf.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
+# contain hyperlink fields. The RTF file will contain links (just like the HTML
+# output) instead of page references. This makes the output suitable for online
+# browsing using Word or some other Word compatible readers that support those
+# fields.
+#
+# Note: WordPad (write) and others do not support links.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's config
+# file, i.e. a series of assignments. You only have to provide replacements,
+# missing definitions are set to their default value.
+#
+# See also section "Doxygen usage" for information on how to generate the
+# default style sheet that doxygen normally uses.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an RTF document. Syntax is
+# similar to doxygen's config file. A template extensions file can be generated
+# using doxygen -e rtf extensionFile.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_EXTENSIONS_FILE    =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
+# classes and files.
+# The default value is: NO.
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it. A directory man3 will be created inside the directory specified by
+# MAN_OUTPUT.
+# The default directory is: man.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to the generated
+# man pages. In case the manual section does not start with a number, the number
+# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
+# optional.
+# The default value is: .3.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+# will generate one additional man file for each entity documented in the real
+# man page(s). These additional files only source the real man page, but without
+# them the man command would be unable to find the correct page.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
+# captures the structure of the code including all documentation.
+# The default value is: NO.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: xml.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a
+# validating XML parser to check the syntax of the XML files.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_SCHEMA             =
+
+# The XML_DTD tag can be used to specify a XML DTD, which can be used by a
+# validating XML parser to check the syntax of the XML files.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_DTD                =
+
+# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
+# listings (including syntax highlighting and cross-referencing information) to
+# the XML output. Note that enabling this will significantly increase the size
+# of the XML output.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
+# that can be used to generate PDF.
+# The default value is: NO.
+
+GENERATE_DOCBOOK       = NO
+
+# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
+# front of it.
+# The default directory is: docbook.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_OUTPUT         = docbook
+
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
+# Definitions (see http://autogen.sf.net) file that captures the structure of
+# the code including all documentation. Note that this feature is still
+# experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
+# file that captures the structure of the code including all documentation.
+#
+# Note that this feature is still experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
+# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+# output from the Perl module output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
+# formatted so it can be parsed by a human reader. This is useful if you want to
+# understand what is going on. On the other hand, if this tag is set to NO the
+# size of the Perl module output will be much smaller and Perl will parse it
+# just the same.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file are
+# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
+# so different doxyrules.make files included by the same Makefile don't
+# overwrite each other's variables.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
+# C-preprocessor directives found in the sources and include files.
+# The default value is: YES.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
+# in the source code. If set to NO only conditional compilation will be
+# performed. Macro expansion can be done in a controlled way by setting
+# EXPAND_ONLY_PREDEF to YES.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
+# the macro expansion is limited to the macros specified with the PREDEFINED and
+# EXPAND_AS_DEFINED tags.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES the includes files in the
+# INCLUDE_PATH will be searched if a #include is found.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by the
+# preprocessor.
+# This tag requires that the tag SEARCH_INCLUDES is set to YES.
+
+INCLUDE_PATH           =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will be
+# used.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that are
+# defined before the preprocessor is started (similar to the -D option of e.g.
+# gcc). The argument of the tag is a list of macros of the form: name or
+# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
+# is assumed. To prevent a macro definition from being undefined via #undef or
+# recursively expanded use the := operator instead of the = operator.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+PREDEFINED             =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
+# tag can be used to specify a list of macro names that should be expanded. The
+# macro definition that is found in the sources will be used. Use the PREDEFINED
+# tag if you want to use a different macro definition that overrules the
+# definition found in the source code.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_AS_DEFINED      =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+# remove all refrences to function-like macros that are alone on a line, have an
+# all uppercase name, and do not end with a semicolon. Such function macros are
+# typically used for boiler-plate code, and will confuse the parser if not
+# removed.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tag files. For each tag
+# file the location of the external documentation should be added. The format of
+# a tag file without this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where loc1 and loc2 can be relative or absolute paths or URLs. See the
+# section "Linking to external documentation" for more information about the use
+# of tag files.
+# Note: Each tag file must have an unique name (where the name does NOT include
+# the path). If a tag file is not located in the directory in which doxygen is
+# run, you must also specify the path to the tagfile here.
+
+TAGFILES               =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
+# tag file that is based on the input files it reads. See section "Linking to
+# external documentation" for more information about the usage of tag files.
+
+GENERATE_TAGFILE       =
+
+# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
+# class index. If set to NO only the inherited external classes will be listed.
+# The default value is: NO.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
+# the modules index. If set to NO, only the current project's groups will be
+# listed.
+# The default value is: YES.
+
+EXTERNAL_GROUPS        = YES
+
+# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
+# the related pages index. If set to NO, only the current project's pages will
+# be listed.
+# The default value is: YES.
+
+EXTERNAL_PAGES         = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of 'which perl').
+# The default file (with absolute path) is: /usr/bin/perl.
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
+# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+# NO turns the diagrams off. Note that this option also works with HAVE_DOT
+# disabled, but it is recommended to install and use dot, since it yields more
+# powerful graphs.
+# The default value is: YES.
+
+CLASS_DIAGRAMS         = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see:
+# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH            =
+
+# If set to YES, the inheritance and collaboration graphs will hide inheritance
+# and usage relations if the target is undocumented or is not a class.
+# The default value is: YES.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz (see:
+# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+# Bell Labs. The other options in this section have no effect if this option is
+# set to NO
+# The default value is: NO.
+
+HAVE_DOT               = NO
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
+# to run in parallel. When set to 0 doxygen will base this on the number of
+# processors available in the system. You can set it explicitly to a value
+# larger than 0 to get control over the balance between CPU load and processing
+# speed.
+# Minimum value: 0, maximum value: 32, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_NUM_THREADS        = 0
+
+# When you want a differently looking font n the dot files that doxygen
+# generates you can specify the font name using DOT_FONTNAME. You need to make
+# sure dot is able to find the font, which can be done by putting it in a
+# standard location or by setting the DOTFONTPATH environment variable or by
+# setting DOT_FONTPATH to the directory containing the font.
+# The default value is: Helvetica.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTNAME           = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
+# dot graphs.
+# Minimum value: 4, maximum value: 24, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the default font as specified with
+# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
+# the path where dot can find it using this tag.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTPATH           =
+
+# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+# each documented class showing the direct and indirect inheritance relations.
+# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+# graph for each documented class showing the direct and indirect implementation
+# dependencies (inheritance, containment, and class references variables) of the
+# class with other documented classes.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+# groups, showing the direct groups dependencies.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LOOK               = NO
+
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
+# class node. If there are many fields or methods and many nodes the graph may
+# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
+# number of items for each type to make the size more manageable. Set this to 0
+# for no limit. Note that the threshold may be exceeded by 50% before the limit
+# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
+# but if the number exceeds 15, the total amount of fields shown is limited to
+# 10.
+# Minimum value: 0, maximum value: 100, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LIMIT_NUM_FIELDS   = 10
+
+# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+# collaboration graphs will show the relations between templates and their
+# instances.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
+# YES then doxygen will generate a graph for each documented file showing the
+# direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDE_GRAPH          = YES
+
+# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
+# set to YES then doxygen will generate a graph for each documented file showing
+# the direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable caller graphs for selected
+# functions only using the \callergraph command.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
+# hierarchy of all classes instead of a textual one.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
+# dependencies a directory has on other directories in a graphical way. The
+# dependency relations are determined by the #include relations between the
+# files in the directories.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot.
+# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+# to make the SVG files visible in IE 9+ (other browsers do not have this
+# requirement).
+# Possible values are: png, jpg, gif and svg.
+# The default value is: png.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_IMAGE_FORMAT       = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+#
+# Note that this requires a modern browser other than Internet Explorer. Tested
+# and working are Firefox, Chrome, Safari, and Opera.
+# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
+# the SVG files visible. Older versions of IE do not have SVG support.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INTERACTIVE_SVG        = NO
+
+# The DOT_PATH tag can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_PATH               =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the \dotfile
+# command).
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOTFILE_DIRS           =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the \mscfile
+# command).
+
+MSCFILE_DIRS           =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+# that will be shown in the graph. If the number of nodes in a graph becomes
+# larger than this value, doxygen will truncate the graph, which is visualized
+# by representing a node as a red box. Note that doxygen if the number of direct
+# children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
+# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+# Minimum value: 0, maximum value: 10000, default value: 50.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
+# generated by dot. A depth value of 3 means that only nodes reachable from the
+# root by following a path via at most 3 edges will be shown. Nodes that lay
+# further from the root node will be omitted. Note that setting this option to 1
+# or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+# Minimum value: 0, maximum value: 1000, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not seem
+# to support this out of the box.
+#
+# Warning: Depending on the platform used, enabling this option may lead to
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+# read).
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10) support
+# this, this feature is disabled by default.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+# explaining the meaning of the various boxes and arrows in the dot generated
+# graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
+# files that are used to generate the various graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_CLEANUP            = YES
diff --git a/source/llvm/ASTNodeCodeGen.cpp b/source/llvm/ASTNodeCodeGen.cpp
new file mode 100644
index 0000000..7ca55b5
--- /dev/null
+++ b/source/llvm/ASTNodeCodeGen.cpp
@@ -0,0 +1,942 @@
+/*
+ * rrLLVMCodeGenerator.cpp
+ *
+ * Created on: Jun 16, 2013
+ *
+ * Author: Andy Somogyi,
+ *     email decode: V1 = "."; V2 = "@"; V3 = V1;
+ *     andy V1 somogyi V2 gmail V3 com
+ */
+#define _USE_MATH_DEFINES
+
+#pragma hdrstop
+#include "ASTNodeCodeGen.h"
+#include "LLVMException.h"
+#include "rrOSSpecifics.h"
+#include "LLVMIncludes.h"
+#include "rrLogger.h"
+#include "rrStringUtils.h"
+#include "rrConfig.h"
+
+#include <sbml/math/ASTNode.h>
+#include <sbml/math/FormulaFormatter.h>
+#include <sbml/SBase.h>
+#include <Poco/Logger.h>
+#include <cmath>
+
+using namespace libsbml;
+using namespace llvm;
+using namespace std;
+using namespace rr;
+
+namespace rrllvm
+{
+
+/**
+ * idiotic test to test for an idiotic condition. Checks if there is a minus
+ * in front of the expression so we can pass tests with arccot(-0)...
+ */
+static bool isNegative(const libsbml::ASTNode *node);
+
+std::string to_string(const libsbml::ASTNode *ast)
+{
+    char* formula = SBML_formulaToString(ast);
+    string str = formula;
+    free(formula);
+    return str;
+}
+
+ASTNodeCodeGen::ASTNodeCodeGen(llvm::IRBuilder<> &builder,
+        LoadSymbolResolver &resolver) :
+        builder(builder), resolver(resolver),
+        scalar_mode_(false)
+{
+}
+
+ASTNodeCodeGen::~ASTNodeCodeGen()
+{
+}
+
+Value *ASTNodeCodeGen::binaryExprCodeGen(const ASTNode *ast)
+{
+    Value *result = 0;
+
+    Value *lhs = toDouble(codeGen(ast->getLeftChild()));
+    Value *rhs = toDouble(codeGen(ast->getRightChild()));
+    if (lhs == 0 || rhs == 0)
+    {
+        // TODO: report this error???
+        return 0;
+    }
+
+    switch (ast->getType())
+    {
+    case AST_PLUS:
+        result = builder.CreateFAdd(lhs, rhs, "addtmp");
+        break;
+    case AST_MINUS:
+        result = builder.CreateFSub(lhs, rhs, "subtmp");
+        break;
+    case AST_TIMES:
+        result = builder.CreateFMul(lhs, rhs, "multmp");
+        break;
+    case AST_DIVIDE:
+        result = builder.CreateFDiv(lhs, rhs, "divtmp");
+        break;
+        /*
+         case '<':
+         L = Builder.CreateFCmpULT(L, R, "cmptmp");
+         // Convert bool 0/1 to double 0.0 or 1.0
+         return Builder.CreateUIToFP(L, Type::getDoubleTy(getGlobalContext()),
+         "booltmp");
+         */
+    default:
+        break;
+    }
+
+    return result;
+}
+
+llvm::Value* ASTNodeCodeGen::codeGen(const libsbml::ASTNode* ast)
+{
+    Value *result = 0;
+
+    if (ast == 0)
+    {
+        throw_llvm_exception("ASTNode is NULL");
+    }
+
+    switch (ast->getType())
+    {
+    case AST_PLUS:                  /* '+' */
+    case AST_MINUS:                 /* '-' */
+    case AST_TIMES:                 /* '*' */
+    case AST_DIVIDE: {              /* '/' */
+        ASTNodeCodeGenScalarTicket t(*this, true);
+        result = applyArithmeticCodeGen(ast);
+        break;
+    }
+    case AST_INTEGER: {
+        result = integerCodeGen(ast);
+        break;
+    }
+    case AST_REAL:
+    case AST_REAL_E:
+    case AST_RATIONAL: {
+        ASTNodeCodeGenScalarTicket t(*this, true);
+        result = realExprCodeGen(ast);
+        break;
+    }
+    case AST_NAME:
+    case AST_NAME_AVOGADRO:
+    case AST_NAME_TIME: {
+        result = nameExprCodeGen(ast);
+        break;
+    }
+    case  AST_RELATIONAL_EQ:
+    case  AST_RELATIONAL_GEQ:
+    case  AST_RELATIONAL_GT:
+    case  AST_RELATIONAL_LEQ:
+    case  AST_RELATIONAL_LT:
+    case  AST_RELATIONAL_NEQ:
+        result = scalar_mode_ ? applyScalarRelationalCodeGen(ast) : applyRelationalCodeGen(ast);
+        break;
+
+    case  AST_LOGICAL_AND:
+    case  AST_LOGICAL_NOT:
+    case  AST_LOGICAL_OR:
+    case  AST_LOGICAL_XOR: {
+        result = applyLogicalCodeGen(ast);
+        break;
+    }
+    case AST_FUNCTION: {
+        ASTNodeCodeGenScalarTicket t(*this, true);
+        result = functionCallCodeGen(ast);
+        break;
+    }
+    case AST_POWER:                 // '^' sbml considers this an operator,
+                                    // left and right child nodes are the first
+                                    // 2 child nodes for args.
+    case AST_FUNCTION_ABS:
+    case AST_FUNCTION_ARCCOS:
+    case AST_FUNCTION_ARCCOSH:
+    case AST_FUNCTION_ARCCOT:
+    case AST_FUNCTION_ARCCOTH:
+    case AST_FUNCTION_ARCCSC:
+    case AST_FUNCTION_ARCCSCH:
+    case AST_FUNCTION_ARCSEC:
+    case AST_FUNCTION_ARCSECH:
+    case AST_FUNCTION_ARCSIN:
+    case AST_FUNCTION_ARCSINH:
+    case AST_FUNCTION_ARCTAN:
+    case AST_FUNCTION_ARCTANH:
+    case AST_FUNCTION_CEILING:
+    case AST_FUNCTION_COS:
+    case AST_FUNCTION_COSH:
+    case AST_FUNCTION_COT:
+    case AST_FUNCTION_COTH:
+    case AST_FUNCTION_CSC:
+    case AST_FUNCTION_CSCH:
+    case AST_FUNCTION_EXP:
+    case AST_FUNCTION_FACTORIAL:
+    case AST_FUNCTION_FLOOR:
+    case AST_FUNCTION_LN:
+    case AST_FUNCTION_LOG:
+    case AST_FUNCTION_POWER:
+    case AST_FUNCTION_ROOT:
+    case AST_FUNCTION_SEC:
+    case AST_FUNCTION_SECH:
+    case AST_FUNCTION_SIN:
+    case AST_FUNCTION_SINH:
+    case AST_FUNCTION_TAN:
+    case AST_FUNCTION_TANH: {
+        ASTNodeCodeGenScalarTicket t(*this, true);
+        result = intrinsicCallCodeGen(ast);
+        break;
+    }
+    case AST_FUNCTION_PIECEWISE:
+        result = piecewiseCodeGen(ast);
+        break;
+    case AST_CONSTANT_E:
+        result = ConstantFP::get(builder.getContext(), APFloat(M_E));
+        break;
+    case AST_CONSTANT_FALSE:
+        result = ConstantInt::getFalse(builder.getContext());
+        break;
+    case AST_CONSTANT_PI:
+        result = ConstantFP::get(builder.getContext(), APFloat(M_PI));
+        break;
+    case AST_CONSTANT_TRUE:
+        result = ConstantInt::getTrue(builder.getContext());
+        break;
+    case AST_FUNCTION_DELAY:
+        result = delayExprCodeGen(ast);
+        break;
+
+    case AST_LAMBDA:
+        result = notImplemented(ast);
+        break;
+    default:
+        {
+            stringstream msg;
+            msg << "Unknown ASTNode type of " << ast->getType() << ", from " <<
+                    ast->getParentSBMLObject()->toSBML();
+            throw_llvm_exception(msg.str());
+        }
+        break;
+    }
+    return result;
+}
+
+
+llvm::Value* ASTNodeCodeGen::notImplemented(const libsbml::ASTNode* ast)
+{
+    char* formula = SBML_formulaToString(ast);
+    string str = formula;
+    free(formula);
+
+    throw_llvm_exception("AST type not implemented yet: " + str);
+
+    return 0;
+}
+
+llvm::Value* ASTNodeCodeGen::delayExprCodeGen(const libsbml::ASTNode* ast)
+{
+    if (ast->getNumChildren() == 0) {
+        throw_llvm_exception("AST type 'delay' requires two children.");
+    }
+
+    char* formula = SBML_formulaToString(ast);
+    string str = formula;
+    free(formula);
+
+    Log(Logger::LOG_WARNING)
+      << "Unable to handle SBML csymbol 'delay'. Delay ignored in expression '"
+      << str << "'.";
+
+    return codeGen(ast->getChild(0));
+}
+
+llvm::Value* ASTNodeCodeGen::nameExprCodeGen(const libsbml::ASTNode* ast)
+{
+    switch(ast->getType())
+    {
+    case AST_NAME:
+        return resolver.loadSymbolValue(ast->getName());
+    case AST_NAME_AVOGADRO:
+        // TODO: correct this for different units
+        return ConstantFP::get(builder.getContext(), APFloat(6.02214179e23));
+    case AST_NAME_TIME:
+        return resolver.loadSymbolValue(SBML_TIME_SYMBOL);
+    default:
+        throw_llvm_exception(string(ast->getName()) +
+                " is not a valid name name");
+        break;
+    }
+    return 0;
+}
+
+llvm::Value* ASTNodeCodeGen::realExprCodeGen(const libsbml::ASTNode* ast)
+{
+    return ConstantFP::get(builder.getContext(), APFloat(ast->getReal()));
+}
+
+llvm::Value* ASTNodeCodeGen::integerCodeGen(const libsbml::ASTNode* ast)
+{
+    return ConstantFP::get(builder.getContext(), APFloat((double)ast->getInteger()));
+}
+
+llvm::Value* ASTNodeCodeGen::applyArithmeticCodeGen(
+        const libsbml::ASTNode* ast)
+{
+    const int numChildren = ast->getNumChildren();
+    const ASTNodeType_t type = ast->getType();
+    Value *acc = 0;
+    int start = 0;
+
+    if (numChildren < 1)
+    {
+        //'plus' and 'times' both might have zero children.  This is legal MathML!
+        if (type == AST_PLUS) {
+            ASTNode zero(AST_INTEGER);
+            zero.setValue(0);
+            acc = integerCodeGen(&zero);
+            return acc;
+        }
+        if (type==AST_TIMES) {
+            ASTNode one(AST_INTEGER);
+            one.setValue(1);
+            acc = integerCodeGen(&one);
+            return acc;
+        }
+
+        stringstream err;
+
+        libsbml::SBase *parent = ast->getParentSBMLObject();
+        char *sbml = parent ? parent->toSBML() : 0;
+        err << "MathML apply node from " << (sbml ? sbml : "no parent sbml")
+                << " must have at least one child node.";
+        delete sbml;
+        throw_llvm_exception(err.str());
+    }
+    else if (numChildren == 1 && type == AST_MINUS)
+    {
+        // treat it as a unary operator
+        acc = ConstantFP::get(builder.getContext(), APFloat(0.0));
+    }
+    else
+    {
+        // start at the head of the list and evaluate each subsequent term.
+        // accumulator
+        start = 1;
+        acc = toDouble(codeGen(ast->getChild(0)));
+    }
+
+    assert(acc);
+
+    for (int i = start; i < numChildren; ++i)
+    {
+        Value *rhs = toDouble(codeGen(ast->getChild(i)));
+        switch (type)
+        {
+        case AST_PLUS:
+            acc = builder.CreateFAdd(acc, rhs, "addtmp");
+            break;
+        case AST_MINUS:
+            acc = builder.CreateFSub(acc, rhs, "subtmp");
+            break;
+        case AST_TIMES:
+            acc = builder.CreateFMul(acc, rhs, "multmp");
+            break;
+        case AST_DIVIDE:
+            acc = builder.CreateFDiv(acc, rhs, "divtmp");
+            break;
+        default:
+            break;
+        }
+    }
+    return acc;
+}
+
+llvm::Value* ASTNodeCodeGen::applyRelationalCodeGen(const libsbml::ASTNode* ast)
+{
+    Value *left = toDouble(codeGen(ast->getLeftChild()));
+    Value *right = toDouble(codeGen(ast->getRightChild()));
+    Value *result = 0;
+    switch (ast->getType())
+    {
+    case AST_RELATIONAL_EQ:
+        result = builder.CreateFCmpUEQ(left, right);
+        break;
+    case AST_RELATIONAL_GEQ:
+        result = builder.CreateFCmpUGE(left, right);
+        break;
+    case AST_RELATIONAL_GT:
+        result = builder.CreateFCmpUGT(left, right);
+        break;
+    case AST_RELATIONAL_LEQ:
+        result = builder.CreateFCmpULE(left, right);
+        break;
+    case AST_RELATIONAL_LT:
+        result = builder.CreateFCmpULT(left, right);
+        break;
+    case AST_RELATIONAL_NEQ:
+        result = builder.CreateFCmpUNE(left, right);
+        break;
+    default:
+        result = 0;
+        break;
+    }
+
+    assert(result);
+
+    return result;
+}
+
+llvm::Value* ASTNodeCodeGen::applyScalarRelationalCodeGen(const libsbml::ASTNode* ast)
+{
+    if (!rr::Config::getBool(rr::Config::LOADSBMLOPTIONS_PERMISSIVE)) {
+        return applyRelationalCodeGen(ast);
+    }
+    Value *left = toDouble(codeGen(ast->getLeftChild()));
+    Value *right = toDouble(codeGen(ast->getRightChild()));
+    Value *result = 0;
+    switch (ast->getType())
+    {
+    case AST_RELATIONAL_EQ:
+        result = toDouble(builder.CreateFCmpUEQ(left, right));
+        break;
+    case AST_RELATIONAL_GEQ:
+        result = toDouble(builder.CreateFCmpUGE(left, right));
+        break;
+    case AST_RELATIONAL_GT:
+        result = toDouble(builder.CreateFCmpUGT(left, right));
+        break;
+    case AST_RELATIONAL_LEQ:
+        result = toDouble(builder.CreateFCmpULE(left, right));
+        break;
+    case AST_RELATIONAL_LT:
+        result = toDouble(builder.CreateFCmpULT(left, right));
+        break;
+    case AST_RELATIONAL_NEQ:
+        result = toDouble(builder.CreateFCmpUNE(left, right));
+        break;
+    default:
+        result = 0;
+        break;
+    }
+
+    assert(result);
+
+    return result;
+}
+
+llvm::Value* ASTNodeCodeGen::applyLogicalCodeGen(const libsbml::ASTNode* ast)
+{
+    const ASTNodeType_t type = ast->getType();
+    Value* acc = NULL;
+    if (type == AST_LOGICAL_NOT)
+    {
+        if (ast->getNumChildren() != 1)
+        {
+            string msg = "logic not can only have a single argument, recieved ";
+            msg += toString(ast->getNumChildren());
+            msg += ", MathML node: ";
+            msg += to_string(ast);
+            throw_llvm_exception(msg);
+        }
+        Value *bval = toBoolean(codeGen(ast->getChild(0)));
+        return builder.CreateNot(bval);
+    }
+
+    const int numChildren = ast->getNumChildren();
+
+    if (numChildren == 0)
+    {
+        if (type == AST_LOGICAL_AND)
+        {
+            ASTNode t(AST_CONSTANT_TRUE);
+            acc = toBoolean(codeGen(&t));
+            return acc;
+        }
+        if (type == AST_LOGICAL_OR ||
+            type == AST_LOGICAL_XOR)
+        {
+            ASTNode f(AST_CONSTANT_FALSE);
+            acc = toBoolean(codeGen(&f));
+            return acc;
+        }
+    }
+
+    // start at the head of the list and evaluate each subsequent term.
+    // accumulator
+    acc = toBoolean(codeGen(ast->getChild(0)));
+
+    for (int i = 1; i < numChildren; ++i)
+    {
+        Value *rhs = toBoolean(codeGen(ast->getChild(i)));
+        switch (type)
+        {
+        case AST_LOGICAL_AND:
+            acc = builder.CreateAnd(acc, rhs, "and_tmp");
+            break;
+        case AST_LOGICAL_OR:
+            acc = builder.CreateOr(acc, rhs, "or_tmp");
+            break;
+        case AST_LOGICAL_XOR:
+            acc = builder.CreateXor(acc, rhs, "xor_tmp");
+            break;
+        default:
+            assert(0 && "invalid node type for logical");
+            break;
+        }
+    }
+    return acc;
+}
+
+llvm::Value* ASTNodeCodeGen::functionCallCodeGen(const libsbml::ASTNode* ast)
+{
+    const uint nargs = ast->getNumChildren();
+
+    Value** args = (Value**) alloca(nargs*sizeof(Value*));
+
+    for (uint i = 0; i < nargs; ++i)
+    {
+        const ASTNode *c = ast->getChild(i);
+        args[i] = toDouble(codeGen(c));
+    }
+
+    Log(Logger::LOG_TRACE) << "ASTNodeCodeGen::functionCallCodeGen, name: "
+            << ast->getName() << ", numChild: " << nargs;
+
+    return resolver.loadSymbolValue(ast->getName(), ArrayRef<Value*>(args, nargs));
+}
+
+llvm::Value* ASTNodeCodeGen::intrinsicCallCodeGen(const libsbml::ASTNode *ast)
+{
+    LibFunc::Func funcId;
+    TargetLibraryInfo targetLib;
+    Function* func;
+    Module *module = getModule();
+
+    switch (ast->getType())
+    {
+    case AST_FUNCTION_POWER:
+    case AST_POWER:                 // '^' sbml considers this an operator,
+                                    // left and right child nodes are the first
+                                    // 2 child nodes for args.
+        funcId = LibFunc::pow;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_ABS:
+        funcId = LibFunc::fabs;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_ARCCOS:
+        funcId = LibFunc::acos;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_ARCCOSH:
+        func = module->getFunction("arccosh");
+        break;
+    case AST_FUNCTION_ARCCOT:
+        // lame hack, need to check for negative zero to pass test...
+        if (isNegative(ast))
+        {
+            func = module->getFunction("rr_arccot_negzero");
+        }
+        else
+        {
+            func = module->getFunction("arccot");
+        }
+        break;
+    case AST_FUNCTION_ARCCOTH:
+        func = module->getFunction("arccoth");
+        break;
+    case AST_FUNCTION_ARCCSC:
+        func = module->getFunction("arccsc");
+        break;
+    case AST_FUNCTION_ARCCSCH:
+        func = module->getFunction("arccsch");
+        break;
+    case AST_FUNCTION_ARCSEC:
+        func = module->getFunction("arcsec");
+        break;
+    case AST_FUNCTION_ARCSECH:
+        func = module->getFunction("arcsech");
+        break;
+    case AST_FUNCTION_ARCSIN:
+        funcId = LibFunc::asin;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_ARCSINH:
+        func = module->getFunction("arcsinh");
+        break;
+    case AST_FUNCTION_ARCTAN:
+        funcId = LibFunc::atan;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_ARCTANH:
+        func = module->getFunction("arctanh");
+        break;
+    case AST_FUNCTION_CEILING:
+        funcId = LibFunc::ceil;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_COS:
+        funcId = LibFunc::cos;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_COSH:
+        funcId = LibFunc::cosh;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_COT:
+        func = module->getFunction("cot");
+        break;
+    case AST_FUNCTION_COTH:
+        func = module->getFunction("coth");
+        break;
+    case AST_FUNCTION_CSC:
+        func = module->getFunction("csc");
+        break;
+    case AST_FUNCTION_CSCH:
+        func = module->getFunction("csch");
+        break;
+    case AST_FUNCTION_EXP:
+        funcId = LibFunc::exp;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_FACTORIAL:
+        func = module->getFunction("rr_factoriald");
+        break;
+    case AST_FUNCTION_FLOOR:
+        funcId = LibFunc::floor;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_LN:
+        funcId = LibFunc::log;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_LOG:
+        func = module->getFunction("rr_logd");
+        break;
+    case AST_FUNCTION_ROOT:
+        func = module->getFunction("rr_rootd");
+        break;
+    case AST_FUNCTION_SEC:
+        func = module->getFunction("sec");
+        break;
+    case AST_FUNCTION_SECH:
+        func = module->getFunction("sech");
+        break;
+    case AST_FUNCTION_SIN:
+        funcId = LibFunc::sin;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_SINH:
+        funcId = LibFunc::sinh;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_TAN:
+        funcId = LibFunc::tan;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    case AST_FUNCTION_TANH:
+        funcId = LibFunc::tanh;
+        func = module->getFunction(targetLib.getName(funcId));
+        break;
+    default:
+    {
+        string msg = "unknown intrinsic function ";
+        msg += ast->getName();
+        throw_llvm_exception(msg);
+    }
+    break;
+    }
+
+    // get the function
+    if (func == 0)
+    {
+        string msg = "could not obtain a function for intrinsic " +
+                string(ast->getName());
+        msg += ", your operating system might not supoort it.";
+        throw_llvm_exception(msg);
+    }
+
+    // check if the arg counts match
+    if (func->arg_size() != ast->getNumChildren())
+    {
+        stringstream err;
+        err << "function call argument count in "
+                << ast->getParentSBMLObject()->toSBML()
+                << " does not match the specfied number of arguments, "
+                << (string) func->getName() << " requires " << func->arg_size()
+                << " args, but was given " << ast->getNumChildren();
+        throw_llvm_exception(err.str());
+    }
+
+    std::vector<Value*> args;
+    for (unsigned i = 0; i < ast->getNumChildren(); ++i)
+    {
+        args.push_back(toDouble(codeGen(ast->getChild(i))));
+    }
+
+    return builder.CreateCall(func, args, "calltmp");
+
+    assert(0 && "should not get here");
+    return 0;
+
+    /*
+     Intrinsic::ID id = Intrinsic::not_intrinsic;
+
+     switch (ast->getType())
+     {
+     case AST_FUNCTION_ABS:
+     id = Intrinsic::fabs;
+     break;
+     case AST_FUNCTION_CEILING:
+     id = Intrinsic::ceil;
+     break;
+     case AST_FUNCTION_COS:
+     id = Intrinsic::cos;
+     break;
+     case AST_FUNCTION_COSH:
+     id = Intrinsic::cos
+     case AST_FUNCTION_COT:
+     case AST_FUNCTION_COTH:
+     case AST_FUNCTION_CSC:
+     case AST_FUNCTION_CSCH:
+     case AST_FUNCTION_EXP:
+     case AST_FUNCTION_FACTORIAL:
+     case AST_FUNCTION_FLOOR:
+     case AST_FUNCTION_LN:
+     case AST_FUNCTION_LOG:
+     case AST_FUNCTION_POWER:
+     case AST_FUNCTION_ROOT:
+     case AST_FUNCTION_SEC:
+     case AST_FUNCTION_SECH:
+     case AST_FUNCTION_SIN:
+     case AST_FUNCTION_SINH:
+     case AST_FUNCTION_TAN:
+     case AST_FUNCTION_TANH:
+
+     case AST_FUNCTION_ARCCOS:
+
+     case AST_FUNCTION_ARCCOSH:
+     case AST_FUNCTION_ARCCOT:
+     case AST_FUNCTION_ARCCOTH:
+     case AST_FUNCTION_ARCCSC:
+     case AST_FUNCTION_ARCCSCH:
+     case AST_FUNCTION_ARCSEC:
+     case AST_FUNCTION_ARCSECH:
+     case AST_FUNCTION_ARCSIN:
+     case AST_FUNCTION_ARCSINH:
+     case AST_FUNCTION_ARCTAN:
+     case AST_FUNCTION_ARCTANH:
+
+     }
+     */
+
+}
+
+llvm::Value* ASTNodeCodeGen::toBoolean(llvm::Value* value)
+{
+    Type *type = value->getType();
+
+    if (type->isIntegerTy(1))
+    {
+        return value;
+    }
+    else if (type->isIntegerTy())
+    {
+        return builder.CreateICmpNE(value,
+                ConstantInt::get(builder.getContext(),
+                        APInt(type->getIntegerBitWidth(), 0)), "ne_zero");
+    }
+    else if (type->isDoubleTy())
+    {
+        return builder.CreateFCmpONE(value,
+                ConstantFP::get(builder.getContext(), APFloat(0.0)), "ne_zero");
+    }
+
+    throw_llvm_exception("unsupported type conversion to boolean");
+    return 0;
+}
+
+llvm::Value* ASTNodeCodeGen::toDouble(llvm::Value* value)
+{
+    Type *type = value->getType();
+
+    if (type->isDoubleTy()) {
+        return value;
+    }
+
+    if (type->isIntegerTy()) {
+        return builder.CreateUIToFP(value,
+                Type::getDoubleTy(builder.getContext()), "double_tmp");
+    }
+
+    throw_llvm_exception("unsupported type convertion to double");
+    return 0;
+}
+
+llvm::Module* ASTNodeCodeGen::getModule()
+{
+    BasicBlock *bb = 0;
+    if((bb = builder.GetInsertBlock()) != 0)
+    {
+        Function *function = bb->getParent();
+        if(function)
+        {
+            Module *module = function->getParent();
+            assert(module && "could not get module from function");
+            return module;
+        }
+    }
+    throw_llvm_exception("could not get module, a BasicBlock is not currently being populated.");
+    return 0;
+}
+
+llvm::Value* ASTNodeCodeGen::piecewiseCodeGen(const libsbml::ASTNode* ast)
+{
+    // the 'otherwise' is an optional MathML element.
+    // the child nodes contain the piece elements in pairs, so
+    // [value0, condition0, value1, condition1, ... {otherwise value}]
+    // even number of child nodes means we have no otherwise node.
+    //
+    // each piece coresponds to the 'then' part of a conditions, and
+    // the next piece is the 'else' part.  This is terminated with the
+    // otherwise block.
+
+    LLVMContext &context = builder.getContext();
+
+    Function *func = builder.GetInsertBlock()->getParent();
+
+    BasicBlock *mergeBB = BasicBlock::Create(context, "merge");
+
+    vector<Value*> values;
+    vector<BasicBlock*> blocks;
+
+    const uint nchild = ast->getNumChildren();
+    uint i = 0;
+
+    // cond comes after val, but we need to get cond
+    // before evaluating val.
+    while ((i + 1) < nchild)
+    {
+        // added to end of function
+        BasicBlock *thenBB = BasicBlock::Create(context,
+                "then_" + toString(i), func);
+
+        BasicBlock *elseBB = BasicBlock::Create(context, "else_" + toString(i));
+
+        // the value
+        const ASTNode *thenNode = ast->getChild(i++);
+        // the conditional
+        const ASTNode *condNode = ast->getChild(i++);
+
+        resolver.pushCacheBlock();
+        Value *cond = toBoolean(codeGen(condNode));
+        resolver.popCacheBlock();
+
+        builder.CreateCondBr(cond, thenBB, elseBB);
+
+        // the then value
+        builder.SetInsertPoint(thenBB);
+
+        // turn on scalar mode since this is a scalar expression
+        ASTNodeCodeGenScalarTicket t(*this, true);
+
+        resolver.pushCacheBlock();
+        Value *thenVal = toDouble(codeGen(thenNode));
+        resolver.popCacheBlock();
+
+        values.push_back(thenVal);
+
+        builder.CreateBr(mergeBB);
+
+        // codegen of the 'then' block changes current block, update
+        thenBB = builder.GetInsertBlock();
+        blocks.push_back(thenBB);
+
+        // the else block
+        func->getBasicBlockList().push_back(elseBB);
+        builder.SetInsertPoint(elseBB);
+    }
+
+    // final else value
+    Value *owVal = 0;
+
+    if (i < nchild)
+    {
+        // we have an otherwise block
+        assert((i+1) == nchild);
+
+        // turn on scalar mode since this is a scalar expression
+        ASTNodeCodeGenScalarTicket t(*this, true);
+
+        const ASTNode *ow = ast->getChild(i);
+        resolver.pushCacheBlock();
+        owVal = toDouble(codeGen(ow));
+        resolver.popCacheBlock();
+    }
+    else
+    {
+        Log(Logger::LOG_WARNING) << "No \"otherwise\" element in MathML "
+                "piecewise, returning NaN as \"otherwise\" value";
+
+        owVal = ConstantFP::get(builder.getContext(),
+                APFloat::getQNaN(APFloat::IEEEdouble));
+    }
+
+    builder.CreateBr(mergeBB);
+
+    // otherwise codegen changes current block, update for PHI
+    BasicBlock *owBlock = builder.GetInsertBlock();
+
+    values.push_back(owVal);
+    blocks.push_back(owBlock);
+
+    // emit the merge block
+    func->getBasicBlockList().push_back(mergeBB);
+    builder.SetInsertPoint(mergeBB);
+
+    assert(values.size() == blocks.size());
+
+    PHINode *pn = builder.CreatePHI(Type::getDoubleTy(context), values.size(),
+            "iftmp");
+
+    for (uint i = 0; i < values.size(); ++i)
+    {
+        pn->addIncoming(values[i], blocks[i]);
+    }
+
+    return pn;
+}
+
+static bool isNegative(const libsbml::ASTNode *ast)
+{
+    if (ast->getNumChildren() > 0)
+    {
+        const ASTNode* m = ast->getChild(0);
+        if (m->getType() == AST_MINUS && m->getNumChildren() > 0)
+        {
+            return true;
+        }
+    }
+    return false;
+}
+
+ASTNodeCodeGenScalarTicket::ASTNodeCodeGenScalarTicket(ASTNodeCodeGen& gen, bool val, std::string n)
+    : z_(gen), v_(gen.scalar_mode_), n_(n) {
+    z_.scalar_mode_ = val;
+}
+
+ASTNodeCodeGenScalarTicket::~ASTNodeCodeGenScalarTicket() {
+    z_.scalar_mode_ = v_;
+}
+
+} /* namespace rr */
+
+
diff --git a/source/llvm/ASTNodeCodeGen.h b/source/llvm/ASTNodeCodeGen.h
new file mode 100644
index 0000000..d5764f1
--- /dev/null
+++ b/source/llvm/ASTNodeCodeGen.h
@@ -0,0 +1,127 @@
+/*
+ * ASTNodeCodeGen.h
+ *
+ * Created on: Jun 16, 2013
+ *
+ * Author: Andy Somogyi,
+ *     email decode: V1 = "."; V2 = "@"; V3 = V1;
+ *     andy V1 somogyi V2 gmail V3 com
+ */
+#ifndef ASTNodeCodeGenH
+#define ASTNodeCodeGenH
+
+#include "LLVMIncludes.h"
+#include "CodeGen.h"
+
+namespace libsbml
+{
+class ASTNode;
+}
+
+namespace rrllvm
+{
+/**
+ * All of the LLVM IR generation is handled here.
+ */
+class ASTNodeCodeGen
+{
+public:
+    ASTNodeCodeGen(llvm::IRBuilder<> &builder,
+            LoadSymbolResolver &resolver);
+    ~ASTNodeCodeGen();
+
+    llvm::Value *codeGen(const libsbml::ASTNode *ast);
+private:
+
+    /**
+     * sbml ASTNode does not contain as assigment '=' type, assigment
+     * is handled by other sbml elements such as initialAssigment.
+     *
+     */
+    llvm::Value *binaryExprCodeGen(const libsbml::ASTNode *ast);
+
+    llvm::Value *notImplemented(const libsbml::ASTNode *ast);
+
+    llvm::Value *delayExprCodeGen(const libsbml::ASTNode *ast);
+
+    llvm::Value *nameExprCodeGen(const libsbml::ASTNode *ast);
+
+    llvm::Value *realExprCodeGen(const libsbml::ASTNode *ast);
+
+    /**
+     * for now, just convert to double,
+     *
+     * TODO: is this right???
+     */
+    llvm::Value *integerCodeGen(const libsbml::ASTNode *ast);
+
+    /**
+     * would have made the most sense using templated pointer to a
+     * IRBuilder member function, but many compilers seem to have trouble
+     * with such templates.
+     */
+    llvm::Value *applyArithmeticCodeGen(const libsbml::ASTNode *ast);
+
+    llvm::Value *applyRelationalCodeGen(const libsbml::ASTNode *ast);
+
+    // JKM: NOTE: Not SBML-compliant, needed for idiosyncrasies in some legacy JDesigner models
+    llvm::Value *applyScalarRelationalCodeGen(const libsbml::ASTNode *ast);
+
+    llvm::Value *applyLogicalCodeGen(const libsbml::ASTNode *ast);
+
+    llvm::Value *functionCallCodeGen(const libsbml::ASTNode *ast);
+
+    llvm::Value *intrinsicCallCodeGen(const libsbml::ASTNode *ast);
+
+    llvm::Value *piecewiseCodeGen(const libsbml::ASTNode *ast);
+
+    /**
+     * coerces a value to a boolean single bit.
+     *
+     * If value is already a boolean, it is unchanged.
+     */
+    llvm::Value *toBoolean(llvm::Value *value);
+
+    /**
+     * coerces a value to a double
+     *
+     * If value is already a boolean, it is unchanged.
+     */
+    llvm::Value *toDouble(llvm::Value* value);
+
+
+    llvm::IRBuilder<> &builder;
+    LoadSymbolResolver &resolver;
+
+    /**
+     * get the module, only valid whilst a BasicBlock is begin filled.
+     *
+     * @param fname: name of the calling function, used for generating exception
+     * on failure.
+     *
+     * @returns a module on success, throws exeption on failure.
+     */
+    llvm::Module *getModule();
+
+    bool scalar_mode_;
+
+    friend class ASTNodeCodeGenScalarTicket;
+};
+
+std::string to_string(const libsbml::ASTNode *ast);
+
+class ASTNodeCodeGenScalarTicket {
+    public:
+        ASTNodeCodeGenScalarTicket(ASTNodeCodeGen& gen, bool val, std::string n = "");
+
+        ~ASTNodeCodeGenScalarTicket();
+
+    private:
+        ASTNodeCodeGen& z_;
+        bool v_;
+        std::string n_;
+};
+
+} /* namespace rr */
+
+#endif /* ASTNodeCodeGenH */
diff --git a/source/llvm/ASTNodeFactory.cpp b/source/llvm/ASTNodeFactory.cpp
new file mode 100644
index 0000000..fec40bb
--- /dev/null
+++ b/source/llvm/ASTNodeFactory.cpp
@@ -0,0 +1,50 @@
+/*
+ * ASTNodeCodeGen.cpp
+ *
+ *  Created on: Jul 4, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "ASTNodeFactory.h"
+
+using namespace std;
+using namespace libsbml;
+
+namespace rrllvm
+{
+
+ASTNodeFactory::ASTNodeFactory()
+{
+}
+
+ASTNodeFactory::~ASTNodeFactory()
+{
+    for (list<ASTNode*>::iterator i = nodes.begin(); i != nodes.end(); i++)
+    {
+        ASTNode *node = *i;
+        delete node;
+    }
+}
+
+libsbml::ASTNode* ASTNodeFactory::create(libsbml::ASTNodeType_t type)
+{
+    ASTNode *node = new ASTNode(type);
+    nodes.push_back(node);
+    return node;
+}
+
+libsbml::ASTNode* ASTNodeFactory::create(libsbml::Token_t* token)
+{
+    ASTNode *node = new ASTNode(token);
+    nodes.push_back(node);
+    return node;
+}
+
+libsbml::ASTNode* ASTNodeFactory::create(const libsbml::ASTNode& orig)
+{
+    ASTNode *node = new ASTNode(orig);
+    nodes.push_back(node);
+    return node;
+}
+
+} /* namespace rr */
diff --git a/source/llvm/ASTNodeFactory.h b/source/llvm/ASTNodeFactory.h
new file mode 100644
index 0000000..65c8d35
--- /dev/null
+++ b/source/llvm/ASTNodeFactory.h
@@ -0,0 +1,82 @@
+/*
+ * rrLLVMASTNodeFactory.h
+ *
+ *  Created on: Jul 4, 2013
+ *      Author: andy
+ */
+
+#ifndef LLVMASTNodeFactoryH
+#define LLVMASTNodeFactoryH
+
+#include <sbml/math/ASTNode.h>
+#include <list>
+
+namespace rrllvm
+{
+
+/**
+ * Manages a set of ASTNodes.
+ *
+ * This class provides a createASTNode which creates a new ASTNode,
+ * but it retains a reference to it. When this class is destroyed,
+ * all the nodes that it created are destroyed as well.
+ *
+ * TODO: There might be a standard way of doing this, look it up
+ * and replace if there exists such a thing.
+ */
+class ASTNodeFactory
+{
+public:
+    ASTNodeFactory();
+    ~ASTNodeFactory();
+
+    /**
+     * Creates and returns a new ASTNode.
+     *
+     * Unless the argument @p type is given, the returned node will by
+     * default have a type of @link ASTNodeType_t#AST_UNKNOWN
+     * AST_UNKNOWN at endlink.  If the type isn't supplied when caling this
+     * constructor, the caller should set the node type to something else as
+     * soon as possible using
+     * @if clike setType()@else ASTNode::setType(int)@endif.
+     *
+     * @param type an optional
+     * @if clike @link #ASTNodeType_t ASTNodeType_t at endlink@else type at endif@~
+     * code indicating the type of node to create.
+     *
+     * @if notcpp @htmlinclude warn-default-args-in-docs.html @endif@~
+     */
+    libsbml::ASTNode *create(libsbml::ASTNodeType_t type = libsbml::AST_UNKNOWN);
+
+
+    /**
+     * Creates a new ASTNode from the given Token.  The resulting ASTNode
+     * will contain the same data as the Token.
+     *
+     * @param token the Token to add.
+     */
+    libsbml::ASTNode *create(libsbml::Token_t *token);
+
+
+    /**
+     * Copy constructor; creates a deep copy of the given ASTNode.
+     *
+     * @param orig the ASTNode to be copied.
+     */
+    libsbml::ASTNode *create(const libsbml::ASTNode& orig);
+
+private:
+    /**
+     * no copy or asigment
+     */
+    ASTNodeFactory(const ASTNodeFactory&) {};
+    ASTNodeFactory& operator=( const ASTNodeFactory& rhs ) {return *this;};
+
+    /**
+     * the list of nodes this factory created.
+     */
+    std::list<libsbml::ASTNode*> nodes;
+};
+
+} /* namespace rr */
+#endif /* LLVMASTNodeFactoryH */
diff --git a/source/llvm/AssignmentRuleEvaluator.cpp b/source/llvm/AssignmentRuleEvaluator.cpp
new file mode 100644
index 0000000..7a468cf
--- /dev/null
+++ b/source/llvm/AssignmentRuleEvaluator.cpp
@@ -0,0 +1,41 @@
+/*
+ * AssignmentRuleEvaluator.cpp
+ *
+ *  Created on: Jul 3, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "AssignmentRuleEvaluator.h"
+#include "rrOSSpecifics.h"
+#include <iostream>
+
+
+using namespace std;
+using namespace libsbml;
+
+namespace rrllvm
+{
+AssignmentRuleEvaluator::AssignmentRuleEvaluator(
+        SymbolForest& symbols) :
+        symbols(symbols)
+{
+}
+
+void AssignmentRuleEvaluator::evaluate(const Model& model)
+{
+    model.accept(*this);
+}
+
+bool AssignmentRuleEvaluator::visit(const AssignmentRule& x)
+{
+    cout << __FUNC__ << ", id: " << x.getId() << "\n";
+
+
+    return true;
+}
+
+
+} /* namespace rr */
+
+
+
diff --git a/source/llvm/AssignmentRuleEvaluator.h b/source/llvm/AssignmentRuleEvaluator.h
new file mode 100644
index 0000000..bbf57fb
--- /dev/null
+++ b/source/llvm/AssignmentRuleEvaluator.h
@@ -0,0 +1,41 @@
+/*
+ * AssignmentRuleEvaluator.h
+ *
+ *  Created on: Jul 3, 2013
+ *      Author: andy
+ */
+
+#ifndef LLVMAssignmentRuleEvaluatorH
+#define LLVMAssignmentRuleEvaluatorH
+
+#include "SymbolForest.h"
+
+#include <sbml/Model.h>
+#include <sbml/SBMLVisitor.h>
+#include <sbml/AlgebraicRule.h>
+#include <sbml/AssignmentRule.h>
+
+namespace rrllvm
+{
+
+/**
+ * Attaches to an existing symbol forest and applies
+ * any asigment rule found in the model to the forest.
+ */
+class AssignmentRuleEvaluator : public libsbml::SBMLVisitor
+{
+    using libsbml::SBMLVisitor::visit;
+
+public:
+    AssignmentRuleEvaluator(SymbolForest &symbols);
+
+    void evaluate(const libsbml::Model& model);
+
+    virtual bool visit (const libsbml::AssignmentRule  &x);
+
+protected:
+    SymbolForest &symbols;
+};
+
+} /* namespace rr */
+#endif /* LLVMAssignmentRuleEvaluatorH */
diff --git a/source/llvm/CodeGen.h b/source/llvm/CodeGen.h
new file mode 100644
index 0000000..1055ac5
--- /dev/null
+++ b/source/llvm/CodeGen.h
@@ -0,0 +1,81 @@
+/*
+ * CodeGen.h
+ *
+ *  Created on: Jul 2, 2013
+ *      Author: andy
+ */
+
+#ifndef CodeGenH
+#define CodeGenH
+
+#include "LLVMIncludes.h"
+#include <stack>
+#include <string>
+
+namespace rrllvm
+{
+
+class CodeGen
+{
+public:
+    virtual llvm::Value *codeGen() = 0;
+protected:
+    ~CodeGen() {};
+};
+
+/**
+ * special name for the time symbol
+ */
+#define SBML_TIME_SYMBOL "\\time"
+
+class LoadSymbolResolver
+{
+public:
+    /**
+     * generate an LLVM load instruction.
+     *
+     * @param symbol: the symbol name to resolve
+     * @param args: function argument list
+     */
+    virtual llvm::Value *loadSymbolValue(const std::string& symbol,
+            const llvm::ArrayRef<llvm::Value*>& args =
+                    llvm::ArrayRef<llvm::Value*>()) = 0;
+
+    virtual void recursiveSymbolPush(const std::string& symbol) = 0;
+
+    virtual void recursiveSymbolPop() = 0;
+
+    /**
+     * nested conditionals (or functions?) can push a local cache block, where
+     * symbols would be chached. These need to be popped as these symbols are
+     * not valid outside of the local conditional or scope block.
+     */
+    virtual unsigned pushCacheBlock() {return 0;}
+
+    /**
+     * Pop a scoped cache block, this clears these values, and any subsequent reads
+     * re-evaluate the requested symbol.
+     *
+     * Will throw an exception if an empty stack pop is attempted.
+     */
+    virtual unsigned popCacheBlock() {return 0;}
+
+protected:
+
+    virtual ~LoadSymbolResolver() {};
+};
+
+class StoreSymbolResolver
+{
+public:
+    virtual llvm::Value *storeSymbolValue(const std::string& symbol,
+            llvm::Value *value) = 0;
+
+protected:
+    ~StoreSymbolResolver() {};
+};
+
+
+
+} /* namespace rr */
+#endif /* LLVMCodeGenH */
diff --git a/source/llvm/CodeGenBase.cpp b/source/llvm/CodeGenBase.cpp
new file mode 100644
index 0000000..3203d7a
--- /dev/null
+++ b/source/llvm/CodeGenBase.cpp
@@ -0,0 +1,113 @@
+/*
+ * rrLLVMCodeGenBase.cpp
+ *
+ *  Created on: Jul 18, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "CodeGenBase.h"
+#include "ASTNodeCodeGen.h"
+#include "LLVMException.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "GetValueCodeGenBase.h"
+#include <sbml/Model.h>
+
+namespace rrllvm
+{
+using namespace libsbml;
+using namespace llvm;
+using namespace std;
+
+
+
+class LLVMCodeGenTest
+{
+
+protected:
+
+    LLVMCodeGenTest(const ModelGeneratorContext &mgc) :
+            model(mgc.getModel()),
+            dataSymbols(mgc.getModelDataSymbols()),
+            modelSymbols(mgc.getModelSymbols()),
+            context(mgc.getContext()),
+            module(mgc.getModule()),
+            builder(mgc.getBuilder()),
+            engine(mgc.getExecutionEngine())
+    {
+    };
+
+    /**
+     * could potentially be null, everything else is guaranteed to be valid
+     */
+    const libsbml::Model *model;
+
+    const LLVMModelDataSymbols &dataSymbols;
+    const LLVMModelSymbols &modelSymbols;
+
+    llvm::LLVMContext &context;
+    llvm::Module *module;
+    llvm::IRBuilder<> &builder;
+    llvm::ExecutionEngine &engine;
+public:
+
+    template <size_t N>
+    static void test(const int (&Arr)[N], double out[N])
+    {
+        cout << N;
+
+        for (int i = 0; i < N; i++) {
+            out[i] = Arr[i];
+        }
+    }
+
+    template <size_t N>
+    void codeGenHeader(const char* functionName, llvm::Type *retType,
+            llvm::Type (*argTypes)[N],
+            const char (*argNames)[N],
+            llvm::Value (*args)[N])
+    {
+        // make the set init value function
+
+        FunctionType *funcType = FunctionType::get(retType, argTypes,
+                false);
+        Function *func = Function::Create(funcType, Function::InternalLinkage,
+                functionName, module);
+
+        // Create a new basic block to start insertion into.
+        BasicBlock *basicBlock = BasicBlock::Create(context, "entry", func);
+        builder.SetInsertPoint(basicBlock);
+
+        assert(func->getArgumentList().size() == N);
+
+        int i = 0;
+
+        for (llvm::Function::arg_iterator ai = func->arg_begin();
+                ai != func->arg_end(); ++ai, ++i)
+        {
+            llvm::Value *arg = ai;
+            arg->setName(argNames[i]);
+            args[i] = arg;
+        }
+    }
+
+
+    virtual ~LLVMCodeGenTest() {};
+};
+
+void foo()
+{
+    //int vars[] = {1, 2, 3, 4};
+
+    //double out[4];
+
+    //LLVMCodeGenTest::test(vars, out);
+
+
+}
+
+
+
+}
diff --git a/source/llvm/CodeGenBase.h b/source/llvm/CodeGenBase.h
new file mode 100644
index 0000000..7ce7c8a
--- /dev/null
+++ b/source/llvm/CodeGenBase.h
@@ -0,0 +1,183 @@
+/*
+ * CodeGenBase.h
+ *
+ *  Created on: Jul 4, 2013
+ *      Author: andy
+ */
+
+#ifndef LLVMCodeGenBaseH
+#define LLVMCodeGenBaseH
+
+#include "ModelGeneratorContext.h"
+#include "CodeGen.h"
+#include "LLVMException.h"
+#include "rrLogger.h"
+#include <Poco/Logger.h>
+
+using rr::Logger;
+using rr::getLogger;
+
+namespace rrllvm
+{
+
+typedef std::vector<std::string> StringVector;
+typedef std::pair<std::string, int> StringIntPair;
+typedef std::vector<StringIntPair> StringIntVector;
+
+/**
+ * a convenience class to pull the vars out of a context, and
+ * store them as ivars. It can get tedious alwasy typing mgc.getThis
+ * and mgc.getThat. Furthermore, its faster to access them as ivars
+ * as it does not incur a func call each time.
+ */
+template <typename FunctionPtrType>
+class CodeGenBase
+{
+public:
+    FunctionPtrType createFunction()
+    {
+        llvm::Function *func = (llvm::Function*)codeGen();
+
+        if(functionPassManager)
+        {
+            functionPassManager->run(*func);
+        }
+
+        return (FunctionPtrType)engine.getPointerToFunction(func);
+    }
+
+    typedef FunctionPtrType FunctionPtr;
+
+protected:
+    CodeGenBase(const ModelGeneratorContext &mgc) :
+            modelGenContext(mgc),
+            model(mgc.getModel()),
+            dataSymbols(mgc.getModelDataSymbols()),
+            modelSymbols(mgc.getModelSymbols()),
+            context(mgc.getContext()),
+            module(mgc.getModule()),
+            builder(mgc.getBuilder()),
+            engine(mgc.getExecutionEngine()),
+            options(mgc.getOptions()),
+            function(0),
+            functionPassManager(mgc.getFunctionPassManager())
+    {
+    };
+
+    const ModelGeneratorContext &modelGenContext;
+
+    /**
+     * could potentially be null, everything else is guaranteed to be valid
+     */
+    const libsbml::Model *model;
+
+    const LLVMModelDataSymbols &dataSymbols;
+    const LLVMModelSymbols &modelSymbols;
+
+    llvm::LLVMContext &context;
+    llvm::Module *module;
+    llvm::IRBuilder<> &builder;
+    llvm::ExecutionEngine &engine;
+    llvm::Function *function;
+
+    /**
+     * function pass manager. Null if no optimization.
+     */
+    llvm::FunctionPassManager *functionPassManager;
+
+    /**
+     * the options bit field that was passed into the top level load method.
+     */
+    const unsigned options;
+
+    virtual llvm::Value *codeGen() = 0;
+
+    template <size_t N>
+    llvm::BasicBlock *codeGenHeader(const char* functionName,
+            llvm::Type *retType,
+            llvm::Type* (&argTypes)[N],
+            const char* (&argNames)[N],
+            llvm::Value* (&args)[N])
+    {
+        // make the set init value function
+
+        llvm::FunctionType *funcType = llvm::FunctionType::get(retType,
+                argTypes, false);
+        function = llvm::Function::Create(funcType,
+                llvm::Function::InternalLinkage,
+                functionName, module);
+
+        // Create a new basic block to start insertion into.
+        llvm::BasicBlock *basicBlock = llvm::BasicBlock::Create(context,
+                "entry", function);
+        builder.SetInsertPoint(basicBlock);
+
+        assert(function->getArgumentList().size() == N);
+
+        int i = 0;
+        for (llvm::Function::arg_iterator ai = function->arg_begin();
+                ai != function->arg_end(); ++ai, ++i)
+        {
+            llvm::Value *arg = ai;
+            arg->setName(argNames[i]);
+            args[i] = arg;
+        }
+
+        return basicBlock;
+    }
+
+    /**
+     * the most common type of generated function takes a ModelData*,
+     * and returns void.
+     */
+    llvm::BasicBlock *codeGenVoidModelDataHeader(const char* functionName,
+            llvm::Value* &modelData)
+    {
+        llvm::Type *argTypes[] = {
+            llvm::PointerType::get(
+                ModelDataIRBuilder::getStructType(module), 0)
+        };
+
+        const char *argNames[] = { "modelData" };
+
+        llvm::Value *args[] = { 0 };
+
+        llvm::BasicBlock *basicBlock = codeGenHeader(functionName,
+                llvm::Type::getVoidTy(context),
+                    argTypes, argNames, args);
+
+        modelData = args[0];
+        return basicBlock;
+    }
+
+    llvm::Function *verifyFunction()
+    {
+        poco_information(getLogger(),
+            string("function: ") + to_string(function));
+
+        /// verifyFunction - Check a function for errors, printing messages on stderr.
+        /// Return true if the function is corrupt.
+#if (LLVM_VERSION_MAJOR == 3) && (LLVM_VERSION_MINOR >= 5)
+        if (llvm::verifyFunction(*function))
+#else
+        if (llvm::verifyFunction(*function, llvm::AbortProcessAction))
+#endif
+        {
+            poco_error(getLogger(),
+                    "Corrupt Generated Function, "  + to_string(function));
+
+            throw LLVMException("Generated function is corrupt, see stderr",
+                    __FUNC__);
+        }
+
+        return function;
+    }
+
+
+    virtual ~CodeGenBase() {};
+
+
+};
+
+} /* namespace rr */
+#endif /* LLVMCodeGenBaseH */
diff --git a/source/llvm/DistribFunctionResolver.cpp b/source/llvm/DistribFunctionResolver.cpp
new file mode 100644
index 0000000..b9849d9
--- /dev/null
+++ b/source/llvm/DistribFunctionResolver.cpp
@@ -0,0 +1,91 @@
+/*
+ * DistribFunctionResolver.cpp
+ *
+ *  Created on: Sep 23, 2014
+ *      Author: andy
+ */
+
+#include <llvm/DistribFunctionResolver.h>
+
+#ifdef LIBSBML_HAS_PACKAGE_DISTRIB
+
+#include "LLVMException.h"
+#include "rrLogger.h"
+
+using namespace llvm;
+using namespace rr;
+using namespace libsbml;
+
+namespace rrllvm
+{
+
+DistribFunctionResolver::DistribFunctionResolver(
+        const ModelGeneratorContext& ctx, llvm::Value *modelData) :
+                        builder(ctx.getBuilder()),
+                        random(ctx.getRandom()),
+                        modelData(modelData),
+                        modelDataSymbols(ctx.getModelDataSymbols()),
+                        module(ctx.getModule())
+{
+}
+
+
+llvm::Value* DistribFunctionResolver::loadSymbolValue(
+        const libsbml::FunctionDefinition* funcDef,
+        const libsbml::DistribFunctionDefinitionPlugin* distribFunc,
+        const llvm::ArrayRef<llvm::Value*>& args)
+{
+    Log(Logger::LOG_NOTICE) << "distrib function: " << funcDef->getId();
+
+    ModelDataIRBuilder mdbuilder(modelData, modelDataSymbols,
+            builder);
+
+    // pointer to random field.
+    llvm::Value *randomPtr = mdbuilder.createRandomLoad();
+
+    if (args.size() != 2)
+    {
+        throw_llvm_exception("invalid number of args");
+    }
+
+    const DrawFromDistribution* distrib =
+            distribFunc->getDrawFromDistribution();
+
+    const UncertMLNode *uml = distrib->getUncertML();
+
+    if (uml->getElementName() == "UniformDistribution")
+    {
+        llvm::Value *funcArgs[] = {randomPtr, args[0], args[1]};
+
+        llvm::Value *func = module->getFunction("rr_distrib_uniform");
+
+        assert(func && "could not get rr_distrib_uniform");
+
+        return builder.CreateCall(func, funcArgs, "call_rr_distrib_uniform");
+    }
+
+    else if (uml->getElementName() == "NormalDistribution")
+    {
+        llvm::Value *funcArgs[] = {randomPtr, args[0], args[1]};
+
+        llvm::Value *func = module->getFunction("rr_distrib_normal");
+
+        assert(func && "could not get rr_distrib_normal");
+
+        return builder.CreateCall(func, funcArgs, "call_rr_normal_uniform");
+    }
+
+    else
+    {
+        string name = uml->getElementName();
+        throw_llvm_exception("Unsupported distribution: " + name);
+    }
+}
+
+
+
+
+} /* namespace rrllvm */
+
+#endif /* LIBSBML_HAS_PACKAGE_DISTRIB */
+
diff --git a/source/llvm/DistribFunctionResolver.h b/source/llvm/DistribFunctionResolver.h
new file mode 100644
index 0000000..1a0a9bd
--- /dev/null
+++ b/source/llvm/DistribFunctionResolver.h
@@ -0,0 +1,46 @@
+/*
+ * DistribFunctionResolver.h
+ *
+ *  Created on: Sep 23, 2014
+ *      Author: andy
+ */
+
+#ifndef DISTRIBFUNCTIONRESOLVER_H_
+#define DISTRIBFUNCTIONRESOLVER_H_
+
+#include "ModelGeneratorContext.h"
+#include <sbml/common/libsbml-config-packages.h>
+
+#ifdef LIBSBML_HAS_PACKAGE_DISTRIB
+#include "LLVMIncludes.h"
+#include <sbml/packages/distrib/common/DistribExtensionTypes.h>
+
+
+namespace rrllvm
+{
+
+class DistribFunctionResolver
+{
+public:
+    DistribFunctionResolver(const ModelGeneratorContext& ctx,
+            llvm::Value *modelData);
+
+    llvm::Value *loadSymbolValue(const libsbml::FunctionDefinition *funcDef,
+            const libsbml::DistribFunctionDefinitionPlugin *distribFunc,
+            const llvm::ArrayRef<llvm::Value*>& args =
+                    llvm::ArrayRef<llvm::Value*>());
+
+private:
+    llvm::IRBuilder<> &builder;
+    Random *random;
+    llvm::Value* modelData;
+    const LLVMModelDataSymbols &modelDataSymbols;
+    llvm::Module *module;
+};
+
+} /* namespace rrllvm */
+
+
+#endif /* LIBSBML_HAS_PACKAGE_DISTRIB */
+
+#endif /* DISTRIBFUNCTIONRESOLVER_H_ */
diff --git a/source/llvm/EvalConversionFactorCodeGen.cpp b/source/llvm/EvalConversionFactorCodeGen.cpp
new file mode 100644
index 0000000..7b2b67a
--- /dev/null
+++ b/source/llvm/EvalConversionFactorCodeGen.cpp
@@ -0,0 +1,89 @@
+/*
+ * EvalConversionFactorCodeGen.cpp
+ *
+ *  Created on: Aug 25, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "EvalConversionFactorCodeGen.h"
+
+#include "LLVMException.h"
+#include "ASTNodeCodeGen.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataSymbolResolver.h"
+#include "rrLogger.h"
+
+#include <vector>
+#include <sbml/math/ASTNode.h>
+#include <sbml/math/FormulaFormatter.h>
+#include <Poco/Logger.h>
+
+namespace rrllvm
+{
+using namespace rr;
+using namespace llvm;
+using namespace libsbml;
+using namespace std;
+
+const char* EvalConversionFactorCodeGen::FunctionName = "evalConversionFactor";
+
+EvalConversionFactorCodeGen::EvalConversionFactorCodeGen(
+        const ModelGeneratorContext &mgc) :
+        CodeGenBase<EvalConversionFactorCodeGen_FunctionPtr>(mgc)
+{
+}
+
+EvalConversionFactorCodeGen::~EvalConversionFactorCodeGen()
+{
+}
+
+Value* EvalConversionFactorCodeGen::codeGen()
+{
+    Value *modelData = 0;
+
+    codeGenVoidModelDataHeader(FunctionName, modelData);
+
+    ModelDataLoadSymbolResolver resolver(modelData, modelGenContext);
+
+    ModelDataIRBuilder mdbuilder(modelData, dataSymbols, builder);
+
+    ASTNodeCodeGen astCodeGen(builder, resolver);
+
+    string mcfName = model->isSetConversionFactor() ?
+            model->getConversionFactor() : "";
+
+    Value *mcfVal = mcfName.empty() ?
+            ConstantFP::get(Type::getDoubleTy(context), 1.0) :
+            resolver.loadSymbolValue(mcfName);
+
+    const ListOfSpecies *species = model->getListOfSpecies();
+
+    for (uint i = 0; i < species->size(); ++i)
+    {
+        const Species *s = species->get(i);
+
+        if (dataSymbols.isIndependentFloatingSpecies(s->getId()))
+        {
+            if (s->isSetConversionFactor())
+            {
+                const string& cf = s->getConversionFactor();
+                if (cf.compare(mcfName) != 0)
+                {
+                    Value *cfv = resolver.loadSymbolValue(cf);
+                    Value *cfScale = builder.CreateFDiv(cfv, mcfVal, "scaled_" + cf);
+                    Value *amtRate = mdbuilder.createFloatSpeciesAmtRateLoad(s->getId(), s->getId() + "_amtRate");
+                    Value *scaledAmtRate = builder.CreateFMul(amtRate, cfScale, s->getId() + "_scaledAmtRate");
+                    mdbuilder.createFloatSpeciesAmtRateStore(s->getId(), scaledAmtRate);
+                }
+            }
+        }
+    }
+
+    builder.CreateRetVoid();
+
+    return verifyFunction();
+}
+
+
+
+} /* namespace rrllvm */
diff --git a/source/llvm/EvalConversionFactorCodeGen.h b/source/llvm/EvalConversionFactorCodeGen.h
new file mode 100644
index 0000000..4b22519
--- /dev/null
+++ b/source/llvm/EvalConversionFactorCodeGen.h
@@ -0,0 +1,37 @@
+/*
+ * EvalConversionFactorCodeGen.h
+ *
+ *  Created on: Aug 25, 2013
+ *      Author: andy
+ */
+
+#ifndef EVALCONVERSIONFACTORCODEGEN_H_
+#define EVALCONVERSIONFACTORCODEGEN_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include <sbml/Model.h>
+
+namespace rrllvm
+{
+
+typedef void (*EvalConversionFactorCodeGen_FunctionPtr)(LLVMModelData*);
+
+class EvalConversionFactorCodeGen:
+        public CodeGenBase<EvalConversionFactorCodeGen_FunctionPtr>
+{
+public:
+    EvalConversionFactorCodeGen(const ModelGeneratorContext &mgc);
+    virtual ~EvalConversionFactorCodeGen();
+
+    llvm::Value *codeGen();
+
+    static const char* FunctionName;
+
+};
+
+} /* namespace rrllvm */
+#endif /* EVALCONVERSIONFACTORCODEGEN_H_ */
diff --git a/source/llvm/EvalInitialConditionsCodeGen.cpp b/source/llvm/EvalInitialConditionsCodeGen.cpp
new file mode 100644
index 0000000..a1f4608
--- /dev/null
+++ b/source/llvm/EvalInitialConditionsCodeGen.cpp
@@ -0,0 +1,324 @@
+/*
+ * EvalInitialConditionsCodeGen.cpp
+ *
+ *  Created on: Jun 29, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "EvalInitialConditionsCodeGen.h"
+#include "LLVMException.h"
+#include "ASTNodeCodeGen.h"
+#include "SBMLInitialValueSymbolResolver.h"
+#include "ModelInitialValueSymbolResolver.h"
+#include "rrLogger.h"
+#include "rrRoadRunnerOptions.h"
+#include <sbml/math/ASTNode.h>
+#include <sbml/math/FormulaFormatter.h>
+#include <Poco/Logger.h>
+
+
+using namespace libsbml;
+using namespace llvm;
+using namespace std;
+
+using rr::Logger;
+using rr::getLogger;
+using rr::LoadSBMLOptions;
+
+
+namespace rrllvm
+{
+
+const char* EvalInitialConditionsCodeGen::FunctionName = "evalInitialConditions";
+
+EvalInitialConditionsCodeGen::EvalInitialConditionsCodeGen(
+        const ModelGeneratorContext &mgc) :
+        CodeGenBase<EvalInitialConditions_FunctionPtr>(mgc)
+{
+}
+
+EvalInitialConditionsCodeGen::~EvalInitialConditionsCodeGen()
+{
+}
+
+Value* EvalInitialConditionsCodeGen::codeGen()
+{
+    // make the set init value function
+    llvm::Type *argTypes[] = {
+        llvm::PointerType::get(ModelDataIRBuilder::getStructType(this->module), 0),
+        llvm::Type::getInt32Ty(this->context)
+    };
+
+    const char *argNames[] = {
+        "modelData", "flags"
+    };
+
+    llvm::Value *args[] = {0, 0};
+
+    llvm::BasicBlock *entry = codeGenHeader(FunctionName,
+            llvm::Type::getVoidTy(context),
+                argTypes, argNames, args);
+
+    Value* modelData = args[0];
+    Value *flagsArg = args[1];
+
+
+    if (Logger::LOG_DEBUG <= rr::Logger::getLevel())
+    {
+        Log(Logger::LOG_DEBUG) << "boundarySpecies: \n";
+        const SymbolForest::Map&  initValues = modelSymbols.getInitialValues().boundarySpecies;
+
+        for (SymbolForest::Map::const_iterator i = initValues.begin();
+                i != initValues.end(); i++)
+        {
+            char* formula = SBML_formulaToString(i->second);
+            Log(Logger::LOG_DEBUG) << "\t" << i->first << ": " << formula << "\n";
+            free(formula);
+        }
+    }
+
+    // read symbols from the orginal sbml
+    SBMLInitialValueSymbolResolver initialValueResolver(modelData, modelGenContext);
+
+    // store values in the model state
+    ModelDataStoreSymbolResolver modelDataResolver(modelData, model,
+            modelSymbols, dataSymbols, builder, initialValueResolver);
+
+    // generate model code for both floating and boundary species
+    codeGenSpecies(modelDataResolver, initialValueResolver);
+
+    // read init values from sbml and store in model data
+    codeGenGlobalParameters(modelDataResolver, initialValueResolver);
+
+    // read values from the model data state vector
+    ModelDataLoadSymbolResolver modelValueResolver(modelData, this->modelGenContext);
+
+
+    // initializes the values stored in the model
+    // to the values specified in the sbml.
+
+    // always generate code for compartment init values so they are initialized the
+    // in the exe model ctor. compartments are not usually reset.
+    codeGenCompartments(modelDataResolver, initialValueResolver);
+
+    // store stoich in the sparse matrix structure.
+    codeGenStoichiometry(modelData, modelDataResolver, initialValueResolver);
+
+    // at this point, the model data state variables are all initialized
+    // from the original sbml values.
+
+    // generates code to set the *initial* values in the model to
+    // the values specified in the sbml.
+    // at this point, all the model vars have been set,
+    // so we can just copy them to the init value locations.
+    if (options & LoadSBMLOptions::MUTABLE_INITIAL_CONDITIONS)
+    {
+        // store symbols in the model data init var locations.
+        ModelInitialValueStoreSymbolResolver initValueStoreResolver(modelData, model,
+                        modelSymbols, dataSymbols, builder, initialValueResolver);
+
+        codeGenInitSpecies(initValueStoreResolver, modelValueResolver);
+
+        codeGenInitCompartments(initValueStoreResolver, modelValueResolver);
+
+        codeGenInitGlobalParameters(initValueStoreResolver, modelValueResolver);
+    }
+
+    builder.CreateRetVoid();
+
+    return verifyFunction();
+}
+
+void EvalInitialConditionsCodeGen::codeGenSpecies(
+        StoreSymbolResolver& modelDataResolver,
+        LoadSymbolResolver& initialValueResolver)
+{
+    {
+        vector<string> floatingSpecies = dataSymbols.getFloatingSpeciesIds();
+
+        for (vector<string>::const_iterator i = floatingSpecies.begin();
+                i != floatingSpecies.end(); i++)
+        {
+            const string& id = *i;
+
+            if (!dataSymbols.hasAssignmentRule(id))
+            {
+                modelDataResolver.storeSymbolValue(id,
+                        initialValueResolver.loadSymbolValue(id));
+            }
+        }
+    }
+
+
+    {
+        vector<string> boundarySpecies = dataSymbols.getBoundarySpeciesIds();
+
+        for (vector<string>::const_iterator i = boundarySpecies.begin();
+                i != boundarySpecies.end(); i++)
+        {
+            const string& id = *i;
+
+            if (!dataSymbols.hasAssignmentRule(id))
+            {
+                modelDataResolver.storeSymbolValue(id,
+                        initialValueResolver.loadSymbolValue(id));
+            }
+        }
+    }
+}
+
+
+void EvalInitialConditionsCodeGen::codeGenStoichiometry(
+        llvm::Value *modelData, ModelDataStoreSymbolResolver& modelDataResolver,
+        LoadSymbolResolver& initialValueResolver)
+{
+    ModelDataIRBuilder modelDataBuilder(modelData, dataSymbols,
+                builder);
+    ASTNodeCodeGen astCodeGen(builder, initialValueResolver);
+
+    Log(Logger::LOG_DEBUG) << "reactions: ";
+    vector<string> ids = dataSymbols.getReactionIds();
+    for (int i = 0; i < ids.size(); i++)
+    {
+        Log(Logger::LOG_DEBUG) << ids[i] << ", ";
+    }
+    Log(Logger::LOG_DEBUG) << "\n";
+
+    Value *stoichEP = modelDataBuilder.createGEP(Stoichiometry);
+    Value *stoich = builder.CreateLoad(stoichEP, "stoichiometry");
+
+    list<LLVMModelDataSymbols::SpeciesReferenceInfo> stoichEntries =
+            dataSymbols.getStoichiometryIndx();
+
+    for (list<LLVMModelDataSymbols::SpeciesReferenceInfo>::iterator i =
+            stoichEntries.begin(); i != stoichEntries.end(); i++)
+    {
+        LLVMModelDataSymbols::SpeciesReferenceInfo nz = *i;
+        const ASTNode *node = modelSymbols.createStoichiometryNode(nz.row, nz.column);
+        char* formula = SBML_formulaToString(node);
+        Log(Logger::LOG_DEBUG) << "\t{" << nz.row << ", " << nz.column << "} : " << formula
+                << "\n";
+        free(formula);
+
+        // createCSRMatrixSetNZ(llvm::Value *csrPtr, llvm::Value *row,
+        // llvm::Value *col, llvm::Value *value, const char* name = 0);
+
+        Value *stoichValue = astCodeGen.codeGen(node);
+
+        delete node;
+
+        // species references may be defined by rate rules, so set the
+        // initial value here. In this case, data is duplicated between the
+        // rate rules vector and the CSR sparse matrix. (only occurs once
+        // in 1100 tests)
+        if (!nz.id.empty() && dataSymbols.hasRateRule(nz.id))
+        {
+            modelDataBuilder.createRateRuleValueStore(nz.id, stoichValue);
+        }
+
+        Value *row = ConstantInt::get(Type::getInt32Ty(context), nz.row, true);
+        Value *col = ConstantInt::get(Type::getInt32Ty(context), nz.column, true);
+        ModelDataIRBuilder::createCSRMatrixSetNZ(builder, stoich, row, col, stoichValue);
+
+    }
+}
+
+void EvalInitialConditionsCodeGen::codeGenCompartments(
+        StoreSymbolResolver& modelDataResolver,
+        LoadSymbolResolver& initialValueResolver)
+{
+    vector<string> compartments = dataSymbols.getCompartmentIds();
+
+    for (vector<string>::const_iterator i = compartments.begin();
+            i != compartments.end(); i++)
+    {
+        const string& id = *i;
+
+        if (!dataSymbols.hasAssignmentRule(id))
+        {
+            modelDataResolver.storeSymbolValue(id,
+                    initialValueResolver.loadSymbolValue(id));
+        }
+    }
+}
+
+void EvalInitialConditionsCodeGen::codeGenInitCompartments(
+        StoreSymbolResolver& modelDataResolver,
+        LoadSymbolResolver& initialValueResolver)
+{
+    vector<string> compartments = dataSymbols.getCompartmentIds();
+
+    for (vector<string>::const_iterator i = compartments.begin();
+            i != compartments.end(); i++)
+    {
+        const string& id = *i;
+
+        if (!dataSymbols.hasAssignmentRule(id) && !dataSymbols.hasInitialAssignmentRule(id))
+        {
+            modelDataResolver.storeSymbolValue(id,
+                    initialValueResolver.loadSymbolValue(id));
+        }
+    }
+}
+
+void EvalInitialConditionsCodeGen::codeGenInitSpecies(
+        StoreSymbolResolver& modelDataResolver,
+        LoadSymbolResolver& initialValueResolver)
+{
+    {
+        vector<string> floatingSpecies = dataSymbols.getFloatingSpeciesIds();
+
+        for (vector<string>::const_iterator i = floatingSpecies.begin();
+                i != floatingSpecies.end(); i++)
+        {
+            const string& id = *i;
+
+            if (dataSymbols.isIndependentInitFloatingSpecies(id))
+            {
+                modelDataResolver.storeSymbolValue(id,
+                        initialValueResolver.loadSymbolValue(id));
+            }
+        }
+    }
+}
+
+
+void EvalInitialConditionsCodeGen::codeGenGlobalParameters(
+        StoreSymbolResolver& modelDataResolver,
+        LoadSymbolResolver& initialValueResolver)
+{
+    vector<string> globalParameters = dataSymbols.getGlobalParameterIds();
+
+    for (vector<string>::const_iterator i = globalParameters.begin();
+            i != globalParameters.end(); i++)
+    {
+        const string& id = *i;
+
+        if (!dataSymbols.hasAssignmentRule(id))
+        {
+            modelDataResolver.storeSymbolValue(id,
+                    initialValueResolver.loadSymbolValue(id));
+        }
+    }
+}
+
+void EvalInitialConditionsCodeGen::codeGenInitGlobalParameters(
+        StoreSymbolResolver& modelDataResolver,
+        LoadSymbolResolver& initialValueResolver)
+{
+    vector<string> parameters = dataSymbols.getGlobalParameterIds();
+
+    for (vector<string>::const_iterator i = parameters.begin();
+            i != parameters.end(); i++)
+    {
+        const string& id = *i;
+
+        if (!dataSymbols.hasAssignmentRule(id) && !dataSymbols.hasInitialAssignmentRule(id))
+        {
+            modelDataResolver.storeSymbolValue(id,
+                    initialValueResolver.loadSymbolValue(id));
+        }
+    }
+}
+
+} /* namespace rr */
diff --git a/source/llvm/EvalInitialConditionsCodeGen.h b/source/llvm/EvalInitialConditionsCodeGen.h
new file mode 100644
index 0000000..5b2284c
--- /dev/null
+++ b/source/llvm/EvalInitialConditionsCodeGen.h
@@ -0,0 +1,73 @@
+/*
+ * EvalInitialValueCodeGen.h
+ *
+ *  Created on: Jun 29, 2013
+ *      Author: andy
+ */
+
+#ifndef EvalInitialValueCodeGenH
+#define EvalInitialValueCodeGenH
+
+#include "ModelGeneratorContext.h"
+#include "CodeGenBase.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "SBMLInitialValueSymbolResolver.h"
+#include "ModelDataSymbolResolver.h"
+#include <sbml/Model.h>
+#include <sbml/SBMLVisitor.h>
+
+namespace rrllvm
+{
+
+typedef void (*EvalInitialConditions_FunctionPtr)(LLVMModelData*, uint32_t);
+
+/**
+ * Generates a function called 'modeldata_initialvalues_set', which evaluates
+ * all of the initial conditions specified in the sbml model (initial values,
+ * initial assigments, etc...) and stores these values in the appropriate
+ * fields in the LLVMModelData structure.
+ *
+ * generated function signature:
+ * void modeldata_initialvalues_set(ModelData *);
+ */
+class EvalInitialConditionsCodeGen:
+    public  CodeGenBase<EvalInitialConditions_FunctionPtr>
+{
+public:
+    EvalInitialConditionsCodeGen(const ModelGeneratorContext &mgc);
+    virtual ~EvalInitialConditionsCodeGen();
+
+    llvm::Value *codeGen();
+
+    static const char* FunctionName;
+    typedef EvalInitialConditions_FunctionPtr FunctionPtr;
+
+private:
+
+    void codeGenSpecies(StoreSymbolResolver& modelDataResolver,
+            LoadSymbolResolver& loadResolver);
+
+    void codeGenStoichiometry(llvm::Value *modelData,
+            ModelDataStoreSymbolResolver& modelDataResolver,
+            LoadSymbolResolver& initialValueResolver);
+
+    void codeGenCompartments(StoreSymbolResolver& modelDataResolver,
+            LoadSymbolResolver& loadResolver);
+
+    void codeGenGlobalParameters(StoreSymbolResolver& modelDataResolver,
+            LoadSymbolResolver& loadResolver);
+
+    void codeGenInitSpecies(StoreSymbolResolver& modelDataResolver,
+            LoadSymbolResolver& loadResolver);
+
+    void codeGenInitCompartments(StoreSymbolResolver& modelDataResolver,
+            LoadSymbolResolver& loadResolver);
+
+    void codeGenInitGlobalParameters(StoreSymbolResolver& modelDataResolver,
+            LoadSymbolResolver& loadResolver);
+};
+
+} /* namespace rr */
+#endif /* EvalInitialValueCodeGenH */
diff --git a/source/llvm/EvalRateRuleRatesCodeGen.cpp b/source/llvm/EvalRateRuleRatesCodeGen.cpp
new file mode 100644
index 0000000..c58ae5e
--- /dev/null
+++ b/source/llvm/EvalRateRuleRatesCodeGen.cpp
@@ -0,0 +1,145 @@
+/*
+ * rrLLVMEvalRateRuleRatesCodeGen.cpp
+ *
+ *  Created on: Aug 2, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "EvalRateRuleRatesCodeGen.h"
+#include "LLVMException.h"
+#include "ASTNodeCodeGen.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataSymbolResolver.h"
+#include "rrLogger.h"
+#include <sbml/math/ASTNode.h>
+#include <sbml/math/FormulaFormatter.h>
+#include <Poco/Logger.h>
+
+
+using namespace libsbml;
+using namespace llvm;
+using namespace std;
+
+
+namespace rrllvm
+{
+
+const char* EvalRateRuleRatesCodeGen::FunctionName = "evalRateRuleRates";
+
+EvalRateRuleRatesCodeGen::EvalRateRuleRatesCodeGen(
+        const ModelGeneratorContext &mgc) :
+        CodeGenBase<EvalRateRuleRates_FunctionPtr>(mgc)
+{
+}
+
+EvalRateRuleRatesCodeGen::~EvalRateRuleRatesCodeGen()
+{
+}
+
+Value* EvalRateRuleRatesCodeGen::codeGen()
+{
+    Value *modelData = 0;
+
+    codeGenVoidModelDataHeader(FunctionName, modelData);
+
+    ModelDataLoadSymbolResolver resolver(modelData, modelGenContext);
+    ModelDataIRBuilder mdbuilder(modelData, dataSymbols, builder);
+    ASTNodeCodeGen astCodeGen(builder, resolver);
+    ASTNodeFactory nodes;
+
+    // iterate through all of the reaction, and generate code based on thier
+    // kinetic rules.
+
+    model->getListOfRules();
+    const ListOfRules *rules = model->getListOfRules();
+
+    for (int i = 0; i < rules->size(); ++i)
+    {
+        const RateRule *rateRule = dynamic_cast<const RateRule*>(rules->get(i));
+        const ASTNode *math = 0;
+
+        if (rateRule)
+        {
+            // check if this rate rule applies to species, we only deal with
+            // amounts and rates of change of amounts, so need to convert
+            // accordignly
+            const Species *species = dynamic_cast<const Species*>(
+                    const_cast<Model*>(model)->getElementBySId(
+                            rateRule->getVariable()));
+
+            if (species)
+            {
+                if (!species->getHasOnlySubstanceUnits())
+                {
+                    // product rule, need to check if we have a rate rule for the
+                    // species compartment.
+                    const RateRule *compRateRule = dynamic_cast<const RateRule*>(
+                            rules->get(species->getCompartment()));
+                    if (compRateRule)
+                    {
+                        Log(Logger::LOG_DEBUG) << "species " << species->getId()
+                                << " is a concentration with time dependent volume, "
+                                "converting conc rate to amt rate using product rule";
+                        ASTNode *dcdt = new ASTNode(*rateRule->getMath());
+                        ASTNode *v = new ASTNode(AST_NAME);
+                        v->setName(species->getCompartment().c_str());
+
+                        ASTNode *dvdt = new ASTNode(*compRateRule->getMath());
+                        ASTNode *c = new ASTNode(AST_NAME);
+                        c->setName(species->getId().c_str());
+
+                        ASTNode *l = new ASTNode(AST_TIMES);
+                        l->addChild(dcdt);
+                        l->addChild(v);
+
+                        ASTNode *r = new ASTNode(AST_TIMES);
+                        r->addChild(dvdt);
+                        r->addChild((v));
+
+                        ASTNode *plus = nodes.create(AST_PLUS);
+                        plus->addChild(l);
+                        plus->addChild(r);
+
+                        math = plus;
+                    }
+                    else
+                    {
+                        Log(Logger::LOG_DEBUG) << "species " << species->getId()
+                                << " is a concentration with constant volume, "
+                                "converting conc rate to amt rate const vol mul";
+
+                        ASTNode *dcdt = new ASTNode(*rateRule->getMath());
+                        ASTNode *v = new ASTNode(AST_NAME);
+                        v->setName(species->getCompartment().c_str());
+
+                        ASTNode *times = nodes.create(AST_TIMES);
+                        times->addChild(dcdt);
+                        times->addChild(v);
+
+                        math = times;
+                    }
+                }
+                else
+                {
+                    Log(Logger::LOG_DEBUG) << "species " << species->getId() <<
+                            " is an amount, creating straight rate rule";
+                    math = rateRule->getMath();
+                }
+            }
+            else
+            {
+                math = rateRule->getMath();
+            }
+            assert(math);
+            Value *value = astCodeGen.codeGen(math);
+
+            mdbuilder.createRateRuleRateStore(rateRule->getVariable(), value);
+        }
+    }
+
+    builder.CreateRetVoid();
+
+    return verifyFunction();
+}
+
+} /* namespace rr */
diff --git a/source/llvm/EvalRateRuleRatesCodeGen.h b/source/llvm/EvalRateRuleRatesCodeGen.h
new file mode 100644
index 0000000..723deed
--- /dev/null
+++ b/source/llvm/EvalRateRuleRatesCodeGen.h
@@ -0,0 +1,40 @@
+/*
+ * EvalRateRuleRatesCodeGen.h
+ *
+ *  Created on: Aug 2, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVMEVALRATERULERATESCODEGEN_H_
+#define RRLLVMEVALRATERULERATESCODEGEN_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include <sbml/Model.h>
+
+namespace rrllvm
+{
+
+typedef void (*EvalRateRuleRates_FunctionPtr)(LLVMModelData*);
+
+/**
+ * evaluate the current model state and store the results in
+ * ModelData.reactionRates
+ */
+class EvalRateRuleRatesCodeGen:
+        public CodeGenBase<EvalRateRuleRates_FunctionPtr>
+{
+public:
+    EvalRateRuleRatesCodeGen(const ModelGeneratorContext &mgc);
+    virtual ~EvalRateRuleRatesCodeGen();
+
+    llvm::Value *codeGen();
+
+    static const char* FunctionName;
+    typedef EvalRateRuleRates_FunctionPtr FunctionPtr;
+};
+} /* namespace rr */
+#endif /* RRLLVMEVALRATERULERATESCODEGEN_H_ */
diff --git a/source/llvm/EvalReactionRatesCodeGen.cpp b/source/llvm/EvalReactionRatesCodeGen.cpp
new file mode 100644
index 0000000..9cbb704
--- /dev/null
+++ b/source/llvm/EvalReactionRatesCodeGen.cpp
@@ -0,0 +1,93 @@
+/*
+ * EvalReactionRatesCodeGen.cpp
+ *
+ *  Created on: Jul 15, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "EvalReactionRatesCodeGen.h"
+#include "LLVMException.h"
+#include "ASTNodeCodeGen.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataSymbolResolver.h"
+#include "KineticLawParameterResolver.h"
+#include "rrLogger.h"
+#include <sbml/math/ASTNode.h>
+#include <sbml/math/FormulaFormatter.h>
+#include <Poco/Logger.h>
+
+
+using namespace libsbml;
+using namespace llvm;
+using namespace std;
+
+
+namespace rrllvm
+{
+
+const char* EvalReactionRatesCodeGen::FunctionName = "evalReactionRates";
+
+EvalReactionRatesCodeGen::EvalReactionRatesCodeGen(
+        const ModelGeneratorContext &mgc) :
+        CodeGenBase<EvalReactionRates_FunctionPtr>(mgc)
+{
+}
+
+EvalReactionRatesCodeGen::~EvalReactionRatesCodeGen()
+{
+}
+
+Value* EvalReactionRatesCodeGen::codeGen()
+{
+    // single arg type of LLVMModelData*
+    llvm::Type *argTypes[] = {
+        llvm::PointerType::get(
+            ModelDataIRBuilder::getStructType(module), 0)
+    };
+
+    const char *argNames[] = { "modelData" };
+
+    llvm::Value *args[] = { 0 };
+
+    codeGenHeader(FunctionName, llvm::Type::getDoubleTy(context),
+                argTypes, argNames, args);
+
+    Value *modelData = args[0];
+
+    ModelDataLoadSymbolResolver resolver(modelData, modelGenContext);
+    ModelDataIRBuilder mdbuilder(modelData, dataSymbols, builder);
+    ASTNodeFactory nodes;
+
+    // iterate through all of the reaction, and generate code based on thier
+    // kinetic rules.
+
+    // currently, our AST does not support assigments, so we do it
+    // here.
+
+    const ListOfReactions *reactions = model->getListOfReactions();
+
+    for (int i = 0; i < reactions->size(); ++i)
+    {
+        const Reaction *r = reactions->get(i);
+        Value *value = resolver.loadReactionRate(r);
+        mdbuilder.createReactionRateStore(r->getId(), value);
+    }
+
+    Value *conversionFactor = 0;
+
+    if (model->isSetConversionFactor() && model->getConversionFactor().length() > 0)
+    {
+        conversionFactor = resolver.loadSymbolValue(model->getConversionFactor());
+    }
+    else
+    {
+        conversionFactor = ConstantFP::get(Type::getDoubleTy(context), 1.0);
+    }
+
+    builder.CreateRet(conversionFactor);
+
+    return verifyFunction();
+}
+
+
+} /* namespace rr */
diff --git a/source/llvm/EvalReactionRatesCodeGen.h b/source/llvm/EvalReactionRatesCodeGen.h
new file mode 100644
index 0000000..6788737
--- /dev/null
+++ b/source/llvm/EvalReactionRatesCodeGen.h
@@ -0,0 +1,43 @@
+/*
+ * EvalReactionRatesCodeGen.h
+ *
+ *  Created on: Jul 15, 2013
+ *      Author: andy
+ */
+
+
+#ifndef EvalReactionRatesCodeGenH
+#define EvalReactionRatesCodeGenH
+
+#include "ModelGeneratorContext.h"
+#include "CodeGenBase.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include <sbml/Model.h>
+
+namespace rrllvm
+{
+
+typedef double (*EvalReactionRates_FunctionPtr)(LLVMModelData*);
+
+/**
+ * evaluate the current model state and store the results in
+ * ModelData.reactionRates
+ */
+class EvalReactionRatesCodeGen:
+    public CodeGenBase<EvalReactionRates_FunctionPtr>
+{
+public:
+    EvalReactionRatesCodeGen(const ModelGeneratorContext &mgc);
+    virtual ~EvalReactionRatesCodeGen();
+
+    llvm::Value *codeGen();
+
+    static const char* FunctionName;
+    typedef EvalReactionRates_FunctionPtr FunctionPtr;
+
+};
+
+} /* namespace rr */
+#endif /* rrLLVMEvalReactionRatesCodeGen */
diff --git a/source/llvm/EvalVolatileStoichCodeGen.cpp b/source/llvm/EvalVolatileStoichCodeGen.cpp
new file mode 100644
index 0000000..65da2eb
--- /dev/null
+++ b/source/llvm/EvalVolatileStoichCodeGen.cpp
@@ -0,0 +1,232 @@
+/*
+ * EvalVolatileStoichCodeGen.cpp
+ *
+ *  Created on: Aug 25, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "EvalVolatileStoichCodeGen.h"
+#include "LLVMException.h"
+#include "ASTNodeCodeGen.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataSymbolResolver.h"
+#include "rrLogger.h"
+
+#include <vector>
+#include <sbml/math/ASTNode.h>
+#include <sbml/math/FormulaFormatter.h>
+#include <Poco/Logger.h>
+
+namespace rrllvm
+{
+using namespace rr;
+using namespace llvm;
+using namespace libsbml;
+using namespace std;
+
+const char* EvalVolatileStoichCodeGen::FunctionName = "evalVolatileStoich";
+
+EvalVolatileStoichCodeGen::EvalVolatileStoichCodeGen(
+        const ModelGeneratorContext &mgc) :
+        CodeGenBase<EvalVolatileStoichCodeGen_FunctionPtr>(mgc)
+{
+}
+
+EvalVolatileStoichCodeGen::~EvalVolatileStoichCodeGen()
+{
+}
+
+Value* EvalVolatileStoichCodeGen::codeGen()
+{
+    Value *modelData = 0;
+
+    codeGenVoidModelDataHeader(FunctionName, modelData);
+
+    ModelDataLoadSymbolResolver resolver(modelData, modelGenContext);
+    ModelDataIRBuilder mdbuilder(modelData, dataSymbols, builder);
+
+    ASTNodeCodeGen astCodeGen(builder, resolver);
+
+    const ListOfReactions *reactions = model->getListOfReactions();
+    for (uint i = 0; i < reactions->size(); ++i)
+    {
+        const Reaction *reaction = reactions->get(i);
+
+        const ListOfSpeciesReferences *products =
+                reaction->getListOfProducts();
+
+        for (uint j = 0; j < products->size(); ++j)
+        {
+            const SpeciesReference *p = (const SpeciesReference*)products->get(j);
+
+            if (p->isSetId() && p->getId().length() > 0 &&
+                    !isConstantSpeciesReference(p))
+            {
+                Log(Logger::LOG_NOTICE) <<
+                        "generating update code for non-constant species "
+                        "reference product " << p->getId();
+
+                Value *value = 0;
+
+                if (dataSymbols.hasAssignmentRule(p->getId())
+                        || dataSymbols.hasRateRule(p->getId()))
+                {
+                    value = resolver.loadSymbolValue(p->getId());
+                }
+
+                else if (p->isSetStoichiometryMath())
+                {
+                    const StoichiometryMath *sm = p->getStoichiometryMath();
+                    value = astCodeGen.codeGen(sm->getMath());
+                }
+
+                else
+                {
+                    Log(Logger::LOG_WARNING) << "species reference "
+                            << p->getId() << " has been determined to be "
+                            "non-constant, but it has no rules or MathML, so"
+                            " no update code will be generated";
+                    continue;
+                }
+
+                assert(value && "value for species reference stoichiometry is 0");
+
+                const LLVMModelDataSymbols::SpeciesReferenceInfo &info =
+                        dataSymbols.getNamedSpeciesReferenceInfo(p->getId());
+
+                mdbuilder.createStoichiometryStore(info.row, info.column,
+                        value, p->getId());
+            }
+        }
+
+
+        const ListOfSpeciesReferences *reactants =
+                reaction->getListOfReactants();
+
+        for (uint j = 0; j < reactants->size(); ++j)
+        {
+            const SpeciesReference *r=
+                    (const SpeciesReference*) reactants->get(j);
+
+            if (r->isSetId() && r->getId().length() > 0
+                    && !isConstantSpeciesReference(r))
+            {
+                Log(Logger::LOG_NOTICE) <<
+                        "generating update code for non-constant species "
+                         "reference reactant " << r->getId();
+
+                const StoichiometryMath *sm = r->getStoichiometryMath();
+                assert(sm);
+
+                Value *value = astCodeGen.codeGen(sm->getMath());
+
+                // reactants are consumed, so they get a negative stoichiometry
+                Value *negOne = ConstantFP::get(builder.getContext(), APFloat(-1.0));
+                negOne->setName("neg_one");
+                value = builder.CreateFMul(negOne, value, "neg_" + r->getId());
+
+                const LLVMModelDataSymbols::SpeciesReferenceInfo &info =
+                        dataSymbols.getNamedSpeciesReferenceInfo(r->getId());
+
+                mdbuilder.createStoichiometryStore(info.row, info.column, value,
+                        r->getId());
+            }
+        }
+    }
+
+    builder.CreateRetVoid();
+
+    return verifyFunction();
+}
+
+bool EvalVolatileStoichCodeGen::isConstantSpeciesReference(
+        const libsbml::SimpleSpeciesReference* ref) const
+{
+    const SpeciesReference *s = dynamic_cast<const SpeciesReference*>(ref);
+    if (!s)
+    {
+        return false;
+    }
+
+    if (ref->getLevel() >= 3 && ref->getVersion() >= 1)
+    {
+        return s->getConstant();
+    }
+    else if (dataSymbols.hasRateRule(s->getId())
+            || dataSymbols.hasAssignmentRule(s->getId()))
+    {
+        return false;
+    }
+    else if (s->isSetStoichiometryMath())
+    {
+        return isConstantASTNode(s->getStoichiometryMath()->getMath());
+    }
+    return true;
+}
+
+template<typename type>
+static bool isSetConstant(const SBase* e, bool& isSetConst)
+{
+    const type* p = dynamic_cast<const type*>(e);
+    if (p)
+    {
+        if (p->getLevel() >= 3 && p->getVersion() >= 1)
+        {
+            isSetConst = p->isSetConstant();
+        }
+        else
+        {
+            isSetConst = false;
+        }
+        return true;
+    }
+    return false;
+}
+
+bool EvalVolatileStoichCodeGen::isConstantASTNode(const ASTNode *ast) const
+{
+    const uint n = ast->getNumChildren();
+    if (n > 0)
+    {
+        for (uint i = 0; i < n; ++i)
+        {
+            if (!isConstantASTNode(ast->getChild(i)))
+            {
+                return false;
+            }
+        }
+        return true;
+    }
+    else if (ast->isName())
+    {
+        const SBase* element = const_cast<Model*>(model)->getElementBySId(
+                ast->getName());
+
+        bool result;
+
+        if (isSetConstant<Parameter>(element, result))
+        {
+            return result;
+        }
+        else if (isSetConstant<Compartment>(element, result))
+        {
+            return result;
+        }
+        else if (isSetConstant<Species>(element, result))
+        {
+            return result;
+        }
+        else if (isSetConstant<SpeciesReference>(element, result))
+        {
+            return result;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    return true;
+}
+
+
+} /* namespace rrllvm */
diff --git a/source/llvm/EvalVolatileStoichCodeGen.h b/source/llvm/EvalVolatileStoichCodeGen.h
new file mode 100644
index 0000000..ee2281b
--- /dev/null
+++ b/source/llvm/EvalVolatileStoichCodeGen.h
@@ -0,0 +1,55 @@
+/*
+ * EvalVolatileStoichCodeGen.h
+ *
+ *  Created on: Aug 25, 2013
+ *      Author: andy
+ */
+
+#ifndef EVALVOLATILESTOICHCODEGEN_H_
+#define EVALVOLATILESTOICHCODEGEN_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include <sbml/Model.h>
+
+
+
+namespace rrllvm
+{
+
+typedef void (*EvalVolatileStoichCodeGen_FunctionPtr)(LLVMModelData*);
+
+class EvalVolatileStoichCodeGen:
+        public CodeGenBase<EvalVolatileStoichCodeGen_FunctionPtr>
+{
+public:
+    EvalVolatileStoichCodeGen(const ModelGeneratorContext &mgc);
+    virtual ~EvalVolatileStoichCodeGen();
+
+    llvm::Value *codeGen();
+
+    static const char* FunctionName;
+
+private:
+    /**
+     * determine if the given reference dpends on any non-constant elements.
+     *
+     * only support non-constant species reference on l3v1 docs or above,
+     * currently we can't determine if earlier version species references
+     * are constant or not.
+     */
+    bool isConstantSpeciesReference(const
+        libsbml::SimpleSpeciesReference* ref) const;
+
+    /**
+     * go through the AST tree and see if any names reference non-constant
+     * document elements.
+     */
+   bool isConstantASTNode(const libsbml::ASTNode *ast) const;
+};
+
+} /* namespace rrllvm */
+#endif /* EVALVOLATILESTOICHCODEGEN_H_ */
diff --git a/source/llvm/EventAssignCodeGen.cpp b/source/llvm/EventAssignCodeGen.cpp
new file mode 100644
index 0000000..447aef4
--- /dev/null
+++ b/source/llvm/EventAssignCodeGen.cpp
@@ -0,0 +1,54 @@
+/*
+ * EventAssignCodeGen.cpp
+ *
+ *  Created on: Aug 11, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "EventAssignCodeGen.h"
+#include "ModelDataIRBuilder.h"
+#include "ModelDataSymbolResolver.h"
+#include "ASTNodeCodeGen.h"
+
+namespace rrllvm
+{
+
+using namespace llvm;
+using namespace libsbml;
+
+const char* EventAssignCodeGen::FunctionName = "eventAssign";
+
+EventAssignCodeGen::EventAssignCodeGen(const ModelGeneratorContext& mgc) :
+        EventCodeGenBase<EventAssignCodeGen>(mgc)
+{
+}
+
+EventAssignCodeGen::~EventAssignCodeGen()
+{
+}
+
+bool EventAssignCodeGen::eventCodeGen(llvm::Value *modelData,
+        llvm::Value *data, const libsbml::Event *event)
+{
+    ModelDataIRBuilder mdBuilder(modelData, dataSymbols, builder);
+    ModelDataLoadSymbolResolver mdLoadResolver(modelData, modelGenContext);
+    ModelDataStoreSymbolResolver mdStoreResolver(modelData, model, modelSymbols,
+            dataSymbols, builder, mdLoadResolver);
+
+    const ListOfEventAssignments *assignments = event->getListOfEventAssignments();
+
+    for(uint id = 0; id < assignments->size(); ++id)
+    {
+        const EventAssignment *a = assignments->get(id);
+        Value *loc = builder.CreateConstGEP1_32(data, id);
+        Value *value = builder.CreateLoad(loc, a->getVariable() + "_data");
+        mdStoreResolver.storeSymbolValue(a->getVariable(), value);
+    }
+
+    return true;
+}
+
+
+} /* namespace rr */
+
+
diff --git a/source/llvm/EventAssignCodeGen.h b/source/llvm/EventAssignCodeGen.h
new file mode 100644
index 0000000..e49d971
--- /dev/null
+++ b/source/llvm/EventAssignCodeGen.h
@@ -0,0 +1,29 @@
+/*
+ * EventAssignCodeGen.h
+ *
+ *  Created on: Aug 11, 2013
+ *      Author: andy
+ */
+
+#ifndef EVENTASSIGNCODEGEN_H_
+#define EVENTASSIGNCODEGEN_H_
+
+#include "EventCodeGenBase.h"
+
+namespace rrllvm
+{
+
+class EventAssignCodeGen: public EventCodeGenBase<EventAssignCodeGen>
+{
+public:
+    EventAssignCodeGen(const ModelGeneratorContext &mgc);
+    ~EventAssignCodeGen();
+
+    bool eventCodeGen(llvm::Value *modelData, llvm::Value *data,
+            const libsbml::Event* event);
+
+    static const char* FunctionName;
+};
+
+} /* namespace rr */
+#endif /* EVENTASSIGNCODEGEN_H_ */
diff --git a/source/llvm/EventCodeGenBase.h b/source/llvm/EventCodeGenBase.h
new file mode 100644
index 0000000..7a1479d
--- /dev/null
+++ b/source/llvm/EventCodeGenBase.h
@@ -0,0 +1,120 @@
+/*
+ * EventCodeGenBase.h
+ *
+ *  Created on: Aug 11, 2013
+ *      Author: andy
+ */
+
+#ifndef EVENTCODEGENBASE_H_
+#define EVENTCODEGENBASE_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeCodeGen.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "ModelDataSymbolResolver.h"
+#include "LLVMException.h"
+#include "rrLogger.h"
+#include <sbml/Model.h>
+#include <Poco/Logger.h>
+#include <vector>
+#include <cstdio>
+
+namespace rrllvm
+{
+
+typedef void (*EventCodeGenBase_FunctionPtr)(LLVMModelData*, int32_t, double*);
+
+template <typename Derived>
+class EventCodeGenBase :
+        public CodeGenBase<EventCodeGenBase_FunctionPtr>
+{
+public:
+    EventCodeGenBase(const ModelGeneratorContext &mgc) :
+            CodeGenBase<EventCodeGenBase_FunctionPtr>(mgc)
+    {
+    };
+
+    virtual ~EventCodeGenBase() {};
+
+    llvm::Value *codeGen();
+
+    /**
+     * derived classes must implement this method to generate the event
+     * trigger / assignment code.
+     *
+     * Derived classes are called with an event and this call is in the middle
+     * of the code generation block. So, a derived class should simply begin
+     * outputing the instruction so process all of the event assignments /
+     * triggers in this call. The base class takes care of generating
+     * the return value.
+     */
+    bool eventCodeGen (llvm::Value *modelData, llvm::Value *data,
+            const libsbml::Event *event)
+    {
+        return false;
+    };
+
+    typedef EventCodeGenBase_FunctionPtr FunctionPtr;
+};
+
+template <typename Derived>
+llvm::Value *EventCodeGenBase<Derived>::codeGen()
+{
+    // make the set init value function
+    llvm::Type *argTypes[] = {
+        llvm::PointerType::get(ModelDataIRBuilder::getStructType(this->module), 0),
+        llvm::Type::getInt32Ty(this->context),
+        llvm::Type::getDoublePtrTy(this->context)
+    };
+
+    const char *argNames[] = {
+        "modelData", "eventIndx", "data"
+    };
+
+    llvm::Value *args[] = {0, 0, 0};
+
+    llvm::Type *retType = llvm::Type::getVoidTy(context);
+
+    llvm::BasicBlock *entry = this->codeGenHeader(Derived::FunctionName, retType,
+            argTypes, argNames, args);
+
+    const libsbml::ListOfEvents *events = this->model->getListOfEvents();
+
+    // default, return NaN
+    llvm::BasicBlock *def = llvm::BasicBlock::Create(this->context, "default", this->function);
+    this->builder.SetInsertPoint(def);
+
+    this->builder.CreateRetVoid();
+
+    // write the switch at the func entry point, the switch is also the
+    // entry block terminator
+    this->builder.SetInsertPoint(entry);
+
+    llvm::SwitchInst *s = this->builder.CreateSwitch(args[1], def, events->size());
+
+    for (uint i = 0; i < events->size(); ++i)
+    {
+        char block_name[64];
+        std::sprintf(block_name, "event_%i_block", i);
+        llvm::BasicBlock *block = llvm::BasicBlock::Create(this->context, block_name, this->function);
+        this->builder.SetInsertPoint(block);
+
+        const libsbml::Event *event = events->get(i);
+
+        bool cont = static_cast<Derived*>(this)->eventCodeGen(args[0], args[2], event);
+
+        this->builder.CreateRetVoid();
+        s->addCase(llvm::ConstantInt::get(llvm::Type::getInt32Ty(this->context), i), block);
+
+        if (!cont) break;
+    }
+
+    return this->verifyFunction();
+}
+
+}
+
+#endif /* EVENTCODEGENBASE_H_ */
diff --git a/source/llvm/EventQueue.cpp b/source/llvm/EventQueue.cpp
new file mode 100644
index 0000000..a67671c
--- /dev/null
+++ b/source/llvm/EventQueue.cpp
@@ -0,0 +1,311 @@
+/*
+ * EventQueue.cpp
+ *
+ *  Created on: Aug 16, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "EventQueue.h"
+#include "LLVMExecutableModel.h"
+#include "rrLogger.h"
+#include <algorithm>
+#include <cstring>
+#include <iomanip>
+
+static void dump_array(std::ostream &os, int n, const double *p)
+{
+    if (p)
+    {
+        os << std::setiosflags(std::ios::floatfield) << std::setprecision(8);
+        os << '[';
+        for (int i = 0; i < n; ++i)
+        {
+            os << p[i];
+            if (i < n - 1)
+            {
+                os << ", ";
+            }
+        }
+        os << ']' ;
+    }
+    else
+    {
+        os << "NULL" ;
+    }
+}
+
+using namespace rr;
+
+namespace rrllvm
+{
+
+Event::Event(LLVMExecutableModel& model, uint id) :
+        model(model),
+        id(id),
+        delay(model.getEventDelay(id)),
+        assignTime(delay + model.getTime()),
+        dataSize(model.getEventBufferSize(id)),
+        data(new double[model.getEventBufferSize(id)])
+{
+    if (model.getEventUseValuesFromTriggerTime(id))
+    {
+        model.getEventData(id, data);
+    }
+    else
+    {
+        std::memset(data, 0, dataSize * sizeof(double));
+    }
+
+    Log(Logger::LOG_DEBUG) << "created event at time " << model.getTime() <<
+            ": " << *this;
+}
+
+Event::Event(const Event& o) :
+        model(o.model),
+        id(o.id),
+        delay(o.delay),
+        assignTime(o.assignTime),
+        dataSize(o.dataSize),
+        data(new double[o.dataSize])
+{
+    std::copy(o.data, o.data + o.dataSize, data);
+}
+
+Event& Event::operator=(const Event& rhs )
+{
+    delete data;
+    model = rhs.model;
+    id = rhs.id;
+    delay = rhs.delay;
+    assignTime = rhs.assignTime;
+    dataSize = rhs.dataSize;
+    data = new double[rhs.dataSize];
+    std::copy(rhs.data, rhs.data + rhs.dataSize, data);
+    return *this;
+}
+
+Event::~Event()
+{
+    delete[] data;
+}
+
+bool Event::isExpired() const
+{
+    return !(model.getEventTrigger(id) || model.getEventPersistent(id));
+}
+
+bool Event::isCurrent() const
+{
+    return delay == 0.0 && (model.getEventPersistent(id) ||
+            model.getEventTrigger(id));
+}
+
+double Event::getPriority() const
+{
+    return model.getEventPriority(id);
+}
+
+void Event::assign() const
+{
+    if (!model.getEventUseValuesFromTriggerTime(id))
+    {
+        model.getEventData(id, data);
+    }
+    Log(Logger::LOG_DEBUG) << "assigning event: " << *this;
+    model.assignEvent(id, data);
+}
+
+bool Event::isPersistent() const
+{
+    return model.getEventPersistent(id);
+}
+
+bool Event::useValuesFromTriggerTime() const
+{
+    return model.getEventUseValuesFromTriggerTime(id);
+}
+
+bool Event::isTriggered() const
+{
+    return model.getEventTrigger(id);
+}
+
+bool operator<(const Event& a, const Event& b)
+{
+    if (a.assignTime != b.assignTime)
+    {
+        return a.assignTime < b.assignTime;
+    }
+    else
+    {
+        double ap = a.getPriority();
+        double bp = b.getPriority();
+        return ap > bp;
+    }
+}
+
+bool Event::isRipe() const
+{
+    return ((isPersistent() || isTriggered()) &&
+            (delay == 0.0 || assignTime <= model.getTime()));
+
+}
+
+std::ostream& operator <<(std::ostream& os, const Event& event)
+{
+    os << "Event{ " << event.id << ", " <<
+            event.model.getEventTrigger(event.id) << ", " <<
+            event.isExpired() << ", " << event.isCurrent() << ", " <<
+            event.getPriority() << ", " << event.delay << ", " <<
+            event.assignTime << ", ";
+
+    dump_array(os, event.dataSize, event.data);
+
+    os << "}";
+
+    return os;
+}
+
+struct EventPredicate
+{
+    EventPredicate(uint eventId) : eventId(eventId) {};
+
+    bool operator()(const rrllvm::Event& event) const
+    {
+        return event.id == eventId;
+    }
+
+    uint eventId;
+};
+
+bool EventQueue::eraseExpiredEvents()
+{
+    bool erased = false;
+    iterator i = c.begin();
+    while (i != c.end())
+    {
+        if (!(*i).isExpired())
+        {
+            ++i;
+        }
+        else
+        {
+            Log(Logger::LOG_DEBUG) << "removing expired event: " << *i;
+            i = c.erase(i);
+            erased = true;
+        }
+    }
+    return erased;
+}
+
+bool EventQueue::hasCurrentEvents()
+{
+    return size() && top().isCurrent();
+}
+
+
+
+bool EventQueue::applyEvents()
+{
+    bool applied = false;
+    if (c.size())
+    {
+        Log(Logger::LOG_DEBUG) << "event list before sort: " << *this;
+
+        c.sort();
+
+        Log(Logger::LOG_DEBUG) << "event list after sort, before apply: " << *this;
+
+        std::deque<iterator> ripe;
+        iterator i = c.begin();
+        while (i != c.end())
+        {
+            if (i->isRipe())
+            {
+                ripe.push_back(i);
+            }
+
+            const Event& a = *i;
+            ++i;
+            if (i != c.end() && a < (*i))
+            {
+                break;
+            }
+        }
+
+        Log(Logger::LOG_DEBUG) << "found " << ripe.size() << " ripe events";
+
+        if (ripe.size())
+        {
+            uint index = std::rand() % ripe.size();
+            iterator i = ripe[index];
+
+            Log(Logger::LOG_DEBUG) << "assigning the " << index << "\'th item";
+            (*i).assign();
+
+            c.erase(i);
+
+            applied = true;
+
+            Log(Logger::LOG_DEBUG) << "event list after apply: " << *this;
+        }
+    }
+
+    if(applied)
+    {
+        // erase doesn't care about heap property, but heapifies
+        // if something was erased, we need to return the queue
+        // in heapified state, so heapify in not already heapified
+        // by erase.
+        eraseExpiredEvents();
+    }
+
+    return applied;
+}
+
+uint EventQueue::size() const
+{
+    return c.size();
+}
+
+void EventQueue::push(const Event& e)
+{
+    c.push_back(e);
+}
+
+EventQueue::const_reference EventQueue::top()
+{
+    c.sort();
+    return c.front();
+}
+
+double EventQueue::getNextPendingEventTime()
+{
+    if (size())
+    {
+        return top().assignTime;
+    }
+    else
+    {
+        return 0;
+    }
+}
+
+std::ostream& operator<< (std::ostream& stream, const EventQueue& queue)
+{
+    stream << "EventQueue {" << std::endl;
+    int j = 0;
+    for(EventQueue::const_iterator i = queue.c.begin(); i != queue.c.end(); ++i)
+    {
+        stream << "event " << j++ << ": " << *i << std::endl;
+    }
+    stream << "}";
+
+    return stream;
+}
+
+}
+
+
+
+
diff --git a/source/llvm/EventQueue.h b/source/llvm/EventQueue.h
new file mode 100644
index 0000000..fcb95f1
--- /dev/null
+++ b/source/llvm/EventQueue.h
@@ -0,0 +1,151 @@
+/*
+ * EventQueue.h
+ *
+ *  Created on: Aug 16, 2013
+ *      Author: andy
+ */
+
+#ifndef EVENTQUEUE_H_
+#define EVENTQUEUE_H_
+
+#include "rrOSSpecifics.h"
+#include <deque>
+#include <queue>
+#include <list>
+#include <ostream>
+
+
+namespace rrllvm {
+
+class LLVMExecutableModel;
+
+class Event
+{
+public:
+    Event(LLVMExecutableModel&, uint id);
+    Event(const Event& other);
+    Event& operator=( const Event& rhs );
+    ~Event();
+
+
+    void assign() const;
+
+    bool isExpired() const;
+
+    /**
+     * delay is zero and either persistent or triggered.
+     */
+    bool isCurrent() const;
+
+    double getPriority() const;
+
+    bool isPersistent() const;
+
+    bool useValuesFromTriggerTime() const;
+
+    bool isTriggered() const;
+
+    /**
+     * is this event ready to be applied
+     */
+    bool isRipe() const;
+
+
+    LLVMExecutableModel& model;
+    uint id;
+    double delay;
+    double assignTime;
+    uint dataSize;
+
+    /**
+     * data block where assignment rules evaluations are stored
+     * if useValuesFromTriggerTime is set.
+     *
+     * TODO: this should probably be allocated with the
+     * ModelData structure. Original idea was that more than one
+     * event of a type may be queued, but I don't think this is
+     * possible.
+     */
+    double* data;
+
+
+    friend bool operator<(const Event& a, const Event& b);
+
+};
+
+std::ostream& operator <<(std::ostream& os, const Event& data);
+
+
+class EventQueue
+{
+public:
+    typedef std::list<rrllvm::Event> _Sequence;
+    typedef std::less<_Sequence::value_type> _Compare;
+    typedef _Sequence::const_iterator const_iterator;
+    typedef _Sequence::iterator iterator;
+    typedef _Sequence::const_reference const_reference;
+
+    /**
+     * remove expired events from the queue.
+     */
+    bool eraseExpiredEvents();
+
+    /**
+     * are any events current (delay == 0 and triggered or persistant)
+     */
+    bool hasCurrentEvents();
+
+    /**
+     * assign all of the top most events with the same priority
+     * and remove them from the queue.
+     *
+     * @returns true if any events were assigned, false otherwise.
+     */
+    bool applyEvents();
+
+    /**
+     * number of events in the queue
+     */
+    uint size() const;
+
+    /**
+     * event with lowest time to assignment and highest priority.
+     */
+    const_reference top();
+
+    /**
+     * insert a new event into the queue.
+     *
+     * The queue is re-sorted.
+     */
+    void push(const Event& e);
+
+    /**
+     * the time the next event is sceduled to be assigned.
+     */
+    double getNextPendingEventTime();
+
+
+    friend std::ostream& operator<< (std::ostream& stream, const EventQueue& queue);
+
+private:
+
+    /**
+     * the data structure that holds the collection of events.
+     *
+     * Currently use a list, sortable and constant time insertion.
+     */
+    _Sequence  c;
+    _Compare   comp;
+};
+
+std::ostream& operator<< (std::ostream& stream, const EventQueue& queue);
+
+
+
+
+} /* namespace rrllvm */
+
+
+
+#endif /* EVENTQUEUE_H_ */
diff --git a/source/llvm/EventTriggerCodeGen.cpp b/source/llvm/EventTriggerCodeGen.cpp
new file mode 100644
index 0000000..5fb16ab
--- /dev/null
+++ b/source/llvm/EventTriggerCodeGen.cpp
@@ -0,0 +1,57 @@
+/*
+ * EventTriggerCodeGen.cpp
+ *
+ *  Created on: Aug 11, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "EventTriggerCodeGen.h"
+#include "ModelDataIRBuilder.h"
+#include "ModelDataSymbolResolver.h"
+#include "ASTNodeCodeGen.h"
+
+namespace rrllvm
+{
+
+using namespace llvm;
+using namespace libsbml;
+
+const char* EventTriggerCodeGen::FunctionName = "eventTrigger";
+
+EventTriggerCodeGen::EventTriggerCodeGen(const ModelGeneratorContext& mgc) :
+        EventCodeGenBase<EventTriggerCodeGen>(mgc)
+{
+}
+
+EventTriggerCodeGen::~EventTriggerCodeGen()
+{
+}
+
+bool EventTriggerCodeGen::eventCodeGen(llvm::Value *modelData,
+        llvm::Value *data, const libsbml::Event* event)
+{
+    ModelDataIRBuilder mdBuilder(modelData, dataSymbols, builder);
+    ModelDataLoadSymbolResolver mdLoadResolver(modelData, modelGenContext);
+    ModelDataStoreSymbolResolver mdStoreResolver(modelData, model, modelSymbols,
+            dataSymbols, builder, mdLoadResolver);
+    ASTNodeCodeGen astCodeGen(builder, mdLoadResolver);
+
+    const ListOfEventAssignments *assignments =
+            event->getListOfEventAssignments();
+
+    for (uint id = 0; id < assignments->size(); ++id)
+    {
+        const EventAssignment *a = assignments->get(id);
+        const ASTNode *math = a->getMath();
+        Value *value = astCodeGen.codeGen(math);
+
+        Value *loc = builder.CreateConstGEP1_32(data, id);
+        builder.CreateStore(value, loc);
+    }
+
+    return true;
+}
+
+} /* namespace rr */
+
+
diff --git a/source/llvm/EventTriggerCodeGen.h b/source/llvm/EventTriggerCodeGen.h
new file mode 100644
index 0000000..0f1087c
--- /dev/null
+++ b/source/llvm/EventTriggerCodeGen.h
@@ -0,0 +1,31 @@
+/*
+ * EventTriggerCodeGen.h
+ *
+ *  Created on: Aug 11, 2013
+ *      Author: andy
+ */
+
+#ifndef EVENTTRIGGERCODEGEN_H_
+#define EVENTTRIGGERCODEGEN_H_
+
+#include "EventCodeGenBase.h"
+
+namespace rrllvm
+{
+
+typedef void (*EventTriggerCodeGen_FunctionPtr)(LLVMModelData*, int32_t);
+
+class EventTriggerCodeGen: public EventCodeGenBase<EventTriggerCodeGen>
+{
+public:
+    EventTriggerCodeGen(const ModelGeneratorContext &mgc);
+    ~EventTriggerCodeGen();
+
+    bool eventCodeGen(llvm::Value *modelData, llvm::Value *data,
+            const libsbml::Event* event);
+
+    static const char* FunctionName;
+};
+
+} /* namespace rr */
+#endif /* EVENTTRIGGERCODEGEN_H_ */
diff --git a/source/llvm/FunctionResolver.cpp b/source/llvm/FunctionResolver.cpp
new file mode 100644
index 0000000..c80b5d7
--- /dev/null
+++ b/source/llvm/FunctionResolver.cpp
@@ -0,0 +1,142 @@
+/*
+ * FunctionResolver.cpp
+ *
+ *  Created on: Aug 11, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "FunctionResolver.h"
+#include "ASTNodeCodeGen.h"
+#include "LLVMException.h"
+#include "rrStringUtils.h"
+#include <sbml/common/libsbml-version.h>
+#include <sbml/common/libsbml-config-packages.h>
+
+#ifdef LIBSBML_HAS_PACKAGE_DISTRIB
+#include <sbml/packages/distrib/common/DistribExtensionTypes.h>
+#include "DistribFunctionResolver.h"
+#endif
+
+
+namespace rrllvm
+{
+
+using namespace libsbml;
+using namespace std;
+using namespace llvm;
+
+using rr::Logger;
+using rr::getLogger;
+
+FunctionResolver::FunctionResolver(LoadSymbolResolver& parentResolver,
+        llvm::Value *modelData,
+        const ModelGeneratorContext& ctx) :
+                modelGenContext(ctx),
+                parentResolver(parentResolver),
+                model(ctx.getModel()),
+                builder(ctx.getBuilder()),
+                modelData(modelData),
+                symbols(0)
+{
+}
+
+
+llvm::Value* FunctionResolver::loadSymbolValue(const std::string& symbol,
+        const llvm::ArrayRef<llvm::Value*>& args)
+{
+    const FunctionDefinition *funcDef = 0;
+    if (symbols)
+    {
+        map<string,Value*>::const_iterator i = symbols->find(symbol);
+        if (i != symbols->end())
+        {
+            return i->second;
+        }
+        else
+        {
+            return parentResolver.loadSymbolValue(symbol, args);
+        }
+    }
+    else if ((funcDef = model->getListOfFunctionDefinitions()->get(symbol)))
+    {
+        // check if a function is a distrib function, these can not call any other
+        // functions or look up and values, these just return a value from a
+        // random distribution.
+        #ifdef LIBSBML_HAS_PACKAGE_DISTRIB
+        const DistribFunctionDefinitionPlugin *distribFunc =
+            dynamic_cast<const DistribFunctionDefinitionPlugin*>(funcDef->getPlugin("distrib"));
+        if(distribFunc)
+        {
+            DistribFunctionResolver distribFuncResolver(modelGenContext, modelData);
+            return distribFuncResolver.loadSymbolValue(funcDef, distribFunc, args);
+        }
+        #endif
+
+        recursiveSymbolPush(symbol);
+
+        const ASTNode *math = funcDef->getMath();
+        const unsigned nchild = math->getNumChildren();
+
+        if (!math->isLambda())
+        {
+            throw_llvm_exception(symbol + ", math element of function definition must be a lambda");
+        }
+
+        // must have at least one trailing apply node
+        if (nchild < 1)
+        {
+            throw_llvm_exception("function node " + symbol + " must have at least one child node, "
+                    "this node has " + rr::toString(nchild) +  " child nodes");
+        }
+
+        if (nchild - 1 != args.size())
+        {
+            string expected = rr::toString(nchild - 1);
+            string got = rr::toString((int)args.size());
+
+            throw_llvm_exception(symbol + ", argument count does not match, expected " +
+                    expected + ", recieved: " + got);
+        }
+
+        symbols = new map<string, Value*>();
+
+        // first set of child nodes are bvars, these go into new local scope
+        for (uint i = 0; i < nchild - 1; ++i)
+        {
+            const ASTNode *c = math->getChild(i);
+#if (LIBSBML_VERSION >= 51000)
+            // assert(c && c->getType() == AST_QUALIFIER_BVAR);
+#else
+            assert(c->isBvar());
+#endif
+            (*symbols)[c->getName()] = args[i];
+        }
+
+        ASTNodeCodeGen astCodeGen(builder, *this);
+
+        // the last child should be an apply node
+        const ASTNode *apply = math->getChild(nchild - 1);
+        Value *result = astCodeGen.codeGen(apply);
+
+        delete symbols;
+        symbols = 0;
+
+        recursiveSymbolPop();
+
+        return result;
+    }
+
+    return 0;
+}
+
+void FunctionResolver::recursiveSymbolPush(const std::string& symbol)
+{
+    parentResolver.recursiveSymbolPush(symbol);
+}
+
+void FunctionResolver::recursiveSymbolPop()
+{
+    parentResolver.recursiveSymbolPop();
+}
+
+} /* namespace rr */
diff --git a/source/llvm/FunctionResolver.h b/source/llvm/FunctionResolver.h
new file mode 100644
index 0000000..e22d59f
--- /dev/null
+++ b/source/llvm/FunctionResolver.h
@@ -0,0 +1,53 @@
+/*
+ * FunctionResolver.h
+ *
+ *  Created on: Aug 11, 2013
+ *      Author: andy
+ */
+
+#ifndef EVENTSYMBOLRESOLVER_H_
+#define EVENTSYMBOLRESOLVER_H_
+
+#include "CodeGen.h"
+#include "ModelGeneratorContext.h"
+#include <map>
+
+namespace rrllvm
+{
+
+/**
+ * Not thread safe -- but perfectly fine if stack allocated.
+ */
+class FunctionResolver: public LoadSymbolResolver
+{
+public:
+    FunctionResolver(LoadSymbolResolver& parentResolver,
+            llvm::Value *modelData,
+            const ModelGeneratorContext& ctx);
+
+    virtual ~FunctionResolver() {};
+
+    virtual llvm::Value *loadSymbolValue(const std::string& symbol,
+            const llvm::ArrayRef<llvm::Value*>& args =
+                    llvm::ArrayRef<llvm::Value*>());
+
+    virtual void recursiveSymbolPush(const std::string& symbol);
+
+    virtual void recursiveSymbolPop();
+
+private:
+    LoadSymbolResolver& parentResolver;
+    const ModelGeneratorContext& modelGenContext;
+    const libsbml::Model *model;
+    llvm::IRBuilder<> &builder;
+    llvm::Value *modelData;
+
+    /**
+     * only valid during an outer call to loadSymbolValue, otherwise
+     * is null.
+     */
+    std::map<std::string, llvm::Value*> *symbols;
+};
+
+} /* namespace rr */
+#endif /* EVENTSYMBOLRESOLVER_H_ */
diff --git a/source/llvm/GetEventValuesCodeGen.cpp b/source/llvm/GetEventValuesCodeGen.cpp
new file mode 100644
index 0000000..3ac9fd7
--- /dev/null
+++ b/source/llvm/GetEventValuesCodeGen.cpp
@@ -0,0 +1,131 @@
+/*
+ * GetEventValuesCodeGen.cpp
+ *
+ *  Created on: Aug 10, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "GetEventValuesCodeGen.h"
+#include "LLVMException.h"
+#include "ModelDataSymbolResolver.h"
+#include "rrLogger.h"
+
+#include <Poco/Logger.h>
+#include <vector>
+
+using namespace llvm;
+using namespace std;
+using namespace libsbml;
+
+namespace rrllvm
+{
+
+const char* GetEventTriggerCodeGen::FunctionName = "getEventTrigger";
+const char* GetEventTriggerCodeGen::IndexArgName = "triggerIndx";
+
+GetEventTriggerCodeGen::GetEventTriggerCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetEventValueCodeGenBase<GetEventTriggerCodeGen,
+        GetEventTriggerCodeGen_FunctionPtr>(mgc)
+{
+}
+
+llvm::Type *GetEventTriggerCodeGen::getRetType()
+{
+    return llvm::Type::getInt8Ty(context);
+};
+
+llvm::Value *GetEventTriggerCodeGen::createRet(llvm::Value *value)
+{
+    if (!value)
+    {
+        return llvm::ConstantInt::get(getRetType(), 0xff, false);
+    }
+    else
+    {
+        return builder.CreateIntCast(value, getRetType(), false);
+    }
+}
+
+const libsbml::ASTNode* GetEventTriggerCodeGen::getMath(
+        const libsbml::Event* event)
+{
+    const Trigger *trigger = event->getTrigger();
+    return trigger->getMath();
+}
+
+
+const char* GetEventPriorityCodeGen::FunctionName = "getEventPriority";
+const char* GetEventPriorityCodeGen::IndexArgName = "priorityIndx";
+
+GetEventPriorityCodeGen::GetEventPriorityCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetEventValueCodeGenBase<GetEventPriorityCodeGen>(mgc),
+        node(0)
+{
+}
+
+GetEventPriorityCodeGen::~GetEventPriorityCodeGen()
+{
+    delete node;
+}
+
+const libsbml::ASTNode* GetEventPriorityCodeGen::getMath(
+        const libsbml::Event* event)
+{
+    if (event->isSetPriority())
+    {
+        return event->getPriority()->getMath();
+    }
+    else
+    {
+        if (!node)
+        {
+            node = new ASTNode(AST_REAL);
+            node->setValue(0);
+        }
+        return node;
+    }
+}
+
+const char* GetEventDelayCodeGen::FunctionName = "getEventDelay";
+const char* GetEventDelayCodeGen::IndexArgName = "delayIndx";
+
+GetEventDelayCodeGen::GetEventDelayCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetEventValueCodeGenBase<GetEventDelayCodeGen>(mgc),
+        node(0)
+{
+}
+
+GetEventDelayCodeGen::~GetEventDelayCodeGen()
+{
+    delete node;
+}
+
+const libsbml::ASTNode* GetEventDelayCodeGen::getMath(
+        const libsbml::Event* event)
+{
+    if (event->isSetDelay())
+    {
+        const Delay *delay = event->getDelay();
+        return delay->getMath();
+    }
+    else
+    {
+        if (!node)
+        {
+            node = new ASTNode(AST_REAL);
+            node->setValue(0);
+        }
+        return node;
+    }
+}
+
+
+
+} /* namespace rr */
+
+
+
+
diff --git a/source/llvm/GetEventValuesCodeGen.h b/source/llvm/GetEventValuesCodeGen.h
new file mode 100644
index 0000000..27c8110
--- /dev/null
+++ b/source/llvm/GetEventValuesCodeGen.h
@@ -0,0 +1,188 @@
+/*
+ * GetEventValuesCodeGenBas.h
+ *
+ *  Created on: Aug 10, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVMGETEVENTVALUECODEGENBASE_H_
+#define RRLLVMGETEVENTVALUECODEGENBASE_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeCodeGen.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "ModelDataSymbolResolver.h"
+#include "LLVMException.h"
+#include "rrLogger.h"
+#include <sbml/Model.h>
+#include <Poco/Logger.h>
+#include <vector>
+#include <cstdio>
+
+namespace rrllvm
+{
+
+typedef double (*GetEventValueCodeGenBase_FunctionPtr)(LLVMModelData*, int32_t);
+
+template <typename Derived, typename
+    FunctionPtrType=GetEventValueCodeGenBase_FunctionPtr>
+class GetEventValueCodeGenBase :
+        public CodeGenBase<FunctionPtrType>
+{
+public:
+    GetEventValueCodeGenBase(const ModelGeneratorContext &mgc) :
+            CodeGenBase<FunctionPtrType>(mgc)
+    {
+    };
+
+    virtual ~GetEventValueCodeGenBase() {};
+
+    llvm::Value *codeGen();
+
+    typedef FunctionPtrType FunctionPtr;
+
+    /**
+     * default ret type is double, derived classes
+     * must override if usign non-default func sic
+     */
+    llvm::Type *getRetType()
+    {
+        return llvm::Type::getDoubleTy(this->context);
+    }
+
+    /**
+     * create a return type, a zero value should return the default type
+     */
+    llvm::Value *createRet(llvm::Value* value)
+    {
+        return value ? value :
+                llvm::ConstantFP::get(this->context, llvm::APFloat(123.456));
+    }
+
+};
+
+template <typename Derived, typename FunctionPtrType>
+llvm::Value *GetEventValueCodeGenBase<Derived, FunctionPtrType>::codeGen()
+{
+    // make the set init value function
+    llvm::Type *argTypes[] = {
+        llvm::PointerType::get(ModelDataIRBuilder::getStructType(this->module), 0),
+        llvm::Type::getInt32Ty(this->context)
+    };
+
+    const char *argNames[] = {
+        "modelData", Derived::IndexArgName
+    };
+
+    llvm::Value *args[] = {0, 0};
+
+    llvm::Type *retType = static_cast<Derived*>(this)->getRetType();
+
+    llvm::BasicBlock *entry = this->codeGenHeader(Derived::FunctionName, retType,
+            argTypes, argNames, args);
+
+    const libsbml::ListOfEvents *events = this->model->getListOfEvents();
+
+    ModelDataLoadSymbolResolver resolver(args[0], this->modelGenContext);
+
+    ASTNodeCodeGen astCodeGen(this->builder, resolver);
+
+    // default, return NaN
+    llvm::BasicBlock *def = llvm::BasicBlock::Create(this->context, "default", this->function);
+    this->builder.SetInsertPoint(def);
+
+    llvm::Value *defRet = static_cast<Derived*>(this)->createRet(0);
+    this->builder.CreateRet(defRet);
+
+    // write the switch at the func entry point, the switch is also the
+    // entry block terminator
+    this->builder.SetInsertPoint(entry);
+
+    llvm::SwitchInst *s = this->builder.CreateSwitch(args[1], def, events->size());
+
+    for (uint i = 0; i < events->size(); ++i)
+    {
+        char block_name[64];
+        std::sprintf(block_name, "event_%i_block", i);
+        llvm::BasicBlock *block = llvm::BasicBlock::Create(this->context, block_name, this->function);
+        this->builder.SetInsertPoint(block);
+        resolver.flushCache();
+
+        const libsbml::Event *event = events->get(i);
+
+        const libsbml::ASTNode *math = static_cast<Derived*>(this)->getMath(event);
+
+        // the requested value
+        llvm::Value *value = astCodeGen.codeGen(math);
+
+        // convert type to return type
+        value = static_cast<Derived*>(this)->createRet(value);
+
+        this->builder.CreateRet(value);
+        s->addCase(llvm::ConstantInt::get(llvm::Type::getInt32Ty(this->context), i), block);
+    }
+
+    return this->verifyFunction();
+}
+
+typedef unsigned char (*GetEventTriggerCodeGen_FunctionPtr)(LLVMModelData*, int32_t);
+
+class GetEventTriggerCodeGen: public
+    GetEventValueCodeGenBase<GetEventTriggerCodeGen,
+    GetEventTriggerCodeGen_FunctionPtr>
+{
+public:
+    GetEventTriggerCodeGen(const ModelGeneratorContext &mgc);
+    ~GetEventTriggerCodeGen() {};
+
+    const libsbml::ASTNode *getMath(const libsbml::Event *);
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+
+    llvm::Type *getRetType();
+
+    llvm::Value *createRet(llvm::Value*);
+};
+
+class GetEventPriorityCodeGen: public
+    GetEventValueCodeGenBase<GetEventPriorityCodeGen>
+{
+public:
+    GetEventPriorityCodeGen(const ModelGeneratorContext &mgc);
+    ~GetEventPriorityCodeGen();
+
+    const libsbml::ASTNode *getMath(const libsbml::Event *);
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+
+private:
+    libsbml::ASTNode *node;
+};
+
+class GetEventDelayCodeGen: public
+    GetEventValueCodeGenBase<GetEventDelayCodeGen>
+{
+public:
+    GetEventDelayCodeGen(const ModelGeneratorContext &mgc);
+    ~GetEventDelayCodeGen();
+
+    const libsbml::ASTNode *getMath(const libsbml::Event *);
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+private:
+    libsbml::ASTNode *node;
+};
+
+
+} /* namespace rr */
+
+
+
+
+#endif /* RRLLVMGETVALUECODEGENBASE_H_ */
diff --git a/source/llvm/GetInitialValueCodeGenBase.h b/source/llvm/GetInitialValueCodeGenBase.h
new file mode 100644
index 0000000..e3df6f4
--- /dev/null
+++ b/source/llvm/GetInitialValueCodeGenBase.h
@@ -0,0 +1,143 @@
+/*
+ *
+ *  Created on: Jul 29, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVM_GETINITIALVALUECODEGENBASE_H_
+#define RRLLVM_GETINITIALVALUECODEGENBASE_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "ModelInitialValueSymbolResolver.h"
+#include "LLVMException.h"
+#include "rrLogger.h"
+#include <sbml/Model.h>
+#include <Poco/Logger.h>
+#include <vector>
+
+namespace rrllvm
+{
+
+typedef double (*GetInitialValueCodeGenBase_FunctionPtr)(LLVMModelData*, int32_t);
+
+template <typename Derived, bool substanceUnits>
+class GetInitialValueCodeGenBase :
+        public CodeGenBase<GetInitialValueCodeGenBase_FunctionPtr>
+{
+public:
+    GetInitialValueCodeGenBase(const ModelGeneratorContext &mgc);
+    virtual ~GetInitialValueCodeGenBase();
+
+    llvm::Value *codeGen();
+
+    typedef GetInitialValueCodeGenBase_FunctionPtr FunctionPtr;
+
+};
+
+template <typename Derived, bool substanceUnits>
+GetInitialValueCodeGenBase<Derived, substanceUnits>::GetInitialValueCodeGenBase(
+        const ModelGeneratorContext &mgc) :
+        CodeGenBase<GetInitialValueCodeGenBase_FunctionPtr>(mgc)
+{
+}
+
+template <typename Derived, bool substanceUnits>
+GetInitialValueCodeGenBase<Derived, substanceUnits>::~GetInitialValueCodeGenBase()
+{
+}
+
+template <typename Derived, bool substanceUnits>
+llvm::Value* GetInitialValueCodeGenBase<Derived, substanceUnits>::codeGen()
+{
+    // make the set init value function
+    llvm::Type *argTypes[] = {
+        llvm::PointerType::get(ModelDataIRBuilder::getStructType(this->module), 0),
+        llvm::Type::getInt32Ty(this->context)
+    };
+
+    const char *argNames[] = {
+        "modelData", Derived::IndexArgName
+    };
+
+    llvm::Value *args[] = {0, 0};
+
+    llvm::BasicBlock *entry = this->codeGenHeader(Derived::FunctionName, llvm::Type::getDoubleTy(this->context),
+            argTypes, argNames, args);
+
+    std::vector<std::string> ids = static_cast<Derived*>(this)->getIds();
+
+    ModelInitialValueSymbolResolver resolver(args[0], this->modelGenContext);
+
+    // default, return NaN
+    llvm::BasicBlock *def = llvm::BasicBlock::Create(this->context, "default", this->function);
+    this->builder.SetInsertPoint(def);
+
+    this->builder.CreateRet(llvm::ConstantFP::get(this->context,
+            llvm::APFloat::getQNaN(llvm::APFloat::IEEEdouble)));
+
+    // write the switch at the func entry point, the switch is also the
+    // entry block terminator
+    this->builder.SetInsertPoint(entry);
+
+    llvm::SwitchInst *s = this->builder.CreateSwitch(args[1], def, ids.size());
+
+    for (int i = 0; i < ids.size(); ++i)
+    {
+        llvm::BasicBlock *block = llvm::BasicBlock::Create(this->context, ids[i] + "_block", this->function);
+        this->builder.SetInsertPoint(block);
+
+        // the requested value
+        llvm::Value *value = resolver.loadSymbolValue(ids[i]);
+
+        // need to check if we have an amount or concentration and check if we
+        // are asked for asked for an amount or concentration and convert accordingly
+        const libsbml::Species *species = dynamic_cast<const libsbml::Species*>(
+                const_cast<libsbml::Model*>(this->model)->getElementBySId(ids[i]));
+
+        if(species)
+        {
+            if (species->getHasOnlySubstanceUnits())
+            {
+                value->setName(ids[i] + "_amt");
+                // species is treated as an amount
+                if (!substanceUnits)
+                {
+                    // convert to concentration
+                    llvm::Value *comp = resolver.loadSymbolValue(species->getCompartment());
+                    value = this->builder.CreateFDiv(value, comp, ids[i] + "_conc");
+                }
+            }
+            else
+            {
+                value->setName(ids[i] + "_conc");
+                // species is treated as a concentration
+                if (substanceUnits)
+                {
+                    // convert to amount
+                    llvm::Value *comp = resolver.loadSymbolValue(species->getCompartment());
+                    value = this->builder.CreateFMul(value, comp, ids[i] + "_amt");
+                }
+            }
+        }
+        else
+        {
+            value->setName(ids[i] + "_value");
+        }
+        this->builder.CreateRet(value);
+        s->addCase(llvm::ConstantInt::get(llvm::Type::getInt32Ty(this->context), i), block);
+    }
+
+    return this->verifyFunction();
+}
+
+
+} /* namespace rr */
+
+
+
+
+#endif /* RRLLVM_GETINITIALVALUECODEGENBASE_H_ */
diff --git a/source/llvm/GetInitialValuesCodeGen.cpp b/source/llvm/GetInitialValuesCodeGen.cpp
new file mode 100644
index 0000000..fce4fdb
--- /dev/null
+++ b/source/llvm/GetInitialValuesCodeGen.cpp
@@ -0,0 +1,68 @@
+/*
+ * GetValuesCodeGen.cpp
+ *
+ *  Created on: Jul 27, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "GetInitialValuesCodeGen.h"
+#include "LLVMException.h"
+#include "ModelDataSymbolResolver.h"
+#include "rrLogger.h"
+
+#include <Poco/Logger.h>
+#include <vector>
+
+using namespace llvm;
+using namespace std;
+
+namespace rrllvm
+{
+
+
+
+const char* GetFloatingSpeciesInitConcentrationCodeGen::FunctionName = "getFloatingSpeciesInitConcentration";
+const char* GetFloatingSpeciesInitConcentrationCodeGen::IndexArgName = "floatingSpeciesIndex";
+
+GetFloatingSpeciesInitConcentrationCodeGen::GetFloatingSpeciesInitConcentrationCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetInitialValueCodeGenBase<GetFloatingSpeciesInitConcentrationCodeGen, false>(mgc)
+{
+}
+
+
+const char* GetFloatingSpeciesInitAmountCodeGen::FunctionName = "getFloatingSpeciesInitAmount";
+const char* GetFloatingSpeciesInitAmountCodeGen::IndexArgName = "floatingSpeciesIndex";
+
+GetFloatingSpeciesInitAmountCodeGen::GetFloatingSpeciesInitAmountCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetInitialValueCodeGenBase<GetFloatingSpeciesInitAmountCodeGen, true>(mgc)
+{
+}
+
+const char* GetCompartmentInitVolumeCodeGen::FunctionName = "getCompartmentInitVolume";
+const char* GetCompartmentInitVolumeCodeGen::IndexArgName = "compartmentIndex";
+
+GetCompartmentInitVolumeCodeGen::GetCompartmentInitVolumeCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetInitialValueCodeGenBase<GetCompartmentInitVolumeCodeGen, false>(mgc)
+{
+}
+
+
+const char* GetGlobalParameterInitValueCodeGen::FunctionName = "getGlobalParmeterInitValue";
+const char* GetGlobalParameterInitValueCodeGen::IndexArgName = "globalParameterIndex";
+
+GetGlobalParameterInitValueCodeGen::GetGlobalParameterInitValueCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetInitialValueCodeGenBase<GetGlobalParameterInitValueCodeGen, false>(mgc)
+{
+}
+
+
+
+
+
+
+} /* namespace rr */
+
diff --git a/source/llvm/GetInitialValuesCodeGen.h b/source/llvm/GetInitialValuesCodeGen.h
new file mode 100644
index 0000000..b0ba503
--- /dev/null
+++ b/source/llvm/GetInitialValuesCodeGen.h
@@ -0,0 +1,91 @@
+/*
+ * GetValuesCodeGen.h
+ *
+ *  Created on: Jul 27, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVM_GETINITIALVALUESCODEGEN_H_
+#define RRLLVM_GETINITIALVALUESCODEGEN_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "GetInitialValueCodeGenBase.h"
+#include <sbml/Model.h>
+
+namespace rrllvm
+{
+
+
+
+class GetFloatingSpeciesInitConcentrationCodeGen: public
+    GetInitialValueCodeGenBase<GetFloatingSpeciesInitConcentrationCodeGen, false>
+{
+public:
+    GetFloatingSpeciesInitConcentrationCodeGen(const ModelGeneratorContext &mgc);
+    ~GetFloatingSpeciesInitConcentrationCodeGen() {};
+
+    std::vector<string> getIds()
+    {
+        return dataSymbols.getFloatingSpeciesIds();
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class GetFloatingSpeciesInitAmountCodeGen: public
+    GetInitialValueCodeGenBase<GetFloatingSpeciesInitAmountCodeGen, true>
+{
+public:
+    GetFloatingSpeciesInitAmountCodeGen(const ModelGeneratorContext &mgc);
+    ~GetFloatingSpeciesInitAmountCodeGen() {};
+
+    std::vector<string> getIds()
+    {
+        return dataSymbols.getFloatingSpeciesIds();
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class GetCompartmentInitVolumeCodeGen: public
+    GetInitialValueCodeGenBase<GetCompartmentInitVolumeCodeGen, false>
+{
+public:
+    GetCompartmentInitVolumeCodeGen(const ModelGeneratorContext &mgc);
+    ~GetCompartmentInitVolumeCodeGen() {};
+
+    std::vector<string> getIds()
+    {
+        return dataSymbols.getCompartmentIds();
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class GetGlobalParameterInitValueCodeGen: public
+    GetInitialValueCodeGenBase<GetGlobalParameterInitValueCodeGen, false>
+{
+public:
+    GetGlobalParameterInitValueCodeGen(const ModelGeneratorContext &mgc);
+    ~GetGlobalParameterInitValueCodeGen() {};
+
+    std::vector<string> getIds()
+    {
+        return dataSymbols.getGlobalParameterIds();
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+
+
+} /* namespace rr */
+#endif /* RRLLVM_GETINITIALVALUESCODEGEN_H_ */
diff --git a/source/llvm/GetValueCodeGenBase.h b/source/llvm/GetValueCodeGenBase.h
new file mode 100644
index 0000000..47b7014
--- /dev/null
+++ b/source/llvm/GetValueCodeGenBase.h
@@ -0,0 +1,143 @@
+/*
+ *
+ *  Created on: Jul 29, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVMGETVALUECODEGENBASE_H_
+#define RRLLVMGETVALUECODEGENBASE_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "ModelDataSymbolResolver.h"
+#include "LLVMException.h"
+#include "rrLogger.h"
+#include <sbml/Model.h>
+#include <Poco/Logger.h>
+#include <vector>
+
+namespace rrllvm
+{
+
+typedef double (*GetValueCodeGenBase_FunctionPtr)(LLVMModelData*, int32_t);
+
+template <typename Derived, bool substanceUnits>
+class GetValueCodeGenBase :
+        public CodeGenBase<GetValueCodeGenBase_FunctionPtr>
+{
+public:
+    GetValueCodeGenBase(const ModelGeneratorContext &mgc);
+    virtual ~GetValueCodeGenBase();
+
+    llvm::Value *codeGen();
+
+    typedef GetValueCodeGenBase_FunctionPtr FunctionPtr;
+
+};
+
+template <typename Derived, bool substanceUnits>
+GetValueCodeGenBase<Derived, substanceUnits>::GetValueCodeGenBase(
+        const ModelGeneratorContext &mgc) :
+        CodeGenBase<GetValueCodeGenBase_FunctionPtr>(mgc)
+{
+}
+
+template <typename Derived, bool substanceUnits>
+GetValueCodeGenBase<Derived, substanceUnits>::~GetValueCodeGenBase()
+{
+}
+
+template <typename Derived, bool substanceUnits>
+llvm::Value* GetValueCodeGenBase<Derived, substanceUnits>::codeGen()
+{
+    // make the set init value function
+    llvm::Type *argTypes[] = {
+        llvm::PointerType::get(ModelDataIRBuilder::getStructType(this->module), 0),
+        llvm::Type::getInt32Ty(this->context)
+    };
+
+    const char *argNames[] = {
+        "modelData", Derived::IndexArgName
+    };
+
+    llvm::Value *args[] = {0, 0};
+
+    llvm::BasicBlock *entry = this->codeGenHeader(Derived::FunctionName, llvm::Type::getDoubleTy(this->context),
+            argTypes, argNames, args);
+
+    std::vector<string> ids = static_cast<Derived*>(this)->getIds();
+
+    ModelDataLoadSymbolResolver resolver(args[0], this->modelGenContext);
+    // default, return NaN
+    llvm::BasicBlock *def = llvm::BasicBlock::Create(this->context, "default", this->function);
+    this->builder.SetInsertPoint(def);
+
+    this->builder.CreateRet(llvm::ConstantFP::get(this->context,
+            llvm::APFloat::getQNaN(llvm::APFloat::IEEEdouble)));
+
+    // write the switch at the func entry point, the switch is also the
+    // entry block terminator
+    this->builder.SetInsertPoint(entry);
+
+    llvm::SwitchInst *s = this->builder.CreateSwitch(args[1], def, ids.size());
+
+    for (int i = 0; i < ids.size(); ++i)
+    {
+        llvm::BasicBlock *block = llvm::BasicBlock::Create(this->context, ids[i] + "_block", this->function);
+        this->builder.SetInsertPoint(block);
+        resolver.flushCache();
+
+        // the requested value
+        llvm::Value *value = resolver.loadSymbolValue(ids[i]);
+
+        // need to check if we have an amount or concentration and check if we
+        // are asked for asked for an amount or concentration and convert accordingly
+        const libsbml::Species *species = dynamic_cast<const libsbml::Species*>(
+                const_cast<libsbml::Model*>(this->model)->getElementBySId(ids[i]));
+
+        if(species)
+        {
+            if (species->getHasOnlySubstanceUnits())
+            {
+                value->setName(ids[i] + "_amt");
+                // species is treated as an amount
+                if (!substanceUnits)
+                {
+                    // convert to concentration
+                    llvm::Value *comp = resolver.loadSymbolValue(species->getCompartment());
+                    value = this->builder.CreateFDiv(value, comp, ids[i] + "_conc");
+                }
+            }
+            else
+            {
+                value->setName(ids[i] + "_conc");
+                // species is treated as a concentration
+                if (substanceUnits)
+                {
+                    // convert to amount
+                    llvm::Value *comp = resolver.loadSymbolValue(species->getCompartment());
+                    value = this->builder.CreateFMul(value, comp, ids[i] + "_amt");
+                }
+            }
+        }
+        else
+        {
+            value->setName(ids[i] + "_value");
+        }
+        this->builder.CreateRet(value);
+        s->addCase(llvm::ConstantInt::get(llvm::Type::getInt32Ty(this->context), i), block);
+    }
+
+    return this->verifyFunction();
+}
+
+
+} /* namespace rr */
+
+
+
+
+#endif /* RRLLVMGETVALUECODEGENBASE_H_ */
diff --git a/source/llvm/GetValuesCodeGen.cpp b/source/llvm/GetValuesCodeGen.cpp
new file mode 100644
index 0000000..02d57cd
--- /dev/null
+++ b/source/llvm/GetValuesCodeGen.cpp
@@ -0,0 +1,84 @@
+/*
+ * GetValuesCodeGen.cpp
+ *
+ *  Created on: Jul 27, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "GetValuesCodeGen.h"
+#include "LLVMException.h"
+#include "ModelDataSymbolResolver.h"
+#include "rrLogger.h"
+
+#include <Poco/Logger.h>
+#include <vector>
+
+using namespace llvm;
+using namespace std;
+
+namespace rrllvm
+{
+
+const char* GetBoundarySpeciesAmountCodeGen::FunctionName = "getBoundarySpeciesAmount";
+const char* GetBoundarySpeciesAmountCodeGen::IndexArgName = "boundarySpeciesIndex";
+
+GetBoundarySpeciesAmountCodeGen::GetBoundarySpeciesAmountCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetValueCodeGenBase<GetBoundarySpeciesAmountCodeGen, true>(mgc)
+{
+}
+
+
+const char* GetFloatingSpeciesAmountCodeGen::FunctionName = "getFloatingSpeciesAmount";
+const char* GetFloatingSpeciesAmountCodeGen::IndexArgName = "floatingSpeciesIndex";
+
+GetFloatingSpeciesAmountCodeGen::GetFloatingSpeciesAmountCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetValueCodeGenBase<GetFloatingSpeciesAmountCodeGen, true>(mgc)
+{
+}
+
+const char* GetBoundarySpeciesConcentrationCodeGen::FunctionName = "getBoundarySpeciesConcentration";
+const char* GetBoundarySpeciesConcentrationCodeGen::IndexArgName = "boundarySpeciesIndex";
+
+GetBoundarySpeciesConcentrationCodeGen::GetBoundarySpeciesConcentrationCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetValueCodeGenBase<GetBoundarySpeciesConcentrationCodeGen, false>(mgc)
+{
+}
+
+
+const char* GetFloatingSpeciesConcentrationCodeGen::FunctionName = "getFloatingSpeciesConcentration";
+const char* GetFloatingSpeciesConcentrationCodeGen::IndexArgName = "floatingSpeciesIndex";
+
+GetFloatingSpeciesConcentrationCodeGen::GetFloatingSpeciesConcentrationCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetValueCodeGenBase<GetFloatingSpeciesConcentrationCodeGen, false>(mgc)
+{
+}
+
+const char* GetCompartmentVolumeCodeGen::FunctionName = "getCompartmentVolume";
+const char* GetCompartmentVolumeCodeGen::IndexArgName = "compartmentIndex";
+
+GetCompartmentVolumeCodeGen::GetCompartmentVolumeCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetValueCodeGenBase<GetCompartmentVolumeCodeGen, false>(mgc)
+{
+}
+
+
+const char* GetGlobalParameterCodeGen::FunctionName = "getGlobalParameter";
+const char* GetGlobalParameterCodeGen::IndexArgName = "globalParameterIndex";
+
+GetGlobalParameterCodeGen::GetGlobalParameterCodeGen(
+        const ModelGeneratorContext &mgc) :
+        GetValueCodeGenBase<GetGlobalParameterCodeGen, false>(mgc)
+{
+}
+
+
+
+
+
+} /* namespace rr */
+
diff --git a/source/llvm/GetValuesCodeGen.h b/source/llvm/GetValuesCodeGen.h
new file mode 100644
index 0000000..c4d52c9
--- /dev/null
+++ b/source/llvm/GetValuesCodeGen.h
@@ -0,0 +1,121 @@
+/*
+ * GetValuesCodeGen.h
+ *
+ *  Created on: Jul 27, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVM_GETVALUESCODEGEN_H_
+#define RRLLVM_GETVALUESCODEGEN_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "GetValueCodeGenBase.h"
+#include <sbml/Model.h>
+
+namespace rrllvm
+{
+
+class GetBoundarySpeciesAmountCodeGen: public
+    GetValueCodeGenBase<GetBoundarySpeciesAmountCodeGen, true>
+{
+public:
+    GetBoundarySpeciesAmountCodeGen(const ModelGeneratorContext &mgc);
+    ~GetBoundarySpeciesAmountCodeGen() {};
+
+    std::vector<string> getIds()
+    {
+        return dataSymbols.getBoundarySpeciesIds();
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class GetFloatingSpeciesAmountCodeGen: public
+    GetValueCodeGenBase<GetFloatingSpeciesAmountCodeGen, true>
+{
+public:
+    GetFloatingSpeciesAmountCodeGen(const ModelGeneratorContext &mgc);
+    ~GetFloatingSpeciesAmountCodeGen() {};
+
+    std::vector<string> getIds()
+    {
+        return dataSymbols.getFloatingSpeciesIds();
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class GetBoundarySpeciesConcentrationCodeGen: public
+    GetValueCodeGenBase<GetBoundarySpeciesConcentrationCodeGen, false>
+{
+public:
+    GetBoundarySpeciesConcentrationCodeGen(const ModelGeneratorContext &mgc);
+    ~GetBoundarySpeciesConcentrationCodeGen() {};
+
+    std::vector<string> getIds()
+    {
+        return dataSymbols.getBoundarySpeciesIds();
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class GetFloatingSpeciesConcentrationCodeGen: public
+    GetValueCodeGenBase<GetFloatingSpeciesConcentrationCodeGen, false>
+{
+public:
+    GetFloatingSpeciesConcentrationCodeGen(const ModelGeneratorContext &mgc);
+    ~GetFloatingSpeciesConcentrationCodeGen() {};
+
+    std::vector<string> getIds()
+    {
+        return dataSymbols.getFloatingSpeciesIds();
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class GetCompartmentVolumeCodeGen: public
+    GetValueCodeGenBase<GetCompartmentVolumeCodeGen, false>
+{
+public:
+    GetCompartmentVolumeCodeGen(const ModelGeneratorContext &mgc);
+    ~GetCompartmentVolumeCodeGen() {};
+
+    std::vector<string> getIds()
+    {
+        return dataSymbols.getCompartmentIds();
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class GetGlobalParameterCodeGen: public
+    GetValueCodeGenBase<GetGlobalParameterCodeGen, false>
+{
+public:
+    GetGlobalParameterCodeGen(const ModelGeneratorContext &mgc);
+    ~GetGlobalParameterCodeGen() {};
+
+    std::vector<string> getIds()
+    {
+        return dataSymbols.getGlobalParameterIds();
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+
+
+} /* namespace rr */
+#endif /* RRLLVM_GETVALUESCODEGEN_H_ */
diff --git a/source/llvm/KineticLawParameterResolver.cpp b/source/llvm/KineticLawParameterResolver.cpp
new file mode 100644
index 0000000..9103ede
--- /dev/null
+++ b/source/llvm/KineticLawParameterResolver.cpp
@@ -0,0 +1,70 @@
+/*
+ * LocalParameterSymbolResolver.cpp
+ *
+ *  Created on: Aug 14, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "KineticLawParameterResolver.h"
+#include "LLVMIncludes.h"
+#include "rrLogger.h"
+#include <sbml/Reaction.h>
+
+using namespace llvm;
+using namespace libsbml;
+
+using rr::Logger;
+using rr::getLogger;
+
+namespace rrllvm
+{
+
+KineticLawParameterResolver::KineticLawParameterResolver(
+        LoadSymbolResolver& parentResolver,
+        const libsbml::KineticLaw& kineticLaw, llvm::IRBuilder<>& builder) :
+                parentResolver(parentResolver),
+                kineticLaw(kineticLaw),
+                builder(builder)
+{
+}
+
+
+llvm::Value* KineticLawParameterResolver::loadSymbolValue(
+        const std::string& symbol,
+        const llvm::ArrayRef<llvm::Value*>& args)
+{
+    const libsbml::Parameter *parameter =
+            kineticLaw.getLocalParameter(symbol);
+
+    if (!parameter)
+    {
+        parameter = kineticLaw.getParameter(symbol);
+    }
+
+    if (parameter)
+    {
+        const Reaction *reaction = (const Reaction*)kineticLaw.getParentSBMLObject();
+        Log(Logger::LOG_DEBUG) << "reaction id " << reaction->getId() <<
+                " found local parameter for symbol " << symbol <<
+                ", value: " << parameter->getValue();
+
+        Value *value =  ConstantFP::get(builder.getContext(),
+                APFloat(parameter->getValue()));
+        value->setName(symbol + "_local");
+        return value;
+    }
+
+    return parentResolver.loadSymbolValue(symbol, args);
+}
+
+void KineticLawParameterResolver::recursiveSymbolPush(const std::string& symbol)
+{
+    parentResolver.recursiveSymbolPush(symbol);
+}
+
+void KineticLawParameterResolver::recursiveSymbolPop()
+{
+    parentResolver.recursiveSymbolPop();
+}
+
+} /* namespace rr */
diff --git a/source/llvm/KineticLawParameterResolver.h b/source/llvm/KineticLawParameterResolver.h
new file mode 100644
index 0000000..06a80d6
--- /dev/null
+++ b/source/llvm/KineticLawParameterResolver.h
@@ -0,0 +1,40 @@
+/*
+ * KineticLawParameterResolver.h
+ *
+ *  Created on: Aug 14, 2013
+ *      Author: andy
+ */
+
+#ifndef KineticLawParameterResolver_H_
+#define KineticLawParameterResolver_H_
+
+#include "CodeGen.h"
+#include <sbml/KineticLaw.h>
+
+namespace rrllvm
+{
+
+class KineticLawParameterResolver: public LoadSymbolResolver
+{
+public:
+    KineticLawParameterResolver(LoadSymbolResolver& parentResolver,
+            const libsbml::KineticLaw &kineticLaw, llvm::IRBuilder<> &builder);
+
+    virtual ~KineticLawParameterResolver() {};
+
+    virtual llvm::Value *loadSymbolValue(const std::string& symbol,
+            const llvm::ArrayRef<llvm::Value*>& args =
+                    llvm::ArrayRef<llvm::Value*>());
+
+    virtual void recursiveSymbolPush(const std::string& symbol);
+
+    virtual void recursiveSymbolPop();
+
+private:
+    LoadSymbolResolver& parentResolver;
+    const libsbml::KineticLaw &kineticLaw;
+    llvm::IRBuilder<> &builder;
+};
+
+} /* namespace rr */
+#endif /* KineticLawParameterResolver_H_ */
diff --git a/source/llvm/LLVMCompiler.cpp b/source/llvm/LLVMCompiler.cpp
new file mode 100644
index 0000000..dbd3fa7
--- /dev/null
+++ b/source/llvm/LLVMCompiler.cpp
@@ -0,0 +1,87 @@
+/*
+ * LLVMCompiler.cpp
+ *
+ * Created on: Jun 3, 2013
+ *
+ * Author: Andy Somogyi,
+ *     email decode: V1 = "."; V2 = "@"; V3 = V1;
+ *     andy V1 somogyi V2 gmail V3 com
+ */
+#pragma hdrstop
+#include "LLVMCompiler.h"
+#include "rrUtils.h"
+#include "LLVMIncludes.h"
+#include <sstream>
+#include <ctime>
+
+using namespace rr;
+namespace rrllvm
+{
+
+LLVMCompiler::LLVMCompiler()
+{
+}
+
+LLVMCompiler::~LLVMCompiler()
+{
+}
+
+std::string LLVMCompiler::getCompiler() const
+{
+    return "LLVM";
+}
+
+bool LLVMCompiler::setCompiler(const std::string& compiler)
+{
+    return true;
+}
+
+std::string LLVMCompiler::getCompilerLocation() const
+{
+    return "not used";
+}
+
+bool LLVMCompiler::setCompilerLocation(const std::string& path)
+{
+    return true;
+}
+
+std::string LLVMCompiler::getSupportCodeFolder() const
+{
+    return "not used";
+}
+
+bool LLVMCompiler::setSupportCodeFolder(const std::string& path)
+{
+    return true;
+}
+
+std::string LLVMCompiler::getDefaultTargetTriple()
+{
+    return llvm::sys::getDefaultTargetTriple();
+}
+
+std::string LLVMCompiler::getProcessTriple()
+{
+#if (LLVM_VERSION_MAJOR >= 3) && (LLVM_VERSION_MINOR > 2)
+    return llvm::sys::getProcessTriple();
+#else
+    return "getProcessTriple() is not support on LLVM <= 3.2";
+#endif
+}
+
+std::string LLVMCompiler::getHostCPUName()
+{
+    return llvm::sys::getHostCPUName();
+}
+
+std::string LLVMCompiler::getVersion()
+{
+    std::stringstream ss;
+    ss << LLVM_VERSION_MAJOR << "." << LLVM_VERSION_MINOR;
+    return ss.str();
+}
+
+} /* namespace rr */
+
+
diff --git a/source/llvm/LLVMCompiler.h b/source/llvm/LLVMCompiler.h
new file mode 100644
index 0000000..c6dca23
--- /dev/null
+++ b/source/llvm/LLVMCompiler.h
@@ -0,0 +1,68 @@
+/*
+ * LLVMCompiler.h
+ *
+ * Created on: Jun 3, 2013
+ *
+ * Author: Andy Somogyi,
+ *     email decode: V1 = "."; V2 = "@"; V3 = V1;
+ *     andy V1 somogyi V2 gmail V3 com
+ */
+
+#ifndef LLVMCompilerH
+#define LLVMCompilerH
+
+#include "rrCompiler.h"
+
+namespace rrllvm
+{
+
+class RR_DECLSPEC LLVMCompiler: public rr::Compiler
+{
+public:
+    LLVMCompiler();
+    virtual ~LLVMCompiler();
+
+    virtual std::string getCompiler() const;
+    virtual bool setCompiler(const std::string& compiler);
+
+    virtual std::string getCompilerLocation() const;
+    virtual bool setCompilerLocation(const std::string& path);
+
+    virtual std::string getSupportCodeFolder() const;
+    virtual bool setSupportCodeFolder(const std::string& path);
+
+
+    /**
+     * getDefaultTargetTriple() - Return the default target triple the compiler
+     * has been configured to produce code for.
+     *
+     * The target triple is a string in the format of:
+     *   CPU_TYPE-VENDOR-OPERATING_SYSTEM
+     * or
+     *   CPU_TYPE-VENDOR-KERNEL-OPERATING_SYSTEM
+     */
+    virtual std::string getDefaultTargetTriple();
+
+    /**
+     * getProcessTriple() - Return an appropriate target triple for generating
+     * code to be loaded into the current process, e.g. when using the JIT.
+     */
+    virtual std::string getProcessTriple();
+
+    /**
+     * getHostCPUName - Get the LLVM name for the host CPU. The particular format
+     * of the name is target dependent, and suitable for passing as -mcpu to the
+     * target which matches the host.
+     *
+     * \return - The host CPU name, or empty if the CPU could not be determined.
+     */
+    virtual std::string getHostCPUName();
+
+    /**
+     * get the version of the compiler.
+     */
+    virtual std::string getVersion();
+};
+
+} /* namespace rr */
+#endif /* LLVMCompilerH */
diff --git a/source/llvm/LLVMException.h b/source/llvm/LLVMException.h
new file mode 100644
index 0000000..ac7edfa
--- /dev/null
+++ b/source/llvm/LLVMException.h
@@ -0,0 +1,42 @@
+/*
+ * LLVMException.h
+ *
+ *  Created on: Jun 30, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVMEXCEPTION_H_
+#define RRLLVMEXCEPTION_H_
+
+#include <stdexcept>
+#include "rrLogger.h"
+#include "rrOSSpecifics.h"
+
+namespace rrllvm
+{
+
+class LLVMException: public std::runtime_error
+{
+public:
+    explicit LLVMException(const std::string& what) :
+            std::runtime_error(what)
+    {
+    }
+
+    explicit LLVMException(const std::string& what, const std::string &where) :
+            std::runtime_error(what + ", at " + where)
+    {
+    }
+};
+
+#define throw_llvm_exception(what) \
+        {  \
+            Log(rr::Logger::LOG_INFORMATION) << "LLVMException, what: " \
+                << what << ", where: " << __FUNC__; \
+                throw LLVMException(what, __FUNC__); \
+        }
+
+
+}
+
+#endif /* RRLLVMEXCEPTION_H_ */
diff --git a/source/llvm/LLVMExecutableModel.cpp b/source/llvm/LLVMExecutableModel.cpp
new file mode 100644
index 0000000..50c7881
--- /dev/null
+++ b/source/llvm/LLVMExecutableModel.cpp
@@ -0,0 +1,2205 @@
+/*
+ * LLVMExecutableModel.cpp
+ *
+ * Author: Andy Somogyi,
+ *     email decode: V1 = "."; V2 = "@"; V3 = V1;
+ *     andy V1 somogyi V2 gmail V3 com
+ */
+#pragma hdrstop
+#include "LLVMExecutableModel.h"
+#include "ModelResources.h"
+#include "LLVMIncludes.h"
+#include "rrSparse.h"
+#include "rrLogger.h"
+#include "rrException.h"
+#include "LLVMException.h"
+#include "rrStringUtils.h"
+#include "rrConfig.h"
+#include <iomanip>
+#include <cstdlib>
+
+using rr::Logger;
+using rr::getLogger;
+using rr::LoggingBuffer;
+using rr::SelectionRecord;
+using rr::EventListener;
+using rr::EventListenerPtr;
+using rr::EventListenerException;
+using rr::Config;
+
+#if defined (_WIN32)
+#define isnan _isnan
+#else
+#define isnan std::isnan
+#endif
+
+using namespace std;
+
+// static assertion, taken from
+// http://msdn.microsoft.com/en-us/library/windows/desktop/ms679289(v=vs.85).aspx
+#ifndef C_ASSERT
+#define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1]
+#endif
+
+template <typename numeric_type>
+static void dump_array(std::ostream &os, int n, const numeric_type *p)
+{
+    if (p)
+    {
+        os << setiosflags(ios::floatfield) << setprecision(8);
+        os << '[';
+        for (int i = 0; i < n; ++i)
+        {
+            os << p[i];
+            if (i < n - 1)
+            {
+                os << ", ";
+            }
+        }
+        os << ']' << endl;
+    }
+    else
+    {
+        os << "NULL" << endl;
+    }
+}
+
+typedef string (rr::ExecutableModel::*getNamePtr)(int);
+typedef int (rr::ExecutableModel::*getNumPtr)();
+
+/**
+ * checks if the bitfield value has all the required flags
+ * from type
+ */
+inline bool checkExact(uint32_t type, uint32_t value) {
+    return (value & type) == type;
+}
+
+// make this static here, hide our implementation...
+static void addIds(rr::ExecutableModel *model, int start, int end,
+        getNamePtr nameFunc, std::list<std::string>& ids)
+{
+    for(int i = start; i < end; i++)
+    {
+        const std::string& name  = (model->*nameFunc)(i);
+        ids.push_back(name);
+    }
+}
+
+// make this static here, hide our implementation...
+static void addConcIds(rr::ExecutableModel *model, int start, int end,
+        getNamePtr nameFunc, std::list<std::string>& ids)
+{
+    for(int i = start; i < end; i++)
+    {
+        const std::string& name  = "[" + (model->*nameFunc)(i) + "]";
+        ids.push_back(name);
+    }
+}
+
+static uint32_t defaultFlags() {
+    uint32_t result = 0;
+
+    if(Config::getBool(Config::OPTIMIZE_REACTION_RATE_SELECTION)) {
+        result |= rr::ExecutableModel::OPTIMIZE_REACTION_RATE_SELECTION;
+    }
+
+    return result;
+}
+
+
+namespace rrllvm
+{
+
+int LLVMExecutableModel::getValues(double (*funcPtr)(LLVMModelData*, int),
+        int len, const int *indx, double *values)
+{
+    double value;
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        value = funcPtr(modelData, j);
+
+        if (isnan(value))
+        {
+            Log(Logger::LOG_WARNING) << "error getting value for index " << j
+                                   << ", probably out of range";
+        }
+
+        values[i] = value;
+    }
+    return len;
+}
+
+int LLVMExecutableModel::setValues(bool (*funcPtr)(LLVMModelData*, int, double),
+        GetNameFuncPtr getNameFuncPtr, int len, const int *indx, const double *values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        bool result =  funcPtr(modelData, j, values[i]);
+
+        if (!result)
+        {
+            std::stringstream s;
+            string id = (this->*getNameFuncPtr)(j);
+            s << "could not set value for " << id;
+
+            if (symbols->hasAssignmentRule(id))
+            {
+                s << ", it is defined by an assignment rule, can not be set independently.";
+            }
+            else if (symbols->hasInitialAssignmentRule(id))
+            {
+                s << ", it is defined by an initial assignment rule and can not be set independently.";
+            }
+            else if (symbols->hasRateRule(id))
+            {
+                s << ", it is defined by a rate rule and can not be set independently.";
+            }
+
+            throw_llvm_exception(s.str());
+        }
+    }
+    return len;
+}
+
+LLVMExecutableModel::LLVMExecutableModel() :
+    symbols(0),
+    modelData(0),
+    conversionFactor(1.0),
+    evalInitialConditionsPtr(0),
+    evalReactionRatesPtr(0),
+    getBoundarySpeciesAmountPtr(0),
+    getFloatingSpeciesAmountPtr(0),
+    getBoundarySpeciesConcentrationPtr(0),
+    getFloatingSpeciesConcentrationPtr(0),
+    getGlobalParameterPtr(0),
+    getCompartmentVolumePtr(0),
+    evalRateRuleRatesPtr(0),
+    getEventTriggerPtr(0),
+    getEventPriorityPtr(0),
+    getEventDelayPtr(0),
+    eventTriggerPtr(0),
+    eventAssignPtr(0),
+    evalVolatileStoichPtr(0),
+    evalConversionFactorPtr(0),
+    setBoundarySpeciesAmountPtr(0),
+    setFloatingSpeciesAmountPtr(0),
+    setBoundarySpeciesConcentrationPtr(0),
+    setFloatingSpeciesConcentrationPtr(0),
+    setCompartmentVolumePtr(0),
+    setGlobalParameterPtr(0),
+    getFloatingSpeciesInitConcentrationsPtr(0),
+    setFloatingSpeciesInitConcentrationsPtr(0),
+    getFloatingSpeciesInitAmountsPtr(0),
+    setFloatingSpeciesInitAmountsPtr(0),
+    getCompartmentInitVolumesPtr(0),
+    setCompartmentInitVolumesPtr(0),
+    getGlobalParameterInitValuePtr(0),
+    setGlobalParameterInitValuePtr(0),
+    dirty(0),
+    flags(defaultFlags())
+{
+    std::srand((unsigned)std::time(0));
+}
+
+LLVMExecutableModel::LLVMExecutableModel(
+    const cxx11_ns::shared_ptr<ModelResources>& rc, LLVMModelData* modelData) :
+    resources(rc),
+    symbols(rc->symbols),
+    modelData(modelData),
+    conversionFactor(1.0),
+    evalInitialConditionsPtr(rc->evalInitialConditionsPtr),
+    evalReactionRatesPtr(rc->evalReactionRatesPtr),
+    getBoundarySpeciesAmountPtr(rc->getBoundarySpeciesAmountPtr),
+    getFloatingSpeciesAmountPtr(rc->getFloatingSpeciesAmountPtr),
+    getBoundarySpeciesConcentrationPtr(rc->getBoundarySpeciesConcentrationPtr),
+    getFloatingSpeciesConcentrationPtr(rc->getFloatingSpeciesConcentrationPtr),
+    getCompartmentVolumePtr(rc->getCompartmentVolumePtr),
+    getGlobalParameterPtr(rc->getGlobalParameterPtr),
+    evalRateRuleRatesPtr(rc->evalRateRuleRatesPtr),
+    getEventTriggerPtr(rc->getEventTriggerPtr),
+    getEventPriorityPtr(rc->getEventPriorityPtr),
+    getEventDelayPtr(rc->getEventDelayPtr),
+    eventTriggerPtr(rc->eventTriggerPtr),
+    eventAssignPtr(rc->eventAssignPtr),
+    evalVolatileStoichPtr(rc->evalVolatileStoichPtr),
+    evalConversionFactorPtr(rc->evalConversionFactorPtr),
+    setBoundarySpeciesAmountPtr(rc->setBoundarySpeciesAmountPtr),
+    setFloatingSpeciesAmountPtr(rc->setFloatingSpeciesAmountPtr),
+    setBoundarySpeciesConcentrationPtr(rc->setBoundarySpeciesConcentrationPtr),
+    setFloatingSpeciesConcentrationPtr(rc->setFloatingSpeciesConcentrationPtr),
+    setCompartmentVolumePtr(rc->setCompartmentVolumePtr),
+    setGlobalParameterPtr(rc->setGlobalParameterPtr),
+    getFloatingSpeciesInitConcentrationsPtr(rc->getFloatingSpeciesInitConcentrationsPtr),
+    setFloatingSpeciesInitConcentrationsPtr(rc->setFloatingSpeciesInitConcentrationsPtr),
+    getFloatingSpeciesInitAmountsPtr(rc->getFloatingSpeciesInitAmountsPtr),
+    setFloatingSpeciesInitAmountsPtr(rc->setFloatingSpeciesInitAmountsPtr),
+    getCompartmentInitVolumesPtr(rc->getCompartmentInitVolumesPtr),
+    setCompartmentInitVolumesPtr(rc->setCompartmentInitVolumesPtr),
+    getGlobalParameterInitValuePtr(rc->getGlobalParameterInitValuePtr),
+    setGlobalParameterInitValuePtr(rc->setGlobalParameterInitValuePtr),
+    eventListeners(modelData->numEvents, EventListenerPtr()), // init eventHandlers vector
+    dirty(0),
+    flags(defaultFlags())
+{
+
+    modelData->time = -1.0; // time is initially before simulation starts
+
+    std::srand((unsigned)std::time(0));
+
+    eventAssignTimes.resize(modelData->numEvents);
+
+    reset(SelectionRecord::ALL);
+}
+
+LLVMExecutableModel::~LLVMExecutableModel()
+{
+    // smart ptr takes care of freeing resources
+
+    LLVMModelData_free(modelData);
+
+    Log(Logger::LOG_DEBUG) << __FUNC__;
+}
+
+string LLVMExecutableModel::getModelName()
+{
+    return symbols->getModelName();
+}
+
+void LLVMExecutableModel::setTime(double time)
+{
+    modelData->time = time;
+}
+
+double LLVMExecutableModel::getTime()
+{
+    return modelData->time;
+}
+
+
+int LLVMExecutableModel::getNumIndFloatingSpecies()
+{
+    return modelData->numIndFloatingSpecies;
+}
+
+
+int LLVMExecutableModel::getNumDepFloatingSpecies()
+{
+    return symbols->getFloatingSpeciesSize() - modelData->numIndFloatingSpecies;
+}
+
+int LLVMExecutableModel::getNumFloatingSpecies()
+{
+    return symbols->getFloatingSpeciesSize();
+}
+
+int LLVMExecutableModel::getNumBoundarySpecies()
+{
+    return symbols->getBoundarySpeciesSize();
+}
+
+int LLVMExecutableModel::getNumGlobalParameters()
+{
+    return symbols->getGlobalParametersSize();
+}
+
+int LLVMExecutableModel::getNumCompartments()
+{
+    return symbols->getCompartmentsSize();
+}
+
+int LLVMExecutableModel::getNumReactions()
+{
+    return modelData->numReactions;
+}
+
+int LLVMExecutableModel::getFloatingSpeciesConcentrations(int len, int const *indx,
+        double *values)
+{
+    return getValues(getFloatingSpeciesConcentrationPtr, len, indx, values);
+}
+
+void LLVMExecutableModel::getRateRuleValues(double *rateRuleValues)
+{
+    memcpy(rateRuleValues, modelData->rateRuleValuesAlias, modelData->numRateRules * sizeof(double));
+}
+
+void LLVMExecutableModel::getStateVectorRate(double time, const double *y, double *dydt)
+{
+    modelData->time = time;
+
+    if (y && dydt)
+    {
+        // save and assign state vector
+        double *savedRateRules = modelData->rateRuleValuesAlias;
+        double *savedFloatingSpeciesAmounts = modelData->floatingSpeciesAmountsAlias;
+
+        modelData->rateRuleValuesAlias = const_cast<double*>(y);
+        modelData->floatingSpeciesAmountsAlias = const_cast<double*>(y + modelData->numRateRules);
+        evalVolatileStoichPtr(modelData);
+
+        // not setting state vector, react rates get dirty
+        conversionFactor = evalReactionRatesPtr(modelData);
+        dirty |= DIRTY_REACTION_RATES;
+
+        // floatingSpeciesAmountRates only valid for the following two
+        // functions, this will move to a parameter shortly...
+
+        modelData->floatingSpeciesAmountRates = dydt + modelData->numRateRules;
+
+        csr_matrix_dgemv(conversionFactor, modelData->stoichiometry,
+                modelData->reactionRatesAlias, 0.0, modelData->floatingSpeciesAmountRates);
+
+        evalConversionFactorPtr(modelData);
+
+        modelData->floatingSpeciesAmountRates = 0;
+
+        // this will also move to a parameter for the evalRateRules func...
+        modelData->rateRuleRates = dydt;
+        evalRateRuleRatesPtr(modelData);
+        modelData->rateRuleRates = 0;
+
+        // restore original pointers for state vector
+        modelData->rateRuleValuesAlias = savedRateRules;
+        modelData->floatingSpeciesAmountsAlias = savedFloatingSpeciesAmounts;
+    }
+    else if (y && !dydt)
+    {
+        setStateVector(y);
+    }
+    else if (!y && dydt)
+    {
+        // evaluate dydt using current state
+
+        evalVolatileStoichPtr(modelData);
+
+        conversionFactor = evalReactionRatesPtr(modelData);
+        dirty &= ~DIRTY_REACTION_RATES;
+
+        // floatingSpeciesAmountRates only valid for the following two
+        // functions, this will move to a parameter shortly...
+
+        modelData->floatingSpeciesAmountRates = dydt + modelData->numRateRules;
+
+        csr_matrix_dgemv(conversionFactor, modelData->stoichiometry,
+                modelData->reactionRatesAlias, 0.0, modelData->floatingSpeciesAmountRates);
+
+        evalConversionFactorPtr(modelData);
+
+        modelData->floatingSpeciesAmountRates = 0;
+
+        // this will also move to a parameter for the evalRateRules func...
+        modelData->rateRuleRates = dydt;
+        evalRateRuleRatesPtr(modelData);
+        modelData->rateRuleRates = 0;
+    }
+
+    /*
+    if (Logger::LOG_PRIO_TRACE <= rr::Logger::LOG_GetLogLevel()) {
+
+        LoggingBuffer log(Logger::LOG_PRIO_TRACE, __FILE__, __LINE__);
+
+        log.stream() << __FUNC__ << endl;
+        log.stream() << "y: ";
+        if (y) {
+            dump_array(log.stream(), modelData->numRateRules + modelData->numFloatingSpecies, y);
+        } else {
+            log.stream() << "null";
+        }
+        log.stream() << endl << "dydt: ";
+        if (dydt) {
+            dump_array(log.stream(), modelData->numRateRules + modelData->numFloatingSpecies, dydt);
+        } else {
+            log.stream() << "null";
+        }
+        log.stream() << endl << "Model: " << endl << this;
+    }
+    */
+}
+
+double LLVMExecutableModel::getFloatingSpeciesAmountRate(int index,
+           const double *reactionRates)
+{
+    if (index >= modelData->stoichiometry->m)
+    {
+        throw_llvm_exception("index out of range");
+    }
+
+    return csr_matrix_ddot(index, modelData->stoichiometry, reactionRates);
+}
+
+void LLVMExecutableModel::testConstraints()
+{
+}
+
+string LLVMExecutableModel::getInfo()
+{
+    stringstream stream;
+
+    double *tmp;
+
+    int nFloat = getNumFloatingSpecies();
+    int nBound = getNumBoundarySpecies();
+    int nComp = getNumCompartments();
+    int nGlobalParam = getNumGlobalParameters();
+    int nEvents = getNumEvents();
+    int nReactions = getNumReactions();
+
+    stream << "* Calculated Values *" << endl;
+
+    tmp = new double[nFloat];
+    getFloatingSpeciesAmounts(nFloat, 0, tmp);
+    stream << "FloatingSpeciesAmounts:" << endl;
+    dump_array(stream, nFloat, tmp);
+
+    getFloatingSpeciesConcentrations(nFloat, 0, tmp);
+    stream << "FloatingSpeciesConcentrations:" << endl;
+    dump_array(stream, nFloat, tmp);
+
+    this->getFloatingSpeciesInitConcentrations(nFloat, 0, tmp);
+    stream << "FloatingSpeciesInitConcentrations:" << endl;
+    dump_array(stream, nFloat, tmp);
+    delete[] tmp;
+
+    tmp = new double[nReactions];
+    getReactionRates(nReactions, 0, tmp);
+    stream << "Reaction Rates:" << endl;
+    dump_array(stream, nReactions, tmp);
+    delete[] tmp;
+
+    tmp = new double[nBound];
+    getBoundarySpeciesAmounts(nBound, 0, tmp);
+    stream << "BoundarySpeciesAmounts:" << endl;
+    dump_array(stream, nBound, tmp);
+
+    getBoundarySpeciesConcentrations(nBound, 0, tmp);
+    stream << "BoundarySpeciesConcentrations:" << endl;
+    dump_array(stream, nBound, tmp);
+    delete[] tmp;
+
+    tmp = new double[nComp];
+    getCompartmentVolumes(nComp, 0, tmp);
+    stream << "CompartmentVolumes:" << endl;
+    dump_array(stream, nComp, tmp);
+
+    this->getCompartmentInitVolumes(nComp, 0, tmp);
+    stream << "CompartmentInitVolumes:" << endl;
+    dump_array(stream, nComp, tmp);
+    delete[] tmp;
+
+    tmp = new double[nGlobalParam];
+    getGlobalParameterValues(nGlobalParam, 0, tmp);
+    stream << "GlobalParameters:" << endl;
+    dump_array(stream, nGlobalParam, tmp);
+    delete[] tmp;
+
+    tmp = new double[nGlobalParam];
+    getGlobalParameterValues(nGlobalParam, 0, tmp);
+    stream << "GlobalParameters:" << endl;
+    dump_array(stream, nGlobalParam, tmp);
+    delete[] tmp;
+
+    unsigned char *tmpEvents = new unsigned char[nEvents];
+    getEventTriggers(nEvents, 0, tmpEvents);
+    stream << "Events Trigger Status:" << endl;
+    dump_array(stream, nEvents, (bool*)tmpEvents);
+    delete[] tmpEvents;
+
+    stream << *modelData;
+
+    return stream.str();
+}
+
+int LLVMExecutableModel::getFloatingSpeciesIndex(const string& id)
+{
+    try
+    {
+        return symbols->getFloatingSpeciesIndex(id, false);
+    }
+    catch (LLVMException&)
+    {
+        return -1;
+    }
+}
+
+string LLVMExecutableModel::getFloatingSpeciesId(int index)
+{
+    return symbols->getFloatingSpeciesId(index);
+}
+
+int LLVMExecutableModel::getBoundarySpeciesIndex(const string& id)
+{
+    try
+    {
+        return symbols->getBoundarySpeciesIndex(id);
+    }
+    catch (LLVMException&)
+    {
+        return -1;
+    }
+}
+
+string LLVMExecutableModel::getBoundarySpeciesId(int indx)
+{
+    vector<string> ids = symbols->getBoundarySpeciesIds();
+    if (indx < ids.size())
+    {
+        return ids[indx];
+    }
+    else
+    {
+        throw_llvm_exception("index out of range");
+        return "";
+    }
+}
+
+int LLVMExecutableModel::getGlobalParameterIndex(const string& id)
+{
+    try
+    {
+        return symbols->getGlobalParameterIndex(id);
+    }
+    catch(LLVMException&)
+    {
+        return -1;
+    }
+}
+
+string LLVMExecutableModel::getGlobalParameterId(int id)
+{
+    return symbols->getGlobalParameterId(id);
+}
+
+int LLVMExecutableModel::getCompartmentIndex(const string& id)
+{
+    try
+    {
+        return symbols->getCompartmentIndex(id);
+    }
+    catch (LLVMException&)
+    {
+        return -1;
+    }
+}
+
+string LLVMExecutableModel::getCompartmentId(int id)
+{
+    vector<string> ids = symbols->getCompartmentIds();
+    if (id < ids.size())
+    {
+        return ids[id];
+    }
+    else
+    {
+        throw_llvm_exception("index out of range");
+        return "";
+    }
+}
+
+int LLVMExecutableModel::getReactionIndex(const string& id)
+{
+    try
+    {
+        return symbols->getReactionIndex(id);
+    }
+    catch (LLVMException&)
+    {
+        return -1;
+    }
+}
+
+string LLVMExecutableModel::getReactionId(int id)
+{
+    vector<string> ids = symbols->getReactionIds();
+    if (id < ids.size())
+    {
+        return ids[id];
+    }
+    else
+    {
+        throw_llvm_exception("index out of range");
+        return "";
+    }
+}
+
+void LLVMExecutableModel::evalInitialConditions(uint32_t flags)
+{
+    evalInitialConditionsPtr(modelData, flags);
+}
+
+void LLVMExecutableModel::reset()
+{
+    uint opt = rr::Config::getInt(rr::Config::MODEL_RESET);
+    Log(Logger::LOG_DEBUG) << "calling reset with default values: " << opt;
+    reset(opt);
+}
+
+void LLVMExecutableModel::reset(int opt)
+{
+    // initializes the the model the init values specifie in the sbml, and
+    // copies these to the initial initial conditions (not a typo),
+    // sets the 'init(...)' values to the sbml specified init values.
+    if (opt & SelectionRecord::SBML_INITIALIZE)
+    {
+        Log(Logger::LOG_INFORMATION) << "resetting init conditions";
+        evalInitialConditions();
+    }
+
+    // eval the initial conditions and rates
+    if (opt & SelectionRecord::TIME)
+    {
+        Log(Logger::LOG_INFORMATION) << "resetting time";
+        setTime(0.0);
+    }
+
+    if (getCompartmentInitVolumesPtr && getFloatingSpeciesInitAmountsPtr
+            && getGlobalParameterInitValuePtr)
+    {
+        // have to set compartments first, these are used to
+        // convert between concentrations and amounts.
+        unsigned size = max(modelData->numIndCompartments,
+                modelData->numIndFloatingSpecies);
+
+        // need at least 1 for global params
+        size = max(size, 1u);
+
+        double *buffer = new double[size];
+
+        if (checkExact(SelectionRecord::COMPARTMENT, opt))
+        {
+            Log(Logger::LOG_INFORMATION) << "resetting compartment volumes";
+            getCompartmentInitVolumes(modelData->numIndCompartments, 0, buffer);
+            setCompartmentVolumes(modelData->numIndCompartments, 0, buffer);
+        }
+
+        if(opt & SelectionRecord::FLOATING)
+        {
+            if(opt & SelectionRecord::CONCENTRATION) {
+                Log(Logger::LOG_INFORMATION) << "resetting floating species concentrations";
+                getFloatingSpeciesInitConcentrations(modelData->numIndFloatingSpecies, 0, buffer);
+                setFloatingSpeciesConcentrations(modelData->numIndFloatingSpecies, 0, buffer);
+            } else {
+                Log(Logger::LOG_INFORMATION) << "resetting floating species amounts";
+                getFloatingSpeciesInitAmounts(modelData->numIndFloatingSpecies, 0, buffer);
+                setFloatingSpeciesAmounts(modelData->numIndFloatingSpecies, 0, buffer);
+            }
+        }
+
+
+        // were we forced to reset cms.
+        bool reset_cm = false;
+
+        // did someone change a cm, note: setGlobalParameterValues sets this bit,
+        // so we have to save it before changing any GPs in reset.
+        const bool dirty_cm = dirty & DIRTY_CONSERVED_MOIETIES;
+        const bool dirty_init = dirty & DIRTY_INIT_SPECIES;
+
+        // needed because conserved moiety global parameters depend on
+        // float species init conditions.
+        for (int gid = 0; gid < modelData->numIndGlobalParameters; ++gid)
+        {
+            bool cm = symbols->isConservedMoietyParameter(gid);
+            bool depInit = !symbols->isIndependentInitGlobalParameter(gid);
+
+            // reset gp if options say so
+            if (checkExact(SelectionRecord::GLOBAL_PARAMETER, opt)
+                    // or if opt say to reset cms and its a cm
+                    || ((opt & SelectionRecord::CONSREVED_MOIETY) && cm)
+                    // or if init conds have changes and its a cm (cm depends on init cond)
+                    || (dirty_init && cm)
+                    // or reseting global params which have init assignment rules
+                    || (checkExact(SelectionRecord::DEPENDENT_INITIAL_GLOBAL_PARAMETER, opt) && depInit))
+            {
+                Log(Logger::LOG_INFORMATION) << "resetting global parameter, "
+                        << gid << ", GLOBAL_PARAMETER: "
+                        << checkExact(opt, SelectionRecord::GLOBAL_PARAMETER)
+                        << ", CONSREVED_MOIETY: "
+                        << ((opt & SelectionRecord::CONSREVED_MOIETY) && cm)
+                        << "DEPENDENT_INITIAL_GLOBAL_PARAMETER: " <<
+                            (checkExact(SelectionRecord::DEPENDENT_INITIAL_GLOBAL_PARAMETER, opt) && depInit);
+                reset_cm |= cm;
+                getGlobalParameterInitValues(1, &gid, buffer);
+                setGlobalParameterValues(1, &gid, buffer);
+            }
+        }
+
+        if (reset_cm)
+        {
+            // warn if we were forced to reset CMs
+            if (dirty_cm)
+            {
+                Log(Logger::LOG_WARNING) << "Both initial conditions and "
+                        "conserved moieties were user modified. As conserved moieties "
+                        "are defined in terms of initial conditions, the conserved "
+                        "moiety values were forcibly reset in terms of the species "
+                        "initial conditions.";
+            }
+
+            // we've reset CMs. clear the dirty bit.
+            dirty &= ~DIRTY_CONSERVED_MOIETIES;
+
+            // the DIRTY_INIT_SPECIES bit is alwasy cleared at the
+            // end of this func.
+        }
+
+        if(opt & SelectionRecord::RATE)
+        {
+            Log(Logger::LOG_INFORMATION) << "resetting rate rule values";
+
+            for (int gid = modelData->numIndGlobalParameters;
+                    gid < symbols->getGlobalParametersSize(); ++gid)
+            {
+                if(symbols->isRateRuleGlobalParameter(gid))
+                {
+                    getGlobalParameterInitValues(1, &gid, buffer);
+                    setGlobalParameterValues(1, &gid, buffer);
+                }
+            }
+        }
+
+        delete[] buffer;
+    }
+
+
+    // this sets up the event system to pull the initial value
+    // before the simulation starts.
+    setTime(-1.0);
+
+    // we've reset the species to their init values.
+    dirty &= ~DIRTY_INIT_SPECIES;
+
+    Log(Logger::LOG_DEBUG) << __FUNC__ << *modelData;
+}
+
+int LLVMExecutableModel::getStateVector(double* stateVector)
+{
+    if (stateVector == 0)
+    {
+        Log(Logger::LOG_TRACE) << __FUNC__ << ", stateVector: null, returning "
+                << modelData->numRateRules + modelData->numIndFloatingSpecies;
+        return modelData->numRateRules + modelData->numIndFloatingSpecies;
+    }
+
+    getRateRuleValues(stateVector);
+
+    memcpy(stateVector + modelData->numRateRules,
+            modelData->floatingSpeciesAmountsAlias,
+            modelData->numIndFloatingSpecies * sizeof(double));
+
+
+    if (Logger::LOG_TRACE <= rr::Logger::getLevel()) {
+
+        LoggingBuffer log(Logger::LOG_TRACE, __FILE__, __LINE__);
+
+        log.stream() << __FUNC__ << ",  out stateVector: ";
+        if (stateVector) {
+            dump_array(log.stream(), modelData->numRateRules + modelData->numIndFloatingSpecies, stateVector);
+        } else {
+            log.stream() << "null";
+        }
+
+        log.stream() << endl << __FUNC__ <<  ", Model: " << endl << this;
+    }
+
+    return modelData->numRateRules + modelData->numIndFloatingSpecies;
+}
+
+int LLVMExecutableModel::setStateVector(const double* stateVector)
+{
+    if (stateVector == 0)
+    {
+        return -1;
+    }
+
+    memcpy(modelData->rateRuleValuesAlias, stateVector, modelData->numRateRules * sizeof(double));
+
+    memcpy(modelData->floatingSpeciesAmountsAlias,
+            stateVector + modelData->numRateRules,
+            modelData->numIndFloatingSpecies * sizeof(double));
+
+    evalVolatileStoichPtr(modelData);
+
+    dirty |= DIRTY_REACTION_RATES;
+
+    return modelData->numRateRules + modelData->numIndFloatingSpecies;
+}
+
+void LLVMExecutableModel::print(std::ostream &stream)
+{
+    stream << "LLVMExecutableModel" << endl;
+    stream << getInfo();
+}
+
+void LLVMExecutableModel::getIds(int types, std::list<std::string> &ids)
+{
+    if (checkExact(SelectionRecord::FLOATING | SelectionRecord::AMOUNT |
+            SelectionRecord::CURRENT, types)
+            && (SelectionRecord::INDEPENDENT & types)) {
+        addIds(this, 0, symbols->getIndependentFloatingSpeciesSize(),
+                &rr::ExecutableModel::getFloatingSpeciesId, ids);
+    }
+
+    if (checkExact(SelectionRecord::FLOATING | SelectionRecord::AMOUNT |
+            SelectionRecord::CURRENT, types)
+            && (SelectionRecord::DEPENDENT & types)) {
+        addIds(this, symbols->getIndependentFloatingSpeciesSize(),
+                symbols->getFloatingSpeciesSize(),
+                &rr::ExecutableModel::getFloatingSpeciesId, ids);
+    }
+
+    if (checkExact(SelectionRecord::BOUNDARY | SelectionRecord::AMOUNT |
+            SelectionRecord::CURRENT, types)
+            && (SelectionRecord::INDEPENDENT & types)) {
+        addIds(this, 0, symbols->getIndependentBoundarySpeciesSize(),
+                &rr::ExecutableModel::getBoundarySpeciesId, ids);
+    }
+
+    if (checkExact(SelectionRecord::BOUNDARY | SelectionRecord::AMOUNT |
+            SelectionRecord::CURRENT, types)
+            && (SelectionRecord::DEPENDENT & types)) {
+        addIds(this, symbols->getIndependentBoundarySpeciesSize(),
+                symbols->getBoundarySpeciesSize(),
+                &rr::ExecutableModel::getBoundarySpeciesId, ids);
+    }
+
+    if (checkExact(SelectionRecord::FLOATING | SelectionRecord::CONCENTRATION |
+            SelectionRecord::CURRENT, types)
+            && (SelectionRecord::INDEPENDENT & types)) {
+        addConcIds(this, 0, symbols->getIndependentFloatingSpeciesSize(),
+                &rr::ExecutableModel::getFloatingSpeciesId, ids);
+    }
+
+    if (checkExact(SelectionRecord::FLOATING | SelectionRecord::CONCENTRATION |
+            SelectionRecord::CURRENT, types)
+            && (SelectionRecord::DEPENDENT & types)) {
+        addConcIds(this, symbols->getIndependentFloatingSpeciesSize(),
+                symbols->getFloatingSpeciesSize(),
+                &rr::ExecutableModel::getFloatingSpeciesId, ids);
+    }
+
+    if (checkExact(SelectionRecord::BOUNDARY | SelectionRecord::CONCENTRATION |
+            SelectionRecord::CURRENT, types)
+            && (SelectionRecord::INDEPENDENT & types)) {
+        addConcIds(this, 0, symbols->getIndependentBoundarySpeciesSize(),
+                &rr::ExecutableModel::getBoundarySpeciesId, ids);
+    }
+
+    if (checkExact(SelectionRecord::BOUNDARY | SelectionRecord::CONCENTRATION |
+            SelectionRecord::CURRENT, types)
+            && (SelectionRecord::DEPENDENT & types)) {
+        addConcIds(this, symbols->getIndependentBoundarySpeciesSize(),
+                symbols->getBoundarySpeciesSize(),
+                &rr::ExecutableModel::getBoundarySpeciesId, ids);
+    }
+
+
+    if (checkExact(SelectionRecord::_COMPARTMENT | SelectionRecord::CURRENT, types)
+            && (SelectionRecord::INDEPENDENT & types)) {
+        addIds(this, 0, symbols->getIndependentCompartmentSize(),
+                &rr::ExecutableModel::getCompartmentId, ids);
+    }
+
+    if (checkExact(SelectionRecord::_COMPARTMENT | SelectionRecord::CURRENT, types)
+            && (SelectionRecord::DEPENDENT & types)) {
+        addIds(this, symbols->getIndependentCompartmentSize(),
+                symbols->getCompartmentsSize(),
+                &rr::ExecutableModel::getCompartmentId, ids);
+    }
+
+    if (checkExact(SelectionRecord::_GLOBAL_PARAMETER | SelectionRecord::CURRENT, types)
+            && (SelectionRecord::INDEPENDENT & types)) {
+        addIds(this, 0, symbols->getIndependentGlobalParameterSize(),
+                &rr::ExecutableModel::getGlobalParameterId, ids);
+    }
+
+    if (checkExact(SelectionRecord::_GLOBAL_PARAMETER | SelectionRecord::CURRENT, types)
+            && (SelectionRecord::DEPENDENT & types)) {
+        addIds(this, symbols->getIndependentGlobalParameterSize(),
+                symbols->getGlobalParametersSize(),
+                &rr::ExecutableModel::getGlobalParameterId, ids);
+    }
+
+    // only get init values indepndent values, dep, with assignment rules
+    // always have the same value.
+    if (checkExact(SelectionRecord::_GLOBAL_PARAMETER | SelectionRecord::INITIAL, types)
+            && (SelectionRecord::INDEPENDENT & types)) {
+        for(int i = 0; i < symbols->getIndependentGlobalParameterSize(); ++i) {
+            std::string gs = symbols->getGlobalParameterId(i);
+            if(symbols->isIndependentGlobalParameter(gs)) {
+                ids.push_back("init(" + gs + ")");
+            }
+        }
+    }
+
+    if (checkExact(SelectionRecord::_GLOBAL_PARAMETER | SelectionRecord::INITIAL, types)
+            && (SelectionRecord::DEPENDENT & types)) {
+        for(int i = symbols->getIndependentGlobalParameterSize();
+                i < symbols->getGlobalParametersSize(); ++i) {
+            std::string gs = symbols->getGlobalParameterId(i);
+            if(symbols->isIndependentGlobalParameter(gs)) {
+                ids.push_back("init(" + gs + ")");
+            }
+        }
+    }
+
+    if (checkExact(SelectionRecord::REACTION_RATE, types)) {
+        addIds(this, 0, symbols->getReactionSize(),
+                &rr::ExecutableModel::getReactionId, ids);
+    }
+
+    if (checkExact(SelectionRecord::INITIAL | SelectionRecord::FLOATING |
+            SelectionRecord::CONCENTRATION, types) &&
+            (SelectionRecord::INDEPENDENT & types)) {
+        for (int i = 0; i < symbols->getInitFloatingSpeciesSize(); ++i) {
+            ids.push_back("init([" + this->getFloatingSpeciesId(i) + "])");
+        }
+    }
+
+    if (checkExact(SelectionRecord::INITIAL | SelectionRecord::FLOATING |
+            SelectionRecord::CONCENTRATION, types) &&
+            (SelectionRecord::DEPENDENT & types)) {
+        for (int i = symbols->getInitFloatingSpeciesSize();
+                i < symbols->getFloatingSpeciesSize(); ++i) {
+            ids.push_back("init([" + this->getFloatingSpeciesId(i) + "])");
+        }
+    }
+
+    if (checkExact(SelectionRecord::INITIAL | SelectionRecord::FLOATING |
+            SelectionRecord::AMOUNT, types) &&
+            (SelectionRecord::INDEPENDENT & types)) {
+        for (int i = 0; i < symbols->getInitFloatingSpeciesSize(); ++i) {
+            ids.push_back("init(" + this->getFloatingSpeciesId(i) + ")");
+        }
+    }
+
+    if (checkExact(SelectionRecord::INITIAL | SelectionRecord::FLOATING |
+            SelectionRecord::AMOUNT, types) &&
+            (SelectionRecord::DEPENDENT & types)) {
+        for (int i = symbols->getInitFloatingSpeciesSize();
+                i < symbols->getFloatingSpeciesSize(); ++i) {
+            ids.push_back("init(" + this->getFloatingSpeciesId(i) + ")");
+        }
+    }
+
+    if (checkExact(SelectionRecord::FLOATING_AMOUNT_RATE, types)) {
+        for (int i = 0; i < getNumIndFloatingSpecies(); ++i) {
+            ids.push_back(this->getFloatingSpeciesId(i) + "'");
+        }
+    }
+
+    if (checkExact(SelectionRecord::GLOBAL_PARAMETER_RATE, types)) {
+
+        for (int i = 0; i < symbols->getRateRuleSize(); ++i) {
+            ids.push_back(symbols->getRateRuleId(i) + "'");
+        }
+    }
+
+    if (SelectionRecord::STATE_VECTOR == types) {
+        int stateVectorSize = getStateVector(0);
+        for (int i = 0; i < stateVectorSize; ++i) {
+            ids.push_back(getStateVectorId(i));
+        }
+    }
+
+    if (SelectionRecord::EVENT & types)
+    {
+        std::vector<std::string> eventIds = symbols->getEventIds();
+        std::copy( eventIds.begin(), eventIds.end(), std::back_inserter(ids));
+    }
+
+    // These are also displayed with global parameters, so
+    // only add them if explicity asked for.
+    if (SelectionRecord::CONSREVED_MOIETY == types)
+    {
+        for(uint i = 0; i < symbols->getConservedMoietySize(); ++i)
+        {
+            ids.push_back(symbols->getConservedMoietyId(i));
+        }
+    }
+}
+
+int LLVMExecutableModel::getSupportedIdTypes()
+{
+    return SelectionRecord::TIME |
+        SelectionRecord::BOUNDARY_CONCENTRATION |
+        SelectionRecord::FLOATING_CONCENTRATION |
+        SelectionRecord::REACTION_RATE |
+        SelectionRecord::FLOATING_AMOUNT_RATE |
+        SelectionRecord::FLOATING_CONCENTRATION_RATE |
+        SelectionRecord::COMPARTMENT |
+        SelectionRecord::GLOBAL_PARAMETER |
+        SelectionRecord::FLOATING_AMOUNT |
+        SelectionRecord::BOUNDARY_AMOUNT |
+        SelectionRecord::INITIAL_AMOUNT |
+        SelectionRecord::INITIAL_CONCENTRATION |
+        SelectionRecord::STOICHIOMETRY;
+}
+
+double LLVMExecutableModel::getValue(const std::string& id)
+{
+    const SelectionRecord &sel = getSelection(id);
+    int index = sel.index;
+    double result = 0;
+
+    // check to see that we have valid selection ids
+    switch(sel.selectionType)
+    {
+    case SelectionRecord::TIME:
+        result = getTime();
+        break;
+    case SelectionRecord::FLOATING_AMOUNT:
+        getFloatingSpeciesAmounts(1, &index, &result);
+        break;
+    case SelectionRecord::BOUNDARY_AMOUNT:
+        getBoundarySpeciesAmounts(1, &index, &result);
+        break;
+    case SelectionRecord::COMPARTMENT:
+        getCompartmentVolumes(1, &index, &result);
+        break;
+    case SelectionRecord::GLOBAL_PARAMETER:
+        getGlobalParameterValues(1, &index, &result);
+        break;
+    case SelectionRecord::REACTION_RATE:
+        getReactionRates(1, &index, &result);
+        break;
+    case SelectionRecord::FLOATING_CONCENTRATION:
+        getFloatingSpeciesConcentrations(1, &index, &result);
+        break;
+    case SelectionRecord::BOUNDARY_CONCENTRATION:
+        getBoundarySpeciesConcentrations(1, &index, &result);
+        break;
+    case SelectionRecord::FLOATING_AMOUNT_RATE:
+        getFloatingSpeciesAmountRates(1, &index, &result);
+        break;
+    case SelectionRecord::GLOBAL_PARAMETER_RATE:
+        getRateRueRates(1, &index, &result);
+        break;
+    case SelectionRecord::INITIAL_FLOATING_AMOUNT:
+        getFloatingSpeciesInitAmounts(1, &index, &result);
+        break;
+    case SelectionRecord::INITIAL_COMPARTMENT:
+        getCompartmentInitVolumes(1, &index, &result);
+        break;
+    case SelectionRecord::INITIAL_FLOATING_CONCENTRATION:
+        getFloatingSpeciesInitConcentrations(1, &index, &result);
+        break;
+    case SelectionRecord::INITIAL_GLOBAL_PARAMETER:
+        getGlobalParameterInitValues(1, &index, &result);
+        break;
+    case SelectionRecord::EVENT:
+    {
+            bool trigger = getEventTrigger(index);
+            result = trigger ? 1.0 : -1.0;
+        }
+        break;
+    default:
+        Log(Logger::LOG_ERROR) << "A new SelectionRecord should not have this value: "
+        << sel.to_repr();
+        throw LLVMException("Invalid selection '" + id + "' for setting value");
+        break;
+    }
+
+    return result;
+}
+
+
+const rr::SelectionRecord& LLVMExecutableModel::getSelection(const std::string& str)
+{
+    SelectionMap::const_iterator i = selectionRecordCache.find(str);
+
+    if (i == selectionRecordCache.end())
+    {
+        SelectionRecord sel(str);
+        int index = -1;
+
+        if (sel.selectionType == SelectionRecord::UNKNOWN)
+        {
+            throw LLVMException("invalid selection string " + str);
+        }
+
+        // check to see that we have valid selection ids
+        switch(sel.selectionType)
+        {
+        case SelectionRecord::TIME:
+            break;
+        case SelectionRecord::UNKNOWN_ELEMENT:
+            // check for sbml element types
+
+            switch(symbols->getSymbolIndex(sel.p1, index))
+            {
+            case LLVMModelDataSymbols::FLOATING_SPECIES:
+                sel.selectionType = SelectionRecord::FLOATING_AMOUNT;
+                sel.index = index;
+                break;
+            case LLVMModelDataSymbols::BOUNDARY_SPECIES:
+                sel.selectionType = SelectionRecord::BOUNDARY_AMOUNT;
+                sel.index = index;
+                break;
+            case LLVMModelDataSymbols::COMPARTMENT:
+                sel.selectionType = SelectionRecord::COMPARTMENT;
+                sel.index = index;
+                break;
+            case LLVMModelDataSymbols::GLOBAL_PARAMETER:
+                sel.selectionType = SelectionRecord::GLOBAL_PARAMETER;
+                sel.index = index;
+                break;
+            case LLVMModelDataSymbols::REACTION:
+                sel.selectionType = SelectionRecord::REACTION_RATE;
+                sel.index = index;
+                break;
+            case LLVMModelDataSymbols::EVENT:
+                sel.selectionType = SelectionRecord::EVENT;
+                sel.index = index;
+                break;
+            default:
+                throw LLVMException("No sbml element exists for symbol '" + str + "'");
+                break;
+            }
+            break;
+
+        case SelectionRecord::UNKNOWN_CONCENTRATION:
+            switch(symbols->getSymbolIndex(sel.p1, index))
+            {
+            case LLVMModelDataSymbols::FLOATING_SPECIES:
+                sel.selectionType = SelectionRecord::FLOATING_CONCENTRATION;
+                sel.index = index;
+                break;
+            case LLVMModelDataSymbols::BOUNDARY_SPECIES:
+                sel.selectionType = SelectionRecord::BOUNDARY_CONCENTRATION;
+                sel.index = index;
+                break;
+            default:
+                string msg = "No sbml element exists for concentration selection '" + str + "'";
+                throw LLVMException(msg);
+            }
+            break;
+
+        case SelectionRecord::FLOATING_AMOUNT_RATE:
+            if (symbols->getSymbolIndex(sel.p1, index) == LLVMModelDataSymbols::FLOATING_SPECIES)
+            {
+                sel.selectionType = SelectionRecord::FLOATING_AMOUNT_RATE;
+                sel.index = index;
+            }
+            else
+            {
+                // this will throw if there is no rate rule for the symbol.
+                sel.index = symbols->getRateRuleIndex(sel.p1);
+                sel.selectionType = SelectionRecord::GLOBAL_PARAMETER_RATE;
+            }
+            break;
+
+        case SelectionRecord::INITIAL_AMOUNT:
+            switch(symbols->getSymbolIndex(sel.p1, index))
+            {
+            case LLVMModelDataSymbols::FLOATING_SPECIES:
+                sel.selectionType = SelectionRecord::INITIAL_FLOATING_AMOUNT;
+                sel.index = index;
+                break;
+            case LLVMModelDataSymbols::COMPARTMENT:
+                sel.selectionType = SelectionRecord::INITIAL_COMPARTMENT;
+                sel.index = index;
+                break;
+            case LLVMModelDataSymbols::GLOBAL_PARAMETER:
+                sel.selectionType = SelectionRecord::INITIAL_GLOBAL_PARAMETER;
+                sel.index = index;
+                break;
+            default:
+                string msg = "Invalid Id for initial value: '" + str + "'";
+                throw LLVMException(msg);
+            }
+            assert(sel.index >= 0);
+            break;
+
+        case SelectionRecord::INITIAL_CONCENTRATION:
+            if (symbols->getSymbolIndex(sel.p1, index) == LLVMModelDataSymbols::FLOATING_SPECIES)
+            {
+                sel.selectionType = SelectionRecord::INITIAL_FLOATING_CONCENTRATION;
+                sel.index = index;
+                break;
+            }
+            else
+            {
+                throw LLVMException("Invalid id '" + str + "' for inital floating species concentration");
+                break;
+            }
+            break;
+
+        default:
+            Log(Logger::LOG_ERROR) << "A new SelectionRecord should not have this value: "
+                << sel.to_repr();
+            throw LLVMException("Invalid selection '" + str + "' for setting value");
+            break;
+        }
+
+        // if we get here, should have a valid and set sel record.
+        selectionRecordCache[str] = sel;
+
+        Log(Logger::LOG_DEBUG) << "caching selection record stirng " << str;
+
+        i = selectionRecordCache.find(str);
+        assert(i != selectionRecordCache.end());
+    }
+
+    return i->second;
+}
+
+void LLVMExecutableModel::setValue(const std::string& id, double value)
+{
+    const SelectionRecord &sel = getSelection(id);
+    int index = sel.index;
+    double result = 0;
+
+    switch(sel.selectionType)
+    {
+    case SelectionRecord::TIME:
+        setTime(value);
+        break;
+    case SelectionRecord::FLOATING_AMOUNT:
+        setFloatingSpeciesAmounts(1, &index, &value);
+        break;
+    case SelectionRecord::COMPARTMENT:
+        setCompartmentVolumes(1, &index, &value);
+        break;
+    case SelectionRecord::GLOBAL_PARAMETER:
+        setGlobalParameterValues(1, &index, &value);
+        break;
+    case SelectionRecord::BOUNDARY_AMOUNT:
+        setBoundarySpeciesAmounts(1, &index, &value);
+        break;
+    case SelectionRecord::REACTION_RATE:
+        throw LLVMException("The sbml id '" + id +
+                "' is for a reaction, reaction rates can not be set externally");
+        break;
+    case SelectionRecord::FLOATING_CONCENTRATION:
+        setFloatingSpeciesConcentrations(1, &index, &value);
+        break;
+    case SelectionRecord::BOUNDARY_CONCENTRATION:
+        setBoundarySpeciesConcentrations(1, &index, &value);
+        break;
+    case SelectionRecord::INITIAL_FLOATING_AMOUNT:
+        setFloatingSpeciesInitAmounts(1, &index, &value);
+        break;
+    case SelectionRecord::INITIAL_COMPARTMENT:
+        setCompartmentInitVolumes(1, &index, &value);
+        break;
+    case SelectionRecord::INITIAL_FLOATING_CONCENTRATION:
+        setFloatingSpeciesInitConcentrations(1, &index, &value);
+        break;
+    case SelectionRecord::INITIAL_GLOBAL_PARAMETER:
+        setGlobalParameterInitValues(1, &index, &value);
+        break;
+    default:
+        throw LLVMException("Invalid selection '" + sel.to_string() + "' for setting value");
+        break;
+    }
+}
+
+int LLVMExecutableModel::getFloatingSpeciesConcentrationRates(int len,
+        const int* indx, double* values)
+{
+    double* dydt = 0;
+    // buffer for volumes
+    double* volumes = 0;
+
+    try
+    {
+        uint dydtSize = modelData->numRateRules + modelData->numIndFloatingSpecies;
+        uint ncomp = getNumCompartments();
+
+        dydt = (double*)calloc(dydtSize, sizeof(double));
+        volumes = (double*)calloc(ncomp, sizeof(double));
+
+        getCompartmentVolumes(ncomp, 0, volumes);
+
+        // state vector is packed such that first numRateRules are the rate rule rates,
+        // and the last numIndFloatingSpecies are the number of independent species.
+        getStateVectorRate(this->getTime(), 0, dydt);
+
+        double* amountRates = dydt + modelData->numRateRules;
+
+        for (uint i = 0; i < len; ++i)
+        {
+            uint j = indx ? indx[i] : i;
+            if (j >= modelData->numIndFloatingSpecies)
+            {
+                throw std::out_of_range(std::string("index out of range in ")
+                                        + __FUNC__);
+            }
+
+            Log(Logger::LOG_DEBUG) << "i: " << i << ", j: " << j
+                    << ", comp index: "
+                    << symbols->getCompartmentIndexForFloatingSpecies(j)
+                    << ", vol: "
+                    << volumes[symbols->getCompartmentIndexForFloatingSpecies(j)]
+                    << endl;
+            values[i] = amountRates[j] /
+                    volumes[symbols->getCompartmentIndexForFloatingSpecies(j)];
+        }
+    }
+    catch(...)
+    {
+        free(dydt);
+        free(volumes);
+        throw;
+    }
+
+    free(dydt);
+    free(volumes);
+    return len;
+}
+
+int LLVMExecutableModel::setBoundarySpeciesAmounts(int len, const int* indx,
+        const double* values)
+{
+    int result = -1;
+    if (setBoundarySpeciesAmountPtr)
+    {
+        result = setValues(setBoundarySpeciesAmountPtr,
+                &LLVMExecutableModel::getBoundarySpeciesId, len, indx, values);
+    }
+    return result;
+}
+
+std::string LLVMExecutableModel::getStateVectorId(int index)
+{
+    if (index < modelData->numRateRules )
+    {
+        return symbols->getRateRuleId(index);
+    }
+    else
+    {
+        return symbols->getFloatingSpeciesId(index - modelData->numRateRules);
+    }
+}
+
+int LLVMExecutableModel::getEventIndex(const std::string& eventId)
+{
+    try
+    {
+        return symbols->getEventIndex(eventId);
+    }
+    catch(LLVMException&)
+    {
+        return -1;
+    }
+}
+
+std::string LLVMExecutableModel::getEventId(int indx)
+{
+    vector<string> ids = symbols->getEventIds();
+    if (indx < ids.size())
+    {
+        return ids[indx];
+    }
+    else
+    {
+        throw_llvm_exception("index out of range");
+        return "";
+    }
+}
+
+void LLVMExecutableModel::setEventListener(int index,
+        rr::EventListenerPtr eventHandler)
+{
+    if (index < modelData->numEvents)
+    {
+        Log(Logger::LOG_DEBUG) << "setting event handler " << index << " to " << eventHandler;
+        eventListeners[index] = eventHandler;
+    }
+    else
+    {
+        throw_llvm_exception("index " + rr::toString(index) + " out of range");
+    }
+}
+
+rr::EventListenerPtr LLVMExecutableModel::getEventListener(int index)
+{
+    if (index < modelData->numEvents)
+    {
+        return eventListeners[index];
+    }
+    else
+    {
+        throw_llvm_exception("index " + rr::toString(index) + " out of range");
+        return EventListenerPtr();
+    }
+}
+
+LLVMExecutableModel* LLVMExecutableModel::dummy()
+{
+    return new LLVMExecutableModel();
+}
+
+int LLVMExecutableModel::getNumRateRules()
+{
+    return modelData->numRateRules;
+}
+
+std::vector<std::string> LLVMExecutableModel::getRateRuleSymbols() const {
+    std::vector<std::string> result;
+
+    for (uint k = 0; k < symbols->getRateRuleSize(); ++k)
+        result.push_back(symbols->getRateRuleId(k));
+
+    return result;
+}
+
+int LLVMExecutableModel::getFloatingSpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    return getValues(getFloatingSpeciesAmountPtr, len, indx, values);
+}
+
+int LLVMExecutableModel::setFloatingSpeciesAmounts(int len, int const *indx,
+        const double *values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        bool result =  setFloatingSpeciesAmountPtr(modelData, j, values[i]);
+
+        if (!result)
+        {
+            // check if a conserved moiety
+            uint cmIndex = 0;
+            if (symbols->isConservedMoietySpecies(j, cmIndex))
+            {
+                int gpIndex = symbols->getConservedMoietyGlobalParameterIndex(cmIndex);
+
+                double currAmt;
+                getFloatingSpeciesAmounts(1, &j, &currAmt);
+
+                double diff = values[i] - currAmt;
+
+                double currCmVal;
+                getGlobalParameterValues(1, &gpIndex, &currCmVal);
+
+                double newCmVal = currCmVal + diff;
+
+                Log(Logger::LOG_INFORMATION) << "updating CM "
+                        << symbols->getConservedMoietyId(cmIndex)
+                        << " for conserved species "
+                        << symbols->getFloatingSpeciesId(j)
+                        << ", setting CM to " << newCmVal
+                        << ", was " << currCmVal;
+
+                setGlobalParameterValues(1, &gpIndex, &newCmVal);
+            }
+            else
+            {
+            std::stringstream s;
+            string id = symbols->getFloatingSpeciesId(j);
+            s << "could not set value for NON conserved moiety floating species " << id;
+
+            if (symbols->hasAssignmentRule(id))
+            {
+                s << ", it is defined by an assignment rule, can not be set independently.";
+            }
+            else if (symbols->hasRateRule(id))
+            {
+                s << ", it is defined by a rate rule and can not be set independently.";
+            }
+
+            throw_llvm_exception(s.str());
+            }
+        }
+    }
+    return len;
+}
+
+int LLVMExecutableModel::setFloatingSpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        bool result = setFloatingSpeciesConcentrationPtr(modelData, j, values[i]);
+
+        if (!result)
+        {
+            // check if a conserved moiety
+            uint cmIndex = 0;
+            if (symbols->isConservedMoietySpecies(j, cmIndex))
+            {
+                int gpIndex = symbols->getConservedMoietyGlobalParameterIndex(cmIndex);
+
+                double currAmt;
+                getFloatingSpeciesAmounts(1, &j, &currAmt);
+
+                int volIndex = symbols->getCompartmentIndexForFloatingSpecies(j);
+                double volume;
+                this->getCompartmentVolumes(1, &volIndex, &volume);
+
+                double diff = (values[i] * volume) - currAmt;
+
+                double currCmVal;
+                getGlobalParameterValues(1, &gpIndex, &currCmVal);
+
+                double newCmVal = currCmVal + diff;
+
+                Log(Logger::LOG_INFORMATION) << "updating CM "
+                        << symbols->getConservedMoietyId(cmIndex)
+                        << " for conserved species "
+                        << symbols->getFloatingSpeciesId(j)
+                        << ", setting CM to " << newCmVal
+                        << ", was " << currCmVal;
+
+                setGlobalParameterValues(1, &gpIndex, &newCmVal);
+            }
+            else
+            {
+                std::stringstream s;
+                string id = symbols->getFloatingSpeciesId(j);
+                s << "could not set value for NON conserved moiety floating species " << id;
+
+                if (symbols->hasAssignmentRule(id))
+                {
+                    s << ", it is defined by an assignment rule, can not be set independently.";
+                }
+                else if (symbols->hasRateRule(id))
+                {
+                    s << ", it is defined by a rate rule and can not be set independently.";
+                }
+
+                throw_llvm_exception(s.str());
+            }
+        }
+    }
+    return len;
+}
+
+int LLVMExecutableModel::getBoundarySpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    return getValues(getBoundarySpeciesAmountPtr, len, indx, values);
+}
+
+int LLVMExecutableModel::getBoundarySpeciesConcentrations(int len,
+        const int* indx, double* values)
+{
+    return getValues(getBoundarySpeciesConcentrationPtr, len, indx, values);
+}
+
+int LLVMExecutableModel::setBoundarySpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    int result = -1;
+    if (setBoundarySpeciesConcentrationPtr)
+    {
+        result = setValues(setBoundarySpeciesConcentrationPtr,
+                &LLVMExecutableModel::getBoundarySpeciesId, len, indx, values);
+    }
+    return result;
+}
+
+int LLVMExecutableModel::getGlobalParameterValues(int len, const int* indx,
+        double* values)
+{
+    return getValues(getGlobalParameterPtr, len, indx, values);
+}
+
+int LLVMExecutableModel::setGlobalParameterValues(int len, const int* indx,
+        const double* values)
+{
+    int result = -1;
+    if (setGlobalParameterPtr)
+    {
+        result = setValues(setGlobalParameterPtr,
+                &LLVMExecutableModel::getGlobalParameterId, len, indx, values);
+
+        for (int i = 0; i < len; ++i)
+        {
+            int j = indx ? indx[i] : i;
+            if (symbols->isConservedMoietyParameter(j))
+            {
+                dirty |= DIRTY_CONSERVED_MOIETIES;
+
+                // clear the dirty init flag, user explicity set a cm, so they don't care
+                // about init any more.
+                dirty &= ~DIRTY_INIT_SPECIES;
+            }
+        }
+    }
+    return result;
+}
+
+int LLVMExecutableModel::getCompartmentVolumes(int len, const int* indx,
+        double* values)
+{
+    return getValues(getCompartmentVolumePtr, len, indx, values);
+}
+
+int LLVMExecutableModel::getReactionRates(int len, const int* indx,
+        double* values)
+{
+    // the reaction rates are a function of the model state, so someone
+    // could have changed some parameter, so we need to re-evaluate.
+
+    // this is an optimization to not re-calcualte the reaction rates
+    // when selecting reaction rates in a simulations.
+    // its possible to extend this approach to check whenever any value
+    // is set, save that for a future optimization.
+    if((flags & OPTIMIZE_REACTION_RATE_SELECTION) == 0
+            || (flags & INTEGRATION) == 0 || (dirty & DIRTY_REACTION_RATES) != 0) {
+        conversionFactor = evalReactionRatesPtr(modelData);
+        dirty &= ~DIRTY_REACTION_RATES;
+    }
+
+
+    if (indx)
+    {
+        for (int i = 0; i < len; ++i)
+        {
+            int j = indx ? indx[i] : i;
+            if (j < modelData->numReactions)
+            {
+                values[i] = modelData->reactionRatesAlias[j];
+            }
+            else
+            {
+                throw LLVMException("index out of range");
+            }
+        }
+    }
+    else
+    {
+        if (len > modelData->numReactions)
+        {
+            throw_llvm_exception("invalid length, length must be <= numReactions");
+        }
+        std::memcpy(values, modelData->reactionRatesAlias, len * sizeof(double));
+    }
+    return len;
+}
+
+int LLVMExecutableModel::getNumConservedMoieties()
+{
+    return symbols->getConservedMoietySize();
+}
+
+int LLVMExecutableModel::getConservedMoietyIndex(const string& name)
+{
+    try
+    {
+        return symbols->getConservedMoietyIndex(name);
+    }
+    catch(std::exception& e)
+    {
+        Log(Logger::LOG_DEBUG) << __FUNC__ << ", " << e.what();
+    }
+    return -1;
+}
+
+string LLVMExecutableModel::getConservedMoietyId(int index)
+{
+    return symbols->getConservedMoietyId(index);
+}
+
+int LLVMExecutableModel::getConservedMoietyValues(int len, const int* indx,
+        double* values)
+{
+    int result = 0;
+    for(int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        int gpIndex = symbols->getConservedMoietyGlobalParameterIndex(j);
+        result += getGlobalParameterValues(1, &gpIndex, &values[i]);
+    }
+    return result;
+}
+
+int LLVMExecutableModel::setConservedMoietyValues(int len, const int* indx,
+        const double* values)
+{
+    int result = 0;
+    for(int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        int gpIndex = symbols->getConservedMoietyGlobalParameterIndex(j);
+        result += setGlobalParameterValues(1, &gpIndex, &values[i]);
+    }
+    return result;
+}
+
+int LLVMExecutableModel::getFloatingSpeciesAmountRates(int len,
+        int const *indx, double *values)
+{
+    uint dydtSize = modelData->numRateRules + modelData->numIndFloatingSpecies;
+
+    double* dydt = (double*)calloc(dydtSize, sizeof(double));
+
+    // state vector is packed such that first numRateRules are the rate rule rates,
+    // and the last numIndFloatingSpecies are the number of independent species.
+    this->getStateVectorRate(this->getTime(), 0, dydt);
+
+    double* amountRates = dydt + modelData->numRateRules;
+
+    for (uint i = 0; i < len; ++i)
+    {
+        uint j = indx ? indx[i] : i;
+        if (j >= modelData->numIndFloatingSpecies)
+        {
+            free(dydt);
+            throw std::out_of_range(std::string("index out of range in") + __FUNC__);
+        }
+        values[i] = amountRates[j];
+    }
+
+    free(dydt);
+    return len;
+}
+
+
+int LLVMExecutableModel::getRateRueRates(int len,
+        int const *indx, double *values)
+{
+    uint dydtSize = modelData->numRateRules;
+    double* dydt = (double*)calloc(dydtSize, sizeof(double));
+
+    // this will also move to a parameter for the evalRateRules func...
+    modelData->rateRuleRates = dydt;
+    evalRateRuleRatesPtr(modelData);
+    modelData->rateRuleRates = 0;
+
+    for (uint i = 0; i < len; ++i)
+    {
+        uint j = indx ? indx[i] : i;
+
+        if (j > modelData->numRateRules) {
+            std::stringstream ss;
+            ss << "index " << j << " out of range";
+            free(dydt);
+            throw std::out_of_range(ss.str());
+        }
+        values[i] = dydt[j];
+    }
+
+    free(dydt);
+    return len;
+}
+
+
+int LLVMExecutableModel::setCompartmentVolumes(int len, const int* indx,
+        const double* values)
+{
+    int result = -1;
+    if (setCompartmentVolumePtr)
+    {
+        result = setValues(setCompartmentVolumePtr,
+                &LLVMExecutableModel::getCompartmentId, len, indx, values);
+    }
+    return result;
+}
+
+
+
+double LLVMExecutableModel::getStoichiometry(int speciesIndex, int reactionIndex)
+{
+    double result = csr_matrix_get_nz(modelData->stoichiometry, speciesIndex, reactionIndex);
+    return isnan(result) ? 0 : result;
+}
+
+int LLVMExecutableModel::getStoichiometryMatrix(int* pRows, int* pCols,
+        double** pData)
+{
+    // asking for matrix size
+    if (pRows && pCols && pData == 0)
+    {
+        *pRows = modelData->stoichiometry->m;
+        *pCols = modelData->stoichiometry->n;
+        return modelData->stoichiometry->m * modelData->stoichiometry->n;
+    }
+
+    // allocate data
+    if (pRows && pCols && pData && *pData == 0)
+    {
+        double* data = (double*)malloc(modelData->stoichiometry->m *
+                modelData->stoichiometry->n * sizeof(double));
+        *pRows = modelData->stoichiometry->m;
+        *pCols = modelData->stoichiometry->n;
+        *pData = data;
+        csr_matrix_fill_dense(modelData->stoichiometry, data);
+
+        return modelData->stoichiometry->m * modelData->stoichiometry->n;
+    }
+
+    // use user data
+    if (pRows && *pRows == modelData->stoichiometry->m &&
+            pCols && *pCols == modelData->stoichiometry->n && pData && *pData)
+    {
+        double* data = *pData;
+        csr_matrix_fill_dense(modelData->stoichiometry, data);
+
+        return modelData->stoichiometry->m * modelData->stoichiometry->n;
+    }
+
+
+    throw_llvm_exception("invalid args");
+}
+
+
+
+/******************************* Events Section *******************************/
+#if (1) /**********************************************************************/
+/******************************************************************************/
+
+int LLVMExecutableModel::getNumEvents()
+{
+    return modelData->numEvents;
+}
+
+int LLVMExecutableModel::getEventTriggers(int len, const int *indx, unsigned char *values)
+{
+    if (len <= 0)
+    {
+        return modelData->numEvents;
+    }
+    else
+    {
+        for (int i = 0; i < len; ++i)
+        {
+            int j = indx ? indx[i] : i;
+            if (j < modelData->numEvents)
+            {
+                values[j] = getEventTrigger(j);
+            }
+            else
+            {
+                throw LLVMException("index out of range");
+            }
+        }
+        return len;
+    }
+}
+
+int LLVMExecutableModel::applyEvents(double timeEnd,
+        const unsigned char* previousEventStatus, const double *initialState,
+        double* finalState)
+{
+    int assignedEvents = 0;
+    modelData->time = timeEnd;
+
+    if(initialState) {
+        setStateVector(initialState);
+    }
+
+    if(modelData->numEvents) {
+        // copy event status into local vars, these
+        // are modified via applyEvents
+        vector<unsigned char> prevEventState(previousEventStatus,
+                previousEventStatus + modelData->numEvents);
+
+        vector<unsigned char> currEventStatus(modelData->numEvents);
+
+        unsigned char *p1 = &prevEventState[0];
+        unsigned char *p2 = &currEventStatus[0];
+
+        pendingEvents.eraseExpiredEvents();
+
+        while(applyEvents(p1, p2))
+        {
+            assignedEvents++;
+            std::swap(p1, p2);
+        }
+    }
+
+    if(finalState) {
+        getStateVector(finalState);
+    }
+
+    return assignedEvents;
+}
+
+
+void  LLVMExecutableModel::getEventRoots(double time, const double* y, double* gdot)
+{
+    modelData->time = time;
+
+    double *savedRateRules = modelData->rateRuleValuesAlias;
+    double *savedFloatingSpeciesAmounts = modelData->floatingSpeciesAmountsAlias;
+
+    if (y)
+    {
+        //memcpy(modelData->rateRuleValues, y,
+        //        modelData->numRateRules * sizeof(double));
+
+        //memcpy(modelData->floatingSpeciesAmounts, y + modelData->numRateRules,
+        //        modelData->numIndFloatingSpecies * sizeof(double));
+
+        modelData->rateRuleValuesAlias = const_cast<double*>(y);
+        modelData->floatingSpeciesAmountsAlias = const_cast<double*>(y + modelData->numRateRules);
+
+        evalVolatileStoichPtr(modelData);
+    }
+
+    for (uint i = 0; i < modelData->numEvents; ++i)
+    {
+        unsigned char triggered = getEventTriggerPtr(modelData, i);
+
+        gdot[i] = triggered ? 1.0 : -1.0;
+    }
+
+    modelData->rateRuleValuesAlias = savedRateRules;
+    modelData->floatingSpeciesAmountsAlias = savedFloatingSpeciesAmounts;
+
+    return;
+}
+
+double LLVMExecutableModel::getNextPendingEventTime(bool pop)
+{
+    return pendingEvents.getNextPendingEventTime();
+}
+
+int LLVMExecutableModel::getPendingEventSize()
+{
+    return pendingEvents.size();
+}
+
+void LLVMExecutableModel::resetEvents()
+{
+}
+
+bool LLVMExecutableModel::applyEvents(unsigned char* prevEventState,
+        unsigned char* currEventState)
+{
+    for (uint i = 0; i < modelData->numEvents; ++i)
+    {
+        bool c = getEventTrigger(i);
+        currEventState[i] = c;
+
+        Log(Logger::LOG_DEBUG) << "event " << i << ", previous state: " <<
+                (bool)prevEventState[i] << ", current state: " << (bool)c;
+
+        // transition from non-triggered to triggered
+        if (c && !prevEventState[i])
+        {
+            const EventListenerPtr &handler = eventListeners[i];
+            if(handler)
+            {
+                uint result = handler->onTrigger(this, i, symbols->getEventId(i));
+
+                if(result & EventListener::HALT_SIMULATION) {
+                    throw EventListenerException(result);
+                }
+            }
+            pendingEvents.push(rrllvm::Event(*this, i));
+        }
+    }
+
+    // fire the highest priority event, this causes state change
+    // return true if we incured a state change
+    return pendingEvents.applyEvents();
+}
+
+bool LLVMExecutableModel::getEventTieBreak(uint eventA, uint eventB)
+{
+    /*
+    C_ASSERT(sizeof(TieBreakKey) == 8 && sizeof(uint) == 4);
+
+    bool result;
+    TieBreakKey keyA = eventA;
+    TieBreakKey keyB = eventB;
+    TieBreakKey key = keyA << 32 | keyB;
+    TieBreakMap::iterator i = tieBreakMap.find(key);
+    if (i != tieBreakMap.end())
+    {
+        result = !i->second;
+        i->second = result;
+    }
+    else
+    {
+        result = true;
+        tieBreakMap.insert(std::pair<TieBreakKey,bool>(key, result));
+    }
+    */
+
+    bool result = (std::rand() % 2) == 0;
+
+
+
+    Log(Logger::LOG_DEBUG) << "tie break, a: " << eventA << ", b: " <<
+            eventB << ", result: " << result;
+
+    return result;
+}
+
+
+/******************************* Events Section *******************************/
+#endif /***********************************************************************/
+/******************************************************************************/
+
+/******************************* Initial Conditions Section *******************/
+#if (1) /**********************************************************************/
+/******************************************************************************/
+
+
+int LLVMExecutableModel::setFloatingSpeciesInitConcentrations(int len,
+        const int* indx, const double* values)
+{
+    int result = -1;
+    if (setFloatingSpeciesInitConcentrationsPtr)
+    {
+        result = setValues(setFloatingSpeciesInitConcentrationsPtr,
+                &LLVMExecutableModel::getFloatingSpeciesId, len, indx, values);
+    }
+
+    dirty |= DIRTY_INIT_SPECIES;
+
+    // as a convienice to users, this resets the amounts and whatever depends
+    // on them.
+    reset(SelectionRecord::TIME | SelectionRecord::FLOATING);
+
+    return result;
+}
+
+int LLVMExecutableModel::getFloatingSpeciesInitConcentrations(int len,
+        const int* indx, double* values)
+{
+    int result = -1;
+    if (getFloatingSpeciesInitConcentrationsPtr)
+    {
+        result = getValues(getFloatingSpeciesInitConcentrationsPtr, len, indx, values);
+    }
+    return result;
+}
+
+int LLVMExecutableModel::setFloatingSpeciesInitAmounts(int len, int const *indx,
+            double const *values)
+{
+    int result = -1;
+    if (setFloatingSpeciesInitAmountsPtr)
+    {
+        result = setValues(setFloatingSpeciesInitAmountsPtr,
+                &LLVMExecutableModel::getFloatingSpeciesId, len, indx, values);
+    }
+
+    dirty |= DIRTY_INIT_SPECIES;
+
+    // as a convienice to users, this resets the amounts and whatever depends
+    // on them.
+    reset(SelectionRecord::TIME | SelectionRecord::FLOATING);
+    return result;
+}
+
+int LLVMExecutableModel::getFloatingSpeciesInitAmounts(int len, int const *indx,
+                double *values)
+{
+    int result = -1;
+    if (getFloatingSpeciesInitAmountsPtr)
+    {
+        result = getValues(getFloatingSpeciesInitAmountsPtr, len, indx, values);
+    }
+    return result;
+}
+
+int LLVMExecutableModel::setCompartmentInitVolumes(int len, const int *indx,
+            double const *values)
+{
+    int result = -1;
+    if (setCompartmentInitVolumesPtr)
+    {
+        result = setValues(setCompartmentInitVolumesPtr,
+                &LLVMExecutableModel::getCompartmentId, len, indx, values);
+    }
+    return result;
+}
+
+int LLVMExecutableModel::getCompartmentInitVolumes(int len, const int *indx,
+                double *values)
+{
+    int result = -1;
+    if (getCompartmentInitVolumesPtr)
+    {
+        result = getValues(getCompartmentInitVolumesPtr, len, indx, values);
+    }
+    return result;
+}
+
+int LLVMExecutableModel::setGlobalParameterInitValues(int len, const int* indx,
+        const double* values)
+{
+    int result = -1;
+    if (setGlobalParameterInitValuePtr)
+    {
+        result = setValues(setGlobalParameterInitValuePtr,
+                &LLVMExecutableModel::getGlobalParameterId, len, indx, values);
+    }
+    return result;
+}
+
+int LLVMExecutableModel::getGlobalParameterInitValues(int len, const int *indx,
+                double *values)
+{
+    int result = -1;
+    if (getGlobalParameterInitValuePtr)
+    {
+        result = getValues(getGlobalParameterInitValuePtr, len, indx, values);
+    }
+    return result;
+}
+
+/******************************* End Initial Conditions Section ***************/
+#endif /***********************************************************************/
+/******************************************************************************/
+
+
+
+/******************************* Random Section *******************************/
+#if (1) /**********************************************************************/
+/******************************************************************************/
+
+/**
+ * set the seed used by the random number generator. This will by definition
+ * reset the RNG.
+ */
+void LLVMExecutableModel::setRandomSeed(int64_t seed)
+{
+    // if this does not exist, can create it, this will be freed
+    // by LLVMModelData_free
+    if (modelData->random == 0)
+    {
+        modelData->random = new Random();
+    }
+    modelData->random->setRandomSeed(seed);
+
+}
+
+/**
+ * get the seed used by the RNG.
+ */
+int64_t LLVMExecutableModel::getRandomSeed()
+{
+    // if this does not exist, can create it, this will be freed
+    // by LLVMModelData_free
+    if (modelData->random == 0)
+    {
+        modelData->random = new Random();
+    }
+    return modelData->random->getRandomSeed();
+}
+
+/**
+ * Get a uniform random number between 0 and 1 created by the RNG.
+ *
+ * The type of RNG can be specified in the config file with the
+ * RANDOM_GENERATOR_TYPE key.
+ */
+double LLVMExecutableModel::getRandom()
+{
+    // if this does not exist, can create it, this will be freed
+    // by LLVMModelData_free
+    if (modelData->random == 0)
+    {
+        modelData->random = new Random();
+    }
+    return (*modelData->random)();
+}
+
+/******************************* End Random Section ***************************/
+#endif  /**********************************************************************/
+/******************************************************************************/
+
+
+} /* namespace rr */
diff --git a/source/llvm/LLVMExecutableModel.h b/source/llvm/LLVMExecutableModel.h
new file mode 100644
index 0000000..4432417
--- /dev/null
+++ b/source/llvm/LLVMExecutableModel.h
@@ -0,0 +1,720 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file LLVMExecutableModel.h
+* @author ETS
+* @copyright Apache License, Version 2.0
+* @date Jun 3, 2013
+* @brief LLVM executable model interface
+**/
+
+/*
+ * Author: Andy Somogyi,
+ *     email decode: V1 = "."; V2 = "@"; V3 = V1;
+ *     andy V1 somogyi V2 gmail V3 com
+ */
+
+#ifndef LLVMExecutableModelH
+#define LLVMExecutableModelH
+
+#include "rrExecutableModel.h"
+#include "LLVMModelDataSymbols.h"
+#include "LLVMIncludes.h"
+
+#include "EvalInitialConditionsCodeGen.h"
+#include "EvalReactionRatesCodeGen.h"
+#include "EvalRateRuleRatesCodeGen.h"
+#include "GetValuesCodeGen.h"
+#include "GetInitialValuesCodeGen.h"
+#include "GetEventValuesCodeGen.h"
+#include "EventAssignCodeGen.h"
+#include "EventTriggerCodeGen.h"
+#include "EvalVolatileStoichCodeGen.h"
+#include "EvalConversionFactorCodeGen.h"
+#include "SetValuesCodeGen.h"
+#include "SetInitialValuesCodeGen.h"
+#include "EventQueue.h"
+#include "rrSelectionRecord.h"
+
+#include "tr1proxy/rr_memory.h"
+#include "tr1proxy/rr_unordered_map.h"
+#include <map>
+
+namespace rrllvm
+{
+
+class ModelResources;
+
+/**
+ * @author ETS
+ * @brief LLVM executable model
+ * @details Interface to LLVM executable model.
+ */
+class RR_DECLSPEC LLVMExecutableModel: public rr::ExecutableModel
+{
+public:
+
+    /**
+     * @author JKM
+     * @date 07/31/2015
+     * @brief Returns a human-readable description of the code generation backend,
+     * e.g. LLVM, legacy C, etc.
+     */
+    virtual std::string getExecutableModelDesc() const {
+        return "LLVM Executable Model";
+    }
+
+    /**
+     * the default ctor just zeros out all our private bits, then
+     * the main construction is handled by the model generator.
+     */
+    LLVMExecutableModel();
+
+    /**
+     * takes ownership of the LLVMModelData pointer.
+     */
+    LLVMExecutableModel(const cxx11_ns::shared_ptr<ModelResources> &resources,
+            LLVMModelData* modelData);
+
+
+    virtual ~LLVMExecutableModel();
+
+    /**
+     * get the name of the model
+     */
+    virtual string getModelName();
+    virtual void setTime(double _time);
+    virtual double getTime();
+
+    /**
+     * evaluate the initial conditions specified in the sbml, this entails
+     * evaluating all InitialAssigments, AssigmentRules, initial values, etc...
+     *
+     * The the model state is fully set.
+     */
+    void evalInitialConditions(uint32_t flags = 0);
+
+    /**
+     * call reset(options) with defaut options.
+     */
+    virtual void reset();
+
+    /**
+     * reset the model accordign to a bitfield specified by the
+     * SelectionRecord::SelectionType values.
+     */
+    virtual void reset(int options);
+
+
+
+    virtual int getNumIndFloatingSpecies();
+    virtual int getNumDepFloatingSpecies();
+
+    virtual int getNumFloatingSpecies();
+    virtual int getNumBoundarySpecies();
+    virtual int getNumGlobalParameters();
+
+    virtual int getNumCompartments();
+
+    /**
+     * get the global parameter values
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getGlobalParameterValues(int len, int const *indx,
+            double *values);
+
+    virtual int setGlobalParameterValues(int len, int const *indx,
+            const double *values);
+
+    virtual int getNumReactions();
+
+    virtual int getReactionRates(int len, int const *indx,
+                    double *values);
+
+    /**
+     * get the compartment volumes
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getCompartmentVolumes(int len, int const *indx,
+            double *values);
+
+    virtual int getNumRateRules();
+
+    /**
+     * @author JKM
+     * @date 07/31/2015
+     * @brief Gets the symbols defined by rate rules, i.e.
+     * returns all x such that x' = f(x) is a rule which defines parameter x.
+     */
+    virtual std::vector<std::string> getRateRuleSymbols() const;
+
+    /**
+     * copy (but do not evaluate) existing rate rules values into
+     * a buffer.
+     */
+    virtual void getRateRuleValues(double *rateRuleValues);
+
+
+    virtual std::string getStateVectorId(int index);
+
+    /**
+     * copies the internal model state vector into the provided
+     * buffer.
+     *
+     * @param[out] stateVector a buffer to copy the state vector into, if NULL,
+     *         return the size required.
+     *
+     * @return the number of items coppied into the provided buffer, if
+     *         stateVector is NULL, returns the length of the state vector.
+     */
+    virtual int getStateVector(double *stateVector);
+
+    /**
+     * sets the internal model state to the provided packed state vector.
+     *
+     * @param[in] an array which holds the packed state vector, must be
+     *         at least the size returned by getStateVector.
+     *
+     * @return the number of items copied from the state vector, negative
+     *         on failure.
+     */
+    virtual int setStateVector(const double *stateVector);
+
+    /**
+     * where most of the juicy bits occur.
+     *
+     * the state vector y is the rate rule values and floating species
+     * concentrations concatenated. y is of length numFloatingSpecies + numRateRules.
+     *
+     * The state vector is packed such that the first n raterule elements are the
+     * values of the rate rules, and the last n floatingspecies are the floating
+     * species values.
+     *
+     * @param[in] time current simulator time
+     * @param[in] y state vector, must be of size returned by getStateVector
+     * @param[out] dydt calculated rate of change of the state vector, if null,
+     * it is ignored.
+     */
+    virtual void getStateVectorRate(double time, const double *y, double* dydt=0);
+
+
+    virtual void testConstraints();
+
+    virtual string getInfo();
+
+    virtual int getFloatingSpeciesIndex(const string&);
+    virtual string getFloatingSpeciesId(int);
+    virtual int getBoundarySpeciesIndex(const string&);
+    virtual string getBoundarySpeciesId(int);
+
+    /**
+     * get the floating species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesAmounts(int len, int const *indx,
+            double *values);
+
+    virtual int getFloatingSpeciesAmountRates(int len, int const *indx,
+            double *values);
+
+    virtual int getFloatingSpeciesConcentrationRates(int len, int const *indx,
+            double *values);
+
+    /**
+     * get the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+
+    /**
+     * set the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setFloatingSpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+    virtual int setFloatingSpeciesAmounts(int len, int const *indx,
+            const double *values);
+
+    /**
+     * get the boundary species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesAmounts(int len, int const *indx,
+            double *values);
+
+    /**
+     * get the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+    /**
+     * get the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setBoundarySpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+
+    /**
+      * get the boundary species amounts
+      *
+      * @param[in] len the length of the indx and values arrays.
+      * @param[in] indx an array of length len of boundary species to return.
+      * @param[in] values an array of at least length len which will store the
+      *                returned boundary species amounts.
+      */
+     virtual int setBoundarySpeciesAmounts(int len, int const *indx,
+             double const *values);
+
+
+    virtual int getGlobalParameterIndex(const string&);
+    virtual string getGlobalParameterId(int);
+    virtual int getCompartmentIndex(const string&);
+    virtual string getCompartmentId(int);
+    virtual int getReactionIndex(const string&);
+    virtual string getReactionId(int);
+
+    virtual void print(std::ostream &stream);
+
+    virtual int getNumConservedMoieties();
+    virtual int getConservedMoietyIndex(const string& name);
+    virtual string getConservedMoietyId(int index);
+    virtual int getConservedMoietyValues(int len, int const *indx, double *values);
+    virtual int setConservedMoietyValues(int len, int const *indx,
+            const double *values);
+
+
+    virtual int setCompartmentVolumes(int len, int const *indx,
+            const double *values);
+
+
+    virtual double getStoichiometry(int speciesIndex, int reactionIndex);
+
+    /**
+     * allocate a block of memory and copy the stochiometric values into it,
+     * and return it.
+     *
+     * The caller is responsible for freeing the memory that is referenced by data.
+     *
+     * @param[out] rows will hold the number of rows in the matrix.
+     * @param[out] cols will hold the number of columns in the matrix.
+     * @param[out] data a pointer which will hold a newly allocated memory block.
+     */
+    virtual int getStoichiometryMatrix(int* rows, int* cols, double** data);
+
+
+    /******************************* Initial Conditions Section *******************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    virtual int setFloatingSpeciesInitConcentrations(int len, const int *indx,
+            double const *values);
+
+    virtual int getFloatingSpeciesInitConcentrations(int len, const int *indx,
+            double *values);
+
+    virtual int setFloatingSpeciesInitAmounts(int len, const int *indx,
+                double const *values);
+
+    virtual int getFloatingSpeciesInitAmounts(int len, const int *indx,
+                    double *values);
+
+    virtual int setCompartmentInitVolumes(int len, const int *indx,
+                double const *values);
+
+    virtual int getCompartmentInitVolumes(int len, const int *indx,
+                    double *values);
+
+    virtual int setGlobalParameterInitValues(int len, const int *indx,
+                double const *values);
+
+    virtual int getGlobalParameterInitValues(int len, const int *indx,
+                    double *values);
+
+    /******************************* End Initial Conditions Section ***************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Selection Ids Species Section ***********************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * populates a given list with all the ids that this class can accept.
+     */
+    virtual void getIds(int types, std::list<std::string> &ids);
+
+    /**
+     * returns a bit field of the ids that this class supports.
+     */
+    virtual int getSupportedIdTypes();
+
+    /**
+     * gets the value for the given id string. The string must be a SelectionRecord
+     * string that is accepted by this class.
+     */
+    virtual double getValue(const std::string& id);
+
+    /**
+     * sets the value coresponding to the given selection stringl
+     */
+    virtual void setValue(const std::string& id, double value);
+
+    /************************ End Selection Ids Species Section *******************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+    /******************************* Random Section *******************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * set the seed used by the random number generator. This will by definition
+     * reset the RNG.
+     */
+    virtual void setRandomSeed(int64_t);
+
+    /**
+     * get the seed used by the RNG.
+     */
+    virtual int64_t getRandomSeed();
+
+    /**
+     * Get a uniform random number between 0 and 1 created by the RNG.
+     *
+     * The type of RNG can be specified in the config file with the
+     * RANDOM_GENERATOR_TYPE key.
+     */
+    virtual double getRandom();
+
+    /******************************* End Random Section ***************************/
+    #endif  /**********************************************************************/
+    /******************************************************************************/
+
+
+    /******************************* Events Section *******************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+public:
+    virtual int getNumEvents();
+
+    /**
+     * @brief Get status of event triggers
+     * @author ETS
+     * @details When len <= 0, returns number of events.
+     * Otherwise, sets bits in @ref eventState to the corresponding trigger.
+     * @param[in] len The length of @ref indx
+     * @param[in] indx An index into @ref eventState
+     * @param[out] eventState The state of the event triggers
+     */
+    virtual int getEventTriggers(int len, const int *indx, unsigned char *eventState);
+
+    /**
+     * erases expired events, and applies ripe events as long as we have ripe
+     * events.
+     */
+    virtual int applyEvents(double timeEnd, const unsigned char* previousEventState,
+            const double *initialState, double* finalState);
+
+    virtual void getEventRoots(double time, const double* y, double* gdot);
+
+    virtual double getNextPendingEventTime(bool pop);
+
+    virtual int getPendingEventSize();
+
+    virtual void resetEvents();
+
+    inline double getEventDelay(uint event)
+    {
+        return getEventDelayPtr(modelData, event);
+    }
+
+    inline double getEventPriority(uint event)
+    {
+        return getEventPriorityPtr(modelData, event);
+    }
+
+    inline bool getEventTrigger(uint event)
+    {
+        assert(event < symbols->getEventAttributes().size()
+                        && "event out of bounds");
+        if (modelData->time >= 0.0)
+        {
+            return getEventTriggerPtr(modelData, event);
+        }
+        else
+        {
+            return symbols->getEventAttributes()[event] & EventInitialValue
+                    ? true : false;
+        }
+    }
+
+    inline bool getEventUseValuesFromTriggerTime(uint event)
+    {
+        assert(event < symbols->getEventAttributes().size()
+            && "event out of bounds");
+        return symbols->getEventAttributes()[event]
+                & EventUseValuesFromTriggerTime;
+    }
+
+    inline bool getEventInitialValue(uint event)
+    {
+        assert(event < symbols->getEventAttributes().size()
+            && "event out of bounds");
+        return symbols->getEventAttributes()[event] & EventInitialValue;
+    }
+
+    inline bool getEventPersistent(uint event)
+    {
+        assert(event < symbols->getEventAttributes().size()
+            && "event out of bounds");
+        return symbols->getEventAttributes()[event] & EventPersistent;
+    }
+
+    inline uint getEventBufferSize(uint event)
+    {
+        return symbols->getEventBufferSize(event);
+    }
+
+    inline void getEventData(uint eventId, double* data)
+    {
+        eventTriggerPtr(modelData, eventId, data);
+    }
+
+    /**
+     * assign or apply the event using the given data.
+     */
+    inline void assignEvent(uint eventId, double* data)
+    {
+        // apply the sbml JITed event assignments
+        eventAssignPtr(modelData, eventId, data);
+
+        const rr::EventListenerPtr &handler = eventListeners[eventId];
+        if(handler)
+        {
+            uint result = handler->onAssignment(this, eventId, symbols->getEventId(eventId));
+
+            if(result & rr::EventListener::HALT_SIMULATION) {
+                throw rr::EventListenerException(result);
+            }
+        }
+    }
+
+    bool getEventTieBreak(uint eventA, uint eventB);
+
+    virtual int getEventIndex(const std::string& eid);
+    virtual std::string getEventId(int index);
+    virtual void setEventListener(int index, rr::EventListenerPtr eventHandler);
+    virtual rr::EventListenerPtr getEventListener(int index);
+
+
+    virtual double getFloatingSpeciesAmountRate(int index,
+            const double *reactionRates);
+
+    /**
+     * calculate rate rule values.
+     * TODO redo this function, not very effecient.
+     */
+    int getRateRueRates(int len, int const *indx, double *values);
+
+
+    /**
+     * Get the current set of flags
+     */
+    virtual uint32_t getFlags() const { return flags; }
+
+    /**
+     * Set certain options that determine the state of the ExecutableModel,
+     * these are listed in
+     */
+    virtual void setFlags(uint32_t val) { flags = val; }
+
+private:
+
+    /**
+     * get a selection record for a given stirng. if the string is valid,
+     * the SelectionRecord is created and cached.
+     *
+     * if the string is invalid, and exception is thrown.
+     */
+    const rr::SelectionRecord& getSelection(const std::string& sel);
+
+    /**
+     * previous state
+     * get current state
+     * current state becomes previous state for next itteration
+     * evaluate first pending event
+     */
+    bool applyEvents(unsigned char* prevEventState,
+            unsigned char* currEventState);
+
+
+    rrllvm::EventQueue pendingEvents;
+
+    /**
+     * the time delayed events were triggered.
+     */
+    std::vector<double> eventAssignTimes;
+
+    typedef unsigned long long TieBreakKey;
+    typedef std::map<TieBreakKey, bool> TieBreakMap;
+    TieBreakMap tieBreakMap;
+
+    /******************************* Events Section *******************************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+private:
+    /**
+     * the model generator maintians a cached of generated models.
+     */
+    cxx11_ns::shared_ptr<const ModelResources> resources;
+
+    LLVMModelData *modelData;
+    const LLVMModelDataSymbols *symbols;
+
+    EvalInitialConditionsCodeGen::FunctionPtr evalInitialConditionsPtr;
+    EvalReactionRatesCodeGen::FunctionPtr evalReactionRatesPtr;
+    GetBoundarySpeciesAmountCodeGen::FunctionPtr getBoundarySpeciesAmountPtr;
+    GetFloatingSpeciesAmountCodeGen::FunctionPtr getFloatingSpeciesAmountPtr;
+    GetBoundarySpeciesConcentrationCodeGen::FunctionPtr getBoundarySpeciesConcentrationPtr;
+    GetFloatingSpeciesConcentrationCodeGen::FunctionPtr getFloatingSpeciesConcentrationPtr;
+    GetCompartmentVolumeCodeGen::FunctionPtr getCompartmentVolumePtr;
+    GetGlobalParameterCodeGen::FunctionPtr getGlobalParameterPtr;
+    EvalRateRuleRatesCodeGen::FunctionPtr evalRateRuleRatesPtr;
+    GetEventTriggerCodeGen::FunctionPtr getEventTriggerPtr;
+    GetEventPriorityCodeGen::FunctionPtr getEventPriorityPtr;
+    GetEventDelayCodeGen::FunctionPtr getEventDelayPtr;
+    EventTriggerCodeGen::FunctionPtr eventTriggerPtr;
+    EventAssignCodeGen::FunctionPtr eventAssignPtr;
+    EvalVolatileStoichCodeGen::FunctionPtr evalVolatileStoichPtr;
+    EvalConversionFactorCodeGen::FunctionPtr evalConversionFactorPtr;
+
+    // set model values externally.
+    SetBoundarySpeciesAmountCodeGen::FunctionPtr setBoundarySpeciesAmountPtr;
+    SetFloatingSpeciesAmountCodeGen::FunctionPtr setFloatingSpeciesAmountPtr;
+    SetBoundarySpeciesConcentrationCodeGen::FunctionPtr setBoundarySpeciesConcentrationPtr;
+    SetFloatingSpeciesConcentrationCodeGen::FunctionPtr setFloatingSpeciesConcentrationPtr;
+    SetCompartmentVolumeCodeGen::FunctionPtr setCompartmentVolumePtr;
+    SetGlobalParameterCodeGen::FunctionPtr setGlobalParameterPtr;
+
+
+    // init value accessors
+    SetFloatingSpeciesInitConcentrationCodeGen::FunctionPtr setFloatingSpeciesInitConcentrationsPtr;
+    GetFloatingSpeciesInitConcentrationCodeGen::FunctionPtr getFloatingSpeciesInitConcentrationsPtr;
+    SetFloatingSpeciesInitAmountCodeGen::FunctionPtr setFloatingSpeciesInitAmountsPtr;
+    GetFloatingSpeciesInitAmountCodeGen::FunctionPtr getFloatingSpeciesInitAmountsPtr;
+    SetCompartmentInitVolumeCodeGen::FunctionPtr setCompartmentInitVolumesPtr;
+    GetCompartmentInitVolumeCodeGen::FunctionPtr getCompartmentInitVolumesPtr;
+    GetGlobalParameterInitValueCodeGen::FunctionPtr getGlobalParameterInitValuePtr;
+    SetGlobalParameterInitValueCodeGen::FunctionPtr setGlobalParameterInitValuePtr;
+
+
+    typedef string (LLVMExecutableModel::*GetNameFuncPtr)(int);
+
+    /**
+     * cache the selection records
+     */
+    typedef cxx11_ns::unordered_map<std::string, rr::SelectionRecord> SelectionMap;
+    SelectionMap selectionRecordCache;
+
+    /**
+     * event handlers, we don't own these, just borrow them
+     *
+     * array of modelData.numEvents length.
+     */
+    std::vector<rr::EventListenerPtr> eventListeners;
+
+    /**
+     * get the values from the model struct and populate the given values array.
+     */
+    int getValues(double (*funcPtr)(LLVMModelData*, int), int len,
+            const int *indx, double *values);
+
+    /**
+     * set the model struct values from the given array.
+     */
+    int setValues(bool (*funcPtr)(LLVMModelData*, int, double), GetNameFuncPtr, int len,
+            const int *indx, const double *values);
+
+    static LLVMExecutableModel* dummy();
+
+    friend class LLVMModelGenerator;
+
+    template <typename a_type, typename b_type>
+    friend void copyCachedModel(a_type* src, b_type* dst);
+
+    /**
+     * the sbml conversion factor.
+     *
+     * TODO: this has issues in that its possible for the conversion factor to change.
+     * This needs to be moved into an LLVM generated function instead of a
+     * class variable.
+     */
+    double conversionFactor;
+
+
+    /**
+     * what items are dirty
+     */
+    uint32_t dirty;
+
+    enum
+    {
+        // init cond for species have changed
+        DIRTY_INIT_SPECIES            = (0x1 << 0),  // => 0x00000001
+
+        // conserved moieties have changes.
+        DIRTY_CONSERVED_MOIETIES      = (0x1 << 1),  // => 0x00000010
+
+        // reaction rates need to be re-calculated.
+        DIRTY_REACTION_RATES          = (0x1 << 2)   //
+    };
+
+
+    uint32_t flags;
+};
+
+} /* namespace rr */
+#endif /* LLVMExecutableModelH */
diff --git a/source/llvm/LLVMIncludes.h b/source/llvm/LLVMIncludes.h
new file mode 100644
index 0000000..bb01ec6
--- /dev/null
+++ b/source/llvm/LLVMIncludes.h
@@ -0,0 +1,99 @@
+/*
+ * LLVMIncludes.h
+ *
+ *  Created on: Jun 29, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVMINCLUDES_H_
+#define RRLLVMINCLUDES_H_
+
+#if !defined(LLVM_VERSION_MINOR)
+
+// this is likely a very common macro, so save it
+#pragma push_macro("CONFIG_H")
+#include <llvm/Config/llvm-config.h>
+#pragma pop_macro("CONFIG_H")
+#endif
+
+#pragma push_macro("min")
+#pragma push_macro("max")
+
+#undef min
+#undef max
+
+#ifdef _MSC_VER
+#pragma warning( push )
+#pragma warning( disable : 4355 )
+#pragma warning( disable : 4244 )
+#endif
+
+#if (LLVM_VERSION_MAJOR == 3) && (LLVM_VERSION_MINOR >= 5)
+#include <llvm/IR/DataLayout.h>
+#include <llvm/IR/DerivedTypes.h>
+#include <llvm/IR/IRBuilder.h>
+#include <llvm/IR/LLVMContext.h>
+#include <llvm/IR/Module.h>
+#include <llvm/IR/Intrinsics.h>
+#include <llvm/IR/Verifier.h>
+#elif (LLVM_VERSION_MAJOR == 3) && ((LLVM_VERSION_MINOR == 3) || (LLVM_VERSION_MINOR == 4))
+#include <llvm/IR/DataLayout.h>
+#include <llvm/IR/DerivedTypes.h>
+#include <llvm/IR/IRBuilder.h>
+#include <llvm/IR/LLVMContext.h>
+#include <llvm/IR/Module.h>
+#include <llvm/IR/Intrinsics.h>
+#include <llvm/Analysis/Verifier.h>
+#elif (LLVM_VERSION_MAJOR == 3) && (LLVM_VERSION_MINOR == 2)
+#include <llvm/DataLayout.h>
+#include <llvm/DerivedTypes.h>
+#include <llvm/IRBuilder.h>
+#include <llvm/LLVMContext.h>
+#include <llvm/Module.h>
+#include <llvm/Intrinsics.h>
+#include <llvm/Analysis/Verifier.h>
+#elif (LLVM_VERSION_MAJOR == 3) && (LLVM_VERSION_MINOR == 1)
+#include <llvm/DerivedTypes.h>
+#include <llvm/ExecutionEngine/ExecutionEngine.h>
+#include <llvm/ExecutionEngine/JIT.h>
+#include <llvm/LLVMContext.h>
+#include <llvm/Module.h>
+#include <llvm/PassManager.h>
+#include <llvm/Target/TargetData.h>
+#include <llvm/Transforms/Scalar.h>
+#include <llvm/Support/IRBuilder.h>
+#include <llvm/Support/TargetSelect.h>
+#include <llvm/Analysis/Verifier.h>
+#else
+#error "Unsupported LLVM Version, require LLVM >= 3.1"
+#endif
+
+#include <llvm/Analysis/Passes.h>
+#include <llvm/ExecutionEngine/ExecutionEngine.h>
+#include <llvm/ExecutionEngine/JIT.h>
+#include <llvm/PassManager.h>
+#include <llvm/Support/TargetSelect.h>
+#include <llvm/Transforms/Scalar.h>
+#include <llvm/Support/raw_ostream.h>
+#include <llvm/Target/TargetLibraryInfo.h>
+#include <llvm/Support/raw_ostream.h>
+#include <llvm/Support/Host.h>
+
+#ifdef _MSC_VER
+#pragma warning( pop )
+#endif
+
+#pragma pop_macro("min")
+#pragma pop_macro("max")
+
+namespace rrllvm {
+/**
+ * C++ 11 style to_string for LLVM types
+ */
+std::string to_string(const llvm::Value *);
+}
+
+
+
+
+#endif /* RRLLVMINCLUDES_H_ */
diff --git a/source/llvm/LLVMModelData.cpp b/source/llvm/LLVMModelData.cpp
new file mode 100644
index 0000000..a27d5a4
--- /dev/null
+++ b/source/llvm/LLVMModelData.cpp
@@ -0,0 +1,114 @@
+/*
+ * rrLLVMModelData.cpp
+ *
+ *  Created on: Aug 8, 2013
+ *      Author: andy
+ */
+
+#pragma hdrstop
+#include "LLVMModelData.h"
+
+#include <stdlib.h>
+#include <string.h>
+#include "rrExecutableModel.h"
+#include "rrSparse.h"
+#include "Random.h"
+#include <iomanip>
+
+using namespace std;
+
+static void dump_array(std::ostream &os, int n, const double *p)
+{
+    if (p)
+    {
+        os << setiosflags(ios::floatfield) << setprecision(8);
+        os << '[';
+        for (int i = 0; i < n; ++i)
+        {
+            os << p[i];
+            if (i < n - 1)
+            {
+                os << ", ";
+            }
+        }
+        os << ']' << endl;
+    }
+    else
+    {
+        os << "NULL" << endl;
+    }
+}
+
+
+namespace rrllvm
+{
+
+
+std::ostream& operator <<(std::ostream& os, const LLVMModelData& data)
+{
+    os << "LLVMModelData:"                  << endl;
+    os << "size: "                          << data.size << endl;
+    os << "flags: "                         << data.flags << endl;
+    os << "time: "                          << data.time << endl;
+    os << "numIndFloatingSpecies: "         << data.numIndFloatingSpecies << endl;
+
+    os << "numIndGlobalParameters: "        << data.numIndGlobalParameters << endl;
+    os << "globalParameters: "              << endl;
+    dump_array(os, data.numIndGlobalParameters, data.globalParametersAlias);
+
+    os << "numReactions: "                  << data.numReactions << endl;
+    os << "reactionRates: "                 << endl;
+    dump_array(os, data.numReactions, data.reactionRatesAlias);
+
+    os << "numRateRules: "                  << data.numRateRules << endl;
+    os << "rateRuleValues: "                << endl;
+    dump_array(os, data.numRateRules, data.rateRuleValuesAlias);
+
+    os << "floatingSpeciesAmounts: "        << endl;
+    dump_array(os, data.numIndFloatingSpecies, data.floatingSpeciesAmountsAlias);
+
+    os << "numIndBoundarySpecies: "         << data.numIndBoundarySpecies << endl;
+
+    os << "boundarySpeciesAmounts:"         << endl;
+    dump_array(os, data.numIndBoundarySpecies, data.boundarySpeciesAmountsAlias);
+
+    os << "numIndCompartments: "            << data.numIndCompartments << endl;
+    os << "compartmentVolumes:"             << endl;
+    dump_array(os, data.numIndCompartments, data.compartmentVolumesAlias);
+
+    os << "stoichiometry:"                  << endl;
+    os << data.stoichiometry;
+
+
+    os << "numInitFloatingSpecies: "        << data.numInitFloatingSpecies << endl;
+    os << "initFloatingSpeciesAmounts: "    << endl;
+    dump_array(os, data.numInitFloatingSpecies, data.initFloatingSpeciesAmountsAlias);
+
+    os << "numInitCompartments: "           << data.numInitCompartments << endl;
+    os << "initCompartmentVolumes:"         << endl;
+    dump_array(os, data.numInitCompartments, data.initCompartmentVolumesAlias);
+
+    os << "numInitGlobalParameters: "       << data.numInitGlobalParameters << endl;
+    os << "initGlobalParameters: "          << endl;
+    dump_array(os, data.numInitGlobalParameters, data.initGlobalParametersAlias);
+
+
+    return os;
+}
+
+void  LLVMModelData_free(LLVMModelData *data)
+{
+    if (data)
+    {
+        csr_matrix_delete(data->stoichiometry);
+        delete data->random;
+        ::free(data);
+    }
+}
+
+} // namespace rr
+
+
+
+
+
diff --git a/source/llvm/LLVMModelData.h b/source/llvm/LLVMModelData.h
new file mode 100644
index 0000000..2b61c25
--- /dev/null
+++ b/source/llvm/LLVMModelData.h
@@ -0,0 +1,246 @@
+/*
+ * LLVMModelData.h
+ *
+ *  Created on: Aug 8, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVMMODELDATA_H_
+#define RRLLVMMODELDATA_H_
+
+#include "rrSparse.h"
+#include <string>
+#include <ostream>
+
+namespace rrllvm
+{
+
+#ifdef _MSC_VER
+#pragma warning( push )
+#pragma warning( disable : 4200 )
+#endif
+
+/**
+ * A data structure that is that allows data to be exchanged
+ * with running SBML models. In the case of CExecutableModels, A pointer to
+ * this struct is given to the compiled shared library, and the C code
+ * there modifies the buffers of this structure.
+ *
+ * There are some functions in ExecutableModel.h that manage ModelData
+ * memory. These would have made more sense here, but in order to prevent
+ * any issues with generated code interacting with them, they were placed
+ * there.
+ *
+ * Basic Nomencalture
+ * Compartments: A well stirred compartment which contains one or more species.
+ * the volume of a compartment can change durring the course of a simulation.
+ *
+ * Floating Species: these are chemical species who's values (ammount / concentration)
+ * change over time.
+ *
+ * Boundary Species: chemical species that who's values are fixed to their initial conditions,
+ * these function as boundary conditions.
+ *
+ * @see ExecutableModel.h
+ */
+struct LLVMModelData
+{
+    /**
+     * sizeof this struct, make sure we use the correct
+     * size in LLVM land.
+     */
+    unsigned                            size;                             // 0
+
+    unsigned                            flags;                            // 1
+
+    /**
+     * current time.
+     */
+    double                              time;                             // 2
+
+    unsigned                            numIndCompartments;               // 3
+
+    /**
+     * The total ammounts of the floating species, i.e.
+     * concentration * compartment volume.
+     * Everything named floatingSpecies??? has length numFloatingSpecies.
+     *
+     * Note, the floating species consist of BOTH independent AND dependent
+     * species. Indexes [0,numIndpendentSpecies) values are the indenpendent
+     * species, and the [numIndFloatingSpecies,numIndendentSpecies+numDependentSpecies)
+     * contain the dependent species.
+     */
+    unsigned                            numIndFloatingSpecies;            // 4
+
+    /**
+     * number of boundary species and boundary species concentrations.
+     * units: either
+     * Mass Percent = (Mass of Solute) / (Mass of Solution) x 100%
+     * Volume Percent= (Volume of Solute) / (Volume of Solution) x 100%
+     * Mass/Volume Percent= (Mass of Solute) / (Volume of Solution) x 100%
+     */
+    unsigned                            numIndBoundarySpecies;            // 5
+
+    /**
+     * number of global parameters
+     */
+    unsigned                            numIndGlobalParameters;           // 6
+
+
+    /**
+     * all rate rules are by definition dependent
+     */
+    unsigned                            numRateRules;                     // 7
+
+    /**
+     * number of reactions, same as ratesSize.
+     * These are the calcuated reaction rates, not the
+     * species rates.
+     */
+    unsigned                            numReactions;                     // 8
+
+    unsigned                            numInitCompartments;              // 9
+    unsigned                            numInitFloatingSpecies;           // 10
+    unsigned                            numInitBoundarySpecies;           // 11
+    unsigned                            numInitGlobalParameters;          // 12
+
+    /**
+     * stoichiometry matrix
+     */
+    rr::csr_matrix*                     stoichiometry;                    // 13
+
+    /**
+     * The rrllvm::Random class holds a RNG and caches random distributions
+     * used by the distrib package.
+     */
+    class Random*                       random;                           // 14
+
+
+    //Event stuff
+    unsigned                            numEvents;                        // 15
+
+    /**
+     * number of items in the state vector.
+     * should be numIndFloatingSpecies + numRateRules
+     */
+    unsigned                            stateVectorSize;                  // 16
+
+    /**
+     * the state vector, this is usually a pointer to a block of data
+     * owned by the integrator.
+     */
+    double*                             stateVector;                      // 17
+
+    /**
+     * the rate of change of the state vector, this is usually a pointer to
+     * a block of data owned by the integrator.
+     */
+    double*                             stateVectorRate;                  // 18
+
+    /**
+     * the rate of change of all elements who's dynamics are determined
+     * by rate rules.
+     *
+     * This is just a pointer to a data block
+     * owned by the integrator.
+     *
+     * Normally NULL, only valid durring an evalModel call.
+     */
+    double*                             rateRuleRates;                    // 19
+
+
+
+    /**
+     * amount rates of change for floating species.
+     *
+     * This pointer is ONLY valid during an evalModel call, otherwise it is
+     * zero. TODO, this needs be be moved to a parameter.
+     */
+    double*                             floatingSpeciesAmountRates;       // 20
+
+    // permanent data section
+
+
+    /**
+     * number of compartments, and compartment volumes.
+     * units: volume
+     */
+
+    double*                             compartmentVolumesAlias;          // 21
+    double*                             initCompartmentVolumesAlias;      // 22
+
+
+    /**
+     * \conservation
+     *
+     * length numIndFloatingSpecies
+     */
+    double*                             initFloatingSpeciesAmountsAlias;  // 23
+
+
+    double*                             boundarySpeciesAmountsAlias;      // 24
+    double*                             initBoundarySpeciesAmountsAlias;  // 25
+
+    double*                             globalParametersAlias;            // 26
+    double*                             initGlobalParametersAlias;        // 27
+
+    double*                             reactionRatesAlias;               // 28
+
+    /**
+     * All of the elelments which have a rate rule are stored here.
+     *
+     * As the integrator runs, this pointer can simply point to an offset
+     * in the integrator's state vector.
+     *
+     * This pointer is part of the state vector. When any function is called by
+     * CVODE, this is actually a pointer to a CVODE owned memory block.
+     * Otherwise, this points to the alocated rateRuleValues block at the end
+     * of this struct.
+     *
+     */
+    double*                             rateRuleValuesAlias;              // 29
+
+
+
+
+    /**
+     * has length numIndFloatingSpecies
+     *
+     * This pointer is part of the state vector. When any function is called by
+     * CVODE, this is actually a pointer to a CVODE owned memory block.
+     */
+    double*                             floatingSpeciesAmountsAlias;      // 30
+
+    /**
+     * binary data layout:
+     *
+     * compartmentVolumes                [numIndCompartmentVolumes]       // 31
+     * initCompartmentVolumes            [numInitCompartmentVolumes]      // 32
+     * initFloatingSpeciesAmounts        [numInitFloatingSpecies]         // 33
+     * boundarySpeciesAmounts            [numIndBoundarySpecies]          // 34
+     * initBoundarySpeciesAmounts        [numInitBoundarySpecies]         // 35
+     * globalParameters                  [numIndGlobalParameters]         // 36
+     * initGlobalParameters              [numInitGlobalParameters]        // 37
+     * reactionRates                     [numReactions]                   // 38
+     *
+     * rateRuleValues                    [numRateRules]                   // 39
+     * floatingSpeciesAmounts            [numIndFloatingSpecies]          // 40
+     */
+    double                              data[0];                          // not listed
+};
+
+void LLVMModelData_free(LLVMModelData*);
+
+#ifdef _MSC_VER
+#pragma warning( pop )
+#endif
+
+
+
+std::ostream& operator <<(std::ostream& os, const LLVMModelData& data);
+
+}
+
+
+
+#endif /* RRLLVMMODELDATA_H_ */
diff --git a/source/llvm/LLVMModelDataSymbols.cpp b/source/llvm/LLVMModelDataSymbols.cpp
new file mode 100644
index 0000000..455c11b
--- /dev/null
+++ b/source/llvm/LLVMModelDataSymbols.cpp
@@ -0,0 +1,1564 @@
+/*
+ * LLVMModelDataSymbols.cpp
+ *
+ *  Created on: Jun 28, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "LLVMModelDataSymbols.h"
+#include "lsLibStructural.h"
+#include "LLVMException.h"
+#include "rrLogger.h"
+#include "rrSparse.h"
+#include "rrStringUtils.h"
+#include "conservation/ConservationExtension.h"
+#include "rrRoadRunnerOptions.h"
+
+#include <Poco/LogStream.h>
+#include <sbml/Model.h>
+#include <sbml/SBMLDocument.h>
+
+#include <string>
+#include <vector>
+#include <sstream>
+
+
+#include "tr1proxy/rr_memory.h"
+#include "tr1proxy/rr_unordered_map.h"
+
+
+using namespace libsbml;
+using namespace std;
+
+using rr::Logger;
+using rr::getLogger;
+using rr::LoggingBuffer;
+
+using rr::conservation::ConservationExtension;
+
+using Poco::LogStream;
+using Poco::Message;
+
+static const char* modelDataFieldsNames[] =  {
+        "Size",                                 // 0
+        "Flags",                                // 1
+        "Time",                                 // 2
+        "NumIndCompartments",                   // 3
+        "NumIndFloatingSpecies",                // 4
+        "NumIndBoundarySpecies",                // 5
+        "NumIndGlobalParameters",               // 6
+        "NumRateRules",                         // 7
+        "NumReactions",                         // 8
+
+        "NumInitCompartments",                  // 9
+        "NumInitFloatingSpecies",               // 10
+        "NumInitBoundarySpecies",               // 11
+        "NumInitGlobalParameters",              // 12
+
+        "Stoichiometry",                        // 13
+        "RandomPtr",                            // 14
+        "NumEvents",                            // 15
+        "StateVectorSize",                      // 16
+        "StateVector",                          // 17
+        "StateVectorRate",                      // 18
+        "RateRuleRates",                        // 19
+        "FloatingSpeciesAmountRates",           // 20
+
+        "CompartmentVolumesAlias",              // 21
+        "InitCompartmentVolumesAlias",          // 22
+        "InitFloatingSpeciesAmountsAlias",      // 23
+        "BoundarySpeciesAmountsAlias",          // 24
+        "InitBoundarySpeciesAmountsAlias",      // 25
+        "GlobalParametersAlias",                // 26
+        "InitGlobalParametersAlias",            // 27
+        "ReactionRatesAlias",                   // 28
+
+        "RateRuleValuesAlias",                  // 29
+        "FloatingSpeciesAmountsAlias",          // 30
+
+        "CompartmentVolumes",                   // 31
+        "InitCompartmentVolumes",               // 32
+        "InitFloatingSpeciesAmounts",           // 33
+        "BoundarySpeciesAmounts",               // 34
+        "InitBoundarySpeciesAmounts",           // 35
+        "GlobalParameters",                     // 36
+        "InitGlobalParameters",                 // 37
+        "ReactionRates",                        // 38
+        "NotSafe_RateRuleValues",               // 39
+        "NotSafe_FloatingSpeciesAmounts"        // 40
+};
+
+
+static std::vector<std::string> getIds(const rrllvm::LLVMModelDataSymbols::StringUIntMap & m)
+{
+    vector<string> result(m.size());
+    for(rrllvm::LLVMModelDataSymbols::StringUIntMap::const_iterator i = m.begin();
+            i != m.end(); i++)
+    {
+        assert(i->second < result.size() && "symbol map index out of bounds, possibly duplicate sbml ids");
+        result[i->second] = i->first;
+    }
+    return result;
+}
+
+namespace rrllvm
+{
+
+LLVMModelDataSymbols::LLVMModelDataSymbols() :
+    independentFloatingSpeciesSize(0),
+    independentBoundarySpeciesSize(0),
+    independentGlobalParameterSize(0),
+    independentCompartmentSize(0),
+    independentInitFloatingSpeciesSize(0),
+    independentInitBoundarySpeciesSize(0),
+    independentInitGlobalParameterSize(0),
+    independentInitCompartmentSize(0)
+{
+    assert(sizeof(modelDataFieldsNames) / sizeof(const char*)
+            == NotSafe_FloatingSpeciesAmounts + 1
+            && "wrong number of items in modelDataFieldsNames");
+}
+
+LLVMModelDataSymbols::LLVMModelDataSymbols(const libsbml::Model *model,
+        unsigned options) :
+    independentFloatingSpeciesSize(0),
+    independentBoundarySpeciesSize(0),
+    independentGlobalParameterSize(0),
+    independentCompartmentSize(0),
+    independentInitFloatingSpeciesSize(0),
+    independentInitBoundarySpeciesSize(0),
+    independentInitGlobalParameterSize(0),
+    independentInitCompartmentSize(0)
+{
+    assert(sizeof(modelDataFieldsNames) / sizeof(const char*)
+            == NotSafe_FloatingSpeciesAmounts + 1
+            && "wrong number of items in modelDataFieldsNames");
+
+    modelName = model->getName();
+
+    // first go through the rules, see if they determine other stuff
+    {
+        const ListOfRules * rules = model->getListOfRules();
+        for (unsigned i = 0; i < rules->size(); ++i)
+        {
+            const Rule *rule = rules->get(i);
+
+            if (dynamic_cast<const AssignmentRule*>(rule))
+            {
+                assigmentRules.insert(rule->getVariable());
+            }
+            else if (dynamic_cast<const RateRule*>(rule))
+            {
+                uint rri = rateRules.size();
+                rateRules[rule->getId()] = rri;
+            }
+            else if (dynamic_cast<const AlgebraicRule*>(rule))
+            {
+                char* formula = SBML_formulaToString(rule->getMath());
+                Log(Logger::LOG_WARNING)
+                    << "Unable to handle algebraic rules. Formula '0 = "
+                    << formula << "' ignored.";
+                free(formula);
+            }
+        }
+    }
+
+    {
+        const ListOfInitialAssignments *initAssignmentList =
+                model->getListOfInitialAssignments();
+
+        for (unsigned i = 0; i < initAssignmentList->size(); ++i)
+        {
+            const libsbml::InitialAssignment *ia = initAssignmentList->get(i);
+
+            initAssignmentRules.insert(ia->getSymbol());
+        }
+    }
+
+    // get the compartments, need to reorder them to set the independent ones
+    // first. Make sure compartments is called *before* float species.
+    initCompartments(model);
+
+
+    // process the floating species
+    initFloatingSpecies(model, options & rr::LoadSBMLOptions::CONSERVED_MOIETIES);
+
+    // display compartment info. We need to get the compartments before the
+    // so we can get the species compartments. But the struct anal dumps
+    // a bunch of stuff, so to keep things looking nice in the log, we
+    // display the compartment info here.
+    displayCompartmentInfo();
+
+    initBoundarySpecies(model);
+
+    initGlobalParameters(model, options & rr::LoadSBMLOptions::CONSERVED_MOIETIES);
+
+    initReactions(model);
+
+    initEvents(model);
+}
+
+LLVMModelDataSymbols::~LLVMModelDataSymbols()
+{
+}
+
+const std::string& LLVMModelDataSymbols::getModelName() const
+{
+    return modelName;
+}
+
+LLVMModelDataSymbols::SymbolIndexType LLVMModelDataSymbols::getSymbolIndex(
+        const std::string& name, int& result) const
+{
+    StringUIntMap::const_iterator i;
+
+    if((i = floatingSpeciesMap.find(name)) != floatingSpeciesMap.end())
+    {
+        result = i->second;
+        return FLOATING_SPECIES;
+    }
+    else if((i = boundarySpeciesMap.find(name)) != boundarySpeciesMap.end())
+    {
+        result = i->second;
+        return BOUNDARY_SPECIES;
+    }
+    else if((i = compartmentsMap.find(name)) != compartmentsMap.end())
+    {
+        result = i->second;
+        return COMPARTMENT;
+    }
+    else if((i = globalParametersMap.find(name)) != globalParametersMap.end())
+    {
+        result = i->second;
+        return GLOBAL_PARAMETER;
+    }
+    else if((i = reactionsMap.find(name)) != reactionsMap.end())
+    {
+        result = i->second;
+        return REACTION;
+    }
+    else if ((i = eventIds.find(name)) != eventIds.end())
+    {
+        result = i->second;
+        return EVENT;
+    }
+
+    result = -1;
+    return INVALID_SYMBOL;
+}
+
+uint LLVMModelDataSymbols::getCompartmentIndex(
+        const std::string& id) const
+{
+    StringUIntMap::const_iterator i = compartmentsMap.find(id);
+    if (i != compartmentsMap.end())
+    {
+        return i->second;
+    }
+    else
+    {
+        throw LLVMException("could not find compartment with id " + id, __FUNC__);
+    }
+}
+
+uint LLVMModelDataSymbols::getFloatingSpeciesIndex(
+        const std::string& id, bool requireIndependent) const
+{
+    StringUIntMap::const_iterator i = floatingSpeciesMap.find(id);
+    if(i != floatingSpeciesMap.end())
+    {
+        if (requireIndependent && i->second >= independentFloatingSpeciesSize)
+        {
+            string msg = "The species " + id + " is valid, however it is dependent on a rule";
+            throw LLVMException(msg);
+        }
+        return i->second;
+    }
+    else
+    {
+        string msg = "could not find floating species with id "  + id;
+        throw LLVMException(msg);
+    }
+}
+
+uint LLVMModelDataSymbols::getBoundarySpeciesIndex(
+        const std::string& id) const
+{
+    StringUIntMap::const_iterator i = boundarySpeciesMap.find(id);
+    if(i != boundarySpeciesMap.end())
+    {
+        return i->second;
+    }
+    else
+    {
+        throw LLVMException("could not find boundary species with id " + id, __FUNC__);
+    }
+}
+
+uint LLVMModelDataSymbols::getBoundarySpeciesSize() const
+{
+    return boundarySpeciesMap.size();
+}
+
+uint LLVMModelDataSymbols::getGlobalParameterIndex(
+        const std::string& id) const
+{
+    StringUIntMap::const_iterator i = globalParametersMap.find(id);
+    if(i != globalParametersMap.end())
+    {
+        return i->second;
+    }
+    else
+    {
+        throw LLVMException("could not find global parameter species with id " + id, __FUNC__);
+    }
+}
+
+/*
+void LLVMModelDataSymbols::initAllocModelDataBuffers(LLVMModelData& m) const
+{
+    // zero out the structure
+    LLVMModelData::init(m);
+
+    // set the buffer sizes
+    m.numIndFloatingSpecies         = independentFloatingSpeciesSize;
+
+    //mData.numDependentSpecies           = ms.mNumDependentSpecies;
+    m.numIndGlobalParameters        = independentGlobalParameterSize;
+    m.numReactions                  = reactionsMap.size();
+    m.numEvents                     = eventAttributes.size();
+    m.numRateRules                  = rateRules.size();
+    m.numIndCompartments               = independentCompartmentSize;
+    m.numIndBoundarySpecies            = independentBoundarySpeciesSize;
+
+    // in certain cases, the data returned by c++ new may be alligned differently than
+    // malloc, so just use calloc here just to be safe, plus calloc returns zero
+    // initialized memory.
+
+    m.floatingSpeciesAmountsAlias = (double*)calloc(m.numIndFloatingSpecies, sizeof(double));
+    m.floatingSpeciesAmountRates = 0;
+    m.rateRuleValuesAlias = (double*)calloc(m.numRateRules, sizeof(double));
+    m.rateRuleRates = 0;
+
+    m.reactionRatesAlias = (double*)calloc(m.numReactions, sizeof(double));
+
+    m.globalParametersAlias = (double*)calloc(m.numIndGlobalParameters, sizeof(double));
+    m.compartmentVolumesAlias = (double*)calloc(m.numIndCompartments, sizeof(double));
+
+    m.boundarySpeciesAmountsAlias = (double*)calloc(m.numIndBoundarySpecies, sizeof(double));
+
+
+    // allocate the stoichiometry matrix
+    m.stoichiometry = rr::csr_matrix_new(m.numIndFloatingSpecies, getReactionSize(),
+            stoichRowIndx, stoichColIndx, vector<double>(stoichRowIndx.size(), 0));
+}
+*/
+
+
+const std::vector<uint>& LLVMModelDataSymbols::getStoichRowIndx() const
+{
+    return stoichRowIndx;
+}
+
+const std::vector<uint>& LLVMModelDataSymbols::getStoichColIndx() const
+{
+    return stoichColIndx;
+}
+
+std::vector<std::string> LLVMModelDataSymbols::getCompartmentIds() const
+{
+    return getIds(compartmentsMap);
+}
+
+std::vector<std::string> LLVMModelDataSymbols::getBoundarySpeciesIds() const
+{
+    return getIds(boundarySpeciesMap);
+}
+
+uint LLVMModelDataSymbols::getReactionIndex(const std::string& id) const
+{
+    StringUIntMap::const_iterator i = reactionsMap.find(id);
+    if (i != reactionsMap.end())
+    {
+        return i->second;
+    }
+    else
+    {
+        throw LLVMException("could not find reactions with id " + id, __FUNC__);
+    }
+}
+
+std::vector<std::string> LLVMModelDataSymbols::getReactionIds() const
+{
+    return getIds(reactionsMap);
+}
+
+uint LLVMModelDataSymbols::getReactionSize() const
+{
+    return reactionsMap.size();
+}
+
+uint LLVMModelDataSymbols::getFloatingSpeciesSize() const
+{
+    return floatingSpeciesMap.size();
+}
+
+std::list<LLVMModelDataSymbols::SpeciesReferenceInfo>
+    LLVMModelDataSymbols::getStoichiometryIndx() const
+{
+    std::list<SpeciesReferenceInfo> result;
+
+    for (uint i = 0; i < stoichRowIndx.size(); i++)
+    {
+        SpeciesReferenceInfo entry =
+            {stoichRowIndx[i], stoichColIndx[i], stoichTypes[i], stoichIds[i]};
+        result.push_back(entry);
+    }
+
+    return result;
+}
+
+void LLVMModelDataSymbols::print() const
+{
+    uint i = 0;
+
+
+    for (StringUIntMap::const_iterator i = floatingSpeciesMap.begin();
+            i != floatingSpeciesMap.end(); i++)
+    {
+        cout << "float species id: " << i->first << ", index: " << i->second
+                << "\n";
+    }
+
+    for (StringUIntMap::const_iterator i = boundarySpeciesMap.begin();
+            i != boundarySpeciesMap.end(); i++)
+    {
+        cout << "boundary species id: " << i->first << ", index: " << i->second
+                << "\n";
+    }
+
+    for (StringUIntMap::const_iterator i = compartmentsMap.begin();
+            i != compartmentsMap.end(); i++)
+    {
+        cout << "compartment id: " << i->first << ", index: " << i->second
+                << "\n";
+    }
+
+    for (StringUIntMap::const_iterator i = globalParametersMap.begin();
+            i != globalParametersMap.end(); i++)
+    {
+        cout << "global parameter id: " << i->first << ", index: " << i->second
+                << "\n";
+    }
+
+    for (StringUIntMap::const_iterator i = reactionsMap.begin();
+            i != reactionsMap.end(); i++)
+    {
+        cout << "reaction id: " << i->first << ", index: " << i->second
+                << "\n";
+    }
+}
+
+std::vector<std::string> LLVMModelDataSymbols::getGlobalParameterIds() const
+{
+    return getIds(globalParametersMap);
+}
+
+std::vector<std::string> LLVMModelDataSymbols::getFloatingSpeciesIds() const
+{
+    return getIds(floatingSpeciesMap);
+}
+
+std::string LLVMModelDataSymbols::getFloatingSpeciesId(uint indx) const
+{
+    for (StringUIntMap::const_iterator i = floatingSpeciesMap.begin();
+            i != floatingSpeciesMap.end(); ++i)
+    {
+        if (i->second == indx)
+        {
+            return i->first;
+        }
+    }
+
+    throw std::out_of_range("attempted to access floating species id at index " + rr::toString(indx));
+}
+
+
+uint LLVMModelDataSymbols::getIndependentFloatingSpeciesSize() const
+{
+    return independentFloatingSpeciesSize;
+}
+
+bool LLVMModelDataSymbols::isIndependentFloatingSpecies(
+        const std::string& id) const
+{
+    StringUIntMap::const_iterator i = floatingSpeciesMap.find(id);
+    return i != floatingSpeciesMap.end() &&
+            i->second < independentFloatingSpeciesSize;
+}
+
+bool LLVMModelDataSymbols::isIndependentBoundarySpecies(
+        const std::string& id) const
+{
+    StringUIntMap::const_iterator i = boundarySpeciesMap.find(id);
+    return i != boundarySpeciesMap.end() &&
+            i->second < independentBoundarySpeciesSize;
+}
+
+bool LLVMModelDataSymbols::isBoundarySpecies(
+        const std::string& id) const
+{
+    StringUIntMap::const_iterator i = boundarySpeciesMap.find(id);
+    return i != boundarySpeciesMap.end();
+}
+
+bool LLVMModelDataSymbols::isIndependentGlobalParameter(
+        const std::string& id) const
+{
+    StringUIntMap::const_iterator i = globalParametersMap.find(id);
+    return i != globalParametersMap.end() &&
+            i->second < independentGlobalParameterSize;
+}
+
+bool LLVMModelDataSymbols::isIndependentCompartment(const std::string& id) const
+{
+    StringUIntMap::const_iterator i = compartmentsMap.find(id);
+    return i != compartmentsMap.end() &&
+            i->second < independentCompartmentSize;
+}
+
+const char* LLVMModelDataSymbols::getFieldName(ModelDataFields field)
+{
+    if (field >= Size && field <= ReactionRates)
+    {
+        return modelDataFieldsNames[field];
+    }
+    else
+    {
+        return "Error, field is out of range";
+    }
+}
+
+uint LLVMModelDataSymbols::getIndependentGlobalParameterSize() const
+{
+    return independentGlobalParameterSize;
+}
+
+uint LLVMModelDataSymbols::getIndependentCompartmentSize() const
+{
+    return independentCompartmentSize;
+}
+
+uint LLVMModelDataSymbols::getIndependentBoundarySpeciesSize() const
+{
+    return independentBoundarySpeciesSize;
+}
+
+uint LLVMModelDataSymbols::getRateRuleIndex(std::string const& id) const
+{
+    StringUIntMap::const_iterator i = rateRules.find(id);
+    if (i != rateRules.end())
+    {
+        return i->second;
+    }
+    else
+    {
+        throw LLVMException("could not find rate rule with id " + id, __FUNC__);
+    }
+}
+
+uint LLVMModelDataSymbols::getRateRuleSize() const
+{
+    return rateRules.size();
+}
+
+std::string rrllvm::LLVMModelDataSymbols::getRateRuleId(uint indx) const
+{
+    for(StringUIntMap::const_iterator i = rateRules.begin();
+            i != rateRules.end(); ++i)
+    {
+        if (i->second == indx)
+        {
+            return i->first;
+        }
+    }
+
+    throw std::out_of_range("attempted to access rate rule id at index " +
+            rr::toString(indx));
+}
+
+bool LLVMModelDataSymbols::isIndependentElement(const std::string& id) const
+{
+    return rateRules.find(id) == rateRules.end() &&
+            assigmentRules.find(id) == assigmentRules.end();
+}
+
+bool LLVMModelDataSymbols::hasAssignmentRule(const std::string& id) const
+{
+    return assigmentRules.find(id) != assigmentRules.end();
+}
+
+bool LLVMModelDataSymbols::hasRateRule(const std::string& id) const
+{
+    return rateRules.find(id) != rateRules.end();
+}
+
+uint LLVMModelDataSymbols::getCompartmentsSize() const
+{
+    return compartmentsMap.size();
+}
+
+uint LLVMModelDataSymbols::getGlobalParametersSize() const
+{
+    return globalParametersMap.size();
+}
+
+void LLVMModelDataSymbols::initGlobalParameters(const libsbml::Model* model,
+        bool conservedMoieties)
+{
+    list<string> indParam;
+    list<string> depParam;
+    list<string> indInitParam;
+    list<string> depInitParam;
+
+    const ListOfParameters *parameters = model->getListOfParameters();
+
+    globalParameterRateRules.resize(parameters->size(), false);
+
+    for (uint i = 0; i < parameters->size(); i++)
+    {
+        const Parameter *p = parameters->get(i);
+        const string& id = p->getId();
+        if (isIndependentElement(id))
+        {
+            indParam.push_back(id);
+        }
+        else
+        {
+            depParam.push_back(id);
+        }
+
+        if (isIndependentInitElement(id))
+        {
+            indInitParam.push_back(id);
+        }
+        else
+        {
+            depInitParam.push_back(id);
+        }
+    }
+
+    // when this is used, we check the size, so works even
+    // when consv moieity is not enabled.
+    if (conservedMoieties)
+    {
+        conservedMoietyGlobalParameter.resize(indParam.size(), false);
+
+        // allocate space, could be up this many.
+        conservedMoietyGlobalParameterIndex.reserve(indParam.size());
+    }
+
+    for (list<string>::const_iterator i = indParam.begin();
+            i != indParam.end(); ++i)
+    {
+        uint pi = globalParametersMap.size();
+        globalParametersMap[*i] = pi;
+
+        // CM parameters can only be independent.
+        if (conservedMoieties)
+        {
+            const Parameter* p = parameters->get(*i);
+            bool isCons = ConservationExtension::getConservedMoiety(*p);
+            conservedMoietyGlobalParameter[pi] = isCons;
+
+            if (isCons)
+            {
+                conservedMoietyGlobalParameterIndex.push_back(pi);
+            }
+        }
+    }
+
+    for (list<string>::const_iterator i = depParam.begin();
+            i != depParam.end(); ++i)
+    {
+        uint pi = globalParametersMap.size();
+        globalParametersMap[*i] = pi;
+
+        // all the independent ones by def have no rate rules.
+        globalParameterRateRules[pi] = hasRateRule(*i);
+    }
+
+
+    for (list<string>::const_iterator i = indInitParam.begin();
+            i != indInitParam.end(); ++i)
+    {
+        uint ci = initGlobalParametersMap.size();
+        initGlobalParametersMap[*i] = ci;
+    }
+
+    for (list<string>::const_iterator i = depInitParam.begin();
+            i != depInitParam.end(); ++i)
+    {
+        uint ci = initGlobalParametersMap.size();
+        initGlobalParametersMap[*i] = ci;
+    }
+
+    // finally set how many ind compartments we have
+    independentGlobalParameterSize = indParam.size();
+    independentInitGlobalParameterSize = indInitParam.size();
+
+    if (Logger::LOG_INFORMATION <= getLogger().getLevel())
+    {
+        LoggingBuffer log(Logger::LOG_DEBUG, __FILE__, __LINE__);
+
+        log.stream() << "found " << independentGlobalParameterSize
+                << " independent and " << depParam.size()
+                << " dependent global parameters." << endl;
+
+        vector<string> ids = getGlobalParameterIds();
+        for (uint i = 0; i < ids.size(); ++i)
+        {
+            log.stream() << "global parameter [" << i << "] = \'" << ids[i]
+                         << "\'" << endl;
+        }
+    }
+}
+
+void LLVMModelDataSymbols::initBoundarySpecies(const libsbml::Model* model)
+{
+    const ListOfSpecies *species = model->getListOfSpecies();
+    list<string> indBndSpecies;
+    list<string> depBndSpecies;
+
+    // get the boundary species
+
+    for (uint i = 0; i < species->size(); ++i)
+    {
+        const Species *s = species->get(i);
+        if (s->getBoundaryCondition())
+        {
+            if (isIndependentElement(s->getId()))
+            {
+                indBndSpecies.push_back(s->getId());
+            }
+            else
+            {
+                depBndSpecies.push_back(s->getId());
+            }
+        }
+    }
+
+    // stuff the species in the map
+    for (list<string>::const_iterator i = indBndSpecies.begin();
+            i != indBndSpecies.end(); ++i)
+    {
+        uint bi = boundarySpeciesMap.size();
+        boundarySpeciesMap[*i] = bi;
+    }
+
+    for (list<string>::const_iterator i = depBndSpecies.begin();
+            i != depBndSpecies.end(); ++i)
+    {
+        uint bi = boundarySpeciesMap.size();
+        boundarySpeciesMap[*i] = bi;
+    }
+
+    // finally set how many we have
+    independentBoundarySpeciesSize = indBndSpecies.size();
+
+    if (Logger::LOG_DEBUG <= getLogger().getLevel())
+    {
+        LoggingBuffer log(Logger::LOG_DEBUG, __FILE__, __LINE__);
+
+        log.stream() << "found "
+                << indBndSpecies.size() << " independent and "
+                << depBndSpecies.size() << " dependent boundary species."
+                << endl;
+
+        vector<string> ids = getBoundarySpeciesIds();
+        for (uint i = 0; i < ids.size(); ++i)
+        {
+            log.stream() << "boundary species [" << i << "] = \'" << ids[i] << "\'" << endl;
+        }
+    }
+}
+
+void LLVMModelDataSymbols::initFloatingSpecies(const libsbml::Model* model,
+        bool computeAndAssignConsevationLaws)
+{
+    const ListOfSpecies *species = model->getListOfSpecies();
+
+    // independent at run time, no rules of any sort
+    list<string> indFltSpecies;
+    list<string> depFltSpecies;
+
+    list<string> indInitFltSpecies;
+    list<string> depInitFltSpecies;
+
+    // figure out 'fully' indendent flt species -- those without rules.
+    for (uint i = 0; i < species->size(); ++i)
+    {
+        const Species *s = species->get(i);
+
+        if (s->getBoundaryCondition())
+        {
+            continue;
+        }
+
+        const string& sid = s->getId();
+
+        if (isIndependentElement(sid))
+        {
+            indFltSpecies.push_back(sid);
+        }
+        else
+        {
+            depFltSpecies.push_back(sid);
+        }
+
+        bool conservedMoiety = ConservationExtension::getConservedMoiety(*s);
+
+        bool indInit = (!hasInitialAssignmentRule(sid) &&
+                (!hasAssignmentRule(sid) || conservedMoiety));
+
+        // conserved moiety species assignment rules do not apply at
+        // time t < 0
+        if (indInit)
+        {
+            indInitFltSpecies.push_back(sid);
+        }
+        else
+        {
+            depInitFltSpecies.push_back(sid);
+        }
+
+        if (conservedMoiety) {
+            conservedMoietySpeciesSet.insert(sid);
+        }
+    }
+
+    // stuff the species in the map
+    for (list<string>::const_iterator i = indFltSpecies.begin();
+            i != indFltSpecies.end(); ++i)
+    {
+        uint si = floatingSpeciesMap.size();
+        floatingSpeciesMap[*i] = si;
+    }
+
+    for (list<string>::const_iterator i = depFltSpecies.begin();
+            i != depFltSpecies.end(); ++i)
+    {
+        uint si = floatingSpeciesMap.size();
+        floatingSpeciesMap[*i] = si;
+
+        // now that we know how many float species we have, we
+        // can map these to the conserved moieties.
+        // assume that the cm order (T vector) matches the order
+        // that the CM species were added.
+        if (computeAndAssignConsevationLaws)
+        {
+            // look in the set we just made
+            if (conservedMoietySpeciesSet.find(*i) !=
+                    conservedMoietySpeciesSet.end())
+            {
+                // keep incrementing the size each time we add one.
+                uint cmIndex = floatingSpeciesToConservedMoietyIdMap.size();
+                floatingSpeciesToConservedMoietyIdMap[si] = cmIndex;
+            }
+        }
+    }
+
+    // stuff the species in the map
+    for (list<string>::const_iterator i = indInitFltSpecies.begin();
+            i != indInitFltSpecies.end(); ++i)
+    {
+        uint si = initFloatingSpeciesMap.size();
+        initFloatingSpeciesMap[*i] = si;
+    }
+
+    for (list<string>::const_iterator i = depInitFltSpecies.begin();
+            i != depInitFltSpecies.end(); ++i)
+    {
+        uint si = initFloatingSpeciesMap.size();
+        initFloatingSpeciesMap[*i] = si;
+    }
+
+    // finally set how many ind species we've found
+    independentFloatingSpeciesSize = indFltSpecies.size();
+    independentInitFloatingSpeciesSize = indInitFltSpecies.size();
+
+    // map the float species to their compartments.
+    floatingSpeciesCompartmentIndices.resize(floatingSpeciesMap.size());
+
+    for(StringUIntMap::const_iterator i = floatingSpeciesMap.begin();
+            i != floatingSpeciesMap.end(); ++i)
+    {
+        const Species* s = model->getSpecies(i->first);
+        assert(s && "known species is NULL");
+        StringUIntMap::const_iterator j =
+                compartmentsMap.find(s->getCompartment());
+        if (j == compartmentsMap.end())
+        {
+            throw_llvm_exception("species " + s->getId() +
+                    " references unknown compartment " + s->getCompartment());
+        }
+
+        assert(i->second < floatingSpeciesCompartmentIndices.size());
+        assert(j->second < compartmentsMap.size());
+        floatingSpeciesCompartmentIndices[i->second] = j->second;
+    }
+
+    if (Logger::LOG_DEBUG <= getLogger().getLevel())
+    {
+        LoggingBuffer log(Logger::LOG_DEBUG, __FILE__, __LINE__);
+
+        log.stream() << "found " << indFltSpecies.size()
+                            << " independent and " << depFltSpecies.size()
+                            << " dependent floating species." << endl;
+
+        vector<string> ids = getFloatingSpeciesIds();
+        for (uint i = 0; i < ids.size(); ++i)
+        {
+            log.stream() << "floating species [" << i << "] = \'" << ids[i]
+                                                                         << "\'" << endl;
+        }
+
+
+        log.stream() << "found " << indInitFltSpecies.size()
+                            << " independent and " << depInitFltSpecies.size()
+                            << " dependent initial floating species." << endl;
+    }
+}
+
+void LLVMModelDataSymbols::initCompartments(const libsbml::Model *model)
+{
+    list<string> indCompartments;
+    list<string> depCompartments;
+
+    list<string> indInitCompartments;
+    list<string> depInitCompartments;
+
+    const ListOfCompartments *compartments = model->getListOfCompartments();
+    for (uint i = 0; i < compartments->size(); i++)
+    {
+        const Compartment *c = compartments->get(i);
+        const string& id = c->getId();
+        if (isIndependentElement(id))
+        {
+            indCompartments.push_back(id);
+        }
+        else
+        {
+            depCompartments.push_back(id);
+        }
+
+        if (isIndependentInitElement(id))
+        {
+            indInitCompartments.push_back(id);
+        }
+        else
+        {
+            depInitCompartments.push_back(id);
+        }
+    }
+
+    for (list<string>::const_iterator i = indCompartments.begin();
+            i != indCompartments.end(); ++i)
+    {
+        uint ci = compartmentsMap.size();
+        compartmentsMap[*i] = ci;
+    }
+
+    for (list<string>::const_iterator i = depCompartments.begin();
+            i != depCompartments.end(); ++i)
+    {
+        uint ci = compartmentsMap.size();
+        compartmentsMap[*i] = ci;
+    }
+
+
+    for (list<string>::const_iterator i = indInitCompartments.begin();
+            i != indInitCompartments.end(); ++i)
+    {
+        uint ci = initCompartmentsMap.size();
+        initCompartmentsMap[*i] = ci;
+    }
+
+    for (list<string>::const_iterator i = depInitCompartments.begin();
+            i != depInitCompartments.end(); ++i)
+    {
+        uint ci = initCompartmentsMap.size();
+        initCompartmentsMap[*i] = ci;
+    }
+
+
+    // finally set how many ind compartments we have
+    independentCompartmentSize = indCompartments.size();
+    independentInitCompartmentSize = indInitCompartments.size();
+}
+
+bool LLVMModelDataSymbols::isConservedMoietyParameter(uint id) const
+{
+    return id < conservedMoietyGlobalParameter.size() ?
+            conservedMoietyGlobalParameter[id] : false;
+}
+
+bool LLVMModelDataSymbols::isRateRuleGlobalParameter(uint gid) const
+{
+    return gid < globalParameterRateRules.size()
+            ? globalParameterRateRules[gid] : false;
+}
+
+std::string LLVMModelDataSymbols::getGlobalParameterId(uint indx) const
+{
+    for (StringUIntMap::const_iterator i = globalParametersMap.begin();
+            i != globalParametersMap.end(); ++i)
+    {
+        if (i->second == indx)
+        {
+            return i->first;
+        }
+    }
+
+    throw std::out_of_range("attempted to access global parameter id at index " + rr::toString(indx));
+}
+
+uint LLVMModelDataSymbols::getCompartmentIndexForFloatingSpecies(
+        uint floatIndex) const
+{
+    if (floatIndex >= floatingSpeciesCompartmentIndices.size())
+    {
+         throw std::out_of_range(std::string("index out of range in ") + __FUNC__);
+    }
+    return floatingSpeciesCompartmentIndices[floatIndex];
+}
+
+bool LLVMModelDataSymbols::isConservedMoietySpecies(uint id, uint& result) const
+{
+    UIntUIntMap::const_iterator i = floatingSpeciesToConservedMoietyIdMap.find(id);
+    if (i != floatingSpeciesToConservedMoietyIdMap.end())
+    {
+        result = i->second;
+        return true;
+    }
+    return false;
+}
+
+/**
+ * row is species, column is reaction
+ */
+void  LLVMModelDataSymbols::setNamedSpeciesReferenceInfo(uint row, uint column,
+        SpeciesReferenceType type)
+{
+    for (StringRefInfoMap::iterator i = namedSpeciesReferenceInfo.begin();
+            i != namedSpeciesReferenceInfo.end(); ++i)
+    {
+        SpeciesReferenceInfo& sr = i->second;
+        if (sr.row == row && sr.column == column)
+        {
+            sr.type = type;
+        }
+    }
+}
+
+typedef std::vector<LLVMModelDataSymbols::SpeciesReferenceType>::size_type ssize_type;
+typedef cxx11_ns::unordered_map<uint, ssize_type> UIntUMap;
+
+
+
+void LLVMModelDataSymbols::initReactions(const libsbml::Model* model)
+{
+    // get the reactions
+    const ListOfReactions *reactions = model->getListOfReactions();
+    for (uint i = 0; i < reactions->size(); i++)
+    {
+        const Reaction *reaction = reactions->get(i);
+        if (reaction->isSetFast() && reaction->getFast()==true) {
+          Log(Logger::LOG_WARNING)
+            << "Unable to handle SBML fast reactions. Reaction '"
+            << reaction->getId() << "' treated as a slow reaction.";
+        }
+        reactionsMap.insert(StringUIntPair(reaction->getId(), i));
+
+        // keep track of species in this reaction.
+        UIntUMap speciesMap;
+
+        // go through the reaction reactants and products to know how much to
+        // allocate space for the stochiometry matrix.
+        // all species that participate in reactions must be floating.
+        const ListOfSpeciesReferences *reactants = reaction->getListOfReactants();
+        for (uint j = 0; j < reactants->size(); j++)
+        {
+            const SimpleSpeciesReference *r = reactants->get(j);
+
+            if (isValidFloatingSpeciesReference(r, "reactant"))
+            {
+                // at this point, we'd better have a floating species
+                uint speciesIdx = getFloatingSpeciesIndex(r->getSpecies());
+
+                UIntUMap::const_iterator si = speciesMap.find(speciesIdx);
+
+                if (si == speciesMap.end())
+                {
+                    stoichColIndx.push_back(i);
+                    stoichRowIndx.push_back(speciesIdx);
+                    stoichIds.push_back(r->isSetId() ? r->getId() : "");
+                    stoichTypes.push_back(Reactant);
+
+                    // in case this species is both a product and reactant, can look up
+                    // index of the just added Reactant
+                    speciesMap[speciesIdx] = stoichTypes.size() - 1;
+
+                    if(r->isSetId() && r->getId().length() > 0)
+                    {
+                        if (namedSpeciesReferenceInfo.find(r->getId()) ==
+                                namedSpeciesReferenceInfo.end())
+                        {
+                            SpeciesReferenceInfo info =
+                            {speciesIdx, i, Reactant, r->getId()};
+                            namedSpeciesReferenceInfo[r->getId()] = info;
+                        }
+                        else
+                        {
+                            string msg = "Species Reference with id ";
+                            msg += r->getId();
+                            msg += " appears more than once in the model";
+                            throw_llvm_exception(msg);
+                        }
+                    }
+                }
+                else
+                {
+                    Log(Logger::LOG_INFORMATION)
+                        << "Experimental multi product-reactant stochiometry code"
+                        << "with reactant " << r->getSpecies();
+
+                    // species is listed multiple times as reactant
+                    stoichTypes[si->second] = MultiReactantProduct;
+
+                    // set all the other ones to Multi...
+                    setNamedSpeciesReferenceInfo(speciesIdx, i, MultiReactantProduct);
+
+                    if(r->isSetId() && r->getId().length() > 0)
+                    {
+                        if (namedSpeciesReferenceInfo.find(r->getId()) ==
+                                namedSpeciesReferenceInfo.end())
+                        {
+                            SpeciesReferenceInfo info =
+                            {speciesIdx, i, MultiReactantProduct, r->getId()};
+                            namedSpeciesReferenceInfo[r->getId()] = info;
+                        }
+                        else
+                        {
+                            string msg = "Species Reference with id ";
+                            msg += r->getId();
+                            msg += " appears more than once in the model";
+                            throw_llvm_exception(msg);
+                        }
+                    }
+                }
+            }
+        }
+
+        const ListOfSpeciesReferences *products = reaction->getListOfProducts();
+        for (uint j = 0; j < products->size(); j++)
+        {
+            const SimpleSpeciesReference *p = products->get(j);
+            // products had better be in the stoich matrix.
+
+            if (isValidFloatingSpeciesReference(p, "product"))
+            {
+                uint speciesIdx = getFloatingSpeciesIndex(p->getSpecies());
+
+                UIntUMap::const_iterator si = speciesMap.find(speciesIdx);
+
+                if (si == speciesMap.end())
+                {
+                    // its not already a reactant, can add another
+                    // non-zero stoich entry
+                    stoichColIndx.push_back(i);
+                    stoichRowIndx.push_back(speciesIdx);
+                    stoichIds.push_back(p->isSetId() ? p->getId() : "");
+                    stoichTypes.push_back(Product);
+
+                    if (p->isSetId() && p->getId().length() > 0)
+                    {
+                        if (namedSpeciesReferenceInfo.find(p->getId())
+                                == namedSpeciesReferenceInfo.end())
+                        {
+                            SpeciesReferenceInfo info =
+                            { speciesIdx, i, Product, p->getId()};
+                            namedSpeciesReferenceInfo[p->getId()] = info;
+                        }
+                        else
+                        {
+                            string msg = "Species Reference with id ";
+                            msg += p->getId();
+                            msg += " appears more than once in the model";
+                            throw_llvm_exception(msg);
+                        }
+                    }
+                }
+                else
+                {
+                    Log(Logger::LOG_INFORMATION)
+                        << "Experimental multi product stochiometry code "
+                        << "with product " << p->getSpecies();
+
+                    // species is listed multiple times as product
+                    stoichTypes[si->second] = MultiReactantProduct;
+
+                    // set all the other ones to Multi...
+                    setNamedSpeciesReferenceInfo(speciesIdx, i, MultiReactantProduct);
+
+                    if(p->isSetId() && p->getId().length() > 0)
+                    {
+                        if (namedSpeciesReferenceInfo.find(p->getId()) ==
+                                namedSpeciesReferenceInfo.end())
+                        {
+                            SpeciesReferenceInfo info =
+                            {speciesIdx, i, MultiReactantProduct, p->getId()};
+                            namedSpeciesReferenceInfo[p->getId()] = info;
+                        }
+                        else
+                        {
+                            string msg = "Species Reference with id ";
+                            msg += p->getId();
+                            msg += " appears more than once in the model";
+                            throw_llvm_exception(msg);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+
+
+
+bool LLVMModelDataSymbols::isValidFloatingSpeciesReference(
+        const libsbml::SimpleSpeciesReference* ref, const std::string& reacOrProd)
+{
+    string id = ref->getSpecies();
+
+    // can only define a reaction for a floating species
+    if (isIndependentFloatingSpecies(id))
+    {
+        return true;
+    }
+
+    if (isBoundarySpecies(id))
+    {
+        return false;
+    }
+
+    string err = "the species reference with id ";
+    err += string("\'" + ref->getId() + "\', ");
+    err += "which references species ";
+    string("\'" + id + "\', ");
+    err += "is NOT a valid " + reacOrProd + " reference, ";
+    // figure out what kind of thing we have and give a warning
+    if (hasAssignmentRule(id))
+    {
+        err += "it is defined by an assignment rule";
+    }
+    else if (hasRateRule(id))
+    {
+        err += "it is defined by rate rule";
+    }
+    else
+    {
+        err += "it is not a species";
+    }
+
+    Log(Logger::LOG_WARNING) << err;
+
+    return false;
+}
+
+void LLVMModelDataSymbols::displayCompartmentInfo()
+{
+    if (Logger::LOG_DEBUG <= getLogger().getLevel())
+    {
+        LoggingBuffer log(Logger::LOG_DEBUG, __FILE__, __LINE__);
+
+        log.stream() << "found " << independentCompartmentSize
+                     << " independent and " << (compartmentsMap.size() -
+                        independentCompartmentSize)
+                     << " dependent compartments." << endl;
+
+        vector<string> ids = getCompartmentIds();
+        for (uint i = 0; i < ids.size(); ++i)
+        {
+            log.stream() << "compartment [" << i << "] = \'" << ids[i]
+                         << "\'" << endl;
+        }
+    }
+}
+
+void LLVMModelDataSymbols::initEvents(const libsbml::Model* model)
+{
+    const ListOfEvents *events = model->getListOfEvents();
+
+    if (events->size())
+    {
+        eventAttributes.resize(events->size());
+        eventAssignmentsSize.resize(events->size());
+
+        // load the event attributes
+        for (uint i = 0; i < events->size(); ++i)
+        {
+            const Event *event = events->get(i);
+            unsigned char attr = 0;
+            if (event->getUseValuesFromTriggerTime())
+            {
+                attr = attr | EventUseValuesFromTriggerTime;
+            }
+
+            const Trigger *trigger = event->getTrigger();
+            assert(trigger && "must have trigger");
+            if (trigger->isSetInitialValue() && trigger->getInitialValue())
+            {
+                attr = attr | EventInitialValue;
+            }
+
+            // older versions seem to default to persisent
+            const SBMLDocument *doc = model->getSBMLDocument();
+            if (doc->getLevel() < 3 ||
+                    (trigger->isSetPersistent() && trigger->getPersistent()))
+            {
+                attr = attr | EventPersistent;
+            }
+
+            eventAttributes[i] = attr;
+            eventAssignmentsSize[i] = event->getListOfEventAssignments()->size();
+
+            if (event->isSetId())
+            {
+                eventIds.insert(StringUIntPair(event->getId(), i));
+            }
+        }
+    }
+}
+
+const std::vector<unsigned char>& LLVMModelDataSymbols::getEventAttributes() const
+{
+    return eventAttributes;
+}
+
+uint LLVMModelDataSymbols::getEventBufferSize(uint eventId) const
+{
+    assert(eventId <= eventAssignmentsSize.size() && "event id out of range");
+    return eventAssignmentsSize[eventId];
+}
+
+bool LLVMModelDataSymbols::isNamedSpeciesReference(const std::string& id) const
+{
+    return namedSpeciesReferenceInfo.find(id) != namedSpeciesReferenceInfo.end();
+}
+
+const LLVMModelDataSymbols::SpeciesReferenceInfo&
+    LLVMModelDataSymbols::getNamedSpeciesReferenceInfo(const std::string& id) const
+{
+    StringRefInfoMap::const_iterator i = namedSpeciesReferenceInfo.find(id);
+    if (i != namedSpeciesReferenceInfo.end())
+    {
+        return i->second;
+    }
+    else
+    {
+        throw_llvm_exception(id + " is not a named SpeciesReference");
+        return *(SpeciesReferenceInfo*)(0); // shutup eclipse warnings
+    }
+}
+
+
+uint LLVMModelDataSymbols::getFloatingSpeciesInitIndex(
+        const std::string& symbol) const
+{
+    StringUIntMap::const_iterator i = initFloatingSpeciesMap.find(symbol);
+    if(i != initFloatingSpeciesMap.end())
+    {
+        return i->second;
+    }
+    else
+    {
+        throw LLVMException("could not find init floating species with id " + symbol);
+    }
+    // never get here, just silence eclipse warnings
+    return 0;
+}
+
+uint LLVMModelDataSymbols::getCompartmentInitIndex(
+        const std::string& symbol) const
+{
+    StringUIntMap::const_iterator i = initCompartmentsMap.find(symbol);
+    if(i != initCompartmentsMap.end())
+    {
+        return i->second;
+    }
+    else
+    {
+        throw LLVMException("could not find init compartment with id " + symbol);
+    }
+}
+
+
+uint LLVMModelDataSymbols::getGlobalParameterInitIndex(
+        const std::string& symbol) const
+{
+    StringUIntMap::const_iterator i = initGlobalParametersMap.find(symbol);
+    if(i != initGlobalParametersMap.end())
+    {
+        return i->second;
+    }
+    else
+    {
+        throw LLVMException("could not find init global parameter with id " + symbol);
+    }
+}
+
+
+bool LLVMModelDataSymbols::isConservedMoietySpecies(const std::string& symbol) const
+{
+    return conservedMoietySpeciesSet.find(symbol) != conservedMoietySpeciesSet.end();
+}
+
+bool LLVMModelDataSymbols::isIndependentInitFloatingSpecies(
+        const std::string& symbol) const
+{
+    StringUIntMap::const_iterator i = initFloatingSpeciesMap.find(symbol);
+    return i != initFloatingSpeciesMap.end() &&
+            i->second < independentInitFloatingSpeciesSize;
+}
+
+bool LLVMModelDataSymbols::isIndependentInitCompartment(
+        const std::string& symbol) const
+{
+    StringUIntMap::const_iterator i = initCompartmentsMap.find(symbol);
+    return i != initCompartmentsMap.end() &&
+            i->second < independentInitCompartmentSize;
+}
+
+bool LLVMModelDataSymbols::isIndependentInitGlobalParameter(
+        const std::string& symbol) const
+{
+    StringUIntMap::const_iterator i = initGlobalParametersMap.find(symbol);
+    return i != initGlobalParametersMap.end() &&
+            i->second < independentInitGlobalParameterSize;
+}
+
+bool LLVMModelDataSymbols::isIndependentInitGlobalParameter(uint id) const
+{
+    return isIndependentInitGlobalParameter(getGlobalParameterId(id));
+}
+
+bool LLVMModelDataSymbols::isIndependentInitElement(
+        const std::string& id) const
+{
+    return (initAssignmentRules.find(id) == initAssignmentRules.end() &&
+            assigmentRules.find(id) == assigmentRules.end()) ||
+            (isConservedMoietySpecies(id) && hasInitialAssignmentRule(id));
+}
+
+bool LLVMModelDataSymbols::hasInitialAssignmentRule(const std::string& id) const
+{
+    return initAssignmentRules.find(id) != initAssignmentRules.end();
+}
+
+uint LLVMModelDataSymbols::getInitCompartmentSize() const
+{
+    return independentInitCompartmentSize;
+}
+
+uint LLVMModelDataSymbols::getInitFloatingSpeciesSize() const
+{
+    return independentInitFloatingSpeciesSize;
+}
+
+uint LLVMModelDataSymbols::getInitBoundarySpeciesSize() const
+{
+    return independentInitBoundarySpeciesSize;
+}
+
+uint LLVMModelDataSymbols::getInitGlobalParameterSize() const
+{
+    return independentInitGlobalParameterSize;
+}
+
+std::vector<std::string> LLVMModelDataSymbols::getEventIds() const
+{
+    return getIds(eventIds);
+}
+
+std::string LLVMModelDataSymbols::getEventId(uint indx) const
+{
+    for (StringUIntMap::const_iterator i = eventIds.begin();
+            i != eventIds.end(); ++i)
+    {
+        if (i->second == indx)
+        {
+            return i->first;
+        }
+    }
+
+    throw std::out_of_range("attempted to access event id at index " + rr::toString(indx));
+}
+
+uint LLVMModelDataSymbols::getEventIndex(const std::string& id) const
+{
+    StringUIntMap::const_iterator i = eventIds.find(id);
+    if (i != eventIds.end())
+    {
+        return i->second;
+    }
+    else
+    {
+        throw LLVMException("could not find event with id " + id, __FUNC__);
+    }
+}
+
+uint LLVMModelDataSymbols::getConservedMoietySize() const
+{
+    return conservedMoietyGlobalParameterIndex.size();
+}
+
+uint LLVMModelDataSymbols::getConservedMoietyGlobalParameterIndex(
+        uint cmIndex) const
+{
+    if (cmIndex >= conservedMoietyGlobalParameterIndex.size())
+    {
+        throw std::out_of_range("attempt to access conserved moiety to global "
+                "param array at index" + rr::toString(cmIndex));
+    }
+    return conservedMoietyGlobalParameterIndex[cmIndex];
+}
+
+std::string LLVMModelDataSymbols::getConservedMoietyId(uint indx) const
+{
+    return getGlobalParameterId(
+            getConservedMoietyGlobalParameterIndex(indx));
+}
+
+uint LLVMModelDataSymbols::getConservedMoietyIndex(
+        const std::string& name) const
+{
+    // rarely used method, less space than another map...
+
+    // throws if not found.
+    uint gp = getGlobalParameterIndex(name);
+
+    for (std::vector<uint>::const_iterator i =
+            conservedMoietyGlobalParameterIndex.begin();
+            i != conservedMoietyGlobalParameterIndex.end(); ++i)
+    {
+        if (*i == gp)
+        {
+            return *i;
+        }
+    }
+
+    throw std::out_of_range("The symbol \"" + name + "\" is not a conserved moeity");
+}
+
+} /* namespace rr */
diff --git a/source/llvm/LLVMModelDataSymbols.h b/source/llvm/LLVMModelDataSymbols.h
new file mode 100644
index 0000000..6de0104
--- /dev/null
+++ b/source/llvm/LLVMModelDataSymbols.h
@@ -0,0 +1,717 @@
+/*
+ * LLVMModelDataSymbols.h
+ *
+ * Created on: Jun 28, 2013
+ *
+ * Author: Andy Somogyi,
+ *     email decode: V1 = "."; V2 = "@"; V3 = V1;
+ *     andy V1 somogyi V2 gmail V3 com
+ */
+
+#ifndef LLVMModelDataSymbolsH
+#define LLVMModelDataSymbolsH
+
+#include "LLVMModelData.h"
+#include "rrExecutableModel.h"
+
+#include "tr1proxy/rr_memory.h"
+#include "tr1proxy/rr_unordered_map.h"
+
+
+#include <map>
+#include <set>
+#include <list>
+
+namespace libsbml
+{
+    class Model;
+    class SimpleSpeciesReference;
+    class ASTNode;
+}
+
+namespace rrllvm
+{
+
+enum ModelDataFields {
+    Size = 0,                                 // 0
+    Flags,                                    // 1
+    Time,                                     // 2
+    NumIndCompartments,                       // 3
+    NumIndFloatingSpecies,                    // 4
+    NumIndBoundarySpecies,                    // 5
+    NumIndGlobalParameters,                   // 6
+    NumRateRules,                             // 7
+    NumReactions,                             // 8
+
+    NumInitCompartments,                      // 9
+    NumInitFloatingSpecies,                   // 10
+    NumInitBoundarySpecies,                   // 11
+    NumInitGlobalParameters,                  // 12
+
+    Stoichiometry,                            // 13
+    RandomPtr,                                // 14
+    NumEvents,                                // 15
+    StateVectorSize,                          // 16
+    StateVector,                              // 17
+    StateVectorRate,                          // 18
+    RateRuleRates,                            // 19
+    FloatingSpeciesAmountRates,               // 20
+
+    CompartmentVolumesAlias,                  // 21
+    InitCompartmentVolumesAlias,              // 22
+    InitFloatingSpeciesAmountsAlias,          // 23
+    BoundarySpeciesAmountsAlias,              // 24
+    InitBoundarySpeciesAmountsAlias,          // 25
+    GlobalParametersAlias,                    // 26
+    InitGlobalParametersAlias,                // 27
+    ReactionRatesAlias,                       // 28
+
+    RateRuleValuesAlias,                      // 29
+    FloatingSpeciesAmountsAlias,              // 30
+
+    CompartmentVolumes,                       // 31
+    InitCompartmentVolumes,                   // 32
+    InitFloatingSpeciesAmounts,               // 33
+    BoundarySpeciesAmounts,                   // 34
+    InitBoundarySpeciesAmounts,               // 35
+    GlobalParameters,                         // 36
+    InitGlobalParameters,                     // 37
+    ReactionRates,                            // 38
+    NotSafe_RateRuleValues,                   // 39
+    NotSafe_FloatingSpeciesAmounts,           // 40
+};
+
+enum EventAtributes
+{
+    EventUseValuesFromTriggerTime = (0x1 << 0), // => 0x00000001
+    EventInitialValue             = (0x1 << 1), // => 0x00000010
+    EventPersistent               = (0x1 << 2)  // => 0x00000100
+};
+
+
+
+/**
+ * stores the names of all the symbols in the sbml model and thier
+ * indexes in the ModelData arrays. This class essentially maps symbol
+ * names into ModelData indexes.
+ *
+ * The logic behind splitting up LLVMModelDataSymbols and LLVMModelSymbols
+ * is that LLVMModelSymbols contains all the ASTs from the model, and this
+ * contains only ModelData indices -- once the all the model functions
+ * are generated, there is no need to keep AST information around, but we
+ * still need to know what symbol is at what index for the various
+ * Model accessor functions.
+ *
+ * * data storage:
+ * There can exist rules (assigment, rate, and eventually algebraic) rules
+ * that determine the value of a symbol.
+ *
+ * All items for which a rate rule exists are stored in the
+ * modelData::rateRules array.
+ *
+ * No space is allocated for items determined by rate rules.
+ *
+ * * All elements get an index value, even the dependent ones, this allows
+ * us uniquely indentify them in the generated accessor functions.
+ *
+ * * Most of the indexes used in this class are indexes into ModelData
+ * arrays, therefore we use unsigned integers -- these are less error
+ * prone and its easier to check if they are valid i.e. only check that
+ * they are less than the the array size and we do not have to check that
+ * it is positive.
+ *
+ * * All symbols from the sbml are reordered such that the independent
+ * ones are first, followed by the dependent values.
+ */
+class LLVMModelDataSymbols
+{
+public:
+
+    typedef std::map<std::string, uint> StringUIntMap;
+    typedef std::pair<std::string, uint> StringUIntPair;
+    typedef cxx11_ns::unordered_map<uint, uint> UIntUIntMap;
+
+    enum SpeciesReferenceType
+    {
+        Reactant, Product, Modifier, MultiReactantProduct
+    };
+
+    /**
+     * The model frequently looks for indices to sbml symbols.
+     *
+     * This is a list of the types of sbml symbols that this
+     * class keeps track of.
+     */
+    enum SymbolIndexType
+    {
+        FLOATING_SPECIES, BOUNDARY_SPECIES, COMPARTMENT, GLOBAL_PARAMETER, REACTION, EVENT, INVALID_SYMBOL
+    };
+
+    /**
+     * info about an entry in the stoich matrix.
+     *
+     * there is exactly one of these for each entry.
+     */
+    struct SpeciesReferenceInfo
+    {
+        uint row;
+        uint column;
+        SpeciesReferenceType type;
+        std::string id;
+    };
+
+    LLVMModelDataSymbols();
+
+    LLVMModelDataSymbols(libsbml::Model const* model, unsigned options);
+
+    virtual ~LLVMModelDataSymbols();
+
+    const std::string& getModelName() const;
+
+    uint getCompartmentIndex(std::string const&) const;
+
+    /**
+     * checks to see if we have the given symbol in the sbml.
+     *
+     * @param name the name of the sbml symbol to look up.
+     * @param result if successfull, this is set to the index
+     * @returns the type of symbol, if no symbol is found, then
+     * INVALID_SYMBOL is returned.
+     */
+    SymbolIndexType getSymbolIndex(const std::string& name, int& result) const;
+
+    /**
+     * get the index of a floating species.
+     *
+     * @param requireIndependent if true, the float species must be independent --
+     * not defined by a rule.
+     */
+    uint getFloatingSpeciesIndex(std::string const&, bool requireIndependent = true) const;
+
+    uint getBoundarySpeciesIndex(std::string const&) const;
+
+    /**
+     * number of boundary species not defined by rules.
+     */
+    uint getIndependentBoundarySpeciesSize() const;
+
+    /**
+     * number of fully indenpendent species, these are species that
+     * have thier dynamics fully determined by the reaction rates /
+     * stoichiometric matrix -- these DO NOT have any rules determining
+     * their dynamics.
+     *
+     * This is size of the allocated array in the ModelData struct.
+     */
+    uint getIndependentFloatingSpeciesSize() const;
+
+    /**
+     * index of a global param given its name.
+     * @throw exception if invalid name.
+     */
+    uint getGlobalParameterIndex(std::string const&) const;
+
+    uint getRateRuleIndex(std::string const&) const;
+
+    uint getRateRuleSize() const;
+
+    /**
+     * get the symbolic id of the i'th rate rule
+     */
+    std::string getRateRuleId(uint indx) const;
+
+    /**
+     * number of global parameters which are not determined by rules.
+     */
+    uint getIndependentGlobalParameterSize() const;
+
+    uint getReactionIndex(std::string const&) const;
+    std::vector<std::string> getReactionIds() const;
+    uint getReactionSize() const;
+
+
+    std::vector<std::string> getGlobalParameterIds() const;
+
+    /**
+     * is the global parameter index defined by a rate rule.
+     */
+    bool isRateRuleGlobalParameter(uint gid) const;
+
+    /**
+     * the list that is returned by ExecutableModel, so order must
+     * remain constant.
+     */
+    std::vector<std::string> getFloatingSpeciesIds() const;
+
+
+    /**
+     * get the symbolic id of the i'th floating species.
+     */
+    std::string getFloatingSpeciesId(uint indx) const;
+
+
+    /**
+     * find the id of the given global parameter index.
+     */
+    std::string getGlobalParameterId(uint indx) const;
+
+    /**
+     * total size of all floating species.
+     */
+    uint getFloatingSpeciesSize() const;
+
+    uint getBoundarySpeciesSize() const;
+
+    uint getCompartmentsSize() const;
+
+    uint getGlobalParametersSize() const;
+
+    std::vector<std::string> getCompartmentIds() const;
+
+    /**
+     * number of compartments which are not determined by rules.
+     */
+    uint getIndependentCompartmentSize() const;
+
+
+    std::vector<std::string> getBoundarySpeciesIds() const;
+
+    /**
+     * get a list of all the non-zero entries in the
+     * stoichiometry matrix.
+     *
+     * in the list of pairs, first is the row (species) index,
+     * and second is the column (reaction) index.
+     */
+    std::list<SpeciesReferenceInfo> getStoichiometryIndx() const;
+
+    /**
+     * initialize and allocate the buffers (including the stoich matrix)
+     * for an existing ModelData struct.
+     */
+    //void initAllocModelDataBuffers(LLVMModelData& m) const;
+
+    void print() const;
+
+    /**
+     * if there are no rules for an element, then they are considered
+     * independent.
+     *
+     * These are only for elements, not init values, will return false
+     * for all init symbols.
+     *
+     * Only valid after class has been constructed.
+     */
+    bool isIndependentElement(const std::string& id) const;
+
+
+    bool hasRateRule(const std::string& id) const;
+
+    bool hasAssignmentRule(const std::string& id) const;
+
+    bool hasInitialAssignmentRule(const std::string& id) const;
+
+    bool isIndependentFloatingSpecies(const std::string& id) const;
+
+    bool isIndependentBoundarySpecies(const std::string& id) const;
+
+    bool isBoundarySpecies(const std::string& id) const;
+
+    bool isIndependentGlobalParameter(const std::string& id) const;
+
+    bool isIndependentCompartment(const std::string& id) const;
+
+    bool isNamedSpeciesReference(const std::string& id) const;
+
+    const SpeciesReferenceInfo& getNamedSpeciesReferenceInfo(
+            const std::string& id) const;
+
+
+/******* Conserved Moiety Section ********************************************/
+#if (1) /*********************************************************************/
+/*****************************************************************************/
+
+
+
+
+    /**
+     * checks if the given symbol is a init value for a conserved species.
+     *
+     * Global parameters or floating species can be conservied moieties,
+     * a global parameter is a CM if it is defined by a inital assignment rules
+     * as a linear of one CM species and a set of indepdent
+     * floating species.
+     *
+     * A floating species may be a CM if it is defined by a rule
+     * as a linear combination of independent species.
+     *
+     * If a floating species is a CM, then it must by definition
+     * be a dependent floating species.
+     *
+     * It can however have independent initial conditions defined
+     * either by intial values or initial assignment rules.
+     */
+    bool isConservedMoietySpecies(const std::string& symbol) const;
+
+    /**
+     * checks if the given floating species id corresponds to
+     * to a conserved moiety species.
+     *
+     * @param id index of floating species
+     * @param [out] result the index of the conserved moiety if this
+     * is a conserved moiety species.
+     * @returns true or false if this is a cm species or not.
+     */
+    bool isConservedMoietySpecies(uint id, uint &result) const;
+
+    /**
+     * check if the global parameter with the given id is a
+     * conserved moiety.
+     */
+    bool isConservedMoietyParameter(uint id) const;
+
+    /**
+     * get the number of conserved moieties.
+     */
+    uint getConservedMoietySize() const;
+
+    /**
+     * get the index of a global parameter given a conserved moiety index.
+     */
+    uint getConservedMoietyGlobalParameterIndex(uint cmIndex) const;
+
+    /**
+     * find the id of the given conserved moiety index.
+     */
+    std::string getConservedMoietyId(uint indx) const;
+
+    /**
+     * get the id of a conserved moiety given its name.
+     */
+    uint getConservedMoietyIndex(const std::string& name) const;
+
+private:
+
+    /**
+     * initialized in initFloatingSpecies.
+     */
+    std::set<std::string> conservedMoietySpeciesSet;
+
+    /**
+     * global parameter id conserved moiety status.
+     */
+    std::vector<bool> conservedMoietyGlobalParameter;
+
+    /**
+     * the index of a global parameter from a conserved moeity
+     * index.
+     *
+     * This array will be the size of the number of CM, each value
+     * of this array will be a global parameter index.
+     */
+    std::vector<uint> conservedMoietyGlobalParameterIndex;
+
+    /**
+     * map of floating species ids to conserved moiety ids.
+     *
+     * assume conserved moeity speces are stored in the sbml
+     * in the same order as the conserved moieties.
+     */
+    UIntUIntMap floatingSpeciesToConservedMoietyIdMap;
+
+
+/*****************************************************************************/
+#endif /* Conserved Moiety Section ******************************************/
+/*****************************************************************************/
+public:
+
+    const std::vector<unsigned char>& getEventAttributes() const;
+
+    /**
+     * get the textual form of the field names.
+     */
+    static const char* getFieldName(ModelDataFields field);
+
+    /**
+     * get the size (in number of doubles) of the buffer
+     * that events need to save the event data to.
+     */
+    uint getEventBufferSize(uint eventId) const;
+
+    /**
+     * the the row indices of non-zero stoichiometry values
+     */
+    const std::vector<uint>& getStoichRowIndx() const;
+
+    /**
+     * the the column indices of non-zero stoichiometry values
+     */
+    const std::vector<uint>& getStoichColIndx() const;
+
+
+/************************ Initial Conditions Section *************************/
+#if (1) /*********************************************************************/
+/*****************************************************************************/
+
+    /**
+     * checks if the given symbol is an init value for an independent
+     * floating species.
+     *
+     * Conserved Moiety species are considered to have independent
+     * initial condtions as in this case, the assignment rule only applies
+     * at time t > 0.
+     */
+    bool isIndependentInitFloatingSpecies(const std::string& symbol) const;
+
+    /**
+     * Is this sbml element an independent initial value.
+     *
+     * True if this value does NOT have an assignment or initial
+     * assignment rule.
+     *
+     * Independent initial values do not have assignment or
+     * initial assigment rules, but may have rate rules.
+     */
+    bool isIndependentInitElement(const std::string& symbol) const;
+
+    bool isIndependentInitCompartment(const std::string& symbol) const;
+
+    /**
+     * has this string been found to be an independent init global param--
+     * is a global param and not having an assignment or init assignment rule.
+     */
+    bool isIndependentInitGlobalParameter(const std::string& symbol) const;
+
+
+    /**
+     * is this global parameter id an independent init param --
+     * a global param without an init assignment rule.
+     */
+    bool isIndependentInitGlobalParameter(uint id) const;
+
+    /**
+     * get the index of a floating species initial value.
+     *
+     * has the same index as the run time floating species.
+     */
+    uint getFloatingSpeciesInitIndex(const std::string& symbol) const;
+
+    /**
+     * get the index of a compartment initial value
+     *
+     * has the same index as the run time compartment.
+     */
+    uint getCompartmentInitIndex(const std::string& symbol) const;
+
+    /**
+     * get the index of a compartment for a float species.
+     */
+    uint getCompartmentIndexForFloatingSpecies(uint floatIndex) const;
+
+    /**
+     * get the index of a global parameter initial value
+     *
+     * has the same index as the run time global parameter.
+     */
+    uint getGlobalParameterInitIndex(const std::string& symbol) const;
+
+    uint getInitCompartmentSize() const;
+    uint getInitFloatingSpeciesSize() const;
+    uint getInitBoundarySpeciesSize() const;
+    uint getInitGlobalParameterSize() const;
+
+    std::vector<std::string> getEventIds() const;
+
+    std::string getEventId(uint indx) const;
+
+    uint getEventIndex(const std::string& id) const;
+
+private:
+
+    std::set<std::string> initAssignmentRules;
+
+    /**
+     * map of floating species init value symbols to thier
+     * index in the array.
+     *
+     * All floating species are stored in this map, however
+     * they are reordered and only the ones with index <
+     * independentInitFloatingSpeciesSize are allocated storage.
+     */
+    StringUIntMap initFloatingSpeciesMap;
+    StringUIntMap initBoundarySpeciesMap;
+    StringUIntMap initCompartmentsMap;
+    StringUIntMap initGlobalParametersMap;
+
+    /**
+     * Elements that do NOT have assignment rules are considered
+     * independent initial conditions.
+     *
+     * Ind init conditions CAN however defined by rules.
+     *
+     * ind init conditions are all elements that do not have
+     * assignment or initial assignment rules.
+     */
+
+    /**
+     * float species init array has floating species NOT
+     * defined by init assignment rules, assignment rules,
+     * but rate rules are OK. This does not contain the init values
+     * for conserved species.
+     */
+    uint independentInitFloatingSpeciesSize;
+
+    /**
+     * boundary species not defined by any rule
+     * including init assignment rules.
+     */
+    uint independentInitBoundarySpeciesSize;
+
+    /**
+     * global params not defined by any rule
+     */
+    uint independentInitGlobalParameterSize;
+
+    /**
+     * compartments not defined by any rules.
+     */
+    uint independentInitCompartmentSize;
+
+    /**
+     * index of compartments for each float species.
+     */
+    std::vector<uint> floatingSpeciesCompartmentIndices;
+
+/************************ End Initial Conditions Section *********************/
+#endif /**********************************************************************/
+/*****************************************************************************/
+
+
+private:
+
+    std::string modelName;
+    StringUIntMap floatingSpeciesMap;
+    StringUIntMap boundarySpeciesMap;
+    StringUIntMap compartmentsMap;
+    StringUIntMap globalParametersMap;
+
+
+
+    /**
+     * map of all identified species reference (species references with ids)
+     * to their indices in the stoichiometric matrix.
+     */
+    typedef std::map<std::string, SpeciesReferenceInfo> StringRefInfoMap;
+    StringRefInfoMap namedSpeciesReferenceInfo;
+
+    /**
+     * all reactions are named.
+     */
+    StringUIntMap reactionsMap;
+
+    /**
+     * the stochiometry matrix is # reactions rows by # species columns.
+     *
+     * the species indices go here.
+     */
+    std::vector<uint> stoichColIndx;
+
+    /**
+     * and the reaction indices go here.
+     */
+    std::vector<uint> stoichRowIndx;
+
+    /**
+     * most species references are un-named, this is used so that if named ones
+     * have a rate rule, we can set the proper initial conditions.
+     */
+    std::vector<std::string> stoichIds;
+
+    std::vector<SpeciesReferenceType> stoichTypes;
+
+    /**
+     * the set of rule, these contain the variable name of the rule so that
+     * we can quickly see if a symbol has an associated rule.
+     */
+    std::set<std::string> assigmentRules;
+
+    /**
+     * rate rules, index by variable name.
+     */
+    StringUIntMap rateRules;
+
+    /**
+     * are global params defined by rate rules,
+     * set in initGlobalParam
+     */
+    std::vector<bool> globalParameterRateRules;
+
+    uint independentFloatingSpeciesSize;
+    uint independentBoundarySpeciesSize;
+    uint independentGlobalParameterSize;
+    uint independentCompartmentSize;
+
+    /**
+     * the number of assignments each event has
+     */
+    std::vector<uint> eventAssignmentsSize;
+
+    std::vector<unsigned char> eventAttributes;
+
+    /**
+     * map of event ids
+     */
+    StringUIntMap eventIds;
+
+    void initBoundarySpecies(const libsbml::Model *);
+
+    /**
+     * init the floating species symbols.
+     *
+     * @param conservedMoieties: are conserved moieties enabled?
+     */
+    void initFloatingSpecies(const libsbml::Model *,
+            bool conservedMoieties);
+
+    /**
+     *
+     */
+    void initCompartments(const libsbml::Model *);
+
+    /**
+     * get the global parameters, need to reorder them to set the independent
+     * ones first
+     *
+     * @param conservedMoieties: are conserved moieties enabled?
+     */
+    void initGlobalParameters(const libsbml::Model *model,
+            bool conservedMoieties);
+
+    void initReactions(const libsbml::Model *model);
+
+    void displayCompartmentInfo();
+
+    void initEvents(const libsbml::Model *model);
+
+    /**
+     * determine is this species can be used as a species reference,
+     * in the sense that it will add a column to the stochiometry
+     * matrix.
+     *
+     * Boundary species are not consumed or produced in reactions.
+     * If this is invalid float species, such as its defined by a rule
+     * this will log the reason.
+     */
+    bool isValidFloatingSpeciesReference(const libsbml::SimpleSpeciesReference*,
+            const std::string& reacOrProd);
+
+    /**
+     * set the type of all species references.
+     * row is species, column is reaction
+     */
+    void setNamedSpeciesReferenceInfo(uint row, uint column,
+            SpeciesReferenceType type);
+};
+
+} /* namespace rr */
+#endif /* RRLLVMMODELDATASYMBOLS_H_ */
diff --git a/source/llvm/LLVMModelGenerator.cpp b/source/llvm/LLVMModelGenerator.cpp
new file mode 100644
index 0000000..c9a271a
--- /dev/null
+++ b/source/llvm/LLVMModelGenerator.cpp
@@ -0,0 +1,430 @@
+/*
+ * LLVMModelGenerator.cpp
+ *
+ * Created on: Jun 3, 2013
+ *
+ * Author: Andy Somogyi,
+ *     email decode: V1 = "."; V2 = "@"; V3 = V1;
+ *     andy V1 somogyi V2 gmail V3 com
+ */
+#pragma hdrstop
+#include "LLVMModelGenerator.h"
+#include "LLVMExecutableModel.h"
+#include "ModelGeneratorContext.h"
+#include "LLVMIncludes.h"
+#include "ModelResources.h"
+#include "Random.h"
+#include <rrLogger.h>
+#include <rrUtils.h>
+#include <Poco/Mutex.h>
+
+using rr::Logger;
+using rr::getLogger;
+using rr::ExecutableModel;
+using rr::LoadSBMLOptions;
+using rr::Compiler;
+
+namespace rrllvm
+{
+
+typedef cxx11_ns::weak_ptr<ModelResources> WeakModelPtr;
+typedef cxx11_ns::shared_ptr<ModelResources> SharedModelPtr;
+typedef cxx11_ns::unordered_map<std::string, WeakModelPtr> ModelPtrMap;
+
+static Poco::Mutex cachedModelsMutex;
+static ModelPtrMap cachedModels;
+
+
+/**
+ * copy the cached model fields between a cached model, and a
+ * executable model.
+ *
+ * We don't want to have ExecutableModel inherit from CahcedModel
+ * because they do compleltly different things, and have completly
+ * differnt deletion semantics
+ */
+template <typename a_type, typename b_type>
+void copyCachedModel(a_type* src, b_type* dst)
+{
+    dst->symbols = src->symbols;
+    dst->context = src->context;
+    dst->executionEngine = src->executionEngine;
+    dst->errStr = src->errStr;
+
+    dst->evalInitialConditionsPtr = src->evalInitialConditionsPtr;
+    dst->evalReactionRatesPtr = src->evalReactionRatesPtr;
+    dst->getBoundarySpeciesAmountPtr = src->getBoundarySpeciesAmountPtr;
+    dst->getFloatingSpeciesAmountPtr = src->getFloatingSpeciesAmountPtr;
+    dst->getBoundarySpeciesConcentrationPtr = src->getBoundarySpeciesConcentrationPtr;
+    dst->getFloatingSpeciesConcentrationPtr = src->getFloatingSpeciesConcentrationPtr;
+    dst->getCompartmentVolumePtr = src->getCompartmentVolumePtr;
+    dst->getGlobalParameterPtr = src->getGlobalParameterPtr;
+    dst->evalRateRuleRatesPtr = src->evalRateRuleRatesPtr;
+    dst->getEventTriggerPtr = src->getEventTriggerPtr;
+    dst->getEventPriorityPtr = src->getEventPriorityPtr;
+    dst->getEventDelayPtr = src->getEventDelayPtr;
+    dst->eventTriggerPtr = src->eventTriggerPtr;
+    dst->eventAssignPtr = src->eventAssignPtr;
+    dst->evalVolatileStoichPtr = src->evalVolatileStoichPtr;
+    dst->evalConversionFactorPtr = src->evalConversionFactorPtr;
+}
+
+
+ExecutableModel* LLVMModelGenerator::createModel(const std::string& sbml,
+        uint options)
+{
+    bool forceReCompile = options & LoadSBMLOptions::RECOMPILE;
+
+    string md5;
+
+    if (!forceReCompile)
+    {
+        // check for a chached copy
+        md5 = rr::getMD5(sbml);
+
+        if (options & LoadSBMLOptions::CONSERVED_MOIETIES)
+        {
+            md5 += "_conserved";
+        }
+
+        ModelPtrMap::const_iterator i;
+
+        SharedModelPtr sp;
+
+        cachedModelsMutex.lock();
+
+        if ((i = cachedModels.find(md5)) != cachedModels.end())
+        {
+            sp = i->second.lock();
+        }
+
+        cachedModelsMutex.unlock();
+
+        // we could have recieved a bad ptr, a model could have been deleted,
+        // in which case, we should have a bad ptr.
+
+        if (sp)
+        {
+            Log(Logger::LOG_DEBUG) << "found a cached model for " << md5;
+            return new LLVMExecutableModel(sp, createModelData(*sp->symbols, sp->random));
+        }
+        else
+        {
+            Log(Logger::LOG_TRACE) << "no cached model found for " << md5
+                    << ", creating new one";
+        }
+    }
+
+    SharedModelPtr rc(new ModelResources());
+
+    ModelGeneratorContext context(sbml, options);
+
+    rc->evalInitialConditionsPtr =
+            EvalInitialConditionsCodeGen(context).createFunction();
+
+    rc->evalReactionRatesPtr =
+            EvalReactionRatesCodeGen(context).createFunction();
+
+    rc->getBoundarySpeciesAmountPtr =
+            GetBoundarySpeciesAmountCodeGen(context).createFunction();
+
+    rc->getFloatingSpeciesAmountPtr =
+            GetFloatingSpeciesAmountCodeGen(context).createFunction();
+
+    rc->getBoundarySpeciesConcentrationPtr =
+            GetBoundarySpeciesConcentrationCodeGen(context).createFunction();
+
+    rc->getFloatingSpeciesConcentrationPtr =
+            GetFloatingSpeciesConcentrationCodeGen(context).createFunction();
+
+    rc->getCompartmentVolumePtr =
+            GetCompartmentVolumeCodeGen(context).createFunction();
+
+    rc->getGlobalParameterPtr =
+            GetGlobalParameterCodeGen(context).createFunction();
+
+    rc->evalRateRuleRatesPtr =
+            EvalRateRuleRatesCodeGen(context).createFunction();
+
+    rc->getEventTriggerPtr =
+            GetEventTriggerCodeGen(context).createFunction();
+
+    rc->getEventPriorityPtr =
+            GetEventPriorityCodeGen(context).createFunction();
+
+    rc->getEventDelayPtr =
+            GetEventDelayCodeGen(context).createFunction();
+
+    rc->eventTriggerPtr =
+            EventTriggerCodeGen(context).createFunction();
+
+    rc->eventAssignPtr =
+            EventAssignCodeGen(context).createFunction();
+
+    rc->evalVolatileStoichPtr =
+            EvalVolatileStoichCodeGen(context).createFunction();
+
+    rc->evalConversionFactorPtr =
+            EvalConversionFactorCodeGen(context).createFunction();
+
+    if (options & LoadSBMLOptions::READ_ONLY)
+    {
+        rc->setBoundarySpeciesAmountPtr = 0;
+        rc->setBoundarySpeciesConcentrationPtr = 0;
+        rc->setFloatingSpeciesConcentrationPtr = 0;
+        rc->setCompartmentVolumePtr = 0;
+        rc->setFloatingSpeciesAmountPtr = 0;
+        rc->setGlobalParameterPtr = 0;
+    }
+    else
+    {
+        rc->setBoundarySpeciesAmountPtr = SetBoundarySpeciesAmountCodeGen(
+                context).createFunction();
+
+        rc->setBoundarySpeciesConcentrationPtr =
+                SetBoundarySpeciesConcentrationCodeGen(context).createFunction();
+
+        rc->setFloatingSpeciesConcentrationPtr =
+                SetFloatingSpeciesConcentrationCodeGen(context).createFunction();
+
+        rc->setCompartmentVolumePtr =
+                SetCompartmentVolumeCodeGen(context).createFunction();
+
+        rc->setFloatingSpeciesAmountPtr = SetFloatingSpeciesAmountCodeGen(
+                context).createFunction();
+
+        rc->setGlobalParameterPtr =
+                SetGlobalParameterCodeGen(context).createFunction();
+    }
+
+    if (options & LoadSBMLOptions::MUTABLE_INITIAL_CONDITIONS)
+    {
+        rc->getFloatingSpeciesInitConcentrationsPtr =
+                GetFloatingSpeciesInitConcentrationCodeGen(context).createFunction();
+        rc->setFloatingSpeciesInitConcentrationsPtr =
+                SetFloatingSpeciesInitConcentrationCodeGen(context).createFunction();
+
+        rc->getFloatingSpeciesInitAmountsPtr =
+                GetFloatingSpeciesInitAmountCodeGen(context).createFunction();
+        rc->setFloatingSpeciesInitAmountsPtr =
+                SetFloatingSpeciesInitAmountCodeGen(context).createFunction();
+
+        rc->getCompartmentInitVolumesPtr =
+                GetCompartmentInitVolumeCodeGen(context).createFunction();
+        rc->setCompartmentInitVolumesPtr =
+                SetCompartmentInitVolumeCodeGen(context).createFunction();
+
+        rc->getGlobalParameterInitValuePtr =
+                GetGlobalParameterInitValueCodeGen(context).createFunction();
+        rc->setGlobalParameterInitValuePtr =
+                SetGlobalParameterInitValueCodeGen(context).createFunction();
+    }
+    else
+    {
+        rc->getFloatingSpeciesInitConcentrationsPtr = 0;
+        rc->setFloatingSpeciesInitConcentrationsPtr = 0;
+
+        rc->getFloatingSpeciesInitAmountsPtr = 0;
+        rc->setFloatingSpeciesInitAmountsPtr = 0;
+
+        rc->getCompartmentInitVolumesPtr = 0;
+        rc->setCompartmentInitVolumesPtr = 0;
+
+        rc->getGlobalParameterInitValuePtr = 0;
+        rc->setGlobalParameterInitValuePtr = 0;
+    }
+
+
+    // if anything up to this point throws an exception, thats OK, because
+    // we have not allocated any memory yet that is not taken care of by
+    // something else.
+    // Now that everything that could have thrown would have thrown, we
+    // can now create the model and set its fields.
+
+    LLVMModelData *modelData = createModelData(context.getModelDataSymbols(),
+            context.getRandom());
+
+    uint llvmsize = ModelDataIRBuilder::getModelDataSize(context.getModule(),
+            &context.getExecutionEngine());
+
+    if (llvmsize != modelData->size)
+    {
+        std::stringstream s;
+
+        s << "LLVM Model Data size " << llvmsize << " is different from " <<
+                "C++ size of LLVM ModelData, " << modelData->size;
+
+        LLVMModelData_free(modelData);
+
+        Log(Logger::LOG_FATAL) << s.str();
+
+        throw_llvm_exception(s.str());
+    }
+
+    // * MOVE * the bits over from the context to the exe model.
+    context.stealThePeach(&rc->symbols, &rc->context,
+            &rc->executionEngine, &rc->random, &rc->errStr);
+
+
+    if (!forceReCompile)
+    {
+        // check for a chached copy, another thread could have
+        // created one while we were making ours...
+
+        ModelPtrMap::const_iterator i;
+
+        SharedModelPtr sp;
+
+        cachedModelsMutex.lock();
+
+        // whilst we have it locked, clear any expired ptrs
+        for (ModelPtrMap::const_iterator j = cachedModels.begin();
+                j != cachedModels.end();)
+        {
+            if (j->second.expired())
+            {
+                Log(Logger::LOG_DEBUG) <<
+                        "removing expired model resource for hash " << md5;
+
+                j = cachedModels.erase(j);
+            }
+            else
+            {
+                ++j;
+            }
+        }
+
+        if ((i = cachedModels.find(md5)) == cachedModels.end())
+        {
+            Log(Logger::LOG_DEBUG) << "could not find existing cached resource "
+                    "resources, for hash " << md5 <<
+                    ", inserting new resources into cache";
+
+            cachedModels[md5] = rc;
+        }
+
+        cachedModelsMutex.unlock();
+    }
+
+    return new LLVMExecutableModel(rc, modelData);
+}
+
+
+
+/************ LLVM Utility Functions, TODO: Move To Separate File ************/
+
+/**
+ * C++ 11 style to_string for LLVM types
+ */
+std::string to_string(const llvm::Value *value)
+{
+    std::string str;
+    llvm::raw_string_ostream stream(str);
+    value->print(stream);
+    return str;
+}
+
+LLVMModelData *createModelData(const rrllvm::LLVMModelDataSymbols &symbols,
+        const Random *random)
+{
+    uint modelDataBaseSize = sizeof(LLVMModelData);
+
+    uint numIndCompartments = symbols.getIndependentCompartmentSize();
+    uint numIndFloatingSpecies = symbols.getIndependentFloatingSpeciesSize();
+    uint numIndBoundarySpecies = symbols.getIndependentBoundarySpeciesSize();
+    uint numIndGlobalParameters = symbols.getIndependentGlobalParameterSize();
+
+    uint numInitCompartments = symbols.getInitCompartmentSize();
+    uint numInitFloatingSpecies = symbols.getInitFloatingSpeciesSize();
+    uint numInitBoundarySpecies = symbols.getInitBoundarySpeciesSize();
+    uint numInitGlobalParameters = symbols.getInitGlobalParameterSize();
+
+    // no initial conditions for these
+    uint numRateRules = symbols.getRateRuleSize();
+    uint numReactions = symbols.getReactionSize();
+
+    uint modelDataSize = modelDataBaseSize +
+        sizeof(double) * (
+            numIndCompartments +
+            numInitCompartments +
+            numInitFloatingSpecies +
+            numIndBoundarySpecies +
+            numInitBoundarySpecies +
+            numIndGlobalParameters +
+            numInitGlobalParameters +
+            numReactions +
+            numRateRules +
+            numIndFloatingSpecies
+            );
+
+    LLVMModelData *modelData = (LLVMModelData*)calloc(
+            modelDataSize, sizeof(unsigned char));
+
+    modelData->size = modelDataSize;
+    modelData->numIndCompartments = numIndCompartments;
+    modelData->numIndFloatingSpecies = numIndFloatingSpecies;
+    modelData->numIndBoundarySpecies = numIndBoundarySpecies;
+    modelData->numIndGlobalParameters = numIndGlobalParameters;
+
+    modelData->numInitCompartments = numInitCompartments;
+    modelData->numInitFloatingSpecies = numInitFloatingSpecies;
+    modelData->numInitBoundarySpecies = numInitBoundarySpecies;
+    modelData->numInitBoundarySpecies = numInitGlobalParameters;
+
+    modelData->numRateRules = numRateRules;
+    modelData->numReactions = numReactions;
+    modelData->numEvents = symbols.getEventAttributes().size();
+
+    // set the aliases to the offsets
+    uint offset = 0;
+
+    modelData->compartmentVolumesAlias = &modelData->data[offset];
+    offset += numIndCompartments;
+
+    modelData->initCompartmentVolumesAlias = &modelData->data[offset];
+    offset += numInitCompartments;
+
+    modelData->initFloatingSpeciesAmountsAlias = &modelData->data[offset];
+    offset += numInitFloatingSpecies;
+
+    modelData->boundarySpeciesAmountsAlias = &modelData->data[offset];
+    offset += numIndBoundarySpecies;
+
+    modelData->initBoundarySpeciesAmountsAlias = &modelData->data[offset];
+    offset += numInitBoundarySpecies;
+
+    modelData->globalParametersAlias = &modelData->data[offset];
+    offset += numIndGlobalParameters;
+
+    modelData->initGlobalParametersAlias = &modelData->data[offset];
+    offset += numInitGlobalParameters;
+
+    modelData->reactionRatesAlias = &modelData->data[offset];
+    offset += numReactions;
+
+    modelData->rateRuleValuesAlias = &modelData->data[offset];
+    offset += numRateRules;
+
+    modelData->floatingSpeciesAmountsAlias = &modelData->data[offset];
+    offset += numIndFloatingSpecies;
+
+    assert (modelDataBaseSize + offset * sizeof(double) == modelDataSize  &&
+            "LLVMModelData size not equal to base size + data");
+
+    // allocate the stoichiometry matrix
+    const std::vector<uint> &stoichRowIndx = symbols.getStoichRowIndx();
+    const std::vector<uint> &stoichColIndx = symbols.getStoichColIndx();
+    std::vector<double> stoichValues(stoichRowIndx.size(), 0);
+
+    modelData->stoichiometry = rr::csr_matrix_new(numIndFloatingSpecies, numReactions,
+            stoichRowIndx, stoichColIndx, stoichValues);
+
+    // make a copy of the random object
+    modelData->random = random ? new Random(*random) : 0;
+
+    return modelData;
+}
+
+} /* namespace rrllvm */
+
+
diff --git a/source/llvm/LLVMModelGenerator.h b/source/llvm/LLVMModelGenerator.h
new file mode 100644
index 0000000..f16958c
--- /dev/null
+++ b/source/llvm/LLVMModelGenerator.h
@@ -0,0 +1,42 @@
+/*
+ * LLVMModelGenerator.h
+ *
+ * Created on: Jun 3, 2013
+ *
+ * Author: Andy Somogyi,
+ *     email decode: V1 = "."; V2 = "@"; V3 = V1;
+ *     andy V1 somogyi V2 gmail V3 com
+ */
+#ifndef rrLLVMModelGeneratorH
+#define rrLLVMModelGeneratorH
+
+#include "rrRoadRunnerOptions.h"
+#include "LLVMCompiler.h"
+
+#include "tr1proxy/rr_memory.h"
+#include "tr1proxy/rr_unordered_map.h"
+
+namespace rrllvm
+{
+
+/**
+ * General concepts:
+ *
+ * SBML defines chemical species.
+ *
+ * Floating Species: species whose value varies over time, i.e. they can 'float'
+ * Boundary Species: boundary condition species, values are fixed to initial conditions.
+ */
+class RR_DECLSPEC LLVMModelGenerator
+{
+public:
+
+    /**
+     * Create an executable model from an sbml string
+     */
+    static rr::ExecutableModel *createModel(const std::string& sbml, uint options);
+
+};
+
+} /* namespace rr */
+#endif /* rrLLVMModelGeneratorH */
diff --git a/source/llvm/LLVMModelSymbols.cpp b/source/llvm/LLVMModelSymbols.cpp
new file mode 100644
index 0000000..e489482
--- /dev/null
+++ b/source/llvm/LLVMModelSymbols.cpp
@@ -0,0 +1,649 @@
+/*
+ * LLVMModelSymbols.cpp
+ *
+ *  Created on: Jun 29, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "LLVMModelSymbols.h"
+#include "LLVMException.h"
+#include "ASTNodeCodeGen.h"
+#include "rrLogger.h"
+#include "rrStringUtils.h"
+#include "rrException.h"
+
+#include "conservation/ConservationExtension.h"
+
+#include <sbml/math/ASTNode.h>
+#include <sbml/math/FormulaFormatter.h>
+#include <sbml/SBMLDocument.h>
+
+using namespace libsbml;
+using namespace llvm;
+using namespace std;
+
+using rr::Logger;
+using rr::getLogger;
+
+
+namespace rrllvm
+{
+
+LLVMModelSymbols::LLVMModelSymbols(const libsbml::Model *m, LLVMModelDataSymbols const &sym) :
+        model(m),
+        symbols(sym),
+        reactions(sym.getReactionSize(), ReactionSymbols())
+{
+    // make sure we have no events
+    model->getListOfEvents()->accept(*this);
+
+    model->getListOfSpecies()->accept(*this);
+    model->getListOfCompartments()->accept(*this);
+    model->getListOfReactions()->accept(*this);
+
+    // only want to process global parameters, however calling
+    // getListOfParameters()->acept(..) ends up calling us
+    // with all the local paramters, and older sbml uses
+    // the class Parameter for locals, so if we manually
+    // itterate the list, we only get global params.
+    const libsbml::ListOfParameters *params = model->getListOfParameters();
+    for (uint i = 0; i < params->size(); ++i)
+    {
+        const Parameter* param = params->get(i);
+
+        Log(Logger::LOG_TRACE) << "global parameter " << param->getId() <<
+                " initial value: " << param->getValue();
+
+        ASTNode *value = nodes.create(AST_REAL);
+
+        if (param->isSetValue())
+        {
+            value->setValue(param->getValue());
+        }
+        else
+        {
+            // check if we have an initial assignment for this param.
+            const string& id = param->getId();
+            if (model->getInitialAssignment(id) == NULL &&
+                    model->getAssignmentRule(id) == NULL)
+            {
+                Log(Logger::LOG_WARNING) << "Global parameter, \'"
+                        << param->getId() << "\' missing value and missing init "
+                        "assignment and assignment rule!, defaulting value to 0.0.";
+                Log(Logger::LOG_WARNING) << "This probably is NOT what you want "
+                        "with global parameter \'" << param->getId() << "\'.";
+                value->setValue(0.0);
+                std::stringstream ss;
+                ss << "Global parameter '" << param->getId() << "' missing value and missing init assignment and assignment rule!";
+                rr::UninitializedValue(ss.str());
+            }
+            else
+            {
+                Log(Logger::LOG_INFORMATION) << "parameter " << param->getId()
+                        << " missing value, but has init rule or rule, setting "
+                        " value to " << param->getValue();
+                value->setValue(param->getValue());
+            }
+        }
+
+        initialValues.globalParameters[param->getId()] = value;
+    }
+
+
+
+    // initial assignments override initial values.
+    model->getListOfInitialAssignments()->accept(*this);
+
+    // assignment override initial assignment rules at run time.
+    model->getListOfRules()->accept(*this);
+}
+
+LLVMModelSymbols::~LLVMModelSymbols()
+{
+}
+
+bool LLVMModelSymbols::visit(const libsbml::Compartment& x)
+{
+    ASTNode *node = nodes.create(AST_REAL);
+    if (x.isSetVolume())
+    {
+        node->setValue(x.getVolume());
+    } else
+    {
+        string compid = x.getId();
+        const Model* model = x.getSBMLDocument()->getModel();
+        if (model->getInitialAssignment(compid) == NULL &&
+            model->getAssignmentRule(compid) == NULL &&
+            x.getSpatialDimensions() != 0) {
+            Log(Logger::LOG_WARNING) << "volume not set for compartment '"
+              << compid << "'.  Defaulting to 1.0";
+        }
+        //We still need to set up a fake initial value if we need one, even though it'll be overwritten or is unneeded.
+        node->setValue(1.0);
+    }
+    initialValues.compartments[x.getId()] = node;
+    return true;
+}
+
+bool LLVMModelSymbols::visit(const libsbml::Species& x)
+{
+    processSpecies(initialValues, &x, 0);
+    return true;
+}
+
+bool LLVMModelSymbols::visit(const libsbml::AssignmentRule& x)
+{
+    Log(Logger::LOG_TRACE) << "processing AssignmentRule, id: " << x.getId();
+    SBase *element = const_cast<Model*>(model)->getElementBySId(x.getVariable());
+
+    if (element)
+    {
+        processElement(assigmentRules, element, x.getMath());
+    }
+    else
+    {
+        Log(Logger::LOG_ERROR) << "Could not get elment for assignment rule \""
+                << const_cast<libsbml::AssignmentRule&>(x).toSBML()
+                << "\", it will be ignored";
+    }
+
+    return true;
+}
+
+bool LLVMModelSymbols::visit(const libsbml::InitialAssignment& x)
+{
+    Log(Logger::LOG_TRACE) << "processing InitialAssignment, id: " +  x.getId();
+    SBase *element = const_cast<Model*>(model)->getElementBySId(x.getSymbol());
+    processElement(initialValues, element, x.getMath());
+    processElement(initialAssignmentRules, element, x.getMath());
+    return true;
+}
+
+bool LLVMModelSymbols::visit(const libsbml::RateRule& rule)
+{
+    Log(Logger::LOG_TRACE) << "processing RateRule, id: " +  rule.getId();
+    SBase *element = const_cast<Model*>(model)->getElementBySId(rule.getVariable());
+    processElement(rateRules, element, rule.getMath());
+    return true;
+}
+
+bool LLVMModelSymbols::visit (const libsbml::Event &event)
+{
+    return true;
+}
+
+void LLVMModelSymbols::processElement(SymbolForest& currentSymbols,
+        const libsbml::SBase *element, const ASTNode* math)
+{
+    const Compartment *comp = 0;
+    const Parameter *param = 0;
+    const Species *species = 0;
+    const SpeciesReference *reference = 0;
+
+    if (!element)
+        throw LLVMException("LLVMModelSymbols: Unable to process element");
+
+    if ((comp = dynamic_cast<const Compartment*>(element)))
+    {
+        currentSymbols.compartments[comp->getId()] = math;
+    }
+    else if ((param = dynamic_cast<const Parameter*>(element)))
+    {
+        currentSymbols.globalParameters[param->getId()] = math;
+    }
+    else if ((species = dynamic_cast<const Species*>(element)))
+    {
+        processSpecies(currentSymbols, species, math);
+    }
+    else if ((reference = dynamic_cast<const SpeciesReference*>(element)))
+    {
+        currentSymbols.speciesReferences[reference->getId()] = math;
+    }
+    else
+    {
+        char* sbml = const_cast<SBase*>(element)->toSBML();
+        Log(Logger::LOG_WARNING) << "Unknown element whilst processing symbols: "
+                << sbml;
+        free(sbml);
+    }
+}
+
+bool LLVMModelSymbols::visit(const libsbml::Rule& x)
+{
+    Log(Logger::LOG_TRACE) << "Rule, id: " << x.getId();
+    return true;
+}
+
+bool LLVMModelSymbols::visit(const libsbml::Reaction& r)
+{
+    const ListOfSpeciesReferences *reactants = r.getListOfReactants();
+    const ListOfSpeciesReferences *products = r.getListOfProducts();
+
+    ReactionSymbols &rs = reactions[symbols.getReactionIndex(r.getId())];
+
+    for (int i = 0; i < reactants->size(); i++)
+    {
+        const SpeciesReference* reactant =
+                dynamic_cast<const SpeciesReference*>(reactants->get(i));
+        try
+        {
+
+            ASTNodeList &speciesNodes =
+                    rs.reactants[symbols.getFloatingSpeciesIndex(reactant->getSpecies())];
+
+            const ASTNode *stoich = getSpeciesReferenceStoichMath(reactant);
+
+            if(reactant->isSetId() && reactant->getId().size())
+            {
+                initialValues.speciesReferences[reactant->getId()] = stoich;
+                ASTNode *refName = nodes.create(AST_NAME);
+                refName->setName(reactant->getId().c_str());
+                speciesNodes.push_back(refName);
+            }
+            else
+            {
+                speciesNodes.push_back(stoich);
+            }
+        }
+        catch (LLVMException&)
+        {
+            // we get here if the getFloatingSpeciesIndex throws an exception, that's OK
+            // because the species is most likely a boundary species, which is OK
+            // to be used as a reactant (it just won't get consumed like a floating species).
+            // TODO this is normal, should not throw an exception!
+        }
+    }
+
+    for (int i = 0; i < products->size(); i++)
+    {
+        const SpeciesReference* product =
+                dynamic_cast<const SpeciesReference*>(products->get(i));
+        try
+        {
+            ASTNodeList &speciesNodes =
+                    rs.products[symbols.getFloatingSpeciesIndex(product->getSpecies())];
+
+            const ASTNode *stoich = getSpeciesReferenceStoichMath(product);
+
+            if(product->isSetId() && product->getId().size())
+            {
+                initialValues.speciesReferences[product->getId()] = stoich;
+                ASTNode *refName = nodes.create(AST_NAME);
+                refName->setName(product->getId().c_str());
+                speciesNodes.push_back(refName);
+            }
+            else
+            {
+                speciesNodes.push_back(stoich);
+            }
+        }
+        catch (LLVMException&)
+        {
+            // get here if product is not a floating species, its OK if its a
+            // boundary or conserved moiety
+        }
+    }
+
+    /*
+     const ListOf *list = dynamic_cast<const ListOf *>(sr.getParentSBMLObject());
+     const Reaction *r = dynamic_cast<const Reaction*>(list->getParentSBMLObject());
+
+     string speciesId = sr.getSpecies();
+     string reactionId = r->getId();
+
+     cout << "species: " << sr.getSpecies() << "\n";
+     cout << "reaction: " << r->getId() << "\n";
+     cout << "sr.isSetStoichiometry(): " << sr.isSetStoichiometry() << "\n";
+     cout << "sr.isSetStoichiometryMath(): " << sr.isSetStoichiometryMath() << "\n";
+     cout << "stoichiometry: " << sr.getStoichiometry() << "\n";
+     */
+
+    return true;
+}
+
+
+
+void LLVMModelSymbols::processSpecies(SymbolForest &currentSymbols,
+        const libsbml::Species *species, const ASTNode* math)
+{
+    // ASTNode takes ownership of children, so only allocate the ones that
+    // are NOT given to an ASTNode addChild.
+    Log(Logger::LOG_TRACE) << "processing species " << species->getId() << endl;
+
+    if (!math)
+    {
+        if (species->getHasOnlySubstanceUnits())
+        {
+            // value should be an amount
+            if (species->isSetInitialConcentration())
+            {
+                // need to convert conc to amount,
+                // these two nodes are owned by the parent
+                ASTNode *conc = new ASTNode(AST_REAL);
+                conc->setValue(species->getInitialConcentration());
+                ASTNode *comp = new ASTNode(AST_NAME);
+                comp->setName(species->getCompartment().c_str());
+
+                ASTNode *amt = nodes.create(AST_TIMES);
+                amt->addChild(conc);
+                amt->addChild(comp);
+                math = amt;
+            }
+            else if (species->isSetInitialAmount())
+            {
+                // we got an amount, all good
+                ASTNode *amt = nodes.create(AST_REAL);
+                amt->setValue(species->getInitialAmount());
+                math = amt;
+            }
+            else
+            {
+                string spid = species->getId();
+                const Model* model = species->getSBMLDocument()->getModel();
+                if (model->getInitialAssignment(spid) == NULL &&
+                        model->getAssignmentRule(spid) == NULL)
+                {
+                    Log(Logger::LOG_WARNING) << "species '" << spid
+                            << "' has neither initial amount nor concentration set. "
+                            << " Setting initial amount to 0.0";
+                }
+                // We still need to set up a fake initial value if we need one,
+                // even though it'll be overwritten:
+                ASTNode *amt = nodes.create(AST_REAL);
+                amt->setValue(0.0);
+                math = amt;
+            }
+        }
+        else
+        {
+            // value should be a concentration
+            if (species->isSetInitialConcentration())
+            {
+                // we got an conc, all good
+                ASTNode *conc = nodes.create(AST_REAL);
+                conc->setValue(species->getInitialConcentration());
+                math = conc;
+            }
+            else if (species->isSetInitialAmount())
+            {
+                // need to convert amt to concentraion,
+                // these two nodes are owned by the parent
+                ASTNode *amt = new ASTNode(AST_REAL);
+                amt->setValue(species->getInitialAmount());
+                ASTNode *comp = new ASTNode(AST_NAME);
+                comp->setName(species->getCompartment().c_str());
+
+                ASTNode *conc = nodes.create(AST_DIVIDE);
+                conc->addChild(amt);
+                conc->addChild(comp);
+                math = conc;
+            }
+            else
+            {
+                string spid = species->getId();
+                const Model* model = species->getSBMLDocument()->getModel();
+                if (model->getInitialAssignment(spid) == NULL &&
+                        model->getAssignmentRule(spid) == NULL)
+                {
+                    Log(Logger::LOG_WARNING) << "species '" << spid
+                            << "' has neither initial amount nor concentration set. "
+                            << " Setting initial concentration to 0.0";
+                }
+                //We still need to set up a fake initial value if we need one, even though it'll be overwritten:
+                ASTNode *conc = nodes.create(AST_REAL);
+                conc->setValue(0.0);
+                math = conc;
+            }
+        }
+    }
+
+    assert(math);
+
+    if (species->getBoundaryCondition())
+    {
+        currentSymbols.boundarySpecies[species->getId()] = math;
+    }
+    else
+    {
+        currentSymbols.floatingSpecies[species->getId()] = math;
+    }
+}
+
+const ASTNode* LLVMModelSymbols::getSpeciesReferenceStoichMath(
+        const libsbml::SpeciesReference* reference)
+{
+    const ASTNode *stoich = 0;
+    if (reference->isSetStoichiometryMath()
+            && reference->getStoichiometryMath()->isSetMath())
+    {
+        stoich = reference->getStoichiometryMath()->getMath();
+    }
+    else
+    {
+        ASTNode *m = nodes.create(AST_REAL);
+        m->setValue(reference->getStoichiometry());
+        stoich = m;
+    }
+    return stoich;
+}
+
+/*
+void LLVMModelSymbols::processSpeciesReference(
+        const libsbml::SpeciesReference* ref, const libsbml::Reaction* reaction,
+        SpeciesReferenceType type, const ASTNode* stoich)
+{
+    // we might not have a floating species for this reference,
+    // that should probably be an error, but there are many
+    // cases in the test suite that have this, so just ignore
+    // the ref in such cases.
+    try
+    {
+        if (stoich == 0)
+        {
+            if (ref->isSetStoichiometryMath()
+                    && ref->getStoichiometryMath()->isSetMath())
+            {
+                stoich = ref->getStoichiometryMath()->getMath();
+            }
+            else
+            {
+                ASTNode *m = nodes.create(AST_REAL);
+                m->setValue(ref->getStoichiometry());
+                stoich = m;
+            }
+        }
+
+        if (ref->isSetId() && ref->getId().length() > 0)
+        {
+            currentSymbols->speciesReferences[ref->getId()] = stoich;
+        }
+
+        int rowIdx = symbols.getFloatingSpeciesIndex(ref->getSpecies());
+        int colIdx = symbols.getReactionIndex(reaction->getId());
+
+        ReactionSymbols &reacSym = reactions[colIdx];
+
+        // check if we already have a species ref with this id, if so
+        // replace it, if not, add it
+
+        if (type == Reactant)
+        {
+            StringIntMap::iterator i;
+            if (ref->isSetId() &&
+                    (i = reacSym.reactantRefIds.find(ref->getId())) !=
+                            reacSym.reactantRefIds.end())
+            {
+                reacSym.nodes[i->second] = stoich;
+            }
+            else
+            {
+                reacSym.nodes.push_back(stoich);
+                int stoichIdx = reacSym.nodes.size()-1; // index of new node
+                reacSym.reactantIdx[rowIdx].push_back(stoichIdx);
+                if (ref->isSetId())
+                {
+                    reacSym.reactantRefIds[ref->getId()] = stoichIdx;
+                }
+            }
+        }
+        else
+        {
+            StringIntMap::iterator i;
+            if (ref->isSetId() &&
+                    (i = reacSym.productRefIds.find(ref->getId())) !=
+                            reacSym.productRefIds.end())
+            {
+                reacSym.nodes[i->second] = stoich;
+            }
+            else
+            {
+                reacSym.nodes.push_back(stoich);
+                int stoichIdx = reacSym.nodes.size()-1; // index of new node
+                reacSym.productIdx[rowIdx].push_back(stoichIdx);
+                if (ref->isSetId())
+                {
+                    reacSym.productRefIds[ref->getId()] = stoichIdx;
+                }
+            }
+        }
+    }
+    catch (LLVMException &)
+    {
+        string err = "could not find product ";
+        err += ref->getSpecies();
+        err += " in the list of floating species for reaction ";
+        err += ref->getId();
+        err += ", this species will be ignored in this reaction.";
+        Log(lWarning) << err;
+    }
+}
+*/
+
+
+
+ASTNode* LLVMModelSymbols::createStoichiometryNode(int row, int col) const
+{
+    // col is species id, row is reaction.
+    ReactionSymbols const &r = reactions[col];
+    ASTNodeList productList;
+    ASTNodeList reactantList;
+
+    IntASTNodeListMap::const_iterator pi = r.products.find(row);
+    if (pi != r.products.end())
+    {
+        productList = pi->second;
+    }
+
+    IntASTNodeListMap::const_iterator ri = r.reactants.find(row);
+    if (ri != r.reactants.end())
+    {
+        reactantList = ri->second;
+    }
+
+    if (productList.size() == 0 && reactantList.size() == 0)
+    {
+        string err = "species " + symbols.getFloatingSpeciesIds()[row] +
+                " has neither products nor reactants in reaction " +
+                symbols.getReactionIds()[col];
+        throw LLVMException(err, __FUNC__);
+    }
+
+    // we keep track of the top level node, it takes ownership
+    // of all child nodes.
+    // should be exception free here on.
+    ASTNode *result = new ASTNode(AST_PLUS);
+    ASTNode *reactants = 0;
+    ASTNode *products = 0;
+
+    Log(Logger::LOG_TRACE) << "\t{" + rr::toString((int)row) + ", " + rr::toString((int)col) +
+            "}, #reactants: " + rr::toString((int)reactantList.size()) + " #products: " +
+            rr::toString((int)productList.size());
+
+    if (reactantList.size())
+    {
+        // list is nearly always length 1, so don't waste
+        // time making a plus out of it...
+        if (reactantList.size() == 1)
+        {
+            reactants = new ASTNode(*reactantList.front());
+        }
+        else
+        {
+            reactants = new ASTNode(AST_PLUS);
+            for (ASTNodeList::const_iterator i = reactantList.begin();
+                    i != reactantList.end(); i++)
+            {
+                const ASTNode *reactant = *i;
+                reactants->addChild(new ASTNode(*reactant));
+            }
+        }
+
+        ASTNode *negOne = new ASTNode(AST_REAL);
+        negOne->setValue(-1.);
+
+        ASTNode *times = new ASTNode(AST_TIMES);
+        times->addChild(negOne);
+        times->addChild(reactants);
+
+        reactants = times;
+    }
+    else
+    {
+        reactants = new ASTNode(AST_REAL);
+        reactants->setValue(0.);
+    }
+
+    if (productList.size())
+    {
+        if (productList.size() == 1)
+        {
+            products = new ASTNode(*productList.front());
+        }
+        else
+        {
+            products = new ASTNode(AST_PLUS);
+            for (ASTNodeList::const_iterator i = productList.begin();
+                    i != productList.end(); i++)
+            {
+                const ASTNode *product = *i;
+                products->addChild(new ASTNode(*product));
+            }
+        }
+    }
+    else
+    {
+        products = new ASTNode(AST_REAL);
+        products->setValue(0.);
+    }
+
+    result->addChild(reactants);
+    result->addChild(products);
+
+    return result;
+}
+
+const SymbolForest& LLVMModelSymbols::getAssigmentRules() const
+{
+    return assigmentRules;
+}
+
+const SymbolForest& LLVMModelSymbols::getInitialValues() const
+{
+    return initialValues;
+}
+
+const SymbolForest& LLVMModelSymbols::getRateRules() const
+{
+    return rateRules;
+}
+
+const SymbolForest& LLVMModelSymbols::getInitialAssignmentRules() const
+{
+    return initialAssignmentRules;
+}
+
+
+
+} /* namespace rr */
+
+
diff --git a/source/llvm/LLVMModelSymbols.h b/source/llvm/LLVMModelSymbols.h
new file mode 100644
index 0000000..da115a9
--- /dev/null
+++ b/source/llvm/LLVMModelSymbols.h
@@ -0,0 +1,257 @@
+/*
+ * LLVMModelSymbols.h
+ *
+ *  Created on: Jul 16, 2013
+ *      Author: andy
+ */
+
+#ifndef LLVMLLVMModelSymbolsH
+#define LLVMLLVMModelSymbolsH
+
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include <sbml/Model.h>
+#include <sbml/SBMLVisitor.h>
+
+namespace rrllvm
+{
+
+/**
+ * Hold all the un-evaluated symbolic inforamtion in the model.
+ *
+ * TODO: some real docs...
+ */
+class LLVMModelSymbols: private libsbml::SBMLVisitor
+{
+    using libsbml::SBMLVisitor::visit;
+
+public:
+    LLVMModelSymbols(libsbml::Model const *m, LLVMModelDataSymbols const &sym);
+
+    ~LLVMModelSymbols();
+
+    /**
+     * create an ASTNode for the species id / reaction id pair.
+     *
+     * This assembles the mess of items stored in the reactions array.
+     */
+    libsbml::ASTNode *createStoichiometryNode(int row, int col) const;
+
+    /**
+     * assignment rules are always active
+     */
+    const SymbolForest& getAssigmentRules() const;
+
+    /**
+     * only valid before the model is started.
+     *
+     * There cannot be both an InitialAssignment and an AssignmentRule for the
+     * same symbol in a model, because both kinds of constructs apply prior to
+     * and at the start of simulated time�allowing both to exist for a given
+     * symbol would result in indeterminism.
+     *
+     *
+     * \conservation: In the case of conserved moieties, these are species that
+     * are defined by assignment rules, they however can have initial values
+     * defined by initial value or assignment rules.
+     *
+     * So, at run time, the assignment rule is active, however before run time,
+     * the initial value or initial assignment rule is active.
+     */
+    const SymbolForest& getInitialAssignmentRules() const;
+
+    /**
+     * contains the intial symbols along with the intial assignments which
+     * override the initial values.
+     */
+    const SymbolForest& getInitialValues() const;
+
+    const SymbolForest& getRateRules() const;
+
+protected:
+
+    enum SpeciesReferenceType {
+        Reactant, Product
+    };
+
+    virtual bool visit(const libsbml::Compartment &x);
+    virtual bool visit(const libsbml::Species &x);
+    virtual bool visit(const libsbml::AssignmentRule  &x);
+
+    /**
+     * InitialAssignments override the initial value specified in the element
+     * definition.
+     *
+     * The actions of all InitialAssignment objects are in general terms the same,
+     * but differ in the precise details depending on the type of variable being set:
+     *
+     * * In the case of a species, an InitialAssignment sets the referenced species
+     * initial quantity (concentration or amount) to the value determined by the
+     * formula in math. The unit associated with the value produced by the math
+     * formula should be equal to the unit associated with the species quantity.
+     *
+     * * In the case of a species reference, an InitialAssignment sets the initial
+     * stoichiometry of the reactant or product referenced by the SpeciesReference
+     * object to the value determined by the formula in math. The unit associated
+     * with the value produced by the math formula should be consistent with the
+     * unit dimensionless, because reactant and product stoichiometries in reactions
+     * are dimensionless quantities.
+     *
+     * * In the case of a compartment, an InitialAssignment sets the referenced
+     * compartment's initial size to the size determined by the formula in math.
+     * The unit associated with the value produced by the math formula should be
+     * the same as that specified for the compartment's size.
+     *
+     * * In the case of a parameter, an InitialAssignment sets the parameter's
+     * initial value to the value of the formula in math. The unit associated
+     * with the value produced by the math formula should be the same as parameter's
+     * units attribute value.
+     */
+    virtual bool visit(const libsbml::InitialAssignment &x);
+
+    /**
+     * * In the case of a species, a RateRule sets the rate of change of the
+     * species� quantity (concentration or amount) to the value determined
+     * by the formula in math. The unit associated with the rule�s math
+     * element should be equal to the unit of the species� quantity
+     * (Section 4.6.5) divided by the model-wide unit of time (Section 4.2.4),
+     * or in other words, {unit of species quantity}/{unit of time}.
+     *
+     * * Restrictions: There must not be both a RateRule variable attribute
+     * and a SpeciesReference species attribute having the same value, unless
+     *  that species has its boundaryCondition attribute is set to �true�. This
+     * means a rate rule cannot be defined for a species that is created or
+     * destroyed in a reaction, unless that species is defined as a boundary
+     * condition in the model.
+     *
+     * * In the case of a species reference, a RateRule sets the rate of change
+     * of the stoichiometry of the referenced reactant or product to the value
+     * determined by the formula in math. The unit associated with the value
+     * produced by the formula should be consistent with {unit derived from
+     * dimensionless}/{unit of time}.
+     *
+     * * In the case of a compartment, a RateRule sets the rate of change of
+     * the compartment�s size to the value determined by the formula in math.
+     * The unit of the rule�s math element should be identical to the compartment�s
+     * units attribute divided by the model-wide unit of time. (In other words,
+     * {unit of compartment size}/{unit of time}.)
+     *
+     * * In the case of a parameter, a RateRule sets the rate of change of the
+     * parameter�s value to that determined by the formula in math. The unit
+     * associated with the rule�s math element should be equal to the parameter�s
+     * units attribute value divided by the model-wide unit of time. (In other
+     * words, {parameter units}/{unit of time}.)
+     */
+    virtual bool visit(const libsbml::RateRule &rule);
+
+    /**
+     * visit the reactions so we can get all the SpeciesReferences and stuff
+     * them in the initialConditions map.
+     */
+    virtual bool visit(const libsbml::Reaction  &x);
+
+    /**
+     * tell the acceptor to process all rules, even the ones
+     * we don't handle so the iteration continues over all rules.
+     *
+     * The left-hand side (the variable attribute) of an assignment rule can
+     * refer to the identifier of a Species, SpeciesReference, Compartment,
+     * or global Parameter object in the model (but not a reaction)
+     */
+    virtual bool visit(const libsbml::Rule &x);
+
+    /**
+     * fatal error if we find these, event not supported yet
+     */
+    virtual bool visit (const libsbml::Event &event);
+
+    /**
+     * The only differences in how initialAssigments and assignmentRules
+     * are handled is whether they are stuffed in the initialAssigment
+     * or assigmentRules maps.
+     *
+     * This figures out what they refer to, and stuffs the AST in the
+     * appropriate map.
+     */
+    void processElement(SymbolForest &currentSymbols,
+            const libsbml::SBase *element, const libsbml::ASTNode *math);
+
+    /**
+     * specialized logic to write both amounts and concentrations here.
+     */
+    void processSpecies(SymbolForest &currentSymbols,
+            const libsbml::Species *element, const libsbml::ASTNode *math);
+
+    /**
+     * get the MathML element for a SpeciesReference if it is set, otherwise,
+     * create a ASTNode from its stoichiometry field.
+     */
+    const libsbml::ASTNode *getSpeciesReferenceStoichMath(const libsbml::SpeciesReference *reference);
+
+    SymbolForest initialValues;
+
+    SymbolForest assigmentRules;
+
+    SymbolForest initialAssignmentRules;
+
+    SymbolForest rateRules;
+
+    /**
+     * all ASTNodes we create are stored here.
+     */
+    ASTNodeFactory nodes;
+
+    /**
+     * a species can appear more than once in a reaction, there can be
+     * several stoichiometries for a species both as a product and as
+     * a reactant, for example, we could have
+     *
+     * A + 2A + B -> A + C
+     *
+     * In this case, we calculate the stochiometry for each species as
+     * S(A) = -1 -2 + 1 = -1
+     * S(B) = -1 + 0 = -1
+     * S(C) = 0 + 1 = 1
+     *
+     * Stochiometries can however change, so we have to delay evaluation
+     * of them -- if we have a named species reference, we add an ASTNode
+     * with a reference to it: this way, when it get evaluated, we can look
+     * up to see if we have any assigment rules or intitial assigments
+     * overriding the original value.
+     */
+
+    /**
+     * each species has a list of stoichiometry nodes, this way it can appear
+     * more than once.
+     */
+    typedef std::list<const libsbml::ASTNode*> ASTNodeList;
+
+    /**
+     * we reference the reactants and products by the species index
+     */
+    typedef std::map<int, ASTNodeList> IntASTNodeListMap;
+
+    /**
+     * hold the symbols that belong to a reactions.
+     */
+    struct ReactionSymbols {
+        IntASTNodeListMap reactants;
+        IntASTNodeListMap products;
+    };
+
+    /**
+     * these are indexed by reaction index.
+     *
+     * the stoichiometry matrix is a N species x N reaction matrix.
+     */
+    std::vector<ReactionSymbols> reactions;
+
+private:
+    libsbml::Model const
+    *model;
+    const LLVMModelDataSymbols &symbols;
+};
+
+} /* namespace rr */
+#endif /* LLVMLLVMModelSymbolsH */
diff --git a/source/llvm/LoadSymbolResolverBase.cpp b/source/llvm/LoadSymbolResolverBase.cpp
new file mode 100644
index 0000000..082a71d
--- /dev/null
+++ b/source/llvm/LoadSymbolResolverBase.cpp
@@ -0,0 +1,141 @@
+/*
+ * LoadSymbolResolverBase.cpp
+ *
+ *  Created on: May 15, 2014
+ *      Author: andy
+ */
+#include "LoadSymbolResolverBase.h"
+
+#include "KineticLawParameterResolver.h"
+#include "ASTNodeCodeGen.h"
+#include "LLVMException.h"
+#include "rrLogger.h"
+#include <sbml/Model.h>
+
+using namespace std;
+using namespace libsbml;
+using namespace llvm;
+
+using rr::Logger;
+
+
+namespace rrllvm
+{
+
+LoadSymbolResolverBase::LoadSymbolResolverBase(
+        const ModelGeneratorContext& ctx) :
+        modelGenContext(ctx),
+        model(ctx.getModel()),
+        modelSymbols(ctx.getModelSymbols()),
+        modelDataSymbols(ctx.getModelDataSymbols()),
+        builder(ctx.getBuilder())
+{
+    // start with a single empty cache block
+    symbolCache.push_back(ValueMap());
+}
+
+
+llvm::Value* LoadSymbolResolverBase::loadReactionRate(
+        const libsbml::Reaction* reaction)
+{
+    const KineticLaw *kinetic = reaction->getKineticLaw();
+    const ASTNode *math = 0;
+    Value *value = 0;
+    ASTNode m(AST_REAL);
+    if (kinetic)
+    {
+        math = kinetic->getMath();
+    }
+    else
+    {
+        Log(Logger::LOG_WARNING) << "Reaction " + reaction->getId() + " has no KineticLaw, it will be set to zero";
+        m.setValue(0);
+        math = &m;
+    }
+
+    KineticLawParameterResolver lpResolver(*this, *kinetic, builder);
+    ASTNodeCodeGen astCodeGen(builder, lpResolver);
+
+    ASTNodeCodeGenScalarTicket t(astCodeGen, true);
+    return astCodeGen.codeGen(math);
+}
+
+void LoadSymbolResolverBase::recursiveSymbolPush(const std::string& symbol)
+{
+    StringStack::const_iterator prevSymbol =
+                std::find(symbolStack.begin(), symbolStack.end(), symbol);
+        if (prevSymbol != symbolStack.end())
+        {
+            std::string msg =
+                "recursive assignment rule or function detected, the symbol \'";
+            msg += symbol;
+            msg += "\' is a parent of itself";
+            Log(rr::Logger::LOG_ERROR) << msg;
+            throw LLVMException(msg, __FUNC__);
+        }
+        symbolStack.push_back(symbol);
+}
+
+void LoadSymbolResolverBase::recursiveSymbolPop()
+{
+    assert(symbolStack.size() > 0 && "attempt to pop emtpy symbol stack");
+    symbolStack.pop_back();
+}
+
+void LoadSymbolResolverBase::flushCache()
+{
+    symbolCache.clear();
+    symbolCache.push_back(ValueMap());
+}
+
+unsigned LoadSymbolResolverBase::pushCacheBlock()
+{
+    symbolCache.push_back(ValueMap());
+    return symbolCache.size();
+}
+
+unsigned LoadSymbolResolverBase::popCacheBlock()
+{
+    if(symbolCache.empty()) {
+        throw std::logic_error("attempt to pop from an empty symbol cache stack");
+    }
+    symbolCache.pop_back();
+    return symbolCache.size();
+}
+
+llvm::Value* LoadSymbolResolverBase::cacheValue(const std::string& symbol,
+        const llvm::ArrayRef<llvm::Value*>& args,
+        llvm::Value* value)
+{
+    if(args.size() || !modelGenContext.useSymbolCache()) {
+        return value;
+    }
+
+    assert(symbolCache.size() && "symbol cache stack empty");
+
+    if(value) {
+        ValueMap &values = symbolCache.back();
+        values[symbol] = value;
+        Log(Logger::LOG_DEBUG) << "caching value for " << symbol;
+        return value;
+    }
+
+    for(ValueMapStack::const_reverse_iterator i = symbolCache.rbegin();
+            i != symbolCache.rend(); ++i) {
+        const ValueMap &values = *i;
+        ValueMap::const_iterator j = values.find(symbol);
+        Value* result = j != values.end() ? j->second : NULL;
+
+        if(result) {
+            Log(Logger::LOG_DEBUG) <<  "found cached value for " << symbol;
+            return result;
+        }
+    }
+
+    Log(Logger::LOG_DEBUG) <<  "did not found cached value for " << symbol;
+    return NULL;
+}
+
+} /* namespace rrllvm */
+
+
diff --git a/source/llvm/LoadSymbolResolverBase.h b/source/llvm/LoadSymbolResolverBase.h
new file mode 100644
index 0000000..24f7bb4
--- /dev/null
+++ b/source/llvm/LoadSymbolResolverBase.h
@@ -0,0 +1,102 @@
+/*
+ * LoadSymbolResolverBase.h
+ *
+ *  Created on: May 15, 2014
+ *      Author: andy
+ */
+
+#ifndef LOADSYMBOLRESOLVERBASE_H_
+#define LOADSYMBOLRESOLVERBASE_H_
+
+#include "CodeGen.h"
+#include "LLVMIncludes.h"
+#include "LLVMModelDataSymbols.h"
+#include "LLVMModelSymbols.h"
+#include "ModelGeneratorContext.h"
+
+#include <rr_unordered_map>
+
+namespace libsbml
+{
+class Model;
+}
+
+namespace rrllvm
+{
+
+/**
+ * provide common sbml model functionality to three kinds of resolvers.
+ *
+ * This has common functionality such as dealing with sbml elements
+ * such as reactions, species and so forth.
+ */
+class LoadSymbolResolverBase: public LoadSymbolResolver
+{
+public:
+    /**
+     * shortcut to get a reaction rate, performance wise, quicker than
+     * going through all the loadSymbolValue types.
+     */
+    llvm::Value* loadReactionRate(const libsbml::Reaction*);
+
+    virtual void recursiveSymbolPush(const std::string& symbol);
+
+    virtual void recursiveSymbolPop();
+
+    /**
+     * Flush the symbol cache. This is required in branches and switch blocks as
+     * a symbol used in a previous block can not be re-used in the current block.
+     */
+    void flushCache();
+
+    /**
+     * nested conditionals (or functions?) can push a local cache block, where
+     * symbols would be chached. These need to be popped as these symbols are
+     * not valid outside of the local conditional or scope block.
+     */
+    virtual unsigned pushCacheBlock();
+
+    /**
+     * Pop a scoped cache block, this clears these values, and any subsequent reads
+     * re-evaluate the requested symbol.
+     *
+     * Will throw an exception if an empty stack pop is attempted.
+     */
+    virtual unsigned popCacheBlock();
+
+
+protected:
+    LoadSymbolResolverBase(const ModelGeneratorContext &ctx);
+
+    typedef std::list<std::string> StringStack;
+    typedef cxx11_ns::unordered_map<std::string, llvm::Value*> ValueMap;
+    typedef std::deque<ValueMap> ValueMapStack;
+
+    const ModelGeneratorContext &modelGenContext;
+    const libsbml::Model *model;
+    const LLVMModelDataSymbols &modelDataSymbols;
+    const LLVMModelSymbols &modelSymbols;
+    llvm::IRBuilder<> &builder;
+
+    // check for recursive symbol definitions in rule evaluations
+    StringStack symbolStack;
+
+    // cache symbols
+    ValueMapStack symbolCache;
+
+    /**
+     * check in the symbol cache if the symbol exists, if so return it.
+     *
+     * If the value is not NULL, it is cached and returned.
+     *
+     * Cached function args not currently supported (just return NULL).
+     */
+    llvm::Value* cacheValue(const std::string& symbol,
+            const llvm::ArrayRef<llvm::Value*>& args,
+            llvm::Value* value = NULL);
+};
+
+
+} /* namespace rrllvm */
+
+#endif /* LOADSYMBOLRESOLVERBASE_H_ */
diff --git a/source/llvm/ModelDataIRBuilder.cpp b/source/llvm/ModelDataIRBuilder.cpp
new file mode 100644
index 0000000..eb92e72
--- /dev/null
+++ b/source/llvm/ModelDataIRBuilder.cpp
@@ -0,0 +1,1280 @@
+/*
+ * ModelDataIRBuilder.cpp
+ *
+ *  Created on: Jun 28, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "ModelDataIRBuilder.h"
+#include "LLVMException.h"
+#include "rrOSSpecifics.h"
+
+#include <sbml/Model.h>
+#include <sbml/SBMLDocument.h>
+
+#include <string>
+#include <vector>
+#include <sstream>
+
+#include "llvm/ADT/APInt.h"
+
+
+using namespace libsbml;
+using namespace llvm;
+using namespace std;
+
+using rr::Logger;
+using rr::getLogger;
+using rr::csr_matrix;
+
+namespace rrllvm
+{
+
+const char* ModelDataIRBuilder::LLVMModelDataName = "rr_LLVMModelData";
+const char* ModelDataIRBuilder::csr_matrixName = "rr_csr_matrix";
+const char* ModelDataIRBuilder::csr_matrix_set_nzName = "rr_csr_matrix_set_nz";
+const char* ModelDataIRBuilder::csr_matrix_get_nzName = "rr_csr_matrix_get_nz";
+
+
+static bool isAliasOrPointer(ModelDataFields f)
+{
+    /* Model Data alias are between one of the following values */
+    /*
+    StateVector,                              // 13
+    StateVectorRate,                          // 14
+    RateRuleRates,                            // 15
+    FloatingSpeciesAmountRates,               // 16
+
+    CompartmentVolumesAlias,                  // 17
+    CompartmentVolumesInitAlias,              // 18
+    FloatingSpeciesAmountsInitAlias,          // 19
+    ConservedSpeciesAmountsInitAlias,         // 20
+    BoundarySpeciesAmountsAlias,              // 21
+    BoundarySpeciesAmountsInitAlias,          // 22
+    GlobalParametersAlias,                    // 23
+    GlobalParametersInitAlias,                // 24
+    ReactionRatesAlias,                       // 25
+
+    RateRuleValuesAlias,                      // 26
+    FloatingSpeciesAmountsAlias,              // 27
+     */
+    return f >= StateVector && f <= FloatingSpeciesAmountsAlias;
+}
+
+static bool isArray(ModelDataFields f)
+{
+    /* arrays are the last elements in the model data struct */
+    /*
+     CompartmentVolumes,                       // 28
+     CompartmentVolumesInit,                   // 29
+     FloatingSpeciesAmounts,                   // 30
+     FloatingSpeciesAmountsInit,               // 31
+     ConservedSpeciesAmountsInit,              // 32
+     BoundarySpeciesAmounts,                   // 33
+     BoundarySpeciesAmountsInit,               // 34
+     GlobalParameters,                         // 35
+     GlobalParametersInit,                     // 36
+     RateRuleValues,                           // 37
+     ReactionRates,                            // 38
+     */
+
+    return f >= CompartmentVolumes && f <= NotSafe_FloatingSpeciesAmounts;
+}
+
+
+ModelDataIRBuilder::ModelDataIRBuilder(Value *modelData,
+        const LLVMModelDataSymbols &symbols,
+        IRBuilder<> &b) :
+        modelData(modelData),
+        builder(b),
+        symbols(symbols)
+
+{
+    validateStruct(modelData, __FUNC__);
+}
+
+
+llvm::Value* ModelDataIRBuilder::createGlobalParamGEP(const std::string& id)
+{
+    uint index = symbols.getGlobalParameterIndex(id);
+    assert(index < symbols.getIndependentGlobalParameterSize());
+    return createGEP(GlobalParameters, index);
+}
+
+
+llvm::Value* ModelDataIRBuilder::createGEP(ModelDataFields field,
+        const Twine& name)
+{
+    const char* fieldName = LLVMModelDataSymbols::getFieldName(field);
+    return builder.CreateStructGEP(modelData, (unsigned)field, Twine(fieldName) + Twine("_gep"));
+}
+
+
+llvm::Value* ModelDataIRBuilder::createGEP(ModelDataFields field,
+        unsigned index, const Twine& name)
+{
+    if (isAliasOrPointer(field))
+    {
+        Twine fieldName = LLVMModelDataSymbols::getFieldName(field);
+        Value *fieldGEP = createGEP(field, fieldName + "_gep");
+        Value *load = builder.CreateLoad(fieldGEP, fieldName + "_load");
+        return builder.CreateConstGEP1_32(load, index, name + "_gep");
+    }
+    else
+    {
+        assert(isArray(field) && "field is not alias or pointer, so it must be an array type");
+
+        LLVMContext &context = builder.getContext();
+
+        Value *idxs[] = {
+            ConstantInt::get(Type::getInt32Ty(context), 0),
+            ConstantInt::get(Type::getInt32Ty(context), field),
+            ConstantInt::get(Type::getInt32Ty(context), index),
+        };
+
+        return builder.CreateInBoundsGEP(modelData, idxs, name + "_gep");
+    }
+}
+
+
+
+
+llvm::StructType* ModelDataIRBuilder::getCSRSparseStructType(
+        llvm::Module* module, llvm::ExecutionEngine* engine)
+{
+    StructType *structType = module->getTypeByName(csr_matrixName);
+
+    if (!structType)
+    {
+        LLVMContext &context = module->getContext();
+
+        vector<Type*> elements;
+
+        elements.push_back(Type::getInt32Ty(context));                        // int m;
+        elements.push_back(Type::getInt32Ty(context));                        // int n;
+        elements.push_back(Type::getInt32Ty(context));                        // int nnz;
+        elements.push_back(Type::getDoublePtrTy(context));                    // double* values;
+        elements.push_back(Type::getInt32PtrTy(context));                     // int* colidx;
+        elements.push_back(Type::getInt32PtrTy(context));                     // int* rowptr;
+
+        structType = StructType::create(context, elements, csr_matrixName);
+
+        if (engine)
+        {
+#if (LLVM_VERSION_MAJOR >= 3) && (LLVM_VERSION_MINOR >= 2)
+            const DataLayout *dl = engine->getDataLayout();
+            uint64_t llvm_size = dl->getTypeStoreSize(structType);
+#else
+            const TargetData* td = engine->getTargetData();
+            uint64_t llvm_size = td->getTypeStoreSize(structType);
+#endif
+
+            if (sizeof(csr_matrix) != llvm_size)
+            {
+                stringstream err;
+                err << "llvm " << csr_matrixName << " size " << llvm_size <<
+                        " does NOT match C++ sizeof(dcsr_matrix) " <<
+                        sizeof(csr_matrix);
+                throw LLVMException(err.str(), __FUNC__);
+            }
+        }
+    }
+    return structType;
+}
+
+llvm::Function* ModelDataIRBuilder::getCSRMatrixSetNZDecl(Module *module)
+{
+    Function *f = module->getFunction(
+            ModelDataIRBuilder::csr_matrix_set_nzName);
+
+    if (f == 0)
+    {
+        // bool csr_matrix_set_nz(csr_matrix *mat, int row, int col, double val);
+        Type *args[] = {
+                getCSRSparseStructType(module)->getPointerTo(),
+                Type::getInt32Ty(module->getContext()),
+                Type::getInt32Ty(module->getContext()),
+                Type::getDoubleTy(module->getContext())
+        };
+        FunctionType *funcType = FunctionType::get(
+                IntegerType::get(module->getContext(), sizeof(bool) * 8), args,
+                false);
+        f = Function::Create(funcType, Function::InternalLinkage,
+                ModelDataIRBuilder::csr_matrix_set_nzName, module);
+    }
+    return f;
+}
+
+llvm::Function* ModelDataIRBuilder::getCSRMatrixGetNZDecl(Module *module)
+{
+    Function *f = module->getFunction(
+            ModelDataIRBuilder::csr_matrix_get_nzName);
+
+    if (f == 0)
+    {
+        // double csr_matrix_get_nz(const csr_matrix* mat, int row, int col)
+        Type *args[] = {
+                getCSRSparseStructType(module)->getPointerTo(),
+                Type::getInt32Ty(module->getContext()),
+                Type::getInt32Ty(module->getContext())
+        };
+        FunctionType *funcType = FunctionType::get(
+                Type::getDoubleTy(module->getContext()), args, false);
+        f = Function::Create(funcType, Function::InternalLinkage,
+                ModelDataIRBuilder::csr_matrix_get_nzName, module);
+    }
+    return f;
+}
+
+llvm::CallInst* ModelDataIRBuilder::createCSRMatrixSetNZ(IRBuilder<> &builder,
+        llvm::Value* csrPtr, llvm::Value* row, llvm::Value* col,
+        llvm::Value* value, const Twine& name)
+{
+    Function *func = ModelDataIRBuilder::getCSRMatrixSetNZDecl(getModule(builder, __FUNC__));
+    Value *args[] = {csrPtr, row, col, value};
+    return builder.CreateCall(func, args, name);
+}
+
+llvm::Value* ModelDataIRBuilder::createFloatSpeciesAmtGEP(
+        const std::string& id, const Twine& name)
+{
+    uint index = symbols.getFloatingSpeciesIndex(id);
+    assert(index < symbols.getIndependentFloatingSpeciesSize());
+
+    return createGEP(FloatingSpeciesAmountsAlias, index,
+            name.isTriviallyEmpty() ? id : name);
+}
+
+llvm::Value* ModelDataIRBuilder::createFloatSpeciesAmtLoad(
+        const std::string& id, const llvm::Twine& name)
+{
+    Value *gep = createFloatSpeciesAmtGEP(id, name + "_gep");
+    return builder.CreateLoad(gep, name);
+}
+
+llvm::Value* ModelDataIRBuilder::createFloatSpeciesAmtStore(
+        const std::string& id, llvm::Value* value)
+{
+    Value *gep = createFloatSpeciesAmtGEP(id);
+    return builder.CreateStore(value, gep);
+}
+
+llvm::Value* ModelDataIRBuilder::createFloatSpeciesAmtRateGEP(
+        const std::string& id, const Twine& name)
+{
+    uint index = symbols.getFloatingSpeciesIndex(id);
+    assert(index < symbols.getIndependentFloatingSpeciesSize());
+    return createGEP(FloatingSpeciesAmountRates, index,
+            name.isTriviallyEmpty() ? id : name);
+}
+
+llvm::Value* ModelDataIRBuilder::createFloatSpeciesAmtRateLoad(
+        const std::string& id, const llvm::Twine& name)
+{
+    Value *gep = createFloatSpeciesAmtRateGEP(id, name + "_gep");
+    return builder.CreateLoad(gep, name);
+}
+
+llvm::Value* ModelDataIRBuilder::createFloatSpeciesAmtRateStore(
+        const std::string& id, llvm::Value* value)
+{
+    Value *gep = createFloatSpeciesAmtRateGEP(id);
+    return builder.CreateStore(value, gep);
+}
+
+llvm::Module* ModelDataIRBuilder::getModule(IRBuilder<> &builder, const char* func)
+{
+    BasicBlock *bb = 0;
+    if((bb = builder.GetInsertBlock()) != 0)
+    {
+        Function *function = bb->getParent();
+        if(function)
+        {
+            return function->getParent();
+        }
+    }
+    throw LLVMException("could not get module, a BasicBlock is not currently being populated.", func);
+}
+
+
+llvm::CallInst* ModelDataIRBuilder::createCSRMatrixGetNZ(IRBuilder<> &builder,
+        llvm::Value* csrPtr, llvm::Value* row, llvm::Value* col,
+        const Twine& name)
+{
+    Function *func = ModelDataIRBuilder::getCSRMatrixGetNZDecl(getModule(builder, __FUNC__));
+    Value *args[] = {csrPtr, row, col};
+    return builder.CreateCall(func, args, name);
+}
+
+
+llvm::Value* ModelDataIRBuilder::createLoad(ModelDataFields field, unsigned index, const llvm::Twine& name)
+{
+    Value *gep = this->createGEP(field, index, name);
+    return builder.CreateLoad(gep, name);
+}
+
+llvm::Value* ModelDataIRBuilder::createRateRuleValueGEP(const std::string& id,
+        const llvm::Twine& name)
+{
+    uint index = symbols.getRateRuleIndex(id);
+    assert(index < symbols.getRateRuleSize());
+    return createGEP(RateRuleValuesAlias, index,
+            name.isTriviallyEmpty() ? id : name);
+}
+
+llvm::Value* ModelDataIRBuilder::createRateRuleValueLoad(const std::string& id,
+        const llvm::Twine& name)
+{
+    Value *gep = createRateRuleValueGEP(id);
+    Twine loadName = (name.isTriviallyEmpty() ? id : name) + "_load";
+    return builder.CreateLoad(gep, loadName);
+}
+
+llvm::Value* ModelDataIRBuilder::createRateRuleValueStore(const std::string& id,
+        llvm::Value* value)
+{
+    Value *gep = createRateRuleValueGEP(id);
+    return builder.CreateStore(value, gep);
+}
+
+llvm::Value* ModelDataIRBuilder::createRateRuleRateGEP(const std::string& id,
+        const llvm::Twine& name)
+{
+    uint index = symbols.getRateRuleIndex(id);
+    assert(index < symbols.getRateRuleSize());
+    return createGEP(RateRuleRates, index,
+            name.isTriviallyEmpty() ? id + "_rate" : name);
+}
+
+llvm::Value* ModelDataIRBuilder::createRateRuleRateLoad(const std::string& id,
+        const llvm::Twine& name)
+{
+    Value *gep = createRateRuleRateGEP(id);
+    Twine loadName = (name.isTriviallyEmpty() ? id : name) + "_load";
+    return builder.CreateLoad(gep, loadName);
+}
+
+llvm::Value* ModelDataIRBuilder::createRateRuleRateStore(const std::string& id,
+        llvm::Value* value)
+{
+    Value *gep = createRateRuleRateGEP(id);
+    return builder.CreateStore(value, gep);
+}
+
+llvm::Value* ModelDataIRBuilder::createStore(ModelDataFields field,
+        unsigned index, llvm::Value* value, const Twine& name)
+{
+    Value *gep = this->createGEP(field, index, name);
+    return builder.CreateStore(value, gep);
+}
+
+llvm::Value* ModelDataIRBuilder::createCompLoad(const std::string& id,
+        const llvm::Twine& name)
+{
+    Value *gep = createCompGEP(id);
+    return builder.CreateLoad(gep, name.isTriviallyEmpty() ? id : name);
+}
+
+llvm::Value* ModelDataIRBuilder::createCompStore(const std::string& id,
+        llvm::Value* value)
+{
+    Value *gep = createCompGEP(id);
+    return builder.CreateStore(value, gep);
+}
+
+llvm::Value* ModelDataIRBuilder::createCompGEP(const std::string& id)
+{
+    uint index = symbols.getCompartmentIndex(id);
+    assert(index < symbols.getIndependentCompartmentSize());
+    return createGEP(CompartmentVolumes, index, id);
+}
+
+llvm::Value* ModelDataIRBuilder::createBoundSpeciesAmtLoad(
+        const std::string& id, const llvm::Twine& name)
+{
+    Value *gep = createBoundSpeciesAmtGEP(id, name + "_gep");
+    return builder.CreateLoad(gep, name);
+}
+
+llvm::Value* ModelDataIRBuilder::createBoundSpeciesAmtStore(
+        const std::string& id, llvm::Value* value)
+{
+    Value *gep = createBoundSpeciesAmtGEP(id);
+    return builder.CreateStore(value, gep);
+}
+
+llvm::Value* ModelDataIRBuilder::createBoundSpeciesAmtGEP(
+        const std::string& id, const llvm::Twine& name)
+{
+    uint index = symbols.getBoundarySpeciesIndex(id);
+    assert(index < symbols.getIndependentBoundarySpeciesSize());
+    return createGEP(BoundarySpeciesAmounts, index, name);
+}
+
+llvm::Value* ModelDataIRBuilder::createGlobalParamLoad(
+        const std::string& id, const llvm::Twine& name)
+{
+    int idx = symbols.getGlobalParameterIndex(id);
+    return createLoad(GlobalParameters, idx,
+            name.isTriviallyEmpty() ? id : name);
+}
+
+llvm::Value* ModelDataIRBuilder::createGlobalParamStore(
+        const std::string& id, llvm::Value* value)
+{
+    int idx = symbols.getGlobalParameterIndex(id);
+    return createStore(GlobalParameters, idx, value, id);
+}
+
+llvm::Value* ModelDataIRBuilder::createInitFloatSpeciesAmtGEP(
+        const std::string& id, const llvm::Twine& name)
+{
+    uint index = symbols.getFloatingSpeciesInitIndex(id);
+    assert(index < symbols.getInitFloatingSpeciesSize());
+    return createGEP(InitFloatingSpeciesAmounts, index,
+            name.isTriviallyEmpty() ? id : name);
+}
+
+llvm::Value* ModelDataIRBuilder::createInitFloatSpeciesAmtLoad(
+        const std::string& id, const llvm::Twine& name)
+{
+    Value *gep = createInitFloatSpeciesAmtGEP(id);
+    return builder.CreateLoad(gep, name);
+}
+
+llvm::Value* ModelDataIRBuilder::createInitFloatSpeciesAmtStore(
+        const std::string& id, llvm::Value* value)
+{
+    Value *gep = createInitFloatSpeciesAmtGEP(id);
+    return builder.CreateStore(value, gep);
+}
+
+llvm::Value* ModelDataIRBuilder::createInitCompGEP(const std::string& id,
+        const llvm::Twine& name)
+{
+    uint index = symbols.getCompartmentInitIndex(id);
+    assert(index < symbols.getInitCompartmentSize());
+    return createGEP(InitCompartmentVolumes, index,
+            name.isTriviallyEmpty() ? id : name);
+}
+
+llvm::Value* ModelDataIRBuilder::createInitCompLoad(const std::string& id,
+        const llvm::Twine& name)
+{
+    Value *gep = createInitCompGEP(id, name);
+    return builder.CreateLoad(gep, name);
+}
+
+llvm::Value* ModelDataIRBuilder::createInitCompStore(const std::string& id,
+        llvm::Value* value)
+{
+    Value *gep = createInitCompGEP(id);
+    return builder.CreateStore(value, gep);
+}
+
+llvm::Value* ModelDataIRBuilder::createInitGlobalParamGEP(const std::string& id,
+        const llvm::Twine& name)
+{
+    uint index = symbols.getGlobalParameterInitIndex(id);
+        assert(index < symbols.getInitGlobalParameterSize());
+        return createGEP(InitGlobalParameters, index,
+                name.isTriviallyEmpty() ? id : name);
+}
+
+llvm::Value* ModelDataIRBuilder::createInitGlobalParamLoad(
+        const std::string& id, const llvm::Twine& name)
+{
+    Value *gep = createInitGlobalParamGEP(id, name);
+    return builder.CreateLoad(gep, name);
+}
+
+llvm::Value* ModelDataIRBuilder::createInitGlobalParamStore(
+        const std::string& id, llvm::Value* value)
+{
+    Value *gep = createInitGlobalParamGEP(id);
+    return builder.CreateStore(value, gep);
+}
+
+llvm::Value* ModelDataIRBuilder::createReactionRateLoad(const std::string& id, const llvm::Twine& name)
+{
+    int idx = symbols.getReactionIndex(id);
+    return createLoad(ReactionRates, idx, name);
+}
+
+llvm::Value* ModelDataIRBuilder::createReactionRateStore(const std::string& id, llvm::Value* value)
+{
+    int idx = symbols.getReactionIndex(id);
+    return createStore(ReactionRates, idx, value, id);
+}
+
+llvm::Value* ModelDataIRBuilder::createStoichiometryStore(uint row, uint col,
+        llvm::Value* value, const llvm::Twine& name)
+{
+    LLVMContext &context = builder.getContext();
+    Value *stoichEP = createGEP(Stoichiometry);
+    Value *stoich = builder.CreateLoad(stoichEP, "stoichiometry");
+    Value *rowVal = ConstantInt::get(Type::getInt32Ty(context), row, true);
+    Value *colVal = ConstantInt::get(Type::getInt32Ty(context), col, true);
+    return createCSRMatrixSetNZ(builder, stoich, rowVal, colVal, value, name);
+}
+
+llvm::Value* ModelDataIRBuilder::createStoichiometryLoad(uint row, uint col,
+        const llvm::Twine& name)
+{
+    LLVMContext &context = builder.getContext();
+    Value *stoichEP = createGEP(Stoichiometry);
+    Value *stoich = builder.CreateLoad(stoichEP, "stoichiometry");
+    Value *rowVal = ConstantInt::get(Type::getInt32Ty(context), row, true);
+    Value *colVal = ConstantInt::get(Type::getInt32Ty(context), col, true);
+    return createCSRMatrixGetNZ(builder, stoich, rowVal, colVal, name);
+}
+
+llvm::Value *ModelDataIRBuilder::createRandomLoad()
+{
+    LLVMContext &context = builder.getContext();
+    Value *randomEP = createGEP(RandomPtr);
+    Value *randomPtr = builder.CreateLoad(randomEP, "randomPtr");
+    return randomPtr;
+}
+
+
+void ModelDataIRBuilder::validateStruct(llvm::Value* s,
+        const char* funcName)
+{
+    PointerType *pointerType = dyn_cast<PointerType>(s->getType());
+
+    // get the type the pointer refrerences
+    Type *type = pointerType ? pointerType->getElementType() : s->getType();
+
+    StructType *structType = dyn_cast<StructType>(type);
+
+    if (structType)
+    {
+        if (structType->getName().compare(LLVMModelDataName) == 0)
+        {
+            return;
+        }
+    }
+    std::string str;
+    raw_string_ostream err(str);
+    err << "error in " << funcName << ", " << "Invalid argument type, expected "
+            << LLVMModelDataName << ", but received ";
+    type->print(err);
+    throw LLVMException(err.str());
+}
+
+llvm::StructType *ModelDataIRBuilder::createModelDataStructType(llvm::Module *module,
+        llvm::ExecutionEngine *engine, LLVMModelDataSymbols const& symbols)
+{
+    StructType *structType = module->getTypeByName(LLVMModelDataName);
+
+    if (!structType)
+    {
+        // these have initial conditions, so need to allocate them twice
+        uint numIndCompartments = symbols.getIndependentCompartmentSize();
+        uint numIndFloatingSpecies = symbols.getIndependentFloatingSpeciesSize();
+        uint numIndBoundarySpecies = symbols.getIndependentBoundarySpeciesSize();
+        uint numIndGlobalParameters = symbols.getIndependentGlobalParameterSize();
+
+        uint numInitCompartments = symbols.getInitCompartmentSize();
+        uint numInitFloatingSpecies = symbols.getInitFloatingSpeciesSize();
+        uint numInitBoundarySpecies = symbols.getInitBoundarySpeciesSize();
+        uint numInitGlobalParameters = symbols.getInitGlobalParameterSize();
+
+        // no initial conditions for these
+        uint numRateRules = symbols.getRateRuleSize();
+        uint numReactions = symbols.getReactionSize();
+
+        LLVMContext &context = module->getContext();
+
+        Type *csrSparseType = getCSRSparseStructType(module, engine);
+        Type *csrSparsePtrType = csrSparseType->getPointerTo();
+
+        Type *int32Type = Type::getInt32Ty(context);
+        Type *doubleType = Type::getDoubleTy(context);
+        Type *doublePtrType = Type::getDoublePtrTy(context);
+
+        // LLVM does not appear to have a true void ptr, so just use a pointer
+        // to a byte, pointers are all the same size anyway.
+        // used for the LLVMModelData::random which is not accessed by
+        // generated llvm code anyway.
+        Type *voidPtrType = Type::getInt8PtrTy(context);
+
+        vector<Type*> elements;
+
+        elements.push_back(int32Type);        // 0      unsigned                 size;
+        elements.push_back(int32Type);        // 1      unsigned                 flags;
+        elements.push_back(doubleType);       // 2      double                   time;
+        elements.push_back(int32Type);        // 3      int                      numIndCompartments;
+        elements.push_back(int32Type);        // 4      int                      numIndFloatingSpecies;
+        elements.push_back(int32Type);        // 5      int                      numIndBoundarySpecies;
+        elements.push_back(int32Type);        // 6      int                      numIndGlobalParameters;
+        elements.push_back(int32Type);        // 7      int                      numRateRules;
+        elements.push_back(int32Type);        // 8      int                      numReactions;
+
+        elements.push_back(int32Type);        // 9      int                      numInitCompartments;
+        elements.push_back(int32Type);        // 10     int                      numInitFloatingSpecies;
+        elements.push_back(int32Type);        // 11     int                      numInitBoundarySpecies;
+        elements.push_back(int32Type);        // 12     int                      numInitGlobalParameters;
+
+        elements.push_back(csrSparsePtrType); // 13     dcsr_matrix              stoichiometry;
+        elements.push_back(voidPtrType);      // 14     void*                    random;
+        elements.push_back(int32Type);        // 15     int                      numEvents;
+        elements.push_back(int32Type);        // 16     int                      stateVectorSize;
+        elements.push_back(doublePtrType);    // 17     double*                  stateVector;
+        elements.push_back(doublePtrType);    // 18     double*                  stateVectorRate;
+        elements.push_back(doublePtrType);    // 19     double*                  rateRuleRates;
+        elements.push_back(doublePtrType);    // 20     double*                  floatingSpeciesAmountRates;
+
+        elements.push_back(doublePtrType);    // 21     double*                  compartmentVolumesAlias;
+        elements.push_back(doublePtrType);    // 22     double*                  compartmentVolumesInitAlias;
+        elements.push_back(doublePtrType);    // 23     double*                  floatingSpeciesAmountsInitAlias
+        elements.push_back(doublePtrType);    // 24     double*                  boundarySpeciesAmountsAlias;
+        elements.push_back(doublePtrType);    // 25     double*                  boundarySpeciesAmountsInitAlias;
+        elements.push_back(doublePtrType);    // 26     double*                  globalParametersAlias
+        elements.push_back(doublePtrType);    // 27     double*                  globalParametersInitAlias
+        elements.push_back(doublePtrType);    // 28     double*                  reactionRatesAlias
+
+        elements.push_back(doublePtrType);    // 29     double*                  rateRuleValuesAlias
+        elements.push_back(doublePtrType);    // 30     double*                  floatingSpeciesAmountsAlias
+
+        elements.push_back(ArrayType::get(doubleType, numIndCompartments));     // 31 CompartmentVolumes
+        elements.push_back(ArrayType::get(doubleType, numInitCompartments));    // 32 initCompartmentVolumes
+        elements.push_back(ArrayType::get(doubleType, numInitFloatingSpecies)); // 33 initFloatingSpeciesAmounts
+        elements.push_back(ArrayType::get(doubleType, numIndBoundarySpecies));  // 34 boundarySpeciesAmounts
+        elements.push_back(ArrayType::get(doubleType, numInitBoundarySpecies)); // 35 initBoundarySpeciesAmounts
+        elements.push_back(ArrayType::get(doubleType, numIndGlobalParameters)); // 36 globalParameters
+        elements.push_back(ArrayType::get(doubleType, numInitGlobalParameters));// 37 initGlobalParameters
+        elements.push_back(ArrayType::get(doubleType, numReactions));           // 38 reactionRates
+        elements.push_back(ArrayType::get(doubleType, numRateRules));           // 39 rateRuleValues
+        elements.push_back(ArrayType::get(doubleType, numIndFloatingSpecies));  // 40 floatingSpeciesAmounts
+
+        // creates a named struct,
+        // the act of creating a named struct should
+        // add the struct to the module definttion, at least
+        // the code in llvm 3.3 does this.
+        structType = StructType::create(context, elements, LLVMModelDataName);
+
+        // make sure we can get the struct in the future
+        assert(module->getTypeByName(LLVMModelDataName) &&
+                "Could not get LLVMModelData struct from llvm module after createing it");
+    }
+    return structType;
+}
+
+llvm::StructType *ModelDataIRBuilder::getStructType(llvm::Module *module)
+{
+    StructType *structType = module->getTypeByName(LLVMModelDataName);
+
+    if (structType == 0)
+    {
+        throw_llvm_exception("Could not get LLVMModelData struct type from llvm Module, "
+                "createModelDataStructType probably has not been called.");
+    }
+
+    return structType;
+}
+
+unsigned ModelDataIRBuilder::getModelDataSize(llvm::Module *module, llvm::ExecutionEngine *engine)
+{
+    assert(engine && "engine must not be NULL");
+
+    StructType *structType = getStructType(module);
+
+#if (LLVM_VERSION_MAJOR >= 3) && (LLVM_VERSION_MINOR >= 2)
+    const DataLayout *dl = engine->getDataLayout();
+    uint64_t llvm_size = dl->getTypeStoreSize(structType);
+#else
+    const TargetData* td = engine->getTargetData();
+    uint64_t llvm_size = td->getTypeStoreSize(structType);
+#endif
+
+    // the model data struct will NEVER be bigger than a 32 bit pointer!
+    return (unsigned)llvm_size;
+
+    /*
+     printf("TestStruct size: %i, , LLVM Size: %i\n", sizeof(ModelData), llvm_size);
+
+     printf("C++ bool size: %i, LLVM bool size: %i\n", sizeof(bool), dl->getTypeStoreSize(boolType));
+     printf("C++ bool* size: %i, LLVM bool* size: %i\n", sizeof(bool*), dl->getTypeStoreSize(boolPtrType));
+     printf("C++ char** size: %i, LLVM char** size: %i\n", sizeof(char**), dl->getTypeStoreSize(charStarStarType));
+     printf("C++ void* size: %i, LLVM void* size: %i\n", sizeof(void*), dl->getTypeStoreSize(voidPtrType));
+
+     printf("C++ EventDelayHandler* size: %i\n", sizeof(EventDelayHandler*));
+     printf("C++ EventAssignmentHandler* size: %i\n", sizeof(EventAssignmentHandler* ));
+     printf("C++ ComputeEventAssignmentHandler* size: %i\n", sizeof(ComputeEventAssignmentHandler*));
+     printf("C++ PerformEventAssignmentHandler* size: %i\n", sizeof(PerformEventAssignmentHandler*));
+
+     */
+
+}
+
+
+/*****************************************************************************/
+/*****************************************************************************/
+/*****************              TESTING STUFF              *******************/
+/*****************************************************************************/
+/*****************************************************************************/
+
+
+
+LLVMModelDataIRBuilderTesting::LLVMModelDataIRBuilderTesting(LLVMModelDataSymbols const& symbols,
+        llvm::IRBuilder<> &b) :
+        symbols(symbols),
+        builder(b)
+{
+}
+
+
+void LLVMModelDataIRBuilderTesting::createAccessors(Module *module)
+{
+    const string getSizeName = "get_size";
+    Function* getSizeFunc = module->getFunction(getSizeName);
+    if(!getSizeFunc)
+    {
+        LLVMContext &context = module->getContext();
+        StructType *structType = ModelDataIRBuilder::getStructType(module);
+        vector<Type*> getArgTypes(1, PointerType::get(structType, 0));
+        FunctionType *getFuncType = FunctionType::get(Type::getInt32Ty(context),
+                getArgTypes, false);
+        getSizeFunc = Function::Create(getFuncType, Function::ExternalLinkage,
+                getSizeName, module);
+
+        BasicBlock *getBlock = BasicBlock::Create(context, "entry", getSizeFunc);
+        builder.SetInsertPoint(getBlock);
+        vector<Value*> getArgValues;
+        for(Function::arg_iterator i = getSizeFunc->arg_begin();
+                i != getSizeFunc->arg_end(); i++)
+        {
+            Value *v = i;
+            //v->dump();
+            getArgValues.push_back(i);
+        }
+
+        ModelDataIRBuilder mdbuilder (getArgValues[0], symbols, builder);
+
+
+
+        Value *gep = mdbuilder.createGEP(Size);
+
+        Value *getRet = builder.CreateLoad(gep);
+
+        builder.CreateRet(getRet);
+
+        verifyFunction(*getSizeFunc);
+
+        //getSizeFunc->dump();
+
+    }
+
+}
+
+llvm::CallInst* LLVMModelDataIRBuilderTesting::createDispChar(llvm::Value* intVal)
+{
+    return builder.CreateCall(getDispCharDecl(ModelDataIRBuilder::getModule(builder, __FUNC__)), intVal);
+}
+
+llvm::CallInst* LLVMModelDataIRBuilderTesting::createDispDouble(llvm::Value* doubleVal)
+{
+    return builder.CreateCall(getDispDoubleDecl(ModelDataIRBuilder::getModule(builder, __FUNC__)), doubleVal);
+}
+
+llvm::CallInst* LLVMModelDataIRBuilderTesting::createDispInt(llvm::Value* intVal)
+{
+    return builder.CreateCall(getDispIntDecl(ModelDataIRBuilder::getModule(builder, __FUNC__)), intVal);
+}
+
+
+pair<Function*, Function*> LLVMModelDataIRBuilderTesting::createFloatingSpeciesAccessors(
+        llvm::Module* module, const std::string id)
+{
+    const string getName = "get_floatingspecies_conc_" + id;
+    const string setName = "set_floatingspecies_conc_" + id;
+
+    pair<Function*, Function*> result(module->getFunction(getName),
+            module->getFunction(setName));
+
+    if (!result.first || !result.second)
+    {
+        LLVMContext &context = module->getContext();
+        StructType *structType = ModelDataIRBuilder::getStructType(module);
+        vector<Type*> getArgTypes(1, PointerType::get(structType, 0));
+        FunctionType *getFuncType = FunctionType::get(
+                Type::getDoubleTy(context), getArgTypes, false);
+        result.first = Function::Create(getFuncType, Function::ExternalLinkage,
+                getName, module);
+
+        BasicBlock *block = BasicBlock::Create(context, "entry",
+                result.first);
+        builder.SetInsertPoint(block);
+        vector<Value*> getArgValues;
+        for (Function::arg_iterator i = result.first->arg_begin();
+                i != result.first->arg_end(); i++)
+        {
+            Value *v = i;
+            //v->dump();
+            getArgValues.push_back(i);
+
+        }
+
+        ModelDataIRBuilder mdbuilder (getArgValues[0], symbols, builder);
+
+
+        //Value *getEP = mdbuilder.createFloatSpeciesConcGEP(id);
+
+        //Value *getRet = builder.CreateLoad(getEP);
+
+        //builder.CreateRet(getRet);
+
+        verifyFunction(*result.first);
+
+        //result.first->dump();
+
+        vector<Type*> setArgTypes;
+        setArgTypes.push_back(PointerType::get(structType, 0));
+        setArgTypes.push_back(Type::getDoubleTy(context));
+        FunctionType *setFuncType = FunctionType::get(Type::getVoidTy(context),
+                setArgTypes, false);
+        result.second = Function::Create(setFuncType, Function::ExternalLinkage,
+                setName, module);
+
+        block = BasicBlock::Create(context, "entry",
+                result.second);
+        builder.SetInsertPoint(block);
+        vector<Value*> setArgValues;
+        for (Function::arg_iterator i = result.second->arg_begin();
+                i != result.second->arg_end(); i++)
+        {
+            Value *v = i;
+            //v->dump();
+            setArgValues.push_back(i);
+
+        }
+
+
+        //Value *val = mdbuilder.createFloatSpeciesConcStore(id, setArgValues[1]);
+
+        builder.CreateRetVoid();
+
+        verifyFunction(*result.second);
+
+        //result.second->dump();
+
+        cout << "pause...\n";
+
+    }
+
+    return result;
+}
+
+llvm::Function* LLVMModelDataIRBuilderTesting::getDispCharDecl(llvm::Module* module)
+{
+    Function *f = module->getFunction("dispChar");
+    if (f == 0) {
+        std::vector<Type*> args(1, Type::getInt8Ty(module->getContext()));
+        FunctionType *funcType = FunctionType::get(Type::getVoidTy(module->getContext()), args, false);
+        f = Function::Create(funcType, Function::InternalLinkage, "dispChar", module);
+    }
+    return f;
+}
+
+
+
+llvm::Function* LLVMModelDataIRBuilderTesting::getDispDoubleDecl(llvm::Module* module)
+{
+    Function *f = module->getFunction("dispDouble");
+    if (f == 0) {
+        std::vector<Type*> args(1, Type::getDoubleTy(module->getContext()));
+        FunctionType *funcType = FunctionType::get(Type::getVoidTy(module->getContext()), args, false);
+        f = Function::Create(funcType, Function::InternalLinkage, "dispDouble", module);
+    }
+    return f;
+}
+
+
+llvm::Function* LLVMModelDataIRBuilderTesting::getDispIntDecl(llvm::Module* module)
+{
+    Function *f = module->getFunction("dispInt");
+    if (f == 0) {
+        std::vector<Type*> args(1, Type::getInt32Ty(module->getContext()));
+        FunctionType *funcType = FunctionType::get(Type::getVoidTy(module->getContext()), args, false);
+        f = Function::Create(funcType, Function::InternalLinkage, "dispInt", module);
+    }
+    return f;
+}
+
+
+
+
+void LLVMModelDataIRBuilderTesting::test(Module *module, IRBuilder<> *build,
+        ExecutionEngine * engine)
+{
+//    TheModule = module;
+//    context = &module->getContext();
+//    rr::builder = build;
+//    TheExecutionEngine = engine;
+//    createDispPrototypes();
+//
+//    callDispInt(23);
+//
+//    structSetProto();
+//
+//    TestStruct s =
+//    { 0 };
+//
+//    s.var3 = (char*) calloc(50, sizeof(char));
+//    s.var5 = (char*) calloc(50, sizeof(char));
+//
+//    sprintf(s.var5, "1234567890");
+//
+//    char* p = (char*) calloc(50, sizeof(char));
+//
+//    dispStruct(&s);
+//
+//    callStructSet(&s, 314, 3.14, 2.78, p, 0, 0);
+//
+//    printf("p: %s\n", p);
+//
+//    dispStruct(&s);
+//
+//    printf("new var5: ");
+//    for (int i = 0; i < 10; i++)
+//    {
+//        printf("{i:%i,c:%i}, ", i, s.var5[i]);
+//    }
+//    printf("\n");
+}
+
+
+
+
+//
+//
+//static Module *TheModule;
+//static IRBuilder<> *builder;
+//static ExecutionEngine *TheExecutionEngine;
+//static LLVMContext *context;
+//
+//static LLVMContext &getContext() {
+//    return *context;
+//}
+//
+//Value *storeInStruct(IRBuilder<> *B, Value *S, Value *V, unsigned index, const char* s = "");
+//Value *loadFromStruct(IRBuilder<> *B, Value *S, unsigned index, const char* s = "");
+//
+//struct TestStruct {
+//    int var0;
+//    double var1;
+//    double var2;
+//    char* var3;
+//    double var4;
+//    char* var5;
+//};
+//
+//StructType* getTestStructType() {
+//    // static StructType *     create (ArrayRef< Type * > Elements, StringRef Name, bool isPacked=false)
+//    vector<Type*> elements;
+//    elements.push_back(Type::getInt32Ty(getContext()));   // int var0;
+//    elements.push_back(Type::getDoubleTy(getContext()));  // double var1;
+//    elements.push_back(Type::getDoubleTy(getContext()));  // double var2;
+//    //elements.push_back(ArrayType::get(Type::getInt8Ty(getContext()), 0)); // char* var3;
+//    elements.push_back(Type::getInt8PtrTy(getContext())); // char* var5;
+//    elements.push_back(Type::getDoubleTy(getContext()));  // double var4;
+//    //elements.push_back(ArrayType::get(Type::getInt8Ty(getContext()), 0));   // char[] var5;
+//    elements.push_back(Type::getInt8PtrTy(getContext())); // char* var5; // char* var5;
+//
+//
+//
+//
+//    StructType *s = StructType::create(elements, "TestStruct");
+//
+//    const DataLayout &dl = *TheExecutionEngine->getDataLayout();
+//
+//    size_t llvm_size = dl.getTypeStoreSize(s);
+//
+//    printf("TestStruct size: %i, , LLVM Size: %i\n", sizeof(TestStruct), llvm_size);
+//
+//
+//
+//    return s;
+//}
+//
+//Value *getVar5(Value *testStructPtr, int index) {
+//    GetElementPtrInst *gep = dyn_cast<GetElementPtrInst>(builder->CreateStructGEP(testStructPtr, 5, "var5_gep"));
+//    LoadInst * var5_load = builder.CreateLoad(gep, "var5_load");
+//    //Value *var5_load = loadFromStruct(Builder, testStructPtr, 5, "var5");
+//    gep = dyn_cast<GetElementPtrInst>(builder->CreateConstGEP1_32(var5_load, index, "var5_elem_gep"));
+//    return builder.CreateLoad(gep, "var5_elem");
+//}
+//
+//
+//static void dispStruct(TestStruct *s)
+//{
+//    printf("%s {\n",  __PRETTY_FUNCTION__);
+//    printf("\tvar0: %i\n", s->var0);
+//    printf("\tvar1: %f\n", s->var1);
+//    printf("\tvar2: %f\n", s->var2);
+//    printf("\tvar3: %s\n", s->var3);
+//    printf("\tvar4: %f\n", s->var4);
+//    printf("\tvar5: %s\n", s->var5);
+//    printf("}\n");
+//
+//
+//}
+//
+//static Function* dispStructProto() {
+//
+//    StructType *structType = getTestStructType();
+//    PointerType *structTypePtr = llvm::PointerType::get(structType, 0);
+//    std::vector<Type*> args(1, structTypePtr);
+//    FunctionType *funcType = FunctionType::get(Type::getVoidTy(getContext()), args, false);
+//    Function *f = Function::Create(funcType, Function::InternalLinkage, "dispStruct", TheModule);
+//    return f;
+//}
+//
+//static void dispInt(int i) {
+//    printf("%s, %i\n", __PRETTY_FUNCTION__, i);
+//}
+//
+
+//
+//static void callDispInt(int val) {
+//    // Evaluate a top-level expression into an anonymous function.
+//
+//    Function *func = TheExecutionEngine->FindFunctionNamed("dispInt");
+//
+//    // JIT the function, returning a function pointer.
+//    void *fptr = TheExecutionEngine->getPointerToFunction(func);
+//
+//    // Cast it to the right type (takes no arguments, returns a double) so we
+//    // can call it as a native function.
+//    void (*fp)(int) = (void (*)(int))fptr;
+//
+//    fp(val);
+//}
+//
+//
+//
+
+//
+//static void dispCharStar(char* p) {
+//    printf("%s: %s\n", __PRETTY_FUNCTION__, p);
+//}
+//
+//static Function* dispCharStarProto() {
+//    Function *f = TheModule->getFunction("dispCharStar");
+//    if (f == 0) {
+//        std::vector<Type*>args(1, Type::getInt8PtrTy(getContext()));
+//        FunctionType *funcType = FunctionType::get(Type::getVoidTy(getContext()), args, false);
+//        f = Function::Create(funcType, Function::InternalLinkage, "dispCharStar", TheModule);
+//    }
+//    return f;
+//}
+//
+//static void dispChar(char p) {
+//    printf("%s as char: %c\n", __PRETTY_FUNCTION__, p);
+//    printf("%s as int: %i\n", __PRETTY_FUNCTION__, (int)p);
+//}
+//
+//static Function* dispCharProto() {
+//    Function *f = TheModule->getFunction("dispChar");
+//    if (f == 0) {
+//        std::vector<Type*>args(1, Type::getInt8Ty(getContext()));
+//        FunctionType *funcType = FunctionType::get(Type::getVoidTy(getContext()), args, false);
+//        f = Function::Create(funcType, Function::InternalLinkage, "dispChar", TheModule);
+//    }
+//    return f;
+//}
+//
+//static void createDispPrototypes() {
+//    TheExecutionEngine->addGlobalMapping(dispStructProto(), (void*)dispStruct);
+//    TheExecutionEngine->addGlobalMapping(dispIntProto(), (void*)dispInt);
+//    TheExecutionEngine->addGlobalMapping(dispDoubleProto(), (void*)dispDouble);
+//    TheExecutionEngine->addGlobalMapping(dispCharStarProto(), (void*)dispCharStar);
+//    TheExecutionEngine->addGlobalMapping(dispCharProto(), (void*)dispChar);
+//}
+//
+//static void structSetBody(Function *func) {
+//    // Create a new basic block to start insertion into.
+//    BasicBlock *BB = BasicBlock::Create(getContext(), "entry", func);
+//    builder.SetInsertPoint(BB);
+//
+//    LLVMContext &context = getContext();
+//
+//    std::vector<Value*> args;
+//
+//    // Set names for all arguments.
+//    unsigned idx = 0;
+//    for (Function::arg_iterator ai = func->arg_begin(); ai != func->arg_end();
+//            ++ai, ++idx) {
+//
+//        args.push_back(ai);
+//        //ai->setName(Args[Idx]);
+//
+//        // Add arguments to variable symbol table.
+//        //NamedValues[Args[Idx]] = AI;
+//    }
+//
+//    Value *arg = ConstantInt::get(Type::getInt32Ty(getContext()), 16);
+//
+//    builder.CreateCall(dispIntProto(), args[1], "");
+//
+//    builder.CreateCall(dispDoubleProto(), args[2], "");
+//
+//    //builder->CreateCall(dispDoubleProto(), args[3], "");
+//
+//    builder.CreateCall(dispCharStarProto(), args[4], "");
+//
+//    storeInStruct(builder, args[0], args[1], 0);
+//    storeInStruct(builder, args[0], args[2], 1);
+//    storeInStruct(builder, args[0], args[3], 2);
+//    storeInStruct(builder, args[0], args[5], 4);
+//
+//
+//
+//    Value *var3 = loadFromStruct(builder, args[0], 3, "var3");
+//
+//    //Value *var3 = args[4];
+//
+//    Type *t = var3->getType();
+//
+//    var3->dump();
+//    t->dump();
+//
+//
+//    Value *c = ConstantInt::get(Type::getInt8Ty(getContext()), 's');
+//    Value *gep = builder.CreateConstGEP1_32(var3, 0, "array gep");
+//    builder.CreateStore(c, gep);
+//    gep = builder.CreateConstGEP1_32(var3, 1, "array gep");
+//    builder.CreateStore(c, gep);
+//    gep = builder.CreateConstGEP1_32(var3, 2, "array gep");
+//    builder.CreateStore(c, gep);
+//
+//
+//    c = ConstantInt::get(Type::getInt8Ty(getContext()), '2');
+//
+//    Value *var5_2 = getVar5(args[0], 2);
+//
+//    var5_2->dump();
+//
+//    builder.CreateCall(dispCharProto(), var5_2);
+//
+//
+//
+//    builder.CreateCall(dispCharStarProto(), args[4], "");
+//
+//
+//
+//
+//    // Finish off the function.
+//    builder.CreateRetVoid();
+//
+//    // Validate the generated code, checking for consistency.
+//    verifyFunction(*func);
+//}
+//
+//static Function* structSetProto() {
+//    Function *f = TheModule->getFunction("structSet");
+//
+//    if (f == 0) {
+//        vector<Type*> args;
+//        StructType *structType = getTestStructType();
+//        PointerType *structTypePtr = llvm::PointerType::get(structType, 0);
+//        args.push_back(structTypePtr);
+//        args.push_back(Type::getInt32Ty(getContext()));   // int var0;
+//        args.push_back(Type::getDoubleTy(getContext()));  // double var1;
+//        args.push_back(Type::getDoubleTy(getContext()));  // double var2;
+//        args.push_back(Type::getInt8PtrTy(getContext())); // char* var3;
+//        args.push_back(Type::getDoubleTy(getContext()));  // double var4;
+//        args.push_back(Type::getInt8PtrTy(getContext())); // char* var5;
+//
+//        FunctionType *funcType = FunctionType::get(Type::getVoidTy(getContext()), args, false);
+//        f = Function::Create(funcType, Function::InternalLinkage, "structSet", TheModule);
+//
+//
+//        structSetBody(f);
+//
+//    }
+//    return f;
+//}
+//
+//static void callStructSet(TestStruct *s, int var0, double var1, double var2,
+//        char* var3, double var4, char* var5)
+//{
+//    Function *func = TheExecutionEngine->FindFunctionNamed("structSet");
+//
+//    // JIT the function, returning a function pointer.
+//    void *fptr = TheExecutionEngine->getPointerToFunction(func);
+//
+//    // Cast it to the right type (takes no arguments, returns a double) so we
+//    // can call it as a native function.
+//    void (*fp)(TestStruct*, int, double, double, char*, double, char*) =
+//            (void (*)(TestStruct*, int, double, double,char*, double, char*))fptr;
+//
+//    fp(s, var0, var1, var2, var3, var4, var5);
+//
+//
+//
+//}
+//
+//
+//
+//// Store V in structure S element index
+//Value *storeInStruct(IRBuilder<> *B, Value *S, Value *V, unsigned index, const char* s)
+//{
+//    return B->CreateStore(V, B->CreateStructGEP(S, index, s), s);
+//}
+//
+//// Store V in structure S element index
+//Value *loadFromStruct(IRBuilder<> *B, Value *S, unsigned index, const char* s)
+//{
+//    Value *gep = B->CreateStructGEP(S, index, s);
+//    return B->CreateLoad(gep, s);
+//}
+//
+//void dispIntrinsics(Intrinsic::ID id) {
+//    Intrinsic::IITDescriptor ids[8];
+//    SmallVector<Intrinsic::IITDescriptor, 8> table;
+//    Intrinsic::getIntrinsicInfoTableEntries(id, table);
+//
+//    printf("table: %i\n", table.size());
+//
+//    for(unsigned i = 0; i < table.size(); i++) {
+//        ids[i] = table[i];
+//    }
+//
+//    for(unsigned i = 0; i < table.size(); i++) {
+//        Intrinsic::IITDescriptor::IITDescriptorKind kind = ids[i].Kind;
+//        Intrinsic::IITDescriptor::ArgKind argKind = ids[i].getArgumentKind();
+//        unsigned argNum = ids[i].getArgumentNumber();
+//
+//        printf("kind: %i, argKind: %i, argNum: %i\n", kind, argKind, argNum);
+//
+//    }
+//
+//    printf("foo\n");
+//
+//    std::vector<Type*> args(table.size() - 1, Type::getDoubleTy(getContext()));
+//
+//    printf("intrinsic name: %s\n", getName(id, args).c_str());
+//
+//    Function *decl = Intrinsic::getDeclaration(TheModule, id, args);
+//    decl->dump();
+//
+//    FunctionType *func = Intrinsic::getType(getContext(), id, args);
+//
+//    func->dump();
+//
+//    printf("done\n");
+//
+//
+//
+//
+//
+//    //func->dump();
+//}
+
+
+} /* namespace rr */
+
+
diff --git a/source/llvm/ModelDataIRBuilder.h b/source/llvm/ModelDataIRBuilder.h
new file mode 100644
index 0000000..ef1f961
--- /dev/null
+++ b/source/llvm/ModelDataIRBuilder.h
@@ -0,0 +1,383 @@
+/*
+ * ModelDataIRBuilder.h
+ *
+ * Created on: Jun 28, 2013
+ *
+ * Author: Andy Somogyi,
+ *     email decode: V1 = "."; V2 = "@"; V3 = V1;
+ *     andy V1 somogyi V2 gmail V3 com
+ */
+
+#ifndef ModelDataIRBuilderH
+#define ModelDataIRBuilderH
+
+#include "LLVMIncludes.h"
+#include "LLVMModelDataSymbols.h"
+
+#include <map>
+
+namespace libsbml
+{
+class Model;
+}
+
+namespace rrllvm
+{
+
+class ModelDataIRBuilder
+{
+public:
+
+    /**
+     * these only make sense attached to a modelData pointer.
+     */
+    ModelDataIRBuilder(llvm::Value *modelData, LLVMModelDataSymbols const&,
+            llvm::IRBuilder<> &);
+
+    llvm::Value *createFloatSpeciesAmtGEP(const std::string &id,
+            const llvm::Twine &name = "");
+
+    llvm::Value *createBoundSpeciesAmtGEP(const std::string &id,
+            const llvm::Twine &name = "");
+
+    llvm::Value *createGlobalParamGEP(const std::string &id);
+
+    /**
+     * create a GEP for a ModelData structure field.
+     *
+     * @param md: value for a ModelData pointer type.
+     */
+    llvm::Value *createGEP(ModelDataFields field, const llvm::Twine& name = "");
+
+    /**
+     * create a GEP for an array which belongs to the ModelData struct,
+     * only valid for arrays, will crash on non-array fields.
+     */
+    llvm::Value *createGEP(ModelDataFields field, unsigned index,
+            const llvm::Twine& name = "");
+
+    llvm::Value *createLoad(ModelDataFields field, unsigned index,
+            const llvm::Twine& name = "");
+
+    llvm::Value *createStore(ModelDataFields field, unsigned index,
+            llvm::Value *value, const llvm::Twine& name = "");
+
+    /**
+     * the GEP for a compartment
+     */
+    llvm::Value* createCompGEP(const std::string& id);
+
+    /**
+     * load the compartment value
+     */
+    llvm::Value *createCompLoad(const std::string& id,
+            const llvm::Twine& name ="");
+
+    /**
+     * store the compartment value
+     */
+    llvm::Value *createCompStore(const std::string &id,
+            llvm::Value *value);
+
+    /**
+     * the GEP for a floating species initial amount
+     */
+    llvm::Value *createInitFloatSpeciesAmtGEP(const std::string& id,
+            const llvm::Twine &name = "");
+
+    /**
+     * load the floating species initial amount value
+     */
+    llvm::Value *createInitFloatSpeciesAmtLoad(const std::string& id,
+            const llvm::Twine& name ="");
+
+    /**
+     * store the floating species initial value
+     */
+    llvm::Value *createInitFloatSpeciesAmtStore(const std::string &id,
+            llvm::Value *value);
+
+    /**
+     * the GEP for a compartment
+     */
+    llvm::Value* createInitCompGEP(const std::string& id,
+            const llvm::Twine &name = "");
+
+    /**
+     * load the compartment value
+     */
+    llvm::Value *createInitCompLoad(const std::string& id,
+            const llvm::Twine& name ="");
+
+    /**
+     * store the compartment value
+     */
+    llvm::Value *createInitCompStore(const std::string &id,
+            llvm::Value *value);
+
+
+    /**
+     * the GEP for a init global params
+     */
+    llvm::Value* createInitGlobalParamGEP(const std::string& id,
+            const llvm::Twine &name = "");
+
+    /**
+     * load the init global param value
+     */
+    llvm::Value *createInitGlobalParamLoad(const std::string& id,
+            const llvm::Twine& name ="");
+
+    /**
+     * store the init global param value
+     */
+    llvm::Value *createInitGlobalParamStore(const std::string &id,
+            llvm::Value *value);
+
+    /**
+     * load the global param value
+     */
+    llvm::Value *createGlobalParamLoad(const std::string& id,
+            const llvm::Twine& name = "");
+
+    /**
+     * store the global param value
+     */
+    llvm::Value *createGlobalParamStore(const std::string &id,
+            llvm::Value *value);
+
+    /**
+     * load the floating species amount value
+     */
+    llvm::Value *createFloatSpeciesAmtLoad(const std::string& id,
+            const llvm::Twine& name = "");
+
+    /**
+     * store the floating species amount
+     */
+    llvm::Value *createFloatSpeciesAmtStore(const std::string &id,
+            llvm::Value *value);
+
+    /**
+     * the GEP for the amount rates
+     */
+    llvm::Value *createFloatSpeciesAmtRateGEP(const std::string &id,
+            const llvm::Twine &name = "");
+
+    /**
+     * load the floating species amount value
+     */
+    llvm::Value *createFloatSpeciesAmtRateLoad(const std::string& id,
+            const llvm::Twine& name = "");
+
+    /**
+     * store the floating species amount
+     */
+    llvm::Value *createFloatSpeciesAmtRateStore(const std::string &id,
+            llvm::Value *value);
+
+    /**
+     * load the floating species amount value
+     */
+    llvm::Value *createBoundSpeciesAmtLoad(const std::string& id,
+            const llvm::Twine& name = "");
+
+    /**
+     * store the floating species amount
+     */
+    llvm::Value *createBoundSpeciesAmtStore(const std::string &id,
+            llvm::Value *value);
+
+    /**
+     * load the floating species amount value
+     */
+    llvm::Value *createReactionRateLoad(const std::string& id,
+            const llvm::Twine& name = "");
+
+    /**
+     * store the floating species amount
+     */
+    llvm::Value *createReactionRateStore(const std::string &id,
+            llvm::Value *value);
+
+    /**
+     * rate rule GEP
+     */
+    llvm::Value *createRateRuleValueGEP(const std::string &id,
+            const llvm::Twine &name = "");
+
+    /**
+     * load the rate rule value
+     */
+    llvm::Value *createRateRuleValueLoad(const std::string& id,
+            const llvm::Twine& name = "");
+
+    /**
+     * store the rate rule value
+     */
+    llvm::Value *createRateRuleValueStore(const std::string &id,
+            llvm::Value *value);
+
+    /**
+     * rate rule GEP
+     */
+    llvm::Value *createRateRuleRateGEP(const std::string &id,
+            const llvm::Twine &name = "");
+
+    /**
+     * load the rate rule rate
+     */
+    llvm::Value *createRateRuleRateLoad(const std::string& id,
+            const llvm::Twine& name = "");
+
+    /**
+     * store the rate rule rate
+     */
+    llvm::Value *createRateRuleRateStore(const std::string &id,
+            llvm::Value *value);
+
+    llvm::Value *createStoichiometryStore(uint row, uint col,
+            llvm::Value *value, const llvm::Twine& name = "");
+
+    llvm::Value *createStoichiometryLoad(uint row, uint col,
+            const llvm::Twine& name = "");
+
+    /**
+     * pointer to ModelData::random field.
+     */
+    llvm::Value *createRandomLoad();
+
+    /**
+     * create a call to the csr_matrix_set_nz function.
+     *
+     * only valid whilst a basic block is being filled.
+     */
+    static llvm::CallInst *createCSRMatrixSetNZ(llvm::IRBuilder<> &,
+            llvm::Value *csrPtr, llvm::Value *row, llvm::Value *col,
+            llvm::Value *value, const llvm::Twine& name = "");
+
+    /**
+     * create a call to the csr_matrix_get_nz function.
+     *
+     * only valid whilst a basic block is being filled.
+     */
+    static llvm::CallInst *createCSRMatrixGetNZ(llvm::IRBuilder<> &,
+            llvm::Value *csrPtr, llvm::Value *row, llvm::Value *col,
+            const llvm::Twine& name = "");
+
+    /**
+     * get the function declaration (prototype) for the csr_matrix_set_nz function.
+     *
+     * create if not found.
+     */
+    static llvm::Function *getCSRMatrixSetNZDecl(llvm::Module *module);
+
+    /**
+     * get the function declaration (prototype) for the csr_matrix_set_nz function.
+     *
+     * create if not found
+     */
+    static llvm::Function *getCSRMatrixGetNZDecl(llvm::Module *module);
+
+    /**
+     * get the struct type for the CSR sparse storage struct.
+     *
+     * create if not found
+     */
+    static llvm::StructType *getCSRSparseStructType(llvm::Module *module,
+            llvm::ExecutionEngine *engine = 0);
+
+    /**
+     * Creates a ModelData struct for the given sbml symbols in the
+     * llvm Module.
+     *
+     * This must be called before any model accessing code is generated.
+     */
+    static llvm::StructType *createModelDataStructType(llvm::Module *module,
+            llvm::ExecutionEngine *engine, LLVMModelDataSymbols const& symbols);
+
+    /**
+     * get the ModelData struct type.
+     *
+     * createModelDataStructType must have been called for this to work.
+     *
+     * Throws an exception if the ModelData struct could not be obtained.
+     */
+    static llvm::StructType *getStructType(llvm::Module *module);
+
+    static unsigned getModelDataSize(llvm::Module *module, llvm::ExecutionEngine *engine);
+
+    static const char* LLVMModelDataName;
+    static const char* csr_matrixName;
+    static const char* csr_matrix_set_nzName;
+    static const char* csr_matrix_get_nzName;
+
+private:
+    /**
+     * the model data struct we generate the loads / stores relative to.
+     */
+    llvm::Value *modelData;
+
+    llvm::IRBuilder<> &builder;
+
+    LLVMModelDataSymbols const& symbols;
+
+    /**
+     * get the module, only valid whilst a BasicBlock is begin filled.
+     *
+     * @param fname: name of the calling function, used for generating exception
+     * on failure.
+     *
+     * @returns a module on success, throws exeption on failure.
+     */
+    static llvm::Module *getModule(llvm::IRBuilder<> &, const char* func);
+
+    /**
+     * check to see that s is a ModelData struct pointer,
+     * throw an exception if not.
+     */
+    void validateStruct(llvm::Value *s, const char* funcName);
+
+    friend class LLVMModelDataIRBuilderTesting;
+};
+
+/**
+ * testing class
+ */
+class LLVMModelDataIRBuilderTesting
+{
+public:
+
+    LLVMModelDataIRBuilderTesting(LLVMModelDataSymbols const&,
+            llvm::IRBuilder<> &);
+
+    /*********************** TESTING STUFF WILL GO AWAY EVENTUALLY ***********************/
+
+    void createAccessors(llvm::Module *module);
+
+    std::pair<llvm::Function*, llvm::Function*> createFloatingSpeciesAccessors(
+            llvm::Module *module, const std::string id);
+
+    void test(llvm::Module *module, llvm::IRBuilder<> *build,
+            llvm::ExecutionEngine * engine);
+
+
+    static llvm::Function *getDispIntDecl(llvm::Module *module);
+    llvm::CallInst *createDispInt(llvm::Value *intVal);
+
+    static llvm::Function *getDispDoubleDecl(llvm::Module *module);
+    llvm::CallInst *createDispDouble(llvm::Value *doubleVal);
+
+    static llvm::Function *getDispCharDecl(llvm::Module *module);
+    llvm::CallInst *createDispChar(llvm::Value *doubleVal);
+
+    /*************************************************************************************/
+
+
+    llvm::IRBuilder<> &builder;
+
+    LLVMModelDataSymbols const& symbols;
+};
+
+} /* namespace rr */
+#endif /* ModelDataIRBuilderH */
diff --git a/source/llvm/ModelDataSymbolResolver.cpp b/source/llvm/ModelDataSymbolResolver.cpp
new file mode 100644
index 0000000..280b0b4
--- /dev/null
+++ b/source/llvm/ModelDataSymbolResolver.cpp
@@ -0,0 +1,326 @@
+/*
+ * rrLLVMModelDataTermSymbolResolver.cpp
+ *
+ *  Created on: Jul 25, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "ModelDataSymbolResolver.h"
+#include "ASTNodeCodeGen.h"
+#include "LLVMException.h"
+#include "FunctionResolver.h"
+#include "KineticLawParameterResolver.h"
+#include "rrLogger.h"
+#include <sbml/Model.h>
+
+using namespace std;
+using namespace libsbml;
+using namespace llvm;
+
+using rr::Logger;
+
+namespace rrllvm
+{
+
+ModelDataLoadSymbolResolver::ModelDataLoadSymbolResolver(llvm::Value *modelData,
+        const ModelGeneratorContext& ctx) :
+            LoadSymbolResolverBase(ctx),
+            modelData(modelData)
+{
+}
+
+ModelDataStoreSymbolResolver::ModelDataStoreSymbolResolver(llvm::Value *modelData,
+        const libsbml::Model *model,
+        const LLVMModelSymbols &modelSymbols,
+        const LLVMModelDataSymbols &modelDataSymbols,
+        llvm::IRBuilder<> &builder,
+        LoadSymbolResolver &resolver) :
+            modelData(modelData),
+            model(model),
+            modelSymbols(modelSymbols),
+            modelDataSymbols(modelDataSymbols),
+            builder(builder),
+            resolver(resolver)
+{
+}
+
+
+llvm::Value* ModelDataLoadSymbolResolver::loadSymbolValue(
+        const std::string& symbol,
+        const llvm::ArrayRef<llvm::Value*>& args)
+{
+    {
+        Value* cachedValue = cacheValue(symbol, args);
+        if(cachedValue) return cachedValue;
+    }
+
+    ModelDataIRBuilder mdbuilder(modelData, modelDataSymbols,
+            builder);
+
+    /*************************************************************************/
+    /* time */
+    /*************************************************************************/
+    if (symbol.compare(SBML_TIME_SYMBOL) == 0)
+    {
+        Value *timeEP = mdbuilder.createGEP(Time);
+        Value *time = builder.CreateLoad(timeEP, SBML_TIME_SYMBOL);
+        return cacheValue(symbol, args, time);
+    }
+
+    /*************************************************************************/
+    /* Function */
+    /*************************************************************************/
+    {
+        Value *funcVal =
+            FunctionResolver(*this, modelData, modelGenContext).loadSymbolValue(symbol, args);
+        if (funcVal)
+        {
+            return funcVal;
+        }
+    }
+
+    /*************************************************************************/
+    /* AssignmentRule */
+    /*************************************************************************/
+    {
+        SymbolForest::ConstIterator i = modelSymbols.getAssigmentRules().find(
+                symbol);
+        if (i != modelSymbols.getAssigmentRules().end())
+        {
+            recursiveSymbolPush(symbol);
+            Value* result = ASTNodeCodeGen(builder, *this).codeGen(i->second);
+            recursiveSymbolPop();
+            return cacheValue(symbol, args, result);
+        }
+    }
+
+    /*************************************************************************/
+    /* Species */
+    /*************************************************************************/
+    const Species *species = model->getSpecies(symbol);
+    if (species)
+    {
+        Value *amt = 0;
+        if (modelDataSymbols.isIndependentFloatingSpecies(symbol))
+        {
+            amt = mdbuilder.createFloatSpeciesAmtLoad(symbol, symbol + "_amt");
+        }
+        else if (modelDataSymbols.isIndependentBoundarySpecies(symbol))
+        {
+            amt = mdbuilder.createBoundSpeciesAmtLoad(symbol, symbol + "_amt");
+        }
+        else if(modelDataSymbols.hasRateRule(symbol))
+        {
+            amt = mdbuilder.createRateRuleValueLoad(symbol, symbol + "_amt");
+        }
+        else
+        {
+            string msg = string("the symbol ") + symbol + string(" appeared to "
+                    "be a species, but it could not be found as an independent "
+                    "species or rate rule");
+            throw_llvm_exception(msg);
+        }
+        assert(amt);
+
+        // now we have an amount, check to see if we need to convert to conc
+        if (species->getHasOnlySubstanceUnits())
+        {
+            return cacheValue(symbol, args, amt);
+        }
+        else
+        {
+            // expect a concentration, need to convert amt to conc,
+            // so we need to get the compartment its in, but these
+            // can vary also...
+            Value *comp = loadSymbolValue(species->getCompartment());
+            return cacheValue(symbol, args, builder.CreateFDiv(amt, comp, symbol + "_conc"));
+        }
+    }
+
+    if (modelDataSymbols.isIndependentCompartment(symbol))
+    {
+        return cacheValue(symbol, args, mdbuilder.createCompLoad(symbol));
+    }
+
+    if (modelDataSymbols.isIndependentGlobalParameter(symbol))
+    {
+        return cacheValue(symbol, args, mdbuilder.createGlobalParamLoad(symbol));
+    }
+
+    if (modelDataSymbols.hasRateRule(symbol))
+    {
+        // species conc / amt has already been taken care of at this point
+        return cacheValue(symbol, args, mdbuilder.createRateRuleValueLoad(symbol));
+    }
+
+    if (modelDataSymbols.isNamedSpeciesReference(symbol))
+    {
+        const LLVMModelDataSymbols::SpeciesReferenceInfo &info =
+                modelDataSymbols.getNamedSpeciesReferenceInfo(symbol);
+
+        Value *value = mdbuilder.createStoichiometryLoad(info.row, info.column, symbol);
+
+        if (info.type == LLVMModelDataSymbols::MultiReactantProduct)
+        {
+            string msg = "mutable stochiometry for species which appear "
+                    "multiple times in a single reaction is not currently "
+                    "supported, species reference id: ";
+            msg += symbol;
+            throw_llvm_exception(msg);
+        }
+
+        if (info.type == LLVMModelDataSymbols::Reactant)
+        {
+            // its consumed in the reaction, so has a negative in the stoich
+            // matrix
+            Value *negOne = ConstantFP::get(builder.getContext(), APFloat(-1.0));
+            negOne->setName("neg_one");
+            value = builder.CreateFMul(negOne, value, "neg_" + symbol);
+        }
+
+        return cacheValue(symbol, args, value);
+    }
+
+    /*************************************************************************/
+    /* Reaction Rate */
+    /*************************************************************************/
+    const Reaction* reaction = model->getReaction(symbol);
+    if (reaction)
+    {
+        return cacheValue(symbol, args, loadReactionRate(reaction));
+    }
+
+
+    string msg = "the symbol \'";
+    msg += symbol;
+    msg += "\' is not physically stored in the ModelData structure, "
+            "it either does not exists or is defined by an assigment rule (hence it "
+            "is not a terminal symbol)";
+
+    throw_llvm_exception(msg);
+    return 0;
+}
+
+
+
+llvm::Value* ModelDataStoreSymbolResolver::storeSymbolValue(
+        const std::string& symbol, llvm::Value *value)
+{
+    assert(value);
+
+    ModelDataIRBuilder mdbuilder(modelData, modelDataSymbols,
+            builder);
+
+    /*************************************************************************/
+    /* AssignmentRule */
+    /*************************************************************************/
+    // can not store anything with an assigment rule, these are determined
+    // by other independent elements.
+    if (modelDataSymbols.hasAssignmentRule(symbol))
+    {
+        throw_llvm_exception("Attempt to store a value in symbol \""
+                + symbol + "\" which is defined by an assignemnt rule");
+    }
+
+
+    /*************************************************************************/
+    /* Species */
+    /*************************************************************************/
+    const Species *species = model->getSpecies(symbol);
+    if (species)
+    {
+        Value *amt = 0;
+        // only amounts are stored, convert to conc if required
+        if (species->getHasOnlySubstanceUnits())
+        {
+            amt = value;
+        }
+        else
+        {
+            // have a conc, need to convert to amt
+            Value *comp = resolver.loadSymbolValue(species->getCompartment());
+            amt =  builder.CreateFMul(value, comp, symbol + "_amt");
+        }
+
+        assert(amt);
+
+        // now look where we need to store it
+        if (modelDataSymbols.isIndependentFloatingSpecies(symbol))
+        {
+            return mdbuilder.createFloatSpeciesAmtStore(symbol, amt);
+        }
+        else if (modelDataSymbols.isIndependentBoundarySpecies(symbol))
+        {
+            return mdbuilder.createBoundSpeciesAmtStore(symbol, amt);
+        }
+        else if(modelDataSymbols.hasRateRule(symbol))
+        {
+            return mdbuilder.createRateRuleValueStore(symbol, amt);
+        }
+        else
+        {
+            string msg = string("the symbol ") + symbol + string(" appeared to "
+                    "be a species, but it could not be found as an independent "
+                    "species or rate rule");
+            throw_llvm_exception(msg);
+            return 0;
+        }
+    }
+
+    // at this point, we have already taken care of the species amount /
+    // conc conversion, rest are just plain stores.
+
+    if (modelDataSymbols.hasRateRule(symbol))
+    {
+        return mdbuilder.createRateRuleValueStore(symbol, value);
+    }
+
+    else if (modelDataSymbols.isIndependentCompartment(symbol))
+    {
+        return mdbuilder.createCompStore(symbol, value);
+    }
+
+    else if (modelDataSymbols.isIndependentGlobalParameter(symbol))
+    {
+        return mdbuilder.createGlobalParamStore(symbol, value);
+    }
+
+    else if (modelDataSymbols.isNamedSpeciesReference(symbol))
+    {
+        const LLVMModelDataSymbols::SpeciesReferenceInfo &info =
+                modelDataSymbols.getNamedSpeciesReferenceInfo(symbol);
+
+        if (info.type == LLVMModelDataSymbols::MultiReactantProduct)
+        {
+            string msg = "mutable stochiometry for species which appear "
+                    "multiple times in a single reaction is not currently "
+                    "supported, species reference id: ";
+            msg += symbol;
+            throw_llvm_exception(msg);
+        }
+
+        if (info.type == LLVMModelDataSymbols::Reactant)
+        {
+            // its consumed in the reaction, so has a negative in the stoich
+            // matrix
+            Value *negOne = ConstantFP::get(builder.getContext(), APFloat(-1.0));
+            negOne->setName("neg_one");
+            value = builder.CreateFMul(negOne, value, "neg_" + symbol);
+        }
+
+        return mdbuilder.createStoichiometryStore(info.row, info.column, value);
+    }
+
+    string msg = "The symbol \'";
+    msg += symbol;
+    msg += "\' is not physically stored in the ModelData structure, "
+            "it either does not exists or is defined by an assigment rule (hence it "
+            "is not a terminal symbol)";
+
+    throw_llvm_exception(msg);
+    return 0;
+}
+
+} /* namespace rr */
+
+
diff --git a/source/llvm/ModelDataSymbolResolver.h b/source/llvm/ModelDataSymbolResolver.h
new file mode 100644
index 0000000..a54a282
--- /dev/null
+++ b/source/llvm/ModelDataSymbolResolver.h
@@ -0,0 +1,67 @@
+/*
+ * ModelDataSymbolResolver.h
+ *
+ *  Created on: Jul 25, 2013
+ *      Author: andy
+ */
+
+#ifndef ModelDataSymbolResolver_H_
+#define ModelDataSymbolResolver_H_
+
+#include "LoadSymbolResolverBase.h"
+#include "LLVMIncludes.h"
+#include "LLVMModelDataSymbols.h"
+#include "LLVMModelSymbols.h"
+
+namespace libsbml
+{
+class Model;
+class Reaction;
+}
+
+namespace rrllvm
+{
+
+class ModelDataLoadSymbolResolver: public LoadSymbolResolverBase
+{
+public:
+    ModelDataLoadSymbolResolver(llvm::Value *modelData,
+            const ModelGeneratorContext& ctx);
+
+    virtual ~ModelDataLoadSymbolResolver() {};
+
+
+    virtual llvm::Value *loadSymbolValue(const std::string& symbol,
+            const llvm::ArrayRef<llvm::Value*>& args =
+                    llvm::ArrayRef<llvm::Value*>());
+
+private:
+    llvm::Value *modelData;
+};
+
+class ModelDataStoreSymbolResolver: public StoreSymbolResolver
+{
+public:
+    ModelDataStoreSymbolResolver(llvm::Value *modelData,
+            const libsbml::Model *model, const LLVMModelSymbols &modelSymbols,
+            const LLVMModelDataSymbols &modelDataSymbols,
+            llvm::IRBuilder<> &builder,
+            LoadSymbolResolver &resolver);
+
+    virtual ~ModelDataStoreSymbolResolver() {};
+
+    virtual llvm::Value *storeSymbolValue(const std::string& symbol,
+            llvm::Value *value);
+private:
+
+    llvm::Value *modelData;
+    const libsbml::Model *model;
+    const LLVMModelSymbols &modelSymbols;
+    const LLVMModelDataSymbols &modelDataSymbols;
+    llvm::IRBuilder<> &builder;
+    LoadSymbolResolver &resolver;
+
+};
+
+} /* namespace rr */
+#endif /* rrLLVMModelDataSymbolResolver_H_ */
diff --git a/source/llvm/ModelGeneratorContext.cpp b/source/llvm/ModelGeneratorContext.cpp
new file mode 100644
index 0000000..b87312a
--- /dev/null
+++ b/source/llvm/ModelGeneratorContext.cpp
@@ -0,0 +1,789 @@
+/*
+ * ModelGeneratorContext.cpp
+ *
+ *  Created on: Jun 18, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "ModelGeneratorContext.h"
+#include "rrSparse.h"
+#include "LLVMIncludes.h"
+#include "ModelDataIRBuilder.h"
+#include "LLVMException.h"
+#include "SBMLSupportFunctions.h"
+#include "conservation/ConservedMoietyConverter.h"
+#include "conservation/ConservationExtension.h"
+#include "rrRoadRunnerOptions.h"
+#include "rrConfig.h"
+
+#include <sbml/SBMLReader.h>
+#include <string>
+#include <vector>
+#include <math.h>
+
+#include <sbml/common/libsbml-config-packages.h>
+#ifdef LIBSBML_HAS_PACKAGE_DISTRIB
+#include <sbml/packages/distrib/common/DistribExtensionTypes.h>
+#include "DistribFunctionResolver.h"
+#endif
+
+using namespace llvm;
+using namespace std;
+using namespace libsbml;
+
+using rr::Logger;
+using rr::LoadSBMLOptions;
+
+namespace rrllvm
+{
+
+static void createLibraryFunctions(Module* module);
+
+static void createLibraryFunction(llvm::LibFunc::Func funcId,
+        llvm::FunctionType *funcType, Module* module);
+
+static Function* createGlobalMappingFunction(const char* funcName,
+        llvm::FunctionType *funcType, Module *module);
+
+
+/**
+ * returns a VALID sbml document, if the doc has any error,
+ * an exception is thrown.
+ */
+static SBMLDocument *checkedReadSBMLFromString(const char* xml);
+
+// MSVC 2010 and earlier do not include the hyperbolic functions, define there here
+// MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)
+// Note, evidently including the <amp_math.h> causes issues in 2012,
+// so it seems to work just defining these here as static.
+#if defined(_MSC_VER)
+
+static double asinh(double value)
+{
+    return log(value + sqrt(value * value + 1.));
+}
+
+static double acosh(double value)
+{
+    return log(value + sqrt(value * value - 1.));
+}
+
+double atanh(double value)
+{
+    return (std::log(1.0 + value) - std::log(1.0 - value)) / 2.0;
+}
+
+#endif
+
+ModelGeneratorContext::ModelGeneratorContext(std::string const &sbml,
+    unsigned options) :
+        ownedDoc(0),
+        doc(0),
+        symbols(0),
+        modelSymbols(0),
+        errString(new string()),
+        context(0),
+        executionEngine(0),
+        module(0),
+        builder(0),
+        functionPassManager(0),
+        options(options),
+        moietyConverter(0),
+        random(0)
+{
+    if(useSymbolCache()) {
+        Log(Logger::LOG_INFORMATION) << "Using LLVM symbol/value cache";
+    } else {
+        Log(Logger::LOG_INFORMATION) << "Not using LLVM symbol/value cache";
+    }
+
+    try
+    {
+        ownedDoc = checkedReadSBMLFromString(sbml.c_str());
+
+        if (options & LoadSBMLOptions::CONSERVED_MOIETIES)
+        {
+            if ((rr::Config::getInt(rr::Config::ROADRUNNER_DISABLE_WARNINGS) &
+                    rr::Config::ROADRUNNER_DISABLE_WARNINGS_CONSERVED_MOIETY) == 0)
+            {
+                Log(Logger::LOG_NOTICE) << "performing conserved moiety conversion";
+            }
+
+            // check if already conserved doc
+            if (rr::conservation::ConservationExtension::isConservedMoietyDocument(ownedDoc))
+            {
+                doc = ownedDoc;
+            }
+            else
+            {
+                moietyConverter = new rr::conservation::ConservedMoietyConverter();
+
+                if (moietyConverter->setDocument(ownedDoc) != LIBSBML_OPERATION_SUCCESS)
+                {
+                    throw_llvm_exception("error setting conserved moiety converter document");
+                }
+
+                if (moietyConverter->convert() != LIBSBML_OPERATION_SUCCESS)
+                {
+                    throw_llvm_exception("error converting document to conserved moieties");
+                }
+
+                doc = moietyConverter->getDocument();
+
+                SBMLWriter sw;
+                char* convertedStr = sw.writeToString(doc);
+
+                Log(Logger::LOG_INFORMATION) << "***************** Conserved Moiety Converted Document ***************";
+                Log(Logger::LOG_INFORMATION) << convertedStr;
+                Log(Logger::LOG_INFORMATION) << "*********************************************************************";
+
+                free(convertedStr);
+            }
+        }
+        else
+        {
+            doc = ownedDoc;
+        }
+
+        symbols = new LLVMModelDataSymbols(doc->getModel(), options);
+
+        modelSymbols = new LLVMModelSymbols(getModel(), *symbols);
+
+        // initialize LLVM
+        // TODO check result
+        InitializeNativeTarget();
+
+        context = new LLVMContext();
+        // Make the module, which holds all the code.
+        module = new Module("LLVM Module", *context);
+
+        builder = new IRBuilder<>(*context);
+
+        // engine take ownership of module
+        EngineBuilder engineBuilder(module);
+
+        engineBuilder.setErrorStr(errString);
+        executionEngine = engineBuilder.create();
+
+        addGlobalMappings();
+
+        createLibraryFunctions(module);
+
+        ModelDataIRBuilder::createModelDataStructType(module, executionEngine, *symbols);
+
+        // check if doc has distrib package
+        // Random adds mappings, need call after llvm objs created
+#ifdef LIBSBML_HAS_PACKAGE_DISTRIB
+        const DistribSBMLDocumentPlugin* distrib =
+                dynamic_cast<const DistribSBMLDocumentPlugin*>(
+                        doc->getPlugin("distrib"));
+        if(distrib)
+        {
+            random = new Random(*this);
+        }
+#endif
+
+        initFunctionPassManager();
+
+    }
+    catch(const std::exception&)
+    {
+        // we might have allocated memory in a failed ctor,
+        // clean it up here.
+        // destructors are not called on *this* class when exception is raised
+        // in the ctor.
+        cleanup();
+        throw;
+    }
+}
+
+
+
+
+ModelGeneratorContext::ModelGeneratorContext(libsbml::SBMLDocument const *doc,
+    unsigned options) :
+        ownedDoc(0),
+        doc(0),
+        symbols(new LLVMModelDataSymbols(doc->getModel(), options)),
+        modelSymbols(new LLVMModelSymbols(getModel(), *symbols)),
+        errString(new string()),
+        context(0),
+        executionEngine(0),
+        module(0),
+        builder(0),
+        functionPassManager(0),
+        options(options),
+        moietyConverter(0),
+        random(0)
+{
+    if(useSymbolCache()) {
+        Log(Logger::LOG_INFORMATION) << "Using LLVM symbol/value cache";
+    } else {
+        Log(Logger::LOG_INFORMATION) << "Not using LLVM symbol/value cache";
+    }
+
+    try
+    {
+        if (options & LoadSBMLOptions::CONSERVED_MOIETIES)
+        {
+            Log(Logger::LOG_NOTICE) << "performing conserved moiety conversion";
+
+            moietyConverter = new rr::conservation::ConservedMoietyConverter();
+
+            if (moietyConverter->setDocument(doc) != LIBSBML_OPERATION_SUCCESS)
+            {
+                throw_llvm_exception("error setting conserved moiety converter document");
+            }
+
+            if (moietyConverter->convert() != LIBSBML_OPERATION_SUCCESS)
+            {
+                throw_llvm_exception("error converting document to conserved moieties");
+            }
+
+            this->doc = moietyConverter->getDocument();
+
+            SBMLWriter sw;
+            char* convertedStr = sw.writeToString(doc);
+
+            Log(Logger::LOG_INFORMATION) << "***************** Conserved Moiety Converted Document ***************";
+            Log(Logger::LOG_INFORMATION) << convertedStr;
+            Log(Logger::LOG_INFORMATION) << "*********************************************************************";
+
+            delete convertedStr;
+        }
+        else
+        {
+            this->doc = doc;
+        }
+
+        symbols = new LLVMModelDataSymbols(doc->getModel(), options);
+
+        modelSymbols = new LLVMModelSymbols(getModel(), *symbols);
+
+
+        // initialize LLVM
+        // TODO check result
+        InitializeNativeTarget();
+
+        context = new LLVMContext();
+        // Make the module, which holds all the code.
+        module = new Module("LLVM Module", *context);
+
+        builder = new IRBuilder<>(*context);
+
+        // engine take ownership of module
+        EngineBuilder engineBuilder(module);
+
+        //engineBuilder.setEngineKind(EngineKind::JIT);
+        engineBuilder.setErrorStr(errString);
+        executionEngine = engineBuilder.create();
+
+        addGlobalMappings();
+
+        createLibraryFunctions(module);
+
+        ModelDataIRBuilder::createModelDataStructType(module, executionEngine, *symbols);
+
+        // check if doc has distrib package
+        // Random adds mappings, need call after llvm objs created
+#ifdef LIBSBML_HAS_PACKAGE_DISTRIB
+        const DistribSBMLDocumentPlugin* distrib =
+                dynamic_cast<const DistribSBMLDocumentPlugin*>(
+                        doc->getPlugin("distrib"));
+        if(distrib)
+        {
+            random = new Random(*this);
+        }
+#endif
+
+        initFunctionPassManager();
+
+    }
+    catch(const std::exception&)
+    {
+        cleanup();
+        throw;
+    }
+}
+
+static SBMLDocument *createEmptyDocument()
+{
+    SBMLDocument *doc = new SBMLDocument();
+    doc->createModel("");
+    return doc;
+}
+
+ModelGeneratorContext::ModelGeneratorContext() :
+        ownedDoc(createEmptyDocument()),
+        doc(ownedDoc),
+        symbols(new LLVMModelDataSymbols(doc->getModel(), 0)),
+        modelSymbols(new LLVMModelSymbols(getModel(), *symbols)),
+        errString(new string()),
+        options(0),
+        functionPassManager(0)
+{
+    // initialize LLVM
+    // TODO check result
+    InitializeNativeTarget();
+
+    context = new LLVMContext();
+    // Make the module, which holds all the code.
+    module = new Module("LLVM Module", *context);
+
+    builder = new IRBuilder<>(*context);
+
+    errString = new std::string();
+
+    EngineBuilder engineBuilder(module);
+    //engineBuilder.setEngineKind(EngineKind::JIT);
+    engineBuilder.setErrorStr(errString);
+    executionEngine = engineBuilder.create();
+
+    addGlobalMappings();
+}
+
+Random* ModelGeneratorContext::getRandom() const
+{
+    return random;
+}
+
+void ModelGeneratorContext::cleanup()
+{
+    delete functionPassManager; functionPassManager = 0;
+    delete modelSymbols; modelSymbols = 0;
+    delete symbols; symbols = 0;
+    delete builder; builder = 0;
+    delete executionEngine; executionEngine = 0;
+    delete context; context = 0;
+    delete moietyConverter; moietyConverter = 0;
+    delete ownedDoc; ownedDoc = 0;
+    delete errString; errString = 0;
+}
+
+
+ModelGeneratorContext::~ModelGeneratorContext()
+{
+    cleanup();
+}
+
+llvm::LLVMContext &ModelGeneratorContext::getContext() const
+{
+    return *context;
+}
+
+llvm::ExecutionEngine &ModelGeneratorContext::getExecutionEngine() const
+{
+    return *executionEngine;
+}
+
+const LLVMModelDataSymbols& ModelGeneratorContext::getModelDataSymbols() const
+{
+    return *symbols;
+}
+
+const libsbml::SBMLDocument* ModelGeneratorContext::getDocument() const
+{
+    return doc;
+}
+
+const libsbml::Model* ModelGeneratorContext::getModel() const
+{
+    return doc->getModel();
+}
+
+
+llvm::Module *ModelGeneratorContext::getModule() const
+{
+    return module;
+}
+
+llvm::IRBuilder<> &ModelGeneratorContext::getBuilder() const
+{
+    return *builder;
+}
+
+void ModelGeneratorContext::stealThePeach(const LLVMModelDataSymbols **sym,
+        const llvm::LLVMContext** ctx, const llvm::ExecutionEngine** eng,
+        const Random** rnd, const string** err)
+{
+    *sym = symbols;
+    symbols = 0;
+    *ctx = context;
+    context = 0;
+    *eng = executionEngine;
+    executionEngine = 0;
+    *rnd = random;
+    random = 0;
+    *err = errString;
+    errString = 0;
+}
+
+const LLVMModelSymbols& ModelGeneratorContext::getModelSymbols() const
+{
+    return *modelSymbols;
+}
+
+bool ModelGeneratorContext::getConservedMoietyAnalysis() const
+{
+    return (options & LoadSBMLOptions::CONSERVED_MOIETIES) != 0;
+}
+
+bool ModelGeneratorContext::useSymbolCache() const
+{
+    return (options & LoadSBMLOptions::LLVM_SYMBOL_CACHE) != 0;
+}
+
+llvm::FunctionPassManager* ModelGeneratorContext::getFunctionPassManager() const
+{
+    return functionPassManager;
+}
+
+void ModelGeneratorContext::initFunctionPassManager()
+{
+    if (options & LoadSBMLOptions::OPTIMIZE)
+    {
+        functionPassManager = new FunctionPassManager(module);
+
+    // Set up the optimizer pipeline.  Start with registering info about how the
+    // target lays out data structures.
+
+    // we only support LLVM >= 3.1
+#if (LLVM_VERSION_MAJOR == 3) && (LLVM_VERSION_MINOR == 1)
+    functionPassManager->add(new TargetData(*executionEngine->getTargetData()));
+#elif (LLVM_VERSION_MINOR <= 4)
+    functionPassManager->add(new DataLayout(*executionEngine->getDataLayout()));
+#else // LLVM_VERSION_MINOR > 4
+    // Needed for LLVM 3.5 regardless of architecture
+    // also, should use DataLayoutPass(module) per Renato (http://reviews.llvm.org/D4607)
+    functionPassManager->add(new DataLayoutPass(module));
+#endif
+
+         // Provide basic AliasAnalysis support for GVN.
+        functionPassManager->add(createBasicAliasAnalysisPass());
+
+
+        if (options & LoadSBMLOptions::OPTIMIZE_INSTRUCTION_SIMPLIFIER)
+        {
+            Log(Logger::LOG_INFORMATION) << "using OPTIMIZE_INSTRUCTION_SIMPLIFIER";
+            functionPassManager->add(createInstructionSimplifierPass());
+        }
+
+        if (options & LoadSBMLOptions::OPTIMIZE_INSTRUCTION_COMBINING)
+        {
+            Log(Logger::LOG_INFORMATION) << "using OPTIMIZE_INSTRUCTION_COMBINING";
+            functionPassManager->add(createInstructionCombiningPass());
+        }
+
+        if(options & LoadSBMLOptions::OPTIMIZE_GVN)
+        {
+            Log(Logger::LOG_INFORMATION) << "using GVN optimization";
+            functionPassManager->add(createGVNPass());
+        }
+
+        if (options & LoadSBMLOptions::OPTIMIZE_CFG_SIMPLIFICATION)
+        {
+            Log(Logger::LOG_INFORMATION) << "using OPTIMIZE_CFG_SIMPLIFICATION";
+            functionPassManager->add(createCFGSimplificationPass());
+        }
+
+        if (options & LoadSBMLOptions::OPTIMIZE_DEAD_INST_ELIMINATION)
+        {
+            Log(Logger::LOG_INFORMATION) << "using OPTIMIZE_DEAD_INST_ELIMINATION";
+            functionPassManager->add(createDeadInstEliminationPass());
+        }
+
+        if (options & LoadSBMLOptions::OPTIMIZE_DEAD_CODE_ELIMINATION)
+        {
+            Log(Logger::LOG_INFORMATION) << "using OPTIMIZE_DEAD_CODE_ELIMINATION";
+            functionPassManager->add(createDeadCodeEliminationPass());
+        }
+
+
+        functionPassManager->doInitialization();
+    }
+}
+
+
+/*********************** TESTING STUFF WILL GO AWAY EVENTUALLY ***********************/
+
+static void dispDouble(double d) {
+    cout << __FUNC__ << ": " << d << "\n";
+}
+
+static void dispInt(int i) {
+    cout << __FUNC__ << ": " << i << "\n";
+}
+
+static void dispChar(char c) {
+    cout << __FUNC__ << ": " << (int)c << "\n";
+}
+
+/*************************************************************************************/
+
+void ModelGeneratorContext::addGlobalMappings()
+{
+    LLVMContext& context = module->getContext();
+    Type *double_type = Type::getDoubleTy(context);
+    Type *int_type = Type::getInt32Ty(context);
+    Type* args_i1[] = { int_type };
+    Type* args_d1[] = { double_type };
+    Type* args_d2[] = { double_type, double_type };
+
+    executionEngine->addGlobalMapping(ModelDataIRBuilder::getCSRMatrixSetNZDecl(module), (void*)rr::csr_matrix_set_nz);
+    executionEngine->addGlobalMapping(ModelDataIRBuilder::getCSRMatrixGetNZDecl(module), (void*)rr::csr_matrix_get_nz);
+    executionEngine->addGlobalMapping(LLVMModelDataIRBuilderTesting::getDispIntDecl(module), (void*)dispInt);
+    executionEngine->addGlobalMapping(LLVMModelDataIRBuilderTesting::getDispDoubleDecl(module), (void*)dispDouble);
+    executionEngine->addGlobalMapping(LLVMModelDataIRBuilderTesting::getDispCharDecl(module), (void*)dispChar);
+
+    // AST_FUNCTION_ARCCOT:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("arccot",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::arccot);
+
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("rr_arccot_negzero",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::arccot_negzero);
+
+    // AST_FUNCTION_ARCCOTH:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("arccoth",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::arccoth);
+
+    // AST_FUNCTION_ARCCSC:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("arccsc",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::arccsc);
+
+    // AST_FUNCTION_ARCCSCH:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("arccsch",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::arccsch);
+
+    // AST_FUNCTION_ARCSEC:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("arcsec",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::arcsec);
+
+    // AST_FUNCTION_ARCSECH:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("arcsech",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::arcsech);
+
+    // AST_FUNCTION_COT:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("cot",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::cot);
+
+    // AST_FUNCTION_COTH:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("coth",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::coth);
+
+    // AST_FUNCTION_CSC:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("csc",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::csc);
+
+    // AST_FUNCTION_CSCH:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("csch",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::csch);
+
+    // AST_FUNCTION_FACTORIAL:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("rr_factoriali",
+                    FunctionType::get(int_type, args_i1, false), module),
+                        (void*) sbmlsupport::factoriali);
+
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("rr_factoriald",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::factoriald);
+
+    // case AST_FUNCTION_LOG:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("rr_logd",
+                    FunctionType::get(double_type, args_d2, false), module),
+                        (void*) sbmlsupport::logd);
+
+    // AST_FUNCTION_ROOT:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("rr_rootd",
+                    FunctionType::get(double_type, args_d2, false), module),
+                        (void*) sbmlsupport::rootd);
+
+    // AST_FUNCTION_SEC:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("sec",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::sec);
+
+    // AST_FUNCTION_SECH:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("sech",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*) sbmlsupport::sech);
+
+    // AST_FUNCTION_ARCCOSH:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("arccosh",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*)static_cast<double (*)(double)>(acosh));
+
+    // AST_FUNCTION_ARCSINH:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("arcsinh",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*)static_cast<double (*)(double)>(asinh));
+
+    // AST_FUNCTION_ARCTANH:
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("arctanh",
+                    FunctionType::get(double_type, args_d1, false), module),
+                        (void*)static_cast<double (*)(double)>(atanh));
+
+}
+
+static void createLibraryFunctions(Module* module)
+{
+    LLVMContext& context = module->getContext();
+    Type *double_type = Type::getDoubleTy(context);
+    Type* args_d1[] = { double_type };
+    Type* args_d2[] = { double_type, double_type };
+
+    /// double pow(double x, double y);
+    createLibraryFunction(LibFunc::pow,
+            FunctionType::get(double_type, args_d2, false), module);
+
+    /// double fabs(double x);
+    createLibraryFunction(LibFunc::fabs,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double acos(double x);
+    createLibraryFunction(LibFunc::acos,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double asin(double x);
+    createLibraryFunction(LibFunc::asin,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double atan(double x);
+    createLibraryFunction(LibFunc::atan,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double ceil(double x);
+    createLibraryFunction(LibFunc::ceil,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double cos(double x);
+    createLibraryFunction(LibFunc::cos,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double cosh(double x);
+    createLibraryFunction(LibFunc::cosh,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double exp(double x);
+    createLibraryFunction(LibFunc::exp,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double floor(double x);
+    createLibraryFunction(LibFunc::floor,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double log(double x);
+    createLibraryFunction(LibFunc::log,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double log10(double x);
+    createLibraryFunction(LibFunc::log10,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double sin(double x);
+    createLibraryFunction(LibFunc::sin,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double sinh(double x);
+    createLibraryFunction(LibFunc::sinh,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double tan(double x);
+    createLibraryFunction(LibFunc::tan,
+            FunctionType::get(double_type, args_d1, false), module);
+
+    /// double tanh(double x);
+    createLibraryFunction(LibFunc::tanh,
+            FunctionType::get(double_type, args_d1, false), module);
+}
+
+static void createLibraryFunction(llvm::LibFunc::Func funcId,
+        llvm::FunctionType *funcType, Module* module)
+{
+    TargetLibraryInfo targetLib;
+
+    if (targetLib.has(funcId))
+    {
+        Function::Create(funcType, Function::ExternalLinkage,
+                targetLib.getName(funcId), module);
+    }
+    else
+    {
+        string msg = "native target does not have library function for ";
+        msg += targetLib.getName(funcId);
+        throw_llvm_exception(msg);
+    }
+}
+
+static Function* createGlobalMappingFunction(const char* funcName,
+        llvm::FunctionType *funcType, Module *module)
+{
+    return Function::Create(funcType, Function::InternalLinkage, funcName, module);
+}
+
+static SBMLDocument *checkedReadSBMLFromString(const char* xml)
+{
+    SBMLDocument *doc = readSBMLFromString(xml);
+
+    if (doc)
+    {
+        if (doc->getModel() == 0)
+        {
+            // fatal error
+            SBMLErrorLog *log = doc->getErrorLog();
+            string errors = log ? log->toString() : " NULL SBML Error Log";
+            delete doc;
+            throw_llvm_exception("Fatal SBML error, no model, errors in sbml document: " + errors);
+        }
+        else if (doc->getNumErrors() > 0)
+        {
+            SBMLErrorLog *log = doc->getErrorLog();
+            string errors = log ? log->toString() : " NULL SBML Error Log";
+            Log(rr::Logger::LOG_WARNING) << "Warning, errors found in sbml document: " + errors;
+        }
+    }
+    else
+    {
+        delete doc;
+        throw_llvm_exception("readSBMLFromString returned NULL, no further information available");
+    }
+    return doc;
+}
+
+
+
+
+
+} /* namespace rr */
+
+
diff --git a/source/llvm/ModelGeneratorContext.h b/source/llvm/ModelGeneratorContext.h
new file mode 100644
index 0000000..360be45
--- /dev/null
+++ b/source/llvm/ModelGeneratorContext.h
@@ -0,0 +1,243 @@
+/*
+ * ModelGeneratorContext.h
+ *
+ *  Created on: Jun 18, 2013
+ *
+ * Author: Andy Somogyi,
+ *     email decode: V1 = "."; V2 = "@"; V3 = V1;
+ *     andy V1 somogyi V2 gmail V3 com
+ */
+
+#ifndef ModelGeneratorContext_H_
+#define ModelGeneratorContext_H_
+
+#include "LLVMIncludes.h"
+#include "LLVMModelDataSymbols.h"
+#include "LLVMModelSymbols.h"
+#include "Random.h"
+
+#include <sbml/Model.h>
+#include <sbml/SBMLDocument.h>
+#include <string>
+
+namespace libsbml {
+class SBMLDocument;
+class Model;
+}
+
+namespace rr { namespace conservation {
+class ConservedMoietyConverter;
+}}
+
+namespace rrllvm
+{
+
+/**
+ * All LLVM code generating objects basically need at a minimum three things
+ * to operate:
+ *
+ * 1: sbml Model - what to process
+ * 2: llvm Context - all llvm functions need this, manages llvm memory
+ * 3: llvm Module - where the generated code will go
+ *
+ *
+ * Code generators also need to know the symbols that are in the sbml doc.
+ * These *could* be re-determined in each code gen, but wastefull. The
+ * symbols can be thought of as the first pass of the compiler, so all symbols
+ * are determined ahead of time before any code generation.
+ *
+ * They also make use of an llvm IRBuilder, one of these *could* be allocated
+ * in each code gen object, but that would be wastefull, so we use a single one
+ * per sbml compilation, and each code gen just resets the builder insert point,
+ * that is what is was designed to do.
+ *
+ * So, that leaves us with 5 object that are needed by code generators.
+ * Should all code gens have all 5 args passed to thier ctors? There is much
+ * talk about how context objects are evil, however this one is NOT inteneded to
+ * grow, only store the absolute minimun information that all code generators
+ * need.
+ *
+ * This class basically functions as a set of ivars if all code generators
+ * were methods on a single code gen class.
+ *
+ * TODO doc wise discuss the problems with context objects, and why this one
+ * address all the concerns.
+ *
+ * TODO document memory managment, engine owns model, ...
+ */
+class ModelGeneratorContext
+{
+public:
+    /**
+     * load the sbml document from a string.
+     */
+    ModelGeneratorContext(std::string const &sbml, unsigned loadSBMLOptions);
+
+    /**
+     * attach to an existing sbml document, we borrow a reference to this
+     * doc and DO NOT take ownership of it.
+     */
+    ModelGeneratorContext(libsbml::SBMLDocument const *doc,
+            unsigned loadSBMLOptions);
+
+    /**
+     * does not attach to any sbml doc,
+     *
+     * useful for testing out LLVM functionality.
+     */
+    ModelGeneratorContext();
+
+    ~ModelGeneratorContext();
+
+    const LLVMModelDataSymbols &getModelDataSymbols() const;
+
+    const LLVMModelSymbols &getModelSymbols() const;
+
+    const libsbml::SBMLDocument *getDocument() const;
+
+    const libsbml::Model *getModel() const;
+
+
+    llvm::LLVMContext &getContext() const;
+
+    llvm::ExecutionEngine &getExecutionEngine() const;
+
+    /**
+     * nearly all llvm functions expect a pointer to module, so we define this
+     * as a pointer type instead of reference, even though we gaurantee this to
+     * be non-null
+     */
+    llvm::Module *getModule() const;
+
+    /**
+     * if optimization is enabled, this gets the function pass
+     * manager loaded with all the requested optimizers.
+     * NULL if no optimization is specified.
+     */
+    llvm::FunctionPassManager *getFunctionPassManager() const;
+
+    llvm::IRBuilder<> &getBuilder() const;
+
+    /**
+     * A lot can go wrong in the process of generating a model from  an sbml doc.
+     * This class is intended to be stack allocated, so when any exception is
+     * thrown in the course of model generation, this class will clean
+     * up all the contexts and execution engines and so forth.
+     *
+     * However, when a model is successfully generated, we need a way to give
+     * it the exec engine, and whatever other bits it requires.
+     *
+     * So, this method exists so that the generated model can steal all the
+     * objects it needs from us, these object are transfered to the model,
+     * and our pointers to them are cleared.
+     *
+     * Monkey steals the peach -- A martial arts technique mastered by
+     * Michael Wu which is in effect, the act of ripping someone's bollocks off.
+     */
+    void stealThePeach(const LLVMModelDataSymbols **sym,
+            const llvm::LLVMContext **ctx, const llvm::ExecutionEngine **eng,
+            const Random **random, const std::string **errStr);
+
+
+    bool getConservedMoietyAnalysis() const;
+
+    bool useSymbolCache() const;
+
+    unsigned getOptions() const
+    {
+        return options;
+    }
+
+    /**
+     * get a pointer to the random object.
+     *
+     * The random object exists if the document has the distrib package,
+     * is null otherwise.
+     */
+    Random* getRandom() const;
+
+private:
+
+    /**
+     * set the execution engine's global mappings to the rr functions
+     * that are accessible from the LLVM generated code.
+     */
+    void addGlobalMappings();
+
+    /**
+     * these point to the same location, ownedDoc is set if we create the doc,
+     * otherwise its 0, meaning we're borrowign the the doc.
+     */
+    libsbml::SBMLDocument *ownedDoc;
+
+    /**
+     * allways references the sbml doc.
+     */
+    const libsbml::SBMLDocument *doc;
+
+    LLVMModelDataSymbols *symbols;
+
+    /**
+     * make sure this is listed AFTER the doc and model, so it get
+     * initialized after the previous two are initialized.
+     */
+    LLVMModelSymbols *modelSymbols;
+
+    std::string *errString;
+
+    llvm::LLVMContext *context;
+    llvm::ExecutionEngine *executionEngine;
+    llvm::Module *module;
+
+    llvm::IRBuilder<> *builder;
+
+    llvm::FunctionPassManager *functionPassManager;
+
+    /**
+     * As the model is being generated, various distributions may be created
+     * which are added to the random object.
+     *
+     * Ownership of the random object is then transfered to the ExecutableModel
+     * which owns up untill the ExecutableModel is destroyed.
+     *
+     * The logic here is that many distributions used the normal_distribution
+     * object which maintains a state and has an expensive startup cost. So,
+     * the distributions are created whilst the model is being generated,
+     * and then the distribution calls just end up calling an existing
+     * distribution object inside this class.
+     *
+     * A pointer to this object is stored in the ModelData struct, and when
+     * the generated sbml code calls a stochastic dist function, it passes
+     * in a pionter to this object so the func can look up the distribution.
+     *
+     * The alternative to this approach would have been to simply have global
+     * distributions and a global RNG. This however would use more memory and
+     * would not be thread safe, and the RNG would have to be shared amoungst
+     * multiple models, and would not be be able to create a repeatable stream
+     * of random numbers.
+     */
+    Random *random;
+
+    unsigned options;
+
+    /**
+     * the moiety converter, for the time being owns the
+     * converted document.
+     */
+    rr::conservation::ConservedMoietyConverter *moietyConverter;
+
+    void initFunctionPassManager();
+
+    /**
+     * free any memory this class allocated.
+     */
+    void cleanup();
+};
+
+
+LLVMModelData *createModelData(const rrllvm::LLVMModelDataSymbols &symbols,
+        const Random* random);
+
+
+} /* namespace rr */
+#endif /* ModelGeneratorContext_H_ */
diff --git a/source/llvm/ModelInitialValueSymbolResolver.cpp b/source/llvm/ModelInitialValueSymbolResolver.cpp
new file mode 100644
index 0000000..1ee33ef
--- /dev/null
+++ b/source/llvm/ModelInitialValueSymbolResolver.cpp
@@ -0,0 +1,262 @@
+/*
+ * ModelInitialValueSymbolResolver.cpp
+ *
+ *  Created on: Oct 29, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "ModelInitialValueSymbolResolver.h"
+#include "ASTNodeCodeGen.h"
+#include "LLVMException.h"
+#include "FunctionResolver.h"
+#include <sbml/Model.h>
+
+using namespace std;
+using namespace libsbml;
+using namespace llvm;
+
+namespace rrllvm
+{
+
+ModelInitialValueSymbolResolver::ModelInitialValueSymbolResolver(
+        llvm::Value *modelData,
+        const ModelGeneratorContext& ctx) :
+            LoadSymbolResolverBase(ctx),
+            modelData(modelData)
+{
+}
+
+
+ModelInitialValueStoreSymbolResolver::ModelInitialValueStoreSymbolResolver(llvm::Value *modelData,
+        const libsbml::Model *model,
+        const LLVMModelSymbols &modelSymbols,
+        const LLVMModelDataSymbols &modelDataSymbols,
+        llvm::IRBuilder<> &builder,
+        LoadSymbolResolver &resolver) :
+            modelData(modelData),
+            model(model),
+            modelSymbols(modelSymbols),
+            modelDataSymbols(modelDataSymbols),
+            builder(builder),
+            resolver(resolver)
+{
+}
+
+
+llvm::Value* ModelInitialValueSymbolResolver::loadSymbolValue(
+        const std::string& symbol,
+        const llvm::ArrayRef<llvm::Value*>& args)
+{
+    ModelDataIRBuilder mdbuilder(modelData, modelDataSymbols, builder);
+
+    /*************************************************************************/
+    /* time */
+    /*************************************************************************/
+    if (symbol.compare(SBML_TIME_SYMBOL) == 0)
+    {
+        return ConstantFP::get(builder.getContext(), APFloat(0.0));
+    }
+
+    /*************************************************************************/
+    /* Function */
+    /*************************************************************************/
+    {
+        Value *funcVal =
+            FunctionResolver(*this, modelData, modelGenContext).loadSymbolValue(symbol, args);
+        if (funcVal)
+        {
+            return funcVal;
+        }
+    }
+
+    /*************************************************************************/
+    /* Initial AssignmentRule */
+    /*************************************************************************/
+    {
+        SymbolForest::ConstIterator i =
+                modelSymbols.getInitialAssignmentRules().find(symbol);
+        if (i != modelSymbols.getInitialAssignmentRules().end())
+        {
+            recursiveSymbolPush(symbol);
+            Value* result =  ASTNodeCodeGen(builder, *this).codeGen(i->second);
+            recursiveSymbolPop();
+            return result;
+        }
+    }
+
+    /*************************************************************************/
+    /* AssignmentRule */
+    /*************************************************************************/
+    if (!modelDataSymbols.isConservedMoietySpecies(symbol))
+    {
+        SymbolForest::ConstIterator i =
+                modelSymbols.getAssigmentRules().find(symbol);
+        if (i != modelSymbols.getAssigmentRules().end())
+        {
+            recursiveSymbolPush(symbol);
+            Value* result = ASTNodeCodeGen(builder, *this).codeGen(i->second);
+            recursiveSymbolPop();
+            return result;
+        }
+    }
+
+    if (modelDataSymbols.isIndependentInitFloatingSpecies(symbol))
+    {
+        const Species *species = model->getSpecies(symbol);
+
+        assert(species);
+
+        Value *amt = mdbuilder.createInitFloatSpeciesAmtLoad(symbol, symbol + "_amt");
+
+        // now we have an amount, check to see if we need to convert to conc
+        if (species->getHasOnlySubstanceUnits())
+        {
+            return amt;
+        }
+        else
+        {
+            // expect a concentration, need to convert amt to conc,
+            // so we need to get the compartment its in, but these
+            // can vary also...
+            Value *comp = loadSymbolValue(species->getCompartment());
+            return builder.CreateFDiv(amt, comp, symbol + "_conc");
+        }
+    }
+
+
+    else if (modelDataSymbols.isIndependentInitCompartment(symbol))
+    {
+        if (symbolStack.size())
+        {
+            if (modelDataSymbols.isIndependentCompartment(symbol))
+            {
+                return mdbuilder.createCompLoad(symbol);
+            }
+            else
+            {
+                assert(modelDataSymbols.hasRateRule(symbol)
+                        && "dependent compartment must have rate rule");
+                return mdbuilder.createRateRuleValueLoad(symbol);
+            }
+        }
+        else
+        {
+            return mdbuilder.createInitCompLoad(symbol);
+        }
+    }
+
+    // if we are in a rule, (symbolStack.size > 0), then we want to
+    // get the current values of compartments or symbols,
+    // so we can modify a parameters, and have any assigment rules
+    // used for init values pick up this value.
+    // if we're not in a rule, then the init resolver
+    // returns the init value.
+    else if (modelDataSymbols.isIndependentInitGlobalParameter(symbol))
+    {
+        if (symbolStack.size())
+        {
+            if (modelDataSymbols.isIndependentGlobalParameter(symbol))
+            {
+                return mdbuilder.createGlobalParamLoad(symbol);
+            }
+            else
+            {
+                assert(modelDataSymbols.hasRateRule(symbol)
+                        && "dependent global param must have rate rule");
+                return mdbuilder.createRateRuleValueLoad(symbol);
+            }
+        }
+        else
+        {
+            return mdbuilder.createInitGlobalParamLoad(symbol);
+        }
+    }
+
+    /*************************************************************************/
+    /* Initial Value */
+    /*************************************************************************/
+    {
+        SymbolForest::ConstIterator i =
+                modelSymbols.getInitialValues().find(symbol);
+
+        if (i != modelSymbols.getInitialValues().end())
+        {
+            return ASTNodeCodeGen(builder, *this).codeGen(i->second);
+        }
+    }
+
+    /*************************************************************************/
+    /* Reaction Rate */
+    /*************************************************************************/
+    const Reaction* reaction = model->getReaction(symbol);
+    if (reaction)
+    {
+        return loadReactionRate(reaction);
+    }
+
+    string msg = "Could not find requested symbol \'";
+    msg += symbol;
+    msg += "\' in the model";
+    throw_llvm_exception(msg);
+
+    return 0;
+}
+
+
+llvm::Value* ModelInitialValueStoreSymbolResolver::storeSymbolValue(
+        const std::string& symbol, llvm::Value *value)
+{
+    assert(value);
+
+    ModelDataIRBuilder mdbuilder(modelData, modelDataSymbols,
+            builder);
+
+
+    if (modelDataSymbols.isIndependentInitFloatingSpecies(symbol))
+    {
+        const Species *species = model->getSpecies(symbol);
+        assert(species);
+
+        Value *amt = 0;
+        // only amounts are stored, convert to conc if required
+        if (species->getHasOnlySubstanceUnits())
+        {
+            amt = value;
+        }
+        else
+        {
+            // have a conc, need to convert to amt
+            Value *comp = resolver.loadSymbolValue(species->getCompartment());
+            amt =  builder.CreateFMul(value, comp, symbol + "_amt");
+        }
+
+        assert(amt);
+
+        return mdbuilder.createInitFloatSpeciesAmtStore(symbol, amt);
+    }
+
+    else if (modelDataSymbols.isIndependentInitCompartment(symbol))
+    {
+        return mdbuilder.createInitCompStore(symbol, value);
+    }
+
+    else if (modelDataSymbols.isIndependentInitGlobalParameter(symbol))
+    {
+        return mdbuilder.createInitGlobalParamStore(symbol, value);
+    }
+
+
+    string msg = "The symbol \'";
+    msg += symbol;
+    msg += "\' is not physically stored in the ModelData structure, "
+            "it either does not exists or is defined by an assigment rule (hence it "
+            "is not a terminal symbol)";
+
+    throw_llvm_exception(msg);
+    return 0;
+}
+
+
+} /* namespace rr */
+
+
diff --git a/source/llvm/ModelInitialValueSymbolResolver.h b/source/llvm/ModelInitialValueSymbolResolver.h
new file mode 100644
index 0000000..23a20a7
--- /dev/null
+++ b/source/llvm/ModelInitialValueSymbolResolver.h
@@ -0,0 +1,70 @@
+/*
+ * ModelInitialValueSymbolResolver.h
+ *
+ *  Created on: Oct 29, 2013
+ *      Author: andy
+ */
+
+#ifndef ModelInitialValueSymbolResolver_H_
+#define ModelInitialValueSymbolResolver_H_
+
+#include "LoadSymbolResolverBase.h"
+#include "LLVMIncludes.h"
+#include "LLVMModelDataSymbols.h"
+#include "LLVMModelSymbols.h"
+
+namespace libsbml
+{
+class Model;
+}
+
+namespace rrllvm
+{
+
+/**
+ * pulls values from the initial conditions data blocks
+ */
+class ModelInitialValueSymbolResolver: public LoadSymbolResolverBase
+{
+public:
+
+    ModelInitialValueSymbolResolver(llvm::Value *modelData,
+            const ModelGeneratorContext& ctx);
+
+    virtual ~ModelInitialValueSymbolResolver() {};
+
+    virtual llvm::Value *loadSymbolValue(const std::string& symbol,
+            const llvm::ArrayRef<llvm::Value*>& args =
+                    llvm::ArrayRef<llvm::Value*>());
+
+private:
+    llvm::Value *modelData;
+};
+
+
+class ModelInitialValueStoreSymbolResolver : public StoreSymbolResolver
+{
+public:
+    ModelInitialValueStoreSymbolResolver(llvm::Value *modelData,
+            const libsbml::Model *model, const LLVMModelSymbols &modelSymbols,
+            const LLVMModelDataSymbols &modelDataSymbols,
+            llvm::IRBuilder<> &builder,
+            LoadSymbolResolver &resolver);
+
+    virtual ~ModelInitialValueStoreSymbolResolver() {};
+
+    virtual llvm::Value *storeSymbolValue(const std::string& symbol,
+            llvm::Value *value);
+private:
+
+    llvm::Value *modelData;
+    const libsbml::Model *model;
+    const LLVMModelSymbols &modelSymbols;
+    const LLVMModelDataSymbols &modelDataSymbols;
+    llvm::IRBuilder<> &builder;
+    LoadSymbolResolver &resolver;
+
+};
+
+} /* namespace rr */
+#endif /* ModelInitialValueSymbolResolver_H_ */
diff --git a/source/llvm/ModelResources.cpp b/source/llvm/ModelResources.cpp
new file mode 100644
index 0000000..3f8f4df
--- /dev/null
+++ b/source/llvm/ModelResources.cpp
@@ -0,0 +1,44 @@
+/*
+ * CachedModel.cpp
+ *
+ *  Created on: Aug 28, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "ModelResources.h"
+#include "Random.h"
+
+#include <rrLogger.h>
+
+using rr::Logger;
+using rr::getLogger;
+
+namespace rrllvm
+{
+
+ModelResources::ModelResources() :
+        symbols(0), executionEngine(0), context(0), random(0), errStr(0)
+{
+    // the reset of the ivars are assigned by the generator,
+    // and in an exception they are not, does not matter as
+    // we don't have to delete them.
+}
+
+ModelResources::~ModelResources()
+{
+    Log(Logger::LOG_DEBUG) << __FUNC__;
+
+    if (errStr && errStr->size() > 0)
+    {
+        Log(Logger::LOG_WARNING) << "Non-empty LLVM ExecutionEngine error string: " << *errStr;
+    }
+
+    delete symbols;
+    // the exe engine owns all the functions
+    delete executionEngine;
+    delete context;
+    delete random;
+    delete errStr;
+}
+
+} /* namespace rrllvm */
diff --git a/source/llvm/ModelResources.h b/source/llvm/ModelResources.h
new file mode 100644
index 0000000..e14cfb7
--- /dev/null
+++ b/source/llvm/ModelResources.h
@@ -0,0 +1,67 @@
+/*
+
+ * ModelResources.h
+ *
+ *  Created on: Aug 28, 2013
+ *      Author: andy
+ */
+
+#ifndef CACHEDMODEL_H_
+#define CACHEDMODEL_H_
+
+#include "LLVMExecutableModel.h"
+
+namespace rrllvm
+{
+
+class ModelResources
+{
+public:
+    ModelResources();
+    ~ModelResources();
+
+    const LLVMModelDataSymbols *symbols;
+    const llvm::LLVMContext *context;
+    const llvm::ExecutionEngine *executionEngine;
+    const class Random *random;
+    const std::string *errStr;
+
+    EvalInitialConditionsCodeGen::FunctionPtr evalInitialConditionsPtr;
+    EvalReactionRatesCodeGen::FunctionPtr evalReactionRatesPtr;
+    GetBoundarySpeciesAmountCodeGen::FunctionPtr getBoundarySpeciesAmountPtr;
+    GetFloatingSpeciesAmountCodeGen::FunctionPtr getFloatingSpeciesAmountPtr;
+    GetBoundarySpeciesConcentrationCodeGen::FunctionPtr getBoundarySpeciesConcentrationPtr;
+    GetFloatingSpeciesConcentrationCodeGen::FunctionPtr getFloatingSpeciesConcentrationPtr;
+    GetCompartmentVolumeCodeGen::FunctionPtr getCompartmentVolumePtr;
+    GetGlobalParameterCodeGen::FunctionPtr getGlobalParameterPtr;
+    EvalRateRuleRatesCodeGen::FunctionPtr evalRateRuleRatesPtr;
+    GetEventTriggerCodeGen::FunctionPtr getEventTriggerPtr;
+    GetEventPriorityCodeGen::FunctionPtr getEventPriorityPtr;
+    GetEventDelayCodeGen::FunctionPtr getEventDelayPtr;
+    EventTriggerCodeGen::FunctionPtr eventTriggerPtr;
+    EventAssignCodeGen::FunctionPtr eventAssignPtr;
+    EvalVolatileStoichCodeGen::FunctionPtr evalVolatileStoichPtr;
+    EvalConversionFactorCodeGen::FunctionPtr evalConversionFactorPtr;
+    SetBoundarySpeciesAmountCodeGen::FunctionPtr setBoundarySpeciesAmountPtr;
+    SetFloatingSpeciesAmountCodeGen::FunctionPtr setFloatingSpeciesAmountPtr;
+    SetBoundarySpeciesConcentrationCodeGen::FunctionPtr setBoundarySpeciesConcentrationPtr;
+    SetFloatingSpeciesConcentrationCodeGen::FunctionPtr setFloatingSpeciesConcentrationPtr;
+    SetCompartmentVolumeCodeGen::FunctionPtr setCompartmentVolumePtr;
+    SetGlobalParameterCodeGen::FunctionPtr setGlobalParameterPtr;
+
+    // init value accessors
+    SetFloatingSpeciesInitConcentrationCodeGen::FunctionPtr setFloatingSpeciesInitConcentrationsPtr;
+    GetFloatingSpeciesInitConcentrationCodeGen::FunctionPtr getFloatingSpeciesInitConcentrationsPtr;
+
+    SetFloatingSpeciesInitAmountCodeGen::FunctionPtr setFloatingSpeciesInitAmountsPtr;
+    GetFloatingSpeciesInitAmountCodeGen::FunctionPtr getFloatingSpeciesInitAmountsPtr;
+
+    GetCompartmentInitVolumeCodeGen::FunctionPtr getCompartmentInitVolumesPtr;
+    SetCompartmentInitVolumeCodeGen::FunctionPtr setCompartmentInitVolumesPtr;
+
+    GetGlobalParameterInitValueCodeGen::FunctionPtr getGlobalParameterInitValuePtr;
+    SetGlobalParameterInitValueCodeGen::FunctionPtr setGlobalParameterInitValuePtr;
+};
+
+} /* namespace rrllvm */
+#endif /* CACHEDMODEL_H_ */
diff --git a/source/llvm/Random.cpp b/source/llvm/Random.cpp
new file mode 100644
index 0000000..b53d4c5
--- /dev/null
+++ b/source/llvm/Random.cpp
@@ -0,0 +1,180 @@
+/*
+ * Random.cpp
+ *
+ *  Created on: Sep 23, 2014
+ *      Author: andy
+ */
+
+#include "Random.h"
+#include "ModelGeneratorContext.h"
+#include "LLVMIncludes.h"
+#include "rrLogger.h"
+#include "rrConfig.h"
+#include "rrUtils.h"
+#include <stdint.h>
+
+
+#if INTPTR_MAX == INT32_MAX
+    #define RR_32BIT
+#elif INTPTR_MAX == INT64_MAX
+   #define RR_64BIT
+#else
+    #error "Environment not 32 or 64-bit."
+#endif
+
+using rr::Logger;
+using rr::Config;
+using rr::getMicroSeconds;
+
+using namespace llvm;
+
+namespace rrllvm
+{
+
+typedef cxx11_ns::normal_distribution<double> NormalDist;
+
+static int randomCount = 0;
+
+/**
+ * random uniform distribution
+ */
+static double distrib_uniform(Random *random, double _min, double _max);
+
+static double distrib_normal(Random* random, double mu, double sigma);
+
+static Function* createGlobalMappingFunction(const char* funcName,
+        llvm::FunctionType *funcType, Module *module);
+
+static void addGlobalMappings(const ModelGeneratorContext& ctx);
+
+static int64_t defaultSeed()
+{
+    int64_t seed = Config::getValue(Config::RANDOM_SEED).convert<int>();
+    if (seed < 0)
+    {
+        // system time in mirsoseconds since 1970
+        seed = getMicroSeconds();
+    }
+    return seed;
+}
+
+Random::Random(ModelGeneratorContext& ctx)
+{
+    addGlobalMappings(ctx);
+    setRandomSeed(defaultSeed());
+    randomCount++;
+}
+
+Random::Random(const Random& other)
+{
+    *this = other;
+    setRandomSeed(defaultSeed());
+    randomCount++;
+}
+
+Random::Random()
+{
+    setRandomSeed(defaultSeed());
+    randomCount++;
+}
+
+Random& Random::operator =(const Random& rhs)
+{
+    engine = rhs.engine;
+    return *this;
+}
+
+Function* createGlobalMappingFunction(const char* funcName,
+        llvm::FunctionType *funcType, Module *module)
+{
+    return Function::Create(funcType, Function::InternalLinkage, funcName, module);
+}
+
+void addGlobalMappings(const ModelGeneratorContext& ctx)
+{
+    llvm::Module *module = ctx.getModule();
+    LLVMContext& context = module->getContext();
+    llvm::ExecutionEngine *executionEngine = &ctx.getExecutionEngine();
+    Type *double_type = Type::getDoubleTy(context);
+    Type *int_type = Type::getInt32Ty(context);
+
+
+    // LLVM does not appear to have a true void ptr, so just use a pointer
+    // to a byte, pointers are all the same size anyway.
+    // used for the LLVMModelData::random which is not accessed by
+    // generated llvm code anyway.
+    // see also, llvm::StructType *ModelDataIRBuilder::createModelDataStructType(...)
+    Type *voidPtrType = Type::getInt8PtrTy(context);
+
+    Type* args_void_double_double[] = { voidPtrType, double_type, double_type };
+
+
+
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("rr_distrib_uniform",
+                    FunctionType::get(double_type, args_void_double_double, false), module),
+                        (void*) distrib_uniform);
+
+    executionEngine->addGlobalMapping(
+            createGlobalMappingFunction("rr_distrib_normal",
+                    FunctionType::get(double_type, args_void_double_double, false), module),
+                        (void*) distrib_normal);
+
+}
+
+double distrib_uniform(Random *random, double _min, double _max)
+{
+    Log(Logger::LOG_DEBUG) << "distrib_uniform("
+            << static_cast<void*>(random)
+            << ", " << _min << ", " << _max << ")";
+
+#ifdef CXX11_RANDOM
+    cxx11_ns::uniform_real_distribution<double> dist(_min, _max);
+#else
+    cxx11_ns::uniform_real<double> dist(_min, _max);
+#endif
+    return dist(*random);
+}
+
+double distrib_normal(Random* random, double mu, double sigma)
+{
+    Log(Logger::LOG_DEBUG) << "distrib_normal("
+            << static_cast<void*>(random)
+            << ", " << mu << ", " << sigma << ")";
+
+    NormalDist normal(mu, sigma);
+    return normal(*random);
+}
+
+Random::~Random()
+{
+    --randomCount;
+    Log(Logger::LOG_TRACE) << "deleted Random object, count: " << randomCount;
+}
+
+double Random::operator ()()
+{
+    double range = engine.max() - engine.min();
+    return engine() / range;
+}
+
+void Random::setRandomSeed(int64_t val)
+{
+#ifdef RR_32BIT
+    unsigned long maxl = std::numeric_limits<unsigned long>::max() - 2;
+    unsigned long seed = val % maxl;
+    engine.seed(seed);
+    randomSeed = seed;
+#else
+    engine.seed(val);
+    randomSeed = val;
+#endif
+}
+
+int64_t Random::getRandomSeed()
+{
+    return randomSeed;
+}
+
+} /* namespace rrllvm */
+
diff --git a/source/llvm/Random.h b/source/llvm/Random.h
new file mode 100644
index 0000000..b952c67
--- /dev/null
+++ b/source/llvm/Random.h
@@ -0,0 +1,102 @@
+/*
+ * LLVMRandom.h
+ *
+ *  Created on: Sep 23, 2014
+ *      Author: andy
+ */
+
+#ifndef _RRLLVM_RANDOM_H_
+#define _RRLLVM_RANDOM_H_
+
+#include "tr1proxy/rr_random.h" // rr proxy to <random>
+#include <stdint.h>
+
+namespace rrllvm
+{
+
+class Random
+{
+public:
+    /**
+     * creates a new Random object and adds the distrib as global mappings
+     * to the execution engine.
+     */
+    Random(class ModelGeneratorContext& ctx);
+
+    /**
+     * copy constructor, copy the distributions but reset the RNG to what
+     * is specified by the config.
+     */
+    Random(const Random& other);
+
+    /**
+     * assignment operator, copies the fields from the
+     * other object, but does not re-intialize them.
+     */
+    Random& operator=( const Random& rhs);
+
+    /**
+     * default ctor, this obviously does not add any mappings to a
+     * ModelGeneratorContext. This would be used when a Random is created
+     * by itself, to use the attached RNG engine.
+     */
+    Random();
+
+    ~Random();
+
+    /**
+     * return a normalized random number between 0 and 1 using the
+     * RNG engine.
+     */
+    double operator()();
+
+#ifdef CXX11_RANDOM
+     /**
+     * used by random distributions
+     */
+    static constexpr unsigned long long min() { return 0; };
+
+    /**
+     * used by random distrbutions
+     */
+    static constexpr unsigned long long max() { return 1; };
+#else
+    /**
+     * min random number. MSVC looks at this, but gcc stdlib assumes normalized dist.
+     */
+    double min() { return 0.0; };
+
+    /**
+     * max random number. MSVC looks at this, but gcc stdlib assumes normalized dist.
+     */
+    double max() { return 1.0; };
+#endif
+
+    /**
+     * Try to hide the RNG, so we can use different RNGs in the future.
+     * set the seed used by the random number generator. This will by definition
+     * reset the RNG.
+     */
+    void setRandomSeed(int64_t);
+
+    /**
+     * Try to hide the RNG so we can used different RNGs in the future.
+     * get the seed used by the RNG.
+     */
+    int64_t getRandomSeed();
+
+    /**
+     * RNG engine.
+     */
+    cxx11_ns::mt19937 engine;
+
+private:
+    // seed that was used to seed the engine.
+    int64_t randomSeed;
+};
+
+
+
+} /* namespace rrllvm */
+
+#endif /* _RRLLVM_RANDOM_H_ */
diff --git a/source/llvm/SBMLInitialValueSymbolResolver.cpp b/source/llvm/SBMLInitialValueSymbolResolver.cpp
new file mode 100644
index 0000000..8e4b227
--- /dev/null
+++ b/source/llvm/SBMLInitialValueSymbolResolver.cpp
@@ -0,0 +1,101 @@
+/*
+ * SBMLInitialValueSymbolResolver.cpp
+ *
+ *  Created on: Jul 25, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "SBMLInitialValueSymbolResolver.h"
+#include "ASTNodeCodeGen.h"
+#include "LLVMException.h"
+#include "FunctionResolver.h"
+#include <sbml/Model.h>
+
+using namespace std;
+using namespace libsbml;
+using namespace llvm;
+
+namespace rrllvm
+{
+
+SBMLInitialValueSymbolResolver::SBMLInitialValueSymbolResolver(
+        llvm::Value *modelData,
+        const ModelGeneratorContext& ctx) :
+        LoadSymbolResolverBase(ctx), modelData(modelData)
+{
+}
+
+llvm::Value* SBMLInitialValueSymbolResolver::loadSymbolValue(
+        const std::string& symbol,
+        const llvm::ArrayRef<llvm::Value*>& args)
+{
+    /*************************************************************************/
+    /* time */
+    /*************************************************************************/
+    if (symbol.compare(SBML_TIME_SYMBOL) == 0)
+    {
+        return ConstantFP::get(builder.getContext(), APFloat(0.0));
+    }
+
+    /*************************************************************************/
+    /* Function */
+    /*************************************************************************/
+    {
+        Value *funcVal =
+            FunctionResolver(*this, modelData, modelGenContext).loadSymbolValue(symbol, args);
+
+        if (funcVal)
+        {
+            return funcVal;
+        }
+    }
+
+    /*************************************************************************/
+    /* AssignmentRule */
+    /*************************************************************************/
+    if (!modelDataSymbols.isConservedMoietySpecies(symbol))
+    {
+        SymbolForest::ConstIterator i =
+                modelSymbols.getAssigmentRules().find(symbol);
+        if (i != modelSymbols.getAssigmentRules().end())
+        {
+            recursiveSymbolPush(symbol);
+            Value* result = ASTNodeCodeGen(builder, *this).codeGen(i->second);
+            recursiveSymbolPop();
+            return result;
+        }
+    }
+
+    /*************************************************************************/
+    /* Initial Value */
+    /*************************************************************************/
+    {
+        SymbolForest::ConstIterator i =
+                modelSymbols.getInitialValues().find(symbol);
+
+        if (i != modelSymbols.getInitialValues().end())
+        {
+            return ASTNodeCodeGen(builder, *this).codeGen(i->second);
+        }
+    }
+
+    /*************************************************************************/
+    /* Reaction Rate */
+    /*************************************************************************/
+    const Reaction* reaction = model->getReaction(symbol);
+    if (reaction)
+    {
+        return loadReactionRate(reaction);
+    }
+
+    string msg = "Could not find requested symbol \'";
+    msg += symbol;
+    msg += "\' in the model";
+    throw_llvm_exception(msg);
+
+    return 0;
+}
+
+} /* namespace rr */
+
+
diff --git a/source/llvm/SBMLInitialValueSymbolResolver.h b/source/llvm/SBMLInitialValueSymbolResolver.h
new file mode 100644
index 0000000..ad1400d
--- /dev/null
+++ b/source/llvm/SBMLInitialValueSymbolResolver.h
@@ -0,0 +1,51 @@
+/*
+ * SBMLInitialValueSymbolResolver.h
+ *
+ *  Created on: Jul 25, 2013
+ *      Author: andy
+ */
+
+#ifndef SBMLInitialValueSymbolResolver_H_
+#define SBMLInitialValueSymbolResolver_H_
+
+#include "LoadSymbolResolverBase.h"
+#include "LLVMIncludes.h"
+#include "LLVMModelDataSymbols.h"
+#include "LLVMModelSymbols.h"
+
+namespace libsbml
+{
+class Model;
+}
+
+namespace rrllvm
+{
+
+/**
+ * pulls values from the original sbml document.
+ */
+class SBMLInitialValueSymbolResolver: public LoadSymbolResolverBase
+{
+public:
+
+    /**
+     * need a modelData ptr because it holds state needed from the random
+     * number generators, could be used for init assignmnets.
+     */
+    SBMLInitialValueSymbolResolver(llvm::Value *modelData,
+            const ModelGeneratorContext& ctx);
+
+
+    virtual ~SBMLInitialValueSymbolResolver() {};
+
+    virtual llvm::Value *loadSymbolValue(const std::string& symbol,
+            const llvm::ArrayRef<llvm::Value*>& args =
+                    llvm::ArrayRef<llvm::Value*>());
+
+private:
+    llvm::Value *modelData;
+
+};
+
+} /* namespace rr */
+#endif /* SBMLInitialValueSymbolResolver_H_ */
diff --git a/source/llvm/SBMLSupportFunctions.cpp b/source/llvm/SBMLSupportFunctions.cpp
new file mode 100644
index 0000000..59e399e
--- /dev/null
+++ b/source/llvm/SBMLSupportFunctions.cpp
@@ -0,0 +1,267 @@
+/*
+ * SBMLSupportFunctions.cpp
+ *
+ *  Created on: Aug 22, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "SBMLSupportFunctions.h"
+
+#define _USE_MATH_DEFINES
+#include <cmath>
+
+namespace sbmlsupport
+{
+
+double trunc(double d)
+{
+    return (d > 0) ? floor(d) : ceil(d) ;
+}
+
+double poweri(double x, int y)
+{
+//The following code goes into an endless loop when y is negative
+//    double value = 1.0;
+//    int count = 0;
+//    do
+//    {
+//        if(IS_ODD(exponent))
+//        {
+//            value *= base;
+//        }
+//        exponent >>= 1;
+//        base *= base;
+//        ++count;
+//    }
+//    while (exponent);
+//    return (value);
+
+    double  temp;
+    if( y == 0)
+    {
+       return 1;
+    }
+
+    temp = poweri(x, y/2);
+    if (y%2 == 0)
+    {
+        return temp*temp;
+    }
+    else
+    {
+        if(y > 0)
+            return x*temp*temp;
+        else
+            return (temp*temp)/x;
+    }
+}
+
+double spf_abs(double x)
+{
+    if(x < 0)
+    {
+        return -x;
+    }
+
+    return x;
+}
+
+double powerf(double base, double exponent)
+{
+    double result;
+    int sign = 1;
+    double x = 0;
+    if (base < 0)
+    {
+        sign = -1;
+        base = fabs(base);
+    }
+
+    if (exponent == 0.0)
+    {
+         return (1.0*sign);              // n**0 = 1
+    }
+
+    if ((base == 0.0) && (exponent > 0.0))
+    {
+         return (0.0);                   // 0**n = 0, n > 0
+    }
+
+    x = exponent - trunc (exponent);
+
+    if ((x == 0.0) && (fabs(exponent) <= 2147483647))
+    {
+        result = (sign*poweri(base, (int)trunc(exponent)));
+    }
+    else
+    {
+        result = (sign*exp(exponent * log(base)));
+    }
+    return result;
+}
+
+double logd(double base, double number)
+{
+    return std::log(number) / std::log(base);
+}
+
+double factoriald(double a)
+{
+
+    if (a <= 0 )
+    {
+        return 1;
+    }
+    return a * factoriald(a - 1);
+}
+
+int factoriali(int a)
+{
+
+    if (a <= 0 )
+    {
+        return 1;
+    }
+    return a * factoriali(a - 1);
+}
+
+double rootd(double a, double b)
+{
+    if(a != 0)
+    {
+        return std::pow(b, 1.0/a);
+    }
+    else
+    {
+        return 1.0;
+    }
+}
+
+
+double sec(double a)
+{
+    return 1./std::cos(a);
+}
+
+//// Cotangent
+double cot(double a)
+{
+    return 1./std::tan(a);
+}
+//
+//// Inverse cotangent
+double arccot(double a)
+{
+    double result;
+    if(a == 0.0)
+    {
+        result = M_PI/2.;
+    }
+    else
+    {
+        result = atan(1. / a);
+    }
+    return result;
+}
+
+double arccot_negzero(double a)
+{
+    double result;
+    if(a == 0.0)
+    {
+        result = -M_PI/2.;
+    }
+    else
+    {
+        result = atan(1. / a);
+    }
+    return result;
+}
+
+//// Inverse cotangent - ratio numerator and denominator provided
+double arccot2(double a, double b)
+{
+    return 0;
+}
+
+//// Inverse secant
+double arcsec(double a)
+{
+    return std::acos(1.0 / a);
+}
+
+//// Cosecant
+double csc(double a)
+{
+    return 1.0 / std::sin(a);
+}
+
+//// Inverse cosecant
+double arccsc(double a)
+{
+     return std::asin(1.0 / a);
+}
+
+//// Hyperbolic secant of a double number
+double sech(double a)
+{
+    return 1.0 / std::cosh(a);
+}
+
+//// Inverse hyperbolic secant of a double number
+double asech(double a)
+{
+    return std::log(1.0 / a + std::sqrt(std::pow(1.0 / a, 2.0) + 1.0));
+}
+
+double arcsech(double z)
+{
+    return std::log(1.0/z + std::sqrt(1.0/z + 1)*std::sqrt(1.0/z - 1));
+}
+
+//// Hyperbolic cosecant of a double number
+double csch(double a)
+{
+    return 1.0 / std::sinh(a);
+}
+
+//// Inverse hyperbolic cosecant of a double number
+double arccsch(double z)
+{
+    return std::log(1.0/z + std::sqrt(1.0/(z*z) + 1));
+}
+
+//// Hyperbolic cotangent of a double number
+double coth(double a)
+{
+    return std::cosh(a) / std::sinh(a);
+}
+
+//// Inverse hyperbolic cotangent of a double number
+double arccoth(double a)
+{
+    return (std::log(1.0 + (1.0 / a)) - std::log(1.0 - (1.0 / a))) / 2.0;
+}
+
+//// Inverse hyperbolic functions
+//// --------------------------------------------------------------
+//// Inverse hyperbolic sine of a double number
+double arcsinh(double a)
+{
+    return std::log(a + std::sqrt(std::pow(a, 2.0) + 1.0));
+}
+
+//// Inverse hyperbolic cosine of a double number
+double arccosh(double a)
+{
+    return std::log(a + (std::sqrt(std::pow(a, 2.0) - 1.0)));
+}
+
+//// Inverse hyperbolic tangent of a double number
+double arctanh(double a)
+{
+    return (std::log(1.0 + a) - std::log(1.0 - a)) / 2.0;
+}
+
+
+} /* namespace sbmlsupport */
diff --git a/source/llvm/SBMLSupportFunctions.h b/source/llvm/SBMLSupportFunctions.h
new file mode 100644
index 0000000..7d97358
--- /dev/null
+++ b/source/llvm/SBMLSupportFunctions.h
@@ -0,0 +1,92 @@
+/*
+ * SBMLSupportFunctions.h
+ *
+ *  Created on: Aug 22, 2013
+ *      Author: andy
+ */
+
+#ifndef SBMLSUPPORTFUNCTIONS_H_
+#define SBMLSUPPORTFUNCTIONS_H_
+
+namespace sbmlsupport
+{
+
+double trunc(double d);
+
+double poweri(double x, int y);
+
+double spf_abs(double x);
+
+double powerf(double base, double exponent);
+
+int factoriali(int a);
+
+double factoriald(double a);
+
+double rootd(double a, double b);
+
+double logd(double base, double number);
+
+double sec(double a);
+
+//// Cotangent
+double cot(double a);
+//
+//// Inverse cotangent
+double arccot(double a);
+
+/**
+ * flavor of arccot that returns -pi/2 for 0.
+ *
+ * Idiotic hack to pass test case 959
+ */
+double arccot_negzero(double a);
+
+//// Inverse cotangent - ratio numerator and denominator provided
+double arccot2(double a, double b);
+
+//// Inverse secant
+double arcsec(double a);
+
+//// Cosecant
+double csc(double a);
+
+//// Inverse cosecant
+double arccsc(double a);
+
+//// Hyperbolic secant of a double number
+double sech(double a);
+
+//// Inverse hyperbolic secant of a double number
+double arcsech(double a);
+
+double arcsech(double a);
+
+//// Hyperbolic cosecant of a double number
+double csch(double a);
+//// Inverse hyperbolic cosecant of a double number
+double arccsc(double a);
+//// Inverse hyperbolic cosecant of a double number
+double arccsch(double a);
+
+//// Hyperbolic cotangent of a double number
+double coth(double a);
+
+//// Inverse hyperbolic cotangent of a double number
+double arccoth(double a);
+
+//// Inverse hyperbolic functions
+//// --------------------------------------------------------------
+//// Inverse hyperbolic sine of a double number
+double arcsinh(double a);
+
+//// Inverse hyperbolic cosine of a double number
+double arccosh(double a);
+
+//// Inverse hyperbolic tangent of a double number
+double arctanh(double a);
+
+
+
+} /* namespace sbmlsupport */
+#endif /* SBMLSUPPORTFUNCTIONS_H_ */
diff --git a/source/llvm/SetInitialValueCodeGenBase.h b/source/llvm/SetInitialValueCodeGenBase.h
new file mode 100644
index 0000000..1e7bab3
--- /dev/null
+++ b/source/llvm/SetInitialValueCodeGenBase.h
@@ -0,0 +1,151 @@
+/*
+ *
+ *  Created on: Sept Oct 31, 2013
+ *      Author: andy
+ */
+
+#ifndef SETINITIALVALUECODEGENBASE_H_
+#define SETINITIALVALUECODEGENBASE_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "ModelInitialValueSymbolResolver.h"
+#include "LLVMException.h"
+#include "rrLogger.h"
+#include <sbml/Model.h>
+#include <Poco/Logger.h>
+#include <vector>
+
+namespace rrllvm
+{
+
+typedef bool (*SetInitialValueCodeGenBase_FunctionPtr)(LLVMModelData*, int32_t, double);
+
+template <typename Derived, bool substanceUnits>
+class SetInitialValueCodeGenBase :
+        public CodeGenBase<SetInitialValueCodeGenBase_FunctionPtr>
+{
+public:
+    SetInitialValueCodeGenBase(const ModelGeneratorContext &mgc);
+    virtual ~SetInitialValueCodeGenBase();
+
+    llvm::Value *codeGen();
+
+    typedef SetInitialValueCodeGenBase_FunctionPtr FunctionPtr;
+
+};
+
+template <typename Derived, bool substanceUnits>
+SetInitialValueCodeGenBase<Derived, substanceUnits>::SetInitialValueCodeGenBase(
+        const ModelGeneratorContext &mgc) :
+        CodeGenBase<SetInitialValueCodeGenBase_FunctionPtr>(mgc)
+{
+}
+
+template <typename Derived, bool substanceUnits>
+SetInitialValueCodeGenBase<Derived, substanceUnits>::~SetInitialValueCodeGenBase()
+{
+}
+
+template <typename Derived, bool substanceUnits>
+llvm::Value* SetInitialValueCodeGenBase<Derived, substanceUnits>::codeGen()
+{
+    // make the set init value function
+    llvm::Type *argTypes[] = {
+        llvm::PointerType::get(ModelDataIRBuilder::getStructType(this->module), 0),
+        llvm::Type::getInt32Ty(this->context),
+        llvm::Type::getDoubleTy(this->context)
+    };
+
+    const char *argNames[] = {
+        "modelData", Derived::IndexArgName, "value"
+    };
+
+    llvm::Value *args[] = {0, 0, 0};
+
+    llvm::BasicBlock *entry = this->codeGenHeader(Derived::FunctionName, llvm::Type::getInt8Ty(this->context),
+            argTypes, argNames, args);
+
+    StringIntVector ids = static_cast<Derived*>(this)->getIds();
+
+    // are we doing init symbols or regular symbols.
+    bool isInit = static_cast<Derived*>(this)->isInitialValue();
+
+    ModelInitialValueSymbolResolver loadResolver(args[0], this->modelGenContext);
+
+    ModelInitialValueStoreSymbolResolver storeResolver(args[0], this->model, this->modelSymbols,
+            this->dataSymbols, this->builder, loadResolver);
+
+    // default, return false
+    llvm::BasicBlock *def = llvm::BasicBlock::Create(this->context, "default", this->function);
+    this->builder.SetInsertPoint(def);
+
+    // false (0) retval
+    this->builder.CreateRet(llvm::ConstantInt::get(llvm::Type::getInt8Ty(this->context), 0));
+
+    // write the switch at the func entry point, the switch is also the
+    // entry block terminator
+    this->builder.SetInsertPoint(entry);
+
+    llvm::SwitchInst *s = this->builder.CreateSwitch(args[1], def, ids.size());
+
+    for (int i = 0; i < ids.size(); ++i)
+    {
+        llvm::BasicBlock *block = llvm::BasicBlock::Create(this->context, ids[i].first + "_block", this->function);
+        this->builder.SetInsertPoint(block);
+
+        // the value we are attempting to store, make a copy in loop scope
+        // because we can modify the copy.
+        llvm::Value *value = args[2];
+
+        std::string element = ids[i].first;
+
+        // need to check if we have an amount or concentration and check if we
+        // are asked for asked for an amount or concentration and convert accordingly
+        const libsbml::Species *species = dynamic_cast<const libsbml::Species*>(
+                const_cast<libsbml::Model*>(this->model)->getElementBySId(element));
+
+        if(species)
+        {
+            // get the id of the compartment the species belongs to
+            std::string compId = species->getCompartment();
+
+            llvm::Value *comp = loadResolver.loadSymbolValue(compId);
+
+            if (species->getHasOnlySubstanceUnits())
+            {
+                // species is treated as an amount
+                if (!substanceUnits)
+                {
+                    // given a conc, convert to amount
+                    value = this->builder.CreateFMul(value, comp, ids[i].first + "_amt");
+                }
+            }
+            else
+            {
+                // species is treated as a concentration
+                if (substanceUnits)
+                {
+                    // given an amount, need to convert to conc
+                    value = this->builder.CreateFDiv(value, comp, ids[i].first + "_value_conc");
+                }
+            }
+        }
+
+        // load after we've figured the species bits out
+        storeResolver.storeSymbolValue(ids[i].first, value);
+
+        // true retval
+        this->builder.CreateRet(llvm::ConstantInt::get(llvm::Type::getInt8Ty(this->context), 1));
+        s->addCase(llvm::ConstantInt::get(llvm::Type::getInt32Ty(this->context), ids[i].second), block);
+    }
+
+    return this->verifyFunction();
+}
+
+
+} /* namespace rrllvm */
+#endif /* SETINITIALVALUECODEGENBASE_H_ */
diff --git a/source/llvm/SetInitialValuesCodeGen.cpp b/source/llvm/SetInitialValuesCodeGen.cpp
new file mode 100644
index 0000000..57e1e52
--- /dev/null
+++ b/source/llvm/SetInitialValuesCodeGen.cpp
@@ -0,0 +1,126 @@
+/*
+ * GetValuesCodeGen.cpp
+ *
+ *  Created on: Sept 16, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "SetInitialValuesCodeGen.h"
+#include "LLVMException.h"
+#include "ModelDataSymbolResolver.h"
+#include "rrLogger.h"
+
+#include <Poco/Logger.h>
+#include <vector>
+#include <algorithm>
+
+using namespace llvm;
+using namespace std;
+
+
+
+namespace rrllvm
+{
+
+
+const char* SetFloatingSpeciesInitConcentrationCodeGen::FunctionName = "setFloatingSpeciesInitConcentrations";
+const char* SetFloatingSpeciesInitConcentrationCodeGen::IndexArgName = "floatingSpeciesIndex";
+
+SetFloatingSpeciesInitConcentrationCodeGen::SetFloatingSpeciesInitConcentrationCodeGen(
+        const ModelGeneratorContext &mgc) :
+        SetInitialValueCodeGenBase<SetFloatingSpeciesInitConcentrationCodeGen, false>(mgc)
+{
+}
+
+StringIntVector SetFloatingSpeciesInitConcentrationCodeGen::getIds()
+{
+    std::vector<string> ids = dataSymbols.getFloatingSpeciesIds();
+    StringIntVector result;
+
+    for(StringVector::iterator i = ids.begin(); i != ids.end(); ++i)
+    {
+        if (dataSymbols.isIndependentInitFloatingSpecies(*i))
+        {
+            result.push_back(make_pair(*i, distance(ids.begin(), i)));
+        }
+    }
+    return result;
+}
+
+
+const char* SetFloatingSpeciesInitAmountCodeGen::FunctionName = "setFloatingSpeciesInitAmounts";
+const char* SetFloatingSpeciesInitAmountCodeGen::IndexArgName = "floatingSpeciesIndex";
+
+SetFloatingSpeciesInitAmountCodeGen::SetFloatingSpeciesInitAmountCodeGen(
+        const ModelGeneratorContext &mgc) :
+        SetInitialValueCodeGenBase<SetFloatingSpeciesInitAmountCodeGen, true>(mgc)
+{
+}
+
+StringIntVector SetFloatingSpeciesInitAmountCodeGen::getIds()
+{
+    std::vector<string> ids = dataSymbols.getFloatingSpeciesIds();
+    StringIntVector result;
+
+    for(StringVector::iterator i = ids.begin(); i != ids.end(); ++i)
+    {
+        if (dataSymbols.isIndependentInitFloatingSpecies(*i))
+        {
+            result.push_back(make_pair(*i, distance(ids.begin(), i)));
+        }
+    }
+    return result;
+}
+
+const char* SetCompartmentInitVolumeCodeGen::FunctionName = "setCompartmentInitVolumes";
+const char* SetCompartmentInitVolumeCodeGen::IndexArgName = "compartmentIndex";
+
+SetCompartmentInitVolumeCodeGen::SetCompartmentInitVolumeCodeGen(
+        const ModelGeneratorContext &mgc) :
+        SetInitialValueCodeGenBase<SetCompartmentInitVolumeCodeGen, false>(mgc)
+{
+}
+
+StringIntVector SetCompartmentInitVolumeCodeGen::getIds()
+{
+    std::vector<string> ids = dataSymbols.getCompartmentIds();
+    StringIntVector result;
+
+    for(StringVector::iterator i = ids.begin(); i != ids.end(); ++i)
+    {
+        if (dataSymbols.isIndependentInitCompartment(*i))
+        {
+            result.push_back(make_pair(*i, distance(ids.begin(), i)));
+        }
+    }
+    return result;
+}
+
+
+const char* SetGlobalParameterInitValueCodeGen::FunctionName = "setGlobalParameterInitValues";
+const char* SetGlobalParameterInitValueCodeGen::IndexArgName = "globalParameterIndex";
+
+SetGlobalParameterInitValueCodeGen::SetGlobalParameterInitValueCodeGen(
+        const ModelGeneratorContext &mgc) :
+        SetInitialValueCodeGenBase<SetGlobalParameterInitValueCodeGen, false>(mgc)
+{
+}
+
+StringIntVector SetGlobalParameterInitValueCodeGen::getIds()
+{
+    std::vector<string> ids = dataSymbols.getGlobalParameterIds();
+    StringIntVector result;
+
+    for(StringVector::iterator i = ids.begin(); i != ids.end(); ++i)
+    {
+        if (dataSymbols.isIndependentInitGlobalParameter(*i))
+        {
+            result.push_back(make_pair(*i, distance(ids.begin(), i)));
+        }
+    }
+    return result;
+}
+
+
+} /* namespace rr */
+
diff --git a/source/llvm/SetInitialValuesCodeGen.h b/source/llvm/SetInitialValuesCodeGen.h
new file mode 100644
index 0000000..1fd381f
--- /dev/null
+++ b/source/llvm/SetInitialValuesCodeGen.h
@@ -0,0 +1,95 @@
+/*
+ * GetValuesCodeGen.h
+ *
+ *  Created on: Sept 16, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVMSETINITIALVALUESCODEGEN_H_
+#define RRLLVMSETINITIALVALUESCODEGEN_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "SetInitialValueCodeGenBase.h"
+#include <sbml/Model.h>
+
+namespace rrllvm
+{
+class SetFloatingSpeciesInitConcentrationCodeGen: public
+    SetInitialValueCodeGenBase<SetFloatingSpeciesInitConcentrationCodeGen, false>
+{
+public:
+    SetFloatingSpeciesInitConcentrationCodeGen(const ModelGeneratorContext &mgc);
+    ~SetFloatingSpeciesInitConcentrationCodeGen() {};
+
+    StringIntVector getIds();
+
+    bool isInitialValue() {
+        return true;
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+
+
+class SetFloatingSpeciesInitAmountCodeGen: public
+    SetInitialValueCodeGenBase<SetFloatingSpeciesInitAmountCodeGen, true>
+{
+public:
+    SetFloatingSpeciesInitAmountCodeGen(const ModelGeneratorContext &mgc);
+    ~SetFloatingSpeciesInitAmountCodeGen() {};
+
+    StringIntVector getIds();
+
+    bool isInitialValue() {
+        return true;
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+
+
+class SetCompartmentInitVolumeCodeGen: public
+    SetInitialValueCodeGenBase<SetCompartmentInitVolumeCodeGen, false>
+{
+public:
+    SetCompartmentInitVolumeCodeGen(const ModelGeneratorContext &mgc);
+    ~SetCompartmentInitVolumeCodeGen() {};
+
+    StringIntVector getIds();
+
+    bool isInitialValue() {
+        return true;
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class SetGlobalParameterInitValueCodeGen: public
+    SetInitialValueCodeGenBase<SetGlobalParameterInitValueCodeGen, false>
+{
+public:
+    SetGlobalParameterInitValueCodeGen(const ModelGeneratorContext &mgc);
+    ~SetGlobalParameterInitValueCodeGen() {};
+
+    StringIntVector getIds();
+
+    bool isInitialValue() {
+        return true;
+    }
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+
+} /* namespace rrllvm */
+#endif /* RRLLVMSETINITIALVALUESCODEGEN_H_ */
diff --git a/source/llvm/SetValueCodeGenBase.h b/source/llvm/SetValueCodeGenBase.h
new file mode 100644
index 0000000..e930596
--- /dev/null
+++ b/source/llvm/SetValueCodeGenBase.h
@@ -0,0 +1,143 @@
+/*
+ *
+ *  Created on: Sept 16, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVMSETVALUECODEGENBASE_H_
+#define RRLLVMSETVALUECODEGENBASE_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "ModelDataSymbolResolver.h"
+#include "LLVMException.h"
+#include "rrLogger.h"
+#include <sbml/Model.h>
+#include <Poco/Logger.h>
+#include <vector>
+
+namespace rrllvm
+{
+
+typedef bool (*SetValueCodeGenBase_FunctionPtr)(LLVMModelData*, int32_t, double);
+
+template <typename Derived, bool substanceUnits>
+class SetValueCodeGenBase :
+        public CodeGenBase<SetValueCodeGenBase_FunctionPtr>
+{
+public:
+    SetValueCodeGenBase(const ModelGeneratorContext &mgc);
+    virtual ~SetValueCodeGenBase();
+
+    llvm::Value *codeGen();
+
+    typedef SetValueCodeGenBase_FunctionPtr FunctionPtr;
+};
+
+template <typename Derived, bool substanceUnits>
+SetValueCodeGenBase<Derived, substanceUnits>::SetValueCodeGenBase(
+        const ModelGeneratorContext &mgc) :
+        CodeGenBase<SetValueCodeGenBase_FunctionPtr>(mgc)
+{
+}
+
+template <typename Derived, bool substanceUnits>
+SetValueCodeGenBase<Derived, substanceUnits>::~SetValueCodeGenBase()
+{
+}
+
+template <typename Derived, bool substanceUnits>
+llvm::Value* SetValueCodeGenBase<Derived, substanceUnits>::codeGen()
+{
+    // make the set init value function
+    llvm::Type *argTypes[] = {
+        llvm::PointerType::get(ModelDataIRBuilder::getStructType(this->module), 0),
+        llvm::Type::getInt32Ty(this->context),
+        llvm::Type::getDoubleTy(this->context)
+    };
+
+    const char *argNames[] = {
+        "modelData", Derived::IndexArgName, "value"
+    };
+
+    llvm::Value *args[] = {0, 0, 0};
+
+    llvm::BasicBlock *entry = this->codeGenHeader(Derived::FunctionName, llvm::Type::getInt8Ty(this->context),
+            argTypes, argNames, args);
+
+    StringIntVector ids = static_cast<Derived*>(this)->getIds();
+
+    ModelDataLoadSymbolResolver loadResolver(args[0], this->modelGenContext);
+
+    ModelDataStoreSymbolResolver storeResolver(args[0], this->model, this->modelSymbols,
+            this->dataSymbols, this->builder, loadResolver);
+
+    // default, return false
+    llvm::BasicBlock *def = llvm::BasicBlock::Create(this->context, "default", this->function);
+    this->builder.SetInsertPoint(def);
+
+    // false (0) retval
+    this->builder.CreateRet(llvm::ConstantInt::get(llvm::Type::getInt8Ty(this->context), 0));
+
+    // write the switch at the func entry point, the switch is also the
+    // entry block terminator
+    this->builder.SetInsertPoint(entry);
+
+    llvm::SwitchInst *s = this->builder.CreateSwitch(args[1], def, ids.size());
+
+    for (int i = 0; i < ids.size(); ++i)
+    {
+        llvm::BasicBlock *block = llvm::BasicBlock::Create(this->context, ids[i].first + "_block", this->function);
+        this->builder.SetInsertPoint(block);
+        loadResolver.flushCache();
+
+        // the value we are attempting to store, make a copy in loop scope
+        // because we can modify the copy.
+        llvm::Value *value = args[2];
+
+        // need to check if we have an amount or concentration and check if we
+        // are asked for asked for an amount or concentration and convert accordingly
+        const libsbml::Species *species = dynamic_cast<const libsbml::Species*>(
+                const_cast<libsbml::Model*>(this->model)->getElementBySId(ids[i].first));
+
+        if(species)
+        {
+            if (species->getHasOnlySubstanceUnits())
+            {
+                // species is treated as an amount
+                if (!substanceUnits)
+                {
+                    // given a conc, convert to amount
+                    llvm::Value *comp = loadResolver.loadSymbolValue(species->getCompartment());
+                    value = this->builder.CreateFMul(value, comp, ids[i].first + "_amt");
+                }
+            }
+            else
+            {
+                // species is treated as a concentration
+                if (substanceUnits)
+                {
+                    // given an amount, need to convert to conc
+                    llvm::Value *comp = loadResolver.loadSymbolValue(species->getCompartment());
+                    value = this->builder.CreateFDiv(value, comp, ids[i].first + "_value_conc");
+                }
+            }
+        }
+
+        // load after we've figured the species bits out
+        storeResolver.storeSymbolValue(ids[i].first, value);
+
+        // true retval
+        this->builder.CreateRet(llvm::ConstantInt::get(llvm::Type::getInt8Ty(this->context), 1));
+        s->addCase(llvm::ConstantInt::get(llvm::Type::getInt32Ty(this->context), ids[i].second), block);
+    }
+
+    return this->verifyFunction();
+}
+
+
+} /* namespace rrllvm */
+#endif /* RRLLVMSETVALUECODEGENBASE_H_ */
diff --git a/source/llvm/SetValuesCodeGen.cpp b/source/llvm/SetValuesCodeGen.cpp
new file mode 100644
index 0000000..d815017
--- /dev/null
+++ b/source/llvm/SetValuesCodeGen.cpp
@@ -0,0 +1,142 @@
+/*
+ * GetValuesCodeGen.cpp
+ *
+ *  Created on: Sept 16, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "SetValuesCodeGen.h"
+#include "LLVMException.h"
+#include "ModelDataSymbolResolver.h"
+#include "rrLogger.h"
+
+#include <Poco/Logger.h>
+#include <vector>
+#include <algorithm>
+
+using namespace llvm;
+using namespace std;
+
+
+
+namespace rrllvm
+{
+
+/**
+ * Filter list of elements which are assignable -- do not have assignment rules.
+ *
+ * Rate rule values may be assigned.
+ *
+ * C++ 11 has the copy_if template, but for the time being, we need to be
+ * compatible with older C++, so use our own filtering here.
+ */
+static StringIntVector independentElements(const LLVMModelDataSymbols &dataSymbols,
+        const std::vector<string> elements)
+{
+    StringIntVector result;
+
+    for(std::vector<string>::const_iterator i = elements.begin();
+            i != elements.end(); ++i)
+    {
+        if (!dataSymbols.hasAssignmentRule(*i))
+        {
+            result.push_back(make_pair(*i, distance(elements.begin(), i)));
+        }
+    }
+
+    return result;
+}
+
+
+
+const char* SetBoundarySpeciesAmountCodeGen::FunctionName = "setBoundarySpeciesAmount";
+const char* SetBoundarySpeciesAmountCodeGen::IndexArgName = "boundarySpeciesIndex";
+
+SetBoundarySpeciesAmountCodeGen::SetBoundarySpeciesAmountCodeGen(
+        const ModelGeneratorContext &mgc) :
+        SetValueCodeGenBase<SetBoundarySpeciesAmountCodeGen, true>(mgc)
+{
+}
+
+StringIntVector SetBoundarySpeciesAmountCodeGen::getIds()
+{
+    return independentElements(dataSymbols, dataSymbols.getBoundarySpeciesIds());
+}
+
+
+const char* SetFloatingSpeciesAmountCodeGen::FunctionName = "setFloatingSpeciesAmount";
+const char* SetFloatingSpeciesAmountCodeGen::IndexArgName = "floatingSpeciesIndex";
+
+SetFloatingSpeciesAmountCodeGen::SetFloatingSpeciesAmountCodeGen(
+        const ModelGeneratorContext &mgc) :
+        SetValueCodeGenBase<SetFloatingSpeciesAmountCodeGen, true>(mgc)
+{
+}
+
+StringIntVector SetFloatingSpeciesAmountCodeGen::getIds()
+{
+    return independentElements(dataSymbols, dataSymbols.getFloatingSpeciesIds());
+}
+
+
+const char* SetBoundarySpeciesConcentrationCodeGen::FunctionName = "setBoundarySpeciesConcentration";
+const char* SetBoundarySpeciesConcentrationCodeGen::IndexArgName = "boundarySpeciesIndex";
+
+SetBoundarySpeciesConcentrationCodeGen::SetBoundarySpeciesConcentrationCodeGen(
+        const ModelGeneratorContext &mgc) :
+        SetValueCodeGenBase<SetBoundarySpeciesConcentrationCodeGen, false>(mgc)
+{
+}
+
+StringIntVector SetBoundarySpeciesConcentrationCodeGen::getIds()
+{
+    return independentElements(dataSymbols, dataSymbols.getBoundarySpeciesIds());
+}
+
+
+const char* SetFloatingSpeciesConcentrationCodeGen::FunctionName = "setFloatingSpeciesConcentration";
+const char* SetFloatingSpeciesConcentrationCodeGen::IndexArgName = "floatingSpeciesIndex";
+
+SetFloatingSpeciesConcentrationCodeGen::SetFloatingSpeciesConcentrationCodeGen(
+        const ModelGeneratorContext &mgc) :
+        SetValueCodeGenBase<SetFloatingSpeciesConcentrationCodeGen, false>(mgc)
+{
+}
+
+StringIntVector SetFloatingSpeciesConcentrationCodeGen::getIds()
+{
+    return independentElements(dataSymbols, dataSymbols.getFloatingSpeciesIds());
+}
+
+
+const char* SetCompartmentVolumeCodeGen::FunctionName = "setCompartmentVolume";
+const char* SetCompartmentVolumeCodeGen::IndexArgName = "compartmentIndex";
+
+SetCompartmentVolumeCodeGen::SetCompartmentVolumeCodeGen(
+        const ModelGeneratorContext &mgc) :
+        SetValueCodeGenBase<SetCompartmentVolumeCodeGen, false>(mgc)
+{
+}
+
+StringIntVector SetCompartmentVolumeCodeGen::getIds()
+{
+    return independentElements(dataSymbols, dataSymbols.getCompartmentIds());
+}
+
+
+const char* SetGlobalParameterCodeGen::FunctionName = "setGlobalParameter";
+const char* SetGlobalParameterCodeGen::IndexArgName = "globalParameterIndex";
+
+SetGlobalParameterCodeGen::SetGlobalParameterCodeGen(
+        const ModelGeneratorContext &mgc) :
+        SetValueCodeGenBase<SetGlobalParameterCodeGen, false>(mgc)
+{
+}
+
+StringIntVector SetGlobalParameterCodeGen::getIds()
+{
+    return independentElements(dataSymbols, dataSymbols.getGlobalParameterIds());
+}
+
+} /* namespace rr */
+
diff --git a/source/llvm/SetValuesCodeGen.h b/source/llvm/SetValuesCodeGen.h
new file mode 100644
index 0000000..af1f059
--- /dev/null
+++ b/source/llvm/SetValuesCodeGen.h
@@ -0,0 +1,103 @@
+/*
+ * GetValuesCodeGen.h
+ *
+ *  Created on: Sept 16, 2013
+ *      Author: andy
+ */
+
+#ifndef RRLLVMSETVALUESCODEGEN_H_
+#define RRLLVMSETVALUESCODEGEN_H_
+
+#include "CodeGenBase.h"
+#include "ModelGeneratorContext.h"
+#include "SymbolForest.h"
+#include "ASTNodeFactory.h"
+#include "ModelDataIRBuilder.h"
+#include "SetValueCodeGenBase.h"
+#include <sbml/Model.h>
+
+namespace rrllvm
+{
+
+class SetBoundarySpeciesAmountCodeGen: public
+    SetValueCodeGenBase<SetBoundarySpeciesAmountCodeGen, true>
+{
+public:
+    SetBoundarySpeciesAmountCodeGen(const ModelGeneratorContext &mgc);
+    ~SetBoundarySpeciesAmountCodeGen() {};
+
+    StringIntVector getIds();
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class SetFloatingSpeciesAmountCodeGen: public
+    SetValueCodeGenBase<SetFloatingSpeciesAmountCodeGen, true>
+{
+public:
+    SetFloatingSpeciesAmountCodeGen(const ModelGeneratorContext &mgc);
+    ~SetFloatingSpeciesAmountCodeGen() {};
+
+    StringIntVector getIds();
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class SetBoundarySpeciesConcentrationCodeGen: public
+    SetValueCodeGenBase<SetBoundarySpeciesConcentrationCodeGen, false>
+{
+public:
+    SetBoundarySpeciesConcentrationCodeGen(const ModelGeneratorContext &mgc);
+    ~SetBoundarySpeciesConcentrationCodeGen() {};
+
+    StringIntVector getIds();
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class SetFloatingSpeciesConcentrationCodeGen: public
+    SetValueCodeGenBase<SetFloatingSpeciesConcentrationCodeGen, false>
+{
+public:
+    SetFloatingSpeciesConcentrationCodeGen(const ModelGeneratorContext &mgc);
+    ~SetFloatingSpeciesConcentrationCodeGen() {};
+
+    StringIntVector getIds();
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class SetCompartmentVolumeCodeGen: public
+    SetValueCodeGenBase<SetCompartmentVolumeCodeGen, false>
+{
+public:
+    SetCompartmentVolumeCodeGen(const ModelGeneratorContext &mgc);
+    ~SetCompartmentVolumeCodeGen() {};
+
+    StringIntVector getIds();
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+class SetGlobalParameterCodeGen: public
+    SetValueCodeGenBase<SetGlobalParameterCodeGen, false>
+{
+public:
+    SetGlobalParameterCodeGen(const ModelGeneratorContext &mgc);
+    ~SetGlobalParameterCodeGen() {};
+
+    StringIntVector getIds();
+
+    static const char* FunctionName;
+    static const char* IndexArgName;
+};
+
+
+
+} /* namespace rrllvm */
+#endif /* SETVALUESCODEGEN_H_ */
diff --git a/source/llvm/SymbolForest.h b/source/llvm/SymbolForest.h
new file mode 100644
index 0000000..24aaf95
--- /dev/null
+++ b/source/llvm/SymbolForest.h
@@ -0,0 +1,156 @@
+/*
+ * SymbolForest.h
+ *
+ *  Created on: Jul 3, 2013
+ *      Author: andy
+ */
+
+#ifndef SymbolForestH
+#define SymbolForestH
+
+#include <sbml/math/ASTNode.h>
+#include <map>
+#include <cassert>
+
+namespace rrllvm
+{
+using std::string;
+using std::map;
+
+/**
+ * Similar to a symbol table, except instead of a name / value,
+ * we have a name / tree, where the tree is the root of an ASTNode
+ * tree.
+ *
+ * The rationality behind this will be covered in the paper, but
+ * briefly its required because we are dealing with a declarative
+ * language in which the rules can be defined in any order.
+ *
+ * This class does not own anything, it just has const pointers
+ * to a set of ASTNodes which are owned either by the sbml model,
+ * or some containing class.
+ *
+ * This class basically stores the name / value of all the re-write rules
+ * (assigment or initial assigment).
+ */
+class SymbolForest
+{
+public:
+    typedef map<string, const libsbml::ASTNode*> Map;
+    typedef map<string, const libsbml::ASTNode*>::const_iterator _const_iterator;
+
+    /**
+     * syntatically the same as a map<string, const libsbml::ASTNode*>::const_iterator
+     *
+     * Designed so that the SymbolForest can behave like a std::map.
+     */
+    class ConstIterator
+    {
+    public:
+
+        const libsbml::ASTNode* second;
+
+        const ConstIterator* operator->() const
+        {
+            return this;
+        }
+
+        bool operator !=(const ConstIterator& other) const
+        {
+            return end != other.end;
+        }
+
+        ConstIterator & operator= (const ConstIterator & o)
+        {
+            this->second = o.second;
+            this->end = o.end;
+            // by convention, always return *this
+            return *this;
+        }
+
+        ConstIterator(const ConstIterator &o) : second(o.second), end(o.end)
+        {
+        }
+
+
+    private:
+
+        /**
+         * only SymbolForest can make one of these.
+         */
+        friend class SymbolForest;
+
+        /**
+         * not end, created from a valid iterator.
+         */
+        ConstIterator(_const_iterator i) : second(i->second), end(false)
+        {
+            assert(second && "must have valid ASTNode pointer");
+        }
+
+        /**
+         * the end
+         */
+        ConstIterator() : second(0), end(true)
+        {
+        }
+
+        // is the the end iterator.
+        bool end;
+    };
+
+    map<string, const libsbml::ASTNode*> floatingSpecies;
+    map<string, const libsbml::ASTNode*> boundarySpecies;
+    map<string, const libsbml::ASTNode*> compartments;
+    map<string, const libsbml::ASTNode*> globalParameters;
+    map<string, const libsbml::ASTNode*> speciesReferences;
+
+    /**
+     * find and end are designed to work identically to the map::find.
+     *
+     * Note that the resulting iterator is not iteratable, it is only suitable for
+     * comparing with end() and getting the value out of it.
+     */
+    const ConstIterator find(const map<string, const libsbml::ASTNode*>::key_type& x) const
+    {
+        _const_iterator result;
+
+        if ((result = floatingSpecies.find(x)) != floatingSpecies.end())
+        {
+            return ConstIterator(result);
+        }
+        else if ((result = boundarySpecies.find(x)) != boundarySpecies.end())
+        {
+            return ConstIterator(result);
+        }
+        else if ((result = compartments.find(x)) != compartments.end())
+        {
+            return ConstIterator(result);
+        }
+        else if ((result = globalParameters.find(x)) != globalParameters.end())
+        {
+            return ConstIterator(result);
+        }
+        else if ((result = speciesReferences.find(x)) != speciesReferences.end())
+        {
+            return ConstIterator(result);
+        }
+        else
+        {
+            return _end;
+        }
+    }
+
+    const ConstIterator& end() const
+    {
+        return _end;
+    }
+
+private:
+    ConstIterator _end;
+
+};
+
+
+} /* namespace rr */
+#endif /* LLVMSymbolForestH */
diff --git a/source/llvm_testing/CMakeLists.txt b/source/llvm_testing/CMakeLists.txt
new file mode 100644
index 0000000..33fdcee
--- /dev/null
+++ b/source/llvm_testing/CMakeLists.txt
@@ -0,0 +1,103 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(RR_CXX_API_TESTS)
+
+set(target llvm_testing)
+
+if (BUILD_PYTHON)
+
+    MESSAGE ("THIS IS PYTHON_INCLUDE_PATH " ${PYTHON_INCLUDE_PATH})
+
+    INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
+
+endif(BUILD_PYTHON)
+
+set(llvm_testing_src
+    main
+    src/tests
+    src/cpplapack
+    src/CSRMatrixTest
+    src/LLVMCSRMatrixTest
+    src/test_compiler
+    src/TestBase
+    src/TestEvalInitialConditions
+    src/TestGetSetValues
+    src/TestEvalReactionRates
+    src/TestEvalModel
+    src/TestRoadRunner
+    src/GetBoundarySpeciesAmountTest
+    src/TestCapabilities
+    src/ConfigurableTest
+    src/TestVariant
+    )
+
+if(LLVM_FLAGS)
+  set_source_files_properties(${llvm_testing_src} PROPERTIES COMPILE_FLAGS ${LLVM_FLAGS})
+endif()
+
+add_executable( ${target} ${llvm_testing_src} )
+
+set_property(TARGET ${target}
+    PROPERTY  COMPILE_DEFINITIONS
+    LIBSBML_USE_CPP_NAMESPACE
+    LIBSBML_STATIC
+    STATIC_LIBSTRUCT
+    STATIC_PUGI
+    STATIC_RR
+    STATIC_NLEQ
+    )
+
+link_directories(
+    ${THIRD_PARTY_INSTALL_FOLDER}/lib
+    )
+
+include_directories(
+    src
+    ${RR_ROOT}
+    ${RR_ROOT}/wrappers/C
+    ${THIRD_PARTY_INSTALL_FOLDER}/include/clapack
+    )
+
+if (BUILD_PYTHON)
+    target_link_libraries (${target} ${PYTHON_LIBRARIES})
+endif(BUILD_PYTHON)
+
+if(UNIX)
+    set(staticLibPrefix ".a")
+    set(sharedLibPrefix ".so")
+else()
+    set(staticLibPrefix "")
+    set(sharedLibPrefix "")
+endif()
+
+
+if(WIN32)
+    target_link_libraries (${target}
+        roadrunner-static
+        unit_test-static${staticLibPrefix}
+        )
+endif()
+
+if(UNIX)
+    target_link_libraries (${target}
+        roadrunner_c_api
+        roadrunner-static
+        libunit_test-static${staticLibPrefix}
+        lapack
+        blas
+        f2c
+        dl
+        )
+endif()
+
+install (TARGETS ${target}
+    DESTINATION bin
+    COMPONENT testing
+    )
+
+install(
+    FILES run_cpp_tests.bat
+    DESTINATION bin
+    COMPONENT testing
+    )
+
+
diff --git a/source/llvm_testing/main.cpp b/source/llvm_testing/main.cpp
new file mode 100644
index 0000000..a942494
--- /dev/null
+++ b/source/llvm_testing/main.cpp
@@ -0,0 +1,539 @@
+#pragma hdrstop
+
+#include "TestEvalModel.h"
+#include "TestRoadRunner.h"
+#include "GetBoundarySpeciesAmountTest.h"
+#include "TestEvalInitialConditions.h"
+#include "TestGetSetValues.h"
+#include "TestCapabilities.h"
+#include "TestEvalReactionRates.h"
+#include "rrConfig.h"
+#include "rrUtils.h"
+
+#include "SBMLValidator.h"
+
+#include "ConfigurableTest.h"
+
+#include "rrRoadRunner.h"
+
+#include "Integrator.h"
+
+#include "rrLogger.h"
+
+#include "TestVariant.h"
+
+#include <sbml/SBMLDocument.h>
+#include <sbml/Model.h>
+#include <sbml/SBMLReader.h>
+#include <time.h>
+#include <stdio.h>
+#include <cmath>
+#include <stdint.h>
+
+
+
+using namespace std;
+using namespace rr;
+
+
+
+/**
+ * perform a stochastic ensemble calculation.
+ *
+ *   :param: r an existing roadrunner obj, loaded with a mode.
+ *   :param: n how many ensembles to run.
+ *   :param: seed the seed value, use None to continue with previous
+ *           random number stream.
+ *   :param: start start time
+ *   :param: stop stop time
+ *   :param: ntps how many points display in the result.
+ */
+DoubleMatrix ensemble(RoadRunner &r, int n, unsigned long seed, double start, double stop, int npts) {
+
+    // set the seed value of the integrator
+	r.setIntegrator("gillespie");
+    Integrator *itg = r.getIntegrator();
+	itg->setValue("seed", seed);
+
+	// setup the simulation
+	// create a sim opt obj, loads itself with
+	// default values in ctor.
+	SimulateOptions o;
+	o.start = start;
+	o.duration = stop;
+	o.steps = npts;
+
+    // we should reset the model each time we simulate,
+    // set the RESET_MODEL bit.
+	o.reset_model = true;
+	r.setIntegrator("gillespie");
+
+    // make a result var
+    DoubleMatrix result(npts+1, n+1);
+
+    for (int i = 0; i < n; ++i) {
+        const DoubleMatrix &sim = *r.simulate(&o);
+
+        // copy result data colum
+        for (int row = 0; row < npts+1; ++row) {
+            result(row, i+1) = sim(row, 1);
+        }
+    }
+
+    // copy result time column
+    const DoubleMatrix &sim = *r.getSimulationData();
+
+    // copy result data colum
+    for (int row = 0; row < npts+1; ++row) {
+        result(row, 0) = sim(row, 0);
+    }
+
+    return result;
+}
+
+
+void run_ensemble(const char* fname, unsigned long seed)
+{
+    try {
+        RoadRunner r(fname);
+
+        DoubleMatrix result = ensemble(r, 5, seed, 0, 10, 150);
+
+        cout.precision(6);
+
+        for(int row = 0; row < result.numRows(); ++row) {
+            for(int col = 0; col < result.numCols(); ++col) {
+                cout << result(row, col) << ", ";
+            }
+            cout << endl;
+        }
+    } catch (std::exception& e) {
+        cout << "Error running ensemble: " << e.what() << endl;
+    }
+}
+
+int ensemble_test(int argc, char* argv[])
+{
+    if (argc < 4)
+    {
+        cout << "usage: llvm_testing ensemble fname num_ensembles" << endl;
+        return -1;
+    }
+
+    run_ensemble(argv[2], atol(argv[3]));
+
+    return 0;
+}
+
+int path_test(int argc, char* argv[])
+{
+    try
+    {
+        std::string cmpTest = joinPath("..", "compilers", "tcc", "tcc.exe");
+        cout << "comp test: " << cmpTest << endl;
+
+        cout << "default tmp dir: " << getTempDir() << endl;
+
+        Logger::enableFileLogging();
+        std::string defLogFile = Logger::getFileName();
+
+        cout << "default log file path: " << defLogFile << endl;
+
+        if (argc >= 3) {
+            cout << "setting config temp dir to: " << argv[2] << endl;
+            Config::setValue(Config::TEMP_DIR_PATH, std::string(argv[2]));
+        }
+
+        if (argc >= 4) {
+            cout << "setting config log file path to " << argv[3] << endl;
+            Config::setValue(Config::LOGGER_LOG_FILE_PATH, std::string(argv[3]));
+        }
+
+        cout << "getTempDir: " << getTempDir() << endl;
+
+        Logger::enableFileLogging();
+
+        cout << "log file: " << Logger::getFileName() << endl;
+
+        Log(Logger::LOG_NOTICE) << "log messsage";
+    }
+    catch (std::exception& e)
+    {
+        cout << "Fatal error: " << e.what() << endl;
+    }
+
+    return 0;
+}
+
+int jacobian_test(int argc, char* argv[])
+{
+    try
+    {
+        if (argc < 3)
+        {
+            cout << "usage: llvm_testing jacobian fname";
+        }
+
+        RoadRunner r(argv[2]);
+
+        cout << "amount mode" << endl;
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_AMOUNTS);
+
+        ls::DoubleMatrix mat = r.getFullJacobian();
+
+        cout << "amount mode full jacobian: " << endl;
+
+        cout << mat << endl;
+
+        mat = r.getReducedJacobian();
+
+        cout << "amount mode reduced jacobian: " << endl;
+
+        cout << mat << endl;
+
+        cout << "concentration mode" << endl;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS);
+
+        mat = r.getFullJacobian();
+
+        cout << "concentration mode full jacobian: " << endl;
+
+        cout << mat << endl;
+
+        mat = r.getReducedJacobian();
+
+        cout << "concentration mode reduced jacobian: " << endl;
+
+        cout << mat << endl;
+
+    }
+    catch(std::exception &e)
+    {
+        cout << e.what() << endl;
+        return -1;
+    }
+    return 0;
+}
+
+
+int cm_1_test(int argc, char* argv[])
+{
+    try {
+        if (argc < 3)
+        {
+            cout << "usage: llvm_testing jacobian fname";
+        }
+
+        RoadRunner r(argv[2]);
+
+        r.setConservedMoietyAnalysis(true);
+
+        ExecutableModel *m = r.getModel();
+
+        int ncm = m->getNumConservedMoieties();
+
+        cout << "num conserved moieties: " << ncm << endl;
+
+        double val;
+
+        for (int i = 0; i < ncm; ++i) {
+            std::string name = m->getConservedMoietyId(i);
+            m->getConservedMoietyValues(1, &i, &val);
+
+            cout << "cm name: " << name << ", value: " << val << endl;
+        }
+
+
+    } catch (std::exception& e) {
+        cout << "Error running ensemble: " << e.what() << endl;
+    }
+
+    return 0;
+
+}
+
+int reset_test(int argc, char* argv[])
+{
+    try {
+        if (argc < 4)
+        {
+            cout << "usage: llvm_testing reset fname what";
+            return -1;
+        }
+
+        RoadRunner r(argv[2]);
+
+        r.setConservedMoietyAnalysis(true);
+
+        std::string what(argv[3]);
+
+        uint opt = 0;
+
+        if(what.find("GLOBAL_PARAMETER") != string::npos)
+        {
+            opt |= SelectionRecord::GLOBAL_PARAMETER;
+        }
+
+        if(what.find("TIME") != string::npos)
+        {
+            opt |= SelectionRecord::TIME;
+        }
+
+        if(what.find("FLOATING") != string::npos)
+        {
+            opt |= SelectionRecord::FLOATING;
+        }
+
+        if(what.find("COMPARTMENT") != string::npos)
+        {
+            opt |= SelectionRecord::COMPARTMENT;
+        }
+
+        if(what.find("RATE") != string::npos)
+        {
+            opt |= SelectionRecord::RATE;
+        }
+
+        if(what.find("ALL") != string::npos)
+        {
+            opt |= SelectionRecord::ALL;
+        }
+
+        r.reset(opt);
+
+        return opt;
+    }
+    catch(std::exception& e) {
+        cout << e.what();
+    }
+    return -1;
+}
+
+
+int validate_test(int argc, char* argv[])
+{
+    try {
+        if (argc < 3)
+        {
+            cout << "usage: llvm_testing validate fname";
+            return -1;
+        }
+
+
+        std::string errors = rr::validateSBML(argv[2], (rr::ValidateSBML)0);
+
+        cout << errors << endl;
+
+    }
+    catch(std::exception& e) {
+        cout << e.what();
+    }
+    return -1;
+}
+
+int distrib_test(int argc, char* argv[])
+{
+    try {
+        if (argc < 3)
+        {
+            cout << "usage: llvm_testing distrib fname";
+            return -1;
+        }
+
+        cout << "r1 values:" << endl;
+
+        RoadRunner r1(argv[2]);
+
+        for (int i = 0; i < 5; ++i) {
+            cout << "value: " << r1.getValue("rand") << endl;
+        }
+
+        cout << "r2 values: " << endl;
+
+        RoadRunner r2(argv[2]);
+
+        for (int i = 0; i < 5; ++i) {
+            cout << "value: " << r2.getValue("rand") << endl;
+        }
+
+
+    }
+    catch(std::exception& e) {
+        cout << e.what();
+    }
+    return -1;
+}
+
+typedef vector<string> strvec;
+
+
+std::string variantName(const Variant& var) {
+    switch(var.type()) {
+    case Variant::STRING: return "string";
+    case Variant::INT32: return "int32";
+    case Variant::UINT32: return "uint32";
+    case Variant::INT64: return "int64";
+    case Variant::UINT64: return "uint64";
+    case Variant::FLOAT: return "float";
+    case Variant::DOUBLE: return "double";
+    case Variant::CHAR: return "char";
+    case Variant::UCHAR: return "uchar";
+    case Variant::BOOL: return "bool";
+    default: return "empty";
+    }
+}
+
+int variant_test(int argc, char* argv[])
+{
+    BasicDictionary d;
+
+    d.setItem("int", 123);
+    d.setItem("long", (long)123);
+    d.setItem("bool", false);
+    d.setItem("ulong", (unsigned long)123);
+    d.setItem("string", "hello");
+    d.setItem("double", 1.23);
+    d.setItem("char", 'a');
+
+    vector<string> keys = d.getKeys();
+
+    for(int i = 0; i < keys.size(); ++i) {
+        cout << "key: " << keys[i] << ", type: " << variantName(d.getItem(keys[i])) << endl;
+    }
+
+    return 0;
+}
+
+
+
+int intparam_test(int argc, char* argv[])
+{
+	// Function suppressed by Wilbert Copeland on June 18, 2015.
+
+    //// get a list of all of the integrator options
+    //vector<const Dictionary*> opts = IntegratorFactory::getIntegratorOptions();
+
+    //// iterate through the integrator options
+    //for(int i = 0; i < opts.size(); ++i) {
+    //    // each dictionary will contain all the keys that
+    //    // are valid for a particular integrator.
+    //    const Dictionary &d = *opts[i];
+    //    vector<string> keys = d.getKeys();
+    //    for(int j = 0; j < keys.size(); ++j) {
+    //        string key = keys[j];
+    //        string item = (string)d.getItem(key);
+    //        cout << "key: " << key << ", value: " << item << std::endl;
+    //    }
+    //}
+
+    return 0;
+}
+
+
+int matnames_test(int argc, char* argv[]) {
+
+    ls::DoubleMatrix mat;
+
+    typedef std::vector<std::string> strvec;
+
+    const char* data[] = {
+            "1", "2", "3", "4", "5", "6", "7", "8", "9"
+    };
+
+
+
+    mat.setRowNames(&data[0], &data[sizeof(data)/sizeof(char*)]);
+
+    std::vector<std::string> rowNames = mat.getRowNames();
+
+
+    mat.setColNames(rowNames.begin(), rowNames.end());
+
+
+    for(strvec::const_iterator i = mat.getRowNames().begin(); i != mat.getRowNames().end(); ++i) {
+        cout << *i << ", ";
+    }
+
+    cout << endl;
+
+
+    for(strvec::const_iterator i = mat.getColNames().begin(); i != mat.getColNames().end(); ++i) {
+        cout << *i << ", ";
+    }
+
+    cout << endl;
+
+
+
+
+
+
+
+
+
+
+    return 0;
+}
+
+
+
+int main(int argc, char* argv[])
+{
+    if (argc < 2) {
+        cout << "usage: llvm_testing test" << endl;
+        return -1;
+    }
+
+    if (strcmp("ensemble", argv[1]) == 0) {
+        return ensemble_test(argc, argv);
+    }
+
+    if (strcmp("jacobian", argv[1]) == 0) {
+        return jacobian_test(argc, argv);
+    }
+
+    if (strcmp("cm_1", argv[1]) == 0) {
+        return cm_1_test(argc, argv);
+    }
+
+    if(strcmp("path", argv[1]) == 0) {
+        return path_test(argc, argv);
+    }
+
+    if(strcmp("reset", argv[1]) == 0) {
+        return reset_test(argc, argv);
+    }
+
+    if(strcmp("validate", argv[1]) == 0) {
+        return validate_test(argc, argv);
+    }
+
+    if(strcmp("distrib", argv[1]) == 0) {
+        return distrib_test(argc, argv);
+    }
+
+    if(strcmp("variant", argv[1]) == 0) {
+        return variant_test(argc, argv);
+    }
+
+    if(strcmp("options", argv[1]) == 0) {
+        return intparam_test(argc, argv);
+    }
+
+
+    if(strcmp("matnames", argv[1]) == 0) {
+        return matnames_test(argc, argv);
+    }
+
+
+
+    cout << "error, invalid test name: " << argv[1] << endl;
+    return -1;
+}
+
+
+
+
+
+
diff --git a/source/llvm_testing/run_cpp_tests.bat b/source/llvm_testing/run_cpp_tests.bat
new file mode 100644
index 0000000..fcd6416
--- /dev/null
+++ b/source/llvm_testing/run_cpp_tests.bat
@@ -0,0 +1,18 @@
+
+echo "Running tests..."
+ at echo off 
+
+REM ===  Call with three arguments, eg vs 2010 Release..
+set compiler=%1
+set compiler_version=%2
+set build_type=%3
+
+set install_folder=r:\installs\%compiler%\%compiler_version%\%build_type%
+set model_folder=r:\models
+set wc=r:\rrl
+set report_file=%wc%\reports\%compiler%\%compiler_version%\cpp_test_%build_type%.xml
+set temp_folder=r:\rrTemp\%compiler_version%
+
+cxx_api_tests.exe -m%model_folder% -r%report_file% -t%temp_folder% 
+
+echo done...
diff --git a/source/llvm_testing/run_cpp_tests.sh b/source/llvm_testing/run_cpp_tests.sh
new file mode 100755
index 0000000..2901d91
--- /dev/null
+++ b/source/llvm_testing/run_cpp_tests.sh
@@ -0,0 +1,20 @@
+
+echo "Running tests..."
+
+# ===  Call with three arguments!!
+compiler=$1
+compiler_version=$2
+build_type=$3
+
+
+install_folder=/home/sagrada/myhome/downloads/source/roadrunner/install
+model_folder=$install_folder/all/models
+wc=/home/sagrada/myhome/downloads/source/roadrunner/roadrunnerlib
+report_file=$wc/reports/$compiler/$compiler_version/cpp_tests.xml
+temp_folder=/tmp/$compiler_version
+
+echo "cxx_api_tests -m$model_folder -r$report_file -lgcc -s$install_folder/ThirdParty/rr_support -t$temp_folder -d$temp_folder"
+
+./cxx_api_tests -m$model_folder -r$report_file -lgcc -s$install_folder/ThirdParty/rr_support -t$temp_folder -d$temp_folder
+
+echo "done..."
diff --git a/source/llvm_testing/src/Args.cpp b/source/llvm_testing/src/Args.cpp
new file mode 100644
index 0000000..29a3117
--- /dev/null
+++ b/source/llvm_testing/src/Args.cpp
@@ -0,0 +1,41 @@
+#ifdef USE_PCH
+#include "rr_pch.h"
+#endif
+#pragma hdrstop
+#include <sstream>
+#include <iomanip>
+#include "Args.h"
+#include "rrUtils.h"
+//---------------------------------------------------------------------------
+using namespace std;
+Args::Args()
+:
+SBMLModelsFilePath(""),
+ResultOutputFile(""),
+TempDataFolder("."),
+//DataOutputFolder("."),
+//Compiler(""),
+//SupportCodeFolder(""),
+EnableLogging(false)
+{}
+
+string Usage(const string& prg)
+{
+    stringstream usage;
+    usage << "\nUSAGE for "<<prg<<"\n\n";
+    usage<<left;
+    usage<<setfill('.');
+    usage<<setw(25)<<"-m<FilePath>"                 <<" Folder where the program will read sbml models. \n";
+	usage<<setw(25)<<"-l<FilePath>"                 <<" Compiler \n";
+	usage<<setw(25)<<"-s<FilePath>"                 <<" Support code folder location\n";
+	usage<<setw(25)<<"-r<FilePath>"                 <<" Results output file, with path.\n";
+    usage<<setw(25)<<"-t<FilePath>"                 <<" Temporary data output folder. If not given, temp files are output to current directory\n";
+    usage<<setw(25)<<"-d<FilePath>"                 <<" Data outputFolder\n";
+    usage<<setw(25)<<"-v"                 			<<" Enable Logging\n";
+    usage<<setw(25)<<"-?"                           <<" Shows the help screen.\n\n";
+
+	usage<<"\nSystems Biology, UW 2012\n";
+	rr::pause();
+    return usage.str();
+}
+
diff --git a/source/llvm_testing/src/Args.h b/source/llvm_testing/src/Args.h
new file mode 100644
index 0000000..c64eb77
--- /dev/null
+++ b/source/llvm_testing/src/Args.h
@@ -0,0 +1,21 @@
+#ifndef CommandLineParametersH
+#define CommandLineParametersH
+#include <string>
+using std::string;
+
+string Usage(const string& prg);
+class Args
+{
+    public:
+                                        Args();
+        virtual                        ~Args(){}
+        string                          SBMLModelsFilePath;                       	//option m:
+//		string                          Compiler;       		                  	//option l:
+        string                          ResultOutputFile;                         	//option r:
+        string                          TempDataFolder;                           	//option t:
+//        string                          DataOutputFolder;                          	//option d:
+//		string                          SupportCodeFolder;                        	//option s:
+		bool                            EnableLogging;                    	     	//option v:
+};
+
+#endif
diff --git a/source/llvm_testing/src/CSRMatrixTest.cpp b/source/llvm_testing/src/CSRMatrixTest.cpp
new file mode 100644
index 0000000..4689f6b
--- /dev/null
+++ b/source/llvm_testing/src/CSRMatrixTest.cpp
@@ -0,0 +1,178 @@
+/*
+ * CSRMatrixTest.cpp
+ *
+ *  Created on: Jul 11, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "CSRMatrixTest.h"
+
+#include "tests.h"
+#include "llvm/ModelGeneratorContext.h"
+#include "llvm/LLVMModelDataSymbols.h"
+#include "llvm/ModelDataIRBuilder.h"
+#include "rrException.h"
+#include "rrUtils.h"
+#include "llvm/LLVMIncludes.h"
+#include "llvm/AssignmentRuleEvaluator.h"
+#include "llvm/EvalInitialConditionsCodeGen.h"
+#include "rrSparse.h"
+
+
+
+
+
+#include <sbml/SBMLDocument.h>
+#include <sbml/Model.h>
+#include <sbml/SBMLReader.h>
+
+#include "llvm/LLVMModelData.h"
+
+#include <utility>
+#include <cstdlib>
+#include <iostream>
+#include <fstream>
+
+#include "cpplapack.h"
+
+using namespace std;
+using namespace rr;
+using namespace llvm;
+using namespace libsbml;
+
+
+bool runSparseTest(const int m, const int n, const int nnz)
+{
+    double *A = (double*)calloc(m*n, sizeof(double));
+
+    double *x = (double*)calloc(n, sizeof(double));
+
+    double *y = (double*)calloc(m, sizeof(double));
+    double *ys = (double*)calloc(m, sizeof(double));
+
+    int true_nnz = 0;
+
+
+    // row major:    offset = row*NUMCOLS + column
+    // column major: offset = row + column*NUMROWS
+
+
+    // set x and first row of A to ones.
+    //for (int i = 0; i < n; i++) {
+    //    A[0 + i*m] = 1;
+    //    x[i] = 1;
+    //}
+
+    for (int k = 0; k < nnz; k++) {
+        int i = rand() % m;
+        int j = rand() % n;
+
+        if (A[i + j*m] == 0) {
+            A[i + j*m] = 1;
+            true_nnz++;
+        }
+    }
+
+    for (int k = 0; k < n; k++) {
+        x[k] = rand() % 10;
+    }
+
+    //cout << "A: ";
+    //for(int i = 0; i < m*n; i++) {
+    //    cout << A[i] << ",";
+    //}
+    //cout << "\n";
+
+    cout << "x: ";
+    for(int i = 0; i < n; i++) {
+        cout << x[i] << ",";
+    }
+    cout << "\n";
+
+
+    cpp_dgemv('n', m, n, 1, A, m, x, 1, 0, y, 1);
+
+    cout << "dense y:  ";
+    for(int i = 0; i < m; i++) {
+        cout << y[i] << ",";
+    }
+    cout << "\n";
+
+
+    vector<uint> rowidx;
+    vector<uint> colidx;
+    vector<double> values;
+
+    for(uint i = 0; i < m; i++)
+    {
+        for (uint j = 0; j < n; j++)
+        {
+            double value = A[i + j*m];
+
+            if (value != 0)
+            {
+                rowidx.push_back(i);
+                colidx.push_back(j);
+                values.push_back(value);
+            }
+        }
+    }
+
+    assert(rowidx.size() == true_nnz);
+    assert(colidx.size() == true_nnz);
+    assert(values.size() == true_nnz);
+
+    csr_matrix *mat = csr_matrix_new(m, n, rowidx, colidx, values);
+
+    csr_matrix_dgemv(1, mat, x, 0, ys);
+
+    cout << "sparse y: ";
+    for(int i = 0; i < m; i++) {
+        cout << ys[i] << ",";
+    }
+    cout << "\n";
+
+    // change some values
+    for(int k = 0; k < true_nnz; k++)
+    {
+        int i = rowidx[k];
+        int j = colidx[k];
+        double value = rand() % 10;
+
+        csr_matrix_set_nz(mat, i, j, value);
+        A[i + j*m] = value;
+
+        assert(csr_matrix_get_nz(mat, i, j) == value);
+    }
+
+    memset(y, 0, m*sizeof(double));
+    cpp_dgemv('n', m, n, 1, A, m, x, 1, 0, y, 1);
+
+    cout << "dense y:  ";
+    for (int i = 0; i < m; i++)
+    {
+        cout << y[i] << ",";
+    }
+    cout << "\n";
+
+
+    memset(ys, 0, m*sizeof(double));
+    csr_matrix_dgemv(1, mat, x, 0, ys);
+
+    cout << "sparse y: ";
+    for (int i = 0; i < m; i++)
+    {
+        cout << ys[i] << ",";
+    }
+    cout << "\n";
+
+    csr_matrix_delete(mat);
+
+
+    free(A);
+    free(x);
+    free(y);
+    free(ys);
+
+    return true;
+}
diff --git a/source/llvm_testing/src/CSRMatrixTest.h b/source/llvm_testing/src/CSRMatrixTest.h
new file mode 100644
index 0000000..7e4742b
--- /dev/null
+++ b/source/llvm_testing/src/CSRMatrixTest.h
@@ -0,0 +1,13 @@
+/*
+ * CSRMatrixTest.h
+ *
+ *  Created on: Jul 11, 2013
+ *      Author: andy
+ */
+
+#ifndef CSRMATRIXTEST_H_
+#define CSRMATRIXTEST_H_
+
+bool runSparseTest(const int m, const int n, const int nnz);
+
+#endif /* CSRMATRIXTEST_H_ */
diff --git a/source/llvm_testing/src/ConfigurableTest.cpp b/source/llvm_testing/src/ConfigurableTest.cpp
new file mode 100644
index 0000000..a6e9ca4
--- /dev/null
+++ b/source/llvm_testing/src/ConfigurableTest.cpp
@@ -0,0 +1,22 @@
+/*
+ * ConfigurableTest.cpp
+ *
+ *  Created on: Sep 25, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "ConfigurableTest.h"
+#include "rrRoadRunner.h"
+#include <iostream>
+#include <fstream>
+#include <sstream>
+
+
+using namespace std;
+
+namespace rr
+{
+
+
+
+} /* namespace rrllvm */
diff --git a/source/llvm_testing/src/ConfigurableTest.h b/source/llvm_testing/src/ConfigurableTest.h
new file mode 100644
index 0000000..a84c0f7
--- /dev/null
+++ b/source/llvm_testing/src/ConfigurableTest.h
@@ -0,0 +1,14 @@
+/*
+ * ConfigurableTest.h
+ *
+ *  Created on: Sep 25, 2013
+ *      Author: andy
+ */
+
+#ifndef CONFIGURABLETEST_H_
+#define CONFIGURABLETEST_H_
+
+
+
+
+#endif /* CONFIGURABLETEST_H_ */
diff --git a/source/llvm_testing/src/GetBoundarySpeciesAmountTest.cpp b/source/llvm_testing/src/GetBoundarySpeciesAmountTest.cpp
new file mode 100644
index 0000000..2c5a561
--- /dev/null
+++ b/source/llvm_testing/src/GetBoundarySpeciesAmountTest.cpp
@@ -0,0 +1,74 @@
+/*
+ * GetBoundarySpeciesAmountTest.cpp
+ *
+ *  Created on: Jul 28, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "GetBoundarySpeciesAmountTest.h"
+#include "llvm/GetValuesCodeGen.h"
+#include "llvm/ModelGeneratorContext.h"
+#include "rrLogger.h"
+#include <vector>
+
+namespace rr
+{
+using namespace std;
+
+
+GetBoundarySpeciesAmountTest::~GetBoundarySpeciesAmountTest()
+{
+}
+
+
+GetBoundarySpeciesAmountTest::GetBoundarySpeciesAmountTest(
+        const std::string& compiler, const std::string& version, int caseNumber)
+            : TestBase(compiler, version, caseNumber)
+{
+}
+
+
+bool rr::GetBoundarySpeciesAmountTest::test()
+{
+    /*
+    LLVMModelGeneratorContext ctx;
+
+    LLVMGetBoundarySpeciesAmountCodeGen bsa(ctx);
+
+    LLVMGetBoundarySpeciesAmountCodeGen::FunctionPtr functionPtr =
+            bsa.createFunction();
+
+    double result = functionPtr(0, 0);
+
+
+    cout << "result: " << result;
+
+    return true;
+    */
+
+
+
+    Log(Logger::LOG_INFORMATION) << model;
+
+
+
+    int n = model->getNumBoundarySpecies();
+    vector<double> values(n, 0);
+
+    model->getBoundarySpeciesAmounts(n, 0, &values[0]);
+
+    for(int i = 0; i < n; ++i)
+    {
+        Log(Logger::LOG_INFORMATION) << "boundary species " <<
+                model->getBoundarySpeciesId(i) << ": " << values[i] << endl;
+    }
+
+    return true;
+
+
+
+}
+
+
+} /* namespace rr */
+
diff --git a/source/llvm_testing/src/GetBoundarySpeciesAmountTest.h b/source/llvm_testing/src/GetBoundarySpeciesAmountTest.h
new file mode 100644
index 0000000..0e5b344
--- /dev/null
+++ b/source/llvm_testing/src/GetBoundarySpeciesAmountTest.h
@@ -0,0 +1,28 @@
+/*
+ * GetBoundarySpeciesAmountTest.h
+ *
+ *  Created on: Jul 28, 2013
+ *      Author: andy
+ */
+
+#ifndef GETBOUNDARYSPECIESAMOUNTTEST_H_
+#define GETBOUNDARYSPECIESAMOUNTTEST_H_
+
+#include "TestBase.h"
+#include <string>
+
+namespace rr
+{
+
+class GetBoundarySpeciesAmountTest: public TestBase
+{
+public:
+    GetBoundarySpeciesAmountTest(const std::string& compiler,
+            const std::string& version, int caseNumber);
+    ~GetBoundarySpeciesAmountTest();
+
+    bool test();
+};
+
+} /* namespace rr */
+#endif /* GETBOUNDARYSPECIESAMOUNTTEST_H_ */
diff --git a/source/llvm_testing/src/LLVMCSRMatrixTest.cpp b/source/llvm_testing/src/LLVMCSRMatrixTest.cpp
new file mode 100644
index 0000000..b142004
--- /dev/null
+++ b/source/llvm_testing/src/LLVMCSRMatrixTest.cpp
@@ -0,0 +1,336 @@
+/*
+ * LLVMCSRMatrixTest.cpp
+ *
+ *  Created on: Jul 11, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "LLVMCSRMatrixTest.h"
+#include "llvm/ModelDataIRBuilder.h"
+#include "cpplapack.h"
+#include <iostream>
+
+using namespace llvm;
+using namespace std;
+
+namespace rr
+{
+
+LLVMCSRMatrixTest::LLVMCSRMatrixTest() :
+        getFunc(0), setFunc(0)
+{
+}
+
+LLVMCSRMatrixTest::~LLVMCSRMatrixTest()
+{
+    // TODO Auto-generated destructor stub
+}
+
+bool LLVMCSRMatrixTest::callCSRMatrixSetNZ(csr_matrix* mat, int row, int col,
+        double value)
+{
+    ExecutionEngine &engine = context.getExecutionEngine();
+
+
+    CsrMatrixSetNZPtr pfunc = (CsrMatrixSetNZPtr)engine.getPointerToFunction(setFunc);
+
+
+    return pfunc(mat, row, col, value);
+}
+
+double LLVMCSRMatrixTest::callCSRMatrixGetNZ(csr_matrix* mat, int row, int col)
+{
+    ExecutionEngine &engine = context.getExecutionEngine();
+
+
+    CsrMatrixGetNZPtr pfunc = (CsrMatrixGetNZPtr)engine.getPointerToFunction(getFunc);
+
+
+    return pfunc(mat, row, col);
+}
+
+llvm::Function* LLVMCSRMatrixTest::getCSRMatrixSetNZTestFunc()
+{
+    LLVMContext &ctx = context.getContext();
+    IRBuilder<> &builder = context.getBuilder();
+    Module *module = context.getModule();
+
+    setFunc = module->getFunction("test_csr_matrix_set_nz");
+
+    if (setFunc == 0)
+    {
+
+        // bool csr_matrix_set_nz(csr_matrix *mat, int row, int col, double val);
+        Type *argTypes[] = {
+                ModelDataIRBuilder::getCSRSparseStructType(module)->getPointerTo(),
+                Type::getInt32Ty(module->getContext()),
+                Type::getInt32Ty(module->getContext()),
+                Type::getDoubleTy(module->getContext())
+        };
+
+        FunctionType *funcType = FunctionType::get(
+                IntegerType::get(module->getContext(), sizeof(bool) * 8),
+                argTypes, false);
+        setFunc = Function::Create(funcType, Function::InternalLinkage,
+                "test_csr_matrix_set_nz", module);
+
+        // Create a new basic block to start insertion into.
+        BasicBlock *BB = BasicBlock::Create(context.getContext(), "entry",
+                setFunc);
+        builder.SetInsertPoint(BB);
+
+        std::vector<Value*> args;
+
+        // Set names for all arguments.
+        unsigned idx = 0;
+        for (Function::arg_iterator ai = setFunc->arg_begin();
+                ai != setFunc->arg_end(); ++ai)
+        {
+
+            args.push_back(ai);
+        }
+
+        LLVMModelDataIRBuilderTesting mdirbuilder(LLVMModelDataSymbols(), builder);
+
+        mdirbuilder.createDispInt(args[1]);
+        mdirbuilder.createDispInt(args[2]);
+        mdirbuilder.createDispDouble(args[3]);
+
+
+
+        CallInst *call = ModelDataIRBuilder::createCSRMatrixSetNZ(builder, args[0], args[1],
+                args[2], args[3], "nz_success");
+
+        mdirbuilder.createDispChar(call);
+
+        builder.CreateRet(call);
+
+        // Validate the generated code, checking for consistency.
+        verifyFunction(*setFunc);
+
+        setFunc->dump();
+
+    }
+
+    return setFunc;
+}
+
+bool runLLVMCSRMatrixTest(const std::string& version, int caseNumber)
+{
+    LLVMCSRMatrixTest tester;
+
+    Function *func = tester.getCSRMatrixSetNZTestFunc();
+
+    func->dump();
+
+    return true;
+
+}
+
+bool runLLVMCSRMatrixTest(const int m, const int n, const int nnz)
+{
+    LLVMCSRMatrixTest tester;
+
+    tester.getCSRMatrixSetNZTestFunc();
+
+    tester.getCSRMatrixGetNZTestFunc();
+
+
+    double *A = (double*) calloc(m * n, sizeof(double));
+    double *x = (double*) calloc(n, sizeof(double));
+    double *y = (double*) calloc(m, sizeof(double));
+    double *ys = (double*) calloc(m, sizeof(double));
+
+    int true_nnz = 0;
+
+    // row major:    offset = row*NUMCOLS + column
+    // column major: offset = row + column*NUMROWS
+
+    // set x and first row of A to ones.
+    //for (int i = 0; i < n; i++) {
+    //    A[0 + i*m] = 1;
+    //    x[i] = 1;
+    //}
+
+    for (int k = 0; k < nnz; k++)
+    {
+        int i = rand() % m;
+        int j = rand() % n;
+
+        if (A[i + j * m] == 0)
+        {
+            A[i + j * m] = 1;
+            true_nnz++;
+        }
+    }
+
+    for (int k = 0; k < n; k++)
+    {
+        x[k] = rand() % 10;
+    }
+
+    //cout << "A: ";
+    //for(int i = 0; i < m*n; i++) {
+    //    cout << A[i] << ",";
+    //}
+    //cout << "\n";
+
+    cout << "x: ";
+    for (int i = 0; i < n; i++)
+    {
+        cout << x[i] << ",";
+    }
+    cout << "\n";
+
+    cpp_dgemv('n', m, n, 1, A, m, x, 1, 0, y, 1);
+
+    cout << "dense y:  ";
+    for (int i = 0; i < m; i++)
+    {
+        cout << y[i] << ",";
+    }
+    cout << "\n";
+
+    vector<uint> rowidx;
+    vector<uint> colidx;
+    vector<double> values;
+
+    for (int i = 0; i < m; i++)
+    {
+        for (int j = 0; j < n; j++)
+        {
+            double value = A[i + j * m];
+
+            if (value != 0)
+            {
+                rowidx.push_back(i);
+                colidx.push_back(j);
+                values.push_back(value);
+            }
+        }
+    }
+
+    assert(rowidx.size() == true_nnz);
+    assert(colidx.size() == true_nnz);
+    assert(values.size() == true_nnz);
+
+    csr_matrix *mat = csr_matrix_new(m, n, rowidx, colidx, values);
+
+    csr_matrix_dgemv(1, mat, x, 0, ys);
+
+    cout << "sparse y: ";
+    for (int i = 0; i < m; i++)
+    {
+        cout << ys[i] << ",";
+    }
+    cout << "\n";
+
+    // change some values
+    for (int k = 0; k < true_nnz; k++)
+    {
+        int i = rowidx[k];
+        int j = colidx[k];
+        double value = rand() % 10;
+
+        tester.callCSRMatrixSetNZ(mat, i, j, value);
+        A[i + j * m] = value;
+
+        assert(csr_matrix_get_nz(mat, i, j) == value);
+
+        assert(tester.callCSRMatrixGetNZ(mat, i, j) == value);
+    }
+
+    memset(y, 0, m * sizeof(double));
+    cpp_dgemv('n', m, n, 1, A, m, x, 1, 0, y, 1);
+
+    cout << "dense y:  ";
+    for (int i = 0; i < m; i++)
+    {
+        cout << y[i] << ",";
+    }
+    cout << "\n";
+
+    memset(ys, 0, m * sizeof(double));
+    csr_matrix_dgemv(1, mat, x, 0, ys);
+
+    cout << "sparse y: ";
+    for (int i = 0; i < m; i++)
+    {
+        cout << ys[i] << ",";
+    }
+    cout << "\n";
+
+    csr_matrix_delete(mat);
+
+    free(A);
+    free(x);
+    free(y);
+    free(ys);
+
+    return true;
+}
+
+llvm::Function* LLVMCSRMatrixTest::getCSRMatrixGetNZTestFunc()
+{
+    LLVMContext &ctx = context.getContext();
+    IRBuilder<> &builder = context.getBuilder();
+    Module *module = context.getModule();
+
+    getFunc = module->getFunction("test_csr_matrix_get_nz");
+
+    if (getFunc == 0)
+    {
+        // double csr_matrix_get_nz(const csr_matrix *mat, int row, int col);
+        Type *argTypes[] = {
+                ModelDataIRBuilder::getCSRSparseStructType(module)->getPointerTo(),
+                Type::getInt32Ty(module->getContext()),
+                Type::getInt32Ty(module->getContext())
+        };
+
+        FunctionType *funcType = FunctionType::get(
+                Type::getDoubleTy(module->getContext()),
+                argTypes, false);
+        getFunc = Function::Create(funcType, Function::InternalLinkage,
+                "test_csr_matrix_get_nz", module);
+
+        // Create a new basic block to start insertion into.
+        BasicBlock *BB = BasicBlock::Create(context.getContext(), "entry",
+                getFunc);
+        builder.SetInsertPoint(BB);
+
+        std::vector<Value*> args;
+
+        // Set names for all arguments.
+        unsigned idx = 0;
+        for (Function::arg_iterator ai = getFunc->arg_begin();
+                ai != getFunc->arg_end(); ++ai)
+        {
+
+            args.push_back(ai);
+        }
+
+        LLVMModelDataIRBuilderTesting mdirbuilder(LLVMModelDataSymbols(), builder);
+
+        mdirbuilder.createDispInt(args[1]);
+        mdirbuilder.createDispInt(args[2]);
+
+        CallInst *call = ModelDataIRBuilder::createCSRMatrixGetNZ(builder, args[0], args[1],
+                args[2], "nz_val");
+
+        mdirbuilder.createDispDouble(call);
+
+        builder.CreateRet(call);
+
+        // Validate the generated code, checking for consistency.
+        verifyFunction(*getFunc);
+
+        getFunc->dump();
+
+    }
+
+    return setFunc;
+}
+
+
+} /* namespace rr */
+
diff --git a/source/llvm_testing/src/LLVMCSRMatrixTest.h b/source/llvm_testing/src/LLVMCSRMatrixTest.h
new file mode 100644
index 0000000..6edc7fe
--- /dev/null
+++ b/source/llvm_testing/src/LLVMCSRMatrixTest.h
@@ -0,0 +1,50 @@
+/*
+ * LLVMCSRMatrixTest.h
+ *
+ *  Created on: Jul 11, 2013
+ *      Author: andy
+ */
+
+#ifndef LLVMCSRMATRIXTEST_H_
+#define LLVMCSRMATRIXTEST_H_
+
+#include "rrSparse.h"
+#include "llvm/LLVMIncludes.h"
+#include "llvm/ModelGeneratorContext.h"
+
+using namespace rrllvm;
+
+namespace rr
+{
+
+typedef bool (*CsrMatrixSetNZPtr)(csr_matrix *mat, int row, int col, double val);
+
+typedef double (*CsrMatrixGetNZPtr)(csr_matrix *mat, int row, int col);
+
+class LLVMCSRMatrixTest
+{
+public:
+    LLVMCSRMatrixTest();
+    virtual ~LLVMCSRMatrixTest();
+
+    bool callCSRMatrixSetNZ(csr_matrix *mat, int row, int col, double value);
+
+    double callCSRMatrixGetNZ(csr_matrix *mat, int row, int col);
+
+    llvm::Function *getCSRMatrixSetNZTestFunc();
+
+    llvm::Function *getCSRMatrixGetNZTestFunc();
+
+
+private:
+    llvm::Function *setFunc;
+    llvm::Function *getFunc;
+
+    ModelGeneratorContext context;
+};
+
+
+bool runLLVMCSRMatrixTest(const int m, const int n, const int nnz);
+
+} /* namespace rr */
+#endif /* LLVMCSRMATRIXTEST_H_ */
diff --git a/source/llvm_testing/src/TestBase.cpp b/source/llvm_testing/src/TestBase.cpp
new file mode 100644
index 0000000..deb9af7
--- /dev/null
+++ b/source/llvm_testing/src/TestBase.cpp
@@ -0,0 +1,74 @@
+/*
+ * TestBase.cpp
+ *
+ *  Created on: Jul 20, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "TestBase.h"
+#include "tests.h"
+#include "ExecutableModelFactory.h"
+#include "rrRoadRunnerOptions.h"
+#include "rrUtils.h"
+#include "rrLogger.h"
+
+#include <stdexcept>
+#include <fstream>
+
+namespace rr
+{
+using namespace std;
+
+TestBase::TestBase(const std::string& compiler, const std::string& version, int caseNumber) :
+    model(0),
+    version(version),
+    caseNumber(caseNumber),
+    compiler(compiler)
+{
+    fileName = getModelFileName(version, caseNumber);
+
+    if(!fileExists(fileName))
+    {
+        stringstream msg;
+        msg<<"File: "<<fileName<<" does not exist";
+        Log(Logger::LOG_ERROR)<<msg.str();
+
+        throw std::runtime_error(msg.str());
+    }
+
+    ifstream ifs(fileName.c_str());
+    if(!ifs)
+    {
+        stringstream msg;
+        msg<<"Failed opening file: "<<fileName;
+        Log(Logger::LOG_ERROR)<<msg.str();
+
+        throw std::runtime_error(msg.str());
+    }
+
+    std::string sbml((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());
+
+    ifs.close();
+    Log(Logger::LOG_INFORMATION)
+        << "/*** SBML " << fileName << " ***/" << endl
+        << sbml << endl
+        << "/****************************************************************************************/"
+        << endl;
+
+
+    string home = getenv("HOME");
+    string tmp = home + string("/tmp");
+    string support = home + "/local/rr_support/";
+
+    LoadSBMLOptions opt;
+
+    model = ExecutableModelFactory::createModel(sbml, &opt);
+}
+
+TestBase::~TestBase()
+{
+    Log(lInfo) << "deleting model, " << __FUNC__;
+    delete model;
+}
+
+} /* namespace rr */
diff --git a/source/llvm_testing/src/TestBase.h b/source/llvm_testing/src/TestBase.h
new file mode 100644
index 0000000..2ed7d4a
--- /dev/null
+++ b/source/llvm_testing/src/TestBase.h
@@ -0,0 +1,35 @@
+/*
+ * TestBase.h
+ *
+ *  Created on: Jul 20, 2013
+ *      Author: andy
+ */
+
+#ifndef TESTBASE_H_
+#define TESTBASE_H_
+
+#include "llvm/LLVMModelGenerator.h"
+#include "llvm/LLVMExecutableModel.h"
+
+#include <string>
+
+namespace rr
+{
+
+class TestBase
+{
+public:
+    TestBase(const std::string& compiler, const std::string& version, int caseNumber);
+    virtual ~TestBase();
+
+    virtual bool test() {return true;}
+
+    ExecutableModel *model;
+    std::string version;
+    int caseNumber;
+    std::string fileName;
+    std::string compiler;
+};
+
+} /* namespace rr */
+#endif /* TESTBASE_H_ */
diff --git a/source/llvm_testing/src/TestCapabilities.cpp b/source/llvm_testing/src/TestCapabilities.cpp
new file mode 100644
index 0000000..e4f283f
--- /dev/null
+++ b/source/llvm_testing/src/TestCapabilities.cpp
@@ -0,0 +1,33 @@
+/*
+ * TestCapabilties.cpp
+ *
+ *  Created on: Sep 19, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "TestCapabilities.h"
+#include "rrRoadRunner.h"
+#include "rrLogger.h"
+
+namespace rr {
+
+TestCapabilities::TestCapabilities(const std::string& compiler,
+        const std::string& version, int caseNumber)
+         : TestBase(compiler, version, caseNumber)
+{
+
+}
+
+TestCapabilities::~TestCapabilities() {
+    // TODO Auto-generated destructor stub
+}
+
+bool TestCapabilities::test()
+{
+
+
+
+    return true;
+}
+
+}
diff --git a/source/llvm_testing/src/TestCapabilities.h b/source/llvm_testing/src/TestCapabilities.h
new file mode 100644
index 0000000..d048be8
--- /dev/null
+++ b/source/llvm_testing/src/TestCapabilities.h
@@ -0,0 +1,28 @@
+/*
+ * TestCapabilties.h
+ *
+ *  Created on: Sep 19, 2013
+ *      Author: andy
+ */
+
+#ifndef TESTCAPABILTIES_H_
+#define TESTCAPABILTIES_H_
+
+#include "TestBase.h"
+
+namespace rr
+{
+
+class TestCapabilities: public TestBase
+{
+public:
+
+
+    TestCapabilities(const std::string& compiler,
+            const std::string& version, int caseNumber);
+    virtual ~TestCapabilities();
+    bool test();
+};
+}
+
+#endif /* TESTCAPABILTIES_H_ */
diff --git a/source/llvm_testing/src/TestEvalInitialConditions.cpp b/source/llvm_testing/src/TestEvalInitialConditions.cpp
new file mode 100644
index 0000000..0436386
--- /dev/null
+++ b/source/llvm_testing/src/TestEvalInitialConditions.cpp
@@ -0,0 +1,58 @@
+/*
+ * TestEvalInitialConditions.cpp
+ *
+ *  Created on: Jul 20, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "TestEvalInitialConditions.h"
+#include "rrLogger.h"
+
+
+
+namespace rr
+{
+
+using namespace std;
+
+TestEvalInitialConditions::TestEvalInitialConditions(const std::string& compiler,
+        const std::string& version, int caseNumber)
+    : TestBase(compiler, version, caseNumber)
+{
+}
+
+TestEvalInitialConditions::~TestEvalInitialConditions()
+{
+}
+
+bool TestEvalInitialConditions::test()
+{
+    Log(Logger::LOG_INFORMATION) << "Evaluating Initial Conditions for " << fileName << endl;
+
+    Log(Logger::LOG_INFORMATION) << model << endl;
+
+    for (int i = 0; i < model->getNumFloatingSpecies(); i++)
+    {
+        double amt;
+        double conc;
+        model->getFloatingSpeciesAmounts(1, &i, &amt);
+        model->getFloatingSpeciesConcentrations(1, &i, &conc);
+
+        Log(Logger::LOG_INFORMATION) << "float species: " << i << ", amount: " << amt << ", conc: " << conc << endl;
+    }
+
+    for (int i = 0; i < model->getNumBoundarySpecies(); i++)
+    {
+        double amt;
+        double conc;
+        model->getBoundarySpeciesAmounts(1, &i, &amt);
+        model->getBoundarySpeciesConcentrations(1, &i, &conc);
+
+        Log(Logger::LOG_INFORMATION) << "boundary species: " << i << ", amount: " << amt << ", conc: " << conc << endl;
+    }
+
+
+    return true;
+}
+
+} /* namespace rr */
diff --git a/source/llvm_testing/src/TestEvalInitialConditions.h b/source/llvm_testing/src/TestEvalInitialConditions.h
new file mode 100644
index 0000000..fa6524b
--- /dev/null
+++ b/source/llvm_testing/src/TestEvalInitialConditions.h
@@ -0,0 +1,26 @@
+/*
+ * TestEvalInitialConditions.h
+ *
+ *  Created on: Jul 20, 2013
+ *      Author: andy
+ */
+
+#ifndef TESTEVALINITIALCONDITIONS_H_
+#define TESTEVALINITIALCONDITIONS_H_
+
+#include "TestBase.h"
+
+namespace rr
+{
+
+class TestEvalInitialConditions: public TestBase
+{
+public:
+    TestEvalInitialConditions(const std::string& compiler,
+            const std::string& version, int caseNumber);
+    virtual ~TestEvalInitialConditions();
+    bool test();
+};
+
+} /* namespace rr */
+#endif /* TESTEVALINITIALCONDITIONS_H_ */
diff --git a/source/llvm_testing/src/TestEvalModel.cpp b/source/llvm_testing/src/TestEvalModel.cpp
new file mode 100644
index 0000000..3d344c5
--- /dev/null
+++ b/source/llvm_testing/src/TestEvalModel.cpp
@@ -0,0 +1,75 @@
+/*
+ * TestEvalModel.cpp
+ *
+ *  Created on: Jul 23, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "TestEvalModel.h"
+#include "rrLogger.h"
+
+namespace rr
+{
+
+using namespace std;
+
+TestEvalModel::TestEvalModel(const std::string& compiler,
+        const std::string& version, int caseNumber)
+    : TestBase(compiler, version, caseNumber)
+{
+}
+
+TestEvalModel::~TestEvalModel()
+{
+    // TODO Auto-generated destructor stub
+}
+
+bool TestEvalModel::test()
+{
+    Log(Logger::LOG_INFORMATION) << "Evaluating Initial Conditions for " << fileName << endl;
+
+
+    Log(Logger::LOG_INFORMATION) << model << endl;
+
+    Log(Logger::LOG_INFORMATION) << "Evaluating Reaction Rates for " << fileName << endl;
+
+
+    Log(Logger::LOG_INFORMATION) << model << endl;
+
+    Log(Logger::LOG_INFORMATION) << "Evaluating Model for " << fileName << endl;
+
+    model->getStateVectorRate(0, 0, 0);
+
+    Log(Logger::LOG_INFORMATION) << model << endl;
+
+    double vol = 23;
+
+    model->setCompartmentInitVolumes(1, 0, &vol);
+
+    Log(Logger::LOG_INFORMATION) << "After set init vol:" << endl;
+    Log(Logger::LOG_INFORMATION) << model << endl;
+
+    double newvol = 0;
+
+    model->getCompartmentInitVolumes(1, 0, &newvol);
+
+    Log(Logger::LOG_INFORMATION) << "new vol:" << newvol << endl;
+
+
+    vol = -1;
+
+    model->setCompartmentInitVolumes(1, 0, &vol);
+
+    Log(Logger::LOG_INFORMATION) << "After set init vol:" << endl;
+    Log(Logger::LOG_INFORMATION) << model << endl;
+
+    newvol = 0;
+
+    model->getCompartmentInitVolumes(1, 0, &newvol);
+
+    Log(Logger::LOG_INFORMATION) << "new vol:" << newvol << endl;
+
+    return true;
+}
+
+} /* namespace rr */
diff --git a/source/llvm_testing/src/TestEvalModel.h b/source/llvm_testing/src/TestEvalModel.h
new file mode 100644
index 0000000..ab514b0
--- /dev/null
+++ b/source/llvm_testing/src/TestEvalModel.h
@@ -0,0 +1,26 @@
+/*
+ * TestEvalModel.h
+ *
+ *  Created on: Jul 23, 2013
+ *      Author: andy
+ */
+
+#ifndef TESTEVALMODEL_H_
+#define TESTEVALMODEL_H_
+
+#include <TestBase.h>
+
+namespace rr
+{
+
+class TestEvalModel: public TestBase
+{
+public:
+    TestEvalModel(const std::string& compiler,
+            const std::string& version, int caseNumber);
+    virtual ~TestEvalModel();
+    bool test();
+};
+
+} /* namespace rr */
+#endif /* TESTEVALMODEL_H_ */
diff --git a/source/llvm_testing/src/TestEvalReactionRates.cpp b/source/llvm_testing/src/TestEvalReactionRates.cpp
new file mode 100644
index 0000000..b80fc96
--- /dev/null
+++ b/source/llvm_testing/src/TestEvalReactionRates.cpp
@@ -0,0 +1,94 @@
+/*
+ * TestEvalReactionRates.cpp
+ *
+ *  Created on: Jul 20, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "TestEvalReactionRates.h"
+#include "rrLogger.h"
+#include "rrRoadRunner.h"
+
+namespace rr
+{
+
+using namespace std;
+
+TestEvalReactionRates::TestEvalReactionRates(const std::string& compiler,
+        const std::string& version, int caseNumber)
+: TestBase(compiler, version, caseNumber)
+{
+}
+
+TestEvalReactionRates::~TestEvalReactionRates()
+{
+}
+
+bool TestEvalReactionRates::test()
+{
+    Log(Logger::LOG_INFORMATION) << "Evaluating Initial Conditions for " << fileName << endl;
+
+
+
+    Log(Logger::LOG_INFORMATION) << model << endl;
+
+    Log(Logger::LOG_INFORMATION) << "Evaluating Reaction Rates for " << fileName << endl;
+
+
+
+    Log(Logger::LOG_INFORMATION) << model << endl;
+
+    return true;
+}
+
+
+void testAmountRates(const char* fname)
+{
+    RoadRunner r(fname);
+
+    ExecutableModel *model = r.getModel();
+
+    r.simulate();
+
+    int reactions = model->getNumReactions();
+    int species = model->getNumFloatingSpecies();
+
+    vector<double> reactionRates(reactions);
+
+    vector<double> amountRates(species);
+
+    model->getReactionRates(reactions, NULL, &reactionRates[0]);
+
+    for (int i = 0; i < reactionRates.size(); ++i)
+    {
+        cout << "reaction rate " << i << ": " << reactionRates[i] << std::endl;
+    }
+
+    for (int i = 0; i < species; ++i)
+    {
+        double amtRate1;
+        model->getFloatingSpeciesAmountRates(1, &i, &amtRate1);
+        double amtRate2 = model->getFloatingSpeciesAmountRate(i, &reactionRates[0]);
+
+        cout << "amount rate " << i << ": " << amtRate1 << ", " << amtRate2 << std::endl;
+    }
+}
+
+void testStoch(const char* fname)
+{
+    RoadRunner r(fname);
+
+    ExecutableModel *model = r.getModel();
+
+    SimulateOptions o = SimulateOptions();
+
+	r.setIntegrator("gillespie");
+
+    r.simulate(&o);
+
+
+}
+
+
+
+} /* namespace rr */
diff --git a/source/llvm_testing/src/TestEvalReactionRates.h b/source/llvm_testing/src/TestEvalReactionRates.h
new file mode 100644
index 0000000..0551c08
--- /dev/null
+++ b/source/llvm_testing/src/TestEvalReactionRates.h
@@ -0,0 +1,35 @@
+/*
+ * TestEvalReactionRates.h
+ *
+ *  Created on: Jul 20, 2013
+ *      Author: andy
+ */
+
+#ifndef TESTEVALREACTIONRATES_H_
+#define TESTEVALREACTIONRATES_H_
+
+#include "TestBase.h"
+
+namespace rr
+{
+
+    class TestEvalReactionRates : public TestBase
+    {
+    public:
+        TestEvalReactionRates(const std::string& compiler,
+                const std::string& version, int caseNumber);
+        virtual ~TestEvalReactionRates();
+
+        bool test();
+    };
+
+    void testAmountRates(const char* fname);
+
+    void testStoch(const char* fname);
+
+} /* namespace rr */
+
+
+
+
+#endif /* TESTEVALREACTIONRATES_H_ */
diff --git a/source/llvm_testing/src/TestGetSetValues.cpp b/source/llvm_testing/src/TestGetSetValues.cpp
new file mode 100644
index 0000000..b81cf4d
--- /dev/null
+++ b/source/llvm_testing/src/TestGetSetValues.cpp
@@ -0,0 +1,66 @@
+/*
+ * TestEvalInitialConditions.cpp
+ *
+ *  Created on: Jul 20, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "TestGetSetValues.h"
+#include "rrLogger.h"
+
+
+
+namespace rr
+{
+
+using namespace std;
+
+TestGetSetValues::TestGetSetValues(const std::string& compiler,
+        const std::string& version, int caseNumber)
+    : TestBase(compiler, version, caseNumber)
+{
+}
+
+TestGetSetValues::~TestGetSetValues()
+{
+}
+
+bool TestGetSetValues::test()
+{
+    Log(Logger::LOG_INFORMATION) << "Evaluating Initial Conditions for " << fileName << endl;
+
+
+    Log(Logger::LOG_INFORMATION) << "before set: " << model << endl;
+
+    double val = 0;
+    model->getCompartmentVolumes(1, 0, &val);
+
+    Log(Logger::LOG_INFORMATION) << "initial volume: " << val << endl;
+
+    val = 2;
+    model->setCompartmentVolumes(1, 0, &val);
+
+    Log(Logger::LOG_INFORMATION) << "after: " << model << endl;
+
+    model->getCompartmentVolumes(1, 0, &val);
+
+    Log(Logger::LOG_INFORMATION) << "new volume: " << val << endl;
+
+    double amt = 2;
+
+    model->setFloatingSpeciesAmounts(1, 0, &amt);
+
+    Log(Logger::LOG_INFORMATION) << "after set amt: " << model << endl;
+
+    model->setFloatingSpeciesConcentrations(1, 0, &amt);
+
+    Log(Logger::LOG_INFORMATION) << "after set conc: " << model << endl;
+
+
+
+
+
+    return true;
+}
+
+} /* namespace rr */
diff --git a/source/llvm_testing/src/TestGetSetValues.h b/source/llvm_testing/src/TestGetSetValues.h
new file mode 100644
index 0000000..34d7ce1
--- /dev/null
+++ b/source/llvm_testing/src/TestGetSetValues.h
@@ -0,0 +1,26 @@
+/*
+ * TestEvalInitialConditions.h
+ *
+ *  Created on: Jul 20, 2013
+ *      Author: andy
+ */
+
+#ifndef TESTGETSETVALUES_H_
+#define TESTGETSETVALUES_H_
+
+#include "TestBase.h"
+
+namespace rr
+{
+
+class TestGetSetValues: public TestBase
+{
+public:
+    TestGetSetValues(const std::string& compiler,
+            const std::string& version, int caseNumber);
+    virtual ~TestGetSetValues();
+    bool test();
+};
+
+} /* namespace rr */
+#endif /* TESTEVALINITIALCONDITIONS_H_ */
diff --git a/source/llvm_testing/src/TestPluginManager.cpp b/source/llvm_testing/src/TestPluginManager.cpp
new file mode 100644
index 0000000..9eec256
--- /dev/null
+++ b/source/llvm_testing/src/TestPluginManager.cpp
@@ -0,0 +1,34 @@
+/*
+ * TestPluginManager.cpp
+ *
+ *  Created on: Sep 25, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "TestPluginManager.h"
+#include "rrRoadRunner.h"
+
+
+namespace rr
+{
+
+TestPluginManager::TestPluginManager()
+{
+    // TODO Auto-generated constructor stub
+
+}
+
+} /* namespace rr */
+
+bool rr::TestPluginManager::test()
+{
+    /*
+    PluginManager pm("/Users/andy/local/plugins", false, 0);
+
+    pm.load();
+
+    std::string s = pm.getConfigurationXML();
+
+    return true;
+    */
+}
diff --git a/source/llvm_testing/src/TestPluginManager.h b/source/llvm_testing/src/TestPluginManager.h
new file mode 100644
index 0000000..56969f9
--- /dev/null
+++ b/source/llvm_testing/src/TestPluginManager.h
@@ -0,0 +1,23 @@
+/*
+ * TestPluginManager.h
+ *
+ *  Created on: Sep 25, 2013
+ *      Author: andy
+ */
+
+#ifndef TESTPLUGINMANAGER_H_
+#define TESTPLUGINMANAGER_H_
+
+namespace rr
+{
+
+class TestPluginManager
+{
+public:
+    TestPluginManager();
+
+    bool test();
+};
+
+} /* namespace rr */
+#endif /* TESTPLUGINMANAGER_H_ */
diff --git a/source/llvm_testing/src/TestRoadRunner.cpp b/source/llvm_testing/src/TestRoadRunner.cpp
new file mode 100644
index 0000000..d92369d
--- /dev/null
+++ b/source/llvm_testing/src/TestRoadRunner.cpp
@@ -0,0 +1,648 @@
+/*
+ * TestRoadRunner.cpp
+ *
+ *  Created on: Jul 24, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "TestRoadRunner.h"
+#include "rrUtils.h"
+#include "rrException.h"
+#include "rrLogger.h"
+#include "rrc_api.h"
+#include "rrSBMLReader.h"
+#include "rrExecutableModel.h"
+
+#include "conservation/ConservationExtension.h"
+#include "conservation/ConservationDocumentPlugin.h"
+#include "conservation/ConservedMoietyPlugin.h"
+#include "conservation/ConservedMoietyConverter.h"
+
+using namespace std;
+using namespace libsbml;
+using namespace rr::conservation;
+
+namespace rr
+{
+
+
+TestRoadRunner::~TestRoadRunner()
+{
+    delete simulation;
+    delete rr;
+}
+
+TestRoadRunner::TestRoadRunner(const std::string& version, int caseNumber) :
+                version(version), caseNumber(caseNumber), rr(0), simulation(0)
+{
+    //fileName = getModelFileName(version, caseNumber);
+
+    home = getenv("HOME");
+    dataOutputFolder = home + string("/tmp");
+    string dummy;
+    string logFileName;
+    string settingsFileName;
+
+
+
+    //Create a log file name
+    createTestSuiteFileNameParts(caseNumber, ".log", dummy, logFileName, settingsFileName);
+
+    //Create subfolder for data output
+    dataOutputFolder = joinPath(dataOutputFolder, getTestSuiteSubFolderName(caseNumber));
+
+    if(!createFolder(dataOutputFolder))
+    {
+        string msg("Failed creating output folder for data output: " + dataOutputFolder);
+        throw(Exception(msg));
+    }
+}
+
+bool TestRoadRunner::test(const std::string& compiler)
+{
+    loadSBML(compiler);
+
+    simulate();
+
+    return true;
+}
+
+void TestRoadRunner::loadSBML(const std::string& compiler)
+{
+    rr = new RoadRunner(compiler, dataOutputFolder, home + "/local/rr_support");
+
+    simulation = new TestSuiteModelSimulation(dataOutputFolder);
+
+    simulation->UseEngine(rr);
+
+    //Read SBML models.....
+    modelFilePath = home + "/src/sbml_test/cases/semantic";
+
+    simulation->SetCaseNumber(caseNumber);
+    createTestSuiteFileNameParts(caseNumber, "-sbml-" + version + ".xml",
+            modelFilePath, modelFileName, settingsFileName);
+
+    //The following will load and compile and simulate the sbml model in the file
+    simulation->SetModelFilePath(modelFilePath);
+    simulation->SetModelFileName(modelFileName);
+    simulation->ReCompileIfDllExists(true);
+    simulation->CopyFilesToOutputFolder();
+    //setTempFolder(gRR, simulation.GetDataOutputFolder().c_str());
+    //setComputeAndAssignConservationLaws(gRR, false);
+
+    //rr->loadSBMLFromFile(fileName);
+
+    if (!simulation->LoadSBMLFromFile())
+    {
+        throw Exception("Failed loading sbml from file");
+    }
+
+    //Then read settings file if it exists..
+    string settingsOveride("");
+    if (!simulation->LoadSettingsEx(settingsOveride))
+    {
+        Log(Logger::LOG_ERROR) << "Failed loading SBML model settings";
+        throw Exception("Failed loading SBML model settings");
+    }
+
+    rr->setConservedMoietyAnalysis(false);
+}
+
+void TestRoadRunner::simulate()
+{
+    SimulateOptions options;
+    options.start = rr->getSimulateOptions().start;
+    options.duration = rr->getSimulateOptions().duration;
+    options.steps = rr->getSimulateOptions().steps;
+	options.reset_model = true;
+    // TODO is this correct?
+
+    if (!rr->simulate(&options))
+    {
+        throw Exception("Simulation Failed");
+    }
+}
+
+void TestRoadRunner::saveResult()
+{
+    if (!simulation->SaveResult())
+    {
+        //Failed to save data
+        throw Exception("Failed saving result");
+    }
+}
+
+void TestRoadRunner::compareReference()
+{
+    if (!simulation->LoadReferenceData())
+    {
+        throw Exception("Failed Loading reference data");
+    }
+
+    simulation->CreateErrorData();
+    bool result = simulation->Pass();
+    simulation->SaveAllData();
+    simulation->SaveModelAsXML(dataOutputFolder);
+    if (!result)
+    {
+        Log(Logger::LOG_NOTICE) << "Test failed..\n";
+    }
+    else
+    {
+        Log(Logger::LOG_NOTICE) << "Test passed..\n";
+    }
+}
+
+void TestRoadRunner::test2()
+{
+#ifndef _WIN32
+
+	/*
+    rrc::RRHandle rr = rrc::createRRInstance();
+
+    rrc::loadSBMLFromFile(rr, "/home/andy/src/sbml_test/cases/semantic/00001/00001-sbml-l3v1.xml");
+
+    //rrc::setTimeStart(rr, 0);
+    //rrc::setTimeEnd(rr, 20);
+    //rrc::setNumPoints(rr, 100);
+
+    rrc::RRCDataPtr data = rrc::simulateEx(rr, 0, 20, 100);
+
+    std::cout << "columns: " << data->CSize << ", rows: " << data->RSize << std::endl;
+
+    for (int r = 0; r < data->RSize; ++r) {
+        cout << "row " << r << ", [";
+        for (int c = 0; c < data->CSize; ++c) {
+            cout << data->Data[r*data->CSize + c] << ", ";
+        }
+        cout << "]" << std::endl;
+    }
+	*/
+#endif
+}
+
+
+void TestRoadRunner::test3()
+{
+#ifndef _WIN32
+	/*
+
+    rrc::RRHandle rr = rrc::createRRInstance();
+
+    rrc::loadSBMLFromFile(rr, "/Users/andy/Desktop/Feedback.xml");
+
+    rrc::setTimeStart(rr, 0);
+    rrc::setTimeEnd(rr, 20);
+    rrc::setNumPoints(rr, 400);
+
+    rrc::RRCDataPtr data = rrc::simulate(rr);
+
+    std::cout << "columns: " << data->CSize << ", rows: " << data->RSize << std::endl;
+
+    for (int r = 0; r < data->RSize; ++r) {
+        cout << "row " << r << ", [";
+        for (int c = 0; c < data->CSize; ++c) {
+            cout << data->Data[r*data->CSize + c] << ", ";
+        }
+        cout << "]" << std::endl;
+    }
+	*/
+#endif
+}
+
+
+
+/*
+
+bool RunTest(const string& version, int caseNumber)
+{
+    bool result = false;
+    RRHandle gRR = 0;
+
+    //Create instance..
+    gRR = createRRInstanceEx(gTempFolder.c_str());
+
+    if(gDebug && gRR)
+    {
+        enableLoggingToConsole();
+        setLogLevel("Debug5");
+    }
+    else
+    {
+        setLogLevel("Error");
+    }
+
+    //Setup environment
+    setTempFolder(gRR, gTempFolder.c_str());
+
+    if(!gRR)
+    {
+        return false;
+    }
+
+    try
+    {
+
+
+
+
+        //Then read settings file if it exists..
+        string settingsOveride("");
+        if(!simulation.LoadSettings(settingsOveride))
+        {
+            throw("Failed loading simulation settings");
+        }
+
+        //Then Simulate model
+        if(!simulation.Simulate())
+        {
+            throw("Failed running simulation");
+        }
+
+        //Write result
+        if(!simulation.SaveResult())
+        {
+            //Failed to save data
+            throw("Failed saving result");
+        }
+
+        if(!simulation.LoadReferenceData())
+        {
+            throw("Failed Loading reference data");
+        }
+
+        simulation.CreateErrorData();
+        result = simulation.Pass();
+        simulation.SaveAllData();
+        simulation.SaveModelAsXML(dataOutputFolder);
+        if(!result)
+        {
+            clog<<"\t\tTest failed..\n";
+        }
+        else
+        {
+            clog<<"\t\tTest passed..\n";
+        }
+    }
+    catch(rr::Exception& ex)
+    {
+        string error = ex.what();
+        cerr<<"Case "<<caseNumber<<": Exception: "<<error<<endl;
+        result = false;;
+    }
+
+    // done with rr
+    freeRRInstance(gRR);
+    return result;
+}
+
+ */
+
+SelectionRecord TestRoadRunner::testsel(const std::string& str)
+{
+    return SelectionRecord(str);
+}
+
+std::string TestRoadRunner::read_uri(const std::string& uri)
+{
+
+    return SBMLReader::read(uri);
+
+    /*
+
+
+    try
+    {
+        Poco::Net::HTTPStreamFactory::registerFactory();
+
+        Poco::URIStreamOpener &opener = Poco::URIStreamOpener::defaultOpener();
+
+
+        std::istream* stream = opener.open(uri);
+
+        std::istreambuf_iterator<char> eos;
+        std::string s(std::istreambuf_iterator<char>(*stream), eos);
+
+        return s;
+
+    }
+    catch(std::exception& ex)
+    {
+        cout << "caught exception " << ex.what() << endl;
+        return ex.what();
+    }
+
+     */
+}
+
+
+void TestRoadRunner::steadyState(const std::string& uri)
+{
+    Logger::setLevel(Logger::LOG_DEBUG);
+    RoadRunner r;
+
+    r.load(uri);
+
+    r.steadyState();
+}
+
+void TestRoadRunner::testLoad(const std::string& uri)
+{
+    try
+    {
+        Logger::setLevel(Logger::LOG_DEBUG);
+
+        //std::string sbml = SBMLReader::read(uri);
+
+
+        RoadRunner r;
+
+        r.load(uri);
+
+        r.steadyState();
+    }
+    catch(std::exception& e)
+    {
+        cout << "error: " << e.what() << std::endl;
+    }
+}
+
+
+void TestRoadRunner::testCons1()
+{
+    ConservationPkgNamespaces *sbmlns = new ConservationPkgNamespaces(3,1,1);
+
+    SBMLDocument doc(sbmlns);
+
+    ConservationDocumentPlugin* docPlugin =
+            dynamic_cast<ConservationDocumentPlugin*>(doc.getPlugin("conservation"));
+
+    cout << "document plugin: " << docPlugin << endl;
+
+    Model *m = doc.createModel("foo");
+
+    Parameter *p = m->createParameter();
+
+    ConservedMoietyPlugin *paramPlugin =
+            dynamic_cast<ConservedMoietyPlugin*>(p->getPlugin("conservation"));
+
+    cout << "parameter plugin: " << paramPlugin << endl;
+
+    Species *s = m->createSpecies();
+
+    ConservedMoietyPlugin *speciesPlugin =
+            dynamic_cast<ConservedMoietyPlugin*>(s->getPlugin("conservation"));
+
+    cout << "species plugin: " << speciesPlugin << endl;
+
+
+
+    cout << "its all good" << endl;
+
+}
+
+std::string removeExtension(const std::string& filename)
+{
+    size_t lastdot = filename.find_last_of(".");
+    if (lastdot == std::string::npos) return filename;
+    return filename.substr(0, lastdot);
+}
+
+void TestRoadRunner::testCons2(const std::string& fname)
+{
+
+    Logger::enableConsoleLogging(Logger::LOG_DEBUG);
+    //const char* fname = "/Users/andy/src/sbml_test/cases/semantic/00001/00001-sbml-l2v4.xml";
+
+    libsbml::SBMLReader reader;
+
+    SBMLDocument *doc = reader.readSBML(fname);
+
+    ConservedMoietyConverter conv;
+
+    conv.setDocument(doc);
+
+    int result = conv.convert();
+
+    SBMLDocument *newDoc = conv.getDocument();
+
+    ConservationDocumentPlugin* docPlugin =
+            dynamic_cast<ConservationDocumentPlugin*>(newDoc->getPlugin(
+                    "conservation"));
+
+    cout << "document plugin: " << docPlugin << endl;
+
+    libsbml::SBMLWriter writer;
+
+    string base = removeExtension(fname);
+
+    writer.writeSBML(conv.getLevelConvertedDocument(), base + ".l3v1.xml");
+
+    writer.writeSBML(newDoc, base + ".moiety.xml");
+
+    delete doc;
+
+    cout << "its all good" << endl;
+}
+
+void TestRoadRunner::testRead(const std::string &fname)
+{
+    Logger::enableConsoleLogging(Logger::LOG_DEBUG);
+    //const char* fname = "/Users/andy/src/sbml_test/cases/semantic/00001/00001-sbml-l2v4.xml";
+
+    libsbml::SBMLReader reader;
+
+    SBMLDocument *doc = reader.readSBML(fname);
+
+
+    Model *m = doc->getModel();
+
+    const ListOfParameters *params = m->getListOfParameters();
+
+    for(int i = 0; i < params->size(); ++i)
+    {
+        const Parameter *p = params->get(i);
+
+        cout << "param \'" << p->getId() << "\', conservedMoiety: "
+                << ConservationExtension::getConservedMoiety(*p) << endl;
+    }
+
+    const ListOfSpecies *species = m->getListOfSpecies();
+
+    for(int i = 0; i < species->size(); ++i)
+    {
+        const Species *s = species->get(i);
+
+        cout << "species \'" << s->getId() << "\', conservedMoiety: "
+                        << ConservationExtension::getConservedMoiety(*s) << endl;
+
+    }
+
+
+    delete doc;
+
+    Logger::setLevel(Logger::LOG_TRACE);
+
+    RoadRunner r;
+
+    r.load(fname, 0);
+
+
+    rr::ExecutableModel *model = r.getModel();
+
+    int len = model->getNumIndFloatingSpecies();
+    double *buffer = new double[len];
+
+    model->getFloatingSpeciesAmountRates(len, 0, buffer);
+
+    delete[] buffer;
+
+
+
+    cout << "its all good" << endl;
+}
+
+void TestRoadRunner::testLogging(const std::string& logFileName)
+{
+    Logger::enableConsoleLogging(Logger::LOG_NOTICE);
+
+    Log(Logger::LOG_NOTICE) << "console only notice";
+
+    Log(Logger::LOG_NOTICE) << "setting logging to file: " << logFileName;
+
+    Logger::enableFileLogging(logFileName, Logger::LOG_NOTICE);
+
+    cout << "console and file logging:" << endl;
+
+    cout << "log file name: " << Logger::getFileName() << endl;
+
+    Log(Logger::LOG_FATAL) << "console and file: A fatal error";
+    Log(Logger::LOG_CRITICAL) << "console and file: A critical error";
+    Log(Logger::LOG_ERROR) << "console and file: An error";
+    Log(Logger::LOG_WARNING) << "console and file: A warning. ";
+    Log(Logger::LOG_NOTICE) << "console and file: A notice.";
+    Log(Logger::LOG_INFORMATION) << "console and file: An informational message";
+    Log(Logger::LOG_DEBUG) << "console and file: A debugging message.";
+    Log(Logger::LOG_TRACE) << "console and file: A tracing message.";
+
+    Logger::disableConsoleLogging();
+
+    cout << "file only logging:" << endl;
+
+    cout << "log file name: " << Logger::getFileName() << endl;
+
+    Log(Logger::LOG_FATAL) << "file only: A fatal error";
+    Log(Logger::LOG_CRITICAL) << "file only: A critical error";
+    Log(Logger::LOG_ERROR) << "file only: An error";
+    Log(Logger::LOG_WARNING) << "file only: A warning. ";
+    Log(Logger::LOG_NOTICE) << "file only: A notice.";
+    Log(Logger::LOG_INFORMATION) << "file only: An informational message";
+    Log(Logger::LOG_DEBUG) << "file only: A debugging message.";
+    Log(Logger::LOG_TRACE) << "file only: A tracing message.";
+
+    cout << "no logging: " << endl;
+
+    Logger::disableLogging();
+
+    cout << "log file name: " << Logger::getFileName() << endl;
+
+    Log(Logger::LOG_FATAL) << "no log: A fatal error";
+    Log(Logger::LOG_CRITICAL) << "no log: A critical error";
+    Log(Logger::LOG_ERROR) << "no log: An error";
+    Log(Logger::LOG_WARNING) << "no log: A warning. ";
+    Log(Logger::LOG_NOTICE) << "no log: A notice.";
+    Log(Logger::LOG_INFORMATION) << "no log: An informational message";
+    Log(Logger::LOG_DEBUG) << "no log: A debugging message.";
+    Log(Logger::LOG_TRACE) << "no log: A tracing message.";
+
+    Logger::enableConsoleLogging();
+
+    cout << "console logging: " << endl;
+
+    Log(Logger::LOG_FATAL) << "console logging: A fatal error";
+    Log(Logger::LOG_CRITICAL) << "console logging: A critical error";
+    Log(Logger::LOG_ERROR) << "console logging: An error";
+    Log(Logger::LOG_WARNING) << "console logging: A warning. ";
+    Log(Logger::LOG_NOTICE) << "console logging: A notice.";
+    Log(Logger::LOG_INFORMATION) << "console logging: An informational message";
+    Log(Logger::LOG_DEBUG) << "console logging: A debugging message.";
+    Log(Logger::LOG_TRACE) << "console logging: A tracing message.";
+
+    Logger::enableFileLogging(logFileName, Logger::LOG_NOTICE);
+
+    cout << "console and file logging:" << endl;
+
+    cout << "log file name: " << Logger::getFileName() << endl;
+
+    Log(Logger::LOG_FATAL) << "console and file: A fatal error";
+    Log(Logger::LOG_CRITICAL) << "console and file: A critical error";
+    Log(Logger::LOG_ERROR) << "console and file: An error";
+    Log(Logger::LOG_WARNING) << "console and file: A warning. ";
+    Log(Logger::LOG_NOTICE) << "console and file: A notice.";
+    Log(Logger::LOG_INFORMATION) << "console and file: An informational message";
+    Log(Logger::LOG_DEBUG) << "console and file: A debugging message.";
+    Log(Logger::LOG_TRACE) << "console and file: A tracing message.";
+
+}
+
+#ifndef _WIN32
+void TestRoadRunner::test_fs75()
+{
+    const char* src = "/Users/andy/fs75.xml";
+
+    rrc::RRHandle r = rrc::createRRInstance();
+
+    rrc::loadSBMLFromFile(r, src);
+
+    double conc[] = {1.0, 2.0, 3.0};
+
+    rrc::RRVector concVec;
+
+    concVec.Count = 3;
+    concVec.Data = conc;
+
+    rrc::RRVectorPtr res = rrc::getReactionRatesEx(r, &concVec);
+
+    for (int i = 0; i < res->Count; ++i)
+    {
+        cout << "index " << i << ": " << res->Data[i] << endl;
+    }
+}
+
+void TestRoadRunner::test_fs74()
+{
+    rrc::RRHandle r = rrc::createRRInstance();
+
+    rrc::loadSBMLFromFile(r, "");
+
+    cout << "error:: " << rrc::getLastError() << endl;
+
+}
+
+void TestRoadRunner::test_fs73()
+{
+    const char* src = "/Users/andy/fs75.xml";
+
+    rrc::RRHandle r = rrc::createRRInstance();
+
+    rrc::loadSBMLFromFile(r, src);
+
+    rrc::setFloatingSpeciesByIndex(r, 1, 3.14);
+
+    double result = 0;
+
+    rrc::getFloatingSpeciesByIndex(r, 1, &result);
+
+    cout << "result: " << result << endl;
+}
+#else
+
+void TestRoadRunner::test_fs75() {}
+void TestRoadRunner::test_fs74() {}
+void TestRoadRunner::test_fs73() {}
+
+#endif
+
+} /* namespace rr */
+
+
diff --git a/source/llvm_testing/src/TestRoadRunner.h b/source/llvm_testing/src/TestRoadRunner.h
new file mode 100644
index 0000000..3efb494
--- /dev/null
+++ b/source/llvm_testing/src/TestRoadRunner.h
@@ -0,0 +1,82 @@
+/*
+ * TestRoadRunner.h
+ *
+ *  Created on: Jul 24, 2013
+ *      Author: andy
+ */
+
+#ifndef TESTROADRUNNER_H_
+#define TESTROADRUNNER_H_
+
+#include "rrRoadRunner.h"
+#include "rrTestSuiteModelSimulation.h"
+#include "rrSelectionRecord.h"
+
+namespace rr
+{
+
+class TestRoadRunner
+{
+public:
+    TestRoadRunner(const std::string& version, int caseNumber);
+    virtual ~TestRoadRunner();
+
+    bool test(const std::string& compiler);
+
+    RoadRunner *rr;
+
+    TestSuiteModelSimulation *simulation;
+
+    std::string version;
+    int caseNumber;
+
+    std::string modelFilePath;
+    std::string modelFileName;
+    std::string settingsFileName;
+    std::string home;
+    std::string dataOutputFolder;
+
+    void loadSBML(const std::string& compiler);
+
+    void simulate();
+
+    void saveResult();
+
+    void compareReference();
+
+
+    static void test2();
+
+    static void test3();
+
+    static SelectionRecord testsel(const std::string& str);
+
+    static std::string read_uri(const std::string& uri);
+
+    static void steadyState(const std::string& uri);
+
+    static void testLoad(const std::string& uri);
+
+
+    static void testCons1();
+
+
+    static void testCons2(const std::string& srcFile);
+
+    static void testLogging(const std::string& logFileName);
+
+
+    static void testRead(const std::string &srcFile);
+
+
+    static void test_fs75();
+
+    static void test_fs74();
+
+    static void test_fs73();
+
+
+};
+
+} /* namespace rr */
+#endif /* TESTROADRUNNER_H_ */
diff --git a/source/llvm_testing/src/TestVariant.cpp b/source/llvm_testing/src/TestVariant.cpp
new file mode 100644
index 0000000..572203c
--- /dev/null
+++ b/source/llvm_testing/src/TestVariant.cpp
@@ -0,0 +1,126 @@
+/*
+ * TestVariant.cpp
+ *
+ *  Created on: Apr 26, 2014
+ *      Author: andy
+ */
+
+#include <TestVariant.h>
+#include <Variant.h>
+#include <rrConfig.h>
+
+#include "rrLogger.h"
+
+#include "rrRoadRunner.h"
+
+#ifdef RR_BUILD_PYTHON
+#include <Python.h>
+#endif
+
+#include <iostream>
+
+using namespace std;
+
+typedef struct {
+    int a;
+    int b;
+} Foo;
+
+namespace rr
+{
+
+int testPythonVariant(int argc, char* argv[])
+{
+#if 0
+    PyObject *pName, *pModule, *pDict, *pFunc;
+    PyObject *pArgs, *pValue;
+    int i;
+
+
+    Py_Initialize();
+    pName = PyString_FromString("Test String");
+    /* Error checking of pName left out */
+
+    Variant v(pName);
+
+    PyObject *obj = v.convert<PyObject*>();
+
+    if (PyString_Check(obj)) {
+        cout << "is string" << std::endl;
+
+        cout << "value: " <<  PyString_AsString(obj) << endl;
+
+        Py_XDECREF(obj);
+    }
+
+
+    Py_DECREF(pName);
+
+    Foo f;
+
+    Variant v2(f);
+
+    PyClassObject *cls;
+
+    Variant v3(cls);
+
+    PyClassObject c;
+
+    Variant v4(c);
+
+
+    Py_Finalize();
+
+#endif
+
+    return 0;
+
+}
+
+
+int TestVariant::testPythonVariant(int argc, char* argv[])
+{
+    return 0;
+}
+
+template <typename T>
+void tryConv(Variant& v, T t) {
+    const type_info& info = typeid(T);
+
+    try {
+        T res = v.convert<T>();
+        cout << "converted " << v.toString() << " to " << info.name() << " OK" << endl;
+    } catch (std::exception& e) {
+        cout << "could not convert " << v.toString() << " to " << info.name() << ", what: " << e.what() << endl;
+    }
+
+}
+
+void TestVariant::test(int argc, char* argv[])
+{
+    if (argc < 2) {
+        return;
+    }
+
+    Variant v = Variant::parse(argv[1]);
+
+    cout << "converted \'" << argv[1] << "\' to \'" << v.toString() << "\', with type " << v.typeInfo().name() << endl;
+
+    Config::writeConfigFile("/Users/andy/temp.conf");
+}
+
+void TestVariant::testConfig(int argc, char* argv[])
+{
+    Logger::setLevel(Logger::LOG_TRACE);
+    rr::Config::getString(rr::Config::LOADSBMLOPTIONS_CONSERVED_MOIETIES);
+
+    Config::writeConfigFile("/Users/andy/test.conf");
+
+    Config::readConfigFile("/Users/andy/test.conf");
+
+    RoadRunner r("/Users/andy/ex.xml");
+
+    r.simulate();
+}
+
+}
diff --git a/source/llvm_testing/src/TestVariant.h b/source/llvm_testing/src/TestVariant.h
new file mode 100644
index 0000000..bb1f86d
--- /dev/null
+++ b/source/llvm_testing/src/TestVariant.h
@@ -0,0 +1,28 @@
+/*
+ * TestVariant.h
+ *
+ *  Created on: Apr 26, 2014
+ *      Author: andy
+ */
+
+#ifndef TESTVARIANT_H_
+#define TESTVARIANT_H_
+
+namespace rr
+{
+
+class TestVariant
+{
+public:
+    static int testPythonVariant(int argc, char* argv[]);
+
+    static void test(int argc, char* argv[]);
+
+    static void testConfig(int argc, char* argv[]);
+};
+
+
+
+} /* namespace rr */
+
+#endif /* TESTVARIANT_H_ */
diff --git a/source/llvm_testing/src/cpplapack.cpp b/source/llvm_testing/src/cpplapack.cpp
new file mode 100644
index 0000000..56d63bb
--- /dev/null
+++ b/source/llvm_testing/src/cpplapack.cpp
@@ -0,0 +1,25 @@
+/*
+ * cpplapack.cpp
+ *
+ *  Created on: Jul 10, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "cpplapack.h"
+
+extern "C"
+{
+#include "f2c.h"
+#include "clapack.h"
+}
+
+int cpp_dgemv(char trans, int m, int n, double alpha, double* a, int lda,
+        double* x, int incx, double beta, double* y, int incy)
+{
+    integer _m = m;
+    integer _n = n;
+    integer _lda = lda;
+    integer _incx = incx;
+    integer _incy = incy;
+    return dgemv_(&trans, &_m, &_n, &alpha, a, &_lda, x, &_incx, &beta, y, &_incy);
+}
diff --git a/source/llvm_testing/src/cpplapack.h b/source/llvm_testing/src/cpplapack.h
new file mode 100644
index 0000000..0ce4f10
--- /dev/null
+++ b/source/llvm_testing/src/cpplapack.h
@@ -0,0 +1,14 @@
+/*
+ * cpplapack.h
+ *
+ *  Created on: Jul 10, 2013
+ *      Author: andy
+ */
+
+#ifndef CPPLAPACK_H_
+#define CPPLAPACK_H_
+
+int cpp_dgemv(char trans, int m, int n, double alpha, double *a, int lda,
+        double *x, int incx, double beta, double *y, int incy);
+
+#endif /* CPPLAPACK_H_ */
diff --git a/source/llvm_testing/src/rrTestUtils.cpp b/source/llvm_testing/src/rrTestUtils.cpp
new file mode 100644
index 0000000..45c4ceb
--- /dev/null
+++ b/source/llvm_testing/src/rrTestUtils.cpp
@@ -0,0 +1,28 @@
+#include <vector>
+#include "rrUtils.h"
+#include "rrTestUtils.h"
+
+using namespace std;
+using namespace rr;
+DoubleMatrix ParseMatrixFromText(const string& textMatrix)
+{
+	DoubleMatrix mat;
+
+    //Parse the matrix
+    vector<string> rows = splitString(textMatrix, "\n");
+    for(int row = 0; row < rows.size(); row++)
+    {
+        vector<string> values = splitString(rows[row], " \t");
+        for(int col = 0; col < values.size(); col++)
+        {
+        	if(!mat.size())
+            {
+                mat.resize(rows.size(), values.size());
+            }
+
+            mat(row, col) = toDouble(values[col]);
+        }
+    }
+	return mat;
+}
+
diff --git a/source/llvm_testing/src/rrTestUtils.h b/source/llvm_testing/src/rrTestUtils.h
new file mode 100644
index 0000000..61fb7c4
--- /dev/null
+++ b/source/llvm_testing/src/rrTestUtils.h
@@ -0,0 +1,11 @@
+#ifndef rrTestUtilsH
+#define rrTestUtilsH
+#include <string>
+#include "lsMatrix.h"
+
+using namespace ls;
+using std::string;
+DoubleMatrix ParseMatrixFromText(const string& textMatrix);
+
+
+#endif
diff --git a/source/llvm_testing/src/test_compiler.cpp b/source/llvm_testing/src/test_compiler.cpp
new file mode 100644
index 0000000..7d28da7
--- /dev/null
+++ b/source/llvm_testing/src/test_compiler.cpp
@@ -0,0 +1,24 @@
+/*
+ * test_compiler.cpp
+ *
+ *  Created on: Jul 15, 2013
+ *      Author: andy
+ */
+#pragma hdrstop
+#include "test_compiler.h"
+#include "rrCompiler.h"
+
+#include "rrOSSpecifics.h"
+#include <iostream>
+
+using namespace std;
+
+namespace rr
+{
+
+void test_compiler()
+{
+
+}
+
+} /* namespace rr */
diff --git a/source/llvm_testing/src/test_compiler.h b/source/llvm_testing/src/test_compiler.h
new file mode 100644
index 0000000..343fceb
--- /dev/null
+++ b/source/llvm_testing/src/test_compiler.h
@@ -0,0 +1,17 @@
+/*
+ * test_compiler.h
+ *
+ *  Created on: Jul 15, 2013
+ *      Author: andy
+ */
+
+#ifndef TEST_COMPILER_H_
+#define TEST_COMPILER_H_
+
+namespace rr
+{
+
+void test_compiler();
+
+} /* namespace rr */
+#endif /* TEST_COMPILER_H_ */
diff --git a/source/llvm_testing/src/tests.cpp b/source/llvm_testing/src/tests.cpp
new file mode 100644
index 0000000..abc0544
--- /dev/null
+++ b/source/llvm_testing/src/tests.cpp
@@ -0,0 +1,183 @@
+#include "tests.h"
+#include "llvm/ModelGeneratorContext.h"
+#include "llvm/LLVMModelDataSymbols.h"
+#include "llvm/ModelDataIRBuilder.h"
+#include "rrException.h"
+#include "rrUtils.h"
+#include "llvm/LLVMIncludes.h"
+#include "llvm/AssignmentRuleEvaluator.h"
+#include "llvm/EvalInitialConditionsCodeGen.h"
+#include "rrSparse.h"
+#include "rrLogger.h"
+
+
+
+
+
+#include <sbml/SBMLDocument.h>
+#include <sbml/Model.h>
+#include <sbml/SBMLReader.h>
+
+#include "llvm/LLVMModelData.h"
+
+#include <utility>
+#include <cstdlib>
+#include <iostream>
+#include <fstream>
+
+#include "cpplapack.h"
+
+using namespace std;
+using namespace rr;
+using namespace llvm;
+using namespace libsbml;
+using namespace rrllvm;
+
+
+
+string getModelFileName(const string& version, int caseNumber)
+{
+    string dummy;
+    string logFileName;
+    string settingsFileName;
+
+    //Create a log file name
+    createTestSuiteFileNameParts(caseNumber, ".log", dummy, logFileName,
+            settingsFileName);
+
+    //Read SBML models.....
+    string home = getenv("HOME");
+    string modelFilePath = home + "/src/sbml_test/";
+
+    modelFilePath = joinPath(joinPath(modelFilePath, "cases"), "semantic");
+    string modelFileName;
+
+    createTestSuiteFileNameParts(caseNumber, "-sbml-" + version + ".xml",
+            modelFilePath, modelFileName, settingsFileName);
+
+    modelFileName = joinPath(modelFilePath, modelFileName);
+
+    return modelFileName;
+}
+
+bool runInitialValueAssigmentTest(const string& version, int caseNumber)
+{
+    LLVMModelData *md = 0;
+    string modelFileName = getModelFileName(version, caseNumber);
+
+    SBMLDocument *doc = readSBMLFromFile(modelFileName.c_str());
+
+    try
+    {
+
+        ModelGeneratorContext c(doc, true);
+
+        c.getModelDataSymbols().print();
+
+        createModelData(c.getModelDataSymbols(), 0);
+
+        ExecutionEngine &engine = c.getExecutionEngine();
+
+        StructType *s = ModelDataIRBuilder::getStructType(c.getModule());
+
+        EvalInitialConditionsCodeGen iv(c);
+
+        EvalInitialConditionsCodeGen::FunctionPtr pfunc;
+
+        pfunc = iv.createFunction();
+
+        pfunc(md, 0);
+
+        Log(lInfo) << md;
+
+        cout << "done with " << modelFileName << endl;
+
+    }
+    catch(std::exception &e)
+    {
+        cout << "Failure in " << modelFileName.c_str() << ", " << e.what() << "\n";
+    }
+
+    delete doc;
+
+    return true;
+}
+
+bool runModelDataAccessorTest(const string& version, int caseNumber)
+{
+    LLVMModelData *md;
+    string modelFileName = getModelFileName(version, caseNumber);
+
+    SBMLDocument *doc = readSBMLFromFile(modelFileName.c_str());
+
+    ModelGeneratorContext c(doc, true);
+
+    md = createModelData(c.getModelDataSymbols(), 0);
+
+    LLVMModelDataIRBuilderTesting builder(c.getModelDataSymbols(), c.getBuilder());
+
+    //builder.test(c.getModule(), c.getBuilder(), c.getExecutionEngine());
+
+    builder.createAccessors(c.getModule());
+
+    ExecutionEngine &engine = c.getExecutionEngine();
+    Function *getFunc = engine.FindFunctionNamed("get_size");
+
+    //getFunc->dump();
+
+    // JIT the function, returning a function pointer.
+
+
+    // Cast it to the right type (takes no arguments, returns a double) so we
+    // can call it as a native function.
+    int (*pfunc)(LLVMModelData*) = (int (*)(LLVMModelData*))engine.getPointerToFunction(getFunc);
+
+    double value = pfunc(md);
+
+    cout << "get_size returned " << value << "\n";
+
+
+
+    vector<string> floatSpeciesIds = c.getModelDataSymbols().getFloatingSpeciesIds();
+
+
+    for(int i = 0; i < md->numIndCompartments; i++)
+    {
+        md->compartmentVolumesAlias[i] = 1.5;
+    }
+
+    for(int i = 0; i < floatSpeciesIds.size(); i++)
+    {
+        string getName = "get_floatingspecies_conc_" + floatSpeciesIds[i];
+        Function *getFunc = engine.FindFunctionNamed(getName.c_str());
+
+        //getFunc->dump();
+
+        // JIT the function, returning a function pointer.
+
+
+              // Cast it to the right type (takes no arguments, returns a double) so we
+              // can call it as a native function.
+        double (*pfunc)(LLVMModelData*) = (double (*)(LLVMModelData*))engine.getPointerToFunction(getFunc);
+
+        double value = pfunc(md);
+
+        cout << getName << " returned " << value << "\n";
+
+        string setName = "set_floatingspecies_conc_" + floatSpeciesIds[i];
+        Function *setFunc = engine.FindFunctionNamed(setName.c_str());
+
+        void (*psetfunc)(LLVMModelData*,double) = (void (*)(LLVMModelData*,double))engine.getPointerToFunction(setFunc);
+
+        psetfunc(md, i+1);
+
+    }
+
+
+    LLVMModelData_free(md);
+
+    delete doc;
+
+    return true;
+}
+
diff --git a/source/llvm_testing/src/tests.h b/source/llvm_testing/src/tests.h
new file mode 100644
index 0000000..c3444ff
--- /dev/null
+++ b/source/llvm_testing/src/tests.h
@@ -0,0 +1,26 @@
+/*
+ * tests.h
+ *
+ *  Created on: Jul 1, 2013
+ *      Author: andy
+ */
+
+#ifndef TESTS_H_
+#define TESTS_H_
+
+#include <string>
+
+using namespace std;
+
+string getModelFileName(const string& version, int caseNumber);
+
+bool runModelDataAccessorTest(const string& version, int caseNumber);
+
+bool runInitialValueAssigmentTest(const string& version, int caseNumber) ;
+
+
+
+
+
+
+#endif /* TESTS_H_ */
diff --git a/source/msc_stdint.h b/source/msc_stdint.h
new file mode 100644
index 0000000..4fe0ef9
--- /dev/null
+++ b/source/msc_stdint.h
@@ -0,0 +1,259 @@
+// ISO C9x  compliant stdint.h for Microsoft Visual Studio
+// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 
+// 
+//  Copyright (c) 2006-2013 Alexander Chemeris
+// 
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+// 
+//   1. Redistributions of source code must retain the above copyright notice,
+//      this list of conditions and the following disclaimer.
+// 
+//   2. Redistributions in binary form must reproduce the above copyright
+//      notice, this list of conditions and the following disclaimer in the
+//      documentation and/or other materials provided with the distribution.
+// 
+//   3. Neither the name of the product nor the names of its contributors may
+//      be used to endorse or promote products derived from this software
+//      without specific prior written permission.
+// 
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// 
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _MSC_VER // [
+#error "Use this header only with Microsoft Visual C++ compilers!"
+#endif // _MSC_VER ]
+
+#ifndef _MSC_STDINT_H_ // [
+#define _MSC_STDINT_H_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif
+
+#if _MSC_VER >= 1600 // [
+#include <stdint.h>
+#else // ] _MSC_VER >= 1600 [
+
+#include <limits.h>
+
+// For Visual Studio 6 in C++ mode and for many Visual Studio versions when
+// compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}'
+// or compiler give many errors like this:
+//   error C2733: second C linkage of overloaded function 'wmemchr' not allowed
+#ifdef __cplusplus
+extern "C" {
+#endif
+#  include <wchar.h>
+#ifdef __cplusplus
+}
+#endif
+
+// Define _W64 macros to mark types changing their size, like intptr_t.
+#ifndef _W64
+#  if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
+#     define _W64 __w64
+#  else
+#     define _W64
+#  endif
+#endif
+
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+// Visual Studio 6 and Embedded Visual C++ 4 doesn't
+// realize that, e.g. char has the same size as __int8
+// so we give up on __intX for them.
+#if (_MSC_VER < 1300)
+   typedef signed char       int8_t;
+   typedef signed short      int16_t;
+   typedef signed int        int32_t;
+   typedef unsigned char     uint8_t;
+   typedef unsigned short    uint16_t;
+   typedef unsigned int      uint32_t;
+#else
+   typedef signed __int8     int8_t;
+   typedef signed __int16    int16_t;
+   typedef signed __int32    int32_t;
+   typedef unsigned __int8   uint8_t;
+   typedef unsigned __int16  uint16_t;
+   typedef unsigned __int32  uint32_t;
+#endif
+typedef signed __int64       int64_t;
+typedef unsigned __int64     uint64_t;
+
+
+// 7.18.1.2 Minimum-width integer types
+typedef int8_t    int_least8_t;
+typedef int16_t   int_least16_t;
+typedef int32_t   int_least32_t;
+typedef int64_t   int_least64_t;
+typedef uint8_t   uint_least8_t;
+typedef uint16_t  uint_least16_t;
+typedef uint32_t  uint_least32_t;
+typedef uint64_t  uint_least64_t;
+
+// 7.18.1.3 Fastest minimum-width integer types
+typedef int8_t    int_fast8_t;
+typedef int16_t   int_fast16_t;
+typedef int32_t   int_fast32_t;
+typedef int64_t   int_fast64_t;
+typedef uint8_t   uint_fast8_t;
+typedef uint16_t  uint_fast16_t;
+typedef uint32_t  uint_fast32_t;
+typedef uint64_t  uint_fast64_t;
+
+// 7.18.1.4 Integer types capable of holding object pointers
+#ifdef _WIN64 // [
+   typedef signed __int64    intptr_t;
+   typedef unsigned __int64  uintptr_t;
+#else // _WIN64 ][
+   typedef _W64 signed int   intptr_t;
+   typedef _W64 unsigned int uintptr_t;
+#endif // _WIN64 ]
+
+// 7.18.1.5 Greatest-width integer types
+typedef int64_t   intmax_t;
+typedef uint64_t  uintmax_t;
+
+
+// 7.18.2 Limits of specified-width integer types
+
+#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [   See footnote 220 at page 257 and footnote 221 at page 259
+
+// 7.18.2.1 Limits of exact-width integer types
+#define INT8_MIN     ((int8_t)_I8_MIN)
+#define INT8_MAX     _I8_MAX
+#define INT16_MIN    ((int16_t)_I16_MIN)
+#define INT16_MAX    _I16_MAX
+#define INT32_MIN    ((int32_t)_I32_MIN)
+#define INT32_MAX    _I32_MAX
+#define INT64_MIN    ((int64_t)_I64_MIN)
+#define INT64_MAX    _I64_MAX
+#define UINT8_MAX    _UI8_MAX
+#define UINT16_MAX   _UI16_MAX
+#define UINT32_MAX   _UI32_MAX
+#define UINT64_MAX   _UI64_MAX
+
+// 7.18.2.2 Limits of minimum-width integer types
+#define INT_LEAST8_MIN    INT8_MIN
+#define INT_LEAST8_MAX    INT8_MAX
+#define INT_LEAST16_MIN   INT16_MIN
+#define INT_LEAST16_MAX   INT16_MAX
+#define INT_LEAST32_MIN   INT32_MIN
+#define INT_LEAST32_MAX   INT32_MAX
+#define INT_LEAST64_MIN   INT64_MIN
+#define INT_LEAST64_MAX   INT64_MAX
+#define UINT_LEAST8_MAX   UINT8_MAX
+#define UINT_LEAST16_MAX  UINT16_MAX
+#define UINT_LEAST32_MAX  UINT32_MAX
+#define UINT_LEAST64_MAX  UINT64_MAX
+
+// 7.18.2.3 Limits of fastest minimum-width integer types
+#define INT_FAST8_MIN    INT8_MIN
+#define INT_FAST8_MAX    INT8_MAX
+#define INT_FAST16_MIN   INT16_MIN
+#define INT_FAST16_MAX   INT16_MAX
+#define INT_FAST32_MIN   INT32_MIN
+#define INT_FAST32_MAX   INT32_MAX
+#define INT_FAST64_MIN   INT64_MIN
+#define INT_FAST64_MAX   INT64_MAX
+#define UINT_FAST8_MAX   UINT8_MAX
+#define UINT_FAST16_MAX  UINT16_MAX
+#define UINT_FAST32_MAX  UINT32_MAX
+#define UINT_FAST64_MAX  UINT64_MAX
+
+// 7.18.2.4 Limits of integer types capable of holding object pointers
+#ifdef _WIN64 // [
+#  define INTPTR_MIN   INT64_MIN
+#  define INTPTR_MAX   INT64_MAX
+#  define UINTPTR_MAX  UINT64_MAX
+#else // _WIN64 ][
+#  define INTPTR_MIN   INT32_MIN
+#  define INTPTR_MAX   INT32_MAX
+#  define UINTPTR_MAX  UINT32_MAX
+#endif // _WIN64 ]
+
+// 7.18.2.5 Limits of greatest-width integer types
+#define INTMAX_MIN   INT64_MIN
+#define INTMAX_MAX   INT64_MAX
+#define UINTMAX_MAX  UINT64_MAX
+
+// 7.18.3 Limits of other integer types
+
+#ifdef _WIN64 // [
+#  define PTRDIFF_MIN  _I64_MIN
+#  define PTRDIFF_MAX  _I64_MAX
+#else  // _WIN64 ][
+#  define PTRDIFF_MIN  _I32_MIN
+#  define PTRDIFF_MAX  _I32_MAX
+#endif  // _WIN64 ]
+
+#define SIG_ATOMIC_MIN  INT_MIN
+#define SIG_ATOMIC_MAX  INT_MAX
+
+#ifndef SIZE_MAX // [
+#  ifdef _WIN64 // [
+#     define SIZE_MAX  _UI64_MAX
+#  else // _WIN64 ][
+#     define SIZE_MAX  _UI32_MAX
+#  endif // _WIN64 ]
+#endif // SIZE_MAX ]
+
+// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h>
+#ifndef WCHAR_MIN // [
+#  define WCHAR_MIN  0
+#endif  // WCHAR_MIN ]
+#ifndef WCHAR_MAX // [
+#  define WCHAR_MAX  _UI16_MAX
+#endif  // WCHAR_MAX ]
+
+#define WINT_MIN  0
+#define WINT_MAX  _UI16_MAX
+
+#endif // __STDC_LIMIT_MACROS ]
+
+
+// 7.18.4 Limits of other integer types
+
+#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [   See footnote 224 at page 260
+
+// 7.18.4.1 Macros for minimum-width integer constants
+
+#define INT8_C(val)  val##i8
+#define INT16_C(val) val##i16
+#define INT32_C(val) val##i32
+#define INT64_C(val) val##i64
+
+#define UINT8_C(val)  val##ui8
+#define UINT16_C(val) val##ui16
+#define UINT32_C(val) val##ui32
+#define UINT64_C(val) val##ui64
+
+// 7.18.4.2 Macros for greatest-width integer constants
+// These #ifndef's are needed to prevent collisions with <boost/cstdint.hpp>.
+// Check out Issue 9 for the details.
+#ifndef INTMAX_C //   [
+#  define INTMAX_C   INT64_C
+#endif // INTMAX_C    ]
+#ifndef UINTMAX_C //  [
+#  define UINTMAX_C  UINT64_C
+#endif // UINTMAX_C   ]
+
+#endif // __STDC_CONSTANT_MACROS ]
+
+#endif // _MSC_VER >= 1600 ]
+
+#endif // _MSC_STDINT_H_ ]
diff --git a/source/roadrunner.pc.in b/source/roadrunner.pc.in
new file mode 100755
index 0000000..ba5654b
--- /dev/null
+++ b/source/roadrunner.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include/rr
+
+Name: libRoadRunner
+Description: SBML-compliant simulation engine
+Version: @ROADRUNNER_VERSION@
+Libs: -L${libdir} -lroadrunner
+Libs.private: @ROADRUNNER_SHARED_DEPS@
+Cflags: -I${includedir}
+
diff --git a/source/rrAutoLink.cpp b/source/rrAutoLink.cpp
new file mode 100644
index 0000000..36b889e
--- /dev/null
+++ b/source/rrAutoLink.cpp
@@ -0,0 +1,18 @@
+//We only need to give the linker the folder where libs are
+//using the pragma comment. Automatic linking, using pragma comment works for MSVC and codegear
+
+#pragma comment(lib, "sundials_cvode.lib")
+#pragma comment(lib, "sundials_nvecserial.lib")
+#pragma comment(lib, "nleq-static.lib")
+#pragma comment(lib, "rr-libstruct-static.lib")
+#pragma comment(lib, "libsbml-static.lib")
+#pragma comment(lib, "libxml2_xe.lib")
+#pragma comment(lib, "blas.lib")
+#pragma comment(lib, "lapack.lib")
+#pragma comment(lib, "libf2c.lib")
+#pragma comment(lib, "poco_foundation-static.lib")
+
+
+#if defined(_WIN32)
+#pragma comment(lib, "IPHLPAPI.lib") //Becuase of poco needing this
+#endif
diff --git a/source/rrCompiler.h b/source/rrCompiler.h
new file mode 100644
index 0000000..7a6514d
--- /dev/null
+++ b/source/rrCompiler.h
@@ -0,0 +1,77 @@
+/*
+ * rrCompiler.h
+ *
+ *  Author: Andy Somogyi
+ *  Created on: Jul 15, 2013
+ */
+
+#ifndef rrCompiler_H
+#define rrCompiler_H
+
+#include "rrOSSpecifics.h"
+#include <string>
+
+namespace rr
+{
+
+/**
+ * interface to manipulate 'compiler' settings.
+ *
+ * In the C generating model sytem, an external C compiler is used to compile
+ * generated C code. However, in the LLVM system, there is no code generation
+ * nor compilation, so this interface is not really usefull, but is implemented
+ * for compatiblity with the C system.
+ */
+class RR_DECLSPEC Compiler
+{
+public:
+    virtual std::string getCompiler() const = 0;
+    virtual bool setCompiler(const std::string& compiler) = 0;
+
+    virtual std::string getCompilerLocation() const = 0;
+    virtual bool setCompilerLocation(const std::string& path) = 0;
+
+    virtual std::string getSupportCodeFolder() const = 0;
+    virtual bool setSupportCodeFolder(const std::string& path) = 0;
+
+
+    /**
+     * getDefaultTargetTriple() - Return the default target triple the compiler
+     * has been configured to produce code for.
+     *
+     * The target triple is a string in the format of:
+     *   CPU_TYPE-VENDOR-OPERATING_SYSTEM
+     * or
+     *   CPU_TYPE-VENDOR-KERNEL-OPERATING_SYSTEM
+     */
+    virtual std::string getDefaultTargetTriple() = 0;
+
+    /**
+     * getProcessTriple() - Return an appropriate target triple for generating
+     * code to be loaded into the current process, e.g. when using the JIT.
+     */
+    virtual std::string getProcessTriple() = 0;
+
+    /**
+     * getHostCPUName - Get the LLVM name for the host CPU. The particular format
+     * of the name is target dependent, and suitable for passing as -mcpu to the
+     * target which matches the host.
+     *
+     * \return - The host CPU name, or empty if the CPU could not be determined.
+     */
+    virtual std::string getHostCPUName() = 0;
+
+    /**
+     * get the version of the compiler.
+     */
+    virtual std::string getVersion() = 0;
+
+    static std::string getDefaultCompiler();
+
+    static Compiler* New();
+
+    virtual ~Compiler() {};
+};
+
+} /* namespace rr */
+#endif /* rrCompiler_H */
diff --git a/source/rrConfig.cpp b/source/rrConfig.cpp
new file mode 100644
index 0000000..915e993
--- /dev/null
+++ b/source/rrConfig.cpp
@@ -0,0 +1,554 @@
+/*
+ * Config.cpp
+ *
+ *  Created on: Mar 24, 2014
+ *      Author: andy
+ */
+
+#include "rrUtils.h"
+#include "rrConfig.h"
+#include "rrLogger.h"
+
+#include "tr1proxy/rr_memory.h"
+#include "tr1proxy/rr_unordered_map.h"
+
+#include <stdexcept>
+#include <cctype>
+#include <cstdlib>
+#include <algorithm>
+#include <fstream>      // std::ofstream
+#include <assert.h>
+
+// TODO When we have gcc 4.4 as minimal compiler, drop poco and use C++ standard regex
+#include <Poco/RegularExpression.h>
+#include <Poco/Path.h>
+
+// somebody will likely call this multithread and then bitch and moan if
+// there is an issue, so lock it.
+#include <Poco/Mutex.h>
+
+// default values of sbml consistency check
+#include <sbml/SBMLDocument.h>
+
+// default values of model reset
+#include <rrSelectionRecord.h>
+
+using Poco::Mutex;
+using Poco::RegularExpression;
+using std::string;
+
+
+namespace rr
+{
+
+
+typedef cxx11_ns::unordered_map<std::string, int> StringIntMap;
+
+/**
+ * check range of key
+ */
+#define CHECK_RANGE(key) {                                 \
+        if (key < 0 || key >= rr::Config::CONFIG_END) {    \
+            throw std::out_of_range("invalid Config key"); \
+        }                                                  \
+    }
+
+/**
+ * strip any leading or trailing whitespace
+ */
+static std::string strip(const std::string& in)
+{
+    std::string out;
+    std::string::const_iterator b = in.begin(), e = in.end();
+
+    // skipping leading spaces
+    while (std::isspace(*b)){
+        ++b;
+    }
+
+    if (b != e){
+        // skipping trailing spaces
+        while (std::isspace(*(e-1))){
+            --e;
+        }
+    }
+
+    out.assign(b, e);
+
+    return out;
+}
+
+
+
+static Variant values[] =  {
+    Variant(false),     // LOADSBMLOPTIONS_CONSERVED_MOIETIES
+    Variant(false),    // LOADSBMLOPTIONS_RECOMPILE
+    Variant(false),    // LOADSBMLOPTIONS_READ_ONLY
+    Variant(true),     // LOADSBMLOPTIONS_MUTABLE_INITIAL_CONDITIONS
+    Variant(false),    // LOADSBMLOPTIONS_OPTIMIZE_GVN
+    Variant(false),    // LOADSBMLOPTIONS_OPTIMIZE_CFG_SIMPLIFICATION
+    Variant(false),    // LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_COMBINING
+    Variant(false),    // LOADSBMLOPTIONS_OPTIMIZE_DEAD_INST_ELIMINATION
+    Variant(false),    // LOADSBMLOPTIONS_OPTIMIZE_DEAD_CODE_ELIMINATION
+    Variant(false),    // LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_SIMPLIFIER
+    Variant(false),    // LOADSBMLOPTIONS_USE_MCJIT
+    Variant(50),       // SIMULATEOPTIONS_STEPS,
+    Variant(5),        // SIMULATEOPTIONS_DURATION,
+    Variant(1.e-10),   // SIMULATEOPTIONS_ABSOLUTE,
+    Variant(1.e-5),    // SIMULATEOPTIONS_RELATIVE,
+    Variant(false),    // SIMULATEOPTIONS_STRUCTURED_RESULT,
+    Variant(true),     // SIMULATEOPTIONS_STIFF,
+    Variant(false),    // SIMULATEOPTIONS_MULTI_STEP,
+    Variant(false),    // SIMULATEOPTIONS_DETERMINISTIC_VARIABLE_STEP,
+    Variant(true),     // SIMULATEOPTIONS_STOCHASTIC_VARIABLE_STEP,
+    Variant(std::string("CVODE")), // SIMULATEOPTIONS_INTEGRATOR
+    Variant(-1),       // SIMULATEOPTIONS_INITIAL_TIMESTEP,
+    Variant(-1),       // SIMULATEOPTIONS_MINIMUM_TIMESTEP,
+    Variant(-1),       // SIMULATEOPTIONS_MAXIMUM_TIMESTEP,
+    Variant(-1),       // SIMULATEOPTIONS_MAXIMUM_NUM_STEPS
+    Variant(0),        // ROADRUNNER_DISABLE_WARNINGS
+    Variant(false),    // ROADRUNNER_DISABLE_PYTHON_DYNAMIC_PROPERTIES
+    Variant(int(AllChecksON & UnitsCheckOFF)),           //SBML_APPLICABLEVALIDATORS
+    Variant(0.00001),   // ROADRUNNER_JACOBIAN_STEP_SIZE
+    Variant((int)(SelectionRecord::TIME
+            | SelectionRecord::RATE
+            | SelectionRecord::FLOATING)),        // MODEL_RESET
+    Variant(1.e-10),   // CVODE_MIN_ABSOLUTE
+    Variant(1.e-5),    // CVODE_MIN_RELATIVE
+    Variant(true),     // SIMULATEOPTIONS_COPY_RESULT
+    Variant(1.e-4),    // STEADYSTATE_RELATIVE
+    Variant(100),      // STEADYSTATE_MAXIMUM_NUM_STEPS
+    Variant(1.e-16),   // STEADYSTATE_MINIMUM_DAMPING
+    Variant((int)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS), // ROADRUNNER_JACOBIAN_MODE
+    Variant(std::string(".")),                           // TEMP_DIR_PATH,
+    Variant(std::string("")),                            // LOGGER_LOG_FILE_PATH,
+    Variant(-1),                              // RANDOM_SEED
+    Variant(true),      // PYTHON_ENABLE_NAMED_MATRIX
+    Variant(true),      // LLVM_SYMBOL_CACHE
+    Variant(true),      // OPTIMIZE_REACTION_RATE_SELECTION
+    Variant(true),     // LOADSBMLOPTIONS_PERMISSIVE
+    Variant(20000)      // MAX_OUTPUT_ROWS
+    // add space after develop keys to clean up merging
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+};
+
+static bool initialized = false;
+static Mutex configMutex;
+
+static void readDefaultConfig() {
+    Mutex::ScopedLock lock(configMutex);
+
+    if(!initialized) {
+        assert(rr::Config::CONFIG_END == sizeof(values) / sizeof(Variant) &&
+                "values array size different than CONFIG_END");
+
+        string confPath = rr::Config::getConfigFilePath();
+
+        try {
+            if(confPath.size() > 0) {
+                rr::Config::readConfigFile(confPath);
+            }
+        }
+        catch(std::exception& e) {
+            Log(rr::Logger::LOG_WARNING) << "error reading configuration file: "
+                    << confPath << ", " << e.what();
+        }
+        initialized = true;
+    }
+}
+
+/**
+ * load the names of the keys and values into a map
+ */
+static void getKeyNames(StringIntMap& keys)
+{
+    keys["LOADSBMLOPTIONS_CONSERVED_MOIETIES"] = rr::Config::LOADSBMLOPTIONS_CONSERVED_MOIETIES;
+    keys["LOADSBMLOPTIONS_RECOMPILE"] = rr::Config::LOADSBMLOPTIONS_RECOMPILE;
+    keys["LOADSBMLOPTIONS_READ_ONLY"] = rr::Config::LOADSBMLOPTIONS_READ_ONLY;
+    keys["LOADSBMLOPTIONS_MUTABLE_INITIAL_CONDITIONS"] = rr::Config::LOADSBMLOPTIONS_MUTABLE_INITIAL_CONDITIONS;
+    keys["LOADSBMLOPTIONS_OPTIMIZE_GVN"] = rr::Config::LOADSBMLOPTIONS_OPTIMIZE_GVN;
+    keys["LOADSBMLOPTIONS_OPTIMIZE_CFG_SIMPLIFICATION"] = rr::Config::LOADSBMLOPTIONS_OPTIMIZE_CFG_SIMPLIFICATION;
+    keys["LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_COMBINING"] = rr::Config::LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_COMBINING;
+    keys["LOADSBMLOPTIONS_OPTIMIZE_DEAD_INST_ELIMINATION"] = rr::Config::LOADSBMLOPTIONS_OPTIMIZE_DEAD_INST_ELIMINATION;
+    keys["LOADSBMLOPTIONS_OPTIMIZE_DEAD_CODE_ELIMINATION"] = rr::Config::LOADSBMLOPTIONS_OPTIMIZE_DEAD_CODE_ELIMINATION;
+    keys["LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_SIMPLIFIER"] = rr::Config::LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_SIMPLIFIER;
+    keys["LOADSBMLOPTIONS_USE_MCJIT"] = rr::Config::LOADSBMLOPTIONS_USE_MCJIT;
+    keys["SIMULATEOPTIONS_STEPS"] = rr::Config::SIMULATEOPTIONS_STEPS;
+    keys["SIMULATEOPTIONS_DURATION"] = rr::Config::SIMULATEOPTIONS_DURATION;
+    keys["SIMULATEOPTIONS_ABSOLUTE"] = rr::Config::SIMULATEOPTIONS_ABSOLUTE;
+    keys["SIMULATEOPTIONS_RELATIVE"] = rr::Config::SIMULATEOPTIONS_RELATIVE;
+    keys["SIMULATEOPTIONS_STRUCTURED_RESULT"] = rr::Config::SIMULATEOPTIONS_STRUCTURED_RESULT;
+    keys["SIMULATEOPTIONS_STIFF"] = rr::Config::SIMULATEOPTIONS_STIFF;
+    keys["SIMULATEOPTIONS_MULTI_STEP"] = rr::Config::SIMULATEOPTIONS_MULTI_STEP;
+    keys["SIMULATEOPTIONS_DETERMINISTIC_VARIABLE_STEP"] = rr::Config::SIMULATEOPTIONS_DETERMINISTIC_VARIABLE_STEP;
+    keys["SIMULATEOPTIONS_STOCHASTIC_VARIABLE_STEP"] = rr::Config::SIMULATEOPTIONS_STOCHASTIC_VARIABLE_STEP;
+    keys["SIMULATEOPTIONS_INTEGRATOR"] = rr::Config::SIMULATEOPTIONS_INTEGRATOR;
+    keys["SIMULATEOPTIONS_INITIAL_TIMESTEP"] = rr::Config::SIMULATEOPTIONS_INITIAL_TIMESTEP;
+    keys["SIMULATEOPTIONS_MINIMUM_TIMESTEP"] = rr::Config::SIMULATEOPTIONS_MINIMUM_TIMESTEP;
+    keys["SIMULATEOPTIONS_MAXIMUM_TIMESTEP"] = rr::Config::SIMULATEOPTIONS_MAXIMUM_TIMESTEP;
+    keys["SIMULATEOPTIONS_MAXIMUM_NUM_STEPS"] = rr::Config::SIMULATEOPTIONS_MAXIMUM_NUM_STEPS;
+    keys["ROADRUNNER_DISABLE_WARNINGS"] = rr::Config::ROADRUNNER_DISABLE_WARNINGS;
+    keys["ROADRUNNER_DISABLE_PYTHON_DYNAMIC_PROPERTIES"] = rr::Config::ROADRUNNER_DISABLE_PYTHON_DYNAMIC_PROPERTIES;
+    keys["SBML_APPLICABLEVALIDATORS"] = rr::Config::SBML_APPLICABLEVALIDATORS;
+    keys["ROADRUNNER_JACOBIAN_STEP_SIZE"] = rr::Config::ROADRUNNER_JACOBIAN_STEP_SIZE;
+    keys["MODEL_RESET"] = rr::Config::MODEL_RESET;
+    keys["CVODE_MIN_ABSOLUTE"] = rr::Config::CVODE_MIN_ABSOLUTE;
+    keys["CVODE_MIN_RELATIVE"] = rr::Config::CVODE_MIN_RELATIVE;
+    keys["SIMULATEOPTIONS_COPY_RESULT"] = rr::Config::SIMULATEOPTIONS_COPY_RESULT;
+    keys["STEADYSTATE_RELATIVE"] = rr::Config::STEADYSTATE_RELATIVE;
+    keys["STEADYSTATE_MAXIMUM_NUM_STEPS"] = rr::Config::STEADYSTATE_MAXIMUM_NUM_STEPS;
+    keys["STEADYSTATE_MINIMUM_DAMPING"] = rr::Config::STEADYSTATE_MINIMUM_DAMPING;
+    keys["ROADRUNNER_JACOBIAN_MODE"] = rr::Config::ROADRUNNER_JACOBIAN_MODE;
+    keys["TEMP_DIR_PATH"] = rr::Config::TEMP_DIR_PATH;
+    keys["LOGGER_LOG_FILE_PATH"] = rr::Config::LOGGER_LOG_FILE_PATH;
+    keys["RANDOM_SEED"] = rr::Config::RANDOM_SEED;
+    keys["PYTHON_ENABLE_NAMED_MATRIX"] = rr::Config::PYTHON_ENABLE_NAMED_MATRIX;
+    keys["LLVM_SYMBOL_CACHE"] = rr::Config::LLVM_SYMBOL_CACHE;
+    keys["OPTIMIZE_REACTION_RATE_SELECTION"] = rr::Config::OPTIMIZE_REACTION_RATE_SELECTION;
+    keys["LOADSBMLOPTIONS_PERMISSIVE"] = rr::Config::LOADSBMLOPTIONS_PERMISSIVE;
+    keys["MAX_OUTPUT_ROWS"] = rr::Config::MAX_OUTPUT_ROWS;
+
+
+
+    // add space after develop keys to clean up merging.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    assert(rr::Config::CONFIG_END == sizeof(values) / sizeof(Variant) &&
+            "values array size different than CONFIG_END");
+    assert(rr::Config::CONFIG_END == keys.size()  &&
+            "number of keys in map does not match static values");
+}
+
+static std::string reverseLookup(StringIntMap& keys, Config::Keys k) {
+    for (StringIntMap::iterator i=keys.begin(); i!= keys.end(); ++i) {
+        if (i->second == k)
+            return i->first;
+    }
+    throw std::runtime_error("No such key");
+}
+
+std::vector<string> Config::getKeyList() {
+    std::vector<string> result;
+    StringIntMap m;
+
+    getKeyNames(m);
+
+    for(int n=0; n<CONFIG_END;++n) {
+        try {
+            std::string key_str = reverseLookup(m,(Config::Keys)n);
+            result.push_back(key_str);
+        } catch(std::runtime_error) {}
+    }
+
+    return result;
+}
+
+
+std::string Config::getString(Keys key)
+{
+    readDefaultConfig();
+    CHECK_RANGE(key);
+    return values[key].convert<std::string>();
+}
+
+int Config::getInt(Keys key)
+{
+    readDefaultConfig();
+    CHECK_RANGE(key);
+    return values[key].convert<int>();
+}
+
+double Config::getDouble(Keys key)
+{
+    readDefaultConfig();
+    CHECK_RANGE(key);
+    return values[key].convert<double>();
+}
+
+std::string Config::getConfigFilePath()
+{
+    // check env var
+    const char* env = std::getenv("ROADRUNNER_CONFIG");
+    std::string path;
+    Poco::Path ppath;
+
+    Log(rr::Logger::LOG_DEBUG) << "trying config file from ROADRUNNER_CONFIG "
+        << (env ? env : "NULL");
+
+    if (env && rr::fileExists(env, 4))
+    {
+        return env;
+    }
+
+    // check home dir
+    ppath.assign(Poco::Path::home());
+    ppath.setFileName("roadrunner.conf");
+    path = ppath.toString();
+    Log(rr::Logger::LOG_DEBUG) << "trying config file " << path;
+    if (rr::fileExists(path, 4))
+    {
+        return path;
+    }
+
+    ppath.setFileName(".roadrunner.conf");
+    path = ppath.toString();
+    Log(rr::Logger::LOG_DEBUG) << "trying config file " << path;
+    if (rr::fileExists(path, 4))
+    {
+        return path;
+    }
+
+    // this could be an empty string if we are in a statically
+    // linked executable, if so, Poco::Path will puke if popDir is called
+    string chkDir = rr::getCurrentSharedLibDir();
+    if (chkDir.empty())
+    {
+        chkDir = rr::getCurrentExeFolder();
+    }
+
+    assert(!chkDir.empty() && "could not get either shared lib or exe dir");
+
+    // check in library dir
+    ppath.assign(chkDir);
+    ppath.setFileName("roadrunner.conf");
+    path = ppath.toString();
+    Log(rr::Logger::LOG_DEBUG) << "trying config file " << path;
+    if (rr::fileExists(path, 4))
+    {
+        return path;
+    }
+
+    // check one level up
+    ppath.assign(chkDir);
+    ppath.popDirectory();
+    ppath.setFileName("roadrunner.conf");
+    path = ppath.toString();
+    Log(rr::Logger::LOG_DEBUG) << "trying config file " << path;
+    if (rr::fileExists(path, 4))
+    {
+        return path;
+    }
+
+    Log(rr::Logger::LOG_DEBUG) << "no config file found; using built-in defaults";
+    return "";
+}
+
+void Config::setValue(Keys key, const Variant& value)
+{
+    readDefaultConfig();
+    CHECK_RANGE(key);
+    values[key] = value;
+}
+
+void Config::readConfigFile(const std::string& path)
+{
+    Mutex::ScopedLock lock(configMutex);
+
+    const Poco::RegularExpression re("^\\s*(\\w*)\\s*:\\s*(.*)\\s*$", RegularExpression::RE_CASELESS);
+    StringIntMap keys;
+    std::ifstream in(path.c_str());
+
+    if(!in) {
+        throw std::ifstream::failure("could not open " + path + " for reading");
+    }
+
+    getKeyNames(keys);
+
+    std::string line;
+
+    while(std::getline(in, line)) {
+        std::vector<std::string> matches;
+
+        int nmatch = re.split(line, matches);
+
+        if (nmatch == 3)
+        {
+            StringIntMap::const_iterator i = keys.find(matches[1]);
+            if(i != keys.end()) {
+                values[i->second] = Variant::parse((matches[2]));
+                Log(Logger::LOG_INFORMATION) << "read key " << i->first << " with value: " << values[i->second].toString();
+            } else {
+                Log(Logger::LOG_WARNING) << "invalid key: \"" << matches[1] << "\" in " << path;
+            }
+        }
+    }
+
+    initialized = true;
+}
+
+const Variant& Config::getValue(Keys key)
+{
+    readDefaultConfig();
+    CHECK_RANGE(key);
+    return values[key];
+}
+
+bool Config::getBool(Keys key)
+{
+    readDefaultConfig();
+    CHECK_RANGE(key);
+    return values[key].convert<bool>();
+}
+
+void Config::writeConfigFile(const std::string& path)
+{
+    Mutex::ScopedLock lock(configMutex);
+
+    std::ofstream out(path.c_str());
+
+    if(!out) {
+        throw std::ofstream::failure("could not open " + path + " for writing");
+    }
+
+    StringIntMap keys;
+    std::ifstream in(path.c_str());
+
+    getKeyNames(keys);
+
+    for (StringIntMap::const_iterator i = keys.begin(); i != keys.end(); ++i) {
+        out << i->first << ": " << values[i->second].toString() << std::endl;
+    }
+}
+
+Config::Keys Config::stringToKey(const std::string& key) {
+    if (key == "LOADSBMLOPTIONS_CONSERVED_MOIETIES")
+        return Config::LOADSBMLOPTIONS_CONSERVED_MOIETIES;
+    else if (key == "LOADSBMLOPTIONS_RECOMPILE")
+        return Config::LOADSBMLOPTIONS_RECOMPILE;
+    else if (key == "LOADSBMLOPTIONS_READ_ONLY")
+        return Config::LOADSBMLOPTIONS_READ_ONLY;
+    else if (key == "LOADSBMLOPTIONS_MUTABLE_INITIAL_CONDITIONS")
+        return Config::LOADSBMLOPTIONS_MUTABLE_INITIAL_CONDITIONS;
+    else if (key == "LOADSBMLOPTIONS_OPTIMIZE_GVN")
+        return Config::LOADSBMLOPTIONS_OPTIMIZE_GVN;
+    else if (key == "LOADSBMLOPTIONS_OPTIMIZE_CFG_SIMPLIFICATION")
+        return Config::LOADSBMLOPTIONS_OPTIMIZE_CFG_SIMPLIFICATION;
+    else if (key == "LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_COMBINING")
+        return Config::LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_COMBINING;
+    else if (key == "LOADSBMLOPTIONS_OPTIMIZE_DEAD_INST_ELIMINATION")
+        return Config::LOADSBMLOPTIONS_OPTIMIZE_DEAD_INST_ELIMINATION;
+    else if (key == "LOADSBMLOPTIONS_OPTIMIZE_DEAD_CODE_ELIMINATION")
+        return Config::LOADSBMLOPTIONS_OPTIMIZE_DEAD_CODE_ELIMINATION;
+    else if (key == "LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_SIMPLIFIER")
+        return Config::LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_SIMPLIFIER;
+    else if (key == "LOADSBMLOPTIONS_USE_MCJIT")
+        return Config::LOADSBMLOPTIONS_USE_MCJIT;
+    else if (key == "SIMULATEOPTIONS_STEPS")
+        return Config::SIMULATEOPTIONS_STEPS;
+    else if (key == "SIMULATEOPTIONS_DURATION")
+        return Config::SIMULATEOPTIONS_DURATION;
+    else if (key == "SIMULATEOPTIONS_ABSOLUTE")
+        return Config::SIMULATEOPTIONS_ABSOLUTE;
+    else if (key == "SIMULATEOPTIONS_RELATIVE")
+        return Config::SIMULATEOPTIONS_RELATIVE;
+    else if (key == "SIMULATEOPTIONS_STRUCTURED_RESULT")
+        return Config::SIMULATEOPTIONS_STRUCTURED_RESULT;
+    else if (key == "SIMULATEOPTIONS_STIFF")
+        return Config::SIMULATEOPTIONS_STIFF;
+    else if (key == "SIMULATEOPTIONS_MULTI_STEP")
+        return Config::SIMULATEOPTIONS_MULTI_STEP;
+    else if (key == "SIMULATEOPTIONS_DETERMINISTIC_VARIABLE_STEP")
+        return Config::SIMULATEOPTIONS_DETERMINISTIC_VARIABLE_STEP;
+    else if (key == "SIMULATEOPTIONS_STOCHASTIC_VARIABLE_STEP")
+        return Config::SIMULATEOPTIONS_STOCHASTIC_VARIABLE_STEP;
+    else if (key == "SIMULATEOPTIONS_INTEGRATOR")
+        return Config::SIMULATEOPTIONS_INTEGRATOR;
+    else if (key == "SIMULATEOPTIONS_INITIAL_TIMESTEP")
+        return Config::SIMULATEOPTIONS_INITIAL_TIMESTEP;
+    else if (key == "SIMULATEOPTIONS_MINIMUM_TIMESTEP")
+        return Config::SIMULATEOPTIONS_MINIMUM_TIMESTEP;
+    else if (key == "SIMULATEOPTIONS_MAXIMUM_TIMESTEP")
+        return Config::SIMULATEOPTIONS_MAXIMUM_TIMESTEP;
+    else if (key == "SIMULATEOPTIONS_MAXIMUM_NUM_STEPS")
+        return Config::SIMULATEOPTIONS_MAXIMUM_NUM_STEPS;
+    else if (key == "ROADRUNNER_DISABLE_WARNINGS")
+        return Config::ROADRUNNER_DISABLE_WARNINGS;
+    else if (key == "ROADRUNNER_DISABLE_PYTHON_DYNAMIC_PROPERTIES")
+        return Config::ROADRUNNER_DISABLE_PYTHON_DYNAMIC_PROPERTIES;
+    else if (key == "SBML_APPLICABLEVALIDATORS")
+        return Config::SBML_APPLICABLEVALIDATORS;
+    else if (key == "ROADRUNNER_JACOBIAN_STEP_SIZE")
+        return Config::ROADRUNNER_JACOBIAN_STEP_SIZE;
+    else if (key == "MODEL_RESET")
+        return Config::MODEL_RESET;
+    else if (key == "CVODE_MIN_ABSOLUTE")
+        return Config::CVODE_MIN_ABSOLUTE;
+    else if (key == "CVODE_MIN_RELATIVE")
+        return Config::CVODE_MIN_RELATIVE;
+    else if (key == "SIMULATEOPTIONS_COPY_RESULT")
+        return Config::SIMULATEOPTIONS_COPY_RESULT;
+    else if (key == "STEADYSTATE_RELATIVE")
+        return Config::STEADYSTATE_RELATIVE;
+    else if (key == "STEADYSTATE_MAXIMUM_NUM_STEPS")
+        return Config::STEADYSTATE_MAXIMUM_NUM_STEPS;
+    else if (key == "STEADYSTATE_MINIMUM_DAMPING")
+        return Config::STEADYSTATE_MINIMUM_DAMPING;
+    else if (key == "ROADRUNNER_JACOBIAN_MODE")
+        return Config::ROADRUNNER_JACOBIAN_MODE;
+    else if (key == "TEMP_DIR_PATH")
+        return Config::TEMP_DIR_PATH;
+    else if (key == "LOGGER_LOG_FILE_PATH")
+        return Config::LOGGER_LOG_FILE_PATH;
+    else if (key == "RANDOM_SEED")
+        return Config::RANDOM_SEED;
+    else if (key == "PYTHON_ENABLE_NAMED_MATRIX")
+        return Config::PYTHON_ENABLE_NAMED_MATRIX;
+    else if (key == "LLVM_SYMBOL_CACHE")
+        return Config::LLVM_SYMBOL_CACHE;
+    else if (key == "OPTIMIZE_REACTION_RATE_SELECTION")
+        return Config::OPTIMIZE_REACTION_RATE_SELECTION;
+    else if (key == "LOADSBMLOPTIONS_PERMISSIVE")
+        return Config::LOADSBMLOPTIONS_PERMISSIVE;
+    else if (key == "MAX_OUTPUT_ROWS")
+        return Config::MAX_OUTPUT_ROWS;
+    else
+        throw std::runtime_error("No such config key: '" + key + "'");
+}
+
+}
\ No newline at end of file
diff --git a/source/rrConfig.h b/source/rrConfig.h
new file mode 100644
index 0000000..5f9e3cb
--- /dev/null
+++ b/source/rrConfig.h
@@ -0,0 +1,557 @@
+/*
+ * rrConfig.h
+ *
+ *  Created on: Mar 24, 2014
+ *      Author: andy
+ */
+
+#ifndef RRCONFIG_H_
+#define RRCONFIG_H_
+
+#include <string>
+#include "rrExporter.h"
+#include "Variant.h"
+#include <vector>
+
+namespace rr
+{
+
+/**
+ * read or store default values.
+ *
+ * Many of RoadRunner classes use a number of configration parameters. Most of these can be set
+ * using the Config class. The values stored in the Config class only determine the defaut values of
+ * parameters.
+ *
+ * The Config class will look in the following locations for the config file, and will load the
+ * values from the first config file it finds. If it does not find a config file in one of the
+ * following locations, a default set of configuration parameters are used. The search locations of
+ * the config file are:
+ *
+ * #1: the ROADRUNNER_CONFIG environment variable
+ *
+ * #2: try the user's home directory for roadrunner.conf, i.e.:
+ *
+ * /Users/andy/roadrunner.conf
+ *
+ * #3: try the user's home directory for .roadrunner.conf, i.e.:
+ *
+ * /Users/andy/.roadrunner.conf
+ *
+ * #4: try the same directory as the roadrunner shared library, this
+ * will be the same directory as the python _roadrunner.pyd python extension module, i.e.:
+ *
+ * /Users/andy/local/lib/roadrunner.conf
+ *
+ * #5: try one directory up from the where the shared library or program is at, i.e.:
+ *
+ * /Users/andy/local/roadrunner.conf
+ *
+ * The conf file is just a plain text file of where each line may
+ * be key / value pair separated by a :", i.e.
+ *
+ * KEY_NAME : Value Any line that does not match this format is ignored, and keys that are not found
+ * are also ignored. Therefore, any line that does not start w* ith a word character is considered a
+ * comment.
+ *
+ * All of the configuration managment functions are static method of the Config class, and all of
+ * the configuration keys are static attributes * of the Config class, these are documented in the
+ * Configuration Functions section.
+ *
+ * As all of the Config class methods are static, one never instantiates the Config class.
+ */
+class RR_DECLSPEC Config
+{
+public:
+
+    enum Keys {
+        /**
+         * perform conservation analysis.
+         *
+         * This causes a re-ordering of the species, so results generated
+         * with this flag enabled can not be compared index wise to results
+         * generated otherwise.
+         *
+         * currently only implemented with the C code generating model
+         */
+        LOADSBMLOPTIONS_CONSERVED_MOIETIES = 0,
+
+        /**
+         * Should the model be recompiled?
+         * The LLVM ModelGenerator maintins a hash table of currently running
+         * models. If this flag is NOT set, then the generator will look to see
+         * if there is already a running instance of the given model and
+         * use the generated code from that one.
+         *
+         * If only a single instance of a model is run, there is no
+         * need to cache the models, and this can safetly be enabled,
+         * realizing some performance gains.
+         */
+        LOADSBMLOPTIONS_RECOMPILE,
+
+        /**
+         * If this is set, then a read-only model is generated. A read-only
+         * model can be simulated, but no code is generated to set model
+         * values, i.e. parameters, amounts, values, etc...
+         *
+         * It takes a finite amount of time to generate the model value setting
+         * functions, and if they are not needed, one may see some performance
+         * gains, especially in very large models.
+         */
+        LOADSBMLOPTIONS_READ_ONLY,
+
+        /**
+         * Generate accessor functions to allow changing of initial
+         * conditions.
+         */
+        LOADSBMLOPTIONS_MUTABLE_INITIAL_CONDITIONS,
+
+        /**
+         * GVN - This pass performs global value numbering and redundant load
+         * elimination cotemporaneously.
+         */
+        LOADSBMLOPTIONS_OPTIMIZE_GVN,
+
+        /**
+         * CFGSimplification - Merge basic blocks, eliminate unreachable blocks,
+         * simplify terminator instructions, etc...
+         */
+        LOADSBMLOPTIONS_OPTIMIZE_CFG_SIMPLIFICATION,
+
+        /**
+         * InstructionCombining - Combine instructions to form fewer, simple
+         * instructions. This pass does not modify the CFG, and has a tendency to make
+         * instructions dead, so a subsequent DCE pass is useful.
+         */
+        LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_COMBINING,
+
+        /**
+         * DeadInstElimination - This pass quickly removes trivially dead instructions
+         * without modifying the CFG of the function.  It is a BasicBlockPass, so it
+         * runs efficiently when queued next to other BasicBlockPass's.
+         */
+        LOADSBMLOPTIONS_OPTIMIZE_DEAD_INST_ELIMINATION,
+
+        /**
+         * DeadCodeElimination - This pass is more powerful than DeadInstElimination,
+         * because it is worklist driven that can potentially revisit instructions when
+         * their other instructions become dead, to eliminate chains of dead
+         * computations.
+         */
+        LOADSBMLOPTIONS_OPTIMIZE_DEAD_CODE_ELIMINATION,
+
+        /**
+         * InstructionSimplifier - Remove redundant instructions.
+         */
+        LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_SIMPLIFIER,
+
+        /**
+         * Use the LLVM MCJIT JIT engine.
+         *
+         * Defaults to false.
+         *
+         * The MCJIT is the new LLVM JIT engine, it is not as well tested as the
+         * original JIT engine. Does NOT work on LLVM 3.1
+         */
+        LOADSBMLOPTIONS_USE_MCJIT,
+
+
+        /**
+         * The number of steps at which the output is sampled. The samples are evenly spaced.
+         * When a simulation system calculates the data points to record, it will typically
+         * divide the duration by the number of time steps. Thus, for X steps, the output
+         * will have X+1 data rows.
+         * see SimulateOptions::steps
+
+         */
+
+        SIMULATEOPTIONS_STEPS,
+
+        /**
+         * see SimulateOptions::duration
+         */
+        SIMULATEOPTIONS_DURATION,
+
+        /**
+         * see SimulateOptions::absolute
+         */
+        SIMULATEOPTIONS_ABSOLUTE,
+
+        /**
+         * see SimulateOptions::relative
+         */
+        SIMULATEOPTIONS_RELATIVE,
+
+        /**
+         * see SimulateOptions::STRUCTURED_RESULT
+         */
+        SIMULATEOPTIONS_STRUCTURED_RESULT,
+
+        /**
+         * Is the model a stiff system? setting this to stiff causes
+         * RoadRunner to load a stiff solver which could potentially be
+         * extremly slow
+         * see SimulateOptions::STIFF
+         */
+        SIMULATEOPTIONS_STIFF,
+
+        /**
+         * The MULTI_STEP option tells the solver to take a series of internal steps
+         * and then return the solution at the point reached by that step.
+         *
+         * In simulate, this option will likely be slower than normal mode,
+         * but may be useful to monitor solutions as they are integrated.
+         *
+         * This is intended to be used in combination with the
+         * IntegratorListener. It this option is set, and there is a
+         * IntegratorListener set, RoadRunner::integrate will run the
+         * integrator in a series of internal steps, and the listner
+         * will by notified at each step.
+         *
+         * Highly Experimental!!!
+         * see SimulateOptions::MULTI_STEP
+         */
+        SIMULATEOPTIONS_MULTI_STEP,
+
+        /**
+         * Do variable time step integration when using a deterministic
+         * integrator
+         */
+        SIMULATEOPTIONS_DETERMINISTIC_VARIABLE_STEP,
+
+
+        /**
+         * Do variable time step integration when using stochastic
+         * integrators.
+         */
+        SIMULATEOPTIONS_STOCHASTIC_VARIABLE_STEP,
+
+        /**
+         * Default integrator to use, currently supports a string of "CVODE" or "Gillespie",
+         * default is "CVODE"
+         */
+        SIMULATEOPTIONS_INTEGRATOR,
+
+        /**
+         * A useer specified initial time step. If this is <=  0, the integrator
+         * will attempt to determine a safe initial time stpe.
+         *
+         * Note, for each number of steps given to RoadRunner::simulate or RoadRunner::oneStep,
+         * the internal integrator may take many many steps to reach one of the external time
+         * steps. This value specifies an initial value for the internal integrator
+         * time step.
+         * see SimulateOptions::initialTimeStep
+         */
+        SIMULATEOPTIONS_INITIAL_TIMESTEP,
+
+        /**
+         * Specfify The Minimum Time Step That The Internal Integrator
+         * Will Use. Uses Integrator Estimated Value If <= 0.
+         * see SimulateOptions::minumumTimeStep
+         */
+        SIMULATEOPTIONS_MINIMUM_TIMESTEP,
+
+        /**
+         * Specify The Maximum Time Step Size That The Internaal Integrator
+         * Will Use. Uses Integrator Estimated Value If <= 0.
+         * see SimulateOptions::maximumTimeStep
+         */
+        SIMULATEOPTIONS_MAXIMUM_TIMESTEP,
+
+        /**
+         * Specify The Maximum Number Of Steps The Internal Integrator Will Use
+         * Before Reaching The User Specified Time Span. Uses The Integrator
+         * Default Value If <= 0.
+         * see SimulateOptions::maximumNumSteps
+         */
+        SIMULATEOPTIONS_MAXIMUM_NUM_STEPS,
+
+        /**
+         * Disable SBML conserved moiety warnings.
+         *
+         * this disables warnings based on the following bitfields:
+         *
+         * ROADRUNNER_DISABLE_WARNINGS_STEADYSTATE: disable the warning in
+         * RoadRunner::steadyState about possible singular jacobian.
+         *
+         * ROADRUNNER_DISABLE_WARNINGS_CONSERVED_MOIETY: disable the
+         * conserved moieties warning if enabled when loading a sbml document.
+         */
+        ROADRUNNER_DISABLE_WARNINGS,
+
+        /**
+         * RoadRunner by default dynamically generates accessor properties
+         * for all sbml symbol names on the model object when it is retrieved
+         * in Python. This feature is very nice for interactive use, but
+         * can slow things down. If this feature is not needed, it
+         * can be disabled here.
+         */
+        ROADRUNNER_DISABLE_PYTHON_DYNAMIC_PROPERTIES,
+
+
+        /**
+         * a hex value consisting of a combination of the following values:
+         *
+         * IdCheckON         0x01
+         * IdCheckOFF        0xfe
+         * SBMLCheckON       0x02
+         * SBMLCheckOFF      0xfd
+         * SBOCheckON        0x04
+         * SBOCheckOFF       0xfb
+         * MathCheckON       0x08
+         * MathCheckOFF      0xf7
+         * UnitsCheckON      0x10
+         * UnitsCheckOFF     0xef
+         * OverdeterCheckON  0x20
+         * OverdeterCheckOFF 0xdf
+         * PracticeCheckON   0x40
+         * PracticeCheckOFF  0xbf
+         * AllChecksON       0x7f
+         *
+         * The default value is AllChecksON & UnitsCheckOFF
+         */
+        SBML_APPLICABLEVALIDATORS,
+
+        /**
+         * default step size for Jabobian finite differece calculations
+         */
+        ROADRUNNER_JACOBIAN_STEP_SIZE,
+
+        /**
+         * A bitfield (unsigned integer) consisting of the values in
+         * SelectionRecord::SelectionType.
+         *
+         * This value determines which values of the model are reset
+         * to their origin SBML specified values.
+         *
+         * Current valid values can be a combination of:
+         *
+         * SelectionRecord::SelectionType::TIME,
+         * SelectionRecord::SelectionType::RATE,
+         * SelectionRecord::SelectionType::BOUNDARY,
+         * SelectionRecord::SelectionType::FLOATING,
+         * SelectionRecord::SelectionType::GLOBAL_PARAMETER,
+         * SelectionRecord::SelectionType::CONSREVED_MOIETY,
+         * SelectionRecord::SelectionType::COMPARTMENT,
+         * SelectionRecord::SelectionType::ALL.
+         *
+         * Note, if RATE is specified, this will cause all global parameters
+         * defined by rate rules to be reset, even if GLOBAL_PARAMETER is NOT
+         * specified.
+         *
+         * The default value is TIME | RATE | FLOATING | CONSREVED_MOIETY
+         */
+        MODEL_RESET,
+
+        /**
+         * The minumum absolute error that the CVODE integrator supports
+         * in order to to pass the sbml test suite using the default integtator.
+         *
+         * If a test suite config file is loaded, and the relative error is
+         * higher than CVODE_MIN_ABSOLUTE, it should be lowered to CVODE_MIN_ABSOLUTE.
+         */
+        CVODE_MIN_ABSOLUTE,
+
+        /**
+         * The minumum relative error that the CVODE integrator supports
+         * in order to to pass the sbml test suite using the default integtator.
+         *
+         * If a test suite config file is loaded, and the relative error is
+         * higher than CVODE_MIN_RELATIVE, it should be lowered to CVODE_MIN_RELATIVE.
+         */
+        CVODE_MIN_RELATIVE,
+
+        /**
+         * make a copy of the simulation result in Python.
+         */
+        SIMULATEOPTIONS_COPY_RESULT,
+
+        STEADYSTATE_RELATIVE,
+
+        STEADYSTATE_MAXIMUM_NUM_STEPS,
+
+        STEADYSTATE_MINIMUM_DAMPING,
+
+        /**
+         * Determines the mode that the RoadRunner Jacobian calculations will be
+         * be performed in.  The Jacobian can be calculated either with respect to
+         * amounts or concentrations. Default is concentrations.
+         *
+         * This can be either ROADRUNNER_JACOBIAN_MODE_AMOUNTS or
+         * ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS.
+         */
+        ROADRUNNER_JACOBIAN_MODE,
+
+        /**
+         * Directory path where roadrunner should store temp files. If empty, the
+         * system specified temp dir is used. Paths may have enviormnent variables, i.e.
+         * ${HOME}/tmp
+         *
+         * May have environment variables contained in the path.
+         * On Unix, a tilde as first character in the path is
+         * replaced with the path to user's home directory.
+         */
+        TEMP_DIR_PATH,
+
+        /**
+         * Path to where the logger should write a roadrunner log file. If no path
+         * is specified, the log file will be written as a "roadrunner.log" in the
+         * temp dir.
+         *
+         * May have environment variables contained in the path.
+         * On Unix, a tilde as first character in the path is
+         * replaced with the path to user's home directory.
+         */
+        LOGGER_LOG_FILE_PATH,
+
+
+        /**
+         * Seed for random numbers, should be a integer.
+         *
+         * If this value is negative, then the system time is used
+         * for the random seed.
+         */
+        RANDOM_SEED,
+
+        /**
+         * use new numpy arrays with row/column names
+         * experimental
+         */
+        PYTHON_ENABLE_NAMED_MATRIX,
+
+
+        /**
+         * cache llvm symbols durring sbml compilation.
+         */
+        LLVM_SYMBOL_CACHE,
+
+
+        /**
+         * optimize reaction rate selection durring integration.
+         */
+        OPTIMIZE_REACTION_RATE_SELECTION,
+
+
+        /**
+         * Relax SBML resrictions.
+         *
+         * Allows some idiosyncrasies of e.g. JDesigner that libSBML does not
+         * officially support. See:
+         * https://groups.google.com/forum/#!topic/sbml-discuss/u3NK14RUHvE
+         *
+         * Specifics: allows use time in user-defined functions, allows use of
+         * booleans in scalars
+         */
+        LOADSBMLOPTIONS_PERMISSIVE,
+
+
+        /**
+         * Set the maximum number of rows in the output matrix.
+         *
+         * When simulate is called with variable stepping and tight
+         * tolerances the resulting output matrix will be very large.
+         * This setting cuts off the computation after a certain number
+         * of rows are reached.
+         */
+        MAX_OUTPUT_ROWS,
+
+
+        // add lots of space so not to conflict with other branches.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+        /**
+         * Needs to be the last item in the enum, no mater how many
+         * other items are added, this is used internally to create
+         * a static array.
+         */
+        CONFIG_END
+    };
+
+    enum ROADRUNNER_DISABLE_WARNINGS_VALUES
+    {
+        ROADRUNNER_DISABLE_WARNINGS_STEADYSTATE          =  (0x1 << 0),  // => 0x00000001
+        ROADRUNNER_DISABLE_WARNINGS_CONSERVED_MOIETY     =  (0x1 << 1)   // => 0x00000010
+    };
+
+
+    enum ROADRUNNER_JACOBIAN_MODE_VALUES
+    {
+        ROADRUNNER_JACOBIAN_MODE_AMOUNTS = 0,
+        ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS
+    };
+
+    /**
+     * read the config value as a string.
+     */
+    static std::string getString(Keys);
+
+    /**
+     * read the config value as an integer.
+     */
+    static int getInt(Keys);
+
+    static bool getBool(Keys);
+
+    /**
+     * read the config value as a double.
+     */
+    static double getDouble(Keys);
+
+    /**
+     * If a config file was found in one of the above locations, its full path is returned here.
+     * Otherwise, if no file was found, an empty string is returned.
+     */
+    static std::string getConfigFilePath();
+
+    /**
+     * set the value of a config key.
+     * note, this value is only used in any new objects created after it has been set.
+     */
+
+    static void setValue(Keys, const Variant& value);
+
+    static const Variant& getValue(Keys);
+
+    /**
+     * Read all of the values stored in a configuration file and set all the keys
+     * to these values.
+     */
+    static void readConfigFile(const std::string& path);
+
+    /**
+     * write the currently set configuration values to a config file. The contents of the
+     * file are cleared and the new values written.
+     */
+    static void writeConfigFile(const std::string& path);
+
+    static Keys stringToKey(const std::string& key);
+
+    static std::vector<std::string> getKeyList();
+};
+
+} /* namespace rr */
+
+#endif /* RRCONFIG_H_ */
diff --git a/source/rrConfigure.h.in b/source/rrConfigure.h.in
new file mode 100644
index 0000000..1d1a03a
--- /dev/null
+++ b/source/rrConfigure.h.in
@@ -0,0 +1,14 @@
+#ifndef __RR_ROADRUNNER_CONFIGURE_HEADER__
+#define __RR_ROADRUNNER_CONFIGURE_HEADER__
+
+#define RR_STRING_QUOTE(x) #x
+
+#define RR_ROADRUNNER_INSTALL_PATH          RR_STRING_QUOTE(@RR_ROADRUNNER_INSTALL_PATH@)
+
+#define RR_ROADRUNNER_INSTALL_LIB_PATH      RR_STRING_QUOTE(@RR_ROADRUNNER_INSTALL_LIB_PATH@)
+
+#define RR_HAVE_LLVM                        @RR_HAVE_LLVM@
+
+#define RR_USE_CXX11                        @RR_USE_CXX11@
+
+#endif //#ifndef __RR_ROADRUNNER_CONFIGURE_HEADER__
diff --git a/source/rrConstants.cpp b/source/rrConstants.cpp
new file mode 100644
index 0000000..fb1e408
--- /dev/null
+++ b/source/rrConstants.cpp
@@ -0,0 +1,39 @@
+#pragma hdrstop
+#include "rrStringUtils.h"
+#include "rrConstants.h"
+
+//---------------------------------------------------------------------------
+namespace rr
+{
+
+//Useful constants..
+const char*         gComma                         = ",";
+const char              gTab                         = '\t';
+const char              gNL                         = '\n';
+const char*         gDoubleFormat                 = "%f";
+const char*         gIntFormat                  = "%d";;
+
+const string        gNoneString                 = "<none>";
+const string        gEmptyString                 = "";
+
+const int             gMaxPath                    = 512;
+const double        gDoubleNaN                   = std::numeric_limits<double>::quiet_NaN() ;
+const float         gFloatNaN                    = std::numeric_limits<float>::quiet_NaN() ;
+
+//Messages
+const string        gEmptyModelMessage             = "A model needs to be loaded before one can use this method";
+
+
+#if defined(_WIN32) || defined(__CODEGEARC__)
+    const char           gPathSeparator      = '\\';
+    const string        gExeSuffix          = ".exe";
+#elif defined(__unix__) || defined(__APPLE__)
+    const char           gPathSeparator      = '/';
+    const string        gExeSuffix          = "";
+#else  //Something else...
+    const char           gPathSeparator      = '/';
+    const string        gExeSuffix          = "";
+#endif
+
+}
+
diff --git a/source/rrConstants.h b/source/rrConstants.h
new file mode 100644
index 0000000..36fcae2
--- /dev/null
+++ b/source/rrConstants.h
@@ -0,0 +1,38 @@
+#ifndef rrConstantsH
+#define rrConstantsH
+#include <limits>
+#include <string>
+#include <cstdlib>
+#include "rrExporter.h"
+
+typedef unsigned int    u_int;
+
+namespace rr
+{
+
+//Useful constants...
+RR_DECLSPEC extern const char     gPathSeparator;
+RR_DECLSPEC extern const std::string gExeSuffix;
+
+RR_DECLSPEC extern const char*             gDoubleFormat;
+RR_DECLSPEC extern const char*             gIntFormat;
+RR_DECLSPEC extern const char*             gComma;
+RR_DECLSPEC extern const std::string     gNoneString;
+RR_DECLSPEC extern const std::string    gEmptyString;
+
+//Messages
+RR_DECLSPEC extern const std::string gEmptyModelMessage;
+
+
+// Constants
+RR_DECLSPEC extern const char     gTab;
+RR_DECLSPEC extern const char     gNL;
+RR_DECLSPEC extern const double    gDoubleNaN;
+RR_DECLSPEC extern const float  gFloatNaN;
+RR_DECLSPEC extern const int    gMaxPath;
+
+// Enums...
+enum SBMLType {stCompartment = 0, stSpecies, stParameter};    //Species clashes with class Species, prefix enums with st, for SbmlType
+
+}
+#endif
diff --git a/source/rrException.cpp b/source/rrException.cpp
new file mode 100644
index 0000000..3c531b8
--- /dev/null
+++ b/source/rrException.cpp
@@ -0,0 +1,81 @@
+#pragma hdrstop
+#include "rrException.h"
+//---------------------------------------------------------------------------
+
+
+namespace rr
+{
+
+Exception::Exception(const string& desc)
+:
+mMessage(desc)//, Message(mMessage)
+{
+}
+
+Exception::~Exception() throw() {}
+
+const char* Exception::what() const throw()
+{
+    return mMessage.c_str();
+}
+
+string Exception::Message() const
+{
+    return mMessage;
+}
+
+string Exception::getMessage() const
+{
+    return mMessage;
+}
+
+CoreException::CoreException(const string& msg)
+:
+Exception(msg)
+{}
+
+CoreException::CoreException(const string& msg1, const string& msg2)
+:
+Exception(msg1 + msg2)
+{}
+
+ScannerException::ScannerException(const string& msg)
+:
+Exception(msg)
+{}
+
+NLEQException::NLEQException(const string& msg)
+:
+Exception(msg)
+{}
+
+NOMException::NOMException(const string& msg)
+:
+Exception(msg)
+{}
+
+CVODEException::CVODEException(const string& msg)
+:
+Exception(msg)
+{}
+
+NotImplementedException::NotImplementedException(const string& msg)
+:
+Exception(msg)
+{}
+
+InvalidKeyException::InvalidKeyException(const string& msg)
+:
+Exception(msg)
+{}
+
+UninitializedValueException::UninitializedValueException(const string& msg)
+:
+Exception(msg)
+{}
+
+void UninitializedValue(const string& msg) {
+    throw UninitializedValueException(msg);
+}
+
+}
diff --git a/source/rrException.h b/source/rrException.h
new file mode 100644
index 0000000..7d3dff7
--- /dev/null
+++ b/source/rrException.h
@@ -0,0 +1,102 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file Integrator.h
+* @author ETS, JKM
+* @date 2014
+* @copyright Apache License, Version 2.0
+* @brief RoadRunner exception classes
+**/
+
+#ifndef rrExceptionH
+#define rrExceptionH
+#include <exception>
+#include <string>
+#include "rrExporter.h"
+
+using std::string;
+using std::exception;
+
+namespace rr
+{
+
+class RR_DECLSPEC Exception : public std::exception
+{
+    protected:
+        string mMessage;   //Exception message
+
+    public:
+        //string& Message;
+                                Exception(const string& desc);
+        virtual                ~Exception() throw();
+        virtual const char*     what() const throw();
+        string                  Message() const;
+        string                  getMessage() const;
+};
+
+class RR_DECLSPEC CoreException : public Exception
+{
+    public:
+        CoreException(const string& msg);
+        CoreException(const string& msg1, const string& msg2);
+};
+
+class RR_DECLSPEC ScannerException : public Exception
+{
+    public:
+        ScannerException(const string& msg);
+};
+
+class RR_DECLSPEC NLEQException : public Exception
+{
+    public:
+        NLEQException(const string& msg);
+};
+
+class RR_DECLSPEC NOMException : public Exception
+{
+    public:
+        NOMException(const string& msg);
+};
+
+class RR_DECLSPEC CVODEException : public Exception
+{
+    public:
+        CVODEException(const string& msg);
+};
+
+class RR_DECLSPEC NotImplementedException : public Exception
+{
+    public:
+        NotImplementedException(const string& msg);
+};
+
+class RR_DECLSPEC InvalidKeyException : public Exception
+{
+    public:
+        InvalidKeyException(const string& msg);
+};
+
+/**
+ * @author JKM
+ * @brief Thrown whenever an uninitialized value is encountered,
+ * see https://github.com/sys-bio/roadrunner/issues/180
+ */
+class RR_DECLSPEC UninitializedValueException : public Exception
+{
+    public:
+        UninitializedValueException(const string& msg);
+};
+
+/**
+ * @author JKM
+ * @brief Called whenever an uninitialized value is encountered,
+ * throws @ref UninitializedValueException
+ */
+void UninitializedValue(const string& msg);
+
+}//namepsace rr
+#endif
diff --git a/source/rrExecutableModel.cpp b/source/rrExecutableModel.cpp
new file mode 100644
index 0000000..4b409db
--- /dev/null
+++ b/source/rrExecutableModel.cpp
@@ -0,0 +1,109 @@
+#pragma hdrstop
+#include <stdlib.h>
+#include <string.h>
+#include "rrExecutableModel.h"
+#include "rrSparse.h"
+#include <iomanip>
+
+using namespace std;
+
+template <typename numeric_type>
+static void dump_array(std::ostream &os, int n, const numeric_type *p)
+{
+    if (p)
+    {
+        os << setiosflags(ios::floatfield) << setprecision(8);
+        os << '[';
+        for (int i = 0; i < n; ++i)
+        {
+            os << p[i];
+            if (i < n - 1)
+            {
+                os << ", ";
+            }
+        }
+        os << ']' << endl;
+    }
+    else
+    {
+        os << "NULL" << endl;
+    }
+}
+
+
+namespace rr
+{
+
+std::ostream& operator <<(std::ostream &stream, ExecutableModel* model)
+{
+    model->print(stream);
+
+    double *tmp;
+
+    int nFloat = model->getNumFloatingSpecies();
+    int nBound = model->getNumBoundarySpecies();
+    int nComp = model->getNumCompartments();
+    int nGlobalParam = model->getNumGlobalParameters();
+    int nEvents = model->getNumEvents();
+    int nReactions = model->getNumReactions();
+
+    stream << "* Calculated Values *" << endl;
+
+    tmp = new double[nFloat];
+    model->getFloatingSpeciesAmounts(nFloat, 0, tmp);
+    stream << "FloatingSpeciesAmounts:" << endl;
+    dump_array(stream, nFloat, tmp);
+
+    /*
+    model->getFloatingSpeciesAmountRates(nFloat, 0, tmp);
+    stream << "FloatingSpeciesAmountRates:" << endl;
+    dump_array(stream, nFloat, tmp);
+    */
+
+    model->getFloatingSpeciesConcentrations(nFloat, 0, tmp);
+    stream << "FloatingSpeciesConcentrations:" << endl;
+    dump_array(stream, nFloat, tmp);
+    delete[] tmp;
+
+    tmp = new double[nReactions];
+    model->getReactionRates(nReactions, 0, tmp);
+    stream << "Reaction Rates:" << endl;
+    dump_array(stream, nReactions, tmp);
+    delete [] tmp;
+
+    tmp = new double[nBound];
+    model->getBoundarySpeciesAmounts(nBound, 0, tmp);
+    stream << "BoundarySpeciesAmounts:" << endl;
+    dump_array(stream, nBound, tmp);
+
+    model->getBoundarySpeciesConcentrations(nBound, 0, tmp);
+    stream << "BoundarySpeciesConcentrations:" << endl;
+    dump_array(stream, nBound, tmp);
+    delete [] tmp;
+
+    tmp = new double[nComp];
+    model->getCompartmentVolumes(nComp, 0, tmp);
+    stream << "CompartmentVolumes:" << endl;
+    dump_array(stream, nComp, tmp);
+    delete [] tmp;
+
+    tmp = new double[nGlobalParam];
+    model->getGlobalParameterValues(nGlobalParam, 0, tmp);
+    stream << "GlobalParameters:" << endl;
+    dump_array(stream, nGlobalParam, tmp);
+    delete [] tmp;
+
+    unsigned char *tmpEvents = new unsigned char[nEvents];
+    model->getEventTriggers(nEvents, 0, tmpEvents);
+    stream << "Events Trigger Status:" << endl;
+    dump_array(stream, nEvents, (bool*)tmpEvents);
+    delete [] tmpEvents;
+
+    return stream;
+}
+
+
+
+
+
+} // namespace rr
diff --git a/source/rrExecutableModel.h b/source/rrExecutableModel.h
new file mode 100644
index 0000000..9aa9356
--- /dev/null
+++ b/source/rrExecutableModel.h
@@ -0,0 +1,755 @@
+
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file rrExecutableModel.h
+* @author MTK, ETS, JKM
+* @copyright Apache License, Version 2.0
+* @brief Base class for all code generators in RoadRunner
+**/
+
+# ifndef rrExecutableModelH
+# define rrExecutableModelH
+
+// == INCLUDES ================================================
+
+# include "rrOSSpecifics.h"
+# include "rrException.h"
+
+# include <stdint.h>
+# include <string>
+# include <vector>
+# include <list>
+# include <ostream>
+
+
+# include "tr1proxy/rr_memory.h"
+
+// == CODE ====================================================
+
+namespace rr
+{
+
+class ExecutableModel;
+
+/**
+ * @brief Notifies the user of SBML events
+ * @details RoadRunner has the capatiblity to notify user objects of any sbml event.
+ *
+ * In order to listen to sbml events, one simply implements the EventHandler
+ * interface and resgisters it with the ExecutableModel::setEventHandler method.
+ *
+ * To remove it, just pass in a 0.
+ *
+ * EventHanders are free to change any model parameters.
+ *
+ * They may return a result value specified by the Result enum. Currently, we
+ * we only have the HALT_SIMULATION which will result in RoadRunner::oneStep
+ * or RoadRunner::simulate to stop at the current time and return. This may be usefull
+ * if someone wants to run a simulation up until some threshold or state is reached.
+ */
+class EventListener
+{
+public:
+    enum Result
+    {
+        HALT_SIMULATION               = (0x1 << 0),  // => 0x00000001
+    };
+
+    virtual uint onTrigger(ExecutableModel* model, int eventIndex, const std::string& eventId) = 0;
+    virtual uint onAssignment(ExecutableModel* model, int eventIndex, const std::string& eventId) = 0;
+
+protected:
+    ~EventListener() {};
+};
+
+/**
+ * listeners are shared objects, so use std smart pointers
+ * to manage them.
+ */
+typedef cxx11_ns::shared_ptr<EventListener> EventListenerPtr;
+
+class EventListenerException: public std::exception
+{
+public:
+    explicit EventListenerException(uint resultCode) :
+            resultCode(resultCode)
+    {
+        msg = "EventHandlerException, resultCode: ";
+
+        switch (resultCode)
+        {
+        case EventListener::HALT_SIMULATION:
+            msg += "HALT_SIMULATION";
+            break;
+        }
+    }
+
+    virtual ~EventListenerException() throw()
+    {
+    };
+
+    virtual const char* what() const throw()
+    {
+        return msg.c_str();
+    }
+
+    uint getResultCode() const
+    {
+        return resultCode;
+    }
+
+private:
+    uint resultCode;
+    std::string msg;
+};
+
+
+
+/**
+ * @brief Base class for all code generation systems; allows compiling
+ * and evaluating the model
+ * @details The ExecutableModel interface provides a way to access an
+ * sbml model that was compiled, JIT'd or interpreted
+ * as executable (runnable) module.
+ *
+ * An ExecutableModel holds a ModelData structure, all the simulation
+ * values are stored in the ModelData struct, i.e. the dynamic state
+ * of the model is fully contained in the ModelData structure.
+ *
+ * An ExecutableModel shoud also contain all of the initial condisions,
+ * rules, functions and whatever other semantic information that was
+ * specified in the sbml model.
+ */
+class RR_DECLSPEC ExecutableModel
+{
+public:
+    /**
+     * @author JKM
+     * @date 07/31/2015
+     * @brief Returns a human-readable description of the code generation backend,
+     * e.g. LLVM, legacy C, etc.
+     */
+    virtual std::string getExecutableModelDesc() const = 0;
+
+    /**
+     * get the name of the model
+     */
+    virtual std::string getModelName() = 0;
+
+    virtual void setTime(double _time) = 0;
+    virtual double getTime() = 0;
+
+
+    /**
+     * Loads the initial conditions into the current model state.
+     *
+     * Initial conditions may have been updated at any time externally.
+     */
+    virtual void reset() = 0;
+
+
+
+    /************************ Floating Species Section ****************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * dependent species are defined by rules and the only way to change them
+     * is by changing the values on which they depend.
+     */
+    virtual int getNumDepFloatingSpecies() = 0;
+
+    /**
+     * total number of floating species.
+     */
+    virtual int getNumFloatingSpecies() = 0;
+
+    virtual int getFloatingSpeciesIndex(const std::string& eid) = 0;
+    virtual std::string getFloatingSpeciesId(int index) = 0;
+
+    /**
+     * independent species do are not defined by rules, they typically participate
+     * in reactions and can have thier values set at any time.
+     */
+    virtual int getNumIndFloatingSpecies() = 0;
+
+    /**
+     * get the floating species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesAmounts(int len, int const *indx,
+            double *values) = 0;
+
+    virtual int setFloatingSpeciesAmounts(int len, int const *indx,
+            const double *values) = 0;
+
+    virtual int getFloatingSpeciesAmountRates(int len, int const *indx,
+            double *values) = 0;
+
+
+    virtual int getFloatingSpeciesConcentrationRates(int len, int const *indx,
+                double *values) = 0;
+
+    /**
+     * get the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesConcentrations(int len, int const *indx,
+            double *values) = 0;
+
+    /**
+     * set the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setFloatingSpeciesConcentrations(int len, int const *indx,
+            double const *values) = 0;
+
+    /**
+     * Set the initial concentrations of the floating species.
+     *
+     * Takes the same indices as the other floating species methods.
+     *
+     * Note, if a floating species has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setFloatingSpeciesInitConcentrations(int len, int const *indx,
+                double const *values) = 0;
+
+    /**
+     * Get the initial concentrations of the floating species,
+     * uses the same indexing as the other floating species methods.
+     */
+    virtual int getFloatingSpeciesInitConcentrations(int len, int const *indx,
+                    double *values) = 0;
+
+    /**
+     * Set the initial amounts of the floating species.
+     *
+     * Takes the same indices as the other floating species methods.
+     *
+     * Note, if a floating species has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setFloatingSpeciesInitAmounts(int len, int const *indx,
+                double const *values) = 0;
+
+    /**
+     * Get the initial amounts of the floating species,
+     * uses the same indexing as the other floating species methods.
+     */
+    virtual int getFloatingSpeciesInitAmounts(int len, int const *indx,
+                    double *values) = 0;
+
+    /************************ End Floating Species Section ************************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+
+    /************************ Boundary Species Section ****************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+
+    /**
+     * get the number of boundary species.
+     */
+    virtual int getNumBoundarySpecies() = 0;
+    virtual int getBoundarySpeciesIndex(const std::string &eid) = 0;
+    virtual std::string getBoundarySpeciesId(int index) = 0;
+
+    /**
+     * get the boundary species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesAmounts(int len, int const *indx,
+            double *values) = 0;
+
+
+    /**
+     * get the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesConcentrations(int len, int const *indx,
+            double *values) = 0;
+
+    /**
+     * set the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setBoundarySpeciesConcentrations(int len, int const *indx,
+            double const *values) = 0;
+
+
+    /************************ End Boundary Species Section ************************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Global Parameters Section ***************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * get the number of global parameters
+     */
+    virtual int getNumGlobalParameters() = 0;
+
+    /**
+     * index of the global parameter id, -1 if it does not exist.
+     */
+    virtual int getGlobalParameterIndex(const std::string& eid) = 0;
+
+    /**
+     * id of the indexed global parameter.
+     */
+    virtual std::string getGlobalParameterId(int index) = 0;
+
+    /**
+     * get the global parameter values
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getGlobalParameterValues(int len, int const *indx,
+            double *values) = 0;
+
+    virtual int setGlobalParameterValues(int len, int const *indx,
+            const double *values) = 0;
+
+
+    /************************ Global Parameters Species Section *******************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Compartments Section ********************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    virtual int getNumCompartments() = 0;
+    virtual int getCompartmentIndex(const std::string& eid) = 0;
+    virtual std::string getCompartmentId(int index) = 0;
+
+    /**
+     * get the compartment volumes
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getCompartmentVolumes(int len, int const *indx,
+            double *values) = 0;
+
+    virtual int setCompartmentVolumes(int len, int const *indx,
+                const double *values) = 0;
+
+    /**
+     * Set the initial volumes of the compartments.
+     *
+     * Takes the same indices as the other compartment methods.
+     *
+     * Note, if a compartment has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setCompartmentInitVolumes(int len, int const *indx,
+                double const *values) = 0;
+
+    /**
+     * Get the initial volume of the compartments,
+     * uses the same indexing as the other compartment methods.
+     */
+    virtual int getCompartmentInitVolumes(int len, int const *indx,
+                    double *values) = 0;
+
+
+    /************************ End Compartments Species Section ********************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Selection Ids Species Section ***********************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * populates a given list with all the ids that this class can accept.
+     *
+     * @param ids: a list of strings that will be filled by this class.
+     * @param types: the types of ids that are requested. Can be set to
+     * 0xffffffff to request all the ids that this class supports.
+     * This should by a bitwise OR of the filelds in SelectionRecord::SelectionType
+     */
+    virtual void getIds(int types, std::list<std::string> &ids) = 0;
+
+    /**
+     * returns a bit field of the ids that this class supports.
+     */
+    virtual int getSupportedIdTypes() = 0;
+
+    /**
+     * gets the value for the given id string. The string must be a SelectionRecord
+     * string that is accepted by this class.
+     */
+    virtual double getValue(const std::string& id) = 0;
+
+    /**
+     * sets the value coresponding to the given selection stringl
+     */
+    virtual void setValue(const std::string& id, double value) = 0;
+
+
+    /************************ End Selection Ids Species Section *******************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * allocate a block of memory and copy the stochiometric values into it,
+     * and return it.
+     *
+     * The caller is responsible for freeing the memory that is referenced by data.
+     *
+     * @param[out] rows will hold the number of rows in the matrix.
+     * @param[out] cols will hold the number of columns in the matrix.
+     * @param[out] data a pointer which will hold a newly allocated memory block.
+     */
+    virtual int getStoichiometryMatrix(int* rows, int* cols, double** data) = 0;
+
+    /**
+     * Get the current stiochiometry value for the given species / reaction.
+     *
+     * If either are not valid, NaN is returned.
+     */
+    virtual double getStoichiometry(int speciesIndex, int reactionIndex) = 0;
+
+
+    virtual int getNumConservedMoieties() = 0;
+    virtual int getConservedMoietyIndex(const std::string& eid) = 0;
+    virtual std::string getConservedMoietyId(int index) = 0;
+    virtual int getConservedMoietyValues(int len, int const *indx, double *values) = 0;
+    virtual int setConservedMoietyValues(int len, int const *indx,
+            const double *values) = 0;
+
+    virtual int getNumRateRules() = 0;
+
+    /**
+     * @author JKM
+     * @date 07/31/2015
+     * @brief Gets the symbols defined by rate rules, i.e.
+     * returns all x such that x' = f(x) is a rule which defines parameter x.
+     */
+    virtual std::vector<std::string> getRateRuleSymbols() const {
+        throw NotImplementedException("getRateRuleSymbols not implemented in " + getExecutableModelDesc());
+    }
+
+    /**
+     * get the number of reactions the model has
+     */
+    virtual int getNumReactions() = 0;
+
+    /**
+     * get the index of a named reaction
+     * @returns >= 0 on success, < 0 on failure.
+     */
+    virtual int getReactionIndex(const std::string& eid) = 0;
+
+    /**
+     * get the name of the specified reaction
+     */
+    virtual std::string getReactionId(int index) = 0;
+
+    /**
+     * get the vector of reaction rates.
+     *
+     * @param len: the length of the suplied buffer, must be >= reaction rates size.
+     * @param indx: pointer to index array. If NULL, then it is ignored and the
+     * reaction rates are copied directly into the suplied buffer.
+     * @param values: pointer to user suplied buffer where rates will be stored.
+     */
+    virtual int getReactionRates(int len, int const *indx,
+                double *values) = 0;
+
+    /**
+     * get the 'values' i.e. the what the rate rule integrates to, and
+     * store it in the given array.
+     *
+     * The length of rateRuleValues obviously must be the number of
+     * rate rules we have.
+     */
+    virtual void getRateRuleValues(double *rateRuleValues) = 0;
+
+    /**
+     * get the id of an element of the state vector.
+     */
+    virtual std::string getStateVectorId(int index) = 0;
+
+    /**
+     * The state vector is a vector of elements that are defined by
+     * differential equations (rate rules) or independent floating species
+     * are defined by reactions.
+     *
+     * To get the ids of the state vector elements, use getStateVectorId.
+     *
+     * copies the internal model state vector into the provided
+     * buffer.
+     *
+     * @param[out] stateVector a buffer to copy the state vector into, if NULL,
+     *         return the size required.
+     *
+     * @return the number of items coppied into the provided buffer, if
+     *         stateVector is NULL, returns the length of the state vector.
+     */
+    virtual int getStateVector(double *stateVector) = 0;
+
+    /**
+     * sets the internal model state to the provided packed state vector.
+     *
+     * @param[in] an array which holds the packed state vector, must be
+     *         at least the size returned by getStateVector.
+     *
+     * @return the number of items copied from the state vector, negative
+     *         on failure.
+     */
+    virtual int setStateVector(const double *stateVector) = 0;
+
+    /**
+     * the state vector y is the rate rule values and floating species
+     * concentrations concatenated. y is of length numFloatingSpecies + numRateRules.
+     *
+     * The state vector is packed such that the first n raterule elements are the
+     * values of the rate rules, and the last n floatingspecies are the floating
+     * species values.
+     *
+     * @param[in] time current simulator time
+     * @param[in] y state vector, must be either null, or have a size of that
+     *         speciefied by getStateVector. If y is null, then the model is
+     *         evaluated using its current state. If y is not null, then the
+     *         y is considered the state vector.
+     * @param[out] dydt calculated rate of change of the state vector, if null,
+     *         it is ignored.
+     */
+    virtual void getStateVectorRate(double time, const double *y, double* dydt=0) = 0;
+
+    virtual void testConstraints() = 0;
+
+    virtual std::string getInfo() = 0;
+
+    virtual void print(std::ostream &stream) = 0;
+
+    /******************************* Events Section *******************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    virtual int getNumEvents() = 0;
+
+    /**
+     * get the event status, false if the even is not triggered, true if it is.
+     *
+     * The reason this returns an unsigned char instead of a bool array is this
+     * array is typically stuffed into an std::vector, and std::vector<bool> is
+     * well, weird as it's actually implemented as a bitfield, and can not be
+     * used as a C array.
+     *
+     * So, on every modern system I'm aware of, bool is an unsigned char, so
+     * use that data type here.
+     */
+    virtual int getEventTriggers(int len, const int *indx, unsigned char *values) = 0;
+
+
+    /**
+     * Itterate through all of the current and pending events and apply them. If any
+     * events trigger a state change which triggers any additional events, these
+     * are applied as well. After this method finishes, all events are processed.
+     *
+     * @param timeEnd: model time when the event occured.
+     * @param previousEventStatus: array of previous event triggered states.
+     * @param initialState (optional): initial state vector, may be NULL, in which
+     * the current state is used.
+     * @param finalState (optional): final state vector, where the final state is
+     * coppied to. May be NULL, in which case, ignored.
+     */
+    virtual int applyEvents(double timeEnd, const unsigned char* previousEventStatus,
+                const double *initialState, double* finalState) = 0;
+
+
+    /**
+     * evaluate the event 'roots' -- when events transition form triggered - non-triggered
+     * or triggered to non-triggered state.
+     *
+     * Simplest method is to return 1 for triggered, -1 for not-triggered, so long
+     * as there is a zero crossing.
+     *
+     * @param time[in] current time
+     * @param y[in] the state vector
+     * @param gdot[out] result event roots, this is of length numEvents.
+     */
+    virtual void getEventRoots(double time, const double* y, double* gdot) = 0;
+
+    virtual double getNextPendingEventTime(bool pop) = 0;
+
+    virtual int getPendingEventSize() = 0;
+
+    virtual void resetEvents() = 0;
+
+    /**
+     * need a virtual destructor as object implementing this interface
+     * can be deleted directly, i.e.
+     * ExecutableModel *p = createModel(...);
+     * delete p;
+     */
+    virtual ~ExecutableModel() {};
+
+    /******************************* Events Section *******************************/
+     #endif /**********************************************************************/
+    /******************************************************************************/
+
+
+    /**
+     * Gets the index for an event id.
+     * If there is no event with this id, returns -1.
+     */
+    virtual int getEventIndex(const std::string& eid) = 0;
+    virtual std::string getEventId(int index) = 0;
+    virtual void setEventListener(int index, EventListenerPtr eventHandler) = 0;
+    virtual EventListenerPtr getEventListener(int index) = 0;
+
+    /**
+     * Get the amount rate of change for the i'th floating species
+     * given a reaction rates vector.
+     *
+     * TODO: This should be merged with getFloatingSpeciesAmountRates, but that will
+     * break inteface, will do in next point release.
+     *
+     * TODO: If the conversion factor changes in between getting the
+     * reaction rates vector via getReactionRates
+     *
+     * @param index: index of the desired floating speceis rate.
+     * @param reactionRates: pointer to buffer of reaction rates.
+     */
+    virtual double getFloatingSpeciesAmountRate(int index,
+            const double *reactionRates) = 0;
+
+    /**
+     * reset the model accordign to a bitfield specified by the
+     * SelectionRecord::SelectionType values.
+     */
+    virtual void reset(int options) = 0;
+
+    /**
+     * set the seed used by the random number generator. This will by definition
+     * reset the RNG.
+     */
+    virtual void setRandomSeed(int64_t) = 0;
+
+    /**
+     * get the seed used by the RNG.
+     */
+    virtual int64_t getRandomSeed() = 0;
+
+    /**
+     * Get a uniform random number between 0 and 1 created by the RNG.
+     *
+     * The type of RNG can be specified in the config file with the
+     * RANDOM_GENERATOR_TYPE key.
+     */
+    virtual double getRandom() = 0;
+
+    /**
+     * Get the current set of flags
+     */
+    virtual uint32_t getFlags() const = 0;
+
+    /**
+     * Set certain options that determine the state of the ExecutableModel,
+     * these are listed in
+     */
+    virtual void setFlags(uint32_t) = 0;
+
+    enum ExecutableModelFlags {
+        /**
+         * A simulation is currently running. This means that the model
+         * should not have to re-calculate the reaction rate vector
+         * as it was calculated in the previous integration step.
+         */
+        INTEGRATION                       = (0x1 << 0),  // => 0x00000001
+
+        /**
+         * optimize not-recalculating the reaction rates during selection.
+         */
+        OPTIMIZE_REACTION_RATE_SELECTION  = (0x1 << 1),  // => 0x00000010
+    };
+
+    /**
+     * for source compatability
+     */
+    void computeAllRatesOfChange() {};
+
+    friend class RoadRunner;
+
+protected:
+
+    /**
+     * is integration is currently proceeding.
+     */
+    void setIntegration(bool value) {
+        uint32_t flags = getFlags();
+        if(value) {
+            flags |= INTEGRATION;
+        } else {
+            flags &= ~INTEGRATION;
+        }
+        setFlags(flags);
+    }
+
+
+};
+
+
+
+
+
+/**
+ * dump the model to a stream convenience func
+ */
+RR_DECLSPEC std::ostream& operator << (std::ostream &stream, ExecutableModel* model);
+
+
+}
+#endif
diff --git a/source/rrExporter.h b/source/rrExporter.h
new file mode 100644
index 0000000..e226cf4
--- /dev/null
+++ b/source/rrExporter.h
@@ -0,0 +1,18 @@
+#ifndef rrExporterH
+#define rrExporterH
+
+#if defined(_WIN32) || defined(__WIN32__)
+    #if defined(STATIC_RR) || defined(RR_STATIC)
+        #define RR_DECLSPEC
+    #else
+        #if defined(EXPORT_RR)
+            #define RR_DECLSPEC __declspec(dllexport)
+        #else
+            #define RR_DECLSPEC __declspec(dllimport)
+        #endif
+    #endif
+#else
+    #define RR_DECLSPEC
+#endif
+
+#endif
diff --git a/source/rrFileName.cpp b/source/rrFileName.cpp
new file mode 100644
index 0000000..e42a5e3
--- /dev/null
+++ b/source/rrFileName.cpp
@@ -0,0 +1,137 @@
+#pragma hdrstop
+#include "rrStringUtils.h"
+#include "rrFileName.h"
+
+using std::ostream;
+
+namespace rr
+{
+//---------------------------------------------------------------------------
+FileName::FileName(const string& name, const string& path)
+{
+    SetNameAndPath(path, name);
+}
+
+FileName::~FileName()
+{
+
+}
+
+FileName::FileName(const FileName& fN)
+{
+    mPath = fN.GetPath();
+    mName = fN.GetFileName();
+    MakeFileString();
+}
+
+FileName& FileName::operator=(const FileName& fN)
+{
+    mPath = fN.GetPath();
+    mName = fN.GetFileName();
+    MakeFileString();
+    return *this;
+}
+
+FileName& FileName::operator=(const string& fN)
+{
+    mPathAndName = fN;
+    mPath = getFilePath(fN);
+    mName = rr::getFileName(fN);
+    return *this;
+}
+
+bool FileName::operator!=(const char* fN)
+{
+    return (mName != fN) ? false : true;
+}
+
+string FileName::GetFileName() const {return mName;}
+string FileName::GetPath() const {return mPath;}
+string FileName::GetPathAndFileName() const {return mPathAndName;}
+unsigned int FileName::size(){return mName.size();}
+
+FileName::operator string() {return mPathAndName;}
+string FileName::Get()
+{
+    MakeFileString();
+    return mPathAndName;
+}
+
+string FileName::GetFileNameNoExtension()
+{
+    //remove extension
+    string fname = getFileNameNoExtension(GetFileName());
+    return fname;
+}
+
+void FileName::SetFileName(const string& name)
+{
+    mName = name;
+    MakeFileString();
+}
+
+bool FileName::SetPath(const string& path)
+{
+    mPath = path;
+    MakeFileString();
+    return true;
+}
+
+void FileName::SetNameAndPath(const string& path, const string& name)
+{
+    mPath = path;
+    mName = name;
+    MakeFileString();
+}
+
+void FileName::SetFileNameAndPath(const string& file)
+{
+    if(!file.size())
+    {
+        mPathAndName = "";
+        mName = "";
+        mPath = "";
+    }
+    else
+    {
+        mName = getFileName(file);
+        mPath = getFilePath(file);
+        MakeFileString();
+    }
+}
+
+void FileName::MakeFileString()
+{
+    mPathAndName = "";
+    if(mPath.size())
+    {
+        if(mPath[mPath.size()-1] == '\\' || mPath[mPath.size()-1] == '/')
+        {
+            mPathAndName = mPath + mName;
+        }
+        else //Add slashes to path
+        {
+#if defined(_WIN32) || defined(__WIN32__)
+            mPath = mPath + "\\";
+#else
+            mPath = mPath + "/";
+#endif
+            mPathAndName = mPath + mName;
+        }
+    }
+    else // No path
+    {
+        if(mName.size())
+        {
+            mPathAndName += mName;
+        }
+    }
+}
+
+ostream& operator <<(ostream& os, FileName& obj)
+{
+    os<<obj.Get();
+    return os;
+}
+
+}
diff --git a/source/rrFileName.h b/source/rrFileName.h
new file mode 100644
index 0000000..9d665ce
--- /dev/null
+++ b/source/rrFileName.h
@@ -0,0 +1,50 @@
+#ifndef rrFileNameH
+#define rrFileNameH
+#include <string>
+#include <ostream>
+#include "rrExporter.h"
+using std::string;
+using std::ostream;
+
+namespace rr
+{
+
+/**
+ * @internal
+ * @deprecated
+ */
+class RR_DECLSPEC FileName
+{
+    private:
+        mutable string              mPathAndName;
+        string                      mPath;
+        string                      mName;
+        void                        MakeFileString();
+
+    public:
+                                    FileName(const string& name = "", const string& path = "");
+                                    FileName(const FileName& fN);
+                                   ~FileName();
+
+        FileName&                   operator = (const FileName& fN);
+        FileName&                   operator = (const string& fN);
+        FileName&                   operator = (const char* fN);
+        bool                        operator !=(const char* fN);
+                                    operator string();// {return mPathAndName;}
+        bool                        SetPath(const string& path);
+        void                        SetFileName(const string& name);
+        void                        SetNameAndPath(const string& path, const string& name);
+        void                        SetFileNameAndPath(const string& name);
+
+        string                      GetFileName() const;
+        string                      GetPath() const;
+        string                      GetPathAndFileName() const;
+        string                      Get();
+        string                      GetFileNameNoExtension();
+        unsigned int                size();
+};
+
+RR_DECLSPEC std::ostream& operator         <<(std::ostream &os, FileName &obj);
+
+}
+#endif
diff --git a/source/rrGetOptions.cpp b/source/rrGetOptions.cpp
new file mode 100644
index 0000000..2696d5c
--- /dev/null
+++ b/source/rrGetOptions.cpp
@@ -0,0 +1,75 @@
+#pragma hdrstop
+#include <stdio.h>
+#include <string.h>
+#include "rrGetOptions.h"
+//---------------------------------------------------------------------------
+namespace rr
+{
+
+char    *rrOptArg;        // global argument pointer
+int      rrOptInd = 0;     // global argv index
+
+int GetOptions(int argc, char *argv[], const char* optstring)
+{
+    static char *next = NULL;
+    if (rrOptInd == 0)
+        next = NULL;
+
+    rrOptArg = NULL;
+
+    if (next == NULL || *next == wchar_t('\0'))
+    {
+        if (rrOptInd == 0)
+            rrOptInd++;
+
+        if (rrOptInd >= argc || argv[rrOptInd][0] != wchar_t('-') || argv[rrOptInd][1] == wchar_t('\0'))
+        {
+            rrOptArg = NULL;
+            if (rrOptInd < argc)
+                rrOptArg = argv[rrOptInd];
+            return EOF;
+        }
+
+        if (strcmp(argv[rrOptInd], ("--")) == 0)
+        {
+            rrOptInd++;
+            rrOptArg = NULL;
+            if (rrOptInd < argc)
+                rrOptArg = argv[rrOptInd];
+            return EOF;
+        }
+
+        next = argv[rrOptInd];
+        next++;        // skip past -
+        rrOptInd++;
+    }
+
+    char c = *next++;
+    const char *cp = strchr(optstring, c);
+
+    if (cp == NULL || c == wchar_t(':'))
+        return wchar_t('?');
+
+    cp++;
+    if (*cp == wchar_t(':'))
+    {
+        if (*next != wchar_t('\0'))
+        {
+            rrOptArg = next;
+            next = NULL;
+        }
+        else if (rrOptInd < argc)
+        {
+            rrOptArg = argv[rrOptInd];
+            rrOptInd++;
+        }
+        else
+        {
+            return wchar_t('?');
+        }
+    }
+
+    return c;
+}
+
+}//namepsace
diff --git a/source/rrGetOptions.h b/source/rrGetOptions.h
new file mode 100644
index 0000000..a6af1fb
--- /dev/null
+++ b/source/rrGetOptions.h
@@ -0,0 +1,13 @@
+#ifndef rrGetOptionsH
+#define rrGetOptionsH
+#include "rrExporter.h"
+//---------------------------------------------------------------------------
+namespace rr
+{
+RR_DECLSPEC     extern  int                         rrOptInd;
+//RR_DECLSPEC     extern  int                         opterr;
+RR_DECLSPEC     extern  char                       *rrOptArg;
+RR_DECLSPEC             int   GetOptions(int argc, char *argv[], const char* optstring);
+}
+
+#endif
diff --git a/source/rrIniFile.cpp b/source/rrIniFile.cpp
new file mode 100644
index 0000000..6cdae28
--- /dev/null
+++ b/source/rrIniFile.cpp
@@ -0,0 +1,971 @@
+#pragma hdrstop
+#include <float.h>
+#include <stdarg.h>
+#include <string.h>
+#include <stdio.h>
+#include "rrUtils.h"
+#include "rrOSSpecifics.h"
+#include "rrLogger.h"
+#include "rrIniFile.h"
+
+#undef CreateFile
+
+namespace rr
+{
+//const bool IniFile::mAutoCreateSections = true;
+//const bool IniFile::mAutoCreateKeys		= true;
+
+IniFile::IniFile(const string& szFileName, bool autoLoad, bool autoSave)
+:
+mCommentIndicators(";#"),
+mEqualIndicator("="),
+mWhiteSpace(" \t\n\r"),
+mIniFileName(szFileName),
+mIsDirty(false),
+mAutoSave(autoSave),
+mAutoCreateKeys(1),
+mAutoCreateSections(1)
+{
+	//mFlags = (mAutoCreateSections | mAutoCreateKeys);
+	if(mIniFileName.size() > 2 && autoLoad == true)
+	{
+		Load();	//Load all sections and keys upon creation...
+		Log(lDebug3)<<"Loaded file: " << mIniFileName.Get();
+	}
+}
+
+IniFile::~IniFile()
+{
+	if (mIsDirty && mAutoSave)
+    {
+		Save();
+    }
+
+	Clear();
+}
+
+// Resets the member variables to their defaults
+void IniFile::Clear()
+{
+	mIsDirty = true;			//A save after clear, will clear the phuysica; file
+	for(unsigned int i = 0; i < mSections.size(); i++)
+	{
+		IniSection* section = mSections[i];
+		delete section;
+	}
+	mSections.clear();
+}
+
+bool IniFile::SetFilePath(const string& path)
+{
+	return mIniFileName.SetPath(path);
+}
+
+bool IniFile::ClearSection(const string& aSection)
+{
+	IniSection* section = GetSection(aSection);
+	if(section)
+	{
+		section->Clear();
+		return true;
+	}
+	return false;
+}
+
+// Set's the mFileName member variable. For use when creating the IniFile
+// object by hand versus loading it from a file
+void IniFile::SetFileName(const string& FileName)
+{
+	if (mIniFileName.size() != 0 && compareNoCase(FileName, mIniFileName) != 0)
+	{
+		mIsDirty = true;
+	}
+
+	mIniFileName = FileName;
+}
+
+// Attempts to load in the text file. If successful it will populate the
+// Section list with the key/value pairs found in the file. Note that comments
+// are saved so that they can be rewritten to the file later.
+bool IniFile::Load(const string& newfName)
+{
+	if(newfName.size())
+    {
+    	mIniFileName = newfName;
+    }
+
+	if(mIniFileName.size() < 1)
+	{
+									Log(Logger::LOG_ERROR)<<"Ini file name is not set!";
+		return false;
+	}
+	else
+	{
+									Log(lDebug3)<<"Loading IniFile: " <<mIniFileName.Get();
+	}
+
+    if(!fileExists(mIniFileName))
+    {
+									Log(lDebug2)<<"The ini file: \"" <<mIniFileName.Get()<<"\" does not exist. It will be created";
+        if(!createFile(mIniFileName))
+        {
+    								Log(Logger::LOG_ERROR)<<"Failed to create ini file.. returning..";
+            return false;
+        }
+	}
+
+	string fName(mIniFileName);
+    fstream file;
+	file.open(fName.c_str(), ios::in|ios::out);
+	if(file.fail())
+    {
+    								Log(Logger::LOG_ERROR)<<"Opening file caused failbit to be set";
+    }
+
+	if (!file.is_open() )
+	{
+									Log(Logger::LOG_ERROR)<<"The ini file: '" <<mIniFileName<<"' could not be opened";
+		return false;
+	}
+	else
+	{
+		bool bDone = false;
+		bool bAutoKey = (mFlags & mAutoCreateKeys) 		== mAutoCreateKeys;
+		bool bAutoSec = (mFlags & mAutoCreateSections) 	== mAutoCreateSections;
+		IniSection* pSection = GetSection("");
+
+		// These need to be set, we'll restore the original values later.
+		mFlags |= mAutoCreateKeys;
+		mFlags |= mAutoCreateSections;
+
+		char* buffer = new char[MAX_LINE_BUFFER_SIZE];
+        int lines = 0;
+		while(!bDone)
+		{
+			string Comment;
+			memset(buffer, 0, MAX_LINE_BUFFER_SIZE);
+			file.getline(buffer, MAX_LINE_BUFFER_SIZE);
+			lines++;
+
+			string Line = buffer;
+			Trim(Line);
+
+			bDone = ( file.eof() || file.bad() || file.fail() );
+
+			if ( Line.find_first_of(mCommentIndicators) == 0 )
+			{
+				Comment += "\n";
+				Comment += Line;
+			}
+			else if ( Line.find_first_of('[') == 0 ) // Found a section
+			{
+				Line.erase( 0, 1 );
+				Line.erase( Line.find_last_of(']'), 1 );
+				pSection = GetSection(Line, true);
+            	Log(lDebug3)<<"Located section: " + pSection->mName;
+				Comment = string("");
+            }
+            else if ( Line.find_first_of('<') != string::npos &&
+                      Line.find_first_of('>') != string::npos)     //XML
+            {
+                if(pSection)
+                {
+                    WriteNonKey(Line, pSection->mName);
+                }
+                Log(lDebug5)<<"Read NonKey on line: " << lines;
+            }
+            else if ( Line.size() > 0 ) // we have a key, add this key/value pair
+			{
+                string Comment = "";
+                string Key = "";
+                string Value = "";
+
+            	vector<string> record = splitString(Line, mEqualIndicator + mCommentIndicators);
+                if(record.size() > 1)
+				{
+	                string Comment = "";
+                	string Key = Trim(record[0]);
+                    string Value = Trim(record[1]);
+                    if(record.size() > 2)
+                    {
+                    	Comment = record[2];
+                    }
+
+					if(pSection)
+					{
+						WriteValue(Key, Value, Comment, pSection->mName);
+						Log(lDebug5)<<Key << " = "  <<Value;
+					}
+					else
+					{
+                		Log(lDebug5)<<Key << " = " << Value;
+						Log(lWarning)<<"No section for key"<<Key<<". Key was ignored..";
+					}
+					Comment = string("");
+				}
+				else	//Not a valid Key. Store as a NonKey
+				{
+					if(pSection)
+					{
+						WriteNonKey(Line, pSection->mName);
+					}
+					Log(lDebug5)<<"Read NonKey on line: " << lines;
+				}
+			}
+		}
+
+        delete [] buffer;
+		// Restore the original flag values.
+		if(!bAutoKey)
+        {
+			mFlags &= ~mAutoCreateKeys;
+        }
+
+		if(!bAutoSec)
+        {
+			mFlags &= ~mAutoCreateSections;
+        }
+	}
+	file.close();
+	return true;
+}
+
+IniSection* IniFile::LoadSection(const string& theSection)
+{
+    IniSection* pSection = NULL;
+	if(mIniFileName.size() < 1)
+	{
+									Log(Logger::LOG_ERROR)<<"Ini file name is not set!";
+		return NULL;
+	}
+	else
+	{
+									Log(lDebug3)<<"Loading IniFile: " <<mIniFileName.Get();
+	}
+
+    fstream file;
+    if(!fileExists(mIniFileName))
+    {
+									Log(lDebug2)<<"The ini file: \"" <<mIniFileName.Get()<<"\" does not exist. It will be created";
+	}
+
+	string fName(mIniFileName);
+	file.open(fName.c_str(), ios::in|ios::out);
+	if(file.fail())
+    {
+    								Log(Logger::LOG_ERROR)<<"Opening file caused failbit to be set";
+    }
+
+	if (!file.is_open() )
+	{
+									Log(Logger::LOG_ERROR)<<"The ini file: '" <<mIniFileName<<"' could not be opened";
+		return NULL;
+	}
+	else
+	{
+		bool bDone = false;
+		bool bAutoKey = (mFlags & mAutoCreateKeys) 		== mAutoCreateKeys;
+		bool bAutoSec = (mFlags & mAutoCreateSections) 	== mAutoCreateSections;
+
+		char* buffer = new char[MAX_LINE_BUFFER_SIZE];
+		pSection = GetSection("");
+
+		// These need to be set, we'll restore the original values later.
+		mFlags |= mAutoCreateKeys;
+		mFlags |= mAutoCreateSections;
+
+		while(!bDone)
+		{
+			string Comment;
+			memset(buffer, 0, MAX_LINE_BUFFER_SIZE);
+			file.getline(buffer, MAX_LINE_BUFFER_SIZE);
+
+			string Line = buffer;
+			Trim(Line);
+
+			bDone = ( file.eof() || file.bad() || file.fail() );
+
+			if ( Line.find_first_of(mCommentIndicators) == 0 )
+			{
+				Comment += "\n";
+				Comment += Line;
+			}
+			else
+			if ( Line.find_first_of('[') == 0 ) // Found a section
+			{
+				Line.erase( 0, 1 );
+				Line.erase( Line.find_last_of(']'), 1 );
+
+                if(theSection == Line)
+                {
+    				CreateSection(Line, Comment);
+	    			pSection = GetSection(Line);
+										Log(lDebug3)<<"Located ini section: " + pSection->mName;
+				    Comment = string("");
+                    bDone = true;
+                }
+			}
+			else if ( Line.size() > 0 ) // we have a key, add this key/value pair
+			{
+				string Key = GetNextWord(Line);
+				string Value = Line;
+
+				if ( Key.size() > 0 && Value.size() > 0 )
+				{
+					if(pSection)
+					{
+						WriteValue(Key, Value, Comment, pSection->mName);
+										Log(lDebug5)<<"Read Key " + Key + " Value = " + Value;
+					}
+					else
+					{
+										Log(lDebug5)<<"Read Key " + Key + " Value = " + Value;
+										Log(lWarning)<<"No section for key" + Key + ". Key was ignored..";
+					}
+					Comment = string("");
+				}
+				else	//Not a valid Key. Store as a NonKey
+				{
+					if(pSection)
+					{
+						WriteNonKey(Key, pSection->mName);
+						Log(lDebug5)<<"Read a NonKey: " + Key;
+					}
+				}
+			}
+		}
+
+		// Restore the original flag values.
+		if (!bAutoKey)
+		{
+			mFlags &= ~mAutoCreateKeys;
+		}
+
+		if (!bAutoSec)
+		{
+			mFlags &= ~mAutoCreateSections;
+		}
+	}
+
+	file.close();
+	return pSection;
+}
+
+// Attempts to save the Section list and keys to the file. Note that if Load
+// was never called (the IniFile object was created manually), then you
+// must set the mFileName variable before calling save.
+bool IniFile::Save(ios_base::openmode openMode)
+{
+	if ( mIniFileName.size() == 0 )
+	{
+		Log(Logger::LOG_ERROR)<<"No filename has been set. Can't save..";
+		return false;
+	}
+
+    string aFName = mIniFileName.Get();
+	fstream aFstream(aFName.c_str(), openMode);
+
+	if(aFstream.is_open())
+	{
+		SectionItor s_pos;
+		KeyItor k_pos;
+		IniSection* Section;
+		IniKey* Key;
+
+		for (s_pos = mSections.begin(); s_pos != mSections.end(); s_pos++)
+		{
+			Section = (*s_pos);
+			bool bWroteComment = false;
+
+			if ( Section->mComment.size() > 0 )
+			{
+				bWroteComment = true;
+				WriteLine(aFstream, "\n%s", CommentStr(Section->mComment).c_str());
+			}
+
+			if ( Section->mName.size() > 0 )
+			{
+				WriteLine(aFstream, "%s[%s]",
+						bWroteComment ? "" : "\n",
+						Section->mName.c_str());
+			}
+
+			for (k_pos = Section->mKeys.begin(); k_pos != Section->mKeys.end(); k_pos++)
+			{
+				Key = (*k_pos);
+
+				if ( Key->mKey.size() > 0 && Key->mValue.size() > 0 )
+				{
+						WriteLine(aFstream, "%s%s%s%s%c%s",
+						Key->mComment.size() > 0 ? "\n" : "",
+						CommentStr(Key->mComment).c_str(),
+						Key->mComment.size() > 0 ? "\n" : "",
+						Key->mKey.c_str(),
+						mEqualIndicator[0],
+						Key->mValue.c_str());
+				}
+			}
+		}
+	}
+	else
+	{
+		Log(Logger::LOG_ERROR)<<"[IniFile::Save] Unable to save file.";
+		return false;
+	}
+
+	mIsDirty = false;
+	aFstream.flush();
+	aFstream.close();
+								Log(lDebug3)<<"IniFile was saved";
+	return true;
+}
+
+// Set the comment of a given key. Returns true if the key is not found.
+bool IniFile::SetKeyComment(const string& mKey, const string& mComment, const string& szSection)
+{
+	KeyItor k_pos;
+	IniSection* pSection;
+
+	if ( (pSection = GetSection(szSection)) == NULL )
+		return false;
+
+	for (k_pos = pSection->mKeys.begin(); k_pos != pSection->mKeys.end(); k_pos++)
+	{
+		if ( compareNoCase( (*k_pos)->mKey, mKey ) == 0 )
+		{
+			(*k_pos)->mComment = mComment;
+			mIsDirty = true;
+			return true;
+		}
+	}
+
+	return false;
+}
+
+// Set the comment for a given section. Returns false if the section
+// was not found.
+bool IniFile::SetSectionComment(const string& Section, const string& Comment)
+{
+	SectionItor s_pos;
+
+	for (s_pos = mSections.begin(); s_pos != mSections.end(); s_pos++)
+	{
+    	string name = (*s_pos)->mName;
+		if ( compareNoCase( name , Section ) == 0 )
+		{
+		    (*s_pos)->mComment = Comment;
+			mIsDirty = true;
+			return true;
+		}
+	}
+
+	return false;
+}
+
+bool IniFile::SectionExists(const string& section)
+{
+	SectionItor s_pos;
+	IniSection* Section;
+
+    for (s_pos = mSections.begin(); s_pos != mSections.end(); s_pos++)
+	{
+			Section = (*s_pos);
+            if(Section->mName == section)
+            	return true;
+    }
+	return false;
+}
+
+// Given a key, a value and a section, this function will attempt to locate the
+// Key within the given section, and if it finds it, change the keys value to
+// the new value. If it does not locate the key, it will create a new key with
+// the proper value and place it in the section requested.
+bool IniFile::WriteValue(const string& mKey, const string& mValue, const string& mComment, const string& szSection)
+{
+	IniKey* 		pKey 		= GetKey(mKey, szSection);
+	IniSection* 	pSection 	= GetSection(szSection);
+
+	if (pSection == NULL)
+	{
+		if ( !(mFlags & mAutoCreateSections) || !CreateSection(szSection))
+			return false;
+
+		pSection = GetSection(szSection);
+	}
+
+	// Sanity check...
+	if ( pSection == NULL )
+		return false;
+
+	// if the key does not exist in that section, and the value passed
+	// is not string("") then add the new key.
+	if ( pKey == NULL && mValue.size() > 0 && (mFlags & mAutoCreateKeys))
+	{
+		pKey = new IniKey;
+
+		pKey->mKey = mKey;
+		pKey->mValue = mValue;
+		pKey->mComment = mComment;
+		mIsDirty = true;
+		pSection->mKeys.push_back(pKey);
+		return true;
+	}
+
+	if ( pKey != NULL )
+	{
+		pKey->mValue = mValue;
+		pKey->mComment = mComment;
+		mIsDirty = true;
+		return true;
+	}
+
+	return false;
+}
+
+bool IniFile::WriteNonKey(const string& nonKey, const string& section)
+{
+	IniSection* 	pSection 	= GetSection(section);
+	if (pSection == NULL)
+	{
+		if ( !(mFlags & mAutoCreateSections) || !CreateSection(section))
+			return false;
+
+		pSection = GetSection(section);
+	}
+
+	// Sanity check...
+	if (pSection == NULL )
+		return false;
+
+    pSection->mNonKeys.push_back(nonKey);
+	return true;
+}
+
+// Passes the given float to WriteValue as a string
+bool IniFile::WriteFloat(const string& mKey, double value, const string& mComment, const string& szSection)
+{
+	char szStr[64];
+	snprintf(szStr, 64, "%g", value);
+	return WriteValue(mKey, szStr, mComment, szSection);
+}
+
+// Passes the given int to WriteValue as a string
+bool IniFile::WriteInteger(const string& mKey, int nValue, const string& mComment, const string& szSection)
+{
+	char szStr[64];
+	snprintf(szStr, 64, "%d", nValue);
+	return WriteValue(mKey, szStr, mComment, szSection);
+}
+
+// Passes the given bool to WriteValue as a string
+bool IniFile::WriteBool(const string& mKey, bool bValue, const string& mComment, const string& szSection)
+{
+	string mValue = bValue ?  "true" : "false";
+
+	return WriteValue(mKey, mValue, mComment, szSection);
+}
+
+// Returns the key value as a string object. A return value of
+// string("") indicates that the key could not be found.
+string IniFile::ReadValue(const string& mKey, const string& szSection)
+{
+	IniKey* pKey = GetKey(mKey, szSection);
+  	mWasFound = pKey ? true : false;
+
+    string value;
+    if(pKey)
+    {
+        value = pKey->mValue;
+    }
+    else
+    {
+    	value = "";
+    }
+
+	return value;
+}
+
+// Returns the key value as a string object. A return value of
+// string("") indicates that the key could not be found.
+string IniFile::ReadString(const string& mKey, const string& szSection, const string& def_val)
+{
+	string 	str =  ReadValue(mKey, szSection);
+	if(mWasFound)
+	{
+		return str;
+	}
+	return def_val;
+}
+
+// Returns the key value as a double type. Returns FLT_MIN if the key is
+// not found.
+double IniFile::ReadDouble(const string& mKey, const string& szSection, double def_value)
+{
+	string mValue = ReadValue(mKey, szSection);
+
+	if(mWasFound)
+	{
+		return atof( mValue.c_str() );
+	}
+
+	return def_value;
+}
+
+// Returns the key value as an integer type. Returns INT_MIN if the key is
+// not found.
+int	IniFile::ReadInteger(const string& mKey, const string& szSection, int def_val)
+{
+	string mValue = ReadValue(mKey, szSection);
+
+	if(mWasFound)
+	{
+		return	atoi(mValue.c_str());
+	}
+	return def_val;
+}
+
+// Returns the key value as a bool type. Returns false if the key is
+// not found.
+bool IniFile::ReadBool(const string& mKey, const string& szSection, bool def_value)
+{
+	bool bValue = def_value;
+	string mValue = ReadValue(mKey, szSection);
+
+	if(mWasFound)
+	{
+		if ( mValue.find("1") 						== 0 	
+				|| compareNoCase(mValue, "true") 	== 0 
+				|| compareNoCase(mValue, "yes") 	== 0 )
+		{
+			bValue = true;
+		}
+        else
+        {
+        	bValue = false;
+        }
+	}	
+
+	return bValue;
+}
+
+// Delete a specific section. Returns false if the section cannot be
+// found or true when sucessfully deleted.
+bool IniFile::DeleteSection(const string& Section)
+{
+	SectionItor s_pos;
+
+	for (s_pos = mSections.begin(); s_pos != mSections.end(); s_pos++)
+	{
+		if ( compareNoCase( (*s_pos)->mName, Section ) == 0 )
+		{
+        	//Found a section..
+            IniSection *aSection =  (*s_pos);
+			mSections.erase(s_pos);
+            delete (aSection);
+			return true;
+		}
+	}
+
+	return false;
+}
+
+bool IniFile::DeleteSectionsWithKeyValue(const string& keyName, const string& value)
+{
+	//First find sections containing the key
+	SectionItor s_pos = mSections.begin();
+    s_pos = mSections.begin();
+	while (s_pos != mSections.end())
+	{
+		IniKey* key = GetKey(keyName, (*s_pos)->mName);
+        {
+        	if(key && key->mValue == value)
+            {
+           		//remove section
+              	DeleteSection((*s_pos)->mName);
+			    s_pos = mSections.begin();
+            }
+            else
+            {
+            	++s_pos;
+            }
+        }
+    }
+	return true;
+}
+
+// Delete a specific key in a specific section. Returns false if the key
+// cannot be found or true when sucessfully deleted.
+bool IniFile::DeleteKey(const string& Key, const string& FromSection)
+{
+	KeyItor k_pos;
+	IniSection* pSection;
+
+	if ( (pSection = GetSection(FromSection)) == NULL )
+		return false;
+
+	for (k_pos = pSection->mKeys.begin(); k_pos != pSection->mKeys.end(); k_pos++)
+	{
+		if ( compareNoCase( (*k_pos)->mKey, Key ) == 0 )
+		{
+        	IniKey* aKey = (*k_pos);
+			pSection->mKeys.erase(k_pos);
+            delete aKey;
+			return true;
+		}
+	}
+
+	return false;
+}
+
+// Given a key, a value and a section, this function will attempt to locate the
+// Key within the given section, and if it finds it, change the keys value to
+// the new value. If it does not locate the key, it will create a new key with
+// the proper value and place it in the section requested.
+bool IniFile::CreateKey(const string& mKey, const string& mValue, const string& mComment, const string& szSection)
+{
+	bool bAutoKey = (mFlags & mAutoCreateKeys) == mAutoCreateKeys;
+	bool bReturn  = false;
+
+	mFlags |= mAutoCreateKeys;
+
+	bReturn = WriteValue(mKey, mValue, mComment, szSection);
+
+	if (!bAutoKey)
+	{
+		mFlags &= ~mAutoCreateKeys;
+	}
+
+	return bReturn;
+}
+
+// Given a section name, this function first checks to see if the given section
+// allready exists in the list or not, if not, it creates the new section and
+// assigns it the comment given in mComment.  The function returns true if
+// sucessfully created, or false otherwise.
+bool IniFile::CreateSection(const string& Section, const string& mComment)
+{
+	IniSection* pSection = GetSection(Section);
+
+	if ( pSection )
+	{
+		Log(lDebug5)<<"[IniFile::CreateSection] Section "<<Section.c_str()<<" already exists. Aborting.";
+		return false;
+	}
+
+	pSection = new IniSection;
+	pSection->mName = Section;
+	pSection->mComment = mComment;
+	mSections.push_back(pSection);
+	mIsDirty = true;
+	return true;
+}
+
+// Given a section name, this function first checks to see if the given section
+// allready exists in the list or not, if not, it creates the new section and
+// assigns it the comment given in mComment.  The function returns true if
+// sucessfully created, or false otherwise. This version accpets a KeyList
+// and Writes up the newly created Section with the keys in the list.
+bool IniFile::CreateSection(const string& Section, const string& Comment, KeyList Keys)
+{
+	if ( !CreateSection(Section, Comment) )
+		return false;
+
+	IniSection* pSection = GetSection(Section);
+
+	if ( !pSection )
+		return false;
+
+	KeyItor k_pos;
+
+	pSection->mName = Section;
+	for (k_pos = Keys.begin(); k_pos != Keys.end(); k_pos++)
+	{
+		IniKey* pKey = new IniKey;
+		pKey->mComment = (*k_pos)->mComment;
+		pKey->mKey = (*k_pos)->mKey;
+		pKey->mValue = (*k_pos)->mValue;
+		pSection->mKeys.push_back(pKey);
+	}
+
+	mSections.push_back(pSection);
+	mIsDirty = true;
+
+	return true;
+}
+
+// Simply returns the number of sections in the list.
+int IniFile::SectionCount()
+{
+	return mSections.size();
+}
+
+// Returns the total number of keys contained within all the sections.
+int IniFile::KeyCount()
+{
+	int nCounter = 0;
+	SectionItor s_pos;
+
+	for (s_pos = mSections.begin(); s_pos != mSections.end(); s_pos++)
+		nCounter += (*s_pos)->mKeys.size();
+
+	return nCounter;
+}
+
+int IniFile::KeyCount(const string& section)
+{
+	//Get the section
+    IniSection* iniSection = GetSection(section);
+    return iniSection->KeyCount();
+}
+
+// Given a key and section name, looks up the key and if found, returns a
+// pointer to that key, otherwise returns NULL.
+IniKey*	IniFile::GetKey(const string& Key, const string& Section)
+{
+	IniSection* pSection;
+	KeyItor k_pos;
+
+	// Since our default section has a name value of string("") this should
+	// always return a valid section, wether or not it has any keys in it is
+	// another matter.
+	if ( (pSection = GetSection(Section)) == NULL )
+		return NULL;
+
+	for (k_pos = pSection->mKeys.begin(); k_pos != pSection->mKeys.end(); k_pos++)
+	{
+		if ( compareNoCase( (*k_pos)->mKey, Key ) == 0 )
+			return (*k_pos);
+	}
+
+	return NULL;
+}
+
+// Given a section name, locates that section in the list and returns a pointer
+// to it. If the section was not found, returns NULL
+IniSection* IniFile::GetSection(const string& Section, bool create)
+{
+	SectionItor s_pos;
+	for (s_pos = mSections.begin(); s_pos != mSections.end(); s_pos++)
+	{
+    	if(s_pos == mSections.end())
+        {
+        	return NULL;
+        }
+        string secName = (*s_pos)->mName;
+		if ( compareNoCase( secName, Section ) == 0 )
+        {
+        	IniSection* sec = (*s_pos);
+			return sec;
+        }
+	}
+
+    if(create)
+    {
+        CreateSection(Section);
+        return GetSection(Section, false);
+    }
+
+	return NULL;
+}
+
+IniSection* IniFile::GetSection(const unsigned int sectionNr)
+{
+	if(sectionNr < mSections.size() && mSections.size() > 0)
+    	return mSections[sectionNr];
+
+	return NULL;
+}
+
+string IniFile::CommentStr(string& mComment)
+{
+	string szNewStr = string("");
+
+	Trim(mComment);
+
+		if ( mComment.size() == 0 )
+		  return mComment;
+
+
+	if ( mComment.find_first_of(mCommentIndicators) != 0 )
+	{
+		szNewStr = mCommentIndicators[0];
+		szNewStr += " ";
+	}
+
+	szNewStr += mComment;
+
+	return szNewStr;
+}
+
+// Given a key+delimiter+ value string, pulls the key name from the string,
+// deletes the delimiter and alters the original string to contain the
+// remainder.  Returns the key
+string IniFile::GetNextWord(string& CommandLine)
+{
+	int nPos = CommandLine.find_first_of(mEqualIndicator);
+	string sWord = string("");
+
+	if ( nPos > -1 )
+	{
+		sWord = CommandLine.substr(0, nPos);
+		CommandLine.erase(0, nPos+1);
+	}
+	else
+	{
+		sWord = CommandLine;
+		CommandLine = string("");
+	}
+
+	Trim(sWord);
+	return sWord;
+}
+
+string IniFile::Trim(string& str)
+{
+	string szTrimChars 	= mWhiteSpace;
+	szTrimChars 		+= mEqualIndicator;
+
+	// Trim Both leading and trailing spaces
+	size_t startpos = str.find_first_not_of(szTrimChars); 	// Find the first character position after excluding leading blank spaces
+	size_t endpos 	= str.find_last_not_of(szTrimChars); 	// Find the first character position from reverse af
+
+	// if all spaces or empty return an empty string
+	if(( string::npos == startpos ) || ( string::npos == endpos))
+	{
+		str = "";
+	}
+	else
+    {
+		str = str.substr(startpos, endpos-startpos + 1);
+    }
+
+	return str;
+}
+
+// Writes the formatted output to the file stream, returning the number of
+// bytes written.
+int IniFile::WriteLine(fstream& stream, const char* fmt, ...)
+{
+	char *buf = new char[MAX_LINE_BUFFER_SIZE];
+	int nLength;
+	string szMsg;
+
+	memset(buf, 0, MAX_LINE_BUFFER_SIZE);
+	va_list args;
+
+	va_start (args, fmt);
+	  nLength = vsnprintf(buf, MAX_LINE_BUFFER_SIZE, fmt, args);
+	va_end (args);
+
+
+	if ( buf[nLength] != '\n' && buf[nLength] != '\r' )
+		buf[nLength++] = '\n';
+
+	stream.write(buf, nLength);
+
+	delete [] buf;
+	return nLength;
+}
+
+
+}
diff --git a/source/rrIniFile.h b/source/rrIniFile.h
new file mode 100644
index 0000000..a803e56
--- /dev/null
+++ b/source/rrIniFile.h
@@ -0,0 +1,125 @@
+#ifndef IniFileH
+#define IniFileH
+#include <vector>
+#include <fstream>
+#include <string>
+#include "rrExporter.h"
+#include "rrStringUtils.h"
+#include "rrIniSection.h"
+#include "rrIniKey.h"
+#include "rrFileName.h"
+
+namespace rr
+{
+
+using std::string;
+using std::fstream;
+using std::ios;
+using std::ios_base;
+
+const int MAX_LINE_BUFFER_SIZE = 2048;
+class IniKey;
+class IniSection;
+
+// IniFile typedefs
+typedef std::vector<IniKey*>             KeyList;
+typedef std::vector<string>             NonKeyList;
+typedef std::vector<IniSection*>          SectionList;
+typedef SectionList::iterator           SectionItor;
+
+/**
+ * @internal
+ */
+class RR_DECLSPEC IniFile
+{
+    private:
+        // When set, this define will cause SetValue() to create a new section, if
+        // the requested section does not allready exist.
+        const int            mAutoCreateSections;
+
+        // When set, this define causes SetValue() to create a new key, if the
+        // requested key does not allready exist.
+        const int             mAutoCreateKeys;
+
+        string                 mCommentIndicators;
+        const string         mEqualIndicator;
+        const string         mWhiteSpace;
+
+        // General Purpose Utility Functions
+        string                GetNextWord(string& CommandLine);
+        string                Trim(string& Str);
+        int                    WriteLine(fstream& stream, const char* fmt, ...);
+
+    protected:
+        SectionList            mSections;        // List of sections
+        FileName            mIniFileName;    // The filename to write to
+        bool                mIsDirty;        // Tracks whether or not data has changed.
+        bool                mWasFound;
+        bool                 mAutoSave;        //Save ini file automatically on destruction
+
+
+    public:
+        int                    mFlags;        // Our settings flags.
+                            IniFile(const string& fName = "", bool autoLoad = false, bool autoSave = false);
+        virtual                ~IniFile();
+
+        int                    GetNumberOfSections(){return mSections.size();}
+        IniSection*        GetSection(int i){return mSections[i];}
+
+        // File handling methods
+        string              GetFilePath(){return mIniFileName.GetPath();}
+        string              GetFileName(){return mIniFileName;}
+        string              GetFullFileName(){return mIniFileName.GetPathAndFileName();}
+        bool                SetFilePath(const string& path);
+        bool                Load(const string& fName = "");
+        IniSection*          LoadSection(const string& theSection);
+        bool                Save(ios_base::openmode openMode = ios::out|ios::trunc);
+        bool                UnLoad(){return Save();}
+        bool                WasItFound(){return mWasFound;} //!Boolean indicating if the last key was found in the ini file
+        bool                SectionExists(const string& section);
+
+        //Reading
+        // ReadValue: Default access method. Returns the raw string value
+        string                ReadValue(const string& Key, const string& Section = "");
+         string                ReadString(const string& Key, const string& Section = "", const string& def_val="");
+        double                ReadDouble(const string& Key, const string& Section = "", double def_value = 0);
+        float                ReadFloat(const string& Key, const string& Section = "", double def_value = 0){return (float) ReadDouble(Key, Section, def_value);}
+        int                    ReadInteger(const string& Key, const string& Section = "", int def_value = 0);
+        bool                ReadBool(const string& Key, const string& Section = "", bool def_value = false);
+
+           //Writing
+         bool                WriteValue(const string& Key, const string& Value, const string& Comment = "", const string& Section = "");
+        bool                WriteFloat(const string& Key, double value, const string& Comment = "", const string& Section = "");
+        bool                WriteInteger(const string& Key, int nValue, const string& Comment = "", const string& Section = "");
+        bool                WriteBool(const string& Key, bool bValue, const string& Comment = "", const string& Section = "");
+        bool                WriteString(const string& Key, const string& Value, const string& Comment = "", const string& Section = ""){return WriteValue(Key, Value, Comment, Section);}
+         bool                WriteNonKey(const string& nonKey, const string& Section = "");
+
+        //KeyHandling
+        bool                SetKeyComment(const string& Key, const string& Comment, const string& Section = "");
+        bool                SetSectionComment(const string& Section, const string& Comment);
+        bool                DeleteKey(const string& Key, const string& FromSection = "");
+        bool                DeleteSection(const string& Section);
+        bool                DeleteSectionsWithKeyValue(const string& key, const string& value);
+        bool                CreateKey(const string& Key, const string& Value, const string& Comment = "", const string& Section = "");
+
+        //Section stuff
+        bool                CreateSection(const string& Section, const string& Comment = "");
+        bool                CreateSection(const string& Section, const string& Comment, KeyList Keys);
+
+        // Utility Methods
+        int                    SectionCount();
+        int                    KeyCount();
+        int                 KeyCount(const string& section);
+        void                Clear();
+        void                SetFileName(const string& fName);
+        string                CommentStr(string& Comment);
+        IniKey*                GetKey(const string& Key, const string& Section);
+        IniSection*            GetSection(const string& Section, bool create = false);
+        IniSection*            GetSection(const unsigned int secNr);
+        bool                 ClearSection(const string& section);
+        bool                 IsModified(){return mIsDirty;}
+};
+
+}
+#endif
diff --git a/source/rrIniKey.cpp b/source/rrIniKey.cpp
new file mode 100644
index 0000000..538b82e
--- /dev/null
+++ b/source/rrIniKey.cpp
@@ -0,0 +1,76 @@
+#pragma hdrstop
+#include "rrIniKey.h"
+
+using namespace std;
+namespace rr
+{
+IniKey::IniKey(const string& key)
+{
+    SetupKey(key);
+}
+
+void IniKey::ReKey(const string& key)
+{
+    SetupKey(key);
+}
+
+ostream&  operator<<(ostream& stream, const IniKey& aKey)
+{
+    stream<<aKey.AsString();
+    return stream;
+}
+
+string IniKey::AsString() const
+{
+    string tmp = mKey;
+    tmp += " = ";
+    tmp += mValue;
+    return tmp;
+}
+
+int IniKey::AsBool() const
+{
+    return toBool(mValue);
+}
+
+int IniKey::AsInt() const
+{
+    return toInt(mValue);
+}
+
+double IniKey::AsFloat() const
+{
+    return toDouble(mValue);
+}
+
+complex<double> IniKey::AsComplex() const
+{
+    vector<string> vals = splitString(mValue,",");
+    if(vals.size() == 2)
+    {
+        return complex<double>(toDouble(vals[0]), toDouble(vals[1]));
+    }
+    return complex<double>(toDouble(mValue), 0 );
+}
+
+void IniKey::SetupKey(const string& key)
+{
+    if(key.size())
+    {
+        vector<string> recs = splitString(key, "=");
+        if(recs.size() > 0)
+        {
+            mKey = recs[0];
+            mValue = recs[1];
+          }
+        mComment = "";
+    }
+    else
+    {
+        mKey = "";
+        mValue = "";
+        mComment = "";
+    }
+}
+
+}
diff --git a/source/rrIniKey.h b/source/rrIniKey.h
new file mode 100644
index 0000000..fe4ad7a
--- /dev/null
+++ b/source/rrIniKey.h
@@ -0,0 +1,43 @@
+#ifndef rrIniKeyH
+#define rrIniKeyH
+#include <vector>
+#include <fstream>
+#include <string>
+#include <complex>
+#include "rrExporter.h"
+#include "rrStringUtils.h"
+#include "rrIniSection.h"
+
+namespace rr
+{
+
+/**
+ * @internal
+ * This class stores the definition of a key. A key is a named identifier
+ * that is associated with a value. It may or may not have a comment.  All comments
+ * must PRECEDE the key on the line in the config file.
+ */
+class RR_DECLSPEC IniKey
+{
+protected:
+    void SetupKey(const std::string& key);
+
+public:
+    std::string                      mKey;
+    std::string                      mValue;
+    std::string                      mComment;
+
+    IniKey(const std::string& key = "");
+    ~IniKey(){}
+    void                       ReKey(const std::string& key);
+    std::string                       AsString() const;
+    int                       AsBool() const;
+    int                       AsInt() const;
+    double                       AsFloat() const;
+    std::complex<double>         AsComplex() const;
+    RR_DECLSPEC
+    friend std::ostream&         operator<<(std::ostream& stream, const IniKey& aKey);
+};
+}
+
+#endif
diff --git a/source/rrIniSection.cpp b/source/rrIniSection.cpp
new file mode 100644
index 0000000..8578e6f
--- /dev/null
+++ b/source/rrIniSection.cpp
@@ -0,0 +1,143 @@
+#pragma hdrstop
+#include "rrUtils.h"
+#include "rrStringUtils.h"
+#include "rrLogger.h"
+#include "rrIniSection.h"
+
+using namespace rr;
+
+namespace rr
+{
+IniSection::IniSection()
+:
+mIsDirty(true),
+mIsUsed(false),
+mName(""),
+mComment("")
+{
+
+}
+
+IniSection::IniSection(const string& nameValueString, const char& sep)
+:
+mIsDirty(true),
+mIsUsed(false),
+mName(""),
+mComment("")
+{
+    vector<string> keys = splitString(nameValueString, sep);
+
+    //Insert each key in the section
+    for(unsigned int i = 0; i < keys.size(); i++)
+    {
+        IniKey *aKey = new IniKey(keys[i]);
+        mKeys.push_back(aKey);
+    }
+}
+
+IniSection::~IniSection()
+{
+    //detete all keys
+    for(unsigned int i = 0; i < mKeys.size(); i++)
+    {
+        IniKey *key = mKeys[i];
+           delete key;
+    }
+    mKeys.clear();
+}
+
+//IniKey function
+IniKey*    IniSection::GetKey(const string& keyName, bool create)
+{
+    //Go trough the key list and return key with key name
+       KeyItor k_pos;
+    for (k_pos = mKeys.begin(); k_pos != mKeys.end(); k_pos++)
+    {
+        if ( compareNoCase( (*k_pos)->mKey, keyName ) == 0 )
+            return *k_pos;
+    }
+
+    if(create)
+    {
+        CreateKey(keyName);
+        return GetKey(keyName, false);
+    }
+
+    return NULL;
+}
+
+//IniKey function
+IniKey*    IniSection::GetKey(const int& keyNr)
+{
+    //Go trough the key list and return key with key name
+
+    if(keyNr < mKeys.size())
+    {
+        return mKeys[keyNr];
+    }
+
+    return NULL;
+}
+
+string IniSection::GetNonKeysAsString()
+{
+    string tmp = "";
+       NonKeyItor listPos;
+
+    if(!mNonKeys.size())
+    {
+        return tmp;
+    }
+
+    for(listPos = mNonKeys.begin(); listPos != mNonKeys.end(); listPos++)
+    {
+        if ((*listPos).size())
+        {
+            tmp += (*listPos);
+            tmp += "\n";
+        }
+    }
+
+    return tmp;
+}
+
+string IniSection::AsString()
+{
+    string tmp = "";
+       KeyItor listPos;
+    for(listPos = mKeys.begin(); listPos != mKeys.end(); listPos++)
+    {
+        if ((*listPos)->AsString().size())
+        {
+            tmp += (*listPos)->AsString();
+            tmp += "\n";
+        }
+    }
+
+    return tmp;
+}
+
+IniKey* IniSection::CreateKey(const string& mKey, const string& mValue, const string& mComment)
+{
+    IniKey*         pKey = GetKey(mKey);
+
+    //Check if the key exists
+    if(pKey)
+    {
+        pKey->mValue = mValue;
+        pKey->mComment = mComment;
+        return pKey;
+    }
+
+    //Create the key
+    pKey = new IniKey;
+
+    pKey->mKey = mKey;
+    pKey->mValue = mValue;
+    pKey->mComment = mComment;
+    mIsDirty = true;
+    mKeys.push_back(pKey);
+    return pKey;
+}
+
+}//namespace
diff --git a/source/rrIniSection.h b/source/rrIniSection.h
new file mode 100644
index 0000000..5505ece
--- /dev/null
+++ b/source/rrIniSection.h
@@ -0,0 +1,48 @@
+#ifndef rrIniSectionH
+#define rrIniSectionH
+#include <vector>
+#include <string>
+#include "rrExporter.h"
+#include "rrIniKey.h"
+
+namespace rr
+{
+
+class IniKey;
+typedef std::vector<IniKey*>             KeyList;
+typedef KeyList::iterator                 KeyItor;
+typedef std::vector<string>             NonKeyList;
+typedef NonKeyList::iterator             NonKeyItor;
+
+
+/**
+ * @internal
+ * This class stores the definition of a section. A section contains any number
+ * of keys (see IniKeys), and may or may not have a comment.
+ */
+class RR_DECLSPEC IniSection
+{
+    private:
+        bool            mIsDirty;
+
+    public:
+        bool              mIsUsed;
+        string            mName;
+        string            mComment;
+        KeyList           mKeys;            //vector of pointers to keys
+        NonKeyList        mNonKeys;         //vector of pointers to non_keys
+
+                        IniSection();
+                        IniSection(const std::string& nameValueString, const char& sep);
+                       ~IniSection();
+        IniKey*          CreateKey(const string& _keyName, const string& Value = "", const string& Comment = "");
+        IniKey*            GetKey(const int& i);
+        IniKey*            GetKey(const string& keyName, bool create = false);
+        size_t             KeyCount(){return mKeys.size();}
+        size_t             NonKeyCount(){return mNonKeys.size();}
+        void            Clear(){mKeys.clear(); mNonKeys.clear();}
+           string            GetNonKeysAsString();
+        string            AsString();
+};
+}
+#endif
diff --git a/source/rrLibMain.cpp b/source/rrLibMain.cpp
new file mode 100644
index 0000000..2b22d33
--- /dev/null
+++ b/source/rrLibMain.cpp
@@ -0,0 +1,27 @@
+//   Important note about DLL memory management when your DLL uses the
+//   static version of the RunTime Library:
+//
+//   If your DLL exports any functions that pass String objects (or structs/
+//   classes containing nested Strings) as parameter or function results,
+//   you will need to add the library MEMMGR.LIB to both the DLL project and
+//   any other projects that use the DLL.  You will also need to use MEMMGR.LIB
+//   if any other projects which use the DLL will be performing new or delete
+//   operations on any non-TObject-derived classes which are exported from the
+//   DLL. Adding MEMMGR.LIB to your project will change the DLL and its calling
+//   EXE's to use the BORLNDMM.DLL as their memory manager.  In these cases,
+//   the file BORLNDMM.DLL should be deployed along with your DLL.
+//
+//   To avoid using BORLNDMM.DLL, pass string information using "char *" or
+//   ShortString parameters.
+//
+//   If your DLL uses the dynamic version of the RTL, you do not need to
+//   explicitly add MEMMGR.LIB as this will be done implicitly for you
+
+#pragma hdrstop
+#pragma argsused
+
+extern "C" int _libmain(unsigned long reason)
+{
+	return 1;
+}
+
diff --git a/source/rrLogger.cpp b/source/rrLogger.cpp
new file mode 100644
index 0000000..c016d26
--- /dev/null
+++ b/source/rrLogger.cpp
@@ -0,0 +1,609 @@
+#pragma hdrstop
+#include "rrLogger.h"
+#include "rrOSSpecifics.h"
+#include "rrConfig.h"
+#include "rrUtils.h"
+
+#include <Poco/Logger.h>
+#include <Poco/AsyncChannel.h>
+
+#if defined(WIN32)
+#include <Poco/WindowsConsoleChannel.h>
+#endif
+#include <Poco/ConsoleChannel.h>
+#include <Poco/SimpleFileChannel.h>
+#include <Poco/SplitterChannel.h>
+#include <Poco/FormattingChannel.h>
+#include <Poco/PatternFormatter.h>
+#include <Poco/Formatter.h>
+#include <Poco/AutoPtr.h>
+#include <Poco/LogStream.h>
+#include <Poco/Mutex.h>
+#include <Poco/File.h>
+#include <Poco/Path.h>
+
+#include <iostream>
+#include <map>
+#include <assert.h>
+
+namespace rr
+{
+
+using namespace std;
+using Poco::AsyncChannel;
+using Poco::Channel;
+using Poco::AutoPtr;
+using Poco::Message;
+using Poco::SimpleFileChannel;
+using Poco::SplitterChannel;
+using Poco::Formatter;
+using Poco::FormattingChannel;
+using Poco::PatternFormatter;
+using Poco::Mutex;
+
+// console channel can't write colored output to win32 console correctly. 
+#if defined(WIN32)
+static bool coloredOutput = false;
+#else
+static bool coloredOutput = true;
+#endif
+
+// owned by poco, it takes care of clearing in static dtor.
+static Poco::Logger *pocoLogger = 0;
+volatile int logLevel = -1;
+const Logger::Level defaultLogLevel = Logger::LOG_NOTICE;
+static std::string logFileName;
+
+// pointer to an object created elsewhere. Ideally static.
+static std::ostream* consoleStream = &std::clog;
+
+// ******** The RoadRunner Logging Chain *************//
+// pocoLogger
+//     |-> FormattingChannel
+//             |-> SplitterChannel
+//                     |-> ConsoleChannel : consoleChannel
+//                     |-> SimpleFileChannel: simpleFileChannel
+//
+// ****************************************************//
+
+// owned by the poco splitter channel which in turn is owned by the
+// poco logger.
+static SimpleFileChannel *simpleFileChannel = 0;
+static Channel *consoleChannel = 0;
+
+static Mutex loggerMutex;
+
+/**
+ * get the splitter channel that is in our logging chain.
+ */
+static SplitterChannel* getSplitterChannel();
+
+/**
+ * get the pattern formatter that is in our logging chain.
+ */
+static PatternFormatter *getPatternFormatter();
+
+static Channel *createConsoleChannel()
+{
+#if defined(WIN32)
+    if (consoleStream == &std::clog || consoleStream == &std::cout
+            || consoleStream == &std::cerr) {
+        // WIN32 system console mode
+        if (coloredOutput) {
+            // WIN32 color console output
+            Poco::WindowsColorConsoleChannel *c =
+                    new Poco::WindowsColorConsoleChannel();
+
+            c->setProperty("traceColor", "gray");
+            c->setProperty("debugColor", "brown");
+            c->setProperty("informationColor", "green");
+            c->setProperty("noticeColor", "blue");
+            c->setProperty("warningColor", "lightMagenta");
+            c->setProperty("errorColor", "magenta");
+            c->setProperty("criticalColor", "lightRed");
+            c->setProperty("fatalColor", "red");
+
+            return c;
+        } else {
+            // WIN32 non-color console output
+            return new Poco::ConsoleChannel(*consoleStream);
+        }
+    } else {
+        // WIN32 python (or alternate stream) mode.
+        if (coloredOutput) {
+            // WIN32 Python color output
+            Poco::ColorConsoleChannel *c =
+                    new Poco::ColorConsoleChannel(*consoleStream);
+
+            c->setProperty("traceColor", "gray");
+            c->setProperty("debugColor", "brown");
+            c->setProperty("informationColor", "green");
+            c->setProperty("noticeColor", "blue");
+            c->setProperty("warningColor", "lightMagenta");
+            c->setProperty("errorColor", "magenta");
+            c->setProperty("criticalColor", "lightRed");
+            c->setProperty("fatalColor", "red");
+
+            return c;
+
+        } else {
+            // WIN32 Python non-color output
+            return new Poco::ConsoleChannel(*consoleStream);
+        }
+    }
+
+#else
+    if (coloredOutput) {
+        Poco::ColorConsoleChannel *c =
+                new Poco::ColorConsoleChannel(*consoleStream);
+
+
+        c->setProperty("traceColor", "gray");
+        c->setProperty("debugColor", "brown");
+        c->setProperty("informationColor", "green");
+        c->setProperty("noticeColor", "blue");
+        c->setProperty("warningColor", "yellow");
+        c->setProperty("errorColor", "magenta");
+        c->setProperty("criticalColor", "lightRed");
+        c->setProperty("fatalColor", "red");
+
+        return c;
+    } else {
+        return new Poco::ConsoleChannel(*consoleStream);
+    }
+#endif
+}
+
+Poco::Logger& getLogger()
+{
+    Mutex::ScopedLock lock(loggerMutex);
+
+    if (pocoLogger == 0)
+    {
+        pocoLogger = &Poco::Logger::get("RoadRunner");
+
+        // first time this is called, channels better be null
+        assert(consoleChannel == 0 && "consoleChannel is not null at init time");
+        assert(simpleFileChannel == 0 && "simpleFileChannel is not null at init time");
+
+        // split the messages into console and file
+        AutoPtr<SplitterChannel> splitter(new SplitterChannel());
+
+        // default is console channel,
+        // one of two possible terminal channels
+        consoleChannel = createConsoleChannel();
+
+        // let the logger manage ownership of the channels, we keep then around
+        // so we can know when to add or remove them.
+        splitter->addChannel(consoleChannel);
+        consoleChannel->release();
+
+        AutoPtr<PatternFormatter> pf(new PatternFormatter());
+        pf->setProperty("pattern", "%p: %t");
+
+        AutoPtr<FormattingChannel> fc(new FormattingChannel(pf, splitter));
+
+        // first in chain of channels
+        pocoLogger->setChannel(fc);
+
+        // sanity check here, make sure we're set up right
+        getSplitterChannel();
+        getPatternFormatter();
+
+        pocoLogger->setLevel(defaultLogLevel);
+
+        logLevel = pocoLogger->getLevel();
+    }
+    return *pocoLogger;
+}
+
+
+void Logger::setLevel(int level)
+{
+    Mutex::ScopedLock lock(loggerMutex);
+
+    // make sure we have a logger, other funcs rely on this behavior.
+    getLogger();
+
+    if (level >= LOG_FATAL && level <= LOG_TRACE)
+    {
+        getLogger().setLevel(level);
+        logLevel = level;
+    }
+}
+
+int Logger::getLevel()
+{
+    if (logLevel < 0)
+    {
+        getLogger();
+    }
+    return logLevel;
+}
+
+
+void Logger::disableLogging()
+{
+    Mutex::ScopedLock lock(loggerMutex);
+
+    getLogger();
+
+    SplitterChannel *splitter = getSplitterChannel();
+
+    splitter->close();
+
+    consoleChannel = 0;
+    simpleFileChannel = 0;
+    logFileName = "";
+}
+
+void Logger::enableConsoleLogging(int level)
+{
+    Mutex::ScopedLock lock(loggerMutex);
+
+    Logger::setLevel(level);
+
+    if (!consoleChannel)
+    {
+        SplitterChannel *splitter = getSplitterChannel();
+
+        // default is console channel
+        consoleChannel = createConsoleChannel();
+
+        // let the logger manage ownership of the channels, we keep then around
+        // so we can know when to add or remove them.
+        splitter->addChannel(consoleChannel);
+
+        consoleChannel->release();
+    }
+}
+
+void Logger::disableFileLogging()
+{
+    Mutex::ScopedLock lock(loggerMutex);
+
+    if (simpleFileChannel)
+    {
+        SplitterChannel *splitter = getSplitterChannel();
+
+        splitter->removeChannel(simpleFileChannel);
+        simpleFileChannel = 0;
+        logFileName = "";
+    }
+}
+
+void Logger::enableFileLogging(const std::string& fileName, int level)
+{
+    Mutex::ScopedLock lock(loggerMutex);
+
+    Logger::setLevel(level);
+
+    // close the current file log and re-create it.
+    disableFileLogging();
+
+    if (!simpleFileChannel)
+    {
+        std::string realName;
+
+        // figure out what file name to use
+        if (fileName.length() == 0) {
+            // none given, use one from config.
+            realName = Config::getString(Config::LOGGER_LOG_FILE_PATH);
+        } else {
+            realName = fileName;
+        }
+
+        if (realName.length() == 0) {
+            // default log name.
+            realName = joinPath(getTempDir(), "roadrunner.log");
+        } else {
+            // expand any env vars and make absolute path.
+            realName = Poco::Path::expand(realName);
+            Poco::Path path(realName);
+            realName = path.makeAbsolute().toString();
+        }
+
+        // check if the path is writable
+        Poco::Path p(realName);
+        Poco::File fdir = p.parent();
+        if(!fdir.exists())
+        {
+            realName = joinPath(getTempDir(), "roadrunner.log");
+            Log(Logger::LOG_ERROR) << "The specified log file directory path, "
+                    << fdir.path() << " does not exist, using default log file path: "
+                    << realName;
+        }
+
+        SplitterChannel *splitter = getSplitterChannel();
+
+        simpleFileChannel = new SimpleFileChannel();
+        simpleFileChannel->setProperty("path", realName);
+        simpleFileChannel->setProperty("rotation", "never");
+
+        logFileName = simpleFileChannel->getProperty("path");
+
+        splitter->addChannel(simpleFileChannel);
+        simpleFileChannel->release();
+    }
+}
+
+
+void Logger::setFormattingPattern(const std::string &pattern)
+{
+    Mutex::ScopedLock lock(loggerMutex);
+
+    PatternFormatter *p = getPatternFormatter();
+    if (p)
+    {
+        p->setProperty(PatternFormatter::PROP_PATTERN, pattern);
+    }
+}
+
+std::string Logger::getFormattingPattern()
+{
+    Mutex::ScopedLock lock(loggerMutex);
+
+    PatternFormatter *p = getPatternFormatter();
+    return p ? p->getProperty(PatternFormatter::PROP_PATTERN) : string();
+}
+
+static SplitterChannel* getSplitterChannel()
+{
+    getLogger();
+    FormattingChannel *fc = dynamic_cast<FormattingChannel*>(pocoLogger->getChannel());
+    assert(fc && "the first channel in the roadrunner logger should be a formatting channel");
+    SplitterChannel *sc = dynamic_cast<SplitterChannel*>(fc->getChannel());
+    assert(sc && "could not get SplitterChannel from FormattingChannel");
+    return sc;
+}
+
+static PatternFormatter *getPatternFormatter()
+{
+    getLogger();
+    FormattingChannel *fc = dynamic_cast<FormattingChannel*>(pocoLogger->getChannel());
+    assert(fc && "the first channel in the roadrunner logger should be a formatting channel");
+    PatternFormatter *pf = dynamic_cast<PatternFormatter*>(fc->getFormatter());
+    assert(pf && "formatter attached to pattern formatter is not a PatternFormatter");
+    return pf;
+}
+
+Logger::Level Logger::stringToLevel(const std::string& str)
+{
+    std::string upstr = str;
+    std::transform(upstr.begin(), upstr.end(), upstr.begin(), ::toupper);
+
+    if (upstr == "LOG_FATAL")
+    {
+        return LOG_FATAL;
+    }
+    else if(upstr == "LOG_CRITICAL")
+    {
+        return LOG_CRITICAL;
+    }
+    else if(upstr == "LOG_ERROR" || upstr == "ERROR")
+    {
+        return LOG_ERROR;
+    }
+    else if(upstr == "LOG_WARNING" || upstr == "WARNING")
+    {
+        return LOG_WARNING;
+    }
+    else if(upstr == "LOG_NOTICE")
+    {
+        return LOG_NOTICE;
+    }
+    else if(upstr == "LOG_INFORMATION" || upstr == "INFO")
+    {
+        return LOG_INFORMATION;
+    }
+    else if(upstr == "LOG_DEBUG" || upstr == "DEBUG")
+    {
+        return LOG_DEBUG;
+    }
+    else if(upstr == "LOG_TRACE" || upstr == "TRACE")
+    {
+        return LOG_TRACE;
+    }
+    else
+    {
+        return LOG_CURRENT;
+    }
+}
+
+std::string Logger::levelToString(int level)
+{
+    switch (level)
+    {
+    case Message::PRIO_FATAL:
+        return "LOG_FATAL";
+        break;
+    case Message::PRIO_CRITICAL:
+        return "LOG_CRITICAL";
+        break;
+    case Message::PRIO_ERROR:
+        return "LOG_ERROR";
+        break;
+    case Message::PRIO_WARNING:
+        return "LOG_WARNING";
+        break;
+    case Message::PRIO_NOTICE:
+        return "LOG_NOTICE";
+        break;
+    case Message::PRIO_INFORMATION:
+        return "LOG_INFORMATION";
+        break;
+    case Message::PRIO_DEBUG:
+        return "LOG_DEBUG";
+        break;
+    case Message::PRIO_TRACE:
+        return "LOG_TRACE";
+        break;
+    default:
+        return "LOG_CURRENT";
+    }
+    return "LOG_CURRENT";
+}
+
+void Logger::setProperty(const std::string& name, const std::string& value)
+{
+    Mutex::ScopedLock lock(loggerMutex);
+
+#if defined(WIN32)
+    Poco::WindowsColorConsoleChannel *colorChannel =
+            dynamic_cast<Poco::WindowsColorConsoleChannel*>(consoleChannel);
+
+    if(colorChannel) {
+        colorChannel->setProperty(name, value);
+    }
+#else
+    Poco::ColorConsoleChannel *colorChannel =
+            dynamic_cast<Poco::ColorConsoleChannel*>(consoleChannel);
+
+    if(colorChannel) {
+        colorChannel->setProperty(name, value);
+    }
+#endif
+}
+
+std::string Logger::getCurrentLevelAsString()
+{
+    return Logger::levelToString(logLevel);
+}
+
+void Logger::disableConsoleLogging()
+{
+    Mutex::ScopedLock lock(loggerMutex);
+
+    if (consoleChannel)
+    {
+        SplitterChannel *splitter = getSplitterChannel();
+        assert(splitter && "could not get splitter channel from logger");
+
+        splitter->removeChannel(consoleChannel);
+        consoleChannel = 0;
+    }
+}
+
+bool Logger::getColoredOutput()
+{
+    return coloredOutput;
+}
+
+void Logger::setColoredOutput(bool bool1)
+{
+}
+
+
+std::string Logger::getFileName()
+{
+    return logFileName;
+}
+
+void LoggingBufferCtor()
+{
+    cout << __FUNC__ << endl;
+}
+
+void Logger::log(Level level, const std::string& msg)
+{
+    Poco::Logger &logger = getLogger();
+    switch (level)
+    {
+    case Message::PRIO_FATAL:
+        logger.fatal(msg);
+        break;
+    case Message::PRIO_CRITICAL:
+        logger.critical(msg);
+        break;
+    case Message::PRIO_ERROR:
+        logger.error(msg);
+        break;
+    case Message::PRIO_WARNING:
+        logger.warning(msg);
+        break;
+    case Message::PRIO_NOTICE:
+        logger.notice(msg);
+        break;
+    case Message::PRIO_INFORMATION:
+        logger.information(msg);
+        break;
+    case Message::PRIO_DEBUG:
+        logger.debug(msg);
+        break;
+    case Message::PRIO_TRACE:
+        logger.trace(msg);
+        break;
+    default:
+        logger.error(msg);
+        break;
+    }
+}
+
+LoggingBuffer::LoggingBuffer(int level, const char* file, int line) :
+        file(file), line(line)
+{
+    if (level >= Message::PRIO_FATAL && level <= Message::PRIO_TRACE)
+    {
+        this->level = level;
+    }
+    else
+    {
+        // wrong level, so just set to error?
+        this->level = Message::PRIO_ERROR;
+    }
+}
+
+LoggingBuffer::~LoggingBuffer()
+{
+    Poco::Logger &logger = getLogger();
+    switch (level)
+    {
+    case Message::PRIO_FATAL:
+        logger.fatal(buffer.str(), file, line);
+        break;
+    case Message::PRIO_CRITICAL:
+        logger.critical(buffer.str(), file, line);
+        break;
+    case Message::PRIO_ERROR:
+        logger.error(buffer.str(), file, line);
+        break;
+    case Message::PRIO_WARNING:
+        logger.warning(buffer.str(), file, line);
+        break;
+    case Message::PRIO_NOTICE:
+        logger.notice(buffer.str(), file, line);
+        break;
+    case Message::PRIO_INFORMATION:
+        logger.information(buffer.str(), file, line);
+        break;
+    case Message::PRIO_DEBUG:
+        logger.debug(buffer.str(), file, line);
+        break;
+    case Message::PRIO_TRACE:
+        logger.trace(buffer.str(), file, line);
+        break;
+    default:
+        logger.error(buffer.str(), file, line);
+        break;
+    }
+}
+
+std::ostream& LoggingBuffer::stream()
+{
+    return buffer;
+}
+
+void Logger::setConsoleStream(std::ostream* os)
+{
+    Mutex::ScopedLock lock(loggerMutex);
+
+    if (os != consoleStream) {
+        consoleStream = os;
+        disableConsoleLogging();
+        enableConsoleLogging();
+    }
+}
+
+}
+
+
diff --git a/source/rrLogger.h b/source/rrLogger.h
new file mode 100644
index 0000000..ad37e41
--- /dev/null
+++ b/source/rrLogger.h
@@ -0,0 +1,327 @@
+#ifndef rrLoggerH
+#define rrLoggerH
+#include <sstream>
+#include "rrExporter.h"
+
+
+namespace Poco {
+class Logger;
+}
+
+namespace rr
+{
+
+/**
+ * Poco LogStream dumps to the log when a newline i.e. std::endl is encountered,
+ * howeve the old proprietary logging system dumps basically when the stream object
+ * goes out of scope.
+ *
+ * This object allows us to to use the new Poco logging system and maintain
+ * compatability with all existing code.
+ *
+ * This object is returne from the rr::Logger, exposes a ostream interface, and
+ * and dumps to the log when it goes out of scope.
+ */
+class RR_DECLSPEC LoggingBuffer
+{
+public:
+    LoggingBuffer(int level, const char* file, int line);
+
+    /**
+     * dump the contents of the stringstream to the log.
+     */
+    ~LoggingBuffer();
+
+    /**
+     * get the stream this buffer holds.
+     */
+    std::ostream &stream();
+
+private:
+    std::stringstream buffer;
+    int level;
+    const char* file;
+    int line;
+};
+
+/**
+ * The roadrunner logger.
+ *
+ * A set of static method for setting the logging level.
+ */
+class RR_DECLSPEC Logger
+{
+public:
+    /**
+     * same as Poco level, repeat here to avoid including any Poco files
+     * as Poco is usually linked statically so third parties would not need
+     * to have Poco installed.
+     */
+    enum Level
+    {
+        LOG_CURRENT = 0, /// Use the current level -- don't change the level from what it is.
+        LOG_FATAL = 1,   /// A fatal error. The application will most likely terminate. This is the highest priority.
+        LOG_CRITICAL,    /// A critical error. The application might not be able to continue running successfully.
+        LOG_ERROR,       /// An error. An operation did not complete successfully, but the application as a whole is not affected.
+        LOG_WARNING,     /// A warning. An operation completed with an unexpected result.
+        LOG_NOTICE,      /// A notice, which is an information with just a higher priority.
+        LOG_INFORMATION, /// An informational message, usually denoting the successful completion of an operation.
+        LOG_DEBUG,       /// A debugging message.
+        LOG_TRACE        /// A tracing message. This is the lowest priority.
+    };
+
+    /**
+     * sets the logging level to one a value from Logger::Level
+     */
+    static void setLevel(int level = LOG_CURRENT);
+
+    /**
+     * get the current logging level.
+     */
+    static int getLevel();
+
+    /**
+     * Suppresses all logging output
+     */
+    static void disableLogging();
+
+    /**
+     * stops logging to the console, but file logging may continue.
+     */
+    static void disableConsoleLogging();
+
+    /**
+     * turns on console logging at the given level.
+     */
+    static void enableConsoleLogging(int level = LOG_CURRENT);
+
+    /**
+     * turns on file logging to the given file as the given level.
+     *
+     * If fileName is an empty string, then this will use the file
+     * specified in the Config::LOGGER_LOG_FILE_PATH. If this is empty,
+     * a file called "roadrunner.log" will be created in the
+     * temp directory.
+     *
+     * The temp directory may be specified via Config::TEMP_DIR_PATH.
+     * If this is empty, then the system spefified temp dir is
+     * used.
+     */
+    static void enableFileLogging(const std::string& fileName = "",
+            int level = LOG_CURRENT);
+
+    /**
+     * turns off file logging, but has no effect on console logging.
+     */
+    static void disableFileLogging();
+
+    /**
+     * get the textural form of the current logging level.
+     */
+    static std::string getCurrentLevelAsString();
+
+    /**
+     * get the name of the currently used log file.
+     */
+    static std::string getFileName();
+
+    /**
+     * Internally, RoadRunner uses the Poco logging framework, so we
+     * can custom format logging output based on a formatting pattern
+     * string.
+     *
+     * The format pattern is used as a template to format the message and
+     * is copied character by character except for the following special characters,
+     * which are replaced by the corresponding value.
+     *
+     * An example pattern of "%Y-%m-%d %H:%M:%S %p: %t"
+     *
+     * would produce the following output:
+     *
+     * 2013-10-25 14:12:45 Fatal: console and file: A fatal error
+     * 2013-10-25 14:12:45 Critical: console and file: A critical error
+     * 2013-10-25 14:12:45 Error: console and file: An error
+     * 2013-10-25 14:12:45 Warning: console and file: A warning.
+     * 2013-10-25 14:12:45 Notice: console and file: A notice.
+     *
+     * The following formatting pattern descriptions is copied from the
+     * Poco documentation:
+     *
+     *   * %s - message source
+     *   * %t - message text
+     *   * %l - message priority level (1 .. 7)
+     *   * %p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace)
+     *   * %q - abbreviated message priority (F, C, E, W, N, I, D, T)
+     *   * %P - message process identifier
+     *   * %T - message thread name
+     *   * %I - message thread identifier (numeric)
+     *   * %N - node or host name
+     *   * %U - message source file path (empty string if not set)
+     *   * %u - message source line number (0 if not set)
+     *   * %w - message date/time abbreviated weekday (Mon, Tue, ...)
+     *   * %W - message date/time full weekday (Monday, Tuesday, ...)
+     *   * %b - message date/time abbreviated month (Jan, Feb, ...)
+     *   * %B - message date/time full month (January, February, ...)
+     *   * %d - message date/time zero-padded day of month (01 .. 31)
+     *   * %e - message date/time day of month (1 .. 31)
+     *   * %f - message date/time space-padded day of month ( 1 .. 31)
+     *   * %m - message date/time zero-padded month (01 .. 12)
+     *   * %n - message date/time month (1 .. 12)
+     *   * %o - message date/time space-padded month ( 1 .. 12)
+     *   * %y - message date/time year without century (70)
+     *   * %Y - message date/time year with century (1970)
+     *   * %H - message date/time hour (00 .. 23)
+     *   * %h - message date/time hour (00 .. 12)
+     *   * %a - message date/time am/pm
+     *   * %A - message date/time AM/PM
+     *   * %M - message date/time minute (00 .. 59)
+     *   * %S - message date/time second (00 .. 59)
+     *   * %i - message date/time millisecond (000 .. 999)
+     *   * %c - message date/time centisecond (0 .. 9)
+     *   * %F - message date/time fractional seconds/microseconds (000000 - 999999)
+     *   * %z - time zone differential in ISO 8601 format (Z or +NN.NN)
+     *   * %Z - time zone differential in RFC format (GMT or +NNNN)
+     *   * %E - epoch time (UTC, seconds since midnight, January 1, 1970)
+     *   * %[name] - the value of the message parameter with the given name
+     *   * %% - percent sign
+     */
+    static void setFormattingPattern(const std::string &format);
+
+    /**
+     * get the currently set formatting pattern.
+     */
+    static std::string getFormattingPattern();
+
+    /**
+     * gets the textual form of a logging level Enum for a given value.
+     */
+    static std::string levelToString(int level);
+
+    /**
+     * parses a string and returns a Logger::Level
+     */
+    static Level stringToLevel(const std::string& str);
+
+    /**
+     * check if we have colored logging enabled.
+     */
+    static bool getColoredOutput();
+
+    /**
+     * enable / disable colored output
+     */
+    static void setColoredOutput(bool);
+
+
+    /**
+     * Set the color of the output logging messages.
+     *
+     * In the future, we may add additional properties her.
+     *
+     * The following properties are supported:
+     * enableColors:      Enable or disable colors.
+     * traceColor:        Specify color for trace messages.
+     * debugColor:        Specify color for debug messages.
+     * informationColor:  Specify color for information messages.
+     * noticeColor:       Specify color for notice messages.
+     * warningColor:      Specify color for warning messages.
+     * errorColor:        Specify color for error messages.
+     * criticalColor:     Specify color for critical messages.
+     * fatalColor:        Specify color for fatal messages.
+     *
+     *
+     * The following color values are supported:
+     *
+     * default
+     * black
+     * red
+     * green
+     * brown
+     * blue
+     * magenta
+     * cyan
+     * gray
+     * darkgray
+     * lightRed
+     * lightGreen
+     * yellow
+     * lightBlue
+     * lightMagenta
+     * lightCyan
+     * white
+     */
+    static void setProperty(const std::string& name, const std::string& value);
+
+
+    /**
+     * logs a message to the log.
+     *
+     * This is most useful from Python as C++ code will typically call the
+     * LoggingBuffer via the Log macro.
+     */
+    static void log(Level level, const std::string& msg);
+
+#ifndef SWIG // don't expose this to SWIG
+
+    /**
+     * Set a pointer to an ostream object where the console logger should
+     * log to.
+     *
+     * Normally, this points to std::clog.
+     *
+     * This is here so that the Logger can properly re-direct to the
+     * Python sys.stderr object as the QT IPython console only
+     * reads output from the python sys.stdout and sys.stderr
+     * file objects and not the C++ file streams.
+     */
+    static void setConsoleStream(std::ostream *os);
+#endif
+};
+
+/**
+ * old logging levels, here for compatibility
+ */
+enum LogLevel
+{
+    lAny        = Logger::LOG_ERROR,
+    lError      = Logger::LOG_ERROR,
+    lWarning    = Logger::LOG_WARNING,
+    lInfo       = Logger::LOG_INFORMATION,
+    lDebug      = Logger::LOG_DEBUG,
+    lDebug1     = Logger::LOG_TRACE,
+    lDebug2     = Logger::LOG_TRACE,
+    lDebug3     = Logger::LOG_TRACE,
+    lDebug4     = Logger::LOG_TRACE,
+    lDebug5     = Logger::LOG_TRACE,
+    lUser       = Logger::LOG_TRACE
+};
+
+/**
+ * the real logger is actually a Poco::Logger named "RoadRunner", i.e.
+ * Poco::Logger::get("RoadRunner").
+ *
+ * This returns that logger.
+ */
+RR_DECLSPEC Poco::Logger &getLogger();
+
+/**
+ * legacy macro to get the old proprietary logger interface.
+ */
+#define gLog Logger()
+
+#ifndef NO_LOGGER
+#define Log(level) \
+    if (level > rr::Logger::getLevel()) { ; } \
+    else rr::LoggingBuffer(level, __FILE__, __LINE__).stream()
+#else
+#define Log(level) \
+    if (true) {  }\
+    else \
+    LoggingBuffer(level, __FILE__, __LINE__)
+#endif
+
+
+} /* namespace rr */
+
+
+#endif /* rrLoggerH */
diff --git a/source/rrNLEQInterface.cpp b/source/rrNLEQInterface.cpp
new file mode 100644
index 0000000..3dc608c
--- /dev/null
+++ b/source/rrNLEQInterface.cpp
@@ -0,0 +1,452 @@
+#pragma hdrstop
+#include "rrNLEQInterface.h"
+#include "rrExecutableModel.h"
+#include "rrStringUtils.h"
+#include "rrUtils.h"
+#include "nleq/nleq1.h"
+#include "rrLogger.h"
+#include "rrUtils.h"
+#include "rrException.h"
+#include "rrConfig.h"
+
+#include <Poco/Mutex.h>
+#include <assert.h>
+#include <math.h>
+
+namespace rr
+{
+
+// NLEQ is an ancient Fortran77 routine that assumes that there is only
+// one program which has a hard coded function in it.
+// So, there is no concept of a user suplied data block, have to store
+// the model in this static location -- only a single thread at a time
+// may use the nleq steady state.
+static ExecutableModel* callbackModel = NULL;
+
+// mutex to ensure only one thead
+using Poco::Mutex;
+static Mutex mutex;
+
+// the NLEQ callback, we use same data types as f2c here.
+static void ModelFunction(int* nx, double* y, double* fval, int* pErr);
+
+static string ErrorForStatus(int error);
+
+static bool isError(int e)
+{
+    return e != 4 && e != 5;
+}
+
+static bool isWarning(int e)
+{
+    //case 4:     return ("Warning: Superlinear or quadratic convergence slowed down near the solution");
+    //case 5:     return ("Warning: Error Tolerance reached but solution is suspect");
+
+    return e == 4 || e == 5;
+}
+
+NLEQInterface::NLEQInterface(ExecutableModel *_model) :
+    IWK(0),
+    LIWK(0),
+    LWRK(0),
+    RWK(0),
+    XScal(0),
+    ierr(0),
+    iopt(0),
+    model(0),
+    nOpts(50),
+    maxIterations(Config::getInt(Config::STEADYSTATE_MAXIMUM_NUM_STEPS)),
+    relativeTolerance(Config::getDouble(Config::STEADYSTATE_RELATIVE)),
+    minDamping(Config::getDouble(Config::STEADYSTATE_MINIMUM_DAMPING))
+{
+    model = _model;
+
+    if(model)
+    {
+        setup();
+    }
+}
+
+NLEQInterface::~NLEQInterface()
+{
+    delete[] IWK;
+    delete[] RWK;
+    delete[] XScal;
+    delete[] iopt;
+}
+
+void NLEQInterface::setup()
+{
+    // size of state vector
+    n = model->getStateVector(0);
+    Log(Logger::LOG_DEBUG) << "NLEQInterface: size of state vector = " << n;
+
+    // Allocate space, see NLEQ docs for details
+    LWRK = (n + 2 + 15)*n + 61;
+    LIWK = n + 52;
+
+    XScal = new double[n];
+    // Set up default scaling factors
+    for (int i = 0; i < n; i++)
+    {
+        XScal[i] = 1.0;
+    }
+
+    iopt = new long[nOpts];
+    for (int i = 0; i < nOpts; i++)
+    {
+        iopt[i] = 0;
+    }
+
+    // Set for Highly nonlinear problem
+    iopt[31 - 1] = 4;
+
+    // Initialise all array elements to 0.0
+    IWK = new long[LIWK];
+    for (int i = 0; i < LIWK; i++)
+    {
+        IWK[i] = 0;
+    }
+    IWK[31 - 1] = maxIterations; // Max iterations
+
+
+    RWK = new double[LWRK];
+    for (int i = 0; i < LWRK; i++)
+    {
+        RWK[i] = 0.0;
+    }
+
+    RWK[22 - 1] = minDamping; // Minimal allowed damping factor
+}
+
+bool NLEQInterface::isAvailable()
+{
+    NLEQInterface *temp= new NLEQInterface(NULL);
+    if(temp)
+    {
+        bool val = temp->getNumberOfModelEvaluations() ? true : false;
+        delete temp;
+        return val;
+    }
+
+    return false;
+}
+
+double NLEQInterface::solve()
+{
+    // lock so only one thread can be here.
+    Mutex::ScopedLock lock(mutex);
+
+    Log(Logger::LOG_DEBUG) << "NLEQInterface::solve";
+
+    // Set up a dummy Jacobian, actual Jacobian is computed
+    // by NLEQ using finite differences
+    //    double* Jacobian = new double[1];
+
+    ierr = 0;
+    IWK[31 - 1] = maxIterations; // Max iterations
+
+    // Set up default scaling factors
+    for (int i = 0; i < n; i++)
+    {
+        XScal[i] = 1.0;
+    }
+
+    for (int i = 0; i < nOpts; i++)
+    {
+        iopt[i] = 0;
+    }
+
+    iopt[31 - 1] = 3; // Set for Highly nonlinear problem
+
+    // Initialise all array elements to 0.0
+    for (int i = 0; i < LIWK; i++)
+    {
+        IWK[i] = 0;
+    }
+
+    IWK[31 - 1] = maxIterations; // Max iterations
+    for (int i = 0; i < LWRK; i++)
+    {
+        RWK[i] = 0.0;
+    }
+
+    RWK[22 - 1] = 1E-20; // Minimal allowed damping factor
+
+    // For some reason NLEQ modifies the tolerance value, use a local copy instead
+    double tmpTol = relativeTolerance;
+
+    // set up the thread local variables, only this thread
+    // access them.
+    if (callbackModel)
+    {
+        throw Exception("global callbackModel is set, this should never happen!");
+    }
+
+    // should be exception safe, just make sure
+
+    try
+    {
+        callbackModel = model;
+        vector<double> stateVector(n);
+        model->getStateVector(&stateVector[0]);
+
+        NLEQ1(  &n,
+                &ModelFunction,
+                NULL,
+                &stateVector[0],
+                XScal,
+                &tmpTol,
+                iopt,
+                &ierr,
+                &LIWK,
+                IWK,
+                &LWRK,
+                RWK);
+
+        // done, clear it.
+        callbackModel = NULL;
+    }
+    catch(...)
+    {
+        // clear the global model and re-throw the exception.
+        callbackModel = NULL;
+        throw;
+    }
+
+    if (ierr == 2) // retry
+    {
+        for (int i = 0; i < nOpts; i++)
+        {
+            iopt[i] = 0;
+        }
+
+        iopt[31 - 1] = 3; // Set for Highly nonlinear problem
+        iopt[0] = 1; // Try again but tell NLEQ not to reinitialize
+        tmpTol = relativeTolerance;
+
+    }
+
+    if(ierr > 0 )
+    {
+        if (isWarning(ierr)) {
+            Log(Logger::LOG_WARNING) << ErrorForStatus(ierr);
+        } else {
+            string err = ErrorForStatus(ierr);
+            Log(Logger::LOG_ERROR)<<"Error :"<<err;
+            throw NLEQException(err);
+        }
+    }
+
+    return computeSumsOfSquares();
+}
+
+
+
+/*     FCN(N,X,F,IFAIL) Ext    Function subroutine */
+/*       N              Int    Number of vector components (input) */
+/*       X(N)           Dble   Vector of unknowns (input) */
+/*       F(N)           Dble   Vector of function values (output) */
+/*       IFAIL          Int    FCN evaluation-failure indicator. (output) */
+/*                             On input:  Has always value 0 (zero). */
+/*                             On output: Indicates failure of FCN eval- */
+/*                                uation, if having a value <= 2. */
+/*                             If <0: NLEQ1 will be terminated with */
+/*                                    error code = 82, and IFAIL stored */
+/*                                    to IWK(23). */
+/*                             If =1: A new trial Newton iterate will */
+/*                                    computed, with the damping factor */
+/*                                    reduced to it's half. */
+/*                             If =2: A new trial Newton iterate will */
+/*                                    computed, with the damping factor */
+/*                                    reduced by a reduct. factor, which */
+/*                                    must be output through F(1) by FCN, */
+/*                                    and it's value must be >0 and < 1. */
+/*                             Note, that if IFAIL = 1 or 2, additional */
+/*                             conditions concerning the damping factor, */
+/*                             e.g. the minimum damping factor or the */
+/*                             bounded damping strategy may also influ- */
+/*                             ence the value of the reduced damping */
+/*                             factor. */
+
+void ModelFunction(int* nx, double* y, double* fval, int* pErr)
+{
+    ExecutableModel* model = callbackModel;
+    assert(model && "model is NULL");
+
+    assert(*nx == model->getStateVector(0) && "incorrect state vector size");
+
+    // sets the state vector
+    model->setStateVector(y);
+
+    model->getStateVectorRate(0, y, fval);
+
+    if (rr::Logger::getLevel() >= Logger::LOG_DEBUG)
+    {
+        std::stringstream ss;
+
+        ss << "NLEQ ModelFunction" << std::endl;
+
+        ss << "y: [";
+        for (int i = 0; i < *nx; ++i)
+        {
+            ss << y[i];
+            if (i + 1 < *nx)
+            {
+                ss << ", ";
+            }
+        }
+        ss << "]" << std::endl;
+
+        ss << "dydt: [";
+        for (int i = 0; i < *nx; ++i)
+        {
+            ss << fval[i];
+            if (i + 1 < *nx)
+            {
+                ss << ", ";
+            }
+        }
+        ss << "]" << std::endl;
+
+        Log(Logger::LOG_DEBUG) << ss.str();
+    }
+
+    *pErr = 0;
+}
+
+void NLEQInterface::setScalingFactors(const vector<double>& sx)
+{
+    for (int i = 0; i < n; i++)
+    {
+        XScal[i] = sx[i];
+    }
+}
+
+int NLEQInterface::getNumberOfNewtonIterations()
+{
+    return IWK[0];
+}
+
+int NLEQInterface::getNumberOfCorrectorSteps()
+{
+    return IWK[2];
+}
+
+int NLEQInterface::getNumberOfModelEvaluations()
+{
+    return IWK[3];
+}
+
+int NLEQInterface::getNumberOfJacobianEvaluations()
+{
+    return IWK[4];
+}
+
+int NLEQInterface::getNumberOfModelEvaluationsForJacobian()
+{
+    return IWK[7];
+}
+
+string ErrorForStatus(int error)
+{
+    switch (error)
+    {
+    case 1:     return ("Jacobian matrix singular in NLEQ");
+    case 2:     return ("Maximum iterations exceeded");
+    case 3:     return ("Damping factor has became to small to continue");
+    case 4:     return ("Warning: Superlinear or quadratic convergence slowed down near the solution");
+    case 5:     return ("Warning: Error Tolerance reached but solution is suspect");
+    case 10:    return ("Integer or real workspace too small in NLEQ");
+    case 20:    return ("Bad input to size of model parameter");
+    case 21:    return ("Nonpositive value for RTOL supplied to NLEQ");
+    case 22:    return ("Negative scaling value via vector XSCAL supplied");
+    case 30:    return ("One or more fields specified in IOPT are invalid (NLEQ)");
+    case 80:    return ("Error signalled by linear solver routine N1FACT, in NLEQ");
+    case 81:    return ("Error signalled by linear solver routine N1SOLV, in NLEQ");
+    case 82:    return ("Possible negative concentrations in solution (NLEQ)");
+    case 83:    return ("Error signalled by user routine JAC in NLEQ");
+    default:    return (format("Unknown error in NLEQ, errCode = {0}", error));
+    }
+}
+
+
+
+// steady state solver options
+static const char* keys[] =
+{
+        "maxIterations",
+        "relativeTolerance",
+
+        "maxIterations.description",
+        "relativeTolerance.description",
+
+        "maxIterations.hint",
+        "relativeTolerance.hint"
+};
+
+void NLEQInterface::setItem(const std::string& key, const rr::Variant& value)
+{
+}
+
+Variant NLEQInterface::getItem(const std::string& key) const
+{
+    return 0;
+}
+
+bool NLEQInterface::hasKey(const std::string& key) const
+{
+    return false;
+}
+
+int NLEQInterface::deleteItem(const std::string& key)
+{
+    return 0;
+}
+
+std::vector<std::string> NLEQInterface::getKeys() const
+{
+    return std::vector<std::string>(&keys[0], &keys[sizeof(keys)/sizeof(char*)]);
+}
+
+const Dictionary* NLEQInterface::getSteadyStateOptions()
+{
+    static BasicDictionary dict;
+
+    dict.setItem("steadyState", "NLEQ");
+    dict.setItem("steadyState.hint", "NLEQ hint");
+    dict.setItem("steadyState.description", "NLEQ description");
+
+    dict.setItem("maxIterations", Config::getInt(Config::STEADYSTATE_MAXIMUM_NUM_STEPS));
+    dict.setItem("relativeTolerance", Config::getDouble(Config::STEADYSTATE_RELATIVE));
+    dict.setItem("minDamping", Config::getDouble(Config::STEADYSTATE_MINIMUM_DAMPING));
+
+    dict.setItem("maxIterations.description", "maxIterations.description");
+    dict.setItem("relativeTolerance.description", "relativeTolerance.description");
+    dict.setItem("minDamping.description", "minDamping.description");
+
+    dict.setItem("maxIterations.hint", "maxIterations.hint");
+    dict.setItem("relativeTolerance.hint", "relativeTolerance.hint");
+    dict.setItem("minDamping.hint", "minDamping.hint");
+
+    return &dict;
+}
+
+double NLEQInterface::computeSumsOfSquares()
+{
+    double sum = 0;
+    vector<double> rates(model->getStateVector(0));
+    model->getStateVectorRate(0, 0, &rates[0]);
+
+    for (int i = 0; i < n; i++)
+    {
+        sum = sum + pow(rates[i], 2.0);
+    }
+    return sqrt(sum);
+}
+
+
+
+}    //end of namespace
+
+
diff --git a/source/rrNLEQInterface.h b/source/rrNLEQInterface.h
new file mode 100644
index 0000000..4ba0b58
--- /dev/null
+++ b/source/rrNLEQInterface.h
@@ -0,0 +1,134 @@
+#ifndef rrNLEQInterfaceH
+#define rrNLEQInterfaceH
+#include <vector>
+#include "rrExporter.h"
+#include "rrExecutableModel.h"
+#include "rrSteadyStateSolver.h"
+using std::vector;
+
+namespace rr
+{
+
+/**
+ * @internal
+ */
+class RR_DECLSPEC NLEQInterface : public rrSteadyStateSolver
+{
+
+public:
+    /**
+     * Creates a new Instance of NLEQ for the given Model
+     */
+    NLEQInterface(ExecutableModel *_model = NULL);
+
+    ~NLEQInterface();
+
+    /**
+     * Thea actual solver routine making the call to NLEQ1
+     *
+     * @return sums of squares
+     */
+    double solve();
+
+
+    /**
+     * Implement Dictionary Interface
+     */
+public:
+
+    /**
+     * set an arbitrary key
+     */
+    virtual void setItem(const std::string& key, const rr::Variant& value);
+
+    /**
+     * get a value. Variants are POD.
+     */
+    virtual Variant getItem(const std::string& key) const;
+
+    /**
+     * is there a key matching this name.
+     */
+    virtual bool hasKey(const std::string& key) const;
+
+    /**
+     * remove a value
+     */
+    virtual int deleteItem(const std::string& key);
+
+    /**
+     * list of keys in this object.
+     */
+    virtual std::vector<std::string> getKeys() const;
+
+    /**
+     * list of keys that this integrator supports.
+     */
+    static const Dictionary* getSteadyStateOptions();
+
+
+private:
+    int nOpts;
+    long *IWK;
+    long LIWK;
+    long LWRK;
+    double *RWK;
+    double *XScal;
+    long ierr;
+    long *iopt;
+    ExecutableModel *model; // Model generated from the SBML. Static so we can access it from standalone function
+    long n;
+    void setup();
+
+    bool isAvailable();
+
+    int maxIterations;
+    double relativeTolerance;
+    double minDamping;
+
+
+    /// <summary>
+    /// Sets the Scaling Factors
+    /// </summary>
+    /// <param name="sx">Array of Scaling factors</param>
+    void                            setScalingFactors(const vector<double>& sx);
+
+    /// <summary>
+    /// Returns the Number of Newton Iterations
+    /// </summary>
+    /// <returns>the Number of Newton Iterations</returns>
+    int                             getNumberOfNewtonIterations();
+
+    /// <summary>
+    /// Returns the Number of Corrector steps
+    /// </summary>
+    /// <returns>Returns the Number of Corrector steps</returns>
+    int                             getNumberOfCorrectorSteps();
+
+    /// <summary>
+    /// Returns the Number of Model Evaluations
+    /// </summary>
+    /// <returns>the Number of Model Evaluations</returns>
+    int                             getNumberOfModelEvaluations();
+
+    /// <summary>
+    /// Returns the Number Of Jacobian Evaluations
+    /// </summary>
+    /// <returns>the Number Of Jacobian Evaluations</returns>
+    int                             getNumberOfJacobianEvaluations();
+
+    /// <summary>
+    /// Returns the Number of Model Evaluations For Jacobian
+    /// </summary>
+    /// <returns>the Number of Model Evaluations For Jacobian</returns>
+    int                             getNumberOfModelEvaluationsForJacobian();
+
+
+    double                          computeSumsOfSquares();
+
+    friend class NLEQSolver;
+
+};
+}
+
+#endif
diff --git a/source/rrOSSpecifics.h b/source/rrOSSpecifics.h
new file mode 100644
index 0000000..baf2301
--- /dev/null
+++ b/source/rrOSSpecifics.h
@@ -0,0 +1,67 @@
+#ifndef rrOSSpecificsH
+#define rrOSSpecificsH
+#include "rrExporter.h"
+
+#if defined(_MSC_VER)
+#pragma warning(disable : 4996) // _CRT_SECURE_NO_WARNINGS
+#pragma warning(disable : 4018) // int to unsigned int comparison
+#pragma warning(disable : 4482) // prefixing enums...
+#pragma warning(disable : 4251) // _CRT_SECURE_NO_WARNINGS
+#pragma warning(disable : 4221) // empty cpp file
+
+// supported in visual studio:
+// http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspx
+#define __FUNC__ __FUNCDNAME__
+#define __func__ __FUNCDNAME__
+#endif
+
+#if defined(__BORLANDC__)
+#pragma warn -8012             //comparing unsigned and signed
+#pragma warn -8004             //variable never used
+#endif
+
+//---------------------------------------------------------------------------
+#if defined (__MINGW32__) || defined(__linux) || defined (__APPLE__)
+#define __FUNC__ __PRETTY_FUNCTION__
+#endif
+
+#ifdef _MSC_VER
+
+#ifdef _MSC_VER
+#if _MSC_VER < 1900
+#  define snprintf _snprintf
+#endif
+#endif
+
+//#include <stdarg.h>
+//#define snprintf c99_snprintf
+//RR_DECLSPEC int c99_snprintf(char* str, size_t size, const char* format, ...);
+//RR_DECLSPEC int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap);
+
+#endif // _MSC_VER
+
+
+#if defined (__GNUC__) || defined(__clang__)
+    #define RR_DEPRECATED(func) func __attribute__ ((deprecated))
+#elif defined(_MSC_VER)
+    #define RR_DEPRECATED(func) __declspec(deprecated) func
+#else
+#pragma message("WARNING: You need to implement DEPRECATED for this compiler")
+    #define RR_DEPRECATED(func) func
+#endif
+
+
+#if defined(_MSC_VER)
+    #define rrCallConv __cdecl
+#elif defined(__BORLANDC__)
+    #define rrCallConv __cdecl
+#else
+    #define rrCallConv
+#endif
+
+typedef unsigned int uint;
+typedef unsigned int u_int;
+typedef unsigned char uchar;
+
+
+#endif
diff --git a/source/rrRoadRunner.cpp b/source/rrRoadRunner.cpp
new file mode 100644
index 0000000..00790a1
--- /dev/null
+++ b/source/rrRoadRunner.cpp
@@ -0,0 +1,4078 @@
+#pragma hdrstop
+// on Windows, this needs to go first to get M_PI
+#define _USE_MATH_DEFINES
+
+#include "rrOSSpecifics.h"
+
+// TODO will clean these up in the future
+#undef RR_DEPRECATED
+#define RR_DEPRECATED(func) func
+
+#include "rrRoadRunner.h"
+#include "rrException.h"
+#include "ExecutableModelFactory.h"
+#include "rrCompiler.h"
+#include "rrLogger.h"
+#include "rrUtils.h"
+#include "rrExecutableModel.h"
+#include "rrSBMLModelSimulation.h"
+#include "rr-libstruct/lsLA.h"
+#include "rr-libstruct/lsLibla.h"
+#include "rrConstants.h"
+#include "rrVersionInfo.h"
+#include "Integrator.h"
+#include "IntegratorRegistration.h"
+#include "SteadyStateSolver.h"
+#include "SolverRegistration.h"
+#include "rrSBMLReader.h"
+#include "rrConfig.h"
+#include "SBMLValidator.h"
+
+#include <sbml/conversion/SBMLLocalParameterConverter.h>
+#include <sbml/conversion/SBMLLevelVersionConverter.h>
+
+#include <iostream>
+#include <math.h>
+#include <assert.h>
+#include <rr-libstruct/lsLibStructural.h>
+#include <Poco/File.h>
+#include <Poco/Mutex.h>
+#include <list>
+
+
+#ifdef _MSC_VER
+#define isfinite(x) _finite(x)
+#endif
+
+
+namespace rr
+{
+using namespace std;
+using namespace ls;
+using Poco::Mutex;
+
+static Mutex roadRunnerMutex;
+
+typedef std::vector<std::string> string_vector;
+
+
+// we can write a single function to pick the string lists out
+// of the model instead of duplicating it 6 times with
+// fun ptrs.
+typedef string (ExecutableModel::*GetNameFuncPtr)(int);
+typedef int (ExecutableModel::*GetNumFuncPtr)();
+
+// make this static here, hide our implementation...
+static vector<string> createModelStringList(ExecutableModel *model,
+        GetNumFuncPtr numFunc, GetNameFuncPtr nameFunc)
+{
+    if (!model)
+    {
+        return vector<string>(0);
+    }
+
+    const int num = (model->*numFunc)();
+    vector<string> strings(num);
+
+    for(int i = 0; i < num; i++)
+    {
+        strings[i] = (model->*nameFunc)(i);
+    }
+
+    return strings;
+}
+
+/**
+ * convert the names from the sbml settings file into the
+ * RoadRunner selection syntax.
+ */
+static std::vector<std::string> createSelectionList(const SimulateOptions& o);
+
+/**
+ * Some functions needed for the freq. analysis code
+ * From Frank Bergmann code, ported to C++ by Totte Karlson
+ * Generate log spaced array, algorithm from matlab, note operator precedence
+ * y = (10).^ [d1+(0:n-2)*(d2-d1)/(floor(n)-1), d2];
+ *
+ * d1 = starting value (10^d1)
+ * d2 = ending value (10^d2)
+ * n = number of values in the generated series
+ */
+static vector<double>  logspace(const double& startW, const double& d2, const int& n);
+static double          phase(Complex& val);
+static double          getAdjustment(Complex& z);
+
+/**
+ * variable time step integration data struct
+ */
+typedef std::list<std::vector<double> > DoubleVectorList;
+
+
+/**
+ * check if metabolic control analysis is valid for the model.
+ *
+ * In effect, this checks that the the model is a pure
+ * reaction-kinetics model with no rate rules, no events.
+ *
+ * Throws an invaid arg exception if not valid.
+ */
+static void metabolicControlCheck(ExecutableModel *model);
+
+
+
+//The instance count increases/decreases as instances are created/destroyed.
+static int mInstanceCount = 0;
+
+/**
+ * The type of sbml element that the RoadRunner::setParameterValue
+ * and RoadRunner::getParameterValue method operate on.
+ *
+ * @deprecated use the ExecutableModel methods directly.
+ */
+enum ParameterType
+{
+    ptGlobalParameter = 0,
+    ptLocalParameter,
+    ptBoundaryParameter,
+    ptConservationParameter,
+    ptFloatingSpecies
+};
+
+
+/**
+ * nicer way to look at the impl object.
+ */
+#define get_self() RoadRunnerImpl& self = *(this->impl);
+
+/**
+ * check if a model is loaded.
+ */
+#define check_model() { if (!impl->model) { throw std::logic_error(gEmptyModelMessage); } }
+
+/**
+ * assert that numbers are similar.
+ */
+#define assert_similar(a, b) assert(std::abs(a - b) < 1e-13)
+
+/**
+ * implemention class, hide all details here.
+ */
+class RoadRunnerImpl {
+public:
+
+    int mInstanceID;
+    double mDiffStepSize;
+
+    double mSteadyStateThreshold;
+    ls::DoubleMatrix simulationResult;
+
+    /**
+     * Points to the current integrator. This is a pointer into the
+     * integtators array.
+     */
+    Integrator* integrator;
+	std::vector<Integrator*> integrators;
+
+    /**
+     * Points to the current steady state solver
+     */
+    SteadyStateSolver* steady_state_solver;
+    std::vector<SteadyStateSolver*> steady_state_solvers;
+
+
+	std::vector<SelectionRecord> mSelectionList;
+
+    /**
+     * ModelGenerator obtained from the factory
+     */
+    LoadSBMLOptions loadOpt;
+
+    std::vector<SelectionRecord> mSteadyStateSelection;
+
+    ExecutableModel* model;
+
+    /**
+     * here for compatiblity, will go.
+     */
+    Compiler* compiler;
+
+    std::string mCurrentSBML;
+
+    /**
+     * structural analysis library.
+     */
+    LibStructural* mLS;
+
+    /**
+     * options that are specific to the simulation
+     */
+    SimulateOptions simulateOpt;
+
+    /**
+     * various general options that can be modified by external callers.
+     */
+    RoadRunnerOptions roadRunnerOptions;
+
+    /**
+     * the xml string that is given in setConfigurationXML.
+     *
+     * Needed because the NLEQ is only created in the steadyState method.
+     */
+    std::string configurationXML;
+
+    /**
+     * TODO get rid of this garbage
+     */
+    friend class aFinalizer;
+
+
+    RoadRunnerImpl(const std::string& uriOrSBML,
+            const Dictionary* dict) :
+                mDiffStepSize(0.05),
+                mSteadyStateThreshold(1.E-2),
+                simulationResult(),
+                integrator(0),
+                mSelectionList(),
+                mSteadyStateSelection(),
+                model(0),
+                mCurrentSBML(),
+                mLS(0),
+                simulateOpt(),
+                mInstanceID(0),
+                loadOpt(dict),
+                compiler(Compiler::New())
+    {
+        // have to init integrators the hard way in c++98
+        //memset((void*)integrators, 0, sizeof(integrators)/sizeof(char));
+    }
+
+
+    RoadRunnerImpl(const string& _compiler, const string& _tempDir,
+            const string& _supportCodeDir) :
+                mDiffStepSize(0.05),
+                mSteadyStateThreshold(1.E-2),
+                simulationResult(),
+                integrator(0),
+                mSelectionList(),
+                mSteadyStateSelection(),
+                model(0),
+                mCurrentSBML(),
+                mLS(0),
+                simulateOpt(),
+                mInstanceID(0),
+                compiler(Compiler::New())
+    {
+        loadOpt.setItem("compiler", _compiler);
+        loadOpt.setItem("tempDir", _tempDir);
+        loadOpt.setItem("supportCodeDir", _supportCodeDir);
+
+        // have to init integrators the hard way in c++98
+        //memset((void*)integrators, 0, sizeof(integrators)/sizeof(char));
+    }
+
+    ~RoadRunnerImpl()
+    {
+        Log(Logger::LOG_DEBUG) << __FUNC__ << ", global instance count: " << mInstanceCount;
+
+        delete compiler;
+        delete model;
+        delete mLS;
+
+		deleteAllSolvers();
+
+        mInstanceCount--;
+    }
+
+    void deleteAllSolvers()
+    {
+        for (std::vector<Integrator*>::iterator it = integrators.begin(); it != integrators.end(); ++it)
+        {
+            delete *it;
+            *it = NULL;
+        }
+        integrators.clear();
+        for (std::vector<SteadyStateSolver*>::iterator it = steady_state_solvers.begin(); it != steady_state_solvers.end(); ++it)
+        {
+            delete *it;
+            *it = NULL;
+        }
+        steady_state_solvers.clear();
+	}
+
+    void syncAllSolversWithModel(ExecutableModel* m)
+    {
+        for (std::vector<Integrator*>::iterator it = integrators.begin(); it != integrators.end(); ++it)
+        {
+            (*it)->syncWithModel(m);
+        }
+        for (std::vector<SteadyStateSolver*>::iterator it = steady_state_solvers.begin(); it != steady_state_solvers.end(); ++it)
+        {
+            (*it)->syncWithModel(m);
+        }
+    }
+
+    void setParameterValue(const ParameterType parameterType,
+            const int parameterIndex, const double value)
+    {
+        switch (parameterType)
+        {
+            case ptBoundaryParameter:
+                model->setBoundarySpeciesConcentrations(1, &parameterIndex, &value);
+            break;
+
+            case ptGlobalParameter:
+                model->setGlobalParameterValues(1, &parameterIndex, &value);
+            break;
+
+            case ptFloatingSpecies:
+                model->setFloatingSpeciesConcentrations(1, &parameterIndex, &value);
+            break;
+
+            case ptConservationParameter:
+                model->setConservedMoietyValues(1, &parameterIndex, &value);
+            break;
+
+            case ptLocalParameter:
+                throw Exception("Local parameters not permitted in setParameterValue (getCC, getEE)");
+        }
+    }
+
+    double getParameterValue(const ParameterType parameterType,
+            const int parameterIndex)
+    {
+        switch (parameterType)
+        {
+        case ptBoundaryParameter:
+        {
+            double result = 0;
+            model->getBoundarySpeciesConcentrations(1, &parameterIndex, &result);
+            return result;
+        }
+        break;
+        case ptGlobalParameter:
+        {
+            double result = 0;
+            model->getGlobalParameterValues(1, &parameterIndex, &result);
+            return result;
+        }
+        break;
+
+        // Used when calculating elasticities
+        case ptFloatingSpecies:
+        {
+            double result = 0;
+            model->getFloatingSpeciesConcentrations(1, &parameterIndex, &result);
+            return result;
+        }
+        break;
+
+        case ptConservationParameter:
+        {
+            double result = 0;
+            model->getConservedMoietyValues(1, &parameterIndex, &result);
+            return result;
+        }
+        break;
+
+        case ptLocalParameter:
+            throw Exception("Local parameters not permitted in getParameterValue (getCC?)");
+            break;
+
+        default:
+            return 0.0;
+            break;
+        }
+        return 0;
+    }
+
+    // Changes a given parameter type by the given increment
+    void changeParameter(ParameterType parameterType, int reactionIndex, int parameterIndex,
+                                        double originalValue, double increment)
+    {
+        setParameterValue(parameterType, parameterIndex, originalValue + increment);
+    }
+
+};
+
+
+
+int RoadRunner::getInstanceCount()
+{
+    return mInstanceCount;
+}
+
+int RoadRunner::getInstanceID()
+{
+    return impl->mInstanceID;
+}
+
+RoadRunner::RoadRunner() : impl(new RoadRunnerImpl("", NULL))
+{
+    // must be run to register integrators at startup
+    IntegratorRegistrationMgr::Register();
+    // must be run to register solvers at startup
+    SolverRegistrationMgr::Register();
+
+    //Increase instance count..
+    mInstanceCount++;
+    impl->mInstanceID = mInstanceCount;
+
+    // make CVODE the default integrator
+    setIntegrator("cvode");
+    // make NLEQ the default steady state solver
+    setSteadyStateSolver("nleq");
+}
+
+RoadRunner::RoadRunner(const std::string& uriOrSBML,
+        const Dictionary* options) :
+            impl(new RoadRunnerImpl(uriOrSBML, options))
+{
+    // must be run to register integrators at startup
+    IntegratorRegistrationMgr::Register();
+    // must be run to register solvers at startup
+    SolverRegistrationMgr::Register();
+
+    // make CVODE the default integrator
+    setIntegrator("cvode");
+    // make NLEQ the default steady state solver
+    setSteadyStateSolver("nleq");
+
+    load(uriOrSBML, options);
+
+    //Increase instance count..
+    mInstanceCount++;
+    impl->mInstanceID = mInstanceCount;
+}
+
+
+RoadRunner::RoadRunner(const string& _compiler, const string& _tempDir,
+        const string& supportCodeDir) :
+        impl(new RoadRunnerImpl(_compiler, _tempDir, supportCodeDir))
+{
+    // must be run to register integrators at startup
+    IntegratorRegistrationMgr::Register();
+    // must be run to register solvers at startup
+    SolverRegistrationMgr::Register();
+
+    string tempDir = _tempDir.empty() ? getTempDir() : _tempDir;
+
+    setTempDir(tempDir);
+
+    //Increase instance count..
+    mInstanceCount++;
+    impl->mInstanceID = mInstanceCount;
+
+    // make CVODE the default integrator
+    setIntegrator("cvode");
+    // make NLEQ the default steady state solver
+    setSteadyStateSolver("nleq");
+}
+
+RoadRunner::~RoadRunner()
+{
+    delete impl;
+}
+
+ExecutableModel* RoadRunner::getModel()
+{
+    return impl->model;
+}
+
+void RoadRunner::setOptions(const RoadRunnerOptions& opt)
+{
+    impl->roadRunnerOptions = opt;
+}
+
+vector<SelectionRecord> RoadRunner::getSelectionList()
+{
+    return impl->mSelectionList;
+}
+
+string RoadRunner::getInfo()
+{
+    applySimulateOptions();
+
+    stringstream ss;
+    ss << "<roadrunner.RoadRunner() { " << std::endl;
+    ss << "'this' : " << (void*)(this) << std::endl;
+    ss << "'modelLoaded' : " << (impl->model == NULL ? "false" : "true") << std::endl;
+
+    if(impl->model)
+    {
+        ss << "'modelName' : " <<  impl->model->getModelName() << std::endl;
+    }
+
+    ss << "'libSBMLVersion' : " << getVersionStr(VERSIONSTR_LIBSBML) << std::endl;
+    ss << "'jacobianStepSize' : " << impl->roadRunnerOptions.jacobianStepSize << std::endl;
+    ss << "'conservedMoietyAnalysis' : " << rr::toString(impl->loadOpt.getConservedMoietyConversion()) << std::endl;
+
+#if defined(BUILD_LEGACY_C)
+    ss<<"Temporary folder: "        <<    getTempDir()<<endl;
+    ss<<"Compiler location: "       <<    getCompiler()->getCompilerLocation() << endl;
+    ss<<"Support Code Folder: "     <<    getCompiler()->getSupportCodeFolder() << endl;
+    ss<<"Working Directory: "       <<    getCWD() << endl;
+#endif
+
+    ss << "'simulateOptions' : " << endl;
+    ss << impl->simulateOpt.toString();
+    ss << ", " << endl;
+
+    ss << "'integrator' : " << endl;
+    if(impl->integrator) {
+        ss << impl->integrator->toString();
+        ss << endl;
+    }
+    else {
+        ss << "Null" << endl;
+    }
+
+    ss << "}>";
+
+    return ss.str();
+}
+
+string RoadRunner::getExtendedVersionInfo()
+{
+    stringstream info;
+    info << getVersionStr(VERSIONSTR_BASIC | VERSIONSTR_COMPILER | VERSIONSTR_DATE | VERSIONSTR_LIBSBML) << endl;
+    info << "Working Directory: " << getCWD() << endl;
+    return info.str();
+}
+
+
+
+ls::LibStructural* RoadRunner::getLibStruct()
+{
+    Mutex::ScopedLock lock(roadRunnerMutex);
+
+    if (impl->mLS)
+    {
+        return impl->mLS;
+    }
+    else if (!impl->mCurrentSBML.empty())
+    {
+        impl->mLS = new ls::LibStructural(impl->mCurrentSBML);
+        Log(Logger::LOG_INFORMATION) << "created structural analysis, messages: "
+                << impl->mLS->getAnalysisMsg();
+        return impl->mLS;
+    }
+    else
+    {
+        throw std::invalid_argument("could not create structural analysis with no loaded sbml");
+    }
+}
+
+Compiler* RoadRunner::getCompiler()
+{
+    return impl->compiler;
+}
+
+
+void RoadRunner::setCompiler(const string& compiler)
+{
+    impl->loadOpt.setItem("compiler", compiler);
+}
+
+bool RoadRunner::isModelLoaded()
+{
+    return impl->model ? true : false;
+}
+
+void RoadRunner::setSimulateOptions(const SimulateOptions& settings)
+{
+    impl->simulateOpt = settings;
+}
+
+SimulateOptions& RoadRunner::getSimulateOptions()
+{
+    return impl->simulateOpt;
+}
+
+bool RoadRunner::getConservedMoietyAnalysis()
+{
+    return impl->loadOpt.getConservedMoietyConversion();
+}
+
+void RoadRunner::setTempDir(const string& folder)
+{
+    impl->loadOpt.setItem("tempDir", folder);
+}
+
+string RoadRunner::getTempDir()
+{
+    return impl->loadOpt.getItem("tempDir");
+}
+
+int RoadRunner::createDefaultTimeCourseSelectionList()
+{
+    vector<string> selections;
+    vector<string> oFloating  = getFloatingSpeciesIds();
+    int numFloatingSpecies = oFloating.size();
+    //int numIndSpecies = getNumberOfIndependentSpecies();
+
+    // add floating species to the default selection
+
+    selections.push_back("time");
+    //for(int i = 0; i < numIndSpecies; i++)
+    for (int i = 0; i < numFloatingSpecies; i++)
+    {
+        selections.push_back("[" + oFloating[i] + "]");
+    }
+
+    // add parameters defined by rate rules to the default selection
+
+    vector<string> selections_with_ratelaws(selections);
+    try {
+        vector<string> raterule_symbols = impl->model->getRateRuleSymbols();
+        for (vector<string>::iterator i = raterule_symbols.begin(); i != raterule_symbols.end(); ++i)
+            selections_with_ratelaws.push_back(*i);
+    } catch (NotImplementedException) {
+        Log(Logger::LOG_WARNING) << "Querying rate rule symbols not supported with this executable model";
+    }
+
+    // try to apply selections including rate laws,
+    // fall back if unable to use rate laws
+    // see https://github.com/sys-bio/roadrunner/issues/88
+    try {
+        setSelections(selections_with_ratelaws);
+    } catch (...) {
+        Log(Logger::LOG_WARNING) << "Rate laws exist but cannot be added to default selections";
+        setSelections(selections);
+    }
+
+    Log(lDebug)<<"The following is selected:";
+    for(int i = 0; i < impl->mSelectionList.size(); i++)
+    {
+        Log(lDebug)<<impl->mSelectionList[i];
+    }
+    return impl->mSelectionList.size();
+}
+
+int RoadRunner::createTimeCourseSelectionList()
+{
+    // make a list out of the values in the settings,
+    // will always have at least a "time" at the first item.
+    vector<string> settingsList = createSelectionList(impl->simulateOpt);
+
+    assert(settingsList.size() >= 1 && "selection list from SimulateOptions does does not have time");
+
+    // if settings has any selections, this overrides the selection list.
+    if (settingsList.size() > 1)
+    {
+        Log(Logger::LOG_INFORMATION) << "overriding selection list with values from SimulateOptions.";
+        setSelections(settingsList);
+    }
+
+    for(int i = 0; i < impl->mSelectionList.size(); i++)
+    {
+        Log(Logger::LOG_DEBUG) << "Selection Value [" << i << "]: " << impl->mSelectionList[i].to_repr();
+    }
+
+    return impl->mSelectionList.size();
+}
+
+string RoadRunner::getParamPromotedSBML(const string& sbml)
+{
+    libsbml::SBMLDocument *doc = libsbml::readSBMLFromString(sbml.c_str());
+    // converts in-place
+    libsbml::SBMLLocalParameterConverter converter;
+
+    converter.setDocument(doc);
+
+    converter.convert();
+
+    libsbml::SBMLWriter writer;
+
+    std::stringstream stream;
+
+    writer.writeSBML(doc, stream);
+
+    delete doc;
+
+    return stream.str();
+}
+
+double RoadRunner::getValue(const SelectionRecord& record)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    double dResult;
+
+    switch (record.selectionType)
+    {
+    case SelectionRecord::FLOATING_CONCENTRATION:
+
+        dResult = 0;
+        impl->model->getFloatingSpeciesConcentrations(1, &record.index, &dResult);
+        break;
+
+    case SelectionRecord::BOUNDARY_CONCENTRATION:
+        impl->model->getBoundarySpeciesConcentrations(1, &record.index, &dResult);
+        break;
+
+    case SelectionRecord::REACTION_RATE:
+        dResult = 0;
+        impl->model->getReactionRates(1, &record.index, &dResult);
+        break;
+
+    case SelectionRecord::FLOATING_AMOUNT_RATE:
+        dResult = 0;
+        impl->model->getFloatingSpeciesAmountRates(1, &record.index, &dResult);
+        break;
+
+    case SelectionRecord::COMPARTMENT:
+        impl->model->getCompartmentVolumes(1, &record.index, &dResult);
+        break;
+
+    case SelectionRecord::GLOBAL_PARAMETER:
+    {
+        if (record.index > ((impl->model->getNumGlobalParameters()) - 1))
+        {
+            int index = record.index - impl->model->getNumGlobalParameters();
+            impl->model->getConservedMoietyValues(1, &index, &dResult);
+        }
+        else
+        {
+            impl->model->getGlobalParameterValues(1, &record.index, &dResult);
+        }
+    }
+    break;
+
+    case SelectionRecord::FLOATING_AMOUNT:
+        impl->model->getFloatingSpeciesAmounts(1, &record.index, &dResult);
+        break;
+
+    case SelectionRecord::BOUNDARY_AMOUNT:
+        impl->model->getBoundarySpeciesAmounts(1, &record.index, &dResult);
+        break;
+
+    case SelectionRecord::ELASTICITY:
+        dResult = getEE(record.p1, record.p2, false);
+        break;
+
+    case SelectionRecord::UNSCALED_ELASTICITY:
+        dResult = getuEE(record.p1, record.p2, false);
+        break;
+
+    case SelectionRecord::CONTROL:
+        dResult = getCC(record.p1, record.p2);
+        break;
+
+    case SelectionRecord::UNSCALED_CONTROL:
+        dResult = getuCC(record.p1, record.p2);
+        break;
+
+    case SelectionRecord::EIGENVALUE:
+    {
+        string species = record.p1;
+        int index = impl->model->getFloatingSpeciesIndex(species);
+
+        if (index < 0)
+        {
+            throw std::logic_error("Invalid species id" + record.p1 + " for eigenvalue");
+        }
+
+        vector<Complex> eig = getEigenValues(JACOBIAN_FULL);
+
+        if (eig.size() <= index)
+        {
+            // this should NEVER happen
+            throw std::runtime_error("Eigenvalues vector length less than species id");
+        }
+
+        return std::real(eig[index]);
+    }
+    break;
+    case SelectionRecord::EIGENVALUE_COMPLEX:
+    {
+        string species = record.p1;
+        int index = impl->model->getFloatingSpeciesIndex(species);
+
+        if (index < 0)
+        {
+            throw std::logic_error("Invalid species id" + record.p1 + " for eigenvalue");
+        }
+
+        vector<Complex> eig = getEigenValues(JACOBIAN_FULL);
+
+        if (eig.size() <= index)
+        {
+            // this should NEVER happen
+            throw std::runtime_error("Eigenvalues vector length less than species id");
+        }
+
+        return std::imag(eig[index]);
+    }
+    break;
+    case SelectionRecord::INITIAL_CONCENTRATION:
+    {
+        impl->model->getFloatingSpeciesInitConcentrations(1, &record.index, &dResult);
+    }
+    break;
+    case SelectionRecord::INITIAL_AMOUNT:
+    {
+        impl->model->getFloatingSpeciesInitAmounts(1, &record.index, &dResult);
+    }
+    break;
+    case SelectionRecord::STOICHIOMETRY:
+    {
+        int speciesIndex = impl->model->getFloatingSpeciesIndex(record.p1);
+        int reactionIndex = impl->model->getReactionIndex(record.p2);
+        return impl->model->getStoichiometry(speciesIndex, reactionIndex);
+    }
+        break;
+
+    default:
+        dResult = 0.0;
+        break;
+    }
+    return dResult;
+}
+
+double RoadRunner::getNthSelectedOutput(unsigned index, double currentTime)
+{
+    const SelectionRecord &record = impl->mSelectionList[index];
+
+    if (record.selectionType == SelectionRecord::TIME)
+    {
+        return currentTime;
+    }
+    else
+    {
+        return getValue(record);
+    }
+}
+
+int RoadRunner::getTimeRowIndex()
+{
+  for (u_int j = 0; j < impl->mSelectionList.size(); j++)
+  {
+      const SelectionRecord &record = impl->mSelectionList[j];
+      if (record.selectionType == SelectionRecord::TIME)
+      {
+          return (int)j;
+      }
+  }
+  // -1 for failure
+  return -1;
+}
+
+void RoadRunner::getSelectedValues(DoubleMatrix& results, int nRow, double currentTime)
+{
+    for (u_int j = 0; j < impl->mSelectionList.size(); j++)
+    {
+        double out =  getNthSelectedOutput(j, currentTime);
+        results(nRow,j) = out;
+    }
+}
+
+void RoadRunner::getSelectedValues(std::vector<double>& results,
+        double currentTime)
+{
+    assert(results.size() == impl->mSelectionList.size()
+            && "given vector and selection list different size");
+
+    u_int size = results.size();
+    for (u_int i = 0; i < size; ++i)
+    {
+        results[i] = getNthSelectedOutput(i, currentTime);
+    }
+}
+
+
+vector<double> RoadRunner::getConservedMoietyValues()
+{
+    return getLibStruct()->getConservedSums();
+}
+
+void RoadRunner::load(const string& uriOrSbml, const Dictionary *dict)
+{
+    Mutex::ScopedLock lock(roadRunnerMutex);
+
+    get_self();
+
+    self.mCurrentSBML = SBMLReader::read(uriOrSbml);
+
+    delete impl->model;
+    impl->model = 0;
+
+    delete impl->mLS;
+    impl->mLS = NULL;
+
+    if(dict) {
+        self.loadOpt = LoadSBMLOptions(dict);
+    }
+
+    // TODO: streamline so SBML document is not read several times
+    // check that stoichiometry is defined
+    if (!isStoichDefined(self.mCurrentSBML)) {
+        // if any reactions are missing stoich, the simulation results will be wrong
+        // fix sbml by assuming unit stoich where missing
+        self.mCurrentSBML = fixMissingStoich(self.mCurrentSBML);
+        Log(Logger::LOG_WARNING)<<"Stoichiometry is not defined for all reactions; assuming unit stoichiometry where missing";
+    }
+
+    // the following lines load and compile the model. If anything fails here,
+    // we validate the model to provide explicit details about where it
+    // failed. Its *VERY* expensive to pre-validate the model.
+    try {
+
+        self.model = ExecutableModelFactory::createModel(self.mCurrentSBML, &self.loadOpt);
+
+    } catch (std::exception&) {
+        string errors = validateSBML(impl->mCurrentSBML);
+
+        if(!errors.empty()) {
+            Log(Logger::LOG_ERROR) << "Invalid SBML: " << endl << errors;
+        }
+
+        // re-throw the exception
+        throw;
+    }
+
+    impl->syncAllSolversWithModel(impl->model);
+
+    reset();
+
+    if ((self.loadOpt.loadFlags & LoadSBMLOptions::NO_DEFAULT_SELECTIONS) == 0)
+    {
+        createDefaultSelectionLists();
+    }
+}
+
+bool RoadRunner::createDefaultSelectionLists()
+{
+    bool result = true;
+
+    //Create a default timecourse selectionlist
+    if(!createDefaultTimeCourseSelectionList())
+    {
+        Log(lDebug)<<"Failed creating default timecourse selectionList.";
+        result = false;
+    }
+    else
+    {
+        Log(lDebug)<<"Created default TimeCourse selection list.";
+    }
+
+    //Create a defualt steady state selectionlist
+    if(!createDefaultSteadyStateSelectionList())
+    {
+        Log(lDebug)<<"Failed creating default steady state selectionList.";
+        result = false;
+    }
+    else
+    {
+        Log(lDebug)<<"Created default SteadyState selection list.";
+    }
+    return result;
+}
+
+bool RoadRunner::clearModel()
+{
+    // The model owns the shared library (if it exists), when the model is deleted,
+    // its dtor unloads the shared lib.
+    if(impl->model)
+    {
+        delete impl->model;
+        impl->model = NULL;
+
+		delete impl->mLS;
+		impl->mLS = NULL;
+        return true;
+    }
+    return false;
+}
+
+void RoadRunner::reset()
+{
+    uint opt = rr::Config::getInt(rr::Config::MODEL_RESET);
+    reset(opt);
+}
+
+void RoadRunner::reset(int options)
+{
+    if (impl->model)
+    {
+        // model gets set to before time = 0
+        impl->model->reset(options);
+
+        if (!impl->integrator)
+            throw std::runtime_error("No integrator set");
+        impl->integrator->restart(0.0);
+
+        try
+        {
+            impl->model->testConstraints();
+        }
+        catch (const Exception& e)
+        {
+            Log(lWarning)<<"Constraint Violated at time = 0\n"<<e.Message();
+        }
+    }
+}
+
+bool RoadRunner::populateResult()
+{
+    vector<string> list(impl->mSelectionList.size());
+
+    for(int i = 0; i < impl->mSelectionList.size(); ++i)
+    {
+        list[i] = impl->mSelectionList[i].to_string();
+    }
+
+    return true;
+}
+
+
+std::vector<rr::SelectionRecord>& RoadRunner::getSelections()
+{
+    return impl->mSelectionList;
+}
+
+
+double RoadRunner::steadyState(const Dictionary* dict)
+{
+    Log(Logger::LOG_DEBUG)<<"RoadRunner::steadyState...";
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    if (!impl->loadOpt.getConservedMoietyConversion() &&
+            (Config::getBool(Config::ROADRUNNER_DISABLE_WARNINGS)
+                & Config::ROADRUNNER_DISABLE_WARNINGS_STEADYSTATE) == 0)
+    {
+        Log(Logger::LOG_WARNING) << "Conserved Moiety Analysis is not enabled, steady state may fail with singular Jacobian";
+        Log(Logger::LOG_WARNING) << "Conserved Moiety Analysis may be enabled via the conservedMoeityAnalysis property or "
+                                    "via the configuration file or the Config class setValue, see roadrunner documentation";
+        Log(Logger::LOG_WARNING) << "to remove this warning, set ROADRUNNER_DISABLE_WARNINGS to 1 or 3 in the config file";
+    }
+
+    //Get a std vector for the solver
+//     vector<double> someAmounts(impl->model->getNumIndFloatingSpecies(), 0);
+//     impl->model->getFloatingSpeciesAmounts(someAmounts.size(), 0, &someAmounts[0]);
+
+    if (!impl->steady_state_solver) {
+        Log(Logger::LOG_ERROR)<<"No steady state solver";
+        throw std::runtime_error("No steady state solver");
+    }
+
+    Log(Logger::LOG_DEBUG)<<"Attempting to find steady state using solver '" << impl->steady_state_solver->getName() << "'...";
+
+    double ss = impl->steady_state_solver->solve();
+    if(ss < 0)
+    {
+        Log(Logger::LOG_ERROR)<<"Steady State solver failed...";
+    }
+
+    return ss;
+}
+
+DoubleMatrix RoadRunner::steadyStateNamedArray(const Dictionary* dict)
+{
+    steadyState();
+    return getSteadyStateValuesNamedArray();
+}
+
+
+
+
+void RoadRunner::setConservedMoietyAnalysis(bool value)
+{
+    get_self();
+
+    if(value == self.loadOpt.getConservedMoietyConversion())
+    {
+        Log(lDebug)<<"The compute and assign conservation laws flag already set to : " << toString(value);
+    }
+
+    self.loadOpt.setConservedMoietyConversion(value);
+
+    if(self.model != NULL)
+    {
+        uint32_t savedOpt = self.loadOpt.modelGeneratorOpt;
+
+        // have to reload
+        self.loadOpt.modelGeneratorOpt |= LoadSBMLOptions::RECOMPILE;
+
+        load(impl->mCurrentSBML);
+
+        // restore original reload value
+        self.loadOpt.modelGeneratorOpt = savedOpt;
+    }
+}
+
+
+// [Help("Get scaled elasticity coefficient with respect to a global parameter or species")]
+double RoadRunner::getEE(const string& reactionName, const string& parameterName)
+{
+    return getEE(reactionName, parameterName, true);
+}
+
+double RoadRunner::getEE(const string& reactionName, const string& parameterName, bool computeSteadyState)
+{
+    ParameterType parameterType;
+    int reactionIndex;
+    int parameterIndex;
+
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    // Check the reaction name
+    if ((reactionIndex = impl->model->getReactionIndex(reactionName)) < 0)
+    {
+        throw CoreException(format("Unable to locate reaction name: [{0}]", reactionName));
+    }
+
+    // Find out what kind of parameter we are dealing with
+    if (( parameterIndex = impl->model->getFloatingSpeciesIndex(parameterName)) >= 0)
+    {
+        parameterType = ptFloatingSpecies;
+    }
+    else if ((parameterIndex = impl->model->getBoundarySpeciesIndex(parameterName)) >= 0)
+    {
+        parameterType = ptBoundaryParameter;
+    }
+    else if ((parameterIndex = impl->model->getGlobalParameterIndex(parameterName)) >= 0)
+    {
+        parameterType = ptGlobalParameter;
+    }
+    else if ((parameterIndex = impl->model->getConservedMoietyIndex(parameterName)) >= 0)
+    {
+        parameterType = ptConservationParameter;
+    }
+    else
+    {
+        throw CoreException(format("Unable to locate variable: [{0}]", parameterName));
+    }
+
+
+
+    double variableValue = 0;
+    impl->model->getReactionRates(1, &reactionIndex, &variableValue);
+    double parameterValue = impl->getParameterValue(parameterType, parameterIndex);
+    if (variableValue == 0)
+    {
+        variableValue = 1e-12;
+    }
+    return getuEE(reactionName, parameterName, computeSteadyState) * parameterValue / variableValue;
+}
+
+double RoadRunner::getDiffStepSize() const
+{
+    if (!impl)
+        throw std::runtime_error("Missing impl");
+    return impl->mDiffStepSize;
+}
+
+void RoadRunner::setDiffStepSize(double val)
+{
+    if (!impl)
+        throw std::runtime_error("Missing impl");
+    impl->mDiffStepSize = val;
+}
+
+double RoadRunner::getSteadyStateThreshold() const
+{
+    if (!impl)
+        throw std::runtime_error("Missing impl");
+    return impl->mSteadyStateThreshold;
+}
+
+void RoadRunner::setSteadyStateThreshold(double val)
+{
+    if (!impl)
+        throw std::runtime_error("Missing impl");
+    impl->mSteadyStateThreshold = val;
+}
+
+double RoadRunner::getuEE(const string& reactionName, const string& parameterName)
+{
+    return getuEE(reactionName, parameterName, true);
+}
+
+double RoadRunner::getuEE(const string& reactionName, const string& parameterName, bool computeSteadystate)
+{
+    try
+    {
+        if (!impl->model)
+        {
+            throw CoreException(gEmptyModelMessage);
+        }
+
+        ParameterType parameterType;
+        double originalParameterValue;
+        int reactionIndex;
+        int parameterIndex;
+
+        // Check the reaction name
+        if ((reactionIndex = impl->model->getReactionIndex(reactionName)) < 0)
+        {
+            throw CoreException("Unable to locate reaction name: [" + reactionName + "]");
+        }
+
+        // Find out what kind of parameter we are dealing with
+        if ((parameterIndex = impl->model->getFloatingSpeciesIndex(parameterName)) >= 0)
+        {
+            parameterType = ptFloatingSpecies;
+            originalParameterValue = 0;
+            impl->model->getFloatingSpeciesConcentrations(1, &parameterIndex, &originalParameterValue);
+        }
+        else if ((parameterIndex = impl->model->getBoundarySpeciesIndex(parameterName)) >= 0)
+        {
+            parameterType = ptBoundaryParameter;
+            originalParameterValue = 0;
+            impl->model->getBoundarySpeciesConcentrations(1, &parameterIndex, &originalParameterValue);
+        }
+        else if ((parameterIndex = impl->model->getGlobalParameterIndex(parameterName)) >= 0)
+        {
+            parameterType = ptGlobalParameter;
+            originalParameterValue = 0;
+            impl->model->getGlobalParameterValues(1, &parameterIndex, &originalParameterValue);
+        }
+        else if ((parameterIndex = impl->model->getConservedMoietyIndex(parameterName)) >= 0)
+        {
+            parameterType = ptConservationParameter;
+            originalParameterValue = 0;
+            impl->model->getConservedMoietyValues(1, &parameterIndex, &originalParameterValue);
+        }
+        else
+        {
+            throw CoreException("Unable to locate variable: [" + parameterName + "]");
+        }
+
+        double hstep = impl->mDiffStepSize*originalParameterValue;
+        if (fabs(hstep) < 1E-12)
+        {
+            hstep = impl->mDiffStepSize;
+        }
+
+        impl->setParameterValue(parameterType, parameterIndex, originalParameterValue + hstep);
+        double fi = 0;
+        impl->model->getReactionRates(1, &reactionIndex, &fi);
+
+        impl->setParameterValue(parameterType, parameterIndex, originalParameterValue + 2*hstep);
+        double fi2 = 0;
+        impl->model->getReactionRates(1, &reactionIndex, &fi2);
+
+        impl->setParameterValue(parameterType, parameterIndex, originalParameterValue - hstep);
+        double fd = 0;
+        impl->model->getReactionRates(1, &reactionIndex, &fd);
+
+        impl->setParameterValue(parameterType, parameterIndex, originalParameterValue - 2*hstep);
+        double fd2 = 0;
+        impl->model->getReactionRates(1, &reactionIndex, &fd2);
+
+        // restore original value
+        impl->setParameterValue(parameterType, parameterIndex, originalParameterValue);
+
+        // Use instead the 5th order approximation double unscaledValue = (0.5/hstep)*(fi-fd);
+        // The following separated lines avoid small amounts of roundoff error
+        double f1 = fd2 + 8*fi;
+        double f2 = -(8*fd + fi2);
+
+        return 1/(12*hstep)*(f1 + f2);
+    }
+    catch(const Exception& e)
+    {
+        throw CoreException("Unexpected error from getuEE(): " +  e.Message());
+    }
+}
+
+// Help("Updates the model based on all recent changes")
+void RoadRunner::evalModel()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+    impl->model->getStateVectorRate(impl->model->getTime(), 0);
+}
+
+
+const DoubleMatrix* RoadRunner::simulate(const Dictionary* dict)
+{
+    get_self();
+    check_model();
+
+    const SimulateOptions *opt = dynamic_cast<const SimulateOptions*>(dict);
+
+    if (opt) {
+        self.simulateOpt = *opt;
+    }
+
+    applySimulateOptions();
+
+    const double timeEnd = self.simulateOpt.duration + self.simulateOpt.start;
+    const double timeStart = self.simulateOpt.start;
+
+    // evalute the model with its current state
+    self.model->getStateVectorRate(timeStart, 0, 0);
+
+    // Variable Time Step Integration
+    if (self.integrator->hasValue("variable_step_size") && self.integrator->getValueAsBool("variable_step_size"))
+    {
+        Log(Logger::LOG_INFORMATION) << "Performing variable step integration";
+
+        DoubleVectorList results;
+        std::vector<double> row(self.mSelectionList.size());
+
+        try
+        {
+            // add current state as first row
+            getSelectedValues(row, timeStart);
+            results.push_back(row);
+
+            self.integrator->restart(timeStart);
+
+            double tout = timeStart;
+            double last_tout = tout;
+
+            // optimiziation for certain getValue operations.
+            self.model->setIntegration(true);
+
+            int n=0;
+
+            while( tout < timeEnd &&
+              ( !self.simulateOpt.steps || n < self.simulateOpt.steps) &&
+              ( !rr::Config::getInt(rr::Config::MAX_OUTPUT_ROWS) || n < rr::Config::getInt(rr::Config::MAX_OUTPUT_ROWS)) )
+            {
+                Log(Logger::LOG_DEBUG) << "variable step, start: " << tout
+                        << ", end: " << timeEnd;
+                tout = self.integrator->integrate(tout, timeEnd - tout);
+
+
+                if (!isfinite(tout))
+                {
+                    // time step is at infinity so bail, but get the last value
+                    getSelectedValues(row, timeEnd);
+                    results.push_back(row);
+                    break;
+                }
+
+                getSelectedValues(row, tout);
+
+                // use interpolation to ensure last time point is requested end time
+                if( tout > timeEnd ) {
+                    if (!getIntegrator())
+                    {
+                        // should never happen
+                        throw CoreException("No integrator selected in call to simulate");
+                    }
+
+                    if (getIntegrator()->getName() == "gillespie")
+                    {
+                        // stochastic simulations use flat interpolation
+                        Log(Logger::LOG_DEBUG) << "simulate: use flat interpolation for last value with timeEnd = " <<  timeEnd << ", tout = " << tout << ", last_tout = " << last_tout;
+
+                        for(int n = 0; n<row.size(); ++n) {
+                            row.at(n) = results.back().at(n);
+                        }
+
+                        int itime = getTimeRowIndex();
+
+                        if (itime >= 0)
+                        {
+                            row.at(itime) = timeEnd;
+                        }
+                    }
+                    else
+                    {
+                        // ODE simulations use linear interpolation
+                        double alpha = (timeEnd - last_tout)/(tout - last_tout);
+                        Log(Logger::LOG_DEBUG) << "simulate: use linear interpolation for last value with timeEnd = " <<  timeEnd << ", tout = " << tout << ", last_tout = " << last_tout;
+
+                        for(int n = 0; n<row.size(); ++n) {
+                            row.at(n) = results.back().at(n) + alpha*(row.at(n) - results.back().at(n));
+                        }
+                    }
+                } else {
+                    last_tout = tout;
+                }
+
+                results.push_back(row);
+
+                ++n;
+            }
+        }
+        catch (EventListenerException& e)
+        {
+            Log(Logger::LOG_NOTICE) << e.what();
+        }
+
+        // stuff list values into result matrix
+        self.simulationResult.resize(results.size(), row.size());
+        uint rowi = 0;
+        for (DoubleVectorList::const_iterator i = results.begin();
+                i != results.end(); ++i, ++rowi)
+        {
+            // evidently [] operator gets row, go figure...
+            double* prow = self.simulationResult[rowi];
+            std::copy(i->begin(), i->end(), prow);
+        }
+    }
+
+    // Stochastic Fixed Step Integration
+    // do fixed time step simulation, these are different for deterministic
+    // and stochastic.
+	else if (self.integrator->getIntegrationMethod() == Integrator::Stochastic)
+    {
+        Log(Logger::LOG_INFORMATION)
+                << "Performing stochastic fixed step integration for "
+                << self.simulateOpt.steps + 1 << " steps";
+
+        int numPoints = self.simulateOpt.steps + 1;
+
+        if (numPoints <= 1)
+        {
+            numPoints = 2;
+        }
+
+        const double hstep = (timeEnd - timeStart) / (numPoints - 1);
+        int nrCols = self.mSelectionList.size();
+
+        Log(Logger::LOG_DEBUG) << "starting simulation with " << nrCols << " selected columns";
+
+        // ignored if same
+        self.simulationResult.resize(self.simulateOpt.steps + 1, nrCols);
+
+        try
+        {
+            // add current state as first row
+            getSelectedValues(self.simulationResult, 0, timeStart);
+
+            self.integrator->restart(timeStart);
+
+            double tout = timeStart;           // the exact times the integrator returns
+            double next = timeStart + hstep;   // because of fixed steps, the times when the
+                                               // value is recorded.
+
+            // index gets bumped in do-while loop.
+            for (int i = 1; i < self.simulateOpt.steps + 1;)
+            {
+                Log(Logger::LOG_DEBUG) << "step: " << i << "t0: " << tout << "hstep: " << next - tout;
+
+                // stochastic frequently overshoots time end
+                // may also be infinite
+                tout = self.integrator->integrate(tout, next - tout);
+
+                assert((tout >= next)
+                        && "stochastic integrator did not integrate to end time");
+
+                // get the output, always get at least one output
+                do
+                {
+                    getSelectedValues(self.simulationResult, i, next);
+                    i++;
+                    next = timeStart + i * hstep;
+                }
+                while((i < self.simulateOpt.steps + 1) && tout > next);
+            }
+        }
+        catch (EventListenerException& e)
+        {
+            Log(Logger::LOG_NOTICE) << e.what();
+        }
+    }
+
+    // Deterministic Fixed Step Integration
+    else
+    {
+        Log(Logger::LOG_INFORMATION)
+                << "Perfroming deterministic fixed step integration for  "
+                << self.simulateOpt.steps + 1 << " steps";
+
+        int numPoints = self.simulateOpt.steps + 1;
+
+        if (numPoints <= 1)
+        {
+            numPoints = 2;
+        }
+
+        double hstep = (timeEnd - timeStart) / (numPoints - 1);
+        int nrCols = self.mSelectionList.size();
+
+        Log(Logger::LOG_DEBUG) << "starting simulation with " << nrCols << " selected columns";
+
+        // ignored if same
+        self.simulationResult.resize(self.simulateOpt.steps + 1, nrCols);
+
+        try
+        {
+            // add current state as first row
+            getSelectedValues(self.simulationResult, 0, timeStart);
+
+            self.integrator->restart(timeStart);
+
+            // optimiziation for certain getValue operations.
+            self.model->setIntegration(true);
+
+            double tout = timeStart;
+
+            for (int i = 1; i < self.simulateOpt.steps + 1; i++)
+            {
+                Log(Logger::LOG_DEBUG)<<"Step "<<i;
+                double itime = self.integrator->integrate(tout, hstep);
+
+                // the test suite is extremly sensetive to time differences,
+                // so need to use the *exact* time here. occasionally the integrator
+                // will return a value just slightly off from the exact time
+                // value.
+                tout = timeStart + i * hstep;
+                getSelectedValues(self.simulationResult, i, tout);
+            }
+        }
+        catch (EventListenerException& e)
+        {
+            Log(Logger::LOG_NOTICE) << e.what();
+        }
+    }
+
+    // done with integration
+
+    self.model->setIntegration(false);
+
+    Log(Logger::LOG_DEBUG) << "Simulation done..";
+
+    return &self.simulationResult;
+}
+
+
+double RoadRunner::integrate(double t0, double tf, const SimulateOptions* o)
+{
+    check_model();
+    applySimulateOptions();
+
+    try
+    {
+        impl->model->setTime(t0);
+        return impl->integrator->integrate(t0, tf - t0);
+    }
+    catch (EventListenerException& e)
+    {
+        Log(Logger::LOG_NOTICE) << e.what();
+        return impl->model->getTime();
+    }
+}
+
+
+double RoadRunner::oneStep(const double currentTime, const double stepSize, const bool reset)
+{
+    get_self();
+    check_model();
+    applySimulateOptions();
+
+    try
+    {
+        self.integrator->restart(currentTime);
+        return self.integrator->integrate(currentTime, stepSize);
+    }
+    catch (EventListenerException& e)
+    {
+        Log(Logger::LOG_NOTICE) << e.what();
+        return self.model->getTime();
+    }
+}
+
+
+std::vector<ls::Complex> RoadRunner::getFullEigenValues()
+{
+    return getEigenValues(JACOBIAN_FULL);
+}
+
+
+std::vector<ls::Complex> RoadRunner::getReducedEigenValues()
+{
+    return getEigenValues(JACOBIAN_REDUCED);
+}
+
+std::vector< std::complex<double> > RoadRunner::getEigenValues(RoadRunner::JacobianMode mode)
+{
+    check_model();
+    DoubleMatrix mat;
+
+    if(mode == JACOBIAN_FULL)
+    {
+        mat = getFullJacobian();
+    }
+    else
+    {
+        mat = getReducedJacobian();
+    }
+    return ls::getEigenValues(mat);
+}
+
+DoubleMatrix RoadRunner::getFloatingSpeciesAmounts()
+{
+    check_model();
+
+    int l = impl->model->getStateVector(NULL);
+
+    double* vals = new double[l];
+    impl->model->getFloatingSpeciesAmounts(l, NULL, vals);
+
+    LibStructural *ls = getLibStruct();
+    DoubleMatrix v(1, l);
+
+    for (int i = 0; i<l; ++i)
+        v(0, i) = vals[i];
+
+    delete vals;
+
+    v.setColNames(getFloatingSpeciesIds());
+
+    return v;
+}
+
+DoubleMatrix RoadRunner::getFloatingSpeciesConcentrations()
+{
+    check_model();
+
+    int l = impl->model->getStateVector(NULL);
+
+    double* vals = new double[l];
+    impl->model->getFloatingSpeciesConcentrations(l, NULL, vals);
+
+    LibStructural *ls = getLibStruct();
+    DoubleMatrix v(1, l);
+
+    for (int i = 0; i<l; ++i)
+        v(0, i) = vals[i];
+
+    delete vals;
+
+    v.setColNames(getFloatingSpeciesIds());
+
+    return v;
+}
+
+DoubleMatrix RoadRunner::getFullJacobian()
+{
+    check_model();
+
+    get_self();
+
+    DoubleMatrix uelast = getUnscaledElasticityMatrix();
+
+    // ptr to libstruct owned obj.
+    DoubleMatrix *rsm;
+    LibStructural *ls = getLibStruct();
+    if (self.loadOpt.getConservedMoietyConversion())
+    {
+        rsm = ls->getReorderedStoichiometryMatrix();
+    }
+    else
+    {
+        rsm = ls->getStoichiometryMatrix();
+    }
+
+    DoubleMatrix jac = ls::mult(*rsm, uelast);
+
+    // get the row/column ids, independent floating species
+    std::list<std::string> list;
+    self.model->getIds(SelectionRecord::FLOATING_AMOUNT, list);
+    std::vector<std::string> ids(list.begin(), list.end());
+    assert(ids.size() == jac.RSize() &&
+            ids.size() == jac.CSize() && "independent species ids length != RSize && CSize");
+    jac.setColNames(ids);
+    jac.setRowNames(ids);
+
+    return jac;
+}
+
+DoubleMatrix RoadRunner::getFullReorderedJacobian()
+{
+    check_model();
+
+    LibStructural *ls = getLibStruct();
+    DoubleMatrix uelast = getUnscaledElasticityMatrix();
+    DoubleMatrix *rsm = ls->getStoichiometryMatrix();
+    return mult(*rsm, uelast);
+}
+
+DoubleMatrix RoadRunner::getReducedJacobian(double h)
+{
+    get_self();
+
+    check_model();
+
+    if (h <= 0)
+    {
+        h = self.roadRunnerOptions.jacobianStepSize;
+    }
+
+    int nIndSpecies = self.model->getNumIndFloatingSpecies();
+
+    // result matrix
+    DoubleMatrix jac(nIndSpecies, nIndSpecies);
+
+    // get the row/column ids, independent floating species
+    std::list<std::string> list;
+    self.model->getIds(SelectionRecord::INDEPENDENT_FLOATING_AMOUNT, list);
+    std::vector<std::string> ids(list.begin(), list.end());
+    assert(ids.size() == nIndSpecies && "independent species ids length != getNumIndFloatingSpecies");
+    jac.setColNames(ids);
+    jac.setRowNames(ids);
+
+    // need 2 buffers for rate central difference.
+    std::vector<double> dy0v(nIndSpecies);
+    std::vector<double> dy1v(nIndSpecies);
+
+    double* dy0 = &dy0v[0];
+    double* dy1 = &dy1v[0];
+
+    // function pointers to the model get values and get init values based on
+    // if we are doing amounts or concentrations.
+    typedef int (ExecutableModel::*GetValueFuncPtr)(int len, int const *indx,
+            double *values);
+    typedef int (ExecutableModel::*SetValueFuncPtr)(int len, int const *indx,
+                    double const *values);
+
+    GetValueFuncPtr getValuePtr = 0;
+    GetValueFuncPtr getRateValuePtr = 0;
+    SetValueFuncPtr setValuePtr = 0;
+
+    if (Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE).convert<unsigned>()
+            == Config::ROADRUNNER_JACOBIAN_MODE_AMOUNTS)
+    {
+        Log(Logger::LOG_DEBUG) << "getReducedJacobian in AMOUNT mode";
+        getValuePtr =     &ExecutableModel::getFloatingSpeciesAmounts;
+        getRateValuePtr = &ExecutableModel::getFloatingSpeciesAmountRates;
+        setValuePtr =     &ExecutableModel::setFloatingSpeciesAmounts;
+    }
+    else
+    {
+        Log(Logger::LOG_DEBUG) << "getReducedJacobian in CONCENTRATION mode";
+        getValuePtr =     &ExecutableModel::getFloatingSpeciesConcentrations;
+        getRateValuePtr = &ExecutableModel::getFloatingSpeciesAmountRates;
+        setValuePtr =     &ExecutableModel::setFloatingSpeciesConcentrations;
+    }
+
+    for (int i = 0; i < nIndSpecies; ++i)
+    {
+        double savedVal = 0;
+        double y = 0;
+
+        // current value of species i
+        (self.model->*getValuePtr)(1, &i, &savedVal);
+
+        // get the entire rate of change for all the species with
+        // species i being value(i) + h;
+        y = savedVal + h;
+        (self.model->*setValuePtr)(1, &i, &y);
+        (self.model->*getRateValuePtr)(nIndSpecies, 0, dy0);
+
+
+        // get the entire rate of change for all the species with
+        // species i being value(i) - h;
+        y = savedVal - h;
+        (self.model->*setValuePtr)(1, &i, &y);
+        (self.model->*getRateValuePtr)(nIndSpecies, 0, dy1);
+
+        // restore original value
+        (self.model->*setValuePtr)(1, &i, &savedVal);
+
+        // matrix is row-major, so have to copy by elements
+       for (int j = 0; j < nIndSpecies; ++j)
+       {
+           jac(j, i) = (dy0[j] - dy1[j]) / (2.0*h) ;
+       }
+    }
+    return jac;
+}
+
+DoubleMatrix RoadRunner::getLinkMatrix()
+{
+    check_model();
+
+    ls::LibStructural *ls = getLibStruct();
+
+    // pointer to owned matrix
+    DoubleMatrix res = *ls->getLinkMatrix();
+
+    ls->getLinkMatrixLabels(res.getRowNames(), res.getColNames());
+
+    return res;
+}
+
+DoubleMatrix RoadRunner::getReducedStoichiometryMatrix()
+{
+    return getNrMatrix();
+}
+
+DoubleMatrix RoadRunner::getNrMatrix()
+{
+    check_model();
+
+    ls::LibStructural *ls = getLibStruct();
+
+    // pointer to owned matrix
+    DoubleMatrix res = *ls->getNrMatrix();
+
+    ls->getNrMatrixLabels(res.getRowNames(), res.getColNames());
+
+    return res;
+}
+
+DoubleMatrix RoadRunner::getKMatrix()
+{
+    check_model();
+
+    ls::LibStructural *ls = getLibStruct();
+
+    // pointer to owned matrix
+    DoubleMatrix res = *ls->getKMatrix();
+
+    ls->getKMatrixLabels(res.getRowNames(), res.getColNames());
+
+    return res;
+}
+
+
+DoubleMatrix RoadRunner::getFullStoichiometryMatrix()
+{
+    check_model();
+    get_self();
+    ls::LibStructural *ls = getLibStruct();
+
+    if (self.loadOpt.getConservedMoietyConversion()) {
+        // pointer to mat owned by ls
+        DoubleMatrix m = *ls->getReorderedStoichiometryMatrix();
+        ls->getFullyReorderedStoichiometryMatrixLabels(
+                m.getRowNames(), m.getColNames());
+        return m;
+    }
+
+    // pointer to owned matrix
+    DoubleMatrix *mptr = ls->getStoichiometryMatrix();
+    if (!mptr)
+    {
+        throw CoreException("Error: Stoichiometry matrix does not exist for this model");
+    }
+    DoubleMatrix m = *mptr;
+    ls->getStoichiometryMatrixLabels(m.getRowNames(), m.getColNames());
+    return m;
+}
+
+DoubleMatrix RoadRunner::getL0Matrix()
+{
+    check_model();
+    ls::LibStructural *ls = getLibStruct();
+
+    // the libstruct getL0Matrix returns a NEW matrix,
+    // nice consistent API yes?!?!?
+    DoubleMatrix *tmp = ls->getL0Matrix();
+    DoubleMatrix m = *tmp;
+    delete tmp;
+
+    ls->getL0MatrixLabels(m.getRowNames(), m.getColNames());
+    return m;
+}
+
+
+DoubleMatrix RoadRunner::getConservationMatrix()
+{
+    DoubleMatrix mat;
+
+    try
+    {
+       if (impl->model)
+       {
+           DoubleMatrix* aMat = getLibStruct()->getGammaMatrix();
+            if (aMat)
+            {
+                mat.resize(aMat->numRows(), aMat->numCols());
+                for(int row = 0; row < mat.RSize(); row++)
+                {
+                    for(int col = 0; col < mat.CSize(); col++)
+                    {
+                        mat(row,col) = (*aMat)(row,col);
+                    }
+                }
+            }
+            return mat;
+
+       }
+       throw CoreException(gEmptyModelMessage);
+    }
+    catch (const Exception& e)
+    {
+         throw CoreException("Unexpected error from getConservationMatrix()", e.Message());
+    }
+}
+
+// Help("Returns the number of dependent species in the model")
+int RoadRunner::getNumberOfDependentSpecies()
+{
+    try
+    {
+        if (impl->model)
+        {
+            //return mStructAnalysis.GetInstance()->getNumDepSpecies();
+            return getLibStruct()->getNumDepSpecies();
+        }
+
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    catch(Exception &e)
+    {
+        throw CoreException("Unexpected error from getNumberOfDependentSpecies()", e.Message());
+    }
+}
+
+// Help("Returns the number of independent species in the model")
+int RoadRunner::getNumberOfIndependentSpecies()
+{
+    try
+    {
+        if (impl->model)
+        {
+            return getLibStruct()->getNumIndSpecies();
+        }
+        //return StructAnalysis.getNumIndSpecies();
+        throw CoreException(gEmptyModelMessage);
+    }
+    catch (Exception &e)
+    {
+        throw CoreException("Unexpected error from getNumberOfIndependentSpecies()", e.Message());
+    }
+}
+
+double RoadRunner::getVariableValue(const VariableType variableType,
+        const int variableIndex)
+{
+    switch (variableType)
+    {
+    case vtFlux:
+    {
+        double result = 0;
+        impl->model->getReactionRates(1, &variableIndex, &result);
+        return result;
+    }
+    break;
+
+    case vtSpecies:
+    {
+        double result = 0;
+        impl->model->getFloatingSpeciesConcentrations(1, &variableIndex, &result);
+        return result;
+    }
+    break;
+
+    default:
+        throw CoreException("Unrecognised variable in getVariableValue");
+        break;
+    }
+    return 0;
+}
+
+int RoadRunner::createDefaultSteadyStateSelectionList()
+{
+	impl->mSteadyStateSelection.clear();
+	// default should be independent floating species only ...
+	vector<string> floatingSpecies = getFloatingSpeciesIds();
+	int numFloatingSpecies = floatingSpecies.size();
+	//int numIndSpecies = getNumberOfIndependentSpecies();
+	//impl->mSteadyStateSelection.resize(numIndSpecies);
+	impl->mSteadyStateSelection.resize(numFloatingSpecies);
+	//for (int i = 0; i < numIndSpecies; i++)
+	for (int i = 0; i < numFloatingSpecies; i++)
+	{
+		SelectionRecord aRec;
+		aRec.selectionType = SelectionRecord::FLOATING_CONCENTRATION;
+		aRec.p1 = floatingSpecies[i];
+		aRec.index = i;
+		impl->mSteadyStateSelection[i] = aRec;
+	}
+	return impl->mSteadyStateSelection.size();
+}
+
+vector<SelectionRecord>& RoadRunner::getSteadyStateSelections()
+{
+    return impl->mSteadyStateSelection;
+}
+
+vector<double> RoadRunner::getSteadyStateValues()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+    if(impl->mSteadyStateSelection.size() == 0)
+    {
+        createDefaultSteadyStateSelectionList();
+    }
+
+    steadyState();
+
+    vector<double> result; //= new double[oSelection.Length];
+    for (int i = 0; i < impl->mSteadyStateSelection.size(); i++)
+    {
+        result.push_back(getValue(impl->mSteadyStateSelection[i]));
+    }
+    return result;
+}
+
+std::vector<std::string> RoadRunner::getSteadyStateSelectionStrings() const
+{
+    std::vector<std::string> r;
+
+    for (int i = 0; i < impl->mSteadyStateSelection.size(); i++)
+    {
+        r.push_back(impl->mSteadyStateSelection[i].to_string());
+    }
+
+    return r;
+}
+
+DoubleMatrix RoadRunner::getSteadyStateValuesNamedArray()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+    if(impl->mSteadyStateSelection.size() == 0)
+    {
+        createDefaultSteadyStateSelectionList();
+    }
+
+    steadyState();
+
+    DoubleMatrix v(1,impl->mSteadyStateSelection.size());
+    for (int i = 0; i < impl->mSteadyStateSelection.size(); i++)
+    {
+        v(0,i) = getValue(impl->mSteadyStateSelection[i]);
+    }
+
+    v.setColNames(getSteadyStateSelectionStrings());
+
+    return v;
+}
+
+string RoadRunner::getModelName()
+{
+    return impl->model ? impl->model->getModelName() : string("");
+}
+
+/**
+ * find an symbol id in the model and set its value.
+ */
+static void setSBMLValue(libsbml::Model* model, const string& id, double value)
+{
+    if (model == NULL)
+    {
+        throw Exception("You need to load the model first");
+    }
+
+    libsbml::Species* oSpecies = model->getSpecies(id);
+    if (oSpecies != NULL)
+    {
+        if (oSpecies->isSetInitialAmount())
+            oSpecies->setInitialAmount(value);
+        else
+            oSpecies->setInitialConcentration(value);
+        return;
+    }
+
+    libsbml::Compartment* oCompartment = model->getCompartment(id);
+    if (oCompartment != NULL)
+    {
+        oCompartment->setVolume(value); return;
+    }
+
+    for (int i = 0; i < model->getNumReactions(); i++)
+    {
+        libsbml::Reaction* reaction = model->getReaction(i);
+        for (int j = 0; j < reaction->getNumReactants(); j++)
+        {
+            libsbml::SpeciesReference* reference = reaction->getReactant(j);
+            if (reference->isSetId() && reference->getId() == id)
+            {
+                reference->setStoichiometry(value);
+                return;
+            }
+        }
+        for (int j = 0; j < reaction->getNumProducts(); j++)
+        {
+            libsbml::SpeciesReference* reference = reaction->getProduct(j);
+            if (reference->isSetId() && reference->getId() == id)
+            {
+                reference->setStoichiometry(value);
+                return;
+            }
+        }
+    }
+
+    throw Exception("Invalid string name. The id '" + id + "' does not exist in the model");
+}
+
+
+
+
+// Help("Get the number of reactions")
+int RoadRunner::getNumberOfReactions()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+    return impl->model->getNumReactions();
+}
+
+// Help("Returns the rate of a reaction by its index")
+double RoadRunner::getReactionRate(const int& index)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    if ((index >= 0) && (index < impl->model->getNumReactions()))
+    {
+        double result = 0;
+        impl->model->getReactionRates(1, &index, &result);
+        return result;
+    }
+    else
+    {
+        throw CoreException(format("Index in getReactionRate out of range: [{0}]", index));
+    }
+}
+
+
+double RoadRunner::getRateOfChange(const int& index)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    if ((index >= 0) && (index < impl->model->getNumFloatingSpecies()))
+    {
+        double value = 0;
+        impl->model->getFloatingSpeciesAmountRates(1, &index, &value);
+        return value;
+    }
+
+    throw CoreException(format("Index in getRateOfChange out of range: [{0}]", index));
+}
+
+
+// Help("Get the number of compartments")
+int RoadRunner::getNumberOfCompartments()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+    return impl->model->getNumCompartments();
+}
+
+
+void RoadRunner::setCompartmentByIndex(const int& index, const double& value)
+{
+    if (!impl->model)
+    {
+         throw CoreException(gEmptyModelMessage);
+    }
+
+    if ((index >= 0) && (index < impl->model->getNumCompartments()))
+    {
+        impl->model->setCompartmentVolumes(1, &index, &value);
+    }
+    else
+    {
+        throw CoreException(format("Index in getCompartmentByIndex out of range: [{0}]", index));
+    }
+}
+
+double RoadRunner::getCompartmentByIndex(const int& index)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    if ((index >= 0) && (index < impl->model->getNumCompartments()))
+    {
+        double result = 0;
+        impl->model->getCompartmentVolumes(1, &index, &result);
+        return result;
+    }
+
+    throw CoreException(format("Index in getCompartmentByIndex out of range: [{0}]", index));
+}
+
+int RoadRunner::getNumberOfBoundarySpecies()
+{
+    if (!impl->model)
+    {
+        throw Exception(gEmptyModelMessage);
+    }
+    return impl->model->getNumBoundarySpecies();
+}
+
+// Help("Sets the value of a boundary species by its index")
+void RoadRunner::setBoundarySpeciesByIndex(const int& index, const double& value)
+{
+    if (!impl->model)
+    {
+        throw Exception(gEmptyModelMessage);
+    }
+
+    if ((index >= 0) && (index < impl->model->getNumBoundarySpecies()))
+    {
+        impl->model->setBoundarySpeciesConcentrations(1, &index, &value);
+    }
+    else
+    {
+        throw Exception(format("Index in getBoundarySpeciesByIndex out of range: [{0}]", index));
+    }
+}
+
+// Help("Returns the value of a boundary species by its index")
+double RoadRunner::getBoundarySpeciesByIndex(const int& index)
+{
+    if (!impl->model)
+    {
+        throw Exception(gEmptyModelMessage);
+    }
+    if ((index >= 0) && (index < impl->model->getNumBoundarySpecies()))
+    {
+        double result = 0;
+        impl->model->getBoundarySpeciesConcentrations(1, &index, &result);
+        return result;
+    }
+    throw Exception(format("Index in getBoundarySpeciesByIndex out of range: [{0}]", index));
+}
+
+// Help("Returns an array of boundary species concentrations")
+vector<double> RoadRunner::getBoundarySpeciesConcentrations()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    vector<double> result(impl->model->getNumBoundarySpecies(), 0);
+    impl->model->getBoundarySpeciesConcentrations(result.size(), 0, &result[0]);
+    return result;
+}
+
+
+
+
+
+
+// Help("Get the number of floating species")
+int RoadRunner::getNumberOfFloatingSpecies()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+    return impl->model->getNumFloatingSpecies();
+}
+
+
+// Help("Sets the value of a floating species by its index")
+void RoadRunner::setFloatingSpeciesInitialConcentrationByIndex(const int& index, const double& value)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    if ((index >= 0) && (index < impl->model->getNumFloatingSpecies()))
+    {
+        impl->model->setFloatingSpeciesInitConcentrations(1, &index, &value);
+        reset();
+    }
+    else
+    {
+        throw CoreException(format("Index in setFloatingSpeciesInitialConcentrationByIndex out of range: [{0}]", index));
+    }
+}
+
+// Help("Sets the value of a floating species by its index")
+void RoadRunner::setFloatingSpeciesByIndex(int index, double value)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    if ((index >= 0) && (index < impl->model->getNumFloatingSpecies()))
+    {
+        impl->model->setFloatingSpeciesConcentrations(1, &index, &value); // This updates the amount vector aswell
+    }
+    else
+    {
+        throw CoreException(format("Index in setFloatingSpeciesByIndex out of range: [{0}]", index));
+    }
+}
+
+// Help("Returns the value of a floating species by its index")
+double RoadRunner::getFloatingSpeciesByIndex(const int index)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    if ((index >= 0) && (index < impl->model->getNumFloatingSpecies()))
+    {
+        double result = 0;
+        impl->model->getFloatingSpeciesConcentrations(1, &index, &result);
+        return result;
+    }
+    throw CoreException(format("Index in getFloatingSpeciesByIndex out of range: [{0}]", index));
+}
+
+// Help("Returns an array of floating species concentrations")
+vector<double> RoadRunner::getFloatingSpeciesConcentrationsV()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+
+    vector<double> result(impl->model->getNumFloatingSpecies(), 0);
+    impl->model->getFloatingSpeciesConcentrations(result.size(), 0, &result[0]);
+    return result;
+}
+
+// Help("returns an array of floating species initial conditions")
+vector<double> RoadRunner::getFloatingSpeciesInitialConcentrations()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+    vector<double> initYs(impl->model->getNumFloatingSpecies());
+    impl->model->getFloatingSpeciesInitConcentrations(initYs.size(), 0, &initYs[0]);
+    return initYs;
+}
+
+// Help("Sets the initial conditions for all floating species in the model")
+void RoadRunner::setFloatingSpeciesInitialConcentrations(const vector<double>& values)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    impl->model->setFloatingSpeciesConcentrations(values.size(), 0, &values[0]);
+    impl->model->setFloatingSpeciesInitConcentrations(values.size(), 0, &values[0]);
+
+    reset();
+}
+
+// Help("Set the concentrations for all floating species in the model")
+void RoadRunner::setFloatingSpeciesConcentrations(const vector<double>& values)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    impl->model->setFloatingSpeciesConcentrations(values.size(), 0, &values[0]);
+}
+
+// Help("Set the concentrations for all floating species in the model")
+void RoadRunner::setBoundarySpeciesConcentrations(const vector<double>& values)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    impl->model->setBoundarySpeciesConcentrations(values.size(), 0, &values[0]);
+}
+
+
+
+
+// Help("Get the number of global parameters")
+int RoadRunner::getNumberOfGlobalParameters()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+    return getGlobalParameterIds().size();
+}
+
+void RoadRunner::setGlobalParameterByIndex(const int index, const double value)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    impl->model->setGlobalParameterValues(1, &index, &value);
+}
+
+// Help("Returns the value of a global parameter by its index")
+double RoadRunner::getGlobalParameterByIndex(const int& index)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    if ((index >= 0) && (index < (impl->model->getNumGlobalParameters() + impl->model->getNumDepFloatingSpecies())))
+    {
+        int arraySize = impl->model->getNumGlobalParameters() + impl->model->getNumDepFloatingSpecies();
+        double* data = new double[arraySize];
+
+        impl->model->getGlobalParameterValues(impl->model->getNumGlobalParameters(), 0, data);
+
+        impl->model->getConservedMoietyValues(impl->model->getNumDepFloatingSpecies(), 0, data + impl->model->getNumGlobalParameters());
+
+        double result = data[index];
+        delete[] data;
+        return result;
+    }
+
+    throw CoreException(format("Index in getNumGlobalParameters out of range: [{0}]", index));
+}
+
+// Help("Get the values for all global parameters in the model")
+vector<double> RoadRunner::getGlobalParameterValues()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    if (impl->model->getNumDepFloatingSpecies() > 0)
+    {
+        vector<double> result(impl->model->getNumGlobalParameters() +
+                impl->model->getNumDepFloatingSpecies());
+
+        impl->model->getGlobalParameterValues(
+                impl->model->getNumGlobalParameters(), 0, &result[0]);
+
+        impl->model->getConservedMoietyValues(
+                impl->model->getNumDepFloatingSpecies(), 0,
+                &result[impl->model->getNumGlobalParameters()]);
+
+        return result;
+    }
+
+    vector<double> result(impl->model->getNumGlobalParameters());
+    impl->model->getGlobalParameterValues(result.size(), 0, &result[0]);
+    return result;
+}
+
+
+
+
+//---------------- MCA functions......
+//        [Help("Get unscaled control coefficient with respect to a global parameter")]
+double RoadRunner::getuCC(const string& variableName, const string& parameterName)
+{
+    try
+    {
+        if (!impl->model)
+        {
+            throw CoreException(gEmptyModelMessage);
+        }
+
+        ParameterType parameterType;
+        VariableType variableType;
+        double originalParameterValue;
+        int variableIndex;
+        int parameterIndex;
+
+        // Check the variable name
+        if ((variableIndex = impl->model->getReactionIndex(variableName)) >= 0)
+        {
+            variableType = vtFlux;
+        }
+        else if ((variableIndex = impl->model->getFloatingSpeciesIndex(variableName)) >= 0)
+        {
+            variableType = vtSpecies;
+        }
+        else
+        {
+            throw CoreException("Unable to locate variable: [" + variableName + "]");
+        }
+
+        // Check for the parameter name
+        if ((parameterIndex = impl->model->getGlobalParameterIndex(parameterName)) >= 0)
+        {
+            parameterType = ptGlobalParameter;
+            originalParameterValue = 0;
+            impl->model->getGlobalParameterValues(1, &parameterIndex, &originalParameterValue);
+        }
+        else if ((parameterIndex = impl->model->getBoundarySpeciesIndex(parameterName)) >= 0)
+        {
+            parameterType = ptBoundaryParameter;
+            originalParameterValue = 0;
+            impl->model->getBoundarySpeciesConcentrations(1, &parameterIndex, &originalParameterValue);
+        }
+        else if ((parameterIndex = impl->model->getConservedMoietyIndex(parameterName)) >= 0)
+        {
+            parameterType = ptConservationParameter;
+            originalParameterValue = 0;
+            impl->model->getConservedMoietyValues(1, &parameterIndex, &originalParameterValue);
+        }
+        else
+        {
+            throw CoreException("Unable to locate parameter: [" + parameterName + "]");
+        }
+
+        // Get the original parameter value
+        originalParameterValue = impl->getParameterValue(parameterType, parameterIndex);
+
+        double hstep = impl->mDiffStepSize*originalParameterValue;
+        if (fabs(hstep) < 1E-12)
+        {
+            hstep = impl->mDiffStepSize;
+        }
+
+        try
+        {
+            impl->setParameterValue(parameterType, parameterIndex, originalParameterValue + hstep);
+            steadyState();
+            double fi = getVariableValue(variableType, variableIndex);
+
+            impl->setParameterValue(parameterType, parameterIndex, originalParameterValue + 2*hstep);
+            steadyState();
+            double fi2 = getVariableValue(variableType, variableIndex);
+
+            impl->setParameterValue(parameterType, parameterIndex, originalParameterValue - hstep);
+            steadyState();
+            double fd = getVariableValue(variableType, variableIndex);
+
+            impl->setParameterValue(parameterType, parameterIndex, originalParameterValue - 2*hstep);
+            steadyState();
+            double fd2 = getVariableValue(variableType, variableIndex);
+
+            // Use instead the 5th order approximation double unscaledValue = (0.5/hstep)*(fi-fd);
+            // The following separated lines avoid small amounts of roundoff error
+            double f1 = fd2 + 8*fi;
+            double f2 = -(8*fd + fi2);
+
+            // What ever happens, make sure we restore the parameter level
+            impl->setParameterValue(parameterType, parameterIndex, originalParameterValue);
+            steadyState();
+
+            return 1/(12*hstep)*(f1 + f2);
+        }
+        catch(...) //Catch anything... and do 'finalize'
+        {
+            // What ever happens, make sure we restore the parameter level
+            impl->setParameterValue(parameterType, parameterIndex, originalParameterValue);
+            steadyState();
+            throw;
+        }
+    }
+    catch (const Exception& e)
+    {
+        throw CoreException("Unexpected error from getuCC ()", e.Message());
+    }
+}
+
+//        [Help("Get scaled control coefficient with respect to a global parameter")]
+double RoadRunner::getCC(const string& variableName, const string& parameterName)
+{
+    VariableType variableType;
+    ParameterType parameterType;
+    int variableIndex;
+    int parameterIndex;
+
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    // Check the variable name
+    if ((variableIndex = impl->model->getReactionIndex(variableName)) >= 0)
+    {
+        variableType = vtFlux;
+    }
+    else if ((variableIndex = impl->model->getFloatingSpeciesIndex(variableName)) >= 0)
+    {
+        variableType = vtSpecies;
+    }
+    else
+    {
+        throw CoreException("Unable to locate variable: [" + variableName + "]");
+    }
+
+    // Check for the parameter name
+    if ((parameterIndex = impl->model->getGlobalParameterIndex(parameterName)) >= 0)
+    {
+        parameterType = ptGlobalParameter;
+    }
+    else if ((parameterIndex = impl->model->getBoundarySpeciesIndex(parameterName)) >= 0)
+    {
+        parameterType = ptBoundaryParameter;
+    }
+    else if ((parameterIndex = impl->model->getConservedMoietyIndex(parameterName)) >= 0)
+    {
+        parameterType = ptConservationParameter;
+    }
+    else
+    {
+        throw CoreException("Unable to locate parameter: [" + parameterName + "]");
+    }
+
+    steadyState();
+
+    double variableValue = getVariableValue(variableType, variableIndex);
+    double parameterValue = impl->getParameterValue(parameterType, parameterIndex);
+    return getuCC(variableName, parameterName)*parameterValue/variableValue;
+}
+
+
+double RoadRunner::getUnscaledSpeciesElasticity(int reactionId, int speciesIndex)
+{
+    get_self();
+
+    check_model();
+
+    // make sure no rate rules or events
+    metabolicControlCheck(self.model);
+
+    // function pointers to the model get values and get init values based on
+    // if we are doing amounts or concentrations.
+    typedef int (ExecutableModel::*GetValueFuncPtr)(int len, int const *indx,
+            double *values);
+    typedef int (ExecutableModel::*SetValueFuncPtr)(int len, int const *indx,
+                    double const *values);
+
+    GetValueFuncPtr getValuePtr = 0;
+    GetValueFuncPtr getInitValuePtr = 0;
+    SetValueFuncPtr setValuePtr = 0;
+    SetValueFuncPtr setInitValuePtr = 0;
+
+    if (Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE).convert<unsigned>()
+            == Config::ROADRUNNER_JACOBIAN_MODE_AMOUNTS)
+    {
+        getValuePtr = &ExecutableModel::getFloatingSpeciesAmounts;
+        getInitValuePtr = &ExecutableModel::getFloatingSpeciesInitAmounts;
+        setValuePtr = &ExecutableModel::setFloatingSpeciesAmounts;
+        setInitValuePtr = &ExecutableModel::setFloatingSpeciesInitAmounts;
+    }
+    else
+    {
+        getValuePtr = &ExecutableModel::getFloatingSpeciesConcentrations;
+        getInitValuePtr = &ExecutableModel::getFloatingSpeciesInitConcentrations;
+        setValuePtr = &ExecutableModel::setFloatingSpeciesConcentrations;
+        setInitValuePtr = &ExecutableModel::setFloatingSpeciesInitConcentrations;
+    }
+
+    double value;
+    double originalConc = 0;
+    double result = std::numeric_limits<double>::quiet_NaN();
+
+    // note setting init values auotmatically sets the current values to the
+    // init values
+
+    // this causes a reset, so need to save the current amounts to set them back
+    // as init conditions.
+    std::vector<double> conc(self.model->getNumFloatingSpecies());
+    (self.model->*getValuePtr)(conc.size(), 0, &conc[0]);
+
+    // save the original init values
+    std::vector<double> initConc(self.model->getNumFloatingSpecies());
+    (self.model->*getInitValuePtr)(initConc.size(), 0, &initConc[0]);
+
+    // get the original value
+    (self.model->*getValuePtr)(1, &speciesIndex, &originalConc);
+
+    // now we start changing things
+    try
+    {
+        // set init amounts to current amounts, restore them later.
+        // have to do this as this is only way to set conserved moiety values
+        (self.model->*setInitValuePtr)(conc.size(), 0, &conc[0]);
+
+        // sanity check
+        assert_similar(originalConc, conc[speciesIndex]);
+        double tmp = 0;
+        (self.model->*getInitValuePtr)(1, &speciesIndex, &tmp);
+        assert_similar(originalConc, tmp);
+        (self.model->*getValuePtr)(1, &speciesIndex, &tmp);
+        assert_similar(originalConc, tmp);
+
+        // things check out, start fiddling...
+
+        double hstep = self.mDiffStepSize*originalConc;
+        if (fabs(hstep) < 1E-12)
+        {
+            hstep = self.mDiffStepSize;
+        }
+
+        value = originalConc + hstep;
+        (self.model->*setInitValuePtr)(1, &speciesIndex, &value);
+
+        double fi = 0;
+        self.model->getReactionRates(1, &reactionId, &fi);
+
+        value = originalConc + 2*hstep;
+        (self.model->*setInitValuePtr)(1, &speciesIndex, &value);
+        double fi2 = 0;
+        self.model->getReactionRates(1, &reactionId, &fi2);
+
+        value = originalConc - hstep;
+        (self.model->*setInitValuePtr)(1, &speciesIndex, &value);
+        double fd = 0;
+        self.model->getReactionRates(1, &reactionId, &fd);
+
+        value = originalConc - 2*hstep;
+        (self.model->*setInitValuePtr)(1, &speciesIndex, &value);
+        double fd2 = 0;
+        self.model->getReactionRates(1, &reactionId, &fd2);
+
+        // Use instead the 5th order approximation
+        // double unscaledElasticity = (0.5/hstep)*(fi-fd);
+        // The following separated lines avoid small amounts of roundoff error
+        double f1 = fd2 + 8*fi;
+        double f2 = -(8*fd + fi2);
+
+        result = 1/(12*hstep)*(f1 + f2);
+    }
+    catch(const std::exception& e)
+    {
+        // What ever happens, make sure we restore the species level
+        (self.model->*setInitValuePtr)(
+                initConc.size(), 0, &initConc[0]);
+
+        // only set the indep species, setting dep species is not permitted.
+        (self.model->*setValuePtr)(
+                self.model->getNumIndFloatingSpecies(), 0, &conc[0]);
+
+        // re-throw the exception.
+        throw;
+    }
+
+    // What ever happens, make sure we restore the species level
+    (self.model->*setInitValuePtr)(
+            initConc.size(), 0, &initConc[0]);
+
+    // only set the indep species, setting dep species is not permitted.
+    (self.model->*setValuePtr)(
+            self.model->getNumIndFloatingSpecies(), 0, &conc[0]);
+
+    return result;
+}
+
+
+
+DoubleMatrix RoadRunner::getUnscaledElasticityMatrix()
+{
+    get_self();
+
+    check_model();
+
+    DoubleMatrix uElastMatrix(self.model->getNumReactions(), self.model->getNumFloatingSpecies());
+
+    uElastMatrix.setRowNames(getReactionIds());
+    uElastMatrix.setColNames(getFloatingSpeciesIds());
+
+    for (int i = 0; i < self.model->getNumReactions(); i++)
+    {
+        for (int j = 0; j < self.model->getNumFloatingSpecies(); j++)
+        {
+            uElastMatrix[i][j] = getUnscaledSpeciesElasticity(i, j);
+        }
+    }
+
+    return uElastMatrix;
+}
+
+DoubleMatrix RoadRunner::getScaledElasticityMatrix()
+{
+    get_self();
+
+    check_model();
+
+    DoubleMatrix uelast = getUnscaledElasticityMatrix();
+    DoubleMatrix result(uelast.RSize(), uelast.CSize());
+
+    result.setColNames(uelast.getColNames());
+    result.setRowNames(uelast.getRowNames());
+
+    vector<double> rates(self.model->getNumReactions());
+    self.model->getReactionRates(rates.size(), 0, &rates[0]);
+
+    if (uelast.RSize() != rates.size())
+    {
+        // this should NEVER happen
+        throw std::runtime_error("row count of unscaled elasticity different "
+                "than # of reactions");
+    }
+
+    for (int i = 0; i < uelast.RSize(); i++)
+    {
+        for (int j = 0; j < uelast.CSize(); j++) // Columns are species
+        {
+            double concentration = 0;
+            self.model->getFloatingSpeciesConcentrations(1, &j, &concentration);
+
+            result[i][j] = uelast[i][j]*concentration/rates[i];
+        }
+    }
+    return result;
+}
+
+
+double RoadRunner::getScaledFloatingSpeciesElasticity(const string& reactionName,
+        const string& speciesName)
+{
+    get_self();
+
+    check_model();
+
+    int speciesIndex = 0;
+    int reactionIndex = 0;
+
+    if ((speciesIndex = self.model->getFloatingSpeciesIndex(speciesName)) < 0)
+    {
+        throw std::invalid_argument("invalid species name: " + speciesName);
+    }
+    if ((reactionIndex = self.model->getReactionIndex(reactionName)) < 0)
+    {
+        throw std::invalid_argument("invalid reaction name: " + reactionName);
+    }
+
+    double concentration = 0;
+    self.model->getFloatingSpeciesConcentrations(1, &speciesIndex, &concentration);
+
+    double reactionRate = 0;
+    self.model->getReactionRates(1, &reactionIndex, &reactionRate);
+
+    return getUnscaledSpeciesElasticity(reactionIndex, speciesIndex) *
+            concentration / reactionRate;
+}
+
+
+// Use the formula: ucc = -L Jac^-1 Nr
+// [Help("Compute the matrix of unscaled concentration control coefficients")]
+DoubleMatrix RoadRunner::getUnscaledConcentrationControlCoefficientMatrix()
+{
+    get_self();
+
+    check_model();
+
+    int orig_steps = impl->simulateOpt.steps;
+
+    impl->simulateOpt.start = 0;
+    impl->simulateOpt.duration = 50.0;
+    impl->simulateOpt.steps = 1;
+
+    // TODO why is simulate called here???
+    simulate();
+    if (steadyState() > impl->mSteadyStateThreshold)
+    {
+        if (steadyState() > 1E-2)
+        {
+            impl->simulateOpt.steps = orig_steps;
+            throw CoreException("Unable to locate steady state during control coefficient computation");
+        }
+    }
+
+    // Compute the Jacobian first
+    DoubleMatrix uelast     = getUnscaledElasticityMatrix();
+    DoubleMatrix Nr         = getNrMatrix();
+    DoubleMatrix T1 = mult(Nr, uelast);
+    DoubleMatrix LinkMatrix = getLinkMatrix();
+    DoubleMatrix Jac = mult(T1, LinkMatrix);
+
+    // Compute -Jac
+    DoubleMatrix T2 = Jac * (-1.0);
+
+    ComplexMatrix temp(T2); //Get a complex matrix from a double one. Imag part is zero
+    ComplexMatrix Inv = GetInverse(temp);
+
+    // &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+    // Sauro: mult which takes complex matrix need to be implemented
+    DoubleMatrix T3 = mult(Inv, Nr); // Compute ( - Jac)^-1 . Nr
+
+    // Finally include the dependent set as well.
+    DoubleMatrix T4 = mult(LinkMatrix, T3); // Compute L (iwI - Jac)^-1 . Nr
+
+    T4.setRowNames(getFloatingSpeciesIds());
+    T4.setColNames(getReactionIds());
+
+    impl->simulateOpt.steps = orig_steps;
+
+    return T4;
+}
+
+
+DoubleMatrix RoadRunner::getScaledConcentrationControlCoefficientMatrix()
+{
+    get_self();
+
+    check_model();
+
+    DoubleMatrix ucc = getUnscaledConcentrationControlCoefficientMatrix();
+
+    if (ucc.size() > 0 )
+    {
+        for (int i = 0; i < ucc.RSize(); i++)
+        {
+            for (int j = 0; j < ucc.CSize(); j++)
+            {
+                double conc = 0;
+                self.model->getFloatingSpeciesConcentrations(1, &i, &conc);
+
+                double rate = 0;
+                self.model->getReactionRates(1, &j, &rate);
+                ucc[i][j] = ucc[i][j] * rate / conc;
+            }
+        }
+    }
+    return ucc;
+}
+
+// Use the formula: ucc = elast CS + I
+// [Help("Compute the matrix of unscaled flux control coefficients")]
+DoubleMatrix RoadRunner::getUnscaledFluxControlCoefficientMatrix()
+{
+    get_self();
+
+    check_model();
+
+    DoubleMatrix ucc = getUnscaledConcentrationControlCoefficientMatrix();
+    DoubleMatrix uee = getUnscaledElasticityMatrix();
+
+    DoubleMatrix T1 = mult(uee, ucc);
+
+    // Add an identity matrix I to T1, that is add a 1 to every diagonal of T1
+    for (int i=0; i<T1.RSize(); i++) {
+        T1[i][i] = T1[i][i] + 1;
+    }
+
+    T1.setRowNames(getReactionIds());
+    T1.setColNames(getReactionIds());
+
+    return T1;
+}
+
+// [Help("Compute the matrix of scaled flux control coefficients")]
+DoubleMatrix RoadRunner::getScaledFluxControlCoefficientMatrix()
+{
+    try
+    {
+        if (!impl->model)
+        {
+            throw CoreException(gEmptyModelMessage);
+        }
+
+        DoubleMatrix ufcc = getUnscaledFluxControlCoefficientMatrix();
+
+        if (ufcc.RSize() > 0)
+        {
+            for (int i = 0; i < ufcc.RSize(); i++)
+            {
+                for (int j = 0; j < ufcc.CSize(); j++)
+                {
+                    double irate = 0;
+                    impl->model->getReactionRates(1, &i, &irate);
+                    if(irate !=0)
+                    {
+                        double jrate = 0;
+                        impl->model->getReactionRates(1, &j, &jrate);
+                        ufcc[i][j] = ufcc[i][j] * jrate / irate;
+                    }
+                    else
+                    {
+                        throw(Exception("Dividing with zero"));
+                    }
+                }
+            }
+        }
+        return ufcc;
+    }
+    catch (const Exception& e)
+    {
+        throw CoreException("Unexpected error from getScaledFluxControlCoefficientMatrix(): ", e.Message());
+    }
+}
+
+static string convertSBMLVersion(const std::string& str, int level, int version) {
+    libsbml::SBMLReader reader;
+    std::stringstream stream;
+    libsbml::SBMLDocument *doc = 0;
+
+
+    try {
+        // new doc
+        doc = reader.readSBMLFromString(str);
+
+        // this does an in-place conversion, at least for the time being
+        libsbml::SBMLLevelVersionConverter versionConverter;
+
+        libsbml::ConversionProperties versionProps = versionConverter.getDefaultProperties();
+
+        // this is how the target version is set
+        libsbml::SBMLNamespaces targetNamespace(level, version);
+
+        // clones the ns
+        versionProps.setTargetNamespaces(&targetNamespace);
+
+        versionConverter.setProperties(&versionProps);
+
+        // converter does an in-place conversion
+        doc->setApplicableValidators((unsigned char)Config::getInt(
+                Config::SBML_APPLICABLEVALIDATORS));
+
+        versionConverter.setDocument(doc);
+
+        if (versionConverter.convert() != libsbml::LIBSBML_OPERATION_SUCCESS)
+        {
+            Log(rr::Logger::LOG_ERROR) << "could not change source sbml level or version";
+
+            const libsbml::SBMLErrorLog *log = doc->getErrorLog();
+            string errors = log ? log->toString() : string(" NULL SBML Error Log");
+            Log(rr::Logger::LOG_ERROR) << "Conversion Errors: " + errors;
+
+            throw std::logic_error("Error version converting sbml: " + errors);
+        }
+
+        libsbml::SBMLWriter writer;
+        writer.writeSBML(doc, stream);
+        delete doc;
+    }
+    catch(std::exception& exp) {
+        delete doc;
+        throw;
+    }
+
+    return stream.str();
+}
+
+string RoadRunner::getSBML(int level, int version)
+{
+    if (level > 0) {
+        return convertSBMLVersion(impl->mCurrentSBML, level, version);
+    }
+    return impl->mCurrentSBML;
+}
+
+string RoadRunner::getCurrentSBML(int level, int version)
+{
+    check_model();
+
+    get_self();
+
+    libsbml::SBMLReader reader;
+    std::stringstream stream;
+    libsbml::SBMLDocument *doc = 0;
+    libsbml::Model *model = 0;
+
+    try {
+        doc = reader.readSBMLFromString(self.mCurrentSBML); // new doc
+        model = doc->getModel(); // owned by doc
+
+        vector<string> array = getFloatingSpeciesIds();
+        for (int i = 0; i < array.size(); i++)
+        {
+            double value = 0;
+            impl->model->getFloatingSpeciesAmounts(1, &i, &value);
+            setSBMLValue(model, array[i], value);
+        }
+
+        array = getBoundarySpeciesIds();
+        for (int i = 0; i < array.size(); i++)
+        {
+            double value = 0;
+            impl->model->getBoundarySpeciesConcentrations(1, &i, &value);
+            setSBMLValue(model, array[i], value);
+        }
+
+        array = getCompartmentIds();
+        for (int i = 0; i < array.size(); i++)
+        {
+            double value = 0;
+            impl->model->getCompartmentVolumes(1, &i, &value);
+            setSBMLValue(model, array[i], value);
+        }
+
+        array = getGlobalParameterIds();
+        for (int i = 0; i < impl->model->getNumGlobalParameters(); i++)
+        {
+            double value = 0;
+            impl->model->getGlobalParameterValues(1, &i, &value);
+
+            libsbml::Parameter* param = model->getParameter(array[i]);
+            if (param != NULL)
+            {
+                param->setValue(value);
+            }
+            else
+            {
+                // sanity check, just make sure that this is a conserved moeity
+                if (self.model->getConservedMoietyIndex(array[i]) < 0)
+                {
+                    throw std::logic_error("The global parameter name "
+                            + array[i] + " could not be found in the SBML model, "
+                            " and it is not a conserved moiety");
+                }
+            }
+        }
+
+        libsbml::SBMLWriter writer;
+        writer.writeSBML(doc, stream);
+    }
+    catch(std::exception&) {
+        delete doc;
+        doc = 0;
+        throw; // re-throw exception.
+    }
+
+    delete doc;
+
+
+    if (level > 0) {
+        return convertSBMLVersion(stream.str(), level, version);
+    }
+    return stream.str();
+}
+
+void RoadRunner::changeInitialConditions(const vector<double>& ic)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    impl->model->setFloatingSpeciesConcentrations(ic.size(), 0, &ic[0]);
+    impl->model->setFloatingSpeciesInitConcentrations(ic.size(), 0, &ic[0]);
+}
+
+// Help("Returns the current vector of reactions rates")
+vector<double> RoadRunner::getReactionRates()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    vector<double> rates(impl->model->getNumReactions());
+    impl->model->getReactionRates(rates.size(), 0, &rates[0]);
+    return rates;
+}
+
+Integrator* RoadRunner::getIntegrator()
+{
+    //applySimulateOptions();
+    return impl->integrator;
+}
+
+Integrator* RoadRunner::getIntegratorByName(const std::string& name)
+{
+    // ensure it exists
+    makeIntegrator(name);
+    // find it and return
+    for (std::vector<Integrator*>::iterator it = impl->integrators.begin(); it != impl->integrators.end(); ++it)
+    {
+        if ((*it)->getName() == name)
+        {
+            return *it;
+        }
+    }
+    throw std::runtime_error("No integrator implemented for \"" + name + "\"");
+}
+
+SteadyStateSolver* RoadRunner::getSteadyStateSolver()
+{
+    return impl->steady_state_solver;
+}
+
+std::vector<std::string> RoadRunner::getExistingIntegratorNames()
+{
+    std::vector<std::string> result;
+    int i = 0;
+    for (std::vector<Integrator*>::iterator it = impl->integrators.begin(); it != impl->integrators.end(); ++it, ++i)
+    {
+        result.push_back(impl->integrators.at(i)->getName());
+    }
+    return result;
+}
+
+std::vector<std::string> RoadRunner::getRegisteredIntegratorNames()
+{
+    std::vector<std::string> result;
+    for (int n = 0; n<IntegratorFactory::getInstance().getNumIntegrators(); ++n) {
+        result.push_back(IntegratorFactory::getInstance().getIntegratorName(n));
+    }
+    return result;
+}
+
+void RoadRunner::ensureSolversRegistered()
+{
+    // must be run to register integrators at startup
+    IntegratorRegistrationMgr::Register();
+    // must be run to register solvers at startup
+    SolverRegistrationMgr::Register();
+}
+
+std::vector<std::string> RoadRunner::getRegisteredSteadyStateSolverNames()
+{
+    std::vector<std::string> result;
+    for (int n = 0; n<SteadyStateSolverFactory::getInstance().getNumSteadyStateSolvers(); ++n) {
+        result.push_back(SteadyStateSolverFactory::getInstance().getSteadyStateSolverName(n));
+    }
+    return result;
+}
+
+void RoadRunner::setIntegrator(std::string name)
+{
+    Log(Logger::LOG_DEBUG) << "Setting integrator to " << name;
+    // Try to set integrator from an existing reference.
+    if (integratorExists(name))
+    {
+      int i = 0;
+      for (std::vector<Integrator*>::iterator it = impl->integrators.begin(); it != impl->integrators.end(); ++it, ++i)
+      {
+        if (impl->integrators.at(i)->getName() == name)
+        {
+            Log(Logger::LOG_DEBUG) << "Using pre-existing integrator for " << name;
+            impl->integrator = impl->integrators.at(i);
+        }
+      }
+    }
+    // Otherwise, create a new integrator.
+    else
+    {
+        impl->integrator = makeIntegrator(name);
+    }
+}
+
+Integrator* RoadRunner::makeIntegrator(std::string name)
+{
+    if (integratorExists(name)) {
+        Log(Logger::LOG_DEBUG) << "Integrator \"" << name << "\" already exists";
+        return NULL;
+    }
+    Log(Logger::LOG_DEBUG) << "Creating new integrator for " << name;
+    Integrator* result = IntegratorFactory::getInstance().New(name, impl->model);
+    impl->integrators.push_back(result);
+    return result;
+}
+
+
+bool RoadRunner::integratorExists(std::string name)
+{
+	int i = 0;
+	for (std::vector<Integrator*>::iterator it = impl->integrators.begin(); it != impl->integrators.end(); ++it, ++i)
+	{
+		if (impl->integrators.at(i)->getName() == name)
+		{
+			return true;
+		}
+	}
+	return false;
+}
+
+void RoadRunner::setSteadyStateSolver(std::string name)
+{
+    Log(Logger::LOG_DEBUG) << "Setting steady state solver to " << name;
+    // Try to set steady_state_solver from an existing reference.
+    if (steadyStateSolverExists(name))
+    {
+        int i = 0;
+        for (std::vector<SteadyStateSolver*>::iterator it = impl->steady_state_solvers.begin(); it != impl->steady_state_solvers.end(); ++it, ++i)
+        {
+            if (impl->steady_state_solvers.at(i)->getName() == name)
+            {
+                Log(Logger::LOG_DEBUG) << "Using pre-existing steady state solver for " << name;
+                impl->steady_state_solver = impl->steady_state_solvers.at(i);
+            }
+        }
+    }
+    // Otherwise, create a new steady state solver.
+    else
+    {
+        Log(Logger::LOG_DEBUG) << "Creating new steady state solver for " << name;
+        impl->steady_state_solver = SteadyStateSolverFactory::getInstance().New(name, impl->model);
+        impl->steady_state_solvers.push_back(impl->steady_state_solver);
+    }
+}
+
+
+bool RoadRunner::steadyStateSolverExists(std::string name)
+{
+    int i = 0;
+    for (std::vector<SteadyStateSolver*>::iterator it = impl->steady_state_solvers.begin(); it != impl->steady_state_solvers.end(); ++it, ++i)
+    {
+        if (impl->steady_state_solvers.at(i)->getName() == name)
+        {
+            return true;
+        }
+    }
+    return false;
+}
+
+
+void RoadRunner::setValue(const string& sId, double dValue)
+{
+    check_model();
+
+    impl->model->setValue(sId, dValue);
+
+    SelectionRecord sel(sId);
+
+    if (sel.selectionType == SelectionRecord::INITIAL_FLOATING_AMOUNT ||
+            sel.selectionType == SelectionRecord::INITIAL_FLOATING_CONCENTRATION)
+    {
+        reset();
+    }
+}
+
+
+double RoadRunner::getValue(const std::string& sel)
+{
+    return getValue(createSelection(sel));
+}
+
+
+vector<double> RoadRunner::getSelectedValues()
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    vector<double> result;
+    result.resize(impl->mSelectionList.size());
+
+    for (int i = 0; i < impl->mSelectionList.size(); i++)
+    {
+        result[i] = getNthSelectedOutput(i, impl->model->getTime());
+    }
+    return result;
+}
+
+
+static std::vector<std::string> createSelectionList(const SimulateOptions& o)
+{
+    //read from settings the variables found in the amounts and concentrations lists
+    std::vector<std::string> result;
+
+    // have an implied time
+    result.push_back("time");
+
+    // need to add them in order
+    for(vector<string>::const_iterator var = o.variables.begin();
+            var != o.variables.end(); ++var)
+    {
+        if (find(o.concentrations.begin(), o.concentrations.end(), *var)
+                != o.concentrations.end())
+        {
+            result.push_back("[" + *var + "]");
+        }
+
+        else
+        {
+            result.push_back(*var);
+        }
+
+    }
+
+    return result;
+}
+
+SelectionRecord RoadRunner::createSelection(const std::string& str)
+{
+    if (!impl->model)
+    {
+        throw Exception("Can not create selection without a model");
+    }
+
+    SelectionRecord sel(str);
+
+    if (sel.selectionType == SelectionRecord::UNKNOWN)
+    {
+        throw Exception("invalid selection string " + str);
+    }
+
+    // check to see that we have valid selection ids
+    switch(sel.selectionType)
+    {
+    case SelectionRecord::TIME:
+        // time is always fine...
+        break;
+    case SelectionRecord::UNKNOWN_ELEMENT:
+        // check for sbml element types
+
+        if ((sel.index = impl->model->getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            sel.selectionType = SelectionRecord::FLOATING_AMOUNT;
+            break;
+        }
+        else if ((sel.index = impl->model->getBoundarySpeciesIndex(sel.p1)) >= 0)
+        {
+            sel.selectionType = SelectionRecord::BOUNDARY_AMOUNT;
+            break;
+        }
+        else if ((sel.index = impl->model->getCompartmentIndex(sel.p1)) >= 0)
+        {
+            sel.selectionType = SelectionRecord::COMPARTMENT;
+            break;
+        }
+        else if ((sel.index = impl->model->getGlobalParameterIndex(sel.p1)) >= 0)
+        {
+            sel.selectionType = SelectionRecord::GLOBAL_PARAMETER;
+            break;
+        }
+        else if ((sel.index = impl->model->getReactionIndex(sel.p1)) >= 0)
+        {
+            sel.selectionType = SelectionRecord::REACTION_RATE;
+            break;
+        }
+        else
+        {
+            throw Exception("No sbml element exists for symbol '" + str + "'");
+            break;
+        }
+    case SelectionRecord::UNKNOWN_CONCENTRATION:
+        if ((sel.index = impl->model->getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            sel.selectionType = SelectionRecord::FLOATING_CONCENTRATION;
+            break;
+        }
+        else if ((sel.index = impl->model->getBoundarySpeciesIndex(sel.p1)) >= 0)
+        {
+            sel.selectionType = SelectionRecord::BOUNDARY_CONCENTRATION;
+            break;
+        }
+        else
+        {
+            string msg = "No sbml element exists for concentration selection '" + str + "'";
+            Log(Logger::LOG_ERROR) << msg;
+            throw Exception(msg);
+            break;
+        }
+    case SelectionRecord::FLOATING_AMOUNT_RATE:
+        if ((sel.index = impl->model->getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            break;
+        }
+        else
+        {
+            throw Exception("Invalid id '" + str + "' for floating amount rate");
+            break;
+        }
+    case SelectionRecord::ELASTICITY:
+    case SelectionRecord::UNSCALED_ELASTICITY:
+    case SelectionRecord::CONTROL:
+    case SelectionRecord::UNSCALED_CONTROL:
+        // check that the control coef args are valid
+        if (impl->model->getReactionIndex(sel.p1) >= 0 ||
+                impl->model->getFloatingSpeciesIndex(sel.p1) >= 0)
+
+        {
+            if (impl->model->getGlobalParameterIndex(sel.p2) >= 0 ||
+                    impl->model->getBoundarySpeciesIndex(sel.p2) >= 0 ||
+                    impl->model->getConservedMoietyIndex(sel.p2) >= 0)
+            {
+                Log(Logger::LOG_INFORMATION) <<
+                        "Valid metabolic control selection: " << sel.to_repr();
+            }
+            else
+            {
+                throw Exception("The second argument to a metabolic control "
+                        "coefficient selection, " + sel.p2 + ", must be either "
+                        "a global parameter, boundary species or conserved sum");
+            }
+        }
+        else
+        {
+            throw Exception("The first argument to a metabolic control "
+                    "coefficient selection, " + sel.p1 + ", must be either "
+                    "a reaction, floating species or conserved sum");
+        }
+
+        break;
+    case SelectionRecord::EIGENVALUE:
+    case SelectionRecord::EIGENVALUE_COMPLEX:
+        if ((sel.index = impl->model->getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            break;
+        }
+        else
+        {
+            throw Exception("eigen argument '" + sel.p1 + "' is not a floating species.");
+        }
+        break;
+    case SelectionRecord::STOICHIOMETRY:
+        if (impl->model->getFloatingSpeciesIndex(sel.p1) >= 0)
+        {
+            if (impl->model->getReactionIndex(sel.p2) >= 0)
+            {
+                break;
+            }
+            else
+            {
+                throw Exception("second argument to stoich '" + sel.p2 + "' is not a reaction id.");
+            }
+        }
+        else
+        {
+            throw Exception("first argument to stoich '" + sel.p1 + "' is not a floating species id.");
+        }
+        break;
+    case SelectionRecord::INITIAL_CONCENTRATION:
+        if ((sel.index = impl->model->getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            break;
+        }
+        else
+        {
+            throw Exception("Invalid id '" + sel.p1 + "' for floating initial concentration");
+            break;
+        }
+    case SelectionRecord::INITIAL_AMOUNT:
+        if ((sel.index = impl->model->getFloatingSpeciesIndex(sel.p1)) >= 0)
+        {
+            break;
+        }
+        else
+        {
+            throw Exception("Invalid id '" + sel.p1 + "' for floating initial amount");
+            break;
+        }
+    default:
+        Log(Logger::LOG_ERROR) << "A new SelectionRecord should not have this value: "
+            << sel.to_repr();
+        break;
+    }
+
+    return sel;
+}
+
+void RoadRunner::setSelections(const vector<string>& _selList)
+{
+    impl->mSelectionList.clear();
+
+    for(int i = 0; i < _selList.size(); ++i)
+    {
+        impl->mSelectionList.push_back(createSelection(_selList[i]));
+    }
+
+    vector<string> selstr = vector<string>(impl->mSelectionList.size());
+    for(int i = 0; i < selstr.size(); ++i)
+    {
+        selstr[i] = impl->mSelectionList[i].to_string();
+    }
+    impl->simulationResult.setColNames(selstr.begin(), selstr.end());
+}
+
+void RoadRunner::setSelections(const std::vector<rr::SelectionRecord>& ss)
+{
+    impl->mSelectionList = ss;
+}
+
+void RoadRunner::setSteadyStateSelections(const vector<string>& ss)
+{
+    impl->mSteadyStateSelection.clear();
+
+    for(int i = 0; i < ss.size(); ++i)
+    {
+        impl->mSteadyStateSelection.push_back(createSelection(ss[i]));
+    }
+}
+
+void RoadRunner::setSteadyStateSelections(const std::vector<rr::SelectionRecord>& ss)
+{
+    impl->mSteadyStateSelection = ss;
+}
+
+
+
+//Compute the frequency response, startW, Number Of Decades, Number of Points, parameterName, variableName
+Matrix<double> RoadRunner::getFrequencyResponse(double startFrequency,
+        int numberOfDecades, int numberOfPoints,
+        const string& parameterName, const string& variableName,
+        bool useDB, bool useHz)
+{
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    try
+    {
+        vector<string> reactionNames = getReactionIds();
+        vector<string> speciesNames = getFloatingSpeciesIds();
+
+        // Prepare the dv/dp array
+        Matrix< Complex > dvdp(reactionNames.size(), 1);
+
+        //Guess we don't need to simulate here?? (TK)
+        //        SimulateOptions opt;
+        //        opt.start = 0;
+        //        opt.duration = 50.0;
+        //        opt.steps = 1;
+        //        simulate(&opt);
+        if(steadyState() > 1E-2)
+        {
+            throw Exception("Unable to locate steady state during frequency response computation");
+        }
+
+        ComplexMatrix uelast(getUnscaledElasticityMatrix());
+        ComplexMatrix Nr = getNrMatrix();
+        ComplexMatrix LinkMatrix = getLinkMatrix();
+
+        // Compute dv/dp
+        for (int j = 0; j < reactionNames.size(); j++)
+        {
+            double val = getUnscaledParameterElasticity(reactionNames[j], parameterName);
+            dvdp(j, 0) = Complex(val, 0.0);
+            Log(lDebug)<<"dv/dp: " << dvdp(j, 0);
+        }
+
+        // Compute the Jacobian first
+        ComplexMatrix T1(Nr.RSize(), uelast.CSize());
+        T1 = mult(Nr, uelast);
+        Log(lInfo)<<T1;
+
+        ComplexMatrix Jac(Nr.RSize(), LinkMatrix.CSize());
+        Jac = mult(T1, LinkMatrix);
+
+        ComplexMatrix Id(Nr.RSize(), Nr.RSize());
+
+        //Create Identity matrix
+        for(int i = 0; i < Id.RSize(); i++)
+        {
+            Id(i,i) = Complex(1,0);
+        }
+
+        ComplexMatrix T2(Nr.RSize(), LinkMatrix.CSize());   // Stores iwI - Jac  and (iwI - Jac)^-1
+        ComplexMatrix T3(LinkMatrix.RSize(), 1);            // Stores (iwI - Jac)^-1 . Nr
+        ComplexMatrix T4(Nr.RSize(), Nr.CSize());
+        ComplexMatrix T5(LinkMatrix.RSize(), 1);
+        ComplexMatrix Inv(Nr.RSize(), LinkMatrix.CSize());
+
+        // resultArray stores frequency, gain and phase
+        Matrix<double> resultArray(numberOfPoints, 3);
+
+        // Main loop, generate log spaced frequency numbers and compute the gain and phase at each frequency
+        vector<double> w(logspace(startFrequency, numberOfDecades, numberOfPoints));
+
+        for (int i = 0; i < numberOfPoints; i++)
+        {
+            Complex diagVal(0.0, w[i]);
+
+            T1 = multDiag(Id, diagVal); // Compute iwI
+            T2 = subtract(T1, Jac);     // Compute iwI - Jac //// Compute (iwI - Jac)^-1
+            Inv = GetInverse(T2);
+            T3  = mult(Inv, Nr);        // Compute (iwI - Jac)^-1 . Nr
+
+            for (int j = 0; j < reactionNames.size(); j++)
+            {
+                double realPart = getUnscaledParameterElasticity(reactionNames[j], parameterName);
+                dvdp(j, 0) = ls::Complex(realPart, 0.0);
+            }
+
+            T4 = mult(T3, dvdp);    // Compute(iwI - Jac)^-1 . Nr . dvdp
+
+            // Finally include the dependent set as well.
+            T5 = mult(LinkMatrix, T4); // Compute L (iwI - Jac)^-1 . Nr . dvdp
+
+            for (int j = 0; j < speciesNames.size(); j++)
+            {
+                if (speciesNames[j] == variableName)
+                {
+                    double dw = abs(T5(j, 0));
+                    if (useDB)
+                    {
+                        dw = 20.0*log10(dw);
+                    }
+                    resultArray(i,1) = dw;
+                    Complex val(T5(j, 0));
+
+                    double phase = (180.0/M_PI) * rr::phase(val) + getAdjustment(val);
+                    resultArray(i,2) = phase;
+                    break;
+                }
+            }
+            if (useHz)
+            {
+                // Store frequency, convert to Hz by dividing by 2Pi
+                resultArray[i][0] = w[i]/(2.*M_PI);
+            }
+            else
+            {
+                // Store frequency, leave as rad/sec
+                resultArray[i][0] = w[i];
+            }
+        }
+        return resultArray;
+    }
+    catch(const Exception& e)
+    {
+      throw Exception("Unexpected error in getFrequencyResponse(): " +  e.Message());
+    }
+}
+
+
+
+double RoadRunner::getUnscaledParameterElasticity(const string& reactionName, const string& parameterName)
+{
+    int parameterIndex;
+
+    if (!impl->model)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+    try
+    {
+        int reactionIndex = impl->model->getReactionIndex(reactionName);
+
+        if(reactionIndex == -1)
+        {
+            throw CoreException("Internal Error: unable to locate reaction name while computing unscaled elasticity");
+        }
+
+        // Look for the parameter name, check local parameters first, then global
+        ParameterType parameterType;
+
+        if(impl->model->getGlobalParameterIndex(parameterName) != -1)
+        {
+            parameterIndex = impl->model->getGlobalParameterIndex(parameterName);
+            parameterType  = ptGlobalParameter;
+        }
+        else if(impl->model->getBoundarySpeciesIndex(parameterName) != -1)
+        {
+            parameterIndex = impl->model->getBoundarySpeciesIndex(parameterName);
+            parameterType  = ptBoundaryParameter;
+        }
+        else if(impl->model->getConservedMoietyIndex(parameterName) != -1)
+        {
+            parameterIndex = impl->model->getConservedMoietyIndex(parameterName);
+            parameterType = ptConservationParameter;
+        }
+        else
+        {
+            return 0.0;
+        }
+
+        double originalParameterValue = 0.0;
+        double result = 0;
+        switch (parameterType)
+        {
+            case ptGlobalParameter:
+                originalParameterValue = getGlobalParameterByIndex(parameterIndex);
+            break;
+            case ptBoundaryParameter:
+                originalParameterValue = getBoundarySpeciesByIndex(parameterIndex);
+            break;
+            case ptConservationParameter:
+                //originalParameterValue = impl->mModel->getC ;//model.ct[parameterIndex];
+                impl->model->getConservedMoietyValues(1, &parameterIndex, &result);
+                originalParameterValue = result;
+            break;
+            default:
+                throw(Exception("This parameterType is not supported in getUnscaledParameterElasticity"));
+        }
+
+        double hstep = impl->mDiffStepSize*originalParameterValue;
+        if (fabs(hstep) < 1E-12)
+        {
+            hstep = impl->mDiffStepSize;
+        }
+
+        double f1, f2, fi, fi2, fd, fd2;
+        impl->changeParameter(parameterType, reactionIndex, parameterIndex, originalParameterValue, hstep);
+        impl->model->getReactionRates(1, &reactionIndex, &fi);
+
+        impl->changeParameter(parameterType, reactionIndex, parameterIndex, originalParameterValue, 2.0*hstep);
+        impl->model->getReactionRates(1, &reactionIndex, &fi2);
+
+        impl->changeParameter(parameterType, reactionIndex, parameterIndex, originalParameterValue, -hstep);
+        impl->model->getReactionRates(1, &reactionIndex, &fd);
+
+        impl->changeParameter(parameterType, reactionIndex, parameterIndex, originalParameterValue, -2.0*hstep);
+        impl->model->getReactionRates(1, &reactionIndex, &fd2);
+
+        // Use instead the 5th order approximation double unscaledElasticity = (0.5/hstep)*(fi-fd);
+        // The following separated lines avoid small amounts of roundoff error
+        f1 = fd2 + 8.0*fi;
+        f2 = -(8.0*fd + fi2);
+
+        // What ever happens, make sure we restore the species level
+        impl->changeParameter(parameterType, reactionIndex, parameterIndex, originalParameterValue, 0);
+        return 1.0/(12.0*hstep)*(f1 + f2);
+    }
+    catch(const Exception& ex)
+    {
+        throw(Exception("Problem in getUnscaledParameterElasticity():" + ex.getMessage()));
+    }
+}
+
+
+
+vector<double> logspace(const double& startW, const double& d2, const int& n)
+{
+    double d1 = 0;
+    vector<double> y(n);
+    for (int i = 0; i <= n - 2; i++)
+    {
+        y[i] = i*(d2 - d1);
+        y[i] = y[i]/(n - 1);
+        y[i] = d1 + y[i];
+        y[i] = pow(10, y[i]) * startW;
+    }
+    y[n - 1] = pow(10, d2)*startW;
+    return y;
+}
+
+double phase(Complex& val)
+{
+    if ((std::real(val) == 0.0) && (imag(val) == 0.0))
+    {
+        return 0.0;
+    }
+    else
+    {
+        return atan2(imag(val), std::real(val));
+    }
+}
+
+//This function is used in roadrunners freq analysis code...
+double getAdjustment(Complex& z)
+{
+    double adjustment;
+    if (std::real(z) >= 0 && imag(z) >= 0)
+    {
+        adjustment = 0;
+    }
+    else if (std::real(z) >= 0 && imag(z) < 0)
+    {
+        adjustment = 360;
+    }
+    else if (std::real(z) < 0 && imag(z) >= 0)
+    {
+        adjustment = 0;
+    }
+    else
+    {
+        adjustment = 360;
+    }
+    return adjustment;
+}
+
+
+/************************ Selection Ids Species Section ***********************/
+#if (1) /**********************************************************************/
+/******************************************************************************/
+
+void RoadRunner::getIds(int types, std::list<std::string>& ids)
+{
+    if (impl->model)
+    {
+        impl->model->getIds(types, ids);
+
+        if (types & SelectionRecord::EIGENVALUE)
+        {
+            std::list<std::string> eigen;
+            impl->model->getIds(SelectionRecord::FLOATING_AMOUNT, eigen);
+
+            for (std::list<std::string>::const_iterator i =
+                    eigen.begin(); i != eigen.end(); ++i)
+            {
+                ids.push_back("eigen(" + *i + ")");
+            }
+        }
+    }
+}
+
+vector<string> RoadRunner::getIndependentFloatingSpeciesIds()
+{
+    return getLibStruct()->getIndependentSpecies();
+}
+
+vector<string> RoadRunner::getDependentFloatingSpeciesIds()
+{
+    return getLibStruct()->getDependentSpecies();
+}
+
+int RoadRunner::getSupportedIdTypes()
+{
+    int types = impl->model ? impl->model->getSupportedIdTypes() : 0;
+
+    return types | SelectionRecord::ELASTICITY |
+            SelectionRecord::UNSCALED_ELASTICITY |
+            SelectionRecord::CONTROL |
+            SelectionRecord::UNSCALED_CONTROL |
+            SelectionRecord::EIGENVALUE;
+}
+
+vector<string> RoadRunner::getRateOfChangeIds()
+{
+    std::list<std::string> list;
+
+    if (impl->model) {
+        impl->model->getIds(SelectionRecord::FLOATING_AMOUNT_RATE, list);
+    }
+
+    return std::vector<std::string>(list.begin(), list.end());
+}
+
+vector<string> RoadRunner::getCompartmentIds()
+{
+    std::list<std::string> list;
+
+    if (impl->model) {
+        impl->model->getIds(SelectionRecord::COMPARTMENT, list);
+    }
+
+    return std::vector<std::string>(list.begin(), list.end());
+}
+
+vector<string> RoadRunner::getGlobalParameterIds()
+{
+    std::list<std::string> list;
+
+    if (impl->model) {
+        impl->model->getIds(SelectionRecord::GLOBAL_PARAMETER, list);
+    }
+
+    return std::vector<std::string>(list.begin(), list.end());
+}
+
+vector<string> RoadRunner::getBoundarySpeciesIds()
+{
+    std::list<std::string> list;
+
+    if (impl->model) {
+        impl->model->getIds(SelectionRecord::BOUNDARY_AMOUNT, list);
+    }
+
+    return std::vector<std::string>(list.begin(), list.end());
+}
+
+vector<string> RoadRunner::getConservedMoietyIds()
+{
+    return createModelStringList(impl->model, &ExecutableModel::getNumConservedMoieties,
+            &ExecutableModel::getConservedMoietyId);
+}
+
+vector<string> RoadRunner::getFloatingSpeciesIds()
+{
+    std::list<std::string> list;
+
+    if (impl->model) {
+        impl->model->getIds(SelectionRecord::FLOATING_AMOUNT, list);
+    }
+
+    return std::vector<std::string>(list.begin(), list.end());
+}
+
+vector<string> RoadRunner::getFloatingSpeciesInitialConditionIds()
+{
+    std::list<std::string> list;
+
+    if (impl->model) {
+        impl->model->getIds(SelectionRecord::INITIAL_FLOATING_CONCENTRATION, list);
+    }
+
+    return std::vector<std::string>(list.begin(), list.end());
+}
+
+vector<string> RoadRunner::getFloatingSpeciesInitialConcentrationIds()
+{
+    std::list<std::string> list;
+
+    if (impl->model) {
+        impl->model->getIds(SelectionRecord::INITIAL_FLOATING_CONCENTRATION, list);
+    }
+
+    return std::vector<std::string>(list.begin(), list.end());
+}
+
+vector<string> RoadRunner::getReactionIds()
+{
+    std::list<std::string> list;
+
+    if (impl->model) {
+        impl->model->getIds(SelectionRecord::REACTION_RATE, list);
+    }
+
+    return std::vector<std::string>(list.begin(), list.end());
+}
+
+vector<string> RoadRunner::getEigenValueIds()
+{
+    std::list<std::string> list;
+
+    getIds(SelectionRecord::EIGENVALUE, list);
+
+    return std::vector<std::string>(list.begin(), list.end());
+}
+
+
+/************************ End Selection Ids Species Section *******************/
+#endif /***********************************************************************/
+/******************************************************************************/
+
+RoadRunnerOptions& RoadRunner::getOptions()
+{
+    return impl->roadRunnerOptions;
+}
+
+const DoubleMatrix* RoadRunner::getSimulationData() const
+{
+    return &impl->simulationResult;
+}
+
+void RoadRunner::applySimulateOptions()
+{
+    get_self();
+
+    if (self.simulateOpt.duration < 0 || self.simulateOpt.start < 0
+            || self.simulateOpt.steps < 0 )
+    {
+        throw std::invalid_argument("duration, startTime and steps must be non-negative");
+    }
+
+    // This one creates the list of what we will look at in the result
+    // uses values (potentially) from simulate options.
+    createTimeCourseSelectionList();
+
+    if (self.simulateOpt.reset_model)
+    {
+        reset(); // reset back to initial conditions
+		self.simulateOpt.reset_model = false;
+    }
+}
+
+
+static void metabolicControlCheck(ExecutableModel *model)
+{
+    static const char* e1 = "Metabolic control analysis only valid "
+            "for primitive reaction kinetics models. ";
+    if (model->getNumRateRules() > 0)
+    {
+        throw std::invalid_argument(string(e1) + "This model has rate rules");
+    }
+
+    if (model->getNumEvents() > 0)
+    {
+        throw std::invalid_argument(string(e1) + "This model has events");
+    }
+}
+
+} //namespace
+
+#if defined(_WIN32)
+#pragma comment(lib, "IPHLPAPI.lib") //Becuase of poco needing this
+#endif
diff --git a/source/rrRoadRunner.h b/source/rrRoadRunner.h
new file mode 100644
index 0000000..b1b1817
--- /dev/null
+++ b/source/rrRoadRunner.h
@@ -0,0 +1,1042 @@
+#ifndef rrRoadRunnerH
+#define rrRoadRunnerH
+
+#include "rrOSSpecifics.h"
+#include "rr-libstruct/lsMatrix.h"
+#include "rrSelectionRecord.h"
+#include "rrRoadRunnerOptions.h"
+
+#include <string>
+#include <vector>
+#include <list>
+
+namespace ls
+{
+class LibStructural;
+}
+
+namespace rr
+{
+
+class ModelGenerator;
+class SBMLModelSimulation;
+class ExecutableModel;
+class Integrator;
+class SteadyStateSolver;
+
+/**
+ * The main RoadRunner class.
+ *
+ * The RoadRunner class is responsible for loading and simulating SBML models.
+ *
+ * MemoryManagment: Any pointer returned by a get... method is owned by the
+ * RoadRunner object and does NOT have to be deleted.
+ */
+class RR_DECLSPEC RoadRunner
+{
+
+public:
+
+    /**
+     * create an empty RoadRunner object.
+     */
+    RoadRunner();
+
+    /**
+     * load an sbml document from anywhere.
+     *
+     * same arguments as load.
+     *
+     * If options is not null, then the RoadRunner::computeAndAssignConservationLaws
+     * flag is set to whatever value is specified in the options struct.
+     *
+     * @param uriOrSBML: a URI, local path or sbml document contents.
+     * @param options: an options struct, if null, default values are used.
+     */
+    RoadRunner(const std::string& uriOrSBML, const Dictionary* options = 0);
+
+    /**
+     * All three of the RoadRunner options default to the empty string, in this
+     * case, the default values are used.
+     *
+     * @param compiler: If LLVM build is enabled, the compiler defaults to LLVM.
+     * @param tempDir: If the old external C compiler is used, this is the
+     *                    where the C files are written to.
+     * @param supportCodeDir: If the old external C compiler is used, this is
+     *      the location where roadrunner C include files are.
+     */
+    RoadRunner(const std::string& compiler, const std::string& tempDir,
+            const std::string& supportCodeDir);
+
+    /**
+     * free any memory this class allocated
+     */
+    virtual ~RoadRunner();
+
+    /**
+     * When there are multiple instances of RoadRunner, this is the instance id.
+     */
+    int getInstanceID();
+
+    /**
+     * Number of currently running RoadRunner instances.
+     */
+    int getInstanceCount();
+
+    /**
+     * given an sbml document, this method moves all the local parameters
+     * to global parameters.
+     */
+    static std::string getParamPromotedSBML(const std::string& sArg);
+
+    /**
+     * information about the current state of this object.
+     */
+    std::string getInfo();
+
+    /**
+     * The Compiler that the ModelGenerator is using to compile / interpret sbml code.
+     */
+    class Compiler* getCompiler();
+
+    /**
+     * Set the name of the externa compiler to use. Some ModelGenerators may have no use
+     * for this value.
+     *
+     * An exception is raised if the string is invalid.
+     */
+    void setCompiler(const std::string& compiler);
+
+    /**
+     * get a pointer to the integrator which is currently being used to
+     * time evolve the system.
+     */
+    Integrator* getIntegrator();
+
+    /**
+     * Get an integrator by name without switching the current integrator
+     */
+    Integrator* getIntegratorByName(const std::string& name);
+
+    /**
+     * Make an integrator for the given name
+     */
+    Integrator* makeIntegrator(std::string name);
+
+    /**
+     * get a pointer to the current steady state solver
+     */
+    SteadyStateSolver* getSteadyStateSolver();
+
+	/* Return a list of the names of all existing integrators. */
+	std::vector<std::string> getExistingIntegratorNames();
+
+    /**
+     * Return a vector of the names of all registered integrators
+     */
+    static std::vector<std::string> getRegisteredIntegratorNames();
+
+    /**
+     * Return a vector of the names of all registered integrators
+     */
+    static std::vector<std::string> getRegisteredSteadyStateSolverNames();
+
+    /**
+     * Ensures all integrators and steady state solvers are registered
+     */
+    static void ensureSolversRegistered();
+
+	// DEPRECATED
+	//Integrator* getIntegrator(std::string name);
+
+	void setIntegrator(std::string name);
+
+	bool integratorExists(std::string name);
+
+    void setSteadyStateSolver(std::string name);
+
+    bool steadyStateSolverExists(std::string name);
+
+    bool isModelLoaded();
+
+    /**
+     * returns the model name if a model is loaded, empty string otherwise.
+     */
+    std::string getModelName();
+
+    /**
+     * @brief Clears the currently loaded model and all associated memory
+     * @details Deletes jitted code and libStruct data
+     * @returns True if memory was freed, false if no model was loaded
+     * in the first place
+     */
+    bool clearModel();
+
+
+    /**
+     * Carry out a single integration step using a stepsize as indicated
+     * in the method call.
+     *
+     * @param t0 starting time
+     * @param tf final time
+     * @param options override current options.
+     */
+    double integrate(double t0, double tf, const SimulateOptions* options = 0);
+
+    /**
+     * @deprecated, use integrate instead.
+     */
+    double oneStep(double currentTime, double stepSize, bool reset = true);
+
+    /**
+     * Simulate the current SBML model.
+     *
+     * If options is null, then the current simulation settings (start time,
+     * end time, n steps) are used. If options is not null, then the
+     * current simulation settings are set to the values specified by
+     * options and they are used.
+     *
+     * The options Dictionary may contain a large number of options, for a complete
+     * list of all available options for each integrator type, @see IntegratorFactory,
+     * @see SimulateOptions.
+     *
+     * For example, to perform a simulation from time 0 to 10 with 1000 steps, using a
+     * stiff integtator, you would:
+     * @code
+     * RoadRunner r = RoadRunner("someFile.xml");
+     * BasicDictionary opt;
+     * opt.setItem("start", 0);
+     * opt.setItem("duration", 10);
+     * opt.setItem("steps", 1000);
+     * opt.setItem("stiff", true);
+     * const DoubleMatrix *result = r.simulate(&opt);
+     * @endcode
+     *
+     * Similarly, if one wants to use a stochastic integrator, such as the Gillespie
+     * integrator, this is set via the "integrator" key, i.e.
+     * @code
+     * RoadRunner r = RoadRunner("someFile.xml");
+     * BasicDictionary opt;
+     * opt.setItem("integrator", "gillespie");
+     * opt.setItem("start", 0);
+     * opt.setItem("duration", 10);
+     * opt.setItem("steps", 1000);
+     * opt.setItem("stiff", true);
+     * opt.setItem("seed", 12345);
+     * const DoubleMatrix *result = r.simulate(&opt);
+     * @endcode
+     * Here, the "integrator" specifies the integrator to use. The "stiff" key
+     * is only used by the deterministic solvers, and it is safely ignored by the
+     * stochastic solvers. Also, the "seed" sets the random seed that the integrator
+     * uses. For more information about all of the avaialble options for each integrator,
+     * @see IntegratorFactory::getIntegratorOptions".
+     *
+     * @throws an std::exception if any options are invalid.
+     * @returns a borrowed reference to a DoubleMatrix object if successfull.
+     */
+    const ls::DoubleMatrix *simulate(const Dictionary* options = 0);
+
+    /**
+     * RoadRunner keeps a copy of the simulation data around until the
+     * next call to simulate. This matrix can be obtained here.
+     */
+    const ls::DoubleMatrix* getSimulationData() const;
+
+    #ifndef SWIG // deprecated methods not SWIG'ed
+
+    #endif
+
+    void setSimulateOptions(const SimulateOptions& settings);
+
+    /**
+     * get a reference to the SimulateOptions that were set either
+     * by setSimulateOptions or simulate.
+     */
+    SimulateOptions& getSimulateOptions();
+
+    /**
+     * Get a reference to the options that determine how this class should behave.
+     *
+     * These are general options. For options specific for loading or simulationg,
+     * @see getSimulateOptions.
+     */
+    RoadRunnerOptions& getOptions();
+
+
+    void setOptions(const RoadRunnerOptions&);
+
+    /**
+     * get the originally loaded sbml document as a string.
+     *
+     * This may optionally up or downconvert the document to a different version, if
+     * the level and version arguments are non-zero.
+     *
+     * If both arguments are zero, then the document is left alone and the
+     */
+    std::string getSBML(int level = 0, int version = 0);
+
+
+    /**
+     * Returns the SBML with the current model parameters. This is different than
+     * getSBML which returns the orginal SBML.
+     *
+     * This may optionally up or downconvert the document to a different version, if
+     * the level and version arguments are non-zero.
+     *
+     * If both arguments are zero, then the document is left alone and the original
+     * version is returned.
+     */
+    std::string getCurrentSBML(int level = 0, int version = 0);
+
+    /**
+     * Picks up default options from config.
+     *
+     * The current default is
+     * SelectionRecord::TIME | SelectionRecord::RATE | SelectionRecord::FLOATING.
+     */
+    void reset();
+
+    /**
+     * reset the model accordign to a bitfield specified by the
+     * SelectionRecord::SelectionType values.
+     *
+     * Note, this would make more sense as an unsigned, however SWIG has issues mapping
+     * an enum to an unsigned, but seems to map enums just fine to an int.
+     *
+     * For example, to reset the floating species, time and rate rule values:
+     * @code
+     * r.reset(SelectionRecord::TIME | SelectionRecord::RATE | SelectionRecord::FLOATING);
+     * @endcode
+     *
+     * @param options a bitmask made from the SelectionRecord::SelectionTypes values.
+     */
+    void reset(int options);
+
+    /**
+     * @internal
+     * set the floating species initial concentrations.
+     *
+     * equivalent to ExecutableModel::reset, then ExecutableModel::setFloatingSpeciesConcentrations
+     *
+     * @deprecated
+     */
+    void changeInitialConditions(const std::vector<double>& ic);
+
+
+    /**
+     * get a pointer to the ExecutableModel owned by the RoadRunner object.
+     */
+    ExecutableModel* getModel();
+
+    /**
+     * load an sbml document from anywhere.
+     *
+     * If options is not null, then the RoadRunner::computeAndAssignConservationLaws
+     * flag is set to whatever value is specified in the options struct.
+     *
+     * WARNING, will no longer return a value in next version.
+     *
+     * @param uriOrSBML: a URI, local path or sbml document contents.
+     * @param options: an options struct, if null, default values are used.
+     */
+    void load(const std::string& uriOrSBML,
+            const Dictionary* options = 0);
+
+
+/************************ Selection Ids Species Section ***********************/
+#if (1) /**********************************************************************/
+/******************************************************************************/
+
+    /**
+     * create a selection record. This record can be used to select values.
+     */
+    rr::SelectionRecord createSelection(const std::string& str);
+
+    /**
+     * Returns the currently selected columns that will be returned by
+     * calls to simulate() or simulateEx(,,).
+     */
+    std::vector<rr::SelectionRecord>& getSelections();
+
+    /**
+     * Creates a new selection based on the selection string,
+     * and returns the value it queries.
+     */
+    double getValue(const std::string& sel);
+
+    double getValue(const SelectionRecord& record);
+
+
+    void setSelections(const std::vector<std::string>& selections);
+
+    void setSelections(const std::vector<rr::SelectionRecord>& selections);
+
+
+    /**
+     * returns the values selected with SimulateOptions for the current model time / timestep")
+     */
+    std::vector<double> getSelectedValues();
+
+    /**
+     * populates a given list with all the ids that this class can accept.
+     */
+    void getIds(int types, std::list<std::string> &ids);
+
+    /**
+      * @author JKM
+      * @brief Gets the ids for all independent floating species
+      * @details Independent means (in this case) that the species is unique
+      * up to a conserved cycle, i.e. each conserved cycle counts for only
+      * one species. See Sauro, Systems Biology: Introduction to Pathway
+      * Modeling, 1st ed. pp. 60.
+      */
+    std::vector<std::string> getIndependentFloatingSpeciesIds();
+
+    /**
+      * @author JKM
+      * @brief Gets the ids for all dependent floating species
+      * @details See @ref getIndependentFloatingSpeciesIds for an explanation
+      * of independent vs. dependent.
+      */
+    std::vector<std::string> getDependentFloatingSpeciesIds();
+
+    /**
+      * @brief Gets the ids for all initial floating species concentrations
+      * @details See @ref getIndependentFloatingSpeciesIds for an explanation
+      * of independent vs. dependent.
+      */
+    std::vector<std::string> getFloatingSpeciesInitialConcentrationIds();
+
+    /**
+     * returns a bit field of the ids that this class supports.
+     */
+    int getSupportedIdTypes();
+
+
+    /**
+     * sets the value coresponding to the given selection string
+     *
+     * raises an exception in the selection string is invalid.
+     */
+    void setValue(const std::string& id, double value);
+
+/************************ End Selection Ids Species Section *******************/
+#endif /***********************************************************************/
+/******************************************************************************/
+
+    /**
+     * @author JKM
+     * @brief Returns the floating species amounts as a named array
+     */
+    ls::DoubleMatrix getFloatingSpeciesAmounts();
+
+    /**
+     * @author JKM
+     * @brief Returns the floating species concentrations as a named array
+     */
+    ls::DoubleMatrix getFloatingSpeciesConcentrations();
+
+    /**
+     * compute the full Jacobian at the current operating point
+     */
+    ls::DoubleMatrix getFullJacobian();
+
+    ls::DoubleMatrix getFullReorderedJacobian();
+
+    /**
+     * Compute the reduced Jacobian at the current operating point.
+     * @param h The step sized used for central difference method.
+     *          If negative, the default value from the config file is used.
+     */
+    ls::DoubleMatrix getReducedJacobian(double h = -1.0);
+
+    /**
+     * Returns the eigenvalues of the full jacobian.
+     *
+     * If the eigenvalues are all real, this returns a N x 1 matrix,
+     * if complex, returns an N x 2 matrix where the first column is the
+     * real values and the second is the imaginary part.
+     */
+    std::vector<ls::Complex> getFullEigenValues();
+
+    /**
+     * Returns the eigenvalues of the reduced jacobian.
+     *
+     * If the eigenvalues are all real, this returns a N x 1 matrix,
+     * if complex, returns an N x 2 matrix where the first column is the
+     * real values and the second is the imaginary part.
+     */
+    std::vector<ls::Complex> getReducedEigenValues();
+
+
+    ls::DoubleMatrix getLinkMatrix();
+
+    /**
+     * get the reduced stochiometry matrix. If conservation conversion is enabled,
+     * this is the matrix that coresponds to the independent species.
+     *
+     * A synonym for getReducedStoichiometryMatrix().
+     */
+    ls::DoubleMatrix getNrMatrix();
+
+
+    /**
+     * Returns the K matrix (right nullspace of Nr)
+     * The K matrix has the structure, [I K0]'
+     */
+    ls::DoubleMatrix getKMatrix();
+
+    /**
+     * get the reduced stochiometry matrix. If conservation conversion is enabled,
+     * this is the matrix that coresponds to the independent species.
+     *
+     * A synonym for getNrMatrix().
+     */
+    ls::DoubleMatrix getReducedStoichiometryMatrix();
+
+    /**
+     * Get the stoichiometry matrix that coresponds to the full model, even it
+     * it was converted via conservation conversion.
+     */
+    ls::DoubleMatrix getFullStoichiometryMatrix();
+
+
+    ls::DoubleMatrix getL0Matrix();
+
+
+    ls::DoubleMatrix getConservationMatrix();
+    ls::DoubleMatrix getUnscaledConcentrationControlCoefficientMatrix();
+    ls::DoubleMatrix getScaledConcentrationControlCoefficientMatrix();
+    ls::DoubleMatrix getUnscaledFluxControlCoefficientMatrix();
+    ls::DoubleMatrix getScaledFluxControlCoefficientMatrix();
+
+
+    /**
+     * returns the list of floating species, but with a "eigen(...)" string
+     * wrapped around them.
+     */
+    std::vector<std::string> getEigenValueIds();
+
+    /**
+     * Returns the unscaled elasticity for a named reaction with respect to a
+     * named parameter
+     */
+    double getUnscaledParameterElasticity(const string& reactionName,
+            const string& parameterName);
+
+
+    ls::DoubleMatrix getFrequencyResponse(double startFrequency,
+            int numberOfDecades, int numberOfPoints,
+            const string& parameterName, const string& variableName,
+            bool useDB, bool useHz);
+
+    /**
+     * This method turns on / off the computation and adherence to conservation laws.
+     */
+    void setConservedMoietyAnalysis(bool value);
+
+    /**
+     * is conservation analysis enabled. This is set
+     */
+    bool getConservedMoietyAnalysis();
+
+
+    /**
+     * getVersion plus info about dependent libs versions..
+     */
+    static std::string getExtendedVersionInfo();
+
+
+    /**
+     * @author JKM
+     * @brief Set the differential step size used in MCA routines like @ref getCC
+     */
+    double getDiffStepSize() const;
+
+    /**
+     * @author JKM
+     * @brief Set the differential step size used in MCA routines like @ref getCC
+     */
+    void setDiffStepSize(double val);
+
+    /**
+     * @author JKM
+     * @brief Get the steady state threshold used in getCC
+     * @details In the MCA routines, RoadRunner will keep trying to
+     * converge to a steady state until this threshold is met
+     */
+    double getSteadyStateThreshold() const;
+
+    /**
+     * @author JKM
+     * @brief Set the steady state threshold used in getCC
+     * @details In the MCA routines, RoadRunner will keep trying to
+     * converge to a steady state until this threshold is met
+     */
+    void setSteadyStateThreshold(double val);
+
+    /**
+     * Get unscaled control coefficient with respect to a global parameter
+     *
+     * variableName must be either a reaction or floating species.
+     *
+     * parameterName must be eithe a global parameter, boundary species, or
+     * conserved sum.
+     */
+    double getuCC(const std::string& variableName, const std::string& parameterName);
+
+    /**
+     * Get scaled control coefficient with respect to a global parameter
+     *
+     * The variableName must be either a reaction id, or a floating species id.
+     *
+     * The parameterName must be either a global parameter, boundary species,
+     * or conserved sum.
+     */
+    double getCC(const std::string& variableName, const std::string& parameterName);
+
+    /**
+     * Get unscaled elasticity coefficient with respect to a global parameter or species
+     */
+    double getuEE(const std::string& reactionName, const std::string& parameterName);
+
+    /**
+     * Get unscaled elasticity coefficient with respect to a global parameter or species.
+     * Optionally the model is brought to steady state after the computation.
+     */
+    double getuEE(const std::string& reactionName, const std::string& parameterName,
+            bool computeSteadystate);
+
+    /**
+     * Get scaled elasticity coefficient with respect to a global parameter or species
+     */
+    double getEE(const std::string& reactionName, const std::string& parameterName);
+
+    /**
+     * Get scaled elasticity coefficient with respect to a global parameter or species.
+     * Optionally the model is brought to steady state after the computation.
+     */
+    double getEE(const std::string& reactionName, const std::string& parameterName,
+            bool computeSteadyState);
+
+    /**
+     * Compute the unscaled species elasticity matrix at the current operating point
+     */
+    ls::DoubleMatrix getUnscaledElasticityMatrix();
+
+    /**
+     * Compute the unscaled elasticity matrix at the current operating point
+     */
+    ls::DoubleMatrix getScaledElasticityMatrix();
+
+    /**
+     * Compute the scaled elasticity for a given reaction and given species
+     */
+    double getScaledFloatingSpeciesElasticity(const std::string& reactionName,
+            const std::string& speciesName);
+
+    /**
+     * Get a single species elasticity value
+     * IMPORTANT:
+     * Assumes that the reaction rates have been precomputed at the operating point !!
+     */
+    double getUnscaledSpeciesElasticity(int reactionId, int speciesIndex);
+
+
+    /******************************* Steady State Section *************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * Compute the steady state of the model, returns the sum of squares of the
+     * solution
+     *
+     * The steady state solver and whatever options it needs may be specified
+     * via the given dictionary. For a list of all available steady state solvers,
+     * @see SteadyStateSolverFactory.
+     *
+     * @param dict a pointer to a dictionary which has the steady state options.
+     * May be NULL, in this case the existing options are used.
+     */
+    double steadyState(const Dictionary* dict = 0);
+
+    /**
+     * Like @ref steadyState but returns a named array of the steady state values
+     */
+    ls::DoubleMatrix steadyStateNamedArray(const Dictionary* dict = 0);
+
+    /**
+     * returns the current set of steady state selections.
+     */
+    std::vector<rr::SelectionRecord>& getSteadyStateSelections();
+
+    /**
+     * parses the given list of strings and generates selections records
+     * which will be used for the steady state selections.
+     */
+    void setSteadyStateSelections(const std::vector<std::string>&
+            steadyStateSelections);
+
+    /**
+     * makes a copy of an existing list of selection records. These will be
+     * saved and used for selection values in getSteadyStateValues().
+     */
+    void setSteadyStateSelections(const std::vector<rr::SelectionRecord>&
+            steadyStateSelections);
+
+    /**
+     * Performs a steady state calculation (evolves the system to a steady
+     * state), then calculates and returns the set of values specifed by
+     * the steady state selections.
+     */
+    std::vector<double> getSteadyStateValues();
+
+    /**
+     * Returns a vector of the steady state selection strings
+     */
+    std::vector<std::string> getSteadyStateSelectionStrings() const;
+
+    /**
+     * Like @ref getSteadyStateValues but returns a named array
+     */
+    ls::DoubleMatrix getSteadyStateValuesNamedArray();
+
+    /******************************* End Steady State Section *********************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+    /*********              Used by rrplugins             *************************/
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    void setBoundarySpeciesByIndex(const int& index, const double& value);
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    int getNumberOfIndependentSpecies();
+
+    /**
+     * @internal
+     * @deprecated use ExecutableModel::getGlobalParameterIds
+     */
+    std::vector<std::string> getGlobalParameterIds();
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    std::vector<std::string> getBoundarySpeciesIds();
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    double getBoundarySpeciesByIndex(const int& index);
+
+    /**
+     * @internal
+     * @deprecated use ExecutableModel::getGlobalParameterValues
+     */
+    double getGlobalParameterByIndex(const int& index);
+
+
+    /******** !!! DEPRECATED INTERNAL METHODS * THESE WILL BE REMOVED!!! **********/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * @author MTK, JKM
+     * @brief Returns the sum of each conserved cycle
+     */
+    std::vector<double> getConservedMoietyValues();
+
+    #ifndef SWIG // deprecated methods not SWIG'ed
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(int getNumberOfReactions());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(double getReactionRate(const int& index));
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(double getRateOfChange(const int& index));
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(std::vector<std::string> getRateOfChangeIds());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(std::vector<std::string> getConservedMoietyIds());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(int getNumberOfCompartments());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(void setCompartmentByIndex(const int& index, const double& value));
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(double getCompartmentByIndex(const int& index));
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(std::vector<std::string> getCompartmentIds());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(int getNumberOfBoundarySpecies());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(std::vector<double> getBoundarySpeciesConcentrations());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(void setBoundarySpeciesConcentrations(const std::vector<double>& values));
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(int getNumberOfFloatingSpecies());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(double getFloatingSpeciesByIndex(int index));
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(void setFloatingSpeciesByIndex(int index, double value));
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(std::vector<double> getFloatingSpeciesConcentrationsV());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(std::vector<double> getFloatingSpeciesInitialConcentrations());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(void setFloatingSpeciesConcentrations(const std::vector<double>& values));
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(void setFloatingSpeciesInitialConcentrationByIndex(const int& index,
+            const double& value));
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(void setFloatingSpeciesInitialConcentrations(const std::vector<double>& values));
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(std::vector<std::string> getFloatingSpeciesIds());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(std::vector<std::string> getFloatingSpeciesInitialConditionIds());
+
+    /**
+     * @internal
+     * @deprecated use ExecutableModel::getNumGlobalParameters
+     */
+    RR_DEPRECATED(int getNumberOfGlobalParameters());
+
+    /**
+     * @internal
+     * @deprecated use ExecutableModel::setGlobalParameterValues
+     */
+    RR_DEPRECATED(void setGlobalParameterByIndex(const int index, const double value));
+
+    /**
+     * @internal
+     * @deprecated use ExecutableModel::getGlobalParameterValues
+     */
+    RR_DEPRECATED(std::vector<double> getGlobalParameterValues());
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    void evalModel();
+
+    /**
+     * @internal
+     * @deprecated
+     */
+    RR_DEPRECATED(int getNumberOfDependentSpecies());
+
+
+    /**
+     * @internal
+     * @deprecated, use ExecutableModel::getReactionRates
+     */
+    RR_DEPRECATED(std::vector<double> getReactionRates());
+
+    /**
+     * @internal
+     * @deprecated
+     * returns a list of reaction ids obtained from
+     * ExecutableModel::getReactionId
+     */
+    RR_DEPRECATED(std::vector<std::string> getReactionIds());
+
+    /**
+     * @internal
+     * @deprecated
+     *
+     * C backend only
+     * set the location where the ModelGenerator creates temporary files, such
+     * as shared libraries.
+     */
+    void setTempDir(const std::string& folder);
+
+    /**
+     * @internal
+     * @deprecated
+     *
+     * legacy C backend only
+     * get the ModelGenerator's temporary file directory.
+     */
+    std::string getTempDir();
+
+    #endif // #ifndef SWIG
+
+
+    /******** !!! DEPRECATED INTERNAL METHODS * THESE WILL BE REMOVED!!! **********/
+    #endif  /**********************************************************************/
+    /******************************************************************************/
+
+private:
+
+
+    int createDefaultSteadyStateSelectionList();
+    int createDefaultTimeCourseSelectionList();
+
+    /**
+     * copies the current selection values into the n'th row of the
+     * given matrix
+     */
+    void getSelectedValues(ls::DoubleMatrix& results, int nRow,
+            double currentTime);
+
+    /**
+     * copies the current selection values into the given vector.
+     */
+    void getSelectedValues(std::vector<double> &results, double currentTime);
+
+    bool populateResult();
+
+
+    double getNthSelectedOutput(unsigned index, double currentTime);
+
+
+    /// Get the row index of the time variable in the output array (returns -1 if time is not selected)
+    int getTimeRowIndex();
+
+    enum VariableType
+    {
+        vtSpecies = 0, vtFlux
+    };
+
+    double getVariableValue(const VariableType variableType,
+            const int variableIndex);
+
+    /**
+     * the LibStruct is normally null, only created on demand here.
+     */
+    ls::LibStructural* getLibStruct();
+
+    /**
+     * If the specified integrator does not exist, create it, and point the
+     * integrator pointer to it.
+     */
+    //void updateIntegrator();
+
+    bool createDefaultSelectionLists();
+
+    /**
+     * creates a selection list from the amounts / conc / variables ivars of the
+     * SimulationOptions struct.
+     */
+    int createTimeCourseSelectionList();
+
+    std::vector<SelectionRecord> getSelectionList();
+
+    /**
+     * The simulateOptions may be changed at any time. This updates
+     * the integrators just before they are used with the
+     * potentially changed options.
+     */
+    void applySimulateOptions();
+
+
+    enum JacobianMode {
+        JACOBIAN_FULL, JACOBIAN_REDUCED
+    };
+
+    std::vector< std::complex<double> > getEigenValues(JacobianMode mode);
+
+    /**
+     * private implementation class, can only access if inside
+     * the implementation file.
+     */
+    class RoadRunnerImpl* impl;
+};
+
+}
+
+#endif
diff --git a/source/rrRoadRunnerData.cpp b/source/rrRoadRunnerData.cpp
new file mode 100644
index 0000000..069957e
--- /dev/null
+++ b/source/rrRoadRunnerData.cpp
@@ -0,0 +1,565 @@
+#pragma hdrstop
+#include <iomanip>
+#include "rrException.h"
+#include "rrLogger.h"
+#include "rrUtils.h"
+#include "rrStringUtils.h"
+#include "rrIniFile.h"
+#include "rrUtils.h"
+#include "Poco/TemporaryFile.h"
+#include "rrRoadRunnerData.h"
+#include "rrRoadRunner.h"
+
+
+//---------------------------------------------------------------------------
+using namespace std;
+
+namespace rr
+{
+
+RoadRunnerData::RoadRunnerData(const int& rSize, const int& cSize ) :
+        structuredResult(true),
+        mTimePrecision(6),
+        mDataPrecision(16)
+{
+    if(cSize && rSize)
+    {
+        allocate(rSize, cSize);
+    }
+}
+
+RoadRunnerData::RoadRunnerData(const std::vector<std::string>& colNames,
+        const DoubleMatrix& theData) :
+        structuredResult(true),
+        mTimePrecision(6),
+        mDataPrecision(16),
+        mColumnNames(colNames),
+        mTheData(theData)
+{}
+
+RoadRunnerData::RoadRunnerData(const RoadRunner* rr) :
+                structuredResult(false),
+                mTimePrecision(6),
+                mDataPrecision(16),
+                mTheData(*rr->getSimulationData())
+{
+    // need const correctness here,
+    // nest release, getSelections will return const vec
+    RoadRunner *r = const_cast<RoadRunner*>(rr);
+
+    const std::vector<SelectionRecord> sel = r->getSelections();
+
+    vector<string> list(sel.size());
+
+    for(int i = 0; i < sel.size(); ++i)
+    {
+        list[i] = sel[i].to_string();
+    }
+
+    setColumnNames(list);
+}
+
+
+RoadRunnerData::~RoadRunnerData()
+{}
+
+void RoadRunnerData::clear()
+{
+    mColumnNames.clear();
+    mTheData.resize(0,0);
+    mWeights.resize(0,0);
+}
+
+int RoadRunnerData::cSize() const
+{
+    return mTheData.CSize();
+}
+
+int RoadRunnerData::rSize() const
+{
+    return mTheData.RSize();
+}
+
+double RoadRunnerData::getTimeStart() const
+{
+    //Find time column
+    int timeCol = rr::indexOf(mColumnNames, "time");
+    if(timeCol != -1)
+    {
+        return mTheData(0,timeCol);
+    }
+    return gDoubleNaN;
+}
+
+double RoadRunnerData::getTimeEnd() const
+{
+    //Find time column
+    int timeCol = rr::indexOf(mColumnNames, "time");
+    if(timeCol != -1)
+    {
+        return mTheData(rSize() -1 ,timeCol);
+    }
+    return gDoubleNaN;
+}
+
+void RoadRunnerData::setName(const string& name)
+{
+    mName = name;
+}
+
+RoadRunnerData& RoadRunnerData::operator= (const RoadRunnerData& rhs)
+{
+    if(this == &rhs)
+    {
+        return *this;
+    }
+
+    mTheData = rhs.mTheData;
+    mWeights = rhs.mWeights;
+    mColumnNames = rhs.mColumnNames;
+    return *this;
+}
+
+void RoadRunnerData::allocateWeights()
+{
+    //Create matrix with weights... initialize all elements to 1
+    mWeights.Allocate(mTheData.RSize(), mTheData.CSize());
+    for(int i = 0; i < rSize(); i++)
+    {
+        for(int j = 0; j < cSize(); j++)
+        {
+            mWeights(i,j) = 1;
+        }
+    }
+}
+
+bool RoadRunnerData::append(const RoadRunnerData& data)
+{
+    //When appending data, the number of rows have to match with current data
+    if(mTheData.RSize() > 0)
+    {
+        if(data.rSize() != rSize())
+        {
+            return false;
+        }
+    }
+    else
+    {
+        (*this) = data;
+        return true;
+    }
+
+    int currColSize = cSize();
+
+    RoadRunnerData temp(mColumnNames, mTheData);
+
+    int newCSize = cSize() + data.cSize();
+    mTheData.resize(data.rSize(), newCSize );
+
+    for(int row = 0; row < temp.rSize(); row++)
+    {
+        for( int col = 0; col < temp.cSize(); col++)
+        {
+            mTheData(row, col) = temp(row, col);
+        }
+    }
+
+    for(int row = 0; row < mTheData.RSize(); row++)
+    {
+        for(int col = 0; col < data.cSize(); col++)
+        {
+            mTheData(row, col + currColSize) = data(row, col);
+        }
+    }
+
+    for(int col = 0; col < data.cSize(); col++)
+    {
+        mColumnNames.push_back(data.getColumnName(col));
+    }
+    return true;
+}
+
+const std::vector<std::string>& RoadRunnerData::getColumnNames() const
+{
+    return mColumnNames;
+}
+
+string RoadRunnerData::getColumnName(const int col) const
+{
+    if(col < mColumnNames.size())
+    {
+        return mColumnNames[col];
+    }
+
+    return "Bad Column..";
+}
+
+int RoadRunnerData::getColumnIndex(const string& colName) const
+{
+    return rr::indexOf(mColumnNames, colName);
+}
+
+pair<int,int> RoadRunnerData::dimension() const
+{
+    return pair<int,int>(mTheData.RSize(), mTheData.CSize());
+}
+
+string RoadRunnerData::getName() const
+{
+    return mName;
+}
+
+void RoadRunnerData::setTimeDataPrecision(const int& prec)
+{
+    mTimePrecision = prec;
+}
+
+void RoadRunnerData::setDataPrecision(const int& prec)
+{
+    mDataPrecision = prec;
+}
+
+string RoadRunnerData::getColumnNamesAsString() const
+{
+    string lbls;
+    for(int i = 0; i < mColumnNames.size(); i++)
+    {
+        lbls.append(mColumnNames[i]);
+        if(i < mColumnNames.size() -1)
+        {
+            lbls.append(",");
+        }
+    }
+    return lbls;
+}
+
+void RoadRunnerData::allocate(const int& cSize, const int& rSize)
+{
+    mTheData.Allocate(cSize, rSize);
+}
+
+//=========== OPERATORS
+double& RoadRunnerData::operator() (const unsigned& row, const unsigned& col)
+{
+    return mTheData(row,col);
+}
+
+bool RoadRunnerData::hasWeights() const
+{
+    return (mWeights.size() > 0) ? true : false;
+}
+
+
+double RoadRunnerData::getDataElement(int row, int col)
+{
+    return mTheData(row,col);
+}
+
+void   RoadRunnerData::setDataElement(int row, int col, double value)
+{
+    mTheData(row,col) = value;
+}
+
+
+
+double RoadRunnerData::getWeight(int row, int col) const
+{
+    return mWeights(row, col);
+}
+
+void RoadRunnerData::setWeight(int row, int col, double value)
+{
+    mWeights(row, col) = value;
+}
+
+double RoadRunnerData::operator() (const unsigned& row, const unsigned& col) const
+{
+    return mTheData(row,col);
+}
+
+void RoadRunnerData::setColumnNames(const std::vector<std::string>& colNames)
+{
+    mColumnNames = colNames;
+    Log(Logger::LOG_DEBUG) << "Simulation Data Columns: " << rr::toString(mColumnNames);
+}
+
+
+void RoadRunnerData::reSize(int rows, int cols)
+{
+    mTheData.Allocate(rows, cols);
+}
+
+void RoadRunnerData::setData(const DoubleMatrix& theData)
+{
+    mTheData = theData;
+    Log(Logger::LOG_DEBUG) << "Simulation Data =========== \n" << mTheData;
+    check();
+}
+
+bool RoadRunnerData::check() const
+{
+    if(mTheData.CSize() != mColumnNames.size())
+    {
+        Log(Logger::LOG_ERROR)<<"Number of columns ("<<mTheData.CSize()<<") in simulation data is not equal to number of columns in column header ("<<mColumnNames.size()<<")";
+        return false;
+    }
+    return true;
+}
+
+bool RoadRunnerData::loadSimpleFormat(const string& fName)
+{
+    if(!fileExists(fName))
+    {
+        return false;
+    }
+
+    vector<string> lines = getLinesInFile(fName.c_str());
+    if(!lines.size())
+    {
+        Log(Logger::LOG_ERROR)<<"Failed reading/opening file "<<fName;
+        return false;
+    }
+
+    mColumnNames = rr::splitString(lines[0], ",");
+    Log(lInfo) << rr::toString(mColumnNames);
+
+    mTheData.resize(lines.size() -1, mColumnNames.size());
+
+    for(int i = 0; i < mTheData.RSize(); i++)
+    {
+        vector<string> aLine = splitString(lines[i+1], ", ");
+        for(int j = 0; j < aLine.size(); j++)
+        {
+            mTheData(i,j) = toDouble(aLine[j]);
+        }
+    }
+
+    return true;
+}
+
+bool RoadRunnerData::writeTo(const string& fileName) const
+{
+    ofstream aFile(fileName.c_str());
+    if(!aFile)
+    {
+        Log(Logger::LOG_ERROR)<<"Failed opening file: "<<fileName;
+        return false;
+    }
+
+    if(!check())
+    {
+        Log(Logger::LOG_ERROR)<<"Can't write data.. the dimension of the header don't agree with nr of cols of data";
+        return false;
+    }
+
+    aFile<<(*this);
+    aFile.close();
+    return true;
+}
+
+bool RoadRunnerData::readFrom(const string& fileName)
+{
+    ifstream aFile(fileName.c_str());
+    if(!aFile)
+    {
+        Log(Logger::LOG_ERROR)<<"Failed opening file: "<<fileName;
+        return false;
+    }
+
+    aFile >> (*this);
+    aFile.close();
+    return true;
+}
+
+ostream& operator << (ostream& ss, const RoadRunnerData& data)
+{
+    //Check that the dimensions of col header and data is ok
+    if(!data.check())
+    {
+        Log(Logger::LOG_ERROR)<<"Can't write data.. the dimension of the header don't agree with nr of cols of data";
+        return ss;
+    }
+
+    ss<<"[INFO]"<<endl;
+    ss<<"DATA_FORMAT_VERSION=1.0"   <<endl;
+    ss<<"CREATOR=libRoadRunner"      <<endl;
+    ss<<"NUMBER_OF_COLS="            <<data.cSize()<<endl;
+    ss<<"NUMBER_OF_ROWS="            <<data.rSize()<<endl;
+    ss<<"COLUMN_HEADERS="            <<data.getColumnNamesAsString()<<endl;
+
+    ss<<endl;
+    ss<<"[DATA]"<<endl;
+    //Then the data
+    for(u_int row = 0; row < data.mTheData.RSize(); row++)
+    {
+        for(u_int col = 0; col < data.mTheData.CSize(); col++)
+        {
+            if(col == 0)
+            {
+                ss<<setprecision(data.mTimePrecision)<<data.mTheData(row, col);
+            }
+            else
+            {
+                ss<<setprecision(data.mDataPrecision)<<data.mTheData(row, col);
+            }
+
+            if(col <data.mTheData.CSize() -1)
+            {
+                ss << ",";
+            }
+            else
+            {
+                ss << endl;
+            }
+        }
+    }
+
+    if(data.mWeights.isAllocated())
+    {
+        //Write weights section
+        ss<<endl;
+        ss<<"[WEIGHTS]"<<endl;
+
+        //Then the data
+        for(u_int row = 0; row < data.mWeights.RSize(); row++)
+        {
+            for(u_int col = 0; col < data.mWeights.CSize(); col++)
+            {
+                if(col == 0)
+                {
+                    ss<<setprecision(data.mTimePrecision)<<data.mWeights(row, col);
+                }
+                else
+                {
+                    ss<<setprecision(data.mDataPrecision)<<data.mWeights(row, col);
+                }
+
+                if(col <data.mTheData.CSize() -1)
+                {
+                    ss << ",";
+                }
+                else
+                {
+                    ss << endl;
+                }
+            }
+        }
+    }
+    return ss;
+}
+
+//Stream data from a file
+istream& operator >> (istream& ss, RoadRunnerData& data)
+{
+    //Read in all lines into a string
+    std::string oneLine((std::istreambuf_iterator<char>(ss)), std::istreambuf_iterator<char>());
+
+    //This is pretty inefficient
+    string tempFileName = joinPath(getTempDir(), "rrTempFile.dat");
+    ofstream tempFile(tempFileName.c_str());
+
+    tempFile << oneLine;
+    tempFile.close();
+
+    //Create a iniFile object and parse the data
+    IniFile ini(tempFileName, true);
+
+    IniSection* infoSection = ini.GetSection("INFO");
+    if(!infoSection)
+    {
+        Log(Logger::LOG_ERROR)<<"RoadRunnder data file is missing section: [INFO]. Exiting reading file...";
+        return ss;
+    }
+
+    //Setup header
+    IniKey* colNames = infoSection->GetKey("COLUMN_HEADERS");
+
+    if(!colNames)
+    {
+        Log(Logger::LOG_ERROR)<<"RoadRunnder data file is missing ini key: COLUMN_HEADERS. Exiting reading file...";
+        return ss;
+    }
+
+    data.setColumnNames(splitString(colNames->mValue, ",{}")); //Remove any braces
+
+    //Read number of cols and rows and setup data
+    IniKey* aKey1 = infoSection->GetKey("NUMBER_OF_COLS");
+    IniKey* aKey2 = infoSection->GetKey("NUMBER_OF_ROWS");
+    if(!aKey1 || !aKey2)
+    {
+        Log(Logger::LOG_ERROR)<<"RoadRunnder data file is missing ini key: NUMBER_OF_COLS and/or NUMBER_OF_ROWS. Exiting reading file...";
+        return ss;
+    }
+
+    int rDim = aKey2->AsInt();
+    int cDim = aKey1->AsInt();
+    data.reSize(rDim, cDim);
+
+    //get data section
+    IniSection* dataSection = ini.GetSection("DATA");
+    if(!dataSection)
+    {
+        Log(Logger::LOG_ERROR)<<"RoadRunnder data file is missing ini section: DATA. Exiting reading file...";
+        return ss;
+    }
+
+    vector<string> lines = splitString(dataSection->GetNonKeysAsString(), "\n");
+    for(int row = 0; row < lines.size(); row++)
+    {
+        string oneLine = lines[row];
+        vector<string> aLine = splitString(oneLine, ',');
+        if(aLine.size() != cDim)
+        {
+            throw(CoreException("Bad roadrunner data in data file"));
+        }
+
+        for(int col = 0; col < cDim; col++)
+        {
+            Log(lDebug5)<<"Word "<<aLine[col];
+            double value = toDouble(trim(aLine[col],' '));
+            data(row, col) = value;
+        }
+    }
+
+    //Weights ??
+
+    IniSection* weightsSection = ini.GetSection("WEIGHTS");
+    if(!weightsSection)    //Optional
+    {
+        Log(lDebug)<<"RoadRunnder data file is missing section: WEIGHTS. ";
+        return ss;
+    }
+    data.mWeights.Allocate(rDim, cDim);
+
+    lines = splitString(weightsSection->GetNonKeysAsString(), "\n");
+    for(int row = 0; row < lines.size(); row++)
+    {
+        string oneLine = lines[row];
+        vector<string> aLine  = splitString(oneLine, ',');
+        if(aLine.size() != cDim)
+        {
+            throw(CoreException("Bad roadrunner data in data file"));
+        }
+
+        for(int col = 0; col < cDim; col++)
+        {
+            Log(lDebug5)<<"Word "<<aLine[col];
+            double value = toDouble(aLine[col]);
+            data.mWeights(row, col) = value;
+        }
+    }
+
+    return ss;
+}
+
+const DoubleMatrix& RoadRunnerData::getData() const
+{
+    return mTheData;
+}
+
+const DoubleMatrix& RoadRunnerData::getWeights() const
+{
+    return mWeights;
+}
+
+}    //namespace
diff --git a/source/rrRoadRunnerData.h b/source/rrRoadRunnerData.h
new file mode 100644
index 0000000..ab57f30
--- /dev/null
+++ b/source/rrRoadRunnerData.h
@@ -0,0 +1,145 @@
+#ifndef rrRoadRunnerDataH
+#define rrRoadRunnerDataH
+
+#include "rr-libstruct/lsMatrix.h"
+#include "rrExporter.h"
+
+#include <string>
+#include <vector>
+#include <fstream>
+#include <sstream>
+
+namespace rr
+{
+
+using namespace ls;
+using std::ofstream;
+using std::stringstream;
+
+class RoadRunner;
+
+/**
+ * @deprecated
+ *
+ * DO NOT USE THIS, IT IS DEPRECATED AND WILL BE REMOVED.
+ */
+class RR_DECLSPEC RoadRunnerData
+{
+
+public:
+    RoadRunnerData(const int& rSize = 0, const int& cSize = 0);
+
+    RoadRunnerData(const std::vector<std::string>& colNames,
+            const DoubleMatrix& data);
+
+    RoadRunnerData(const RoadRunner* rr);
+
+    ~RoadRunnerData();
+
+    void allocate(const int& cSize, const int& rSize);
+
+    void allocateWeights();
+
+    bool hasWeights() const;
+
+    const std::vector<std::string>& getColumnNames() const;
+    std::string getColumnName(const int col) const;
+    std::string getColumnNamesAsString() const;
+    void setColumnNames(const std::vector<std::string>& colNames);
+    int getColumnIndex(const std::string& colName) const;
+    void setTimeDataPrecision(const int& prec);
+    void setDataPrecision(const int& prec);
+    void reSize(int rows, int cols);
+
+    void clear();
+
+    int rSize() const;
+
+    int cSize() const;
+
+    void setData(const DoubleMatrix& theData);
+
+    bool loadSimpleFormat(const std::string& fileName);
+
+    bool writeTo(const std::string& fileName) const;
+
+    bool readFrom(const std::string& fileName);
+
+    bool check() const;
+
+    bool structuredResult;
+
+    RR_DECLSPEC
+    friend std::ostream& operator <<(std::ostream& ss, const RoadRunnerData& data);
+
+    RR_DECLSPEC
+    friend std::istream& operator >>(std::istream& ss, RoadRunnerData& data);
+
+    double& operator()(const unsigned& row, const unsigned& col);
+
+    double operator()(const unsigned& row, const unsigned& col) const;
+
+    double getDataElement(int row, int col);
+
+    void   setDataElement(int row, int col, double value);
+
+    RoadRunnerData& operator=(const RoadRunnerData& rhs);
+
+    double getWeight(int row, int col) const;
+
+    void setWeight(int row, int col, double val);
+
+    void setName(const std::string& name);
+
+    std::string getName() const;
+
+    std::pair<int, int> dimension() const;
+
+    bool append(const RoadRunnerData& data);
+
+    double getTimeStart() const;
+
+    double getTimeEnd() const;
+
+    const DoubleMatrix& getData() const;
+
+    const DoubleMatrix& getWeights() const;
+
+
+protected:
+
+    /**
+    * \brief Container holding column names.
+    */
+    std::vector<std::string> mColumnNames;
+
+    /**
+    * \brief Container holding the actual data.
+    */
+    DoubleMatrix mTheData;
+
+    /**
+    * \brief Container holding the data weights.
+    */
+    DoubleMatrix mWeights;
+
+    /**
+    * \brief Integer setting the precision of 'time' double numbers when writing to file
+    */
+    int mTimePrecision;
+
+    /**
+    * \brief Integer setting the precision of 'data' double numbers when writing to file
+    */
+    int mDataPrecision;            //The precision when saved to file
+
+    /**
+    * \brief String holding the 'name' of the object.
+    * \todo Remove
+    */
+    std::string mName;             //For debugging purposes mainly..
+};
+
+}
+
+#endif
diff --git a/source/rrRoadRunnerOptions.cpp b/source/rrRoadRunnerOptions.cpp
new file mode 100644
index 0000000..206dafc
--- /dev/null
+++ b/source/rrRoadRunnerOptions.cpp
@@ -0,0 +1,329 @@
+/*
+*
+*  Created on: Sep 9, 2013
+*      Author: andy
+*/
+#pragma hdrstop
+#include "rrRoadRunnerOptions.h"
+#include "rrLogger.h"
+#include "rrUtils.h"
+#include "rrSelectionRecord.h"
+#include "rrConfig.h"
+
+#include <string>
+#include <vector>
+#include <map>
+#include <stdexcept>
+#include <sstream>
+#include <algorithm>
+#include <assert.h>
+
+using namespace std;
+
+namespace rr
+{
+
+	
+	
+
+
+	LoadSBMLOptions::LoadSBMLOptions(const Dictionary* dict)
+	{
+		defaultInit();
+
+		const LoadSBMLOptions *opt = dynamic_cast<const LoadSBMLOptions*>(dict);
+
+		if (opt) {
+			version = opt->version;
+			size = opt->size;
+			modelGeneratorOpt = opt->modelGeneratorOpt;
+			loadFlags = opt->loadFlags;
+			this->items = opt->items;
+		}
+		else if (dict) {
+			std::vector<std::string> keys = dict->getKeys();
+			for (std::vector<std::string>::const_iterator k = keys.begin(); k != keys.end(); ++k) {
+				setItem(*k, dict->getItem(*k));
+			}
+		}
+	}
+
+
+
+	LoadSBMLOptions::LoadSBMLOptions()
+	{
+		defaultInit();
+	}
+
+
+	static void getConfigValues(SimulateOptions *s)
+	{
+		if (Config::getBool(Config::SIMULATEOPTIONS_STRUCTURED_RESULT)) 
+		{
+			s->structured_result = true;
+		}
+		else 
+		{
+			s->structured_result = false;
+		}
+
+		if (rr::Config::getBool(rr::Config::SIMULATEOPTIONS_COPY_RESULT)) {
+			s->copy_result = true;
+		}
+		else {
+			s->copy_result = false;
+		}
+
+		// initially false, set to true to reset model
+		s->reset_model = false;
+	}
+	
+
+	SimulateOptions::SimulateOptions()
+		:
+		steps(Config::getInt(Config::SIMULATEOPTIONS_STEPS)),
+		start(0),
+		duration(Config::getDouble(Config::SIMULATEOPTIONS_DURATION))
+	{
+		getConfigValues(this);
+	}
+
+	void SimulateOptions::loadSBMLSettings(const std::string &fname)
+	{
+		if (!fname.size())
+		{
+			Log(Logger::LOG_ERROR) << "Empty file name for setings file";
+		}
+		else
+		{
+			map<string, string> settings;
+			map<string, string>::iterator it;
+			//Read each line in the settings file
+			vector<string> lines = getLinesInFile(fname);
+			for (int i = 0; i < lines.size(); i++)
+			{
+				vector<string> line = splitString(lines[i], ":");
+				if (line.size() == 2)
+				{
+					settings.insert(pair<string, string>(line[0], line[1]));
+				}
+				else
+				{
+					Log(lDebug2) << "Empty line in settings file: " << lines[i];
+				}
+			}
+
+			Log(lDebug3) << "Settings File =============";
+			for (it = settings.begin(); it != settings.end(); it++)
+			{
+				Log(lDebug) << (*it).first << " => " << (*it).second;
+			}
+			Log(lDebug) << "===========================";
+
+			//Assign values
+			it = settings.find("start");
+			start = (it != settings.end()) ? std::abs(toDouble((*it).second)) : 0;
+
+			it = settings.find("duration");
+			duration = (it != settings.end()) ? std::abs(toDouble((*it).second)) : 0;
+
+			it = settings.find("steps");
+			steps = (it != settings.end()) ? std::abs(toInt((*it).second)) : 50;
+
+			it = settings.find("variables");
+			if (it != settings.end())
+			{
+				vector<string> vars = splitString((*it).second, ",");
+				for (int i = 0; i < vars.size(); i++)
+				{
+					variables.push_back(trim(vars[i]));
+				}
+			}
+
+			it = settings.find("amount");
+			if (it != settings.end())
+			{
+				vector<string> vars = splitString((*it).second, ",");
+				for (int i = 0; i < vars.size(); i++)
+				{
+					string rec = trim(vars[i]);
+					if (rec.size())
+					{
+						amounts.push_back(rec);
+					}
+				}
+			}
+
+			it = settings.find("concentration");
+			if (it != settings.end())
+			{
+				vector<string> vars = splitString((*it).second, ",");
+				for (int i = 0; i < vars.size(); i++)
+				{
+					string rec = trim(vars[i]);
+					if (rec.size())
+					{
+						concentrations.push_back(rec);
+					}
+				}
+			}
+		}
+	}
+
+
+
+	RoadRunnerOptions::RoadRunnerOptions() :
+		flags(0)
+	{
+		if (Config::getBool(Config::ROADRUNNER_DISABLE_PYTHON_DYNAMIC_PROPERTIES))
+		{
+			flags |= RoadRunnerOptions::DISABLE_PYTHON_DYNAMIC_PROPERTIES;
+		}
+
+		jacobianStepSize = Config::getDouble(Config::ROADRUNNER_JACOBIAN_STEP_SIZE);
+	}
+
+
+
+#define BITFIELD2STR(bf) rr::toString((bool)((bf) ? true : false))
+
+
+	std::string SimulateOptions::toString() const
+	{
+		std::stringstream ss;
+
+		ss << "< roadrunner.SimulateOptions() " << endl << "{ "
+			<< endl << "'this' : " << (void*)this << ", " << std::endl;
+
+		ss << "'reset' : " << reset_model << "," << std::endl;
+
+		ss << "'structuredResult' : " << structured_result << "," << std::endl;
+
+		ss << "'copyResult' : " << copy_result << "," << std::endl;
+
+		ss << "'steps' : " << steps << "," << std::endl;
+
+		ss << "'start' : " << start << "," << std::endl;
+
+		ss << "'duration' : " << duration;
+
+		std::vector<std::string> keys = getKeys();
+
+		if (keys.size() > 0) {
+			ss << "," << std::endl;
+		}
+
+		for (std::vector<std::string>::iterator i = keys.begin(); i != keys.end(); ++i)
+		{
+			ss << "'" << *i << "' : ";
+			ss << getItem(*i).toString();
+
+			if (std::distance(i, keys.end()) > 1) {
+				ss << ", " << std::endl;
+			}
+		}
+
+		ss << std::endl << "}>";
+
+		return ss.str();
+	}
+
+	std::string SimulateOptions::toRepr() const
+	{
+		std::stringstream ss;
+		ss << "< roadrunner.SimulateOptions() { 'this' : "
+			<< (void*)this << " }>";
+		return ss.str();
+	}
+
+  void SimulateOptions::setItem(const std::string& key, const rr::Variant& value)
+	{
+		BasicDictionary::setItem(key, value);
+    if (key == "reset")
+        reset_model = true;
+	}
+
+	
+
+
+	void LoadSBMLOptions::setItem(const std::string& key, const rr::Variant& value)
+	{
+		BasicDictionary::setItem(key, value);
+	}
+
+	Variant LoadSBMLOptions::getItem(const std::string& key) const
+	{
+		return BasicDictionary::getItem(key);
+	}
+
+	bool LoadSBMLOptions::hasKey(const std::string& key) const
+	{
+		return BasicDictionary::hasKey(key);
+	}
+
+	int LoadSBMLOptions::deleteItem(const std::string& key)
+	{
+		return BasicDictionary::deleteItem(key);
+	}
+
+	std::vector<std::string> LoadSBMLOptions::getKeys() const
+	{
+		return BasicDictionary::getKeys();
+	}
+
+	LoadSBMLOptions::~LoadSBMLOptions()
+	{
+	}
+
+	void LoadSBMLOptions::defaultInit()
+	{
+		version = 0;
+		size = sizeof(LoadSBMLOptions);
+		modelGeneratorOpt = 0;
+
+		if (Config::getBool(Config::LOADSBMLOPTIONS_CONSERVED_MOIETIES))
+			modelGeneratorOpt |= LoadSBMLOptions::CONSERVED_MOIETIES;
+
+		if (Config::getBool(Config::LOADSBMLOPTIONS_RECOMPILE))
+			modelGeneratorOpt |= LoadSBMLOptions::RECOMPILE;
+
+		if (Config::getBool(Config::LOADSBMLOPTIONS_READ_ONLY))
+			modelGeneratorOpt |= LoadSBMLOptions::READ_ONLY;
+
+		if (Config::getBool(Config::LOADSBMLOPTIONS_MUTABLE_INITIAL_CONDITIONS))
+			modelGeneratorOpt |= LoadSBMLOptions::MUTABLE_INITIAL_CONDITIONS;
+
+		if (Config::getBool(Config::LOADSBMLOPTIONS_OPTIMIZE_GVN))
+			modelGeneratorOpt |= LoadSBMLOptions::OPTIMIZE_GVN;
+
+		if (Config::getInt(Config::LOADSBMLOPTIONS_OPTIMIZE_CFG_SIMPLIFICATION))
+			modelGeneratorOpt |= LoadSBMLOptions::OPTIMIZE_CFG_SIMPLIFICATION;
+
+		if (Config::getBool(Config::LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_COMBINING))
+			modelGeneratorOpt |= LoadSBMLOptions::OPTIMIZE_INSTRUCTION_COMBINING;
+
+		if (Config::getBool(Config::LOADSBMLOPTIONS_OPTIMIZE_DEAD_INST_ELIMINATION))
+			modelGeneratorOpt |= LoadSBMLOptions::OPTIMIZE_DEAD_INST_ELIMINATION;
+
+		if (Config::getBool(Config::LOADSBMLOPTIONS_OPTIMIZE_DEAD_CODE_ELIMINATION))
+			modelGeneratorOpt |= LoadSBMLOptions::OPTIMIZE_DEAD_CODE_ELIMINATION;
+
+		if (Config::getBool(Config::LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_SIMPLIFIER))
+			modelGeneratorOpt |= LoadSBMLOptions::OPTIMIZE_INSTRUCTION_SIMPLIFIER;
+
+		if (Config::getBool(Config::LOADSBMLOPTIONS_USE_MCJIT))
+			modelGeneratorOpt |= LoadSBMLOptions::USE_MCJIT;
+
+		if (Config::getBool(Config::LLVM_SYMBOL_CACHE))
+			modelGeneratorOpt |= LoadSBMLOptions::LLVM_SYMBOL_CACHE;
+
+
+		setItem("tempDir", "");
+		setItem("compiler", "LLVM");
+		setItem("supportCodeDir", "");
+
+		loadFlags = 0;
+	}
+
+} /* namespace rr */
+
diff --git a/source/rrRoadRunnerOptions.h b/source/rrRoadRunnerOptions.h
new file mode 100644
index 0000000..2861843
--- /dev/null
+++ b/source/rrRoadRunnerOptions.h
@@ -0,0 +1,365 @@
+/*
+* rrRoadRunnerOptions.h
+*
+*  Created on: Sep 9, 2013
+*      Author: andy
+*/
+
+#ifndef RRROADRUNNEROPTIONS_H_
+#define RRROADRUNNEROPTIONS_H_
+
+#include "rrExporter.h"
+#include "Dictionary.h"
+#include "Integrator.h"
+
+#include <string>
+#include <vector>
+#include "tr1proxy/rr_memory.h"
+#include "tr1proxy/rr_unordered_map.h"
+
+#include <stdint.h>
+
+namespace rr
+{
+
+	/**
+	* Options for loading SBML into RoadRunner.
+	*
+	* Future version may add additional fields to the end of this struct,
+	* this way we can maintain binary compatibility with older RoadRunner versions.
+	*/
+	class RR_DECLSPEC LoadSBMLOptions : public BasicDictionary
+	{
+	public:
+		enum ModelGeneratorOpt
+		{
+			/**
+			* perform conservation analysis.
+			*
+			* This causes a re-ordering of the species, so results generated
+			* with this flag enabled can not be compared index wise to results
+			* generated otherwise.
+			*
+			* currently only implemented with the C code generating model
+			*/
+			CONSERVED_MOIETIES = (0x1 << 0),  // => 0x00000001
+
+			/**
+			* Should the model be recompiled?
+			* The LLVM ModelGenerator maintins a hash table of currently running
+			* models. If this flag is NOT set, then the generator will look to see
+			* if there is already a running instance of the given model and
+			* use the generated code from that one.
+			*
+			* If only a single instance of a model is run, there is no
+			* need to cache the models, and this can safetly be enabled,
+			* realizing some performance gains.
+			*/
+			RECOMPILE = (0x1 << 1),  // => 0x00000010
+
+			/**
+			* If this is set, then a read-only model is generated. A read-only
+			* model can be simulated, but no code is generated to set model
+			* values, i.e. parameters, amounts, values, etc...
+			*
+			* It takes a finite amount of time to generate the model value setting
+			* functions, and if they are not needed, one may see some performance
+			* gains, especially in very large models.
+			*/
+			READ_ONLY = (0x1 << 2),  // => 0x00000100
+
+			/**
+			* Generate accessor functions to allow changing of initial
+			* conditions.
+			*/
+			MUTABLE_INITIAL_CONDITIONS = (0x1 << 3),   // => 0x00001000
+
+			/**
+			* GVN - This pass performs global value numbering and redundant load
+			* elimination cotemporaneously.
+			*/
+			OPTIMIZE_GVN = (0x1 << 4),
+
+			/**
+			* CFGSimplification - Merge basic blocks, eliminate unreachable blocks,
+			* simplify terminator instructions, etc...
+			*/
+			OPTIMIZE_CFG_SIMPLIFICATION = (0x1 << 5),
+
+			/**
+			* InstructionCombining - Combine instructions to form fewer, simple
+			* instructions. This pass does not modify the CFG, and has a tendency to make
+			* instructions dead, so a subsequent DCE pass is useful.
+			*/
+			OPTIMIZE_INSTRUCTION_COMBINING = (0x1 << 6),
+
+			/**
+			* DeadInstElimination - This pass quickly removes trivially dead instructions
+			* without modifying the CFG of the function.  It is a BasicBlockPass, so it
+			* runs efficiently when queued next to other BasicBlockPass's.
+			*/
+			OPTIMIZE_DEAD_INST_ELIMINATION = (0x1 << 7),
+
+			/**
+			* DeadCodeElimination - This pass is more powerful than DeadInstElimination,
+			* because it is worklist driven that can potentially revisit instructions when
+			* their other instructions become dead, to eliminate chains of dead
+			* computations.
+			*/
+			OPTIMIZE_DEAD_CODE_ELIMINATION = (0x1 << 8),
+
+			/**
+			* InstructionSimplifier - Remove redundant instructions.
+			*/
+			OPTIMIZE_INSTRUCTION_SIMPLIFIER = (0x1 << 9),
+
+			/**
+			* all optimizations, use to check if bit mask has
+			* any optimizations.
+			*/
+			OPTIMIZE = OPTIMIZE_GVN | OPTIMIZE_CFG_SIMPLIFICATION |
+			OPTIMIZE_INSTRUCTION_COMBINING |
+			OPTIMIZE_DEAD_INST_ELIMINATION | OPTIMIZE_DEAD_CODE_ELIMINATION |
+			OPTIMIZE_INSTRUCTION_SIMPLIFIER,
+
+			/**
+			* Use the LLVM MCJIT JIT engine.
+			*
+			* Defaults to false.
+			*
+			* The MCJIT is the new LLVM JIT engine, it is not as well tested as the
+			* original JIT engine. Does NOT work on LLVM 3.1
+			*/
+			USE_MCJIT = (0x1 << 10),
+
+
+			LLVM_SYMBOL_CACHE = (0x1 << 11)
+		};
+
+		enum LoadOpt
+		{
+			/**
+			* Do not create a default selection list when the model is loaded.
+			*/
+			NO_DEFAULT_SELECTIONS = (0x1 << 0)   // => 0x00000001
+		};
+
+		/**
+		* initializes the struct with the default options.
+		*/
+		LoadSBMLOptions();
+
+		/**
+		* creates an object from an existing dictionary.
+		*/
+		LoadSBMLOptions(const Dictionary* dict);
+
+		/**
+		* the version this struct
+		*/
+		uint16_t version;
+
+		/**
+		* sizeof this struct
+		*/
+		uint16_t size;
+
+
+		uint32_t modelGeneratorOpt;
+
+		uint32_t loadFlags;
+
+
+		/**
+		* sets an item in the internal unordered map.
+		*/
+		virtual void setItem(const std::string& key, const rr::Variant& value);
+
+		/**
+		* gets an item from the internal unordered map.
+		*/
+		virtual Variant getItem(const std::string& key) const;
+
+		/**
+		* is there a key matching this name.
+		*
+		* @retruns true if this key exists, false otherwise.
+		*/
+		virtual bool hasKey(const std::string& key) const;
+
+		/**
+		* remove a value
+		*/
+		virtual int deleteItem(const std::string& key);
+
+		/**
+		* list of keys in this object.
+		*/
+		virtual std::vector<std::string> getKeys() const;
+
+
+		inline bool getConservedMoietyConversion() const {
+			return modelGeneratorOpt & CONSERVED_MOIETIES;
+		}
+
+		inline void setConservedMoietyConversion(bool val) {
+			modelGeneratorOpt = val ?
+				modelGeneratorOpt | CONSERVED_MOIETIES :
+				modelGeneratorOpt & ~CONSERVED_MOIETIES;
+		}
+
+
+		virtual ~LoadSBMLOptions();
+
+	private:
+
+		// load default values;
+		void defaultInit();
+	};
+
+	/**
+  * @brief This class is frozen, no new features
+	* RoadRunner simulation options.
+	*
+	* This is the full set of options that determines how RoadRunner performs
+	* a simulation of an sbml model.
+	*
+	* This is a superset of the values stored in a sbml test suite settings file, the
+	* documentation of the fields which correspond to an sbml test suite settings was
+	* taken from http://sbml.org
+	*/
+	class RR_DECLSPEC SimulateOptions : public BasicDictionary
+	{
+	public:
+
+		/**
+		* reset the model to the initial state.
+		*/
+		bool reset_model;
+		/**
+		* Simulate should return a raw result matrix without
+		* adding any column names.
+		*/
+		bool structured_result;
+		/**
+		* Make a copy of the simulation result in Python.
+		* Large simulations should have this disabled.
+		*/
+		bool copy_result;
+
+		/**
+		* init with default options.
+		*/
+		SimulateOptions();
+
+		/**
+		* The number of steps at which the output is sampled. The samples are evenly spaced.
+		* When a simulation system calculates the data points to record, it will typically
+		* divide the duration by the number of time steps. Thus, for X steps, the output
+		* will have X+1 data rows.
+		*/
+		int steps;
+
+		/**
+		* The start time of the simulation time-series data.
+		* Often this is 0, but not necessarily.
+		*/
+		double start;
+
+		/**
+		* The duration of the simulation run, in the model's units of time.
+		*/
+		double duration;
+
+		/**
+		* The variables (in addition to time) whose values will be saved in the result.
+		* These are SBML model id's. Order is significant, as this determines the order
+		* of the columns in the result matrix.
+		*
+		* Important: if a symbol in this list refers to a species in the model,
+		* then that symbol will also be listed in either the amount or concentration
+		* lists below.
+		*
+		* NOTE:If a listed variable has two underscores in it ('__'), that variable
+		* is actually present only in a submodel of the main model, from the
+		* Hierarchical Model Composition package, in the format submodelID__variableID.
+		* If the model is flattened, the variable will appear automatically.
+		*/
+		std::vector<std::string> variables;
+
+		/**
+		* A list of the variable whose output in the results file is in amount
+		* (not concentration) units. This list of variables must be a subset of
+		* the names listed in variables.
+		*/
+		std::vector<std::string> amounts;
+
+		/**
+		* A list of the variable whose output in the results file is in concentration
+		* (not amount) units. This list of variables must be a subset of the names
+		* listed in variables.
+		*/
+		std::vector<std::string> concentrations;
+
+		/**
+		* get a description of this object, compatable with python __str__
+		*/
+		std::string toString() const;
+
+		/**
+		* get a short descriptions of this object, compatable with python __repr__.
+		*/
+		std::string toRepr() const;
+
+		/*	Use this method to load SimulateOptions from an SBML file. Previously this was done by
+		 *	passing the filepath into the SimulateOptions constructor. However, the refactor has
+		 *	removed some properties from SimulateOptions and placed them in specific integrators. As
+		 *	a result, both the SimulateOptions and Integrator classes will have methods that allow
+		 *	users to read an SBML settings file.
+		 */
+		void loadSBMLSettings(const std::string& filename);
+
+    virtual void setItem(const std::string& key, const rr::Variant& value);
+
+	};
+
+
+
+	/**
+	* A set of options that determine how the top level RoadRunner class
+	* should behave.
+	*/
+	struct RR_DECLSPEC RoadRunnerOptions
+	{
+		enum Options
+		{
+			/**
+			* RoadRunner by default dynamically generates accessor properties
+			* for all sbml symbol names on the model object when it is retrieved
+			* in Python. This feature is very nice for interactive use, but
+			* can slow things down. If this feature is not needed, it
+			* can be disabled here.
+			*/
+			DISABLE_PYTHON_DYNAMIC_PROPERTIES = (0x1 << 0), // => 0x00000001
+		};
+
+		/**
+		* a bitmask of the options specified in the Options enumeration.
+		*/
+		uint32_t flags;
+
+		/**
+		* step size used for numeric Jacobian calculations.
+		*/
+		double jacobianStepSize;
+
+		/**
+		* load default valued from config.
+		*/
+		RoadRunnerOptions();
+
+	};
+
+
+} /* namespace rr */
+#endif /* RRROADRUNNEROPTIONS_H_ */
diff --git a/source/rrSBMLModelSimulation.cpp b/source/rrSBMLModelSimulation.cpp
new file mode 100644
index 0000000..354e400
--- /dev/null
+++ b/source/rrSBMLModelSimulation.cpp
@@ -0,0 +1,313 @@
+#pragma hdrstop
+#include <iomanip>
+#include <map>
+#include "rrLogger.h"
+#include "rrSBMLModelSimulation.h"
+#include "rrUtils.h"
+#include "rrRoadRunner.h"
+#include "CVODEIntegrator.h"
+//---------------------------------------------------------------------------
+
+using namespace std;
+
+namespace rr
+{
+
+SBMLModelSimulation::SBMLModelSimulation(const string& dataOutputFolder, const string& tempDataFilePath)
+:
+mModelFilePath(""),
+mModelFileName(""),
+mDataOutputFolder(dataOutputFolder),
+mCompileIfDllExists(true),
+mTempDataFolder(tempDataFilePath),
+mEngine(NULL)
+{
+    // TODO mSettings.absolute    = 1.e-7;
+    // TODO mSettings.relative    = 1.e-4;
+}
+
+SBMLModelSimulation::~SBMLModelSimulation()
+{}
+
+string SBMLModelSimulation::GetTempDataFolder()
+{
+    return mTempDataFolder;
+}
+
+void SBMLModelSimulation::ReCompileIfDllExists(const bool& doIt)
+{
+    mCompileIfDllExists = doIt;
+}
+
+bool SBMLModelSimulation::SetModelFilePath(const string& path)
+{
+    mModelFilePath = path;
+    return true;
+}
+
+RoadRunnerData SBMLModelSimulation::GetResult()
+{
+    if(mEngine)
+    {
+        return RoadRunnerData(mEngine);
+    }
+    else
+    {
+        return RoadRunnerData();
+    }
+}
+
+bool SBMLModelSimulation::SetModelFileName(const string& name)
+{
+    if(getFilePath(name).size() > 0)
+    {
+        mModelFilePath = getFilePath(name);
+    }
+
+    mModelFileName = getFileName(name);
+
+    if(!fileExists(joinPath(mModelFilePath, mModelFileName)))
+    {
+        Log(Logger::LOG_ERROR)<<"The file: "<<joinPath(mModelFilePath, mModelFileName)<<" don't exist.";
+        return false;
+    }
+
+    return true;
+}
+
+bool SBMLModelSimulation::SetDataOutputFolder(const string& name)
+{
+    mDataOutputFolder = name;
+    return true;
+}
+
+string  SBMLModelSimulation::GetModelsFullFilePath()
+{
+    return joinPath(mModelFilePath, mModelFileName);
+}
+
+string  SBMLModelSimulation::GetDataOutputFolder()
+{
+    return mDataOutputFolder;
+}
+
+bool SBMLModelSimulation::DoCompileIfDllExists()
+{
+    return mCompileIfDllExists;
+}
+
+bool SBMLModelSimulation::UseEngine(RoadRunner* engine)
+{
+    mEngine = engine;
+    return true;
+}
+
+bool SBMLModelSimulation::GenerateModelCode()
+{
+    return true;
+}
+
+bool SBMLModelSimulation::CompileModel()
+{
+    return true;
+}
+
+void SBMLModelSimulation::loadSBMLTolerances(std::string const& filename)
+{
+    if (!filename.size())
+    {
+        Log(Logger::LOG_ERROR) << "Empty file name for settings file";
+    }
+    else
+    {
+        map<string, string> options;
+        map<string, string>::iterator it;
+        //Read each line in the settings file
+        vector<string> lines = getLinesInFile(filename);
+        for (int i = 0; i < lines.size(); i++)
+        {
+            vector<string> line = splitString(lines[i], ":");
+            if (line.size() == 2)
+            {
+                options.insert(pair<string, string>(line[0], line[1]));
+            }
+            else
+            {
+                Log(Logger::LOG_DEBUG) << "Empty line in settings file: " << lines[i];
+            }
+        }
+
+        Log(Logger::LOG_DEBUG) << "Settings File =============";
+        for (it = options.begin(); it != options.end(); it++)
+        {
+            Log(Logger::LOG_DEBUG) << (*it).first << " => " << (*it).second;
+        }
+        Log(Logger::LOG_DEBUG) << "===========================";
+
+        //Assign values
+        it = options.find("absolute");
+        if (it != options.end())
+        {
+            mAbsolute = std::abs(toDouble((*it).second));
+        }
+
+        it = options.find("relative");
+        if (it != options.end())
+        {
+            mRelative = std::abs(toDouble((*it).second));
+        }
+    }
+}
+
+bool SBMLModelSimulation::LoadSettings(const string& settingsFName)
+{
+    string fName(settingsFName);
+
+    if(!fName.size())
+    {
+        Log(Logger::LOG_ERROR)<<"Empty file name for setings file";
+        return false;
+    }
+
+    mAbsolute = 1e-10;
+    mRelative = 1e-5;
+    loadSBMLTolerances(fName);
+
+    mSettings = SimulateOptions();
+	mSettings.loadSBMLSettings(fName);
+
+    if(mEngine)
+    {
+		mEngine->getIntegrator()->loadSBMLSettings(fName);
+        // make a copy and tweak tolerances for integrator
+        SimulateOptions opt = mSettings;
+		if (mEngine->getIntegrator()->getName() == "cvode")
+		{
+			// Do the tolerance tweaking here.
+			//opt.tweakTolerances();
+			CVODEIntegrator* cvode_integrator = dynamic_cast<CVODEIntegrator*>(mEngine->getIntegrator());
+			if (cvode_integrator)
+			{
+				cvode_integrator->tweakTolerances();
+			}
+			else
+			{
+				throw std::runtime_error("Cannot tweak tolerances of integrator because it is not CVODE."); 
+			}
+		}
+        mEngine->setSimulateOptions(opt);
+    }
+
+    return true;
+}
+
+bool SBMLModelSimulation::SetTimeStart(const double& startTime)
+{
+    mSettings.start   = startTime;
+    return true;
+}
+
+bool SBMLModelSimulation::SetTimeEnd(const double& endTime)
+{
+    mSettings.duration = endTime - mSettings.start;
+    return true;
+}
+
+bool SBMLModelSimulation::SetNumberOfPoints(const int& steps)
+{
+    mSettings.steps       = steps;
+    return true;
+}
+
+bool SBMLModelSimulation::SetSelectionList(const string& selectionList)
+{
+    vector<string> vars = splitString(selectionList, ", ");
+    for(u_int i = 0; i < vars.size(); i++)
+    {
+        mSettings.variables.push_back(trim(vars[i]));
+    }
+
+    mEngine->setSimulateOptions(mSettings);
+
+    return true;
+}
+
+
+bool SBMLModelSimulation::LoadSBMLFromFile()                    //Use current file information to load sbml from file
+{
+    if(!mEngine)
+    {
+        return false;
+    }
+
+    LoadSBMLOptions opt;
+    opt.modelGeneratorOpt = mCompileIfDllExists ?
+            opt.modelGeneratorOpt | LoadSBMLOptions::RECOMPILE :
+            opt.modelGeneratorOpt & ~LoadSBMLOptions::RECOMPILE;
+
+    mEngine->load(GetModelsFullFilePath(), &opt);
+    return true;
+}
+
+bool SBMLModelSimulation::SaveModelAsXML(const string& folder)
+{
+    if(!mEngine)
+    {
+        return false;
+    }
+    string fName = joinPath(folder, mModelFileName);
+    fName = changeFileExtensionTo(fName, "xml");
+
+    fstream fs(fName.c_str(), fstream::out);
+
+    if(!fs)
+    {
+        Log(Logger::LOG_ERROR)<<"Failed writing sbml to file "<< fName;
+        return false;
+    }
+    fs<<mEngine->getSBML();
+    fs.close();
+    return true;
+}
+
+bool SBMLModelSimulation::CreateModel()
+{
+    if(!mEngine)
+    {
+        return false;
+    }
+
+    return true;
+}
+
+
+bool SBMLModelSimulation::GenerateAndCompileModel()
+{
+    return true;
+}
+
+bool SBMLModelSimulation::Simulate()
+{
+    if(!mEngine)
+    {
+        return false;
+    }
+
+    return mEngine->simulate(0) != 0;
+}
+
+bool SBMLModelSimulation::SaveResult()
+{
+    string resultFileName(joinPath(mDataOutputFolder, "rr_" + mModelFileName));
+    resultFileName = changeFileExtensionTo(resultFileName, ".csv");
+    Log(lInfo)<<"Saving result to file: "<<resultFileName;
+    RoadRunnerData resultData(mEngine);
+
+    ofstream fs(resultFileName.c_str());
+    fs << resultData;
+    fs.close();
+    return true;
+}
+} //end of namespace
+
+
diff --git a/source/rrSBMLModelSimulation.h b/source/rrSBMLModelSimulation.h
new file mode 100644
index 0000000..53716c6
--- /dev/null
+++ b/source/rrSBMLModelSimulation.h
@@ -0,0 +1,80 @@
+#ifndef rrSBMLModelSimulationH
+#define rrSBMLModelSimulationH
+//---------------------------------------------------------------------------
+#include <string>
+#include "rrExporter.h"
+#include "rrStringUtils.h"
+#include "rrRoadRunnerOptions.h"
+#include "rrRoadRunnerData.h"
+
+namespace rr
+{
+
+class RoadRunner;
+
+/**
+ * @internal
+ *
+ * Read an sbml test suite, simulate and compare the results.
+ */
+class RR_DECLSPEC SBMLModelSimulation
+{
+    protected:
+        string                  mModelFileName;
+        string                  mModelFilePath;
+        string                  mModelSettingsFileName;
+        string                  mSimulationLogFile;
+        string                  mDataOutputFolder;
+        string                  mTempDataFolder;
+        RoadRunner             *mEngine;
+        SimulateOptions         mSettings;
+        bool                    mCompileIfDllExists;
+
+    public:
+                                SBMLModelSimulation(const string& dataOutputFolder = "", const string& tempDataFilePath = "");
+        virtual                ~SBMLModelSimulation();
+        bool                    SetModelFilePath(const string& path);
+        bool                    SetModelFileName(const string& name);
+        bool                    SetDataOutputFolder(const string& name);
+        string                  GetModelsFullFilePath();
+        string                  GetDataOutputFolder();
+        string                  GetTempDataFolder();
+        bool                    UseEngine(RoadRunner* engine);
+
+
+
+
+        bool                    SaveModelAsXML(const string& folder);
+
+        //API
+        bool                    SetTimeStart(const double& tStart);
+        bool                    SetTimeEnd(const double& tEnd);
+        bool                    SetNumberOfPoints(const int& pts);
+        bool                    SetSelectionList(const string& list);
+        virtual bool            LoadSBMLFromFile();                    //Use current file information to load sbml from file
+        virtual bool            Simulate();
+        virtual bool            SaveResult();
+        void                    loadSBMLTolerances(std::string const& filename);
+        virtual bool            LoadSettings(const string& fName = "");
+        virtual RoadRunnerData  GetResult();
+
+        void                    ReCompileIfDllExists(const bool& doIt);
+        bool                    DoCompileIfDllExists();
+
+//        // models are created by loadSBML, if a shared lib already exits, it is loaded.
+        bool                    CreateModel();
+        bool                    GenerateModelCode();
+        bool                    CompileModel();
+        bool                    GenerateAndCompileModel();
+
+        /// absolute tolerance for residual comparison, does not affect integrator
+        double mAbsolute;
+        /// relative tolerance for residual comparison, does not affect integrator
+        double mRelative;
+};
+
+}
+
+
+
+#endif
diff --git a/source/rrSBMLReader.cpp b/source/rrSBMLReader.cpp
new file mode 100644
index 0000000..6d82d03
--- /dev/null
+++ b/source/rrSBMLReader.cpp
@@ -0,0 +1,278 @@
+// The poco files have issues on windows and have to be included before
+// any potential 'windows.h' is included. There is a compile problem
+// when windows.h is included BEFORE Poco HTTP Factory
+#pragma hdrstop
+#include <Poco/URI.h>
+#include <Poco/URIStreamOpener.h>
+#include <Poco/Net/HTTPStreamFactory.h>
+#include <Poco/RegularExpression.h>
+
+
+#include <Poco/Mutex.h>
+#include <Poco/Path.h>
+#include <Poco/File.h>
+
+#include "rrOSSpecifics.h"
+#include "rrLogger.h"
+#include "rrSBMLReader.h"
+#include "rrException.h"
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <algorithm>
+#include <cctype>
+
+#include <sbml/SBMLReader.h>
+#include <sbml/conversion/SBMLConverterRegistry.h>
+#include <sbml/SBMLWriter.h>
+
+using Poco::RegularExpression;
+
+
+using Poco::Mutex;
+using std::endl;
+using std::stringstream;
+using libsbml::SBMLDocument;
+using libsbml::SBMLConverterRegistry;
+
+namespace rr {
+
+// asking for trouble statically registering the factory
+static Mutex httpFactoryMutex;
+static bool httpFactoryRegistered = false;
+
+/**
+ * performs some basic checks to see if the string is an sbml string.
+ *
+ * This just checks the basic format and checks on characters that are
+ * not valid file path characters. So if this string matches this function,
+ * there should basically be no way that this is a valid path or uri.
+ */
+static bool is_sbml(const std::string& str)
+{
+    //<?xml version="1.0" encoding="UTF-8"?> <sbml level="3" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core">
+    // try first with xml declaration
+    size_t pos = str.find("<");
+    if (pos != std::string::npos)
+    {
+        pos = str.find("?", pos + 1);
+
+        if (pos != std::string::npos)
+        {
+            pos = str.find("xml", pos + 1);
+
+            if (pos != std::string::npos)
+            {
+                pos = str.find("?", pos + 3);
+
+                if (pos != std::string::npos)
+                {
+                    pos = str.find(">", pos + 1);
+
+                    if (pos != std::string::npos)
+                    {
+                        pos = str.find("<", pos + 1);
+
+                        if (pos != std::string::npos)
+                        {
+                            pos = str.find("sbml", pos + 1);
+                            return pos != std::string::npos;
+                        }
+                    }
+                }
+            }
+        }
+    }
+    // try without xml declaration
+    pos = str.find("<");
+    if (pos != std::string::npos)
+    {
+        pos = str.find("sbml", pos + 1);
+        return pos != std::string::npos;
+    }
+    return false;
+}
+
+/**
+ * extract the <sbml...> tag from an sbml document.
+ * This regex should stop at the first match.
+ */
+static const Poco::RegularExpression sbml_re("<\\s*sbml\\s*.*?>",
+        RegularExpression::RE_UNGREEDY);
+
+/**
+ * Check if the given sbml string uses the composite extension.
+ *
+ * We only need to scan inside the <sbml ... > tag, which is
+ * as the start of the doc, so this should be a very fast search.
+ *
+ * <sbml xmlns="http://www.sbml.org/sbml/level3/version1/core"
+ *     xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1"
+ *     level="3" version="1" comp:required="false">
+ */
+static bool has_comp(const string& sbml) {
+    string sbmlss; // sbml substring, avoid looking in entire document.
+    sbml_re.extract(sbml, sbmlss);
+    static const string compns =
+            "http://www.sbml.org/sbml/level3/version1/comp/version1";
+    return sbmlss.find(compns) != string::npos;
+}
+
+/**
+ * flatten a comp model.
+ */
+static string flatten_comp(const string& sbml, const std::string fname)
+{
+    SBMLDocument *doc = libsbml::readSBMLFromString(sbml.c_str());
+    libsbml::SBMLConverter* converter = NULL;
+
+    // resolve external sub-models.
+    doc->setLocationURI(fname);
+
+    if (doc->getPlugin("comp") == NULL)
+    {
+        // this should not happen
+        delete doc;
+        throw std::runtime_error("Detected SBML document \"" + fname +
+                "\" should have comp extension, but the libSBML::Document "
+                "does not have the \"comp\" plugin");
+    }
+
+    libsbml::ConversionProperties props;
+    props.addOption("flatten comp");
+    props.addOption("performValidation", false);
+
+    // a cloned converter, needs to be deleted.
+    converter = SBMLConverterRegistry::getInstance().getConverterFor(props);
+
+    if (converter == NULL)
+    {
+        delete doc;
+        throw std::runtime_error("Could not get SBMLConverter for comp model "
+                "flattening for model \"" + fname + "\"");
+    }
+
+    // ready to flatten model
+    converter->setDocument(doc);
+    if (converter->convert() != libsbml::LIBSBML_OPERATION_SUCCESS)
+    {
+        libsbml::SBMLErrorLog* log = doc->getErrorLog();
+        if (log->getNumFailsWithSeverity(libsbml::LIBSBML_SEV_ERROR) != 0)
+        {
+            stringstream msg;
+            msg << "Errors durring model flattening, model *MIGHT* contain errors:"
+                    << endl;
+
+            for (int i = 0; i < log->getNumErrors(); ++i)
+            {
+                const libsbml::SBMLError* error = log->getError(i);
+                if (error->getSeverity() >= libsbml::LIBSBML_SEV_ERROR)
+                {
+                    msg << "SBMLError(" << i << "): " << error->getMessage();
+                }
+            }
+            Log(rr::Logger::LOG_WARNING) << msg.str();
+        }
+    }
+
+    libsbml::SBMLWriter writer;
+
+    std::stringstream stream;
+
+    writer.writeSBML(doc, stream);
+
+    delete converter;
+    delete doc;
+
+    return stream.str();
+}
+
+// C++ standard library isn't self-consistent
+char mytolower(char x) {
+    return std::tolower(x);
+}
+
+std::string SBMLReader::read(const std::string& str)
+{
+    // bail here (empty str is valid sometimes), but messes
+    // with POCO readers.
+    if(str.empty()) {
+        return str;
+    }
+
+    if (is_sbml(str))
+    {
+        if(has_comp(str))
+        {
+            Log(Logger::LOG_WARNING) <<
+                    "Unable to flatten model read from string which has comp "
+                    "extension, libSBML needs the full file path for flatening "
+                    "to work, ";
+        }
+        return str;
+    }
+
+    // at this point, we have to assume that the string is to be interpreted as a
+    // path or uri
+
+    // just in case there are multiple threads...
+    httpFactoryMutex.lock();
+
+    // not working on windows yet.
+
+    if (!httpFactoryRegistered)
+    {
+        Poco::Net::HTTPStreamFactory::registerFactory();
+        httpFactoryRegistered = true;
+    }
+
+    // only the first thread creats the factory
+    httpFactoryMutex.unlock();
+
+    // opener figures out if we have local or remote path
+    // and creates appropriate stream
+    Poco::URIStreamOpener &opener = Poco::URIStreamOpener::defaultOpener();
+
+    std::istream* stream = NULL;
+    try {
+        stream = opener.open(str);
+    } catch(Poco::Exception& e) {
+        std::string urischeme = Poco::URI(str).getScheme();
+        std::transform(urischeme.begin(), urischeme.end(), urischeme.begin(), mytolower);
+        if (urischeme == "https") {
+            Log(Logger::LOG_ERROR) << "HTTPS transport not supported";
+            throw Exception("Could not open stream: HTTPS transport not supported");
+        } else {
+            Log(Logger::LOG_ERROR) << "Could not open stream: " << e.what();
+        }
+        // stream should still be NULL
+    }
+    if (stream)
+    {
+        // read the entire http stream into a string and return it.
+        std::istreambuf_iterator<char> eos;
+        std::string s(std::istreambuf_iterator<char>(*stream), eos);
+        delete stream;
+
+        // read from a stream, only case where we can flatten, so
+        // check
+        if (has_comp(s))
+        {
+            return flatten_comp(s, str);
+        }
+        return s;
+    }
+    else
+    {
+        string msg = string(__FUNC__) +  ", could not open " + str + " as a file or uri";
+        throw Exception(msg);
+    }
+
+    return str;
+}
+
+} /* namespace rr */
+
+
+
+
diff --git a/source/rrSBMLReader.h b/source/rrSBMLReader.h
new file mode 100644
index 0000000..c54be0a
--- /dev/null
+++ b/source/rrSBMLReader.h
@@ -0,0 +1,54 @@
+/*
+ * rrRoadRunnerOptions.h
+ *
+ *  Created on: Oct 10, 2013
+ *      Author: andy
+ */
+
+#ifndef RRSBMLREADER_H_
+#define RRSBMLREADER_H_
+
+#include "rrExporter.h"
+#include <string>
+
+namespace rr
+{
+
+/**
+ * Read an sbml document from either disk, a remote url, or as a string.
+ *
+ * This function will first try to iterperet the string as uri, if that
+ * fails, it will try as a local file path, and finally if that fails, it will
+ * treat the string as whole sbml document and return the string.
+ *
+ * This is simple enough that it should belong in RoadRunner proper, however we currently
+ * use Poco for reading http streams, and it seems to compilation issues if "windows.h"
+ * is included before, an evidently some other roadrunner file includes windows.h,
+ * so we put all of this here by itself we we can make sure that there is no
+ * nasty windows files included.
+ *
+ * also, we put it as a static class method because libSBML already uses 'readSBML'
+ * and we want to avoid namespace collisions.
+ */
+class RR_DECLSPEC SBMLReader
+{
+public:
+
+    /**
+     * read an SBML document from a local file path, a remote URI, or
+     * directlly from a sbml string. If the document is a local file,
+     * and has the comp extension, it is automatically flattened before
+     * begin returned.
+     *
+     * If the string is already a SBML string, it is passed through.
+     * If the string is a local file or URI, the document is read
+     * from the source and the contents returned (and flattened if comp).
+     */
+    static std::string read(const std::string& sbml_or_uri);
+
+};
+
+}
+
+#endif
+
diff --git a/source/rrSelectionRecord.cpp b/source/rrSelectionRecord.cpp
new file mode 100644
index 0000000..2cfe258
--- /dev/null
+++ b/source/rrSelectionRecord.cpp
@@ -0,0 +1,427 @@
+#pragma hdrstop
+#include "rrSelectionRecord.h"
+
+#include <vector>
+#include <sstream>
+
+#include <iostream>
+
+
+// TODO When we have gcc 4.4 as minimal compiler, drop poco and use C++ standard regex
+#include <Poco/RegularExpression.h>
+
+using Poco::RegularExpression;
+
+// NOTE: The regular expressions need to be file scope static as they cause problems when
+// created as function scope static.
+
+static const Poco::RegularExpression is_time_re("^\\s*time\\s*$", RegularExpression::RE_CASELESS);
+static bool is_time(const std::string& str)
+{
+    return is_time_re.match(str);
+}
+
+static const Poco::RegularExpression is_uec_re("^\\s*uec\\s*\\(\\s*(\\w*)\\s*,\\s*(\\w*)\\s*\\)\\s*$", RegularExpression::RE_CASELESS);
+static bool is_uec(const std::string& str, std::string& p1, std::string& p2)
+{
+    std::vector<std::string> matches;
+
+    int nmatch = is_uec_re.split(str, matches);
+
+    if (nmatch == 3)
+    {
+        p1 = matches[1];
+        p2 = matches[2];
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+static const Poco::RegularExpression is_ec_re("^\\s*ec\\s*\\(\\s*(\\w*)\\s*,\\s*(\\w*)\\s*\\)\\s*$", RegularExpression::RE_CASELESS);
+static bool is_ec(const std::string& str, std::string& p1, std::string& p2)
+{
+    std::vector<std::string> matches;
+
+    int nmatch = is_ec_re.split(str, matches);
+
+    if (nmatch == 3)
+    {
+        p1 = matches[1];
+        p2 = matches[2];
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+static Poco::RegularExpression is_ucc_re("^\\s*ucc\\s*\\(\\s*(\\w*)\\s*,\\s*(\\w*)\\s*\\)\\s*$", RegularExpression::RE_CASELESS);
+static bool is_ucc(const std::string& str, std::string& p1, std::string& p2)
+{
+    std::vector<std::string> matches;
+
+    int nmatch = is_ucc_re.split(str, matches);
+
+    if (nmatch == 3)
+    {
+        p1 = matches[1];
+        p2 = matches[2];
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+static const Poco::RegularExpression is_cc_re("^\\s*cc\\s*\\(\\s*(\\w*)\\s*,\\s*(\\w*)\\s*\\)\\s*$", RegularExpression::RE_CASELESS);
+static bool is_cc(const std::string& str, std::string& p1, std::string& p2)
+{
+    std::vector<std::string> matches;
+
+    int nmatch = is_cc_re.split(str, matches);
+
+    if (nmatch == 3)
+    {
+        p1 = matches[1];
+        p2 = matches[2];
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+static const Poco::RegularExpression is_stoich_re("^\\s*stoich\\s*\\(\\s*(\\w*)\\s*,\\s*(\\w*)\\s*\\)\\s*$", RegularExpression::RE_CASELESS);
+static bool is_stoich(const std::string& str, std::string& p1, std::string& p2)
+{
+    std::vector<std::string> matches;
+
+    int nmatch = is_stoich_re.split(str, matches);
+
+    if (nmatch == 3)
+    {
+        p1 = matches[1];
+        p2 = matches[2];
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+static const Poco::RegularExpression is_concentration_re("^\\s*\\[\\s*(\\w*)\\s*\\]\\s*$", RegularExpression::RE_CASELESS);
+static bool is_concentration(const std::string& str, std::string& p1)
+{
+    std::vector<std::string> matches;
+
+    int nmatch = is_concentration_re.split(str, matches);
+
+    if (nmatch == 2)
+    {
+        p1 = matches[1];
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+static const Poco::RegularExpression is_symbol_re("^\\s*(\\w*)\\s*$", RegularExpression::RE_CASELESS);
+static bool is_symbol(const std::string& str, std::string& p1)
+{
+    std::vector<std::string> matches;
+
+    int nmatch = is_symbol_re.split(str, matches);
+
+    if (nmatch == 2)
+    {
+        p1 = matches[1];
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+static const Poco::RegularExpression is_amount_rate_re("^\\s*(\\w*)\\s*'\\s*$", RegularExpression::RE_CASELESS);
+static bool is_amount_rate(const std::string& str, std::string& p1)
+{
+
+
+    std::vector<std::string> matches;
+
+    int nmatch = is_amount_rate_re.split(str, matches);
+
+    if (nmatch == 2)
+    {
+        p1 = matches[1];
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+static const Poco::RegularExpression is_eigen_re("^\\s*(eigenReal|eigenImag)\\s*\\(\\s*(\\w*)\\s*\\)\\s*$", RegularExpression::RE_CASELESS);
+static bool is_eigen(const std::string& str, std::string& p1, bool& complex)
+{
+    std::vector<std::string> matches;
+
+    int nmatch = is_eigen_re.split(str, matches);
+
+    if (nmatch == 3)
+    {
+        p1 = matches[2];
+
+        if (matches[1] == "eigenImag")
+        {
+            complex = true;
+        }
+        else
+        {
+            complex = false;
+        }
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+
+static const Poco::RegularExpression is_init_value_re("^\\s*init\\s*\\(\\s*(\\w*)\\s*\\)\\s*$", RegularExpression::RE_CASELESS);
+static bool is_init_value(const std::string& str, std::string& p1)
+{
+    std::vector<std::string> matches;
+
+    int nmatch = is_init_value_re.split(str, matches);
+
+    if (nmatch == 2)
+    {
+        p1 = matches[1];
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+
+static const Poco::RegularExpression is_init_conc_re("^\\s*init\\s*\\(\\s*\\[\\s*(\\w*)\\s*\\]\\s*\\)\\s*$", RegularExpression::RE_CASELESS);
+static bool is_init_conc(const std::string& str, std::string& p1)
+{
+    std::vector<std::string> matches;
+
+    int nmatch = is_init_conc_re.split(str, matches);
+
+    if (nmatch == 2)
+    {
+        p1 = matches[1];
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+
+namespace rr
+{
+
+using namespace std;
+
+
+
+SelectionRecord::SelectionRecord(const int& _index,
+        const SelectionType _type, const string& _p1,
+        const string& _p2) :
+        index(_index), p1(_p1), p2(_p2), selectionType(_type)
+{
+}
+
+ostream& operator<<(ostream& stream, const SelectionRecord& rec)
+{
+    stream << "A Selection Record --" << endl;
+    stream << "Index: " << rec.index << endl;
+    stream << "p1: " << rec.p1 << endl;
+    stream << "p2: " << rec.p1 << endl;
+    stream << "SelectionType: " << rec.selectionType << endl;
+    return stream;
+}
+
+std::string SelectionRecord::to_repr() const
+{
+    std::string selType;
+
+    switch(selectionType) {
+    case SelectionRecord::TIME: selType = "TIME"; break;
+    case SelectionRecord::BOUNDARY_CONCENTRATION: selType = "BOUNDARY_CONCENTRATION"; break;
+    case SelectionRecord::FLOATING_CONCENTRATION: selType = "FLOATING_CONCENTRATION"; break;
+    case SelectionRecord::REACTION_RATE: selType = "REACTION_RATE"; break;
+    case SelectionRecord::FLOATING_AMOUNT_RATE: selType = "FLOATING_AMOUNT_RATE"; break;
+    case SelectionRecord::COMPARTMENT: selType = "COMPARTMENT"; break;
+    case SelectionRecord::GLOBAL_PARAMETER: selType = "GLOBAL_PARAMETER"; break;
+    case SelectionRecord::FLOATING_AMOUNT: selType = "FLOATING_AMOUNT"; break;
+    case SelectionRecord::BOUNDARY_AMOUNT: selType = "BOUNDARY_AMOUNT"; break;
+    case SelectionRecord::ELASTICITY: selType = "ELASTICITY"; break;
+    case SelectionRecord::UNSCALED_ELASTICITY: selType = "UNSCALED_ELASTICITY"; break;
+    case SelectionRecord::CONTROL: selType = "CONTROL"; break;
+    case SelectionRecord::UNSCALED_CONTROL: selType = "UNSCALED_CONTROL"; break;
+    case SelectionRecord::EIGENVALUE: selType = "EIGENVALUE"; break;
+    case SelectionRecord::INITIAL_AMOUNT: selType = "INITIAL_AMOUNT"; break;
+    case SelectionRecord::INITIAL_CONCENTRATION: selType = "INITIAL_CONCENTRATION"; break;
+    case SelectionRecord::STOICHIOMETRY: selType = "STOICHIOMETRY"; break;
+    case SelectionRecord::UNKNOWN_ELEMENT: selType = "UNKNOWN_ELEMENT"; break;
+    case SelectionRecord::UNKNOWN_CONCENTRATION: selType = "UNKNOWN_CONCENTRATION"; break;
+    default: selType = "UNKNOWN"; break;
+    }
+    std::stringstream s;
+    s << "SelectionRecord({'index' : " << index << ", ";
+    s << "'p1' : '" << p1 << "', ";
+    s << "'p2' : '" << p2 << "', ";
+    s << "'selectionType' : " << selType << "})";
+
+    return s.str();
+}
+
+rr::SelectionRecord::SelectionRecord(const std::string str) :
+        index(-1), selectionType(UNKNOWN)
+{
+    bool complex;
+
+    if (is_time(str))
+    {
+        selectionType = TIME;
+    }
+    else if (is_ec(str, p1, p2))
+    {
+        selectionType = ELASTICITY;
+    }
+    else if(is_uec(str, p1, p2))
+    {
+        selectionType = UNSCALED_ELASTICITY;
+    }
+    else if (is_cc(str, p1, p2))
+    {
+        selectionType = CONTROL;
+    }
+    else if(is_ucc(str, p1, p2))
+    {
+        selectionType = UNSCALED_CONTROL;
+    }
+    else if(is_concentration(str, p1))
+    {
+        selectionType = UNKNOWN_CONCENTRATION;
+    }
+    else if(is_amount_rate(str, p1))
+    {
+        selectionType = FLOATING_AMOUNT_RATE;
+    }
+    else if(is_eigen(str, p1, complex))
+    {
+        if(complex)
+        {
+            selectionType = EIGENVALUE_COMPLEX;
+        }
+        else
+        {
+            selectionType = EIGENVALUE;
+        }
+    }
+    else if(is_init_value(str, p1))
+    {
+        selectionType = INITIAL_AMOUNT;
+    }
+    else if(is_init_conc(str, p1))
+    {
+        selectionType = INITIAL_CONCENTRATION;
+    }
+    else if(is_stoich(str, p1, p2))
+    {
+        selectionType = STOICHIOMETRY;
+    }
+    else if(is_symbol(str, p1))
+    {
+        selectionType = UNKNOWN_ELEMENT;
+    }
+}
+
+std::string rr::SelectionRecord::to_string() const
+{
+    std::string result;
+    switch(selectionType)
+    {
+    case TIME:
+        result = "time";
+        break;
+    case BOUNDARY_CONCENTRATION:
+    case FLOATING_CONCENTRATION:
+    case UNKNOWN_CONCENTRATION:
+        result = "[" + p1 + "]";
+        break;
+    case FLOATING_AMOUNT_RATE:
+    case GLOBAL_PARAMETER_RATE:
+        result = p1 + "'";
+        break;
+    case COMPARTMENT:
+    case GLOBAL_PARAMETER:
+    case FLOATING_AMOUNT:
+    case BOUNDARY_AMOUNT:
+    case UNKNOWN_ELEMENT:
+    case REACTION_RATE:
+        result = p1;
+        break;
+    case ELASTICITY:
+        result = "ec(" + p1 + ", " + p1 + ")";
+        break;
+    case UNSCALED_ELASTICITY:
+        result = "uec(" + p1 + ", " + p2 + ")";
+        break;
+    case CONTROL:
+        result = "cc(" + p1 + ", " + p2 + ")";
+        break;
+    case UNSCALED_CONTROL:
+        result = "ucc(" + p1 + ", " + p2 + ")";
+        break;
+    case EIGENVALUE:
+        result = "eigenReal(" + p1 + ")";
+        break;
+    case EIGENVALUE_COMPLEX:
+        result = "eigenImag(" + p1 + ")";
+        break;
+    case INITIAL_AMOUNT:
+        result = "init(" + p1 + ")";
+        break;
+    case INITIAL_CONCENTRATION:
+        result = "init([" + p1 + "])";
+        break;
+    case STOICHIOMETRY:
+        result = "stoich(" + p1 + ", " + p2 + ")";
+        break;
+    case UNKNOWN:
+        result = "UNKNOWN";
+        break;
+    case INITIAL_GLOBAL_PARAMETER:
+        result = "init(" + p1 + ")";
+        break;
+    default:
+        result = "ERROR";
+        break;
+    }
+    return result;
+}
+
+}
diff --git a/source/rrSelectionRecord.h b/source/rrSelectionRecord.h
new file mode 100644
index 0000000..6eceb14
--- /dev/null
+++ b/source/rrSelectionRecord.h
@@ -0,0 +1,243 @@
+#ifndef rrSelectionRecordH
+#define rrSelectionRecordH
+#include "rrExporter.h"
+#include <ostream>
+#include <string>
+
+namespace rr
+{
+using std::string;
+using std::ostream;
+
+/**
+ * a way to find sbml model elements using the RoadRunner syntax.
+ */
+class RR_DECLSPEC SelectionRecord
+{
+public:
+    enum SelectionType
+    {
+        TIME =                              (0x1 << 0),  // => 0x00000001,
+
+        /**
+         * species must have either a CONCENTRATION or AMOUNT
+         * modifer to distinguish it.
+         */
+        CONCENTRATION =                     (0x1 << 1),
+        AMOUNT =                            (0x1 << 2),
+
+        RATE =                              (0x1 << 3),
+
+        /**
+         * species must have either a BOUNDARY or FLOATING
+         * modifiers.
+         */
+        BOUNDARY =                          (0x1 << 4),
+        FLOATING =                          (0x1 << 5),
+
+        /**
+         * Compartments and parameters can be either current
+         * or initial values. These values with and underscore, '_'
+         * are intended to be used with either an CURRENT or
+         * INITIAL value modifier.
+         */
+        _COMPARTMENT =                      (0x1 << 6),
+        _GLOBAL_PARAMETER =                 (0x1 << 7),
+
+
+        REACTION =                          (0x1 << 8),
+
+        /**
+         * sbml elements can be accessed as either a initial value, or
+         * a current value, they must have one or the other.
+         */
+        INITIAL =                           (0x1 << 9),
+        CURRENT =                           (0x1 << 10),
+        UNSCALED =                          (0x1 << 11),
+        ELASTICITY =                        (0x1 << 12),
+        CONTROL =                           (0x1 << 13),
+
+        /**
+         * eigenvalue without complex is real part of eigenvalue.
+         */
+        EIGENVALUE =                        (0x1 << 14),
+
+        ELEMENT =                           (0x1 << 15),
+        STOICHIOMETRY =                     (0x1 << 16),
+        UNKNOWN =                           (0x1 << 17),
+        DEPENDENT =                         (0x1 << 18),
+        INDEPENDENT =                       (0x1 << 19),
+        CONSREVED_MOIETY =                  (0x1 << 20),
+        STATE_VECTOR =                      (0x1 << 21),
+        EVENT =                             (0x1 << 22),
+
+        /**
+         * the complex bit, off to get real values, on to get imaginary parts.
+         *
+         * Only used with EIGENVALUE currently.
+         */
+        COMPLEX =                           (0x1 << 23),
+
+        /**
+         * complex eigenvalue
+         */
+        EIGENVALUE_COMPLEX =                EIGENVALUE | COMPLEX,
+
+        UNKNOWN_CONCENTRATION =             UNKNOWN | CONCENTRATION,
+
+        /**
+         * the current compartment value
+         */
+        COMPARTMENT =                       _COMPARTMENT | INDEPENDENT | DEPENDENT | CURRENT,
+
+        /**
+         * the current global parameter value
+         */
+        GLOBAL_PARAMETER =                  _GLOBAL_PARAMETER | INDEPENDENT | DEPENDENT | CURRENT,
+
+        /**
+         * current amounts
+         */
+        FLOATING_AMOUNT =                   FLOATING | AMOUNT | INDEPENDENT | DEPENDENT | CURRENT,
+        INDEPENDENT_FLOATING_AMOUNT =       FLOATING | AMOUNT | INDEPENDENT | CURRENT,
+        DEPENDENT_FLOATING_AMOUNT =         FLOATING | AMOUNT | DEPENDENT   | CURRENT,
+        BOUNDARY_AMOUNT =                   BOUNDARY | AMOUNT | INDEPENDENT | DEPENDENT | CURRENT,
+
+        /**
+         * current concentrations
+         */
+        BOUNDARY_CONCENTRATION =            BOUNDARY | CONCENTRATION | INDEPENDENT | DEPENDENT | CURRENT,
+        FLOATING_CONCENTRATION =            FLOATING | CONCENTRATION | INDEPENDENT | DEPENDENT | CURRENT,
+
+        /**
+         * floating species value rates (value, not reaction rates),
+         * these are always current
+         */
+        FLOATING_AMOUNT_RATE =              FLOATING | RATE | DEPENDENT,
+        FLOATING_CONCENTRATION_RATE =       FLOATING | CONCENTRATION | RATE | DEPENDENT,
+
+        GLOBAL_PARAMETER_RATE =             _GLOBAL_PARAMETER | RATE,
+
+        /**
+         * reaction rate, always current
+         */
+        REACTION_RATE =                     REACTION | RATE | DEPENDENT,
+
+        /**
+         * initial species values
+         */
+        INITIAL_AMOUNT =                    INITIAL | AMOUNT | INDEPENDENT | DEPENDENT,
+        INITIAL_FLOATING_AMOUNT =           INITIAL | FLOATING | AMOUNT | INDEPENDENT | DEPENDENT,
+
+
+        INITIAL_CONCENTRATION =             INITIAL | CONCENTRATION | INDEPENDENT | DEPENDENT,
+        INITIAL_FLOATING_CONCENTRATION =    INITIAL | FLOATING | CONCENTRATION | INDEPENDENT | DEPENDENT,
+
+
+        INITIAL_COMPARTMENT =               INITIAL | _COMPARTMENT | INDEPENDENT | DEPENDENT,
+
+        INITIAL_GLOBAL_PARAMETER =          INITIAL | _GLOBAL_PARAMETER | INDEPENDENT | DEPENDENT,
+
+
+        /**
+         * Global parameters that have initial assignment rules.
+         */
+        DEPENDENT_INITIAL_GLOBAL_PARAMETER =  INITIAL | _GLOBAL_PARAMETER | DEPENDENT,
+
+
+        UNSCALED_ELASTICITY =               UNSCALED | ELASTICITY,
+        UNSCALED_CONTROL =                  UNSCALED | CONTROL,
+        UNKNOWN_ELEMENT =                   UNKNOWN | ELEMENT,
+        ALL =                               (0xffffffff),
+
+        ALL_INDEPENDENT =                   ~DEPENDENT,
+        ALL_DEPENDENT =                     ~INDEPENDENT,
+
+        ALL_INDEPENDENT_AMOUNT =            ~DEPENDENT & ~CONCENTRATION,
+        ALL_DEPENDENT_AMOUNT =              ~INDEPENDENT & ~CONCENTRATION,
+
+        ALL_INDEPENDENT_CONCENTRATION =     ~DEPENDENT & ~AMOUNT,
+        ALL_DEPENDENT_CONCENTRATION =       ~INDEPENDENT & ~AMOUNT,
+
+
+        /**
+         * The combination of values that uniquely define the current state of
+         * the sbml model.
+         *
+         * Note, any sbml variable can be defined by a rule, the model state
+         * is defined as the set of variabls that define the current state of the
+         * model. These do not include the initial values as the initial values
+         * can not be changed by advancing the model with the integrator.
+         */
+        MODEL_STATE =                       ALL_INDEPENDENT_AMOUNT & ~INITIAL,
+
+
+        /**
+         * If this bit is set, then the reset function evaluates all of the
+         * SBML model init conditions (init values and all init assignment rules),
+         * and assigns them to the model state variable. This setting brings
+         * the model back the originally loaded state.
+         */
+        SBML_INITIALIZE =                   STATE_VECTOR   // the STATE_VECTOR options
+                                                           // is used here because it is
+                                                           // not used anywhere else in
+                                                           // the reset options, and gives
+                                                           // the indication that everything is set,
+                                                           // mostly it saves a not wasting a bit value.
+    };
+
+    /**
+     * After the selection record is created by the roadrunner object, this
+     * is an index into the variables list that the ExecutableModel has.
+     */
+    int index;
+
+    /**
+     * For single argument selections, i.e. ee( S1 ), this is the argument, for
+     * two arg selections, this is the first arg.
+     */
+    string p1;
+
+    /**
+     * the second argument of two arg selections.
+     */
+    string p2;
+
+    /**
+     * the type of selection.
+     */
+    SelectionType selectionType;
+
+    /**
+     * Selections really should be constructed by the RoadRunner::createSelection
+     * method.
+     *
+     * This just creates a new ebmpy selection.
+     */
+    SelectionRecord(const int& index = 0,
+            const SelectionType type = UNKNOWN,
+            const string& p1 = "", const string& p2 = "");
+
+    /**
+     * creates a empty selection.
+     */
+    SelectionRecord(const std::string str);
+
+    /**
+     * get a short description of this selection, this returns a string
+     * compatable with RoadRunner::createSelection.
+     */
+    std::string to_string() const;
+
+    /**
+     * gets a longer description of this selection, this is intended
+     * to called as a python __repr__
+     */
+    std::string to_repr() const;
+};
+
+ostream& operator<< (ostream& stream, const SelectionRecord& rec);
+}
+
+
+#endif
diff --git a/source/rrSparse.cpp b/source/rrSparse.cpp
new file mode 100644
index 0000000..2462cc8
--- /dev/null
+++ b/source/rrSparse.cpp
@@ -0,0 +1,297 @@
+/*
+ * rrCSparse.cpp
+ *
+ *  Created on: Jul 10, 2013
+ *      Author: andy
+ */
+
+#pragma hdrstop
+#include "rrSparse.h"
+#include "rrLogger.h"
+#include "rrExecutableModel.h"
+#include <stdlib.h>
+#include <string.h>
+#include <stdexcept>
+#include <set>
+#include <algorithm>
+#include <cassert>
+#include <iostream>
+#include <cmath>
+#include <cstdio>
+#include <limits>
+
+#if defined(_WIN32) || defined(__WIN32__)
+#define isnan _isnan
+#else
+#define isnan std::isnan
+#endif
+
+namespace rr {
+
+using namespace std;
+
+// sorting predicate for vector of column values,
+// sort on the index, take value along for the ride.
+struct sort_pred
+{
+    bool operator()(const std::pair<unsigned,double> &left, const std::pair<unsigned,double> &right)
+    {
+        return left.first < right.first;
+    }
+};
+
+csr_matrix* csr_matrix_new(unsigned m, unsigned n,
+        const std::vector<unsigned>& rowidx, const std::vector<unsigned>& colidx,
+        const std::vector<double>& values)
+{
+    char err[64];
+    unsigned nnz = rowidx.size();
+
+    if (colidx.size() != nnz || values.size() != nnz)
+    {
+        throw runtime_error("rowidx, colidx and values must be the same length");
+    }
+
+    for (unsigned i = 0; i < nnz; i++)
+    {
+        if (rowidx[i] >= m)
+        {
+            snprintf(err, sizeof(err)/sizeof(char),
+                    "rowidx[%i] == %i >= row count %i", i, rowidx[i], m);
+            throw runtime_error(err);
+        }
+        if (colidx[i] >= n)
+        {
+            snprintf(err, sizeof(err)/sizeof(char),
+                    "colidx[%i] == %i >= column count %i", i, colidx[i], n);
+            throw runtime_error(err);
+        }
+    }
+
+    csr_matrix* mat = (csr_matrix*)calloc(1, sizeof(csr_matrix));
+
+    // values that will get stuffed into struct
+    vector<double> mvalues;
+    vector<unsigned> mcolidx;
+    vector<unsigned> mrowptr;
+
+    mat->m = m;
+    mat->n = n;
+    mat->nnz = 0;
+
+    // first index
+    mrowptr.push_back(0);
+
+    for(unsigned i = 0; i < m; i++)
+    {
+        // find all the values in this row
+        vector<pair<unsigned,double> > cols;
+        for(unsigned j = 0; j < nnz; j++)
+        {
+            if (i == rowidx[j])
+            {
+                cols.push_back(pair<unsigned,double>(colidx[j], values[j]));
+            }
+        }
+
+        // sort by the column index
+        sort(cols.begin(), cols.end(), sort_pred());
+
+        for(vector<pair<unsigned,double> >::const_iterator j = cols.begin(); j != cols.end(); j++)
+        {
+            mcolidx.push_back(j->first);
+            mvalues.push_back(j->second);
+        }
+        mrowptr.push_back((mat->nnz += cols.size()));
+    }
+
+    assert(mat->nnz == nnz);
+    assert(mcolidx.size() == nnz);
+    assert(mvalues.size() == nnz);
+    assert(mrowptr.size() == mat->m + 1);
+
+    mat->rowptr = (unsigned*)calloc(mat->m + 1, sizeof(unsigned));
+    mat->colidx = (unsigned*)calloc(nnz, sizeof(unsigned));
+    mat->values = (double*)calloc(nnz, sizeof(double));
+
+    memcpy(mat->rowptr, &mrowptr[0], (mat->m+1)*sizeof(unsigned));
+    memcpy(mat->colidx, &mcolidx[0], nnz*sizeof(unsigned));
+    memcpy(mat->values, &mvalues[0], nnz*sizeof(double));
+
+    return mat;
+}
+
+bool csr_matrix_set_nz(csr_matrix* mat, unsigned row, unsigned col, double val)
+{
+    if (mat && row <= mat->m && col <= mat->n)
+    {
+        for (unsigned k = mat->rowptr[row]; k < mat->rowptr[row + 1]; k++)
+        {
+            if (mat->colidx[k] == col)
+            {
+                mat->values[k] = val;
+                return true;
+            }
+        }
+    }
+    return false;
+}
+
+double csr_matrix_get_nz(const csr_matrix* mat, unsigned row, unsigned col)
+{
+    if (mat && row <= mat->m && col <= mat->n)
+    {
+        for (unsigned k = mat->rowptr[row]; k < mat->rowptr[row + 1]; k++)
+        {
+            if (mat->colidx[k] == col)
+            {
+                return mat->values[k];
+            }
+        }
+    }
+    return std::numeric_limits<double>::quiet_NaN();
+}
+
+void csr_matrix_delete(csr_matrix* mat)
+{
+    if (mat)
+    {
+        free(mat->colidx);
+        free(mat->rowptr);
+        free(mat->values);
+        free(mat);
+    }
+}
+
+void csr_matrix_dgemv(double alpha, const csr_matrix* A, const double* x,
+        double beta, double* y)
+{
+    const unsigned m = A->m;
+    unsigned *rowptr = A->rowptr;
+    unsigned *colidx = A->colidx;
+    double *values = A->values;
+    if (beta == 0.0)
+    {
+        for (unsigned i = 0; i < m; i++)
+        {
+            double yi = 0.0;
+            for (unsigned k = rowptr[i]; k < rowptr[i + 1]; k++)
+            {
+                yi = yi + alpha * values[k] * x[colidx[k]];
+            }
+            y[i] = yi;
+        }
+    }
+    else
+    {
+        for (unsigned i = 0; i < m; i++)
+        {
+            double yi = beta * y[i];
+            for (unsigned k = rowptr[i]; k < rowptr[i + 1]; k++)
+            {
+                yi = yi + alpha * values[k] * x[colidx[k]];
+            }
+            y[i] = yi;
+        }
+    }
+}
+
+
+double csr_matrix_ddot(int row, const csr_matrix *A, const double *x)
+{
+    assert(row < A->m && "invalid row");
+    unsigned *rowptr = A->rowptr;
+    unsigned *colidx = A->colidx;
+    double *values = A->values;
+
+    double sum = 0.0;
+    for (unsigned k = rowptr[row]; k < rowptr[row + 1]; k++)
+    {
+        sum = sum + values[k] * x[colidx[k]];
+    }
+    return sum;
+}
+
+void csr_matrix_fill_dense(const csr_matrix *A, double *dense)
+{
+    unsigned *rowptr = A->rowptr;
+    unsigned *colidx = A->colidx;
+    double *values = A->values;
+
+    memset(dense, 0, A->m * A->n * sizeof(double));
+
+    // m rows x n cols
+    // offset = row*NUMCOLS + column
+
+    // loop over rows
+    for (unsigned i = 0; i < A->m; i++)
+    {
+        // get the columns
+        for (unsigned k = rowptr[i]; k < rowptr[i + 1]; k++)
+        {
+            uint col = colidx[k];
+            dense[i * A->n + col] = values[k];
+        }
+    }
+}
+
+
+
+std::ostream& operator <<(std::ostream& os, const csr_matrix* mat)
+{
+    os.precision(2);                   // Set 2 digits past the decimal
+    os.flags(ios::right | ios::fixed); // Fixed point, right justified
+
+    os << "csr_matrix\n";
+
+    if (mat == 0)
+    {
+        os << "NULL" << endl;
+        return os;
+    }
+
+    os << "rows: " << mat->m << ", columns: " << mat->n;
+    os << ", non-zero entries: " << mat->nnz << endl;
+    if (mat->nnz > 0)
+    {
+        os << '[';
+        for (unsigned m = 0; m < mat->m; ++m)
+        {
+            if (m != 0)
+                os << ' ';
+            os << '[';
+            for (unsigned n = 0; n < mat->n; ++n)
+            {
+                double val = csr_matrix_get_nz(mat, m, n);
+                os.width(7);
+                os << (isnan(val) ? 0 : val);
+                if (n < mat->n - 1)
+                {
+                    os << ", ";
+                }
+                else
+                {
+                    os << ']';
+                }
+            }
+            if (m < mat->m - 1)
+            {
+                os << endl;
+            }
+            else
+            {
+                os << ']' << endl;
+            }
+        }
+    }
+    else
+    {
+        os << "[[]]" << endl;
+    }
+
+    return os;
+}
+
+}
+
+
diff --git a/source/rrSparse.h b/source/rrSparse.h
new file mode 100644
index 0000000..7572c8d
--- /dev/null
+++ b/source/rrSparse.h
@@ -0,0 +1,135 @@
+/*
+ * rrCSparse.h
+ *
+ *  Created on: Jul 10, 2013
+ *      Author: andy
+ */
+
+#ifndef RRCSPARSE_H_
+#define RRCSPARSE_H_
+
+#include "rrOSSpecifics.h"
+#include <vector>
+#include <ostream>
+
+namespace rr
+{
+
+/**
+ * @internal
+ * sparse storage compressed row format matrix.
+ *
+ * This should eventually get replaced when we use a numeric library
+ * which support sparse storage.
+ *
+ * structure layout based on  Mark Hoemmen's BeBop sparse conversion lib.
+ */
+typedef struct csr_matrix_t
+{
+    /**
+     * number of rows
+     */
+    unsigned m;
+
+    /**
+     * number of columns
+     */
+    unsigned n;
+
+    /**
+     * number of stored (nonzero) entries.
+     */
+    unsigned nnz;
+
+    /**
+     * array of stored (nonzero) entries of the matrix
+     * length: nnz
+     *
+     */
+    double* values;
+
+    /**
+     * array of column indices of the stored (nonzero) entries of the matrix,
+     * length: nnz
+     */
+    unsigned* colidx;
+
+    /**
+     * array of indices into the colidx and values arrays, for each column,
+     * length: m + 1
+     *
+     * This CSR matrix has the property that even rows with zero non-zero
+     * values have an entry in this array, if the i'th row has zero no values,
+     * then rowptr[j] == rowptr[j+1]. This property makes it easy to set
+     * values.
+     */
+    unsigned* rowptr;
+
+} csr_matrix;
+
+
+/**
+ * allocate and initialize the buffers and fields of a dcsr_matrix
+ * struct.
+ *
+ * TODO: These belong someplace more appropriate that this header file.
+ *
+ * These funcs are used by the generated LLVM model.
+ */
+csr_matrix* csr_matrix_new(unsigned m, unsigned n,
+        const std::vector<unsigned>& rowidx, const std::vector<unsigned>& colidx,
+        const std::vector<double>& values);
+
+/**
+ * free the buffers belonging to a dcsr_matrix, and the
+ * matrix itself.
+ */
+void csr_matrix_delete(csr_matrix *mat);
+
+/**
+ * sets a (previously allocted) non-zero value to the given value.
+ *
+ * @returns true on success, false on failure.
+ */
+bool csr_matrix_set_nz(csr_matrix *mat, unsigned row, unsigned col, double val);
+
+/**
+ * sets a (previously allocted) non-zero value to the given value.
+ *
+ * returns NaN if the entry (i,j) has not been alocated.
+ */
+double csr_matrix_get_nz(const csr_matrix *mat, unsigned row, unsigned col);
+
+/**
+ * performs the matrix-vector operations y := alpha*A*x + beta*y
+ *
+ * LAPACK sig: SUBROUTINE DGEMV(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
+ *
+ * The given vectors y and x must be the same size as number of
+ * columns in the sparse matrix.
+ */
+void  csr_matrix_dgemv(double alpha, const csr_matrix *A,
+        double const *x, double beta, double *y);
+
+/**
+ * perform a dot product between the a row in the matrix and a vector y.
+ *
+ * The given vector y must obviously be the same length as the
+ * number of rows in matrix x.
+ */
+double csr_matrix_ddot(int row, const csr_matrix *x, const double *y);
+
+/**
+ * fill dense matrix
+ */
+void csr_matrix_fill_dense(const csr_matrix *x, double *dense);
+
+/**
+ * dump the matrix to an output stream.
+ */
+std::ostream& operator<< (std::ostream& os, const csr_matrix* mat);
+
+
+}
+
+#endif /* RRCSPARSE_H_ */
diff --git a/source/rrSteadyStateSolver.cpp b/source/rrSteadyStateSolver.cpp
new file mode 100644
index 0000000..c845e02
--- /dev/null
+++ b/source/rrSteadyStateSolver.cpp
@@ -0,0 +1,37 @@
+#include "rrSteadyStateSolver.h"
+#include "rrNLEQInterface.h"
+
+using namespace std;
+
+
+namespace rr
+{
+
+
+rrSteadyStateSolver* rrSteadyStateSolverFactory::New(const Dictionary* doct,
+        ExecutableModel* model)
+{
+    return new NLEQInterface(model);
+}
+
+std::vector<std::string> rr::rrSteadyStateSolverFactory::getSteadyStateNames()
+{
+    std::vector<std::string> res;
+    res.push_back("NLEQ");
+    return res;
+}
+
+std::vector<const Dictionary*> rr::rrSteadyStateSolverFactory::getSteadyStateOptions()
+{
+    std::vector<const Dictionary*> res;
+    res.push_back(NLEQInterface::getSteadyStateOptions());
+    return res;
+}
+
+const Dictionary* rr::rrSteadyStateSolverFactory::getSteadyStateOptions(
+        const std::string& name)
+{
+    return NLEQInterface::getSteadyStateOptions();;
+}
+
+}
diff --git a/source/rrSteadyStateSolver.h b/source/rrSteadyStateSolver.h
new file mode 100644
index 0000000..f05889f
--- /dev/null
+++ b/source/rrSteadyStateSolver.h
@@ -0,0 +1,74 @@
+#ifndef rrSteadyStateSolverH
+#define rrSteadyStateSolverH
+#include "rrExporter.h"
+#include "rrExecutableModel.h"
+#include "Dictionary.h"
+#include <vector>
+
+
+namespace rr
+{
+
+/**
+ * place holder for now.
+ */
+struct rrSteadyStateOptions
+{
+};
+
+/**
+ * Interface that all steady state solvers must implement.
+ *
+ *
+ */
+class RR_DECLSPEC rrSteadyStateSolver : public Dictionary
+{
+
+public:
+
+    virtual ~rrSteadyStateSolver() {};
+    virtual double solve() = 0;
+};
+
+/**
+ * Factory class that creates steady state solvers,
+ * and lists all available steady state solvers and their
+ * supported options.
+ */
+class RR_DECLSPEC rrSteadyStateSolverFactory
+{
+public:
+
+    /**
+     * factory method to create a new steady state solver.
+     */
+    static rrSteadyStateSolver* New(const Dictionary* dict, ExecutableModel* model);
+
+    /**
+     * The list of steady state solver names that are currently implemented.
+     */
+    static std::vector<std::string> getSteadyStateNames();
+
+    /**
+     * list of options that each steady state solver supports.
+     *
+     * Each dictionary is populated with the default values that
+     * the solver will be created with.
+     *
+     * @returns a list of borrowed Dictionary references.
+     */
+    static std::vector<const Dictionary*> getSteadyStateOptions();
+
+    /**
+     * Get a dictionary of options for a specific solver.
+     *
+     * @param name: the name of a valid solver
+     * @returns a borrowed reference to a Dictionary
+     * @throws std::exception if the argument is not a valid integrator.
+     */
+    static const Dictionary* getSteadyStateOptions(const std::string& name);
+
+};
+
+}
+#endif
diff --git a/source/rrStringUtils.cpp b/source/rrStringUtils.cpp
new file mode 100644
index 0000000..1edac46
--- /dev/null
+++ b/source/rrStringUtils.cpp
@@ -0,0 +1,942 @@
+#pragma hdrstop
+#include <algorithm>
+#include <ctype.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <time.h>
+#include <sstream>
+#include <cstring>
+#include <cctype>
+#include "rrStringUtils.h"
+#include "rrUtils.h"
+#include "rrLogger.h"
+
+using namespace std;
+namespace rr
+{
+
+char* createText(const string& str)
+{
+    if(str.size() == 0)
+    {
+        return NULL;
+    }
+
+    char* text = (char*)malloc((str.size() + 1)*sizeof(char));
+    std::copy(str.begin(), str.end(), text);
+    text[str.size()] = '\0'; //terminating NULL!
+    return text;
+}
+
+char* createText(const int& count)
+{
+    if(count == 0)
+    {
+        return NULL;
+    }
+
+    char* text = (char*)malloc((count + 1)*sizeof(char));
+    text[count] = '\0'; //terminating NULL!
+    return text;
+}
+
+bool freeText(char* str)
+{
+    free(str);
+    return true;
+}
+
+string replaceWord(const string& str1, const string& str2, const string& theString)
+{
+    string temp(theString);
+    while(temp.find(str1) != string::npos)
+    {
+        temp.replace(temp.find(str1), str1.size(), str2);
+    };
+
+    return temp;
+}
+
+bool convertFunctionCallToUseVarArgsSyntax(const string& funcName, string& expression)
+{
+    size_t startFrom = expression.find(funcName);
+    if(startFrom != string::npos)
+    {
+        //Convert this to variable syntax...
+        size_t rightPos = findMatchingRightParenthesis(expression, startFrom);
+        if(rightPos != string::npos)
+        {
+            string funcArgs = expression.substr(startFrom, rightPos - startFrom);
+            int nrOfArgs    = getNumberOfFunctionArguments(funcArgs);
+
+            //Convert to a va_list thing
+            //insert nrOfArgs, jsut after leftPos
+            expression.insert(startFrom + funcName.size() + 1, toString(nrOfArgs) + ", ");
+        }
+    }
+    return true;
+}
+
+string removeChars(const string& str, const string& chars)
+{
+    string result(str);
+    for(int chrNr = 0; chrNr < chars.size(); chrNr++)
+    {
+           result.erase(std::remove(result.begin(), result.end(), chars[chrNr]), result.end());
+    }
+
+    return result;
+}
+
+bool isUnwantedChar(char ch) //Predicate for find_if algorithms..
+{
+    if(ch == '\n' || ch == '\t' || ch ==' ')
+    {
+        return true;
+    }
+    return false;
+}
+
+size_t findMatchingRightParenthesis(const string& expression, const size_t startFrom)
+{
+    int pCount = 0;
+
+    size_t leftPos  = expression.find("(", startFrom);    //First lef parenthesis
+    bool isScanning = false;    //Start scanning when first left parenthesis is found
+
+    for(size_t i = startFrom; i < expression.size(); i++)
+    {
+        char ch = expression[i];
+        if(ch == '(')
+        {
+            pCount++;
+            isScanning = true;
+        }
+        if(ch == ')')
+        {
+               pCount--;
+        }
+        if(pCount == 0 && isScanning == true)
+        {
+            //found it..
+            return i;
+        }
+    }
+
+    return std::string::npos;
+}
+
+int getNumberOfFunctionArguments(const string& expression)
+{
+    int pCount = 0;    //count parenthesis
+    int nrOfArgs = 1;
+    bool isScanning = false;    //Start scanning when first left parenthesis is found
+    for(int i = 0; i < expression.size(); i++)
+    {
+        char ch = expression[i];
+        if(ch == '(')
+        {
+            isScanning = true;
+            pCount++;
+        }
+        if(ch == ')')
+        {
+               pCount--;
+        }
+        if(ch == ',' && pCount == 1 && isScanning == true)
+        {
+            nrOfArgs++;
+        }
+     }
+
+     if(expression.size() == 0)
+     {
+         return -1;
+     }
+     return nrOfArgs;
+}
+
+string tabs(const int& nr)
+{
+    stringstream some_tabs;
+    for(int i = 0;i < nr; i++)
+    {
+        some_tabs <<"\t";
+    }
+    return some_tabs.str();
+}
+
+string NL()
+{
+    stringstream newLine;
+    newLine << endl;
+    return newLine.str();
+}
+
+
+string getFileName(const string& fileN)
+{
+    string fName;
+    if(fileN.find_last_of( '\\' ) != std::string::npos)
+    {
+        fName = fileN.substr(fileN.find_last_of( '\\' )+ 1, fileN.size());
+        return fName;
+    }
+    else if(fileN.find_last_of( '/' ) != std::string::npos)
+    {
+        fName = fileN.substr(fileN.find_last_of( '/' ) + 1, fileN.size());
+        return fName;
+    }
+
+    return fileN; //There was no path in present..
+}
+
+string getFileNameNoExtension(const string& fileN)
+{
+    string fName;
+    if(fileN.find_last_of( '\\' ) != std::string::npos)
+    {
+        fName = fileN.substr(fileN.find_last_of( '\\' )+ 1, fileN.size());
+    }
+    else if(fileN.find_last_of( '/' ) != std::string::npos)
+    {
+        fName = fileN.substr(fileN.find_last_of( '/' ) + 1, fileN.size());
+    }
+    else
+    {
+        fName = fileN;
+    }
+
+    return changeFileExtensionTo(fName, "");
+}
+
+string getFileExtension(const string& fileN)
+{
+    string fExtension;
+
+    fExtension = getFileName(fileN);
+
+    if(fileN.find_last_of( '.' ) != std::string::npos)
+    {
+        fExtension = fileN.substr(fileN.find_last_of('.')+ 1);
+        return fExtension;
+    }
+    else
+    {
+        return "";
+    }
+}
+
+string getFilePath(const string& fileN)
+{
+    string path;
+    if(fileN.find_last_of( '\\' ) != std::string::npos)
+    {
+        path = fileN.substr( 0, fileN.find_last_of( '\\' ));
+        return path;
+    }
+    else if(fileN.find_last_of( '/' ) != std::string::npos)
+    {
+        path = fileN.substr( 0, fileN.find_last_of( '/' ));
+        return path;
+    }
+
+    return "";
+}
+
+string changeFileExtensionTo(const string& _fName, const string& newExtension)
+{
+    //Be aware of the case
+    //".\\fName"
+    //where  the . is not part of the filename
+    string path = getFilePath(_fName);
+    string fName = getFileName(_fName);
+    //First create the file name, remove current extension if it exists
+
+    if(fName.find_last_of('.') != string::npos)
+    {
+        //Extension does exist. Cut it, and append new one
+        fName =  fName.substr(0, fName.find_last_of('.'));
+    }
+
+    if(newExtension[0] == '.')
+    {
+        fName = fName + newExtension;
+    }
+    else if(newExtension.size() == 0)    //No extension
+    {
+        return fName;
+    }
+    else
+    {
+        fName = fName + "." + newExtension;
+    }
+
+    return joinPath(path, fName);
+}
+
+bool startsWith(const string& src, const string& sub)
+{
+    bool result = (src.compare(0, sub.size(), sub) == 0);
+    return result;
+}
+
+bool endsWith(const string& src, const string& sub)
+{
+    bool result = (src.compare(src.size() - sub.size(), src.size(), sub) == 0);
+    return result;
+}
+
+string trim(const string& str, const char& ch)
+{
+    string trimmed(str);
+    string::size_type pos = trimmed.find_last_not_of(ch);
+    if(pos != string::npos)
+    {
+        trimmed.erase(pos + 1);
+        pos = trimmed.find_first_not_of(ch);
+        if(pos != string::npos)
+        {
+            trimmed.erase(0, pos);
+        }
+      }
+    else
+    {
+        trimmed.erase(trimmed.begin(), trimmed.end());
+    }
+    return trimmed;
+}
+
+string removeNewLines(const string& str, const int& howMany)
+{
+    return substitute(str, "\n" , "", howMany);
+}
+
+string format(const string& src, const string& arg)
+{
+    return substitute(src, "{0}", arg);
+}
+
+string format(const string& src, const int& arg)
+{
+    return substitute(src, "{0}", toString(arg));
+}
+
+string format(const string& src, const string& arg1, const string& arg2)
+{
+    string tmp = substitute(src, "{0}", arg1);
+    return substitute(tmp, "{1}", arg2);
+}
+
+string format(const string& src, const string& arg1, const int& arg2)
+{
+    string tmp = substitute(src, "{0}", arg1);
+    return substitute(tmp, "{1}", toString(arg2));
+}
+
+string format(const string& src, const string& arg1, const string& arg2, const string& arg3)
+{
+    string tmp(src);
+    tmp = substitute(tmp, "{0}", arg1);
+    tmp = substitute(tmp, "{1}", arg2);
+    tmp = substitute(tmp, "{2}", arg3);
+    return tmp;
+}
+
+string format(const string& src, const string& arg1, const int& arg2, const string& arg3)
+{
+    string tmp = substitute(src, "{0}", arg1);
+    tmp = substitute(tmp, "{1}", toString(arg2));
+     return substitute(tmp, "{2}", arg3);
+}
+
+string format(const string& str1, const string& arg1, const string& arg2, const string& arg3, const string& arg4)
+{
+    string token1("{0}");
+    string token2("{1}");
+    string token3("{2}");
+    string token4("{3}");
+    string newString(str1);
+
+    newString = substitute(newString, token1, arg1);
+    newString = substitute(newString, token2, arg2);
+    newString = substitute(newString, token3, arg3);
+    newString = substitute(newString, token4, arg4);
+    return newString;
+}
+
+string format(const string& str1, const string& arg1, const string& arg2, const string& arg3, const string& arg4, const string& arg5)
+{
+    string token1("{0}");
+    string token2("{1}");
+    string token3("{2}");
+    string token4("{3}");
+    string token5("{4}");
+    string newString(str1);
+
+    newString = substitute(newString, token1, arg1);
+    newString = substitute(newString, token2, arg2);
+    newString = substitute(newString, token3, arg3);
+    newString = substitute(newString, token4, arg4);
+    newString = substitute(newString, token5, arg5);
+    return newString;
+}
+
+string format(const string& str1, const unsigned int& arg1, const string& arg2)
+{
+    string token1("{0}");
+    string token2("{1}");
+    string newString(str1);
+
+    newString = substitute(newString, token1, (int) arg1);
+    newString = substitute(newString, token2, arg2);
+    return newString;
+}
+
+string format(const string& str1, const unsigned int& arg1, const string& arg2, const string& arg3)
+{
+    string token1("{0}");
+    string token2("{1}");
+    string token3("{2}");
+    string newString(str1);
+
+    newString = substitute(newString, token1, rr::toString(arg1));
+    newString = substitute(newString, token2, arg2);
+      newString = substitute(newString, token3, arg3);
+
+    return newString;
+}
+
+string format(const string& str1, const unsigned int& arg1, const unsigned int& arg2, const string& arg3, const string& arg4)
+{
+    string tok1("{0}");
+    string tok2("{1}");
+    string tok3("{2}");
+    string tok4("{2}");
+    string newString(str1);
+
+    newString = substitute(newString, tok1, arg1);
+    newString = substitute(newString, tok2, arg2);
+      newString = substitute(newString, tok3, arg3);
+      newString = substitute(newString, tok4, arg4);
+
+    return newString;
+}
+
+string substitute(const string& src, const string& thisOne, const int& withThisOne, const int& howMany)
+{
+    return substitute(src, thisOne, toString(withThisOne), howMany);
+}
+
+//string substitute(const string& src, const string& thisOne, const double& withThisOne, const int& howMany)
+//{
+//    return substitute(src, thisOne, toString(withThisOne), howMany);
+//}
+
+string substitute(const string& src, const string& thisOne, const string& withThisOne, const int& howMany)
+{
+    string newString(src);
+    int count = 0;
+
+    while(newString.find(thisOne) != string::npos)
+    {
+        if(count == howMany)
+        {
+            break;
+        }
+        else
+        {
+            newString.replace(newString.find(thisOne), thisOne.size(), withThisOne);
+            count++;
+        }
+    }
+    return newString;
+}
+
+//bool InStringList(const string& fldr, list<string>& theList)
+//{
+//    list<string>::iterator index = std::find_if(theList.begin(), theList.end(),  mtkCompareStrings(fldr));
+//    return (index != theList.end()) ? true : false;
+//}
+
+string intToStr(const int& nt)
+{
+    //char *itoa(int value, char *string, int radix);
+//    char str[100];
+//    itoa(nt, str, 10);
+    stringstream number;
+    number<<nt;
+
+//    string valStr(str);
+    return number.str();
+}
+
+string dblToStr(const double& nt)
+{
+    char str[25];
+    int sig = 5; /* significant digits */
+    char* ptr =  gcvt(nt, sig, str);
+    return string(str);
+}
+
+int strToInt(const string& str)
+{
+    return atoi(str.c_str());
+}
+
+double strToDbl(const string& str)
+{
+    char *endptr;
+    return strtod(str.c_str(), &endptr);
+}
+
+vector<string> splitString(const string &text, const char& oneSep)
+{
+    string separator;
+    separator = oneSep;
+    return splitString(text, separator);
+}
+
+vector<string> splitString(const string &text, const string &separators)
+{
+    vector<string> words;
+    int n = text.length();
+    int start = text.find_first_not_of(separators);
+
+    while( (start >= 0) && (start < n) )
+    {
+        int stop = text.find_first_of(separators, start);
+        if( (stop < 0) || (stop > n) )
+        {
+            stop = n;
+        }
+        words.push_back(text.substr(start, stop - start));
+        start = text.find_first_not_of(separators, stop+1);
+    }
+
+    return words;
+}
+
+vector<string> splitString(const string &text, const string &separators, bool cutDelimiter)
+{
+    vector<string> words;
+    int n = text.length();
+    int start = text.find_first_not_of(separators);
+    while( (start >= 0) && (start < n) )
+    {
+        int stop = text.find_first_of(separators, start);
+        if( (stop < 0) || (stop > n) )
+        {
+            stop = n;
+        }
+
+        if(cutDelimiter)
+        {
+            words.push_back(text.substr(start, stop - start));
+        }
+        else
+        {
+            start -= 1;
+            if(stop != n)
+            {
+                stop += 1;
+            }
+            words.push_back(text.substr(start, stop - start));
+        }
+        start = text.find_first_not_of(separators, stop+1);
+    }
+
+    return words;
+}
+
+int splitString(vector<string>& words, const string &text, const string &separators)
+{
+    int n = text.length();
+    int start = text.find_first_not_of(separators);
+    while( (start >= 0) && (start < n) )
+    {
+        int stop = text.find_first_of(separators, start);
+        if( (stop < 0) || (stop > n) )
+        {
+            stop = n;
+        }
+        words.push_back(text.substr(start, stop - start));
+        start = text.find_first_not_of(separators, stop+1);
+    }
+
+    return words.size();
+}
+
+int toInt(const string& str)
+{
+    return atoi(str.c_str());
+}
+
+bool toBool(const string& str)
+{
+    if(str.size() < 2)
+    {
+        return (str == "1")     ? true : false;
+    }
+    else
+    {
+        //Could have a case insensitive comparison..
+        return (str == "true") || (str == "True") || (str == "TRUE") ? true : false;
+    }
+}
+
+double toDouble(const string& str)
+{
+    // The MSVC strtod is buggy in that it does not parse InF and NaN values,
+    // so have to compensate.
+    // go ahead and have the same behavior on all platforms so its easier
+    // to diagnose issues.
+    const char* cstr = str.c_str();
+    char* endptr = const_cast<char*>(cstr);
+    double result = ::strtod(cstr, &endptr);
+
+    if (endptr > cstr)
+    {
+        return result;
+    }
+
+    if(str.length() == 0)
+    {
+        return 0;
+    }
+
+    if(!str.size())
+    {
+        Log(Logger::LOG_WARNING) << "returning 0.0 for empty string in toDouble()";
+        return 0;
+    }
+
+    string s = str;
+    std::transform(s.begin(), s.end(), s.begin(), ::toupper);
+
+    if(s.find("NAN") != std::string::npos || s == "-")
+    {
+        return std::numeric_limits<double>::quiet_NaN();
+    }
+
+    size_t inf = s.find("INF");
+
+    if(inf != std::string::npos)
+    {
+        size_t negpos = s.find("-");
+        if(negpos != std::string::npos && negpos < inf) // -inf
+        {
+            return -std::numeric_limits<double>::infinity();
+        }
+        else // +inf
+        {
+            return std::numeric_limits<double>::infinity();
+        }
+    }
+
+    Log(Logger::LOG_WARNING) << "could not parse string \"" << str << "\" to double, returning NaN";
+    return std::numeric_limits<double>::quiet_NaN();
+}
+
+complex<double> toComplex(const string& str)
+{
+    vector<string> parts(splitString(str,"(,)"));
+
+    if(parts.size() != 2)
+    {
+        //should throw...
+        return complex<double>(0,0);
+    }
+
+    char *endptr = NULL;
+    complex<double> num;
+    if(parts[0] == "-")
+    {
+        if(parts[1] == "-")
+        {
+            return complex<double>(gDoubleNaN, gDoubleNaN);
+        }
+        double im = strtod(parts[1].c_str(), &endptr);
+        return complex<double>(gDoubleNaN,im);
+    }
+
+    if(parts[1] == "-")
+    {
+        double re = strtod(parts[0].c_str(), &endptr);
+        return complex<double>(re,gDoubleNaN);
+    }
+
+    double re = strtod(parts[0].c_str(), &endptr);
+    double im = strtod(parts[1].c_str(), &endptr);
+
+    return complex<double>(re,im);
+}
+
+string toUpperOrLowerCase(const string& inStr, int (*func)(int))
+{
+    string rString(inStr);
+    std::transform(rString.begin(), rString.end(), rString.begin(), func);
+    return rString;
+}
+
+string toUpper(const string& inStr)
+{
+    string rString(inStr);
+    std::transform(rString.begin(), rString.end(), rString.begin(), (int(*)(int)) toupper);
+    return rString;
+}
+
+string toLower(const string& inStr)
+{
+    string rString(inStr);
+    std::transform(rString.begin(), rString.end(), rString.begin(), (int(*)(int)) tolower);
+    return rString;
+}
+
+string toString(const char* str)
+{
+    return (string(str));
+}
+
+string toString(const bool& val)
+{
+    return val ? "true" : "false";
+}
+
+string toString(const double& val, const string& format)
+{
+    char sBuffer[256];
+    sprintf(sBuffer, format.c_str(), val);
+    return string(sBuffer);
+}
+
+//string toString(const int& val)
+//{
+//    char sBuffer[256];
+//    sprintf(sBuffer, format.c_str(), val);
+//    return string(sBuffer);
+//}
+
+string toString(const unsigned int& n, const string& format, const int nBase)
+{
+    char sBuffer[256];
+    if (nBase == 16)
+    {
+        sprintf(sBuffer, "%X", n);
+        return string("0x") + string(sBuffer);
+    }
+    else if(nBase == 2)
+    {
+        string tmp = "";
+        int k = n;
+        for (int i=0; i<8; i++)
+        {
+            if ((k & 0x80) != 0)
+                tmp += "1";
+            else
+                tmp += "0";
+            k = k<<1;
+        }
+        return "0b" + tmp;
+    }
+    else
+    {
+        sprintf(sBuffer, "%d", n);
+        return string(sBuffer);
+    }
+}
+
+string toString(const int& n, const string& format, const int nBase)
+{
+    char sBuffer[256];
+    if (nBase == 16)
+    {
+        sprintf(sBuffer, "%X", n);
+        return string("0x") + string(sBuffer);
+    }
+    else if(nBase == 2)
+    {
+        string tmp = "";
+        int k = n;
+        for (int i=0; i<8; i++)
+        {
+            if ((k & 0x80) != 0)
+                tmp += "1";
+            else
+                tmp += "0";
+            k = k<<1;
+        }
+        return "0b" + tmp;
+    }
+    else
+    {
+        sprintf(sBuffer, "%d", n);
+        return string(sBuffer);
+    }
+}
+
+string toString(const int n, const int nBase)
+{
+    char sBuffer[256];
+    if (nBase == 16)
+    {
+        sprintf(sBuffer, "%X", n);
+        return string("0x") + string(sBuffer);
+    }
+    else if(nBase == 2)
+    {
+        string tmp = "";
+        int k = n;
+        for (int i=0; i<8; i++)
+        {
+            if ((k & 0x80) != 0)
+                tmp += "1";
+            else
+                tmp += "0";
+            k = k<<1;
+        }
+        return "0b" + tmp;
+    }
+    else
+    {
+        sprintf(sBuffer, "%d", n);
+        return string(sBuffer);
+    }
+}
+
+string toString(const long n, const int nBase)
+{
+    char sBuffer[256];
+    if (nBase == 10)
+    {
+        sprintf(sBuffer, "%lu", n);
+        return string(sBuffer);
+    }
+    return toString( int(n), nBase);
+}
+
+string toString(const unsigned long n, const int nBase)
+{
+    char sBuffer[256];
+    if (nBase == 10)
+    {
+        sprintf(sBuffer, "%lu", n);
+        return string(sBuffer);
+    }
+    return toString( int(n), nBase);
+}
+
+string toString(const unsigned short n, const int nBase)
+{
+    char sBuffer[256];
+    if (nBase == 10)
+    {
+        sprintf(sBuffer, "%u", n);
+        return string(sBuffer);
+    }
+    return toString( int(n), nBase);
+}
+
+string toString(const short n, const int nBase)
+{
+    return toString( int(n), nBase);
+}
+
+string toString(const char n)
+{
+    char sBuffer[256];
+    sprintf(sBuffer, "%c", n);
+    return string(sBuffer);
+}
+
+string toString(const unsigned char n)
+{
+    char sBuffer[256];
+    sprintf(sBuffer, "%c", n);
+    return string(sBuffer);
+}
+
+string toString(const string& str)
+{
+    return str;
+}
+
+string toString(const vector<string>& vec, const string& sep)
+{
+    stringstream text;
+    text<<"{";
+    for(int i = 0; i < vec.size(); i++)
+    {
+        text<<vec[i];
+        if(i < vec.size() - 1)
+        {
+            text<<sep;
+        }
+    }
+    text<<"}";
+    return text.str();
+}
+
+int compareNoCase(const string& str1, const string& str2)
+{
+#if defined(_WIN32) || defined(__WIN32__)
+    int res = stricmp(str1.c_str(), str2.c_str());
+#else
+    int res = strcasecmp(str1.c_str(), str2.c_str());
+#endif
+    return res;
+}
+
+string append(const string& str)
+{
+    //stringstream ss;
+    //ss<<str;
+    return str;
+}
+
+string append(const int& str)
+{
+    stringstream ss;
+    ss<<str;
+    return ss.str();
+}
+
+
+string append(const unsigned int& str)
+{
+    stringstream ss;
+    ss<<str;
+    return ss.str();
+}
+
+
+string append(const string& s1, const string& s2)
+{
+    stringstream ss;
+    ss<<s1<<s2;
+    return ss.str();
+}
+
+string append(const string& s1, const string& s2, const string& s3)
+{
+    stringstream ss;
+    ss<<s1<<s2<<s3;
+    return ss.str();
+}
+
+string append(const string& s1, const unsigned int& s2, const string& s3)
+{
+    stringstream ss;
+    ss<<s1<<s2<<s3;
+    return ss.str();
+}
+
+string append(const string& s1, const unsigned int& s2, const string& s3, const string& s4)
+{
+    stringstream ss;
+    ss<<s1<<s2<<s3<<s4;
+    return ss.str();
+}
+
+}
+
diff --git a/source/rrStringUtils.h b/source/rrStringUtils.h
new file mode 100644
index 0000000..ef04ea0
--- /dev/null
+++ b/source/rrStringUtils.h
@@ -0,0 +1,107 @@
+#ifndef rrStringUtilsH
+#define rrStringUtilsH
+#include <string>
+#include <list>
+#include <vector>
+#include <complex>
+#include "rrConstants.h"
+#include "rrExporter.h"
+
+namespace rr
+{
+using std::string;
+using std::list;
+using std::vector;
+using std::complex;
+
+RR_DECLSPEC char*               createText(const string& str);
+RR_DECLSPEC char*               createText(const int& count);
+RR_DECLSPEC bool                   freeText(char* str);
+RR_DECLSPEC string              replaceWord(const string& str1, const string& str2, const string& theString);
+RR_DECLSPEC bool                convertFunctionCallToUseVarArgsSyntax(const string& funcName, string& expression);
+RR_DECLSPEC string              removeChars(const string& str, const string& chars);
+RR_DECLSPEC bool                isUnwantedChar(char ch); //Predicate for find_if algorithms..
+RR_DECLSPEC size_t              findMatchingRightParenthesis(const string& expression, const size_t startFrom);
+RR_DECLSPEC int                 getNumberOfFunctionArguments(const string& expression);
+RR_DECLSPEC string              tabs(const int& nr);
+RR_DECLSPEC string              NL();
+
+RR_DECLSPEC string                toUpperOrLowerCase(const string& inStr, int (*func)(int));
+RR_DECLSPEC string                 toUpper(const string& str);
+RR_DECLSPEC string                 toLower(const string& str);
+
+RR_DECLSPEC string              getFilePath(const string& fileN);
+RR_DECLSPEC string              getFileName(const string& fileN);
+RR_DECLSPEC string              getFileNameNoExtension(const string& fileN);
+RR_DECLSPEC string              getFileExtension(const string& fileN);
+
+RR_DECLSPEC string              changeFileExtensionTo(const string& theFileName, const string& newExtension);
+
+RR_DECLSPEC int                 compareNoCase(const string& str1, const string& str2);
+RR_DECLSPEC string              trim(const string& str, const char& toTrim = ' ');
+RR_DECLSPEC bool                startsWith(const string& src, const string& sub);
+RR_DECLSPEC bool                endsWith(const string& src, const string& sub);
+
+//conversions
+RR_DECLSPEC string              intToStr(const int& nt);
+RR_DECLSPEC int                 strToInt(const string& nt);
+RR_DECLSPEC string              dblToStr(const double& nt);
+RR_DECLSPEC double              strToDbl(const string& nt);
+RR_DECLSPEC vector<string>      splitString(const string &text, const string &separators);
+RR_DECLSPEC vector<string>      splitString(const string& input, const char& delimiters);
+RR_DECLSPEC int                 toInt(const string& str);
+RR_DECLSPEC bool                toBool(const string& str);
+RR_DECLSPEC double              toDouble(const string& str);
+RR_DECLSPEC complex<double>     toComplex(const string& str);
+
+RR_DECLSPEC string              toString(const bool& b);
+RR_DECLSPEC string              toString(const double& d, const string& format = gDoubleFormat);
+RR_DECLSPEC string              toString(const unsigned int& n, const string& format = gIntFormat, const int nBase=10);
+RR_DECLSPEC string              toString(const int& n, const string& format = gIntFormat, const int nBase=10);
+RR_DECLSPEC string              toString(const long n, const int nBase=10);
+RR_DECLSPEC string              toString(const unsigned long n, const int nBase=10);
+RR_DECLSPEC string              toString(const unsigned short n, const int nBase=10);
+RR_DECLSPEC string              toString(const short n, const int nBase=10);
+RR_DECLSPEC string              toString(const char n);
+RR_DECLSPEC string              toString(const unsigned char n);
+RR_DECLSPEC string              toString(const string& s);
+RR_DECLSPEC string              toString(const char* str);
+RR_DECLSPEC string              toString(const vector<string>& vec, const string& sep = ", ");
+
+RR_DECLSPEC string              format(const string& src, const int& arg);
+RR_DECLSPEC string              format(const string& str, const int& arg1);
+
+
+RR_DECLSPEC string              format(const string& src, const string& arg);
+RR_DECLSPEC string              format(const string& src, const string& arg1, const string& arg2, const string& arg3);
+RR_DECLSPEC string              format(const string& src, const string& arg1, const string& arg2);
+RR_DECLSPEC string              format(const string& src, const string& arg1, const int& arg2);
+RR_DECLSPEC string              format(const string& src, const string& arg1, const int& arg2, const string& arg3);
+RR_DECLSPEC string              format(const string& str1, const string& str2);
+RR_DECLSPEC string              format(const string& str1, const string& arg1, const string& arg2);
+RR_DECLSPEC string              format(const string& str1, const string& arg1, const int& arg2);
+RR_DECLSPEC string              format(const string& str1, const string& arg1, const int& arg2, const string& arg3);
+RR_DECLSPEC string              format(const string& str1, const string& arg1, const string& arg2, const string& arg3);
+RR_DECLSPEC string              format(const string& str1, const string& arg1, const string& arg2, const string& arg3, const string& arg4);
+RR_DECLSPEC string              format(const string& str1, const string& arg1, const string& arg2, const string& arg3, const string& arg4, const string& arg5);
+
+RR_DECLSPEC string              format(const string& str1, const unsigned int& arg1, const string& arg2);
+
+RR_DECLSPEC string              format(const string& str1, const unsigned int& arg1, const string& arg2, const string& arg3);
+
+RR_DECLSPEC string              format(const string& str1, const unsigned int& arg1, const unsigned int& arg2, const string& arg3, const string& arg4);
+
+RR_DECLSPEC string              append(const string& str);
+RR_DECLSPEC string              append(const int& str);
+RR_DECLSPEC string              append(const unsigned int& str);
+RR_DECLSPEC string              append(const string& s1, const string& s2);
+RR_DECLSPEC string              append(const string& s1, const string& s2, const string& s3);
+RR_DECLSPEC string              append(const string& s1, const unsigned int& s2, const string& s3);
+RR_DECLSPEC string              append(const string& s1, const unsigned int& s2, const string& s3, const string& s4);
+
+RR_DECLSPEC string              substitute(const string& src, const string& thisOne, const string& withThisOne, const int& howMany = -1);
+RR_DECLSPEC string              substitute(const string& src, const string& thisOne, const int& withThisOne, const int& howMany = -1);
+//RR_DECLSPEC string              substitute(const string& src, const string& thisOne, const double& withThisOne, const int& howMany = -1);
+RR_DECLSPEC string              removeNewLines(const string& str, const int& howMany = -1);
+}
+#endif
diff --git a/source/rrTestSuiteModelSimulation.cpp b/source/rrTestSuiteModelSimulation.cpp
new file mode 100644
index 0000000..1eac02a
--- /dev/null
+++ b/source/rrTestSuiteModelSimulation.cpp
@@ -0,0 +1,296 @@
+#pragma hdrstop
+#include <iomanip>
+#include <map>
+#include <math.h>
+#include <sstream>
+#include "rrLogger.h"
+#include "rrTestSuiteModelSimulation.h"
+#include "rrUtils.h"
+#include "rrRoadRunner.h"
+
+using namespace std;
+namespace rr
+{
+
+TestSuiteModelSimulation::TestSuiteModelSimulation(const string& dataOutputFolder, const string& modelFilePath, const string& modelFileName)
+:
+SBMLModelSimulation(dataOutputFolder, dataOutputFolder),
+mCurrentCaseNumber(-1),
+mNrOfFailingPoints(0),
+mLargestError(0)
+{
+    //make sure the output folder exists..
+    mResultData.setName("ResultData");
+    mReferenceData.setName("ReferenceData");
+    mErrorData.setName("ErrorData");
+}
+
+TestSuiteModelSimulation::~TestSuiteModelSimulation()
+{}
+
+void TestSuiteModelSimulation::SetCaseNumber(int cNr)
+{
+    mCurrentCaseNumber = cNr;
+}
+
+bool TestSuiteModelSimulation::CopyFilesToOutputFolder()
+{
+    if(!mModelSettingsFileName.size())
+    {
+        mModelSettingsFileName = joinPath(mModelFilePath, GetSettingsFileNameForCase(mCurrentCaseNumber));
+    }
+
+    string fName = getFileName(mModelSettingsFileName);
+    fName = joinPath(mDataOutputFolder, fName);
+#if defined(WIN32)
+    return CopyFileA(mModelSettingsFileName.c_str(), fName.c_str(), false) == TRUE ? true : false;
+#else
+    return false;
+#endif
+}
+
+bool TestSuiteModelSimulation::LoadSettings(const string& settingsFName)
+{
+    mModelSettingsFileName = (settingsFName);
+
+    if(!mModelSettingsFileName.size())
+    {
+        mModelSettingsFileName = joinPath(mModelFilePath, GetSettingsFileNameForCase(mCurrentCaseNumber));
+    }
+    return SBMLModelSimulation::LoadSettings(mModelSettingsFileName);
+}
+
+bool TestSuiteModelSimulation::LoadSettingsEx(const string& settingsFName)
+{
+    mModelSettingsFileName = (settingsFName);
+
+    if(!mModelSettingsFileName.size())
+    {
+        mModelSettingsFileName = joinPath(mModelFilePath, GetSettingsFileNameForCase(mCurrentCaseNumber));
+    }
+    bool result = SBMLModelSimulation::LoadSettings(mModelSettingsFileName);
+
+    if (mEngine)
+    {
+		SimulateOptions opt = SimulateOptions();
+		opt.loadSBMLSettings(mModelSettingsFileName);
+		mEngine->setSimulateOptions(opt);
+		result = true;
+    }
+    return result;
+}
+
+bool TestSuiteModelSimulation::LoadReferenceData()
+{
+    //The reference data is located in the folder where the model is located
+    string refDataFileName = joinPath(mModelFilePath, GetReferenceDataFileNameForCase(mCurrentCaseNumber));
+    if(!fileExists(refDataFileName))
+    {
+        Log(lWarning)<<"Could not open reference data file: "<<refDataFileName;
+        return false;
+    }
+
+    vector<string> lines = getLinesInFile(refDataFileName);
+    if(!lines.size())
+    {
+        Log(lWarning)<<"This file is empty..";
+        return false;
+    }
+
+    //Create the data..
+    for(int row = 0; row < lines.size(); row++)
+    {
+           vector<string> recs = splitString(lines[row], ",");
+        if(row == 0) //This is the header
+        {
+            mReferenceData.setColumnNames(recs);
+            //Assign how many columns the data has
+            mReferenceData.allocate(lines.size() - 1, recs.size());
+        }
+        else    //This is data
+        {
+            for(int col = 0; col < mReferenceData.cSize(); col++)
+            {
+                double val = toDouble(recs[col]);
+                mReferenceData(row - 1,col) = val; //First line is the header..
+             }
+        }
+    }
+
+    return true;
+}
+
+bool TestSuiteModelSimulation::Pass()
+{
+    return mNrOfFailingPoints > 0 ? false : true;
+}
+
+int TestSuiteModelSimulation::NrOfFailingPoints()
+{
+    return mNrOfFailingPoints;
+}
+
+double TestSuiteModelSimulation::LargestError()
+{
+    return mLargestError;
+}
+
+bool TestSuiteModelSimulation::CreateErrorData()
+{
+     mResultData = GetResult();
+    //Check that result data and reference data has the same dimensions
+    if(mResultData.cSize() != mReferenceData.cSize() || mResultData.rSize() != mReferenceData.rSize())
+    {
+        mNrOfFailingPoints = mResultData.rSize();
+        return false;
+    }
+
+    mErrorData.allocate(mResultData.rSize(), mResultData.cSize());
+    mLargestError = 0;
+    for(int row = 0; row < mResultData.rSize(); row++)
+    {
+        for(int col = 0; col < mResultData.cSize(); col++)
+        {
+            double error = fabsl(mResultData(row, col) - mReferenceData(row,col));
+            mErrorData(row, col) = error;
+
+			double absTol = mAbsolute;
+			double relTol = mRelative;
+            if(error > absTol + relTol*fabs(mReferenceData(row,col)))
+            {
+                mNrOfFailingPoints++;;
+            }
+
+            if(error > mLargestError)
+            {
+                mLargestError = error;
+            }
+        }
+    }
+    return true;
+}
+
+bool TestSuiteModelSimulation::SaveAllData()
+{
+    //Save all data to one file that can be plotted "as one"
+
+    //First save the reference data to a file for comparison to result data
+    string refDataFileName = joinPath(mDataOutputFolder, GetReferenceDataFileNameForCase(mCurrentCaseNumber));
+    ofstream fs(refDataFileName.c_str());
+    fs<<mReferenceData;
+    fs.close();
+
+    string outputAllFileName;
+    string dummy;
+    string dummy2;
+    createTestSuiteFileNameParts(mCurrentCaseNumber, "-result-comparison.csv", dummy, outputAllFileName, dummy2);
+    fs.open(joinPath(mDataOutputFolder, outputAllFileName).c_str());
+
+    //Check matrices dimension, if they are not equal, bail..?
+    if(mResultData.dimension() != mReferenceData.dimension() ||
+       mResultData.dimension() != mErrorData.dimension()        ||
+       mErrorData.dimension()  != mReferenceData.dimension() )
+    {
+        Log(lWarning)<<"Data dimensions are not equal, not saving to one file..";
+        return false;
+    }
+    for(int row = 0; row < mResultData.rSize(); row++)
+    {
+        for(int col = 0; col < mReferenceData.cSize(); col++)
+        {
+            if(row == 0)
+            {
+                if(col == 0)
+                {
+                    vector<string> ref_cnames =  mReferenceData.getColumnNames();
+                    for(vector<string>::iterator i = ref_cnames.begin();
+                            i != ref_cnames.end(); ++i) {
+                        *i = *i + "_ref";
+                    }
+                    fs << rr::toString(ref_cnames);
+                    fs << ",";
+                    vector<string> res_cnames =  mResultData.getColumnNames();
+                    for(vector<string>::iterator i = ref_cnames.begin();
+                            i != ref_cnames.end(); ++i) {
+                        *i = *i + "_rr";
+                    }
+                    fs << rr::toString(res_cnames);
+                    fs << ",";
+                    vector<string> err_names(ref_cnames.size(), "");
+                    for(int i = 0; i < err_names.size(); ++i ) {
+                        err_names[i] = ref_cnames[i] + "-" + res_cnames[i];
+                    }
+                    fs << rr::toString(err_names);
+                }
+            }
+
+            //First column is the time...
+            if(col == 0)
+            {
+                fs << endl << setw(10)<<left<<setprecision(6)<< mReferenceData(row, col); // this is time..
+            }
+            else
+            {
+                if(row <= mReferenceData.rSize())
+                {
+                    fs << "," << mReferenceData(row, col);
+                }
+                else
+                {
+                    fs << "," << " ";
+                }
+            }
+        }
+
+        //Then the simulated data
+        for(int col = 0; col < mResultData.cSize(); col++)
+        {
+            //First column is the time...
+            if(col == 0)
+            {
+                fs << "," << setw(10)<<left<<setprecision(6)<< mResultData(row , col);
+            }
+            else
+            {
+                fs << "," << mResultData(row, col);
+            }
+        }
+
+        //Then the error data
+        for(int col = 0; col < mErrorData.cSize(); col++)
+        {
+            //First column is the time...
+            if(col == 0)
+            {
+                fs << "," << setw(10)<<left<<setprecision(6)<<mErrorData(row, col); //Becuase row 0 is the header
+            }
+            else
+            {
+                fs << "," << mErrorData(row, col);
+            }
+        }
+    }
+
+    return true;
+}
+
+string TestSuiteModelSimulation::GetSettingsFileNameForCase(int caseNr)
+{
+    stringstream name;
+    name<<setfill('0')<<setw(5)<<caseNr;
+    name<<string("-settings.txt");        //create the "00023" subfolder format
+    string theName = name.str();
+    return theName;
+}
+
+string TestSuiteModelSimulation::GetReferenceDataFileNameForCase(int caseNr)
+{
+    stringstream name;
+    name<<setfill('0')<<setw(5)<<caseNr<<"-results.csv";
+    return name.str();
+
+}
+
+} //end of namespace
+
+
diff --git a/source/rrTestSuiteModelSimulation.h b/source/rrTestSuiteModelSimulation.h
new file mode 100644
index 0000000..ac7880a
--- /dev/null
+++ b/source/rrTestSuiteModelSimulation.h
@@ -0,0 +1,48 @@
+#ifndef rrSBMLTestSuiteModelSimulationH
+#define rrSBMLTestSuiteModelSimulationH
+//---------------------------------------------------------------------------
+#include <string>
+#include "rrSBMLModelSimulation.h"
+#include "rrStringUtils.h"
+#include "rrRoadRunnerOptions.h"
+#include "rrRoadRunnerData.h"
+
+namespace rr
+{
+
+/**
+ * @internal
+ */
+class RR_DECLSPEC TestSuiteModelSimulation : public SBMLModelSimulation
+{
+    protected:
+        int                     mCurrentCaseNumber;                     //If simulating test suite cases...
+        string                  mModelSettingsFileName;
+        RoadRunnerData          mResultData;
+        RoadRunnerData          mReferenceData;
+        RoadRunnerData          mErrorData;
+        string                  GetSettingsFileNameForCase(int sim_case);
+        string                  GetReferenceDataFileNameForCase(int caseNr);
+        int                     mNrOfFailingPoints;
+        double                  mLargestError;
+
+    public:
+                                TestSuiteModelSimulation(const string& dataOutputFolder = "", const string& modelFilePath = "", const string& modelFileName = "");
+                               ~TestSuiteModelSimulation();
+        void                    SetCaseNumber(int cNr);
+        bool                    LoadReferenceData();
+        bool                    CreateErrorData();
+        bool                    SaveAllData();
+        bool                    CopyFilesToOutputFolder();
+        double                  LargestError();
+        bool                    Pass();
+        int                     NrOfFailingPoints();
+        virtual bool            LoadSettings(const string& fName = "");
+        virtual bool            LoadSettingsEx(const string& settingsFName);
+};
+
+}
+
+
+
+#endif
diff --git a/source/rrUnresolvedSTDExternals.cpp b/source/rrUnresolvedSTDExternals.cpp
new file mode 100644
index 0000000..f496c08
--- /dev/null
+++ b/source/rrUnresolvedSTDExternals.cpp
@@ -0,0 +1,43 @@
+#include <sstream>
+#include <limits>
+
+using namespace std;
+void UnresolvedSTDExternals()
+{
+
+ostringstream output;
+output.precision(1);
+std::ostream st;
+st.exceptions(2);
+
+st.setf( std::ios::showbase,  std::ios::showbase);
+
+st.eof();
+st.bad();
+st.operator void *();
+st.operator !();
+
+locale loc;
+st<<use_facet <codecvt<wchar_t, char, mbstate_t> >(loc).max_length();
+
+char_traits<char>::find("The Hell Boy", 0, 'q');
+char_traits<wchar_t>::char_type str1[25] = L"The Hell Boy";
+char_traits<wchar_t>::char_type str2[25] = L"Something To ponder";
+char_traits<wchar_t>::char_type *result1;
+result1 = char_traits<wchar_t>::move(str2, str1, 10);
+result1 = char_traits<wchar_t>::copy(str1, str2, 2);
+char_traits<wchar_t>::assign(*str1, *str2);
+char_traits<wchar_t>::assign(str1, 2, *str2);
+
+//ios_base::precision(2);
+double test = std::numeric_limits<unsigned int>::quiet_NaN();
+test = std::numeric_limits<int>::quiet_NaN();
+test = std::numeric_limits<unsigned int>::quiet_NaN();
+test = std::numeric_limits<int>::quiet_NaN();
+test = std::numeric_limits<double>::quiet_NaN();
+test = std::numeric_limits<float>::quiet_NaN();
+test = std::numeric_limits<float>::infinity();
+test = std::numeric_limits<double>::infinity();
+test = std::numeric_limits<int>::max();
+}
+
diff --git a/source/rrUtils.cpp b/source/rrUtils.cpp
new file mode 100644
index 0000000..27a462f
--- /dev/null
+++ b/source/rrUtils.cpp
@@ -0,0 +1,687 @@
+#pragma hdrstop
+
+#if defined(_WIN32) || defined(__WIN32__)
+#include <windows.h>
+#include <io.h>
+#include <conio.h>
+
+#endif
+
+#if defined(__BORLANDC__)
+#include <dir.h>
+#elif defined(_MSC_VER)
+#include <direct.h>
+#else
+#include <unistd.h>
+#include <sys/stat.h>
+#include <limits.h>  //PATH_MAX
+#endif
+
+#define _USE_MATH_DEFINES
+
+#include <algorithm>
+#include <iostream>
+#include <fstream>
+#include <iomanip>
+#include <cmath>
+#include <math.h>
+#include <float.h>
+#if defined(_WIN32)
+#include <strsafe.h> //StringCchPrintf need to be included AFTER all other system headers :(
+#endif
+#include "Poco/MD5Engine.h"
+#include "Poco/Thread.h"
+#include "Poco/Glob.h"
+#include "Poco/File.h"
+#include <Poco/Path.h>
+#include "rrStringUtils.h"
+#include "rrUtils.h"
+#include "rrLogger.h"
+#include "rrSelectionRecord.h"
+#include "rrException.h"
+#include "rrConfig.h"
+
+// Most Unix systems have a getch in libcurses, but this introduces
+// an un-needed depencency, as we can write our own getch easily.
+// We do need the standard Posix termio headers though.
+#if defined (__unix__) || defined(__APPLE__)
+#include <stdlib.h>
+#include <termios.h>
+#include <dlfcn.h>
+#endif
+
+#if defined(__APPLE__)
+#include <limits.h>  //PATH_MAX
+#include <mach-o/dyld.h>
+#endif
+
+// Poco timestamp
+#include <Poco/Timestamp.h>
+
+namespace rr
+{
+using namespace std;
+
+bool cleanFolder(const string& folder, const string& baseName, const std::vector<std::string>& extensions)
+{
+    for(int i = 0; i < extensions.size(); i++)
+       {
+        string aFName = joinPath(folder, baseName) + "." + extensions[i];
+        Poco::File aFile(aFName);
+        if(aFile.exists())
+        {
+            aFile.remove();
+        }
+    }
+    return true;
+}
+
+
+// A function to get a character from the console without echo.
+// equivalent of Windows / Curses getch function. Note, that the
+// curses library has the same thing, but not all systems have curses,
+// and makes no sense have a dependency on it for one simple function.
+#if defined(__unix__) || defined(__APPLE__)
+static char rrGetch()
+{
+    char ch;
+    termios _old, _new;
+
+    /* Initialize new terminal i/o settings */
+    tcgetattr(0, &_old); /* grab old terminal i/o settings */
+    _new = _old; /* make new settings same as old settings */
+    _new.c_lflag &= ~ICANON; /* disable buffered i/o */
+    _new.c_lflag &= ~ECHO; /* set no echo mode */
+    tcsetattr(0, TCSANOW, &_new); /* use these new terminal i/o settings now */
+
+    ch = getchar();
+
+    /* Restore old terminal i/o settings */
+    tcsetattr(0, TCSANOW, &_old);
+    return ch;
+}
+#elif defined (_WIN32)
+// Windows has get built into conio
+#define rrGetch getch
+#endif
+
+string getMD5(const string& text)
+{
+    Poco::MD5Engine md5;
+    md5.update(text);
+    string digestString(Poco::DigestEngine::digestToHex(md5.digest()));
+    return digestString;
+}
+
+string getTime()
+{
+// Get current date/time, format is YYYY-MM-DD.HH:mm:ss
+    time_t     now = time(0);
+    struct tm  tstruct;
+    char       buf[80];
+    tstruct = *localtime(&now);
+    // Visit http://www.cplusplus.com/reference/clibrary/ctime/strftime/
+    // for more information about date/time format
+    strftime(buf, sizeof(buf), "%X", &tstruct);
+
+    return buf;
+}
+
+string getDateTime()
+{
+    // Get current date/time, format is YYYY-MM-DD.HH:mm:ss
+    time_t     now = time(0);
+    struct tm  tstruct;
+    char       buf[80];
+    tstruct = *localtime(&now);
+    // Visit http://www.cplusplus.com/reference/clibrary/ctime/strftime/
+    // for more information about date/time format
+    strftime(buf, sizeof(buf), "%Y-%m-%d %X", &tstruct);
+
+    return buf;
+}
+
+string getTempDir()
+{
+    std::string tmpPath = Config::getString(Config::TEMP_DIR_PATH);
+
+    if(tmpPath.length() > 0) {
+        tmpPath = Poco::Path::expand(tmpPath);
+        Poco::Path path(tmpPath);
+        path = path.makeAbsolute();
+        path = path.makeDirectory();
+        Poco::File file(path);
+
+        if (file.exists() && file.isDirectory()) {
+            tmpPath = path.toString();
+            Log(Logger::LOG_DEBUG) << "getTempDir(): " << tmpPath;
+            return tmpPath;
+        } else {
+            Log(Logger::LOG_WARNING) << "Temp dir path specified in config, \""
+                    << tmpPath << "\" is not a valid path, returning sytem tmp path: "
+                    << Poco::Path::temp();
+        }
+    }
+
+    Poco::Path temp(Poco::Path::temp());
+    tmpPath = temp.makeAbsolute().toString();
+    Log(Logger::LOG_DEBUG) << "getTempDir(): " << tmpPath;
+    return tmpPath;
+}
+
+std::string getCurrentSharedLibDir()
+{
+#if !defined(_WIN32)
+    Dl_info dl_info;
+
+    if (dladdr((void *)getCurrentSharedLibDir, &dl_info) != 0) {
+
+        // on Linux, either returns
+        // 1: absolute path if actually a shared library
+        // 2: "./" if run from current directory   - if statically linked
+        // 3: "exename" if run from path           - if statically linked
+        Poco::Path p(dl_info.dli_fname);
+
+        if (Poco::File(p).exists()) {
+            return p.parent().toString();
+        }
+    }
+
+    return "";
+
+
+#else
+    char buffer[MAX_PATH] = {0};
+    HMODULE hm = NULL;
+
+    if (!GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS |
+            GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
+            (LPCSTR) &getCurrentSharedLibDir,
+            &hm))
+    {
+        int ret = GetLastError();
+        throw rr::Exception(string("error in GetModuleHandleExA: " + rr::toString(ret)));
+    }
+
+    GetModuleFileNameA(hm, buffer, sizeof(buffer));
+
+    string path(buffer);
+    return path.substr( 0, path.find_last_of( '\\' ) + 1 );
+#endif
+}
+
+
+string getCurrentExeFolder()
+{
+#if defined(_WIN32) || defined(__WIN32__)
+    char path[MAX_PATH];
+    if(GetModuleFileNameA(NULL, path, ARRAYSIZE(path)) != 0)
+    {
+        string aPath(getFilePath(path));
+        return aPath;
+    }
+    return "";
+#elif defined(__APPLE__)
+    char exepath[PATH_MAX+1] = {0};
+    unsigned  bufsize = sizeof(exepath);
+    if (_NSGetExecutablePath(exepath, &bufsize) == 0)
+    {
+        string thePath = getFilePath(exepath);
+        Log(lDebug1) << "Current exe folder says:" << thePath;
+        return thePath;
+    }
+    else
+    {
+        Log(Logger::LOG_ERROR) << "_NSGetExecutablePath failed";
+        return "";
+    }
+#elif defined (__linux)
+    char arg1[20];
+    char exepath[PATH_MAX+1] = {0};
+
+    sprintf( arg1, "/proc/%d/exe", getpid() );
+    ssize_t r = readlink( arg1, exepath, 1024 );
+
+    if (r < 0)
+    {
+        throw rr::Exception(string("error readlink(") + string((char*)arg1) + string(") failed"));
+    }
+
+    string thePath = getFilePath(exepath);
+    Log(lDebug1) << "Current exe folder says:" << thePath;
+    return thePath;
+#endif
+
+}
+
+string getParentFolder(const string& path)
+{
+    if (path.empty()) {
+        return "";
+    }
+
+    Poco::Path p(path);
+    p = p.makeParent();
+    return p.toString();
+}
+
+string getCWD()
+{
+    //Get the working directory
+    char *buffer;
+
+    string cwd;
+    // Get the current working directory:
+    if( (buffer = getcwd( NULL, 512 )) == NULL )
+    {
+        Log(Logger::LOG_ERROR)<<"getCWD failed";
+        return "";
+    }
+    else
+    {
+      cwd = buffer;
+      free(buffer);
+    }
+
+    return cwd;
+}
+
+void sleep(int milliSeconds)
+{
+    Poco::Thread::sleep(milliSeconds);
+}
+
+const char getPathSeparator()
+{
+    return gPathSeparator;
+}
+
+string getFileContent(const string& fName)
+{
+    string content;
+
+    vector<string> lines = getLinesInFile(fName);
+    for(int i = 0; i < lines.size(); i++)
+    {
+        content += lines[i];
+        content += "\n";
+    }
+
+    return content;
+}
+
+vector<string> getLinesInFile(const string& fName)
+{
+    vector<string> lines;
+
+    ifstream ifs(fName.c_str());
+    if(!ifs)
+    {
+        Log(Logger::LOG_ERROR)<<"Failed opening file: "<<fName;
+        return lines;
+    }
+
+    std::string oneLine((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());
+    lines = splitString(oneLine, "\r\n");
+    return lines;
+}
+
+int indexOf(const std::vector<std::string>& vec, const std::string& elem )
+{
+    if(!vec.size())
+    {
+        return -1;
+    }
+    else
+    {
+        int index = distance(vec.begin(), find(vec.begin(), vec.end(), elem));
+        return index;
+    }
+}
+
+// String utils
+//string RemoveTrailingSeparator(const string& fldr, const char sep = gPathSeparator);//"\\");
+string removeTrailingSeparator(const string& _folder, const char sep)
+{
+    if((_folder.size() > 0) && (_folder[_folder.size() -1] == sep))
+    {
+        const int endOfPathIndex = _folder.rfind(sep, _folder.size());
+        string folder = _folder.substr(0, endOfPathIndex);
+        return folder;
+    }
+    else
+    {
+        return _folder;
+    }
+}
+
+bool isNaN(const double& aNum)
+{
+#if defined(WIN32)
+    return _isnan(aNum) > 0 ? true : false;
+#else
+    return std::isnan(aNum) > 0 ? true : false;
+#endif
+}
+
+bool isNullOrEmpty(const string& str)
+{
+    return !str.size();
+}
+
+void pause(bool doIt, const string& msg)
+{
+    if(!doIt)
+    {
+        return;
+    }
+
+    if(msg.size() == 0)
+    {
+        cout<<"Hit any key to exit...";
+    }
+    else
+    {
+        cout<<msg;
+    }
+    cin.ignore(0,'\n');
+
+    rrGetch();
+
+
+}
+
+/**
+ * check file access, just calls access, but on windows, access is _access,
+ *
+ * file modes:
+ * 00 Existence only
+ * 02 Write permission
+ * 04 Read permission
+ * 06 Read and write permission
+*/
+bool fileExists(const string& fname, int fileMode)
+{
+#if !defined (WIN32)
+    bool res = (access(fname.c_str(), fileMode) == 0);
+#else
+    bool res = (_access(fname.c_str(), fileMode) == 0);
+#endif
+
+    return res;
+}
+
+bool folderExists(const string& folderName)
+{
+#if defined(WIN32)
+    LPCTSTR szPath = folderName.c_str();
+    DWORD dwAttrib = GetFileAttributes(szPath);
+    return (dwAttrib != INVALID_FILE_ATTRIBUTES && (dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
+#else
+    struct stat status;
+    return stat(folderName.c_str(), &status) == 0 ? true : false;
+#endif
+}
+
+void createTestSuiteFileNameParts(int caseNr, const string& postFixPart, string& modelFilePath, string& modelName, string& settingsFName)
+{
+    stringstream modelSubPath;
+    stringstream modelFileName;
+    stringstream settingsFileName;
+
+    modelSubPath<<setfill('0')<<setw(5)<<caseNr;        //create the "00023" subfolder format
+    modelFileName<<setfill('0')<<setw(5)<<caseNr<<postFixPart;
+    modelFilePath = joinPath(modelFilePath, modelSubPath.str());
+    modelName =  modelFileName.str();
+    settingsFileName <<setfill('0')<<setw(5)<<caseNr<<"-settings.txt";
+    settingsFName = settingsFileName.str();
+}
+
+string getTestSuiteSubFolderName(int caseNr)
+{
+    stringstream modelSubPath;
+    modelSubPath<<setfill('0')<<setw(5)<<caseNr;        //create the "00023" subfolder format
+    return modelSubPath.str();
+}
+
+bool createFolder(const string& folder)
+{
+    if(fileExists(folder))
+    {
+        return true;
+    }
+
+#if defined(WIN32)
+    int res = mkdir(folder.c_str());
+#else
+    int temp;
+#define MY_MASK 0777
+//     printf("Default mask: %o\n", MY_MASK & ~022 & MY_MASK);
+      temp = umask(0);
+//      printf("Previous umask = %o\n", temp);
+    int res = mkdir(folder.c_str(), S_IRWXU | S_IRWXG | S_IRWXO);
+#endif
+
+    return (res==0) ? true : false;
+}
+
+bool createFile(const string& fName, std::ios_base::openmode mode)
+{
+    ofstream test;
+    test.open(fName.c_str(), mode);
+    test.close();
+    return fileExists(fName);
+}
+
+bool copyValues(vector<double>& dest, double* source, const int& nrVals, const int& startIndex)
+{
+    if(!dest.size() || !source || startIndex > dest.size())
+    {
+        return false;
+    }
+
+    for(int i = startIndex; i < nrVals; i++)
+    {
+        dest[i] = source[i];
+    }
+
+    return true;
+
+}
+
+bool copyStdVectorToCArray(const vector<double>& src, double* dest,  int size)
+{
+    if((size && !dest) || size > src.size())
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to copy to NULL vector, or incompatible size of vectors";
+        return false;
+    }
+
+    for(int i = 0; i < size; i++)
+    {
+        dest[i] = src[i];
+    }
+    return true;
+}
+
+bool copyStdVectorToCArray(const vector<bool>&   src,  bool*  dest,  int size)
+{
+    if((size && !dest) || size > src.size())
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to copy to NULL vector, or incompatible size of vectors";
+        return false;
+    }
+
+    for(int i = 0; i < size; i++)
+    {
+        dest[i] = src[i];
+    }
+    return true;
+}
+
+vector<double> createVector(const double* src, const int& size)
+{
+    vector<double> dest;
+    if(size && !src)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to copy from NULL vector";
+        return dest;
+    }
+
+    dest.resize(size);
+    for(int i = 0; i < size; i++)
+    {
+        dest[i] = src[i];
+    }
+    return dest;
+}
+
+bool copyCArrayToStdVector(const int* src, vector<int>& dest, int size)
+{
+    if(size && !src)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to copy from NULL vector";
+        return false;
+    }
+
+    dest.resize(size);
+    for(int i = 0; i < size; i++)
+    {
+        dest[i] = src[i];
+    }
+    return true;
+}
+
+bool copyCArrayToStdVector(const double* src, vector<double>& dest, int size)
+{
+    if(size && !src)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to copy from NULL vector";
+        return false;
+    }
+
+    dest.resize(size);
+    for(int i = 0; i < size; i++)
+    {
+        dest[i] = src[i];
+    }
+    return true;
+}
+
+bool copyCArrayToStdVector(const bool* src, vector<bool>& dest, int size)
+{
+    if(size && !src)
+    {
+        Log(Logger::LOG_ERROR)<<"Tried to copy from NULL vector";
+        return false;
+    }
+
+    dest.resize(size);
+    for(int i = 0; i < size; i++)
+    {
+        dest[i] = src[i];
+    }
+    return true;
+}
+
+double* createVector(const vector<double>& vec)
+{
+    double* avec = new double[vec.size()];
+    if(!avec)
+    {
+        Log(Logger::LOG_ERROR)<<"Failed to allocate c vector";
+        return NULL;
+    }
+
+    for(int i = 0; i < vec.size(); i++)
+    {
+          avec[i] = vec[i];
+    }
+    return avec;
+}
+
+string joinPath(const string& base, const string& file, const char pathSeparator)
+{
+    if (base.empty()) {
+        return file;
+    }
+
+    if (file.empty()) {
+        return base;
+    }
+
+    Poco::Path basePath(base);
+    basePath.append(Poco::Path(file));
+    return basePath.toString();
+}
+
+string joinPath(const string& p1, const string& p2, const string& p3, const char pathSeparator)
+{
+    string tmp(joinPath(p1, p2, gPathSeparator));
+    return joinPath(tmp, p3, gPathSeparator);
+}
+
+string joinPath(const string& p1, const string& p2, const string& p3, const string& p4, const char pathSeparator)
+{
+    string tmp(joinPath(p1, p2, p3, gPathSeparator));
+    return joinPath(tmp, p4, gPathSeparator);
+}
+
+string joinPath(const string& p1, const string& p2, const string& p3, const string& p4, const string& p5, const char pathSeparator)
+{
+    string tmp(joinPath(p1, p2, p3, p4, gPathSeparator));
+    return joinPath(tmp, p5, gPathSeparator);
+}
+
+
+#if defined(_WIN32) || defined(__WIN32__)
+
+string getWINAPIError(DWORD errorCode, LPTSTR lpszFunction)
+{
+    LPVOID lpMsgBuf;
+    LPVOID lpDisplayBuf;
+    DWORD dw = GetLastError();
+
+    FormatMessageA(
+        FORMAT_MESSAGE_ALLOCATE_BUFFER |
+        FORMAT_MESSAGE_FROM_SYSTEM |
+        FORMAT_MESSAGE_IGNORE_INSERTS,
+        NULL,
+        dw,
+        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+        (LPTSTR) &lpMsgBuf,
+        0, NULL
+    );
+
+    // Display the error message
+    lpDisplayBuf = (LPVOID)LocalAlloc(LMEM_ZEROINIT, (lstrlen((LPCTSTR)lpMsgBuf) + lstrlen((LPCTSTR)lpszFunction) + 40) * sizeof(TCHAR));
+
+    StringCchPrintf((LPTSTR)lpDisplayBuf,
+                        LocalSize(lpDisplayBuf) / sizeof(TCHAR),
+                        TEXT("%s failed with error %d: %s"),
+                        lpszFunction,
+                        dw,
+                        lpMsgBuf);
+
+    string errorMsg = string((LPCTSTR)lpDisplayBuf);
+    LocalFree(lpMsgBuf);
+    LocalFree(lpDisplayBuf);
+    return errorMsg;
+}
+
+int populateFileSet(const string& folder, set<string>& files)
+{
+     //Get models file names in models folder
+    string globPath =  rr::joinPath(folder, "*.xml");
+    Poco::Glob::glob(globPath, files);
+    return files.size();
+}
+
+#endif
+
+int64_t getMicroSeconds() {
+    Poco::Timestamp ts;
+    return ts.epochMicroseconds();
+}
+
+}//end of namespace
diff --git a/source/rrUtils.h b/source/rrUtils.h
new file mode 100644
index 0000000..5217b36
--- /dev/null
+++ b/source/rrUtils.h
@@ -0,0 +1,141 @@
+#ifndef rrUtilsH
+#define rrUtilsH
+
+#if defined(_WIN32) || defined(__WIN32__)
+#define NOMINMAX
+#include <windows.h>
+#endif
+
+#include <float.h>    //ms compatible IEEE functions, e.g. _isnan
+#include <vector>
+#include <string>
+#include <iostream>
+#include <set>
+#include "rrExporter.h"
+#include "rrConstants.h"
+#include "rrStringUtils.h"
+#include <stdint.h>
+
+
+namespace rr
+{
+
+using std::vector;
+using std::string;
+using std::set;
+
+RR_DECLSPEC bool            cleanFolder(const string& folder, const string& baseName,  const std::vector<std::string>& extensions);
+RR_DECLSPEC string          getTime();
+RR_DECLSPEC string          getDateTime();
+RR_DECLSPEC string          getMD5(const string& text);
+RR_DECLSPEC void            sleep(int ms);
+
+//Misc.
+/*!
+\brief indexOf returns the index of an element in the vector. If not found, or if vector size is zero, it returns -1.
+*/
+RR_DECLSPEC int             indexOf(const std::vector<std::string>& vec, const std::string& elem );
+RR_DECLSPEC bool            isNaN(const double& aNum);
+RR_DECLSPEC bool            isNullOrEmpty(const string& str);    //Can't be null, but empty
+RR_DECLSPEC void            pause(bool doIt = true, const string& msg = "");
+
+//String utilities
+RR_DECLSPEC string          removeTrailingSeparator(const string& fldr, const char sep = gPathSeparator);//"\\");
+
+//File  Utilities
+RR_DECLSPEC int             populateFileSet(const string& modelsFolder, set<string>& models);
+
+
+/**
+ * check file access, just calls access, but on windows, access is _access,
+ *
+ * file modes:
+ * 00 Existence only
+ * 02 Write permission
+ * 04 Read permission
+ * 06 Read and write permission
+*/
+RR_DECLSPEC bool fileExists(const string& fileN, int fileMode=0);
+
+RR_DECLSPEC bool            folderExists(const string& folderN);
+RR_DECLSPEC bool            createFolder(const string& path);
+
+RR_DECLSPEC string          getParentFolder(const string& path);
+RR_DECLSPEC string          getCurrentExeFolder();
+
+/**
+ * If roadrunner is build and running as shared library,
+ * either using the C++ shared library, or using the
+ * _roadrunner.so (or .pyd on Win).
+ */
+RR_DECLSPEC std::string getCurrentSharedLibDir();
+
+/**
+ * Get a temporary directory path.
+ *
+ * If the config specifies a TEMP_DIR entry, this is used, if not
+ * this will return the system specified temporary directory.
+ */
+RR_DECLSPEC std::string getTempDir();
+
+/**
+ * Join two file paths together.
+ */
+RR_DECLSPEC std::string joinPath(const string& p1, const string& p2,
+        const char pathSeparator = gPathSeparator);
+
+/**
+ * join three file paths together.
+ */
+RR_DECLSPEC std::string joinPath(const string& p1, const string& p2,
+        const string& p3, const char pathSeparator = gPathSeparator);
+
+RR_DECLSPEC std::string joinPath(const string& p1, const string& p2,
+        const string& p3, const string& p4, const char pathSeparator =
+                gPathSeparator);
+
+RR_DECLSPEC std::string joinPath(const string& p1, const string& p2,
+        const string& p3, const string& p4, const string& p5,
+        const char pathSeparator = gPathSeparator);
+
+
+RR_DECLSPEC string          getCWD();
+RR_DECLSPEC const char      getPathSeparator();
+
+RR_DECLSPEC vector<string>  getLinesInFile(const string& fName);
+RR_DECLSPEC string          getFileContent(const string& fName);
+RR_DECLSPEC void            createTestSuiteFileNameParts(int caseNr, const string& postFixPart, string& FilePath, string& modelFileName, string& settingsFileName);
+RR_DECLSPEC string          getTestSuiteSubFolderName(int caseNr);
+
+//CArray utilities
+RR_DECLSPEC bool            copyCArrayToStdVector(const int* src,     vector<int>& dest, int size);
+RR_DECLSPEC bool            copyCArrayToStdVector(const double* src,  vector<double>& dest, int size);
+RR_DECLSPEC bool            copyValues(vector<double>& dest, double* source, const int& nrVals, const int& startIndex);
+RR_DECLSPEC bool            copyCArrayToStdVector(const bool* src,    vector<bool>& dest, int size);
+RR_DECLSPEC bool            copyStdVectorToCArray(const vector<double>& src, double* dest,  int size);
+RR_DECLSPEC bool            copyStdVectorToCArray(const vector<bool>&   src,  bool*  dest,  int size);
+RR_DECLSPEC double*         createVector(const vector<double>& vec);
+RR_DECLSPEC vector<double>  createVector(const double* src, const int& size);
+
+#if defined(_WIN32) || defined(__WIN32__)
+RR_DECLSPEC HINSTANCE       loadDLL(const string& dll);
+RR_DECLSPEC bool            unLoadDLL(HINSTANCE dllHandle);
+RR_DECLSPEC FARPROC         getFunctionPtr(const string& funcName, HINSTANCE DLLHandle);
+RR_DECLSPEC string          getWINAPIError(DWORD errorCode, LPTSTR lpszFunction);
+#endif
+
+#undef CreateFile
+RR_DECLSPEC bool            createFile(const string& fName, std::ios_base::openmode mode = std::ios::trunc );
+
+
+
+/**
+ * Returns the timestamp expressed in microseconds since the Unix epoch, midnight, January 1, 1970.
+ *
+ * Note, this is a *PRIVATE* function, only reason why it is exported is so that
+ * the test suite can verify that it is increasing.
+ */
+RR_DECLSPEC int64_t getMicroSeconds();
+
+} // rr Namespace
+#endif
diff --git a/source/rrVersionInfo.cpp b/source/rrVersionInfo.cpp
new file mode 100644
index 0000000..a56696d
--- /dev/null
+++ b/source/rrVersionInfo.cpp
@@ -0,0 +1,112 @@
+#include "rrVersionInfo.h"
+#include "rrStringUtils.h"
+#include "rrRoadRunner.h"
+#include "rrCompiler.h"
+#include <sbml/common/libsbml-version.h>
+
+
+// has to be the very last include, has some static functions that
+// get compiled into this unit. 
+#include "GitInfo.h"
+
+
+namespace rr {
+
+
+
+std::string getVersionStr(unsigned options)
+{
+    std::string result = "";
+
+    if (options & VERSIONSTR_BASIC)
+    {
+        result += std::string(RR_VERSION_STR);
+
+        // if other flags, add a ';' as a separator.
+        if ((options & VERSIONSTR_COMPILER)
+                || (options & VERSIONSTR_DATE)
+                || (options & VERSIONSTR_JITCOMPILER))
+        {
+            result += std::string("; ");
+        }
+    }
+
+    if (options & VERSIONSTR_COMPILER)
+    {
+        result += std::string("Compiler: ") + std::string(RR_COMPILER);
+
+        result += ", C++ version: " + rr::toString((long)__cplusplus);
+
+        if ((options & VERSIONSTR_DATE) || (options & VERSIONSTR_JITCOMPILER))
+        {
+            result += std::string("; ");
+        }
+    }
+
+    if (options & VERSIONSTR_JITCOMPILER)
+    {
+        RoadRunner r;
+        Compiler* c = r.getCompiler();
+
+        result += "JIT Compiler: ";
+        result += c->getCompiler();
+        result += "-";
+        result += c->getVersion();
+
+        if (options & VERSIONSTR_DATE)
+        {
+            result += std::string("; ");
+        }
+
+    }
+
+    if (options & VERSIONSTR_DATE)
+    {
+        result += std::string("Date: ") + std::string( __DATE__ ) + ", " + std::string(__TIME__);
+
+        if (options & VERSIONSTR_LIBSBML)
+        {
+            result += std::string("; ");
+        }
+    }
+
+    if (options & VERSIONSTR_LIBSBML)
+    {
+        if (std::string(libsbml::getLibSBMLDottedVersion()) != std::string(LIBSBML_DOTTED_VERSION))
+            throw std::runtime_error("libSBML version mismatch between linked / compiled library: " + std::string(libsbml::getLibSBMLDottedVersion()) + " for linked vs. " + std::string(LIBSBML_DOTTED_VERSION) + " for compiled version");
+        result += std::string("LibSBML Version: ") + std::string(libsbml::getLibSBMLDottedVersion());
+
+        if (options & VERSIONSTR_GIT_BRANCH)
+        {
+            result += std::string("; ");
+        }
+    }
+
+    if (options & VERSIONSTR_GIT_BRANCH)
+    {
+        result += std::string("Git branch: ") + std::string(getGitBranch());
+
+        if (options & VERSIONSTR_GIT_COMMIT)
+        {
+            result += std::string("; ");
+        }
+    }
+
+
+    if (options & VERSIONSTR_GIT_COMMIT)
+    {
+        result += std::string("Git commit sha: ") + std::string(getGitLastCommit());
+    }        
+
+    return result;
+}
+
+std::string getCopyrightStr()
+{
+    return "(C) 2009-2014  Andy Somogyi, Totte Karlsson, HM. Sauro, Apache License, Version 2.0";
+}
+
+
+}
+
+
diff --git a/source/rrVersionInfo.h.in b/source/rrVersionInfo.h.in
new file mode 100644
index 0000000..389b0fd
--- /dev/null
+++ b/source/rrVersionInfo.h.in
@@ -0,0 +1,115 @@
+#ifndef rrVersionInfoH
+#define rrVersionInfoH
+#include "rrExporter.h"
+#include <string>
+
+namespace rr {
+
+#ifndef SWIG
+
+#define RR_STRINGIZE2(s) #s
+#define RR_STRINGIZE(s) RR_STRINGIZE2(s)
+
+#define RR_VERSION_MAJOR @ROADRUNNER_VERSION_MAJOR@
+#define RR_VERSION_MINOR @ROADRUNNER_VERSION_MINOR@
+#define RR_VERSION_PATCH @ROADRUNNER_VERSION_PATCH@
+#define RR_VERSION_STR RR_STRINGIZE(RR_VERSION_MAJOR) "." \
+  RR_STRINGIZE(RR_VERSION_MINOR) "." \
+  RR_STRINGIZE(RR_VERSION_PATCH)
+
+
+#if defined(__llvm__)
+    #define RR_COMPILER "clang " RR_STRINGIZE(__clang_version__)
+#endif
+
+#if defined(__GNUC__) && !defined(__llvm__)
+    #define RR_COMPILER "gcc " RR_STRINGIZE(__GNUC__) "." RR_STRINGIZE(__GNUC_MINOR__) "." RR_STRINGIZE(__GNUC_PATCHLEVEL__)
+#endif
+
+#if defined (_MSC_VER)
+    #if (_MSC_VER == 1800)
+        #define RR_COMPILER "Microsoft Visual Studio 2013"
+    #elif (_MSC_VER == 1700)
+        #define RR_COMPILER "Microsoft Visual Studio 2012"
+    #elif (_MSC_VER == 1600)
+        #define RR_COMPILER "Microsoft Visual Studio 2010"
+    #elif (_MSC_VER == 1500)
+        #define RR_COMPILER "Microsoft Visual Studio 2008"
+    #elif (_MSC_VER == 1400)
+        #define RR_COMPILER "Microsoft Visual Studio 2005"
+    #elif (_MSC_VER == 1310)
+        #define RR_COMPILER "Microsoft Visual Studio 2003"
+    #else
+        #define RR_COMPILER "Microsoft Visual Studio Unknown Version"
+    #endif
+#endif
+
+#if defined (__BORLANDC__)
+    #define RR_COMPILER "Borland"
+#endif
+
+#if !defined(RR_COMPILER)
+    #define RR_COMPILER "Unknown, but evidently working compiler"
+#endif
+
+#endif // SWIG
+
+/**
+ * various options of how the get the version string.
+ */
+enum VersionStrOptions
+{
+    /**
+     * the basic version string, i.e. "1.0.0"
+     */
+    VERSIONSTR_BASIC                  = (0x1 << 0),
+
+    /**
+     * the compiler string
+     */
+    VERSIONSTR_COMPILER               = (0x1 << 1),
+
+    /**
+     * when roadrunner was compiled
+     */
+    VERSIONSTR_DATE                   = (0x1 << 2),
+
+    /**
+     * the version of libSBML we're using
+     */
+    VERSIONSTR_LIBSBML                = (0x1 << 3),
+
+    VERSIONSTR_JITCOMPILER            = (0x1 << 4),
+
+    /**
+     * what git branch we are on.
+     */
+    VERSIONSTR_GIT_BRANCH             = (0x1 << 5),
+
+    /**
+     * the last commit.
+     */
+    VERSIONSTR_GIT_COMMIT             = (0x1 << 6)
+};
+
+/**
+ * get the roadrunner version string.
+ *
+ * The options can be any set of the values from the VersionStrOptions enum.
+ *
+ * Each one of these options are concatenated into the output string and there
+ * are ';' separators between each of them.
+ */
+RR_DECLSPEC std::string getVersionStr(unsigned options = VERSIONSTR_BASIC
+        | VERSIONSTR_COMPILER | VERSIONSTR_LIBSBML | VERSIONSTR_JITCOMPILER | VERSIONSTR_DATE);
+
+
+/**
+ * get the copyright string.
+ */
+RR_DECLSPEC std::string getCopyrightStr();
+
+
+}
+
+#endif
diff --git a/source/rr_pch.h b/source/rr_pch.h
new file mode 100644
index 0000000..24ac789
--- /dev/null
+++ b/source/rr_pch.h
@@ -0,0 +1,65 @@
+#ifndef rr_pchH
+#define rr_pchH
+//#include <windows.h>
+//
+//
+////STD includes
+#include <algorithm>
+#include <cctype>
+#include <deque>
+#include <exception>
+#include <fstream>
+#include <iostream>
+#include <list>
+#include <limits>
+#include <sstream>
+#include <sstream>
+#include <stack>
+#include <string>
+#include <vector>
+#include <iomanip>
+#include <ostream>
+//
+//#include <map>
+//
+//////c headers includes
+//#include <cmath>
+//#include <math.h>
+//#include <stdio.h>
+//#include <stdarg.h>
+//
+//#include "sbml/Model.h"
+//#include "sbml/SBMLDocument.h"
+//#include "rr-libstruct/lsLibStructural.h"
+//
+//#include "cvode/cvode.h"
+//
+//#include "nleq/nleq1.h"
+//
+//#include "rrException.h"
+//#include "rrLogger.h"
+//#include "rrModelFromC.h"
+//#include "rrCGenerator.h"
+//#include "rrUtils.h"
+//#include "rrCapability.h"
+//#include "rrCapabilities.h"
+//#include "rrCGenerator.h"
+//#include "rrCSharpGenerator.h"
+//#include "rrCVODEInterface.h"
+//#include "rrException.h"
+//#include "rrLogger.h"
+//#include "rrLogger.h"
+//#include "rrObject.h"
+//#include "rrRoadRunner.h"
+//#include "rrRule.h"
+//#include "rrScanner.h"
+//#include "rrStringListContainer.h"
+//#include "rrStringUtils.h"
+//#include "rrStringUtils.h"
+//#include "rrUtils.h"
+//
+//
+
+
+#endif
+
diff --git a/source/rr_unordered_map b/source/rr_unordered_map
new file mode 100644
index 0000000..b750efb
--- /dev/null
+++ b/source/rr_unordered_map
@@ -0,0 +1,9 @@
+#if (__cplusplus >= 201103L) || defined(_MSC_VER)
+#include <memory>
+#include <unordered_map>
+#define cxx11_ns std
+#else
+#include <tr1/memory>
+#include <tr1/unordered_map>
+#define cxx11_ns std::tr1
+#endif
\ No newline at end of file
diff --git a/source/testing/CMakeLists.txt b/source/testing/CMakeLists.txt
new file mode 100644
index 0000000..aa41204
--- /dev/null
+++ b/source/testing/CMakeLists.txt
@@ -0,0 +1,122 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(RR_CXX_API_TESTS)
+
+set(target cxx_api_tests)
+
+set(tests
+tests/base
+tests/sbml_test_suite
+tests/steady_state
+tests/stoichiometric
+)
+
+add_executable( ${target} 
+main
+src/Args
+src/rrTestUtils
+${tests}
+)
+
+set_property(TARGET ${target}  
+             PROPERTY  COMPILE_DEFINITIONS 
+LIBSBML_USE_CPP_NAMESPACE
+LIBSBML_STATIC
+STATIC_LIBSTRUCT
+STATIC_PUGI
+STATIC_RR
+STATIC_NLEQ
+) 
+
+link_directories(
+${THIRD_PARTY_INSTALL_FOLDER}/lib
+)
+
+include_directories(
+src
+${RR_ROOT}
+${THIRD_PARTY_FOLDER}/unit_test/src
+)
+
+if(UNIX)
+set(staticLibPrefix ".a")
+set(sharedLibPrefix ".so")
+else()
+set(staticLibPrefix "")
+set(sharedLibPrefix "")
+endif()
+
+if(WIN32)
+target_link_libraries (${target} 
+roadrunner-static
+unit_test-static${staticLibPrefix}
+)
+endif()
+
+if(UNIX) #Don't know why static roadrunner fails....?
+target_link_libraries (${target} 
+roadrunner-static
+libunit_test-static${staticLibPrefix}
+#nleq-static.a
+#rr-libstruct-static
+lapack
+blas
+f2c
+#libsbml-static.a
+#libxml2.so
+#sundials_nvecserial.a
+#sundials_cvode.a
+#pthread
+#poco_foundation-static.a
+#dl
+)
+endif()
+
+#set(resultsDir "${CMAKE_SOURCE_DIR}/reports")
+#
+#if(${BORLAND})
+#set(resultsFile "${resultsDir}/cpp_api_tests-cg_xe1.xml")
+#elseif(${MSVC})
+#set(resultsFile "${resultsDir}/cpp_api_tests-vs_2010.xml")
+#elseif(CMAKE_COMPILER_IS_GNUCC)
+#set(resultsFile "${resultsDir}/cpp_api_tests-gcc.xml")
+#else()
+#set(resultsFile "${resultsDir}/cpp_api_tests_unknown_compiler.xml")
+#endif()
+#
+#set(sbmlModelsDir       "${CMAKE_SOURCE_DIR}/models")
+#set(compilerFolder      "${CMAKE_SOURCE_DIR}/third_party/compilers/tcc")
+#set(supportCodeFolder   "/r/rrl/rr_support")
+#
+#if(UNIX)
+#set(compilerFolder     "")
+#endif()
+#
+#Message("SupportCodeFolder is: " ${supportCodeFolder})
+# Call like this -mr:\rrl\models -rr:\rrl\wiki\reports\file -tr:\rrTemp -sSupportCodeFolder -lCompilerFolder
+#add_custom_command(
+#    OUTPUT ${resultsFile}
+#    COMMAND ${target} -m${sbmlModelsDir} -l${compilerFolder} -s${supportCodeFolder} -r${resultsFile} -v
+#    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+#    COMMENT "=========== Generating CPP-API Wiki reports =============="
+#    VERBATIM 
+#    )
+#
+#add_custom_target(cppTestingReport ALL DEPENDS ${resulsFile}
+#    COMMAND ${target} -m${sbmlModelsDir} -l${compilerFolder} -s"${supportCodeFolder}" -r${resultsFile} -v 
+#    COMMENT "=========== Generating CPP-API Wiki reports =============="
+#    COMMENT "Executing ${target} -m${sbmlModelsDir} -l${compilerFolder} -s${supportCodeFolder} -r${resultsFile} -v"
+#
+#)
+
+install (TARGETS ${target}  		
+DESTINATION bin 
+COMPONENT testing
+)
+
+install(
+FILES run_cpp_tests.bat 
+DESTINATION bin
+COMPONENT testing
+)
+
+
diff --git a/source/testing/CXXBrusselatorExecutableModel.cpp b/source/testing/CXXBrusselatorExecutableModel.cpp
new file mode 100644
index 0000000..534bb16
--- /dev/null
+++ b/source/testing/CXXBrusselatorExecutableModel.cpp
@@ -0,0 +1,443 @@
+/*
+ * CXXBrusselatorExecutableModel.cpp
+ *
+ *  Created on: Dec 11, 2014
+ *      Author: andy
+ */
+
+#include "CXXBrusselatorExecutableModel.h"
+#include "rrLogger.h"
+#include "rrOSSpecifics.h"
+
+using rr::Logger;
+
+namespace rrtesting
+{
+
+CXXBrusselatorExecutableModel::CXXBrusselatorExecutableModel(const rr::Dictionary* dict)
+{
+    Log(Logger::LOG_NOTICE) << __FUNC__;
+}
+
+CXXBrusselatorExecutableModel::~CXXBrusselatorExecutableModel()
+{
+    Log(Logger::LOG_NOTICE) << __FUNC__;
+}
+
+std::string CXXBrusselatorExecutableModel::getModelName()
+{
+    return "C++ Test Model";
+}
+
+void CXXBrusselatorExecutableModel::setTime(double _time)
+{
+}
+
+double CXXBrusselatorExecutableModel::getTime()
+{
+    return 0;
+}
+
+void CXXBrusselatorExecutableModel::reset()
+{
+}
+
+int CXXBrusselatorExecutableModel::getNumDepFloatingSpecies()
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getNumFloatingSpecies()
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getFloatingSpeciesIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXBrusselatorExecutableModel::getFloatingSpeciesId(int index)
+{
+    return "";
+}
+
+int CXXBrusselatorExecutableModel::getNumIndFloatingSpecies()
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getFloatingSpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::setFloatingSpeciesAmounts(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getFloatingSpeciesAmountRates(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getFloatingSpeciesConcentrationRates(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getFloatingSpeciesConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::setFloatingSpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::setFloatingSpeciesInitConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getFloatingSpeciesInitConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::setFloatingSpeciesInitAmounts(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getFloatingSpeciesInitAmounts(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getNumBoundarySpecies()
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getBoundarySpeciesIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXBrusselatorExecutableModel::getBoundarySpeciesId(int index)
+{
+    return "";
+}
+
+int CXXBrusselatorExecutableModel::getBoundarySpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getBoundarySpeciesConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::setBoundarySpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getNumGlobalParameters()
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getGlobalParameterIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXBrusselatorExecutableModel::getGlobalParameterId(int index)
+{
+    return "";
+}
+
+int CXXBrusselatorExecutableModel::getGlobalParameterValues(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::setGlobalParameterValues(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getNumCompartments()
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getCompartmentIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXBrusselatorExecutableModel::getCompartmentId(int index)
+{
+    return "";
+}
+
+int CXXBrusselatorExecutableModel::getCompartmentVolumes(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::setCompartmentVolumes(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::setCompartmentInitVolumes(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getCompartmentInitVolumes(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+void CXXBrusselatorExecutableModel::getIds(int types, std::list<std::string>& ids)
+{
+}
+
+int CXXBrusselatorExecutableModel::getSupportedIdTypes()
+{
+    return 0;
+}
+
+double CXXBrusselatorExecutableModel::getValue(const std::string& id)
+{
+    return 0;
+}
+
+void CXXBrusselatorExecutableModel::setValue(const std::string& id, double value)
+{
+}
+
+int CXXBrusselatorExecutableModel::getStoichiometryMatrix(int* rows, int* cols,
+        double** data)
+{
+    return 0;
+}
+
+double CXXBrusselatorExecutableModel::getStoichiometry(int speciesIndex, int reactionIndex)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getNumConservedMoieties()
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getConservedMoietyIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXBrusselatorExecutableModel::getConservedMoietyId(int index)
+{
+    return "";
+}
+
+int CXXBrusselatorExecutableModel::getConservedMoietyValues(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::setConservedMoietyValues(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getNumRateRules()
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getNumReactions()
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getReactionIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXBrusselatorExecutableModel::getReactionId(int index)
+{
+    return "";
+}
+
+int CXXBrusselatorExecutableModel::getReactionRates(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+void CXXBrusselatorExecutableModel::getRateRuleValues(double* rateRuleValues)
+{
+}
+
+std::string CXXBrusselatorExecutableModel::getStateVectorId(int index)
+{
+    return "";
+}
+
+int CXXBrusselatorExecutableModel::getStateVector(double* stateVector)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::setStateVector(const double* stateVector)
+{
+    return 0;
+}
+
+void CXXBrusselatorExecutableModel::getStateVectorRate(double time, const double* y,
+        double* dydt)
+{
+}
+
+void CXXBrusselatorExecutableModel::testConstraints()
+{
+}
+
+std::string CXXBrusselatorExecutableModel::getInfo()
+{
+    return "C++ Test Model";
+}
+
+void CXXBrusselatorExecutableModel::print(std::ostream& stream)
+{
+}
+
+int CXXBrusselatorExecutableModel::getNumEvents()
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getEventTriggers(int len, const int* indx,
+        unsigned char* values)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::applyEvents(double timeEnd,
+        const unsigned char* previousEventStatus, const double* initialState,
+        double* finalState)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::applyPendingEvents(double timeEnd)
+{
+    return 0;
+}
+
+void CXXBrusselatorExecutableModel::getEventRoots(double time, const double* y,
+        double* gdot)
+{
+}
+
+double CXXBrusselatorExecutableModel::getNextPendingEventTime(bool pop)
+{
+    return 0;
+}
+
+int CXXBrusselatorExecutableModel::getPendingEventSize()
+{
+    return 0;
+}
+
+void CXXBrusselatorExecutableModel::resetEvents()
+{
+}
+
+int CXXBrusselatorExecutableModel::getEventIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXBrusselatorExecutableModel::getEventId(int index)
+{
+    return "";
+}
+
+void CXXBrusselatorExecutableModel::setEventListener(int index,
+        rr::EventListenerPtr eventHandler)
+{
+}
+
+rr::EventListenerPtr CXXBrusselatorExecutableModel::getEventListener(int index)
+{
+    return rr::EventListenerPtr();
+}
+
+double CXXBrusselatorExecutableModel::getFloatingSpeciesAmountRate(int index,
+        const double* reactionRates)
+{
+    return 0;
+}
+
+void CXXBrusselatorExecutableModel::reset(int options)
+{
+}
+
+void CXXBrusselatorExecutableModel::setRandomSeed(int64_t longLongInt)
+{
+}
+
+int64_t CXXBrusselatorExecutableModel::getRandomSeed()
+{
+    return 0;
+}
+
+double CXXBrusselatorExecutableModel::getRandom()
+{
+    return 0;
+}
+
+uint32_t CXXBrusselatorExecutableModel::getFlags() const
+{
+    return 0;
+}
+
+void CXXBrusselatorExecutableModel::setFlags(uint32_t unsignedInt)
+{
+}
+
+} /* namespace rrtesting */
diff --git a/source/testing/CXXBrusselatorExecutableModel.h b/source/testing/CXXBrusselatorExecutableModel.h
new file mode 100644
index 0000000..1d47f73
--- /dev/null
+++ b/source/testing/CXXBrusselatorExecutableModel.h
@@ -0,0 +1,577 @@
+/*
+ * CXXBrusselatorExecutableModel.h
+ *
+ *  Created on: Dec 11, 2014
+ *      Author: andy
+ */
+
+#ifndef CXXBRUSSELATOREXECUTABLEMODEL_H_
+#define CXXBRUSSELATOREXECUTABLEMODEL_H_
+
+#include <rrExecutableModel.h>
+#include "Dictionary.h"
+
+namespace rrtesting
+{
+
+class CXXBrusselatorExecutableModel: public rr::ExecutableModel
+{
+public:
+    CXXBrusselatorExecutableModel(const rr::Dictionary* options);
+    virtual ~CXXBrusselatorExecutableModel();
+
+
+public:
+
+    /**
+     * @author JKM
+     * @date 07/31/2015
+     * @brief Returns a human-readable description of the code generation backend,
+     * e.g. LLVM, legacy C, etc.
+     */
+    virtual std::string getExecutableModelDesc() const {
+        return "Brusselator Executable Model";
+    }
+
+    /**
+     * get the name of the model
+     */
+    virtual std::string getModelName();
+
+    virtual void setTime(double _time);
+    virtual double getTime();
+
+
+    /**
+     * Loads the initial conditions into the current model state.
+     *
+     * Initial conditions may have been updated at any time externally.
+     */
+    virtual void reset();
+
+
+
+    /************************ Floating Species Section ****************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * dependent species are defined by rules and the only way to change them
+     * is by changing the values on which they depend.
+     */
+    virtual int getNumDepFloatingSpecies();
+
+    /**
+     * total number of floating species.
+     */
+    virtual int getNumFloatingSpecies();
+
+    virtual int getFloatingSpeciesIndex(const std::string& eid);
+    virtual std::string getFloatingSpeciesId(int index);
+
+    /**
+     * independent species do are not defined by rules, they typically participate
+     * in reactions and can have thier values set at any time.
+     */
+    virtual int getNumIndFloatingSpecies();
+
+    /**
+     * get the floating species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesAmounts(int len, int const *indx,
+            double *values);
+
+    virtual int setFloatingSpeciesAmounts(int len, int const *indx,
+            const double *values);
+
+    virtual int getFloatingSpeciesAmountRates(int len, int const *indx,
+            double *values);
+
+
+    virtual int getFloatingSpeciesConcentrationRates(int len, int const *indx,
+                double *values);
+
+    /**
+     * get the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+    /**
+     * set the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setFloatingSpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+    /**
+     * Set the initial concentrations of the floating species.
+     *
+     * Takes the same indices as the other floating species methods.
+     *
+     * Note, if a floating species has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setFloatingSpeciesInitConcentrations(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial concentrations of the floating species,
+     * uses the same indexing as the other floating species methods.
+     */
+    virtual int getFloatingSpeciesInitConcentrations(int len, int const *indx,
+                    double *values);
+
+    /**
+     * Set the initial amounts of the floating species.
+     *
+     * Takes the same indices as the other floating species methods.
+     *
+     * Note, if a floating species has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setFloatingSpeciesInitAmounts(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial amounts of the floating species,
+     * uses the same indexing as the other floating species methods.
+     */
+    virtual int getFloatingSpeciesInitAmounts(int len, int const *indx,
+                    double *values);
+
+    /************************ End Floating Species Section ************************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+
+    /************************ Boundary Species Section ****************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+
+    /**
+     * get the number of boundary species.
+     */
+    virtual int getNumBoundarySpecies();
+    virtual int getBoundarySpeciesIndex(const std::string &eid);
+    virtual std::string getBoundarySpeciesId(int index);
+
+    /**
+     * get the boundary species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesAmounts(int len, int const *indx,
+            double *values);
+
+
+    /**
+     * get the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+    /**
+     * set the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setBoundarySpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+
+    /************************ End Boundary Species Section ************************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Global Parameters Section ***************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * get the number of global parameters
+     */
+    virtual int getNumGlobalParameters();
+
+    /**
+     * index of the global parameter id, -1 if it does not exist.
+     */
+    virtual int getGlobalParameterIndex(const std::string& eid);
+
+    /**
+     * id of the indexed global parameter.
+     */
+    virtual std::string getGlobalParameterId(int index);
+
+    /**
+     * get the global parameter values
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getGlobalParameterValues(int len, int const *indx,
+            double *values);
+
+    virtual int setGlobalParameterValues(int len, int const *indx,
+            const double *values);
+
+
+    /************************ Global Parameters Species Section *******************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Compartments Section ********************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    virtual int getNumCompartments();
+    virtual int getCompartmentIndex(const std::string& eid);
+    virtual std::string getCompartmentId(int index);
+
+    /**
+     * get the compartment volumes
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getCompartmentVolumes(int len, int const *indx,
+            double *values);
+
+    virtual int setCompartmentVolumes(int len, int const *indx,
+                const double *values);
+
+    /**
+     * Set the initial volumes of the compartments.
+     *
+     * Takes the same indices as the other compartment methods.
+     *
+     * Note, if a compartment has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setCompartmentInitVolumes(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial volume of the compartments,
+     * uses the same indexing as the other compartment methods.
+     */
+    virtual int getCompartmentInitVolumes(int len, int const *indx,
+                    double *values);
+
+
+    /************************ End Compartments Species Section ********************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Selection Ids Species Section ***********************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * populates a given list with all the ids that this class can accept.
+     *
+     * @param ids: a list of strings that will be filled by this class.
+     * @param types: the types of ids that are requested. Can be set to
+     * 0xffffffff to request all the ids that this class supports.
+     * This should by a bitwise OR of the filelds in SelectionRecord::SelectionType
+     */
+    virtual void getIds(int types, std::list<std::string> &ids);
+
+    /**
+     * returns a bit field of the ids that this class supports.
+     */
+    virtual int getSupportedIdTypes();
+
+    /**
+     * gets the value for the given id string. The string must be a SelectionRecord
+     * string that is accepted by this class.
+     */
+    virtual double getValue(const std::string& id);
+
+    /**
+     * sets the value coresponding to the given selection stringl
+     */
+    virtual void setValue(const std::string& id, double value);
+
+
+    /************************ End Selection Ids Species Section *******************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * allocate a block of memory and copy the stochiometric values into it,
+     * and return it.
+     *
+     * The caller is responsible for freeing the memory that is referenced by data.
+     *
+     * @param[out] rows will hold the number of rows in the matrix.
+     * @param[out] cols will hold the number of columns in the matrix.
+     * @param[out] data a pointer which will hold a newly allocated memory block.
+     */
+    virtual int getStoichiometryMatrix(int* rows, int* cols, double** data);
+
+    /**
+     * Get the current stiochiometry value for the given species / reaction.
+     *
+     * If either are not valid, NaN is returned.
+     */
+    virtual double getStoichiometry(int speciesIndex, int reactionIndex);
+
+
+    virtual int getNumConservedMoieties();
+    virtual int getConservedMoietyIndex(const std::string& eid);
+    virtual std::string getConservedMoietyId(int index);
+    virtual int getConservedMoietyValues(int len, int const *indx, double *values);
+    virtual int setConservedMoietyValues(int len, int const *indx,
+            const double *values);
+
+    virtual int getNumRateRules();
+
+    /**
+     * get the number of reactions the model has
+     */
+    virtual int getNumReactions();
+
+    /**
+     * get the index of a named reaction
+     * @returns >= 0 on success, < 0 on failure.
+     */
+    virtual int getReactionIndex(const std::string& eid);
+
+    /**
+     * get the name of the specified reaction
+     */
+    virtual std::string getReactionId(int index);
+
+    /**
+     * get the vector of reaction rates.
+     *
+     * @param len: the length of the suplied buffer, must be >= reaction rates size.
+     * @param indx: pointer to index array. If NULL, then it is ignored and the
+     * reaction rates are copied directly into the suplied buffer.
+     * @param values: pointer to user suplied buffer where rates will be stored.
+     */
+    virtual int getReactionRates(int len, int const *indx,
+                double *values);
+
+    /**
+     * get the 'values' i.e. the what the rate rule integrates to, and
+     * store it in the given array.
+     *
+     * The length of rateRuleValues obviously must be the number of
+     * rate rules we have.
+     */
+    virtual void getRateRuleValues(double *rateRuleValues);
+
+    /**
+     * get the id of an element of the state vector.
+     */
+    virtual std::string getStateVectorId(int index);
+
+    /**
+     * The state vector is a vector of elements that are defined by
+     * differential equations (rate rules) or independent floating species
+     * are defined by reactions.
+     *
+     * To get the ids of the state vector elements, use getStateVectorId.
+     *
+     * copies the internal model state vector into the provided
+     * buffer.
+     *
+     * @param[out] stateVector a buffer to copy the state vector into, if NULL,
+     *         return the size required.
+     *
+     * @return the number of items coppied into the provided buffer, if
+     *         stateVector is NULL, returns the length of the state vector.
+     */
+    virtual int getStateVector(double *stateVector);
+
+    /**
+     * sets the internal model state to the provided packed state vector.
+     *
+     * @param[in] an array which holds the packed state vector, must be
+     *         at least the size returned by getStateVector.
+     *
+     * @return the number of items copied from the state vector, negative
+     *         on failure.
+     */
+    virtual int setStateVector(const double *stateVector);
+
+    /**
+     * the state vector y is the rate rule values and floating species
+     * concentrations concatenated. y is of length numFloatingSpecies + numRateRules.
+     *
+     * The state vector is packed such that the first n raterule elements are the
+     * values of the rate rules, and the last n floatingspecies are the floating
+     * species values.
+     *
+     * @param[in] time current simulator time
+     * @param[in] y state vector, must be either null, or have a size of that
+     *         speciefied by getStateVector. If y is null, then the model is
+     *         evaluated using its current state. If y is not null, then the
+     *         y is considered the state vector.
+     * @param[out] dydt calculated rate of change of the state vector, if null,
+     *         it is ignored.
+     */
+    virtual void getStateVectorRate(double time, const double *y, double* dydt=0);
+
+    virtual void testConstraints();
+
+    virtual std::string getInfo();
+
+    virtual void print(std::ostream &stream);
+
+    /******************************* Events Section *******************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    virtual int getNumEvents();
+
+    /**
+     * get the event status, false if the even is not triggered, true if it is.
+     *
+     * The reason this returns an unsigned char instead of a bool array is this
+     * array is typically stuffed into an std::vector, and std::vector<bool> is
+     * well, weird as it's actually implemented as a bitfield, and can not be
+     * used as a C array.
+     *
+     * So, on every modern system I'm aware of, bool is an unsigned char, so
+     * use that data type here.
+     */
+    virtual int getEventTriggers(int len, const int *indx, unsigned char *values);
+
+    virtual int applyEvents(double timeEnd, const unsigned char* previousEventStatus,
+                const double *initialState, double* finalState);
+
+    virtual int applyPendingEvents(double timeEnd);
+
+    /**
+     * evaluate the event 'roots' -- when events transition form triggered - non-triggered
+     * or triggered to non-triggered state.
+     *
+     * Simplest method is to return 1 for triggered, -1 for not-triggered, so long
+     * as there is a zero crossing.
+     *
+     * @param time[in] current time
+     * @param y[in] the state vector
+     * @param gdot[out] result event roots, this is of length numEvents.
+     */
+    virtual void getEventRoots(double time, const double* y, double* gdot);
+
+    virtual double getNextPendingEventTime(bool pop);
+
+    virtual int getPendingEventSize();
+
+    virtual void resetEvents();
+
+
+    /******************************* Events Section *******************************/
+     #endif /**********************************************************************/
+    /******************************************************************************/
+
+
+    /**
+     * Gets the index for an event id.
+     * If there is no event with this id, returns -1.
+     */
+    virtual int getEventIndex(const std::string& eid);
+    virtual std::string getEventId(int index);
+    virtual void setEventListener(int index, rr::EventListenerPtr eventHandler);
+    virtual rr::EventListenerPtr getEventListener(int index);
+
+    /**
+     * Get the amount rate of change for the i'th floating species
+     * given a reaction rates vector.
+     *
+     * TODO: This should be merged with getFloatingSpeciesAmountRates, but that will
+     * break inteface, will do in next point release.
+     *
+     * TODO: If the conversion factor changes in between getting the
+     * reaction rates vector via getReactionRates
+     *
+     * @param index: index of the desired floating speceis rate.
+     * @param reactionRates: pointer to buffer of reaction rates.
+     */
+    virtual double getFloatingSpeciesAmountRate(int index,
+            const double *reactionRates);
+
+    /**
+     * reset the model accordign to a bitfield specified by the
+     * SelectionRecord::SelectionType values.
+     */
+    virtual void reset(int options);
+
+    /**
+     * set the seed used by the random number generator. This will by definition
+     * reset the RNG.
+     */
+    virtual void setRandomSeed(int64_t);
+
+    /**
+     * get the seed used by the RNG.
+     */
+    virtual int64_t getRandomSeed();
+
+    /**
+     * Get a uniform random number between 0 and 1 created by the RNG.
+     *
+     * The type of RNG can be specified in the config file with the
+     * RANDOM_GENERATOR_TYPE key.
+     */
+    virtual double getRandom();
+
+    /**
+     * Get the current set of flags
+     */
+    virtual uint32_t getFlags() const;
+
+    /**
+     * Set certain options that determine the state of the ExecutableModel,
+     * these are listed in
+     */
+    virtual void setFlags(uint32_t);
+};
+
+} /* namespace rrtesting */
+
+#endif /* CXXBRUSSELATOREXECUTABLEMODEL_H_ */
diff --git a/source/testing/CXXEnzymeExecutableModel.cpp b/source/testing/CXXEnzymeExecutableModel.cpp
new file mode 100644
index 0000000..03802a9
--- /dev/null
+++ b/source/testing/CXXEnzymeExecutableModel.cpp
@@ -0,0 +1,654 @@
+/*
+ * CXXEnzymeExecutableModel.cpp
+ *
+ *  Created on: Dec 11, 2014
+ *      Author: andy
+ */
+
+#include "CXXEnzymeExecutableModel.h"
+#include "rrLogger.h"
+#include "rrOSSpecifics.h"
+
+#include <stdexcept>
+#include <cmath>
+#include <cstring>
+
+using rr::Logger;
+
+namespace rrtesting
+{
+
+
+CXXEnzymeExecutableModel::CXXEnzymeExecutableModel(const rr::Dictionary* dict)
+{
+    Log(Logger::LOG_NOTICE) << __FUNC__;
+
+    volumes = new double[1];
+
+    if (dict->hasKey("numSource")) {
+        numSource = dict->getItem("numSource");
+    } else {
+        numSource = 10;
+    }
+
+
+    numReactions = numSource;
+    numSpecies = 2*numSource;
+
+    Log(Logger::LOG_NOTICE) << "creating " << numSpecies << " number of species test";
+
+
+    floatingSpeciesAmounts = new double[numSpecies];
+
+    reactionRates = new double[numReactions];
+
+    std::vector<unsigned> rowidx;
+    std::vector<unsigned> colidx;
+    std::vector<double> values;
+
+    for(int r = 0; r < numReactions; ++r) {
+        // consume an s
+        colidx.push_back(r);
+        rowidx.push_back(r);
+        values.push_back(-1);
+
+        // produce a p
+        colidx.push_back(r);
+        rowidx.push_back(r+numSource);
+        values.push_back(1);
+    }
+
+    stoichiometry = rr::csr_matrix_new(numSpecies, numReactions, rowidx, colidx, values);
+
+    reset(0);
+}
+
+CXXEnzymeExecutableModel::~CXXEnzymeExecutableModel()
+{
+    Log(Logger::LOG_NOTICE) << __FUNC__;
+
+    delete[] volumes;
+    delete[] floatingSpeciesAmounts;
+    delete[] reactionRates ;
+    rr::csr_matrix_delete(stoichiometry);
+}
+
+std::string CXXEnzymeExecutableModel::getModelName()
+{
+    return "C++ Enzyme Test Model";
+}
+
+void CXXEnzymeExecutableModel::setTime(double _time)
+{
+}
+
+double CXXEnzymeExecutableModel::getTime()
+{
+    return 0;
+}
+
+void CXXEnzymeExecutableModel::reset()
+{
+    reset(0);
+}
+
+int CXXEnzymeExecutableModel::getNumDepFloatingSpecies()
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getNumFloatingSpecies()
+{
+    return 2 * numSource;
+}
+
+int CXXEnzymeExecutableModel::getFloatingSpeciesIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXEnzymeExecutableModel::getFloatingSpeciesId(int index)
+{
+    return "";
+}
+
+int CXXEnzymeExecutableModel::getNumIndFloatingSpecies()
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getFloatingSpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    double value;
+    for (int i = 0; i < len; ++i)
+    {
+        int j = indx ? indx[i] : i;
+        value = floatingSpeciesAmounts[j];
+
+
+        values[i] = value;
+    }
+    return len;
+}
+
+int CXXEnzymeExecutableModel::setFloatingSpeciesAmounts(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getFloatingSpeciesAmountRates(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getFloatingSpeciesConcentrationRates(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getFloatingSpeciesConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::setFloatingSpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::setFloatingSpeciesInitConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getFloatingSpeciesInitConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::setFloatingSpeciesInitAmounts(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getFloatingSpeciesInitAmounts(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getNumBoundarySpecies()
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getBoundarySpeciesIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXEnzymeExecutableModel::getBoundarySpeciesId(int index)
+{
+    return "";
+}
+
+int CXXEnzymeExecutableModel::getBoundarySpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getBoundarySpeciesConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::setBoundarySpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getNumGlobalParameters()
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getGlobalParameterIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXEnzymeExecutableModel::getGlobalParameterId(int index)
+{
+    return "";
+}
+
+int CXXEnzymeExecutableModel::getGlobalParameterValues(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::setGlobalParameterValues(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getNumCompartments()
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getCompartmentIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXEnzymeExecutableModel::getCompartmentId(int index)
+{
+    return "";
+}
+
+int CXXEnzymeExecutableModel::getCompartmentVolumes(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::setCompartmentVolumes(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::setCompartmentInitVolumes(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getCompartmentInitVolumes(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+
+/**
+ * checks if the bitfield value has all the required flags
+ * from type
+ */
+inline bool checkExact(uint32_t type, uint32_t value) {
+    return (value & type) == type;
+}
+
+
+void CXXEnzymeExecutableModel::getIds(int types, std::list<std::string>& ids)
+{
+    /*
+    ids.push_back("Km1");
+    ids.push_back("Km2");
+    ids.push_back("Km3");
+    ids.push_back("sigma");
+    ids.push_back("Keq");
+    ids.push_back("h");
+    ids.push_back("k1");
+    ids.push_back("Vm");
+    ids.push_back("M");
+    ids.push_back("S1");
+    ids.push_back("S2");
+    ids.push_back("S3");
+    ids.push_back("S4");
+    ids.push_back("S5");
+    ids.push_back("S6");
+    ids.push_back("S7");
+    ids.push_back("S8");
+    ids.push_back("S9");
+    ids.push_back("S10");
+
+    ids.push_back("P1");
+    ids.push_back("P2");
+    ids.push_back("P3");
+    ids.push_back("P4");
+    ids.push_back("P5");
+    ids.push_back("P6");
+    ids.push_back("P7");
+    ids.push_back("P8");
+    ids.push_back("P9");
+    ids.push_back("P10");
+    */
+}
+
+int CXXEnzymeExecutableModel::getSupportedIdTypes()
+{
+    return 0;
+}
+
+double CXXEnzymeExecutableModel::getValue(const std::string& id)
+{
+    return 0;
+}
+
+void CXXEnzymeExecutableModel::setValue(const std::string& id, double value)
+{
+}
+
+int CXXEnzymeExecutableModel::getStoichiometryMatrix(int* rows, int* cols,
+        double** data)
+{
+    return 0;
+}
+
+double CXXEnzymeExecutableModel::getStoichiometry(int speciesIndex, int reactionIndex)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getNumConservedMoieties()
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getConservedMoietyIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXEnzymeExecutableModel::getConservedMoietyId(int index)
+{
+    return "";
+}
+
+int CXXEnzymeExecutableModel::getConservedMoietyValues(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::setConservedMoietyValues(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getNumRateRules()
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getNumReactions()
+{
+    return numReactions;
+}
+
+int CXXEnzymeExecutableModel::getReactionIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXEnzymeExecutableModel::getReactionId(int index)
+{
+    return "";
+}
+
+int CXXEnzymeExecutableModel::getReactionRates(int len, const int* indx,
+        double* values)
+{
+
+    double conversionFactor = evalReactionRates();
+
+
+    if (indx)
+    {
+        for (int i = 0; i < len; ++i)
+        {
+            int j = indx ? indx[i] : i;
+            if (j < numReactions)
+            {
+                values[i] = reactionRates[j];
+            }
+            else
+            {
+                throw std::logic_error("index out of range");
+            }
+        }
+    }
+    else
+    {
+        if (len > numReactions)
+        {
+            throw std::logic_error("invalid length, length must be <= numReactions");
+        }
+        std::memcpy(values, reactionRates, len * sizeof(double));
+    }
+    return len;
+}
+
+void CXXEnzymeExecutableModel::getRateRuleValues(double* rateRuleValues)
+{
+}
+
+std::string CXXEnzymeExecutableModel::getStateVectorId(int index)
+{
+    return "";
+}
+
+int CXXEnzymeExecutableModel::getStateVector(double* stateVector)
+{
+    if(stateVector != NULL) {
+        std::memcpy(stateVector, floatingSpeciesAmounts, numSpecies*sizeof(double));
+    }
+    return numSpecies;
+}
+
+int CXXEnzymeExecutableModel::setStateVector(const double* stateVector)
+{
+    if(stateVector) {
+        std::memcpy(floatingSpeciesAmounts, stateVector, numSpecies*sizeof(double));
+    }
+    return numSpecies;
+}
+
+void CXXEnzymeExecutableModel::getStateVectorRate(double time, const double* y,
+        double* dydt)
+{
+    this->time = time;
+
+    if (y && dydt)
+    {
+        // save and assign state vector
+        double *savedFloatingSpeciesAmounts = floatingSpeciesAmounts;
+        floatingSpeciesAmounts = const_cast<double*>(y);
+        floatingSpeciesAmountRates = dydt;
+
+        // not setting state vector, react rates get dirty
+        double conversionFactor = evalReactionRates();
+
+        csr_matrix_dgemv(conversionFactor, stoichiometry, reactionRates, 0.0, floatingSpeciesAmountRates);
+
+        floatingSpeciesAmounts = savedFloatingSpeciesAmounts;
+        floatingSpeciesAmountRates = 0;
+    }
+    else if (y && !dydt)
+    {
+        setStateVector(y);
+    }
+    else if (!y && dydt)
+    {
+        // evaluate dydt using current state
+
+        double conversionFactor = evalReactionRates();
+
+        // floatingSpeciesAmountRates only valid for the following two
+        // functions, this will move to a parameter shortly...
+
+        floatingSpeciesAmountRates = dydt;
+
+        csr_matrix_dgemv(conversionFactor, stoichiometry, reactionRates, 0.0, floatingSpeciesAmountRates);
+
+        floatingSpeciesAmountRates = 0;
+    }
+}
+
+void CXXEnzymeExecutableModel::testConstraints()
+{
+}
+
+std::string CXXEnzymeExecutableModel::getInfo()
+{
+    return "C++ Enzyme Test Model";
+}
+
+void CXXEnzymeExecutableModel::print(std::ostream& stream)
+{
+}
+
+int CXXEnzymeExecutableModel::getNumEvents()
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getEventTriggers(int len, const int* indx,
+        unsigned char* values)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::applyEvents(double timeEnd,
+        const unsigned char* previousEventStatus, const double* initialState,
+        double* finalState)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::applyPendingEvents(double timeEnd)
+{
+    return 0;
+}
+
+void CXXEnzymeExecutableModel::getEventRoots(double time, const double* y,
+        double* gdot)
+{
+}
+
+double CXXEnzymeExecutableModel::getNextPendingEventTime(bool pop)
+{
+    return 0;
+}
+
+int CXXEnzymeExecutableModel::getPendingEventSize()
+{
+    return 0;
+}
+
+void CXXEnzymeExecutableModel::resetEvents()
+{
+}
+
+int CXXEnzymeExecutableModel::getEventIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXEnzymeExecutableModel::getEventId(int index)
+{
+    return "";
+}
+
+void CXXEnzymeExecutableModel::setEventListener(int index,
+        rr::EventListenerPtr eventHandler)
+{
+}
+
+rr::EventListenerPtr CXXEnzymeExecutableModel::getEventListener(int index)
+{
+    return rr::EventListenerPtr();
+}
+
+double CXXEnzymeExecutableModel::getFloatingSpeciesAmountRate(int index,
+        const double* reactionRates)
+{
+    return 0;
+}
+
+void CXXEnzymeExecutableModel::reset(int options)
+{
+    Km1 = 0.45; Km2 = 0.78; Km3 = 5.6;
+    sigma = 0.34; Keq = 2.3;
+    h = 3; k1 = 0.6;
+    Vm = 11.3;
+    M = 0.45;
+
+    volumes[0] = 1;
+
+    int i = 0;
+
+    // set the sources to one incerease each time, set products all to zero
+    for(; i < numSource; ++i) {
+        floatingSpeciesAmounts[i] = i+1;
+    }
+
+    for(; i < numSpecies; ++i) {
+        floatingSpeciesAmounts[i] = 0;
+    }
+}
+
+void CXXEnzymeExecutableModel::setRandomSeed(int64_t longLongInt)
+{
+}
+
+int64_t CXXEnzymeExecutableModel::getRandomSeed()
+{
+    return 0;
+}
+
+double CXXEnzymeExecutableModel::getRandom()
+{
+    return 0;
+}
+
+uint32_t CXXEnzymeExecutableModel::getFlags() const
+{
+    return 0;
+}
+
+void CXXEnzymeExecutableModel::setFlags(uint32_t unsignedInt)
+{
+}
+
+//function rate(S, P, Km1, Km2, Km3, sigma, Keq, h, k1, Vm, M)
+//   (Vm*(S/Km1)*(1 - (P/S)/Keq)*pow((S/Km1 + P/Km2), (h-1))) / \
+//   ((1 + pow(M/Km3, h))/(1 + sigma*pow(M/Km3, h)) + pow(S/Km1 + P/Km2, h));
+//end
+
+double rate(double S, double P, double Km1, double Km2, double Km3, double sigma, double Keq, double h, double k1, double Vm, double M)    {
+
+    double num = (Vm*(S/Km1)*(1 - (P/S)/Keq)*pow((S/Km1 + P/Km2), (h-1))) ;
+    double denom = ((1 + pow(M/Km3, h))/(1 + sigma*pow(M/Km3, h)) + pow(S/Km1 + P/Km2, h));
+    double result = num / denom;
+    return result;
+}
+
+#define REACTION_RATE(S, P) rate((S), (P), Km1, Km2, Km3, sigma, Keq, h, k1, Vm, M)
+
+double CXXEnzymeExecutableModel::evalReactionRates()
+{
+    for(int i = 0; i < numReactions; ++i) {
+        reactionRates[i] = REACTION_RATE(floatingSpeciesAmounts[i]/volumes[0], floatingSpeciesAmounts[numSource + i]/volumes[0]);
+    }
+    return 1.0;
+}
+
+} /* namespace rrtesting */
diff --git a/source/testing/CXXEnzymeExecutableModel.h b/source/testing/CXXEnzymeExecutableModel.h
new file mode 100644
index 0000000..e2ae41e
--- /dev/null
+++ b/source/testing/CXXEnzymeExecutableModel.h
@@ -0,0 +1,612 @@
+/*
+ * CXXEnzymeExecutableModel.h
+ *
+ *  Created on: Dec 11, 2014
+ *      Author: andy
+ */
+
+#ifndef CXXENZYMEEXECUTABLEMODEL_H_
+#define CXXENZYMEEXECUTABLEMODEL_H_
+
+#include <rrExecutableModel.h>
+#include "Dictionary.h"
+#include "rrSparse.h"
+
+namespace rrtesting
+{
+
+class CXXEnzymeExecutableModel: public rr::ExecutableModel
+{
+public:
+    CXXEnzymeExecutableModel(const rr::Dictionary* options);
+    virtual ~CXXEnzymeExecutableModel();
+
+
+public:
+
+    /**
+     * @author JKM
+     * @date 07/31/2015
+     * @brief Returns a human-readable description of the code generation backend,
+     * e.g. LLVM, legacy C, etc.
+     */
+    virtual std::string getExecutableModelDesc() const {
+        return "Enzyme Executable Model";
+    }
+
+    /**
+     * get the name of the model
+     */
+    virtual std::string getModelName();
+
+    virtual void setTime(double _time);
+    virtual double getTime();
+
+
+    /**
+     * Loads the initial conditions into the current model state.
+     *
+     * Initial conditions may have been updated at any time externally.
+     */
+    virtual void reset();
+
+
+
+    /************************ Floating Species Section ****************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * dependent species are defined by rules and the only way to change them
+     * is by changing the values on which they depend.
+     */
+    virtual int getNumDepFloatingSpecies();
+
+    /**
+     * total number of floating species.
+     */
+    virtual int getNumFloatingSpecies();
+
+    virtual int getFloatingSpeciesIndex(const std::string& eid);
+    virtual std::string getFloatingSpeciesId(int index);
+
+    /**
+     * independent species do are not defined by rules, they typically participate
+     * in reactions and can have thier values set at any time.
+     */
+    virtual int getNumIndFloatingSpecies();
+
+    /**
+     * get the floating species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesAmounts(int len, int const *indx,
+            double *values);
+
+    virtual int setFloatingSpeciesAmounts(int len, int const *indx,
+            const double *values);
+
+    virtual int getFloatingSpeciesAmountRates(int len, int const *indx,
+            double *values);
+
+
+    virtual int getFloatingSpeciesConcentrationRates(int len, int const *indx,
+                double *values);
+
+    /**
+     * get the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+    /**
+     * set the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setFloatingSpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+    /**
+     * Set the initial concentrations of the floating species.
+     *
+     * Takes the same indices as the other floating species methods.
+     *
+     * Note, if a floating species has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setFloatingSpeciesInitConcentrations(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial concentrations of the floating species,
+     * uses the same indexing as the other floating species methods.
+     */
+    virtual int getFloatingSpeciesInitConcentrations(int len, int const *indx,
+                    double *values);
+
+    /**
+     * Set the initial amounts of the floating species.
+     *
+     * Takes the same indices as the other floating species methods.
+     *
+     * Note, if a floating species has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setFloatingSpeciesInitAmounts(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial amounts of the floating species,
+     * uses the same indexing as the other floating species methods.
+     */
+    virtual int getFloatingSpeciesInitAmounts(int len, int const *indx,
+                    double *values);
+
+    /************************ End Floating Species Section ************************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+
+    /************************ Boundary Species Section ****************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+
+    /**
+     * get the number of boundary species.
+     */
+    virtual int getNumBoundarySpecies();
+    virtual int getBoundarySpeciesIndex(const std::string &eid);
+    virtual std::string getBoundarySpeciesId(int index);
+
+    /**
+     * get the boundary species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesAmounts(int len, int const *indx,
+            double *values);
+
+
+    /**
+     * get the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+    /**
+     * set the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setBoundarySpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+
+    /************************ End Boundary Species Section ************************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Global Parameters Section ***************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * get the number of global parameters
+     */
+    virtual int getNumGlobalParameters();
+
+    /**
+     * index of the global parameter id, -1 if it does not exist.
+     */
+    virtual int getGlobalParameterIndex(const std::string& eid);
+
+    /**
+     * id of the indexed global parameter.
+     */
+    virtual std::string getGlobalParameterId(int index);
+
+    /**
+     * get the global parameter values
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getGlobalParameterValues(int len, int const *indx,
+            double *values);
+
+    virtual int setGlobalParameterValues(int len, int const *indx,
+            const double *values);
+
+
+    /************************ Global Parameters Species Section *******************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Compartments Section ********************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    virtual int getNumCompartments();
+    virtual int getCompartmentIndex(const std::string& eid);
+    virtual std::string getCompartmentId(int index);
+
+    /**
+     * get the compartment volumes
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getCompartmentVolumes(int len, int const *indx,
+            double *values);
+
+    virtual int setCompartmentVolumes(int len, int const *indx,
+                const double *values);
+
+    /**
+     * Set the initial volumes of the compartments.
+     *
+     * Takes the same indices as the other compartment methods.
+     *
+     * Note, if a compartment has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setCompartmentInitVolumes(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial volume of the compartments,
+     * uses the same indexing as the other compartment methods.
+     */
+    virtual int getCompartmentInitVolumes(int len, int const *indx,
+                    double *values);
+
+
+    /************************ End Compartments Species Section ********************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Selection Ids Species Section ***********************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * populates a given list with all the ids that this class can accept.
+     *
+     * @param ids: a list of strings that will be filled by this class.
+     * @param types: the types of ids that are requested. Can be set to
+     * 0xffffffff to request all the ids that this class supports.
+     * This should by a bitwise OR of the filelds in SelectionRecord::SelectionType
+     */
+    virtual void getIds(int types, std::list<std::string> &ids);
+
+    /**
+     * returns a bit field of the ids that this class supports.
+     */
+    virtual int getSupportedIdTypes();
+
+    /**
+     * gets the value for the given id string. The string must be a SelectionRecord
+     * string that is accepted by this class.
+     */
+    virtual double getValue(const std::string& id);
+
+    /**
+     * sets the value coresponding to the given selection stringl
+     */
+    virtual void setValue(const std::string& id, double value);
+
+
+    /************************ End Selection Ids Species Section *******************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * allocate a block of memory and copy the stochiometric values into it,
+     * and return it.
+     *
+     * The caller is responsible for freeing the memory that is referenced by data.
+     *
+     * @param[out] rows will hold the number of rows in the matrix.
+     * @param[out] cols will hold the number of columns in the matrix.
+     * @param[out] data a pointer which will hold a newly allocated memory block.
+     */
+    virtual int getStoichiometryMatrix(int* rows, int* cols, double** data);
+
+    /**
+     * Get the current stiochiometry value for the given species / reaction.
+     *
+     * If either are not valid, NaN is returned.
+     */
+    virtual double getStoichiometry(int speciesIndex, int reactionIndex);
+
+
+    virtual int getNumConservedMoieties();
+    virtual int getConservedMoietyIndex(const std::string& eid);
+    virtual std::string getConservedMoietyId(int index);
+    virtual int getConservedMoietyValues(int len, int const *indx, double *values);
+    virtual int setConservedMoietyValues(int len, int const *indx,
+            const double *values);
+
+    virtual int getNumRateRules();
+
+    /**
+     * get the number of reactions the model has
+     */
+    virtual int getNumReactions();
+
+    /**
+     * get the index of a named reaction
+     * @returns >= 0 on success, < 0 on failure.
+     */
+    virtual int getReactionIndex(const std::string& eid);
+
+    /**
+     * get the name of the specified reaction
+     */
+    virtual std::string getReactionId(int index);
+
+    /**
+     * get the vector of reaction rates.
+     *
+     * @param len: the length of the suplied buffer, must be >= reaction rates size.
+     * @param indx: pointer to index array. If NULL, then it is ignored and the
+     * reaction rates are copied directly into the suplied buffer.
+     * @param values: pointer to user suplied buffer where rates will be stored.
+     */
+    virtual int getReactionRates(int len, int const *indx,
+                double *values);
+
+    /**
+     * get the 'values' i.e. the what the rate rule integrates to, and
+     * store it in the given array.
+     *
+     * The length of rateRuleValues obviously must be the number of
+     * rate rules we have.
+     */
+    virtual void getRateRuleValues(double *rateRuleValues);
+
+    /**
+     * get the id of an element of the state vector.
+     */
+    virtual std::string getStateVectorId(int index);
+
+    /**
+     * The state vector is a vector of elements that are defined by
+     * differential equations (rate rules) or independent floating species
+     * are defined by reactions.
+     *
+     * To get the ids of the state vector elements, use getStateVectorId.
+     *
+     * copies the internal model state vector into the provided
+     * buffer.
+     *
+     * @param[out] stateVector a buffer to copy the state vector into, if NULL,
+     *         return the size required.
+     *
+     * @return the number of items coppied into the provided buffer, if
+     *         stateVector is NULL, returns the length of the state vector.
+     */
+    virtual int getStateVector(double *stateVector);
+
+    /**
+     * sets the internal model state to the provided packed state vector.
+     *
+     * @param[in] an array which holds the packed state vector, must be
+     *         at least the size returned by getStateVector.
+     *
+     * @return the number of items copied from the state vector, negative
+     *         on failure.
+     */
+    virtual int setStateVector(const double *stateVector);
+
+    /**
+     * the state vector y is the rate rule values and floating species
+     * concentrations concatenated. y is of length numFloatingSpecies + numRateRules.
+     *
+     * The state vector is packed such that the first n raterule elements are the
+     * values of the rate rules, and the last n floatingspecies are the floating
+     * species values.
+     *
+     * @param[in] time current simulator time
+     * @param[in] y state vector, must be either null, or have a size of that
+     *         speciefied by getStateVector. If y is null, then the model is
+     *         evaluated using its current state. If y is not null, then the
+     *         y is considered the state vector.
+     * @param[out] dydt calculated rate of change of the state vector, if null,
+     *         it is ignored.
+     */
+    virtual void getStateVectorRate(double time, const double *y, double* dydt=0);
+
+    virtual void testConstraints();
+
+    virtual std::string getInfo();
+
+    virtual void print(std::ostream &stream);
+
+    /******************************* Events Section *******************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    virtual int getNumEvents();
+
+    /**
+     * get the event status, false if the even is not triggered, true if it is.
+     *
+     * The reason this returns an unsigned char instead of a bool array is this
+     * array is typically stuffed into an std::vector, and std::vector<bool> is
+     * well, weird as it's actually implemented as a bitfield, and can not be
+     * used as a C array.
+     *
+     * So, on every modern system I'm aware of, bool is an unsigned char, so
+     * use that data type here.
+     */
+    virtual int getEventTriggers(int len, const int *indx, unsigned char *values);
+
+    virtual int applyEvents(double timeEnd, const unsigned char* previousEventStatus,
+                const double *initialState, double* finalState);
+
+    virtual int applyPendingEvents(double timeEnd);
+
+    /**
+     * evaluate the event 'roots' -- when events transition form triggered - non-triggered
+     * or triggered to non-triggered state.
+     *
+     * Simplest method is to return 1 for triggered, -1 for not-triggered, so long
+     * as there is a zero crossing.
+     *
+     * @param time[in] current time
+     * @param y[in] the state vector
+     * @param gdot[out] result event roots, this is of length numEvents.
+     */
+    virtual void getEventRoots(double time, const double* y, double* gdot);
+
+    virtual double getNextPendingEventTime(bool pop);
+
+    virtual int getPendingEventSize();
+
+    virtual void resetEvents();
+
+
+    /******************************* Events Section *******************************/
+     #endif /**********************************************************************/
+    /******************************************************************************/
+
+
+    /**
+     * Gets the index for an event id.
+     * If there is no event with this id, returns -1.
+     */
+    virtual int getEventIndex(const std::string& eid);
+    virtual std::string getEventId(int index);
+    virtual void setEventListener(int index, rr::EventListenerPtr eventHandler);
+    virtual rr::EventListenerPtr getEventListener(int index);
+
+    /**
+     * Get the amount rate of change for the i'th floating species
+     * given a reaction rates vector.
+     *
+     * TODO: This should be merged with getFloatingSpeciesAmountRates, but that will
+     * break inteface, will do in next point release.
+     *
+     * TODO: If the conversion factor changes in between getting the
+     * reaction rates vector via getReactionRates
+     *
+     * @param index: index of the desired floating speceis rate.
+     * @param reactionRates: pointer to buffer of reaction rates.
+     */
+    virtual double getFloatingSpeciesAmountRate(int index,
+            const double *reactionRates);
+
+    /**
+     * reset the model accordign to a bitfield specified by the
+     * SelectionRecord::SelectionType values.
+     */
+    virtual void reset(int options);
+
+    /**
+     * set the seed used by the random number generator. This will by definition
+     * reset the RNG.
+     */
+    virtual void setRandomSeed(int64_t);
+
+    /**
+     * get the seed used by the RNG.
+     */
+    virtual int64_t getRandomSeed();
+
+    /**
+     * Get a uniform random number between 0 and 1 created by the RNG.
+     *
+     * The type of RNG can be specified in the config file with the
+     * RANDOM_GENERATOR_TYPE key.
+     */
+    virtual double getRandom();
+
+    /**
+     * Get the current set of flags
+     */
+    virtual uint32_t getFlags() const;
+
+    /**
+     * Set certain options that determine the state of the ExecutableModel,
+     * these are listed in
+     */
+    virtual void setFlags(uint32_t);
+
+    double time;
+
+    double *reactionRates;
+
+    double *floatingSpeciesAmountRates;
+
+    double *floatingSpeciesAmounts;
+
+    double *volumes;
+
+    double evalReactionRates();
+
+    /**
+     * stoichiometry matrix
+     */
+    rr::csr_matrix*                     stoichiometry;                    // 13
+
+
+    double Km1;
+    double Km2;
+    double Km3;
+    double sigma;
+    double Keq;
+    double h;
+    double k1;
+    double Vm;
+    double M;
+
+
+    // number of source species, source -> product
+    int numSource;
+    int numSpecies;
+    int numReactions; // same as num source
+};
+
+} /* namespace rrtesting */
+
+#endif /* CXXENZYMEEXECUTABLEMODEL_H_ */
diff --git a/source/testing/CXXExecutableModel.cpp b/source/testing/CXXExecutableModel.cpp
new file mode 100644
index 0000000..8771813
--- /dev/null
+++ b/source/testing/CXXExecutableModel.cpp
@@ -0,0 +1,443 @@
+/*
+ * CXXExecutableModel.cpp
+ *
+ *  Created on: Dec 11, 2014
+ *      Author: andy
+ */
+
+#include "CXXExecutableModel.h"
+#include "rrLogger.h"
+#include "rrOSSpecifics.h"
+
+using rr::Logger;
+
+namespace rrtesting
+{
+
+CXXExecutableModel::CXXExecutableModel(const rr::Dictionary* dict)
+{
+    Log(Logger::LOG_NOTICE) << __FUNC__;
+}
+
+CXXExecutableModel::~CXXExecutableModel()
+{
+    Log(Logger::LOG_NOTICE) << __FUNC__;
+}
+
+std::string CXXExecutableModel::getModelName()
+{
+    return "C++ Test Model";
+}
+
+void CXXExecutableModel::setTime(double _time)
+{
+}
+
+double CXXExecutableModel::getTime()
+{
+    return 0;
+}
+
+void CXXExecutableModel::reset()
+{
+}
+
+int CXXExecutableModel::getNumDepFloatingSpecies()
+{
+    return 0;
+}
+
+int CXXExecutableModel::getNumFloatingSpecies()
+{
+    return 0;
+}
+
+int CXXExecutableModel::getFloatingSpeciesIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXExecutableModel::getFloatingSpeciesId(int index)
+{
+    return "";
+}
+
+int CXXExecutableModel::getNumIndFloatingSpecies()
+{
+    return 0;
+}
+
+int CXXExecutableModel::getFloatingSpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::setFloatingSpeciesAmounts(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getFloatingSpeciesAmountRates(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getFloatingSpeciesConcentrationRates(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getFloatingSpeciesConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::setFloatingSpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::setFloatingSpeciesInitConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getFloatingSpeciesInitConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::setFloatingSpeciesInitAmounts(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getFloatingSpeciesInitAmounts(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getNumBoundarySpecies()
+{
+    return 0;
+}
+
+int CXXExecutableModel::getBoundarySpeciesIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXExecutableModel::getBoundarySpeciesId(int index)
+{
+    return "";
+}
+
+int CXXExecutableModel::getBoundarySpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getBoundarySpeciesConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::setBoundarySpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getNumGlobalParameters()
+{
+    return 0;
+}
+
+int CXXExecutableModel::getGlobalParameterIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXExecutableModel::getGlobalParameterId(int index)
+{
+    return "";
+}
+
+int CXXExecutableModel::getGlobalParameterValues(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::setGlobalParameterValues(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getNumCompartments()
+{
+    return 0;
+}
+
+int CXXExecutableModel::getCompartmentIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXExecutableModel::getCompartmentId(int index)
+{
+    return "";
+}
+
+int CXXExecutableModel::getCompartmentVolumes(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::setCompartmentVolumes(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::setCompartmentInitVolumes(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getCompartmentInitVolumes(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+void CXXExecutableModel::getIds(int types, std::list<std::string>& ids)
+{
+}
+
+int CXXExecutableModel::getSupportedIdTypes()
+{
+    return 0;
+}
+
+double CXXExecutableModel::getValue(const std::string& id)
+{
+    return 0;
+}
+
+void CXXExecutableModel::setValue(const std::string& id, double value)
+{
+}
+
+int CXXExecutableModel::getStoichiometryMatrix(int* rows, int* cols,
+        double** data)
+{
+    return 0;
+}
+
+double CXXExecutableModel::getStoichiometry(int speciesIndex, int reactionIndex)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getNumConservedMoieties()
+{
+    return 0;
+}
+
+int CXXExecutableModel::getConservedMoietyIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXExecutableModel::getConservedMoietyId(int index)
+{
+    return "";
+}
+
+int CXXExecutableModel::getConservedMoietyValues(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::setConservedMoietyValues(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getNumRateRules()
+{
+    return 0;
+}
+
+int CXXExecutableModel::getNumReactions()
+{
+    return 0;
+}
+
+int CXXExecutableModel::getReactionIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXExecutableModel::getReactionId(int index)
+{
+    return "";
+}
+
+int CXXExecutableModel::getReactionRates(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+void CXXExecutableModel::getRateRuleValues(double* rateRuleValues)
+{
+}
+
+std::string CXXExecutableModel::getStateVectorId(int index)
+{
+    return "";
+}
+
+int CXXExecutableModel::getStateVector(double* stateVector)
+{
+    return 0;
+}
+
+int CXXExecutableModel::setStateVector(const double* stateVector)
+{
+    return 0;
+}
+
+void CXXExecutableModel::getStateVectorRate(double time, const double* y,
+        double* dydt)
+{
+}
+
+void CXXExecutableModel::testConstraints()
+{
+}
+
+std::string CXXExecutableModel::getInfo()
+{
+    return "C++ Test Model";
+}
+
+void CXXExecutableModel::print(std::ostream& stream)
+{
+}
+
+int CXXExecutableModel::getNumEvents()
+{
+    return 0;
+}
+
+int CXXExecutableModel::getEventTriggers(int len, const int* indx,
+        unsigned char* values)
+{
+    return 0;
+}
+
+int CXXExecutableModel::applyEvents(double timeEnd,
+        const unsigned char* previousEventStatus, const double* initialState,
+        double* finalState)
+{
+    return 0;
+}
+
+int CXXExecutableModel::applyPendingEvents(double timeEnd)
+{
+    return 0;
+}
+
+void CXXExecutableModel::getEventRoots(double time, const double* y,
+        double* gdot)
+{
+}
+
+double CXXExecutableModel::getNextPendingEventTime(bool pop)
+{
+    return 0;
+}
+
+int CXXExecutableModel::getPendingEventSize()
+{
+    return 0;
+}
+
+void CXXExecutableModel::resetEvents()
+{
+}
+
+int CXXExecutableModel::getEventIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXExecutableModel::getEventId(int index)
+{
+    return "";
+}
+
+void CXXExecutableModel::setEventListener(int index,
+        rr::EventListenerPtr eventHandler)
+{
+}
+
+rr::EventListenerPtr CXXExecutableModel::getEventListener(int index)
+{
+    return rr::EventListenerPtr();
+}
+
+double CXXExecutableModel::getFloatingSpeciesAmountRate(int index,
+        const double* reactionRates)
+{
+    return 0;
+}
+
+void CXXExecutableModel::reset(int options)
+{
+}
+
+void CXXExecutableModel::setRandomSeed(int64_t longLongInt)
+{
+}
+
+int64_t CXXExecutableModel::getRandomSeed()
+{
+    return 0;
+}
+
+double CXXExecutableModel::getRandom()
+{
+    return 0;
+}
+
+uint32_t CXXExecutableModel::getFlags() const
+{
+    return 0;
+}
+
+void CXXExecutableModel::setFlags(uint32_t unsignedInt)
+{
+}
+
+} /* namespace rrtesting */
diff --git a/source/testing/CXXExecutableModel.h b/source/testing/CXXExecutableModel.h
new file mode 100644
index 0000000..4cc07fc
--- /dev/null
+++ b/source/testing/CXXExecutableModel.h
@@ -0,0 +1,577 @@
+/*
+ * CXXExecutableModel.h
+ *
+ *  Created on: Dec 11, 2014
+ *      Author: andy
+ */
+
+#ifndef CXXEXECUTABLEMODEL_H_
+#define CXXEXECUTABLEMODEL_H_
+
+#include <rrExecutableModel.h>
+#include "Dictionary.h"
+
+namespace rrtesting
+{
+
+class CXXExecutableModel: public rr::ExecutableModel
+{
+public:
+    CXXExecutableModel(const rr::Dictionary* options);
+    virtual ~CXXExecutableModel();
+
+
+public:
+
+    /**
+     * @author JKM
+     * @date 07/31/2015
+     * @brief Returns a human-readable description of the code generation backend,
+     * e.g. LLVM, legacy C, etc.
+     */
+    virtual std::string getExecutableModelDesc() const {
+        return "C++ Executable Model";
+    }
+
+    /**
+     * get the name of the model
+     */
+    virtual std::string getModelName();
+
+    virtual void setTime(double _time);
+    virtual double getTime();
+
+
+    /**
+     * Loads the initial conditions into the current model state.
+     *
+     * Initial conditions may have been updated at any time externally.
+     */
+    virtual void reset();
+
+
+
+    /************************ Floating Species Section ****************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * dependent species are defined by rules and the only way to change them
+     * is by changing the values on which they depend.
+     */
+    virtual int getNumDepFloatingSpecies();
+
+    /**
+     * total number of floating species.
+     */
+    virtual int getNumFloatingSpecies();
+
+    virtual int getFloatingSpeciesIndex(const std::string& eid);
+    virtual std::string getFloatingSpeciesId(int index);
+
+    /**
+     * independent species do are not defined by rules, they typically participate
+     * in reactions and can have thier values set at any time.
+     */
+    virtual int getNumIndFloatingSpecies();
+
+    /**
+     * get the floating species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesAmounts(int len, int const *indx,
+            double *values);
+
+    virtual int setFloatingSpeciesAmounts(int len, int const *indx,
+            const double *values);
+
+    virtual int getFloatingSpeciesAmountRates(int len, int const *indx,
+            double *values);
+
+
+    virtual int getFloatingSpeciesConcentrationRates(int len, int const *indx,
+                double *values);
+
+    /**
+     * get the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+    /**
+     * set the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setFloatingSpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+    /**
+     * Set the initial concentrations of the floating species.
+     *
+     * Takes the same indices as the other floating species methods.
+     *
+     * Note, if a floating species has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setFloatingSpeciesInitConcentrations(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial concentrations of the floating species,
+     * uses the same indexing as the other floating species methods.
+     */
+    virtual int getFloatingSpeciesInitConcentrations(int len, int const *indx,
+                    double *values);
+
+    /**
+     * Set the initial amounts of the floating species.
+     *
+     * Takes the same indices as the other floating species methods.
+     *
+     * Note, if a floating species has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setFloatingSpeciesInitAmounts(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial amounts of the floating species,
+     * uses the same indexing as the other floating species methods.
+     */
+    virtual int getFloatingSpeciesInitAmounts(int len, int const *indx,
+                    double *values);
+
+    /************************ End Floating Species Section ************************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+
+    /************************ Boundary Species Section ****************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+
+    /**
+     * get the number of boundary species.
+     */
+    virtual int getNumBoundarySpecies();
+    virtual int getBoundarySpeciesIndex(const std::string &eid);
+    virtual std::string getBoundarySpeciesId(int index);
+
+    /**
+     * get the boundary species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesAmounts(int len, int const *indx,
+            double *values);
+
+
+    /**
+     * get the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+    /**
+     * set the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setBoundarySpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+
+    /************************ End Boundary Species Section ************************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Global Parameters Section ***************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * get the number of global parameters
+     */
+    virtual int getNumGlobalParameters();
+
+    /**
+     * index of the global parameter id, -1 if it does not exist.
+     */
+    virtual int getGlobalParameterIndex(const std::string& eid);
+
+    /**
+     * id of the indexed global parameter.
+     */
+    virtual std::string getGlobalParameterId(int index);
+
+    /**
+     * get the global parameter values
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getGlobalParameterValues(int len, int const *indx,
+            double *values);
+
+    virtual int setGlobalParameterValues(int len, int const *indx,
+            const double *values);
+
+
+    /************************ Global Parameters Species Section *******************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Compartments Section ********************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    virtual int getNumCompartments();
+    virtual int getCompartmentIndex(const std::string& eid);
+    virtual std::string getCompartmentId(int index);
+
+    /**
+     * get the compartment volumes
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getCompartmentVolumes(int len, int const *indx,
+            double *values);
+
+    virtual int setCompartmentVolumes(int len, int const *indx,
+                const double *values);
+
+    /**
+     * Set the initial volumes of the compartments.
+     *
+     * Takes the same indices as the other compartment methods.
+     *
+     * Note, if a compartment has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setCompartmentInitVolumes(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial volume of the compartments,
+     * uses the same indexing as the other compartment methods.
+     */
+    virtual int getCompartmentInitVolumes(int len, int const *indx,
+                    double *values);
+
+
+    /************************ End Compartments Species Section ********************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Selection Ids Species Section ***********************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * populates a given list with all the ids that this class can accept.
+     *
+     * @param ids: a list of strings that will be filled by this class.
+     * @param types: the types of ids that are requested. Can be set to
+     * 0xffffffff to request all the ids that this class supports.
+     * This should by a bitwise OR of the filelds in SelectionRecord::SelectionType
+     */
+    virtual void getIds(int types, std::list<std::string> &ids);
+
+    /**
+     * returns a bit field of the ids that this class supports.
+     */
+    virtual int getSupportedIdTypes();
+
+    /**
+     * gets the value for the given id string. The string must be a SelectionRecord
+     * string that is accepted by this class.
+     */
+    virtual double getValue(const std::string& id);
+
+    /**
+     * sets the value coresponding to the given selection stringl
+     */
+    virtual void setValue(const std::string& id, double value);
+
+
+    /************************ End Selection Ids Species Section *******************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * allocate a block of memory and copy the stochiometric values into it,
+     * and return it.
+     *
+     * The caller is responsible for freeing the memory that is referenced by data.
+     *
+     * @param[out] rows will hold the number of rows in the matrix.
+     * @param[out] cols will hold the number of columns in the matrix.
+     * @param[out] data a pointer which will hold a newly allocated memory block.
+     */
+    virtual int getStoichiometryMatrix(int* rows, int* cols, double** data);
+
+    /**
+     * Get the current stiochiometry value for the given species / reaction.
+     *
+     * If either are not valid, NaN is returned.
+     */
+    virtual double getStoichiometry(int speciesIndex, int reactionIndex);
+
+
+    virtual int getNumConservedMoieties();
+    virtual int getConservedMoietyIndex(const std::string& eid);
+    virtual std::string getConservedMoietyId(int index);
+    virtual int getConservedMoietyValues(int len, int const *indx, double *values);
+    virtual int setConservedMoietyValues(int len, int const *indx,
+            const double *values);
+
+    virtual int getNumRateRules();
+
+    /**
+     * get the number of reactions the model has
+     */
+    virtual int getNumReactions();
+
+    /**
+     * get the index of a named reaction
+     * @returns >= 0 on success, < 0 on failure.
+     */
+    virtual int getReactionIndex(const std::string& eid);
+
+    /**
+     * get the name of the specified reaction
+     */
+    virtual std::string getReactionId(int index);
+
+    /**
+     * get the vector of reaction rates.
+     *
+     * @param len: the length of the suplied buffer, must be >= reaction rates size.
+     * @param indx: pointer to index array. If NULL, then it is ignored and the
+     * reaction rates are copied directly into the suplied buffer.
+     * @param values: pointer to user suplied buffer where rates will be stored.
+     */
+    virtual int getReactionRates(int len, int const *indx,
+                double *values);
+
+    /**
+     * get the 'values' i.e. the what the rate rule integrates to, and
+     * store it in the given array.
+     *
+     * The length of rateRuleValues obviously must be the number of
+     * rate rules we have.
+     */
+    virtual void getRateRuleValues(double *rateRuleValues);
+
+    /**
+     * get the id of an element of the state vector.
+     */
+    virtual std::string getStateVectorId(int index);
+
+    /**
+     * The state vector is a vector of elements that are defined by
+     * differential equations (rate rules) or independent floating species
+     * are defined by reactions.
+     *
+     * To get the ids of the state vector elements, use getStateVectorId.
+     *
+     * copies the internal model state vector into the provided
+     * buffer.
+     *
+     * @param[out] stateVector a buffer to copy the state vector into, if NULL,
+     *         return the size required.
+     *
+     * @return the number of items coppied into the provided buffer, if
+     *         stateVector is NULL, returns the length of the state vector.
+     */
+    virtual int getStateVector(double *stateVector);
+
+    /**
+     * sets the internal model state to the provided packed state vector.
+     *
+     * @param[in] an array which holds the packed state vector, must be
+     *         at least the size returned by getStateVector.
+     *
+     * @return the number of items copied from the state vector, negative
+     *         on failure.
+     */
+    virtual int setStateVector(const double *stateVector);
+
+    /**
+     * the state vector y is the rate rule values and floating species
+     * concentrations concatenated. y is of length numFloatingSpecies + numRateRules.
+     *
+     * The state vector is packed such that the first n raterule elements are the
+     * values of the rate rules, and the last n floatingspecies are the floating
+     * species values.
+     *
+     * @param[in] time current simulator time
+     * @param[in] y state vector, must be either null, or have a size of that
+     *         speciefied by getStateVector. If y is null, then the model is
+     *         evaluated using its current state. If y is not null, then the
+     *         y is considered the state vector.
+     * @param[out] dydt calculated rate of change of the state vector, if null,
+     *         it is ignored.
+     */
+    virtual void getStateVectorRate(double time, const double *y, double* dydt=0);
+
+    virtual void testConstraints();
+
+    virtual std::string getInfo();
+
+    virtual void print(std::ostream &stream);
+
+    /******************************* Events Section *******************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    virtual int getNumEvents();
+
+    /**
+     * get the event status, false if the even is not triggered, true if it is.
+     *
+     * The reason this returns an unsigned char instead of a bool array is this
+     * array is typically stuffed into an std::vector, and std::vector<bool> is
+     * well, weird as it's actually implemented as a bitfield, and can not be
+     * used as a C array.
+     *
+     * So, on every modern system I'm aware of, bool is an unsigned char, so
+     * use that data type here.
+     */
+    virtual int getEventTriggers(int len, const int *indx, unsigned char *values);
+
+    virtual int applyEvents(double timeEnd, const unsigned char* previousEventStatus,
+                const double *initialState, double* finalState);
+
+    virtual int applyPendingEvents(double timeEnd);
+
+    /**
+     * evaluate the event 'roots' -- when events transition form triggered - non-triggered
+     * or triggered to non-triggered state.
+     *
+     * Simplest method is to return 1 for triggered, -1 for not-triggered, so long
+     * as there is a zero crossing.
+     *
+     * @param time[in] current time
+     * @param y[in] the state vector
+     * @param gdot[out] result event roots, this is of length numEvents.
+     */
+    virtual void getEventRoots(double time, const double* y, double* gdot);
+
+    virtual double getNextPendingEventTime(bool pop);
+
+    virtual int getPendingEventSize();
+
+    virtual void resetEvents();
+
+
+    /******************************* Events Section *******************************/
+     #endif /**********************************************************************/
+    /******************************************************************************/
+
+
+    /**
+     * Gets the index for an event id.
+     * If there is no event with this id, returns -1.
+     */
+    virtual int getEventIndex(const std::string& eid);
+    virtual std::string getEventId(int index);
+    virtual void setEventListener(int index, rr::EventListenerPtr eventHandler);
+    virtual rr::EventListenerPtr getEventListener(int index);
+
+    /**
+     * Get the amount rate of change for the i'th floating species
+     * given a reaction rates vector.
+     *
+     * TODO: This should be merged with getFloatingSpeciesAmountRates, but that will
+     * break inteface, will do in next point release.
+     *
+     * TODO: If the conversion factor changes in between getting the
+     * reaction rates vector via getReactionRates
+     *
+     * @param index: index of the desired floating speceis rate.
+     * @param reactionRates: pointer to buffer of reaction rates.
+     */
+    virtual double getFloatingSpeciesAmountRate(int index,
+            const double *reactionRates);
+
+    /**
+     * reset the model accordign to a bitfield specified by the
+     * SelectionRecord::SelectionType values.
+     */
+    virtual void reset(int options);
+
+    /**
+     * set the seed used by the random number generator. This will by definition
+     * reset the RNG.
+     */
+    virtual void setRandomSeed(int64_t);
+
+    /**
+     * get the seed used by the RNG.
+     */
+    virtual int64_t getRandomSeed();
+
+    /**
+     * Get a uniform random number between 0 and 1 created by the RNG.
+     *
+     * The type of RNG can be specified in the config file with the
+     * RANDOM_GENERATOR_TYPE key.
+     */
+    virtual double getRandom();
+
+    /**
+     * Get the current set of flags
+     */
+    virtual uint32_t getFlags() const;
+
+    /**
+     * Set certain options that determine the state of the ExecutableModel,
+     * these are listed in
+     */
+    virtual void setFlags(uint32_t);
+};
+
+} /* namespace rrtesting */
+
+#endif /* CXXEXECUTABLEMODEL_H_ */
diff --git a/source/testing/CXXPiecewiseExecutableModel.cpp b/source/testing/CXXPiecewiseExecutableModel.cpp
new file mode 100644
index 0000000..631852a
--- /dev/null
+++ b/source/testing/CXXPiecewiseExecutableModel.cpp
@@ -0,0 +1,443 @@
+/*
+ * CXXPiecewiseExecutableModel.cpp
+ *
+ *  Created on: Dec 11, 2014
+ *      Author: andy
+ */
+
+#include "CXXPiecewiseExecutableModel.h"
+#include "rrLogger.h"
+#include "rrOSSpecifics.h"
+
+using rr::Logger;
+
+namespace rrtesting
+{
+
+CXXPiecewiseExecutableModel::CXXPiecewiseExecutableModel(const rr::Dictionary* dict)
+{
+    Log(Logger::LOG_NOTICE) << __FUNC__;
+}
+
+CXXPiecewiseExecutableModel::~CXXPiecewiseExecutableModel()
+{
+    Log(Logger::LOG_NOTICE) << __FUNC__;
+}
+
+std::string CXXPiecewiseExecutableModel::getModelName()
+{
+    return "C++ Test Model";
+}
+
+void CXXPiecewiseExecutableModel::setTime(double _time)
+{
+}
+
+double CXXPiecewiseExecutableModel::getTime()
+{
+    return 0;
+}
+
+void CXXPiecewiseExecutableModel::reset()
+{
+}
+
+int CXXPiecewiseExecutableModel::getNumDepFloatingSpecies()
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getNumFloatingSpecies()
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getFloatingSpeciesIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXPiecewiseExecutableModel::getFloatingSpeciesId(int index)
+{
+    return "";
+}
+
+int CXXPiecewiseExecutableModel::getNumIndFloatingSpecies()
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getFloatingSpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::setFloatingSpeciesAmounts(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getFloatingSpeciesAmountRates(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getFloatingSpeciesConcentrationRates(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getFloatingSpeciesConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::setFloatingSpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::setFloatingSpeciesInitConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getFloatingSpeciesInitConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::setFloatingSpeciesInitAmounts(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getFloatingSpeciesInitAmounts(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getNumBoundarySpecies()
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getBoundarySpeciesIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXPiecewiseExecutableModel::getBoundarySpeciesId(int index)
+{
+    return "";
+}
+
+int CXXPiecewiseExecutableModel::getBoundarySpeciesAmounts(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getBoundarySpeciesConcentrations(int len,
+        const int* indx, double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::setBoundarySpeciesConcentrations(int len,
+        const int* indx, const double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getNumGlobalParameters()
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getGlobalParameterIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXPiecewiseExecutableModel::getGlobalParameterId(int index)
+{
+    return "";
+}
+
+int CXXPiecewiseExecutableModel::getGlobalParameterValues(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::setGlobalParameterValues(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getNumCompartments()
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getCompartmentIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXPiecewiseExecutableModel::getCompartmentId(int index)
+{
+    return "";
+}
+
+int CXXPiecewiseExecutableModel::getCompartmentVolumes(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::setCompartmentVolumes(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::setCompartmentInitVolumes(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getCompartmentInitVolumes(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+void CXXPiecewiseExecutableModel::getIds(int types, std::list<std::string>& ids)
+{
+}
+
+int CXXPiecewiseExecutableModel::getSupportedIdTypes()
+{
+    return 0;
+}
+
+double CXXPiecewiseExecutableModel::getValue(const std::string& id)
+{
+    return 0;
+}
+
+void CXXPiecewiseExecutableModel::setValue(const std::string& id, double value)
+{
+}
+
+int CXXPiecewiseExecutableModel::getStoichiometryMatrix(int* rows, int* cols,
+        double** data)
+{
+    return 0;
+}
+
+double CXXPiecewiseExecutableModel::getStoichiometry(int speciesIndex, int reactionIndex)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getNumConservedMoieties()
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getConservedMoietyIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXPiecewiseExecutableModel::getConservedMoietyId(int index)
+{
+    return "";
+}
+
+int CXXPiecewiseExecutableModel::getConservedMoietyValues(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::setConservedMoietyValues(int len, const int* indx,
+        const double* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getNumRateRules()
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getNumReactions()
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getReactionIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXPiecewiseExecutableModel::getReactionId(int index)
+{
+    return "";
+}
+
+int CXXPiecewiseExecutableModel::getReactionRates(int len, const int* indx,
+        double* values)
+{
+    return 0;
+}
+
+void CXXPiecewiseExecutableModel::getRateRuleValues(double* rateRuleValues)
+{
+}
+
+std::string CXXPiecewiseExecutableModel::getStateVectorId(int index)
+{
+    return "";
+}
+
+int CXXPiecewiseExecutableModel::getStateVector(double* stateVector)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::setStateVector(const double* stateVector)
+{
+    return 0;
+}
+
+void CXXPiecewiseExecutableModel::getStateVectorRate(double time, const double* y,
+        double* dydt)
+{
+}
+
+void CXXPiecewiseExecutableModel::testConstraints()
+{
+}
+
+std::string CXXPiecewiseExecutableModel::getInfo()
+{
+    return "C++ Test Model";
+}
+
+void CXXPiecewiseExecutableModel::print(std::ostream& stream)
+{
+}
+
+int CXXPiecewiseExecutableModel::getNumEvents()
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getEventTriggers(int len, const int* indx,
+        unsigned char* values)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::applyEvents(double timeEnd,
+        const unsigned char* previousEventStatus, const double* initialState,
+        double* finalState)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::applyPendingEvents(double timeEnd)
+{
+    return 0;
+}
+
+void CXXPiecewiseExecutableModel::getEventRoots(double time, const double* y,
+        double* gdot)
+{
+}
+
+double CXXPiecewiseExecutableModel::getNextPendingEventTime(bool pop)
+{
+    return 0;
+}
+
+int CXXPiecewiseExecutableModel::getPendingEventSize()
+{
+    return 0;
+}
+
+void CXXPiecewiseExecutableModel::resetEvents()
+{
+}
+
+int CXXPiecewiseExecutableModel::getEventIndex(const std::string& eid)
+{
+    return 0;
+}
+
+std::string CXXPiecewiseExecutableModel::getEventId(int index)
+{
+    return "";
+}
+
+void CXXPiecewiseExecutableModel::setEventListener(int index,
+        rr::EventListenerPtr eventHandler)
+{
+}
+
+rr::EventListenerPtr CXXPiecewiseExecutableModel::getEventListener(int index)
+{
+    return rr::EventListenerPtr();
+}
+
+double CXXPiecewiseExecutableModel::getFloatingSpeciesAmountRate(int index,
+        const double* reactionRates)
+{
+    return 0;
+}
+
+void CXXPiecewiseExecutableModel::reset(int options)
+{
+}
+
+void CXXPiecewiseExecutableModel::setRandomSeed(int64_t longLongInt)
+{
+}
+
+int64_t CXXPiecewiseExecutableModel::getRandomSeed()
+{
+    return 0;
+}
+
+double CXXPiecewiseExecutableModel::getRandom()
+{
+    return 0;
+}
+
+uint32_t CXXPiecewiseExecutableModel::getFlags() const
+{
+    return 0;
+}
+
+void CXXPiecewiseExecutableModel::setFlags(uint32_t unsignedInt)
+{
+}
+
+} /* namespace rrtesting */
diff --git a/source/testing/CXXPiecewiseExecutableModel.h b/source/testing/CXXPiecewiseExecutableModel.h
new file mode 100644
index 0000000..1c38183
--- /dev/null
+++ b/source/testing/CXXPiecewiseExecutableModel.h
@@ -0,0 +1,577 @@
+/*
+ * CXXPiecewiseExecutableModel.h
+ *
+ *  Created on: Dec 11, 2014
+ *      Author: andy
+ */
+
+#ifndef CXXPIECEWISEEXECUTABLEMODEL_H_
+#define CXXPIECEWISEEXECUTABLEMODEL_H_
+
+#include <rrExecutableModel.h>
+#include "Dictionary.h"
+
+namespace rrtesting
+{
+
+class CXXPiecewiseExecutableModel: public rr::ExecutableModel
+{
+public:
+    CXXPiecewiseExecutableModel(const rr::Dictionary* options);
+    virtual ~CXXPiecewiseExecutableModel();
+
+
+public:
+
+    /**
+     * @author JKM
+     * @date 07/31/2015
+     * @brief Returns a human-readable description of the code generation backend,
+     * e.g. LLVM, legacy C, etc.
+     */
+    virtual std::string getExecutableModelDesc() const {
+        return "Piecewise Executable Model";
+    }
+
+    /**
+     * get the name of the model
+     */
+    virtual std::string getModelName();
+
+    virtual void setTime(double _time);
+    virtual double getTime();
+
+
+    /**
+     * Loads the initial conditions into the current model state.
+     *
+     * Initial conditions may have been updated at any time externally.
+     */
+    virtual void reset();
+
+
+
+    /************************ Floating Species Section ****************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * dependent species are defined by rules and the only way to change them
+     * is by changing the values on which they depend.
+     */
+    virtual int getNumDepFloatingSpecies();
+
+    /**
+     * total number of floating species.
+     */
+    virtual int getNumFloatingSpecies();
+
+    virtual int getFloatingSpeciesIndex(const std::string& eid);
+    virtual std::string getFloatingSpeciesId(int index);
+
+    /**
+     * independent species do are not defined by rules, they typically participate
+     * in reactions and can have thier values set at any time.
+     */
+    virtual int getNumIndFloatingSpecies();
+
+    /**
+     * get the floating species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesAmounts(int len, int const *indx,
+            double *values);
+
+    virtual int setFloatingSpeciesAmounts(int len, int const *indx,
+            const double *values);
+
+    virtual int getFloatingSpeciesAmountRates(int len, int const *indx,
+            double *values);
+
+
+    virtual int getFloatingSpeciesConcentrationRates(int len, int const *indx,
+                double *values);
+
+    /**
+     * get the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getFloatingSpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+    /**
+     * set the floating species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setFloatingSpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+    /**
+     * Set the initial concentrations of the floating species.
+     *
+     * Takes the same indices as the other floating species methods.
+     *
+     * Note, if a floating species has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setFloatingSpeciesInitConcentrations(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial concentrations of the floating species,
+     * uses the same indexing as the other floating species methods.
+     */
+    virtual int getFloatingSpeciesInitConcentrations(int len, int const *indx,
+                    double *values);
+
+    /**
+     * Set the initial amounts of the floating species.
+     *
+     * Takes the same indices as the other floating species methods.
+     *
+     * Note, if a floating species has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setFloatingSpeciesInitAmounts(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial amounts of the floating species,
+     * uses the same indexing as the other floating species methods.
+     */
+    virtual int getFloatingSpeciesInitAmounts(int len, int const *indx,
+                    double *values);
+
+    /************************ End Floating Species Section ************************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+
+    /************************ Boundary Species Section ****************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+
+    /**
+     * get the number of boundary species.
+     */
+    virtual int getNumBoundarySpecies();
+    virtual int getBoundarySpeciesIndex(const std::string &eid);
+    virtual std::string getBoundarySpeciesId(int index);
+
+    /**
+     * get the boundary species amounts
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesAmounts(int len, int const *indx,
+            double *values);
+
+
+    /**
+     * get the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getBoundarySpeciesConcentrations(int len, int const *indx,
+            double *values);
+
+    /**
+     * set the boundary species concentrations
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[in] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int setBoundarySpeciesConcentrations(int len, int const *indx,
+            double const *values);
+
+
+    /************************ End Boundary Species Section ************************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Global Parameters Section ***************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * get the number of global parameters
+     */
+    virtual int getNumGlobalParameters();
+
+    /**
+     * index of the global parameter id, -1 if it does not exist.
+     */
+    virtual int getGlobalParameterIndex(const std::string& eid);
+
+    /**
+     * id of the indexed global parameter.
+     */
+    virtual std::string getGlobalParameterId(int index);
+
+    /**
+     * get the global parameter values
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getGlobalParameterValues(int len, int const *indx,
+            double *values);
+
+    virtual int setGlobalParameterValues(int len, int const *indx,
+            const double *values);
+
+
+    /************************ Global Parameters Species Section *******************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Compartments Section ********************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    virtual int getNumCompartments();
+    virtual int getCompartmentIndex(const std::string& eid);
+    virtual std::string getCompartmentId(int index);
+
+    /**
+     * get the compartment volumes
+     *
+     * @param[in] len the length of the indx and values arrays.
+     * @param[in] indx an array of length len of boundary species to return.
+     * @param[out] values an array of at least length len which will store the
+     *                returned boundary species amounts.
+     */
+    virtual int getCompartmentVolumes(int len, int const *indx,
+            double *values);
+
+    virtual int setCompartmentVolumes(int len, int const *indx,
+                const double *values);
+
+    /**
+     * Set the initial volumes of the compartments.
+     *
+     * Takes the same indices as the other compartment methods.
+     *
+     * Note, if a compartment has an initial assignment rule,
+     * than the initial conditions value can only be set by
+     * updating the values on which it depends, it can not be set
+     * directly.
+     */
+    virtual int setCompartmentInitVolumes(int len, int const *indx,
+                double const *values);
+
+    /**
+     * Get the initial volume of the compartments,
+     * uses the same indexing as the other compartment methods.
+     */
+    virtual int getCompartmentInitVolumes(int len, int const *indx,
+                    double *values);
+
+
+    /************************ End Compartments Species Section ********************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+
+    /************************ Selection Ids Species Section ***********************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * populates a given list with all the ids that this class can accept.
+     *
+     * @param ids: a list of strings that will be filled by this class.
+     * @param types: the types of ids that are requested. Can be set to
+     * 0xffffffff to request all the ids that this class supports.
+     * This should by a bitwise OR of the filelds in SelectionRecord::SelectionType
+     */
+    virtual void getIds(int types, std::list<std::string> &ids);
+
+    /**
+     * returns a bit field of the ids that this class supports.
+     */
+    virtual int getSupportedIdTypes();
+
+    /**
+     * gets the value for the given id string. The string must be a SelectionRecord
+     * string that is accepted by this class.
+     */
+    virtual double getValue(const std::string& id);
+
+    /**
+     * sets the value coresponding to the given selection stringl
+     */
+    virtual void setValue(const std::string& id, double value);
+
+
+    /************************ End Selection Ids Species Section *******************/
+    #endif /***********************************************************************/
+    /******************************************************************************/
+
+    /**
+     * allocate a block of memory and copy the stochiometric values into it,
+     * and return it.
+     *
+     * The caller is responsible for freeing the memory that is referenced by data.
+     *
+     * @param[out] rows will hold the number of rows in the matrix.
+     * @param[out] cols will hold the number of columns in the matrix.
+     * @param[out] data a pointer which will hold a newly allocated memory block.
+     */
+    virtual int getStoichiometryMatrix(int* rows, int* cols, double** data);
+
+    /**
+     * Get the current stiochiometry value for the given species / reaction.
+     *
+     * If either are not valid, NaN is returned.
+     */
+    virtual double getStoichiometry(int speciesIndex, int reactionIndex);
+
+
+    virtual int getNumConservedMoieties();
+    virtual int getConservedMoietyIndex(const std::string& eid);
+    virtual std::string getConservedMoietyId(int index);
+    virtual int getConservedMoietyValues(int len, int const *indx, double *values);
+    virtual int setConservedMoietyValues(int len, int const *indx,
+            const double *values);
+
+    virtual int getNumRateRules();
+
+    /**
+     * get the number of reactions the model has
+     */
+    virtual int getNumReactions();
+
+    /**
+     * get the index of a named reaction
+     * @returns >= 0 on success, < 0 on failure.
+     */
+    virtual int getReactionIndex(const std::string& eid);
+
+    /**
+     * get the name of the specified reaction
+     */
+    virtual std::string getReactionId(int index);
+
+    /**
+     * get the vector of reaction rates.
+     *
+     * @param len: the length of the suplied buffer, must be >= reaction rates size.
+     * @param indx: pointer to index array. If NULL, then it is ignored and the
+     * reaction rates are copied directly into the suplied buffer.
+     * @param values: pointer to user suplied buffer where rates will be stored.
+     */
+    virtual int getReactionRates(int len, int const *indx,
+                double *values);
+
+    /**
+     * get the 'values' i.e. the what the rate rule integrates to, and
+     * store it in the given array.
+     *
+     * The length of rateRuleValues obviously must be the number of
+     * rate rules we have.
+     */
+    virtual void getRateRuleValues(double *rateRuleValues);
+
+    /**
+     * get the id of an element of the state vector.
+     */
+    virtual std::string getStateVectorId(int index);
+
+    /**
+     * The state vector is a vector of elements that are defined by
+     * differential equations (rate rules) or independent floating species
+     * are defined by reactions.
+     *
+     * To get the ids of the state vector elements, use getStateVectorId.
+     *
+     * copies the internal model state vector into the provided
+     * buffer.
+     *
+     * @param[out] stateVector a buffer to copy the state vector into, if NULL,
+     *         return the size required.
+     *
+     * @return the number of items coppied into the provided buffer, if
+     *         stateVector is NULL, returns the length of the state vector.
+     */
+    virtual int getStateVector(double *stateVector);
+
+    /**
+     * sets the internal model state to the provided packed state vector.
+     *
+     * @param[in] an array which holds the packed state vector, must be
+     *         at least the size returned by getStateVector.
+     *
+     * @return the number of items copied from the state vector, negative
+     *         on failure.
+     */
+    virtual int setStateVector(const double *stateVector);
+
+    /**
+     * the state vector y is the rate rule values and floating species
+     * concentrations concatenated. y is of length numFloatingSpecies + numRateRules.
+     *
+     * The state vector is packed such that the first n raterule elements are the
+     * values of the rate rules, and the last n floatingspecies are the floating
+     * species values.
+     *
+     * @param[in] time current simulator time
+     * @param[in] y state vector, must be either null, or have a size of that
+     *         speciefied by getStateVector. If y is null, then the model is
+     *         evaluated using its current state. If y is not null, then the
+     *         y is considered the state vector.
+     * @param[out] dydt calculated rate of change of the state vector, if null,
+     *         it is ignored.
+     */
+    virtual void getStateVectorRate(double time, const double *y, double* dydt=0);
+
+    virtual void testConstraints();
+
+    virtual std::string getInfo();
+
+    virtual void print(std::ostream &stream);
+
+    /******************************* Events Section *******************************/
+    #if (1) /**********************************************************************/
+    /******************************************************************************/
+
+    virtual int getNumEvents();
+
+    /**
+     * get the event status, false if the even is not triggered, true if it is.
+     *
+     * The reason this returns an unsigned char instead of a bool array is this
+     * array is typically stuffed into an std::vector, and std::vector<bool> is
+     * well, weird as it's actually implemented as a bitfield, and can not be
+     * used as a C array.
+     *
+     * So, on every modern system I'm aware of, bool is an unsigned char, so
+     * use that data type here.
+     */
+    virtual int getEventTriggers(int len, const int *indx, unsigned char *values);
+
+    virtual int applyEvents(double timeEnd, const unsigned char* previousEventStatus,
+                const double *initialState, double* finalState);
+
+    virtual int applyPendingEvents(double timeEnd);
+
+    /**
+     * evaluate the event 'roots' -- when events transition form triggered - non-triggered
+     * or triggered to non-triggered state.
+     *
+     * Simplest method is to return 1 for triggered, -1 for not-triggered, so long
+     * as there is a zero crossing.
+     *
+     * @param time[in] current time
+     * @param y[in] the state vector
+     * @param gdot[out] result event roots, this is of length numEvents.
+     */
+    virtual void getEventRoots(double time, const double* y, double* gdot);
+
+    virtual double getNextPendingEventTime(bool pop);
+
+    virtual int getPendingEventSize();
+
+    virtual void resetEvents();
+
+
+    /******************************* Events Section *******************************/
+     #endif /**********************************************************************/
+    /******************************************************************************/
+
+
+    /**
+     * Gets the index for an event id.
+     * If there is no event with this id, returns -1.
+     */
+    virtual int getEventIndex(const std::string& eid);
+    virtual std::string getEventId(int index);
+    virtual void setEventListener(int index, rr::EventListenerPtr eventHandler);
+    virtual rr::EventListenerPtr getEventListener(int index);
+
+    /**
+     * Get the amount rate of change for the i'th floating species
+     * given a reaction rates vector.
+     *
+     * TODO: This should be merged with getFloatingSpeciesAmountRates, but that will
+     * break inteface, will do in next point release.
+     *
+     * TODO: If the conversion factor changes in between getting the
+     * reaction rates vector via getReactionRates
+     *
+     * @param index: index of the desired floating speceis rate.
+     * @param reactionRates: pointer to buffer of reaction rates.
+     */
+    virtual double getFloatingSpeciesAmountRate(int index,
+            const double *reactionRates);
+
+    /**
+     * reset the model accordign to a bitfield specified by the
+     * SelectionRecord::SelectionType values.
+     */
+    virtual void reset(int options);
+
+    /**
+     * set the seed used by the random number generator. This will by definition
+     * reset the RNG.
+     */
+    virtual void setRandomSeed(int64_t);
+
+    /**
+     * get the seed used by the RNG.
+     */
+    virtual int64_t getRandomSeed();
+
+    /**
+     * Get a uniform random number between 0 and 1 created by the RNG.
+     *
+     * The type of RNG can be specified in the config file with the
+     * RANDOM_GENERATOR_TYPE key.
+     */
+    virtual double getRandom();
+
+    /**
+     * Get the current set of flags
+     */
+    virtual uint32_t getFlags() const;
+
+    /**
+     * Set certain options that determine the state of the ExecutableModel,
+     * these are listed in
+     */
+    virtual void setFlags(uint32_t);
+};
+
+} /* namespace rrtesting */
+
+#endif /* CXXPIECEWISEEXECUTABLEMODEL_H_ */
diff --git a/source/testing/main.cpp b/source/testing/main.cpp
new file mode 100644
index 0000000..2041131
--- /dev/null
+++ b/source/testing/main.cpp
@@ -0,0 +1,150 @@
+#include <iostream>
+#include <fstream>
+#include "rrLogger.h"
+#include "rrUtils.h"
+#include "unit_test/UnitTest++.h"
+#include "unit_test/XmlTestReporter.h"
+#include "unit_test/TestReporterStdout.h"
+#include "Args.h"
+#include "rrRoadRunner.h"
+#include "rrGetOptions.h"
+
+using namespace std;
+using namespace rr;
+using namespace UnitTest;
+
+string     gRRInstallFolder        = "";
+string     gSBMLModelsPath         = "";
+string     gTestDataFolder         = "";
+string     gCompiler               = "";
+string     gSupportCodeFolder      = "";
+string     gTempFolder             = "";
+bool       gDebug                  = false;
+
+// initialized based on gSBMLModelsPath
+string gTSModelsPath;
+
+vector<string> gModels;
+void ProcessCommandLineArguments(int argc, char* argv[], Args& args);
+
+RoadRunner* gRR = NULL;
+
+//call with arguments, -m"modelFilePath" -r"resultFileFolder" -t"TempFolder"
+int main(int argc, char* argv[])
+{
+    clog<<"Entering cxx test application..\n";
+
+    Args args;
+    ProcessCommandLineArguments(argc, argv, args);
+
+
+#if defined (WIN32)
+    gCompiler = "compilers\\tcc\\tcc.exe";
+#else
+    gCompiler = "gcc";
+#endif
+
+    string reportFile(args.ResultOutputFile);
+
+    gSBMLModelsPath     = args.SBMLModelsFilePath;
+    gTSModelsPath         = joinPath(joinPath(gSBMLModelsPath, "cases"), "semantic");
+
+    gTempFolder            = args.TempDataFolder;
+
+    string thisExeFolder = getCurrentExeFolder();
+    Log(lDebug)<<"RoadRunner bin location is: "<<thisExeFolder;
+
+    //Assume(!) this is the bin folder of roadrunner install
+    gRRInstallFolder = getParentFolder(thisExeFolder);    //Go up one folder
+
+    gCompiler             = joinPath(gRRInstallFolder, gCompiler);
+    gSupportCodeFolder     = joinPath(gRRInstallFolder, "rr_support");
+    gTestDataFolder     = joinPath(gRRInstallFolder, "tests");
+    bool doLogging      = args.EnableLogging;
+    if(doLogging)
+    {
+        string logFile = joinPath(gTempFolder, "RoadRunner.log");
+        Logger::enableConsoleLogging(Logger::LOG_DEBUG);
+    }
+
+    fstream aFile(reportFile.c_str(), ios::out);
+    if(!aFile)
+    {
+        cerr<<"Failed opening report file: "<<reportFile<<" in rr_cpp_api testing executable.\n";
+        return -1;
+    }
+
+    XmlTestReporter reporter(aFile);
+    TestRunner runner1(reporter);
+    //    TestReporterStdout reporter;
+    //      TestRunner runner1(reporter);
+
+
+    //    clog<<"Running Base\n";
+    //    runner1.RunTestsIf(Test::GetTestList(), "Base",             True(), 0);
+    //
+    //    clog<<"Running SteadyState Tests\n";
+    //    runner1.RunTestsIf(Test::GetTestList(), "SteadyState",         True(), 0);
+    //
+    //    clog<<"Running ssThreeSpecies Tests\n";
+    //    runner1.RunTestsIf(Test::GetTestList(), "ssThreeSpecies",     True(), 0);
+
+    //    clog<<"Running Stoichiometric Tests\n";
+    //    runner1.RunTestsIf(Test::GetTestList(), "Stoichiometric",       True(), 0);
+
+    //    clog<<"Running TestSuite Tests\n";
+    runner1.RunTestsIf(Test::GetTestList(), "SBML_l2v4",       True(), 0);
+
+    //Finish outputs result to xml file
+    runner1.Finish();
+    //    Pause();
+    return 0;
+}
+
+void ProcessCommandLineArguments(int argc, char* argv[], Args& args)
+{
+    char c;
+    while ((c = GetOptions(argc, argv, ("vi:d:m:l:r:s:t:"))) != -1)
+    {
+        switch (c)
+        {
+        case ('m'): args.SBMLModelsFilePath                     = rrOptArg;                       break;
+        //case ('l'): args.Compiler                             = rrOptArg;                       break;
+        case ('r'): args.ResultOutputFile                       = rrOptArg;                       break;
+        //case ('s'): args.SupportCodeFolder                    = rrOptArg;                       break;
+        case ('t'): args.TempDataFolder                         = rrOptArg;                       break;
+        //case ('d'): args.DataOutputFolder                     = rrOptArg;                       break;
+        case ('v'): args.EnableLogging                          = true;                           break;
+        case ('?'): cout<<Usage(argv[0])<<endl; break;
+        default:
+        {
+            string str = argv[rrOptInd-1];
+            if(str != "-?")
+            {
+                cout<<"*** Illegal option:\t"<<argv[rrOptInd-1]<<" ***\n\n";
+            }
+            exit(0);
+        }
+        }
+    }
+
+    //Check arguments, and choose to bail here if something is not right...
+    if(argc < 2)
+    {
+        cout<<Usage(argv[0])<<endl;
+        rr::pause();
+        cout<<"\n";
+        exit(0);
+    }
+}
+
+#if defined(CG_IDE)
+//#pragma comment(lib, "roadrunner-static.lib")
+#pragma comment(lib, "roadrunner.lib")
+#pragma comment(lib, "unit_test-static.lib")
+
+//If we compile using a shared roadrunner, link with these
+#pragma comment(lib, "poco_foundation-static.lib")
+#pragma comment(lib, "rr-libstruct-static.lib")
+#endif
+
diff --git a/source/testing/run_cpp_tests.bat b/source/testing/run_cpp_tests.bat
new file mode 100644
index 0000000..fcd6416
--- /dev/null
+++ b/source/testing/run_cpp_tests.bat
@@ -0,0 +1,18 @@
+
+echo "Running tests..."
+ at echo off 
+
+REM ===  Call with three arguments, eg vs 2010 Release..
+set compiler=%1
+set compiler_version=%2
+set build_type=%3
+
+set install_folder=r:\installs\%compiler%\%compiler_version%\%build_type%
+set model_folder=r:\models
+set wc=r:\rrl
+set report_file=%wc%\reports\%compiler%\%compiler_version%\cpp_test_%build_type%.xml
+set temp_folder=r:\rrTemp\%compiler_version%
+
+cxx_api_tests.exe -m%model_folder% -r%report_file% -t%temp_folder% 
+
+echo done...
diff --git a/source/testing/run_cpp_tests.sh b/source/testing/run_cpp_tests.sh
new file mode 100755
index 0000000..5a8870b
--- /dev/null
+++ b/source/testing/run_cpp_tests.sh
@@ -0,0 +1,20 @@
+
+echo "Running tests..."
+
+# ===  Call with three arguments!!
+compiler=$1
+compiler_version=$2
+build_type=$3
+
+
+install_folder=/home/sagrada/myhome/downloads/source/roadrunner/install
+model_folder=$install_folder/all/models
+wc=/home/sagrada/myhome/downloads/source/roadrunner/roadrunnerlib
+report_file=$wc/reports/$compiler/$compiler_version/cpp_tests.xml
+temp_folder=/tmp/$compiler_version
+
+echo "cxx_api_tests -m$model_folder -r$report_file -lgcc -s$install_folder/third_party/rr_support -t$temp_folder -d$temp_folder"
+
+./cxx_api_tests -m$model_folder -r$report_file -lgcc -s$install_folder/third_party/rr_support -t$temp_folder -d$temp_folder
+
+echo "done..."
diff --git a/source/testing/src/Args.cpp b/source/testing/src/Args.cpp
new file mode 100644
index 0000000..29a3117
--- /dev/null
+++ b/source/testing/src/Args.cpp
@@ -0,0 +1,41 @@
+#ifdef USE_PCH
+#include "rr_pch.h"
+#endif
+#pragma hdrstop
+#include <sstream>
+#include <iomanip>
+#include "Args.h"
+#include "rrUtils.h"
+//---------------------------------------------------------------------------
+using namespace std;
+Args::Args()
+:
+SBMLModelsFilePath(""),
+ResultOutputFile(""),
+TempDataFolder("."),
+//DataOutputFolder("."),
+//Compiler(""),
+//SupportCodeFolder(""),
+EnableLogging(false)
+{}
+
+string Usage(const string& prg)
+{
+    stringstream usage;
+    usage << "\nUSAGE for "<<prg<<"\n\n";
+    usage<<left;
+    usage<<setfill('.');
+    usage<<setw(25)<<"-m<FilePath>"                 <<" Folder where the program will read sbml models. \n";
+	usage<<setw(25)<<"-l<FilePath>"                 <<" Compiler \n";
+	usage<<setw(25)<<"-s<FilePath>"                 <<" Support code folder location\n";
+	usage<<setw(25)<<"-r<FilePath>"                 <<" Results output file, with path.\n";
+    usage<<setw(25)<<"-t<FilePath>"                 <<" Temporary data output folder. If not given, temp files are output to current directory\n";
+    usage<<setw(25)<<"-d<FilePath>"                 <<" Data outputFolder\n";
+    usage<<setw(25)<<"-v"                 			<<" Enable Logging\n";
+    usage<<setw(25)<<"-?"                           <<" Shows the help screen.\n\n";
+
+	usage<<"\nSystems Biology, UW 2012\n";
+	rr::pause();
+    return usage.str();
+}
+
diff --git a/source/testing/src/Args.h b/source/testing/src/Args.h
new file mode 100644
index 0000000..c64eb77
--- /dev/null
+++ b/source/testing/src/Args.h
@@ -0,0 +1,21 @@
+#ifndef CommandLineParametersH
+#define CommandLineParametersH
+#include <string>
+using std::string;
+
+string Usage(const string& prg);
+class Args
+{
+    public:
+                                        Args();
+        virtual                        ~Args(){}
+        string                          SBMLModelsFilePath;                       	//option m:
+//		string                          Compiler;       		                  	//option l:
+        string                          ResultOutputFile;                         	//option r:
+        string                          TempDataFolder;                           	//option t:
+//        string                          DataOutputFolder;                          	//option d:
+//		string                          SupportCodeFolder;                        	//option s:
+		bool                            EnableLogging;                    	     	//option v:
+};
+
+#endif
diff --git a/source/testing/src/rrTestUtils.cpp b/source/testing/src/rrTestUtils.cpp
new file mode 100644
index 0000000..45c4ceb
--- /dev/null
+++ b/source/testing/src/rrTestUtils.cpp
@@ -0,0 +1,28 @@
+#include <vector>
+#include "rrUtils.h"
+#include "rrTestUtils.h"
+
+using namespace std;
+using namespace rr;
+DoubleMatrix ParseMatrixFromText(const string& textMatrix)
+{
+	DoubleMatrix mat;
+
+    //Parse the matrix
+    vector<string> rows = splitString(textMatrix, "\n");
+    for(int row = 0; row < rows.size(); row++)
+    {
+        vector<string> values = splitString(rows[row], " \t");
+        for(int col = 0; col < values.size(); col++)
+        {
+        	if(!mat.size())
+            {
+                mat.resize(rows.size(), values.size());
+            }
+
+            mat(row, col) = toDouble(values[col]);
+        }
+    }
+	return mat;
+}
+
diff --git a/source/testing/src/rrTestUtils.h b/source/testing/src/rrTestUtils.h
new file mode 100644
index 0000000..1c3b2f4
--- /dev/null
+++ b/source/testing/src/rrTestUtils.h
@@ -0,0 +1,11 @@
+#ifndef rrTestUtilsH
+#define rrTestUtilsH
+#include <string>
+#include "rr-libstruct/lsMatrix.h"
+
+using namespace ls;
+using std::string;
+DoubleMatrix ParseMatrixFromText(const string& textMatrix);
+
+
+#endif
diff --git a/source/testing/tests/base.cpp b/source/testing/tests/base.cpp
new file mode 100644
index 0000000..f155a5f
--- /dev/null
+++ b/source/testing/tests/base.cpp
@@ -0,0 +1,84 @@
+#include "unit_test/UnitTest++.h"
+#include "rrLogger.h"
+#include "rrRoadRunner.h"
+#include "rrException.h"
+#include "rrStringUtils.h"
+#include "rrUtils.h"
+#include "rrVersionInfo.h"
+
+using namespace UnitTest;
+using namespace rr;
+
+extern RoadRunner*        gRR;
+extern string             gSBMLModelsPath;
+extern string             gCompiler;
+extern string             gSupportCodeFolder;
+extern string             gRRInstallFolder;
+extern string             gTempFolder;
+extern vector<string>     gModels;
+SUITE(Base)
+{
+    TEST(VERSIONS)
+    {
+        //Static functions, don't need a handle, (gRR) ?
+        CHECK_EQUAL(rr::getVersionStr(VERSIONSTR_BASIC), "1.0.0");
+        CHECK_EQUAL(rr::getVersionStr(VERSIONSTR_LIBSBML), "LibSBML Version: 5.6.0");
+    }
+
+    TEST(AllocateRR)
+    {
+
+
+        if(!gRR)
+        {
+            gRR = new RoadRunner(gCompiler, gTempFolder, gSupportCodeFolder);
+        }
+
+        CHECK(gRR!=NULL);
+    }
+
+    TEST(AllocateDeAllocateRR)
+    {
+        int memoryBefore = 0;
+        int memoryAfter  = 10;
+        for(int i = 0; i < 1000; i++)
+        {
+            if(gRR)
+            {
+                delete gRR;
+                gRR = NULL;
+            }
+            gRR = new RoadRunner(gCompiler, gTempFolder, gSupportCodeFolder);
+        }
+
+        //To check this properly, we will need to measure memory before and after somehow..
+        CHECK_CLOSE(memoryBefore, memoryAfter, 10);
+    }
+
+    TEST(MODEL_FILES)    //Test that model files for the tests are present
+    {
+        //Populate models
+        gModels.clear();
+        gModels.push_back("feedback.xml");
+        gModels.push_back("ss_threeSpecies.xml");
+        gModels.push_back("ss_TurnOnConservationAnalysis.xml");
+        gModels.push_back("squareWaveModel.xml");
+        gModels.push_back("test_1.xml");
+
+        for(int i = 0 ; i < gModels.size(); i++)
+        {
+            CHECK(fileExists(joinPath(gSBMLModelsPath, gModels[i])));
+        }
+    }
+
+    TEST(LOAD_SBML)
+    {
+        for(int i = 0 ; i < gModels.size(); i++)
+        {
+            string model =  joinPath(gSBMLModelsPath, gModels[i]);
+            gRR->load(model);
+        }
+    }
+}
+
+
diff --git a/source/testing/tests/from_api_tester.cpp b/source/testing/tests/from_api_tester.cpp
new file mode 100644
index 0000000..ffd753b
--- /dev/null
+++ b/source/testing/tests/from_api_tester.cpp
@@ -0,0 +1,407 @@
+#include <iostream>
+#include <string>
+#include <vector>
+#include <fstream>
+#include <sstream>
+#include <stdio.h>
+#include "rrc_api.h"
+#include "rrc_support.h"
+//---------------------------------------------------------------------------
+
+using namespace std;
+using namespace rrc;;
+
+void printMatrix(char* msg1, RRMatrixHandle mat);
+int main(int argc, char* argv[])
+{
+	enableLogging();
+    setLogLevel("Debug3");
+
+	string modelsPath(".\\..\\Models");
+	if(argc > 1)
+	{
+		modelsPath = argv[1];
+	}
+
+	RRHandle rrHandle = NULL;
+    rrHandle =  getRRInstance();
+
+    if(!rrHandle)
+    {
+        cout<<"No handle...";
+    }
+
+	cout<<"API Version: "<<getVersion()<<endl;
+	cout<<"libSBML Version: "<<getlibSBMLVersion()<<endl;
+    setTempFolder("c:\\rrTemp");
+    enableLogging();
+
+	text = getLogFileName();
+    if(text)
+	{
+		cout<<"Log File Name: "<<text<<endl;
+		freeText(text);
+	}
+
+	text = getBuildDate();
+
+	if(text)
+	{
+		cout<<"Build date: "<<text<<endl;
+		freeText(text);
+	}
+
+//	   string fileName = modelsPath + "\\ss_TurnOnConservationAnalysis.xml";
+//	   string fileName = modelsPath + "\\ss_SimpleConservedCycle.xml";
+	 string fileName = modelsPath + "\\ss_threeSpecies.xml";
+//	 string fileName = modelsPath + "\\selectionListBug.xml";
+//	 string fileName = modelsPath + "\\boundary.xml";
+
+	ifstream ifs(fileName.c_str());
+	if(!ifs)
+	{
+		cerr<<"Failed opening file: "<<fileName;
+		return false;
+	}
+	cout << "\nRunning model: " << fileName << endl;
+	setComputeAndAssignConservationLaws(false);
+	std::string sbml((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());
+
+	if(!loadSBML(sbml.c_str()))
+	{
+		cerr<<"Failed loading SBML from file:"<<fileName<<endl;
+		cerr<<"Last error was: "<<getLastError()<<endl;
+		return -1;
+	}
+
+	RRListHandle sList = getAvailableTimeCourseSymbols();
+    cout<<"Symbols: "<<listToString(sList);
+
+    sList = getAvailableSteadyStateSymbols();
+    cout<<"\n\n Steady state symbols\n";
+    cout<<listToString(sList);
+    freeRRList(sList);
+
+    char* cFileName = getCSourceFileName();
+    if(cFileName)
+    {
+    	cout<<"\n C File Name: "<<cFileName<<"\n";
+    }
+
+    freeText(cFileName);
+
+    cout<<"Number of rules: "<<getNumberOfRules()<<"\n";
+	int r = getNumberOfReactions();
+	int m = getNumberOfFloatingSpecies();
+	int b = getNumberOfBoundarySpecies();
+	int p = getNumberOfGlobalParameters();
+	int c = getNumberOfCompartments();
+
+	printf ("Number of reactions = %d\n", r);
+	printf ("Number of floating species = %d\n", m);
+	printf ("Number of boundary species = %d\n\n", b);
+	printf ("Number of compartments = %d\n\n", c);
+
+	if (m > 0) {
+	   printf ("Compartment names:\n");
+	   printf ("------------------\n");
+	   cout<<stringArrayToString(getCompartmentIds())<<endl<<endl;
+	}
+
+	if (m > 0) {
+	   printf ("Floating species names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getFloatingSpeciesIds())<<endl<<endl;
+	}
+
+	if (m > 0) {
+	   printf ("Initial Floating species names:\n");
+	   printf ("-------------------------------\n");
+	   cout<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+	}
+
+	if (b > 0) {
+       printf ("\nBoundary species names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getBoundarySpeciesIds())<<endl;
+	}
+	printf ("\n");
+
+	if (p > 0) {
+       printf ("\nGlobal Parameter names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getGlobalParameterIds())<<endl;
+	}
+	printf ("\n");
+
+	if (r > 0) {
+       printf ("\nReaction names:\n");
+	   printf ("---------------\n");
+	   cout<<stringArrayToString(getReactionIds())<<endl;
+	}
+	printf ("\n");
+
+	if (m> 0) {
+       printf ("\nRates of change names:\n");
+	   printf ("----------------------\n");
+	   cout<<stringArrayToString(getRatesOfChangeIds())<<endl;
+	}
+	printf ("\n");
+
+
+	if (r > 0) {
+       printf ("\nUnscaled flux control coefficient names:\n");
+	   printf ("----------------------------------------\n");
+	   RRListHandle stringArray = getUnscaledFluxControlCoefficientIds();
+	   cout<<listToString(stringArray)<<endl;
+	}
+	printf ("\n");
+
+	if (m > 0) {
+       printf ("\nUnscaled concentration control coefficient names:\n");
+	   printf ("-------------------------------------------------\n");
+	   cout<<listToString(getUnscaledConcentrationControlCoefficientIds())<<endl;
+	}
+	printf ("\n");
+
+	double ssVal;
+    bool success = steadyState(ssVal);
+    if(!success)
+    {
+		cerr<<"Steady State call failed. Error was: "<<getLastError()<<endl;
+    }
+    else
+    {
+	    cout<<"Compute Steady State: sums of squares: "<<ssVal<<endl;
+    }
+
+	cout<<"Steady State selection List: "<<listToString(getSteadyStateSelectionList());
+	setSteadyStateSelectionList("S2 S1");
+	cout<<"\nSteady State selection List: "<<listToString(getSteadyStateSelectionList());
+
+    printMatrix("Stoichiometry Matrix", getStoichiometryMatrix());
+
+    cout<<"Number of independent species = "<<getNumberOfIndependentSpecies()<<endl;
+    cout<<"Number of dependent Species = "<<getNumberOfDependentSpecies()<<endl<<endl;
+
+    printMatrix("Link Matrix", getLinkMatrix());
+	printMatrix("Nr Matrix", getNrMatrix());
+	printMatrix("L0 Matrix", getL0Matrix());
+	printMatrix("Full Jacobian Matrix", getFullJacobian());
+	printMatrix("Reduced Jacobian Matrix:", getReducedJacobian());
+    printMatrix("Eigenvalue Matrix (real/imag)", getEigenValues());
+	printMatrix("Unscaled Elasticity Matrix:", getUnScaledElasticityMatrix());
+    printMatrix("Scaled Elasticity Matrix:", getScaledElasticityMatrix());
+	printMatrix("Unscaled Concentration Control Coefficients Matrix", getUnscaledConcentrationControlCoefficientMatrix());
+	printMatrix("Scaled Concentration Control Coefficients Matrix:", getScaledConcentrationControlCoefficientMatrix());
+	printMatrix("Unscaled Flux Control Coefficients Matrix", getUnscaledFluxControlCoefficientMatrix());
+	printMatrix("Scaled Flux Control Coefficients Matrix", getScaledFluxControlCoefficientMatrix());
+
+	double value;
+	printf ("Flux Control Coefficient, CC^(_J1)_k1\n");
+	getCC("_J1", "k1", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k2\n");
+	getCC("_J1", "k2", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k3\n");
+	getCC("_J1", "k3", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k4\n");
+	getCC("_J1", "k4", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J1)_S1\n");
+	getEE("_J1", "S1", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J2)_S1\n");
+	getEE("_J2", "S1", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J2)_S2\n");
+	getEE("_J2", "S2", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J3)_S2\n");
+	getEE("_J3", "S2", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("\n");
+	//printf ("Flux Control Coefficient, C^(_J1)_k1\n");
+	//double value;
+	//getCC("_J1", "k1", value);
+	//printf ("FCC = %f\n", value);
+
+	/*getGlobalParameterByIndex (0, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (1, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (2, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (3, value);
+	printf ("%f\n", value);*/
+
+	RRVector veca;
+	veca.Count = 3;
+	veca.Data = new double[3];
+   	veca.Data[0] = 1;
+	veca.Data[1] = 2;
+	veca.Data[2] = 3;
+
+    double aValue = 231.23;
+    bool bResult = setVectorElement(&veca, 0, aValue);
+    if(!bResult)
+    {
+    	cout<<"Problem";
+    }
+
+
+    cout<<"List of floating species: \n"<<stringArrayToString(getFloatingSpeciesIds())<<endl;
+
+	printf ("\nCall to getRatesOfChangeEx (S1=1, S2=2, S3=3):\n");
+	cout<<vectorToString (getRatesOfChangeEx(&veca))<<endl;
+
+//	printf ("\nCall to getReactionRatesEx (S1=1, S2=2, S3=3):\n");
+//	cout<<printVector (getReactionRatesEx (&veca))<<endl;
+//
+//	printf ("\nCall to getRatesOfChange (with S1=1, S2=2, S3=3):\n");
+//	cout<<printVector (getRatesOfChange())<<endl;
+
+    setTimeCourseSelectionList("S1 S2");
+//-------- The latest
+    cout<<vectorToString(getFloatingSpeciesConcentrations());
+    cout<<vectorToString(getGlobalParameterValues());
+    cout<<"\n\n Symbols\n";
+    RRList* symHandle = getAvailableTimeCourseSymbols();
+    cout<<listToString(symHandle);
+    freeRRList(symHandle);
+
+    symHandle = getAvailableSteadyStateSymbols();
+    cout<<"\n\n Steady state symbols\n";
+    cout<<listToString(symHandle);
+    freeRRList(symHandle);
+
+    cout<<"\n\n ================================\n";
+    RRVector* test = getReactionRates();
+    cout<<vectorToString(test);
+
+    setFloatingSpeciesByIndex(0,2);
+    setFloatingSpeciesByIndex(1,4);
+    setFloatingSpeciesByIndex(2,6);
+
+    test = getReactionRates();
+    cout<<vectorToString(test);
+
+    //Get value problem..
+    getValue("S1", value);
+    cout<<value<<endl;
+    getValue("S2", value);
+    cout<<value<<endl;
+    getValue("S3", value);
+    cout<<value<<endl;
+
+    getRatesOfChange();
+
+    getValue("S1", value);
+    cout<<value<<endl;
+    getValue("S2", value);
+    cout<<value<<endl;
+    getValue("S3", value);
+    cout<<value<<endl;
+
+	//cout<<getBoundarySpeciesByIndex (0)<<endl;
+    //getGlobalParameterByIndex(0, value);
+
+    //cout<<value<<endl;
+    //getGlobalParameterByIndex(2, value);
+    //cout<<value<<endl;
+
+    //cout<<getParamPromotedSBML(sbml.c_str());
+
+    //cout<<getSBML()<<endl;
+
+    //cout<<printMatrix(getScaledElasticityMatrix());     //How to free, when doing something like this??
+    //cout<<printStringList(getEigenValueNames());
+
+    cout<<"\n FluxControlCoeff ------\n"<<listToString(getFluxControlCoefficientIds())<<endl;
+
+    cout<<"\n Unscaled FluxControlCoeff ------\n"<<listToString(getUnscaledFluxControlCoefficientIds())<<endl;
+    RRList* list =getConcentrationControlCoefficientIds();
+    cout<<listToString(list)<<endl;
+    //freeList(list);
+
+
+    //cout<<printStringList(getElasticityNames())<<endl;
+
+//    setBoundarySpeciesByIndex(0,34);
+    cout<<"Nr of Compartments: "<<getNumberOfCompartments()<<endl;
+    setCompartmentByIndex(0,456);
+    if(getCompartmentByIndex(0, value))
+    {
+        cout<<"Compartment Volume: "<<value<<endl;
+    }
+    else
+    {
+        cout<<getLastError()<<endl;
+    }
+    cout<<stringArrayToString(getCompartmentIds())<<endl;
+
+    getRateOfChange(0, value);
+    cout<<"Rate of change:"<<value<<endl;
+
+	
+    //cout<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+
+
+    cout<<" ---- getElasticityCoefficientNames ---\n"<<listToString(getElasticityCoefficientIds())<<endl;
+//    cout<<stringArrayToString(getRateOfChangeIds())<<endl;
+    setCapabilities (NULL);
+    cout<<getCapabilities()<<endl;
+
+//    C_DECL_SPEC bool                    rrCallConv   getScaledFloatingSpeciesElasticity(const char* reactionName, const char* speciesName, double& value);
+    if(getScaledFloatingSpeciesElasticity("_J1", "S1", value))
+    {
+        cout<<"ScaledFloatingSpeciesElasticity "<<value<<endl;
+    }
+    else
+    {
+        cout<<getLastError()<<endl;
+    }
+
+    cout<<"getFloatingSpeciesInitialConditionNames: "<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+
+
+    cout<<getCurrentSBML();
+	///////////////////
+    text = getCopyright();
+    if(hasError())
+    {
+        char* error = getLastError();
+        cout<<error<<endl;
+    }
+
+    cout<<text<<endl;
+    freeText(text);
+    freeRRInstance(rrHandle);
+    return 0;
+}
+
+void printMatrix(char* msg1, RRMatrixHandle mat)
+{
+	cout<<msg1<<"\n";
+	cout<<("------------\n\n");
+    char *text = matrixToString(mat);
+    if(text)
+    {
+		cout<<text<<"\n\n";
+        freeText(text);
+    }
+    else
+    {
+    	cout<<"NULL\n\n";
+    }
+}
diff --git a/source/testing/tests/sbml_test_suite.cpp b/source/testing/tests/sbml_test_suite.cpp
new file mode 100644
index 0000000..db175c7
--- /dev/null
+++ b/source/testing/tests/sbml_test_suite.cpp
@@ -0,0 +1,1108 @@
+#include "unit_test/UnitTest++.h"
+#include "rrLogger.h"
+#include "rrRoadRunner.h"
+#include "rrException.h"
+#include "rrUtils.h"
+#include "rrTestSuiteModelSimulation.h"
+using namespace UnitTest;
+using namespace rr;
+using namespace std;
+
+extern string             gSBMLModelsPath;
+extern string             gCompiler;
+extern string             gSupportCodeFolder;
+extern string             gTempFolder;
+extern string             gTSModelsPath;
+//extern string             gDataOutputFolder;
+
+bool RunTest(const string& version, int number);
+SUITE(SBML_l2v4)
+{
+TEST(1) { CHECK(RunTest("l2v4", 1)); }
+TEST(2) { CHECK(RunTest("l2v4", 2)); }
+TEST(3) { CHECK(RunTest("l2v4", 3)); }
+TEST(4) { CHECK(RunTest("l2v4", 4)); }
+TEST(5) { CHECK(RunTest("l2v4", 5)); }
+TEST(6) { CHECK(RunTest("l2v4", 6)); }
+TEST(7) { CHECK(RunTest("l2v4", 7)); }
+TEST(8) { CHECK(RunTest("l2v4", 8)); }
+TEST(9) { CHECK(RunTest("l2v4", 9)); }
+TEST(10) { CHECK(RunTest("l2v4", 10)); }
+TEST(11) { CHECK(RunTest("l2v4", 11)); }
+TEST(12) { CHECK(RunTest("l2v4", 12)); }
+TEST(13) { CHECK(RunTest("l2v4", 13)); }
+TEST(14) { CHECK(RunTest("l2v4", 14)); }
+TEST(15) { CHECK(RunTest("l2v4", 15)); }
+TEST(16) { CHECK(RunTest("l2v4", 16)); }
+TEST(17) { CHECK(RunTest("l2v4", 17)); }
+TEST(18) { CHECK(RunTest("l2v4", 18)); }
+TEST(19) { CHECK(RunTest("l2v4", 19)); }
+TEST(20) { CHECK(RunTest("l2v4", 20)); }
+TEST(21) { CHECK(RunTest("l2v4", 21)); }
+TEST(22) { CHECK(RunTest("l2v4", 22)); }
+TEST(23) { CHECK(RunTest("l2v4", 23)); }
+TEST(24) { CHECK(RunTest("l2v4", 24)); }
+TEST(25) { CHECK(RunTest("l2v4", 25)); }
+TEST(26) { CHECK(RunTest("l2v4", 26)); }
+TEST(27) { CHECK(RunTest("l2v4", 27)); }
+TEST(28) { CHECK(RunTest("l2v4", 28)); }
+TEST(29) { CHECK(RunTest("l2v4", 29)); }
+TEST(30) { CHECK(RunTest("l2v4", 30)); }
+TEST(31) { CHECK(RunTest("l2v4", 31)); }
+TEST(32) { CHECK(RunTest("l2v4", 32)); }
+TEST(33) { CHECK(RunTest("l2v4", 33)); }
+TEST(34) { CHECK(RunTest("l2v4", 34)); }
+TEST(35) { CHECK(RunTest("l2v4", 35)); }
+TEST(36) { CHECK(RunTest("l2v4", 36)); }
+TEST(37) { CHECK(RunTest("l2v4", 37)); }
+TEST(38) { CHECK(RunTest("l2v4", 38)); }
+//TEST(39) { CHECK(RunTest("l2v4", 39)); }
+//TEST(40) { CHECK(RunTest("l2v4", 40)); }
+TEST(41) { CHECK(RunTest("l2v4", 41)); }
+TEST(42) { CHECK(RunTest("l2v4", 42)); }
+TEST(43) { CHECK(RunTest("l2v4", 43)); }
+TEST(44) { CHECK(RunTest("l2v4", 44)); }
+TEST(45) { CHECK(RunTest("l2v4", 45)); }
+TEST(46) { CHECK(RunTest("l2v4", 46)); }
+TEST(47) { CHECK(RunTest("l2v4", 47)); }
+TEST(48) { CHECK(RunTest("l2v4", 48)); }
+TEST(49) { CHECK(RunTest("l2v4", 49)); }
+TEST(50) { CHECK(RunTest("l2v4", 50)); }
+TEST(51) { CHECK(RunTest("l2v4", 51)); }
+TEST(52) { CHECK(RunTest("l2v4", 52)); }
+TEST(53) { CHECK(RunTest("l2v4", 53)); }
+TEST(54) { CHECK(RunTest("l2v4", 54)); }
+TEST(55) { CHECK(RunTest("l2v4", 55)); }
+TEST(56) { CHECK(RunTest("l2v4", 56)); }
+TEST(57) { CHECK(RunTest("l2v4", 57)); }
+TEST(58) { CHECK(RunTest("l2v4", 58)); }
+TEST(59) { CHECK(RunTest("l2v4", 59)); }
+TEST(60) { CHECK(RunTest("l2v4", 60)); }
+TEST(61) { CHECK(RunTest("l2v4", 61)); }
+TEST(62) { CHECK(RunTest("l2v4", 62)); }
+TEST(63) { CHECK(RunTest("l2v4", 63)); }
+TEST(64) { CHECK(RunTest("l2v4", 64)); }
+TEST(65) { CHECK(RunTest("l2v4", 65)); }
+TEST(66) { CHECK(RunTest("l2v4", 66)); }
+TEST(67) { CHECK(RunTest("l2v4", 67)); }
+TEST(68) { CHECK(RunTest("l2v4", 68)); }
+TEST(69) { CHECK(RunTest("l2v4", 69)); }
+TEST(70) { CHECK(RunTest("l2v4", 70)); }
+TEST(71) { CHECK(RunTest("l2v4", 71)); }
+TEST(72) { CHECK(RunTest("l2v4", 72)); }
+TEST(73) { CHECK(RunTest("l2v4", 73)); }
+TEST(74) { CHECK(RunTest("l2v4", 74)); }
+TEST(75) { CHECK(RunTest("l2v4", 75)); }
+TEST(76) { CHECK(RunTest("l2v4", 76)); }
+TEST(77) { CHECK(RunTest("l2v4", 77)); }
+TEST(78) { CHECK(RunTest("l2v4", 78)); }
+TEST(79) { CHECK(RunTest("l2v4", 79)); }
+TEST(80) { CHECK(RunTest("l2v4", 80)); }
+TEST(81) { CHECK(RunTest("l2v4", 81)); }
+TEST(82) { CHECK(RunTest("l2v4", 82)); }
+TEST(83) { CHECK(RunTest("l2v4", 83)); }
+TEST(84) { CHECK(RunTest("l2v4", 84)); }
+TEST(85) { CHECK(RunTest("l2v4", 85)); }
+TEST(86) { CHECK(RunTest("l2v4", 86)); }
+TEST(87) { CHECK(RunTest("l2v4", 87)); }
+TEST(88) { CHECK(RunTest("l2v4", 88)); }
+TEST(89) { CHECK(RunTest("l2v4", 89)); }
+TEST(90) { CHECK(RunTest("l2v4", 90)); }
+TEST(91) { CHECK(RunTest("l2v4", 91)); }
+TEST(92) { CHECK(RunTest("l2v4", 92)); }
+TEST(93) { CHECK(RunTest("l2v4", 93)); }
+TEST(94) { CHECK(RunTest("l2v4", 94)); }
+TEST(95) { CHECK(RunTest("l2v4", 95)); }
+TEST(96) { CHECK(RunTest("l2v4", 96)); }
+TEST(97) { CHECK(RunTest("l2v4", 97)); }
+TEST(98) { CHECK(RunTest("l2v4", 98)); }
+TEST(99) { CHECK(RunTest("l2v4", 99)); }
+TEST(100) { CHECK(RunTest("l2v4", 100)); }
+TEST(101) { CHECK(RunTest("l2v4", 101)); }
+TEST(102) { CHECK(RunTest("l2v4", 102)); }
+TEST(103) { CHECK(RunTest("l2v4", 103)); }
+TEST(104) { CHECK(RunTest("l2v4", 104)); }
+TEST(105) { CHECK(RunTest("l2v4", 105)); }
+TEST(106) { CHECK(RunTest("l2v4", 106)); }
+TEST(107) { CHECK(RunTest("l2v4", 107)); }
+TEST(108) { CHECK(RunTest("l2v4", 108)); }
+TEST(109) { CHECK(RunTest("l2v4", 109)); }
+TEST(110) { CHECK(RunTest("l2v4", 110)); }
+TEST(111) { CHECK(RunTest("l2v4", 111)); }
+TEST(112) { CHECK(RunTest("l2v4", 112)); }
+TEST(113) { CHECK(RunTest("l2v4", 113)); }
+TEST(114) { CHECK(RunTest("l2v4", 114)); }
+TEST(115) { CHECK(RunTest("l2v4", 115)); }
+TEST(116) { CHECK(RunTest("l2v4", 116)); }
+TEST(117) { CHECK(RunTest("l2v4", 117)); }
+TEST(118) { CHECK(RunTest("l2v4", 118)); }
+TEST(119) { CHECK(RunTest("l2v4", 119)); }
+TEST(120) { CHECK(RunTest("l2v4", 120)); }
+TEST(121) { CHECK(RunTest("l2v4", 121)); }
+TEST(122) { CHECK(RunTest("l2v4", 122)); }
+TEST(123) { CHECK(RunTest("l2v4", 123)); }
+TEST(124) { CHECK(RunTest("l2v4", 124)); }
+TEST(125) { CHECK(RunTest("l2v4", 125)); }
+TEST(126) { CHECK(RunTest("l2v4", 126)); }
+TEST(127) { CHECK(RunTest("l2v4", 127)); }
+TEST(128) { CHECK(RunTest("l2v4", 128)); }
+TEST(129) { CHECK(RunTest("l2v4", 129)); }
+TEST(130) { CHECK(RunTest("l2v4", 130)); }
+TEST(131) { CHECK(RunTest("l2v4", 131)); }
+TEST(132) { CHECK(RunTest("l2v4", 132)); }
+TEST(133) { CHECK(RunTest("l2v4", 133)); }
+TEST(134) { CHECK(RunTest("l2v4", 134)); }
+TEST(135) { CHECK(RunTest("l2v4", 135)); }
+TEST(136) { CHECK(RunTest("l2v4", 136)); }
+TEST(137) { CHECK(RunTest("l2v4", 137)); }
+TEST(138) { CHECK(RunTest("l2v4", 138)); }
+TEST(139) { CHECK(RunTest("l2v4", 139)); }
+TEST(140) { CHECK(RunTest("l2v4", 140)); }
+TEST(141) { CHECK(RunTest("l2v4", 141)); }
+TEST(142) { CHECK(RunTest("l2v4", 142)); }
+TEST(143) { CHECK(RunTest("l2v4", 143)); }
+TEST(144) { CHECK(RunTest("l2v4", 144)); }
+TEST(145) { CHECK(RunTest("l2v4", 145)); }
+TEST(146) { CHECK(RunTest("l2v4", 146)); }
+TEST(147) { CHECK(RunTest("l2v4", 147)); }
+TEST(148) { CHECK(RunTest("l2v4", 148)); }
+TEST(149) { CHECK(RunTest("l2v4", 149)); }
+TEST(150) { CHECK(RunTest("l2v4", 150)); }
+TEST(151) { CHECK(RunTest("l2v4", 151)); }
+TEST(152) { CHECK(RunTest("l2v4", 152)); }
+TEST(153) { CHECK(RunTest("l2v4", 153)); }
+TEST(154) { CHECK(RunTest("l2v4", 154)); }
+TEST(155) { CHECK(RunTest("l2v4", 155)); }
+TEST(156) { CHECK(RunTest("l2v4", 156)); }
+TEST(157) { CHECK(RunTest("l2v4", 157)); }
+TEST(158) { CHECK(RunTest("l2v4", 158)); }
+TEST(159) { CHECK(RunTest("l2v4", 159)); }
+TEST(160) { CHECK(RunTest("l2v4", 160)); }
+TEST(161) { CHECK(RunTest("l2v4", 161)); }
+TEST(162) { CHECK(RunTest("l2v4", 162)); }
+TEST(163) { CHECK(RunTest("l2v4", 163)); }
+TEST(164) { CHECK(RunTest("l2v4", 164)); }
+TEST(165) { CHECK(RunTest("l2v4", 165)); }
+TEST(166) { CHECK(RunTest("l2v4", 166)); }
+TEST(167) { CHECK(RunTest("l2v4", 167)); }
+TEST(168) { CHECK(RunTest("l2v4", 168)); }
+TEST(169) { CHECK(RunTest("l2v4", 169)); }
+TEST(170) { CHECK(RunTest("l2v4", 170)); }
+TEST(171) { CHECK(RunTest("l2v4", 171)); }
+TEST(172) { CHECK(RunTest("l2v4", 172)); }
+TEST(173) { CHECK(RunTest("l2v4", 173)); }
+TEST(174) { CHECK(RunTest("l2v4", 174)); }
+TEST(175) { CHECK(RunTest("l2v4", 175)); }
+TEST(176) { CHECK(RunTest("l2v4", 176)); }
+TEST(177) { CHECK(RunTest("l2v4", 177)); }
+TEST(178) { CHECK(RunTest("l2v4", 178)); }
+TEST(179) { CHECK(RunTest("l2v4", 179)); }
+TEST(180) { CHECK(RunTest("l2v4", 180)); }
+TEST(181) { CHECK(RunTest("l2v4", 181)); }
+//TEST(182) { CHECK(RunTest("l2v4", 182)); }
+TEST(183) { CHECK(RunTest("l2v4", 183)); }
+//TEST(184) { CHECK(RunTest("l2v4", 184)); }
+TEST(185) { CHECK(RunTest("l2v4", 185)); }
+TEST(186) { CHECK(RunTest("l2v4", 186)); }
+TEST(187) { CHECK(RunTest("l2v4", 187)); }
+TEST(188) { CHECK(RunTest("l2v4", 188)); }
+TEST(189) { CHECK(RunTest("l2v4", 189)); }
+TEST(190) { CHECK(RunTest("l2v4", 190)); }
+TEST(191) { CHECK(RunTest("l2v4", 191)); }
+TEST(192) { CHECK(RunTest("l2v4", 192)); }
+TEST(193) { CHECK(RunTest("l2v4", 193)); }
+TEST(194) { CHECK(RunTest("l2v4", 194)); }
+TEST(195) { CHECK(RunTest("l2v4", 195)); }
+TEST(196) { CHECK(RunTest("l2v4", 196)); }
+TEST(197) { CHECK(RunTest("l2v4", 197)); }
+TEST(198) { CHECK(RunTest("l2v4", 198)); }
+TEST(199) { CHECK(RunTest("l2v4", 199)); }
+TEST(200) { CHECK(RunTest("l2v4", 200)); }
+TEST(201) { CHECK(RunTest("l2v4", 201)); }
+TEST(202) { CHECK(RunTest("l2v4", 202)); }
+TEST(203) { CHECK(RunTest("l2v4", 203)); }
+TEST(204) { CHECK(RunTest("l2v4", 204)); }
+TEST(205) { CHECK(RunTest("l2v4", 205)); }
+TEST(206) { CHECK(RunTest("l2v4", 206)); }
+TEST(207) { CHECK(RunTest("l2v4", 207)); }
+TEST(208) { CHECK(RunTest("l2v4", 208)); }
+TEST(209) { CHECK(RunTest("l2v4", 209)); }
+TEST(210) { CHECK(RunTest("l2v4", 210)); }
+TEST(211) { CHECK(RunTest("l2v4", 211)); }
+TEST(212) { CHECK(RunTest("l2v4", 212)); }
+TEST(213) { CHECK(RunTest("l2v4", 213)); }
+TEST(214) { CHECK(RunTest("l2v4", 214)); }
+TEST(215) { CHECK(RunTest("l2v4", 215)); }
+TEST(216) { CHECK(RunTest("l2v4", 216)); }
+TEST(217) { CHECK(RunTest("l2v4", 217)); }
+TEST(218) { CHECK(RunTest("l2v4", 218)); }
+TEST(219) { CHECK(RunTest("l2v4", 219)); }
+TEST(220) { CHECK(RunTest("l2v4", 220)); }
+TEST(221) { CHECK(RunTest("l2v4", 221)); }
+TEST(222) { CHECK(RunTest("l2v4", 222)); }
+TEST(223) { CHECK(RunTest("l2v4", 223)); }
+TEST(224) { CHECK(RunTest("l2v4", 224)); }
+TEST(225) { CHECK(RunTest("l2v4", 225)); }
+TEST(226) { CHECK(RunTest("l2v4", 226)); }
+TEST(227) { CHECK(RunTest("l2v4", 227)); }
+TEST(228) { CHECK(RunTest("l2v4", 228)); }
+TEST(229) { CHECK(RunTest("l2v4", 229)); }
+TEST(230) { CHECK(RunTest("l2v4", 230)); }
+TEST(231) { CHECK(RunTest("l2v4", 231)); }
+TEST(232) { CHECK(RunTest("l2v4", 232)); }
+TEST(233) { CHECK(RunTest("l2v4", 233)); }
+TEST(234) { CHECK(RunTest("l2v4", 234)); }
+TEST(235) { CHECK(RunTest("l2v4", 235)); }
+TEST(236) { CHECK(RunTest("l2v4", 236)); }
+TEST(237) { CHECK(RunTest("l2v4", 237)); }
+TEST(238) { CHECK(RunTest("l2v4", 238)); }
+TEST(239) { CHECK(RunTest("l2v4", 239)); }
+TEST(240) { CHECK(RunTest("l2v4", 240)); }
+TEST(241) { CHECK(RunTest("l2v4", 241)); }
+TEST(242) { CHECK(RunTest("l2v4", 242)); }
+TEST(243) { CHECK(RunTest("l2v4", 243)); }
+TEST(244) { CHECK(RunTest("l2v4", 244)); }
+TEST(245) { CHECK(RunTest("l2v4", 245)); }
+TEST(246) { CHECK(RunTest("l2v4", 246)); }
+TEST(247) { CHECK(RunTest("l2v4", 247)); }
+TEST(248) { CHECK(RunTest("l2v4", 248)); }
+TEST(249) { CHECK(RunTest("l2v4", 249)); }
+TEST(250) { CHECK(RunTest("l2v4", 250)); }
+TEST(251) { CHECK(RunTest("l2v4", 251)); }
+TEST(252) { CHECK(RunTest("l2v4", 252)); }
+TEST(253) { CHECK(RunTest("l2v4", 253)); }
+TEST(254) { CHECK(RunTest("l2v4", 254)); }
+TEST(255) { CHECK(RunTest("l2v4", 255)); }
+TEST(256) { CHECK(RunTest("l2v4", 256)); }
+TEST(257) { CHECK(RunTest("l2v4", 257)); }
+TEST(258) { CHECK(RunTest("l2v4", 258)); }
+TEST(259) { CHECK(RunTest("l2v4", 259)); }
+TEST(260) { CHECK(RunTest("l2v4", 260)); }
+TEST(261) { CHECK(RunTest("l2v4", 261)); }
+TEST(262) { CHECK(RunTest("l2v4", 262)); }
+TEST(263) { CHECK(RunTest("l2v4", 263)); }
+TEST(264) { CHECK(RunTest("l2v4", 264)); }
+TEST(265) { CHECK(RunTest("l2v4", 265)); }
+TEST(266) { CHECK(RunTest("l2v4", 266)); }
+TEST(267) { CHECK(RunTest("l2v4", 267)); }
+TEST(268) { CHECK(RunTest("l2v4", 268)); }
+TEST(269) { CHECK(RunTest("l2v4", 269)); }
+TEST(270) { CHECK(RunTest("l2v4", 270)); }
+TEST(271) { CHECK(RunTest("l2v4", 271)); }
+TEST(272) { CHECK(RunTest("l2v4", 272)); }
+TEST(273) { CHECK(RunTest("l2v4", 273)); }
+TEST(274) { CHECK(RunTest("l2v4", 274)); }
+TEST(275) { CHECK(RunTest("l2v4", 275)); }
+TEST(276) { CHECK(RunTest("l2v4", 276)); }
+TEST(277) { CHECK(RunTest("l2v4", 277)); }
+TEST(278) { CHECK(RunTest("l2v4", 278)); }
+TEST(279) { CHECK(RunTest("l2v4", 279)); }
+TEST(280) { CHECK(RunTest("l2v4", 280)); }
+TEST(281) { CHECK(RunTest("l2v4", 281)); }
+TEST(282) { CHECK(RunTest("l2v4", 282)); }
+TEST(283) { CHECK(RunTest("l2v4", 283)); }
+TEST(284) { CHECK(RunTest("l2v4", 284)); }
+TEST(285) { CHECK(RunTest("l2v4", 285)); }
+TEST(286) { CHECK(RunTest("l2v4", 286)); }
+TEST(287) { CHECK(RunTest("l2v4", 287)); }
+TEST(288) { CHECK(RunTest("l2v4", 288)); }
+TEST(289) { CHECK(RunTest("l2v4", 289)); }
+TEST(290) { CHECK(RunTest("l2v4", 290)); }
+TEST(291) { CHECK(RunTest("l2v4", 291)); }
+TEST(292) { CHECK(RunTest("l2v4", 292)); }
+TEST(293) { CHECK(RunTest("l2v4", 293)); }
+TEST(294) { CHECK(RunTest("l2v4", 294)); }
+TEST(295) { CHECK(RunTest("l2v4", 295)); }
+TEST(296) { CHECK(RunTest("l2v4", 296)); }
+TEST(297) { CHECK(RunTest("l2v4", 297)); }
+TEST(298) { CHECK(RunTest("l2v4", 298)); }
+TEST(299) { CHECK(RunTest("l2v4", 299)); }
+TEST(300) { CHECK(RunTest("l2v4", 300)); }
+TEST(301) { CHECK(RunTest("l2v4", 301)); }
+TEST(302) { CHECK(RunTest("l2v4", 302)); }
+TEST(303) { CHECK(RunTest("l2v4", 303)); }
+TEST(304) { CHECK(RunTest("l2v4", 304)); }
+TEST(305) { CHECK(RunTest("l2v4", 305)); }
+TEST(306) { CHECK(RunTest("l2v4", 306)); }
+TEST(307) { CHECK(RunTest("l2v4", 307)); }
+TEST(308) { CHECK(RunTest("l2v4", 308)); }
+TEST(309) { CHECK(RunTest("l2v4", 309)); }
+TEST(310) { CHECK(RunTest("l2v4", 310)); }
+TEST(311) { CHECK(RunTest("l2v4", 311)); }
+TEST(312) { CHECK(RunTest("l2v4", 312)); }
+TEST(313) { CHECK(RunTest("l2v4", 313)); }
+TEST(314) { CHECK(RunTest("l2v4", 314)); }
+TEST(315) { CHECK(RunTest("l2v4", 315)); }
+TEST(316) { CHECK(RunTest("l2v4", 316)); }
+TEST(317) { CHECK(RunTest("l2v4", 317)); }
+TEST(318) { CHECK(RunTest("l2v4", 318)); }
+TEST(319) { CHECK(RunTest("l2v4", 319)); }
+TEST(320) { CHECK(RunTest("l2v4", 320)); }
+TEST(321) { CHECK(RunTest("l2v4", 321)); }
+TEST(322) { CHECK(RunTest("l2v4", 322)); }
+TEST(323) { CHECK(RunTest("l2v4", 323)); }
+TEST(324) { CHECK(RunTest("l2v4", 324)); }
+TEST(325) { CHECK(RunTest("l2v4", 325)); }
+TEST(326) { CHECK(RunTest("l2v4", 326)); }
+TEST(327) { CHECK(RunTest("l2v4", 327)); }
+TEST(328) { CHECK(RunTest("l2v4", 328)); }
+TEST(329) { CHECK(RunTest("l2v4", 329)); }
+TEST(330) { CHECK(RunTest("l2v4", 330)); }
+TEST(331) { CHECK(RunTest("l2v4", 331)); }
+TEST(332) { CHECK(RunTest("l2v4", 332)); }
+TEST(333) { CHECK(RunTest("l2v4", 333)); }
+TEST(334) { CHECK(RunTest("l2v4", 334)); }
+TEST(335) { CHECK(RunTest("l2v4", 335)); }
+TEST(336) { CHECK(RunTest("l2v4", 336)); }
+TEST(337) { CHECK(RunTest("l2v4", 337)); }
+TEST(338) { CHECK(RunTest("l2v4", 338)); }
+TEST(339) { CHECK(RunTest("l2v4", 339)); }
+TEST(340) { CHECK(RunTest("l2v4", 340)); }
+TEST(341) { CHECK(RunTest("l2v4", 341)); }
+TEST(342) { CHECK(RunTest("l2v4", 342)); }
+TEST(343) { CHECK(RunTest("l2v4", 343)); }
+TEST(344) { CHECK(RunTest("l2v4", 344)); }
+TEST(345) { CHECK(RunTest("l2v4", 345)); }
+TEST(346) { CHECK(RunTest("l2v4", 346)); }
+TEST(347) { CHECK(RunTest("l2v4", 347)); }
+TEST(348) { CHECK(RunTest("l2v4", 348)); }
+TEST(349) { CHECK(RunTest("l2v4", 349)); }
+TEST(350) { CHECK(RunTest("l2v4", 350)); }
+TEST(351) { CHECK(RunTest("l2v4", 351)); }
+TEST(352) { CHECK(RunTest("l2v4", 352)); }
+TEST(353) { CHECK(RunTest("l2v4", 353)); }
+TEST(354) { CHECK(RunTest("l2v4", 354)); }
+TEST(355) { CHECK(RunTest("l2v4", 355)); }
+TEST(356) { CHECK(RunTest("l2v4", 356)); }
+TEST(357) { CHECK(RunTest("l2v4", 357)); }
+TEST(358) { CHECK(RunTest("l2v4", 358)); }
+TEST(359) { CHECK(RunTest("l2v4", 359)); }
+TEST(360) { CHECK(RunTest("l2v4", 360)); }
+TEST(361) { CHECK(RunTest("l2v4", 361)); }
+TEST(362) { CHECK(RunTest("l2v4", 362)); }
+TEST(363) { CHECK(RunTest("l2v4", 363)); }
+TEST(364) { CHECK(RunTest("l2v4", 364)); }
+TEST(365) { CHECK(RunTest("l2v4", 365)); }
+TEST(366) { CHECK(RunTest("l2v4", 366)); }
+TEST(367) { CHECK(RunTest("l2v4", 367)); }
+TEST(368) { CHECK(RunTest("l2v4", 368)); }
+TEST(369) { CHECK(RunTest("l2v4", 369)); }
+TEST(370) { CHECK(RunTest("l2v4", 370)); }
+TEST(371) { CHECK(RunTest("l2v4", 371)); }
+TEST(372) { CHECK(RunTest("l2v4", 372)); }
+TEST(373) { CHECK(RunTest("l2v4", 373)); }
+TEST(374) { CHECK(RunTest("l2v4", 374)); }
+TEST(375) { CHECK(RunTest("l2v4", 375)); }
+TEST(376) { CHECK(RunTest("l2v4", 376)); }
+TEST(377) { CHECK(RunTest("l2v4", 377)); }
+TEST(378) { CHECK(RunTest("l2v4", 378)); }
+TEST(379) { CHECK(RunTest("l2v4", 379)); }
+TEST(380) { CHECK(RunTest("l2v4", 380)); }
+TEST(381) { CHECK(RunTest("l2v4", 381)); }
+TEST(382) { CHECK(RunTest("l2v4", 382)); }
+TEST(383) { CHECK(RunTest("l2v4", 383)); }
+TEST(384) { CHECK(RunTest("l2v4", 384)); }
+TEST(385) { CHECK(RunTest("l2v4", 385)); }
+TEST(386) { CHECK(RunTest("l2v4", 386)); }
+TEST(387) { CHECK(RunTest("l2v4", 387)); }
+TEST(388) { CHECK(RunTest("l2v4", 388)); }
+TEST(389) { CHECK(RunTest("l2v4", 389)); }
+TEST(390) { CHECK(RunTest("l2v4", 390)); }
+TEST(391) { CHECK(RunTest("l2v4", 391)); }
+TEST(392) { CHECK(RunTest("l2v4", 392)); }
+TEST(393) { CHECK(RunTest("l2v4", 393)); }
+TEST(394) { CHECK(RunTest("l2v4", 394)); }
+TEST(395) { CHECK(RunTest("l2v4", 395)); }
+TEST(396) { CHECK(RunTest("l2v4", 396)); }
+TEST(397) { CHECK(RunTest("l2v4", 397)); }
+TEST(398) { CHECK(RunTest("l2v4", 398)); }
+TEST(399) { CHECK(RunTest("l2v4", 399)); }
+TEST(400) { CHECK(RunTest("l2v4", 400)); }
+TEST(401) { CHECK(RunTest("l2v4", 401)); }
+TEST(402) { CHECK(RunTest("l2v4", 402)); }
+TEST(403) { CHECK(RunTest("l2v4", 403)); }
+TEST(404) { CHECK(RunTest("l2v4", 404)); }
+TEST(405) { CHECK(RunTest("l2v4", 405)); }
+TEST(406) { CHECK(RunTest("l2v4", 406)); }
+TEST(407) { CHECK(RunTest("l2v4", 407)); }
+TEST(408) { CHECK(RunTest("l2v4", 408)); }
+TEST(409) { CHECK(RunTest("l2v4", 409)); }
+TEST(410) { CHECK(RunTest("l2v4", 410)); }
+TEST(411) { CHECK(RunTest("l2v4", 411)); }
+TEST(412) { CHECK(RunTest("l2v4", 412)); }
+TEST(413) { CHECK(RunTest("l2v4", 413)); }
+TEST(414) { CHECK(RunTest("l2v4", 414)); }
+TEST(415) { CHECK(RunTest("l2v4", 415)); }
+TEST(416) { CHECK(RunTest("l2v4", 416)); }
+TEST(417) { CHECK(RunTest("l2v4", 417)); }
+TEST(418) { CHECK(RunTest("l2v4", 418)); }
+TEST(419) { CHECK(RunTest("l2v4", 419)); }
+TEST(420) { CHECK(RunTest("l2v4", 420)); }
+TEST(421) { CHECK(RunTest("l2v4", 421)); }
+TEST(422) { CHECK(RunTest("l2v4", 422)); }
+TEST(423) { CHECK(RunTest("l2v4", 423)); }
+TEST(424) { CHECK(RunTest("l2v4", 424)); }
+TEST(425) { CHECK(RunTest("l2v4", 425)); }
+TEST(426) { CHECK(RunTest("l2v4", 426)); }
+TEST(427) { CHECK(RunTest("l2v4", 427)); }
+TEST(428) { CHECK(RunTest("l2v4", 428)); }
+TEST(429) { CHECK(RunTest("l2v4", 429)); }
+TEST(430) { CHECK(RunTest("l2v4", 430)); }
+TEST(431) { CHECK(RunTest("l2v4", 431)); }
+TEST(432) { CHECK(RunTest("l2v4", 432)); }
+TEST(433) { CHECK(RunTest("l2v4", 433)); }
+TEST(434) { CHECK(RunTest("l2v4", 434)); }
+TEST(435) { CHECK(RunTest("l2v4", 435)); }
+TEST(436) { CHECK(RunTest("l2v4", 436)); }
+TEST(437) { CHECK(RunTest("l2v4", 437)); }
+TEST(438) { CHECK(RunTest("l2v4", 438)); }
+TEST(439) { CHECK(RunTest("l2v4", 439)); }
+TEST(440) { CHECK(RunTest("l2v4", 440)); }
+TEST(441) { CHECK(RunTest("l2v4", 441)); }
+TEST(442) { CHECK(RunTest("l2v4", 442)); }
+TEST(443) { CHECK(RunTest("l2v4", 443)); }
+TEST(444) { CHECK(RunTest("l2v4", 444)); }
+TEST(445) { CHECK(RunTest("l2v4", 445)); }
+TEST(446) { CHECK(RunTest("l2v4", 446)); }
+TEST(447) { CHECK(RunTest("l2v4", 447)); }
+TEST(448) { CHECK(RunTest("l2v4", 448)); }
+TEST(449) { CHECK(RunTest("l2v4", 449)); }
+TEST(450) { CHECK(RunTest("l2v4", 450)); }
+TEST(451) { CHECK(RunTest("l2v4", 451)); }
+TEST(452) { CHECK(RunTest("l2v4", 452)); }
+TEST(453) { CHECK(RunTest("l2v4", 453)); }
+TEST(454) { CHECK(RunTest("l2v4", 454)); }
+TEST(455) { CHECK(RunTest("l2v4", 455)); }
+TEST(456) { CHECK(RunTest("l2v4", 456)); }
+TEST(457) { CHECK(RunTest("l2v4", 457)); }
+TEST(458) { CHECK(RunTest("l2v4", 458)); }
+TEST(459) { CHECK(RunTest("l2v4", 459)); }
+TEST(460) { CHECK(RunTest("l2v4", 460)); }
+TEST(461) { CHECK(RunTest("l2v4", 461)); }
+TEST(462) { CHECK(RunTest("l2v4", 462)); }
+TEST(463) { CHECK(RunTest("l2v4", 463)); }
+TEST(464) { CHECK(RunTest("l2v4", 464)); }
+TEST(465) { CHECK(RunTest("l2v4", 465)); }
+TEST(466) { CHECK(RunTest("l2v4", 466)); }
+TEST(467) { CHECK(RunTest("l2v4", 467)); }
+TEST(468) { CHECK(RunTest("l2v4", 468)); }
+TEST(469) { CHECK(RunTest("l2v4", 469)); }
+TEST(470) { CHECK(RunTest("l2v4", 470)); }
+TEST(471) { CHECK(RunTest("l2v4", 471)); }
+TEST(472) { CHECK(RunTest("l2v4", 472)); }
+TEST(473) { CHECK(RunTest("l2v4", 473)); }
+TEST(474) { CHECK(RunTest("l2v4", 474)); }
+TEST(475) { CHECK(RunTest("l2v4", 475)); }
+TEST(476) { CHECK(RunTest("l2v4", 476)); }
+TEST(477) { CHECK(RunTest("l2v4", 477)); }
+TEST(478) { CHECK(RunTest("l2v4", 478)); }
+TEST(479) { CHECK(RunTest("l2v4", 479)); }
+TEST(480) { CHECK(RunTest("l2v4", 480)); }
+TEST(481) { CHECK(RunTest("l2v4", 481)); }
+TEST(482) { CHECK(RunTest("l2v4", 482)); }
+TEST(483) { CHECK(RunTest("l2v4", 483)); }
+TEST(484) { CHECK(RunTest("l2v4", 484)); }
+TEST(485) { CHECK(RunTest("l2v4", 485)); }
+TEST(486) { CHECK(RunTest("l2v4", 486)); }
+TEST(487) { CHECK(RunTest("l2v4", 487)); }
+TEST(488) { CHECK(RunTest("l2v4", 488)); }
+TEST(489) { CHECK(RunTest("l2v4", 489)); }
+TEST(490) { CHECK(RunTest("l2v4", 490)); }
+TEST(491) { CHECK(RunTest("l2v4", 491)); }
+TEST(492) { CHECK(RunTest("l2v4", 492)); }
+TEST(493) { CHECK(RunTest("l2v4", 493)); }
+TEST(494) { CHECK(RunTest("l2v4", 494)); }
+TEST(495) { CHECK(RunTest("l2v4", 495)); }
+TEST(496) { CHECK(RunTest("l2v4", 496)); }
+TEST(497) { CHECK(RunTest("l2v4", 497)); }
+TEST(498) { CHECK(RunTest("l2v4", 498)); }
+TEST(499) { CHECK(RunTest("l2v4", 499)); }
+TEST(500) { CHECK(RunTest("l2v4", 500)); }
+TEST(501) { CHECK(RunTest("l2v4", 501)); }
+TEST(502) { CHECK(RunTest("l2v4", 502)); }
+TEST(503) { CHECK(RunTest("l2v4", 503)); }
+TEST(504) { CHECK(RunTest("l2v4", 504)); }
+TEST(505) { CHECK(RunTest("l2v4", 505)); }
+TEST(506) { CHECK(RunTest("l2v4", 506)); }
+TEST(507) { CHECK(RunTest("l2v4", 507)); }
+TEST(508) { CHECK(RunTest("l2v4", 508)); }
+TEST(509) { CHECK(RunTest("l2v4", 509)); }
+TEST(510) { CHECK(RunTest("l2v4", 510)); }
+TEST(511) { CHECK(RunTest("l2v4", 511)); }
+TEST(512) { CHECK(RunTest("l2v4", 512)); }
+TEST(513) { CHECK(RunTest("l2v4", 513)); }
+TEST(514) { CHECK(RunTest("l2v4", 514)); }
+TEST(515) { CHECK(RunTest("l2v4", 515)); }
+TEST(516) { CHECK(RunTest("l2v4", 516)); }
+TEST(517) { CHECK(RunTest("l2v4", 517)); }
+TEST(518) { CHECK(RunTest("l2v4", 518)); }
+TEST(519) { CHECK(RunTest("l2v4", 519)); }
+TEST(520) { CHECK(RunTest("l2v4", 520)); }
+TEST(521) { CHECK(RunTest("l2v4", 521)); }
+TEST(522) { CHECK(RunTest("l2v4", 522)); }
+TEST(523) { CHECK(RunTest("l2v4", 523)); }
+TEST(524) { CHECK(RunTest("l2v4", 524)); }
+TEST(525) { CHECK(RunTest("l2v4", 525)); }
+TEST(526) { CHECK(RunTest("l2v4", 526)); }
+TEST(527) { CHECK(RunTest("l2v4", 527)); }
+TEST(528) { CHECK(RunTest("l2v4", 528)); }
+TEST(529) { CHECK(RunTest("l2v4", 529)); }
+TEST(530) { CHECK(RunTest("l2v4", 530)); }
+//TEST(531) { CHECK(RunTest("l2v4", 531)); }
+TEST(532) { CHECK(RunTest("l2v4", 532)); }
+//TEST(533) { CHECK(RunTest("l2v4", 533)); }
+//TEST(534) { CHECK(RunTest("l2v4", 534)); }
+//TEST(535) { CHECK(RunTest("l2v4", 535)); }
+//TEST(536) { CHECK(RunTest("l2v4", 536)); }
+//TEST(537) { CHECK(RunTest("l2v4", 537)); }
+//TEST(538) { CHECK(RunTest("l2v4", 538)); }
+TEST(539) { CHECK(RunTest("l2v4", 539)); }
+TEST(540) { CHECK(RunTest("l2v4", 540)); }
+TEST(541) { CHECK(RunTest("l2v4", 541)); }
+TEST(542) { CHECK(RunTest("l2v4", 542)); }
+//TEST(543) { CHECK(RunTest("l2v4", 543)); }
+TEST(544) { CHECK(RunTest("l2v4", 544)); }
+TEST(545) { CHECK(RunTest("l2v4", 545)); }
+//TEST(546) { CHECK(RunTest("l2v4", 546)); }
+TEST(547) { CHECK(RunTest("l2v4", 547)); }
+//TEST(548) { CHECK(RunTest("l2v4", 548)); }
+//TEST(549) { CHECK(RunTest("l2v4", 549)); }
+//TEST(550) { CHECK(RunTest("l2v4", 550)); }
+//TEST(551) { CHECK(RunTest("l2v4", 551)); }
+//TEST(552) { CHECK(RunTest("l2v4", 552)); }
+//TEST(553) { CHECK(RunTest("l2v4", 553)); } //Started failing with
+//TEST(554) { CHECK(RunTest("l2v4", 554)); }
+//TEST(555) { CHECK(RunTest("l2v4", 555)); }
+//TEST(556) { CHECK(RunTest("l2v4", 556)); }
+//TEST(557) { CHECK(RunTest("l2v4", 557)); }
+//TEST(558) { CHECK(RunTest("l2v4", 558)); }
+//TEST(559) { CHECK(RunTest("l2v4", 559)); }
+//TEST(560) { CHECK(RunTest("l2v4", 560)); }
+//TEST(561) { CHECK(RunTest("l2v4", 561)); }
+//TEST(562) { CHECK(RunTest("l2v4", 562)); }
+//TEST(563) { CHECK(RunTest("l2v4", 563)); }
+//TEST(564) { CHECK(RunTest("l2v4", 564)); }
+//TEST(565) { CHECK(RunTest("l2v4", 565)); }
+//TEST(566) { CHECK(RunTest("l2v4", 566)); }
+//TEST(567) { CHECK(RunTest("l2v4", 567)); }
+TEST(568) { CHECK(RunTest("l2v4", 568)); }
+//TEST(569) { CHECK(RunTest("l2v4", 569)); }
+//TEST(570) { CHECK(RunTest("l2v4", 570)); }
+//TEST(571) { CHECK(RunTest("l2v4", 571)); }
+TEST(572) { CHECK(RunTest("l2v4", 572)); }
+//TEST(573) { CHECK(RunTest("l2v4", 573)); }
+TEST(574) { CHECK(RunTest("l2v4", 574)); }
+//TEST(575) { CHECK(RunTest("l2v4", 575)); }
+//TEST(576) { CHECK(RunTest("l2v4", 576)); }
+TEST(577) { CHECK(RunTest("l2v4", 577)); }
+TEST(578) { CHECK(RunTest("l2v4", 578)); }
+TEST(579) { CHECK(RunTest("l2v4", 579)); }
+TEST(580) { CHECK(RunTest("l2v4", 580)); }
+TEST(581) { CHECK(RunTest("l2v4", 581)); }
+TEST(582) { CHECK(RunTest("l2v4", 582)); }
+TEST(583) { CHECK(RunTest("l2v4", 583)); }
+TEST(584) { CHECK(RunTest("l2v4", 584)); }
+TEST(585) { CHECK(RunTest("l2v4", 585)); }
+TEST(586) { CHECK(RunTest("l2v4", 586)); }
+TEST(587) { CHECK(RunTest("l2v4", 587)); }
+TEST(588) { CHECK(RunTest("l2v4", 588)); }
+TEST(589) { CHECK(RunTest("l2v4", 589)); }
+TEST(590) { CHECK(RunTest("l2v4", 590)); }
+TEST(591) { CHECK(RunTest("l2v4", 591)); }
+TEST(592) { CHECK(RunTest("l2v4", 592)); }
+TEST(593) { CHECK(RunTest("l2v4", 593)); }
+TEST(594) { CHECK(RunTest("l2v4", 594)); }
+TEST(595) { CHECK(RunTest("l2v4", 595)); }
+TEST(596) { CHECK(RunTest("l2v4", 596)); }
+TEST(597) { CHECK(RunTest("l2v4", 597)); }
+TEST(598) { CHECK(RunTest("l2v4", 598)); }
+TEST(599) { CHECK(RunTest("l2v4", 599)); }
+TEST(600) { CHECK(RunTest("l2v4", 600)); }
+TEST(601) { CHECK(RunTest("l2v4", 601)); }
+TEST(602) { CHECK(RunTest("l2v4", 602)); }
+TEST(603) { CHECK(RunTest("l2v4", 603)); }
+TEST(604) { CHECK(RunTest("l2v4", 604)); }
+TEST(605) { CHECK(RunTest("l2v4", 605)); }
+TEST(606) { CHECK(RunTest("l2v4", 606)); }
+TEST(607) { CHECK(RunTest("l2v4", 607)); }
+TEST(608) { CHECK(RunTest("l2v4", 608)); }
+TEST(609) { CHECK(RunTest("l2v4", 609)); }
+TEST(610) { CHECK(RunTest("l2v4", 610)); }
+TEST(611) { CHECK(RunTest("l2v4", 611)); }
+TEST(612) { CHECK(RunTest("l2v4", 612)); }
+//TEST(613) { CHECK(RunTest("l2v4", 613)); }
+//TEST(614) { CHECK(RunTest("l2v4", 614)); }
+//TEST(615) { CHECK(RunTest("l2v4", 615)); }
+TEST(616) { CHECK(RunTest("l2v4", 616)); }
+TEST(617) { CHECK(RunTest("l2v4", 617)); }
+TEST(618) { CHECK(RunTest("l2v4", 618)); }
+TEST(619) { CHECK(RunTest("l2v4", 619)); }
+TEST(620) { CHECK(RunTest("l2v4", 620)); }
+TEST(621) { CHECK(RunTest("l2v4", 621)); }
+TEST(622) { CHECK(RunTest("l2v4", 622)); }
+TEST(623) { CHECK(RunTest("l2v4", 623)); }
+TEST(624) { CHECK(RunTest("l2v4", 624)); }
+TEST(625) { CHECK(RunTest("l2v4", 625)); }
+TEST(626) { CHECK(RunTest("l2v4", 626)); }
+TEST(627) { CHECK(RunTest("l2v4", 627)); }
+//TEST(628) { CHECK(RunTest("l2v4", 628)); }
+//TEST(629) { CHECK(RunTest("l2v4", 629)); }
+//TEST(630) { CHECK(RunTest("l2v4", 630)); }
+TEST(631) { CHECK(RunTest("l2v4", 631)); }
+TEST(632) { CHECK(RunTest("l2v4", 632)); }
+TEST(633) { CHECK(RunTest("l2v4", 633)); }
+TEST(634) { CHECK(RunTest("l2v4", 634)); }
+TEST(635) { CHECK(RunTest("l2v4", 635)); }
+TEST(636) { CHECK(RunTest("l2v4", 636)); }
+TEST(637) { CHECK(RunTest("l2v4", 637)); }
+TEST(638) { CHECK(RunTest("l2v4", 638)); }
+TEST(639) { CHECK(RunTest("l2v4", 639)); }
+TEST(640) { CHECK(RunTest("l2v4", 640)); }
+TEST(641) { CHECK(RunTest("l2v4", 641)); }
+TEST(642) { CHECK(RunTest("l2v4", 642)); }
+TEST(643) { CHECK(RunTest("l2v4", 643)); }
+TEST(644) { CHECK(RunTest("l2v4", 644)); }
+TEST(645) { CHECK(RunTest("l2v4", 645)); }
+TEST(646) { CHECK(RunTest("l2v4", 646)); }
+TEST(647) { CHECK(RunTest("l2v4", 647)); }
+TEST(648) { CHECK(RunTest("l2v4", 648)); }
+TEST(649) { CHECK(RunTest("l2v4", 649)); }
+TEST(650) { CHECK(RunTest("l2v4", 650)); }
+TEST(651) { CHECK(RunTest("l2v4", 651)); }
+TEST(652) { CHECK(RunTest("l2v4", 652)); }
+TEST(653) { CHECK(RunTest("l2v4", 653)); }
+TEST(654) { CHECK(RunTest("l2v4", 654)); }
+TEST(655) { CHECK(RunTest("l2v4", 655)); }
+TEST(656) { CHECK(RunTest("l2v4", 656)); }
+TEST(657) { CHECK(RunTest("l2v4", 657)); }
+//TEST(658) { CHECK(RunTest("l2v4", 658)); }
+//TEST(659) { CHECK(RunTest("l2v4", 659)); }
+//TEST(660) { CHECK(RunTest("l2v4", 660)); }
+//TEST(661) { CHECK(RunTest("l2v4", 661)); }
+//TEST(662) { CHECK(RunTest("l2v4", 662)); }
+//TEST(663) { CHECK(RunTest("l2v4", 663)); }
+//TEST(664) { CHECK(RunTest("l2v4", 664)); }
+//TEST(665) { CHECK(RunTest("l2v4", 665)); }
+//TEST(666) { CHECK(RunTest("l2v4", 666)); }
+TEST(667) { CHECK(RunTest("l2v4", 667)); }
+TEST(668) { CHECK(RunTest("l2v4", 668)); }
+TEST(669) { CHECK(RunTest("l2v4", 669)); }
+TEST(670) { CHECK(RunTest("l2v4", 670)); }
+TEST(671) { CHECK(RunTest("l2v4", 671)); }
+TEST(672) { CHECK(RunTest("l2v4", 672)); }
+//TEST(673) { CHECK(RunTest("l2v4", 673)); }
+//TEST(674) { CHECK(RunTest("l2v4", 674)); }
+//TEST(675) { CHECK(RunTest("l2v4", 675)); }
+TEST(676) { CHECK(RunTest("l2v4", 676)); }
+TEST(677) { CHECK(RunTest("l2v4", 677)); }
+TEST(678) { CHECK(RunTest("l2v4", 678)); }
+TEST(679) { CHECK(RunTest("l2v4", 679)); }
+TEST(680) { CHECK(RunTest("l2v4", 680)); }
+TEST(681) { CHECK(RunTest("l2v4", 681)); }
+TEST(682) { CHECK(RunTest("l2v4", 682)); }
+TEST(683) { CHECK(RunTest("l2v4", 683)); }
+TEST(684) { CHECK(RunTest("l2v4", 684)); }
+TEST(685) { CHECK(RunTest("l2v4", 685)); }
+TEST(686) { CHECK(RunTest("l2v4", 686)); }
+//TEST(687) { CHECK(RunTest("l2v4", 687)); }
+TEST(688) { CHECK(RunTest("l2v4", 688)); }
+TEST(689) { CHECK(RunTest("l2v4", 689)); }
+TEST(690) { CHECK(RunTest("l2v4", 690)); }
+TEST(691) { CHECK(RunTest("l2v4", 691)); }
+TEST(692) { CHECK(RunTest("l2v4", 692)); }
+TEST(693) { CHECK(RunTest("l2v4", 693)); }
+TEST(694) { CHECK(RunTest("l2v4", 694)); }
+//TEST(695) { CHECK(RunTest("l2v4", 695)); }
+//TEST(696) { CHECK(RunTest("l2v4", 696)); }
+TEST(697) { CHECK(RunTest("l2v4", 697)); }
+TEST(698) { CHECK(RunTest("l2v4", 698)); }
+TEST(699) { CHECK(RunTest("l2v4", 699)); }
+TEST(700) { CHECK(RunTest("l2v4", 700)); }
+TEST(701) { CHECK(RunTest("l2v4", 701)); }
+TEST(702) { CHECK(RunTest("l2v4", 702)); }
+TEST(703) { CHECK(RunTest("l2v4", 703)); }
+TEST(704) { CHECK(RunTest("l2v4", 704)); }
+//TEST(705) { CHECK(RunTest("l2v4", 705)); }
+TEST(706) { CHECK(RunTest("l2v4", 706)); }
+TEST(707) { CHECK(RunTest("l2v4", 707)); }
+TEST(708) { CHECK(RunTest("l2v4", 708)); }
+TEST(709) { CHECK(RunTest("l2v4", 709)); }
+TEST(710) { CHECK(RunTest("l2v4", 710)); }
+TEST(711) { CHECK(RunTest("l2v4", 711)); }
+TEST(712) { CHECK(RunTest("l2v4", 712)); }
+TEST(713) { CHECK(RunTest("l2v4", 713)); }
+TEST(714) { CHECK(RunTest("l2v4", 714)); }
+TEST(715) { CHECK(RunTest("l2v4", 715)); }
+TEST(716) { CHECK(RunTest("l2v4", 716)); }
+TEST(717) { CHECK(RunTest("l2v4", 717)); }
+TEST(718) { CHECK(RunTest("l2v4", 718)); }
+TEST(719) { CHECK(RunTest("l2v4", 719)); }
+TEST(720) { CHECK(RunTest("l2v4", 720)); }
+TEST(721) { CHECK(RunTest("l2v4", 721)); }
+TEST(722) { CHECK(RunTest("l2v4", 722)); }
+TEST(723) { CHECK(RunTest("l2v4", 723)); }
+TEST(724) { CHECK(RunTest("l2v4", 724)); }
+TEST(725) { CHECK(RunTest("l2v4", 725)); }
+TEST(726) { CHECK(RunTest("l2v4", 726)); }
+TEST(727) { CHECK(RunTest("l2v4", 727)); }
+TEST(728) { CHECK(RunTest("l2v4", 728)); }
+TEST(729) { CHECK(RunTest("l2v4", 729)); }
+TEST(730) { CHECK(RunTest("l2v4", 730)); }
+TEST(731) { CHECK(RunTest("l2v4", 731)); }
+TEST(732) { CHECK(RunTest("l2v4", 732)); }
+TEST(733) { CHECK(RunTest("l2v4", 733)); }
+TEST(734) { CHECK(RunTest("l2v4", 734)); }
+TEST(735) { CHECK(RunTest("l2v4", 735)); }
+TEST(736) { CHECK(RunTest("l2v4", 736)); }
+TEST(737) { CHECK(RunTest("l2v4", 737)); }
+TEST(738) { CHECK(RunTest("l2v4", 738)); }
+TEST(739) { CHECK(RunTest("l2v4", 739)); }
+TEST(740) { CHECK(RunTest("l2v4", 740)); }
+TEST(741) { CHECK(RunTest("l2v4", 741)); }
+TEST(742) { CHECK(RunTest("l2v4", 742)); }
+TEST(743) { CHECK(RunTest("l2v4", 743)); }
+TEST(744) { CHECK(RunTest("l2v4", 744)); }
+TEST(745) { CHECK(RunTest("l2v4", 745)); }
+TEST(746) { CHECK(RunTest("l2v4", 746)); }
+TEST(747) { CHECK(RunTest("l2v4", 747)); }
+TEST(748) { CHECK(RunTest("l2v4", 748)); }
+TEST(749) { CHECK(RunTest("l2v4", 749)); }
+TEST(750) { CHECK(RunTest("l2v4", 750)); }
+TEST(751) { CHECK(RunTest("l2v4", 751)); }
+TEST(752) { CHECK(RunTest("l2v4", 752)); }
+TEST(753) { CHECK(RunTest("l2v4", 753)); }
+TEST(754) { CHECK(RunTest("l2v4", 754)); }
+TEST(755) { CHECK(RunTest("l2v4", 755)); }
+TEST(756) { CHECK(RunTest("l2v4", 756)); }
+TEST(757) { CHECK(RunTest("l2v4", 757)); }
+TEST(758) { CHECK(RunTest("l2v4", 758)); }
+TEST(759) { CHECK(RunTest("l2v4", 759)); }
+//TEST(760) { CHECK(RunTest("l2v4", 760)); }
+//TEST(761) { CHECK(RunTest("l2v4", 761)); }
+//TEST(762) { CHECK(RunTest("l2v4", 762)); }
+TEST(763) { CHECK(RunTest("l2v4", 763)); }
+TEST(764) { CHECK(RunTest("l2v4", 764)); }
+TEST(765) { CHECK(RunTest("l2v4", 765)); }
+TEST(766) { CHECK(RunTest("l2v4", 766)); }
+TEST(767) { CHECK(RunTest("l2v4", 767)); }
+TEST(768) { CHECK(RunTest("l2v4", 768)); }
+TEST(769) { CHECK(RunTest("l2v4", 769)); }
+TEST(770) { CHECK(RunTest("l2v4", 770)); }
+TEST(771) { CHECK(RunTest("l2v4", 771)); }
+TEST(772) { CHECK(RunTest("l2v4", 772)); }
+TEST(773) { CHECK(RunTest("l2v4", 773)); }
+TEST(774) { CHECK(RunTest("l2v4", 774)); }
+TEST(775) { CHECK(RunTest("l2v4", 775)); }
+TEST(776) { CHECK(RunTest("l2v4", 776)); }
+//TEST(777) { CHECK(RunTest("l2v4", 777)); }
+//TEST(778) { CHECK(RunTest("l2v4", 778)); }
+//TEST(779) { CHECK(RunTest("l2v4", 779)); }
+//TEST(780) { CHECK(RunTest("l2v4", 780)); }
+TEST(781) { CHECK(RunTest("l2v4", 781)); }
+TEST(782) { CHECK(RunTest("l2v4", 782)); }
+TEST(783) { CHECK(RunTest("l2v4", 783)); }
+TEST(784) { CHECK(RunTest("l2v4", 784)); }
+TEST(785) { CHECK(RunTest("l2v4", 785)); }
+TEST(786) { CHECK(RunTest("l2v4", 786)); }
+TEST(787) { CHECK(RunTest("l2v4", 787)); }
+TEST(788) { CHECK(RunTest("l2v4", 788)); }
+TEST(789) { CHECK(RunTest("l2v4", 789)); }
+TEST(790) { CHECK(RunTest("l2v4", 790)); }
+TEST(791) { CHECK(RunTest("l2v4", 791)); }
+TEST(792) { CHECK(RunTest("l2v4", 792)); }
+TEST(793) { CHECK(RunTest("l2v4", 793)); }
+TEST(794) { CHECK(RunTest("l2v4", 794)); }
+TEST(795) { CHECK(RunTest("l2v4", 795)); }
+TEST(796) { CHECK(RunTest("l2v4", 796)); }
+TEST(797) { CHECK(RunTest("l2v4", 797)); }
+TEST(798) { CHECK(RunTest("l2v4", 798)); }
+TEST(799) { CHECK(RunTest("l2v4", 799)); }
+TEST(800) { CHECK(RunTest("l2v4", 800)); }
+TEST(801) { CHECK(RunTest("l2v4", 801)); }
+TEST(802) { CHECK(RunTest("l2v4", 802)); }
+TEST(803) { CHECK(RunTest("l2v4", 803)); }
+TEST(804) { CHECK(RunTest("l2v4", 804)); }
+TEST(805) { CHECK(RunTest("l2v4", 805)); }
+TEST(806) { CHECK(RunTest("l2v4", 806)); }
+TEST(807) { CHECK(RunTest("l2v4", 807)); }
+TEST(808) { CHECK(RunTest("l2v4", 808)); }
+TEST(809) { CHECK(RunTest("l2v4", 809)); }
+TEST(810) { CHECK(RunTest("l2v4", 810)); }
+TEST(811) { CHECK(RunTest("l2v4", 811)); }
+TEST(812) { CHECK(RunTest("l2v4", 812)); }
+TEST(813) { CHECK(RunTest("l2v4", 813)); }
+TEST(814) { CHECK(RunTest("l2v4", 814)); }
+TEST(815) { CHECK(RunTest("l2v4", 815)); }
+TEST(816) { CHECK(RunTest("l2v4", 816)); }
+TEST(817) { CHECK(RunTest("l2v4", 817)); }
+TEST(818) { CHECK(RunTest("l2v4", 818)); }
+TEST(819) { CHECK(RunTest("l2v4", 819)); }
+TEST(820) { CHECK(RunTest("l2v4", 820)); }
+TEST(821) { CHECK(RunTest("l2v4", 821)); }
+TEST(822) { CHECK(RunTest("l2v4", 822)); }
+TEST(823) { CHECK(RunTest("l2v4", 823)); }
+TEST(824) { CHECK(RunTest("l2v4", 824)); }
+TEST(825) { CHECK(RunTest("l2v4", 825)); }
+TEST(826) { CHECK(RunTest("l2v4", 826)); }
+TEST(827) { CHECK(RunTest("l2v4", 827)); }
+TEST(828) { CHECK(RunTest("l2v4", 828)); }
+TEST(829) { CHECK(RunTest("l2v4", 829)); }
+TEST(830) { CHECK(RunTest("l2v4", 830)); }
+TEST(831) { CHECK(RunTest("l2v4", 831)); }
+TEST(832) { CHECK(RunTest("l2v4", 832)); }
+TEST(833) { CHECK(RunTest("l2v4", 833)); }
+TEST(834) { CHECK(RunTest("l2v4", 834)); }
+TEST(835) { CHECK(RunTest("l2v4", 835)); }
+TEST(836) { CHECK(RunTest("l2v4", 836)); }
+TEST(837) { CHECK(RunTest("l2v4", 837)); }
+TEST(838) { CHECK(RunTest("l2v4", 838)); }
+TEST(839) { CHECK(RunTest("l2v4", 839)); }
+TEST(840) { CHECK(RunTest("l2v4", 840)); }
+TEST(841) { CHECK(RunTest("l2v4", 841)); }
+TEST(842) { CHECK(RunTest("l2v4", 842)); }
+TEST(843) { CHECK(RunTest("l2v4", 843)); }
+//TEST(844) { CHECK(RunTest("l2v4", 844)); }
+TEST(845) { CHECK(RunTest("l2v4", 845)); }
+TEST(846) { CHECK(RunTest("l2v4", 846)); }
+TEST(847) { CHECK(RunTest("l2v4", 847)); }
+TEST(848) { CHECK(RunTest("l2v4", 848)); }
+TEST(849) { CHECK(RunTest("l2v4", 849)); }
+TEST(850) { CHECK(RunTest("l2v4", 850)); }
+TEST(851) { CHECK(RunTest("l2v4", 851)); }
+TEST(852) { CHECK(RunTest("l2v4", 852)); }
+TEST(853) { CHECK(RunTest("l2v4", 853)); }
+TEST(854) { CHECK(RunTest("l2v4", 854)); }
+TEST(855) { CHECK(RunTest("l2v4", 855)); }
+TEST(856) { CHECK(RunTest("l2v4", 856)); }
+TEST(857) { CHECK(RunTest("l2v4", 857)); }
+TEST(858) { CHECK(RunTest("l2v4", 858)); }
+TEST(859) { CHECK(RunTest("l2v4", 859)); }
+TEST(860) { CHECK(RunTest("l2v4", 860)); }
+TEST(861) { CHECK(RunTest("l2v4", 861)); }
+TEST(862) { CHECK(RunTest("l2v4", 862)); }
+TEST(863) { CHECK(RunTest("l2v4", 863)); }
+TEST(864) { CHECK(RunTest("l2v4", 864)); }
+TEST(865) { CHECK(RunTest("l2v4", 865)); }
+TEST(866) { CHECK(RunTest("l2v4", 866)); }
+TEST(867) { CHECK(RunTest("l2v4", 867)); }
+TEST(868) { CHECK(RunTest("l2v4", 868)); }
+TEST(869) { CHECK(RunTest("l2v4", 869)); }
+//TEST(870) { CHECK(RunTest("l2v4", 870)); }
+//TEST(871) { CHECK(RunTest("l2v4", 871)); }
+//TEST(872) { CHECK(RunTest("l2v4", 872)); }
+//TEST(873) { CHECK(RunTest("l2v4", 873)); }
+//TEST(874) { CHECK(RunTest("l2v4", 874)); }
+//TEST(875) { CHECK(RunTest("l2v4", 875)); }
+//TEST(876) { CHECK(RunTest("l2v4", 876)); }
+TEST(877) { CHECK(RunTest("l2v4", 877)); }
+TEST(878) { CHECK(RunTest("l2v4", 878)); }
+TEST(879) { CHECK(RunTest("l2v4", 879)); }
+TEST(880) { CHECK(RunTest("l2v4", 880)); }
+TEST(881) { CHECK(RunTest("l2v4", 881)); }
+TEST(882) { CHECK(RunTest("l2v4", 882)); }
+TEST(883) { CHECK(RunTest("l2v4", 883)); }
+TEST(884) { CHECK(RunTest("l2v4", 884)); }
+TEST(885) { CHECK(RunTest("l2v4", 885)); }
+TEST(886) { CHECK(RunTest("l2v4", 886)); }
+TEST(887) { CHECK(RunTest("l2v4", 887)); }
+TEST(888) { CHECK(RunTest("l2v4", 888)); }
+TEST(889) { CHECK(RunTest("l2v4", 889)); }
+TEST(890) { CHECK(RunTest("l2v4", 890)); }
+TEST(891) { CHECK(RunTest("l2v4", 891)); }
+TEST(892) { CHECK(RunTest("l2v4", 892)); }
+TEST(893) { CHECK(RunTest("l2v4", 893)); }
+TEST(894) { CHECK(RunTest("l2v4", 894)); }
+TEST(895) { CHECK(RunTest("l2v4", 895)); }
+TEST(896) { CHECK(RunTest("l2v4", 896)); }
+TEST(897) { CHECK(RunTest("l2v4", 897)); }
+TEST(898) { CHECK(RunTest("l2v4", 898)); }
+TEST(899) { CHECK(RunTest("l2v4", 899)); }
+TEST(900) { CHECK(RunTest("l2v4", 900)); }
+TEST(901) { CHECK(RunTest("l2v4", 901)); }
+TEST(902) { CHECK(RunTest("l2v4", 902)); }
+TEST(903) { CHECK(RunTest("l2v4", 903)); }
+TEST(904) { CHECK(RunTest("l2v4", 904)); }
+TEST(905) { CHECK(RunTest("l2v4", 905)); }
+TEST(906) { CHECK(RunTest("l2v4", 906)); }
+TEST(907) { CHECK(RunTest("l2v4", 907)); }
+TEST(908) { CHECK(RunTest("l2v4", 908)); }
+TEST(909) { CHECK(RunTest("l2v4", 909)); }
+TEST(910) { CHECK(RunTest("l2v4", 910)); }
+TEST(911) { CHECK(RunTest("l2v4", 911)); }
+TEST(912) { CHECK(RunTest("l2v4", 912)); }
+TEST(913) { CHECK(RunTest("l2v4", 913)); }
+TEST(914) { CHECK(RunTest("l2v4", 914)); }
+TEST(915) { CHECK(RunTest("l2v4", 915)); }
+TEST(916) { CHECK(RunTest("l2v4", 916)); }
+TEST(917) { CHECK(RunTest("l2v4", 917)); }
+TEST(918) { CHECK(RunTest("l2v4", 918)); }
+TEST(919) { CHECK(RunTest("l2v4", 919)); }
+TEST(920) { CHECK(RunTest("l2v4", 920)); }
+TEST(921) { CHECK(RunTest("l2v4", 921)); }
+TEST(922) { CHECK(RunTest("l2v4", 922)); }
+TEST(923) { CHECK(RunTest("l2v4", 923)); }
+TEST(924) { CHECK(RunTest("l2v4", 924)); }
+TEST(925) { CHECK(RunTest("l2v4", 925)); }
+TEST(926) { CHECK(RunTest("l2v4", 926)); }
+TEST(927) { CHECK(RunTest("l2v4", 927)); }
+TEST(928) { CHECK(RunTest("l2v4", 928)); }
+TEST(929) { CHECK(RunTest("l2v4", 929)); }
+#ifndef __linux
+    TEST(930) { CHECK(RunTest("l2v4", 930)); }
+    TEST(931) { CHECK(RunTest("l2v4", 931)); }
+#endif
+TEST(932) { CHECK(RunTest("l2v4", 932)); }
+TEST(933) { CHECK(RunTest("l2v4", 933)); }
+#ifndef __linux
+    TEST(934) { CHECK(RunTest("l2v4", 934)); }
+    TEST(935) { CHECK(RunTest("l2v4", 935)); }
+#endif
+TEST(936) { CHECK(RunTest("l2v4", 936)); }
+//TEST(937) { CHECK(RunTest("l2v4", 937)); }
+//TEST(938) { CHECK(RunTest("l2v4", 938)); }
+//TEST(939) { CHECK(RunTest("l2v4", 939)); }
+//TEST(940) { CHECK(RunTest("l2v4", 940)); }
+//TEST(941) { CHECK(RunTest("l2v4", 941)); }
+//TEST(942) { CHECK(RunTest("l2v4", 942)); }
+//TEST(943) { CHECK(RunTest("l2v4", 943)); }
+TEST(944) { CHECK(RunTest("l2v4", 944)); }
+TEST(945) { CHECK(RunTest("l2v4", 945)); }
+TEST(946) { CHECK(RunTest("l2v4", 946)); }
+TEST(947) { CHECK(RunTest("l2v4", 947)); }
+TEST(948) { CHECK(RunTest("l2v4", 948)); }
+TEST(949) { CHECK(RunTest("l2v4", 949)); }
+//TEST(950) { CHECK(RunTest("l2v4", 950)); }
+//TEST(951) { CHECK(RunTest("l2v4", 951)); }
+//TEST(952) { CHECK(RunTest("l2v4", 952)); }    //Started failing with poco shared lib in cvode
+#ifndef __linux
+    TEST(953) { CHECK(RunTest("l2v4", 953)); }
+#endif
+TEST(954) { CHECK(RunTest("l2v4", 954)); }
+//TEST(955) { CHECK(RunTest("l2v4", 955)); }
+TEST(956) { CHECK(RunTest("l2v4", 956)); }
+//TEST(957) { CHECK(RunTest("l2v4", 957)); }
+//TEST(958) { CHECK(RunTest("l2v4", 958)); }
+//TEST(959) { CHECK(RunTest("l2v4", 959)); }
+TEST(960) { CHECK(RunTest("l2v4", 960)); }
+TEST(961) { CHECK(RunTest("l2v4", 961)); }
+//TEST(962) { CHECK(RunTest("l2v4", 962)); }
+
+#if !defined(__CODEGEARC__) && !defined(__linux)
+    TEST(963) { CHECK(RunTest("l2v4", 963)); }
+    TEST(964) { CHECK(RunTest("l2v4", 964)); }
+#endif
+
+#if !defined(_MSC_VER) && !defined(__linux)
+TEST(965) { CHECK(RunTest("l2v4", 965)); }
+#endif
+//TEST(966) { CHECK(RunTest("l2v4", 966)); }
+#ifndef __linux
+    TEST(967) { CHECK(RunTest("l2v4", 967)); }
+#endif
+TEST(968) { CHECK(RunTest("l2v4", 968)); }
+TEST(969) { CHECK(RunTest("l2v4", 969)); }
+TEST(970) { CHECK(RunTest("l2v4", 970)); }
+TEST(971) { CHECK(RunTest("l2v4", 971)); }
+TEST(972) { CHECK(RunTest("l2v4", 972)); }
+TEST(973) { CHECK(RunTest("l2v4", 973)); }
+TEST(974) { CHECK(RunTest("l2v4", 974)); }
+TEST(975) { CHECK(RunTest("l2v4", 975)); }
+TEST(976) { CHECK(RunTest("l2v4", 976)); }
+TEST(977) { CHECK(RunTest("l2v4", 977)); }
+//TEST(978) { CHECK(RunTest("l2v4", 978)); }
+TEST(979) { CHECK(RunTest("l2v4", 979)); }
+TEST(980) { CHECK(RunTest("l2v4", 980)); }
+}
+
+bool RunTest(const string& version, int caseNumber)
+{
+    RoadRunner rr(gCompiler, gTempFolder, gSupportCodeFolder);
+
+    try
+    {
+        bool result(false);
+         cerr<<"Running Test:\t"<<caseNumber;
+        string dummy;
+        string logFileName;
+
+        //Create log file name, e.g. 00001.log
+        createTestSuiteFileNameParts(caseNumber, ".log", dummy, logFileName, dummy);
+
+        //Create subfolder for data output
+        string dataOutputFolder = joinPath(gTempFolder, getTestSuiteSubFolderName(caseNumber));
+
+        if(!createFolder(dataOutputFolder))
+        {
+            throw(rr::Exception("Failed creating output folder for data output"));
+        }
+
+        TestSuiteModelSimulation simulation(dataOutputFolder);
+
+        rr.reset();
+        simulation.UseEngine(&rr);
+
+        //Setup filenames and paths...
+        string modelFilePath(gTSModelsPath);
+        string modelFileName;
+        string settingsFileName;
+        createTestSuiteFileNameParts(caseNumber, "-sbml-" + version + ".xml", modelFilePath, modelFileName, settingsFileName);
+
+        //The following will load and compile and simulate the sbml model in the file
+        simulation.SetCaseNumber(caseNumber);
+        simulation.SetModelFilePath(modelFilePath);
+        simulation.SetModelFileName(modelFileName);
+        simulation.ReCompileIfDllExists(true);
+        simulation.CopyFilesToOutputFolder();
+
+        if(!simulation.LoadSBMLFromFile())
+        {
+            Log(Logger::LOG_ERROR)<<"Failed loading SBML model";
+            throw("Failed loading SBML model");
+        }
+        //Then read settings file if it exists..
+        string settingsOveride("");
+        if(!simulation.LoadSettings(settingsOveride))
+        {
+            Log(Logger::LOG_ERROR)<<"Failed loading SBML model settings";
+            throw("Failed loading SBML model settings");
+        }
+
+        rr.setConservedMoietyAnalysis(false);
+
+        //Then Simulate model
+         if(!simulation.Simulate())
+        {
+            Log(Logger::LOG_ERROR)<<"Failed running simulation";
+            throw("Failed running simulation");
+        }
+
+        //Write result
+        if(!simulation.SaveResult())
+        {
+            //Failed to save data
+            Log(Logger::LOG_ERROR)<<"Failed to save result";
+            throw("Failed running simulation: Failed to save result");
+        }
+
+        if(!simulation.LoadReferenceData())
+        {
+            Log(Logger::LOG_ERROR)<<"Failed loading reference data";
+            throw("Failed loading reference data");
+        }
+
+        simulation.CreateErrorData();
+        result = simulation.Pass();
+        simulation.SaveAllData();
+        simulation.SaveModelAsXML(dataOutputFolder);
+
+        cerr<<"\t"<< (result == true ? "PASS" : "FAIL")<<endl;
+         return result;
+     }
+    catch(Exception& ex)
+    {
+        string error = ex.what();
+        cerr<<"Case "<<caseNumber<<": Exception: "<<error<<endl;
+        return false;
+    }
+
+}
diff --git a/source/testing/tests/steady_state.cpp b/source/testing/tests/steady_state.cpp
new file mode 100644
index 0000000..f969901
--- /dev/null
+++ b/source/testing/tests/steady_state.cpp
@@ -0,0 +1,380 @@
+#include "unit_test/UnitTest++.h"
+#include "rrLogger.h"
+#include "rrRoadRunner.h"
+#include "rrException.h"
+#include "rrStringUtils.h"
+#include "rrIniFile.h"
+#include "rrTestUtils.h"
+#include "rrUtils.h"
+
+using namespace UnitTest;
+using namespace rr;
+using namespace std;
+
+extern RoadRunner*         gRR;
+extern string             gTestDataFolder;
+extern string             gCompiler;
+extern string             gSupportCodeFolder;
+extern string             gTempFolder;
+extern string             gRRInstallFolder;
+
+
+SUITE(SteadyState)
+{
+//Global to this unit
+RoadRunner *aRR = NULL;
+string TestDataFileName     = "TestModel_1.dat";
+IniFile iniFile;
+string TestModelFileName;
+
+    //This test-suite tests various steady state functions, using the model TestModel_1.xml
+
+    //Test that model files and reference data for the tests in this suite are present
+    TEST(DATA_FILES)
+    {
+        gTestDataFolder     = joinPath(gRRInstallFolder, "tests");
+        TestDataFileName     = joinPath(gTestDataFolder, TestDataFileName);
+
+        CHECK(fileExists(TestDataFileName));
+        CHECK(iniFile.Load(TestDataFileName));
+        clog<<"Loaded test data from file: "<< TestDataFileName;
+        if(iniFile.GetSection("SBML_FILES"))
+        {
+            IniSection* sbml = iniFile.GetSection("SBML_FILES");
+            IniKey* fNameKey = sbml->GetKey("FNAME1");
+            if(fNameKey)
+            {
+                TestModelFileName  = joinPath(gTestDataFolder, fNameKey->mValue);
+                CHECK(fileExists(TestModelFileName));
+            }
+        }
+    }
+
+    TEST(LOAD_MODEL)
+    {
+        aRR = new RoadRunner(gCompiler, gTempFolder, gSupportCodeFolder);
+        CHECK(aRR!=NULL);
+
+        //Load the model
+        aRR->setConservedMoietyAnalysis(true);
+        aRR->load(TestModelFileName);
+    }
+
+    TEST(COMPUTE_STEADY_STATE)
+    {
+        //Compute Steady state
+        if(aRR)
+        {
+            CHECK_CLOSE(0, aRR->steadyState(), 1e-6);
+        }
+        else
+        {
+            CHECK(false);
+        }
+    }
+
+    TEST(STEADY_STATE_CONCENTRATIONS)
+    {
+        IniSection* aSection = iniFile.GetSection("STEADY_STATE_CONCENTRATIONS");
+        //Read in the reference data, from the ini file
+        if(!aSection || !aRR)
+        {
+            CHECK(false);
+            return;
+        }
+
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            IniKey *aKey = aSection->GetKey(i);
+            double val = aRR->getValue(aKey->mKey);
+
+            //Check concentrations
+            CHECK_CLOSE(aKey->AsFloat(), val, 1e-6);
+        }
+    }
+
+    //This test is using the function getValue("eigen_...")
+    TEST(GET_EIGENVALUES_1)
+    {
+        IniSection* aSection = iniFile.GetSection("EIGEN_VALUES");
+        //Read in the reference data, from the ini file
+        if(!aSection || !aRR)
+        {
+            CHECK(false);
+            return;
+        }
+
+        vector<string> ids = aRR->getEigenValueIds();
+        if(ids.size() != aSection->KeyCount())
+        {
+            CHECK(false);
+            return;
+        }
+
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            //Find correct eigenValue
+            for(int j = 0; j < ids.size(); j++)
+            {
+                if(aSection->mKeys[i]->mKey == ids[j])
+                {
+                    IniKey *aKey = aSection->GetKey(i);
+                    clog<<"\n";
+                    clog<<"Ref_EigenValue: "<<aKey->mKey<<": "<<aKey->mValue<<endl;
+
+                    clog<<"ID: "<<ids[j]<<"= "<<aRR->getValue(ids[j])<<endl;
+
+                    CHECK_CLOSE(aKey->AsFloat(), aRR->getValue(ids[j]), 1e-6);
+                }
+            }
+        }
+    }
+
+    TEST(GET_EIGENVALUES_2)
+    {
+        IniSection* aSection = iniFile.GetSection("EIGEN_VALUES");
+        //Read in the reference data, from the ini file
+        if(!aSection || !aRR)
+        {
+            CHECK(false);
+            return;
+        }
+
+        std::vector<ls::Complex> eigenVals = aRR->getFullEigenValues();
+        if(eigenVals.size() != aSection->KeyCount())
+        {
+            CHECK(false);
+            return;
+        }
+
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            IniKey *aKey = aSection->GetKey(i);
+            clog<<"\n";
+            clog<<"Ref_EigenValue: "<<aKey->mKey<<": "<<aKey->mValue<<endl;
+
+            double eigenVal = std::real(eigenVals[i]);
+
+            clog<<"EigenValue "<<i<<": "<< eigenVal << endl;
+            CHECK_CLOSE(aKey->AsFloat(), eigenVal, 1e-6);
+        }
+    }
+
+    TEST(FULL_JACOBIAN)
+    {
+        IniSection* aSection = iniFile.GetSection("FULL_JACOBIAN");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        DoubleMatrix fullJacobian     = aRR->getFullJacobian();
+        DoubleMatrix jRef             = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(fullJacobian.RSize() != jRef.RSize() || fullJacobian.CSize() != jRef.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+
+        clog<<"Full Jacobian\n"<<fullJacobian;
+        CHECK_ARRAY2D_CLOSE(jRef, fullJacobian, fullJacobian.RSize(),fullJacobian.CSize(), 1e-6);
+    }
+
+    TEST(REDUCED_JACOBIAN)
+    {
+        IniSection* aSection = iniFile.GetSection("REDUCED_REORDERED_JACOBIAN");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        DoubleMatrix fullJacobian     = aRR->getReducedJacobian();
+        DoubleMatrix jRef             = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(fullJacobian.RSize() != jRef.RSize() || fullJacobian.CSize() != jRef.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+        clog<<"Reduced Jacobian\n"<<fullJacobian;
+        CHECK_ARRAY2D_CLOSE(jRef, fullJacobian, fullJacobian.RSize(),fullJacobian.CSize(), 1e-6);
+    }
+
+    TEST(FULL_REORDERED_JACOBIAN)
+    {
+        IniSection* aSection = iniFile.GetSection("FULL_REORDERED_JACOBIAN");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix = aRR->getFullReorderedJacobian();
+        DoubleMatrix ref = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        cout<<"Reference\n"<<ref;
+        cout<<"matrix\n"<<matrix;
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(REDUCED_REORDERED_JACOBIAN)
+    {
+        IniSection* aSection = iniFile.GetSection("FULL_REORDERED_JACOBIAN");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix = aRR->getReducedJacobian();
+        DoubleMatrix ref = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        cout<<"Reference\n"<<ref;
+        cout<<"matrix\n"<<matrix;
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(LINK_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("LINK_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix     = aRR->getLinkMatrix();
+        DoubleMatrix ref        = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(UNSCALED_ELASTICITY_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("UNSCALED_ELASTICITY_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix     = aRR->getUnscaledElasticityMatrix();
+        DoubleMatrix ref          = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(!"Wrong matrix dimensions" );
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(SCALED_ELASTICITY_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("SCALED_ELASTICITY_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix     = aRR->getScaledElasticityMatrix();
+        DoubleMatrix ref          = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(!"Wrong matrix dimensions" );
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(UNSCALED_CONCENTRATION_CONTROL_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("UNSCALED_CONCENTRATION_CONTROL_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix     = aRR->getUnscaledConcentrationControlCoefficientMatrix();
+        DoubleMatrix ref          = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(!"Wrong matrix dimensions" );
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(UNSCALED_FLUX_CONTROL_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("UNSCALED_FLUX_CONTROL_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix     = aRR->getUnscaledFluxControlCoefficientMatrix();
+        DoubleMatrix ref          = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(!"Wrong matrix dimensions" );
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(FREE_ROADRUNNER)
+    {
+        delete aRR;
+    }
+}
+
diff --git a/source/testing/tests/stoichiometric.cpp b/source/testing/tests/stoichiometric.cpp
new file mode 100644
index 0000000..8148cbd
--- /dev/null
+++ b/source/testing/tests/stoichiometric.cpp
@@ -0,0 +1,32 @@
+#include "unit_test/UnitTest++.h"
+#include "rrLogger.h"
+#include "rrRoadRunner.h"
+#include "rrException.h"
+#include "rrStringUtils.h"
+using namespace UnitTest;
+using namespace rr;
+
+extern RoadRunner*         gRR;
+extern string             gSBMLModelsPath;
+extern string             gCompiler;
+extern string             gSupportCodeFolder;
+extern string             gTempFolder;
+extern vector<string>     gModels;
+SUITE(Stoichiometric)
+{
+    TEST(AllocateRR)
+    {
+        if(!gRR)
+        {
+            gRR = new RoadRunner(gCompiler, gTempFolder, gSupportCodeFolder);
+        }
+
+        CHECK(gRR!=NULL);
+    }
+
+    TEST(MODEL_FILES)    //Test that model files for the tests are present
+    {
+    }
+}
+
+
diff --git a/source/testing/tests/three_species.cpp b/source/testing/tests/three_species.cpp
new file mode 100644
index 0000000..684b9e4
--- /dev/null
+++ b/source/testing/tests/three_species.cpp
@@ -0,0 +1,376 @@
+#include <complex>
+#include "unit_test/UnitTest++.h"
+#include "rrLogger.h"
+#include "rrRoadRunner.h"
+#include "rrException.h"
+#include "rrStringUtils.h"
+#include "rrIniFile.h"
+#include "rrTestUtils.h"
+
+using namespace UnitTest;
+using namespace rr;
+
+extern RoadRunner*         gRR;
+extern string             gTestDataFolder;
+extern string             gCompiler;
+extern string             gSupportCodeFolder;
+extern string             gTempFolder;
+extern string             gRRInstallFolder;
+
+//Global to this unit
+RoadRunner *aRR = NULL;
+string TestDataFileName     = "ss_ThreeSpecies.dat";
+string TestModelFileName    = "";
+IniFile iniFile;
+
+SUITE(ssThreeSpecies)
+{
+    //This suite tests various steady state functions, using the model TestModel_1.xml
+
+    //Test that model files and reference data for the tests in this suite are present
+    TEST(DATA_FILES)
+    {
+        gTestDataFolder = joinPath(gRRInstallFolder, "tests");
+        TestDataFileName     = joinPath(gTestDataFolder, TestDataFileName);
+
+        CHECK(fileExists(TestDataFileName));
+        CHECK(iniFile.Load(TestDataFileName));
+        clog<<"Loaded test data from file: "<< TestDataFileName;
+        if(iniFile.GetSection("SBML_FILES"))
+        {
+            IniSection* sbml = iniFile.GetSection("SBML_FILES");
+            IniKey* fNameKey = sbml->GetKey("FNAME1");
+            if(fNameKey)
+            {
+                TestModelFileName  = joinPath(gTestDataFolder, fNameKey->mValue);
+                CHECK(fileExists(TestModelFileName));
+            }
+        }
+    }
+
+    TEST(LOAD_MODEL)
+    {
+        aRR = new RoadRunner(gCompiler, gTempFolder, gSupportCodeFolder);
+        CHECK(aRR!=NULL);
+
+        //Load the model
+        aRR->setConservedMoietyAnalysis(true);
+        CHECK(aRR->load(TestModelFileName));
+    }
+
+    TEST(COMPUTE_STEADY_STATE)
+    {
+        //Compute Steady state
+        if(aRR)
+        {
+            CHECK_CLOSE(0, aRR->steadyState(), 1e-6);
+        }
+        else
+        {
+            CHECK(false);
+        }
+    }
+
+    TEST(STEADY_STATE_CONCENTRATIONS)
+    {
+        IniSection* aSection = iniFile.GetSection("STEADY_STATE_CONCENTRATIONS");
+        //Read in the reference data, from the ini file
+        if(!aSection || !aRR)
+        {
+            CHECK(false);
+            return;
+        }
+
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            IniKey *aKey = aSection->GetKey(i);
+            double val = aRR->getValue(aKey->mKey);
+
+            //Check concentrations
+            CHECK_CLOSE(aKey->AsFloat(), val, 1e-6);
+        }
+    }
+
+    TEST(FULL_JACOBIAN)
+    {
+        IniSection* aSection = iniFile.GetSection("FULL_JACOBIAN");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        DoubleMatrix fullJacobian     = aRR->getFullJacobian();
+        DoubleMatrix jRef             = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(fullJacobian.RSize() != jRef.RSize() || fullJacobian.CSize() != jRef.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+
+        clog<<fullJacobian;
+        CHECK_ARRAY2D_CLOSE(jRef, fullJacobian, fullJacobian.RSize(),fullJacobian.CSize(), 1e-6);
+    }
+
+    TEST(REDUCED_JACOBIAN)
+    {
+        IniSection* aSection = iniFile.GetSection("REDUCED_JACOBIAN");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        DoubleMatrix fullJacobian     = aRR->getReducedJacobian();
+        DoubleMatrix jRef             = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(fullJacobian.RSize() != jRef.RSize() || fullJacobian.CSize() != jRef.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(jRef, fullJacobian, fullJacobian.RSize(),fullJacobian.CSize(), 1e-6);
+    }
+
+    TEST(FULL_REORDERED_JACOBIAN)
+    {
+        IniSection* aSection = iniFile.GetSection("FULL_REORDERED_JACOBIAN");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix = aRR->getFullReorderedJacobian();
+        DoubleMatrix ref = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        cout<<"Reference\n"<<ref;
+        cout<<"matrix\n"<<matrix;
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(EIGEN_VALUES)
+    {
+        IniSection* aSection = iniFile.GetSection("EIGEN_VALUES");
+        //Read in the reference data, from the ini file
+        if(!aSection || !aRR)
+        {
+            CHECK(false);
+            return;
+        }
+
+        vector<Complex> eigenVals = aRR->getEigenvaluesCpx();
+        if(eigenVals.size() != aSection->KeyCount())
+        {
+            CHECK(false);
+            return;
+        }
+
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            clog<<"EigenValue "<<i<<"_ref: "<<aSection->GetKey(i)->AsString()<<endl;
+            IniKey *aKey = aSection->GetKey(i);
+            std::complex<double> eig(aKey->AsComplex());
+            clog<<"EigenValue "<<i<<": "<<real(eigenVals[i])<<endl;
+            CHECK_CLOSE(aKey->AsFloat(), real(eigenVals[i]), 1e-6);
+        }
+    }
+
+    TEST(STOICHIOMETRY_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("STOICHIOMETRY_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix mat = aRR->getStoichiometryMatrix();
+        DoubleMatrix ref = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(mat.RSize() != ref.RSize() || mat.CSize() != ref.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, mat, mat.RSize(), mat.CSize(), 1e-6);
+    }
+
+    TEST(REORDERED_STOICHIOMETRY_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("REORDERED_STOICHIOMETRY_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix mat             = aRR->getReorderedStoichiometryMatrix();
+        DoubleMatrix ref             = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(mat.RSize() != ref.RSize() || mat.CSize() != ref.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, mat, mat.RSize(), mat.CSize(), 1e-6);
+    }
+
+    TEST(FULLY_REORDERED_STOICHIOMETRY_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("FULLY_REORDERED_STOICHIOMETRY_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix mat             = aRR->getFullyReorderedStoichiometryMatrix();
+        DoubleMatrix ref             = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(mat.RSize() != ref.RSize() || mat.CSize() != ref.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, mat, mat.RSize(), mat.CSize(), 1e-6);
+    }
+
+    TEST(LINK_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("LINK_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix     = *(aRR->getLinkMatrix());
+        DoubleMatrix ref          = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(false);
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(UNSCALED_ELASTICITY_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("UNSCALED_ELASTICITY_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix     = aRR->getUnscaledElasticityMatrix();
+        DoubleMatrix ref          = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(!"Wrong matrix dimensions" );
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(SCALED_ELASTICITY_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("SCALED_ELASTICITY_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix     = aRR->getScaledElasticityMatrix();
+        DoubleMatrix ref          = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(!"Wrong matrix dimensions" );
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(UNSCALED_CONCENTRATION_CONTROL_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("UNSCALED_CONCENTRATION_CONTROL_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix     = aRR->getUnscaledConcentrationControlCoefficientMatrix();
+        DoubleMatrix ref          = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(!"Wrong matrix dimensions" );
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+
+    TEST(UNSCALED_FLUX_CONTROL_MATRIX)
+    {
+        IniSection* aSection = iniFile.GetSection("UNSCALED_FLUX_CONTROL_MATRIX");
+           if(!aSection)
+        {
+            CHECK(false);
+            return;
+        }
+
+        //Read in the reference data, from the ini file
+        DoubleMatrix matrix     = aRR->getUnscaledFluxControlCoefficientMatrix();
+        DoubleMatrix ref          = ParseMatrixFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+        {
+            CHECK(!"Wrong matrix dimensions" );
+            return;
+        }
+
+        CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+    }
+}
+
diff --git a/source/tr1proxy/cxx11_ns.h b/source/tr1proxy/cxx11_ns.h
new file mode 100644
index 0000000..b08fcf1
--- /dev/null
+++ b/source/tr1proxy/cxx11_ns.h
@@ -0,0 +1,29 @@
+#ifndef _INCLUDED_CXX_11_NS_H_
+#define _INCLUDED_CXX_11_NS_H_
+
+#if __APPLE__
+  #include <AvailabilityMacros.h>
+  #if !defined(MAC_OS_X_VERSION_10_9)
+    #define MAC_OS_X_VERSION_10_9 1090
+  #endif
+
+  // is Mavericks
+  #if (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9) || (__cplusplus >= 201103L)
+    #define cxx11_ns std
+  #else
+    // need to define that we've defined std ns for SWIG.
+    #define CXX11_NS_TR1
+    #define cxx11_ns std::tr1
+  #endif                                                   // OSX ver
+#else                                                      // not __APPLE__
+  #if (__cplusplus >= 201103L) || defined(_MSC_VER)
+    #define cxx11_ns std
+  #else
+    // need to define that we've defined std ns for SWIG.
+    #define CXX11_NS_TR1
+    #define cxx11_ns std::tr1
+  #endif
+#endif                                                     // __APPLE__
+
+
+#endif // _INCLUDED_CXX_11_NS_H_
diff --git a/source/tr1proxy/rr_memory.h b/source/tr1proxy/rr_memory.h
new file mode 100644
index 0000000..cf657a7
--- /dev/null
+++ b/source/tr1proxy/rr_memory.h
@@ -0,0 +1,36 @@
+#ifndef _INCLUDED_RR_MEMORY_H_
+#define _INCLUDED_RR_MEMORY_H_
+
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file rr_memory.h
+  * @author JKM
+  * @date 12/15/2014
+  * @copyright Apache License, Version 2.0
+  * @brief A proxy for maintaining compatibility across C++ std library versions
+  * @details C++11 moved tr1 headers and classes into the standard namespace,
+  * hence no use for a tr1 prefix.
+**/
+
+#include "cxx11_ns.h"
+
+#if __APPLE__
+  // is Mavericks
+  #if (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9) || (__cplusplus >= 201103L)
+    #include <memory>
+  #else
+    #include <tr1/memory>
+  #endif                                                   // OSX ver
+#else                                                      // not __APPLE__
+  #if (__cplusplus >= 201103L) || defined(_MSC_VER)
+    #include <memory>
+  #else
+    #include <tr1/memory>
+  #endif
+#endif                                                     // __APPLE__
+
+#endif //  _INCLUDED_RR_MEMORY_H_
diff --git a/source/tr1proxy/rr_random.h b/source/tr1proxy/rr_random.h
new file mode 100644
index 0000000..ba0e97e
--- /dev/null
+++ b/source/tr1proxy/rr_random.h
@@ -0,0 +1,43 @@
+#ifndef _INCLUDED_RR_RANDOM_H_
+#define _INCLUDED_RR_RANDOM_H_
+
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file rr_random.h
+  * @author JKM
+  * @date 12/15/2014
+  * @copyright Apache License, Version 2.0
+  * @brief A proxy for maintaining compatibility across C++ std library versions
+  * @details C++11 moved tr1 headers and classes into the standard namespace,
+  * hence no use for a tr1 prefix.
+**/
+
+#include "cxx11_ns.h"
+
+#if __APPLE__
+  // is Mavericks
+  #if (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9) || (__cplusplus >= 201103L)
+    #include <random>
+    // mavericks forces C++ 11 random generator.
+    #define CXX11_RANDOM
+  #else
+    #include <tr1/random>
+  #endif                                                    // OSX ver
+#else                                                       // not __APPLE__
+  #if (__cplusplus >= 201103L) || defined(_MSC_VER)
+    #include <random>
+  #else
+    #include <tr1/random>
+  #endif
+  // MSVC can use either C++ 11 random or C++ tr1 random
+  #if (__cplusplus >= 201103L)
+    #define CXX11_RANDOM
+  #endif
+
+#endif                                                     // __APPLE__
+
+#endif // _INCLUDED_RR_RANDOM_H_
diff --git a/source/tr1proxy/rr_unordered_map.h b/source/tr1proxy/rr_unordered_map.h
new file mode 100644
index 0000000..462d1da
--- /dev/null
+++ b/source/tr1proxy/rr_unordered_map.h
@@ -0,0 +1,38 @@
+#ifndef _INCLUDED_RR_UNORDERED_MAP_H_
+#define _INCLUDED_RR_UNORDERED_MAP_H_
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file rr_unordered_map.h
+  * @author JKM
+  * @date 12/15/2014
+  * @copyright Apache License, Version 2.0
+  * @brief A proxy for maintaining compatibility across C++ std library versions
+  * @details C++11 moved tr1 headers and classes into the standard namespace,
+  * hence no use for a tr1 prefix.
+**/
+#include "cxx11_ns.h"
+
+#if __APPLE__
+  // is Mavericks
+  #if (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9) || (__cplusplus >= 201103L) || RR_USE_CXX11
+    #include <unordered_map>
+    #define RR_UNORDERED_MAP std::unordered_map
+  #else
+    #include <tr1/unordered_map>
+    #define RR_UNORDERED_MAP std::tr1::unordered_map
+  #endif                                                   // OSX ver
+#else                                                      // not __APPLE__
+  #if (__cplusplus >= 201103L) || defined(_MSC_VER) || RR_USE_CXX11
+    #include <unordered_map>
+    #define RR_UNORDERED_MAP std::unordered_map
+  #else
+    #include <tr1/unordered_map>
+    #define RR_UNORDERED_MAP std::tr1::unordered_map
+  #endif
+#endif                                                     // __APPLE__
+
+#endif //  _INCLUDED_RR_UNORDERED_MAP_H_
diff --git a/testing/Bimolecular_end.rrtest b/testing/Bimolecular_end.rrtest
new file mode 100644
index 0000000..dd59e6d
--- /dev/null
+++ b/testing/Bimolecular_end.rrtest
@@ -0,0 +1,275 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-22 11:05 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Bimolecular_end" name="Bimolecular_end">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="8.03" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="7.12" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="3.97" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="default_compartment" initialConcentration="0.96" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" compartment="default_compartment" initialConcentration="0.54" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X0 </ci>
+              <ci> S1 </ci>
+              <cn> 4.39 </cn>
+              <cn> 9.85 </cn>
+              <cn> 7.38 </cn>
+              <cn> 6.12 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <cn> 6.12 </cn>
+              <cn> 9.15 </cn>
+              <cn> 1.59 </cn>
+              <cn> 4.68 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S2 </ci>
+              <ci> S3 </ci>
+              <cn> 4.68 </cn>
+              <cn> 8.22 </cn>
+              <cn> 4.29 </cn>
+              <cn> 0.57 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S3 </ci>
+              <ci> X1 </ci>
+              <cn> 0.57 </cn>
+              <cn> 0.8 </cn>
+              <cn> 2.2 </cn>
+              <cn> 4.65 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <cn> 4.65 </cn>
+                <ci> S2 </ci>
+                <ci> S3 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn> 7.61 </cn>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Get Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Species Concentrations]
+"[S1] = 13.3940"
+"[S2] = 8.07426"
+"[S3] = 2.72327"
+
+[Steady State Fluxes]
+J0 = 0.717175
+J1 = 1.03483
+J2 = 0.717175
+J3 = 0.399521
+J4 = 0.317655
+
+[Full Jacobian]
+        -7.73052        37.54530        12.7685
+        7.61            -38.0367        -12.479
+        7.68369         -37.0998        -12.9527
+
+[Individual Eigenvalues]
+S1= -58.0303  0
+S2= -0.634653  0
+S3= -0.0549761 0
+
+[Eigenvalue Matrix]
+-58.0303  0
+-0.0549761 0
+-0.634653  0
+
+[Stoichiometry Matrix]
+         1         -1          0          0          1
+         0          0          1         -1         -1
+         0          1         -1          0         -1
+
+[Link Matrix]
+         1          0          0
+         0          1          0
+         0          0          1
+
+[Unscaled Elasticity Matrix]
+-0.0468309         0              0
+ 0.0736884         0             -0.105245
+ 0                -0.445545       0.184212
+ 0                 0.045832       0
+-7.61             37.5453        12.6632
+
+[Scaled Elasticity Matrix]
+-0.874617       0               0
+ 0.953764       0              -0.821173
+ 0             -1.69183         2.07394
+ 0              0.312409        0
+-320.878        321.878         321.878
+
+[Unscaled Concentration Control Matrix]
+14.673          -6.20668        -2.24064        -6.22567        -0.0189895
+1.32614         -0.981005       0.653527        -0.998665       -0.0176601
+4.90579         -0.794829       -3.27825        -0.832715       -0.037886
+
+[Scaled Concentration Control Matrix]
+0.785658        -0.479532       -0.119974       -0.185701       -0.000450359
+0.349241        -0.372777       0.172107        -0.14651        -0.00205995
+0.435744        -0.101869       -0.291182       -0.0412034      -0.0014905
+
+[Unscaled Flux Control Matrix]
+0.31285         0.290665        0.104931        0.291554        0.000889297
+0.56492         0.626291        0.179909        -0.371121       0.002588
+0.31285         0.290665        0.104931        0.291554        0.000889297
+0.0607802       -0.0449617      0.0299526       0.954229        -0.000809402
+0.25207         0.335626        0.0749784       -0.662675       0.0016987
+
+[Scaled Flux Control Matrix]
+0.31285         0.419407        0.104931        0.162418        0.000393892
+0.391511        0.626291        0.124684        -0.14328        0.000794419
+0.31285         0.419407        0.104931        0.162418        0.000393892
+0.109106        -0.116459       0.0537676       0.954229        -0.000643546
+0.569104        1.09338         0.16928         -0.83346        0.0016987
+
+[Get Reaction Rates]
+0.717175 1.03483 0.717175 0.399521 0.317655
+
diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt
new file mode 100644
index 0000000..0475ca3
--- /dev/null
+++ b/testing/CMakeLists.txt
@@ -0,0 +1,33 @@
+cmake_minimum_required(VERSION 2.8)
+PROJECT(tests)
+
+set(tests
+    README.txt
+    Test_1.txt
+    ModelSourceTest.h
+    ModelSourceTest.c
+)
+install(
+    FILES ${tests}
+    DESTINATION testing 	COMPONENT testing
+)
+
+file(GLOB datfiles "${CMAKE_CURRENT_SOURCE_DIR}/*.dat")
+install(
+    FILES ${datfiles}
+    DESTINATION testing COMPONENT testing
+)
+
+
+file(GLOB xmlfiles "${CMAKE_CURRENT_SOURCE_DIR}/*.xml")
+install(
+    FILES ${xmlfiles}
+    DESTINATION testing COMPONENT testing
+)
+
+file(GLOB rrtestfiles "${CMAKE_CURRENT_SOURCE_DIR}/*.rrtest")
+install(
+    FILES ${rrtestfiles}
+    DESTINATION testing COMPONENT testing
+)
+
diff --git a/testing/Comp.rrtest b/testing/Comp.rrtest
new file mode 100644
index 0000000..46db68d
--- /dev/null
+++ b/testing/Comp.rrtest
@@ -0,0 +1,32 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model substanceUnits="mole" timeUnits="second" extentUnits="mole">
+    <listOfUnitDefinitions>
+      <unitDefinition id="per_second">
+        <listOfUnits>
+          <unit kind="second" exponent="-1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="compartment1" spatialDimensions="3" size="1" units="litre" constant="true"/>
+    </listOfCompartments>
+  </model>
+</sbml>
+
+[Floating Species Ids]
+ 
+
+[Boundary Species Ids]
+ 
+
+[Global Parameter Ids]
+ 
+
+[Compartment Ids]
+compartment1
+
+[Reaction Ids]
+ 
+
diff --git a/testing/Conserved_Cycle.rrtest b/testing/Conserved_Cycle.rrtest
new file mode 100644
index 0000000..5cd9003
--- /dev/null
+++ b/testing/Conserved_Cycle.rrtest
@@ -0,0 +1,186 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-22 11:05 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Conserved_Cycle" name="Conserved_Cycle">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" initialConcentration="2.82" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="5.27" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <cn> 8.52 </cn>
+              <cn> 3.25 </cn>
+              <cn> 7.43 </cn>
+              <cn> 7.02 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S2 </ci>
+              <ci> S1 </ci>
+              <cn> 7.02 </cn>
+              <cn type="integer"> 9 </cn>
+              <cn> 7.95 </cn>
+              <cn> 9.37 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2]"
+
+[Get Steady State Selection List]
+"[S1] [S2]"
+
+[Species Concentrations]
+"[S1] = 2.74767"
+"[S2] = 5.34233"
+
+[Steady State Fluxes]
+J0 = 2.03087
+J1 = 2.03087
+
+[Full Jacobian]
+-0.953246	0.538069
+0.953246	-0.538069
+
+[Reduced Jacobian]
+-1.49131
+
+[Individual Eigenvalues]
+S1= -1.49131	0
+S2 = 0          0
+
+[Eigenvalue Matrix]
+-1.49131	0
+0	        0
+
+[Reduced Eigenvalue Matrix]
+-1.49131	0
+
+[Stoichiometry Matrix]
+        -1          1
+        1          -1
+
+[Link Matrix]
+         1
+        -1
+
+[Unscaled Elasticity Matrix]
+0.778587	-0.252206
+-0.174659	0.285862
+
+[Scaled Elasticity Matrix]
+1.05339	-0.663444
+-0.236304	0.751978
+
+[Unscaled Concentration Control Matrix]
+-0.670549	0.670549
+0.670549	-0.670549
+
+[Scaled Concentration Control Matrix]
+-0.49562	0.49562
+0.254907	-0.254907
+
+[Unscaled Flux Control Matrix]
+0.308802	0.691198
+0.308802	0.691198
+
+[Scaled Flux Control Matrix]
+0.308802	0.691198
+0.308802	0.691198
+
+[Get Reaction Rates]
+ 2.03087  2.03087
+
diff --git a/testing/Conserved_Cycle_and_Branch.rrtest b/testing/Conserved_Cycle_and_Branch.rrtest
new file mode 100644
index 0000000..b072051
--- /dev/null
+++ b/testing/Conserved_Cycle_and_Branch.rrtest
@@ -0,0 +1,213 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-23 15:24 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Conserved_Cycle_and_Branch" name="Conserved_Cycle_and_Branch">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="5.49" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="6.3" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A" compartment="default_compartment" initialConcentration="0.06" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" compartment="default_compartment" initialConcentration="3.98" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="B" compartment="default_compartment" initialConcentration="1.63" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X2" compartment="default_compartment" initialConcentration="4.77" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X0 </ci>
+              <ci> S1 </ci>
+              <cn> 9.37 </cn>
+              <cn> 9.41 </cn>
+              <cn> 2.76 </cn>
+              <cn> 2.23 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <cn> 2.23 </cn>
+                <ci> S1 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn> 3.15 </cn>
+                <ci> A </ci>
+                <ci> X1 </ci>
+                <ci> B </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+          <speciesReference species="X2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <cn> 9.28 </cn>
+                <ci> S1 </ci>
+                <ci> B </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn> 4.25 </cn>
+                <ci> A </ci>
+                <ci> X2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [A] [B]"
+
+[Get Steady State Selection List]
+"[S1] [A] [B]"
+
+[Species Concentrations]
+"[S1]=12.2427"
+"[A]=3.49344"
+"[B]=0.623355"
+
+[Steady State Fluxes]
+J0 = 0
+J1 = 0
+J2 = 1.42109e-014
+
+[Full Jacobian]
+-8.08892	-69.815	28.0875
+-3.55473	-157.41	12.4575
+8.01473	        69.815	-28.0875
+
+[Reduced Jacobian]
+-8.08892	-69.815	28.0875
+-3.55473	-157.41	12.4575
+8.01473	        69.815	-28.0875
+
+[Individual Eigenvalues]
+S1 = -166.016	0
+A  = -27.5127	0
+B = -0.0576819	0
+
+[Eigenvalue Matrix]
+-166.016	0
+-0.0576819	0
+-27.5127	0
+
+[Stoichiometry Matrix]
+1	-1	-1
+0	1	-1
+0	1	1
+
+[Link Matrix]
+1	0	0
+0	1	0
+0	0	1
+
+[Unscaled Elasticity Matrix]
+-0.0741835	0	0
+2.23	-43.7972	-7.815
+5.78473	113.612	-20.2725
+
+[Get Reaction Rates]
+ 0 0 1.42109e-014
diff --git a/testing/Cycle.rrtest b/testing/Cycle.rrtest
new file mode 100644
index 0000000..07dbbdf
--- /dev/null
+++ b/testing/Cycle.rrtest
@@ -0,0 +1,240 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-23 15:24 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Cycle" name="Cycle">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="0.29" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="5.26" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="0.26" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="default_compartment" initialConcentration="4.44" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" compartment="default_compartment" initialConcentration="4.63" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <cn> 7.61 </cn>
+                <ci> X0 </ci>
+                <ci> S2 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn> 2.65 </cn>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <cn> 9.21 </cn>
+                <ci> S1 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn> 4.4 </cn>
+                <ci> S2 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S3 </ci>
+              <ci> X1 </ci>
+              <cn> 6.13 </cn>
+              <cn> 3.42 </cn>
+              <cn> 4.14 </cn>
+              <cn> 4.78 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Get Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Species Concentrations]
+"[S2] = 3.10186"
+"[S1] = 2.41814"
+"[S3] = 1.59975"
+
+[Steady State Fluxes]
+J0 = 0.437424
+J1 = 0.437424
+J2 = 0.437424
+
+[Get Reaction Rates]
+0.437424 0.437424 0.437424
+
+[Full Jacobian]
+-9.24579	-13.6482	11.86
+-7.03889	-14.2918	9.21
+9.24579	         13.6482	-11.86
+
+[Reduced Jacobian]
+-21.1058	-13.6482
+-16.2489	-14.2918
+
+[Individual Eigenvalues]
+S1 = -2.42217	0
+S2 = -32.9754	0
+S3 = 0	0
+
+[Eigenvalue Matrix]
+-32.9754	0
+0	0
+-2.42217	0
+
+[Reduced Eigenvalue Matrix]
+-32.9754	0
+-2.42217	0
+
+[Stoichiometry Matrix]
+-1	1	0
+0	1	-1
+1	-1	0
+
+[Reduced Stoichiometry Matrix]
+-1	1	0
+0	1	-1
+
+[Link Matrix]
+1	0
+0	1
+-1	0
+
+[Unscaled Elasticity Matrix]
+2.2069  	0       	-2.65
+-7.03889	-13.6482	9.21
+0       	0.643627	0
+
+[Scaled Elasticity Matrix]
+15.6495 	0       	-14.6495
+-49.9141	-49.9141	50.9141
+0       	2.35387 	0
+
+[Unscaled Concentration Control Matrix]
+-0.178934	0.00805822	0.170875
+0.203436	0.0608085	-0.264245
+0.178934	-0.00805822	-0.170875
+
+[Scaled Concentration Control Matrix]
+-0.0252332	0.00113637	0.0240969
+0.0556263	0.0166271	-0.0722534
+0.0323678	-0.00145767	-0.0309102
+
+[Unscaled Flux Control Matrix]
+0.130937	0.0391379	0.829925
+0.130937	0.0391379	0.829925
+0.130937	0.0391379	0.829925
+
+[Scaled Flux Control Matrix]
+0.130937	0.0391379	0.829925
+0.130937	0.0391379	0.829925
+0.130937	0.0391379	0.829925
diff --git a/testing/Cycle_across_branches.rrtest b/testing/Cycle_across_branches.rrtest
new file mode 100644
index 0000000..b5fb238
--- /dev/null
+++ b/testing/Cycle_across_branches.rrtest
@@ -0,0 +1,246 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-24 11:40 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Cycle_across_branches" name="Cycle_across_branches">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="3.96" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="A" compartment="default_compartment" initialConcentration="0.79" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="B" compartment="default_compartment" initialConcentration="0.99" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="5.28" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X2" compartment="default_compartment" initialConcentration="7.14" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X1" compartment="default_compartment" initialConcentration="4.97" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <cn> 9.12 </cn>
+                <ci> X0 </ci>
+                <ci> A </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn> 3.28 </cn>
+                <ci> B </ci>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> X2 </ci>
+              <cn> 1.67 </cn>
+              <cn> 1.05 </cn>
+              <cn> 2.82 </cn>
+              <cn> 2.4 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <cn> 9.07 </cn>
+                <ci> S1 </ci>
+                <ci> B </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn> 2.56 </cn>
+                <ci> A </ci>
+                <ci> X1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [A] [B]"
+
+[Get Steady State Selection List]
+"[S1] [A] [B]"
+
+[Species Concentrations]
+"[A] = 0.764194"
+"[B] = 1.01581"
+"[S1] = 2.975"
+
+[Steady State Fluxes]
+J0 = 17.6868
+J1 = 0
+J2 = 17.6868
+
+[Get Reaction Rates]
+17.6868 0 17.6868
+
+[Full Jacobian]
+-12.7951	-36.7413	48.8384
+-12.5452	-36.7413	48.8384
+ 12.5452	 36.7413	-48.8384
+
+[Reduced Jacobian]
+-12.7951	-85.5797
+-12.5452	-85.5797
+
+[Individual Eigenvalues]
+A = 0	0
+S1 = -0.217852	0
+B  = -98.1569	0
+
+[Eigenvalue Matrix]
+	-0.217852	0
+	-98.1569	0
+	0	0
+
+[Reduced Eigenvalue Matrix]
+	-0.217852	0
+	-98.1569	0
+
+[Stoichiometry Matrix]
+1	-1	-1
+1	0	-1
+-1	0	1
+
+[Reduced Stoichiometry Matrix]
+1	-1	-1
+1	0	-1
+
+[Link Matrix]
+1	0
+0	1
+0	-1
+
+[Unscaled Elasticity Matrix]
+-3.33184	-9.758	36.1152
+0.249869	0	0
+9.21336	26.9833	-12.7232
+
+#[Scaled Elasticity Matrix]
+#-0.560432	-0.560432	1.56043
+#-INF	0	0
+#1.54973	1.54973	-0.549732
+
+[Unscaled Concentration Control Matrix]
+0	-4.0021	0
+0.011685	0.586672	-0.011685
+-0.011685	-0.586672	0.011685
+
+[Scaled Concentration Control Matrix]
+0	0	0
+0.203454	0	-0.203454
+-0.270442	0	0.270442
+
+[Unscaled Flux Control Matrix]
+0.463971	-13.5781	0.536029
+0	-1.77636e-015	0
+0.463971	-13.5781	0.536029
+
+[Scaled Flux Control Matrix]
+0.463971	0	0.536029
+0	0	0
+0.463971	0	0.536029
+
diff --git a/testing/Cycle_to_Input_and_Branch.rrtest b/testing/Cycle_to_Input_and_Branch.rrtest
new file mode 100644
index 0000000..9b62055
--- /dev/null
+++ b/testing/Cycle_to_Input_and_Branch.rrtest
@@ -0,0 +1,299 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-24 11:40 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Cycle_to_Input_and_Branch" name="Cycle_to_Input_and_Branch">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="5.49" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="7.04" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="A" compartment="default_compartment" initialConcentration="4.97" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" compartment="default_compartment" initialConcentration="5.62" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="B" compartment="default_compartment" initialConcentration="8.52" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X2" compartment="default_compartment" initialConcentration="6.11" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X3" compartment="default_compartment" initialConcentration="0.83" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X4" compartment="default_compartment" initialConcentration="3.96" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="S2" value="2.74" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X0 </ci>
+              <ci> S1 </ci>
+              <cn> 4.25 </cn>
+              <cn> 8.27 </cn>
+              <cn> 0.83 </cn>
+              <cn> 7.78 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <cn> 2.28 </cn>
+                <ci> S1 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn> 5.83 </cn>
+                <ci> X1 </ci>
+                <ci> B </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+          <speciesReference species="X2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <cn> 1.21 </cn>
+                <ci> S1 </ci>
+                <ci> B </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn> 0.39 </cn>
+                <ci> A </ci>
+                <ci> X2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="A" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X3 </ci>
+              <ci> A </ci>
+              <cn> 0.52 </cn>
+              <cn> 3.69 </cn>
+              <cn> 1.79 </cn>
+              <cn> 9.1 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="B" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> B </ci>
+              <ci> X4 </ci>
+              <cn> 9.1 </cn>
+              <cn> 4.18 </cn>
+              <cn> 5.81 </cn>
+              <cn> 9.12 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [A] [B]"
+
+[Get Steady State Selection List]
+"[S1] [A] [B]"
+
+[Species Concentrations]
+"[S1] = 30.8542"
+"[A] = 33.5804"
+"[B] = 2.12115"
+
+[Steady State Fluxes]
+J0 = 0.020168
+J1 = 0.848929
+J2 = -0.828761
+J3 = -0.020168
+J4 = 1.67769
+
+[Get Reaction Rates]
+0.020168 0.848929 -0.828761 -0.020168 1.67769
+
+[Full Jacobian]
+-4.84892	-4.56897	2.3829
+-0.286591	-70.9093	2.3829
+4.84659	4.56897	-2.38311
+
+[Reduced Jacobian]
+-4.84892	-4.56897	2.3829
+-0.286591	-70.9093	2.3829
+4.84659	4.56897	-2.38311
+
+[Individual Eigenvalues]
+A = -0.000879171	0
+B = -7.04019	0
+S1 = -71.1003	0
+
+[Eigenvalue Matrix]
+-71.1003	0
+-7.04019	0
+-0.000879171	0
+
+[Stoichiometry Matrix]
+1	-1	-1	0	0
+0	1	-1	0	-1
+0	1	1	1	0
+
+[Reduced Stoichiometry Matrix]
+1	-1	-1	0	0
+0	1	-1	0	-1
+0	1	1	1	0
+
+[Link Matrix]
+1	0	0
+0	1	0
+0	0	1
+
+[Unscaled Elasticity Matrix]
+-0.00232645	0	0
+2.28	-32.7646	0
+2.56659	37.3336	-2.3829
+0	0	-0.000211099
+0	0.811167	0
+
+[Scaled Elasticity Matrix]
+-3.55913	0	        0
+82.86620	-81.8662	0
+-95.5524	-95.5524	96.5524
+0	        0	        0.351486
+0	        1.02558	        0
+
+[Unscaled Concentration Control Matrix]
+359.249	        -0.0362059	-0.0318226	359.215	0.00219167
+24.691	        0.0276576	-0.00218849	24.7038	-0.0149231
+777.953	        0.399013	0.350705	778.327	-0.0241536
+
+[Scaled Concentration Control Matrix]
+0.234826	-0.000996177	0.000854772	-0.234804	0.000119172
+0.234764	0.0110692	0.00085507	-0.234885	-0.0118032
+0.467230	0.0100872	-0.00865536	-0.467455	-0.00120672
+
+[Unscaled Flux Control Matrix]
+0.164225	8.42312e-005	7.40335e-005	-0.835696	-5.09881e-006
+10.09640	0.0112596	-0.000850596	9.601590	0.493945
+-9.93216	-0.0111754	0.00092463	-10.4373	-0.49395
+-0.164225	-8.42312e-005	-7.40335e-005	0.835696	5.09881e-006
+20.02860	0.0224349	-0.00177523	20.03890	0.987895
+
+[Scaled Flux Control Matrix]
+0.164225	0.00354552	-0.00304224	0.835696	-0.000424147
+0.239860	0.0112596	0.000830389	-0.228106	0.976155
+0.241701	0.0114473	0.00092463	-0.253993	0.99992
+0.164225	0.00354552	-0.00304224	0.835696	-0.000424147
+0.240770	0.0113523	0.000876943	-0.240894	0.987895
diff --git a/testing/Event_timings_276.rrtest b/testing/Event_timings_276.rrtest
new file mode 100644
index 0000000..dd697f4
--- /dev/null
+++ b/testing/Event_timings_276.rrtest
@@ -0,0 +1,74 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.7.0 on 2016-02-02 11:18 with libSBML version 5.11.3. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="event_time" name="event_time">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="PP_S" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S3" compartment="default_compartment" initialConcentration="0.5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" compartment="default_compartment" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="K1" value="0.5" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="S4">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> S3 </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="PP_S" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="2" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> K1 </ci>
+              <ci> PP_S </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="E1" useValuesFromTriggerTime="true">
+        <trigger initialValue="true" persistent="true">
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="S3">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 5 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
+
+[Check Monotonic Timepoints]
+0 7 10
+
+[Check Event Pre and Postfire Timepoints]
+2
diff --git a/testing/Four_Steps.rrtest b/testing/Four_Steps.rrtest
new file mode 100644
index 0000000..bb1b5ad
--- /dev/null
+++ b/testing/Four_Steps.rrtest
@@ -0,0 +1,252 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-24 11:40 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Four_Steps" name="Four_Steps">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="4.08" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="7.37" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="9.16" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="default_compartment" initialConcentration="9.79" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X4" compartment="default_compartment" initialConcentration="7.43" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X0 </ci>
+              <ci> S1 </ci>
+              <cn> 9.84 </cn>
+              <cn> 9.91 </cn>
+              <cn> 0.46 </cn>
+              <cn> 6.37 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <cn> 2.14 </cn>
+              <cn> 6.09 </cn>
+              <cn> 7.42 </cn>
+              <cn> 7.31 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S2 </ci>
+              <ci> S3 </ci>
+              <cn> 5.8 </cn>
+              <cn> 5.76 </cn>
+              <cn> 6.91 </cn>
+              <cn> 4.07 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S3 </ci>
+              <ci> X4 </ci>
+              <cn> 9.57 </cn>
+              <cn> 8.04 </cn>
+              <cn> 7.02 </cn>
+              <cn> 4.26 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Get Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Species Concentrations]
+"[S1] = 2.60673"
+"[S2] = 1.5381"
+"[S3] = 2.7844"
+
+[Steady State Fluxes]
+J0 = 0.514917
+J1 = 0.514917
+J2 = 0.514917
+J3 = 0.514917
+
+[Get Reaction Rates]
+0.514917 0.514917 0.514917 0.514917
+
+[Full Jacobian]
+-0.343335	-0      	0.0718305
+-0      	-0.661122	0.549436
+0.163175	0.192771	-0.621266
+
+[Reduced Jacobian]
+-0.343335	-0      	0.0718305
+-0      	-0.661122	0.549436
+0.163175	0.192771	-0.621266
+
+[Individual Eigenvalues]
+S1 = -0.245896	0
+S3 = -0.403749	0
+S2 = -0.976077	0
+
+[Eigenvalue Matrix]
+-0.245896	0
+-0.403749	0
+-0.976077	0
+
+[Reduced Eigenvalue Matrix]
+-0.245896	0
+-0.403749	0
+-0.976077	0
+
+[Stoichiometry Matrix]
+1	-1	0	0
+0	0	1	-1
+0	1	-1	0
+
+[Link Matrix]
+1	0	0
+0	1	0
+0	0	1
+
+[Unscaled Elasticity Matrix]
+-0.180159	0	0
+0.163175	0	-0.0718305
+0	-0.192771	0.549436
+0	0.468351	0
+
+[Scaled Elasticity Matrix]
+-0.912045	0	0
+0.826063	0	-0.214564
+0       	-1.0424	1.64121
+0       	2.5326	0
+
+[Unscaled Concentration Control Matrix]
+3.14552 	-2.65546	-0.347162	-0.14289
+0.925173	1.02147 	0.133542	-2.08019
+1.11324 	1.22911 	-1.65936	-0.682984
+
+[Scaled Concentration Control Matrix]
+0.621345	-0.524543	-0.0685762	-0.0282256
+0.171091	0.18890 	0.0246958	-0.384687
+0.372683	0.411475	-0.555512	-0.228646
+
+[Unscaled Flux Control Matrix]
+0.433305	0.478407	0.0625446	0.025743
+0.433305	0.478407	0.0625446	0.025743
+0.433305	0.478407	0.0625446	0.025743
+0.433305	0.478407	0.0625446	0.025743
+
+[Scaled Flux Control Matrix]
+0.433305	0.478407	0.0625446	0.025743
+0.433305	0.478407	0.0625446	0.025743
+0.433305	0.478407	0.0625446	0.025743
+0.433305	0.478407	0.0625446	0.025743
diff --git a/testing/Futile_Cycle.rrtest b/testing/Futile_Cycle.rrtest
new file mode 100644
index 0000000..bbeb7ac
--- /dev/null
+++ b/testing/Futile_Cycle.rrtest
@@ -0,0 +1,245 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-24 11:40 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Futile_Cycle" name="Futile_Cycle">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="6.74" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="3.5" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="0.81" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" compartment="default_compartment" initialConcentration="8.03" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X0 </ci>
+              <ci> S1 </ci>
+              <cn> 6.4 </cn>
+              <cn> 7.74 </cn>
+              <cn> 8.11 </cn>
+              <cn> 7.72 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <cn> 7.72 </cn>
+              <cn> 2.47 </cn>
+              <cn> 6.71 </cn>
+              <cn> 7.68 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S2 </ci>
+              <ci> S1 </ci>
+              <cn> 7.68 </cn>
+              <cn> 8.69 </cn>
+              <cn> 6.85 </cn>
+              <cn> 3.51 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S2 </ci>
+              <ci> X1 </ci>
+              <cn> 3.51 </cn>
+              <cn> 6.16 </cn>
+              <cn> 7.38 </cn>
+              <cn> 4.39 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2]"
+
+[Get Steady State Selection List]
+"[S1] [S2]"
+
+[Species Concentrations]
+"[S1] = 9.70169"
+"[S2] = 12.5189"
+
+[Steady State Fluxes]
+J0 = 1.47829
+J1 = 3.71353
+J2 = 2.23524
+J3 = 1.47829
+
+[Get Reaction Rates]
+1.47829 3.71353 2.23524 1.47829
+
+[Full Jacobian]
+-0.483005	0.303819
+0.388651	-0.383866
+
+[Reduced Jacobian]
+-0.483005	0.303819
+0.388651	-0.383866
+
+[Individual Eigenvalues]
+S1 = -0.78062	0
+S2 = -0.0862513	0
+
+[Eigenvalue Matrix]
+-0.78062	0
+-0.0862513	0
+
+[Reduced Eigenvalue Matrix]
+-0.78062	0
+-0.0862513	0
+
+[Stoichiometry Matrix]
+1	-1	1	0
+0	1	-1	-1
+
+[Reduced Stoichiometry Matrix]
+1	-1	1	0
+0	1	-1	-1
+
+[Link Matrix]
+1	0
+0	1
+
+[Unscaled Elasticity Matrix]
+-0.0943532	0
+0.238765	-0.14137
+-0.149886	0.16245
+0       	0.0800472
+
+[Scaled Elasticity Matrix]
+-0.619221	0
+0.62378 	-0.476581
+-0.650558	0.909832
+0       	0.677882
+
+[Unscaled Concentration Control Matrix]
+5.70131	-1.18889	 1.18889	-4.51243
+5.77238	 1.40137	-1.40137	-7.17375
+
+[Scaled Concentration Control Matrix]
+0.868732	-0.455071	0.273916	-0.687576
+0.681627	0.415691	-0.250212	-0.847106
+
+[Unscaled Flux Control Matrix]
+0.462063	0.112175	-0.112175	0.425762
+0.545234	0.518025	0.481975	-0.0632584
+0.083171	0.405849	0.594151	-0.48902
+0.462063	0.112175	-0.112175	0.425762
+
+[Scaled Flux Control Matrix]
+0.462063	0.281790	-0.169615	0.425762
+0.217047	0.518025	0.290110	-0.025182
+0.0550055	0.674260	0.594151	-0.323416
+0.462063	0.281790	-0.169615	0.425762
diff --git a/testing/Gillespie.rrtest b/testing/Gillespie.rrtest
new file mode 100644
index 0000000..dae69c3
--- /dev/null
+++ b/testing/Gillespie.rrtest
@@ -0,0 +1,46 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.8.0 on 2016-04-26 13:03 with libSBML version 5.11.9. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="test" name="test" substanceUnits="substance">
+    <listOfUnitDefinitions>
+      <unitDefinition id="substance">
+        <listOfUnits>
+          <unit kind="item" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="TetR" compartment="default_compartment" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kTbye" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="TetR" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kTbye </ci>
+              <ci> TetR </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Gillespie Seed]
+"1234 1233"
+
+[Gillespie Value]
+"0"
+
diff --git a/testing/LibStructTest.dat b/testing/LibStructTest.dat
new file mode 100644
index 0000000..cd5d0bd
--- /dev/null
+++ b/testing/LibStructTest.dat
@@ -0,0 +1,22 @@
+[LS_TESTS]
+InputFile=feedback.xml
+ModelName = Feedback
+
+
+[getLinkMatrix]
+1    0    0    0 
+0    1    0    0
+0    0    1    0
+0    0    0    1
+
+[getEigenvaluesMatrix]
+1 0
+1 0 
+1 0
+1 0
+
+[getEigenvaluesVector]
+(1,0) 
+(1,0) 
+(1,0) 
+(1,0) 
diff --git a/testing/LibStructTest.txt b/testing/LibStructTest.txt
new file mode 100644
index 0000000..cd5d0bd
--- /dev/null
+++ b/testing/LibStructTest.txt
@@ -0,0 +1,22 @@
+[LS_TESTS]
+InputFile=feedback.xml
+ModelName = Feedback
+
+
+[getLinkMatrix]
+1    0    0    0 
+0    1    0    0
+0    0    1    0
+0    0    0    1
+
+[getEigenvaluesMatrix]
+1 0
+1 0 
+1 0
+1 0
+
+[getEigenvaluesVector]
+(1,0) 
+(1,0) 
+(1,0) 
+(1,0) 
diff --git a/testing/ModelSourceTest.c b/testing/ModelSourceTest.c
new file mode 100644
index 0000000..8da8d69
--- /dev/null
+++ b/testing/ModelSourceTest.c
@@ -0,0 +1,7 @@
+#include "ModelSourceTest.h"
+
+int TestFunction()
+{
+    return 42;
+}
+
diff --git a/testing/ModelSourceTest.h b/testing/ModelSourceTest.h
new file mode 100644
index 0000000..6710a0c
--- /dev/null
+++ b/testing/ModelSourceTest.h
@@ -0,0 +1,20 @@
+#ifndef modelH
+#define modelH
+#include <stdio.h>
+#include <stdbool.h>
+#if defined(WIN32)
+    #if defined(BUILD_MODEL_DLL)
+        #define D_S __declspec(dllexport)
+    #else
+        #define D_S __declspec(dllimport)
+    #endif
+#else
+    #define D_S 
+#endif
+
+
+D_S int TestFunction();                          
+
+
+
+#endif 
diff --git a/testing/MultiBranch2.rrtest b/testing/MultiBranch2.rrtest
new file mode 100644
index 0000000..3efaa6c
--- /dev/null
+++ b/testing/MultiBranch2.rrtest
@@ -0,0 +1,310 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-24 11:40 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="MultiBranch2" name="MultiBranch2">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="9.59" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="3.94" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="1.71" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="default_compartment" initialConcentration="4.4" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" compartment="default_compartment" initialConcentration="2.61" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X2" compartment="default_compartment" initialConcentration="6.74" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X0 </ci>
+              <ci> S1 </ci>
+              <cn> 6.98 </cn>
+              <cn> 4.47 </cn>
+              <cn> 5.45 </cn>
+              <cn> 3.4 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <cn> 3.4 </cn>
+              <cn> 9.13 </cn>
+              <cn> 7.4 </cn>
+              <cn> 5.21 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S3 </ci>
+              <ci> S1 </ci>
+              <cn> 5.21 </cn>
+              <cn> 7.95 </cn>
+              <cn> 9.49 </cn>
+              <cn> 0.43 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S3 </ci>
+              <ci> S2 </ci>
+              <cn> 0.43 </cn>
+              <cn> 5.25 </cn>
+              <cn> 9.11 </cn>
+              <cn> 8.99 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S2 </ci>
+              <ci> X1 </ci>
+              <cn> 8.99 </cn>
+              <cn> 5.56 </cn>
+              <cn> 0.04 </cn>
+              <cn> 5.89 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J5" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X2 </ci>
+              <ci> S3 </ci>
+              <cn> 5.89 </cn>
+              <cn> 5.66 </cn>
+              <cn> 0.56 </cn>
+              <cn> 6.4 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Get Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Species Concentrations]
+"[S1] = 20.2604"
+"[S2] = 37.6868"
+"[S3] = 43.9129
+
+[Steady State Fluxes]
+J0 = 0.826174
+J1 = 0.583642
+J2 = -0.242532
+J3 = 0.240965
+J4 = 0.824607
+J5 = -0.00156709
+
+[Get Reaction Rates]
+0.826174 0.583642 -0.242532 0.240965 0.824607 -0.00156709
+
+[Full Jacobian]
+-0.299188	0.0180883	0.0792111
+0.0371121	-0.0408322	0.00266692
+0.173066	0.00263393	-0.0838605
+
+[Reduced Jacobian]
+-0.299188	0.0180883	0.0792111
+0.0371121	-0.0408322	0.00266692
+0.173066	0.00263393	-0.0838605
+
+[Individual Eigenvalues]
+S2 = -0.0225799	0
+S3 = -0.0490645	0
+S1 = -0.352236	0
+
+[Eigenvalue Matrix]
+-0.352236	0
+-0.0225799	0
+-0.0490645	0
+
+[Reduced Eigenvalue Matrix]
+-0.352236	0
+-0.0225799	0
+-0.0490645	0
+
+[Stoichiometry Matrix]
+1	-1	1	0	0	0
+0	1	0	1	-1	0
+0	0	-1	-1	0	1
+
+[Reduced Stoichiometry Matrix]
+1	-1	1	0	0	0
+0	1	0	1	-1	0
+0	0	-1	-1	0	1
+
+[Link Matrix]
+1	0	0
+0	1	0
+0	0	1
+
+[Unscaled Elasticity Matrix]
+-0.0890091	0	0
+0.0371121	-0.0180883	0
+-0.173066	0	0.0792111
+0	-0.00263393	0.00266692
+0	0.02011	0
+0	0	-0.00198248
+
+[Scaled Elasticity Matrix]
+-2.18279	0	0
+1.2883	-1.16799	0
+14.4574	0	-14.342
+0	-0.411945	0.486013
+0	0.919082	0
+0	0	55.5529
+
+[Unscaled Concentration Control Matrix]
+8.75678	-4.33499	0.344873	-3.99012	-4.42179	8.41191
+9.15811	20.0072	-0.419765	19.5874	-29.1653	9.57788
+18.3594	-8.3179	-11.226	-19.5439	-10.0415	29.5854
+
+[Scaled Concentration Control Matrix]
+0.357082	-0.124878	-0.00412838	-0.047456	-0.179969	-0.000650638
+0.200765	0.309844	0.00270138	0.125239	-0.638151	-0.000398266
+0.345412	-0.110553	0.0620017	-0.107244	-0.188561	-0.00105579
+
+[Unscaled Flux Control Matrix]
+0.220567	0.385854	-0.0306968	0.355157	0.39358	-0.748737
+0.159328	0.477224	0.0203918	-0.502384	0.363447	0.138937
+-0.0612382	0.0913707	0.0510886	-0.857541	-0.0301325	0.887673
+0.0248411	-0.0748806	-0.0288333	0.896286	0.0500395	0.0536744
+0.184169	0.402344	-0.00844148	0.393902	0.413487	0.192611
+-0.0363971	0.0164901	0.0222554	0.0387454	0.019907	0.941348
+
+[Scaled Flux Control Matrix]
+0.220567	0.272582	0.00901138	0.103586	0.392833	0.0014202
+0.225537	0.477224	-0.0084738	-0.207416	0.513502	-0.000373047
+0.208605	-0.219879	0.0510886	0.852	0.10245	0.00573558
+0.0851705	-0.181369	0.0290208	0.896286	0.17124	-0.000349065
+0.184519	0.284772	0.00248279	0.115105	0.413487	-0.000366039
+19.1887	-6.14152	3.44438	-5.95774	-10.4751	0.941348
diff --git a/testing/Multibranch1.rrtest b/testing/Multibranch1.rrtest
new file mode 100644
index 0000000..ae6e13c
--- /dev/null
+++ b/testing/Multibranch1.rrtest
@@ -0,0 +1,273 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-24 11:40 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Multibranch1" name="Multibranch1">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="9.94" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="5.01" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" compartment="default_compartment" initialConcentration="8.54" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="1.3" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X2" compartment="default_compartment" initialConcentration="7.32" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X3" compartment="default_compartment" initialConcentration="9.59" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X0 </ci>
+              <ci> S1 </ci>
+              <cn> 7.61 </cn>
+              <cn> 0.9 </cn>
+              <cn> 9.26 </cn>
+              <cn> 5.38 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> X1 </ci>
+              <cn> 1.15 </cn>
+              <cn> 8.66 </cn>
+              <cn> 4.89 </cn>
+              <cn> 9.47 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <cn> 5.58 </cn>
+              <cn> 3.34 </cn>
+              <cn> 5.97 </cn>
+              <cn> 0.79 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S2 </ci>
+              <ci> X2 </ci>
+              <cn> 0.79 </cn>
+              <cn> 4.47 </cn>
+              <cn> 9.16 </cn>
+              <cn> 9.15 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S2 </ci>
+              <ci> X3 </ci>
+              <cn> 9.15 </cn>
+              <cn> 7.6 </cn>
+              <cn> 4.51 </cn>
+              <cn> 6.98 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2]"
+
+[Get Steady State Selection List]
+"[S1] [S2]"
+
+[Species Concentrations]
+"[S1] = 25.3877
+"[S2] = 8.59844
+
+[Steady State Fluxes]
+J0 = 2.98573
+J1 = 0.572662
+J2 = 2.41307
+J3 = 0.370226
+J4 = 2.04284
+
+[Get Reaction Rates]
+2.98573 0.572662 2.41307 0.370226 2.04284
+
+[Full Jacobian]
+-0.234269	0.250858
+0.0944276	-0.495719
+
+[Reduced Jacobian]
+-0.234269	0.250858
+0.0944276	-0.495719
+
+[Individual Eigenvalues]
+S1 = -0.163061	0
+S2 = -0.566927	0
+
+[Eigenvalue Matrix]
+-0.163061	0
+-0.566927	0
+
+[Reduced Eigenvalue Matrix]
+-0.163061	0
+-0.566927	0
+
+[Stoichiometry Matrix]
+1	-1	-1	0	0
+0	0	1	-1	-1
+
+[Reduced Stoichiometry Matrix]
+1	-1	-1	0	0
+0	0	1	-1	-1
+
+[Link Matrix]
+1	0
+0	1
+
+[Unscaled Elasticity Matrix]
+-0.1281	0
+0.0117413	0
+0.0944276	-0.250858
+0	0.025226
+0	0.219635
+
+[Scaled Elasticity Matrix]
+-1.08923	0
+0.520522	0
+0.993464	-0.893876
+0	0.585868
+0	0.924455
+
+[Unscaled Concentration Control Matrix]
+5.36240	-5.36240	-2.64876	-2.71363	-2.71363
+1.02146	-1.02146	1.512720	-2.53418	-2.53418
+
+[Scaled Concentration Control Matrix]
+0.630647	-0.120958	-0.251762	-0.0395727	-0.218355
+0.354694	-0.0680302	0.424531	-0.109115	-0.602079
+
+[Unscaled Flux Control Matrix]
+0.313078	0.686922	0.339306	0.347616	0.347616
+0.0629613	0.937039	-0.0310998	-0.0318615	-0.0318615
+0.250116	-0.250116	0.370406	0.379478	0.379478
+0.0257674	-0.0257674	0.0381598	0.936073	-0.0639272
+0.224349	-0.224349	0.332246	-0.556595	0.443405
+
+[Scaled Flux Control Matrix]
+0.313078	0.131751	0.274227	0.0431039	0.23784
+0.328266	0.937039	-0.131048	-0.0205985	-0.113659
+0.309473	-0.0593568	0.370406	0.0582216	0.321256
+0.207804	-0.0398567	0.248719	0.936073	-0.352739
+0.327899	-0.0628908	0.392460	-0.100872	0.443405
diff --git a/testing/NOM_Test.dat b/testing/NOM_Test.dat
new file mode 100644
index 0000000..42432ec
--- /dev/null
+++ b/testing/NOM_Test.dat
@@ -0,0 +1,6 @@
+# Input model for the data below is TestModel_1.xml. This model file can be found in roadrunners reference_data folder.
+
+[NOM_TESTS]
+InputFile=feedback.xml
+ModelName = Feedback
+NumberOfRules = 0
diff --git a/testing/README.txt b/testing/README.txt
new file mode 100644
index 0000000..5cbca9a
--- /dev/null
+++ b/testing/README.txt
@@ -0,0 +1,2 @@
+
+These files are used to test the roadRunner C++ API.
\ No newline at end of file
diff --git a/testing/SimpleUniUni.rrtest b/testing/SimpleUniUni.rrtest
new file mode 100644
index 0000000..f47d4a5
--- /dev/null
+++ b/testing/SimpleUniUni.rrtest
@@ -0,0 +1,43 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.8.0 on 2016-05-12 16:26 with libSBML version 5.11.9. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="__main" name="__main">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Stoichiometry Matrix]
+-1
+1
+
+[Reduced Stoichiometry Matrix]
+-1
\ No newline at end of file
diff --git a/testing/Simple_Branch.rrtest b/testing/Simple_Branch.rrtest
new file mode 100644
index 0000000..d85d7ea
--- /dev/null
+++ b/testing/Simple_Branch.rrtest
@@ -0,0 +1,208 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-24 11:40 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Simple_Branch" name="Simple_Branch">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="7.43" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="9.69" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" compartment="default_compartment" initialConcentration="8.41" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X2" compartment="default_compartment" initialConcentration="9.94" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X0 </ci>
+              <ci> S1 </ci>
+              <cn> 4.26 </cn>
+              <cn> 8.8 </cn>
+              <cn> 6.02 </cn>
+              <cn> 6.04 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> X1 </ci>
+              <cn> 8.62 </cn>
+              <cn> 2.47 </cn>
+              <cn> 3.83 </cn>
+              <cn> 8.87 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> X2 </ci>
+              <cn> 3.59 </cn>
+              <cn> 2.68 </cn>
+              <cn> 4.05 </cn>
+              <cn> 7.61 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1]"
+
+[Get Steady State Selection List]
+"[S1]"
+
+[Species Concentrations]
+"[S1] = 2.3697"
+
+[Steady State Fluxes]
+J0 = 1.52231
+J1 = 1.19394
+J2 = 0.328371
+
+[Get Reaction Rates]
+1.52231 1.19394 0.328371
+
+[Full Jacobian]
+-1.15287
+
+[Reduced Jacobian]
+-1.15287
+
+[Individual Eigenvalues]
+S1 = -1.15287	0
+
+[Eigenvalue Matrix]
+-1.15287	0
+
+[Reduced Eigenvalue Matrix]
+-1.15287	0
+
+[Stoichiometry Matrix]
+1	-1	-1
+
+[Reduced Stoichiometry Matrix]
+1	-1	-1
+
+[Link Matrix]
+1
+
+[Unscaled Elasticity Matrix]
+-0.148807
+0.723549
+0.280515
+
+[Scaled Elasticity Matrix]
+-0.23164
+1.43608
+2.02435
+
+[Unscaled Concentration Control Matrix]
+0.8674	-0.8674	-0.8674
+
+[Scaled Concentration Control Matrix]
+0.557223	-0.437027	-0.120196
+
+[Unscaled Flux Control Matrix]
+0.870925	0.129075	0.129075
+0.627606	0.372394	-0.627606
+0.243319	-0.243319	0.756681
+
+[Scaled Flux Control Matrix]
+0.870925	0.101233	0.0278422
+0.800217	0.372394	-0.172611
+1.128010	-0.884695	0.756681
diff --git a/testing/Test_1.rrtest b/testing/Test_1.rrtest
new file mode 100644
index 0000000..e0dbc96
--- /dev/null
+++ b/testing/Test_1.rrtest
@@ -0,0 +1,370 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 11/28/2012 from  -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2/version4" level = "2" version = "4">
+   <model id = "cell">
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "src" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "waste" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "Xo" boundaryCondition = "true" initialConcentration = "1" compartment = "compartment"/>
+         <species id = "X1" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "S1" boundaryCondition = "false" initialConcentration = "0.1" compartment = "compartment"/>
+         <species id = "S2" boundaryCondition = "false" initialConcentration = "0.25" compartment = "compartment"/>
+         <species id = "S3" boundaryCondition = "false" initialConcentration = "0.1" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "kk1" value = "1"/>
+         <parameter id = "k1" value = "0.1"/>
+         <parameter id = "k_1" value = "0.05"/>
+         <parameter id = "kk2" value = "1"/>
+         <parameter id = "k2" value = "0.15"/>
+         <parameter id = "k_2" value = "0.067"/>
+         <parameter id = "kk3" value = "1"/>
+         <parameter id = "k3" value = "0.4"/>
+         <parameter id = "k_3" value = "0.09"/>
+         <parameter id = "kk4" value = "1"/>
+         <parameter id = "k4" value = "0.55"/>
+         <parameter id = "k_4" value = "0.01"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "J1" reversible = "true">
+            <listOfReactants>
+               <speciesReference species = "Xo" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk1
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k1
+                           </ci>
+                           <ci>
+                                 Xo
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_1
+                           </ci>
+                           <ci>
+                                 S1
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J2" reversible = "true">
+            <listOfReactants>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk2
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k2
+                           </ci>
+                           <ci>
+                                 S1
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_2
+                           </ci>
+                           <ci>
+                                 S2
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J3" reversible = "true">
+            <listOfReactants>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk3
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k3
+                           </ci>
+                           <ci>
+                                 S2
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_3
+                           </ci>
+                           <ci>
+                                 S3
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J4" reversible = "true">
+            <listOfReactants>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "X1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk4
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k4
+                           </ci>
+                           <ci>
+                                 S3
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_4
+                           </ci>
+                           <ci>
+                                 X1
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Get Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Species Concentrations]
+"[S1] = 0.569694868238558"
+"[S2] = 0.208044382801664"
+"[S3] = 0.13002773925104"
+
+[Get Species Initial Concentrations By Index]
+0.1 0.1 0.25
+
+[Get Initial Floating Species Concs]
+0.1 0.1 0.25
+
+[Set Species Initial Concentrations By Index]
+0.31 0.32 0.33
+
+[Set Species Initial Concentrations]
+init([S1]) = 0.34
+init([S2]) = 0.35
+init([S3]) = 0.36
+
+[Steady State Fluxes]
+J1 = 0.0715152565880721
+J2 = 0.0715152565880721
+J3 = 0.0715152565880721
+J4 = 0.0715152565880721
+
+[Full Jacobian]
+      -0.2      0           0.067
+         0     -0.64        0.4
+      0.15     0.09        -0.467
+
+[Individual Eigenvalues]
+S1= -0.157263450928358 0
+S3= -0.382371338369918 0
+S2= -0.767365210701723 0
+
+[Eigenvalue Matrix]
+-0.157263450928358 0
+-0.382371338369918 0
+-0.767365210701723 0
+
+[Stoichiometry Matrix]
+         1         -1          0          0
+         0          0          1         -1
+         0          1         -1          0
+
+[Link Matrix]
+         1          0          0
+         0          1          0
+         0          0          1
+
+[Unscaled Elasticity Matrix]
+     -0.05          0          0
+      0.15        0        -0.067
+         0        -0.09      0.4
+         0         0.55      0
+
+[Scaled Elasticity Matrix]
+-0.39830303          0          0
+ 1.1949091           0 -0.19490909
+         0   -0.16363636   1.1636364
+         0          1          0
+
+[Unscaled Concentration Control Matrix]
+ 5.6969487 -4.7676838 -0.79858703 -0.13067788
+ 1.3002774  0.4334258 0.072598821  -1.806302
+ 2.0804438 0.69348128 -2.3838419 -0.39008322
+
+[Scaled Concentration Control Matrix]
+0.715152565880724 -0.598499560612292 -0.100248676402559 -0.0164043288658731
+0.715152565880721 0.238384188626906 0.039929351595007 -0.993466106102634
+0.715152565880721 0.238384188626906 -0.819445648404993 -0.134091106102633
+
+[Unscaled Flux Control Matrix]
+0.71515257 0.23838419 0.039929352 0.0065338939
+0.71515257 0.23838419 0.039929352 0.0065338939
+0.71515257 0.23838419 0.039929352 0.0065338939
+0.71515257 0.23838419 0.039929352 0.0065338939
+
+[Scaled Flux Control Matrix]
+0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736468
+0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736467
+0.715152565880722 0.238384188626906 0.039929351595007 0.00653389389736467
+0.715152565880722 0.238384188626906 0.0399293515950071 0.0065338938973647
+
+#[Individual Unscaled Flux Control Coefficients]
+
+[Floating Species Ids]
+S1 S3 S2
+
+[Boundary Species Ids]
+src waste Xo X1
+
+[Global Parameter Ids]
+kk1 k1 k_1 kk2 k2 k_2 kk3 k3 k_3 kk4 k4 k_4
+
+[Compartment Ids]
+compartment
+
+[Reaction Ids]
+J1 J2 J3 J4
+
+[Species Initial Concentration Ids]
+init([S1]) init([S3]) init([S2])
+
+[Get Eigenvalue Ids]
+eigen(S1) eigen(S3) eigen(S2)
+
+[Get Rates Of Change Ids]
+S1' S3' S2'
+
+[Set Steady State Selection List 2]
+"[S2] [S3]"
+
+[Get Steady State Selection List 2]
+"[S2] [S3]"
+
+[Set Time Course Selection List]
+time [S2] [S3]
+
+[Get Time Course Selection List]
+time [S2] [S3]
+
+[Compute Steady State Values]
+0.20804438 0.1300277392
+
+[Floating Species Concentrations]
+0.56969487 0.13002774 0.20804438
+
+[Boundary Species Concentrations]
+0 0 1 0
+
+[Get Global Parameter Values]
+1    0.1   0.05    1   0.15   0.067    1    0.4    0.09    1   0.55   0.01
+
+[Get Reaction Rates]
+0.07151526 0.07151526 0.07151526 0.07151526
+
+[Get Reaction Rates By Index]
+0.07151526 0.07151526 0.07151526 0.07151526
+
+[Number of Dependent Species]
+0
+
+[Number of Independent Species]
+3
+
+[Number Of Rate Rules]
+0
+
+[Get Rates Of Change]
+0 0 0
+
+[Get Reaction Rates Ex]
+concentrations=1 2 3
+rates=0.05 -0.051 1.02 1.1
+
+[Get Rates of Change Ex]
+concentrations=1 2 3
+rates=0.101 -0.08 -1.071
+
+[Get Rates of Change By Index]
+0.101 -0.08 -1.071
+
+[Get Control Coefficient]
+"J1 kk1 0.715153"
+"J1 kk2 0.238384"
+"J1 kk3 0.0399294"
+"J1 kk4 0.00653389"
+"S1 kk1 0.715153"
+"S1 kk2 -0.5985"
+"S1 kk3 -0.100249"
+"S1 kk4 -0.0164043"
diff --git a/testing/Test_1.txt b/testing/Test_1.txt
new file mode 100644
index 0000000..3656484
--- /dev/null
+++ b/testing/Test_1.txt
@@ -0,0 +1,361 @@
+# Simple Test Model
+# root = "roadRunnerTest_1";
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 1/1/2013 from  -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2/version4" level = "2" version = "4">
+   <model id = "cell">
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "src" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "waste" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "Xo" boundaryCondition = "true" initialConcentration = "1" compartment = "compartment"/>
+         <species id = "X1" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "S1" boundaryCondition = "false" initialConcentration = "0.1" compartment = "compartment"/>
+         <species id = "S2" boundaryCondition = "false" initialConcentration = "0.25" compartment = "compartment"/>
+         <species id = "S3" boundaryCondition = "false" initialConcentration = "0.1" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "kk1" value = "1"/>
+         <parameter id = "k1" value = "0.1"/>
+         <parameter id = "k_1" value = "0.05"/>
+         <parameter id = "kk2" value = "1"/>
+         <parameter id = "k2" value = "0.15"/>
+         <parameter id = "k_2" value = "0.067"/>
+         <parameter id = "kk3" value = "1"/>
+         <parameter id = "k3" value = "0.4"/>
+         <parameter id = "k_3" value = "0.09"/>
+         <parameter id = "kk4" value = "1"/>
+         <parameter id = "k4" value = "0.55"/>
+         <parameter id = "k_4" value = "0.01"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "J1" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "Xo" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk1
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k1
+                           </ci>
+                           <ci>
+                                 Xo
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_1
+                           </ci>
+                           <ci>
+                                 S1
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J2" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk2
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k2
+                           </ci>
+                           <ci>
+                                 S1
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_2
+                           </ci>
+                           <ci>
+                                 S2
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J3" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk3
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k3
+                           </ci>
+                           <ci>
+                                 S2
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_3
+                           </ci>
+                           <ci>
+                                 S3
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J4" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "X1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk4
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k4
+                           </ci>
+                           <ci>
+                                 S3
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_4
+                           </ci>
+                           <ci>
+                                 X1
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
+[END_MODEL]
+
+[JARNAC]
+p = defn cell
+      var S1, S2, S3;
+      ext src, waste;
+      ext Xo, X1;
+
+      J1: Xo -> S1; k1*Xo - k_1*S1;
+      J2: S1 -> S2; k2*S1 - k_2*S2;
+      J3: S2 -> S3; k3*S2 - k_3*S3;
+      J4: S3 -> X1; k4*S3 - k_4*X1;
+  end;
+
+p.Xo = 1;
+p.X1 = 0;
+p.S1 = 0.5;
+p.S2 = 0.2;
+p.S3 = 0.1;
+p.k1 = 0.1;  p.k_1 = 0.05;
+p.k2 = 0.15; p.k_2 = 0.067;
+p.k3 = 0.4;  p.k_3 = 0.09;
+p.k4 = 0.55; p.k_4 = 0.01;
+[END_MODEL]
+
+[INITIALIZATION]
+[Conservation Laws]
+True
+[END_INITIALIZATION]
+
+[START_TESTS]
+[Set Steady State Selection List]
+S1 S2 S3
+
+[Compute Steady State]
+True
+
+[Species Concentrations]
+S1 0.569694868238558
+S2 0.208044382801664
+S3 0.13002773925104
+
+[Fluxes]
+J1 0.0715152565880721
+J2 0.0715152565880721
+J3 0.0715152565880721
+J4 0.0715152565880721
+
+[Full Jacobian]
+      -0.2      0           0.067      
+         0     -0.64        0.4  
+      0.15     0.09        -0.467   
+         
+[Individual Eigenvalues]
+S1 -0.157263450928358 0
+S3 -0.382371338369918 0
+S2 -0.767365210701723 0
+
+[Eigenvalue Matrix]
+-0.157263450928358 0
+-0.382371338369918 0
+-0.767365210701723 0
+
+[Stoichiometry Matrix]
+         1         -1          0          0 
+         0          0          1         -1 
+         0          1         -1          0 
+         
+[Link Matrix]
+         1          0          0 
+         0          1          0 
+         0          0          1 
+         
+[Unscaled Elasticity Matrix]
+     -0.05          0          0 
+      0.15        0        -0.067      
+         0        -0.09      0.4
+         0         0.55      0  
+         
+[Scaled Elasticity Matrix]
+-0.39830303          0          0 
+ 1.1949091           0 -0.19490909  
+         0   -0.16363636   1.1636364
+         0          1          0
+         
+[Unscaled Concentration Control Matrix]
+ 5.6969487 -4.7676838 -0.79858703 -0.13067788 
+ 1.3002774  0.4334258 0.072598821  -1.806302 
+ 2.0804438 0.69348128 -2.3838419 -0.39008322 
+
+[Scaled Concentration Control Matrix]
+0.715152565880724 -0.598499560612292 -0.100248676402559 -0.0164043288658731 
+0.715152565880721 0.238384188626906 0.039929351595007 -0.993466106102634 
+0.715152565880721 0.238384188626906 -0.819445648404993 -0.134091106102633
+
+[Unscaled Flux Control Matrix]
+0.71515257 0.23838419 0.039929352 0.0065338939 
+0.71515257 0.23838419 0.039929352 0.0065338939 
+0.71515257 0.23838419 0.039929352 0.0065338939 
+0.71515257 0.23838419 0.039929352 0.0065338939 
+
+[Scaled Flux Control Matrix]
+0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736468 
+0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736467 
+0.715152565880722 0.238384188626906 0.039929351595007 0.00653389389736467 
+0.715152565880722 0.238384188626906 0.0399293515950071 0.0065338938973647
+
+#[Individual Unscaled Flux Control Coefficients]
+
+
+[Floating Species Ids]
+S1 S3 S2
+[Boundary Species Ids]
+src waste Xo X1
+[Global Parameter Ids]
+kk1 k1 k_1 kk2 k2 k_2 kk3 k3 k_3 kk4 k4 k_4 
+[Compartment Ids]
+compartment
+[Reaction Ids]
+J1 J2 J3 J4
+[Species Initial Condition Ids]
+init(S1) init(S3) init(S2)
+[Get Eigenvalue Ids]
+eigen_S1 eigen_S3 eigen_S2 
+[Get Rates Of Change Ids]
+S1' S3' S2'
+[Set Steady State Selection List]
+S2 S3
+[Get Steady State Selection List]
+S2 S3
+[Set Time Course Selection List]
+time S2 S3
+[Get Time Course Selection List]
+time S2 S3
+[Compute Steady State Values]
+0.20804438 0.1300277392
+[Floating Species Concentrations]
+0.56969487 0.13002774 0.20804438
+[Boundary Species Concentrations]
+0 0 1 0
+[Get Global Parameter Values]
+   1    0.1   0.05    1   0.15   0.067    1    0.4    0.09    1   0.55   0.01
+[Get Initial Floating Species Concs]
+0.1 0.1 0.25
+[Get Reaction Rates]
+0.07151526 0.07151526 0.07151526 0.07151526
+[Get Reaction Rate By Index]
+0.07151526 0.07151526 0.07151526 0.07151526
+[Number of Dependent Species]
+0
+[Number of Independent Species]
+3
+[Number Of Rules]
+0
+[Get Rates Of Change]
+0 0 0
+[Get Reaction Rates Ex]
+1 2 3
+0.05 -0.051 1.02 1.1
+[Get Rates of Change Ex]
+1 2 3
+0.101 -0.08 -1.071
+[Get Rate of Change by Index]
+1 2 3
+0.101 -0.08 -1.071
+[END_TESTS]
+
+
diff --git a/testing/Test_1.xml b/testing/Test_1.xml
new file mode 100644
index 0000000..ab3d7ab
--- /dev/null
+++ b/testing/Test_1.xml
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 11/28/2012 from  -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2/version4" level = "2" version = "4">
+   <model id = "cell">
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "src" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "waste" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "Xo" boundaryCondition = "true" initialConcentration = "1" compartment = "compartment"/>
+         <species id = "X1" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "S1" boundaryCondition = "false" initialConcentration = "0.1" compartment = "compartment"/>
+         <species id = "S2" boundaryCondition = "false" initialConcentration = "0.25" compartment = "compartment"/>
+         <species id = "S3" boundaryCondition = "false" initialConcentration = "0.1" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "kk1" value = "1"/>
+         <parameter id = "k1" value = "0.1"/>
+         <parameter id = "k_1" value = "0.05"/>
+         <parameter id = "kk2" value = "1"/>
+         <parameter id = "k2" value = "0.15"/>
+         <parameter id = "k_2" value = "0.067"/>
+         <parameter id = "kk3" value = "1"/>
+         <parameter id = "k3" value = "0.4"/>
+         <parameter id = "k_3" value = "0.09"/>
+         <parameter id = "kk4" value = "1"/>
+         <parameter id = "k4" value = "0.55"/>
+         <parameter id = "k_4" value = "0.01"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "J1" reversible = "true">
+            <listOfReactants>
+               <speciesReference species = "Xo" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk1
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k1
+                           </ci>
+                           <ci>
+                                 Xo
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_1
+                           </ci>
+                           <ci>
+                                 S1
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J2" reversible = "true">
+            <listOfReactants>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk2
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k2
+                           </ci>
+                           <ci>
+                                 S1
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_2
+                           </ci>
+                           <ci>
+                                 S2
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J3" reversible = "true">
+            <listOfReactants>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk3
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k3
+                           </ci>
+                           <ci>
+                                 S2
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_3
+                           </ci>
+                           <ci>
+                                 S3
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J4" reversible = "true">
+            <listOfReactants>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "X1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk4
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k4
+                           </ci>
+                           <ci>
+                                 S3
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_4
+                           </ci>
+                           <ci>
+                                 X1
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
diff --git a/testing/Test_2.rrtest b/testing/Test_2.rrtest
new file mode 100644
index 0000000..abcda23
--- /dev/null
+++ b/testing/Test_2.rrtest
@@ -0,0 +1,281 @@
+# Input model for the data below is Test_2.xml. This model file can be found in roadrunners reference_data folder.
+
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-07-16 14:11 with libSBML version 5.10.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="cell" name="cell">
+    <listOfCompartments>
+      <compartment id="compartment_" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="src" compartment="compartment_" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="waste" compartment="compartment_" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="Xo" compartment="compartment_" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X1" compartment="compartment_" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="compartment_" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="compartment_" initialConcentration="0.25" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="compartment_" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kk1" value="10" constant="true"/>
+      <parameter id="k1" value="0.1" constant="true"/>
+      <parameter id="k_1" value="0.05" constant="true"/>
+      <parameter id="kk2" value="1" constant="true"/>
+      <parameter id="k2" value="0.15" constant="true"/>
+      <parameter id="k_2" value="0.067" constant="true"/>
+      <parameter id="kk3" value="1" constant="true"/>
+      <parameter id="k3" value="0.4" constant="true"/>
+      <parameter id="k_3" value="0.09" constant="true"/>
+      <parameter id="kk4" value="1" constant="true"/>
+      <parameter id="k4" value="0.55" constant="true"/>
+      <parameter id="k_4" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="Xo" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk1 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> Xo </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk2 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k2 </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_2 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk3 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k3 </ci>
+                  <apply>
+                    <plus/>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_3 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk4 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k4 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_4 </ci>
+                  <ci> X1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Get Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Species Concentrations]
+"[S1] = 1.15846994535519"
+"[S2] = -0.546448087431694"
+"[S3] = 0.382513661202186"
+
+[Get Species Initial Concentrations By Index]
+0.1 0.25 0.1
+
+[Set Species Initial Concentrations By Index]
+0.30 0.31 0.32
+
+[Set Species Initial Concentrations]
+init([S1]) = 0.34
+init([S2]) = 0.35
+init([S3]) = 0.36
+
+[Steady State Fluxes]
+J1 = 0.420765
+J2 = 0.210383
+J3 = 0.210383
+J4 = 0.210383
+
+[Full Jacobian]
+	-1.05	-0.333000000000001	0.0900000000000004
+	-0.25	-0.467000000000001	0.0900000000000004
+	0.4	0.400000000000001	-0.640000000000002
+
+[Individual Eigenvalues]
+S1= -1.268443760927010 0
+S2= -0.580243796027970  0
+S3= -0.308312443045018 0
+
+[Eigenvalue Matrix]
+-1.268443760927010 0
+-0.580243796027970 0
+-0.308312443045018 0
+
+[Stoichiometry Matrix]
+         1         -1         -1          0
+         0          1         -1          0
+         0          0          1         -1
+
+[Link Matrix]
+         1          0          0
+         0          1          0
+         0          0          1
+
+[Unscaled Elasticity Matrix]
+     -0.5          0           0
+      0.15        -0.067       0
+      0.4          0.4        -0.09
+      0            0           0.55
+
+[Scaled Elasticity Matrix]
+-1.37662          0          0
+ 0.825974    0.174026        0
+ 2.2026      -1.03896        -0.163636
+       0          0          1
+
+#[Unscaled Concentration Control Matrix]
+# 5.6969487 -4.7676838 -0.79858703 -0.13067788
+# 1.3002774  0.4334258 0.072598821  -1.806302
+# 2.0804438 0.69348128 -2.3838419 -0.39008322
+
+#[Scaled Concentration Control Matrix]
+#0.715152565880724 -0.598499560612292 -0.100248676402559 -0.0164043288658731
+#0.715152565880721 0.238384188626906 0.039929351595007 -0.993466106102634
+#0.715152565880721 0.238384188626906 -0.819445648404993 -0.134091106102633
+
+#[Unscaled Flux Control Matrix]
+#0.71515257 0.23838419 0.039929352 0.0065338939
+#0.71515257 0.23838419 0.039929352 0.0065338939
+#0.71515257 0.23838419 0.039929352 0.0065338939
+#0.71515257 0.23838419 0.039929352 0.0065338939
+
+#[Scaled Flux Control Matrix]
+#0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736468
+#0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736467
+#0.715152565880722 0.238384188626906 0.039929351595007 0.00653389389736467
+#0.715152565880722 0.238384188626906 0.0399293515950071 0.0065338938973647
+
+#[Individual Unscaled Flux Control Coefficients]
+
+[Boundary Species Concentrations]
+0 0 1 0
+
+[Get Global Parameter Values]
+10    0.1   0.05    1   0.15   0.067    1    0.4    0.09    1   0.55   0.01
+
+[Get Reaction Rates]
+0.420765 0.210383 0.210383 0.210383
+
+[Get Reaction Rates By Index]
+0.420765 0.210383 0.210383 0.210383
+
+[Number of Dependent Species]
+0
+
+[Number of Independent Species]
+3
+
+[Number Of Rate Rules]
+0
+
+[Get Rates Of Change]
+0 0 0
+
+[Get Reaction Rates Ex]
+concentrations=1 2 3
+rates=0.5 0.016 0.93 1.65
+
+[Get Rates of Change Ex]
+concentrations=1 2 3
+rates=-0.446 -0.914 -0.72
+
+[Amount/Concentration Jacobians]
diff --git a/testing/Test_2.xml b/testing/Test_2.xml
new file mode 100644
index 0000000..61da5f3
--- /dev/null
+++ b/testing/Test_2.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-07-16 14:11 with libSBML version 5.10.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="cell" name="cell">
+    <listOfCompartments>
+      <compartment id="compartment_" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="src" compartment="compartment_" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="waste" compartment="compartment_" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="Xo" compartment="compartment_" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X1" compartment="compartment_" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="compartment_" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="compartment_" initialConcentration="0.25" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="compartment_" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kk1" value="10" constant="true"/>
+      <parameter id="k1" value="0.1" constant="true"/>
+      <parameter id="k_1" value="0.05" constant="true"/>
+      <parameter id="kk2" value="1" constant="true"/>
+      <parameter id="k2" value="0.15" constant="true"/>
+      <parameter id="k_2" value="0.067" constant="true"/>
+      <parameter id="kk3" value="1" constant="true"/>
+      <parameter id="k3" value="0.4" constant="true"/>
+      <parameter id="k_3" value="0.09" constant="true"/>
+      <parameter id="kk4" value="1" constant="true"/>
+      <parameter id="k4" value="0.55" constant="true"/>
+      <parameter id="k_4" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="Xo" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk1 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> Xo </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk2 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k2 </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_2 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk3 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k3 </ci>
+                  <apply>
+                    <plus/>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_3 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk4 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k4 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_4 </ci>
+                  <ci> X1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/testing/Test_3.rrtest b/testing/Test_3.rrtest
new file mode 100644
index 0000000..7ac65e4
--- /dev/null
+++ b/testing/Test_3.rrtest
@@ -0,0 +1,256 @@
+# Input model for the data below is Test_3.xml. This model file can be found in roadrunners reference_data folder.
+
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-07-17 13:33 with libSBML version 5.10.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="test3" name="test3">
+    <listOfCompartments>
+      <compartment id="compartment_" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="Xo" compartment="compartment_" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X1" compartment="compartment_" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="compartment_" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="compartment_" initialConcentration="0.25" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="compartment_" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kk1" value="5" constant="true"/>
+      <parameter id="k1" value="0.1" constant="true"/>
+      <parameter id="k_1" value="0.05" constant="true"/>
+      <parameter id="kk2" value="10" constant="true"/>
+      <parameter id="k2" value="0.15" constant="true"/>
+      <parameter id="k_2" value="0.067" constant="true"/>
+      <parameter id="kk3" value="1" constant="true"/>
+      <parameter id="k3" value="0.4" constant="true"/>
+      <parameter id="k_3" value="0.09" constant="true"/>
+      <parameter id="kk4" value="1" constant="true"/>
+      <parameter id="k4" value="0.55" constant="true"/>
+      <parameter id="k_4" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="Xo" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk1 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> Xo </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk2 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k2 </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_2 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk3 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k3 </ci>
+                  <apply>
+                    <plus/>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_3 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk4 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k4 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_4 </ci>
+                  <ci> X1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Get Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Species Concentrations]
+"[S1] = 0.290421"
+"[S2] = 0.331244"
+"[S3] = 0.388541"
+
+[Set Species Initial Concentrations]
+init([S1]) = 0.1
+init([S2]) = 0.25
+init([S3]) = 0.1
+
+[Steady State Fluxes]
+J1 = 0.427395
+J2 = 0.213697
+J3 = 0.213697
+J4 = 0.213697
+
+[Full Jacobian]
+	-2.15	0.27	0.09
+	1.1	-1.07	0.09
+	0.4	0.4	-0.64
+
+[Individual Eigenvalues]
+S1= -2.37948  0
+S2= -1.02054  0
+S3= -0.459983 0
+
+[Eigenvalue Matrix]
+-2.37948  0
+-1.02054  0
+-0.459983 0
+
+[Stoichiometry Matrix]
+         1         -1         -1          0
+         0          1         -1          0
+         0          0          1         -1
+
+[Link Matrix]
+         1          0          0
+         0          1          0
+         0          0          1
+
+[Unscaled Elasticity Matrix]
+     -0.25          0          0
+      1.5        -0.67         0
+      0.4          0.4        -0.09
+      0            0           0.55
+
+[Scaled Elasticity Matrix]
+-0.169879         0          0
+ 2.03854     -1.03854        0
+ 0.543611     0.620025     -0.163636
+       0          0          1
+
+[Unscaled Concentration Control Matrix]
+0.580841	-0.393912	-0.659803	-0.107968
+0.662489	0.537153	-1.60027	-0.261862
+0.777081	0.0895256	0.149955	-1.79364
+
+[Scaled Concentration Control Matrix]
+0.85479	-0.289848	-0.485496	-0.0794448
+0.85479	0.346536	-1.03239	-0.168936
+0.85479	0.0492391	0.0824754	-0.986504
+
+[Unscaled Flux Control Matrix]
+0.85479	0.0984781	0.164951	0.026992
+0.427395	0.0492391	0.0824754	0.013496
+0.427395	0.0492391	0.0824754	0.013496
+0.427395	0.0492391	0.0824754	0.013496
+
+[Scaled Flux Control Matrix]
+0.85479	0.0492391	0.0824754	0.013496
+0.85479	0.0492391	0.0824754	0.013496
+0.85479	0.0492391	0.0824754	0.013496
+0.85479	0.0492391	0.0824754	0.013496
+
+[Get Reaction Rates]
+0.427395 0.213697 0.213697 0.213697
+
+[Get Reaction Rates By Index]
+0.427395 0.213697 0.213697 0.213697
+
+[Get Rates Of Change]
+0 0 0
+
+[Get Control Coefficient]
+"J1 kk1 0.85479"
+"J1 kk2 0.0492391"
+"J1 kk3 0.0824754"
+"J1 kk4 0.013496"
+"S1 kk1 0.85479"
+"S1 kk2 -0.289848"
+"S1 kk3 -0.485496"
+"S1 kk4 -0.0794448"
diff --git a/testing/Test_3.xml b/testing/Test_3.xml
new file mode 100644
index 0000000..af0b29c
--- /dev/null
+++ b/testing/Test_3.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-07-17 13:33 with libSBML version 5.10.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="test3" name="test3">
+    <listOfCompartments>
+      <compartment id="compartment_" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="Xo" compartment="compartment_" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X1" compartment="compartment_" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="compartment_" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="compartment_" initialConcentration="0.25" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="compartment_" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kk1" value="5" constant="true"/>
+      <parameter id="k1" value="0.1" constant="true"/>
+      <parameter id="k_1" value="0.05" constant="true"/>
+      <parameter id="kk2" value="10" constant="true"/>
+      <parameter id="k2" value="0.15" constant="true"/>
+      <parameter id="k_2" value="0.067" constant="true"/>
+      <parameter id="kk3" value="1" constant="true"/>
+      <parameter id="k3" value="0.4" constant="true"/>
+      <parameter id="k_3" value="0.09" constant="true"/>
+      <parameter id="kk4" value="1" constant="true"/>
+      <parameter id="k4" value="0.55" constant="true"/>
+      <parameter id="k_4" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="Xo" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk1 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> Xo </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk2 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k2 </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_2 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk3 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k3 </ci>
+                  <apply>
+                    <plus/>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_3 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk4 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k4 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_4 </ci>
+                  <ci> X1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/testing/Three_Steps.rrtest b/testing/Three_Steps.rrtest
new file mode 100644
index 0000000..3a072ec
--- /dev/null
+++ b/testing/Three_Steps.rrtest
@@ -0,0 +1,219 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-24 11:40 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Three_Steps" name="Three_Steps">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="3.97" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="1.3" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="8.86" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X1" compartment="default_compartment" initialConcentration="4.08" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X0 </ci>
+              <ci> S1 </ci>
+              <cn> 2.3 </cn>
+              <cn> 1.24 </cn>
+              <cn> 3.21 </cn>
+              <cn> 6.5 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> S2 </ci>
+              <cn> 3.59 </cn>
+              <cn> 1.67 </cn>
+              <cn> 7.16 </cn>
+              <cn> 0.83 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S2 </ci>
+              <ci> X1 </ci>
+              <cn> 4.29 </cn>
+              <cn> 8.5 </cn>
+              <cn> 4.34 </cn>
+              <cn> 6.23 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2]"
+
+[Get Steady State Selection List]
+"[S1] [S2]"
+
+[Species Concentrations]
+"[S1] = 7.68162"
+"[S2] = 4.4903"
+
+[Steady State Fluxes]
+J0 = 0.784225
+J1 = 0.784225
+J2 = 0.784225
+
+[Get Reaction Rates]
+0.784225 0.784225 0.784225
+
+[Full Jacobian]
+-0.350131	0.433526
+0.269814	-0.600618
+
+[Reduced Jacobian]
+-0.350131	0.433526
+0.269814	-0.600618
+
+[Individual Eigenvalues]
+S1 = -0.111153	0
+S2 = -0.839596	0
+
+[Eigenvalue Matrix]
+-0.111153	0
+-0.839596	0
+
+[Reduced Eigenvalue Matrix]
+-0.111153	0
+-0.839596	0
+
+[Stoichiometry Matrix]
+1	-1	0
+0	1	-1
+
+[Reduced Stoichiometry Matrix]
+1	-1	0
+0	1	-1
+
+[Link Matrix]
+1	0
+0	1
+
+[Unscaled Elasticity Matrix]
+-0.0803177	0
+0.269814	-0.433526
+0	0.167092
+
+[Scaled Elasticity Matrix]
+-0.786726	0
+2.64287	-2.48228
+0	0.956733
+
+[Unscaled Concentration Control Matrix]
+6.43584	-1.79045	-4.64539
+2.89115	0.860633	-3.75178
+
+[Scaled Concentration Control Matrix]
+0.657042	-0.182789	-0.474253
+0.504935	0.150308	-0.655243
+
+[Unscaled Flux Control Matrix]
+0.483088	0.143805	0.373107
+0.483088	0.143805	0.373107
+0.483088	0.143805	0.373107
+
+[Scaled Flux Control Matrix]
+0.483088	0.143805	0.373107
+0.483088	0.143805	0.373107
+0.483088	0.143805	0.373107
diff --git a/testing/Two_Cycles.rrtest b/testing/Two_Cycles.rrtest
new file mode 100644
index 0000000..3c5e163
--- /dev/null
+++ b/testing/Two_Cycles.rrtest
@@ -0,0 +1,247 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-24 11:40 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Two_Cycles" name="Two_Cycles">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" initialConcentration="4.63" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="7.41" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="default_compartment" initialConcentration="3.4" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S4" compartment="default_compartment" initialConcentration="2.82" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <cn> 4.78 </cn>
+                <ci> S1 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn> 0.81 </cn>
+                <ci> S2 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S3 </ci>
+              <ci> S4 </ci>
+              <cn> 0.81 </cn>
+              <cn> 1.38 </cn>
+              <cn> 2.85 </cn>
+              <cn> 6.02 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S4" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <cn> 8.88 </cn>
+                <ci> S4 </ci>
+                <ci> S2 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <cn> 8.52 </cn>
+                <ci> S1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2] [S3] [S4]"
+
+[Get Steady State Selection List]
+"[S1] [S2] [S3] [S4]"
+
+[Species Concentrations]
+"[S1] = 5.3885"
+"[S2] = 6.6515"
+"[S3] = 4.67454"
+"[S4] = 0.786957"
+
+[Steady State Fluxes]
+J0 = 0.571896
+J1 = 0.571896
+J2 = 0.571896
+
+[Get Reaction Rates]
+0.571896 0.571896 0.5718906
+
+[Full Jacobian]
+-13.3	5.387720	10.77460	59.0653
+4.78	-5.42471	-3.78638	0.0639365
+13.3	-5.38772	-10.7746	-59.0653
+8.52	0.0369979	-6.98818	-59.1293
+
+[Reduced Jacobian]
+-83.1399	-53.6776
+8.50244	-5.48865
+
+[Individual Eigenvalues]
+S1 = -76.734	0
+S3 = -11.8946	0
+S2 = 0	0
+S4 = 0	0
+
+[Eigenvalue Matrix]
+-76.7340	0
+-11.8946	0
+0	0
+0	0
+
+[Reduced Eigenvalue Matrix]
+-76.7340	0
+-11.8946	0
+
+[Stoichiometry Matrix]
+-1	0	1
+1	-1	0
+1	0	-1
+0	1	-1
+
+[Reduced Stoichiometry Matrix]
+-1	0	1
+1	-1	0
+
+[Link Matrix]
+1	0
+0	1
+-1	0
+-1	-1
+
+[Unscaled Elasticity Matrix]
+4.78	-5.38772	-3.78638	0
+0	0.0369979	0	-0.0639365
+-8.52	0	6.98818	59.0653
+
+[Scaled Elasticity Matrix]
+45.0379	-44.0379	-44.0379	0
+0	0.302412	0	-0.0879798
+-80.2768	0	81.2768	81.2768
+
+[Unscaled Concentration Control Matrix]
+-0.0648243	0.0588108	0.00601353
+0.081775	-0.0910906	0.00931553
+0.0648243	-0.0588108	-0.00601353
+-0.0169507	0.0322798	-0.0153291
+
+[Scaled Concentration Control Matrix]
+-0.00687999	0.00624176	0.000638233
+0.0100046	-0.0111443	0.00113969
+0.0055736	-0.00505656	-0.000517044
+-0.0123184	0.0234583	-0.0111399
+
+[Unscaled Flux Control Matrix]
+0.00410927	0.994566	0.00132474
+0.00410927	0.994566	0.00132474
+0.00410927	0.994566	0.00132474
+
+[Scaled Flux Control Matrix]
+0.00410927	0.994566	0.00132474
+0.00410927	0.994566	0.00132474
+0.00410927	0.994566	0.00132474
diff --git a/testing/Two_Steps.rrtest b/testing/Two_Steps.rrtest
new file mode 100644
index 0000000..4d762d5
--- /dev/null
+++ b/testing/Two_Steps.rrtest
@@ -0,0 +1,181 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-09-24 11:40 with libSBML version 5.10.2. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Two_Steps" name="Two_Steps">
+    <listOfFunctionDefinitions>
+      <functionDefinition id="MM">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci> S1 </ci>
+            </bvar>
+            <bvar>
+              <ci> S2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Vm </ci>
+            </bvar>
+            <bvar>
+              <ci> Km1 </ci>
+            </bvar>
+            <bvar>
+              <ci> Km2 </ci>
+            </bvar>
+            <bvar>
+              <ci> Keq </ci>
+            </bvar>
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <apply>
+                  <divide/>
+                  <ci> Vm </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <minus/>
+                  <ci> S1 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S2 </ci>
+                    <ci> Keq </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <apply>
+                  <divide/>
+                  <ci> S1 </ci>
+                  <ci> Km1 </ci>
+                </apply>
+                <apply>
+                  <divide/>
+                  <ci> S2 </ci>
+                  <ci> Km2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </lambda>
+        </math>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X0" compartment="default_compartment" initialConcentration="2.56" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="default_compartment" initialConcentration="7.28" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="X2" compartment="default_compartment" initialConcentration="3.97" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> X0 </ci>
+              <ci> S1 </ci>
+              <cn> 3.25 </cn>
+              <cn> 2.31 </cn>
+              <cn> 1.43 </cn>
+              <cn> 0.86 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <ci> MM </ci>
+              <ci> S1 </ci>
+              <ci> X2 </ci>
+              <cn> 0.86 </cn>
+              <cn> 8.96 </cn>
+              <cn> 3.52 </cn>
+              <cn> 2.3 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1]"
+
+[Get Steady State Selection List]
+"[S1]"
+
+[Species Concentrations]
+"[S1] = 2.16248"
+
+[Steady State Fluxes]
+J0 = 0.0176792
+J1 = 0.0176792
+
+[Get Reaction Rates]
+0.0176792 0.0176792
+
+[Full Jacobian]
+-0.494962
+
+[Reduced Jacobian]
+-0.494962
+
+[Individual Eigenvalues]
+S1 = -0.494962	0
+
+[Eigenvalue Matrix]
+-0.494962	0
+
+[Reduced Eigenvalue Matrix]
+-0.494962	0
+
+[Stoichiometry Matrix]
+1	-1
+
+[Reduced Stoichiometry Matrix]
+1	-1
+
+[Link Matrix]
+1
+
+[Unscaled Elasticity Matrix]
+-0.455282
+0.0396798
+
+[Scaled Elasticity Matrix]
+-55.6888
+4.85352
+
+[Unscaled Concentration Control Matrix]
+2.02036	-2.02036
+
+[Scaled Concentration Control Matrix]
+0.0165174	-0.0165174
+
+[Unscaled Flux Control Matrix]
+0.0801674	0.919833
+0.0801674	0.919833
+
+[Scaled Flux Control Matrix]
+0.0801674	0.919833
+0.0801674	0.919833
diff --git a/testing/feedback.xml b/testing/feedback.xml
new file mode 100644
index 0000000..7b8f423
--- /dev/null
+++ b/testing/feedback.xml
@@ -0,0 +1,471 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2" xmlns:jd2="http://www.sys-bio.org/sbml/jd2" level="2" version="1">
+  <model id="feedback" name="Feedback">
+    <annotation>
+      <jd2:JDesignerLayout xmlns:jd2="http://www.sys-bio.org/sbml/jd2" version="2.0" MajorVersion="2" MinorVersion="3" BuildVersion="45">
+        <jd2:header>
+          <jd2:VersionHeader JDesignerVersion="1.0"/>
+          <jd2:ModelHeader ModelTitle="Feedback"/>
+          <jd2:TimeCourseDetails timeStart="0" timeEnd="25" numberOfPoints="200"/>
+        </jd2:header>
+        <jd2:JDGraphicsHeader BackGroundColor="FFFFFFEF"/>
+        <jd2:listOfCompartments>
+          <jd2:compartment id="compartment" size="1" visible="false">
+            <jd2:boundingBox x="0" y="0" w="0" h="0"/>
+            <jd2:membraneStyle thickness="12" color="FF00A5FF"/>
+            <jd2:interiorStyle color="FFEEEEFF"/>
+            <jd2:text value="compartment" visible="true">
+              <jd2:position rx="-31" ry="-16"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+          </jd2:compartment>
+        </jd2:listOfCompartments>
+        <jd2:listOfSpecies>
+          <jd2:species id="S1" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="138" y="104"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S1" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S2" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="234" y="143"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S2" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S3" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="318" y="178"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S3" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S4" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="411" y="212"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S4" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="X0" boundaryCondition="true" compartment="compartment" initialConcentration="10">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="33" y="60"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="X0" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="X1" boundaryCondition="true" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="415" y="292"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="X1" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+        </jd2:listOfSpecies>
+        <jd2:listOfReactions>
+          <jd2:reaction id="J0" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="X0" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S1" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges>
+              <jd2:modifierEdge>
+                <jd2:speciesReference species="S4"/>
+                <jd2:destinationReaction name="J0" regulatorType="rtNegative" relativePosition="0.415929203539823" destinationArcId="0" destinationLineSegmentId="0"/>
+                <jd2:display lineThickness="2" lineColor="FF0000FF" lineDashStyle="dsSolid" negativeMarkerStyle="rmBar">
+                  <jd2:lineType type="ltSegmentedLine">
+                    <jd2:pt x="423" y="224" type="modifier" speciesRef="S4"/>
+                    <jd2:pt x="353" y="243"/>
+                    <jd2:pt x="69" y="127"/>
+                    <jd2:pt x="84" y="101"/>
+                  </jd2:lineType>
+                </jd2:display>
+              </jd2:modifierEdge>
+            </jd2:listOfModifierEdges>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J0_VM1*(X0-S1/J0_Keq1)/(1+X0+S1+pow(S4,J0_h))"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="45" y="72" type="substrate" speciesRef="X0"/>
+                  <jd2:pt x="150" y="116" type="product" speciesRef="S1"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J1" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S1" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S2" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S1-2*S2)/(1+S1+S2)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="150" y="116" type="substrate" speciesRef="S1"/>
+                  <jd2:pt x="246" y="155" type="product" speciesRef="S2"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J2" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S2" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S3" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S2-2*S3)/(1+S2+S3)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="246" y="155" type="substrate" speciesRef="S2"/>
+                  <jd2:pt x="330" y="190" type="product" speciesRef="S3"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J3" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S3" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S4" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S3-2*S4)/(1+S3+S4)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="330" y="190" type="substrate" speciesRef="S3"/>
+                  <jd2:pt x="423" y="224" type="product" speciesRef="S4"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J4" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S4" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="X1" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J4_V4*S4/(J4_KS4+S4)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="423" y="224" type="substrate" speciesRef="S4"/>
+                  <jd2:pt x="427" y="304" type="product" speciesRef="X1"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+        </jd2:listOfReactions>
+      </jd2:JDesignerLayout>
+    </annotation>
+    <listOfCompartments>
+      <compartment id="compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="compartment" initialConcentration="0"/>
+      <species id="S2" compartment="compartment" initialConcentration="0"/>
+      <species id="S3" compartment="compartment" initialConcentration="0"/>
+      <species id="S4" compartment="compartment" initialConcentration="0"/>
+      <species id="X0" compartment="compartment" initialConcentration="10" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialConcentration="0" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="J0_VM1" value="10"/>
+      <parameter id="J0_Keq1" value="10"/>
+      <parameter id="J0_h" value="10"/>
+      <parameter id="J4_V4" value="2.5"/>
+      <parameter id="J4_KS4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> J0_VM1 </ci>
+                <apply>
+                  <minus/>
+                  <ci> X0 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S1 </ci>
+                    <ci> J0_Keq1 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> X0 </ci>
+                <ci> S1 </ci>
+                <apply>
+                  <power/>
+                  <ci> S4 </ci>
+                  <ci> J0_h </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S2 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S3 </ci>
+                <ci> S4 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> J4_V4 </ci>
+                <ci> S4 </ci>
+              </apply>
+              <apply>
+                <plus/>
+                <ci> J4_KS4 </ci>
+                <ci> S4 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/testing/jacobian_1.rrtest b/testing/jacobian_1.rrtest
new file mode 100644
index 0000000..65a27bb
--- /dev/null
+++ b/testing/jacobian_1.rrtest
@@ -0,0 +1,251 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5.2 on 2014-07-17 15:59 with libSBML version 5.10.0. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="test4" name="test4">
+    <listOfCompartments>
+      <compartment id="compartment1" spatialDimensions="3" size="1" constant="true"/>
+      <compartment id="compartment2" spatialDimensions="3" size="2" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="Xo" compartment="compartment1" initialConcentration="1" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="X1" compartment="compartment2" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S1" compartment="compartment1" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="compartment2" initialConcentration="0.25" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="compartment2" initialConcentration="0.1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="kk1" value="5" constant="true"/>
+      <parameter id="k1" value="0.1" constant="true"/>
+      <parameter id="k_1" value="0.05" constant="true"/>
+      <parameter id="kk2" value="10" constant="true"/>
+      <parameter id="k2" value="0.15" constant="true"/>
+      <parameter id="k_2" value="0.067" constant="true"/>
+      <parameter id="kk3" value="1" constant="true"/>
+      <parameter id="k3" value="0.4" constant="true"/>
+      <parameter id="k_3" value="0.09" constant="true"/>
+      <parameter id="kk4" value="1" constant="true"/>
+      <parameter id="k4" value="0.55" constant="true"/>
+      <parameter id="k_4" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="Xo" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk1 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k1 </ci>
+                  <ci> Xo </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_1 </ci>
+                  <ci> S1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk2 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k2 </ci>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_2 </ci>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk3 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k3 </ci>
+                  <apply>
+                    <plus/>
+                    <ci> S1 </ci>
+                    <ci> S2 </ci>
+                  </apply>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_3 </ci>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> kk4 </ci>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <ci> k4 </ci>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <ci> k_4 </ci>
+                  <ci> X1 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Amount/Concentration Jacobians]
+
+[Full Jacobian]
+      -2.15     0.27      0.09
+       1.1     -1.07      0.09
+       0.4      0.4      -0.64
+
+[Amount Jacobian]
+      -2.15     0.135      0.045
+       1.1     -0.535      0.045
+       0.4      0.2       -0.32
+
+[Steady State Fluxes]
+J1 = 0.427394807520143
+J2 = 0.213697403760072
+J3 = 0.213697403760072
+J4 = 0.213697403760072
+
+[Species Concentrations]
+"[S1] = 0.29042"
+"[S2] = 0.33124"
+"[S3] = 0.38854"
+
+[Get Steady State Selection List]
+"[S1] [S2] [S3]"
+
+[Individual Eigenvalues]
+S1= -2.37948 0
+S2= -1.02054 0
+S3= -0.459983 0
+
+[Eigenvalue Matrix]
+-2.37948 0
+-1.02054 0
+-0.459983 0
+
+[Individual Amount Eigenvalues]
+S1= -2.242810 0
+S2= -0.525048 0
+S3= -0.237138 0
+
+[Eigenvalue Amount Matrix]
+-2.242810 0
+-0.525048 0
+-0.237138 0
+
+[Unscaled Elasticity Matrix]
+-0.25   0       0
+1.5     -0.67   0
+0.4     0.4     -0.09
+0       0       0.55
+
+[Scaled Elasticity Matrix]
+-0.169879       0               0
+2.03854         -1.03854        0
+0.543611        0.620025        -0.163636
+0               0               1
+
+[Unscaled Elasticity Amount Matrix]
+-0.25   0       0
+1.5     -0.335  0
+0.4     0.2     -0.045
+0       0       0.275
+
+[Scaled Elasticity Amount Matrix]
+-0.169879       0               0
+2.03854         -0.519271       0
+0.543611        0.310013        -0.0818182
+0               0               0.5
+
+[Scaled Concentration Control Matrix]
+0.85479		-0.289849	-0.485496	-0.0794448
+0.85479		0.346536	-1.03239	-0.168936
+0.85479		0.049239	0.0824754	-0.986504
+
+[Scaled Flux Control Matrix]
+0.85479		0.049239	0.0824754	0.013496
+0.85479		0.049239	0.0824754	0.013496
+0.85479		0.049239	0.0824754	0.013496
+0.85479		0.049239	0.0824754	0.013496
+
+[Get Control Coefficient]
+"J1 kk1 0.85479"
+"J2 kk2 0.0492391"
+"J3 kk3 0.0824754"
+"J4 kk4 0.013496"
+"S1 kk1 0.85479"
+"S1 kk2 -0.289848"
+"S1 kk3 -0.485496"
+"S1 kk4 -0.0794448"
+
+[Check Default Time Step]
+"51"
+
+[Check Simulate Points vs Steps]
diff --git a/testing/normalDistrib.xml b/testing/normalDistrib.xml
new file mode 100644
index 0000000..a93c234
--- /dev/null
+++ b/testing/normalDistrib.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1"
+      xmlns:distrib="http://www.sbml.org/sbml/level3/version1/distrib/version1" 
+      distrib:required="true">
+
+  <model id="normaltest" name="normaltest">
+
+
+    <listOfParameters>
+      <parameter id="mu" value="1" constant="true"/>
+      <parameter id="sigma" value="2" constant="true"/>
+      <parameter id="rand" constant="false"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="rand">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> normal </ci>
+            <ci> mu </ci>
+            <ci> sigma </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+
+
+
+    <listOfFunctionDefinitions>
+      <functionDefinition id="normal">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci>param1</ci>
+            </bvar>
+            <bvar>
+              <ci>param2</ci>
+            </bvar>
+            <cn>0</cn>
+          </lambda>
+        </math>
+        <distrib:drawFromDistribution>
+          <distrib:listOfDistribInputs>
+            <distrib:distribInput distrib:id="mu" distrib:index="0"/>
+            <distrib:distribInput distrib:id="sigma" distrib:index="1"/>
+          </distrib:listOfDistribInputs>
+          <UncertML xmlns="http://www.uncertml.org/3.0">
+            <NormalDistribution definition="http://www.uncertml.org/distributions/normal">
+              <mean> <var varId="mu"/> </mean>
+              <variance> <var varId="sigma"/> </variance>
+            </NormalDistribution>
+          </UncertML>
+        </distrib:drawFromDistribution>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+  </model>
+</sbml>
diff --git a/testing/oscli.rrtest b/testing/oscli.rrtest
new file mode 100644
index 0000000..9c7428e
--- /dev/null
+++ b/testing/oscli.rrtest
@@ -0,0 +1,871 @@
+[SBML]
+<?xml version="1.0" encoding="utf-8"?>
+<!--Created on: 1/11/2014 8:29:53 AM-->
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" version="1" xmlns:jd2="http://www.sys-bio.org/sbml/jd2">
+  <!--                     -->
+  <!--  Model Starts Here  -->
+  <!--                     -->
+  <model id="oscli" name="Oscli (Heinrich model)">
+    <annotation>
+      <jd2:JDesignerLayout version="2.0" MajorVersion="2" MinorVersion="3" BuildVersion="45" xmlns:jd2="http://www.sys-bio.org/sbml/jd2">
+        <jd2:header>
+          <jd2:VersionHeader JDesignerVersion="1.0" />
+          <jd2:ModelHeader Author="" ModelVersion="" ModelTitle="Oscli (Heinrich model)" />
+          <jd2:TimeCourseDetails timeStart="0" timeEnd="15" numberOfPoints="300" />
+        </jd2:header>
+        <jd2:JDGraphicsHeader BackGroundColor="FFFFFFEF" />
+        <jd2:listOfCompartments>
+          <jd2:compartment id="compartment" size="1" visible="false">
+            <jd2:boundingBox x="0" y="0" w="0" h="0" />
+            <jd2:membraneStyle thickness="12" color="FF00A5FF" />
+            <jd2:interiorStyle color="FFEEEEFF" />
+            <jd2:text value="compartment" visible="true">
+              <jd2:position rx="-31" ry="-16" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+          </jd2:compartment>
+        </jd2:listOfCompartments>
+        <jd2:listOfSpecies>
+          <jd2:species id="S1" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="206" y="106" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="S1" visible="true">
+              <jd2:position rx="4" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S2" boundaryCondition="false" compartment="compartment" initialConcentration="1">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="123" y="176" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="S2" visible="true">
+              <jd2:position rx="4" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="X0" boundaryCondition="true" compartment="compartment" initialConcentration="1">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="104" y="46" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="X0" visible="true">
+              <jd2:position rx="4" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="X1" boundaryCondition="true" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="324" y="177" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="X1" visible="true">
+              <jd2:position rx="4" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="X2" boundaryCondition="true" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false" />
+            <jd2:boundingBox x="236" y="250" />
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0" />
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+            </jd2:displayValue>
+            <jd2:text value="X2" visible="true">
+              <jd2:position rx="4" ry="6" />
+              <jd2:font fontName="Arial" fontSize="8" fontStyle="" fontColor="FF000000" />
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24" />
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5" />
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000" fontStyle="" />
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF" />
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid" />
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+        </jd2:listOfSpecies>
+        <jd2:listOfReactions>
+          <jd2:reaction id="J0" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="X0" stoichiometry="1" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S1" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J0_v0" />
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FFC0C0C0" lineColor="FFFF6600" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="116" y="58" type="substrate" speciesRef="X0" />
+                  <jd2:pt x="218" y="118" type="product" speciesRef="S1" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J1" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S1" stoichiometry="1" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="X1" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J1_k3*S1" />
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FFC0C0C0" lineColor="FFFF6600" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="218" y="118" type="substrate" speciesRef="S1" />
+                  <jd2:pt x="336" y="189" type="product" speciesRef="X1" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J2" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S1" stoichiometry="1" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S2" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges>
+              <jd2:modifierEdge>
+                <jd2:speciesReference species="S2" />
+                <jd2:destinationReaction name="J2" regulatorType="rtPositive" relativePosition="0.485714285714286" destinationArcId="0" destinationLineSegmentId="0" />
+                <jd2:display lineThickness="2" lineColor="FF0000FF" lineDashStyle="dsSolid" positiveMarkerStyle="rmEmptyCircle">
+                  <jd2:lineType type="ltSegmentedLine">
+                    <jd2:pt x="135" y="188" type="modifier" speciesRef="S2" />
+                    <jd2:pt x="100" y="157" />
+                    <jd2:pt x="137" y="132" />
+                    <jd2:pt x="171" y="143" />
+                  </jd2:lineType>
+                </jd2:display>
+              </jd2:modifierEdge>
+            </jd2:listOfModifierEdges>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(J2_k1*S1-J2_k_1*S2)*(1+J2_c*pow(S2,J2_q))" />
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FFC0C0C0" lineColor="FFFF6600" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="218" y="118" type="substrate" speciesRef="S1" />
+                  <jd2:pt x="135" y="188" type="product" speciesRef="S2" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J3" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S2" stoichiometry="1" />
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="X2" stoichiometry="1" />
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges />
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J3_k2*S2" />
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FFC0C0C0" lineColor="FFFF6600" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="135" y="188" type="substrate" speciesRef="S2" />
+                  <jd2:pt x="248" y="262" type="product" speciesRef="X2" />
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+        </jd2:listOfReactions>
+      </jd2:JDesignerLayout>
+      <listOfLayouts xmlns="http://projects.eml.org/bcb/sbml/level2">
+        <layout id="JDesigner2_0" xmlns="http://projects.eml.org/bcb/sbml/level2">
+          <!--Created by SBW SBML LayoutViewer/Manipulator-->
+          <annotation>
+            <listOfRenderStyles xmlns="http://sys-bio.org/xml/render/level1">
+              <renderStyle id="RenderStyle_0">
+                <fillStyle fillType="Solid" startColor="ffffffef" />
+                <listOfSpeciesStyles>
+                  <speciesStyle id="sStyle_0" reference="sGlyph_0">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="24" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_1" reference="sGlyph_1">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="24" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff969696" thickness="1" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_2" reference="sGlyph_2">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="24" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff000000" thickness="3" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_3" reference="sGlyph_3">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="24" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff000000" thickness="3" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                  <speciesStyle id="sStyle_4" reference="sGlyph_4">
+                    <listOfShapes>
+                      <shape kind="RoundedRectangle">
+                        <fillStyle fillType="LinearGradient" startColor="ffccffff" endColor="ffffffff" gradientStyle="Horizontal" />
+                        <boundingBox>
+                          <position x="0" y="0" />
+                          <dimensions width="24" height="24" />
+                        </boundingBox>
+                        <edgeStyle color="ff000000" thickness="3" style="Solid" />
+                      </shape>
+                    </listOfShapes>
+                  </speciesStyle>
+                </listOfSpeciesStyles>
+                <listOfReactionStyles>
+                  <reactionStyle id="rStyle_0" reference="rGlyph_0">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ffc0c0c0" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff6600" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_1" reference="rGlyph_1">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ffc0c0c0" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff6600" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_2" reference="rGlyph_2">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ffc0c0c0" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff6600" thickness="2" style="Solid" />
+                  </reactionStyle>
+                  <reactionStyle id="rStyle_3" reference="rGlyph_3">
+                    <arrow kind="default">
+                      <fillStyle fillType="Solid" startColor="ffc0c0c0" />
+                      <lineStyle color="ff000000" thickness="2" style="Solid" />
+                    </arrow>
+                    <lineStyle color="ffff6600" thickness="2" style="Solid" />
+                  </reactionStyle>
+                </listOfReactionStyles>
+                <listOfTextStyles>
+                  <textStyle>
+                    <fontStyle id="tStyle_0" reference="tGlyph_0" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_1" reference="tGlyph_1" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_2" reference="tGlyph_2" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_3" reference="tGlyph_3" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                  <textStyle>
+                    <fontStyle id="tStyle_4" reference="tGlyph_4" font="Arial" calculateSize="False" size="8" style="">
+                      <fillStyle fillType="Solid" startColor="ff000000" />
+                    </fontStyle>
+                  </textStyle>
+                </listOfTextStyles>
+              </renderStyle>
+            </listOfRenderStyles>
+            <listOfRenderInformation xmlns="http://projects.eml.org/bcb/sbml/render/level2">
+              <renderInformation id="ConvertedRenderStyle" programName="SBML Layout Viewer - SBW version" programVersion="2.7.5121.21120 Compiled on: 1/9/2014 11:44:00 AM">
+                <listOfColorDefinitions>
+                  <colorDefinition id="Color_0" value="#969696" />
+                  <colorDefinition id="Color_1" value="#000000" />
+                  <colorDefinition id="Color_2" value="#ff6600" />
+                </listOfColorDefinitions>
+                <listOfGradientDefinitions>
+                  <linearGradient x1="0%" y1="0%" z1="0%" x2="100%" y2="0%" z2="100%" id="LinearGradient_0" spreadMethod="reflect">
+                    <stop offset="0%" stop-color="#ccffff" />
+                    <stop offset="100%" stop-color="#ffffff" />
+                  </linearGradient>
+                </listOfGradientDefinitions>
+                <listOfLineEndings>
+                  <lineEnding id="product" enableRotationalMapping="true">
+                    <boundingBox>
+                      <position x="-10" y="-5" />
+                      <dimensions width="10" height="10" />
+                    </boundingBox>
+                    <g stroke="Color_2" stroke-width="0.001" fill="Color_2" font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <polygon>
+                        <listOfCurveSegments>
+                          <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                            <start x="0%" y="0%" />
+                            <end x="100%" y="50%" />
+                          </curveSegment>
+                          <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                            <start x="100%" y="50%" />
+                            <end x="0%" y="100%" />
+                          </curveSegment>
+                          <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                            <start x="0%" y="100%" />
+                            <end x="33%" y="50%" />
+                          </curveSegment>
+                          <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                            <start x="33%" y="50%" />
+                            <end x="0%" y="0%" />
+                          </curveSegment>
+                        </listOfCurveSegments>
+                      </polygon>
+                    </g>
+                  </lineEnding>
+                  <lineEnding id="activator" enableRotationalMapping="true">
+                    <boundingBox>
+                      <position x="-8" y="-4" />
+                      <dimensions width="8" height="8" />
+                    </boundingBox>
+                    <g stroke="Color_2" stroke-width="1" fill="#ffffff" font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <ellipse cx="50%" cy="50%" cz="0.0" rx="50%" ry="50%" />
+                    </g>
+                  </lineEnding>
+                </listOfLineEndings>
+                <listOfStyles>
+                  <style idList="sGlyph_0 sGlyph_1">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_0" stroke-width="1" fill="LinearGradient_0" x="0" y="0" width="24" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style idList="sGlyph_2 sGlyph_3 sGlyph_4">
+                    <g font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top">
+                      <rectangle stroke="Color_1" stroke-width="3" fill="LinearGradient_0" x="0" y="0" width="24" height="24" rx="5" ry="5" />
+                    </g>
+                  </style>
+                  <style roleList=" product">
+                    <g stroke="Color_2" stroke-width="2" font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top" endHead="product" />
+                  </style>
+                  <style roleList="substrate sidesubstrate" idList="rGlyph_0 rGlyph_1 rGlyph_2 rGlyph_3">
+                    <g stroke="Color_2" stroke-width="2" font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top" />
+                  </style>
+                  <style roleList=" activator">
+                    <g stroke="Color_2" stroke-width="2" font-size="0" font-style="normal" font-weight="normal" text-anchor="start" vtext-anchor="top" endHead="activator" />
+                  </style>
+                  <style idList="tGlyph_0 tGlyph_1 tGlyph_2 tGlyph_3 tGlyph_4">
+                    <g stroke="Color_1" font-family="Arial" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" vtext-anchor="top" />
+                  </style>
+                </listOfStyles>
+              </renderInformation>
+            </listOfRenderInformation>
+          </annotation>
+          <dimensions width="451.503471374512" height="320.5" />
+          <listOfSpeciesGlyphs>
+            <speciesGlyph id="sGlyph_0" species="S1">
+              <boundingBox>
+                <position x="206" y="106" />
+                <dimensions width="24" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_1" species="S2">
+              <boundingBox>
+                <position x="123" y="176" />
+                <dimensions width="24" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_2" species="X0">
+              <boundingBox>
+                <position x="104" y="46" />
+                <dimensions width="24" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_3" species="X1">
+              <boundingBox>
+                <position x="324" y="177" />
+                <dimensions width="24" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+            <speciesGlyph id="sGlyph_4" species="X2">
+              <boundingBox>
+                <position x="236" y="250" />
+                <dimensions width="24" height="24" />
+              </boundingBox>
+            </speciesGlyph>
+          </listOfSpeciesGlyphs>
+          <listOfReactionGlyphs>
+            <reactionGlyph id="rGlyph_0" reaction="J0">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J0_0" render:objectRole="product" speciesReference="S1" speciesGlyph="sGlyph_0" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="134" y="69.0588235294118" />
+                        <end x="200" y="106.941176470588" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J0_2" render:objectRole="substrate" speciesReference="X0" speciesGlyph="sGlyph_2" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_1" reaction="J1">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J1_0" render:objectRole="product" speciesReference="X1" speciesGlyph="sGlyph_3" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="236" y="129.220338983051" />
+                        <end x="318" y="177.779661016949" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J1_2" render:objectRole="substrate" speciesReference="S1" speciesGlyph="sGlyph_0" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_2" reaction="J2">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J2_0" render:objectRole="product" speciesReference="S2" speciesGlyph="sGlyph_1" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="200" y="133.120481927711" />
+                        <end x="153" y="172.879518072289" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J2_2" render:objectRole="substrate" speciesReference="S1" speciesGlyph="sGlyph_0" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J2_3" render:objectRole="activator" speciesReference="S2" speciesGlyph="sGlyph_1" role="activator" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="118" y="172.371428571429" />
+                        <end x="100" y="157" />
+                      </curveSegment>
+                      <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="100" y="157" />
+                        <end x="137" y="132" />
+                      </curveSegment>
+                      <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="137" y="132" />
+                        <end x="171" y="143" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+            <reactionGlyph id="rGlyph_3" reaction="J3">
+              <boundingBox>
+                <position x="0" y="0" />
+                <dimensions width="0" height="0" />
+              </boundingBox>
+              <listOfSpeciesReferenceGlyphs>
+                <speciesReferenceGlyph id="SpeciesReference_J3_0" render:objectRole="product" speciesReference="X2" speciesGlyph="sGlyph_4" role="product" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                  <curve>
+                    <listOfCurveSegments>
+                      <curveSegment xsi:type="LineSegment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                        <start x="153" y="199.858407079646" />
+                        <end x="230" y="250.141592920354" />
+                      </curveSegment>
+                    </listOfCurveSegments>
+                  </curve>
+                </speciesReferenceGlyph>
+                <speciesReferenceGlyph id="SpeciesReference_J3_2" render:objectRole="substrate" speciesReference="S2" speciesGlyph="sGlyph_1" role="substrate" xmlns:render="http://projects.eml.org/bcb/sbml/render/level2">
+                  <boundingBox>
+                    <position x="0" y="0" />
+                    <dimensions width="0" height="0" />
+                  </boundingBox>
+                </speciesReferenceGlyph>
+              </listOfSpeciesReferenceGlyphs>
+            </reactionGlyph>
+          </listOfReactionGlyphs>
+          <listOfTextGlyphs>
+            <textGlyph id="tGlyph_0" graphicalObject="sGlyph_0" text="S1">
+              <boundingBox>
+                <position x="206" y="106" />
+                <dimensions width="24" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_1" graphicalObject="sGlyph_1" text="S2">
+              <boundingBox>
+                <position x="123" y="176" />
+                <dimensions width="24" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_2" graphicalObject="sGlyph_2" text="X0">
+              <boundingBox>
+                <position x="104" y="46" />
+                <dimensions width="24" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_3" graphicalObject="sGlyph_3" text="X1">
+              <boundingBox>
+                <position x="324" y="177" />
+                <dimensions width="24" height="24" />
+              </boundingBox>
+            </textGlyph>
+            <textGlyph id="tGlyph_4" graphicalObject="sGlyph_4" text="X2">
+              <boundingBox>
+                <position x="236" y="250" />
+                <dimensions width="24" height="24" />
+              </boundingBox>
+            </textGlyph>
+          </listOfTextGlyphs>
+        </layout>
+      </listOfLayouts>
+    </annotation>
+    <listOfCompartments>
+      <compartment id="compartment" size="1" />
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" boundaryCondition="false" initialConcentration="0" compartment="compartment" />
+      <species id="S2" boundaryCondition="false" initialConcentration="1" compartment="compartment" />
+      <species id="X0" boundaryCondition="true" initialConcentration="1" compartment="compartment" />
+      <species id="X1" boundaryCondition="true" initialConcentration="0" compartment="compartment" />
+      <species id="X2" boundaryCondition="true" initialConcentration="0" compartment="compartment" />
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="J0_v0" value="8" />
+      <parameter id="J1_k3" value="0" />
+      <parameter id="J2_k1" value="1" />
+      <parameter id="J2_k_1" value="0" />
+      <parameter id="J2_c" value="1" />
+      <parameter id="J2_q" value="3" />
+      <parameter id="J3_k2" value="5" />
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X0" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci>
+                        J0_v0
+                  </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci>
+                           J1_k3
+                     </ci>
+              <ci>
+                           S1
+                     </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <apply>
+                <minus />
+                <apply>
+                  <times />
+                  <ci>
+                                 J2_k1
+                           </ci>
+                  <ci>
+                                 S1
+                           </ci>
+                </apply>
+                <apply>
+                  <times />
+                  <ci>
+                                 J2_k_1
+                           </ci>
+                  <ci>
+                                 S2
+                           </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus />
+                <cn type="integer">
+                              1
+                        </cn>
+                <apply>
+                  <times />
+                  <ci>
+                                 J2_c
+                           </ci>
+                  <apply>
+                    <power />
+                    <ci>
+                                    S2
+                              </ci>
+                    <ci>
+                                    J2_q
+                              </ci>
+                  </apply>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" />
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X2" stoichiometry="1" />
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times />
+              <ci>
+                           J3_k2
+                     </ci>
+              <ci>
+                           S2
+                     </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Set Steady State Selection List]
+"[S1] [S2]"
+
+[Get Steady State Selection List]
+"[S1] [S2]"
+
+[Species Concentrations]
+"[S1] = 1.56986"
+"[S2] = 1.6"
+
+[Steady State Fluxes]
+J0 = 8
+J1 = 0
+J2 = 8
+J3 = 8
+
+[Get Reaction Rates]
+8 0 8 8
+
+[Full Jacobian]
+-5.096	-12.0565
+5.096	7.05652
+
+[Reduced Jacobian]
+-5.096	-12.0565
+5.096	7.05652
+
+[Individual Eigenvalues]
+S1 = 0.980258	4.95168
+S2 = 0.980258	-4.95168
+
+[Eigenvalue Matrix]
+0.980258	4.95168
+0.980258	-4.95168
+
+[Reduced Eigenvalue Matrix]
+0.980258	4.95168
+0.980258	-4.95168
+
+[Stoichiometry Matrix]
+1	-1	-1	0
+0	0	1	-1
+
+[Reduced Stoichiometry Matrix]
+1	-1	-1	0
+0	0	1	-1
+
+[Link Matrix]
+1	0
+0	1
+
+[Unscaled Elasticity Matrix]
+0	0
+0	0
+5.096	12.0565
+0	5
+
+#[Scaled Elasticity Matrix]
+#0	0
+#INF	0
+#1	2.4113
+#0	1
+
+[Unscaled Concentration Control Matrix]
+-0.276943	0.276943	-0.196232	0.473176
+0.2	-0.2	0	-0.2
+
+[Scaled Concentration Control Matrix]
+-1.4113	0	-1	2.4113
+1	-0	0	-1
+
+[Unscaled Flux Control Matrix]
+1	0	0	0
+0	1	0	0
+1	-1	0	0
+1	-1	0	0
+
+#[Scaled Flux Control Matrix]
+#1	0	0	0
+#0	1	0	0
+#1	-0	0	0
+#1	-0	0	0
diff --git a/testing/reversible_Jacobian.rrtest b/testing/reversible_Jacobian.rrtest
new file mode 100644
index 0000000..67a8428
--- /dev/null
+++ b/testing/reversible_Jacobian.rrtest
@@ -0,0 +1,216 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.7.0 on 2015-11-02 11:11 with libSBML version 5.11.3. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="__main" name="__main">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="Node0" compartment="default_compartment" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="Node1" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="Node2" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="Node3" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="Node4" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="Node5" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="J0_k1" value="0.2" constant="true"/>
+      <parameter id="J0_k2" value="0.5" constant="true"/>
+      <parameter id="J1_k1" value="0.23" constant="true"/>
+      <parameter id="J1_k2" value="0.41" constant="true"/>
+      <parameter id="J2_k1" value="1.2" constant="true"/>
+      <parameter id="J2_k2" value="0.96" constant="true"/>
+      <parameter id="J3_k1" value="0.87" constant="true"/>
+      <parameter id="J3_k2" value="0.2" constant="true"/>
+      <parameter id="J4_k1" value="0.56" constant="true"/>
+      <parameter id="J4_k2" value="0.45" constant="true"/>
+      <parameter id="compartment_" value="1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="Node0" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Node1" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> J0_k1 </ci>
+                <ci> Node0 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <ci> J0_k2 </ci>
+                <ci> Node1 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="Node1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Node2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> J1_k1 </ci>
+                <ci> Node1 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <ci> J1_k2 </ci>
+                <ci> Node2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="Node2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Node3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> J2_k1 </ci>
+                <ci> Node2 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <ci> J2_k2 </ci>
+                <ci> Node3 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="Node3" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Node4" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> J3_k1 </ci>
+                <ci> Node3 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <ci> J3_k2 </ci>
+                <ci> Node4 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="Node4" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Node5" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> J4_k1 </ci>
+                <ci> Node4 </ci>
+              </apply>
+              <apply>
+                <times/>
+                <ci> J4_k2 </ci>
+                <ci> Node5 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Conservation Laws]
+True
+
+[Steady State Fluxes]
+J0 = 0.397696
+J1 = 0.397696
+J2 = 0.397696
+J3 = 0.397696
+J4 = 0.397696
+
+[Get Steady State Selection List]
+"[Node1] [Node3] [Node4] [Node2]"
+
+[Reduced Jacobian]
+ -0.73  0        0     0.41
+  0    -1.83     0.2   1.2
+  0     0.87    -0.76  0
+  0.23  0.96     0    -1.61
+
+[Full Jacobian]
+ -0.73  0        0     0.41
+  0    -1.83     0.2   1.2
+  0     0.87    -0.76  0
+  0.23  0.96     0    -1.61
+
+[Unscaled Elasticity Matrix]
+ -0.5             0        0         0
+  0.23            0        0        -0.41
+  0              -0.96     0         1.2
+  0               0.87    -0.2       0
+  0               0        0.56      0
+
+[Scaled Elasticity Matrix]
+       -4.02897   0        0         0
+        1.85333   0        0        -0.853325
+        0        -1.49754  0         2.49754
+        0         1.35714 -0.357143  0
+        0         0        1         0
+
+[Scaled Concentration Control Matrix]
+0.198848   -0.107293   -0.0366583  -0.0404505  -0.0144466
+0.198848    0.432278    0.147695   -0.573868   -0.204953
+0.198848    0.432278    0.147695    0.162974   -0.941795
+0.198848    0.432278   -0.252699   -0.278841   -0.099586
+
+[Scaled Flux Control Matrix]
+ 0.198848 0.432278 0.147695 0.162974 0.0582049
+ 0.198848 0.432278 0.147695 0.162974 0.0582049
+ 0.198848 0.432278 0.147695 0.162974 0.0582049
+ 0.198848 0.432278 0.147695 0.162974 0.0582049
+ 0.198848 0.432278 0.147695 0.162974 0.0582049
+
+
+
+
+
+
diff --git a/testing/rrExcludedTestCases.txt b/testing/rrExcludedTestCases.txt
new file mode 100644
index 0000000..7c723a1
--- /dev/null
+++ b/testing/rrExcludedTestCases.txt
@@ -0,0 +1,85 @@
+39
+40
+182
+184
+531
+533
+534
+535
+536
+537
+538
+543
+546
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+569
+570
+571
+573
+575
+576
+613
+614
+615
+628
+629
+630
+658
+659
+660
+661
+662
+663
+664
+665
+666
+673
+674
+675
+687
+695
+696
+705
+760
+761
+762
+777
+778
+779
+780
+844
+870
+871
+872
+873
+874
+875
+876
+937
+938
+939
+940
+941
+942
+943
+978
+966
diff --git a/testing/uniformDistrib.xml b/testing/uniformDistrib.xml
new file mode 100644
index 0000000..17abaf4
--- /dev/null
+++ b/testing/uniformDistrib.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1"
+      xmlns:distrib="http://www.sbml.org/sbml/level3/version1/distrib/version1" 
+      distrib:required="true">
+
+  <model id="uniform_test" name="uniform distrib test">
+
+    <listOfParameters>
+      <parameter id="min" value="1" constant="true"/>
+      <parameter id="max" value="2" constant="true"/>
+      <parameter id="rand" constant="false"/>
+    </listOfParameters>
+
+    <listOfRules>
+      <assignmentRule variable="rand">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <ci> uniform </ci>
+            <ci> min </ci>
+            <ci> max </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+
+    <listOfFunctionDefinitions>
+      <functionDefinition id="uniform">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <lambda>
+            <bvar>
+              <ci>param1</ci>
+            </bvar>
+            <bvar>
+              <ci>param2</ci>
+            </bvar>
+            <cn>0</cn>
+          </lambda>
+        </math>
+        <distrib:drawFromDistribution>
+          <distrib:listOfDistribInputs>
+            <distrib:distribInput distrib:id="min" distrib:index="0"/>
+            <distrib:distribInput distrib:id="max" distrib:index="1"/>
+          </distrib:listOfDistribInputs>
+          <UncertML xmlns="http://www.uncertml.org/3.0">
+            <UniformDistribution definition="http://www.uncertml.org/distributions/uniform">
+              <minimum> <var varId="min"/> </minimum>
+              <maximum> <var varId="max"/> </maximum>
+            </UniformDistribution>
+          </UncertML>
+        </distrib:drawFromDistribution>
+      </functionDefinition>
+    </listOfFunctionDefinitions>
+  </model>
+</sbml>
diff --git a/testing/variable_time_step.rrtest b/testing/variable_time_step.rrtest
new file mode 100644
index 0000000..32e0a8d
--- /dev/null
+++ b/testing/variable_time_step.rrtest
@@ -0,0 +1,73 @@
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.8.1 on 2015-12-05 15:58 with libSBML version 5.11.9. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="van_der_pol" name="van_der_pol">
+    <listOfUnitDefinitions>
+      <unitDefinition id="dimensionless_litre">
+        <listOfUnits>
+          <unit kind="dimensionless" exponent="1" scale="0" multiplier="1"/>
+          <unit kind="litre" exponent="1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="x" compartment="default_compartment" initialConcentration="2" substanceUnits="dimensionless_litre" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="y" compartment="default_compartment" initialConcentration="0" substanceUnits="dimensionless_litre" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="mu" value="0" units="dimensionless" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J1" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="x" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="y"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> y </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="true" fast="false">
+        <listOfProducts>
+          <speciesReference species="y" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="x"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML" xmlns:sbml="http://www.sbml.org/sbml/level3/version1/core">
+            <apply>
+              <minus/>
+              <apply>
+                <times/>
+                <ci> mu </ci>
+                <apply>
+                  <minus/>
+                  <cn sbml:units="dimensionless" type="integer"> 1 </cn>
+                  <apply>
+                    <power/>
+                    <ci> x </ci>
+                    <cn sbml:units="dimensionless" type="integer"> 2 </cn>
+                  </apply>
+                </apply>
+                <ci> y </ci>
+              </apply>
+              <ci> x </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
+
+[Get Variable End Time]
+"0.0 50.0"
diff --git a/win32_bin_README.txt b/win32_bin_README.txt
new file mode 100644
index 0000000..ca64802
--- /dev/null
+++ b/win32_bin_README.txt
@@ -0,0 +1,29 @@
+This directory includes various execiutable and DLL files. The most important ones
+are listed here:
+
+1. iconv.dll, libsbml.dll libxml2.dll, zlib1.dll are all associated with SBML support
+
+2. rrc_api.dll - This DLL supports the C API
+
+3. roadrunner.dll - This DLL supports the C++ API
+
+4. rrplugins_c_api.dll - This DLL supports the C API and the C Plugin API
+
+5. rr.exe
+
+RoadRunner Standalone program. The rr.exe executable can be used to test the integrity 
+of the current build, but also as a fully fledged SBML simulator. Type rr.exe to get help
+or go to the liroadrunner.org web site for more details.
+
+Of unknown function or usage, email somogyie at umail.iu.edu for details:
+
+run_test_suite.exe
+sbml_ts_tester.exe
+run_cpp_tests.bat
+run_c_tests.sh
+run_c_tests.bat
+rr-sbml-benchmark.exe
+cxx_api_tests.exe
+llvm_testing.exe
+
+
diff --git a/wrappers/C/ApiTest/CMakeLists.txt b/wrappers/C/ApiTest/CMakeLists.txt
new file mode 100644
index 0000000..2b5b10b
--- /dev/null
+++ b/wrappers/C/ApiTest/CMakeLists.txt
@@ -0,0 +1,61 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(RR_C_API_Tests)
+
+set(target test_integrator_api)
+
+add_executable( ${target}
+    test-integrator-api.c
+    )
+
+set_property(TARGET ${target}
+    PROPERTY  COMPILE_DEFINITIONS
+    STATIC_LIBSTRUCT
+    STATIC_RR
+    POCO_STATIC
+    XML_STATIC
+    POCO_NO_AUTOMATIC_LIBS
+    )
+
+if(UNIX)
+    set(staticLibPrefix ".a")
+    set(sharedLibPrefix ".so")
+endif()
+
+target_link_libraries (${target}
+    roadrunner_c_api
+    unit_test-static
+    PocoXML
+    )
+
+link_directories(
+    ${THIRD_PARTY_INSTALL_FOLDER}/lib
+    )
+
+include_directories(
+    "."
+    ${RR_ROOT}
+    ${THIRD_PARTY_FOLDER}/unit_test/src
+${THIRD_PARTY_FOLDER}/rr-libstruct
+)
+
+install (TARGETS ${target}
+    DESTINATION bin COMPONENT testing
+    )
+
+# Steady state solver test
+add_executable(ss-solver-test ss-solver-test.c)
+install(TARGETS ss-solver-test DESTINATION bin COMPONENT testing)
+target_link_libraries (ss-solver-test roadrunner_c_api PocoXML)
+
+set_property(TARGET ss-solver-test
+    PROPERTY  COMPILE_DEFINITIONS
+    STATIC_LIBSTRUCT
+    STATIC_RR
+    POCO_STATIC
+    XML_STATIC
+    POCO_NO_AUTOMATIC_LIBS
+    )
+
+
+
+
diff --git a/wrappers/C/ApiTest/ss-solver-test.c b/wrappers/C/ApiTest/ss-solver-test.c
new file mode 100644
index 0000000..6d41653
--- /dev/null
+++ b/wrappers/C/ApiTest/ss-solver-test.c
@@ -0,0 +1,295 @@
+// == PREAMBLE ================================================
+
+// * Licensed under the Apache License, Version 2.0; see README
+
+// == FILEDOC =================================================
+
+/** @file ss-solver-test.c
+* @author JKM
+* @date 08/04/2015
+* @copyright Apache License, Version 2.0
+* @brief Tests the RoadRunner steady state solver from C
+**/
+
+#include "rrc_api.h"
+#include "rrc_logging_api.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+static const char* raw_sbml[3] = {
+    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!-- Created by libAntimony version v2.7.0 on 2015-11-05 10:59 with libSBML version 5.11.3. -->\r\n<sbml xmlns=\"http://www.sbml.org/sbml/level3/version1/core\" level=\"3\" version=\"1\">\r\n  <model id=\"__main\" name=\"__main\">\r\n    <listOfCompartments>\r\n      <compartment sboTerm=\"SBO:0000410\" id=\"default_compartment\" spatialDimensions=\"3\" size=\"1\" constant=\"true\"/>\r\n    </listOfCompartments>\r\n    <listOfSpecies>\r\ [...]
+    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!-- Created by libAntimony version v2.7.0 on 2015-08-04 09:34 with libSBML version 5.11.3. -->\r\n<sbml xmlns=\"http://www.sbml.org/sbml/level3/version1/core\" level=\"3\" version=\"1\">\r\n  <model id=\"__main\" name=\"__main\">\r\n    <listOfCompartments>\r\n      <compartment sboTerm=\"SBO:0000410\" id=\"default_compartment\" spatialDimensions=\"3\" size=\"1\" constant=\"true\"/>\r\n    </listOfCompartments>\r\n    <listOfSpecies>\r\ [...]
+    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!-- Created by libAntimony version v2.5.2 on 2014-07-17 15:59 with libSBML version 5.10.0. -->\r\n<sbml xmlns=\"http://www.sbml.org/sbml/level3/version1/core\" level=\"3\" version=\"1\">\r\n  <model id=\"test4\" name=\"test4\">\r\n    <listOfCompartments>\r\n      <compartment id=\"compartment1\" spatialDimensions=\"3\" size=\"1\" constant=\"true\"/>\r\n      <compartment id=\"compartment2\" spatialDimensions=\"3\" size=\"2\" constant=\ [...]
+};
+
+static const char* sbml_desc[3] = {
+    "#230",
+    "steadystate",
+    "jacobian_1"
+};
+
+void print_config_keys() {
+  RRStringArrayPtr keys = getListOfConfigKeys();
+  int n;
+  fprintf(stderr, "List of config keys:\n");
+  for(n = 0; n<keys->Count; ++n) {
+    fprintf(stderr, "  %s\n", keys->String[n]);
+  }
+}
+
+void print_indent(FILE* f, int indent) {
+  int k;
+  for(k=0;k<indent;++k)
+    fprintf(f, " ");
+}
+
+void print_list_(FILE* f, RRListPtr l, int indent, int breaklines) {
+  int k;
+
+  for(k=0; k<l->Count; ++k) {
+    RRListItemPtr i = getListItem(l, k);
+
+    if (k) {
+      // end-of-item cont. / line break
+      if (breaklines) {
+        fprintf(f,"\n");
+        print_indent(f, indent);
+      } else {
+        fprintf(f,", ");
+      }
+    }
+
+    // print the item
+    if(isListItemList(i)) {
+      RRListPtr q = getList(i);
+
+      print_indent(f, 2);
+      print_list_(f, q, indent+2, 1);
+
+    } else if (isListItemString(i)) {
+      char* s = getStringListItem(i);
+      fprintf(f, "%s", s);
+
+    } else if (isListItemDouble(i)) {
+      double d;
+      getDoubleListItem(i, &d);
+      fprintf(f, "%f", d);
+
+    } else if (isListItemInteger(i)) {
+      int z;
+      getIntegerListItem(i, &z);
+      fprintf(f, "%d", z);
+
+    } else {
+      fprintf(f, "???");
+    }
+
+  }
+}
+
+void print_list(FILE* f, RRListPtr l, int indent, int breaklines) {
+  // initial indent
+  if (breaklines)
+    print_indent(f, indent);
+
+  print_list_(f, l, indent, breaklines);
+
+  // end-of-item cont. / line break
+  if (breaklines) {
+    fprintf(f,"\n");
+    print_indent(f, indent);
+  } else {
+    fprintf(f,", ");
+  }
+}
+
+int main(int argc, char* argv[])
+{
+    int n;
+    // enable logging
+//     setLogLevel("debug");
+//     setLogLevel("warning");
+//     enableLoggingToFile();
+//     enableLoggingToFileWithPath("/tmp/myrrlog.txt");
+//     {
+//         char* t = getLogFileName();
+//         fprintf(stderr,"Enabling logging to %s\n", t);
+//         freeText(t);
+//     }
+
+    // print version
+    {
+        char* t = getVersionStr();
+        fprintf(stderr,"RoadRunner version %s\n", t);
+        freeText(t);
+    }
+
+    // print config keys
+
+//     print_config_keys();
+
+    fprintf(stderr,"Initializing RoadRunner...\n");
+    RRHandle _handle = createRRInstance();
+
+    loadSBML(_handle, "<?xml version=\"1.0\" encoding=\"UTF-8\"?><sbml xmlns=\"http://www.sbml.org/sbml/level2\" level=\"2\" version=\"1\"><model><listOfCompartments><compartment id=\"uVol\" size=\"1\"/></listOfCompartments><listOfSpecies><species id=\"input\" compartment=\"uVol\" initialConcentration=\"16\" boundaryCondition=\"true\"/><species id=\"output\" compartment=\"uVol\" initialConcentration=\"0\"/><species id=\"X4\" compartment=\"uVol\" initialConcentration=\"14\"/></listOfSpeci [...]
+    fprintf(stderr, "has error? %d\n", hasError());
+    fprintf(stderr, "err: %s\n", getLastError());
+
+    {
+        char* t = getCurrentSteadyStateSolverName(_handle);
+        fprintf(stderr, "  Default steady statesolver is %s\n", t);
+        freeText(t);
+    }
+
+    fprintf(stderr, "  Number of registered steady state solvers: %d\n", getNumRegisteredSteadyStateSolvers());
+    for(n=0; n<getNumRegisteredSteadyStateSolvers(); ++n) {
+        fprintf(stderr, "  Solver %d:\n", n);
+        {
+            char* t = getRegisteredSteadyStateSolverName(n);
+            fprintf(stderr, "    Name: %s\n", t);
+            freeText(t);
+        }
+        {
+            char* t = getRegisteredSteadyStateSolverHint(n);
+            fprintf(stderr, "    Hint: %s\n", t);
+            freeText(t);
+        }
+        {
+            char* t = getRegisteredSteadyStateSolverDescription(n);
+            fprintf(stderr, "    Desc: %s\n", t);
+            freeText(t);
+        }
+    }
+
+    for(n = 0; n<(sizeof(raw_sbml)/sizeof(raw_sbml[0])); ++n) {
+        double ss_deviation = 0.;
+        int k;
+
+        // load the model
+        {
+            const char* modelstr = raw_sbml[n];
+            const char* modeldsc = sbml_desc[n];
+            fprintf(stderr,"\n  **** Loading model '%s'\n\n", modeldsc);
+            loadSBML(_handle, modelstr);
+        }
+
+        // print info on available time course symbols
+        {
+            RRListPtr syms = getAvailableTimeCourseSymbols(_handle);
+            fprintf(stderr, "\n  Time Course Symbols\n");
+            if(syms)
+              print_list(stderr, syms, 4, 1);
+//             freeRRList(syms);
+        }
+
+        // print info on available steady state symbols
+        {
+            RRListPtr syms = getAvailableSteadyStateSymbols(_handle);
+            fprintf(stderr, "\n  Steady State Symbols\n");
+            if(syms)
+              print_list(stderr, syms, 4, 1);
+        }
+
+        // print info for current steady state solver
+        {
+            char* t = getCurrentSteadyStateSolverName(_handle);
+            fprintf(stderr, "  Current steady state solver: %s\n", t);
+            freeText(t);
+        }
+
+        {
+            char* t = getCurrentSteadyStateSolverDescription(_handle);
+            fprintf(stderr, "    Descrption: %s\n", t);
+            freeText(t);
+        }
+
+        {
+            char* t = getCurrentSteadyStateSolverHint(_handle);
+            fprintf(stderr, "    Hint: %s\n", t);
+            freeText(t);
+        }
+
+
+        fprintf(stderr, "    Params: %d\n", getNumberOfCurrentSteadyStateSolverParameters(_handle));
+
+        for(k=0; k<getNumberOfCurrentSteadyStateSolverParameters(_handle); ++k) {
+            fprintf(stderr, "    Param: %d\n", k);
+            {
+                char* t = getCurrentSteadyStateSolverNthParameterName(_handle, k);
+                fprintf(stderr, "      Name: %s\n", t);
+                freeText(t);
+            }
+            {
+                char* t = getCurrentSteadyStateSolverNthParameterDisplayName(_handle, k);
+                fprintf(stderr, "      DisplayName: %s\n", t);
+                freeText(t);
+            }
+            {
+                char* t = getCurrentSteadyStateSolverNthParameterDescription(_handle, k);
+                fprintf(stderr, "      Descrption: %s\n", t);
+                freeText(t);
+            }
+            {
+                char* t = getCurrentSteadyStateSolverNthParameterHint(_handle, k);
+                fprintf(stderr, "      Hint: %s\n", t);
+                freeText(t);
+            }
+            fprintf(stderr, "      Type: %d\n", getCurrentSteadyStateSolverNthParameterType(_handle, k));
+        }
+
+        // check types
+
+        fprintf(stderr, "    Type (minimum_damping): %d\n", getCurrentSteadyStateSolverParameterType(_handle, "minimum_damping"));
+
+        fprintf(stderr, "    Type (maximum_iterations): %d\n", getCurrentSteadyStateSolverParameterType(_handle, "minimum_damping"));
+
+        fprintf(stderr, "    Type str (minimum_damping): %s\n", solverTypeToString(getCurrentSteadyStateSolverParameterType(_handle, "minimum_damping")));
+
+        fprintf(stderr, "    Type str (maximum_iterations): %s\n", solverTypeToString(getCurrentSteadyStateSolverParameterType(_handle, "minimum_damping")));
+
+
+
+        fprintf(stderr,"\n  **** Calculating Steady State ****\n\n");
+
+
+        // find steady state
+        steadyState(_handle, &ss_deviation);
+
+        fprintf(stderr, "Steady state reached to within %e\n", ss_deviation);
+
+        // print the floating species ids
+        {
+            RRStringArrayPtr floatingspcids = getFloatingSpeciesIds(_handle);
+
+            if(floatingspcids) {
+                for(k=0; k<floatingspcids->Count; ++k) {
+                    fprintf(stderr, "%s ", floatingspcids->String[k]);
+                }
+                fprintf(stderr, "\n");
+                freeStringArray(floatingspcids);
+            }
+        }
+
+        // print the floating species values at steady state
+        {
+            RRVectorPtr floatingspc = getFloatingSpeciesConcentrations(_handle);
+
+            if(floatingspc) {
+                for(k=0; k<floatingspc->Count; ++k) {
+                    fprintf(stderr, "%lf ", floatingspc->Data[k]);
+                }
+                fprintf(stderr, "\n");
+                freeVector(floatingspc);
+            }
+        }
+    }
+
+    freeRRInstance(_handle);
+	
+    return 0;
+}
+
+
+
diff --git a/wrappers/C/ApiTest/test-integrator-api.c b/wrappers/C/ApiTest/test-integrator-api.c
new file mode 100644
index 0000000..1c859fe
--- /dev/null
+++ b/wrappers/C/ApiTest/test-integrator-api.c
@@ -0,0 +1,348 @@
+// == FILEDOC =================================================
+
+/** @file test-integrator-api.c
+* @author WBC, JKM
+* @date July 2015
+* @copyright Apache License, Version 2.0
+* @brief Tests the RoadRunner integrator C API
+**/
+
+#include "rrc_api.h"
+#include "rrc_logging_api.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+static const char* raw_sbml[3] = {
+    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!-- Created by XMLPrettyPrinter on 7/11/2014 from JDesigner 2.4.32 -->\r\n<sbml xmlns = \"http://www.sbml.org/sbml/level2\" level = \"2\" version = \"1\" xmlns:jd2 = \"http://www.sys-bio.org/sbml/jd2\">\r\n   <!--                     -->\r\n   <!--  Model Starts Here  -->\r\n   <!--                     -->\r\n   <model id = \"untitled\">\r\n      <listOfCompartments>\r\n         <compartment id = \"compartment\" size = \"1\"/>\r\n       [...]
+    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<sbml xmlns=\"http://www.sbml.org/sbml/level2\" xmlns:jd2=\"http://www.sys-bio.org/sbml/jd2\" level=\"2\" version=\"1\">\r\n  <model id=\"feedback\" name=\"Feedback\">\r\n    <listOfCompartments>\r\n      <compartment id=\"compartment\" size=\"1\"/>\r\n    </listOfCompartments>\r\n    <listOfSpecies>\r\n      <species id=\"S1\" compartment=\"compartment\" initialConcentration=\"0\"/>\r\n      <species id=\"S2\" compartment=\"compartment\ [...]
+    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!-- Created by JarnacLite version 1.0.4965.360 on 2013-10-09 15:31 with libSBML version 5.8.0. -->\r\n<sbml xmlns=\"http://www.sbml.org/sbml/level2/version4\" level=\"2\" version=\"4\">\r\n  <model id=\"cell\" name=\"cell\">\r\n    <listOfCompartments>\r\n      <compartment id=\"compartment\" size=\"1\" />\r\n    </listOfCompartments>\r\n    <listOfSpecies>\r\n      <species id=\"Xo\" compartment=\"compartment\" initialConcentration=\"0 [...]
+};
+
+static const char* sbml_desc[3] = {
+    "decay",
+    "feedback",
+    "bistable"
+};
+
+int run_test_with_cvode(RRHandle _handle) {
+    char *settingName, *settingDisplayName, *settingDesc, *settingHint;
+    int settingType;
+    int i;
+    struct RRStringArray *strArray;
+
+    // set active integrator to CVODE
+    setCurrentIntegrator(_handle, "cvode");
+
+    // Probe default (CVODE) integrator
+
+    // Check that name == cvode
+    {
+        char* name = getCurrentIntegratorName(_handle);
+        if (strcmp(name,"cvode")) {
+            fprintf(stderr, "!! Expected integrator name to be 'cvode'\n");
+            return 1;
+        }
+        freeText(name);
+    }
+    fprintf(stderr,"    Description: %s \n", getCurrentIntegratorDescription(_handle));
+    fprintf(stderr,"    Hint: %s \n", getCurrentIntegratorHint(_handle));
+
+    {
+        int nparams = getNumberOfCurrentIntegratorParameters(_handle);
+        fprintf(stderr, "    Number of parameters: %d\n", nparams);
+        for (i = 0; i < nparams; ++i)
+        {
+            settingName = getCurrentIntegratorNthParameterName(_handle, i);
+            settingDesc = getCurrentIntegratorNthParameterDescription(_handle, i);
+            settingHint = getCurrentIntegratorNthParameterHint(_handle, i);
+            settingDisplayName = getCurrentIntegratorNthParameterDisplayName(_handle, i);
+
+            fprintf(stderr,"    %s\n", settingName);
+            fprintf(stderr,"      Description: %s\n      Hint: %s\n      Display Name: %s\n", settingDesc, settingHint, settingDisplayName);
+
+            freeText(settingName);
+            freeText(settingDesc);
+            freeText(settingDisplayName);
+        }
+    }
+
+
+    fprintf(stderr,"\n  **** Test resetting parameters ****\n\n");
+
+    fprintf(stderr,"    Set absolute tolerance to 1e-7\n");
+    setCurrentIntegratorParameterDouble(_handle, "absolute_tolerance", 1e-7);
+    fprintf(stderr,"    Result: %e\n", getCurrentIntegratorParameterDouble(_handle, "absolute_tolerance"));
+
+    fprintf(stderr,"    Reset all integrator settings\n");
+    resetCurrentIntegratorParameters(_handle);
+    fprintf(stderr,"    Current value of absolute_tolerance: %e\n", getCurrentIntegratorParameterDouble(_handle, "absolute_tolerance"));
+
+
+    fprintf(stderr,"\n  **** Test boolean parameters ****\n\n");
+
+    fprintf(stderr,"    Initial value of multiple_steps: %d\n", getCurrentIntegratorParameterBoolean(_handle, "multiple_steps"));
+    fprintf(stderr,"    Set multiple_steps to true\n");
+    setCurrentIntegratorParameterBoolean(_handle, "multiple_steps", 1);
+
+    fprintf(stderr,"    Current value of multiple_steps: %d\n", getCurrentIntegratorParameterBoolean(_handle, "multiple_steps"));
+
+    fprintf(stderr,"    New list of parameters:\n");
+
+    strArray = getListOfCurrentIntegratorParameterNames(_handle);
+    for (i = 0; i < strArray->Count; ++i)
+    {
+        settingName = strArray->String[i];
+        settingDesc = getCurrentIntegratorParameterDescription(_handle, settingName);
+        settingHint = getCurrentIntegratorParameterHint(_handle, settingName);
+        settingType = getCurrentIntegratorParameterType(_handle, settingName);
+
+        fprintf(stderr,"    %s\n", settingName);
+        fprintf(stderr,"    Type: %d\n    Description: %s\n    Hint: %s\n\n", settingType, settingDesc, settingHint);
+    }
+
+    fprintf(stderr,"\n  **** CVODE Simulation ****\n\n");
+
+    // reset the model
+    resetToOrigin(_handle);
+
+    // Simulate
+    {
+        RRCDataPtr result;
+        result = simulateEx(_handle, 0, 10, 11);
+        fprintf(stderr,rrCDataToString(result));
+        freeRRCData(result);
+    }
+
+    return 0;
+}
+
+int run_test_with_gillespie(RRHandle _handle) {
+    char *settingName, *settingDesc, *settingHint;
+    int settingType;
+    int i;
+    struct RRStringArray *strArray;
+
+    fprintf(stderr,"\n  **** Test stochastic simulation ****\n\n");
+
+    // reset the model
+    resetToOrigin(_handle);
+
+    // Add Gillespie Integrator to the mix and then grab updated info on all implemented integrators.
+    setCurrentIntegrator(_handle, "gillespie");
+    fprintf(stderr,"  Number of instantiated integrators:\t %d\n", getNumInstantiatedIntegrators(_handle));
+
+    // Probe Gillespie integrator
+    fprintf(stderr,"    %s \n", getCurrentIntegratorDescription(_handle));
+    fprintf(stderr,"    %s \n", getCurrentIntegratorHint(_handle));
+    fprintf(stderr,"    %d \n", getNumberOfCurrentIntegratorParameters(_handle));
+
+    strArray = getListOfCurrentIntegratorParameterNames(_handle);
+    for (i = 0; i < strArray->Count; ++i)
+    {
+        settingName = strArray->String[i];
+        settingDesc = getCurrentIntegratorParameterDescription(_handle, settingName);
+        settingHint = getCurrentIntegratorParameterHint(_handle, settingName);
+        settingType = getCurrentIntegratorParameterType(_handle, settingName);
+
+        fprintf(stderr,"    %s\n", settingName);
+        fprintf(stderr,"    Type: %d\n    Description: %s\n    Hint: %s\n\n", settingType, settingDesc, settingHint);
+    }
+
+    fprintf(stderr, "Set Gillespie random seed to 12345\n");
+    setCurrentIntegratorParameterUInt(_handle, "seed", 12345u);
+
+    fprintf(stderr,"\n  **** Gillespie Simulation ****\n\n");
+
+    // Simulate
+    {
+        RRCDataPtr result;
+        result = simulateEx(_handle, 0, 10, 11);
+        fprintf(stderr,rrCDataToString(result));
+        freeRRCData(result);
+    }
+
+    return 0;
+}
+
+int run_test_with_rk4(RRHandle _handle) {
+    char *settingName, *settingDesc, *settingHint;
+    int settingType;
+    int i;
+    struct RRStringArray *strArray;
+
+    // Simulate with RK4
+
+    setCurrentIntegrator(_handle, "rk4");
+    fprintf(stderr,"Number of instantiated integrators:\t %d\n", getNumInstantiatedIntegrators(_handle));
+
+    // Probe Gillespie integrator
+    fprintf(stderr,"    Description: %s \n", getCurrentIntegratorDescription(_handle));
+    fprintf(stderr,"    Hint: %s \n", getCurrentIntegratorHint(_handle));
+    fprintf(stderr,"    Parameters: %d \n", getNumberOfCurrentIntegratorParameters(_handle));
+
+    strArray = getListOfCurrentIntegratorParameterNames(_handle);
+    for (i = 0; i < strArray->Count; ++i)
+    {
+        settingName = strArray->String[i];
+        settingDesc = getCurrentIntegratorParameterDescription(_handle, settingName);
+        settingHint = getCurrentIntegratorParameterHint(_handle, settingName);
+        settingType = getCurrentIntegratorParameterType(_handle, settingName);
+
+        fprintf(stderr,"    %s\n", settingName);
+        fprintf(stderr,"    Type: %d\n    Description: %s\n    Hint: %s\n\n", settingType, settingDesc, settingHint);
+    }
+
+    fprintf(stderr,"\n  **** RK4 Simulation ****\n\n");
+
+    // reset the model
+    resetToOrigin(_handle);
+
+    // Simulate
+    {
+        RRCDataPtr result;
+        result = simulateEx(_handle, 0, 10, 11);
+        fprintf(stderr,rrCDataToString(result));
+        freeRRCData(result);
+    }
+
+    return 0;
+}
+
+int run_test_with_rk45(RRHandle _handle) {
+    char *settingName, *settingDesc, *settingHint;
+    int settingType;
+    int i;
+    struct RRStringArray *strArray;
+
+    // Simulate with RK4
+
+    setCurrentIntegrator(_handle, "rk45");
+    fprintf(stderr,"Number of instantiated integrators:\t %d\n", getNumInstantiatedIntegrators(_handle));
+
+    // Probe Gillespie integrator
+    fprintf(stderr,"    Description: %s \n", getCurrentIntegratorDescription(_handle));
+    fprintf(stderr,"    Hint: %s \n", getCurrentIntegratorHint(_handle));
+    fprintf(stderr,"    Parameters: %d \n", getNumberOfCurrentIntegratorParameters(_handle));
+
+    strArray = getListOfCurrentIntegratorParameterNames(_handle);
+    for (i = 0; i < strArray->Count; ++i)
+    {
+        settingName = strArray->String[i];
+        settingDesc = getCurrentIntegratorParameterDescription(_handle, settingName);
+        settingHint = getCurrentIntegratorParameterHint(_handle, settingName);
+        settingType = getCurrentIntegratorParameterType(_handle, settingName);
+
+        fprintf(stderr,"    %s\n", settingName);
+        fprintf(stderr,"    Type: %d\n    Description: %s\n    Hint: %s\n\n", settingType, settingDesc, settingHint);
+    }
+
+    fprintf(stderr,"\n  **** RK45 Simulation ****\n\n");
+
+    // reset the model
+    resetToOrigin(_handle);
+
+    // Simulate
+    {
+        RRCDataPtr result;
+        result = simulateEx(_handle, 0, 10, 11);
+        fprintf(stderr,rrCDataToString(result));
+        freeRRCData(result);
+    }
+
+    return 0;
+}
+
+//call with arguments, -m"modelFilePath" -r"resultFileFolder" -t"TempFolder" -s"Suites"
+int main(int argc, char* argv[])
+{
+    int n;
+    // enable logging
+//     setLogLevel("debug");
+    enableLoggingToFile();
+    {
+        char* t = getLogFileName();
+        fprintf(stderr,"Enabling logging to %s\n", t);
+        freeText(t);
+    }
+
+    // print version
+    {
+        char* t = getVersionStr();
+        fprintf(stderr,"RoadRunner version %s\n", t);
+        freeText(t);
+    }
+
+    fprintf(stderr,"Initializing RoadRunner...\n");
+    RRHandle _handle = createRRInstance();
+
+    {
+        char* t = getCurrentIntegratorName(_handle);
+        fprintf(stderr, "  Default integrator is %s\n", t);
+        freeText(t);
+    }
+
+    // set integrator to gillespie before loading a model to test for crashing
+    setCurrentIntegrator(_handle, "gillespie");
+
+    for(n = 0; n<(sizeof(raw_sbml)/sizeof(raw_sbml[0])); ++n) {
+        struct RRStringArray *strArray;
+        char *settingName, *settingDesc, *settingHint;
+        char *_intgList;
+        int settingType;
+        int k;
+
+        // load the model
+        {
+            const char* modelstr = raw_sbml[n];
+            const char* modeldsc = sbml_desc[n];
+            fprintf(stderr,"\n  **** Loading model '%s'\n\n", modeldsc);
+            loadSBML(_handle, modelstr);
+        }
+
+
+        fprintf(stderr,"\n  ****\n\n");
+
+
+        // Grab info on all implemented integrators.
+        fprintf(stderr,"  Number of registered integrators:\t %d\n", getNumRegisteredIntegrators());
+        for (k = 0; k < getNumRegisteredIntegrators(); ++k) {
+            fprintf(stderr,"    %d:\n", k);
+            fprintf(stderr,"     Name: %s\n", getRegisteredIntegratorName(k));
+            fprintf(stderr,"     Hint: %s\n", getRegisteredIntegratorHint(k));
+            fprintf(stderr,"     Desc: %s\n", getRegisteredIntegratorDescription(k));
+        }
+
+
+        fprintf(stderr,"\n  **** Probe instantiated integrators\n\n");
+
+        fprintf(stderr,"  Number of instantiated integrators:\t %d\n", getNumInstantiatedIntegrators(_handle));
+
+        // instantiate all integrators to test for problems
+        setCurrentIntegrator(_handle, "cvode");
+        setCurrentIntegrator(_handle, "rk4");
+        setCurrentIntegrator(_handle, "euler");
+        setCurrentIntegrator(_handle, "gillespie");
+        setCurrentIntegrator(_handle, "cvode");
+
+        if(run_test_with_rk4(_handle))
+            return 1;
+
+        if(run_test_with_cvode(_handle))
+            return 1;
+
+        if(run_test_with_gillespie(_handle))
+            return 1;
+
+        if(run_test_with_rk45(_handle))
+            return 1;
+    }
+
+    freeRRInstance(_handle);
+	
+    return 0;
+}
+
+
+
diff --git a/wrappers/C/Apps/CMakeLists.txt b/wrappers/C/Apps/CMakeLists.txt
new file mode 100644
index 0000000..2c0030c
--- /dev/null
+++ b/wrappers/C/Apps/CMakeLists.txt
@@ -0,0 +1,6 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(RR_C_API_APPS)
+
+if(BUILD_TEST_TOOLS)
+add_subdirectory(sbml_ts_tester)
+endif()
diff --git a/wrappers/C/Apps/README.txt b/wrappers/C/Apps/README.txt
new file mode 100644
index 0000000..5ad3c9b
--- /dev/null
+++ b/wrappers/C/Apps/README.txt
@@ -0,0 +1,7 @@
+Example programs using the C API of RoadRunner
+
+1: rr_c 
+This program is identical to the main rr (rr.exe), but differes only in that all calls to roadrunner is made trought the C API.
+
+2: validate_sbml
+Shows how to validate an SBML model.
\ No newline at end of file
diff --git a/wrappers/C/Apps/sbml_ts_tester/Args.cpp b/wrappers/C/Apps/sbml_ts_tester/Args.cpp
new file mode 100644
index 0000000..259db5a
--- /dev/null
+++ b/wrappers/C/Apps/sbml_ts_tester/Args.cpp
@@ -0,0 +1,37 @@
+#ifdef USE_PCH
+#include "rr_pch.h"
+#endif
+#pragma hdrstop
+#include <sstream>
+#include <iomanip>
+#include "Args.h"
+#include "rrUtils.h"
+//---------------------------------------------------------------------------
+using namespace std;
+Args::Args()
+:
+SBMLModelsFilePath(""),
+TempDataFolder("."),
+EnableLogging(false),
+ModelNumber(1),
+ModelVersion(l2v4)
+{}
+
+string Usage(const string& prg)
+{
+    stringstream usage;
+    usage << "\nUSAGE for "<<prg<<"\n\n";
+    usage<<left;
+    usage<<setfill('.');
+    usage<<setw(25)<<"-m<FilePath>"                 <<" Folder where the program will read sbml models. \n";
+    usage<<setw(25)<<"-t<FilePath>"                 <<" Temporary data output folder. If not given, temp files are output to current directory\n";
+    usage<<setw(25)<<"-v"                           <<" Enable Logging\n";
+    usage<<setw(25)<<"-i"                           <<" Test Number\n";
+    usage<<setw(25)<<"-a"                           <<" ModelVersion: 0 == l2v4, 1 == l3v1\n";
+    usage<<setw(25)<<"-c"                           <<" Compiler: gcc or llvm\n";
+    usage<<setw(25)<<"-?"                           <<" Shows the help screen.\n\n";
+
+    usage<<"\nSystems Biology, UW 2012\n";
+    return usage.str();
+}
+
diff --git a/wrappers/C/Apps/sbml_ts_tester/Args.h b/wrappers/C/Apps/sbml_ts_tester/Args.h
new file mode 100644
index 0000000..f0d5532
--- /dev/null
+++ b/wrappers/C/Apps/sbml_ts_tester/Args.h
@@ -0,0 +1,21 @@
+#ifndef CommandLineParametersH
+#define CommandLineParametersH
+#include <string>
+using std::string;
+
+string Usage(const string& prg);
+enum ModelVersions {l2v4 = 0, l3v1};
+class Args
+{
+    public:
+                                        Args();
+        virtual                        ~Args(){}
+        string                          SBMLModelsFilePath;       // option m:
+        string                          TempDataFolder;           // option t:
+        bool                            EnableLogging;            // option v:
+        int                             ModelNumber;              // option i:
+        ModelVersions                   ModelVersion;             // option a:
+        string                          compiler;                 // option c:
+};
+
+#endif
diff --git a/wrappers/C/Apps/sbml_ts_tester/CMakeLists.txt b/wrappers/C/Apps/sbml_ts_tester/CMakeLists.txt
new file mode 100644
index 0000000..f33fe8f
--- /dev/null
+++ b/wrappers/C/Apps/sbml_ts_tester/CMakeLists.txt
@@ -0,0 +1,43 @@
+cmake_minimum_required(VERSION 2.8)
+set(target sbml_ts_tester)
+set(rrSrc "../../../../source")
+
+add_executable(${target} 
+main.cpp 
+Args.cpp
+TestSuiteSimulation.cpp
+)
+
+add_definitions(
+-DPOCO_STATIC
+-DSTATIC_PUGI
+-DLIBSBML_STATIC
+-DSTATIC_RR
+-DSTATIC_LIBSTRUCT
+-DLIBLAX_STATIC
+-DSTATIC_NLEQ
+)
+
+target_link_libraries (${target} 
+roadrunner_c_api
+#roadrunner-static
+#poco_foundation-static
+)
+
+#Not sure why linux linker need all libraries at linktime?? All symbols 'should' be in roadrunner-static
+if(UNIX)
+target_link_libraries (${target} 
+f2c
+lapack
+blas
+dl
+z
+xml2
+pthread
+)
+endif()
+
+install(    
+TARGETS ${target} 		
+DESTINATION bin COMPONENT apps
+)
diff --git a/wrappers/C/Apps/sbml_ts_tester/TestSuiteSimulation.cpp b/wrappers/C/Apps/sbml_ts_tester/TestSuiteSimulation.cpp
new file mode 100644
index 0000000..31fe789
--- /dev/null
+++ b/wrappers/C/Apps/sbml_ts_tester/TestSuiteSimulation.cpp
@@ -0,0 +1,238 @@
+#pragma hdrstop
+#include "rrException.h"
+#include "rrUtils.h"
+#include "rrRoadRunnerData.h"
+#include "TestSuiteSimulation.h"
+#include "rrLogger.h"
+
+extern string gTSModelsPath;
+extern string gTempFolder;
+using namespace rr;
+using namespace std;
+
+RoadRunnerData convertCAPIResultData(RRCDataPtr        resultsHandle);
+
+TestSuiteSimulation::TestSuiteSimulation(const string& dataOutputFolder, const string& modelFilePath, const string& modelFileName)
+:
+        rr::TestSuiteModelSimulation(dataOutputFolder, modelFilePath, modelFileName),
+        mRRHandle(0)
+{
+}
+
+TestSuiteSimulation::~TestSuiteSimulation()
+{
+}
+
+void TestSuiteSimulation::UseHandle(RRHandle handle)
+{
+    mRRHandle = handle;
+    if(mRRHandle)
+    {
+        this->UseEngine((RoadRunner*) mRRHandle);
+    }
+}
+
+
+bool TestSuiteSimulation::LoadSBMLFromFile()
+{
+    if(!mRRHandle)
+    {
+        return false;
+    }
+
+    return loadSBMLFromFileE(mRRHandle, GetModelsFullFilePath().c_str(), true);
+}
+
+bool TestSuiteSimulation::LoadSettings(const string& settingsFName)
+{
+    mModelSettingsFileName = (settingsFName);
+
+    if(!mModelSettingsFileName.size())
+    {
+        mModelSettingsFileName = joinPath(mModelFilePath, GetSettingsFileNameForCase(mCurrentCaseNumber));
+    }
+
+    SBMLModelSimulation::LoadSettings(mModelSettingsFileName);
+
+    return true;
+}
+
+//Todo: bisarre to copy stuff back and forth..!
+bool TestSuiteSimulation::Simulate()
+{
+    if(!mRRHandle)
+    {
+        return false;
+    }
+
+    RRCDataPtr resultData = simulate(mRRHandle);
+
+    if (!resultData )
+    {
+        Log(Logger::LOG_ERROR) << "Failed simulate in test " << mCurrentCaseNumber
+                << ", error: " << rrc::getLastError();
+        return false;
+    }
+
+    mResultData = convertCAPIResultData(resultData);
+
+    freeRRCData(resultData);
+    return true;
+}
+
+RoadRunnerData TestSuiteSimulation::GetResult()
+{
+    return mResultData; //Not that pretty.
+}
+
+bool TestSuiteSimulation::SaveResult()
+{
+    string resultFileName(joinPath(mDataOutputFolder, "rrCAPI_" + mModelFileName));
+    resultFileName = changeFileExtensionTo(resultFileName, ".csv");
+
+
+    ofstream fs(resultFileName.c_str());
+    fs << mResultData;
+    fs.close();
+    return true;
+}
+
+RoadRunnerData convertCAPIResultData(RRCDataPtr    result)
+{
+    RoadRunnerData resultData;
+
+    std::vector<std::string> colNames;
+    //Copy column names
+    for(int i = 0; i < result->CSize; i++)
+    {
+        colNames.push_back(result->ColumnHeaders[i]);
+    }
+
+    resultData.setColumnNames(colNames);
+
+    //Then the data
+    int index = 0;
+    resultData.allocate(result->RSize, result->CSize);
+
+    for(int j = 0; j < result->RSize; j++)
+    {
+        for(int i = 0; i < result->CSize; i++)
+        {
+            resultData(j,i) = result->Data[index++];
+        }
+    }
+
+    return resultData;
+}
+
+
+bool RunTest(const string& version, int caseNumber, const std::string& compiler)
+{
+    bool result = false;
+    RRHandle gRR = 0;
+
+    //Create instance..
+    gRR = createRRInstanceEx(gTempFolder.c_str(), compiler.c_str());
+
+
+    //Setup environment
+    setTempFolder(gRR, gTempFolder.c_str());
+
+    if(!gRR)
+    {
+        return false;
+    }
+
+    try
+    {
+        Log(Logger::LOG_NOTICE) << "Running Test: "<<caseNumber<<endl;
+        string dataOutputFolder(gTempFolder);
+        string dummy;
+        string logFileName;
+        string settingsFileName;
+
+        //Create a log file name
+        createTestSuiteFileNameParts(caseNumber, ".log", dummy, logFileName, settingsFileName);
+
+        //Create subfolder for data output
+        dataOutputFolder = joinPath(dataOutputFolder, getTestSuiteSubFolderName(caseNumber));
+
+        if(!createFolder(dataOutputFolder))
+        {
+            string msg("Failed creating output folder for data output: " + dataOutputFolder);
+            throw(rr::Exception(msg));
+        }
+
+        TestSuiteSimulation simulation(dataOutputFolder);
+
+        simulation.UseHandle(gRR);
+
+        //Read SBML models.....
+        string modelFilePath(gTSModelsPath);
+        string modelFileName;
+
+        simulation.SetCaseNumber(caseNumber);
+        createTestSuiteFileNameParts(caseNumber, "-sbml-" + version + ".xml", modelFilePath, modelFileName, settingsFileName);
+
+        //The following will load and compile and simulate the sbml model in the file
+        simulation.SetModelFilePath(modelFilePath);
+        simulation.SetModelFileName(modelFileName);
+        simulation.ReCompileIfDllExists(true);
+        simulation.CopyFilesToOutputFolder();
+        setTempFolder(gRR, simulation.GetDataOutputFolder().c_str());
+        setComputeAndAssignConservationLaws(gRR, false);
+
+        if(!simulation.LoadSBMLFromFile())
+        {
+            throw Exception("Failed loading sbml from file");
+        }
+
+        //Then read settings file if it exists..
+        string settingsOveride("");
+        if(!simulation.LoadSettings(settingsOveride))
+        {
+            throw Exception("Failed loading simulation settings");
+        }
+
+        //Then Simulate model
+        if(!simulation.Simulate())
+        {
+            throw Exception ("Failed running simulation");
+        }
+
+        //Write result
+        if(!simulation.SaveResult())
+        {
+            //Failed to save data
+            throw Exception("Failed saving result");
+        }
+
+        if(!simulation.LoadReferenceData())
+        {
+            throw Exception("Failed Loading reference data");
+        }
+
+        simulation.CreateErrorData();
+        result = simulation.Pass();
+        simulation.SaveAllData();
+        simulation.SaveModelAsXML(dataOutputFolder);
+        if(!result)
+        {
+            Log(Logger::LOG_NOTICE) << "\t\tTest failed using compiler \'" << getCompiler(gRR) << "\'" << endl;
+        }
+        else
+        {
+            Log(Logger::LOG_NOTICE) <<"\t\tTest passed using compiler \'" << getCompiler(gRR) << "\'" << endl;
+        }
+    }
+    catch(rr::Exception& ex)
+    {
+        string error = ex.what();
+        Log(Logger::LOG_NOTICE) << "Case "<<caseNumber<<": Exception: "<<error<<endl;
+        result = false;;
+    }
+
+    // done with rr
+    freeRRInstance(gRR);
+    return result;
+}
diff --git a/wrappers/C/Apps/sbml_ts_tester/TestSuiteSimulation.h b/wrappers/C/Apps/sbml_ts_tester/TestSuiteSimulation.h
new file mode 100644
index 0000000..73fc0a1
--- /dev/null
+++ b/wrappers/C/Apps/sbml_ts_tester/TestSuiteSimulation.h
@@ -0,0 +1,29 @@
+#ifndef TestSuiteSimulationH
+#define TestSuiteSimulationH
+//---------------------------------------------------------------------------
+#include "rrTestSuiteModelSimulation.h"
+#include "rrc_api.h"
+#include <string>
+
+using namespace rr;
+using namespace rrc;
+
+class TestSuiteSimulation : public rr::TestSuiteModelSimulation
+{
+    private:
+        RRHandle           mRRHandle;
+
+    public:
+                            TestSuiteSimulation(const string& dataOutputFolder = "", const string& modelFilePath = "", const string& modelFileName = "");
+                           ~TestSuiteSimulation();
+        void                UseHandle(RRHandle handle);
+        bool                LoadSBMLFromFile();                    //Use current file information to load sbml from file
+        bool                LoadSettings(const string& fName = "");
+        bool                Simulate();
+        bool                SaveResult();
+        RoadRunnerData      GetResult();
+};
+
+//Utility function..
+bool RunTest(const string& version, int caseNumber, const std::string& compiler = "");
+#endif
diff --git a/wrappers/C/Apps/sbml_ts_tester/main.cpp b/wrappers/C/Apps/sbml_ts_tester/main.cpp
new file mode 100644
index 0000000..1856268
--- /dev/null
+++ b/wrappers/C/Apps/sbml_ts_tester/main.cpp
@@ -0,0 +1,166 @@
+#include <iostream>
+#include <fstream>
+#include "rrLogger.h"
+#include "rrException.h"
+#include "rrUtils.h"
+#include "Args.h"
+#include "rrc_api.h"
+#include "rrGetOptions.h"
+#include "TestSuiteSimulation.h"
+#include "rrException.h"
+#include "rrRoadRunner.h"
+#include "rrConfig.h"
+
+using namespace std;
+using namespace rr;
+
+string     gTempFolder              = "";
+string     gRRInstallFolder         = "";
+string     gTSModelsPath            = "";
+void ProcessCommandLineArguments(int argc, char* argv[], Args& args);
+
+static void dispConfigFile()
+{
+    std::string conf = rr::Config::getConfigFilePath();
+    if(conf.length())
+    {
+        cout << "config file: " << conf << endl;
+    }
+    else
+    {
+        cout << "could not find default config file, tried locations: " << endl;
+        int llevel = rr::Logger::getLevel();
+        rr::Logger::setLevel(rr::Logger::LOG_DEBUG);
+        rr::Config::getConfigFilePath();
+        rr::Logger::setLevel(llevel);
+    }
+}
+
+//call with arguments, -m"modelFilePath" -r"resultFileFolder" -t"TempFolder"
+int main(int argc, char* argv[])
+{
+    try
+    {
+        cout << "RoadRunner SBML Tester" << endl;
+
+        cout << "Built on " << __DATE__ << " " << __TIME__ << endl;
+
+        cout << RoadRunner::getExtendedVersionInfo() << endl;
+
+        Logger::enableConsoleLogging();
+
+        dispConfigFile();
+
+        Logger::setLevel(Logger::LOG_NOTICE);
+
+        Args args;
+        ProcessCommandLineArguments(argc, argv, args);
+
+        string thisExeFolder = getCurrentExeFolder();
+        cout << "RoadRunner version: ";
+        cout << "RoadRunner bin location is: "<<thisExeFolder<<endl;
+
+        //Assume(!) this is the bin folder of roadrunner install
+        gRRInstallFolder = getParentFolder(thisExeFolder);    //Go up one folder
+        gTSModelsPath    = args.SBMLModelsFilePath;
+        gTempFolder      = args.TempDataFolder;
+        setInstallFolder(gRRInstallFolder.c_str());
+
+        if(args.EnableLogging)
+        {
+            Logger::setLevel(Logger::LOG_DEBUG);
+        }
+        else
+        {
+            Logger::setLevel(Logger::LOG_NOTICE);
+        }
+
+        Log(Logger::LOG_NOTICE) << "Notice";
+
+        // set full model path (read from cmd line)
+        gTSModelsPath = joinPath(joinPath(gTSModelsPath, "cases"), "semantic");
+        Log(lInfo)<<"Testing model: "<<args.ModelNumber;
+
+        switch(args.ModelVersion)
+        {
+            case l2v4:
+                RunTest("l2v4", args.ModelNumber, args.compiler);
+            break;
+            case l3v1:
+                RunTest("l3v1", args.ModelNumber, args.compiler);
+            break;
+
+        }
+
+        return 0;
+    }
+    catch (std::exception &e)
+    {
+        cout << "caught Exception: " << e.what() << "\n";
+    }
+    return -1;
+}
+
+void ProcessCommandLineArguments(int argc, char* argv[], Args& args)
+{
+    char c;
+    while ((c = GetOptions(argc, argv, ("vi:a:m:t:c:"))) != -1)
+    {
+        switch (c)
+        {
+            case ('i'): args.ModelNumber                            = toInt(rrOptArg);                   break;
+            case ('a'): args.ModelVersion                           = (ModelVersions) toInt(rrOptArg);   break;
+            case ('m'): args.SBMLModelsFilePath                     = rrOptArg;                          break;
+            case ('t'): args.TempDataFolder                         = rrOptArg;                          break;
+            case ('v'): args.EnableLogging                          = true;                              break;
+            case ('c'): args.compiler                               = rrOptArg;                          break;
+            case ('?'): cout<<Usage(argv[0])<<endl;                                                      break;
+            default:
+            {
+                string str = argv[rrOptInd-1];
+                if(str != "-?")
+                {
+                    cout<<"*** Illegal option:\t"<<argv[rrOptInd-1]<<" ***\n\n";
+                }
+                exit(0);
+            }
+            break;
+        }
+    }
+
+    //Check arguments, and choose to bail here if something is not right...
+    if(argc < 2)
+    {
+        cout<<Usage(argv[0])<<endl;
+        cout<<"\n";
+        exit(0);
+    }
+}
+
+
+#if defined(CG_IDE)
+
+//#if defined(STATIC_RTL)
+//#pragma comment(lib, "roadrunner_c_api-static.lib")
+//#else
+#pragma comment(lib, "roadrunner_c_api.lib")
+//#endif
+
+#if defined(STATIC_RR)
+    #pragma comment(lib, "roadrunner-static.lib")
+#else
+    #pragma comment(lib, "roadrunner.lib")
+#endif
+
+#pragma comment(lib, "sundials_cvode")
+#pragma comment(lib, "sundials_nvecserial")
+#pragma comment(lib, "libf2c")
+#pragma comment(lib, "blas")
+#pragma comment(lib, "lapack")
+#pragma comment(lib, "nleq-static")
+#pragma comment(lib, "poco_foundation-static.lib")
+#pragma comment(lib, "rr-libstruct-static.lib")
+#pragma comment(lib, "unit_test-static.lib")
+#endif
+
+
diff --git a/wrappers/C/CMakeLists.txt b/wrappers/C/CMakeLists.txt
new file mode 100644
index 0000000..3f78595
--- /dev/null
+++ b/wrappers/C/CMakeLists.txt
@@ -0,0 +1,115 @@
+set(target roadrunner_c_api)
+
+set(C_API_INCLUDE_ROOT "${RR_ROOT}/wrappers/C")
+
+include_directories(${RR_GENERATED_HEADER_PATH}) #we have to do this to get the generated header
+
+include_directories(
+${C_API_INCLUDE_ROOT}
+${RR_ROOT}/source
+${THIRD_PARTY_INSTALL_FOLDER}/include
+)
+
+# TODO: remove all the deprecated definition when we have time...
+#if(CMAKE_COMPILER_IS_GNUCXX)
+if(UNIX)
+    # should work with either gcc or clang
+    add_definitions(-Wno-deprecated-declarations)
+endif(UNIX)
+
+#The C-api is built as a shared library..
+add_library(${target} SHARED
+    rrcStringList
+    rrArrayList
+    rrArrayListItem
+    rrArrayListItemBase
+    rrc_api
+    rrc_logging_api
+    rrc_nom_api
+    rrc_libstruct_api
+    rrc_utilities
+    rrc_cpp_support
+)
+
+#Link C_api dll statically to roadrunner and libsbml
+if(WIN32)
+    set_property(TARGET ${target}
+        PROPERTY  COMPILE_DEFINITIONS
+        EXPORT_RRC
+        LIBSBML_STATIC
+        LIBLAX_STATIC
+        POCO_STATIC
+        STATIC_LIBSTRUCT
+        STATIC_RR
+        )
+
+    target_link_libraries ( ${target}
+        roadrunner-static
+        )
+
+else() #Unix
+    # OSX flags:
+    #"${CMAKE_SHARED_LINKER_FLAGS} -Wl,-no_implicit_dylibs -undefined error")
+    # OSX seems to link fine without this flag
+    if(APPLE)
+        #set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-no_implicit_dylibs -undefined error")
+        SET_TARGET_PROPERTIES(${target} PROPERTIES INSTALL_RPATH "@loader_path/;@loader_path/../python2.7/roadrunner/" INSTALL_NAME_DIR "@rpath")
+        target_link_libraries ( ${target}
+            roadrunner
+            rr-libstruct-static
+            nleq-static
+            sbml-static
+            lapack
+            blas
+            f2c
+            pthread
+            )
+    else()
+        set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined")
+        target_link_libraries ( ${target}
+            roadrunner-static
+            rr-libstruct-static
+            nleq-static
+            sbml-static
+            lapack
+            blas
+            f2c
+            pthread
+            )
+    endif()
+
+    set_property(TARGET ${target}
+        PROPERTY  COMPILE_DEFINITIONS
+        LIBSBML_STATIC
+        LIBLAX_STATIC
+        STATIC_LIBSTRUCT
+        )
+
+endif()
+
+add_subdirectory(Apps)
+add_subdirectory(ApiTest)
+if(INSTALL_EXAMPLES)
+    add_subdirectory(Examples)
+endif()
+
+if(BUILD_TEST_TOOLS)
+    add_subdirectory(Testing)
+endif()
+
+#=============== INSTALL =====================
+#Glob all header files
+FILE (GLOB headers rrc*.h)
+
+install(
+    FILES
+    ${headers}
+    DESTINATION include/rr/C COMPONENT c_api
+    )
+
+install(
+    TARGETS ${target}
+    RUNTIME DESTINATION bin COMPONENT c_api
+    ARCHIVE DESTINATION lib COMPONENT c_api
+    LIBRARY DESTINATION lib COMPONENT c_api
+    )
diff --git a/wrappers/C/Examples/CMakeLists.txt b/wrappers/C/Examples/CMakeLists.txt
new file mode 100644
index 0000000..87afb83
--- /dev/null
+++ b/wrappers/C/Examples/CMakeLists.txt
@@ -0,0 +1,23 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(RR_C_API_Examples)
+
+set(examples
+#get_c_code
+)
+
+
+foreach(example ${examples})
+     add_subdirectory(${example})
+    FILE (GLOB hdrs ${example}/*.h)
+     install (FILES ${hdrs}
+                DESTINATION Examples/c_api/${example}
+                COMPONENT example_files)
+
+    FILE (GLOB src ${example}/*.cpp)
+     install (FILES ${src}                         DESTINATION Examples/c_api/${example}    COMPONENT example_files)
+     install (FILES ${example}/Readme.txt         DESTINATION Examples/c_api/${example}    COMPONENT example_files)
+     install (FILES ${example}/CMakeLists.txt     DESTINATION Examples/c_api/${example}    COMPONENT example_files)
+endforeach(example)
+
+#install (FILES Readme.txt             DESTINATION Examples/c_api COMPONENT doc_file)
+#install (FILES CMakeLists.txt         DESTINATION Examples/c_api COMPONENT example_files)
diff --git a/wrappers/C/Examples/README.txt b/wrappers/C/Examples/README.txt
new file mode 100644
index 0000000..5ad3c9b
--- /dev/null
+++ b/wrappers/C/Examples/README.txt
@@ -0,0 +1,7 @@
+Example programs using the C API of RoadRunner
+
+1: rr_c 
+This program is identical to the main rr (rr.exe), but differes only in that all calls to roadrunner is made trought the C API.
+
+2: validate_sbml
+Shows how to validate an SBML model.
\ No newline at end of file
diff --git a/wrappers/C/Examples/api_tester/CMakeLists.txt b/wrappers/C/Examples/api_tester/CMakeLists.txt
new file mode 100644
index 0000000..a70f244
--- /dev/null
+++ b/wrappers/C/Examples/api_tester/CMakeLists.txt
@@ -0,0 +1,12 @@
+set(target api_tester)
+
+add_executable( ${target} 
+main.cpp
+)
+
+target_link_libraries (${target} roadrunner_c_api)
+
+install(
+        TARGETS ${target} 		
+        DESTINATION bin 
+        COMPONENT compiled_examples)
diff --git a/wrappers/C/Examples/api_tester/README.txt b/wrappers/C/Examples/api_tester/README.txt
new file mode 100644
index 0000000..e69de29
diff --git a/wrappers/C/Examples/api_tester/main.cpp b/wrappers/C/Examples/api_tester/main.cpp
new file mode 100644
index 0000000..b3cba06
--- /dev/null
+++ b/wrappers/C/Examples/api_tester/main.cpp
@@ -0,0 +1,439 @@
+//---------------------------------------------------------------------------
+#include <iostream>
+#include <string>
+#include <vector>
+#include <fstream>
+#include <sstream>
+#include <stdio.h>
+#include "rrc_core_api.h"
+#include "rrc_support.h"
+//---------------------------------------------------------------------------
+
+using namespace std;
+using namespace rrc;
+
+void printMatrix(char* msg1, RRDoubleMatrixPtr mat);
+int main(int argc, char* argv[])
+{
+	printf ("\n    Start of run\n");
+	printf ("   ==============\n\n");
+
+	// Test list type
+	printf ("Tesing list type\n");
+
+	RRListHandle myList = createRRList();
+
+	// First construct [5, 3.1415]
+	RRListItemPtr myItem = createIntegerItem (5);
+	addItem (myList, &myItem);
+	myItem = createDoubleItem (3.1415);
+	addItem (myList, &myItem);
+
+	// Next construct [5, 3.1415, [2.7182, "Hello"]]
+	myItem = createListItem (createRRList());
+    addItem (myList, &myItem);
+	RRListItemPtr newItem = createDoubleItem (2.7182);
+	addItem (getList (myItem), &newItem);
+
+	newItem = createStringItem ("Hello");
+	addItem (getList (myItem), &newItem);
+
+	if (isListItemInteger (myList->Items[0]))
+		printf ("Yes\n");
+
+	int length = getListLength (myList);
+	myItem = getListItem (myList, 0);
+	myItem = getListItem (myList, 1);
+	myItem = getListItem (myList, 2);
+	myItem = getListItem (myList, 3);
+	if (myItem == NULL)
+		printf ("Index overflow in getListItem\n");
+
+	if (isListItem (getListItem (myList, 1), litInteger))
+		printf ("Yes it is an integer\n");
+
+	printf ("\nList:\n");
+
+    char* text = listToString (myList);
+	printf (text);
+    freeText(text);
+	printf ("\n\n");
+	freeRRList (myList);
+
+	string modelsPath(".\\..\\Models");
+	if(argc > 1)
+	{
+		modelsPath = argv[1];
+	}
+
+	char* buffer = new char[MAXPATH];
+	// Get the current working directory:
+	if( (buffer = _getcwd( buffer, MAXPATH )) == NULL )
+	{
+		perror( "getcwd error" );
+	}
+	else
+	{
+		printf( "Current cwd = %s \nLength: %d\n", buffer, strlen(buffer) );
+		delete [] buffer;
+	}
+
+	RRHandle rrHandle = NULL;
+    rrHandle =  getRRInstance();
+
+    if(!rrHandle)
+    {
+        cout<<"No handle...";
+    }
+    setTempFolder("c:\\rrTemp");
+    enableLogging();
+
+	text = getLogFileName();
+    if(text)
+	{
+		cout<<"Log File Name: "<<text<<endl;
+		freeText(text);
+	}
+
+	text = getBuildDate();
+
+	if(text)
+	{
+		cout<<"Build date: "<<text<<endl;
+		freeText(text);
+	}
+
+//	   string fileName = modelsPath + "\\ss_TurnOnConservationAnalysis.xml";
+//	   string fileName = modelsPath + "\\ss_SimpleConservedCycle.xml";
+	 string fileName = modelsPath + "\\ss_threeSpecies.xml";
+//	 string fileName = modelsPath + "\\boundary.xml";
+
+
+	ifstream ifs(fileName.c_str());
+	if(!ifs)
+	{
+		cerr<<"Failed opening file: "<<fileName;
+		return false;
+	}
+	cout << "\nRunning model: " << fileName << endl;
+	setComputeAndAssignConservationLaws(false);
+	std::string sbml((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());
+
+	if(!loadSBML(sbml.c_str()))
+	{
+		cerr<<"Failed loading SBML from file:"<<fileName<<endl;
+		cerr<<"Last error was: "<<getLastError()<<endl;
+		return -1;
+	}
+
+	RRListHandle sList = getAvailableSymbols();
+    cout<<"Symbols: "<<listToString(sList);
+
+
+    char* cFileName = getCSourceFileName();
+    if(cFileName)
+    {
+    	cout<<"\n C File Name: "<<cFileName<<"\n";
+    }
+
+    freeText(cFileName);
+
+    cout<<"Number of rules: "<<getNumberOfRules()<<"\n";
+	int r = getNumberOfReactions();
+	int m = getNumberOfFloatingSpecies();
+	int b = getNumberOfBoundarySpecies();
+	int p = getNumberOfGlobalParameters();
+	int c = getNumberOfCompartments();
+
+	printf ("Number of reactions = %d\n", r);
+	printf ("Number of floating species = %d\n", m);
+	printf ("Number of boundary species = %d\n\n", b);
+	printf ("Number of compartments = %d\n\n", c);
+
+	if (m > 0) {
+	   printf ("Compartment names:\n");
+	   printf ("------------------\n");
+	   cout<<stringArrayToString(getCompartmentIds())<<endl<<endl;
+	}
+
+	if (m > 0) {
+	   printf ("Floating species names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getFloatingSpeciesIds())<<endl<<endl;
+	}
+
+	if (m > 0) {
+	   printf ("Initial Floating species names:\n");
+	   printf ("-------------------------------\n");
+	   cout<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+	}
+
+	if (b > 0) {
+       printf ("\nBoundary species names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getBoundarySpeciesIds())<<endl;
+	}
+	printf ("\n");
+
+	if (p > 0) {
+       printf ("\nGlobal Parameter names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getGlobalParameterIds())<<endl;
+	}
+	printf ("\n");
+
+	if (r > 0) {
+       printf ("\nReaction names:\n");
+	   printf ("---------------\n");
+	   cout<<stringArrayToString(getReactionIds())<<endl;
+	}
+	printf ("\n");
+
+	if (m> 0) {
+       printf ("\nRates of change names:\n");
+	   printf ("----------------------\n");
+	   cout<<stringArrayToString(getRatesOfChangeIds())<<endl;
+	}
+	printf ("\n");
+
+
+	if (r > 0) {
+       printf ("\nUnscaled flux control coefficient names:\n");
+	   printf ("----------------------------------------\n");
+	   RRListHandle stringArray = getUnscaledFluxControlCoefficientIds();
+	   cout<<listToString(stringArray)<<endl;
+	}
+	printf ("\n");
+
+	if (m > 0) {
+       printf ("\nUnscaled concentration control coefficient names:\n");
+	   printf ("-------------------------------------------------\n");
+	   cout<<listToString(getUnscaledConcentrationControlCoefficientIds())<<endl;
+	}
+	printf ("\n");
+
+	double ssVal;
+    bool success = steadyState(ssVal);
+    if(!success)
+    {
+		cerr<<"Steady State call failed. Error was: "<<getLastError()<<endl;
+    }
+    else
+    {
+	    cout<<"Compute Steady State: sums of squares: "<<ssVal<<endl;
+    }
+
+    printMatrix("Stoichiometry Matrix", getStoichiometryMatrix());
+
+    cout<<"Number of independent species = "<<getNumberOfIndependentSpecies()<<endl;
+    cout<<"Number of dependent Species = "<<getNumberOfDependentSpecies()<<endl<<endl;
+
+    printMatrix("Link Matrix", getLinkMatrix());
+	printMatrix("Nr Matrix", getNrMatrix());
+	printMatrix("L0 Matrix", getL0Matrix());
+	printMatrix("Full Jacobian Matrix", getFullJacobian());
+	printMatrix("Reduced Jacobian Matrix:", getReducedJacobian());
+    printMatrix("Eigenvalue Matrix (real/imag)", getEigenValues());
+	printMatrix("Unscaled Elasticity Matrix:", getUnScaledElasticityMatrix());
+    printMatrix("Scaled Elasticity Matrix:", getScaledElasticityMatrix());
+	printMatrix("Unscaled Concentration Control Coefficients Matrix", getUnscaledConcentrationControlCoefficientMatrix());
+	printMatrix("Scaled Concentration Control Coefficients Matrix:", getScaledConcentrationControlCoefficientMatrix());
+	printMatrix("Unscaled Flux Control Coefficients Matrix", getUnscaledFluxControlCoefficientMatrix());
+	printMatrix("Scaled Flux Control Coefficients Matrix", getScaledFluxControlCoefficientMatrix());
+
+	double value;
+	printf ("Flux Control Coefficient, CC^(_J1)_k1\n");
+	getCC("_J1", "k1", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k2\n");
+	getCC("_J1", "k2", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k3\n");
+	getCC("_J1", "k3", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k4\n");
+	getCC("_J1", "k4", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J1)_S1\n");
+	getEE("_J1", "S1", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J2)_S1\n");
+	getEE("_J2", "S1", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J2)_S2\n");
+	getEE("_J2", "S2", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J3)_S2\n");
+	getEE("_J3", "S2", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("\n");
+	//printf ("Flux Control Coefficient, C^(_J1)_k1\n");
+	//double value;
+	//getCC("_J1", "k1", value);
+	//printf ("FCC = %f\n", value);
+
+	/*getGlobalParameterByIndex (0, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (1, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (2, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (3, value);
+	printf ("%f\n", value);*/
+
+	RRVector veca;
+	veca.Count = 3;
+	veca.Data = new double[3];
+   	veca.Data[0] = 1;
+	veca.Data[1] = 2;
+	veca.Data[2] = 3;
+
+    cout<<"List of floating species: \n"<<stringArrayToString(getFloatingSpeciesIds())<<endl;
+
+	printf ("\nCall to getRatesOfChangeEx (S1=1, S2=2, S3=3):\n");
+	cout<<vectorToString (getRatesOfChangeEx(&veca))<<endl;
+
+//	printf ("\nCall to getReactionRatesEx (S1=1, S2=2, S3=3):\n");
+//	cout<<printVector (getReactionRatesEx (&veca))<<endl;
+//
+//	printf ("\nCall to getRatesOfChange (with S1=1, S2=2, S3=3):\n");
+//	cout<<printVector (getRatesOfChange())<<endl;
+
+    setSelectionList("S1 S2");
+//-------- The latest
+    cout<<vectorToString(getFloatingSpeciesConcentrations());
+    cout<<vectorToString(getGlobalParameterValues());
+    cout<<"\n\n Symbols\n";
+    RRList* symHandle = getAvailableSymbols();
+    cout<<listToString(symHandle);
+    freeRRList(symHandle);
+
+    cout<<"\n\n ================================\n";
+    RRVector* test = getReactionRates();
+    cout<<vectorToString(test);
+
+    setFloatingSpeciesByIndex(0,2);
+    setFloatingSpeciesByIndex(1,4);
+    setFloatingSpeciesByIndex(2,6);
+
+    test = getReactionRates();
+    cout<<vectorToString(test);
+
+    //Get value problem..
+    getValue("S1", value);
+    cout<<value<<endl;
+    getValue("S2", value);
+    cout<<value<<endl;
+    getValue("S3", value);
+    cout<<value<<endl;
+
+    getRatesOfChange();
+
+    getValue("S1", value);
+    cout<<value<<endl;
+    getValue("S2", value);
+    cout<<value<<endl;
+    getValue("S3", value);
+    cout<<value<<endl;
+
+	//cout<<getBoundarySpeciesByIndex (0)<<endl;
+    //getGlobalParameterByIndex(0, value);
+
+    //cout<<value<<endl;
+    //getGlobalParameterByIndex(2, value);
+    //cout<<value<<endl;
+
+    //cout<<getParamPromotedSBML(sbml.c_str());
+
+    //cout<<getSBML()<<endl;
+
+    //cout<<printMatrix(getScaledElasticityMatrix());     //How to free, when doing something like this??
+    //cout<<printStringList(getEigenValueNames());
+
+    cout<<"\n FluxControlCoeff ------\n"<<listToString(getFluxControlCoefficientIds())<<endl;
+
+    cout<<"\n Unscaled FluxControlCoeff ------\n"<<listToString(getUnscaledFluxControlCoefficientIds())<<endl;
+    RRList* list =getConcentrationControlCoefficientIds();
+    cout<<listToString(list)<<endl;
+    //freeList(list);
+
+
+    //cout<<printStringList(getElasticityNames())<<endl;
+
+//    setBoundarySpeciesByIndex(0,34);
+    cout<<"Nr of Compartments: "<<getNumberOfCompartments()<<endl;
+    setCompartmentByIndex(0,456);
+    if(getCompartmentByIndex(0, value))
+    {
+        cout<<"Compartment Volume: "<<value<<endl;
+    }
+    else
+    {
+        cout<<getLastError()<<endl;
+    }
+    cout<<stringArrayToString(getCompartmentIds())<<endl;
+
+    getRateOfChange(0, value);
+    cout<<"Rate of change:"<<value<<endl;
+
+	cout<<"API Version: "<<getVersion()<<endl;
+
+    //cout<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+
+
+    cout<<" ---- getElasticityCoefficientNames ---\n"<<listToString(getElasticityCoefficientIds())<<endl;
+//    cout<<stringArrayToString(getRateOfChangeIds())<<endl;
+    setCapabilities (NULL);
+    cout<<getCapabilities()<<endl;
+
+//    C_DECL_SPEC bool                    rrCallConv   getScaledFloatingSpeciesElasticity(const char* reactionName, const char* speciesName, double& value);
+    if(getScaledFloatingSpeciesElasticity("_J1", "S1", value))
+    {
+        cout<<"ScaledFloatingSpeciesElasticity "<<value<<endl;
+    }
+    else
+    {
+        cout<<getLastError()<<endl;
+    }
+
+    cout<<"getFloatingSpeciesInitialConditionNames: "<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+
+
+    cout<<getCurrentSBML();
+	///////////////////
+    text = getCopyright();
+    if(hasError())
+    {
+        char* error = getLastError();
+        cout<<error<<endl;
+    }
+
+    cout<<text<<endl;
+    freeText(text);
+    freeRRInstance(rrHandle);
+    return 0;
+}
+
+void printMatrix(char* msg1, RRDoubleMatrixPtr mat)
+{
+	cout<<msg1<<"\n";
+	cout<<("------------\n\n");
+    char *text = matrixToString(mat);
+    if(text)
+    {
+		cout<<text<<"\n\n";
+        freeText(text);
+    }
+    else
+    {
+    	cout<<"NULL\n\n";
+    }
+}
diff --git a/wrappers/C/Examples/get_c_code/CMakeLists.txt b/wrappers/C/Examples/get_c_code/CMakeLists.txt
new file mode 100644
index 0000000..e558f7e
--- /dev/null
+++ b/wrappers/C/Examples/get_c_code/CMakeLists.txt
@@ -0,0 +1,25 @@
+set(target get_c_code)
+
+set(rrSrc "../../../../source")
+add_executable( ${target} 
+main.cpp
+${rrSrc}/rrFileLog.cpp
+${rrSrc}/rrLogger.cpp
+${rrSrc}/rrLogFile.cpp
+${rrSrc}/rrLoggerUtils.cpp
+${rrSrc}/rrLogOutput.cpp
+${rrSrc}/rrObject.cpp
+${rrSrc}/rrStringUtils.cpp
+${rrSrc}/rrUtils.cpp
+)
+
+set_property(   TARGET ${target} 
+                PROPERTY  COMPILE_DEFINITIONS 
+                          STATIC_RR             #when linking with static lib, no declspec shuld be present..
+)
+target_link_libraries (${target} roadrunner_c_api roadrunner)
+
+install(
+        TARGETS ${target} 		
+        DESTINATION bin 
+        COMPONENT compiled_examples)
diff --git a/wrappers/C/Examples/get_c_code/Readme.txt b/wrappers/C/Examples/get_c_code/Readme.txt
new file mode 100644
index 0000000..e69de29
diff --git a/wrappers/C/Examples/get_c_code/main.c b/wrappers/C/Examples/get_c_code/main.c
new file mode 100644
index 0000000..4aee223
--- /dev/null
+++ b/wrappers/C/Examples/get_c_code/main.c
@@ -0,0 +1,106 @@
+#pragma hdrstop
+#include <stdio.h>
+#include "../../rrc_api.h"
+
+/*--------------------------------------------------------------------------
+Example showing how to obtain model generated C code
+
+---------------------------------------------------------------------------*/
+
+int main()
+{
+    RRHandle rrHandle;
+	RRCCodePtr code;
+	char* text;
+	char* sbml;
+
+    char modelFileName[2048];
+
+	//-------------------------------
+    rrHandle =  createRRInstance();
+    if(!rrHandle)
+    {
+        printf("No handle...");
+    }
+
+	text = getBuildDate();
+
+	if(text)
+	{
+		printf("Build date: %s \n", text);
+		freeText(text);
+	}
+
+    //Setup tempfolder
+    strcpy(text, "../temp");
+    if(!setTempFolder(rrHandle, text))
+    {
+    	printf("The temp file folder \'%s\' do not exist. Exiting...\n", text);
+        exit(0);
+    }
+
+	//Setup logging
+   	setLogLevel("Info");
+	enableLoggingToConsole();
+   	enableLoggingToFile(rrHandle);
+
+
+	strcpy(modelFileName, "../models/test_1.xml");
+
+	sbml = getFileContent(modelFileName);
+
+    //To get the C Code, the code needs to be generated
+    if(!loadSBML(rrHandle, sbml))
+    {
+    	printf("Failed loading SBML.\n");
+        printf("Last error: %s", getLastError());
+        printf("Exiting...");
+        return -1;
+    }
+
+	code = getCCode(rrHandle);
+    if(!code)
+    {
+	  	printf("Failed to get C-code from RoadRunner");
+        printf("Exiting...");
+        return -1;
+    }
+
+    printf("START OF CODE ==========\n");
+	if(code->Header)
+	{
+		printf("C Header =========== \n%s \n\n", code->Header);
+	}
+	else
+	{
+		printf("C Header =========== \n is empty!\n");
+	}
+
+	if(code->Source)
+	{
+		printf("C Source =========== \n%s \n", code->Source);
+	}
+	else
+	{
+		printf("C Source  =========== \n is empty!\n");
+	}
+
+    printf("END OF CODE ==========\n");
+
+	///// Cleanup
+    freeCCode(code);
+    text = getCopyright();
+    if(hasError())
+    {
+        char* error = getLastError();
+        printf("Last error: %s \n", error);
+        freeText(error);
+    }
+    printf(text);
+    freeText(text);
+    freeRRInstance(rrHandle);
+    return 0;
+}
+
+#pragma link "rrc_api.lib"
+
diff --git a/wrappers/C/Examples/simple_app/autolink.cpp b/wrappers/C/Examples/simple_app/autolink.cpp
new file mode 100644
index 0000000..ecaa89b
--- /dev/null
+++ b/wrappers/C/Examples/simple_app/autolink.cpp
@@ -0,0 +1,28 @@
+//We only need to give the linker the folder where libs are
+//using the pragma comment. Automatic linking, using pragma comment works for MSVC and codegear
+
+
+#if defined(STATIC_APP)
+    #pragma comment(lib, "roadrunner-static.lib")
+    #pragma comment(lib, "roadrunner_c_api-static.lib")
+    #pragma comment(lib, "rrplugins-static.lib")
+    #pragma comment(lib, "rrplugins_c_api-static.lib")
+#else
+//    #pragma comment(lib, "roadrunner.lib")
+    #pragma comment(lib, "roadrunner_c_api.lib")
+    #pragma comment(lib, "rre_api.lib")
+#endif
+
+
+//#pragma comment(lib, "sundials_cvode.lib")
+//#pragma comment(lib, "sundials_nvecserial.lib")
+//#pragma comment(lib, "nleq-static.lib")
+//#pragma comment(lib, "rr-libstruct-static.lib")
+//#pragma comment(lib, "libsbml-static.lib")
+//#pragma comment(lib, "libxml2_xe.lib")
+//#pragma comment(lib, "blas.lib")
+//#pragma comment(lib, "lapack.lib")
+//#pragma comment(lib, "libf2c.lib")
+#pragma comment(lib, "poco_foundation-static.lib")
+
+
diff --git a/wrappers/C/Examples/simple_app/main.cpp b/wrappers/C/Examples/simple_app/main.cpp
new file mode 100644
index 0000000..5f368ae
--- /dev/null
+++ b/wrappers/C/Examples/simple_app/main.cpp
@@ -0,0 +1,52 @@
+#include <iostream>
+#include <iomanip>
+#include "rrc_api.h"
+
+using namespace std;
+using namespace rrc;
+
+int main()
+{
+    char* modelFile("../models/test_1.xml");
+    RRHandle rrHandle = createRRInstance();
+
+    if (!loadSBML(rrHandle, modelFile))
+    {
+       cout << "Error while loading SBML file\n";
+       cout << "Error message: "<< getLastError() <<endl;
+       exit(-1);
+    }
+
+    RRCData* cOutput = simulateEx (rrHandle, 0, 10, 10);  // start time, end time, and number of points
+
+    int index = 0;
+    for(int col = 0; col < cOutput->CSize; col++)
+    {
+        cout<<setw(20)<<left<<cOutput->ColumnHeaders[index++];
+        if(col < cOutput->CSize -1)
+        {
+            cout<<"\t";
+        }
+    }
+    cout<<"\n";
+    index =0;
+    for(int row = 0; row < cOutput->RSize; row++)
+    {
+        for(int col = 0; col < cOutput->CSize; col++)
+        {
+            cout<<setw(20)<<left<<cOutput->Data[index++];
+            if(col < cOutput->CSize -1)
+            {
+                cout<<"\t";
+            }
+        }
+        cout<<"\n";
+
+      }
+
+    freeRRCData (cOutput);
+    freeRRInstance (rrHandle);
+    return 0;
+}
+
+
diff --git a/wrappers/C/License.txt b/wrappers/C/License.txt
new file mode 100644
index 0000000..e69de29
diff --git a/wrappers/C/README.txt b/wrappers/C/README.txt
new file mode 100644
index 0000000..0203145
--- /dev/null
+++ b/wrappers/C/README.txt
@@ -0,0 +1,3 @@
+word word word
+
+wordssssss
diff --git a/wrappers/C/Testing/CMakeLists.txt b/wrappers/C/Testing/CMakeLists.txt
new file mode 100644
index 0000000..a5c3b59
--- /dev/null
+++ b/wrappers/C/Testing/CMakeLists.txt
@@ -0,0 +1,61 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(RR_C_API_Tests)
+
+set(target run_test_suite)
+
+set(tests
+    Suite_Core_Tests
+    Suite_TestModel
+    Suite_SBML_Tests
+    Suite_NOM_Tests
+    Suite_LibStruct_Tests
+    )
+
+add_executable( ${target}
+    main.cpp
+    src/Args.cpp
+    src/TestUtils
+    src/rrSBMLTestSuiteSimulation_CAPI
+    ${tests}
+    )
+
+set_property(TARGET ${target}
+    PROPERTY  COMPILE_DEFINITIONS
+    STATIC_LIBSTRUCT
+    STATIC_RR
+    POCO_STATIC
+    XML_STATIC
+    POCO_NO_AUTOMATIC_LIBS
+    )
+
+if(UNIX)
+    set(staticLibPrefix ".a")
+    set(sharedLibPrefix ".so")
+endif()
+
+target_link_libraries (${target}
+    roadrunner_c_api
+    unit_test-static
+    PocoXML
+    )
+
+link_directories(
+    ${THIRD_PARTY_INSTALL_FOLDER}/lib
+    )
+
+include_directories(
+    "."
+    ${RR_ROOT}
+    ${THIRD_PARTY_FOLDER}/unit_test/src
+${THIRD_PARTY_FOLDER}/rr-libstruct
+)
+
+add_subdirectory(utils)
+
+install (TARGETS ${target}
+    DESTINATION bin COMPONENT testing
+    )
+
+
+
+
diff --git a/wrappers/C/Testing/Suite_CoreExceptions.cpp b/wrappers/C/Testing/Suite_CoreExceptions.cpp
new file mode 100644
index 0000000..102ff7a
--- /dev/null
+++ b/wrappers/C/Testing/Suite_CoreExceptions.cpp
@@ -0,0 +1,85 @@
+#include <string>
+#include "rrLogger.h"
+#include "UnitTest++.h"
+#include "rrc_core_api.h"
+#include "rrUtils.h"
+#include "rrIniFile.h"
+#include "TestUtils.h"
+
+//Add using clauses..
+using namespace std;
+using namespace UnitTest;
+using namespace rrc;
+
+using rr::joinPath;
+using rr::fileExists;
+
+extern string   gTempFolder;
+extern string   gDataOutputFolder;
+extern string 	gTestDataFolder;
+extern string   gRRInstallFolder;
+
+extern bool 	gDebug;
+
+//This tests is mimicking the Python tests
+SUITE(CORE_EXCEPTIONS)
+{
+string TestDataFileName 	= "TestModel_1.dat";
+IniFile iniFile;
+string TestModelFileName;
+RRHandle gRR;
+
+	TEST(DATA_FILES)
+	{
+		gTestDataFolder 			= joinPath(gRRInstallFolder, "tests");
+		string testDataFileName 	= joinPath(gTestDataFolder, TestDataFileName);
+
+		CHECK(fileExists(testDataFileName));
+		CHECK(iniFile.Load(testDataFileName));
+
+		clog<<"Loaded test data from file: "<< testDataFileName;
+		if(iniFile.GetSection("SBML_FILES"))
+		{
+			IniSection* sbml = iniFile.GetSection("SBML_FILES");
+			IniKey* fNameKey = sbml->GetKey("FNAME1");
+			if(fNameKey)
+			{
+				TestModelFileName  = joinPath(gTestDataFolder, fNameKey->mValue);
+				CHECK(fileExists(TestModelFileName));
+			}
+		}
+        else
+        {
+        	CHECK(false);
+        }
+	}
+
+	TEST(LOAD_SBML)
+	{
+		CHECK(loadSBMLFromFile(gRR, TestModelFileName.c_str()));
+	}
+
+	TEST(SET_COMPUTE_AND_ASSIGN_CONSERVATION_LAWS)
+	{
+		//gRR = createRRInstance();
+		CHECK(gRR!=NULL);
+		bool res = setComputeAndAssignConservationLaws(gRR, true);
+		CHECK(res);
+		clog<<"\nConversation laws: "<<res<<endl;
+	}
+
+    TEST(GET_UNSCALED_ELASTICITY_COEFFICIENT)
+    {
+		double test;
+		bool val =  getuEE(gRR, "J1", "S1", &test);
+
+       // val = getuEE("J1", "S34", test);
+
+		//val =  getuCC("J1", "S1", test);
+
+    }
+
+
+}
+
+
diff --git a/wrappers/C/Testing/Suite_Core_Tests.cpp b/wrappers/C/Testing/Suite_Core_Tests.cpp
new file mode 100644
index 0000000..08683bc
--- /dev/null
+++ b/wrappers/C/Testing/Suite_Core_Tests.cpp
@@ -0,0 +1,201 @@
+#include <iostream>
+#include <string>
+#include <vector>
+#include <fstream>
+#include "Poco/File.h"
+#include "Poco/DOM/ProcessingInstruction.h"
+#include "Poco/DOM/DOMParser.h"
+#include "Poco/DOM/AutoPtr.h"
+#include "Poco/DOM/Document.h"
+#include "Poco/DOM/NodeIterator.h"
+#include "Poco/DOM/NodeFilter.h"
+#include "Poco/DOM/DOMWriter.h"
+#include "Poco/DOM/TreeWalker.h"
+#include "Poco/SAX/InputSource.h"
+#include "Poco/MD5Engine.h"
+#include "unit_test/UnitTest++.h"
+#include "rrc_api.h"
+#include "rrUtils.h"
+#include "rrException.h"
+#include "rrLogger.h"
+
+using namespace UnitTest;
+using namespace std;
+using namespace rr;
+using namespace rrc;
+using namespace Poco;
+using namespace Poco::XML;
+
+//using namespace Poco::XML::NodeFilter;
+
+
+extern string   gTempFolder;
+extern string   gTestDataFolder;
+extern string   gCompiler;
+
+
+string getListOfReactionsText(const string& fName);
+
+SUITE(CORE_TESTS)
+{
+    TEST(LOGGING)
+    {
+        // save log level
+        int logLevel = rr::Logger::getLevel();
+
+        RRHandle aRR = createRRInstanceEx(gTempFolder.c_str(), gCompiler.c_str());
+        rr::Logger::setLevel(rr::Logger::LOG_INFORMATION);
+        enableLoggingToFile();
+        logMsg(CL_PRIO_INFORMATION, "A log message before closing the logger");
+        disableLoggingToFile();
+        logMsg(CL_PRIO_INFORMATION, "This message is not written to the logger");
+        freeRRInstance(aRR);
+
+        // restore log level
+        rr::Logger::setLevel(logLevel);
+    }
+
+
+    TEST(RELOADING_MODEL_MODEL_RECOMPILIATION)
+    {
+        RRHandle aRR                 = createRRInstanceEx(gTempFolder.c_str(), gCompiler.c_str());
+        string TestModelFileName     = joinPath(gTestDataFolder, "Test_1.xml");
+        CHECK(fileExists(TestModelFileName));
+
+        CHECK(loadSBMLFromFileE(aRR, TestModelFileName.c_str(), true));
+
+        //Load the same model again, but do not recompile the model DLL..
+        CHECK(loadSBMLFromFileE(aRR, TestModelFileName.c_str(), true));
+        freeRRInstance(aRR);
+    }
+
+    TEST(RELOADING_MODEL_NO_MODEL_RECOMPILIATION)
+    {
+        RRHandle aRR                 = createRRInstanceEx(gTempFolder.c_str(), gCompiler.c_str());
+        string TestModelFileName     = joinPath(gTestDataFolder, "Test_1.xml");
+        CHECK(fileExists(TestModelFileName));
+
+        CHECK(loadSBMLFromFileE(aRR, TestModelFileName.c_str(), true));
+
+        //Load the same model again, but do not recompile the model DLL..
+        CHECK(loadSBMLFromFileE(aRR, TestModelFileName.c_str(), false));
+        freeRRInstance(aRR);
+    }
+
+    TEST(LOADING_MODEL_MULTIPLE_INSTANCES)
+    {
+        RRHandle aRR1                   = createRRInstanceEx(gTempFolder.c_str(), gCompiler.c_str());
+        RRHandle aRR2                   = createRRInstanceEx(gTempFolder.c_str(), gCompiler.c_str());
+        string TestModelFileName     = joinPath(gTestDataFolder, "Test_1.xml");
+
+        CHECK(loadSBMLFromFileE(aRR1, TestModelFileName.c_str(), true));
+        CHECK(loadSBMLFromFileE(aRR2, TestModelFileName.c_str(), true));
+
+        //Load the same model again, but do not recompile the model DLL..
+        CHECK(loadSBMLFromFileE(aRR1, TestModelFileName.c_str(), false));
+        CHECK(loadSBMLFromFileE(aRR2, TestModelFileName.c_str(), false));
+
+        freeRRInstance(aRR1);
+        freeRRInstance(aRR2);
+    }
+
+    TEST(PARSING_MODEL_XML)
+    {
+        string modelXML = getListOfReactionsText(joinPath(gTestDataFolder, "Test_1.xml").c_str());
+        CHECK(modelXML.size() > 0);
+    }
+
+    TEST(GENERATING_MODEL_HASH)
+    {
+        string content = getListOfReactionsText(joinPath(gTestDataFolder, "Test_1.xml"));
+        MD5Engine md5;
+        md5.update(content);
+        string digestString(Poco::DigestEngine::digestToHex(md5.digest()));
+        CHECK_EQUAL("d996bae1bec8f6efb81c4571aa7fc10d", digestString);
+    }
+
+    TEST(LOAD_MODEL_FROM_STRING)
+    {
+        string xml = getFileContent(joinPath(gTestDataFolder, "Test_1.xml"));
+        RRHandle aRR1                   = createRRInstanceEx(gTempFolder.c_str(), gCompiler.c_str());
+        RRHandle aRR2                   = createRRInstanceEx(gTempFolder.c_str(), gCompiler.c_str());
+        CHECK(loadSBML(aRR1, xml.c_str()));
+        CHECK(loadSBMLEx(aRR2, xml.c_str(), true));
+
+        //Load the same model again, but do not recompile the model DLL..
+        CHECK(loadSBMLEx(aRR1, xml.c_str(), false));
+        CHECK(loadSBMLEx(aRR2, xml.c_str(), false));
+        freeRRInstance(aRR1);
+        freeRRInstance(aRR2);
+    }
+
+    TEST(GET_MICROSECONDS)
+    {
+        // make sure that the time is essentially the same as sleep time in
+        // milliseconds.
+        int64_t millis = 123;
+        int64_t start = rr::getMicroSeconds();
+        // sleep for milliseconds
+        rr::sleep((int)millis);
+        int64_t end = rr::getMicroSeconds();
+        int64_t diff = end - start;
+
+        cout << "microseconds, start: " << start << ", end: " << end << ", diff: " << diff 
+             << ", expected sleep mu s: " << 1000 * millis 
+             << ", diff between expeted and actual mu s: " << diff - (1000 * millis) << endl;
+
+        // timer varies from system to system, but should be semi-close, like say 20%
+        CHECK_CLOSE(diff, 1000 * millis, (1000 * millis) / 5 );
+
+        // make sure its increasing
+        CHECK(diff > 0);
+
+        // now make sure that the microseconds is monotinically increasing
+        const int len = 5;
+        int64_t prev = rr::getMicroSeconds();
+        for (int i = 0; i < len; ++i) {
+            // the timer on Windows appears to be significantaly less 
+            // accurate than standard Unix machines, so have to sleep 
+            // for the miminal amount to time to get the alleged 'microseconds'
+            // to move. Timer is also not super accurate in virtualbox. 
+            rr::sleep(1);
+            int64_t curr = rr::getMicroSeconds();
+            CHECK(curr > prev);
+            prev = curr;
+        }
+    }
+}
+
+string getListOfReactionsText(const string& fName)
+{
+        ifstream in(joinPath(gTestDataFolder, "Test_1.xml").c_str());
+        InputSource src(in);
+        DOMParser parser;
+        AutoPtr<Document> pDoc = parser.parse(&src);
+        TreeWalker it(pDoc, Poco::XML::NodeFilter::SHOW_ALL);
+
+        Node* pNode = it.nextNode();
+        string result;
+        while(pNode)
+        {
+            clog<<pNode->nodeName()<<endl;
+            string nodeID = "listOfReactions";
+            if(toUpper(pNode->nodeName()) == toUpper(nodeID))
+            {
+                DOMWriter aWriter;
+                stringstream xml;
+                aWriter.writeNode(xml, pNode);
+                result = xml.str();
+                break;
+            }
+            pNode = it.nextNode();
+        }
+
+        result.erase( std::remove_if( result.begin(), result.end(), ::isspace ), result.end() );
+        return result;
+}
+
+
+
+
+
diff --git a/wrappers/C/Testing/Suite_LibStruct_Tests.cpp b/wrappers/C/Testing/Suite_LibStruct_Tests.cpp
new file mode 100644
index 0000000..b490162
--- /dev/null
+++ b/wrappers/C/Testing/Suite_LibStruct_Tests.cpp
@@ -0,0 +1,145 @@
+#include <iostream>
+#include <string>
+#include <vector>
+#include <fstream>
+#include "unit_test/UnitTest++.h"
+#include "rrc_api.h"
+#include "rrUtils.h"
+#include "rrIniFile.h"
+#include "rrException.h"
+#include "src/TestUtils.h"
+
+using namespace UnitTest;
+using namespace std;
+using namespace rr;
+using namespace rrc;
+
+extern string   gTempFolder;
+extern string   gTestDataFolder;
+extern string gCompiler;
+
+SUITE(LIBSTRUCT_TESTS)
+{
+string TestDataFileName     = "LibStructTest.dat";
+IniFile iniFile;
+string TestModelFileName;
+RRHandle gRR = NULL;
+
+    TEST(testLibStructTestsDataFiles)
+    {
+        string sec("LS_TESTS");
+        string key("InputFile");
+
+        gRR                         = createRRInstanceEx(gTempFolder.c_str(), gCompiler.c_str());
+        string testDataFileName     = joinPath(gTestDataFolder, TestDataFileName);
+        CHECK(fileExists(testDataFileName));
+        CHECK(iniFile.Load(testDataFileName));
+
+        clog<<"Loaded test data from file: "<< testDataFileName;
+        if(iniFile.GetSection(sec))
+        {
+            IniSection* sbml = iniFile.GetSection(sec);
+            IniKey* fNameKey = sbml->GetKey(key);
+            if(fNameKey)
+            {
+                TestModelFileName  = joinPath(gTestDataFolder, fNameKey->mValue);
+                CHECK(fileExists(TestModelFileName));
+            }
+        }
+        CHECK(loadSBMLFromFileE(gRR, TestModelFileName.c_str(), true));
+    }
+
+    TEST(getLinkMatrix)
+    {
+        string section("getLinkMatrix");
+        if(iniFile.GetSection(section))
+        {
+            IniSection*       isec        = iniFile.GetSection(section);
+            ls::DoubleMatrix  ref         = getDoubleMatrixFromString(isec->GetNonKeysAsString());
+
+            //Testing call
+            RRDoubleMatrix*           actual     = getLinkMatrix(gRR);
+
+            //Check dimensions
+            if(actual->RSize != ref.RSize() || actual->CSize != ref.CSize())
+            {
+                CHECK(false);
+                return;
+            }
+
+            for(int row = 0; row < actual->RSize; row++)
+            {
+                for(int col = 0; col < actual->CSize; col++)
+                {
+                  CHECK_CLOSE(ref(row,col), actual->Data[row*actual->CSize + col], 1e-6);
+                }
+            }
+        }
+    }
+
+    TEST(getEigenValuesMatrix)
+    {
+        string section("getEigenValuesMatrix");
+
+        if(iniFile.GetSection(section))
+        {
+            IniSection*         isec    = iniFile.GetSection(section);
+            ls::DoubleMatrix      ref     = getDoubleMatrixFromString(isec->GetNonKeysAsString());
+            RRDoubleMatrix*             input     = getLinkMatrix(gRR);
+
+            //Testing call
+            RRDoubleMatrix*                actual     = getEigenvaluesMatrix(input);
+            /////////////////////////////////
+
+            //Check dimensions
+            if(actual->RSize != ref.RSize() || actual->CSize != ref.CSize())
+            {
+                CHECK(false);
+                return;
+            }
+
+            for(int row = 0; row < actual->RSize; row++)
+            {
+                for(int col = 0; col < actual->CSize; col++)
+                {
+                    CHECK_CLOSE(ref(row,col), actual->Data[row*actual->CSize + col], 1e-6);
+                }
+            }
+        }
+    }
+
+    TEST(getEigenValuesVector)
+    {
+        string section("getEigenvaluesVector");
+
+        if(iniFile.GetSection(section))
+        {
+            IniSection*                   isec      = iniFile.GetSection(section);
+            vector< complex<double> >     ref       = getComplexVectorFromString(isec->GetNonKeysAsString());
+            RRDoubleMatrix*                  input     = getLinkMatrix(gRR);
+            //Testing call
+            RRComplexVector*              actual     = getEigenvaluesVector(input);
+            //////////////////////////////////////////////////////////////////
+
+            //Check dimensions
+            if(actual->Count != ref.size())
+            {
+                CHECK(false);
+                return;
+            }
+
+            for(int row = 0; row < actual->Count; row++)
+            {
+                    CHECK_CLOSE(real(ref[row]), actual->Data[row].re, 1e-6);
+                    CHECK_CLOSE(imag(ref[row]), actual->Data[row].imag, 1e-6);
+            }
+        }
+    }
+
+    TEST(FREE_RR_INSTANCE)
+    {
+        CHECK(freeRRInstance(gRR));
+        gRR = NULL;
+    }
+
+}
diff --git a/wrappers/C/Testing/Suite_NOM_Tests.cpp b/wrappers/C/Testing/Suite_NOM_Tests.cpp
new file mode 100644
index 0000000..84db561
--- /dev/null
+++ b/wrappers/C/Testing/Suite_NOM_Tests.cpp
@@ -0,0 +1,101 @@
+#include <iostream>
+#include <string>
+#include <vector>
+#include <fstream>
+#include "unit_test/UnitTest++.h"
+#include "rrc_api.h"
+#include "rrUtils.h"
+#include "rrIniFile.h"
+#include "rrException.h"
+
+using namespace UnitTest;
+using namespace std;
+using namespace rr;
+using namespace rrc;
+
+extern string   gTempFolder;
+extern string   gTestDataFolder;
+extern string gCompiler;
+
+SUITE(NOM_TESTS)
+{
+string TestDataFileName     = "NOM_Test.dat";
+IniFile iniFile;
+string TestModelFileName;
+RRHandle gRR = NULL;
+
+    TEST(NOM_TEST_DATA_FILES)
+    {
+        string sec("NOM_TESTS");
+        string key("InputFile");
+
+        gRR                         = createRRInstanceEx(gTempFolder.c_str(), gCompiler.c_str());
+        string testDataFileName     = joinPath(gTestDataFolder, TestDataFileName);
+        CHECK(fileExists(testDataFileName));
+        CHECK(iniFile.Load(testDataFileName));
+
+        clog<<"Loaded test data from file: "<< testDataFileName;
+        if(iniFile.GetSection(sec))
+        {
+            IniSection* sbml = iniFile.GetSection(sec);
+            IniKey* fNameKey = sbml->GetKey(key);
+            if(fNameKey)
+            {
+                TestModelFileName  = joinPath(gTestDataFolder, fNameKey->mValue);
+                CHECK(fileExists(TestModelFileName));
+            }
+        }
+        CHECK(loadSBMLFromFileE(gRR, TestModelFileName.c_str(), true));
+    }
+
+    TEST(NOM_GET_NAME)
+    {
+        string section("NOM_TESTS");
+        string key("ModelName");
+
+        if(iniFile.GetSection(section))
+        {
+            IniSection* isec = iniFile.GetSection(section);
+            IniKey*     ikey = isec->GetKey(key);
+            if(ikey)
+            {
+                //======= Calling the function to be tested =============
+                string name = getModelName(gRR);
+
+                //======= Check that it worked out
+                CHECK_EQUAL(ikey->mValue, name);
+            }
+        }
+    }
+
+    TEST(NOM_GET_NUMBER_OF_RULES)
+    {
+        string section("NOM_TESTS");
+        string key("NumberOfRules");
+        if(iniFile.GetSection(section))
+        {
+            IniSection* iSec = iniFile.GetSection(section);
+            IniKey*     iKey = iSec->GetKey(key);
+            if(iKey)
+            {
+                //======= Calling the function to be tested =============
+                int nr = getNumberOfRules(gRR);
+
+                //======= Check that it worked out
+                CHECK_EQUAL(iKey->AsInt() , nr);
+            }
+        }
+    }
+
+    TEST(FREE_RR_INSTANCE)
+    {
+        CHECK(freeRRInstance(gRR));
+        gRR = NULL;
+    }
+
+}
+
+
+
+
+
diff --git a/wrappers/C/Testing/Suite_SBML_Tests.cpp b/wrappers/C/Testing/Suite_SBML_Tests.cpp
new file mode 100644
index 0000000..c889cb9
--- /dev/null
+++ b/wrappers/C/Testing/Suite_SBML_Tests.cpp
@@ -0,0 +1,1667 @@
+#include <iostream>
+#include <string>
+#include <vector>
+#include "unit_test/UnitTest++.h"
+#include "rrc_api.h"
+#include "rrUtils.h"
+#include "rrException.h"
+#include "src/rrSBMLTestSuiteSimulation_CAPI.h"
+
+using namespace UnitTest;
+using namespace std;
+using namespace rr;
+
+extern string     gTSModelsPath;
+extern string   gTempFolder;
+extern bool        gDebug;
+
+SUITE(SBML_TEST_SUITE)
+{
+ TEST(1) {CHECK(RunTest("l2v4", 1)); }
+ TEST(2) { CHECK(RunTest("l2v4", 2)); }
+ TEST(3) { CHECK(RunTest("l2v4", 3)); }
+ TEST(4) { CHECK(RunTest("l2v4", 4)); }
+ TEST(5) { CHECK(RunTest("l2v4", 5)); }
+ TEST(6) { CHECK(RunTest("l2v4", 6)); }
+ TEST(7) { CHECK(RunTest("l2v4", 7)); }
+ TEST(8) { CHECK(RunTest("l2v4", 8)); }
+ TEST(9) { CHECK(RunTest("l2v4", 9)); }
+ TEST(10) { CHECK(RunTest("l2v4", 10)); }
+ TEST(11) { CHECK(RunTest("l2v4", 11)); }
+ TEST(12) { CHECK(RunTest("l2v4", 12)); }
+ TEST(13) { CHECK(RunTest("l2v4", 13)); }
+ TEST(14) { CHECK(RunTest("l2v4", 14)); }
+ TEST(15) { CHECK(RunTest("l2v4", 15)); }
+ TEST(16) { CHECK(RunTest("l2v4", 16)); }
+ TEST(17) { CHECK(RunTest("l2v4", 17)); }
+ TEST(18) { CHECK(RunTest("l2v4", 18)); }
+ TEST(19) { CHECK(RunTest("l2v4", 19)); }
+ TEST(20) { CHECK(RunTest("l2v4", 20)); }
+ TEST(21) { CHECK(RunTest("l2v4", 21)); }
+ TEST(22) { CHECK(RunTest("l2v4", 22)); }
+ TEST(23) { CHECK(RunTest("l2v4", 23)); }
+ TEST(24) { CHECK(RunTest("l2v4", 24)); }
+ TEST(25) { CHECK(RunTest("l2v4", 25)); }
+ TEST(26) { CHECK(RunTest("l2v4", 26)); }
+ TEST(27) { CHECK(RunTest("l2v4", 27)); }
+ TEST(28) { CHECK(RunTest("l2v4", 28)); }
+ TEST(29) { CHECK(RunTest("l2v4", 29)); }
+ TEST(30) { CHECK(RunTest("l2v4", 30)); }
+ TEST(31) { CHECK(RunTest("l2v4", 31)); }
+ TEST(32) { CHECK(RunTest("l2v4", 32)); }
+ TEST(33) { CHECK(RunTest("l2v4", 33)); }
+
+ TEST(34) { CHECK(RunTest("l2v4", 34)); }
+ TEST(35) { CHECK(RunTest("l2v4", 35)); }
+ TEST(36) { CHECK(RunTest("l2v4", 36)); }
+ TEST(37) { CHECK(RunTest("l2v4", 37)); }
+ TEST(38) { CHECK(RunTest("l2v4", 38)); }
+ //TEST(39) { CHECK(RunTest("l2v4", 39)); } // AlgebraicRule
+ //TEST(40) { CHECK(RunTest("l2v4", 40)); } // AlgebraicRule
+ TEST(41) { CHECK(RunTest("l2v4", 41)); }
+ TEST(42) { CHECK(RunTest("l2v4", 42)); }
+ TEST(43) { CHECK(RunTest("l2v4", 43)); }
+ TEST(44) { CHECK(RunTest("l2v4", 44)); }
+ TEST(45) { CHECK(RunTest("l2v4", 45)); }
+ TEST(46) { CHECK(RunTest("l2v4", 46)); }
+ TEST(47) { CHECK(RunTest("l2v4", 47)); }
+ TEST(48) { CHECK(RunTest("l2v4", 48)); }
+ TEST(49) { CHECK(RunTest("l2v4", 49)); }
+ TEST(50) { CHECK(RunTest("l2v4", 50)); }
+ TEST(51) { CHECK(RunTest("l2v4", 51)); }
+ TEST(52) { CHECK(RunTest("l2v4", 52)); }
+ TEST(53) { CHECK(RunTest("l2v4", 53)); }
+ TEST(54) { CHECK(RunTest("l2v4", 54)); }
+ TEST(55) { CHECK(RunTest("l2v4", 55)); }
+ TEST(56) { CHECK(RunTest("l2v4", 56)); }
+ TEST(57) { CHECK(RunTest("l2v4", 57)); }
+ TEST(58) { CHECK(RunTest("l2v4", 58)); }
+ TEST(59) { CHECK(RunTest("l2v4", 59)); }
+ TEST(60) { CHECK(RunTest("l2v4", 60)); }
+ TEST(61) { CHECK(RunTest("l2v4", 61)); }
+ TEST(62) { CHECK(RunTest("l2v4", 62)); }
+ TEST(63) { CHECK(RunTest("l2v4", 63)); }
+ TEST(64) { CHECK(RunTest("l2v4", 64)); }
+ TEST(65) { CHECK(RunTest("l2v4", 65)); }
+ TEST(66) { CHECK(RunTest("l2v4", 66)); }
+ TEST(67) { CHECK(RunTest("l2v4", 67)); }
+ TEST(68) { CHECK(RunTest("l2v4", 68)); }
+ TEST(69) { CHECK(RunTest("l2v4", 69)); }
+ TEST(70) { CHECK(RunTest("l2v4", 70)); }
+ TEST(71) { CHECK(RunTest("l2v4", 71)); }
+ TEST(72) { CHECK(RunTest("l2v4", 72)); }
+ TEST(73) { CHECK(RunTest("l2v4", 73)); }
+ TEST(74) { CHECK(RunTest("l2v4", 74)); }
+ TEST(75) { CHECK(RunTest("l2v4", 75)); }
+ TEST(76) { CHECK(RunTest("l2v4", 76)); }
+ TEST(77) { CHECK(RunTest("l2v4", 77)); }
+ TEST(78) { CHECK(RunTest("l2v4", 78)); }
+ TEST(79) { CHECK(RunTest("l2v4", 79)); }
+ TEST(80) { CHECK(RunTest("l2v4", 80)); }
+ TEST(81) { CHECK(RunTest("l2v4", 81)); }
+ TEST(82) { CHECK(RunTest("l2v4", 82)); }
+ TEST(83) { CHECK(RunTest("l2v4", 83)); }
+ TEST(84) { CHECK(RunTest("l2v4", 84)); }
+ TEST(85) { CHECK(RunTest("l2v4", 85)); }
+ TEST(86) { CHECK(RunTest("l2v4", 86)); }
+ TEST(87) { CHECK(RunTest("l2v4", 87)); }
+ TEST(88) { CHECK(RunTest("l2v4", 88)); }
+ TEST(89) { CHECK(RunTest("l2v4", 89)); }
+ TEST(90) { CHECK(RunTest("l2v4", 90)); }
+ TEST(91) { CHECK(RunTest("l2v4", 91)); }
+ TEST(92) { CHECK(RunTest("l2v4", 92)); }
+ TEST(93) { CHECK(RunTest("l2v4", 93)); }
+ TEST(94) { CHECK(RunTest("l2v4", 94)); }
+ TEST(95) { CHECK(RunTest("l2v4", 95)); }
+ TEST(96) { CHECK(RunTest("l2v4", 96)); }
+ TEST(97) { CHECK(RunTest("l2v4", 97)); }
+ TEST(98) { CHECK(RunTest("l2v4", 98)); }
+ TEST(99) { CHECK(RunTest("l2v4", 99)); }
+ TEST(100) { CHECK(RunTest("l2v4", 100)); }
+ TEST(101) { CHECK(RunTest("l2v4", 101)); }
+ TEST(102) { CHECK(RunTest("l2v4", 102)); }
+ TEST(103) { CHECK(RunTest("l2v4", 103)); }
+ TEST(104) { CHECK(RunTest("l2v4", 104)); }
+ TEST(105) { CHECK(RunTest("l2v4", 105)); }
+ TEST(106) { CHECK(RunTest("l2v4", 106)); }
+ TEST(107) { CHECK(RunTest("l2v4", 107)); }
+ TEST(108) { CHECK(RunTest("l2v4", 108)); }
+ TEST(109) { CHECK(RunTest("l2v4", 109)); }
+ TEST(110) { CHECK(RunTest("l2v4", 110)); }
+ TEST(111) { CHECK(RunTest("l2v4", 111)); }
+ TEST(112) { CHECK(RunTest("l2v4", 112)); }
+ TEST(113) { CHECK(RunTest("l2v4", 113)); }
+ TEST(114) { CHECK(RunTest("l2v4", 114)); }
+ TEST(115) { CHECK(RunTest("l2v4", 115)); }
+ TEST(116) { CHECK(RunTest("l2v4", 116)); }
+ TEST(117) { CHECK(RunTest("l2v4", 117)); }
+ TEST(118) { CHECK(RunTest("l2v4", 118)); }
+ TEST(119) { CHECK(RunTest("l2v4", 119)); }
+ TEST(120) { CHECK(RunTest("l2v4", 120)); }
+ TEST(121) { CHECK(RunTest("l2v4", 121)); }
+ TEST(122) { CHECK(RunTest("l2v4", 122)); }
+ TEST(123) { CHECK(RunTest("l2v4", 123)); }
+ TEST(124) { CHECK(RunTest("l2v4", 124)); }
+ TEST(125) { CHECK(RunTest("l2v4", 125)); }
+ TEST(126) { CHECK(RunTest("l2v4", 126)); }
+ TEST(127) { CHECK(RunTest("l2v4", 127)); }
+ TEST(128) { CHECK(RunTest("l2v4", 128)); }
+ TEST(129) { CHECK(RunTest("l2v4", 129)); }
+ TEST(130) { CHECK(RunTest("l2v4", 130)); }
+ TEST(131) { CHECK(RunTest("l2v4", 131)); }
+ TEST(132) { CHECK(RunTest("l2v4", 132)); }
+ TEST(133) { CHECK(RunTest("l2v4", 133)); }
+ TEST(134) { CHECK(RunTest("l2v4", 134)); }
+ TEST(135) { CHECK(RunTest("l2v4", 135)); }
+ TEST(136) { CHECK(RunTest("l2v4", 136)); }
+ TEST(137) { CHECK(RunTest("l2v4", 137)); }
+ TEST(138) { CHECK(RunTest("l2v4", 138)); }
+ TEST(139) { CHECK(RunTest("l2v4", 139)); }
+ TEST(140) { CHECK(RunTest("l2v4", 140)); }
+ TEST(141) { CHECK(RunTest("l2v4", 141)); }
+ TEST(142) { CHECK(RunTest("l2v4", 142)); }
+ TEST(143) { CHECK(RunTest("l2v4", 143)); }
+ TEST(144) { CHECK(RunTest("l2v4", 144)); }
+ TEST(145) { CHECK(RunTest("l2v4", 145)); }
+ TEST(146) { CHECK(RunTest("l2v4", 146)); }
+ TEST(147) { CHECK(RunTest("l2v4", 147)); }
+ TEST(148) { CHECK(RunTest("l2v4", 148)); }
+ TEST(149) { CHECK(RunTest("l2v4", 149)); }
+ TEST(150) { CHECK(RunTest("l2v4", 150)); }
+ TEST(151) { CHECK(RunTest("l2v4", 151)); }
+ TEST(152) { CHECK(RunTest("l2v4", 152)); }
+ TEST(153) { CHECK(RunTest("l2v4", 153)); }
+ TEST(154) { CHECK(RunTest("l2v4", 154)); }
+ TEST(155) { CHECK(RunTest("l2v4", 155)); }
+ TEST(156) { CHECK(RunTest("l2v4", 156)); }
+ TEST(157) { CHECK(RunTest("l2v4", 157)); }
+ TEST(158) { CHECK(RunTest("l2v4", 158)); }
+ TEST(159) { CHECK(RunTest("l2v4", 159)); }
+ TEST(160) { CHECK(RunTest("l2v4", 160)); }
+ TEST(161) { CHECK(RunTest("l2v4", 161)); }
+ TEST(162) { CHECK(RunTest("l2v4", 162)); }
+ TEST(163) { CHECK(RunTest("l2v4", 163)); }
+ TEST(164) { CHECK(RunTest("l2v4", 164)); }
+ TEST(165) { CHECK(RunTest("l2v4", 165)); }
+ TEST(166) { CHECK(RunTest("l2v4", 166)); }
+ TEST(167) { CHECK(RunTest("l2v4", 167)); }
+ TEST(168) { CHECK(RunTest("l2v4", 168)); }
+ TEST(169) { CHECK(RunTest("l2v4", 169)); }
+ TEST(170) { CHECK(RunTest("l2v4", 170)); }
+ TEST(171) { CHECK(RunTest("l2v4", 171)); }
+ TEST(172) { CHECK(RunTest("l2v4", 172)); }
+ TEST(173) { CHECK(RunTest("l2v4", 173)); }
+ TEST(174) { CHECK(RunTest("l2v4", 174)); }
+ TEST(175) { CHECK(RunTest("l2v4", 175)); }
+ TEST(176) { CHECK(RunTest("l2v4", 176)); }
+ TEST(177) { CHECK(RunTest("l2v4", 177)); }
+ TEST(178) { CHECK(RunTest("l2v4", 178)); }
+ TEST(179) { CHECK(RunTest("l2v4", 179)); }
+ TEST(180) { CHECK(RunTest("l2v4", 180)); }
+ TEST(181) { CHECK(RunTest("l2v4", 181)); }
+ //TEST(182) { CHECK(RunTest("l2v4", 182)); } // AlgebraicRule
+ TEST(183) { CHECK(RunTest("l2v4", 183)); }
+ //TEST(184) { CHECK(RunTest("l2v4", 184)); } // AlgebraicRule
+ TEST(185) { CHECK(RunTest("l2v4", 185)); }
+ TEST(186) { CHECK(RunTest("l2v4", 186)); }
+ TEST(187) { CHECK(RunTest("l2v4", 187)); }
+ TEST(188) { CHECK(RunTest("l2v4", 188)); }
+ TEST(189) { CHECK(RunTest("l2v4", 189)); }
+ TEST(190) { CHECK(RunTest("l2v4", 190)); }
+ TEST(191) { CHECK(RunTest("l2v4", 191)); }
+ TEST(192) { CHECK(RunTest("l2v4", 192)); }
+ TEST(193) { CHECK(RunTest("l2v4", 193)); }
+ TEST(194) { CHECK(RunTest("l2v4", 194)); }
+ TEST(195) { CHECK(RunTest("l2v4", 195)); }
+ TEST(196) { CHECK(RunTest("l2v4", 196)); }
+ TEST(197) { CHECK(RunTest("l2v4", 197)); }
+ TEST(198) { CHECK(RunTest("l2v4", 198)); }
+ TEST(199) { CHECK(RunTest("l2v4", 199)); }
+ TEST(200) { CHECK(RunTest("l2v4", 200)); }
+ TEST(201) { CHECK(RunTest("l2v4", 201)); }
+ TEST(202) { CHECK(RunTest("l2v4", 202)); }
+ TEST(203) { CHECK(RunTest("l2v4", 203)); }
+ TEST(204) { CHECK(RunTest("l2v4", 204)); }
+ TEST(205) { CHECK(RunTest("l2v4", 205)); }
+ TEST(206) { CHECK(RunTest("l2v4", 206)); }
+ TEST(207) { CHECK(RunTest("l2v4", 207)); }
+ TEST(208) { CHECK(RunTest("l2v4", 208)); }
+ TEST(209) { CHECK(RunTest("l2v4", 209)); }
+ TEST(210) { CHECK(RunTest("l2v4", 210)); }
+ TEST(211) { CHECK(RunTest("l2v4", 211)); }
+ TEST(212) { CHECK(RunTest("l2v4", 212)); }
+ TEST(213) { CHECK(RunTest("l2v4", 213)); }
+ TEST(214) { CHECK(RunTest("l2v4", 214)); }
+ TEST(215) { CHECK(RunTest("l2v4", 215)); }
+ TEST(216) { CHECK(RunTest("l2v4", 216)); }
+ TEST(217) { CHECK(RunTest("l2v4", 217)); }
+ TEST(218) { CHECK(RunTest("l2v4", 218)); }
+ TEST(219) { CHECK(RunTest("l2v4", 219)); }
+ TEST(220) { CHECK(RunTest("l2v4", 220)); }
+ TEST(221) { CHECK(RunTest("l2v4", 221)); }
+ TEST(222) { CHECK(RunTest("l2v4", 222)); }
+ TEST(223) { CHECK(RunTest("l2v4", 223)); }
+ TEST(224) { CHECK(RunTest("l2v4", 224)); }
+ TEST(225) { CHECK(RunTest("l2v4", 225)); }
+ TEST(226) { CHECK(RunTest("l2v4", 226)); }
+ TEST(227) { CHECK(RunTest("l2v4", 227)); }
+ TEST(228) { CHECK(RunTest("l2v4", 228)); }
+ TEST(229) { CHECK(RunTest("l2v4", 229)); }
+ TEST(230) { CHECK(RunTest("l2v4", 230)); }
+ TEST(231) { CHECK(RunTest("l2v4", 231)); }
+ TEST(232) { CHECK(RunTest("l2v4", 232)); }
+ TEST(233) { CHECK(RunTest("l2v4", 233)); }
+ TEST(234) { CHECK(RunTest("l2v4", 234)); }
+ TEST(235) { CHECK(RunTest("l2v4", 235)); }
+ TEST(236) { CHECK(RunTest("l2v4", 236)); }
+ TEST(237) { CHECK(RunTest("l2v4", 237)); }
+ TEST(238) { CHECK(RunTest("l2v4", 238)); }
+ TEST(239) { CHECK(RunTest("l2v4", 239)); }
+ TEST(240) { CHECK(RunTest("l2v4", 240)); }
+ TEST(241) { CHECK(RunTest("l2v4", 241)); }
+ TEST(242) { CHECK(RunTest("l2v4", 242)); }
+ TEST(243) { CHECK(RunTest("l2v4", 243)); }
+ TEST(244) { CHECK(RunTest("l2v4", 244)); }
+ TEST(245) { CHECK(RunTest("l2v4", 245)); }
+ TEST(246) { CHECK(RunTest("l2v4", 246)); }
+ TEST(247) { CHECK(RunTest("l2v4", 247)); }
+ TEST(248) { CHECK(RunTest("l2v4", 248)); }
+ TEST(249) { CHECK(RunTest("l2v4", 249)); }
+ TEST(250) { CHECK(RunTest("l2v4", 250)); }
+ TEST(251) { CHECK(RunTest("l2v4", 251)); }
+ TEST(252) { CHECK(RunTest("l2v4", 252)); }
+ TEST(253) { CHECK(RunTest("l2v4", 253)); }
+ TEST(254) { CHECK(RunTest("l2v4", 254)); }
+ TEST(255) { CHECK(RunTest("l2v4", 255)); }
+ TEST(256) { CHECK(RunTest("l2v4", 256)); }
+ TEST(257) { CHECK(RunTest("l2v4", 257)); }
+ TEST(258) { CHECK(RunTest("l2v4", 258)); }
+ TEST(259) { CHECK(RunTest("l2v4", 259)); }
+ TEST(260) { CHECK(RunTest("l2v4", 260)); }
+ TEST(261) { CHECK(RunTest("l2v4", 261)); }
+ TEST(262) { CHECK(RunTest("l2v4", 262)); }
+ TEST(263) { CHECK(RunTest("l2v4", 263)); }
+ TEST(264) { CHECK(RunTest("l2v4", 264)); }
+ TEST(265) { CHECK(RunTest("l2v4", 265)); }
+ TEST(266) { CHECK(RunTest("l2v4", 266)); }
+ TEST(267) { CHECK(RunTest("l2v4", 267)); }
+ TEST(268) { CHECK(RunTest("l2v4", 268)); }
+ TEST(269) { CHECK(RunTest("l2v4", 269)); }
+ TEST(270) { CHECK(RunTest("l2v4", 270)); }
+ TEST(271) { CHECK(RunTest("l2v4", 271)); }
+ TEST(272) { CHECK(RunTest("l2v4", 272)); }
+ TEST(273) { CHECK(RunTest("l2v4", 273)); }
+ TEST(274) { CHECK(RunTest("l2v4", 274)); }
+ TEST(275) { CHECK(RunTest("l2v4", 275)); }
+ TEST(276) { CHECK(RunTest("l2v4", 276)); }
+ TEST(277) { CHECK(RunTest("l2v4", 277)); }
+ TEST(278) { CHECK(RunTest("l2v4", 278)); }
+ TEST(279) { CHECK(RunTest("l2v4", 279)); }
+ TEST(280) { CHECK(RunTest("l2v4", 280)); }
+ TEST(281) { CHECK(RunTest("l2v4", 281)); }
+ TEST(282) { CHECK(RunTest("l2v4", 282)); }
+ TEST(283) { CHECK(RunTest("l2v4", 283)); }
+ TEST(284) { CHECK(RunTest("l2v4", 284)); }
+ TEST(285) { CHECK(RunTest("l2v4", 285)); }
+ TEST(286) { CHECK(RunTest("l2v4", 286)); }
+ TEST(287) { CHECK(RunTest("l2v4", 287)); }
+ TEST(288) { CHECK(RunTest("l2v4", 288)); }
+ TEST(289) { CHECK(RunTest("l2v4", 289)); }
+ TEST(290) { CHECK(RunTest("l2v4", 290)); }
+ TEST(291) { CHECK(RunTest("l2v4", 291)); }
+ TEST(292) { CHECK(RunTest("l2v4", 292)); }
+ TEST(293) { CHECK(RunTest("l2v4", 293)); }
+ TEST(294) { CHECK(RunTest("l2v4", 294)); }
+ TEST(295) { CHECK(RunTest("l2v4", 295)); }
+ TEST(296) { CHECK(RunTest("l2v4", 296)); }
+ TEST(297) { CHECK(RunTest("l2v4", 297)); }
+ TEST(298) { CHECK(RunTest("l2v4", 298)); }
+ TEST(299) { CHECK(RunTest("l2v4", 299)); }
+ TEST(300) { CHECK(RunTest("l2v4", 300)); }
+ TEST(301) { CHECK(RunTest("l2v4", 301)); }
+ TEST(302) { CHECK(RunTest("l2v4", 302)); }
+ TEST(303) { CHECK(RunTest("l2v4", 303)); }
+ TEST(304) { CHECK(RunTest("l2v4", 304)); }
+ TEST(305) { CHECK(RunTest("l2v4", 305)); }
+ TEST(306) { CHECK(RunTest("l2v4", 306)); }
+ TEST(307) { CHECK(RunTest("l2v4", 307)); }
+ TEST(308) { CHECK(RunTest("l2v4", 308)); }
+ TEST(309) { CHECK(RunTest("l2v4", 309)); }
+ TEST(310) { CHECK(RunTest("l2v4", 310)); }
+ TEST(311) { CHECK(RunTest("l2v4", 311)); }
+ TEST(312) { CHECK(RunTest("l2v4", 312)); }
+ TEST(313) { CHECK(RunTest("l2v4", 313)); }
+ TEST(314) { CHECK(RunTest("l2v4", 314)); }
+ TEST(315) { CHECK(RunTest("l2v4", 315)); }
+ TEST(316) { CHECK(RunTest("l2v4", 316)); }
+ TEST(317) { CHECK(RunTest("l2v4", 317)); }
+ TEST(318) { CHECK(RunTest("l2v4", 318)); }
+ TEST(319) { CHECK(RunTest("l2v4", 319)); }
+ TEST(320) { CHECK(RunTest("l2v4", 320)); }
+ TEST(321) { CHECK(RunTest("l2v4", 321)); }
+ TEST(322) { CHECK(RunTest("l2v4", 322)); }
+ TEST(323) { CHECK(RunTest("l2v4", 323)); }
+ TEST(324) { CHECK(RunTest("l2v4", 324)); }
+ TEST(325) { CHECK(RunTest("l2v4", 325)); }
+ TEST(326) { CHECK(RunTest("l2v4", 326)); }
+ TEST(327) { CHECK(RunTest("l2v4", 327)); }
+ TEST(328) { CHECK(RunTest("l2v4", 328)); }
+ TEST(329) { CHECK(RunTest("l2v4", 329)); }
+ TEST(330) { CHECK(RunTest("l2v4", 330)); }
+ TEST(331) { CHECK(RunTest("l2v4", 331)); }
+ TEST(332) { CHECK(RunTest("l2v4", 332)); }
+ TEST(333) { CHECK(RunTest("l2v4", 333)); }
+ TEST(334) { CHECK(RunTest("l2v4", 334)); }
+ TEST(335) { CHECK(RunTest("l2v4", 335)); }
+ TEST(336) { CHECK(RunTest("l2v4", 336)); }
+ TEST(337) { CHECK(RunTest("l2v4", 337)); }
+ TEST(338) { CHECK(RunTest("l2v4", 338)); }
+ TEST(339) { CHECK(RunTest("l2v4", 339)); }
+ TEST(340) { CHECK(RunTest("l2v4", 340)); }
+ TEST(341) { CHECK(RunTest("l2v4", 341)); }
+ TEST(342) { CHECK(RunTest("l2v4", 342)); }
+ TEST(343) { CHECK(RunTest("l2v4", 343)); }
+ TEST(344) { CHECK(RunTest("l2v4", 344)); }
+ TEST(345) { CHECK(RunTest("l2v4", 345)); }
+ TEST(346) { CHECK(RunTest("l2v4", 346)); }
+ TEST(347) { CHECK(RunTest("l2v4", 347)); }
+ TEST(348) { CHECK(RunTest("l2v4", 348)); }
+ TEST(349) { CHECK(RunTest("l2v4", 349)); }
+ TEST(350) { CHECK(RunTest("l2v4", 350)); }
+ TEST(351) { CHECK(RunTest("l2v4", 351)); }
+ TEST(352) { CHECK(RunTest("l2v4", 352)); }
+ TEST(353) { CHECK(RunTest("l2v4", 353)); }
+ TEST(354) { CHECK(RunTest("l2v4", 354)); }
+ TEST(355) { CHECK(RunTest("l2v4", 355)); }
+ TEST(356) { CHECK(RunTest("l2v4", 356)); }
+ TEST(357) { CHECK(RunTest("l2v4", 357)); }
+ TEST(358) { CHECK(RunTest("l2v4", 358)); }
+ TEST(359) { CHECK(RunTest("l2v4", 359)); }
+ TEST(360) { CHECK(RunTest("l2v4", 360)); }
+ TEST(361) { CHECK(RunTest("l2v4", 361)); }
+ TEST(362) { CHECK(RunTest("l2v4", 362)); }
+ TEST(363) { CHECK(RunTest("l2v4", 363)); }
+ TEST(364) { CHECK(RunTest("l2v4", 364)); }
+ TEST(365) { CHECK(RunTest("l2v4", 365)); }
+ TEST(366) { CHECK(RunTest("l2v4", 366)); }
+ TEST(367) { CHECK(RunTest("l2v4", 367)); }
+ TEST(368) { CHECK(RunTest("l2v4", 368)); }
+ TEST(369) { CHECK(RunTest("l2v4", 369)); }
+ TEST(370) { CHECK(RunTest("l2v4", 370)); }
+ TEST(371) { CHECK(RunTest("l2v4", 371)); }
+ TEST(372) { CHECK(RunTest("l2v4", 372)); }
+ TEST(373) { CHECK(RunTest("l2v4", 373)); }
+ TEST(374) { CHECK(RunTest("l2v4", 374)); }
+ TEST(375) { CHECK(RunTest("l2v4", 375)); }
+ TEST(376) { CHECK(RunTest("l2v4", 376)); }
+ TEST(377) { CHECK(RunTest("l2v4", 377)); }
+ TEST(378) { CHECK(RunTest("l2v4", 378)); }
+ TEST(379) { CHECK(RunTest("l2v4", 379)); }
+ TEST(380) { CHECK(RunTest("l2v4", 380)); }
+ TEST(381) { CHECK(RunTest("l2v4", 381)); }
+ TEST(382) { CHECK(RunTest("l2v4", 382)); }
+ TEST(383) { CHECK(RunTest("l2v4", 383)); }
+ TEST(384) { CHECK(RunTest("l2v4", 384)); }
+ TEST(385) { CHECK(RunTest("l2v4", 385)); }
+ TEST(386) { CHECK(RunTest("l2v4", 386)); }
+ TEST(387) { CHECK(RunTest("l2v4", 387)); }
+ TEST(388) { CHECK(RunTest("l2v4", 388)); }
+ TEST(389) { CHECK(RunTest("l2v4", 389)); }
+ TEST(390) { CHECK(RunTest("l2v4", 390)); }
+ TEST(391) { CHECK(RunTest("l2v4", 391)); }
+ TEST(392) { CHECK(RunTest("l2v4", 392)); }
+ TEST(393) { CHECK(RunTest("l2v4", 393)); }
+ TEST(394) { CHECK(RunTest("l2v4", 394)); }
+ TEST(395) { CHECK(RunTest("l2v4", 395)); }
+ TEST(396) { CHECK(RunTest("l2v4", 396)); }
+ TEST(397) { CHECK(RunTest("l2v4", 397)); }
+ TEST(398) { CHECK(RunTest("l2v4", 398)); }
+ TEST(399) { CHECK(RunTest("l2v4", 399)); }
+ TEST(400) { CHECK(RunTest("l2v4", 400)); }
+ TEST(401) { CHECK(RunTest("l2v4", 401)); }
+ TEST(402) { CHECK(RunTest("l2v4", 402)); }
+ TEST(403) { CHECK(RunTest("l2v4", 403)); }
+ TEST(404) { CHECK(RunTest("l2v4", 404)); }
+ TEST(405) { CHECK(RunTest("l2v4", 405)); }
+ TEST(406) { CHECK(RunTest("l2v4", 406)); }
+ TEST(407) { CHECK(RunTest("l2v4", 407)); }
+ TEST(408) { CHECK(RunTest("l2v4", 408)); }
+ TEST(409) { CHECK(RunTest("l2v4", 409)); }
+ TEST(410) { CHECK(RunTest("l2v4", 410)); }
+ TEST(411) { CHECK(RunTest("l2v4", 411)); }
+ TEST(412) { CHECK(RunTest("l2v4", 412)); }
+ TEST(413) { CHECK(RunTest("l2v4", 413)); }
+ TEST(414) { CHECK(RunTest("l2v4", 414)); }
+ TEST(415) { CHECK(RunTest("l2v4", 415)); }
+ TEST(416) { CHECK(RunTest("l2v4", 416)); }
+ TEST(417) { CHECK(RunTest("l2v4", 417)); }
+ TEST(418) { CHECK(RunTest("l2v4", 418)); }
+ TEST(419) { CHECK(RunTest("l2v4", 419)); }
+ TEST(420) { CHECK(RunTest("l2v4", 420)); }
+ TEST(421) { CHECK(RunTest("l2v4", 421)); }
+ TEST(422) { CHECK(RunTest("l2v4", 422)); }
+ TEST(423) { CHECK(RunTest("l2v4", 423)); }
+ TEST(424) { CHECK(RunTest("l2v4", 424)); }
+ TEST(425) { CHECK(RunTest("l2v4", 425)); }
+ TEST(426) { CHECK(RunTest("l2v4", 426)); }
+ TEST(427) { CHECK(RunTest("l2v4", 427)); }
+ TEST(428) { CHECK(RunTest("l2v4", 428)); }
+ TEST(429) { CHECK(RunTest("l2v4", 429)); }
+ TEST(430) { CHECK(RunTest("l2v4", 430)); }
+ TEST(431) { CHECK(RunTest("l2v4", 431)); }
+ TEST(432) { CHECK(RunTest("l2v4", 432)); }
+ TEST(433) { CHECK(RunTest("l2v4", 433)); }
+ TEST(434) { CHECK(RunTest("l2v4", 434)); }
+ TEST(435) { CHECK(RunTest("l2v4", 435)); }
+ TEST(436) { CHECK(RunTest("l2v4", 436)); }
+ TEST(437) { CHECK(RunTest("l2v4", 437)); }
+ TEST(438) { CHECK(RunTest("l2v4", 438)); }
+ TEST(439) { CHECK(RunTest("l2v4", 439)); }
+ TEST(440) { CHECK(RunTest("l2v4", 440)); }
+ TEST(441) { CHECK(RunTest("l2v4", 441)); }
+ TEST(442) { CHECK(RunTest("l2v4", 442)); }
+ TEST(443) { CHECK(RunTest("l2v4", 443)); }
+ TEST(444) { CHECK(RunTest("l2v4", 444)); }
+ TEST(445) { CHECK(RunTest("l2v4", 445)); }
+ TEST(446) { CHECK(RunTest("l2v4", 446)); }
+ TEST(447) { CHECK(RunTest("l2v4", 447)); }
+ TEST(448) { CHECK(RunTest("l2v4", 448)); }
+ TEST(449) { CHECK(RunTest("l2v4", 449)); }
+ TEST(450) { CHECK(RunTest("l2v4", 450)); }
+ TEST(451) { CHECK(RunTest("l2v4", 451)); }
+ TEST(452) { CHECK(RunTest("l2v4", 452)); }
+ TEST(453) { CHECK(RunTest("l2v4", 453)); }
+ TEST(454) { CHECK(RunTest("l2v4", 454)); }
+ TEST(455) { CHECK(RunTest("l2v4", 455)); }
+ TEST(456) { CHECK(RunTest("l2v4", 456)); }
+ TEST(457) { CHECK(RunTest("l2v4", 457)); }
+ TEST(458) { CHECK(RunTest("l2v4", 458)); }
+ TEST(459) { CHECK(RunTest("l2v4", 459)); }
+ TEST(460) { CHECK(RunTest("l2v4", 460)); }
+ TEST(461) { CHECK(RunTest("l2v4", 461)); }
+ TEST(462) { CHECK(RunTest("l2v4", 462)); }
+ TEST(463) { CHECK(RunTest("l2v4", 463)); }
+ TEST(464) { CHECK(RunTest("l2v4", 464)); }
+ TEST(465) { CHECK(RunTest("l2v4", 465)); }
+ TEST(466) { CHECK(RunTest("l2v4", 466)); }
+ TEST(467) { CHECK(RunTest("l2v4", 467)); }
+ TEST(468) { CHECK(RunTest("l2v4", 468)); }
+ TEST(469) { CHECK(RunTest("l2v4", 469)); }
+ TEST(470) { CHECK(RunTest("l2v4", 470)); }
+ TEST(471) { CHECK(RunTest("l2v4", 471)); }
+ TEST(472) { CHECK(RunTest("l2v4", 472)); }
+ TEST(473) { CHECK(RunTest("l2v4", 473)); }
+ TEST(474) { CHECK(RunTest("l2v4", 474)); }
+ TEST(475) { CHECK(RunTest("l2v4", 475)); }
+ TEST(476) { CHECK(RunTest("l2v4", 476)); }
+ TEST(477) { CHECK(RunTest("l2v4", 477)); }
+ TEST(478) { CHECK(RunTest("l2v4", 478)); }
+ TEST(479) { CHECK(RunTest("l2v4", 479)); }
+ TEST(480) { CHECK(RunTest("l2v4", 480)); }
+ TEST(481) { CHECK(RunTest("l2v4", 481)); }
+ TEST(482) { CHECK(RunTest("l2v4", 482)); }
+ TEST(483) { CHECK(RunTest("l2v4", 483)); }
+ TEST(484) { CHECK(RunTest("l2v4", 484)); }
+ TEST(485) { CHECK(RunTest("l2v4", 485)); }
+ TEST(486) { CHECK(RunTest("l2v4", 486)); }
+ TEST(487) { CHECK(RunTest("l2v4", 487)); }
+ TEST(488) { CHECK(RunTest("l2v4", 488)); }
+ TEST(489) { CHECK(RunTest("l2v4", 489)); }
+ TEST(490) { CHECK(RunTest("l2v4", 490)); }
+ TEST(491) { CHECK(RunTest("l2v4", 491)); }
+ TEST(492) { CHECK(RunTest("l2v4", 492)); }
+ TEST(493) { CHECK(RunTest("l2v4", 493)); }
+ TEST(494) { CHECK(RunTest("l2v4", 494)); }
+ TEST(495) { CHECK(RunTest("l2v4", 495)); }
+ TEST(496) { CHECK(RunTest("l2v4", 496)); }
+ TEST(497) { CHECK(RunTest("l2v4", 497)); }
+ TEST(498) { CHECK(RunTest("l2v4", 498)); }
+ TEST(499) { CHECK(RunTest("l2v4", 499)); }
+ TEST(500) { CHECK(RunTest("l2v4", 500)); }
+ TEST(501) { CHECK(RunTest("l2v4", 501)); }
+ TEST(502) { CHECK(RunTest("l2v4", 502)); }
+ TEST(503) { CHECK(RunTest("l2v4", 503)); }
+ TEST(504) { CHECK(RunTest("l2v4", 504)); }
+ TEST(505) { CHECK(RunTest("l2v4", 505)); }
+ TEST(506) { CHECK(RunTest("l2v4", 506)); }
+ TEST(507) { CHECK(RunTest("l2v4", 507)); }
+ TEST(508) { CHECK(RunTest("l2v4", 508)); }
+ TEST(509) { CHECK(RunTest("l2v4", 509)); }
+ TEST(510) { CHECK(RunTest("l2v4", 510)); }
+ TEST(511) { CHECK(RunTest("l2v4", 511)); }
+ TEST(512) { CHECK(RunTest("l2v4", 512)); }
+ TEST(513) { CHECK(RunTest("l2v4", 513)); }
+ TEST(514) { CHECK(RunTest("l2v4", 514)); }
+ TEST(515) { CHECK(RunTest("l2v4", 515)); }
+ TEST(516) { CHECK(RunTest("l2v4", 516)); }
+ TEST(517) { CHECK(RunTest("l2v4", 517)); }
+ TEST(518) { CHECK(RunTest("l2v4", 518)); }
+ TEST(519) { CHECK(RunTest("l2v4", 519)); }
+ TEST(520) { CHECK(RunTest("l2v4", 520)); }
+ TEST(521) { CHECK(RunTest("l2v4", 521)); }
+ TEST(522) { CHECK(RunTest("l2v4", 522)); }
+ TEST(523) { CHECK(RunTest("l2v4", 523)); }
+ TEST(524) { CHECK(RunTest("l2v4", 524)); }
+ TEST(525) { CHECK(RunTest("l2v4", 525)); }
+ TEST(526) { CHECK(RunTest("l2v4", 526)); }
+ TEST(527) { CHECK(RunTest("l2v4", 527)); }
+ TEST(528) { CHECK(RunTest("l2v4", 528)); }
+ TEST(529) { CHECK(RunTest("l2v4", 529)); }
+ TEST(530) { CHECK(RunTest("l2v4", 530)); }
+ //TEST(531) { CHECK(RunTest("l2v4", 531)); } // AlgebraicRule
+ TEST(532) { CHECK(RunTest("l2v4", 532)); }
+ //TEST(533) { CHECK(RunTest("l2v4", 533)); } // AlgebraicRule
+ //TEST(534) { CHECK(RunTest("l2v4", 534)); } // AlgebraicRule
+ //TEST(535) { CHECK(RunTest("l2v4", 535)); } // AlgebraicRule
+ //TEST(536) { CHECK(RunTest("l2v4", 536)); } // AlgebraicRule
+ //TEST(537) { CHECK(RunTest("l2v4", 537)); } // AlgebraicRule
+ //TEST(538) { CHECK(RunTest("l2v4", 538)); } // AlgebraicRule
+ TEST(539) { CHECK(RunTest("l2v4", 539)); }
+ TEST(540) { CHECK(RunTest("l2v4", 540)); }
+ TEST(541) { CHECK(RunTest("l2v4", 541)); }
+ TEST(542) { CHECK(RunTest("l2v4", 542)); }
+ //TEST(543) { CHECK(RunTest("l2v4", 543)); } // AlgebraicRule
+ TEST(544) { CHECK(RunTest("l2v4", 544)); }
+ TEST(545) { CHECK(RunTest("l2v4", 545)); }
+ //TEST(546) { CHECK(RunTest("l2v4", 546)); } // AlgebraicRule
+ TEST(547) { CHECK(RunTest("l2v4", 547)); }
+ //TEST(548) { CHECK(RunTest("l2v4", 548)); } // AlgebraicRule
+ //TEST(549) { CHECK(RunTest("l2v4", 549)); } // AlgebraicRule
+ //TEST(550) { CHECK(RunTest("l2v4", 550)); } // AlgebraicRule
+ //TEST(551) { CHECK(RunTest("l2v4", 551)); } // AlgebraicRule
+ //TEST(552) { CHECK(RunTest("l2v4", 552)); } // AlgebraicRule
+ //TEST(553) { CHECK(RunTest("l2v4", 553)); } // AlgebraicRule
+ //TEST(554) { CHECK(RunTest("l2v4", 554)); } // AlgebraicRule
+ //TEST(555) { CHECK(RunTest("l2v4", 555)); } // AlgebraicRule
+ //TEST(556) { CHECK(RunTest("l2v4", 556)); } // AlgebraicRule
+ //TEST(557) { CHECK(RunTest("l2v4", 557)); } // AlgebraicRule
+ //TEST(558) { CHECK(RunTest("l2v4", 558)); } // AlgebraicRule
+ //TEST(559) { CHECK(RunTest("l2v4", 559)); } // AlgebraicRule
+ //TEST(560) { CHECK(RunTest("l2v4", 560)); } // AlgebraicRule
+ //TEST(561) { CHECK(RunTest("l2v4", 561)); } // AlgebraicRule
+ //TEST(562) { CHECK(RunTest("l2v4", 562)); } // AlgebraicRule
+ //TEST(563) { CHECK(RunTest("l2v4", 563)); } // AlgebraicRule
+ //TEST(564) { CHECK(RunTest("l2v4", 564)); } // AlgebraicRule
+ //TEST(565) { CHECK(RunTest("l2v4", 565)); } // AlgebraicRule
+ //TEST(566) { CHECK(RunTest("l2v4", 566)); } // AlgebraicRule
+ //TEST(567) { CHECK(RunTest("l2v4", 567)); } // AlgebraicRule
+ TEST(568) { CHECK(RunTest("l2v4", 568)); }
+ //TEST(569) { CHECK(RunTest("l2v4", 569)); } // AlgebraicRule
+ //TEST(570) { CHECK(RunTest("l2v4", 570)); } // AlgebraicRule
+ //TEST(571) { CHECK(RunTest("l2v4", 571)); } // AlgebraicRule
+ TEST(572) { CHECK(RunTest("l2v4", 572)); }
+ //TEST(573) { CHECK(RunTest("l2v4", 573)); } // AlgebraicRule
+ TEST(574) { CHECK(RunTest("l2v4", 574)); }
+ //TEST(575) { CHECK(RunTest("l2v4", 575)); } // AlgebraicRule
+ //TEST(576) { CHECK(RunTest("l2v4", 576)); } // AlgebraicRule
+ TEST(577) { CHECK(RunTest("l2v4", 577)); }
+ TEST(578) { CHECK(RunTest("l2v4", 578)); }
+ TEST(579) { CHECK(RunTest("l2v4", 579)); }
+ TEST(580) { CHECK(RunTest("l2v4", 580)); }
+ TEST(581) { CHECK(RunTest("l2v4", 581)); }
+ TEST(582) { CHECK(RunTest("l2v4", 582)); }
+ TEST(583) { CHECK(RunTest("l2v4", 583)); }
+ TEST(584) { CHECK(RunTest("l2v4", 584)); }
+ TEST(585) { CHECK(RunTest("l2v4", 585)); }
+ TEST(586) { CHECK(RunTest("l2v4", 586)); }
+ TEST(587) { CHECK(RunTest("l2v4", 587)); }
+ TEST(588) { CHECK(RunTest("l2v4", 588)); }
+ TEST(589) { CHECK(RunTest("l2v4", 589)); }
+ TEST(590) { CHECK(RunTest("l2v4", 590)); }
+ TEST(591) { CHECK(RunTest("l2v4", 591)); }
+ TEST(592) { CHECK(RunTest("l2v4", 592)); }
+ TEST(593) { CHECK(RunTest("l2v4", 593)); }
+ TEST(594) { CHECK(RunTest("l2v4", 594)); }
+ TEST(595) { CHECK(RunTest("l2v4", 595)); }
+ TEST(596) { CHECK(RunTest("l2v4", 596)); }
+ TEST(597) { CHECK(RunTest("l2v4", 597)); }
+ TEST(598) { CHECK(RunTest("l2v4", 598)); }
+ TEST(599) { CHECK(RunTest("l2v4", 599)); }
+ TEST(600) { CHECK(RunTest("l2v4", 600)); }
+ TEST(601) { CHECK(RunTest("l2v4", 601)); }
+ TEST(602) { CHECK(RunTest("l2v4", 602)); }
+ TEST(603) { CHECK(RunTest("l2v4", 603)); }
+ TEST(604) { CHECK(RunTest("l2v4", 604)); }
+ TEST(605) { CHECK(RunTest("l2v4", 605)); }
+ TEST(606) { CHECK(RunTest("l2v4", 606)); }
+ TEST(607) { CHECK(RunTest("l2v4", 607)); }
+ TEST(608) { CHECK(RunTest("l2v4", 608)); }
+ TEST(609) { CHECK(RunTest("l2v4", 609)); }
+ TEST(610) { CHECK(RunTest("l2v4", 610)); }
+ TEST(611) { CHECK(RunTest("l2v4", 611)); }
+ TEST(612) { CHECK(RunTest("l2v4", 612)); }
+ //TEST(613) { CHECK(RunTest("l2v4", 613)); } // AlgebraicRule
+ //TEST(614) { CHECK(RunTest("l2v4", 614)); } // AlgebraicRule
+ //TEST(615) { CHECK(RunTest("l2v4", 615)); } // AlgebraicRule
+ TEST(616) { CHECK(RunTest("l2v4", 616)); }
+ TEST(617) { CHECK(RunTest("l2v4", 617)); }
+ TEST(618) { CHECK(RunTest("l2v4", 618)); }
+ TEST(619) { CHECK(RunTest("l2v4", 619)); }
+ TEST(620) { CHECK(RunTest("l2v4", 620)); }
+ TEST(621) { CHECK(RunTest("l2v4", 621)); }
+ TEST(622) { CHECK(RunTest("l2v4", 622)); }
+ TEST(623) { CHECK(RunTest("l2v4", 623)); }
+ TEST(624) { CHECK(RunTest("l2v4", 624)); }
+ TEST(625) { CHECK(RunTest("l2v4", 625)); }
+ TEST(626) { CHECK(RunTest("l2v4", 626)); }
+ TEST(627) { CHECK(RunTest("l2v4", 627)); }
+ //TEST(628) { CHECK(RunTest("l2v4", 628)); } // AlgebraicRule
+ //TEST(629) { CHECK(RunTest("l2v4", 629)); } // AlgebraicRule
+ //TEST(630) { CHECK(RunTest("l2v4", 630)); } // AlgebraicRule
+ TEST(631) { CHECK(RunTest("l2v4", 631)); }
+ TEST(632) { CHECK(RunTest("l2v4", 632)); }
+ TEST(633) { CHECK(RunTest("l2v4", 633)); }
+ TEST(634) { CHECK(RunTest("l2v4", 634)); }
+ TEST(635) { CHECK(RunTest("l2v4", 635)); }
+ TEST(636) { CHECK(RunTest("l2v4", 636)); }
+ TEST(637) { CHECK(RunTest("l2v4", 637)); }
+ TEST(638) { CHECK(RunTest("l2v4", 638)); }
+ TEST(639) { CHECK(RunTest("l2v4", 639)); }
+ TEST(640) { CHECK(RunTest("l2v4", 640)); }
+ TEST(641) { CHECK(RunTest("l2v4", 641)); }
+ TEST(642) { CHECK(RunTest("l2v4", 642)); }
+ TEST(643) { CHECK(RunTest("l2v4", 643)); }
+ TEST(644) { CHECK(RunTest("l2v4", 644)); }
+ TEST(645) { CHECK(RunTest("l2v4", 645)); }
+ TEST(646) { CHECK(RunTest("l2v4", 646)); }
+ TEST(647) { CHECK(RunTest("l2v4", 647)); }
+ TEST(648) { CHECK(RunTest("l2v4", 648)); }
+ TEST(649) { CHECK(RunTest("l2v4", 649)); }
+ TEST(650) { CHECK(RunTest("l2v4", 650)); }
+ TEST(651) { CHECK(RunTest("l2v4", 651)); }
+ TEST(652) { CHECK(RunTest("l2v4", 652)); }
+ TEST(653) { CHECK(RunTest("l2v4", 653)); }
+ TEST(654) { CHECK(RunTest("l2v4", 654)); }
+ TEST(655) { CHECK(RunTest("l2v4", 655)); }
+ TEST(656) { CHECK(RunTest("l2v4", 656)); }
+ TEST(657) { CHECK(RunTest("l2v4", 657)); }
+ //TEST(658) { CHECK(RunTest("l2v4", 658)); } // AlgebraicRule
+ //TEST(659) { CHECK(RunTest("l2v4", 659)); } // AlgebraicRule
+ //TEST(660) { CHECK(RunTest("l2v4", 660)); } // AlgebraicRule
+ //TEST(661) { CHECK(RunTest("l2v4", 661)); } // AlgebraicRule
+ //TEST(662) { CHECK(RunTest("l2v4", 662)); } // AlgebraicRule
+ //TEST(663) { CHECK(RunTest("l2v4", 663)); } // AlgebraicRule
+ //TEST(664) { CHECK(RunTest("l2v4", 664)); } // AlgebraicRule
+ //TEST(665) { CHECK(RunTest("l2v4", 665)); } // AlgebraicRule
+ //TEST(666) { CHECK(RunTest("l2v4", 666)); } // AlgebraicRule
+ TEST(667) { CHECK(RunTest("l2v4", 667)); }
+ TEST(668) { CHECK(RunTest("l2v4", 668)); }
+ TEST(669) { CHECK(RunTest("l2v4", 669)); }
+ TEST(670) { CHECK(RunTest("l2v4", 670)); }
+ TEST(671) { CHECK(RunTest("l2v4", 671)); }
+ TEST(672) { CHECK(RunTest("l2v4", 672)); }
+ //TEST(673) { CHECK(RunTest("l2v4", 673)); } // AlgebraicRule
+ //TEST(674) { CHECK(RunTest("l2v4", 674)); } // AlgebraicRule
+ //TEST(675) { CHECK(RunTest("l2v4", 675)); } // AlgebraicRule
+ TEST(676) { CHECK(RunTest("l2v4", 676)); }
+ TEST(677) { CHECK(RunTest("l2v4", 677)); }
+ TEST(678) { CHECK(RunTest("l2v4", 678)); }
+ TEST(679) { CHECK(RunTest("l2v4", 679)); }
+ TEST(680) { CHECK(RunTest("l2v4", 680)); }
+ TEST(681) { CHECK(RunTest("l2v4", 681)); }
+ TEST(682) { CHECK(RunTest("l2v4", 682)); }
+ TEST(683) { CHECK(RunTest("l2v4", 683)); }
+ TEST(684) { CHECK(RunTest("l2v4", 684)); }
+ TEST(685) { CHECK(RunTest("l2v4", 685)); }
+ TEST(686) { CHECK(RunTest("l2v4", 686)); }
+ //TEST(687) { CHECK(RunTest("l2v4", 687)); } // AlgebraicRule
+ TEST(688) { CHECK(RunTest("l2v4", 688)); }
+ TEST(689) { CHECK(RunTest("l2v4", 689)); }
+ TEST(690) { CHECK(RunTest("l2v4", 690)); }
+ TEST(691) { CHECK(RunTest("l2v4", 691)); }
+ TEST(692) { CHECK(RunTest("l2v4", 692)); }
+ TEST(693) { CHECK(RunTest("l2v4", 693)); }
+ TEST(694) { CHECK(RunTest("l2v4", 694)); }
+ //TEST(695) { CHECK(RunTest("l2v4", 695)); } // AlgebraicRule
+ //TEST(696) { CHECK(RunTest("l2v4", 696)); } // AlgebraicRule
+ TEST(697) { CHECK(RunTest("l2v4", 697)); }
+ TEST(698) { CHECK(RunTest("l2v4", 698)); }
+ TEST(699) { CHECK(RunTest("l2v4", 699)); }
+ TEST(700) { CHECK(RunTest("l2v4", 700)); }
+ TEST(701) { CHECK(RunTest("l2v4", 701)); }
+ TEST(702) { CHECK(RunTest("l2v4", 702)); }
+ TEST(703) { CHECK(RunTest("l2v4", 703)); }
+ TEST(704) { CHECK(RunTest("l2v4", 704)); }
+ //TEST(705) { CHECK(RunTest("l2v4", 705)); } // AlgebraicRule
+ TEST(706) { CHECK(RunTest("l2v4", 706)); }
+ TEST(707) { CHECK(RunTest("l2v4", 707)); }
+ TEST(708) { CHECK(RunTest("l2v4", 708)); }
+ TEST(709) { CHECK(RunTest("l2v4", 709)); }
+ TEST(710) { CHECK(RunTest("l2v4", 710)); }
+ TEST(711) { CHECK(RunTest("l2v4", 711)); }
+ TEST(712) { CHECK(RunTest("l2v4", 712)); }
+ TEST(713) { CHECK(RunTest("l2v4", 713)); }
+ TEST(714) { CHECK(RunTest("l2v4", 714)); }
+ TEST(715) { CHECK(RunTest("l2v4", 715)); }
+ TEST(716) { CHECK(RunTest("l2v4", 716)); }
+ TEST(717) { CHECK(RunTest("l2v4", 717)); }
+ TEST(718) { CHECK(RunTest("l2v4", 718)); }
+ TEST(719) { CHECK(RunTest("l2v4", 719)); }
+ TEST(720) { CHECK(RunTest("l2v4", 720)); }
+ TEST(721) { CHECK(RunTest("l2v4", 721)); }
+ TEST(722) { CHECK(RunTest("l2v4", 722)); }
+ TEST(723) { CHECK(RunTest("l2v4", 723)); }
+ TEST(724) { CHECK(RunTest("l2v4", 724)); }
+ TEST(725) { CHECK(RunTest("l2v4", 725)); }
+ TEST(726) { CHECK(RunTest("l2v4", 726)); }
+ TEST(727) { CHECK(RunTest("l2v4", 727)); }
+ TEST(728) { CHECK(RunTest("l2v4", 728)); }
+ TEST(729) { CHECK(RunTest("l2v4", 729)); }
+ TEST(730) { CHECK(RunTest("l2v4", 730)); }
+ TEST(731) { CHECK(RunTest("l2v4", 731)); }
+ TEST(732) { CHECK(RunTest("l2v4", 732)); }
+ TEST(733) { CHECK(RunTest("l2v4", 733)); }
+ TEST(734) { CHECK(RunTest("l2v4", 734)); }
+ TEST(735) { CHECK(RunTest("l2v4", 735)); }
+ TEST(736) { CHECK(RunTest("l2v4", 736)); }
+ TEST(737) { CHECK(RunTest("l2v4", 737)); }
+ TEST(738) { CHECK(RunTest("l2v4", 738)); }
+ TEST(739) { CHECK(RunTest("l2v4", 739)); }
+ TEST(740) { CHECK(RunTest("l2v4", 740)); }
+ TEST(741) { CHECK(RunTest("l2v4", 741)); }
+ TEST(742) { CHECK(RunTest("l2v4", 742)); }
+ TEST(743) { CHECK(RunTest("l2v4", 743)); }
+ TEST(744) { CHECK(RunTest("l2v4", 744)); }
+ TEST(745) { CHECK(RunTest("l2v4", 745)); }
+ TEST(746) { CHECK(RunTest("l2v4", 746)); }
+ TEST(747) { CHECK(RunTest("l2v4", 747)); }
+ TEST(748) { CHECK(RunTest("l2v4", 748)); }
+ TEST(749) { CHECK(RunTest("l2v4", 749)); }
+ TEST(750) { CHECK(RunTest("l2v4", 750)); }
+ TEST(751) { CHECK(RunTest("l2v4", 751)); }
+ TEST(752) { CHECK(RunTest("l2v4", 752)); }
+ TEST(753) { CHECK(RunTest("l2v4", 753)); }
+ TEST(754) { CHECK(RunTest("l2v4", 754)); }
+ TEST(755) { CHECK(RunTest("l2v4", 755)); }
+ TEST(756) { CHECK(RunTest("l2v4", 756)); }
+ TEST(757) { CHECK(RunTest("l2v4", 757)); }
+ TEST(758) { CHECK(RunTest("l2v4", 758)); }
+ TEST(759) { CHECK(RunTest("l2v4", 759)); }
+ //TEST(760) { CHECK(RunTest("l2v4", 760)); } // AlgebraicRule
+ //TEST(761) { CHECK(RunTest("l2v4", 761)); } // AlgebraicRule
+ //TEST(762) { CHECK(RunTest("l2v4", 762)); } // AlgebraicRule
+ TEST(763) { CHECK(RunTest("l2v4", 763)); }
+ TEST(764) { CHECK(RunTest("l2v4", 764)); }
+ TEST(765) { CHECK(RunTest("l2v4", 765)); }
+ TEST(766) { CHECK(RunTest("l2v4", 766)); }
+ TEST(767) { CHECK(RunTest("l2v4", 767)); }
+ TEST(768) { CHECK(RunTest("l2v4", 768)); }
+ TEST(769) { CHECK(RunTest("l2v4", 769)); }
+ TEST(770) { CHECK(RunTest("l2v4", 770)); }
+ TEST(771) { CHECK(RunTest("l2v4", 771)); }
+ TEST(772) { CHECK(RunTest("l2v4", 772)); }
+ TEST(773) { CHECK(RunTest("l2v4", 773)); }
+ TEST(774) { CHECK(RunTest("l2v4", 774)); }
+ TEST(775) { CHECK(RunTest("l2v4", 775)); }
+ TEST(776) { CHECK(RunTest("l2v4", 776)); }
+ //TEST(777) { CHECK(RunTest("l2v4", 777)); } // AlgebraicRule
+ //TEST(778) { CHECK(RunTest("l2v4", 778)); } // AlgebraicRule
+ //TEST(779) { CHECK(RunTest("l2v4", 779)); } // AlgebraicRule
+ //TEST(780) { CHECK(RunTest("l2v4", 780)); } // AlgebraicRule
+ TEST(781) { CHECK(RunTest("l2v4", 781)); }
+ TEST(782) { CHECK(RunTest("l2v4", 782)); }
+ TEST(783) { CHECK(RunTest("l2v4", 783)); }
+ TEST(784) { CHECK(RunTest("l2v4", 784)); }
+ TEST(785) { CHECK(RunTest("l2v4", 785)); }
+ TEST(786) { CHECK(RunTest("l2v4", 786)); }
+ TEST(787) { CHECK(RunTest("l2v4", 787)); }
+ TEST(788) { CHECK(RunTest("l2v4", 788)); }
+ TEST(789) { CHECK(RunTest("l2v4", 789)); }
+ TEST(790) { CHECK(RunTest("l2v4", 790)); }
+ TEST(791) { CHECK(RunTest("l2v4", 791)); }
+ TEST(792) { CHECK(RunTest("l2v4", 792)); }
+ TEST(793) { CHECK(RunTest("l2v4", 793)); }
+ TEST(794) { CHECK(RunTest("l2v4", 794)); }
+ TEST(795) { CHECK(RunTest("l2v4", 795)); }
+ TEST(796) { CHECK(RunTest("l2v4", 796)); }
+ TEST(797) { CHECK(RunTest("l2v4", 797)); }
+ TEST(798) { CHECK(RunTest("l2v4", 798)); }
+ TEST(799) { CHECK(RunTest("l2v4", 799)); }
+ TEST(800) { CHECK(RunTest("l2v4", 800)); }
+ TEST(801) { CHECK(RunTest("l2v4", 801)); }
+ TEST(802) { CHECK(RunTest("l2v4", 802)); }
+ TEST(803) { CHECK(RunTest("l2v4", 803)); }
+ TEST(804) { CHECK(RunTest("l2v4", 804)); }
+ TEST(805) { CHECK(RunTest("l2v4", 805)); }
+ TEST(806) { CHECK(RunTest("l2v4", 806)); }
+ TEST(807) { CHECK(RunTest("l2v4", 807)); }
+ TEST(808) { CHECK(RunTest("l2v4", 808)); }
+ TEST(809) { CHECK(RunTest("l2v4", 809)); }
+ TEST(810) { CHECK(RunTest("l2v4", 810)); }
+ TEST(811) { CHECK(RunTest("l2v4", 811)); }
+ TEST(812) { CHECK(RunTest("l2v4", 812)); }
+ TEST(813) { CHECK(RunTest("l2v4", 813)); }
+ TEST(814) { CHECK(RunTest("l2v4", 814)); }
+ TEST(815) { CHECK(RunTest("l2v4", 815)); }
+ TEST(816) { CHECK(RunTest("l2v4", 816)); }
+ TEST(817) { CHECK(RunTest("l2v4", 817)); }
+ TEST(818) { CHECK(RunTest("l2v4", 818)); }
+ TEST(819) { CHECK(RunTest("l2v4", 819)); }
+ TEST(820) { CHECK(RunTest("l2v4", 820)); }
+ TEST(821) { CHECK(RunTest("l2v4", 821)); }
+ TEST(822) { CHECK(RunTest("l2v4", 822)); }
+ TEST(823) { CHECK(RunTest("l2v4", 823)); }
+ TEST(824) { CHECK(RunTest("l2v4", 824)); }
+ TEST(825) { CHECK(RunTest("l2v4", 825)); }
+ TEST(826) { CHECK(RunTest("l2v4", 826)); }
+ TEST(827) { CHECK(RunTest("l2v4", 827)); }
+ TEST(828) { CHECK(RunTest("l2v4", 828)); }
+ TEST(829) { CHECK(RunTest("l2v4", 829)); }
+ TEST(830) { CHECK(RunTest("l2v4", 830)); }
+ TEST(831) { CHECK(RunTest("l2v4", 831)); }
+ TEST(832) { CHECK(RunTest("l2v4", 832)); }
+ TEST(833) { CHECK(RunTest("l2v4", 833)); }
+ TEST(834) { CHECK(RunTest("l2v4", 834)); }
+ TEST(835) { CHECK(RunTest("l2v4", 835)); }
+ TEST(836) { CHECK(RunTest("l2v4", 836)); }
+ TEST(837) { CHECK(RunTest("l2v4", 837)); }
+ TEST(838) { CHECK(RunTest("l2v4", 838)); }
+ TEST(839) { CHECK(RunTest("l2v4", 839)); }
+ TEST(840) { CHECK(RunTest("l2v4", 840)); }
+ TEST(841) { CHECK(RunTest("l2v4", 841)); }
+ TEST(842) { CHECK(RunTest("l2v4", 842)); }
+ TEST(843) { CHECK(RunTest("l2v4", 843)); }
+//TEST(844) { CHECK(RunTest("l2v4", 844)); } // AlgebraicRule
+TEST(845) { CHECK(RunTest("l2v4", 845)); }
+TEST(846) { CHECK(RunTest("l2v4", 846)); }
+TEST(847) { CHECK(RunTest("l2v4", 847)); }
+TEST(848) { CHECK(RunTest("l2v4", 848)); }
+TEST(849) { CHECK(RunTest("l2v4", 849)); }
+TEST(850) { CHECK(RunTest("l2v4", 850)); }
+TEST(851) { CHECK(RunTest("l2v4", 851)); }
+TEST(852) { CHECK(RunTest("l2v4", 852)); }
+TEST(853) { CHECK(RunTest("l2v4", 853)); }
+TEST(854) { CHECK(RunTest("l2v4", 854)); }
+TEST(855) { CHECK(RunTest("l2v4", 855)); }
+TEST(856) { CHECK(RunTest("l2v4", 856)); }
+TEST(857) { CHECK(RunTest("l2v4", 857)); }
+TEST(858) { CHECK(RunTest("l2v4", 858)); }
+TEST(859) { CHECK(RunTest("l2v4", 859)); }
+TEST(860) { CHECK(RunTest("l2v4", 860)); }
+TEST(861) { CHECK(RunTest("l2v4", 861)); }
+TEST(862) { CHECK(RunTest("l2v4", 862)); }
+TEST(863) { CHECK(RunTest("l2v4", 863)); }
+TEST(864) { CHECK(RunTest("l2v4", 864)); }
+TEST(865) { CHECK(RunTest("l2v4", 865)); }
+TEST(866) { CHECK(RunTest("l2v4", 866)); }
+TEST(867) { CHECK(RunTest("l2v4", 867)); }
+TEST(868) { CHECK(RunTest("l2v4", 868)); }
+TEST(869) { CHECK(RunTest("l2v4", 869)); }
+//TEST(870) { CHECK(RunTest("l2v4", 870)); } // FastReaction
+//TEST(871) { CHECK(RunTest("l2v4", 871)); } // FastReaction
+//TEST(872) { CHECK(RunTest("l2v4", 872)); } // FastReaction
+//TEST(873) { CHECK(RunTest("l2v4", 873)); } // FastReaction
+//TEST(874) { CHECK(RunTest("l2v4", 874)); } // FastReaction
+//TEST(875) { CHECK(RunTest("l2v4", 875)); } // FastReaction
+//TEST(876) { CHECK(RunTest("l2v4", 876)); } // AlgebraicRule
+TEST(877) { CHECK(RunTest("l2v4", 877)); }
+TEST(878) { CHECK(RunTest("l2v4", 878)); }
+TEST(879) { CHECK(RunTest("l2v4", 879)); }
+TEST(880) { CHECK(RunTest("l2v4", 880)); }
+TEST(881) { CHECK(RunTest("l2v4", 881)); }
+TEST(882) { CHECK(RunTest("l2v4", 882)); }
+TEST(883) { CHECK(RunTest("l2v4", 883)); }
+TEST(884) { CHECK(RunTest("l2v4", 884)); }
+TEST(885) { CHECK(RunTest("l2v4", 885)); }
+TEST(886) { CHECK(RunTest("l2v4", 886)); }
+TEST(887) { CHECK(RunTest("l2v4", 887)); }
+TEST(888) { CHECK(RunTest("l2v4", 888)); }
+TEST(889) { CHECK(RunTest("l2v4", 889)); }
+TEST(890) { CHECK(RunTest("l2v4", 890)); }
+TEST(891) { CHECK(RunTest("l2v4", 891)); }
+TEST(892) { CHECK(RunTest("l2v4", 892)); }
+TEST(893) { CHECK(RunTest("l2v4", 893)); }
+TEST(894) { CHECK(RunTest("l2v4", 894)); }
+TEST(895) { CHECK(RunTest("l2v4", 895)); }
+TEST(896) { CHECK(RunTest("l2v4", 896)); }
+TEST(897) { CHECK(RunTest("l2v4", 897)); }
+TEST(898) { CHECK(RunTest("l2v4", 898)); }
+TEST(899) { CHECK(RunTest("l2v4", 899)); }
+TEST(900) { CHECK(RunTest("l2v4", 900)); }
+TEST(901) { CHECK(RunTest("l2v4", 901)); }
+TEST(902) { CHECK(RunTest("l2v4", 902)); }
+TEST(903) { CHECK(RunTest("l2v4", 903)); }
+TEST(904) { CHECK(RunTest("l2v4", 904)); }
+TEST(905) { CHECK(RunTest("l2v4", 905)); }
+TEST(906) { CHECK(RunTest("l2v4", 906)); }
+TEST(907) { CHECK(RunTest("l2v4", 907)); }
+TEST(908) { CHECK(RunTest("l2v4", 908)); }
+TEST(909) { CHECK(RunTest("l2v4", 909)); }
+TEST(910) { CHECK(RunTest("l2v4", 910)); }
+TEST(911) { CHECK(RunTest("l2v4", 911)); }
+TEST(912) { CHECK(RunTest("l2v4", 912)); }
+TEST(913) { CHECK(RunTest("l2v4", 913)); }
+TEST(914) { CHECK(RunTest("l2v4", 914)); }
+TEST(915) { CHECK(RunTest("l2v4", 915)); }
+TEST(916) { CHECK(RunTest("l2v4", 916)); }
+TEST(917) { CHECK(RunTest("l2v4", 917)); }
+TEST(918) { CHECK(RunTest("l2v4", 918)); }
+TEST(919) { CHECK(RunTest("l2v4", 919)); }
+TEST(920) { CHECK(RunTest("l2v4", 920)); }
+TEST(921) { CHECK(RunTest("l2v4", 921)); }
+TEST(922) { CHECK(RunTest("l2v4", 922)); }
+TEST(923) { CHECK(RunTest("l2v4", 923)); }
+TEST(924) { CHECK(RunTest("l2v4", 924)); }
+TEST(925) { CHECK(RunTest("l2v4", 925)); }
+TEST(926) { CHECK(RunTest("l2v4", 926)); }
+TEST(927) { CHECK(RunTest("l2v4", 927)); }
+TEST(928) { CHECK(RunTest("l3v1", 928)); }
+TEST(929) { CHECK(RunTest("l3v1", 929)); }
+TEST(930) { CHECK(RunTest("l3v1", 930)); }
+TEST(931) { CHECK(RunTest("l3v1", 931)); }
+TEST(932) { CHECK(RunTest("l3v1", 932)); }
+TEST(933) { CHECK(RunTest("l3v1", 933)); }
+TEST(934) { CHECK(RunTest("l3v1", 934)); }
+TEST(935) { CHECK(RunTest("l3v1", 935)); }
+TEST(936) { CHECK(RunTest("l2v4", 936)); }
+//TEST(937) { CHECK(RunTest("l2v4", 937)); } // CSymbolDelay
+//TEST(938) { CHECK(RunTest("l2v4", 938)); } // CSymbolDelay
+//TEST(939) { CHECK(RunTest("l2v4", 939)); } // CSymbolDelay
+//TEST(940) { CHECK(RunTest("l2v4", 940)); } // CSymbolDelay
+//TEST(941) { CHECK(RunTest("l2v4", 941)); } // CSymbolDelay
+//TEST(942) { CHECK(RunTest("l2v4", 942)); } // CSymbolDelay
+//TEST(943) { CHECK(RunTest("l2v4", 943)); } // CSymbolDelay
+TEST(944) { CHECK(RunTest("l2v4", 944)); }
+TEST(945) { CHECK(RunTest("l2v4", 945)); }
+TEST(946) { CHECK(RunTest("l2v4", 946)); }
+TEST(947) { CHECK(RunTest("l2v4", 947)); }
+TEST(948) { CHECK(RunTest("l2v4", 948)); }
+TEST(949) { CHECK(RunTest("l2v4", 949)); }
+TEST(950) { CHECK(RunTest("l2v4", 950)); }
+TEST(951) { CHECK(RunTest("l2v4", 951)); }
+TEST(952) { CHECK(RunTest("l3v1", 952)); }
+TEST(953) { CHECK(RunTest("l3v1", 953)); }
+TEST(954) { CHECK(RunTest("l2v4", 954)); }
+TEST(955) { CHECK(RunTest("l2v4", 955)); }
+TEST(956) { CHECK(RunTest("l2v4", 956)); }
+TEST(957) { CHECK(RunTest("l2v4", 957)); }
+TEST(958) { CHECK(RunTest("l2v4", 958)); }
+TEST(959) { CHECK(RunTest("l2v4", 959)); }
+TEST(960) { CHECK(RunTest("l3v1", 960)); }
+TEST(961) { CHECK(RunTest("l3v1", 961)); }
+TEST(962) { CHECK(RunTest("l3v1", 962)); }
+TEST(963) { CHECK(RunTest("l3v1", 963)); }
+TEST(964) { CHECK(RunTest("l3v1", 964)); }
+TEST(965) { CHECK(RunTest("l3v1", 965)); }
+TEST(966) { CHECK(RunTest("l3v1", 966)); }
+TEST(967) { CHECK(RunTest("l3v1", 967)); }
+TEST(968) { CHECK(RunTest("l2v4", 968)); }
+TEST(969) { CHECK(RunTest("l3v1", 969)); }
+TEST(970) { CHECK(RunTest("l3v1", 970)); }
+TEST(971) { CHECK(RunTest("l3v1", 971)); }
+TEST(972) { CHECK(RunTest("l3v1", 972)); }
+TEST(973) { CHECK(RunTest("l2v4", 973)); }
+TEST(974) { CHECK(RunTest("l3v1", 974)); }
+TEST(975) { CHECK(RunTest("l3v1", 975)); }
+TEST(976) { CHECK(RunTest("l3v1", 976)); }
+TEST(977) { CHECK(RunTest("l3v1", 977)); }
+#ifdef BUILD_LLVM
+TEST(978) { CHECK(RunTest("l3v1", 978)); } //Crash in legacy C mode.
+#endif
+TEST(979) { CHECK(RunTest("l2v4", 979)); }
+TEST(980) { CHECK(RunTest("l3v1", 980)); }
+//TEST(981)  { CHECK(RunTest("l3v1", 981  )); } // CSymbolDelay
+//TEST(982)  { CHECK(RunTest("l3v1", 982  )); } // CSymbolDelay
+//TEST(983)  { CHECK(RunTest("l3v1", 983  )); } // AlgebraicRule // CSymbolDelay
+//TEST(984)  { CHECK(RunTest("l3v1", 984  )); } // CSymbolDelay
+//TEST(985)  { CHECK(RunTest("l3v1", 985  )); } // CSymbolDelay
+//TEST(986)  { CHECK(RunTest("l3v1", 986  )); } // FastReaction
+//TEST(987)  { CHECK(RunTest("l3v1", 987  )); } // FastReaction
+//TEST(988)  { CHECK(RunTest("l3v1", 988  )); } // FastReaction
+TEST(989)  { CHECK(RunTest("l2v4", 989  )); }
+TEST(990)  { CHECK(RunTest("l2v4", 990  )); }
+TEST(991)  { CHECK(RunTest("l2v4", 991  )); }
+TEST(992)  { CHECK(RunTest("l2v4", 992  )); }
+//TEST(993)  { CHECK(RunTest("l2v4", 993  )); } // AlgebraicRule
+TEST(994)  { CHECK(RunTest("l2v4", 994  )); }
+TEST(995)  { CHECK(RunTest("l3v1", 995  )); }
+TEST(996)  { CHECK(RunTest("l3v1", 996  )); }
+TEST(997)  { CHECK(RunTest("l3v1", 997  )); }
+TEST(998)  { CHECK(RunTest("l3v1", 998  )); }
+TEST(999)  { CHECK(RunTest("l3v1", 999  )); }
+TEST(1000) { CHECK(RunTest("l3v1", 1000 )); }
+TEST(1001) { CHECK(RunTest("l3v1", 1001 )); }
+TEST(1002) { CHECK(RunTest("l3v1", 1002 )); }
+TEST(1003) { CHECK(RunTest("l3v1", 1003 )); }
+TEST(1004) { CHECK(RunTest("l3v1", 1004 )); }
+TEST(1005) { CHECK(RunTest("l3v1", 1005 )); }
+TEST(1006) { CHECK(RunTest("l3v1", 1006 )); }
+TEST(1007) { CHECK(RunTest("l3v1", 1007 )); }
+TEST(1008) { CHECK(RunTest("l3v1", 1008 )); }
+TEST(1009) { CHECK(RunTest("l3v1", 1009 )); }
+TEST(1010) { CHECK(RunTest("l3v1", 1010 )); }
+TEST(1011) { CHECK(RunTest("l3v1", 1011 )); }
+TEST(1012) { CHECK(RunTest("l3v1", 1012 )); }
+TEST(1013) { CHECK(RunTest("l3v1", 1013 )); }
+TEST(1014) { CHECK(RunTest("l3v1", 1014 )); }
+TEST(1015) { CHECK(RunTest("l3v1", 1015 )); }
+TEST(1016) { CHECK(RunTest("l3v1", 1016 )); }
+TEST(1017) { CHECK(RunTest("l3v1", 1017 )); }
+TEST(1018) { CHECK(RunTest("l3v1", 1018 )); }
+TEST(1019) { CHECK(RunTest("l3v1", 1019 )); }
+TEST(1020) { CHECK(RunTest("l3v1", 1020 )); }
+TEST(1021) { CHECK(RunTest("l3v1", 1021 )); }
+TEST(1022) { CHECK(RunTest("l3v1", 1022 )); }
+TEST(1023) { CHECK(RunTest("l3v1", 1023 )); }
+TEST(1024) { CHECK(RunTest("l3v1", 1024 )); }
+TEST(1025) { CHECK(RunTest("l3v1", 1025 )); }
+TEST(1026) { CHECK(RunTest("l3v1", 1026 )); }
+TEST(1027) { CHECK(RunTest("l2v4", 1027 )); }
+TEST(1028) { CHECK(RunTest("l2v4", 1028 )); }
+TEST(1029) { CHECK(RunTest("l2v4", 1029 )); }
+TEST(1030) { CHECK(RunTest("l3v1", 1030 )); }
+TEST(1031) { CHECK(RunTest("l3v1", 1031 )); }
+TEST(1032) { CHECK(RunTest("l3v1", 1032 )); }
+TEST(1033) { CHECK(RunTest("l3v1", 1033 )); }
+TEST(1034) { CHECK(RunTest("l3v1", 1034 )); }
+TEST(1035) { CHECK(RunTest("l3v1", 1035 )); }
+TEST(1036) { CHECK(RunTest("l3v1", 1036 )); }
+TEST(1037) { CHECK(RunTest("l3v1", 1037 )); }
+TEST(1038) { CHECK(RunTest("l3v1", 1038 )); }
+TEST(1039) { CHECK(RunTest("l3v1", 1039 )); }
+TEST(1040) { CHECK(RunTest("l3v1", 1040 )); }
+TEST(1041) { CHECK(RunTest("l3v1", 1041 )); }
+TEST(1042) { CHECK(RunTest("l3v1", 1042 )); }
+TEST(1043) { CHECK(RunTest("l3v1", 1043 )); }
+//TEST(1044) { CHECK(RunTest("l3v1", 1044 )); } // AlgebraicRule
+TEST(1045) { CHECK(RunTest("l3v1", 1045 )); }
+TEST(1046) { CHECK(RunTest("l3v1", 1046 )); }
+TEST(1047) { CHECK(RunTest("l3v1", 1047 )); }
+TEST(1048) { CHECK(RunTest("l3v1", 1048 )); }
+TEST(1049) { CHECK(RunTest("l3v1", 1049 )); }
+TEST(1050) { CHECK(RunTest("l3v1", 1050 )); }
+//TEST(1051) { CHECK(RunTest("l3v1", 1051 )); } // FastReaction
+//TEST(1052) { CHECK(RunTest("l3v1", 1052 )); } // FastReaction
+//TEST(1053) { CHECK(RunTest("l3v1", 1053 )); } // FastReaction
+//TEST(1054) { CHECK(RunTest("l3v1", 1054 )); } // AlgebraicRule
+TEST(1055) { CHECK(RunTest("l3v1", 1055 )); }
+TEST(1056) { CHECK(RunTest("l3v1", 1056 )); }
+TEST(1057) { CHECK(RunTest("l3v1", 1057 )); }
+TEST(1058) { CHECK(RunTest("l3v1", 1058 )); }
+TEST(1059) { CHECK(RunTest("l3v1", 1059 )); }
+TEST(1060) { CHECK(RunTest("l3v1", 1060 )); }
+TEST(1061) { CHECK(RunTest("l3v1", 1061 )); }
+TEST(1062) { CHECK(RunTest("l3v1", 1062 )); }
+TEST(1063) { CHECK(RunTest("l3v1", 1063 )); }
+TEST(1064) { CHECK(RunTest("l3v1", 1064 )); }
+TEST(1065) { CHECK(RunTest("l3v1", 1065 )); }
+TEST(1066) { CHECK(RunTest("l3v1", 1066 )); }
+TEST(1067) { CHECK(RunTest("l3v1", 1067 )); }
+TEST(1068) { CHECK(RunTest("l3v1", 1068 )); }
+TEST(1069) { CHECK(RunTest("l3v1", 1069 )); }
+TEST(1070) { CHECK(RunTest("l3v1", 1070 )); }
+TEST(1071) { CHECK(RunTest("l3v1", 1071 )); }
+TEST(1072) { CHECK(RunTest("l3v1", 1072 )); }
+TEST(1073) { CHECK(RunTest("l3v1", 1073 )); }
+TEST(1074) { CHECK(RunTest("l3v1", 1074 )); }
+TEST(1075) { CHECK(RunTest("l3v1", 1075 )); }
+TEST(1076) { CHECK(RunTest("l3v1", 1076 )); }
+TEST(1077) { CHECK(RunTest("l3v1", 1077 )); }
+TEST(1078) { CHECK(RunTest("l3v1", 1078 )); }
+TEST(1079) { CHECK(RunTest("l3v1", 1079 )); }
+TEST(1080) { CHECK(RunTest("l3v1", 1080 )); }
+TEST(1081) { CHECK(RunTest("l3v1", 1081 )); }
+TEST(1082) { CHECK(RunTest("l3v1", 1082 )); }
+//TEST(1083) { CHECK(RunTest("l3v1", 1083 )); } // AlgebraicRule
+//TEST(1084) { CHECK(RunTest("l3v1", 1084 )); } // AlgebraicRule
+//TEST(1085) { CHECK(RunTest("l3v1", 1085 )); } // AlgebraicRule
+//TEST(1086) { CHECK(RunTest("l3v1", 1086 )); } // AlgebraicRule
+TEST(1087) { CHECK(RunTest("l3v1", 1087 )); }
+TEST(1088) { CHECK(RunTest("l3v1", 1088 )); }
+TEST(1089) { CHECK(RunTest("l3v1", 1089 )); }
+TEST(1090) { CHECK(RunTest("l3v1", 1090 )); }
+TEST(1091) { CHECK(RunTest("l3v1", 1091 )); }
+TEST(1092) { CHECK(RunTest("l3v1", 1092 )); }
+TEST(1093) { CHECK(RunTest("l3v1", 1093 )); }
+TEST(1094) { CHECK(RunTest("l3v1", 1094 )); }
+TEST(1095) { CHECK(RunTest("l3v1", 1095 )); }
+TEST(1096) { CHECK(RunTest("l3v1", 1096 )); }
+TEST(1097) { CHECK(RunTest("l3v1", 1097 )); }
+TEST(1098) { CHECK(RunTest("l3v1", 1098 )); }
+TEST(1099) { CHECK(RunTest("l3v1", 1099 )); }
+TEST(1100) { CHECK(RunTest("l3v1", 1100 )); }
+TEST(1101) { CHECK(RunTest("l3v1", 1101 )); }
+TEST(1102) { CHECK(RunTest("l3v1", 1102 )); }
+TEST(1103) { CHECK(RunTest("l3v1", 1103 )); }
+TEST(1104) { CHECK(RunTest("l3v1", 1104 )); }
+TEST(1105) { CHECK(RunTest("l3v1", 1105 )); }
+TEST(1106) { CHECK(RunTest("l3v1", 1106 )); }
+TEST(1107) { CHECK(RunTest("l3v1", 1107 )); }
+//TEST(1108) { CHECK(RunTest("l3v1", 1108 )); } // AlgebraicRule
+TEST(1109) { CHECK(RunTest("l3v1", 1109 )); }
+TEST(1110) { CHECK(RunTest("l3v1", 1110 )); }
+TEST(1111) { CHECK(RunTest("l3v1", 1111 )); }
+TEST(1112) { CHECK(RunTest("l3v1", 1112 )); }
+TEST(1113) { CHECK(RunTest("l3v1", 1113 )); }
+TEST(1114) { CHECK(RunTest("l3v1", 1114 )); }
+TEST(1115) { CHECK(RunTest("l3v1", 1115 )); }
+TEST(1116) { CHECK(RunTest("l3v1", 1116 )); }
+TEST(1117) { CHECK(RunTest("l3v1", 1117 )); }
+TEST(1118) { CHECK(RunTest("l3v1", 1118 )); }
+TEST(1119) { CHECK(RunTest("l3v1", 1119 )); }
+TEST(1120) { CHECK(RunTest("l3v1", 1120 )); }
+TEST(1121) { CHECK(RunTest("l3v1", 1121 )); }
+TEST(1122) { CHECK(RunTest("l3v1", 1122 )); }
+TEST(1123) { CHECK(RunTest("l3v1", 1123 )); }
+/*
+ * Tests 1124 -> 1183 use the hierarchical composition extension.
+ * They are included in the SBML_TEST_SUITE_COMP set, below.
+ */
+TEST(1184) { CHECK(RunTest("l3v1", 1184 )); }
+TEST(1185) { CHECK(RunTest("l3v1", 1185 )); }
+/*
+ * Tests 1186 -> 1196 use the FBC extension.
+ * They are included in the SBML_TEST_SUITE_FBC set, below.
+ */
+}
+
+
+/**
+ * The original test suite used for Valgrind testing
+ */
+SUITE(SBML_TEST_SUITE_VG1)
+{
+    TEST(15)  { CHECK(RunTest("l2v4", 15)); }
+    TEST(16)  { CHECK(RunTest("l2v4", 16)); }
+    TEST(18)  { CHECK(RunTest("l2v4", 18)); }
+    TEST(19)  { CHECK(RunTest("l2v4", 19)); }
+    TEST(27)  { CHECK(RunTest("l2v4", 27)); }
+    TEST(29)  { CHECK(RunTest("l2v4", 29)); }
+    TEST(31)  { CHECK(RunTest("l2v4", 31)); }
+    TEST(889) { CHECK(RunTest("l2v4", 889)); }
+    TEST(890) { CHECK(RunTest("l2v4", 890)); }
+    TEST(891) { CHECK(RunTest("l2v4", 891)); }
+    TEST(892) { CHECK(RunTest("l2v4", 892)); }
+    TEST(893) { CHECK(RunTest("l2v4", 893)); }
+    TEST(894) { CHECK(RunTest("l2v4", 894)); }
+    TEST(895) { CHECK(RunTest("l2v4", 895)); }
+    TEST(896) { CHECK(RunTest("l2v4", 896)); }
+    TEST(952) { CHECK(RunTest("l3v1", 952)); }
+    TEST(408) { CHECK(RunTest("l2v4", 408)); }
+    // TEST(1183) { CHECK(RunTest("l3v1", 1183 )); } This has comp extension,
+    // which leaks like a pig so its useless for testing.
+}
+
+/**
+ * another suite with more rate rules
+ */
+SUITE(SBML_TEST_SUITE_VG2)
+{
+    TEST(953) { CHECK(RunTest("l3v1", 953)); }
+    //TEST(17)    { CHECK(RunTest("l2v4", 17));    }
+    //TEST(32)    { CHECK(RunTest("l2v4", 32));    }
+    //TEST(86)    { CHECK(RunTest("l2v4", 86));    }
+    //TEST(165)   { CHECK(RunTest("l2v4", 165));   }
+    //TEST(889)   { CHECK(RunTest("l2v4", 889));   }
+    //TEST(1046)  { CHECK(RunTest("l3v1", 1046 )); }
+}
+
+
+SUITE(SBML_TEST_SUITE_RATE_RULES)
+{
+   TEST(31)  { CHECK(RunTest("l2v4", 31)); }
+   TEST(32)  { CHECK(RunTest("l2v4", 32)); }
+   TEST(33)  { CHECK(RunTest("l2v4", 33)); }
+   //TEST(40)  { CHECK(RunTest("l2v4", 40)); }
+   TEST(51)  { CHECK(RunTest("l2v4", 51)); }
+   TEST(52)  { CHECK(RunTest("l2v4", 52)); }
+   TEST(53)  { CHECK(RunTest("l2v4", 53)); }
+   TEST(170)  { CHECK(RunTest("l2v4", 170)); }
+   TEST(185)  { CHECK(RunTest("l2v4", 185)); }
+   TEST(310)  { CHECK(RunTest("l2v4", 310)); }
+   TEST(316)  { CHECK(RunTest("l2v4", 316)); }
+   TEST(461)  { CHECK(RunTest("l2v4", 461)); }
+   TEST(712)  { CHECK(RunTest("l2v4", 712)); }
+}
+
+SUITE(SBML_TEST_SUITE_EVENTS)
+{
+    TEST(26) { CHECK(RunTest("l2v4", 26)); }
+    TEST(41) { CHECK(RunTest("l2v4", 41)); }
+    TEST(71) { CHECK(RunTest("l2v4", 71)); }
+    TEST(72) { CHECK(RunTest("l2v4", 72)); }
+    TEST(73) { CHECK(RunTest("l2v4", 73)); }
+    TEST(74) { CHECK(RunTest("l2v4", 74)); }
+
+    TEST(351) { CHECK(RunTest("l2v4", 351)); }
+    TEST(352) { CHECK(RunTest("l2v4", 352)); }
+    TEST(353) { CHECK(RunTest("l2v4", 353)); }
+    TEST(354) { CHECK(RunTest("l2v4", 354)); }
+    TEST(355) { CHECK(RunTest("l2v4", 355)); }
+    TEST(356) { CHECK(RunTest("l2v4", 356)); }
+    TEST(357) { CHECK(RunTest("l2v4", 357)); }
+    TEST(358) { CHECK(RunTest("l2v4", 358)); }
+    TEST(359) { CHECK(RunTest("l2v4", 359)); }
+    TEST(360) { CHECK(RunTest("l2v4", 360)); }
+    TEST(361) { CHECK(RunTest("l2v4", 361)); }
+    TEST(362) { CHECK(RunTest("l2v4", 362)); }
+    TEST(363) { CHECK(RunTest("l2v4", 363)); }
+    TEST(364) { CHECK(RunTest("l2v4", 364)); }
+    TEST(365) { CHECK(RunTest("l2v4", 365)); }
+    TEST(366) { CHECK(RunTest("l2v4", 366)); }
+    TEST(367) { CHECK(RunTest("l2v4", 367)); }
+    TEST(368) { CHECK(RunTest("l2v4", 368)); }
+    TEST(369) { CHECK(RunTest("l2v4", 369)); }
+    TEST(370) { CHECK(RunTest("l2v4", 370)); }
+    TEST(371) { CHECK(RunTest("l2v4", 371)); }
+    TEST(372) { CHECK(RunTest("l2v4", 372)); }
+    TEST(373) { CHECK(RunTest("l2v4", 373)); }
+    TEST(374) { CHECK(RunTest("l2v4", 374)); }
+    TEST(375) { CHECK(RunTest("l2v4", 375)); }
+    TEST(376) { CHECK(RunTest("l2v4", 376)); }
+    TEST(377) { CHECK(RunTest("l2v4", 377)); }
+    TEST(378) { CHECK(RunTest("l2v4", 378)); }
+    TEST(379) { CHECK(RunTest("l2v4", 379)); }
+    TEST(380) { CHECK(RunTest("l2v4", 380)); }
+    TEST(381) { CHECK(RunTest("l2v4", 381)); }
+    TEST(382) { CHECK(RunTest("l2v4", 382)); }
+    TEST(383) { CHECK(RunTest("l2v4", 383)); }
+    TEST(384) { CHECK(RunTest("l2v4", 384)); }
+    TEST(385) { CHECK(RunTest("l2v4", 385)); }
+    TEST(386) { CHECK(RunTest("l2v4", 386)); }
+    TEST(387) { CHECK(RunTest("l2v4", 387)); }
+    TEST(388) { CHECK(RunTest("l2v4", 388)); }
+    TEST(389) { CHECK(RunTest("l2v4", 389)); }
+    TEST(390) { CHECK(RunTest("l2v4", 390)); }
+    TEST(391) { CHECK(RunTest("l2v4", 391)); }
+    TEST(392) { CHECK(RunTest("l2v4", 392)); }
+    TEST(393) { CHECK(RunTest("l2v4", 393)); }
+    TEST(394) { CHECK(RunTest("l2v4", 394)); }
+    TEST(395) { CHECK(RunTest("l2v4", 395)); }
+    TEST(396) { CHECK(RunTest("l2v4", 396)); }
+    TEST(397) { CHECK(RunTest("l2v4", 397)); }
+    TEST(398) { CHECK(RunTest("l2v4", 398)); }
+    TEST(399) { CHECK(RunTest("l2v4", 399)); }
+    TEST(400) { CHECK(RunTest("l2v4", 400)); }
+    TEST(401) { CHECK(RunTest("l2v4", 401)); }
+    TEST(402) { CHECK(RunTest("l2v4", 402)); }
+    TEST(403) { CHECK(RunTest("l2v4", 403)); }
+    TEST(404) { CHECK(RunTest("l2v4", 404)); }
+    TEST(405) { CHECK(RunTest("l2v4", 405)); }
+    TEST(406) { CHECK(RunTest("l2v4", 406)); }
+    TEST(407) { CHECK(RunTest("l2v4", 407)); }
+    TEST(408) { CHECK(RunTest("l2v4", 408)); }
+    TEST(409) { CHECK(RunTest("l2v4", 409)); }
+    TEST(410) { CHECK(RunTest("l2v4", 410)); }
+    TEST(411) { CHECK(RunTest("l2v4", 411)); }
+    TEST(412) { CHECK(RunTest("l2v4", 412)); }
+    TEST(413) { CHECK(RunTest("l2v4", 413)); }
+    TEST(414) { CHECK(RunTest("l2v4", 414)); }
+    TEST(415) { CHECK(RunTest("l2v4", 415)); }
+    TEST(416) { CHECK(RunTest("l2v4", 416)); }
+    TEST(417) { CHECK(RunTest("l2v4", 417)); }
+    TEST(418) { CHECK(RunTest("l2v4", 418)); }
+    TEST(419) { CHECK(RunTest("l2v4", 419)); }
+    TEST(420) { CHECK(RunTest("l2v4", 420)); }
+    TEST(421) { CHECK(RunTest("l2v4", 421)); }
+    TEST(422) { CHECK(RunTest("l2v4", 422)); }
+    TEST(423) { CHECK(RunTest("l2v4", 423)); }
+    TEST(424) { CHECK(RunTest("l2v4", 424)); }
+    TEST(425) { CHECK(RunTest("l2v4", 425)); }
+    TEST(426) { CHECK(RunTest("l2v4", 426)); }
+    TEST(427) { CHECK(RunTest("l2v4", 427)); }
+    TEST(428) { CHECK(RunTest("l2v4", 428)); }
+    TEST(429) { CHECK(RunTest("l2v4", 429)); }
+    TEST(430) { CHECK(RunTest("l2v4", 430)); }
+    TEST(431) { CHECK(RunTest("l2v4", 431)); }
+    TEST(432) { CHECK(RunTest("l2v4", 432)); }
+    TEST(433) { CHECK(RunTest("l2v4", 433)); }
+    TEST(434) { CHECK(RunTest("l2v4", 434)); }
+    TEST(435) { CHECK(RunTest("l2v4", 435)); }
+    TEST(436) { CHECK(RunTest("l2v4", 436)); }
+    TEST(437) { CHECK(RunTest("l2v4", 437)); }
+    TEST(438) { CHECK(RunTest("l2v4", 438)); }
+    TEST(439) { CHECK(RunTest("l2v4", 439)); }
+    TEST(440) { CHECK(RunTest("l2v4", 440)); }
+    TEST(441) { CHECK(RunTest("l2v4", 441)); }
+    TEST(442) { CHECK(RunTest("l2v4", 442)); }
+    TEST(443) { CHECK(RunTest("l2v4", 443)); }
+    TEST(444) { CHECK(RunTest("l2v4", 444)); }
+    TEST(445) { CHECK(RunTest("l2v4", 445)); }
+    TEST(446) { CHECK(RunTest("l2v4", 446)); }
+    TEST(447) { CHECK(RunTest("l2v4", 447)); }
+    TEST(448) { CHECK(RunTest("l2v4", 448)); }
+    TEST(449) { CHECK(RunTest("l2v4", 449)); }
+    TEST(450) { CHECK(RunTest("l2v4", 450)); }
+    TEST(451) { CHECK(RunTest("l2v4", 451)); }
+    TEST(452) { CHECK(RunTest("l2v4", 452)); }
+    TEST(453) { CHECK(RunTest("l2v4", 453)); }
+    TEST(454) { CHECK(RunTest("l2v4", 454)); }
+    TEST(455) { CHECK(RunTest("l2v4", 455)); }
+    TEST(456) { CHECK(RunTest("l2v4", 456)); }
+    TEST(457) { CHECK(RunTest("l2v4", 457)); }
+    TEST(458) { CHECK(RunTest("l2v4", 458)); }
+    TEST(459) { CHECK(RunTest("l2v4", 459)); }
+    TEST(460) { CHECK(RunTest("l2v4", 460)); }
+    TEST(461) { CHECK(RunTest("l2v4", 461)); }
+    TEST(619) { CHECK(RunTest("l2v4", 619)); }
+    TEST(620) { CHECK(RunTest("l2v4", 620)); }
+    TEST(621) { CHECK(RunTest("l2v4", 621)); }
+    TEST(622) { CHECK(RunTest("l2v4", 622)); }
+    TEST(623) { CHECK(RunTest("l2v4", 623)); }
+    TEST(624) { CHECK(RunTest("l2v4", 624)); }
+    TEST(634) { CHECK(RunTest("l2v4", 634)); }
+    TEST(635) { CHECK(RunTest("l2v4", 635)); }
+    TEST(636) { CHECK(RunTest("l2v4", 636)); }
+    TEST(637) { CHECK(RunTest("l2v4", 637)); }
+    TEST(638) { CHECK(RunTest("l2v4", 638)); }
+    TEST(639) { CHECK(RunTest("l2v4", 639)); }
+    TEST(646) { CHECK(RunTest("l2v4", 646)); }
+    TEST(647) { CHECK(RunTest("l2v4", 647)); }
+    TEST(648) { CHECK(RunTest("l2v4", 648)); }
+    TEST(649) { CHECK(RunTest("l2v4", 649)); }
+    TEST(650) { CHECK(RunTest("l2v4", 650)); }
+    TEST(651) { CHECK(RunTest("l2v4", 651)); }
+    TEST(652) { CHECK(RunTest("l2v4", 652)); }
+    TEST(653) { CHECK(RunTest("l2v4", 653)); }
+    TEST(654) { CHECK(RunTest("l2v4", 654)); }
+    TEST(655) { CHECK(RunTest("l2v4", 655)); }
+    TEST(656) { CHECK(RunTest("l2v4", 656)); }
+    TEST(657) { CHECK(RunTest("l2v4", 657)); }
+    TEST(679) { CHECK(RunTest("l2v4", 679)); }
+    TEST(680) { CHECK(RunTest("l2v4", 680)); }
+    TEST(681) { CHECK(RunTest("l2v4", 681)); }
+    TEST(682) { CHECK(RunTest("l2v4", 682)); }
+    TEST(683) { CHECK(RunTest("l2v4", 683)); }
+    TEST(684) { CHECK(RunTest("l2v4", 684)); }
+    TEST(689) { CHECK(RunTest("l2v4", 689)); }
+    TEST(690) { CHECK(RunTest("l2v4", 690)); }
+    TEST(700) { CHECK(RunTest("l2v4", 700)); }
+    TEST(701) { CHECK(RunTest("l2v4", 701)); }
+    TEST(702) { CHECK(RunTest("l2v4", 702)); }
+    TEST(707) { CHECK(RunTest("l2v4", 707)); }
+    TEST(708) { CHECK(RunTest("l2v4", 708)); }
+    TEST(723) { CHECK(RunTest("l2v4", 723)); }
+    TEST(724) { CHECK(RunTest("l2v4", 724)); }
+    TEST(730) { CHECK(RunTest("l2v4", 730)); }
+    TEST(731) { CHECK(RunTest("l2v4", 731)); }
+    TEST(736) { CHECK(RunTest("l2v4", 736)); }
+    TEST(737) { CHECK(RunTest("l2v4", 737)); }
+    TEST(743) { CHECK(RunTest("l2v4", 743)); }
+    TEST(744) { CHECK(RunTest("l2v4", 744)); }
+    TEST(745) { CHECK(RunTest("l2v4", 745)); }
+    TEST(746) { CHECK(RunTest("l2v4", 746)); }
+    TEST(747) { CHECK(RunTest("l2v4", 747)); }
+    TEST(748) { CHECK(RunTest("l2v4", 748)); }
+    TEST(749) { CHECK(RunTest("l2v4", 749)); }
+    TEST(750) { CHECK(RunTest("l2v4", 750)); }
+    TEST(751) { CHECK(RunTest("l2v4", 751)); }
+    TEST(752) { CHECK(RunTest("l2v4", 752)); }
+    TEST(753) { CHECK(RunTest("l2v4", 753)); }
+    TEST(754) { CHECK(RunTest("l2v4", 754)); }
+    TEST(755) { CHECK(RunTest("l2v4", 755)); }
+    TEST(756) { CHECK(RunTest("l2v4", 756)); }
+    TEST(757) { CHECK(RunTest("l2v4", 757)); }
+    TEST(758) { CHECK(RunTest("l2v4", 758)); }
+    TEST(759) { CHECK(RunTest("l2v4", 759)); }
+ //TEST(760) { CHECK(RunTest("l2v4", 760)); } // AlgebraicRule
+ //TEST(761) { CHECK(RunTest("l2v4", 761)); } // AlgebraicRule
+ //TEST(762) { CHECK(RunTest("l2v4", 762)); } // AlgebraicRule
+    TEST(763) { CHECK(RunTest("l2v4", 763)); }
+    TEST(764) { CHECK(RunTest("l2v4", 764)); }
+    TEST(765) { CHECK(RunTest("l2v4", 765)); }
+    TEST(766) { CHECK(RunTest("l2v4", 766)); }
+    TEST(767) { CHECK(RunTest("l2v4", 767)); }
+    TEST(768) { CHECK(RunTest("l2v4", 768)); }
+    TEST(769) { CHECK(RunTest("l2v4", 769)); }
+    TEST(770) { CHECK(RunTest("l2v4", 770)); }
+    TEST(771) { CHECK(RunTest("l2v4", 771)); }
+    TEST(772) { CHECK(RunTest("l2v4", 772)); }
+    TEST(773) { CHECK(RunTest("l2v4", 773)); }
+    TEST(774) { CHECK(RunTest("l2v4", 774)); }
+    TEST(775) { CHECK(RunTest("l2v4", 775)); }
+    TEST(776) { CHECK(RunTest("l2v4", 776)); }
+
+    TEST(933) { CHECK(RunTest("l3v1", 933)); }
+    TEST(952) { CHECK(RunTest("l3v1", 952)); }
+    TEST(953) { CHECK(RunTest("l3v1", 953)); }
+    TEST(954) { CHECK(RunTest("l2v4", 954)); }
+    TEST(955) { CHECK(RunTest("l2v4", 955)); }
+    TEST(956) { CHECK(RunTest("l2v4", 956)); }
+    TEST(957) { CHECK(RunTest("l2v4", 957)); }
+    TEST(958) { CHECK(RunTest("l2v4", 958)); }
+    TEST(959) { CHECK(RunTest("l2v4", 959)); }
+    TEST(960) { CHECK(RunTest("l3v1", 960)); }
+    TEST(961) { CHECK(RunTest("l3v1", 961)); }
+    TEST(962) { CHECK(RunTest("l3v1", 962)); }
+
+
+    TEST(963) { CHECK(RunTest("l3v1", 963)); }
+    TEST(964) { CHECK(RunTest("l3v1", 964)); }
+    TEST(965) { CHECK(RunTest("l3v1", 965)); }
+    TEST(966) { CHECK(RunTest("l3v1", 966)); }
+    TEST(967) { CHECK(RunTest("l3v1", 967)); }
+    TEST(968) { CHECK(RunTest("l2v4", 968)); }
+}
+
+SUITE(SBML_TEST_SUITE_LONGTIME)
+{
+    TEST(964) { CHECK(RunTest("l3v1", 964)); }
+    TEST(952) { CHECK(RunTest("l3v1", 952)); }
+    TEST(953) { CHECK(RunTest("l3v1", 953)); }
+    TEST(954) { CHECK(RunTest("l2v4", 954)); }
+    TEST(963) { CHECK(RunTest("l3v1", 963)); }
+    TEST(221) { CHECK(RunTest("l2v4", 221)); }
+    TEST(831) { CHECK(RunTest("l2v4", 831)); }
+    TEST(326) { CHECK(RunTest("l2v4", 326)); }
+    TEST(430) { CHECK(RunTest("l2v4", 430)); }
+    TEST(110) { CHECK(RunTest("l2v4", 110)); }
+    TEST(1116){ CHECK(RunTest("l3v1", 1116 )); }
+    TEST(706) { CHECK(RunTest("l2v4", 706)); }
+    TEST(579) { CHECK(RunTest("l2v4", 579)); }
+    TEST(967) { CHECK(RunTest("l3v1", 967)); }
+    TEST(965) { CHECK(RunTest("l3v1", 965)); }
+    TEST(966) { CHECK(RunTest("l3v1", 966)); }
+}
+
+
+SUITE(SBML_TEST_SUITE_C_FAIL)
+{
+    TEST(39)  { CHECK_EQUAL(false, RunTest("l2v4", 39));  } // AlgebraicRule
+    TEST(40)  { CHECK_EQUAL(false, RunTest("l2v4", 40));  } // AlgebraicRule
+    TEST(182) { CHECK_EQUAL(false, RunTest("l2v4", 182)); } // AlgebraicRule
+    TEST(184) { CHECK_EQUAL(false, RunTest("l2v4", 184)); } // AlgebraicRule
+    TEST(531) { CHECK_EQUAL(false, RunTest("l2v4", 531)); } // AlgebraicRule
+    TEST(533) { CHECK_EQUAL(false, RunTest("l2v4", 533)); } // AlgebraicRule
+    TEST(534) { CHECK_EQUAL(false, RunTest("l2v4", 534)); } // AlgebraicRule
+    TEST(535) { CHECK_EQUAL(false, RunTest("l2v4", 535)); } // AlgebraicRule
+    TEST(536) { CHECK_EQUAL(false, RunTest("l2v4", 536)); } // AlgebraicRule
+    TEST(537) { CHECK_EQUAL(false, RunTest("l2v4", 537)); } // AlgebraicRule
+    TEST(538) { CHECK_EQUAL(false, RunTest("l2v4", 538)); } // AlgebraicRule
+    TEST(543) { CHECK_EQUAL(false, RunTest("l2v4", 543)); } // AlgebraicRule
+    TEST(546) { CHECK_EQUAL(false, RunTest("l2v4", 546)); } // AlgebraicRule
+    TEST(548) { CHECK_EQUAL(false, RunTest("l2v4", 548)); } // AlgebraicRule
+    TEST(549) { CHECK_EQUAL(false, RunTest("l2v4", 549)); } // AlgebraicRule
+    TEST(550) { CHECK_EQUAL(false, RunTest("l2v4", 550)); } // AlgebraicRule
+    TEST(551) { CHECK_EQUAL(false, RunTest("l2v4", 551)); } // AlgebraicRule
+    TEST(552) { CHECK_EQUAL(false, RunTest("l2v4", 552)); } // AlgebraicRule
+    TEST(553) { CHECK_EQUAL(false, RunTest("l2v4", 553)); } // AlgebraicRule
+    TEST(554) { CHECK_EQUAL(false, RunTest("l2v4", 554)); } // AlgebraicRule
+    TEST(555) { CHECK_EQUAL(false, RunTest("l2v4", 555)); } // AlgebraicRule
+    TEST(556) { CHECK_EQUAL(false, RunTest("l2v4", 556)); } // AlgebraicRule
+    TEST(557) { CHECK_EQUAL(false, RunTest("l2v4", 557)); } // AlgebraicRule
+    TEST(558) { CHECK_EQUAL(false, RunTest("l2v4", 558)); } // AlgebraicRule
+    TEST(559) { CHECK_EQUAL(false, RunTest("l2v4", 559)); } // AlgebraicRule
+    TEST(560) { CHECK_EQUAL(false, RunTest("l2v4", 560)); } // AlgebraicRule
+    TEST(561) { CHECK_EQUAL(false, RunTest("l2v4", 561)); } // AlgebraicRule
+    TEST(562) { CHECK_EQUAL(false, RunTest("l2v4", 562)); } // AlgebraicRule
+    TEST(563) { CHECK_EQUAL(false, RunTest("l2v4", 563)); } // AlgebraicRule
+    TEST(564) { CHECK_EQUAL(false, RunTest("l2v4", 564)); } // AlgebraicRule
+    TEST(565) { CHECK_EQUAL(false, RunTest("l2v4", 565)); } // AlgebraicRule
+    TEST(566) { CHECK_EQUAL(false, RunTest("l2v4", 566)); } // AlgebraicRule
+    TEST(567) { CHECK_EQUAL(false, RunTest("l2v4", 567)); } // AlgebraicRule
+    TEST(569) { CHECK_EQUAL(false, RunTest("l2v4", 569)); } // AlgebraicRule
+    TEST(570) { CHECK_EQUAL(false, RunTest("l2v4", 570)); } // AlgebraicRule
+    TEST(571) { CHECK_EQUAL(false, RunTest("l2v4", 571)); } // AlgebraicRule
+    TEST(573) { CHECK_EQUAL(false, RunTest("l2v4", 573)); } // AlgebraicRule
+    TEST(575) { CHECK_EQUAL(false, RunTest("l2v4", 575)); } // AlgebraicRule
+    TEST(576) { CHECK_EQUAL(false, RunTest("l2v4", 576)); } // AlgebraicRule
+
+    TEST(613) { CHECK_EQUAL(false, RunTest("l2v4", 613)); } // AlgebraicRule
+    TEST(614) { CHECK_EQUAL(false, RunTest("l2v4", 614)); } // AlgebraicRule
+    TEST(615) { CHECK_EQUAL(false, RunTest("l2v4", 615)); } // AlgebraicRule
+
+    TEST(628) { CHECK_EQUAL(false, RunTest("l2v4", 628)); } // AlgebraicRule
+    TEST(629) { CHECK_EQUAL(false, RunTest("l2v4", 629)); } // AlgebraicRule
+    TEST(630) { CHECK_EQUAL(false, RunTest("l2v4", 630)); } // AlgebraicRule
+
+    TEST(658) { CHECK_EQUAL(false, RunTest("l2v4", 658)); } // AlgebraicRule
+    TEST(659) { CHECK_EQUAL(false, RunTest("l2v4", 659)); } // AlgebraicRule
+    TEST(660) { CHECK_EQUAL(false, RunTest("l2v4", 660)); } // AlgebraicRule
+    TEST(661) { CHECK_EQUAL(false, RunTest("l2v4", 661)); } // AlgebraicRule
+    TEST(662) { CHECK_EQUAL(false, RunTest("l2v4", 662)); } // AlgebraicRule
+    TEST(663) { CHECK_EQUAL(false, RunTest("l2v4", 663)); } // AlgebraicRule
+    TEST(664) { CHECK_EQUAL(false, RunTest("l2v4", 664)); } // AlgebraicRule
+    TEST(665) { CHECK_EQUAL(false, RunTest("l2v4", 665)); } // AlgebraicRule
+    TEST(666) { CHECK_EQUAL(false, RunTest("l2v4", 666)); } // AlgebraicRule
+
+    TEST(673) { CHECK_EQUAL(false, RunTest("l2v4", 673)); } // AlgebraicRule
+    TEST(674) { CHECK_EQUAL(false, RunTest("l2v4", 674)); } // AlgebraicRule
+    TEST(675) { CHECK_EQUAL(false, RunTest("l2v4", 675)); } // AlgebraicRule
+
+    TEST(687) { CHECK_EQUAL(false, RunTest("l2v4", 687)); } // AlgebraicRule
+
+    TEST(695) { CHECK_EQUAL(false, RunTest("l2v4", 695)); } // AlgebraicRule
+    TEST(696) { CHECK_EQUAL(false, RunTest("l2v4", 696)); } // AlgebraicRule
+
+    TEST(705) { CHECK_EQUAL(false, RunTest("l2v4", 705)); } // AlgebraicRule
+
+    TEST(760) { CHECK_EQUAL(false, RunTest("l2v4", 760)); } // AlgebraicRule
+    TEST(761) { CHECK_EQUAL(false, RunTest("l2v4", 761)); } // AlgebraicRule
+    TEST(762) { CHECK_EQUAL(false, RunTest("l2v4", 762)); } // AlgebraicRule
+
+    TEST(777) { CHECK_EQUAL(false, RunTest("l2v4", 777)); } // AlgebraicRule
+    TEST(778) { CHECK_EQUAL(false, RunTest("l2v4", 778)); } // AlgebraicRule
+    TEST(779) { CHECK_EQUAL(false, RunTest("l2v4", 779)); } // AlgebraicRule
+    TEST(780) { CHECK_EQUAL(false, RunTest("l2v4", 780)); } // AlgebraicRule
+
+    TEST(844) { CHECK_EQUAL(false, RunTest("l2v4", 844)); } // AlgebraicRule
+
+    TEST(870) { CHECK_EQUAL(false, RunTest("l2v4", 870)); } // FastReaction
+    TEST(871) { CHECK_EQUAL(false, RunTest("l2v4", 871)); } // FastReaction
+    TEST(872) { CHECK_EQUAL(false, RunTest("l2v4", 872)); } // FastReaction
+    TEST(873) { CHECK_EQUAL(false, RunTest("l2v4", 873)); } // FastReaction
+    TEST(874) { CHECK_EQUAL(false, RunTest("l2v4", 874)); } // FastReaction
+    TEST(875) { CHECK_EQUAL(false, RunTest("l2v4", 875)); } // FastReaction
+    TEST(876) { CHECK_EQUAL(false, RunTest("l2v4", 876)); } // AlgebraicRule
+
+    TEST(937) { CHECK_EQUAL(false, RunTest("l2v4", 937)); } // CSymbolDelay
+    TEST(938) { CHECK_EQUAL(false, RunTest("l2v4", 938)); } // CSymbolDelay
+    TEST(939) { CHECK_EQUAL(false, RunTest("l2v4", 939)); } // CSymbolDelay
+    TEST(940) { CHECK_EQUAL(false, RunTest("l2v4", 940)); } // CSymbolDelay
+    TEST(941) { CHECK_EQUAL(false, RunTest("l2v4", 941)); } // CSymbolDelay
+    TEST(942) { CHECK_EQUAL(false, RunTest("l2v4", 942)); } // CSymbolDelay
+    TEST(943) { CHECK_EQUAL(false, RunTest("l2v4", 943)); } // CSymbolDelay
+
+    TEST(981)  { CHECK_EQUAL(false, RunTest("l3v1", 981  )); } // CSymbolDelay
+    TEST(982)  { CHECK_EQUAL(false, RunTest("l3v1", 982  )); } // CSymbolDelay
+    TEST(983)  { CHECK_EQUAL(false, RunTest("l3v1", 983  )); } // AlgebraicRule // CSymbolDelay
+    TEST(984)  { CHECK_EQUAL(false, RunTest("l3v1", 984  )); } // CSymbolDelay
+    TEST(985)  { CHECK_EQUAL(false, RunTest("l3v1", 985  )); } // CSymbolDelay
+    TEST(986)  { CHECK_EQUAL(false, RunTest("l3v1", 986  )); } // FastReaction
+    TEST(987)  { CHECK_EQUAL(false, RunTest("l3v1", 987  )); } // FastReaction
+    TEST(988)  { CHECK_EQUAL(false, RunTest("l3v1", 988  )); } // FastReaction
+
+    TEST(993)  { CHECK_EQUAL(false, RunTest("l2v4", 993  )); } // AlgebraicRule
+
+    TEST(1044) { CHECK_EQUAL(false, RunTest("l3v1", 1044 )); } // AlgebraicRule
+
+    TEST(1051) { CHECK_EQUAL(false, RunTest("l3v1", 1051 )); } // FastReaction
+    TEST(1052) { CHECK_EQUAL(false, RunTest("l3v1", 1052 )); } // FastReaction
+    TEST(1053) { CHECK_EQUAL(false, RunTest("l3v1", 1053 )); } // FastReaction
+    TEST(1054) { CHECK_EQUAL(false, RunTest("l3v1", 1054 )); } // AlgebraicRule
+
+    TEST(1083) { CHECK_EQUAL(false, RunTest("l3v1", 1083 )); } // AlgebraicRule
+    TEST(1084) { CHECK_EQUAL(false, RunTest("l3v1", 1084 )); } // AlgebraicRule
+    TEST(1085) { CHECK_EQUAL(false, RunTest("l3v1", 1085 )); } // AlgebraicRule
+    TEST(1086) { CHECK_EQUAL(false, RunTest("l3v1", 1086 )); } // AlgebraicRule
+
+    TEST(1108) { CHECK_EQUAL(false, RunTest("l3v1", 1108 )); } // AlgebraicRule
+
+    TEST(1142) { CHECK_EQUAL(false, RunTest("l3v1", 1142 )); } // AlgebraicRule // CSymbolDelay
+
+    TEST(1173) { CHECK_EQUAL(false, RunTest("l3v1", 1173 )); } // CSymbolDelay
+    TEST(1174) { CHECK_EQUAL(false, RunTest("l3v1", 1174 )); } // AlgebraicRule // CSymbolDelay
+}
+
+
+SUITE(SBML_TEST_SUITE_COMP)
+{
+TEST(1124) { CHECK(RunTest("l3v1", 1124 )); }
+TEST(1125) { CHECK(RunTest("l3v1", 1125 )); }
+TEST(1126) { CHECK(RunTest("l3v1", 1126 )); }
+TEST(1127) { CHECK(RunTest("l3v1", 1127 )); }
+TEST(1128) { CHECK(RunTest("l3v1", 1128 )); }
+TEST(1129) { CHECK(RunTest("l3v1", 1129 )); }
+TEST(1130) { CHECK(RunTest("l3v1", 1130 )); }
+TEST(1131) { CHECK(RunTest("l3v1", 1131 )); }
+TEST(1132) { CHECK(RunTest("l3v1", 1132 )); }
+TEST(1133) { CHECK(RunTest("l3v1", 1133 )); }
+TEST(1134) { CHECK(RunTest("l3v1", 1134 )); }
+TEST(1135) { CHECK(RunTest("l3v1", 1135 )); }
+TEST(1136) { CHECK(RunTest("l3v1", 1136 )); }
+TEST(1137) { CHECK(RunTest("l3v1", 1137 )); }
+TEST(1138) { CHECK(RunTest("l3v1", 1138 )); }
+TEST(1139) { CHECK(RunTest("l3v1", 1139 )); }
+TEST(1140) { CHECK(RunTest("l3v1", 1140 )); }
+TEST(1141) { CHECK(RunTest("l3v1", 1141 )); }
+//TEST(1142) { CHECK(RunTest("l3v1", 1142 )); } // AlgebraicRule // CSymbolDelay
+TEST(1143) { CHECK(RunTest("l3v1", 1143 )); }
+TEST(1144) { CHECK(RunTest("l3v1", 1144 )); }
+TEST(1145) { CHECK(RunTest("l3v1", 1145 )); }
+TEST(1146) { CHECK(RunTest("l3v1", 1146 )); }
+TEST(1147) { CHECK(RunTest("l3v1", 1147 )); }
+TEST(1148) { CHECK(RunTest("l3v1", 1148 )); }
+TEST(1149) { CHECK(RunTest("l3v1", 1149 )); }
+TEST(1150) { CHECK(RunTest("l3v1", 1150 )); }
+TEST(1151) { CHECK(RunTest("l3v1", 1151 )); }
+TEST(1152) { CHECK(RunTest("l3v1", 1152 )); }
+TEST(1153) { CHECK(RunTest("l3v1", 1153 )); }
+TEST(1154) { CHECK(RunTest("l3v1", 1154 )); }
+TEST(1155) { CHECK(RunTest("l3v1", 1155 )); }
+TEST(1156) { CHECK(RunTest("l3v1", 1156 )); }
+TEST(1157) { CHECK(RunTest("l3v1", 1157 )); }
+TEST(1158) { CHECK(RunTest("l3v1", 1158 )); }
+TEST(1159) { CHECK(RunTest("l3v1", 1159 )); }
+TEST(1160) { CHECK(RunTest("l3v1", 1160 )); }
+TEST(1161) { CHECK(RunTest("l3v1", 1161 )); }
+TEST(1162) { CHECK(RunTest("l3v1", 1162 )); }
+TEST(1163) { CHECK(RunTest("l3v1", 1163 )); }
+TEST(1164) { CHECK(RunTest("l3v1", 1164 )); }
+TEST(1165) { CHECK(RunTest("l3v1", 1165 )); }
+TEST(1166) { CHECK(RunTest("l3v1", 1166 )); }
+TEST(1167) { CHECK(RunTest("l3v1", 1167 )); }
+TEST(1168) { CHECK(RunTest("l3v1", 1168 )); }
+TEST(1169) { CHECK(RunTest("l3v1", 1169 )); }
+TEST(1170) { CHECK(RunTest("l3v1", 1170 )); }
+TEST(1171) { CHECK(RunTest("l3v1", 1171 )); }
+TEST(1172) { CHECK(RunTest("l3v1", 1172 )); }
+//TEST(1173) { CHECK(RunTest("l3v1", 1173 )); } // CSymbolDelay
+//TEST(1174) { CHECK(RunTest("l3v1", 1174 )); } // AlgebraicRule // CSymbolDelay
+TEST(1175) { CHECK(RunTest("l3v1", 1175 )); }
+TEST(1176) { CHECK(RunTest("l3v1", 1176 )); } // CSymbolDelay
+TEST(1177) { CHECK(RunTest("l3v1", 1177 )); }
+TEST(1178) { CHECK(RunTest("l3v1", 1178 )); }
+TEST(1179) { CHECK(RunTest("l3v1", 1179 )); }
+TEST(1180) { CHECK(RunTest("l3v1", 1180 )); }
+TEST(1181) { CHECK(RunTest("l3v1", 1181 )); }
+TEST(1182) { CHECK(RunTest("l3v1", 1182 )); }
+TEST(1183) { CHECK(RunTest("l3v1", 1183 )); }
+TEST(1184) { CHECK(RunTest("l3v1", 1184 )); }
+TEST(1185) { CHECK(RunTest("l3v1", 1185 )); }
+}
+
+SUITE(SBML_TEST_SUITE_FBC)
+{
+TEST(1186) { CHECK(RunTest("l3v1", 1186 )); } // FBC
+TEST(1187) { CHECK(RunTest("l3v1", 1187 )); } // FBC
+TEST(1188) { CHECK(RunTest("l3v1", 1188 )); } // FBC
+TEST(1189) { CHECK(RunTest("l3v1", 1189 )); } // FBC
+TEST(1190) { CHECK(RunTest("l3v1", 1190 )); } // FBC
+TEST(1191) { CHECK(RunTest("l3v1", 1191 )); } // FBC
+TEST(1192) { CHECK(RunTest("l3v1", 1192 )); } // FBC
+TEST(1193) { CHECK(RunTest("l3v1", 1193 )); } // FBC
+TEST(1194) { CHECK(RunTest("l3v1", 1194 )); } // FBC
+TEST(1195) { CHECK(RunTest("l3v1", 1195 )); } // FBC
+TEST(1196) { CHECK(RunTest("l3v1", 1196 )); } // FBC
+}
diff --git a/wrappers/C/Testing/Suite_TestModel.cpp b/wrappers/C/Testing/Suite_TestModel.cpp
new file mode 100644
index 0000000..848b475
--- /dev/null
+++ b/wrappers/C/Testing/Suite_TestModel.cpp
@@ -0,0 +1,1945 @@
+#include <string>
+#include "Suite_TestModel.h"
+#include "unit_test/UnitTest++.h"
+#include "rrConfig.h"
+#include "rrIniFile.h"
+#include "rrLogger.h"
+#include "rrRoadRunner.h"
+#include "rrUtils.h"
+#include "rrc_api.h"
+#include "rrc_cpp_support.h"
+#include "src/TestUtils.h"
+#include <algorithm>
+
+#include "Poco/Path.h"
+#include "Poco/Glob.h"
+
+//using..
+using namespace std;
+using namespace UnitTest;
+using namespace ls;
+using namespace rrc;
+using namespace rr;
+
+extern string gTempFolder;
+extern string gTestDataFolder;
+extern string gCompiler;
+
+string Trim(const string& input)
+{
+  string ret = trim(input, '\n');
+  if (!ret.empty() && ret[0] == '"' && ret[ret.size()-1]=='"')
+  {
+    ret = ret.replace(0,1,"");
+    ret = ret.replace(ret.size()-1, 1, "");
+  }
+  return ret;
+}
+
+void compareJacobians(RRHandle gRR)
+{
+  RoadRunner* rri = castToRoadRunner(gRR);
+  ls::DoubleMatrix    jFull     = rri->getFullJacobian();
+  ls::DoubleMatrix    jReduced  = rri->getReducedJacobian();
+
+  //Check dimensions
+  if(jFull.RSize() != jReduced.RSize() ||
+    jFull.CSize() != jReduced.CSize())
+  {
+    CHECK(false);
+    return;
+  }
+
+  for(int row = 0; row < jFull.RSize(); row++)
+  {
+    for(int col = 0; col < jFull.CSize(); col++)
+    {
+      CHECK_CLOSE(jFull(row, col), jReduced(row, col), 1e-6);
+    }
+  }
+}
+
+void compareMatrices(const ls::DoubleMatrix& ref, const ls::DoubleMatrix& calc)
+{
+    clog << "Reference Matrix:" << endl;
+    clog << ref << endl;
+
+    clog << "Calculated Matrix:" << endl;
+    clog << calc << endl;
+
+    if ((calc.RSize() != ref.RSize()) || (calc.CSize() != ref.CSize()))
+    {
+        CHECK(false);
+        return;
+    }
+
+    for (int i = 0; i < ref.RSize(); i++)
+    {
+        for (int j = 0; j < ref.CSize(); j++)
+        {
+            if (abs(ref(i, j) - calc(i, j)) > abs((ref(i,j)+1e-7)*1e-4))
+              clog <<  "check close failed zzxx\n";
+            CHECK_CLOSE(ref(i, j), calc(i, j), abs((ref(i,j)+1e-7)*1e-4));
+        }
+    }
+}
+
+
+void compareMatrices(const ls::DoubleMatrix& ref, const std::vector<ls::Complex> calc)
+{
+    clog<<"Reference Matrix:" << endl;
+    clog<<ref<<endl;
+
+    clog<<"Calculated Matrix:" << endl;
+    for(int i = 0; i < calc.size(); ++i)
+    {
+        clog << calc[i] << endl;
+    }
+
+    if((ref.CSize() != 2) || (calc.size() != ref.RSize()))
+    {
+        CHECK(false);
+        return;
+    }
+
+    for(int i = 0 ; i < ref.RSize(); i++)
+    {
+        CHECK_CLOSE(ref(i,0), std::real(calc[i]), abs((ref(i,0)+1e-7)*1e-4));
+        CHECK_CLOSE(ref(i,1), std::imag(calc[i]), abs((ref(i,1)+1e-7)*1e-4));
+    }
+}
+
+void compareMatrices(const ls::DoubleMatrix& ref, RRDoubleMatrixPtr calc)
+{
+    if(!calc)
+    {
+      CHECK(false);
+      return;
+    }
+
+    clog<<"Reference Matrix:\n";
+    clog<<ref<<endl;
+
+    clog<<"Calculated Matrix:";
+    clog<<matrixToString(calc);
+
+    if(!calc || calc->RSize != ref.RSize())
+    {
+      CHECK(false);
+      return;
+    }
+
+    if(!calc || calc->CSize != ref.CSize())
+    {
+      CHECK(false);
+      return;
+    }
+
+    for(int i = 0 ; i < ref.RSize(); i++)
+    {
+      for(int j=0; j < ref.CSize(); j++)
+      {
+        double val;
+        if(!getMatrixElement(calc, i , j, &val))
+        {
+          CHECK(false);
+        }
+        CHECK_CLOSE(ref(i,j), val, abs((val+1e-7)*1e-4));
+      }
+    }
+}
+
+void trySteadyState(RRHandle& gRR)
+{
+    double val;
+    for (int i=0; i<10; i++)
+    {
+        CHECK( steadyState(gRR, &val));
+        if (val<1e-5) break;
+    }
+    CHECK_CLOSE(0, val, 1e-5);
+}
+
+int findCloseTimepoint(const DoubleMatrix* m, double t, double tol)
+{
+    for(int i=0; i<m->RSize(); ++i) {
+        if (abs((*m)(i,0) - t) <= tol)
+            return i;
+    }
+    return -1;
+}
+
+//These tests are intended to duplicate the Python tests
+SUITE(TEST_MODEL)
+{
+    // the current test data file that the test suite is using.
+    string TestDataFileName;
+
+    // the current ini file that the test suite is using.
+    IniFile iniFile;
+
+    // global RoadRunner ptr
+    RRHandle gRR = NULL;
+
+    std::set<std::string> getTestFiles(const std::string& dir)
+    {
+        Poco::Path path;
+
+        if(dir.length() == 0)
+        {
+            // default testing dir
+            // path of current prog
+            string prog = rr::getCurrentExeFolder();
+
+            Log(Logger::LOG_NOTICE) << "prog: " << prog;
+
+            path = Poco::Path(prog);
+
+            Log(Logger::LOG_NOTICE) << "path: " << path.toString();
+
+            path.makeParent();
+
+
+            Log(Logger::LOG_NOTICE) << "popdir: " << path.toString();
+
+            path.pushDirectory("testing");
+        }
+        else
+        {
+            path = Poco::Path(dir + "\\");
+        }
+
+        path.makeAbsolute();
+
+        Log(Logger::LOG_WARNING) << "Looking in " << path.toString() << " for test files";
+
+//         path.setFileName("*.rrtest");
+
+//         std::set<std::string> files;
+
+//         Poco::Glob::glob(path, files);
+
+        const char* rrtest_files[] = {
+          "Bimolecular_end.rrtest",
+          "Comp.rrtest",
+          "Conserved_Cycle_and_Branch.rrtest",
+          "Conserved_Cycle.rrtest",
+          "Cycle_across_branches.rrtest",
+          "Cycle.rrtest",
+          "Cycle_to_Input_and_Branch.rrtest",
+          "Four_Steps.rrtest",
+          "Futile_Cycle.rrtest",
+          "jacobian_1.rrtest",
+          "Multibranch1.rrtest",
+          "MultiBranch2.rrtest",
+          "oscli.rrtest",
+          "reversible_Jacobian.rrtest",
+          "Simple_Branch.rrtest",
+          "Test_1.rrtest",
+          "Test_2.rrtest",
+          "Test_3.rrtest",
+          "Three_Steps.rrtest",
+          "Two_Cycles.rrtest",
+          "Two_Steps.rrtest"
+//           "variable_time_step.rrtest"
+        };
+
+        std::set<std::string> result;
+
+        for(int n = 0; n < sizeof(rrtest_files) / sizeof(rrtest_files[0]); ++n) {
+            Poco::Path testfile(path);
+            testfile.append(rrtest_files[n]);
+            result.insert(testfile.toString());
+        }
+
+        return result;
+    }
+
+    void setTestFile(const std::string& filePath)
+    {
+        TestDataFileName = filePath;
+    }
+
+    TEST(DATA_FILES)
+    {
+        Log(Logger::LOG_NOTICE) << "Running Test Suite TEST_MODEL on " << TestDataFileName;
+
+        gRR = createRRInstanceEx(gTempFolder.c_str(), gCompiler.c_str());
+
+        // need to re-assign it, Load does not clear old data.;
+        iniFile.Clear();
+
+        CHECK(fileExists(TestDataFileName));
+        CHECK(iniFile.Load(TestDataFileName));
+
+        IniSection* sbmlsec = iniFile.GetSection("SBML");
+        if(!sbmlsec)
+        {
+            CHECK(false);
+            Log(Logger::LOG_FATAL) << "No 'SBML' section found in " << TestDataFileName;
+            return;
+        }
+        sbmlsec->mIsUsed = true;
+        string sbml = sbmlsec->GetNonKeysAsString();
+        if (sbml.find('<') == string::npos)
+        {
+            sbml = joinPath(gTestDataFolder, trim(sbml, '\n'));
+            CHECK(fileExists(sbml));
+        }
+        if(!loadSBMLEx(gRR, sbml.c_str(), true))
+        {
+            CHECK(false);
+            Log(Logger::LOG_FATAL) << "Unable to load SBML:" << endl << sbml;
+        }
+    }
+
+    TEST(SET_COMPUTE_AND_ASSIGN_CONSERVATION_LAWS)
+    {
+        CHECK(gRR!=NULL);
+        bool res = setComputeAndAssignConservationLaws(gRR, true);
+        CHECK(res);
+        clog<<"\nConservation laws: "<<res<<endl;
+    }
+
+    TEST(SET_STEADY_STATE_SELECTION_LIST)
+    {
+        CHECK(gRR!=NULL);
+
+        //Load reference data
+        IniSection* aSection = iniFile.GetSection("Set Steady State Selection List");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== SET_STEADY_STATE_SELECTION_LIST ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        bool res = setSteadyStateSelectionList(gRR, keys.c_str());
+        CHECK(res);
+
+        //Actually calculate the steady state:
+        trySteadyState(gRR);
+    }
+
+    TEST(GET_STEADY_STATE_SELECTION_LIST)
+    {
+        IniSection* aSection = iniFile.GetSection("Get Steady State Selection List");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_STEADY_STATE_SELECTION_LIST ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRStringArrayPtr list = getSteadyStateSelectionList(gRR);
+
+        if(!list)
+        {
+            CHECK(false);
+            return;
+        }
+        vector<string> selList = splitString(keys," ,");
+        if (selList.size() != list->Count)
+        {
+          CHECK(false);
+          freeStringArray(list);
+          return;
+        }
+        for(int i = 0; i < selList.size(); i++)
+        {
+            CHECK(selList[i] == list->String[i]);
+        }
+        freeStringArray(list);
+    }
+
+    TEST(SPECIES_CONCENTRATIONS)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Species Concentrations");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== SPECIES_CONCENTRATIONS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string valstr = Trim(aSection->GetNonKeysAsString());
+        vector<string> vals = splitString(valstr, " ");
+        for(int i = 0 ; i < vals.size(); i++)
+        {
+            double val;
+
+            //API Function getValue
+            if(!getValue(gRR, vals[i].c_str(), &val))
+            {
+                CHECK(false);
+            }
+
+            //Check concentrations
+            CHECK_CLOSE(toDouble(vals[i]), val, 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<vals[i]<<"\tActual:\t "<<val<<endl;
+        }
+    }
+
+    TEST(GET_SPECIES_INITIAL_CONCENTRATIONS)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Get Species Initial Concentrations");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_SPECIES_INITIAL_CONCENTRATIONS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            IniKey *aKey = aSection->GetKey(i);
+            double val;
+            if(!getValue(gRR, aKey->mKey.c_str(), &val))
+            {
+                CHECK(false);
+            }
+
+            //Check concentrations
+            CHECK_CLOSE(aKey->AsFloat(), val, 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<aKey->AsFloat()<<"\tActual:\t "<<val<<endl;
+        }
+    }
+
+    TEST(GET_SPECIES_INITIAL_CONCENTRATION_BY_INDEX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Get Species Initial Concentrations By Index");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_SPECIES_INITIAL_CONCENTRATION_BY_INDEX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string valstr = Trim(aSection->GetNonKeysAsString());
+        vector<string> vals = splitString(valstr, " ");
+        for(size_t i = 0 ; i < vals.size(); i++)
+        {
+            IniKey *aKey = aSection->GetKey(i);
+            double val;
+            if(!getFloatingSpeciesInitialConcentrationByIndex(gRR, i, &val))
+            {
+                CHECK(false);
+            }
+
+            //Check concentrations
+            CHECK_CLOSE(toDouble(vals[i]), val, 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<toDouble(vals[i])<<"\tActual:\t "<<val<<endl;
+        }
+    }
+
+    TEST(GET_INITIAL_FLOATING_SPECIES_CONCENTRATIONS)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Get Initial Floating Species Concs");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_INITIAL_FLOATING_SPECIES_CONCENTRATIONS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRVector* values = getFloatingSpeciesInitialConcentrations(gRR);
+
+        vector<string> refList = splitString(keys," ,");
+
+        if(!values || values->Count != refList.size())
+        {
+            CHECK(false);
+            freeVector(values);
+            return;
+        }
+
+        for(int i = 0 ; i < refList.size(); i++)
+        {
+
+            //Check concentrations
+            CHECK_CLOSE(toDouble(refList[i]), values->Data[i], 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<toDouble(refList[i])<<"\tActual:\t "<<values->Data[i]<<endl;
+        }
+        freeVector(values);
+    }
+
+    TEST(SET_SPECIES_INITIAL_CONCENTRATION_BY_INDEX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Set Species Initial Concentrations By Index");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== SET_SPECIES_INITIAL_CONCENTRATION_BY_INDEX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string valstr = Trim(aSection->GetNonKeysAsString());
+        vector<string> vals = splitString(valstr, " ");
+        for(size_t i = 0 ; i < vals.size(); i++)
+        {
+            //Set the value..
+            double newval = toDouble(vals[i]);
+            setFloatingSpeciesInitialConcentrationByIndex(gRR, i, newval);
+
+            double val;
+            //Read it back
+            if(!getFloatingSpeciesInitialConcentrationByIndex(gRR, i, &val))
+            {
+                CHECK(false);
+            }
+
+            //Check concentrations
+            CHECK_CLOSE(newval, val, 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<newval<<"\tActual:\t "<<val<<endl;
+        }
+    }
+
+    TEST(SET_SPECIES_INITIAL_CONCENTRATIONS)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Set Species Initial Concentrations");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== SET_SPECIES_INITIAL_CONCENTRATIONS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            IniKey *aKey = aSection->GetKey(i);
+
+            //Set the value..
+            setValue(gRR, aKey->mKey.c_str(), aKey->AsFloat());
+
+            double val;
+            //Read it back
+            if(!getValue(gRR, aKey->mKey.c_str(), &val))
+            {
+                CHECK(false);
+            }
+
+            //Check concentrations
+            CHECK_CLOSE(aKey->AsFloat(), val, 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<aKey->AsFloat()<<"\tActual:\t "<<val<<endl;
+        }
+
+        //We need to set back the values to concentrations, after running steady state..
+        reset(gRR);
+        trySteadyState(gRR);
+    }
+
+    TEST(STEADY_STATE_FLUXES)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Steady State Fluxes");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+
+        clog<< endl << "==== STEADY STATE FLUXES ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        trySteadyState(gRR);
+
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            IniKey *aKey = aSection->GetKey(i);
+            double val;
+
+            //API Function getValue
+            if(!getValue(gRR, aKey->mKey.c_str(), &val))
+            {
+                CHECK(false);
+            }
+
+            //Check concentrations
+            CHECK_CLOSE(aKey->AsFloat(), val, max(1e-9, abs(val*1e-5)));
+            clog<<"\n";
+            clog<<"Ref:\t"<<aKey->AsFloat()<<"\tActual:\t "<<val<<endl;
+        }
+    }
+
+    TEST(FULL_JACOBIAN)
+    {
+        IniSection* aSection = iniFile.GetSection("Full Jacobian");
+        if(!aSection)
+        {
+            return;
+        }
+        clog<< endl << "==== FULL JACOBIAN ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS);
+        RoadRunner* rri = castToRoadRunner(gRR);
+
+        ls::DoubleMatrix   jActual = rri->getFullJacobian();
+        ls::DoubleMatrix   jRef    = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+
+        compareMatrices(jRef, jActual);
+    }
+
+    TEST(REDUCED_JACOBIAN)
+    {
+        IniSection* aSection = iniFile.GetSection("Reduced Jacobian");
+        if(!aSection)
+        {
+            return;
+        }
+        clog<< endl << "==== REDUCED JACOBIAN ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS);
+        RoadRunner* rri = castToRoadRunner(gRR);
+
+        ls::DoubleMatrix   jActual = rri->getReducedJacobian();
+        ls::DoubleMatrix   jRef    = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+
+        compareMatrices(jRef, jActual);
+    }
+
+    TEST(AMOUNT_JACOBIAN)
+    {
+        IniSection* aSection = iniFile.GetSection("Amount Jacobian");
+        if(!aSection)
+        {
+            return;
+        }
+        clog<< endl << "==== AMOUNT JACOBIAN ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_AMOUNTS);
+        RoadRunner* rri = castToRoadRunner(gRR);
+
+        ls::DoubleMatrix   jActual = rri->getFullJacobian();
+        ls::DoubleMatrix   jRef    = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+
+        compareMatrices(jRef, jActual);
+    }
+
+    TEST(INDIVIDUAL_EIGENVALUES)
+    {
+        IniSection* aSection = iniFile.GetSection("Individual Eigenvalues");
+        if(!aSection)
+        {
+            return;
+        }
+        clog<< endl << "==== INDIVIDUAL_EIGENVALUES ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        RoadRunner* rri = castToRoadRunner(gRR);
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS);
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            IniKey *aKey = aSection->GetKey(i);
+            clog<<"\n";
+            clog<<"Ref_EigenValue: "<<aKey->mKey<<": "<<aKey->mValue<<endl;
+
+            string eigenValueLabel ="eigenReal(" + aKey->mKey + ")";
+            double val = rri->getValue(eigenValueLabel.c_str());
+
+            clog<<"EigenValue "<<i<<": "<<val<<endl;
+            CHECK_CLOSE(aKey->AsFloat(), val, abs(val*1e-4));
+        }
+    }
+
+    TEST(INDIVIDUAL_AMOUNT_EIGENVALUES)
+    {
+        IniSection* aSection = iniFile.GetSection("Individual Amount Eigenvalues");
+        if(!aSection)
+        {
+            return;
+        }
+        clog<< endl << "==== INDIVIDUAL AMOUNT EIGENVALUES ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_AMOUNTS);
+        RoadRunner* rri = castToRoadRunner(gRR);
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            IniKey *aKey = aSection->GetKey(i);
+            clog<<"\n";
+            clog<<"Ref_EigenValue: "<<aKey->mKey<<": "<<aKey->mValue<<endl;
+
+            string eigenValueLabel ="eigenReal(" + aKey->mKey + ")";
+            double val = rri->getValue(eigenValueLabel.c_str());
+
+            clog<<"EigenValue "<<i<<": "<<val<<endl;
+            CHECK_CLOSE(aKey->AsFloat(), val, 1e-5);
+        }
+    }
+
+    TEST(GET_EIGENVALUE_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        IniSection* aSection = iniFile.GetSection("Eigenvalue Matrix");
+
+        //Read in the reference data, from the ini file
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_EIGENVALUE_MATRIX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS);
+        RoadRunner* rri = castToRoadRunner(gRR);
+        ls::DoubleMatrix ref = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+        std::vector<ls::Complex> eigen = rri->getFullEigenValues();
+
+        compareMatrices(ref, eigen);
+    }
+
+
+    TEST(GET_EIGENVALUE_AMOUNT_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        IniSection* aSection = iniFile.GetSection("Eigenvalue Amount Matrix");
+
+        //Read in the reference data, from the ini file
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_EIGENVALUE AMOUNT MATRIX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_AMOUNTS);
+        RoadRunner* rri = castToRoadRunner(gRR);
+        ls::DoubleMatrix     ref = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+        std::vector<ls::Complex> eigen = rri->getFullEigenValues();
+
+        compareMatrices(ref, eigen);
+    }
+
+
+    TEST(GET_REDUCED_EIGENVALUE_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        IniSection* aSection = iniFile.GetSection("Reduced Eigenvalue Matrix");
+
+        //Read in the reference data, from the ini file
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_REDUCED_EIGENVALUE_MATRIX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS);
+        RoadRunner* rri = castToRoadRunner(gRR);
+        ls::DoubleMatrix     ref = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+        std::vector<ls::Complex>  eigen = rri->getReducedEigenValues();
+
+        compareMatrices(ref, eigen);
+    }
+
+
+    TEST(STOICHIOMETRY_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Stoichiometry Matrix");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== STOICHIOMETRY_MATRIX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        ls::DoubleMatrix     ref         = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+        RoadRunner* rri = castToRoadRunner(gRR);
+        ls::DoubleMatrix matrix = rri->getFullStoichiometryMatrix();
+        compareMatrices(ref, matrix);
+      }
+
+    TEST(REDUCED_STOICHIOMETRY_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Reduced Stoichiometry Matrix");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== REDUCED STOICHIOMETRY_MATRIX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        ls::DoubleMatrix     ref         = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+        RoadRunner* rri = castToRoadRunner(gRR);
+        ls::DoubleMatrix matrix = rri->getReducedStoichiometryMatrix();
+        compareMatrices(ref, matrix);
+      }
+
+    TEST(LINK_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Link Matrix");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== LINK_MATRIX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        ls::DoubleMatrix     ref         = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+
+        RRDoubleMatrixPtr matrix = getLinkMatrix(gRR);
+        compareMatrices(ref, matrix);
+        freeMatrix(matrix);
+      }
+
+    TEST(UNSCALED_ELASTICITY_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Unscaled Elasticity Matrix");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<<"\n==== UNSCALED_ELASTICITY_MATRIX ====\n\n";
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS);
+        RoadRunner* rri = castToRoadRunner(gRR);
+        //trySteadyState(gRR);
+        ls::DoubleMatrix     ref = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+        ls::DoubleMatrix  matrix = rri->getUnscaledElasticityMatrix();
+
+        compareMatrices(ref, matrix);
+      }
+
+    TEST(UNSCALED_ELASTICITY_AMOUNT_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Unscaled Elasticity Amount Matrix");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<<"\n==== UNSCALED_ELASTICITY_AMOUNT_MATRIX ====\n\n";
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_AMOUNTS);
+        RoadRunner* rri = castToRoadRunner(gRR);
+        //trySteadyState(gRR);
+        ls::DoubleMatrix     ref = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+        ls::DoubleMatrix  matrix = rri->getUnscaledElasticityMatrix();
+
+        compareMatrices(ref, matrix);
+      }
+
+    TEST(SCALED_ELASTICITY_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Scaled Elasticity Matrix");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<<"\n==== SCALED_ELASTICITY_MATRIX ====\n\n";
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS);
+        RoadRunner* rri = castToRoadRunner(gRR);
+        //trySteadyState(gRR);
+        ls::DoubleMatrix     ref = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+        ls::DoubleMatrix  matrix = rri->getScaledElasticityMatrix();
+
+        compareMatrices(ref, matrix);
+      }
+
+    TEST(SCALED_ELASTICITY_AMOUNT_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Scaled Elasticity Amount Matrix");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<<"\n==== SCALED_ELASTICITY_AMOUNT_MATRIX ====\n\n";
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_AMOUNTS);
+        RoadRunner* rri = castToRoadRunner(gRR);
+        //trySteadyState(gRR);
+        ls::DoubleMatrix     ref = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+        ls::DoubleMatrix  matrix = rri->getScaledElasticityMatrix();
+
+        compareMatrices(ref, matrix);
+      }
+
+    TEST(UNSCALED_CONCENTRATION_CONTROL_MATRIX)
+    {
+
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("UnScaled Concentration Control Matrix");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<<"\n==== UNSCALED_CONCENTRATION_CONTROL_MATRIX ====\n\n";
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS);
+
+        ls::DoubleMatrix     ref         = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+
+        RRDoubleMatrixPtr matrix = getUnscaledConcentrationControlCoefficientMatrix(gRR);
+        compareMatrices(ref, matrix);
+        freeMatrix(matrix);
+    }
+
+    TEST(SCALED_CONCENTRATION_CONTROL_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Scaled Concentration Control Matrix");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<<"\n==== SCALED_CONCENTRATION_CONTROL_MATRIX ====\n\n";
+        aSection->mIsUsed = true;
+
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS);
+
+        ls::DoubleMatrix     ref         = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+
+        RRDoubleMatrixPtr matrix = getScaledConcentrationControlCoefficientMatrix(gRR);
+        compareMatrices(ref, matrix);
+        freeMatrix(matrix);
+      }
+
+    TEST(UNSCALED_FLUX_CONTROL_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Unscaled Flux Control Matrix");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<<"\n==== UNSCALED_FLUX_CONTROL_MATRIX ====\n\n";
+        aSection->mIsUsed = true;
+
+        ls::DoubleMatrix     ref         = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+
+        RRDoubleMatrixPtr matrix = getUnscaledFluxControlCoefficientMatrix(gRR);
+        compareMatrices(ref, matrix);
+        freeMatrix(matrix);
+      }
+
+    TEST(SCALED_FLUX_CONTROL_MATRIX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Scaled Flux Control Matrix");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== SCALED_FLUX_CONTROL_MATRIX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        ls::DoubleMatrix     ref         = getDoubleMatrixFromString(aSection->GetNonKeysAsString());
+
+        RRDoubleMatrixPtr matrix = getScaledFluxControlCoefficientMatrix(gRR);
+        compareMatrices(ref, matrix);
+        freeMatrix(matrix);
+      }
+
+	TEST(GET_CONTROL_COEFFICIENT)
+	{
+		CHECK(gRR != NULL);
+
+		IniSection* aSection = iniFile.GetSection("Get Control Coefficient");
+		if (!aSection || !gRR)
+		{
+			return;
+		}
+		clog << endl << "==== GET_CONTROL_COEFFICIENT ====" << endl << endl;
+		aSection->mIsUsed = true;
+
+		string keys = Trim(aSection->GetNonKeysAsString());
+		vector<string> refList = splitString(keys, " ,");
+
+		const char* variable = refList[0].c_str();
+		const char* parameter = refList[1].c_str();
+		double value = toDouble(refList[2]);
+
+		getCC(gRR, variable, parameter, &value);
+
+		CHECK_CLOSE(toDouble(refList[2]), value, 1e-6);
+		clog << "\n";
+		clog << "Ref:\t" << toDouble(refList[2]) << "\tActual:\t " << value << endl;
+	}
+
+    TEST(FLOATING_SPECIES_IDS)
+    {
+        IniSection* aSection = iniFile.GetSection("Floating Species Ids");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== FLOATING_SPECIES_IDS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRStringArrayPtr list = getFloatingSpeciesIds(gRR);
+
+        vector<string> selList = splitString(keys," ,");
+
+        if(!list && selList.size())
+        {
+            CHECK(false);
+            return;
+        }
+        CHECK( (selList.size() == 0 && !list) || (selList.size() == list->Count) );
+        if (list) {
+            for(int i = 0; i < selList.size(); i++)
+            {
+                CHECK(selList[i] == list->String[i]);
+            }
+            freeStringArray(list);
+        }
+    }
+
+    TEST(BOUNDARY_SPECIES_IDS)
+    {
+        IniSection* aSection = iniFile.GetSection("Boundary Species Ids");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== BOUNDARY_SPECIES_IDS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRStringArrayPtr list = getBoundarySpeciesIds(gRR);
+
+        vector<string> selList = splitString(keys," ,");
+
+        if(!list && selList.size())
+        {
+            CHECK(false);
+            return;
+        }
+        CHECK( (selList.size() == 0 && !list) || (selList.size() == list->Count) );
+        if (list) {
+            for(int i = 0; i < selList.size(); i++)
+            {
+                CHECK(selList[i] == list->String[i]);
+            }
+            freeStringArray(list);
+        }
+    }
+
+    TEST(GLOBAL_PARAMETER_IDS)
+    {
+        IniSection* aSection = iniFile.GetSection("Global Parameter Ids");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GLOBAL_PARAMETER_IDS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRStringArrayPtr list = getGlobalParameterIds(gRR);
+
+        vector<string> selList = splitString(keys," ,");
+
+        if(!list && selList.size())
+        {
+            CHECK(false);
+            return;
+        }
+        CHECK( (selList.size() == 0 && !list) || (selList.size() == list->Count) );
+        if (list) {
+            for(int i = 0; i < selList.size(); i++)
+            {
+                CHECK(selList[i] == list->String[i]);
+            }
+            freeStringArray(list);
+        }
+    }
+
+    TEST(COMPARTMENT_IDS)
+    {
+        IniSection* aSection = iniFile.GetSection("Compartment Ids");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== COMPARTMENT_IDS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRStringArrayPtr list = getCompartmentIds(gRR);
+
+        if(!list)
+        {
+            CHECK(false);
+            return;
+        }
+        vector<string> selList = splitString(keys," ,");
+        CHECK(selList.size() == list->Count);
+        for(int i = 0; i < selList.size(); i++)
+        {
+            CHECK(selList[i] == list->String[i]);
+        }
+        freeStringArray(list);
+    }
+
+    TEST(REACTION_IDS)
+    {
+        IniSection* aSection = iniFile.GetSection("Reaction Ids");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== REACTION_IDS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRStringArrayPtr list = getReactionIds(gRR);
+
+        vector<string> selList = splitString(keys," ,");
+
+        if(!list && selList.size())
+        {
+            CHECK(false);
+            return;
+        }
+        CHECK( (selList.size() == 0 && !list) || (selList.size() == list->Count) );
+        if (list) {
+            for(int i = 0; i < selList.size(); i++)
+            {
+                CHECK(selList[i] == list->String[i]);
+            }
+            freeStringArray(list);
+        }
+    }
+
+    TEST(SPECIES_INITIAL_CONDITION_IDS)
+    {
+        IniSection* aSection = iniFile.GetSection("Species Initial Concentration Ids");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== SPECIES_INITIAL_CONDITION_IDS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRStringArrayPtr list = getFloatingSpeciesInitialConditionIds(gRR);
+
+        if(!list)
+        {
+            CHECK(false);
+            return;
+        }
+        vector<string> selList = splitString(keys," ,");
+        CHECK(selList.size() == list->Count);
+        for(int i = 0; i < selList.size(); i++)
+        {
+            CHECK(selList[i] == list->String[i]);
+        }
+        freeStringArray(list);
+    }
+
+    TEST(GET_EIGENVALUE_IDS)
+    {
+        IniSection* aSection = iniFile.GetSection("Get Eigenvalue Ids");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_EIGENVALUE_IDS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRStringArrayPtr list = getEigenvalueIds(gRR);
+
+        if(!list)
+        {
+            CHECK(false);
+            return;
+        }
+        vector<string> selList = splitString(keys," ,");
+        CHECK(selList.size() == list->Count);
+        for(int i = 0; i < selList.size(); i++)
+        {
+            CHECK(selList[i] == list->String[i]);
+        }
+        freeStringArray(list);
+    }
+
+    TEST(GET_RATES_OF_CHANGE_IDS)
+    {
+        IniSection* aSection = iniFile.GetSection("Get Rates Of Change Ids");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_RATES_OF_CHANGE_IDS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRStringArrayPtr list = getRatesOfChangeIds(gRR);
+
+        if(!list)
+        {
+            CHECK(false);
+            return;
+        }
+        vector<string> selList = splitString(keys," ,");
+        CHECK(selList.size() == list->Count);
+        for(int i = 0; i < selList.size(); i++)
+        {
+            CHECK(selList[i] == list->String[i]);
+        }
+        freeStringArray(list);
+    }
+
+    TEST(SET_STEADY_STATE_SELECTION_LIST_2)
+    {
+        CHECK(gRR!=NULL);
+
+        //Load reference data
+        IniSection* aSection = iniFile.GetSection("Set Steady State Selection List 2");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== SET_STEADY_STATE_SELECTION_LIST_2 ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        bool res = setSteadyStateSelectionList(gRR, keys.c_str());
+        CHECK(res);
+    }
+
+    TEST(GET_STEADY_STATE_SELECTION_LIST_2)
+    {
+        IniSection* aSection = iniFile.GetSection("Get Steady State Selection List 2");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_STEADY_STATE_SELECTION_LIST_2 ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRStringArrayPtr list = getSteadyStateSelectionList(gRR);
+
+        if(!list)
+        {
+            CHECK(false);
+            return;
+        }
+        vector<string> selList = splitString(keys," ,");
+        CHECK(selList.size() == list->Count);
+        for(int i = 0; i < selList.size(); i++)
+        {
+            CHECK(selList[i] == list->String[i]);
+        }
+        freeStringArray(list);
+    }
+
+    TEST(SET_TIME_COURSE_SELECTION_LIST)
+    {
+        CHECK(gRR!=NULL);
+
+        //Load reference data
+        IniSection* aSection = iniFile.GetSection("Set Time Course Selection List");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== SET_TIME_COURSE_SELECTION_LIST ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        bool res = setTimeCourseSelectionList(gRR, keys.c_str());
+        CHECK(res);
+    }
+
+    TEST(GET_TIME_COURSE_SELECTION_LIST)
+    {
+        IniSection* aSection = iniFile.GetSection("Get Time Course Selection List");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_TIME_COURSE_SELECTION_LIST ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRStringArrayPtr list = getTimeCourseSelectionList(gRR);
+
+        if(!list)
+        {
+            CHECK(false);
+            return;
+        }
+        vector<string> selList = splitString(keys," ,");
+        CHECK(selList.size() == list->Count);
+        for(int i = 0; i < selList.size(); i++)
+        {
+            CHECK(selList[i] == list->String[i]);
+        }
+        freeStringArray(list);
+    }
+
+    TEST(COMPUTE_STEADY_STATE_VALUES)
+    {
+        IniSection* aSection = iniFile.GetSection("Compute Steady State Values");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== COMPUTE_STEADY_STATE_VALUES ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        RRVector* values = computeSteadyStateValues(gRR);
+
+        string valstr = Trim(aSection->GetNonKeysAsString());
+        vector<string> vals = splitString(valstr, " ");
+        for(int i = 0 ; i < vals.size(); i++)
+        {
+            //Check concentrations
+            CHECK_CLOSE(toDouble(vals[i]), values->Data[i], 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<vals[i]<<"\tActual:\t "<<values->Data[i]<<endl;
+        }
+        freeVector(values);
+    }
+
+    TEST(FLOATING_SPECIES_CONCENTRATIONS)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Floating Species Concentrations");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== FLOATING_SPECIES_CONCENTRATIONS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        RRVector* values = getFloatingSpeciesConcentrations(gRR);
+
+        string valstr = Trim(aSection->GetNonKeysAsString());
+        vector<string> vals = splitString(valstr, " ");
+        for(int i = 0 ; i < vals.size(); i++)
+        {
+            //Check concentrations
+            CHECK_CLOSE(toDouble(vals[i]), values->Data[i], 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<vals[i]<<"\tActual:\t "<<values->Data[i]<<endl;
+        }
+        freeVector(values);
+    }
+
+    TEST(BOUNDARY_SPECIES_CONCENTRATIONS)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Boundary Species Concentrations");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== BOUNDARY_SPECIES_CONCENTRATIONS ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        RRVector* values = getBoundarySpeciesConcentrations(gRR);
+
+        string valstr = Trim(aSection->GetNonKeysAsString());
+        vector<string> vals = splitString(valstr, " ");
+        for(int i = 0 ; i < vals.size(); i++)
+        {
+            //Check concentrations
+            CHECK_CLOSE(toDouble(vals[i]), values->Data[i], 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<vals[i]<<"\tActual:\t "<<values->Data[i]<<endl;
+        }
+        freeVector(values);
+    }
+
+    TEST(GET_GLOBAL_PARAMETER_VALUES)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Get Global Parameter Values");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_GLOBAL_PARAMETER_VALUES ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRVector* values = getGlobalParameterValues(gRR);
+
+        vector<string> refList = splitString(keys," ,");
+
+        if(!values || values->Count != refList.size())
+        {
+            CHECK(false);
+            freeVector(values);
+            return;
+        }
+
+        for(int i = 0 ; i < refList.size(); i++)
+        {
+
+            //Check concentrations
+            CHECK_CLOSE(toDouble(refList[i]), values->Data[i], 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<toDouble(refList[i])<<"\tActual:\t "<<values->Data[i]<<endl;
+        }
+        freeVector(values);
+    }
+
+    TEST(GET_REACTION_RATES)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Get Reaction Rates");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_REACTION_RATES ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRVector* values = getReactionRates(gRR);
+
+        vector<string> refList = splitString(keys," ,");
+
+        if(!values || values->Count != refList.size())
+        {
+            CHECK(false);
+            freeVector(values);
+            return;
+        }
+
+        for(int i = 0 ; i < refList.size(); i++)
+        {
+
+            //Check concentrations
+            CHECK_CLOSE(toDouble(refList[i]), values->Data[i], max(1e-9, abs(values->Data[i]*1e-4)));
+            clog<<"\n";
+            clog<<"Ref:\t"<<toDouble(refList[i])<<"\tActual:\t "<<values->Data[i]<<endl;
+        }
+        freeVector(values);
+    }
+
+    TEST(GET_REACTION_RATE_BY_INDEX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Get Reaction Rates By Index");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_REACTION_RATE_BY_INDEX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        vector<string> refList = splitString(keys," ,");
+
+        if(refList.size() != getNumberOfReactions(gRR))
+        {
+            CHECK(false);
+            return;
+        }
+
+        for(int i = 0 ; i < refList.size(); i++)
+        {
+            double value;
+              if(!getReactionRate(gRR, i, &value))
+              {
+                CHECK(false);
+              }
+
+            //Check concentrations
+            CHECK_CLOSE(toDouble(refList[i]), value, 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<toDouble(refList[i])<<"\tActual:\t "<<value<<endl;
+        }
+    }
+
+    TEST(NUMBER_OF_DEPENDENT_SPECIES)
+    {
+        IniSection* aSection = iniFile.GetSection("Number of Dependent Species");
+        if(!aSection)
+        {
+            return;
+        }
+        clog<< endl << "==== NUMBER_OF_DEPENDENT_SPECIES ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string key = Trim(aSection->GetNonKeysAsString());
+        int val = getNumberOfDependentSpecies(gRR);
+
+        CHECK(toInt(key) ==  val);
+    }
+
+    TEST(NUMBER_OF_INDEPENDENT_SPECIES)
+    {
+        IniSection* aSection = iniFile.GetSection("Number of Independent Species");
+        if(!aSection)
+        {
+            return;
+        }
+        clog<< endl << "==== NUMBER_OF_INDEPENDENT_SPECIES ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string key = Trim(aSection->GetNonKeysAsString());
+        int val = getNumberOfIndependentSpecies(gRR);
+
+        CHECK(toInt(key) ==  val);
+    }
+
+    TEST(NUMBER_OF_RATE_RULES)
+    {
+        IniSection* aSection = iniFile.GetSection("Number of Rate Rules");
+        if(!aSection)
+        {
+            return;
+        }
+        clog<< endl << "==== NUMBER_OF_RATE_RULES ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string key = Trim(aSection->GetNonKeysAsString());
+        int val = getNumberOfRules(gRR);
+
+        CHECK(toInt(key) ==  val);
+    }
+
+    TEST(GET_RATES_OF_CHANGE)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Get Rates Of Change");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_RATES_OF_CHANGE ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        RRVector* values = getRatesOfChange(gRR);
+
+        vector<string> refList = splitString(keys," ,");
+
+        if(!values || values->Count != refList.size())
+        {
+            CHECK(false);
+            freeVector(values);
+            return;
+        }
+
+        for(int i = 0 ; i < refList.size(); i++)
+        {
+            //Check concentrations
+            CHECK_CLOSE(toDouble(refList[i]), values->Data[i], 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<toDouble(refList[i])<<"\tActual:\t "<<values->Data[i]<<endl;
+        }
+        freeVector(values);
+    }
+
+    TEST(GET_REACTION_RATES_EX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Get Reaction Rates Ex");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_REACTION_RATES_EX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        IniKey* conc = aSection->GetKey("concentrations");
+        if(!conc)
+        {
+            CHECK(false);
+            return;
+        }
+
+        IniKey* refs = aSection->GetKey("rates");
+        if(!refs)
+        {
+            CHECK(false);
+            return;
+        }
+
+          vector<string> refList = splitString(refs->mValue," ");
+
+          vector<string> concList = splitString(conc->mValue," ");
+          RRVector* aVector = createVector(concList.size());
+
+          for(int i = 0; i < concList.size(); i++)
+          {
+            aVector->Data[i] = toDouble(concList[i]);
+          }
+
+        RRVector* values = getReactionRatesEx(gRR, aVector);
+
+
+        if(!values || values->Count != refList.size())
+        {
+            CHECK(false);
+            freeVector(values);
+            freeVector(aVector);
+            return;
+        }
+
+        for(int i = 0 ; i < refList.size(); i++)
+        {
+            //Check concentrations
+            CHECK_CLOSE(toDouble(refList[i]), values->Data[i], 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<toDouble(refList[i])<<"\tActual:\t "<<values->Data[i]<<endl;
+        }
+        freeVector(values);
+        freeVector(aVector);
+    }
+
+    TEST(GET_RATES_OF_CHANGE_EX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Get Rates Of Change Ex");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_RATES_OF_CHANGE_EX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        IniKey* conc = aSection->GetKey("concentrations");
+        if(!conc)
+        {
+            CHECK(false);
+            return;
+        }
+
+        IniKey* refs = aSection->GetKey("rates");
+        if(!refs)
+        {
+            CHECK(false);
+            return;
+        }
+
+          vector<string> refList = splitString(refs->mValue," ");
+
+          vector<string> concList = splitString(conc->mValue," ");
+          RRVector* aVector = createVector(concList.size());
+
+          for(int i = 0; i < concList.size(); i++)
+          {
+            aVector->Data[i] = toDouble(concList[i]);
+          }
+
+          RRVector* values = getRatesOfChangeEx(gRR, aVector);
+
+
+        if(!values || values->Count != refList.size())
+        {
+            CHECK(false);
+            freeVector(values);
+            freeVector(aVector);
+            return;
+        }
+
+        for(int i = 0 ; i < refList.size(); i++)
+        {
+            //Check concentrations
+            CHECK_CLOSE(toDouble(refList[i]), values->Data[i], 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<toDouble(refList[i])<<"\tActual:\t "<<values->Data[i]<<endl;
+        }
+        freeVector(values);
+        freeVector(aVector);
+    }
+
+    TEST(GET_RATES_OF_CHANGE_BY_INDEX)
+    {
+        CHECK(gRR!=NULL);
+
+        //Read in the reference data, from the ini file
+        IniSection* aSection = iniFile.GetSection("Get Rates Of Change By Index");
+        if(!aSection || !gRR)
+        {
+            return;
+        }
+        clog<< endl << "==== GET_RATES_OF_CHANGE_BY_INDEX ====" << endl << endl;
+        aSection->mIsUsed = true;
+
+        string keys = Trim(aSection->GetNonKeysAsString());
+
+        vector<string> refList = splitString(keys," ,");
+
+        if(refList.size() != getNumberOfFloatingSpecies(gRR))
+        {
+            CHECK(false);
+            return;
+        }
+
+        for(int i = 0 ; i < refList.size(); i++)
+        {
+            double value;
+            if(!getRateOfChange(gRR, i, &value))
+            {
+                CHECK(false);
+            }
+
+            //Check concentrations
+            CHECK_CLOSE(toDouble(refList[i]), value, 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<toDouble(refList[i])<<"\tActual:\t "<<value<<endl;
+        }
+    }
+
+    TEST(AMOUNT_CONCENTRATION_JACOBIANS)
+    {
+        IniSection* aSection = iniFile.GetSection("Amount/Concentration Jacobians");
+        if(!aSection)
+        {
+            return;
+        }
+        clog<< endl << "==== AMOUNT_CONCENTRATION_JACOBIANS ====" << endl << endl;
+        aSection->mIsUsed = true;
+        rr::Variant saved = Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE);
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_AMOUNTS);
+        compareJacobians(gRR);
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, (unsigned)Config::ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS);
+        compareJacobians(gRR);
+        Config::setValue(Config::ROADRUNNER_JACOBIAN_MODE, saved);
+    }
+
+	TEST(CHECK_DEFAULT_TIME_STEP)
+	{
+		CHECK(gRR != NULL);
+
+		IniSection* aSection = iniFile.GetSection("Check Default Time Step");
+		if (!aSection || !gRR)
+		{
+			return;
+		}
+		clog << endl << "==== CHECK_DEFAULT_TIME_STEP ====" << endl << endl;
+		aSection->mIsUsed = true;
+
+		string keys = Trim(aSection->GetNonKeysAsString());
+		vector<string> refList = splitString(keys, " ,");
+
+		int NumPts = toInt(refList[0]);
+
+		RoadRunner* rri = castToRoadRunner(gRR);
+
+		SimulateOptions opt;
+		const DoubleMatrix *result = rri->simulate(&opt);
+
+		if (result->RSize() != NumPts)
+		{
+			CHECK(false);
+			clog << "Default time step does not match" << endl;
+		}
+	}
+
+    TEST(CHECK_SIMULATE_POINTS_VS_STEPS)
+    {
+        CHECK(gRR != NULL);
+
+        IniSection* aSection = iniFile.GetSection("Check Simulate Points vs Steps");
+        if (!aSection || !gRR)
+        {
+          return;
+        }
+        clog << endl << "==== CHECK SIMULATE POINTS VS STEPS ====" << endl << endl;
+        // Python-only test
+        aSection->mIsUsed = true;
+    }
+
+    TEST(CHECK_MONOTONIC_TIMEPOINTS)
+    {
+        CHECK(gRR != NULL);
+
+        IniSection* aSection = iniFile.GetSection("Check Monotonic Timepoints");
+        if (!aSection || !gRR)
+        {
+          return;
+        }
+        clog << endl << "==== CHECK MONOTONIC TIMEPOINTS ====" << endl << endl;
+
+        aSection->mIsUsed = true;
+        string keys = Trim(aSection->GetNonKeysAsString());
+        vector<string> refList = splitString(keys, " ,");
+
+        RoadRunner* rri = castToRoadRunner(gRR);
+        SimulateOptions opt;
+        opt.start = toDouble(refList.at(0));
+        opt.duration = toDouble(refList.at(1));
+
+        // For variable step
+        rri->getIntegrator()->setValue("variable_step_size", true);
+        const DoubleMatrix *result = rri->simulate(&opt);
+
+        for(int k = 1; k < result->RSize(); ++k) {
+            CHECK ( ((*result)(k-1,0) < (*result)(k,0)) );
+        }
+
+        // For fixed step
+        opt.steps = toInt(refList.at(2));
+        rri->getIntegrator()->setValue("variable_step_size", false);
+        clog << endl << "  simulate with " << opt.start << ", " << opt.duration << ", " << opt.steps << "\n";
+        result = rri->simulate(&opt);
+
+        for(int k = 1; k < result->RSize(); ++k) {
+            CHECK ( ((*result)(k-1,0) < (*result)(k,0)) );
+        }
+    }
+
+    TEST(CHECK_EVENT_PRE_AND_POSTFIRE_TIMEPOINTS)
+    {
+        CHECK(gRR != NULL);
+
+        IniSection* aSection = iniFile.GetSection("Check Event Pre and Postfire Timepoints");
+        if (!aSection || !gRR)
+        {
+          return;
+        }
+        clog << endl << "==== CHECK EVENT PRE AND POSTFIRE TIMEPOINTS ====" << endl << endl;
+
+        aSection->mIsUsed = true;
+        string keys = Trim(aSection->GetNonKeysAsString());
+        vector<string> refList = splitString(keys, " ,");
+
+        RoadRunner* rri = castToRoadRunner(gRR);
+        SimulateOptions opt;
+        opt.start = 0;
+        opt.duration = 10;
+
+        // For variable step
+        rri->getIntegrator()->setValue("variable_step_size", true);
+        const DoubleMatrix *result = rri->simulate(&opt);
+
+        double max_tol = 0.0001;
+
+        for(vector<string>::const_iterator z = refList.begin(); z!= refList.end(); ++z) {
+            double t = toDouble(*z);
+            int i = findCloseTimepoint(result, t, max_tol);
+            if (i < 0 || i+1 >= result->RSize()) {
+                CHECK(false);
+            } else {
+                CHECK( abs( (*result)(i+1,0) - (*result)(i,0) ) < max_tol );
+            }
+        }
+    }
+
+    TEST(CHECK_UNUSED_TESTS)
+    {
+        for(int i=0; i<iniFile.GetNumberOfSections(); i++)
+        {
+            if (!iniFile.GetSection(i)->mIsUsed && iniFile.GetSection(i)->mName != "Conservation Laws")
+            {
+                CHECK(false);
+                clog << "Unused section:\t" << iniFile.GetSection(i)->mName << endl;
+            }
+        }
+    }
+
+    TEST(FREE_RR_INSTANCE)
+    {
+        CHECK(freeRRInstance(gRR));
+        gRR = NULL;
+    }
+
+}
diff --git a/wrappers/C/Testing/Suite_TestModel.h b/wrappers/C/Testing/Suite_TestModel.h
new file mode 100644
index 0000000..3a352a9
--- /dev/null
+++ b/wrappers/C/Testing/Suite_TestModel.h
@@ -0,0 +1,32 @@
+/*
+ * Suite_TestModel.h
+ *
+ *  Created on: Aug 28, 2014
+ *      Author: andy
+ */
+
+#ifndef SUITE_TESTMODEL_H_
+#define SUITE_TESTMODEL_H_
+
+#include <string>
+#include <set>
+
+namespace SuiteTEST_MODEL {
+
+    /**
+     * enumerate the test files in the testing dir.
+     *
+     * If dir is empty, then the default location for test files
+     * is used which is $ROADRUNNER_DIR/testing.
+     */
+    std::set<std::string> getTestFiles(const std::string& dir = "");
+
+    /**
+     * set the current test data file that the Suite_TESTMODEL
+     * test will uses. This usually obtained from getTestFiles();
+     */
+    void setTestFile(const std::string& filePath);
+
+} /* namespace rr */
+
+#endif /* SUITETESTMODEL_H_ */
diff --git a/wrappers/C/Testing/archive/old_c_api_tests.cpp b/wrappers/C/Testing/archive/old_c_api_tests.cpp
new file mode 100644
index 0000000..1b39229
--- /dev/null
+++ b/wrappers/C/Testing/archive/old_c_api_tests.cpp
@@ -0,0 +1,383 @@
+#include <iostream>
+#include <string>
+#include <vector>
+#include <fstream>
+#include <sstream>
+#include <stdio.h>
+#include "rrc_core_api.h"
+#include "rrc_api_support.h"
+//---------------------------------------------------------------------------
+
+using namespace std;
+using namespace rrc;
+
+void printMatrix(char* msg1, RRDoubleMatrixPtr mat);
+int main(int argc, char* argv[])
+{
+	text = getLogFileName();
+    if(text)
+	{
+		cout<<"Log File Name: "<<text<<endl;
+		freeText(text);
+	}
+
+	text = getBuildDate();
+
+	if(text)
+	{
+		cout<<"Build date: "<<text<<endl;
+		freeText(text);
+	}
+
+//	   string fName = modelsPath + "\\ss_TurnOnConservationAnalysis.xml";
+//	   string fName = modelsPath + "\\ss_SimpleConservedCycle.xml";
+	 string fName = modelsPath + "\\ss_threeSpecies.xml";
+//	 string fName = modelsPath + "\\selectionListBug.xml";
+//	 string fName = modelsPath + "\\boundary.xml";
+
+	cout << "\nRunning model: " << fName << endl;
+	
+	setComputeAndAssignConservationLaws(false);
+	if(!loadSBMLFromFile(fName.c_str()))
+	{
+		cerr<<"Failed loading SBML from file:"<<fName<<endl;
+		cerr<<"Last error was: "<<getLastError()<<endl;
+		return -1;
+	}
+
+   	printMatrix("Full Jacobian Matrix", getFullJacobian());
+
+	RRListHandle sList = getAvailableTimeCourseSymbols();
+
+	cout<<"FloatingSpeciesIds: "<<stringArrayToString(getFloatingSpeciesIds());
+    cout<<"Symbols: "<<listToString(sList);
+
+
+    sList = getAvailableSteadyStateSymbols();
+    cout<<"\n\n Steady state symbols\n";
+    cout<<listToString(sList);
+    freeRRList(sList);
+
+    char* cFileName = getCSourceFileName();
+    if(cFileName)
+    {
+    	cout<<"\n C File Name: "<<cFileName<<"\n";
+    }
+
+    freeText(cFileName);
+
+    cout<<"Number of rules: "<<getNumberOfRules()<<"\n";
+	int r = getNumberOfReactions();
+	int m = getNumberOfFloatingSpecies();
+	int b = getNumberOfBoundarySpecies();
+	int p = getNumberOfGlobalParameters();
+	int c = getNumberOfCompartments();
+
+	printf ("Number of reactions = %d\n", r);
+	printf ("Number of floating species = %d\n", m);
+	printf ("Number of boundary species = %d\n\n", b);
+	printf ("Number of compartments = %d\n\n", c);
+
+	if (m > 0) {
+	   printf ("Compartment names:\n");
+	   printf ("------------------\n");
+	   cout<<stringArrayToString(getCompartmentIds())<<endl<<endl;
+	}
+
+	if (m > 0) {
+	   printf ("Floating species names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getFloatingSpeciesIds())<<endl<<endl;
+	}
+
+	if (m > 0) {
+	   printf ("Initial Floating species names:\n");
+	   printf ("-------------------------------\n");
+	   cout<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+	}
+
+	if (b > 0) {
+       printf ("\nBoundary species names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getBoundarySpeciesIds())<<endl;
+	}
+	printf ("\n");
+
+	if (p > 0) {
+       printf ("\nGlobal Parameter names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getGlobalParameterIds())<<endl;
+	}
+	printf ("\n");
+
+	if (r > 0) {
+       printf ("\nReaction names:\n");
+	   printf ("---------------\n");
+	   cout<<stringArrayToString(getReactionIds())<<endl;
+	}
+	printf ("\n");
+
+	if (m> 0) {
+       printf ("\nRates of change names:\n");
+	   printf ("----------------------\n");
+	   cout<<stringArrayToString(getRatesOfChangeIds())<<endl;
+	}
+	printf ("\n");
+
+
+	if (r > 0) {
+       printf ("\nUnscaled flux control coefficient names:\n");
+	   printf ("----------------------------------------\n");
+	   RRListHandle stringArray = getUnscaledFluxControlCoefficientIds();
+	   cout<<listToString(stringArray)<<endl;
+	}
+	printf ("\n");
+
+	if (m > 0) {
+       printf ("\nUnscaled concentration control coefficient names:\n");
+	   printf ("-------------------------------------------------\n");
+	   cout<<listToString(getUnscaledConcentrationControlCoefficientIds())<<endl;
+	}
+	printf ("\n");
+
+	double ssVal;
+    bool success = steadyState(ssVal);
+    if(!success)
+    {
+		cerr<<"Steady State call failed. Error was: "<<getLastError()<<endl;
+    }
+    else
+    {
+	    cout<<"Compute Steady State: sums of squares: "<<ssVal<<endl;
+    }
+	
+	
+	printMatrix("GetScaledElasticityMatrix", getScaledElasticityMatrix());
+
+	cout<<"Steady State selection List: "<<listToString(getSteadyStateSelectionList());
+    printMatrix("Stoichiometry Matrix", getStoichiometryMatrix());
+
+    cout<<"Number of independent species = "<<getNumberOfIndependentSpecies()<<endl;
+    cout<<"Number of dependent Species = "<<getNumberOfDependentSpecies()<<endl<<endl;
+
+    printMatrix("Link Matrix", getLinkMatrix());
+	printMatrix("Nr Matrix", getNrMatrix());
+	printMatrix("L0 Matrix", getL0Matrix());
+
+	printMatrix("Reduced Jacobian Matrix:", getReducedJacobian());
+    printMatrix("Eigenvalue Matrix (real/imag)", getEigenValues());
+	printMatrix("Unscaled Elasticity Matrix:", getUnScaledElasticityMatrix());
+    printMatrix("Scaled Elasticity Matrix:", getScaledElasticityMatrix());
+	printMatrix("Unscaled Concentration Control Coefficients Matrix", getUnscaledConcentrationControlCoefficientMatrix());
+	printMatrix("Scaled Concentration Control Coefficients Matrix:", getScaledConcentrationControlCoefficientMatrix());
+	printMatrix("Unscaled Flux Control Coefficients Matrix", getUnscaledFluxControlCoefficientMatrix());
+	printMatrix("Scaled Flux Control Coefficients Matrix", getScaledFluxControlCoefficientMatrix());
+
+	double value;
+	printf ("Flux Control Coefficient, CC^(_J1)_k1\n");
+	getCC("_J1", "k1", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k2\n");
+	getCC("_J1", "k2", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k3\n");
+	getCC("_J1", "k3", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k4\n");
+	getCC("_J1", "k4", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J1)_S1\n");
+	getEE("_J1", "S1", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J2)_S1\n");
+	getEE("_J2", "S1", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J2)_S2\n");
+	getEE("_J2", "S2", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J3)_S2\n");
+	getEE("_J3", "S2", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("\n");
+	//printf ("Flux Control Coefficient, C^(_J1)_k1\n");
+	//double value;
+	//getCC("_J1", "k1", value);
+	//printf ("FCC = %f\n", value);
+
+	/*getGlobalParameterByIndex (0, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (1, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (2, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (3, value);
+	printf ("%f\n", value);*/
+
+	RRVector veca;
+	veca.Count = 3;
+	veca.Data = new double[3];
+   	veca.Data[0] = 1;
+	veca.Data[1] = 2;
+	veca.Data[2] = 3;
+
+    double aValue = 231.23;
+    bool bResult = setVectorElement(&veca, 0, aValue);
+    if(!bResult)
+    {
+    	cout<<"Problem";
+    }
+
+
+    cout<<"List of floating species: \n"<<stringArrayToString(getFloatingSpeciesIds())<<endl;
+
+	printf ("\nCall to getRatesOfChangeEx (S1=1, S2=2, S3=3):\n");
+	cout<<vectorToString (getRatesOfChangeEx(&veca))<<endl;
+
+//	printf ("\nCall to getReactionRatesEx (S1=1, S2=2, S3=3):\n");
+//	cout<<printVector (getReactionRatesEx (&veca))<<endl;
+//
+//	printf ("\nCall to getRatesOfChange (with S1=1, S2=2, S3=3):\n");
+//	cout<<printVector (getRatesOfChange())<<endl;
+
+    setTimeCourseSelectionList("S1 S2");
+//-------- The latest
+    cout<<vectorToString(getFloatingSpeciesConcentrations());
+    cout<<vectorToString(getGlobalParameterValues());
+    cout<<"\n\n Symbols\n";
+    RRList* symHandle = getAvailableTimeCourseSymbols();
+    cout<<listToString(symHandle);
+    freeRRList(symHandle);
+
+    symHandle = getAvailableSteadyStateSymbols();
+    cout<<"\n\n Steady state symbols\n";
+    cout<<listToString(symHandle);
+    freeRRList(symHandle);
+
+    cout<<"\n\n ================================\n";
+    RRVector* test = getReactionRates();
+    cout<<vectorToString(test);
+
+    setFloatingSpeciesByIndex(0,2);
+    setFloatingSpeciesByIndex(1,4);
+    setFloatingSpeciesByIndex(2,6);
+
+    test = getReactionRates();
+    cout<<vectorToString(test);
+
+    //Get value problem..
+    getValue("S1", value);
+    cout<<value<<endl;
+    getValue("S2", value);
+    cout<<value<<endl;
+    getValue("S3", value);
+    cout<<value<<endl;
+
+    getRatesOfChange();
+
+    getValue("S1", value);
+    cout<<value<<endl;
+    getValue("S2", value);
+    cout<<value<<endl;
+    getValue("S3", value);
+    cout<<value<<endl;
+
+	//cout<<getBoundarySpeciesByIndex (0)<<endl;
+    //getGlobalParameterByIndex(0, value);
+
+    //cout<<value<<endl;
+    //getGlobalParameterByIndex(2, value);
+    //cout<<value<<endl;
+
+    //cout<<getParamPromotedSBML(sbml.c_str());
+
+    //cout<<getSBML()<<endl;
+
+    //cout<<printMatrix(getScaledElasticityMatrix());     //How to free, when doing something like this??
+    //cout<<printStringList(getEigenValueNames());
+
+    cout<<"\n FluxControlCoeff ------\n"<<listToString(getFluxControlCoefficientIds())<<endl;
+
+    cout<<"\n Unscaled FluxControlCoeff ------\n"<<listToString(getUnscaledFluxControlCoefficientIds())<<endl;
+    RRList* list =getConcentrationControlCoefficientIds();
+    cout<<listToString(list)<<endl;
+    //freeList(list);
+
+
+    //cout<<printStringList(getElasticityNames())<<endl;
+
+//    setBoundarySpeciesByIndex(0,34);
+    cout<<"Nr of Compartments: "<<getNumberOfCompartments()<<endl;
+    setCompartmentByIndex(0,456);
+    if(getCompartmentByIndex(0, value))
+    {
+        cout<<"Compartment Volume: "<<value<<endl;
+    }
+    else
+    {
+        cout<<getLastError()<<endl;
+    }
+    cout<<stringArrayToString(getCompartmentIds())<<endl;
+
+    getRateOfChange(0, value);
+    cout<<"Rate of change:"<<value<<endl;
+
+	
+    //cout<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+
+
+    cout<<" ---- getElasticityCoefficientNames ---\n"<<listToString(getElasticityCoefficientIds())<<endl;
+//    cout<<stringArrayToString(getRateOfChangeIds())<<endl;
+    setCapabilities (NULL);
+    cout<<getCapabilities()<<endl;
+
+//    C_DECL_SPEC bool                    rrCallConv   getScaledFloatingSpeciesElasticity(const char* reactionName, const char* speciesName, double& value);
+    if(getScaledFloatingSpeciesElasticity("_J1", "S1", value))
+    {
+        cout<<"ScaledFloatingSpeciesElasticity "<<value<<endl;
+    }
+    else
+    {
+        cout<<getLastError()<<endl;
+    }
+
+    cout<<"getFloatingSpeciesInitialConditionNames: "<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+
+
+    cout<<getCurrentSBML();
+	///////////////////
+    text = getCopyright();
+    if(hasError())
+    {
+        char* error = getLastError();
+        cout<<error<<endl;
+    }
+
+    cout<<text<<endl;
+    freeText(text);
+    freeRRInstance(rrHandle);
+    return 0;
+}
+
+void printMatrix(char* msg1, RRDoubleMatrixPtr mat)
+{
+	cout<<msg1<<"\n";
+	cout<<("------------\n\n");
+    char *text = matrixToString(mat);
+    if(text)
+    {
+		cout<<text<<"\n\n";
+        freeText(text);
+    }
+    else
+    {
+    	cout<<"NULL\n\n";
+    }
+}
diff --git a/wrappers/C/Testing/core/base.cpp b/wrappers/C/Testing/core/base.cpp
new file mode 100644
index 0000000..c51034c
--- /dev/null
+++ b/wrappers/C/Testing/core/base.cpp
@@ -0,0 +1,148 @@
+#include <string>
+#include "rrLogger.h"
+#include "UnitTest++.h"
+#include "rrc_core_api.h"
+#include "rrUtils.h"
+using namespace std;
+using namespace UnitTest;
+
+//Add using clauses..
+using rr::joinPath;
+using rr::fileExists;
+
+extern RRHandle gRR;	//Global roadrunner C handle
+extern string 	gBinPath;
+extern string 	gSBMLModelsPath;
+extern string 	gCompiler;
+extern string 	gSupportCodeFolder;
+extern string   gTempFolder;
+extern string   gDataOutputFolder;
+extern bool 	gDebug;
+SUITE(Base)
+{
+    TEST(AllocateRR)
+    {
+        if(!gRR)
+        {
+            gRR = getRRInstance();
+        }
+
+        CHECK(gRR!=NULL);	//If gRR == NULL this is a fail
+
+		if(gRR)
+		{
+            setTempFolder(gTempFolder.c_str());
+		}
+    }
+
+    TEST(LOGGING)
+    {
+    	if(gDebug == true)
+        {
+			CHECK(enableLogging());
+        	char* logFName = getLogFileName();
+        	CHECK_EQUAL("RoadRunner.log", logFName);
+            rr::gLog.Init("", rr::lDebug, unique_ptr<rr::LogFile>(new rr::LogFile(logFName)));
+        }
+        else
+        {
+        	rr::gLog.Init("", rr::lDebug, unique_ptr<rr::LogFile>(new rr::LogFile("")));
+        	char* logFName = getLogFileName();
+        	CHECK_EQUAL("<none>", logFName);
+        }
+    }
+
+    TEST(VERSIONS)
+    {
+    	CHECK_EQUAL(getVersion(), 			"1.0.0");
+		CHECK_EQUAL(getlibSBMLVersion(), 	"5.6.0");
+    }
+
+    TEST(MODEL_FILES)	//Test that model files for the tests are present
+    {
+    	CHECK(fileExists(joinPath(gSBMLModelsPath, "feedback.xml")));
+    	CHECK(fileExists(joinPath(gSBMLModelsPath, "ss_threeSpecies.xml")));
+        CHECK(fileExists(joinPath(gSBMLModelsPath, "ss_TurnOnConservationAnalysis.xml")));
+        CHECK(fileExists(joinPath(gSBMLModelsPath, "squareWaveModel.xml")));
+    }
+
+    TEST(LOAD_SBML)
+    {
+		CHECK(gRR!=NULL);
+		if(!gRR)
+		{
+			return;
+		}
+
+		string model = joinPath(gSBMLModelsPath, "ss_threeSpecies.xml");
+		CHECK(loadSBMLFromFile(model.c_str()));
+	}
+
+	TEST(GET_CAPABILITIES)
+	{
+		CHECK(gRR!=NULL);
+		if(!gRR)
+		{
+			return;
+		}
+
+		string caps(getCapabilities());
+
+	}
+
+	TEST(LISTS)
+	{
+		RRListHandle myList = createRRList();
+		CHECK(myList!=NULL);
+
+        // First construct [5, 3.1415]
+        RRListItemPtr myItem = createIntegerItem (5);
+        addItem (myList, &myItem);
+        myItem = createDoubleItem (3.1415);
+        addItem (myList, &myItem);
+
+        // Next construct [5, 3.1415, [2.7182, "Hello"]]
+        myItem = createListItem (createRRList());
+        addItem (myList, &myItem);
+        RRListItemPtr newItem = createDoubleItem (2.7182);
+        addItem (getList (myItem), &newItem);
+        newItem = createStringItem ("Hello");
+        addItem (getList (myItem), &newItem);
+
+        int length = getListLength (myList);
+        myItem = getListItem (myList, 0);
+
+       	CHECK(myItem->data.iValue == 5);
+
+        myItem = getListItem (myList, 1);
+		CHECK(myItem->data.dValue == 3.1415);
+        myItem = getListItem (myList, 2);
+
+        //Item with index 1 is a litDouble!
+        CHECK(isListItem(getListItem (myList, 1), litInteger) == false);
+        freeRRList (myList);
+
+        //We could check more about lists, but it seem pretty solid at this time..?
+    }
+
+
+//   	TEST(AllocateDeAllocateRR)
+// 	{
+//     	int memoryBefore = 0;
+//         int memoryAfter  = 10;
+//         for(int i = 0; i < 1000; i++)
+//         {
+//             if(gRR)
+//             {
+//                 freeRRInstance(gRR);
+//             }
+//
+//            	gRR = getRRInstance();
+//         }
+//
+// 		//To check this properly, we will need to measure memory before and after somehow..
+// 		CHECK_CLOSE(memoryBefore, memoryAfter, 10);
+// 	}
+
+}
+
diff --git a/wrappers/C/Testing/core/from_api_tester.cpp b/wrappers/C/Testing/core/from_api_tester.cpp
new file mode 100644
index 0000000..b3f9451
--- /dev/null
+++ b/wrappers/C/Testing/core/from_api_tester.cpp
@@ -0,0 +1,464 @@
+#include <iostream>
+#include <string>
+#include <vector>
+#include <fstream>
+#include <sstream>
+#include <stdio.h>
+#include "rrc_core_api.h"
+#include "rrc_api_support.h"
+//---------------------------------------------------------------------------
+
+using namespace std;
+using namespace rrc;
+
+void printMatrix(char* msg1, RRDoubleMatrixPtr mat);
+int main(int argc, char* argv[])
+{
+	enableLogging();
+    setLogLevel("Debug3");
+
+	printf ("\n    Start of run\n");
+	printf ("   ==============\n\n");
+
+	// Test list type
+	printf ("Testing list type\n");
+
+	RRListHandle myList = createRRList();
+
+	// First construct [5, 3.1415]
+	RRListItemPtr myItem = createIntegerItem (5);
+	addItem (myList, &myItem);
+	myItem = createDoubleItem (3.1415);
+	addItem (myList, &myItem);
+
+	// Next construct [5, 3.1415, [2.7182, "Hello"]]
+	myItem = createListItem (createRRList());
+    addItem (myList, &myItem);
+	RRListItemPtr newItem = createDoubleItem (2.7182);
+	addItem (getList (myItem), &newItem);
+
+	newItem = createStringItem ("Hello");
+	addItem (getList (myItem), &newItem);
+
+	if (isListItemInteger (myList->Items[0]))
+		printf ("Yes\n");
+
+	int length = getListLength (myList);
+	myItem = getListItem (myList, 0);
+	myItem = getListItem (myList, 1);
+	myItem = getListItem (myList, 2);
+	myItem = getListItem (myList, 3);
+	if (myItem == NULL)
+		printf ("Index overflow in getListItem\n");
+
+	if (isListItem (getListItem (myList, 1), litInteger))
+		printf ("Yes it is an integer\n");
+
+	printf ("\nList:\n");
+
+    char* text = listToString (myList);
+	printf (text);
+    freeText(text);
+	printf ("\n\n");
+	freeRRList (myList);
+
+	string modelsPath(".\\..\\Models");
+	if(argc > 1)
+	{
+		modelsPath = argv[1];
+	}
+
+	char* buffer = new char[MAXPATH];
+	// Get the current working directory:
+	if( (buffer = _getcwd( buffer, MAXPATH )) == NULL )
+	{
+		perror( "getcwd error" );
+	}
+	else
+	{
+		printf( "Current cwd = %s \nLength: %d\n", buffer, strlen(buffer) );
+		delete [] buffer;
+	}
+
+	RRHandle rrHandle = NULL;
+    rrHandle =  getRRInstance();
+
+    if(!rrHandle)
+    {
+        cout<<"No handle...";
+    }
+
+	cout<<"API Version: "<<getVersion()<<endl;
+	cout<<"libSBML Version: "<<getlibSBMLVersion()<<endl;
+    setTempFolder("c:\\rrTemp");
+    enableLogging();
+
+	text = getLogFileName();
+    if(text)
+	{
+		cout<<"Log File Name: "<<text<<endl;
+		freeText(text);
+	}
+
+	text = getBuildDate();
+
+	if(text)
+	{
+		cout<<"Build date: "<<text<<endl;
+		freeText(text);
+	}
+
+//	   string fileName = modelsPath + "\\ss_TurnOnConservationAnalysis.xml";
+//	   string fileName = modelsPath + "\\ss_SimpleConservedCycle.xml";
+	 string fileName = modelsPath + "\\ss_threeSpecies.xml";
+//	 string fileName = modelsPath + "\\selectionListBug.xml";
+//	 string fileName = modelsPath + "\\boundary.xml";
+
+	ifstream ifs(fileName.c_str());
+	if(!ifs)
+	{
+		cerr<<"Failed opening file: "<<fileName;
+		return false;
+	}
+	cout << "\nRunning model: " << fileName << endl;
+	setComputeAndAssignConservationLaws(false);
+	std::string sbml((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());
+
+	if(!loadSBML(sbml.c_str()))
+	{
+		cerr<<"Failed loading SBML from file:"<<fileName<<endl;
+		cerr<<"Last error was: "<<getLastError()<<endl;
+		return -1;
+	}
+
+	RRListHandle sList = getAvailableTimeCourseSymbols();
+    cout<<"Symbols: "<<listToString(sList);
+
+    sList = getAvailableSteadyStateSymbols();
+    cout<<"\n\n Steady state symbols\n";
+    cout<<listToString(sList);
+    freeRRList(sList);
+
+    char* cFileName = getCSourceFileName();
+    if(cFileName)
+    {
+    	cout<<"\n C File Name: "<<cFileName<<"\n";
+    }
+
+    freeText(cFileName);
+
+    cout<<"Number of rules: "<<getNumberOfRules()<<"\n";
+	int r = getNumberOfReactions();
+	int m = getNumberOfFloatingSpecies();
+	int b = getNumberOfBoundarySpecies();
+	int p = getNumberOfGlobalParameters();
+	int c = getNumberOfCompartments();
+
+	printf ("Number of reactions = %d\n", r);
+	printf ("Number of floating species = %d\n", m);
+	printf ("Number of boundary species = %d\n\n", b);
+	printf ("Number of compartments = %d\n\n", c);
+
+	if (m > 0) {
+	   printf ("Compartment names:\n");
+	   printf ("------------------\n");
+	   cout<<stringArrayToString(getCompartmentIds())<<endl<<endl;
+	}
+
+	if (m > 0) {
+	   printf ("Floating species names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getFloatingSpeciesIds())<<endl<<endl;
+	}
+
+	if (m > 0) {
+	   printf ("Initial Floating species names:\n");
+	   printf ("-------------------------------\n");
+	   cout<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+	}
+
+	if (b > 0) {
+       printf ("\nBoundary species names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getBoundarySpeciesIds())<<endl;
+	}
+	printf ("\n");
+
+	if (p > 0) {
+       printf ("\nGlobal Parameter names:\n");
+	   printf ("-----------------------\n");
+	   cout<<stringArrayToString(getGlobalParameterIds())<<endl;
+	}
+	printf ("\n");
+
+	if (r > 0) {
+       printf ("\nReaction names:\n");
+	   printf ("---------------\n");
+	   cout<<stringArrayToString(getReactionIds())<<endl;
+	}
+	printf ("\n");
+
+	if (m> 0) {
+       printf ("\nRates of change names:\n");
+	   printf ("----------------------\n");
+	   cout<<stringArrayToString(getRatesOfChangeIds())<<endl;
+	}
+	printf ("\n");
+
+
+	if (r > 0) {
+       printf ("\nUnscaled flux control coefficient names:\n");
+	   printf ("----------------------------------------\n");
+	   RRListHandle stringArray = getUnscaledFluxControlCoefficientIds();
+	   cout<<listToString(stringArray)<<endl;
+	}
+	printf ("\n");
+
+	if (m > 0) {
+       printf ("\nUnscaled concentration control coefficient names:\n");
+	   printf ("-------------------------------------------------\n");
+	   cout<<listToString(getUnscaledConcentrationControlCoefficientIds())<<endl;
+	}
+	printf ("\n");
+
+	double ssVal;
+    bool success = steadyState(ssVal);
+    if(!success)
+    {
+		cerr<<"Steady State call failed. Error was: "<<getLastError()<<endl;
+    }
+    else
+    {
+	    cout<<"Compute Steady State: sums of squares: "<<ssVal<<endl;
+    }
+
+	cout<<"Steady State selection List: "<<listToString(getSteadyStateSelectionList());
+	setSteadyStateSelectionList("S2 S1");
+	cout<<"\nSteady State selection List: "<<listToString(getSteadyStateSelectionList());
+
+    printMatrix("Stoichiometry Matrix", getStoichiometryMatrix());
+
+    cout<<"Number of independent species = "<<getNumberOfIndependentSpecies()<<endl;
+    cout<<"Number of dependent Species = "<<getNumberOfDependentSpecies()<<endl<<endl;
+
+    printMatrix("Link Matrix", getLinkMatrix());
+	printMatrix("Nr Matrix", getNrMatrix());
+	printMatrix("L0 Matrix", getL0Matrix());
+	printMatrix("Full Jacobian Matrix", getFullJacobian());
+	printMatrix("Reduced Jacobian Matrix:", getReducedJacobian());
+    printMatrix("Eigenvalue Matrix (real/imag)", getEigenValues());
+	printMatrix("Unscaled Elasticity Matrix:", getUnScaledElasticityMatrix());
+    printMatrix("Scaled Elasticity Matrix:", getScaledElasticityMatrix());
+	printMatrix("Unscaled Concentration Control Coefficients Matrix", getUnscaledConcentrationControlCoefficientMatrix());
+	printMatrix("Scaled Concentration Control Coefficients Matrix:", getScaledConcentrationControlCoefficientMatrix());
+	printMatrix("Unscaled Flux Control Coefficients Matrix", getUnscaledFluxControlCoefficientMatrix());
+	printMatrix("Scaled Flux Control Coefficients Matrix", getScaledFluxControlCoefficientMatrix());
+
+	double value;
+	printf ("Flux Control Coefficient, CC^(_J1)_k1\n");
+	getCC("_J1", "k1", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k2\n");
+	getCC("_J1", "k2", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k3\n");
+	getCC("_J1", "k3", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Flux Control Coefficient, CC^(_J1)_k4\n");
+	getCC("_J1", "k4", value);
+	printf ("Coefficient = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J1)_S1\n");
+	getEE("_J1", "S1", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J2)_S1\n");
+	getEE("_J2", "S1", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J2)_S2\n");
+	getEE("_J2", "S2", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("Elasticity Coefficient, EE^(_J3)_S2\n");
+	getEE("_J3", "S2", value);
+	printf ("Elasticity = %f\n", value);
+
+	printf ("\n");
+	//printf ("Flux Control Coefficient, C^(_J1)_k1\n");
+	//double value;
+	//getCC("_J1", "k1", value);
+	//printf ("FCC = %f\n", value);
+
+	/*getGlobalParameterByIndex (0, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (1, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (2, value);
+	printf ("%f\n", value);
+	getGlobalParameterByIndex (3, value);
+	printf ("%f\n", value);*/
+
+	RRVector veca;
+	veca.Count = 3;
+	veca.Data = new double[3];
+   	veca.Data[0] = 1;
+	veca.Data[1] = 2;
+	veca.Data[2] = 3;
+
+    double aValue = 231.23;
+    bool bResult = setVectorElement(&veca, 0, aValue);
+    if(!bResult)
+    {
+    	cout<<"Problem";
+    }
+
+
+    cout<<"List of floating species: \n"<<stringArrayToString(getFloatingSpeciesIds())<<endl;
+
+	printf ("\nCall to getRatesOfChangeEx (S1=1, S2=2, S3=3):\n");
+	cout<<vectorToString (getRatesOfChangeEx(&veca))<<endl;
+
+//	printf ("\nCall to getReactionRatesEx (S1=1, S2=2, S3=3):\n");
+//	cout<<printVector (getReactionRatesEx (&veca))<<endl;
+//
+//	printf ("\nCall to getRatesOfChange (with S1=1, S2=2, S3=3):\n");
+//	cout<<printVector (getRatesOfChange())<<endl;
+
+    setTimeCourseSelectionList("S1 S2");
+//-------- The latest
+    cout<<vectorToString(getFloatingSpeciesConcentrations());
+    cout<<vectorToString(getGlobalParameterValues());
+    cout<<"\n\n Symbols\n";
+    RRList* symHandle = getAvailableTimeCourseSymbols();
+    cout<<listToString(symHandle);
+    freeRRList(symHandle);
+
+    symHandle = getAvailableSteadyStateSymbols();
+    cout<<"\n\n Steady state symbols\n";
+    cout<<listToString(symHandle);
+    freeRRList(symHandle);
+
+    cout<<"\n\n ================================\n";
+    RRVector* test = getReactionRates();
+    cout<<vectorToString(test);
+
+    setFloatingSpeciesByIndex(0,2);
+    setFloatingSpeciesByIndex(1,4);
+    setFloatingSpeciesByIndex(2,6);
+
+    test = getReactionRates();
+    cout<<vectorToString(test);
+
+    //Get value problem..
+    getValue("S1", value);
+    cout<<value<<endl;
+    getValue("S2", value);
+    cout<<value<<endl;
+    getValue("S3", value);
+    cout<<value<<endl;
+
+    getRatesOfChange();
+
+    getValue("S1", value);
+    cout<<value<<endl;
+    getValue("S2", value);
+    cout<<value<<endl;
+    getValue("S3", value);
+    cout<<value<<endl;
+
+	//cout<<getBoundarySpeciesByIndex (0)<<endl;
+    //getGlobalParameterByIndex(0, value);
+
+    //cout<<value<<endl;
+    //getGlobalParameterByIndex(2, value);
+    //cout<<value<<endl;
+
+    //cout<<getParamPromotedSBML(sbml.c_str());
+
+    //cout<<getSBML()<<endl;
+
+    //cout<<printMatrix(getScaledElasticityMatrix());     //How to free, when doing something like this??
+    //cout<<printStringList(getEigenValueNames());
+
+    cout<<"\n FluxControlCoeff ------\n"<<listToString(getFluxControlCoefficientIds())<<endl;
+
+    cout<<"\n Unscaled FluxControlCoeff ------\n"<<listToString(getUnscaledFluxControlCoefficientIds())<<endl;
+    RRList* list =getConcentrationControlCoefficientIds();
+    cout<<listToString(list)<<endl;
+    //freeList(list);
+
+
+    //cout<<printStringList(getElasticityNames())<<endl;
+
+//    setBoundarySpeciesByIndex(0,34);
+    cout<<"Nr of Compartments: "<<getNumberOfCompartments()<<endl;
+    setCompartmentByIndex(0,456);
+    if(getCompartmentByIndex(0, value))
+    {
+        cout<<"Compartment Volume: "<<value<<endl;
+    }
+    else
+    {
+        cout<<getLastError()<<endl;
+    }
+    cout<<stringArrayToString(getCompartmentIds())<<endl;
+
+    getRateOfChange(0, value);
+    cout<<"Rate of change:"<<value<<endl;
+
+	
+    //cout<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+
+
+    cout<<" ---- getElasticityCoefficientNames ---\n"<<listToString(getElasticityCoefficientIds())<<endl;
+//    cout<<stringArrayToString(getRateOfChangeIds())<<endl;
+    setCapabilities (NULL);
+    cout<<getCapabilities()<<endl;
+
+//    C_DECL_SPEC bool                    rrCallConv   getScaledFloatingSpeciesElasticity(const char* reactionName, const char* speciesName, double& value);
+    if(getScaledFloatingSpeciesElasticity("_J1", "S1", value))
+    {
+        cout<<"ScaledFloatingSpeciesElasticity "<<value<<endl;
+    }
+    else
+    {
+        cout<<getLastError()<<endl;
+    }
+
+    cout<<"getFloatingSpeciesInitialConditionNames: "<<stringArrayToString(getFloatingSpeciesInitialConditionIds())<<endl;
+
+
+    cout<<getCurrentSBML();
+	///////////////////
+    text = getCopyright();
+    if(hasError())
+    {
+        char* error = getLastError();
+        cout<<error<<endl;
+    }
+
+    cout<<text<<endl;
+    freeText(text);
+    freeRRInstance(rrHandle);
+    return 0;
+}
+
+void printMatrix(char* msg1, RRDoubleMatrixPtr mat)
+{
+	cout<<msg1<<"\n";
+	cout<<("------------\n\n");
+    char *text = matrixToString(mat);
+    if(text)
+    {
+		cout<<text<<"\n\n";
+        freeText(text);
+    }
+    else
+    {
+    	cout<<"NULL\n\n";
+    }
+}
diff --git a/wrappers/C/Testing/core/steady_state.cpp b/wrappers/C/Testing/core/steady_state.cpp
new file mode 100644
index 0000000..fc92f7f
--- /dev/null
+++ b/wrappers/C/Testing/core/steady_state.cpp
@@ -0,0 +1,616 @@
+#include <string>
+#include "UnitTest++.h"
+#include "rrc_core_api.h"
+#include "rrUtils.h"
+#include "rrIniFile.h"
+#include "rrException.h"
+#include "TestUtils.h"
+using namespace std;
+using namespace UnitTest;
+
+//Add using clauses..
+using rr::joinPath;
+using rr::fileExists;
+
+extern RRHandle gRR;	//Global roadrunner C handle
+extern string 	gBinPath;
+extern string 	gSBMLModelsPath;
+extern string 	gCompilerPath;
+extern string 	gSupportCodeFolder;
+extern string 	gTestDataFolder;
+extern string		 	gRRInstallFolder;
+SUITE(SteadyState)
+{
+
+string TestDataFileName 	= "TestModel_1.dat";
+IniFile iniFile;
+string TestModelFileName;
+
+	//Test that model files and reference data for the tests in this suite are present
+	TEST(DATA_FILES)
+	{
+		gTestDataFolder 			= joinPath(gRRInstallFolder, "tests");
+		string testDataFileName 	= joinPath(gTestDataFolder, TestDataFileName);
+
+		CHECK(fileExists(testDataFileName));
+		CHECK(iniFile.Load(testDataFileName));
+		clog<<"Loaded test data from file: "<< testDataFileName;
+		if(iniFile.GetSection("SBML_FILES"))
+		{
+			IniSection* sbml = iniFile.GetSection("SBML_FILES");
+			IniKey* fNameKey = sbml->GetKey("FNAME1");
+			if(fNameKey)
+			{
+				TestModelFileName  = joinPath(gTestDataFolder, fNameKey->mValue);
+				CHECK(fileExists(TestModelFileName));
+			}
+		}
+	}
+
+    TEST(AllocateRR)
+    {
+        if(!gRR)
+        {
+            gRR = getRRInstance();
+        }
+        CHECK(gRR!=NULL);
+        freeRRInstance(gRR);
+        gRR = NULL;
+        CHECK(gRR == NULL);
+    }
+
+
+	TEST(LOAD_MODEL)
+	{
+     	gRR = getRRInstance();
+        CHECK(gRR!=NULL);
+
+        //Load the model
+        setComputeAndAssignConservationLaws(true);
+		CHECK(loadSBMLFromFile(TestModelFileName.c_str()));
+	}
+
+    TEST(COMPUTE_STEADY_STATE)
+    {
+        //Compute Steady state
+        double val;
+        CHECK( steadyState(val));
+        CHECK_CLOSE(0, val, 1e-6);
+    }
+
+//	TEST(GET_UCC)
+//	{
+//		double val;
+//		getuCC("S1","S2", val);
+//	}
+
+	TEST(GET_EIGENVALUE_IDS)
+	{
+		gRR = getRRInstance();
+        if(!gRR)
+        {
+        	CHECK(false);
+        	return;
+        }
+
+        //Load reference data
+        IniSection* aSection = iniFile.GetSection("GET_EIGENVALUE_IDS");
+		if(!aSection || !gRR)
+        {
+        	CHECK(false);
+            return;
+        }
+
+        //Load the model
+        CHECK(loadSBMLFromFile(TestModelFileName.c_str()));
+
+        IniKey* aKey = aSection->GetKey("COMPUTE_AND_ASSIGN_CONSERVATION_LAWS");
+
+        if(aKey)
+        {
+        	setComputeAndAssignConservationLaws(aKey->AsBool());
+        }
+        else
+        {
+			CHECK(aKey != NULL);
+        }
+
+        for(int i = 1 ; i < aSection->KeyCount(); i++) //OBS, ignore first key, which is computeAndAssignConservation Laws
+        {
+            IniKey *aKey = aSection->GetKey(i);
+            RRStringArrayPtr ids = getEigenvalueIds();
+
+            if(ids != NULL && i < (ids->Count + 1))
+            {
+            	CHECK(strcmp(aKey->mValue.c_str(),ids->String[i - 1]) == 0);
+            }
+            else
+            {
+            	CHECK(false);
+            }
+        }
+
+        //Test to call many times ,
+        //Todo: add a simple way to look for memory leak later on..
+        for(int i = 0; i < 10000; i++)
+        {
+        	RRStringArrayPtr ids = getEigenvalueIds();
+        	CHECK(getEigenvalueIds());
+            freeStringArray(ids);
+        }
+    }
+
+    TEST(STEADY_STATE_CONCENTRATIONS)
+	{
+       	gRR = getRRInstance();
+        CHECK(gRR!=NULL);
+        IniSection* aSection = iniFile.GetSection("STEADY_STATE_CONCENTRATIONS");
+        //Read in the reference data, from the ini file
+		if(!aSection || !gRR)
+        {
+        	CHECK(false);
+            return;
+        }
+
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            IniKey *aKey = aSection->GetKey(i);
+            double val;
+            if(!getValue(aKey->mKey.c_str(), val))
+            {
+            	CHECK(false);
+            }
+
+            //Check concentrations
+            CHECK_CLOSE(aKey->AsFloat(), val, 1e-6);
+            clog<<"\n";
+            clog<<"Ref:\t"<<aKey->AsFloat()<<"\tActual:\t "<<val<<endl;
+        }
+    }
+
+    //This test is using the function getValue("eigen_...")
+    //The test is checking for proper exception when Conservation laws are not enabled
+    TEST(GET_EIGENVALUES_THROW_EXCEPTION)
+	{
+       	gRR = getRRInstance();
+        CHECK(gRR!=NULL);
+        setComputeAndAssignConservationLaws(false);
+        IniSection* aSection = iniFile.GetSection("EIGEN_VALUES");
+		if(!aSection || !gRR)
+        {
+        	CHECK(false);
+            return;
+        }
+
+        RRStringArrayPtr ids = getEigenvalueIds();
+        if(!ids)
+        {
+        	CHECK(false);
+            return;
+        }
+        if(ids->Count != aSection->KeyCount() && ids->Count < 1)
+        {
+        	CHECK(false);
+            return;
+        }
+
+        double val;
+        bool res = getValue(ids->String[0], val);
+
+        if(getLastError())
+        {
+        	char* error = getLastError();
+        	clog<<endl<<error;
+        }
+        CHECK(res == false);
+    }
+
+	//This test is using the function getValue("eigen_...")
+    TEST(GET_EIGENVALUES_1)
+	{
+       	gRR = getRRInstance();
+        CHECK(gRR!=NULL);
+        setComputeAndAssignConservationLaws(true);
+        IniSection* aSection = iniFile.GetSection("EIGEN_VALUES");
+        //Read in the reference data, from the ini file
+		if(!aSection || !gRR)
+        {
+        	CHECK(false);
+            return;
+        }
+
+        RRStringArrayPtr ids = getEigenvalueIds();
+        if(!ids)
+        {
+        	CHECK(false);
+			return;
+        }
+        if(ids->Count != aSection->KeyCount())
+        {
+        	CHECK(false);
+            return;
+        }
+
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+        	//Find correct eigenValue
+            for(int j = 0; j < ids->Count; j++)
+            {
+            	if(aSection->mKeys[i]->mKey == ids->String[j])
+                {
+                    IniKey *aKey = aSection->GetKey(i);
+                    clog<<"\n";
+                    clog<<"Ref_EigenValue: "<<aKey->mKey<<": "<<aKey->mValue<<endl;
+
+                    double val;
+                    if(!getValue(ids->String[j], val))
+                    {
+                    	CHECK(false);
+                        continue;
+                    }
+                    clog<<"ID: "<<ids->String[j]<<"= "<<val<<endl;
+
+                    CHECK_CLOSE(aKey->AsFloat(), val, 1e-6);
+                }
+            }
+        }
+    }
+
+	//Using getEigenValues
+    TEST(GET_EIGENVALUES_2)
+	{
+       	gRR = getRRInstance();
+        CHECK(gRR!=NULL);
+        setComputeAndAssignConservationLaws(true);
+
+        IniSection* aSection = iniFile.GetSection("EIGEN_VALUES");
+        //Read in the reference data, from the ini file
+		if(!aSection || !gRR)
+        {
+        	CHECK(false);
+            return;
+        }
+
+        RRDoubleMatrixPtr eigenVals = getEigenvalues();
+		if(!eigenVals)
+		{
+			CHECK(false);
+			return;
+		}
+        clog<<matrixToString(eigenVals);
+        if(!eigenVals || eigenVals->RSize != aSection->KeyCount())
+        {
+        	CHECK(false);
+            return;
+        }
+
+        for(int i = 0 ; i < aSection->KeyCount(); i++)
+        {
+            IniKey *aKey = aSection->GetKey(i);
+            clog<<"\n";
+            clog<<"Ref_EigenValue: "<<aKey->mKey<<": "<<aKey->mValue<<endl;
+
+            double val;
+            if(!getMatrixElement(eigenVals, i , 0, val))
+            {
+            	CHECK(false);
+            }
+        	clog<<"EigenValue "<<i<<": "<<val<<endl;
+            CHECK_CLOSE(aKey->AsFloat(), val, 1e-6);
+
+        }
+		freeMatrix(eigenVals);
+    }
+
+	//Using getEigenValues
+    TEST(COMPUTE_STEADY_STATE_VALUES)
+	{
+       	gRR = getRRInstance();
+        CHECK(gRR!=NULL);
+        setComputeAndAssignConservationLaws(true);
+        RRVector* vec = computeSteadyStateValues();
+        clog<<vectorToString(vec)<<endl;
+    }
+
+    TEST(FULL_JACOBIAN)
+	{
+		IniSection* aSection = iniFile.GetSection("FULL_JACOBIAN");
+   		if(!aSection)
+        {
+        	CHECK(false);
+            return;
+        }
+
+        RRDoubleMatrixPtr 		jActual 	= getFullJacobian();
+        ls::DoubleMatrix 	jRef 		= ParseFromText(aSection->GetNonKeysAsString());
+
+        //Check dimensions
+        if(jActual->RSize != jRef.RSize() || jActual->CSize != jRef.CSize())
+        {
+        	CHECK(false);
+            return;
+        }
+
+        double *mat = jActual->Data;
+
+        for(int row = 0; row < jActual->RSize; row++)
+        {
+            for(int col = 0; col < jActual->CSize; col++)
+            {
+              CHECK_CLOSE(jRef(row,col), jActual->Data[row*jActual->CSize + col], 1e-6);
+            }
+        }
+
+
+        //Check matrixToString
+        char* strMat = matrixToString(jActual);
+		clog<<strMat;
+
+		//Clean up...
+        freeMatrix(jActual);
+
+        freeText(strMat);
+    }
+
+//    TEST(REDUCED_JACOBIAN)
+//	{
+//		IniSection* aSection = iniFile.GetSection("REDUCED_REORDERED_JACOBIAN");
+//   		if(!aSection)
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//        DoubleMatrix jActual 	= aRR->getReducedJacobian();
+//        DoubleMatrix jRef 			= ParseMatrixFromText(aSection->GetNonKeysAsString());
+//
+//        //Check dimensions
+//        if(jActual.RSize() != jRef.RSize() || jActual.CSize() != jRef.CSize())
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//        clog<<"Reduced Jacobian\n"<<jActual;
+//		CHECK_ARRAY2D_CLOSE(jRef, jActual, jActual.RSize(),jActual.CSize(), 1e-6);
+//    }
+//
+//    TEST(FULL_REORDERED_JACOBIAN)
+//	{
+//		IniSection* aSection = iniFile.GetSection("FULL_REORDERED_JACOBIAN");
+//   		if(!aSection)
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//        //Read in the reference data, from the ini file
+//        DoubleMatrix matrix = aRR->getFullReorderedJacobian();
+//        DoubleMatrix ref = ParseMatrixFromText(aSection->GetNonKeysAsString());
+//
+//		cout<<"Reference\n"<<ref;
+//		cout<<"matrix\n"<<matrix;
+//
+//        //Check dimensions
+//        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//		CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+//    }
+//
+//    TEST(REDUCED_REORDERED_JACOBIAN)
+//	{
+//		IniSection* aSection = iniFile.GetSection("FULL_REORDERED_JACOBIAN");
+//   		if(!aSection)
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//        //Read in the reference data, from the ini file
+//        DoubleMatrix matrix = aRR->getReducedJacobian();
+//        DoubleMatrix ref = ParseMatrixFromText(aSection->GetNonKeysAsString());
+//
+//		cout<<"Reference\n"<<ref;
+//		cout<<"matrix\n"<<matrix;
+//
+//        //Check dimensions
+//        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//		CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+//    }
+//
+//    TEST(STOICHIOMETRY_MATRIX)
+//	{
+//		IniSection* aSection = iniFile.GetSection("STOICHIOMETRY_MATRIX");
+//   		if(!aSection)
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//        //Read in the reference data, from the ini file
+//        DoubleMatrix mat = aRR->getStoichiometryMatrix();
+//        DoubleMatrix ref = ParseMatrixFromText(aSection->GetNonKeysAsString());
+//
+//        //Check dimensions
+//        if(mat.RSize() != ref.RSize() || mat.CSize() != ref.CSize())
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//		CHECK_ARRAY2D_CLOSE(ref, mat, mat.RSize(), mat.CSize(), 1e-6);
+//    }
+//
+//    TEST(REORDERED_STOICHIOMETRY_MATRIX)
+//	{
+//		IniSection* aSection = iniFile.GetSection("REORDERED_STOICHIOMETRY_MATRIX");
+//   		if(!aSection)
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//        //Read in the reference data, from the ini file
+//        DoubleMatrix mat		 	= aRR->getReorderedStoichiometryMatrix();
+//        DoubleMatrix ref 			= ParseMatrixFromText(aSection->GetNonKeysAsString());
+//
+//        //Check dimensions
+//        if(mat.RSize() != ref.RSize() || mat.CSize() != ref.CSize())
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//		CHECK_ARRAY2D_CLOSE(ref, mat, mat.RSize(), mat.CSize(), 1e-6);
+//    }
+//
+//    TEST(FULLY_REORDERED_STOICHIOMETRY_MATRIX)
+//	{
+//		IniSection* aSection = iniFile.GetSection("FULLY_REORDERED_STOICHIOMETRY_MATRIX");
+//   		if(!aSection)
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//        //Read in the reference data, from the ini file
+//        DoubleMatrix mat		 	= aRR->getFullyReorderedStoichiometryMatrix();
+//        DoubleMatrix ref 			= ParseMatrixFromText(aSection->GetNonKeysAsString());
+//
+//        //Check dimensions
+//        if(mat.RSize() != ref.RSize() || mat.CSize() != ref.CSize())
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//		CHECK_ARRAY2D_CLOSE(ref, mat, mat.RSize(), mat.CSize(), 1e-6);
+//    }
+//
+//    TEST(LINK_MATRIX)
+//	{
+//		IniSection* aSection = iniFile.GetSection("LINK_MATRIX");
+//   		if(!aSection)
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//        //Read in the reference data, from the ini file
+//        DoubleMatrix matrix 	= *(aRR->getLinkMatrix());
+//        DoubleMatrix ref  		= ParseMatrixFromText(aSection->GetNonKeysAsString());
+//
+//        //Check dimensions
+//        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//		CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+//    }
+//
+//    TEST(UNSCALED_ELASTICITY_MATRIX)
+//	{
+//		IniSection* aSection = iniFile.GetSection("UNSCALED_ELASTICITY_MATRIX");
+//   		if(!aSection)
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//        //Read in the reference data, from the ini file
+//		DoubleMatrix matrix 	= aRR->getUnscaledElasticityMatrix();
+//        DoubleMatrix ref  		= ParseMatrixFromText(aSection->GetNonKeysAsString());
+//
+//        //Check dimensions
+//        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+//        {
+//        	CHECK(!"Wrong matrix dimensions" );
+//            return;
+//        }
+//
+//		CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+//    }
+//
+//    TEST(SCALED_ELASTICITY_MATRIX)
+//	{
+//		IniSection* aSection = iniFile.GetSection("SCALED_ELASTICITY_MATRIX");
+//   		if(!aSection)
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//        //Read in the reference data, from the ini file
+//		DoubleMatrix matrix 	= aRR->getScaledReorderedElasticityMatrix();
+//        DoubleMatrix ref  		= ParseMatrixFromText(aSection->GetNonKeysAsString());
+//
+//        //Check dimensions
+//        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+//        {
+//        	CHECK(!"Wrong matrix dimensions" );
+//            return;
+//        }
+//
+//		CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+//    }
+//
+//    TEST(UNSCALED_CONCENTRATION_CONTROL_MATRIX)
+//	{
+//		IniSection* aSection = iniFile.GetSection("UNSCALED_CONCENTRATION_CONTROL_MATRIX");
+//   		if(!aSection)
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//        //Read in the reference data, from the ini file
+//        DoubleMatrix matrix 	= aRR->getUnscaledConcentrationControlCoefficientMatrix();
+//        DoubleMatrix ref  		= ParseMatrixFromText(aSection->GetNonKeysAsString());
+//
+//        //Check dimensions
+//        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+//        {
+//        	CHECK(!"Wrong matrix dimensions" );
+//            return;
+//        }
+//
+//		CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+//    }
+//
+//    TEST(UNSCALED_FLUX_CONTROL_MATRIX)
+//	{
+//		IniSection* aSection = iniFile.GetSection("UNSCALED_FLUX_CONTROL_MATRIX");
+//   		if(!aSection)
+//        {
+//        	CHECK(false);
+//            return;
+//        }
+//
+//        //Read in the reference data, from the ini file
+//        DoubleMatrix matrix 	= aRR->getUnscaledFluxControlCoefficientMatrix();
+//        DoubleMatrix ref  		= ParseMatrixFromText(aSection->GetNonKeysAsString());
+//
+//        //Check dimensions
+//        if(matrix.RSize() != ref.RSize() || matrix.CSize() != ref.CSize())
+//        {
+//        	CHECK(!"Wrong matrix dimensions" );
+//            return;
+//        }
+//
+//		CHECK_ARRAY2D_CLOSE(ref, matrix, matrix.RSize(), matrix.CSize(), 1e-6);
+//    }
+
+
+}//SUITE
+
+
diff --git a/wrappers/C/Testing/main.cpp b/wrappers/C/Testing/main.cpp
new file mode 100644
index 0000000..5c17a15
--- /dev/null
+++ b/wrappers/C/Testing/main.cpp
@@ -0,0 +1,303 @@
+#include <iostream>
+#include <fstream>
+#include "rrLogger.h"
+#include "rrUtils.h"
+#include "unit_test/UnitTest++.h"
+#include "unit_test/XmlTestReporter.h"
+#include "unit_test/TestReporterStdout.h"
+#include "rrc_api.h"
+#include "rrGetOptions.h"
+#include "src/Args.h"
+#include "rrRoadRunner.h"
+#include "rrConfig.h"
+
+#include "Suite_TestModel.h"
+
+using namespace std;
+using namespace rr;
+using namespace rrc;
+using namespace UnitTest;
+using std::string;
+
+string     gTempFolder              = "";
+string     gRRInstallFolder         = "";
+string     gTestDataFolder          = "";
+bool       gDebug                   = false;
+string     gTSModelsPath;
+string     gCompiler                = "";
+
+void ProcessCommandLineArguments(int argc, char* argv[], Args& args);
+bool setup(Args& args);
+
+static void dispConfigFile()
+{
+    std::string conf = rr::Config::getConfigFilePath();
+    if(conf.length())
+    {
+        cout << "config file: " << conf << endl;
+    }
+    else
+    {
+        cout << "could not find default config file, tried locations: " << endl;
+        int llevel = rr::Logger::getLevel();
+        rr::Logger::setLevel(rr::Logger::LOG_DEBUG);
+        rr::Config::getConfigFilePath();
+        rr::Logger::setLevel(llevel);
+    }
+}
+
+//call with arguments, -m"modelFilePath" -r"resultFileFolder" -t"TempFolder" -s"Suites"
+int main(int argc, char* argv[])
+{
+    cout << "RoadRunner SBML Test Suite" << endl;
+
+    cout << "built on " << __DATE__ << ", " << __TIME__ << endl;
+
+    cout << RoadRunner::getExtendedVersionInfo() << endl;
+
+    Logger::enableConsoleLogging();
+
+    dispConfigFile();
+
+    Config::setValue(Config::LOADSBMLOPTIONS_CONSERVED_MOIETIES, false);
+
+    Args args;
+    ProcessCommandLineArguments(argc, argv, args);
+    setup(args);
+
+    string reportFile(args.ResultOutputFile);
+     fstream aFile(reportFile.c_str(), ios::out);
+    if(!aFile)
+    {
+        cerr<<"Failed opening report file: "<< reportFile <<" in rrc_api testing executable.\n";
+        return false;
+    }
+
+    XmlTestReporter reporter1(aFile);
+    TestRunner runner1(reporter1);
+
+    if(args.Suites.find('A') != std::string::npos)
+    {
+        clog<<"Running Suite CORE_TESTS\n";
+        runner1.RunTestsIf(Test::GetTestList(), "CORE_TESTS",             True(), 0);
+    }
+
+    if(args.Suites.find('B') != std::string::npos)
+    {
+        // run the test model test over multiple data files.
+        std::set<string> files;
+        if (args.TestDataFolder.empty()) {
+          files = SuiteTEST_MODEL::getTestFiles();
+        }
+        else {
+          files = SuiteTEST_MODEL::getTestFiles(args.TestDataFolder);
+        }
+
+        for (std::set<string>::const_iterator i = files.begin();
+                i != files.end(); ++i)
+        {
+            SuiteTEST_MODEL::setTestFile(*i);
+            runner1.RunTestsIf(Test::GetTestList(), "TEST_MODEL", True(), 0);
+        }
+    }
+
+    if(args.Suites.find('C') != std::string::npos)
+    {
+        clog<<"Running Suite NOM TESTS\n";
+        runner1.RunTestsIf(Test::GetTestList(), "NOM_TESTS",             True(), 0);
+    }
+
+    if(args.Suites.find('D') != std::string::npos)
+    {
+        clog<<"Running Suite LibStruct TESTS\n";
+        runner1.RunTestsIf(Test::GetTestList(), "LIBSTRUCT_TESTS",          True(), 0);
+    }
+
+    if (args.Suites.find('E') != std::string::npos)
+    {
+
+        clog << "Running Suite SBML_l2v4\n";
+        clog << "ModelPath " << gTSModelsPath << endl;
+        runner1.RunTestsIf(Test::GetTestList(), "SBML_TEST_SUITE", True(), 0);
+    }
+    if (args.Suites.find('F') != std::string::npos)
+    {
+
+        clog << "Running Suite Valgrind SBML_TEST_SUITE_VG1\n";
+        clog << "ModelPath " << gTSModelsPath<< endl;
+        runner1.RunTestsIf(Test::GetTestList(), "SBML_TEST_SUITE_VG1", True(),
+                0);
+    }
+
+    if (args.Suites.find('G') != std::string::npos)
+    {
+
+        clog << "Running Suite Valgrind SBML_TEST_SUITE_VG2\n";
+        clog << "ModelPath " << gTSModelsPath << endl;
+        runner1.RunTestsIf(Test::GetTestList(), "SBML_TEST_SUITE_VG2", True(),
+                0);
+    }
+
+    if (args.Suites.find('H') != std::string::npos)
+    {
+
+        clog << "Running Suite Valgrind SBML_TEST_SUITE_RATE_RULES\n";
+        clog << "ModelPath " << gTSModelsPath << endl;
+        runner1.RunTestsIf(Test::GetTestList(), "SBML_TEST_SUITE_RATE_RULES", True(),
+                0);
+    }
+
+    if (args.Suites.find('I') != std::string::npos)
+    {
+
+        clog << "Running Suite Valgrind SBML_TEST_SUITE_EVENTS\n";
+        clog << "ModelPath " << gTSModelsPath << endl;
+        runner1.RunTestsIf(Test::GetTestList(), "SBML_TEST_SUITE_EVENTS", True(),
+                0);
+    }
+
+    if (args.Suites.find('J') != std::string::npos)
+    {
+        clog << "Running Suite SBML_TEST_SUITE_C_FAILS\n";
+        clog << "ModelPath " << gTSModelsPath << endl;
+        clog << "NOTE:  all of the following tests *should* fail!" << endl;
+        runner1.RunTestsIf(Test::GetTestList(), "SBML_TEST_SUITE_C_FAIL", True(),
+                0);
+    }
+
+    if (args.Suites.find('K') != std::string::npos)
+    {
+        clog << "Running Suite SBML_TEST_SUITE_LONGTIME\n";
+        clog << "ModelPath " << gTSModelsPath<< endl;
+        runner1.RunTestsIf(Test::GetTestList(), "SBML_TEST_SUITE_LONGTIME", True(),
+                           0);
+    }
+
+    // composite model package.
+    if (args.Suites.find('L') != std::string::npos)
+    {
+        clog << "Running Suite SBML_TEST_SUITE_COMP\n";
+        clog << "ModelPath " << gTSModelsPath<< endl;
+        runner1.RunTestsIf(Test::GetTestList(), "SBML_TEST_SUITE_COMP", True(), 0);
+    }
+
+
+    // composite model package.
+    if (args.Suites.find('M') != std::string::npos)
+    {
+        clog << "Running Suite SBML_TEST_SUITE_FBC\n";
+        clog << "ModelPath " << gTSModelsPath << endl;
+        runner1.RunTestsIf(Test::GetTestList(), "SBML_TEST_SUITE_FBC", True(), 0);
+    }
+
+
+    //Finish outputs result to xml file
+    runner1.Finish();
+    return runner1.GetTestResults()->GetFailureCount();
+}
+
+bool setup(Args& args)
+{
+    string thisExeFolder = getCurrentExeFolder();
+    clog<<"RoadRunner bin location is: "<<thisExeFolder<<endl;
+
+    gRRInstallFolder     = getParentFolder(thisExeFolder);
+    gDebug               = args.EnableLogging;
+    gTSModelsPath        = args.ModelsFilePath;
+    gTempFolder          = args.TempDataFolder;
+    gTestDataFolder      = args.TestDataFolder;
+    if (gTestDataFolder == "") {
+      //If not set by the user, assume this is the bin folder of roadrunner install
+      gTestDataFolder      = joinPath(gRRInstallFolder, "testing");
+    }
+
+    gCompiler = args.compiler;
+    Log(Logger::LOG_NOTICE) << "Using compiler " << gCompiler;
+
+
+    if(args.Suites.size() == 0)
+    {
+        //Run all the non-duplicated tests.
+        args.Suites = "ABCDEJL";
+    }
+
+    setInstallFolder(gRRInstallFolder.c_str());
+
+    if(gDebug)
+    {
+        enableLoggingToConsole();
+        Logger::setLevel(Logger::LOG_DEBUG);
+    }
+    else
+    {
+        Logger::setLevel(Logger::LOG_ERROR);
+    }
+
+    // set test suite model path (read from cmd line)
+    gTSModelsPath = joinPath(joinPath(gTSModelsPath, "cases"), "semantic");
+    return true;
+}
+
+void ProcessCommandLineArguments(int argc, char* argv[], Args& args)
+{
+    char c;
+    while ((c = GetOptions(argc, argv, ("m:r:t:vs:c:i:"))) != -1)
+    {
+        switch (c)
+        {
+            case ('m'): args.ModelsFilePath     = rrOptArg; break;
+            case ('r'): args.ResultOutputFile   = rrOptArg; break;
+            case ('t'): args.TempDataFolder     = rrOptArg; break;
+            case ('v'): args.EnableLogging      = true;     break;
+            case ('s'): args.Suites             = rrOptArg; break;
+            case ('c'): args.compiler           = rrOptArg; break;
+            case ('i'): args.TestDataFolder     = rrOptArg; break;
+            case ('?'): cout << Usage(argv[0]) << endl;     break;
+            default:
+            {
+                string str = argv[rrOptInd-1];
+                if(str != "-?")
+                {
+                    cout<<"*** Illegal option:\t"<<argv[rrOptInd-1]<<" ***\n\n";
+                }
+                exit(0);
+            }
+        }
+    }
+
+    //Check arguments, and choose to bail here if something is not right...
+    if(argc < 2)
+    {
+        cout<<Usage(argv[0])<<endl;
+        cout<<"\n";
+        exit(0);
+    }
+}
+
+#if defined(CG_IDE)
+
+#if defined(STATIC_RRC)
+#pragma comment(lib, "roadrunner_c_api-static.lib")
+#else
+#pragma comment(lib, "roadrunner_c_api.lib")
+#endif
+
+#if defined(STATIC_RR)
+    #pragma comment(lib, "roadrunner-static.lib")
+#else
+    #pragma comment(lib, "roadrunner.lib")
+#endif
+
+#pragma comment(lib, "sundials_cvode")
+#pragma comment(lib, "sundials_nvecserial")
+#pragma comment(lib, "libf2c")
+#pragma comment(lib, "blas")
+#pragma comment(lib, "lapack")
+#pragma comment(lib, "nleq-static")
+#pragma comment(lib, "poco_foundation-static.lib")
+#pragma comment(lib, "poco_xml-static.lib")
+#pragma comment(lib, "rr-libstruct-static.lib")
+#pragma comment(lib, "unit_test-static.lib")
+#endif
+
+
diff --git a/wrappers/C/Testing/src/Args.cpp b/wrappers/C/Testing/src/Args.cpp
new file mode 100644
index 0000000..13b8fba
--- /dev/null
+++ b/wrappers/C/Testing/src/Args.cpp
@@ -0,0 +1,39 @@
+#ifdef USE_PCH
+#include "rr_pch.h"
+#endif
+#pragma hdrstop
+#include <sstream>
+#include <iomanip>
+#include "Args.h"
+#include "rrUtils.h"
+//---------------------------------------------------------------------------
+using namespace std;
+Args::Args()
+:
+ModelsFilePath(""),
+ResultOutputFile(""),
+TempDataFolder("."),
+EnableLogging(false),
+Suites(""),
+compiler(""),
+TestDataFolder("")
+{}
+
+string Usage(const string& prg)
+{
+    stringstream usage;
+    usage << "\nUSAGE for "<<prg<<"\n\n";
+    usage<<left;
+    usage<<setfill('.');
+    usage<<setw(25)<<"-m<FilePath>"                 <<" Folder where the program will read sbml models. \n";
+    usage<<setw(25)<<"-r<FilePath>"                 <<" Results output file, with path.\n";
+    usage<<setw(25)<<"-t<FilePath>"                 <<" Temporary data output folder. If not given, temp files are output to current directory\n";
+    usage<<setw(25)<<"-s"                           <<" Select Suites, e.g. -sABDE selects suite ABD and E\n";
+    usage<<setw(25)<<"-v"                           <<" Enable Logging\n";
+    usage<<setw(25)<<"-c"                           <<" Compiler: gcc or llvm\n";
+    usage<<setw(25)<<"-?"                           <<" Shows the help screen.\n\n";
+
+    usage<<"\nSystems Biology, UW 2012\n";
+    return usage.str();
+}
+
diff --git a/wrappers/C/Testing/src/Args.h b/wrappers/C/Testing/src/Args.h
new file mode 100644
index 0000000..4108d4e
--- /dev/null
+++ b/wrappers/C/Testing/src/Args.h
@@ -0,0 +1,21 @@
+#ifndef CommandLineParametersH
+#define CommandLineParametersH
+#include <string>
+using std::string;
+
+string Usage(const string& prg);
+class Args
+{
+    public:
+                                        Args();
+        virtual                        ~Args(){}
+        string                          ModelsFilePath;     //option m:
+        string                          ResultOutputFile;   //option r:
+        string                          TempDataFolder;     //option t:
+        bool                            EnableLogging;      //option v:
+        string                          Suites;             //option s:
+        string                          compiler;           //option c:
+        string                          TestDataFolder;     //option i:
+};
+
+#endif
diff --git a/wrappers/C/Testing/src/TestUtils.cpp b/wrappers/C/Testing/src/TestUtils.cpp
new file mode 100644
index 0000000..d932f42
--- /dev/null
+++ b/wrappers/C/Testing/src/TestUtils.cpp
@@ -0,0 +1,66 @@
+#include <vector>
+#include "rrUtils.h"
+#include "TestUtils.h"
+
+using namespace std;
+using namespace rr;
+using namespace ls;
+
+vector< complex<double> > getComplexVectorFromString(const string& text)
+{
+	vector< complex<double> > vec;
+
+    //Parse the vector
+    vector<string> rows = splitString(text, "\n");
+    for(int row = 0; row < rows.size(); row++)
+    {
+		vec.push_back(toComplex(rows[row]));
+    }
+	return vec;
+}
+
+ls::DoubleMatrix getDoubleMatrixFromString(const string& textMatrix)
+{
+	DoubleMatrix mat;
+
+    //Parse the matrix
+    vector<string> rows = splitString(textMatrix, "\n");
+    for(int row = 0; row < rows.size(); row++)
+    {
+        vector<string> values = splitString(rows[row], " \t");
+        for(int col = 0; col < values.size(); col++)
+        {
+        	if(!mat.size())
+            {
+                mat.resize(rows.size(), values.size());
+            }
+
+            mat(row, col) = toDouble(values[col]);
+        }
+    }
+	return mat;
+}
+
+ls::ComplexMatrix getComplexMatrixFromString(const string& textMatrix)
+{
+	ComplexMatrix mat;
+
+    //Parse the matrix
+    vector<string> rows = splitString(textMatrix, "\n");
+    for(int row = 0; row < rows.size(); row++)
+    {
+        vector<string> values = splitString(rows[row], " \t");
+        for(int col = 0; col < values.size(); col++)
+        {
+        	if(!mat.size())
+            {
+                mat.resize(rows.size(), values.size());
+            }
+
+            std::complex<double> val = toComplex(values[col]);
+            mat(row, col) = val;
+        }
+    }
+	return mat;
+}
+
diff --git a/wrappers/C/Testing/src/TestUtils.h b/wrappers/C/Testing/src/TestUtils.h
new file mode 100644
index 0000000..3b1fc93
--- /dev/null
+++ b/wrappers/C/Testing/src/TestUtils.h
@@ -0,0 +1,12 @@
+#ifndef TestUtilsH
+#define TestUtilsH
+#include <string>
+#include "rr-libstruct/lsMatrix.h"
+
+
+std::vector< std::complex<double> > getComplexVectorFromString(const std::string& text);
+ls::DoubleMatrix getDoubleMatrixFromString(const std::string& textMatrix);
+ls::ComplexMatrix getComplexMatrixFromString(const std::string& textMatrix);
+
+
+#endif
diff --git a/wrappers/C/Testing/src/rrSBMLTestSuiteSimulation_CAPI.cpp b/wrappers/C/Testing/src/rrSBMLTestSuiteSimulation_CAPI.cpp
new file mode 100644
index 0000000..eb9380b
--- /dev/null
+++ b/wrappers/C/Testing/src/rrSBMLTestSuiteSimulation_CAPI.cpp
@@ -0,0 +1,292 @@
+#pragma hdrstop
+#include "rrException.h"
+#include "rrUtils.h"
+#include "rrRoadRunnerData.h"
+#include "rrSBMLTestSuiteSimulation_CAPI.h"
+#include "rrRoadRunner.h"
+#include "rrLogger.h"
+
+using namespace rrc;
+using namespace std;
+
+extern string gTempFolder;
+extern string gTSModelsPath;
+extern string gCompiler;
+
+
+using namespace rr;
+RoadRunnerData convertCAPIResultData(RRCDataPtr        resultsHandle);
+
+SBMLTestSuiteSimulation_CAPI::SBMLTestSuiteSimulation_CAPI(const string& dataOutputFolder, const string& modelFilePath, const string& modelFileName)
+:
+        rr::TestSuiteModelSimulation(dataOutputFolder, modelFilePath, modelFileName),
+        mRRHandle(NULL)
+{
+}
+
+SBMLTestSuiteSimulation_CAPI::~SBMLTestSuiteSimulation_CAPI()
+{
+}
+
+void SBMLTestSuiteSimulation_CAPI::UseHandle(RRHandle handle)
+{
+    mRRHandle = handle;
+    if(mRRHandle)
+    {
+        this->UseEngine((RoadRunner*) mRRHandle);
+    }
+}
+
+
+bool SBMLTestSuiteSimulation_CAPI::LoadSBMLFromFile()
+{
+    if(!mRRHandle)
+    {
+        return false;
+    }
+
+    try
+    {
+        std::string fileName = GetModelsFullFilePath();
+
+        //Check first if file exists first
+        if(!fileExists(fileName))
+        {
+            Log(Logger::LOG_ERROR) << "sbml file " << fileName << " not found";
+            return false;
+        }
+
+        RoadRunner* rri = (RoadRunner*) mRRHandle;
+
+        LoadSBMLOptions opt;
+
+        // don't generate cache for models
+        opt.modelGeneratorOpt = opt.modelGeneratorOpt | LoadSBMLOptions::RECOMPILE;
+
+        // no mutable initial conditions
+        opt.modelGeneratorOpt = opt.modelGeneratorOpt & ~LoadSBMLOptions::MUTABLE_INITIAL_CONDITIONS;
+
+        // read only model
+        opt.modelGeneratorOpt = opt.modelGeneratorOpt | LoadSBMLOptions::READ_ONLY;
+
+        opt.modelGeneratorOpt = opt.modelGeneratorOpt | LoadSBMLOptions::OPTIMIZE_CFG_SIMPLIFICATION;
+
+        opt.modelGeneratorOpt = opt.modelGeneratorOpt | LoadSBMLOptions::OPTIMIZE_GVN;
+
+
+        rri->load(fileName, &opt);
+        return true;
+    }
+    catch(std::exception& e)
+    {
+        Log(Logger::LOG_ERROR) << "exception while loading sbml: " << e.what();
+        return false;
+    }
+}
+
+bool SBMLTestSuiteSimulation_CAPI::LoadSettings(const string& settingsFName)
+{
+    mModelSettingsFileName = (settingsFName);
+
+    if(!mModelSettingsFileName.size())
+    {
+        mModelSettingsFileName = joinPath(mModelFilePath, GetSettingsFileNameForCase(mCurrentCaseNumber));
+    }
+
+    return SBMLModelSimulation::LoadSettings(mModelSettingsFileName);
+}
+
+bool SBMLTestSuiteSimulation_CAPI::Simulate()
+{
+    if(!mRRHandle)
+    {
+        return false;
+    }
+
+    RRCDataPtr resultData = NULL;
+
+    if (!(resultData = simulate(mRRHandle)))
+    {
+        Log(Logger::LOG_ERROR) << "Failed simulate in test " << mCurrentCaseNumber
+                << ", error: " << rrc::getLastError();
+        return false;
+    }
+
+    mResultData = convertCAPIResultData(resultData);
+    freeRRCData(resultData);
+    return true;
+}
+
+RoadRunnerData SBMLTestSuiteSimulation_CAPI::GetResult()
+{
+    return mResultData; //Not that pretty.
+}
+
+bool SBMLTestSuiteSimulation_CAPI::SaveResult()
+{
+    string resultFileName(joinPath(mDataOutputFolder, "rrCAPI_" + mModelFileName));
+    resultFileName = changeFileExtensionTo(resultFileName, ".csv");
+
+
+    ofstream fs(resultFileName.c_str());
+    fs << mResultData;
+    fs.close();
+// Uncomment the following to output the results in straight .csv format.
+/*
+    //In a format that sbml.org (and a human) would understand:
+    resultFileName = joinPath(mDataOutputFolder, "rrCAPI_std_" + mModelFileName);
+    resultFileName = changeFileExtensionTo(resultFileName, ".csv");
+
+    if(!mResultHandle)
+    {
+        return false;
+    }
+
+    fs.open(resultFileName.c_str());
+    mResultData.writeSimpleOutput(fs);
+    fs.close();
+*/
+    return true;
+}
+
+RoadRunnerData convertCAPIResultData(RRCDataPtr    result)
+{
+    RoadRunnerData resultData;
+
+    vector<string> colNames;
+    //Copy column names
+    for(int i = 0; i < result->CSize; i++)
+    {
+        colNames.push_back(result->ColumnHeaders[i]);
+    }
+
+    resultData.setColumnNames(colNames);
+
+    //Then the data
+    int index = 0;
+    resultData.allocate(result->RSize, result->CSize);
+
+    for(int j = 0; j < result->RSize; j++)
+    {
+        for(int i = 0; i < result->CSize; i++)
+        {
+            resultData(j,i) = result->Data[index++];
+        }
+    }
+
+    return resultData;
+}
+
+
+bool RunTest(const string& version, int caseNumber)
+{
+    bool result(false);
+    RRHandle gRR;
+
+    //Create instance..
+    gRR = createRRInstanceEx(gTempFolder.c_str(), gCompiler.c_str());
+
+
+    //Setup environment
+    setTempFolder(gRR, gTempFolder.c_str());
+
+    if(!gRR)
+    {
+        return false;
+    }
+
+    try
+    {
+        Log(Logger::LOG_NOTICE) << "Running Test: "<< caseNumber << endl;
+        string dataOutputFolder(gTempFolder);
+        string dummy;
+        string logFileName;
+        string settingsFileName;
+
+        setCurrentIntegratorParameterBoolean(gRR, "stiff", 0);
+
+        //Create a log file name
+        createTestSuiteFileNameParts(caseNumber, ".log", dummy, logFileName, settingsFileName);
+
+        //Create subfolder for data output
+        dataOutputFolder = joinPath(dataOutputFolder, getTestSuiteSubFolderName(caseNumber));
+
+        if(!createFolder(dataOutputFolder))
+        {
+            string msg("Failed creating output folder for data output: " + dataOutputFolder);
+            throw(rr::Exception(msg));
+        }
+
+        SBMLTestSuiteSimulation_CAPI simulation(dataOutputFolder);
+
+        simulation.UseHandle(gRR);
+
+        //Read SBML models.....
+        string modelFilePath(gTSModelsPath);
+        string modelFileName;
+
+        simulation.SetCaseNumber(caseNumber);
+        createTestSuiteFileNameParts(caseNumber, "-sbml-" + version + ".xml", modelFilePath, modelFileName, settingsFileName);
+
+        //The following will load and compile and simulate the sbml model in the file
+        simulation.SetModelFilePath(modelFilePath);
+        simulation.SetModelFileName(modelFileName);
+        simulation.ReCompileIfDllExists(true);
+        simulation.CopyFilesToOutputFolder();
+        setTempFolder(gRR, simulation.GetDataOutputFolder().c_str());
+        setComputeAndAssignConservationLaws(gRR, false);
+
+        if(!simulation.LoadSBMLFromFile())
+        {
+            throw(Exception("Failed loading sbml from file"));
+        }
+
+        //Then read settings file if it exists..
+        string settingsOveride("");
+        if(!simulation.LoadSettings(settingsOveride))
+        {
+            throw(Exception("Failed loading simulation settings"));
+        }
+
+        //Then Simulate model
+        if(!simulation.Simulate())
+        {
+            throw(Exception("Failed running simulation"));
+        }
+
+        //Write result
+        if(!simulation.SaveResult())
+        {
+            //Failed to save data
+            throw(Exception("Failed saving result"));
+        }
+
+        if(!simulation.LoadReferenceData())
+        {
+            throw(Exception("Failed Loading reference data"));
+        }
+
+        simulation.CreateErrorData();
+        result = simulation.Pass();
+        result = simulation.SaveAllData() && result;
+        result = simulation.SaveModelAsXML(dataOutputFolder) && result;
+        if(!result)
+        {
+            Log(Logger::LOG_WARNING)<<"\t\t =============== Test "<<caseNumber<<" failed =============\n";
+        }
+        else
+        {
+            Log(Logger::LOG_NOTICE)<<"\t\tTest passed.\n";
+        }
+    }
+    catch(std::exception& ex)
+    {
+        string error = ex.what();
+        cerr<<"Case "<<caseNumber<<": Exception: "<<error<<endl;
+        freeRRInstance(gRR);
+        return false;
+    }
+
+    freeRRInstance(gRR);
+    return result;
+}
diff --git a/wrappers/C/Testing/src/rrSBMLTestSuiteSimulation_CAPI.h b/wrappers/C/Testing/src/rrSBMLTestSuiteSimulation_CAPI.h
new file mode 100644
index 0000000..b02e676
--- /dev/null
+++ b/wrappers/C/Testing/src/rrSBMLTestSuiteSimulation_CAPI.h
@@ -0,0 +1,33 @@
+#ifndef rrSBMLTestSuiteSimulation_CAPIH
+#define rrSBMLTestSuiteSimulation_CAPIH
+#include "rrTestSuiteModelSimulation.h"
+#include "rrc_api.h"
+
+bool RunTest(const string& version, int number);
+
+class SBMLTestSuiteSimulation_CAPI : public rr::TestSuiteModelSimulation
+{
+public:
+    SBMLTestSuiteSimulation_CAPI(const string& dataOutputFolder = "",
+            const string& modelFilePath = "", const string& modelFileName = "");
+
+    ~SBMLTestSuiteSimulation_CAPI();
+
+    void UseHandle(rrc::RRHandle handle);
+
+    /**
+     * Use current file information to load sbml from file
+     */
+    bool LoadSBMLFromFile();
+    bool LoadSettings(const string& fName = "");
+    bool Simulate();
+    bool SaveResult();
+    rr::RoadRunnerData GetResult();
+
+private:
+
+    // we don't own this ptr.
+    rrc::RRHandle mRRHandle;
+};
+
+#endif
diff --git a/wrappers/C/Testing/utils/CMakeLists.txt b/wrappers/C/Testing/utils/CMakeLists.txt
new file mode 100644
index 0000000..f790d01
--- /dev/null
+++ b/wrappers/C/Testing/utils/CMakeLists.txt
@@ -0,0 +1,41 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(RR_C_API_Tests)
+include(${RR_SOURCE_PATH}/cmake/SlicerMacroGetOperatingSystemArchitectureBitness.cmake)
+
+message(STATUS "Testing/utils...")
+
+if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+    execute_process(
+        COMMAND ${CMAKE_CXX_COMPILER} --version
+        OUTPUT_VARIABLE _compiler_output
+        )
+    string(REGEX MATCH "[0-9]\\.[0-9]\\.[0-9]" RR_COMPILER_VERSION ${_compiler_output})
+	message(STATUS "C++ compiler version: ${RR_COMPILER_VERSION} [${CMAKE_CXX_COMPILER_ID}]")
+endif()
+
+SlicerMacroGetOperatingSystemArchitectureBitness("RR")
+
+message(STATUS "bitness: ${RR_BITNESS}")
+message(STATUS "bitness: ${RR_OS}")
+message(STATUS "bitness: ${RR_ARCHITECTURE}")
+
+message(STATUS ${CMAKE_SYSTEM})
+
+configure_file(run_c_tests.sh.in run_c_tests.sh @ONLY)
+
+if(UNIX)
+	install(
+		FILES ${CMAKE_CURRENT_BINARY_DIR}/run_c_tests.sh
+		DESTINATION bin
+		COMPONENT testing
+		PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
+		)
+else()
+	install(
+		FILES run_c_tests.bat ${CMAKE_CURRENT_BINARY_DIR}/run_c_tests.sh
+		DESTINATION bin
+		COMPONENT testing
+	)
+endif()
+
+
diff --git a/wrappers/C/Testing/utils/run_c_tests.bat b/wrappers/C/Testing/utils/run_c_tests.bat
new file mode 100644
index 0000000..830b104
--- /dev/null
+++ b/wrappers/C/Testing/utils/run_c_tests.bat
@@ -0,0 +1,24 @@
+
+echo "Running tests..."
+ at echo off 
+REM ===  Call with three arguments!!
+set compiler=%1
+set compiler_version=%2
+set build_type=%3
+
+
+set install_folder=r:\installs\%compiler%\%compiler_version%\%build_type%
+set model_folder=r:\models
+set wc=r:\rrl
+if %build_type% == release (
+set report_file=%wc%\reports\%compiler%\%compiler_version%\c_tests.xml
+) else (
+set report_file=%wc%\reports\%compiler%\%compiler_version%\c_tests_%build_type%.xml
+)
+
+
+set temp_folder=r:\temp\%compiler_version%
+
+run_test_suite.exe -m%model_folder% -r%report_file% -t%temp_folder% 
+
+echo done...
diff --git a/wrappers/C/Testing/utils/run_c_tests.sh.in b/wrappers/C/Testing/utils/run_c_tests.sh.in
new file mode 100755
index 0000000..6b1de39
--- /dev/null
+++ b/wrappers/C/Testing/utils/run_c_tests.sh.in
@@ -0,0 +1,85 @@
+#!/bin/sh
+
+BITNESS=@RR_BITNESS@
+OS=@RR_OS@
+ARCHITECTURE=@RR_ARCHITECTURE@
+COMPILER_VERSION=@RR_COMPILER_VERSION@
+COMPILER_ID=@CMAKE_CXX_COMPILER_ID@
+BUILD_TYPE=@CMAKE_BUILD_TYPE@
+
+usage () { 
+	echo "run_c_tests \'sbml_test_suite_directory\' output_dir"
+}
+
+if [ -z "$1" ]
+then
+    echo "No argument supplied"
+	usage
+	exit 0
+fi
+
+if [ ! -e $1 ]
+then
+	echo "error, the sbml test suite location $1 does not exist"
+	usage
+	exit 0
+fi
+
+if [ ! -e $2 ]
+then
+	echo "error, the output dir $2 does not exist"
+	usage
+	exit 0
+fi
+
+
+if [ ! -e "$1/cases" ]
+then
+	echo "error, the sbml test suite location $1 does not appear valid, is missing a \'cases\' subdirectory"
+	usage
+	exit 0
+fi
+
+if [ ! -e "$1/cases" ]
+then
+	echo "error, the sbml test suite location $1 does not appear valid, is missing a \'cases\' subdirectory"
+	usage
+	exit 0
+fi
+
+# grab the first line of a git status
+GIT_STATUS=`git --git-dir=$2/.git --work-tree=$2 status | head -1`
+
+# pick out the branch we're on
+GIT_BRANCH=`echo ${GIT_STATUS} | sed -E 's/.*branch[ \t]+(.*)/\1/'`
+
+# format the datetime as part of the filename
+FILE_DATETIME=`date +%Y-%m-%d"_"%H-%M`
+
+echo "git output: $GIT_STATUS"
+echo "git branch: $GIT_BRANCH"
+
+
+# could be on a new architecture, so make the dir if it does not exist
+mkdir -p "$2/reports/${OS}_${ARCHITECTURE}"
+
+REPORT_FILE="$2/reports/${OS}_${ARCHITECTURE}/c_tests_${COMPILER_ID}_${COMPILER_VERSION}_${BUILD_TYPE}_${GIT_BRANCH}_${FILE_DATETIME}.xml"
+
+# set up the compiler, 
+# if LLVM is enabled, LLVM is the default compiler
+#if [ "$OS" != "win" ]
+#then
+#	COMPILER="gcc"
+#else
+#	COMPILER="tcc"
+#fi
+
+echo "run_test_suite -m $1 -r ${REPORT_FILE} -c ${COMPILER}"
+
+# run the test
+run_test_suite -m $1 -r ${REPORT_FILE} -c ${COMPILER}
+
+echo "done, report file: ${REPORT_FILE}"
+
+# display the summary, this is the 3'rd line of the report xml
+sed -n '3p' ${REPORT_FILE}
diff --git a/wrappers/C/_rrc_api.cpp b/wrappers/C/_rrc_api.cpp
new file mode 100644
index 0000000..da30427
--- /dev/null
+++ b/wrappers/C/_rrc_api.cpp
@@ -0,0 +1,2049 @@
+/**
+ * @file rrc_api.cpp
+ * @brief roadRunner C API 2012
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of cRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib for more details.
+ *
+ * Copyright (C) 2012-2013
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+
+#pragma hdrstop
+#include <string>
+#include <iostream>
+#include <sstream>
+#include <fstream>
+#include "rrRoadRunner.h"
+#include "rrRoadRunnerOptions.h"
+#include "rrExecutableModel.h"
+#include "rrCompiler.h"
+#include "rrLogger.h"
+#include "rrException.h"
+#include "rrVersionInfo.h"
+#include "rrUtils.h"
+#include "rrc_api.h"           // Need to include this before the support header..
+#include "rrc_utilities.h"   //Support functions, not exposed as api functions and or data
+#include "rrc_cpp_support.h"   //Support functions, not exposed as api functions and or data
+#include "Integrator.h"
+
+
+#if defined(_MSC_VER)
+    #include <direct.h>
+    #define getcwd _getcwd
+    #define chdir  _chdir
+#elif defined(__BORLANDC__)
+      #include <dir.h>
+#else
+    #include <unistd.h>
+#endif
+
+/*!
+ \brief macro for MAX_PATH
+ \ingroup macros
+*/
+ #if defined(_WIN32)
+    #include <windef.h>
+   #define RR_MAX_PATH MAX_PATH
+#else
+    #include <limits.h>
+    #define RR_MAX_PATH PATH_MAX
+#endif
+//---------------------------------------------------------------------------
+
+namespace rrc
+{
+
+using namespace std;
+using namespace rr;
+
+static ArrayList         sel_getFluxControlCoefficientIds(RoadRunner* rr);
+static ArrayList         sel_getAvailableSteadyStateSymbols(RoadRunner* rr);
+static ArrayList         sel_getAvailableTimeCourseSymbols(RoadRunner* rr);
+static vector<string>    sel_getBoundarySpeciesAmountIds(RoadRunner* rr);
+static vector<string>    sel_getBoundarySpeciesConcIds(RoadRunner* rr);
+static ArrayList         sel_getConcentrationControlCoefficientIds(RoadRunner* rr);
+static ArrayList         sel_getUnscaledConcentrationControlCoefficientIds(RoadRunner* rr);
+static ArrayList         sel_getElasticityCoefficientIds(RoadRunner* rr);
+static ArrayList         sel_getUnscaledElasticityCoefficientIds(RoadRunner* rr);
+static vector<string>    sel_getFloatingSpeciesConcSymbols(RoadRunner* rr);
+static vector<string>    sel_getBoundarySpeciesConcSymbols(RoadRunner* rr);
+
+static vector<double> rr_getRatesOfChange(RoadRunner* rr);
+
+
+// TODO: move all the depracated method here:
+/*
+static int rr_getNumberOfReactions(RoadRunner* r);
+static double rr_getReactionRate(RoadRunner* r, const int& index);
+static double getRateOfChange(const int& index);
+static std::vector<std::string> rr_getRateOfChangeIds(RoadRunner* r);
+static std::vector<std::string> rr_getConservedMoietyIds(RoadRunner* r);
+static std::vector<double> rr_getConservedMoietyValues(RoadRunner* r);
+static int rr_getNumberOfCompartments(RoadRunner* r);
+static void rr_setCompartmentByIndex(RoadRunner* r, const int& index, const double& value);
+static double rr_getCompartmentByIndex(RoadRunner* r, const int& index);
+static std::vector<std::string> rr_getCompartmentIds(RoadRunner* r, RoadRunner* r);
+static int rr_getNumberOfBoundarySpecies(RoadRunner* r);
+static void rr_setBoundarySpeciesByIndex(RoadRunner* r, const int& index, const double& value);
+static double rr_getBoundarySpeciesByIndex(RoadRunner* r, const int& index);
+static std::vector<double> rr_getBoundarySpeciesConcentrations(RoadRunner* r);
+static void rr_setBoundarySpeciesConcentrations(RoadRunner* r, const std::vector<double>& values);
+static std::vector<std::string> rr_getBoundarySpeciesIds(RoadRunner* r);
+static int rr_getNumberOfFloatingSpecies(RoadRunner* r);
+static double rr_getFloatingSpeciesByIndex(RoadRunner* r, int index);
+static void rr_setFloatingSpeciesByIndex(RoadRunner* r, int index, double value);
+static std::vector<double> rr_getFloatingSpeciesConcentrations(RoadRunner* r);
+static std::vector<double> rr_getFloatingSpeciesInitialConcentrations(RoadRunner* r);
+static void rr_setFloatingSpeciesConcentrations(RoadRunner* r, const std::vector<double>& values);
+static void rr_setFloatingSpeciesInitialConcentrationByIndex(RoadRunner* r, const int& index,
+        const double& value);
+static void rr_setFloatingSpeciesInitialConcentrations(RoadRunner* r, const std::vector<double>& values);
+static std::vector<std::string> rr_getFloatingSpeciesIds(RoadRunner* r);
+static std::vector<std::string> rr_getFloatingSpeciesInitialConditionIds(RoadRunner* r);
+static int rr_getNumberOfGlobalParameters(RoadRunner* r);
+static void rr_setGlobalParameterByIndex(RoadRunner* r, const int index, const double value);
+static double rr_getGlobalParameterByIndex(RoadRunner* r, const int& index);
+static std::vector<double> rr_getGlobalParameterValues(RoadRunner* r);
+static std::vector<std::string> rr_getGlobalParameterIds(RoadRunner* r);
+static int rr_getNumberOfDependentSpecies(RoadRunner* r);
+static int rr_getNumberOfIndependentSpecies(RoadRunner* r);
+static std::vector<double> rr_getReactionRates(RoadRunner* r);
+static std::vector<std::string> rr_getReactionIds(RoadRunner* r);
+ */
+
+RRHandle rrcCallConv createRRInstance()
+{
+    start_try
+        string rrInstallFolder(getParentFolder(getRRCAPILocation()));
+        return new RoadRunner("", getTempDir(), joinPath(rrInstallFolder, "rr_support"));
+    catch_ptr_macro
+}
+
+RRHandle rrcCallConv createRRInstanceEx(const char* tempFolder, const char* compiler_cstr)
+{
+    start_try
+        char* text1 = getRRCAPILocation();
+        string text2 = getParentFolder(text1);
+        string rrInstallFolder(text2);
+        rr::freeText(text1);
+        string compiler = compiler_cstr ? compiler_cstr : "";
+
+        if(tempFolder != NULL && !fileExists(tempFolder))
+        {
+            stringstream msg;
+            msg<<"The temporary folder: "<<tempFolder<<" do not exist";
+            Log(Logger::LOG_ERROR)<<msg.str();
+            throw(Exception(msg.str()));
+        }
+        else if(tempFolder)
+        {
+            return new RoadRunner(compiler, tempFolder, joinPath(rrInstallFolder, "rr_support"));
+        }
+        else
+        {
+            return new RoadRunner(compiler, getTempDir(), joinPath(rrInstallFolder, "rr_support"));
+        }
+    catch_ptr_macro
+}
+
+char* rrcCallConv getInstallFolder()
+{
+    if(!gInstallFolder[0])
+    {
+        strncpy(gInstallFolder, "/usr/local", RR_MAX_PATH);
+    }
+    return gInstallFolder;
+}
+
+bool rrcCallConv setInstallFolder(const char* folder)
+{
+    start_try
+        return strncpy(gInstallFolder, folder, RR_MAX_PATH) != NULL ? true : false;
+    catch_bool_macro
+}
+
+char* rrcCallConv getAPIVersion()
+{
+    start_try
+        return rr::createText("1.0");
+    catch_ptr_macro
+}
+
+char* rrcCallConv getCPPAPIVersion(RRHandle handle)
+{
+    start_try
+        return rr::createText(rr::getVersionStr());
+    catch_ptr_macro
+}
+
+int rrcCallConv getVersion()
+{
+    int nmajor = 10000 * RR_VERSION_MAJOR;
+    int nminor = 100 *  RR_VERSION_MINOR;
+    int npatch = 1 * RR_VERSION_PATCH;
+
+    return nmajor + nminor + npatch;
+}
+
+char* rrcCallConv getVersionStr()
+{
+    return rr::createText(rr::getVersionStr(VERSIONSTR_BASIC).c_str());
+}
+
+
+char* rrcCallConv getVersionEx()
+{
+    return rr::createText(rr::getVersionStr(VERSIONSTR_BASIC | VERSIONSTR_COMPILER | VERSIONSTR_DATE).c_str());
+}
+
+char* rrcCallConv getRRCAPILocation()
+{
+#if defined(_WIN32) || defined(WIN32)
+    char path[MAX_PATH];
+    HINSTANCE handle = NULL;
+    const char* dllName = "roadrunner_c_api";
+    handle = GetModuleHandle(dllName);
+    int nrChars = GetModuleFileNameA(handle, path, sizeof(path));
+    if(nrChars != 0)
+    {
+        string aPath = getFilePath(path);
+        char* text = rr::createText(aPath);
+        return text;
+    }
+    return NULL;
+#else
+    return rr::createText(joinPath(getInstallFolder(),"/lib"));
+#endif
+}
+
+char* rrcCallConv getCopyright()
+{
+    start_try
+
+        char* text = rr::createText(rr::getCopyrightStr());
+
+        return text;
+    catch_ptr_macro
+}
+
+char* rrcCallConv getInfo(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getInfo());
+    catch_ptr_macro
+}
+
+char* rrcCallConv getExtendedAPIInfo()
+{
+    start_try
+        RRHandle handle = createRRInstance();
+        RoadRunner* rri = castToRoadRunner(handle);
+        char* text = rr::createText(rri->getExtendedVersionInfo());
+        freeRRInstance(handle);
+        return text;
+    catch_ptr_macro
+}
+
+char* rrcCallConv getlibSBMLVersion(RRHandle handle)
+{
+    start_try
+        return ::strdup(rr::getVersionStr(VERSIONSTR_LIBSBML).c_str());
+    catch_ptr_macro
+}
+
+char* rrcCallConv getCurrentSBML(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getCurrentSBML());
+    catch_ptr_macro
+}
+
+//Flags and Options
+bool rrcCallConv setComputeAndAssignConservationLaws(RRHandle handle, const bool OnOrOff)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setConservedMoietyAnalysis(OnOrOff);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setTempFolder(RRHandle handle, const char* folder)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setTempDir(folder);
+        return true;
+    catch_bool_macro
+}
+
+char* rrcCallConv getTempFolder(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getTempDir());
+    catch_ptr_macro
+}
+
+bool rrcCallConv setCompiler(RRHandle handle, const char* fName)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        if(rri->getCompiler())
+        {
+            return rri->getCompiler()->setCompiler(fName);
+        }
+        else
+        {
+            return false;
+        }
+    catch_bool_macro
+}
+
+char* rrcCallConv getCompiler(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        Compiler *compiler = rri->getCompiler();
+        return strdup(compiler ? compiler->getCompiler().c_str() : "");
+    catch_ptr_macro
+}
+
+bool rrcCallConv setCompilerLocation(RRHandle handle, const char* folder)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        if(rri->getCompiler())
+        {
+            return rri->getCompiler()->setCompilerLocation(folder);
+        }
+        else
+        {
+            return false;
+        }
+    catch_bool_macro
+}
+
+char* rrcCallConv getCompilerLocation(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getCompiler()->getCompilerLocation());
+    catch_ptr_macro
+}
+
+bool rrcCallConv setSupportCodeFolder(RRHandle handle,const char* folder)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        if(rri->getCompiler())
+        {
+            return rri->getCompiler()->setSupportCodeFolder(folder);
+        }
+        else
+        {
+            return false;
+        }
+    catch_bool_macro
+}
+
+char* rrcCallConv getSupportCodeFolder(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getCompiler()->getSupportCodeFolder());
+    catch_ptr_macro
+}
+
+char* rrcCallConv getWorkingDirectory()
+{
+    start_try
+        return rr::createText(rr::getCWD());
+    catch_ptr_macro
+}
+
+bool rrcCallConv loadSBMLFromFile(RRHandle _handle, const char* fileName)
+{
+    start_try
+        //Check first if file exists first
+        if(!fileExists(fileName))
+        {
+            stringstream msg;
+            msg<<"The file "<<fileName<<" was not found";
+            setError(msg.str());
+            return false;
+        }
+
+        RoadRunner* rri = castToRoadRunner(_handle);
+        rri->load(fileName);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv loadSBMLFromFileE(RRHandle _handle, const char* fileName, bool forceRecompile)
+{
+    start_try
+        //Check first if file exists first
+        if(!fileExists(fileName))
+        {
+            stringstream msg;
+            msg<<"The file "<<fileName<<" was not found";
+            setError(msg.str());
+            return false;
+        }
+
+        RoadRunner* rri = castToRoadRunner(_handle);
+
+        LoadSBMLOptions opt;
+        opt.modelGeneratorOpt = forceRecompile ?
+                opt.modelGeneratorOpt | LoadSBMLOptions::RECOMPILE :
+                opt.modelGeneratorOpt & ~LoadSBMLOptions::RECOMPILE;
+
+        rri->load(fileName, &opt);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv loadSBML(RRHandle handle, const char* sbml)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->load(sbml);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv loadSBMLEx(RRHandle handle, const char* sbml, bool forceRecompile)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+
+        LoadSBMLOptions opt;
+                opt.modelGeneratorOpt = forceRecompile ?
+                        opt.modelGeneratorOpt | LoadSBMLOptions::RECOMPILE :
+                        opt.modelGeneratorOpt & ~LoadSBMLOptions::RECOMPILE;
+
+        rri->load(sbml, &opt);
+        return true;
+    catch_bool_macro
+}
+
+
+bool rrcCallConv loadSimulationSettings(RRHandle handle, const char* fileName)
+{
+    start_try
+        //Check first if file exists first
+        if(!fileExists(fileName))
+        {
+            stringstream msg;
+            msg<<"The file "<<fileName<<" was not found";
+            setError(msg.str());
+            return false;
+        }
+
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setSimulateOptions(SimulateOptions(fileName));
+        return true;
+    catch_bool_macro
+}
+
+char* rrcCallConv getSBML(RRHandle handle)
+{
+    start_try
+          RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getSBML());
+    catch_ptr_macro
+}
+
+bool rrcCallConv isModelLoaded(RRHandle handle)
+{
+    start_try
+          RoadRunner* rri = castToRoadRunner(handle);
+        return rri->isModelLoaded();
+    catch_bool_macro
+}
+
+bool rrcCallConv clearModel(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->clearModel();
+    catch_bool_macro
+}
+
+bool rrcCallConv setTimeStart(RRHandle handle, const double timeStart)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->getSimulateOptions().start = timeStart;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setTimeEnd(RRHandle handle, const double timeEnd)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        SimulateOptions &opt = rri->getSimulateOptions();
+        opt.duration = timeEnd - opt.start;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setNumPoints(RRHandle handle, const int nrPoints)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        SimulateOptions &opt = rri->getSimulateOptions();
+        opt.steps = nrPoints - 1;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getTimeStart(RRHandle handle, double* timeStart)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *timeStart = rri->getSimulateOptions().start;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getTimeEnd(RRHandle handle, double* timeEnd)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *timeEnd = rri->getSimulateOptions().duration + rri->getSimulateOptions().start;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getNumPoints(RRHandle handle, int* numPoints)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *numPoints = rri->getSimulateOptions().steps + 1;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setTimeCourseSelectionList(RRHandle handle, const char* list)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList aList(list,", ");
+        rri->setSelections(aList);
+        return true;
+    catch_bool_macro
+}
+
+RRStringArrayPtr rrcCallConv getTimeCourseSelectionList(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+
+        vector<SelectionRecord> selections = rri->getSelections();
+
+        vector<string> list(selections.size());
+
+        for(int i = 0; i < selections.size(); ++i)
+        {
+            list[i] = selections[i].to_string();
+        }
+
+        StringList sNames = list;
+
+        if(!sNames.Count())
+        {
+            return NULL;
+        }
+
+        return createList(sNames);
+    catch_ptr_macro
+}
+
+RRCDataPtr rrcCallConv simulate(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->simulate();
+        return createRRCData(*rri);
+    catch_ptr_macro
+}
+
+RRCDataPtr rrcCallConv simulateEx(RRHandle handle, const double timeStart, const double timeEnd, const int numberOfPoints)
+{
+    start_try
+        setTimeStart(handle, timeStart);
+        setTimeEnd (handle, timeEnd);
+        setNumPoints(handle, numberOfPoints);
+        return simulate(handle);
+    catch_ptr_macro
+}
+
+RRCDataPtr rrcCallConv getSimulationResult(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+
+        //Extract the data and return struct..
+        return  createRRCData(*rri);
+    catch_ptr_macro
+}
+
+
+RRStringArrayPtr rrcCallConv getReactionIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList rNames = rri->getReactionIds();
+
+        if(!rNames.Count())
+        {
+            return NULL;
+        }
+        return createList(rNames);
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv getRatesOfChange(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> rates = rr_getRatesOfChange(rri);
+
+        if(!rates.size())
+        {
+            return NULL;
+        }
+
+        return rrc::createVector(rates);
+    catch_ptr_macro
+}
+
+RRStringArrayPtr rrcCallConv getRatesOfChangeIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList rNames = rri->getRateOfChangeIds();
+
+        if(!rNames.Count())
+        {
+            return NULL;
+        }
+
+        return createList(rNames);
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getUnscaledElasticityMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getUnscaledElasticityMatrix();
+        RRDoubleMatrixPtr matrix = createMatrix(&tempMat);
+        return matrix;
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getScaledElasticityMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getScaledElasticityMatrix();
+        RRDoubleMatrixPtr matrix = createMatrix(&tempMat);
+        return matrix;
+    catch_ptr_macro
+}
+
+bool rrcCallConv getValue(RRHandle handle, const char* symbolId, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getValue(symbolId);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setValue(RRHandle handle, const char* symbolId, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setValue(symbolId, value);
+        return true;
+    catch_bool_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getStoichiometryMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ExecutableModel* model = rri->getModel();
+
+        if(model)
+        {
+            int rows = 0;
+            int cols = 0;
+            double* data = 0;
+
+            model->getStoichiometryMatrix(&rows, &cols, &data);
+
+            RRDoubleMatrixPtr matrix = new RRDoubleMatrix;
+            matrix->RSize = rows;
+            matrix->CSize = cols;
+            matrix->Data =  new double[rows*cols];
+
+            memcpy(matrix->Data, data, rows*cols*sizeof(double));
+
+            free(data);
+
+            return matrix;
+        }
+        else
+        {
+            return 0;
+        }
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getConservationMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getConservationMatrix();
+
+        RRDoubleMatrixPtr matrix = new RRDoubleMatrix;
+        matrix->RSize = tempMat.RSize();
+        matrix->CSize = tempMat.CSize();
+        matrix->Data =  new double[tempMat.RSize()*tempMat.CSize()];
+
+        int index = 0;
+        for(u_int row = 0; row < tempMat.RSize(); row++)
+        {
+            for(u_int col = 0; col < tempMat.CSize(); col++)
+            {
+                matrix->Data[index++] = tempMat(row,col);
+            }
+        }
+        return matrix;
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getLinkMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getLinkMatrix();
+        return createMatrix(&tempMat);
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getNrMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getNrMatrix();
+        return createMatrix(&tempMat);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC bool rrcCallConv hasError()
+{
+    return (gLastError != NULL) ? true : false;
+}
+
+char* rrcCallConv getLastError()
+{
+    if(!gLastError)
+    {
+        gLastError = rr::createText("No Error");
+    }
+    return gLastError;
+}
+
+int rrcCallConv getNumberOfReactions(RRHandle handle)
+{
+     start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfReactions();
+    catch_int_macro
+}
+
+bool rrcCallConv getReactionRate(RRHandle handle, const int rateNr, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getReactionRate(rateNr);
+        return true;
+    catch_bool_macro
+}
+
+RRVectorPtr rrcCallConv getReactionRates(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getReactionRates();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+int rrcCallConv getNumberOfBoundarySpecies(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfBoundarySpecies();
+    catch_int_macro
+}
+
+RRStringArrayPtr rrcCallConv getBoundarySpeciesIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList bNames = rri->getBoundarySpeciesIds();
+
+        if(!bNames.Count())
+        {
+            return NULL;
+        }
+
+        return createList(bNames);
+    catch_ptr_macro
+}
+
+int rrcCallConv getNumberOfFloatingSpecies(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfFloatingSpecies();
+    catch_int_macro
+}
+
+RRStringArrayPtr rrcCallConv getFloatingSpeciesIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList fNames = rri->getFloatingSpeciesIds();
+
+        if(!fNames.Count())
+        {
+            return NULL;
+        }
+
+        return createList(fNames);
+    catch_ptr_macro
+}
+
+int rrcCallConv getNumberOfGlobalParameters(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfGlobalParameters();
+    catch_int_macro
+}
+
+RRStringArrayPtr rrcCallConv getGlobalParameterIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList pNames = rri->getGlobalParameterIds();
+
+        if(!pNames.Count())
+        {
+            return NULL;
+        }
+
+        return createList(pNames);
+    catch_ptr_macro
+}
+
+bool rrcCallConv getFloatingSpeciesInitialConcentrationByIndex(RRHandle handle, int index, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ExecutableModel *model = rri->getModel();
+
+        if (model && model->getNumFloatingSpecies() > index)
+        {
+            return model->getFloatingSpeciesInitConcentrations(1, &index, value) >= 0;
+        }
+        return true;
+    catch_bool_macro
+}
+
+RRVectorPtr rrcCallConv getFloatingSpeciesConcentrations(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getFloatingSpeciesConcentrations();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv getBoundarySpeciesConcentrations(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getBoundarySpeciesConcentrations();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv getFloatingSpeciesInitialConcentrations(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getFloatingSpeciesInitialConcentrations();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+bool rrcCallConv setFloatingSpeciesByIndex (RRHandle handle, const int index, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setFloatingSpeciesByIndex(index, value);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setBoundarySpeciesByIndex (RRHandle handle, const int index, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setBoundarySpeciesByIndex(index, value);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setGlobalParameterByIndex(RRHandle handle, const int index, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setGlobalParameterByIndex(index, value);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setFloatingSpeciesInitialConcentrationByIndex(RRHandle handle, const int index, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setFloatingSpeciesInitialConcentrationByIndex(index, value);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setFloatingSpeciesInitialConcentrations(RRHandle handle, const RRVectorPtr vec)
+{
+    start_try
+        vector<double> tempVec;
+        copyVector(vec, tempVec);
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->changeInitialConditions(tempVec);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setFloatingSpeciesConcentrations(RRHandle handle, const RRVectorPtr vec)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+
+
+        vector<double> tempVec;
+        copyVector(vec, tempVec);
+        rri->setFloatingSpeciesConcentrations(tempVec);
+
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setBoundarySpeciesConcentrations(RRHandle handle, const RRVectorPtr vec)
+{
+    start_try
+        vector<double> tempVec;
+        copyVector(vec, tempVec);
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setBoundarySpeciesConcentrations(tempVec);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv oneStep(RRHandle handle, const double currentTime, const double stepSize, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->oneStep(currentTime, stepSize);
+        return true;
+    catch_bool_macro
+}
+
+RRVectorPtr rrcCallConv getGlobalParameterValues(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getGlobalParameterValues();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+RRListPtr rrcCallConv getAvailableTimeCourseSymbols(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ArrayList slSymbols = sel_getAvailableTimeCourseSymbols(rri);
+        return createArrayList(slSymbols);
+    catch_ptr_macro
+}
+
+RRListPtr rrcCallConv getAvailableSteadyStateSymbols(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ArrayList slSymbols = sel_getAvailableSteadyStateSymbols(rri);
+        return createArrayList(slSymbols);
+    catch_ptr_macro
+}
+
+bool rrcCallConv getBoundarySpeciesByIndex (RRHandle handle, const int index, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getBoundarySpeciesByIndex(index);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getFloatingSpeciesByIndex (RRHandle handle, const int index, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getFloatingSpeciesByIndex(index);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getGlobalParameterByIndex (RRHandle handle, const int index, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getGlobalParameterByIndex(index);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getuCC (RRHandle handle, const char* variable, const char* parameter, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getuCC(variable, parameter);
+        return true;
+    catch_bool_macro
+}
+
+
+bool rrcCallConv getCC (RRHandle handle, const char* variable, const char* parameter, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getCC(variable, parameter);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getuEE(RRHandle handle, const char* name, const char* species, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getuEE(name, species);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getEE(RRHandle handle, const char* name, const char* species, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getEE(name, species);
+        return true;
+    catch_bool_macro
+}
+
+int rrcCallConv getNumberOfDependentSpecies(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfDependentSpecies();
+    catch_int_macro
+}
+
+int rrcCallConv getNumberOfIndependentSpecies(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfIndependentSpecies();
+    catch_int_macro
+}
+
+bool rrcCallConv steadyState(RRHandle handle, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->steadyState();
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv evalModel(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->evalModel();
+        return true;
+    catch_bool_macro
+}
+
+char* rrcCallConv getParamPromotedSBML(RRHandle handle, const char* sArg)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        string param =  rri->getParamPromotedSBML(sArg);
+        char* text = rr::createText(param.c_str());
+        return text;
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv computeSteadyStateValues(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getSteadyStateValues();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+bool rrcCallConv setSteadyStateSelectionList(RRHandle handle, const char* list)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList aList(list, " ,");
+        rri->setSteadyStateSelections(aList);
+        return true;
+    catch_bool_macro
+}
+
+RRStringArrayPtr rrcCallConv getSteadyStateSelectionList(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<SelectionRecord>& ss = rri->getSteadyStateSelections();
+
+        vector<string> sNames;
+
+        for(int i = 0; i < ss.size(); ++i)
+        {
+            sNames.push_back(ss[i].to_string());
+        }
+
+        return createList(sNames);
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getFullJacobian(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getFullJacobian();
+        return createMatrix(&tempMat);
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getReducedJacobian(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getReducedJacobian();
+        return createMatrix(&tempMat);
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getEigenvalues(RRHandle handle)
+{
+    start_try
+    RoadRunner* rri = castToRoadRunner(handle);
+    std::vector<ls::Complex> eigen = rri->getFullEigenValues();
+
+    RRDoubleMatrixPtr matrix = new RRDoubleMatrix;
+
+    matrix->RSize = eigen.size();
+    matrix->CSize = 2;
+    int dim =  matrix->RSize * matrix->CSize;
+    if(dim)
+    {
+        matrix->Data =  new double[matrix->RSize * matrix->CSize];
+    }
+    else
+    {
+        delete matrix;
+        return NULL;
+    }
+
+    int index = 0;
+    for(u_int row = 0; row < matrix->RSize; row++)
+    {
+        matrix->Data[index++] = std::real(eigen[row]);
+        matrix->Data[index++] = std::imag(eigen[row]);
+    }
+    return matrix;
+
+    catch_ptr_macro
+}
+
+// *******  Not yet implemented  ********
+// codeGenerationMode = 0 if mode is C code generation
+// codeGenerationMode = 1 ig mode is internal math interpreter
+bool rrcCallConv setCodeGenerationMode (RRHandle handle, int mode)
+{
+    return false;
+}
+
+bool rrcCallConv getScaledFloatingSpeciesElasticity(RRHandle handle, const char* reactionId, const char* speciesId, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getScaledFloatingSpeciesElasticity(reactionId, speciesId);
+        return true;
+    catch_bool_macro
+}
+
+RRStringArrayPtr rrcCallConv getFloatingSpeciesInitialConditionIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList aList = rri->getFloatingSpeciesInitialConditionIds();
+        return createList(aList);
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv getRatesOfChangeEx(RRHandle handle, const RRVectorPtr vec)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> values = rrc::createVector(vec);
+
+        rri->setFloatingSpeciesConcentrations(values);
+        vector<double> tempList = rr_getRatesOfChange(rri);
+        return rrc::createVector (tempList);
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv getReactionRatesEx(RRHandle handle, const RRVectorPtr vec)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> conc = rrc::createVector(vec);
+
+        ExecutableModel *model = rri->getModel();
+
+        if (!model)
+        {
+            throw CoreException(gEmptyModelMessage);
+        }
+
+        model->setFloatingSpeciesConcentrations(conc.size(), 0, &conc[0]);
+
+        vector<double> result(model->getNumReactions());
+
+        model->getReactionRates(result.size(), 0, &result[0]);
+
+        return rrc::createVector(result);
+    catch_ptr_macro
+}
+
+RRListPtr rrcCallConv getElasticityCoefficientIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ArrayList aList = sel_getElasticityCoefficientIds(rri);
+        RRListPtr bList = createArrayList(aList);
+        return bList;
+    catch_ptr_macro
+}
+
+bool rrcCallConv setConfigurationXML(RRHandle handle, const char* caps)
+{
+    return false;
+}
+
+char* rrcCallConv getConfigurationXML(RRHandle handle)
+{
+    return 0;
+}
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+RRStringArrayPtr rrcCallConv getEigenvalueIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList aList = rri->getEigenValueIds();
+        return createList(aList);
+    catch_ptr_macro
+}
+
+RRListPtr rrcCallConv getFluxControlCoefficientIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return createArrayList(sel_getFluxControlCoefficientIds(rri));
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getUnscaledConcentrationControlCoefficientMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix aMat = rri->getUnscaledConcentrationControlCoefficientMatrix();
+        return createMatrix(&(aMat));
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getScaledConcentrationControlCoefficientMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix aMat = rri->getScaledConcentrationControlCoefficientMatrix();
+        return createMatrix(&(aMat));
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getUnscaledFluxControlCoefficientMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix aMat = rri->getUnscaledFluxControlCoefficientMatrix();
+        return createMatrix(&(aMat));
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getScaledFluxControlCoefficientMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix aMat = rri->getScaledFluxControlCoefficientMatrix();
+        return createMatrix(&(aMat));
+    catch_ptr_macro
+}
+
+static ArrayList RoadRunner_getUnscaledFluxControlCoefficientIds(RoadRunner *rr)
+{
+    ArrayList oResult;
+
+    vector<string> oReactions = rr->getReactionIds();
+    vector<string> oParameters = rr->getGlobalParameterIds();
+    vector<string> oBoundary = rr->getBoundarySpeciesIds();
+    vector<string> oConservation = rr->getConservedMoietyIds();
+
+    for(int i = 0; i < oReactions.size(); i++)
+    {
+        string s = oReactions[i];
+
+        ArrayList oCCReaction;
+        vector<string> oInner;
+        oCCReaction.Add(s);
+
+        for(int i = 0; i < oParameters.size(); i++)
+        {
+            oInner.push_back("ucc(" + s + "," + oParameters[i] + ")");
+        }
+
+        for(int i = 0; i < oBoundary.size(); i++)
+        {
+            oInner.push_back("ucc(" + s + "," + oBoundary[i] + ")");
+        }
+
+        for(int i = 0; i < oConservation.size(); i++)
+        {
+            oInner.push_back("ucc(" + s + "," + oConservation[i] + ")");
+        }
+
+        oCCReaction.Add(oInner);
+        oResult.Add(oCCReaction);
+    }
+
+    return oResult;
+}
+
+RRListPtr rrcCallConv getUnscaledFluxControlCoefficientIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ArrayList arrList = RoadRunner_getUnscaledFluxControlCoefficientIds(rri);
+        return createArrayList(arrList);
+    catch_ptr_macro
+}
+
+RRList* rrcCallConv getConcentrationControlCoefficientIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ArrayList list = sel_getConcentrationControlCoefficientIds(rri);
+        return createArrayList(list);
+    catch_ptr_macro
+}
+
+RRListPtr rrcCallConv getUnscaledConcentrationControlCoefficientIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return createArrayList(sel_getUnscaledConcentrationControlCoefficientIds(rri));
+    catch_ptr_macro
+}
+
+int rrcCallConv getNumberOfCompartments(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfCompartments();
+    catch_int_macro
+}
+
+bool rrcCallConv getCompartmentByIndex(RRHandle handle, const int index, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getCompartmentByIndex(index);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setCompartmentByIndex (RRHandle handle, const int index, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setCompartmentByIndex(index, value);
+        return true;
+    catch_bool_macro
+}
+
+RRStringArrayPtr rrcCallConv getCompartmentIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return createList(rri->getCompartmentIds());
+    catch_ptr_macro
+}
+
+bool rrcCallConv getRateOfChange(RRHandle handle, const int index, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getRateOfChange(index);
+        return true;
+    catch_bool_macro
+}
+
+char* rrcCallConv getBuildDate()
+{
+    return rr::createText(__DATE__);
+}
+
+char* rrcCallConv getBuildTime()
+{
+    return rr::createText(__TIME__);
+}
+
+char* rrcCallConv getBuildDateTime()
+{
+    return rr::createText(string(__DATE__) + string(" ") + string(__TIME__));
+}
+
+bool rrcCallConv freeRRInstance(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        delete rri;
+        rri = NULL;
+        return true;
+    catch_bool_macro
+}
+
+//  Help("Returns the Symbols of all Flux Control Coefficients.")
+ArrayList sel_getFluxControlCoefficientIds(RoadRunner* rr)
+{
+    ArrayList oResult;
+    vector<string> oReactions       = rr->getReactionIds();
+    vector<string> oParameters      = rr->getGlobalParameterIds();
+    vector<string> oBoundary        = rr->getBoundarySpeciesIds();
+    vector<string> oConservation    = rr->getConservedMoietyIds();
+
+    for(int i = 0; i < oReactions.size(); i++)
+    {
+        string s = oReactions[i];
+
+        ArrayList oCCReaction;
+        StringList oInner;
+        oCCReaction.Add(s);
+
+        for(int i = 0; i < oParameters.size(); i++)
+        {
+            oInner.add("cc(" + s + "," + oParameters[i] + ")");
+        }
+
+        for(int i = 0; i < oBoundary.size(); i++)
+        {
+            oInner.add("cc(" + s + "," + oBoundary[i] + ")");
+        }
+
+        for(int i = 0; i < oConservation.size(); i++)
+        {
+            oInner.add("cc(" + s + "," + oConservation[i] + ")");
+        }
+
+        oCCReaction.Add(oInner);
+        oResult.Add(oCCReaction);
+    }
+
+    return oResult;
+}
+
+// Help(
+//            "Returns symbols of the currently loaded model, that can be used for steady state analysis. format: array of arrays  { { \"groupname\", { \"item1\", \"item2\" ... } } }  or { { \"groupname\", { \"subgroup\", { \"item1\" ... } } } }."
+//            )
+ArrayList sel_getAvailableSteadyStateSymbols(RoadRunner* rr)
+{
+    ArrayList oResult;
+
+    oResult.Add("Floating Species",                                 sel_getFloatingSpeciesConcSymbols(rr) );
+    oResult.Add("Boundary Species",                                 sel_getBoundarySpeciesConcSymbols(rr) );
+    oResult.Add("Floating Species (amount)",                        rr->getFloatingSpeciesIds());
+    oResult.Add("Boundary Species (amount)",                        rr->getBoundarySpeciesIds());
+    oResult.Add("Global Parameters",                                rr->getGlobalParameterIds());
+    oResult.Add("Volumes",                                          rr->getCompartmentIds());
+    oResult.Add("Fluxes",                                           rr->getReactionIds());
+    oResult.Add("Flux Control Coefficients",                        sel_getFluxControlCoefficientIds(rr) );
+    oResult.Add("Concentration Control Coefficients",               sel_getConcentrationControlCoefficientIds(rr) );
+    oResult.Add("Unscaled Concentration Control Coefficients",      sel_getUnscaledConcentrationControlCoefficientIds(rr));
+    oResult.Add("Elasticity Coefficients",                          sel_getElasticityCoefficientIds(rr) );
+    oResult.Add("Unscaled Elasticity Coefficients",                 sel_getUnscaledElasticityCoefficientIds(rr) );
+    oResult.Add("Eigenvalues",                                      rr->getEigenValueIds() );
+
+    return oResult;
+}
+
+ArrayList sel_getAvailableTimeCourseSymbols(RoadRunner* rr)
+{
+    ArrayList oResult;
+    oResult.Add("Floating Species",                 sel_getFloatingSpeciesConcSymbols(rr) );
+    oResult.Add("Boundary Species",                 sel_getBoundarySpeciesConcSymbols(rr) );
+    oResult.Add("Floating Species (amount)",        rr->getFloatingSpeciesIds() );
+    oResult.Add("Boundary Species (amount)",        rr->getBoundarySpeciesIds() );
+    oResult.Add("Global Parameters",                rr->getGlobalParameterIds() );
+    oResult.Add("Fluxes",                           rr->getReactionIds() );
+    oResult.Add("Rates of Change",                  rr->getRateOfChangeIds() );
+    oResult.Add("Volumes",                          rr->getCompartmentIds() );
+    oResult.Add("Elasticity Coefficients",          sel_getElasticityCoefficientIds(rr) );
+    oResult.Add("Unscaled Elasticity Coefficients", sel_getUnscaledElasticityCoefficientIds(rr) );
+    oResult.Add("Eigenvalues",                      rr->getEigenValueIds() );
+    return oResult;
+}
+
+// Help("Gets the list of boundary species amount names")
+vector<string> sel_getBoundarySpeciesAmountIds(RoadRunner* rr)
+{
+    vector<string> result;// = new ArrayList();
+    vector<string> list = rr->getBoundarySpeciesIds();
+//    foreach (string s in getBoundarySpeciesIds()) oResult.add("[" + s + "]");
+    for(int item = 0; item < list.size(); item++)// (object item in floatingSpeciesNames)
+    {
+        result.push_back(format("{0}", list[item]));
+    }
+
+    return result;
+}
+
+vector<string> sel_getBoundarySpeciesConcIds(RoadRunner* rr)
+{
+    vector<string> result;// = new ArrayList();
+    vector<string> list = rr->getBoundarySpeciesIds();
+//    foreach (string s in getBoundarySpeciesIds()) oResult.add("[" + s + "]");
+    for(int item = 0; item < list.size(); item++)// (object item in floatingSpeciesNames)
+    {
+        result.push_back(format("[{0}]", list[item]));
+    }
+
+    return result;
+}
+
+// Help("Returns the Symbols of all Concentration Control Coefficients.")
+ArrayList sel_getConcentrationControlCoefficientIds(RoadRunner* rr)
+{
+    ArrayList oResult;// = new ArrayList();
+    vector<string> oFloating        = rr->getFloatingSpeciesIds();
+    vector<string> oParameters      = rr->getGlobalParameterIds();
+    vector<string> oBoundary        = rr->getBoundarySpeciesIds();
+    vector<string> oConservation    = rr->getConservedMoietyIds();
+
+    for(int i = 0; i < oFloating.size(); i++)
+    {
+        string s = oFloating[i];
+        ArrayList oCCFloating;
+        StringList oInner;
+        oCCFloating.Add(s);
+
+        for(int i = 0; i < oParameters.size(); i++)
+        {
+            oInner.add("CC:" + s + "," + oParameters[i]);
+        }
+
+        for(int i = 0; i < oBoundary.size(); i++)
+        {
+            oInner.add("CC:" + s + "," + oBoundary[i]);
+        }
+
+        for(int i = 0; i < oConservation.size(); i++)
+        {
+            oInner.add("CC:" + s + "," + oConservation[i]);
+        }
+
+        oCCFloating.Add(oInner);
+        oResult.Add(oCCFloating);
+    }
+
+    return oResult;
+}
+
+// Help("Returns the Symbols of all Unscaled Concentration Control Coefficients.")
+ArrayList sel_getUnscaledConcentrationControlCoefficientIds(RoadRunner* rr)
+{
+    ArrayList oResult;
+    vector<string> oFloating        = rr->getFloatingSpeciesIds();
+    vector<string> oParameters      = rr->getGlobalParameterIds();
+    vector<string> oBoundary        = rr->getBoundarySpeciesIds();
+    vector<string> oConservation    = rr->getConservedMoietyIds();
+
+    for(int i = 0; i < oFloating.size(); i++)
+    {
+        string s = oFloating[i];
+        ArrayList oCCFloating;
+        vector<string> oInner;
+        oCCFloating.Add(s);
+
+        for(int i = 0; i < oParameters.size(); i++)
+        {
+            oInner.push_back("uCC:" + s + "," + oParameters[i]);
+        }
+
+        for(int i = 0; i < oBoundary.size(); i++)
+        {
+            oInner.push_back("uCC:" + s + "," + oBoundary[i]);
+        }
+
+        for(int i = 0; i < oConservation.size(); i++)
+        {
+            oInner.push_back("uCC:" + s + "," + oConservation[i]);
+        }
+
+        oCCFloating.Add(oInner);
+        oResult.Add(oCCFloating);
+    }
+
+    return oResult;
+}
+
+// Help("Returns the Symbols of all Elasticity Coefficients.")
+ArrayList sel_getElasticityCoefficientIds(RoadRunner* rr)
+{
+    ArrayList oResult;
+    vector<string> reactionNames        = rr->getReactionIds();
+    vector<string> floatingSpeciesNames = rr->getFloatingSpeciesIds();
+    vector<string> boundarySpeciesNames = rr->getBoundarySpeciesIds();
+    vector<string> conservationNames    = rr->getConservedMoietyIds();
+    vector<string> globalParameterNames = rr->getGlobalParameterIds();
+
+    for(int i = 0; i < reactionNames.size(); i++)
+    {
+        string reac_name = reactionNames[i];
+        ArrayList oCCReaction;
+        oCCReaction.Add(reac_name);
+        StringList oInner;
+
+        for(int j = 0; j < floatingSpeciesNames.size(); j++)
+        {
+            oInner.add(format("EE:{0},{1}", reac_name, floatingSpeciesNames[j]));
+        }
+
+        for(int j = 0; j < boundarySpeciesNames.size(); j++)
+        {
+            oInner.add(format("EE:{0},{1}", reac_name, boundarySpeciesNames[j]));
+        }
+
+        for(int j = 0; j < globalParameterNames.size(); j++)
+        {
+            oInner.add(format("EE:{0},{1}", reac_name, globalParameterNames[j]));
+        }
+
+        for(int j = 0; j < conservationNames.size(); j++)
+        {
+            oInner.add(format("EE:{0},{1}", reac_name, conservationNames[j]));
+        }
+
+        oCCReaction.Add(oInner);
+        oResult.Add(oCCReaction);
+    }
+
+    return oResult;
+}
+
+// Help("Returns the Symbols of all Unscaled Elasticity Coefficients.")
+ArrayList sel_getUnscaledElasticityCoefficientIds(RoadRunner* rr)
+{
+    ArrayList oResult;
+    vector<string> oReactions( rr->getReactionIds() );
+    vector<string> oFloating = rr->getFloatingSpeciesIds();
+    vector<string> oBoundary = rr->getBoundarySpeciesIds();
+    vector<string> oGlobalParameters = rr->getGlobalParameterIds();
+    vector<string> oConservation = rr->getConservedMoietyIds();
+
+    for(int i = 0; i < oReactions.size(); i++)
+    {
+        string reac_name = oReactions[i];
+        ArrayList oCCReaction;
+        StringList oInner;
+        oCCReaction.Add(reac_name);
+
+        for(int j = 0; j < oFloating.size(); j++)
+        {
+            string variable = oFloating[j];
+            oInner.add(format("uEE:{0},{1}", reac_name, variable));
+        }
+
+        for(int j = 0; j < oBoundary.size(); j++)
+        {
+            string variable = oBoundary[j];
+            oInner.add(format("uEE:{0},{1}", reac_name, variable));
+        }
+
+        for(int j = 0; j < oGlobalParameters.size(); j++)
+        {
+            string variable = oGlobalParameters[j];
+            oInner.add(format("uEE:{0},{1}", reac_name, variable));
+        }
+
+        for(int j = 0; j < oConservation.size(); j++)
+        {
+            string variable = oConservation[j];
+            oInner.add(format("uEE:{0},{1}", reac_name, variable));
+        }
+
+        oCCReaction.Add(oInner);
+        oResult.Add(oCCReaction);
+    }
+
+    return oResult;
+}
+
+
+vector<string> sel_getFloatingSpeciesConcSymbols(RoadRunner* rr)
+{
+    vector<string> ids = rr->getFloatingSpeciesIds();
+    vector<string> result;
+
+    for(int i = 0; i < ids.size(); i++)
+    {
+        result.push_back("[" + ids[i] + "]");
+    }
+
+    return result;
+}
+
+
+vector<string> sel_getBoundarySpeciesConcSymbols(RoadRunner* rr)
+{
+    vector<string> ids = rr->getBoundarySpeciesIds();
+    vector<string> result;
+
+    for(int i = 0; i < ids.size(); i++)
+    {
+        result.push_back("[" + ids[i] + "]");
+    }
+
+    return result;
+}
+
+vector<double> rr_getRatesOfChange(RoadRunner* rr)
+{
+    ExecutableModel *mModel = rr->getModel();
+    if (!mModel)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    mModel->computeAllRatesOfChange();
+    vector<double> result(mModel->getNumFloatingSpecies());
+    mModel->getFloatingSpeciesAmountRates(result.size(), 0, &result[0]);
+    return result;
+}
+
+C_DECL_SPEC bool rrcCallConv getSeed(RRHandle h, long* result) {
+    start_try
+        RoadRunner *r = (RoadRunner*)h;
+        Integrator *intg = r->getIntegrator(Integrator::GILLESPIE);
+        *result = intg->getItem("seed").convert<long>();
+        return true;
+    catch_bool_macro;
+}
+
+C_DECL_SPEC bool rrcCallConv setSeed(RRHandle h, long result) {
+    start_try
+        RoadRunner *r = (RoadRunner*)h;
+        Integrator *intg = r->getIntegrator(Integrator::GILLESPIE);
+        intg->setItem("seed", result);
+        return true;
+    catch_bool_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespie(RRHandle handle) {
+    start_try
+        RoadRunner *r = (RoadRunner*)handle;
+        SimulateOptions& o = r->getSimulateOptions();
+        o.integrator = Integrator::GILLESPIE;
+        o.integratorFlags |= Integrator::VARIABLE_STEP;
+        r->simulate();
+        return createRRCData(*r);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieEx(RRHandle handle, double timeStart, double timeEnd) {
+    start_try
+        setTimeStart (handle, timeStart);
+        setTimeEnd (handle, timeEnd);
+        return gillespie(handle);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieOnGrid(RRHandle handle) {
+    start_try
+        RoadRunner *r = (RoadRunner*)handle;
+        SimulateOptions& o = r->getSimulateOptions();
+        o.integrator = Integrator::GILLESPIE;
+        o.integratorFlags &= !Integrator::VARIABLE_STEP;
+        r->simulate();
+        return createRRCData(*r);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfPoints) {
+    start_try
+        setTimeStart (handle, timeStart);
+        setTimeEnd (handle, timeEnd);
+        setNumPoints (handle, numberOfPoints);
+        return gillespieOnGrid(handle);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanOnGrid(RRHandle handle, int numberOfSimulations) {
+    start_try
+        // Standard gillespieOnGrid setup
+        RoadRunner *r = (RoadRunner*)handle;
+        SimulateOptions& o = r->getSimulateOptions();
+        o.integrator = Integrator::GILLESPIE;
+        o.integratorFlags &= !Integrator::VARIABLE_STEP;
+
+        double steps = o.steps;
+
+        RoadRunner &rref = const_cast<RoadRunner&>(*r);
+        const DoubleMatrix& reference = *rref.getSimulationData();
+
+        // Initializes a DoubleMatrix "res" with all zeroes
+        DoubleMatrix avg(reference.RSize(), reference.CSize());
+        for (int row = 0; row < reference.RSize(); row++) {
+            for (int col = 0; col < reference.CSize(); col++) {
+                avg(row, col) = 0;
+            }
+        }
+
+        // Runs simulations, obtaining avg with Welford's Algorithm
+        for (int i = 0; i < numberOfSimulations; i++) {
+            const DoubleMatrix &temp = *r->simulate();
+            for (int j = 0; j < steps + 1; j++) {
+                avg(j, 0) += (temp(j, 0) - avg(j, 0)) / (i + 1);
+            }
+        }
+
+        DoubleMatrix &result = const_cast<DoubleMatrix&>(avg);
+
+        RRCData* rrCData = new RRCData;
+        memset(rrCData, 0, sizeof(RRCData));
+
+        // Create column info
+        const std::vector<SelectionRecord> &selections = rref.getSelections();
+        rrCData->ColumnHeaders = new char*[selections.size()];
+        for (int i = 0; i < selections.size(); i++) {
+            rrCData->ColumnHeaders[i] = rr::createText(selections[i].to_string());
+        }
+
+        // Basic Attributes of RRCData
+        rrCData->RSize = result.RSize();
+        rrCData->CSize = result.CSize();
+        int size = rrCData->RSize * rrCData->CSize;
+        rrCData->Data = new double[size];
+
+        int index = 0;
+        for (int row = 0; row < rrCData->RSize; row++) {
+            for (int col = 0; col < rrCData->CSize; col++) {
+                rrCData->Data[index++] = result(row, col);
+            }
+        }
+        return rrCData;
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfPoints, int numberOfSimulations) {
+    start_try
+        setTimeStart (handle, timeStart);
+        setTimeEnd (handle, timeEnd);
+        setNumPoints (handle, numberOfPoints);
+        return gillespieMeanOnGrid(handle, numberOfSimulations);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanSDOnGrid(RRHandle handle, int numberOfSimulations) {
+    start_try
+        // Standard gillespieOnGrid setup
+        RoadRunner *r = (RoadRunner*)handle;
+        SimulateOptions& o = r->getSimulateOptions();
+        o.integrator = Integrator::GILLESPIE;
+        o.integratorFlags &= !Integrator::VARIABLE_STEP;
+
+        double steps = o.steps;
+
+        RoadRunner &rref = const_cast<RoadRunner&>(*r);
+        const DoubleMatrix& reference = *rref.getSimulationData();
+
+        // Initializes a DoubleMatrix "res" with all zeroes
+        DoubleMatrix avg(reference.RSize(), reference.CSize());
+        DoubleMatrix stddev(reference.RSize(), reference.CSize());
+        for (int row = 0; row < reference.RSize(); row++) {
+            for (int col = 0; col < reference.CSize(); col++) {
+                avg(row, col) = 0;
+                stddev(row, col) = 0;
+            }
+        }
+
+        // Runs simulations, obtain avg and stddev with Welford's Algorithm
+        for (int i = 0; i < numberOfSimulations; i++) {
+            const DoubleMatrix &temp = *r->simulate();
+            for (int j = 0; j < steps + 1; j++) {
+                double delta = temp(j, 0) - avg(j, 0);
+                avg(j, 0) += delta / (i + 1);
+                stddev(j, 0) += delta * (temp(j, 0) - avg(j, 0));
+            }
+        }
+
+        DoubleMatrix &result = const_cast<DoubleMatrix&>(avg);
+
+        RRCData* rrCData = new RRCData;
+        memset(rrCData, 0, sizeof(RRCData));
+
+        // Create column info
+        const std::vector<SelectionRecord> &selections = rref.getSelections();
+        rrCData->ColumnHeaders = new char*[selections.size()];
+        for (int i = 0; i < selections.size(); i++) {
+            rrCData->ColumnHeaders[i] = rr::createText(selections[i].to_string());
+        }
+
+        // Basic Attributes of RRCData
+        rrCData->RSize = result.RSize();
+        rrCData->CSize = result.CSize();
+        int size = rrCData->RSize * rrCData->CSize;
+        rrCData->Data = new double[size];
+        rrCData->Weights = new double[size];
+
+        int index = 0;
+        for (int row = 0; row < rrCData->RSize; row++) {
+            for (int col = 0; col < rrCData->CSize; col++) {
+                rrCData->Data[index] = result(row, col);
+                rrCData->Weights[index] = result(row, col);
+                index++;
+            }
+        }
+        return rrCData;
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanSDOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfPoints, int numberOfSimulations) {
+    start_try
+        setTimeStart (handle, timeStart);
+        setTimeEnd (handle, timeEnd);
+        setNumPoints (handle, numberOfPoints);
+        return gillespieMeanSDOnGrid(handle, numberOfSimulations);
+    catch_ptr_macro
+}
+
+bool rrcCallConv reset(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->reset();
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv resetAll(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->reset(SelectionRecord::TIME | SelectionRecord::RATE | SelectionRecord::FLOATING | SelectionRecord::GLOBAL_PARAMETER);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv resetToOrigin(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->reset(SelectionRecord::ALL);
+        return true;
+    catch_bool_macro
+}
+
+}
diff --git a/wrappers/C/_rrc_api.def b/wrappers/C/_rrc_api.def
new file mode 100644
index 0000000..4101132
--- /dev/null
+++ b/wrappers/C/_rrc_api.def
@@ -0,0 +1,217 @@
+LIBRARY     RRC_API.DLL
+
+
+EXPORTS
+;addDoubleParameter                              = _addDoubleParameter at 16
+getFileContent                                  = _getFileContent at 4
+addItem                                         = _addItem at 8
+computeSteadyStateValues                        = _computeSteadyStateValues at 4
+createDoubleItem                                = _createDoubleItem at 8
+createIntegerItem                               = _createIntegerItem at 4
+createListItem                                  = _createListItem at 4
+createRRInstance                                = _createRRInstance at 0
+createRRInstanceEx                              = _createRRInstanceEx at 8
+createRRInstances                               = _createRRInstances at 4
+createRRList                                    = _createRRList at 0
+createRRMatrix                                  = _createRRMatrix at 8
+createStringItem                                = _createStringItem at 4
+createVector                                    = _createVector at 4
+enableLoggingToConsole                          = _enableLoggingToConsole at 0
+disableLoggingToConsole                         = _disableLoggingToConsole at 0
+enableLoggingToFile                             = _enableLoggingToFile at 4
+disableLoggingToFile                            = _disableLoggingToFile at 0
+evalModel                                       = _evalModel at 4
+;executePlugin                                   = _executePlugin at 4
+freeCCode                                       = _freeCCode at 4
+freeMatrix                                      = _freeMatrix at 4
+freeRRInstance                                  = _freeRRInstance at 4
+freeRRInstances                                 = _freeRRInstances at 4
+freeRRList                                      = _freeRRList at 4
+freeRRData                                      = _freeRRData at 4
+freeStringArray                                 = _freeStringArray at 4
+freeText                                        = _freeText at 4
+freeVector                                      = _freeVector at 4
+getAvailableSteadyStateSymbols                  = _getAvailableSteadyStateSymbols at 4
+getAvailableTimeCourseSymbols                   = _getAvailableTimeCourseSymbols at 4
+getBoundarySpeciesByIndex                       = _getBoundarySpeciesByIndex at 12
+getBoundarySpeciesConcentrations                = _getBoundarySpeciesConcentrations at 4
+getBoundarySpeciesIds                           = _getBoundarySpeciesIds at 4
+getBuildDate                                    = _getBuildDate at 0
+getBuildDateTime                                = _getBuildDateTime at 0
+getBuildTime                                    = _getBuildTime at 0
+getCC                                           = _getCC at 16
+getCCode                                        = _getCCode at 4
+getCCodeHeader                                  = _getCCodeHeader at 4
+getCCodeSource                                  = _getCCodeSource at 4
+getCSourceFileName                              = _getCSourceFileName at 4
+getConfigurationXML                             = _getConfigurationXML at 4
+setConfigurationXML                             = _setConfigurationXML at 8
+;getPluginManagerConfigurationXML                = _getPluginManagerConfigurationXML at 4
+;setPluginManagerConfigurationXML                = _setPluginManagerConfigurationXML at 8
+getCompartmentByIndex                           = _getCompartmentByIndex at 12
+getCompartmentIds                               = _getCompartmentIds at 4
+getCompilerLocation                             = _getCompilerLocation at 4
+getConcentrationControlCoefficientIds           = _getConcentrationControlCoefficientIds at 4
+getConservationMatrix                           = _getConservationMatrix at 4
+getCopyright                                    = _getCopyright at 0
+getCurrentSBML                                  = _getCurrentSBML at 4
+getDoubleListItem                               = _getDoubleListItem at 8
+getEE                                           = _getEE at 16
+getEigenvalueIds                                = _getEigenvalueIds at 4
+getEigenvalues                                  = _getEigenvalues at 4
+getEigenvaluesVector                            = _getEigenvaluesVector at 4
+getEigenvaluesMatrix                            = _getEigenvaluesMatrix at 4
+getElasticityCoefficientIds                     = _getElasticityCoefficientIds at 4
+getFloatingSpeciesByIndex                       = _getFloatingSpeciesByIndex at 12
+getFloatingSpeciesConcentrations                = _getFloatingSpeciesConcentrations at 4
+getFloatingSpeciesIds                           = _getFloatingSpeciesIds at 4
+getFloatingSpeciesInitialConcentrations         = _getFloatingSpeciesInitialConcentrations at 4
+getFloatingSpeciesInitialConcentrationByIndex   = _getFloatingSpeciesInitialConcentrationByIndex at 12
+setFloatingSpeciesInitialConcentrationByIndex   = _setFloatingSpeciesInitialConcentrationByIndex at 16
+getFloatingSpeciesInitialConditionIds           = _getFloatingSpeciesInitialConditionIds at 4
+getFluxControlCoefficientIds                    = _getFluxControlCoefficientIds at 4
+getFullJacobian                                 = _getFullJacobian at 4
+getGlobalParameterByIndex                       = _getGlobalParameterByIndex at 12
+getGlobalParameterIds                           = _getGlobalParameterIds at 4
+getGlobalParameterValues                        = _getGlobalParameterValues at 4
+getInfo                                         = _getInfo at 4
+getInstallFolder                                = _getInstallFolder at 0
+getInstanceCount                                = _getInstanceCount at 4
+getIntegerListItem                              = _getIntegerListItem at 8
+getL0Matrix                                     = _getL0Matrix at 4
+getLastError                                    = _getLastError at 0
+getLinkMatrix                                   = _getLinkMatrix at 4
+getList                                         = _getList at 4
+getListItem                                     = _getListItem at 8
+getListLength                                   = _getListLength at 4
+getLogFileName                                  = _getLogFileName at 0
+getLogLevel                                     = _getLogLevel at 0
+getMatrixElement                                = _getMatrixElement at 16
+getMatrixNumCols                                = _getMatrixNumCols at 4
+getMatrixNumRows                                = _getMatrixNumRows at 4
+getNrMatrix                                     = _getNrMatrix at 4
+getNumPoints                                    = _getNumPoints at 8
+getNumberOfBoundarySpecies                      = _getNumberOfBoundarySpecies at 4
+getNumberOfCompartments                         = _getNumberOfCompartments at 4
+getNumberOfDependentSpecies                     = _getNumberOfDependentSpecies at 4
+getNumberOfFloatingSpecies                      = _getNumberOfFloatingSpecies at 4
+getNumberOfGlobalParameters                     = _getNumberOfGlobalParameters at 4
+getNumberOfIndependentSpecies                   = _getNumberOfIndependentSpecies at 4
+;getNumberOfPlugins                              = _getNumberOfPlugins at 4
+getNumberOfReactions                            = _getNumberOfReactions at 4
+
+getNumberOfRules                                = _getNumberOfRules at 4
+getNumberOfStringElements                       = _getNumberOfStringElements at 4
+getParamPromotedSBML                            = _getParamPromotedSBML at 8
+;getPluginCapabilities                           = _getPluginCapabilities at 4
+;getPluginInfo                                   = _getPluginInfo at 4
+;getPluginName                                   = _getPluginName at 4
+;getPluginNames                                  = _getPluginNames at 4
+;getPluginParameter                              = _getPluginParameter at 12
+;getPluginParameters                             = _getPluginParameters at 8
+;getPluginStatus                                 = _getPluginStatus at 4
+;getPluginResult                                 = _getPluginResult at 4
+getRRCAPILocation                               = _getRRCAPILocation at 0
+getRRHandle                                     = _getRRHandle at 8
+getRateOfChange                                 = _getRateOfChange at 12
+getRatesOfChange                                = _getRatesOfChange at 4
+getRatesOfChangeEx                              = _getRatesOfChangeEx at 8
+getRatesOfChangeIds                             = _getRatesOfChangeIds at 4
+getReactionIds                                  = _getReactionIds at 4
+getReactionRate                                 = _getReactionRate at 12
+getReactionRates                                = _getReactionRates at 4
+getReactionRatesEx                              = _getReactionRatesEx at 8
+getReducedJacobian                              = _getReducedJacobian at 4
+getRRDataColumnLabel                            = _getRRDataColumnLabel at 8
+getRRDataElement                                = _getRRDataElement at 16
+getRRDataNumCols                                = _getRRDataNumCols at 4
+getRRDataNumRows                                = _getRRDataNumRows at 4
+getSBML                                         = _getSBML at 4
+getScaledConcentrationControlCoefficientMatrix  = _getScaledConcentrationControlCoefficientMatrix at 4
+getScaledElasticityMatrix                       = _getScaledElasticityMatrix at 4
+getScaledFloatingSpeciesElasticity              = _getScaledFloatingSpeciesElasticity at 16
+getScaledFluxControlCoefficientMatrix           = _getScaledFluxControlCoefficientMatrix at 4
+getSimulationResult                             = _getSimulationResult at 4
+getSteadyStateSelectionList                     = _getSteadyStateSelectionList at 4
+getStoichiometryMatrix                          = _getStoichiometryMatrix at 4
+getStringElement                                = _getStringElement at 8
+getStringListItem                               = _getStringListItem at 4
+getSupportCodeFolder                            = _getSupportCodeFolder at 4
+getTempFolder                                   = _getTempFolder at 4
+getTimeCourseSelectionList                      = _getTimeCourseSelectionList at 4
+getTimeEnd                                      = _getTimeEnd at 8
+getTimeStart                                    = _getTimeStart at 8
+getUnscaledConcentrationControlCoefficientIds   = _getUnscaledConcentrationControlCoefficientIds at 4
+getUnscaledConcentrationControlCoefficientMatrix= _getUnscaledConcentrationControlCoefficientMatrix at 4
+getUnscaledElasticityMatrix                     = _getUnscaledElasticityMatrix at 4
+getUnscaledFluxControlCoefficientIds            = _getUnscaledFluxControlCoefficientIds at 4
+getUnscaledFluxControlCoefficientMatrix         = _getUnscaledFluxControlCoefficientMatrix at 4
+getValue                                        = _getValue at 12
+getVectorElement                                = _getVectorElement at 12
+getVectorLength                                 = _getVectorLength at 4
+getAPIVersion                                   = _getAPIVersion at 0
+getWorkingDirectory                             = _getWorkingDirectory at 0
+getlibSBMLVersion                               = _getlibSBMLVersion at 4
+getuCC                                          = _getuCC at 16
+getuEE                                          = _getuEE at 16
+hasError                                        = _hasError at 0
+isListItem                                      = _isListItem at 8
+isListItemDouble                                = _isListItemDouble at 4
+isListItemInteger                               = _isListItemInteger at 4
+isListItemList                                  = _isListItemList at 4
+isListItemString                                = _isListItemString at 4
+listToString                                    = _listToString at 4
+;loadPlugins                                     = _loadPlugins at 4
+loadSBML                                        = _loadSBML at 8
+loadSBMLEx                                      = _loadSBMLEx at 12
+loadSBMLFromFile                                = _loadSBMLFromFile at 8
+loadSBMLFromFileE                               = _loadSBMLFromFileE at 12
+
+
+loadSimulationSettings                          = _loadSimulationSettings at 8
+logMsg                                          = _logMsg at 8
+matrixToString                                  = _matrixToString at 4
+oneStep                                         = _oneStep at 24
+pause                                           = _pause at 0
+reset                                           = _reset at 4
+rrDataToString                                  = _rrDataToString at 4
+setBoundarySpeciesByIndex                       = _setBoundarySpeciesByIndex at 16
+setBoundarySpeciesConcentrations                = _setBoundarySpeciesConcentrations at 8
+
+setCompartmentByIndex                           = _setCompartmentByIndex at 16
+setCompiler                                     = _setCompiler at 8
+setCompilerLocation                             = _setCompilerLocation at 8
+setComputeAndAssignConservationLaws             = _setComputeAndAssignConservationLaws at 8
+setFloatingSpeciesByIndex                       = _setFloatingSpeciesByIndex at 16
+setFloatingSpeciesConcentrations                = _setFloatingSpeciesConcentrations at 8
+setFloatingSpeciesInitialConcentrations         = _setFloatingSpeciesInitialConcentrations at 8
+setGlobalParameterByIndex                       = _setGlobalParameterByIndex at 16
+setInstallFolder                                = _setInstallFolder at 4
+setLogLevel                                     = _setLogLevel at 4
+setMatrixElement                                = _setMatrixElement at 20
+setNumPoints                                    = _setNumPoints at 8
+;setPluginParameter                              = _setPluginParameter at 12
+setSteadyStateSelectionList                     = _setSteadyStateSelectionList at 8
+setSupportCodeFolder                            = _setSupportCodeFolder at 8
+setTempFolder                                   = _setTempFolder at 8
+setTimeCourseSelectionList                      = _setTimeCourseSelectionList at 8
+setTimeEnd                                      = _setTimeEnd at 12
+setTimeStart                                    = _setTimeStart at 12
+setValue                                        = _setValue at 16
+setVectorElement                                = _setVectorElement at 16
+simulate                                        = _simulate at 4
+simulateEx                                      = _simulateEx at 24
+
+
+steadyState                                     = _steadyState at 8
+stringArrayToString                             = _stringArrayToString at 4
+unLoadModel                                     = _unLoadModel at 4
+;unLoadPlugins                                   = _unLoadPlugins at 4
+vectorToString                                  = _vectorToString at 4
+
+
+writeMultipleRRData                             = _writeMultipleRRData at 8
+writeRRData                                     = _writeRRData at 8
+;createRRPluginManager                           = _createRRPluginManager at 4
+;createRRPluginManagerEx                         = _createRRPluginManagerEx at 12
+;freeRRPluginManager                             = _freeRRPluginManager at 4
diff --git a/wrappers/C/_rrc_api.h b/wrappers/C/_rrc_api.h
new file mode 100644
index 0000000..44f9c96
--- /dev/null
+++ b/wrappers/C/_rrc_api.h
@@ -0,0 +1,1882 @@
+/**
+ * @file rrc_api.h
+ * @brief libRoadRunner C API 2012-2015
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of libRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib/ for more details.
+ *
+ * Copyright (C) 2012-2015
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+#ifndef rrc_apiH
+#define rrc_apiH
+#include "rrc_exporter.h"
+#include "rrc_types.h"
+#include "rrc_utilities.h"
+#include "rrc_logging_api.h"
+#include "rrc_nom_api.h"
+#include "rrc_libstruct_api.h"
+
+#if defined(__cplusplus)
+namespace rrc { extern "C" {
+#endif
+
+/*!
+ \brief Initialize a new roadRunner instance and return a handle to it.
+ \return Returns a RoadRunner instance, returns null if it fails
+ \ingroup initialization
+*/
+C_DECL_SPEC RRHandle rrcCallConv createRRInstance(void);
+
+/*!
+ \brief Initialize a new roadRunner instance and return a handle to it.
+ \param[in] tempFolder set the roadrunner temporary folder
+ \param[in] compiler may be NULL, if NULL, uses default compiler.
+ If LLVM build is enabled, setting compiler to "llvm" enables llvm based
+ model generation.
+ \return Returns a RoadRunner instance, returns null if it fails
+ \ingroup initialization
+*/
+
+C_DECL_SPEC RRHandle rrcCallConv createRRInstanceEx(const char* tempFolder, const char* compiler);
+
+/*!
+ \brief Free the roadRunner instance
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup initialization
+*/
+C_DECL_SPEC bool rrcCallConv freeRRInstance(RRHandle handle);
+
+/*!
+ \brief Returns the folder in which the RoadRunner API is installed
+ \return Pointer to string holding the install folder
+ \ingroup initialization
+*/
+C_DECL_SPEC char* rrcCallConv  getInstallFolder(void);
+
+/*!
+ \brief Set the internal string containing the folder in where the RoadRunner C API is installed
+ \param[in] folder Pointer to string holding the install folder
+ \return Boolean indicating success
+ \ingroup initialization
+*/
+C_DECL_SPEC bool  rrcCallConv  setInstallFolder(const char* folder);
+
+/*!
+ \brief Retrieve the current version number of the C API library
+ \return Returns null if it fails, otherwise it returns the version number of the C API library
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getAPIVersion(void);
+
+/*!
+ \brief Retrieve the current version number of the C++ API (Core RoadRunner API) library
+ \param[in] handle RoadRunner instance handle
+ \return Returns null if it fails, otherwise it returns the version number of the C++ API library
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getCPPAPIVersion(RRHandle handle);
+
+/*!
+ Get the version number.
+
+ \return the roadrunner version number in the form or 102030 if the number
+ is 1.2.3
+
+ returns the individual version numbers as XXYYZZ where XX
+ is the major version, YY the minor and ZZ the revision,
+ eg 10000, or 10100, 20000 etc
+ */
+C_DECL_SPEC int  rrcCallConv getVersion();
+
+/*!
+ returns roadrunner as a string, i.e. "1.0.0"
+ */
+C_DECL_SPEC char*  rrcCallConv getVersionStr();
+
+
+/*!
+ returns something like "1.0.0; compiled with clang "3.3 (tags/RELEASE_33/final)" on date Dec  8 2013, 17:24:57'
+ */
+C_DECL_SPEC char*  rrcCallConv getVersionEx();
+
+/*!
+ \brief Retrieve extended API info.
+ \return Returns null if it fails, otherwise it returns a string with the info
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getExtendedAPIInfo();
+
+/*!
+ \brief Retrieve the current build date of the library
+ \return Returns null if it fails, otherwise it returns the build date
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getBuildDate(void);
+
+/*!
+ \brief Retrieve the current build time (HH:MM:SS) of the library
+ \return Returns null if it fails, otherwise it returns the build time
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getBuildTime(void);
+
+/*!
+ \brief Retrieve the current build date + time of the library
+ \return Returns null if it fails, otherwise it returns the build date + time
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getBuildDateTime(void);
+
+/*!
+ \brief Retrieve the current copyright notice for the library
+ \return Returns null if it fails, otherwise it returns the copyright string
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getCopyright(void);
+
+/*!
+ \brief Retrieve info about current state of roadrunner, e.g. loaded model, conservationAnalysis etc.
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns a string with the info
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getInfo(RRHandle handle);
+
+ /*!
+ \brief Retrieve the current version number of the libSBML library
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns the version number of the library
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getlibSBMLVersion(RRHandle handle);
+
+ /*!
+ \brief Set the path to the temporary folder where the C code will be stored
+
+ When RoadRunner is run in C generation mode its uses a temporary folder to store the
+ generated C source code. This method can be used to set the temporary folder path if necessary.
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] folder Pointer to string holding folder path
+
+ \return Returns true if successful
+ \ingroup utility                                                 onsole
+*/
+C_DECL_SPEC bool rrcCallConv setTempFolder(RRHandle handle, const char* folder);
+
+/*!
+ \brief Retrieve the current temporary folder path
+
+ When RoadRunner is run in C generation mode its uses a temporary folder to store the
+ generate C source code. This method can be used to get the current value
+ for the temporary folder path.
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns the path
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getTempFolder(RRHandle handle);
+
+/*!
+ \brief Retrieve the current working directory path
+
+ \return Returns null if it fails, otherwise it returns the path
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getWorkingDirectory(void);
+
+/*!
+ \brief Retrieve the directory path of the shared rrCApi library
+
+ \return Returns null if it fails, otherwise it returns the path
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getRRCAPILocation(void);
+
+
+/*!
+ \brief Set the path and filename to the compiler to be used by roadrunner.
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] fNameWithPath Pointer to string holding the fileName and path to a compiler
+ \return Returns true if successful
+ \ingroup utility
+*/
+C_DECL_SPEC bool rrcCallConv setCompiler(RRHandle handle, const char* fNameWithPath);
+
+/*!
+ \brief Get the name of the compiler currently being used by roadrunner.
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getCompiler(RRHandle handle);
+
+/*!
+ \brief Set the path to a folder containing the compiler to be used.
+ \param[in] handle Handle to a RoadRunner instance
+
+ \param[in] folder Pointer to string holding the path to a compiler
+ \return Returns true if successful
+ \ingroup utility
+*/
+C_DECL_SPEC bool rrcCallConv setCompilerLocation(RRHandle handle, const char* folder);
+
+/*!
+ \brief Get the path to a folder containing the compiler being used.
+ \param[in] handle Handle to a RoadRunner instance
+
+ \return Returns the path if successful, NULL otherwise
+ \ingroup utility
+*/
+
+C_DECL_SPEC char* rrcCallConv getCompilerLocation(RRHandle handle);
+
+/*!
+ \brief Set the path to a folder containing support code for model generation.
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] folder Pointer to string holding the path to the support code folder
+ \return Returns true if successful
+ \ingroup utility
+*/
+C_DECL_SPEC bool rrcCallConv setSupportCodeFolder(RRHandle handle, const char* folder);
+
+/*!
+ \brief Get the path to a folder containing support code.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns the path if successful, NULL otherwise
+ \ingroup utility
+*/
+
+C_DECL_SPEC char* rrcCallConv getSupportCodeFolder(RRHandle handle);
+
+/*!
+ \brief Set the runtime generation option [Not yet implemented]
+
+ RoadRunner can either execute a model by generating, compiling and linking self-generated
+ C code or it can employ an internal interpreter to evaluate the model equations. The
+ later method is useful when the OS forbids the compiling of externally generated code.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] mode is set to 0 RoadRunner generates C Code,
+ if set to 1 RoadRunner uses its internal math interpreter.
+ \return Returns false if it fails,
+ \ingroup utility
+*/
+C_DECL_SPEC bool rrcCallConv setCodeGenerationMode(RRHandle handle, int mode);
+
+
+/*!
+ \brief Check if there is an error string to retrieve
+
+ Example: status = hasError (void)
+
+ \return Returns true if there is an error waiting to be retrieved
+ \ingroup errorfunctions
+*/
+C_DECL_SPEC bool rrcCallConv hasError(void);
+
+/*!
+ \brief Retrieve the current error string
+
+ Example: \code str = getLastError (void); \endcode
+
+ \return Return null if fails, otherwise returns a pointer to the error string
+ \ingroup errorfunctions
+*/
+C_DECL_SPEC char* rrcCallConv getLastError(void);
+
+// Flags/Options
+/*!
+ \brief Enable or disable conservation analysis
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] On_Or_Off Set true to switch on conservation analysis
+ \return Returns true if successful
+ \ingroup initialization
+*/
+C_DECL_SPEC bool rrcCallConv setComputeAndAssignConservationLaws(RRHandle handle, const bool On_Or_Off);
+
+// -----------------------------------------------------------------------
+// Read and Write models
+// -----------------------------------------------------------------------
+
+/*!
+ \brief Load a model from an SBML string
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] sbml string
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+C_DECL_SPEC bool rrcCallConv loadSBML(RRHandle handle, const char* sbml);
+
+/*!
+ \brief Load a model from an SBML string
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] sbml string
+ \param[in] forceRecompile boolean. True means the model is recompiled. False causes roadrunner to use an already compiled model
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+C_DECL_SPEC bool rrcCallConv loadSBMLEx(RRHandle handle, const char* sbml, bool forceRecompile);
+
+/*!
+ \brief Load a model from a SBML file
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] fileName file name (or full path) to file that holds the SBML model
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+//C_DECL_SPEC bool rrcCallConv loadSBMLFromFile(const char* fileName);
+C_DECL_SPEC bool rrcCallConv loadSBMLFromFile(RRHandle handle, const char* fileName);
+
+/*!
+ \brief Load a model from a SBML file, force recompilation
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] fileName file name (or full path) to file that holds the SBML model
+ \param[in] forceRecompile Boolean that forces recompilation if true. If false, no compilation occur if model dll exists
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+C_DECL_SPEC bool rrcCallConv loadSBMLFromFileE(RRHandle handle, const char* fileName, bool forceRecompile);
+
+/*!
+ \brief Unload current model
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+C_DECL_SPEC bool rrcCallConv clearModel(RRHandle handle);
+
+/*!
+ \brief check if a model is loaded
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns true/false indicating whether a model is loaded or not
+ \ingroup loadsave
+*/
+C_DECL_SPEC bool rrcCallConv isModelLoaded(RRHandle handle);
+
+/*!
+ \brief Load simulation settings from a file
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] fileName file name (or full path) to file that holds simulation settings
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+
+C_DECL_SPEC bool rrcCallConv loadSimulationSettings(RRHandle handle, const char* fileName);
+
+/*!
+ \brief Retrieve the <b>current state</b> of the model in the form of an SBML string
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if the call fails, otherwise returns a pointer to the SBML string
+ \ingroup loadsave
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSBML(RRHandle handle);
+
+/*!
+ \brief Retrieve the SBML model that was last loaded into roadRunner
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if the call fails, otherwise returns a pointer to the SBML string
+ \ingroup loadsave
+*/
+C_DECL_SPEC char* rrcCallConv getSBML(RRHandle handle);
+
+// -------------------------------------------------------------------------
+// SBML utility methods
+// -----------------------------------------------------------------------
+/*!
+ \brief Promote any local parameters to global status.
+
+ This routine will convert any local reaction parameters and promote
+ them to global status. The promoted parameters are prefixed with the
+ name of the reaction to make them unique.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] sArg points to the SBML model to promote
+ \return Returns null if it fails otherwise it returns the promoted SBML model as a string
+ \ingroup sbml
+*/
+C_DECL_SPEC char* rrcCallConv getParamPromotedSBML(RRHandle handle, const char* sArg);
+
+/*!
+ \brief Set the simulator's capabilities
+ \param[in] handle Handle to a RoadRunner instance
+ \param[out] caps An XML string that specifies the simulators capabilities
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv setConfigurationXML (RRHandle handle, const char* caps);
+
+/*!
+ \brief Get the simulator's capabilities
+
+ Example:
+
+ \code
+ <caps name="RoadRunner" description="Settings For RoadRunner">
+  <section name="integration" method="CVODE" description="CVODE Integrator">
+    <cap name="BDFOrder" value="5" hint="Maximum order for BDF Method" type="integer" />
+    <cap name="AdamsOrder" value="12" hint="Maximum order for Adams Method" type="integer" />
+    <cap name="rtol" value="1E-06" hint="Relative Tolerance" type="double" />
+    <cap name="atol" value="1E-12" hint="Absolute Tolerance" type="double" />
+    <cap name="maxsteps" value="10000" hint="Maximum number of internal stepsc" type="integer" />
+    <cap name="initstep" value="0" hint="the initial step size" type="double" />
+    <cap name="minstep" value="0" hint="specifies a lower bound on the magnitude of the step size." type="double" />
+    <cap name="maxstep" value="0" hint="specifies an upper bound on the magnitude of the step size." type="double" />
+    <cap name="conservation" value="1" hint="enables (=1) or disables (=0) the conservation analysis of models for timecourse simulations." type="int" />
+    <cap name="allowRandom" value="1" hint="if enabled (=1), reinterprets certain function definitions as distributions and draws random numbers for it." type="int" />
+    <cap name="usekinsol" value="0" hint="Is KinSol used as steady state integrator" type="int" />
+  </section>
+
+  <section name="SteadyState" method="NLEQ2" description="NLEQ2 Steady State Solver">
+    <cap name="MaxIterations" value="100" hint="Maximum number of newton iterations" type="integer" />
+    <cap name="relativeTolerance" value="0.0001" hint="Relative precision of solution components" type="double" />
+  </section>
+</caps>
+\endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns the simulator's capabilities in the form of an XML string
+ \ingroup simulation
+*/
+C_DECL_SPEC char* rrcCallConv getConfigurationXML(RRHandle handle);
+
+
+/*!
+ \brief Set the time start for a time course simulation
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart
+ \return Returns True if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv setTimeStart(RRHandle handle, double timeStart);
+
+/*!
+ \brief Set the time end for a time course simulation
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeEnd
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv setTimeEnd(RRHandle handle, double timeEnd);
+
+/*!
+ \brief Set the number of points to generate in a time course simulation
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] numberOfPoints Number of points to generate in the time course simulation
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv setNumPoints(RRHandle handle, int numberOfPoints);
+
+
+/*!
+ \brief Set the selection list for output from simulate(void) or simulateEx(void)
+
+ Use getAvailableTimeCourseSymbols(void) to retrieve the list of all possible symbols.
+
+ Example: \code setTimeCourseSelectionList ("Time, S1, J1, J2"); \endcode
+
+ or
+
+ setTimeCourseSelectionList ("Time S1 J1 J2")
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] list A string of Ids separated by spaces <b>or</b> comma characters
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv setTimeCourseSelectionList(RRHandle handle, const char* list);
+//C_DECL_SPEC bool rrcCallConv setTimeCourseSelectionList(const char* list);
+
+/*!
+ \brief Get the current selection list for simulate(void) or simulateEx(void)
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return A list of symbol Ids indicating the current selection list
+ \ingroup simulation
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getTimeCourseSelectionList(RRHandle handle);
+
+/*!
+ \brief Carry out a time-course simulation. setTimeStart, setTimeEnd,
+ setNumPoints, etc are used to set the simulation characteristics.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup simulation
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv simulate(RRHandle handle);
+
+/*!
+ \brief Retrieve the result of the last simulation.
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup simulation
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv getSimulationResult(RRHandle handle);
+
+
+/*!
+ \brief Carry out a time-course simulation based on the given arguments, time start,
+ time end and number of points.
+
+ Example:
+ \code
+    RRCDataPtr m;
+
+    double timeStart = 0.0;
+    double timeEnd = 25;
+    int numberOfPoints = 200;
+
+    m = simulateEx (rrHandle, timeStart, timeEnd, numberOfPoints);
+    \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart Time start
+ \param[in] timeEnd Time end
+ \param[in] numberOfPoints Number of points to generate
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup simulation
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv simulateEx(RRHandle handle, const double timeStart, const double timeEnd, const int numberOfPoints);
+
+/*!
+ \brief Carry out a one step integration of the model
+
+ Example: \code status = OneStep (rrHandle, currentTime, timeStep, newTimeStep); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] currentTime The current time in the simulation
+ \param[in] stepSize The step size to use in the integration
+ \param[in] value The new time (currentTime + stepSize)
+
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv oneStep(RRHandle handle, const double currentTime, const double stepSize, double *value);
+
+/*!
+ \brief Get the value of the current time start
+
+ Example: \code status = getTimeStart (rrHandle, &timeStart); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[out] timeStart The current value for the time start
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv getTimeStart(RRHandle handle, double* timeStart);
+
+/*!
+ \brief Get the value of the current time end
+
+ Example: \code status = getTimeEnd (rrHandle, &timeEnd); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param timeEnd The current value for the time end
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv getTimeEnd(RRHandle handle, double* timeEnd);
+
+/*!
+ \brief Get the value of the current number of points
+
+ Example: \code status = getNumPoints (rrHandle, &numberOfPoints); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param numPoints The current value for the number of points
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv getNumPoints (RRHandle handle, int* numPoints);
+
+/*!
+ \brief Compute the steady state of the current model
+
+ Example: \code status = steadyState (rrHandle, &closenessToSteadyState); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param value This value is set during the call and indicates how close the solution is to the steady state.
+ The smaller the value the better. Values less than 1E-6 usually indicate a steady state has been found. If necessary
+ call the method a second time to improve the solution.
+ \return Returns true if successful
+ \ingroup steadystate
+*/
+C_DECL_SPEC bool rrcCallConv steadyState(RRHandle handle, double* value);
+
+/*!
+ \brief A convenient method for returning a vector of the steady state species concentrations
+
+ Example: \code RRVectorHandle values = computeSteadyStateValues (void); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns the vector of steady state values or null if an error occurred. The order of
+ species in the vector is indicated by the order of species Ids in a call to getFloatingSpeciesIds(void)
+ \ingroup steadystate
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv computeSteadyStateValues(RRHandle handle);
+
+/*!
+ \brief Set the selection list of the steady state analysis
+
+ Use getAvailableTimeCourseSymbols(void) to retrieve the list of all possible symbols.
+
+ Example:
+
+ \code
+ setSteadyStateSelectionList ("S1, J1, J2")
+
+ or
+
+ setSteadyStateSelectionList ("S1 J1 J2")
+ \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] list The string argument should be a space separated list of symbols.
+
+ \return Returns true if successful
+ \ingroup steadystate
+*/
+C_DECL_SPEC bool rrcCallConv setSteadyStateSelectionList(RRHandle handle, const char* list);
+
+/*!
+ \brief Get the selection list for the steady state analysis
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns a list of strings representing symbols in the selection list
+ \ingroup steadystate
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getSteadyStateSelectionList(RRHandle handle);
+
+
+// --------------------------------------------------------------------------------
+// Get and Set Routines
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Get the value for a given symbol, use getAvailableTimeCourseSymbols(void) for a list of symbols
+
+ Example: \code status = getValue (rrHandle, "S1", &value); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param symbolId The symbol that we wish to obtain the value for
+ \param value The value that will be retrieved
+ \return Returns true if successful
+ \ingroup state
+*/
+C_DECL_SPEC bool rrcCallConv getValue(RRHandle handle, const char* symbolId, double* value);
+
+
+/*!
+ \brief Set the value for a given symbol, use getAvailableTimeCourseSymbols(void) for a list of symbols
+
+ Example: \code status = setValue (rrHandle, "S1", 0.5); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param symbolId The symbol that we wish to set the value
+ \param value The value that will be set to the symbol
+ \return Returns true if successful
+ \ingroup state
+*/
+C_DECL_SPEC bool rrcCallConv setValue(RRHandle handle, const char* symbolId, const double value);
+
+
+/*!
+ \brief Retrieve in a vector the concentrations for all the floating species
+
+ Example: \code RRVectorPtr values = getFloatingSpeciesConcentrations (void); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns the vector of floating species concentrations or null if an error occurred
+ \ingroup floating
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getFloatingSpeciesConcentrations(RRHandle handle);
+
+
+/*!
+ \brief Retrieve the concentrations for all the boundary species in a vector
+
+ Example: \code RRVectorPtr values = getBoundarySpeciesConcentrations (void); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns the vector of boundary species concentrations or null if an error occurred
+ \ingroup boundary
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getBoundarySpeciesConcentrations(RRHandle handle);
+
+// --------------------------------------------------------------------------------
+// Parameter Group
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Retrieve the values for all the global parameter values in a vector
+
+ Example: \code RRVectorPtr values = getGlobalParameterValues (void); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns the vector of global parameter values or null if an error occurred
+ \ingroup parameters
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getGlobalParameterValues(RRHandle handle);
+
+/*!
+ \brief Set the concentration for a particular boundary species.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the boundary species (corresponds to position in getBoundarySpeciesIds(void))
+ \param value The concentration of the species to set
+ \return Returns true if successful
+ \ingroup boundary
+*/
+C_DECL_SPEC bool rrcCallConv setBoundarySpeciesByIndex(RRHandle handle, const int index, const double value);
+
+/*!
+ \brief Set the initial concentration for a particular floating species.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the floating species (corresponds to position in getFloatingSpeciesIds(RRHandle handle))
+ \param value The concentration of the species to set
+ \return Returns true if successful
+ \ingroup floating
+*/
+C_DECL_SPEC bool rrcCallConv setFloatingSpeciesInitialConcentrationByIndex(RRHandle handle, int index, double value);
+
+/*!
+ \brief Get the initial concentration for a particular floating species.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the floating species (corresponds to position in getFloatingSpeciesIds(RRHandle handle))
+ \param[in] value The concentration of the species
+ \return Returns true if successful
+ \ingroup floating
+*/
+C_DECL_SPEC bool rrcCallConv getFloatingSpeciesInitialConcentrationByIndex(RRHandle handle, int index, double* value);
+
+/*!
+ \brief Set the concentration for a particular floating species.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the floating species (corresponds to position in getFloatingSpeciesIds(RRHandle handle))
+ \param value The concentration of the species to set
+ \return Returns true if successful
+ \ingroup floating
+*/
+C_DECL_SPEC bool rrcCallConv setFloatingSpeciesByIndex(RRHandle handle, const int index, const double value);
+
+/*!
+ \brief Set the value for a particular global parameter
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the global parameter (corresponds to position in getGlobalParameterIds(RRHandle handle))
+ \param value The value of the parameter to set
+ \return Returns true if successful
+ \ingroup parameters
+*/
+C_DECL_SPEC bool rrcCallConv setGlobalParameterByIndex(RRHandle handle, const int index, const double value);
+
+/*!
+ \brief Retrieve the concentration for a particular floating species.
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the boundary species (corresponds to position in getBoundarySpeciesIds(RRHandle handle))
+ \param value The value returned by the method
+ \return Returns true if successful
+ \ingroup boundary
+*/
+C_DECL_SPEC bool rrcCallConv getBoundarySpeciesByIndex(RRHandle handle, const int index, double* value);
+
+/*!
+ \brief Retrieve the concentration for a particular floating species.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the floating species (corresponds to position in getFloatingSpeciesIds(RRHandle handle))
+ \param value The value returned by the method
+ \return Returns true if successful
+ \ingroup floating
+*/
+C_DECL_SPEC bool rrcCallConv getFloatingSpeciesByIndex(RRHandle handle, const int index, double* value);
+
+/*!
+ \brief Retrieve the global parameter value
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the global parameter (corresponds to position in getGlobalParametersIds(RRHandle handle))
+ \param value The value returned by the method
+ \return Returns true if successful, false otherwise
+ \ingroup parameters
+*/
+C_DECL_SPEC bool rrcCallConv getGlobalParameterByIndex(RRHandle handle, const int index, double* value);
+
+/*!
+ \brief Retrieve the compartment volume for a particular compartment.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] index The index to the compartment (corresponds to position in getCompartmentIds(RRHandle handle))
+ \param[in] value The value returned by the method
+ \return Returns true if successful, false otherwise
+ \ingroup compartment
+*/
+C_DECL_SPEC bool rrcCallConv getCompartmentByIndex (RRHandle handle, const int index, double* value);
+
+
+/*!
+ \brief Set the volume for a particular compartment
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] index The index to the compartment (corresponds to position in getCompartmentIds(RRHandle handle))
+ \param[in] value The volume of the compartment to set
+ \return Returns true if successful, false otherwise
+ \ingroup compartment
+*/
+C_DECL_SPEC bool rrcCallConv setCompartmentByIndex (RRHandle handle, const int index, const double value);
+
+
+/*!
+ \brief Set the floating species concentration to the vector vec
+
+ Example:
+
+ \code
+ myVector = createVector (getNumberOfFloatingSpecies(RRHandle handle));
+ setVectorElement (myVector, 0, 1.2);
+ setVectorElement (myVector, 1, 5.7);
+ setVectorElement (myVector, 2, 3.4);
+ setFloatingSpeciesConcentrations(myVector);
+ \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] vec Pointer to a RRVector
+ \return Returns true if successful
+ \ingroup floating
+*/
+C_DECL_SPEC bool rrcCallConv setFloatingSpeciesConcentrations(RRHandle handle, const RRVectorPtr vec);
+
+/*!
+ \brief Set the boundary species concentration to the vector vec
+
+ Example:
+
+ \code
+ myVector = createVector (getNumberOfBoundarySpecies(RRHandle handle));
+ setVectorElement (myVector, 0, 1.2);
+ setVectorElement (myVector, 1, 5.7);
+ setVectorElement (myVector, 2, 3.4);
+ setBoundarySpeciesConcentrations(myVector);
+\endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param vec A vector of boundary species concentrations
+ \return Returns true if successful
+ \ingroup boundary
+*/
+C_DECL_SPEC bool rrcCallConv setBoundarySpeciesConcentrations(RRHandle handle, const RRVectorPtr vec);
+
+
+/*!
+ \brief Retrieve the full Jacobian for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns the full Jacobian matrix
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getFullJacobian(RRHandle handle);
+
+/*!
+ \brief Retrieve the reduced Jacobian for the current model
+
+ setComputeAndAssignConservationLaws (true) must be enabled.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns the reduced Jacobian matrix
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getReducedJacobian(RRHandle handle);
+
+/*!
+ \brief Retrieve the eigenvalue matrix for the current model
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of eigenvalues.
+ The first column will contain the real values and the second column the imaginary values
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getEigenvalues(RRHandle handle);
+
+
+// --------------------------------------------------------------------------------
+// Stoichiometry methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Retrieve the stoichiometry matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns the stoichiometry matrix.
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getStoichiometryMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the Link matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns the Link matrix.
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getLinkMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the reduced stoichiometry matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns reduced stoichiometry matrix
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getNrMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the conservation matrix for the current model.
+
+ The conservation laws as describe by row where the columns indicate the species Id.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns the conservation matrix.
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getConservationMatrix(RRHandle handle);
+
+// --------------------------------------------------------------------------------
+// Initial condition Methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Set the initial floating species concentrations
+
+ Example: \code status = setFloatingSpeciesInitialConcentrations (vec); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param vec A vector of species concentrations: order given by getFloatingSpeciesIds(RRHandle handle)
+ \return Returns true if successful
+ \ingroup initialConditions
+*/
+C_DECL_SPEC bool rrcCallConv setFloatingSpeciesInitialConcentrations (RRHandle handle, const RRVectorPtr vec);
+
+/*!
+ \brief Get the initial floating species concentrations
+
+ Example: \code vec = getFloatingSpeciesInitialConcentrations (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails otherwise returns a vector containing the initial conditions
+ \ingroup initialConditions
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getFloatingSpeciesInitialConcentrations (RRHandle handle);
+
+/*!
+ \brief Get the initial floating species Ids
+
+ Example: \code vec = getFloatingSpeciesInitialConditionIds (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails otherwise returns a vector containing names of the floating species
+ \ingroup initialConditions
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getFloatingSpeciesInitialConditionIds(RRHandle handle);
+
+// --------------------------------------------------------------------------------
+// Reaction rates
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Obtain the number of reactions in the loaded model
+
+ Example: \code number = getNumberOfReactions (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns -1 if it fails, if successful it return 0 or more, indicating the number of reactions
+ \ingroup reaction
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfReactions(RRHandle handle);
+
+
+/*!
+ \brief Retrieve a give reaction rate as indicated by the index parameter
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index - The index is used to specify which reaction rate to retrieve
+ \param rate - The reaction rate is returned in the rate argument
+ \return Returns false if it fails
+ \ingroup reaction
+*/
+C_DECL_SPEC bool rrcCallConv getReactionRate(RRHandle handle, const int index, double* rate);
+
+
+/*!
+ \brief Retrieve a vector of reaction rates as determined by the current state of the model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns a vector of reaction rates
+ \ingroup reaction
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getReactionRates(RRHandle handle);
+
+
+/*!
+ \brief Retrieve a vector of reaction rates given a vector of species concentrations
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param vec The vector of floating species concentrations
+ \return Returns null if it fails otherwise it returns a vector of reaction rates
+ \ingroup reaction
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getReactionRatesEx (RRHandle handle, const RRVectorPtr vec);
+
+
+/*!
+ \brief Retrieve the vector of rates of change as determined by the current state of the model
+
+ Example: \code values = getRatesOfChange (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a vector of rates of change values
+ \ingroup rateOfChange
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getRatesOfChange(RRHandle handle);
+
+/*!
+ \brief Retrieve the string list of rates of change Ids
+
+ Example: \code Ids = getRatesOfChangeIds (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a list of rates of change Ids
+ \ingroup rateOfChange
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getRatesOfChangeIds(RRHandle handle);
+
+
+/*!
+ \brief Retrieve the rate of change for a given floating species
+
+ Example: \code status = getRateOfChange (&index, *value); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[out] value Pointer to double, holding the rate of change
+ \return Returns false if it fails, otherwise value contains the rate of change.
+ \ingroup rateOfChange
+*/
+C_DECL_SPEC bool rrcCallConv getRateOfChange(RRHandle handle, const int, double* value);
+
+
+/*!
+ \brief Retrieve the vector of rates of change given a vector of floating species concentrations
+
+ Example: \code values = getRatesOfChangeEx (vector); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] vec Vector handle holding rates of change
+ \return Returns null if it fails
+ \ingroup rateOfChange
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getRatesOfChangeEx (RRHandle handle, const RRVectorPtr vec);
+
+/*!
+ \brief Evaluate the current model, that it update all assignments and rates of change. Do not carry out an integration step
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns false if it fails
+ \ingroup state
+*/
+C_DECL_SPEC bool rrcCallConv evalModel(RRHandle handle);
+
+// Get number family
+/*!
+ \brief Returns the number of compartments in the model
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns number of compartments
+ \ingroup compartment
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfCompartments (RRHandle handle);
+
+
+/*!
+ \brief Returns the number of boundary species in the model
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup boundary
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfBoundarySpecies(RRHandle handle);
+
+
+/*!
+ \brief Returns the number of floating species in the model
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup floating
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfFloatingSpecies(RRHandle handle);
+
+
+/*!
+ \brief Returns the number of global parameters in the model
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup parameters
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfGlobalParameters(RRHandle handle);
+
+// --------------------------------------------------------------------------------
+// Get number family
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Returns the number of dependent species in the model
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup floating
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfDependentSpecies(RRHandle handle);
+
+
+/*!
+ \brief Returns the number of independent species in the model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup floating
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfIndependentSpecies(RRHandle handle);
+
+// --------------------------------------------------------------------------------
+// Get Ids family
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Obtain the list of reaction Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup reaction
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getReactionIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of boundary species Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup boundary
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getBoundarySpeciesIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of floating species Id
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup floating
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getFloatingSpeciesIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of global parameter Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup parameters
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getGlobalParameterIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of compartment Ids
+
+ Example: \code str = getCompartmentIds (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns -1 if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup compartment
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getCompartmentIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of eigenvalue Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns -1 if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup state
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getEigenvalueIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of all available symbols
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns -1 if it fails, if successful it returns a pointer to a RRListHandle struct
+ \ingroup state
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getAvailableTimeCourseSymbols(RRHandle handle);
+
+/*!
+ \brief Obtain the list of all available steady state symbols
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns -1 if it fails, if successful it returns a pointer to a RRListPtr struct
+ \ingroup state
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getAvailableSteadyStateSymbols(RRHandle handle);
+
+// --------------------------------------------------------------------------------
+// MCA methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Obtain the list of elasticity coefficient Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a list
+ \ingroup mca
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getElasticityCoefficientIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of unscaled flux control coefficient Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a list of Ids
+ \ingroup mca
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getUnscaledFluxControlCoefficientIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of flux control coefficient Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a list of Ids
+ \ingroup mca
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getFluxControlCoefficientIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of unscaled concentration control coefficient Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a list of Ids
+ \ingroup mca
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getUnscaledConcentrationControlCoefficientIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of concentration coefficient Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a list of Ids
+ \ingroup mca
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getConcentrationControlCoefficientIds(RRHandle handle);
+
+/*!
+ \brief Retrieve the unscaled elasticity matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns nil if it fails, otherwise returns a matrix of unscaled elasticities
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getUnscaledElasticityMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the scaled elasticity matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of scaled elasticities.
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getScaledElasticityMatrix(RRHandle handle);
+
+
+/*!
+ \brief Retrieve the scaled elasticity matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] reactionId The reaction Id for computing the elasticity
+ \param[in] speciesId The floating species to compute the elasticity for
+ \param[out] value The return value for the elasticity
+ \return Returns false if it fails
+ \ingroup mca
+*/
+C_DECL_SPEC bool rrcCallConv getScaledFloatingSpeciesElasticity(RRHandle handle, const char* reactionId, const char* speciesId, double* value);
+
+/*!
+ \brief Retrieve the matrix of unscaled concentration control coefficients for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of unscaled concentration control coefficients
+ The first column will contain the real values and the second column the imaginary values
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getUnscaledConcentrationControlCoefficientMatrix(RRHandle handle);
+
+
+/*!
+ \brief Retrieve the matrix of scaled concentration control coefficients for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of scaled concentration control coefficients
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getScaledConcentrationControlCoefficientMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the matrix of unscaled flux control coefficients for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of unscaled flux control coefficients
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getUnscaledFluxControlCoefficientMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the matrix of scaled flux control coefficients for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of scaled flux control coefficients
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getScaledFluxControlCoefficientMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve a single unscaled control coefficient
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] variable This is the dependent variable of the coefficient, for example a flux or species concentration
+ \param[in] parameter This is the independent parameter, for example a kinetic constant or boundary species
+ \param[out] value This is the value of the unscaled control coefficient returns to the caller
+ \return Returns true if successful
+ \ingroup mca
+*/
+C_DECL_SPEC bool rrcCallConv getuCC (RRHandle handle, const char* variable, const char* parameter, double* value);
+
+/*!
+ \brief Retrieve a single control coefficient
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] variable This is the dependent variable of the coefficient, for example a flux or species concentration
+ \param[in] parameter This is the independent parameter, for example a kinetic constant or boundary species
+ \param[out] value This is the value of the control coefficient returns to the caller
+ \return Returns true if successful
+ \ingroup mca
+*/
+C_DECL_SPEC bool  rrcCallConv getCC (RRHandle handle, const char* variable, const char* parameter, double* value);
+
+/*!
+ \brief Retrieve a single elasticity coefficient
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] name This is the reaction variable for the elasticity
+ \param[in] species This is the independent parameter, for example a floating of boundary species
+ \param[out] value This is the value of the elasticity coefficient returns to the caller
+ \return Returns true if successful
+ \ingroup mca
+*/
+C_DECL_SPEC bool rrcCallConv getEE(RRHandle handle, const char* name, const char* species, double* value);
+
+/*!
+ \brief Retrieve a single unscaled elasticity coefficient
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] name This is the reaction variable for the unscaled elasticity
+ \param[in] species This is the independent parameter, for example a floating of boundary species
+ \param[out] value This is the value of the unscaled elasticity coefficient returns to the caller
+ \return Returns true if successful
+ \ingroup mca
+*/
+C_DECL_SPEC bool rrcCallConv getuEE(RRHandle handle, const char* name, const char* species, double* value);
+
+// --------------------------------------------------------------------------------
+// Stochastic methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Determine the current seed used by the random generator
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[out] seed This is the value of the current seed, returned to the caller
+ \return Returns true if successful
+ \ingroup stochastic
+*/
+C_DECL_SPEC bool rrcCallConv getSeed(RRHandle handle, long* seed);
+
+/*!
+ \brief Set the current seed used by the random generator
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[out] seed This is the value the caller will set the seed to
+ \return Returns true if successful
+ \ingroup stochastic
+*/
+C_DECL_SPEC bool rrcCallConv setSeed(RRHandle handle, long seed);
+
+/*!
+ \brief Carry out a time-course simulation using the Gillespie algorithm with
+ variable step size. setTimeStart, setTimeEnd, etc are used to set the simulation
+ characteristics.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespie(RRHandle handle);
+
+/*!
+ \brief Carry out a time-course simulation using the Gillespie algorithm based
+ on the given arguments, time start, time end and number of points.
+
+ Example:
+ \code
+    RRCDataPtr m;
+
+    double timeStart = 0.0;
+    double timeEnd = 25;
+
+    m = gillespieEx (rrHandle, timeStart, timeEnd);
+    \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart Time start
+ \param[in] timeEnd Time end
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieEx(RRHandle handle, double timeStart, double timeEnd);
+
+/*!
+ \brief Carry out a time-course simulation using the Gillespie algorithm with
+ fixed step size. setTimeStart, setTimeEnd, setNumPoints, etc are used to set
+ the simulation characteristics.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieOnGrid(RRHandle handle);
+
+/*!
+ \brief Carry out a time-course simulation using the Gillespie algorithm with
+ fixed step size based on the given arguments, time start, time end, and
+ number of points.
+
+ Example:
+ \code
+    RRCDataPtr m;
+
+    double timeStart = 0.0;
+    double timeEnd = 25;
+    int numberOfPoints = 200;
+
+    m = gillespieOnGridEx (rrHandle, timeStart, timeEnd, numberOfPoints);
+    \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart Time start
+ \param[in] timeEnd Time end
+ \param[in] numberOfPoints Fixed number of points to generate
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfPoints);
+
+/*!
+ \brief Carry out a series of time-course simulations using the Gillespie
+ algorithm with fixed step size, then return the average of the simulations.
+ setTimeStart, setTimeEnd, setNumPoints, etc are used to set the simulation
+ characteristics.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] numberOfSimulations Number of simulations to perform
+ \return Returns an array (RRCDataPtr) of columns containing the average of the
+ results of the simulations including string labels for the individual columns.
+ The client is responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanOnGrid(RRHandle handle, int numberOfSimulations);
+
+/*!
+ \brief Carry out a series of time-course simulations using the Gillespie
+ algorithm with fixed step size, then return the average of the simulations.
+ Based on the given arguments, time start, time end, and number of points.
+
+ Example:
+ \code
+    RRCDataPtr m;
+
+    double timeStart = 0.0;
+    double timeEnd = 25;
+    int numberOfPoints = 200;
+    int numberOfSimulations = 10;
+
+    m = gillespieMeanOnGridEx (rrHandle, timeStart, timeEnd, numberOfPoints, numberOfSimulations);
+    \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart Time start
+ \param[in] timeEnd Time end
+ \param[in] numberOfPoints Fixed number of points to generate
+ \param[in] numberOfSimulations Number of simulations to perform
+ \return Returns an array (RRCDataPtr) of columns containing the average of the
+ results of the simulation including string labels for the individual columns.
+ The client is responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfPoints, int numberOfSimulations);
+
+/*!
+ \brief Carry out a series of time-course simulations using the Gillespie
+ algorithm with fixed step size, then return the average and standard
+ deviation of the simulations. setTimeStart, setTimeEnd, setNumPoints, etc
+ are used to set the simulation characteristics.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] numberOfSimulations Number of simulations to perform
+ \return Returns an array (RRCDataPtr) of columns containing the average of the
+ results of the simulations including string labels for the individual columns.
+ The averages are in Data and the standard deviations are in Weights.
+ The client is responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanSDOnGrid(RRHandle handle, int numberOfSimulations);
+
+
+/*!
+ \brief Carry out a series of time-course simulations using the Gillespie
+ algorithm with fixed step size, then return the average and standard deviation
+ of the simulations. Based on the given arguments, time start, time end, number
+ of points, and number of simulations.
+
+ Example:
+ \code
+    RRCDataPtr m;
+
+    double timeStart = 0.0;
+    double timeEnd = 25;
+    int numberOfPoints = 200;
+    int numberOfSimulations = 10;
+
+    m = gillespieMeanSDOnGridEx (rrHandle, timeStart, timeEnd, numberOfPoints, numberOfSimulations);
+    \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart Time start
+ \param[in] timeEnd Time end
+ \param[in] numberOfPoints Fixed number of points to generate
+ \param[in] numberOfSimulations Number of simulations to perform
+ \return Returns an array (RRCDataPtr) of columns containing the average of the
+ results of the simulation including string labels for the individual columns. The
+ average values are in Data and the standard deviations are in Weights. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanSDOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfSteps, int numberOfSimulations);
+
+// --------------------------------------------------------------------------------
+// Reset methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Resets all variables of the model to their current initial values.
+ Does not change the parameters.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Boolean indicating success
+ \ingroup reset
+*/
+C_DECL_SPEC bool rrcCallConv reset(RRHandle handle);
+
+/*!
+ \brief Resets all variables of the model to their current initial values,
+ and resets all parameters to their original values.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Boolean indicating success
+ \ingroup reset
+*/
+C_DECL_SPEC bool rrcCallConv resetAll(RRHandle handle);
+
+/*!
+ \brief Resets the model to the state in which it was first loaded, including
+ initial conditions, variables, and parameters.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Boolean indicating success
+ \ingroup reset
+*/
+C_DECL_SPEC bool rrcCallConv resetToOrigin(RRHandle handle);
+
+#if defined( __cplusplus)
+}
+}//namespace
+
+#endif
+
+#endif
+/*! \mainpage RoadRunner C API Library
+ *
+ * \section intro_sec Introduction
+ *
+ * RoadRunner is a SBML compliant high performance and portable simulation engine
+ * for systems and synthetic biology. To run a simple SBML model
+ * and generate time series data we would write the following code:
+ *
+\code
+#undef __cplusplus
+#define STATIC_RRC
+#include <stdio.h>
+#include <stdlib.h>
+#include "rrc_api.h"
+#include "rrc_types.h"
+#include "rrc_utilities.h"
+int main (int argc, char *argv[]) {
+    RRHandle rrHandle;
+    RRCDataPtr result;
+
+    printf ("Starting Test Program %s\n", argv[0]);
+    rrHandle = createRRInstance();
+    if (!loadSBMLFromFile (rrHandle, "feedback.xml")) {
+        printf ("Failed to load model: %s\n", getLastError ());
+        getchar ();
+        exit (0);
+    }
+    result = simulateEx (rrHandle, 0, 10, 100);
+    printf (rrCDataToString (result));
+    freeRRCData(result);
+
+    getchar ();
+    exit (0);
+}
+\endcode
+
+More complex example, using C API:
+\code
+#undef __cplusplus
+#define STATIC_RRC
+#include <stdio.h>
+#include <stdlib.h>
+#include "rrc_api.h"
+#include "rrc_types.h"
+#include "rrc_utilities.h"
+int main (int argc, char *argv[]) {
+   RRHandle rrHandle;
+   RRCDataPtr result;
+   int index;
+   int col;
+   int row;
+   printf ("Starting Test Program %s\n", argv[0]);
+   rrHandle = createRRInstance();
+   if (!loadSBML (rrHandle, "feedback.xml")) {
+      printf ("Error while loading SBML file\n");
+      printf ("Error message: %s\n", getLastError());
+      getchar ();
+      exit (0);
+   }
+   result = simulateEx (rrHandle, 0, 10, 10);  // start time, end time, and number of points
+   index = 0;
+   // Print out column headers... typically time and species.
+   for (col = 0; col < result->CSize; col++)
+   {
+      printf ("%10s", result->ColumnHeaders[index++]);
+      if (col < result->CSize - 1)
+      {
+         printf ("\t");
+      }
+   }
+   printf ("\n");
+   index = 0;
+   // Print out the data
+   for (row = 0; row < result->RSize; row++)
+   {
+      for (col = 0; col < result->CSize; col++)
+      {
+         printf ("%10f", result->Data[index++]);
+         if (col < result->CSize -1)
+         {
+            printf ("\t");
+         }
+      }
+   printf ("\n");
+   }
+   //Cleanup
+   freeRRCData (result);
+   freeRRInstance (rrHandle);
+   getchar ();
+   exit (0);
+}
+\endcode
+
+Would create output as shown below:
+
+\code
+Starting Test Program: <File path Here>
+     time            [S1]            [S2]            [S3]            [S4]
+ 0.000000        0.000000        0.000000        0.000000        0.000000
+ 1.111111        3.295975        1.677255        1.121418        1.074708
+ 2.222222        0.971810        1.658970        1.841065        2.192728
+ 3.333333        0.137340        0.501854        1.295138        2.444883
+ 4.444445        0.141470        0.200937        0.549172        1.505662
+ 5.555556        1.831017        1.317792        1.129982        1.351300
+ 6.666667        0.306310        0.775477        1.304950        1.952076
+ 7.777778        0.193459        0.268986        0.628542        1.483161
+ 8.888889        1.566864        1.219950        1.105718        1.370199
+10.000000        0.269437        0.678127        1.199353        1.868247
+
+\endcode
+ * \section install_sec Installation
+ *
+ * Installation documentation is provided at libRoadRunner.org.
+
+ * \section license_sec License
+ * Copyright (C) 2012-2015
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+
+
+ \defgroup initialization Library initialization and termination methods
+ \brief Initialize library and terminate library instance
+
+ \defgroup loadsave Read and write models
+ \brief Read and write models to files or strings. Support for SBML formats.
+
+ \defgroup utility Utility functions
+ \brief Various miscellaneous routines that return useful information about the library
+
+ \defgroup errorfunctions Error handling functions
+ \brief Error handling routines
+
+ \defgroup logging Logging functionality
+ \brief RoadRunner logging routines
+
+ \defgroup state Current state of system
+ \brief Compute derivatives, fluxes, and other values of the system at the current state
+
+ \defgroup simulation Time-course simulation
+ \brief Deterministic, stochastic, and hybrid simulation algorithms
+
+ \defgroup steadystate Steady state routines
+ \brief Compute and obtain basic information about the steady state
+
+ \defgroup reaction Reaction group
+ \brief Get information about reaction rates
+
+ \defgroup rateOfChange Rates of change group
+ \brief Get information about rates of change
+
+ \defgroup boundary Boundary species group
+ \brief Get information about boundary species
+
+ \defgroup floating Floating species group
+ \brief Get information about floating species
+
+ \defgroup initialConditions Initial conditions group
+ \brief Set or get initial conditions
+
+ \defgroup parameters Parameters group
+ \brief Set and get global and local parameters
+
+ \defgroup compartment Compartment group
+ \brief Set and Get information on compartments
+
+ \defgroup mca Metabolic control analysis
+ \brief Calculate control coefficients and sensitivities
+
+ \defgroup stochastic Stochastic simulations
+ \brief Stochastic simulation algorithms
+
+ \defgroup Stoich Stoichiometry analysis
+ \brief Linear algebra based methods for analyzing a reaction network
+
+ \defgroup NOM Network object model (NOM) functions
+ \brief Network object model functions
+
+ \defgroup LinearAlgebra Linear algebra functions
+ \brief Linear algebra utility functions
+
+ \defgroup list List handling routines
+ \brief Some methods return lists (heterogeneous arrays of data),
+ these routines make it easier to manipulate lists
+
+ \defgroup helperRoutines Helper routines
+ \brief Helper routines for accessing the various C API types, eg lists and arrays
+
+ \defgroup toString ToString routines
+ \brief Render various result data types as strings
+
+ \defgroup stringArray StringArray routines
+ \brief Utility routines to deal with the string array type
+
+ \defgroup freeRoutines Free memory routines
+ \brief Routines that should be used to free various data structures generated during the course of using the library
+
+ \defgroup reset Reset methods
+ \brief Methods for resetting instances to various initial states
+*/
+
+
diff --git a/wrappers/C/core_c_api.doxy b/wrappers/C/core_c_api.doxy
new file mode 100644
index 0000000..b7ef356
--- /dev/null
+++ b/wrappers/C/core_c_api.doxy
@@ -0,0 +1,1900 @@
+# Doxyfile 1.8.3
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file 
+# that follow. The default is UTF-8 which is also the encoding used for all 
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the 
+# iconv built into libc) for the transcoding. See 
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or sequence of words) that should 
+# identify the project. Note that if you do not use Doxywizard you need 
+# to put quotes around the project name if it contains spaces.
+
+PROJECT_NAME           = "libRoadRunner C API"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = 1.0.0
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description 
+# for a project that appears at the top of each page and should give viewer 
+# a quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF          = 
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is 
+# included in the documentation. The maximum height of the logo should not 
+# exceed 55 pixels and the maximum width should not exceed 200 pixels. 
+# Doxygen will copy the logo to the output directory.
+
+PROJECT_LOGO           = 
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = ../../../gh-pages/c_api_docs
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
+# 4096 sub-directories (in 2 levels) under the output directory of each output 
+# format and will distribute the generated files over these directories. 
+# Enabling this option can be useful when feeding doxygen a huge amount of 
+# source files, where putting all generated files in the same directory would 
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, 
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English 
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, 
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, 
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator 
+# that is used to form the text in various listings. Each string 
+# in this list, if found as the leading text of the brief description, will be 
+# stripped from the text and the result after processing the whole list, is 
+# used as the annotated text. Otherwise, the brief description is used as-is. 
+# If left blank, the following values are used ("$name" is automatically 
+# replaced with the name of the entity): "The $name class" "The $name widget" 
+# "The $name file" "is" "provides" "specifies" "contains" 
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
+# inherited members of a class in the documentation of that class as if those 
+# members were ordinary class members. Constructors, destructors and assignment 
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user-defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. The tag can be used to show relative paths in the file list. 
+# If left blank the directory from which doxygen is run is used as the 
+# path to strip. Note that you specify absolute paths here, but also 
+# relative paths, which will be relative from the directory where doxygen is 
+# started.
+
+STRIP_FROM_PATH        = 
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
+# the path mentioned in the documentation of a class, which tells 
+# the reader which header file to include in order to use a class. 
+# If left blank only the name of the header file containing the class 
+# definition is used. Otherwise one should specify the include paths that 
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    = 
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful if your file system 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments will behave just like regular Qt-style comments 
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF      = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
+# interpret the first line (until the first dot) of a Qt-style 
+# comment as the brief description. If set to NO, the comments 
+# will behave just like regular Qt-style comments (thus requiring 
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
+# a new page for each member. If set to NO, the documentation of a member will 
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user-defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only). 
+# A mapping has the form "name=value". For example adding 
+# "class=itcl::class" will allow you to use the command class in the 
+# itcl::class meaning.
+
+TCL_SUBST              = 
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
+# sources only. Doxygen will then generate output that is more tailored for C. 
+# For instance, some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = YES
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
+# sources only. Doxygen will then generate output that is more tailored for 
+# Java. For instance, namespaces will be presented as packages, qualified 
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 
+# sources only. Doxygen will then generate output that is more tailored for 
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 
+# sources. Doxygen will then generate output that is tailored for 
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it 
+# parses. With this tag you can assign which parser to use for a given 
+# extension. Doxygen has a built-in mapping, but you can override or extend it 
+# using this tag. The format is ext=language, where ext is a file extension, 
+# and language is one of the parsers supported by doxygen: IDL, Java, 
+# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, 
+# C++. For instance to make doxygen treat .inc files as Fortran files (default 
+# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note 
+# that for custom extensions you also need to set FILE_PATTERNS otherwise the 
+# files are not read by doxygen.
+
+EXTENSION_MAPPING      = 
+
+# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all 
+# comments according to the Markdown format, which allows for more readable 
+# documentation. See http://daringfireball.net/projects/markdown/ for details. 
+# The output of markdown processing is further processed by doxygen, so you 
+# can mix doxygen, HTML, and XML commands with Markdown formatting. 
+# Disable only in case of backward compatibilities issues.
+
+MARKDOWN_SUPPORT       = YES
+
+# When enabled doxygen tries to link words that correspond to documented classes, 
+# or namespaces to their corresponding documentation. Such a link can be 
+# prevented in individual cases by by putting a % sign in front of the word or 
+# globally by setting AUTOLINK_SUPPORT to NO.
+
+AUTOLINK_SUPPORT       = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
+# to include (a tag file for) the STL sources as input, then you should 
+# set this tag to YES in order to let doxygen match functions declarations and 
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
+# func(std::string) {}). This also makes the inheritance and collaboration 
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to 
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
+# Doxygen will parse them like normal C++ but will assume all classes use public 
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate 
+# getter and setter methods for a property. Setting this option to YES (the 
+# default) will make doxygen replace the get and set methods by a property in 
+# the documentation. This will only work if the methods are indeed getting or 
+# setting a simple type. If this is not the case, or you want to show the 
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
+# the same type (for instance a group of public functions) to be put as a 
+# subgroup of that type (e.g. under the Public Functions section). Set it to 
+# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and 
+# unions are shown inside the group in which they are included (e.g. using 
+# @ingroup) instead of on a separate page (for HTML and Man pages) or 
+# section (for LaTeX and RTF).
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and 
+# unions with only public data fields will be shown inline in the documentation 
+# of the scope in which they are defined (i.e. file, namespace, or group 
+# documentation), provided this scope is documented. If set to NO (the default), 
+# structs, classes, and unions are shown on a separate page (for HTML and Man 
+# pages) or section (for LaTeX and RTF).
+
+INLINE_SIMPLE_STRUCTS  = NO
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
+# is documented as struct, union, or enum with the name of the typedef. So 
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
+# with name TypeT. When disabled the typedef will appear as a member of a file, 
+# namespace, or class. And the struct will be named TypeS. This can typically 
+# be useful for C code in case the coding convention dictates that all compound 
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 
+# determine which symbols to keep in memory and which to flush to disk. 
+# When the cache is full, less often used symbols will be written to disk. 
+# For small to medium size projects (<1000 input files) the default value is 
+# probably good enough. For larger projects a too small cache size can cause 
+# doxygen to be busy swapping symbols to and from disk most of the time 
+# causing a significant performance penalty. 
+# If the system has enough physical memory increasing the cache will improve the 
+# performance by keeping more symbols in memory. Note that the value works on 
+# a logarithmic scale so increasing the size by one will roughly double the 
+# memory usage. The cache size is given by this formula: 
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+SYMBOL_CACHE_SIZE      = 0
+
+# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be 
+# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given 
+# their name and scope. Since this can be an expensive process and often the 
+# same symbol appear multiple times in the code, doxygen keeps a cache of 
+# pre-resolved symbols. If the cache is too small doxygen will become slower. 
+# If the cache is too large, memory is wasted. The cache size is given by this 
+# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, 
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+LOOKUP_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal 
+# scope will be included in the documentation.
+
+EXTRACT_PACKAGE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local 
+# methods, which are defined in the implementation section but not in 
+# the interface are included in the documentation. 
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be 
+# extracted and appear in the documentation as a namespace called 
+# 'anonymous_namespace{file}', where file will be replaced with the base 
+# name of the file that contains the anonymous namespace. By default 
+# anonymous namespaces are hidden.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these classes will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower-case letters. If set to YES upper-case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put a list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen 
+# will list include files with double quotes in the documentation 
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES   = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
+# brief documentation of file, namespace and class members alphabetically 
+# by member name. If set to NO (the default) the members will appear in 
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen 
+# will sort the (brief and detailed) documentation of class members so that 
+# constructors and destructors are listed first. If set to NO (the default) 
+# the constructors will appear in the respective orders defined by 
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. 
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO 
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 
+# hierarchy of group names into alphabetical order. If set to NO (the default) 
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
+# sorted by fully-qualified names, including namespaces. If set to 
+# NO (the default), the class list will be sorted only by class name, 
+# not including the namespace part. 
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. 
+# Note: This option applies only to the class list, not to the 
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to 
+# do proper type resolution of all parameters of a function it will reject a 
+# match between the prototype and the implementation of a member function even 
+# if there is only one candidate or it is obvious which candidate to choose 
+# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen 
+# will still accept a match between prototype and implementation in such cases.
+
+STRICT_PROTO_MATCHING  = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if section-label ... \endif 
+# and \cond section-label ... \endcond blocks.
+
+ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or macro consists of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and macros in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. 
+# This will remove the Files entry from the Quick Index and from the 
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the 
+# Namespaces page.  This will remove the Namespaces entry from the Quick Index 
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
+# doxygen should invoke to get the current version for each file (typically from 
+# the version control system). Doxygen will invoke the program by executing (via 
+# popen()) the command <command> <input-file>, where <command> is the value of 
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
+# provided by doxygen. Whatever the program writes to standard output 
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER    = 
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed 
+# by doxygen. The layout file controls the global structure of the generated 
+# output files in an output format independent way. To create the layout file 
+# that represents doxygen's defaults, run doxygen with the -l option. 
+# You can optionally specify a file name after the option, if omitted 
+# DoxygenLayout.xml will be used as the name of the layout file.
+
+LAYOUT_FILE            = 
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files 
+# containing the references data. This must be a list of .bib files. The 
+# .bib extension is automatically appended if omitted. Using this command 
+# requires the bibtex tool to be installed. See also 
+# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style 
+# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this 
+# feature you need bibtex and perl available in the search path. Do not use 
+# file names with spaces, bibtex cannot handle them.
+
+CITE_BIB_FILES         = 
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# The WARN_NO_PARAMDOC option can be enabled to get warnings for 
+# functions that are documented, but have no documentation for their parameters 
+# or return value. If set to NO (the default) doxygen will only warn about 
+# wrong or incomplete parameter documentation, but not about the absence of 
+# documentation.
+
+WARN_NO_PARAMDOC       = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text. Optionally the format may contain 
+# $version, which will be replaced by the version of the file (if it could 
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = .
+
+# This tag can be used to specify the character encoding of the source files 
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
+# also the default input encoding. Doxygen uses libiconv (or the iconv built 
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
+# the list of possible encodings.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank the following patterns are tested: 
+# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh 
+# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py 
+# *.f90 *.f *.for *.vhd *.vhdl
+
+FILE_PATTERNS          = *.c \
+                         *.cc \
+                         *.cxx \
+                         *.cpp \
+                         *.c++ \
+                         *.d \
+                         *.java \
+                         *.ii \
+                         *.ixx \
+                         *.ipp \
+                         *.i++ \
+                         *.inl \
+                         *.h \
+                         *.hh \
+                         *.hxx \
+                         *.hpp \
+                         *.h++ \
+                         *.idl \
+                         *.odl \
+                         *.cs \
+                         *.php \
+                         *.php3 \
+                         *.inc \
+                         *.m \
+                         *.mm \
+                         *.dox \
+                         *.py \
+                         *.f90 \
+                         *.f \
+                         *.for \
+                         *.vhd \
+                         *.vhdl
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag. 
+# Note that relative paths are relative to the directory from which doxygen is 
+# run.
+
+EXCLUDE                = rrc_pch.h \
+                         rrNewArrayList.cpp \
+                         rrNewArrayList.h \
+                         rrNewArrayListItem.cpp \
+                         rrNewArrayListItem.h \
+                         rrNewArrayListItemObject.cpp \
+                         rrNewArrayListItemObject.h
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or 
+# directories that are symbolic links (a Unix file system feature) are excluded 
+# from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories. Note that the wildcards are matched 
+# against the file with absolute path, so to exclude all test directories 
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       = 
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
+# (namespaces, classes, functions, etc.) that should be excluded from the 
+# output. The symbol name can be a fully qualified name, a word, or if the 
+# wildcard * is used, a substring. Examples: ANamespace, AClass, 
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS        = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = *
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
+# ignored.
+
+INPUT_FILTER           = 
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
+# basis.  Doxygen will compare the file name with each pattern and apply the 
+# filter if there is a match.  The filters are a list of the form: 
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
+# info on how filters are used. If FILTER_PATTERNS is empty or if 
+# non of the patterns match the file name, INPUT_FILTER is applied.
+
+FILTER_PATTERNS        = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file 
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) 
+# and it is also possible to disable source filtering for a specific pattern 
+# using *.ext= (so without naming a filter). This option only has effect when 
+# FILTER_SOURCE_FILES is enabled.
+
+FILTER_SOURCE_PATTERNS = 
+
+# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that 
+# is part of the input, its contents will be placed on the main page (index.html). 
+# This can be useful if you have a project on for instance GitHub and want reuse 
+# the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE = 
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+# Note: To get rid of all source code in the generated output, make sure also 
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C, C++ and Fortran comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
+# link to the source code.  Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code 
+# will point to the HTML generated by the htags(1) tool instead of doxygen 
+# built-in source browser. The htags tool is part of GNU's global source 
+# tagging system (see http://www.gnu.org/software/global/global.html). You 
+# will need version 4.8.6 or higher.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header. Note that when using a custom header you are responsible  
+# for the proper inclusion of any scripts and style sheets that doxygen 
+# needs, which is dependent on the configuration options used. 
+# It is advised to generate a default header using "doxygen -w html 
+# header.html footer.html stylesheet.css YourConfigFile" and then modify 
+# that header. Note that the header is subject to change so you typically 
+# have to redo this when upgrading to a newer version of doxygen or when 
+# changing the value of configuration settings such as GENERATE_TREEVIEW!
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If left blank doxygen will 
+# generate a default style sheet. Note that it is recommended to use 
+# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this 
+# tag will in the future become obsolete.
+
+HTML_STYLESHEET        = 
+
+# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional 
+# user-defined cascading style sheet that is included after the standard 
+# style sheets created by doxygen. Using this option one can overrule 
+# certain style aspects. This is preferred over using HTML_STYLESHEET 
+# since it does not replace the standard style sheet and is therefor more 
+# robust against future updates. Doxygen will copy the style sheet file to 
+# the output directory.
+
+HTML_EXTRA_STYLESHEET  = 
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or 
+# other source files which should be copied to the HTML output directory. Note 
+# that these files will be copied to the base HTML output directory. Use the 
+# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these 
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that 
+# the files will be copied as-is; there are no commands or markers available.
+
+HTML_EXTRA_FILES       = 
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 
+# Doxygen will adjust the colors in the style sheet and background images 
+# according to this color. Hue is specified as an angle on a colorwheel, 
+# see http://en.wikipedia.org/wiki/Hue for more information. 
+# For instance the value 0 represents red, 60 is yellow, 120 is green, 
+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. 
+# The allowed range is 0 to 359.
+
+HTML_COLORSTYLE_HUE    = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of 
+# the colors in the HTML output. For a value of 0 the output will use 
+# grayscales only. A value of 255 will produce the most vivid colors.
+
+HTML_COLORSTYLE_SAT    = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to 
+# the luminance component of the colors in the HTML output. Values below 
+# 100 gradually make the output lighter, whereas values above 100 make 
+# the output darker. The value divided by 100 is the actual gamma applied, 
+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, 
+# and 100 does not change the gamma.
+
+HTML_COLORSTYLE_GAMMA  = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML 
+# page will contain the date and time when the page was generated. Setting 
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP         = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
+# documentation will contain sections that can be hidden and shown after the 
+# page has loaded.
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of 
+# entries shown in the various tree structured indices initially; the user 
+# can expand and collapse entries dynamically later on. Doxygen will expand 
+# the tree to such a level that at most the specified number of entries are 
+# visible (unless a fully collapsed tree already exceeds this amount). 
+# So setting the number of entries 1 will produce a full collapsed tree by 
+# default. 0 is a special value representing an infinite number of entries 
+# and will result in a full expanded tree by default.
+
+HTML_INDEX_NUM_ENTRIES = 100
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files 
+# will be generated that can be used as input for Apple's Xcode 3 
+# integrated development environment, introduced with OSX 10.5 (Leopard). 
+# To create a documentation set, doxygen will generate a Makefile in the 
+# HTML output directory. Running make will produce the docset in that 
+# directory and running "make install" will install the docset in 
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
+# it at startup. 
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html 
+# for more information.
+
+GENERATE_DOCSET        = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
+# feed. A documentation feed provides an umbrella under which multiple 
+# documentation sets from a single provider (such as a company or product suite) 
+# can be grouped.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
+# should uniquely identify the documentation set bundle. This should be a 
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely 
+# identify the documentation publisher. This should be a reverse domain-name 
+# style string, e.g. com.mycompany.MyDocSet.documentation.
+
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+
+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+
+DOCSET_PUBLISHER_NAME  = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
+# written to the html output directory.
+
+CHM_FILE               = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING 
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file 
+# content.
+
+CHM_INDEX_ENCODING     = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and 
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated 
+# that can be used as input for Qt's qhelpgenerator to generate a 
+# Qt Compressed Help (.qch) of the generated HTML documentation.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can 
+# be used to specify the file name of the resulting .qch file. 
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE               = 
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating 
+# Qt Help Project output. For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE          = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating 
+# Qt Help Project output. For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to 
+# add. For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME   = 
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the 
+# custom filter to add. For more information please see 
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> 
+# Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS  = 
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this 
+# project's 
+# filter section matches. 
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> 
+# Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS  = 
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
+# be used to specify the location of Qt's qhelpgenerator. 
+# If non-empty doxygen will try to run qhelpgenerator on the generated 
+# .qhp file.
+
+QHG_LOCATION           = 
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files  
+# will be generated, which together with the HTML files, form an Eclipse help 
+# plugin. To install this plugin and make it available under the help contents 
+# menu in Eclipse, the contents of the directory containing the HTML and XML 
+# files needs to be copied into the plugins directory of eclipse. The name of 
+# the directory within the plugins directory should be the same as 
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before 
+# the help appears.
+
+GENERATE_ECLIPSEHELP   = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin 
+# the directory name containing the HTML and XML files should also have 
+# this name.
+
+ECLIPSE_DOC_ID         = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) 
+# at top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it. Since the tabs have the same information as the 
+# navigation tree you can set this option to NO if you already set 
+# GENERATE_TREEVIEW to YES.
+
+DISABLE_INDEX          = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
+# structure should be generated to display hierarchical information. 
+# If the tag value is set to YES, a side panel will be generated 
+# containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 
+# Windows users are probably better off using the HTML help feature. 
+# Since the tree basically has the same information as the tab index you 
+# could consider to set DISABLE_INDEX to NO when enabling this option.
+
+GENERATE_TREEVIEW      = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values 
+# (range [0,1..20]) that doxygen will group on one line in the generated HTML 
+# documentation. Note that a value of 0 will completely suppress the enum 
+# values from appearing in the overview section.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open 
+# links to external symbols imported via tag files in a separate window.
+
+EXT_LINKS_IN_WINDOW    = NO
+
+# Use this tag to change the font size of Latex formulas included 
+# as images in the HTML documentation. The default is 10. Note that 
+# when you change the font size after a successful doxygen run you need 
+# to manually remove any form_*.png images from the HTML output directory 
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE       = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images 
+# generated for formulas are transparent PNGs. Transparent PNGs are 
+# not supported properly for IE 6.0, but are supported on all modern browsers. 
+# Note that when changing this option you need to delete any form_*.png files 
+# in the HTML output before the changes have effect.
+
+FORMULA_TRANSPARENT    = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax 
+# (see http://www.mathjax.org) which uses client side Javascript for the 
+# rendering instead of using prerendered bitmaps. Use this if you do not 
+# have LaTeX installed or if you want to formulas look prettier in the HTML 
+# output. When enabled you may also need to install MathJax separately and 
+# configure the path to it using the MATHJAX_RELPATH option.
+
+USE_MATHJAX            = NO
+
+# When MathJax is enabled you can set the default output format to be used for 
+# thA MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and 
+# SVG. The default value is HTML-CSS, which is slower, but has the best 
+# compatibility.
+
+MATHJAX_FORMAT         = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the 
+# HTML output directory using the MATHJAX_RELPATH option. The destination 
+# directory should contain the MathJax.js script. For instance, if the mathjax 
+# directory is located at the same level as the HTML output directory, then 
+# MATHJAX_RELPATH should be ../mathjax. The default value points to 
+# the MathJax Content Delivery Network so you can quickly see the result without 
+# installing MathJax.  However, it is strongly recommended to install a local 
+# copy of MathJax from http://www.mathjax.org before deployment.
+
+MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension 
+# names that should be enabled during MathJax rendering.
+
+MATHJAX_EXTENSIONS     = 
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box 
+# for the HTML output. The underlying search engine uses javascript 
+# and DHTML and should work on any modern browser. Note that when using 
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets 
+# (GENERATE_DOCSET) there is already a search function so this one should 
+# typically be disabled. For large projects the javascript based search engine 
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE           = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be 
+# implemented using a web server instead of a web client using Javascript. 
+# There are two flavours of web server based search depending on the 
+# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for 
+# searching and an index file used by the script. When EXTERNAL_SEARCH is 
+# enabled the indexing and searching needs to be provided by external tools. 
+# See the manual for details.
+
+SERVER_BASED_SEARCH    = NO
+
+# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP 
+# script for searching. Instead the search results are written to an XML file 
+# which needs to be processed by an external indexer. Doxygen will invoke an 
+# external search engine pointed to by the SEARCHENGINE_URL option to obtain 
+# the search results. Doxygen ships with an example indexer (doxyindexer) and 
+# search engine (doxysearch.cgi) which are based on the open source search engine 
+# library Xapian. See the manual for configuration details.
+
+EXTERNAL_SEARCH        = NO
+
+# The SEARCHENGINE_URL should point to a search engine hosted by a web server 
+# which will returned the search results when EXTERNAL_SEARCH is enabled. 
+# Doxygen ships with an example search engine (doxysearch) which is based on 
+# the open source search engine library Xapian. See the manual for configuration 
+# details.
+
+SEARCHENGINE_URL       = 
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed 
+# search data is written to a file for indexing by an external tool. With the 
+# SEARCHDATA_FILE tag the name of this file can be specified.
+
+SEARCHDATA_FILE        = searchdata.xml
+
+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through other 
+# doxygen projects that are not otherwise connected via tags files, but are 
+# all added to the same search index. Each project needs to have a tag file set 
+# via GENERATE_TAGFILE. The search mapping then maps the name of the tag file 
+# to a relative location where the documentation can be found,  similar to the 
+# TAGFILES option but without actually processing the tag file. 
+# The format is: EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+
+EXTRA_SEARCH_MAPPINGS  = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name. 
+# Note that when enabling USE_PDFLATEX this option is only used for 
+# generating bitmaps for formulas in the HTML output, but not in the 
+# Makefile that is written to the output directory.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for 
+# the generated latex document. The footer should contain everything after 
+# the last chapter. If it is left blank doxygen will generate a 
+# standard footer. Notice: only use this tag if you know what you are doing!
+
+LATEX_FOOTER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
+# include the index chapters (such as File Index, Compound Index, etc.) 
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include 
+# source code with syntax highlighting in the LaTeX output. 
+# Note that which sources are shown also depends on other settings 
+# such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE      = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the 
+# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See 
+# http://en.wikipedia.org/wiki/BibTeX for more info.
+
+LATEX_BIB_STYLE        = plain
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimized for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load style sheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assignments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_SCHEMA             = 
+
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_DTD                = 
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
+# dump the program listings (including syntax highlighting 
+# and cross-referencing information) to the XML output. Note that 
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader.  This is useful 
+# if you want to understand what is going on.  On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# pointed to by INCLUDE_PATH will be searched when a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed. To prevent a macro definition from being 
+# undefined via #undef or recursively expanded use the := operator 
+# instead of the = operator.
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition that 
+# overrules the definition found in the source code.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all references to function-like macros 
+# that are alone on a line, have an all uppercase name, and do not end with a 
+# semicolon, because these will confuse the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. For each 
+# tag file the location of the external documentation should be added. The 
+# format of a tag file without this location is as follows: 
+#   TAGFILES = file1 file2 ... 
+# Adding location for the tag files is done as follows: 
+#   TAGFILES = file1=loc1 "file2 = loc2" ... 
+# where "loc1" and "loc2" can be relative or absolute paths 
+# or URLs. Note that each tag file must have a unique name (where the name does 
+# NOT include the path). If a tag file is not located in the directory in which 
+# doxygen is run, you must also specify the path to the tagfile here.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
+# or super classes. Setting the tag to NO turns the diagrams off. Note that 
+# this option also works with HAVE_DOT disabled, but it is recommended to 
+# install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS         = NO
+
+# You can define message sequence charts within doxygen comments using the \msc 
+# command. Doxygen will then run the mscgen tool (see 
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
+# the mscgen tool resides. If left empty the tool is assumed to be found in the 
+# default search path.
+
+MSCGEN_PATH            = 
+
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = NO
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is 
+# allowed to run in parallel. When set to 0 (the default) doxygen will 
+# base this on the number of processors available in the system. You can set it 
+# explicitly to a value larger than 0 to get control over the balance 
+# between CPU load and processing speed.
+
+DOT_NUM_THREADS        = 0
+
+# By default doxygen will use the Helvetica font for all dot files that 
+# doxygen generates. When you want a differently looking font you can specify 
+# the font name using DOT_FONTNAME. You need to make sure dot is able to find 
+# the font, which can be done by putting it in a standard location or by setting 
+# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the 
+# directory containing the font.
+
+DOT_FONTNAME           = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
+# The default size is 10pt.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the Helvetica font. 
+# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to 
+# set the path where dot can find it.
+
+DOT_FONTPATH           = 
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
+# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# Language.
+
+UML_LOOK               = NO
+
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside 
+# the class node. If there are many fields or methods and many nodes the 
+# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS 
+# threshold limits the number of items for each type to make the size more 
+# managable. Set this to 0 for no limit. Note that the threshold may be 
+# exceeded by 50% before the limit is enforced.
+
+UML_LIMIT_NUM_FIELDS   = 10
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
+# doxygen will generate a call dependency graph for every global function 
+# or class method. Note that enabling this option will significantly increase 
+# the time of a run. So in most cases it will be better to enable call graphs 
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
+# doxygen will generate a caller dependency graph for every global function 
+# or class method. Note that enabling this option will significantly increase 
+# the time of a run. So in most cases it will be better to enable caller 
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES 
+# then doxygen will show the dependencies a directory has on other directories 
+# in a graphical way. The dependency relations are determined by the #include 
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# generated by dot. Possible values are svg, png, jpg, or gif. 
+# If left blank png will be used. If you choose svg you need to set 
+# HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
+# visible in IE 9+ (other browsers do not have this requirement).
+
+DOT_IMAGE_FORMAT       = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to 
+# enable generation of interactive SVG images that allow zooming and panning. 
+# Note that this requires a modern browser other than Internet Explorer. 
+# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you 
+# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
+# visible. Older versions of IE do not have SVG support.
+
+INTERACTIVE_SVG        = NO
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH               = 
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+DOTFILE_DIRS           = 
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that 
+# contain msc files that are included in the documentation (see the 
+# \mscfile command).
+
+MSCFILE_DIRS           = 
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
+# nodes that will be shown in the graph. If the number of nodes in a graph 
+# becomes larger than this value, doxygen will truncate the graph, which is 
+# visualized by representing a node as a red box. Note that doxygen if the 
+# number of direct children of the root node in a graph is already larger than 
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
+# graphs generated by dot. A depth value of 3 means that only nodes reachable 
+# from the root by following a path via at most 3 edges will be shown. Nodes 
+# that lay further from the root node will be omitted. Note that setting this 
+# option to 1 or 2 may greatly reduce the computation time needed for large 
+# code bases. Also note that the size of a graph can be further restricted by 
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
+# background. This is disabled by default, because dot on Windows does not 
+# seem to support this out of the box. Warning: Depending on the platform used, 
+# enabling this option may lead to badly anti-aliased labels on the edges of 
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
+# files in one run (i.e. multiple -o and -T options on the command line). This 
+# makes dot run faster, but since only newer versions of dot (>1.8.10) 
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermediate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
diff --git a/wrappers/C/libMain.cpp b/wrappers/C/libMain.cpp
new file mode 100644
index 0000000..2b22d33
--- /dev/null
+++ b/wrappers/C/libMain.cpp
@@ -0,0 +1,27 @@
+//   Important note about DLL memory management when your DLL uses the
+//   static version of the RunTime Library:
+//
+//   If your DLL exports any functions that pass String objects (or structs/
+//   classes containing nested Strings) as parameter or function results,
+//   you will need to add the library MEMMGR.LIB to both the DLL project and
+//   any other projects that use the DLL.  You will also need to use MEMMGR.LIB
+//   if any other projects which use the DLL will be performing new or delete
+//   operations on any non-TObject-derived classes which are exported from the
+//   DLL. Adding MEMMGR.LIB to your project will change the DLL and its calling
+//   EXE's to use the BORLNDMM.DLL as their memory manager.  In these cases,
+//   the file BORLNDMM.DLL should be deployed along with your DLL.
+//
+//   To avoid using BORLNDMM.DLL, pass string information using "char *" or
+//   ShortString parameters.
+//
+//   If your DLL uses the dynamic version of the RTL, you do not need to
+//   explicitly add MEMMGR.LIB as this will be done implicitly for you
+
+#pragma hdrstop
+#pragma argsused
+
+extern "C" int _libmain(unsigned long reason)
+{
+	return 1;
+}
+
diff --git a/wrappers/C/rrArrayList.cpp b/wrappers/C/rrArrayList.cpp
new file mode 100644
index 0000000..3316f32
--- /dev/null
+++ b/wrappers/C/rrArrayList.cpp
@@ -0,0 +1,301 @@
+#pragma hdrstop
+#include <sstream>
+#include <ostream>
+#include "rrcStringList.h"
+#include "rrArrayList.h"
+#include "rrLogger.h"
+//---------------------------------------------------------------------------
+
+using namespace std;
+
+namespace rrc
+{
+
+ArrayList::ArrayList()
+{}
+
+ArrayList::ArrayList(const string& lbl, const StringList& stringList)
+{
+    Add(lbl, stringList);
+}
+
+ArrayList::ArrayList(const string& lbl, const ArrayList& ArrayList)
+{
+    Add(lbl, ArrayList);
+}
+
+ArrayList::~ArrayList()
+{
+    if(mList.size())
+    {
+        for(u_int i = 0; i < Count(); i++)
+        {
+            delete mList[i];
+        }
+        mList.clear();
+    }
+}
+
+string ArrayList::GetString(const int& index)
+{
+    if(index < mList.size())
+    {
+        ArrayListItemBase* listPtr = mList[index];
+
+           if(listPtr)
+        {
+            if(dynamic_cast< ArrayListItem<string>* >(listPtr))
+            {
+                return *(dynamic_cast< ArrayListItem<string>* >(listPtr));
+            }
+        }
+    }
+
+    throw("No string at index");
+}
+
+StringList ArrayList::GetStringList(const int& index)
+{
+    if(index < mList.size())
+    {
+        ArrayListItemBase* listPtr = mList[index];
+
+           if(listPtr)
+        {
+            if(dynamic_cast< ArrayListItem<StringList>* >(listPtr))
+            {
+                return *(dynamic_cast< ArrayListItem<StringList>* >(listPtr));
+            }
+        }
+    }
+
+    throw("No Stringlist at index");
+}
+
+StringList ArrayList::GetStringList(const string& lName)
+{
+    //Look for ann array list whose first item is a string with lName and second item is a stringlist, i.e. {{string, {string string string}}
+    StringList aList;
+    for(u_int i = 0; i < Count(); i++)
+    {
+        ArrayListItemBase* listPtr = const_cast<ArrayListItemBase*>(mList[i]);
+
+        //Check for a list which first element is a string, i.e. a {{string}, {string, string}} list
+        if(dynamic_cast< ArrayListItem<ArrayList> *>(listPtr))
+        {
+            ArrayList list = (ArrayList) *(dynamic_cast< ArrayListItem<ArrayList> *>(listPtr));
+            if(list.Count())
+            {
+                ArrayListItemBase* anItem = &list[0];
+                if(dynamic_cast<ArrayListItem<string>*>(anItem))
+                {
+                    string str = (string) *dynamic_cast<ArrayListItem<string>*>(anItem);
+
+                    if(str == lName && list.Count() > 1)
+                    {
+                        ArrayListItemBase* anItem = &list[1];
+                        if(dynamic_cast<ArrayListItem<StringList> *>(anItem))
+                        {
+                            //This is a stringList
+                            StringList  list = (StringList) *(dynamic_cast<ArrayListItem<StringList>*>(anItem));
+                            for(int i = 0; i < list.Count(); i++)
+                            {
+                                string str = list[i];
+                                aList.add(str);
+                            }
+                        }
+                        if(dynamic_cast<ArrayListItem<ArrayList> *>(anItem))
+                        {
+                            //Assume this list only contains strings!
+                            ArrayList  list = (ArrayList) *(dynamic_cast<ArrayListItem<ArrayList>*>(anItem));
+                            for(int i = 0; i < list.Count(); i++)
+                            {
+                                string str = list.GetString(i);
+                                aList.add(str);
+                            }
+                        }
+
+                    }
+                }
+            }
+        }
+    }
+    return aList;
+}
+
+void ArrayList::Clear()
+{
+    if(Count())
+    {
+        for(u_int i = 0; i < Count(); i++)
+        {
+            delete mList[i];
+        }
+        mList.clear();
+    }
+}
+
+unsigned int ArrayList::Count() const
+{
+    return mList.size();
+}
+
+ArrayList::ArrayList(const ArrayList& copyMe)
+{
+    //Deep copy
+    Clear();
+    mList.resize(copyMe.Count());
+    for(u_int i = 0; i < copyMe.Count(); i++)
+    {
+        //const ArrayListItem<T>& item = copyMe[i];
+        ArrayListItemBase* ptr = const_cast<ArrayListItemBase*>(&copyMe[i]);
+        if(dynamic_cast<ArrayListItem<int>*>(ptr))
+        {
+            mList[i] = new ArrayListItem<int>(*(dynamic_cast<ArrayListItem<int>*>(ptr)));
+        }
+        else if(dynamic_cast<ArrayListItem<double>*>(ptr))
+        {
+            mList[i] = new ArrayListItem<double>(*(dynamic_cast<ArrayListItem<double>*>(ptr)));
+        }
+        else if(dynamic_cast<ArrayListItem<string>*>(ptr))
+        {
+            mList[i] = new ArrayListItem<string>(*(dynamic_cast<ArrayListItem<string>*>(ptr)));
+        }
+        else if(dynamic_cast<ArrayListItem<StringList>*>(ptr))
+        {
+            mList[i] = new ArrayListItem<StringList>(*(dynamic_cast<ArrayListItem<StringList>*>(ptr)));
+        }
+        else if(dynamic_cast<ArrayListItem<ArrayList>*>(ptr))
+        {
+            mList[i] = new ArrayListItem<ArrayList>(*(dynamic_cast<ArrayListItem<ArrayList>*>(ptr)));
+        }
+        else
+        {
+            mList[i] = NULL;
+        }
+    }
+}
+
+void ArrayList::operator=(const ArrayList& rhs)
+{
+    //Deep copy
+    Clear();
+    mList.resize(rhs.Count());
+    for(u_int i = 0; i < rhs.Count(); i++)
+    {
+        ArrayListItemBase* ptr = const_cast<ArrayListItemBase*>(&rhs[i]);
+        if(dynamic_cast<ArrayListItem<int>*>(ptr))
+        {
+            mList[i] = new ArrayListItem<int>(*(dynamic_cast<ArrayListItem<int>*>(ptr)));
+        }
+        else if(dynamic_cast<ArrayListItem<double>*>(ptr))
+        {
+            mList[i] = new ArrayListItem<double>(*(dynamic_cast<ArrayListItem<double>*>(ptr)));
+        }
+        else if(dynamic_cast<ArrayListItem<string>*>(ptr))
+        {
+            mList[i] = new ArrayListItem<string>(*(dynamic_cast<ArrayListItem<string>*>(ptr)));
+        }
+        else if(dynamic_cast<ArrayListItem<ArrayList>*>(ptr))
+        {
+            mList[i] = new ArrayListItem<ArrayList>(*(dynamic_cast<ArrayListItem<ArrayList>*>(ptr)));
+        }
+
+//        else if(dynamic_cast<ArrayListItem<ArrayListItem>*>(ptr))
+//        {
+//            mList[i] = new ArrayListItem<ArrayListItem>(*(dynamic_cast<ArrayListItem<ArrayListItem>*>(ptr)));
+//        }
+        else
+        {
+            mList[i] = NULL;
+        }
+    }
+}
+
+void ArrayList::Add(const int& item)
+{
+    ArrayListItem<int>* ptr =  new ArrayListItem<int>(item);
+    mList.push_back(ptr);
+}
+
+void ArrayList::Add(const double& item)
+{
+    ArrayListItem<double>* ptr = new ArrayListItem<double>(item);
+    mList.push_back(ptr);
+}
+
+void ArrayList::Add(const string& item)
+{
+    ArrayListItem<string> *ptr = new ArrayListItem<string>(item);
+    mList.push_back(ptr);
+}
+
+void ArrayList::Add(const StringList& item)
+{
+    ArrayListItem< StringList > *ptr = new ArrayListItem<StringList>(item);
+    mList.push_back(ptr);
+}
+
+void ArrayList::Add(const ArrayList& item)
+{
+    ArrayListItem<ArrayList> *aList = new ArrayListItem<ArrayList>(item);
+    mList.push_back(aList);
+}
+
+void ArrayList::Add(const string& lbl, const StringList& list)
+{
+    ArrayList temp;
+    temp.Add(lbl);
+    if (list.Count())
+        temp.Add(list);
+    Add(temp);
+}
+
+void ArrayList::Add(const string& lbl, const ArrayList& lists)
+{
+    ArrayList temp;
+    temp.Add(lbl);
+    if (lists.Count())
+        temp.Add(lists);
+    Add(temp);
+}
+
+const ArrayListItemBase& ArrayList::operator[](int pos) const
+{
+    return *mList[pos];
+}
+
+ArrayListItemBase& ArrayList::operator[](int pos)
+{
+    return *mList[pos];
+}
+
+string ArrayList::AsString()
+{
+    stringstream aStr;
+    aStr << *this;
+    return aStr.str();
+}
+
+//================== ostreams =============
+std::ostream& operator<<(std::ostream& stream, const ArrayList& list)
+{
+       stream<<"{";
+
+    for(u_int i = 0; i < list.Count(); i++)
+    {
+        stream<<list[i];
+        if(i < list.Count() -1)
+        {
+            stream<<",";
+        }
+    }
+    stream<<"}";
+    return stream;
+}
+
+}
+
+
+
+
diff --git a/wrappers/C/rrArrayList.h b/wrappers/C/rrArrayList.h
new file mode 100644
index 0000000..f4598e8
--- /dev/null
+++ b/wrappers/C/rrArrayList.h
@@ -0,0 +1,59 @@
+#ifndef rrArrayListH
+#define rrArrayListH
+#include <vector>
+#include <string>
+#include <list>
+#include <ostream>
+#include "rrArrayListItem.h"
+#include "rrc_exporter.h"
+#include "rrcStringList.h"
+
+
+namespace rrc
+{
+class StringList;
+using std::vector;
+using std::string;
+
+/**
+ * @internal
+ * @deprecated
+ * a proprietaty collection class that is massivly deprecated.
+ */
+class C_DECL_SPEC ArrayList
+{
+    protected:
+    public:
+        vector< ArrayListItemBase* >   mList; //List of ArrayListItemBase items
+
+    public:
+                                            ArrayList();
+                                            ArrayList(const ArrayList& cpyMe);
+                                            ArrayList(const string& lbl, const StringList& stringList);
+                                            ArrayList(const string& lbl, const ArrayList& stringList);
+                                           ~ArrayList();
+        unsigned int                        Count() const;
+        void                                Clear();
+        void                                Add(const int& item);
+        void                                Add(const double& item);
+        void                                Add(const string& item);
+        void                                Add(const ArrayList& item);
+        void                                Add(const StringList& list);
+        void                                Add(const string& lbl, const StringList& list);
+        void                                Add(const string& lbl, const ArrayList& list);
+
+
+        const ArrayListItemBase&       operator[](int pos) const;
+        ArrayListItemBase&             operator[](int pos);
+        void                                operator = (const ArrayList& rhs);
+        StringList                          GetStringList(const string& lName);
+        StringList                          GetStringList(const int& index);
+        string                              GetString(const int& index);
+        string                              AsString();
+};
+
+
+C_DECL_SPEC std::ostream& operator<<(std::ostream& stream, const ArrayList& list);
+
+}
+#endif
diff --git a/wrappers/C/rrArrayListItem.cpp b/wrappers/C/rrArrayListItem.cpp
new file mode 100644
index 0000000..4826038
--- /dev/null
+++ b/wrappers/C/rrArrayListItem.cpp
@@ -0,0 +1,39 @@
+#pragma hdrstop
+#include "rrArrayListItem.h"
+#include "rrArrayList.h"
+//---------------------------------------------------------------------------
+namespace rrc
+{
+
+std::ostream& operator<<(std::ostream& stream, const ArrayListItemBase& item)
+{
+    //Have to figure out subtype of item
+    ArrayListItemBase* ptr = const_cast<ArrayListItemBase*>(&item);
+    if(dynamic_cast<ArrayListItem<int>*>(ptr))
+    {
+        stream << (int) *(dynamic_cast<ArrayListItem<int>*>(ptr));
+    }
+    else if(dynamic_cast<ArrayListItem<double>*>(ptr))
+    {
+        stream << (double) *(dynamic_cast<ArrayListItem<double>*>(ptr));
+    }
+    else if(dynamic_cast<ArrayListItem<string>*>(ptr))
+    {
+        stream << "\""<<(string) *(dynamic_cast<ArrayListItem<string>*>(ptr))<<"\"";
+    }
+    else if(dynamic_cast<ArrayListItem<StringList>*>(ptr))
+    {
+        stream << (StringList) *(dynamic_cast<ArrayListItem<StringList>*>(ptr));
+    }
+    else if(dynamic_cast<ArrayListItem<ArrayList>*>(ptr))
+    {
+        stream << (ArrayList) *(dynamic_cast<ArrayListItem<ArrayList>*>(ptr));
+    }
+    else
+    {
+        stream<<"Stream operator not implemented for this type";
+    }
+    return stream;
+}
+
+}
diff --git a/wrappers/C/rrArrayListItem.h b/wrappers/C/rrArrayListItem.h
new file mode 100644
index 0000000..7c6312b
--- /dev/null
+++ b/wrappers/C/rrArrayListItem.h
@@ -0,0 +1,55 @@
+#ifndef rrArrayListItemH
+#define rrArrayListItemH
+#include "rrExporter.h"
+#include "rrcStringList.h"
+#include "rrArrayListItemBase.h"
+
+//This unit contains
+// 1) a base class for ArrayListItems
+// 2) Template for basic type ArrayListItems, such as int, char double etc.
+// 3) An ArrayListItem class, that represent an ArrayList, within an ArrayList object
+
+namespace rrc
+{
+
+/**
+ * @internal
+ * @deprecated
+ * a proprietaty collection class that is massivly deprecated.
+ */
+template <class T>
+class ArrayListItem : public ArrayListItemBase
+{
+    private:
+        T                           mItemValue;
+
+    public:
+                                    ArrayListItem(const T& val);
+
+        virtual                    ~ArrayListItem(){}
+                                    operator T(){return mItemValue;}
+        virtual const char          operator[](const int& pos) const {return '\0';}     //Make sense for string types
+        ArrayListItem<T>&           operator=(const ArrayListItem<T>& rhs);
+};
+
+template<class T>
+ArrayListItem<T>::ArrayListItem(const T& val)
+:
+mItemValue(val)
+{}
+
+template<class T>
+ArrayListItem<T>& ArrayListItem<T>::operator=(const ArrayListItem<T>& rhs)
+{
+    if(this != &rhs)
+    {
+        mItemValue = rhs.mItemValue;
+    }
+
+    return *this;
+}
+
+std::ostream& operator<<(std::ostream& stream, const ArrayListItemBase& item);
+
+}
+#endif
diff --git a/wrappers/C/rrArrayListItemBase.cpp b/wrappers/C/rrArrayListItemBase.cpp
new file mode 100644
index 0000000..936b810
--- /dev/null
+++ b/wrappers/C/rrArrayListItemBase.cpp
@@ -0,0 +1,12 @@
+#pragma hdrstop
+#include "rrArrayListItemBase.h"
+//---------------------------------------------------------------------------
+
+namespace rrc
+{
+
+ArrayListItemBase::~ArrayListItemBase()
+{}
+
+
+}
\ No newline at end of file
diff --git a/wrappers/C/rrArrayListItemBase.h b/wrappers/C/rrArrayListItemBase.h
new file mode 100644
index 0000000..49228e0
--- /dev/null
+++ b/wrappers/C/rrArrayListItemBase.h
@@ -0,0 +1,22 @@
+#ifndef rrArrayListItemBaseH
+#define rrArrayListItemBaseH
+//---------------------------------------------------------------------------
+#include "rrc_exporter.h"
+
+namespace rrc
+{
+
+/**
+ * @internal
+ * @deprecated
+ * a proprietaty collection class that is massivly deprecated.
+ */
+class C_DECL_SPEC ArrayListItemBase
+{
+    public:
+        virtual ~ArrayListItemBase();
+};
+
+
+}
+#endif
diff --git a/wrappers/C/rrcStringList.cpp b/wrappers/C/rrcStringList.cpp
new file mode 100644
index 0000000..3f3fc70
--- /dev/null
+++ b/wrappers/C/rrcStringList.cpp
@@ -0,0 +1,237 @@
+#pragma hdrstop
+#include <algorithm>
+#include <iostream>
+#include <sstream>
+#include "rrStringUtils.h"
+#include "rrcStringList.h"
+#include "rrUtils.h"
+#include "rrException.h"
+
+using namespace std;
+
+using rr::CoreException;
+
+namespace rrc
+{
+
+
+StringList::StringList()
+{}
+
+StringList::StringList(const vector<string>& strings)
+:
+mStrings(strings)
+{}
+
+StringList::StringList(RRStringArray* cp)
+{
+    if(!cp)
+    {
+        return;
+    }
+
+    for(int i = 0; i < cp->Count; i++)
+    {
+        mStrings.push_back(cp->String[i]);
+    }
+}
+
+StringList::StringList(const string& str, const string& delimiter)
+{
+    mStrings = rr::splitString(str, delimiter);
+}
+
+StringList::StringList(char** aList, const int& count)
+{
+    //Copy C stringlist into the container..
+    for(int i = 0; i < count; i++)
+    {
+        mStrings.push_back(aList[i]);
+    }
+}
+
+StringList::StringList(const StringList& cp)
+{
+    mStrings = cp.mStrings;
+}
+
+StringList::~StringList()
+{}
+
+vector<string>::iterator StringList::begin()
+{
+    return mStrings.begin();
+}
+
+vector<string>::iterator StringList::end()
+{
+    return mStrings.end();
+}
+
+string& StringList::operator[](const int& index)
+{
+    if(index > Count() -1 )
+    {
+        stringstream msg;
+        msg<<"index ("<<index<<") out of bounds in StringList with count "<<Count();
+
+        throw(CoreException(msg.str()));
+    }
+    return mStrings[index];
+}
+
+const string& StringList::operator[](const int& index) const
+{
+    if(index > Count() -1 )
+    {
+        stringstream msg;
+        msg<<"index ("<<index<<") out of bounds in StringList with count "<<Count();
+
+        throw(CoreException(msg.str()));
+    }
+
+    return mStrings[index];
+}
+
+unsigned int StringList::size() const
+{
+    return mStrings.size();
+}
+
+unsigned int StringList::Count() const
+{
+    return mStrings.size();
+}
+
+string StringList::AsString(const string& delimiter) const
+{
+    stringstream names;
+    for(int i = 0; i < mStrings.size(); i++)
+    {
+        names<<mStrings[i];
+        if( i < mStrings.size() - 1)
+        {
+            names<<delimiter;
+        }
+    }
+    return names.str();
+}
+
+void StringList::PreFix(const string& fix)
+{
+     for(mLI = mStrings.begin(); mLI != mStrings.end(); mLI++)
+    {
+        (*mLI) = fix + (*mLI) ;
+    }
+}
+
+void StringList::PostFix(const string& fix)
+{
+    for(mLI = mStrings.begin(); mLI != mStrings.end(); mLI++)
+    {
+        (*mLI) = (*mLI) + fix;
+    }
+}
+
+StringList StringList::operator-(const StringList& rhs)
+{
+    StringList newList;
+
+    for(int i = 0; i < Count(); i++)
+    {
+        string item = mStrings[i] + "-" + rhs[i];
+        newList.add(item);
+    }
+
+    return newList;
+}
+
+void StringList::InsertAt(const int& index, const string& item)
+{
+    mLI = mStrings.begin() + index;
+    if(mLI != mStrings.end())
+    {
+        mStrings.insert(mLI, item);
+    }
+}
+
+void StringList::Append(const StringList& list)
+{
+    for(int i = 0; i < list.Count(); i++)
+    {
+        mStrings.push_back(list[i]);
+    }
+}
+
+void StringList::add(const string& item)
+{
+    mStrings.push_back(item);
+}
+
+int StringList::find(const string& item)
+{
+    return rr::indexOf(mStrings, item);
+}
+
+int StringList::indexOf(const string& item)
+{
+    return rr::indexOf(mStrings, item);
+}
+
+void StringList::removeAt(const int& index)
+{
+    mLI = mStrings.begin() + index;
+    mStrings.erase(mLI);
+}
+
+bool StringList::Contains(const string& item) const
+{
+    return std::find(mStrings.begin(), mStrings.end(), item) != mStrings.end() ? true : false;
+}
+
+bool StringList::DontContain(const string& item) const
+{
+    return !Contains(item);
+}
+
+void StringList::clear()
+{
+    mStrings.clear();
+}
+
+void StringList::empty()
+{
+    mStrings.clear();
+}
+
+StringList& StringList::operator=(const StringList& rhs)
+{
+    mStrings = rhs.mStrings;
+    return *this;
+}
+
+StringList& StringList::operator=(const vector<string>& rhs)
+{
+    mStrings = rhs;
+    return *this;
+}
+
+ostream& operator<<(ostream& stream, const StringList& list)
+{
+    stream<<"{";
+    for(int i = 0; i < list.Count(); i++)
+    {
+        stream<<"\""<<list[i]<<"\"";
+        if(i < list.Count() -1)
+        {
+            stream<<",";
+        }
+
+    }
+    stream<<"}";
+    return stream;
+}
+
+
+} //namespace rr
+
diff --git a/wrappers/C/rrcStringList.h b/wrappers/C/rrcStringList.h
new file mode 100644
index 0000000..fa3dfc8
--- /dev/null
+++ b/wrappers/C/rrcStringList.h
@@ -0,0 +1,80 @@
+#ifndef rrcStringListH
+#define rrcStringListH
+#include <vector>
+#include <string>
+#include "rrc_exporter.h"
+#include "rrConstants.h"
+#include "rrc_types.h"
+
+
+namespace rrc
+{
+using std::vector;
+using std::string;
+using std::ostream;
+
+/**
+ * @internal
+ * @deprecated
+ */
+class C_DECL_SPEC StringList
+{
+    protected:
+        vector<string>              mStrings;
+        vector<string>::iterator    mLI;
+
+    public:
+                                    StringList();
+                                    StringList(char** stringList, const int& count);
+                                    StringList(const string& str, const string& delimiters = ", ");
+                                    StringList(const vector<string>& strings);
+                                    StringList(const StringList& cp);
+                                    StringList(rrc::RRStringArrayPtr cp);
+                                   ~StringList();
+
+        void                        InsertAt(const int& index, const string& item);
+        void                        Append(const StringList& list);
+        string                      AsString(const string& delimiter = ",") const;
+
+        /**
+         * get the size to be compatible with vector<string>
+         */
+        unsigned int size() const;
+
+
+        unsigned int                Count() const;
+
+
+        StringList&                 operator=(const StringList& rhs);
+        StringList&                 operator=(const vector<string>& rhs);
+
+        string&                     operator[](const int& index);
+        const string&               operator[](const int& index) const;
+        StringList                  operator-(const StringList& rhs);
+        void                        removeAt(const int& index);
+        int                         find(const string& item);
+        int                         indexOf(const string& item);
+        void                        clear();
+        void                        empty();
+        bool                        Contains(const string& item) const;
+        bool                        DontContain(const string& item) const;
+        void                        add(const string& item);
+        vector<string>::iterator    begin();
+        vector<string>::iterator    end();
+        void                        PreFix(const string& fix);
+        void                        PostFix(const string& fix);
+        RR_DECLSPEC
+        friend ostream&             operator<<(ostream& stream, const StringList& list);
+
+        /**
+         * so we can start getting rid of this and using
+         * standard vector<string>
+         */
+        //operator vector<string>() const { return mStrings; }
+        operator const vector<string>&() const { return mStrings;}
+};
+
+
+
+}
+#endif
diff --git a/wrappers/C/rrc_api.cpp b/wrappers/C/rrc_api.cpp
new file mode 100644
index 0000000..969af65
--- /dev/null
+++ b/wrappers/C/rrc_api.cpp
@@ -0,0 +1,2824 @@
+/**
+ * @file rrc_api.cpp
+ * @brief roadRunner C API 2012
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of cRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib for more details.
+ *
+ * Copyright (C) 2012-2013
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+
+#pragma hdrstop
+#include <string>
+#include <iostream>
+#include <sstream>
+#include <fstream>
+#include "rrRoadRunner.h"
+#include "rrRoadRunnerOptions.h"
+#include "rrExecutableModel.h"
+#include "rrCompiler.h"
+#include "rrLogger.h"
+#include "rrException.h"
+#include "rrVersionInfo.h"
+#include "rrUtils.h"
+#include "rrc_types.h"
+#include "rrc_api.h"           // Need to include this before the support header..
+#include "rrc_utilities.h"     //Support functions, not exposed as api functions and or data
+#include "rrc_cpp_support.h"   //Support functions, not exposed as api functions and or data
+#include "Integrator.h"
+#include "SteadyStateSolver.h"
+#include "Dictionary.h"
+#include "rrConfig.h"
+
+
+#if defined(_MSC_VER)
+    #include <direct.h>
+    #define getcwd _getcwd
+    #define chdir  _chdir
+#elif defined(__BORLANDC__)
+      #include <dir.h>
+#else
+    #include <unistd.h>
+#endif
+
+/*!
+ \brief macro for MAX_PATH
+ \ingroup macros
+*/
+ #if defined(_WIN32)
+    #include <windef.h>
+   #define RR_MAX_PATH MAX_PATH
+#else
+    #include <limits.h>
+    #define RR_MAX_PATH PATH_MAX
+#endif
+//---------------------------------------------------------------------------
+
+namespace rrc
+{
+
+using namespace std;
+using namespace rr;
+
+static vector<string>    sel_getTime(RoadRunner* rr);
+static ArrayList         sel_getFluxControlCoefficientIds(RoadRunner* rr);
+static ArrayList         sel_getAvailableSteadyStateSymbols(RoadRunner* rr);
+static ArrayList         sel_getAvailableTimeCourseSymbols(RoadRunner* rr);
+static vector<string>    sel_getBoundarySpeciesAmountIds(RoadRunner* rr);
+static vector<string>    sel_getBoundarySpeciesConcIds(RoadRunner* rr);
+static ArrayList         sel_getConcentrationControlCoefficientIds(RoadRunner* rr);
+static ArrayList         sel_getUnscaledConcentrationControlCoefficientIds(RoadRunner* rr);
+static ArrayList         sel_getElasticityCoefficientIds(RoadRunner* rr);
+static ArrayList         sel_getUnscaledElasticityCoefficientIds(RoadRunner* rr);
+static vector<string>    sel_getFloatingSpeciesConcSymbols(RoadRunner* rr);
+static vector<string>    sel_getBoundarySpeciesConcSymbols(RoadRunner* rr);
+
+static vector<double> rr_getRatesOfChange(RoadRunner* rr);
+
+
+// TODO: move all the depracated method here:
+/*
+static int rr_getNumberOfReactions(RoadRunner* r);
+static double rr_getReactionRate(RoadRunner* r, const int& index);
+static double getRateOfChange(const int& index);
+static std::vector<std::string> rr_getRateOfChangeIds(RoadRunner* r);
+static std::vector<std::string> rr_getConservedMoietyIds(RoadRunner* r);
+static std::vector<double> rr_getConservedMoietyValues(RoadRunner* r);
+static int rr_getNumberOfCompartments(RoadRunner* r);
+static void rr_setCompartmentByIndex(RoadRunner* r, const int& index, const double& value);
+static double rr_getCompartmentByIndex(RoadRunner* r, const int& index);
+static std::vector<std::string> rr_getCompartmentIds(RoadRunner* r, RoadRunner* r);
+static int rr_getNumberOfBoundarySpecies(RoadRunner* r);
+static void rr_setBoundarySpeciesByIndex(RoadRunner* r, const int& index, const double& value);
+static double rr_getBoundarySpeciesByIndex(RoadRunner* r, const int& index);
+static std::vector<double> rr_getBoundarySpeciesConcentrations(RoadRunner* r);
+static void rr_setBoundarySpeciesConcentrations(RoadRunner* r, const std::vector<double>& values);
+static std::vector<std::string> rr_getBoundarySpeciesIds(RoadRunner* r);
+static int rr_getNumberOfFloatingSpecies(RoadRunner* r);
+static double rr_getFloatingSpeciesByIndex(RoadRunner* r, int index);
+static void rr_setFloatingSpeciesByIndex(RoadRunner* r, int index, double value);
+static std::vector<double> rr_getFloatingSpeciesConcentrations(RoadRunner* r);
+static std::vector<double> rr_getFloatingSpeciesInitialConcentrations(RoadRunner* r);
+static void rr_setFloatingSpeciesConcentrations(RoadRunner* r, const std::vector<double>& values);
+static void rr_setFloatingSpeciesInitialConcentrationByIndex(RoadRunner* r, const int& index,
+        const double& value);
+static void rr_setFloatingSpeciesInitialConcentrations(RoadRunner* r, const std::vector<double>& values);
+static std::vector<std::string> rr_getFloatingSpeciesIds(RoadRunner* r);
+static std::vector<std::string> rr_getFloatingSpeciesInitialConditionIds(RoadRunner* r);
+static int rr_getNumberOfGlobalParameters(RoadRunner* r);
+static void rr_setGlobalParameterByIndex(RoadRunner* r, const int index, const double value);
+static double rr_getGlobalParameterByIndex(RoadRunner* r, const int& index);
+static std::vector<double> rr_getGlobalParameterValues(RoadRunner* r);
+static std::vector<std::string> rr_getGlobalParameterIds(RoadRunner* r);
+static int rr_getNumberOfDependentSpecies(RoadRunner* r);
+static int rr_getNumberOfIndependentSpecies(RoadRunner* r);
+static std::vector<double> rr_getReactionRates(RoadRunner* r);
+static std::vector<std::string> rr_getReactionIds(RoadRunner* r);
+ */
+
+RRHandle rrcCallConv createRRInstance()
+{
+    start_try
+        string rrInstallFolder(getParentFolder(getRRCAPILocation()));
+        return new RoadRunner("", getTempDir(), joinPath(rrInstallFolder, "rr_support"));
+    catch_ptr_macro
+}
+
+RRHandle rrcCallConv createRRInstanceEx(const char* tempFolder, const char* compiler_cstr)
+{
+    start_try
+        char* text1 = getRRCAPILocation();
+        string text2 = getParentFolder(text1);
+        string rrInstallFolder(text2);
+        rr::freeText(text1);
+        string compiler = compiler_cstr ? compiler_cstr : "";
+
+        if(tempFolder != NULL && !fileExists(tempFolder))
+        {
+            stringstream msg;
+            msg<<"The temporary folder: "<<tempFolder<<" do not exist";
+            Log(Logger::LOG_ERROR)<<msg.str();
+            throw(Exception(msg.str()));
+        }
+        else if(tempFolder)
+        {
+            return new RoadRunner(compiler, tempFolder, joinPath(rrInstallFolder, "rr_support"));
+        }
+        else
+        {
+            return new RoadRunner(compiler, getTempDir(), joinPath(rrInstallFolder, "rr_support"));
+        }
+    catch_ptr_macro
+}
+
+char* rrcCallConv getInstallFolder()
+{
+    if(!gInstallFolder[0])
+    {
+        strncpy(gInstallFolder, "/usr/local", RR_MAX_PATH);
+    }
+    return gInstallFolder;
+}
+
+bool rrcCallConv setInstallFolder(const char* folder)
+{
+    start_try
+        return strncpy(gInstallFolder, folder, RR_MAX_PATH) != NULL ? true : false;
+    catch_bool_macro
+}
+
+char* rrcCallConv getAPIVersion()
+{
+    start_try
+        return rr::createText("1.0");
+    catch_ptr_macro
+}
+
+char* rrcCallConv getCPPAPIVersion(RRHandle handle)
+{
+    start_try
+        return rr::createText(rr::getVersionStr());
+    catch_ptr_macro
+}
+
+int rrcCallConv getVersion()
+{
+    int nmajor = 10000 * RR_VERSION_MAJOR;
+    int nminor = 100 *  RR_VERSION_MINOR;
+    int npatch = 1 * RR_VERSION_PATCH;
+
+    return nmajor + nminor + npatch;
+}
+
+char* rrcCallConv getVersionStr()
+{
+    return rr::createText(rr::getVersionStr(VERSIONSTR_BASIC).c_str());
+}
+
+
+char* rrcCallConv getVersionEx()
+{
+    return rr::createText(rr::getVersionStr(VERSIONSTR_BASIC | VERSIONSTR_COMPILER | VERSIONSTR_DATE).c_str());
+}
+
+char* rrcCallConv getRRCAPILocation()
+{
+#if defined(_WIN32) || defined(WIN32)
+    char path[MAX_PATH];
+    HINSTANCE handle = NULL;
+    const char* dllName = "roadrunner_c_api";
+    handle = GetModuleHandle(dllName);
+    int nrChars = GetModuleFileNameA(handle, path, sizeof(path));
+    if(nrChars != 0)
+    {
+        string aPath = getFilePath(path);
+        char* text = rr::createText(aPath);
+        return text;
+    }
+    return NULL;
+#else
+    return rr::createText(joinPath(getInstallFolder(),"/lib"));
+#endif
+}
+
+char* rrcCallConv getCopyright()
+{
+    start_try
+
+        char* text = rr::createText(rr::getCopyrightStr());
+
+        return text;
+    catch_ptr_macro
+}
+
+char* rrcCallConv getInfo(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getInfo());
+    catch_ptr_macro
+}
+
+char* rrcCallConv getExtendedAPIInfo()
+{
+    start_try
+        RRHandle handle = createRRInstance();
+        RoadRunner* rri = castToRoadRunner(handle);
+        char* text = rr::createText(rri->getExtendedVersionInfo());
+        freeRRInstance(handle);
+        return text;
+    catch_ptr_macro
+}
+
+char* rrcCallConv getlibSBMLVersion(RRHandle handle)
+{
+    start_try
+        return ::strdup(rr::getVersionStr(VERSIONSTR_LIBSBML).c_str());
+    catch_ptr_macro
+}
+
+char* rrcCallConv getCurrentSBML(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getCurrentSBML());
+    catch_ptr_macro
+}
+
+//Flags and Options
+bool rrcCallConv setComputeAndAssignConservationLaws(RRHandle handle, const bool OnOrOff)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setConservedMoietyAnalysis(OnOrOff);
+        return true;
+    catch_bool_macro
+}
+
+int rrcCallConv getComputeAndAssignConservationLaws(RRHandle handle, int* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getConservedMoietyAnalysis();
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setTempFolder(RRHandle handle, const char* folder)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setTempDir(folder);
+        return true;
+    catch_bool_macro
+}
+
+char* rrcCallConv getTempFolder(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getTempDir());
+    catch_ptr_macro
+}
+
+bool rrcCallConv setCompiler(RRHandle handle, const char* fName)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        if(rri->getCompiler())
+        {
+            return rri->getCompiler()->setCompiler(fName);
+        }
+        else
+        {
+            return false;
+        }
+    catch_bool_macro
+}
+
+char* rrcCallConv getCompiler(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        Compiler *compiler = rri->getCompiler();
+        return strdup(compiler ? compiler->getCompiler().c_str() : "");
+    catch_ptr_macro
+}
+
+bool rrcCallConv setCompilerLocation(RRHandle handle, const char* folder)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        if(rri->getCompiler())
+        {
+            return rri->getCompiler()->setCompilerLocation(folder);
+        }
+        else
+        {
+            return false;
+        }
+    catch_bool_macro
+}
+
+char* rrcCallConv getCompilerLocation(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getCompiler()->getCompilerLocation());
+    catch_ptr_macro
+}
+
+bool rrcCallConv setSupportCodeFolder(RRHandle handle,const char* folder)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        if(rri->getCompiler())
+        {
+            return rri->getCompiler()->setSupportCodeFolder(folder);
+        }
+        else
+        {
+            return false;
+        }
+    catch_bool_macro
+}
+
+char* rrcCallConv getSupportCodeFolder(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getCompiler()->getSupportCodeFolder());
+    catch_ptr_macro
+}
+
+char* rrcCallConv getWorkingDirectory()
+{
+    start_try
+        return rr::createText(rr::getCWD());
+    catch_ptr_macro
+}
+
+bool rrcCallConv loadSBMLFromFile(RRHandle _handle, const char* fileName)
+{
+    start_try
+        //Check first if file exists first
+        if(!fileExists(fileName))
+        {
+            stringstream msg;
+            msg<<"The file "<<fileName<<" was not found";
+            setError(msg.str());
+            return false;
+        }
+
+        RoadRunner* rri = castToRoadRunner(_handle);
+        rri->load(fileName);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv loadSBMLFromFileE(RRHandle _handle, const char* fileName, bool forceRecompile)
+{
+    start_try
+        //Check first if file exists first
+        if(!fileExists(fileName))
+        {
+            stringstream msg;
+            msg<<"The file "<<fileName<<" was not found";
+            setError(msg.str());
+            return false;
+        }
+
+        RoadRunner* rri = castToRoadRunner(_handle);
+
+        LoadSBMLOptions opt;
+        opt.modelGeneratorOpt = forceRecompile ?
+                opt.modelGeneratorOpt | LoadSBMLOptions::RECOMPILE :
+                opt.modelGeneratorOpt & ~LoadSBMLOptions::RECOMPILE;
+
+        rri->load(fileName, &opt);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv loadSBML(RRHandle handle, const char* sbml)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->load(sbml);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv loadSBMLEx(RRHandle handle, const char* sbml, bool forceRecompile)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+
+        LoadSBMLOptions opt;
+                opt.modelGeneratorOpt = forceRecompile ?
+                        opt.modelGeneratorOpt | LoadSBMLOptions::RECOMPILE :
+                        opt.modelGeneratorOpt & ~LoadSBMLOptions::RECOMPILE;
+
+        rri->load(sbml, &opt);
+        return true;
+    catch_bool_macro
+}
+
+
+bool rrcCallConv loadSimulationSettings(RRHandle handle, const char* fileName)
+{
+    start_try
+        //Check first if file exists first
+        if(!fileExists(fileName))
+        {
+            stringstream msg;
+            msg<<"The file "<<fileName<<" was not found";
+            setError(msg.str());
+            return false;
+        }
+
+        RoadRunner* rri = castToRoadRunner(handle);
+		SimulateOptions opts = rri->getSimulateOptions();
+		opts.loadSBMLSettings(fileName);
+		Integrator* integrator = rri->getIntegrator();
+		integrator->loadSBMLSettings(fileName);
+        return true;
+    catch_bool_macro
+}
+
+char* rrcCallConv getSBML(RRHandle handle)
+{
+    start_try
+          RoadRunner* rri = castToRoadRunner(handle);
+        return rr::createText(rri->getSBML());
+    catch_ptr_macro
+}
+
+bool rrcCallConv isModelLoaded(RRHandle handle)
+{
+    start_try
+          RoadRunner* rri = castToRoadRunner(handle);
+        return rri->isModelLoaded();
+    catch_bool_macro
+}
+
+bool rrcCallConv clearModel(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->clearModel();
+    catch_bool_macro
+}
+
+bool rrcCallConv setTimeStart(RRHandle handle, const double timeStart)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->getSimulateOptions().start = timeStart;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setTimeEnd(RRHandle handle, const double timeEnd)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        SimulateOptions &opt = rri->getSimulateOptions();
+        opt.duration = timeEnd - opt.start;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setNumPoints(RRHandle handle, const int nrPoints)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        SimulateOptions &opt = rri->getSimulateOptions();
+        opt.steps = nrPoints - 1;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getTimeStart(RRHandle handle, double* timeStart)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *timeStart = rri->getSimulateOptions().start;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getTimeEnd(RRHandle handle, double* timeEnd)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *timeEnd = rri->getSimulateOptions().duration + rri->getSimulateOptions().start;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getNumPoints(RRHandle handle, int* numPoints)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *numPoints = rri->getSimulateOptions().steps + 1;
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setTimeCourseSelectionList(RRHandle handle, const char* list)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList aList(list,", ");
+        rri->setSelections(aList);
+        return true;
+    catch_bool_macro
+}
+
+RRStringArrayPtr rrcCallConv getTimeCourseSelectionList(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+
+        vector<SelectionRecord> selections = rri->getSelections();
+
+        vector<string> list(selections.size());
+
+        for(int i = 0; i < selections.size(); ++i)
+        {
+            list[i] = selections[i].to_string();
+        }
+
+        StringList sNames = list;
+
+        if(!sNames.Count())
+        {
+            return NULL;
+        }
+
+        return createList(sNames);
+    catch_ptr_macro
+}
+
+RRCDataPtr rrcCallConv simulate(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->simulate();
+        return createRRCData(*rri);
+    catch_ptr_macro
+}
+
+RRCDataPtr rrcCallConv simulateEx(RRHandle handle, const double timeStart, const double timeEnd, const int numberOfPoints)
+{
+    start_try
+        setTimeStart(handle, timeStart);
+        setTimeEnd (handle, timeEnd);
+        setNumPoints(handle, numberOfPoints);
+        return simulate(handle);
+    catch_ptr_macro
+}
+
+RRCDataPtr rrcCallConv getSimulationResult(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+
+        //Extract the data and return struct..
+        return  createRRCData(*rri);
+    catch_ptr_macro
+}
+
+
+RRStringArrayPtr rrcCallConv getReactionIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList rNames = rri->getReactionIds();
+
+        if(!rNames.Count())
+        {
+            return NULL;
+        }
+        return createList(rNames);
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv getRatesOfChange(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> rates = rr_getRatesOfChange(rri);
+
+        if(!rates.size())
+        {
+            return NULL;
+        }
+
+        return rrc::createVector(rates);
+    catch_ptr_macro
+}
+
+RRStringArrayPtr rrcCallConv getRatesOfChangeIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList rNames = rri->getRateOfChangeIds();
+
+        if(!rNames.Count())
+        {
+            return NULL;
+        }
+
+        return createList(rNames);
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getUnscaledElasticityMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getUnscaledElasticityMatrix();
+        RRDoubleMatrixPtr matrix = createMatrix(&tempMat);
+        return matrix;
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getScaledElasticityMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getScaledElasticityMatrix();
+        RRDoubleMatrixPtr matrix = createMatrix(&tempMat);
+        return matrix;
+    catch_ptr_macro
+}
+
+bool rrcCallConv getValue(RRHandle handle, const char* symbolId, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getValue(symbolId);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setValue(RRHandle handle, const char* symbolId, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setValue(symbolId, value);
+        return true;
+    catch_bool_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getStoichiometryMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ExecutableModel* model = rri->getModel();
+
+        if(model)
+        {
+            int rows = 0;
+            int cols = 0;
+
+            RRDoubleMatrixPtr matrix = new RRDoubleMatrix;
+            DoubleMatrix full_stoich = rri->getFullStoichiometryMatrix();
+
+            matrix->RSize = full_stoich.numRows();
+            matrix->CSize = full_stoich.numCols();
+            matrix->Data =  new double[rows*cols];
+
+            memcpy(matrix->Data, full_stoich.GetPointer(), rows*cols*sizeof(double));
+
+            return matrix;
+        }
+        else
+        {
+            return 0;
+        }
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getConservationMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getConservationMatrix();
+
+        RRDoubleMatrixPtr matrix = new RRDoubleMatrix;
+        matrix->RSize = tempMat.RSize();
+        matrix->CSize = tempMat.CSize();
+        matrix->Data =  new double[tempMat.RSize()*tempMat.CSize()];
+
+        int index = 0;
+        for(u_int row = 0; row < tempMat.RSize(); row++)
+        {
+            for(u_int col = 0; col < tempMat.CSize(); col++)
+            {
+                matrix->Data[index++] = tempMat(row,col);
+            }
+        }
+        return matrix;
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getLinkMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getLinkMatrix();
+        return createMatrix(&tempMat);
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getNrMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getNrMatrix();
+        return createMatrix(&tempMat);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC bool rrcCallConv hasError()
+{
+    return (gLastError != NULL) ? true : false;
+}
+
+char* rrcCallConv getLastError()
+{
+    if(!gLastError)
+    {
+        gLastError = rr::createText("No Error");
+    }
+    return gLastError;
+}
+
+int rrcCallConv getNumberOfReactions(RRHandle handle)
+{
+     start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfReactions();
+    catch_int_macro
+}
+
+bool rrcCallConv getReactionRate(RRHandle handle, const int rateNr, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getReactionRate(rateNr);
+        return true;
+    catch_bool_macro
+}
+
+RRVectorPtr rrcCallConv getReactionRates(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getReactionRates();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+int rrcCallConv getNumberOfBoundarySpecies(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfBoundarySpecies();
+    catch_int_macro
+}
+
+RRStringArrayPtr rrcCallConv getBoundarySpeciesIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList bNames = rri->getBoundarySpeciesIds();
+
+        if(!bNames.Count())
+        {
+            return NULL;
+        }
+
+        return createList(bNames);
+    catch_ptr_macro
+}
+
+int rrcCallConv getNumberOfFloatingSpecies(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfFloatingSpecies();
+    catch_int_macro
+}
+
+RRStringArrayPtr rrcCallConv getFloatingSpeciesIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList fNames = rri->getFloatingSpeciesIds();
+
+        if(!fNames.Count())
+        {
+            return NULL;
+        }
+
+        return createList(fNames);
+    catch_ptr_macro
+}
+
+int rrcCallConv getNumberOfGlobalParameters(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfGlobalParameters();
+    catch_int_macro
+}
+
+RRStringArrayPtr rrcCallConv getGlobalParameterIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList pNames = rri->getGlobalParameterIds();
+
+        if(!pNames.Count())
+        {
+            return NULL;
+        }
+
+        return createList(pNames);
+    catch_ptr_macro
+}
+
+bool rrcCallConv getFloatingSpeciesInitialConcentrationByIndex(RRHandle handle, int index, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ExecutableModel *model = rri->getModel();
+
+        if (model && model->getNumFloatingSpecies() > index)
+        {
+            return model->getFloatingSpeciesInitConcentrations(1, &index, value) >= 0;
+        }
+        return true;
+    catch_bool_macro
+}
+
+RRVectorPtr rrcCallConv getFloatingSpeciesConcentrations(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getFloatingSpeciesConcentrationsV();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv getBoundarySpeciesConcentrations(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getBoundarySpeciesConcentrations();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv getFloatingSpeciesInitialConcentrations(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getFloatingSpeciesInitialConcentrations();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+bool rrcCallConv setFloatingSpeciesByIndex (RRHandle handle, const int index, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setFloatingSpeciesByIndex(index, value);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setBoundarySpeciesByIndex (RRHandle handle, const int index, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setBoundarySpeciesByIndex(index, value);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setGlobalParameterByIndex(RRHandle handle, const int index, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setGlobalParameterByIndex(index, value);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setFloatingSpeciesInitialConcentrationByIndex(RRHandle handle, const int index, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setFloatingSpeciesInitialConcentrationByIndex(index, value);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setFloatingSpeciesInitialConcentrations(RRHandle handle, const RRVectorPtr vec)
+{
+    start_try
+        vector<double> tempVec;
+        copyVector(vec, tempVec);
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->changeInitialConditions(tempVec);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setFloatingSpeciesConcentrations(RRHandle handle, const RRVectorPtr vec)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+
+
+        vector<double> tempVec;
+        copyVector(vec, tempVec);
+        rri->setFloatingSpeciesConcentrations(tempVec);
+
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setBoundarySpeciesConcentrations(RRHandle handle, const RRVectorPtr vec)
+{
+    start_try
+        vector<double> tempVec;
+        copyVector(vec, tempVec);
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setBoundarySpeciesConcentrations(tempVec);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv oneStep(RRHandle handle, const double currentTime, const double stepSize, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->oneStep(currentTime, stepSize);
+        return true;
+    catch_bool_macro
+}
+
+RRVectorPtr rrcCallConv getGlobalParameterValues(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getGlobalParameterValues();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+RRListPtr rrcCallConv getAvailableTimeCourseSymbols(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ArrayList slSymbols = sel_getAvailableTimeCourseSymbols(rri);
+        return createArrayList(slSymbols);
+    catch_ptr_macro
+}
+
+RRListPtr rrcCallConv getAvailableSteadyStateSymbols(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ArrayList slSymbols = sel_getAvailableSteadyStateSymbols(rri);
+        return createArrayList(slSymbols);
+    catch_ptr_macro
+}
+
+bool rrcCallConv getBoundarySpeciesByIndex (RRHandle handle, const int index, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getBoundarySpeciesByIndex(index);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getFloatingSpeciesByIndex (RRHandle handle, const int index, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getFloatingSpeciesByIndex(index);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getGlobalParameterByIndex (RRHandle handle, const int index, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getGlobalParameterByIndex(index);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getuCC (RRHandle handle, const char* variable, const char* parameter, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getuCC(variable, parameter);
+        return true;
+    catch_bool_macro
+}
+
+
+bool rrcCallConv getCC (RRHandle handle, const char* variable, const char* parameter, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getCC(variable, parameter);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getuEE(RRHandle handle, const char* name, const char* species, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getuEE(name, species);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv getEE(RRHandle handle, const char* name, const char* species, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getEE(name, species);
+        return true;
+    catch_bool_macro
+}
+
+int rrcCallConv getNumberOfDependentSpecies(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfDependentSpecies();
+    catch_int_macro
+}
+
+int rrcCallConv getNumberOfIndependentSpecies(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfIndependentSpecies();
+    catch_int_macro
+}
+
+bool rrcCallConv steadyState(RRHandle handle, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        std::cerr << "rrcCallConv steadyState\n";
+        Log(Logger::LOG_DEBUG) << "rrcCallConv steadyState ";
+        *value = rri->steadyState();
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv evalModel(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->evalModel();
+        return true;
+    catch_bool_macro
+}
+
+char* rrcCallConv getParamPromotedSBML(RRHandle handle, const char* sArg)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        string param =  rri->getParamPromotedSBML(sArg);
+        char* text = rr::createText(param.c_str());
+        return text;
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv computeSteadyStateValues(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> vec =  rri->getSteadyStateValues();
+        RRVector* aVec = rrc::createVector(vec);
+        return aVec;
+    catch_ptr_macro
+}
+
+bool rrcCallConv setSteadyStateSelectionList(RRHandle handle, const char* list)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList aList(list, " ,");
+        rri->setSteadyStateSelections(aList);
+        return true;
+    catch_bool_macro
+}
+
+RRStringArrayPtr rrcCallConv getSteadyStateSelectionList(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<SelectionRecord>& ss = rri->getSteadyStateSelections();
+
+        vector<string> sNames;
+
+        for(int i = 0; i < ss.size(); ++i)
+        {
+            sNames.push_back(ss[i].to_string());
+        }
+
+        return createList(sNames);
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getFullJacobian(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getFullJacobian();
+        return createMatrix(&tempMat);
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getReducedJacobian(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix tempMat = rri->getReducedJacobian();
+        return createMatrix(&tempMat);
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getEigenvalues(RRHandle handle)
+{
+    start_try
+    RoadRunner* rri = castToRoadRunner(handle);
+    std::vector<ls::Complex> eigen = rri->getFullEigenValues();
+
+    RRDoubleMatrixPtr matrix = new RRDoubleMatrix;
+
+    matrix->RSize = eigen.size();
+    matrix->CSize = 2;
+    int dim =  matrix->RSize * matrix->CSize;
+    if(dim)
+    {
+        matrix->Data =  new double[matrix->RSize * matrix->CSize];
+    }
+    else
+    {
+        delete matrix;
+        return NULL;
+    }
+
+    int index = 0;
+    for(u_int row = 0; row < matrix->RSize; row++)
+    {
+        matrix->Data[index++] = std::real(eigen[row]);
+        matrix->Data[index++] = std::imag(eigen[row]);
+    }
+    return matrix;
+
+    catch_ptr_macro
+}
+
+// *******  Not yet implemented  ********
+// codeGenerationMode = 0 if mode is C code generation
+// codeGenerationMode = 1 ig mode is internal math interpreter
+bool rrcCallConv setCodeGenerationMode (RRHandle handle, int mode)
+{
+    return false;
+}
+
+bool rrcCallConv getScaledFloatingSpeciesElasticity(RRHandle handle, const char* reactionId, const char* speciesId, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getScaledFloatingSpeciesElasticity(reactionId, speciesId);
+        return true;
+    catch_bool_macro
+}
+
+RRStringArrayPtr rrcCallConv getFloatingSpeciesInitialConditionIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList aList = rri->getFloatingSpeciesInitialConditionIds();
+        return createList(aList);
+    catch_ptr_macro
+}
+
+RRStringArrayPtr rrcCallConv getFloatingSpeciesInitialConcentrationIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList aList = rri->getFloatingSpeciesInitialConcentrationIds();
+        return createList(aList);
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv getRatesOfChangeEx(RRHandle handle, const RRVectorPtr vec)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> values = rrc::createVector(vec);
+
+        rri->setFloatingSpeciesConcentrations(values);
+        vector<double> tempList = rr_getRatesOfChange(rri);
+        return rrc::createVector (tempList);
+    catch_ptr_macro
+}
+
+RRVectorPtr rrcCallConv getReactionRatesEx(RRHandle handle, const RRVectorPtr vec)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<double> conc = rrc::createVector(vec);
+
+        ExecutableModel *model = rri->getModel();
+
+        if (!model)
+        {
+            throw CoreException(gEmptyModelMessage);
+        }
+
+        model->setFloatingSpeciesConcentrations(conc.size(), 0, &conc[0]);
+
+        vector<double> result(model->getNumReactions());
+
+        model->getReactionRates(result.size(), 0, &result[0]);
+
+        return rrc::createVector(result);
+    catch_ptr_macro
+}
+
+RRListPtr rrcCallConv getElasticityCoefficientIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ArrayList aList = sel_getElasticityCoefficientIds(rri);
+        RRListPtr bList = createArrayList(aList);
+        return bList;
+    catch_ptr_macro
+}
+
+// ----------------------------------------------------------------------
+// Replacement methods for supporting solver configuration
+// ----------------------------------------------------------------------
+
+int rrcCallConv getNumRegisteredIntegrators()
+{
+	start_try;
+		return IntegratorFactory::getInstance().getNumIntegrators();
+    catch_int_macro
+}
+
+char* rrcCallConv getRegisteredIntegratorName(int n)
+{
+    start_try;
+        if (n < 0) {
+            Log(Logger::LOG_WARNING) << "Negative index passed to getRegisteredIntegratorName";
+            n = 0;
+        }
+        return rr::createText(IntegratorFactory::getInstance().getIntegratorName(n));
+    catch_ptr_macro
+}
+
+char* rrcCallConv getRegisteredIntegratorHint(int n)
+{
+    start_try;
+        if (n < 0) {
+            Log(Logger::LOG_WARNING) << "Negative index passed to getRegisteredIntegratorName";
+            n = 0;
+        }
+        return rr::createText(IntegratorFactory::getInstance().getIntegratorHint(n));
+    catch_ptr_macro
+}
+
+char* rrcCallConv getRegisteredIntegratorDescription(int n)
+{
+    start_try;
+        if (n < 0) {
+            Log(Logger::LOG_WARNING) << "Negative index passed to getRegisteredIntegratorName";
+            n = 0;
+        }
+        return rr::createText(IntegratorFactory::getInstance().getIntegratorDescription(n));
+    catch_ptr_macro
+}
+
+int rrcCallConv getNumInstantiatedIntegrators(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getExistingIntegratorNames().size();
+    catch_int_macro
+}
+
+int rrcCallConv setCurrentIntegrator (RRHandle handle, char *nameOfIntegrator)
+{
+	start_try
+        Log(Logger::LOG_DEBUG) << "setCurrentIntegrator called with " << nameOfIntegrator;
+		RoadRunner* rri = castToRoadRunner(handle);
+		rri->setIntegrator(std::string(nameOfIntegrator));
+		return true;
+		//RoadRunner* rri = castToRoadRunner(handle);
+        //rri->getSimulateOptions().setItem ("integrator", nameOfIntegrator);
+        //if (strcmp (topLevelSolver, listOfSteadyStateSolvers) == 0) {
+        //   currentTopLevelSolver = listOfSteadyStateSolvers;
+        //   return (1);
+        //}
+        //return true;
+    catch_int_macro
+}
+
+char* rrcCallConv getCurrentIntegratorName (RRHandle handle)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       if (rri->getIntegrator()) {
+            std::string str = rri->getIntegrator()->getName();
+            return (rr::createText (str));
+       } else {
+           return rr::createText("");
+       }
+    catch_ptr_macro
+}
+
+char* rrcCallConv getCurrentIntegratorDescription (RRHandle handle)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+	   std::string str = rri->getIntegrator()->getDescription();
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+char* rrcCallConv getCurrentIntegratorHint (RRHandle handle)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+	   std::string str = rri->getIntegrator()->getHint();
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+int rrcCallConv getNumberOfCurrentIntegratorParameters (RRHandle handle)
+{
+	start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+	    vector<std::string> keys = rri->getIntegrator()->getSettings();
+		return keys.size();
+    catch_int_macro
+}
+
+
+char* rrcCallConv getCurrentIntegratorNthParameterName (RRHandle handle, int n)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       std::string str = rri->getIntegrator()->getParamName(n);
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+char* rrcCallConv getCurrentIntegratorNthParameterDisplayName (RRHandle handle, int n)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       std::string str = rri->getIntegrator()->getParamDisplayName(n);
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+char* rrcCallConv getCurrentIntegratorNthParameterHint (RRHandle handle, int n)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       std::string str = rri->getIntegrator()->getParamHint(n);
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+int rrcCallConv getCurrentIntegratorNthParameterType (RRHandle handle, int n)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       return (int) rri->getIntegrator()->getType(rri->getIntegrator()->getParamName(n));
+    catch_int_macro
+}
+
+
+char* rrcCallConv getCurrentIntegratorNthParameterDescription (RRHandle handle, int n)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       std::string str = rri->getIntegrator()->getParamDesc(n);
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+int rrcCallConv resetCurrentIntegratorParameters (RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->getIntegrator()->resetSettings();
+        return true;
+    catch_int_macro
+}
+
+RRStringArrayPtr rrcCallConv getListOfCurrentIntegratorParameterNames (RRHandle handle)
+{
+	start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		StringList settingsList = rri->getIntegrator()->getSettings();
+		return createList(settingsList);
+    catch_ptr_macro
+}
+
+char* rrcCallConv getCurrentIntegratorParameterDescription (RRHandle handle, char *parameterName)
+{
+    start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		stringstream key;
+		key << parameterName;
+		std::string str = rri->getIntegrator()->getDescription(key.str());
+		return (rr::createText (str));
+    catch_ptr_macro
+}
+
+char* rrcCallConv getCurrentIntegratorParameterHint (RRHandle handle, char *parameterName)
+{
+    start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		stringstream key;
+		key << parameterName;
+		std::string str = rri->getIntegrator()->getHint(key.str());
+		return (rr::createText (str));
+    catch_ptr_macro
+}
+
+int rrcCallConv getCurrentIntegratorParameterType (RRHandle handle, char *parameterName)
+{
+	start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		stringstream key;
+		key << parameterName;
+		return (int) rri->getIntegrator()->getType(key.str());
+    catch_int_macro
+}
+
+// -------------------------------------------------------------------------------------
+// Set and Get Methods
+// -------------------------------------------------------------------------------------
+
+int rrcCallConv getCurrentIntegratorParameterInt (RRHandle handle, char *parameterName)
+{
+    start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		stringstream key;
+		key << parameterName;
+		return rri->getIntegrator()->getValueAsInt(key.str());
+    catch_int_macro
+}
+
+int rrcCallConv setCurrentIntegratorParameterInt (RRHandle handle, char *parameterName, int value)
+{
+    start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		stringstream key;
+		key << parameterName;
+		rri->getIntegrator()->setValue(key.str(), value);
+        return true;
+    catch_int_macro
+}
+
+unsigned int rrcCallConv getCurrentIntegratorParameterUInt (RRHandle handle, char *parameterName)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        return rri->getIntegrator()->getValueAsInt(key.str());
+    catch_int_macro
+}
+
+int rrcCallConv setCurrentIntegratorParameterUInt (RRHandle handle, char *parameterName, unsigned int value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        rri->getIntegrator()->setValue(key.str(), value);
+        return true;
+    catch_int_macro
+}
+
+double rrcCallConv getCurrentIntegratorParameterDouble (RRHandle handle, char *parameterName)
+{
+	start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		stringstream key;
+		key << parameterName;
+		return rri->getIntegrator()->getValueAsDouble(key.str());
+	catch_int_macro
+}
+
+int rrcCallConv setCurrentIntegratorParameterDouble (RRHandle handle, char *parameterName, double value)
+{
+	start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		stringstream key;
+		key << parameterName;
+		rri->getIntegrator()->setValue(key.str(), value);
+		return true;
+	catch_int_macro
+}
+
+
+char* rrcCallConv getCurrentIntegratorParameterString (RRHandle handle, char *parameterName)
+{
+    start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		stringstream key;
+		key << parameterName;
+		std::string str = rri->getIntegrator()->getValueAsString(key.str());
+		return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+int rrcCallConv setCurrentIntegratorParameterString (RRHandle handle, char *parameterName, char* value)
+{
+	start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		stringstream key;
+		key << parameterName;
+		rri->getIntegrator()->setValue(key.str(), value);
+		return true;
+	catch_int_macro
+}
+
+
+int rrcCallConv getCurrentIntegratorParameterBoolean (RRHandle handle, char *parameterName)
+{
+	start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		stringstream key;
+		key << parameterName;
+		return rri->getIntegrator()->getValueAsBool(key.str());
+	catch_int_macro
+}
+
+
+int rrcCallConv setCurrentIntegratorParameterBoolean (RRHandle handle, char *parameterName, int value)
+{
+	start_try
+		RoadRunner* rri = castToRoadRunner(handle);
+		stringstream key;
+		key << parameterName;
+		rri->getIntegrator()->setValue(key.str(), (bool)value);
+		return true;
+	catch_int_macro
+}
+
+
+
+
+// ----------------------------------------------------------------------
+// Replacement methods for supporting solver configuration
+// ----------------------------------------------------------------------
+
+int rrcCallConv getNumRegisteredSteadyStateSolvers()
+{
+    start_try;
+        return SteadyStateSolverFactory::getInstance().getNumSteadyStateSolvers();
+    catch_int_macro
+}
+
+char* rrcCallConv getRegisteredSteadyStateSolverName(int n)
+{
+    start_try;
+        if (n < 0) {
+            Log(Logger::LOG_WARNING) << "Negative index passed to getRegisteredSteadyStateSolverName";
+            n = 0;
+        }
+        return rr::createText(SteadyStateSolverFactory::getInstance().getSteadyStateSolverName(n));
+    catch_ptr_macro
+}
+
+char* rrcCallConv getRegisteredSteadyStateSolverHint(int n)
+{
+    start_try;
+        if (n < 0) {
+            Log(Logger::LOG_WARNING) << "Negative index passed to getRegisteredSteadyStateSolverName";
+            n = 0;
+        }
+        return rr::createText(SteadyStateSolverFactory::getInstance().getSteadyStateSolverHint(n));
+    catch_ptr_macro
+}
+
+char* rrcCallConv getRegisteredSteadyStateSolverDescription(int n)
+{
+    start_try;
+        if (n < 0) {
+            Log(Logger::LOG_WARNING) << "Negative index passed to getRegisteredSteadyStateSolverName";
+            n = 0;
+        }
+        return rr::createText(SteadyStateSolverFactory::getInstance().getSteadyStateSolverDescription(n));
+    catch_ptr_macro
+}
+
+int rrcCallConv setCurrentSteadyStateSolver (RRHandle handle, char *nameOfSteadyStateSolver)
+{
+    start_try
+        Log(Logger::LOG_DEBUG) << "setCurrentSteadyStateSolver called with " << nameOfSteadyStateSolver;
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setSteadyStateSolver(std::string(nameOfSteadyStateSolver));
+        return true;
+        //RoadRunner* rri = castToRoadRunner(handle);
+        //rri->getSimulateOptions().setItem ("integrator", nameOfSteadyStateSolver);
+        //if (strcmp (topLevelSolver, listOfSteadyStateSolvers) == 0) {
+        //   currentTopLevelSolver = listOfSteadyStateSolvers;
+        //   return (1);
+        //}
+        //return true;
+    catch_int_macro
+}
+
+char* rrcCallConv getCurrentSteadyStateSolverName (RRHandle handle)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       if (rri->getSteadyStateSolver()) {
+            std::string str = rri->getSteadyStateSolver()->getName();
+            return (rr::createText (str));
+       } else {
+           return rr::createText("");
+       }
+    catch_ptr_macro
+}
+
+char* rrcCallConv getCurrentSteadyStateSolverDescription (RRHandle handle)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       std::string str = rri->getSteadyStateSolver()->getDescription();
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+char* rrcCallConv getCurrentSteadyStateSolverHint (RRHandle handle)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       std::string str = rri->getSteadyStateSolver()->getHint();
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+int rrcCallConv getNumberOfCurrentSteadyStateSolverParameters (RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        vector<std::string> keys = rri->getSteadyStateSolver()->getSettings();
+        return keys.size();
+    catch_int_macro
+}
+
+
+char* rrcCallConv getCurrentSteadyStateSolverNthParameterName (RRHandle handle, int n)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       std::string str = rri->getSteadyStateSolver()->getParamName(n);
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+char* rrcCallConv getCurrentSteadyStateSolverNthParameterHint (RRHandle handle, int n)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       std::string str = rri->getSteadyStateSolver()->getParamHint(n);
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+int rrcCallConv getCurrentSteadyStateSolverNthParameterType (RRHandle handle, int n)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       return (int) rri->getSteadyStateSolver()->getType(rri->getSteadyStateSolver()->getParamName(n));
+    catch_int_macro
+}
+
+
+char* rrcCallConv getCurrentSteadyStateSolverNthParameterDisplayName (RRHandle handle, int n)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       std::string str = rri->getSteadyStateSolver()->getParamDisplayName(n);
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+char* rrcCallConv getCurrentSteadyStateSolverNthParameterDescription (RRHandle handle, int n)
+{
+    start_try
+       RoadRunner* rri = castToRoadRunner(handle);
+       std::string str = rri->getSteadyStateSolver()->getParamDesc(n);
+       return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+int rrcCallConv resetCurrentSteadyStateSolverParameters (RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->getSteadyStateSolver()->resetSettings();
+        return true;
+    catch_int_macro
+}
+
+
+const char* rrcCallConv solverTypeToString (int code)
+{
+    switch (Variant::TypeId(code)) {
+        case Variant::STRING:
+            return "string";
+        case Variant::BOOL:
+            return "bool";
+        case Variant::INT32:
+            return "int32";
+        case Variant::UINT32:
+            return "uint32";
+        case Variant::INT64:
+            return "int64";
+        case Variant::UINT64:
+            return "uint64";
+        case Variant::FLOAT:
+            return "float";
+        case Variant::DOUBLE:
+            return "double";
+        case Variant::CHAR:
+            return "char";
+        case Variant::UCHAR:
+            return "uchar";
+        case Variant::EMPTY:
+            return "empty";
+        default:
+            return "<invalid>";
+    }
+}
+
+RRStringArrayPtr rrcCallConv getListOfCurrentSteadyStateSolverParameterNames (RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList settingsList = rri->getSteadyStateSolver()->getSettings();
+        return createList(settingsList);
+    catch_ptr_macro
+}
+
+char* rrcCallConv getCurrentSteadyStateSolverParameterDescription (RRHandle handle, char *parameterName)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        std::string str = rri->getSteadyStateSolver()->getDescription(key.str());
+        return (rr::createText (str));
+    catch_ptr_macro
+}
+
+char* rrcCallConv getCurrentSteadyStateSolverParameterHint (RRHandle handle, char *parameterName)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        std::string str = rri->getSteadyStateSolver()->getHint(key.str());
+        return (rr::createText (str));
+    catch_ptr_macro
+}
+
+int rrcCallConv getCurrentSteadyStateSolverParameterType (RRHandle handle, char *parameterName)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        return (int) rri->getSteadyStateSolver()->getType(key.str());
+    catch_int_macro
+}
+
+// -------------------------------------------------------------------------------------
+// Set and Get Methods
+// -------------------------------------------------------------------------------------
+
+int rrcCallConv getCurrentSteadyStateSolverParameterInt (RRHandle handle, char *parameterName)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        return rri->getSteadyStateSolver()->getValueAsInt(key.str());
+    catch_int_macro
+}
+
+int rrcCallConv setCurrentSteadyStateSolverParameterInt (RRHandle handle, char *parameterName, int value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        rri->getSteadyStateSolver()->setValue(key.str(), value);
+        return true;
+    catch_int_macro
+}
+
+unsigned int rrcCallConv getCurrentSteadyStateSolverParameterUInt (RRHandle handle, char *parameterName)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        return rri->getSteadyStateSolver()->getValueAsInt(key.str());
+    catch_int_macro
+}
+
+int rrcCallConv setCurrentSteadyStateSolverParameterUInt (RRHandle handle, char *parameterName, unsigned int value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        rri->getSteadyStateSolver()->setValue(key.str(), value);
+        return true;
+    catch_int_macro
+}
+
+double rrcCallConv getCurrentSteadyStateSolverParameterDouble (RRHandle handle, char *parameterName)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        return rri->getSteadyStateSolver()->getValueAsDouble(key.str());
+    catch_int_macro
+}
+
+int rrcCallConv setCurrentSteadyStateSolverParameterDouble (RRHandle handle, char *parameterName, double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        rri->getSteadyStateSolver()->setValue(key.str(), value);
+        return true;
+    catch_int_macro
+}
+
+
+char* rrcCallConv getCurrentSteadyStateSolverParameterString (RRHandle handle, char *parameterName)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        std::string str = rri->getSteadyStateSolver()->getValueAsString(key.str());
+        return (rr::createText (str));
+    catch_ptr_macro
+}
+
+
+int rrcCallConv setCurrentSteadyStateSolverParameterString (RRHandle handle, char *parameterName, char* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        rri->getSteadyStateSolver()->setValue(key.str(), value);
+        return true;
+    catch_int_macro
+}
+
+
+int rrcCallConv getCurrentSteadyStateSolverParameterBoolean (RRHandle handle, char *parameterName)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        return rri->getSteadyStateSolver()->getValueAsBool(key.str());
+    catch_int_macro
+}
+
+
+int rrcCallConv setCurrentSteadyStateSolverParameterBoolean (RRHandle handle, char *parameterName, int value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        stringstream key;
+        key << parameterName;
+        rri->getSteadyStateSolver()->setValue(key.str(), (bool)value);
+        return true;
+    catch_int_macro
+}
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+RRStringArrayPtr rrcCallConv getEigenvalueIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        StringList aList = rri->getEigenValueIds();
+        return createList(aList);
+    catch_ptr_macro
+}
+
+RRListPtr rrcCallConv getFluxControlCoefficientIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return createArrayList(sel_getFluxControlCoefficientIds(rri));
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getUnscaledConcentrationControlCoefficientMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix aMat = rri->getUnscaledConcentrationControlCoefficientMatrix();
+        return createMatrix(&(aMat));
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getScaledConcentrationControlCoefficientMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix aMat = rri->getScaledConcentrationControlCoefficientMatrix();
+        return createMatrix(&(aMat));
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getUnscaledFluxControlCoefficientMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix aMat = rri->getUnscaledFluxControlCoefficientMatrix();
+        return createMatrix(&(aMat));
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getScaledFluxControlCoefficientMatrix(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix aMat = rri->getScaledFluxControlCoefficientMatrix();
+        return createMatrix(&(aMat));
+    catch_ptr_macro
+}
+
+static ArrayList RoadRunner_getUnscaledFluxControlCoefficientIds(RoadRunner *rr)
+{
+    ArrayList oResult;
+
+    vector<string> oReactions = rr->getReactionIds();
+    vector<string> oParameters = rr->getGlobalParameterIds();
+    vector<string> oBoundary = rr->getBoundarySpeciesIds();
+    vector<string> oConservation = rr->getConservedMoietyIds();
+
+    for(int i = 0; i < oReactions.size(); i++)
+    {
+        string s = oReactions[i];
+
+        ArrayList oCCReaction;
+        vector<string> oInner;
+        oCCReaction.Add(s);
+
+        for(int i = 0; i < oParameters.size(); i++)
+        {
+            oInner.push_back("ucc(" + s + "," + oParameters[i] + ")");
+        }
+
+        for(int i = 0; i < oBoundary.size(); i++)
+        {
+            oInner.push_back("ucc(" + s + "," + oBoundary[i] + ")");
+        }
+
+        for(int i = 0; i < oConservation.size(); i++)
+        {
+            oInner.push_back("ucc(" + s + "," + oConservation[i] + ")");
+        }
+
+        oCCReaction.Add(oInner);
+        oResult.Add(oCCReaction);
+    }
+
+    return oResult;
+}
+
+RRListPtr rrcCallConv getUnscaledFluxControlCoefficientIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ArrayList arrList = RoadRunner_getUnscaledFluxControlCoefficientIds(rri);
+        return createArrayList(arrList);
+    catch_ptr_macro
+}
+
+RRList* rrcCallConv getConcentrationControlCoefficientIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        ArrayList list = sel_getConcentrationControlCoefficientIds(rri);
+        return createArrayList(list);
+    catch_ptr_macro
+}
+
+RRListPtr rrcCallConv getUnscaledConcentrationControlCoefficientIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return createArrayList(sel_getUnscaledConcentrationControlCoefficientIds(rri));
+    catch_ptr_macro
+}
+
+int rrcCallConv getNumberOfCompartments(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return rri->getNumberOfCompartments();
+    catch_int_macro
+}
+
+bool rrcCallConv getCompartmentByIndex(RRHandle handle, const int index, double *value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getCompartmentByIndex(index);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setCompartmentByIndex (RRHandle handle, const int index, const double value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->setCompartmentByIndex(index, value);
+        return true;
+    catch_bool_macro
+}
+
+RRStringArrayPtr rrcCallConv getCompartmentIds(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return createList(rri->getCompartmentIds());
+    catch_ptr_macro
+}
+
+bool rrcCallConv getRateOfChange(RRHandle handle, const int index, double* value)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        *value = rri->getRateOfChange(index);
+        return true;
+    catch_bool_macro
+}
+
+char* rrcCallConv getBuildDate()
+{
+    return rr::createText(__DATE__);
+}
+
+char* rrcCallConv getBuildTime()
+{
+    return rr::createText(__TIME__);
+}
+
+char* rrcCallConv getBuildDateTime()
+{
+    return rr::createText(string(__DATE__) + string(" ") + string(__TIME__));
+}
+
+bool rrcCallConv freeRRInstance(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        delete rri;
+        rri = NULL;
+        return true;
+    catch_bool_macro
+}
+
+//  Help("Returns the Symbols of all Flux Control Coefficients.")
+ArrayList sel_getFluxControlCoefficientIds(RoadRunner* rr)
+{
+    ArrayList oResult;
+    vector<string> oReactions       = rr->getReactionIds();
+    vector<string> oParameters      = rr->getGlobalParameterIds();
+    vector<string> oBoundary        = rr->getBoundarySpeciesIds();
+    vector<string> oConservation    = rr->getConservedMoietyIds();
+
+    for(int i = 0; i < oReactions.size(); i++)
+    {
+        string s = oReactions[i];
+
+        ArrayList oCCReaction;
+        StringList oInner;
+        oCCReaction.Add(s);
+
+        for(int i = 0; i < oParameters.size(); i++)
+        {
+            oInner.add("cc(" + s + "," + oParameters[i] + ")");
+        }
+
+        for(int i = 0; i < oBoundary.size(); i++)
+        {
+            oInner.add("cc(" + s + "," + oBoundary[i] + ")");
+        }
+
+        for(int i = 0; i < oConservation.size(); i++)
+        {
+            oInner.add("cc(" + s + "," + oConservation[i] + ")");
+        }
+
+        oCCReaction.Add(oInner);
+        oResult.Add(oCCReaction);
+    }
+
+    return oResult;
+}
+
+// Help(
+//            "Returns symbols of the currently loaded model, that can be used for steady state analysis. format: array of arrays  { { \"groupname\", { \"item1\", \"item2\" ... } } }  or { { \"groupname\", { \"subgroup\", { \"item1\" ... } } } }."
+//            )
+ArrayList sel_getAvailableSteadyStateSymbols(RoadRunner* rr)
+{
+    ArrayList oResult;
+
+    oResult.Add("Floating Species",                                 sel_getFloatingSpeciesConcSymbols(rr) );
+    oResult.Add("Boundary Species",                                 sel_getBoundarySpeciesConcSymbols(rr) );
+    oResult.Add("Floating Species (amount)",                        rr->getFloatingSpeciesIds());
+    oResult.Add("Boundary Species (amount)",                        rr->getBoundarySpeciesIds());
+    oResult.Add("Global Parameters",                                rr->getGlobalParameterIds());
+    oResult.Add("Volumes",                                          rr->getCompartmentIds());
+    oResult.Add("Fluxes",                                           rr->getReactionIds());
+    oResult.Add("Flux Control Coefficients",                        sel_getFluxControlCoefficientIds(rr) );
+    oResult.Add("Concentration Control Coefficients",               sel_getConcentrationControlCoefficientIds(rr) );
+    oResult.Add("Unscaled Concentration Control Coefficients",      sel_getUnscaledConcentrationControlCoefficientIds(rr));
+    oResult.Add("Elasticity Coefficients",                          sel_getElasticityCoefficientIds(rr) );
+    oResult.Add("Unscaled Elasticity Coefficients",                 sel_getUnscaledElasticityCoefficientIds(rr) );
+    oResult.Add("Eigenvalues",                                      rr->getEigenValueIds() );
+
+    return oResult;
+}
+
+ArrayList sel_getAvailableTimeCourseSymbols(RoadRunner* rr)
+{
+    ArrayList oResult;
+    oResult.Add("Time",                             sel_getTime(rr) );
+    oResult.Add("Floating Species",                 sel_getFloatingSpeciesConcSymbols(rr) );
+    oResult.Add("Boundary Species",                 sel_getBoundarySpeciesConcSymbols(rr) );
+    oResult.Add("Floating Species (amount)",        rr->getFloatingSpeciesIds() );
+    oResult.Add("Boundary Species (amount)",        rr->getBoundarySpeciesIds() );
+    oResult.Add("Global Parameters",                rr->getGlobalParameterIds() );
+    oResult.Add("Fluxes",                           rr->getReactionIds() );
+    oResult.Add("Rates of Change",                  rr->getRateOfChangeIds() );
+    oResult.Add("Volumes",                          rr->getCompartmentIds() );
+    oResult.Add("Elasticity Coefficients",          sel_getElasticityCoefficientIds(rr) );
+    oResult.Add("Unscaled Elasticity Coefficients", sel_getUnscaledElasticityCoefficientIds(rr) );
+    oResult.Add("Eigenvalues",                      rr->getEigenValueIds() );
+    return oResult;
+}
+
+// Help("Gets the list of boundary species amount names")
+vector<string> sel_getBoundarySpeciesAmountIds(RoadRunner* rr)
+{
+    vector<string> result;// = new ArrayList();
+    vector<string> list = rr->getBoundarySpeciesIds();
+//    foreach (string s in getBoundarySpeciesIds()) oResult.add("[" + s + "]");
+    for(int item = 0; item < list.size(); item++)// (object item in floatingSpeciesNames)
+    {
+        result.push_back(format("{0}", list[item]));
+    }
+
+    return result;
+}
+
+vector<string> sel_getBoundarySpeciesConcIds(RoadRunner* rr)
+{
+    vector<string> result;// = new ArrayList();
+    vector<string> list = rr->getBoundarySpeciesIds();
+//    foreach (string s in getBoundarySpeciesIds()) oResult.add("[" + s + "]");
+    for(int item = 0; item < list.size(); item++)// (object item in floatingSpeciesNames)
+    {
+        result.push_back(format("[{0}]", list[item]));
+    }
+
+    return result;
+}
+
+// Help("Returns the Symbols of all Concentration Control Coefficients.")
+ArrayList sel_getConcentrationControlCoefficientIds(RoadRunner* rr)
+{
+    ArrayList oResult;// = new ArrayList();
+    vector<string> oFloating        = rr->getFloatingSpeciesIds();
+    vector<string> oParameters      = rr->getGlobalParameterIds();
+    vector<string> oBoundary        = rr->getBoundarySpeciesIds();
+    vector<string> oConservation    = rr->getConservedMoietyIds();
+
+    for(int i = 0; i < oFloating.size(); i++)
+    {
+        string s = oFloating[i];
+        ArrayList oCCFloating;
+        StringList oInner;
+        oCCFloating.Add(s);
+
+        for(int i = 0; i < oParameters.size(); i++)
+        {
+            oInner.add("CC:" + s + "," + oParameters[i]);
+        }
+
+        for(int i = 0; i < oBoundary.size(); i++)
+        {
+            oInner.add("CC:" + s + "," + oBoundary[i]);
+        }
+
+        for(int i = 0; i < oConservation.size(); i++)
+        {
+            oInner.add("CC:" + s + "," + oConservation[i]);
+        }
+
+        oCCFloating.Add(oInner);
+        oResult.Add(oCCFloating);
+    }
+
+    return oResult;
+}
+
+// Help("Returns the Symbols of all Unscaled Concentration Control Coefficients.")
+ArrayList sel_getUnscaledConcentrationControlCoefficientIds(RoadRunner* rr)
+{
+    ArrayList oResult;
+    vector<string> oFloating        = rr->getFloatingSpeciesIds();
+    vector<string> oParameters      = rr->getGlobalParameterIds();
+    vector<string> oBoundary        = rr->getBoundarySpeciesIds();
+    vector<string> oConservation    = rr->getConservedMoietyIds();
+
+    for(int i = 0; i < oFloating.size(); i++)
+    {
+        string s = oFloating[i];
+        ArrayList oCCFloating;
+        vector<string> oInner;
+        oCCFloating.Add(s);
+
+        for(int i = 0; i < oParameters.size(); i++)
+        {
+            oInner.push_back("uCC:" + s + "," + oParameters[i]);
+        }
+
+        for(int i = 0; i < oBoundary.size(); i++)
+        {
+            oInner.push_back("uCC:" + s + "," + oBoundary[i]);
+        }
+
+        for(int i = 0; i < oConservation.size(); i++)
+        {
+            oInner.push_back("uCC:" + s + "," + oConservation[i]);
+        }
+
+        oCCFloating.Add(oInner);
+        oResult.Add(oCCFloating);
+    }
+
+    return oResult;
+}
+
+// Help("Returns the Symbols of all Elasticity Coefficients.")
+ArrayList sel_getElasticityCoefficientIds(RoadRunner* rr)
+{
+    ArrayList oResult;
+    vector<string> reactionNames        = rr->getReactionIds();
+    vector<string> floatingSpeciesNames = rr->getFloatingSpeciesIds();
+    vector<string> boundarySpeciesNames = rr->getBoundarySpeciesIds();
+    vector<string> conservationNames    = rr->getConservedMoietyIds();
+    vector<string> globalParameterNames = rr->getGlobalParameterIds();
+
+    for(int i = 0; i < reactionNames.size(); i++)
+    {
+        string reac_name = reactionNames[i];
+        ArrayList oCCReaction;
+        oCCReaction.Add(reac_name);
+        StringList oInner;
+
+        for(int j = 0; j < floatingSpeciesNames.size(); j++)
+        {
+            oInner.add(format("EE:{0},{1}", reac_name, floatingSpeciesNames[j]));
+        }
+
+        for(int j = 0; j < boundarySpeciesNames.size(); j++)
+        {
+            oInner.add(format("EE:{0},{1}", reac_name, boundarySpeciesNames[j]));
+        }
+
+        for(int j = 0; j < globalParameterNames.size(); j++)
+        {
+            oInner.add(format("EE:{0},{1}", reac_name, globalParameterNames[j]));
+        }
+
+        for(int j = 0; j < conservationNames.size(); j++)
+        {
+            oInner.add(format("EE:{0},{1}", reac_name, conservationNames[j]));
+        }
+
+        oCCReaction.Add(oInner);
+        oResult.Add(oCCReaction);
+    }
+
+    return oResult;
+}
+
+// Help("Returns the Symbols of all Unscaled Elasticity Coefficients.")
+ArrayList sel_getUnscaledElasticityCoefficientIds(RoadRunner* rr)
+{
+    ArrayList oResult;
+    vector<string> oReactions( rr->getReactionIds() );
+    vector<string> oFloating = rr->getFloatingSpeciesIds();
+    vector<string> oBoundary = rr->getBoundarySpeciesIds();
+    vector<string> oGlobalParameters = rr->getGlobalParameterIds();
+    vector<string> oConservation = rr->getConservedMoietyIds();
+
+    for(int i = 0; i < oReactions.size(); i++)
+    {
+        string reac_name = oReactions[i];
+        ArrayList oCCReaction;
+        StringList oInner;
+        oCCReaction.Add(reac_name);
+
+        for(int j = 0; j < oFloating.size(); j++)
+        {
+            string variable = oFloating[j];
+            oInner.add(format("uEE:{0},{1}", reac_name, variable));
+        }
+
+        for(int j = 0; j < oBoundary.size(); j++)
+        {
+            string variable = oBoundary[j];
+            oInner.add(format("uEE:{0},{1}", reac_name, variable));
+        }
+
+        for(int j = 0; j < oGlobalParameters.size(); j++)
+        {
+            string variable = oGlobalParameters[j];
+            oInner.add(format("uEE:{0},{1}", reac_name, variable));
+        }
+
+        for(int j = 0; j < oConservation.size(); j++)
+        {
+            string variable = oConservation[j];
+            oInner.add(format("uEE:{0},{1}", reac_name, variable));
+        }
+
+        oCCReaction.Add(oInner);
+        oResult.Add(oCCReaction);
+    }
+
+    return oResult;
+}
+
+vector<string> sel_getTime(RoadRunner* rr)
+{
+    vector<string> ids = rr->getFloatingSpeciesIds();
+    vector<string> result;
+
+    result.push_back("time");
+
+    return result;
+}
+
+vector<string> sel_getFloatingSpeciesConcSymbols(RoadRunner* rr)
+{
+    vector<string> ids = rr->getFloatingSpeciesIds();
+    vector<string> result;
+
+    for(int i = 0; i < ids.size(); i++)
+    {
+        result.push_back("[" + ids[i] + "]");
+    }
+
+    return result;
+}
+
+
+vector<string> sel_getBoundarySpeciesConcSymbols(RoadRunner* rr)
+{
+    vector<string> ids = rr->getBoundarySpeciesIds();
+    vector<string> result;
+
+    for(int i = 0; i < ids.size(); i++)
+    {
+        result.push_back("[" + ids[i] + "]");
+    }
+
+    return result;
+}
+
+vector<double> rr_getRatesOfChange(RoadRunner* rr)
+{
+    ExecutableModel *mModel = rr->getModel();
+    if (!mModel)
+    {
+        throw CoreException(gEmptyModelMessage);
+    }
+
+    mModel->computeAllRatesOfChange();
+    vector<double> result(mModel->getNumFloatingSpecies());
+    mModel->getFloatingSpeciesAmountRates(result.size(), 0, &result[0]);
+    return result;
+}
+
+C_DECL_SPEC bool rrcCallConv getSeed(RRHandle h, long* result) {
+    start_try
+        RoadRunner *r = (RoadRunner*)h;
+        //Integrator *intg = r->getIntegrator(Integrator::GILLESPIE);
+		//*result = intg->getItem("seed").convert<long>();
+		*result = r->getIntegrator()->getValue("seed").convert<long>();
+        return true;
+    catch_bool_macro;
+}
+
+C_DECL_SPEC bool rrcCallConv setSeed(RRHandle h, long result) {
+    start_try
+        RoadRunner *r = (RoadRunner*)h;
+        //Integrator *intg = r->getIntegrator(Integrator::GILLESPIE);
+        //intg->setItem("seed", result);
+		Integrator *intg = r->getIntegrator();
+		if (intg->getName() == "gillespie")
+		{
+			intg->setValue("seed", result);
+		}
+		else
+		{
+			Integrator *intg = IntegratorFactory::getInstance().New("gillespie", r->getModel());
+			intg->setValue("seed", result);
+		}
+        return true;
+    catch_bool_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespie(RRHandle handle) {
+    start_try
+        RoadRunner *r = (RoadRunner*)handle;
+        SimulateOptions& o = r->getSimulateOptions();
+        //o.integrator = Integrator::GILLESPIE;
+        //o.integratorFlags |= Integrator::VARIABLE_STEP;
+		r->setIntegrator("gillespie");
+		r->getIntegrator()->setValue("variable_step_size", false);
+        r->simulate();
+        return createRRCData(*r);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieEx(RRHandle handle, double timeStart, double timeEnd) {
+    start_try
+        setTimeStart (handle, timeStart);
+        setTimeEnd (handle, timeEnd);
+        return gillespie(handle);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieOnGrid(RRHandle handle) {
+    start_try
+        RoadRunner *r = (RoadRunner*)handle;
+        SimulateOptions& o = r->getSimulateOptions();
+        //o.integrator = Integrator::GILLESPIE;
+        //o.integratorFlags &= !Integrator::VARIABLE_STEP;
+        r->setIntegrator("gillespie");
+		r->getIntegrator()->setValue("variable_step_size", false);
+        r->simulate();
+        return createRRCData(*r);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfPoints) {
+    start_try
+        setTimeStart (handle, timeStart);
+        setTimeEnd (handle, timeEnd);
+        setNumPoints (handle, numberOfPoints);
+        return gillespieOnGrid(handle);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanOnGrid(RRHandle handle, int numberOfSimulations) {
+    start_try
+        // Standard gillespieOnGrid setup
+        RoadRunner *r = (RoadRunner*)handle;
+        SimulateOptions& o = r->getSimulateOptions();
+        //o.integrator = Integrator::GILLESPIE;
+        //o.integratorFlags &= !Integrator::VARIABLE_STEP;
+        r->setIntegrator("gillespie");
+		r->getIntegrator()->setValue("variable_step_size", false);
+
+        double steps = o.steps;
+
+        RoadRunner &rref = const_cast<RoadRunner&>(*r);
+        const DoubleMatrix& reference = *rref.getSimulationData();
+
+        // Initializes a DoubleMatrix "res" with all zeroes
+        DoubleMatrix avg(reference.RSize(), reference.CSize());
+        for (int row = 0; row < reference.RSize(); row++) {
+            for (int col = 0; col < reference.CSize(); col++) {
+                avg(row, col) = 0;
+            }
+        }
+
+        // Runs simulations, obtaining avg with Welford's Algorithm
+        for (int i = 0; i < numberOfSimulations; i++) {
+            const DoubleMatrix &temp = *r->simulate();
+            for (int j = 0; j < steps + 1; j++) {
+                avg(j, 0) += (temp(j, 0) - avg(j, 0)) / (i + 1);
+            }
+        }
+
+        DoubleMatrix &result = const_cast<DoubleMatrix&>(avg);
+
+        RRCData* rrCData = new RRCData;
+        memset(rrCData, 0, sizeof(RRCData));
+
+        // Create column info
+        const std::vector<SelectionRecord> &selections = rref.getSelections();
+        rrCData->ColumnHeaders = new char*[selections.size()];
+        for (int i = 0; i < selections.size(); i++) {
+            rrCData->ColumnHeaders[i] = rr::createText(selections[i].to_string());
+        }
+
+        // Basic Attributes of RRCData
+        rrCData->RSize = result.RSize();
+        rrCData->CSize = result.CSize();
+        int size = rrCData->RSize * rrCData->CSize;
+        rrCData->Data = new double[size];
+
+        int index = 0;
+        for (int row = 0; row < rrCData->RSize; row++) {
+            for (int col = 0; col < rrCData->CSize; col++) {
+                rrCData->Data[index++] = result(row, col);
+            }
+        }
+        return rrCData;
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfPoints, int numberOfSimulations) {
+    start_try
+        setTimeStart (handle, timeStart);
+        setTimeEnd (handle, timeEnd);
+        setNumPoints (handle, numberOfPoints);
+        return gillespieMeanOnGrid(handle, numberOfSimulations);
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanSDOnGrid(RRHandle handle, int numberOfSimulations) {
+    start_try
+        // Standard gillespieOnGrid setup
+        RoadRunner *r = (RoadRunner*)handle;
+        SimulateOptions& o = r->getSimulateOptions();
+        r->setIntegrator("gillespie");
+		//o.integratorFlags &= !Integrator::VARIABLE_STEP;
+		r->getIntegrator()->setValue("variable_step_size", false);
+
+        double steps = o.steps;
+
+        RoadRunner &rref = const_cast<RoadRunner&>(*r);
+        const DoubleMatrix& reference = *rref.getSimulationData();
+
+        // Initializes a DoubleMatrix "res" with all zeroes
+        DoubleMatrix avg(reference.RSize(), reference.CSize());
+        DoubleMatrix stddev(reference.RSize(), reference.CSize());
+        for (int row = 0; row < reference.RSize(); row++) {
+            for (int col = 0; col < reference.CSize(); col++) {
+                avg(row, col) = 0;
+                stddev(row, col) = 0;
+            }
+        }
+
+        // Runs simulations, obtain avg and stddev with Welford's Algorithm
+        for (int i = 0; i < numberOfSimulations; i++) {
+            const DoubleMatrix &temp = *r->simulate();
+            for (int j = 0; j < steps + 1; j++) {
+                double delta = temp(j, 0) - avg(j, 0);
+                avg(j, 0) += delta / (i + 1);
+                stddev(j, 0) += delta * (temp(j, 0) - avg(j, 0));
+            }
+        }
+
+        DoubleMatrix &result = const_cast<DoubleMatrix&>(avg);
+
+        RRCData* rrCData = new RRCData;
+        memset(rrCData, 0, sizeof(RRCData));
+
+        // Create column info
+        const std::vector<SelectionRecord> &selections = rref.getSelections();
+        rrCData->ColumnHeaders = new char*[selections.size()];
+        for (int i = 0; i < selections.size(); i++) {
+            rrCData->ColumnHeaders[i] = rr::createText(selections[i].to_string());
+        }
+
+        // Basic Attributes of RRCData
+        rrCData->RSize = result.RSize();
+        rrCData->CSize = result.CSize();
+        int size = rrCData->RSize * rrCData->CSize;
+        rrCData->Data = new double[size];
+        rrCData->Weights = new double[size];
+
+        int index = 0;
+        for (int row = 0; row < rrCData->RSize; row++) {
+            for (int col = 0; col < rrCData->CSize; col++) {
+                rrCData->Data[index] = result(row, col);
+                rrCData->Weights[index] = result(row, col);
+                index++;
+            }
+        }
+        return rrCData;
+    catch_ptr_macro
+}
+
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanSDOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfPoints, int numberOfSimulations) {
+    start_try
+        setTimeStart (handle, timeStart);
+        setTimeEnd (handle, timeEnd);
+        setNumPoints (handle, numberOfPoints);
+        return gillespieMeanSDOnGrid(handle, numberOfSimulations);
+    catch_ptr_macro
+}
+
+bool rrcCallConv reset(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->reset();
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv resetAll(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->reset(SelectionRecord::TIME | SelectionRecord::RATE | SelectionRecord::FLOATING | SelectionRecord::GLOBAL_PARAMETER);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv resetToOrigin(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        rri->reset(SelectionRecord::ALL);
+        return true;
+    catch_bool_macro
+}
+
+int rrcCallConv setConfigBool(const char* key, int value) {
+    start_try
+        rr::Config::setValue(rr::Config::stringToKey(key), (bool)value);
+        return true;
+    catch_int_macro
+}
+
+int rrcCallConv getConfigBool(const char* key) {
+    start_try
+        return rr::Config::getValue(rr::Config::stringToKey(key));
+    catch_int_macro
+}
+
+int rrcCallConv setConfigInt(const char* key, int value) {
+    start_try
+        rr::Config::setValue(rr::Config::stringToKey(key), value);
+        return true;
+    catch_int_macro
+}
+
+int rrcCallConv getConfigInt(const char* key) {
+    start_try
+        return rr::Config::getValue(rr::Config::stringToKey(key));
+    catch_int_macro
+}
+
+int rrcCallConv setConfigDouble(const char* key, double value) {
+    start_try
+        rr::Config::setValue(rr::Config::stringToKey(key), value);
+        return true;
+    catch_int_macro
+}
+
+double rrcCallConv getConfigDouble(const char* key) {
+    start_try
+        return rr::Config::getValue(rr::Config::stringToKey(key));
+    catch_int_macro
+}
+
+RRStringArrayPtr rrcCallConv getListOfConfigKeys()
+{
+    start_try
+        vector<string> list = Config::getKeyList();
+
+        StringList sNames = list;
+
+        if(!sNames.Count())
+        {
+            return NULL;
+        }
+
+        return createList(sNames);
+    catch_ptr_macro
+}
+
+}
diff --git a/wrappers/C/rrc_api.def b/wrappers/C/rrc_api.def
new file mode 100644
index 0000000..4101132
--- /dev/null
+++ b/wrappers/C/rrc_api.def
@@ -0,0 +1,217 @@
+LIBRARY     RRC_API.DLL
+
+
+EXPORTS
+;addDoubleParameter                              = _addDoubleParameter at 16
+getFileContent                                  = _getFileContent at 4
+addItem                                         = _addItem at 8
+computeSteadyStateValues                        = _computeSteadyStateValues at 4
+createDoubleItem                                = _createDoubleItem at 8
+createIntegerItem                               = _createIntegerItem at 4
+createListItem                                  = _createListItem at 4
+createRRInstance                                = _createRRInstance at 0
+createRRInstanceEx                              = _createRRInstanceEx at 8
+createRRInstances                               = _createRRInstances at 4
+createRRList                                    = _createRRList at 0
+createRRMatrix                                  = _createRRMatrix at 8
+createStringItem                                = _createStringItem at 4
+createVector                                    = _createVector at 4
+enableLoggingToConsole                          = _enableLoggingToConsole at 0
+disableLoggingToConsole                         = _disableLoggingToConsole at 0
+enableLoggingToFile                             = _enableLoggingToFile at 4
+disableLoggingToFile                            = _disableLoggingToFile at 0
+evalModel                                       = _evalModel at 4
+;executePlugin                                   = _executePlugin at 4
+freeCCode                                       = _freeCCode at 4
+freeMatrix                                      = _freeMatrix at 4
+freeRRInstance                                  = _freeRRInstance at 4
+freeRRInstances                                 = _freeRRInstances at 4
+freeRRList                                      = _freeRRList at 4
+freeRRData                                      = _freeRRData at 4
+freeStringArray                                 = _freeStringArray at 4
+freeText                                        = _freeText at 4
+freeVector                                      = _freeVector at 4
+getAvailableSteadyStateSymbols                  = _getAvailableSteadyStateSymbols at 4
+getAvailableTimeCourseSymbols                   = _getAvailableTimeCourseSymbols at 4
+getBoundarySpeciesByIndex                       = _getBoundarySpeciesByIndex at 12
+getBoundarySpeciesConcentrations                = _getBoundarySpeciesConcentrations at 4
+getBoundarySpeciesIds                           = _getBoundarySpeciesIds at 4
+getBuildDate                                    = _getBuildDate at 0
+getBuildDateTime                                = _getBuildDateTime at 0
+getBuildTime                                    = _getBuildTime at 0
+getCC                                           = _getCC at 16
+getCCode                                        = _getCCode at 4
+getCCodeHeader                                  = _getCCodeHeader at 4
+getCCodeSource                                  = _getCCodeSource at 4
+getCSourceFileName                              = _getCSourceFileName at 4
+getConfigurationXML                             = _getConfigurationXML at 4
+setConfigurationXML                             = _setConfigurationXML at 8
+;getPluginManagerConfigurationXML                = _getPluginManagerConfigurationXML at 4
+;setPluginManagerConfigurationXML                = _setPluginManagerConfigurationXML at 8
+getCompartmentByIndex                           = _getCompartmentByIndex at 12
+getCompartmentIds                               = _getCompartmentIds at 4
+getCompilerLocation                             = _getCompilerLocation at 4
+getConcentrationControlCoefficientIds           = _getConcentrationControlCoefficientIds at 4
+getConservationMatrix                           = _getConservationMatrix at 4
+getCopyright                                    = _getCopyright at 0
+getCurrentSBML                                  = _getCurrentSBML at 4
+getDoubleListItem                               = _getDoubleListItem at 8
+getEE                                           = _getEE at 16
+getEigenvalueIds                                = _getEigenvalueIds at 4
+getEigenvalues                                  = _getEigenvalues at 4
+getEigenvaluesVector                            = _getEigenvaluesVector at 4
+getEigenvaluesMatrix                            = _getEigenvaluesMatrix at 4
+getElasticityCoefficientIds                     = _getElasticityCoefficientIds at 4
+getFloatingSpeciesByIndex                       = _getFloatingSpeciesByIndex at 12
+getFloatingSpeciesConcentrations                = _getFloatingSpeciesConcentrations at 4
+getFloatingSpeciesIds                           = _getFloatingSpeciesIds at 4
+getFloatingSpeciesInitialConcentrations         = _getFloatingSpeciesInitialConcentrations at 4
+getFloatingSpeciesInitialConcentrationByIndex   = _getFloatingSpeciesInitialConcentrationByIndex at 12
+setFloatingSpeciesInitialConcentrationByIndex   = _setFloatingSpeciesInitialConcentrationByIndex at 16
+getFloatingSpeciesInitialConditionIds           = _getFloatingSpeciesInitialConditionIds at 4
+getFluxControlCoefficientIds                    = _getFluxControlCoefficientIds at 4
+getFullJacobian                                 = _getFullJacobian at 4
+getGlobalParameterByIndex                       = _getGlobalParameterByIndex at 12
+getGlobalParameterIds                           = _getGlobalParameterIds at 4
+getGlobalParameterValues                        = _getGlobalParameterValues at 4
+getInfo                                         = _getInfo at 4
+getInstallFolder                                = _getInstallFolder at 0
+getInstanceCount                                = _getInstanceCount at 4
+getIntegerListItem                              = _getIntegerListItem at 8
+getL0Matrix                                     = _getL0Matrix at 4
+getLastError                                    = _getLastError at 0
+getLinkMatrix                                   = _getLinkMatrix at 4
+getList                                         = _getList at 4
+getListItem                                     = _getListItem at 8
+getListLength                                   = _getListLength at 4
+getLogFileName                                  = _getLogFileName at 0
+getLogLevel                                     = _getLogLevel at 0
+getMatrixElement                                = _getMatrixElement at 16
+getMatrixNumCols                                = _getMatrixNumCols at 4
+getMatrixNumRows                                = _getMatrixNumRows at 4
+getNrMatrix                                     = _getNrMatrix at 4
+getNumPoints                                    = _getNumPoints at 8
+getNumberOfBoundarySpecies                      = _getNumberOfBoundarySpecies at 4
+getNumberOfCompartments                         = _getNumberOfCompartments at 4
+getNumberOfDependentSpecies                     = _getNumberOfDependentSpecies at 4
+getNumberOfFloatingSpecies                      = _getNumberOfFloatingSpecies at 4
+getNumberOfGlobalParameters                     = _getNumberOfGlobalParameters at 4
+getNumberOfIndependentSpecies                   = _getNumberOfIndependentSpecies at 4
+;getNumberOfPlugins                              = _getNumberOfPlugins at 4
+getNumberOfReactions                            = _getNumberOfReactions at 4
+
+getNumberOfRules                                = _getNumberOfRules at 4
+getNumberOfStringElements                       = _getNumberOfStringElements at 4
+getParamPromotedSBML                            = _getParamPromotedSBML at 8
+;getPluginCapabilities                           = _getPluginCapabilities at 4
+;getPluginInfo                                   = _getPluginInfo at 4
+;getPluginName                                   = _getPluginName at 4
+;getPluginNames                                  = _getPluginNames at 4
+;getPluginParameter                              = _getPluginParameter at 12
+;getPluginParameters                             = _getPluginParameters at 8
+;getPluginStatus                                 = _getPluginStatus at 4
+;getPluginResult                                 = _getPluginResult at 4
+getRRCAPILocation                               = _getRRCAPILocation at 0
+getRRHandle                                     = _getRRHandle at 8
+getRateOfChange                                 = _getRateOfChange at 12
+getRatesOfChange                                = _getRatesOfChange at 4
+getRatesOfChangeEx                              = _getRatesOfChangeEx at 8
+getRatesOfChangeIds                             = _getRatesOfChangeIds at 4
+getReactionIds                                  = _getReactionIds at 4
+getReactionRate                                 = _getReactionRate at 12
+getReactionRates                                = _getReactionRates at 4
+getReactionRatesEx                              = _getReactionRatesEx at 8
+getReducedJacobian                              = _getReducedJacobian at 4
+getRRDataColumnLabel                            = _getRRDataColumnLabel at 8
+getRRDataElement                                = _getRRDataElement at 16
+getRRDataNumCols                                = _getRRDataNumCols at 4
+getRRDataNumRows                                = _getRRDataNumRows at 4
+getSBML                                         = _getSBML at 4
+getScaledConcentrationControlCoefficientMatrix  = _getScaledConcentrationControlCoefficientMatrix at 4
+getScaledElasticityMatrix                       = _getScaledElasticityMatrix at 4
+getScaledFloatingSpeciesElasticity              = _getScaledFloatingSpeciesElasticity at 16
+getScaledFluxControlCoefficientMatrix           = _getScaledFluxControlCoefficientMatrix at 4
+getSimulationResult                             = _getSimulationResult at 4
+getSteadyStateSelectionList                     = _getSteadyStateSelectionList at 4
+getStoichiometryMatrix                          = _getStoichiometryMatrix at 4
+getStringElement                                = _getStringElement at 8
+getStringListItem                               = _getStringListItem at 4
+getSupportCodeFolder                            = _getSupportCodeFolder at 4
+getTempFolder                                   = _getTempFolder at 4
+getTimeCourseSelectionList                      = _getTimeCourseSelectionList at 4
+getTimeEnd                                      = _getTimeEnd at 8
+getTimeStart                                    = _getTimeStart at 8
+getUnscaledConcentrationControlCoefficientIds   = _getUnscaledConcentrationControlCoefficientIds at 4
+getUnscaledConcentrationControlCoefficientMatrix= _getUnscaledConcentrationControlCoefficientMatrix at 4
+getUnscaledElasticityMatrix                     = _getUnscaledElasticityMatrix at 4
+getUnscaledFluxControlCoefficientIds            = _getUnscaledFluxControlCoefficientIds at 4
+getUnscaledFluxControlCoefficientMatrix         = _getUnscaledFluxControlCoefficientMatrix at 4
+getValue                                        = _getValue at 12
+getVectorElement                                = _getVectorElement at 12
+getVectorLength                                 = _getVectorLength at 4
+getAPIVersion                                   = _getAPIVersion at 0
+getWorkingDirectory                             = _getWorkingDirectory at 0
+getlibSBMLVersion                               = _getlibSBMLVersion at 4
+getuCC                                          = _getuCC at 16
+getuEE                                          = _getuEE at 16
+hasError                                        = _hasError at 0
+isListItem                                      = _isListItem at 8
+isListItemDouble                                = _isListItemDouble at 4
+isListItemInteger                               = _isListItemInteger at 4
+isListItemList                                  = _isListItemList at 4
+isListItemString                                = _isListItemString at 4
+listToString                                    = _listToString at 4
+;loadPlugins                                     = _loadPlugins at 4
+loadSBML                                        = _loadSBML at 8
+loadSBMLEx                                      = _loadSBMLEx at 12
+loadSBMLFromFile                                = _loadSBMLFromFile at 8
+loadSBMLFromFileE                               = _loadSBMLFromFileE at 12
+
+
+loadSimulationSettings                          = _loadSimulationSettings at 8
+logMsg                                          = _logMsg at 8
+matrixToString                                  = _matrixToString at 4
+oneStep                                         = _oneStep at 24
+pause                                           = _pause at 0
+reset                                           = _reset at 4
+rrDataToString                                  = _rrDataToString at 4
+setBoundarySpeciesByIndex                       = _setBoundarySpeciesByIndex at 16
+setBoundarySpeciesConcentrations                = _setBoundarySpeciesConcentrations at 8
+
+setCompartmentByIndex                           = _setCompartmentByIndex at 16
+setCompiler                                     = _setCompiler at 8
+setCompilerLocation                             = _setCompilerLocation at 8
+setComputeAndAssignConservationLaws             = _setComputeAndAssignConservationLaws at 8
+setFloatingSpeciesByIndex                       = _setFloatingSpeciesByIndex at 16
+setFloatingSpeciesConcentrations                = _setFloatingSpeciesConcentrations at 8
+setFloatingSpeciesInitialConcentrations         = _setFloatingSpeciesInitialConcentrations at 8
+setGlobalParameterByIndex                       = _setGlobalParameterByIndex at 16
+setInstallFolder                                = _setInstallFolder at 4
+setLogLevel                                     = _setLogLevel at 4
+setMatrixElement                                = _setMatrixElement at 20
+setNumPoints                                    = _setNumPoints at 8
+;setPluginParameter                              = _setPluginParameter at 12
+setSteadyStateSelectionList                     = _setSteadyStateSelectionList at 8
+setSupportCodeFolder                            = _setSupportCodeFolder at 8
+setTempFolder                                   = _setTempFolder at 8
+setTimeCourseSelectionList                      = _setTimeCourseSelectionList at 8
+setTimeEnd                                      = _setTimeEnd at 12
+setTimeStart                                    = _setTimeStart at 12
+setValue                                        = _setValue at 16
+setVectorElement                                = _setVectorElement at 16
+simulate                                        = _simulate at 4
+simulateEx                                      = _simulateEx at 24
+
+
+steadyState                                     = _steadyState at 8
+stringArrayToString                             = _stringArrayToString at 4
+unLoadModel                                     = _unLoadModel at 4
+;unLoadPlugins                                   = _unLoadPlugins at 4
+vectorToString                                  = _vectorToString at 4
+
+
+writeMultipleRRData                             = _writeMultipleRRData at 8
+writeRRData                                     = _writeRRData at 8
+;createRRPluginManager                           = _createRRPluginManager at 4
+;createRRPluginManagerEx                         = _createRRPluginManagerEx at 12
+;freeRRPluginManager                             = _freeRRPluginManager at 4
diff --git a/wrappers/C/rrc_api.h b/wrappers/C/rrc_api.h
new file mode 100644
index 0000000..0a761df
--- /dev/null
+++ b/wrappers/C/rrc_api.h
@@ -0,0 +1,2505 @@
+/**
+ * @file rrc_api.h
+ * @brief libRoadRunner C API 2012-2013
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of libRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib/ for more details.
+ *
+ * Copyright (C) 2012
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+#ifndef rrc_apiH
+#define rrc_apiH
+#include "rrc_exporter.h"
+#include "rrc_types.h"
+#include "rrc_utilities.h"
+#include "rrc_logging_api.h"
+#include "rrc_nom_api.h"
+#include "rrc_libstruct_api.h"
+
+#if defined(__cplusplus)
+namespace rrc { extern "C" {
+#endif
+
+/*!
+ \brief Initialize a new roadRunner instance and return a handle to it.
+ \return Returns a RoadRunner instance, returns null if it fails
+ \ingroup initialization
+*/
+C_DECL_SPEC RRHandle rrcCallConv createRRInstance(void);
+
+/*!
+ \brief Initialize a new roadRunner instance and return a handle to it.
+ \param[in] tempFolder set roadrunners temporary folder
+ \param[in] compiler may be NULL, if NULL, uses default compiler.
+ If LLVM build is enabled, setting compiler to "llvm" enables llvm based
+ model generation.
+ \return Returns a RoadRunner instance, returns null if it fails
+ \ingroup initialization
+*/
+
+C_DECL_SPEC RRHandle rrcCallConv createRRInstanceEx(const char* tempFolder, const char* compiler);
+
+/*!
+ \brief Free the roadRunner instance
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup initialization
+*/
+C_DECL_SPEC bool rrcCallConv freeRRInstance(RRHandle handle);
+
+/*!
+ \brief Returns the folder in which the RoadRunner API is installed
+ \return Pointer to string holding the install folder
+ \ingroup initialization
+*/
+C_DECL_SPEC char* rrcCallConv  getInstallFolder(void);
+
+/*!
+ \brief Set the internal string containing the folder in where the RoadRunner C API is installed
+ \param[in] folder Pointer to string holding the install folder
+ \return Boolean indicating success
+ \ingroup initialization
+*/
+C_DECL_SPEC bool  rrcCallConv  setInstallFolder(const char* folder);
+
+/*!
+ \brief Retrieve the current version number of the C API library
+ \return Returns null if it fails, otherwise it returns the version number of the C API library
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getAPIVersion(void);
+
+/*!
+ \brief Retrieve the current version number of the C++ API (Core RoadRunner API) library
+ \param[in] handle RoadRunner instance handle
+ \return Returns null if it fails, otherwise it returns the version number of the C++ API library
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getCPPAPIVersion(RRHandle handle);
+
+/*!
+ Get the version number.
+
+ \return the roadrunner version number in the form or 102030 if the number
+ is 1.2.3
+
+ returns the individual version numbers as XXYYZZ where XX
+ is the major version, YY the minor and ZZ the revision,
+ eg 10000, or 10100, 20000 etc
+ */
+C_DECL_SPEC int  rrcCallConv getVersion();
+
+/*!
+ returns roadrunner as a string, i.e. "1.0.0"
+ */
+C_DECL_SPEC char*  rrcCallConv getVersionStr();
+
+
+/*!
+ returns something like "1.0.0; compiled with clang "3.3 (tags/RELEASE_33/final)" on date Dec  8 2013, 17:24:57'
+ */
+C_DECL_SPEC char*  rrcCallConv getVersionEx();
+
+/*!
+ \brief Retrieve extended API info.
+ \return Returns null if it fails, otherwise it returns a string with the info
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getExtendedAPIInfo();
+
+/*!
+ \brief Retrieve the current build date of the library
+ \return Returns null if it fails, otherwise it returns the build date
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getBuildDate(void);
+
+/*!
+ \brief Retrieve the current build time (HH:MM:SS) of the library
+ \return Returns null if it fails, otherwise it returns the build time
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getBuildTime(void);
+
+/*!
+ \brief Retrieve the current build date + time of the library
+ \return Returns null if it fails, otherwise it returns the build date + time
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getBuildDateTime(void);
+
+/*!
+ \brief Retrieve the current copyright notice for the library
+ \return Returns null if it fails, otherwise it returns the copyright string
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getCopyright(void);
+
+/*!
+ \brief Retrieve info about current state of roadrunner, e.g. loaded model, conservationAnalysis etc.
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns a string with the info
+ \ingroup utility
+*/
+C_DECL_SPEC char*  rrcCallConv getInfo(RRHandle handle);
+
+ /*!
+ \brief Retrieve the current version number of the libSBML library
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns the version number of the library
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getlibSBMLVersion(RRHandle handle);
+
+ /*!
+ \brief Set the path to the temporary folder where the C code will be stored
+
+ When RoadRunner is run in C generation mode its uses a temporary folder to store the
+ generated C source code. This method can be used to set the temporary folder path if necessary.
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] folder Pointer to string holding folder path
+
+ \return Returns true if successful
+ \ingroup utility                                                 onsole
+*/
+C_DECL_SPEC bool rrcCallConv setTempFolder(RRHandle handle, const char* folder);
+
+/*!
+ \brief Retrieve the current temporary folder path
+
+ When RoadRunner is run in C generation mode its uses a temporary folder to store the
+ generate C source code. This method can be used to get the current value
+ for the temporary folder path.
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns the path
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getTempFolder(RRHandle handle);
+
+/*!
+ \brief Retrieve the current working directory path
+
+ \return Returns null if it fails, otherwise it returns the path
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getWorkingDirectory(void);
+
+/*!
+ \brief Retrieve the directory path of the shared rrCApi library
+
+ \return Returns null if it fails, otherwise it returns the path
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getRRCAPILocation(void);
+
+
+/*!
+ \brief Set the path and filename to the compiler to be used by roadrunner.
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] fNameWithPath Pointer to string holding the fileName and path to a compiler
+ \return Returns true if successful
+ \ingroup utility
+*/
+C_DECL_SPEC bool rrcCallConv setCompiler(RRHandle handle, const char* fNameWithPath);
+
+/*!
+ \brief Get the name of the compiler currently being used by roadrunner.
+ \ingroup utility
+*/
+C_DECL_SPEC char* rrcCallConv getCompiler(RRHandle handle);
+
+/*!
+ \brief Set the path to a folder containing the compiler to be used.
+ \param[in] handle Handle to a RoadRunner instance
+
+ \param[in] folder Pointer to string holding the path to a compiler
+ \return Returns true if successful
+ \ingroup utility
+*/
+C_DECL_SPEC bool rrcCallConv setCompilerLocation(RRHandle handle, const char* folder);
+
+/*!
+ \brief Get the path to a folder containing the compiler being used.
+ \param[in] handle Handle to a RoadRunner instance
+
+ \return Returns the path if successful, NULL otherwise
+ \ingroup utility
+*/
+
+C_DECL_SPEC char* rrcCallConv getCompilerLocation(RRHandle handle);
+
+/*!
+ \brief Set the path to a folder containing support code for model generation.
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] folder Pointer to string holding the path to the support code folder
+ \return Returns true if successful
+ \ingroup utility
+*/
+C_DECL_SPEC bool rrcCallConv setSupportCodeFolder(RRHandle handle, const char* folder);
+
+/*!
+ \brief Get the path to a folder containing support code.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns the path if successful, NULL otherwise
+ \ingroup utility
+*/
+
+C_DECL_SPEC char* rrcCallConv getSupportCodeFolder(RRHandle handle);
+
+/*!
+ \brief Set the runtime generation option [Not yet implemented]
+
+ RoadRunner can either execute a model by generating, compiling and linking self-generated
+ C code or it can employ an internal interpreter to evaluate the model equations. The
+ later method is useful when the OS forbids the compiling of externally generated code.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] mode is set to 0 RoadRunner generates C Code,
+ if set to 1 RoadRunner uses its internal math interpreter.
+ \return Returns false if it fails,
+ \ingroup utility
+*/
+C_DECL_SPEC bool rrcCallConv setCodeGenerationMode(RRHandle handle, int mode);
+
+
+/*!
+ \brief Check if there is an error string to retrieve
+
+ Example: status = hasError (void)
+
+ \return Returns true if there is an error waiting to be retrieved
+ \ingroup errorfunctions
+*/
+C_DECL_SPEC bool rrcCallConv hasError(void);
+
+/*!
+ \brief Retrieve the current error string
+
+ Example: \code str = getLastError (void); \endcode
+
+ \return Return null if fails, otherwise returns a pointer to the error string
+ \ingroup errorfunctions
+*/
+C_DECL_SPEC char* rrcCallConv getLastError(void);
+
+// Flags/Options
+/*!
+ \brief Enable or disable conservation analysis
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] On_Or_Off Set true to switch on conservation analysis
+ \return Returns true if successful
+ \ingroup initialization
+*/
+C_DECL_SPEC bool rrcCallConv setComputeAndAssignConservationLaws(RRHandle handle, const bool On_Or_Off);
+
+/*!
+ \brief Get the value of the moiety conservation setting
+ \param[in] handle Handle to a RoadRunner instance
+ \param[out] value A place to store the value
+ \return Returns true if successful
+ \ingroup initialization
+*/
+C_DECL_SPEC int rrcCallConv getComputeAndAssignConservationLaws(RRHandle handle, int* value);
+
+// -----------------------------------------------------------------------
+// Read and Write models
+// -----------------------------------------------------------------------
+
+/*!
+ \brief Load a model from an SBML string
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] sbml string
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+C_DECL_SPEC bool rrcCallConv loadSBML(RRHandle handle, const char* sbml);
+
+/*!
+ \brief Load a model from an SBML string
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] sbml string
+ \param[in] forceRecompile boolean. True means the model is recompiled. False causes roadrunner to use an already compiled model
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+C_DECL_SPEC bool rrcCallConv loadSBMLEx(RRHandle handle, const char* sbml, bool forceRecompile);
+
+/*!
+ \brief Load a model from a SBML file
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] fileName file name (or full path) to file that holds the SBML model
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+//C_DECL_SPEC bool rrcCallConv loadSBMLFromFile(const char* fileName);
+C_DECL_SPEC bool rrcCallConv loadSBMLFromFile(RRHandle handle, const char* fileName);
+
+/*!
+ \brief Load a model from a SBML file, force recompilation
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] fileName file name (or full path) to file that holds the SBML model
+ \param[in] forceRecompile Boolean that forces recompilation if true. If false, no compilation occur if model dll exists
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+C_DECL_SPEC bool rrcCallConv loadSBMLFromFileE(RRHandle handle, const char* fileName, bool forceRecompile);
+
+/*!
+ \brief Unload current model
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+C_DECL_SPEC bool rrcCallConv clearModel(RRHandle handle);
+
+/*!
+ \brief check if a model is loaded
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns true/false indicating whether a model is loaded or not
+ \ingroup loadsave
+*/
+C_DECL_SPEC bool rrcCallConv isModelLoaded(RRHandle handle);
+
+/*!
+ \brief Load simulation settings from a file
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] fileName file name (or full path) to file that holds simulation settings
+ \return Returns true if successful
+ \ingroup loadsave
+*/
+
+C_DECL_SPEC bool rrcCallConv loadSimulationSettings(RRHandle handle, const char* fileName);
+
+/*!
+ \brief Retrieve the <b>current state</b> of the model in the form of an SBML string
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if the call fails, otherwise returns a pointer to the SBML string
+ \ingroup loadsave
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSBML(RRHandle handle);
+
+/*!
+ \brief Retrieve the SBML model that was last loaded into roadRunner
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if the call fails, otherwise returns a pointer to the SBML string
+ \ingroup loadsave
+*/
+C_DECL_SPEC char* rrcCallConv getSBML(RRHandle handle);
+
+// -------------------------------------------------------------------------
+// SBML utility methods
+// -----------------------------------------------------------------------
+/*!
+ \brief Promote any local parameters to global status.
+
+ This routine will convert any local reaction parameters and promote
+ them to global status. The promoted parameters are prefixed with the
+ name of the reaction to make them unique.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] sArg points to the SBML model to promote
+ \return Returns null if it fails otherwise it returns the promoted SBML model as a string
+ \ingroup sbml
+*/
+C_DECL_SPEC char* rrcCallConv getParamPromotedSBML(RRHandle handle, const char* sArg);
+
+/*!
+ \brief Set the simulator's capabilities
+ \param[in] handle Handle to a RoadRunner instance
+ \param[out] caps An XML string that specifies the simulators capabilities
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv setConfigurationXML (RRHandle handle, const char* caps);
+
+/*!
+ \brief Get the simulator's capabilities
+
+ Example:
+
+ \code
+ <caps name="RoadRunner" description="Settings For RoadRunner">
+  <section name="integration" method="CVODE" description="CVODE Integrator">
+    <cap name="BDFOrder" value="5" hint="Maximum order for BDF Method" type="integer" />
+    <cap name="AdamsOrder" value="12" hint="Maximum order for Adams Method" type="integer" />
+    <cap name="rtol" value="1E-06" hint="Relative Tolerance" type="double" />
+    <cap name="atol" value="1E-12" hint="Absolute Tolerance" type="double" />
+    <cap name="maxsteps" value="10000" hint="Maximum number of internal stepsc" type="integer" />
+    <cap name="initstep" value="0" hint="the initial step size" type="double" />
+    <cap name="minstep" value="0" hint="specifies a lower bound on the magnitude of the step size." type="double" />
+    <cap name="maxstep" value="0" hint="specifies an upper bound on the magnitude of the step size." type="double" />
+    <cap name="conservation" value="1" hint="enables (=1) or disables (=0) the conservation analysis of models for timecourse simulations." type="int" />
+    <cap name="allowRandom" value="1" hint="if enabled (=1), reinterprets certain function definitions as distributions and draws random numbers for it." type="int" />
+    <cap name="usekinsol" value="0" hint="Is KinSol used as steady state integrator" type="int" />
+  </section>
+
+  <section name="SteadyState" method="NLEQ2" description="NLEQ2 Steady State Solver">
+    <cap name="MaxIterations" value="100" hint="Maximum number of newton iterations" type="integer" />
+    <cap name="relativeTolerance" value="0.0001" hint="Relative precision of solution components" type="double" />
+  </section>
+</caps>
+\endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns the simulator's capabilities in the form of an XML string
+ \ingroup simulation
+*/
+C_DECL_SPEC char* rrcCallConv getConfigurationXML(RRHandle handle);
+
+/* Registered Integrators *****************************************************/
+
+/*!
+\brief Get the number of registered integrators.
+\return Returns an integer that corresponds to the number of currently registered integrators.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getNumRegisteredIntegrators ();
+
+/*!
+\brief Get the name of a registered integrator (e.g. cvode etc.)
+\param[in] n The index of the registered integrator
+\note Callee owns memory
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getRegisteredIntegratorName (int n);
+
+/*!
+\brief Get the hint of a registered integrator (e.g. cvode etc.)
+\param[in] n The index of the registered integrator
+\note Callee owns memory
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getRegisteredIntegratorHint (int n);
+
+/*!
+\brief Get the description of a registered integrator (e.g. cvode etc.)
+\param[in] n The index of the registered integrator
+\note Callee owns memory
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getRegisteredIntegratorDescription (int n);
+
+/* Instantiated Integrators ***************************************************/
+
+/*!
+\brief Get the number of instantiated integrators.
+\description To instantiate an integrator, use @ref setCurrentIntegrator.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns an integer that corresponds to the number of currently registered integrators.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getNumInstantiatedIntegrators (RRHandle handle);
+
+/*!
+\brief Specify the current integrator to be used for simulation.
+\description This method instantiates a new integrator of the given type (e.g. cvode, gillespie) if
+one does not currently exist. Otherwise, the existing integrator of this type is used.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] nameOfIntegrator Name of the integrator to be used.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentIntegrator (RRHandle handle, char *nameOfIntegrator);
+
+/*!
+\brief Obtain a description of the current integrator.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns a description of the current integrator.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentIntegratorName (RRHandle handle);
+
+/*!
+\brief Obtain a description of the current integrator.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns a description of the current integrator.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentIntegratorDescription (RRHandle handle);
+
+/*!
+\brief Obtain a short hint for the current integrator.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns a short hint of the current integrator.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentIntegratorHint (RRHandle handle);
+
+/*!
+\brief Get the number of adjustable settings for the current integrator.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns an integer that corresponds to the number of adjustable integrator settings.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfCurrentIntegratorParameters (RRHandle handle);
+
+/*!
+\brief Get the name of a parameter of the current integrator.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] n The index of the parameter (0 <= n < @ref getNumberOfCurrentIntegratorParameters)
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentIntegratorNthParameterName (RRHandle handle, int n);
+
+/*!
+\brief Get the description of a parameter of the current integrator.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] n The index of the parameter (0 <= n < @ref getNumberOfCurrentIntegratorParameters)
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentIntegratorNthParameterDescription (RRHandle handle, int n);
+
+/*!
+\brief Get the display name of a parameter of the current integrator.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] n The index of the parameter (0 <= n < @ref getNumberOfCurrentIntegratorParameters)
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentIntegratorNthParameterDisplayName (RRHandle handle, int n);
+
+/*!
+\brief Get the hint of a parameter of the current integrator.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] n The index of the parameter (0 <= n < @ref getNumberOfCurrentIntegratorParameters)
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentIntegratorNthParameterHint (RRHandle handle, int n);
+
+/*!
+\brief Get the type of a parameter of the current integrator.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] n The index of the parameter (0 <= n < @ref getNumberOfCurrentIntegratorParameters)
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getCurrentIntegratorNthParameterType (RRHandle handle, int n);
+
+/*!
+\brief Reset the integrator parameters to their default values.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv resetCurrentIntegratorParameters (RRHandle handle);
+
+/*!
+\brief Get the names of adjustable settings for the current integrator.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns a list that contains the names of adjustable integrator settings.
+\ingroup simopts
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getListOfCurrentIntegratorParameterNames (RRHandle handle);
+
+/*!
+\brief Get the description for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\return Returns a description for the integrator setting.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentIntegratorParameterDescription (RRHandle handle, char *parameterName);
+
+/*!
+\brief Get the hint for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\return Returns a hint for the integrator setting.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentIntegratorParameterHint (RRHandle handle, char *parameterName);
+
+/*!
+\brief Get the return type for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\return Returns a integer that indicates the return type for the integrator setting. 0-STRING, 1-BOOL, 2-INT32, 3-UINT32, 4-INT64, 5-UINT64, 6-FLOAT, 7-DOUBLE, 8-CHAR, 9-UCHAR, 10-EMPTY
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getCurrentIntegratorParameterType (RRHandle handle, char *parameterName);
+
+/*!
+\brief Get the integer value for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\return Returns an integer value for the integrator setting.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getCurrentIntegratorParameterInt (RRHandle handle, char *parameterName);
+
+/*!
+\brief Set the integer value for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\param[in] value The integer value for the integrator setting.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentIntegratorParameterInt (RRHandle handle, char *parameterName, int value);
+
+/*!
+\brief Get the unsigned integer value for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\return Returns an integer value for the integrator setting.
+\ingroup simopts
+*/
+C_DECL_SPEC unsigned int rrcCallConv getCurrentIntegratorParameterUInt (RRHandle handle, char *parameterName);
+
+/*!
+\brief Set the unsigned integer value for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\param[in] value The integer value for the integrator setting.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentIntegratorParameterUInt (RRHandle handle, char *parameterName, unsigned int value);
+
+/*!
+\brief Get the double value for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\return Returns a double value for the integrator setting.
+\ingroup simopts
+*/
+C_DECL_SPEC double rrcCallConv getCurrentIntegratorParameterDouble (RRHandle handle, char *parameterName);
+
+/*!
+\brief Set the double value for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\param[in] value The double value for the integrator setting.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentIntegratorParameterDouble (RRHandle handle, char *parameterName, double value);
+
+/*!
+\brief Get the string value for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\return Returns a string value for the integrator setting.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentIntegratorParameterString (RRHandle handle, char *parameterName);
+
+/*!
+\brief Set the string value for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\param[in] value The string value for the integrator setting.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentIntegratorParameterString (RRHandle handle, char *parameterName, char* value);
+
+/*!
+\brief Get the boolean value for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\return Returns a boolean value for the integrator setting.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getCurrentIntegratorParameterBoolean (RRHandle handle, char *parameterName);
+
+/*!
+\brief Set the boolean value for a specific integrator setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the integrator setting.
+\param[in] value The boolean value for the integrator setting.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentIntegratorParameterBoolean (RRHandle handle, char *parameterName, int value);
+
+
+/* Steady State Solvers *******************************************************/
+
+/*!
+\brief Get the number of registered steady state solvers.
+\return Returns an integer that corresponds to the number of currently registered steady state solvers.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getNumRegisteredSteadyStateSolvers ();
+
+/*!
+\brief Get the name of a registered steady state solver (e.g. cvode etc.)
+\param[in] n The index of the registered steady state solver
+\note Callee owns memory
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getRegisteredSteadyStateSolverName (int n);
+
+/*!
+\brief Get the hint of a registered steady state solver (e.g. cvode etc.)
+\param[in] n The index of the registered steady state solver
+\note Callee owns memory
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getRegisteredSteadyStateSolverHint (int n);
+
+/*!
+\brief Get the description of a registered steady state solver (e.g. cvode etc.)
+\param[in] n The index of the registered steady state solver
+\note Callee owns memory
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getRegisteredSteadyStateSolverDescription (int n);
+
+
+/*!
+\brief Specify the current steady state solver to be used for simulation.
+\description This method instantiates a new steady state solver of the given type (e.g. cvode, gillespie) if
+one does not currently exist. Otherwise, the existing steady state solver of this type is used.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] nameOfSteadyStateSolver Name of the steady state solver to be used.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentSteadyStateSolver (RRHandle handle, char *nameOfSteadyStateSolver);
+
+/*!
+\brief Obtain a description of the current steady state solver.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns a description of the current steady state solver.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSteadyStateSolverName (RRHandle handle);
+
+/*!
+\brief Obtain a description of the current steady state solver.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns a description of the current steady state solver.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSteadyStateSolverDescription (RRHandle handle);
+
+/*!
+\brief Obtain a short hint for the current steady state solver.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns a short hint of the current steady state solver.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSteadyStateSolverHint (RRHandle handle);
+
+/*!
+\brief Get the number of adjustable settings for the current steady state solver.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns an integer that corresponds to the number of adjustable steady state solver settings.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfCurrentSteadyStateSolverParameters (RRHandle handle);
+
+/*!
+\brief Get the name of a parameter of the current steady state solver.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] n The index of the parameter (0 <= n < @ref getNumberOfCurrentSteadyStateSolverParameters)
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSteadyStateSolverNthParameterName (RRHandle handle, int n);
+
+/*!
+\brief Get the display name of a parameter of the current steady state solver.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] n The index of the parameter (0 <= n < @ref getNumberOfCurrentSteadyStateSolverParameters)
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSteadyStateSolverNthParameterDisplayName (RRHandle handle, int n);
+
+/*!
+\brief Get the description of a parameter of the current steady state solver.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] n The index of the parameter (0 <= n < @ref getNumberOfCurrentSteadyStateSolverParameters)
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSteadyStateSolverNthParameterDescription (RRHandle handle, int n);
+
+/*!
+\brief Get the hint of a parameter of the current steady state solver.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] n The index of the parameter (0 <= n < @ref getNumberOfCurrentSteadyStateSolverParameters)
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSteadyStateSolverNthParameterHint (RRHandle handle, int n);
+
+/*!
+\brief Get the type of a parameter of the current steady state solver.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] n The index of the parameter (0 <= n < @ref getNumberOfCurrentSteadyStateSolverParameters)
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getCurrentSteadyStateSolverNthParameterType (RRHandle handle, int n);
+
+/*!
+\brief Reset the steady state solver parameters to their default values.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv resetCurrentSteadyStateSolverParameters (RRHandle handle);
+
+/*!
+\brief Get a string description of the type [STATIC MEMORY - DO NOT FREE]
+\description Can call on return value of e.g. @ref getCurrentSteadyStateSolverNthParameterType
+to retrieve human-readable string representation.
+\param[in] code Type code for the parameter
+\ingroup simopts
+*/
+C_DECL_SPEC const char* rrcCallConv solverTypeToString (int code);
+
+/*!
+\brief Get the names of adjustable settings for the current steady state solver.
+\param[in] handle Handle to a RoadRunner instance.
+\return Returns a list that contains the names of adjustable steady state solver settings.
+\ingroup simopts
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getListOfCurrentSteadyStateSolverParameterNames (RRHandle handle);
+
+/*!
+\brief Get the description for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\return Returns a description for the steady state solver setting.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSteadyStateSolverParameterDescription (RRHandle handle, char *parameterName);
+
+/*!
+\brief Get the hint for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\return Returns a hint for the steady state solver setting.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSteadyStateSolverParameterHint (RRHandle handle, char *parameterName);
+
+/*!
+\brief Get the return type for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\return Returns a integer that indicates the return type for the steady state solver setting. 0-STRING, 1-BOOL, 2-INT32, 3-UINT32, 4-INT64, 5-UINT64, 6-FLOAT, 7-DOUBLE, 8-CHAR, 9-UCHAR, 10-EMPTY
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getCurrentSteadyStateSolverParameterType (RRHandle handle, char *parameterName);
+
+/*!
+\brief Get the integer value for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\return Returns an integer value for the steady state solver setting.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getCurrentSteadyStateSolverParameterInt (RRHandle handle, char *parameterName);
+
+/*!
+\brief Set the integer value for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\param[in] value The integer value for the steady state solver setting.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentSteadyStateSolverParameterInt (RRHandle handle, char *parameterName, int value);
+
+/*!
+\brief Get the unsigned integer value for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\return Returns an integer value for the steady state solver setting.
+\ingroup simopts
+*/
+C_DECL_SPEC unsigned int rrcCallConv getCurrentSteadyStateSolverParameterUInt (RRHandle handle, char *parameterName);
+
+/*!
+\brief Set the unsigned integer value for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\param[in] value The integer value for the steady state solver setting.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentSteadyStateSolverParameterUInt (RRHandle handle, char *parameterName, unsigned int value);
+
+/*!
+\brief Get the double value for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\return Returns a double value for the steady state solver setting.
+\ingroup simopts
+*/
+C_DECL_SPEC double rrcCallConv getCurrentSteadyStateSolverParameterDouble (RRHandle handle, char *parameterName);
+
+/*!
+\brief Set the double value for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\param[in] value The double value for the steady state solver setting.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentSteadyStateSolverParameterDouble (RRHandle handle, char *parameterName, double value);
+
+/*!
+\brief Get the string value for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\return Returns a string value for the steady state solver setting.
+\ingroup simopts
+*/
+C_DECL_SPEC char* rrcCallConv getCurrentSteadyStateSolverParameterString (RRHandle handle, char *parameterName);
+
+/*!
+\brief Set the string value for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\param[in] value The string value for the steady state solver setting.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentSteadyStateSolverParameterString (RRHandle handle, char *parameterName, char* value);
+
+/*!
+\brief Get the boolean value for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\return Returns a boolean value for the steady state solver setting.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv getCurrentSteadyStateSolverParameterBoolean (RRHandle handle, char *parameterName);
+
+/*!
+\brief Set the boolean value for a specific steady state solver setting.
+\param[in] handle Handle to a RoadRunner instance.
+\param[in] paramterName Name of the steady state solver setting.
+\param[in] value The boolean value for the steady state solver setting.
+\return Returns True if successful.
+\ingroup simopts
+*/
+C_DECL_SPEC int rrcCallConv setCurrentSteadyStateSolverParameterBoolean (RRHandle handle, char *parameterName, int value);
+
+
+/*!
+ \brief Set the time start for a time course simulation
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart
+ \return Returns True if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv setTimeStart(RRHandle handle, double timeStart);
+
+/*!
+ \brief Set the time end for a time course simulation
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeEnd
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv setTimeEnd(RRHandle handle, double timeEnd);
+
+/*!
+ \brief Set the number of points to generate in a time course simulation
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] numberOfPoints Number of points to generate in the time course simulation
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv setNumPoints(RRHandle handle, int numberOfPoints);
+
+
+/*!
+ \brief Set the selection list for output from simulate(void) or simulateEx(void)
+
+ Use getAvailableTimeCourseSymbols(void) to retrieve the list of all possible symbols.
+
+ Example: \code setTimeCourseSelectionList ("Time, S1, J1, J2"); \endcode
+
+ or
+
+ setTimeCourseSelectionList ("Time S1 J1 J2")
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] list A string of Ids separated by spaces <b>or</b> comma characters
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv setTimeCourseSelectionList(RRHandle handle, const char* list);
+//C_DECL_SPEC bool rrcCallConv setTimeCourseSelectionList(const char* list);
+
+/*!
+ \brief Get the current selection list for simulate(void) or simulateEx(void)
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return A list of symbol Ids indicating the current selection list
+ \ingroup simulation
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getTimeCourseSelectionList(RRHandle handle);
+
+/*!
+ \brief Carry out a time-course simulation. setTimeStart, setTimeEnd,
+ setNumPoints, etc are used to set the simulation characteristics.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup simulation
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv simulate(RRHandle handle);
+
+/*!
+ \brief Retrieve the result of the last simulation.
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup simulation
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv getSimulationResult(RRHandle handle);
+
+
+/*!
+ \brief Carry out a time-course simulation based on the given arguments, time start,
+ time end and number of points.
+
+ Example:
+ \code
+    RRCDataPtr m;
+
+    double timeStart = 0.0;
+    double timeEnd = 25;
+    int numberOfPoints = 200;
+
+    m = simulateEx (rrHandle, timeStart, timeEnd, numberOfPoints);
+    \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart Time start
+ \param[in] timeEnd Time end
+ \param[in] numberOfPoints Number of points to generate
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup simulation
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv simulateEx(RRHandle handle, const double timeStart, const double timeEnd, const int numberOfPoints);
+
+/*!
+ \brief Carry out a one step integration of the model
+
+ Example: \code status = OneStep (rrHandle, currentTime, stepSize, newTime); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] currentTime The current time in the simulation
+ \param[in] stepSize The step size to use in the integration
+ \param[in] newTime The new time (currentTime + stepSize)
+
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv oneStep(RRHandle handle, const double currentTime, const double stepSize, double *value);
+
+/*!
+ \brief Get the value of the current time start
+
+ Example: \code status = getTimeStart (rrHandle, &timeStart); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[out] timeStart The current value for the time start
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv getTimeStart(RRHandle handle, double* timeStart);
+
+/*!
+ \brief Get the value of the current time end
+
+ Example: \code status = getTimeEnd (rrHandle, &timeEnd); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param timeEnd The current value for the time end
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv getTimeEnd(RRHandle handle, double* timeEnd);
+
+/*!
+ \brief Get the value of the current number of points
+
+ Example: \code status = getNumPoints (rrHandle, &numberOfPoints); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param numPoints The current value for the number of points
+ \return Returns true if successful
+ \ingroup simulation
+*/
+C_DECL_SPEC bool rrcCallConv getNumPoints (RRHandle handle, int* numPoints);
+
+/*!
+ \brief Compute the steady state of the current model
+
+ Example: \code status = steadyState (rrHandle, &closenessToSteadyState); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param value This value is set during the call and indicates how close the solution is to the steady state.
+ The smaller the value the better. Values less than 1E-6 usually indicate a steady state has been found. If necessary
+ call the method a second time to improve the solution.
+ \return Returns true if successful
+ \ingroup steadystate
+*/
+C_DECL_SPEC bool rrcCallConv steadyState(RRHandle handle, double* value);
+
+/*!
+ \brief A convenient method for returning a vector of the steady state species concentrations
+
+ Example: \code RRVectorHandle values = computeSteadyStateValues (void); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns the vector of steady state values or null if an error occurred. The order of
+ species in the vector is indicated by the order of species Ids in a call to getFloatingSpeciesIds(void)
+ \ingroup steadystate
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv computeSteadyStateValues(RRHandle handle);
+
+/*!
+ \brief Set the selection list of the steady state analysis
+
+ Use getAvailableTimeCourseSymbols(void) to retrieve the list of all possible symbols.
+
+ Example:
+
+ \code
+ setSteadyStateSelectionList ("S1, J1, J2")
+
+ or
+
+ setSteadyStateSelectionList ("S1 J1 J2")
+ \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] list The string argument should be a space separated list of symbols.
+
+ \return Returns true if successful
+ \ingroup steadystate
+*/
+C_DECL_SPEC bool rrcCallConv setSteadyStateSelectionList(RRHandle handle, const char* list);
+
+/*!
+ \brief Get the selection list for the steady state analysis
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns a list of strings representing symbols in the selection list
+ \ingroup steadystate
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getSteadyStateSelectionList(RRHandle handle);
+
+
+// --------------------------------------------------------------------------------
+// Get and Set Routines
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Get the value for a given symbol, use getAvailableTimeCourseSymbols(void) for a list of symbols
+
+ Example: \code status = getValue (rrHandle, "S1", &value); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param symbolId The symbol that we wish to obtain the value for
+ \param value The value that will be retrieved
+ \return Returns true if successful
+ \ingroup state
+*/
+C_DECL_SPEC bool rrcCallConv getValue(RRHandle handle, const char* symbolId, double* value);
+
+
+/*!
+ \brief Set the value for a given symbol, use getAvailableTimeCourseSymbols(void) for a list of symbols
+
+ Example: \code status = setValue (rrHandle, "S1", 0.5); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param symbolId The symbol that we wish to set the value
+ \param value The value that will be set to the symbol
+ \return Returns true if successful
+ \ingroup state
+*/
+C_DECL_SPEC bool rrcCallConv setValue(RRHandle handle, const char* symbolId, const double value);
+
+
+/*!
+ \brief Retrieve in a vector the concentrations for all the floating species
+
+ Example: \code RRVectorPtr values = getFloatingSpeciesConcentrations (void); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns the vector of floating species concentrations or null if an error occurred
+ \ingroup floating
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getFloatingSpeciesConcentrations(RRHandle handle);
+
+
+/*!
+ \brief Retrieve the concentrations for all the boundary species in a vector
+
+ Example: \code RRVectorPtr values = getBoundarySpeciesConcentrations (void); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns the vector of boundary species concentrations or null if an error occurred
+ \ingroup boundary
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getBoundarySpeciesConcentrations(RRHandle handle);
+
+// --------------------------------------------------------------------------------
+// Parameter Group
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Retrieve the values for all the global parameter values in a vector
+
+ Example: \code RRVectorPtr values = getGlobalParameterValues (void); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns the vector of global parameter values or null if an error occurred
+ \ingroup parameters
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getGlobalParameterValues(RRHandle handle);
+
+/*!
+ \brief Set the concentration for a particular boundary species.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the boundary species (corresponds to position in getBoundarySpeciesIds(void))
+ \param value The concentration of the species to set
+ \return Returns true if successful
+ \ingroup boundary
+*/
+C_DECL_SPEC bool rrcCallConv setBoundarySpeciesByIndex(RRHandle handle, const int index, const double value);
+
+/*!
+ \brief Set the initial concentration for a particular floating species.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the floating species (corresponds to position in getFloatingSpeciesIds(RRHandle handle))
+ \param value The concentration of the species to set
+ \return Returns true if successful
+ \ingroup floating
+*/
+C_DECL_SPEC bool rrcCallConv setFloatingSpeciesInitialConcentrationByIndex(RRHandle handle, int index, double value);
+
+/*!
+ \brief Get the initial concentration for a particular floating species.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the floating species (corresponds to position in getFloatingSpeciesIds(RRHandle handle))
+ \param[in] value The concentration of the species
+ \return Returns true if successful
+ \ingroup floating
+*/
+C_DECL_SPEC bool rrcCallConv getFloatingSpeciesInitialConcentrationByIndex(RRHandle handle, int index, double* value);
+
+/*!
+ \brief Set the concentration for a particular floating species.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the floating species (corresponds to position in getFloatingSpeciesIds(RRHandle handle))
+ \param value The concentration of the species to set
+ \return Returns true if successful
+ \ingroup floating
+*/
+C_DECL_SPEC bool rrcCallConv setFloatingSpeciesByIndex(RRHandle handle, const int index, const double value);
+
+/*!
+ \brief Set the value for a particular global parameter
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the global parameter (corresponds to position in getGlobalParameterIds(RRHandle handle))
+ \param value The value of the parameter to set
+ \return Returns true if successful
+ \ingroup parameters
+*/
+C_DECL_SPEC bool rrcCallConv setGlobalParameterByIndex(RRHandle handle, const int index, const double value);
+
+/*!
+ \brief Retrieve the concentration for a particular floating species.
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the boundary species (corresponds to position in getBoundarySpeciesIds(RRHandle handle))
+ \param value The value returned by the method
+ \return Returns true if successful
+ \ingroup boundary
+*/
+C_DECL_SPEC bool rrcCallConv getBoundarySpeciesByIndex(RRHandle handle, const int index, double* value);
+
+/*!
+ \brief Retrieve the concentration for a particular floating species.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the floating species (corresponds to position in getFloatingSpeciesIds(RRHandle handle))
+ \param value The value returned by the method
+ \return Returns true if successful
+ \ingroup floating
+*/
+C_DECL_SPEC bool rrcCallConv getFloatingSpeciesByIndex(RRHandle handle, const int index, double* value);
+
+/*!
+ \brief Retrieve the global parameter value
+ \param[in] handle Handle to a RoadRunner instance
+ \param index The index to the global parameter (corresponds to position in getGlobalParametersIds(RRHandle handle))
+ \param value The value returned by the method
+ \return Returns true if successful, false otherwise
+ \ingroup parameters
+*/
+C_DECL_SPEC bool rrcCallConv getGlobalParameterByIndex(RRHandle handle, const int index, double* value);
+
+/*!
+ \brief Retrieve the compartment volume for a particular compartment.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] index The index to the compartment (corresponds to position in getCompartmentIds(RRHandle handle))
+ \param[in] value The value returned by the method
+ \return Returns true if successful, false otherwise
+ \ingroup compartment
+*/
+C_DECL_SPEC bool rrcCallConv getCompartmentByIndex (RRHandle handle, const int index, double* value);
+
+
+/*!
+ \brief Set the volume for a particular compartment
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] index The index to the compartment (corresponds to position in getCompartmentIds(RRHandle handle))
+ \param[in] value The volume of the compartment to set
+ \return Returns true if successful, false otherwise
+ \ingroup compartment
+*/
+C_DECL_SPEC bool rrcCallConv setCompartmentByIndex (RRHandle handle, const int index, const double value);
+
+
+/*!
+ \brief Set the floating species concentration to the vector vec
+
+ Example:
+
+ \code
+ myVector = createVector (getNumberOfFloatingSpecies(RRHandle handle));
+ setVectorElement (myVector, 0, 1.2);
+ setVectorElement (myVector, 1, 5.7);
+ setVectorElement (myVector, 2, 3.4);
+ setFloatingSpeciesConcentrations(myVector);
+ \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] vec Pointer to a RRVector
+ \return Returns true if successful
+ \ingroup floating
+*/
+C_DECL_SPEC bool rrcCallConv setFloatingSpeciesConcentrations(RRHandle handle, const RRVectorPtr vec);
+
+/*!
+ \brief Set the boundary species concentration to the vector vec
+
+ Example:
+
+ \code
+ myVector = createVector (getNumberOfBoundarySpecies(RRHandle handle));
+ setVectorElement (myVector, 0, 1.2);
+ setVectorElement (myVector, 1, 5.7);
+ setVectorElement (myVector, 2, 3.4);
+ setBoundarySpeciesConcentrations(myVector);
+\endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param vec A vector of boundary species concentrations
+ \return Returns true if successful
+ \ingroup boundary
+*/
+C_DECL_SPEC bool rrcCallConv setBoundarySpeciesConcentrations(RRHandle handle, const RRVectorPtr vec);
+
+
+/*!
+ \brief Retrieve the full Jacobian for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns the full Jacobian matrix
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getFullJacobian(RRHandle handle);
+
+/*!
+ \brief Retrieve the reduced Jacobian for the current model
+
+ setComputeAndAssignConservationLaws (true) must be enabled.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns the reduced Jacobian matrix
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getReducedJacobian(RRHandle handle);
+
+/*!
+ \brief Retrieve the eigenvalue matrix for the current model
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of eigenvalues.
+ The first column will contain the real values and the second column the imaginary values
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getEigenvalues(RRHandle handle);
+
+
+// --------------------------------------------------------------------------------
+// Stoichiometry methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Retrieve the stoichiometry matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns the stoichiometry matrix.
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getStoichiometryMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the Link matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns the Link matrix.
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getLinkMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the reduced stoichiometry matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns reduced stoichiometry matrix
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getNrMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the conservation matrix for the current model.
+
+ The conservation laws as describe by row where the columns indicate the species Id.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns the conservation matrix.
+ \ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getConservationMatrix(RRHandle handle);
+
+// --------------------------------------------------------------------------------
+// Initial condition Methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Set the initial floating species concentrations
+
+ Example: \code status = setFloatingSpeciesInitialConcentrations (vec); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param vec A vector of species concentrations: order given by getFloatingSpeciesIds(RRHandle handle)
+ \return Returns true if successful
+ \ingroup initialConditions
+*/
+C_DECL_SPEC bool rrcCallConv setFloatingSpeciesInitialConcentrations (RRHandle handle, const RRVectorPtr vec);
+
+/*!
+ \brief Get the initial floating species concentrations
+
+ Example: \code vec = getFloatingSpeciesInitialConcentrations (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails otherwise returns a vector containing the initial conditions
+ \ingroup initialConditions
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getFloatingSpeciesInitialConcentrations (RRHandle handle);
+
+/*!
+ \deprecated Use @ref getFloatingSpeciesInitialConcentrationIds
+ \brief Get the initial floating species Ids
+
+ Example: \code vec = getFloatingSpeciesInitialConditionIds (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails otherwise returns a vector containing names of the floating species
+ \ingroup initialConditions
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getFloatingSpeciesInitialConditionIds(RRHandle handle);
+
+/*!
+ \brief Get the initial floating species Ids
+
+ Example: \code vec = getFloatingSpeciesInitialConcentrationIds (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails otherwise returns a vector containing names of the floating species
+ \ingroup initialConditions
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getFloatingSpeciesInitialConcentrationIds(RRHandle handle);
+
+
+// --------------------------------------------------------------------------------
+// Reaction rates
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Obtain the number of reactions in the loaded model
+
+ Example: \code number = getNumberOfReactions (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns -1 if it fails, if successful it return 0 or more, indicating the number of reactions
+ \ingroup reaction
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfReactions(RRHandle handle);
+
+
+/*!
+ \brief Retrieve a give reaction rate as indicated by the index parameter
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param index - The index is used to specify which reaction rate to retrieve
+ \param rate - The reaction rate is returned in the rate argument
+ \return Returns false if it fails
+ \ingroup reaction
+*/
+C_DECL_SPEC bool rrcCallConv getReactionRate(RRHandle handle, const int index, double* rate);
+
+
+/*!
+ \brief Retrieve a vector of reaction rates as determined by the current state of the model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise it returns a vector of reaction rates
+ \ingroup reaction
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getReactionRates(RRHandle handle);
+
+
+/*!
+ \brief Retrieve a vector of reaction rates given a vector of species concentrations
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param vec The vector of floating species concentrations
+ \return Returns null if it fails otherwise it returns a vector of reaction rates
+ \ingroup reaction
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getReactionRatesEx (RRHandle handle, const RRVectorPtr vec);
+
+
+/*!
+ \brief Retrieve the vector of rates of change as determined by the current state of the model
+
+ Example: \code values = getRatesOfChange (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a vector of rates of change values
+ \ingroup rateOfChange
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getRatesOfChange(RRHandle handle);
+
+/*!
+ \brief Retrieve the string list of rates of change Ids
+
+ Example: \code Ids = getRatesOfChangeIds (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a list of rates of change Ids
+ \ingroup rateOfChange
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getRatesOfChangeIds(RRHandle handle);
+
+
+/*!
+ \brief Retrieve the rate of change for a given floating species
+
+ Example: \code status = getRateOfChange (&index, *value); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[out] value Pointer to double, holding the rate of change
+ \return Returns false if it fails, otherwise value contains the rate of change.
+ \ingroup rateOfChange
+*/
+C_DECL_SPEC bool rrcCallConv getRateOfChange(RRHandle handle, const int, double* value);
+
+
+/*!
+ \brief Retrieve the vector of rates of change given a vector of floating species concentrations
+
+ Example: \code values = getRatesOfChangeEx (vector); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] vec Vector handle holding rates of change
+ \return Returns null if it fails
+ \ingroup rateOfChange
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv getRatesOfChangeEx (RRHandle handle, const RRVectorPtr vec);
+
+/*!
+ \brief Evaluate the current model, that it update all assignments and rates of change. Do not carry out an integration step
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns false if it fails
+ \ingroup state
+*/
+C_DECL_SPEC bool rrcCallConv evalModel(RRHandle handle);
+
+// Get number family
+/*!
+ \brief Returns the number of compartments in the model
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns number of compartments
+ \ingroup compartment
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfCompartments (RRHandle handle);
+
+
+/*!
+ \brief Returns the number of boundary species in the model
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup boundary
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfBoundarySpecies(RRHandle handle);
+
+
+/*!
+ \brief Returns the number of floating species in the model
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup floating
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfFloatingSpecies(RRHandle handle);
+
+
+/*!
+ \brief Returns the number of global parameters in the model
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup parameters
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfGlobalParameters(RRHandle handle);
+
+// --------------------------------------------------------------------------------
+// Get number family
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Returns the number of dependent species in the model
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup floating
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfDependentSpecies(RRHandle handle);
+
+
+/*!
+ \brief Returns the number of independent species in the model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \ingroup floating
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfIndependentSpecies(RRHandle handle);
+
+// --------------------------------------------------------------------------------
+// Get Ids family
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Obtain the list of reaction Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup reaction
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getReactionIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of boundary species Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup boundary
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getBoundarySpeciesIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of floating species Id
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup floating
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getFloatingSpeciesIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of global parameter Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup parameters
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getGlobalParameterIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of compartment Ids
+
+ Example: \code str = getCompartmentIds (RRHandle handle); \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns -1 if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup compartment
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getCompartmentIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of eigenvalue Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns -1 if it fails, if successful it returns a pointer to a RRStringArrayPtr struct
+ \ingroup state
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getEigenvalueIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of all available symbols
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns -1 if it fails, if successful it returns a pointer to a RRListHandle struct
+ \ingroup state
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getAvailableTimeCourseSymbols(RRHandle handle);
+
+/*!
+ \brief Obtain the list of all available steady state symbols
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns -1 if it fails, if successful it returns a pointer to a RRListPtr struct
+ \ingroup state
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getAvailableSteadyStateSymbols(RRHandle handle);
+
+// --------------------------------------------------------------------------------
+// MCA methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Obtain the list of elasticity coefficient Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a list
+ \ingroup mca
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getElasticityCoefficientIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of unscaled flux control coefficient Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a list of Ids
+ \ingroup mca
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getUnscaledFluxControlCoefficientIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of flux control coefficient Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a list of Ids
+ \ingroup mca
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getFluxControlCoefficientIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of unscaled concentration control coefficient Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a list of Ids
+ \ingroup mca
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getUnscaledConcentrationControlCoefficientIds(RRHandle handle);
+
+/*!
+ \brief Obtain the list of concentration coefficient Ids
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, if successful it returns a list of Ids
+ \ingroup mca
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getConcentrationControlCoefficientIds(RRHandle handle);
+
+/*!
+ \brief Retrieve the unscaled elasticity matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns nil if it fails, otherwise returns a matrix of unscaled elasticities
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getUnscaledElasticityMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the scaled elasticity matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of scaled elasticities.
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getScaledElasticityMatrix(RRHandle handle);
+
+
+/*!
+ \brief Retrieve the scaled elasticity matrix for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] reactionId The reaction Id for computing the elasticity
+ \param[in] speciesId The floating species to compute the elasticity for
+ \param[out] value The return value for the elasticity
+ \return Returns false if it fails
+ \ingroup mca
+*/
+C_DECL_SPEC bool rrcCallConv getScaledFloatingSpeciesElasticity(RRHandle handle, const char* reactionId, const char* speciesId, double* value);
+
+/*!
+ \brief Retrieve the matrix of unscaled concentration control coefficients for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of unscaled concentration control coefficients
+ The first column will contain the real values and the second column the imaginary values
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getUnscaledConcentrationControlCoefficientMatrix(RRHandle handle);
+
+
+/*!
+ \brief Retrieve the matrix of scaled concentration control coefficients for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of scaled concentration control coefficients
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getScaledConcentrationControlCoefficientMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the matrix of unscaled flux control coefficients for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of unscaled flux control coefficients
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getUnscaledFluxControlCoefficientMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve the matrix of scaled flux control coefficients for the current model
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns null if it fails, otherwise returns a matrix of scaled flux control coefficients
+ \ingroup mca
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getScaledFluxControlCoefficientMatrix(RRHandle handle);
+
+/*!
+ \brief Retrieve a single unscaled control coefficient
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] variable This is the dependent variable of the coefficient, for example a flux or species concentration
+ \param[in] parameter This is the independent parameter, for example a kinetic constant or boundary species
+ \param[out] value This is the value of the unscaled control coefficient returns to the caller
+ \return Returns true if successful
+ \ingroup mca
+*/
+C_DECL_SPEC bool rrcCallConv getuCC (RRHandle handle, const char* variable, const char* parameter, double* value);
+
+/*!
+ \brief Retrieve a single control coefficient
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] variable This is the dependent variable of the coefficient, for example a flux or species concentration
+ \param[in] parameter This is the independent parameter, for example a kinetic constant or boundary species
+ \param[out] value This is the value of the control coefficient returns to the caller
+ \return Returns true if successful
+ \ingroup mca
+*/
+C_DECL_SPEC bool  rrcCallConv getCC (RRHandle handle, const char* variable, const char* parameter, double* value);
+
+/*!
+ \brief Retrieve a single elasticity coefficient
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] name This is the reaction variable for the elasticity
+ \param[in] species This is the independent parameter, for example a floating of boundary species
+ \param[out] value This is the value of the elasticity coefficient returns to the caller
+ \return Returns true if successful
+ \ingroup mca
+*/
+C_DECL_SPEC bool rrcCallConv getEE(RRHandle handle, const char* name, const char* species, double* value);
+
+/*!
+ \brief Retrieve a single unscaled elasticity coefficient
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] name This is the reaction variable for the unscaled elasticity
+ \param[in] species This is the independent parameter, for example a floating of boundary species
+ \param[out] value This is the value of the unscaled elasticity coefficient returns to the caller
+ \return Returns true if successful
+ \ingroup mca
+*/
+C_DECL_SPEC bool rrcCallConv getuEE(RRHandle handle, const char* name, const char* species, double* value);
+
+// --------------------------------------------------------------------------------
+// Stochastic methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Determine the current seed used by the random generator
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[out] seed This is the value of the current seed, returned to the caller
+ \return Returns true if successful
+ \ingroup stochastic
+*/
+C_DECL_SPEC bool rrcCallConv getSeed(RRHandle handle, long* seed);
+
+/*!
+ \brief Set the current seed used by the random generator
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[out] seed This is the value the caller will set the seed to
+ \return Returns true if successful
+ \ingroup stochastic
+*/
+C_DECL_SPEC bool rrcCallConv setSeed(RRHandle handle, long seed);
+
+/*!
+ \brief Carry out a time-course simulation using the Gillespie algorithm with
+ variable step size. setTimeStart, setTimeEnd, etc are used to set the simulation
+ characteristics.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespie(RRHandle handle);
+
+/*!
+ \brief Carry out a time-course simulation using the Gillespie algorithm based
+ on the given arguments, time start, time end and number of points.
+
+ Example:
+ \code
+    RRCDataPtr m;
+
+    double timeStart = 0.0;
+    double timeEnd = 25;
+
+    m = gillespieEx (rrHandle, timeStart, timeEnd);
+    \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart Time start
+ \param[in] timeEnd Time end
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieEx(RRHandle handle, double timeStart, double timeEnd);
+
+/*!
+ \brief Carry out a time-course simulation using the Gillespie algorithm with
+ fixed step size. setTimeStart, setTimeEnd, setNumPoints, etc are used to set
+ the simulation characteristics.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieOnGrid(RRHandle handle);
+
+/*!
+ \brief Carry out a time-course simulation using the Gillespie algorithm with
+ fixed step size based on the given arguments, time start, time end, and
+ number of points.
+
+ Example:
+ \code
+    RRCDataPtr m;
+
+    double timeStart = 0.0;
+    double timeEnd = 25;
+    int numberOfPoints = 200;
+
+    m = gillespieOnGridEx (rrHandle, timeStart, timeEnd, numberOfPoints);
+    \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart Time start
+ \param[in] timeEnd Time end
+ \param[in] numberOfPoints Fixed number of points to generate
+ \return Returns an array (RRCDataPtr) of columns containing the results of the
+ simulation including string labels for the individual columns. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfPoints);
+
+/*!
+ \brief Carry out a series of time-course simulations using the Gillespie
+ algorithm with fixed step size, then return the average of the simulations.
+ setTimeStart, setTimeEnd, setNumPoints, etc are used to set the simulation
+ characteristics.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] numberOfSimulations Number of simulations to perform
+ \return Returns an array (RRCDataPtr) of columns containing the average of the
+ results of the simulations including string labels for the individual columns.
+ The client is responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanOnGrid(RRHandle handle, int numberOfSimulations);
+
+/*!
+ \brief Carry out a series of time-course simulations using the Gillespie
+ algorithm with fixed step size, then return the average of the simulations.
+ Based on the given arguments, time start, time end, and number of points.
+
+ Example:
+ \code
+    RRCDataPtr m;
+
+    double timeStart = 0.0;
+    double timeEnd = 25;
+    int numberOfPoints = 200;
+    int numberOfSimulations = 10;
+
+    m = gillespieMeanOnGridEx (rrHandle, timeStart, timeEnd, numberOfPoints, numberOfSimulations);
+    \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart Time start
+ \param[in] timeEnd Time end
+ \param[in] numberOfPoints Fixed number of points to generate
+ \param[in] numberOfSimulations Number of simulations to perform
+ \return Returns an array (RRCDataPtr) of columns containing the average of the
+ results of the simulation including string labels for the individual columns.
+ The client is responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfPoints, int numberOfSimulations);
+
+/*!
+ \brief Carry out a series of time-course simulations using the Gillespie
+ algorithm with fixed step size, then return the average and standard
+ deviation of the simulations. setTimeStart, setTimeEnd, setNumPoints, etc
+ are used to set the simulation characteristics.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] numberOfSimulations Number of simulations to perform
+ \return Returns an array (RRCDataPtr) of columns containing the average of the
+ results of the simulations including string labels for the individual columns.
+ The averages are in Data and the standard deviations are in Weights.
+ The client is responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanSDOnGrid(RRHandle handle, int numberOfSimulations);
+
+
+/*!
+ \brief Carry out a series of time-course simulations using the Gillespie
+ algorithm with fixed step size, then return the average and standard deviation
+ of the simulations. Based on the given arguments, time start, time end, number
+ of points, and number of simulations.
+
+ Example:
+ \code
+    RRCDataPtr m;
+
+    double timeStart = 0.0;
+    double timeEnd = 25;
+    int numberOfPoints = 200;
+    int numberOfSimulations = 10;
+
+    m = gillespieMeanSDOnGridEx (rrHandle, timeStart, timeEnd, numberOfPoints, numberOfSimulations);
+    \endcode
+
+ \param[in] handle Handle to a RoadRunner instance
+ \param[in] timeStart Time start
+ \param[in] timeEnd Time end
+ \param[in] numberOfPoints Fixed number of points to generate
+ \param[in] numberOfSimulations Number of simulations to perform
+ \return Returns an array (RRCDataPtr) of columns containing the average of the
+ results of the simulation including string labels for the individual columns. The
+ average values are in Data and the standard deviations are in Weights. The client is
+ responsible for freeing the resulting RRCDataPtr structure.
+ \ingroup stochastic
+*/
+C_DECL_SPEC RRCDataPtr rrcCallConv gillespieMeanSDOnGridEx(RRHandle handle, double timeStart, double timeEnd, int numberOfSteps, int numberOfSimulations);
+
+// --------------------------------------------------------------------------------
+// Reset methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Resets all variables of the model to their current initial values.
+ Does not change the parameters.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Boolean indicating success
+ \ingroup reset
+*/
+C_DECL_SPEC bool rrcCallConv reset(RRHandle handle);
+
+/*!
+ \brief Resets all variables of the model to their current initial values,
+ and resets all parameters to their original values.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Boolean indicating success
+ \ingroup reset
+*/
+C_DECL_SPEC bool rrcCallConv resetAll(RRHandle handle);
+
+/*!
+ \brief Resets the model to the state in which it was first loaded, including
+ initial conditions, variables, and parameters.
+
+ \param[in] handle Handle to a RoadRunner instance
+ \return Boolean indicating success
+ \ingroup reset
+*/
+C_DECL_SPEC bool rrcCallConv resetToOrigin(RRHandle handle);
+
+/*!
+ \brief Set a boolean configuration value
+
+ \param[in] key The configuration key
+ \param[in] value The value to assign to the configuration key
+ \return Returns positive if successful
+ \ingroup config
+*/
+C_DECL_SPEC int rrcCallConv setConfigBool(const char* key, int value);
+
+/*!
+ \brief Get a boolean configuration value
+
+ \param[in] key The configuration key
+ \note On error, sets an error message which can be retrieved via @ref getLastError
+ \ingroup config
+*/
+C_DECL_SPEC int rrcCallConv getConfigBool(const char* key);
+
+/*!
+ \brief Set an integer configuration value
+
+ \param[in] key The configuration key
+ \param[in] value The value to assign to the configuration key
+ \return Returns positive if successful
+ \ingroup config
+*/
+C_DECL_SPEC int rrcCallConv setConfigInt(const char* key, int value);
+
+/*!
+ \brief Get an integer configuration value
+
+ \param[in] key The configuration key
+ \note On error, sets an error message which can be retrieved via @ref getLastError
+ \ingroup config
+*/
+C_DECL_SPEC int rrcCallConv getConfigInt(const char* key);
+
+/*!
+ \brief Set a double configuration value
+
+ \param[in] key The configuration key
+ \param[in] value The value to assign to the configuration key
+ \return Returns positive if successful
+ \ingroup config
+*/
+C_DECL_SPEC int rrcCallConv setConfigDouble(const char* key, double value);
+
+/*!
+ \brief Get a double configuration value
+
+ \param[in] key The configuration key
+ \note On error, sets an error message which can be retrieved via @ref getLastError
+ \ingroup config
+*/
+C_DECL_SPEC double rrcCallConv getConfigDouble(const char* key);
+
+/*!
+ \brief Get a list of all possible config keys
+
+ \ingroup config
+*/
+C_DECL_SPEC RRStringArrayPtr rrcCallConv getListOfConfigKeys();
+
+#if defined( __cplusplus)
+}
+}//namespace
+
+#endif
+
+#endif
+/*! \mainpage RoadRunner C API Library
+ *
+ * \section intro_sec Introduction
+ *
+ * RoadRunner is a SBML compliant high performance and portable simulation engine
+ * for systems and synthetic biology. To run a simple SBML model
+ * and generate time series data we would write the following code:
+ *
+ \code
+#undef __cplusplus
+#define STATIC_RRC
+#include <stdio.h>
+#include <stdlib.h>
+#include "rrc_api.h"
+#include "rrc_types.h"
+#include "rrc_utilities.h"
+int main (int argc, char *argv[]) {
+    RRHandle rrHandle;
+    RRCDataPtr result;
+
+    printf ("Starting Test Program %s\n", argv[0]);
+    rrHandle = createRRInstance();
+    if (!loadSBMLFromFile (rrHandle, "feedback.xml")) {
+        printf ("Failed to load model: %s\n", getLastError ());
+        getchar ();
+        exit (0);
+    }
+    result = simulateEx (rrHandle, 0, 10, 100);
+    printf (rrDataToString (result));
+    freeRRCData(result);
+
+    getchar ();
+    exit (0);
+}
+ \endcode
+
+More complex example, using C API:
+\code
+#undef __cplusplus
+#define STATIC_RRC
+#include <stdio.h>
+#include <stdlib.h>
+#include "rrc_api.h"
+#include "rrc_types.h"
+#include "rrc_utilities.h"
+int main (int argc, char *argv[]) {
+   RRHandle rrHandle;
+   RRCDataPtr result;
+   int index;
+   int col;
+   int row;
+   printf ("Starting Test Program %s\n", argv[0]);
+   rrHandle = createRRInstance();
+   if (!loadSBML (rrHandle, "feedback.xml")) {
+      printf ("Error while loading SBML file\n");
+      printf ("Error message: %s\n", getLastError());
+      getchar ();
+      exit (0);
+   }
+   result = simulateEx (rrHandle, 0, 10, 10);  // start time, end time, and number of points
+   index = 0;
+   // Print out column headers... typically time and species.
+   for (col = 0; col < result->CSize; col++)
+   {
+      printf ("%10s", result->ColumnHeaders[index++]);
+      if (col < result->CSize - 1)
+      {
+         printf ("\t");
+      }
+   }
+   printf ("\n");
+   index = 0;
+   // Print out the data
+   for (row = 0; row < result->RSize; row++)
+   {
+      for (col = 0; col < result->CSize; col++)
+      {
+         printf ("%10f", result->Data[index++]);
+         if (col < result->CSize -1)
+         {
+            printf ("\t");
+         }
+      }
+   printf ("\n");
+   }
+   //Cleanup
+   freeRRCData (result);
+   freeRRInstance (rrHandle);
+   getchar ();
+   exit (0);
+
+\endcode
+
+Would create output as shown below:
+
+\code
+Starting Test Program: <File path Here>
+Notice: Creating C based model generator using ..\compilers\tcc\tcc.exe compiler.
+     time            [S1]            [S2]            [S3]            [S4]
+ 0.000000        0.000000        0.000000        0.000000        0.000000
+ 1.111111        3.295975        1.677255        1.121418        1.074708
+ 2.222222        0.971810        1.658970        1.841065        2.192728
+ 3.333333        0.137340        0.501854        1.295138        2.444883
+ 4.444445        0.141470        0.200937        0.549172        1.505662
+ 5.555556        1.831017        1.317792        1.129982        1.351300
+ 6.666667        0.306310        0.775477        1.304950        1.952076
+ 7.777778        0.193459        0.268986        0.628542        1.483161
+ 8.888889        1.566864        1.219950        1.105718        1.370199
+10.000000        0.269437        0.678127        1.199353        1.868247
+
+\endcode
+ * \section install_sec Installation
+ *
+ * Installation documentation is provided at libRoadRunner.org.
+
+ * \section license_sec License
+ * Copyright (C) 2012
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+
+
+ \defgroup initialization Library initialization and termination methods
+ \brief Initialize library and terminate library instance
+
+ \defgroup loadsave Read and write models
+ \brief Read and write models to files or strings. Support for SBML formats.
+
+ \defgroup utility Utility functions
+ \brief Various miscellaneous routines that return useful information about the library
+
+ \defgroup errorfunctions Error handling functions
+ \brief Error handling routines
+
+ \defgroup logging Logging functionality
+ \brief RoadRunner logging routines
+
+ \defgroup state Current state of system
+ \brief Compute derivatives, fluxes, and other values of the system at the current state
+
+ \defgroup simulation Time-course simulation
+ \brief Deterministic, stochastic, and hybrid simulation algorithms
+
+ \defgroup steadystate Steady state routines
+ \brief Compute and obtain basic information about the steady state
+
+ \defgroup reaction Reaction group
+ \brief Get information about reaction rates
+
+ \defgroup rateOfChange Rates of change group
+ \brief Get information about rates of change
+
+ \defgroup boundary Boundary species group
+ \brief Get information about boundary species
+
+ \defgroup floating Floating species group
+ \brief Get information about floating species
+
+ \defgroup initialConditions Initial conditions group
+ \brief Set or get initial conditions
+
+ \defgroup parameters Parameters group
+ \brief Set and get global and local parameters
+
+ \defgroup compartment Compartment group
+ \brief Set and Get information on compartments
+
+ \defgroup mca Metabolic control analysis
+ \brief Calculate control coefficients and sensitivities
+
+ \defgroup stochastic Stochastic simulations
+ \brief Stochastic simulation algorithms
+
+ \defgroup Stoich Stoichiometry analysis
+ \brief Linear algebra based methods for analyzing a reaction network
+
+ \defgroup NOM Network object model (NOM) functions
+ \brief Network object model functions
+
+ \defgroup LinearAlgebra Linear algebra functions
+ \brief Linear algebra utility functions
+
+ \defgroup list List handling routines
+ \brief Some methods return lists (heterogeneous arrays of data),
+ these routines make it easier to manipulate lists
+
+ \defgroup helperRoutines Helper routines
+ \brief Helper routines for accessing the various C API types, eg lists and arrays
+
+ \defgroup toString ToString routines
+ \brief Render various result data types as strings
+
+ \defgroup stringArray StringArray routines
+ \brief Utility routines to deal with the string array type
+
+ \defgroup freeRoutines Free memory routines
+ \brief Routines that should be used to free various data structures generated during the course of using the library
+
+ \defgroup reset Reset methods
+ \brief Methods for resetting instances to various initial states
+
+ \defgroup simopts Solver options API
+ \brief Reflective API for interacting with steady state solvers and integrators
+
+ \defgroup config Configuration keys/values
+ \brief Loads and sets configuration options
+*/
+
+
diff --git a/wrappers/C/rrc_api_cdecl.def b/wrappers/C/rrc_api_cdecl.def
new file mode 100644
index 0000000..765b002
--- /dev/null
+++ b/wrappers/C/rrc_api_cdecl.def
@@ -0,0 +1,195 @@
+LIBRARY     RRC_API.DLL
+
+
+EXPORTS
+getFileContent                                  = _getFileContent
+addItem                                         = _addItem
+compileSource                                   = _compileSource
+computeSteadyStateValues                        = _computeSteadyStateValues
+createDoubleItem                                = _createDoubleItem
+createIntegerItem                               = _createIntegerItem
+createListItem                                  = _createListItem
+createRRInstance                                = _createRRInstance
+createRRInstanceEx                              = _createRRInstanceEx
+createRRInstances                               = _createRRInstances
+createRRCData                                   = _createRRCData
+createRRList                                    = _createRRList
+createRRMatrix                                  = _createRRMatrix
+createStringItem                                = _createStringItem
+createVector                                    = _createVector
+enableLoggingToConsole                          = _enableLoggingToConsole
+disableLoggingToConsole                         = _disableLoggingToConsole
+enableLoggingToFile                             = _enableLoggingToFile
+disableLoggingToFile                            = _disableLoggingToFile
+evalModel                                       = _evalModel
+freeCCode                                       = _freeCCode
+freeMatrix                                      = _freeMatrix
+freeRRInstance                                  = _freeRRInstance
+freeRRInstances                                 = _freeRRInstances
+freeRRList                                      = _freeRRList
+freeRRData                                      = _freeRRData
+freeStringArray                                 = _freeStringArray
+freeText                                        = _freeText
+freeVector                                      = _freeVector
+getAvailableSteadyStateSymbols                  = _getAvailableSteadyStateSymbols
+getAvailableTimeCourseSymbols                   = _getAvailableTimeCourseSymbols
+getBoundarySpeciesByIndex                       = _getBoundarySpeciesByIndex
+getBoundarySpeciesConcentrations                = _getBoundarySpeciesConcentrations
+getBoundarySpeciesIds                           = _getBoundarySpeciesIds
+getBuildDate                                    = _getBuildDate
+getBuildDateTime                                = _getBuildDateTime
+getBuildTime                                    = _getBuildTime
+getCC                                           = _getCC
+getCCode                                        = _getCCode
+getCCodeHeader                                  = _getCCodeHeader
+getCCodeSource                                  = _getCCodeSource
+getCSourceFileName                              = _getCSourceFileName
+getConfigurationXML                             = _getConfigurationXML
+setConfigurationXML                             = _setConfigurationXML
+getCompartmentByIndex                           = _getCompartmentByIndex
+getCompartmentIds                               = _getCompartmentIds
+getCompilerLocation                             = _getCompilerLocation
+getConcentrationControlCoefficientIds           = _getConcentrationControlCoefficientIds
+getConservationMatrix                           = _getConservationMatrix
+getCopyright                                    = _getCopyright
+getCurrentSBML                                  = _getCurrentSBML
+getDoubleListItem                               = _getDoubleListItem
+getEE                                           = _getEE
+getEigenvalueIds                                = _getEigenvalueIds
+getEigenvalues                                  = _getEigenvalues
+getEigenvaluesVector                            = _getEigenvaluesVector
+getEigenvaluesMatrix                            = _getEigenvaluesMatrix
+getElasticityCoefficientIds                     = _getElasticityCoefficientIds
+getFloatingSpeciesByIndex                       = _getFloatingSpeciesByIndex
+getFloatingSpeciesConcentrations                = _getFloatingSpeciesConcentrations
+getFloatingSpeciesIds                           = _getFloatingSpeciesIds
+getFloatingSpeciesInitialConcentrations         = _getFloatingSpeciesInitialConcentrations
+getFloatingSpeciesInitialConcentrationByIndex   = _getFloatingSpeciesInitialConcentrationByIndex
+setFloatingSpeciesInitialConcentrationByIndex   = _setFloatingSpeciesInitialConcentrationByIndex
+getFloatingSpeciesInitialConditionIds           = _getFloatingSpeciesInitialConditionIds
+getFluxControlCoefficientIds                    = _getFluxControlCoefficientIds
+getFullJacobian                                 = _getFullJacobian
+getGlobalParameterByIndex                       = _getGlobalParameterByIndex
+getGlobalParameterIds                           = _getGlobalParameterIds
+getGlobalParameterValues                        = _getGlobalParameterValues
+getInfo                                         = _getInfo
+getInstallFolder                                = _getInstallFolder
+getIntegerListItem                              = _getIntegerListItem
+getL0Matrix                                     = _getL0Matrix
+getLastError                                    = _getLastError
+getLinkMatrix                                   = _getLinkMatrix
+getList                                         = _getList
+getListItem                                     = _getListItem
+getListLength                                   = _getListLength
+getLogFileName                                  = _getLogFileName
+getLogLevel                                     = _getLogLevel
+getMatrixElement                                = _getMatrixElement
+getMatrixNumCols                                = _getMatrixNumCols
+getMatrixNumRows                                = _getMatrixNumRows
+getNrMatrix                                     = _getNrMatrix
+getNumPoints                                    = _getNumPoints
+getNumberOfBoundarySpecies                      = _getNumberOfBoundarySpecies
+getNumberOfCompartments                         = _getNumberOfCompartments
+getNumberOfDependentSpecies                     = _getNumberOfDependentSpecies
+getNumberOfFloatingSpecies                      = _getNumberOfFloatingSpecies
+getNumberOfGlobalParameters                     = _getNumberOfGlobalParameters
+getNumberOfIndependentSpecies                   = _getNumberOfIndependentSpecies
+getNumberOfReactions                            = _getNumberOfReactions
+getNumberOfRules                                = _getNumberOfRules
+getNumberOfStringElements                       = _getNumberOfStringElements
+getParamPromotedSBML                            = _getParamPromotedSBML
+getRRCAPILocation                               = _getRRCAPILocation
+getRateOfChange                                 = _getRateOfChange
+getRatesOfChange                                = _getRatesOfChange
+getRatesOfChangeEx                              = _getRatesOfChangeEx
+getRatesOfChangeIds                             = _getRatesOfChangeIds
+getReactionIds                                  = _getReactionIds
+getReactionRate                                 = _getReactionRate
+getReactionRates                                = _getReactionRates
+getReactionRatesEx                              = _getReactionRatesEx
+getReducedJacobian                              = _getReducedJacobian
+getRoadRunnerData                               = _getRoadRunnerData
+getRRDataColumnLabel                            = _getRRDataColumnLabel
+getRRDataNumCols                                = _getRRDataNumCols
+getRRDataNumRows                                = _getRRDataNumRows
+getSBML                                         = _getSBML
+getScaledConcentrationControlCoefficientMatrix  = _getScaledConcentrationControlCoefficientMatrix
+getScaledElasticityMatrix                       = _getScaledElasticityMatrix
+getScaledFloatingSpeciesElasticity              = _getScaledFloatingSpeciesElasticity
+getScaledFluxControlCoefficientMatrix           = _getScaledFluxControlCoefficientMatrix
+getSimulationResult                             = _getSimulationResult
+getSteadyStateSelectionList                     = _getSteadyStateSelectionList
+getStoichiometryMatrix                          = _getStoichiometryMatrix
+getStringElement                                = _getStringElement
+getStringListItem                               = _getStringListItem
+getSupportCodeFolder                            = _getSupportCodeFolder
+getTempFolder                                   = _getTempFolder
+getTimeCourseSelectionList                      = _getTimeCourseSelectionList
+getTimeEnd                                      = _getTimeEnd
+getTimeStart                                    = _getTimeStart
+getUnscaledConcentrationControlCoefficientIds   = _getUnscaledConcentrationControlCoefficientIds
+getUnscaledConcentrationControlCoefficientMatrix= _getUnscaledConcentrationControlCoefficientMatrix
+getUnscaledElasticityMatrix                     = _getUnscaledElasticityMatrix
+getUnscaledFluxControlCoefficientIds            = _getUnscaledFluxControlCoefficientIds
+getUnscaledFluxControlCoefficientMatrix         = _getUnscaledFluxControlCoefficientMatrix
+getValue                                        = _getValue
+getVectorElement                                = _getVectorElement
+getVectorLength                                 = _getVectorLength
+getAPIVersion                                   = _getAPIVersion
+getWorkingDirectory                             = _getWorkingDirectory
+getlibSBMLVersion                               = _getlibSBMLVersion
+getuCC                                          = _getuCC
+getuEE                                          = _getuEE
+hasError                                        = _hasError
+isListItem                                      = _isListItem
+isListItemDouble                                = _isListItemDouble
+isListItemInteger                               = _isListItemInteger
+isListItemList                                  = _isListItemList
+isListItemString                                = _isListItemString
+listToString                                    = _listToString
+loadSBML                                        = _loadSBML
+loadSBMLEx                                      = _loadSBMLEx
+loadSBMLFromFile                                = _loadSBMLFromFile
+loadSBMLFromFileE                               = _loadSBMLFromFileE
+loadSimulationSettings                          = _loadSimulationSettings
+logMsg                                          = _logMsg
+matrixToString                                  = _matrixToString
+oneStep                                         = _oneStep
+pause                                           = _pause
+reset                                           = _reset
+rrDataToString                                 = _rrDataToString
+rrCDataToString                                 = _rrCDataToString
+setBoundarySpeciesByIndex                       = _setBoundarySpeciesByIndex
+setBoundarySpeciesConcentrations                = _setBoundarySpeciesConcentrations
+setCompartmentByIndex                           = _setCompartmentByIndex
+setCompiler                                     = _setCompiler
+setCompilerLocation                             = _setCompilerLocation
+setComputeAndAssignConservationLaws             = _setComputeAndAssignConservationLaws
+setFloatingSpeciesByIndex                       = _setFloatingSpeciesByIndex
+setFloatingSpeciesConcentrations                = _setFloatingSpeciesConcentrations
+setFloatingSpeciesInitialConcentrations         = _setFloatingSpeciesInitialConcentrations
+setGlobalParameterByIndex                       = _setGlobalParameterByIndex
+setInstallFolder                                = _setInstallFolder
+setLogLevel                                     = _setLogLevel
+setMatrixElement                                = _setMatrixElement
+setNumPoints                                    = _setNumPoints
+setSteadyStateSelectionList                     = _setSteadyStateSelectionList
+setSupportCodeFolder                            = _setSupportCodeFolder
+setTempFolder                                   = _setTempFolder
+setTimeCourseSelectionList                      = _setTimeCourseSelectionList
+setTimeEnd                                      = _setTimeEnd
+setTimeStart                                    = _setTimeStart
+setValue                                        = _setValue
+setVectorElement                                = _setVectorElement
+simulate                                        = _simulate
+simulateEx                                      = _simulateEx
+steadyState                                     = _steadyState
+stringArrayToString                             = _stringArrayToString
+unLoadModel                                     = _unLoadModel
+vectorToString                                  = _vectorToString
+writeRRData                                     = _writeRRData
+
+;getRRHandle                                     = _getRRHandle
+;getInstanceCount                                = _getInstanceCount
+;getRRDataElement                                = _getRRDataElement
+;writeMultipleRRData                             = _writeMultipleRRData
diff --git a/wrappers/C/rrc_autolink.cpp b/wrappers/C/rrc_autolink.cpp
new file mode 100644
index 0000000..bd6fea5
--- /dev/null
+++ b/wrappers/C/rrc_autolink.cpp
@@ -0,0 +1,20 @@
+//We only need to give the linker the folder where libs are
+//using the pragma comment. Works for MSVC and codegear
+#if defined(STATIC_RR)
+    #pragma comment(lib, "roadrunner-static.lib")
+#else
+    #pragma comment(lib, "roadrunner.lib")
+#endif
+
+#pragma comment(lib, "rr-libstruct-static.lib")
+#pragma comment(lib, "libsbml-static.lib")
+#pragma comment(lib, "sundials_cvode.lib")
+#pragma comment(lib, "sundials_nvecserial.lib")
+#pragma comment(lib, "libxml2_xe.lib")
+#pragma comment(lib, "blas.lib")
+#pragma comment(lib, "lapack.lib")
+#pragma comment(lib, "libf2c.lib")
+#pragma comment(lib, "poco_foundation-static.lib")
+#pragma comment(lib, "nleq-static.lib")
+
+
diff --git a/wrappers/C/rrc_cpp_support.cpp b/wrappers/C/rrc_cpp_support.cpp
new file mode 100644
index 0000000..c13a633
--- /dev/null
+++ b/wrappers/C/rrc_cpp_support.cpp
@@ -0,0 +1,357 @@
+#pragma hdrstop
+#include <string>
+#include <iostream>
+#include <sstream>
+#include <fstream>
+#include "rrException.h"
+#include "rrc_cpp_support.h"
+#include "rrc_types.h"
+#include "rrc_utilities.h"
+#include "rrStringUtils.h"
+#include "rrRoadRunner.h"
+
+namespace rrc
+{
+using namespace rr;
+
+
+void setError(const string& err)
+{
+    if(gLastError)
+    {
+        delete [] gLastError;
+    }
+
+    gLastError = rr::createText(err);
+}
+
+RoadRunner* castToRoadRunner(RRHandle handle)
+{
+    RoadRunner* rr = (RoadRunner*) handle;
+    if(rr) //Will only fail if handle is NULL...
+    {
+        return rr;
+    }
+    else
+    {
+        Exception ex("Failed to cast to a valid RoadRunner handle");
+        throw(ex);
+    }
+}
+
+RRDoubleMatrix* createMatrix(const ls::DoubleMatrix* mat)
+{
+    if(!mat)
+    {
+        return NULL;
+    }
+    RRDoubleMatrixPtr matrix = new RRDoubleMatrix;
+
+    matrix->RSize = mat->RSize();
+    matrix->CSize = mat->CSize();
+    int dim =  matrix->RSize * matrix->CSize;
+    if(dim)
+    {
+        matrix->Data =  new double[mat->RSize()*mat->CSize()];
+    }
+    else
+    {
+        delete matrix;
+        return NULL;
+    }
+
+    int index = 0;
+    for(u_int row = 0; row < mat->RSize(); row++)
+    {
+        for(u_int col = 0; col < mat->CSize(); col++)
+        {
+            matrix->Data[index++] = (*mat)(row,col);
+        }
+    }
+    return matrix;
+}
+
+DoubleMatrix* createMatrix(const rrc::RRDoubleMatrixPtr mat)
+{
+    if(!mat)
+    {
+        return NULL;
+    }
+
+    DoubleMatrix *matrix = new DoubleMatrix(mat->RSize, mat->CSize);
+
+    int index = 0;
+    for(u_int row = 0; row < mat->RSize; row++)
+    {
+        for(u_int col = 0; col < mat->CSize; col++)
+        {
+            (*matrix)(row,col) = mat->Data[index++];
+        }
+    }
+    return matrix;
+}
+
+RRComplexMatrix* createMatrix(const ls::ComplexMatrix* mat)
+{
+    if(!mat)
+    {
+        return NULL;
+    }
+    RRComplexMatrixPtr matrix = new RRComplexMatrix;
+
+    matrix->RSize = mat->RSize();
+    matrix->CSize = mat->CSize();
+    int dim =  matrix->RSize * matrix->CSize;
+    if(dim)
+    {
+        matrix->Data =  new RRComplex[mat->RSize()*mat->CSize()];
+    }
+    else
+    {
+        delete matrix;
+        return NULL;
+    }
+
+    int index = 0;
+    for(u_int row = 0; row < mat->RSize(); row++)
+    {
+        for(u_int col = 0; col < mat->CSize(); col++)
+        {
+            matrix->Data[index].re         = std::real((*mat)(row,col));
+            matrix->Data[index].imag     = std::imag((*mat)(row,col));
+            index++;
+        }
+
+    }
+    return matrix;
+}
+
+vector<double> createVector(const RRVector* vec)
+{
+    vector<double> aVec;
+
+    if(!vec)
+    {
+        return aVec;
+    }
+
+    aVec.resize(vec->Count);
+    for(int i = 0; i < aVec.size(); i++)
+    {
+        aVec[i] =  vec->Data[i];
+    }
+
+    return aVec;
+}
+
+RRVector* createVector(const vector<double>& vec)
+{
+    RRVector* aVec = new RRVector;
+    aVec->Count = vec.size();
+
+    if(aVec->Count)
+    {
+        aVec->Data = new double[aVec->Count];
+    }
+
+    for(int i = 0; i < aVec->Count; i++)
+    {
+        aVec->Data[i] =  vec[i];
+    }
+
+    return aVec;
+}
+
+RRComplexVector* createVector(const vector<ls::Complex>& vec)
+{
+    RRComplexVector* aVec = new RRComplexVector;
+    aVec->Count = vec.size();
+
+    if(aVec->Count)
+    {
+        aVec->Data = new RRComplex[aVec->Count];
+    }
+
+    for(int i = 0; i < aVec->Count; i++)
+    {
+        aVec->Data[i].re     =  real(vec[i]);
+        aVec->Data[i].imag     =  imag(vec[i]);
+    }
+
+    return aVec;
+}
+
+bool copyVector(const RRVector* src, vector<double>& dest)
+{
+    if(!src)
+    {
+        return false;
+    }
+
+    dest.resize(src->Count);
+
+    for(int i = 0; i < src->Count; i++)
+    {
+        dest[i] = src->Data[i];
+    }
+
+    return true;
+}
+
+RRStringArrayPtr createList(const rrc::StringList& sList)
+{
+//     if(!sList.Count())
+//     {
+//         return NULL;
+//     }
+
+    RRStringArray* list = new RRStringArray;
+    list->Count = sList.Count();
+
+    if (list->Count)
+        list->String = new char*[list->Count];
+    else
+        list->String = NULL;
+
+    for(int i = 0; i < list->Count; i++)
+    {
+        list->String[i] = rr::createText(sList[i]);
+    }
+    return list;
+}
+
+//RRList* createList(const ArrayList& aList)
+//{
+//    if(!aList.Count())
+//    {
+//        return NULL;
+//    }
+//
+//    RRListItemPtr myItem;
+//    // Setup a RRStringArrayList structure from aList
+//     RRListHandle theList = createRRList();
+//
+//    int itemCount = aList.Count();
+//    for(int i = 0; i < itemCount; i++)
+//    {
+////        //Have to figure out subtype of item
+////        ArrayListItem<string>* ptr = const_cast< ArrayListItemBase<string>* >(*aList[i]);
+////        if(ptr->mValue)
+////        {
+////            string item =  *ptr->mValue;
+////            char* str = (char *) new char[item.size() + 1];
+////            strcpy(str, item.c_str());
+////            myItem = createStringItem (str);
+////               addItem (theList, &myItem);
+////        }
+////        else if(ptr->mLinkedList)
+////        {
+////            //ArrayListItem<ArrayList2Item>* listItem = dynamic_cast<ArrayListItem<ArrayList2Item>*>(ptr);
+////            RRListHandle myList = createList (*(ptr->mLinkedList));
+////
+////            RRListItemPtr myListItem = createListItem (myList);
+////            addItem (theList, &myListItem);
+////
+////        }
+//    }
+//    return theList;
+//}
+
+RRList* createArrayList(const rrc::ArrayList& aList)
+{
+    if(!aList.Count())
+    {
+        return NULL;
+    }
+
+    RRListItemPtr myItem;
+
+    // Setup a RRStringArrayList structure from aList
+     RRListPtr theList = createRRList();
+
+    int itemCount = aList.Count();
+    for(int i = 0; i < itemCount; i++)
+    {
+        //Have to figure out subtype of item
+        ArrayListItemBase* ptr = const_cast<ArrayListItemBase*>(&aList[i]);
+        if(dynamic_cast<ArrayListItem<int>*>(ptr))
+        {
+            int val = (int) *(dynamic_cast<ArrayListItem<int>*>(ptr));
+            myItem = createIntegerItem (val);
+            addItem (theList, &myItem);
+        }
+        else if(dynamic_cast<ArrayListItem<double>*>(ptr))
+        {
+            double val = (double) *(dynamic_cast<ArrayListItem<double>*>(ptr));
+            myItem = createDoubleItem (val);
+            addItem (theList, &myItem);
+        }
+        else if(dynamic_cast<ArrayListItem<string>*>(ptr))
+        {
+            string item = (string) *(dynamic_cast<ArrayListItem<string>*>(ptr));
+            char* str = (char *) new char[item.size() + 1];
+            strcpy (str, item.c_str());
+            myItem = createStringItem (str);
+            addItem (theList, &myItem);
+        }
+        else if(dynamic_cast<ArrayListItem<StringList>*>(ptr))
+        {
+            StringList list             = (StringList) *(dynamic_cast<ArrayListItem<StringList>*>(ptr));
+            ArrayList  aList;
+            for(int i = 0; i < list.Count(); i++)
+            {
+                aList.Add(list[i]);
+            }
+            RRListPtr myList             = createArrayList (aList);
+            myItem                             = createListItem(myList);
+               addItem (theList, &myItem);
+        }
+
+        else if(dynamic_cast<ArrayListItem<ArrayList>*>(ptr))
+        {
+            ArrayList list = (ArrayList) *(dynamic_cast<ArrayListItem<ArrayList>*>(ptr));
+            RRListPtr myList             = createArrayList (list);
+            RRListItemPtr myListItem     = createListItem (myList);
+            addItem (theList, &myListItem);
+        }
+    }
+    return theList;
+}
+
+
+
+RRCDataPtr createRRCData(const RoadRunner& tmp)
+{
+    // TODO make roadrunner const correct
+    RoadRunner& r = const_cast<RoadRunner&>(tmp);
+
+    RRCData* rrCData  = new RRCData;
+    memset(rrCData, 0, sizeof(RRCData));
+
+    // create columns info
+    const std::vector<SelectionRecord> &selections = r.getSelections();
+    rrCData->ColumnHeaders = new char*[selections.size()];
+    for(int i = 0; i < selections.size(); ++i)
+    {
+        rrCData->ColumnHeaders[i] = rr::createText(selections[i].to_string());
+    }
+
+    const DoubleMatrix& result = *r.getSimulationData();
+
+    rrCData->RSize = result.RSize();
+    rrCData->CSize = result.CSize();
+    int size = rrCData->RSize*rrCData->CSize;
+    rrCData->Data = new double[size];
+
+    int index = 0;
+    for(int row = 0; row < rrCData->RSize; row++)
+    {
+        for(int col = 0; col < rrCData->CSize; col++)
+        {
+            rrCData->Data[index++] = result(row, col);
+        }
+    }
+    return rrCData;
+}
+
+}
diff --git a/wrappers/C/rrc_cpp_support.h b/wrappers/C/rrc_cpp_support.h
new file mode 100644
index 0000000..91d0484
--- /dev/null
+++ b/wrappers/C/rrc_cpp_support.h
@@ -0,0 +1,169 @@
+/**
+ * @file rrc_cpp_support.h
+ * @brief roadRunner C API 2012
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of cRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib for more details.
+ *
+ * Copyright (C) 2012-2013
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+
+#ifndef rrc_cpp_supportH
+#define rrc_cpp_supportH
+
+#include <vector>
+#include "rr-libstruct/lsMatrix.h"
+#include "rrRoadRunnerData.h"
+#include "rrcStringList.h"
+#include "rrArrayList.h"
+#include "rrc_types.h"
+#include "rrc_exporter.h"
+
+namespace rr
+{
+class RoadRunner;
+}
+
+//When using the rrc_core_api from C++, the following routines are useful
+namespace rrc
+{
+using std::string;
+using std::vector;
+
+/*!
+ \brief Set API error
+
+ \param[in] error A string containg the error
+ \ingroup cpp_support
+*/
+C_DECL_SPEC void                        setError(const string& err);
+
+/*!
+ \brief Cast a handle to RoadRunner instance pointer, throws if it fails
+ \param[in] handle  A handle to a roadrunner instance
+ \return Pointer to a roadrunner instance
+ \ingroup cpp_support
+*/
+C_DECL_SPEC rr::RoadRunner*             castToRoadRunner(RRHandle rrHandle);
+
+
+/*!
+ \brief Copy a C vector to a std::vector
+ \param[in] source Pointer to a RRVector structure instance
+ \param[in] dest  Destination std::vector
+ \return True or false, indicating the result
+ \ingroup cpp_support
+*/
+C_DECL_SPEC bool                                copyVector(const RRVector* source, vector<double>& dest);
+
+/*!
+ \brief Creates a C vector from a std::vector
+ \param[in] vec Input double vector
+ \return A handle to a RRVector. Null if it fails
+ \ingroup cpp_support
+*/
+C_DECL_SPEC RRVectorPtr                       createVector(const vector<double>& vec);
+
+/*!
+ \brief Creates a C Complex vector from a std::vector<ls::Complex>
+ \param[in] vec Input Complex vector
+ \return A handle to a RRComplexVector. Null if it fails
+ \ingroup cpp_support
+*/
+C_DECL_SPEC RRComplexVectorPtr             createVector(const vector<ls::Complex>& vec);
+
+/*!
+ \brief Creates a std vector from a C vector
+ \param[in] vec Input C vector
+ \return A std vector object
+ \ingroup cpp_support
+*/
+C_DECL_SPEC vector<double>                      createVector(const RRVector* vec);
+
+/*!
+ \brief Creates a C matrix  from a ls::DoubleMatrix, supplied as a pointer
+ \param[in] mat  Input DoubleMatrix
+ \return A handle to a RRMatrix. Null if it fails
+ \ingroup cpp_support
+*/
+C_DECL_SPEC RRDoubleMatrixPtr              createMatrix(const ls::DoubleMatrix* mat);
+
+/*!
+ \brief Creates a ls::DoubleMatrix  from a RRMatrix, supplied as a pointer
+ \param[in] mat  Input RRMatrix pointer
+ \return A handle to a DoubleMatrix. Null if it fails
+ \ingroup cpp_support
+*/
+C_DECL_SPEC ls::DoubleMatrix*                   createMatrix(const RRDoubleMatrixPtr mat);
+
+
+/*!
+ \brief Creates a C complex matrix from a ls::ComplexMatrix, supplied as a pointer
+ \param[in] mat  Input ls::ComplexMatrix
+ \return A handle to a RRComplexMatrix. Null if it fails
+ \ingroup cpp_support
+*/
+C_DECL_SPEC RRComplexMatrixPtr             createMatrix(const ls::ComplexMatrix* mat);
+
+//Lists and arrays
+/*!
+ \brief Creates a C StringArray from a rr::StringList
+ \param[in] list  Input StringList
+ \return A handle to a RRStringArray. Null if it fails
+ \ingroup cpp_support
+*/
+C_DECL_SPEC RRStringArrayPtr               createList(const rrc::StringList& list);
+
+/*!
+ \brief Creates a heterogenoeus RRList from a rr::ArrayList
+ \param[in] list  Input Array list
+ \return A handle to a RRList. Null if it fails
+ \ingroup cpp_support
+*/
+C_DECL_SPEC RRListPtr                      createArrayList(const ArrayList& list);
+
+
+/**
+ * Creates an RRCDataPtr from the current state of a RoadRunner object.
+ *
+ * This may be used directly after RoadRunner::simulate() has been called
+ * to package up the simulation result data and column names into one of
+ * these RRCDataPtr structs.
+ */
+C_DECL_SPEC RRCDataPtr    createRRCData(const rr::RoadRunner&);
+
+}
+#endif
+
+
diff --git a/wrappers/C/rrc_exporter.h b/wrappers/C/rrc_exporter.h
new file mode 100644
index 0000000..567b5aa
--- /dev/null
+++ b/wrappers/C/rrc_exporter.h
@@ -0,0 +1,83 @@
+/**
+ * @file rrc_exporter.h
+ * @brief roadRunner C API 2012
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of cRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib for more details.
+ *
+ * Copyright (C) 2012-2013
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+
+#ifndef rrc_exporterH
+#define rrc_exporterH
+
+//Export/Import API functions
+#if defined(_WIN32) || defined(__WIN32__)
+    #if defined(STATIC_RRC)
+        #define C_DECL_SPEC
+    #else
+        #if defined(EXPORT_RRC)
+            #define C_DECL_SPEC __declspec(dllexport)
+        #else
+            #define C_DECL_SPEC __declspec(dllimport)
+        #endif
+    #endif
+#else
+    #define C_DECL_SPEC
+#endif
+
+
+//C function calling conventions
+#if defined(_MSC_VER)
+    #define rrcCallConv __cdecl
+#elif defined(__CODEGEARC__)
+    #define rrcCallConv __cdecl
+#else
+    #define rrcCallConv
+#endif
+
+#if !defined(__cplusplus)
+    #if !defined(_MSC_VER)
+        #include "stdbool.h"
+    #else   //VS don't have stdbool.h
+        /*!
+         \brief Typedef for boolean type in C
+        */
+        typedef int bool;
+        #define false 0
+        #define true 1
+    #endif
+#endif
+
+#endif
diff --git a/wrappers/C/rrc_libstruct_api.cpp b/wrappers/C/rrc_libstruct_api.cpp
new file mode 100644
index 0000000..fb629fc
--- /dev/null
+++ b/wrappers/C/rrc_libstruct_api.cpp
@@ -0,0 +1,541 @@
+#pragma hdrstop
+
+#include "rrc_libstruct_api.h"
+#include "rrc_utilities.h"
+#include "rrc_macros.h"
+
+#include "rrRoadRunner.h"
+#include "rrException.h"
+#include "rr-libstruct/lsLibla.h"
+#include "rrc_cpp_support.h"
+
+
+//---------------------------------------------------------------------------
+namespace rrc
+{
+using namespace rr;
+using namespace ls;    //Libstruct namespace
+using namespace std;
+
+RRDoubleMatrixPtr rrcCallConv getL0Matrix(RRHandle handle)
+{
+    start_try
+        rr::RoadRunner* rri = castToRoadRunner(handle);
+        DoubleMatrix     tempMat     = rri->getL0Matrix();
+        return createMatrix(&tempMat);
+
+    catch_ptr_macro;
+}
+
+RRVectorPtr getConservedSums(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle); //Will throw if it can't cast
+        vector<double> tempMat = rri->getConservedMoietyValues();
+        return rrc::createVector(tempMat);
+    catch_ptr_macro
+}
+
+RRDoubleMatrixPtr rrcCallConv getEigenvaluesMatrix(const RRDoubleMatrixPtr mat)
+{
+    start_try
+        if (mat == NULL)
+        {
+            stringstream msg;
+            msg<<"RoadRunner exception: "<< "Matrix argument to getEigenvaluesMatrix is NULL" <<endl;
+            setError(msg.str());
+            return NULL;
+        }
+
+        // Convert RRDoubleMatrixPtr mat to a DoubleMatrix
+        DoubleMatrix *dmat = createMatrix (mat);
+
+        vector<Complex> vals = ls::getEigenValues((*dmat));
+        DoubleMatrix result(vals.size(), 2);
+
+        for (int i = 0; i < vals.size(); i++)
+        {
+            result[i][0] = real(vals[i]);
+            result[i][1] = imag(vals[i]);
+        }
+        // Convert the DoubleMatrix result to a RRDoubleMatrixPtr type
+        return createMatrix(&result);
+    catch_ptr_macro
+}
+
+RRComplexVectorPtr rrcCallConv getEigenvaluesVector(const RRDoubleMatrixPtr mat)
+{
+    start_try
+        if (mat == NULL)
+        {
+            stringstream msg;
+            msg<<"RoadRunner exception: "<< "Argument to getEigenvaluesVector is NULL" <<endl;
+            setError(msg.str());
+            return NULL;
+        }
+
+        // Convert RRDoubleMatrixPtr mat to a DoubleMatrix
+        DoubleMatrix *dmat = createMatrix (mat);
+        vector<Complex> vals = ls::getEigenValues((*dmat));
+
+        // Convert the DoubleMatrix result to a RRDoubleMatrixPtr type
+        return createVector(vals);
+    catch_ptr_macro
+}
+
+//LIB_EXTERN int LibLA_getEigenValues(double** inMatrix, int numRows, int numCols,
+//                                    double* *outReal, double * *outImag, int *outLength)
+//{
+//    try
+//    {
+//        DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//        vector< Complex > oVector = getInstance()->getEigenValues( oMatrix );
+//
+//        ls::CopyComplexVector(oVector, *outReal, *outImag, *outLength);
+//
+//        return 0;
+//    }
+//    catch(...)
+//    {
+//        return -1;
+//    }
+//}
+//
+//LIB_EXTERN int LibLA_ZgetEigenValues(double** inMatrixReal, double** inMatrixImag, int numRows, int numCols,
+//                                     double* *outReal, double * *outImag, int *outLength)
+//{
+//    try
+//    {
+//        ComplexMatrix oMatrix(numRows, numCols);
+//
+//        for (int i = 0; i < numRows; i++)
+//        {
+//            for (int j = 0; j < numCols; j++)
+//            {
+//                oMatrix(i,j).set( inMatrixReal[i][j],inMatrixImag[i][j]);
+//            }
+//        }
+//
+//        vector< Complex > oVector = getInstance()->ZgetEigenValues( oMatrix );
+//
+//        ls::CopyComplexVector(oVector, *outReal, *outImag, *outLength);
+//
+//        oVector.clear();
+//        return 0;
+//    }
+//    catch(...)
+//    {
+//        return -1;
+//    }
+//}
+//
+//LIB_EXTERN int LibLA_getQRWithPivot(double** inMatrix, int numRows, int numCols,
+//                                    double** *outQ, int *outQRows, int * outQCols,
+//                                    double** *outR, int *outRRows, int * outRCols,
+//                                    double** *outP, int *outPRows, int * outPCols)
+//{
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    vector< DoubleMatrix * > oVector = LibLA::getInstance()->getQRWithPivot( oMatrix );
+//
+//    ls::CopyMatrix(*oVector[0], *outQ, *outQRows, *outQCols); delete oVector[0];
+//    ls::CopyMatrix(*oVector[1], *outR, *outRRows, *outRCols); delete oVector[1];
+//    ls::CopyMatrix(*oVector[2], *outP, *outPRows, *outPCols); delete oVector[2];
+//
+//
+//    return 0;
+//}
+//
+//LIB_EXTERN int LibLA_getQR(double** inMatrix, int numRows, int numCols,
+//                           double** *outQ, int *outQRows, int * outQCols,
+//                           double** *outR, int *outRRows, int * outRCols)
+//{
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    vector< DoubleMatrix * > oVector = LibLA::getInstance()->getQR( oMatrix );
+//
+//    ls::CopyMatrix(*oVector[0], *outQ, *outQRows, *outQCols); delete oVector[0];
+//    ls::CopyMatrix(*oVector[1], *outR, *outRRows, *outRCols); delete oVector[1];
+//
+//    return 0;
+//}
+//
+//LIB_EXTERN int LibLA_getSingularValsBySVD(double** inMatrix, int numRows, int numCols,
+//                                          double* *outSingularVals, int *outLength)
+//{
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    vector< double > oVector = LibLA::getInstance()->getSingularValsBySVD( oMatrix );
+//
+//    ls::CopyDoubleVector(oVector, *outSingularVals, *outLength);
+//
+//    return 0;
+//}
+//
+//LIB_EXTERN int LibLA_getLUwithFullPivoting(double** inMatrix, int numRows, int numCols,
+//                                           double** *outL, int *outLRows, int * outLCols,
+//                                           double** *outU, int *outURows, int * outUCols,
+//                                           int** *outP, int *outPRows, int * outPCols,
+//                                           int** *outQ, int *outQRows, int * outQCols,
+//                                           int *info)
+//{
+//
+//    try
+//    {
+//        DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//        LU_Result* oResult = LibLA::getInstance()->getLUwithFullPivoting( oMatrix );
+//
+//        ls::CopyMatrix(*(oResult->L), *outL, *outLRows, *outLCols);
+//        ls::CopyMatrix(*(oResult->U), *outU, *outURows, *outUCols);
+//        ls::CopyMatrix(*(oResult->P), *outP, *outPRows, *outPCols);
+//        ls::CopyMatrix(*(oResult->Q), *outQ, *outQRows, *outQCols);
+//
+//        *info = oResult->nInfo;
+//
+//        delete oResult;
+//
+//        return 0;
+//    }
+//    catch(...)
+//    {
+//        return -1;
+//    }
+//}
+//
+//LIB_EXTERN int LibLA_getLU(double** inMatrix, int numRows, int numCols,
+//                           double** *outL, int *outLRows, int * outLCols,
+//                           double** *outU, int *outURows, int * outUCols,
+//                           int** *outP, int *outPRows, int * outPCols,
+//                           int *info)
+//{
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    LU_Result* oResult = LibLA::getInstance()->getLU( oMatrix );
+//
+//    ls::CopyMatrix(*(oResult->L), *outL, *outLRows, *outLCols);
+//    ls::CopyMatrix(*(oResult->U), *outU, *outURows, *outUCols);
+//    ls::CopyMatrix(*(oResult->P), *outP, *outPRows, *outPCols);
+//
+//    *info = oResult->nInfo;
+//
+//    delete oResult;
+//    return 0;
+//}
+//
+//LIB_EXTERN int LibLA_inverse(double** inMatrix, int numRows, int numCols,
+//                             double** *outMatrix, int *outRows, int *outCols)
+//{
+//
+//    try
+//    {
+//        DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//        DoubleMatrix *oResult = LibLA::getInstance()->inverse( oMatrix );
+//
+//        ls::CopyMatrix(*oResult, *outMatrix, *outRows, *outCols); delete oResult;
+//
+//        return 0;
+//    }
+//    catch (...)
+//    {
+//        return -1;
+//    }
+//}
+//
+//
+//LIB_EXTERN int LibLA_leftNullspace(double** inMatrix, int numRows, int numCols,
+//                                   double** *outMatrix, int *outRows, int *outCols)
+//{
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    DoubleMatrix *oResult = LibLA::getInstance()->getLeftNullSpace( oMatrix );
+//
+//    ls::CopyMatrix(*oResult, *outMatrix, *outRows, *outCols); delete oResult;
+//
+//    return 0;
+//}
+//LIB_EXTERN int LibLA_rightNullspace(double** inMatrix, int numRows, int numCols,
+//                                    double** *outMatrix, int *outRows, int *outCols)
+//{
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    DoubleMatrix *oResult = LibLA::getInstance()->getRightNullSpace( oMatrix );
+//
+//    ls::CopyMatrix(*oResult, *outMatrix, *outRows, *outCols); delete oResult;
+//
+//    return 0;
+//}
+//
+//LIB_EXTERN int LibLA_scaledLeftNullspace(double** inMatrix, int numRows, int numCols,
+//                                         double** *outMatrix, int *outRows, int *outCols)
+//{
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    DoubleMatrix *oResult = LibLA::getInstance()->getScaledLeftNullSpace( oMatrix );
+//
+//    ls::CopyMatrix(*oResult, *outMatrix, *outRows, *outCols); delete oResult;
+//
+//    return 0;
+//}
+//LIB_EXTERN int LibLA_scaledRightNullspace(double** inMatrix, int numRows, int numCols,
+//                                          double** *outMatrix, int *outRows, int *outCols)
+//{
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    DoubleMatrix *oResult = LibLA::getInstance()->getScaledRightNullSpace( oMatrix );
+//
+//    ls::CopyMatrix(*oResult, *outMatrix, *outRows, *outCols); delete oResult;
+//
+//    return 0;
+//}
+//
+//LIB_EXTERN int LibLA_getRank(double** inMatrix, int numRows, int numCols)
+//{
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    int nRank = LibLA::getInstance()->getRank( oMatrix );
+//    return nRank;
+//}
+//
+//
+//LIB_EXTERN double LibLA_getRCond(double** inMatrix, int numRows, int numCols)
+//{
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    double dRcond = LibLA::getInstance()->getRCond( oMatrix );
+//    return dRcond;
+//}
+//
+//
+//LIB_EXTERN int LibLA_Zinverse(double** inMatrixReal, double **inMatrixImag, int numRows, int numCols,
+//                              double** *outMatrixReal, double ** *outMatrixImag, int *outRows, int *outCols)
+//{
+//    try
+//    {
+//        ComplexMatrix oMatrix(numRows, numCols);
+//
+//        for (int i = 0; i < numRows; i++)
+//        {
+//            for (int j = 0; j < numCols; j++)
+//            {
+//                oMatrix(i,j).set(inMatrixReal[i][j],inMatrixImag[i][j]);
+//            }
+//        }
+//
+//        ComplexMatrix *oResult = LibLA::getInstance()->Zinverse( oMatrix );
+//        ls::CopyMatrix(*oResult, *outMatrixReal, *outMatrixImag, *outRows, *outCols); delete oResult;
+//
+//        return 0;
+//    }
+//    catch(...)
+//    {
+//        return -1;
+//    }
+//}
+//
+//LIB_EXTERN void LibLA_freeVector(void* vector)
+//{
+//    if (vector) free(vector);
+//}
+//
+//LIB_EXTERN void LibLA_freeMatrix(void** matrix, int numRows)
+//{
+//    for (int i = 0; i < numRows; i++)
+//    {
+//        if (matrix[i]) free(matrix[i]);
+//    }
+//    free(matrix);
+//}
+//
+//
+//
+//LIB_EXTERN int LibLA_gaussJordan(double** inMatrix, int numRows, int numCols,
+//                                 double** *outMatrix, int *outRows, int *outCols, int* *oPivots, int *nLength)
+//{
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    vector<int> oPivotVec  = ls::GaussJordan(oMatrix, LibLA::getInstance()->getTolerance());
+//    ls::CopyMatrix(oMatrix, *outMatrix, *outRows, *outCols);
+//
+//    ls::CopyIntVector(oPivotVec, *oPivots, *nLength);
+//    return 0;
+//}
+//
+//std::vector<int> LibLA::gaussJordan(DoubleMatrix &oMatrix)
+//{
+//    return ls::GaussJordan(oMatrix, gLapackTolerance);
+//}
+//
+//
+////LIB_EXTERN int LibLA_gaussJordan2(double** inMatrix, int numRows, int numCols,
+////                                  double** *outMatrix, int *outRows, int *outCols)
+////{
+////    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+////    ls::gaussJordan(oMatrix, LibLA::getInstance()->getTolerance());
+////    ls::CopyMatrix(oMatrix, outMatrix, outRows, outCols);
+////    return 0;
+////}
+//
+//
+//void LibLA::fullyPivotedGaussJordan(DoubleMatrix &oMatrix, vector<int> &rowPivots, vector<int> &colPivots)
+//{
+//    return ls::FullyPivotedGaussJordan(oMatrix, gLapackTolerance, rowPivots, colPivots);
+//}
+//
+//
+//LIB_EXTERN int LibLA_fullyPivotedGaussJordan(double** inMatrix, int numRows, int numCols,
+//                                             double** *outMatrix, int *outRows, int *outCols,
+//                                             int* *oRowPivots, int *nRowLength,
+//                                             int* *oColPivots, int *nColLength)
+//{
+//
+//    DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//    vector< int > vecRowPivots;  vector< int> vecColPivots;
+//    ls::FullyPivotedGaussJordan(oMatrix, LibLA::getInstance()->getTolerance(), vecRowPivots, vecColPivots);
+//
+//    ls::CopyMatrix(oMatrix, *outMatrix, *outRows, *outCols);
+//
+//    ls::CopyIntVector(vecRowPivots, *oRowPivots, *nRowLength);
+//    ls::CopyIntVector(vecColPivots, *oColPivots, *nColLength);
+//
+//    return 0;
+//
+//}
+
+//LIB_EXTERN int LibLA_getEigenVectors(double** inMatrix, int numRows, int numCols,
+//                                     double** *outMatrixReal, double** *outMatrixImag, int *outRows, int *outCols)
+//{
+//
+//    try
+//    {
+//        DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//        ComplexMatrix *oResult = LibLA::getInstance()->getEigenVectors( oMatrix );
+//
+//        ls::CopyMatrix(*oResult, *outMatrixReal, *outMatrixImag, *outRows, *outCols); delete oResult;
+//
+//        return 0;
+//    }
+//    catch (...)
+//    {
+//        return -1;
+//    }
+//}
+
+RRComplexMatrixPtr rrcCallConv getEigenVectors(const RRDoubleMatrixPtr inMatrix)
+{
+    start_try
+        DoubleMatrix* mat =  createMatrix(inMatrix);
+        if(mat)
+        {
+            ComplexMatrix* cMat  = ls::getEigenVectors((*mat));
+            return createMatrix(cMat);
+        }
+        else
+        {
+            return NULL;
+        }
+    catch_ptr_macro
+}
+
+//LIB_EXTERN int LibLA_ZgetEigenVectors(double** inMatrixReal,   double **  inMatrixImag, int numRows, int numCols,
+//                                      double** *outMatrixReal, double** *outMatrixImag, int *outRows, int *outCols)
+//{
+//    try
+//    {
+//        ComplexMatrix oMatrix(numRows, numCols);
+//
+//        for (int i = 0; i < numRows; i++)
+//        {
+//            for (int j = 0; j < numCols; j++)
+//            {
+//                oMatrix(i,j).set(inMatrixReal[i][j],inMatrixImag[i][j]);
+//            }
+//        }
+//
+//        ComplexMatrix *oResult = LibLA::getInstance()->ZgetEigenVectors( oMatrix );
+//        ls::CopyMatrix(*oResult, *outMatrixReal, *outMatrixImag, *outRows, *outCols); delete oResult;
+//
+//        return 0;
+//    }
+//    catch(...)
+//    {
+//        return -1;
+//    }
+//}
+
+RRComplexMatrixPtr rrcCallConv getZEigenVectors(RRComplexMatrixPtr inMatrix)
+{
+    start_try
+        ComplexMatrix mat(inMatrix->RSize, inMatrix->CSize);
+        for (int i = 0; i < inMatrix->RSize; i++)
+        {
+            for (int j = 0; j < inMatrix->CSize; j++)
+            {
+                RRComplex value;
+                if(!getComplexMatrixElement(inMatrix, i, j, &value))
+                {
+                    throw(Exception("Failed getting element in Complex matrix"));
+                }
+
+                mat(i,j) = Complex(value.re, value.imag);
+            }
+        }
+
+        ComplexMatrix *oResult = ls::ZgetEigenVectors(mat);
+        RRComplexMatrixPtr out = createMatrix(oResult);
+        delete oResult;
+        return out;
+    catch_ptr_macro
+}
+
+//LIB_EXTERN int LibLA_getSVD(double** inMatrix, int numRows, int numCols,
+//                            double** *outU, int *outRowsU, int *outColsU,
+//                            double* *outSingVals, int *outLength,
+//                            double** *outV, int *outRowsV, int *outColsV)
+//{
+//    try
+//    {
+//        DoubleMatrix oMatrix(inMatrix, numRows, numCols);
+//
+//        DoubleMatrix*   matrixU  = NULL;
+//        vector<double>* singVals = NULL;
+//        DoubleMatrix*   matrixV  = NULL;
+//
+//        LibLA::getInstance()->getSVD(oMatrix, matrixU, singVals, matrixV);
+//
+//        ls::CopyMatrix(*matrixU, *outU, *outRowsU, *outColsU); delete matrixU;
+//        ls::CopyDoubleVector(*singVals, *outSingVals, *outLength); delete singVals;
+//        ls::CopyMatrix(*matrixV, *outV, *outRowsV, *outColsV); delete matrixV;
+//
+//        return 0;
+//    }
+//    catch(...)
+//    {
+//        return -1;
+//    }
+//
+//}
+//
+//LIB_EXTERN int LibLA_ZgetSVD(double** inMatrixReal, double** inMatrixImag, int numRows, int numCols,
+//                             double** *outUReal, double** *outUImag, int *outRowsU, int *outColsU,
+//                             double* *outSingVals, int *outLength,
+//                             double** *outVReal, double** *outVImag, int *outRowsV, int *outColsV)
+//{
+//    try
+//    {
+//        ComplexMatrix oMatrix(numRows, numCols);
+//
+//        for (int i = 0; i < numRows; i++)
+//        {
+//            for (int j = 0; j < numCols; j++)
+//            {
+//                oMatrix(i,j).set(inMatrixReal[i][j],inMatrixImag[i][j]);
+//            }
+//        }
+//
+//        ComplexMatrix *matrixU = NULL; vector<double>* singVals= NULL; ComplexMatrix *matrixV= NULL;
+//
+//        LibLA::getInstance()->ZgetSVD(oMatrix, matrixU, singVals, matrixV);
+//
+//        ls::CopyMatrix(*matrixU, *outUReal, *outUImag, *outRowsU, *outColsU); delete matrixU;
+//        ls::CopyDoubleVector(*singVals, *outSingVals, *outLength); delete singVals;
+//        ls::CopyMatrix(*matrixV, *outVReal, *outVImag, *outRowsV, *outColsV); delete matrixV;
+//
+//        return 0;
+//    }
+//    catch(...)
+//    {
+//        return -1;
+//    }
+//}
+
+} //namespace rrc
+
diff --git a/wrappers/C/rrc_libstruct_api.h b/wrappers/C/rrc_libstruct_api.h
new file mode 100644
index 0000000..e32dc3b
--- /dev/null
+++ b/wrappers/C/rrc_libstruct_api.h
@@ -0,0 +1,143 @@
+/**
+ * @file rrc_libstruct_api.h
+ * @brief roadRunner C API 2012
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of cRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib for more details.
+ *
+ * Copyright (C) 2012-2013
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+#ifndef rrc_libstruct_apiH
+#define rrc_libstruct_apiH
+#include "rrc_exporter.h"
+#include "rrc_types.h"
+//---------------------------------------------------------------------------
+#if defined(__cplusplus)
+namespace rrc
+{
+extern "C"
+{
+#endif
+
+/*! \brief Returns the L0 Matrix.
+
+L0 is defined such that  L0 Nr = N0. L0 forms part of the link matrix, L.  N0 is the set of
+linear dependent rows from the lower portion of the reordered stoichiometry matrix.
+
+\param[in] handle Handle to a RoadRunner instance
+\return Returns null if it fails, otherwise returns the L0 matrix.
+
+\remarks To free the returned matrix call freeMatrix with the matrix
+as parameter.
+\ingroup Stoich
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getL0Matrix(RRHandle handle);
+
+/*! \brief Calculates the eigen-vectors of a square real matrix.
+This function calculates the complex (right)eigenvectors of the given real matrix. The complex matrix
+returned contains the eigenvectors in the columns, in the same order as LibLA_getEigenValues.
+
+The right eigenvector v(j) of A satisfies:
+\par
+A * v(j) = lambda(j) * v(j)
+\param[in] matrix Handle to a RRMatrix
+\return Returns null if it fails, otherwise returns a RRComplexMatrix.
+\ingroup Stoich
+*/
+C_DECL_SPEC RRComplexMatrixPtr rrcCallConv getEigenVectors(RRDoubleMatrixPtr matrix);
+
+
+/*! \brief Calculates the eigen-vectors of a square nonsymmetrix complex matrix.
+This function calculates the complex (right)eigenvectors of the given real matrix. The complex matrix
+returned contains the eigenvectors in the columns, in the same order as getZEigenValues.
+The right eigenvector v(j) of A satisfies:
+\par
+A * v(j) = lambda(j) * v(j)
+\param[in] matrix Handle to a RRComplexMatrix
+\return Returns null if it fails, otherwise returns a RRComplexMatrix.
+\ingroup Stoich
+*/
+C_DECL_SPEC RRComplexMatrixPtr rrcCallConv getZEigenVectors(RRComplexMatrixPtr matrix);
+
+
+/*! \brief Returns values for conservation laws using the current initial conditions
+\remarks free vector using freeVector function
+
+\return The return value will be zero (0) when successful, and negative (-1) in case
+no stoichiometry matrix was loaded beforehand or none of the analysis methods has
+been called yet.
+\param[in] handle Handle to a RoadRunner instance
+\return Returns null if it fails, otherwise returns a RRVectorHandle.
+\ingroup Stoich
+
+*/
+// int LibStructural_getConservedSums(double* *outArray, int *outLength);
+RRVectorPtr getConservedSums(RRHandle handle);
+
+
+// --------------------------------------------------------------------------------
+// General purpose linear algebra methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Compute the eigenvalues of a double matrix
+ \param[in] mat Pointer to a to double matrix 
+ \return Returns NULL if it fails, otherwise returns a matrix of eigenvalues.
+ The first column will contain the real values and the second column the imaginary values
+ \ingroup LinearAlgebra
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getEigenvaluesMatrix(const RRDoubleMatrixPtr mat);
+
+/*!
+ \brief Compute the eigenvalues of a double matrix
+
+ \param[in] mat Handle to input matrix
+ \return Returns null if it fails, otherwise returns a complex vector of eigenvalues.
+ \ingroup LinearAlgebra
+*/
+C_DECL_SPEC RRComplexVectorPtr rrcCallConv getEigenvaluesVector(const RRDoubleMatrixPtr mat);
+
+//---------------------------------------------------------------------------
+#if defined(__cplusplus)
+}
+}
+#endif //rrc namespace and extern "C" scopes
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+#endif //Header guard
+
diff --git a/wrappers/C/rrc_logging_api.cpp b/wrappers/C/rrc_logging_api.cpp
new file mode 100644
index 0000000..53f959e
--- /dev/null
+++ b/wrappers/C/rrc_logging_api.cpp
@@ -0,0 +1,94 @@
+#pragma hdrstop
+#include "rrLogger.h"
+#include "rrException.h"
+#include "rrc_api.h"
+#include "rrc_logging_api.h"
+#include "rrc_cpp_support.h"
+#include "rrStringUtils.h"
+//---------------------------------------------------------------------------
+
+namespace rrc
+{
+using namespace rr;
+using namespace std;
+
+bool rrcCallConv enableLoggingToConsole()
+{
+    start_try
+        Logger::enableConsoleLogging();
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv disableLoggingToConsole()
+{
+    start_try
+        Logger::disableConsoleLogging();
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv enableLoggingToFile()
+{
+    start_try
+        Logger::enableFileLogging();
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv enableLoggingToFileWithPath(const char* path)
+{
+    start_try
+        Logger::enableFileLogging(path);
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv disableLoggingToFile()
+{
+    start_try
+        Logger::disableFileLogging();
+        return true;
+    catch_bool_macro
+}
+
+bool rrcCallConv setLogLevel(const char* _lvl)
+{
+    start_try
+        Logger::Level lvl = Logger::stringToLevel(_lvl);
+        Logger::setLevel(lvl);
+        return true;
+    catch_bool_macro
+}
+
+char* rrcCallConv getLogLevel()
+{
+    start_try
+        string level = Logger::getCurrentLevelAsString();
+        char* lvl = createText(level.c_str());
+        return lvl;
+    catch_ptr_macro
+}
+
+char* rrcCallConv getLogFileName()
+{
+    start_try
+        return createText(Logger::getFileName().c_str());
+    catch_ptr_macro
+}
+
+void rrcCallConv logMsg(CLogLevel lvl, const char* msg)
+{
+    start_try
+        if(msg)
+        {
+            Log((LogLevel) lvl)<<msg;
+        }
+        else
+        {
+            Log((LogLevel) lvl)<<"You passed a NULL message pointer to logMsg";
+        }
+    catch_void_macro
+}
+
+}
diff --git a/wrappers/C/rrc_logging_api.h b/wrappers/C/rrc_logging_api.h
new file mode 100644
index 0000000..b9c6f4e
--- /dev/null
+++ b/wrappers/C/rrc_logging_api.h
@@ -0,0 +1,171 @@
+/**
+ * @file rrc_logging_api.h
+ * @brief roadRunner C API 2012
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of cRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib for more details.
+ *
+ * Copyright (C) 2012-2013
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+
+#ifndef rrc_logging_apiH
+#define rrc_logging_apiH
+#include "rrc_exporter.h"
+#include "rrc_types.h"
+//---------------------------------------------------------------------------
+
+#if defined(__cplusplus)
+namespace rrc
+{
+extern "C"
+{
+#endif
+
+/*!
+ \brief Log level enum
+*/
+enum  CLogLevel
+    {
+        CL_PRIO_CURRENT = 0, /// Use the current level -- don't change the level from what it is.
+        CL_PRIO_FATAL = 1,   /// A fatal error. The application will most likely terminate. This is the highest priority.
+        CL_PRIO_CRITICAL,    /// A critical error. The application might not be able to continue running successfully.
+        CL_PRIO_ERROR,       /// An error. An operation did not complete successfully, but the application as a whole is not affected.
+        CL_PRIO_WARNING,     /// A warning. An operation completed with an unexpected result.
+        CL_PRIO_NOTICE,      /// A notice, which is an information with just a higher priority.
+        CL_PRIO_INFORMATION, /// An informational message, usually denoting the successful completion of an operation.
+        CL_PRIO_DEBUG,       /// A debugging message.
+        CL_PRIO_TRACE        /// A tracing message. This is the lowest priority.
+    };
+
+enum
+{
+    clError = CL_PRIO_ERROR,
+    clInfo  = CL_PRIO_INFORMATION,
+    clDebug = CL_PRIO_DEBUG,
+    clWarning = CL_PRIO_WARNING
+};
+/*!
+ \brief Enable logging to console
+ \return Returns true if successful, false otherwise
+ \ingroup logging
+*/
+C_DECL_SPEC bool rrcCallConv enableLoggingToConsole(void);
+
+/*!
+ \brief Disable logging to console
+ \return Returns true if successful, false otherwise
+ \ingroup logging
+*/
+C_DECL_SPEC bool rrcCallConv disableLoggingToConsole(void);
+
+/*!
+ \brief Enable logging to logFile
+ \return Returns true if successful, false otherwise
+ \ingroup logging
+*/
+C_DECL_SPEC bool rrcCallConv enableLoggingToFile();
+
+/*!
+ \brief Enable logging to a log file with the specified path
+ \return Returns true if successful, false otherwise
+ \ingroup logging
+*/
+C_DECL_SPEC bool rrcCallConv enableLoggingToFileWithPath(const char* path);
+
+/*!
+ \brief Disable logging to logFile
+ \return Returns true if successful, false otherwise
+ \ingroup logging
+*/
+C_DECL_SPEC bool rrcCallConv disableLoggingToFile();
+
+/*!
+ \brief Set the logging status level
+ The logging level is determined by the following strings
+
+ "ANY", "DEBUG5", "DEBUG4", "DEBUG3", "DEBUG2", "DEBUG1",
+ "DEBUG", "INFO", "WARNING", "ERROR"
+
+ Example: \code setLogLevel ("DEBUG4") \endcode
+
+ Will show log messages with levels DEBUG4, DEBUG3 -> Error
+
+ \param lvl Pointer to the logging level string.
+ \return Returns true if successful
+ \ingroup logging
+*/
+C_DECL_SPEC bool rrcCallConv setLogLevel(const char* lvl);
+
+/*!
+ \brief Get the logging status level as a pointer to a string
+
+ The logging level can be one of the following strings
+
+ "ANY", "DEBUG5", "DEBUG4", "DEBUG3", "DEBUG2", "DEBUG1",
+ "DEBUG", "INFO", "WARNING", "ERROR"
+
+ Example: \code str = getLogLevel (void) \endcode
+
+ \return Returns null if it fails else returns a pointer to the logging string
+ \ingroup logging
+*/
+C_DECL_SPEC char* rrcCallConv getLogLevel(void);
+
+/*!
+ \brief Get a pointer to the string that holds the logging file name path
+
+  Example: str = getLogFileName (void)
+
+ \return Returns null if it fails otherwise returns the full path to the logging file name
+ \ingroup logging
+*/
+C_DECL_SPEC char* rrcCallConv getLogFileName(void);
+
+
+/*!
+ \brief Create a log message
+ \param lvl Loglevel for message
+ \param msg Log message
+ \ingroup logging
+*/C_DECL_SPEC void rrcCallConv logMsg(enum CLogLevel lvl, const char* msg);
+
+
+#if defined(__cplusplus)
+}    //Extern "C"
+
+}    //rrc namespace
+#endif
+
+#endif
+
diff --git a/wrappers/C/rrc_macros.h b/wrappers/C/rrc_macros.h
new file mode 100644
index 0000000..0224307
--- /dev/null
+++ b/wrappers/C/rrc_macros.h
@@ -0,0 +1,109 @@
+/**
+ * @file rrc_macros.h
+ * @brief roadRunner C API 2012
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of cRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib for more details.
+ *
+ * Copyright (C) 2012-2013
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+#ifndef rrc_macrosH
+#define rrc_macrosH
+
+//=================== MACROS ================================
+/*!
+ \brief macro to open a try/catch statement
+ \ingroup macros
+*/
+#define start_try                                           \
+        try                                                 \
+        {
+
+/*!
+ \brief macro for catch statement in a routine returning a bool
+ \ingroup macros
+*/
+#define  catch_bool_macro                                   \
+    }                                                       \
+    catch(exception& ex)                                    \
+    {                                                       \
+        stringstream msg;                                   \
+        msg<<"RoadRunner exception: "<<ex.what()<<endl;     \
+        setError(msg.str());                                \
+        return false;                                       \
+    }
+
+/*!
+ \brief macro for catch statement in a routine returning a pointer
+ \ingroup macros
+*/
+#define  catch_ptr_macro                                    \
+    }                                                       \
+    catch(exception& ex)                                    \
+    {                                                       \
+        stringstream msg;                                   \
+        msg<<"RoadRunner exception: "<<ex.what()<<endl;     \
+        setError(msg.str());                                \
+        return NULL;                                        \
+    }
+
+/*!
+ \brief macro for catch statement in a routine returning a positive integer
+ \ingroup macros
+*/
+#define catch_int_macro                                     \
+    }                                                       \
+    catch(exception& ex)                                    \
+    {                                                       \
+        stringstream msg;                                   \
+        msg<<"RoadRunner exception: "<<ex.what()<<endl;     \
+        setError(msg.str());                                \
+        return -1;                                          \
+    }
+
+/*!
+ \brief macro for catch statement in a routine returning void
+ \ingroup macros
+*/
+#define catch_void_macro                                    \
+    }                                                       \
+    catch(const exception& ex)                              \
+    {                                                       \
+        stringstream msg;                                   \
+        msg<<"RoadRunner exception: "<<ex.what()<<endl;     \
+        setError(msg.str());                                \
+    }
+
+#endif
+
diff --git a/wrappers/C/rrc_nom_api.cpp b/wrappers/C/rrc_nom_api.cpp
new file mode 100644
index 0000000..51c7063
--- /dev/null
+++ b/wrappers/C/rrc_nom_api.cpp
@@ -0,0 +1,39 @@
+#pragma hdrstop
+#include "rrRoadRunner.h"
+#include "rrExecutableModel.h"
+#include "rrException.h"
+#include "rrc_nom_api.h"
+#include "rrc_cpp_support.h"
+#include "rrc_macros.h"
+#include "rrStringUtils.h"
+#include "rrLogger.h"
+//---------------------------------------------------------------------------
+namespace rrc
+{
+using namespace rr;
+using namespace std;
+//NOM forwarded functions
+
+char* rrcCallConv getModelName(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        return createText(rri->getModelName());
+    catch_ptr_macro
+}
+
+int rrcCallConv getNumberOfRules(RRHandle handle)
+{
+    start_try
+        RoadRunner* rri = castToRoadRunner(handle);
+        if(!rri->getModel())
+        {
+            Log(Logger::LOG_WARNING)<<"Model is not allocated.";
+            return -1;
+        }
+        int value = rri->getModel()->getNumRateRules();
+        return value;
+    catch_int_macro
+}
+
+} //namespace rrc
diff --git a/wrappers/C/rrc_nom_api.h b/wrappers/C/rrc_nom_api.h
new file mode 100644
index 0000000..ad624e1
--- /dev/null
+++ b/wrappers/C/rrc_nom_api.h
@@ -0,0 +1,82 @@
+/**
+ * @file rrc_nom_api.h
+ * @brief roadRunner C API 2012
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of cRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib for more details.
+ *
+ * Copyright (C) 2012-2013
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+#ifndef rrc_nom_apiH
+#define rrc_nom_apiH
+#include "rrc_exporter.h"
+#include "rrc_types.h"
+//---------------------------------------------------------------------------
+
+#if defined(__cplusplus)
+namespace rrc
+{
+extern "C"
+{
+#endif
+//---------------------------------------------------------------------------
+
+// --------------------------------------------------------------------------------
+// Network Object Model (NOM) library forwarded functions
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Returns the number of rules in the current model
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns an integer larger or equal to 0 if successful, or -1 on failure
+ \ingroup NOM functions
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfRules(RRHandle handle);
+
+/*!
+ \brief Returns the name of currently loaded SBML model
+ \param[in] handle Handle to a RoadRunner instance
+ \return Returns a char* containing the name if successful, NULL otherwise
+ \ingroup NOM functions
+*/
+C_DECL_SPEC char* rrcCallConv getModelName(RRHandle handle);
+
+
+//---------------------------------------------------------------------------
+#if defined(__cplusplus)
+}	//Extern "C"
+}	//rrc namespace
+#endif
+
+#endif
diff --git a/wrappers/C/rrc_pch.h b/wrappers/C/rrc_pch.h
new file mode 100644
index 0000000..2cd4165
--- /dev/null
+++ b/wrappers/C/rrc_pch.h
@@ -0,0 +1,60 @@
+#ifndef rr_pchH
+#define rr_pchH
+//#include <windows.h>
+//
+//
+////STD includes
+#include <algorithm>
+#include <cctype>
+#include <deque>
+#include <exception>
+#include <fstream>
+#include <iostream>
+#include <list>
+#include <limits>
+#include <sstream>
+#include <sstream>
+#include <stack>
+#include <string>
+#include <vector>
+#include <iomanip>
+#include <ostream>
+
+#include <map>
+
+////c headers includes
+#include <cmath>
+#include <math.h>
+#include <stdio.h>
+#include <stdarg.h>
+
+#include "sbml/Model.h"
+#include "sbml/SBMLDocument.h"
+#include "rr-libstruct/lsLibStructural.h"
+
+
+#include "rrException.h"
+//#include "rrLogger.h"
+//#include "rrUtils.h"
+//#include "rrCapability.h"
+//#include "rrCapabilities.h"
+//#include "rrCGenerator.h"
+//#include "rrCSharpGenerator.h"
+//#include "rrCVODEInterface.h"
+//#include "rrException.h"
+//#include "rrLogger.h"
+//#include "rrLogger.h"
+//#include "rrObject.h"
+//#include "rrRoadRunner.h"
+//#include "rrRule.h"
+//#include "rrScanner.h"
+//#include "rrStringListContainer.h"
+//#include "rrStringUtils.h"
+//#include "rrStringUtils.h"
+//#include "rrUtils.h"
+
+
+
+
+#endif
+
diff --git a/wrappers/C/rrc_types.h b/wrappers/C/rrc_types.h
new file mode 100644
index 0000000..dbd8c26
--- /dev/null
+++ b/wrappers/C/rrc_types.h
@@ -0,0 +1,159 @@
+/**
+ * @file rrc_types.h
+ * @brief roadRunner C API 2012
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of cRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib/ for more details.
+ *
+ * Copyright (C) 2012
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+
+#ifndef rrc_typesH
+#define rrc_typesH
+
+#if defined(__cplusplus)
+namespace rrc { extern "C" {
+#endif
+
+/*!@brief Void pointer to a RoadRunner instance */
+typedef void* RRHandle; /*! Void pointer to a RoadRunner instance */
+
+
+// ===================================== C TYPES =====================================
+
+/*!@struct*/
+/*!@brief Structure for a simple vector of doubles */
+typedef struct RRVector
+{
+    int             Count;                  /*!< The number of elements in the vector */
+    double*         Data;                   /*!< Points to an array of double items */
+} *RRVectorPtr;                             /*!< Pointer to RRVectorHandle struct */
+
+/*!@struct*/
+/*!@brief Structure for a simple vector of strings */
+typedef struct RRStringArray
+{
+    int             Count;                    /*!< The number of elements in the string array */
+    char**          String;                    /*!< Points to an array of string items */
+} *RRStringArrayPtr;                        /*!< Pointer to RRStringListHandle struct */
+
+/*!@struct*/
+/*!@brief Structure for a simple double Matrix type */
+typedef struct RRDoubleMatrix
+{
+    int             RSize;                  /*!< The number of rows in the matrix */
+    int             CSize;                  /*!< The number of columns in the matrix */
+    double*         Data;                   /*!< Items in the matrix stored as a linear array. Access an element using Data[row*CSize + col],
+                                                            where i,j represent the row and column numberof the element. Indexing is from zero */
+} *RRDoubleMatrixPtr;                       /*!< Pointer to RRDoubleMatrixPtr struct */
+
+/*!@struct*/
+/*!@brief Structure for a complex number */
+typedef struct RRComplex
+{
+    double          re;                     /*!< Real part of complex number */
+    double          imag;                   /*!< imag part of complex number */
+} *RRComplexPtr;                            /*!< Pointer to a RRComplex number */
+
+/*!@struct*/
+/*!@brief Structure for a simple complex Vector type */
+typedef struct RRComplexVector
+{
+    int                 Count;              /*!< The number of elements in the vector */
+    RRComplexPtr        Data;               /*!< Access an element using Data[i], where
+                                                i represents the index of the element. Indexing is from zero */
+} *RRComplexVectorPtr;                      /*!< Pointer to RRVectorHandle struct */
+
+/*!@struct*/
+/*!@brief Structure for a simple complex Matrix type */
+typedef struct RRComplexMatrix
+{
+    int                 RSize;              /*!< The number of rows in the matrix */
+    int                 CSize;              /*!< The number of columns in the matrix */
+    RRComplexPtr        Data;               /*!< Items in the matrix stored as a linear array. Access an element using Data[row*CSize + col],
+                                                  where i,j represent the row and column numberof the element. Indexing is from zero */
+} *RRComplexMatrixPtr;                      /*!< Pointer to RRDoubleMatrixPtr struct */
+
+/*!@struct*/
+/*!@brief Structure for the result type from the simulate calls. The client is responsible for freeing the RRCDataPtr. */
+typedef struct RRCData
+{
+    int             RSize;                  /*!< The number of rows in the data matrix */
+    int             CSize;                  /*!< The number of columns in the data matrix */
+    double*         Data;                   /*!< A pointer to the data stored in the matrix. Access an element using Data[row*CSize + col] */
+    double*         Weights;                /*!< A pointer to weights stored in the Weights matrix. Access an element using Weights[row*CSize + col] */
+    char**          ColumnHeaders;          /*!< Pointer to an array of column header strings */
+} *RRCDataPtr;                              /*!< Pointer to RRCDataPtr struct */
+
+/*!@enum*/
+/*!@brief The list type supports strings, integers, double and lists */
+enum ListItemType {litString, litInteger, litDouble, litList};
+
+/*!@enum*/
+/*!@brief A parameters type can be string, bool, integer, double, vector or a matrix */
+enum RRParameterType {ptString, ptBool, ptInteger, ptDouble, ptVector, ptMatrix};
+
+// The above enums correspond to the currently supported types in a RRArrayList
+struct RRList;    //Forward declaration for RRListItem, needed for RRListItem
+
+/*!@struct*/
+/*!@brief A single list element type */
+typedef struct RRListItem
+{
+    enum ListItemType ItemType;             /*!< The type of the item in this list element */
+    union
+    {
+       int              iValue;             /*!< Integer value */
+       double           dValue;             /*!< Double value */
+       char*            sValue;             /*!< String value */
+       struct RRList*   lValue;             /*!< List value */
+    } data;                                 /*!< Union */
+} *RRListItemPtr;                           /*!< Pointer to cRRArrayListItemHandle struct */
+
+
+/*!@struct*/
+/*!@brief A list type, stores int, double, strings and lists */
+typedef struct RRList
+{
+    int                 Count;              /*!< The number elements in this list */
+    RRListItemPtr      *Items;              /*!< A pointer to a list of items */
+}  *RRListPtr;                              /*!< Pointer to cRRArrayListHandle struct */
+
+#if defined( __cplusplus)
+}
+}// rcc namespace
+#endif
+
+
+#endif
diff --git a/wrappers/C/rrc_utilities.cpp b/wrappers/C/rrc_utilities.cpp
new file mode 100644
index 0000000..501d94a
--- /dev/null
+++ b/wrappers/C/rrc_utilities.cpp
@@ -0,0 +1,800 @@
+#pragma hdrstop
+#include "rrc_types.h"
+#include "rrc_exporter.h"
+
+#include "rrc_utilities.h"         // Need to include this before the support header..
+#include "rrc_macros.h"
+#include "rrc_cpp_support.h"
+
+#include <string>
+#include <iostream>
+#include <sstream>
+#include <fstream>
+#include "rrRoadRunner.h"
+#include "rrUtils.h"
+#include "rrException.h"
+
+//---------------------------------------------------------------------------
+// max path stuff
+#if defined(_WIN32)
+#include <windef.h>
+#define RR_MAX_PATH MAX_PATH
+#else
+#include <limits.h>
+#define RR_MAX_PATH PATH_MAX
+#endif
+
+namespace rrc
+{
+using namespace std;
+using namespace rr;
+using namespace rrc;
+
+const char* ALLOCATE_API_ERROR_MSG         = "Allocate a handle to the roadrunner API before calling any API function";
+const char* INVALID_HANDLE_ERROR_MSG     = "The HANDLE passed to this function was invalid";
+char*       gLastError                  = NULL;
+char        gInstallFolderBuffer[RR_MAX_PATH] = {0};
+char*       gInstallFolder = gInstallFolderBuffer;
+
+char* rrcCallConv createText(const char* text)
+{
+    return rr::createText(text);
+}
+
+char* rrcCallConv getFileContent(const char* fName)
+{
+    start_try
+        string fContent = rr::getFileContent(fName);
+        return rr::createText(fContent);
+    catch_ptr_macro
+}
+
+int rrcCallConv compileSource(RRHandle handle, const char* sourceFileName)
+{
+    return true;
+}
+
+char* rrcCallConv createTextMemory(const int count)
+{
+    return rr::createText(count);
+}
+
+// -------------------------------------------------------------------
+// List Routines
+// -------------------------------------------------------------------
+RRListPtr rrcCallConv createRRList()
+{
+    RRListPtr list = new RRList;
+    list->Count = 0;
+    list->Items = NULL;
+    return list;
+}
+
+void rrcCallConv freeRRList (RRListPtr theList)
+{
+    if(!theList)
+    {
+        return;
+    }
+    int itemCount = theList->Count;
+    for(int i = 0; i < itemCount; i++)
+    {
+        if(theList->Items[i]->ItemType == litString)
+        {
+              delete [] theList->Items[i]->data.sValue;
+        }
+
+        if(theList->Items[i]->ItemType == litList)
+        {
+            freeRRList ((RRList *) theList->Items[i]->data.lValue);
+        }
+        delete theList->Items[i];
+    }
+    delete [] theList->Items;
+    delete theList;
+}
+
+RRListItemPtr rrcCallConv createIntegerItem (int value)
+{
+    RRListItemPtr item =  new RRListItem;
+    item->ItemType = litInteger;
+    item->data.iValue = value;
+    return item;
+}
+
+RRListItemPtr rrcCallConv createDoubleItem (double value)
+{
+    RRListItemPtr item = new RRListItem;
+    item->ItemType = litDouble;
+    item->data.dValue = value;
+    return item;
+}
+
+RRListItemPtr rrcCallConv createStringItem (char* value)
+{
+    RRListItemPtr item = new RRListItem;
+    item->ItemType = litString;
+    item->data.sValue = rr::createText(value);
+    return item;
+}
+
+RRListItemPtr rrcCallConv createListItem (RRList* value)
+{
+    RRListItemPtr item = new RRListItem;
+    item->ItemType = litList;
+    item->data.lValue = value;
+    return item;
+}
+
+// Add an item to a given list, returns the index to
+// the item in the list. Returns -1 if it fails.
+int rrcCallConv addItem (RRListPtr list, RRListItemPtr *item)
+{
+    int n = list->Count;
+
+    RRListItemPtr *newItems = new RRListItemPtr [n+1];
+    if(!newItems)
+    {
+        setError("Failed allocating memory in addItem()");
+        return -1;
+    }
+
+    for(int i = 0; i < n; i++)
+    {
+        newItems[i] = list->Items[i];
+    }
+
+    newItems[n] = *item;
+    RRListItemPtr *oldItems = list->Items;
+    list->Items = newItems;
+
+    delete [] oldItems;
+
+    list->Count = n+1;
+    return n;
+}
+
+int rrcCallConv isListItemInteger (RRListItemPtr item)
+{
+    return (item->ItemType == litInteger) ? true : false;
+}
+
+int rrcCallConv isListItemDouble (RRListItemPtr item)
+{
+    return (item->ItemType == litDouble) ? true : false;
+}
+
+int rrcCallConv isListItemString (RRListItemPtr item)
+{
+    return (item->ItemType == litString) ? true : false;
+}
+
+int rrcCallConv isListItemList (RRListItemPtr item)
+{
+    return (item->ItemType == litList) ? true : false;
+}
+
+RRListItemPtr rrcCallConv getListItem (RRListPtr list, int index)
+{
+    return (index >= list->Count) ? NULL : list->Items[index];
+}
+
+int rrcCallConv getIntegerListItem (RRListItemPtr item, int *value)
+{
+    if (item->ItemType == litInteger)
+    {
+        *value = item->data.iValue;
+        return true;
+    }
+    return false;
+}
+
+int rrcCallConv getDoubleListItem (RRListItemPtr item, double *value)
+{
+    if (item->ItemType == litDouble)
+    {
+        *value = item->data.dValue;
+         return true;
+    }
+
+    return false;
+}
+
+char* rrcCallConv getStringListItem (RRListItemPtr item)
+{
+    return (item->ItemType == litString) ? item->data.sValue : NULL;
+}
+
+RRListPtr rrcCallConv getList (RRListItemPtr item)
+{
+    return (item->ItemType == litList) ? item->data.lValue : NULL;
+}
+
+int rrcCallConv isListItem (RRListItemPtr item, ListItemType itemType)
+{
+    return  (item->ItemType == itemType) ? true : false;
+}
+
+int rrcCallConv getListLength (RRListPtr myList)
+{
+    return myList->Count;
+}
+
+char* rrcCallConv listToString (RRListPtr list)
+{
+    start_try
+        if(!list)
+        {
+            return NULL;
+        }
+
+        //Types of list items
+        char*           cVal;
+        int             intVal;
+        double          dVal;
+        RRList*        lVal;         //list is nested list
+        stringstream resStr;
+        resStr<<"{";
+        for(int i = 0; i < list->Count; i++)
+        {
+            switch(list->Items[i]->ItemType)
+            {
+                case litString:
+                    cVal = list->Items[i]->data.sValue;
+                    resStr<<"\"";
+                    if(cVal)
+                    {
+                        resStr<<cVal;
+                    }
+                    resStr<<"\"";
+                break;
+
+                case litInteger:
+                    intVal = list->Items[i]->data.iValue;
+                    resStr<< (intVal);
+                break;
+
+                case litDouble:
+                    dVal =  list->Items[i]->data.dValue;
+                    resStr<< (dVal);
+                break;
+
+                case litList:
+                    lVal = list->Items[i]->data.lValue;
+                    if(lVal)
+                    {
+                        char* text = listToString(lVal);
+                        resStr<<text;
+                        rrc::freeText(text);
+                    }
+                    else
+                    {
+                        resStr<<"{}";
+                    }
+                break;
+            }
+
+            if(i < list->Count -1)
+            {
+                resStr<<",";
+            }
+        }
+        resStr<<"}";
+        return rr::createText(resStr.str());
+    catch_ptr_macro
+}
+
+// Free Functions =====================================================
+int rrcCallConv freeMatrix(RRDoubleMatrixPtr matrix)
+{
+    start_try
+        if(matrix)
+        {
+            delete [] (matrix->Data);
+            delete matrix;
+        }
+        return true;
+    catch_bool_macro
+}
+
+int rrcCallConv freeRRCData(RRCDataPtr handle)
+{
+    start_try
+        if (handle)
+        {
+            delete[] handle->Data;
+            for (int i = 0; i < handle->CSize; i++)
+            {
+                rr::freeText(handle->ColumnHeaders[i]);
+            }
+            delete[] handle->ColumnHeaders;
+            delete handle;
+        }
+        return true;
+    catch_bool_macro
+}
+
+int rrcCallConv freeText(char* text)
+{
+    start_try
+
+        return rr::freeText(text);
+    catch_bool_macro
+}
+
+int rrcCallConv freeStringArray(RRStringArrayPtr sl)
+{
+    start_try
+        if(!sl) //Already free
+        {
+            return true;
+        }
+        for(int i = 0; i < sl->Count; i++)
+        {
+            delete [] sl->String[i];
+        }
+        delete [] sl->String;
+        delete sl;
+        return true;
+    catch_bool_macro
+}
+
+int rrcCallConv freeVector(RRVectorPtr vector)
+{
+    start_try
+        if(vector)
+        {
+           delete [] vector->Data;
+        }
+        delete vector;
+        return true;
+    catch_bool_macro
+}
+
+
+RRVectorPtr rrcCallConv createVector (int size)
+{
+   RRVectorPtr list = new RRVector;
+   list->Count = size;
+   if (size)
+     list->Data = new double[list->Count];
+   else
+     list->Data = NULL;
+   return list;
+}
+
+int rrcCallConv getVectorLength (RRVectorPtr vector)
+{
+    if (vector == NULL)
+    {
+        setError ("Vector argument is null in getVectorLength");
+        return -1;
+    }
+    else
+    {
+        return vector->Count;
+    }
+}
+
+int rrcCallConv getVectorElement (RRVectorPtr vector, int index, double *value)
+{
+    if (vector == NULL)
+    {
+        setError ("Vector argument is null in getVectorElement");
+        return false;
+    }
+
+    if ((index < 0) || (index >= vector->Count))
+    {
+        stringstream msg;
+        msg << "Index out range in getVectorElement: " << index;
+        setError(msg.str());
+        return false;
+    }
+
+    *value = vector->Data[index];
+    return true;
+}
+
+int rrcCallConv setVectorElement (RRVectorPtr vector, int index, double value)
+{
+    if (vector == NULL)
+    {
+        setError ("Vector argument is null in setVectorElement");
+        return false;
+    }
+
+    if ((index < 0) || (index >= vector->Count))
+    {
+        stringstream msg;
+        msg << "Index out range in setVectorElement: " << index;
+        setError(msg.str());
+        return false;
+    }
+
+    vector->Data[index] = value;
+    return true;
+}
+
+// Matrix Routines
+// ------------------------------------------------------------------------------------
+RRDoubleMatrixPtr rrcCallConv createRRMatrix (int r, int c)
+{
+    RRDoubleMatrixPtr matrix = new RRDoubleMatrix;
+    matrix->RSize = r;
+    matrix->CSize = c;
+    int dim =  matrix->RSize * matrix->CSize;
+    if(dim)
+    {
+        matrix->Data =  new double[dim];
+        return matrix;
+    }
+    else
+    {
+        delete matrix;
+        setError ("Dimensions for new RRDoubleMatrix in createRRMatrix are zero");
+        return NULL;
+    }
+}
+
+int rrcCallConv getMatrixNumRows (RRDoubleMatrixPtr m)
+{
+    if (m == NULL)
+    {
+        setError ("Matrix argument is null in getMatrixNumRows");
+        return -1;
+    }
+    return m->RSize;
+}
+
+int  rrcCallConv getMatrixNumCols (RRDoubleMatrixPtr m)
+{
+    if (m == NULL)
+    {
+        setError ("Matrix argument is null in getMatrixNumCols");
+        return -1;
+    }
+
+    return m->CSize;
+}
+
+int rrcCallConv getMatrixElement (RRDoubleMatrixPtr m, int r, int c, double* value)
+{
+    if (m == NULL)
+    {
+        setError ("Matrix argument is null in getMatrixElement");
+        return false;
+    }
+
+    if ((r < 0) || (c < 0) || (r >= m->RSize) || (c >= m->CSize))
+    {
+        stringstream msg;
+        msg << "Index out range in getMatrixElement: " << r << ", " << c;
+        setError(msg.str());
+        return false;
+    }
+
+    *value = m->Data[r*m->CSize + c];
+    return true;
+}
+
+int rrcCallConv setMatrixElement (RRDoubleMatrixPtr m, int r, int c, double value)
+{
+    if (m == NULL)
+    {
+        setError ("Matrix argument is null in setMatrixElement");
+        return false;
+    }
+
+    if ((r < 0) || (c < 0) || (r >= m->RSize) || (c >= m->CSize))
+    {
+        stringstream msg;
+        msg << "Index out range in setMatrixElement: " << r << ", " << c;
+        setError(msg.str());
+        return false;
+    }
+
+    m->Data[r*m->CSize + c] = value;
+    return true;
+}
+
+int rrcCallConv getComplexMatrixElement (RRComplexMatrixPtr m, int r, int c, RRComplexPtr value)
+{
+    if (m == NULL)
+    {
+        setError ("Matrix argument is null in getComplexMatrixElement");
+        return false;
+    }
+
+    if ((r < 0) || (c < 0) || (r >= m->RSize) || (c >= m->CSize))
+    {
+        stringstream msg;
+        msg << "Index out range in getComplexMatrixElement: " << r << ", " << c;
+        setError(msg.str());
+        return false;
+    }
+
+    value->re = m->Data[r*m->CSize + c].re;
+    value->imag = m->Data[r*m->CSize + c].imag;
+    return true;
+}
+
+int rrcCallConv setComplexMatrixElement (RRComplexMatrixPtr m, int r, int c, RRComplex* value)
+{
+    if (m == NULL)
+    {
+        setError ("Matrix argument is null in setComplexMatrixElement");
+        return false;
+    }
+
+    if ((r < 0) || (c < 0) || (r >= m->RSize) || (c >= m->CSize))
+    {
+        stringstream msg;
+        msg << "Index out range in setComplexMatrixElement: " << r << ", " << c;
+        setError(msg.str());
+        return false;
+    }
+
+    m->Data[r*m->CSize + c].re = value->re;
+    m->Data[r*m->CSize + c].imag = value->imag;
+    return true;
+}
+
+int rrcCallConv  getRRDataNumRows (RRCDataPtr result)
+{
+    if (result == NULL)
+    {
+       setError ("result argument is null in getResultNumRows");
+       return -1;
+    }
+    return result->RSize;
+}
+
+int  rrcCallConv  getRRDataNumCols (RRCDataPtr result)
+{
+    if (result == NULL)
+    {
+       setError ("result argument is null in getResultNumCols");
+       return -1;
+    }
+    return result->CSize;
+}
+
+int  rrcCallConv getRRCDataElement(RRCDataPtr result, int r, int c, double *value)
+{
+    if (result == NULL)
+    {
+       setError ("result argument is null in getResultElement");
+       return false;
+    }
+
+    if ((r < 0) || (c < 0) || (r >= result->RSize) || (c >= result->CSize))
+    {
+        stringstream msg;
+        msg << "Index out range in getResultElement: " << r << ", " << c;
+        setError(msg.str());
+        return false;
+    }
+
+    *value = result->Data[r*result->CSize + c];
+    return true;
+}
+
+char*  rrcCallConv getRRDataColumnLabel (RRCDataPtr result, int column)
+{
+    if (result == NULL)
+    {
+       setError ("result argument is null in getResultColumnLabel");
+       return NULL;
+    }
+
+    if ((column < 0) || (column >= result->CSize))
+    {
+        stringstream msg;
+        msg << "Index out range in getResultColumnLabel: " << column;
+        setError(msg.str());
+        return NULL;
+    }
+
+    return result->ColumnHeaders[column];
+}
+
+
+// Utility functions ==========================================================
+int rrcCallConv getNumberOfStringElements (const RRStringArrayPtr list)
+{
+    if (!list)
+        return (-1);
+    else
+        return (list->Count);
+}
+
+char* rrcCallConv getStringElement (RRStringArrayPtr list, int index)
+{
+    start_try
+      if (list == NULL)
+      {
+         return NULL;
+      }
+
+      if ((index < 0) || (index >= list->Count))
+      {
+         setError("Index out of range");
+         return NULL;
+      }
+
+      return rr::createText(list->String[index]);
+    catch_ptr_macro
+}
+
+char* rrcCallConv stringArrayToString (const RRStringArrayPtr list)
+{
+    start_try
+        if(!list)
+        {
+            return NULL;
+        }
+
+        stringstream resStr;
+        for(int i = 0; i < list->Count; i++)
+        {
+            resStr<<list->String[i];;
+            if(i < list->Count -1)
+            {
+                resStr <<" ";
+            }
+        }
+
+        return rr::createText(resStr.str());
+    catch_ptr_macro
+}
+
+char* rrcCallConv rrCDataToString(const RRCDataPtr result)
+{
+    start_try
+        if(!result)
+        {
+            return NULL;
+        }
+        stringstream resStr;
+        //RRData is a 2D matrix, and column headers (strings)
+        //First header....
+        for(int i = 0; i < result->CSize; i++)
+        {
+            resStr<<result->ColumnHeaders[i];
+            if(i < result->CSize -1)
+            {
+                resStr <<"\t";
+            }
+        }
+        resStr<<endl;
+
+        //Then the data
+        int index = 0;
+        for(int j = 0; j < result->RSize; j++)
+           {
+            for(int i = 0; i < result->CSize; i++)
+            {
+                resStr<<result->Data[index++];
+                if(i < result->CSize -1)
+                {
+                    resStr <<"\t";
+                }
+            }
+            resStr <<"\n";
+        }
+        return rr::createText(resStr.str());
+    catch_ptr_macro
+}
+
+char* rrcCallConv matrixToString(const RRDoubleMatrixPtr matrixHandle)
+{
+    start_try
+        if(!matrixHandle)
+        {
+            return NULL;
+        }
+
+        RRDoubleMatrix& mat = *matrixHandle;
+        stringstream ss;
+        //ss<<"\nmatrix dimension: "<<mat.RSize<<"x"<<mat.CSize<<" --\n";
+        ss<<"\n";
+        for(int row = 0; row < mat.RSize; row++)
+        {
+            for(int col = 0; col < mat.CSize; col++)
+            {
+                ss<<mat.Data[row*mat.CSize + col];
+                if(col < mat.CSize + 1)
+                {
+                    ss<<"\t";
+                }
+            }
+            ss<<endl;
+        }
+        return rr::createText(ss.str());
+    catch_ptr_macro
+}
+
+char* rrcCallConv complexMatrixToString(const RRComplexMatrixPtr matrixHandle)
+{
+    start_try
+        if(!matrixHandle)
+        {
+            return NULL;
+        }
+
+        RRComplexMatrix& mat = *matrixHandle;
+        stringstream ss;
+        //ss<<"\nmatrix dimension: "<<mat.RSize<<"x"<<mat.CSize<<" --\n";
+        ss<<"\n";
+        for(int row = 0; row < mat.RSize; row++)
+        {
+            for(int col = 0; col < mat.CSize; col++)
+            {
+                ss<<"("<<mat.Data[row*mat.CSize + col].re<<","<<mat.Data[row*mat.CSize + col].imag<<")";
+                if(col < mat.CSize + 1)
+                {
+                    ss<<"\t";
+                }
+            }
+            ss<<endl;
+        }
+        return rr::createText(ss.str());
+    catch_ptr_macro
+}
+
+char* rrcCallConv vectorToString(RRVectorPtr vecHandle)
+{
+    start_try
+        if(!vecHandle)
+        {
+            setError("Null vector in vectorToString");
+            return NULL;
+        }
+
+        RRVector& vec = *vecHandle;
+
+        stringstream ss;
+
+        for(int index = 0; index < vec.Count; index++)
+        {
+            ss<<vec.Data[index];
+            if(index < vec.Count + 1)
+            {
+                ss<<"\t";
+            }
+        }
+        ss<<endl;
+        return rr::createText(ss.str());
+    catch_ptr_macro
+}
+
+char* rrcCallConv complexVectorToString(RRComplexVectorPtr vecHandle)
+{
+    start_try
+        if(!vecHandle)
+        {
+            setError("Null vector in vectorToString");
+            return NULL;
+        }
+
+        RRComplexVector& vec = *vecHandle;
+
+        stringstream ss;
+        for(int index = 0; index < vec.Count; index++)
+        {
+            ss<<"("<<vec.Data[index].re<<","<<vec.Data[index].imag<<")";
+            if(index < vec.Count + 1)
+            {
+                ss<<"\t";
+            }
+        }
+        ss<<endl;
+        return rr::createText(ss.str());
+    catch_ptr_macro
+}
+
+}
+
+
+
diff --git a/wrappers/C/rrc_utilities.h b/wrappers/C/rrc_utilities.h
new file mode 100644
index 0000000..ee3ea24
--- /dev/null
+++ b/wrappers/C/rrc_utilities.h
@@ -0,0 +1,669 @@
+/**
+ * @file rrc_utilities.h
+ * @brief roadRunner C API 2012
+ * @author Totte Karlsson & Herbert M Sauro
+ *
+ * <--------------------------------------------------------------
+ * This file is part of cRoadRunner.
+ * See http://code.google.com/p/roadrunnerlib for more details.
+ *
+ * Copyright (C) 2012-2013
+ *   University of Washington, Seattle, WA, USA
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * In plain english this means:
+ *
+ * You CAN freely download and use this software, in whole or in part, for personal,
+ * company internal, or commercial purposes;
+ *
+ * You CAN use the software in packages or distributions that you create.
+ *
+ * You SHOULD include a copy of the license in any redistribution you may make;
+ *
+ * You are NOT required include the source of software, or of any modifications you may
+ * have made to it, in any redistribution you may assemble that includes it.
+ *
+ * YOU CANNOT:
+ *
+ * redistribute any piece of this software without proper attribution;
+*/
+
+#ifndef rrc_utilitiesH
+#define rrc_utilitiesH
+#include "rrc_exporter.h"
+#include "rrc_types.h"
+#include "rrc_exporter.h"
+#include "rrc_macros.h"
+//---------------------------------------------------------------------------
+
+#if defined(__cplusplus)
+namespace rrc
+{
+extern "C"
+{
+#endif
+
+/*!
+ \brief Global parameter holding last error, if any
+*/
+extern char* gLastError;
+
+/*!
+ \brief Global parameter holding C API install folder
+*/
+extern char* gInstallFolder;
+
+//Error/Warning Messages
+/*!
+ \brief Global parameter holding message for an un-allocated API
+*/
+extern const char*  ALLOCATE_API_ERROR_MSG;
+
+/*!
+ \brief Global parameter holding message when an invalid is handed to a function
+*/
+extern const char*  INVALID_HANDLE_ERROR_MSG;
+
+/*!
+ \brief Retrieves the the content of a file.
+ \param[in] fName Pointer to a string holding the name and optionla path to a file
+ \return Content of file as a string, returns null if it fails
+ \ingroup utilities
+*/
+C_DECL_SPEC char*        rrcCallConv    getFileContent(const char* fName);
+
+/*!
+ \brief Creates memory for holding a string
+ \param[in] text Pointer to a string
+ \return Pointer to a memory holding a copy of the input string
+ \ingroup utilities
+*/
+C_DECL_SPEC char*        rrcCallConv    createText(const char* text);
+
+/*!
+ \brief Creates memory for holding a string
+ \param[in] count integer indicating number of elements to allocate
+ \return Pointer to string memory
+ \ingroup utilities
+*/
+C_DECL_SPEC char*        rrcCallConv    createTextMemory(const int count);
+
+// --------------------------------------------------------------------
+// List support routines
+// --------------------------------------------------------------------
+
+/*!
+ \brief Create a new list
+
+ A list is a container for storing list items. List items can represent integers, double, strings and lists.
+ To populate a list, create list items of the appropriate type and add them to the list
+
+ Example, build the list [123, [3.1415926]]
+
+ \code
+ l = createRRList(RRHandle handle);
+ item = createIntegerItem (123);
+ addItem (l, item);
+ item1 = createListItem(RRHandle handle);
+ item2 = createDoubleItem (3.1415926);
+ addItem (item1, item2);
+ addItem (l, item1);
+
+ item = getListItem (l, 0);
+ printf ("item = %d\n", item->data.iValue);
+
+ printf (listToString (l));
+ freeRRList (l);
+ \endcode
+
+ \return Returns null if fails, otherwise returns a pointer to a new list structure
+ \ingroup list
+*/
+C_DECL_SPEC RRListPtr rrcCallConv createRRList(void);
+
+/*!
+ \brief Free RRListPtr structure, i.e destroy a list
+ \ingroup list
+*/
+C_DECL_SPEC void rrcCallConv freeRRList (RRListPtr list);
+
+/*!
+ \brief Returns the length of a given list
+
+ \param[in] myList The list to retrieve the length from
+ \return Length of list
+\ingroup list
+*/
+C_DECL_SPEC int rrcCallConv getListLength (RRListPtr myList);
+
+
+/*!
+ \brief Create a list item to store an integer
+
+ \param[in] value The integer to store in the list item
+ \return A pointer to the list item
+ \ingroup list
+*/
+C_DECL_SPEC RRListItemPtr rrcCallConv createIntegerItem (int value);
+
+/*!
+ \brief Create a list item to store a double value
+
+ \param[in] value The double to store in the list item
+ \return A pointer to the list item
+ \ingroup list
+*/
+C_DECL_SPEC RRListItemPtr rrcCallConv createDoubleItem  (double value);
+
+/*!
+ \brief Create a list item to store a pointer to a char*
+
+ \param[in] value The string to store in the list item
+ \return A pointer to the list item
+ \ingroup list
+*/
+C_DECL_SPEC RRListItemPtr rrcCallConv createStringItem  (char* value);
+
+/*!
+ \brief Create a list item to store a list
+
+ \param[in] value The list to store in the list item
+ \return A pointer to the list item
+ \ingroup list
+*/
+C_DECL_SPEC RRListItemPtr rrcCallConv createListItem (struct RRList* value);
+
+/*!
+ \brief Add a list item to a list and return index to the added item
+
+ \code
+ x = createRRList(RRHandle handle);
+ item1 = createIntegerItem (4);
+ add (x, item1);
+ \endcode
+
+ \param[in] list The list to store the item in
+ \param[in] item The list item to store in the list
+ \return The index to where the list item was added
+ \ingroup list
+*/
+C_DECL_SPEC int rrcCallConv addItem (RRListPtr list, RRListItemPtr *item);
+
+
+/*!
+ \brief Returns the index^th item from the list
+
+ \param[in] list The list to retrieve the list item from
+ \param[in] index The index list item we are interested in
+
+ \return A pointer to the retrieved list item
+ \ingroup list
+*/
+C_DECL_SPEC RRListItemPtr rrcCallConv getListItem (RRListPtr list, int index);
+
+/*!
+ \brief Returns true or false if the list item is an integer
+
+ \param[in] item The list
+ \return If true, then the list item holds an integer
+ \ingroup list
+*/
+C_DECL_SPEC int rrcCallConv isListItemInteger (RRListItemPtr item);
+
+/*!
+ \brief Returns true or false if the list item is a double
+
+ \param[in] item The list
+ \return If true, then the list item holds a double
+ \ingroup list
+*/
+C_DECL_SPEC int rrcCallConv isListItemDouble (RRListItemPtr item);
+
+/*!
+ \brief Returns true or false if the list item is a character array
+
+ \param[in] item The list
+ \return If true, then the list item holds an character array
+ \ingroup list
+*/
+C_DECL_SPEC int rrcCallConv isListItemString (RRListItemPtr item);
+
+/*!
+ \brief Returns true or false if the list item is a list itself
+
+ \param[in] item The list
+ \return If true, then the list item holds a list
+ \ingroup list
+*/
+C_DECL_SPEC int rrcCallConv isListItemList (RRListItemPtr item);
+
+/*!
+ \brief Returns true or false if the list item is the given itemType
+
+ \param[in] item The list
+ \param[in] itemType The list item type to check for
+ \return If true, then the list item holds a list
+ \ingroup list
+*/
+C_DECL_SPEC int rrcCallConv isListItem (RRListItemPtr item, enum ListItemType itemType);
+
+/*!
+ \brief Returns the integer from a list item
+
+ \param[in] item The list item to work with
+ \param[out] value The integer value returned by the method
+ \return Returns true is successful, else false
+ \ingroup list
+*/
+C_DECL_SPEC int rrcCallConv getIntegerListItem (RRListItemPtr item, int *value);
+
+/*!
+ \brief Returns the double from a list item
+
+ \param[in] item The list item to work with
+ \param[out] value The double value returned by the method
+ \return Returns true is successful, else false
+ \ingroup list
+*/
+C_DECL_SPEC int rrcCallConv getDoubleListItem (RRListItemPtr item, double *value);
+
+/*!
+ \brief Returns the string from a list item
+
+ \param[in] item The list item to work with
+ \return Returns NULL if it fails, otherwise returns a pointer to the string
+ \ingroup list
+*/
+C_DECL_SPEC char* rrcCallConv getStringListItem (RRListItemPtr item);
+
+
+/*!
+ \brief Returns a list from a list item if it contains a list
+
+ \param[in] item The list item to retrieve the list type from
+ \return Returns NULL if item isn't a list, otherwise it returns a list from the item
+\ingroup list
+*/
+C_DECL_SPEC RRListPtr rrcCallConv getList(RRListItemPtr item);
+
+// --------------------------------------------------------------------------------
+// Free memory functions
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Free the memory associated to a RRCData object
+ \ingroup freeRoutines
+*/
+C_DECL_SPEC int rrcCallConv freeRRCData(RRCDataPtr handle);
+
+/*!
+ \brief Free char* generated by library routines
+ \ingroup freeRoutines
+*/
+C_DECL_SPEC int rrcCallConv freeText(char* text);
+
+
+/*!
+ \brief Free RRStringListHandle structures
+ \ingroup freeRoutines
+*/
+//C_DECL_SPEC int rrcCallConv freeStringList(RRStringListHandle sl);
+
+/*!
+ \brief Free RRStringArrayPtr structures
+ \ingroup freeRoutines
+*/
+C_DECL_SPEC int rrcCallConv freeStringArray(RRStringArrayPtr sl);
+
+/*!
+ \brief Free RRVectorHandle structures
+ \ingroup freeRoutines
+*/
+C_DECL_SPEC int rrcCallConv freeVector(RRVectorPtr vector);
+
+/*!
+ \brief Free RRDoubleMatrixPtr structures
+ \ingroup freeRoutines
+*/
+C_DECL_SPEC int rrcCallConv freeMatrix(RRDoubleMatrixPtr matrix);
+
+// --------------------------------------------------------------------------------
+// Helper Methods
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Get the number of elements in a vector type
+
+ Vectors are indexed from zero
+
+ Example: \code count = getVectorLength (myVector); \endcode
+
+ \param vector A pointer to the vector variable type
+ \return Returns -1 if it fails, otherwise returns the number of elements in the vector
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv getVectorLength (RRVectorPtr vector);
+
+/*!
+ \brief Create a new vector with a given size
+
+ Vectors are indexed from zero
+
+ Example: \code myVector = createVector (10); \endcode
+
+ \param size The number of element in the new vector
+ \return Returns null if it fails, otherwise returns a pointer to the new vector
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC RRVectorPtr rrcCallConv createVector (int size);
+
+/*!
+ \brief Get a particular element from a vector
+
+ Vectors are indexed from zero
+
+ Example: \code status = getVectorElement (myVector, 10, *value); \endcode
+
+ \param vector A pointer to the vector variable type
+ \param index An integer indicating the ith element to retrieve (indexing is from zero)
+ \param value A pointer to the retrieved double value
+ \return Returns true if successful
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv getVectorElement (RRVectorPtr vector, int index, double* value);
+
+
+/*!
+ \brief Set a particular element in a vector
+
+ Vectors are indexed from zero
+
+ Example: \code status = setVectorElement (myVector, 10, 3.1415); \endcode
+
+ \param vector A pointer to the vector variable type
+ \param index An integer indicating the ith element to set (indexing is from zero)
+ \param value The value to store in the vector at the indexth position
+ \return Returns true if successful
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv setVectorElement (RRVectorPtr vector, int index, double value);
+
+/*!
+ \brief Create an empty matrix of size r by c
+
+ Matrices are indexed from zero
+
+ Example: \code m = createRRMatrix (2, 3); \endcode
+
+ \param r,c Row and column sizes
+ \return Returns NULL if fails, otherwise returns a handle to the matrix
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv createRRMatrix (int r, int c);
+
+/*!
+ \brief Retrieve the number of rows in the given matrix
+
+ Matrices are indexed from zero
+
+ Example: \code nRows = getMatrixNumRows (m); \endcode
+
+ \param m A pointer to a matrix type variable
+ \return Returns -1 if fails, otherwise returns the number of rows
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv getMatrixNumRows (RRDoubleMatrixPtr m);
+
+/*!
+ \brief Retrieve the number of columns in the given matrix
+
+ Matrices are indexed from zero
+
+ Example: \code nRows = getMatrixNumCols (m); \endcode
+
+ \param m A pointer to a matrix type variable
+ \return Returns -1 if fails, otherwise returns the number of columns
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv getMatrixNumCols (RRDoubleMatrixPtr m);
+
+/*!
+ \brief Retrieve an element at a given row and column from a matrix type variable
+
+ Matrices are indexed from zero
+
+ Example:
+ \code
+ status = getMatrixElement (m, 2, 4, &value);
+ \endcode
+
+ \param[in] m A pointer to a matrix type variable
+ \param[in] r The row index to the matrix
+ \param[in] c The column index to the matrix
+ \param[out] value The retrieved value from the matrix
+ \return Returns True if successful
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv getMatrixElement (RRDoubleMatrixPtr m, int r, int c, double* value);
+
+/*!
+ \brief Set an element at a given row and column with a given value in a matrix type variable
+
+ Matrices are indexed from zero
+
+ Example:
+ \code
+ status = setMatrixElement (m, 2, 4, value);
+ \endcode
+
+ \param[in] m A pointer to a matrix type variable
+ \param[in] r The row index to the matrix
+ \param[in] c The column index to the matrix
+ \param[out] value The value to set to the matrix element
+ \return Returns True if successful
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv setMatrixElement (RRDoubleMatrixPtr m, int r, int c, double value);
+
+
+/*!
+ \brief Retrieve an element at a given row and column from a complex matrix type variable
+
+ Matrices are indexed from zero
+
+ Example:
+ \code
+ status = getComplexMatrixElement (m, 2, 4, &value);
+ \endcode
+
+ \param[in] m A pointer to a complex matrix type variable
+ \param[in] r The row index to the matrix
+ \param[in] c The column index to the matrix
+ \param[out] value The retrieved value from the matrix
+ \return Returns True if successful
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv getComplexMatrixElement (RRComplexMatrixPtr m, int r, int c, RRComplexPtr value);
+
+
+/*!
+ \brief Set an element at a given row and column with a given value in a complex matrix type variable
+
+ Matrices are indexed from zero
+
+ Example:
+ \code
+ status = setComplexMatrixElement (m, 2, 4, value);
+ \endcode
+
+ \param[in] m A pointer to a complex matrix type variable
+ \param[in] r The row index to the matrix
+ \param[in] c The column index to the matrix
+ \param[out] value The value to set to the complex matrix element
+ \return Returns True if successful
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv setComplexMatrixElement (RRComplexMatrixPtr m, int r, int c, RRComplexPtr value);
+
+
+/*!
+ \brief Retrieve the number of rows in the given RoadRunner numerical data (returned from simulate(RRHandle handle))
+
+ Example: \code nRows = getRRDataNumRows (result); \endcode
+
+ \param[in] rrData A pointer to a RoadRunner numerical data type variable
+ \return Returns -1 if fails, otherwise returns the number of rows
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv getRRDataNumRows (RRCDataPtr rrData);
+
+/*!
+ \brief Retrieve the number of columns in the given rrData data (returned form simulate(RRHandle handle))
+
+ Example: \code nRows = getResultNumCols (rrData); \endcode
+
+ \param[in] rrData A pointer to a rrData type variable
+ \return Returns -1 if fails, otherwise returns the number of columns
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv getRRDataNumCols (RRCDataPtr rrData);
+
+/*!
+ \brief Retrieves an element at a given row and column from a RoadRunner data type variable
+
+ RoadRunner numerical data are indexed from zero
+
+ Example: \code status = getRRCDataElement (rrData, 2, 4, *value); \endcode
+
+ \param[in] rrData A pointer to a rrData type variable
+ \param[in] r -The row index to the rrData data
+ \param[in] c - The column index to the rrData data
+ \param[out] value - The retrieved value from the rrData data
+ \return Returns true if successful
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv getRRCDataElement (RRCDataPtr rrData, int r, int c, double *value);
+
+/*!
+ \brief Retrieves a label for a given column in a rrData type variable
+
+ Result data are indexed from zero
+
+ Example: \code str = getResultColumnLabel (rrData, 2, 4); \endcode
+
+ \param[in] rrData A pointer to a rrData type variable
+ \param[in] column - The column index for the rrData data (indexing from zero)
+ \return Returns null if fails, otherwise returns a pointer to the string column label
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC char* rrcCallConv getRRDataColumnLabel (RRCDataPtr rrData, int column);
+
+// --------------------------------------------------------------------------------
+// Convert data to string functions
+// --------------------------------------------------------------------------------
+
+/*!
+ \brief Returns a vector in string form.
+ \return Returns vector as a character string
+ \ingroup toString
+*/
+C_DECL_SPEC char* rrcCallConv vectorToString(const RRVectorPtr vec);
+
+/*!
+ \brief Returns a complex vector in string form.
+ \return Returns complex vector as a character string
+ \ingroup toString
+*/
+C_DECL_SPEC char* rrcCallConv complexVectorToString(const RRComplexVectorPtr vec);
+
+/*!
+ \brief Returns a rrCData struct in string form.
+ \return Returns rrCData struct as a character string
+ \ingroup toString
+*/
+C_DECL_SPEC char* rrcCallConv rrCDataToString(const RRCDataPtr rrData);
+
+/*!
+ \brief Returns a matrix in string form.
+ \return Returns matrix as a character string
+ \ingroup toString
+*/
+C_DECL_SPEC char* rrcCallConv matrixToString(const RRDoubleMatrixPtr mat);
+
+/*!
+ \brief Returns a complex matrix in string form.
+ \return Returns complex matrix as a character string
+ \ingroup toString
+*/
+C_DECL_SPEC char* rrcCallConv complexMatrixToString(const RRComplexMatrixPtr mat);
+
+/*!
+ \brief Returns the length of a string array
+ \return Returns the length of a string array, return -1 if string array is NULL
+ \ingroup stringArray
+*/
+C_DECL_SPEC int rrcCallConv getNumberOfStringElements(const RRStringArrayPtr list);
+
+/*!
+ \brief Returns the indexth element from the string array in the argument value
+ \return Returns pointer to string else return null if error
+ \ingroup stringArray
+*/
+C_DECL_SPEC char* rrcCallConv getStringElement (RRStringArrayPtr list, int index);
+
+/*!
+ \brief Returns a string list in string form.
+ \return Returns string list as a character string
+ \ingroup toString
+*/
+C_DECL_SPEC char* rrcCallConv stringArrayToString(const RRStringArrayPtr list);
+
+/*!
+ \brief Returns a list in string form.
+ \return Returns list as a character string
+ \ingroup toString
+*/
+C_DECL_SPEC char* rrcCallConv listToString(const RRListPtr list);
+
+
+//======================== DATA WRITING ROUTINES =============================
+/*!
+ \brief Writes RoadRunner data to file
+ \param handle Handle to a Roadrunner Instance
+ \param fileNameAndPath Pointer to string holding the file(with path) to write data to
+ \return Returns a t/f indicating the result
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv writeRRData(RRHandle handle, const char* fileNameAndPath);
+
+
+///////////////////////////////////////////////////////////////////////////////////
+// TEST UTILITY functions (to be documented later. Only for internal testing)
+/*!
+ \brief Compiles source code
+ \param handle Handle to a RRInstance
+ \param sourceFileNameAndPath Pointer to string holding the file(with path) to compile
+ \return Returns a t/f indicating the result
+ \ingroup helperRoutines
+*/
+C_DECL_SPEC int rrcCallConv compileSource(RRHandle handle, const char* sourceFileNameAndPath);
+
+
+#if defined(__cplusplus)
+
+}   //namespace
+}   //Extern "C"
+#endif
+
+#endif
diff --git a/wrappers/CMakeLists.txt b/wrappers/CMakeLists.txt
new file mode 100644
index 0000000..c0f0f2b
--- /dev/null
+++ b/wrappers/CMakeLists.txt
@@ -0,0 +1,23 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(rrWrappers)
+
+if(INSTALL_C_API)
+add_subdirectory("C")
+endif()
+
+if(INSTALL_C_API_PYTHON)
+add_subdirectory("c_api_python")
+endif()
+
+if(INSTALL_DELPHI)
+add_subdirectory("Delphi")
+endif()
+
+if(BUILD_PYTHON)
+    add_subdirectory("Python")
+endif()
+
+if(BUILD_JAVA_INTERFACE)
+    add_subdirectory("Java")
+endif()
+
diff --git a/wrappers/Delphi/CMakeLists.txt b/wrappers/Delphi/CMakeLists.txt
new file mode 100644
index 0000000..b4e8936
--- /dev/null
+++ b/wrappers/Delphi/CMakeLists.txt
@@ -0,0 +1,9 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(rrWrappers)
+
+
+install(
+            FILES uRoadRunnerAPI.pas uRRList.pas				
+            DESTINATION Delphi 	
+            COMPONENT Delphi
+        )
diff --git a/wrappers/Delphi/README.txt b/wrappers/Delphi/README.txt
new file mode 100644
index 0000000..e69de29
diff --git a/wrappers/Delphi/uRRList.pas b/wrappers/Delphi/uRRList.pas
new file mode 100644
index 0000000..c5f46c1
--- /dev/null
+++ b/wrappers/Delphi/uRRList.pas
@@ -0,0 +1,215 @@
+unit uRRList;
+
+{ Copyright 2012 Herbert M Sauro
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+   In plain english this means:
+
+   You CAN freely download and use this software, in whole or in part, for personal,
+   company internal, or commercial purposes.
+
+   You CAN use the software in packages or distributions that you create.
+
+   You SHOULD include a copy of the license in any redistribution you may make.
+
+   You are NOT required include the source of software, or of any modifications you may
+   have made to it, in any redistribution you may assemble that includes it.
+
+   YOU CANNOT:
+
+   redistribute any piece of this software without proper attribution;
+}
+
+
+interface
+
+Uses SysUtils, Classes;
+//, uSBWCommon, uSBWComplex, uSBWArray;
+
+type
+  TRRList = class;
+
+  TRRListType = (rrList, rrInteger, rrDouble, rrString);
+
+  TRRListItem = class (TObject)
+            public
+                DataType : TRRListType;
+                iValue : integer;
+                dValue : double;
+                sValue : AnsiString;
+                list : TRRList;
+                function getInteger : Double;
+                function getDouble : double;
+                function getString : AnsiString;
+                function getList : TRRList;
+
+                constructor Create (iValue : integer); overload;
+                constructor Create (dValue : double);  overload;
+                constructor Create (sValue : AnsiString); overload;
+                constructor Create (list : TRRList); overload;
+
+                destructor  Destroy; override;
+  end;
+
+
+  TRRList = class (TList)
+             protected
+               function Get (Index : integer) : TRRListItem;
+               procedure Put (Index : integer; Item : TRRListItem);
+             public
+               destructor Destroy; override;
+               function  Add (Item : TRRListItem) : integer;
+               procedure Delete (Index : Integer);
+               procedure copy (src : TRRList);
+               property  Items[Index : integer] : TRRListItem read Get write Put; default;
+               //function  Count : integer;
+  end;
+
+implementation
+
+
+constructor TRRListItem.Create (iValue : integer);
+begin
+  inherited Create;
+  DataType := rrInteger;
+  Self.iValue := iValue;
+end;
+
+
+constructor TRRListItem.Create (dValue : double);
+begin
+  inherited Create;
+  DataType := rrDouble;
+  Self.dValue := dValue;
+end;
+
+
+constructor TRRListItem.Create (sValue : AnsiString);
+begin
+  inherited Create;
+  DataType := rrString;
+  Self.sValue := sValue;
+end;
+
+
+constructor TRRListItem.Create (list : TRRList);
+begin
+  inherited Create;
+  DataType := rrList;
+  Self.list := List;
+end;
+
+
+destructor TRRListItem.Destroy;
+begin
+  case DataType of
+     rrList : List.Free;
+  end;
+  inherited Destroy;
+end;
+
+
+// --------------------------------------------------------------------------
+
+function TRRListItem.getInteger : Double;
+begin
+  if DataType <> rrInteger then
+     raise Exception.Create ('Integer expected in List item');
+  result := iValue;
+end;
+
+
+function TRRListItem.getDouble : Double;
+begin
+  if DataType <> rrDouble then
+     raise Exception.Create ('Double expected in List item');
+  result := dValue;
+end;
+
+
+function TRRListItem.getString : AnsiString;
+begin
+  if DataType <> rrString then
+     raise Exception.Create ('String expected in List item');
+  result := sValue;
+end;
+
+
+function TRRListItem.getList : TRRList;
+begin
+  if DataType <> rrList then
+     raise Exception.Create ('List expected in List item');
+  result := list;
+end;
+
+// ----------------------------------------------------------------------
+
+
+function TRRList.Get (Index : integer) : TRRListItem;
+begin
+  result := TRRListItem(inherited Get(index));
+end;
+
+
+procedure TRRList.Put (Index : integer; Item : TRRListItem);
+begin
+  inherited Put (Index, Item);
+end;
+
+function TRRList.Add (Item : TRRListItem) : integer;
+begin
+  result := inherited Add (Item);
+end;
+
+
+procedure TRRList.Delete (Index : Integer);
+begin
+  Items[Index].Free;
+  Items[Index] := nil;
+  inherited Delete (Index);
+end;
+
+
+destructor TRRList.Destroy;
+var i : integer;
+begin
+  for i := 0 to Count - 1 do
+      Items[i].Free;
+  inherited Destroy;
+end;
+
+
+procedure TRRList.copy (src: TRRList);
+var i : integer;
+begin
+  self.Clear;
+  for i := 0 to src.count - 1 do
+      begin
+      case src[i].DataType of
+          rrInteger  : self.add (TRRListItem.Create(src[i].iValue));
+          rrDouble  : self.add (TRRListItem.Create(src[i].dValue));
+          rrString  : self.add (TRRListItem.Create(src[i].sValue));
+          rrList    : self.add (TRRListItem.Create(src[i].list));
+      else
+          raise Exception.Create ('Unknown data type while copying List');
+      end;
+      end;
+end;
+
+
+// ----------------------------------------------------------------------
+
+
+end.
+
diff --git a/wrappers/Delphi/uRRTypes.pas b/wrappers/Delphi/uRRTypes.pas
new file mode 100644
index 0000000..3b84e4b
--- /dev/null
+++ b/wrappers/Delphi/uRRTypes.pas
@@ -0,0 +1,89 @@
+unit uRRTypes;
+
+interface
+
+type
+  TDoubleArray = array of double;
+  T2DDoubleArray = array of TDoubleArray;
+
+  // Result tpe returned by simulate() and simulateEx()
+  TRRResult = record
+     RSize : integer;
+     CSize : integer;
+     Data : array of double;
+     ColumnHeaders : ^PAnsiChar;
+  end;
+  PRRResultHandle = ^TRRResult;
+
+
+  // Vector of double values
+  TRRDoubleVector = record
+       count : integer;
+       data : array of double;
+  end;
+  PRRDoubleVectorHandle = ^TRRDoubleVector;
+
+
+  // Matrix
+  TRRMatrix = record
+    RSize : integer;
+    CSize : integer;
+    data : array of double;
+  end;
+  PRRMatrixHandle = ^TRRMatrix;
+
+
+  TRRCCodeAPI = record
+    Header : PAnsiChar;
+    Source : PAnsiChar;
+  end;
+
+
+  TRRCCode = record
+    Header : AnsiString;
+    Source : AnsiString;
+  end;
+  PRRCCodeHandle = ^TRRCCodeAPI;
+
+  TListItemType = (litString, litInteger, litDouble, litList);
+
+  PRRListItemRecord = ^TRRListItemRecord;
+  PRRListRecordHandle = ^TRRListRecord;
+
+  TRRListItemRecordArray = array[0..1000] of PRRListRecordHandle;
+  PRRListItemRecordArray = ^TRRListItemRecordArray;
+
+  TRRListItemRecord = record
+      ItemType : TListItemType;
+      case TListItemType of
+         litInteger: (iValue : integer);
+         litDouble:  (dValue : double);
+         litString:  (sValue : PAnsiChar);
+         litList:    (lValue : PRRListRecordHandle);
+  end;
+
+  TRRListRecord = record
+       count : integer;
+       Items : PRRListItemRecordArray;
+  end;
+
+function getRows (m : T2DDoubleArray) : integer;
+function getColumns (m : T2DDoubleArray) : integer;
+
+implementation
+
+function getRows (m : T2DDoubleArray) : integer;
+begin
+  result := length (m);
+end;
+
+
+function getColumns (m : T2DDoubleArray) : integer;
+begin
+  if getRows (m) > 0 then
+     result := length (m[0])
+  else
+    result := 0;
+end;
+
+end.
diff --git a/wrappers/Delphi/uRoadRunnerAPI.pas b/wrappers/Delphi/uRoadRunnerAPI.pas
new file mode 100644
index 0000000..c2cdb23
--- /dev/null
+++ b/wrappers/Delphi/uRoadRunnerAPI.pas
@@ -0,0 +1,1678 @@
+unit uRoadRunnerAPI;
+
+{ Copyright 2012 Herbert M Sauro
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+   In plain english this means:
+
+   You CAN freely download and use this software, in whole or in part, for personal,
+   company internal, or commercial purposes;
+
+   You CAN use the software in packages or distributions that you create.
+
+   You SHOULD include a copy of the license in any redistribution you may make;
+
+   You are NOT required include the source of software, or of any modifications you may
+   have made to it, in any redistribution you may assemble that includes it.
+
+   YOU CANNOT:
+
+   redistribute any piece of this software without proper attribution;
+}
+
+interface
+
+Uses SysUtils, Classes, Windows, uMatrix, Generics.Collections, IOUtils, uRRList,
+     uRRTypes, uSBWArray, Dialogs;
+
+type
+  TAnsiCharArray = array[0..100000] of AnsiChar;
+  PAnsiCharArray = ^TAnsiCharArray;
+
+  TAnsiCharArrayArray = array[0..100000] of PAnsiCharArray;  // Array of char*
+  PAnsiCharArrayArray = ^TAnsiCharArrayArray;
+
+  TRRStringArray = record
+    count : integer;
+    strList : PAnsiCharArrayArray;
+  end;
+  PRRStringArray = ^TRRStringArray;
+
+
+  TPointerFunc = function : Pointer; stdcall;
+  TVoidCharFunc = function : PAnsiChar; stdcall;   //char* func(void)
+  THandleCharFunc = function (handle : Pointer) : PAnsiChar; stdcall;   //char* func(void)
+  TVoidBoolFunc = function (rrHandle : Pointer) : boolean; stdcall; // bool func (void);
+  TVoidIntFunc = function : integer; stdcall;
+  THandleIntFunc = function (handle : Pointer) : integer; stdcall;
+  TVoidDoubleFunc = function : double; stdcall;
+
+  TBoolBoolFunc = function (var value : boolean) : boolean; stdcall;
+
+  THandlePointerFunc = function (rrHandle : Pointer) : Pointer; stdcall; //void* func(void)
+  TCharBoolFunc = function (rrHandle : Pointer; str : PAnsiChar) : bool; stdcall;  // bool func (char *)
+  TDoubleBoolFunc = function (value : double) : bool; stdcall; // bool func (double)
+  TIntBoolFunc = function (value : integer) : bool; stdcall;   // bool func (double)
+  TVarIntBoolFunc = function (var value : integer) : bool; stdcall;   // bool func (double)
+  THandleIntDoubleFunc = function (rrHandle : Pointer; index : integer) : double; stdcall;
+
+  THandleStringListFunc = function(rrHandle : Pointer) : PRRStringArray; stdcall;
+
+  TGetCopyright = TVoidCharFunc;
+  TCreateRRInstance = TPointerFunc;
+  TGetCCode = function : PRRCCodeHandle; stdcall;
+  TSetTimeStart = function (rrHandle : Pointer; value : double) : bool; stdcall;
+  TSetTimeEnd = function (rrHandle : Pointer; value : double) : bool; stdcall;
+  TSetNumPoints = function (rrHandle : Pointer; value : integer) : bool; stdcall;
+  TSimulateEx = function (rrHandle : Pointer; timeStart : double; timeEnd : double; numberOfPoints : integer) : PRRResultHandle; stdcall;
+  TGetMatrix = function (rrHandle : Pointer) : PRRMatrixHandle; stdcall;
+  TGetSetMatrix = function (rrHandle : Pointer; mat : PRRMatrixHandle) : PRRMatrixHandle; stdcall;
+  TFreeRRResult = function (ptr : PRRResultHandle) : boolean; stdcall;
+  TFreeRRInstance = procedure (instance : Pointer); stdcall;
+  THandleVectorFunc = function (rrHandle : Pointer) : PRRDoubleVectorHandle; stdcall;
+
+  TSetSelectionList = function (rrHandle : Pointer; list : PAnsiChar) : bool; stdcall;
+  TGetValue = function (rrHandle : Pointer; speciesId : PAnsiChar; var value : double) : boolean; stdcall;
+  TSetValue = function (rrHandle : Pointer; speciesId : PAnsiChar; value : double) : bool; stdcall;
+  TGetReactionIds = THandlePointerFunc;
+  TReset = function : bool; stdcall;
+  TFreeStringArray = function (handle : PRRStringArray) : boolean; stdcall;
+  TFreeRRMatrix = function (matrix : PRRMatrixHandle) : boolean; stdcall;
+  TFreeRRDoubleVector = function (vector : PRRDoubleVectorHandle) : boolean ; stdcall;
+  TOneStep = function (rrHandle : Pointer; var currentTime : double; stepSize : double) : double; stdcall;
+  TSteadyState = function (rrHandle : Pointer; var value : double) : boolean; stdcall;
+  TGetMCA = function (rrHandle : Pointer; variable : PAnsiChar; parameter : PAnsiChar; var value : double) : boolean; stdcall;
+
+var
+   DLLLoaded : boolean;
+   selectionList : AnsiString;
+   loggingEnabled : boolean = false;
+   loggingTmpFileName : AnsiString = '';
+   rrHandle : Pointer;
+   internalRRHandle : Pointer;
+
+function loadIntoMatrix (matrix : T2DDoubleArray) : TMatrix;  overload;
+
+
+function  hasError : boolean;
+function  createRRInstance : Pointer;
+function  createInternalRRInstance : Pointer;
+procedure freeRRInstance; overload;
+procedure freeRRInstance (myInstance : Pointer); overload;
+function  getLastError : AnsiString;
+function  getBuildDate : AnsiString;
+function  getVersion : AnsiString;
+
+
+
+{$REGION 'Documentation'}
+///	<summary>
+///	  Get copyright string
+///	</summary>
+///	<returns>
+///	  Copyright string
+///	</returns>
+{$ENDREGION}
+function  getCopyright : AnsiString;
+function  getTempFolder : AnsiString;
+function  enableLoggingToFile : boolean;
+function  setLogLevel (debugLevel : AnsiString) : boolean;
+function  getLogFileName : AnsiString;
+function  setTempFolder (name : AnsiString) : boolean;
+
+{$REGION 'Documentation'}
+///	<summary>
+///	  Returns the generated C Code for the model
+///	</summary>
+{$ENDREGION}
+function  getCCode : TRRCCode;
+
+function  loadSBML (sbmlStr : AnsiString) : boolean;
+function  loadSBMLFromFile (fileName : AnsiString) : boolean;
+function  getSBML : AnsiString;
+
+function  getValue (Id : AnsiString) : double;
+function  setValue (Id : AnsiString; value : double) : boolean;
+function  reset : boolean;
+function  setFloatingSpeciesInitialConcentrations (value : TDoubleArray) : boolean;
+
+procedure setTimeStart (value : double);
+procedure setTimeEnd (value : double);
+procedure setNumberOfPoints (value : integer);
+
+function  simulate : T2DDoubleArray;
+function  mSimulate : TMatrix;
+function  simulateEx (timeStart: double; timeEnd : double; numberOfPoints : integer)  : TMatrix;
+function  oneStep (var currentTime : double; var stepSize : double) : double;
+function  setTimeCourseSelectionList (strList : TStringList) : boolean;
+function  getTimeCourseSelectionList: TRRList;
+function  setCapabilities (str : AnsiString) : boolean;
+function  getCapabilities : AnsiString;
+
+function  evalModel : boolean;
+function  getFullJacobian : T2DDoubleArray;
+function  getReducedJacobian : T2DDoubleArray;
+function  mGetReducedJacobian : TMatrix;
+
+function  getStoichiometryMatrix : T2DDoubleArray;
+function  mGetStoichiometryMatrix : TMatrix;
+function  getLinkMatrix : T2DDoubleArray;
+function  getNrMatrix : T2DDoubleArray;
+function  getL0Matrix : T2DDoubleArray;
+function  getConservationMatrix : T2DDoubleArray;
+function  mGetConservationMatrix : TMatrix;
+
+function  getReactionRates : TDoubleArray;
+function  getRatesOfChange : TDoubleArray;
+
+function  getCompartmentIds : TStringList;
+function  getReactionIds : TStringList;
+function  getBoundarySpeciesIds : TStringList;
+function  getFloatingSpeciesIds : TStringList;
+function  getGlobalParameterIds : TStringList;
+function  getRatesOfChangeIds : TStringList;
+function  getEigenvalueIds : TStringList;
+function  getElasticityIds : TStringList;
+
+function  getNumberOfReactions : integer;
+function  getNumberOfBoundarySpecies : integer;
+function  getNumberOfFloatingSpecies : integer;
+function  getNumberOfGlobalParameters : integer;
+function  getNumberOfCompartments : integer;
+
+function  setCompartmentByIndex     (index : integer; value : double) : boolean;
+function  setFloatingSpeciesByIndex (index : integer; value : double) : boolean;
+function  setBoundarySpeciesByIndex (index : integer; value : double) : boolean;
+function  setGlobalParameterByIndex (index : integer; value : double) : boolean;
+
+function  getCompartmentByIndex     (index : integer) : double;
+function  getFloatingSpeciesByIndex (index : integer) : double;
+function  getBoundarySpeciesByIndex (index : integer) : double;
+function  getGlobalParameterByIndex (index : integer) : double;
+
+function  getFloatingSpeciesConcentrations : TDoubleArray;
+function  getBoundarySpeciesConcentrations : TDoubleArray;
+
+function  getNumberOfDependentSpecies : integer;
+function  getNumberOfIndependentSpecies : integer;
+
+function  steadyState : double;
+function  computeSteadyStateValues : TDoubleArray;
+function  setSteadyStateSelectionList (strList : TStringList) : boolean;
+
+function  getEigenvalues : T2DDoubleArray;
+function  mGetEigenvalues : TMatrix;
+function  getEigenvaluesMatrix (m : T2DDoubleArray) : T2DDoubleArray;
+
+function  getuCC (variable : AnsiString; parameter : AnsiString) : double;
+function  getCC (variable : AnsiString; parameter : AnsiString) : double;
+function  getuEE (variable : AnsiString; parameter : AnsiString) : double;
+function  getEE (variable : AnsiString; parameter : AnsiString) : double;
+
+function 	getUnscaledFluxControlCoefficientMatrix : T2DDoubleArray;
+function  getScaledFluxControlCoefficientMatrix : T2DDoubleArray;
+
+function  getAvailableSymbolsII : TRRList;
+function  getAvailableTimeCourseSymbols : TRRList;
+function  getAvailableSteadStateSymbols : TRRList;
+
+function  setComputeAndAssignConservationLaws (value : boolean) : boolean;
+
+procedure setRoadRunnerLibraryName (newLibName : AnsiString);
+function  loadRoadRunner (var errMsg : AnsiString; methodList : TStringList) : boolean;
+procedure releaseRoadRunnerLibrary;
+
+procedure setMatrixElement ();
+
+implementation
+
+type
+  TLibGetAvailableSymbols = function (rrHandle : Pointer) : PRRListRecordHandle; stdcall;
+  TlibSetInitialConditions = function (rrHandle : Pointer; vec : PRRDoubleVectorHandle) : bool; stdcall;
+  TlibComputeSteadyStateValues = function (rrHandle : Pointer): PRRDoubleVectorHandle;
+
+
+var DLLHandle : Cardinal;
+    libName : AnsiString = 'rrc_API.dll';
+    instance : Pointer = nil;
+
+    libLoadSBML : TCharBoolFunc;
+    libLoadSBMLFromFile : TCharBoolFunc;
+    libGetSBML : TVoidCharFunc;
+
+    libHasError : TVoidBoolFunc;
+    libGetLastError : TVoidCharFunc;
+    libEnableLoggingToConsole : TVoidBoolFunc;
+    libEnableLoggingToFile : TVoidBoolFunc;
+    libSetLogLevel : function (str : PAnsiChar) : bool; stdcall;
+    libGetLogFileName : function : PAnsiChar; stdcall;
+    libSetTempFolder : function (rrHandle : Pointer; folder : PAnsiChar) : bool; stdcall;
+
+    libGetBuildDate : TVoidCharFunc;
+    libGetVersion : THandleCharFunc;
+    libGetCopyright : TGetCopyright;
+    libGetTempFolder : TVoidCharFunc;
+    libGetCCode : TGetCCode;
+
+    libCreateRRInstance : TCreateRRInstance;
+    libFreeRRInstance : TFreeRRInstance;
+    libFreeResult : TFreeRRResult;
+
+    libSimulate : THandlePointerFunc;
+    libSimulateEx : TSimulateEx;
+    libGetValue : TGetValue;
+    libSetValue : TSetValue;
+    libSetTimeCourseSelectionList : TSetSelectionList;
+    libGetReactionIds : TGetReactionIds;
+    libReset : TReset;
+    libSetFloatingSpeciesInitialConcentrations : function (rrHandle : Pointer; value : Pointer) : boolean; stdcall;
+    libGetCapabilities : THandleCharFunc;
+    libSetCapabilities : TCharBoolFunc;
+    libEvalModel : TVoidBoolFunc;
+    libGetFullJacobian : function : PRRMatrixHandle;
+    libGetReducedJacobian : function : PRRMatrixHandle;
+
+    libSetTimeStart : TSetTimeStart;
+    libSetTimeEnd : TSetTimeEnd;
+    libSetNumberOfPoints : TSetNumPoints;
+
+    libGetNumberOfReactions : THandleIntFunc;
+    libGetNumberOfBoundarySpecies : THandleIntFunc;
+    libGetNumberOfFloatingSpecies : THandleIntFunc;
+    libGetNumberOfGlobalParameters : THandleIntFunc;
+    libGetNumberOfCompartments : THandleIntFunc;
+
+    libSetCompartmentByIndex     : function (rrHandle : Pointer; var index : integer; var value : double) : boolean; stdcall;
+    libSetFloatingSpeciesByIndex : function (rrHandle : Pointer; var index : integer; var value : double) : boolean; stdcall;
+    libSetBoundarySpeciesByIndex : function (rrHandle : Pointer; var index : integer; var value : double) : boolean; stdcall;
+    libSetGlobalParameterByIndex : function (rrHandle : Pointer; var index : integer; var value : double) : boolean; stdcall;
+
+    libGetCompartmentByIndex     : function (rrHandle : Pointer; var index : integer; var value : double) : boolean; stdcall;
+    libGetGlobalParameterByIndex : function (rrHandle : Pointer; var index : integer; var value : double) : boolean; stdcall;
+    libGetFloatingSpeciesByIndex : function (rrHandle : Pointer; var index : integer; var value : double) : boolean; stdcall;
+    libGetBoundarySpeciesByIndex : function (rrHandle : Pointer; var index : integer; var value : double) : boolean; stdcall;
+
+    libGetFloatingSpeciesConcentrations : function (rrHandle : Pointer) : PRRDoubleVectorHandle; stdcall;
+    libGetBoundarySpeciesConcentrations : function (rrHandle : Pointer) : PRRDoubleVectorHandle; stdcall;
+
+    libSetFloatingSpeciesConcentrations : function (rrHandle : Pointer; values : PRRDoubleVectorHandle) : boolean; stdcall;
+    libSetBoundarySpeciesConcentrations : function (rrHandle : Pointer; values : PRRDoubleVectorHandle) : boolean; stdcall;
+
+    libGetNumberOfDependentSpecies : function (rrHandle : Pointer) : integer; stdcall;
+    libGetNumberOfIndependentSpecies : function (rrHandle : Pointer) : integer; stdcall;
+
+    libSteadyState : TSteadyState;
+    libGetReactionRate : THandleIntDoubleFunc;
+    libGetReactionRates : THandleVectorFunc;
+    libGetRatesOfChange : THandleVectorFunc;
+    libOneStep : TOneStep;
+
+    libGetCompartmentIds     : THandleStringListFunc;
+    libGetBoundarySpeciesIds : THandleStringListFunc;
+    libGetFloatingSpeciesIds : THandleStringListFunc;
+    libGetGlobalParameterIds : THandleStringListFunc;
+    libGetRatesOfChangeIds   : THandleStringListFunc;
+    libGetEigenvalueIds      : THandleStringListFunc;
+    libGetElasticityIds      : THandleStringListFunc;
+
+    libSetSteadyStateSelectionList : TCharBoolFunc;
+    libGetSteadyStateSelectionList : function (internalRRHandle : Pointer) : PRRListRecordHandle; stdcall;
+    libGetTimeCourseSelectionList  : function (internalRRHandle : Pointer) : PRRListRecordHandle; stdcall;
+    libGetAvailableTimeCourseSymbols : TLibGetAvailableSymbols;
+
+    libGetAvailableSteadyStateSymbols : TLibGetAvailableSymbols;
+    libComputeSteadyStateValues : TlibComputeSteadyStateValues;
+    libSetInitialConditions : TlibSetInitialConditions;
+    libSetComputeAndAssignConservationLaws : TBoolBoolFunc;
+
+    libGetStoichiometryMatrix : TGetMatrix;
+    libGetLinkMatrix          : TGetMatrix;
+    libGetNrMatrix            : TGetMatrix;
+    libGetL0Matrix            : TGetMatrix;
+    libGetConservationMatrix  : TGetMatrix;
+
+    libgetuFCC                : TGetMatrix;
+    libgetFCC                 : TGetMatrix;
+
+    libgetuCC                 : TGetMCA;
+    libgetuEE                 : TGetMCA;
+    libgetCC                  : TGetMCA;
+    libgetEE                  : TGetMCA;
+    libGetEigenvalues         : TGetMatrix;
+    libGetEigenvaluesMatrix   : TGetSetMatrix;
+
+
+    libCreateVector : function (size : integer) : PRRDoubleVectorHandle;  stdcall;
+    libCreateRRMatrix : function (row, col : integer) : PRRMatrixHandle; stdcall;
+    libSetMatrixElement : function (m : PRRMatrixHandle; r, c : integer; value : double) : boolean; stdcall;
+    libGetListItem : function (list : pointer; index : integer) : PRRListItemRecord; stdcall;
+
+
+    libFreeStringArray : TFreeStringArray;
+    libFreeMatrix : TFreeRRMatrix;
+    libFreeText : TCharBoolFunc;
+    libFreeDoubleVector : TFreeRRDoubleVector;
+
+
+// Utility Routines
+// --------------------------------------------------------------
+function getArrayOfStrings (pList: PRRStringArray) : TStringList;
+var nStrings : integer;
+    i, j : integer;
+    element : PAnsiCharArray;
+    str : AnsiString;
+begin
+  nStrings := pList^.count;
+  result := TStringList.Create;
+  for i := 0 to nStrings - 1 do
+      begin
+      element := pList^.strList[i];
+      j := 0; str := '';
+      while element[j] <> #0 do
+          begin
+          str := str + element[j];
+          inc (j);
+          end;
+      result.Add (str);
+      end;
+end;
+
+
+function loadIntoMatrix (matrix : PRRMatrixHandle) : TMatrix; overload;
+var nr, nc : integer;
+    i, j : integer;
+begin
+  nr := matrix^.RSize;
+  nc := matrix^.CSize;
+  result := TMatrix.Create (nr, nc);
+  for i := 0 to nr - 1 do
+      for j := 0 to nc - 1 do
+          result[i+1,j+1] := matrix^.data[i*nc + j];
+end;
+
+
+function loadIntoRRMatrix  (mat : T2DDoubleArray) : PRRMatrixHandle;
+var i, j : integer;
+    r, c : integer;
+    str : AnsiString;
+begin
+  r := getRows (mat); c := getColumns(mat);
+  result := libCreateRRMatrix (r, c);
+  if result = nil then
+     exit;
+
+  for i := 0 to r - 1 do
+      for j := 0 to c - 1 do
+          if libSetMatrixElement (result, i, j, mat[i,j]) = False then
+             begin
+             str := getLastError();
+             raise Exception.Create ('Error while calling setMatrixElement: ' + str);
+             end;
+end;
+
+function loadInTo2DArray (matrix : PRRMatrixHandle) : T2DDoubleArray;
+var nr, nc : integer;
+    i, j : integer;
+begin
+  nr := matrix^.RSize;
+  nc := matrix^.CSize;
+  setLength (result, nr, nc);
+  for i := 0 to nr - 1 do
+      for j := 0 to nc - 1 do
+          result[i,j] := matrix^.data[i*nc + j];
+end;
+
+
+function extractList (list : PRRListRecordHandle) : TRRList;
+var i : integer;
+    item : PRRListItemRecord;
+begin
+  result := TRRList.Create;
+  for i := 0 to list^.count - 1 do
+      begin
+      item := libGetListItem (list, i);
+      case item^.ItemType of
+        litList : result.Add (TRRListItem.Create (extractList (item^.lValue)));
+        litString : result.Add (TRRListItem.Create (AnsiString (item^.sValue)));
+        litInteger : result.Add (TRRListItem.Create (item^.iValue));
+        litDouble : result.Add (TRRListItem.Create (item^.dValue));
+      end;
+  end;
+end;
+
+
+function loadIntoMatrix (matrix : T2DDoubleArray) : TMatrix;
+var nr, nc : integer;
+    i, j : integer;
+begin
+  nr := getRows (matrix);
+  nc := getColumns (matrix);
+  result := TMatrix.Create (nr, nc);
+  for i := 0 to nr - 1 do
+      for j := 0 to nc - 1 do
+          result[i+1,j+1] := matrix[i, j];
+end;
+
+
+// -----------------------------------------------------------------
+// For doumentation, see the C API docs at:
+//      http://code.google.com/p/roadrunnerwork/
+// -----------------------------------------------------------------
+
+function createRRInstance : Pointer;
+begin
+  result := libCreateRRInstance;
+end;
+
+function createInternalRRInstance : Pointer;
+begin
+  internalRRHandle := libCreateRRInstance;
+end;
+
+
+procedure freeRRInstance (myInstance : Pointer);
+begin
+  if myInstance <> nil then
+     libFreeRRInstance (myInstance);
+end;
+
+procedure freeRRInstance;
+begin
+  if instance <> nil then
+     libFreeRRInstance (instance);
+end;
+
+
+function getBuildDate : AnsiString;
+begin
+  result := libGetBuildDate;
+end;
+
+
+function getVersion : AnsiString;
+begin
+  result := libGetVersion (internalRRHandle);
+end;
+
+
+function getCopyright : AnsiString;
+var p : PAnsiChar;
+begin
+  p := libGetCopyright();
+  result := AnsiString (p);
+end;
+
+
+function  getTempFolder : AnsiString;
+begin
+  result := libGetTempFolder;
+end;
+
+function hasError : boolean;
+begin
+  result := libHasError (internalRRHandle);
+end;
+
+
+function getLastError : AnsiString;
+begin
+  result := libGetLastError;
+end;
+
+function enableLoggingToFile : boolean;
+begin
+  result := libEnableLoggingToFile (internalRRHandle);
+  loggingEnabled := true;
+end;
+
+
+function setLogLevel (debugLevel : AnsiString) : boolean;
+begin
+  result := libSetLogLevel (PAnsiChar (debugLevel));
+end;
+
+
+function getLogFileName : AnsiString;
+begin
+  result := libGetLogFileName;
+end;
+
+
+function setTempFolder (name : AnsiString) : boolean;
+begin
+  result := libSetTempFolder (internalRRHandle, PAnsiChar (name));
+end;
+
+
+function getCCode : TRRCCode;
+var p : PRRCCodeHandle;
+begin
+  p := libGetCCode;
+  result.Header := p^.Header;
+  result.Source := p^.Source;
+end;
+
+
+function setComputeAndAssignConservationLaws (value : boolean) : boolean;
+begin
+  result := libSetComputeAndAssignConservationLaws (value);
+end;
+
+
+function loadSBML (sbmlStr : AnsiString) : boolean;
+begin
+  result := libLoadSBML (internalRRHandle, PAnsiChar (sbmlStr));
+end;
+
+
+function loadSBMLFromFile (fileName : AnsiString) : boolean;
+var str : AnsiString;
+begin
+  if FileExists (fileName) then
+     begin
+     result := libLoadSBMLFromFile (internalRRHandle, PAnsiChar (fileName));
+     end
+  else
+     raise Exception.Create ('Unable to locate SBML file [' + fileName + ']');
+end;
+
+
+function getSBML : AnsiString;
+begin
+  result := libGetSBML;
+end;
+
+
+function getValue (Id : AnsiString) : double;
+begin
+  if not libGetValue (internalRRHandle, PAnsiChar (Id), result) then
+     raise Exception.Create ('Error in getVlaue');
+end;
+
+
+function setValue (Id : AnsiString; value : double) : boolean;
+begin
+  result := libSetValue (internalRRHandle, PAnsiChar (Id), value);
+end;
+
+
+function reset : boolean;
+begin
+  result := libReset;
+end;
+
+
+function setFloatingSpeciesInitialConcentrations (value : TDoubleArray) : boolean;
+var p : PRRDoubleVectorHandle;  i : integer;
+begin
+ p := libCreateVector (length (value));
+ for i := 0 to length (value) - 1 do
+     p^.data[i] := value[i];
+ result := libSetFloatingSpeciesInitialConcentrations (internalRRHandle, p);
+ libFreeDoubleVector (p);
+end;
+
+
+function getCapabilities : AnsiString;
+begin
+  result := libGetCapabilities (internalRRHandle);
+end;
+
+
+function setCapabilities (str : AnsiString) : boolean;
+begin
+  result := libSetCapabilities (internalRRHandle, PAnsiChar (str));
+end;
+
+
+function evalModel : boolean;
+begin
+  result := libEvalModel (internalRRHandle);
+end;
+
+
+function getFullJacobian : T2DDoubleArray;
+var p : PRRMatrixHandle;
+begin
+  p := libGetFullJacobian;
+  if p = nil then
+     raise Exception.Create ('No Jacobian matrix');
+  try
+    result := loadInTo2DArray (p);
+  finally
+    libFreeMatrix (p);
+  end;
+end;
+
+
+function getReducedJacobian : T2DDoubleArray;
+var p : PRRMatrixHandle;
+begin
+  p := libGetReducedJacobian;
+  try
+    result := loadInTo2DArray (p);
+  finally
+    libFreeMatrix (p);
+  end;
+end;
+
+
+function mGetReducedJacobian : TMatrix;
+var p : PRRMatrixHandle;
+begin
+  p := libGetReducedJacobian;
+  try
+    result := loadIntoMatrix(p);
+  finally
+    libFreeMatrix (p);
+  end;
+end;
+
+function setTimeCourseSelectionList (strList : TStringList) : boolean;
+var i : integer;
+begin
+  if strList.Count = 0 then
+     exit;
+
+  selectionList := strList[0];
+  for i := 1 to strList.Count - 1 do
+      selectionList := selectionList + ' ' + strList[i];
+  if not libSetTimeCourseSelectionList (internalRRHandle, PAnsiChar (selectionList)) then
+     raise Exception.Create ('Error calling setSelectionList');
+end;
+
+
+function getTimeCourseSelectionList: TRRList;
+var ptr : PRRListRecordHandle;
+begin
+  ptr := libGetTimeCourseSelectionList (internalRRHandle);
+  result := extractList (ptr);
+end;
+
+
+procedure setTimeStart (value : double);
+begin
+  if not libSetTimeStart (internalRRHandle, value) then
+     raise Exception.Create ('Error while calling setTimeStart');
+end;
+
+
+procedure setTimeEnd (value : double);
+begin
+  if not libSetTimeEnd (internalRRHandle, value) then
+     raise Exception.Create ('Error while calling setTimeEnd');
+end;
+
+
+procedure setNumberOfPoints (value : integer);
+begin
+  if not libSetNumberOfPoints (internalRRHandle, value) then
+     raise Exception.Create ('Error while calling setNumberOfPoints');
+end;
+
+
+
+function simulate : T2DDoubleArray;
+var RRResult : PRRResultHandle;
+    i, j : integer;
+    nr, nc : integer;
+begin
+  RRResult := libSimulate (internalRRHandle);
+
+  if RRResult = nil then
+     raise Exception.Create (getLastError());
+  try
+     nr := RRResult^.RSize;
+     nc := RRResult^.CSize;
+     setLength (result, nr, nc);
+     for i := 0 to nr - 1 do
+         for j := 0 to nc - 1 do
+             result[i,j] := RRResult^.data[i*nc + j];
+  finally
+    libFreeResult (RRResult);
+  end;
+end;
+
+
+function mSimulate : TMatrix;
+var RRResult : PRRResultHandle;
+    i, j : integer;
+    nr, nc : integer;
+begin
+  RRResult := libSimulate (internalRRHandle);
+
+  if RRResult = nil then
+     raise Exception.Create (getLastError());
+  try
+     nr := RRResult^.RSize;
+     nc := RRResult^.CSize;
+     result := TMatrix.Create (nr, nc);
+     for i := 0 to nr - 1 do
+         for j := 0 to nc - 1 do
+             result[i+1,j+1] := RRResult^.data[i*nc + j];
+  finally
+    libFreeResult (RRResult);
+  end;
+end;
+
+
+function simulateEx (timeStart: double; timeEnd : double; numberOfPoints : integer)  : TMatrix;
+var RRResult : PRRResultHandle;
+    i, j : integer;
+    nr, nc : integer;
+begin
+  RRResult := libSimulateEx (internalRRHandle, timeStart, timeEnd, numberOfPoints);
+  if RRResult = nil then
+     raise Exception.Create (getLastError());
+  try
+     nr := RRResult^.RSize;
+     nc := RRResult^.CSize;
+     result := TMatrix.Create (nr, nc);
+     for i := 0 to nr - 1 do
+         for j := 0 to nc - 1 do
+             result[i+1,j+1] := RRResult^.data[i*nc + j];
+  finally
+    libFreeResult (RRResult);
+  end;
+end;
+
+
+function oneStep (var currentTime : double; var stepSize : double) : double;
+begin
+  result := libOneStep (internalRRHandle, currentTime, stepSize);
+end;
+
+
+function getReactionIds : TStringList;
+var pList : PRRStringArray;
+begin
+  pList := libGetReactionIds (internalRRHandle);
+  if pList <> nil then
+     try
+       result := getArrayOfStrings(pList);
+     finally
+       libFreeStringArray (pList);
+     end
+  else
+     result := TStringList.Create;
+end;
+
+
+function getNumberOfReactions : integer;
+begin
+  result := libGetNumberOfReactions (internalRRHandle);
+end;
+
+function getNumberOfBoundarySpecies : integer;
+begin
+  result := libGetNumberOfBoundarySpecies (internalRRHandle);
+end;
+
+
+function getBoundarySpeciesIds : TStringList;
+var p : PRRStringArray;
+begin
+  p := libGetBoundarySpeciesIds (internalRRHandle);
+  try
+    if p = nil then
+       result := TStringList.Create
+    else
+       result := getArrayOfStrings(p);
+  finally
+    libFreeStringArray (p);
+  end;
+end;
+
+
+function getFloatingSpeciesIds : TStringList;
+var p : PRRStringArray;
+begin
+  p := libGetFloatingSpeciesIds (internalRRHandle);
+  try
+    if p = nil then
+       result := TStringList.Create
+    else
+       result := getArrayOfStrings(p);
+  finally
+    libFreeStringArray (p);
+  end;
+end;
+
+
+function getGlobalParameterIds : TStringList;
+var p : PRRStringArray;
+begin
+  p := libGetGlobalParameterIds (internalRRHandle);
+  try
+    if p = nil then
+       result := TStringList.Create
+    else
+       result := getArrayOfStrings (p);
+  finally
+    libFreeStringArray (p);
+  end;
+end;
+
+
+function getFloatingSpeciesConcentrations : TDoubleArray;
+var p : PRRDoubleVectorHandle; i : integer;
+begin
+  p := libGetFloatingSpeciesConcentrations (internalRRHandle);
+  try
+    setLength (result, p^.count);
+    for i := 0 to p^.count - 1 do
+        result[i] := p^.data[i];
+  finally
+    libFreeDoubleVector (p);
+  end;
+end;
+
+
+function getBoundarySpeciesConcentrations : TDoubleArray;
+var p : PRRDoubleVectorHandle; i : integer;
+begin
+  p := libGetBoundarySpeciesConcentrations (internalRRHandle);
+  try
+    setLength (result, p^.count);
+    for i := 0 to p^.count - 1 do
+        result[i] := p^.data[i];
+  finally
+    if p^.count > 0 then
+       libFreeDoubleVector (p);
+  end;
+end;
+
+
+function getRatesOfChangeIds : TStringList;
+var p : PRRStringArray;
+begin
+  p := libGetRatesOfChangeIds (internalRRHandle);
+  try
+    if p = nil then
+       result := TStringList.Create
+    else
+       result := getArrayOfStrings (p);
+  finally
+    libFreeStringArray (p);
+  end;
+end;
+
+
+function getEigenvalueIds : TStringList;
+var p : PRRStringArray;
+begin
+  p := libGetEigenvalueIds (internalRRHandle);
+  try
+    if p = nil then
+       result := TStringList.Create
+    else
+       result := getArrayOfStrings (p);
+  finally
+    libFreeStringArray (p);
+  end;
+end;
+
+
+function getElasticityIds : TStringList;
+var p : PRRStringArray;
+begin
+  p := libGetElasticityIds (internalRRHandle);
+  try
+    if p = nil then
+       result := TStringList.Create
+    else
+       result := getArrayOfStrings (p);
+  finally
+    libFreeStringArray (p);
+  end;
+end;
+
+function getNumberOfFloatingSpecies : integer;
+begin
+  result := libGetNumberOfFloatingSpecies (internalRRHandle);
+end;
+
+
+function getNumberOfGlobalParameters : integer;
+begin
+  result := libGetNumberOfGlobalParameters (internalRRHandle);
+end;
+
+
+function getNumberOfCompartments : integer;
+begin
+  result := libGetNumberOfCompartments (internalRRHandle);
+end;
+
+
+function getCompartmentIds : TStringList;
+var pList : PRRStringArray;
+begin
+  pList := libGetCompartmentIds (internalRRHandle);
+  if pList <> nil then
+     try
+       result := getArrayOfStrings(pList);
+     finally
+       libFreeStringArray (pList);
+     end
+  else
+    result := TStringList.Create;
+end;
+
+
+function setCompartmentByIndex (index : integer; value : double) : boolean;
+begin
+  result := libSetCompartmentByIndex (internalRRHandle, index, value);
+end;
+
+
+function setFloatingSpeciesByIndex (index : integer; value : double) : boolean;
+begin
+  result := libSetFloatingSpeciesByIndex (internalRRHandle, index, value);
+end;
+
+
+function setBoundarySpeciesByIndex (index : integer; value : double) : boolean;
+begin
+  result := libSetBoundarySpeciesByIndex (internalRRHandle, index, value);
+end;
+
+
+function setGlobalParameterByIndex (index : integer; value : double) : boolean;
+begin
+  result := libSetGlobalParameterByIndex (internalRRHandle, index, value);
+end;
+
+
+function getCompartmentByIndex (index : integer) : double;
+begin
+  if not libGetCompartmentByIndex (internalRRHandle, index, result) then
+     raise Exception.Create ('Index out of range in getCompartmentByIndex');
+end;
+
+
+function getFloatingSpeciesByIndex (index : integer) : double;
+begin
+  if not libGetFloatingSpeciesByIndex (internalRRHandle, index, result) then
+     raise Exception.Create ('Index out of range in getFloatingSpeciesByIndex');
+end;
+
+
+function getBoundarySpeciesByIndex (index : integer) : double;
+begin
+  if not libGetBoundarySpeciesByIndex (internalRRHandle, index, result) then
+     raise Exception.Create ('Index out of range in getBoundarySpeciesByIndex');
+end;
+
+
+function getGlobalParameterByIndex (index : integer) : double;
+begin
+  if not libGetGlobalParameterByIndex (internalRRHandle, index, result) then
+     raise Exception.Create ('Index out of range in getGlobalParameterByIndex');
+end;
+
+
+function getNumberOfDependentSpecies : integer;
+begin
+  result := libGetNumberOfDependentSpecies (internalRRHandle);
+end;
+
+function getNumberOfIndependentSpecies : integer;
+begin
+  result := libGetNumberOfIndependentSpecies (internalRRHandle);
+end;
+
+
+function steadyState : double;
+var errMsg : AnsiString;
+begin
+  if not libSteadyState (internalRRHandle, result) then
+     begin
+     errMsg := getLastError;
+     raise Exception.Create (errMsg);
+     end;
+end;
+
+
+function computeSteadyStateValues : TDoubleArray;
+var p : PRRDoubleVectorHandle; i : integer;
+begin
+  p := libComputeSteadyStateValues (internalRRHandle);
+  try
+    setLength (result, p.count);
+    for i := 0 to p.count - 1 do
+        result[i] := p.data[i];
+  finally
+    libFreeDoubleVector (p);
+  end;
+end;
+
+
+function getEigenvalues : T2DDoubleArray;
+var p : PRRMatrixHandle;
+begin
+  //p := libGetEigenvalues (rrHandle);
+  if p = nil then
+     raise Exception.Create ('No Eigenvalue matrix');
+  try
+    result := loadInTo2DArray (p);
+  finally
+    libFreeMatrix (p);
+  end;
+end;
+
+
+function mGetEigenvalues : TMatrix;
+var p : PRRMatrixHandle;
+begin
+  //p := libGetEigenvalues (rrHandle);
+  if p = nil then
+     raise Exception.Create ('No Eigenvalue matrix');
+  try
+    result := loadInToMatrix (p);
+  finally
+    libFreeMatrix (p);
+  end;
+end;
+
+
+
+function  getEigenvaluesMatrix (m : T2DDoubleArray) : T2DDoubleArray;
+var p1, p2 : PRRMatrixHandle;
+begin
+  p1 := loadIntoRRMatrix (m);
+  if p1 = nil then
+     exit;
+
+  p2 := libGetEigenvaluesMatrix (internalRRHandle, p1);
+  if p2 = nil then
+     exit;
+
+  result := loadInTo2DArray (p2);
+end;
+
+
+function setSteadyStateSelectionList (strList : TStringList) : boolean;
+var i : integer;
+    str : AnsiString;
+begin
+  if strList.Count > 0 then
+     begin
+     str := strList[0];
+     for i := 1 to strList.Count - 1 do
+         str := ' ' + strList[i];
+     libSetSteadyStateSelectionList (internalRRHandle, PAnsiChar (str));
+     end;
+  result := true;
+end;
+
+
+function getSteadyStateSelectionList: TRRList;
+var ptr : PRRListRecordHandle;
+begin
+  ptr := libGetSteadyStateSelectionList (internalRRHandle);
+  result := extractList (ptr);
+end;
+
+
+function getUnscaledFluxControlCoefficientMatrix : T2DDoubleArray;
+var p1 : PRRMatrixHandle;
+begin
+  p1 := libGetuFCC (internalRRHandle);
+  if p1 = nil then
+     exit;
+
+  result := loadInTo2DArray (p1);
+end;
+
+
+function  getScaledFluxControlCoefficientMatrix : T2DDoubleArray;
+var p1 : PRRMatrixHandle;
+begin
+  p1 := libGetFCC (internalRRHandle);
+  if p1 = nil then
+     raise Exception.Create ('Error in FCC function' + getLastError);
+
+  result := loadInTo2DArray (p1);
+end;
+
+
+function getuCC (variable : AnsiString; parameter : AnsiString) : double;
+begin
+  if not libgetuCC (internalRRHandle, PAnsiChar (variable), PAnsiChar (parameter), result) then
+     raise Exception.Create ('Error in getCC function');
+end;
+
+
+function getCC (variable : AnsiString; parameter : AnsiString) : double;
+begin
+  if not libgetCC (internalRRHandle, PAnsiChar (variable), PAnsiChar (parameter), result) then
+     raise Exception.Create ('Error in getCC function');
+end;
+
+
+function getuEE (variable : AnsiString; parameter : AnsiString) : double;
+begin
+  if not libgetuEE (internalRRHandle, PAnsiChar (variable), PAnsiChar (parameter), result) then
+     raise Exception.Create ('Error in getCC function');
+end;
+
+
+function getEE (variable : AnsiString; parameter : AnsiString) : double;
+begin
+  if not libgetEE (internalRRHandle, PAnsiChar (variable), PAnsiChar (parameter), result) then
+     raise Exception.Create ('Error in getCC function');
+end;
+
+
+function getAvailableTimeCourseSymbols : TRRList;
+var ptr : PRRListRecordHandle;
+begin
+  ptr := libGetAvailableTimeCourseSymbols (internalRRHandle);
+  result := extractList (ptr);
+end;
+
+
+function getAvailableSteadStateSymbols : TRRList;
+var ptr : PRRListRecordHandle;
+begin
+  ptr := libGetAvailableSteadyStateSymbols (internalRRHandle);
+  result := extractList (ptr);
+end;
+
+
+// Deprecated
+function getAvailableSymbolsII : TRRList;
+var subList : TRRList; st : TStringList;
+    i : integer;
+    ptr : PRRListRecordHandle;
+begin
+  ptr := libGetAvailableTimeCourseSymbols (internalRRHandle);
+  result := extractList (ptr);
+  exit;
+
+  subList := TRRList.Create;
+  subList.Add (TRRListItem.Create ('time'));
+  result.Add (TRRListItem.Create (subList));
+
+  subList := TRRList.Create;
+  subList.Add (TRRListItem.Create ('Floating Species'));
+  st := getFloatingSpeciesIds ();
+  for i := 0 to st.Count - 1 do
+      subList.Add (TRRListItem.Create (st[i]));
+  result.Add (TRRListItem.Create (subList));
+  st.Free;
+
+  st := getBoundarySpeciesIds ();
+  subList := TRRList.Create;
+  subList.Add (TRRListItem.Create ('Boundary Species'));
+  for i := 0 to st.Count - 1 do
+      subList.Add (TRRListItem.Create (st[i]));
+  result.Add (TRRListItem.Create (subList));
+  st.Free;
+
+  {st := getFloatingSpeciesAmountIds();
+  subList := TRRList.Create;
+  for i := 0 to st.Count - 1 do
+      subList.Add (TRRListItem.Create (st[i]));
+  result.Add (TRRListItem.Create (subList));
+  st.Free;}
+
+  {st := getBoundarySpeciesAmountIds();
+  subList := TRRList.Create;
+  for i := 0 to st.Count - 1 do
+      subList.Add (TRRListItem.Create (st[i]));
+  lresultist.Add (TRRListItem.Create (subList));
+  st.Free;}
+
+  st := getGlobalParameterIds ();
+  subList := TRRList.Create;
+  subList.Add (TRRListItem.Create ('Global Parameter Ids'));
+  for i := 0 to st.Count - 1 do
+      subList.Add (TRRListItem.Create (st[i]));
+  result.Add (TRRListItem.Create (subList));
+  st.Free;
+
+  {st := getCompartmentIds();
+  subList := TRRList.Create;
+  subList.Add (TRRListItem.Create ('Compartments'));
+  for i := 0 to st.Count - 1 do
+      subList.Add (TRRListItem.Create (st[i]));
+  result.Add (TRRListItem.Create (subList));
+  st.Free;}
+
+  st := getReactionIds ();
+  subList := TRRList.Create;
+  subList.Add (TRRListItem.Create ('Reaction Ids'));
+  for i := 0 to st.Count - 1 do
+      subList.Add (TRRListItem.Create (st[i]));
+  result.Add (TRRListItem.Create (subList));
+  st.Free;
+
+  {st := getRatesOfChangeIds();
+  subList := TRRList.Create;
+  subList.Add (TRRListItem.Create ('Rate of Change Ids'));
+  for i := 0 to st.Count - 1 do
+      subList.Add (TRRListItem.Create (st[i]));
+  result.Add (TRRListItem.Create (subList));
+  st.Free;}
+
+  {st := getElasticityCoefficientIds();
+  subList := TRRList.Create;
+  subList.Add (TRRListItem.Create ('Elasticity Coefficients'));
+  for i := 0 to st.Count - 1 do
+      subList.Add (TRRListItem.Create (st[i]));
+  result.Add (TRRListItem.Create (subList));
+  st.Free;}
+
+  {st := getUnscaledElasticityCoefficientIds();
+  subList := TRRList.Create;
+  subList.Add (TRRListItem.Create ('Unscaled Elasticity Coefficients'));
+  for i := 0 to st.Count - 1 do
+      subList.Add (TRRListItem.Create (st[i]));
+  result.Add (TRRListItem.Create (subList));
+  st.Free;}
+
+  {st := getEigenValueIds();
+  subList := TRRList.Create;
+  subList.Add (TRRListItem.Create ('Eigenvalues'));
+  for i := 0 to st.Count - 1 do
+      subList.Add (TRRListItem.Create (st[i]));
+  result.Add (TRRListItem.Create (subList));
+  st.Free;}
+
+  {p := libGetAvailableSymbols;
+  setLength (result, p^.count);
+  for i := 0 to p^.count - 1 do
+      begin
+      result[i].labelStr := p^.list[i].labelStr;
+      result[i].stringList := getArrayOfStrings  (@(p^.list[i]));
+      end;}
+end;
+
+
+function getReactionRate (index : integer) : double;
+begin
+  result := libGetReactionRate (internalRRHandle, index);
+end;
+
+
+function getReactionRates : TDoubleArray;
+var p : PRRDoubleVectorHandle; i : integer;
+begin
+  p := libGetReactionRates (internalRRHandle);
+  try
+    if p = nil then
+       begin
+       setLength (result, 0);
+       exit;
+       end;
+    setLength (result, p^.count);
+    for i := 0 to p^.count - 1 do
+        result[i] := p^.data[i];
+  finally
+    libFreeDoubleVector (p);
+  end;
+end;
+
+
+function getRatesOfChange : TDoubleArray;
+var p : PRRDoubleVectorHandle; i : integer;
+begin
+  p := libGetRatesOfChange (internalRRHandle);
+  try
+    if p = nil then
+       begin
+       setLength (result, 0);
+       exit;
+       end;
+    setLength (result, p^.count);
+    for i := 0 to p^.count - 1 do
+        result[i] := p^.data[i];
+  finally
+    libFreeDoubleVector (p);
+  end;
+end;
+
+
+function getStoichiometryMatrix : T2DDoubleArray;
+var st : PRRMatrixHandle;
+    i : integer;
+begin
+  st := libGetStoichiometryMatrix (internalRRHandle);
+  try
+    if st = nil then
+       begin
+       setLength (result, 0, 0);
+       exit;
+       end;
+
+    result := loadInTo2DArray(st);
+  finally
+    libFreeMatrix (st);
+  end;
+end;
+
+
+function mGetStoichiometryMatrix : TMatrix;
+var st : PRRMatrixHandle;
+    i : integer;
+begin
+  st := libGetStoichiometryMatrix (internalRRHandle);
+  try
+    if st = nil then
+       begin
+       result := nil;
+       exit;
+       end;
+
+    result := loadInToMatrix (st);
+  finally
+    libFreeMatrix (st);
+  end;
+end;
+
+
+function getLinkMatrix : T2DDoubleArray;
+var st : PRRMatrixHandle;
+    i, j : integer;
+begin
+  st := libGetLinkMatrix (internalRRHandle);
+  try
+    if st = nil then
+       begin
+       setLength (result, 0, 0);
+       exit;
+       end;
+
+    result := loadInTo2DArray (st);
+  finally
+    libFreeMatrix (st);
+  end;
+end;
+
+
+function getNrMatrix : T2DDoubleArray;
+var st : PRRMatrixHandle;
+begin
+  st := libGetNrMatrix (internalRRHandle);
+  try
+    if st = nil then
+       begin
+       setLength (result, 0, 0);
+       exit;
+       end;
+
+    result := loadInTo2DArray (st);
+  finally
+    libFreeMatrix (st);
+  end;
+end;
+
+
+function getL0Matrix : T2DDoubleArray;
+var st : PRRMatrixHandle;
+begin
+  st := libGetL0Matrix (internalRRHandle);
+  try
+    if st = nil then
+       begin
+       setLength (result, 0, 0);
+       exit;
+       end;
+
+    result := loadInTo2DArray (st);
+  finally
+    libFreeMatrix (st);
+  end;
+end;
+
+
+function getConservationMatrix : T2DDoubleArray;
+var st : PRRMatrixHandle;
+begin
+  st := libGetConservationMatrix (internalRRHandle);
+  try
+    if st = nil then
+       begin
+       setLength (result, 0, 0);
+       exit;
+       end;
+
+    result := loadInTo2DArray (st);
+  finally
+    libFreeMatrix (st);
+  end;
+end;
+
+
+function mGetConservationMatrix : TMatrix;
+var st : PRRMatrixHandle;
+begin
+  st := libGetConservationMatrix (internalRRHandle);
+  try
+    if st = nil then
+       begin
+       result := nil;
+       exit;
+       end;
+
+    result := loadInToMatrix (st);
+  finally
+    libFreeMatrix (st);
+  end;
+end;
+
+
+procedure setMatrixElement ();
+begin
+end;
+
+// ---------------------------------------------------------------------
+
+procedure setRoadRunnerLibraryName (newLibName : AnsiString);
+begin
+  libName := newLibName;
+end;
+
+
+function loadSingleMethod (methodName : string; var errMsg : AnsiString; var success : boolean; methodList : TStringList) : Pointer;
+begin
+   result := GetProcAddress(dllHandle, PChar (methodName));
+   if not Assigned (result) then
+      begin
+      methodList.Add (methodName + ': ****************** FAILED');
+      errMsg := 'Failed to load method: ' + methodName;
+      success := false;
+      end
+   else
+      methodList.Add (methodName + ': found');
+end;
+
+
+function loadMethods (var errMsg : AnsiString; methodList : TStringList) : boolean;
+begin
+   result := true;
+   try
+   @libGetBuildDate  := loadSingleMethod ('getBuildDate', errMsg, result, methodList);
+   @libGetVersion    := loadSingleMethod ('getVersion', errMsg, result, methodList);
+   @libHasError      := loadSingleMethod ('hasError', errMsg, result, methodList);
+   @libGetLastError  := loadSingleMethod ('getLastError', errMsg, result, methodList);
+
+   @libSetLogLevel   := loadSingleMethod ('setLogLevel', errMsg, result, methodList);
+   @libEnableLoggingToConsole := loadSingleMethod ('enableLoggingToConsole', errMsg, result, methodList);
+   @libEnableLoggingToFile := loadSingleMethod ('enableLoggingToFile', errMsg, result, methodList);
+   libGetLogFileName := loadSingleMethod ('getLogFileName', errMsg, result, methodList);
+
+   @libSetTempFolder := loadSingleMethod ('setTempFolder', errMsg, result, methodList);
+   @libGetTempFolder := loadSingleMethod ('getTempFolder', errMsg, result, methodList);
+
+   @libGetCCode      := loadSingleMethod ('getCCode', errMsg, result, methodList);
+   @libGetCopyright  := loadSingleMethod ('getCopyright', errMsg, result, methodList);
+
+   @libCreateRRInstance := loadSingleMethod ('createRRInstance', errMsg, result, methodList);
+
+   @libSetComputeAndAssignConservationLaws := loadSingleMethod ('setComputeAndAssignConservationLaws', errMsg, result, methodList);
+
+   @libLoadSBMLFromFile   := loadSingleMethod ('loadSBMLFromFile', errMsg, result, methodList);
+   @libLoadSBML           := loadSingleMethod ('loadSBML', errMsg, result, methodList);
+   @libGetSBML            := loadSingleMethod ('getSBML', errMsg, result, methodList);
+
+   @libSetTimeStart       := loadSingleMethod ('setTimeStart', errMsg, result, methodList);
+   @libSetTimeEnd         := loadSingleMethod ('setTimeEnd', errMsg, result, methodList);
+   @libSetNumberOfPoints  := loadSingleMethod ('setNumPoints', errMsg, result, methodList);
+   @libSimulate           := loadSingleMethod ('simulate', errMsg, result, methodList);
+   @libSimulateEx         := loadSingleMethod ('simulateEx', errMsg, result, methodList);
+   @libOneStep            := loadSingleMethod ('oneStep', errMsg, result, methodList);
+   @libReset              := loadSingleMethod ('reset', errMsg, result, methodList);
+   @libGetCapabilities    := loadSingleMethod ('getCapabilities', errMsg, result, methodList);
+   @libSetCapabilities    := loadSingleMethod ('setCapabilities', errMsg, result, methodList);
+   @libSetFloatingSpeciesInitialConcentrations := loadSingleMethod ('setFloatingSpeciesInitialConcentrations', errMsg, result, methodList);
+
+   @libEvalModel          := loadSingleMethod ('evalModel', errMsg, result, methodList);
+   @libGetFullJacobian    := loadSingleMethod('getFullJacobian', errMsg, result, methodList);
+   @libGetReducedJacobian := loadSingleMethod('getReducedJacobian', errMsg, result, methodList);
+
+   @libSetValue           := loadSingleMethod ('setValue', errMsg, result, methodList);
+   @libGetValue           := loadSingleMethod ('getValue', errMsg, result, methodList);
+   @libSetTimeCourseSelectionList  := loadSingleMethod ('setTimeCourseSelectionList', errMsg, result, methodList);
+   //@libGetTimeCourseSelectionList  := loadSingleMethod ('getTimeCourseSelectionList', errMsg, result, methodList);
+
+   @libGetNumberOfReactions        := loadSingleMethod ('getNumberOfReactions', errMsg, result, methodList);
+   @libGetNumberOfBoundarySpecies  := loadSingleMethod ('getNumberOfBoundarySpecies', errMsg, result, methodList);
+   @libGetNumberOfFloatingSpecies  := loadSingleMethod ('getNumberOfFloatingSpecies', errMsg, result, methodList);
+   @libGetNumberOfGlobalParameters := loadSingleMethod ('getNumberOfGlobalParameters', errMsg, result, methodList);
+   @libGetNumberOfCompartments     := loadSingleMethod ('getNumberOfCompartments', errMsg, result, methodList);
+
+   @libSetCompartmentByIndex       := loadSingleMethod ('setCompartmentByIndex', errMsg, result, methodList);
+   @libSetFloatingSpeciesByIndex   := loadSingleMethod ('setFloatingSpeciesByIndex', errMsg, result, methodList);
+   @libSetBoundarySpeciesByIndex   := loadSingleMethod ('setBoundarySpeciesByIndex', errMsg, result, methodList);
+   @libSetGlobalParameterByIndex   := loadSingleMethod ('setGlobalParameterByIndex', errMsg, result, methodList);
+
+   @libGetCompartmentByIndex       := loadSingleMethod ('getCompartmentByIndex', errMsg, result, methodList);
+   @libGetFloatingSpeciesByIndex   := loadSingleMethod ('getFloatingSpeciesByIndex', errMsg, result, methodList);
+   @libGetBoundarySpeciesByIndex   := loadSingleMethod ('getBoundarySpeciesByIndex', errMsg, result, methodList);
+   @libGetGlobalParameterByIndex   := loadSingleMethod ('getGlobalParameterByIndex', errMsg, result, methodList);
+
+   @libGetFloatingSpeciesConcentrations := loadSingleMethod ('getFloatingSpeciesConcentrations', errMsg, result, methodList);
+   @libGetBoundarySpeciesConcentrations := loadSingleMethod ('getBoundarySpeciesConcentrations', errMsg, result, methodList);
+
+   @libGetNumberOfDependentSpecies   := loadSingleMethod ('getNumberOfDependentSpecies', errMsg, result, methodList);
+   @libGetNumberOfIndependentSpecies := loadSingleMethod ('getNumberOfIndependentSpecies', errMsg, result, methodList);
+
+   @libSteadyState                   := loadSingleMethod ('steadyState', errMsg, result, methodList);
+   @libComputeSteadyStateValues      := loadSingleMethod ('computeSteadyStateValues', errMsg, result, methodList);
+   @libSetSteadyStateSelectionList   := loadSingleMethod ('setSteadyStateSelectionList', errMsg, result, methodList);
+   @libGetSteadyStateSelectionList   := loadSingleMethod ('getSteadyStateSelectionList', errMsg, result, methodList);
+
+   @libGetReactionRate        := loadSingleMethod ('getReactionRate', errMsg, result, methodList);
+   @libGetReactionRates       := loadSingleMethod ('getReactionRates', errMsg, result, methodList);
+   @libGetRatesOfChange       := loadSingleMethod ('getRatesOfChange', errMsg, result, methodList);
+
+   @libGetCompartmentIds      := loadSingleMethod ('getCompartmentIds', errMsg, result, methodList);
+   @libGetReactionIds         := loadSingleMethod ('getReactionIds', errMsg, result, methodList);
+   @libGetBoundarySpeciesIds  := loadSingleMethod ('getBoundarySpeciesIds', errMsg, result, methodList);
+   @libGetFloatingSpeciesIds  := loadSingleMethod ('getFloatingSpeciesIds', errMsg, result, methodList);
+   @libGetGlobalParameterIds  := loadSingleMethod ('getGlobalParameterIds', errMsg, result, methodList);
+   @libGetRatesOfChangeIds    := loadSingleMethod ('getRatesOfChangeIds', errMsg, result, methodList);
+   @libGetEigenvalueIds       := loadSingleMethod ('getEigenvalueIds', errMsg, result, methodList);
+   @libGetElasticityIds       := loadSingleMethod ('getElasticityCoefficientIds', errMsg, result, methodList);
+
+   @libGetAvailableTimeCourseSymbols  := loadSingleMethod ('getAvailableTimeCourseSymbols', errMsg, result, methodList);
+   @libGetAvailableSteadyStateSymbols := loadSingleMethod ('getAvailableSteadyStateSymbols', errMsg, result, methodList);
+
+   @libGetStoichiometryMatrix   := loadSingleMethod ('getStoichiometryMatrix', errMsg, result, methodList);
+   @libGetLinkMatrix            := loadSingleMethod ('getLinkMatrix', errMsg, result, methodList);
+   @libGetNrMatrix              := loadSingleMethod ('getNrMatrix', errMsg, result, methodList);
+   @libGetL0Matrix              := loadSingleMethod ('getL0Matrix', errMsg, result, methodList);
+   @libGetConservationMatrix    := loadSingleMethod ('getConservationMatrix', errMsg, result, methodList);
+
+   @libgetuCC                   := loadSingleMethod ('getuCC', errMsg, result, methodList);
+   @libgetuEE                   := loadSingleMethod ('getuEE', errMsg, result, methodList);
+   @libgetCC                    := loadSingleMethod ('getCC', errMsg, result, methodList);
+   @libgetEE                    := loadSingleMethod ('getEE', errMsg, result, methodList);
+   @libGetuFCC                  := loadSingleMethod ('getUnscaledFluxControlCoefficientMatrix', errMsg, result, methodList);
+   @libGetFCC                  :=  loadSingleMethod ('getScaledFluxControlCoefficientMatrix', errMsg, result, methodList);
+
+   @libGetEigenvalues           := loadSingleMethod ('getEigenvalues', errMsg, result, methodList);
+
+   @libGetEigenvaluesMatrix     := loadSingleMethod ('getEigenvaluesMatrix', errMsg, result, methodList);
+   @libGetListItem              := loadSingleMethod ('getListItem', errMsg, result, methodList);
+
+   @libFreeRRInstance   := loadSingleMethod ('freeRRInstance', errMsg, result, methodList);
+   @libFreeResult       := loadSingleMethod ('freeResult', errMsg, result, methodList);
+   @libFreeMatrix       := loadSingleMethod ('freeMatrix', errMsg, result, methodList);
+   @libFreeText         := loadSingleMethod ('freeText', errMsg, result, methodList);
+   @libFreeStringArray  := loadSingleMethod ('freeStringArray', errMsg, result, methodList);
+
+   @libCreateVector     := loadSingleMethod ('createVector', errMsg, result, methodList);
+   @libCreateRRMatrix   := loadSingleMethod ('createRRMatrix', errMsg, result, methodList);
+   @libSetMatrixElement := loadSingleMethod ('setMatrixElement', errMsg, result, methodlist);
+   @libFreeDoubleVector := loadSingleMethod ('freeVector', errMsg, result, methodList);
+   except
+     on E: Exception do
+        begin
+        errMsg := e.message;
+        result := false;
+        exit;
+        end;
+   end;
+end;
+
+function loadRoadRunner (var errMsg : AnsiString; methodList : TStringList) : boolean;
+var errStr : string;
+    tempString: WideString;
+    aString: PChar;
+    path : AnsiString;
+begin
+  DLLLoaded := false;
+  path := ExtractFilePath(ParamStr(0)) + libName;
+  if FileExists (path) then
+     begin
+     tempString := WideString (path);
+     DllHandle := LoadLibrary (PWideChar(tempString));
+
+     if DllHandle <> 0 then
+         begin
+         if loadMethods (errMsg, methodList) then
+            begin
+            DLLLoaded := True;
+            result := true;
+            end
+         else
+            result := false;
+         end
+     else
+         begin
+         errStr := SysErrorMessage(Windows.GetLastError);
+         DLLLoaded := False;
+         errMsg := 'Failed to load roadRunner at:[' + ExtractFilePath (path) + ']: ' + errStr;
+         end;
+     end
+  else
+     begin
+     DLLLoaded := False;
+     errMsg := 'Unable to locate roadRunner library at:[' + ExtractFilePath (path) + ']';
+     end;
+end;
+
+
+procedure releaseRoadRunnerLibrary;
+begin
+  DLLLoaded := false;
+  libFreeRRInstance (instance);  // <- should this be here?
+  freeLibrary (DLLHandle);
+end;
+
+end.
diff --git a/wrappers/Java/CMakeLists.txt b/wrappers/Java/CMakeLists.txt
new file mode 100755
index 0000000..1d132cf
--- /dev/null
+++ b/wrappers/Java/CMakeLists.txt
@@ -0,0 +1,184 @@
+include(${CMAKE_CURRENT_SOURCE_DIR}/FindSWIG.cmake) # this is slightly modified FindSWIG.cmake file -  had to tune it to work with OSX
+
+# https://github.com/shenshei/cmake-swig-java-example
+
+find_package(SWIG REQUIRED)
+find_package(Java 1.7 REQUIRED COMPONENTS Runtime Development)
+find_package(JNI REQUIRED)
+include(UseSWIG)
+include(UseJava)
+
+set(RR_JAVA_ENABLE_LA4J TRUE)
+
+if(RR_JAVA_ENABLE_LA4J)
+  add_definitions(-DRR_JAVA_ENABLE_LA4J)
+endif()
+
+message("Java includes: ${Java_INCLUDE_DIRS}")
+message("Java libs: ${Java_LIBRARIES}")
+message("JNI includes: ${JNI_INCLUDE_DIRS}")
+message("JNI libs: ${JNI_LIBRARIES}")
+
+include_directories(${Java_INCLUDE_DIRS})
+include_directories(${JNI_INCLUDE_DIRS})
+# INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+# INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include)
+# INCLUDE_DIRECTORIES(${RR_SOURCE_PATH}/third_party/rr-libstruct)
+
+if(SWIG_FOUND)
+  #we have to do this to get the generated header
+  include_directories(${RR_GENERATED_HEADER_PATH})
+
+  # ref: https://github.com/shenshei/cmake-swig-java-example/blob/master/CMakeLists.txt
+
+  include_directories(
+      ${CMAKE_CURRENT_SOURCE_DIR}
+      ${CMAKE_CURRENT_SOURCE_DIR}/include
+      ${RR_SOURCE_ROOT}
+      ${THIRD_PARTY_INSTALL_FOLDER}/include
+      ${THIRD_PARTY_INSTALL_FOLDER}/include/rr-libstruct
+      ${THIRD_PARTY_INSTALL_FOLDER}/include/sbml
+      ${THIRD_PARTY_INSTALL_FOLDER}/include/cvode
+      )
+
+  set_source_files_properties(roadrunner/jroadrunner.i PROPERTIES CPLUSPLUS ON)
+
+  set(CMAKE_SWIG_FLAGS -package roadrunner)
+  set(CMAKE_SWIG_OUTDIR "roadrunner")
+
+  swig_add_module(jroadrunner java roadrunner/jroadrunner.i)
+
+  # use swig in C++ mode (http://www.cmake.org/cmake/help/v3.2/module/UseSWIG.html)
+  set_property(SOURCE roadrunner/jroadrunner.i PROPERTY CPLUSPLUS ON)
+
+  set(ROADRUNNER_JAVA_SRC
+    ${CMAKE_CURRENT_SOURCE_DIR}/roadrunner/NativeLib.java
+    ${CMAKE_CURRENT_SOURCE_DIR}/roadrunner/LabeledData.java
+    )
+
+  set(ROADRUNNER_JAVA_GENERATED
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/BasicDictionary.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/roadrunnerJNI.java
+#     ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/RoadrunnerJNI.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/Compiler.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/Config.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/Dictionary.java
+    # ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/DictionaryVector.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/EventListener.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/ExecutableModelFactory.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/ExecutableModel.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/IntegratorException.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/Integrator.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/IntVector.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/LoadSBMLOptions.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/Logger.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/PyConservedMoietyConverter.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/roadrunner.java
+#     ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/Roadrunner.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/RoadRunner.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/RoadRunnerOptions.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SBMLReader.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SelectionRecord.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SimulateOptions.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/StringVector.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_cxx11_ns__shared_ptrT_rr__EventListener_t.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_cxx11_ns__shared_ptrT_rr__IntegratorListener_t.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_double.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_int.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_ls__DoubleMatrix.java
+  #   ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_PyObject.java
+  #   ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_rr__PyEventListener.java
+  #   ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_rr__PyIntegratorListenerPtr.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_std__vectorT_double_t.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_std__vectorT_ls__Complex_t.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_string.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_unsigned_char.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/SWIGTYPE_p_Variant.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/ValidateSBML.java
+    ${CMAKE_CURRENT_BINARY_DIR}/roadrunner/VersionStrOptions.java
+    )
+
+  set_source_files_properties(${ROADRUNNER_JAVA_GENERATED} PROPERTIES GENERATED TRUE)
+
+  set_property(TARGET jroadrunner
+      PROPERTY  COMPILE_DEFINITIONS
+      LIBSBML_STATIC
+      LIBLAX_STATIC
+      STATIC_PUGI
+      STATIC_LIBSTRUCT
+      )
+
+  swig_link_libraries ( jroadrunner
+      roadrunner-static
+      rr-libstruct-static
+      nleq-static
+      ${LIBSBML_STATIC_LIBRARY}
+      lapack
+      blas
+      f2c
+      ${Java_LIBRARIES}
+      )
+
+  set(CMAKE_JNI_TARGET TRUE)
+#   add_jar(preroadrunner_jar ${CMAKE_CURRENT_BINARY_DIR}/ValidateSBML.java VERSION 1.3.0 ENTRY_POINT roadrunner)
+#   add_jar(preroadrunner_jar ${ROADRUNNER_JAVA_GENERATED} ENTRY_POINT roadrunner.NativeLib)
+  add_jar(preroadrunner_jar ${ROADRUNNER_JAVA_SRC} ${ROADRUNNER_JAVA_GENERATED} INCLUDE_JARS la4j-0.5.5.jar)
+
+  get_target_property(PRERR_JARFILE preroadrunner_jar JAR_FILE)
+
+  # need to make this depend on the generated files as well
+  add_dependencies(preroadrunner_jar jroadrunner)
+#   install_jar(preroadrunner_jar ${LIB_INSTALL_DIR}/java)
+#   install_jni_symlink(preroadrunner_jar .)
+
+  set(JAVA_BUNDLE "${CMAKE_CURRENT_SOURCE_DIR}/roadrunner/java_bundle.sh")
+
+  set(JAVA_BUNDLE_SO_FILES "${CMAKE_BINARY_DIR}/lib/libjroadrunner.so")
+
+  set(MANIFEST_FILE "MANIFEST")
+
+  add_custom_command(OUTPUT roadrunner_jar.jar
+    COMMAND ${CMAKE_COMMAND} -E copy ${PRERR_JARFILE} roadrunner_jar.jar
+    COMMAND ${JAVA_BUNDLE} "roadrunner_jar.jar" "${Java_JAVA_EXECUTABLE}" "roadrunner/NativeLib" "${CMAKE_STRIP}" -so ${JAVA_BUNDLE_SO_FILES}
+    COMMAND ${JAVA_ARCHIVE} -uvf "roadrunner_jar.jar" "NATIVE"
+    COMMAND ${CMAKE_COMMAND} -E echo "Class-Path: ." >${MANIFEST_FILE}
+    COMMAND ${JAVA_ARCHIVE} -uvmf "MANIFEST" "roadrunner_jar.jar"
+    COMMAND ${CMAKE_COMMAND} -E remove ${MANIFEST_FILE}
+    DEPENDS ${PRERR_JARFILE} preroadrunner_jar jroadrunner roadrunner/java_bundle.sh
+    )
+
+  add_custom_target(jjrr ALL DEPENDS roadrunner_jar.jar)
+
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/roadrunner_jar.jar DESTINATION java)
+
+  add_subdirectory(roadrunner)
+
+  if(WIN32)
+    set(RR_JAVA_CP_SEP ";")
+  else()
+    set(RR_JAVA_CP_SEP ":")
+  endif()
+  set(RR_JAVA_TESTS_CLASSPATH ".${RR_JAVA_CP_SEP}roadrunner_jar.jar")
+
+  # copy la4j to build folder so it can be added to classpath when running tests
+  if(RR_JAVA_ENABLE_LA4J)
+    configure_file(la4j-0.5.5.jar la4j-0.5.5.jar COPYONLY)
+    set(RR_JAVA_TESTS_CLASSPATH "${RR_JAVA_TESTS_CLASSPATH}${RR_JAVA_CP_SEP}la4j-0.5.5.jar")
+  endif()
+
+  set(ROADRUNNER_ENABLE_JAVA_TESTING TRUE)
+  if(ROADRUNNER_ENABLE_JAVA_TESTING)
+    # http://stackoverflow.com/questions/18985726/cmake-to-compile-java-code
+    function(ROADRUNNER_JNI_ADD_TEST TEST_NAME)
+      add_custom_command(OUTPUT ${TEST_NAME}.class COMMAND ${Java_JAVAC_EXECUTABLE} -d ${CMAKE_CURRENT_BINARY_DIR} -cp ${RR_JAVA_TESTS_CLASSPATH} ${CMAKE_CURRENT_SOURCE_DIR}/tests/${TEST_NAME}.java DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tests/${TEST_NAME}.java roadrunner_jar.jar)
+      add_custom_target(${TEST_NAME}_T1 ALL DEPENDS ${TEST_NAME}.class jjrr)
+      add_test(NAME ${TEST_NAME}_Test COMMAND ${Java_JAVA_EXECUTABLE} -cp ${RR_JAVA_TESTS_CLASSPATH} ${TEST_NAME} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+    endfunction()
+
+    ROADRUNNER_JNI_ADD_TEST(roadrunner_javajni_test1)
+    ROADRUNNER_JNI_ADD_TEST(roadrunner_java_sim_test1)
+  endif()
+
+else(SWIG_FOUND)
+    message("could not find SWIG in your system")
+endif(SWIG_FOUND)
diff --git a/wrappers/Java/FindSWIG.cmake b/wrappers/Java/FindSWIG.cmake
new file mode 100644
index 0000000..e58f08b
--- /dev/null
+++ b/wrappers/Java/FindSWIG.cmake
@@ -0,0 +1,63 @@
+# - Find SWIG
+# This module finds an installed SWIG.  It sets the following variables:
+#  SWIG_FOUND - set to true if SWIG is found
+#  SWIG_DIR - the directory where swig is installed
+#  SWIG_EXECUTABLE - the path to the swig executable
+
+SET(SWIG_FOUND FOOBAR)
+
+
+
+FIND_PATH(SWIG_DIR
+  SWIGConfig.cmake
+  /usr/share/swig1.3
+  /usr/lib/swig1.3
+  /usr/local/share/swig1.3)
+FIND_PATH(SWIG_DIR
+  swig.swg
+  /usr/share/swig1.3
+  /usr/lib/swig1.3
+  /usr/local/share/swig1.3)
+  
+  
+FIND_PATH(SWIG_DIR
+  bin/swig
+  /usr/share/swig1.3
+  /usr/lib/swig1.3
+  /usr/local/share/swig1.3
+  /usr/local/swig
+  /opt/local
+  )
+  
+  
+IF(EXISTS ${SWIG_DIR})
+  IF("x${SWIG_DIR}x" STREQUAL "x${CMAKE_ROOT}/Modulesx")
+    MESSAGE("SWIG_DIR should not be modules subdirectory of CMake")
+  ENDIF("x${SWIG_DIR}x" STREQUAL "x${CMAKE_ROOT}/Modulesx")
+
+  IF(EXISTS ${SWIG_DIR}/SWIGConfig.cmake)
+    INCLUDE(${SWIG_DIR}/SWIGConfig.cmake)
+    SET(SWIG_FOUND 1)
+  ELSE(EXISTS ${SWIG_DIR}/SWIGConfig.cmake)
+    FIND_PROGRAM(SWIG_EXECUTABLE
+      NAMES swig-1.3 swig
+      PATHS ${SWIG_DIR} ${SWIG_DIR}/.. ${SWIG_DIR}/../../bin /usr/bin /usr/local/bin )
+    SET(SWIG_USE_FILE ${CMAKE_ROOT}/Modules/UseSWIG.cmake)
+  ENDIF(EXISTS ${SWIG_DIR}/SWIGConfig.cmake)
+ENDIF(EXISTS ${SWIG_DIR})
+
+IF("x${SWIG_FOUND}x" STREQUAL "xFOOBARx")
+  SET(SWIG_FOUND 0)
+  IF(EXISTS ${SWIG_DIR})
+    IF(EXISTS ${SWIG_USE_FILE})
+      IF(EXISTS ${SWIG_EXECUTABLE})
+        SET(SWIG_FOUND 1)
+      ENDIF(EXISTS ${SWIG_EXECUTABLE})
+    ENDIF(EXISTS ${SWIG_USE_FILE})
+  ENDIF(EXISTS ${SWIG_DIR})
+  IF(NOT ${SWIG_FOUND})
+    IF(${SWIG_FIND_REQUIRED})
+      MESSAGE(FATAL_ERROR "Swig was not found on the system. Please specify the location of Swig.")
+    ENDIF(${SWIG_FIND_REQUIRED})
+  ENDIF(NOT ${SWIG_FOUND})
+ENDIF("x${SWIG_FOUND}x" STREQUAL "xFOOBARx")
diff --git a/wrappers/Java/include/rr_stdint.i b/wrappers/Java/include/rr_stdint.i
new file mode 100644
index 0000000..edfc8d3
--- /dev/null
+++ b/wrappers/Java/include/rr_stdint.i
@@ -0,0 +1,110 @@
+/* -----------------------------------------------------------------------------
+ * stdint.i
+ *
+ * SWIG library file for ISO C99 types: 7.18 Integer types <stdint.h>
+ * ----------------------------------------------------------------------------- */
+
+%{
+#if defined(_MSC_VER)
+#include "msc_stdint.h"
+#else
+#include <stdint.h>		// Use the C99 official header
+#endif
+%}
+
+%include <swigarch.i>
+
+/* Exact integral types.  */
+
+/* Signed.  */
+
+typedef signed char		int8_t;
+typedef short int		int16_t;
+typedef int			int32_t;
+#if defined(SWIGWORDSIZE64)
+typedef long int		int64_t;
+#else
+typedef long long int		int64_t;
+#endif
+
+/* Unsigned.  */
+typedef unsigned char		uint8_t;
+typedef unsigned short int	uint16_t;
+typedef unsigned int		uint32_t;
+#if defined(SWIGWORDSIZE64)
+typedef unsigned long int	uint64_t;
+#else
+typedef unsigned long long int	uint64_t;
+#endif
+
+
+/* Small types.  */
+
+/* Signed.  */
+typedef signed char		int_least8_t;
+typedef short int		int_least16_t;
+typedef int			int_least32_t;
+#if defined(SWIGWORDSIZE64)
+typedef long int		int_least64_t;
+#else
+typedef long long int		int_least64_t;
+#endif
+
+/* Unsigned.  */
+typedef unsigned char		uint_least8_t;
+typedef unsigned short int	uint_least16_t;
+typedef unsigned int		uint_least32_t;
+#if defined(SWIGWORDSIZE64)
+typedef unsigned long int	uint_least64_t;
+#else
+typedef unsigned long long int	uint_least64_t;
+#endif
+
+
+/* Fast types.  */
+
+/* Signed.  */
+typedef signed char		int_fast8_t;
+#if defined(SWIGWORDSIZE64)
+typedef long int		int_fast16_t;
+typedef long int		int_fast32_t;
+typedef long int		int_fast64_t;
+#else
+typedef int			int_fast16_t;
+typedef int			int_fast32_t;
+typedef long long int		int_fast64_t;
+#endif
+
+/* Unsigned.  */
+typedef unsigned char		uint_fast8_t;
+#if defined(SWIGWORDSIZE64)
+typedef unsigned long int	uint_fast16_t;
+typedef unsigned long int	uint_fast32_t;
+typedef unsigned long int	uint_fast64_t;
+#else
+typedef unsigned int		uint_fast16_t;
+typedef unsigned int		uint_fast32_t;
+typedef unsigned long long int	uint_fast64_t;
+#endif
+
+
+/* Types for `void *' pointers.  */
+#if defined(SWIGWORDSIZE64)
+typedef long int		intptr_t;
+typedef unsigned long int	uintptr_t;
+#else
+typedef int			intptr_t;
+typedef unsigned int		uintptr_t;
+#endif
+
+
+/* Largest integral types.  */
+#if defined(SWIGWORDSIZE64)
+typedef long int		intmax_t;
+typedef unsigned long int	uintmax_t;
+#else
+typedef long long int		intmax_t;
+typedef unsigned long long int	uintmax_t;
+#endif
+
+
diff --git a/wrappers/Java/la4j-0.5.5.jar b/wrappers/Java/la4j-0.5.5.jar
new file mode 100644
index 0000000..9b07a8f
Binary files /dev/null and b/wrappers/Java/la4j-0.5.5.jar differ
diff --git a/wrappers/Java/roadrunner/CMakeLists.txt b/wrappers/Java/roadrunner/CMakeLists.txt
new file mode 100755
index 0000000..494d239
--- /dev/null
+++ b/wrappers/Java/roadrunner/CMakeLists.txt
@@ -0,0 +1,43 @@
+
+
+if(WIN32)
+    message(FATAL_ERROR "Java build on Windows not supported")
+    # changes dll name to pyd sop that it is compatible with new Python standard
+#     set_property(TARGET jroadrunner
+#         PROPERTY  COMPILE_DEFINITIONS
+#         EXPORT_RRC
+#         LIBSBML_STATIC
+#         LIBLAX_STATIC
+#         STATIC_PUGI
+#         POCO_STATIC
+#         STATIC_LIBSTRUCT
+#         STATIC_RR
+#         )
+#
+#     swig_link_libraries ( jroadrunner
+#         jroadrunner-static
+#         ${Java_LIBRARIES}
+#         )
+else()
+  #    set(CMAKE_SHARED_LINKER_FLAGS "-Wl, -z,defs --no-undefined")
+  #    set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined")
+
+  if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+      # Linux specific code
+      #SET_TARGET_PROPERTIES(_jroadrunner PROPERTIES LINK_FLAGS "-Wl,--no-undefined")
+  else()
+#         SET_TARGET_PROPERTIES(_jroadrunner PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
+  endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+
+  #        lapack
+  #        blas
+  #        f2c
+  #        "-Wl,--whole-archive"
+  #        rr-libstruct-static
+  #        "-Wl,--no-whole-archive"
+  #        lmfit-static
+  #        sbml-static
+  #        jroadrunner-static
+
+
+endif()
diff --git a/wrappers/Java/roadrunner/LabeledData.java b/wrappers/Java/roadrunner/LabeledData.java
new file mode 100644
index 0000000..ccd29e1
--- /dev/null
+++ b/wrappers/Java/roadrunner/LabeledData.java
@@ -0,0 +1,20 @@
+package roadrunner;
+
+import org.la4j.Matrices;
+import org.la4j.matrix.MatrixFactory;
+import org.la4j.Matrix;
+import org.la4j.matrix.DenseMatrix;
+
+import roadrunner.*;
+
+public class LabeledData {
+  private Matrix m;
+
+  public LabeledData(double[][] data) {
+    m = DenseMatrix.from2DArray(data);
+  }
+
+  public String toString() {
+    return m.toString();
+  }
+}
diff --git a/wrappers/Java/roadrunner/MANIFEST.java b/wrappers/Java/roadrunner/MANIFEST.java
new file mode 100755
index 0000000..27d9410
--- /dev/null
+++ b/wrappers/Java/roadrunner/MANIFEST.java
@@ -0,0 +1 @@
+Main-Class: com.roadrunner.NativeLib
\ No newline at end of file
diff --git a/wrappers/Java/roadrunner/NativeLib.java b/wrappers/Java/roadrunner/NativeLib.java
new file mode 100644
index 0000000..c9a748d
--- /dev/null
+++ b/wrappers/Java/roadrunner/NativeLib.java
@@ -0,0 +1,118 @@
+package roadrunner;
+
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.File;
+
+public final class NativeLib {
+
+    /* Statically load the library which contains all native functions used in here */
+    static private boolean isNativeInited = false;
+    static String name = "jroadrunner";
+
+    public static String getPath() {
+        String prefix = "NATIVE";
+        String os = System.getProperty("os.name");
+        String arch = System.getProperty("os.arch");
+
+        if (os.toLowerCase().startsWith("^win"))
+            os = "Windows";
+        else if (os.contains("OS X"))
+            os = "Darwin";
+
+        if (arch.matches("^i[3-6]86$"))
+            arch = "x86";
+        else if (arch.equalsIgnoreCase("amd64"))
+            arch = "x86_64";
+
+        os = os.replace(' ', '_');
+        arch = arch.replace(' ', '_');
+
+        return prefix + "/" + os + "/" + arch + "/";
+    }
+    public static void nativeInit() {
+  if (isNativeInited)
+            return;
+        try {
+            /* prefer the version on disk, if existing */
+            System.loadLibrary(name);
+        } catch (UnsatisfiedLinkError e) {
+            /* If not found, unpack the one bundled into the jar file and use it */
+            loadLib(name);
+        }
+        isNativeInited = true;
+    }
+
+    private static void loadLib (String name) {
+        String Path = NativeLib.getPath();
+
+        String filename=name;
+        InputStream in = NativeLib.class.getClassLoader().getResourceAsStream(Path+filename);
+
+        if (in == null) {
+      filename = "lib"+name+".so";
+            in = NativeLib.class.getClassLoader().getResourceAsStream(Path+filename);
+        } 
+  if (in == null) {
+      filename = name+".dll";
+      in = NativeLib.class.getClassLoader().getResourceAsStream(Path+filename);
+    }
+    if (in == null) {
+      filename = "lib"+name+".dll";
+      in = NativeLib.class.getClassLoader().getResourceAsStream(Path+filename);
+    }
+    if (in == null) {
+      filename = "lib"+name+".dylib";
+      in = NativeLib.class.getClassLoader().getResourceAsStream(Path+filename);
+    }
+    if (in == null) {
+      throw new RuntimeException("Cannot find library "+name+" in path "+Path+". Sorry, but this jar does not seem to be usable on your machine.");
+    }
+    try {
+      // We must write the lib onto the disk before loading it -- stupid operating systems
+      File fileOut = new File(filename);
+      fileOut = File.createTempFile(name+"-", ".tmp");
+      // don't leak the file on disk, but remove it on JVM shutdown
+      Runtime.getRuntime().addShutdownHook(new Thread(new FileCleaner(fileOut.getAbsolutePath())));
+      OutputStream out = new FileOutputStream(fileOut);
+
+      /* copy the library in position */
+      byte[] buffer = new byte[4096];
+      int bytes_read;
+      while ((bytes_read = in.read(buffer)) != -1)     // Read until EOF
+        out.write(buffer, 0, bytes_read);
+
+      /* close all file descriptors, and load that shit */
+      in.close();
+      out.close();
+      System.load(fileOut.getAbsolutePath());
+
+    } catch (Exception e) {
+      System.err.println("Cannot load the bindings to the "+name+" library: ");
+      e.printStackTrace();
+      System.err.println("This jar file does not seem to fit your system, sorry");
+      System.exit(1);
+    }
+  }
+  /* A hackish mechanism used to remove the file containing our library when the JVM shuts down */
+  private static class FileCleaner implements Runnable {
+    private String target;
+    public FileCleaner(String name) {
+      target = name;
+    }
+        public void run() {
+            try {
+                new File(target).delete();
+            } catch(Exception e) {
+                System.out.println("Unable to clean temporary file "+target+" during shutdown.");
+                e.printStackTrace();
+            }
+        }    
+  }
+
+
+    public static void main(String[] args) {
+        System.out.println(getPath());
+    }
+}
diff --git a/wrappers/Java/roadrunner/java_bundle.sh b/wrappers/Java/roadrunner/java_bundle.sh
new file mode 100755
index 0000000..48412c9
--- /dev/null
+++ b/wrappers/Java/roadrunner/java_bundle.sh
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+set -e
+#set -x
+
+if [ $# -lt 3 ]; then
+    cat >&2 <<EOF
+Usage: $0 simgrid.jar java_command entry_point strip_command [-so file.so...] [-txt file.txt...]
+    simgrid.jar    SimGrid jar file
+    java_command   path to the Java runtime
+    entry_point    entry point for java
+    strip_command  path to the command used to strip libraries
+    file.so        library file to stript and bundle into the archive
+    file.txt       other file  to bundle into the archive
+EOF
+    exit 1
+fi
+
+SIMGRID_JAR=$1
+JAVA=$2
+ENTRY_POINT=$3
+STRIP=$4
+shift 4
+
+echo "$JAVA" -classpath "$SIMGRID_JAR" $ENTRY_POINT $1 $2
+
+JSG_BUNDLE=$("$JAVA" -classpath "$SIMGRID_JAR" $ENTRY_POINT)
+
+# sanity check
+case "$JSG_BUNDLE" in
+    NATIVE/*)
+        cat >&2 <<EOF
+-- [Java] Native libraries bundled into: ${JSG_BUNDLE}
+EOF
+        ;;
+    *)
+        cat >&2 <<EOF
+-- [Java] Native libraries NOT bundled into invalid directory: ${JSG_BUNDLE}
+EOF
+        exit 1
+        ;;
+esac
+
+# prepare directory
+rm -rf NATIVE
+rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
+mkdir -p "$JSG_BUNDLE"
+
+if [ "$1" = "-so" ]; then
+    shift
+    for file; do
+        [ "$file" != "-txt" ] || break
+        cp -f "$file" "$JSG_BUNDLE"
+        "$STRIP" -S "$JSG_BUNDLE/${file##*/}"
+        shift
+    done
+fi
+
+if [ "$1" = "-txt" ]; then
+    shift
+    for file; do
+        cp -f "$file" "$JSG_BUNDLE"
+        shift
+    done
+fi
diff --git a/wrappers/Java/roadrunner/jroadrunner.i b/wrappers/Java/roadrunner/jroadrunner.i
new file mode 100755
index 0000000..0a3e244
--- /dev/null
+++ b/wrappers/Java/roadrunner/jroadrunner.i
@@ -0,0 +1,1143 @@
+
+// Module Name
+%module(docstring="The RoadRunner SBML Simulation Engine, (c) 2009-2015 J Kyle Medley, Andy Somogyi and Herbert Sauro",
+        "threads"=1 /*, directors="1"*/) roadrunner
+
+// ************************************************************
+// Module Includes
+// ************************************************************
+
+// These are copied directly to the .cxx file and are not parsed
+// by SWIG.  Include include files or definitions that are required
+// for the module to build correctly.
+
+
+
+%{
+    #define SWIG_FILE_WITH_INIT
+    #include <rrCompiler.h>
+    #include <ExecutableModelFactory.h>
+    #include <rrExecutableModel.h>
+    #include <rrRoadRunnerOptions.h>
+    #include <rrRoadRunner.h>
+    #include <rrLogger.h>
+    #include <rrConfig.h>
+    #include <conservation/ConservationExtension.h>
+    #include "conservation/ConservedMoietyConverter.h"
+    #include "SBMLValidator.h"
+    #include "rrSBMLReader.h"
+    #include <cstddef>
+    #include <map>
+    #include <rrVersionInfo.h>
+    #include <rrException.h>
+    #include <assert.h>
+    #include <math.h>
+    #include <cmath>
+
+
+    #include "tr1proxy/cxx11_ns.h"
+
+    using ls::Matrix;
+    using ls::DoubleMatrix;
+    using ls::Complex;
+    using ls::ComplexMatrix;
+
+
+// Windows is just so special...
+#ifdef _WIN32
+    #define INFINITY (DBL_MAX + DBL_MAX)
+    #define NAN (INFINITY - INFINITY)
+    #define isnan _isnan
+#else
+    #include <signal.h>
+    #define isnan std::isnan
+#endif
+
+    using namespace rr;
+
+%}
+
+
+
+
+%naturalvar;
+
+// C++ std::string handling
+%include "std_string.i"
+
+// C++ std::map handling
+%include "std_map.i"
+
+// C++ std::vector handling
+%include "std_vector.i"
+
+// not for java
+// %include "std_list.i"
+
+//enables better handling of STL exceptions
+%include "exception.i"
+
+// correct mapping of unsigned integers
+%include "rr_stdint.i"
+
+
+// the cmake CMakeLists.txt file in this directory sets the value of the
+// SWIG_SHARED_PTR_SUBNAMESPACE as a pre-processor symbol based on the
+// USE_TR1_CXX_NS CMake option. SWIG has no way of getting this info
+// from the compiler so have to reley on the CMake system.
+%include "std_shared_ptr.i"
+
+%shared_ptr(rr::PyIntegratorListener)
+
+
+
+%template(IntVector) std::vector<int>;
+%template(StringVector) std::vector<std::string>;
+
+
+%exception {
+  try {
+    $action
+  } catch (const std::exception& e) {
+    SWIG_exception(SWIG_RuntimeError, e.what());
+  }
+}
+
+
+/**
+ *  Convert from C --> Python
+ *  copy data
+ */
+%typemap(out) ls::DoubleMatrix {
+    // %typemap(out) ls::DoubleMatrix
+    const ls::DoubleMatrix* mat = &($1);
+    // FIXME
+//     $result = doublematrix_to_py(mat, SimulateOptions::COPY_RESULT);
+}
+
+
+/**
+ * Convert from C --> Python
+ * reference roadrunner owned data.
+ */
+%typemap(out) const ls::DoubleMatrix* {
+    // %typemap(out) const ls::DoubleMatrix*
+    const ls::DoubleMatrix* mat = ($1);
+//     $result = doublematrix_to_py(mat, 0);
+    // FIXME
+}
+
+%apply const ls::DoubleMatrix* {ls::DoubleMatrix*, DoubleMatrix*, const DoubleMatrix* };
+
+
+
+/* Convert from C --> Python */
+%typemap(out) std::vector<double> {
+
+    int len = $1.size();
+
+    std::vector<double>& vec = $1;
+
+//     memcpy(data, &vec[0], sizeof(double)*len);
+
+    // FIXME
+}
+
+
+/* Convert from C --> Python */
+%typemap(out) std::vector<ls::Complex> {
+
+    typedef std::complex<double> cpx;
+
+    std::vector<cpx>& vec = $1;
+
+    // FIXME
+}
+
+
+
+%typemap(out) const rr::Variant& {
+    try {
+      // FIXME
+        const rr::Variant& temp = *($1);
+//         $result = Variant_to(temp);
+    } catch (const std::exception& e) {
+        SWIG_exception(SWIG_RuntimeError, e.what());
+    }
+}
+
+
+%typemap(out) const rr::Variant {
+    try {
+      // FIXME
+//         $result = Variant_to($1);
+    } catch (const std::exception& e) {
+        SWIG_exception(SWIG_RuntimeError, e.what());
+    }
+}
+
+%apply const rr::Variant {Variant, rr::Variant, const Variant};
+
+
+%typemap(in) const rr::Variant& (rr::Variant temp) {
+
+    try {
+//         temp = Variant_from_?Variant_to_py($input);
+        // FIXME
+        $1 = &temp;
+    } catch (const std::exception& e) {
+        SWIG_exception(SWIG_RuntimeError, e.what());
+    }
+}
+
+%apply const rr::Variant& {rr::Variant&, Variant&, const Variant&};
+
+%{
+
+
+#ifndef _WIN32
+
+    static void rr_sighandler(int sig) {
+        std::cout << "handling signal " << sig << std::endl;
+        Log(rr::Logger::LOG_WARNING) << "signal handler : " << sig;
+    }
+
+    static unsigned long sigtrap() {
+        signal(SIGTRAP, rr_sighandler);
+        return raise(SIGTRAP);
+    }
+
+#else
+
+    static unsigned long sigtrap() {
+        Log(rr::Logger::LOG_WARNING) << "sigtrap not supported on Windows";
+        return 0;
+    }
+
+#endif
+%}
+
+
+
+
+
+size_t sigtrap();
+
+
+
+%{
+
+typedef int (rr::ExecutableModel::*getValuesPtr)(int, int const*, double*);
+typedef string (ExecutableModel::*getNamePtr)(int);
+typedef int (ExecutableModel::*getNumPtr)();
+
+
+static std::string strvec_to_pystring(const std::vector<std::string>& strvec) {
+    std::stringstream s;
+    s << "[";
+
+    for (int i = 0; i < strvec.size(); ++i) {
+        s << "'" << strvec[i] << "'";
+        if (i + 1 < strvec.size()) {
+            s << ",";
+        }
+    }
+
+    s << "]";
+
+    return s.str();
+}
+
+%}
+
+#define LIB_EXTERN
+#define RR_DECLSPEC
+#define PUGIXML_CLASS
+
+%pragma(java) jniclasscode=%{
+  static {
+  NativeLib.nativeInit();
+  }
+%}
+
+%warnfilter(509) rr::RoadRunner::setSelections;
+%warnfilter(509) rr::RoadRunner::setSteadyStateSelections;
+
+// Many of the RoadRunner methods will be ignored for the time being
+// as currently we do not have a clean mapping to Python.
+
+
+%ignore rr::RoadRunner::RoadRunner(const std::string&, const std::string&, const std::string&);
+
+%ignore rr::RoadRunner::addCapabilities;
+%ignore rr::RoadRunner::getFloatingSpeciesIds;
+%ignore rr::RoadRunner::getRateOfChangeIds;
+//%ignore rr::RoadRunner::getuCC;
+%ignore rr::RoadRunner::addCapability;
+%ignore rr::RoadRunner::getFloatingSpeciesInitialConcentrationByIndex;
+%ignore rr::RoadRunner::getRatesOfChange;
+//%ignore rr::RoadRunner::getuEE;
+%ignore rr::RoadRunner::changeInitialConditions;
+%ignore rr::RoadRunner::getFloatingSpeciesInitialConcentrations;
+%ignore rr::RoadRunner::getRatesOfChangeEx;
+%ignore rr::RoadRunner::initializeModel;
+%ignore rr::RoadRunner::computeAndAssignConservationLaws;
+%ignore rr::RoadRunner::getFloatingSpeciesInitialConditionIds;
+%ignore rr::RoadRunner::getReactionIds;
+//%ignore rr::RoadRunner::isModelLoaded;
+//%ignore rr::RoadRunner::computeSteadyStateValue;
+//%ignore rr::RoadRunner::getFullJacobian;
+%ignore rr::RoadRunner::getReactionRate;
+%ignore rr::RoadRunner::computeSteadyStateValues;
+%ignore rr::RoadRunner::getFullReorderedJacobian;
+%ignore rr::RoadRunner::getReactionRates;
+// %ignore rr::RoadRunner::getOptions;
+// %immutable rr::RoadRunner::getOptions;
+// Since getOptions returns a reference, SWIG generates a setter as well
+%ignore rr::RoadRunner::setOptions; // not needed since getOptions returns a ref
+//%ignore rr::RoadRunner::loadSBMLFromFile;
+%ignore rr::RoadRunner::correctMaxStep;
+//%ignore rr::RoadRunner::getFullyReorderedStoichiometryMatrix;
+%ignore rr::RoadRunner::getReactionRatesEx;
+%ignore rr::RoadRunner::loadSimulationSettings;
+//%ignore rr::RoadRunner::createDefaultSelectionLists;
+%ignore rr::RoadRunner::getGlobalParameterByIndex;
+//%ignore rr::RoadRunner::getReducedJacobian;
+//%ignore rr::RoadRunner::oneStep;
+//%ignore rr::RoadRunner::createTimeCourseSelectionList;
+%ignore rr::RoadRunner::getGlobalParameterIds;
+//%ignore rr::RoadRunner::getReorderedStoichiometryMatrix;
+//%ignore rr::RoadRunner::reset;
+%ignore rr::RoadRunner::evalModel;
+%ignore rr::RoadRunner::getGlobalParameterValues;
+//%ignore rr::RoadRunner::getSBML;
+%ignore rr::RoadRunner::setBoundarySpeciesByIndex;
+%ignore rr::RoadRunner::getBoundarySpeciesAmountIds;
+//%ignore rr::RoadRunner::getInfo;
+//%ignore rr::RoadRunner::getScaledConcentrationControlCoefficientMatrix;
+%ignore rr::RoadRunner::setBoundarySpeciesConcentrations;
+%ignore rr::RoadRunner::getBoundarySpeciesByIndex;
+//%ignore rr::RoadRunner::getInstanceCount;
+//%ignore rr::RoadRunner::getScaledFloatingSpeciesElasticity;
+%ignore rr::RoadRunner::setCapabilities;
+%ignore rr::RoadRunner::getBoundarySpeciesConcentrations;
+//%ignore rr::RoadRunner::getInstanceID;
+//%ignore rr::RoadRunner::getScaledFluxControlCoefficientMatrix;
+%ignore rr::RoadRunner::setCompartmentByIndex;
+%ignore rr::RoadRunner::getBoundarySpeciesIds;
+//%ignore rr::RoadRunner::getIntegrator;
+//%ignore rr::RoadRunner::getScaledReorderedElasticityMatrix;
+%ignore rr::RoadRunner::setCompiler;
+//%ignore rr::RoadRunner::getCC;
+//%ignore rr::RoadRunner::getL0Matrix;
+//%ignore rr::RoadRunner::getSelectedValues;
+%ignore rr::RoadRunner::setFloatingSpeciesByIndex;
+//%ignore rr::RoadRunner::getCapabilitiesAsXML;
+//%ignore rr::RoadRunner::getLinkMatrix;
+//%ignore rr::RoadRunner::getSelectionList;
+%ignore rr::RoadRunner::setFloatingSpeciesConcentrations;
+%ignore rr::RoadRunner::getCapability;
+%ignore rr::RoadRunner::getListOfCapabilities;
+//%ignore rr::RoadRunner::getSimulationResult;
+%ignore rr::RoadRunner::setFloatingSpeciesInitialConcentrationByIndex;
+%ignore rr::RoadRunner::getCompartmentByIndex;
+%ignore rr::RoadRunner::getListOfParameters;
+//%ignore rr::RoadRunner::getSteadyStateSelection;
+%ignore rr::RoadRunner::setFloatingSpeciesInitialConcentrations;
+%ignore rr::RoadRunner::getCompartmentIds;
+//%ignore rr::RoadRunner::getModel;
+//%ignore rr::RoadRunner::getSteadyStateSelectionList;
+%ignore rr::RoadRunner::setGlobalParameterByIndex;
+//%ignore rr::RoadRunner::getCompiler;
+//%ignore rr::RoadRunner::getModelGenerator;
+//%ignore rr::RoadRunner::getStoichiometryMatrix;
+%ignore rr::RoadRunner::setNumPoints;
+//%ignore rr::RoadRunner::getConservationMatrix;
+%ignore rr::RoadRunner::getModelName;
+%ignore rr::RoadRunner::getTempFolder;
+%ignore rr::RoadRunner::setParameterValue;
+%ignore rr::RoadRunner::getConservedMoietyIds;
+//%ignore rr::RoadRunner::getNrMatrix;
+//%ignore rr::RoadRunner::getTimeCourseSelectionList;
+%ignore rr::RoadRunner::setSimulationSettings;
+%ignore rr::RoadRunner::getConservedMoietyValues;
+%ignore rr::RoadRunner::getNumPoints;
+%ignore rr::RoadRunner::getTimeEnd;
+//%ignore rr::RoadRunner::setSteadyStateSelectionList;
+//%ignore rr::RoadRunner::getCopyright;
+%ignore rr::RoadRunner::getNumberOfBoundarySpecies;
+%ignore rr::RoadRunner::getTimeStart;
+%ignore rr::RoadRunner::setTempFileFolder;
+//%ignore rr::RoadRunner::getDescription;
+%ignore rr::RoadRunner::getNumberOfCompartments;
+//%ignore rr::RoadRunner::getURL;
+//%ignore rr::RoadRunner::setTimeCourseSelectionList;
+//%ignore rr::RoadRunner::getEE;
+%ignore rr::RoadRunner::getNumberOfDependentSpecies;
+//%ignore rr::RoadRunner::getUnscaledConcentrationControlCoefficientMatrix;
+%ignore rr::RoadRunner::setTimeEnd;
+
+%ignore rr::RoadRunner::getNumberOfFloatingSpecies;
+//%ignore rr::RoadRunner::getUnscaledElasticityMatrix;
+%ignore rr::RoadRunner::setTimeStart;
+
+%ignore rr::RoadRunner::getNumberOfGlobalParameters;
+//%ignore rr::RoadRunner::getUnscaledFluxControlCoefficientMatrix;
+//%ignore rr::RoadRunner::setValue;
+%ignore rr::RoadRunner::getNumberOfIndependentSpecies;
+//%ignore rr::RoadRunner::getUnscaledSpeciesElasticity;
+//%ignore rr::RoadRunner::getExtendedVersionInfo;
+%ignore rr::RoadRunner::getNumberOfReactions;
+//%ignore rr::RoadRunner::getValue;
+//%ignore rr::RoadRunner::steadyState;
+%ignore rr::RoadRunner::getValue(const SelectionRecord&);
+//%ignore rr::RoadRunner::this;
+%ignore rr::RoadRunner::getFloatingSpeciesByIndex;
+%ignore rr::RoadRunner::getParameterValue;
+//%ignore rr::RoadRunner::getVersion;
+%ignore rr::RoadRunner::unLoadModel;
+%ignore rr::RoadRunner::getFloatingSpeciesConcentrations;
+%ignore rr::RoadRunner::getRateOfChange;
+//%ignore rr::RoadRunner::getlibSBMLVersion;
+//%ignore rr::RoadRunner::writeSBML;
+%ignore rr::RoadRunner::getSimulateOptions;
+%ignore rr::RoadRunner::setSimulateOptions;
+%ignore rr::RoadRunner::getIds(int types, std::list<std::string> &);
+
+%ignore rr::RoadRunner::getOptions;
+
+%ignore rr::RoadRunner::simulate;
+
+%rename (_load) rr::RoadRunner::load;
+
+
+%ignore rr::Config::getInt;
+%ignore rr::Config::getString;
+%ignore rr::Config::getBool;
+%ignore rr::Config::getDouble;
+
+%ignore *::setItem;
+%ignore *::getItem;
+%ignore *::hasKey;
+%ignore *::deleteItem;
+%ignore *::getKeys;
+
+// ignore SimulateOptions key access methods,
+// these are replaced by python dictionary protocol.
+//%rename (__setitem__) rr::Dictionary::setItem;
+//%rename (__getitem__) rr::Dictionary::getItem;
+//%rename (__contains__) rr::Dictionary::hasKey;
+//%rename (__delitem__) rr::Dictionary::deleteItem;
+//%rename (keys) rr::Dictionary::getKeys;
+
+// do not create these, pure interface.
+%nodefaultctor rr::Dictionary;
+%nodefaultdtor Dictionary;
+%nodefaultctor rr::BasicDictionary;
+%nodefaultdtor DictionaryImpl;
+
+// ignore SimulateOptions key access methods,
+// these are replaced by python dictionary protocol.
+%ignore rr::Integrator::setValue;
+%ignore rr::Integrator::getValue;
+%ignore rr::Integrator::hasKey;
+%ignore rr::Integrator::deleteValue;
+%ignore rr::Integrator::getKeys;
+%ignore rr::Integrator::setSimulateOptions;
+%rename (__str__) rr::Integrator::toString;
+%rename (__repr__) rr::Integrator::toRepr;
+
+
+// rename these, the injected python code will take care of
+// making these properties.
+%ignore rr::RoadRunner::getSelections();
+%ignore rr::RoadRunner::setSelections(const std::vector<rr::SelectionRecord>&);
+%rename (_setSelections) setSelections(const std::vector<std::string>&);
+%rename (_getModel) getModel();
+
+// hide SelectionRecord details from python api,
+// only deal with strings here.
+%ignore rr::RoadRunner::getSteadyStateSelections();
+%ignore rr::RoadRunner::setSteadyStateSelections(const std::vector<rr::SelectionRecord>&);
+
+%rename (_setSteadyStateSelections) setSteadyStateSelections(const std::vector<std::string>&);
+%rename (_getConservedMoietyAnalysis) getConservedMoietyAnalysis();
+%rename (_setConservedMoietyAnalysis) setConservedMoietyAnalysis(bool);
+
+%ignore rr::LoggingBuffer;
+%ignore rr::LogLevel;
+%ignore rr::getLogger;
+%ignore rr::ToUpperCase;
+%ignore rr::GetHighestLogLevel;
+%ignore rr::GetLogLevel;
+%ignore rr::GetLogLevelAsString;
+%ignore rr::getLogLevel;
+%ignore rr::lShowAlways;
+%ignore rr::lError;
+%ignore rr::lWarning;
+%ignore rr::lInfo;
+%ignore rr::lDebug;
+%ignore rr::lDebug1;
+%ignore rr::lDebug2;
+%ignore rr::lDebug3;
+%ignore rr::lDebug4;
+%ignore rr::lDebug5;
+%ignore rr::lAny;
+%ignore rr::lUser;
+
+
+%ignore rr::ExecutableModel::getFloatingSpeciesAmounts(int, int const*, double *);
+%ignore rr::ExecutableModel::setFloatingSpeciesAmounts(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getFloatingSpeciesAmountRates(int, int const*, double *);
+%ignore rr::ExecutableModel::getFloatingSpeciesConcentrationRates(int, int const*, double *);
+
+%ignore rr::ExecutableModel::getFloatingSpeciesConcentrations(int, int const*, double *);
+%ignore rr::ExecutableModel::setFloatingSpeciesConcentrations(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::setFloatingSpeciesInitConcentrations(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getFloatingSpeciesInitConcentrations(int, int const*, double *);
+%ignore rr::ExecutableModel::getBoundarySpeciesAmounts(int, int const*, double *);
+%ignore rr::ExecutableModel::getBoundarySpeciesConcentrations(int, int const*, double *);
+%ignore rr::ExecutableModel::setBoundarySpeciesConcentrations(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getGlobalParameterValues(int, int const*, double *);
+%ignore rr::ExecutableModel::setGlobalParameterValues(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getCompartmentVolumes(int, int const*, double *);
+%ignore rr::ExecutableModel::setCompartmentVolumes(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getConservedMoietyValues(int, int const*, double *);
+%ignore rr::ExecutableModel::setConservedMoietyValues(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getReactionRates(int, int const*, double *);
+%ignore rr::ExecutableModel::evalReactionRates;
+%ignore rr::ExecutableModel::convertToAmounts;
+%ignore rr::ExecutableModel::computeConservedTotals;
+%ignore rr::ExecutableModel::setRateRuleValues;
+%ignore rr::ExecutableModel::getRateRuleValues;
+%ignore rr::ExecutableModel::getStateVector(double *stateVector);
+%ignore rr::ExecutableModel::setStateVector;
+%ignore rr::ExecutableModel::convertToConcentrations;
+%ignore rr::ExecutableModel::updateDependentSpeciesValues;
+%ignore rr::ExecutableModel::computeAllRatesOfChange;
+%ignore rr::ExecutableModel::getStateVectorRate(double time, const double *y, double* dydt);
+%ignore rr::ExecutableModel::getStateVectorRate(double time, const double *y);
+%ignore rr::ExecutableModel::testConstraints;
+%ignore rr::ExecutableModel::print;
+//%ignore rr::ExecutableModel::getNumEvents;
+%ignore rr::ExecutableModel::getEventTriggers;
+%ignore rr::ExecutableModel::evalEvents;
+%ignore rr::ExecutableModel::applyPendingEvents;
+%ignore rr::ExecutableModel::evalEventRoots;
+%ignore rr::ExecutableModel::getNextPendingEventTime;
+%ignore rr::ExecutableModel::getPendingEventSize;
+%ignore rr::ExecutableModel::resetEvents;
+
+%ignore rr::ExecutableModel::getFloatingSpeciesId(int index);
+%ignore rr::ExecutableModel::getBoundarySpeciesId(int index);
+%ignore rr::ExecutableModel::getGlobalParameterId(int index);
+%ignore rr::ExecutableModel::getCompartmentId(int index);
+%ignore rr::ExecutableModel::getConservedMoietyId(int index);
+%ignore rr::ExecutableModel::getReactionId(int index);
+
+%ignore rr::ExecutableModel::getFloatingSpeciesIndex(const std::string& eid);
+%ignore rr::ExecutableModel::getBoundarySpeciesIndex(const std::string &eid);
+%ignore rr::ExecutableModel::getGlobalParameterIndex(const std::string& eid);
+%ignore rr::ExecutableModel::getCompartmentIndex(const std::string& eid);
+%ignore rr::ExecutableModel::getConservedMoietyIndex(const std::string& eid);
+%ignore rr::ExecutableModel::getReactionIndex(const std::string& eid);
+
+%ignore rr::ExecutableModel::getStoichiometryMatrix(int*, int*, double**);
+
+%ignore rr::ExecutableModel::getConservedSumChanged();
+%ignore rr::ExecutableModel::computeConservedTotals();
+%ignore rr::ExecutableModel::setConservedSumChanged(bool);
+%ignore rr::ExecutableModel::convertToAmounts() ;
+
+%ignore rr::ExecutableModel::setFloatingSpeciesInitConcentrations(int len, int const *indx, double const *values);
+%ignore rr::ExecutableModel::getFloatingSpeciesInitConcentrations(int len, int const *indx, double *values);
+%ignore rr::ExecutableModel::setFloatingSpeciesInitAmounts(int len, int const *indx, double const *values);
+%ignore rr::ExecutableModel::getFloatingSpeciesInitAmounts(int len, int const *indx, double *values);
+%ignore rr::ExecutableModel::setCompartmentInitVolumes(int len, int const *indx, double const *values);
+%ignore rr::ExecutableModel::getCompartmentInitVolumes(int len, int const *indx, double *values);
+%ignore rr::ExecutableModel::getIds(int, std::list<std::string> &);
+
+// deprecated, model knows how to reset itself with reset.
+%ignore rr::ExecutableModel::evalInitialConditions;
+
+// map the events to python using the PyEventListener class
+%ignore rr::ExecutableModel::setEventListener(int, rr::EventListenerPtr);
+%ignore rr::ExecutableModel::getEventListener(int);
+%ignore rr::EventListenerPtr;
+%ignore rr::EventListenerException;
+
+// ignore the EventListener virtuals, but leave the enum
+%ignore rr::EventListener::onTrigger(ExecutableModel* model, int eventIndex, const std::string& eventId);
+%ignore rr::EventListener::onAssignment(ExecutableModel* model, int eventIndex, const std::string& eventId);
+
+// ignore the C++ class, only deal with the python version
+%ignore rr::IntegratorListener;
+
+%ignore rr::Integrator::setListener(rr::IntegratorListenerPtr);
+%ignore rr::Integrator::getListener();
+
+//%ignore rr::Integrator::addIntegratorListener;
+//%ignore rr::Integrator::removeIntegratorListener;
+
+// ignore integrator registration
+
+%ignore rr::IntegratorRegistrar;
+%ignore rr::IntegratorFactory;
+
+%rename rr::conversion::ConservedMoietyConverter JConservedMoietyConverter;
+
+%ignore rr::ostream;
+%ignore ostream;
+%ignore std::ostream;
+%ignore operator<<(ostream&, const rr::SelectionRecord& rec);
+%ignore operator<<(rr::ostream&, const rr::SelectionRecord& rec);
+
+// RoadRunner class proxies
+
+//%typemap(javaimports) rr::RoadRunner %{
+//  import org.la4j.Matrices;
+//  import org.la4j.matrix.MatrixFactory;
+//  import org.la4j.Matrix;
+//  import org.la4j.matrix.DenseMatrix;
+//%}
+
+%typemap(javacode) rr::RoadRunner %{
+  public LabeledData simulate(double tstart, double tend, int n) {
+    double[][] simresult = (double[][])roadrunner.jrr_simulate_(this, tstart, tend, n);
+    LabeledData d = new LabeledData(simresult);
+    return d;
+  }
+%}
+
+
+//%ignore rr::DictionaryImpl;
+
+// Warning 389: operator[] ignored (consider using %extend)
+// Warning 401: Nothing known about base class 'Configurable'. Ignored.
+
+
+// Warning 315: Nothing known about 'std::ostream'.
+namespace std { class ostream{}; }
+
+
+// Warning 401: Nothing known about base class 'Configurable'. Ignored.
+
+
+/**
+ * include the roadrunner files here, this is where the wrappers are generated.
+ */
+
+
+/**
+ * this returns a new object
+ */
+%newobject rr::ExecutableModelFactory::createModel;
+
+
+
+%include <Dictionary.h>
+%include <rrRoadRunnerOptions.h>
+%include <rrLogger.h>
+%include <rrCompiler.h>
+%include <rrExecutableModel.h>
+%include <ExecutableModelFactory.h>
+%include <rrVersionInfo.h>
+
+%include <rrRoadRunner.h>
+
+
+%include <rrSelectionRecord.h>
+%include <conservation/ConservedMoietyConverter.h>
+%include <Integrator.h>
+
+// %include "PyEventListener.h"
+// %include "PyIntegratorListener.h"
+%include <rrConfig.h>
+%include <SBMLValidator.h>
+%include <rrSBMLReader.h>
+
+// TODO: instead use pragmas to insert code into proxy classes (see http://swig-user.narkive.com/aiRVVhtk/including-custom-java-code)
+// http://stackoverflow.com/questions/10112934/return-java-lang-object-using-swig-native-function
+// http://stackoverflow.com/questions/6143134/return-a-2d-primitive-array-from-c-to-java-from-jni-ndk
+%native(jrr_simulate_) jobjectArray jrr_simulate_(rr::RoadRunner* rr, double tstart, double tend, int n);
+//%inline %{
+//  int jrr_simulate_(rr::RoadRunner* rr, double tstart, double tend, int n);
+//%}
+
+%{
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SWIGEXPORT jobjectArray JNICALL Java_roadrunner_roadrunnerJNI_jrr_1simulate_1(JNIEnv *jenv, jclass jcls, jlong jr, jobject jr_, jdouble jtstart, jdouble jtend, jint jn) {
+  jobjectArray jresult = 0 ;
+  rr::RoadRunner *r = (rr::RoadRunner *) 0 ;
+  double tstart ;
+  double tend ;
+  int n;
+  const DoubleMatrix* mat;
+
+  int rows, cols;
+
+  (void)jenv;
+  (void)jcls;
+  (void)jr_;
+  r = *(rr::RoadRunner **)&jr;
+  tstart = (double)jtstart;
+  tend = (double)jtend;
+  n = (int)jn;
+
+  rr::SimulateOptions& opt = r->getSimulateOptions();
+  opt.start = tstart;
+  opt.duration = tend - tstart;
+  opt.steps = n;
+  //if(variable step?) {
+  //  opt.integratorFlags |= Integrator::VARIABLE_STEP;
+  //}
+
+  // call RoadRunner method
+  {
+    try {
+      mat = r->simulate();
+    } catch (const std::exception& e) {
+      {
+        SWIG_JavaException(jenv, SWIG_RuntimeError, e.what()); return 0;
+      };
+    }
+  }
+
+  // copy output to Java array
+
+  rows = mat->numRows();
+  cols = mat->numCols();
+
+  jclass doubleArrayClass = jenv->FindClass("[D");
+  if(!doubleArrayClass) {
+    return NULL;
+  }
+
+  jresult = (jobjectArray) jenv->NewObjectArray(rows, doubleArrayClass, NULL);
+  for(int k=0; k<rows; ++k) {
+    // LS Matrix operator[] gets row
+    jdoubleArray subarray = jenv->NewDoubleArray(cols);
+    jenv->SetDoubleArrayRegion(subarray, (jsize)0, (jsize) cols, (jdouble*)(*mat)[k]);
+    jenv->SetObjectArrayElement(jresult, (jsize)k, subarray);
+    jenv->DeleteLocalRef(subarray);
+  }
+
+  return jresult;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+%}
+
+%extend rr::RoadRunner
+{
+  // attributes
+
+  /**
+    * make some of these const so SWIG would not allow setting.
+    */
+  const rr::SimulateOptions *simulateOptions;
+
+  rr::RoadRunnerOptions *options;
+
+  std::string __repr__() {
+      std::stringstream s;
+      s << "<roadrunner.RoadRunner() { this = " << (void*)$self << " }>";
+      return s.str();
+  }
+
+  std::string __str__() {
+      return $self->getInfo();
+  }
+
+  double getValue(const rr::SelectionRecord* pRecord) {
+      return $self->getValue(*pRecord);
+  }
+
+  double __getitem__(const std::string& id) {
+      return ($self)->getValue(id);
+  }
+
+  void __setitem__(const std::string& id, double value) {
+      ($self)->setValue(id, value);
+  }
+
+  int simulate_() {
+    return 0;
+  }
+}
+
+%{
+    rr::SimulateOptions* rr_RoadRunner_simulateOptions_get(RoadRunner* r) {
+        return &r->getSimulateOptions();
+    }
+
+    void rr_RoadRunner_simulateOptions_set(RoadRunner* r, const rr::SimulateOptions* opt) {
+        r->setSimulateOptions(*opt);
+    }
+
+
+    rr::RoadRunnerOptions* rr_RoadRunner_options_get(RoadRunner* r) {
+        return &r->getOptions();
+    }
+
+    void rr_RoadRunner_options_set(RoadRunner* r, const rr::RoadRunnerOptions* opt) {
+        rr::RoadRunnerOptions *rropt = &r->getOptions();
+        *rropt = *opt;
+    }
+%}
+
+
+%extend rr::SelectionRecord {
+
+    std::string __repr__() {
+        return $self->to_repr();
+    }
+
+    std::string __str__() {
+        return $self->to_string();
+    }
+}
+
+%extend rr::SimulateOptions
+{
+    double end;
+    bool resetModel;
+    bool stiff;
+    bool multiStep;
+    bool structuredResult;
+    bool variableStep;
+    bool copyResult;
+
+    std::string __repr__() {
+        return ($self)->toRepr();
+    }
+
+
+    std::string __str__() {
+        return ($self)->toString();
+    }
+}
+
+%{
+    double rr_SimulateOptions_end_get(SimulateOptions* opt) {
+        return opt->start + opt->duration;
+    }
+
+    void rr_SimulateOptions_end_set(SimulateOptions* opt, double end) {
+        opt->duration = end - opt->start;
+    }
+
+    bool rr_SimulateOptions_resetModel_get(SimulateOptions* opt) {
+        return opt->getItem("reset");
+    }
+
+    void rr_SimulateOptions_resetModel_set(SimulateOptions* opt, bool value) {
+        opt->setItem("reset", value);
+    }
+
+    bool rr_SimulateOptions_structuredResult_get(SimulateOptions* opt) {
+        return opt->structured_result;
+    }
+
+    void rr_SimulateOptions_structuredResult_set(SimulateOptions* opt, bool value) {
+        opt->structured_result = value;
+    }
+
+    bool rr_SimulateOptions_stiff_get(SimulateOptions* opt) {
+        return opt->getItem("stiff");
+    }
+
+    void rr_SimulateOptions_stiff_set(SimulateOptions* opt, bool value) {
+        opt->setItem("stiff", value);
+    }
+
+    bool rr_SimulateOptions_multiStep_get(SimulateOptions* opt) {
+        return opt->getItem("multiStep");
+    }
+
+    void rr_SimulateOptions_multiStep_set(SimulateOptions* opt, bool value) {
+        opt->setItem("multiStep", value);
+    }
+
+    bool rr_SimulateOptions_copyResult_get(SimulateOptions* opt) {
+        return opt->getItem("copyResult");
+    }
+
+    void rr_SimulateOptions_copyResult_set(SimulateOptions* opt, bool value) {
+        opt->setItem("copyResult", value);
+    }
+
+    bool rr_SimulateOptions_variableStep_get(SimulateOptions* opt) {
+        return opt->getItem("variableStep");
+    }
+
+    void rr_SimulateOptions_variableStep_set(SimulateOptions* opt, bool value) {
+        opt->setItem("variableStep", value);
+    }
+%}
+
+
+
+%extend rr::RoadRunnerOptions
+{
+    bool disablePythonDynamicProperties;
+}
+
+%{
+
+
+    bool rr_RoadRunnerOptions_disablePythonDynamicProperties_get(RoadRunnerOptions* opt) {
+        return opt->flags & rr::RoadRunnerOptions::DISABLE_PYTHON_DYNAMIC_PROPERTIES;
+    }
+
+    void rr_RoadRunnerOptions_disablePythonDynamicProperties_set(RoadRunnerOptions* opt, bool value) {
+        if (value) {
+            opt->flags |= rr::RoadRunnerOptions::DISABLE_PYTHON_DYNAMIC_PROPERTIES;
+        } else {
+            opt->flags &= ~rr::RoadRunnerOptions::DISABLE_PYTHON_DYNAMIC_PROPERTIES;
+        }
+    }
+
+
+%}
+
+%extend rr::LoadSBMLOptions
+{
+    bool conservedMoieties;
+    bool mutableInitialConditions;
+    bool noDefaultSelections;
+    bool readOnly;
+    bool recompile;
+}
+
+
+%{
+    bool rr_LoadSBMLOptions_conservedMoieties_get(rr::LoadSBMLOptions* opt) {
+        return opt->modelGeneratorOpt & rr::LoadSBMLOptions::CONSERVED_MOIETIES;
+    }
+
+
+    void rr_LoadSBMLOptions_conservedMoieties_set(rr::LoadSBMLOptions* opt, bool value) {
+        if (value) {
+            opt->modelGeneratorOpt |= rr::LoadSBMLOptions::CONSERVED_MOIETIES;
+        } else {
+            opt->modelGeneratorOpt &= ~rr::LoadSBMLOptions::CONSERVED_MOIETIES;
+        }
+    }
+
+
+    bool rr_LoadSBMLOptions_noDefaultSelections_get(rr::LoadSBMLOptions* opt) {
+        return opt->loadFlags & rr::LoadSBMLOptions::NO_DEFAULT_SELECTIONS;
+    }
+
+    void rr_LoadSBMLOptions_noDefaultSelections_set(rr::LoadSBMLOptions* opt, bool value) {
+        if (value) {
+            opt->loadFlags |= rr::LoadSBMLOptions::NO_DEFAULT_SELECTIONS;
+        } else {
+            opt->loadFlags &= ~rr::LoadSBMLOptions::NO_DEFAULT_SELECTIONS;
+        }
+    }
+
+    bool rr_LoadSBMLOptions_mutableInitialConditions_get(rr::LoadSBMLOptions* opt) {
+        return opt->modelGeneratorOpt & rr::LoadSBMLOptions::MUTABLE_INITIAL_CONDITIONS;
+    }
+
+
+    void rr_LoadSBMLOptions_mutableInitialConditions_set(rr::LoadSBMLOptions* opt, bool value) {
+        if (value) {
+            opt->modelGeneratorOpt |= rr::LoadSBMLOptions::MUTABLE_INITIAL_CONDITIONS;
+        } else {
+            opt->modelGeneratorOpt &= ~rr::LoadSBMLOptions::MUTABLE_INITIAL_CONDITIONS;
+        }
+    }
+
+    bool rr_LoadSBMLOptions_recompile_get(rr::LoadSBMLOptions* opt) {
+        return opt->modelGeneratorOpt & rr::LoadSBMLOptions::RECOMPILE;
+    }
+
+
+    void rr_LoadSBMLOptions_recompile_set(rr::LoadSBMLOptions* opt, bool value) {
+        if (value) {
+            opt->modelGeneratorOpt |= rr::LoadSBMLOptions::RECOMPILE;
+        } else {
+            opt->modelGeneratorOpt &= ~rr::LoadSBMLOptions::RECOMPILE;
+        }
+    }
+
+    bool rr_LoadSBMLOptions_readOnly_get(rr::LoadSBMLOptions* opt) {
+        return opt->modelGeneratorOpt & rr::LoadSBMLOptions::READ_ONLY;
+    }
+
+
+    void rr_LoadSBMLOptions_readOnly_set(rr::LoadSBMLOptions* opt, bool value) {
+        if (value) {
+            opt->modelGeneratorOpt |= rr::LoadSBMLOptions::READ_ONLY;
+        } else {
+            opt->modelGeneratorOpt &= ~rr::LoadSBMLOptions::READ_ONLY;
+        }
+
+    }
+%}
+
+
+
+
+%extend rr::ExecutableModel
+{
+    /***
+     ** set values section
+     ***/
+
+    int setFloatingSpeciesAmounts(int len, double const *values) {
+        return $self->setFloatingSpeciesAmounts(len, 0, values);
+    }
+
+    int setFloatingSpeciesConcentrations(int len, double const *values) {
+        return $self->setFloatingSpeciesConcentrations(len, 0, values);
+    }
+
+    int setBoundarySpeciesConcentrations(int len, double const *values) {
+        return $self->setBoundarySpeciesConcentrations(len, 0, values);
+    }
+
+    int setGlobalParameterValues(int len, double const *values) {
+        return $self->setGlobalParameterValues(len, 0, values);
+    }
+
+    int setCompartmentVolumes(int len, double const *values) {
+        return $self->setCompartmentVolumes(len, 0, values);
+    }
+
+    int setConservedMoietyValues(int len, double const *values) {
+        return $self->setConservedMoietyValues(len, 0, values);
+    }
+
+    int setFloatingSpeciesInitConcentrations(int len, double const *values) {
+        return $self->setFloatingSpeciesInitConcentrations(len, 0, values);
+    }
+
+    int setFloatingSpeciesInitAmounts(int len, double const *values) {
+        return $self->setFloatingSpeciesInitAmounts(len, 0, values);
+    }
+
+    int setCompartmentInitVolumes(int len, double const *values) {
+        return $self->setCompartmentInitVolumes(len, 0, values);
+    }
+
+
+    int setFloatingSpeciesAmounts(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setFloatingSpeciesAmounts(leni, indx, values);
+    }
+
+
+    int setFloatingSpeciesConcentrations(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setFloatingSpeciesConcentrations(leni, indx, values);
+    }
+
+    int setBoundarySpeciesConcentrations(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setBoundarySpeciesConcentrations(leni, indx, values);
+    }
+
+    int setGlobalParameterValues(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setGlobalParameterValues(leni, indx, values);
+    }
+
+    int setCompartmentVolumes(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setCompartmentVolumes(leni, indx, values);
+    }
+
+    int setConservedMoietyValues(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setConservedMoietyValues(leni, indx, values);
+    }
+
+    int setFloatingSpeciesInitConcentrations(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setFloatingSpeciesInitConcentrations(leni, indx, values);
+    }
+
+
+    int setFloatingSpeciesInitAmounts(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setFloatingSpeciesInitAmounts(leni, indx, values);
+    }
+
+
+    int setCompartmentInitVolumes(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setCompartmentInitVolumes(leni, indx, values);
+    }
+
+
+    int setFloatingSpeciesInitConcentrations(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setFloatingSpeciesInitConcentrations(leni, indx, values);
+    }
+
+    int setFloatingSpeciesInitAmounts(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setFloatingSpeciesInitAmounts(leni, indx, values);
+    }
+
+
+    int setCompartmentInitVolumes(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            // exception
+            return -1;
+        }
+        return $self->setCompartmentInitVolumes(leni, indx, values);
+    }
+}
+
+%extend rr::Integrator {
+}
+
+
+
+
+
diff --git a/wrappers/Java/tests/roadrunner_java_sim_test1.java b/wrappers/Java/tests/roadrunner_java_sim_test1.java
new file mode 100755
index 0000000..ccc041f
--- /dev/null
+++ b/wrappers/Java/tests/roadrunner_java_sim_test1.java
@@ -0,0 +1,16 @@
+import roadrunner.*;
+// import roadrunner.RoadRunner;
+// import org.la4j.Matrices;
+import org.la4j.Matrix;
+
+public class roadrunner_java_sim_test1 {
+  public static void main(String argv[]) {
+    String decayModel = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!-- Created by XMLPrettyPrinter on 7/11/2014 from JDesigner 2.4.32 -->\r\n<sbml xmlns = \"http://www.sbml.org/sbml/level2\" level = \"2\" version = \"1\" xmlns:jd2 = \"http://www.sys-bio.org/sbml/jd2\">\r\n   <!--                     -->\r\n   <!--  Model Starts Here  -->\r\n   <!--                     -->\r\n   <model id = \"untitled\">\r\n      <listOfCompartments>\r\n         <compartment id = \"compartment\" size [...]
+    RoadRunner rr = new RoadRunner(decayModel);
+    System.out.println(rr.getExtendedVersionInfo());
+    System.out.println("- Loaded rr");
+    LabeledData x = rr.simulate(0, 10, 10);
+    System.out.println("- Simulate called");
+    System.out.println(x);
+  }
+}
diff --git a/wrappers/Java/tests/roadrunner_javajni_test1.java b/wrappers/Java/tests/roadrunner_javajni_test1.java
new file mode 100644
index 0000000..3540da3
--- /dev/null
+++ b/wrappers/Java/tests/roadrunner_javajni_test1.java
@@ -0,0 +1,10 @@
+import roadrunner.*;
+// import roadrunner.RoadRunner;
+
+public class roadrunner_javajni_test1 {
+  public static void main(String argv[]) {
+    RoadRunner rr = new RoadRunner();
+    System.out.println(rr.getExtendedVersionInfo());
+    System.out.println("- Loaded rr");
+  }
+}
diff --git a/wrappers/Python/.gitignore b/wrappers/Python/.gitignore
new file mode 100644
index 0000000..9c5f578
--- /dev/null
+++ b/wrappers/Python/.gitignore
@@ -0,0 +1 @@
+_build
\ No newline at end of file
diff --git a/wrappers/Python/CMakeLists.txt b/wrappers/Python/CMakeLists.txt
new file mode 100644
index 0000000..7ff3b99
--- /dev/null
+++ b/wrappers/Python/CMakeLists.txt
@@ -0,0 +1,43 @@
+include(${CMAKE_CURRENT_SOURCE_DIR}/FindSWIG.cmake) # this is slightly modified FindSWIG.cmake file -  had to tune it to work with OSX
+
+FIND_PACKAGE(SWIG REQUIRED)
+
+INCLUDE(UseSWIG)
+
+FIND_PACKAGE(PythonLibs)
+FIND_PACKAGE(PythonInterp)
+FIND_PACKAGE(NumPy)
+
+MESSAGE ("THIS IS NUMPY_VERSION " ${NUMPY_VERSION})
+
+MESSAGE ("THIS IS NUMPY_INCLUDE_DIRS " ${NUMPY_INCLUDE_DIRS})
+
+MESSAGE ("THIS IS PYTHON_INCLUDE_PATH " ${PYTHON_INCLUDE_PATH})
+
+INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include)
+INCLUDE_DIRECTORIES(${NUMPY_INCLUDE_DIRS})
+INCLUDE_DIRECTORIES(${RR_SOURCE_PATH}/third_party/rr-libstruct)
+
+
+
+SET(PYINTERFACE_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/pyinterface)
+SET(CMAKE_SWIG_FLAGS "")
+
+
+
+IF(SWIG_FOUND)
+    add_subdirectory(roadrunner)
+ELSE(SWIG_FOUND)
+    message("could not find SWIG in your system")
+ENDIF(SWIG_FOUND)
+
+install(FILES INSTALL.txt setup.py MANIFEST.in 
+        DESTINATION .    
+       )
+
+if(WITH_CONDA_BUILDER)
+  configure_file(conda/meta.yaml.in conda/meta.yaml @ONLY)
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/conda/meta.yaml conda/build.sh conda/bld.bat DESTINATION .)
+endif()
diff --git a/wrappers/Python/FindSWIG.cmake b/wrappers/Python/FindSWIG.cmake
new file mode 100644
index 0000000..e58f08b
--- /dev/null
+++ b/wrappers/Python/FindSWIG.cmake
@@ -0,0 +1,63 @@
+# - Find SWIG
+# This module finds an installed SWIG.  It sets the following variables:
+#  SWIG_FOUND - set to true if SWIG is found
+#  SWIG_DIR - the directory where swig is installed
+#  SWIG_EXECUTABLE - the path to the swig executable
+
+SET(SWIG_FOUND FOOBAR)
+
+
+
+FIND_PATH(SWIG_DIR
+  SWIGConfig.cmake
+  /usr/share/swig1.3
+  /usr/lib/swig1.3
+  /usr/local/share/swig1.3)
+FIND_PATH(SWIG_DIR
+  swig.swg
+  /usr/share/swig1.3
+  /usr/lib/swig1.3
+  /usr/local/share/swig1.3)
+  
+  
+FIND_PATH(SWIG_DIR
+  bin/swig
+  /usr/share/swig1.3
+  /usr/lib/swig1.3
+  /usr/local/share/swig1.3
+  /usr/local/swig
+  /opt/local
+  )
+  
+  
+IF(EXISTS ${SWIG_DIR})
+  IF("x${SWIG_DIR}x" STREQUAL "x${CMAKE_ROOT}/Modulesx")
+    MESSAGE("SWIG_DIR should not be modules subdirectory of CMake")
+  ENDIF("x${SWIG_DIR}x" STREQUAL "x${CMAKE_ROOT}/Modulesx")
+
+  IF(EXISTS ${SWIG_DIR}/SWIGConfig.cmake)
+    INCLUDE(${SWIG_DIR}/SWIGConfig.cmake)
+    SET(SWIG_FOUND 1)
+  ELSE(EXISTS ${SWIG_DIR}/SWIGConfig.cmake)
+    FIND_PROGRAM(SWIG_EXECUTABLE
+      NAMES swig-1.3 swig
+      PATHS ${SWIG_DIR} ${SWIG_DIR}/.. ${SWIG_DIR}/../../bin /usr/bin /usr/local/bin )
+    SET(SWIG_USE_FILE ${CMAKE_ROOT}/Modules/UseSWIG.cmake)
+  ENDIF(EXISTS ${SWIG_DIR}/SWIGConfig.cmake)
+ENDIF(EXISTS ${SWIG_DIR})
+
+IF("x${SWIG_FOUND}x" STREQUAL "xFOOBARx")
+  SET(SWIG_FOUND 0)
+  IF(EXISTS ${SWIG_DIR})
+    IF(EXISTS ${SWIG_USE_FILE})
+      IF(EXISTS ${SWIG_EXECUTABLE})
+        SET(SWIG_FOUND 1)
+      ENDIF(EXISTS ${SWIG_EXECUTABLE})
+    ENDIF(EXISTS ${SWIG_USE_FILE})
+  ENDIF(EXISTS ${SWIG_DIR})
+  IF(NOT ${SWIG_FOUND})
+    IF(${SWIG_FIND_REQUIRED})
+      MESSAGE(FATAL_ERROR "Swig was not found on the system. Please specify the location of Swig.")
+    ENDIF(${SWIG_FIND_REQUIRED})
+  ENDIF(NOT ${SWIG_FOUND})
+ENDIF("x${SWIG_FOUND}x" STREQUAL "xFOOBARx")
diff --git a/wrappers/Python/INSTALL.txt b/wrappers/Python/INSTALL.txt
new file mode 100644
index 0000000..b1a79c7
--- /dev/null
+++ b/wrappers/Python/INSTALL.txt
@@ -0,0 +1,11 @@
+The libRoadRunner is a completly self-contained python package 
+for SBML simulation.
+
+To install the libroadrunner python package, just run
+
+# to install system wide:
+python setup.py install 
+
+# to install to a user directory:
+python setup.py install --user
+
diff --git a/wrappers/Python/MANIFEST.in b/wrappers/Python/MANIFEST.in
new file mode 100644
index 0000000..e0f2328
--- /dev/null
+++ b/wrappers/Python/MANIFEST.in
@@ -0,0 +1,6 @@
+include *.txt 
+include site-packages/roadrunner/_roadrunner.*
+include site-packages/roadrunner/*.dylib
+include site-packages/roadrunner/*.txt
+recursive-include site-packages/roadrunner/testing *.txt *.dat *.xml
+recursive-include installer *
\ No newline at end of file
diff --git a/wrappers/Python/conda/bld.bat b/wrappers/Python/conda/bld.bat
new file mode 100644
index 0000000..c40a9bb
--- /dev/null
+++ b/wrappers/Python/conda/bld.bat
@@ -0,0 +1,2 @@
+"%PYTHON%" setup.py install
+if errorlevel 1 exit 1
diff --git a/wrappers/Python/conda/build.sh b/wrappers/Python/conda/build.sh
new file mode 100644
index 0000000..5a5aeeb
--- /dev/null
+++ b/wrappers/Python/conda/build.sh
@@ -0,0 +1 @@
+$PYTHON setup.py install
diff --git a/wrappers/Python/conda/meta.yaml.in b/wrappers/Python/conda/meta.yaml.in
new file mode 100644
index 0000000..51d21d3
--- /dev/null
+++ b/wrappers/Python/conda/meta.yaml.in
@@ -0,0 +1,25 @@
+package:
+  name: roadrunner
+  version: @ROADRUNNER_VERSION@
+
+requirements:
+  build:
+    - python
+    - setuptools
+    - numpy >=1.9
+  run:
+    - numpy >=1.9
+    - matplotlib
+
+app:
+  summary: "An SBML Modeling and Simulation Engine"
+  entry: ipython notebook
+  icon: assets/roadrunner-64x64-red.png
+
+about:
+  home: https://github.com/sys-bio/sbml2matlab
+  license: Apache 2.0
+
+extra:
+  maintainers:
+   - Kyle Medley (https://github.com/0u812)
\ No newline at end of file
diff --git a/wrappers/Python/doc/Makefile b/wrappers/Python/doc/Makefile
new file mode 100644
index 0000000..281cb9d
--- /dev/null
+++ b/wrappers/Python/doc/Makefile
@@ -0,0 +1,179 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   = sphinx-build
+PAPER         =
+BUILDDIR      = _build
+HTMLDIR       = $(HOME)/src/gh-pages/python_docs
+
+
+# User-friendly check for sphinx-build
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+endif
+
+# Internal variables.
+PAPEROPT_a4     = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+
+help:
+	@echo "Please use \`make <target>' where <target> is one of"
+	@echo "  html       to make standalone HTML files"
+	@echo "  dirhtml    to make HTML files named index.html in directories"
+	@echo "  singlehtml to make a single large HTML file"
+	@echo "  pickle     to make pickle files"
+	@echo "  json       to make JSON files"
+	@echo "  htmlhelp   to make HTML files and a HTML help project"
+	@echo "  qthelp     to make HTML files and a qthelp project"
+	@echo "  devhelp    to make HTML files and a Devhelp project"
+	@echo "  epub       to make an epub"
+	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
+	@echo "  latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
+	@echo "  text       to make text files"
+	@echo "  man        to make manual pages"
+	@echo "  texinfo    to make Texinfo files"
+	@echo "  info       to make Texinfo files and run them through makeinfo"
+	@echo "  gettext    to make PO message catalogs"
+	@echo "  changes    to make an overview of all changed/added/deprecated items"
+	@echo "  xml        to make Docutils-native XML files"
+	@echo "  pseudoxml  to make pseudoxml-XML files for display purposes"
+	@echo "  linkcheck  to check all external links for integrity"
+	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+	rm -rf $(BUILDDIR)/*
+
+html:
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(HTMLDIR)
+	@echo
+	@echo "Build finished. The HTML pages are in $(HTMLDIR)."
+
+dirhtml:
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+	@echo
+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
+
+json:
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+	      ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+	@echo
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
+	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/RoadRunner.qhcp"
+	@echo "To view the help file:"
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/RoadRunner.qhc"
+
+devhelp:
+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+	@echo
+	@echo "Build finished."
+	@echo "To view the help file:"
+	@echo "# mkdir -p $$HOME/.local/share/devhelp/RoadRunner"
+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/RoadRunner"
+	@echo "# devhelp"
+
+epub:
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+	@echo
+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
+	      "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through pdflatex..."
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+latexpdfja:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through platex and dvipdfmx..."
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+	@echo
+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+	@echo
+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo
+	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+	@echo "Run \`make' in that directory to run these through makeinfo" \
+	      "(use \`make info' here to do that automatically)."
+
+info:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo "Running Texinfo files through makeinfo..."
+	make -C $(BUILDDIR)/texinfo info
+	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+	@echo
+	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+	@echo
+	@echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+	      "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+	@echo "Testing of doctests in the sources finished, look at the " \
+	      "results in $(BUILDDIR)/doctest/output.txt."
+
+xml:
+	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
+	@echo
+	@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+
+pseudoxml:
+	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
+	@echo
+	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
diff --git a/wrappers/Python/doc/_static/.gitignore b/wrappers/Python/doc/_static/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/wrappers/Python/doc/accessing_model.rst b/wrappers/Python/doc/accessing_model.rst
new file mode 100644
index 0000000..f66d0b4
--- /dev/null
+++ b/wrappers/Python/doc/accessing_model.rst
@@ -0,0 +1,87 @@
+**********************************
+Accessing the SBML Model Variables
+**********************************
+
+.. currentmodule:: RoadRunner
+
+The following methods allow users to obtain information on the model
+
+
+Compartments
+------------
+
+.. autosummary::
+
+   ExecutableModel.getCompartmentVolumes
+   ExecutableModel.getNumCompartments
+   ExecutableModel.getCompartmentIds
+   ExecutableModel.setCompartmentVolumes
+
+   
+Boundary Species
+----------------
+
+.. autosummary::
+
+   ExecutableModel.getBoundarySpeciesConcentrations
+   ExecutableModel.setBoundarySpeciesConcentrations
+   ExecutableModel.getNumBoundarySpecies
+   ExecutableModel.getBoundarySpeciesIds
+
+
+Floating Species
+----------------
+
+.. autosummary::
+
+   ExecutableModel.getFloatingSpeciesConcentrations
+   ExecutableModel.setFloatingSpeciesConcentrations
+   ExecutableModel.getNumFloatingSpecies
+   ExecutableModel.getFloatingSpeciesIds
+
+
+Initial Conditions
+------------------
+
+.. autosummary::
+
+   ExecutableModel.getFloatingSpeciesInitAmountIds
+   ExecutableModel.getFloatingSpeciesInitConcentrationIds
+   ExecutableModel.getFloatingSpeciesInitAmounts
+   ExecutableModel.setFloatingSpeciesInitAmounts
+   ExecutableModel.getFloatingSpeciesInitConcentrations
+   ExecutableModel.setFloatingSpeciesInitConcentrations
+
+Reactions
+---------
+
+.. autosummary::
+
+   ExecutableModel.getNumReactions
+   ExecutableModel.getReactionRates
+   ExecutableModel.getReactionIds
+
+
+Reaction Rates
+---------------
+
+.. autosummary::
+
+   ExecutableModel.getFloatingSpeciesAmountRates
+   ExecutableModel.getReactionRates
+   ExecutableModel.getNumReactions
+   ExecutableModel.getReactionIds
+
+
+Global Parameters
+-----------------
+
+.. autosummary::
+
+   ExecutableModel.setGlobalParameterValues
+   ExecutableModel.getGlobalParameterValues
+   ExecutableModel.getNumGlobalParameters
+   ExecutableModel.getNumGlobalParameters
+   
+
+
diff --git a/wrappers/Python/doc/api_reference.rst b/wrappers/Python/doc/api_reference.rst
new file mode 100644
index 0000000..13c0b0c
--- /dev/null
+++ b/wrappers/Python/doc/api_reference.rst
@@ -0,0 +1,39 @@
+************************
+RoadRunner API Reference
+************************
+
+.. py:currentmodule:: RoadRunner
+
+This is the API Reference page for the module: :mod:`roadrunner`
+
+.. The method,  :meth:`RoadRunner.test` does something.
+
+
+.. module:: roadrunner
+   :platform: OSX (64 bit) , Linux (x86, 64, 32 bit) , Windows (32 bit)
+   :synopsis: Simulate and Analyze Systems Biology Models
+
+.. moduleauthor:: Endre (Andy)  Somogyi <somogyie at indiana.edu>
+.. moduleauthor:: Herbert Suaro <hsauro at u.washington.edu>
+
+The RoadRunner SBML Simulation Engine Python API,
+(c) 2009-2016 Endre Somogyi and Herbert Sauro
+
+
+.. include:: mod_roadrunner/cls_Config.rst
+
+.. include:: mod_roadrunner/cls_RoadRunner.rst   
+
+.. include:: mod_roadrunner/cls_Solver.rst
+
+.. include:: mod_roadrunner/cls_SelectionRecord.rst
+
+.. include:: mod_roadrunner/cls_LoadSBMLOptions.rst
+
+.. include:: mod_roadrunner/cls_ExecutableModel.rst
+
+.. include:: mod_roadrunner/cls_Logger.rst
+
+.. include:: mod_roadrunner/cls_Compiler.rst
+
+.. include:: mod_roadrunner/cls_Misc.rst
diff --git a/wrappers/Python/doc/conf.py b/wrappers/Python/doc/conf.py
new file mode 100644
index 0000000..b68b6c9
--- /dev/null
+++ b/wrappers/Python/doc/conf.py
@@ -0,0 +1,269 @@
+# -*- coding: utf-8 -*-
+#
+# RoadRunner documentation build configuration file, created by
+# sphinx-quickstart on Sun Sep 29 08:52:48 2013.
+#
+# This file is execfile()d with the current directory set to its
+# containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys
+import os
+
+import sphinx
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration ------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+    'sphinx.ext.autodoc',
+    'sphinx.ext.coverage',
+    'sphinx.ext.pngmath',
+    'sphinx.ext.todo',
+    'sphinx.ext.autosummary'
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'libRoadRunner'
+copyright = u'2013-2016, Andy Somogyi, Herbert Suaro'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = '1.4.3'
+# The full version, including alpha/beta/rc tags.
+release = '1.4.3'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = ['_build', 'mod_roadrunner']
+
+# The reST default role (used for this markup: `text`) to use for all
+# documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+# If true, keep warnings as "system message" paragraphs in the built documents.
+#keep_warnings = False
+
+
+# -- Options for HTML output ----------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+if sphinx.version_info[0] == 1 and sphinx.version_info[1] >= 3:
+    html_theme = 'classic'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+html_theme_options = {
+    "stickysidebar" : "true"
+}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents.  If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar.  Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+html_logo = "libroadrunner_logo_blue_200.png"
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# Add any extra paths that contain custom files (such as robots.txt or
+# .htaccess) here, relative to this directory. These files are copied
+# directly to the root of the documentation.
+#html_extra_path = []
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_domain_indices = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+#html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+#html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it.  The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = None
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'RoadRunnerdoc'
+
+
+# -- Options for LaTeX output ---------------------------------------------
+
+latex_elements = {
+# The paper size ('letterpaper' or 'a4paper').
+#'papersize': 'letterpaper',
+
+# The font size ('10pt', '11pt' or '12pt').
+#'pointsize': '10pt',
+
+# Additional stuff for the LaTeX preamble.
+#'preamble': '',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+#  author, documentclass [howto/manual]).
+latex_documents = [
+  ('index', 'RoadRunner.tex', u'RoadRunner Documentation',
+   u'Andy Somogyi, Herbert Suaro', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# If true, show page references after internal links.
+#latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+#latex_show_urls = False
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_domain_indices = True
+
+
+# -- Options for manual page output ---------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+    ('index', 'roadrunner', u'RoadRunner Documentation',
+     [u'Andy Somogyi, Herbert Suaro'], 1)
+]
+
+# If true, show URL addresses after external links.
+#man_show_urls = False
+
+
+# -- Options for Texinfo output -------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+#  dir menu entry, description, category)
+texinfo_documents = [
+  ('index', 'RoadRunner', u'RoadRunner Documentation',
+   u'Andy Somogyi, Herbert Suaro', 'RoadRunner', 'One line description of project.',
+   'Miscellaneous'),
+]
+
+# Documents to append as an appendix to all manuals.
+#texinfo_appendices = []
+
+# If false, no module index is generated.
+#texinfo_domain_indices = True
+
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
+#texinfo_show_urls = 'footnote'
+
+# If true, do not generate a @detailmenu in the "Top" node's menu.
+#texinfo_no_detailmenu = False
diff --git a/wrappers/Python/doc/index.rst b/wrappers/Python/doc/index.rst
new file mode 100644
index 0000000..92af8ef
--- /dev/null
+++ b/wrappers/Python/doc/index.rst
@@ -0,0 +1,61 @@
+.. RoadRunner documentation master file, created by
+   sphinx-quickstart on Sun Sep 29 08:52:48 2013.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+########################
+libRoadRunner User Guide
+########################
+
+
+libRoadRunner Overview
+======================
+
+This guide is intended as an introduction and reference of the RoadRunner
+SBML Simulation Engine. This guide will show the most important features 
+and provides a complete API reference. 
+
+
+To get you started here is a very simple script that will load an example SBML model and run a time course
+simulation and plot the results::
+
+   import roadrunner
+   rr = roadrunner.RoadRunner("mymodel.xml")
+   result = rr.simulate()
+   rr.plot()
+
+
+Looking for a model to start with? We included a couple with libRoadRunner, see :ref:`loading-models`.   
+
+.. note:: The result is a standard numpy array which may be used with any numpy or scipy functions
+          or may be plotted using `matplotlib <http://matplotlib.org/>`_ 
+          directly. See :ref:`plotting-data` for help in plotting. 
+
+Now read the tutorials to learn more about the capabilities of RoadRunner.  
+
+Contents:
+
+.. toctree::
+
+   introduction
+   read_write_functions
+   selecting_values
+   steady_state
+   stochastic
+   stoichiometric
+   metabolic
+   stability
+   accessing_model
+   integration
+   utility_functions
+   api_reference
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
+
+.. highlight:: python
diff --git a/wrappers/Python/doc/installing_rr.rst b/wrappers/Python/doc/installing_rr.rst
new file mode 100644
index 0000000..f61fb29
--- /dev/null
+++ b/wrappers/Python/doc/installing_rr.rst
@@ -0,0 +1,21 @@
+*********************
+Installing RoadRunner
+*********************
+
+Installing Manually
+-------------------
+
+Windows
++++++++
+
+The installations instructions are updated regularly on the main website pages.
+Please refer to:
+http://libroadrunner.org/install#windows
+
+
+Mac OS
+++++++
+
+The installations instructions are updated regularly on the main website pages.
+Please refer to:
+http://libroadrunner.org/install#mac
diff --git a/wrappers/Python/doc/integration.rst b/wrappers/Python/doc/integration.rst
new file mode 100644
index 0000000..0fec85e
--- /dev/null
+++ b/wrappers/Python/doc/integration.rst
@@ -0,0 +1,59 @@
+**************************
+Simulation and Integration
+**************************
+
+.. currentmodule:: RoadRunner
+
+Preliminaries
+-------------
+
+At the highest level, RoadRunner generates and solves ODE (ordinary differential equation) problem
+of the form 
+
+.. math::
+
+   y(t) = \int_0^t f(t, y) dt
+
+where the function :math: f(t) is generated from the SBML document. 
+
+As this is numerically integrated, it is impossible to specify a time step and other integration
+parameters that are ideal for all functions. As a general rule for numeric stability, if you have a
+periodic function, you need a time step that is approximately 1/12 the period. 
+
+There are a number of tuning parameters that allows one to fine tune the numeric integration to
+their function at hand. We have chosen a set of precision values that we feel are a good balance
+between performance and numeric stability for most systems. However, one may frequently encounter
+stiffer systems which require tighter tolerances . Note that specifying very tight tolerances will
+drastically decrease performance. 
+
+Another parameter which is a significant role in numeric stability and performance is the initial
+time step. If no initial time step is provided (initial time step < 0, the default
+value), the internal integrator (defaults to CVODE) will estimate an initial time step based on
+total time span and and other numeric attributes calculated from the system. If the estimated
+initial time step is too large, then a significant amount of time will be spent by the integrator
+adjusting it down to a stable value. If the initial time step is too small, the integrator will
+waste needless steps re-evaluating the system function. As we use variable time step integrators,
+the time step will increase if the function is relatively smooth, however, by the time the time step
+has been increased, the simulation time may be over. 
+
+If one encounters exceptions from the integrator, the first thing that one should try is specifying
+an initial time step and tighter absolute and relative tolerances. 
+
+All of the parameters to tune the integration are specified on the integrator object:
+
+  >>>  r=roadrunner.RoadRunner("mymodel.xml")
+
+Now specify absolute and relative tolerances
+
+  >>>  r.integrator.absolute_tolerance = 5e-10
+  >>>  r.integrator.relative_tolerance = 1e-3
+  
+and specify initial time step.
+  
+  >>>  r.integrator.initial_time_step = 0.00001
+  >>>  r.simulate(0, 10)
+
+This will specify the absolute and relative tolerances and initial time step, and will integrate the system from
+time 0 to 10. The internal integrator will take many time steps before it reaches time 10. 
+
+
diff --git a/wrappers/Python/doc/introduction.rst b/wrappers/Python/doc/introduction.rst
new file mode 100644
index 0000000..38934c8
--- /dev/null
+++ b/wrappers/Python/doc/introduction.rst
@@ -0,0 +1,13 @@
+************
+Introduction
+************
+
+
+.. toctree::
+
+   installing_rr
+   using_roadrunner
+   what_is_sbml
+   what_is_rr
+
+   
diff --git a/wrappers/Python/doc/libroadrunner_logo_blue_200.png b/wrappers/Python/doc/libroadrunner_logo_blue_200.png
new file mode 100644
index 0000000..ca6ebf1
Binary files /dev/null and b/wrappers/Python/doc/libroadrunner_logo_blue_200.png differ
diff --git a/wrappers/Python/doc/libroadrunner_logo_green_200.png b/wrappers/Python/doc/libroadrunner_logo_green_200.png
new file mode 100644
index 0000000..5d621cd
Binary files /dev/null and b/wrappers/Python/doc/libroadrunner_logo_green_200.png differ
diff --git a/wrappers/Python/doc/libroadrunner_logo_tan_200.png b/wrappers/Python/doc/libroadrunner_logo_tan_200.png
new file mode 100644
index 0000000..a4a5f60
Binary files /dev/null and b/wrappers/Python/doc/libroadrunner_logo_tan_200.png differ
diff --git a/wrappers/Python/doc/logging.png b/wrappers/Python/doc/logging.png
new file mode 100644
index 0000000..9042e1f
Binary files /dev/null and b/wrappers/Python/doc/logging.png differ
diff --git a/wrappers/Python/doc/logging2.png b/wrappers/Python/doc/logging2.png
new file mode 100644
index 0000000..3478dcf
Binary files /dev/null and b/wrappers/Python/doc/logging2.png differ
diff --git a/wrappers/Python/doc/make.bat b/wrappers/Python/doc/make.bat
new file mode 100644
index 0000000..2dda686
--- /dev/null
+++ b/wrappers/Python/doc/make.bat
@@ -0,0 +1,242 @@
+ at ECHO OFF
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+	set SPHINXBUILD=sphinx-build
+)
+set BUILDDIR=_build
+set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
+set I18NSPHINXOPTS=%SPHINXOPTS% .
+if NOT "%PAPER%" == "" (
+	set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
+	set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
+)
+
+if "%1" == "" goto help
+
+if "%1" == "help" (
+	:help
+	echo.Please use `make ^<target^>` where ^<target^> is one of
+	echo.  html       to make standalone HTML files
+	echo.  dirhtml    to make HTML files named index.html in directories
+	echo.  singlehtml to make a single large HTML file
+	echo.  pickle     to make pickle files
+	echo.  json       to make JSON files
+	echo.  htmlhelp   to make HTML files and a HTML help project
+	echo.  qthelp     to make HTML files and a qthelp project
+	echo.  devhelp    to make HTML files and a Devhelp project
+	echo.  epub       to make an epub
+	echo.  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter
+	echo.  text       to make text files
+	echo.  man        to make manual pages
+	echo.  texinfo    to make Texinfo files
+	echo.  gettext    to make PO message catalogs
+	echo.  changes    to make an overview over all changed/added/deprecated items
+	echo.  xml        to make Docutils-native XML files
+	echo.  pseudoxml  to make pseudoxml-XML files for display purposes
+	echo.  linkcheck  to check all external links for integrity
+	echo.  doctest    to run all doctests embedded in the documentation if enabled
+	goto end
+)
+
+if "%1" == "clean" (
+	for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
+	del /q /s %BUILDDIR%\*
+	goto end
+)
+
+
+%SPHINXBUILD% 2> nul
+if errorlevel 9009 (
+	echo.
+	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+	echo.installed, then set the SPHINXBUILD environment variable to point
+	echo.to the full path of the 'sphinx-build' executable. Alternatively you
+	echo.may add the Sphinx directory to PATH.
+	echo.
+	echo.If you don't have Sphinx installed, grab it from
+	echo.http://sphinx-doc.org/
+	exit /b 1
+)
+
+if "%1" == "html" (
+	%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%/html.
+	goto end
+)
+
+if "%1" == "dirhtml" (
+	%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
+	goto end
+)
+
+if "%1" == "singlehtml" (
+	%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
+	goto end
+)
+
+if "%1" == "pickle" (
+	%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can process the pickle files.
+	goto end
+)
+
+if "%1" == "json" (
+	%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can process the JSON files.
+	goto end
+)
+
+if "%1" == "htmlhelp" (
+	%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can run HTML Help Workshop with the ^
+.hhp project file in %BUILDDIR%/htmlhelp.
+	goto end
+)
+
+if "%1" == "qthelp" (
+	%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can run "qcollectiongenerator" with the ^
+.qhcp project file in %BUILDDIR%/qthelp, like this:
+	echo.^> qcollectiongenerator %BUILDDIR%\qthelp\RoadRunner.qhcp
+	echo.To view the help file:
+	echo.^> assistant -collectionFile %BUILDDIR%\qthelp\RoadRunner.ghc
+	goto end
+)
+
+if "%1" == "devhelp" (
+	%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished.
+	goto end
+)
+
+if "%1" == "epub" (
+	%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The epub file is in %BUILDDIR%/epub.
+	goto end
+)
+
+if "%1" == "latex" (
+	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
+	goto end
+)
+
+if "%1" == "latexpdf" (
+	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
+	cd %BUILDDIR%/latex
+	make all-pdf
+	cd %BUILDDIR%/..
+	echo.
+	echo.Build finished; the PDF files are in %BUILDDIR%/latex.
+	goto end
+)
+
+if "%1" == "latexpdfja" (
+	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
+	cd %BUILDDIR%/latex
+	make all-pdf-ja
+	cd %BUILDDIR%/..
+	echo.
+	echo.Build finished; the PDF files are in %BUILDDIR%/latex.
+	goto end
+)
+
+if "%1" == "text" (
+	%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The text files are in %BUILDDIR%/text.
+	goto end
+)
+
+if "%1" == "man" (
+	%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The manual pages are in %BUILDDIR%/man.
+	goto end
+)
+
+if "%1" == "texinfo" (
+	%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
+	goto end
+)
+
+if "%1" == "gettext" (
+	%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
+	goto end
+)
+
+if "%1" == "changes" (
+	%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.The overview file is in %BUILDDIR%/changes.
+	goto end
+)
+
+if "%1" == "linkcheck" (
+	%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Link check complete; look for any errors in the above output ^
+or in %BUILDDIR%/linkcheck/output.txt.
+	goto end
+)
+
+if "%1" == "doctest" (
+	%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Testing of doctests in the sources finished, look at the ^
+results in %BUILDDIR%/doctest/output.txt.
+	goto end
+)
+
+if "%1" == "xml" (
+	%SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The XML files are in %BUILDDIR%/xml.
+	goto end
+)
+
+if "%1" == "pseudoxml" (
+	%SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml.
+	goto end
+)
+
+:end
diff --git a/wrappers/Python/doc/metabolic.rst b/wrappers/Python/doc/metabolic.rst
new file mode 100644
index 0000000..a65e8ca
--- /dev/null
+++ b/wrappers/Python/doc/metabolic.rst
@@ -0,0 +1,73 @@
+**************************
+Metabolic Control Analysis
+**************************
+
+.. currentmodule:: RoadRunner
+
+Preliminaries
+-------------
+
+Metabolic control analysis is the study of how sensitive the system is to pertubrations in parameters and how those perturbations
+progagate through the network. Two kinds of sensitivity are defined, system and local. The local sensitivities are
+described by the elasticities. These are defined as follows:
+
+.. math::
+
+   \varepsilon^v_S = \frac{\partial v}{\partial S} \frac{S}{v} = \frac{\partial \ln v}{\partial \ln S}
+
+Given a reaction rate :math:`v_i`, the elasticity describes how a given effector of the reaction step affects
+the reaction rate. Because the definition is in terms of partial deriviatives, any effector that is perturbed assumes
+that all other potential effectors are unchanged.
+
+The system sensitivities are described by the control and response coefficients. These come in two forms, flux
+and concentration. The flux control coefficients measures how senstive a given flux is to a perturbation in the
+local rate of a reaction step. Often the local rate is perturbed by changing the enzyme concentration at the step. 
+In this siutation the flux control coefficicent with respect to enzyme :math:`E_i` is defined as follow:
+
+.. math::
+
+   C^J_{E_i} = \frac{dJ}{dE_i} \frac{E_1}{J} = \frac{d\ln J}{d\ln E_i}
+
+Likewise the concentration control coefficient is defined by:
+
+.. math::
+
+   C^S_{E_i} = \frac{dS}{d E_i} \frac{E_1}{S} = \frac{d\ln S}{d\ln E_i}
+
+where :math:`S` is a given species. The response coefficients measure the sensitivity of a flux or species concentration
+to a perturbation in some external effector. These are defined by:
+
+.. math::
+   R^J_{X} = \frac{dJ}{dX} \frac{X}{J} = \frac{d\ln J}{d\ln X}
+
+.. math::
+   R^S_{X} = \frac{dJ}{dX} \frac{X}{S} = \frac{d\ln S}{d\ln X}
+
+where :math:`X` is the external effector. 
+
+Methods
+-------
+
+The following methods allow users to obtain various metabolic control coefficients.
+
+This first block of methods are for parameter independent coefficients.
+
+.. autosummary::
+
+   RoadRunner.getUnscaledFluxControlCoefficientMatrix
+   RoadRunner.getUnscaledConcentrationControlCoefficientMatrix
+   RoadRunner.getUnscaledElasticityMatrix
+   RoadRunner.getUnscaledSpeciesElasticity
+   RoadRunner.getScaledElasticityMatrix
+   RoadRunner.getScaledFloatingSpeciesElasticity
+   RoadRunner.getScaledFluxControlCoefficientMatrix
+   RoadRunner.getScaledConcentrationControlCoefficientMatrix
+
+Use these to obtain metabolic control coefficients.
+
+.. autosummary::   
+   
+   RoadRunner.getuCC
+   RoadRunner.getCC
+   RoadRunner.getuEE
+   RoadRunner.getEE
diff --git a/wrappers/Python/doc/mod_roadrunner/cls_Compiler.rst b/wrappers/Python/doc/mod_roadrunner/cls_Compiler.rst
new file mode 100644
index 0000000..01c5fc7
--- /dev/null
+++ b/wrappers/Python/doc/mod_roadrunner/cls_Compiler.rst
@@ -0,0 +1,88 @@
+JIT Compilation
+_______________
+
+
+.. class:: Compiler()
+   :module: RoadRunner
+
+   The Compiler object provides information about the JIT compiler
+   currently in use. 
+
+.. method:: Compiler.getCompiler()
+   :module: RoadRunner
+
+   gets the name of the JIT compiler, i.e. "LLVM" means we are using the
+   LLVM JIT compiler.
+
+   :rtype: str
+
+
+.. method:: Compiler.getVersion()
+   :module: RoadRunner:
+
+   get the version of the JIT compiler.
+
+   :rtype: str
+
+
+.. method:: Compiler.getDefaultTargetTriple()
+   :module: RoadRunner
+
+   Return the default target triple the compiler  has been configured to produce code for.
+   A 'triple' is just a string that contains three items, it is called 'triple' as 
+   that is a LLVM historical convention.
+
+   The target triple is a string in the format of:
+   CPU_TYPE-VENDOR-OPERATING_SYSTEM
+   
+   or
+   
+   CPU_TYPE-VENDOR-KERNEL-OPERATING_SYSTEM
+
+   :rtype: str
+   
+  
+.. method:: Compiler.getProcessTriple()
+   :module: RoadRunner
+            
+   Return an appropriate target triple for generating
+   code to be loaded into the current process, e.g. when using the JIT.
+
+   :rtype: str
+
+
+.. method:: Compiler.getHostCPUName()
+   :module: RoadRunner
+
+   getHostCPUName - Get the LLVM name for the host CPU. The particular format
+   of the name is target dependent, and suitable for passing as -mcpu to the
+   target which matches the host.
+     
+   return - The host CPU name, or empty if the CPU could not be determined.
+
+   :rtype: str
+     
+.. method:: Compiler.setCompiler(compiler)
+   :module: RoadRunner
+
+   A legacy method that currently does not do anything.
+
+.. method:: Compiler.getCompilerLocation()
+   :module: RoadRunner
+
+   A legacy method that currently does not do anything.
+
+.. method:: Compiler.setCompilerLocation(loc)
+   :module: RoadRunner
+
+   A legacy method that currently does not do anything.
+
+.. method:: Compiler.getSupportCodeFolder()
+   :module: RoadRunner
+
+   A legacy method that currently does not do anything.
+
+.. method:: Compiler.setSupportCodeFolder(path)
+   :module: RoadRunner
+
+   A legacy method that currently does not do anything.
diff --git a/wrappers/Python/doc/mod_roadrunner/cls_Config.rst b/wrappers/Python/doc/mod_roadrunner/cls_Config.rst
new file mode 100644
index 0000000..3731faf
--- /dev/null
+++ b/wrappers/Python/doc/mod_roadrunner/cls_Config.rst
@@ -0,0 +1,286 @@
+Configuration
+_____________
+
+Many of RoadRunner classes use a number of configuration parameters. Most of these can be set using
+the Config class. The values stored in the Config class only determine the *default* values of
+parameters. The Config class will look in the following locations for the config file, and will
+load the values from the first config file it finds. If it does not find a config file in one of
+the following locations, a default set of configuration parameters are used. The search locations
+of the config file are:
+
+#1: the ROADRUNNER_CONFIG environment variable
+
+#2: try the user's home directory for roadrunner.conf, i.e.::
+  
+  /Users/andy/roadrunner.conf
+
+#3: try the user's home directory for .roadrunner.conf, i.e.::
+  
+  /Users/andy/.roadrunner.conf
+
+#4: try the same directory as the roadrunner shared library, this will be the same directory as the python _roadrunner.pyd
+python extension module, i.e.::
+  
+  /Users/andy/local/lib/roadrunner.conf
+
+#5: try one directory up from the where the shared library or program is at, i.e.::
+  
+  /Users/andy/local/roadrunner.conf
+
+The conf file is just a plain text file of where each line may be key / value pair separated by a
+":", i.e. ::
+
+  KEY_NAME : Value
+
+Any line that does not match this format is ignored, and keys that are not found are also
+ignored. Therefore, any line that does not start with a word character is considered a comment.
+
+All of the configuration management functions are static method of the Config class, and 
+all of the configuration keys are static attributes of the Config class, these are documented in the 
+Configuration Functions section. 
+
+As all of the Config class methods are static, one never instantiates the Config class. 
+
+Configuration Functions
+-----------------------
+
+.. staticmethod:: Config.setValue(key, value)
+   :module: RoadRunner
+
+   Set the value of a configuration key. The value must be either a string, integer, double or
+   boolean. If one wanted to turn off moiety conservation (this will not have an effect on
+   already loaded models)::
+
+     from roadrunner import Config
+     Config.setValue(Config.LOADSBMLOPTIONS_CONSERVED_MOIETIES, False)
+
+
+   Or, other options may be set to Boolean or integer values. To enable an optimization features::
+
+     Config.setValue(Config.LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_SIMPLIFIER, True)
+
+
+.. staticmethod:: Config.getConfigFilePath()
+   :module: RoadRunner
+
+   If roadrunner was able to find a configuration file on the file system, its full path is returned
+   here. If no file was found, this returns a empty string. 
+
+
+.. staticmethod:: Config.readConfigFile(path)
+   :module: RoadRunner
+
+   Read all of the values from a configuration file at the given path. This overrides any previously
+   stored configuration. This allows users to have any number of configuration files and load them
+   at any time. Say someone had to use Windows, and they had a file in their C: drive, this would be
+   loaded via::
+     
+     Config.readConfigFile("C:/my_config_file.txt")
+
+   Note, the forward slash works on both Unix and Windows, using the forward slash eliminates the
+   need to use a double back slash, "\\\\".
+
+.. staticmethod:: Config.writeConfigFile(path)
+   :module: RoadRunner
+
+   Write all of the current configuration values to a file. This could be written to one of the
+   default locations, or to any other location, and re-loaded at a later time. 
+
+
+
+Available Configuration Parameters
+----------------------------------
+All of the configuration parameter keys are static attributes of the Config class and are listed
+here. The variable type of the parameter is listed after the key name. 
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_CONSERVED_MOIETIES
+   :module: RoadRunner
+   :annotation: bool
+
+   Perform conservation analysis. By default, this attribute is set as False.
+      
+   This causes a re-ordering of the species, so results generated
+   with this flag enabled can not be compared index wise to results
+   generated otherwise.
+
+   Moiety conservation is only compatible with simple models which do NOT have any events or rules
+   which define or alter any floating species, and which have simple constant stoichiometries. 
+
+   Moiety conservation may cause unexpected results, be aware of what it is before enabling. 
+
+   Not recommended for time series simulations.
+   
+   To enable, type:
+   
+   >>> roadrunner.Config.setValue(roadrunner.Config.LOADSBMLOPTIONS_CONSERVED_MOIETIES, True)  
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_RECOMPILE
+   :module: RoadRunner
+   :annotation: bool
+
+   Should the model be recompiled?
+   The LLVM ModelGenerator maintains a hash table of currently running
+   models. If this flag is NOT set, then the generator will look to see
+   if there is already a running instance of the given model and
+   use the generated code from that one.
+  
+   If only a single instance of a model is run, there is no
+   need to cache the models, and this can safely be enabled,
+   realizing some performance gains.
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_READ_ONLY
+   :module: RoadRunner
+   :annotation: bool
+
+   If this is set, then a read-only model is generated. A read-only
+   model can be simulated, but no code is generated to set model
+   values, i.e. parameters, amounts, values, etc...
+  
+   It takes a finite amount of time to generate the model value setting
+   functions, and if they are not needed, one may see some performance
+   gains, especially in very large models.
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_MUTABLE_INITIAL_CONDITIONS
+   :module: RoadRunner
+   :annotation: bool
+
+   Generate accessors functions to allow changing of initial
+   conditions.
+
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_OPTIMIZE_GVN
+   :module: RoadRunner
+   :annotation: bool
+
+   GVN - This pass performs global value numbering and redundant load
+   elimination contemporaneously.
+
+
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_OPTIMIZE_CFG_SIMPLIFICATION
+   :module: RoadRunner
+   :annotation: bool
+
+   CFGSimplification - Merge basic blocks, eliminate unreachable blocks,
+   simplify terminator instructions, etc...
+
+
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_COMBINING
+   :module: RoadRunner
+   :annotation: bool
+
+   InstructionCombining - Combine instructions to form fewer, simple
+   instructions. This pass does not modify the CFG, and has a tendency to make
+   instructions dead, so a subsequent DCE pass is useful.
+
+
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_OPTIMIZE_DEAD_INST_ELIMINATION
+   :module: RoadRunner
+   :annotation: bool
+
+   DeadInstElimination - This pass quickly removes trivially dead instructions
+   without modifying the CFG of the function.  It is a BasicBlockPass, so it
+   runs efficiently when queued next to other BasicBlockPass's.
+
+
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_OPTIMIZE_DEAD_CODE_ELIMINATION
+   :module: RoadRunner
+   :annotation: bool
+
+   DeadCodeElimination - This pass is more powerful than DeadInstElimination,
+   because it is worklist driven that can potentially revisit instructions when
+   their other instructions become dead, to eliminate chains of dead
+   computations.
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_SIMPLIFIER
+   :module: RoadRunner
+   :annotation: bool
+
+
+   InstructionSimplifier - Remove redundant instructions.
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_USE_MCJIT
+   :module: RoadRunner
+   :annotation: bool
+
+   Currently disabled. 
+
+   Use the LLVM MCJIT JIT engine.
+  
+   Defaults to false.
+  
+   The MCJIT is the new LLVM JIT engine, it is not as well tested as the
+   original JIT engine. Does NOT work on LLVM 3.1
+
+
+.. attribute:: Config.ROADRUNNER_DISABLE_PYTHON_DYNAMIC_PROPERTIES
+   :module: RoadRunner
+   :annotation: int
+
+   RoadRunner by default dynamically generates accessors properties
+   for all SBML symbol names on the model object when it is retrieved
+   in Python. This feature is very nice for interactive use, but
+   can slow things down. If this feature is not needed, it
+   can be disabled here.
+         
+
+.. attribute:: Config.ROADRUNNER_DISABLE_WARNINGS
+   :module: RoadRunner
+   :annotation: int
+
+   Disable SBML conserved moiety warnings.
+
+   Conserved Moiety Conversion may cause unexpected behavior, be aware of what it
+   is before enabling. 
+
+   RoadRunner will issue a warning in steadyState if conservedMoieties are NOT 
+   enabled because of a potential singular Jacobian. To disable this warning, 
+   set this value to 1
+
+   A notice will be issued whenever a document is loaded and conserved moieties 
+   are enabled. To disable this notice, set this value to 2.
+
+   To disable both the warning and notice, set this value to 3
+
+   Rationale for these numbers: This is actual a bit field, disabling the steady state 
+   warning value is actually 0b01 << 0 which is 1, and the loading warning is 0b01 << 1 
+   which is 2 and 0b01 & 0b10 is 0b11 which is 3 in decimal. 
+
+
+.. attribute:: Config.LOADSBMLOPTIONS_PERMISSIVE
+   :module: RoadRunner
+   :annotation: int
+
+   Accept some non-valid SBML (such as Booleans in numberic expressions).
+
+   For legacy code only. Do not use.
+
+
+.. attribute:: Config.MAX_OUTPUT_ROWS
+   :module: RoadRunner
+   :annotation: int
+
+   Set the maximum number of rows in the output matrix.
+
+   For models with very fine time stepping, the output of simulate can
+   use up all available memory and crash the system. This option provides
+   an upper bound on the maximum number of rows the output can contain.
+   The simulation will be aborted and the output truncated if this value is exceeded.
+
+
+
+
diff --git a/wrappers/Python/doc/mod_roadrunner/cls_ExecutableModel.rst b/wrappers/Python/doc/mod_roadrunner/cls_ExecutableModel.rst
new file mode 100644
index 0000000..fcfeb03
--- /dev/null
+++ b/wrappers/Python/doc/mod_roadrunner/cls_ExecutableModel.rst
@@ -0,0 +1,801 @@
+Accessing the SBML Model Variables
+__________________________________
+
+All of the SBML model variables are accessed via the ``RoadRunner.model`` object. This is an instance of
+the ExecutableModel class described here. One always access the model object that belongs to the top
+RoadRunner object, i.e. ``r.model``, where ``r`` is an instance of the ``RoadRunner`` class. 
+
+The ExecutableModel class also implements the Python dictionary protocol, so that it can be used as
+a dictionary. The dictionary keys are all of the symbols specified in the original model as well as
+a number of selection strings described in the Selections section. 
+
+.. method:: ExecutableModel.keys()
+   :module: RoadRunner
+
+   Get a list of all the keys that this model has. This is a very good way of looking at all the
+   available symbols and selection strings:
+
+   >>> r.model.keys()
+   [ 'S1', 'S2', '[S1]', '[S2]', 'compartment', 'k1', 'cm0',  
+     'reaction1',  'init([S1])',  'init([S2])', 'init(S1)',  
+     'init(S2)',  "S1'"]
+
+
+.. method:: ExecutableModel.items()
+   :module: RoadRunner
+
+   Get a list of key / value pairs of all the selections / values in the model. 
+
+   >>> r.model.items()
+   [('S1', 0.5), ('S2', 9.99954570660308), ('[S1]', 0.5), ('[S2]', 9.99954570660308),
+   ('default_compartment', 1.0), ('k1', 1.0), ('init(k1)', 1.0), ('_J0', 0.5), ('init([S1])', 10.0),
+   ('init([S2])', 0.0), ('init(S1)', 10.0), ('init(S2)', 0.0), ("S1'", -0.5), ("S2'", 0.5)]
+   
+   
+.. method:: ExecutableModel.__getitem__
+   :module: RoadRunner
+
+   Implements the python ``[]`` indexing operator, so the model values can be accessed like::
+
+     >>> r.model["S1"]
+     0.0
+
+   Following notation is also accepted::
+   
+     >>> r.S1
+     0.0
+	 
+
+.. method:: ExecutableModel.__setitem__
+   :module: RoadRunner
+
+   Implements the python ``[]`` indexing operator for setting values::
+
+	   >>> r.model["S1]
+	   0.0
+	   >>> r.model["S1"] = 1.3
+	   >>> r.model["S1"]
+	   1.3
+
+   Following notation is also accepted::
+
+   >>> r.S1 = 1.0   
+
+   Note, some keys are read only such as values defined by rules, or calculated values such as
+   species amount rates or reaction rates. If one attempts to set the value of a read-only symbol,
+   an exception is raised indicating the error, and no harm done. 
+
+
+
+Floating Species
+----------------
+
+.. method:: ExecutableModel.getFloatingSpeciesIds()
+   :module: RoadRunner
+	
+   Return a list of all floating species SBML ids.
+   
+   >>> r.getFloatingSpeciesIds()
+   ['S1', 'S2', 'S3', 'S4']
+   
+
+.. method:: ExecutableModel.getDependentFloatingSpeciesIds()
+   :module: RoadRunner
+   
+   Return a list of dependent floating species SBML ids.
+   
+   >>> r.getDependentFloatingSpeciesIds()
+   ['S4']
+   
+
+.. method:: ExecutableModel.getIndependentFloatingSpeciesIds()
+   :module: RoadRunner
+   
+   Return a list of independent floating species SBML ids.
+   
+   >>> r.getIndependentFloatingSpeciesIds()
+   ['S1', 'S2', 'S3']
+
+   
+.. method:: ExecutableModel.getNumFloatingSpecies()
+   :module: RoadRunner
+
+   Return the number of floating species in the model.
+   
+   >>> r.getNumFloatingSpecies()
+   2
+	 
+   
+.. method:: ExecutableModel.getFloatingSpeciesAmountRates([index])
+   :module: RoadRunner
+	
+   Return a vector of the amount rate of change of the floating species.
+
+   The units of amount rates is amount / time.
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: an array of the rates of change of the floating species amounts.
+   :rtype: numpy.ndarray
+   
+   >>> r.model.getFloatingSpeciesAmountRates()
+   array([-0.00045429,  0.00045429])
+
+
+.. method:: ExecutableModel.getFloatingSpeciesAmounts([index])
+   :module: RoadRunner
+
+   Get the list of floating species amounts. If no arguments are given, this
+   returns all floating species amounts.
+
+   :param numpy.ndarray index: (optional) an optional array of desired floating species indices.
+   :retuns: an array of floating species amounts.
+   :rtype: numpy.ndarray
+
+   To get all the amounts::
+   
+     >>> r.model.getFloatingSpeciesAmounts()
+     array([ 0.97390578,  1.56331018,  1.15301155,  1.22717548])
+   
+   To get amounts from index 0 and 1::
+   
+     >>> r.model.getFloatingSpeciesAmounts([0,1])
+     array([ 0.97390578,  1.56331018])
+
+
+.. method:: ExecutableModel.setFloatingSpeciesAmounts([index], values)
+   :module: RoadRunner
+
+   Use this to set the entire set of floating species amounts in one call.
+   The order of species is given by the order of Ids returned by getFloatingSpeciesIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to set,
+                               or if no index array is given, the first param should be
+                               an array of all the values to set.
+   :param numpy.ndarray values: the values to set.
+
+   >>> r.model.getFloatingSpeciesAmounts([0,1])
+   array([ 0.97390578,  1.56331018])
+   >>> r.model.setFloatingSpeciesAmounts([0,1], [1.0, 1.5])
+   >>> r.model.getFloatingSpeciesAmounts([0,1])
+   array([ 1. ,  1.5])
+
+	 
+.. method:: ExecutableModel.getFloatingSpeciesConcentrations([index])
+   :module: RoadRunner
+
+   Return a vector of floating species concentrations. The order of species is
+   given by the order of Ids returned by getFloatingSpeciesIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: an array of floating species concentrations.
+   :rtype: numpy.ndarray
+
+   >>> r.model.getFloatingSpeciesConcentrations()
+   array([  4.54293397e-04,   9.99954571e+00])
+   
+   
+.. method:: ExecutableModel.setFloatingSpeciesConcentrations([index], values)
+   :module: RoadRunner
+
+   Use this to set the entire set of floating species concentrations in one call.
+   The order of species is given by the order of Ids returned by getFloatingSpeciesIds()
+
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to set,
+                               or if no index array is given, the first param should be an
+                               array of all the  values to set.
+   :param numpy.ndarray values: the values to set.
+
+   >>> r.model.getFloatingSpeciesConcentrations()
+   array([  4.54293397e-04,   9.99954571e+00])
+   >>> r.model.setFloatingSpeciesConcentrations([0],[0.5])
+   >>> r.model.getFloatingSpeciesConcentrations()
+   array([ 0.5       ,  9.99954571])
+   
+   
+Floating Species Initial Conditions
+-----------------------------------
+RoadRunner stores all initial conditions separately from the model state variables. This means that
+you can update the initial conditions at any time, and it does not affect the current state of the
+model. To reset the model, that is, reset it to its original state, or a new original state where
+what has changed the initial conditions use the :meth:`~ExecutableModel.reset()` method. 
+
+The following methods allow access to the floating species initial condition values:
+
+.. method:: ExecutableModel.getFloatingSpeciesInitAmountIds()
+   :module: RoadRunner
+
+   Return a list of the floating species amount initial amount selection symbols.
+   
+   >>> r.model.getFloatingSpeciesInitAmountIds()
+   ['init(S1)', 'init(S2)']
+	 
+
+.. method:: ExecutableModel.getFloatingSpeciesInitConcentrationIds()
+   :module: RoadRunner
+
+   Return a list of the floating species amount initial concentration selection symbols.
+
+   >>> r.model.getFloatingSpeciesInitConcentrationIds()
+   ['init([S1])', 'init([S2])']
+	 
+
+.. method:: ExecutableModel.getFloatingSpeciesInitConcentrations([index])    
+   :module: RoadRunner
+
+   Return a vector of floating species initial concentrations. The order of species is
+   given by the order of Ids returned by getFloatingSpeciesInitialConcentrationIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: an array of floating species initial concentrations.
+   :rtype: numpy.ndarray
+
+   
+   >>> r.model.getFloatingSpeciesInitConcentrations()
+   array([ 10.,   0.])
+	 
+	 
+.. method:: ExecutableModel.setFloatingSpeciesInitConcentrations([index], values)
+   :module: RoadRunner
+
+   Set a vector of floating species initial concentrations. The order of species is
+   given by the order of Ids returned by getFloatingSpeciesInitialAmountIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   
+   
+   >>> r.model.setFloatingSpeciesInitConcentrations([0], [1])
+   >>> r.model.getFloatingSpeciesInitConcentrations()
+   array([ 1.,  0.])
+   
+   
+.. method:: ExecutableModel.getFloatingSpeciesInitAmounts([index])    
+   :module: RoadRunner
+
+   Return a vector of floating species initial amounts. The order of species is
+   given by the order of Ids returned by getFloatingSpeciesInitialConcentrationIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: an array of floating species initial amounts.
+   :rtype: numpy.ndarray
+
+   
+   >>> r.model.getFloatingSpeciesInitAmounts()
+   array([ 10.,   0.])
+
+   
+.. method:: ExecutableModel.setFloatingSpeciesInitAmounts([index], values)
+   :module: RoadRunner
+
+   Set a vector of floating species initial amounts. The order of species is
+   given by the order of Ids returned by getFloatingSpeciesInitialAmountIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   
+   
+   >>> r.model.setFloatingSpeciesInitAmounts([0], [0.1])
+   >>> r.model.getFloatingSpeciesInitAmounts()
+   array([ 0.1,  0. ])
+
+
+Boundary Species
+----------------
+
+.. method:: ExecutableModel.getBoundarySpeciesAmounts([index])
+   :module: RoadRunner
+
+   Return a vector of boundary species amounts. The order of species is
+   given by the order of Ids returned by getBoundarySpeciesIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: an array of the boundary species amounts.
+   :rtype: numpy.ndarray
+   
+   >>> r.model.getBoundarySpeciesAmounts()
+   array([ 15.,   0.])
+   
+
+.. method:: ExecutableModel.getBoundarySpeciesConcentrations([index])
+   :module: RoadRunner
+
+   Return a vector of boundary species concentrations. The order of species is
+   given by the order of Ids returned by getBoundarySpeciesIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: an array of the boundary species concentrations.
+   :rtype: numpy.ndarray
+   
+   >>> r.getBoundarySpeciesConcentrations()
+   array([ 0.5,   0.])
+   
+
+.. method:: ExecutableModel.getBoundarySpeciesIds()
+   :module: RoadRunner
+
+   Return a vector of boundary species Ids.
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: a list of boundary species ids.
+   
+   
+   >>> r.getBoundarySpeciesIds()
+   ['X0', 'X1']
+
+
+.. method:: ExecutableModel.getNumBoundarySpecies()
+   :module: RoadRunner
+
+   Return the number of boundary species in the model.
+   
+   
+   >>> r.getNumBoundarySpecies()
+   2
+
+
+.. method:: ExecutableModel.setBoundarySpeciesConcentrations([index], values)
+   :module: RoadRunner
+
+   Use this to set the entire set of boundary species concentrations in one call.
+   The order of species is given by the order of boundary species returned by getBoundarySpeciesIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to set,
+                               or if no index array is given, the first param should be an
+                               array of all the  values to set.
+
+   :param numpy.ndarray values: the values to set.
+   
+   
+   >>> r.model.setBoundarySpeciesConcentrations([0], [1])
+   >>> r.getBoundarySpeciesConcentrations()
+   array([ 1.,  0.])
+	 
+
+Compartments
+------------
+
+.. method:: ExecutableModel.getCompartmentIds([index])
+   :module: RoadRunner
+	
+   Return a vector of compartment identifier symbols.
+
+   :param index: A array of compartment indices indicating which compartment ids to return.
+   :type index: None or numpy.ndarray
+   :returns: a list of compartment ids.
+   
+   
+   >>> r.getCompartmentIds()
+   ['compartment1']
+	 
+
+.. method:: ExecutableModel.getCompartmentVolumes([index])
+   :module: RoadRunner
+	
+   Return a vector of compartment volumes. The order of volumes is
+   given by the order of Ids returned by getCompartmentIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: an array of compartment volumes.
+   :rtype: numpy.ndarray.
+   
+   
+   >>> r.getCompartmentVolumes()
+   array([ 1.])
+
+
+.. method:: ExecutableModel.getNumCompartments()
+   :module: RoadRunner
+	
+   Return the number of compartments in the model.
+
+   :rtype: int
+   
+   
+   >>> r.getNumCompartments()
+   1
+
+
+.. method:: ExecutableModel.setCompartmentVolumes([index], values)
+   :module: RoadRunner
+	
+   Set a vector of compartment volumes.
+
+   If the index vector is not give, then the values vector treated as a vector of all
+   compartment volumes to set. If index is given, then  values should have the same
+   length as index.
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to set,
+                               or if no index array is given, the first param should be an
+                               array of all the  values to set.
+
+   :param numpy.ndarray values: the values to set.
+
+   
+   >>> r.model.setCompartmentVolumes([0], [2.5])
+   >>> r.getCompartmentVolumes()
+   array([ 2.5])
+
+
+Global Parameters
+-----------------
+
+
+.. method:: ExecutableModel.getGlobalParameterIds()
+   :module: RoadRunner
+
+   Return a list of global parameter ids.
+
+   :returns: a list of global parameter ids.
+   
+
+.. method:: ExecutableModel.getGlobalParameterValues([index])
+   :module: RoadRunner
+
+   Returns a vector of global parameter values. The order of species is
+   given by the order of Ids returned by getGlobalParameterIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: an array of global parameter values.
+   :rtype: numpy.ndarray.
+   
+   
+   >>> r.getGlobalParameterValues()
+   array([ 10. ,  10. ,  10. ,   2.5,   0.5])
+
+
+.. method:: ExecutableModel.getNumGlobalParameters()
+   :module: RoadRunner
+
+
+   Returns the number of global parameters in the model.
+   
+   >>> r.getNumGlobalParameters()
+   5
+
+
+.. method:: ExecutableModel.setGlobalParameterValues([index], values)
+   :module: RoadRunner
+
+   Sets the entire set of global parameters.
+   The order of parameters is given by the order of Ids returned by getGlobalParameterIds()
+
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to set,
+                               or if no index array is given, the first param should be an
+                               array of all the values to set.
+   :param numpy.ndarray values: the values to set.
+   
+   
+   >>> r.model.setGlobalParameterValues([0], [1.5])
+   >>> r.getGlobalParameterValues()
+   array([  1.5,  10. ,  10. ,   2.5,   0.5])
+	 
+
+Reactions
+---------
+
+.. method:: ExecutableModel.getNumReactions()
+   :module: RoadRunner
+
+   Return the number of reactions in the model.
+   
+   
+   >>> r.getNumReactions()
+   5
+
+
+.. method:: ExecutableModel.getReactionIds()
+   :module: RoadRunner
+
+   Return a vector of reaction Ids.
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: a list of reaction ids.
+   
+   
+   >>> r.getReactionIds()
+   ['J0', 'J1', 'J2', 'J3', 'J4']
+
+
+.. method:: ExecutableModel.getReactionRates([index])
+   :module: RoadRunner
+
+   Return a vector of reaction rates (reaction velocity) for the current state of the model. The
+   order of reaction rates is given by the order of Ids returned by getReactionIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: an array of reaction rates.
+   :rtype: numpy.ndarray
+   
+   
+   >>> r.getReactionRates()
+   array([ 0.14979613,  2.37711263,  2.68498886,  2.41265507,  1.89417737])
+
+Events
+------
+
+.. method:: ExecutableModel.getNumEvents()
+   :module: RoadRunner
+   
+   Returns the number of events.
+   
+   >>> r.getNumEvents()
+   1
+   
+   
+Rate Rules
+----------
+
+.. method:: ExecutableModel.getNumRateRules()
+   :module: RoadRunner
+
+   Returns the number of rate rules.
+   
+   >>> r.getNumRateRules()
+   1
+   
+
+Stoichiometry
+-------------
+
+.. method:: ExecutableModel.getStoichiometry(speciesIndex, reactionIndex)
+   :module: RoadRunner
+	
+   Return the stochiometric coefficient for the given species index and reaction index. 
+
+   Frequently one does not need the full stochiometrix matrix, particularly if the system is 
+   large and only a single coefficient is needed. 
+
+
+   :param speciesIndex: a floating species index from :meth:`getFloatingSpeciesIds`
+   :param reactionIndex: a reaction index from :meth:`getReactionIds`
+   
+   
+   >>> r.model.getStoichiometry(1, 3)
+   1.0
+
+
+State Vector
+------------
+
+.. method:: ExecutableModel.getStateVector([stateVector])
+   :module: RoadRunner
+            
+   Return a vector of all the variables that represent the state of the system. The state is
+   considered all values which change with the dynamics of the model. This would include all species
+   which are produced or consumed by reactions, and all variables which are defined by rate rules. 
+
+   Variables such as global parameters, compartments, or boundary species which do not change with
+   the model dynamics are considered parameters and are thus not part of the state. 
+
+   In performance critical applications, the optional stateVector array should be provided where the
+   output variables will be written to. 
+
+
+   :param numpy.ndarray stateVector: an optional numpy array where the state vector variables will be written. If
+                       no state vector array is given, a new one will be constructed and returned. 
+
+                       This should be the same length as the model state vector. 
+   :rtype: numpy.ndarray
+
+   
+   >>> r.model.getStateVector()
+   array([ 0.97390578,  1.56331018,  1.15301155,  1.22717548])
+   
+               
+.. method:: ExecutableModel.getStateVectorId(index)
+   :module: RoadRunner
+
+   Get the id (symbolic name) of a state vector item. 
+
+   :param int index: the index of the desired state vector item
+   :rtype: str
+   
+   
+   >>> r.model.getStateVectorId(0)
+   'S1'
+	 
+   
+.. method:: ExecutableModel.getStateVectorIds()
+   :module: RoadRunner
+
+   Return a list of all state vector ids
+
+   :rtype: list
+   
+   
+   >>> r.model.getStateVectorIds()
+   ['S1', 'S4', 'S2', 'S3']
+	 
+	 
+.. method:: ExecutableModel.getStateVectorRate(time, [stateVector], [stateVectorRate])
+   :module: RoadRunner
+
+   Calculate the rate of change of all state vector variables. 
+
+   Note, the rate of change of species returned by this method is always in units of amount /
+   time. 
+
+
+   :param double time: the model time at which the calculation should be performed. 
+   :param numpy.ndarray: (optional) the model state at which the calculation should be performed. If
+                         this is not give, the current state is used. 
+   :param numpy.ndarray: (optional) an output array where the rates of change will be written to. If
+                         this is not given, a new array is allocated and returned. 
+
+   :returns: an array of the rates of change of all state vector variables.
+   :rtype: numpy.ndarray
+   
+   
+   >>> r.model.getStateVectorRate(10)
+   array([-1.37847178,  0.5184777 , -0.30787622,  0.27233378])
+
+
+Conserved Moieties
+------------------
+
+Refer to :attr:`RoadRunner.conservedMoietyAnalysis` and :attr:`Config.LOADSBMLOPTIONS_CONSERVED_MOIETIES` for more information.
+
+.. method:: ExecutableModel.getNumConservedMoieties()
+   :module: RoadRunner
+
+   Return the number of conserved moieties in the model.
+
+   :rtype: int
+   
+   
+   >>> r.getNumConservedMoieties()
+   1
+
+
+.. method:: ExecutableModel.getConservedMoietyIds([index])
+   :module: RoadRunner
+
+   Return a vector of conserved moiety identifier symbols.
+
+   :param index: A array of compartment indices indicating which compartment ids to return.
+   :type index: None or numpy.ndarray
+   :returns: a list of compartment ids.
+   
+   
+   >>> r.getConservedMoietyIds()
+   ['cm_1']
+	 
+
+.. method:: ExecutableModel.getConservedMoietyValues([index])
+   :module: RoadRunner
+
+   Return a vector of conserved moiety volumes. The order of values is
+   given by the order of Ids returned by getConservedMoietyIds()
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to return.
+   :returns: an array of conserved moiety values.
+   :rtype: numpy.ndarray.
+   
+   
+   >>> r.getConservedMoietyValues()
+   array([ 2.])
+   
+
+.. method:: ExecutableModel.setConservedMoietyValues([index], values)
+   :module: RoadRunner
+
+   Set a vector of conserved moiety values.
+
+   *Note* This method currently only updates the conserved moiety values, it does 
+   not update the initial species condition from which the values were calculated. 
+   
+   If the index vector is not given, then the values vector treated as a vector of all
+   values to set. If index is given, then  values should have the same
+   length as index.
+
+   :param numpy.ndarray index: (optional) an index array indicating which items to set,
+                               or if no index array is given, the first param should be an
+                               array of all the  values to set.
+   :param numpy.ndarray values: the values to set.
+   
+   
+   >>> r.model.setConservedMoietyValues([0], [5])
+   >>> r.getConservedMoietyValues()
+   array([ 5.])
+
+
+Misc
+----
+
+
+.. method:: ExecutableModel.getInfo()
+   :module: RoadRunner
+
+   Get various info about the model.
+   
+   
+   >>> print(r.getInfo())
+   <roadrunner.RoadRunner() { 
+   'this' : 13DEF5F8
+   'modelLoaded' : true
+   'modelName' : feedback
+   'libSBMLVersion' : LibSBML Version: 5.12.0
+   'jacobianStepSize' : 1e-005
+   'conservedMoietyAnalysis' : false
+   'simulateOptions' : 
+   < roadrunner.SimulateOptions() 
+   { 
+   'this' : 0068A7F0, 
+   'reset' : 0,
+   'structuredResult' : 0,
+   'copyResult' : 1,
+   'steps' : 50,
+   'start' : 0,
+   'duration' : 40
+   }>, 
+   'integrator' : 
+   < roadrunner.Integrator() >
+     name: cvode
+     settings:
+         relative_tolerance: 0.00001
+         absolute_tolerance: 0.0000000001
+                      stiff: true
+          maximum_bdf_order: 5
+        maximum_adams_order: 12
+          maximum_num_steps: 20000
+          maximum_time_step: 0
+             minimum_time_step: 0
+          initial_time_step: 0
+             multiple_steps: false
+         variable_step_size: false
+   }>
+
+
+.. method:: ExecutableModel.getModelName()
+   :module: RoadRunner
+
+   Get the model name specified in the SBML.
+   
+   
+   >>> r.model.getModelName()
+   'feedback'
+
+
+.. method:: ExecutableModel.getTime()
+   :module: RoadRunner
+
+   Get the model time. The model originally start at time t=0 and is advaced forward in time by the
+   integrator. So, if one ran a simulation from time = 0 to time = 10, the model will then have it's
+   time = 10. 
+   
+   >>> r.model.getTime()
+   40.0
+
+   
+.. method:: ExecutableModel.setTime(time)
+   :module: RoadRunner
+
+   Set the model time variable. 
+
+   :param time: time the time value to set.
+   
+   
+   >>> rr.model.setTime(20.)
+   >>> rr.model.getTime()
+   20.0
+   
+
+.. method:: ExecutableModel.reset()
+   :module: RoadRunner
+
+   Resets all the floating species concentrations to their initial values.
+   
+
+.. method:: ExecutableModel.resetAll()
+   :module: RoadRunner
+
+   Resets all variables, species, etc. to the CURRENT initial values. 
+   It also resets all parameter back to the values they had when the model was first loaded
+
+
+.. method:: ExecutableModel.resetToOrigin()
+   :module: RoadRunner
+
+   Resets the model back to the state is was when it was FIRST loaded.
+   The scope of reset includes all initial values and parameters, etc.
+
diff --git a/wrappers/Python/doc/mod_roadrunner/cls_LoadSBMLOptions.rst b/wrappers/Python/doc/mod_roadrunner/cls_LoadSBMLOptions.rst
new file mode 100644
index 0000000..c065b84
--- /dev/null
+++ b/wrappers/Python/doc/mod_roadrunner/cls_LoadSBMLOptions.rst
@@ -0,0 +1,67 @@
+SBML Compile Options
+_______________________________
+
+.. class:: LoadSBMLOptions()
+   :module: RoadRunner
+
+   The LoadSBMLOptions object allows tuning a variety of SBML loading and compilations options.
+   
+   This object can be passed in as the second, optional argument of the :meth:`RoadRunner.__init__()`
+   constructor, or  the :meth:`RoadRunner.load()` method.
+
+
+.. attribute:: LoadSBMLOptions.conservedMoieties
+   :module: RoadRunner
+   :annotation: bool
+
+   Performs conservation analysis.
+      
+   This causes a re-ordering of the species, so results generated
+   with this flag enabled can not be compared index wise to results
+   generated otherwise.
+
+   Moiety conservation is only compatable with simple models which do NOT have any events or rules
+   which define or alter any floating species, and which have simple constant stiochiometries. 
+  
+
+.. attribute:: LoadSBMLOptions.mutableInitialConditions
+   :module: RoadRunner
+   :annotation: bool
+
+   Generates accessor functions to allow changing of initial
+   conditions.
+
+
+.. attribute:: LoadSBMLOptions.noDefaultSelections
+   :module: RoadRunner
+   :annotation: bool
+
+   If True, do not create a default selection list when the model is loaded.
+
+.. attribute:: LoadSBMLOptions.readOnly
+   :module: RoadRunner
+   :annotation: bool
+
+   Should the model be recompiled?
+   The LLVM ModelGenerator maintains a hash table of currently running
+   models. If this flag is NOT set, then the generator will look to see
+   if there is already a running instance of the given model and
+   use the generated code from that one.
+  
+   If only a single instance of a model is run, there is no
+   need to cache the models, and this can safely be enabled,
+   realizing some performance gains.
+
+
+.. attribute:: LoadSBMLOptions.recompile
+   :module: RoadRunner
+   :annotation: bool
+
+   If this is set, then a read-only model is generated. A read-only
+   model can be simulated, but no code is generated to set model
+   values, i.e. parameters, amounts, values, etc...
+  
+   It takes a finite amount of time to generate the model value setting
+   functions, and if they are not needed, one may see some performance
+   gains, especially in very large models.
+
diff --git a/wrappers/Python/doc/mod_roadrunner/cls_Logger.rst b/wrappers/Python/doc/mod_roadrunner/cls_Logger.rst
new file mode 100644
index 0000000..84c6fad
--- /dev/null
+++ b/wrappers/Python/doc/mod_roadrunner/cls_Logger.rst
@@ -0,0 +1,318 @@
+Logging 
+________
+
+RoadRunner has extensive logging system. Many internal methods will log extensive details (in full
+color) to either the clog (typically stderr) or a user specified file path. Internally, the
+RoadRunner logging system is currently implemented by the Poco (http://pocoproject) logging system.
+
+Future versions will include a Logging Listener, so that the RoadRunner log will log messages
+to a user specified function. 
+
+The logging system is highly configurable, users have complete control over the color and format
+of the logging messages. 
+
+All methods of the Logger are static, they are available immediately upon loading the RoadRunner
+package. 
+
+If one wants to display logging at the lowest level (LOG_TRACE), where every logging message is
+displayed, one would run::
+
+  roadrunner.Logging.setLevel(roadrunner.Logging.LOG_TRACE)
+
+Logging the following messages::
+
+  roadrunner.Logger.log(roadrunner.Logger.LOG_FATAL, "A fatal message")
+  roadrunner.Logger.log(roadrunner.Logger.LOG_CRITICAL, "A critical message")
+  roadrunner.Logger.log(roadrunner.Logger.LOG_ERROR, "An error message")
+  roadrunner.Logger.log(roadrunner.Logger.LOG_WARNING, "A warning message")
+  roadrunner.Logger.log(roadrunner.Logger.LOG_NOTICE, "A notice message")
+  roadrunner.Logger.log(roadrunner.Logger.LOG_INFORMATION, "An informational message")
+  roadrunner.Logger.log(roadrunner.Logger.LOG_DEBUG, "A debugging message.")
+  roadrunner.Logger.log(roadrunner.Logger.LOG_TRACE,  "A tracing message. This is the lowest priority.")
+
+will produce the following output:
+
+.. image:: logging.png
+
+
+If one wants different colors on the log, these can be set via::
+
+  rr.Logger.setProperty("traceColor", "red")
+  rr.Logger.setProperty("debugColor", "green")
+
+The available color property names and values are listed below at the Logger.setProperty method.
+
+Logging Levels
+--------------
+The Logger has the following logging levels:  
+
+.. attribute:: Logger.LOG_CURRENT
+   :module: RoadRunner
+
+   Use the current level -- don't change the level from what it is.
+
+.. attribute:: Logger.LOG_FATAL 
+   :module: RoadRunner
+
+   A fatal error. The application will most likely terminate. This is the highest priority.
+
+.. attribute:: Logger.LOG_CRITICAL 
+   :module: RoadRunner
+
+   A critical error. The application might not be able to continue running successfully.
+
+.. attribute:: Logger.LOG_ERROR 
+   :module: RoadRunner
+
+   An error. An operation did not complete successfully, but the application as a whole is not affected.
+
+.. attribute:: Logger.LOG_WARNING 
+   :module: RoadRunner
+
+   A warning. An operation completed with an unexpected result.
+
+.. attribute:: Logger.LOG_NOTICE 
+   :module: RoadRunner
+
+   A notice, which is an information with just a higher priority.
+
+.. attribute:: Logger.LOG_INFORMATION 
+   :module: RoadRunner
+
+   An informational message, usually denoting the successful completion of an operation.
+
+.. attribute:: Logger.LOG_DEBUG 
+   :module: RoadRunner
+
+   A debugging message.
+
+.. attribute:: Logger.LOG_TRACE
+   :module: RoadRunner
+
+   A tracing message. This is the lowest priority.
+
+Logging Methods
+---------------
+
+.. staticmethod:: Logger.setLevel([level])
+   :module: RoadRunner
+
+   sets the logging level to one a value from Logger::Level
+
+   :param int level: the level to set, defaults to LOG_CURRENT if none is specified. 
+
+
+.. staticmethod:: Logger.getLevel()
+   :module: RoadRunner
+
+   get the current logging level.
+
+
+
+.. staticmethod:: Logger.disableLogging()
+   :module: RoadRunner
+
+   Suppresses all logging output
+
+
+
+.. staticmethod:: Logger.disableConsoleLogging()
+   :module: RoadRunner
+
+   stops logging to the console, but file logging may continue.
+
+
+
+.. staticmethod:: Logger.enableConsoleLogging(level)
+   :module: RoadRunner
+
+   turns on console logging (stderr) at the given level.
+
+   :param level: A logging level, one of the above listed LOG_* levels.
+
+
+.. staticmethod:: Logger.enableFileLogging(fileName, [level])
+   :module: RoadRunner
+
+   turns on file logging to the given file as the given level.
+
+   :param str fileName: the path of a file to log to.
+   :param level: (optional) the logging level, defaults to LOG_CURRENT. 
+
+
+.. staticmethod:: Logger.disableFileLogging()
+   :module: RoadRunner
+
+   turns off file logging, but has no effect on console logging.
+
+
+
+.. staticmethod:: Logger.getCurrentLevelAsString()
+   :module: RoadRunner
+
+   get the textural form of the current logging level.
+
+
+
+.. staticmethod:: Logger.getFileName()
+   :module: RoadRunner
+
+   get the name of the currently used log file.
+
+
+
+.. staticmethod:: Logger.setFormattingPattern(format)
+   :module: RoadRunner
+
+   Internally, RoadRunner uses the Poco logging framework, so we
+   can custom format logging output based on a formatting pattern
+   string.
+   
+   The format pattern is used as a template to format the message and
+   is copied character by character except for the following special characters,
+   which are replaced by the corresponding value.
+   
+   An example pattern of "%Y-%m-%d %H:%M:%S %p: %t" set via::
+
+     roadrunner.Logger.setFormattingPattern("%Y-%m-%d %H:%M:%S %p: %t")
+      
+   would produce the following output:
+
+   .. image:: logging2.png
+ 
+   |
+
+   RoadRunner supports the following format specifiers. These were copied from the Poco documentation:
+   
+   * %s - message source
+   * %t - message text
+   * %l - message priority level (1 .. 7)
+   * %p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace)
+   * %q - abbreviated message priority (F, C, E, W, N, I, D, T)
+   * %P - message process identifier
+   * %T - message thread name
+   * %I - message thread identifier (numeric)
+   * %N - node or host name
+   * %U - message source file path (empty string if not set)
+   * %u - message source line number (0 if not set)
+   * %w - message date/time abbreviated weekday (Mon, Tue, ...)
+   * %W - message date/time full weekday (Monday, Tuesday, ...)
+   * %b - message date/time abbreviated month (Jan, Feb, ...)
+   * %B - message date/time full month (January, February, ...)
+   * %d - message date/time zero-padded day of month (01 .. 31)
+   * %e - message date/time day of month (1 .. 31)
+   * %f - message date/time space-padded day of month ( 1 .. 31)
+   * %m - message date/time zero-padded month (01 .. 12)
+   * %n - message date/time month (1 .. 12)
+   * %o - message date/time space-padded month ( 1 .. 12)
+   * %y - message date/time year without century (70)
+   * %Y - message date/time year with century (1970)
+   * %H - message date/time hour (00 .. 23)
+   * %h - message date/time hour (00 .. 12)
+   * %a - message date/time am/pm
+   * %A - message date/time AM/PM
+   * %M - message date/time minute (00 .. 59)
+   * %S - message date/time second (00 .. 59)
+   * %i - message date/time millisecond (000 .. 999)
+   * %c - message date/time centisecond (0 .. 9)
+   * %F - message date/time fractional seconds/microseconds (000000 - 999999)
+   * %z - time zone differential in ISO 8601 format (Z or +NN.NN)
+   * %Z - time zone differential in RFC format (GMT or +NNNN)
+   * %E - epoch time (UTC, seconds since midnight, January 1, 1970)
+   * %[name] - the value of the message parameter with the given name
+   * %% - percent sign
+
+   :param str format: the logging format string. Must be formatted using the above specifiers. 
+
+.. staticmethod:: Logger.getFormattingPattern()
+   :module: RoadRunner
+
+   get the currently set formatting pattern.
+
+
+
+.. staticmethod:: Logger.levelToString(level)
+   :module: RoadRunner
+
+   gets the textual form of a logging level Enum for a given value.
+
+   :param int level: One of the above listed logging levels. 
+
+
+
+.. staticmethod:: Logger.stringToLevel(s)
+   :module: RoadRunner
+
+   parses a string and returns a Logger::Level
+
+   :param str s: the string to parse. 
+
+
+
+.. staticmethod:: Logger.getColoredOutput()
+   :module: RoadRunner
+
+   check if we have colored logging enabled.
+
+
+
+.. staticmethod:: Logger.setColoredOutput(b)
+   :module: RoadRunner
+
+   enable / disable colored output
+
+   :param boolean b: turn colored logging on or off
+
+
+.. staticmethod:: Logger.setProperty(name, value)
+   :module: RoadRunner
+
+   Set the color of the output logging messages.
+      
+   In the future, we may add additional properties here.
+   
+   The following properties are supported:
+
+   * enableColors:      Enable or disable colors.
+   * traceColor:        Specify color for trace messages.
+   * debugColor:        Specify color for debug messages.
+   * informationColor:  Specify color for information messages.
+   * noticeColor:       Specify color for notice messages.
+   * warningColor:      Specify color for warning messages.
+   * errorColor:        Specify color for error messages.
+   * criticalColor:     Specify color for critical messages.
+   * fatalColor:        Specify color for fatal messages.
+            
+            
+   The following color values are supported:
+   
+   * default
+   * black
+   * red
+   * green
+   * brown
+   * blue
+   * magenta
+   * cyan
+   * gray
+   * darkgray
+   * lightRed
+   * lightGreen
+   * yellow
+   * lightBlue
+   * lightMagenta
+   * lightCyan
+   * white
+
+   :param str name: the name of the value to set.
+   :param str value: the value to set.
+
+
+.. staticmethod:: Logger.log(level, msg)
+   :module: RoadRunner
+
+   logs a message to the log.
+
+   :param int level: the level to log at.
+   :param str msg: the message to log.
+      
diff --git a/wrappers/Python/doc/mod_roadrunner/cls_Misc.rst b/wrappers/Python/doc/mod_roadrunner/cls_Misc.rst
new file mode 100644
index 0000000..11d6a9c
--- /dev/null
+++ b/wrappers/Python/doc/mod_roadrunner/cls_Misc.rst
@@ -0,0 +1,56 @@
+Miscellaneous Functions
+_______________________
+
+.. py:function:: getCopyrightStr()
+   :module: roadrunner
+
+   Returns the copyright string
+
+   
+.. py:function:: getVersionStr()
+   :module: roadrunner
+
+   Returns the version string
+   
+   
+.. staticmethod:: RoadRunner_getExtendedVersionInfo()
+   :module: roadrunner
+
+   :func:`getVersionStr()` with infomation about dependent libs versions.
+
+
+.. staticmethod:: RoadRunner_getParamPromotedSBML(*args)
+   :module: roadrunner
+
+   Takes an SBML document (in textual form) and changes all of the local parameters
+   to be global parameters.
+
+   :param str SBML: the contents of an SBML document
+   :rtype: str   
+   
+   
+.. py:function:: validateSBML(*args)   
+   :module: roadrunner
+
+   Given a string, check whether the string is a valid SBML string. 
+   Raises exception if the string is not a valid SBML string.
+   
+   :param str SBML: the contents of an SBML document
+   
+   
+.. py:function:: listTestModels()
+   :module: roadrunner
+
+   Lists all the test models.
+   
+
+.. py:function:: loadTestModel(name)
+   :module: roadrunner
+
+   Load a test model given a name.
+   
+   :param str name: name of the test model
+   
+   
+   
+   
\ No newline at end of file
diff --git a/wrappers/Python/doc/mod_roadrunner/cls_PyConservedMoietyConverter.rst b/wrappers/Python/doc/mod_roadrunner/cls_PyConservedMoietyConverter.rst
new file mode 100644
index 0000000..9630c7e
--- /dev/null
+++ b/wrappers/Python/doc/mod_roadrunner/cls_PyConservedMoietyConverter.rst
@@ -0,0 +1,40 @@
+Conserved Moiety Conversion
+___________________________
+
+
+.. class::PyConservedMoietyConverter()
+   :module: RoadRunner
+
+   Create a new conserved moiety converter. 
+
+.. method:: PyConservedMoietyConverter.setDocument(sbmlOrURI)
+   :module: RoadRunner
+
+   Sets the source document. This may be either the contents of an sbml docment
+   as a string, or the path the the file.
+
+   :param str sbmlOrURI: contents or path of source document
+   :returns: an integer indicating success or failure, 0 means success.
+   :rtype: int
+
+
+.. method:: PyConservedMoietyConverter.convert()
+   :module: RoadRunner
+
+   Perform the document conversion.
+
+   :returns: an integer indicating success or failure, 0 means success.
+   :rtype: int
+
+
+
+.. method:: PyConservedMoietyConverter.getDocument()
+   :module: RoadRunner
+
+   Get the converted document contents.
+
+   :returns: The contents of the converted document, or empty string
+             if there is no source document.
+
+
+
diff --git a/wrappers/Python/doc/mod_roadrunner/cls_RoadRunner.rst b/wrappers/Python/doc/mod_roadrunner/cls_RoadRunner.rst
new file mode 100644
index 0000000..3c9c8a7
--- /dev/null
+++ b/wrappers/Python/doc/mod_roadrunner/cls_RoadRunner.rst
@@ -0,0 +1,904 @@
+The Main RoadRunner Class
+_________________________
+
+.. class:: RoadRunner
+
+   The main RoadRunner class. Its objects, i.e. ``rr = RoadRunner()`` perform 
+   the libRoaRunner functions, i.e. ``rr.simulate()``.
+
+
+
+.. method:: RoadRunner.__init__(uriOrSBML = "", options = None)
+
+   Creates a new RoadRunner object. If the first argument is specified, 
+   it should be a string containing either the contents of an SBML document, 
+   or a formatted URI specifying the path or location of a SBML document. 
+
+   If options is given, it should be a LoadSBMLOptions object. 
+
+   If no arguments are given, a document may be loaded at any future time
+   using the load method. 
+
+   :param uriOrSBML: a URI, local path or SBML document contents.
+   :type name: str (optional)
+
+   :param options: (LoadSBMLOptions) an options object specifying how the 
+                   SBML document should be loaded
+   :type name: str (optional)
+
+
+.. method:: RoadRunner.load(uriOrDocument)
+   :module: RoadRunner
+
+   Loads an SBML document, given a string for file path, URI, or contents. 
+
+   This method also accepts HTTP URI for remote files, however this feature is currently limited 
+   to the Mac version, plan on enabling HTTP loading of SBML documents on Windows and Linux 
+   shortly. 
+
+   Some examples of loading files on Mac or Linux::
+   
+       >>> r.load("myfile.xml")                               # load a file from the current directory
+       >>> r.load("/Users/Fred/myfile.xml")                   # absolute path
+       >>> r.load("http://sbml.org/example_system.xml")       # remote file
+
+
+   Or on Windows:
+
+       >>> r.load("myfile.xml")                                  # load a file from the current directory
+       >>> r.load("file://localhost/c:/Users/Fred/myfile.xml")   # using a URI
+
+   One may also load the contents of a document::
+
+       >>> myfile = open("myfile.xml, "r")
+       >>> contents = file.read()
+       >>> r.load(contents)
+
+   In future version, we will also support loading directly from a libSBML Document object. 
+
+   :param uriOrDocument: A string which may be a local path, URI or contents of an SBML document. 
+   :type name: str
+
+
+
+
+
+
+.. method:: RoadRunner.getCompiler()
+
+   Returns the JIT :class:`Compiler` object currently being used. 
+   This object provides various information about the current processor and system.
+
+
+
+.. method:: RoadRunner.getConfigurationXML()
+   :module: RoadRunner
+
+   Recurse through all of the child configurable objects that this
+   class ones and build an assemble all of their configuration parameters
+   into a single xml document which is returned as a string.
+
+   The value of this result depends on what child objects are presently loaded.
+
+
+.. method:: RoadRunner.getExtendedVersionInfo()
+   :module: RoadRunner
+
+   Returns :meth:`getVersionStr()` as well as info about dependent libs versions.
+
+
+
+.. method:: RoadRunner.getInfo()
+   :module: RoadRunner
+
+   Returns info about the current state of the object.
+
+   :rtype: str
+
+
+
+.. method:: RoadRunner.getInstanceCount()
+   :module: RoadRunner
+
+   Returns number of currently running RoadRunner instances.
+
+
+
+.. method:: RoadRunner.getInstanceID()
+   :module: RoadRunner
+
+   Returns the instance id when there are multiple instances of RoadRunner.
+
+
+
+.. method:: RoadRunner.getIntegrator()
+   :module: RoadRunner
+
+   Returns the solver instance. See :class:`roadrunner.Solver`.
+   For more information on the possible settings, see :ref:`roadrunner-solver`.
+   
+   
+.. method:: RoadRunner.getIntegratorByName(name)
+   :module: RoadRunner
+   
+   Returns the solver instance by given name. See :class:`roadrunner.Solver`.
+   For more information on the possible settings, see :ref:`roadrunner-solver`.
+
+   :param str name: Name of the integrator
+
+   
+.. method:: RoadRunner.getAvailableIntegrators()
+   :module: RoadRunner
+   
+   Returns a list of names of available integrators.
+
+   
+.. method:: RoadRunner.getExistingIntegratorNames()
+   :module: RoadRunner
+   
+   Returns a list of names of all integrators.
+   
+
+.. method:: RoadRunner.getParamPromotedSBML(*args)
+   :module: RoadRunner
+
+   Takes an SBML document (in textual form) and changes all of the local parameters
+   to be global parameters.
+
+   :param str SBML: the contents of an SBML document
+   :rtype: str
+
+
+.. method:: RoadRunner.getCurrentSBML()
+   :module: RoadRunner
+
+   Returns the SBML with the current model parameters. 
+   This is different than :meth:`getSBML()` which returns the original SBML.
+   This may optionally up or down-convert the document to a different version, if the level and version arguments are non-zero.
+   If both arguments are zero, then the document is left alone and the original version is returned.
+
+   :rtype: str
+
+
+.. method:: RoadRunner.getSBML()
+   :module: RoadRunner
+
+   Returns the original SBML model that was loaded into roadrunner.
+
+   :rtype: str
+   
+.. method:: RoadRunner.setIntegrator(name)
+   :module: RoadRunner
+
+   Sets specific integrator. For more information on the possible settings, see :ref:`roadrunner-solver`.
+   
+   :param str name: name of the integrator.
+
+   
+.. method:: RoadRunner.setIntegratorSetting(name, key, value)
+   :module: RoadRunner
+
+   Sets settings for a specific integrator. See :class:`roadrunner.Solver`.
+   For more information on the possible settings, see :ref:`roadrunner-solver`.
+   
+   :param str name: name of the integrator.
+   :param str key: name of the setting.
+   :param const value: value of the setting.
+   
+
+Selections
+----------
+
+.. method:: RoadRunner.getIds()
+
+   Return a list of selection ids that this object can select on.
+
+   :rtype: list
+
+
+.. method:: RoadRunner.getValue(sel)
+
+   Returns the value for a given selection. For more information on accepted selection types
+   see :ref:`Selecting Values <selecting-values>`.
+
+   :param sel: a selection that is either a string or a SelectionRecord that was
+               obtained from createSelection
+   :type sel: str or SelectionRecord
+
+
+
+.. method:: RoadRunner.getSelectedValues()
+   :module: RoadRunner
+
+   returns the values of the current timecourse selections for the current state of the model
+
+   :rtype: numpy.ndarray
+
+
+
+.. attribute:: RoadRunner.timeCourseSelections
+   :module: RoadRunner
+            
+   Get or set the list of current selections used for the time course simulation result columns. 
+   For more information on accepted selection types, see :ref:`Selecting Values <selecting-values>`.
+   
+   >>> rr.timeCourseSelections = ['time', 'S1', 'S2']
+   >>> rr.timeCourseSelections
+   ['time', 'S1', 'S2']
+
+
+.. method:: RoadRunner.createSelection(sel)
+
+   Create a new selection based on a selection string
+
+   :rtype: roadrunner.SelectionRecord
+
+
+Model Access
+------------
+
+
+.. method:: RoadRunner.isModelLoaded()
+   :module: RoadRunner
+
+   Return True if model was loaded; False otherwise
+
+
+
+.. py:attribute:: RoadRunner.model
+   :module: RoadRunner
+   :annotation: None
+
+   Get the currently loaded model. The model object contains the entire state of the SBML model.
+
+
+.. method:: RoadRunner.getModel()
+   :module: RoadRunner
+
+   Function form of the RoadRunner.model property, identical to model. 
+
+   
+.. method:: RoadRunner.clearModel()
+   :module: RoadRunner
+   
+   Clears the currently loaded model and all associated memory.
+   Returns True if memory was freed, False if no model was loaded in the first place.
+   
+   >>> r.isModelLoaded()
+   True
+   >>> r.clearModel()
+   >>> r.isModelLoaded()
+   False
+   
+   
+.. method:: RoadRunner.oneStep(startTime, stepSize)
+   :module: RoadRunner
+
+   Carry out a one step integration of the model. The method takes two arguments,
+   the current time and the step size to us in the integration. The method returns
+   the new time which will be currentTime + StepSize::
+
+       newTime = rr.oneStep (10, 0.5)
+
+ 
+.. method:: RoadRunner.reset()
+   :module: RoadRunner
+
+   Resets all the floating species concentrations to their initial values.
+   
+
+.. method:: RoadRunner.resetAll()
+   :module: RoadRunner
+
+   Resets all variables, species, etc. to the CURRENT initial values. 
+   It also resets all parameter back to the values they had when the model was first loaded
+
+
+.. method:: RoadRunner.resetToOrigin()
+   :module: RoadRunner
+
+   Resets the model back to the state is was when it was FIRST loaded.
+   The scope of reset includes all initial values and parameters, etc.
+
+
+.. method:: RoadRunner.setConfigurationXML(*args)
+   :module: RoadRunner
+
+   given a xml document, which should have been returned from getConfigurationXML,
+   this method recurses though all the child configurable elements and sets their
+   configuration to the values specified in the document.
+
+   :param str xml: the contents of an xml document.
+
+
+
+.. attribute:: RoadRunner.conservedMoietyAnalysis
+   :module: RoadRunner
+
+   Enables / Disables conserved moiety analysis (boolean). 
+
+   If this is enabled, the SBML document (either current, or one about to be loaded) 
+   is converted using the ConservedMoietyConverter. All of the linearly dependent 
+   species are replaced with assignment rules and a new set of conserved moiety 
+   parameters are introduced. 
+   
+   To enable, type:
+   
+   >>> r.conservedMoietyAnalysis = True
+
+
+Simulation
+----------
+
+Fast and easy time series simulations is one of the main objectives of the RoadRunner project. 
+
+All simulation related tasks can be accomplished with the single ``simulate`` method. 
+ 
+
+.. method:: RoadRunner.simulate(*args, **kwargs)
+   :module: RoadRunner
+
+
+
+   Simulate and optionally plot current SBML model. This is the one stop shopping method
+   for simulation and plotting. 
+
+   simulate accepts a up to four positional arguments and a large number of keyword args. 
+
+   The first four (optional) arguments are treated as:
+            
+      1: Start Time, if this is a number. 
+
+      2: End Time, if this is a number.
+
+      3: Number of Steps, if this is a number.
+            
+      4: List of Selections. 
+
+   All four of the positional arguments are optional. If any of the positional arguments are
+   a list of string instead of a number, then they are interpreted as a list of selections. 
+
+   
+   There are a number of ways to call simulate.
+
+   1: With no arguments. In this case, the current set of options from the previous 
+      ``simulate`` call will be used. If this is the first time ``simulate`` is called, 
+      then a default set of values is used. 
+
+   2: With up to three positions arguments, described above. 
+
+   3: With optional keyword arguments where keywords are listed below. 
+
+      For example, to reset the model, simulate from 0 to 10 in 1000 steps and plot we can::
+        
+        rr.simulate(end=10, start=0, steps=1000, reset=True, plot=True)
+
+      All of the options given to ``simulate`` are remembered and used as default arguments for
+      subsequent calls, i.e. if one calls::
+
+        rr.simulate (0, 3, 100, ["time", "[S1]"])
+
+      The start time of 0, end time of 3, steps of 100 and the selection list will remain in effect,
+      so that if this is followed by a call to::
+
+        rr.simulate()
+
+      This simulation will use the previous values. Note, that if the ``reset=True`` options was not
+      given, this will continue the simulation using the previous model state, but time here will
+      start at 0 and continue to 3. 
+
+   simulate accepts the following list of keyword arguments:
+
+   integrator
+     A text string specifying which integrator to use. Currently supports "cvode"
+     for deterministic simulation (default) and "gillespie" for stochastic 
+     simulation.
+
+   sel or selections
+     A list of strings specifying what values to display in the output. 
+
+   plot
+     True or False
+     If True, RoadRunner will create a basic plot of the simulation result using
+     the built in plot routine which uses MatPlotLib. 
+
+   absolute
+     A number representing the absolute difference permitted for the integrator 
+     tolerance.
+
+   duration
+     The duration of the simulation run, in the model's units of time.
+     Note, setting the duration automatically sets the end time and visa versa.
+     
+   end
+     The simulation end time. Note, setting the end time automatically sets 
+     the duration accordingly and visa versa.
+
+   relative
+     A float-point number representing the relative difference permitted. 
+     Defaults 0.0001
+
+   reset
+     True or False
+     Causes the model to be reset to the original conditions specified in 
+     the SBML when the simulation is run.
+
+   start
+     The start time of the simulation time-series data. Often this is 0, 
+     but not necessarily.
+
+   steps
+     The number of steps at which the output is sampled. The samples are evenly spaced. 
+     When a simulation system calculates the data points to record, it will typically 
+     divide the duration by the number of time steps. Thus, for N steps, the output 
+     will have N+1 data rows.
+
+   stiff
+     True or False
+     Use the stiff integrator. Only use this if the model is stiff and causes issues 
+     with the regular integrator. The stiff integrator is slower than the conventional 
+     integrator.
+
+   multiStep
+     True or False
+     Perform a multi step integration.
+     
+     \* Experimental \*
+     Perform a multi-step simulation. In multi-step simulation, one may monitor the 
+     variable time stepping via the IntegratorListener events system.
+
+   initialTimeStep
+     A user specified initial time step. If this is <= 0, the integrator will attempt 
+     to determine a safe initial time step.
+
+     Note, for each number of steps given to RoadRunner.simulate or RoadRunner.integrate 
+     the internal integrator may take many many steps to reach one of the external time steps. 
+     This value specifies an initial value for the internal integrator time step.
+
+   minimumTimeStep
+     Specify the minimum time step that the internal integrator will use. 
+     Uses integrator estimated value if <= 0.
+
+   maximumTimeStep
+     Specify the maximum time step size that the internal integrator will use. 
+     Uses integrator estimated value if <= 0.
+
+   maximumNumSteps
+     Specify the maximum number of steps the internal integrator will use before 
+     reaching the user specified time span. Uses the integrator default value if <= 0.
+
+
+   :returns: a numpy array with each selected output time series being a
+             column vector, and the 0'th column is the simulation time.
+   :rtype: numpy.ndarray
+
+   
+.. method:: RoadRunner.gillespie(start, end, steps)
+   :module: RoadRunner
+   
+   Run a Gillespie stochastic simulation.
+   
+   Use :meth:`RoadRunner.reset()` to reset the model each time.
+   
+   :param start: start time
+   :param end: end time
+   :param steps: number of steps
+   :returns: a numpy array with each selected output time series being a
+             column vector, and the 0'th column is the simulation time.
+   :rtype: numpy.ndarray
+   
+   Examples:
+
+   Simulate from time zero to 40 time units 
+   
+   >>> result = r.gillespie (0, 40)
+
+   Simulate on a grid with 10 points from start 0 to end time 40 
+   
+   >>> result = r.gillespie (0, 40, 10)
+
+   Simulate from time zero to 40 time units using the given selection list 
+   
+   >>> result = r.gillespie (0, 40, [‘time’, ‘S1’])
+
+   Simulate from time zero to 40 time units, on a grid with 20 points using the given selection list 
+   
+   >>> result = r.gillespie (0, 40, 20, [‘time’, ‘S1’])
+   
+
+.. method:: RoadRunner.integrate(t0, tf, options)
+   :module: RoadRunner
+
+   Carry out a single integration step using a stepsize as indicated in the method call.
+
+   :param t0: start time
+   :param tf: end time   
+   :param options: override current options
+
+
+.. py:function:: RoadRunner.plot(result, loc)
+   :module: RoadRunner
+   
+   Plot results from a simulation carried out by the simulate or gillespie functions. 
+  
+   To plot data currently held by roadrunner that was generated in the last simulation, use:
+   
+   >>> r.plot() 
+   
+   :param numpy.ndarray result: Data returned from a simulate or gillespie call
+   :param str loc: string representing the location of legend i.e. "upper right"
+
+
+.. py:function:: Roadrunner.getSimulationData()
+   :module: RoadRunner
+
+   Returns the array of simulated data. When simulation has not been run,
+   the function will return an empty array.
+
+
+
+Steady State
+---------------------
+
+.. class:: RoadRunner.steadyStateSolver
+   :module: RoadRunner
+   
+   RoadRunner.steadyStateSolver class.
+
+
+.. attribute:: RoadRunner.steadyStateSelections
+   :module: RoadRunner
+
+   A list of SelectionRecords which determine what values are used for 
+   a steady state calculation. This list may be set by assigning a list
+   of valid selection symbols::
+
+     >>> r.steadyStateSelections = ['S1', '[S2]', 'P1']
+     >>> r.steadyStateSelections
+     ['S1', '[S2]', 'P1']
+
+
+.. method:: RoadRunner.steadyState()
+   :module: RoadRunner
+
+   Attempts to evaluate the steady state for the model. The method returns
+   a value that indicates how close the solution is to the steady state.
+   The smaller the value the better. Values less than 1E-6 usually indicate a
+   steady state has been found. If necessary the method can be called a
+   second time to improve the solution.
+
+   :returns: the sum of squares of the steady state solution.
+
+   :rtype: double
+
+
+.. method:: RoadRunner.getSteadyStateValues()
+   :module: RoadRunner
+    
+   Performs a steady state calculation (evolves the system to a steady
+   state), then calculates and returns the set of values specified by
+   the steady state selections.
+
+   :returns: a numpy array corresponding to the values specified by steadyStateSelections
+
+   :rtype: numpy.ndarray
+   
+
+.. method:: RoadRunner.getSteadyStateSolver()
+   :module: RoadRunner
+   
+   Returns the steady state solver which is currently being used.   
+
+
+.. method:: RoadRunner.steadyStateSolverExists(name)
+   :module: RoadRunner   
+   
+   Checks whether a steady state solver exists.
+   
+   :param str name: name of a steady state solver
+   
+
+
+Metabolic control analysis
+--------------------------
+
+In the special case when an SBML model is a purely reaction kinetics model -- no rate rules, no
+assignment rules for chemical species, and time invariant stoichiometry, specialized analysis methods
+related to metabolic control analysis are applicable. These methods are described in this section. 
+
+
+.. method:: RoadRunner.getCC(variable, parameter)
+   :module: RoadRunner
+
+   Returns a scaled control coefficient with respect to a global parameter.
+   
+   For example::
+
+     rr.getCC ('J1', 'Vmax')
+     rr.getCC ('S1', 'Xo')
+     rr.getCC ('S2', 'Km')
+
+   The first returns a flux control coefficient with respect to flux J1. The second and third
+   return concentration control coefficients with respect to species S1 and S2.
+
+   :param variable: The id of a dependent variable of the coefficient, for example a
+                    reaction or species concentration.
+
+   :param parameter: The id of the independent parameter, for example a kinetic constant
+                     or boundary species
+
+   :returns: the value of the scaled control coefficient.
+
+   :rtype: double
+
+
+.. method:: RoadRunner.getuCC(variableId, parameterId)
+   :module: RoadRunner
+
+   Get unscaled control coefficient with respect to a global parameter.
+
+   :param variableId: The id of a dependent variable of the coefficient, for example a
+                    reaction or species concentration.
+
+   :param parameterId: The id of the independent parameter, for example a kinetic constant
+                     or boundary species
+					 
+   :returns: the value of the unscaled control coefficient.
+
+   :rtype: double
+					   
+.. method:: RoadRunner.getEE(reactionId, parameterId, steadyState=True)
+   :module: RoadRunner
+
+   Retrieve a single elasticity coefficient with respect to a global parameter.
+   
+   For example::
+
+     x = rr.getEE ('J1', 'Vmax')
+	 
+   calculates elasticity coefficient of reaction 'J1' with restpect to parameter 'Vmax'.
+
+   :param str variable: A reaction Id
+   :param str parameter: The independent parameter, for example a kinetic constant, floating or boundary species
+   :param Boolean steadyState: should the steady state value be computed.
+
+
+.. method:: RoadRunner.getuEE(reactionId, parameterId)
+   :module: RoadRunner
+
+   Get unscaled elasticity coefficient with respect to a global parameter or species.
+
+
+.. method:: RoadRunner.getEigenValueIds()
+   :module: RoadRunner
+
+   Returns a list of selection symbols for the eigenvalues of the floating species. The eigen value
+   selection symbol is ``eigen(XX)``, where ``XX`` is the floating species name. 
+
+   
+.. method:: RoadRunner.getFullEigenValues()
+   :module: RoadRunner
+
+
+   Calculates the eigen values of the Full Jacobian as a real matrix, first column real part, second
+   column imaginary part.
+
+   Note, only valid for pure reaction kinetics models (no rate rules, no floating species rules and
+   time invariant stoichiometry). 
+
+   :rtype: numpy.ndarray
+
+
+.. method:: RoadRunner.getReducedEigenValues()
+   :module: RoadRunner
+
+
+   Calculates the eigen values of the Reduced Jacobian as a real matrix, first column real part, second
+   column imaginary part.
+
+   Only valid if moiety conversion is enabled. 
+
+   Note, only valid for pure reaction kinetics models (no rate rules, no floating species rules and
+   time invariant stoichiometry). 
+
+   :rtype: numpy.ndarray
+
+
+.. method:: RoadRunner.getFullJacobian()
+   :module: RoadRunner
+
+   Compute the full Jacobian at the current operating point.
+
+   This is the Jacobian of ONLY the floating species.
+
+
+.. method:: RoadRunner.getReducedJacobian()
+   :module: RoadRunner
+
+   Returns the *reduced* Jacobian for the independent species. This matrix will be non-singular
+   for models that include moiety-conserved cycles.
+
+   :rtype: numpy.ndarray
+
+
+
+
+.. method:: RoadRunner.getScaledConcentrationControlCoefficientMatrix()
+   :module: RoadRunner
+
+   Returns the m by n matrix of scaled concentration control coefficients where m is the number
+   of floating species and n the number of reactions.
+
+   :rtype: numpy.ndarray
+
+
+.. method:: RoadRunner.getScaledFloatingSpeciesElasticity(reactionId, speciesId)
+   :module: RoadRunner
+
+   Returns the scaled elasticity for a given reaction and given species.
+
+   :param str reactionId: the SBML id of a reaction.
+   :param str speciesId: the SBML id of a species.
+   :rtype: double
+
+
+.. method:: RoadRunner.getUnscaledParameterElasticity(reactionId, parameterId)
+   :module: RoadRunner
+
+   Returns the unscaled elasticity for a named reaction with respect to a
+   named parameter
+     
+   :param str reactionId: the SBML id of a reaction.
+   :param str parameterId: the SBML id of a parameter.
+   :rtype: double
+
+
+.. method:: RoadRunner.getUnscaledConcentrationControlCoefficientMatrix()
+   :module: RoadRunner
+
+   Returns the unscaled concentration control coefficient matrix.
+
+
+.. method:: RoadRunner.getUnscaledElasticityMatrix()
+   :module: RoadRunner
+
+   Returns the unscaled species elasticity matrix at the current operating point.
+
+
+.. method:: RoadRunner.getUnscaledFluxControlCoefficientMatrix()
+   :module: RoadRunner
+
+   Returns the unscaled flux control coefficient matrix.
+
+
+.. method:: RoadRunner.getUnscaledSpeciesElasticity(reactionIndx, speciesIndx)
+   :module: RoadRunner
+
+   Get a single species elasticity value. 
+
+
+   :param int reactionIndx: index of reaction
+   :param int speciesIndx: index of species.
+
+
+.. method:: RoadRunner.getScaledFluxControlCoefficientMatrix()
+   :module: RoadRunner
+
+   Returns the n by n matrix of scaled flux control coefficients where n is the number of reactions.
+
+   :rtype: numpy.ndarray
+
+
+
+.. method:: RoadRunner.getScaledElasticityMatrix()
+   :module: RoadRunner
+
+   Returns the scaled elasticity matrix at the current operating point.
+
+   :rtype: numpy.ndarray
+   
+
+.. method:: RoadRunner.getDiffStepSize()
+   :module: RoadRunner
+
+   Returns the differential step size used in routines such as :meth:`getCC()`.
+   
+
+.. method:: RoadRunner.setDiffStepSize(val)
+   :module: RoadRunner
+
+   Sets the differential step size used in routines such as :meth:`getCC()`.
+   
+   :param val: differential step size
+   
+   
+.. method:: RoadRunner.getSteadyStateThreshold()
+   :module: RoadRunner
+   
+   Returns the threshold used in steady state solver in routines such as :meth:`getCC()`.
+
+
+.. method:: RoadRunner.setSteadyStateThreshold(val)
+   :module: RoadRunner
+   
+   Sets the threshold used in steady state solver in routines such as :meth:`getCC()`.   
+
+   :param val: threshold value
+   
+   
+
+Stoichiometric Analysis
+-----------------------
+
+.. method:: RoadRunner.getFullStoichiometryMatrix()
+   :module: RoadRunner
+
+
+   Get the stoichiometry matrix that coresponds to the full model, even it
+   it was converted via conservation conversion.
+
+
+.. method:: RoadRunner.getReducedStoichiometryMatrix()
+   :module: RoadRunner
+
+   Get the reduced stochiometry matrix. If conservation conversion is enabled,
+   this is the matrix that coresponds to the independent species.
+
+   A synonym for getNrMatrix().
+
+
+
+.. method:: RoadRunner.getConservationMatrix()
+   :module: RoadRunner
+
+   Returns a conservation matrix :math:`\Gamma` which is a :math:`c \times m` matrix
+   where :math:`c` is the number of conservation laws and :math:`m` the number of species.
+
+
+
+.. method:: RoadRunner.getL0Matrix()
+   :module: RoadRunner
+
+   Returns the L0 matrix for the current model. The L0 matrix is an (m-r) by r matrix that expresses
+   the dependent reaction rates in terms of the independent rates. m is the number of floating species
+   and r is the rank of the stoichiometry matrix.
+
+   :rtype: numpy.ndarray
+
+
+
+.. method:: RoadRunner.getLinkMatrix()
+   :module: RoadRunner
+
+   Returns the full link matrix, L for the current model. The Link matrix is an m by r matrix where m
+   is the number of floating species and r the rank of the stoichiometric matrix, N.
+
+   :rtype: numpy.ndarray
+
+.. method:: RoadRunner.getNrMatrix()
+   :module: RoadRunner
+
+   Returns the reduced stoichiometry matrix, :math:`N_R`, which will have only r rows where r is the rank of
+   the full stoichiometry matrix. The matrix will be reordered such that the rows of :math:`N_R` are independent.
+
+   :rtype: numpy.ndarray
+
+
+.. method:: RoadRunner.getKMatrix()
+   :module: RoadRunner
+
+   Returns the K matrix, :math:`ker(N_R)`, (right nullspace of Nr)
+   The K matrix has the structure, :math:`[I K0]'`
+
+   :rtype: numpy.ndarray
+
+
+Analysis
+--------
+
+.. method:: RoadRunner.getFrequencyResponse(startFrequency, numberOfDecades, numberOfPoints, parameterName, variableName, useDB, useHz)
+   :module: RoadRunner
+
+   Computes the frequency response.
+
+   :rtype: numpy.ndarray
diff --git a/wrappers/Python/doc/mod_roadrunner/cls_SelectionRecord.rst b/wrappers/Python/doc/mod_roadrunner/cls_SelectionRecord.rst
new file mode 100644
index 0000000..840d73a
--- /dev/null
+++ b/wrappers/Python/doc/mod_roadrunner/cls_SelectionRecord.rst
@@ -0,0 +1,171 @@
+SelectionRecord
+_______________
+
+.. class:: SelectionRecord(str)
+   :module: roadrunner
+
+   RoadRunner provides a range of flexible ways of selecting values from
+   a simulation. These values can not only be calculated directly via
+   RoadRunner.getSelectionValue, but any of these selections can be
+   used as columns in the simulate result matrix.
+
+   The SectionRecord.selectionType should be one of the constants listed
+   here.
+
+   p1 and p2 may be required along with the attribute to set certain selection types that use one or more arguments.
+   
+   Below is the list of attributes which are FOR ADVANCED USERS ONLY. For simplified usage, refer to :ref:`Selecting Values <selecting-values>`.
+   
+
+.. method::SelectionRecord.__init__(str)
+   Create a new selection record. This constructor really should not be called,
+   SelectionRecords should be created by the RoadRunner.createSelection
+
+.. attribute:: SelectionRecord.ALL
+
+.. attribute:: SelectionRecord.ALL_DEPENDENT
+
+.. attribute:: SelectionRecord.ALL_DEPENDENT_AMOUNT
+
+.. attribute:: SelectionRecord.ALL_DEPENDENT_CONCENTRATION
+
+.. attribute:: SelectionRecord.ALL_INDEPENDENT
+
+.. attribute:: SelectionRecord.ALL_INDEPENDENT_AMOUNT
+
+.. attribute:: SelectionRecord.ALL_INDEPENDENT_CONCENTRATION
+
+.. attribute:: SelectionRecord.AMOUNT
+
+   species must have either a CONCENTRATION or AMOUNT
+   modifer to distinguish it.
+
+.. attribute:: SelectionRecord.BOUNDARY
+
+   species must have either a BOUNDARY or FLOATING modifiers.
+
+.. attribute:: SelectionRecord.BOUNDARY_AMOUNT   
+
+   species must have either a BOUNDARY or FLOATING modifiers.
+
+.. attribute:: SelectionRecord.BOUNDARY_CONCENTRATION
+
+   species must have either a BOUNDARY or FLOATING modifiers.
+   
+.. attribute:: SelectionRecord._COMPARTMENT
+
+   Compartments and parameters can be either current or initial values. These values with and underscore, '_' are intended to be used with either an CURRENT or INITIAL value modifier.
+
+.. attribute:: SelectionRecord.COMPARTMENT
+
+   the current compartment value   
+   
+.. attribute:: SelectionRecord.CONCENTRATION
+
+   species must have either a CONCENTRATION or AMOUNT
+   modifer to distinguish it.
+
+.. attribute:: SelectionRecord.CONSREVED_MOIETY   
+   
+.. attribute:: SelectionRecord.CONTROL   
+
+   scaled control coefficient of designated arguments.
+   
+.. attribute:: SelectionRecord.CURRENT
+
+.. attribute:: SelectionRecord.DEPENDENT
+
+.. attribute:: SelectionRecord.EIGENVALUE
+
+   real part of eigenvalue of designated identifier.
+
+.. attribute:: SelectionRecord.EIGENVALUE_COMPLEX
+
+   complex part of eigenvalue of designated identifier.
+
+.. attribute:: SelectionRecord.ELASTICITY
+
+   scaled elasticity coefficient of designated arguments.
+
+.. attribute:: SelectionRecord.ELEMENT
+
+.. attribute:: SelectionRecord.FLOATING
+
+.. attribute:: SelectionRecord.FLOATING_AMOUNT
+
+   current amounts.
+
+.. attribute:: SelectionRecord.FLOATING_AMOUNT_RATE
+
+.. attribute:: SelectionRecord.FLOATING_CONCENTRATION
+
+   current concentrations.
+
+.. attribute:: SelectionRecord.FLOATING_CONCENTRATION_RATE
+
+.. attribute:: SelectionRecord.GLOBAL_PARAMETER
+
+   the current global parameter value
+
+.. attribute:: SelectionRecord.INDEPENDENT
+
+.. attribute:: SelectionRecord.INITIAL
+
+.. attribute:: SelectionRecord.INITIAL_FLOATING_AMOUNT
+
+   initial amount of designated identifier.
+
+.. attribute:: SelectionRecord.INITIAL_FLOATING_CONCENTRATION
+
+   initial concentration of designated identifier.
+
+.. attribute:: SelectionRecord.RATE
+
+.. attribute:: SelectionRecord.REACTION
+
+.. attribute:: SelectionRecord.REACTION_RATE
+
+.. attribute:: SelectionRecord.STOICHIOMETRY
+
+   stoichiometric coefficient of designated identifier and reaction.
+
+.. attribute:: SelectionRecord.TIME
+
+.. attribute:: SelectionRecord.UNKNOWN
+
+.. attribute:: SelectionRecord.UNKNOWN_CONCENTRATION
+
+.. attribute:: SelectionRecord.UNKNOWN_ELEMENT
+
+.. attribute:: SelectionRecord.UNSCALED
+
+.. attribute:: SelectionRecord.UNSCALED_CONTROL
+
+   unscaled control coefficient of designated arguments.
+
+.. attribute:: SelectionRecord.UNSCALED_ELASTICITY
+
+   unscaled elasticity coefficient of designated arguments.
+
+.. attribute:: SelectionRecord.index
+   :module: RoadRunner
+   :annotation: int
+
+
+.. attribute:: SelectionRecord.p1
+   :module: RoadRunner
+   :annotation: str
+
+   first of the arguments
+
+.. attribute:: SelectionRecord.p2
+   :module: RoadRunner
+   :annotation: str
+   
+   second of the arguments
+
+
+.. attribute:: SelectionRecord.selectionType
+   :module: RoadRunner
+   :annotation: int
+
diff --git a/wrappers/Python/doc/mod_roadrunner/cls_Solver.rst b/wrappers/Python/doc/mod_roadrunner/cls_Solver.rst
new file mode 100644
index 0000000..0a3b10a
--- /dev/null
+++ b/wrappers/Python/doc/mod_roadrunner/cls_Solver.rst
@@ -0,0 +1,191 @@
+Solver Class
+_________________________
+
+.. class:: roadrunner.Solver
+
+   Following functions are supported for given solver instance.
+   Keep in mind some of the settings are only supported for certain types of integrators.
+
+
+.. method:: Solver.getName()
+
+   Returns the name of this solver
+   
+   
+.. method:: Solver.getDescription(key)
+
+   If key = None,  returns description of this solver.
+   Else, returns the description associated with a given key.
+   
+   :param str key: settings name
+   
+   
+.. method:: Solver.getHint(key)
+
+   If key = None,  returns a (user-readable) hint for this solver.
+   Else, Returns the hint associated with a given key.
+   
+   :param str key: settings name
+   
+   
+.. method:: Solver.getSettings()
+
+   Returns a list of all settings for this solver.
+
+   
+.. method:: Solver.resetSettings()
+
+   Reset all settings to their respective default values.
+
+   
+.. method:: Solver.getValue(key)
+
+   Get the value of an integrator setting.
+   
+   :param str key: settings name
+
+   
+.. method:: Solver.hasValue(key)
+
+   Return true if this setting is supported by the integrator.
+   
+   :param str key: settings name
+   
+.. method:: Solver.getNumParams()
+
+   Get the number of parameters.
+
+   
+.. method:: Solver.getParamName(n)
+
+   Get the display name of the parameter at index n.
+   
+   :param int n: index of parameter
+   
+   
+.. method:: Solver.getParamHint(n)
+
+   Get the hint of the parameter at index n.
+   
+   :param int n: index of parameter
+   
+   
+.. method:: Solver.getParamDesc(n)
+
+   Get the description of the parameter at index n
+
+   :param int n: index of parameter
+   
+   
+.. method:: Solver.getValueAsInt(key)
+
+   Wrapper for :meth:`Solver.getValue()` which converts output to a specific type
+   
+   :param str key: settings name
+   
+   
+.. method:: Solver.getValueAsUInt(key)
+
+   Wrapper for :meth:`Solver.getValue()` which converts output to a specific type
+   
+   :param str key: settings name   
+   
+   
+.. method:: Solver.getValueAsLong(key)
+
+   Wrapper for :meth:`Solver.getValue()` which converts output to a specific type
+   
+   :param str key: settings name
+
+   
+.. method:: Solver.getValueAsULong(key)
+
+   Wrapper for :meth:`Solver.getValue()` which converts output to a specific type
+   
+   :param str key: settings name
+   
+   
+.. method:: Solver.getValueAsFloat(key)
+
+   Wrapper for :meth:`Solver.getValue()` which converts output to a specific type
+   
+   :param str key: settings name   
+   
+
+.. method:: Solver.getValueAsDouble(key)
+
+   Wrapper for :meth:`Solver.getValue()` which converts output to a specific type
+   
+   :param str key: settings name   
+
+
+.. method:: Solver.getValueAsChar(key)
+
+   Wrapper for :meth:`Solver.getValue()` which converts output to a specific type
+   
+   :param str key: settings name   
+   
+   
+.. method:: Solver.getValueAsUChar(key)
+
+   Wrapper for :meth:`Solver.getValue()` which converts output to a specific type
+   
+   :param str key: settings name   
+  
+   
+.. method:: Solver.getValueAsString(key)
+
+   Wrapper for :meth:`Solver.getValue()` which converts output to a specific type
+   
+   :param str key: settings name      
+   
+   
+.. method:: Solver.getValueAsBool(key)
+
+   Wrapper for :meth:`Solver.getValue()` which converts output to a specific type
+   
+   :param str key: settings name   
+   
+   
+.. method:: Solver.setValue(key, value)
+
+   Sets value of a specific setting.
+   
+   :param str key: settings name      
+   :param const value: value of the setting
+   
+   
+.. method:: Solver.getDisplayName(key)
+
+   Returns display name of given key.
+   
+   :param str key: settings name   
+   
+
+.. method:: Solver.getType(key)
+
+   Returns the type associated with a given key.
+   
+   :param str key: settings name 
+   
+
+.. method:: Solver.getSettingsRepr()
+
+   Returns the solver settings as a string.
+
+
+.. method:: Solver.settingsPyDictRepr()
+
+   Returns Python dictionary-style string representation of settings.
+   
+   
+.. method:: Solver.toString()
+
+   Return a string representation of the solver.
+   
+   
+.. method:: Solver.toRepr()
+
+   Return string representation a la Python __repr__ method.
+   
+   
\ No newline at end of file
diff --git a/wrappers/Python/doc/mod_roadrunner/mod_roadrunner.rst b/wrappers/Python/doc/mod_roadrunner/mod_roadrunner.rst
new file mode 100644
index 0000000..e69de29
diff --git a/wrappers/Python/doc/read_write_functions.rst b/wrappers/Python/doc/read_write_functions.rst
new file mode 100644
index 0000000..a036086
--- /dev/null
+++ b/wrappers/Python/doc/read_write_functions.rst
@@ -0,0 +1,15 @@
+*************************
+SBML Read/Write Functions
+*************************
+
+.. currentmodule:: RoadRunner
+
+Use the following methods to read and write models in the form of SBML.
+
+.. autosummary::
+
+   RoadRunner.load
+   RoadRunner.getCurrentSBML 
+   RoadRunner.getSBML
+
+   
\ No newline at end of file
diff --git a/wrappers/Python/doc/selecting_values.rst b/wrappers/Python/doc/selecting_values.rst
new file mode 100644
index 0000000..2f33ffa
--- /dev/null
+++ b/wrappers/Python/doc/selecting_values.rst
@@ -0,0 +1,139 @@
+.. _selecting-values:
+
+****************
+Selecting Values
+****************
+
+.. currentmodule:: RoadRunner
+
+RoadRunner supports wide range of options for selecting SBML and derivative values. Selections can
+be used to either retrieve or store values. We define SBML values as any element
+specified in the original SBML document, whereas derivative values are a function of one or more
+SBML values. As these functions typically have no inverse, these are read only selections.
+
+Selections are used a number of RoadRunner methods. They are used to determine what columns are
+selected in a simulation result and can also be used to directly select model values. 
+
+Selection syntax
+________________
+The selection syntax is case sensitive (SBML elements are case sensitive), however it ignores all
+white space. 
+
+Selection Types:
+
+Time: ``time``
+    The string ``time`` is interpreted as the current model time. 
+
+Identifier 
+    Any continuous sequence of printing characters is treated as an SBML identifier with
+    the exception of ``time``, i.e. ``S1``, ``P1``, ``J0_Keq1``, ``compartment``, etc. 
+    These have to be valid SBML identifiers. If no SBML identifier is found, an exception is raised. 
+    Note that if the identifier is a chemical species, it is interpreted as the species amount. 
+
+Concentration : ``[]``
+    Following generally accepted chemical nomenclature, any continuous sequence of characters inside 
+    a pair of squared brackets, ``[]`` is interpreted as a concentration, i.e. ``[S1]``, ``[S2]``, etc. 
+    The identifier must be a valid SBML species, otherwise an exception is raised. 
+
+Rates of Change: ``'``
+    Represents the rate of change, :math:`\frac{dy}{dt}` of a species amount. Rates of change
+    selections follow generally accepted mathematical convention of using the single quote, ``'`` 
+    to represent a time derivative. A rate of change selection is any identifier followed by a
+    single quote, i.e. ``S1'``, ``S2'``, ``P1'``, etc. A rates of change selection
+    is also valid for SBML elements which are defined by rate rules. 
+
+Elasticity: ``ee(ReactionId, ParameterId)``
+    Represents elasticity slection in the form of ``ee(ReactionId, ParameterId)`` where ``ReactionId`` is a reaction name
+    and ``ParameterId`` is a global parameter id. This selection intentionally has a function form, it
+    selects the elasticity control coefficient, :meth:`~RoadRunner.getEE`
+
+Unscaled Elasticity: ``uee(ReactionId, ParameterId)``
+    Represents unscaled elasticity slection in the form of ``uee(ReactionId, ParameterId)`` where ``ReactionId`` 
+    is a reaction name and ``ParameterId`` is a global parameter id. This selection intentionally has a function form, it
+    selects the elasticity control coefficient, :meth:`~RoadRunner.getuEE`
+
+Control Coefficient: ``cc(Id, ParameterId)``
+    Represents control coefficient selection in the form of ``cc(Id, ParameterId)`` where ``Id`` is
+    a flux or species name and ``ParameterId`` is a global parameter id. The string ``Id`` and ``ParameterId`` 
+    must be valid arguments	for :meth:`~RoadRunner.getCC`. This selection intentionally has a function form, it 
+    selects the elasticity control coefficient, :meth:`~RoadRunner.getCC`
+
+Unscaled Control Coefficient: ``ucc(Id, ParameterId)``
+    Represents unscaled control coefficient selections in the form of ``ucc(Id, ParameterId)`` where `Id`` is
+    a flux or species name and ``ParameterId`` is a global parameter id. The string ``Id`` and ``ParameterId`` 
+    must be valid arguments for :meth:`~RoadRunner.getuCC`. This selection intentionally has a function form, it
+    selects the unscaled elasticity control coefficient, :meth:`~RoadRunner.getuCC`
+
+Eigenvalue: ``eigenReal()``, ``eigenImag()`` 
+    Represents the eigenvalue of a floating species. ``eigenReal(identifier)`` is the real part of eigenvalue while
+    ``eigenImag(identifier)`` is the imaginary part of eigenvalue.
+
+Initial Value: ``init()``
+    Represents the initial value of an identifier specified in the SBML document, i.e. ``init(S1)``.
+
+Stoichiometry: ``stoich(ParameterId, ReactionId)``
+    Represents the stoichiometric coefficient for a given species and reaction.
+
+Experimenting With Selections
+-----------------------------
+One might try individual selection string using the :meth:`~roadrunner.RoadRunner.getValue()` method. This
+takes a selection string, determines if it is valid, and returns the value it selects. For example::
+
+
+    >>> rr.getValue("cc(S1, J4_KS4)")
+    -0.42955738179207886
+
+Even though they are almost always specified by a string, RoadRunner selections are actually
+objects. One can create a selection object using :meth:`~roadrunner.RoadRunner.createSelection()`. In
+order to see extended information about the selection, try::
+
+    >>> sel = rr.createSelection("cc(S1, J4_KS4)")
+    >>> sel
+    SelectionRecord({'index' : -1, 'p1' : 'S1', 'p2' : 'J4_KS4', 'selectionType' : CONTROL})
+
+We can see that this is a CONTROL record. 
+
+It is also possible to modify the simulation selection list by deleting existing items and adding
+new ones created with :meth:`~roadrunner.RoadRunner.createSelection()`. If someone has does not want to display
+the concentration of species ``S2`` and instead wants to display the rate of change of species
+``S1``, try::
+
+    >>> rr.timeCourseSelections
+    ["time", "[S1]", "[S2]", "[S3]", "[S4]"]
+
+    >>> sel = rr.createSelection("S1'")
+    >>> rr.timeCourseSelections[2] = sel
+    >>> rr.timeCourseSelections
+    ["time", "[S1]", "S1'", "[S3]", "[S4]"]
+
+Even though the selection list intentionally appears as a list of strings, it is actually a list of
+selection objects. So, elements that are inserted or appended to this list must be selection objects
+created by :meth:`~roadrunner.RoadRunner.createSelection()`.
+
+
+
+Selecting Simulation Results
+----------------------------
+The columns of the RoadRunner simulation results are determined by the :attr:`~RoadRunner.timeCourseSelections` 
+property. This is a list of what values will be displayed in the result, and can be set simply by::
+
+    >>>  rr.timeCourseSelections = ['time', '[S1]', 'S1', "S1'"]
+
+This example selects the columns ``time``, concentration of ``S1``, amount of ``S1``, and rate of change
+of ``S1``. One may also have derivative values in the simulation selection, for example, if one
+wanted to plot the elasticity of a particular reaction ``J1``::
+
+    >>>  rr.timeCourseSelections = ['time', '[S1]', "ee(J1, P1)"]
+
+
+
+Methods and properties which accept selections
+______________________________________________
+
+.. autosummary::
+
+   ExecutableModel.__getitem__
+   ExecutableModel.__setitem__
+
+
+
diff --git a/wrappers/Python/doc/stability.rst b/wrappers/Python/doc/stability.rst
new file mode 100644
index 0000000..800d29d
--- /dev/null
+++ b/wrappers/Python/doc/stability.rst
@@ -0,0 +1,24 @@
+******************
+Stability Analysis
+******************
+
+.. currentmodule:: RoadRunner
+
+The stability of a biochemical system is determined by the eigenvalues of the Jacobian matrix. Given 
+:math:`m` floating species and :math:`n` reactions, the Jacobian matrix is defined as follows:
+
+
+.. math::
+
+     J=\begin{bmatrix} \dfrac{\partial F_1}{\partial S_1} & \cdots & \dfrac{\partial F_1}{\partial S_m} \\ 
+     \vdots & \ddots & \vdots \\ \dfrac{\partial F_n}{\partial S_1} & \cdots & \dfrac{\partial F_n}{\partial S_m}  
+     \end{bmatrix}
+
+where :math:`F_i` is the ith differential equation and :math:`S_i` the ith floating species. From RoadRunner it is easy to obtain the Jacobian matrix using :meth:`~RoadRunner.getFullJacobian`, i.e.::
+
+    Jac = rr.getFullJacobian()
+
+which returns the Jacobian matrix in the variable Jac.
+
+It is possible for full Jacobian to be singular. In these situations one should call the related method, :meth:`~RoadRunner.getReducedJacobian`.
+
diff --git a/wrappers/Python/doc/steady_state.rst b/wrappers/Python/doc/steady_state.rst
new file mode 100644
index 0000000..930e9af
--- /dev/null
+++ b/wrappers/Python/doc/steady_state.rst
@@ -0,0 +1,46 @@
+*********************
+Steady State Analysis
+*********************
+
+.. currentmodule:: RoadRunner
+
+The dynamics of a biochemical network is described by the system equation
+
+.. math::
+
+   \frac{d}{dt}\mathbf{s}(t) = \mathbf{N} \mathbf{v}(\mathbf{s}(t),\mathbf{p},t), 
+
+where :math:`\mathbf{s}` is the vector of species concentrations, :math:`\mathbf{p}` 
+is a vector of time independent parameters, and :math:`t` is time. The steady state is the solution to
+the network equations when all the rates of change are zero. That is the concentrations of the floating
+species, :math:`\mathbf{s}` that satisfy:
+
+.. math::
+
+   \mathbf{N} \mathbf{v}(\mathbf{s}(t),\mathbf{p},t) = 0 
+   
+The steady state is easily calculated using the steady state method:
+
+    >>> rr.steadyState()
+    1.234567E-9
+    
+The call to ``steadyState`` returns a value that represents the sum of squares of the rates of change. Therefore the
+smaller this value the more likely the steady state solution has been found. Often a value less that 10E-6 indicates
+a steady state has been found. After a successful call all the species levels will be at their steady state values.
+
+Steady state values can be obtained using :meth:`~RoadRunner.getSteadyStateValues` and :meth:`~RoadRunner.steadyStateSelections` can be used to 
+decide what values to return. For example the following would retrieve a single value:
+
+     >>> rr.steadyStateSelections = ['S1']
+     >>> rr.getSteadyStateValues()
+     array([ 0.54314239])
+
+
+The following methods deal with steady state analysis:
+
+.. autosummary::
+
+   RoadRunner.steadyStateSelections
+   RoadRunner.steadyState
+   RoadRunner.getSteadyStateValues
+   
diff --git a/wrappers/Python/doc/stochastic.rst b/wrappers/Python/doc/stochastic.rst
new file mode 100644
index 0000000..3459da7
--- /dev/null
+++ b/wrappers/Python/doc/stochastic.rst
@@ -0,0 +1,41 @@
+*********************
+Stochastic Simulation
+*********************
+
+.. currentmodule:: RoadRunner
+
+RoadRunner supports stochastic simulation through the use of Gillespie algorithm, which is a variation of
+Monte Carlo method.
+
+To set the current instance of RoadRunner to use the Gillespie solver, try:
+
+     >>>  rr.setIntegrator('gillespie')
+	 
+RoadRunner also supports a simplified method to run Gillespie solver through :meth:`~RoadRunner.gillespie`. 
+
+One of the important component of stochastic simulation is setting the seed. Random number genetration in 
+computers are known to be 'pseudo-random', meaning it can only 'approximate' randomness. Seed is an initial 
+key value for generating a sequence of numbers. This means that when a seed is given, it is possible to 
+regenerate identical sequence of numbers from random number generator. This might be desireable for reproducibility
+perposes but undesireable for multiple iterations of random number creation.
+
+By using :meth:`~roadrunner.Solver.getSettings`, you can check settings accepted by Gillespie solver.
+
+     >>>  rr.getIntegrator().getSettings()
+     ('seed',
+      'variable_step_size',
+      'initial_time_step',
+      'minimum_time_step',
+      'maximum_time_step',
+      'nonnegative')
+
+For information on what the settings represent, try :meth:`~roadrunner.Solver.getDescription`.
+Check :ref:`roadrunner-solver` for additional information.
+	  
+The following methods deal with stochastic simulation:
+
+.. autosummary::
+
+   RoadRunner.gillespie
+
+   
diff --git a/wrappers/Python/doc/stoichiometric.rst b/wrappers/Python/doc/stoichiometric.rst
new file mode 100644
index 0000000..f28a333
--- /dev/null
+++ b/wrappers/Python/doc/stoichiometric.rst
@@ -0,0 +1,67 @@
+.. currentmodule:: RoadRunner
+
+***********************
+Stoichiometric Analysis
+***********************
+
+Preliminaries
+-------------
+
+A network of :math:`m` chemical species and :math:`n` reactions can be described by the
+:math:`m` by :math:`n` stochiometry matrix :math:`\mathbf{N}`. :math:`\mathbf{N}_{i,j}` is the net number of  
+species :math:`i` produced or consumed in reaction :math:`j`.  The dynamics of the network are
+described by 
+
+.. math::
+
+   \frac{d}{dt}\mathbf{s}(t) = \mathbf{N} \mathbf{v}(\mathbf{s}(t),\mathbf{p},t), 
+
+where :math:`\mathbf{s}` is the vector of species concentrations, :math:`\mathbf{p}` 
+is a vector of time independent parameters, and :math:`t` is time.
+
+Each structural conservation, or interchangably, *conserved sum* (e.g. conserved moiety) in 
+the network coresponds to a lineraly dependent row in the stoichiometry matrix :math:`\mathbf{N}`.
+
+If there are conserved sums, then the row rank, :math:`r` of :math:`N` is :math:`< m`, and 
+the stochiometry matrix :math:`N` may first be re-ordered such that the first :math:`r` are linearly
+independent, and the remaining :math:`m-r` rows are linear combinations of the first :math:`r`
+rows. The *reduced stochiometry matrix* :math:`\mathbf{N_R}` is then formed from the first
+:math:`r` rows of :math:`N`. Finally, :math:`N` may be expressed as a product of the :math:`m \times r`
+*link matrix* :math:`\mathbf{L}` and the :math:`r \times n` :math:`\mathbf{N_R}` matrix: 
+
+.. math::
+
+   \mathbf{N} = \mathbf{L}\mathbf{N_R}.
+
+The link matrix :math:`\mathbf{L}` has the form
+
+.. math::
+
+   \mathbf{L} = \left[ \begin{array}{c}
+                       \mathbf{I}_{r} \\
+                       \mathbf{L}_0    \end{array} \right],
+
+where :math:`\mathbf{I}_{r}` is the :math:`r \times r` identity matrix and :math:`\mathbf{L}_0` is a :math:`(m-r) \times r`
+matrix.
+
+Methods
+-------
+
+The following methods are related to the analysis of the stoichiometric matrix.
+
+.. autosummary::
+
+   RoadRunner.getLinkMatrix
+   RoadRunner.getNrMatrix
+   RoadRunner.getKMatrix
+   RoadRunner.getConservationMatrix
+   RoadRunner.getL0Matrix
+   RoadRunner.getFullStoichiometryMatrix
+   RoadRunner.getReducedStoichiometryMatrix
+   ExecutableModel.getNumConservedMoieties
+   ExecutableModel.getConservedMoietyIds
+   ExecutableModel.getConservedMoietyValues
+   ExecutableModel.setConservedMoietyValues
+
+
+
diff --git a/wrappers/Python/doc/swigdoc.py b/wrappers/Python/doc/swigdoc.py
new file mode 100644
index 0000000..200c931
--- /dev/null
+++ b/wrappers/Python/doc/swigdoc.py
@@ -0,0 +1,132 @@
+import re
+
+def listDocMethods(fnames=None):
+    """
+    Go through a list of file names and extract all of the doc strings.
+
+    Returns a dictionary of class names and method names.
+    """
+
+    methods = {}
+
+    regstr = """^\s*\.\.\s*(attribute|method|staticmethod)::\s*(\w+)\.(\w+)"""
+
+    r = re.compile(regstr)
+
+    if not fnames:
+        fnames = listRoadRunnerModFiles()
+
+    for fname in fnames:
+        with open(fname, "r") as f:
+            for line in f.readlines():
+                match = r.match(line)
+                if match:
+                    obj = match.group(2)
+                    mthd = match.group(3)
+                    if not methods.has_key(obj):
+                        methods[obj] = []
+                    mthds = methods[obj]
+                    mthds.append(mthd)
+
+    return methods
+
+def listRoadRunnerModFiles():
+    """
+    list all the doc files that make up the roadrunner package docs.
+    """
+
+    import os.path as path
+    import glob
+
+    dname = path.dirname(path.abspath(__file__))
+
+    moddir = path.join("mod_roadrunner")
+
+    glb = path.join(moddir, "*.rst")
+
+    return glob.glob(glb)
+
+def listRoadRunnerMethods(clsNames):
+    """
+    list the methods in the roadrunner package.
+
+    :param: methods: a dictionary whose keys will be the names of all the
+    roadrunner objects to list methods off of. 
+    """
+
+    import roadrunner as rr
+
+    methods = {}
+
+    privRe = re.compile("""_\w+""")
+    
+    for cls in clsNames:
+        mthds = eval("dir(rr." + cls + ")")
+        mthds = [x for x in mthds if x not in _rr_excludes and not privRe.match(x)]
+        methods[cls] = mthds
+
+    return methods
+
+def compareDocsToRoadRunnerModule(fnames=None):
+    """
+    compare the methods in the roadrunner module to the documented 
+    methods, warn if different.
+    """
+
+    docmthds = listDocMethods(fnames)
+    rrmthds = listRoadRunnerMethods(docmthds.keys())
+
+    for item in rrmthds.items():
+        obj = item[0]
+        rrmthd = item[1]
+        docmthd = docmthds[obj]
+
+        for mthd in rrmthd:
+            if docmthd.count(mthd) == 0:
+                print("RoadRunner method " + obj + "." + mthd + " is not documented")
+
+
+    for item in docmthds.items():
+        obj = item[0]
+        docmthd = item[1]
+        rrmthd = rrmthds[obj]
+
+        for mthd in docmthd:
+            if rrmthd.count(mthd) == 0:
+                print("Documented method " + obj + "." + mthd + " does not exist in RoadRunner module")
+
+
+    
+# do not include these roadrunner package methods
+_rr_excludes = [
+    "__class__",
+    "__del__", 
+    "__delattr__",
+    "__dict__", 
+    "__doc__",
+    "__format__", 
+    "__getattr__",
+    "__getattribute__", 
+    "__hash__",
+    "__init__", 
+    "__module__",
+    "__new__", 
+    "__reduce__",
+    "__reduce_ex__", 
+    "__repr__",
+    "__setattr__", 
+    "__sizeof__",
+    "__str__", 
+    "__subclasshook__",
+    "__swig_destroy__", 
+    "__swig_getmethods__",
+    "__swig_setmethods__", 
+    "__weakref__"]
+                
+        
+        
+        
+
+
+                    
+
diff --git a/wrappers/Python/doc/using_roadrunner.rst b/wrappers/Python/doc/using_roadrunner.rst
new file mode 100644
index 0000000..d22db8a
--- /dev/null
+++ b/wrappers/Python/doc/using_roadrunner.rst
@@ -0,0 +1,373 @@
+**************
+Basic Tutorial
+**************
+
+.. currentmodule:: RoadRunner
+
+Import RoadRunner
+-----------------
+
+To startup RoadRunner use the commands at the Python prompt::
+
+   import roadrunner
+   rr = roadrunner.RoadRunner()
+
+The variable ``rr`` is your reference to roadrunner. Anything you want to do with roadrunner must be
+specified using the variable ``rr``.
+
+To get the current version of libRoadRunner type the following::
+
+   roadrunner.__version__
+
+.. _loading-models:
+
+Loading Models
+--------------
+
+RoadRunner reads models using the SBML format. If you have a SBML model stored on your hard drive, it is
+possible to load that model either by giving he document contents or path to the Roadrunner
+constructor, or later by using the method, :meth:`~RoadRunner.load()`. Let's assume you have a model called
+mymodel.xml in ``C:\MyModels``. To load this model in **Windows** we would use the command::
+
+   rr = roadrunner.RoadRunner("C:/MyModels/mymodel.xml")
+
+Note, Windows typically used the back slash, '\\' to indicate a directory separator, however in
+most languages including python, this is the escape character, therefore one can also enter Windows
+paths using the forward slash '/' which does not cause issues. If one want to use the backslash,
+these must be typed twice, i.e. ``'C:\\MyModels\\mymodel.xml'``.
+
+On the **Mac or Linux** we might use::
+
+   rr = roadrunner.RoadRunner("/home/MyModels/mymodel.xml")
+
+RoadRunner can also load models directly from a URL via::
+
+   rr = roadrunner.RoadRunner("http://www.ebi.ac.uk/biomodels-main/download?mid=BIOMD0000000010")
+
+If the model was loaded successfully, the RoadRunner object is now ready to use,  otherwise an exception will
+be raised that contains extended information detailing exactly what failed. If any warnings are
+found in the SBML document, these will be displayed in the console error log.
+
+Additionally, there are a couple models **included with libRoadRunner**. The models  ``feedback.xml``
+and ``Test_1.xml`` are available in the ``roadrunner.testing`` module. To access these use::
+
+   import roadrunner.testing as test
+   r = test.getRoadRunner('feedback.xml')
+
+There are a few additional models in the ``models/`` directory of the distribution, where you installed libRoadRunner.
+
+Running Simulations
+-------------------
+
+Once a model is successfully loaded we can run a time course simulation. To run a simulation we use the
+:meth:`~RoadRunner.simulate()` method::
+
+   result = rr.simulate()
+
+The output will be in a Python numpy array. The first column will contain time points and the remaining columns will include
+all the floating species amounts/concentrations. In the simulate method we didn't specify how long to run the simulation or how many
+points to generate.  By default the starting time is set to zero, ending time to 10 and the number of points to 51.
+There are two ways to set these values. The easiest way is to change the positional arguments in :meth:`~RoadRunner.simulate()` 
+in the following manner::
+
+   result = rr.simulate (0, 10, 101)
+
+This will set the starting time to zero, the ending time to 10 and generate 101 points. This means that the result will
+be out in time intervals of 0.1.
+
+The simulate method also accepts other keyword arguments::
+
+  result = rr.simulate(0, 10, 101, reset=True, stiff=True)
+
+For more details of the simulate method see :meth:`~RoadRunner.simulate()`.
+The following table summarizes the various options.
+
+================  =============
+ Option           Description
+================  =============
+start             Starting time for simulation
+end               Ending time for simulation. Setting 'end' will automatically change 'duration'
+duration          Duration of the simulation in the model's units of time. Setting 'duration' will automatically change 'end'
+steps             Number of steps at which the output is sampled where the samples are evenly spaced
+absolute          Absolute tolerance for the CVODE integrator
+relative          Relative tolerance for the CVODE integrator
+stiff             Tells the integrator to use the fully implicit backward difference stiff solver.
+                  Use this option only if the model is stiff.
+reset             Resets the SBML state to the original values specified in the SBML.
+structuredResult  If set (default is True), the result from simulate is a numpy structured array
+                  with the column names set to the selections. This is required for plotting and
+                  displaying a legend for each time series.
+variableStep      Perform a variable step simulation. This lets the integrator choose the 
+                  appropriate time step.
+integrator        a string of either "cvode" for deterministic simulations, or "gillespie" for
+                  stochastic simulations. 
+plot              True or False, plot the results of the simulation. 
+================  =============
+
+One important point to note about :meth:`~RoadRunner.simulate()`: When :meth:`~RoadRunner.simulate()` is run, the concentration of
+the floating species will naturally change. If :meth:`~RoadRunner.simulate()` is called a second time, the simulation
+will start the simulation from the previous simulated values. This can be used to easily follow on
+simulations. However there will be times when we wish to run the same simulation again but perhaps
+with slightly different parameters values. For this we must reset the initial conditions back to
+the original values. To do that we run the command :meth:`~RoadRunner.reset()`::
+
+   rr.reset()
+
+Changing Parameters
+-------------------
+
+Often during a modeling experiment we will need to change parameter values, that is the values of the various
+kinetic constants in the model. If a model has a kinetic constants k1, then we can change or inspect the value using
+the following syntax::
+
+   print rr.k1
+   rr.k1 = 1.2
+
+
+Selecting Simulation Output
+---------------------------
+
+RoadRunner supports a range of options for selecting what data a simulation should return. For more
+detailed information on selections, see the :ref:`selecting-values` section.
+
+The simulate method, by default returns an `structured array
+<http://docs.scipy.org/doc/numpy/user/basics.rec.html>`_,
+which are arrays that also contain column names. These can be plotted directly using the
+built in :meth:`~RoadRunner.plot()` function, or by adding the ``plot=True`` keyword argument to :meth:`~RoadRunner.simulate()`.
+
+The output selections default to time and the set of floating species.
+It is possible to change the simulation result values by changing the selection list.
+For example assume that a model has three species, S1, S2, and S3 but we only want :meth:`~RoadRunner.simulate()` to
+return time in the first column and S2 in the second column. To specify this we would type::
+
+   rr.timeCourseSelections = ['time', 'S2']
+   result = rr.simulate (0, 10, 100)
+
+In another example let say we wanted to plot a phase plot where S1 is plotted against S2. To do this we
+type the following::
+
+   rr.timeCourseSelections = ['S1', 'S2']
+   result = rr.simulate(0, 10, 100)
+
+Some additional examples include:
+
+   # Select time and two rates of change (dS1/dt and dS2/dt)
+   rr.timeCourseSelections = ['time, 'S1''', 'S2''']
+
+   # By default species names yield amounts, concentrations can be obtained
+   # using square brackets, e.g.
+   rr.timeCourseSelections = ['time', '[S1]', '[S2]']
+
+.. seealso:: More details on :doc:`selecting_values`
+
+.. _plotting-data:
+
+Plotting Data
+-------------
+
+RoadRunner has a built in :meth:`~RoadRunner.plot()` method which can perform basic plotting. 
+Simply call::
+
+   result = rr.simulate(0, 10, 100)
+   rr.plot()
+
+or::
+
+  rr.simulate(0, 10, 100, plot=True)
+
+If one wants more control over the data plots, one may use matplotlib directly.  Assuming the
+simulate returns an array called result, and that the first column represents the x axis and the
+remaining columns the y axis, we type::
+
+   import pylab
+   pylab.plot (result[:,0],result[:,1:])
+   pylab.show()
+
+This will bring up a new window showing the plot. To clear the plot for next time, type the command::
+
+   pylab.clf()
+
+One may also override the built in :meth:`~RoadRunner.plot()` method with a more more capable plotting routine
+
+Below is a simplified version of the :meth:`~RoadRunner.plot()` method. You may copy and write a
+customized version and even attach it to the RoadRunner object. The first argument is a RoadRunner
+object instance, and the second is a flag which tells the method to show the plot or not::
+
+  def plot(r, show=True):
+
+      import pylab as p
+
+      result = self.getSimulationData()
+
+      if result is None:
+          raise Exception("no simulation result")
+
+      # assume result is a standard numpy array
+
+      selections = r.timeCourseSelections
+
+      if len(result.shape) != 2 or result.shape[1] != len(selections):
+          raise Exception("simulation result columns not equal to number of selections,"
+                          "likely a simulation has not been run")
+
+      times = result[:,0]
+
+      for i in range(1, len(selections)):
+          series = result[:,i]
+          name = selections[i]
+          p.plot(times, series, label=str(name))
+
+          p.legend()
+
+      if show:
+          p.show()
+
+
+You can attach your plotting function to the RoadRunner object by simply setting the plot
+method::
+
+  def my_plot(r, show):
+      pass
+
+  import roadrunner
+  roadrunner.RoadRunner.plot = my_plot
+
+Now, whenever the :meth:`~RoadRunner.plot()` method is called, your plot function will be the one that is
+invoked.
+
+
+Changing Initial Conditions
+---------------------------
+
+
+There are a number of methods to get and set the initial conditions of a loaded model. In order to
+specify a given initial conditions we use the notation, ``init()``.  The values stored in the
+initial conditions are applied to the model whenever it is reset. The list of all initial condition
+symbols can be obtained by the methods, :meth:`~ExecutableModel.getFloatingSpeciesInitAmountIds()`
+and :meth:`~ExecutableModel.getFloatingSpeciesInitConcentrationIds()` assuming ``r`` is a RoadRunner
+instance. As with all other selection symbols, the :meth:`~ExecutableModel.keys()` returns all
+available selection symbols:
+
+  >>>  r.model.keys()
+  [ 'S1', 'S2', '[S1]', '[S2]', 'compartment', 'k1', 'cm0',
+    'reaction1',  'init([S1])',  'init([S2])', 'init(S1)',
+    'init(S2)',  "S1'"]
+
+Symbols for selecting initial values specifically for amounts and concentrations can be obtained
+via:
+
+  >>> r.model.getFloatingSpeciesInitAmountIds()
+  ['init(S1)', 'init(S2)']
+
+  >>> r.model.getFloatingSpeciesInitConcentrationIds()
+  ['init([S1])', 'init([S2])']
+
+Getting or setting initial values is easily accomplished using the array operator and the selection
+symbols:
+
+  >>> r.model["init(S1)"]
+  0.00015
+
+  >>> r.model["init([S1])"]
+  2.9999999999999997e-05
+
+  >>> r.model["init([S1])"] = 2
+
+  >>> r.model["init(S1)"]
+  10.0
+
+The values for the initial conditions for all floating species can be obtained using the calls:
+
+  >>> r.model.getFloatingSpeciesInitConcentrations()
+  array([ 0.7,  5.6])
+
+Initial conditions can be set using the two methods for all species in one call:
+
+  >>> r.model.setFloatingSpeciesInitAmounts ([3.4, 5.6])
+
+
+  >>> r.model.setFloatingSpeciesInitConcentrations ([6.7, 0.1])
+
+.. _roadrunner-solver:
+  
+Solvers
+---------------------------
+
+
+RoadRunner has multiple types of solvers including integrators and steady-state solvers.
+Integrators control numerical timecourse integration via the :meth:`~RoadRunner.simulate()` method.
+By default, RoadRunner uses CVODE, a real differential equation solver from the
+SUNDIALS suite. Internally, CVODE features an adaptive timestep. However, unless `variableStep`
+is specified in the call to :meth:`~RoadRunner.simulate()`, the output will contain evenly spaced intervals.
+
+  >>>  r.simulate(0, 10, 10)
+  # Output will contain evenly spaced intervals
+  >>>  r.simulate(variableStep=True)
+  # Intervals will vary according to CVODE step size
+
+To use basic 4th-order Runge-Kutta integrator ('rk4'), call :meth:`~RoadRunner.setIntegrator()`:
+
+  >>>  r.setIntegrator('rk4')
+
+Runge-Kutta always uses a fixed step size, and does not support events.
+RoadRunner supports Runge-Kutta-Fehlberg Method ('rkf45') as well as a stochastic integrator based on Gillespie algorithm ('gilliespie').
+
+Some integrators, such as CVODE, have parameters which can be set by the user.
+To see a list of these settings, use :meth:`~roadrunner.Solver.getSettings()` on an integrator instance:
+
+  >>>  r.getIntegrator().getSettings()
+  ('relative_tolerance', 
+  'absolute_tolerance', 
+  'stiff', 
+  'maximum_bdf_order', 
+  'maximum_adams_order', 
+  'maximum_num_steps', 
+  'maximum_time_step', 
+  'minimum_time_step', 
+  'initial_time_step', 
+  'multiple_steps', 
+  'variable_step_size')
+
+To set a parameter, you can use both methods described below:
+
+  >>>  r.getIntegrator().relative_tolerance = 1e-10
+  >>>  r.getIntegrator().setValue('relative_tolerance', 1e-10)
+
+Be sure to set the parameter to the correct type, which can be obtained from
+the parameter's hint or description:
+
+  >>>  r.getIntegrator().getHint('relative_tolerance')
+  'Specifies the scalar relative tolerance (double).'
+  >>>  r.getIntegrator().getDescription('relative_tolerance')
+  '(double) CVODE calculates a vector of error weights which is used in all error and convergence tests. The weighted RMS norm for the relative tolerance should not become smaller than this value.'
+
+Parameters also have a display name:
+
+  >>>  r.getIntegrator().getDisplayName('relative_tolerance')
+  'Relative Tolerance'
+
+If you prefer to change settings on integrators without switching the current integrator,
+you can use :meth:`~RoadRunner.getIntegratorByName()` as follows:
+
+  >>>  r.getIntegratorByName('gillespie').seed = 12345
+
+Also, if you find yourself switching back and forth between integrators a lot, you can use
+:meth:`~RoadRunner.setIntegratorSetting()`.
+
+  >>>  r.setIntegratorSetting('gillespie', 'seed', 12345)
+
+The other type of solver is a steady-state solver, which works in essentially the same way:
+
+  >>>  r.getSteadyStateSolver().getSettings()
+  ('maximum_iterations', 
+  'minimum_damping', 
+  'relative_tolerance')
+  >>>  r.getSteadyStateSolver().getHint('maximum_iterations')
+  'The maximum number of iterations the solver is allowed to use (int)'
+  >>>  r.getSteadyStateSolver().getDescription('maximum_iterations')
+  '(int) Iteration caps off at the maximum, regardless of whether a solution has been reached'
+
+The steady state solver is invoked by a call to :meth:`~RoadRunner.steadyState()`.
+Currently, RoadRunner only has a single steady state solver (NLEQ).
+
+.. highlight:: python
diff --git a/wrappers/Python/doc/utility_functions.rst b/wrappers/Python/doc/utility_functions.rst
new file mode 100644
index 0000000..966f079
--- /dev/null
+++ b/wrappers/Python/doc/utility_functions.rst
@@ -0,0 +1,52 @@
+*****************
+Utility Functions
+*****************
+
+.. currentmodule:: RoadRunner
+
+The following methodsprovide basic information about the current roadRunner installation.
+
+
+Information Group
+-----------------
+
+:meth:`~RoadRunner.getInfo` returns useful information about libRoadRunner's current state::
+
+   >>> print rr.getInfo()
+   Model Loaded: false
+   ConservationAnalysis: 0
+   libSBML version: LibSBML Version: 5.12.0
+   Temporary folder: not used
+   Compiler location: not used
+   Support Code Folder: not used
+   Working Directory: C:\dev\eclipse
+
+
+:meth:`~roadrunner.getVersionStr` returns specific information Strings based on arguments passed to it. 
+For example to get the libSBML version used, you can::
+
+   >>> import roadrunner
+
+   >>> print roadrunner.getVersionStr(roadrunner.VERSIONSTR_LIBSBML)
+   LibSBML Version: 5.9.0
+
+or you can do any combination of the *VERSIONSTR_* options::
+
+   >>> print roadrunner.getVersionStr(
+                                roadrunner.VERSIONSTR_BASIC | 
+                                roadrunner.VERSIONSTR_COMPILER | 
+                                roadrunner.VERSIONSTR_DATE | 
+                                roadrunner.VERSIONSTR_LIBSBML)
+   1.4.3; Compiler: Microsoft Visual Studio 2013; Date: Dec 18 2013, 22:59:30; LibSBML Version: 5.12.0
+
+There is also the standard python ``__version__`` which is actually set 
+when the module is loaded from ``getVersionStr``::
+   
+   >>> print roadrunner.__version__
+   1.4.3; Compiler: Microsoft Visual Studio 2013; Date: Dec 18 2013, 22:59:30
+
+
+.. autosummary::
+
+   RoadRunner.getInfo
+
diff --git a/wrappers/Python/doc/what_is_rr.rst b/wrappers/Python/doc/what_is_rr.rst
new file mode 100644
index 0000000..ca6b319
--- /dev/null
+++ b/wrappers/Python/doc/what_is_rr.rst
@@ -0,0 +1,156 @@
+*********************
+What is libRoadRunner
+*********************
+RoadRunner is a package for loading, simulating and
+analyzing SBML based systems biology models utilzing JIT compilation.
+
+RoadRunner 1.4.3
+
+Up to date documentation can be found on http://libroadrunner.org/.
+
+Also `documentation home page <../index.html>`_ provides an introduction.
+
+Licence and Copyright
+---------------------
+libRoadRunner is free and open source. Licensing and Distribution 
+Terms can be found in the LICENCE.txt file in the root directory 
+of the distribution.
+
+Copyright (C) 2012-2016 University of Washington, Seattle, WA, USA
+
+Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0.html
+ 
+http://libroadrunner.org/
+
+Fundamental Objects
+-------------------
+The libRoadRunner package uses two fundametal objects e.g. ``rr`` of 
+class ``RoadRunner`` and e.g. ``rr.model`` of class ``ExecutableModel``. 
+
+**RoadRunner**
+ - Typically the top level object
+ - Responsible for orchestrating all of the internal components, such as model loading, 
+   JIT compilation, integration and output.
+ - Initialized with ``rr = roadrunner.RoadRunner()``
+
+
+**ExecutableModel**
+ - Represents a compiled sbml model
+ - Properties to get and set any state variables.
+ - Initialized when SBML is loaded ``r.load('mymodel.xml')``
+
+The Python API is a very clean simple interface that uses all native Python objects. 
+All the returned types are structured `Numpy` arrays. 
+
+
+Example of libRoadRunner in Use
+-------------------------------
+Transcript from an Python session to demonstrate libRoadRunner use on this interactive Python console.
+ 
+
+**Import** roardrunner and numpy::
+
+   import roadrunner
+   import roadrunner.testing
+   import numpy as n
+   import numpy.linalg as lin
+
+**Load** an SBML model::
+
+   >>>  rr = roadrunner.RoadRunner()
+   >>>  rr.load(roadrunner.testing.get_data('Test_1.xml'))
+   True
+
+Get the **model**, the model object has all the accessors sbml elements, names, values::
+   
+   >>>  m = rr.getModel()
+
+Use the built in RR function to get the **Jacobian**, notice this is returned as a native
+numpy matrix, and display it::
+   
+   >>>  jac = rr.getFullJacobian()
+   >>>  jac
+   array([[-0.2  ,  0.067,  0.   ],
+          [ 0.15 , -0.467,  0.09 ],
+          [ 0.   ,  0.4  , -0.64 ]])
+
+Get a vector of **floating species amounts**, and display it::
+
+   >>>  amt = m.getFloatingSpeciesAmounts()
+   >>>  amt
+   array([ 0.1 ,  0.25,  0.1 ])
+
+Look at the **floating species ids**::
+   
+   >>>  m.getFloatingSpeciesIds()
+   ['S1', 'S2', 'S3']
+
+Numpy has a huge amount of numeric capability, here we calculate
+the **eigensystem from the Jacobian**.::
+
+   >>>  lin.eig(jac)
+   (array([-0.15726345, -0.38237134, -0.76736521]),
+    array([[ 0.77009381, -0.19510707,  0.03580588],
+           [ 0.49121122,  0.53107368, -0.30320915],
+           [ 0.40702219,  0.82455683,  0.95225109]]))
+
+Suppose we wanted to calculate the matrix vector product of the **jacobian with the 
+floating species amounts**, its a single statement, since we use native types.::
+
+   >>>  n.dot(jac, amt)
+   array([-0.00325, -0.09275,  0.036  ])
+
+Finally, you can of course **simulate over time**. The first column in result is time, 
+the rest are whatever is selected. The easies way to plot is to use :meth:`RoadRunner.plot`::
+   
+   >>>  results = rr.simulate()
+   >>>  rr.plot(results)
+   
+.. seealso:: :ref:`plotting-data`
+   
+Using libRoadRunner in `IPython <http://ipython.org/>`_ you can **get documentation** 
+easily using a ``?`` after the object or method::
+
+  >>>  r.plot?
+
+  Type:        instancemethod
+  String form: <bound method RoadRunner.plot of <roadrunner.RoadRunner() { this = 0x101c70a00 }>>
+  File:        /Users/andy/Library/Python/2.7/lib/python/site-packages/roadrunner/roadrunner.py
+  Definition:  r.plot(self, show=True)
+  Docstring:
+  RoadRunner.plot([show])
+  
+  Plot the previously run simulation result using Matplotlib.
+  
+  This takes the contents of the simulation result and builds a
+  legend from the selection list.
+  
+  
+  If the optional prameter 'show' [default is True] is given, the pylab
+  show() method is called.
+
+
+Technical Footnotes
+-------------------
+
+.. [#] Most of the time, Numpy array holds a pointer to a block of data owned
+       by RoadRunner. For example, the array returned by `rr.simulate()` has a pointer 
+       to the results matrix which is owned by the `RoadRunner`, therefore NO COPYING 
+       is involved. If you have no need for the result, simply ignore it, since it costs virtually nothing to return it. 
+       
+.. [#] Current State of the System Group
+       
+       When using the LLVM back end, all model state calculation are automatically 
+       performed using a techinque called lazy evaluation. If one sets the concentration 
+       of a specie, the amount of of that specie is automatically available without 
+       having to perform any addition operations, similar to any other value in the model. 
+       If an SBML parameter is defined by an assigment rule or a function and its value  
+       depends on a number of other values, simply setting to other values automatically 
+       cause the value of the most dependent variable to be set. 
+       This is identical how one operates in a spredsheet such as Microsoft Excel. For 
+       example, if one has a cell with an equation that depends on other cell, and those
+       other cell depend on other values, setting the value of any upstream cell automatically
+       causes that value to cascade down to the terminal cells. The LLVM back end roadruner
+       function identically. 
+
+.. highlight:: python
diff --git a/wrappers/Python/doc/what_is_sbml.rst b/wrappers/Python/doc/what_is_sbml.rst
new file mode 100644
index 0000000..d39d5c9
--- /dev/null
+++ b/wrappers/Python/doc/what_is_sbml.rst
@@ -0,0 +1,12 @@
+*************
+What Is SBML?
+*************
+
+The Systems Biology Markup Language (SBML) is a machine-readable language, based on XML, 
+for representing models of biological processes. SBML can represent metabolic networks, 
+cell-signaling pathways, regulatory networks, and many other kinds of systems.
+For more information, go to:
+
+http://sbml.org/Main_Page
+
+http://en.wikipedia.org/wiki/SBML
diff --git a/wrappers/Python/include/numpy.i b/wrappers/Python/include/numpy.i
new file mode 100644
index 0000000..f2714cc
--- /dev/null
+++ b/wrappers/Python/include/numpy.i
@@ -0,0 +1,3085 @@
+/* -*- C -*-  (not really, but good for syntax highlighting) */
+#ifdef SWIGPYTHON
+
+%{
+#ifndef SWIG_FILE_WITH_INIT
+#define NO_IMPORT_ARRAY
+#endif
+#include "stdio.h"
+#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
+#include <numpy/arrayobject.h>
+%}
+
+/**********************************************************************/
+
+%fragment("NumPy_Backward_Compatibility", "header")
+{
+%#if NPY_API_VERSION < 0x00000007
+%#define NPY_ARRAY_DEFAULT NPY_DEFAULT
+%#define NPY_ARRAY_FARRAY  NPY_FARRAY
+%#define NPY_FORTRANORDER  NPY_FORTRAN
+%#endif
+}
+
+/**********************************************************************/
+
+/* The following code originally appeared in
+ * enthought/kiva/agg/src/numeric.i written by Eric Jones.  It was
+ * translated from C++ to C by John Hunter.  Bill Spotz has modified
+ * it to fix some minor bugs, upgrade from Numeric to numpy (all
+ * versions), add some comments and functionality, and convert from
+ * direct code insertion to SWIG fragments.
+ */
+
+%fragment("NumPy_Macros", "header")
+{
+/* Macros to extract array attributes.
+ */
+%#if NPY_API_VERSION < 0x00000007
+%#define is_array(a)            ((a) && PyArray_Check((PyArrayObject*)a))
+%#define array_type(a)          (int)(PyArray_TYPE((PyArrayObject*)a))
+%#define array_numdims(a)       (((PyArrayObject*)a)->nd)
+%#define array_dimensions(a)    (((PyArrayObject*)a)->dimensions)
+%#define array_size(a,i)        (((PyArrayObject*)a)->dimensions[i])
+%#define array_strides(a)       (((PyArrayObject*)a)->strides)
+%#define array_stride(a,i)      (((PyArrayObject*)a)->strides[i])
+%#define array_data(a)          (((PyArrayObject*)a)->data)
+%#define array_descr(a)         (((PyArrayObject*)a)->descr)
+%#define array_flags(a)         (((PyArrayObject*)a)->flags)
+%#define array_enableflags(a,f) (((PyArrayObject*)a)->flags) = f
+%#else
+%#define is_array(a)            ((a) && PyArray_Check(a))
+%#define array_type(a)          PyArray_TYPE((PyArrayObject*)a)
+%#define array_numdims(a)       PyArray_NDIM((PyArrayObject*)a)
+%#define array_dimensions(a)    PyArray_DIMS((PyArrayObject*)a)
+%#define array_strides(a)       PyArray_STRIDES((PyArrayObject*)a)
+%#define array_stride(a,i)      PyArray_STRIDE((PyArrayObject*)a,i)
+%#define array_size(a,i)        PyArray_DIM((PyArrayObject*)a,i)
+%#define array_data(a)          PyArray_DATA((PyArrayObject*)a)
+%#define array_descr(a)         PyArray_DESCR((PyArrayObject*)a)
+%#define array_flags(a)         PyArray_FLAGS((PyArrayObject*)a)
+%#define array_enableflags(a,f) PyArray_ENABLEFLAGS((PyArrayObject*)a,f)
+%#endif
+%#define array_is_contiguous(a) (PyArray_ISCONTIGUOUS((PyArrayObject*)a))
+%#define array_is_native(a)     (PyArray_ISNOTSWAPPED((PyArrayObject*)a))
+%#define array_is_fortran(a)    (PyArray_ISFORTRAN((PyArrayObject*)a))
+}
+
+/**********************************************************************/
+
+%fragment("NumPy_Utilities",
+          "header")
+{
+  /* Given a PyObject, return a string describing its type.
+   */
+  const char* pytype_string(PyObject* py_obj)
+  {
+    if (py_obj == NULL          ) return "C NULL value";
+    if (py_obj == Py_None       ) return "Python None" ;
+    if (PyCallable_Check(py_obj)) return "callable"    ;
+    if (PyString_Check(  py_obj)) return "string"      ;
+    if (PyInt_Check(     py_obj)) return "int"         ;
+    if (PyFloat_Check(   py_obj)) return "float"       ;
+    if (PyDict_Check(    py_obj)) return "dict"        ;
+    if (PyList_Check(    py_obj)) return "list"        ;
+    if (PyTuple_Check(   py_obj)) return "tuple"       ;
+%#if PY_MAJOR_VERSION < 3
+    if (PyFile_Check(    py_obj)) return "file"        ;
+    if (PyModule_Check(  py_obj)) return "module"      ;
+    if (PyInstance_Check(py_obj)) return "instance"    ;
+%#endif
+
+    return "unkown type";
+  }
+
+  /* Given a NumPy typecode, return a string describing the type.
+   */
+  const char* typecode_string(int typecode)
+  {
+    static const char* type_names[25] = {"bool",
+                                         "byte",
+                                         "unsigned byte",
+                                         "short",
+                                         "unsigned short",
+                                         "int",
+                                         "unsigned int",
+                                         "long",
+                                         "unsigned long",
+                                         "long long",
+                                         "unsigned long long",
+                                         "float",
+                                         "double",
+                                         "long double",
+                                         "complex float",
+                                         "complex double",
+                                         "complex long double",
+                                         "object",
+                                         "string",
+                                         "unicode",
+                                         "void",
+                                         "ntypes",
+                                         "notype",
+                                         "char",
+                                         "unknown"};
+    return typecode < 24 ? type_names[typecode] : type_names[24];
+  }
+
+  /* Make sure input has correct numpy type.  This now just calls
+     PyArray_EquivTypenums().
+   */
+  int type_match(int actual_type,
+                 int desired_type)
+  {
+    return PyArray_EquivTypenums(actual_type, desired_type);
+  }
+
+%#ifdef SWIGPY_USE_CAPSULE
+  void free_cap(PyObject * cap)
+  {
+    void* array = (void*) PyCapsule_GetPointer(cap,SWIGPY_CAPSULE_NAME);
+    if (array != NULL) free(array);
+  }
+%#endif
+
+
+}
+
+/**********************************************************************/
+
+%fragment("NumPy_Object_to_Array",
+          "header",
+          fragment="NumPy_Backward_Compatibility",
+          fragment="NumPy_Macros",
+          fragment="NumPy_Utilities")
+{
+  /* Given a PyObject pointer, cast it to a PyArrayObject pointer if
+   * legal.  If not, set the python error string appropriately and
+   * return NULL.
+   */
+  PyArrayObject* obj_to_array_no_conversion(PyObject* input,
+                                            int        typecode)
+  {
+    PyArrayObject* ary = NULL;
+    if (is_array(input) && (typecode == NPY_NOTYPE ||
+                            PyArray_EquivTypenums(array_type(input), typecode)))
+    {
+      ary = (PyArrayObject*) input;
+    }
+    else if is_array(input)
+    {
+      const char* desired_type = typecode_string(typecode);
+      const char* actual_type  = typecode_string(array_type(input));
+      PyErr_Format(PyExc_TypeError,
+                   "Array of type '%s' required.  Array of type '%s' given",
+                   desired_type, actual_type);
+      ary = NULL;
+    }
+    else
+    {
+      const char* desired_type = typecode_string(typecode);
+      const char* actual_type  = pytype_string(input);
+      PyErr_Format(PyExc_TypeError,
+                   "Array of type '%s' required.  A '%s' was given",
+                   desired_type,
+                   actual_type);
+      ary = NULL;
+    }
+    return ary;
+  }
+
+  /* Convert the given PyObject to a NumPy array with the given
+   * typecode.  On success, return a valid PyArrayObject* with the
+   * correct type.  On failure, the python error string will be set and
+   * the routine returns NULL.
+   */
+  PyArrayObject* obj_to_array_allow_conversion(PyObject* input,
+                                               int       typecode,
+                                               int*      is_new_object)
+  {
+    PyArrayObject* ary = NULL;
+    PyObject*      py_obj;
+    if (is_array(input) && (typecode == NPY_NOTYPE ||
+                            PyArray_EquivTypenums(array_type(input),typecode)))
+    {
+      ary = (PyArrayObject*) input;
+      *is_new_object = 0;
+    }
+    else
+    {
+      py_obj = PyArray_FROMANY(input, typecode, 0, 0, NPY_ARRAY_DEFAULT);
+      /* If NULL, PyArray_FromObject will have set python error value.*/
+      ary = (PyArrayObject*) py_obj;
+      *is_new_object = 1;
+    }
+    return ary;
+  }
+
+  /* Given a PyArrayObject, check to see if it is contiguous.  If so,
+   * return the input pointer and flag it as not a new object.  If it is
+   * not contiguous, create a new PyArrayObject using the original data,
+   * flag it as a new object and return the pointer.
+   */
+  PyArrayObject* make_contiguous(PyArrayObject* ary,
+                                 int*           is_new_object,
+                                 int            min_dims,
+                                 int            max_dims)
+  {
+    PyArrayObject* result;
+    if (array_is_contiguous(ary))
+    {
+      result = ary;
+      *is_new_object = 0;
+    }
+    else
+    {
+      result = (PyArrayObject*) PyArray_ContiguousFromObject((PyObject*)ary,
+                                                              array_type(ary),
+                                                              min_dims,
+                                                              max_dims);
+      *is_new_object = 1;
+    }
+    return result;
+  }
+
+  /* Given a PyArrayObject, check to see if it is Fortran-contiguous.
+   * If so, return the input pointer, but do not flag it as not a new
+   * object.  If it is not Fortran-contiguous, create a new
+   * PyArrayObject using the original data, flag it as a new object
+   * and return the pointer.
+   */
+  PyArrayObject* make_fortran(PyArrayObject* ary,
+                              int*           is_new_object)
+  {
+    PyArrayObject* result;
+    if (array_is_fortran(ary))
+    {
+      result = ary;
+      *is_new_object = 0;
+    }
+    else
+    {
+      Py_INCREF(array_descr(ary));
+      result = (PyArrayObject*) PyArray_FromArray(ary,
+                                                  array_descr(ary),
+                                                  NPY_FORTRANORDER);
+      *is_new_object = 1;
+    }
+    return result;
+  }
+
+  /* Convert a given PyObject to a contiguous PyArrayObject of the
+   * specified type.  If the input object is not a contiguous
+   * PyArrayObject, a new one will be created and the new object flag
+   * will be set.
+   */
+  PyArrayObject* obj_to_array_contiguous_allow_conversion(PyObject* input,
+                                                          int       typecode,
+                                                          int*      is_new_object)
+  {
+    int is_new1 = 0;
+    int is_new2 = 0;
+    PyArrayObject* ary2;
+    PyArrayObject* ary1 = obj_to_array_allow_conversion(input,
+                                                        typecode,
+                                                        &is_new1);
+    if (ary1)
+    {
+      ary2 = make_contiguous(ary1, &is_new2, 0, 0);
+      if ( is_new1 && is_new2)
+      {
+        Py_DECREF(ary1);
+      }
+      ary1 = ary2;
+    }
+    *is_new_object = is_new1 || is_new2;
+    return ary1;
+  }
+
+  /* Convert a given PyObject to a Fortran-ordered PyArrayObject of the
+   * specified type.  If the input object is not a Fortran-ordered
+   * PyArrayObject, a new one will be created and the new object flag
+   * will be set.
+   */
+  PyArrayObject* obj_to_array_fortran_allow_conversion(PyObject* input,
+                                                       int       typecode,
+                                                       int*      is_new_object)
+  {
+    int is_new1 = 0;
+    int is_new2 = 0;
+    PyArrayObject* ary2;
+    PyArrayObject* ary1 = obj_to_array_allow_conversion(input,
+                                                        typecode,
+                                                        &is_new1);
+    if (ary1)
+    {
+      ary2 = make_fortran(ary1, &is_new2);
+      if (is_new1 && is_new2)
+      {
+        Py_DECREF(ary1);
+      }
+      ary1 = ary2;
+    }
+    *is_new_object = is_new1 || is_new2;
+    return ary1;
+  }
+} /* end fragment */
+
+/**********************************************************************/
+
+%fragment("NumPy_Array_Requirements",
+          "header",
+          fragment="NumPy_Backward_Compatibility",
+          fragment="NumPy_Macros")
+{
+  /* Test whether a python object is contiguous.  If array is
+   * contiguous, return 1.  Otherwise, set the python error string and
+   * return 0.
+   */
+  int require_contiguous(PyArrayObject* ary)
+  {
+    int contiguous = 1;
+    if (!array_is_contiguous(ary))
+    {
+      PyErr_SetString(PyExc_TypeError,
+                      "Array must be contiguous.  A non-contiguous array was given");
+      contiguous = 0;
+    }
+    return contiguous;
+  }
+
+  /* Require that a numpy array is not byte-swapped.  If the array is
+   * not byte-swapped, return 1.  Otherwise, set the python error string
+   * and return 0.
+   */
+  int require_native(PyArrayObject* ary)
+  {
+    int native = 1;
+    if (!array_is_native(ary))
+    {
+      PyErr_SetString(PyExc_TypeError,
+                      "Array must have native byteorder.  "
+                      "A byte-swapped array was given");
+      native = 0;
+    }
+    return native;
+  }
+
+  /* Require the given PyArrayObject to have a specified number of
+   * dimensions.  If the array has the specified number of dimensions,
+   * return 1.  Otherwise, set the python error string and return 0.
+   */
+  int require_dimensions(PyArrayObject* ary,
+                         int            exact_dimensions)
+  {
+    int success = 1;
+    if (array_numdims(ary) != exact_dimensions)
+    {
+      PyErr_Format(PyExc_TypeError,
+                   "Array must have %d dimensions.  Given array has %d dimensions",
+                   exact_dimensions,
+                   array_numdims(ary));
+      success = 0;
+    }
+    return success;
+  }
+
+  /* Require the given PyArrayObject to have one of a list of specified
+   * number of dimensions.  If the array has one of the specified number
+   * of dimensions, return 1.  Otherwise, set the python error string
+   * and return 0.
+   */
+  int require_dimensions_n(PyArrayObject* ary,
+                           int*           exact_dimensions,
+                           int            n)
+  {
+    int success = 0;
+    int i;
+    char dims_str[255] = "";
+    char s[255];
+    for (i = 0; i < n && !success; i++)
+    {
+      if (array_numdims(ary) == exact_dimensions[i])
+      {
+        success = 1;
+      }
+    }
+    if (!success)
+    {
+      for (i = 0; i < n-1; i++)
+      {
+        sprintf(s, "%d, ", exact_dimensions[i]);
+        strcat(dims_str,s);
+      }
+      sprintf(s, " or %d", exact_dimensions[n-1]);
+      strcat(dims_str,s);
+      PyErr_Format(PyExc_TypeError,
+                   "Array must have %s dimensions.  Given array has %d dimensions",
+                   dims_str,
+                   array_numdims(ary));
+    }
+    return success;
+  }
+
+  /* Require the given PyArrayObject to have a specified shape.  If the
+   * array has the specified shape, return 1.  Otherwise, set the python
+   * error string and return 0.
+   */
+  int require_size(PyArrayObject* ary,
+                   npy_intp*      size,
+                   int            n)
+  {
+    int i;
+    int success = 1;
+    int len;
+    char desired_dims[255] = "[";
+    char s[255];
+    char actual_dims[255] = "[";
+    for(i=0; i < n;i++)
+    {
+      if (size[i] != -1 &&  size[i] != array_size(ary,i))
+      {
+        success = 0;
+      }
+    }
+    if (!success)
+    {
+      for (i = 0; i < n; i++)
+      {
+        if (size[i] == -1)
+        {
+          sprintf(s, "*,");
+        }
+        else
+        {
+          sprintf(s, "%ld,", (long int)size[i]);
+        }
+        strcat(desired_dims,s);
+      }
+      len = strlen(desired_dims);
+      desired_dims[len-1] = ']';
+      for (i = 0; i < n; i++)
+      {
+        sprintf(s, "%ld,", (long int)array_size(ary,i));
+        strcat(actual_dims,s);
+      }
+      len = strlen(actual_dims);
+      actual_dims[len-1] = ']';
+      PyErr_Format(PyExc_TypeError,
+                   "Array must have shape of %s.  Given array has shape of %s",
+                   desired_dims,
+                   actual_dims);
+    }
+    return success;
+  }
+
+  /* Require the given PyArrayObject to to be Fortran ordered.  If the
+   * the PyArrayObject is already Fortran ordered, do nothing.  Else,
+   * set the Fortran ordering flag and recompute the strides.
+   */
+  int require_fortran(PyArrayObject* ary)
+  {
+    int success = 1;
+    int nd = array_numdims(ary);
+    int i;
+    npy_intp * strides = array_strides(ary);
+    if (array_is_fortran(ary)) return success;
+    /* Set the Fortran ordered flag */
+    array_enableflags(ary,NPY_ARRAY_FARRAY);
+    /* Recompute the strides */
+    strides[0] = strides[nd-1];
+    for (i=1; i < nd; ++i)
+      strides[i] = strides[i-1] * array_size(ary,i-1);
+    return success;
+  }
+}
+
+/* Combine all NumPy fragments into one for convenience */
+%fragment("NumPy_Fragments",
+          "header",
+          fragment="NumPy_Backward_Compatibility",
+          fragment="NumPy_Macros",
+          fragment="NumPy_Utilities",
+          fragment="NumPy_Object_to_Array",
+          fragment="NumPy_Array_Requirements")
+{
+}
+
+/* End John Hunter translation (with modifications by Bill Spotz)
+ */
+
+/* %numpy_typemaps() macro
+ *
+ * This macro defines a family of 74 typemaps that allow C arguments
+ * of the form
+ *
+ *    1. (DATA_TYPE IN_ARRAY1[ANY])
+ *    2. (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
+ *    3. (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
+ *
+ *    4. (DATA_TYPE IN_ARRAY2[ANY][ANY])
+ *    5. (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ *    6. (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
+ *    7. (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ *    8. (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
+ *
+ *    9. (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
+ *   10. (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+ *   11. (DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+ *   12. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3)
+ *   13. (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+ *   14. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3)
+ *
+ *   15. (DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY])
+ *   16. (DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+ *   17. (DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+ *   18. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, , DIM_TYPE DIM4, DATA_TYPE* IN_ARRAY4)
+ *   19. (DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+ *   20. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_FARRAY4)
+ *
+ *   21. (DATA_TYPE INPLACE_ARRAY1[ANY])
+ *   22. (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1)
+ *   23. (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1)
+ *
+ *   24. (DATA_TYPE INPLACE_ARRAY2[ANY][ANY])
+ *   25. (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ *   26. (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2)
+ *   27. (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ *   28. (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2)
+ *
+ *   29. (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY])
+ *   30. (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+ *   31. (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+ *   32. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
+ *   33. (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+ *   34. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3)
+ *
+ *   35. (DATA_TYPE INPLACE_ARRAY4[ANY][ANY][ANY][ANY])
+ *   36. (DATA_TYPE* INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+ *   37. (DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+ *   38. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_ARRAY4)
+ *   39. (DATA_TYPE* INPLACE_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+ *   40. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_FARRAY4)
+ *
+ *   41. (DATA_TYPE ARGOUT_ARRAY1[ANY])
+ *   42. (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
+ *   43. (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
+ *
+ *   44. (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
+ *
+ *   45. (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
+ *
+ *   46. (DATA_TYPE ARGOUT_ARRAY4[ANY][ANY][ANY][ANY])
+ *
+ *   47. (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1)
+ *   48. (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1)
+ *
+ *   49. (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ *   50. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2)
+ *   51. (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ *   52. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2)
+ *
+ *   53. (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+ *   54. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
+ *   55. (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+ *   56. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3)
+ *
+ *   57. (DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+ *   58. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEW_ARRAY4)
+ *   59. (DATA_TYPE** ARGOUTVIEW_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+ *   60. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEW_FARRAY4)
+ *
+ *   61. (DATA_TYPE** ARGOUTVIEWM_ARRAY1, DIM_TYPE* DIM1)
+ *   62. (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEWM_ARRAY1)
+ *
+ *   63. (DATA_TYPE** ARGOUTVIEWM_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ *   64. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_ARRAY2)
+ *   65. (DATA_TYPE** ARGOUTVIEWM_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ *   66. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_FARRAY2)
+ *
+ *   67. (DATA_TYPE** ARGOUTVIEWM_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+ *   68. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEWM_ARRAY3)
+ *   69. (DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+ *   70. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEWM_FARRAY3)
+ *
+ *   71. (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+ *   72. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_ARRAY4)
+ *   73. (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+ *   74. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_FARRAY4)
+ *
+ * where "DATA_TYPE" is any type supported by the NumPy module, and
+ * "DIM_TYPE" is any int-like type suitable for specifying dimensions.
+ * The difference between "ARRAY" typemaps and "FARRAY" typemaps is
+ * that the "FARRAY" typemaps expect Fortran ordering of
+ * multidimensional arrays.  In python, the dimensions will not need
+ * to be specified (except for the "DATA_TYPE* ARGOUT_ARRAY1"
+ * typemaps).  The IN_ARRAYs can be a numpy array or any sequence that
+ * can be converted to a numpy array of the specified type.  The
+ * INPLACE_ARRAYs must be numpy arrays of the appropriate type.  The
+ * ARGOUT_ARRAYs will be returned as new numpy arrays of the
+ * appropriate type.
+ *
+ * These typemaps can be applied to existing functions using the
+ * %apply directive.  For example:
+ *
+ *     %apply (double* IN_ARRAY1, int DIM1) {(double* series, int length)};
+ *     double prod(double* series, int length);
+ *
+ *     %apply (int DIM1, int DIM2, double* INPLACE_ARRAY2)
+ *           {(int rows, int cols, double* matrix        )};
+ *     void floor(int rows, int cols, double* matrix, double f);
+ *
+ *     %apply (double IN_ARRAY3[ANY][ANY][ANY])
+ *           {(double tensor[2][2][2]         )};
+ *     %apply (double ARGOUT_ARRAY3[ANY][ANY][ANY])
+ *           {(double low[2][2][2]                )};
+ *     %apply (double ARGOUT_ARRAY3[ANY][ANY][ANY])
+ *           {(double upp[2][2][2]                )};
+ *     void luSplit(double tensor[2][2][2],
+ *                  double low[2][2][2],
+ *                  double upp[2][2][2]    );
+ *
+ * or directly with
+ *
+ *     double prod(double* IN_ARRAY1, int DIM1);
+ *
+ *     void floor(int DIM1, int DIM2, double* INPLACE_ARRAY2, double f);
+ *
+ *     void luSplit(double IN_ARRAY3[ANY][ANY][ANY],
+ *                  double ARGOUT_ARRAY3[ANY][ANY][ANY],
+ *                  double ARGOUT_ARRAY3[ANY][ANY][ANY]);
+ */
+
+%define %numpy_typemaps(DATA_TYPE, DATA_TYPECODE, DIM_TYPE)
+
+/************************/
+/* Input Array Typemaps */
+/************************/
+
+/* Typemap suite for (DATA_TYPE IN_ARRAY1[ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE IN_ARRAY1[ANY])
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE IN_ARRAY1[ANY])
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[1] = { $1_dim0 };
+  array = obj_to_array_contiguous_allow_conversion($input,
+                                                   DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 1) ||
+      !require_size(array, size, 1)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(freearg)
+  (DATA_TYPE IN_ARRAY1[ANY])
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[1] = { -1 };
+  array = obj_to_array_contiguous_allow_conversion($input,
+                                                   DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 1) ||
+      !require_size(array, size, 1)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[1] = {-1};
+  array = obj_to_array_contiguous_allow_conversion($input,
+                                                   DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 1) ||
+      !require_size(array, size, 1)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE IN_ARRAY2[ANY][ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE IN_ARRAY2[ANY][ANY])
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE IN_ARRAY2[ANY][ANY])
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[2] = { $1_dim0, $1_dim1 };
+  array = obj_to_array_contiguous_allow_conversion($input,
+                                                   DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 2) ||
+      !require_size(array, size, 2)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(freearg)
+  (DATA_TYPE IN_ARRAY2[ANY][ANY])
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[2] = { -1, -1 };
+  array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 2) ||
+      !require_size(array, size, 2)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[2] = { -1, -1 };
+  array = obj_to_array_contiguous_allow_conversion($input,
+                                                   DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 2) ||
+      !require_size(array, size, 2)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[2] = { -1, -1 };
+  array = obj_to_array_fortran_allow_conversion($input,
+                                                DATA_TYPECODE,
+                                                &is_new_object);
+  if (!array || !require_dimensions(array, 2) ||
+      !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[2] = { -1, -1 };
+  array = obj_to_array_contiguous_allow_conversion($input,
+                                                   DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 2) ||
+      !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 };
+  array = obj_to_array_contiguous_allow_conversion($input,
+                                                   DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 3) ||
+      !require_size(array, size, 3)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(freearg)
+  (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[3] = { -1, -1, -1 };
+  array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 3) ||
+      !require_size(array, size, 3)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  /* for now, only concerned with lists */
+  $1 = PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+  (DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL, int* is_new_object_array=NULL)
+{
+  npy_intp size[2] = { -1, -1 };
+  PyArrayObject* temp_array;
+  Py_ssize_t i;
+  int is_new_object;
+
+  /* length of the list */
+  $2 = PyList_Size($input);
+
+  /* the arrays */
+  array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *));
+  object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *));
+  is_new_object_array = (int *)calloc($2,sizeof(int));
+
+  if (array == NULL || object_array == NULL || is_new_object_array == NULL)
+  {
+    SWIG_fail;
+  }
+
+  for (i=0; i<$2; i++)
+  {
+    temp_array = obj_to_array_contiguous_allow_conversion(PySequence_GetItem($input,i), DATA_TYPECODE, &is_new_object);
+
+    /* the new array must be stored so that it can be destroyed in freearg */
+    object_array[i] = temp_array;
+    is_new_object_array[i] = is_new_object;
+
+    if (!temp_array || !require_dimensions(temp_array, 2)) SWIG_fail;
+
+    /* store the size of the first array in the list, then use that for comparison. */
+    if (i == 0)
+    {
+      size[0] = array_size(temp_array,0);
+      size[1] = array_size(temp_array,1);
+    }
+    
+    if (!require_size(temp_array, size, 2)) SWIG_fail;
+
+    array[i] = (DATA_TYPE*) array_data(temp_array);
+  }
+
+  $1 = (DATA_TYPE**) array;
+  $3 = (DIM_TYPE) size[0];
+  $4 = (DIM_TYPE) size[1];
+}
+%typemap(freearg)
+  (DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  Py_ssize_t i;
+
+  if (array$argnum!=NULL) free(array$argnum);
+
+  /*freeing the individual arrays if needed */
+  if (object_array$argnum!=NULL)
+  {
+    if (is_new_object_array$argnum!=NULL)
+    {
+      for (i=0; i<$2; i++)
+      {
+        if (object_array$argnum[i] != NULL && is_new_object_array$argnum[i])
+        { Py_DECREF(object_array$argnum[i]); }
+      }
+      free(is_new_object_array$argnum);
+    }
+    free(object_array$argnum);
+  }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
+ *                    DATA_TYPE* IN_ARRAY3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[3] = { -1, -1, -1 };
+  array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 3) ||
+      !require_size(array, size, 3)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[3] = { -1, -1, -1 };
+  array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE,
+                                                &is_new_object);
+  if (!array || !require_dimensions(array, 3) ||
+      !require_size(array, size, 3) | !require_fortran(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
+ *                    DATA_TYPE* IN_FARRAY3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[3] = { -1, -1, -1 };
+  array = obj_to_array_contiguous_allow_conversion($input,
+                                                   DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 3) ||
+      !require_size(array, size, 3) || !require_fortran(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY])
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY])
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[4] = { $1_dim0, $1_dim1, $1_dim2 , $1_dim3};
+  array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 4) ||
+      !require_size(array, size, 4)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(freearg)
+  (DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY])
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3, DIM_TYPE DIM4)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[4] = { -1, -1, -1, -1 };
+  array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 4) ||
+      !require_size(array, size, 4)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+  $5 = (DIM_TYPE) array_size(array,3);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3, DIM_TYPE DIM4)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+{
+  /* for now, only concerned with lists */
+  $1 = PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+  (DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL, int* is_new_object_array=NULL)
+{
+  npy_intp size[3] = { -1, -1, -1 };
+  PyArrayObject* temp_array;
+  Py_ssize_t i;
+  int is_new_object;
+
+  /* length of the list */
+  $2 = PyList_Size($input);
+
+  /* the arrays */
+  array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *));
+  object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *));
+  is_new_object_array = (int *)calloc($2,sizeof(int));
+
+  if (array == NULL || object_array == NULL || is_new_object_array == NULL)
+  {
+    SWIG_fail;
+  }
+
+  for (i=0; i<$2; i++)
+  {
+    temp_array = obj_to_array_contiguous_allow_conversion(PySequence_GetItem($input,i), DATA_TYPECODE, &is_new_object);
+
+    /* the new array must be stored so that it can be destroyed in freearg */
+    object_array[i] = temp_array;
+    is_new_object_array[i] = is_new_object;
+
+    if (!temp_array || !require_dimensions(temp_array, 3)) SWIG_fail;
+
+    /* store the size of the first array in the list, then use that for comparison. */
+    if (i == 0)
+    {
+      size[0] = array_size(temp_array,0);
+      size[1] = array_size(temp_array,1);
+      size[2] = array_size(temp_array,2);
+    }
+    
+    if (!require_size(temp_array, size, 3)) SWIG_fail;
+
+    array[i] = (DATA_TYPE*) array_data(temp_array);
+  }
+
+  $1 = (DATA_TYPE**) array;
+  $3 = (DIM_TYPE) size[0];
+  $4 = (DIM_TYPE) size[1];
+  $5 = (DIM_TYPE) size[2];
+}
+%typemap(freearg)
+  (DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+{
+  Py_ssize_t i;
+
+  if (array$argnum!=NULL) free(array$argnum);
+
+  /*freeing the individual arrays if needed */
+  if (object_array$argnum!=NULL)
+  {
+    if (is_new_object_array$argnum!=NULL)
+    {
+      for (i=0; i<$2; i++)
+      {
+        if (object_array$argnum[i] != NULL && is_new_object_array$argnum[i])
+        { Py_DECREF(object_array$argnum[i]); }
+      }
+      free(is_new_object_array$argnum);
+    }
+    free(object_array$argnum);
+  }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4,
+ *                    DATA_TYPE* IN_ARRAY4)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_ARRAY4)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_ARRAY4)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[4] = { -1, -1, -1 , -1};
+  array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 4) ||
+      !require_size(array, size, 4)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DIM_TYPE) array_size(array,3);
+  $5 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_ARRAY4)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3, DIM_TYPE DIM4)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[4] = { -1, -1, -1, -1 };
+  array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE,
+                                                &is_new_object);
+  if (!array || !require_dimensions(array, 4) ||
+      !require_size(array, size, 4) | !require_fortran(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+  $5 = (DIM_TYPE) array_size(array,3);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4,
+ *                    DATA_TYPE* IN_FARRAY4)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_FARRAY4)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_FARRAY4)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[4] = { -1, -1, -1 , -1 };
+  array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 4) ||
+      !require_size(array, size, 4) || !require_fortran(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DIM_TYPE) array_size(array,3);
+  $5 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_FARRAY4)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/***************************/
+/* In-Place Array Typemaps */
+/***************************/
+
+/* Typemap suite for (DATA_TYPE INPLACE_ARRAY1[ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE INPLACE_ARRAY1[ANY])
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE INPLACE_ARRAY1[ANY])
+  (PyArrayObject* array=NULL)
+{
+  npy_intp size[1] = { $1_dim0 };
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,1) || !require_size(array, size, 1) ||
+      !require_contiguous(array) || !require_native(array)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1)
+  (PyArrayObject* array=NULL, int i=1)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,1) || !require_contiguous(array)
+      || !require_native(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = 1;
+  for (i=0; i < array_numdims(array); ++i) $2 *= array_size(array,i);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1)
+  (PyArrayObject* array=NULL, int i=0)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,1) || !require_contiguous(array)
+      || !require_native(array)) SWIG_fail;
+  $1 = 1;
+  for (i=0; i < array_numdims(array); ++i) $1 *= array_size(array,i);
+  $2 = (DATA_TYPE*) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE INPLACE_ARRAY2[ANY][ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE INPLACE_ARRAY2[ANY][ANY])
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE INPLACE_ARRAY2[ANY][ANY])
+  (PyArrayObject* array=NULL)
+{
+  npy_intp size[2] = { $1_dim0, $1_dim1 };
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,2) || !require_size(array, size, 2) ||
+      !require_contiguous(array) || !require_native(array)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,2) || !require_contiguous(array)
+      || !require_native(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,2) || !require_contiguous(array) ||
+      !require_native(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DATA_TYPE*) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,2) || !require_contiguous(array)
+      || !require_native(array) || !require_fortran(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,2) || !require_contiguous(array) ||
+      !require_native(array) || !require_fortran(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DATA_TYPE*) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY])
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY])
+  (PyArrayObject* array=NULL)
+{
+  npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 };
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,3) || !require_size(array, size, 3) ||
+      !require_contiguous(array) || !require_native(array)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,3) || !require_contiguous(array) ||
+      !require_native(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+}
+
+/* Typemap suite for (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  $1 = PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+  (DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL)
+{
+  npy_intp size[2] = { -1, -1 };
+  PyArrayObject* temp_array;
+  Py_ssize_t i;
+
+  /* length of the list */
+  $2 = PyList_Size($input);
+
+  /* the arrays */
+  array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *));
+  object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *));
+
+  if (array == NULL || object_array == NULL)
+  {
+    SWIG_fail;
+  }
+
+  for (i=0; i<$2; i++)
+  {
+    temp_array = obj_to_array_no_conversion(PySequence_GetItem($input,i), DATA_TYPECODE);
+
+    /* the new array must be stored so that it can be destroyed in freearg */
+    object_array[i] = temp_array;
+
+    if ( !temp_array || !require_dimensions(temp_array, 2) ||
+      !require_contiguous(temp_array) ||
+      !require_native(temp_array) ||
+      !PyArray_EquivTypenums(array_type(temp_array), DATA_TYPECODE)
+    ) SWIG_fail;
+
+    /* store the size of the first array in the list, then use that for comparison. */
+    if (i == 0)
+    {
+      size[0] = array_size(temp_array,0);
+      size[1] = array_size(temp_array,1);
+    }
+    
+    if (!require_size(temp_array, size, 2)) SWIG_fail;
+
+    array[i] = (DATA_TYPE*) array_data(temp_array);
+  }
+
+  $1 = (DATA_TYPE**) array;
+  $3 = (DIM_TYPE) size[0];
+  $4 = (DIM_TYPE) size[1];
+}
+%typemap(freearg)
+  (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  if (array$argnum!=NULL) free(array$argnum);
+  if (object_array$argnum!=NULL) free(object_array$argnum);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
+ *                    DATA_TYPE* INPLACE_ARRAY3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,3) || !require_contiguous(array)
+      || !require_native(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DATA_TYPE*) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,3) || !require_contiguous(array) ||
+      !require_native(array) || !require_fortran(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
+ *                    DATA_TYPE* INPLACE_FARRAY3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,3) || !require_contiguous(array)
+      || !require_native(array) || !require_fortran(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DATA_TYPE*) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE INPLACE_ARRAY4[ANY][ANY][ANY][ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE INPLACE_ARRAY4[ANY][ANY][ANY][ANY])
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE INPLACE_ARRAY4[ANY][ANY][ANY][ANY])
+  (PyArrayObject* array=NULL)
+{
+  npy_intp size[4] = { $1_dim0, $1_dim1, $1_dim2 , $1_dim3 };
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,4) || !require_size(array, size, 4) ||
+      !require_contiguous(array) || !require_native(array)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3, DIM_TYPE DIM4)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,4) || !require_contiguous(array) ||
+      !require_native(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+  $5 = (DIM_TYPE) array_size(array,3);
+}
+
+/* Typemap suite for (DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3, DIM_TYPE DIM4)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+{
+  $1 = PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+  (DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL)
+{
+  npy_intp size[3] = { -1, -1, -1 };
+  PyArrayObject* temp_array;
+  Py_ssize_t i;
+
+  /* length of the list */
+  $2 = PyList_Size($input);
+
+  /* the arrays */
+  array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *));
+  object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *));
+
+  if (array == NULL || object_array == NULL)
+  {
+    SWIG_fail;
+  }
+
+  for (i=0; i<$2; i++)
+  {
+    temp_array = obj_to_array_no_conversion(PySequence_GetItem($input,i), DATA_TYPECODE);
+
+    /* the new array must be stored so that it can be destroyed in freearg */
+    object_array[i] = temp_array;
+
+    if ( !temp_array || !require_dimensions(temp_array, 3) ||
+      !require_contiguous(temp_array) ||
+      !require_native(temp_array) ||
+      !PyArray_EquivTypenums(array_type(temp_array), DATA_TYPECODE)
+    ) SWIG_fail;
+
+    /* store the size of the first array in the list, then use that for comparison. */
+    if (i == 0)
+    {
+      size[0] = array_size(temp_array,0);
+      size[1] = array_size(temp_array,1);
+      size[2] = array_size(temp_array,2);
+    }
+    
+    if (!require_size(temp_array, size, 3)) SWIG_fail;
+
+    array[i] = (DATA_TYPE*) array_data(temp_array);
+  }
+
+  $1 = (DATA_TYPE**) array;
+  $3 = (DIM_TYPE) size[0];
+  $4 = (DIM_TYPE) size[1];
+  $5 = (DIM_TYPE) size[2];
+}
+%typemap(freearg)
+  (DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+{
+  if (array$argnum!=NULL) free(array$argnum);
+  if (object_array$argnum!=NULL) free(object_array$argnum);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4,
+ *                    DATA_TYPE* INPLACE_ARRAY4)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_ARRAY4)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_ARRAY4)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,4) || !require_contiguous(array)
+      || !require_native(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DIM_TYPE) array_size(array,3);
+  $5 = (DATA_TYPE*) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3, DIM_TYPE DIM4)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,4) || !require_contiguous(array) ||
+      !require_native(array) || !require_fortran(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+  $5 = (DIM_TYPE) array_size(array,3);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
+ *                    DATA_TYPE* INPLACE_FARRAY4)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_FARRAY4)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_FARRAY4)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,4) || !require_contiguous(array)
+      || !require_native(array) || !require_fortran(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DIM_TYPE) array_size(array,3);
+  $5 = (DATA_TYPE*) array_data(array);
+}
+
+/*************************/
+/* Argout Array Typemaps */
+/*************************/
+
+/* Typemap suite for (DATA_TYPE ARGOUT_ARRAY1[ANY])
+ */
+%typemap(in,numinputs=0,
+         fragment="NumPy_Backward_Compatibility,NumPy_Macros")
+  (DATA_TYPE ARGOUT_ARRAY1[ANY])
+  (PyObject* array = NULL)
+{
+  npy_intp dims[1] = { $1_dim0 };
+  array = PyArray_SimpleNew(1, dims, DATA_TYPECODE);
+  if (!array) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(argout)
+  (DATA_TYPE ARGOUT_ARRAY1[ANY])
+{
+  $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
+}
+
+/* Typemap suite for (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
+ */
+%typemap(in,numinputs=1,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
+  (PyObject* array = NULL)
+{
+  npy_intp dims[1];
+  if (!PyInt_Check($input))
+  {
+    const char* typestring = pytype_string($input);
+    PyErr_Format(PyExc_TypeError,
+                 "Int dimension expected.  '%s' given.",
+                 typestring);
+    SWIG_fail;
+  }
+  $2 = (DIM_TYPE) PyInt_AsLong($input);
+  dims[0] = (npy_intp) $2;
+  array = PyArray_SimpleNew(1, dims, DATA_TYPECODE);
+  if (!array) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+}
+%typemap(argout)
+  (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
+{
+  $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
+ */
+%typemap(in,numinputs=1,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
+  (PyObject* array = NULL)
+{
+  npy_intp dims[1];
+  if (!PyInt_Check($input))
+  {
+    const char* typestring = pytype_string($input);
+    PyErr_Format(PyExc_TypeError,
+                 "Int dimension expected.  '%s' given.",
+                 typestring);
+    SWIG_fail;
+  }
+  $1 = (DIM_TYPE) PyInt_AsLong($input);
+  dims[0] = (npy_intp) $1;
+  array = PyArray_SimpleNew(1, dims, DATA_TYPECODE);
+  if (!array) SWIG_fail;
+  $2 = (DATA_TYPE*) array_data(array);
+}
+%typemap(argout)
+  (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
+{
+  $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
+}
+
+/* Typemap suite for (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
+ */
+%typemap(in,numinputs=0,
+         fragment="NumPy_Backward_Compatibility,NumPy_Macros")
+  (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
+  (PyObject* array = NULL)
+{
+  npy_intp dims[2] = { $1_dim0, $1_dim1 };
+  array = PyArray_SimpleNew(2, dims, DATA_TYPECODE);
+  if (!array) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(argout)
+  (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
+{
+  $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
+}
+
+/* Typemap suite for (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
+ */
+%typemap(in,numinputs=0,
+         fragment="NumPy_Backward_Compatibility,NumPy_Macros")
+  (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
+  (PyObject* array = NULL)
+{
+  npy_intp dims[3] = { $1_dim0, $1_dim1, $1_dim2 };
+  array = PyArray_SimpleNew(3, dims, DATA_TYPECODE);
+  if (!array) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(argout)
+  (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
+{
+  $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
+}
+
+/* Typemap suite for (DATA_TYPE ARGOUT_ARRAY4[ANY][ANY][ANY][ANY])
+ */
+%typemap(in,numinputs=0,
+         fragment="NumPy_Backward_Compatibility,NumPy_Macros")
+  (DATA_TYPE ARGOUT_ARRAY4[ANY][ANY][ANY][ANY])
+  (PyObject* array = NULL)
+{
+  npy_intp dims[4] = { $1_dim0, $1_dim1, $1_dim2, $1_dim3 };
+  array = PyArray_SimpleNew(4, dims, DATA_TYPECODE);
+  if (!array) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(argout)
+  (DATA_TYPE ARGOUT_ARRAY4[ANY][ANY][ANY][ANY])
+{
+  $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
+}
+
+/*****************************/
+/* Argoutview Array Typemaps */
+/*****************************/
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1    )
+  (DATA_TYPE*  data_temp = NULL , DIM_TYPE  dim_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1)
+{
+  npy_intp dims[1] = { *$2 };
+  PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DATA_TYPE** ARGOUTVIEW_ARRAY1)
+  (DIM_TYPE  dim_temp, DATA_TYPE*  data_temp = NULL )
+{
+  $1 = &dim_temp;
+  $2 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1)
+{
+  npy_intp dims[1] = { *$1 };
+  PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$2));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1     , DIM_TYPE* DIM2     )
+  (DATA_TYPE*  data_temp = NULL , DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+{
+  npy_intp dims[2] = { *$2, *$3 };
+  PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1     , DIM_TYPE* DIM2     , DATA_TYPE** ARGOUTVIEW_ARRAY2)
+  (DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp, DATA_TYPE*  data_temp = NULL )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2)
+{
+  npy_intp dims[2] = { *$1, *$2 };
+  PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1     , DIM_TYPE* DIM2     )
+  (DATA_TYPE*  data_temp = NULL  , DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+{
+  npy_intp dims[2] = { *$2, *$3 };
+  PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || !require_fortran(array)) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1     , DIM_TYPE* DIM2     , DATA_TYPE** ARGOUTVIEW_FARRAY2)
+  (DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp, DATA_TYPE*  data_temp = NULL  )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2)
+{
+  npy_intp dims[2] = { *$1, *$2 };
+  PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || !require_fortran(array)) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    )
+  (DATA_TYPE* data_temp = NULL  , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+{
+  npy_intp dims[3] = { *$2, *$3, *$4 };
+  PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3,
+                      DATA_TYPE** ARGOUTVIEW_ARRAY3)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL)
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
+{
+  npy_intp dims[3] = { *$1, *$2, *$3 };
+  PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    )
+  (DATA_TYPE* data_temp = NULL   , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+{
+  npy_intp dims[3] = { *$2, *$3, *$4 };
+  PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || require_fortran(array)) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3,
+                      DATA_TYPE** ARGOUTVIEW_FARRAY3)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DATA_TYPE** ARGOUTVIEW_FARRAY3)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL   )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3)
+{
+  npy_intp dims[3] = { *$1, *$2, *$3 };
+  PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || require_fortran(array)) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    )
+  (DATA_TYPE* data_temp = NULL  , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+  $5 = &dim4_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+{
+  npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
+                      DATA_TYPE** ARGOUTVIEW_ARRAY4)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    , DATA_TYPE** ARGOUTVIEW_ARRAY4)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL  )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &dim4_temp;
+  $5 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEW_ARRAY4)
+{
+  npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_FARRAY4, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    )
+  (DATA_TYPE* data_temp = NULL   , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+  $5 = &dim4_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DATA_TYPE** ARGOUTVIEW_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+{
+  npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || require_fortran(array)) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
+                      DATA_TYPE** ARGOUTVIEW_FARRAY4)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    , DATA_TYPE** ARGOUTVIEW_FARRAY4)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL   )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &dim4_temp;
+  $5 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEW_FARRAY4)
+{
+  npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || require_fortran(array)) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/*************************************/
+/* Managed Argoutview Array Typemaps */
+/*************************************/
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_ARRAY1, DIM_TYPE* DIM1)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEWM_ARRAY1, DIM_TYPE* DIM1    )
+  (DATA_TYPE*  data_temp = NULL  , DIM_TYPE  dim_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEWM_ARRAY1, DIM_TYPE* DIM1)
+{
+  npy_intp dims[1] = { *$2 };
+  PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+  
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEWM_ARRAY1)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DATA_TYPE** ARGOUTVIEWM_ARRAY1)
+  (DIM_TYPE  dim_temp, DATA_TYPE*  data_temp = NULL  )
+{
+  $1 = &dim_temp;
+  $2 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEWM_ARRAY1)
+{
+  npy_intp dims[1] = { *$1 };
+  PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$2));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+  
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEWM_ARRAY2, DIM_TYPE* DIM1     , DIM_TYPE* DIM2     )
+  (DATA_TYPE*  data_temp = NULL  , DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEWM_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+{
+  npy_intp dims[2] = { *$2, *$3 };
+  PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_ARRAY2)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1     , DIM_TYPE* DIM2     , DATA_TYPE** ARGOUTVIEWM_ARRAY2)
+  (DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp, DATA_TYPE*  data_temp = NULL  )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_ARRAY2)
+{
+  npy_intp dims[2] = { *$1, *$2 };
+  PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEWM_FARRAY2, DIM_TYPE* DIM1     , DIM_TYPE* DIM2     )
+  (DATA_TYPE*  data_temp = NULL   , DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DATA_TYPE** ARGOUTVIEWM_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+{
+  npy_intp dims[2] = { *$2, *$3 };
+  PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || !require_fortran(array)) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_FARRAY2)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1     , DIM_TYPE* DIM2     , DATA_TYPE** ARGOUTVIEWM_FARRAY2)
+  (DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp, DATA_TYPE*  data_temp = NULL   )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_FARRAY2)
+{
+  npy_intp dims[2] = { *$1, *$2 };
+  PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || !require_fortran(array)) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEWM_ARRAY3, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    )
+  (DATA_TYPE* data_temp = NULL   , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEWM_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+{
+  npy_intp dims[3] = { *$2, *$3, *$4 };
+  PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3,
+                      DATA_TYPE** ARGOUTVIEWM_ARRAY3)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DATA_TYPE** ARGOUTVIEWM_ARRAY3)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL   )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEWM_ARRAY3)
+{
+  npy_intp dims[3] = { *$1, *$2, *$3 };
+  PyObject* obj= PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    )
+  (DATA_TYPE* data_temp = NULL    , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+{
+  npy_intp dims[3] = { *$2, *$3, *$4 };
+  PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || require_fortran(array)) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3,
+                      DATA_TYPE** ARGOUTVIEWM_FARRAY3)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DATA_TYPE** ARGOUTVIEWM_FARRAY3)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL    )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEWM_FARRAY3)
+{
+  npy_intp dims[3] = { *$1, *$2, *$3 };
+  PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || require_fortran(array)) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    )
+  (DATA_TYPE* data_temp = NULL   , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+  $5 = &dim4_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+{
+  npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
+                      DATA_TYPE** ARGOUTVIEWM_ARRAY4)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    , DATA_TYPE** ARGOUTVIEWM_ARRAY4)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL   )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &dim4_temp;
+  $5 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_ARRAY4)
+{
+  npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    )
+  (DATA_TYPE* data_temp = NULL    , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+  $5 = &dim4_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+{
+  npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || require_fortran(array)) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
+                      DATA_TYPE** ARGOUTVIEWM_FARRAY4)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    , DATA_TYPE** ARGOUTVIEWM_FARRAY4)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL    )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &dim4_temp;
+  $5 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_FARRAY4)
+{
+  npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || require_fortran(array)) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    )
+  (DATA_TYPE* data_temp = NULL   , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+  $5 = &dim4_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+{
+  npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
+                      DATA_TYPE** ARGOUTVIEWM_ARRAY4)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    , DATA_TYPE** ARGOUTVIEWM_ARRAY4)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL   )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &dim4_temp;
+  $5 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_ARRAY4)
+{
+  npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    )
+  (DATA_TYPE* data_temp = NULL    , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+  $5 = &dim4_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
+{
+  npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || require_fortran(array)) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
+                      DATA_TYPE** ARGOUTVIEWM_FARRAY4)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    , DATA_TYPE** ARGOUTVIEWM_FARRAY4)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL    )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &dim4_temp;
+  $5 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_FARRAY4)
+{
+  npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
+  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
+  PyArrayObject* array = (PyArrayObject*) obj;
+
+  if (!array || require_fortran(array)) SWIG_fail;
+
+%#ifdef SWIGPY_USE_CAPSULE
+    PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
+%#else
+    PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
+%#endif
+
+%#if NPY_API_VERSION < 0x00000007
+  PyArray_BASE(array) = cap;
+%#else
+  PyArray_SetBaseObject(array,cap);
+%#endif
+
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+%enddef    /* %numpy_typemaps() macro */
+/* *************************************************************** */
+
+/* Concrete instances of the %numpy_typemaps() macro: Each invocation
+ * below applies all of the typemaps above to the specified data type.
+ */
+%numpy_typemaps(signed char       , NPY_BYTE     , int)
+%numpy_typemaps(unsigned char     , NPY_UBYTE    , int)
+%numpy_typemaps(short             , NPY_SHORT    , int)
+%numpy_typemaps(unsigned short    , NPY_USHORT   , int)
+%numpy_typemaps(int               , NPY_INT      , int)
+%numpy_typemaps(unsigned int      , NPY_UINT     , int)
+%numpy_typemaps(long              , NPY_LONG     , int)
+%numpy_typemaps(unsigned long     , NPY_ULONG    , int)
+%numpy_typemaps(long long         , NPY_LONGLONG , int)
+%numpy_typemaps(unsigned long long, NPY_ULONGLONG, int)
+%numpy_typemaps(float             , NPY_FLOAT    , int)
+%numpy_typemaps(double            , NPY_DOUBLE   , int)
+
+/* ***************************************************************
+ * The follow macro expansion does not work, because C++ bool is 4
+ * bytes and NPY_BOOL is 1 byte
+ *
+ *    %numpy_typemaps(bool, NPY_BOOL, int)
+ */
+
+/* ***************************************************************
+ * On my Mac, I get the following warning for this macro expansion:
+ * 'swig/python detected a memory leak of type 'long double *', no destructor found.'
+ *
+ *    %numpy_typemaps(long double, NPY_LONGDOUBLE, int)
+ */
+
+/* ***************************************************************
+ * Swig complains about a syntax error for the following macro
+ * expansions:
+ *
+ *    %numpy_typemaps(complex float,  NPY_CFLOAT , int)
+ *
+ *    %numpy_typemaps(complex double, NPY_CDOUBLE, int)
+ *
+ *    %numpy_typemaps(complex long double, NPY_CLONGDOUBLE, int)
+ */
+
+#endif /* SWIGPYTHON */
diff --git a/wrappers/Python/include/rr_numpy.i b/wrappers/Python/include/rr_numpy.i
new file mode 100644
index 0000000..365cedc
--- /dev/null
+++ b/wrappers/Python/include/rr_numpy.i
@@ -0,0 +1,1723 @@
+/* -*- C -*-  (not really, but good for syntax highlighting) */
+#ifdef SWIGPYTHON
+
+%{
+#ifndef SWIG_FILE_WITH_INIT
+#  define NO_IMPORT_ARRAY
+#endif
+#include "stdio.h"
+#include <numpy/arrayobject.h>
+%}
+
+/**********************************************************************/
+
+%fragment("NumPy_Backward_Compatibility", "header")
+{
+/* Support older NumPy data type names
+*/
+%#if NDARRAY_VERSION < 0x01000000
+%#define NPY_BOOL          PyArray_BOOL
+%#define NPY_BYTE          PyArray_BYTE
+%#define NPY_UBYTE         PyArray_UBYTE
+%#define NPY_SHORT         PyArray_SHORT
+%#define NPY_USHORT        PyArray_USHORT
+%#define NPY_INT           PyArray_INT
+%#define NPY_UINT          PyArray_UINT
+%#define NPY_LONG          PyArray_LONG
+%#define NPY_ULONG         PyArray_ULONG
+%#define NPY_LONGLONG      PyArray_LONGLONG
+%#define NPY_ULONGLONG     PyArray_ULONGLONG
+%#define NPY_FLOAT         PyArray_FLOAT
+%#define NPY_DOUBLE        PyArray_DOUBLE
+%#define NPY_LONGDOUBLE    PyArray_LONGDOUBLE
+%#define NPY_CFLOAT        PyArray_CFLOAT
+%#define NPY_CDOUBLE       PyArray_CDOUBLE
+%#define NPY_CLONGDOUBLE   PyArray_CLONGDOUBLE
+%#define NPY_OBJECT        PyArray_OBJECT
+%#define NPY_STRING        PyArray_STRING
+%#define NPY_UNICODE       PyArray_UNICODE
+%#define NPY_VOID          PyArray_VOID
+%#define NPY_NTYPES        PyArray_NTYPES
+%#define NPY_NOTYPE        PyArray_NOTYPE
+%#define NPY_CHAR          PyArray_CHAR
+%#define NPY_USERDEF       PyArray_USERDEF
+%#define npy_intp          intp
+
+%#define NPY_MAX_BYTE      MAX_BYTE
+%#define NPY_MIN_BYTE      MIN_BYTE
+%#define NPY_MAX_UBYTE     MAX_UBYTE
+%#define NPY_MAX_SHORT     MAX_SHORT
+%#define NPY_MIN_SHORT     MIN_SHORT
+%#define NPY_MAX_USHORT    MAX_USHORT
+%#define NPY_MAX_INT       MAX_INT
+%#define NPY_MIN_INT       MIN_INT
+%#define NPY_MAX_UINT      MAX_UINT
+%#define NPY_MAX_LONG      MAX_LONG
+%#define NPY_MIN_LONG      MIN_LONG
+%#define NPY_MAX_ULONG     MAX_ULONG
+%#define NPY_MAX_LONGLONG  MAX_LONGLONG
+%#define NPY_MIN_LONGLONG  MIN_LONGLONG
+%#define NPY_MAX_ULONGLONG MAX_ULONGLONG
+%#define NPY_MAX_INTP      MAX_INTP
+%#define NPY_MIN_INTP      MIN_INTP
+
+%#define NPY_FARRAY        FARRAY
+%#define NPY_F_CONTIGUOUS  F_CONTIGUOUS
+%#endif
+}
+
+/**********************************************************************/
+
+/* The following code originally appeared in
+ * enthought/kiva/agg/src/numeric.i written by Eric Jones.  It was
+ * translated from C++ to C by John Hunter.  Bill Spotz has modified
+ * it to fix some minor bugs, upgrade from Numeric to numpy (all
+ * versions), add some comments and functionality, and convert from
+ * direct code insertion to SWIG fragments.
+ */
+
+%fragment("NumPy_Macros", "header")
+{
+/* Macros to extract array attributes.
+ */
+%#define is_array(a)            ((a) && PyArray_Check((PyArrayObject *)a))
+%#define array_type(a)          (int)(PyArray_TYPE(a))
+%#define array_numdims(a)       (((PyArrayObject *)a)->nd)
+%#define array_dimensions(a)    (((PyArrayObject *)a)->dimensions)
+%#define array_size(a,i)        (((PyArrayObject *)a)->dimensions[i])
+%#define array_data(a)          (((PyArrayObject *)a)->data)
+%#define array_is_contiguous(a) (PyArray_ISCONTIGUOUS(a))
+%#define array_is_native(a)     (PyArray_ISNOTSWAPPED(a))
+%#define array_is_fortran(a)    (PyArray_ISFORTRAN(a))
+}
+
+/**********************************************************************/
+
+%fragment("NumPy_Utilities", "header")
+{
+  /* Given a PyObject, return a string describing its type.
+   */
+  const char* pytype_string(PyObject* py_obj) {
+    if (py_obj == NULL          ) return "C NULL value";
+    if (py_obj == Py_None       ) return "Python None" ;
+    if (PyCallable_Check(py_obj)) return "callable"    ;
+    if (PyString_Check(  py_obj)) return "string"      ;
+    if (PyInt_Check(     py_obj)) return "int"         ;
+    if (PyFloat_Check(   py_obj)) return "float"       ;
+    if (PyDict_Check(    py_obj)) return "dict"        ;
+    if (PyList_Check(    py_obj)) return "list"        ;
+    if (PyTuple_Check(   py_obj)) return "tuple"       ;
+    if (PyFile_Check(    py_obj)) return "file"        ;
+    if (PyModule_Check(  py_obj)) return "module"      ;
+    if (PyInstance_Check(py_obj)) return "instance"    ;
+
+    return "unkown type";
+  }
+
+  /* Given a NumPy typecode, return a string describing the type.
+   */
+  const char* typecode_string(int typecode) {
+    static const char* type_names[25] = {"bool", "byte", "unsigned byte",
+                                   "short", "unsigned short", "int",
+                                   "unsigned int", "long", "unsigned long",
+                                   "long long", "unsigned long long",
+                                   "float", "double", "long double",
+                                   "complex float", "complex double",
+                                   "complex long double", "object",
+                                   "string", "unicode", "void", "ntypes",
+                                   "notype", "char", "unknown"};
+    return typecode < 24 ? type_names[typecode] : type_names[24];
+  }
+
+  /* Make sure input has correct numpy type.  Allow character and byte
+   * to match.  Also allow int and long to match.  This is deprecated.
+   * You should use PyArray_EquivTypenums() instead.
+   */
+  int type_match(int actual_type, int desired_type) {
+    return PyArray_EquivTypenums(actual_type, desired_type);
+  }
+}
+
+/**********************************************************************/
+
+%fragment("NumPy_Object_to_Array", "header",
+          fragment="NumPy_Backward_Compatibility",
+          fragment="NumPy_Macros",
+          fragment="NumPy_Utilities")
+{
+  /* Given a PyObject pointer, cast it to a PyArrayObject pointer if
+   * legal.  If not, set the python error string appropriately and
+   * return NULL.
+   */
+  PyArrayObject* obj_to_array_no_conversion(PyObject* input, int typecode)
+  {
+    PyArrayObject* ary = NULL;
+    if (is_array(input) && (typecode == NPY_NOTYPE ||
+                            PyArray_EquivTypenums(array_type(input), typecode)))
+    {
+      ary = (PyArrayObject*) input;
+    }
+    else if is_array(input)
+    {
+      const char* desired_type = typecode_string(typecode);
+      const char* actual_type  = typecode_string(array_type(input));
+      PyErr_Format(PyExc_TypeError,
+                   "Array of type '%s' required.  Array of type '%s' given",
+                   desired_type, actual_type);
+      ary = NULL;
+    }
+    else
+    {
+      const char * desired_type = typecode_string(typecode);
+      const char * actual_type  = pytype_string(input);
+      PyErr_Format(PyExc_TypeError,
+                   "Array of type '%s' required.  A '%s' was given",
+                   desired_type, actual_type);
+      ary = NULL;
+    }
+    return ary;
+  }
+
+  /* Convert the given PyObject to a NumPy array with the given
+   * typecode.  On success, return a valid PyArrayObject* with the
+   * correct type.  On failure, the python error string will be set and
+   * the routine returns NULL.
+   */
+  PyArrayObject* obj_to_array_allow_conversion(PyObject* input, int typecode,
+                                               int* is_new_object)
+  {
+    PyArrayObject* ary = NULL;
+    PyObject* py_obj;
+    if (is_array(input) && (typecode == NPY_NOTYPE ||
+                            PyArray_EquivTypenums(array_type(input),typecode)))
+    {
+      ary = (PyArrayObject*) input;
+      *is_new_object = 0;
+    }
+    else
+    {
+      py_obj = PyArray_FROMANY(input, typecode, 0, 0, NPY_DEFAULT);
+      /* If NULL, PyArray_FromObject will have set python error value.*/
+      ary = (PyArrayObject*) py_obj;
+      *is_new_object = 1;
+    }
+    return ary;
+  }
+
+  /* Given a PyArrayObject, check to see if it is contiguous.  If so,
+   * return the input pointer and flag it as not a new object.  If it is
+   * not contiguous, create a new PyArrayObject using the original data,
+   * flag it as a new object and return the pointer.
+   */
+  PyArrayObject* make_contiguous(PyArrayObject* ary, int* is_new_object,
+                                 int min_dims, int max_dims)
+  {
+    PyArrayObject* result;
+    if (array_is_contiguous(ary))
+    {
+      result = ary;
+      *is_new_object = 0;
+    }
+    else
+    {
+      result = (PyArrayObject*) PyArray_ContiguousFromObject((PyObject*)ary,
+                                                             array_type(ary),
+                                                             min_dims,
+                                                             max_dims);
+      *is_new_object = 1;
+    }
+    return result;
+  }
+
+  /* Given a PyArrayObject, check to see if it is Fortran-contiguous.
+   * If so, return the input pointer, but do not flag it as not a new
+   * object.  If it is not Fortran-contiguous, create a new
+   * PyArrayObject using the original data, flag it as a new object
+   * and return the pointer.
+   */
+  PyArrayObject* make_fortran(PyArrayObject* ary, int* is_new_object,
+                              int min_dims, int max_dims)
+  {
+    PyArrayObject* result;
+    if (array_is_fortran(ary))
+    {
+      result = ary;
+      *is_new_object = 0;
+    }
+    else
+    {
+      Py_INCREF(ary->descr);
+      result = (PyArrayObject*) PyArray_FromArray(ary, ary->descr, NPY_FORTRAN);
+      *is_new_object = 1;
+    }
+    return result;
+  }
+
+  /* Convert a given PyObject to a contiguous PyArrayObject of the
+   * specified type.  If the input object is not a contiguous
+   * PyArrayObject, a new one will be created and the new object flag
+   * will be set.
+   */
+  PyArrayObject* obj_to_array_contiguous_allow_conversion(PyObject* input,
+                                                          int typecode,
+                                                          int* is_new_object)
+  {
+    int is_new1 = 0;
+    int is_new2 = 0;
+    PyArrayObject* ary2;
+    PyArrayObject* ary1 = obj_to_array_allow_conversion(input, typecode,
+                                                        &is_new1);
+    if (ary1)
+    {
+      ary2 = make_contiguous(ary1, &is_new2, 0, 0);
+      if ( is_new1 && is_new2)
+      {
+        Py_DECREF(ary1);
+      }
+      ary1 = ary2;
+    }
+    *is_new_object = is_new1 || is_new2;
+    return ary1;
+  }
+
+  /* Convert a given PyObject to a Fortran-ordered PyArrayObject of the
+   * specified type.  If the input object is not a Fortran-ordered
+   * PyArrayObject, a new one will be created and the new object flag
+   * will be set.
+   */
+  PyArrayObject* obj_to_array_fortran_allow_conversion(PyObject* input,
+                                                       int typecode,
+                                                       int* is_new_object)
+  {
+    int is_new1 = 0;
+    int is_new2 = 0;
+    PyArrayObject* ary2;
+    PyArrayObject* ary1 = obj_to_array_allow_conversion(input, typecode,
+                                                        &is_new1);
+    if (ary1)
+    {
+      ary2 = make_fortran(ary1, &is_new2, 0, 0);
+      if (is_new1 && is_new2)
+      {
+        Py_DECREF(ary1);
+      }
+      ary1 = ary2;
+    }
+    *is_new_object = is_new1 || is_new2;
+    return ary1;
+  }
+
+  /* The following code was added by Ilmar M. Wilbers for forcing a copy of the
+   * object even when it is a NumPy array. This is meant for use with the
+   * IN_ARRAY typemaps, and allows the user to perform changes on an array
+   * without these chenges being reflected in the calling code.
+   */
+
+  /* Convert the given PyObject to a NumPy array with the given
+   * typecode as a copy. On success, return a valid PyArrayObject* with the
+   * correct type.  On failure, the python error string will be set and
+   * the routine returns NULL.
+   */
+  PyArrayObject* obj_to_array_force_conversion(PyObject* input, int typecode,
+                                               int* is_new_object)
+  {
+    PyArrayObject* ary = NULL;
+    PyObject* py_obj;
+    if (is_array(input) && (typecode == NPY_NOTYPE ||
+                            PyArray_EquivTypenums(array_type(input),typecode)))
+    {
+      py_obj = PyArray_Copy((PyArrayObject*) input);
+      ary = (PyArrayObject*) py_obj;
+      *is_new_object = 1;
+    }
+    else
+    {
+      py_obj = PyArray_FROMANY(input, typecode, 0, 0, NPY_DEFAULT);
+      /* If NULL, PyArray_FromObject will have set python error value.*/
+      ary = (PyArrayObject*) py_obj;
+      *is_new_object = 1;
+    }
+    return ary;
+  }
+
+ /* Convert a given PyObject to a contiguous PyArrayObject of the
+   * specified type.  If the input object is not a contiguous
+   * PyArrayObject, a new one will be created and the new object flag
+   * will be set.
+   */
+  PyArrayObject* obj_to_array_contiguous_force_conversion(PyObject* input,
+                                                          int typecode,
+                                                          int* is_new_object)
+  {
+    int is_new1 = 0;
+    int is_new2 = 0;
+    PyArrayObject* ary2;
+    PyArrayObject* ary1 = obj_to_array_force_conversion(input, typecode,
+                                                        &is_new1);
+    if (ary1)
+    {
+      ary2 = make_contiguous(ary1, &is_new2, 0, 0);
+      if ( is_new1 && is_new2)
+      {
+        Py_DECREF(ary1);
+      }
+      ary1 = ary2;
+    }
+    *is_new_object = is_new1 || is_new2;
+    return ary1;
+  }
+
+  /* Convert a given PyObject to a Fortran-ordered PyArrayObject of the
+   * specified type.  If the input object is not a Fortran-ordered
+   * PyArrayObject, a new one will be created and the new object flag
+   * will be set.
+   */
+  PyArrayObject* obj_to_array_fortran_force_conversion(PyObject* input,
+                                                       int typecode,
+                                                       int* is_new_object)
+  {
+    int is_new1 = 0;
+    int is_new2 = 0;
+    PyArrayObject* ary2;
+    PyArrayObject* ary1 = obj_to_array_force_conversion(input, typecode,
+                                                        &is_new1);
+    if (ary1)
+    {
+      ary2 = make_fortran(ary1, &is_new2, 0, 0);
+      if (is_new1 && is_new2)
+      {
+        Py_DECREF(ary1);
+      }
+      ary1 = ary2;
+    }
+    *is_new_object = is_new1 || is_new2;
+    return ary1;
+  }
+  /* End modifications by Ilmar M. Wilbers
+   */
+
+} /* end fragment */
+
+
+/**********************************************************************/
+
+%fragment("NumPy_Array_Requirements", "header",
+          fragment="NumPy_Backward_Compatibility",
+          fragment="NumPy_Macros")
+{
+  /* Test whether a python object is contiguous.  If array is
+   * contiguous, return 1.  Otherwise, set the python error string and
+   * return 0.
+   */
+  int require_contiguous(PyArrayObject* ary)
+  {
+    int contiguous = 1;
+    if (!array_is_contiguous(ary))
+    {
+      PyErr_SetString(PyExc_TypeError,
+                      "Array must be contiguous.  A non-contiguous array was given");
+      contiguous = 0;
+    }
+    return contiguous;
+  }
+
+  /* Require that a numpy array is not byte-swapped.  If the array is
+   * not byte-swapped, return 1.  Otherwise, set the python error string
+   * and return 0.
+   */
+  int require_native(PyArrayObject* ary)
+  {
+    int native = 1;
+    if (!array_is_native(ary))
+    {
+      PyErr_SetString(PyExc_TypeError,
+                      "Array must have native byteorder.  "
+                      "A byte-swapped array was given");
+      native = 0;
+    }
+    return native;
+  }
+
+  /* Require the given PyArrayObject to have a specified number of
+   * dimensions.  If the array has the specified number of dimensions,
+   * return 1.  Otherwise, set the python error string and return 0.
+   */
+  int require_dimensions(PyArrayObject* ary, int exact_dimensions)
+  {
+    int success = 1;
+    if (array_numdims(ary) != exact_dimensions)
+    {
+      PyErr_Format(PyExc_TypeError,
+                   "Array must have %d dimensions.  Given array has %d dimensions",
+                   exact_dimensions, array_numdims(ary));
+      success = 0;
+    }
+    return success;
+  }
+
+  /* Require the given PyArrayObject to have one of a list of specified
+   * number of dimensions.  If the array has one of the specified number
+   * of dimensions, return 1.  Otherwise, set the python error string
+   * and return 0.
+   */
+  int require_dimensions_n(PyArrayObject* ary, int* exact_dimensions, int n)
+  {
+    int success = 0;
+    int i;
+    char dims_str[255] = "";
+    char s[255];
+    for (i = 0; i < n && !success; i++)
+    {
+      if (array_numdims(ary) == exact_dimensions[i])
+      {
+        success = 1;
+      }
+    }
+    if (!success)
+    {
+      for (i = 0; i < n-1; i++)
+      {
+        sprintf(s, "%d, ", exact_dimensions[i]);
+        strcat(dims_str,s);
+      }
+      sprintf(s, " or %d", exact_dimensions[n-1]);
+      strcat(dims_str,s);
+      PyErr_Format(PyExc_TypeError,
+                   "Array must have %s dimensions.  Given array has %d dimensions",
+                   dims_str, array_numdims(ary));
+    }
+    return success;
+  }
+
+  /* Require the given PyArrayObject to have a specified shape.  If the
+   * array has the specified shape, return 1.  Otherwise, set the python
+   * error string and return 0.
+   */
+  int require_size(PyArrayObject* ary, npy_intp* size, int n)
+  {
+    int i;
+    int success = 1;
+    int len;
+    char desired_dims[255] = "[";
+    char s[255];
+    char actual_dims[255] = "[";
+    for(i=0; i < n;i++)
+    {
+      if (size[i] != -1 &&  size[i] != array_size(ary,i))
+      {
+        success = 0;
+      }
+    }
+    if (!success)
+    {
+      for (i = 0; i < n; i++)
+      {
+        if (size[i] == -1)
+        {
+          sprintf(s, "*,");
+        }
+        else
+        {
+          sprintf(s, "%ld,", (long int)size[i]);
+        }
+        strcat(desired_dims,s);
+      }
+      len = strlen(desired_dims);
+      desired_dims[len-1] = ']';
+      for (i = 0; i < n; i++)
+      {
+        sprintf(s, "%ld,", (long int)array_size(ary,i));
+        strcat(actual_dims,s);
+      }
+      len = strlen(actual_dims);
+      actual_dims[len-1] = ']';
+      PyErr_Format(PyExc_TypeError,
+                   "Array must have shape of %s.  Given array has shape of %s",
+                   desired_dims, actual_dims);
+    }
+    return success;
+  }
+
+  /* Require the given PyArrayObject to to be FORTRAN ordered.  If the
+   * the PyArrayObject is already FORTRAN ordered, do nothing.  Else,
+   * set the FORTRAN ordering flag and recompute the strides.
+   */
+  int require_fortran(PyArrayObject* ary)
+  {
+    int success = 1;
+    int nd = array_numdims(ary);
+    int i;
+    if (array_is_fortran(ary)) return success;
+    /* Set the FORTRAN ordered flag */
+    ary->flags = NPY_FARRAY;
+    /* Recompute the strides */
+    ary->strides[0] = ary->strides[nd-1];
+    for (i=1; i < nd; ++i)
+      ary->strides[i] = ary->strides[i-1] * array_size(ary,i-1);
+    return success;
+  }
+}
+
+/* Combine all NumPy fragments into one for convenience */
+%fragment("NumPy_Fragments", "header",
+          fragment="NumPy_Backward_Compatibility",
+          fragment="NumPy_Macros",
+          fragment="NumPy_Utilities",
+          fragment="NumPy_Object_to_Array",
+          fragment="NumPy_Array_Requirements") { }
+
+/* End John Hunter translation (with modifications by Bill Spotz)
+ */
+
+/* %numpy_typemaps() macro
+ *
+ * This macro defines a family of 41 typemaps that allow C arguments
+ * of the form
+ *
+ *     (DATA_TYPE IN_ARRAY1[ANY])
+ *     (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
+ *     (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
+ *
+ *     (DATA_TYPE IN_ARRAY2[ANY][ANY])
+ *     (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ *     (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
+ *     (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ *     (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
+ *
+ *     (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
+ *     (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+ *     (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3)
+ *     (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+ *     (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3)
+ *
+ *     (DATA_TYPE INPLACE_ARRAY1[ANY])
+ *     (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1)
+ *     (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1)
+ *
+ *     (DATA_TYPE INPLACE_ARRAY2[ANY][ANY])
+ *     (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ *     (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2)
+ *     (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ *     (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2)
+ *
+ *     (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY])
+ *     (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+ *     (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
+ *     (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+ *     (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3)
+ *
+ *     (DATA_TYPE ARGOUT_ARRAY1[ANY])
+ *     (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
+ *     (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
+ *
+ *     (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
+ *
+ *     (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
+ *
+ *     (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1)
+ *     (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1)
+ *
+ *     (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ *     (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2)
+ *     (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ *     (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2)
+ *
+ *     (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+ *     (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
+ *     (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+ *     (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3)
+ *
+ * where "DATA_TYPE" is any type supported by the NumPy module, and
+ * "DIM_TYPE" is any int-like type suitable for specifying dimensions.
+ * The difference between "ARRAY" typemaps and "FARRAY" typemaps is
+ * that the "FARRAY" typemaps expect FORTRAN ordering of
+ * multidimensional arrays.  In python, the dimensions will not need
+ * to be specified (except for the "DATA_TYPE* ARGOUT_ARRAY1"
+ * typemaps).  The IN_ARRAYs can be a numpy array or any sequence that
+ * can be converted to a numpy array of the specified type.  The
+ * INPLACE_ARRAYs must be numpy arrays of the appropriate type.  The
+ * ARGOUT_ARRAYs will be returned as new numpy arrays of the
+ * appropriate type.
+ *
+ * These typemaps can be applied to existing functions using the
+ * %apply directive.  For example:
+ *
+ *     %apply (double* IN_ARRAY1, int DIM1) {(double* series, int length)};
+ *     double prod(double* series, int length);
+ *
+ *     %apply (int DIM1, int DIM2, double* INPLACE_ARRAY2)
+ *           {(int rows, int cols, double* matrix        )};
+ *     void floor(int rows, int cols, double* matrix, double f);
+ *
+ *     %apply (double IN_ARRAY3[ANY][ANY][ANY])
+ *           {(double tensor[2][2][2]         )};
+ *     %apply (double ARGOUT_ARRAY3[ANY][ANY][ANY])
+ *           {(double low[2][2][2]                )};
+ *     %apply (double ARGOUT_ARRAY3[ANY][ANY][ANY])
+ *           {(double upp[2][2][2]                )};
+ *     void luSplit(double tensor[2][2][2],
+ *                  double low[2][2][2],
+ *                  double upp[2][2][2]    );
+ *
+ * or directly with
+ *
+ *     double prod(double* IN_ARRAY1, int DIM1);
+ *
+ *     void floor(int DIM1, int DIM2, double* INPLACE_ARRAY2, double f);
+ *
+ *     void luSplit(double IN_ARRAY3[ANY][ANY][ANY],
+ *                  double ARGOUT_ARRAY3[ANY][ANY][ANY],
+ *                  double ARGOUT_ARRAY3[ANY][ANY][ANY]);
+ */
+
+%define %numpy_typemaps(DATA_TYPE, DATA_TYPECODE, DIM_TYPE)
+
+/************************/
+/* Input Array Typemaps */
+/************************/
+
+/* Typemap suite for (DATA_TYPE IN_ARRAY1[ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE IN_ARRAY1[ANY])
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE IN_ARRAY1[ANY])
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[1] = { $1_dim0 };
+  array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 1) ||
+      !require_size(array, size, 1)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(freearg)
+  (DATA_TYPE IN_ARRAY1[ANY])
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[1] = { -1 };
+  array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 1) ||
+      !require_size(array, size, 1)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[1] = {-1};
+  array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 1) ||
+      !require_size(array, size, 1)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE IN_ARRAY2[ANY][ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE IN_ARRAY2[ANY][ANY])
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE IN_ARRAY2[ANY][ANY])
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[2] = { $1_dim0, $1_dim1 };
+  array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 2) ||
+      !require_size(array, size, 2)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(freearg)
+  (DATA_TYPE IN_ARRAY2[ANY][ANY])
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[2] = { -1, -1 };
+  array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 2) ||
+      !require_size(array, size, 2)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[2] = { -1, -1 };
+  array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 2) ||
+      !require_size(array, size, 2)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[2] = { -1, -1 };
+  array = obj_to_array_fortran_force_conversion($input, DATA_TYPECODE,
+                                                &is_new_object);
+  if (!array || !require_dimensions(array, 2) ||
+      !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[2] = { -1, -1 };
+  array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 2) ||
+      !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 };
+  array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 3) ||
+      !require_size(array, size, 3)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(freearg)
+  (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[3] = { -1, -1, -1 };
+  array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 3) ||
+      !require_size(array, size, 3)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
+ *                    DATA_TYPE* IN_ARRAY3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[3] = { -1, -1, -1 };
+  array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 3) ||
+      !require_size(array, size, 3)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[3] = { -1, -1, -1 };
+  array = obj_to_array_fortran_force_conversion($input, DATA_TYPECODE,
+                                                &is_new_object);
+  if (!array || !require_dimensions(array, 3) ||
+      !require_size(array, size, 3) | !require_fortran(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+}
+%typemap(freearg)
+  (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
+ *                    DATA_TYPE* IN_FARRAY3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3)
+{
+  $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3)
+  (PyArrayObject* array=NULL, int is_new_object=0)
+{
+  npy_intp size[3] = { -1, -1, -1 };
+  array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
+                                                   &is_new_object);
+  if (!array || !require_dimensions(array, 3) ||
+      !require_size(array, size, 3) || !require_fortran(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DATA_TYPE*) array_data(array);
+}
+%typemap(freearg)
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3)
+{
+  if (is_new_object$argnum && array$argnum)
+    { Py_DECREF(array$argnum); }
+}
+
+/***************************/
+/* In-Place Array Typemaps */
+/***************************/
+
+/* Typemap suite for (DATA_TYPE INPLACE_ARRAY1[ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE INPLACE_ARRAY1[ANY])
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE INPLACE_ARRAY1[ANY])
+  (PyArrayObject* array=NULL)
+{
+  npy_intp size[1] = { $1_dim0 };
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,1) || !require_size(array, size, 1) ||
+      !require_contiguous(array) || !require_native(array)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1)
+  (PyArrayObject* array=NULL, int i=1)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,1) || !require_contiguous(array)
+      || !require_native(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = 1;
+  for (i=0; i < array_numdims(array); ++i) $2 *= array_size(array,i);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1)
+  (PyArrayObject* array=NULL, int i=0)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,1) || !require_contiguous(array)
+      || !require_native(array)) SWIG_fail;
+  $1 = 1;
+  for (i=0; i < array_numdims(array); ++i) $1 *= array_size(array,i);
+  $2 = (DATA_TYPE*) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE INPLACE_ARRAY2[ANY][ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE INPLACE_ARRAY2[ANY][ANY])
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE INPLACE_ARRAY2[ANY][ANY])
+  (PyArrayObject* array=NULL)
+{
+  npy_intp size[2] = { $1_dim0, $1_dim1 };
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,2) || !require_size(array, size, 2) ||
+      !require_contiguous(array) || !require_native(array)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,2) || !require_contiguous(array)
+      || !require_native(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,2) || !require_contiguous(array) ||
+      !require_native(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DATA_TYPE*) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,2) || !require_contiguous(array)
+      || !require_native(array) || !require_fortran(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,2) || !require_contiguous(array) ||
+      !require_native(array) || !require_fortran(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DATA_TYPE*) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY])
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY])
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY])
+  (PyArrayObject* array=NULL)
+{
+  npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 };
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,3) || !require_size(array, size, 3) ||
+      !require_contiguous(array) || !require_native(array)) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,3) || !require_contiguous(array) ||
+      !require_native(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
+ *                    DATA_TYPE* INPLACE_ARRAY3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,3) || !require_contiguous(array)
+      || !require_native(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DATA_TYPE*) array_data(array);
+}
+
+/* Typemap suite for (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
+ *                    DIM_TYPE DIM3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,3) || !require_contiguous(array) ||
+      !require_native(array) || !require_fortran(array)) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+  $2 = (DIM_TYPE) array_size(array,0);
+  $3 = (DIM_TYPE) array_size(array,1);
+  $4 = (DIM_TYPE) array_size(array,2);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
+ *                    DATA_TYPE* INPLACE_FARRAY3)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
+           fragment="NumPy_Macros")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3)
+{
+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
+                                                 DATA_TYPECODE);
+}
+%typemap(in,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3)
+  (PyArrayObject* array=NULL)
+{
+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
+  if (!array || !require_dimensions(array,3) || !require_contiguous(array)
+      || !require_native(array) || !require_fortran(array)) SWIG_fail;
+  $1 = (DIM_TYPE) array_size(array,0);
+  $2 = (DIM_TYPE) array_size(array,1);
+  $3 = (DIM_TYPE) array_size(array,2);
+  $4 = (DATA_TYPE*) array_data(array);
+}
+
+/*************************/
+/* Argout Array Typemaps */
+/*************************/
+
+/* Typemap suite for (DATA_TYPE ARGOUT_ARRAY1[ANY])
+ */
+%typemap(in,numinputs=0,
+         fragment="NumPy_Backward_Compatibility,NumPy_Macros")
+  (DATA_TYPE ARGOUT_ARRAY1[ANY])
+  (PyObject * array = NULL)
+{
+  npy_intp dims[1] = { $1_dim0 };
+  array = PyArray_SimpleNew(1, dims, DATA_TYPECODE);
+  if (!array) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(argout)
+  (DATA_TYPE ARGOUT_ARRAY1[ANY])
+{
+  $result = SWIG_Python_AppendOutput($result,array$argnum);
+}
+
+/* Typemap suite for (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
+ */
+%typemap(in,numinputs=1,
+         fragment="NumPy_Fragments")
+  (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
+  (PyObject * array = NULL)
+{
+  npy_intp dims[1];
+  if (!PyInt_Check($input))
+  {
+    const char* typestring = pytype_string($input);
+    PyErr_Format(PyExc_TypeError,
+                 "Int dimension expected.  '%s' given.",
+                 typestring);
+    SWIG_fail;
+  }
+  $2 = (DIM_TYPE) PyInt_AsLong($input);
+  dims[0] = (npy_intp) $2;
+  array = PyArray_SimpleNew(1, dims, DATA_TYPECODE);
+  if (!array) SWIG_fail;
+  $1 = (DATA_TYPE*) array_data(array);
+}
+%typemap(argout)
+  (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
+{
+  $result = SWIG_Python_AppendOutput($result,array$argnum);
+}
+
+/* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
+ */
+%typemap(in,numinputs=1,
+         fragment="NumPy_Fragments")
+  (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
+  (PyObject * array = NULL)
+{
+  npy_intp dims[1];
+  if (!PyInt_Check($input))
+  {
+    const char* typestring = pytype_string($input);
+    PyErr_Format(PyExc_TypeError,
+                 "Int dimension expected.  '%s' given.",
+                 typestring);
+    SWIG_fail;
+  }
+  $1 = (DIM_TYPE) PyInt_AsLong($input);
+  dims[0] = (npy_intp) $1;
+  array = PyArray_SimpleNew(1, dims, DATA_TYPECODE);
+  if (!array) SWIG_fail;
+  $2 = (DATA_TYPE*) array_data(array);
+}
+%typemap(argout)
+  (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
+{
+  $result = SWIG_Python_AppendOutput($result,array$argnum);
+}
+
+/* Typemap suite for (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
+ */
+%typemap(in,numinputs=0,
+         fragment="NumPy_Backward_Compatibility,NumPy_Macros")
+  (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
+  (PyObject * array = NULL)
+{
+  npy_intp dims[2] = { $1_dim0, $1_dim1 };
+  array = PyArray_SimpleNew(2, dims, DATA_TYPECODE);
+  if (!array) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(argout)
+  (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
+{
+  $result = SWIG_Python_AppendOutput($result,array$argnum);
+}
+
+/* Typemap suite for (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
+ */
+%typemap(in,numinputs=0,
+         fragment="NumPy_Backward_Compatibility,NumPy_Macros")
+  (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
+  (PyObject * array = NULL)
+{
+  npy_intp dims[3] = { $1_dim0, $1_dim1, $1_dim2 };
+  array = PyArray_SimpleNew(3, dims, DATA_TYPECODE);
+  if (!array) SWIG_fail;
+  $1 = ($1_ltype) array_data(array);
+}
+%typemap(argout)
+  (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
+{
+  $result = SWIG_Python_AppendOutput($result,array$argnum);
+}
+
+/*****************************/
+/* Argoutview Array Typemaps */
+/*****************************/
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1    )
+  (DATA_TYPE*  data_temp        , DIM_TYPE  dim_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1)
+{
+  npy_intp dims[1] = { *$2 };
+  PyObject * array = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$1));
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,array);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1    , DATA_TYPE** ARGOUTVIEW_ARRAY1)
+  (DIM_TYPE  dim_temp, DATA_TYPE*  data_temp        )
+{
+  $1 = &dim_temp;
+  $2 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1)
+{
+  npy_intp dims[1] = { *$1 };
+  PyObject * array = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$2));
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,array);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1     , DIM_TYPE* DIM2     )
+  (DATA_TYPE*  data_temp        , DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+{
+  npy_intp dims[2] = { *$2, *$3 };
+  PyObject * array = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,array);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1     , DIM_TYPE* DIM2     , DATA_TYPE** ARGOUTVIEW_ARRAY2)
+  (DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp, DATA_TYPE*  data_temp        )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2)
+{
+  npy_intp dims[2] = { *$1, *$2 };
+  PyObject * array = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,array);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1     , DIM_TYPE* DIM2     )
+  (DATA_TYPE*  data_temp        , DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
+{
+  npy_intp dims[2] = { *$2, *$3 };
+  PyObject * obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject * array = (PyArrayObject*) obj;
+  if (!array || !require_fortran(array)) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1     , DIM_TYPE* DIM2     , DATA_TYPE** ARGOUTVIEW_FARRAY2)
+  (DIM_TYPE  dim1_temp, DIM_TYPE  dim2_temp, DATA_TYPE*  data_temp        )
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2)
+{
+  npy_intp dims[2] = { *$1, *$2 };
+  PyObject * obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
+  PyArrayObject * array = (PyArrayObject*) obj;
+  if (!array || !require_fortran(array)) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+  (DATA_TYPE* data_temp, DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+{
+  npy_intp dims[3] = { *$2, *$3, *$4 };
+  PyObject * array = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,array);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3,
+                      DATA_TYPE** ARGOUTVIEW_ARRAY3)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp)
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
+{
+  npy_intp dims[3] = { *$1, *$2, *$3 };
+  PyObject * array = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$3));
+  if (!array) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,array);
+}
+
+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
+                      DIM_TYPE* DIM3)
+ */
+%typemap(in,numinputs=0)
+  (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+  (DATA_TYPE* data_temp, DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
+{
+  $1 = &data_temp;
+  $2 = &dim1_temp;
+  $3 = &dim2_temp;
+  $4 = &dim3_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
+{
+  npy_intp dims[3] = { *$2, *$3, *$4 };
+  PyObject * obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
+  PyArrayObject * array = (PyArrayObject*) obj;
+  if (!array || require_fortran(array)) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3,
+                      DATA_TYPE** ARGOUTVIEW_FARRAY3)
+ */
+%typemap(in,numinputs=0)
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3)
+  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp)
+{
+  $1 = &dim1_temp;
+  $2 = &dim2_temp;
+  $3 = &dim3_temp;
+  $4 = &data_temp;
+}
+%typemap(argout,
+         fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
+  (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3)
+{
+  npy_intp dims[3] = { *$1, *$2, *$3 };
+  PyObject * obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$3));
+  PyArrayObject * array = (PyArrayObject*) obj;
+  if (!array || require_fortran(array)) SWIG_fail;
+  $result = SWIG_Python_AppendOutput($result,obj);
+}
+
+%enddef    /* %numpy_typemaps() macro */
+/* *************************************************************** */
+
+/* Concrete instances of the %numpy_typemaps() macro: Each invocation
+ * below applies all of the typemaps above to the specified data type.
+ */
+%numpy_typemaps(signed char       , NPY_BYTE     , int)
+%numpy_typemaps(unsigned char     , NPY_UBYTE    , int)
+%numpy_typemaps(short             , NPY_SHORT    , int)
+%numpy_typemaps(unsigned short    , NPY_USHORT   , int)
+%numpy_typemaps(int               , NPY_INT      , int)
+%numpy_typemaps(unsigned int      , NPY_UINT     , int)
+%numpy_typemaps(long              , NPY_LONG     , int)
+%numpy_typemaps(unsigned long     , NPY_ULONG    , int)
+%numpy_typemaps(long long         , NPY_LONGLONG , int)
+%numpy_typemaps(unsigned long long, NPY_ULONGLONG, int)
+%numpy_typemaps(float             , NPY_FLOAT    , int)
+%numpy_typemaps(double            , NPY_DOUBLE   , int)
+
+/* ***************************************************************
+ * The follow macro expansion does not work, because C++ bool is 4
+ * bytes and NPY_BOOL is 1 byte
+ *
+ *    %numpy_typemaps(bool, NPY_BOOL, int)
+ */
+
+/* ***************************************************************
+ * On my Mac, I get the following warning for this macro expansion:
+ * 'swig/python detected a memory leak of type 'long double *', no destructor found.'
+ *
+ *    %numpy_typemaps(long double, NPY_LONGDOUBLE, int)
+ */
+
+/* ***************************************************************
+ * Swig complains about a syntax error for the following macro
+ * expansions:
+ *
+ *    %numpy_typemaps(complex float,  NPY_CFLOAT , int)
+ *
+ *    %numpy_typemaps(complex double, NPY_CDOUBLE, int)
+ *
+ *    %numpy_typemaps(complex long double, NPY_CLONGDOUBLE, int)
+ */
+
+#endif /* SWIGPYTHON */
diff --git a/wrappers/Python/include/rr_stdint.i b/wrappers/Python/include/rr_stdint.i
new file mode 100644
index 0000000..edfc8d3
--- /dev/null
+++ b/wrappers/Python/include/rr_stdint.i
@@ -0,0 +1,110 @@
+/* -----------------------------------------------------------------------------
+ * stdint.i
+ *
+ * SWIG library file for ISO C99 types: 7.18 Integer types <stdint.h>
+ * ----------------------------------------------------------------------------- */
+
+%{
+#if defined(_MSC_VER)
+#include "msc_stdint.h"
+#else
+#include <stdint.h>		// Use the C99 official header
+#endif
+%}
+
+%include <swigarch.i>
+
+/* Exact integral types.  */
+
+/* Signed.  */
+
+typedef signed char		int8_t;
+typedef short int		int16_t;
+typedef int			int32_t;
+#if defined(SWIGWORDSIZE64)
+typedef long int		int64_t;
+#else
+typedef long long int		int64_t;
+#endif
+
+/* Unsigned.  */
+typedef unsigned char		uint8_t;
+typedef unsigned short int	uint16_t;
+typedef unsigned int		uint32_t;
+#if defined(SWIGWORDSIZE64)
+typedef unsigned long int	uint64_t;
+#else
+typedef unsigned long long int	uint64_t;
+#endif
+
+
+/* Small types.  */
+
+/* Signed.  */
+typedef signed char		int_least8_t;
+typedef short int		int_least16_t;
+typedef int			int_least32_t;
+#if defined(SWIGWORDSIZE64)
+typedef long int		int_least64_t;
+#else
+typedef long long int		int_least64_t;
+#endif
+
+/* Unsigned.  */
+typedef unsigned char		uint_least8_t;
+typedef unsigned short int	uint_least16_t;
+typedef unsigned int		uint_least32_t;
+#if defined(SWIGWORDSIZE64)
+typedef unsigned long int	uint_least64_t;
+#else
+typedef unsigned long long int	uint_least64_t;
+#endif
+
+
+/* Fast types.  */
+
+/* Signed.  */
+typedef signed char		int_fast8_t;
+#if defined(SWIGWORDSIZE64)
+typedef long int		int_fast16_t;
+typedef long int		int_fast32_t;
+typedef long int		int_fast64_t;
+#else
+typedef int			int_fast16_t;
+typedef int			int_fast32_t;
+typedef long long int		int_fast64_t;
+#endif
+
+/* Unsigned.  */
+typedef unsigned char		uint_fast8_t;
+#if defined(SWIGWORDSIZE64)
+typedef unsigned long int	uint_fast16_t;
+typedef unsigned long int	uint_fast32_t;
+typedef unsigned long int	uint_fast64_t;
+#else
+typedef unsigned int		uint_fast16_t;
+typedef unsigned int		uint_fast32_t;
+typedef unsigned long long int	uint_fast64_t;
+#endif
+
+
+/* Types for `void *' pointers.  */
+#if defined(SWIGWORDSIZE64)
+typedef long int		intptr_t;
+typedef unsigned long int	uintptr_t;
+#else
+typedef int			intptr_t;
+typedef unsigned int		uintptr_t;
+#endif
+
+
+/* Largest integral types.  */
+#if defined(SWIGWORDSIZE64)
+typedef long int		intmax_t;
+typedef unsigned long int	uintmax_t;
+#else
+typedef long long int		intmax_t;
+typedef unsigned long long int	uintmax_t;
+#endif
+
+
diff --git a/wrappers/Python/install_roadrunner_win.py b/wrappers/Python/install_roadrunner_win.py
new file mode 100644
index 0000000..5c233fa
--- /dev/null
+++ b/wrappers/Python/install_roadrunner_win.py
@@ -0,0 +1,67 @@
+""" 
+Usage:
+   python install_roadrunner.py
+
+   This file will install all the relevant roadRunner files 
+   so that roadrunner can be used from Python
+"""
+
+import site
+import shutil
+import os.path
+import os
+
+def rmroadrunner(path):
+	print('deleting roadrunner from ' + path)
+	
+	try:
+		os.remove(os.path.join(path, 'roadrunner.py'))
+	except:
+		pass
+	
+	try:
+		os.remove(os.path.join(path, 'roadrunner.pyc'))
+	except:
+		pass
+	
+	try:
+		os.remove(os.path.join(path, '_roadrunner.pyd'))
+	except:
+		pass
+	
+	try:
+		os.remove(os.path.join(path, '_roadrunner.so'))
+	except:
+		pass
+	
+	shutil.rmtree(os.path.join(path, 'roadrunner'), ignore_errors=True)
+
+splist = site.getsitepackages()
+sp = ''
+	
+	
+for s in splist:
+	rmroadrunner(s)
+	if s.find('site-packages') > 0:
+		sp = s
+		
+print('installing roadrunner to site packages dir: ' + sp)
+
+dst = os.path.join(sp, 'roadrunner')
+
+# src dir should be location of the roadunner package, i.e.
+# src directory is :c:\Users\IEUser\local\site-packages\roadrunner
+
+
+# need to get relative to this file as cwd may be different than
+# dir the file dir if its say run from desktop. 
+cwd = os.path.dirname(os.path.abspath(__file__))
+
+src = os.path.abspath(os.path.join(cwd, 'site-packages', 'roadrunner'))
+
+print('src directory is :' + src)
+
+print("destination directory is: " + dst)
+
+shutil.copytree(src, dst)
+
diff --git a/wrappers/Python/mkswigdocs.py b/wrappers/Python/mkswigdocs.py
new file mode 100755
index 0000000..d9794bc
--- /dev/null
+++ b/wrappers/Python/mkswigdocs.py
@@ -0,0 +1,142 @@
+#! /usr/bin/env python
+
+"""
+This program parses the rst documents in this directory, extracts the docstrings
+and writes these docstrings into the roadrunner/rr_docstrings.i file which is
+compiled into the roadrunner python module.
+"""
+
+
+# src format:
+# .. method:: ExecutableModel.getModelName()
+# .. py:method:: ???????????
+# .. py:attribute:: RoadRunner.model
+
+# dst format:
+#%feature("docstring") rr::RoadRunner::getCC "
+#getCC(variable, parameter)
+#Get scaled a single control coefficient with respect to a global parameter.
+#
+#:param variable: The id of a dependent variable of the coefficient, for example a
+#flux or species concentration.
+#:type name: str
+#:param parameter: The id of the independent parameter, for example a kinetic constant
+#or boundary species
+#:returns: the value of the control coefficeint returned to the caller.
+#:rtype: double
+#";
+
+
+import sys
+import re
+
+def write_docstring(file, category, cls, name, args, lines):
+    print(category, cls, name, args)
+
+    def ltrim(s):
+        line = s[3:] if s.startswith("   ") else s
+        # yes this looks weird, but we do need to replace a backslash literal
+        # with four of them. Evidently something to do with C need an extra one
+        # to escape the escape, then need another pair to escape that when python
+        # reads it.
+        line = line.replace("\\", "\\\\\\\\") 
+        line = line.replace('"', '\\"')
+        return line
+
+    # strips trailing emtpy lines
+    index = len(lines) -1
+    while(index > 0):
+        if not len(lines[index].strip(' \t\n\r')):
+            del lines[index]
+            index = index - 1
+        else:
+            break
+
+    lines = [ltrim(line.rstrip()) for line in lines if line.find(":module:") == -1]
+
+
+
+    if name == "__init__":
+        file.write("%feature(\"docstring\") rr::" + cls + " \"\n")
+    else:
+        file.write("%feature(\"docstring\") rr::" + cls + "::" + name + " \"\n")
+
+    if category != "attribute":
+        file.write(cls + "." + name + args + "\n")
+
+    for line in lines:
+        file.write(line + "\n")
+    file.write("\";\n")
+    file.write("\n")
+    file.write("\n")
+    file.write("\n")
+
+
+# method re
+method = re.compile(r"\.\.\s*[py:]*(class|function|staticmethod|method)::\s*(\w+)\.(\w+)(\(.*\))")
+attr = re.compile(r"\.\.\s*[py:]*(staticattribue|attribute)::\s*(\w+)\.(\w+)")
+
+def read_docs(outFile, srcName):
+    src = open(srcName, "r")
+    lines = src.readlines()
+    del src
+
+    index = 0
+
+    while index < len(lines):
+        m = method.match(lines[index])
+        a = attr.match(lines[index])
+        if m:
+            groups = m.groups()
+            index = index + 1
+            docLines = []
+            while index < len(lines) and method.match(lines[index]) is None and attr.match(lines[index]) is None:
+                docLines.append(lines[index])
+                index = index + 1
+
+            write_docstring(out, groups[0], groups[1], groups[2], groups[3], docLines)
+
+        elif a:
+            groups = a.groups()
+            index = index + 1
+            docLines = []
+            while index < len(lines) and method.match(lines[index]) is None and attr.match(lines[index]) is None:
+                docLines.append(lines[index])
+                index = index + 1
+
+            write_docstring(out, groups[0], groups[1], groups[2], None, docLines)
+
+        else:
+            index = index + 1
+
+
+
+
+print 'Number of arguments:', len(sys.argv), 'arguments.'
+print 'Argument List:', str(sys.argv)
+
+
+result="roadrunner/rr_docstrings.i"
+
+out = open(result, "w")
+
+srcFiles = ["doc/mod_roadrunner/cls_ExecutableModel.rst",
+            "doc/mod_roadrunner/cls_RoadRunner.rst",
+            "doc/mod_roadrunner/cls_SelectionRecord.rst",
+            "doc/mod_roadrunner/cls_SimulateOptions.rst", 
+            "doc/mod_roadrunner/cls_LoadSBMLOptions.rst", 
+            "doc/mod_roadrunner/cls_Logger.rst",
+            "doc/mod_roadrunner/cls_Config.rst",
+            "doc/mod_roadrunner/cls_PyConservedMoietyConverter.rst"]
+
+for f in srcFiles:
+    read_docs(out, f)
+
+
+
+
+
+
+
+
+
diff --git a/wrappers/Python/numpy_notes.txt b/wrappers/Python/numpy_notes.txt
new file mode 100644
index 0000000..93c7405
--- /dev/null
+++ b/wrappers/Python/numpy_notes.txt
@@ -0,0 +1,144 @@
+setting dtype attribute, getset.c:
+
+    {"dtype",
+        (getter)array_descr_get,
+        (setter)array_descr_set,
+        NULL, NULL},
+
+matplotlb plots each column vector as a time series. 
+
+/*
+ * If the type is changed.
+ * Also needing change: strides, itemsize
+ *
+ * Either itemsize is exactly the same or the array is single-segment
+ * (contiguous or fortran) with compatibile dimensions The shape and strides
+ * will be adjusted in that case as well.
+ */
+static int
+array_descr_set(PyArrayObject *self, PyObject *arg)
+{
+    PyArray_Descr *newtype = NULL;
+    npy_intp newdim;
+    int i;
+    char *msg = "new type not compatible with array.";
+
+    if (arg == NULL) {
+        PyErr_SetString(PyExc_AttributeError,
+                "Cannot delete array dtype");
+        return -1;
+    }
+
+    if (!(PyArray_DescrConverter(arg, &newtype)) ||
+        newtype == NULL) {
+        PyErr_SetString(PyExc_TypeError,
+                "invalid data-type for array");
+        return -1;
+    }
+
+    if (PyDataType_FLAGCHK(newtype, NPY_ITEM_HASOBJECT) ||
+        PyDataType_FLAGCHK(newtype, NPY_ITEM_IS_POINTER) ||
+        PyDataType_FLAGCHK(PyArray_DESCR(self), NPY_ITEM_HASOBJECT) ||
+        PyDataType_FLAGCHK(PyArray_DESCR(self), NPY_ITEM_IS_POINTER)) {
+        PyErr_SetString(PyExc_TypeError,
+                "Cannot change data-type for object array.");
+        Py_DECREF(newtype);
+        return -1;
+    }
+
+    if (newtype->elsize == 0) {
+        /* Allow a void view */
+        if (newtype->type_num == NPY_VOID) {
+            PyArray_DESCR_REPLACE(newtype);
+            if (newtype == NULL) {
+                return -1;
+            }
+            newtype->elsize = PyArray_DESCR(self)->elsize;
+        }
+        /* But no other flexible types */
+        else {
+            PyErr_SetString(PyExc_TypeError,
+                    "data-type must not be 0-sized");
+            Py_DECREF(newtype);
+            return -1;
+        }
+    }
+
+
+    if ((newtype->elsize != PyArray_DESCR(self)->elsize) &&
+        (PyArray_NDIM(self) == 0 || !PyArray_ISONESEGMENT(self) ||
+         PyDataType_HASSUBARRAY(newtype))) {
+        goto fail;
+    }
+    if (PyArray_ISCONTIGUOUS(self)) {
+        i = PyArray_NDIM(self) - 1;
+    }
+    else {
+        i = 0;
+    }
+    if (newtype->elsize < PyArray_DESCR(self)->elsize) {
+        /*
+         * if it is compatible increase the size of the
+         * dimension at end (or at the front for NPY_ARRAY_F_CONTIGUOUS)
+         */
+        if (PyArray_DESCR(self)->elsize % newtype->elsize != 0) {
+            goto fail;
+        }
+        newdim = PyArray_DESCR(self)->elsize / newtype->elsize;
+        PyArray_DIMS(self)[i] *= newdim;
+        PyArray_STRIDES(self)[i] = newtype->elsize;
+    }
+    else if (newtype->elsize > PyArray_DESCR(self)->elsize) {
+        /*
+         * Determine if last (or first if NPY_ARRAY_F_CONTIGUOUS) dimension
+         * is compatible
+         */
+        newdim = PyArray_DIMS(self)[i] * PyArray_DESCR(self)->elsize;
+        if ((newdim % newtype->elsize) != 0) {
+            goto fail;
+        }
+        PyArray_DIMS(self)[i] = newdim / newtype->elsize;
+        PyArray_STRIDES(self)[i] = newtype->elsize;
+    }
+
+    /* fall through -- adjust type*/
+    Py_DECREF(PyArray_DESCR(self));
+    if (PyDataType_HASSUBARRAY(newtype)) {
+        /*
+         * create new array object from data and update
+         * dimensions, strides and descr from it
+         */
+        PyArrayObject *temp;
+        /*
+         * We would decref newtype here.
+         * temp will steal a reference to it
+         */
+        temp = (PyArrayObject *)
+            PyArray_NewFromDescr(&PyArray_Type, newtype, PyArray_NDIM(self),
+                                 PyArray_DIMS(self), PyArray_STRIDES(self),
+                                 PyArray_DATA(self), PyArray_FLAGS(self), NULL);
+        if (temp == NULL) {
+            return -1;
+        }
+        PyDimMem_FREE(PyArray_DIMS(self));
+        ((PyArrayObject_fields *)self)->dimensions = PyArray_DIMS(temp);
+        ((PyArrayObject_fields *)self)->nd = PyArray_NDIM(temp);
+        ((PyArrayObject_fields *)self)->strides = PyArray_STRIDES(temp);
+        newtype = PyArray_DESCR(temp);
+        Py_INCREF(PyArray_DESCR(temp));
+        /* Fool deallocator not to delete these*/
+        ((PyArrayObject_fields *)temp)->nd = 0;
+        ((PyArrayObject_fields *)temp)->dimensions = NULL;
+        Py_DECREF(temp);
+    }
+
+    ((PyArrayObject_fields *)self)->descr = newtype;
+    PyArray_UpdateFlags(self, NPY_ARRAY_UPDATE_ALL);
+    return 0;
+
+ fail:
+    PyErr_SetString(PyExc_ValueError, msg);
+    Py_DECREF(newtype);
+    return -1;
+}
+
diff --git a/wrappers/Python/roadrunner/CMakeLists.txt b/wrappers/Python/roadrunner/CMakeLists.txt
new file mode 100644
index 0000000..179caf6
--- /dev/null
+++ b/wrappers/Python/roadrunner/CMakeLists.txt
@@ -0,0 +1,178 @@
+#we have to do this to get the generated header
+include_directories(${RR_GENERATED_HEADER_PATH})
+
+include_directories(
+    ${CMAKE_CURRENT_SOURCE_DIR}
+    ${CMAKE_CURRENT_SOURCE_DIR}/../include
+    ${RR_SOURCE_ROOT}
+    ${THIRD_PARTY_INSTALL_FOLDER}/include
+    ${THIRD_PARTY_INSTALL_FOLDER}/include/rr-libstruct
+    ${THIRD_PARTY_INSTALL_FOLDER}/include/sbml
+    ${THIRD_PARTY_INSTALL_FOLDER}/include/cvode
+    )
+
+
+# configure compilation of modules for old and new player. Old player modules are compiled with ("threads"=0) option and new are compiled with ("threads"=1) option
+# set(thread_option \(\"threads\"=1\))
+
+
+
+# copy to /lib so we can import roadrunner in the build tree
+configure_file(__init__.py ${CMAKE_BINARY_DIR}/lib/site-packages/roadrunner/__init__.py COPYONLY)
+# configure_file(roadrunner.py ${CMAKE_BINARY_DIR}/lib/site-packages/roadrunner/roadrunner.py COPYONLY)
+
+SET_SOURCE_FILES_PROPERTIES(roadrunner.i PROPERTIES CPLUSPLUS ON)
+SET_SOURCE_FILES_PROPERTIES(roadrunner.i PROPERTIES SWIG_FLAGS "-threads")
+
+
+if(USE_TR1_CXX_NS)
+  message(STATUS "Using tr1 for SWIG smart pointer namespace")
+  set(CMAKE_SWIG_FLAGS "-DSWIG_SHARED_PTR_SUBNAMESPACE=tr1")
+endif()
+
+set(CMAKE_SWIG_OUTDIR ${CMAKE_BINARY_DIR}/lib/site-packages/roadrunner)
+
+SWIG_ADD_MODULE(roadrunner python roadrunner.i PyUtils PyLoggerStream)
+
+
+
+set_target_properties(_roadrunner PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/python/roadrunner LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/site-packages/roadrunner ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/site-packages/roadrunner)
+
+if(WIN32)
+    # changes dll name to pyd sop that it is compatible with new Python standard
+    SET_TARGET_PROPERTIES(_roadrunner PROPERTIES SUFFIX ".pyd")
+
+
+    set_property(TARGET _roadrunner
+        PROPERTY  COMPILE_DEFINITIONS
+        EXPORT_RRC
+        LIBSBML_STATIC
+        LIBLAX_STATIC
+        STATIC_PUGI
+        POCO_STATIC
+        STATIC_LIBSTRUCT
+        STATIC_RR
+        )
+
+    SWIG_LINK_LIBRARIES ( roadrunner
+        roadrunner-static
+        ${PYTHON_LIBRARIES}
+        )
+
+
+else(WIN32)
+
+    #    set(CMAKE_SHARED_LINKER_FLAGS "-Wl, -z,defs --no-undefined")
+    #    set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined")
+
+    if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+        # Linux specific code
+        #SET_TARGET_PROPERTIES(_roadrunner PROPERTIES LINK_FLAGS "-Wl,--no-undefined")
+
+    else()
+        # OSX section.
+        # we do not link directly with python at at link time, so that at run time,
+        # the hosting python would provice all the sybols, we only
+        # link with the external libs that we uses.
+        SET_TARGET_PROPERTIES(_roadrunner PROPERTIES LINK_FLAGS "-undefined dynamic_lookup" INSTALL_RPATH "@loader_path/../../lib;@loader_path/" INSTALL_NAME_DIR "@rpath")
+    endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+
+    set_property(TARGET _roadrunner
+        PROPERTY  COMPILE_DEFINITIONS
+        LIBSBML_STATIC
+        LIBLAX_STATIC
+        STATIC_PUGI
+        STATIC_LIBSTRUCT
+        )
+
+    if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+        SWIG_LINK_LIBRARIES ( roadrunner
+            roadrunner
+            rr-libstruct-static
+            nleq-static
+            ${LIBSBML_STATIC_LIBRARY}
+            lapack
+            blas
+            f2c
+    #        ${PYTHON_LIBRARIES}
+            )
+    else()
+        SWIG_LINK_LIBRARIES ( roadrunner
+            roadrunner-static
+            rr-libstruct-static
+            nleq-static
+            ${LIBSBML_STATIC_LIBRARY}
+            lapack
+            blas
+            f2c
+    #        ${PYTHON_LIBRARIES}
+            )
+    endif()
+
+    #        lapack
+    #        blas
+    #        f2c
+    #        "-Wl,--whole-archive"
+    #        rr-libstruct-static
+    #        "-Wl,--no-whole-archive"
+    #        lmfit-static
+    #        sbml-static
+    #        roadrunner-static
+
+
+endif(WIN32)
+
+install(
+    TARGETS _roadrunner
+    DESTINATION ${PYTHON_PACKAGE_DEST_DIR}
+)
+
+set(python_files_path ${CMAKE_BINARY_DIR}/wrappers/Python/roadrunner/)
+
+#THIS IS EXAMPLE OF WORKING COMMAND
+# ADD_CUSTOM_COMMAND(
+#     OUTPUT CompuCell.py.mod
+#     COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/core/pyinterface/swigmodifier.py ${python_files_path}/CompuCell.py
+#     DEPENDS _CompuCell
+# )
+#
+# ADD_CUSTOM_TARGET(_swigmodifier ALL DEPENDS CompuCell.py.mod)
+
+#FILE(GLOB Mac_CPP "*_Mac.cpp")
+
+#INSTALL(FILES ${python_files_path}/roadrunner.py
+#    DESTINATION site-packages/roadrunner )
+
+install(
+    FILES ${CMAKE_BINARY_DIR}/lib/site-packages/roadrunner/roadrunner.py
+    DESTINATION ${PYTHON_PACKAGE_DEST_DIR}
+)
+
+install(
+    FILES __init__.py
+    DESTINATION ${PYTHON_PACKAGE_DEST_DIR}
+)
+
+install(
+    DIRECTORY testing
+    DESTINATION ${PYTHON_PACKAGE_DEST_DIR}
+    FILES_MATCHING PATTERN "*.*"
+)
+
+install(
+    DIRECTORY stochastic
+    DESTINATION ${PYTHON_PACKAGE_DEST_DIR}
+    FILES_MATCHING PATTERN "*.*"
+)
+
+file(GLOB rrtest_files "${RR_ROOT}/testing/*.rrtest")
+install(
+    FILES ${rrtest_files}
+    DESTINATION ${PYTHON_PACKAGE_DEST_DIR}/testing/test_data
+)
+
+file(GLOB rrtest_files "${RR_ROOT}/testing/*.xml")
+install(
+    FILES ${rrtest_files}
+    DESTINATION ${PYTHON_PACKAGE_DEST_DIR}/testing/test_data
+)
diff --git a/wrappers/Python/roadrunner/PyEventListener.h b/wrappers/Python/roadrunner/PyEventListener.h
new file mode 100644
index 0000000..466d6f2
--- /dev/null
+++ b/wrappers/Python/roadrunner/PyEventListener.h
@@ -0,0 +1,218 @@
+#ifndef PyEventHandler_H_
+#define PyEventHandler_H_
+
+#include "rrExecutableModel.h"
+#include "rrLogger.h"
+
+namespace rr
+{
+class PyEventListener : public EventListener
+{
+public:
+
+    PyEventListener() : pyOnTrigger(0), pyOnAssignment(0)
+    {
+        Log(Logger::LOG_INFORMATION) << __FUNC__;
+    }
+
+    virtual ~PyEventListener()
+    {
+        Log(Logger::LOG_NOTICE) << __FUNC__;
+
+        PyGILState_STATE gstate = PyGILState_Ensure();
+
+        Py_XDECREF(pyOnTrigger);
+        Py_XDECREF(pyOnAssignment);
+
+        PyGILState_Release(gstate);
+    }
+
+    void setOnTrigger(PyObject *py)
+    {
+		if (py == Py_None) {
+			Py_XDECREF(pyOnTrigger);  /* Dispose of previous callback */
+			pyOnTrigger = NULL;
+			return;
+		}
+
+        if (!PyCallable_Check(py)) {
+            throw std::invalid_argument("argument must be callable");
+        }
+
+        Py_XINCREF(py);           /* Add a reference to new callback */
+        Py_XDECREF(pyOnTrigger);  /* Dispose of previous callback */
+        pyOnTrigger = py;         /* Remember new callback */
+    }
+
+    PyObject* getOnTrigger()
+    {
+		if (pyOnTrigger) {
+			return pyOnTrigger;
+		} else {
+			Py_RETURN_NONE;
+		}
+    }
+
+    void setOnAssignment(PyObject* py)
+    {
+		if (py == Py_None) {
+			Py_XDECREF(pyOnAssignment);  /* Dispose of previous callback */
+			pyOnAssignment = NULL;
+			return;
+		}
+
+        if (!PyCallable_Check(py)) {
+            throw std::invalid_argument("argument must be callable");
+        }
+
+        Py_XINCREF(py);              /* Add a reference to new callback */
+        Py_XDECREF(pyOnAssignment);  /* Dispose of previous callback */
+        pyOnAssignment = py;           /* Remember new callback */
+
+    }
+
+    PyObject *getOnAssignment()
+    {
+		if (pyOnAssignment) {
+			return pyOnAssignment;
+		} else {
+			Py_RETURN_NONE;
+		}
+    }
+
+    void fireOnTrigger(ExecutableModel* model, int index, const std::string& eventId)
+    {
+        Log(Logger::LOG_INFORMATION) << __FUNC__;
+        onTrigger(model, index, eventId);
+    }
+
+    void fireOnAssignment(ExecutableModel* model, int index, const std::string& eventId)
+    {
+        Log(Logger::LOG_INFORMATION) << __FUNC__;
+        onAssignment(model, index, eventId);
+    }
+
+private:
+
+    PyObject *pyOnTrigger;
+    PyObject *pyOnAssignment;
+
+    virtual uint onTrigger(ExecutableModel* model, int index, const std::string& eventId)
+    {
+        uint result = 0;
+        std::string err;
+
+        Log(Logger::LOG_INFORMATION) << __FUNC__ << "model: " << (void*)model << ", event id: " << eventId << ", index: " << index;
+
+        if (pyOnTrigger) {
+
+            PyGILState_STATE gstate = PyGILState_Ensure();
+
+            PyObject *pyModel = ExecutableModel_NewPythonObj(model);
+
+            /* format strings:
+               N (object) [PyObject *] - Same as O, except it doesn’t increment the reference count
+               on the object. Useful when the object is created by a call to an object constructor
+               in the argument list.
+            */
+
+            PyObject *args = Py_BuildValue("(N, i, s)", pyModel, index, eventId.c_str());
+            PyObject *pyres = PyEval_CallObject(pyOnTrigger, args);
+
+
+            if (PyErr_Occurred()) {
+
+                PyObject* pystr = PyObject_Str(PyErr_Occurred());
+                err = std::string("Error calling Python onTrigger method: ") + PyString_AsString(pystr);
+
+                Log(Logger::LOG_ERROR) << err;
+
+                Py_XDECREF(pystr);
+                PyErr_Clear();
+            }
+            else if (PyInt_Check(pyres)) {
+                result = PyInt_AsLong(pyres);
+            }
+            else if (pyres != Py_None) {
+                PyObject* pystr = PyObject_Str(pyres);
+                const char* cstr = PyString_AsString(pystr);
+
+                Log(Logger::LOG_WARNING) << "The Python onTrigger handler returned " << cstr;
+                Log(Logger::LOG_WARNING) << "None or an integer are the only valid return values";
+
+                Py_XDECREF(pystr);
+            }
+
+            Py_XDECREF(pyres);
+            Py_XDECREF(args);
+
+            // Release the thread. No Python API allowed beyond this point.
+            PyGILState_Release(gstate);
+
+            if (!err.empty())
+            {
+                throw std::runtime_error(err);
+            }
+        }
+
+        return result;
+    }
+
+    virtual uint onAssignment(ExecutableModel* model, int index, const std::string& eventId)
+    {
+        uint result = 0;
+        std::string err;
+
+        Log(Logger::LOG_INFORMATION) << __FUNC__ << "model: " << (void*)model << ", event id: " << eventId << ", index: " << index;
+
+        if (pyOnAssignment) {
+            PyGILState_STATE gstate = PyGILState_Ensure();
+
+            PyObject *pyModel = ExecutableModel_NewPythonObj(model);
+            PyObject *args = Py_BuildValue("(N, i, s)", pyModel, index, eventId.c_str());
+            PyObject *pyres = PyEval_CallObject(pyOnAssignment, args);
+
+            if (PyErr_Occurred()) {
+
+                PyObject* pystr = PyObject_Str(PyErr_Occurred());
+                err = std::string("Error calling Python onAssignment method: ") + PyString_AsString(pystr);
+
+                Log(Logger::LOG_ERROR) << err;
+
+                Py_XDECREF(pystr);
+                PyErr_Clear();
+            }
+            else if (PyInt_Check(pyres)) {
+                result = PyInt_AsLong(pyres);
+            }
+            else if (pyres != Py_None) {
+                PyObject* pystr = PyObject_Str(pyres);
+                const char* cstr = PyString_AsString(pystr);
+
+                Log(Logger::LOG_WARNING) << "The Python onAssignment handler returned " << cstr;
+                Log(Logger::LOG_WARNING) << "None or an integer are the only valid return values";
+
+                Py_XDECREF(pystr);
+            }
+
+
+            Py_XDECREF(pyres);
+            Py_XDECREF(args);
+
+            // Release the thread. No Python API allowed beyond this point.
+            PyGILState_Release(gstate);
+
+            if (!err.empty())
+            {
+                throw std::runtime_error(err);
+            }
+        }
+
+        return result;
+    }
+};
+
+
+}
+
+#endif // PyEventHandler_H_
diff --git a/wrappers/Python/roadrunner/PyIntegratorListener.h b/wrappers/Python/roadrunner/PyIntegratorListener.h
new file mode 100644
index 0000000..7b39dfd
--- /dev/null
+++ b/wrappers/Python/roadrunner/PyIntegratorListener.h
@@ -0,0 +1,219 @@
+#ifndef PyIntegratorListener_H_
+#define PyIntegratorListener_H_
+
+#include "Integrator.h"
+#include "rrLogger.h"
+
+namespace rr
+{
+class PyIntegratorListener : public IntegratorListener
+{
+public:
+
+    PyIntegratorListener() : pyOnTimeStep(0), pyOnEvent(0)
+    {
+        Log(Logger::LOG_NOTICE) << __FUNC__;
+    }
+
+    virtual ~PyIntegratorListener()
+    {
+        Log(Logger::LOG_NOTICE) << __FUNC__;
+
+        PyGILState_STATE gstate = PyGILState_Ensure();
+
+        Py_XDECREF(pyOnTimeStep);
+        Py_XDECREF(pyOnEvent);
+
+        PyGILState_Release(gstate);
+    }
+
+    void setOnTimeStep(PyObject *py)
+    {
+        if (py == Py_None) {
+            Py_XDECREF(pyOnTimeStep);  /* Dispose of previous callback */
+            pyOnTimeStep = NULL;
+            return;
+        }
+
+        if (!PyCallable_Check(py)) {
+            throw std::invalid_argument("argument must be callable");
+        }
+
+        Py_XINCREF(py);           /* Add a reference to new callback */
+        Py_XDECREF(pyOnTimeStep);  /* Dispose of previous callback */
+        pyOnTimeStep = py;         /* Remember new callback */
+    }
+
+    PyObject* getOnTimeStep()
+    {
+        if (pyOnTimeStep) {
+            return pyOnTimeStep;
+        } else {
+            Py_RETURN_NONE;
+        }
+    }
+
+    void setOnEvent(PyObject* py)
+    {
+        if (py == Py_None) {
+            Py_XDECREF(pyOnEvent);  /* Dispose of previous callback */
+            pyOnEvent = NULL;
+            return;
+        }
+
+        if (!PyCallable_Check(py)) {
+            throw std::invalid_argument("argument must be callable");
+        }
+
+        Py_XINCREF(py);              /* Add a reference to new callback */
+        Py_XDECREF(pyOnEvent);  /* Dispose of previous callback */
+        pyOnEvent = py;           /* Remember new callback */
+
+    }
+
+    PyObject *getOnEvent()
+    {
+        if (pyOnEvent) {
+            return pyOnEvent;
+        } else {
+            Py_RETURN_NONE;
+        }
+    }
+
+
+private:
+    PyObject *pyOnTimeStep;
+    PyObject *pyOnEvent;
+
+    /**
+     * is called after the internal integrator completes each internal time step.
+     */
+    virtual uint onTimeStep(Integrator* integrator, ExecutableModel* model, double time)
+    {
+        uint result = 0;
+        std::string err;
+
+        Log(Logger::LOG_INFORMATION) << __FUNC__ << "integrator: " << (void*)integrator << ", model: " << (void*)model << ", time: " << time;
+
+        if (pyOnTimeStep) {
+
+            PyGILState_STATE gstate = PyGILState_Ensure();
+
+            PyObject *pyIntegrator = Integrator_NewPythonObj(integrator);
+            PyObject *pyModel = ExecutableModel_NewPythonObj(model);
+
+            /* format strings:
+               N (object) [PyObject *] - Same as O, except it doesn’t increment the reference count
+               on the object. Useful when the object is created by a call to an object constructor
+               in the argument list.
+            */
+
+            PyObject *args = Py_BuildValue("(N, N, d)", pyIntegrator, pyModel, time);
+            PyObject *pyres = PyEval_CallObject(pyOnTimeStep, args);
+
+            if (PyErr_Occurred()) {
+
+                PyObject* pystr = PyObject_Str(PyErr_Occurred());
+                err = std::string("Error calling Python onTimeStep method: ") + PyString_AsString(pystr);
+
+                Log(Logger::LOG_ERROR) << err;
+
+                Py_XDECREF(pystr);
+                PyErr_Clear();
+            }
+            else if (PyInt_Check(pyres)) {
+                result = PyInt_AsLong(pyres);
+            }
+            else if (pyres != Py_None) {
+                PyObject* pystr = PyObject_Str(pyres);
+                const char* cstr = PyString_AsString(pystr);
+
+                Log(Logger::LOG_WARNING) << "The Python onTrigger handler returned " << cstr;
+                Log(Logger::LOG_WARNING) << "No result is required";
+
+                Py_XDECREF(pystr);
+            }
+
+            Py_XDECREF(pyres);
+            // frees both new objects
+            Py_XDECREF(args);
+
+            // Release the thread. No Python API allowed beyond this point.
+            PyGILState_Release(gstate);
+
+            if (!err.empty())
+            {
+                throw std::runtime_error(err);
+            }
+        }
+
+        return result;
+    }
+
+
+
+    /**
+     * whenever model event occurs and after it is procesed.
+     */
+    virtual uint onEvent(Integrator* integrator, ExecutableModel* model, double time)
+    {
+        uint result = 0;
+        std::string err;
+
+        Log(Logger::LOG_INFORMATION) << __FUNC__ << "integrator: " << (void*)integrator << ", model: " << (void*)model << ", time: " << time;
+
+        if (pyOnEvent) {
+            PyGILState_STATE gstate = PyGILState_Ensure();
+
+            PyObject *pyIntegrator = Integrator_NewPythonObj(integrator);
+            PyObject *pyModel = ExecutableModel_NewPythonObj(model);
+            PyObject *args = Py_BuildValue("(N, N, s)", pyIntegrator, pyModel, time);
+            PyObject *pyres = PyEval_CallObject(pyOnEvent, args);
+
+            if (PyErr_Occurred()) {
+
+                PyObject* pystr = PyObject_Str(PyErr_Occurred());
+                err = std::string("Error calling Python onEvent method: ") + PyString_AsString(pystr);
+
+                Log(Logger::LOG_ERROR) << err;
+
+                Py_XDECREF(pystr);
+                PyErr_Clear();
+            }
+            else if (pyres != Py_None) {
+                PyObject* pystr = PyObject_Str(pyres);
+                const char* cstr = PyString_AsString(pystr);
+
+                Log(Logger::LOG_WARNING) << "The Python onAssignment handler returned " << cstr;
+                Log(Logger::LOG_WARNING) << "No result is required";
+
+                Py_XDECREF(pystr);
+            }
+
+
+            Py_XDECREF(pyres);
+            Py_XDECREF(args);
+
+            // Release the thread. No Python API allowed beyond this point.
+            PyGILState_Release(gstate);
+
+            if (!err.empty())
+            {
+                throw std::runtime_error(err);
+            }
+        }
+
+        return result;
+    }
+};
+
+/**
+ * listeners are shared objects, so use std smart pointers
+ * to manage them.
+ */
+typedef cxx11_ns::shared_ptr<rr::PyIntegratorListener> PyIntegratorListenerPtr;
+
+
+}
+
+#endif // PyEventHandler_H_
diff --git a/wrappers/Python/roadrunner/PyLoggerStream.cpp b/wrappers/Python/roadrunner/PyLoggerStream.cpp
new file mode 100644
index 0000000..f62c301
--- /dev/null
+++ b/wrappers/Python/roadrunner/PyLoggerStream.cpp
@@ -0,0 +1,230 @@
+/*
+ * PyLoggerStream.cpp
+ *
+ *  Created on: Aug 13, 2014
+ *      Author: andy
+ */
+
+#include <PyLoggerStream.h>
+#include <PyUtils.h>
+
+
+namespace rr
+{
+
+class PyGILState
+{
+public:
+    PyGILState_STATE state;
+
+    PyGILState() : state(PyGILState_Ensure()) {};
+
+    ~PyGILState() {  PyGILState_Release(state); };
+};
+
+
+
+PyLoggerStream::~PyLoggerStream()
+{
+    freePyObjects();
+}
+
+
+
+int PyLoggerStream::sync()
+{
+    PyGILState gstate;
+
+    PyObject* args = PyTuple_New(0);
+
+    PyObject *retval = PyObject_Call(flush, args, NULL);
+
+    Py_DECREF(args);
+
+    if (retval) {
+        if (retval == Py_None) {
+            return 1;
+        }
+        else {
+            throw std::runtime_error("error calling python flush method, result not Py_None");
+            return -1;
+        }
+    }
+
+    throw std::runtime_error("error calling python flush method, result NULL");
+
+    return -1;
+}
+
+// write one character
+int PyLoggerStream::overflow(int c) {
+
+    if (c != EOF) {
+
+        char buffer[2] = {0};
+        buffer[0] = (char)c;
+        buffer[1] = 0;
+        if (xsputn(buffer, 1) != 1) {
+            return EOF;
+        }
+    }
+
+    return c;
+}
+
+std::streamsize PyLoggerStream::xsputn (const char* s,
+        std::streamsize num) {
+
+    PyGILState gstate;
+
+    if (!stream) {
+        throw (std::runtime_error("Python stream object is NULL, "
+                "likely PyLoggerStream has not been initialized"));
+    }
+
+    // new python object
+    PyObject* pystr = rrPyString_FromStringAndSize(s, num);
+
+    // new py object
+    PyObject* args = PyTuple_New(1);
+
+    // steals ref to pystr
+    PyTuple_SetItem(args, 0, pystr);
+
+    PyObject *retval = PyObject_Call(write, args, NULL);
+
+    Py_DECREF(args);
+
+    int result = EOF;
+
+    if (retval) {
+        if (retval == Py_None) {
+            result = num;
+        }
+        else {
+            throw std::runtime_error("error calling python write method, result not Py_None");
+            result = EOF;
+        }
+    } else {
+
+        throw std::runtime_error("error calling python write method, result NULL");
+    }
+
+    return result;
+}
+
+// single global pyLogger object does not allocate any memory,
+// holds onto pointers created in python.
+static PyLoggerStream pyLoggerStream;
+
+// references the above stram.
+static std::ostream pyostream(&pyLoggerStream);
+
+
+void PyLoggerStream::enablePythonLogging()
+{
+    PyGILState gstate;
+
+    // a borrowed reference to python owned object,
+    // the logger stream increments the refe count.
+    PyObject* pyerr = PySys_GetObject("stderr");
+
+    if (pyerr == NULL)
+    {
+        throw std::logic_error("ERROR: Could not get Python stderr");
+        return;
+    }
+
+    pyLoggerStream.setPyStream(pyerr);
+    Logger::setConsoleStream(&pyostream);
+}
+
+
+void PyLoggerStream::disablePythonLogging()
+{
+    PyGILState gstate;
+
+    Logger::setConsoleStream(&std::clog);
+
+    pyLoggerStream.freePyObjects();
+}
+
+PyLoggerStream::PyLoggerStream(const PyLoggerStream& other):
+    stream(NULL), write(NULL), flush(NULL)
+{
+    throw std::logic_error("object is not copyable");
+}
+
+PyLoggerStream& PyLoggerStream::operator =(const PyLoggerStream&)
+{
+    throw std::logic_error("object is not copyable");
+}
+
+PyLoggerStream::PyLoggerStream():
+        stream(NULL), write(NULL), flush(NULL)
+{
+}
+
+
+void PyLoggerStream::setPyStream(PyObject* ps)
+{
+    freePyObjects();
+
+    if (ps == NULL) {
+        return;
+    }
+
+    try {
+        stream = ps;
+        Py_INCREF(stream);
+
+        write = PyObject_GetAttrString(stream, "write");
+        if (write == NULL) {
+            throw std::invalid_argument("given python object has no write method");
+        }
+
+        if (!PyCallable_Check(write)) {
+            throw std::invalid_argument("write attribute of python stream object is not callable");
+        }
+
+        flush = PyObject_GetAttrString(stream, "flush");
+        if (flush == NULL) {
+            throw std::invalid_argument("given python object has no flush method");
+        }
+
+        if (!PyCallable_Check(flush)) {
+            throw std::invalid_argument("flush attribute of python stream object is not callable");
+        }
+    } catch(std::exception& e) {
+        freePyObjects();
+        throw;
+    }
+}
+
+void PyLoggerStream::freePyObjects()
+{
+    if(Py_IsInitialized()) {
+        PyGILState gstate;
+
+        if(stream) {
+            Py_DECREF(stream);
+            stream = NULL;
+        }
+
+        if(write) {
+            Py_DECREF(write);
+            write = NULL;
+        }
+
+        if(flush) {
+            Py_DECREF(flush);
+            flush = NULL;
+        }
+    } else {
+        stream = NULL;
+        write = NULL;
+        flush = NULL;
+    }
+}
+
+} /* namespace rr */
diff --git a/wrappers/Python/roadrunner/PyLoggerStream.h b/wrappers/Python/roadrunner/PyLoggerStream.h
new file mode 100644
index 0000000..132bfaa
--- /dev/null
+++ b/wrappers/Python/roadrunner/PyLoggerStream.h
@@ -0,0 +1,137 @@
+/*
+ * PyLoggerStream.h
+ *
+ *  Created on: Aug 13, 2014
+ *      Author: andy
+ */
+
+#ifndef PYLOGGERSTREAM_H_
+#define PYLOGGERSTREAM_H_
+
+#include <cstdio>
+#include <streambuf>
+
+#include <iostream>
+#include <stdexcept>
+#include "rrLogger.h"
+
+
+#include <Python.h>
+
+
+namespace rr {
+
+
+/**
+ * Object that implements the streambuff interface around the
+ * an existing FILE object that was created by python.
+ */
+class PyLoggerStream : public std::streambuf
+{
+public:
+
+    /**
+     * initialize a static PyLoggerStream object with
+     * the Python sys.stderr object and attach it
+     * to the roadrunner Logger.
+     */
+    static void enablePythonLogging();
+
+
+    static void disablePythonLogging();
+
+    PyLoggerStream();
+
+
+    virtual ~PyLoggerStream();
+
+    PyLoggerStream( const PyLoggerStream& other ); // non construction-copyable
+    PyLoggerStream& operator=( const PyLoggerStream& ); // non copyable
+
+
+    /**
+     * called by ostream
+     */
+    void close();
+
+    /**
+     *  @brief  Consumes data from the buffer; writes to the
+     *          controlled sequence.
+     *  @param  c  An additional character to consume.
+     *  @return  eof() to indicate failure, something else (usually
+     *           @a c, or not_eof())
+     *
+     *  Called by ostream
+     *
+     *  writes a single character to the python stream.
+     *
+     *  Informally, this function is called when the output buffer is full
+     *  (or does not exist, as buffering need not actually be done).  If a
+     *  buffer exists, it is "consumed", with "some effect" on the
+     *  controlled sequence.  (Typically, the buffer is written out to the
+     *  sequence verbatim.)  In either case, the character @a c is also
+     *  written out, if @a c is not @c eof().
+     *
+     *  For a formal definiton of this function, see a good text
+     *  such as Langer & Kreft, or [27.5.2.4.5]/3-7.
+     *
+     *  A functioning output streambuf can be created by overriding only
+     *  this function (no buffer area will be used).
+     *
+     *  @note  Base class version does nothing, returns eof().
+     */
+    virtual int overflow(int c);
+
+    /**
+     * called by ostream
+     *
+     * Synchronizes the buffer arrays with the controlled sequences.
+     *
+     * tell py stream to flush
+     *
+     * @return  -1 on failure.
+     */
+    virtual int sync();
+
+    /**
+     * write multiple chars,
+     * called by C++ ostream
+     *
+     *  @param  s  A buffer area.
+     *  @param  n  Maximum number of characters to write.
+     *  @return  The number of characters written.
+     *
+     *  Writes @a s[0] through @a s[n-1] to the output sequence, as if
+     *  by @c sputc().  Stops when either @a n characters have been
+     *  copied, or when @c sputc() would return @c traits::eof().
+     *
+     *  It is expected that derived classes provide a more efficient
+     *  implementation by overriding this definition.
+     */
+    virtual std::streamsize xsputn (const char* s,
+            std::streamsize num) ;
+
+private:
+
+    /**
+     * set the python objects from a python stream object.
+     *
+     * This object holds onto the py stream, so the ref count is incremented.
+     */
+    void setPyStream(PyObject* ps);
+
+    void freePyObjects();
+
+    // reference to python stream object, incr when getting, decr when free
+    PyObject *stream;
+
+    // reference to write method of stream object, incr when getting, decr when free
+    PyObject *write;
+
+    // reference to flush method of stream object, incr when getting, decr when free
+    PyObject *flush;
+};
+
+} /* namespace rr */
+
+#endif /* PYLOGGERSTREAM_H_ */
diff --git a/wrappers/Python/roadrunner/PyUtils.cpp b/wrappers/Python/roadrunner/PyUtils.cpp
new file mode 100644
index 0000000..d15cde2
--- /dev/null
+++ b/wrappers/Python/roadrunner/PyUtils.cpp
@@ -0,0 +1,1123 @@
+/*
+ * PyUtils.cpp
+ *
+ *  Created on: Apr 27, 2014
+ *      Author: andy
+ */
+
+// see discission on import array,
+// http://docs.scipy.org/doc/numpy/reference/c-api.array.html#miscellaneous
+#define NO_IMPORT_ARRAY
+#define PY_ARRAY_UNIQUE_SYMBOL RoadRunner_ARRAY_API
+
+#include <stdexcept>
+#include <string>
+#include <algorithm>
+
+// wierdness on OSX clang, this needs to be included before python.h,
+// otherwise compile pukes with:
+// localefwd.h error: too many arguments provided to function-like macro invocation
+#include <sstream>
+#include <vector>
+#include <PyUtils.h>
+#include <rrLogger.h>
+#include <Dictionary.h>
+#include "rrConfig.h"
+#include "rrRoadRunnerOptions.h"
+#include <numpy/arrayobject.h>
+#include "structmember.h"
+
+// python object.h
+#include "object.h"
+
+#include <iostream>
+#include <iomanip>
+
+using namespace std;
+
+typedef vector<string> str_vector;
+
+namespace rr
+{
+
+/// Imported from graphfab
+#define STRINGIFY(x) #x
+/// Imported from graphfab
+#define EXPAND_AND_STRINGIFY(x) STRINGIFY(x)
+
+/// Imported from graphfab
+char* rr_strclone(const char* src) {
+    if(!src) {
+        assert(0 && "rr_strclone passed null arg");
+        return NULL;
+    } else {
+        size_t size = strlen(src)+1;
+        char* dst = (char*)malloc(size*sizeof(char));
+
+        memcpy(dst, src, size); // copies null char
+
+        return dst;
+    }
+}
+
+/// Imported from graphfab
+void rr_strfree(const char* str) {
+    free((void*)str);
+}
+
+/**
+ * @brief Get the UTF-8 encoded buffer for a Python string
+ * @details Imported from graphfab
+ * @note Caller must free the buffer using @ref rr_strfree
+ */
+char* rrPyString_getString(PyObject* uni) {
+    char* str = NULL;
+//     #pragma message "PY_MAJOR_VERSION = " EXPAND_AND_STRINGIFY(PY_MAJOR_VERSION)
+#if PY_MAJOR_VERSION == 3
+    PyObject* bytes = PyUnicode_AsUTF8String(uni);
+    str = rr_strclone(PyBytes_AsString(bytes));
+    Py_XDECREF(bytes);
+#else
+    str = rr_strclone(PyString_AsString(uni));
+#endif
+    return str;
+}
+
+std::string rrPyString_getCPPString(PyObject* uni) {
+    char* cstr = rrPyString_getString(uni);
+    std::string str(cstr);
+    rr_strfree(cstr);
+    return str;
+}
+
+/// Imported from graphfab
+int rrPyCompareString(PyObject* uni, const char* str) {
+    #if SAGITTARIUS_DEBUG_LEVEL >= 2
+    {
+        printf("PyCompareString started\n");
+    }
+    #endif
+    {
+        char* s = rrPyString_getString(uni);
+        int cmp = !strcmp(s,str);
+        rr_strfree(s);
+
+        if(cmp)
+            return 1;
+        else
+            return 0;
+    }
+}
+
+/// Imported from graphfab
+PyObject* rrPyString_FromString(const char* s) {
+#if PY_MAJOR_VERSION == 3
+    return PyUnicode_FromString(s);
+#else
+    return PyString_FromString(s);
+#endif
+}
+
+/// Imported from graphfab
+PyObject* rrPyString_FromStringAndSize(const char* s, Py_ssize_t size) {
+#if PY_MAJOR_VERSION == 3
+    return PyUnicode_FromStringAndSize(s, size);
+#else
+    return PyString_FromStringAndSize(s, size);
+#endif
+}
+
+char* rrPyString_AsString(PyObject* s) {
+#if PY_MAJOR_VERSION == 3
+    char* str;
+    PyObject* bytes = PyUnicode_AsUTF8String(s);
+    str = rr_strclone(PyBytes_AsString(bytes));
+    Py_XDECREF(bytes);
+    return str;
+#else
+    return rr_strclone(PyString_AsString(s));
+#endif
+}
+
+PyObject* Variant_to_py(const Variant& var)
+{
+    PyObject *result = 0;
+
+    const std::type_info &type = var.typeInfo();
+
+    if (var.isEmpty()) {
+        Py_RETURN_NONE;
+    }
+
+    if (type == typeid(std::string)) {
+        return rrPyString_FromString(var.convert<string>().c_str());
+    }
+
+    if (type == typeid(bool)) {
+        return PyBool_FromLong(var.convert<bool>());
+    }
+
+    if (type == typeid(unsigned long)) {
+        return PyLong_FromUnsignedLong(var.convert<unsigned long>());
+    }
+
+    if (type == typeid(long)) {
+        return PyLong_FromLong(var.convert<long>());
+    }
+
+    if (type == typeid(int)) {
+# if PY_MAJOR_VERSION == 3
+        return PyLong_FromLong(var.convert<long>());
+# else
+        return PyInt_FromLong(var.convert<long>());
+# endif
+    }
+
+    if (type == typeid(unsigned int)) {
+        return PyLong_FromUnsignedLong(var.convert<unsigned long>());
+    }
+
+    if (type == typeid(char)) {
+        char c = var.convert<char>();
+        return rrPyString_FromStringAndSize(&c, 1);
+    }
+
+    if (type == typeid(unsigned char)) {
+# if PY_MAJOR_VERSION == 3
+        return PyLong_FromLong(var.convert<long>());
+# else
+        return PyInt_FromLong(var.convert<long>());
+# endif
+    }
+
+    if (type == typeid(float) || type == typeid(double)) {
+        return PyFloat_FromDouble(var.convert<double>());
+    }
+
+
+    throw invalid_argument("could not convert " + var.toString() + "to Python object");
+}
+
+Variant Variant_from_py(PyObject* py)
+{
+    Variant var;
+
+    if(py == Py_None)
+    {
+        return var;
+    }
+
+# if PY_MAJOR_VERSION == 3
+    if (PyUnicode_Check(py))
+# else
+    if (PyString_Check(py))
+# endif
+    {
+        var = rrPyString_getCPPString(py);
+        return var;
+    }
+
+    else if (PyBool_Check(py))
+    {
+        var = (bool)(py == Py_True);
+        return var;
+    }
+
+    else if (PyLong_Check(py))
+    {
+        // need to check for overflow.
+        var = (long)PyLong_AsLong(py);
+
+        // Borrowed reference.
+        PyObject* err = PyErr_Occurred();
+        if (err) {
+            std::stringstream ss;
+            ss << "Could not convert Python long to C ";
+            ss << sizeof(long) * 8 << " bit long: ";
+            ss << rrPyString_getCPPString(err);
+
+            // clear error, raise our own
+            PyErr_Clear();
+
+            invalid_argument(ss.str());
+        }
+
+        return var;
+    }
+
+# if PY_MAJOR_VERSION == 3
+    else if (PyLong_Check(py))
+# else
+    else if (PyInt_Check(py))
+# endif
+    {
+# if PY_MAJOR_VERSION == 3
+        var = PyLong_AsLong(py);
+# else
+        var = (int)PyInt_AsLong(py);
+# endif
+        return var;
+    }
+
+    else if (PyFloat_Check(py))
+    {
+        var = (double)PyFloat_AsDouble(py);
+        return var;
+    }
+
+    string msg = "could not convert Python type to built in type";
+    throw invalid_argument(msg);
+}
+
+PyObject* dictionary_keys(const Dictionary* dict)
+{
+    std::vector<std::string> keys = dict->getKeys();
+
+    unsigned size = keys.size();
+
+    PyObject* pyList = PyList_New(size);
+
+    unsigned j = 0;
+
+    for (std::vector<std::string>::const_iterator i = keys.begin(); i != keys.end(); ++i)
+    {
+        const std::string& key  = *i;
+        PyObject* pyStr = rrPyString_FromString(key.c_str());
+        PyList_SET_ITEM(pyList, j++, pyStr);
+    }
+
+    return pyList;
+}
+
+PyObject* dictionary_values(const Dictionary* dict)
+{
+    std::vector<std::string> keys = dict->getKeys();
+
+    unsigned size = keys.size();
+
+    PyObject* pyList = PyList_New(size);
+
+    unsigned j = 0;
+
+    for (std::vector<std::string>::const_iterator i = keys.begin(); i != keys.end(); ++i)
+    {
+        const std::string& key  = *i;
+        PyObject* pyVal = Variant_to_py(dict->getItem(key));
+        PyList_SET_ITEM(pyList, j++, pyVal);
+    }
+
+    return pyList;
+}
+
+PyObject* dictionary_items(const Dictionary* dict)
+{
+    std::vector<std::string> keys = dict->getKeys();
+
+    unsigned size = keys.size();
+
+    PyObject* pyList = PyList_New(size);
+
+    unsigned j = 0;
+
+    for (std::vector<std::string>::const_iterator i = keys.begin(); i != keys.end(); ++i)
+    {
+        const std::string& key  = *i;
+        PyObject* pyStr = Variant_to_py(dict->getItem(key));
+
+        PyObject *pyKey = rrPyString_FromString(key.c_str());
+        PyObject *pyVal = Variant_to_py(dict->getItem(key));
+        PyObject *tup = PyTuple_Pack(2, pyKey, pyVal);
+
+        Py_DECREF(pyKey);
+        Py_DECREF(pyVal);
+
+        // list takes ownershipt of tuple
+        PyList_SET_ITEM(pyList, j++, tup);
+    }
+
+    return pyList;
+}
+
+PyObject* dictionary_getitem(const Dictionary* dict, const char* key)
+{
+    return Variant_to_py(dict->getItem(key));
+}
+
+PyObject* dictionary_setitem(Dictionary* dict, const char* key, PyObject* value)
+{
+    dict->setItem(key, Variant_from_py(value));
+    Py_RETURN_NONE;
+}
+
+void dictionary_delitem(Dictionary* dict, const char* key)
+{
+    dict->deleteItem(key);
+}
+
+PyObject* dictionary_contains(const Dictionary* dict, const char* key)
+{
+    bool contains = dict->hasKey(key);
+    return PyBool_FromLong(contains);
+}
+
+#define VERIFY_PYARRAY(p) { \
+    assert(p && "PyArray is NULL"); \
+    assert((PyArray_NBYTES(p) > 0 ? PyArray_ISCARRAY(p) : true) &&  "PyArray must be C format"); \
+}
+
+/*  original %typemap(out) ls::DoubleMatrix {
+ *
+    PyObject *pArray = NULL;
+    int rows = ($1).numRows();
+    int cols = ($1).numCols();
+    double *data = (double*)malloc(sizeof(double)*rows*cols);
+    memcpy(data, ($1).getArray(), sizeof(double)*rows*cols);
+
+    if(cols == 1) {
+        int nd = 1;
+        npy_intp dims[1] = {rows};
+        pArray = PyArray_New(&PyArray_Type, nd, dims, NPY_DOUBLE, NULL, data, 0,
+                             NPY_CARRAY | NPY_OWNDATA, NULL);
+
+    }
+    else {
+        int nd = 2;
+        npy_intp dims[2] = {rows, cols};
+        pArray = PyArray_New(&PyArray_Type, nd, dims, NPY_DOUBLE, NULL, data, 0,
+                             NPY_CARRAY | NPY_OWNDATA, NULL);
+    }
+
+    VERIFY_PYARRAY(pArray);
+    $result  = pArray;
+ */
+
+/*  original %typemap(out) const ls::DoubleMatrix* {
+ *
+    PyObject *pArray = NULL;
+    int rows = ($1)->numRows();
+    int cols = ($1)->numCols();
+    double *data = ($1)->getArray();
+
+    if(cols == 1) {
+        int nd = 1;
+        npy_intp dims[1] = {rows};
+        pArray = PyArray_New(&PyArray_Type, nd, dims, NPY_DOUBLE, NULL, data, 0,
+                             NPY_CARRAY, NULL);
+    }
+    else {
+        int nd = 2;
+        npy_intp dims[2] = {rows, cols};
+        pArray = PyArray_New(&PyArray_Type, nd, dims, NPY_DOUBLE, NULL, data, 0,
+                             NPY_CARRAY, NULL);
+    }
+
+    VERIFY_PYARRAY(pArray);
+    $result  = pArray;
+ */
+
+
+static PyObject* NamedArray_New(int nd, npy_intp *dims, double *data, int pyFlags,
+        const ls::DoubleMatrix* mat);
+
+
+PyObject* doublematrix_to_py(const ls::DoubleMatrix* m, bool structured_result, bool copy_result)
+{
+    ls::DoubleMatrix *mat = const_cast<ls::DoubleMatrix*>(m);
+
+
+    // a valid array descriptor:
+    // In [87]: b = array(array([0,1,2,3]),
+    //      dtype=[('r', 'f8'), ('g', 'f8'), ('b', 'f8'), ('a', 'f8')])
+
+
+    // are we returning a structured array?
+    if (structured_result) {
+
+        // get the column names
+        //const std::vector<SelectionRecord>& sel = ($self)->getSelections();
+        //std::vector<string> names(sel.size());
+
+        //for(int i = 0; i < sel.size(); ++i) {
+        //    names[i] = sel[i].to_string();
+        //}
+
+        std::vector<string> names = mat->getColNames();
+
+
+        int rows = mat->numRows();
+        int cols = mat->numCols();
+
+        if (cols == 0) {
+            Py_RETURN_NONE;
+        }
+
+        if (cols != names.size()) {
+            throw std::logic_error("column names size does not match matrix columns size");
+        }
+
+        double* mData = mat->getArray();
+
+        PyObject* list = PyList_New(names.size());
+
+        for(int i = 0; i < names.size(); ++i)
+        {
+            PyObject *col = rrPyString_FromString(names[i].c_str());
+            PyObject *type = rrPyString_FromString("f8");
+            PyObject *tup = PyTuple_Pack(2, col, type);
+
+            Py_DECREF(col);
+            Py_DECREF(type);
+
+            // list takes ownershipt of tuple
+            void PyList_SET_ITEM(list, i, tup);
+        }
+
+        PyArray_Descr* descr = 0;
+        PyArray_DescrConverter(list, &descr);
+
+        // done with list
+        Py_CLEAR(list);
+        npy_intp dims[] = {rows};
+
+        // steals a reference to descr
+        PyObject *pyres = PyArray_SimpleNewFromDescr(1, dims,  descr);
+        VERIFY_PYARRAY(pyres);
+
+        if (pyres) {
+
+            assert(PyArray_NBYTES(pyres) == rows*cols*sizeof(double) && "invalid array size");
+
+            double* data = (double*)PyArray_BYTES(pyres);
+
+            memcpy(data, mData, rows*cols*sizeof(double));
+        }
+
+        return pyres;
+    }
+    // standard array result.
+    // this version just wraps the roadrunner owned data.
+    else {
+
+        int rows = mat->numRows();
+        int cols = mat->numCols();
+        PyObject *pArray = NULL;
+
+        if (copy_result) {
+
+            Log(rr::Logger::LOG_DEBUG) << "copying result data";
+
+        // passing a NULL for data tells numpy to allocate its own data
+
+            // make a 1D array in this case
+            if(cols == 1 && mat->getColNames().size() == 0) {
+                int nd = 1;
+                npy_intp dims[1] = {rows};
+                pArray = PyArray_New(&PyArray_Type, nd, dims, NPY_DOUBLE,
+                        NULL, NULL, 0, 0, NULL);
+            }
+            else {
+                int nd = 2;
+                npy_intp dims[2] = {rows, cols};
+                pArray = NamedArray_New(nd, dims, NULL,
+                                     0, mat);
+            }
+
+            VERIFY_PYARRAY(pArray);
+
+            // copy our data into the numpy array
+            double *data = static_cast<double*>(PyArray_DATA(pArray));
+            memcpy(data, mat->getArray(), sizeof(double)*rows*cols);
+
+        }
+        else {
+
+            Log(rr::Logger::LOG_DEBUG) << "wraping existing data";
+
+            double *data = mat->getArray();
+
+            if(cols == 1 && mat->getColNames().size() == 0) {
+                int nd = 1;
+                npy_intp dims[1] = {rows};
+                pArray = PyArray_New(&PyArray_Type, nd, dims, NPY_DOUBLE,
+                        NULL, data, 0, NPY_CARRAY, NULL);
+            }
+            else {
+                int nd = 2;
+                npy_intp dims[2] = {rows, cols};
+                pArray = NamedArray_New(nd, dims, data,
+                        NPY_CARRAY, mat);
+            }
+
+            VERIFY_PYARRAY(pArray);
+
+        }
+        return pArray;
+    }
+}
+
+
+struct NamedArrayObject {
+    PyArrayObject array;
+    PyObject *rowNames;
+    PyObject *colNames;
+    int test1;
+    int test2;
+    int test3;
+} ;
+
+static PyObject* NamedArrayObject_Finalize(NamedArrayObject * self, PyObject *parent);
+
+static PyObject *NamedArray_repr(NamedArrayObject *self);
+
+static PyObject *NamedArray_str(NamedArrayObject *self);
+
+static void NamedArrayObject_dealloc(NamedArrayObject *self)
+{
+    Log(Logger::LOG_INFORMATION) << __FUNC__;
+    Py_XDECREF(self->rowNames);
+    Py_XDECREF(self->colNames);
+
+    PyObject *pself = (PyObject*)self;
+
+    assert(pself->ob_type->tp_base == &PyArray_Type);
+    PyArray_Type.tp_dealloc(pself);
+
+    Log(Logger::LOG_INFORMATION) <<  __FUNC__ << ", Done";
+}
+
+
+
+static PyObject *NamedArrayObject_alloc(PyTypeObject *type, Py_ssize_t nitems)
+{
+    Log(Logger::LOG_INFORMATION) << __FUNC__;
+    PyObject *obj;
+
+    assert(type->tp_basicsize == sizeof(NamedArrayObject));
+
+    obj = (PyObject *)PyArray_malloc(type->tp_basicsize);
+    PyObject_Init(obj, type);
+    ((NamedArrayObject *)obj)->rowNames = NULL;
+    ((NamedArrayObject *)obj)->colNames = NULL;
+    ((NamedArrayObject *)obj)->test1 = 10;
+    ((NamedArrayObject *)obj)->test2 = 11;
+    ((NamedArrayObject *)obj)->test3 = 12;
+
+    Log(Logger::LOG_INFORMATION) << "created obj: " << obj;
+    return obj;
+}
+
+#define CSTR(str) const_cast<char*>(str)
+
+
+static PyMemberDef NamedArray_members[] = {
+        {CSTR("rownames"), T_OBJECT_EX, offsetof(NamedArrayObject, rowNames), 0, CSTR("row names")},
+        {CSTR("colnames"), T_OBJECT_EX, offsetof(NamedArrayObject, colNames), 0, CSTR("column names")},
+        {CSTR("test1"), T_INT, offsetof(NamedArrayObject, test1), 0, CSTR("test1 number")},
+        {CSTR("test2"), T_INT, offsetof(NamedArrayObject, test2), 0, CSTR("test2 number")},
+        {CSTR("test3"), T_INT, offsetof(NamedArrayObject, test3), 0, CSTR("test3 number")},
+        {NULL}  /* Sentinel */
+};
+
+static PyMethodDef NamedArray_methods[] = {
+    { CSTR("__array_finalize__"), (PyCFunction)NamedArrayObject_Finalize, METH_VARARGS,  CSTR("")},
+    {0}
+};
+
+/*
+static PyMethodDef DatetimeArray_methods[] = {
+    { "__array_finalize__", (PyCFunction)DatetimeArray_finalize, METH_VARARGS,
+      ""},
+//    {"__getitem__", (PyCFunction)DatetimeArray_getitem, METH_VARARGS, ""},
+    {"has_dups", (PyCFunction)DatetimeArray_has_dups, METH_VARARGS, ""},
+    {"has_missing", (PyCFunction)DatetimeArray_has_missing, METH_VARARGS, ""},
+    {"is_chrono", (PyCFunction)DatetimeArray_is_chrono, METH_VARARGS, ""},
+    {"is_full", (PyCFunction)DatetimeArray_is_full, METH_VARARGS, ""},
+    {"is_valid", (PyCFunction)DatetimeArray_is_valid, METH_VARARGS, ""},
+    {"date_to_index", (PyCFunction)DatetimeArray_date_to_index, METH_VARARGS, ""},
+    {"tovalues", (PyCFunction)DatetimeArray_tovalues, METH_VARARGS, ""},
+    {"toordinals", (PyCFunction)DatetimeArray_toordinals, METH_VARARGS, ""},
+    {"tolist", (PyCFunction)DatetimeArray_tolist, METH_VARARGS, ""},
+    {"fill_missing_dates", (PyCFunction)DatetimeArray_fill_missing_dates, METH_KEYWORDS, ""},
+    {"get_missing_dates_mask", (PyCFunction)DatetimeArray_get_missing_dates_mask, METH_VARARGS, ""},
+    {"convert", (PyCFunction)DatetimeArray_convert, METH_KEYWORDS, ""},
+    {0}
+};
+*/
+
+
+
+//static PyMappingMethods NamedArray_MappingMethods = {
+//#if PY_VERSION_HEX >= 0x02050000
+//    (lenfunc)array_length,              /*mp_length*/
+//#else
+//    (inquiry)array_length,              /*mp_length*/
+//#endif
+//    (binaryfunc)array_subscript_nice,       /*mp_subscript*/
+//    (objobjargproc)array_ass_sub,       /*mp_ass_subscript*/
+//};
+
+
+/**
+ * binaryfunc PyMappingMethods.mp_subscript
+ * This function is used by PyObject_GetItem() and has the same signature.
+ * This slot must be filled for the PyMapping_Check() function to return 1,
+ * it can be NULL otherwise.
+ */
+static PyObject *NammedArray_subscript(NamedArrayObject *self, PyObject *op)
+{
+    binaryfunc PyArray_subscript = PyArray_Type.tp_as_mapping->mp_subscript;
+    int dim = PyArray_NDIM(self);
+
+# if PY_MAJOR_VERSION == 3
+    if (dim == 2 && PyUnicode_Check(op)) {
+# else
+    if (dim == 2 && PyString_Check(op)) {
+# endif
+        char* keyName = rrPyString_AsString(op);
+
+        PyObject *colSeq = PySequence_Fast(self->colNames, "expected a sequence");
+        int len = PySequence_Size(colSeq);
+        for (int col = 0; col < len; col++) {
+            PyObject *item = PySequence_Fast_GET_ITEM(colSeq, col);
+            char* itemStr = rrPyString_AsString(item);
+
+            if(strcmp(keyName, itemStr) == 0) {
+
+                int rows = PyArray_DIM(self, 0);
+                int cols = PyArray_DIM(self, 1);
+
+                npy_intp dims[1] = {rows};
+                PyObject *result = PyArray_New(&PyArray_Type, 1, dims, NPY_DOUBLE, NULL, NULL, 0,
+                        NPY_CARRAY, NULL);
+
+                // copy data to result array
+                double* data = (double*)PyArray_DATA(self);
+                double* newData = (double*)PyArray_DATA(result);
+
+                for(int i = 0; i < rows; ++i) {
+                    newData[i] = data[(i * cols) + col];
+                }
+
+                // free the seq and return
+                Py_DECREF(colSeq);
+                return result;
+            }
+
+            rr_strfree(itemStr);
+        }
+
+        // did not find a col name, free the seq
+        Py_DECREF(colSeq);
+
+
+        // look for row names
+        PyObject *rowSeq = PySequence_Fast(self->rowNames, "expected a sequence");
+        len = PySequence_Size(rowSeq);
+        for (int row = 0; row < len; ++row) {
+            PyObject *item = PySequence_Fast_GET_ITEM(rowSeq, row);
+            char* itemStr = rrPyString_AsString(item);
+
+            if(strcmp(keyName, itemStr) == 0) {
+
+                int rows = PyArray_DIM(self, 0);
+                int cols = PyArray_DIM(self, 1);
+
+                npy_intp dims[1] = {cols};
+                PyObject *result = PyArray_New(&PyArray_Type, 1, dims, NPY_DOUBLE, NULL, NULL, 0,
+                        NPY_CARRAY, NULL);
+
+                // copy data to result array
+                double* data = (double*)PyArray_DATA(self);
+                double* newData = (double*)PyArray_DATA(result);
+
+                for(int i = 0; i < cols; ++i) {
+                    newData[i] = data[(row * cols) + i];
+                }
+
+                // free the seq and return
+                Py_DECREF(rowSeq);
+                return result;
+            }
+
+            rr_strfree(itemStr);
+        }
+
+        // did not find a col name, free the seq
+        Py_DECREF(rowSeq);
+
+        rr_strfree(keyName);
+
+    }
+
+    // not found in row or col names, return default numpy func.
+    return PyArray_subscript((PyObject*)self, op);
+}
+
+static PyMappingMethods NamedArray_MappingMethods = {
+#if PY_VERSION_HEX >= 0x02050000
+    (lenfunc)0,             /*mp_length*/
+#else
+    (inquiry)0,             /*mp_length*/
+#endif
+    (binaryfunc)0,          /*mp_subscript*/
+    (objobjargproc)0,       /*mp_ass_subscript*/
+};
+
+
+
+static PyTypeObject NamedArray_Type = {
+#if PY_MAJOR_VERSION == 3
+    PyVarObject_HEAD_INIT(NULL, 0)
+#else
+    PyObject_HEAD_INIT(NULL)
+    0,                                        /* ob_size */
+#endif
+    "NamedArray",                             /* tp_name */
+    sizeof(NamedArrayObject),                 /* tp_basicsize */
+    0,                                        /* tp_itemsize */
+    (destructor)NamedArrayObject_dealloc,     /* tp_dealloc */
+    0,                                        /* tp_print */
+    0,                                        /* tp_getattr */
+    0,                                        /* tp_setattr */
+    0,                                        /* tp_compare */
+    (reprfunc)NamedArray_repr,                /* tp_repr */
+    0,                                        /* tp_as_number */
+    0,                                        /* tp_as_sequence */
+    &NamedArray_MappingMethods,               /* tp_as_mapping */
+    0,                                        /* tp_hash */
+    0,                                        /* tp_call */
+    (reprfunc)NamedArray_str,                 /* tp_str */
+    0,                                        /* tp_getattro */
+    0,                                        /* tp_setattro */
+    0,                                        /* tp_as_buffer */
+    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+    "NamedArray",                             /* tp_doc */
+    0,                                        /* tp_traverse */
+    0,                                        /* tp_clear */
+    0,                                        /* tp_richcompare */
+    0,                                        /* tp_weaklistoffset */
+    0,                                        /* tp_iter */
+    0,                                        /* tp_iternext */
+    NamedArray_methods,                       /* tp_methods */
+    NamedArray_members,                       /* tp_members */
+    0,                                        /* tp_getset */
+    0,                                        /* tp_base, this gets set to &PyArray_Type when module is initialized */
+    0,                                        /* tp_dict */
+    0,                                        /* tp_descr_get */
+    0,                                        /* tp_descr_set */
+    0,                                        /* tp_dictoffset */
+    0,                                        /* tp_init */
+    NamedArrayObject_alloc,                  /* tp_alloc */
+    0,                        /* tp_new */
+};
+
+
+PyObject* NamedArrayObject_Finalize(NamedArrayObject * self, PyObject *parent)
+{
+    Log(Logger::LOG_INFORMATION) << __FUNC__;
+
+    if(parent != NULL && parent->ob_type == &NamedArray_Type)
+    {
+        NamedArrayObject *p = (NamedArrayObject *)parent;
+        if (p->rowNames != NULL) {
+            Py_INCREF(p->rowNames);
+            self->rowNames = p->rowNames;
+        }
+
+        if (p->colNames != NULL) {
+            Py_INCREF(p->colNames);
+            self->colNames = p->colNames;
+        }
+
+        self->test1 = p->test1;
+        self->test2 = p->test2;
+        self->test3 = p->test3;
+    }
+    Py_RETURN_NONE;
+}
+
+
+/*
+NPY_NO_EXPORT PyObject *
+PyArray_New(PyTypeObject *subtype, int nd, npy_intp *dims, int type_num,
+            npy_intp *strides, void *data, int itemsize, int flags,
+            PyObject *obj)
+{
+    PyArray_Descr *descr;
+    PyObject *new;
+
+    descr = PyArray_DescrFromType(type_num);
+    if (descr == NULL) {
+        return NULL;
+    }
+    if (descr->elsize == 0) {
+        if (itemsize < 1) {
+            PyErr_SetString(PyExc_ValueError,
+                            "data type must provide an itemsize");
+            Py_DECREF(descr);
+            return NULL;
+        }
+        PyArray_DESCR_REPLACE(descr);
+        descr->elsize = itemsize;
+    }
+    new = PyArray_NewFromDescr(subtype, descr, nd, dims, strides,
+                               data, flags, obj);
+    return new;
+}
+ */
+
+/* PyArray_New(&PyArray_Type, nd, dims, NPY_DOUBLE, NULL, data, 0,
+                                     NPY_CARRAY | NPY_OWNDATA, NULL);
+ */
+PyObject* NamedArray_New(int nd, npy_intp *dims, double *data, int pyFlags,
+        const ls::DoubleMatrix* mat)
+{
+    bool named = Config::getValue(Config::PYTHON_ENABLE_NAMED_MATRIX);
+
+    if(named) {
+        Log(Logger::LOG_INFORMATION) << "creating NEW style array";
+
+        NamedArrayObject *array = (NamedArrayObject*)PyArray_New(
+                &NamedArray_Type, nd, dims, NPY_DOUBLE, NULL, data, 0,
+                        pyFlags, NULL);
+
+        if (array == NULL) {
+            PyObject* pystr = PyObject_Str(PyErr_Occurred());
+            const char* error = rrPyString_AsString(pystr);
+            Log(Logger::LOG_CRITICAL) << error;
+            return NULL;
+        }
+
+        array->rowNames = stringvector_to_py(mat->getRowNames());
+        array->colNames = stringvector_to_py(mat->getColNames());
+        array->test1 = 1;
+        array->test2 = 2;
+        array->test3 = 3;
+        return (PyObject*)array;
+
+    } else {
+        Log(Logger::LOG_INFORMATION) << "creating old style array";
+        return PyArray_New(&PyArray_Type, nd, dims, NPY_DOUBLE, NULL, data, 0,
+                pyFlags, NULL);
+    }
+}
+
+PyObject* stringvector_to_py(const std::vector<std::string>& vec)
+{
+    unsigned size = vec.size();
+
+    PyObject* pyList = PyList_New(size);
+
+    unsigned j = 0;
+
+    for (std::vector<std::string>::const_iterator i = vec.begin(); i != vec.end(); ++i)
+    {
+        const std::string& str  = *i;
+        PyObject* pyStr = rrPyString_FromString(str.c_str());
+        PyList_SET_ITEM(pyList, j++, pyStr);
+    }
+
+    return pyList;
+}
+
+std::vector<std::string> py_to_stringvector(PyObject* obj)
+{
+    str_vector result;
+    if(obj) {
+        PyObject *seq = PySequence_Fast(obj, "expected a sequence");
+        if(obj) {
+            unsigned len = PySequence_Size(obj);
+            if (PyList_Check(seq))
+                for (unsigned i = 0; i < len; i++) {
+                    PyObject *item = PyList_GET_ITEM(seq, i);
+                    // Return value: New reference.
+                    PyObject *pystr = PyObject_Str(item);
+                    result.push_back(rrPyString_AsString(pystr));
+                    Py_XDECREF(pystr);
+                }
+            else
+                for (unsigned i = 0; i < len; i++) {
+                    PyObject *item = PyTuple_GET_ITEM(seq, i);
+                    // Return value: New reference.
+                    PyObject *pystr = PyObject_Str(item);
+                    result.push_back(rrPyString_AsString(pystr));
+                    Py_XDECREF(pystr);
+                }
+            Py_XDECREF(seq);
+        }
+    }
+
+    return result;
+}
+
+
+
+Dictionary *Dictionary_from_py(PyObject *py)
+{
+    if (PyDict_Check(py) == 0) {
+        throw invalid_argument("object is not a dictionary");
+    }
+
+    BasicDictionary* dict = new BasicDictionary();
+
+    PyObject *pkey, *pvalue;
+    Py_ssize_t pos = 0;
+
+    while (PyDict_Next(py, &pos, &pkey, &pvalue)) {
+# if PY_MAJOR_VERSION == 3
+        if (PyUnicode_Check(pkey)) {
+# else
+        if (PyString_Check(pkey)) {
+# endif
+            std::string key(rrPyString_AsString(pkey));
+            Variant value = Variant_from_py(pvalue);
+
+            dict->setItem(key, value);
+
+        } else {
+            throw invalid_argument("keys must be strings");
+        }
+    }
+
+    return dict;
+}
+
+
+void pyutil_init(PyObject *module)
+{
+    // set up the base class to be the numpy ndarray PyArray_Type
+    NamedArray_Type.tp_base = &PyArray_Type;
+
+
+    // set up the pointers of the NamedArray_MappingMethods to point
+    // to the numpy ones
+    PyMappingMethods *numpyMappMethods = PyArray_Type.tp_as_mapping;
+
+    assert(numpyMappMethods && "Numpy PyMappingMethods is NULL");
+
+    NamedArray_MappingMethods = *numpyMappMethods;
+
+    // set our getitem pointer
+    NamedArray_MappingMethods.mp_subscript = (binaryfunc)NammedArray_subscript;
+
+    int result;
+
+    if ((result = PyType_Ready(&NamedArray_Type)) < 0) {
+        std::cout << "PyType_Ready(&NamedArray_Type)) Failed, error: " << result;
+        return;
+    }
+
+    Py_INCREF(&NamedArray_Type);
+    result = PyModule_AddObject(module, "NamedArray", (PyObject *)(&NamedArray_Type));
+}
+
+
+/*****************************************************************************************
+ * Array Printing Stuff
+ ****************************************************************************************/
+
+
+
+static int longestStrLen(const str_vector& s) {
+    string::size_type longest = 0;
+    for(str_vector::const_iterator i = s.begin(); i != s.end(); ++i) {
+        longest = std::max(longest, i->length());
+    }
+    return longest;
+}
+
+static std::string array_format(PyArrayObject *arr,
+        const str_vector& rowNames, const str_vector& colNames) {
+
+    unsigned ndim = PyArray_NDIM(arr);
+    unsigned rows = ndim > 0 ? PyArray_DIM(arr, 0) : 0;
+    unsigned cols = ndim > 1 ? PyArray_DIM(arr, 1) : 0;
+
+    assert(rows > 0 && cols > 0);
+
+    #define GET_VAL(_row, _col) *((double *) PyArray_GETPTR2(arr, _row, _col))
+
+    // longest row name + " [["
+    int rowNameWidth = longestStrLen(rowNames) + 1;
+
+    // find widest element in each column
+    vector<unsigned> columnWidths(cols);
+    for(unsigned i = 0; i < rows; ++i) {
+        for(unsigned j = 0; j < cols; ++j) {
+            unsigned colw = columnWidths[j];
+            colw = std::max(colw, j < colNames.size() ? (unsigned)colNames[j].length() + 1 : 0);
+            stringstream ss;
+            ss << GET_VAL(i, j);
+            colw = std::max(colw, (unsigned)ss.str().length() + 1);
+            columnWidths[j] = colw;
+        }
+    }
+
+    stringstream ss;
+
+    // first row, column names
+    if(colNames.size()) {
+        for(unsigned j = 0; j < cols; ++j) {
+            ss << setw((j == 0 ? rowNameWidth + 2 : 0) + columnWidths[j]);
+            ss << right;
+            ss << (j < colNames.size() ? colNames[j] : "");
+            if (j < cols - 1) {
+                ss << ",";
+            }
+        }
+        ss << endl;
+    }
+
+    // main matrix bit
+    for(unsigned i = 0; i < rows; ++i) {
+        // row names
+        ss << setw(rowNameWidth);
+        ss << left;
+        ss << (i < rowNames.size() ? rowNames[i] : "");
+        ss << ((i > 0 && rows > 1) ? " [" : "[[");
+        // columns
+        for(unsigned j = 0; j < cols; ++j) {
+            ss << setw(columnWidths[j]);
+            ss << right;
+            ss << GET_VAL(i, j);
+            if (j < cols-1) {
+                ss << ",";
+            }
+        }
+        ss << ((i < rows - 1) ? "]," : "]]");
+        ss << endl;
+    }
+    return ss.str();
+
+    #undef GET_VAL
+}
+
+PyObject *NamedArray_repr(NamedArrayObject *self)
+{
+    PyArrayObject *array = (PyArrayObject*)self;
+    str_vector rowNames = py_to_stringvector(self->rowNames);
+    str_vector colNames = py_to_stringvector(self->colNames);
+
+    unsigned ndim = PyArray_NDIM(array);
+    unsigned rows = ndim > 0 ? PyArray_DIM(array, 0) : 0;
+    unsigned cols = ndim > 1 ? PyArray_DIM(array, 1) : 0;
+
+    if(rows == 0 || cols == 0) {
+        return PyArray_Type.tp_str((PyObject*)self);
+    }
+
+    string str = array_format(array, rowNames, colNames);
+
+    return rrPyString_FromString(str.c_str());
+}
+
+PyObject *NamedArray_str(NamedArrayObject *self)
+{
+    return NamedArray_repr(self);
+}
+
+
+
+
+} /* namespace rr */
+
diff --git a/wrappers/Python/roadrunner/PyUtils.h b/wrappers/Python/roadrunner/PyUtils.h
new file mode 100644
index 0000000..1bd2b94
--- /dev/null
+++ b/wrappers/Python/roadrunner/PyUtils.h
@@ -0,0 +1,100 @@
+/** @file PyUtils.h
+  * @author Andy
+  * @author JKM
+  * @date 04/27/2014 Creation date
+  * @date 09/04/2014 Add support for Python 3
+  * @copyright Apache License, Version 2.0
+  * @brief Low-level functions used in the Python wrapper
+**/
+
+
+#ifndef PYUTILS_H_
+#define PYUTILS_H_
+
+#include "Variant.h"
+#include <Python.h>
+#include <lsMatrix.h>
+#include <stdint.h>
+
+namespace rr
+{
+
+/**
+ * @brief Convert a Python string object to a @a std::string
+ * @details Python 2/3 API independent.
+ * Supports either Python 2 strings or Python 3 unicode
+ * objects
+ */
+std::string rrPyString_getCPPString(PyObject* uni);
+
+/**
+ * @brief Returns true if strings are equal, false otherwise
+ * @details Python 2/3 API independent
+ */
+int rrPyCompareString(PyObject* uni, const char* str);
+
+/**
+ * @brief Creates a Python string/unicode object from a given UTF-8 buffer
+ * @details Python 2/3 API independent.
+ * If using Python 2, will return a string object.
+ * If using Python 3, will return a unicode object.
+ */
+PyObject* rrPyString_FromString(const char* s);
+
+/**
+ * @brief Creates a Python string/unicode object from a given UTF-8 buffer
+ * @details Python 2/3 API independent.
+ * Similar to @ref rrPyString_FromString but allows the user to
+ * specify the length of the buffer.
+ */
+PyObject* rrPyString_FromStringAndSize(const char* s, Py_ssize_t size);
+
+char* rrPyString_AsString(PyObject* s);
+
+class Dictionary;
+
+/**
+ * @brief Convert a variant to a Python object
+ * @details Python 2/3 API independent.
+ * This conversion handles most simple types
+ * (strings and basic numeric types).
+ * The exact type of the resultant Python object
+ * is dependent on the Python version, since
+ * some types were removed/altered in Python 2->3
+ */
+PyObject *Variant_to_py(const Variant& var);
+
+/**
+ * @brief Inverse of @ref Variant_from_py
+ */
+Variant Variant_from_py(PyObject *py);
+
+PyObject *dictionary_keys(const Dictionary* dict);
+
+PyObject *dictionary_values(const Dictionary* dict);
+
+PyObject *dictionary_items(const Dictionary* dict);
+
+PyObject *dictionary_getitem(const Dictionary* dict, const char* key);
+
+PyObject *dictionary_setitem(Dictionary* dict, const char* key, PyObject* value);
+
+void dictionary_delitem(Dictionary* dict, const char* key);
+
+PyObject *dictionary_contains(const Dictionary* dict, const char* key);
+
+PyObject *doublematrix_to_py(const ls::DoubleMatrix* mat, bool structured_result, bool copy_result);
+
+PyObject *stringvector_to_py(const std::vector<std::string>& vec);
+
+std::vector<std::string> py_to_stringvector(PyObject *obj);
+
+Dictionary *Dictionary_from_py(PyObject *py);
+
+void pyutil_init(PyObject *module);
+
+
+
+} /* namespace rr */
+
+#endif /* PYUTILS_H_ */
diff --git a/wrappers/Python/roadrunner/__init__.py b/wrappers/Python/roadrunner/__init__.py
new file mode 100644
index 0000000..3a61592
--- /dev/null
+++ b/wrappers/Python/roadrunner/__init__.py
@@ -0,0 +1,17 @@
+"""
+The LibRoadRunner SBML Simulation Engine, (c) 2009-2014 Andy Somogyi and Herbert Sauro
+
+LibRoadRunner is an SBML JIT compiler and simulation engine with a variety of analysis
+functions. LibRoadRunner is a self contained library which is designed to be integrated
+into existing simulation platforms or may be used a stand alone simulation and analysis
+package.
+"""
+
+import roadrunner
+from roadrunner import *
+
+__version__ = roadrunner.getVersionStr()
+
+def runTests(testDir=None):
+  import testing
+  return testing.tester.runTester(testDir)
\ No newline at end of file
diff --git a/wrappers/Python/roadrunner/roadrunner.i b/wrappers/Python/roadrunner/roadrunner.i
new file mode 100644
index 0000000..d05ae13
--- /dev/null
+++ b/wrappers/Python/roadrunner/roadrunner.i
@@ -0,0 +1,2680 @@
+
+// Module Name
+%module(docstring="The RoadRunner SBML Simulation Engine, (c) 2009-2014 Andy Somogyi and Herbert Sauro",
+        "threads"=1 /*, directors="1"*/) roadrunner
+
+// most methods should leave the GIL locked, no point to extra overhead
+// for fast methods. Only Roadrunner with long methods like simulate
+// and load release the GIL.
+%nothread;
+
+//%feature("director") PyEventListener;
+
+// ************************************************************
+// Module Includes
+// ************************************************************
+
+// These are copied directly to the .cxx file and are not parsed
+// by SWIG.  Include include files or definitions that are required
+// for the module to build correctly.
+
+
+
+%{
+    #define SWIG_FILE_WITH_INIT
+    // see discussion on import array,
+    // http://docs.scipy.org/doc/numpy/reference/c-api.array.html#miscellaneous
+    #define PY_ARRAY_UNIQUE_SYMBOL RoadRunner_ARRAY_API
+    #include <numpy/arrayobject.h>
+    #include <lsMatrix.h>
+    #include <lsLibla.h>
+    #include <lsLA.h>
+    #include <lsLUResult.h>
+    #include <lsUtils.h>
+    #include <rrCompiler.h>
+    #include <ExecutableModelFactory.h>
+    #include <rrExecutableModel.h>
+    #include <rrRoadRunnerOptions.h>
+    #include <rrRoadRunner.h>
+    #include <SteadyStateSolver.h>
+    #include <rrLogger.h>
+    #include <rrConfig.h>
+    #include <conservation/ConservationExtension.h>
+    #include "conservation/ConservedMoietyConverter.h"
+    #include "SBMLValidator.h"
+    #include "rrSBMLReader.h"
+    #include <cstddef>
+    #include <map>
+    #include <rrVersionInfo.h>
+    #include <rrException.h>
+    #include <assert.h>
+    #include <math.h>
+    #include <cmath>
+    #include "PyUtils.h"
+    #include "PyLoggerStream.h"
+
+    // make a python obj out of the C++ ExecutableModel, this is used by the PyEventListener
+    // class. This function is defined later in this compilation unit.
+    PyObject *ExecutableModel_NewPythonObj(rr::ExecutableModel*);
+    PyObject *Integrator_NewPythonObj(rr::Integrator*);
+
+
+    #include "PyEventListener.h"
+    #include "PyIntegratorListener.h"
+
+    #include "tr1proxy/cxx11_ns.h"
+
+    using ls::Matrix;
+    using ls::DoubleMatrix;
+    using ls::Complex;
+    using ls::ComplexMatrix;
+
+
+// Windows is just so special...
+#ifdef _WIN32
+    #define INFINITY (DBL_MAX + DBL_MAX)
+    #define NAN (INFINITY - INFINITY)
+    #define isnan _isnan
+#else
+    #include <signal.h>
+    #define isnan std::isnan
+#endif
+
+
+    using namespace rr;
+
+#define VERIFY_PYARRAY(p) { \
+    assert(p && "PyArray is NULL"); \
+    assert((PyArray_NBYTES(p) > 0 ? PyArray_ISCARRAY(p) : true) &&  "PyArray must be C format"); \
+}
+
+
+    class DictionaryHolder {
+    public:
+        rr::Dictionary* dict;
+
+        DictionaryHolder() { dict = NULL; }
+
+        ~DictionaryHolder() {
+            Log(Logger::LOG_TRACE) << __FUNC__ << ", deleting dictionary " << (void*)dict;
+            delete dict;
+        }
+    };
+
+
+%}
+
+
+
+
+%naturalvar;
+
+// C++ std::string handling
+%include "std_string.i"
+
+// C++ std::map handling
+%include "std_map.i"
+
+// C++ std::map handling
+%include "std_vector.i"
+
+%include "std_list.i"
+
+//enables better handling of STL exceptions
+%include "exception.i"
+
+// correct mapping of unsigned integers
+%include "rr_stdint.i"
+
+// all the documentation goes here.
+%include "rr_docstrings.i"
+
+
+// the cmake CMakeLists.txt file in this directory sets the value of the
+// SWIG_SHARED_PTR_SUBNAMESPACE as a pre-processor symbol based on the
+// USE_TR1_CXX_NS CMake option. SWIG has no way of getting this info
+// from the compiler so have to reley on the CMake system.
+%include "std_shared_ptr.i"
+
+%shared_ptr(rr::PyIntegratorListener)
+
+
+
+%template(IntVector) std::vector<int>;
+%template(StringVector) std::vector<std::string>;
+%template(StringList) std::list<std::string>;
+
+%apply std::vector<std::string> {vector<std::string>, vector<string>, std::vector<string> };
+
+//%template(SelectionRecordVector) std::vector<rr::SelectionRecord>;
+//%apply std::vector<rr::SelectionRecord> {std::vector<SelectionRecord>, std::vector<rr::SelectionRecord>, vector<SelectionRecord>};
+
+%apply std::list<std::string>& OUTPUT {std::list<std::string>};
+
+%template(DictionaryVector) std::vector<const rr::Dictionary*>;
+%apply std::vector<const rr::Dictionary*> {std::vector<const Dictionary*>, vector<const rr::Dictionary*>, vector<const Dictionary*>};
+
+%exception {
+  try {
+    $action
+  } catch (const std::exception& e) {
+    SWIG_exception(SWIG_RuntimeError, e.what());
+  }
+}
+
+
+/**
+ *  Convert from C --> Python
+ *  copy data
+ */
+%typemap(out) ls::DoubleMatrix {
+    // %typemap(out) ls::DoubleMatrix
+    const ls::DoubleMatrix* mat = &($1);
+    $result = doublematrix_to_py(mat, false, true);
+}
+
+
+/**
+ * Convert from C --> Python
+ * reference roadrunner owned data.
+ */
+%typemap(out) const ls::DoubleMatrix* {
+    // %typemap(out) const ls::DoubleMatrix*
+    const ls::DoubleMatrix* mat = ($1);
+    $result = doublematrix_to_py(mat, false, false);
+}
+
+%apply const ls::DoubleMatrix* {ls::DoubleMatrix*, DoubleMatrix*, const DoubleMatrix* };
+
+
+
+/* Convert from C --> Python */
+%typemap(out) std::vector<double> {
+
+    int len = $1.size();
+    npy_intp dims[1] = {len};
+
+    PyObject *array = PyArray_SimpleNew(1, dims, NPY_DOUBLE);
+    VERIFY_PYARRAY(array);
+
+    if (!array) {
+        // TODO error handling.
+        return 0;
+    }
+
+    double *data = (double*)PyArray_DATA((PyArrayObject*)array);
+
+    std::vector<double>& vec = $1;
+
+    memcpy(data, &vec[0], sizeof(double)*len);
+
+    $result  = array;
+}
+
+
+/* Convert from C --> Python */
+%typemap(out) std::vector<ls::Complex> {
+
+    typedef std::complex<double> cpx;
+
+    std::vector<cpx>& vec = $1;
+
+    bool iscpx = false;
+
+    // small number
+    double epsilon = 2 * std::numeric_limits<double>::epsilon();
+    for (std::vector<cpx>::const_iterator i = vec.begin(); i != vec.end(); ++i)
+    {
+        iscpx = iscpx || (std::imag(*i) >= epsilon);
+        if (iscpx) break;
+    }
+
+    if (iscpx) {
+        int len = $1.size();
+        npy_intp dims[1] = {len};
+
+        PyObject *array = PyArray_SimpleNew(1, dims, NPY_COMPLEX128);
+        VERIFY_PYARRAY(array);
+
+        if (!array) {
+            // TODO error handling.
+            return 0;
+        }
+
+        cpx *data = (cpx*)PyArray_DATA((PyArrayObject*)array);
+
+        memcpy(data, &vec[0], sizeof(std::complex<double>)*len);
+
+        $result  = array;
+    } else {
+        int len = $1.size();
+        npy_intp dims[1] = {len};
+
+        PyObject *array = PyArray_SimpleNew(1, dims, NPY_DOUBLE);
+        VERIFY_PYARRAY(array);
+
+        if (!array) {
+            // TODO error handling.
+            return 0;
+        }
+
+        double *data = (double*)PyArray_DATA((PyArrayObject*)array);
+
+        for (int i = 0; i < vec.size(); ++i) {
+            data[i] = std::real(vec[i]);
+        }
+
+        $result  = array;
+    }
+}
+
+
+
+%typemap(out) const rr::Variant& {
+    try {
+        const rr::Variant& temp = *($1);
+        $result = Variant_to_py(temp);
+    } catch (const std::exception& e) {
+        SWIG_exception(SWIG_RuntimeError, e.what());
+    }
+}
+
+
+%typemap(out) const rr::Variant {
+    try {
+        $result = Variant_to_py($1);
+    } catch (const std::exception& e) {
+        SWIG_exception(SWIG_RuntimeError, e.what());
+    }
+}
+
+%apply const rr::Variant {Variant, rr::Variant, const Variant};
+
+
+%typemap(in) const rr::Variant& (rr::Variant temp) {
+
+    try {
+        temp = Variant_from_py($input);
+        $1 = &temp;
+    } catch (const std::exception& e) {
+        SWIG_exception(SWIG_RuntimeError, e.what());
+    }
+}
+
+%apply const rr::Variant& {rr::Variant&, Variant&, const Variant&};
+
+
+/**
+ * input map, convert an incomming object to a roadrunner Dictionary*
+ */
+%typemap(in) const rr::Dictionary* (DictionaryHolder holder, void* argp) {
+
+    try {
+        // check if null, this is fine,
+        if($input == NULL) {
+            $1 = NULL;
+        }
+        else {
+            // first check if its a roadrunner type
+            int res = SWIG_ConvertPtr($input, &argp,SWIGTYPE_p_rr__Dictionary, 0 |  0 );
+            if (SWIG_IsOK(res)) {
+                $1 = reinterpret_cast< rr::Dictionary * >(argp);
+            } else {
+                holder.dict = Dictionary_from_py($input);
+                $1 = holder.dict;
+            }
+        }
+    } catch (const std::exception& e) {
+        SWIG_exception(SWIG_RuntimeError, e.what());
+    }
+}
+
+%typemap(typecheck) const rr::Dictionary* = PyObject*;
+
+%apply const rr::Dictionary* {const Dictionary*, rr::Dictionary*, Dictionary*};
+
+
+
+
+
+
+
+/*
+%typemap(out) std::vector<std::string> {
+
+    int len = $1.size();
+
+    PyObject* pyList = PyList_New(len);
+
+    for(int i = 0; i < len; i++)
+    {
+        const std::string& str  = $1.at(i);
+        PyObject* pyStr = PyString_FromString(str.c_str());
+        PyList_SET_ITEM(pyList, i, pyStr);
+    }
+
+    $result = pyList;
+}
+*/
+
+//%apply std::vector<std::string> {vector<std::string>, vector<string>, std::vector<string> };
+
+
+
+
+
+
+%include "numpy.i"
+
+
+%init %{
+import_array();
+rr::pyutil_init(m);
+%}
+
+%{
+
+
+#ifndef _WIN32
+
+    static void rr_sighandler(int sig) {
+        std::cout << "handling signal " << sig << std::endl;
+        Log(rr::Logger::LOG_WARNING) << "signal handler : " << sig;
+    }
+
+    static unsigned long sigtrap() {
+        signal(SIGTRAP, rr_sighandler);
+        return raise(SIGTRAP);
+    }
+
+#else
+
+    static unsigned long sigtrap() {
+        Log(rr::Logger::LOG_WARNING) << "sigtrap not supported on Windows";
+        return 0;
+    }
+
+#endif
+%}
+
+
+
+
+
+size_t sigtrap();
+
+
+
+%{
+
+typedef int (rr::ExecutableModel::*getValuesPtr)(int, int const*, double*);
+typedef string (ExecutableModel::*getNamePtr)(int);
+typedef int (ExecutableModel::*getNumPtr)();
+
+
+static PyObject* _ExecutableModel_getValues(rr::ExecutableModel *self, getValuesPtr func,
+                                            getNumPtr numPtr, int len, int const *indx) {
+    if (len <= 0) {
+        len = (self->*numPtr)();
+        indx = 0;
+    }
+
+    npy_intp dims[1] = {len};
+    PyObject *array = PyArray_SimpleNew(1, dims, NPY_DOUBLE);
+    VERIFY_PYARRAY(array);
+
+    if (!array) {
+        // TODO error handling.
+        return 0;
+    }
+
+    double *data = (double*)PyArray_DATA((PyArrayObject*)array);
+
+    (self->*func)(len, indx, data);
+
+    // TODO check result
+    return array;
+}
+
+
+
+static std::string strvec_to_pystring(const std::vector<std::string>& strvec) {
+    std::stringstream s;
+    s << "[";
+
+    for (int i = 0; i < strvec.size(); ++i) {
+        s << "'" << strvec[i] << "'";
+        if (i + 1 < strvec.size()) {
+            s << ",";
+        }
+    }
+
+    s << "]";
+
+    return s.str();
+}
+
+
+
+// make a python obj out of the C++ ExecutableModel, this is used by the PyEventListener
+// class. This function is defined later in this compilation unit.
+
+PyObject *ExecutableModel_NewPythonObj(rr::ExecutableModel* e) {
+    return SWIG_NewPointerObj(SWIG_as_voidptr(e), SWIGTYPE_p_rr__ExecutableModel, 0 |  0 );
+}
+
+PyObject *Integrator_NewPythonObj(rr::Integrator* i) {
+    return SWIG_NewPointerObj(SWIG_as_voidptr(i), SWIGTYPE_p_rr__Integrator, 0 |  0 );
+}
+
+
+
+%}
+
+
+%apply (int DIM1, int* IN_ARRAY1) {(int len, int const *indx)};
+
+%apply (int DIM1, double* IN_ARRAY1) {(int len, double const *values)};
+
+// typemap for the set***Values methods
+%apply (int DIM1, int* IN_ARRAY1) {(int leni, int const* indx)};
+%apply (int DIM1, double* IN_ARRAY1) {(int lenv, const  double* values)};
+
+// typemap for getStateVector, getStateVectorRate
+%apply (int DIM1, double* IN_ARRAY1)      {(int in_len, double const *in_values)};
+%apply (int DIM1, double* INPLACE_ARRAY1) {(int out_len, double* out_values)};
+
+#define LIB_EXTERN
+#define RR_DECLSPEC
+#define PUGIXML_CLASS
+
+
+
+%warnfilter(509) rr::RoadRunner::setSelections;
+%warnfilter(509) rr::RoadRunner::setSteadyStateSelections;
+
+// Many of the RoadRunner methods will be ignored for the time being
+// as currently we do not have a clean mapping to Python.
+
+
+%ignore rr::RoadRunner::RoadRunner(const std::string&, const std::string&, const std::string&);
+
+%ignore rr::RoadRunner::addCapabilities;
+%ignore rr::RoadRunner::getFloatingSpeciesIds;
+%ignore rr::RoadRunner::getRateOfChangeIds;
+//%ignore rr::RoadRunner::getuCC;
+%ignore rr::RoadRunner::addCapability;
+%ignore rr::RoadRunner::getFloatingSpeciesInitialConcentrationByIndex;
+%ignore rr::RoadRunner::getRatesOfChange;
+//%ignore rr::RoadRunner::getuEE;
+%ignore rr::RoadRunner::changeInitialConditions;
+%ignore rr::RoadRunner::getFloatingSpeciesInitialConcentrations;
+%ignore rr::RoadRunner::getRatesOfChangeEx;
+%ignore rr::RoadRunner::initializeModel;
+%ignore rr::RoadRunner::computeAndAssignConservationLaws;
+%ignore rr::RoadRunner::getFloatingSpeciesInitialConditionIds;
+%ignore rr::RoadRunner::getReactionIds;
+//%ignore rr::RoadRunner::isModelLoaded;
+//%ignore rr::RoadRunner::computeSteadyStateValue;
+//%ignore rr::RoadRunner::getFullJacobian;
+%ignore rr::RoadRunner::getReactionRate;
+%ignore rr::RoadRunner::computeSteadyStateValues;
+%ignore rr::RoadRunner::getFullReorderedJacobian;
+%ignore rr::RoadRunner::getReactionRates;
+//%ignore rr::RoadRunner::loadSBMLFromFile;
+%ignore rr::RoadRunner::correctMaxStep;
+//%ignore rr::RoadRunner::getFullyReorderedStoichiometryMatrix;
+%ignore rr::RoadRunner::getReactionRatesEx;
+%ignore rr::RoadRunner::loadSimulationSettings;
+//%ignore rr::RoadRunner::createDefaultSelectionLists;
+%ignore rr::RoadRunner::getGlobalParameterByIndex;
+//%ignore rr::RoadRunner::getReducedJacobian;
+//%ignore rr::RoadRunner::oneStep;
+//%ignore rr::RoadRunner::createTimeCourseSelectionList;
+%ignore rr::RoadRunner::getGlobalParameterIds;
+//%ignore rr::RoadRunner::getReorderedStoichiometryMatrix;
+//%ignore rr::RoadRunner::reset;
+%ignore rr::RoadRunner::evalModel;
+%ignore rr::RoadRunner::getGlobalParameterValues;
+//%ignore rr::RoadRunner::getSBML;
+%ignore rr::RoadRunner::setBoundarySpeciesByIndex;
+%ignore rr::RoadRunner::getBoundarySpeciesAmountIds;
+//%ignore rr::RoadRunner::getInfo;
+//%ignore rr::RoadRunner::getScaledConcentrationControlCoefficientMatrix;
+%ignore rr::RoadRunner::setBoundarySpeciesConcentrations;
+%ignore rr::RoadRunner::getBoundarySpeciesByIndex;
+//%ignore rr::RoadRunner::getInstanceCount;
+//%ignore rr::RoadRunner::getScaledFloatingSpeciesElasticity;
+%ignore rr::RoadRunner::setCapabilities;
+%ignore rr::RoadRunner::getBoundarySpeciesConcentrations;
+//%ignore rr::RoadRunner::getInstanceID;
+//%ignore rr::RoadRunner::getScaledFluxControlCoefficientMatrix;
+%ignore rr::RoadRunner::setCompartmentByIndex;
+%ignore rr::RoadRunner::getBoundarySpeciesIds;
+//%ignore rr::RoadRunner::getIntegrator;
+//%ignore rr::RoadRunner::getScaledReorderedElasticityMatrix;
+%ignore rr::RoadRunner::setCompiler;
+//%ignore rr::RoadRunner::getCC;
+//%ignore rr::RoadRunner::getL0Matrix;
+//%ignore rr::RoadRunner::getSelectedValues;
+%ignore rr::RoadRunner::setFloatingSpeciesByIndex;
+//%ignore rr::RoadRunner::getCapabilitiesAsXML;
+//%ignore rr::RoadRunner::getLinkMatrix;
+//%ignore rr::RoadRunner::getSelectionList;
+%ignore rr::RoadRunner::setFloatingSpeciesConcentrations;
+%ignore rr::RoadRunner::getCapability;
+%ignore rr::RoadRunner::getListOfCapabilities;
+//%ignore rr::RoadRunner::getSimulationResult;
+%ignore rr::RoadRunner::setFloatingSpeciesInitialConcentrationByIndex;
+%ignore rr::RoadRunner::getCompartmentByIndex;
+%ignore rr::RoadRunner::getListOfParameters;
+//%ignore rr::RoadRunner::getSteadyStateSelection;
+%ignore rr::RoadRunner::setFloatingSpeciesInitialConcentrations;
+%ignore rr::RoadRunner::getCompartmentIds;
+//%ignore rr::RoadRunner::getModel;
+//%ignore rr::RoadRunner::getSteadyStateSelectionList;
+%ignore rr::RoadRunner::setGlobalParameterByIndex;
+//%ignore rr::RoadRunner::getCompiler;
+//%ignore rr::RoadRunner::getModelGenerator;
+//%ignore rr::RoadRunner::getStoichiometryMatrix;
+%ignore rr::RoadRunner::setNumPoints;
+//%ignore rr::RoadRunner::getConservationMatrix;
+%ignore rr::RoadRunner::getModelName;
+%ignore rr::RoadRunner::getTempFolder;
+%ignore rr::RoadRunner::setParameterValue;
+%ignore rr::RoadRunner::getConservedMoietyIds;
+//%ignore rr::RoadRunner::getNrMatrix;
+//%ignore rr::RoadRunner::getTimeCourseSelectionList;
+%ignore rr::RoadRunner::setSimulationSettings;
+%ignore rr::RoadRunner::getNumPoints;
+%ignore rr::RoadRunner::getTimeEnd;
+//%ignore rr::RoadRunner::setSteadyStateSelectionList;
+//%ignore rr::RoadRunner::getCopyright;
+%ignore rr::RoadRunner::getNumberOfBoundarySpecies;
+%ignore rr::RoadRunner::getTimeStart;
+%ignore rr::RoadRunner::setTempFileFolder;
+//%ignore rr::RoadRunner::getDescription;
+%ignore rr::RoadRunner::getNumberOfCompartments;
+//%ignore rr::RoadRunner::getURL;
+//%ignore rr::RoadRunner::setTimeCourseSelectionList;
+//%ignore rr::RoadRunner::getEE;
+%ignore rr::RoadRunner::getNumberOfDependentSpecies;
+//%ignore rr::RoadRunner::getUnscaledConcentrationControlCoefficientMatrix;
+%ignore rr::RoadRunner::setTimeEnd;
+
+%ignore rr::RoadRunner::getNumberOfFloatingSpecies;
+//%ignore rr::RoadRunner::getUnscaledElasticityMatrix;
+%ignore rr::RoadRunner::setTimeStart;
+
+%ignore rr::RoadRunner::getNumberOfGlobalParameters;
+//%ignore rr::RoadRunner::getUnscaledFluxControlCoefficientMatrix;
+//%ignore rr::RoadRunner::setValue;
+%ignore rr::RoadRunner::getNumberOfIndependentSpecies;
+//%ignore rr::RoadRunner::getUnscaledSpeciesElasticity;
+//%ignore rr::RoadRunner::simulate;
+//%ignore rr::RoadRunner::getExtendedVersionInfo;
+%ignore rr::RoadRunner::getNumberOfReactions;
+//%ignore rr::RoadRunner::getValue;
+//%ignore rr::RoadRunner::steadyState;
+%ignore rr::RoadRunner::getValue(const SelectionRecord&);
+//%ignore rr::RoadRunner::this;
+%ignore rr::RoadRunner::getFloatingSpeciesByIndex;
+%ignore rr::RoadRunner::getParameterValue;
+//%ignore rr::RoadRunner::getVersion;
+%ignore rr::RoadRunner::unLoadModel;
+//%ignore rr::RoadRunner::getFloatingSpeciesConcentrations;
+%ignore rr::RoadRunner::getRateOfChange;
+//%ignore rr::RoadRunner::getlibSBMLVersion;
+//%ignore rr::RoadRunner::writeSBML;
+%ignore rr::RoadRunner::getSimulateOptions;
+%ignore rr::RoadRunner::setSimulateOptions;
+%ignore rr::RoadRunner::getIds(int types, std::list<std::string> &);
+
+%ignore rr::RoadRunner::getOptions;
+
+%ignore rr::RoadRunner::simulate;
+
+%rename (_load) rr::RoadRunner::load;
+
+
+%ignore rr::Config::getInt;
+%ignore rr::Config::getString;
+%ignore rr::Config::getBool;
+%ignore rr::Config::getDouble;
+
+%ignore *::setItem;
+%ignore *::getItem;
+%ignore *::hasKey;
+%ignore *::deleteItem;
+%ignore *::getKeys;
+
+// ignore SimulateOptions key access methods,
+// these are replaced by python dictionary protocol.
+//%rename (__setitem__) rr::Dictionary::setItem;
+//%rename (__getitem__) rr::Dictionary::getItem;
+//%rename (__contains__) rr::Dictionary::hasKey;
+//%rename (__delitem__) rr::Dictionary::deleteItem;
+//%rename (keys) rr::Dictionary::getKeys;
+
+// do not create these, pure interface.
+%nodefaultctor rr::Dictionary;
+%nodefaultdtor Dictionary;
+%nodefaultctor rr::BasicDictionary;
+%nodefaultdtor DictionaryImpl;
+
+
+// ignore SimulateOptions key access methods,
+// these are replaced by python dictionary protocol.
+//%ignore rr::Integrator::setValue;
+//%ignore rr::Integrator::getValue;
+%ignore rr::Integrator::hasKey;
+%ignore rr::Integrator::deleteValue;
+%ignore rr::Integrator::getKeys;
+%ignore rr::Integrator::setSimulateOptions;
+%rename (__str__) rr::Integrator::toString;
+//%rename (__repr__) rr::Integrator::toRepr;
+
+
+// rename these, the injected python code will take care of
+// making these properties.
+%ignore rr::RoadRunner::getSelections();
+%ignore rr::RoadRunner::setSelections(const std::vector<rr::SelectionRecord>&);
+%rename (_setSelections) setSelections(const std::vector<std::string>&);
+%rename (_getModel) getModel();
+
+// hide SelectionRecord details from python api,
+// only deal with strings here.
+%ignore rr::RoadRunner::getSteadyStateSelections();
+%ignore rr::RoadRunner::setSteadyStateSelections(const std::vector<rr::SelectionRecord>&);
+//%ignore rr::RoadRunner::getSteadyStateValues();
+//%rename (getSteadyStateValues) rr::RoadRunner::getSteadyStateValuesNamedArray();
+//%rename (steadyState) rr::RoadRunner::steadyState;
+//%rename (steadyState) rr::RoadRunner::steadyStateNamedArray;
+
+%rename (_setSteadyStateSelections) setSteadyStateSelections(const std::vector<std::string>&);
+%rename (_getConservedMoietyAnalysis) rr::RoadRunner::getConservedMoietyAnalysis();
+%rename (_setConservedMoietyAnalysis) rr::RoadRunner::setConservedMoietyAnalysis(bool);
+
+// Swig wraps C++ vectors to tuples, need to wrap lists instead on some methods
+%rename (_getIndependentFloatingSpeciesIds) rr::RoadRunner::getIndependentFloatingSpeciesIds();
+%rename (_getDependentFloatingSpeciesIds) rr::RoadRunner::getDependentFloatingSpeciesIds();
+
+%ignore rr::LoggingBuffer;
+%ignore rr::LogLevel;
+%ignore rr::getLogger;
+%ignore rr::ToUpperCase;
+%ignore rr::GetHighestLogLevel;
+%ignore rr::GetLogLevel;
+%ignore rr::GetLogLevelAsString;
+%ignore rr::getLogLevel;
+%ignore rr::lShowAlways;
+%ignore rr::lError;
+%ignore rr::lWarning;
+%ignore rr::lInfo;
+%ignore rr::lDebug;
+%ignore rr::lDebug1;
+%ignore rr::lDebug2;
+%ignore rr::lDebug3;
+%ignore rr::lDebug4;
+%ignore rr::lDebug5;
+%ignore rr::lAny;
+%ignore rr::lUser;
+
+
+%ignore rr::ExecutableModel::getFloatingSpeciesAmounts(int, int const*, double *);
+%ignore rr::ExecutableModel::setFloatingSpeciesAmounts(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getFloatingSpeciesAmountRates(int, int const*, double *);
+%ignore rr::ExecutableModel::getFloatingSpeciesConcentrationRates(int, int const*, double *);
+
+%ignore rr::ExecutableModel::getFloatingSpeciesConcentrations(int, int const*, double *);
+%ignore rr::ExecutableModel::setFloatingSpeciesConcentrations(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::setFloatingSpeciesInitConcentrations(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getFloatingSpeciesInitConcentrations(int, int const*, double *);
+%ignore rr::ExecutableModel::getBoundarySpeciesAmounts(int, int const*, double *);
+%ignore rr::ExecutableModel::getBoundarySpeciesConcentrations(int, int const*, double *);
+%ignore rr::ExecutableModel::setBoundarySpeciesConcentrations(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getGlobalParameterValues(int, int const*, double *);
+%ignore rr::ExecutableModel::setGlobalParameterValues(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getCompartmentVolumes(int, int const*, double *);
+%ignore rr::ExecutableModel::setCompartmentVolumes(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getConservedMoietyValues(int, int const*, double *);
+%ignore rr::ExecutableModel::setConservedMoietyValues(int len, int const *indx, const double *values);
+%ignore rr::ExecutableModel::getReactionRates(int, int const*, double *);
+%ignore rr::ExecutableModel::evalReactionRates;
+%ignore rr::ExecutableModel::convertToAmounts;
+%ignore rr::ExecutableModel::computeConservedTotals;
+%ignore rr::ExecutableModel::setRateRuleValues;
+%ignore rr::ExecutableModel::getRateRuleValues;
+%ignore rr::ExecutableModel::getStateVector(double *stateVector);
+%ignore rr::ExecutableModel::setStateVector;
+%ignore rr::ExecutableModel::convertToConcentrations;
+%ignore rr::ExecutableModel::updateDependentSpeciesValues;
+%ignore rr::ExecutableModel::computeAllRatesOfChange;
+%ignore rr::ExecutableModel::getStateVectorRate(double time, const double *y, double* dydt);
+%ignore rr::ExecutableModel::getStateVectorRate(double time, const double *y);
+%ignore rr::ExecutableModel::testConstraints;
+%ignore rr::ExecutableModel::print;
+//%ignore rr::ExecutableModel::getNumEvents;
+%ignore rr::ExecutableModel::getEventTriggers;
+%ignore rr::ExecutableModel::evalEvents;
+%ignore rr::ExecutableModel::applyPendingEvents;
+%ignore rr::ExecutableModel::evalEventRoots;
+%ignore rr::ExecutableModel::getNextPendingEventTime;
+%ignore rr::ExecutableModel::getPendingEventSize;
+%ignore rr::ExecutableModel::resetEvents;
+
+%ignore rr::ExecutableModel::getFloatingSpeciesId(int index);
+%ignore rr::ExecutableModel::getBoundarySpeciesId(int index);
+%ignore rr::ExecutableModel::getGlobalParameterId(int index);
+%ignore rr::ExecutableModel::getCompartmentId(int index);
+%ignore rr::ExecutableModel::getConservedMoietyId(int index);
+%ignore rr::ExecutableModel::getReactionId(int index);
+
+%ignore rr::ExecutableModel::getFloatingSpeciesIndex(const std::string& eid);
+%ignore rr::ExecutableModel::getBoundarySpeciesIndex(const std::string &eid);
+%ignore rr::ExecutableModel::getGlobalParameterIndex(const std::string& eid);
+%ignore rr::ExecutableModel::getCompartmentIndex(const std::string& eid);
+%ignore rr::ExecutableModel::getConservedMoietyIndex(const std::string& eid);
+%ignore rr::ExecutableModel::getReactionIndex(const std::string& eid);
+
+%ignore rr::ExecutableModel::getStoichiometryMatrix(int*, int*, double**);
+
+%ignore rr::ExecutableModel::getConservedSumChanged();
+%ignore rr::ExecutableModel::computeConservedTotals();
+%ignore rr::ExecutableModel::setConservedSumChanged(bool);
+%ignore rr::ExecutableModel::convertToAmounts() ;
+
+%ignore rr::ExecutableModel::setFloatingSpeciesInitConcentrations(int len, int const *indx, double const *values);
+%ignore rr::ExecutableModel::getFloatingSpeciesInitConcentrations(int len, int const *indx, double *values);
+%ignore rr::ExecutableModel::setFloatingSpeciesInitAmounts(int len, int const *indx, double const *values);
+%ignore rr::ExecutableModel::getFloatingSpeciesInitAmounts(int len, int const *indx, double *values);
+%ignore rr::ExecutableModel::setCompartmentInitVolumes(int len, int const *indx, double const *values);
+%ignore rr::ExecutableModel::getCompartmentInitVolumes(int len, int const *indx, double *values);
+%ignore rr::ExecutableModel::getIds(int, std::list<std::string> &);
+
+// deprecated, model knows how to reset itself with reset.
+%ignore rr::ExecutableModel::evalInitialConditions;
+
+// map the events to python using the PyEventListener class
+%ignore rr::ExecutableModel::setEventListener(int, rr::EventListenerPtr);
+%ignore rr::ExecutableModel::getEventListener(int);
+%ignore rr::EventListenerPtr;
+%ignore rr::EventListenerException;
+
+// ignore the EventListener virtuals, but leave the enum
+%ignore rr::EventListener::onTrigger(ExecutableModel* model, int eventIndex, const std::string& eventId);
+%ignore rr::EventListener::onAssignment(ExecutableModel* model, int eventIndex, const std::string& eventId);
+
+// ignore the C++ class, only deal with the python version
+%ignore rr::IntegratorListener;
+
+%ignore rr::Integrator::setListener(rr::IntegratorListenerPtr);
+%ignore rr::Integrator::getListener();
+
+//%ignore rr::Integrator::addIntegratorListener;
+//%ignore rr::Integrator::removeIntegratorListener;
+
+// ignore integrator registration
+
+%ignore rr::IntegratorRegistrar;
+%ignore rr::IntegratorFactory;
+
+%rename rr::conversion::ConservedMoietyConverter PyConservedMoietyConverter;
+
+%ignore rr::ostream;
+%ignore ostream;
+%ignore std::ostream;
+%ignore operator<<(ostream&, const rr::SelectionRecord& rec);
+%ignore operator<<(rr::ostream&, const rr::SelectionRecord& rec);
+
+
+
+//%ignore rr::DictionaryImpl;
+
+// Warning 389: operator[] ignored (consider using %extend)
+// Warning 401: Nothing known about base class 'Configurable'. Ignored.
+
+
+// Warning 315: Nothing known about 'std::ostream'.
+namespace std { class ostream{}; }
+
+
+// Warning 401: Nothing known about base class 'Configurable'. Ignored.
+
+
+/**
+ * include the roadrunner files here, this is where the wrappers are generated.
+ */
+
+
+/**
+ * this returns a new object
+ */
+%newobject rr::ExecutableModelFactory::createModel;
+
+
+
+%include <Dictionary.h>
+%include <rrRoadRunnerOptions.h>
+%include <rrLogger.h>
+%include <rrCompiler.h>
+%include <rrExecutableModel.h>
+%include <ExecutableModelFactory.h>
+%include <rrVersionInfo.h>
+
+%thread;
+%include <rrRoadRunner.h>
+%nothread;
+
+%include <rrSelectionRecord.h>
+%include <conservation/ConservedMoietyConverter.h>
+%include <Solver.h>
+%include <Integrator.h>
+%include <SteadyStateSolver.h>
+
+%include "PyEventListener.h"
+%include "PyIntegratorListener.h"
+%include <rrConfig.h>
+%include <SBMLValidator.h>
+%include <rrSBMLReader.h>
+
+
+%extend rr::RoadRunner
+{
+    // attributes
+
+    /**
+     * make some of these const so SWIG would not allow setting.
+     */
+    const rr::SimulateOptions *__simulateOptions;
+
+    rr::RoadRunnerOptions *options;
+
+    std::string __repr__() {
+        std::stringstream s;
+        s << "<roadrunner.RoadRunner() { this = " << (void*)$self << " }>";
+        return s.str();
+    }
+
+    std::string __str__() {
+        return $self->getInfo();
+    }
+
+    PyObject* _simulate(const rr::SimulateOptions* opt) {
+        // its not const correct...
+        ls::DoubleMatrix *result = const_cast<ls::DoubleMatrix*>($self->simulate(opt));
+
+        return doublematrix_to_py(result, opt->structured_result, opt->copy_result);
+    }
+
+    double getValue(const rr::SelectionRecord* pRecord) {
+        return $self->getValue(*pRecord);
+    }
+
+    double __getitem__(const std::string& id) {
+        return ($self)->getValue(id);
+    }
+
+    void __setitem__(const std::string& id, double value) {
+        ($self)->setValue(id, value);
+    }
+
+    PyObject *getIds(int types) {
+        std::list<std::string> ids;
+
+        ($self)->getIds(types, ids);
+
+        unsigned size = ids.size();
+
+        PyObject* pyList = PyList_New(size);
+
+        unsigned j = 0;
+
+        for (std::list<std::string>::const_iterator i = ids.begin(); i != ids.end(); ++i)
+        {
+            const std::string& id  = *i;
+            PyObject* pyStr = PyString_FromString(id.c_str());
+            PyList_SET_ITEM(pyList, j++, pyStr);
+        }
+
+        return pyList;
+    }
+
+    /**
+     * returns the SelectionRecord vector python list of strings.
+     */
+    PyObject *_getSelections() {
+
+        const std::vector<rr::SelectionRecord>& selections = ($self)->getSelections();
+
+        unsigned size = selections.size();
+
+        PyObject *pysel = PyList_New(size);
+
+        unsigned j = 0;
+        for (std::vector<rr::SelectionRecord>::const_iterator i = selections.begin();
+             i != selections.end(); ++i) {
+            std::string str = i->to_string();
+
+            PyObject *pystr = PyString_FromString(str.c_str());
+            PyList_SET_ITEM(pysel, j++, pystr);
+        }
+
+        return pysel;
+    }
+
+    /**
+     * returns the SelectionRecord vector python list of strings.
+     */
+    PyObject *_getSteadyStateSelections() {
+
+        const std::vector<rr::SelectionRecord>& selections = ($self)->getSteadyStateSelections();
+
+        unsigned size = selections.size();
+
+        PyObject *pysel = PyList_New(size);
+
+        unsigned j = 0;
+        for (std::vector<rr::SelectionRecord>::const_iterator i = selections.begin();
+             i != selections.end(); ++i) {
+            std::string str = i->to_string();
+
+            PyObject *pystr = PyString_FromString(str.c_str());
+            PyList_SET_ITEM(pysel, j++, pystr);
+        }
+
+        return pysel;
+    }
+
+
+
+   %pythoncode %{
+        def getModel(self):
+            return self._getModel()
+
+        __swig_getmethods__["selections"] = _getSelections # DEPRECATED
+        __swig_setmethods__["selections"] = _setSelections # DEPRECATED
+        __swig_getmethods__["timeCourseSelections"] = _getSelections
+        __swig_setmethods__["timeCourseSelections"] = _setSelections
+        __swig_getmethods__["steadyStateSelections"] = _getSteadyStateSelections
+        __swig_setmethods__["steadyStateSelections"] = _setSteadyStateSelections
+        __swig_getmethods__["conservedMoietyAnalysis"] = _getConservedMoietyAnalysis
+        __swig_setmethods__["conservedMoietyAnalysis"] = _setConservedMoietyAnalysis
+        __swig_getmethods__["model"] = _getModel
+        __swig_getmethods__["integrator"] = getIntegrator
+
+        if _newclass:
+            selections = property(_getSelections, _setSelections)
+            timeCourseSelections = property(_getSelections, _setSelections)
+            steadyStateSelections = property(_getSteadyStateSelections, _setSteadyStateSelections)
+            conservedMoietyAnalysis=property(_getConservedMoietyAnalysis, _setConservedMoietyAnalysis)
+            model = property(getModel)
+            integrator = property(getIntegrator)
+
+
+        # static list of properties added to the RoadRunner
+        # class object
+        _properties = []
+
+        def _makeProperties(self):
+
+            #global _properties
+
+            # always clear the old properties
+            for s in RoadRunner._properties:
+                del RoadRunner.__swig_getmethods__[s]
+                del RoadRunner.__swig_setmethods__[s]
+                delattr(RoadRunner, s)
+
+            # properties now empty
+            RoadRunner._properties = []
+
+            # check if we should make new properties
+            if Config.getValue(Config.ROADRUNNER_DISABLE_PYTHON_DYNAMIC_PROPERTIES):
+                return
+
+            # can't make properties without a model.
+            if self.getModel() is None:
+                return
+
+            def mk_fget(sel): return lambda self: self.getModel().__getitem__(sel)
+            def mk_fset(sel): return lambda self, val: self.getModel().__setitem__(sel, val)
+
+
+            def makeProperty(name, sel):
+                fget = mk_fget(sel)
+                fset = mk_fset(sel)
+                RoadRunner.__swig_getmethods__[name] = fget
+                RoadRunner.__swig_setmethods__[name] = fset
+                setattr(RoadRunner, name, property(fget, fset))
+                RoadRunner._properties.append(name)
+
+            model = self.getModel()
+            for s in model.getFloatingSpeciesIds():
+                makeProperty(s, "[" + s + "]")  # concentrations
+                makeProperty(s + "_amt", s)     # amounts
+
+
+            for s in model.getBoundarySpeciesIds():
+                makeProperty(s, "[" + s + "]")  # concentrations
+                makeProperty(s + "_amt", s)     # amounts
+
+
+            for s in model.getGlobalParameterIds() + model.getCompartmentIds() + model.getReactionIds():
+                makeProperty(s, s)
+
+
+
+        # Set up the python dyanic properties for model access,
+        # save the original init method
+        _swig_init = __init__
+
+        def _new_init(self, *args):
+            RoadRunner._swig_init(self, *args)
+            RoadRunner._makeProperties(self)
+
+        # set the ctor to use the new init
+        __init__ = _new_init
+
+
+
+
+        def load(self, *args):
+            self._load(*args)
+            RoadRunner._makeProperties(self)
+
+
+        def keys(self, types=_roadrunner.SelectionRecord_ALL):
+            return self.getIds(types)
+
+        def values(self, types=_roadrunner.SelectionRecord_ALL):
+            return [self.getValue(k) for k in self.keys(types)]
+
+        def items(self, types=_roadrunner.SelectionRecord_ALL):
+            return [(k, self.getValue(k)) for k in self.keys(types)]
+
+        def __len__(self):
+            return len(self.keys())
+
+        def iteritems(self, types=_roadrunner.SelectionRecord_ALL):
+            """
+            return an iterator over (key, value) pairs
+            """
+            return self.items(types).__iter__()
+
+        def iterkeys(self, types=_roadrunner.SelectionRecord_ALL):
+            """
+            return an iterator over the mapping's keys
+            """
+            return self.keys(types).__iter__()
+
+        def itervalues(self, types=_roadrunner.SelectionRecord_ALL):
+            """
+            return an iterator over the mapping's values
+            """
+            return self.values(types).__iter__()
+
+        def simulate(self, start=None, end=None, points=None, selections=None, steps=None):
+            '''
+            Simulate the current SBML model.
+
+            simulate accepts a up to four positional arguments. The first four (optional) arguments are treated as:
+
+            1: start (the simulation starting time)
+
+            2: end (the simulation end time)
+
+            3: steps (the number of output points)
+
+            4: List of Selections.
+
+            All four of the positional arguments are optional. If any of the positional arguments are
+            supplied as a list of strings, then they are interpreted as a list of selections.
+
+
+            There is only one correct way to call simulate. If one positional argument is specified,
+            it is the start time. If two are specified, they are the start and end time.
+            The third argument is the number of output points!
+            The fourth argument, if it is supplied, must be a list of strings that correspond to
+            proper timecourse selections as in timeCourseSelections.
+            The fifth argument, if supplied via keyword, is the number of intervals, not the
+            number of points. Specifying intervals and points is an error.
+            '''
+
+            # check for errors
+            import collections
+            import sys
+            if selections is not None:
+                # check that selections is a sequence
+                if not isinstance(selections, collections.Sequence):
+                    raise ValueError('Expected a sequence type for selections')
+
+                # check that selections contains only strings
+                for x in selections:
+                    if sys.version_info >= (3,0):
+                        if not isinstance(x, str):
+                            raise ValueError('Expected selections to be a sequence of strings')
+                    else:
+                        if not isinstance(x, basestring):
+                            raise ValueError('Expected selections to be a sequence of strings')
+
+            if points is not None and steps is not None:
+                raise ValueError('Cannot specify both points and steps in simulate call')
+
+            if points is not None:
+                if points < 2:
+                    raise ValueError('Number of points cannot be less than 2')
+
+            if steps is not None:
+                if steps < 1:
+                    raise ValueError('Number of steps cannot be less than 1')
+
+            # end error checking
+
+            o = self.__simulateOptions
+            originalSteps = o.steps
+
+            if self.getIntegrator().hasValue('variable_step_size'):
+                if self.getIntegrator().getValue('variable_step_size') == True:
+                    o.steps = 0
+
+            if start is not None:
+                o.start = start
+
+            if end is not None:
+                o.end = end
+
+            if points is not None:
+                o.steps = points - 1
+
+            if selections is not None:
+                self.timeCourseSelections = selections
+
+            if steps is not None:
+                o.steps = steps
+
+            result = self._simulate(o)
+
+            o.steps = originalSteps
+
+            return result
+
+        def __simulateOld(self, *args, **kwargs):
+            """
+            DEPRECATED!!!!!!!!!!!!!!!!
+            WILL BE REMOVED
+
+            Simulate the current SBML model.
+
+            simulate accepts a up to four positional arguments. The first four (optional) arguments are treated as:
+
+            1: start (the simulation starting time)
+
+            2: end (the simulation end time)
+
+            3: steps (the number of output points)
+
+            4: List of Selections.
+
+            All four of the positional arguments are optional. If any of the positional arguments are
+            supplied as a list of strings, then they are interpreted as a list of selections.
+
+
+            There is only one correct way to call simulate. If one positional argument is specified,
+            it is the start time. If two are specified, they are the start and end time.
+            The third argument is the number of output points!
+            The fourth argument, if it is supplied, must be a list of strings that correspond to
+            proper timecourse selections as in timeCourseSelections.
+            The fifth argument, if supplied via keyword, is the number of intervals, not the
+            number of points. Specifying intervals and points is an error.
+
+            Do NOT pass a `SimulateOptions` object to this function. SimulateOptions is DEPRECATED.
+
+            Keyword arguments:
+
+            integrator
+                DEPRECATED: use setIntegrator method
+
+            sel or selections
+                A list of strings specifying what values to display in the output.
+
+            plot
+                DEPRECATED: use plot method.
+
+            end
+                The simulation end time. Note, setting the end time automatically sets
+                the duration accordingly and visa versa.
+
+            resetModel
+                DEPRECATED
+
+            reset
+                DEPRECATED: use reset method.
+
+            start
+                The start time of the simulation time-series data. Often this is 0,
+                but not necessarily.
+
+            steps
+                The number of steps at which the output is sampled. The samples are evenly spaced.
+                When a simulation system calculates the data points to record, it will typically
+                divide the duration by the number of time steps. Thus, for N steps, the output
+                will have N+1 data rows.
+
+            stiff
+                DEPRECATED: use solver API (this setting only available for some solvers).
+
+            seed
+                DEPRECATED: use solver API (this setting only available for some solvers).
+
+
+            :returns: a numpy array with each selected output time series being a
+             column vector, and the 0'th column is the simulation time (if time is selected as an
+             output).
+            :rtype: numpy.ndarray
+            """
+
+            doPlot = False
+            showPlot = True
+
+            # cleanup tasks
+            post_tasks = []
+
+            # user specified number of steps via 3rd arg or steps=xxx
+            haveSteps = False
+
+            # variableStep = True was specified in args
+            haveVariableStep = False
+            o = self.__simulateOptions
+
+            def steps_restore(v):
+                def f():
+                    o.steps = v
+                return f
+            post_tasks.append(steps_restore(o.steps))
+
+            o.steps = 50
+            if self.getIntegrator().hasValue('variable_step_size'):
+                if self.getIntegrator().getValue('variable_step_size') == True:
+                    o.steps = 0
+            stepsSpecified = False
+
+            # did the options originally have a seed, if so, don't delete it when we're done
+            hadSeed = "seed" in o
+
+            # check if we have just a sim options
+            if len(args) >= 1:
+                if type(args[0]) == type(self.__simulateOptions):
+                    o = args[0]
+                elif type(args[0]) == list:
+                    # its a selection list
+                    self.timeCourseSelections = args[0]
+                elif isinstance(args[0], (int, float)):
+                    # treat it as a number
+                    o.start = args[0]
+                else:
+                    raise ValueError("argument 1 must be either a number, list or "
+                                     "SimulateOptions object, recieved: {0}".format(str(args[0])))
+
+            # second arg is treated as sim end time
+            if len(args) >= 2:
+                if type(args[1]) == list:
+                    # its a selection list
+                    self.timeCourseSelections = args[1]
+                elif isinstance(args[1], (int, float)):
+                    # treat it as a number
+                    o.end = args[1]
+                else:
+                    raise ValueError("argument 2 must be either a number, list or "
+                                     "SimulateOptions object, recieved: {0}".format(str(args[1])))
+
+
+            # third arg is treated as number of points
+            if len(args) >= 3:
+                if type(args[2]) == list:
+                    # its a selection list
+                    self.timeCourseSelections = args[2]
+                elif isinstance(args[2], (int, float)):
+                    # treat it as a number
+                    o.steps = args[2]-1
+                    stepsSpecified = True
+                    if o.steps < 1:
+                      raise RuntimeError('Number of points must be 2 or more')
+                    haveSteps = True
+                else:
+                    raise ValueError("argument 3 must be either a number, list or "
+                                     "SimulateOptions object, recieved: {0}".format(str(args[2])))
+
+            # forth arg may be a list (currently)
+            if len(args) >= 4:
+                if type(args[3]) == list:
+                    # its a selection list
+                    self.timeCourseSelections = args[3]
+                else:
+                    raise ValueError("argument 4 (if given) must be a list of timeCourseSelections "
+                                     ", recieved: {0}".format(str(args[3])))
+
+
+            # go through the list of keyword args
+            for k,v in kwargs.items():
+
+                # changing integrators.
+                if k == "integrator":
+                    if type(v) == str:
+                        # this automatically sets the variable / fixed time step
+                        # according to integrator type, raises exception if invalid
+                        # integrator string.
+                        self.setIntegrator(v)
+                    else:
+                        raise Exception("{0} is invalid argument for integrator, integrator name must be a string.".format(v))
+                    continue
+
+                # specifying timeCourseSelections:
+                if k == "timeCourseSelections" or k == "sel":
+                    self.timeCourseSelections = v
+                    continue
+
+                if k == "steps":
+                    o.steps = v
+                    stepsSpecified = True
+                    continue
+
+                if k == "start":
+                    o.start = v
+                    continue
+
+                if k == "end":
+                    o.end = v
+                    continue
+
+                # reset model, also accept 'reset'
+                if k == "reset" or k == "resetModel":
+                    o.resetModel = v
+                    continue
+
+                # check if variableStep was explicitly specified, this overrides the steps
+                # positional arg
+                if k == "variableStep":
+                    raise KeyError('Do NOT pass variableStep to simulate. Use integrator API: r.getIntegrator().setValue("variable_step_size", True)')
+                    haveVariableStep = True
+                    self.getIntegrator().setValue('variable_step_size', v)
+                    if not stepsSpecified:
+                        o.steps = 0
+                    continue
+
+                if k == "plot":
+                    raise RuntimeError('plot argument is deprecated, use plot method')
+                    continue
+
+                if k == "show":
+                    showPlot = v
+                    continue
+
+                if k == "stiff" and self.getIntegrator().hasValue('stiff'):
+                    raise KeyError('Do NOT pass stiff to simulate. Use the integrator API: r.getIntegrator().setValue("stiff", True)')
+                    def stiff_restore(v):
+                        def f():
+                            self.getIntegrator().setValue('stiff', v)
+                        return f
+                    self.getIntegrator().setValue('stiff', kwargs[k])
+                    post_tasks.append(stiff_restore(self.getIntegrator().getValue('stiff')))
+                    continue
+
+                # if its not one of these, just set the item on the dict, and
+                # if the inegrator cares about it, it will use it.
+                # if its one of these, set it.
+                raise KeyError('No such argument: {}'.format(k))
+
+
+
+            # if we are doing a stochastic sim,
+            # explicit options of variableStep trumps everything,
+            # if not explicit, variableStep is if number of steps was specified,
+            # if no steps, varStep = true, false otherwise.
+            if self.getIntegrator().getIntegrationMethod() == \
+                Integrator.Stochastic and not haveVariableStep:
+                self.getIntegrator().setValue('variable_step_size', not haveSteps)
+
+            # the options are set up, now actually run the simuation...
+            result = self._simulate(o)
+
+            if not hadSeed:
+                del o["seed"]
+
+            if doPlot:
+                self.plot(result=None, loc='upper left', show=showPlot)
+
+            # revert any settings we changed
+            for x in post_tasks:
+                x()
+
+            return result
+
+        def getAvailableIntegrators(self):
+            """
+            get a list of available integrator names.
+            """
+            return self.getExistingIntegratorNames()
+
+
+        def plot(self, result=None, loc='upper left', show=True):
+            """
+            RoadRunner.plot([show])
+
+            Plot the previously run simulation result using Matplotlib.
+
+            This takes the contents of the simulation result and builds a
+            legend from the selection list.
+
+
+            If the optional prameter 'show' [default is True] is given, the pylab
+            show() method is called.
+            """
+
+            import matplotlib.pyplot as p
+
+            result = self.getSimulationData()
+
+            if result is None:
+                raise Exception("no simulation result")
+
+            rval = []
+
+            # check if standard numpy array
+            if result.dtype.names is None:
+
+                timeCourseSelections = self.timeCourseSelections
+
+                if len(result.shape) != 2 or result.shape[1] != len(timeCourseSelections):
+                    raise Exception("simulation result columns not equal to number of selections, likely a simulation has not been run")
+
+                times = result[:,0]
+
+                for i in range(1, len(timeCourseSelections)):
+                    series = result[:,i]
+                    name = timeCourseSelections[i]
+                    rval.append(p.plot(times, series, label=str(name), linewidth=2))
+
+            # result is structured array
+            else:
+                if len(result.dtype.names) < 1:
+                    raise Exception('no columns to plot')
+
+                time = result.dtype.names[0]
+
+                for name in result.dtype.names[1:]:
+                    rval.append(p.plot(result[time], result[name], label=name, linewidth=2))
+
+            if show:
+                p.show()
+
+            return rval
+
+        def plotLegend(self):
+            import matplotlib.pyplot as p
+            p.legend()
+
+        def showPlot(self):
+            import matplotlib.pyplot as p
+            p.show()
+
+        def getIndependentFloatingSpeciesIds(self):
+            return list(self._getIndependentFloatingSpeciesIds())
+
+        def getDependentFloatingSpeciesIds(self):
+            return list(self._getDependentFloatingSpeciesIds())
+
+        def getFloatingSpeciesAmountRates(self):
+            return self.model.getFloatingSpeciesAmountRates()
+
+        def getReactionRates(self):
+            return self.getModel().getReactionRates()
+
+        @property
+        def integrator(self):
+            '''Get the current integrator object'''
+            return self.getIntegrator()
+
+        @integrator.setter
+        def integrator(self, v):
+            self.setIntegrator(v)
+
+        def setIntegratorSetting(self, integratorName, settingName, value):
+            import sys
+            if sys.version_info >= (3,0):
+                if not isinstance(integratorName, str):
+                    raise ValueError('Expected integratorName to be a string')
+                if not isinstance(settingName, str):
+                    raise ValueError('Expected settingName to be a string')
+            else:
+                if not isinstance(integratorName, basestring):
+                    raise ValueError('Expected integratorName to be a string')
+                if not isinstance(settingName, basestring):
+                    raise ValueError('Expected settingName to be a string')
+
+            # store original integrator and switch back to it afterwards
+            origIntegrator = self.getIntegrator().getName()
+
+            self.setIntegrator(integratorName)
+            self.getIntegrator().setValue(settingName, value)
+            self.setIntegrator(origIntegrator)
+
+        @property
+        def steadyStateSolver(self):
+            '''The current steady state solver'''
+            return self.getSteadyStateSolver()
+
+        @steadyStateSolver.setter
+        def steadyStateSolver(self, v):
+            self.setSteadyStateSolver(v)
+
+        def _diffstep_getter(self):
+            '''Differential step size used in MCA'''
+            return self.getDiffStepSize()
+
+        def _diffstep_stter(self, v):
+            print('diffstep.setter')
+            self.setDiffStepSize(v)
+
+        __swig_getmethods__['diffstep'] = _diffstep_getter
+        __swig_setmethods__['diffstep'] = _diffstep_stter
+
+        if _newclass:
+            diffstep = property(_diffstep_getter, _diffstep_stter)
+
+        def _steadyStateThresh_getter(self):
+            '''Steady state threshold used in MCA'''
+            return self.getSteadyStateThreshold()
+
+        def _steadyStateThresh_setter(self, v):
+            self.setSteadyStateThreshold(v)
+
+        __swig_getmethods__['steadyStateThresh'] = _steadyStateThresh_getter
+        __swig_setmethods__['steadyStateThresh'] = _steadyStateThresh_setter
+
+        if _newclass:
+            steadyStateThresh = property(_steadyStateThresh_getter, _steadyStateThresh_setter)
+    %}
+}
+
+%{
+    rr::SimulateOptions* rr_RoadRunner___simulateOptions_get(RoadRunner* r) {
+        //Log(Logger::LOG_WARNING) << "DO NOT USE simulateOptions, it is DEPRECATED";
+        return &r->getSimulateOptions();
+    }
+
+    void rr_RoadRunner___simulateOptions_set(RoadRunner* r, const rr::SimulateOptions* opt) {
+        //Log(Logger::LOG_WARNING) << "DO NOT USE simulateOptions, it is DEPRECATED";
+        r->setSimulateOptions(*opt);
+    }
+
+
+    rr::RoadRunnerOptions* rr_RoadRunner_options_get(RoadRunner* r) {
+        Log(Logger::LOG_WARNING) << "DO NOT USE options, it is DEPRECATED";
+        return &r->getOptions();
+    }
+
+    void rr_RoadRunner_options_set(RoadRunner* r, const rr::RoadRunnerOptions* opt) {
+        Log(Logger::LOG_WARNING) << "DO NOT USE options, it is DEPRECATED";
+        rr::RoadRunnerOptions *rropt = &r->getOptions();
+        *rropt = *opt;
+    }
+%}
+
+
+%extend rr::SelectionRecord {
+
+    std::string __repr__() {
+        return $self->to_repr();
+    }
+
+    std::string __str__() {
+        return $self->to_string();
+    }
+}
+
+%extend rr::SimulateOptions
+{
+    double end;
+    bool structuredResult;
+    bool copyResult;
+
+    std::string __repr__() {
+        return ($self)->toRepr();
+    }
+
+
+    std::string __str__() {
+        return ($self)->toString();
+    }
+
+    /**
+     * makes a copy of this object.
+     * Python normally just keeps references to objects, and this forces a true
+     * copy. Note, we heed to add the SWIG_POINTER_OWN to the function below
+     * so that when the returned object is destroyed (by Python), the C++
+     * object will also be deleted.
+     */
+    PyObject *copy() {
+        SimulateOptions *pThis = $self;
+        SimulateOptions *other = new SimulateOptions(*pThis);
+        return SWIG_NewPointerObj(SWIG_as_voidptr(other), SWIGTYPE_p_rr__SimulateOptions, SWIG_POINTER_OWN );
+    }
+
+    %pythoncode %{
+        def getListener(self):
+            return self._getListener()
+
+        def setListener(self, listener):
+            if listener is None:
+                self._clearListener()
+            else:
+                self._setListener(listener)
+    %}
+
+}
+
+%{
+    double rr_SimulateOptions_end_get(SimulateOptions* opt) {
+        return opt->start + opt->duration;
+    }
+
+    void rr_SimulateOptions_end_set(SimulateOptions* opt, double end) {
+        opt->duration = end - opt->start;
+    }
+
+    bool rr_SimulateOptions_structuredResult_get(SimulateOptions* opt) {
+        return opt->structured_result;
+    }
+
+    void rr_SimulateOptions_structuredResult_set(SimulateOptions* opt, bool value) {
+        opt->structured_result = value;
+    }
+
+    bool rr_SimulateOptions_copyResult_get(SimulateOptions* opt) {
+        return opt->getItem("copyResult");
+    }
+
+    void rr_SimulateOptions_copyResult_set(SimulateOptions* opt, bool value) {
+        opt->setItem("copyResult", value);
+    }
+%}
+
+
+
+%extend rr::RoadRunnerOptions
+{
+    bool disablePythonDynamicProperties;
+}
+
+%{
+
+
+    bool rr_RoadRunnerOptions_disablePythonDynamicProperties_get(RoadRunnerOptions* opt) {
+        return opt->flags & rr::RoadRunnerOptions::DISABLE_PYTHON_DYNAMIC_PROPERTIES;
+    }
+
+    void rr_RoadRunnerOptions_disablePythonDynamicProperties_set(RoadRunnerOptions* opt, bool value) {
+        if (value) {
+            opt->flags |= rr::RoadRunnerOptions::DISABLE_PYTHON_DYNAMIC_PROPERTIES;
+        } else {
+            opt->flags &= ~rr::RoadRunnerOptions::DISABLE_PYTHON_DYNAMIC_PROPERTIES;
+        }
+    }
+
+
+%}
+
+%extend rr::LoadSBMLOptions
+{
+    bool conservedMoieties;
+    bool mutableInitialConditions;
+    bool noDefaultSelections;
+    bool readOnly;
+    bool recompile;
+}
+
+
+%{
+    bool rr_LoadSBMLOptions_conservedMoieties_get(rr::LoadSBMLOptions* opt) {
+        return opt->modelGeneratorOpt & rr::LoadSBMLOptions::CONSERVED_MOIETIES;
+    }
+
+
+    void rr_LoadSBMLOptions_conservedMoieties_set(rr::LoadSBMLOptions* opt, bool value) {
+        if (value) {
+            opt->modelGeneratorOpt |= rr::LoadSBMLOptions::CONSERVED_MOIETIES;
+        } else {
+            opt->modelGeneratorOpt &= ~rr::LoadSBMLOptions::CONSERVED_MOIETIES;
+        }
+    }
+
+
+    bool rr_LoadSBMLOptions_noDefaultSelections_get(rr::LoadSBMLOptions* opt) {
+        return opt->loadFlags & rr::LoadSBMLOptions::NO_DEFAULT_SELECTIONS;
+    }
+
+    void rr_LoadSBMLOptions_noDefaultSelections_set(rr::LoadSBMLOptions* opt, bool value) {
+        if (value) {
+            opt->loadFlags |= rr::LoadSBMLOptions::NO_DEFAULT_SELECTIONS;
+        } else {
+            opt->loadFlags &= ~rr::LoadSBMLOptions::NO_DEFAULT_SELECTIONS;
+        }
+    }
+
+    bool rr_LoadSBMLOptions_mutableInitialConditions_get(rr::LoadSBMLOptions* opt) {
+        return opt->modelGeneratorOpt & rr::LoadSBMLOptions::MUTABLE_INITIAL_CONDITIONS;
+    }
+
+
+    void rr_LoadSBMLOptions_mutableInitialConditions_set(rr::LoadSBMLOptions* opt, bool value) {
+        if (value) {
+            opt->modelGeneratorOpt |= rr::LoadSBMLOptions::MUTABLE_INITIAL_CONDITIONS;
+        } else {
+            opt->modelGeneratorOpt &= ~rr::LoadSBMLOptions::MUTABLE_INITIAL_CONDITIONS;
+        }
+    }
+
+    bool rr_LoadSBMLOptions_recompile_get(rr::LoadSBMLOptions* opt) {
+        return opt->modelGeneratorOpt & rr::LoadSBMLOptions::RECOMPILE;
+    }
+
+
+    void rr_LoadSBMLOptions_recompile_set(rr::LoadSBMLOptions* opt, bool value) {
+        if (value) {
+            opt->modelGeneratorOpt |= rr::LoadSBMLOptions::RECOMPILE;
+        } else {
+            opt->modelGeneratorOpt &= ~rr::LoadSBMLOptions::RECOMPILE;
+        }
+    }
+
+    bool rr_LoadSBMLOptions_readOnly_get(rr::LoadSBMLOptions* opt) {
+        return opt->modelGeneratorOpt & rr::LoadSBMLOptions::READ_ONLY;
+    }
+
+
+    void rr_LoadSBMLOptions_readOnly_set(rr::LoadSBMLOptions* opt, bool value) {
+        if (value) {
+            opt->modelGeneratorOpt |= rr::LoadSBMLOptions::READ_ONLY;
+        } else {
+            opt->modelGeneratorOpt &= ~rr::LoadSBMLOptions::READ_ONLY;
+        }
+
+    }
+%}
+
+
+
+
+%extend rr::ExecutableModel
+{
+
+    /**
+     * creates a function signature of
+     * SWIGINTERN PyObject *rr_ExecutableModel_getIds(rr::ExecutableModel *self,int types);
+     */
+    PyObject *getIds(int types) {
+        std::list<std::string> ids;
+
+        ($self)->getIds(types, ids);
+
+        unsigned size = ids.size();
+
+        PyObject* pyList = PyList_New(size);
+
+        unsigned j = 0;
+
+        for (std::list<std::string>::const_iterator i = ids.begin(); i != ids.end(); ++i)
+        {
+            const std::string& id  = *i;
+            PyObject* pyStr = PyString_FromString(id.c_str());
+            PyList_SET_ITEM(pyList, j++, pyStr);
+        }
+
+        return pyList;
+    }
+
+    /***
+     ** get values section
+     ***/
+
+    PyObject *getFloatingSpeciesAmounts(int len, int const *indx) {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getFloatingSpeciesAmounts,
+                                          &rr::ExecutableModel::getNumFloatingSpecies, len, indx);
+    }
+
+    PyObject *getFloatingSpeciesAmounts() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getFloatingSpeciesAmounts,
+                                          &rr::ExecutableModel::getNumFloatingSpecies, (int)0, (int const*)0);
+    }
+
+    PyObject *getFloatingSpeciesAmountRates(int len, int const *indx) {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getFloatingSpeciesAmountRates,
+                                         &rr::ExecutableModel::getNumIndFloatingSpecies,  len, indx);
+    }
+
+    PyObject *getFloatingSpeciesAmountRates() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getFloatingSpeciesAmountRates,
+                                          &rr::ExecutableModel::getNumIndFloatingSpecies, (int)0, (int const*)0);
+    }
+
+    PyObject *getFloatingSpeciesConcentrationRates(int len, int const *indx) {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getFloatingSpeciesConcentrationRates,
+                                         &rr::ExecutableModel::getNumIndFloatingSpecies,  len, indx);
+    }
+
+    PyObject *getFloatingSpeciesConcentrationRates() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getFloatingSpeciesConcentrationRates,
+                                          &rr::ExecutableModel::getNumIndFloatingSpecies, (int)0, (int const*)0);
+    }
+
+    PyObject *getFloatingSpeciesConcentrations(int len, int const *indx) {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getFloatingSpeciesConcentrations,
+                                         &rr::ExecutableModel::getNumFloatingSpecies,  len, indx);
+    }
+
+    PyObject *getFloatingSpeciesConcentrations() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getFloatingSpeciesConcentrations,
+                                          &rr::ExecutableModel::getNumFloatingSpecies, (int)0, (int const*)0);
+    }
+
+    PyObject *getBoundarySpeciesAmounts(int len, int const *indx) {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getBoundarySpeciesAmounts,
+                                         &rr::ExecutableModel::getNumBoundarySpecies,  len, indx);
+    }
+
+    PyObject *getBoundarySpeciesAmounts() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getBoundarySpeciesAmounts,
+                                          &rr::ExecutableModel::getNumBoundarySpecies, (int)0, (int const*)0);
+    }
+
+    PyObject *getBoundarySpeciesConcentrations(int len, int const *indx) {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getBoundarySpeciesConcentrations,
+                                         &rr::ExecutableModel::getNumBoundarySpecies,  len, indx);
+    }
+
+    PyObject *getBoundarySpeciesConcentrations() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getBoundarySpeciesConcentrations,
+                                          &rr::ExecutableModel::getNumBoundarySpecies, (int)0, (int const*)0);
+    }
+    PyObject *getGlobalParameterValues(int len, int const *indx) {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getGlobalParameterValues,
+                                         &rr::ExecutableModel::getNumGlobalParameters,  len, indx);
+    }
+
+    PyObject *getGlobalParameterValues() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getGlobalParameterValues,
+                                          &rr::ExecutableModel::getNumGlobalParameters, (int)0, (int const*)0);
+    }
+
+    PyObject *getCompartmentVolumes(int len, int const *indx) {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getCompartmentVolumes,
+                                         &rr::ExecutableModel::getNumCompartments,  len, indx);
+    }
+
+    PyObject *getCompartmentVolumes() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getCompartmentVolumes,
+                                          &rr::ExecutableModel::getNumCompartments, (int)0, (int const*)0);
+    }
+
+    PyObject *getConservedMoietyValues(int len, int const *indx) {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getConservedMoietyValues,
+                                         &rr::ExecutableModel::getNumConservedMoieties,  len, indx);
+    }
+
+    PyObject *getConservedMoietyValues() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getConservedMoietyValues,
+                                          &rr::ExecutableModel::getNumConservedMoieties, (int)0, (int const*)0);
+    }
+
+    PyObject *getReactionRates(int len, int const *indx) {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getReactionRates,
+                                         &rr::ExecutableModel::getNumReactions,  len, indx);
+    }
+
+    PyObject *getReactionRates() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getReactionRates,
+                                          &rr::ExecutableModel::getNumReactions, (int)0, (int const*)0);
+    }
+
+    PyObject *getFloatingSpeciesInitConcentrations() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getFloatingSpeciesInitConcentrations,
+                                          &rr::ExecutableModel::getNumFloatingSpecies, (int)0, (int const*)0);
+    }
+
+    PyObject *getFloatingSpeciesInitAmounts() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getFloatingSpeciesInitAmounts,
+                                          &rr::ExecutableModel::getNumFloatingSpecies, (int)0, (int const*)0);
+    }
+
+    PyObject *getCompartmentInitVolumes() {
+        return _ExecutableModel_getValues($self, &rr::ExecutableModel::getCompartmentInitVolumes,
+                                          &rr::ExecutableModel::getNumCompartments, (int)0, (int const*)0);
+    }
+
+    /***
+     ** state vector section
+     ***/
+
+
+
+    /**
+     * overload which returns a copy of the state vector
+     */
+    PyObject *getStateVector() {
+        int len = ($self)->getStateVector(0);
+
+        npy_intp dims[1] = {len};
+        PyObject *array = PyArray_SimpleNew(1, dims, NPY_DOUBLE);
+        VERIFY_PYARRAY(array);
+
+        if (!array) {
+            // TODO error handling.
+            return 0;
+        }
+
+        double *data = (double*)PyArray_DATA((PyArrayObject*)array);
+
+        ($self)->getStateVector(data);
+
+        return array;
+    }
+
+
+    void getStateVector(int out_len, double* out_values) {
+        int len = ($self)->getStateVector(0);
+
+        if (len > out_len) {
+            PyErr_Format(PyExc_ValueError,
+                         "given array of size %d, insufficient size for state vector %d.",
+                         out_len, len);
+            return;
+        }
+
+        ($self)->getStateVector(out_values);
+    }
+
+    /**
+     * get a copy of the state vector rate using the current state.
+     */
+    PyObject *getStateVectorRate(double time = NAN) {
+        int len = ($self)->getStateVector(0);
+
+        npy_intp dims[1] = {len};
+        PyObject *array = PyArray_SimpleNew(1, dims, NPY_DOUBLE);
+        VERIFY_PYARRAY(array);
+
+        if (!array) {
+            // TODO error handling.
+            return 0;
+        }
+
+        if (isnan(time)) {
+            time = ($self)->getTime();
+        }
+
+        double *data = (double*)PyArray_DATA((PyArrayObject*)array);
+
+        ($self)->getStateVectorRate(time, 0, data);
+
+        return array;
+    }
+
+
+    PyObject *getStateVectorRate(double time, PyObject *arg) {
+
+        // length of state vector
+        int len = ($self)->getStateVector(0);
+
+        if (isnan(time)) {
+            time = ($self)->getTime();
+        }
+
+        // check if the pyobj is an npy double array
+        PyArrayObject *array  = obj_to_array_no_conversion(arg, NPY_DOUBLE);
+
+        // need contigous and native
+        // these set py error if they fail
+        if (array && require_contiguous(array) && require_native(array))
+        {
+            // The number of dimensions in the array.
+            int ndim = PyArray_NDIM(array);
+
+            // pointer to the dimensions/shape of the array.
+            npy_intp *pdims = PyArray_DIMS(array);
+
+            if (ndim > 0 && pdims[ndim-1] == len) {
+
+                // total number of elements in array
+                npy_intp size = PyArray_SIZE(array);
+
+                printf("size: %i\n", (int)size);
+
+                // how many state vectors we have in given array
+                int nvec = size / len;
+
+                // pointer to start of data block
+                double* stateVec = (double*)PyArray_DATA(array);
+
+                // make result data, copy descriptor
+                PyArray_Descr *dtype = PyArray_DESCR(array);
+                Py_INCREF(dtype);
+
+                // If strides is NULL, then the array strides are computed as
+                // C-style contiguous (default)
+                PyObject *result = PyArray_NewFromDescr(&PyArray_Type,
+                                                        dtype,
+                                                        ndim,
+                                                        pdims,
+                                                        NULL,
+                                                        NULL,
+                                                        0,
+                                                        NULL);
+
+                // out data
+                double* stateVecRate = (double*)PyArray_DATA(result);
+
+                // get the state vector rates, bump the data pointers
+                // to the next state vec
+                for (int i = 0; i < nvec; ++i) {
+                    ($self)->getStateVectorRate(time, stateVec, stateVecRate);
+                    stateVec += len;
+                    stateVecRate += len;
+                }
+
+                return result;
+            }
+
+            PyErr_Format(PyExc_TypeError,
+                         "Require an N dimensional array where N must be at least 1 and "
+                         "the trailing dimension must be the same as the state vector size. "
+                         "require trailing dimension of %i but recieved %d", len, (int)pdims[ndim-1]);
+
+
+        }
+
+        // error case, PyErr is set if we get here.
+        return 0;
+    }
+
+
+    PyObject *getStateVectorRate(double time, PyObject *arg1, PyObject *arg2) {
+
+        // length of state vector
+        int len = ($self)->getStateVector(0);
+
+        if (isnan(time)) {
+            time = ($self)->getTime();
+        }
+
+        // check if the pyobj is an npy double array
+        PyArrayObject *array1  = obj_to_array_no_conversion(arg1, NPY_DOUBLE);
+        PyArrayObject *array2  = obj_to_array_no_conversion(arg2, NPY_DOUBLE);
+
+        // need contigous and native
+        // these set py error if they fail
+        if (array1 && require_contiguous(array1) && require_native(array1) &&
+            array2 && require_contiguous(array2) && require_native(array2))
+        {
+            // The number of dimensions in the array.
+            int ndim1 = PyArray_NDIM(array1);
+            int ndim2 = PyArray_NDIM(array2);
+
+            // pointer to the dimensions/shape of the array.
+            npy_intp *pdims1 = PyArray_DIMS(array1);
+            npy_intp *pdims2 = PyArray_DIMS(array2);
+
+            if (ndim1 > 0 && pdims1[ndim1-1] == len &&
+                ndim2 > 0 && pdims2[ndim2-1] == len ) {
+
+                // total number of elements in array
+                npy_intp size = PyArray_SIZE(array1);
+
+                if (size == PyArray_SIZE(array2)) {
+
+                    printf("size: %i\n", (int)size);
+
+                    // how many state vectors we have in given array
+                    int nvec = size / len;
+
+                    // pointer to start of data block
+                    double* stateVec = (double*)PyArray_DATA(array1);
+
+                    // out data
+                    double* stateVecRate = (double*)PyArray_DATA(array2);
+
+                    // get the state vector rates, bump the data pointers
+                    // to the next state vec
+                    for (int i = 0; i < nvec; ++i) {
+                        ($self)->getStateVectorRate(time, stateVec, stateVecRate);
+                        stateVec += len;
+                        stateVecRate += len;
+                    }
+
+                    // only error free result case
+                    // caller should decref the array so we need incrref it.
+                    Py_INCREF(arg2);
+                    return arg2;
+
+                } else {
+                    PyErr_Format(PyExc_TypeError,
+                                 "Both arrays must be the same size and shape, array 1 size: %i, "
+                                 "array 2 size: %i", (int)size, (int)PyArray_SIZE(array2));
+                }
+            } else {
+                PyErr_Format(PyExc_TypeError,
+                             "Require an N dimensional array where N must be at least 1 and "
+                             "the trailing dimension must be the same as the state vector size. "
+                             "require trailing dimension of %i but recieved %d", len, (int)pdims1[ndim1-1]);
+            }
+        }
+
+        // error case, PyErr is set if we get here.
+        return 0;
+    }
+
+
+
+
+    /***
+     ** get ids section
+     ***/
+
+
+    PyObject *getFloatingSpeciesIds() {
+        return rr_ExecutableModel_getIds($self, rr::SelectionRecord::FLOATING_AMOUNT);
+    }
+
+    PyObject *getBoundarySpeciesIds() {
+        return rr_ExecutableModel_getIds($self, rr::SelectionRecord::BOUNDARY_AMOUNT);
+    }
+
+    PyObject *getGlobalParameterIds() {
+        return rr_ExecutableModel_getIds($self, rr::SelectionRecord::GLOBAL_PARAMETER);
+    }
+
+    PyObject *getCompartmentIds() {
+        return rr_ExecutableModel_getIds($self, rr::SelectionRecord::COMPARTMENT);
+    }
+
+    PyObject *getConservedMoietyIds() {
+        return rr_ExecutableModel_getIds($self, rr::SelectionRecord::CONSREVED_MOIETY);
+    }
+
+    PyObject *getReactionIds() {
+        return rr_ExecutableModel_getIds($self, rr::SelectionRecord::REACTION_RATE);
+    }
+
+    PyObject *getFloatingSpeciesInitAmountIds() {
+        return rr_ExecutableModel_getIds($self, rr::SelectionRecord::INITIAL_FLOATING_AMOUNT);
+    }
+
+    PyObject *getFloatingSpeciesInitConcentrationIds() {
+        return rr_ExecutableModel_getIds($self, rr::SelectionRecord::INITIAL_FLOATING_CONCENTRATION);
+    }
+
+    PyObject *getFloatingSpeciesAmountRateIds() {
+        return rr_ExecutableModel_getIds($self, rr::SelectionRecord::FLOATING_AMOUNT_RATE);
+    }
+
+    PyObject *getStateVectorIds() {
+        return rr_ExecutableModel_getIds($self, rr::SelectionRecord::STATE_VECTOR);
+    }
+
+    PyObject *getEventIds() {
+        return rr_ExecutableModel_getIds($self, rr::SelectionRecord::EVENT);
+    }
+
+
+
+    /***
+     ** set values section
+     ***/
+
+    int setFloatingSpeciesAmounts(int len, double const *values) {
+        return $self->setFloatingSpeciesAmounts(len, 0, values);
+    }
+
+    int setFloatingSpeciesConcentrations(int len, double const *values) {
+        return $self->setFloatingSpeciesConcentrations(len, 0, values);
+    }
+
+    int setBoundarySpeciesConcentrations(int len, double const *values) {
+        return $self->setBoundarySpeciesConcentrations(len, 0, values);
+    }
+
+    int setGlobalParameterValues(int len, double const *values) {
+        return $self->setGlobalParameterValues(len, 0, values);
+    }
+
+    int setCompartmentVolumes(int len, double const *values) {
+        return $self->setCompartmentVolumes(len, 0, values);
+    }
+
+    int setConservedMoietyValues(int len, double const *values) {
+        return $self->setConservedMoietyValues(len, 0, values);
+    }
+
+    int setFloatingSpeciesInitConcentrations(int len, double const *values) {
+        return $self->setFloatingSpeciesInitConcentrations(len, 0, values);
+    }
+
+    int setFloatingSpeciesInitAmounts(int len, double const *values) {
+        return $self->setFloatingSpeciesInitAmounts(len, 0, values);
+    }
+
+    int setCompartmentInitVolumes(int len, double const *values) {
+        return $self->setCompartmentInitVolumes(len, 0, values);
+    }
+
+
+    int setFloatingSpeciesAmounts(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setFloatingSpeciesAmounts(leni, indx, values);
+    }
+
+
+    int setFloatingSpeciesConcentrations(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setFloatingSpeciesConcentrations(leni, indx, values);
+    }
+
+    int setBoundarySpeciesConcentrations(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setBoundarySpeciesConcentrations(leni, indx, values);
+    }
+
+    int setGlobalParameterValues(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setGlobalParameterValues(leni, indx, values);
+    }
+
+    int setCompartmentVolumes(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setCompartmentVolumes(leni, indx, values);
+    }
+
+    int setConservedMoietyValues(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setConservedMoietyValues(leni, indx, values);
+    }
+
+    int setFloatingSpeciesInitConcentrations(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setFloatingSpeciesInitConcentrations(leni, indx, values);
+    }
+
+
+    int setFloatingSpeciesInitAmounts(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setFloatingSpeciesInitAmounts(leni, indx, values);
+    }
+
+
+    int setCompartmentInitVolumes(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setCompartmentInitVolumes(leni, indx, values);
+    }
+
+
+    int setFloatingSpeciesInitConcentrations(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setFloatingSpeciesInitConcentrations(leni, indx, values);
+    }
+
+    int setFloatingSpeciesInitAmounts(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setFloatingSpeciesInitAmounts(leni, indx, values);
+    }
+
+
+    int setCompartmentInitVolumes(int leni, int const* indx, int lenv, double const *values) {
+        if (leni != lenv) {
+            PyErr_Format(PyExc_ValueError,
+                         "Arrays of lengths (%d,%d) given",
+                         leni, lenv);
+            return -1;
+        }
+        return $self->setCompartmentInitVolumes(leni, indx, values);
+    }
+
+
+    PyObject* getCurrentStoichiometryMatrix() {
+        int rows = 0;
+        int cols = 0;
+        double* data = 0;
+
+        $self->getStoichiometryMatrix(&rows, &cols, &data);
+
+        int nd = 2;
+        npy_intp dims[2] = {rows, cols};
+
+        PyObject *pArray = PyArray_New(&PyArray_Type, nd, dims, NPY_DOUBLE, NULL, data, 0,
+                NPY_CARRAY | NPY_OWNDATA, NULL);
+        VERIFY_PYARRAY(pArray);
+
+        return pArray;
+    }
+
+
+    /**
+     * get values.
+     */
+
+    double __getitem__(const std::string& id) {
+        return ($self)->getValue(id);
+    }
+
+    void __setitem__(const std::string& id, double value) {
+        ($self)->setValue(id, value);
+    }
+
+
+    std::string __repr__() {
+        std::stringstream s;
+        s << "<roadrunner.ExecutableModel() { this = " << (void*)$self << " }>";
+        return s.str();
+    }
+
+    /**
+     * events section
+     *
+     * TODO, the returned event is not valid after the model object is freed.
+     * is this OK???
+     */
+    rr::PyEventListener *getEvent(int index) {
+        ExecutableModel *p = $self;
+        EventListenerPtr e = p->getEventListener(index);
+
+        if(e) {
+            PyEventListener *impl = dynamic_cast<PyEventListener*>(e.get());
+            return impl;
+        } else {
+            PyEventListener *impl = new PyEventListener();
+            p->setEventListener(index, EventListenerPtr(impl));
+            return impl;
+        }
+    }
+
+    rr::PyEventListener *getEvent(const std::string& eventId) {
+        int index = ($self)->getEventIndex(eventId);
+
+        if (index >= 0) {
+            ExecutableModel *p = $self;
+            EventListenerPtr e = p->getEventListener(index);
+
+            if(e) {
+                PyEventListener *impl = dynamic_cast<PyEventListener*>(e.get());
+                return impl;
+            } else {
+                PyEventListener *impl = new PyEventListener();
+                p->setEventListener(index, EventListenerPtr(impl));
+                return impl;
+            }
+
+        } else {
+            throw std::out_of_range(std::string("could not find index for event ") + eventId);
+        }
+    }
+
+    %pythoncode %{
+
+        def keys(self, types=_roadrunner.SelectionRecord_ALL):
+            return self.getIds(types)
+
+        def values(self, types=_roadrunner.SelectionRecord_ALL):
+            return [self.getValue(k) for k in self.keys(types)]
+
+        def items(self, types=_roadrunner.SelectionRecord_ALL):
+            return [(k, self.getValue(k)) for k in self.keys(types)]
+
+        def __len__(self):
+            return len(self.keys())
+
+        def iteritems(self, types=_roadrunner.SelectionRecord_ALL):
+            """
+            return an iterator over (key, value) pairs
+            """
+            return self.items(types).__iter__()
+
+        def iterkeys(self, types=_roadrunner.SelectionRecord_ALL):
+            """
+            return an iterator over the mapping's keys
+            """
+            return self.keys(types).__iter__()
+
+        def itervalues(self, types=_roadrunner.SelectionRecord_ALL):
+            """
+            return an iterator over the mapping's values
+            """
+            return self.values(types).__iter__()
+    %}
+}
+
+%extend rr::Logger {
+    static void enablePythonLogging() {
+        PyLoggerStream::enablePythonLogging();
+    }
+
+    static void disablePythonLogging() {
+        PyLoggerStream::disablePythonLogging();
+    }
+}
+
+%extend rr::Integrator {
+
+    void _setListener(const rr::PyIntegratorListenerPtr &listener) {
+
+        Log(rr::Logger::LOG_INFORMATION) << __FUNC__ << ", use count: " << listener.use_count();
+
+        cxx11_ns::shared_ptr<rr::IntegratorListener> i =
+            cxx11_ns::dynamic_pointer_cast<rr::IntegratorListener>(listener);
+
+        Log(rr::Logger::LOG_INFORMATION) << __FUNC__ << ", after cast use count: " << listener.use_count();
+
+        ($self)->setListener(i);
+    }
+
+    rr::PyIntegratorListenerPtr _getListener() {
+
+        Log(rr::Logger::LOG_INFORMATION) << __FUNC__;
+
+        rr::IntegratorListenerPtr l = ($self)->getListener();
+
+        rr::PyIntegratorListenerPtr ptr =
+            cxx11_ns::dynamic_pointer_cast<rr::PyIntegratorListener>(l);
+
+        Log(rr::Logger::LOG_INFORMATION) << __FUNC__ << ", use count: " << ptr.use_count();
+
+        return ptr;
+    }
+
+    void _clearListener() {
+        rr::IntegratorListenerPtr current = ($self)->getListener();
+
+        Log(rr::Logger::LOG_INFORMATION) << __FUNC__ << ", current use count before clear: " << current.use_count();
+
+        ($self)->setListener(rr::IntegratorListenerPtr());
+
+        Log(rr::Logger::LOG_INFORMATION) << __FUNC__ << ", current use count after clear: " << current.use_count();
+    }
+
+    // we want to get the listener back as a PyIntegratorListener, however
+    // swig won't let us ignore by return value and if we ignore getListener,
+    // it ignores any extended version. So, we have to make an extended
+    // _getListener() above, and call it from python like this.
+    %pythoncode %{
+        def getListener(self):
+            return self._getListener()
+
+        def setListener(self, listener):
+            if listener is None:
+                self._clearListener()
+            else:
+                self._setListener(listener)
+
+        __swig_getmethods__["listener"] = getListener
+        __swig_setmethods__["listener"] = setListener
+        if _newclass:
+            listener = property(getListener, setListener)
+
+        def __dir__(self):
+            x = dir(type(self))
+            x += self.getSettings()
+            return x
+
+        def __getattr__(self, name):
+            return Solver.getValue(self, name)
+
+        def __setattr__(self, name, value):
+            if(name in self.getSettings()):
+                self.setValue(name, value)
+            else:
+                raise AttributeError('No such key "{}"'.format(name))
+
+        def __repr__(self):
+            return self.toRepr()
+
+        def getSetting(self, k):
+            return self.getValue(k)
+
+        def setSetting(self, k, v):
+            return self.setValue(k, v)
+    %}
+}
+
+%extend rr::SteadyStateSolver {
+    %pythoncode %{
+        def __dir__(self):
+            x = dir(type(self))
+            x += self.getSettings()
+            return x
+
+        def __getattr__(self, name):
+            return Solver.getValue(self, name)
+
+        def __setattr__(self, name, value):
+            if(name in self.getSettings()):
+                self.setValue(name, value)
+            else:
+                raise AttributeError('No such key "{}"'.format(name))
+
+        def getSetting(self, k):
+            return self.getValue(k)
+
+        def setSetting(self, k, v):
+            return self.setValue(k, v)
+    %}
+}
+
+%extend rr::Solver {
+    %pythoncode %{
+        def __dir__(self):
+            x = dir(type(self))
+            x += self.getSettings()
+            return x
+
+        def __getattr__(self, name):
+            return Solver.getValue(self, name)
+
+        def __setattr__(self, name, value):
+            if(name in self.getSettings()):
+                self.setValue(name, value)
+            else:
+                raise AttributeError('No such key "{}"'.format(name))
+
+        def getSetting(self, k):
+            return self.getValue(k)
+
+        def setSetting(self, k, v):
+            return self.setValue(k, v)
+    %}
+}
+
+%extend rr::PyIntegratorListener {
+    %pythoncode %{
+        __swig_getmethods__["onTimeStep"] = getOnTimeStep
+        __swig_setmethods__["onTimeStep"] = setOnTimeStep
+        if _newclass: onTimeStep = property(getOnTimeStep, setOnTimeStep)
+
+        __swig_getmethods__["onEvent"] = getOnEvent
+        __swig_setmethods__["onEvent"] = setOnEvent
+        if _newclass: onEvent = property(getOnEvent, setOnEvent)
+     %}
+}
+
+%extend rr::PyEventListener {
+    %pythoncode %{
+        __swig_getmethods__["onTrigger"] = getOnTrigger
+        __swig_setmethods__["onTrigger"] = setOnTrigger
+        if _newclass: onTrigger = property(getOnTrigger, setOnTrigger)
+
+        __swig_getmethods__["onAssignment"] = getOnAssignment
+        __swig_setmethods__["onAssignment"] = setOnAssignment
+        if _newclass: onAssignment = property(getOnAssignment, setOnAssignment)
+     %}
+}
+
+
+// Copy this code ad verbatim to the Python module
+%pythoncode %{
+RoadRunner.ensureSolversRegistered()
+integrators = list(RoadRunner.getRegisteredIntegratorNames())
+steadyStateSolvers = list(RoadRunner.getRegisteredSteadyStateSolverNames())
+solvers = integrators + steadyStateSolvers
+%}
diff --git a/wrappers/Python/roadrunner/rr_docstrings.i b/wrappers/Python/roadrunner/rr_docstrings.i
new file mode 100644
index 0000000..44848a1
--- /dev/null
+++ b/wrappers/Python/roadrunner/rr_docstrings.i
@@ -0,0 +1,2381 @@
+%feature("docstring") rr::ExecutableModel::keys "
+ExecutableModel.keys()
+
+Get a list of all the keys that this model has. This is a very good way of looking at all the
+available symbols and selection strings:
+
+>>>  r.model.keys()
+[ 'S1', 'S2', '[S1]', '[S2]', 'compartment', 'k1', 'cm0',
+  'reaction1',  'init([S1])',  'init([S2])', 'init(S1)',
+  'init(S2)',  \"S1'\"]
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::items "
+ExecutableModel.items()
+
+Get a list of key / value pairs of all the selections / values in this model.
+
+.. method:: ExecutableModel.__getitem__
+
+Implements the python ``[]`` indexing operator, so the model values can be accessed like::
+
+  >>> r.model[\"S1\"]
+  0.0
+
+.. method:: ExecutableModel.__setitem__
+
+Implements the python ``[]`` indexing operator for setting values::
+
+  >>> r.model[\"S1\"] = 12.3
+
+Note, some keys are read only such as values defined by rules, or calculated values such as
+species amount rates or reaction rates. If one attempts to set the value of a read-only symbol,
+an exception is raised indicating the error, and no harm done.
+
+
+
+Floating Species
+----------------
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getNumFloatingSpecies "
+ExecutableModel.getNumFloatingSpecies()
+
+Returns the number of floating species in the model.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getFloatingSpeciesIds "
+ExecutableModel.getFloatingSpeciesIds()
+
+Return a list of floating species sbml ids.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getFloatingSpeciesAmountRates "
+ExecutableModel.getFloatingSpeciesAmountRates([index])
+
+Return a vector of the amount rate of change of the floating species.
+
+The units of amount rates is amount / time.
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of the rates of change of the floating species amounts.
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getFloatingSpeciesAmounts "
+ExecutableModel.getFloatingSpeciesAmounts([index])
+
+Get the list of floating species amounts. If no arguments are given, this
+returns all floating species amounts.
+
+:param index: an optional array of desired floating species indices. i.e. if this model has
+              4 floating species and we want the amounts for the last and first, we
+              would use [3,0] for the index array.
+:type name: numpy.ndarray
+
+get all the amounts::
+
+  >>> e.getFloatingSpeciesAmounts()
+  [15,2,3,20]
+
+get amounts 3 and 0::
+
+  >>> getFloatingSpeciesAmounts([3,0])
+  [10,15]
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::setFloatingSpeciesAmounts "
+ExecutableModel.setFloatingSpeciesAmounts([index], values)
+
+Use this to set the entire set of floating species amounts in one call.
+The order of species is given by the order of Ids returned by getFloatingSpeciesIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to set,
+                            or if no index array is given, the first param should be
+                            an array of all the values to set.
+:param numpy.ndarray values: the values to set.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::setFloatingSpeciesConcentrations "
+ExecutableModel.setFloatingSpeciesConcentrations([index], values)
+
+Use this to set the entire set of floating species concentrations in one call.
+The order of species is given by the order of Ids returned by getFloatingSpeciesIds()
+
+
+:param numpy.ndarray index: (optional) an index array indicating which items to set,
+                            or if no index array is given, the first param should be an
+                            array of all the  values to set.
+:param numpy.ndarray values: the values to set.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getFloatingSpeciesConcentrations "
+ExecutableModel.getFloatingSpeciesConcentrations([index])
+
+Returns a vector of floating species concentrations. The order of species is
+given by the order of Ids returned by getFloatingSpeciesIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of floating species concentrations.
+:rtype: numpy.ndarray
+
+Floating Species Initial Conditions
+-----------------------------------
+RoadRunner stores all initial conditions separately from the model state variables. This means that
+you can update the initial conditions at any time, and it does not affect the current state of the
+model. To reset the model, that is, reset it to its original state, or a new original state where
+what has changed the initial conditions use the :meth:`~ExecutableModel.reset()` method.
+
+The following methods allow access to the floating species initial condition values:
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getFloatingSpeciesInitAmountIds "
+ExecutableModel.getFloatingSpeciesInitAmountIds()
+
+get a list of the floating species amount initial amount selection symbols.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getFloatingSpeciesInitConcentrationIds "
+ExecutableModel.getFloatingSpeciesInitConcentrationIds()
+
+get a list of the floating species amount initial concentration selection symbols.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getFloatingSpeciesInitConcentrations "
+ExecutableModel.getFloatingSpeciesInitConcentrations([index])
+
+Returns a vector of floating species initial concentrations. The order of species is
+given by the order of Ids returned by getFloatingSpeciesInitialConcentrationIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of floating species initial concentrations.
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::setFloatingSpeciesInitConcentrations "
+ExecutableModel.setFloatingSpeciesInitConcentrations([index], values)
+
+Set a vector of floating species initial concentrations. The order of species is
+given by the order of Ids returned by getFloatingSpeciesInitialAmountIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getFloatingSpeciesInitAmounts "
+ExecutableModel.getFloatingSpeciesInitAmounts([index])
+
+Returns a vector of floating species initial amounts. The order of species is
+given by the order of Ids returned by getFloatingSpeciesInitialConcentrationIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of floating species initial amounts.
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::setFloatingSpeciesInitAmounts "
+ExecutableModel.setFloatingSpeciesInitAmounts([index], values)
+
+Set a vector of floating species initial amounts. The order of species is
+given by the order of Ids returned by getFloatingSpeciesInitialAmountIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+
+
+
+
+Boundary Species
+----------------
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getBoundarySpeciesAmounts "
+ExecutableModel.getBoundarySpeciesAmounts([index])
+
+Returns a vector of boundary species amounts. The order of species is
+given by the order of Ids returned by getBoundarySpeciesIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of the boundary species amounts.
+:rtype: numpy.ndarray.
+
+given by the order of Ids returned by getBoundarySpeciesIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of the boundary species amounts.
+:rtype: numpy.ndarray.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getBoundarySpeciesConcentrations "
+ExecutableModel.getBoundarySpeciesConcentrations([index])
+
+Returns a vector of boundary species concentrations. The order of species is
+given by the order of Ids returned by getBoundarySpeciesIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of the boundary species concentrations.
+:rtype: numpy.ndarray.
+
+given by the order of Ids returned by getBoundarySpeciesIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of the boundary species concentrations.
+:rtype: numpy.ndarray.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getBoundarySpeciesIds "
+ExecutableModel.getBoundarySpeciesIds()
+
+Returns a vector of boundary species Ids.
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: a list of boundary species ids.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getNumBoundarySpecies "
+ExecutableModel.getNumBoundarySpecies()
+
+Returns the number of boundary species in the model.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::setBoundarySpeciesConcentrations "
+ExecutableModel.setBoundarySpeciesConcentrations([index], values)
+
+Use this to set the entire set of boundary species concentrations in one call.
+The order of species is given by the order of Ids returned by getBoundarySpeciesIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to set,
+                            or if no index array is given, the first param should be an
+                            array of all the  values to set.
+
+:param numpy.ndarray values: the values to set.
+
+Compartments
+------------
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getCompartmentIds "
+ExecutableModel.getCompartmentIds([index])
+
+Returns a vector of compartment identifier symbols.
+
+:param index: A array of compartment indices indicating which compartment ids to return.
+:type index: None or numpy.ndarray
+:returns: a list of compartment ids.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getCompartmentVolumes "
+ExecutableModel.getCompartmentVolumes([index])
+
+Returns a vector of compartment volumes. The order of volumes is
+given by the order of Ids returned by getCompartmentIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of compartment volumes.
+:rtype: numpy.ndarray.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getNumCompartments "
+ExecutableModel.getNumCompartments()
+
+Returns the number of compartments in the model.
+
+:rtype: int
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::setCompartmentVolumes "
+ExecutableModel.setCompartmentVolumes([index], values)
+
+Sets a vector of compartment volumes.
+
+If the index vector is not give, then the values vector treated as a vector of all
+compartment volumes to set. If index is given, then  values should have the same
+length as index.
+
+:param numpy.ndarray index: (optional) an index array indicating which items to set,
+                            or if no index array is given, the first param should be an
+                            array of all the  values to set.
+
+:param numpy.ndarray values: the values to set.
+
+
+
+Global Parameters
+-----------------
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getGlobalParameterValues "
+ExecutableModel.getGlobalParameterValues([index])
+
+Return a vector of global parameter values. The order of species is
+given by the order of Ids returned by getGlobalParameterIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of global parameter values.
+:rtype: numpy.ndarray.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getNumGlobalParameters "
+ExecutableModel.getNumGlobalParameters()
+
+
+Returns the number of global parameters in the model.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::setGlobalParameterValues "
+ExecutableModel.setGlobalParameterValues([index], values)
+
+Use this to set the entire set of global parameters in one call.
+The order of parameters is given by the order of Ids returned by getGlobalParameterIds()
+
+
+:param numpy.ndarray index: (optional) an index array indicating which items to set,
+                            or if no index array is given, the first param should be an
+                            array of all the values to set.
+:param numpy.ndarray values: the values to set.
+
+Reactions
+---------
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getNumReactions "
+ExecutableModel.getNumReactions()
+
+Returns the number of reactions in the model.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getReactionIds "
+ExecutableModel.getReactionIds()
+
+Returns a vector of reaction Ids.
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: a list of reaction ids.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getReactionRates "
+ExecutableModel.getReactionRates([index])
+
+Returns a vector of reaction rates (reaction velocity) for the current state of the model. The
+order of reaction rates is given by the order of Ids returned by getReactionIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of reaction rates.
+:rtype: numpy.ndarray
+
+
+
+Stoichiometry
+-------------
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getStoichiometry "
+ExecutableModel.getStoichiometry(speciesIndex, reactionIndex)
+
+Returns the stochiometric coefficient for the given species index and reaction index.
+
+Frequently one does not need the full stochiometrix matrix, particularly if the system is
+large and only a single coefficient is needed.
+
+
+:param speciesIndex: a floating species index from :meth:`getFloatingSpeciesIds`
+:param reactionIndex: a reaction index from :meth:`getReactionIds`
+
+
+
+State Vector
+------------
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getStateVector "
+ExecutableModel.getStateVector([stateVector])
+
+Returns a vector of all the variables that represent the state of the system. The state is
+considered all values which change with the dynamics of the model. This would include all species
+which are produced or consumed by reactions, and all variables which are defined by rate rules.
+
+Variables such as global parameters, compartments, or boundary species which do not change with
+the model dynamics are considered parameters and are thus not part of the state.
+
+In performance critical applications, the optional stateVector array should be provided where the
+output variables will be written to.
+
+
+:param numpy.ndarray stateVector: an optional numpy array where the state vector variables will be written. If
+                    no state vector array is given, a new one will be constructed and returned.
+
+                    This should be the same length as the model state vector.
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getStateVectorId "
+ExecutableModel.getStateVectorId(index)
+
+Get the id (symbolic name) of a state vector item.
+
+:param int index: the index of the desired state vector item
+:rtype: str
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getStateVectorIds "
+ExecutableModel.getStateVectorIds()
+
+Returns a list of all state vector ids
+
+:rtype: list
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getStateVectorRate "
+ExecutableModel.getStateVectorRate(time, [stateVector], [stateVectorRate])
+
+Calculates the rate of change of all state vector variables.
+
+Note, the rate of change of species returned by this method is always in units of amount /
+time.
+
+
+:param double time: the model time at which the calculation should be performed.
+:param numpy.ndarray: (optional) the model state at which the calculation should be performed. If
+                      this is not give, the current state is used.
+:param numpy.ndarray: (optional) an output array where the rates of change will be written to. If
+                      this is not given, a new array is allocated and returned.
+
+:returns: an array of the rates of change of all state vector variables.
+:rtype: numpy.ndarray
+
+
+Conserved Moieties
+------------------
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getNumConservedMoieties "
+ExecutableModel.getNumConservedMoieties()
+
+Returns the number of conserved moieties in the model.
+
+:rtype: int
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getConservedMoietyIds "
+ExecutableModel.getConservedMoietyIds([index])
+
+Returns a vector of conserved moiety identifier symbols.
+
+
+:param index: A array of compartment indices indicating which compartment ids to return.
+:type index: None or numpy.ndarray
+:returns: a list of compartment ids.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getConservedMoietyValues "
+ExecutableModel.getConservedMoietyValues([index])
+
+Returns a vector of conserved moiety volumes. The order of values is
+given by the order of Ids returned by getConservedMoietyIds()
+
+:param numpy.ndarray index: (optional) an index array indicating which items to return.
+:returns: an array of conserved moiety values.
+:rtype: numpy.ndarray.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::setConservedMoietyValues "
+ExecutableModel.setConservedMoietyValues([index], values)
+
+Sets a vector of conserved moiety values.
+
+*Note* This method currently only updates the conserved moiety values, it does
+not update the initial species condition from which the values were calculated.
+
+If the index vector is not given, then the values vector treated as a vector of all
+values to set. If index is given, then  values should have the same
+length as index.
+
+:param numpy.ndarray index: (optional) an index array indicating which items to set,
+                            or if no index array is given, the first param should be an
+                            array of all the  values to set.
+:param numpy.ndarray values: the values to set.
+
+
+Misc
+----
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getInfo "
+ExecutableModel.getInfo()
+
+get various info about the model.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getModelName "
+ExecutableModel.getModelName()
+
+Get the model name specified in the SBML.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::getTime "
+ExecutableModel.getTime()
+
+Get the model time. The model originally start at time t=0 and is advaced forward in time by the
+integrator. So, if one ran a simulation from time = 0 to time = 10, the model will then have it's
+time = 10.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::reset "
+ExecutableModel.reset()
+
+Reset the floating species concentration to their initial conditions.
+";
+
+
+
+%feature("docstring") rr::ExecutableModel::setTime "
+ExecutableModel.setTime(time)
+
+Set the model time variable.
+
+:param time: time the time value to set.
+";
+
+
+
+%feature("docstring") rr::RoadRunner "
+RoadRunner.__init__(uriOrSBML = "", options = None)
+
+Creates a new RoadRunner object. If the first argument is specified,
+it should be a string containing either the contents of an SBML document,
+or a formatted URI specifying the path or location of a SBML document.
+
+If options is given, it should be a LoadSBMLOptions object.
+
+If no arguments are given, a document may be loaded at any future time
+using the load method.
+
+:param uriOrSBML: a URI, local path or SBML document contents.
+:type name: str (optional)
+
+:param options: (LoadSBMLOptions) an options object specifying how the
+                SBML document should be loaded
+:type name: str (optional)
+";
+
+
+
+%feature("docstring") rr::RoadRunner::load "
+RoadRunner.load(uriOrDocument)
+
+Loads an SBML document, given a string for file path, URI, or contents.
+
+This method also accepts HTTP URI for remote files, however this feature is currently limited
+to the Mac version, plan on enabling HTTP loading of SBML documents on Windows and Linux
+shortly.
+
+Some examples of loading files on Mac or Linux::
+
+    >>> r.load(\"myfile.xml\")                               # load a file from the current directory
+    >>> r.load(\"/Users/Fred/myfile.xml\")                   # absolute path
+    >>> r.load(\"http://sbml.org/example_system.xml\")       # remote file
+
+
+Or on Windows:
+
+    >>> r.load(\"myfile.xml\")                                  # load a file from the current directory
+    >>> r.load(\"file://localhost/c:/Users/Fred/myfile.xml\")   # using a URI
+
+One may also load the contents of a document::
+
+    >>> myfile = open(\"myfile.xml, \"r\")
+    >>> contents = file.read()
+    >>> r.load(contents)
+
+In future version, we will also support loading directly from a libSBML Document object.
+
+:param uriOrDocument: A string which may be a local path, URI or contents of an SBML document.
+:type name: str
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getCompiler "
+RoadRunner.getCompiler()
+
+Return the JIT :class:`Compiler` object currently being used.
+This object provides various information about the current processor and system.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getConfigurationXML "
+RoadRunner.getConfigurationXML()
+
+recurse through all of the child configurable objects that this
+class ones and build an assemble all of their configuration parameters
+into a single xml document which is returned as a string.
+
+The value of this result depends on what child objects are presently loaded.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getExtendedVersionInfo "
+RoadRunner.getExtendedVersionInfo()
+
+getVersion plus info about dependent libs versions.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getInfo "
+RoadRunner.getInfo()
+
+return info about the current state of the object
+
+:rtype: str
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getInstanceCount "
+RoadRunner.getInstanceCount()
+
+Number of currently running RoadRunner instances.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getInstanceID "
+RoadRunner.getInstanceID()
+
+When there are multiple instances of RoadRunner, this is the instance id.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getIntegrator "
+RoadRunner.getIntegrator()
+
+get the integrator which is currently being used to
+time evolve the system.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getAvailableIntegrators "
+RoadRunner.getAvailableIntegrators()
+
+Get a list of available integrator names.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getParamPromotedSBML "
+RoadRunner.getParamPromotedSBML(*args)
+
+Takes an SBML document (in textual form) and changes all of the local parameters
+to be global parameters.
+
+:param str SBML: the contents of an SBML document
+:rtype: str
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getCurrentSBML "
+RoadRunner.getCurrentSBML()
+
+Returns the current state of the model in the form of an SBML string.
+
+That is the SBML will reflect the current state of the model and not the
+original SBML that was loaded into RoadRunner.
+
+:rtype: str
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getSBML "
+RoadRunner.getSBML()
+
+Returns the original SBML model that was loaded into roadrunner.
+
+:rtype: str
+
+Selections
+----------
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getIds "
+RoadRunner.getIds()
+
+Return a list of selection ids that this object can select on.
+
+:rtype: list
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getValue "
+RoadRunner.getValue(sel)
+
+Returns the value for a given selection.
+
+:param sel: a selection that is either a string or a SelectionRecord that was
+            obtained from createSelection
+:type sel: str or SelectionRecord
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getSelectedValues "
+RoadRunner.getSelectedValues()
+
+returns the values selected with SimulateOptions for the current model time / timestep
+
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::RoadRunner::selections "
+
+Get or set the list of current selections used for the simulation result columns.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::createSelection "
+RoadRunner.createSelection(sel)
+
+Create a new selection based on a selection string
+
+:rtype: roadrunner.SelectionRecord
+
+
+Model Access
+------------
+";
+
+
+
+%feature("docstring") rr::RoadRunner::isModelLoaded "
+RoadRunner.isModelLoaded()
+
+Return True if model was loaded; False otherwise
+";
+
+
+
+%feature("docstring") rr::RoadRunner::model "
+:annotation: None
+
+Get the currently loaded model. The model object contains the entire state of the SBML model.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getModel "
+RoadRunner.getModel()
+
+Function form of the RoadRunner.model property, identical to model.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::oneStep "
+RoadRunner.oneStep(startTime, stepSize)
+
+Carry out a one step integration of the model. The method takes two arguments,
+the current time and the step size to us in the integration. The method returns
+the new time which will be currentTime + StepSize::
+
+    newTime = rr.oneStep (10, 0.5)
+";
+
+
+
+%feature("docstring") rr::RoadRunner::reset "
+RoadRunner.reset()
+
+This method resets all the floating species concentrations to their initial values.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::setConfigurationXML "
+RoadRunner.setConfigurationXML(*args)
+
+given a xml document, which should have been returned from getConfigurationXML,
+this method recurses though all the child configurable elements and sets their
+configuration to the values specified in the document.
+
+:param str xml: the contents of an xml document.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::conservedMoietyAnalysis "
+
+Enables / Disables conserved moiety analysis (boolean).
+
+If this is enabled, the SBML document (either current, or one about to be loaded)
+is converted using the ConservedMoietyConverter. All of the linearly dependent
+species are replaced with assignment rules and a new set of conserved moiety
+parameters are introduced.
+
+
+Simulation
+----------
+
+Fast and easy time series simulations is one of the main objectives of the RoadRunner project.
+
+All simulation related tasks can be accomplished with the single ``simulate`` method.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::steadyStateSelections "
+
+A list of SelectionRecords which determine what values are used for
+a steady state calculation. This list may be set by assigning a list
+of valid selection symbols::
+
+  r.steadyStateSelections = ['S1', '[S2]', 'P1']
+";
+
+
+
+%feature("docstring") rr::RoadRunner::steadyState "
+RoadRunner.steadyState()
+
+Attempt to evaluate the steady state for the model. The method returns
+a value that indicates how close the solution is to the steady state.
+The smaller the value the better. Values less than 1E-6 usually indicate a
+steady state has been found. If necessary the method can be called a
+second time to improve the solution.
+
+:returns: the sum of squares of the steady state solution.
+
+:rtype: double
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getSteadyStateValues "
+RoadRunner.getSteadyStateValues()
+
+Performs a steady state calculation (evolves the system to a steady
+state), then calculates and returns the set of values specified by
+the steady state selections.
+
+:returns: a numpy array corresponding to the values specified by steadyStateSelections
+
+:rtype: numpy.ndarray
+
+
+
+Metabolic control analysis
+--------------------------
+
+In the special case when an SBML model is a purely reaction kinetics model -- no rate rules, no
+assignment rules for chemical species, and time invariant stoichiometry, specialized analysis methods
+related to metabolic control analysis are applicable. These methods are described in this section.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getCC "
+RoadRunner.getCC(variable, parameter)
+
+Returns a scaled control coefficient with respect to a global parameter.
+
+For example::
+
+  rr.getCC ('J1', 'Vmax')
+  rr.getCC ('S1', 'Xo')
+  rr.getCC ('S2', 'Km')
+
+The first returns a flux control coefficient with respect to flux J1. The second and third
+return concentration control coefficients with respect to species S1 and S2.
+
+:param variable: The id of a dependent variable of the coefficient, for example a
+                 flux or species concentration.
+
+:param parameter: The id of the independent parameter, for example a kinetic constant
+                  or boundary species
+
+:returns: the value of the control coefficient returned to the caller.
+
+:rtype: double
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getuCC "
+RoadRunner.getuCC(variableId, parameterId)
+
+Get unscaled control coefficient with respect to a global parameter.
+
+:param variableId: must be either a reaction or floating species.
+
+:param parameterId: must be either a global parameter, boundary species, or
+                    conserved sum.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getEE "
+RoadRunner.getEE(reactionId, parameterId, steadyState=True)
+
+Retrieve a single elasticity coefficient with respect to a global parameter.
+
+For example::
+
+  x = rr.getEE ('J1', 'Vmax')
+
+:param str variable: The dependent variable of the coefficient, for example a flux or
+                     species concentration.
+:param str parameter: The independent parameter, for example a kinetic constant or boundary
+                      species
+:param Boolean steadyState: should the steady state value be computed.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getuEE "
+RoadRunner.getuEE(reactionId, parameterId)
+
+Get unscaled elasticity coefficient with respect to a global parameter or species.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getEigenValueIds "
+RoadRunner.getEigenValueIds()
+
+returns a list of selection symbols for the eigenvalues of the floating species. The eigen value
+selection symbol is ``eigen(XX)``, where ``XX`` is the floating species name.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getFullEigenValues "
+RoadRunner.getFullEigenValues()
+
+
+Calculates the eigen values of the Full Jacobian as a real matrix, first column real part, second
+column imaginary part.
+
+Note, only valid for pure reaction kinetics models (no rate rules, no floating species rules and
+time invariant stoichiometry).
+
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getReducedEigenValues "
+RoadRunner.getReducedEigenValues()
+
+
+Calculates the eigen values of the Reduced Jacobian as a real matrix, first column real part, second
+column imaginary part.
+
+Only valid if moiety conversion is enabled.
+
+Note, only valid for pure reaction kinetics models (no rate rules, no floating species rules and
+time invariant stoichiometry).
+
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getFullJacobian "
+RoadRunner.getFullJacobian()
+
+Compute the full Jacobian at the current operating point.
+
+This is the Jacobian of ONLY the floating species.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getReducedJacobian "
+RoadRunner.getReducedJacobian()
+
+Returns the *reduced* Jacobian for the independent species. This matrix will be non-singular
+for models that include moiety-conserved cycles.
+
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getScaledConcentrationControlCoefficientMatrix "
+RoadRunner.getScaledConcentrationControlCoefficientMatrix()
+
+Returns the m by n matrix of scaled concentration control coefficients where m is the number
+of floating species and n the number of reactions.
+
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getScaledFloatingSpeciesElasticity "
+RoadRunner.getScaledFloatingSpeciesElasticity(reactionId, speciesId)
+
+Returns the scaled elasticity for a given reaction and given species.
+
+:param str reactionId: the SBML id of a reaction.
+:param str speciesId: the SBML id of a species.
+:rtype: double
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getUnscaledParameterElasticity "
+RoadRunner.getUnscaledParameterElasticity(reactionId, parameterId)
+
+ Returns the unscaled elasticity for a named reaction with respect to a
+ named parameter
+
+:param str reactionId: the SBML id of a reaction.
+:param str parameterId: the SBML id of a parameter.
+:rtype: double
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getUnscaledConcentrationControlCoefficientMatrix "
+RoadRunner.getUnscaledConcentrationControlCoefficientMatrix()
+
+Returns the unscaled concentration control coefficient matrix.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getUnscaledElasticityMatrix "
+RoadRunner.getUnscaledElasticityMatrix()
+
+Returns the unscaled species elasticity matrix at the current operating point.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getUnscaledFluxControlCoefficientMatrix "
+RoadRunner.getUnscaledFluxControlCoefficientMatrix()
+
+Returns the unscaled flux control coefficient matrix.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getUnscaledSpeciesElasticity "
+RoadRunner.getUnscaledSpeciesElasticity(reactionIndx, speciesIndx)
+
+Get a single species elasticity value.
+
+
+:param int reactionIndx: index of reaction
+:param int speciesIndx: index of species.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getScaledFluxControlCoefficientMatrix "
+RoadRunner.getScaledFluxControlCoefficientMatrix()
+
+Returns the n by n matrix of scaled flux control coefficients where n is the number of reactions.
+
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getScaledElasticityMatrix "
+RoadRunner.getScaledElasticityMatrix()
+
+Returns the scaled elasticity matrix at the current operating point.
+
+:rtype: numpy.ndarray
+
+
+Stochiometric Analysis
+----------------------
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getFullStoichiometryMatrix "
+RoadRunner.getFullStoichiometryMatrix()
+
+
+Get the stoichiometry matrix that coresponds to the full model, even it
+it was converted via conservation conversion.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getReducedStoichiometryMatrix "
+RoadRunner.getReducedStoichiometryMatrix()
+
+get the reduced stochiometry matrix. If conservation conversion is enabled,
+this is the matrix that coresponds to the independent species.
+
+A synonym for getNrMatrix().
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getConservationMatrix "
+RoadRunner.getConservationMatrix()
+
+Returns a conservation matrix :math:`\\\\Gamma` which is a :math:`c \\\\times m` matrix
+where :math:`c` is the number of conservation laws and :math:`m` the number of species.
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getL0Matrix "
+RoadRunner.getL0Matrix()
+
+Returns the L0 matrix for the current model. The L0 matrix is an (m-r) by r matrix that expresses
+the dependent reaction rates in terms of the independent rates. m is the number of floating species
+and r is the rank of the stoichiometry matrix.
+
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getLinkMatrix "
+RoadRunner.getLinkMatrix()
+
+Returns the full link matrix, L for the current model. The Link matrix is an m by r matrix where m
+is the number of floating species and r the rank of the stoichiometric matrix, N.
+
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getNrMatrix "
+RoadRunner.getNrMatrix()
+
+Returns the reduced stoichiometry matrix, :math:`N_R`, which will have only r rows where r is the rank of
+the full stoichiometry matrix. The matrix will be reordered such that the rows of :math:`N_R` are independent.
+
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getKMatrix "
+RoadRunner.getKMatrix()
+
+Returns the K matrix, :math:`ker(N_R)`, (right nullspace of Nr)
+The K matrix has the structure, :math:`[I K0]'`
+
+:rtype: numpy.ndarray
+
+
+Analysis
+--------
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getFrequencyResponse "
+RoadRunner.getFrequencyResponse(startFrequency, numberOfDecades, numberOfPoints, parameterName, variableName, useDB, useHz)
+
+Compute the frequency response
+
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::RoadRunner::getSupportedIdTypes "
+RoadRunner.getSupportedIdTypes()
+
+Returns a bitfield representing the element ID types which can be used with e.g.
+RoadRunner.getValue
+
+:rtype: numpy.ndarray
+";
+
+
+
+%feature("docstring") rr::SelectionRecord "
+SelectionRecord.__init__(str)
+Create a new selection record. This constructor really should not be called,
+SelectionRecords should be created by the RoadRunner.createSelection
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::TIME "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::CONCENTRATION "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::AMOUNT "
+
+species must have either a CONCENTRATION or AMOUNT
+modifer to distinguish it.
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::RATE "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::BOUNDARY "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::FLOATING "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::REACTION "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::INITIAL "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::CURRENT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::UNSCALED "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::ELASTICITY "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::CONTROL "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::EIGENVALUE "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::ELEMENT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::STOICHIOMETRY "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::UNKNOWN "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::DEPENDENT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::INDEPENDENT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::CONSREVED_MOIETY "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::UNKNOWN_CONCENTRATION "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::COMPARTMENT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::GLOBAL_PARAMETER "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::FLOATING_AMOUNT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::BOUNDARY_AMOUNT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::BOUNDARY_CONCENTRATION "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::FLOATING_CONCENTRATION "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::FLOATING_AMOUNT_RATE "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::FLOATING_CONCENTRATION_RATE "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::REACTION_RATE "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::INITIAL_FLOATING_AMOUNT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::INITIAL_FLOATING_CONCENTRATION "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::UNSCALED_ELASTICITY "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::UNSCALED_CONTROL "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::UNKNOWN_ELEMENT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::ALL "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::ALL_INDEPENDENT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::ALL_DEPENDENT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::ALL_INDEPENDENT_AMOUNT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::ALL_DEPENDENT_AMOUNT "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::ALL_INDEPENDENT_CONCENTRATION "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::ALL_DEPENDENT_CONCENTRATION "
+
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::index "
+:annotation: int
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::p1 "
+:annotation: str
+";
+
+
+
+%feature("docstring") rr::SelectionRecord::p2 "
+:annotation: str
+";
+
+
+
+%feature("docstring") rr::SimulateOptions::concentrations "
+
+
+A list of the variable whose output in the results file is in concentration
+(not amount) units. This list of variables must be a subset of the names
+listed in variables.
+";
+
+
+
+%feature("docstring") rr::SimulateOptions::duration "
+
+
+The duration of the simulation run, in the model's units of time. Note,
+setting the duration automatically sets the end time and visa versa.
+";
+
+
+
+%feature("docstring") rr::SimulateOptions::end "
+
+
+The simulation end time. Note, setting the end time automatically sets the
+duration accordingly and visa versa.
+";
+
+
+
+%feature("docstring") rr::SimulateOptions::flags "
+
+
+can be set to ResetModel so that the model is reset to its initial state
+when the simulation is run.
+";
+
+
+
+%feature("docstring") rr::SimulateOptions::variables "
+
+
+The variables (in addition to time) whose values will be saved in the result.
+These are SBML model id's. Order is significant, as this determines the order
+of the columns in the result matrix.
+
+Important: if a symbol in this list refers to a species in the model,
+then that symbol should also be listed in either the amount or concentration
+lists below. If a species symbol is listed in variables, but is not listed
+in either amounts or concentrations, then it defaults to an amount value.
+
+The ordering of the symbols in variable is what determines the output
+ordering. The order of symbols in either amounts or concentrations do not
+effect the output ordering.
+
+NOTE:If a listed variable has two underscores in it ('__'), that variable
+is actually present only in a submodel of the main model, from the
+Hierarchical Model Composition package, in the format submodelID__variableID.
+If the model is flattened, the variable will appear automatically.
+";
+
+
+
+%feature("docstring") rr::LoadSBMLOptions::conservedMoieties "
+:annotation: bool
+
+perform conservation analysis.
+
+This causes a re-ordering of the species, so results generated
+with this flag enabled can not be compared index wise to results
+generated otherwise.
+
+Moiety conservation is only compatable with simple models which do NOT have any events or rules
+which define or alter any floating species, and which have simple constant stiochiometries.
+";
+
+
+
+%feature("docstring") rr::LoadSBMLOptions::mutableInitialConditions "
+:annotation: bool
+
+Generate accessor functions to allow changing of initial
+conditions.
+";
+
+
+
+%feature("docstring") rr::LoadSBMLOptions::noDefaultSelections "
+:annotation: bool
+
+Do not create a default selection list when the model is loaded.
+";
+
+
+
+%feature("docstring") rr::LoadSBMLOptions::readOnly "
+:annotation: bool
+
+Should the model be recompiled?
+The LLVM ModelGenerator maintins a hash table of currently running
+models. If this flag is NOT set, then the generator will look to see
+if there is already a running instance of the given model and
+use the generated code from that one.
+
+If only a single instance of a model is run, there is no
+need to cache the models, and this can safetly be enabled,
+realizing some performance gains.
+";
+
+
+
+%feature("docstring") rr::LoadSBMLOptions::recompile "
+:annotation: bool
+
+If this is set, then a read-only model is generated. A read-only
+model can be simulated, but no code is generated to set model
+values, i.e. parameters, amounts, values, etc...
+
+It takes a finite amount of time to generate the model value setting
+functions, and if they are not needed, one may see some performance
+gains, especially in very large models.
+";
+
+
+
+%feature("docstring") rr::Logger::LOG_CURRENT "
+
+Use the current level -- don't change the level from what it is.
+";
+
+
+
+%feature("docstring") rr::Logger::LOG_FATAL "
+
+A fatal error. The application will most likely terminate. This is the highest priority.
+";
+
+
+
+%feature("docstring") rr::Logger::LOG_CRITICAL "
+
+A critical error. The application might not be able to continue running successfully.
+";
+
+
+
+%feature("docstring") rr::Logger::LOG_ERROR "
+
+An error. An operation did not complete successfully, but the application as a whole is not affected.
+";
+
+
+
+%feature("docstring") rr::Logger::LOG_WARNING "
+
+A warning. An operation completed with an unexpected result.
+";
+
+
+
+%feature("docstring") rr::Logger::LOG_NOTICE "
+
+A notice, which is an information with just a higher priority.
+";
+
+
+
+%feature("docstring") rr::Logger::LOG_INFORMATION "
+
+An informational message, usually denoting the successful completion of an operation.
+";
+
+
+
+%feature("docstring") rr::Logger::LOG_DEBUG "
+
+A debugging message.
+";
+
+
+
+%feature("docstring") rr::Logger::LOG_TRACE "
+
+A tracing message. This is the lowest priority.
+
+Logging Methods
+---------------
+";
+
+
+
+%feature("docstring") rr::Logger::setLevel "
+Logger.setLevel([level])
+
+sets the logging level to one a value from Logger::Level
+
+:param int level: the level to set, defaults to LOG_CURRENT if none is specified.
+";
+
+
+
+%feature("docstring") rr::Logger::getLevel "
+Logger.getLevel()
+
+get the current logging level.
+";
+
+
+
+%feature("docstring") rr::Logger::disableLogging "
+Logger.disableLogging()
+
+Suppresses all logging output
+";
+
+
+
+%feature("docstring") rr::Logger::disableConsoleLogging "
+Logger.disableConsoleLogging()
+
+stops logging to the console, but file logging may continue.
+";
+
+
+
+%feature("docstring") rr::Logger::enableConsoleLogging "
+Logger.enableConsoleLogging(level)
+
+turns on console logging (stderr) at the given level.
+
+:param level: A logging level, one of the above listed LOG_* levels.
+";
+
+
+
+%feature("docstring") rr::Logger::enableFileLogging "
+Logger.enableFileLogging(fileName, [level])
+
+turns on file logging to the given file as the given level.
+
+:param str fileName: the path of a file to log to.
+:param level: (optional) the logging level, defaults to LOG_CURRENT.
+";
+
+
+
+%feature("docstring") rr::Logger::disableFileLogging "
+Logger.disableFileLogging()
+
+turns off file logging, but has no effect on console logging.
+";
+
+
+
+%feature("docstring") rr::Logger::getCurrentLevelAsString "
+Logger.getCurrentLevelAsString()
+
+get the textural form of the current logging level.
+";
+
+
+
+%feature("docstring") rr::Logger::getFileName "
+Logger.getFileName()
+
+get the name of the currently used log file.
+";
+
+
+
+%feature("docstring") rr::Logger::setFormattingPattern "
+Logger.setFormattingPattern(format)
+
+Internally, RoadRunner uses the Poco logging framework, so we
+can custom format logging output based on a formatting pattern
+string.
+
+The format pattern is used as a template to format the message and
+is copied character by character except for the following special characters,
+which are replaced by the corresponding value.
+
+An example pattern of \"%Y-%m-%d %H:%M:%S %p: %t\" set via::
+
+  roadrunner.Logger.setFormattingPattern(\"%Y-%m-%d %H:%M:%S %p: %t\")
+
+would produce the following output:
+
+.. image:: logging2.png
+
+|
+
+RoadRunner supports the following format specifiers. These were copied from the Poco documentation:
+
+* %s - message source
+* %t - message text
+* %l - message priority level (1 .. 7)
+* %p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace)
+* %q - abbreviated message priority (F, C, E, W, N, I, D, T)
+* %P - message process identifier
+* %T - message thread name
+* %I - message thread identifier (numeric)
+* %N - node or host name
+* %U - message source file path (empty string if not set)
+* %u - message source line number (0 if not set)
+* %w - message date/time abbreviated weekday (Mon, Tue, ...)
+* %W - message date/time full weekday (Monday, Tuesday, ...)
+* %b - message date/time abbreviated month (Jan, Feb, ...)
+* %B - message date/time full month (January, February, ...)
+* %d - message date/time zero-padded day of month (01 .. 31)
+* %e - message date/time day of month (1 .. 31)
+* %f - message date/time space-padded day of month ( 1 .. 31)
+* %m - message date/time zero-padded month (01 .. 12)
+* %n - message date/time month (1 .. 12)
+* %o - message date/time space-padded month ( 1 .. 12)
+* %y - message date/time year without century (70)
+* %Y - message date/time year with century (1970)
+* %H - message date/time hour (00 .. 23)
+* %h - message date/time hour (00 .. 12)
+* %a - message date/time am/pm
+* %A - message date/time AM/PM
+* %M - message date/time minute (00 .. 59)
+* %S - message date/time second (00 .. 59)
+* %i - message date/time millisecond (000 .. 999)
+* %c - message date/time centisecond (0 .. 9)
+* %F - message date/time fractional seconds/microseconds (000000 - 999999)
+* %z - time zone differential in ISO 8601 format (Z or +NN.NN)
+* %Z - time zone differential in RFC format (GMT or +NNNN)
+* %E - epoch time (UTC, seconds since midnight, January 1, 1970)
+* %[name] - the value of the message parameter with the given name
+* %% - percent sign
+
+:param str format: the logging format string. Must be formatted using the above specifiers.
+";
+
+
+
+%feature("docstring") rr::Logger::getFormattingPattern "
+Logger.getFormattingPattern()
+
+get the currently set formatting pattern.
+";
+
+
+
+%feature("docstring") rr::Logger::levelToString "
+Logger.levelToString(level)
+
+gets the textual form of a logging level Enum for a given value.
+
+:param int level: One of the above listed logging levels.
+";
+
+
+
+%feature("docstring") rr::Logger::stringToLevel "
+Logger.stringToLevel(s)
+
+parses a string and returns a Logger::Level
+
+:param str s: the string to parse.
+";
+
+
+
+%feature("docstring") rr::Logger::getColoredOutput "
+Logger.getColoredOutput()
+
+check if we have colored logging enabled.
+";
+
+
+
+%feature("docstring") rr::Logger::setColoredOutput "
+Logger.setColoredOutput(b)
+
+enable / disable colored output
+
+:param boolean b: turn colored logging on or off
+";
+
+
+
+%feature("docstring") rr::Logger::setProperty "
+Logger.setProperty(name, value)
+
+Set the color of the output logging messages.
+
+In the future, we may add additional properties here.
+
+The following properties are supported:
+
+* enableColors:      Enable or disable colors.
+* traceColor:        Specify color for trace messages.
+* debugColor:        Specify color for debug messages.
+* informationColor:  Specify color for information messages.
+* noticeColor:       Specify color for notice messages.
+* warningColor:      Specify color for warning messages.
+* errorColor:        Specify color for error messages.
+* criticalColor:     Specify color for critical messages.
+* fatalColor:        Specify color for fatal messages.
+
+
+The following color values are supported:
+
+* default
+* black
+* red
+* green
+* brown
+* blue
+* magenta
+* cyan
+* gray
+* darkgray
+* lightRed
+* lightGreen
+* yellow
+* lightBlue
+* lightMagenta
+* lightCyan
+* white
+
+:param str name: the name of the value to set.
+:param str value: the value to set.
+";
+
+
+
+%feature("docstring") rr::Logger::log "
+Logger.log(level, msg)
+
+logs a message to the log.
+
+:param int level: the level to log at.
+:param str msg: the message to log.
+";
+
+
+
+%feature("docstring") rr::Config::setValue "
+Config.setValue(key, value)
+
+Set the value of a configuration key. The value must be either a string, integer, double or
+boolean. If one wanted to change the value of the default integrator tolerances, one would::
+
+  from roadrunner import Config
+  Config.setValue(Config.SIMULATEOPTIONS_ABSOLUTE, 3.14e-12)
+  Config.setValue(Config.SIMULATEOPTIONS_RELATIVE, 2.78e-5)
+
+
+Or, other options may be set to Boolean or integer values. To enable an optimization features,
+or to set default simulation time steps::
+
+  Config.setValue(Config.LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_SIMPLIFIER, True)
+  Config.setValue(Config.SIMULATEOPTIONS_STEPS, 100)
+";
+
+
+
+%feature("docstring") rr::Config::getConfigFilePath "
+Config.getConfigFilePath()
+
+If roadrunner was able to find a configuration file on the file system, its full path is returned
+here. If no file was found, this returns a empty string.
+";
+
+
+
+%feature("docstring") rr::Config::readConfigFile "
+Config.readConfigFile(path)
+
+Read all of the values from a configuration file at the given path. This overrides any previously
+stored configuration. This allows users to have any number of configuration files and load them
+at any time. Say someone had to use Windows, and they had a file in thier C: drive, this would be
+loaded via::
+
+  Config.readConfigFile(\"C:/my_config_file.txt\")
+
+Note, the forward slash works on both Unix and Windows, using the forward slash eliminates the
+need to use a double back slash, \"\\\\\\\\\\\\\\\\\".
+";
+
+
+
+%feature("docstring") rr::Config::writeConfigFile "
+Config.writeConfigFile(path)
+
+Write all of the current configuration values to a file. This could be written to one of the
+default locations, or to any other location, and re-loaded at a later time.
+
+
+
+Available Configuration Parameters
+----------------------------------
+All of the configuration parameter keys are static attributes of the Config class and are listed
+here. The variable type of the parameter is listed after the key name.
+";
+
+
+
+%feature("docstring") rr::Config::LOADSBMLOPTIONS_CONSERVED_MOIETIES "
+:annotation: bool
+
+perform conservation analysis.
+
+This causes a re-ordering of the species, so results generated
+with this flag enabled can not be compared index wise to results
+generated otherwise.
+
+Moiety conservation is only compatable with simple models which do NOT have any events or rules
+which define or alter any floating species, and which have simple constant stoichiometries.
+
+Moiety conservation may cause unexpected results, be aware of what it is before enableing.
+
+Not recommended for time series simulations.
+";
+
+
+
+%feature("docstring") rr::Config::LOADSBMLOPTIONS_RECOMPILE "
+:annotation: bool
+
+Should the model be recompiled?
+The LLVM ModelGenerator maintains a hash table of currently running
+models. If this flag is NOT set, then the generator will look to see
+if there is already a running instance of the given model and
+use the generated code from that one.
+
+If only a single instance of a model is run, there is no
+need to cache the models, and this can safely be enabled,
+realizing some performance gains.
+";
+
+
+
+%feature("docstring") rr::Config::LOADSBMLOPTIONS_READ_ONLY "
+:annotation: bool
+
+If this is set, then a read-only model is generated. A read-only
+model can be simulated, but no code is generated to set model
+values, i.e. parameters, amounts, values, etc...
+
+It takes a finite amount of time to generate the model value setting
+functions, and if they are not needed, one may see some performance
+gains, especially in very large models.
+";
+
+
+
+%feature("docstring") rr::Config::LOADSBMLOPTIONS_MUTABLE_INITIAL_CONDITIONS "
+:annotation: bool
+
+Generate accessors functions to allow changing of initial
+conditions.
+";
+
+
+
+%feature("docstring") rr::Config::LOADSBMLOPTIONS_OPTIMIZE_GVN "
+:annotation: bool
+
+GVN - This pass performs global value numbering and redundant load
+elimination cotemporaneously.
+";
+
+
+
+%feature("docstring") rr::Config::LOADSBMLOPTIONS_OPTIMIZE_CFG_SIMPLIFICATION "
+:annotation: bool
+
+CFGSimplification - Merge basic blocks, eliminate unreachable blocks,
+simplify terminator instructions, etc...
+";
+
+
+
+%feature("docstring") rr::Config::LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_COMBINING "
+:annotation: bool
+
+InstructionCombining - Combine instructions to form fewer, simple
+instructions. This pass does not modify the CFG, and has a tendency to make
+instructions dead, so a subsequent DCE pass is useful.
+";
+
+
+
+%feature("docstring") rr::Config::LOADSBMLOPTIONS_OPTIMIZE_DEAD_INST_ELIMINATION "
+:annotation: bool
+
+DeadInstElimination - This pass quickly removes trivially dead instructions
+without modifying the CFG of the function.  It is a BasicBlockPass, so it
+runs efficiently when queued next to other BasicBlockPass's.
+";
+
+
+
+%feature("docstring") rr::Config::LOADSBMLOPTIONS_OPTIMIZE_DEAD_CODE_ELIMINATION "
+:annotation: bool
+
+DeadCodeElimination - This pass is more powerful than DeadInstElimination,
+because it is worklist driven that can potentially revisit instructions when
+their other instructions become dead, to eliminate chains of dead
+computations.
+";
+
+
+
+%feature("docstring") rr::Config::LOADSBMLOPTIONS_OPTIMIZE_INSTRUCTION_SIMPLIFIER "
+:annotation: bool
+
+
+InstructionSimplifier - Remove redundant instructions.
+";
+
+
+
+%feature("docstring") rr::Config::LOADSBMLOPTIONS_USE_MCJIT "
+:annotation: bool
+
+Currently disabled.
+
+Use the LLVM MCJIT JIT engine.
+
+Defaults to false.
+
+The MCJIT is the new LLVM JIT engine, it is not as well tested as the
+original JIT engine. Does NOT work on LLVM 3.1
+";
+
+
+
+%feature("docstring") rr::Config::SIMULATEOPTIONS_STEPS "
+:annotation: int
+
+The number of steps at which the output is sampled. The samples are evenly spaced.
+When a simulation system calculates the data points to record, it will typically
+divide the duration by the number of time steps. Thus, for N steps, the output
+will have N+1 data rows.
+";
+
+
+
+%feature("docstring") rr::Config::SIMULATEOPTIONS_DURATION "
+:annotation: double
+
+The duration of the simulation run, in the model's units of time. Note,
+setting the duration automatically sets the end time and visa versa.
+";
+
+
+
+%feature("docstring") rr::Config::SIMULATEOPTIONS_ABSOLUTE "
+:annotation: double
+
+The absolute error tolerance used by the integrator.
+
+A number representing the absolute difference permitted for the integrator
+tolerance. Defaults to 1.000000e-10.
+";
+
+
+
+%feature("docstring") rr::Config::SIMULATEOPTIONS_RELATIVE "
+:annotation: double
+
+The relative error tolerance used by the integrator.
+
+A float-point number representing the relative difference permitted.
+Defaults to 1.000000e-05.
+";
+
+
+
+%feature("docstring") rr::Config::SIMULATEOPTIONS_STRUCTURED_RESULT "
+:annotation: bool
+
+A boolean option to return a structured array from the RoadRunner.simulate method. Structured
+arrays contain column names and other data. A structured array needs to be converted into regular
+arrays before they can be used in numpy functions.
+";
+
+
+
+%feature("docstring") rr::Config::SIMULATEOPTIONS_STIFF "
+:annotation: bool
+
+Is the model a stiff system? setting this to stiff causes
+RoadRunner to load a stiff solver which could potentially be
+extremly slow
+";
+
+
+
+%feature("docstring") rr::Config::SIMULATEOPTIONS_MULTI_STEP "
+:annotation: bool
+
+The MULTI_STEP option tells the solver to take a series of internal steps
+and then return the solution at the point reached by that step.
+
+In simulate, this option will likely be slower than normal mode,
+but may be useful to monitor solutions as they are integrated.
+
+This is intended to be used in combination with the
+IntegratorListener. It this option is set, and there is a
+IntegratorListener set, RoadRunner::integrate will run the
+integrator in a series of internal steps, and the listner
+will by notified at each step.
+
+Highly Experimental!!!
+";
+
+
+
+%feature("docstring") rr::Config::SIMULATEOPTIONS_INITIAL_TIMESTEP "
+:annotation: double
+
+A user specified initial time step. If this is <=  0, the integrator
+will attempt to determine a safe initial time step.
+
+Note, for each number of steps given to RoadRunner::simulate or RoadRunner::oneStep,
+the internal integrator may take many many steps to reach one of the external time
+steps. This value specifies an initial value for the internal integrator
+time step.
+";
+
+
+
+%feature("docstring") rr::Config::SIMULATEOPTIONS_MINIMUM_TIMESTEP "
+:annotation: double
+
+Specify The Minimum Time Step That The Internal Integrator
+Will Use. Uses Integrator Estimated Value If <= 0.
+";
+
+
+
+%feature("docstring") rr::Config::SIMULATEOPTIONS_MAXIMUM_NUM_STEPS "
+:annotation: int
+
+Specify The Maximum Number Of Steps The Internal Integrator Will Use
+Before Reaching The User Specified Time Span. Uses The Integrator
+Default Value If <= 0.
+";
+
+
+
+%feature("docstring") rr::Config::ROADRUNNER_DISABLE_PYTHON_DYNAMIC_PROPERTIES "
+:annotation: int
+
+RoadRunner by default dynamically generates accessors properties
+for all SBML symbol names on the model object when it is retrieved
+in Python. This feature is very nice for interactive use, but
+can slow things down. If this feature is not needed, it
+can be disabled here.
+";
+
+
+
+%feature("docstring") rr::Config::ROADRUNNER_DISABLE_WARNINGS "
+:annotation: int
+
+disable SBML conserved moiety warnings.
+
+Conserved Moiety Conversion may cause unexpected behavior, be aware of what it
+is before enabling.
+
+RoadRunner will issue a warning in steadyState if conservedMoieties are NOT
+enabled because of a potential singular Jacobian. To disable this warning,
+set this value to 1
+
+A notice will be issued whenever a document is loaded and conserved moieties
+are enabled. To disable this notice, set this value to 2.
+
+To disable both the warning and notice, set this value to 3
+
+Rationale for these numbers: This is actual a bit field, disabling the steady state
+warning value is actually 0b01 << 0 which is 1, and the loading warning is 0b01 << 1
+which is 2 and 0b01 & 0b10 is 0b11 which is 3 in decimal.
+";
+
+
+
+%feature("docstring") rr::PyConservedMoietyConverter::setDocument "
+PyConservedMoietyConverter.setDocument(sbmlOrURI)
+
+Sets the source document. This may be either the contents of an sbml docment
+as a string, or the path the the file.
+
+:param str sbmlOrURI: contents or path of source document
+:returns: an integer indicating success or failure, 0 means success.
+:rtype: int
+";
+
+
+
+%feature("docstring") rr::PyConservedMoietyConverter::convert "
+PyConservedMoietyConverter.convert()
+
+Perform the document conversion.
+
+:returns: an integer indicating success or failure, 0 means success.
+:rtype: int
+";
+
+
+
+%feature("docstring") rr::PyConservedMoietyConverter::getDocument "
+PyConservedMoietyConverter.getDocument()
+
+Get the converted document contents.
+
+:returns: The contents of the converted document, or empty string
+          if there is no source document.
+";
+
+
+
diff --git a/wrappers/Python/roadrunner/stochastic/__init__.py b/wrappers/Python/roadrunner/stochastic/__init__.py
new file mode 100644
index 0000000..28668f2
--- /dev/null
+++ b/wrappers/Python/roadrunner/stochastic/__init__.py
@@ -0,0 +1 @@
+from ensemble import ensemble
diff --git a/wrappers/Python/roadrunner/stochastic/ensemble.py b/wrappers/Python/roadrunner/stochastic/ensemble.py
new file mode 100644
index 0000000..ffc4630
--- /dev/null
+++ b/wrappers/Python/roadrunner/stochastic/ensemble.py
@@ -0,0 +1,192 @@
+import time
+import random
+
+
+from roadrunner import RoadRunner, Logger
+import numpy as n
+import os
+import sys
+import random
+from multiprocessing import Process, Queue, cpu_count
+
+def test():
+    src = '/Users/andy/Library/Python/2.7/lib/python/site-packages/roadrunner/testing/dsmts/dsmts-003-01.xml'
+    simArgs = (0, 100, 50)
+    simKWArgs = {'integrator':'gillespie', 'reset':True}
+
+    # need one less because of queue
+    n =  2**15 - cpu_count() - 2
+
+
+    return ensemble(src, n, None, *simArgs, **simKWArgs)
+
+
+def ensemble(src, ensembles, seeds=None, *sim_args, **sim_kwargs):
+    """Run an ensemble simulation in parallel. 
+
+    Args:
+        src: an sbml string or file name.
+
+        ensembles: how many ensembles to run, at the moment, limited to 2**15
+
+        seeds: an optional list of seeds to use. If not given, random seeds
+               are assigned to each simulation. 
+
+        *args: the arguments that are passed to RoadRunner.simulate
+    
+        **kwargs: the keyword arguments that are passed to RoadRunner.simulate
+
+    Returns:
+        A tuple containing the mean and std matricies. 
+
+    """
+
+    import time
+
+    start = time.time()
+
+    # parent process will run statistics, but stats are
+    # very minimal, so better perf using all processors.
+    CPU_COUNT = cpu_count() 
+
+    # the multiprocessing queue has a limit of 2^15 
+    # on many platforms.
+    MAX_SIZE = 2**15 - CPU_COUNT
+
+
+    # Create queues
+    seedQ = Queue()
+    results = Queue()
+
+    # Submit tasks
+    print("creating {} tasks".format(ensembles))
+    
+    if seeds is None:
+        for _ in xrange(ensembles):
+            seedQ.put(random.randint(0, 2**31 - 1))
+    else:
+        for i in xrange(ensembles):
+            seedQ.put(seeds[i])
+        
+
+    #insert setinals
+    for i in xrange(CPU_COUNT):
+        seedQ.put(None)
+        
+
+    print("creating worker processes...")
+
+    # Start worker processes
+    for i in range(CPU_COUNT):
+        Process(target=_worker, \
+                args=(src, seedQ, results, sim_args, sim_kwargs)).start()
+
+    print('done creating  processes')
+
+    # stdev and mean matricies
+    # need to wait until first result to know size
+    stdev = None
+    mean = None
+
+    # Get and print results
+    print 'Unordered results:'
+    for i in range(ensembles):
+
+        res = results.get()
+
+        if stdev is None or mean is None:
+            mean = n.zeros(res.shape)
+            stdev = n.zeros(res.shape)  
+
+            # time column
+            mean[:,0] = res[:,0]
+            stdev[:,0] = res[:,0]
+
+        # add the data columns to mean
+        mean[:,1:] += res[:,1:]
+
+        # square the result data, and add to 
+        # stdev, we want sqrt(|x^2| - |x|^2)
+        stdev[:,1:] += (res[:,1:])**2
+
+
+    # divide by num processes to get expectation of x
+    # and expectation of X^2
+    mean[:,1:] = mean[:,1:] / ensembles
+    stdev[:,1:] = stdev[:,1:] / ensembles
+
+    stdev [:,1:] = n.sqrt(stdev[:,1:] - (mean[:,1:])**2)
+
+
+    # all done with simulations
+    print("performed {} simulations in {} seconds".format(ensembles, time.time() - start))
+
+    import matplotlib.pyplot as p
+
+
+    time = mean[:,0]
+
+    for i in xrange(1, mean.shape[1]):
+        print("i: " + str(i))
+        p.plot(time, mean[:,i])
+        p.errorbar(time, mean[:,i], yerr=stdev[:,i], marker='o')
+
+
+    p.show()
+
+    return (mean, stdev)
+        
+#
+# Function run by worker processes
+#
+def _worker(src, seeds, results, sim_args, sim_kwargs):
+    # create a rr obj
+
+    print("starting worker processes: " + str(os.getpid()))
+
+    n = 0;
+
+          
+    r = RoadRunner(src);
+
+    # remove and apply the selections 
+    # no sense in re-evaluating selection list each time.
+    if 'sel' in sim_kwargs:
+        r.selections = sim_kwargs['sel']
+        del sim_kwargs['sel']
+
+    if 'selections' in sim_kwargs:
+        r.selections = sim_kwargs['selections']
+        del sim_kwargs['selections']
+
+
+    # might have forgot to reset sim, 
+    # default is to reset sim between each simulation.
+    if not 'reset' in sim_kwargs:
+        Logger.log(Logger.LOG_WARNING, 
+                   "simulate args missing reset, defaulting to reset between simulations")
+        sim_kwargs['reset'] = True
+
+    # read until None, 
+    # blocks if queue is empty
+    for seed in iter(seeds.get, None):
+        sim_kwargs['seed'] = seed
+        result = r.simulate(*sim_args, **sim_kwargs)
+        results.put(result)
+        n += 1
+
+    print("process {} finished with {} simulations".format(os.getpid(), n))
+
+
+
+
+
+if __name__ == '__main__':
+    mean, stdev = test()
+
+    print("mean: ")
+    print(mean)
+
+    print("stdev: ")
+    print(stdev)
+
diff --git a/wrappers/Python/roadrunner/testing/EcoliCore.xml b/wrappers/Python/roadrunner/testing/EcoliCore.xml
new file mode 100644
index 0000000..aaa629f
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/EcoliCore.xml
@@ -0,0 +1,2255 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" version="1" xmlns:html="http://www.w3.org/1999/xhtml">
+<model id="Ec_core" name="Ec_core">
+<listOfUnitDefinitions>
+	<unitDefinition id="mmol_per_gDW_per_hr">
+		<listOfUnits>
+			<unit kind="mole" scale="-3"/>
+			<unit kind="gram" exponent="-1"/>
+			<unit kind="second" multiplier=".00027777" exponent="-1"/>
+		</listOfUnits>
+	</unitDefinition>
+</listOfUnitDefinitions>
+<listOfCompartments>
+	<compartment id="Extra_organism"/>
+	<compartment id="Cytosol" outside="Extra_organism"/>
+</listOfCompartments>
+<listOfSpecies>
+	<species id="M_13dpg_c" name="M_3_Phospho_D_glyceroyl_phosphate_C3H4O10P2" compartment="Cytosol" charge="-4" boundaryCondition="false"/>
+	<species id="M_2pg_c" name="M_D_Glycerate_2_phosphate_C3H4O7P" compartment="Cytosol" charge="-3" boundaryCondition="false"/>
+	<species id="M_3pg_c" name="M_3_Phospho_D_glycerate_C3H4O7P" compartment="Cytosol" charge="-3" boundaryCondition="false"/>
+	<species id="M_6pgc_c" name="M_6_Phospho_D_gluconate_C6H10O10P" compartment="Cytosol" charge="-3" boundaryCondition="false"/>
+	<species id="M_6pgl_c" name="M_6_phospho_D_glucono_1_5_lactone_C6H9O9P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_ac_c" name="M_Acetate_C2H3O2" compartment="Cytosol" charge="-1" boundaryCondition="false"/>
+	<species id="M_ac_e" name="M_Acetate_C2H3O2" compartment="Extra_organism" charge="-1" boundaryCondition="false"/>
+	<species id="M_accoa_c" name="M_Acetyl_CoA_C23H34N7O17P3S" compartment="Cytosol" charge="-4" boundaryCondition="false"/>
+	<species id="M_actp_c" name="M_Acetyl_phosphate_C2H3O5P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_adp_c" name="M_ADP_C10H12N5O10P2" compartment="Cytosol" charge="-3" boundaryCondition="false"/>
+	<species id="M_akg_c" name="M_2_Oxoglutarate_C5H4O5" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_akg_e" name="M_2_Oxoglutarate_C5H4O5" compartment="Extra_organism" charge="-2" boundaryCondition="false"/>
+	<species id="M_amp_c" name="M_AMP_C10H12N5O7P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_atp_c" name="M_ATP_C10H12N5O13P3" compartment="Cytosol" charge="-4" boundaryCondition="false"/>
+	<species id="M_cit_c" name="M_Citrate_C6H5O7" compartment="Cytosol" charge="-3" boundaryCondition="false"/>
+	<species id="M_co2_c" name="M_CO2_CO2" compartment="Cytosol" charge="0" boundaryCondition="false"/>
+	<species id="M_co2_e" name="M_CO2_CO2" compartment="Extra_organism" charge="0" boundaryCondition="false"/>
+	<species id="M_coa_c" name="M_Coenzyme_A_C21H32N7O16P3S" compartment="Cytosol" charge="-4" boundaryCondition="false"/>
+	<species id="M_dhap_c" name="M_Dihydroxyacetone_phosphate_C3H5O6P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_e4p_c" name="M_D_Erythrose_4_phosphate_C4H7O7P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_etoh_c" name="M_Ethanol_C2H6O" compartment="Cytosol" charge="0" boundaryCondition="false"/>
+	<species id="M_etoh_e" name="M_Ethanol_C2H6O" compartment="Extra_organism" charge="0" boundaryCondition="false"/>
+	<species id="M_f6p_c" name="M_D_Fructose_6_phosphate_C6H11O9P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_fad_c" name="M_Flavin_adenine_dinucleotide_oxidized_C27H31N9O15P2" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_fadh2_c" name="M_Flavin_adenine_dinucleotide_reduced_C27H33N9O15P2" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_fdp_c" name="M_D_Fructose_1_6_bisphosphate_C6H10O12P2" compartment="Cytosol" charge="-4" boundaryCondition="false"/>
+	<species id="M_for_c" name="M_Formate_CH1O2" compartment="Cytosol" charge="-1" boundaryCondition="false"/>
+	<species id="M_for_e" name="M_Formate_CH1O2" compartment="Extra_organism" charge="-1" boundaryCondition="false"/>
+	<species id="M_fum_c" name="M_Fumarate_C4H2O4" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_fum_e" name="M_Fumarate_C4H2O4" compartment="Extra_organism" charge="-2" boundaryCondition="false"/>
+	<species id="M_g3p_c" name="M_Glyceraldehyde_3_phosphate_C3H5O6P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_g6p_c" name="M_D_Glucose_6_phosphate_C6H11O9P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_glc_D_e" name="M_D_Glucose_C6H12O6" compartment="Extra_organism" charge="0" boundaryCondition="false"/>
+	<species id="M_glx_c" name="M_Glyoxylate_C2H1O3" compartment="Cytosol" charge="-1" boundaryCondition="false"/>
+	<species id="M_h2o_c" name="M_H2O_H2O" compartment="Cytosol" charge="0" boundaryCondition="false"/>
+	<species id="M_h2o_e" name="M_H2O_H2O" compartment="Extra_organism" charge="0" boundaryCondition="false"/>
+	<species id="M_h_c" name="M_H_H" compartment="Cytosol" charge="1" boundaryCondition="false"/>
+	<species id="M_h_e" name="M_H_H" compartment="Extra_organism" charge="1" boundaryCondition="false"/>
+	<species id="M_icit_c" name="M_Isocitrate_C6H5O7" compartment="Cytosol" charge="-3" boundaryCondition="false"/>
+	<species id="M_lac_D_c" name="M_D_Lactate_C3H5O3" compartment="Cytosol" charge="-1" boundaryCondition="false"/>
+	<species id="M_lac_D_e" name="M_D_Lactate_C3H5O3" compartment="Extra_organism" charge="-1" boundaryCondition="false"/>
+	<species id="M_mal_L_c" name="M_L_Malate_C4H4O5" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_nad_c" name="M_Nicotinamide_adenine_dinucleotide_C21H26N7O14P2" compartment="Cytosol" charge="-1" boundaryCondition="false"/>
+	<species id="M_nadh_c" name="M_Nicotinamide_adenine_dinucleotide___reduced_C21H27N7O14P2" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_nadp_c" name="M_Nicotinamide_adenine_dinucleotide_phosphate_C21H25N7O17P3" compartment="Cytosol" charge="-3" boundaryCondition="false"/>
+	<species id="M_nadph_c" name="M_Nicotinamide_adenine_dinucleotide_phosphate___reduced_C21H26N7O17P3" compartment="Cytosol" charge="-4" boundaryCondition="false"/>
+	<species id="M_o2_c" name="M_O2_O2" compartment="Cytosol" charge="0" boundaryCondition="false"/>
+	<species id="M_o2_e" name="M_O2_O2" compartment="Extra_organism" charge="0" boundaryCondition="false"/>
+	<species id="M_oaa_c" name="M_Oxaloacetate_C4H2O5" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_pep_c" name="M_Phosphoenolpyruvate_C3H2O6P" compartment="Cytosol" charge="-3" boundaryCondition="false"/>
+	<species id="M_pi_c" name="M_Phosphate_HO4P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_pi_e" name="M_Phosphate_HO4P" compartment="Extra_organism" charge="-2" boundaryCondition="false"/>
+	<species id="M_pyr_c" name="M_Pyruvate_C3H3O3" compartment="Cytosol" charge="-1" boundaryCondition="false"/>
+	<species id="M_pyr_e" name="M_Pyruvate_C3H3O3" compartment="Extra_organism" charge="-1" boundaryCondition="false"/>
+	<species id="M_q8_c" name="M_Ubiquinone_8_C49H74O4" compartment="Cytosol" charge="0" boundaryCondition="false"/>
+	<species id="M_q8h2_c" name="M_Ubiquinol_8_C49H76O4" compartment="Cytosol" charge="0" boundaryCondition="false"/>
+	<species id="M_r5p_c" name="M_alpha_D_Ribose_5_phosphate_C5H9O8P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_ru5p_D_c" name="M_D_Ribulose_5_phosphate_C5H9O8P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_s7p_c" name="M_Sedoheptulose_7_phosphate_C7H13O10P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_succ_c" name="M_Succinate_C4H4O4" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_succ_e" name="M_Succinate_C4H4O4" compartment="Extra_organism" charge="-2" boundaryCondition="false"/>
+	<species id="M_succoa_c" name="M_Succinyl_CoA_C25H35N7O19P3S" compartment="Cytosol" charge="-5" boundaryCondition="false"/>
+	<species id="M_xu5p_D_c" name="M_D_Xylulose_5_phosphate_C5H9O8P" compartment="Cytosol" charge="-2" boundaryCondition="false"/>
+	<species id="M_ac_b" name="M_Acetate_C2H3O2" compartment="Extra_organism" charge="-1" boundaryCondition="true"/>
+	<species id="M_akg_b" name="M_2_Oxoglutarate_C5H4O5" compartment="Extra_organism" charge="-2" boundaryCondition="true"/>
+	<species id="M_co2_b" name="M_CO2_CO2" compartment="Extra_organism" charge="0" boundaryCondition="true"/>
+	<species id="M_etoh_b" name="M_Ethanol_C2H6O" compartment="Extra_organism" charge="0" boundaryCondition="true"/>
+	<species id="M_for_b" name="M_Formate_CH1O2" compartment="Extra_organism" charge="-1" boundaryCondition="true"/>
+	<species id="M_fum_b" name="M_Fumarate_C4H2O4" compartment="Extra_organism" charge="-2" boundaryCondition="true"/>
+	<species id="M_glc_D_b" name="M_D_Glucose_C6H12O6" compartment="Extra_organism" charge="0" boundaryCondition="true"/>
+	<species id="M_h2o_b" name="M_H2O_H2O" compartment="Extra_organism" charge="0" boundaryCondition="true"/>
+	<species id="M_h_b" name="M_H_H" compartment="Extra_organism" charge="1" boundaryCondition="true"/>
+	<species id="M_lac_D_b" name="M_D_Lactate_C3H5O3" compartment="Extra_organism" charge="-1" boundaryCondition="true"/>
+	<species id="M_o2_b" name="M_O2_O2" compartment="Extra_organism" charge="0" boundaryCondition="true"/>
+	<species id="M_pi_b" name="M_Phosphate_HO4P" compartment="Extra_organism" charge="-2" boundaryCondition="true"/>
+	<species id="M_pyr_b" name="M_Pyruvate_C3H3O3" compartment="Extra_organism" charge="-1" boundaryCondition="true"/>
+	<species id="M_succ_b" name="M_Succinate_C4H4O4" compartment="Extra_organism" charge="-2" boundaryCondition="true"/>
+</listOfSpecies>
+<listOfReactions>
+	<reaction id="R_ACKr" name="R_acetate_kinase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b2296</html:p>
+			<html:p>PROTEIN_ASSOCIATION: AckA</html:p>
+			<html:p>SUBSYSTEM: S_Pyruvate_Metabolism</html:p>
+			<html:p>PROTEIN_CLASS: 2.7.2.1</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_ac_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_atp_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_actp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_adp_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ACONT" name="R_aconitase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b0118  or  b1276 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( AcnB ) or ( AcnA )</html:p>
+			<html:p>SUBSYSTEM: S_Citric_Acid_Cycle</html:p>
+			<html:p>PROTEIN_CLASS: 4.2.1.3</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_cit_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_icit_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="6.264896" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ACt2r" name="R_acetate_reversible_transport_via_proton_symport" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_ac_e" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_ac_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ADHEr" name="R_Acetaldehyde_dehydrogenase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b1241</html:p>
+			<html:p>PROTEIN_ASSOCIATION: AdhE</html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_accoa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="2.000000"/>
+			<speciesReference species="M_nadh_c" stoichiometry="2.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_coa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_etoh_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nad_c" stoichiometry="2.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ADK1" name="R_adenylate_kinase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b0474</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Adk</html:p>
+			<html:p>SUBSYSTEM: S_Oxidative_Phosphorylation</html:p>
+			<html:p>PROTEIN_CLASS: 2.7.4.3</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_amp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_atp_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_adp_c" stoichiometry="2.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_AKGDH" name="R_2_Oxogluterate_dehydrogenase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b0116  and  b0726  and  b0727 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: SucA</html:p>
+			<html:p>SUBSYSTEM: S_Citric_Acid_Cycle</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_akg_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_coa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nad_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_co2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadh_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_succoa_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="5.335524" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_AKGt2r" name="R_2_oxoglutarate_reversible_transport_via_symport" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b2587</html:p>
+			<html:p>PROTEIN_ASSOCIATION: KgtPec</html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_akg_e" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_akg_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ATPM" name="R_ATP_maintenance_requirement" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_Oxidative_Phosphorylation</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_atp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_adp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pi_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="7.600000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="7.600000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="7.600000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.005805"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ATPS4r" name="R_ATP_synthase__four_protons_for_one_ATP_" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( ( b3736  and  b3737  and  b3738 )  and  ( b3731  and  b3732  and  b3733  and  b3734  and  b3735 )  and  b3739 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( AtpF0 and AtpF1 and AtpI )</html:p>
+			<html:p>SUBSYSTEM: S_Oxidative_Phosphorylation</html:p>
+			<html:p>PROTEIN_CLASS: 3.6.3.14</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_adp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pi_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_e" stoichiometry="4.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_atp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="3.000000"/>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="39.747017" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_Biomass_Ecoli_core_N__w_GAM_" name="R_core_E_coli_biomass_equation__Neidhardt_Based_with_GAM_" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: </html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_3pg_c" stoichiometry="1.496000"/>
+			<speciesReference species="M_accoa_c" stoichiometry="3.747800"/>
+			<speciesReference species="M_akg_c" stoichiometry="1.078900"/>
+			<speciesReference species="M_atp_c" stoichiometry="55.703000"/>
+			<speciesReference species="M_e4p_c" stoichiometry="0.361000"/>
+			<speciesReference species="M_f6p_c" stoichiometry="0.070900"/>
+			<speciesReference species="M_g3p_c" stoichiometry="0.129000"/>
+			<speciesReference species="M_g6p_c" stoichiometry="0.205000"/>
+			<speciesReference species="M_h2o_c" stoichiometry="55.703000"/>
+			<speciesReference species="M_nad_c" stoichiometry="3.547000"/>
+			<speciesReference species="M_nadph_c" stoichiometry="18.225000"/>
+			<speciesReference species="M_oaa_c" stoichiometry="1.786700"/>
+			<speciesReference species="M_pep_c" stoichiometry="0.519100"/>
+			<speciesReference species="M_pyr_c" stoichiometry="2.832800"/>
+			<speciesReference species="M_r5p_c" stoichiometry="0.897700"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_adp_c" stoichiometry="55.703000"/>
+			<speciesReference species="M_coa_c" stoichiometry="3.747800"/>
+			<speciesReference species="M_h_c" stoichiometry="41.025000"/>
+			<speciesReference species="M_nadh_c" stoichiometry="3.547000"/>
+			<speciesReference species="M_nadp_c" stoichiometry="18.225000"/>
+			<speciesReference species="M_pi_c" stoichiometry="55.703000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="1.000000"/>
+				<parameter id="FLUX_VALUE" value="0.861407" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_CO2t" name="R_CO2_transporter_via_diffusion" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_co2_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_co2_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="-23.342377" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_CS" name="R_citrate_synthase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b0720</html:p>
+			<html:p>PROTEIN_ASSOCIATION: GltA</html:p>
+			<html:p>SUBSYSTEM: S_Citric_Acid_Cycle</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_accoa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_oaa_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_cit_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_coa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="6.264896" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_CYTBD" name="R_cytochrome_oxidase_bd__ubiquinol_8_2_protons_" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b0429  and  b0430  and  b0431  and  b0432 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: CyoA</html:p>
+			<html:p>SUBSYSTEM: S_Oxidative_Phosphorylation</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_h_c" stoichiometry="2.000000"/>
+			<speciesReference species="M_o2_c" stoichiometry="0.500000"/>
+			<speciesReference species="M_q8h2_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_q8_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_e" stoichiometry="2.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="44.693007" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_D_LACt2" name="R_D_lactate_transport_via_proton_symport" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b2975  or  b3603 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( GlcA ) or ( LldP )</html:p>
+			<html:p>SUBSYSTEM: S_Transport__Extracellular</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_h_e" stoichiometry="1.000000"/>
+			<speciesReference species="M_lac_D_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_lac_D_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ENO" name="R_enolase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b2779</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Eno</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: 4.2.1.11</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_2pg_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pep_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="14.849080" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ETOHt2r" name="R_ethanol_reversible_transport_via_proton_symport" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_etoh_e" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_etoh_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_ac_e_" name="R_Acetate_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_ac_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_ac_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.022058"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_akg_e_" name="R_2_Oxoglutarate_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_akg_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_akg_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.061239"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_co2_e_" name="R_CO2_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_co2_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_co2_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="23.342377" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_etoh_e_" name="R_Ethanol_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_etoh_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_etoh_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.038020"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_for_e_" name="R_Formate_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_for_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_for_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_fum_e_" name="R_Fumarate_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_fum_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_fum_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.045276"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_glc_e_" name="R_D_Glucose_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_glc_D_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_glc_D_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-10.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="-10.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.090552"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_h2o_e_" name="R_H2O_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_h2o_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h2o_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="24.920131" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_h_e_" name="R_H_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_h_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="9.112915" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_lac_D_e_" name="R_D_lactate_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_lac_D_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_lac_D_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.039471"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_o2_e_" name="R_O2_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_o2_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_o2_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="-22.346504" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_pi_e_" name="R_Phosphate_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_pi_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_pi_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="-3.168859" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_pyr_e_" name="R_Pyruvate_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_pyr_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_pyr_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.033667"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_EX_succ_e_" name="R_Succinate_exchange" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_succ_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_succ_b" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.049630"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_FBA" name="R_fructose_bisphosphate_aldolase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b2925</html:p>
+			<html:p>PROTEIN_ASSOCIATION: FbaA</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: 4.1.2.13</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_fdp_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_dhap_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_g3p_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="7.570782" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_FBP" name="R_fructose_bisphosphatase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b4232</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Fbp</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: 3.1.3.11</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_fdp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_f6p_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pi_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.005805"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_FORt" name="R_formate_transport_via_diffusion" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b0904</html:p>
+			<html:p>PROTEIN_ASSOCIATION: FocA</html:p>
+			<html:p>SUBSYSTEM: S_Transport__Extracellular</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_for_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_for_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_FRD" name="R_fumarate_reductase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( ( b4151  and  b4152  and  b4153  and  b4154 )  or  b3117 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Frd</html:p>
+			<html:p>SUBSYSTEM: S_Citric_Acid_Cycle</html:p>
+			<html:p>PROTEIN_CLASS: 1.3.99.1</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_fadh2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_fum_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_fad_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_succ_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_FUM" name="R_fumarase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b1612  or  b4122  or  b1611 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( FumA ) or ( FumB ) or ( FumCec )</html:p>
+			<html:p>SUBSYSTEM: S_Citric_Acid_Cycle</html:p>
+			<html:p>PROTEIN_CLASS: 4.2.1.2</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_fum_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_mal_L_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="5.335524" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_FUMt2_2" name="R_Fumarate_transport_via_proton_symport__2_H_" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b3528</html:p>
+			<html:p>PROTEIN_ASSOCIATION: DctA</html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_fum_e" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_e" stoichiometry="2.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_fum_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="2.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_G6PDH2r" name="R_glucose_6_phosphate_dehydrogenase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b1852</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Zwf</html:p>
+			<html:p>SUBSYSTEM: S_Pentose_Phosphate_Pathway</html:p>
+			<html:p>PROTEIN_CLASS: 1.1.1.49</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_g6p_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadp_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_6pgl_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadph_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="4.717127" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_GAPD" name="R_glyceraldehyde_3_phosphate_dehydrogenase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b1779  or  ( b1416  and  b1417 ) )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( GapA ) or ( GapC )</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: 1.2.1.12</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_g3p_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nad_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pi_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_13dpg_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadh_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="16.137745" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_GLCpts" name="R_D_glucose_transport_via_PEPPyr_PTS" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b1101  and  b2415  and  b2416  and  b2417 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Pts</html:p>
+			<html:p>SUBSYSTEM: S_Transport__Extracellular</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_pep_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_glc_D_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_g6p_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pyr_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="10.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_GND" name="R_phosphogluconate_dehydrogenase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b2029</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Gnd</html:p>
+			<html:p>SUBSYSTEM: S_Pentose_Phosphate_Pathway</html:p>
+			<html:p>PROTEIN_CLASS: 1.1.1.44</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_6pgc_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadp_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_co2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadph_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_ru5p_D_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="4.717127" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_H2Ot" name="R_H2O_transport_via_diffusion" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_Transport__Extracellular</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_h2o_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="-24.920131" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ICDHyr" name="R_isocitrate_dehydrogenase__NADP_" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b1136</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Icd</html:p>
+			<html:p>SUBSYSTEM: S_Citric_Acid_Cycle</html:p>
+			<html:p>PROTEIN_CLASS: 1.1.1.42</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_icit_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadp_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_akg_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_co2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadph_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="6.264896" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ICL" name="R_Isocitrate_lyase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b4015</html:p>
+			<html:p>PROTEIN_ASSOCIATION: AceA</html:p>
+			<html:p>SUBSYSTEM: S_Anaplerotic_reactions</html:p>
+			<html:p>PROTEIN_CLASS: 4.1.3.1</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_icit_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_glx_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_succ_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_LDH_D" name="R_D_lactate_dehydrogenase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b1380</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Ldh</html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: 1.1.1.28</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_lac_D_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nad_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadh_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pyr_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_MALS" name="R_malate_synthase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b4014  or  b2976 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( AceB ) or ( GlcB )</html:p>
+			<html:p>SUBSYSTEM: S_Anaplerotic_reactions</html:p>
+			<html:p>PROTEIN_CLASS: 4.1.3.2</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_accoa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_glx_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_coa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_mal_L_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.001741"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_MDH" name="R_malate_dehydrogenase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b3236</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Mdh</html:p>
+			<html:p>SUBSYSTEM: S_Citric_Acid_Cycle</html:p>
+			<html:p>PROTEIN_CLASS: 1.1.1.37</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_mal_L_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nad_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadh_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_oaa_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="5.335524" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ME1" name="R_malic_enzyme__NAD_" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b1479</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Sfc</html:p>
+			<html:p>SUBSYSTEM: S_Anaplerotic_reactions</html:p>
+			<html:p>PROTEIN_CLASS: 1.1.1.38</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_mal_L_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nad_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_co2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadh_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pyr_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.005805"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_ME2" name="R_malic_enzyme__NADP_" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b2463</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Mae</html:p>
+			<html:p>SUBSYSTEM: S_Anaplerotic_reactions</html:p>
+			<html:p>PROTEIN_CLASS: 1.1.1.40</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_mal_L_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadp_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_co2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadph_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pyr_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.004063"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_NADH11" name="R_NADH_dehydrogenase__ubiquinone_8__2_protons_" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b2276  and  b2277  and  b2278  and  b2279  and  b2280  and  b2281  and  b2282  and  b2283  and  b2284  and  b2285  and  b2286  and  b2287  and  b2288 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Nuo</html:p>
+			<html:p>SUBSYSTEM: S_Oxidative_Phosphorylation</html:p>
+			<html:p>PROTEIN_CLASS: 1.6.5.3</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_h_c" stoichiometry="3.000000"/>
+			<speciesReference species="M_nadh_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_q8_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_nad_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_q8h2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_e" stoichiometry="2.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="39.357484" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_NADTRHD" name="R_NAD_transhydrogenase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b1602  and  b1603 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Pnt</html:p>
+			<html:p>SUBSYSTEM: S_Oxidative_Phosphorylation</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_nad_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadph_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_nadh_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadp_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.001741"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_O2t" name="R_o2_transport__diffusion_" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_Transport__Extracellular</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_o2_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_o2_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="22.346504" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PDH" name="R_pyruvate_dehydrogenase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b0114  and  b0115  and  b0116 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: AceE</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_coa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nad_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pyr_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_accoa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_co2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadh_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="9.493279" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PFK" name="R_phosphofructokinase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b3916  or  b1723 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( PfkA ) or ( PfkB )</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: 2.7.1.11</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_atp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_f6p_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_adp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_fdp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="7.570782" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PFL" name="R_pyruvate_formate_lyase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b3951  and  b3952 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: PflC</html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_coa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pyr_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_accoa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_for_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.007256"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PGI" name="R_glucose_6_phosphate_isomerase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b4025</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Pgi</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: 5.3.1.9</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_g6p_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_f6p_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="5.106285" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PGK" name="R_phosphoglycerate_kinase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b2926</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Pgk</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: 2.7.2.3</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_3pg_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_atp_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_13dpg_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_adp_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="-16.137745" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PGL" name="R_6_phosphogluconolactonase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b0767</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Pgl</html:p>
+			<html:p>SUBSYSTEM: S_Pentose_Phosphate_Pathway</html:p>
+			<html:p>PROTEIN_CLASS: 3.1.1.31</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_6pgl_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_6pgc_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="4.717127" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PGM" name="R_phosphoglycerate_mutase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b4395  or  b0755 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( GpmB ) or ( GpmA )</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: 5.4.2.1</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_2pg_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_3pg_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="-14.849080" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PIt" name="R_Inorganic_phosphate_exchange__diffusion" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_Transport__Extracellular</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_pi_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_pi_e" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="-3.168859" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PPC" name="R_phosphoenolpyruvate_carboxylase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b3956</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Ppc</html:p>
+			<html:p>SUBSYSTEM: S_Anaplerotic_reactions</html:p>
+			<html:p>PROTEIN_CLASS: 4.1.1.31</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_co2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pep_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_oaa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pi_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="2.468449" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PPCK" name="R_phosphoenolpyruvate_carboxykinase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b3403</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Pck</html:p>
+			<html:p>SUBSYSTEM: S_Anaplerotic_reactions</html:p>
+			<html:p>PROTEIN_CLASS: 4.1.1.49</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_atp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_oaa_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_adp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_co2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pep_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.005805"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PPS" name="R_phosphoenolpyruvate_synthase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b1702</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Ppsa</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: 2.7.9.2</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_atp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h2o_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pyr_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_amp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="2.000000"/>
+			<speciesReference species="M_pep_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pi_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.005805"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PTAr" name="R_phosphotransacetylase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b2297</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Pta</html:p>
+			<html:p>SUBSYSTEM: S_Pyruvate_Metabolism</html:p>
+			<html:p>PROTEIN_CLASS: 2.3.1.8</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_accoa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pi_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_actp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_coa_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PYK" name="R_pyruvate_kinase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b1854  and  b1676 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( Pyka and Pykf )</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: 2.7.1.40</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_adp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pep_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_atp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pyr_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="1.933474" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_PYRt2r" name="R_pyruvate_reversible_transport_via_proton_symport" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: </html:p>
+			<html:p>PROTEIN_ASSOCIATION: </html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_h_e" stoichiometry="1.000000"/>
+			<speciesReference species="M_pyr_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pyr_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_RPE" name="R_ribulose_5_phosphate_3_epimerase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b3386</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Rpeec</html:p>
+			<html:p>SUBSYSTEM: S_Pentose_Phosphate_Pathway</html:p>
+			<html:p>PROTEIN_CLASS: 5.1.3.1</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_ru5p_D_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_xu5p_D_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="2.525572" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_RPI" name="R_ribose_5_phosphate_isomerase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b2914  or  b4090 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( RpiA ) or ( RpiB )</html:p>
+			<html:p>SUBSYSTEM: S_Pentose_Phosphate_Pathway</html:p>
+			<html:p>PROTEIN_CLASS: 5.3.1.6</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_r5p_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_ru5p_D_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="-2.191555" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_SUCCt2_2" name="R_succinate_transport_via_proton_symport__2_H_" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b3528</html:p>
+			<html:p>PROTEIN_ASSOCIATION: DctA</html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_h_e" stoichiometry="2.000000"/>
+			<speciesReference species="M_succ_e" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h_c" stoichiometry="2.000000"/>
+			<speciesReference species="M_succ_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.001451"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_SUCCt2b" name="R_Succinate_efflux_via_proton_symport" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b0621</html:p>
+			<html:p>PROTEIN_ASSOCIATION: DcuC</html:p>
+			<html:p>SUBSYSTEM: S_</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_h_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_succ_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h_e" stoichiometry="1.000000"/>
+			<speciesReference species="M_succ_e" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_SUCD1i" name="R_succinate_dehydrogenase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b0721  and  b0722  and  b0723  and  b0724 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Sdh</html:p>
+			<html:p>SUBSYSTEM: S_Citric_Acid_Cycle</html:p>
+			<html:p>PROTEIN_CLASS: 1.3.99.1</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_fad_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_succ_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_fadh2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_fum_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="5.335524" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_SUCD4" name="R_succinate_dehyrdogenase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b0721  and  b0722  and  b0723  and  b0724 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Sdh</html:p>
+			<html:p>SUBSYSTEM: S_Oxidative_Phosphorylation</html:p>
+			<html:p>PROTEIN_CLASS: </html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_fadh2_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_q8_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_fad_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_q8h2_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="5.335524" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_SUCOAS" name="R_succinyl_CoA_synthetase__ADP_forming_" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b0728  and  b0729 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: SucC</html:p>
+			<html:p>SUBSYSTEM: S_Citric_Acid_Cycle</html:p>
+			<html:p>PROTEIN_CLASS: 6.2.1.5</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_atp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_coa_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_succ_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_adp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_pi_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_succoa_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="-5.335524" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_TALA" name="R_transaldolase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b0008</html:p>
+			<html:p>PROTEIN_ASSOCIATION: TalB</html:p>
+			<html:p>SUBSYSTEM: S_Pentose_Phosphate_Pathway</html:p>
+			<html:p>PROTEIN_CLASS: 2.2.1.2</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_g3p_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_s7p_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_e4p_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_f6p_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="1.418270" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_THD2" name="R_NAD_P__transhydrogenase" reversible="false">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b1602  and  b1603 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Pnt</html:p>
+			<html:p>SUBSYSTEM: S_Oxidative_Phosphorylation</html:p>
+			<html:p>PROTEIN_CLASS: 1.6.1.1</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_nadh_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadp_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_h_e" stoichiometry="2.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_h_c" stoichiometry="2.000000"/>
+			<speciesReference species="M_nad_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_nadph_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="0.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="-0.001161"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_TKT1" name="R_transketolase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b2935  or  b2465 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( TktA ) or ( TktB )</html:p>
+			<html:p>SUBSYSTEM: S_Pentose_Phosphate_Pathway</html:p>
+			<html:p>PROTEIN_CLASS: 2.2.1.1</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_r5p_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_xu5p_D_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_g3p_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_s7p_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="1.418270" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_TKT2" name="R_transketolase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: ( b2935  or  b2465 )</html:p>
+			<html:p>PROTEIN_ASSOCIATION: ( TktA ) or ( TktB )</html:p>
+			<html:p>SUBSYSTEM: S_Pentose_Phosphate_Pathway</html:p>
+			<html:p>PROTEIN_CLASS: 2.2.1.1</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_e4p_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_xu5p_D_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_f6p_c" stoichiometry="1.000000"/>
+			<speciesReference species="M_g3p_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="1.107302" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+	<reaction id="R_TPI" name="R_triose_phosphate_isomerase" reversible="true">
+		<notes>
+			<html:p>GENE_ASSOCIATION: b3919</html:p>
+			<html:p>PROTEIN_ASSOCIATION: Tpi</html:p>
+			<html:p>SUBSYSTEM: S_GlycolysisGluconeogenesis</html:p>
+			<html:p>PROTEIN_CLASS: 5.3.1.1</html:p>
+		</notes>
+		<listOfReactants>
+			<speciesReference species="M_dhap_c" stoichiometry="1.000000"/>
+		</listOfReactants>
+		<listOfProducts>
+			<speciesReference species="M_g3p_c" stoichiometry="1.000000"/>
+		</listOfProducts>
+		<kineticLaw>
+			<math xmlns="http://www.w3.org/1998/Math/MathML">
+				<ci> FLUX_VALUE </ci>
+			</math>
+			<listOfParameters>
+				<parameter id="LOWER_BOUND" value="-999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="UPPER_BOUND" value="999999.000000" units="mmol_per_gDW_per_hr"/>
+				<parameter id="OBJECTIVE_COEFFICIENT" value="0.000000"/>
+				<parameter id="FLUX_VALUE" value="7.570782" units="mmol_per_gDW_per_hr"/>
+				<parameter id="REDUCED_COST" value="0.000000"/>
+			</listOfParameters>
+		</kineticLaw>
+	</reaction>
+</listOfReactions>
+</model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/README.txt b/wrappers/Python/roadrunner/testing/README.txt
new file mode 100644
index 0000000..90fe87f
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/README.txt
@@ -0,0 +1,11 @@
+This module has testing functions and test data to excecise the roadrunner 
+python interface. 
+
+This module can also be run directly from the command line as it is 
+a runnable module as::
+    pythom -m "roadrunner.testing"
+
+This module basically has a single function,::
+    runTester()
+
+This runs the built in unit tests.. 
\ No newline at end of file
diff --git a/wrappers/Python/roadrunner/testing/SBMLTest.py b/wrappers/Python/roadrunner/testing/SBMLTest.py
new file mode 100644
index 0000000..cc67e1e
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/SBMLTest.py
@@ -0,0 +1,1376 @@
+"""
+Created on Jun 23, 2014
+
+ at author: Andy Somogyi
+
+SBML test suite functionality
+
+
+"""
+
+import roadrunner as rr
+import numpy as npy
+import os.path as path
+import os
+import glob
+
+
+class SBMLTest(object):
+    """
+    Run an SBML test suite test.
+
+    The constructor takes a single string of the test directory name. The test can then 
+    be run using the `run()` method, i.e. ::
+        
+        test = SBMLTest("/path/to/sbml_tests/00001")
+        ok = test.run()
+
+        if ok:
+            print("test " + test.test + " passed")
+        else:
+            print("test " + test.test + " failed, errors: ")
+            print(test.errors)
+    """
+
+
+    def __init__(self, dirName):
+        
+        if not path.isdir(dirName):
+            raise Exception(dirName + " is not a directory")
+
+        self.testDir = dirName = path.abspath(dirName)
+
+        self.test = path.basename(dirName)
+
+        # get the settings file
+        settingsName = path.join(dirName, path.basename(dirName) + "-settings.txt")
+        if not path.isfile(settingsName):
+            raise Exception(dirName + " does not have a settings file of " + settingsName)
+        
+        self.settingspath = settingsName
+        
+        opt = rr.SimulateOptions()
+        opt.loadSBMLSettings(settingsName)
+
+        # origininal copy of options.
+        self.settings = opt.copy()
+
+        # find the best source file
+        # the candidate file names
+        fileNames = [path.join(dirName, path.basename(dirName) + suffix) for suffix in
+                     ["-sbml-l3v1.xml", "-sbml-l2v4.xml", "-sbml-l2v3.xml", 
+                      "-sbml-l2v2.xml", "-sbml-l2v1.xml", "-sbml-l1v2.xml"]]
+
+        # remove the ones that are not files
+        fileNames = [f for f in fileNames if path.isfile(f)]
+        
+        if len(fileNames) < 1:
+            raise Exception("could not file sbml test file in directory " + dirName)
+        
+        # the best file
+        self.sbmlFileName = fileNames[0]
+
+        # get the results file
+        resultsName = path.join(dirName, path.basename(dirName) + "-results.csv")
+        self.expectedResult = npy.genfromtxt(resultsName, delimiter=',',  dtype=npy.float64, names=True)
+
+        # its a structured array, column names in csv.dtype.names
+
+        self.names = self.expectedResult.dtype.names
+
+        # no result yet
+        self.result = None
+
+        # no errors yet
+        self.errors = []
+
+
+
+    def getDifferences(self):
+        """
+        gets the absolute differences between the expected results and 
+        the simulation results as a regular numpy array
+        """
+
+        if self.result is None:
+            raise Exception("simulation has not been run yet")
+
+        diff = self.expectedResult.copy()
+        
+        # check have the same colums and points
+        resultNames = list(self.result.dtype.names)
+        
+        for name in self.names:
+            # have different names in test data and rr results, we add a [S1] brackets
+            # to concentrations.
+
+            resName = name
+
+            # check amount names
+            if not name in resultNames:
+                # maybe its a concentrion:
+                resName = "[" + name + "]"
+                if not resName in resultNames:
+                    raise Exception("result missing expected column '" + name + "'")
+
+            diff[name] = npy.abs(self.expectedResult[name] - self.result[resName])
+
+        return diff.view((npy.float64, len(diff.dtype.names)))
+
+
+    def getTestResults(self, r, diff=None):
+        if diff is None:
+            diff = self.getDifferences()
+
+        result = self.result.view((npy.float64, len(self.result.dtype.names)))
+
+        return diff <= (r.integrator.absolute_tolerance + (r.integrator.relative_tolerance * npy.abs(result)))        
+
+    def run(self):
+        """
+        Run the SBML test. Returns True or False depending on if the test passes or not. 
+        If the test fails, any errors will be available in the SBMLTest.errors property.
+        """
+        
+        self.errors = []
+        result = True
+        
+        try:
+            # run the simulation
+
+            r = rr.RoadRunner(self.sbmlFileName, _getLoadOptions())
+            
+            # load integrator settings
+            r.integrator.loadSBMLSettings(self.settingspath)
+
+            # need to tweak the tolerances for the current integrator
+            opt = self.settings.copy()
+            #opt.tweakTolerances()
+            opt.structuredResult = True
+            self.result = r.simulate(opt)
+
+            # logical array of pass / fail test points.
+            test = self.getTestResults(r)
+
+            for i in npy.arange(len(self.names)):
+                ok = npy.all(test[:,i])
+                if not ok:
+                    err = "'" + self.names[i] + "' failed " + str(test.shape[0] - npy.count_nonzero(test[:,i])) + \
+                          " out of " + str(test.shape[0]) + " points."
+                    self._addError(err)
+                    result = False
+
+        except Exception as e:
+            result = False
+            self._addError(str(e))
+
+        return result
+
+    def diffplot(self):
+        """
+        Run the SBML test. Returns True or False depending on if the test passes or not. 
+        If the test fails, any errors will be available in the SBMLTest.errors property.
+        """
+
+        import matplotlib.pyplot as plt
+        
+        self.errors = []
+        result = True
+        
+        try:
+            # run the simulation
+
+            plt.figure(1)
+
+            r = rr.RoadRunner(self.sbmlFileName, _getLoadOptions())
+
+            # need to tweak the tolerances for the current integrator
+            opt = self.settings.copy()
+            opt.tweakTolerances()
+            opt.structuredResult = True
+
+            plt.subplot(211)
+            r.simulate(opt, plot=True, show=False)
+            plt.xlim([0, opt.duration])
+
+
+            r = rr.RoadRunner(self.sbmlFileName, _getLoadOptions())
+
+            # need to tweak the tolerances for the current integrator
+            opt = self.settings.copy()
+            opt.tweakTolerances()
+            opt.variableStep = True
+            opt.structuredResult = True
+
+            plt.subplot(212)
+            r.simulate(opt, plot=True, show=False)
+            plt.xlim([0, opt.duration])
+
+
+            plt.show()
+
+
+        except Exception as e:
+            result = False
+            self._addError(str(e))
+
+        return result
+
+
+    def _addError(self, err):
+        self.errors += [err]
+
+
+def _getLoadOptions():
+    """
+    Performance is heavily depdent on the options given, this set of options generates
+    essentially generates a model without mutable init conditions and other costly 
+    features which are not used in pure time series simulations.
+    """
+    
+    opt = rr.LoadSBMLOptions()
+    
+    # don't generate cache for models
+    opt.modelGeneratorOpt |= rr.LoadSBMLOptions.RECOMPILE
+    
+    # no mutable initial conditions
+    opt.modelGeneratorOpt &= ~rr.LoadSBMLOptions.MUTABLE_INITIAL_CONDITIONS
+    
+    # read only model
+    opt.modelGeneratorOpt |= rr.LoadSBMLOptions.READ_ONLY
+    
+    opt.modelGeneratorOpt |= rr.LoadSBMLOptions.OPTIMIZE_CFG_SIMPLIFICATION
+    
+    opt.modelGeneratorOpt |= rr.LoadSBMLOptions.OPTIMIZE_GVN
+    
+    return opt
+
+
+def runSBMLTests(sbmlTestDir):
+    """
+    Run the sbml tests in the given test directory, 
+    this uses the list of tests from `getSupportedSBMLTests()`.
+    """
+    import time
+    if not path.isdir(sbmlTestDir):
+        raise Exception(sbmlTestDir + " does not appear to exist")
+
+    sbmlTestDir = path.abspath(sbmlTestDir)
+
+    cases = getSupportedSBMLTests()
+
+    start = time.clock() 
+    for case in cases:
+        runSBMLTest(sbmlTestDir, case)
+    
+    elapsed = time.clock()
+    elapsed = elapsed - start
+    print("Completed " + str(len(cases)) + " tests in " + str(elapsed) + " seconds.")
+
+    
+def runSBMLTest(sbmlTestDir, case):
+    """
+    Run a single sbml test case. 
+
+    :param sbmlTestDir: the directory where the sbml tests are located, this would
+    be the directory where you unziped the sbml test suite to.
+
+    :param case: the sbml test case. This may be a number, or it may be a 
+    text string to use as the exact test case directory, i.e. 1, or "00001".
+    """
+
+    import roadrunner as rr
+
+    # if case is a number, we convert to the correct textual form
+    # padd the with the correct number of zeros.
+    if type(case) == int:
+        case = str(case).zfill(5)
+
+    rr.Logger.log(rr.Logger.LOG_NOTICE, "running test " + case)
+
+    # the test dir may have /cases/semantic/ sub directories
+    if not path.isdir(path.join(sbmlTestDir, case)) and \
+        path.isdir(path.join(sbmlTestDir, "cases")):
+            sbmlTestDir = path.join(sbmlTestDir, "cases")
+
+            if not path.isdir(path.join(sbmlTestDir, case)) and \
+                path.isdir(path.join(sbmlTestDir, "semantic")):
+                    sbmlTestDir = path.join(sbmlTestDir, "semantic")
+
+    test = SBMLTest(path.join(sbmlTestDir, case))
+    ok = test.run()
+
+    if ok:
+        rr.Logger.log(rr.Logger.LOG_NOTICE, "test " + case + " passed")
+    else:
+        rr.Logger.log(rr.Logger.LOG_ERROR, "test " + case + " failed, errors: ")
+        for e in test.errors:
+            rr.Logger.log(rr.Logger.LOG_ERROR, e)
+
+
+def plotSBMLTest(sbmlTestDir, case):
+    """
+    Run a single sbml test case. 
+
+    :param sbmlTestDir: the directory where the sbml tests are located, this would
+    be the directory where you unziped the sbml test suite to.
+
+    :param case: the sbml test case. This may be a number, or it may be a 
+    text string to use as the exact test case directory, i.e. 1, or "00001".
+    """
+
+    import roadrunner as rr
+
+    # if case is a number, we convert to the correct textual form
+    # padd the with the correct number of zeros.
+    if type(case) == int:
+        case = str(case).zfill(5)
+
+    rr.Logger.log(rr.Logger.LOG_NOTICE, "running test " + case)
+
+    # the test dir may have /cases/semantic/ sub directories
+    if not path.isdir(path.join(sbmlTestDir, case)) and \
+        path.isdir(path.join(sbmlTestDir, "cases")):
+            sbmlTestDir = path.join(sbmlTestDir, "cases")
+
+            if not path.isdir(path.join(sbmlTestDir, case)) and \
+                path.isdir(path.join(sbmlTestDir, "semantic")):
+                    sbmlTestDir = path.join(sbmlTestDir, "semantic")
+
+    test = SBMLTest(path.join(sbmlTestDir, case))
+    test.diffplot()
+
+
+
+
+
+def getSupportedSBMLTests():
+    """
+    get a list of the support RoadRunner SBML tests cases
+    """
+        
+    tests = [
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12",
+        "13",
+        "14",
+        "15",
+        "16",
+        "17",
+        "18",
+        "19",
+        "20",
+        "21",
+        "22",
+        "23",
+        "24",
+        "25",
+        "26",
+        "27",
+        "28",
+        "29",
+        "30",
+        "31",
+        "32",
+        "33",
+        "34",
+        "35",
+        "36",
+        "37",
+        "38",
+        "41",
+        "42",
+        "43",
+        "44",
+        "45",
+        "46",
+        "47",
+        "48",
+        "49",
+        "50",
+        "51",
+        "52",
+        "53",
+        "54",
+        "55",
+        "56",
+        "57",
+        "58",
+        "59",
+        "60",
+        "61",
+        "62",
+        "63",
+        "64",
+        "65",
+        "66",
+        "67",
+        "68",
+        "69",
+        "70",
+        "71",
+        "72",
+        "73",
+        "74",
+        "75",
+        "76",
+        "77",
+        "78",
+        "79",
+        "80",
+        "81",
+        "82",
+        "83",
+        "84",
+        "85",
+        "86",
+        "87",
+        "88",
+        "89",
+        "90",
+        "91",
+        "92",
+        "93",
+        "94",
+        "95",
+        "96",
+        "97",
+        "98",
+        "99",
+        "100",
+        "101",
+        "102",
+        "103",
+        "104",
+        "105",
+        "106",
+        "107",
+        "108",
+        "109",
+        "110",
+        "111",
+        "112",
+        "113",
+        "114",
+        "115",
+        "116",
+        "117",
+        "118",
+        "119",
+        "120",
+        "121",
+        "122",
+        "123",
+        "124",
+        "125",
+        "126",
+        "127",
+        "128",
+        "129",
+        "130",
+        "131",
+        "132",
+        "133",
+        "134",
+        "135",
+        "136",
+        "137",
+        "138",
+        "139",
+        "140",
+        "141",
+        "142",
+        "143",
+        "144",
+        "145",
+        "146",
+        "147",
+        "148",
+        "149",
+        "150",
+        "151",
+        "152",
+        "153",
+        "154",
+        "155",
+        "156",
+        "157",
+        "158",
+        "159",
+        "160",
+        "161",
+        "162",
+        "163",
+        "164",
+        "165",
+        "166",
+        "167",
+        "168",
+        "169",
+        "170",
+        "171",
+        "172",
+        "173",
+        "174",
+        "175",
+        "176",
+        "177",
+        "178",
+        "179",
+        "180",
+        "181",
+        "183",
+        "185",
+        "186",
+        "187",
+        "188",
+        "189",
+        "190",
+        "191",
+        "192",
+        "193",
+        "194",
+        "195",
+        "196",
+        "197",
+        "198",
+        "199",
+        "200",
+        "201",
+        "202",
+        "203",
+        "204",
+        "205",
+        "206",
+        "207",
+        "208",
+        "209",
+        "210",
+        "211",
+        "212",
+        "213",
+        "214",
+        "215",
+        "216",
+        "217",
+        "218",
+        "219",
+        "220",
+        "221",
+        "222",
+        "223",
+        "224",
+        "225",
+        "226",
+        "227",
+        "228",
+        "229",
+        "230",
+        "231",
+        "232",
+        "233",
+        "234",
+        "235",
+        "236",
+        "237",
+        "238",
+        "239",
+        "240",
+        "241",
+        "242",
+        "243",
+        "244",
+        "245",
+        "246",
+        "247",
+        "248",
+        "249",
+        "250",
+        "251",
+        "252",
+        "253",
+        "254",
+        "255",
+        "256",
+        "257",
+        "258",
+        "259",
+        "260",
+        "261",
+        "262",
+        "263",
+        "264",
+        "265",
+        "266",
+        "267",
+        "268",
+        "269",
+        "270",
+        "271",
+        "272",
+        "273",
+        "274",
+        "275",
+        "276",
+        "277",
+        "278",
+        "279",
+        "280",
+        "281",
+        "282",
+        "283",
+        "284",
+        "285",
+        "286",
+        "287",
+        "288",
+        "289",
+        "290",
+        "291",
+        "292",
+        "293",
+        "294",
+        "295",
+        "296",
+        "297",
+        "298",
+        "299",
+        "300",
+        "301",
+        "302",
+        "303",
+        "304",
+        "305",
+        "306",
+        "307",
+        "308",
+        "309",
+        "310",
+        "311",
+        "312",
+        "313",
+        "314",
+        "315",
+        "316",
+        "317",
+        "318",
+        "319",
+        "320",
+        "321",
+        "322",
+        "323",
+        "324",
+        "325",
+        "326",
+        "327",
+        "328",
+        "329",
+        "330",
+        "331",
+        "332",
+        "333",
+        "334",
+        "335",
+        "336",
+        "337",
+        "338",
+        "339",
+        "340",
+        "341",
+        "342",
+        "343",
+        "344",
+        "345",
+        "346",
+        "347",
+        "348",
+        "349",
+        "350",
+        "351",
+        "352",
+        "353",
+        "354",
+        "355",
+        "356",
+        "357",
+        "358",
+        "359",
+        "360",
+        "361",
+        "362",
+        "363",
+        "364",
+        "365",
+        "366",
+        "367",
+        "368",
+        "369",
+        "370",
+        "371",
+        "372",
+        "373",
+        "374",
+        "375",
+        "376",
+        "377",
+        "378",
+        "379",
+        "380",
+        "381",
+        "382",
+        "383",
+        "384",
+        "385",
+        "386",
+        "387",
+        "388",
+        "389",
+        "390",
+        "391",
+        "392",
+        "393",
+        "394",
+        "395",
+        "396",
+        "397",
+        "398",
+        "399",
+        "400",
+        "401",
+        "402",
+        "403",
+        "404",
+        "405",
+        "406",
+        "407",
+        "408",
+        "409",
+        "410",
+        "411",
+        "412",
+        "413",
+        "414",
+        "415",
+        "416",
+        "417",
+        "418",
+        "419",
+        "420",
+        "421",
+        "422",
+        "423",
+        "424",
+        "425",
+        "426",
+        "427",
+        "428",
+        "429",
+        "430",
+        "431",
+        "432",
+        "433",
+        "434",
+        "435",
+        "436",
+        "437",
+        "438",
+        "439",
+        "440",
+        "441",
+        "442",
+        "443",
+        "444",
+        "445",
+        "446",
+        "447",
+        "448",
+        "449",
+        "450",
+        "451",
+        "452",
+        "453",
+        "454",
+        "455",
+        "456",
+        "457",
+        "458",
+        "459",
+        "460",
+        "461",
+        "462",
+        "463",
+        "464",
+        "465",
+        "466",
+        "467",
+        "468",
+        "469",
+        "470",
+        "471",
+        "472",
+        "473",
+        "474",
+        "475",
+        "476",
+        "477",
+        "478",
+        "479",
+        "480",
+        "481",
+        "482",
+        "483",
+        "484",
+        "485",
+        "486",
+        "487",
+        "488",
+        "489",
+        "490",
+        "491",
+        "492",
+        "493",
+        "494",
+        "495",
+        "496",
+        "497",
+        "498",
+        "499",
+        "500",
+        "501",
+        "502",
+        "503",
+        "504",
+        "505",
+        "506",
+        "507",
+        "508",
+        "509",
+        "510",
+        "511",
+        "512",
+        "513",
+        "514",
+        "515",
+        "516",
+        "517",
+        "518",
+        "519",
+        "520",
+        "521",
+        "522",
+        "523",
+        "524",
+        "525",
+        "526",
+        "527",
+        "528",
+        "529",
+        "530",
+        "532",
+        "539",
+        "540",
+        "541",
+        "542",
+        "544",
+        "545",
+        "547",
+        "568",
+        "572",
+        "574",
+        "577",
+        "578",
+        "579",
+        "580",
+        "581",
+        "582",
+        "583",
+        "584",
+        "585",
+        "586",
+        "587",
+        "588",
+        "589",
+        "590",
+        "591",
+        "592",
+        "593",
+        "594",
+        "595",
+        "596",
+        "597",
+        "598",
+        "599",
+        "600",
+        "601",
+        "602",
+        "603",
+        "604",
+        "605",
+        "606",
+        "607",
+        "608",
+        "609",
+        "610",
+        "611",
+        "612",
+        "616",
+        "617",
+        "618",
+        "619",
+        "620",
+        "621",
+        "622",
+        "623",
+        "624",
+        "625",
+        "626",
+        "627",
+        "631",
+        "632",
+        "633",
+        "634",
+        "635",
+        "636",
+        "637",
+        "638",
+        "639",
+        "640",
+        "641",
+        "642",
+        "643",
+        "644",
+        "645",
+        "646",
+        "647",
+        "648",
+        "649",
+        "650",
+        "651",
+        "652",
+        "653",
+        "654",
+        "655",
+        "656",
+        "657",
+        "667",
+        "668",
+        "669",
+        "670",
+        "671",
+        "672",
+        "676",
+        "677",
+        "678",
+        "679",
+        "680",
+        "681",
+        "682",
+        "683",
+        "684",
+        "685",
+        "686",
+        "688",
+        "689",
+        "690",
+        "691",
+        "692",
+        "693",
+        "694",
+        "697",
+        "698",
+        "699",
+        "700",
+        "701",
+        "702",
+        "703",
+        "704",
+        "706",
+        "707",
+        "708",
+        "709",
+        "710",
+        "711",
+        "712",
+        "713",
+        "714",
+        "715",
+        "716",
+        "717",
+        "718",
+        "719",
+        "720",
+        "721",
+        "722",
+        "723",
+        "724",
+        "725",
+        "726",
+        "727",
+        "728",
+        "729",
+        "730",
+        "731",
+        "732",
+        "733",
+        "734",
+        "735",
+        "736",
+        "737",
+        "738",
+        "739",
+        "740",
+        "741",
+        "742",
+        "743",
+        "744",
+        "745",
+        "746",
+        "747",
+        "748",
+        "749",
+        "750",
+        "751",
+        "752",
+        "753",
+        "754",
+        "755",
+        "756",
+        "757",
+        "758",
+        "759",
+        "763",
+        "764",
+        "765",
+        "766",
+        "767",
+        "768",
+        "769",
+        "770",
+        "771",
+        "772",
+        "773",
+        "774",
+        "775",
+        "776",
+        "781",
+        "782",
+        "783",
+        "784",
+        "785",
+        "786",
+        "787",
+        "788",
+        "789",
+        "790",
+        "791",
+        "792",
+        "793",
+        "794",
+        "795",
+        "796",
+        "797",
+        "798",
+        "799",
+        "800",
+        "801",
+        "802",
+        "803",
+        "804",
+        "805",
+        "806",
+        "807",
+        "808",
+        "809",
+        "810",
+        "811",
+        "812",
+        "813",
+        "814",
+        "815",
+        "816",
+        "817",
+        "818",
+        "819",
+        "820",
+        "821",
+        "822",
+        "823",
+        "824",
+        "825",
+        "826",
+        "827",
+        "828",
+        "829",
+        "830",
+        "831",
+        "832",
+        "833",
+        "834",
+        "835",
+        "836",
+        "837",
+        "838",
+        "839",
+        "840",
+        "841",
+        "842",
+        "843",
+        "845",
+        "846",
+        "847",
+        "848",
+        "849",
+        "850",
+        "851",
+        "852",
+        "853",
+        "854",
+        "855",
+        "856",
+        "857",
+        "858",
+        "859",
+        "860",
+        "861",
+        "862",
+        "863",
+        "864",
+        "865",
+        "866",
+        "867",
+        "868",
+        "869",
+        "877",
+        "878",
+        "879",
+        "880",
+        "881",
+        "882",
+        "883",
+        "884",
+        "885",
+        "886",
+        "887",
+        "888",
+        "889",
+        "890",
+        "891",
+        "892",
+        "893",
+        "894",
+        "895",
+        "896",
+        "897",
+        "898",
+        "899",
+        "900",
+        "901",
+        "902",
+        "903",
+        "904",
+        "905",
+        "906",
+        "907",
+        "908",
+        "909",
+        "910",
+        "911",
+        "912",
+        "913",
+        "914",
+        "915",
+        "916",
+        "917",
+        "918",
+        "919",
+        "920",
+        "921",
+        "922",
+        "923",
+        "924",
+        "925",
+        "926",
+        "927",
+        "928",
+        "929",
+        "930",
+        "931",
+        "932",
+        "934",
+        "935",
+        "936",
+        "944",
+        "945",
+        "946",
+        "947",
+        "948",
+        "949",
+        "952",
+        "953",
+        "954",
+        "955",
+        "956",
+        "957",
+        "958",
+        "960",
+        "961",
+        "962",
+        "963",
+        "964",
+        "965",
+        "966",
+        "967",
+        "968",
+        "969",
+        "970",
+        "971",
+        "972",
+        "973",
+        "974",
+        "975",
+        "976",
+        "977",
+        "978",
+        "979",
+        "980",
+        "989",
+        "990",
+        "991",
+        "992",
+        "994",
+        "995",
+        "996",
+        "997",
+        "998",
+        "999",
+        "1001",
+        "1002",
+        "1003",
+        "1004",
+        "1005",
+        "1006",
+        "1007",
+        "1008",
+        "1009",
+        "1010",
+        "1011",
+        "1012",
+        "1013",
+        "1014",
+        "1015",
+        "1016",
+        "1017",
+        "1018",
+        "1019",
+        "1020",
+        "1021",
+        "1022",
+        "1023",
+        "1024",
+        "1025",
+        "1026",
+        "1027",
+        "1028",
+        "1029",
+        "1030",
+        "1031",
+        "1032",
+        "1033",
+        "1034",
+        "1035",
+        "1036",
+        "1037",
+        "1038",
+        "1039",
+        "1040",
+        "1041",
+        "1042",
+        "1043",
+        "1045",
+        "1046",
+        "1047",
+        "1048",
+        "1049",
+        "1050",
+        "1055",
+        "1056",
+        "1057",
+        "1058",
+        "1059",
+        "1060",
+        "1061",
+        "1062",
+        "1063",
+        "1064",
+        "1065",
+        "1066",
+        "1067",
+        "1068",
+        "1069",
+        "1070",
+        "1071",
+        "1072",
+        "1073",
+        "1074",
+        "1075",
+        "1076",
+        "1077",
+        "1078",
+        "1079",
+        "1080",
+        "1081",
+        "1082",
+        "1087",
+        "1088",
+        "1089",
+        "1090",
+        "1091",
+        "1092",
+        "1093",
+        "1094",
+        "1095",
+        "1096",
+        "1097",
+        "1098",
+        "1099",
+        "1100",
+        "1101",
+        "1102",
+        "1103",
+        "1104",
+        "1105",
+        "1106",
+        "1107",
+        "1109",
+        "1110",
+        "1111",
+        "1116",
+        "1117",
+        "1124",
+        "1125",
+        "1149",
+        "1150",
+        "1151",
+        "1162",
+        "1163",
+        "1166",
+        "1184",
+        "1185"]
+
+
+    return [test.zfill(5) for test in tests]
+ 
+
+        
+        
+        
diff --git a/wrappers/Python/roadrunner/testing/__init__.py b/wrappers/Python/roadrunner/testing/__init__.py
new file mode 100644
index 0000000..732de2f
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/__init__.py
@@ -0,0 +1,17 @@
+"""
+This module has testing function and test data to excecise the roadrunner 
+python interface. 
+
+This module can also be run direct from the command line as it is 
+an runnable module as::
+    pythom -m "roadrunner.testing"
+
+This module basically has a single function,::
+    runTester()
+
+This runs the built in unit tests.. 
+"""
+
+from tester import *
+from testfiles import *
+from SBMLTest import *
diff --git a/wrappers/Python/roadrunner/testing/__main__.py b/wrappers/Python/roadrunner/testing/__main__.py
new file mode 100644
index 0000000..41d5163
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/__main__.py
@@ -0,0 +1,6 @@
+import roadrunner
+import tester
+
+roadrunner.sigtrap()
+
+tester.runTester()
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-01-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-01-mean.csv
new file mode 100644
index 0000000..8c44540
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-01-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,99.00498
+2,98.01987
+3,97.04455
+4,96.07894
+5,95.12294
+6,94.17645
+7,93.23938
+8,92.31163
+9,91.39312
+10,90.48374
+11,89.58341
+12,88.69204
+13,87.80954
+14,86.93582
+15,86.07080
+16,85.21438
+17,84.36648
+18,83.52702
+19,82.69591
+20,81.87308
+21,81.05842
+22,80.25188
+23,79.45336
+24,78.66279
+25,77.88008
+26,77.10516
+27,76.33795
+28,75.57837
+29,74.82636
+30,74.08182
+31,73.34470
+32,72.61490
+33,71.89237
+34,71.17703
+35,70.46881
+36,69.76763
+37,69.07343
+38,68.38614
+39,67.70569
+40,67.03200
+41,66.36503
+42,65.70468
+43,65.05091
+44,64.40364
+45,63.76282
+46,63.12836
+47,62.50023
+48,61.87834
+49,61.26264
+50,60.65307
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-01-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-01-sd.csv
new file mode 100644
index 0000000..82d6a56
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-01-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,4.54834
+2,6.38431
+3,7.76081
+4,8.89458
+5,9.87032
+6,10.73185
+7,11.50542
+8,12.20829
+9,12.85255
+10,13.44708
+11,13.99865
+12,14.51256
+13,14.99307
+14,15.44365
+15,15.86721
+16,16.26619
+17,16.64267
+18,16.99845
+19,17.33509
+20,17.65397
+21,17.95630
+22,18.24316
+23,18.51553
+24,18.77427
+25,19.02018
+26,19.25397
+27,19.47628
+28,19.68773
+29,19.88886
+30,20.08018
+31,20.26216
+32,20.43524
+33,20.59981
+34,20.75625
+35,20.90493
+36,21.04615
+37,21.18025
+38,21.30750
+39,21.42818
+40,21.54255
+41,21.65085
+42,21.75330
+43,21.85014
+44,21.94157
+45,22.02777
+46,22.10895
+47,22.18527
+48,22.25691
+49,22.32403
+50,22.38677
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-01.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-01.xml
new file mode 100644
index 0000000..7ea7241
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-01.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath01" name="Birth-death model (001), variant 01" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-02-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-02-mean.csv
new file mode 100644
index 0000000..8c44540
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-02-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,99.00498
+2,98.01987
+3,97.04455
+4,96.07894
+5,95.12294
+6,94.17645
+7,93.23938
+8,92.31163
+9,91.39312
+10,90.48374
+11,89.58341
+12,88.69204
+13,87.80954
+14,86.93582
+15,86.07080
+16,85.21438
+17,84.36648
+18,83.52702
+19,82.69591
+20,81.87308
+21,81.05842
+22,80.25188
+23,79.45336
+24,78.66279
+25,77.88008
+26,77.10516
+27,76.33795
+28,75.57837
+29,74.82636
+30,74.08182
+31,73.34470
+32,72.61490
+33,71.89237
+34,71.17703
+35,70.46881
+36,69.76763
+37,69.07343
+38,68.38614
+39,67.70569
+40,67.03200
+41,66.36503
+42,65.70468
+43,65.05091
+44,64.40364
+45,63.76282
+46,63.12836
+47,62.50023
+48,61.87834
+49,61.26264
+50,60.65307
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-02-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-02-sd.csv
new file mode 100644
index 0000000..82d6a56
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-02-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,4.54834
+2,6.38431
+3,7.76081
+4,8.89458
+5,9.87032
+6,10.73185
+7,11.50542
+8,12.20829
+9,12.85255
+10,13.44708
+11,13.99865
+12,14.51256
+13,14.99307
+14,15.44365
+15,15.86721
+16,16.26619
+17,16.64267
+18,16.99845
+19,17.33509
+20,17.65397
+21,17.95630
+22,18.24316
+23,18.51553
+24,18.77427
+25,19.02018
+26,19.25397
+27,19.47628
+28,19.68773
+29,19.88886
+30,20.08018
+31,20.26216
+32,20.43524
+33,20.59981
+34,20.75625
+35,20.90493
+36,21.04615
+37,21.18025
+38,21.30750
+39,21.42818
+40,21.54255
+41,21.65085
+42,21.75330
+43,21.85014
+44,21.94157
+45,22.02777
+46,22.10895
+47,22.18527
+48,22.25691
+49,22.32403
+50,22.38677
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-02.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-02.xml
new file mode 100644
index 0000000..3b62ca2
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-02.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath02" name="Birth-death model (001), variant 02" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="Lambda" value="0.1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="Mu" value="0.11"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-03-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-03-mean.csv
new file mode 100644
index 0000000..a3beba7
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-03-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,90.48374
+2,81.87308
+3,74.08182
+4,67.03200
+5,60.65307
+6,54.88116
+7,49.65853
+8,44.93290
+9,40.65697
+10,36.78794
+11,33.28711
+12,30.11942
+13,27.25318
+14,24.65970
+15,22.31302
+16,20.18965
+17,18.26835
+18,16.52989
+19,14.95686
+20,13.53353
+21,12.24564
+22,11.08032
+23,10.02588
+24,9.07180
+25,8.20850
+26,7.42736
+27,6.72055
+28,6.08101
+29,5.50232
+30,4.97871
+31,4.50492
+32,4.07622
+33,3.68832
+34,3.33733
+35,3.01974
+36,2.73237
+37,2.47235
+38,2.23708
+39,2.02419
+40,1.83156
+41,1.65727
+42,1.49956
+43,1.35686
+44,1.22773
+45,1.11090
+46,1.00518
+47,0.90953
+48,0.82297
+49,0.74466
+50,0.67379
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-03-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-03-sd.csv
new file mode 100644
index 0000000..b891e7b
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-03-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,13.44708
+2,17.65397
+3,20.08018
+4,21.54255
+5,22.38677
+6,22.80343
+7,22.91234
+8,22.79491
+9,22.50930
+10,22.09848
+11,21.59497
+12,21.02380
+13,20.40447
+14,19.75228
+15,19.07932
+16,18.39517
+17,17.70739
+18,17.02198
+19,16.34367
+20,15.67614
+21,15.02224
+22,14.38416
+23,13.76353
+24,13.16150
+25,12.57890
+26,12.01623
+27,11.47374
+28,10.95151
+29,10.44944
+30,9.96732
+31,9.50482
+32,9.06153
+33,8.63701
+34,8.23073
+35,7.84216
+36,7.47074
+37,7.11588
+38,6.77700
+39,6.45349
+40,6.14478
+41,5.85029
+42,5.56942
+43,5.30164
+44,5.04637
+45,4.80310
+46,4.57129
+47,4.35044
+48,4.14008
+49,3.93972
+50,3.74891
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-03.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-03.xml
new file mode 100644
index 0000000..5bcd764
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-03.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath03" name="Birth-death model (001), variant 03" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="1" constant="true"/>
+      <parameter id="Mu" value="1.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-04-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-04-mean.csv
new file mode 100644
index 0000000..62c13bc
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-04-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,10.00000
+1,9.90050
+2,9.80199
+3,9.70446
+4,9.60789
+5,9.51229
+6,9.41765
+7,9.32394
+8,9.23116
+9,9.13931
+10,9.04837
+11,8.95834
+12,8.86920
+13,8.78095
+14,8.69358
+15,8.60708
+16,8.52144
+17,8.43665
+18,8.35270
+19,8.26959
+20,8.18731
+21,8.10584
+22,8.02519
+23,7.94534
+24,7.86628
+25,7.78801
+26,7.71052
+27,7.63380
+28,7.55784
+29,7.48264
+30,7.40818
+31,7.33447
+32,7.26149
+33,7.18924
+34,7.11770
+35,7.04688
+36,6.97676
+37,6.90734
+38,6.83861
+39,6.77057
+40,6.70320
+41,6.63650
+42,6.57047
+43,6.50509
+44,6.44036
+45,6.37628
+46,6.31284
+47,6.25002
+48,6.18783
+49,6.12626
+50,6.06531
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-04-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-04-sd.csv
new file mode 100644
index 0000000..7f801b6
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-04-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,1.43831151
+2,2.018895738
+3,2.454182145
+4,2.812712214
+5,3.121268973
+6,3.393708886
+7,3.63833341
+8,3.860600989
+9,4.064332664
+10,4.252340532
+11,4.426761796
+12,4.589274452
+13,4.741224525
+14,4.883711703
+15,5.017653834
+16,5.143821537
+17,5.26287374
+18,5.375380917
+19,5.481835459
+20,5.58267409
+21,5.678279669
+22,5.768994713
+23,5.855125105
+24,5.936947027
+25,6.014709469
+26,6.0886386
+27,6.158941467
+28,6.225807578
+29,6.289410942
+30,6.34991181
+31,6.407458935
+32,6.462189258
+33,6.514230576
+34,6.563703223
+35,6.610717813
+36,6.655377525
+37,6.697782469
+38,6.738022707
+39,6.776184767
+40,6.812351283
+41,6.846598425
+42,6.878998474
+43,6.909621553
+44,6.938532986
+45,6.965793566
+46,6.991464081
+47,7.015599048
+48,7.038253334
+49,7.059476609
+50,7.079319176
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-04.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-04.xml
new file mode 100644
index 0000000..689c536
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-04.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath04" name="Birth-death model (001), variant 04" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="10" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-05-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-05-mean.csv
new file mode 100644
index 0000000..f07ab92
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-05-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,10000.00000
+1,9900.49800
+2,9801.98700
+3,9704.45500
+4,9607.89400
+5,9512.29400
+6,9417.64500
+7,9323.93800
+8,9231.16300
+9,9139.31200
+10,9048.37400
+11,8958.34100
+12,8869.20400
+13,8780.95400
+14,8693.58200
+15,8607.08000
+16,8521.43800
+17,8436.64800
+18,8352.70200
+19,8269.59100
+20,8187.30800
+21,8105.84200
+22,8025.18800
+23,7945.33600
+24,7866.27900
+25,7788.00800
+26,7710.51600
+27,7633.79500
+28,7557.83700
+29,7482.63600
+30,7408.18200
+31,7334.47000
+32,7261.49000
+33,7189.23700
+34,7117.70300
+35,7046.88100
+36,6976.76300
+37,6907.34300
+38,6838.61400
+39,6770.56900
+40,6703.20000
+41,6636.50300
+42,6570.46800
+43,6505.09100
+44,6440.36400
+45,6376.28200
+46,6312.83600
+47,6250.02300
+48,6187.83400
+49,6126.26400
+50,6065.30700
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-05-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-05-sd.csv
new file mode 100644
index 0000000..4b1d324
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-05-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,45.48345
+2,63.84308
+3,77.60805
+4,88.94577
+5,98.70320
+6,107.31850
+7,115.05420
+8,122.08292
+9,128.52548
+10,134.47081
+11,139.98650
+12,145.12560
+13,149.93068
+14,154.43652
+15,158.67215
+16,162.66192
+17,166.42668
+18,169.98447
+19,173.35086
+20,176.53966
+21,179.56297
+22,182.43163
+23,185.15531
+24,187.74275
+25,190.20181
+26,192.53966
+27,194.76283
+28,196.87732
+29,198.88864
+30,200.80184
+31,202.62164
+32,204.35237
+33,205.99806
+34,207.56252
+35,209.04925
+36,210.46152
+37,211.80248
+38,213.07499
+39,214.28178
+40,215.42546
+41,216.50845
+42,217.53303
+43,218.50142
+44,219.41568
+45,220.27773
+46,221.08951
+47,221.85272
+48,222.56911
+49,223.24025
+50,223.86773
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-05.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-05.xml
new file mode 100644
index 0000000..14afdb0
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-05.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath05" name="Birth-death model (001), variant 05" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="10000" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-06-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-06-mean.csv
new file mode 100644
index 0000000..e0269e2
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-06-mean.csv
@@ -0,0 +1,52 @@
+time,X,Sink
+0,100,0
+1,99.00498,0
+2,98.01987,0
+3,97.04455,0
+4,96.07894,0
+5,95.12294,0
+6,94.17645,0
+7,93.23938,0
+8,92.31163,0
+9,91.39312,0
+10,90.48374,0
+11,89.58341,0
+12,88.69204,0
+13,87.80954,0
+14,86.93582,0
+15,86.0708,0
+16,85.21438,0
+17,84.36648,0
+18,83.52702,0
+19,82.69591,0
+20,81.87308,0
+21,81.05842,0
+22,80.25188,0
+23,79.45336,0
+24,78.66279,0
+25,77.88008,0
+26,77.10516,0
+27,76.33795,0
+28,75.57837,0
+29,74.82636,0
+30,74.08182,0
+31,73.3447,0
+32,72.6149,0
+33,71.89237,0
+34,71.17703,0
+35,70.46881,0
+36,69.76763,0
+37,69.07343,0
+38,68.38614,0
+39,67.70569,0
+40,67.032,0
+41,66.36503,0
+42,65.70468,0
+43,65.05091,0
+44,64.40364,0
+45,63.76282,0
+46,63.12836,0
+47,62.50023,0
+48,61.87834,0
+49,61.26264,0
+50,60.65307,0
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-06-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-06-sd.csv
new file mode 100644
index 0000000..cfb9945
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-06-sd.csv
@@ -0,0 +1,52 @@
+time,X,Sink
+0,0,0
+1,4.54834,0
+2,6.38431,0
+3,7.76081,0
+4,8.89458,0
+5,9.87032,0
+6,10.73185,0
+7,11.50542,0
+8,12.20829,0
+9,12.85255,0
+10,13.44708,0
+11,13.99865,0
+12,14.51256,0
+13,14.99307,0
+14,15.44365,0
+15,15.86721,0
+16,16.26619,0
+17,16.64267,0
+18,16.99845,0
+19,17.33509,0
+20,17.65397,0
+21,17.9563,0
+22,18.24316,0
+23,18.51553,0
+24,18.77427,0
+25,19.02018,0
+26,19.25397,0
+27,19.47628,0
+28,19.68773,0
+29,19.88886,0
+30,20.08018,0
+31,20.26216,0
+32,20.43524,0
+33,20.59981,0
+34,20.75625,0
+35,20.90493,0
+36,21.04615,0
+37,21.18025,0
+38,21.3075,0
+39,21.42818,0
+40,21.54255,0
+41,21.65085,0
+42,21.7533,0
+43,21.85014,0
+44,21.94157,0
+45,22.02777,0
+46,22.10895,0
+47,22.18527,0
+48,22.25691,0
+49,22.32403,0
+50,22.38677,0
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-06.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-06.xml
new file mode 100644
index 0000000..0c27764
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-06.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath06" name="Birth-death model (001), variant 06" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="Sink" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Sink" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-07-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-07-mean.csv
new file mode 100644
index 0000000..5f7dbc0
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-07-mean.csv
@@ -0,0 +1,52 @@
+time,X,Sink
+0,100,0
+1,99.00498,10.94518
+2,98.01987,21.78146
+3,97.04455,32.50991
+4,96.07894,43.13162
+5,95.12294,53.64763
+6,94.17645,64.05901
+7,93.23938,74.3668
+8,92.31163,84.57202
+9,91.39312,94.6757
+10,90.48374,104.6788
+11,89.58341,114.5825
+12,88.69204,124.3875
+13,87.80954,134.095
+14,86.93582,143.7059
+15,86.0708,153.2212
+16,85.21438,162.6418
+17,84.36648,171.9687
+18,83.52702,181.2028
+19,82.69591,190.345
+20,81.87308,199.3962
+21,81.05842,208.3573
+22,80.25188,217.2293
+23,79.45336,226.013
+24,78.66279,234.7094
+25,77.88008,243.3191
+26,77.10516,251.8433
+27,76.33795,260.2826
+28,75.57837,268.6379
+29,74.82636,276.9101
+30,74.08182,285.1
+31,73.3447,293.2083
+32,72.6149,301.2361
+33,71.89237,309.1839
+34,71.17703,317.0526
+35,70.46881,324.8431
+36,69.76763,332.556
+37,69.07343,340.1922
+38,68.38614,347.7524
+39,67.70569,355.2374
+40,67.032,362.6479
+41,66.36503,369.9847
+42,65.70468,377.2485
+43,65.05091,384.44
+44,64.40364,391.5599
+45,63.76282,398.609
+46,63.12836,405.588
+47,62.50023,412.4975
+48,61.87834,419.3383
+49,61.26264,426.111
+50,60.65307,432.8163
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-07-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-07-sd.csv
new file mode 100644
index 0000000..7164d45
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-07-sd.csv
@@ -0,0 +1,52 @@
+time,X,Sink
+0,0,0
+1,4.548344,3.134817
+2,6.384308,4.203535
+3,7.760805,4.904559
+4,8.894577,5.430367
+5,9.87032,5.870239
+6,10.73185,6.279785
+7,11.50542,6.698284
+8,12.20829,7.154432
+9,12.85255,7.668587
+10,13.44708,8.254027
+11,13.99865,8.918105
+12,14.51256,9.66352
+13,14.99307,10.48961
+14,15.44365,11.39353
+15,15.86721,12.37115
+16,16.26619,13.41776
+17,16.64267,14.52849
+18,16.99845,15.69862
+19,17.33509,16.92365
+20,17.65397,18.19945
+21,17.9563,19.5222
+22,18.24316,20.88847
+23,18.51553,22.2951
+24,18.77427,23.73924
+25,19.02018,25.2183
+26,19.25397,26.72992
+27,19.47628,28.27195
+28,19.68773,29.8424
+29,19.88886,31.43945
+30,20.08018,33.06144
+31,20.26216,34.7068
+32,20.43524,36.3741
+33,20.59981,38.06199
+34,20.75625,39.76924
+35,20.90492,41.49466
+36,21.04615,43.23716
+37,21.18025,44.9957
+38,21.3075,46.76932
+39,21.42818,48.55709
+40,21.54255,50.35814
+41,21.65084,52.17166
+42,21.7533,53.99685
+43,21.85014,55.83298
+44,21.94157,57.67935
+45,22.02777,59.53527
+46,22.10895,61.40011
+47,22.18527,63.27324
+48,22.25691,65.1541
+49,22.32403,67.0421
+50,22.38677,68.93673
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-07.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-07.xml
new file mode 100644
index 0000000..e4dc94a
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-07.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath07" name="Birth-death model (001), variant 07" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="Sink" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Sink" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-08-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-08-mean.csv
new file mode 100644
index 0000000..8c44540
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-08-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,99.00498
+2,98.01987
+3,97.04455
+4,96.07894
+5,95.12294
+6,94.17645
+7,93.23938
+8,92.31163
+9,91.39312
+10,90.48374
+11,89.58341
+12,88.69204
+13,87.80954
+14,86.93582
+15,86.07080
+16,85.21438
+17,84.36648
+18,83.52702
+19,82.69591
+20,81.87308
+21,81.05842
+22,80.25188
+23,79.45336
+24,78.66279
+25,77.88008
+26,77.10516
+27,76.33795
+28,75.57837
+29,74.82636
+30,74.08182
+31,73.34470
+32,72.61490
+33,71.89237
+34,71.17703
+35,70.46881
+36,69.76763
+37,69.07343
+38,68.38614
+39,67.70569
+40,67.03200
+41,66.36503
+42,65.70468
+43,65.05091
+44,64.40364
+45,63.76282
+46,63.12836
+47,62.50023
+48,61.87834
+49,61.26264
+50,60.65307
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-08-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-08-sd.csv
new file mode 100644
index 0000000..82d6a56
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-08-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,4.54834
+2,6.38431
+3,7.76081
+4,8.89458
+5,9.87032
+6,10.73185
+7,11.50542
+8,12.20829
+9,12.85255
+10,13.44708
+11,13.99865
+12,14.51256
+13,14.99307
+14,15.44365
+15,15.86721
+16,16.26619
+17,16.64267
+18,16.99845
+19,17.33509
+20,17.65397
+21,17.95630
+22,18.24316
+23,18.51553
+24,18.77427
+25,19.02018
+26,19.25397
+27,19.47628
+28,19.68773
+29,19.88886
+30,20.08018
+31,20.26216
+32,20.43524
+33,20.59981
+34,20.75625
+35,20.90493
+36,21.04615
+37,21.18025
+38,21.30750
+39,21.42818
+40,21.54255
+41,21.65085
+42,21.75330
+43,21.85014
+44,21.94157
+45,22.02777
+46,22.10895
+47,22.18527
+48,22.25691
+49,22.32403
+50,22.38677
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-08.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-08.xml
new file mode 100644
index 0000000..34ce71f
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-08.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath08" name="Birth-death model (001), variant 08" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-09-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-09-mean.csv
new file mode 100644
index 0000000..8c44540
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-09-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,99.00498
+2,98.01987
+3,97.04455
+4,96.07894
+5,95.12294
+6,94.17645
+7,93.23938
+8,92.31163
+9,91.39312
+10,90.48374
+11,89.58341
+12,88.69204
+13,87.80954
+14,86.93582
+15,86.07080
+16,85.21438
+17,84.36648
+18,83.52702
+19,82.69591
+20,81.87308
+21,81.05842
+22,80.25188
+23,79.45336
+24,78.66279
+25,77.88008
+26,77.10516
+27,76.33795
+28,75.57837
+29,74.82636
+30,74.08182
+31,73.34470
+32,72.61490
+33,71.89237
+34,71.17703
+35,70.46881
+36,69.76763
+37,69.07343
+38,68.38614
+39,67.70569
+40,67.03200
+41,66.36503
+42,65.70468
+43,65.05091
+44,64.40364
+45,63.76282
+46,63.12836
+47,62.50023
+48,61.87834
+49,61.26264
+50,60.65307
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-09-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-09-sd.csv
new file mode 100644
index 0000000..82d6a56
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-09-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,4.54834
+2,6.38431
+3,7.76081
+4,8.89458
+5,9.87032
+6,10.73185
+7,11.50542
+8,12.20829
+9,12.85255
+10,13.44708
+11,13.99865
+12,14.51256
+13,14.99307
+14,15.44365
+15,15.86721
+16,16.26619
+17,16.64267
+18,16.99845
+19,17.33509
+20,17.65397
+21,17.95630
+22,18.24316
+23,18.51553
+24,18.77427
+25,19.02018
+26,19.25397
+27,19.47628
+28,19.68773
+29,19.88886
+30,20.08018
+31,20.26216
+32,20.43524
+33,20.59981
+34,20.75625
+35,20.90493
+36,21.04615
+37,21.18025
+38,21.30750
+39,21.42818
+40,21.54255
+41,21.65085
+42,21.75330
+43,21.85014
+44,21.94157
+45,22.02777
+46,22.10895
+47,22.18527
+48,22.25691
+49,22.32403
+50,22.38677
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-09.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-09.xml
new file mode 100644
index 0000000..3f2c629
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-09.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath09" name="Birth-death model (001), variant 09" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" size="2" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-10-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-10-mean.csv
new file mode 100644
index 0000000..ff1133d
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-10-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,99.00498
+2,98.01987
+3,97.04455
+4,96.07894
+5,95.12294
+6,94.17645
+7,93.23938
+8,92.31163
+9,91.39312
+10,90.48374
+11,89.58341
+12,88.69204
+13,87.80954
+14,86.93582
+15,86.0708
+16,85.21438
+17,84.36648
+18,83.52702
+19,82.69591
+20,81.87308
+21,81.05842
+22,80.25188
+23,79.45336
+24,78.66279
+25,77.88008
+26,77.10516
+27,76.33795
+28,75.57837
+29,74.82636
+30,74.08182
+31,73.3447
+32,72.6149
+33,71.89237
+34,71.17703
+35,70.46881
+36,69.76763
+37,69.07343
+38,68.38614
+39,67.70569
+40,67.032
+41,66.36503
+42,65.70468
+43,65.05091
+44,64.40364
+45,63.76282
+46,63.12836
+47,62.50023
+48,61.87834
+49,61.26264
+50,60.65307
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-10-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-10-sd.csv
new file mode 100644
index 0000000..82d6a56
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-10-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,4.54834
+2,6.38431
+3,7.76081
+4,8.89458
+5,9.87032
+6,10.73185
+7,11.50542
+8,12.20829
+9,12.85255
+10,13.44708
+11,13.99865
+12,14.51256
+13,14.99307
+14,15.44365
+15,15.86721
+16,16.26619
+17,16.64267
+18,16.99845
+19,17.33509
+20,17.65397
+21,17.95630
+22,18.24316
+23,18.51553
+24,18.77427
+25,19.02018
+26,19.25397
+27,19.47628
+28,19.68773
+29,19.88886
+30,20.08018
+31,20.26216
+32,20.43524
+33,20.59981
+34,20.75625
+35,20.90493
+36,21.04615
+37,21.18025
+38,21.30750
+39,21.42818
+40,21.54255
+41,21.65085
+42,21.75330
+43,21.85014
+44,21.94157
+45,22.02777
+46,22.10895
+47,22.18527
+48,22.25691
+49,22.32403
+50,22.38677
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-10.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-10.xml
new file mode 100644
index 0000000..2ff7175
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-10.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath10" name="Birth-death model (001), variant 10" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-11-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-11-mean.csv
new file mode 100644
index 0000000..af5b5d3
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-11-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100
+1,99.50125
+2,99.00498
+3,98.5112
+4,98.01987
+5,97.531
+6,97.04455
+7,96.56054
+8,96.07894
+9,95.59975
+10,95.12294
+11,94.64851
+12,94.17645
+13,93.70675
+14,93.23938
+15,92.77435
+16,92.31163
+17,91.85123
+18,91.39312
+19,90.9373
+20,90.48374
+21,90.03245
+22,89.58341
+23,89.13661
+24,88.69204
+25,88.24969
+26,87.80954
+27,87.37159
+28,86.93582
+29,86.50223
+30,86.0708
+31,85.64152
+32,85.21438
+33,84.78937
+34,84.36648
+35,83.9457
+36,83.52702
+37,83.11043
+38,82.69591
+39,82.28347
+40,81.87308
+41,81.46473
+42,81.05842
+43,80.65414
+44,80.25188
+45,79.85162
+46,79.45336
+47,79.05708
+48,78.66279
+49,78.27045
+50,77.88008
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-11-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-11-sd.csv
new file mode 100644
index 0000000..f6f95f4
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-11-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,3.228244105
+2,4.548344754
+3,5.549725218
+4,6.384308107
+5,7.111189774
+6,7.760805371
+7,8.351308281
+8,8.894576999
+9,9.398894616
+10,9.87031965
+11,10.31344268
+12,10.73184979
+13,11.1284006
+14,11.50542046
+15,11.86484724
+16,12.20829226
+17,12.53713285
+18,12.85254839
+19,13.15556916
+20,13.44708147
+21,13.72787675
+22,13.99864993
+23,14.26002454
+24,14.51256008
+25,14.75675777
+26,14.9930684
+27,15.22190855
+28,15.44365242
+29,15.65864937
+30,15.86721463
+31,16.06963907
+32,16.26619193
+33,16.45712308
+34,16.64266806
+35,16.82304372
+36,16.99844699
+37,17.16906812
+38,17.33508581
+39,17.4966654
+40,17.65396556
+41,17.80712779
+42,17.95629695
+43,18.10159938
+44,18.2431631
+45,18.38110171
+46,18.51553132
+47,18.64655464
+48,18.77427495
+49,18.89878568
+50,19.02018139
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-11.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-11.xml
new file mode 100644
index 0000000..db335dd
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-11.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath11" name="Birth-death model (001), variant 11" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" size="2" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-12-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-12-mean.csv
new file mode 100644
index 0000000..8c44540
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-12-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,99.00498
+2,98.01987
+3,97.04455
+4,96.07894
+5,95.12294
+6,94.17645
+7,93.23938
+8,92.31163
+9,91.39312
+10,90.48374
+11,89.58341
+12,88.69204
+13,87.80954
+14,86.93582
+15,86.07080
+16,85.21438
+17,84.36648
+18,83.52702
+19,82.69591
+20,81.87308
+21,81.05842
+22,80.25188
+23,79.45336
+24,78.66279
+25,77.88008
+26,77.10516
+27,76.33795
+28,75.57837
+29,74.82636
+30,74.08182
+31,73.34470
+32,72.61490
+33,71.89237
+34,71.17703
+35,70.46881
+36,69.76763
+37,69.07343
+38,68.38614
+39,67.70569
+40,67.03200
+41,66.36503
+42,65.70468
+43,65.05091
+44,64.40364
+45,63.76282
+46,63.12836
+47,62.50023
+48,61.87834
+49,61.26264
+50,60.65307
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-12-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-12-sd.csv
new file mode 100644
index 0000000..82d6a56
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-12-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,4.54834
+2,6.38431
+3,7.76081
+4,8.89458
+5,9.87032
+6,10.73185
+7,11.50542
+8,12.20829
+9,12.85255
+10,13.44708
+11,13.99865
+12,14.51256
+13,14.99307
+14,15.44365
+15,15.86721
+16,16.26619
+17,16.64267
+18,16.99845
+19,17.33509
+20,17.65397
+21,17.95630
+22,18.24316
+23,18.51553
+24,18.77427
+25,19.02018
+26,19.25397
+27,19.47628
+28,19.68773
+29,19.88886
+30,20.08018
+31,20.26216
+32,20.43524
+33,20.59981
+34,20.75625
+35,20.90493
+36,21.04615
+37,21.18025
+38,21.30750
+39,21.42818
+40,21.54255
+41,21.65085
+42,21.75330
+43,21.85014
+44,21.94157
+45,22.02777
+46,22.10895
+47,22.18527
+48,22.25691
+49,22.32403
+50,22.38677
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-12.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-12.xml
new file mode 100644
index 0000000..bb9ca1b
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-12.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath12" name="Birth-death model (001), variant 12" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+              <cn> 0.5 </cn>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-13-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-13-mean.csv
new file mode 100644
index 0000000..8c44540
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-13-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,99.00498
+2,98.01987
+3,97.04455
+4,96.07894
+5,95.12294
+6,94.17645
+7,93.23938
+8,92.31163
+9,91.39312
+10,90.48374
+11,89.58341
+12,88.69204
+13,87.80954
+14,86.93582
+15,86.07080
+16,85.21438
+17,84.36648
+18,83.52702
+19,82.69591
+20,81.87308
+21,81.05842
+22,80.25188
+23,79.45336
+24,78.66279
+25,77.88008
+26,77.10516
+27,76.33795
+28,75.57837
+29,74.82636
+30,74.08182
+31,73.34470
+32,72.61490
+33,71.89237
+34,71.17703
+35,70.46881
+36,69.76763
+37,69.07343
+38,68.38614
+39,67.70569
+40,67.03200
+41,66.36503
+42,65.70468
+43,65.05091
+44,64.40364
+45,63.76282
+46,63.12836
+47,62.50023
+48,61.87834
+49,61.26264
+50,60.65307
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-13-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-13-sd.csv
new file mode 100644
index 0000000..82d6a56
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-13-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,4.54834
+2,6.38431
+3,7.76081
+4,8.89458
+5,9.87032
+6,10.73185
+7,11.50542
+8,12.20829
+9,12.85255
+10,13.44708
+11,13.99865
+12,14.51256
+13,14.99307
+14,15.44365
+15,15.86721
+16,16.26619
+17,16.64267
+18,16.99845
+19,17.33509
+20,17.65397
+21,17.95630
+22,18.24316
+23,18.51553
+24,18.77427
+25,19.02018
+26,19.25397
+27,19.47628
+28,19.68773
+29,19.88886
+30,20.08018
+31,20.26216
+32,20.43524
+33,20.59981
+34,20.75625
+35,20.90493
+36,21.04615
+37,21.18025
+38,21.30750
+39,21.42818
+40,21.54255
+41,21.65085
+42,21.75330
+43,21.85014
+44,21.94157
+45,22.02777
+46,22.10895
+47,22.18527
+48,22.25691
+49,22.32403
+50,22.38677
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-13.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-13.xml
new file mode 100644
index 0000000..4244f00
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-13.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath13" name="Birth-death model (001), variant 13" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.2" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-14-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-14-mean.csv
new file mode 100644
index 0000000..8c44540
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-14-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,99.00498
+2,98.01987
+3,97.04455
+4,96.07894
+5,95.12294
+6,94.17645
+7,93.23938
+8,92.31163
+9,91.39312
+10,90.48374
+11,89.58341
+12,88.69204
+13,87.80954
+14,86.93582
+15,86.07080
+16,85.21438
+17,84.36648
+18,83.52702
+19,82.69591
+20,81.87308
+21,81.05842
+22,80.25188
+23,79.45336
+24,78.66279
+25,77.88008
+26,77.10516
+27,76.33795
+28,75.57837
+29,74.82636
+30,74.08182
+31,73.34470
+32,72.61490
+33,71.89237
+34,71.17703
+35,70.46881
+36,69.76763
+37,69.07343
+38,68.38614
+39,67.70569
+40,67.03200
+41,66.36503
+42,65.70468
+43,65.05091
+44,64.40364
+45,63.76282
+46,63.12836
+47,62.50023
+48,61.87834
+49,61.26264
+50,60.65307
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-14-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-14-sd.csv
new file mode 100644
index 0000000..82d6a56
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-14-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,4.54834
+2,6.38431
+3,7.76081
+4,8.89458
+5,9.87032
+6,10.73185
+7,11.50542
+8,12.20829
+9,12.85255
+10,13.44708
+11,13.99865
+12,14.51256
+13,14.99307
+14,15.44365
+15,15.86721
+16,16.26619
+17,16.64267
+18,16.99845
+19,17.33509
+20,17.65397
+21,17.95630
+22,18.24316
+23,18.51553
+24,18.77427
+25,19.02018
+26,19.25397
+27,19.47628
+28,19.68773
+29,19.88886
+30,20.08018
+31,20.26216
+32,20.43524
+33,20.59981
+34,20.75625
+35,20.90493
+36,21.04615
+37,21.18025
+38,21.30750
+39,21.42818
+40,21.54255
+41,21.65085
+42,21.75330
+43,21.85014
+44,21.94157
+45,22.02777
+46,22.10895
+47,22.18527
+48,22.25691
+49,22.32403
+50,22.38677
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-14.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-14.xml
new file mode 100644
index 0000000..78797ed
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-14.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath14" name="Birth-death model (001), variant 14" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <divide/>
+                <apply>
+                  <times/>
+                  <ci> Lambda </ci>
+                  <ci> X </ci>
+                </apply>
+                <cn type="integer"> 2 </cn>
+              </apply>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-15-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-15-mean.csv
new file mode 100644
index 0000000..8c44540
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-15-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,99.00498
+2,98.01987
+3,97.04455
+4,96.07894
+5,95.12294
+6,94.17645
+7,93.23938
+8,92.31163
+9,91.39312
+10,90.48374
+11,89.58341
+12,88.69204
+13,87.80954
+14,86.93582
+15,86.07080
+16,85.21438
+17,84.36648
+18,83.52702
+19,82.69591
+20,81.87308
+21,81.05842
+22,80.25188
+23,79.45336
+24,78.66279
+25,77.88008
+26,77.10516
+27,76.33795
+28,75.57837
+29,74.82636
+30,74.08182
+31,73.34470
+32,72.61490
+33,71.89237
+34,71.17703
+35,70.46881
+36,69.76763
+37,69.07343
+38,68.38614
+39,67.70569
+40,67.03200
+41,66.36503
+42,65.70468
+43,65.05091
+44,64.40364
+45,63.76282
+46,63.12836
+47,62.50023
+48,61.87834
+49,61.26264
+50,60.65307
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-15-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-15-sd.csv
new file mode 100644
index 0000000..82d6a56
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-15-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,4.54834
+2,6.38431
+3,7.76081
+4,8.89458
+5,9.87032
+6,10.73185
+7,11.50542
+8,12.20829
+9,12.85255
+10,13.44708
+11,13.99865
+12,14.51256
+13,14.99307
+14,15.44365
+15,15.86721
+16,16.26619
+17,16.64267
+18,16.99845
+19,17.33509
+20,17.65397
+21,17.95630
+22,18.24316
+23,18.51553
+24,18.77427
+25,19.02018
+26,19.25397
+27,19.47628
+28,19.68773
+29,19.88886
+30,20.08018
+31,20.26216
+32,20.43524
+33,20.59981
+34,20.75625
+35,20.90493
+36,21.04615
+37,21.18025
+38,21.30750
+39,21.42818
+40,21.54255
+41,21.65085
+42,21.75330
+43,21.85014
+44,21.94157
+45,22.02777
+46,22.10895
+47,22.18527
+48,22.25691
+49,22.32403
+50,22.38677
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-15.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-15.xml
new file mode 100644
index 0000000..b043a85
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-15.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath15" name="Birth-death model (001), variant 15" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> Lambda </ci>
+                <apply>
+                  <divide/>
+                  <ci> X </ci>
+                  <cn type="integer"> 2 </cn>
+                </apply>
+              </apply>
+              <cn> 0.5 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-16-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-16-mean.csv
new file mode 100644
index 0000000..8c44540
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-16-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,99.00498
+2,98.01987
+3,97.04455
+4,96.07894
+5,95.12294
+6,94.17645
+7,93.23938
+8,92.31163
+9,91.39312
+10,90.48374
+11,89.58341
+12,88.69204
+13,87.80954
+14,86.93582
+15,86.07080
+16,85.21438
+17,84.36648
+18,83.52702
+19,82.69591
+20,81.87308
+21,81.05842
+22,80.25188
+23,79.45336
+24,78.66279
+25,77.88008
+26,77.10516
+27,76.33795
+28,75.57837
+29,74.82636
+30,74.08182
+31,73.34470
+32,72.61490
+33,71.89237
+34,71.17703
+35,70.46881
+36,69.76763
+37,69.07343
+38,68.38614
+39,67.70569
+40,67.03200
+41,66.36503
+42,65.70468
+43,65.05091
+44,64.40364
+45,63.76282
+46,63.12836
+47,62.50023
+48,61.87834
+49,61.26264
+50,60.65307
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-16-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-16-sd.csv
new file mode 100644
index 0000000..82d6a56
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-16-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,4.54834
+2,6.38431
+3,7.76081
+4,8.89458
+5,9.87032
+6,10.73185
+7,11.50542
+8,12.20829
+9,12.85255
+10,13.44708
+11,13.99865
+12,14.51256
+13,14.99307
+14,15.44365
+15,15.86721
+16,16.26619
+17,16.64267
+18,16.99845
+19,17.33509
+20,17.65397
+21,17.95630
+22,18.24316
+23,18.51553
+24,18.77427
+25,19.02018
+26,19.25397
+27,19.47628
+28,19.68773
+29,19.88886
+30,20.08018
+31,20.26216
+32,20.43524
+33,20.59981
+34,20.75625
+35,20.90493
+36,21.04615
+37,21.18025
+38,21.30750
+39,21.42818
+40,21.54255
+41,21.65085
+42,21.75330
+43,21.85014
+44,21.94157
+45,22.02777
+46,22.10895
+47,22.18527
+48,22.25691
+49,22.32403
+50,22.38677
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-16.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-16.xml
new file mode 100644
index 0000000..df639d1
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-16.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath16" name="Birth-death model (001), variant 16" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> Lambda </ci>
+                <ci> X </ci>
+              </apply>
+              <apply>
+                <divide/>
+                <cn type="integer"> 2 </cn>
+                <cn type="integer"> 2 </cn>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-17-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-17-mean.csv
new file mode 100644
index 0000000..8c44540
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-17-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100.00000
+1,99.00498
+2,98.01987
+3,97.04455
+4,96.07894
+5,95.12294
+6,94.17645
+7,93.23938
+8,92.31163
+9,91.39312
+10,90.48374
+11,89.58341
+12,88.69204
+13,87.80954
+14,86.93582
+15,86.07080
+16,85.21438
+17,84.36648
+18,83.52702
+19,82.69591
+20,81.87308
+21,81.05842
+22,80.25188
+23,79.45336
+24,78.66279
+25,77.88008
+26,77.10516
+27,76.33795
+28,75.57837
+29,74.82636
+30,74.08182
+31,73.34470
+32,72.61490
+33,71.89237
+34,71.17703
+35,70.46881
+36,69.76763
+37,69.07343
+38,68.38614
+39,67.70569
+40,67.03200
+41,66.36503
+42,65.70468
+43,65.05091
+44,64.40364
+45,63.76282
+46,63.12836
+47,62.50023
+48,61.87834
+49,61.26264
+50,60.65307
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-17-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-17-sd.csv
new file mode 100644
index 0000000..82d6a56
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-17-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,4.54834
+2,6.38431
+3,7.76081
+4,8.89458
+5,9.87032
+6,10.73185
+7,11.50542
+8,12.20829
+9,12.85255
+10,13.44708
+11,13.99865
+12,14.51256
+13,14.99307
+14,15.44365
+15,15.86721
+16,16.26619
+17,16.64267
+18,16.99845
+19,17.33509
+20,17.65397
+21,17.95630
+22,18.24316
+23,18.51553
+24,18.77427
+25,19.02018
+26,19.25397
+27,19.47628
+28,19.68773
+29,19.88886
+30,20.08018
+31,20.26216
+32,20.43524
+33,20.59981
+34,20.75625
+35,20.90493
+36,21.04615
+37,21.18025
+38,21.30750
+39,21.42818
+40,21.54255
+41,21.65085
+42,21.75330
+43,21.85014
+44,21.94157
+45,22.02777
+46,22.10895
+47,22.18527
+48,22.25691
+49,22.32403
+50,22.38677
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-17.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-17.xml
new file mode 100644
index 0000000..c77c5a6
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-17.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath17" name="Birth-death model (001), variant 17" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Cell </ci>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Cell </ci>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-18-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-18-mean.csv
new file mode 100644
index 0000000..af5b5d3
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-18-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,100
+1,99.50125
+2,99.00498
+3,98.5112
+4,98.01987
+5,97.531
+6,97.04455
+7,96.56054
+8,96.07894
+9,95.59975
+10,95.12294
+11,94.64851
+12,94.17645
+13,93.70675
+14,93.23938
+15,92.77435
+16,92.31163
+17,91.85123
+18,91.39312
+19,90.9373
+20,90.48374
+21,90.03245
+22,89.58341
+23,89.13661
+24,88.69204
+25,88.24969
+26,87.80954
+27,87.37159
+28,86.93582
+29,86.50223
+30,86.0708
+31,85.64152
+32,85.21438
+33,84.78937
+34,84.36648
+35,83.9457
+36,83.52702
+37,83.11043
+38,82.69591
+39,82.28347
+40,81.87308
+41,81.46473
+42,81.05842
+43,80.65414
+44,80.25188
+45,79.85162
+46,79.45336
+47,79.05708
+48,78.66279
+49,78.27045
+50,77.88008
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-18-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-18-sd.csv
new file mode 100644
index 0000000..f6f95f4
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-18-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,3.228244105
+2,4.548344754
+3,5.549725218
+4,6.384308107
+5,7.111189774
+6,7.760805371
+7,8.351308281
+8,8.894576999
+9,9.398894616
+10,9.87031965
+11,10.31344268
+12,10.73184979
+13,11.1284006
+14,11.50542046
+15,11.86484724
+16,12.20829226
+17,12.53713285
+18,12.85254839
+19,13.15556916
+20,13.44708147
+21,13.72787675
+22,13.99864993
+23,14.26002454
+24,14.51256008
+25,14.75675777
+26,14.9930684
+27,15.22190855
+28,15.44365242
+29,15.65864937
+30,15.86721463
+31,16.06963907
+32,16.26619193
+33,16.45712308
+34,16.64266806
+35,16.82304372
+36,16.99844699
+37,17.16906812
+38,17.33508581
+39,17.4966654
+40,17.65396556
+41,17.80712779
+42,17.95629695
+43,18.10159938
+44,18.2431631
+45,18.38110171
+46,18.51553132
+47,18.64655464
+48,18.77427495
+49,18.89878568
+50,19.02018139
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-18.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-18.xml
new file mode 100644
index 0000000..a1c7efc
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-18.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath18" name="Birth-death model (001), variant 18" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" size="0.5" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Cell </ci>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Cell </ci>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-19-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-19-mean.csv
new file mode 100644
index 0000000..a4b539f
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-19-mean.csv
@@ -0,0 +1,52 @@
+"time","X","y"
+0,100.00000,200.00000
+1,99.00498,198.00996
+2,98.01987,196.03974
+3,97.04455,194.08910
+4,96.07894,192.15788
+5,95.12294,190.24588
+6,94.17645,188.35290
+7,93.23938,186.47876
+8,92.31163,184.62326
+9,91.39312,182.78624
+10,90.48374,180.96748
+11,89.58341,179.16682
+12,88.69204,177.38408
+13,87.80954,175.61908
+14,86.93582,173.87164
+15,86.07080,172.14160
+16,85.21438,170.42876
+17,84.36648,168.73296
+18,83.52702,167.05404
+19,82.69591,165.39182
+20,81.87308,163.74616
+21,81.05842,162.11684
+22,80.25188,160.50376
+23,79.45336,158.90672
+24,78.66279,157.32558
+25,77.88008,155.76016
+26,77.10516,154.21032
+27,76.33795,152.67590
+28,75.57837,151.15674
+29,74.82636,149.65272
+30,74.08182,148.16364
+31,73.34470,146.68940
+32,72.61490,145.22980
+33,71.89237,143.78474
+34,71.17703,142.35406
+35,70.46881,140.93762
+36,69.76763,139.53526
+37,69.07343,138.14686
+38,68.38614,136.77228
+39,67.70569,135.41138
+40,67.03200,134.06400
+41,66.36503,132.73006
+42,65.70468,131.40936
+43,65.05091,130.10182
+44,64.40364,128.80728
+45,63.76282,127.52564
+46,63.12836,126.25672
+47,62.50023,125.00046
+48,61.87834,123.75668
+49,61.26264,122.52528
+50,60.65307,121.30614
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-19-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-19-sd.csv
new file mode 100644
index 0000000..4eab295
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-19-sd.csv
@@ -0,0 +1,52 @@
+"time","X","y"
+0,0.00000,0.00000
+1,4.54834,9.09668
+2,6.38431,12.76862
+3,7.76081,15.52162
+4,8.89458,17.78916
+5,9.87032,19.74064
+6,10.73185,21.46370
+7,11.50542,23.01084
+8,12.20829,24.41658
+9,12.85255,25.70510
+10,13.44708,26.89416
+11,13.99865,27.99730
+12,14.51256,29.02512
+13,14.99307,29.98614
+14,15.44365,30.88730
+15,15.86721,31.73442
+16,16.26619,32.53238
+17,16.64267,33.28534
+18,16.99845,33.99690
+19,17.33509,34.67018
+20,17.65397,35.30794
+21,17.95630,35.91260
+22,18.24316,36.48632
+23,18.51553,37.03106
+24,18.77427,37.54854
+25,19.02018,38.04036
+26,19.25397,38.50794
+27,19.47628,38.95256
+28,19.68773,39.37546
+29,19.88886,39.77772
+30,20.08018,40.16036
+31,20.26216,40.52432
+32,20.43524,40.87048
+33,20.59981,41.19962
+34,20.75625,41.51250
+35,20.90493,41.80986
+36,21.04615,42.09230
+37,21.18025,42.36050
+38,21.30750,42.61500
+39,21.42818,42.85636
+40,21.54255,43.08510
+41,21.65085,43.30170
+42,21.75330,43.50660
+43,21.85014,43.70028
+44,21.94157,43.88314
+45,22.02777,44.05554
+46,22.10895,44.21790
+47,22.18527,44.37054
+48,22.25691,44.51382
+49,22.32403,44.64806
+50,22.38677,44.77354
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-19.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-19.xml
new file mode 100644
index 0000000..a4c5783
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-001-19.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BirthDeath01" name="Birth-death model (001), variant 01" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="y" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Lambda" value="0.1" constant="true"/>
+      <parameter id="Mu" value="0.11" constant="true"/>
+    </listOfParameters>
+    <listOfRules>
+      <assignmentRule variable="y">
+        <math xmlns="http://www.w3.org/1998/Math/MathML">
+          <apply>
+            <times/>
+            <cn type="integer"> 2 </cn>
+            <ci> X </ci>
+          </apply>
+        </math>
+      </assignmentRule>
+    </listOfRules>
+    <listOfReactions>
+      <reaction id="Birth" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Lambda </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-01-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-01-mean.csv
new file mode 100644
index 0000000..dd34404
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-01-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,0.9516258
+2,1.812692
+3,2.591818
+4,3.2968
+5,3.934693
+6,4.511884
+7,5.034147
+8,5.50671
+9,5.934303
+10,6.321206
+11,6.671289
+12,6.988058
+13,7.274682
+14,7.53403
+15,7.768698
+16,7.981035
+17,8.173165
+18,8.347011
+19,8.504314
+20,8.646647
+21,8.775436
+22,8.891968
+23,8.997412
+24,9.09282
+25,9.17915
+26,9.257264
+27,9.327945
+28,9.3919
+29,9.449768
+30,9.50213
+31,9.549508
+32,9.592378
+33,9.631168
+34,9.666267
+35,9.698026
+36,9.726763
+37,9.752765
+38,9.776292
+39,9.79758
+40,9.816844
+41,9.834273
+42,9.850044
+43,9.864314
+44,9.877227
+45,9.88891
+46,9.899482
+47,9.909047
+48,9.917703
+49,9.925534
+50,9.93262
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-01-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-01-sd.csv
new file mode 100644
index 0000000..2d02995
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-01-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,0.975513096
+2,1.346362507
+3,1.60991242
+4,1.815709228
+5,1.98360606
+6,2.124119582
+7,2.243690487
+8,2.346638021
+9,2.436042487
+10,2.514200867
+11,2.582883853
+12,2.643493522
+13,2.697161842
+14,2.744818755
+15,2.787238418
+16,2.825072565
+17,2.858874779
+18,2.889119416
+19,2.916215698
+20,2.940518152
+21,2.96233624
+22,2.981940308
+23,2.999568636
+24,3.015430318
+25,3.029711207
+26,3.042575225
+27,3.054168463
+28,3.064620694
+29,3.074047495
+30,3.082552514
+31,3.090227823
+32,3.097156438
+33,3.103412316
+34,3.109062077
+35,3.114165378
+36,3.118775882
+37,3.122941722
+38,3.126706254
+39,3.130108624
+40,3.133184323
+41,3.135964445
+42,3.138477975
+43,3.140750547
+44,3.142805594
+45,3.144663734
+46,3.146344228
+47,3.147863879
+48,3.149238479
+49,3.15048155
+50,3.15160594
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-01.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-01.xml
new file mode 100644
index 0000000..c194ca5
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-01.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="ImmigrationDeath01" name="Immigration-Death (002), variant 01" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="1" constant="true"/>
+      <parameter id="Mu" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-02-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-02-mean.csv
new file mode 100644
index 0000000..eaa23b9
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-02-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,9.51626
+2,18.12692
+3,25.91818
+4,32.968
+5,39.34693
+6,45.11884
+7,50.34147
+8,55.0671
+9,59.34303
+10,63.21206
+11,66.71289
+12,69.88058
+13,72.74682
+14,75.3403
+15,77.68698
+16,79.81035
+17,81.73165
+18,83.47011
+19,85.04314
+20,86.46647
+21,87.75436
+22,88.91968
+23,89.97412
+24,90.9282
+25,91.7915
+26,92.57264
+27,93.27945
+28,93.919
+29,94.49768
+30,95.0213
+31,95.49508
+32,95.92378
+33,96.31168
+34,96.66267
+35,96.98026
+36,97.26763
+37,97.52765
+38,97.76292
+39,97.9758
+40,98.16844
+41,98.34273
+42,98.50044
+43,98.64314
+44,98.77227
+45,98.8891
+46,98.99482
+47,99.09047
+48,99.17703
+49,99.25534
+50,99.3262
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-02-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-02-sd.csv
new file mode 100644
index 0000000..26ed6d4
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-02-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,3.084843594
+2,4.257572078
+3,5.090990081
+4,5.741776729
+5,6.272713129
+6,6.717055903
+7,7.095172302
+8,7.420720989
+9,7.703442737
+10,7.950601235
+11,8.167795908
+12,8.359460509
+13,8.529174638
+14,8.679879031
+15,8.814021783
+16,8.933663862
+17,9.040555846
+18,9.136197787
+19,9.221883756
+20,9.29873486
+21,9.367729714
+22,9.42972322
+23,9.485468887
+24,9.535627929
+25,9.580788068
+26,9.621467664
+27,9.658128701
+28,9.691181559
+29,9.720991719
+30,9.747886951
+31,9.772158411
+32,9.794068613
+33,9.813851436
+34,9.831717551
+35,9.847855604
+36,9.862435298
+37,9.875608842
+38,9.887513338
+39,9.898272577
+40,9.907998789
+41,9.916790307
+42,9.924738787
+43,9.931925292
+44,9.938423919
+45,9.944299875
+46,9.949614063
+47,9.954419621
+48,9.95876649
+49,9.962697426
+50,9.966253057
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-02.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-02.xml
new file mode 100644
index 0000000..80b62b0
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-02.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="ImmigrationDeath02" name="Immigration-Death (002), variant 02" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="10" constant="true"/>
+      <parameter id="Mu" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-03-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-03-mean.csv
new file mode 100644
index 0000000..72a0a55
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-03-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,4.75813
+2,9.06346
+3,12.95909
+4,16.484
+5,19.67347
+6,22.55942
+7,25.17073
+8,27.53355
+9,29.67152
+10,31.60603
+11,33.35645
+12,34.94029
+13,36.37341
+14,37.67015
+15,38.84349
+16,39.90517
+17,40.86582
+18,41.73506
+19,42.52157
+20,43.23324
+21,43.87718
+22,44.45984
+23,44.98706
+24,45.4641
+25,45.89575
+26,46.28632
+27,46.63972
+28,46.9595
+29,47.24884
+30,47.51065
+31,47.74754
+32,47.96189
+33,48.15584
+34,48.33134
+35,48.49013
+36,48.63381
+37,48.76382
+38,48.88146
+39,48.9879
+40,49.08422
+41,49.17137
+42,49.25022
+43,49.32157
+44,49.38613
+45,49.44455
+46,49.49741
+47,49.54524
+48,49.58851
+49,49.62767
+50,49.6631
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-03-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-03-sd.csv
new file mode 100644
index 0000000..63e1194
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-03-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,2.18131
+2,3.01056
+3,3.59987
+4,4.06005
+5,4.43548
+6,4.74968
+7,5.01704
+8,5.24724
+9,5.44716
+10,5.62192
+11,5.7755
+12,5.91103
+13,6.03104
+14,6.1376
+15,6.23245
+16,6.31705
+17,6.39264
+18,6.46027
+19,6.52086
+20,6.5752
+21,6.62399
+22,6.66782
+23,6.70724
+24,6.74271
+25,6.77464
+26,6.80341
+27,6.82933
+28,6.8527
+29,6.87378
+30,6.8928
+31,6.90996
+32,6.92545
+33,6.93944
+34,6.95207
+35,6.96349
+36,6.97379
+37,6.98311
+38,6.99153
+39,6.99914
+40,7.00601
+41,7.01223
+42,7.01785
+43,7.02293
+44,7.02753
+45,7.03168
+46,7.03544
+47,7.03884
+48,7.04191
+49,7.04469
+50,7.04721
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-03.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-03.xml
new file mode 100644
index 0000000..808c71e
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-03.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="ImmigrationDeath03" name="Immigration-Death (002), variant 03" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="10" constant="true"/>
+      <parameter id="Mu" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="Alpha" value="5"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-04-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-04-mean.csv
new file mode 100644
index 0000000..a5b71d5
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-04-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,951.6258
+2,1812.692
+3,2591.818
+4,3296.8
+5,3934.693
+6,4511.884
+7,5034.147
+8,5506.71
+9,5934.303
+10,6321.206
+11,6671.289
+12,6988.058
+13,7274.682
+14,7534.03
+15,7768.698
+16,7981.035
+17,8173.165
+18,8347.011
+19,8504.314
+20,8646.647
+21,8775.436
+22,8891.968
+23,8997.412
+24,9092.82
+25,9179.15
+26,9257.264
+27,9327.945
+28,9391.9
+29,9449.768
+30,9502.13
+31,9549.508
+32,9592.378
+33,9631.168
+34,9666.267
+35,9698.026
+36,9726.763
+37,9752.765
+38,9776.292
+39,9797.58
+40,9816.844
+41,9834.273
+42,9850.044
+43,9864.314
+44,9877.227
+45,9888.91
+46,9899.482
+47,9909.047
+48,9917.703
+49,9925.534
+50,9932.62
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-04-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-04-sd.csv
new file mode 100644
index 0000000..f73e6d0
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-04-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,30.84843
+2,42.57572
+3,50.9099
+4,57.41777
+5,62.72713
+6,67.17056
+7,70.95172
+8,74.20721
+9,77.03443
+10,79.50601
+11,81.67796
+12,83.59461
+13,85.29175
+14,86.79879
+15,88.14022
+16,89.33664
+17,90.40556
+18,91.36198
+19,92.21884
+20,92.98735
+21,93.6773
+22,94.29723
+23,94.85469
+24,95.35628
+25,95.80788
+26,96.21468
+27,96.58129
+28,96.91182
+29,97.20992
+30,97.47887
+31,97.72158
+32,97.94069
+33,98.13851
+34,98.31718
+35,98.47856
+36,98.62435
+37,98.75609
+38,98.87513
+39,98.98273
+40,99.07999
+41,99.1679
+42,99.24739
+43,99.31925
+44,99.38424
+45,99.443
+46,99.49614
+47,99.5442
+48,99.58766
+49,99.62697
+50,99.66253
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-04.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-04.xml
new file mode 100644
index 0000000..b37b825
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-04.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="ImmigrationDeath04" name="Immigration-Death (002), variant 04" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="1000" constant="true"/>
+      <parameter id="Mu" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-05-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-05-mean.csv
new file mode 100644
index 0000000..e0ea395
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-05-mean.csv
@@ -0,0 +1,52 @@
+time,X,Source,Sink
+0,0,0,0
+1,9.51626,0,0
+2,18.12692,0,0
+3,25.91818,0,0
+4,32.968,0,0
+5,39.34693,0,0
+6,45.11884,0,0
+7,50.34147,0,0
+8,55.0671,0,0
+9,59.34303,0,0
+10,63.21206,0,0
+11,66.71289,0,0
+12,69.88058,0,0
+13,72.74682,0,0
+14,75.3403,0,0
+15,77.68698,0,0
+16,79.81035,0,0
+17,81.73165,0,0
+18,83.47011,0,0
+19,85.04314,0,0
+20,86.46647,0,0
+21,87.75436,0,0
+22,88.91968,0,0
+23,89.97412,0,0
+24,90.9282,0,0
+25,91.7915,0,0
+26,92.57264,0,0
+27,93.27945,0,0
+28,93.919,0,0
+29,94.49768,0,0
+30,95.0213,0,0
+31,95.49508,0,0
+32,95.92378,0,0
+33,96.31168,0,0
+34,96.66267,0,0
+35,96.98026,0,0
+36,97.26763,0,0
+37,97.52765,0,0
+38,97.76292,0,0
+39,97.9758,0,0
+40,98.16844,0,0
+41,98.34273,0,0
+42,98.50044,0,0
+43,98.64314,0,0
+44,98.77227,0,0
+45,98.8891,0,0
+46,98.99482,0,0
+47,99.09047,0,0
+48,99.17703,0,0
+49,99.25534,0,0
+50,99.3262,0,0
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-05-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-05-sd.csv
new file mode 100644
index 0000000..17b3e40
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-05-sd.csv
@@ -0,0 +1,52 @@
+time,X,Source,Sink
+0,0,0,0
+1,3.084843594,0,0
+2,4.257572078,0,0
+3,5.090990081,0,0
+4,5.741776729,0,0
+5,6.272713129,0,0
+6,6.717055903,0,0
+7,7.095172302,0,0
+8,7.420720989,0,0
+9,7.703442737,0,0
+10,7.950601235,0,0
+11,8.167795908,0,0
+12,8.359460509,0,0
+13,8.529174638,0,0
+14,8.679879031,0,0
+15,8.814021783,0,0
+16,8.933663862,0,0
+17,9.040555846,0,0
+18,9.136197787,0,0
+19,9.221883756,0,0
+20,9.29873486,0,0
+21,9.367729714,0,0
+22,9.42972322,0,0
+23,9.485468887,0,0
+24,9.535627929,0,0
+25,9.580788068,0,0
+26,9.621467664,0,0
+27,9.658128701,0,0
+28,9.691181559,0,0
+29,9.720991719,0,0
+30,9.747886951,0,0
+31,9.772158411,0,0
+32,9.794068613,0,0
+33,9.813851436,0,0
+34,9.831717551,0,0
+35,9.847855604,0,0
+36,9.862435298,0,0
+37,9.875608842,0,0
+38,9.887513338,0,0
+39,9.898272577,0,0
+40,9.907998789,0,0
+41,9.916790307,0,0
+42,9.924738787,0,0
+43,9.931925292,0,0
+44,9.938423919,0,0
+45,9.944299875,0,0
+46,9.949614063,0,0
+47,9.954419621,0,0
+48,9.95876649,0,0
+49,9.962697426,0,0
+50,9.966253057,0,0
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-05.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-05.xml
new file mode 100644
index 0000000..16a89a4
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-05.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="ImmigrationDeath05" name="Immigration-Death (002), variant 05" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="Source" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="true" constant="false"/>
+      <species id="Sink" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="10" constant="true"/>
+      <parameter id="Mu" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="Source" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Sink" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-06-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-06-mean.csv
new file mode 100644
index 0000000..5bf4415
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-06-mean.csv
@@ -0,0 +1,52 @@
+time,X,Source,Sink
+0,0,0,0
+1,9.516258,0,0.4837418
+2,18.12692,0,1.873075
+3,25.91818,0,4.081822
+4,32.968,0,7.032005
+5,39.34693,0,10.65307
+6,45.11884,0,14.88116
+7,50.34147,0,19.65853
+8,55.0671,0,24.9329
+9,59.34303,0,30.65697
+10,63.21206,0,36.78794
+11,66.71289,0,43.28711
+12,69.88058,0,50.11942
+13,72.74682,0,57.25318
+14,75.3403,0,64.6597
+15,77.68698,0,72.31302
+16,79.81035,0,80.18965
+17,81.73165,0,88.26835
+18,83.47011,0,96.52989
+19,85.04314,0,104.9569
+20,86.46647,0,113.5335
+21,87.75436,0,122.2456
+22,88.91968,0,131.0803
+23,89.97412,0,140.0259
+24,90.9282,0,149.0718
+25,91.7915,0,158.2085
+26,92.57264,0,167.4274
+27,93.27945,0,176.7206
+28,93.919,0,186.081
+29,94.49768,0,195.5023
+30,95.0213,0,204.9787
+31,95.49508,0,214.5049
+32,95.92378,0,224.0762
+33,96.31168,0,233.6883
+34,96.66267,0,243.3373
+35,96.98026,0,253.0197
+36,97.26763,0,262.7324
+37,97.52765,0,272.4724
+38,97.76292,0,282.2371
+39,97.9758,0,292.0242
+40,98.16844,0,301.8316
+41,98.34273,0,311.6573
+42,98.50044,0,321.4996
+43,98.64314,0,331.3569
+44,98.77227,0,341.2277
+45,98.8891,0,351.1109
+46,98.99482,0,361.0052
+47,99.09047,0,370.9095
+48,99.17703,0,380.823
+49,99.25534,0,390.7447
+50,99.3262,0,400.6738
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-06-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-06-sd.csv
new file mode 100644
index 0000000..3f4278c
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-06-sd.csv
@@ -0,0 +1,52 @@
+time,X,Source,Sink
+0,0,0,0
+1,3.084843,0,0.6955155
+2,4.257573,0,1.368603
+3,5.09099,0,2.020352
+4,5.741776,0,2.651793
+5,6.272713,0,3.263903
+6,6.717056,0,3.857611
+7,7.095172,0,4.433794
+8,7.420721,0,4.993285
+9,7.703443,0,5.536873
+10,7.950601,0,6.065307
+11,8.167796,0,6.579294
+12,8.35946,0,7.079507
+13,8.529175,0,7.566583
+14,8.67988,0,8.041125
+15,8.814022,0,8.503706
+16,8.933664,0,8.954867
+17,9.040556,0,9.395124
+18,9.136198,0,9.824963
+19,9.221884,0,10.24485
+20,9.298735,0,10.65521
+21,9.36773,0,11.05648
+22,9.429723,0,11.44903
+23,9.485469,0,11.83325
+24,9.535628,0,12.2095
+25,9.580788,0,12.5781
+26,9.621468,0,12.93937
+27,9.658129,0,13.29363
+28,9.691181,0,13.64115
+29,9.720992,0,13.98221
+30,9.747887,0,14.31708
+31,9.772158,0,14.64599
+32,9.794069,0,14.96918
+33,9.813852,0,15.28687
+34,9.831718,0,15.59927
+35,9.847856,0,15.90659
+36,9.862435,0,16.20902
+37,9.875609,0,16.50674
+38,9.887513,0,16.79991
+39,9.898273,0,17.08872
+40,9.907999,0,17.3733
+41,9.91679,0,17.65382
+42,9.924739,0,17.93041
+43,9.931925,0,18.20321
+44,9.938424,0,18.47235
+45,9.9443,0,18.73795
+46,9.949614,0,19.00014
+47,9.95442,0,19.25901
+48,9.958766,0,19.51469
+49,9.962698,0,19.76726
+50,9.966253,0,20.01684
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-06.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-06.xml
new file mode 100644
index 0000000..a71d3ce
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-06.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="ImmigrationDeath06" name="Immigration-Death (002), variant 06" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="Source" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="true" constant="false"/>
+      <species id="Sink" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="10" constant="true"/>
+      <parameter id="Mu" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="Source" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Sink" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-07-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-07-mean.csv
new file mode 100644
index 0000000..e0ea395
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-07-mean.csv
@@ -0,0 +1,52 @@
+time,X,Source,Sink
+0,0,0,0
+1,9.51626,0,0
+2,18.12692,0,0
+3,25.91818,0,0
+4,32.968,0,0
+5,39.34693,0,0
+6,45.11884,0,0
+7,50.34147,0,0
+8,55.0671,0,0
+9,59.34303,0,0
+10,63.21206,0,0
+11,66.71289,0,0
+12,69.88058,0,0
+13,72.74682,0,0
+14,75.3403,0,0
+15,77.68698,0,0
+16,79.81035,0,0
+17,81.73165,0,0
+18,83.47011,0,0
+19,85.04314,0,0
+20,86.46647,0,0
+21,87.75436,0,0
+22,88.91968,0,0
+23,89.97412,0,0
+24,90.9282,0,0
+25,91.7915,0,0
+26,92.57264,0,0
+27,93.27945,0,0
+28,93.919,0,0
+29,94.49768,0,0
+30,95.0213,0,0
+31,95.49508,0,0
+32,95.92378,0,0
+33,96.31168,0,0
+34,96.66267,0,0
+35,96.98026,0,0
+36,97.26763,0,0
+37,97.52765,0,0
+38,97.76292,0,0
+39,97.9758,0,0
+40,98.16844,0,0
+41,98.34273,0,0
+42,98.50044,0,0
+43,98.64314,0,0
+44,98.77227,0,0
+45,98.8891,0,0
+46,98.99482,0,0
+47,99.09047,0,0
+48,99.17703,0,0
+49,99.25534,0,0
+50,99.3262,0,0
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-07-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-07-sd.csv
new file mode 100644
index 0000000..17b3e40
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-07-sd.csv
@@ -0,0 +1,52 @@
+time,X,Source,Sink
+0,0,0,0
+1,3.084843594,0,0
+2,4.257572078,0,0
+3,5.090990081,0,0
+4,5.741776729,0,0
+5,6.272713129,0,0
+6,6.717055903,0,0
+7,7.095172302,0,0
+8,7.420720989,0,0
+9,7.703442737,0,0
+10,7.950601235,0,0
+11,8.167795908,0,0
+12,8.359460509,0,0
+13,8.529174638,0,0
+14,8.679879031,0,0
+15,8.814021783,0,0
+16,8.933663862,0,0
+17,9.040555846,0,0
+18,9.136197787,0,0
+19,9.221883756,0,0
+20,9.29873486,0,0
+21,9.367729714,0,0
+22,9.42972322,0,0
+23,9.485468887,0,0
+24,9.535627929,0,0
+25,9.580788068,0,0
+26,9.621467664,0,0
+27,9.658128701,0,0
+28,9.691181559,0,0
+29,9.720991719,0,0
+30,9.747886951,0,0
+31,9.772158411,0,0
+32,9.794068613,0,0
+33,9.813851436,0,0
+34,9.831717551,0,0
+35,9.847855604,0,0
+36,9.862435298,0,0
+37,9.875608842,0,0
+38,9.887513338,0,0
+39,9.898272577,0,0
+40,9.907998789,0,0
+41,9.916790307,0,0
+42,9.924738787,0,0
+43,9.931925292,0,0
+44,9.938423919,0,0
+45,9.944299875,0,0
+46,9.949614063,0,0
+47,9.954419621,0,0
+48,9.95876649,0,0
+49,9.962697426,0,0
+50,9.966253057,0,0
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-07.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-07.xml
new file mode 100644
index 0000000..0ca547e
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-07.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="ImmigrationDeath07" name="Immigration-Death (002), variant 07" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="Source" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="true" constant="false"/>
+      <species id="Sink" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="true" constant="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="10" constant="true"/>
+      <parameter id="Mu" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="Source" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="Sink" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-08-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-08-mean.csv
new file mode 100644
index 0000000..dd34404
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-08-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,0.9516258
+2,1.812692
+3,2.591818
+4,3.2968
+5,3.934693
+6,4.511884
+7,5.034147
+8,5.50671
+9,5.934303
+10,6.321206
+11,6.671289
+12,6.988058
+13,7.274682
+14,7.53403
+15,7.768698
+16,7.981035
+17,8.173165
+18,8.347011
+19,8.504314
+20,8.646647
+21,8.775436
+22,8.891968
+23,8.997412
+24,9.09282
+25,9.17915
+26,9.257264
+27,9.327945
+28,9.3919
+29,9.449768
+30,9.50213
+31,9.549508
+32,9.592378
+33,9.631168
+34,9.666267
+35,9.698026
+36,9.726763
+37,9.752765
+38,9.776292
+39,9.79758
+40,9.816844
+41,9.834273
+42,9.850044
+43,9.864314
+44,9.877227
+45,9.88891
+46,9.899482
+47,9.909047
+48,9.917703
+49,9.925534
+50,9.93262
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-08-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-08-sd.csv
new file mode 100644
index 0000000..2d02995
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-08-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,0.975513096
+2,1.346362507
+3,1.60991242
+4,1.815709228
+5,1.98360606
+6,2.124119582
+7,2.243690487
+8,2.346638021
+9,2.436042487
+10,2.514200867
+11,2.582883853
+12,2.643493522
+13,2.697161842
+14,2.744818755
+15,2.787238418
+16,2.825072565
+17,2.858874779
+18,2.889119416
+19,2.916215698
+20,2.940518152
+21,2.96233624
+22,2.981940308
+23,2.999568636
+24,3.015430318
+25,3.029711207
+26,3.042575225
+27,3.054168463
+28,3.064620694
+29,3.074047495
+30,3.082552514
+31,3.090227823
+32,3.097156438
+33,3.103412316
+34,3.109062077
+35,3.114165378
+36,3.118775882
+37,3.122941722
+38,3.126706254
+39,3.130108624
+40,3.133184323
+41,3.135964445
+42,3.138477975
+43,3.140750547
+44,3.142805594
+45,3.144663734
+46,3.146344228
+47,3.147863879
+48,3.149238479
+49,3.15048155
+50,3.15160594
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-08.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-08.xml
new file mode 100644
index 0000000..3d01ed6
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-08.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="ImmigrationDeath08" name="Immigration-Death (002), variant 08" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k" value="2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> k </ci>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+          <listOfLocalParameters>
+            <localParameter id="k" value="0.1"/>
+          </listOfLocalParameters>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-09-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-09-mean.csv
new file mode 100644
index 0000000..2b12b12
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-09-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,0.9516258
+2,1.812692
+3,2.591818
+4,3.2968
+5,3.934693
+6,4.511884
+7,5.034147
+8,5.50671
+9,5.934303
+10,6.321206
+11,6.671289
+12,6.988058
+13,7.274682
+14,7.53403
+15,7.768698
+16,7.981035
+17,8.173165
+18,8.347011
+19,8.504314
+20,8.646647
+21,8.775436
+22,8.891968
+23,8.997412
+24,9.09282
+25,50.0
+26,46.1934967214
+27,42.7492301231
+28,39.6327288273
+29,36.8128018414
+30,34.2612263885
+31,31.9524654438
+32,29.8634121517
+33,27.9731585647
+34,26.2627863896
+35,24.7151776469
+36,23.3148433479
+37,22.0477684765
+38,20.9012717214
+39,19.8638785577
+40,18.9252064059
+41,18.0758607198
+42,17.3073409621
+43,16.6119555289
+44,15.9827447689
+45,15.4134113295
+46,14.8982571301
+47,14.4321263345
+48,14.0103537489
+49,13.6287181316
+50,13.283399945
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-09-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-09-sd.csv
new file mode 100644
index 0000000..7985af1
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-09-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,0.975513096
+2,1.346362507
+3,1.60991242
+4,1.815709228
+5,1.98360606
+6,2.124119582
+7,2.243690487
+8,2.346638021
+9,2.436042487
+10,2.514200867
+11,2.582883853
+12,2.643493522
+13,2.697161842
+14,2.744818755
+15,2.787238418
+16,2.825072565
+17,2.858874779
+18,2.889119416
+19,2.916215698
+20,2.940518152
+21,2.96233624
+22,2.981940308
+23,2.999568636
+24,3.015430318
+25,0.0
+26,2.29280593761
+27,3.03862268492
+28,3.49172550791
+29,3.7876580674
+30,3.9833722309
+31,4.11007966445
+32,4.18730987086
+33,4.22827774217
+34,4.24238635423
+35,4.23655679592
+36,4.21600349025
+37,4.18471872556
+38,4.14579218131
+39,4.10163082522
+40,4.05411556169
+41,4.00471603499
+42,3.95457677433
+43,3.90458312839
+44,3.85541258183
+45,3.80757526321
+46,3.76144630283
+47,3.71729193625
+48,3.67529073159
+49,3.6355509595
+50,3.59812487207
\ No newline at end of file
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-09.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-09.xml
new file mode 100644
index 0000000..d4b139f
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-09.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="ImmigrationDeath09" name="Immigration-Death (002), variant 09" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="1" constant="true"/>
+      <parameter id="Mu" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="reset">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+              <cn type="integer"> 25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="X">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 50 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-10-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-10-mean.csv
new file mode 100644
index 0000000..60179f8
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-10-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,0.9516258
+2,1.812692
+3,2.591818
+4,3.2968
+5,3.934693
+6,4.511884
+7,5.034147
+8,5.50671
+9,5.934303
+10,6.321206
+11,6.671289
+12,6.988058
+13,7.274682
+14,7.53403
+15,7.768698
+16,7.981035
+17,8.173165
+18,8.347011
+19,8.504314
+20,8.646647
+21,8.775436
+22,8.891968
+23,19.512294245
+24,18.6070797643
+25,17.7880078307
+26,17.0468808972
+27,16.3762815162
+28,15.7694981038
+29,15.2204577676
+30,14.7236655274
+31,14.2741493195
+32,13.8674102345
+33,13.4993774911
+34,13.1663676938
+35,12.8650479686
+36,12.5924026065
+37,12.3457028809
+38,12.1224797383
+39,11.9204990862
+40,11.7377394345
+41,11.5723716631
+42,11.4227407159
+43,11.2873490359
+44,11.1648415777
+45,11.0539922456
+46,10.9536916222
+47,10.862935865
+48,10.78081666
+49,10.7065121306
+50,10.6392786121
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-10-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-10-sd.csv
new file mode 100644
index 0000000..14dff4c
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-10-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0
+1,0.975513096
+2,1.346362507
+3,1.60991242
+4,1.815709228
+5,1.98360606
+6,2.124119582
+7,2.243690487
+8,2.346638021
+9,2.436042487
+10,2.514200867
+11,2.582883853
+12,2.643493522
+13,2.697161842
+14,2.744818755
+15,2.787238418
+16,2.825072565
+17,2.858874779
+18,2.889119416
+19,2.916215698
+20,2.940518152
+21,2.96233624
+22,2.981940308
+23,1.18976715549
+24,1.94697595019
+25,2.37852782966
+26,2.66742850351
+27,2.87139135636
+28,3.01862161091
+29,3.12567143298
+30,3.20328929765
+31,3.25890761428
+32,3.29788384424
+33,3.32419146952
+34,3.34083684417
+35,3.35012656419
+36,3.3538473954
+37,3.35339208561
+38,3.34985009969
+39,3.34407472078
+40,3.3367336972
+41,3.32834810886
+42,3.31932259459
+43,3.30996911282
+44,3.30052577592
+45,3.29117187562
+46,3.28203992665
+47,3.27322535179
+48,3.26479428582
+49,3.25678986925
+50,3.24923732333
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-10.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-10.xml
new file mode 100644
index 0000000..008c627
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-002-10.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="ImmigrationDeath09" name="Immigration-Death (002), variant 10" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="1" constant="true"/>
+      <parameter id="Mu" value="0.1" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="reset">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+              <cn> 22.5 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="X">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 20 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-01-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-01-mean.csv
new file mode 100644
index 0000000..457ff84
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-01-mean.csv
@@ -0,0 +1,52 @@
+Time,P,P2
+0,100,0
+1,91.031766,4.484117
+2,83.61694,8.19153
+3,77.396987,11.301506
+4,72.115319,13.94234
+5,67.583559,16.208221
+6,63.660332,18.169834
+7,60.237496,19.881252
+8,57.230932,21.384534
+9,54.574231,22.712885
+10,52.214271,23.892864
+11,50.108057,24.945972
+12,48.220414,25.889793
+13,46.522291,26.738854
+14,44.989483,27.505258
+15,43.60166,28.19917
+16,42.341623,28.829189
+17,41.194721,29.402639
+18,40.148402,29.925799
+19,39.191842,30.404079
+20,38.315665,30.842168
+21,37.511705,31.244147
+22,36.77282,31.61359
+23,36.092734,31.953633
+24,35.465912,32.267044
+25,34.887453,32.556273
+26,34.353005,32.823498
+27,33.858686,33.070657
+28,33.401027,33.299486
+29,32.976919,33.511541
+30,32.583564,33.708218
+31,32.218442,33.890779
+32,31.879275,34.060362
+33,31.564003,34.217998
+34,31.270754,34.364623
+35,30.997828,34.501086
+36,30.743674,34.628163
+37,30.506879,34.746561
+38,30.286151,34.856925
+39,30.080307,34.959847
+40,29.888262,35.055869
+41,29.709021,35.145489
+42,29.54167,35.229165
+43,29.385364,35.307318
+44,29.23933,35.380335
+45,29.10285,35.448575
+46,28.975263,35.512368
+47,28.855959,35.57202
+48,28.744373,35.627814
+49,28.639981,35.68001
+50,28.542298,35.728851
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-01-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-01-sd.csv
new file mode 100644
index 0000000..ed12733
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-01-sd.csv
@@ -0,0 +1,52 @@
+Time,P,P2
+0,0,0
+1,3.862504,1.931252
+2,4.815194,2.407597
+3,5.26609,2.633045
+4,5.489485,2.744742
+5,5.592782,2.796391
+6,5.628348,2.814174
+7,5.624594,2.812297
+8,5.597947,2.798974
+9,5.558298,2.779149
+10,5.51176,2.75588
+11,5.462172,2.731086
+12,5.411959,2.705979
+13,5.362641,2.68132
+14,5.315155,2.657577
+15,5.270054,2.635027
+16,5.227638,2.613819
+17,5.188036,2.594018
+18,5.151268,2.575634
+19,5.117279,2.558639
+20,5.085969,2.542984
+21,5.057209,2.528605
+22,5.030854,2.515427
+23,5.006752,2.503376
+24,4.984748,2.492374
+25,4.964691,2.482345
+26,4.946431,2.473216
+27,4.92983,2.464915
+28,4.914752,2.457376
+29,4.901072,2.450536
+30,4.888673,2.444337
+31,4.877445,2.438723
+32,4.867287,2.433644
+33,4.858105,2.429052
+34,4.849811,2.424906
+35,4.842327,2.421163
+36,4.835578,2.417789
+37,4.829498,2.414749
+38,4.824024,2.412012
+39,4.819101,2.409551
+40,4.814677,2.407339
+41,4.810705,2.405353
+42,4.807142,2.403571
+43,4.803949,2.401974
+44,4.80109,2.400545
+45,4.798532,2.399266
+46,4.796247,2.398124
+47,4.794208,2.397104
+48,4.79239,2.396195
+49,4.790771,2.395385
+50,4.789331,2.394665
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-01.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-01.xml
new file mode 100644
index 0000000..499b9ab
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-01.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Dimerisation01" name="Dimerisation model (003), variant 01" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="P" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="P2" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.001" constant="true"/>
+      <parameter id="k2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Dimerisation" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="2" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> k1 </ci>
+                <ci> P </ci>
+                <apply>
+                  <minus/>
+                  <ci> P </ci>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+              </apply>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Disassociation" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> P2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-02-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-02-mean.csv
new file mode 100644
index 0000000..033a50b
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-02-mean.csv
@@ -0,0 +1,52 @@
+Time,P,P2
+0,1000,0
+1,833.775625,83.112188
+2,715.495313,142.252343
+3,627.159302,186.420349
+4,558.773544,220.613228
+5,504.344816,247.827592
+6,460.061025,269.969488
+7,423.381776,288.309112
+8,392.548909,303.725545
+9,366.306929,316.846535
+10,343.735327,328.132336
+11,324.143827,337.928087
+12,307.004622,346.497689
+13,291.90722,354.04639
+14,278.527545,360.736227
+15,266.606332,366.696834
+16,255.933678,372.033161
+17,246.337825,376.831088
+18,237.676865,381.161568
+19,229.832516,385.083742
+20,222.705402,388.647299
+21,216.211413,391.894294
+22,210.278879,394.86056
+23,204.846354,397.576823
+24,199.860848,400.069576
+25,195.276425,402.361788
+26,191.053061,404.47347
+27,187.155726,406.422137
+28,183.553628,408.223186
+29,180.21959,409.890205
+30,177.129533,411.435233
+31,174.262054,412.868973
+32,171.598056,414.200972
+33,169.120456,415.439772
+34,166.813919,416.593041
+35,164.664646,417.667677
+36,162.660188,418.669906
+37,160.789281,419.605359
+38,159.041718,420.479141
+39,157.408219,421.295891
+40,155.880339,422.059831
+41,154.450371,422.774815
+42,153.111272,423.444364
+43,151.856593,424.071704
+44,150.680419,424.659791
+45,149.577317,425.211342
+46,148.542288,425.728856
+47,147.570727,426.214636
+48,146.658387,426.670807
+49,145.801342,427.099329
+50,144.995965,427.502018
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-02-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-02-sd.csv
new file mode 100644
index 0000000..fbebd92
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-02-sd.csv
@@ -0,0 +1,52 @@
+Time,P,P2
+0,0,0
+1,15.287342,7.643671
+2,17.390293,8.695147
+3,17.757485,8.878742
+4,17.556405,8.778202
+5,17.15378,8.57689
+6,16.689629,8.344815
+7,16.222018,8.111009
+8,15.775414,7.887707
+9,15.359448,7.679724
+10,14.976939,7.488469
+11,14.627542,7.313771
+12,14.309493,7.154747
+13,14.020461,7.01023
+14,13.757964,6.878982
+15,13.519576,6.759788
+16,13.303021,6.65151
+17,13.106206,6.553103
+18,12.927231,6.463616
+19,12.764385,6.382193
+20,12.616127,6.308064
+21,12.481076,6.240538
+22,12.357992,6.178996
+23,12.24576,6.12288
+24,12.143381,6.07169
+25,12.049954,6.024977
+26,11.964669,5.982334
+27,11.886793,5.943396
+28,11.815665,5.907833
+29,11.750688,5.875344
+30,11.69132,5.84566
+31,11.63707,5.818535
+32,11.587491,5.793745
+33,11.542179,5.771089
+34,11.500764,5.750382
+35,11.462911,5.731455
+36,11.428313,5.714157
+37,11.396693,5.698347
+38,11.367795,5.683898
+39,11.341387,5.670694
+40,11.317257,5.658628
+41,11.29521,5.647605
+42,11.275069,5.637534
+43,11.256672,5.628336
+44,11.239871,5.619935
+45,11.224529,5.612264
+46,11.210522,5.605261
+47,11.197737,5.598868
+48,11.186069,5.593034
+49,11.175423,5.587711
+50,11.165711,5.582855
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-02.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-02.xml
new file mode 100644
index 0000000..8fa8f6e
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-02.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Dimerisation02" name="Dimerisation model (003), variant 02" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="P" compartment="Cell" initialAmount="1000" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="P2" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.0002" constant="true"/>
+      <parameter id="k2" value="0.004" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Dimerisation" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="2" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> k1 </ci>
+                <ci> P </ci>
+                <apply>
+                  <minus/>
+                  <ci> P </ci>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+              </apply>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Disassociation" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> P2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-03-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-03-mean.csv
new file mode 100644
index 0000000..5b463bb
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-03-mean.csv
@@ -0,0 +1,52 @@
+Time,P,P2
+0,100,0
+1,91.031766,4.484117
+2,83.61694,8.19153
+3,77.396987,11.301506
+4,72.115319,13.94234
+5,67.583559,16.208221
+6,63.660332,18.169834
+7,60.237496,19.881252
+8,57.230932,21.384534
+9,54.574231,22.712885
+10,52.214271,23.892864
+11,50.108057,24.945972
+12,48.220414,25.889793
+13,46.522291,26.738854
+14,44.989483,27.505258
+15,43.60166,28.19917
+16,42.341623,28.829189
+17,41.194721,29.402639
+18,40.148402,29.925799
+19,39.191842,30.404079
+20,38.315665,30.842168
+21,37.511705,31.244147
+22,36.77282,31.61359
+23,36.092734,31.953633
+24,35.465912,32.267044
+25,100,0
+26,91.031766,4.484117
+27,83.61694,8.19153
+28,77.396987,11.301506
+29,72.115319,13.94234
+30,67.583559,16.208221
+31,63.660332,18.169834
+32,60.237496,19.881252
+33,57.230932,21.384534
+34,54.574231,22.712885
+35,52.214271,23.892864
+36,50.108057,24.945972
+37,48.220414,25.889793
+38,46.522291,26.738854
+39,44.989483,27.505258
+40,43.60166,28.19917
+41,42.341623,28.829189
+42,41.194721,29.402639
+43,40.148402,29.925799
+44,39.191842,30.404079
+45,38.315665,30.842168
+46,37.511705,31.244147
+47,36.77282,31.61359
+48,36.092734,31.953633
+49,35.465912,32.267044
+50,34.887453,32.556273
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-03-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-03-sd.csv
new file mode 100644
index 0000000..ed9286e
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-03-sd.csv
@@ -0,0 +1,52 @@
+Time,P,P2
+0,0,0
+1,3.862504,1.931252
+2,4.815194,2.407597
+3,5.26609,2.633045
+4,5.489485,2.744742
+5,5.592782,2.796391
+6,5.628348,2.814174
+7,5.624594,2.812297
+8,5.597947,2.798974
+9,5.558298,2.779149
+10,5.51176,2.75588
+11,5.462172,2.731086
+12,5.411959,2.705979
+13,5.362641,2.68132
+14,5.315155,2.657577
+15,5.270054,2.635027
+16,5.227638,2.613819
+17,5.188036,2.594018
+18,5.151268,2.575634
+19,5.117279,2.558639
+20,5.085969,2.542984
+21,5.057209,2.528605
+22,5.030854,2.515427
+23,5.006752,2.503376
+24,4.984748,2.492374
+25,0,0
+26,3.862504,1.931252
+27,4.815194,2.407597
+28,5.26609,2.633045
+29,5.489485,2.744742
+30,5.592782,2.796391
+31,5.628348,2.814174
+32,5.624594,2.812297
+33,5.597947,2.798974
+34,5.558298,2.779149
+35,5.51176,2.75588
+36,5.462172,2.731086
+37,5.411959,2.705979
+38,5.362641,2.68132
+39,5.315155,2.657577
+40,5.270054,2.635027
+41,5.227638,2.613819
+42,5.188036,2.594018
+43,5.151268,2.575634
+44,5.117279,2.558639
+45,5.085969,2.542984
+46,5.057209,2.528605
+47,5.030854,2.515427
+48,5.006752,2.503376
+49,4.984748,2.492374
+50,4.964691,2.482345
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-03.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-03.xml
new file mode 100644
index 0000000..9eb9c9d
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-03.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Dimerisation03" name="Dimerisation model (003), variant 03" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="P" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="P2" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.001" constant="true"/>
+      <parameter id="k2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Dimerisation" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="2" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> k1 </ci>
+                <ci> P </ci>
+                <apply>
+                  <minus/>
+                  <ci> P </ci>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+              </apply>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Disassociation" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> P2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="reset">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <geq/>
+              <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
+              <cn type="integer"> 25 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="P">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 100 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="P2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-04-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-04-mean.csv
new file mode 100644
index 0000000..254a0a8
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-04-mean.csv
@@ -0,0 +1,52 @@
+Time,P,P2
+0,100,0
+1,91.031766,4.484117
+2,83.61694,8.19153
+3,77.396987,11.301506
+4,72.11532,13.94234
+5,67.58357,16.208215
+6,63.660652,18.169674
+7,60.241525,19.879237
+8,57.259404,21.370298
+9,54.705487,22.647257
+10,52.65165,23.674175
+11,51.241282,24.379359
+12,50.629007,24.685496
+13,50.894888,24.552556
+14,51.9837,24.00815
+15,53.701505,23.149247
+16,55.763834,22.118083
+17,57.865479,21.067261
+18,59.741684,20.129158
+19,61.204643,19.397678
+20,62.154097,18.922952
+21,62.56949,18.715255
+22,62.492938,18.753531
+23,62.010078,18.994961
+24,61.232533,19.383733
+25,60.28305,19.858475
+26,59.283033,20.358484
+27,58.342045,20.828977
+28,57.549233,21.225384
+29,56.967113,21.516443
+30,56.628328,21.685836
+31,56.535711,21.732145
+32,56.665592,21.667204
+33,56.973702,21.513149
+34,57.402696,21.298652
+35,57.890188,21.054906
+36,58.376228,20.811886
+37,58.809437,20.595282
+38,59.151292,20.424354
+39,59.378402,20.310799
+40,59.482812,20.258594
+41,59.470654,20.264673
+42,59.359498,20.320251
+43,59.174899,20.41255
+44,58.94659,20.526705
+45,58.704772,20.647614
+46,58.476869,20.761566
+47,58.285024,20.857488
+48,58.144491,20.927754
+49,58.062983,20.968508
+50,58.0409,20.97955
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-04-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-04-sd.csv
new file mode 100644
index 0000000..707795d
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-04-sd.csv
@@ -0,0 +1,52 @@
+Time,P,P2
+0,0,0
+1,3.862504,1.931252
+2,4.815194,2.407597
+3,5.26609,2.633045
+4,5.489485,2.744742
+5,5.592782,2.796391
+6,5.628553,2.814277
+7,5.629354,2.814677
+8,5.644596,2.822298
+9,5.819744,2.909872
+10,6.461539,3.230769
+11,7.869708,3.934854
+12,10.018325,5.009163
+13,12.560974,6.280487
+14,15.061078,7.530539
+15,17.154083,8.577042
+16,18.618783,9.309391
+17,19.389595,9.694797
+18,19.529099,9.764549
+19,19.180337,9.590169
+20,18.516868,9.258434
+21,17.702558,8.851279
+22,16.866746,8.433373
+23,16.095863,8.047932
+24,15.439193,7.719596
+25,14.92299,7.461495
+26,14.564765,7.282382
+27,14.380218,7.190109
+28,14.379936,7.189968
+29,14.559591,7.279795
+30,14.8919,7.44595
+31,15.327127,7.663564
+32,15.802472,7.901236
+33,16.255258,8.127629
+34,16.634262,8.317131
+35,16.90626,8.45313
+36,17.0576,8.5288
+37,17.092033,8.546017
+38,17.026367,8.513184
+39,16.885351,8.442675
+40,16.696881,8.348441
+41,16.48822,8.24411
+42,16.283475,8.141738
+43,16.102238,8.051119
+44,15.958999,7.9795
+45,15.862951,7.931475
+46,15.817928,7.908964
+47,15.822498,7.911249
+48,15.870371,7.935185
+49,15.951297,7.975649
+50,16.052483,8.026242
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-04.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-04.xml
new file mode 100644
index 0000000..196e66c
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-04.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Dimerisation04" name="Dimerisation model (003), variant 04" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="P" compartment="Cell" initialAmount="100" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species id="P2" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.001" constant="true"/>
+      <parameter id="k2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Dimerisation" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="P" stoichiometry="2" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> k1 </ci>
+                <ci> P </ci>
+                <apply>
+                  <minus/>
+                  <ci> P </ci>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+              </apply>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Disassociation" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="P" stoichiometry="2" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> P2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+    <listOfEvents>
+      <event id="reset">
+        <trigger>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <gt/>
+              <ci> P2 </ci>
+              <cn type="integer"> 30 </cn>
+            </apply>
+          </math>
+        </trigger>
+        <listOfEventAssignments>
+          <eventAssignment variable="P">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 100 </cn>
+            </math>
+          </eventAssignment>
+          <eventAssignment variable="P2">
+            <math xmlns="http://www.w3.org/1998/Math/MathML">
+              <cn type="integer"> 0 </cn>
+            </math>
+          </eventAssignment>
+        </listOfEventAssignments>
+      </event>
+    </listOfEvents>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-05-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-05-mean.csv
new file mode 100644
index 0000000..87286c7
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-05-mean.csv
@@ -0,0 +1,52 @@
+Time,P2
+0,0
+1,4.484117
+2,8.19153
+3,11.301506
+4,13.94234
+5,16.208221
+6,18.169834
+7,19.881252
+8,21.384534
+9,22.712885
+10,23.892864
+11,24.945972
+12,25.889793
+13,26.738854
+14,27.505258
+15,28.19917
+16,28.829189
+17,29.402639
+18,29.925799
+19,30.404079
+20,30.842168
+21,31.244147
+22,31.61359
+23,31.953633
+24,32.267044
+25,32.556273
+26,32.823498
+27,33.070657
+28,33.299486
+29,33.511541
+30,33.708218
+31,33.890779
+32,34.060362
+33,34.217998
+34,34.364623
+35,34.501086
+36,34.628163
+37,34.746561
+38,34.856925
+39,34.959847
+40,35.055869
+41,35.145489
+42,35.229165
+43,35.307318
+44,35.380335
+45,35.448575
+46,35.512368
+47,35.57202
+48,35.627814
+49,35.68001
+50,35.728851
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-05-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-05-sd.csv
new file mode 100644
index 0000000..b26a98a
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-05-sd.csv
@@ -0,0 +1,52 @@
+Time,P2
+0,0
+1,1.931252
+2,2.407597
+3,2.633045
+4,2.744742
+5,2.796391
+6,2.814174
+7,2.812297
+8,2.798974
+9,2.779149
+10,2.75588
+11,2.731086
+12,2.705979
+13,2.68132
+14,2.657577
+15,2.635027
+16,2.613819
+17,2.594018
+18,2.575634
+19,2.558639
+20,2.542984
+21,2.528605
+22,2.515427
+23,2.503376
+24,2.492374
+25,2.482345
+26,2.473216
+27,2.464915
+28,2.457376
+29,2.450536
+30,2.444337
+31,2.438723
+32,2.433644
+33,2.429052
+34,2.424906
+35,2.421163
+36,2.417789
+37,2.414749
+38,2.412012
+39,2.409551
+40,2.407339
+41,2.405353
+42,2.403571
+43,2.401974
+44,2.400545
+45,2.399266
+46,2.398124
+47,2.397104
+48,2.396195
+49,2.395385
+50,2.394665
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-05.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-05.xml
new file mode 100644
index 0000000..9f3a132
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-05.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Dimerisation05" name="Dimerisation model (003), variant 05" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="P2" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.001" constant="true"/>
+      <parameter id="k2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Dimerisation" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <cn> 0.5 </cn>
+              <ci> k1 </ci>
+              <apply>
+                <minus/>
+                <cn type="integer"> 100 </cn>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> P2 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <minus/>
+                <cn type="integer"> 99 </cn>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> P2 </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Disassociation" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> P2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-06-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-06-mean.csv
new file mode 100644
index 0000000..87286c7
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-06-mean.csv
@@ -0,0 +1,52 @@
+Time,P2
+0,0
+1,4.484117
+2,8.19153
+3,11.301506
+4,13.94234
+5,16.208221
+6,18.169834
+7,19.881252
+8,21.384534
+9,22.712885
+10,23.892864
+11,24.945972
+12,25.889793
+13,26.738854
+14,27.505258
+15,28.19917
+16,28.829189
+17,29.402639
+18,29.925799
+19,30.404079
+20,30.842168
+21,31.244147
+22,31.61359
+23,31.953633
+24,32.267044
+25,32.556273
+26,32.823498
+27,33.070657
+28,33.299486
+29,33.511541
+30,33.708218
+31,33.890779
+32,34.060362
+33,34.217998
+34,34.364623
+35,34.501086
+36,34.628163
+37,34.746561
+38,34.856925
+39,34.959847
+40,35.055869
+41,35.145489
+42,35.229165
+43,35.307318
+44,35.380335
+45,35.448575
+46,35.512368
+47,35.57202
+48,35.627814
+49,35.68001
+50,35.728851
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-06-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-06-sd.csv
new file mode 100644
index 0000000..b26a98a
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-06-sd.csv
@@ -0,0 +1,52 @@
+Time,P2
+0,0
+1,1.931252
+2,2.407597
+3,2.633045
+4,2.744742
+5,2.796391
+6,2.814174
+7,2.812297
+8,2.798974
+9,2.779149
+10,2.75588
+11,2.731086
+12,2.705979
+13,2.68132
+14,2.657577
+15,2.635027
+16,2.613819
+17,2.594018
+18,2.575634
+19,2.558639
+20,2.542984
+21,2.528605
+22,2.515427
+23,2.503376
+24,2.492374
+25,2.482345
+26,2.473216
+27,2.464915
+28,2.457376
+29,2.450536
+30,2.444337
+31,2.438723
+32,2.433644
+33,2.429052
+34,2.424906
+35,2.421163
+36,2.417789
+37,2.414749
+38,2.412012
+39,2.409551
+40,2.407339
+41,2.405353
+42,2.403571
+43,2.401974
+44,2.400545
+45,2.399266
+46,2.398124
+47,2.397104
+48,2.396195
+49,2.395385
+50,2.394665
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-06.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-06.xml
new file mode 100644
index 0000000..7e9d39b
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-06.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Dimerisation06" name="Dimerisation model (003), variant 06" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="P2" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.001" constant="true"/>
+      <parameter id="k2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Dimerisation" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> k1 </ci>
+                <apply>
+                  <minus/>
+                  <cn type="integer"> 100 </cn>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> 2 </cn>
+                    <ci> P2 </ci>
+                  </apply>
+                </apply>
+                <apply>
+                  <minus/>
+                  <apply>
+                    <minus/>
+                    <cn type="integer"> 100 </cn>
+                    <apply>
+                      <times/>
+                      <cn type="integer"> 2 </cn>
+                      <ci> P2 </ci>
+                    </apply>
+                  </apply>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+              </apply>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Disassociation" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> P2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-07-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-07-mean.csv
new file mode 100644
index 0000000..87286c7
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-07-mean.csv
@@ -0,0 +1,52 @@
+Time,P2
+0,0
+1,4.484117
+2,8.19153
+3,11.301506
+4,13.94234
+5,16.208221
+6,18.169834
+7,19.881252
+8,21.384534
+9,22.712885
+10,23.892864
+11,24.945972
+12,25.889793
+13,26.738854
+14,27.505258
+15,28.19917
+16,28.829189
+17,29.402639
+18,29.925799
+19,30.404079
+20,30.842168
+21,31.244147
+22,31.61359
+23,31.953633
+24,32.267044
+25,32.556273
+26,32.823498
+27,33.070657
+28,33.299486
+29,33.511541
+30,33.708218
+31,33.890779
+32,34.060362
+33,34.217998
+34,34.364623
+35,34.501086
+36,34.628163
+37,34.746561
+38,34.856925
+39,34.959847
+40,35.055869
+41,35.145489
+42,35.229165
+43,35.307318
+44,35.380335
+45,35.448575
+46,35.512368
+47,35.57202
+48,35.627814
+49,35.68001
+50,35.728851
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-07-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-07-sd.csv
new file mode 100644
index 0000000..b26a98a
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-07-sd.csv
@@ -0,0 +1,52 @@
+Time,P2
+0,0
+1,1.931252
+2,2.407597
+3,2.633045
+4,2.744742
+5,2.796391
+6,2.814174
+7,2.812297
+8,2.798974
+9,2.779149
+10,2.75588
+11,2.731086
+12,2.705979
+13,2.68132
+14,2.657577
+15,2.635027
+16,2.613819
+17,2.594018
+18,2.575634
+19,2.558639
+20,2.542984
+21,2.528605
+22,2.515427
+23,2.503376
+24,2.492374
+25,2.482345
+26,2.473216
+27,2.464915
+28,2.457376
+29,2.450536
+30,2.444337
+31,2.438723
+32,2.433644
+33,2.429052
+34,2.424906
+35,2.421163
+36,2.417789
+37,2.414749
+38,2.412012
+39,2.409551
+40,2.407339
+41,2.405353
+42,2.403571
+43,2.401974
+44,2.400545
+45,2.399266
+46,2.398124
+47,2.397104
+48,2.396195
+49,2.395385
+50,2.394665
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-07.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-07.xml
new file mode 100644
index 0000000..4420d5f
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-003-07.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="Dimerisation07" name="Dimerisation model (003), variant 07" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="P2" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.001" constant="true"/>
+      <parameter id="k2" value="0.01" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Dimerisation" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> k1 </ci>
+                <apply>
+                  <minus/>
+                  <cn type="integer"> 100 </cn>
+                  <apply>
+                    <times/>
+                    <cn type="integer"> 2 </cn>
+                    <ci> P2 </ci>
+                  </apply>
+                </apply>
+                <apply>
+                  <minus/>
+                  <apply>
+                    <minus/>
+                    <cn type="integer"> 100 </cn>
+                    <apply>
+                      <times/>
+                      <cn type="integer"> 2 </cn>
+                      <ci> P2 </ci>
+                    </apply>
+                  </apply>
+                  <cn type="integer"> 1 </cn>
+                </apply>
+              </apply>
+              <cn type="integer"> 2 </cn>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Disassociation" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="P2" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> P2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-01-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-01-mean.csv
new file mode 100644
index 0000000..223f45f
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-01-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0, 0.000000
+1, 4.531731
+2, 8.241999
+3,11.279709
+4,13.766776
+5,15.803014
+6,17.470145
+7,18.835076
+8,19.952587
+9,20.867528
+10,21.616618
+11,22.229921
+12,22.732051
+13,23.143161
+14,23.479748
+15,23.755323
+16,23.980945
+17,24.165668
+18,24.316907
+19,24.440731
+20,24.542109
+21,24.625111
+22,24.693067
+23,24.748704
+24,24.794256
+25,24.831551
+26,24.862086
+27,24.887085
+28,24.907553
+29,24.924311
+30,24.938031
+31,24.949264
+32,24.958461
+33,24.965991
+34,24.972156
+35,24.977203
+36,24.981335
+37,24.984719
+38,24.987489
+39,24.989757
+40,24.991613
+41,24.993134
+42,24.994378
+43,24.995397
+44,24.996232
+45,24.996915
+46,24.997474
+47,24.997932
+48,24.998307
+49,24.998614
+50,24.998865
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-01-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-01-sd.csv
new file mode 100644
index 0000000..4bf78ec
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-01-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.000000
+1,4.584292
+2,5.981267
+3,6.798529
+4,7.326114
+5,7.683505
+6,7.933111
+7,8.111385
+8,8.241024
+9,8.336746
+10,8.408379
+11,8.462627
+12,8.504150
+13,8.536236
+14,8.561241
+15,8.580873
+16,8.596387
+17,8.608715
+18,8.618560
+19,8.626454
+20,8.632806
+21,8.637932
+22,8.642079
+23,8.645441
+24,8.648171
+25,8.650392
+26,8.652200
+27,8.653674
+28,8.654875
+29,8.655857
+30,8.656658
+31,8.657312
+32,8.657847
+33,8.658285
+34,8.658643
+35,8.658935
+36,8.659175
+37,8.659371
+38,8.659531
+39,8.659662
+40,8.659770
+41,8.659857
+42,8.659929
+43,8.659988
+44,8.660036
+45,8.660076
+46,8.660108
+47,8.660135
+48,8.660156
+49,8.660174
+50,8.660189
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-01.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-01.xml
new file mode 100644
index 0000000..b20e13a
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-01.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BatchImmigrationDeath01" name="Batch Immigration-Death (004), variant 01" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="1" constant="true"/>
+      <parameter id="Mu" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="5" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-02-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-02-mean.csv
new file mode 100644
index 0000000..d15d3ff
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-02-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.000000
+1,8.241999
+2,13.766776
+3,17.470145
+4,19.952587
+5,21.616618
+6,22.732051
+7,23.479748
+8,23.980945
+9,24.316907
+10,24.542109
+11,24.693067
+12,24.794256
+13,24.862086
+14,24.907553
+15,24.938031
+16,24.958461
+17,24.972156
+18,24.981335
+19,24.987489
+20,24.991613
+21,24.994378
+22,24.996232
+23,24.997474
+24,24.998307
+25,24.998865
+26,24.999239
+27,24.999490
+28,24.999658
+29,24.999771
+30,24.999846
+31,24.999897
+32,24.999931
+33,24.999954
+34,24.999969
+35,24.999979
+36,24.999986
+37,24.999991
+38,24.999994
+39,24.999996
+40,24.999997
+41,24.999998
+42,24.999999
+43,24.999999
+44,24.999999
+45,25.000000
+46,25.000000
+47,25.000000
+48,25.000000
+49,25.000000
+50,25.000000
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-02-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-02-sd.csv
new file mode 100644
index 0000000..cc81979
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-02-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.000000
+1,8.378096
+2,10.176120
+3,10.943691
+4,11.307822
+5,11.491567
+6,11.589055
+7,11.643184
+8,11.674503
+9,11.693285
+10,11.704887
+11,11.712220
+12,11.716938
+13,11.720011
+14,11.722031
+15,11.723367
+16,11.724255
+17,11.724846
+18,11.725241
+19,11.725505
+20,11.725681
+21,11.725799
+22,11.725879
+23,11.725932
+24,11.725967
+25,11.725991
+26,11.726007
+27,11.726018
+28,11.726025
+29,11.726030
+30,11.726033
+31,11.726035
+32,11.726036
+33,11.726037
+34,11.726038
+35,11.726039
+36,11.726039
+37,11.726039
+38,11.726039
+39,11.726039
+40,11.726039
+41,11.726039
+42,11.726039
+43,11.726039
+44,11.726039
+45,11.726039
+46,11.726039
+47,11.726039
+48,11.726039
+49,11.726039
+50,11.726039
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-02.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-02.xml
new file mode 100644
index 0000000..bf7e332
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-02.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BatchImmigrationDeath02" name="Batch Immigration-Death (004), variant 02" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="1" constant="true"/>
+      <parameter id="Mu" value="0.4" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="10" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-03-mean.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-03-mean.csv
new file mode 100644
index 0000000..130a018
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-03-mean.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,24.54211
+2,24.99161
+3,24.99985
+4,25.00000
+5,25.00000
+6,25.00000
+7,25.00000
+8,25.00000
+9,25.00000
+10,25.00000
+11,25.00000
+12,25.00000
+13,25.00000
+14,25.00000
+15,25.00000
+16,25.00000
+17,25.00000
+18,25.00000
+19,25.00000
+20,25.00000
+21,25.00000
+22,25.00000
+23,25.00000
+24,25.00000
+25,25.00000
+26,25.00000
+27,25.00000
+28,25.00000
+29,25.00000
+30,25.00000
+31,25.00000
+32,25.00000
+33,25.00000
+34,25.00000
+35,25.00000
+36,25.00000
+37,25.00000
+38,25.00000
+39,25.00000
+40,25.00000
+41,25.00000
+42,25.00000
+43,25.00000
+44,25.00000
+45,25.00000
+46,25.00000
+47,25.00000
+48,25.00000
+49,25.00000
+50,25.00000
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-03-sd.csv b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-03-sd.csv
new file mode 100644
index 0000000..3432a36
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-03-sd.csv
@@ -0,0 +1,52 @@
+time,X
+0,0.00000
+1,35.51939
+2,35.53156
+3,35.53167
+4,35.53168
+5,35.53168
+6,35.53168
+7,35.53168
+8,35.53168
+9,35.53168
+10,35.53168
+11,35.53168
+12,35.53168
+13,35.53168
+14,35.53168
+15,35.53168
+16,35.53168
+17,35.53168
+18,35.53168
+19,35.53168
+20,35.53168
+21,35.53168
+22,35.53168
+23,35.53168
+24,35.53168
+25,35.53168
+26,35.53168
+27,35.53168
+28,35.53168
+29,35.53168
+30,35.53168
+31,35.53168
+32,35.53168
+33,35.53168
+34,35.53168
+35,35.53168
+36,35.53168
+37,35.53168
+38,35.53168
+39,35.53168
+40,35.53168
+41,35.53168
+42,35.53168
+43,35.53168
+44,35.53168
+45,35.53168
+46,35.53168
+47,35.53168
+48,35.53168
+49,35.53168
+50,35.53168
diff --git a/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-03.xml b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-03.xml
new file mode 100644
index 0000000..096fddf
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/dsmts/dsmts-004-03.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="BatchImmigrationDeath03" name="Batch Immigration-Death (004), variant 03" substanceUnits="item" timeUnits="second" volumeUnits="litre">
+    <listOfCompartments>
+      <compartment id="Cell" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="X" compartment="Cell" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="Alpha" value="1" constant="true"/>
+      <parameter id="Mu" value="4" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="Immigration" reversible="false" fast="false">
+        <listOfProducts>
+          <speciesReference species="X" stoichiometry="100" constant="false"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <ci> Alpha </ci>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="Death" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="X" stoichiometry="1" constant="false"/>
+        </listOfReactants>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> Mu </ci>
+              <ci> X </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/feedback.xml b/wrappers/Python/roadrunner/testing/feedback.xml
new file mode 100644
index 0000000..c70e259
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/feedback.xml
@@ -0,0 +1,470 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level2" xmlns:jd2="http://www.sys-bio.org/sbml/jd2" level="2" version="1">
+  <model id="feedback" name="Feedback">
+    <annotation>
+      <jd2:JDesignerLayout xmlns:jd2="http://www.sys-bio.org/sbml/jd2" version="2.0" MajorVersion="2" MinorVersion="3" BuildVersion="45">
+        <jd2:header>
+          <jd2:VersionHeader JDesignerVersion="1.0"/>
+          <jd2:ModelHeader ModelTitle="Feedback"/>
+          <jd2:TimeCourseDetails timeStart="0" timeEnd="25" numberOfPoints="200"/>
+        </jd2:header>
+        <jd2:JDGraphicsHeader BackGroundColor="FFFFFFEF"/>
+        <jd2:listOfCompartments>
+          <jd2:compartment id="compartment" size="1" visible="false">
+            <jd2:boundingBox x="0" y="0" w="0" h="0"/>
+            <jd2:membraneStyle thickness="12" color="FF00A5FF"/>
+            <jd2:interiorStyle color="FFEEEEFF"/>
+            <jd2:text value="compartment" visible="true">
+              <jd2:position rx="-31" ry="-16"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+          </jd2:compartment>
+        </jd2:listOfCompartments>
+        <jd2:listOfSpecies>
+          <jd2:species id="S1" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="138" y="104"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S1" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S2" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="234" y="143"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S2" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S3" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="318" y="178"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S3" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="S4" boundaryCondition="false" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="411" y="212"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="S4" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="X0" boundaryCondition="true" compartment="compartment" initialConcentration="10">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="33" y="60"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="X0" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+          <jd2:species id="X1" boundaryCondition="true" compartment="compartment" initialConcentration="0">
+            <jd2:positionLocked value="false"/>
+            <jd2:boundingBox x="415" y="292"/>
+            <jd2:displayValue visible="false">
+              <jd2:position rx="0" ry="0"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:displayValue>
+            <jd2:text value="X1" visible="true">
+              <jd2:position rx="4" ry="6"/>
+              <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+            </jd2:text>
+            <jd2:complex id="DefaultMolecule" w="24" h="24" boundarySpeciesStyle="bsBox" boundaryStyleColor="FF0000FF" captionPosition="npCenter" aliasBoundaryColor="FFFF0000" aliasBoundaryThickness="3">
+              <jd2:subunit shape="suRoundSquare">
+                <jd2:boundingBox rx="0" ry="0" w="24" h="24"/>
+                <jd2:text value="S1" visible="false">
+                  <jd2:position rx="6" ry="5"/>
+                  <jd2:font fontName="Arial" fontSize="8" fontColor="FF000000"/>
+                </jd2:text>
+                <jd2:color scheme="gtHorizLinear" startColor="FFCCFFFF" endColor="FFFFFFFF"/>
+                <jd2:edgeStyle color="FF969696" thickness="1" stroke="dsSolid"/>
+              </jd2:subunit>
+            </jd2:complex>
+          </jd2:species>
+        </jd2:listOfSpecies>
+        <jd2:listOfReactions>
+          <jd2:reaction id="J0" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="X0" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S1" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges>
+              <jd2:modifierEdge>
+                <jd2:speciesReference species="S4"/>
+                <jd2:destinationReaction name="J0" regulatorType="rtNegative" relativePosition="0.415929203539823" destinationArcId="0" destinationLineSegmentId="0"/>
+                <jd2:display lineThickness="2" lineColor="FF0000FF" lineDashStyle="dsSolid" negativeMarkerStyle="rmBar">
+                  <jd2:lineType type="ltSegmentedLine">
+                    <jd2:pt x="423" y="224" type="modifier" speciesRef="S4"/>
+                    <jd2:pt x="353" y="243"/>
+                    <jd2:pt x="69" y="127"/>
+                    <jd2:pt x="84" y="101"/>
+                  </jd2:lineType>
+                </jd2:display>
+              </jd2:modifierEdge>
+            </jd2:listOfModifierEdges>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J0_VM1*(X0-S1/J0_Keq1)/(1+X0+S1+pow(S4,J0_h))"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="45" y="72" type="substrate" speciesRef="X0"/>
+                  <jd2:pt x="150" y="116" type="product" speciesRef="S1"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J1" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S1" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S2" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S1-2*S2)/(1+S1+S2)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="150" y="116" type="substrate" speciesRef="S1"/>
+                  <jd2:pt x="246" y="155" type="product" speciesRef="S2"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J2" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S2" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S3" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S2-2*S3)/(1+S2+S3)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="246" y="155" type="substrate" speciesRef="S2"/>
+                  <jd2:pt x="330" y="190" type="product" speciesRef="S3"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J3" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S3" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="S4" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="(10*S3-2*S4)/(1+S3+S4)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="330" y="190" type="substrate" speciesRef="S3"/>
+                  <jd2:pt x="423" y="224" type="product" speciesRef="S4"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+          <jd2:reaction id="J4" reversible="false">
+            <jd2:listOfReactants>
+              <jd2:speciesReference species="S4" stoichiometry="1"/>
+            </jd2:listOfReactants>
+            <jd2:listOfProducts>
+              <jd2:speciesReference species="X1" stoichiometry="1"/>
+            </jd2:listOfProducts>
+            <jd2:listOfModifierEdges/>
+            <jd2:kineticLaw type="explicit">
+              <jd2:rateEquation value="J4_V4*S4/(J4_KS4+S4)"/>
+            </jd2:kineticLaw>
+            <jd2:display arrowStyle="ar1" arrowFillColor="FF000000" lineColor="FF838464" lineThickness="2">
+              <jd2:lineType type="ltLine">
+                <jd2:edge>
+                  <jd2:pt x="423" y="224" type="substrate" speciesRef="S4"/>
+                  <jd2:pt x="427" y="304" type="product" speciesRef="X1"/>
+                </jd2:edge>
+              </jd2:lineType>
+            </jd2:display>
+          </jd2:reaction>
+        </jd2:listOfReactions>
+      </jd2:JDesignerLayout>
+    </annotation>
+    <listOfCompartments>
+      <compartment id="compartment" size="1"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="compartment" initialConcentration="0"/>
+      <species id="S2" compartment="compartment" initialConcentration="0"/>
+      <species id="S3" compartment="compartment" initialConcentration="0"/>
+      <species id="S4" compartment="compartment" initialConcentration="0"/>
+      <species id="X0" compartment="compartment" initialConcentration="10" boundaryCondition="true"/>
+      <species id="X1" compartment="compartment" initialConcentration="0" boundaryCondition="true"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="J0_VM1" value="10"/>
+      <parameter id="J0_Keq1" value="10"/>
+      <parameter id="J0_h" value="10"/>
+      <parameter id="J4_V4" value="2.5"/>
+      <parameter id="J4_KS4" value="0.5"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="J0" reversible="false">
+        <listOfReactants>
+          <speciesReference species="X0"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S1"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="S4"/>
+        </listOfModifiers>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> J0_VM1 </ci>
+                <apply>
+                  <minus/>
+                  <ci> X0 </ci>
+                  <apply>
+                    <divide/>
+                    <ci> S1 </ci>
+                    <ci> J0_Keq1 </ci>
+                  </apply>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> X0 </ci>
+                <ci> S1 </ci>
+                <apply>
+                  <power/>
+                  <ci> S4 </ci>
+                  <ci> J0_h </ci>
+                </apply>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J1" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S1"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S1 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S2 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S1 </ci>
+                <ci> S2 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J2" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S2"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S2 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S3 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S2 </ci>
+                <ci> S3 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J3" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S3"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S4"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <minus/>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 10 </cn>
+                  <ci> S3 </ci>
+                </apply>
+                <apply>
+                  <times/>
+                  <cn type="integer"> 2 </cn>
+                  <ci> S4 </ci>
+                </apply>
+              </apply>
+              <apply>
+                <plus/>
+                <cn type="integer"> 1 </cn>
+                <ci> S3 </ci>
+                <ci> S4 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="J4" reversible="false">
+        <listOfReactants>
+          <speciesReference species="S4"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="X1"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <divide/>
+              <apply>
+                <times/>
+                <ci> J4_V4 </ci>
+                <ci> S4 </ci>
+              </apply>
+              <apply>
+                <plus/>
+                <ci> J4_KS4 </ci>
+                <ci> S4 </ci>
+              </apply>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/linearPathwayClosed.xml b/wrappers/Python/roadrunner/testing/linearPathwayClosed.xml
new file mode 100644
index 0000000..78ec2dc
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/linearPathwayClosed.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5 on 2014-08-04 19:55 with libSBML version 5.9.1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="__main" name="__main">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.1" constant="true"/>
+      <parameter id="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/linearPathwayOpen.xml b/wrappers/Python/roadrunner/testing/linearPathwayOpen.xml
new file mode 100644
index 0000000..d559248
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/linearPathwayOpen.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by libAntimony version v2.5 on 2014-08-04 19:56 with libSBML version 5.9.1. -->
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
+  <model id="__main" name="__main">
+    <listOfCompartments>
+      <compartment sboTerm="SBO:0000410" id="default_compartment" spatialDimensions="3" size="1" constant="true"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species id="S1" compartment="default_compartment" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+      <species id="S2" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
+      <species id="S3" compartment="default_compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="true" constant="false"/>
+    </listOfSpecies>
+    <listOfParameters>
+      <parameter id="k1" value="0.1" constant="true"/>
+      <parameter id="k2" value="0.2" constant="true"/>
+    </listOfParameters>
+    <listOfReactions>
+      <reaction id="_J0" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S1" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k1 </ci>
+              <ci> S1 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+      <reaction id="_J1" reversible="true" fast="false">
+        <listOfReactants>
+          <speciesReference species="S2" stoichiometry="1" constant="true"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="S3" stoichiometry="1" constant="true"/>
+        </listOfProducts>
+        <kineticLaw>
+          <math xmlns="http://www.w3.org/1998/Math/MathML">
+            <apply>
+              <times/>
+              <ci> k2 </ci>
+              <ci> S2 </ci>
+            </apply>
+          </math>
+        </kineticLaw>
+      </reaction>
+    </listOfReactions>
+  </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/test_1.xml b/wrappers/Python/roadrunner/testing/test_1.xml
new file mode 100644
index 0000000..1349efd
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/test_1.xml
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 11/28/2012 from  -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2/version4" level = "2" version = "4">
+   <model id = "cell">
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "src" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "waste" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "Xo" boundaryCondition = "true" initialConcentration = "1" compartment = "compartment"/>
+         <species id = "X1" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "S1" boundaryCondition = "false" initialConcentration = "0.1" compartment = "compartment"/>
+         <species id = "S2" boundaryCondition = "false" initialConcentration = "0.25" compartment = "compartment"/>
+         <species id = "S3" boundaryCondition = "false" initialConcentration = "0.1" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "kk1" value = "1"/>
+         <parameter id = "k1" value = "0.1"/>
+         <parameter id = "k_1" value = "0.05"/>
+         <parameter id = "kk2" value = "1"/>
+         <parameter id = "k2" value = "0.15"/>
+         <parameter id = "k_2" value = "0.067"/>
+         <parameter id = "kk3" value = "1"/>
+         <parameter id = "k3" value = "0.4"/>
+         <parameter id = "k_3" value = "0.09"/>
+         <parameter id = "kk4" value = "1"/>
+         <parameter id = "k4" value = "0.55"/>
+         <parameter id = "k_4" value = "0.01"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "J1" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "Xo" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk1
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k1
+                           </ci>
+                           <ci>
+                                 Xo
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_1
+                           </ci>
+                           <ci>
+                                 S1
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J2" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk2
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k2
+                           </ci>
+                           <ci>
+                                 S1
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_2
+                           </ci>
+                           <ci>
+                                 S2
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J3" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk3
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k3
+                           </ci>
+                           <ci>
+                                 S2
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_3
+                           </ci>
+                           <ci>
+                                 S3
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J4" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "X1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk4
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k4
+                           </ci>
+                           <ci>
+                                 S3
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_4
+                           </ci>
+                           <ci>
+                                 X1
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
diff --git a/wrappers/Python/roadrunner/testing/tester.py b/wrappers/Python/roadrunner/testing/tester.py
new file mode 100644
index 0000000..650591b
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/tester.py
@@ -0,0 +1,1274 @@
+# Test Module for RoadRunner
+#
+# Usage:
+# import rrTester
+# runTester (pathtoModelFile, modelFileName)
+
+
+#-------------------------------------------------------------
+# Tests for steady state and stoichiometric calculations in
+# roadRunner. Herbert M Sauro November 2012
+# Nov 2013: Modified to test Andy's SWIG API
+#-------------------------------------------------------------
+
+#------------------------------------------
+# Change this line for different test files
+#nameOfResultsFile = 'results_roadRunnerTest_1.txt'
+
+from __future__ import print_function
+
+import random
+import string
+import roadrunner
+from roadrunner import Config
+from roadrunner import Logger
+import re
+import numpy
+from numpy import *
+import os
+
+# Module wide file handle
+fHandle = ''
+rpadding = 45
+#gFailedTests = 0
+#gPassedTests = 0
+
+# --------------------------------------------------------------------------
+# SUPPORT ROUTINES
+# --------------------------------------------------------------------------
+
+def expectApproximately (a, b, tol):
+    diff = a - b
+    return abs(diff) < tol
+
+def passMsg (errorFlag, msg = ""):
+    global gFailedTests
+    global gPassedTests
+    if msg:
+        msg = "\n    " + msg
+    if not errorFlag:
+        gPassedTests = gPassedTests+1
+        return "PASS"
+    gFailedTests = gFailedTests+1    
+    return "*****FAIL*****" + msg
+
+# Empty lines are ignored
+# Lines starting with # are also ignored
+
+def readLine ():
+    line = fHandle.readline()
+
+    while (line == '') or (line[0] == '#') or (line[0] == '\n'):
+        if line == '':
+            return line
+        line = fHandle.readline();
+    return line.strip('\n')
+
+def divide(line):
+    words = line.strip()
+    words = words.strip('"')
+    words = re.compile("[ \t=]").split(words)
+    while "" in words: words.remove("")
+    return words
+
+def jumpToNextTest():
+    line = readLine()
+    #line = ''
+    #while line == '':
+    #      line = fHandle.readline().strip ('\n')
+    while (line != "") and (line[0] != '['):
+        line = readLine()
+    # remove any leading or trailing whitespace
+    return line.strip()
+
+def getSBMLStr ():
+    sbmlStr = ''
+    line = fHandle.readline()
+    while (line[0] != '['):
+        sbmlStr = sbmlStr + line
+        line = fHandle.readline()
+    return sbmlStr, line.strip()
+
+# ------------------------------------------------------------------------
+# TESTS START HERE
+# ------------------------------------------------------------------------
+
+def checkMatrixVsUpcomingText(calc):
+    errorFlag = False
+    msg = ""
+    rows = len(calc)
+    if (not(isinstance(calc[0], numpy.ndarray))):
+        compareUpcomingValuesWith(calc, 1e-4)
+        return
+    for i in range(0,rows):
+        line = readLine ()
+        words = line.split()
+        cols = len(calc[0])
+        if(len(words) != cols):
+            msg = "Expected a row of length " + str(len(words)) + ", but calculated a row of length " + str(cols)
+            errorFlag = True
+            break
+        for j in range(0,cols):
+            expectedValue = float(words[j])
+            calcValue = calc[i,j]
+            if expectApproximately (expectedValue, calcValue, abs(1e-7+calcValue)*1E-4) == False:
+                msg = "Expected " + words[j] + ", but calculated " + str(calcValue)
+                errorFlag = True
+                break
+    print(passMsg (errorFlag, msg))
+    
+
+def checkComplexVecVsUpcomingText(calc):
+    errorFlag = False
+    msg = ""
+    rows = len(calc)
+    for i in range(0,rows):
+        line = readLine ()
+        words = line.split()
+        if(len(words) != 2):
+            msg = "Faulty test:  needed a row of length two for complex number, but found " + str(len(words))
+            errorFlag = True
+            break
+            expectedValue =  complex(float(words[0], float(words[1])))
+            if expectApproximately (expectedValue, calc[i], abs(calc+1e-7)*1E-4) == False:
+                msg = "Expected " + words[j] + ", but calculated " + str(calc[i,j])
+                errorFlag = True
+                break
+    print(passMsg (errorFlag, msg))
+    
+
+def compareUpcomingValuesWith(ss, error):
+    errorFlag = False
+    msg = ""
+    words = divide(readLine())
+    if (len(words)) == 1:
+        for i in range(len(ss)):
+            if expectApproximately(float (words[0]), ss[i], abs(ss[i]+1e-5)*error) == False:
+                msg = "Expected " + words[0] + ", but calculated " + str(ss[i])
+                errorFlag = True
+                break;
+            if i < len(ss) - 1:
+                words = divide(readLine())
+    else:
+        for i in range (len (ss)):
+            if expectApproximately(float (words[i]), ss[i], abs(ss[i]+1e-5)*error) == False:
+                msg = "Expected " + words[i] + ", but calculated " + str(ss[i])
+                errorFlag = True
+                break;
+    print(passMsg (errorFlag, msg))
+
+def setConservationLaw(rrInstance, testId):
+    line = readLine ()
+    if line == 'True':
+        rrInstance.conservedMoietyAnalysis = True
+    else:
+        rrInstance.conservedMoietyAnalysis = False
+
+def checkSpeciesConcentrations(rrInstance, testId):
+    words = []
+    species = []
+    m = rrInstance.model.getNumFloatingSpecies()
+    for i in range (0,m):
+        words = divide(readLine())
+        words.append (rrInstance.model[words[0]])
+        species.append (words)
+
+    # Steady State Concentrations
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    for i in range (0,m):
+        expectedValue =  float (species[i][1])
+        if expectApproximately (expectedValue, species[i][2], abs(species[i][2]*1E-4)) == False:
+            errorFlag = True
+            break
+    print(passMsg (errorFlag))
+
+
+def checkSteadyStateFluxes(rrInstance, testId):
+    words = []
+    fluxes = []
+    # Steady State Fluxes
+    print("Computing Steady State.  Distance to SteadyState:", rrInstance.steadyState())
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    n = rrInstance.model.getNumReactions();
+    for i in range (0,n):
+        line = readLine ()
+        words = line.split("=")
+        words.append (rrInstance.model[words[0]])
+        fluxes.append (words)
+
+    for i in range (0,n):
+        expectedValue = float (fluxes[i][1])
+        if expectApproximately (expectedValue, fluxes[i][2], abs((expectedValue+(1e-3))*1E-5)) == False:
+            errorFlag = True
+            break
+    print(passMsg (errorFlag))
+
+def checkFullJacobian(rrInstance, testId):
+    # Jacobian
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS)
+    Jacobian = rrInstance.getFullJacobian()
+    checkMatrixVsUpcomingText(Jacobian)
+
+
+def checkReducedJacobian(rrInstance, testId):
+    # Jacobian
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS)
+    Jacobian = rrInstance.getReducedJacobian()
+    checkMatrixVsUpcomingText(Jacobian)
+
+
+def checkAmountJacobian(rrInstance, testId):
+    # Jacobian
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_AMOUNTS)
+    Jacobian = rrInstance.getFullJacobian()
+    checkMatrixVsUpcomingText(Jacobian)
+
+
+def checkIndividualEigenvalues(rrInstance, testId):
+    # Eigenvalues
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS)
+    m = len(rrInstance.getEigenValueIds())
+    try:
+        for i in range(0,m):
+            words = divide(readLine())
+            eigenvalueName = words[0]
+            calc = rrInstance.getValue ('eigenReal(' + eigenvalueName + ')')
+            calc = complex(calc, rrInstance.getValue('eigenImag(' + eigenvalueName + ')'))
+            expected = complex(float(words[1]), float(words[2]))
+
+            if expectApproximately (calc, expected, abs(calc+1e-7)*1E-4) == False:
+                errorFlag = True
+                break
+        print(passMsg (errorFlag))
+    except Exception, e:
+        print('Unexpected error in checkIndividualEigenvalues:' + str(e))
+
+
+def checkIndividualAmountEigenvalues(rrInstance, testId):
+    # Eigenvalues
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_AMOUNTS)
+    m = len(rrInstance.getEigenValueIds())
+    try:
+        for i in range(0,m):
+            words = divide(readLine())
+            eigenvalueName = words[0]
+            realPart = rrInstance.getValue ('eigenReal(' + eigenvalueName + ')')
+            realPart = float (realPart)
+
+            if expectApproximately (realPart, float(words[1]), 1E-5) == False:
+                errorFlag = True
+                break
+        print(passMsg (errorFlag))
+    except Exception, e:
+        print('Unexpected error in checkIndividualEigenvalues:' + str(e))
+
+
+def checkEigenvalueMatrix(rrInstance, testId):
+    # Eigenvalues
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS)
+    eigenvalues = rrInstance.getFullEigenValues()
+    checkComplexVecVsUpcomingText(eigenvalues)
+
+
+def checkReducedEigenvalueMatrix(rrInstance, testId):
+    # Eigenvalues
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS)
+    eigenvalues = rrInstance.getReducedEigenValues()
+    checkComplexVecVsUpcomingText(eigenvalues)
+
+
+def checkEigenvalueAmountMatrix(rrInstance, testId):
+    # Eigenvalues
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_AMOUNTS)
+    eigenvalues = rrInstance.getFullEigenValues()
+    checkComplexVecVsUpcomingText(eigenvalues)
+
+def checkStoichiometryMatrix(rrInstance, testId):
+    # Stoichiometry matrix
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    st = rrInstance.getFullStoichiometryMatrix()
+    checkMatrixVsUpcomingText(st)
+
+def checkReducedStoichiometryMatrix(rrInstance, testId):
+    # Stoichiometry matrix
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    st = rrInstance.getReducedStoichiometryMatrix()
+    checkMatrixVsUpcomingText(st)
+
+def checkLinkMatrix(rrInstance, testId):
+    # Link matrix
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    st = rrInstance.getLinkMatrix()
+    checkMatrixVsUpcomingText(st)
+
+def checkUnscaledConcentrationControlMatrix(rrInstance, testId):
+    # Unscaled Concentration Control matrix
+    Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS)
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    st = rrInstance.getUnscaledConcentrationControlCoefficientMatrix();
+    checkMatrixVsUpcomingText(st)
+
+
+def checkScaledConcentrationControlMatrix(rrInstance, testId):
+    # Unscaled Concentration Control matrix
+    Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS)
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    st = rrInstance.getScaledConcentrationControlCoefficientMatrix();
+    checkMatrixVsUpcomingText(st)
+
+
+def checkUnscaledFluxControlCoefficientMatrix(rrInstance, testId):
+    # Unscaled Flux Control matrix
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    st = rrInstance.getUnscaledFluxControlCoefficientMatrix();
+    checkMatrixVsUpcomingText(st)
+
+
+def checkScaledFluxControlCoefficientMatrix(rrInstance, testId):
+    # Scaled Flux Control matrix
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    st = rrInstance.getScaledFluxControlCoefficientMatrix()
+    checkMatrixVsUpcomingText(st)
+
+
+def checkUnscaledElasticityMatrix(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS)
+    uee = rrInstance.getUnscaledElasticityMatrix()
+    checkMatrixVsUpcomingText(uee)
+
+def checkUnscaledElasticityAmountMatrix(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_AMOUNTS)
+    uee = rrInstance.getUnscaledElasticityMatrix()
+    checkMatrixVsUpcomingText(uee)
+
+def checkScaledElasticityMatrix(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS)
+    ee = rrInstance.getScaledElasticityMatrix()
+    checkMatrixVsUpcomingText(ee)
+
+
+def checkScaledElasticityAmountMatrix(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    roadrunner.Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_AMOUNTS)
+    ee = rrInstance.getScaledElasticityMatrix()
+    checkMatrixVsUpcomingText(ee)
+
+
+def checkGetFloatingSpeciesIds(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    line = readLine ()
+    words = line.split()
+    expected = rrInstance.model.getFloatingSpeciesIds()
+    m = rrInstance.model.getNumFloatingSpecies()
+    for i in range(0,m):
+        if words[i] != expected[i]:
+            errorFlag = True
+            break
+    print(passMsg (errorFlag))
+
+def checkGetBoundarySpeciesIds(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    line = readLine ()
+    words = line.split()
+    expected = rrInstance.model.getBoundarySpeciesIds()
+    m = rrInstance.model.getNumBoundarySpecies()
+    for i in range(0,m):
+        if words[i] != expected[i]:
+            errorFlag = True
+            break
+    print(passMsg (errorFlag))
+
+
+def checkGetGlobalParameterIds (rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    line = readLine ()
+    words = line.split()
+    expected = rrInstance.model.getGlobalParameterIds()
+    m = rrInstance.model.getNumGlobalParameters()
+    for i in range(0,m):
+        if words[i] != expected[i]:
+            errorFlag = True
+            break
+    print(passMsg (errorFlag))
+
+
+def checkGetCompartmentIds (rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    line = readLine ()
+    words = line.split()
+    expected = rrInstance.model.getCompartmentIds()
+    m = rrInstance.model.getNumCompartments()
+    for i in range(0,m):
+        if words[i] != expected[i]:
+            errorFlag = True
+            break
+    print(passMsg (errorFlag))
+
+
+def checkReactionIds (rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    words = divide(readLine())
+    expected = rrInstance.model.getReactionIds()
+    m = rrInstance.model.getNumReactions();
+    for i in range(0,m):
+        if words[i] != expected[i]:
+            errorFlag = True
+            break
+    print(passMsg (errorFlag))
+
+
+def checkFloatingSpeciesInitialConcentrationIds (rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+
+    words = divide(readLine())
+
+    expected = rrInstance.model.getFloatingSpeciesInitConcentrationIds()
+
+
+    print(passMsg (words != expected))
+
+
+def checkEigenValueIds (rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    words = divide(readLine())
+    expected = rrInstance.getEigenValueIds()
+    m = rrInstance.model.getNumFloatingSpecies()
+    for i in range(0,m):
+        if words[i] != expected[i]:
+            errorFlag = True
+            break
+    print(passMsg (errorFlag))
+
+
+def checkSetSteadyStateSelectionList(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    words = divide(readLine())
+    rrInstance.conservedMoietyAnalysis = True
+    rrInstance.steadyStateSelections = words
+    print(passMsg (errorFlag))
+    time = rrInstance.steadyState()
+    if (time>0.00001):
+        time = rrInstance.steadyState()
+    print("Computing Steady State.  Distance to SteadyState:", time)
+
+
+def checkGetSteadyStateSelectionList(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    words = divide(readLine())
+    result = str(rrInstance.steadyStateSelections)
+
+    print(passMsg (result == words))
+
+
+def checkSetTimeCourseSelectionList(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    words = divide(readLine())
+    result = rrInstance.selections = words
+    if result == False:
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def checkGetTimeCourseSelectionList(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    words = divide(readLine())
+    result = str(rrInstance.selections)
+
+    print(passMsg (result == words))
+
+def checkComputeSteadyStateValues(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    ss = rrInstance.getSteadyStateValues()
+    compareUpcomingValuesWith(ss, 1E-6)
+
+
+def checkFloatingSpeciesConcentrations(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    ss = rrInstance.model.getFloatingSpeciesConcentrations()
+    compareUpcomingValuesWith(ss, 1E-6)
+
+
+def checkBoundarySpeciesConcentrations(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    ss = rrInstance.model.getBoundarySpeciesConcentrations()
+    compareUpcomingValuesWith(ss, 1E-6)
+
+
+def checkGlobalParameterValues(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    ss = rrInstance.model.getGlobalParameterValues()
+    compareUpcomingValuesWith(ss, 1E-6)
+
+
+def checkInitalFloatingSpeciesConcentations(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    ss = rrInstance.model.getFloatingSpeciesInitConcentrations()
+
+    words = readLine().split()
+
+    same = len(words) == len(ss) and \
+        len(words) == sum([1 for i,j in zip(words,ss) if expectApproximately(float (i), j, 1E-6)])
+
+    print(passMsg (not same))
+
+
+def checkReactionRates(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    ss = rrInstance.model.getReactionRates()
+    compareUpcomingValuesWith(ss, 1E-4)
+
+
+def checkGetReactionRatesByIndex(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    words = readLine().split()
+    n = rrInstance.model.getNumReactions()
+    for i in range (n):
+        value = rrInstance.model.getReactionRates()[i]
+        if expectApproximately(float (words[i]), value, 1E-6) == False:
+            errorFlag = True
+            break;
+    print(passMsg (errorFlag))
+
+def checkGetSpeciesInitialConcentrationsByIndex(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    words = divide(readLine())
+    n = rrInstance.model.getNumFloatingSpecies()
+    values = rrInstance.model.getFloatingSpeciesInitConcentrations()
+    for i in range (n):
+        if expectApproximately(float (words[i]), values[i], 1E-6) == False:
+            errorFlag = True
+            break;
+    print(passMsg (errorFlag))
+
+
+def checkSetSpeciesInitialConcentrationsByIndex(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    words = divide(readLine())
+    n = rrInstance.model.getNumFloatingSpecies()
+    rrInstance.model.setFloatingSpeciesInitConcentrations(array(map(float, words)))
+    rt = rrInstance.model.getFloatingSpeciesInitConcentrations()
+    for i in range (n):
+        if expectApproximately(float (words[i]), rt[i], 1E-6) == False:
+            errorFlag = True
+            break
+    print(passMsg (errorFlag))
+
+
+def checkSetSpeciesInitialConcentrations(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    n = rrInstance.model.getNumFloatingSpecies()
+    for i in range (0,n):
+        words = divide(readLine())
+        if rrInstance.setValue(words[0], float(words[1])) == False:
+            errorFlag = True
+            break
+        if expectApproximately(rrInstance.getValue(words[0]), float (words[1]), 1E-6) == False:
+            errorFlag = True
+            break
+    print(passMsg (errorFlag))
+
+
+def checkNumberOfDependentSpecies(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    value = int (readLine())
+    n = rrInstance.model.getNumDepFloatingSpecies()
+    if n != value:
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def checkNumberOfIndependentSpecies(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    value = int (readLine())
+    n = rrInstance.model.getNumIndFloatingSpecies()
+    if n != value:
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def checkNumberOfRateRules(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    value = int (readLine())
+    if rrInstance.model.getNumRateRules() != value:
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def checkGetRatesOfChange(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    words = divide(readLine())
+    values = rrInstance.model.getFloatingSpeciesAmountRates()
+    for i in range (len(words)):
+        if expectApproximately (float (words[i]), values[i], abs(values[i]+1e-7)*1E-5) == False:
+            errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def checkGetReactionRatesEx (rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    inputConcs = asarray (divide(readLine()).remove("indexes"), dtype=float64)
+    values = rrInstance.getReactionRatesEx (inputConcs)
+    outputRates = asarray (divide(readLine()).remove("rates"), dtype=float64)
+    if not allclose (values, outputRates):
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def checkGetRatesOfChangeEx (rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    inputConcs = asarray (divide(readLine()).remove("indexes"), dtype=float64)
+    values = rrInstance.model.getRatesOfChangeEx (inputConcs)
+    outputRates = asarray (divide(readLine()).remove("rates"), dtype=float64)
+    if not allclose (values, outputRates):
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def checkGetRateOfChangeByIndex(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    n = rrInstance.getNumRatesOfChange()
+    words = readLine().split()
+    for i in range (n):
+        value = rrInstance.model.getRatesOfChange()[i]
+        if expectApproximately(float (words[i]), value, 1E-6) == False:
+            errorFlag = True
+            break;
+    print(passMsg (errorFlag))
+
+# ---------------------------------------------------------------------------
+
+def setGetValues(rrInstance, IdList, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    for i in range (len(IdList)):
+        value = random.random()*10
+        rrInstance.model[dList[i]] = value
+        if expectApproximately (rrInstance.model[IdList[i]], value, 1E-6) == False:
+            errorFlag = True
+            break
+    print(passMsg (errorFlag))
+
+
+def setGetTimeStart(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    value = random.random ()*10
+    rrInstance.setTimeStart (value)
+    if expectApproximately (rrInstance.getTimeStart (), value, 1E-6) == False:
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def setGetTimeEnd(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    value = random.random ()*10
+    rrInstance.setTimeEnd (value)
+    if expectApproximately (rrInstance.getTimeEnd (), value, 1E-6) == False:
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def setGetNumberOfPoints(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    value = random.randint (1, 100)
+    rrInstance.setNumPoints (value)
+    if rrInstance.getNumPoints () != value:
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def setGetTimeCourseSelectionList(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    myList = rrInstance.getFloatingSpeciesIds()
+    newList = list (myList)
+    random.shuffle (newList)
+    rrInstance.setTimeCourseSelectionList (newList)
+    if rrInstance.getTimeCourseSelectionList() != newList:
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def setGetSteadyStateSelectionList(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    myList = rrInstance.getFloatingSpeciesIds()
+    newList = list (myList)
+    while newList == myList:
+        random.shuffle (newList)
+    rrInstance.setSteadyStateSelectionList (newList)
+    getList = rrInstance.getSteadyStateSelectionList()
+    if getList != newList:
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def setGetFloatingSpeciesByIndex(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    n = rrInstance.getNumFloatingSpecies()
+    for i in range (n):
+        value = random.random()*10
+        rrInstance.setFloatingSpeciesByIndex (i, value)
+        if expectApproximately(rrInstance.getFloatingSpeciesByIndex (i), value, 1E-6) == False:
+            errorFlag = True
+            break;
+    print(passMsg (errorFlag))
+
+
+def setGetBoundarySpeciesByIndex(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    n = rrInstance.getNumBoundarySpecies()
+    for i in range (n):
+        value = random.random()*10
+        rrInstance.setBoundarySpeciesByIndex (i, value)
+        if expectApproximately(rrInstance.getBoundarySpeciesByIndex (i), value, 1E-6) == False:
+            errorFlag = True
+            break;
+    print(passMsg (errorFlag))
+
+
+def setGetCompartmentByIndex(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    n = rrInstance.getNumCompartments()
+    for i in range (n):
+        value = random.random()*10
+        rrInstance.setCompartmentByIndex (i, value)
+        if expectApproximately(rrInstance.getCompartmentByIndex (i), value, 1E-6) == False:
+            errorFlag = True
+            break;
+    print(passMsg (errorFlag))
+
+
+def setGetGlobalParameterByIndex (rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    n = rrInstance.getNumberOfGlobalParameters()
+    for i in range (n):
+        value = random.random()*10
+        rrInstance.setGlobalParameterByIndex (i, value)
+        if expectApproximately(rrInstance.getGlobalParameterByIndex (i), value, 1E-6) == False:
+            errorFlag = True
+            break;
+    print(passMsg (errorFlag))
+
+
+def setGetFloatingSpeciesConcentrations (rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    getArray = rrInstance.getFloatingSpeciesConcentrations()
+    setArray = zeros(len(getArray))
+    for i in range(len(getArray)):
+        value = random.random()*10
+        setArray[i] = value
+    rrInstance.setFloatingSpeciesConcentrations (setArray)
+    if (setArray != rrInstance.getFloatingSpeciesConcentrations()).all():
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def setGetBoundarySpeciesConcentrations (rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    getArray = rrInstance.getBoundarySpeciesConcentrations()
+    setArray = zeros(len(getArray))
+    for i in range(len(getArray)):
+        value = random.random()*10
+        setArray[i] = value
+    rrInstance.setBoundarySpeciesConcentrations (rrInstance.PythonArrayTorrVector (setArray))
+    if (setArray != rrInstance.getBoundarySpeciesConcentrations()).all():
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def setGetInitialFloatingSpeciesConcentrations (rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    getArray = rrInstance.getFloatingSpeciesInitialConcentrations ()
+    setArray = zeros(len(getArray))
+    for i in range(len(getArray)):
+        value = random.random()*10
+        setArray[i] = value
+    rrInstance.setFloatingSpeciesInitialConcentrations (setArray)
+    if (setArray != rrInstance.getFloatingSpeciesInitialConcentrations()).all():
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def setGetReset(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    values = zeros (rrInstance.getNumberOfFloatingSpecies())
+    for i in range (len (values)):
+        values[i] = random.random()*10
+    initial = rrInstance.getFloatingSpeciesInitialConcentrations()
+    rrInstance.setFloatingSpeciesConcentrations (values)
+    # Should reset the floats by to the current initial condition
+    rrInstance.reset()
+    values = rrInstance.getFloatingSpeciesConcentrations()
+    if(values != initial).all():
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+
+def checkJacobian(rrInstance, testId):
+    # TODO need to update python 2.x printing
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    import numpy as n
+
+    errors = False
+
+    # max difference between reduced and full
+    maxDiff = 2e-10
+
+    # save the old value
+    saved = Config.getValue(Config.ROADRUNNER_JACOBIAN_MODE)
+
+    # set to amounts mode
+    Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_AMOUNTS)
+    full = rrInstance.getFullJacobian()
+    reduced = rrInstance.getReducedJacobian()
+
+    m = n.max(n.abs(reduced-full))
+    if (m > maxDiff):
+        errors = True
+        print("Jacobians different in amounts mode, max difference: " + str(m))
+
+    # set to conc mode
+    Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, Config.ROADRUNNER_JACOBIAN_MODE_CONCENTRATIONS)
+
+    full = rrInstance.getFullJacobian()
+    reduced = rrInstance.getReducedJacobian()
+
+    m = n.max(n.abs(reduced-full))
+    if (m > maxDiff):
+        errors = True
+        print("Jacobians different in concentrations mode, max difference: " + str(m))
+
+    # restore previous value
+    Config.setValue(Config.ROADRUNNER_JACOBIAN_MODE, saved)
+
+    print(passMsg(errors))
+	
+def checkControlCoefficient(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    words = divide(readLine())
+    n = rrInstance.getCC(words[0], words[1])
+    if abs(n - float(words[2])) > 1e-6:
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+def checkVariableEndTime(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = True
+    words = divide(readLine())
+
+    try:
+        # passing variableStep to simulate should throw
+        rrInstance.simulate(float(words[0]), float(words[1]), variableStep=True)
+    except TypeError:
+        errorFlag = False
+
+    rrInstance.getIntegrator().resetSettings()
+    rrInstance.getIntegrator().setValue('variable_step_size', True)
+    n2 = rrInstance.simulate(float(words[0]), float(words[1]))
+
+    if expectApproximately(n2[-1][0], float(words[1]), 1e-16) == False:
+        errorFlag = True
+
+    print(passMsg (errorFlag))
+
+def checkDefaultTimeStep(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    words = divide(readLine())
+    n = rrInstance.simulate()
+    if n.shape[0] != int(words[0]):
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+def checkSimulateTimepointsVsIntervals(rrInstance, testId):
+    '''
+    Third positional argument is number of points.
+    Steps keyword argument is number of intervals.
+    '''
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    try:
+        n1 = rrInstance.simulate(0, 10, steps=1)
+        if n1.shape[0] != 2:
+            errorFlag = True
+        n2 = rrInstance.simulate(0, 10, 2)
+        if n2.shape[0] != 2:
+            errorFlag = True
+    except:
+        errorFlag = True
+    try:
+        m = rrInstance.simulate(0, 100, 51)
+        n = rrInstance.simulate(0, 100, points=51)
+        if n.shape[0] != m.shape[0]:
+            errorFlag = True
+        n = rrInstance.simulate(start=0, end=100, points=51)
+        if n.shape[0] != m.shape[0]:
+            errorFlag = True
+        n = rrInstance.simulate(0, 100, steps=50)
+        if n.shape[0] != m.shape[0]:
+            errorFlag = True
+        n = rrInstance.simulate(start=0, end=100, steps=50)
+        if n.shape[0] != m.shape[0]:
+            errorFlag = True
+
+        if len(rrInstance.model.getFloatingSpeciesIds()) < 1:
+            errorFlag = True
+        else:
+            spec_id = rrInstance.model.getFloatingSpeciesIds()[0]
+            m = rrInstance.simulate(0, 100, 51, ['time', spec_id])
+            n = rrInstance.simulate(0, 100, points=51, selections=['time', spec_id])
+            if n.shape[0] != m.shape[0]:
+                errorFlag = True
+            n = rrInstance.simulate(start=0, end=100, points=51, selections=['time', spec_id])
+            if n.shape[0] != m.shape[0]:
+                errorFlag = True
+            n = rrInstance.simulate(0, 100, steps=50, selections=['time', spec_id])
+            if n.shape[0] != m.shape[0]:
+                errorFlag = True
+            n = rrInstance.simulate(start=0, end=100, steps=50, selections=['time', spec_id])
+            if n.shape[0] != m.shape[0]:
+                errorFlag = True
+    except:
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+def checkMonotonicTimepoints(rrInstance, testId):
+    '''
+    Timepoint values should only increase.
+    No two timepoints should ever have the same time value.
+    '''
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    try:
+        words = divide(readLine())
+        startTime = float(words[0])
+        endTime = float(words[1])
+        npoints = int(words[2])
+
+        # For variable step
+        rrInstance.getIntegrator().setValue('variable_step_size', True)
+        n = rrInstance.simulate(startTime, endTime)
+        for k in range(1,n.shape[0]):
+            if n[k-1,0] >= n[k,0]:
+                print('Monotonicity failure var step: {} >= {}'.format(n[k-1,0], n[k,0]))
+                errorFlag = True
+
+        # For fixed step
+        rrInstance.reset()
+        rrInstance.getIntegrator().setValue('variable_step_size', False)
+        n = rrInstance.simulate(startTime, endTime, npoints)
+        for k in range(1,n.shape[0]):
+            if n[k-1,0] >= n[k,0]:
+                print('Monotonicity failure fixed step: {} >= {}'.format(n[k-1,0], n[k,0]))
+                errorFlag = True
+    except(e):
+        print('Caught exception: {}'.format(e))
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+def checkEventPreandPostfireTimepoints(rrInstance, testId):
+    '''
+    Timepoint values should only increase.
+    No two timepoints should ever have the same time value.
+    '''
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    try:
+        words = divide(readLine())
+
+        def find_close_timepoint(simdata, t, tol):
+            '''
+            Finds the index of the closest timepoint in the
+            simulation results which is within tol of t
+            '''
+            for k in range(simdata.shape[0]):
+                if abs(simdata[k,0] - t) <= tol:
+                    return k
+            return -1;
+
+        rrInstance.getIntegrator().setValue('variable_step_size', True)
+        simresult = rrInstance.simulate(0, 10)
+
+        max_tol = 0.0001
+
+        # iterate through each expected event timepoint
+        for w in words:
+            t = float(w)
+            # expect two timepoints close by
+            i = find_close_timepoint(simresult, t, max_tol)
+            if i < 0 or i+1 >= simresult.shape[0]:
+                errorFlag = True
+            else:
+                if abs(simresult[i+1,0] - simresult[i,0]) > max_tol:
+                    errorFlag = True
+    except(e):
+        print('Caught exception: {}'.format(e))
+        errorFlag = True
+    print(passMsg (errorFlag))
+
+def checkGillespieSeed(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    rrInstance.setIntegrator('gillespie')
+    words = divide(readLine())
+    rrInstance.getIntegrator().setValue('seed', words[0])
+    arr1 = rrInstance.simulate(0,100,steps=10)
+    rrInstance.reset()
+    rrInstance.getIntegrator().setValue('seed', words[1])
+    arr2 = rrInstance.simulate(0,100,steps=10)
+    if arr1[1,0] == arr2[1,0]:
+        errorFlag = True
+    rrInstance.setIntegrator('cvode')
+    print(passMsg (errorFlag))
+    
+def checkGillespieValue(rrInstance, testId):
+    print(string.ljust ("Check " + testId, rpadding), end="")
+    errorFlag = False
+    rrInstance.setIntegrator('gillespie')
+    n = rrInstance.simulate(0,100,steps=10)
+    if n[-1,1] != n[-2,1]:
+        errorFlag = True
+    rrInstance.setIntegrator('cvode')
+    print(passMsg (errorFlag))
+
+def unitTestIntegratorSettings(testDir):
+    errorFlag = False
+
+    r = roadrunner.RoadRunner(os.path.join(testDir,'Test_1.xml'))
+
+    r.setIntegrator('cvode')
+    r.getIntegratorByName('gillespie').seed = 12345
+    r.setIntegrator('gillespie')
+    if r.getIntegrator().getSetting('seed') != 12345:
+        errorFlag = True
+
+    r.setIntegrator('cvode')
+    r.setIntegratorSetting('gillespie', 'seed', 54321)
+    r.setIntegrator('gillespie')
+    if r.getIntegrator().getSetting('seed') != 54321:
+        errorFlag = True
+
+    print(passMsg (errorFlag))
+
+
+
+
+
+def scriptTests():
+    print("\nTesting Set and Get Functions")
+    print("-----------------------------")
+    setGetValues(rrInstance.getFloatingSpeciesIds(), 'Set/Get Value (Floats)')
+    setGetValues(rrInstance.getBoundarySpeciesIds(), 'Set/Get Value (Boundary)')
+    setGetValues(rrInstance.getGlobalParameterIds(), 'Set/Get Value (Global Parameters)')
+    setGetValues(rrInstance.getCompartmentIds(), 'Set/Get Value (Compartments)')
+    setGetTimeStart('Set/Get TimeStart')
+    setGetTimeEnd ('Set/Get TimeEnd')
+    setGetNumberOfPoints ('Set/Get Number Of Points')
+    setGetTimeCourseSelectionList ('Set/Get Time Course Selection List')
+    setGetSteadyStateSelectionList ('Set/Get Steady State Selection List')
+    setGetFloatingSpeciesByIndex ('Set/Get Floating Species by Index')
+    setGetBoundarySpeciesByIndex ('Set/Get Boundary Species by Index')
+    setGetCompartmentByIndex ('Set/Get Compartment by Index')
+    setGetGlobalParameterByIndex ('Set/Get Global Parameter buy Index')
+    setGetBoundarySpeciesConcentrations ('Set/Get Boundary Species Concs')
+    setGetFloatingSpeciesConcentrations ('Set/Get Floating Species Concs')
+    setGetInitialFloatingSpeciesConcentrations ('Set/Get Initial Concs')
+    setGetReset ('Set/Get Reset Method')
+
+
+# ------------------------------------------------------------------------
+# List of tests
+functions = {'[Amount/Concentration Jacobians]' : checkJacobian,
+             '[Amount Jacobian]' : checkAmountJacobian,
+             '[Boundary Species Concentrations]': checkBoundarySpeciesConcentrations,
+             '[Boundary Species Ids]': checkGetBoundarySpeciesIds,
+             '[Check Default Time Step]': checkDefaultTimeStep,
+             '[Check Monotonic Timepoints]': checkMonotonicTimepoints,
+             '[Check Event Pre and Postfire Timepoints]': checkEventPreandPostfireTimepoints,
+             '[Check Simulate Points vs Steps]': checkSimulateTimepointsVsIntervals,
+             '[Compartment Ids]': checkGetCompartmentIds,
+             '[Compute Steady State Values]': checkComputeSteadyStateValues,
+             '[Conservation Laws]': setConservationLaw,
+             '[Eigenvalue Matrix]': checkEigenvalueMatrix,
+             '[Eigenvalue Amount Matrix]': checkEigenvalueAmountMatrix,
+             '[Floating Species Concentrations]': checkFloatingSpeciesConcentrations,
+             '[Floating Species Ids]': checkGetFloatingSpeciesIds,
+             '[Full Jacobian]': checkFullJacobian,
+             '[Get Control Coefficient]': checkControlCoefficient,
+             '[Get Eigenvalue Ids]': checkEigenValueIds,
+             '[Get Variable End Time]': checkVariableEndTime,
+             '[Get Global Parameter Values]': checkGlobalParameterValues,
+             '[Get Initial Floating Species Concs]': checkInitalFloatingSpeciesConcentations,
+#             '[Get Rate of Change by Index]': checkGetRateOfChangeByIndex,
+             '[Get Rates Of Change]': checkGetRatesOfChange,
+#             '[Get Rates of Change Ex]': checkGetRatesOfChangeEx,
+             '[Get Reaction Rates By Index]': checkGetReactionRatesByIndex,
+#             '[Get Reaction Rates Ex]': checkGetReactionRatesEx,
+             '[Get Reaction Rates]': checkReactionRates,
+             '[Get Species Initial Concentrations By Index]': checkGetSpeciesInitialConcentrationsByIndex,
+             '[Get Steady State Selection List]': checkGetSteadyStateSelectionList,
+             '[Get Steady State Selection List 2]': checkGetSteadyStateSelectionList,
+             '[Get Time Course Selection List]': checkGetTimeCourseSelectionList,
+             '[Gillespie Seed]': checkGillespieSeed,
+             '[Gillespie Value]': checkGillespieValue,
+             '[Global Parameter Ids]': checkGetGlobalParameterIds,
+             '[Individual Eigenvalues]': checkIndividualEigenvalues,
+             '[Individual Amount Eigenvalues]': checkIndividualAmountEigenvalues,
+             '[Link Matrix]': checkLinkMatrix,
+             '[Number of Dependent Species]': checkNumberOfDependentSpecies,
+             '[Number of Independent Species]': checkNumberOfIndependentSpecies,
+             '[Number Of Rate Rules]': checkNumberOfRateRules,
+             '[Reaction Ids]': checkReactionIds,
+             '[Reduced Eigenvalue Matrix]': checkReducedEigenvalueMatrix,
+             '[Reduced Jacobian]': checkReducedJacobian,
+             '[Reduced Stoichiometry Matrix]': checkReducedStoichiometryMatrix,
+             '[Scaled Concentration Control Matrix]': checkScaledConcentrationControlMatrix,
+             '[Scaled Elasticity Matrix]': checkScaledElasticityMatrix,
+             '[Scaled Elasticity Amount Matrix]': checkScaledElasticityAmountMatrix,
+             '[Scaled Flux Control Matrix]': checkScaledFluxControlCoefficientMatrix,
+             '[Set Species Initial Concentrations By Index]': checkSetSpeciesInitialConcentrationsByIndex,
+             '[Set Species Initial Concentrations]': checkSetSpeciesInitialConcentrations,
+             '[Set Steady State Selection List]': checkSetSteadyStateSelectionList,
+             '[Set Steady State Selection List 2]': checkSetSteadyStateSelectionList,
+             '[Set Time Course Selection List]': checkSetTimeCourseSelectionList,
+             '[Species Concentrations]': checkSpeciesConcentrations,
+             '[Species Initial Concentration Ids]': checkFloatingSpeciesInitialConcentrationIds,
+             '[Steady State Fluxes]': checkSteadyStateFluxes,
+             '[Stoichiometry Matrix]': checkStoichiometryMatrix,
+             '[Unscaled Concentration Control Matrix]': checkUnscaledConcentrationControlMatrix,
+             '[Unscaled Elasticity Matrix]': checkUnscaledElasticityMatrix,
+             '[Unscaled Elasticity Amount Matrix]': checkUnscaledElasticityAmountMatrix,
+             '[Unscaled Flux Control Matrix]': checkUnscaledFluxControlCoefficientMatrix,
+              }
+
+
+def getDefaultTestDir():
+    import os.path as p
+    d = p.dirname(__file__)
+    return p.join(d,"test_data")
+
+
+def runTester (testDir=None):
+    """
+    Run a series of tests from a testing dir.
+
+    This enumerates all the files in a directory, and all the files ending with '.rrtest'
+    are assumed to be testing files.
+    """
+    global fHandle
+    global gFailedTests
+    global gPassedTests
+
+    import os.path as p
+    from glob import glob
+    
+    gFailedTests = 0
+    gPassedTests = 0
+    
+    if testDir is None:
+        testDir = getDefaultTestDir()
+
+    if not p.isdir(testDir):
+        raise Exception("{} is NOT a directory".format(testDir))
+
+    files = glob(p.join(testDir, "*.rrtest"))
+
+    unknownTests = 0
+    for file in files:
+        print("\n\nStarting Test on ", file)
+
+        # set the globals, these should be class instance vars...
+        fHandle = open (file, 'r')
+        testId = jumpToNextTest()
+
+        
+
+        if testId == '[SBML]':
+            sbmlStr, testId = getSBMLStr ()
+        else:
+            Logger.log(Logger.LOG_WARNING, "rrtest file, \"" 
+                       + file + "\" missing SBML section, ignoring test file")
+            continue
+        
+
+        # Load any initialization actions
+        if testId == '[INITIALIZATION]':
+            testId = jumpToNextTest ()
+            while testId != '[END_INITIALIZATION]':
+                if functions.has_key(testId):
+                    func = functions[testId]
+                    func (rrInstance, testId)
+                else:
+                    print('No initialization function found for ' + testId)
+                testId = jumpToNextTest()
+            testId = jumpToNextTest()
+
+        # create a RoadRunner obj with the sbml from the test file
+        rrInstance = roadrunner.RoadRunner(sbmlStr)
+        print('Successfully loaded model.\n')
+
+        # Now start the tests proper
+        while testId != '':
+            if functions.has_key(testId):
+                func = functions[testId]
+                func(rrInstance, testId)
+            else:
+                #getFloatingSpeciesAmountRates
+                unknownTests = unknownTests+1
+                print(string.ljust (testId, rpadding), 'UNKNOWN TEST')
+            testId = jumpToNextTest()
+
+    for testFunc in [unitTestIntegratorSettings]:
+      testFunc(testDir)
+        
+    print("\n\nTotal failed tests:\t", gFailedTests, \
+    "\nTotal unknown tests:\t", unknownTests, \
+    "\nTotal passed tests:\t", gPassedTests)
+
+    return gFailedTests
diff --git a/wrappers/Python/roadrunner/testing/testfiles.py b/wrappers/Python/roadrunner/testing/testfiles.py
new file mode 100644
index 0000000..c6f9f6d
--- /dev/null
+++ b/wrappers/Python/roadrunner/testing/testfiles.py
@@ -0,0 +1,40 @@
+import pkgutil
+import os
+import os.path
+import glob
+import roadrunner
+
+def getData(resource):
+    """
+    get the contents of a testing resource file.
+    """
+    return pkgutil.get_data(__name__, resource)
+
+def abspath(resource):
+
+    # current dir of package
+
+    d = os.path.dirname(__file__)
+    ap = os.path.join(d, resource)
+    ap = os.path.normpath(ap)
+
+    if os.path.isfile(ap) and os.access(ap, os.R_OK):
+        return ap
+    else:
+        raise Exception("error could not open the path {} for reading".format(ap))
+
+def dir(pattern='*'):
+    d = os.path.dirname(__file__)
+    return glob.glob(os.path.join(d, pattern))
+
+
+def getRoadRunner(resource):
+    """
+    return a RoadRunner instance loaded with one of the test files.
+    """
+
+    data = pkgutil.get_data(__name__, resource)
+    r = roadrunner.RoadRunner()
+    r.load(data)
+    return r
+
diff --git a/wrappers/Python/setup.py b/wrappers/Python/setup.py
new file mode 100644
index 0000000..2492f59
--- /dev/null
+++ b/wrappers/Python/setup.py
@@ -0,0 +1,185 @@
+#!/usr/bin/env python
+
+from distutils.core import setup as _setup
+from distutils.command.sdist import sdist as _sdist
+
+import platform
+import shutil
+import sys
+import os.path
+
+# base directory of file
+_basedir = os.path.abspath(os.path.dirname(__file__))
+
+print("file: " + __file__)
+
+_version_fname = os.path.join(_basedir, "VERSION.txt")
+
+_version = open(_version_fname).readline().strip()
+
+print("packaging / installing pylibroadrunner version:{0}".format(_version))
+
+def _sharedLibExt():
+    import platform
+    return "so" if platform.system() != "Windows" else "pyd"
+
+def _checkRequirements():
+    import platform
+    import sys
+
+    if sys.version_info < (2,6):
+        raise SystemExit("Error, libRoadRunner {0} requires Python 2.6 or better, detected Python version {1}"
+                        .format(_version, sys.version_info))
+
+    try:
+        # check for numpy
+        import numpy
+    except ImportError:
+        raise SystemExit("numpy package not found, libRoadRunner requires numpy 1.2.1 or better")
+
+    # splits the string into an array like: ['1', '2', '1']
+    nver = numpy.__version__.split('.')
+    nver = [int(x) for x in nver]
+
+    if nver < [1,2,1]:
+        raise SystemExit("libRoadRunner requires numpy 1.2.1 or better, detected numpy version {0}"
+                         .format(nver))
+
+# get the os string
+def _getOSString():
+
+
+    s = platform.system().lower()
+    unix = False
+
+    if s.startswith('darwin'):
+        s='macosx'
+        unix = True
+    elif s.startswith('linux'):
+        s='linux'
+        unix = True
+    elif s.startswith('win'):
+        s='win'
+    else:
+        raise SystemExit("I don't know how to install on {}, only know OSX(x86_64), Linux(i386,x86_64) and Win(32)"
+                         .format(s))
+
+    arch = platform.architecture()
+
+    if unix and arch[0].startswith('64'):
+        arch = 'x86_64'
+    elif unix and arch[0].startswith('32'):
+        arch = 'i386'
+    else:
+        arch = '32' #win 32
+
+    return s + "_" + arch
+
+_version = _version + "-" + _getOSString()
+
+
+def _copyDistFiles():
+    """
+    copy files from the CMake build into the site packages so they get packages
+    up and put in the distribution.
+    """
+
+    if platform.system().lower().startswith("win"):
+        print("copying windows dlls...")
+
+        shutil.copyfile("bin/msvcp140.dll",   "site-packages/roadrunner/msvcp140.dll")
+        shutil.copyfile("bin/vcruntime140.dll",   "site-packages/roadrunner/vcruntime140.dll")
+
+    import glob
+    for f in glob.glob("*.txt"):
+        shutil.copyfile(f, "site-packages/roadrunner/" + f)
+
+
+
+
+
+# custom sdist command to copy different bits
+class _RoadRunnerSDist(_sdist):
+
+    def get_file_list (self):
+        """Figure out the list of files to include in the source
+        distribution, and put it in 'self.filelist'.  This might involve
+        reading the manifest template (and writing the manifest), or just
+        reading the manifest, or just using the default file set -- it all
+        depend
+        """
+
+        print("get_file_list...")
+
+        _sdist.get_file_list(self)
+
+        print("files: {0}".format(self.filelist.files))
+
+
+
+def setup(*args):
+
+    args = list(args)
+
+    print("version: " + _version)
+
+    _checkRequirements()
+
+    # may be running in a different dir, temp change dir into
+    # dir of setup file
+    curdir = os.path.abspath(os.getcwd())
+
+    print("changing dir to " + _basedir)
+    os.chdir(_basedir)
+
+
+    # copy stuff if we are building
+    # if len(args) > 0 and args[0].lower().find('dist') >= 0:
+        # print ("we're building...")
+        # _copyDistFiles()
+    # always copy windows dlls
+    _copyDistFiles()
+
+    # check if we are running in Mac Spyder, and /Users/andy/local/dist/pylibroadrunner-1.1.1-macosx_x86_64/setup.py
+    # called with no args
+    if sys.exec_prefix.find("Spyder.app") >= 0 and len(args) == 0:
+        args.append("install")
+        args.append("--prefix=" + sys.exec_prefix)
+
+        print("installing into Spyder using args: " + str(args))
+
+
+    _setup(name='pylibroadrunner',
+        author='Andy Somogyi, Herbert Sauro',
+        author_email='somogyie at indiana.edu',
+        version=_version,
+        description='libRoadRunner SBML JIT compiler and simulation library',
+        url='http://libroadrunner.org',
+        packages=['roadrunner', 'roadrunner.testing', 'roadrunner.stochastic'],
+        package_dir={
+            "roadrunner" : "site-packages/roadrunner",
+            "roadrunner.testing" : "site-packages/roadrunner/testing",
+            "roadrunner.stochastic" : "site-packages/roadrunner/stochastic"
+        },
+        package_data={
+            # add dll, won't hurt unix, not there anyway
+            "roadrunner" : ["_roadrunner." + _sharedLibExt(), "*.so", "*.dll", "*.txt", "*.dylib"],
+            "roadrunner.testing" : ["*.xml", "*.txt", "*.dat", "dsmts/*.xml", "dsmts/*.csv", "test_data/*"]
+        },
+        cmdclass={'sdist' : _RoadRunnerSDist},
+
+        # fake out the command line args
+        script_name = 'setup.py',
+        script_args = args
+    )
+
+    #change dir back
+    print("changeing back to " + curdir)
+    os.chdir(curdir)
+
+
+
+
+if __name__ == "__main__":
+    args = sys.argv[1:]
+    setup(*args)
diff --git a/wrappers/README.txt b/wrappers/README.txt
new file mode 100644
index 0000000..e69de29
diff --git a/wrappers/c_api_python/CMakeLists.txt b/wrappers/c_api_python/CMakeLists.txt
new file mode 100644
index 0000000..a725fad
--- /dev/null
+++ b/wrappers/c_api_python/CMakeLists.txt
@@ -0,0 +1,18 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(rrWrappers)
+
+if(BUILD_TEST_TOOLS)
+add_subdirectory(Testing)
+
+if(INSTALL_EXAMPLES)
+add_subdirectory(Examples)
+endif()
+
+#=============== INSTALL =====================
+install(
+    FILES 
+    rrPython.py README.txt
+    DESTINATION c_api_python  	
+    COMPONENT testing
+    )
+endif(BUILD_TEST_TOOLS)
diff --git a/wrappers/c_api_python/Examples/CMakeLists.txt b/wrappers/c_api_python/Examples/CMakeLists.txt
new file mode 100644
index 0000000..57656a4
--- /dev/null
+++ b/wrappers/c_api_python/Examples/CMakeLists.txt
@@ -0,0 +1,17 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(RR_PYTHON_EXAMPLES)
+
+set(examples 	
+getStoichMatrix.py
+threeLineSimulation.py
+simulateSelectionList.py
+plotData.py
+)
+
+install(    
+    FILES 
+    ${examples} 
+    DESTINATION c_api_python 	
+    COMPONENT Python
+    )
+
diff --git a/wrappers/c_api_python/Examples/getStoichMatrix.py b/wrappers/c_api_python/Examples/getStoichMatrix.py
new file mode 100644
index 0000000..671a8ce
--- /dev/null
+++ b/wrappers/c_api_python/Examples/getStoichMatrix.py
@@ -0,0 +1,7 @@
+import rrPython
+
+modelPath = ('../models/feedback.xml')
+rrPython.loadSBMLFromFile(modelPath)
+matrix = rrPython.getStoichiometryMatrix()
+
+print matrix
diff --git a/wrappers/c_api_python/Examples/plotData.py b/wrappers/c_api_python/Examples/plotData.py
new file mode 100644
index 0000000..a17c3f1
--- /dev/null
+++ b/wrappers/c_api_python/Examples/plotData.py
@@ -0,0 +1,21 @@
+import roadrunner
+from numpy import *
+from matplotlib.pyplot import *
+model = open('../models/squareWaveModel.xml', 'r').read()
+rr = roadrunner.RoadRunner()
+
+rr.load(model)
+timeStart = 0
+timeEnd = 50
+numPoints = 500
+data = rr.simulate(timeStart, timeEnd, numPoints)
+
+print data
+
+x = data['time']
+S1 = data['[S1]']
+
+plot(x, S1, "-ro", label="S1", )
+
+legend(bbox_to_anchor=(1.05, 1), loc=5, borderaxespad=0.)
+show()
\ No newline at end of file
diff --git a/wrappers/c_api_python/Examples/rrPluginDocumentationDemo.py b/wrappers/c_api_python/Examples/rrPluginDocumentationDemo.py
new file mode 100644
index 0000000..66e0c44
--- /dev/null
+++ b/wrappers/c_api_python/Examples/rrPluginDocumentationDemo.py
@@ -0,0 +1,39 @@
+import os
+from rrPython import *
+from rrPlugins import *
+
+pluginName = "rrp_add_noise"
+plugin = loadPlugin(pluginName)
+if not plugin:
+    print getLastError()
+    exit()
+
+#Get some general info about the plugin
+print getPluginInfo(plugin)
+
+#Get the plugins capabilities
+print getPluginCapabilities(plugin)
+
+#Get parameters associated with a capability
+print getPluginParameters(plugin, 'Add Noise')
+
+#Get xml
+print getPluginCapabilitiesAsXML(plugin)
+
+#Get the manual for the plugin (bundled as embedded PDF)
+ptr = getPluginManualAsPDF(plugin)
+nrOfBytes = getPluginManualNrOfBytes(plugin)
+manual = cast(ptr, POINTER(c_char * nrOfBytes))[0]
+
+#Check if there is a PDF available
+if nrOfBytes == 0:
+    print 'This plugin don\'t have a manual'
+    exit()
+
+#create a (temporary) pdf file from the data
+outFName = pluginName + '.pdf'
+
+with open(outFName, 'wb') as output:
+    output.write(manual)
+
+os.system('start ' + outFName) #a total guess
\ No newline at end of file
diff --git a/wrappers/c_api_python/Examples/rrPluginParameterDemo.py b/wrappers/c_api_python/Examples/rrPluginParameterDemo.py
new file mode 100644
index 0000000..97a3f34
--- /dev/null
+++ b/wrappers/c_api_python/Examples/rrPluginParameterDemo.py
@@ -0,0 +1,52 @@
+import rrPython as rr
+from rrPlugins import *
+
+#Load the 'noise' plugin in order to add some noise to the data
+plugin = loadPlugin("rrp_add_noise")
+if not plugin:
+    print rr.getLastError()
+    exit()
+
+print getPluginInfo(plugin)
+print getPluginCapabilities(plugin)
+print getPluginCapabilitiesAsXML(plugin)
+
+paraHandle   = getPluginParameter(plugin, "NoiseType")
+
+print 'getting some info about the parameter'
+print getParameterInfo(paraHandle)
+
+paraValueString = getParameterValueAsString(paraHandle)
+print 'parameter is ' + paraValueString
+
+setParameterByString(paraHandle, "1")
+paraValueString = getParameterValueAsString(paraHandle)
+print 'Parameter is now: ' + paraValueString
+
+setEnumParameter(paraHandle, 0)
+test = getParameterValue(paraHandle)
+print test
+
+paraValueString = getParameterValueAsString(paraHandle)
+print 'Parameter is now: ' + paraValueString
+
+########### ------------------------------------------------------
+paraHandle = getPluginParameter(plugin, "Sigma")
+
+print 'getting some info about the parameter'
+print getParameterInfo(paraHandle)
+
+paraValueString = getParameterValueAsString(paraHandle)
+print 'parameter is ' + paraValueString
+
+setParameterByString(paraHandle, "1.23")
+paraValueString = getParameterValueAsString(paraHandle)
+print 'Parameter is now: ' + paraValueString
+
+var = 2.23
+setDoubleParameter(paraHandle, var)
+test = getParameterValue(paraHandle)
+print test
+
+paraValueString = getParameterValueAsString(paraHandle)
+print 'Parameter is now: ' + paraValueString
diff --git a/wrappers/c_api_python/Examples/simulateSelectionList.py b/wrappers/c_api_python/Examples/simulateSelectionList.py
new file mode 100644
index 0000000..c8c132b
--- /dev/null
+++ b/wrappers/c_api_python/Examples/simulateSelectionList.py
@@ -0,0 +1,8 @@
+import roadrunner
+rr = roadrunner.RoadRunner()
+
+rr.load('../models/test_1.xml')
+
+rr.selections = ['time', 'S2']
+print rr.simulate(0,10,11)
+
diff --git a/wrappers/c_api_python/Examples/threeLineSimulation.py b/wrappers/c_api_python/Examples/threeLineSimulation.py
new file mode 100644
index 0000000..adda129
--- /dev/null
+++ b/wrappers/c_api_python/Examples/threeLineSimulation.py
@@ -0,0 +1,5 @@
+import roadrunner
+rr = roadrunner.RoadRunner()
+
+rr.load('../models/feedback.xml')
+print rr.simulate(0,2,20)
diff --git a/wrappers/c_api_python/README.txt b/wrappers/c_api_python/README.txt
new file mode 100644
index 0000000..2ec06cd
--- /dev/null
+++ b/wrappers/c_api_python/README.txt
@@ -0,0 +1,7 @@
+The files in this directory are used for a number of purposes:
+
+rrPython.py is a ctypes binding to the roadRunner C API
+
+rrRunTests.py and rrTester.py are used to tesdt the C API via Python.
+
+These files are not part of the binary distribution...
diff --git a/wrappers/c_api_python/Testing/CMakeLists.txt b/wrappers/c_api_python/Testing/CMakeLists.txt
new file mode 100644
index 0000000..089b3ff
--- /dev/null
+++ b/wrappers/c_api_python/Testing/CMakeLists.txt
@@ -0,0 +1,12 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+PROJECT(rrWrappers)
+
+
+#=============== INSTALL =====================
+install(
+    FILES 
+    rrRunTests.py
+    rrTester.py
+    DESTINATION c_api_python COMPONENT testing
+)
+
diff --git a/wrappers/c_api_python/Testing/results_roadRunnerTest_1.txt b/wrappers/c_api_python/Testing/results_roadRunnerTest_1.txt
new file mode 100644
index 0000000..6ce189b
--- /dev/null
+++ b/wrappers/c_api_python/Testing/results_roadRunnerTest_1.txt
@@ -0,0 +1,361 @@
+# Simple Test Model
+# root = "roadRunnerTest_1";
+[SBML]
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Created by XMLPrettyPrinter on 1/1/2013 from  -->
+<sbml xmlns = "http://www.sbml.org/sbml/level2/version4" level = "2" version = "4">
+   <model id = "cell">
+      <listOfCompartments>
+         <compartment id = "compartment" size = "1"/>
+      </listOfCompartments>
+      <listOfSpecies>
+         <species id = "src" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "waste" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "Xo" boundaryCondition = "true" initialConcentration = "1" compartment = "compartment"/>
+         <species id = "X1" boundaryCondition = "true" initialConcentration = "0" compartment = "compartment"/>
+         <species id = "S1" boundaryCondition = "false" initialConcentration = "0.1" compartment = "compartment"/>
+         <species id = "S2" boundaryCondition = "false" initialConcentration = "0.25" compartment = "compartment"/>
+         <species id = "S3" boundaryCondition = "false" initialConcentration = "0.1" compartment = "compartment"/>
+      </listOfSpecies>
+      <listOfParameters>
+         <parameter id = "kk1" value = "1"/>
+         <parameter id = "k1" value = "0.1"/>
+         <parameter id = "k_1" value = "0.05"/>
+         <parameter id = "kk2" value = "1"/>
+         <parameter id = "k2" value = "0.15"/>
+         <parameter id = "k_2" value = "0.067"/>
+         <parameter id = "kk3" value = "1"/>
+         <parameter id = "k3" value = "0.4"/>
+         <parameter id = "k_3" value = "0.09"/>
+         <parameter id = "kk4" value = "1"/>
+         <parameter id = "k4" value = "0.55"/>
+         <parameter id = "k_4" value = "0.01"/>
+      </listOfParameters>
+      <listOfReactions>
+         <reaction id = "J1" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "Xo" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk1
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k1
+                           </ci>
+                           <ci>
+                                 Xo
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_1
+                           </ci>
+                           <ci>
+                                 S1
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J2" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S1" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk2
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k2
+                           </ci>
+                           <ci>
+                                 S1
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_2
+                           </ci>
+                           <ci>
+                                 S2
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J3" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S2" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk3
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k3
+                           </ci>
+                           <ci>
+                                 S2
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_3
+                           </ci>
+                           <ci>
+                                 S3
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+         <reaction id = "J4" reversible = "false">
+            <listOfReactants>
+               <speciesReference species = "S3" stoichiometry = "1"/>
+            </listOfReactants>
+            <listOfProducts>
+               <speciesReference species = "X1" stoichiometry = "1"/>
+            </listOfProducts>
+            <kineticLaw>
+               <math xmlns = "http://www.w3.org/1998/Math/MathML">
+                  <apply>
+                     <times/>
+                     <ci>
+                           kk4
+                     </ci>
+                     <apply>
+                        <minus/>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k4
+                           </ci>
+                           <ci>
+                                 S3
+                           </ci>
+                        </apply>
+                        <apply>
+                           <times/>
+                           <ci>
+                                 k_4
+                           </ci>
+                           <ci>
+                                 X1
+                           </ci>
+                        </apply>
+                     </apply>
+                  </apply>
+               </math>
+            </kineticLaw>
+         </reaction>
+      </listOfReactions>
+   </model>
+</sbml>
+[END_MODEL]
+
+[JARNAC]
+p = defn cell
+      var S1, S2, S3;
+      ext src, waste;
+      ext Xo, X1;
+
+      J1: Xo -> S1; k1*Xo - k_1*S1;
+      J2: S1 -> S2; k2*S1 - k_2*S2;
+      J3: S2 -> S3; k3*S2 - k_3*S3;
+      J4: S3 -> X1; k4*S3 - k_4*X1;
+  end;
+
+p.Xo = 1;
+p.X1 = 0;
+p.S1 = 0.5;
+p.S2 = 0.2;
+p.S3 = 0.1;
+p.k1 = 0.1;  p.k_1 = 0.05;
+p.k2 = 0.15; p.k_2 = 0.067;
+p.k3 = 0.4;  p.k_3 = 0.09;
+p.k4 = 0.55; p.k_4 = 0.01;
+[END_MODEL]
+
+[INITIALIZATION]
+[Conservation Laws]
+False
+[END_INITIALIZATION]
+
+[START_TESTS]
+[Set Steady State Selection List]
+S1 S2 S3
+
+[Compute Steady State]
+True
+
+[Species Concentrations]
+S1 0.569694868238558
+S2 0.208044382801664
+S3 0.13002773925104
+
+[Fluxes]
+J1 0.0715152565880721
+J2 0.0715152565880721
+J3 0.0715152565880721
+J4 0.0715152565880721
+
+[Full Jacobian]
+      -0.2      0.067       0     
+      0.15     -0.467       0.09 
+         0      0.4        -0.64
+         
+[Individual Eigenvalues]
+S1 -0.15726345 0 
+S2 -0.38237134 0
+S3 -0.76736521 0
+[Eigenvalue Matrix]
+-0.15726345 0
+-0.38237134 0
+-0.76736521 0
+
+
+[Stoichiometry Matrix]
+         1         -1          0          0 
+         0          1         -1          0
+         0          0          1         -1
+         
+[Link Matrix]
+         1          0          0 
+         0          1          0 
+         0          0          1 
+         
+[Unscaled Elasticity Matrix]
+     -0.05          0          0 
+      0.15        -0.067       0 
+         0        0.4       -0.09
+         0       0            0.55   
+         
+[Scaled Elasticity Matrix]
+-0.39830303      0             0 
+ 1.1949091      -0.19490909    0
+         0       1.1636364    -0.16363636 
+         0                     1
+         
+[Unscaled Concentration Control Matrix]
+ 5.6969487 -4.7676838 -0.79858703 -0.13067788 
+ 2.0804438 0.69348128 -2.3838419 -0.39008322 
+ 1.3002774  0.4334258 0.072598821  -1.806302 
+
+[Scaled Concentration Control Matrix]
+0.715152565880724 -0.598499560612292 -0.100248676402559 -0.0164043288658731 
+0.715152565880721 0.238384188626906 -0.819445648404993 -0.134091106102633
+0.715152565880721 0.238384188626906 0.039929351595007 -0.993466106102634 
+
+[Unscaled Flux Control Matrix]
+0.71515257 0.23838419 0.039929352 0.0065338939 
+0.71515257 0.23838419 0.039929352 0.0065338939 
+0.71515257 0.23838419 0.039929352 0.0065338939 
+0.71515257 0.23838419 0.039929352 0.0065338939 
+
+[Scaled Flux Control Matrix]
+0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736468 
+0.715152565880722 0.238384188626906 0.0399293515950069 0.00653389389736467 
+0.715152565880722 0.238384188626906 0.039929351595007 0.00653389389736467 
+0.715152565880722 0.238384188626906 0.0399293515950071 0.0065338938973647
+
+#[Individual Unscaled Flux Control Coefficients]
+
+
+[Floating Species Ids]
+S1 S2 S3
+[Boundary Species Ids]
+src waste Xo X1
+[Global Parameter Ids]
+kk1 k1 k_1 kk2 k2 k_2 kk3 k3 k_3 kk4 k4 k_4 
+[Compartment Ids]
+compartment
+[Reaction Ids]
+J1 J2 J3 J4
+[Species Initial Condition Ids]
+init(S1) init(S3) init(S2)
+[Get Eigenvalue Ids]
+eigen(S1) eigen(S2) eigen(S3)
+[Get Rates Of Change Ids]
+S1' S2' S3'
+[Set Steady State Selection List]
+S2 S3
+[Get Steady State Selection List]
+S2 S3
+[Set Time Course Selection List]
+time S2 S3
+[Get Time Course Selection List]
+time S2 S3
+[Compute Steady State Values]
+0.20804438 0.1300277392
+[Floating Species Concentrations]
+0.56969487  0.20804438 0.13002774
+[Boundary Species Concentrations]
+0 0 1 0
+[Get Global Parameter Values]
+   1    0.1   0.05    1   0.15   0.067    1    0.4    0.09    1   0.55   0.01
+[Get Initial Floating Species Concs]
+0.1 0.1 0.25
+[Get Reaction Rates]
+0.07151526 0.07151526 0.07151526 0.07151526
+[Get Reaction Rate By Index]
+0.07151526 0.07151526 0.07151526 0.07151526
+[Number of Dependent Species]
+0
+[Number of Independent Species]
+3
+[Number Of Rules]
+0
+[Get Rates Of Change]
+0 0 0
+[Get Reaction Rates Ex]
+1 2 3
+0.05 0.016 1.53 1.65
+[Get Rates of Change Ex]
+1 2 3
+0.034 -0.514 -1.12
+[Get Rate of Change by Index]
+1 2 3
+0.034 -0.514 -1.12
+[END_TESTS]
+
+
diff --git a/wrappers/c_api_python/Testing/rrDebug.py b/wrappers/c_api_python/Testing/rrDebug.py
new file mode 100644
index 0000000..0055196
--- /dev/null
+++ b/wrappers/c_api_python/Testing/rrDebug.py
@@ -0,0 +1,44 @@
+import sys
+import rrPython
+rr = rrPython
+
+
+modelFile=''
+if sys.platform.startswith('win32'):
+    modelFile ="r:/models/feedback.xml"
+    if not rr.setTempFolder('r:/rrTemp/python') == True:
+        print "Failed to set temp folder"
+else:
+    modelFile ="/home/totte/rrInstall/models/feedback.xml"
+    rr.setTempFolder('/home/totte/rrTemp/python')
+
+print rr.getLastError()
+print 'RoadRunner C API Version: ' + rr.getAPIVersion()
+print 'RoadRunner Build DateTime: ' + rr.getBuildDateTime()
+print 'Copyright: ' + rr.getCopyright()
+
+tempFolder=rr.getTempFolder()
+
+print 'TempFolder is :' + tempFolder
+info = rr.getInfo()
+
+print info;
+
+
+rr.setComputeAndAssignConservationLaws(True)
+result = rr.loadSBMLFromFile(modelFile)
+
+print 'Result of loading sbml: '
+print result;
+print rr.getEigenvalues()
+print rr.getEigenvalueIds()
+print rr.getTimeCourseSelectionList()
+rr.setNumPoints(50)
+rr.setTimeEnd(5)
+#print 'Unloading shared library'
+#print rr.Unload(rr.handle)
+
+simResult = rr.simulate()
+print simResult
+
+print "done"
diff --git a/wrappers/c_api_python/Testing/rrRunTests.py b/wrappers/c_api_python/Testing/rrRunTests.py
new file mode 100644
index 0000000..06089ce
--- /dev/null
+++ b/wrappers/c_api_python/Testing/rrRunTests.py
@@ -0,0 +1,13 @@
+
+import sys
+import rrTester
+import rrPython
+import numpy
+
+pathToModels = 'C:\\vs\\trunk\\Wrappers\\Python\\Testing\\'
+#pathToModels = 'R:\\installs\\vs_2012\\RelWDebInfo\\testing\\'
+# runTester takes two arguments:
+#  1) The path to the results and model file
+#  2) The name of the results and model file
+
+rrTester.runTester (pathToModels, 'results_roadRunnerTest_1.txt')
diff --git a/wrappers/c_api_python/Testing/rrTestCompiler.py b/wrappers/c_api_python/Testing/rrTestCompiler.py
new file mode 100644
index 0000000..757c333
--- /dev/null
+++ b/wrappers/c_api_python/Testing/rrTestCompiler.py
@@ -0,0 +1,29 @@
+import sys
+import os
+import shutil
+import rrPython
+
+rr = rrPython
+
+cwd = os.getcwd()
+
+testFileName =  os.path.join(cwd, "..", "testing", "ModelSourceTest")
+tempFolder   =  os.path.join(cwd, "..", "temp")
+
+if not rr.setTempFolder(tempFolder) == True:
+    print "Failed to set temp folder!!"
+    exit()
+
+#Copy test source to temp folder
+shutil.copy(testFileName + ".h", tempFolder)
+shutil.copy(testFileName + ".c", tempFolder)
+
+sourceFileName = tempFolder + "/ModelSourceTest.c"
+val = rr.compileSource(sourceFileName)
+
+if val == True:
+    print "It seems that the compilation succeeded. Check for a compiled libray in the temporary folder.."
+else:
+    print "There was a problem compiling a simple C program."
+
+print "done"
diff --git a/wrappers/c_api_python/Testing/rrTester.py b/wrappers/c_api_python/Testing/rrTester.py
new file mode 100644
index 0000000..cd1da57
--- /dev/null
+++ b/wrappers/c_api_python/Testing/rrTester.py
@@ -0,0 +1,1002 @@
+# Test Module for RoadRunner
+#
+# Usage:
+# import rrTester
+# runTest ('mymodel')
+
+
+#-------------------------------------------------------------
+# Tests for steady state and stoichiometric calculations in
+# roadRunner. Herbert M Sauro November 2012
+#-------------------------------------------------------------
+
+#------------------------------------------
+# Change this line for different test files
+#nameOfResultsFile = 'results_roadRunnerTest_1.txt'
+
+
+import sys
+import random
+import string
+import rrPython
+from numpy import *
+
+# Module wide file handle
+fHandle = ''
+rpadding = 45
+sbmlStr = ''
+JarnacStr = ''
+
+def expectApproximately (a, b, tol):
+     diff = a - b
+     return abs(diff) < tol
+
+def passMsg (errorFlag):
+    if errorFlag:
+        return "*****FAIL*****"
+    else:
+        return "PASS"
+
+# Empty lines are ignored
+# Lines starting with # are also ignored
+
+def readLine ():
+    line = fHandle.readline()
+    while line == '\n':
+       line = fHandle.readline()
+    while line == '':
+        line = fHandle.readline()
+
+    while (line[0] == '#') or (line == '') or (line[0] == '\n'):
+          if line == '':
+             return line
+          line = fHandle.readline();
+    return line.strip('\n')
+
+def jumpToNextTest():
+     line = readLine()
+     #line = ''
+     #while line == '':
+     #      line = fHandle.readline().strip ('\n')
+     while line[0] != '[':
+        line = readLine()
+     return line
+
+def getSBMLStr ():
+    sbmlStr = ''
+    line = fHandle.readline()
+    while (line != '[END_MODEL]' + '\n'):
+          sbmlStr = sbmlStr + line
+          line = fHandle.readline()
+    return sbmlStr
+
+def getJarnacStr ():
+    JarnacStr = ''
+    line = fHandle.readline()
+    while (line != '[END_MODEL]' + '\n'):
+          JarnacStr = JarnacStr + line
+          line = fHandle.readline()
+    return JarnacStr
+
+def loadSBMLModelFromTestFile ():
+    testId = jumpToNextTest()
+    if testId == '[SBML]':
+       return getSBMLStr ()
+
+
+def loadJarnacModelFromTestFile ():
+    testId = jumpToNextTest ()
+    if testId == '[JARNAC]':
+       return getJarnacStr ()
+
+# ------------------------------------------------------------------------
+def setConservationLaw(testId):
+    line = readLine ()
+    if line == 'True':
+        rrPython.setComputeAndAssignConservationLaws(1)
+    else:
+        rrPython.setComputeAndAssignConservationLaws(0)
+
+def mySetSteadyStateSelectionList(testId):
+    line = readLine ()
+    rrPython.setSteadyStateSelectionList (line)
+
+def myComputeSteadyState(testId):
+    line = readLine ()
+    if line == "True":
+       print "Compute Steady State, distance to SteadyState:", rrPython.steadyState()
+
+
+def checkSpeciesConcentrations(testId):
+   words = []
+   species = []
+   m = rrPython.getNumberOfFloatingSpecies()
+   for i in range (0,m):
+       line = readLine ()
+       words = line.split()
+       words.append (rrPython.getValue(words[0]))
+       species.append (words)
+
+   # Steady State Concentrations
+   print string.ljust ("Check " + testId, rpadding),
+   errorFlag = False
+   for i in range (0,m):
+       expectedValue =  float (species[i][1])
+       if expectApproximately (expectedValue, species[i][2], 1E-6) == False:
+          errorFlag = True
+          break
+   print passMsg (errorFlag)
+
+def checkFluxes(testId):
+   words = []
+   fluxes = []
+   # Steady State Fluxes
+   print string.ljust ("Check " + testId, rpadding),
+   errorFlag = False
+   m = rrPython.getNumberOfFloatingSpecies()
+   n = rrPython.getNumberOfReactions();
+   for i in range (0,n):
+       line = readLine ()
+       words = line.split()
+       words.append (rrPython.getValue(words[0]))
+       fluxes.append (words)
+
+   for i in range (0,n):
+       expectedValue = float (fluxes[i][1])
+       if expectApproximately (expectedValue, fluxes[i][2], 1E-6) == False:
+          errorFlag = True
+          break
+   print passMsg (errorFlag)
+
+def checkFullJacobian(testId):
+   # Jacobian
+   print string.ljust ("Check " + testId, rpadding),
+   errorFlag = False
+   m = rrPython.getNumberOfFloatingSpecies()
+   Jacobian = rrPython.getFullJacobian()
+   for i in range(0,m):
+       line = readLine ()
+       words = line.split()
+       for j in range(0,m):
+           expectedValue = float(words[j])
+           if expectApproximately (expectedValue, Jacobian[i,j], 1E-6) == False:
+              errorFlag = True
+              break
+   print passMsg (errorFlag)
+
+
+def checkIndividualEigenvalues(testId):
+   # Eigenvalues
+   print string.ljust ("Check " + testId, rpadding),
+   errorFlag = False
+   m = rrPython.getNumberOfFloatingSpecies()
+   try:
+     for i in range(0,m):
+        line = readLine ()
+        words = line.split()
+        eigenvalueName = words[0]
+        realPart = rrPython.getValue ('eigen(' + eigenvalueName + ')')
+        realPart = float (realPart)
+        if expectApproximately (realPart, float(words[1]), 1E-6) == False:
+            errorFlag = True
+            break
+     print passMsg (errorFlag)
+   except:
+      print 'Unexpected error in checkIndividualEigenvalues:', sys.exc_info()[0]
+
+
+def checkEigenvalueMatrix(testId):
+   # Eigenvalues
+   print string.ljust ("Check " + testId, rpadding),
+   errorFlag = False
+   m = rrPython.getNumberOfFloatingSpecies()
+   eigenvalues = rrPython.getEigenvalues()
+   for i in range(0,m):
+      line = readLine ()
+      words = line.split()
+      realPart = float (words[0])
+      # Check if there is an imaginary part
+      if len (words) == 1:
+         imagPart = 0
+      else:
+         imagPart= float (words[1])
+      if (expectApproximately (realPart, eigenvalues[i,0], 1E-6) == False) or (expectApproximately (imagPart, eigenvalues[i,1], 1E-6)) == False:
+          errorFlag = True
+          break
+   print passMsg (errorFlag)
+
+
+def checkStoichiometryMatrix(testId):
+   # Stoichiometry matrix
+   print string.ljust ("Check " + testId, rpadding),
+   errorFlag = False
+   m = rrPython.getNumberOfFloatingSpecies()
+   n = rrPython.getNumberOfReactions();
+   st = rrPython.getStoichiometryMatrix()
+   for i in range(0,m):
+       line = readLine ()
+       words = line.split()
+       for j in range(0,n):
+           if expectApproximately(float (words[j]), st[i,j], 1E-6) == False:
+              errorFlag = True
+              break
+   print passMsg (errorFlag)
+
+def checkLinkMatrix(testId):
+   # Link matrix
+   print string.ljust ("Check " + testId, rpadding),
+   errorFlag = False
+   m = rrPython.getNumberOfFloatingSpecies()
+   st = rrPython.getLinkMatrix()
+   for i in range(0,m):
+       words = readLine ().split()
+       for j in range(0,m):
+           if expectApproximately(float (words[j]), st[i,j], 1E-6) == False:
+              errorFlag = True
+              break
+   print passMsg (errorFlag)
+
+def checkUnscaledConcentrationControlMatrix(testId):
+   # Unscaled Concentration Control matrix
+   print string.ljust ("Check " + testId, rpadding),
+   words = []
+   errorFlag = False
+   m = rrPython.getNumberOfFloatingSpecies()
+   n = rrPython.getNumberOfReactions();
+   st = rrPython.getUnscaledConcentrationControlCoefficientMatrix();
+   for i in range(0,m):
+        words = readLine ().split()
+        for j in range(0,n):
+            if expectApproximately(float (words[j]), st[i,j], 1E-6) == False:
+               errorFlag = True
+               break
+   print passMsg (errorFlag)
+
+
+def checkScaledConcentrationControlMatrix(testId):
+   # Unscaled Concentration Control matrix
+   print string.ljust ("Check " + testId, rpadding),
+   words = []
+   errorFlag = False
+   m = rrPython.getNumberOfFloatingSpecies()
+   n = rrPython.getNumberOfReactions();
+   st = rrPython.getScaledConcentrationControlCoefficientMatrix();
+   for i in range(0,m):
+        words = readLine ().split()
+        for j in range(0,n):
+            if expectApproximately(float (words[j]), st[i,j], 1E-6) == False:
+               errorFlag = True
+               break
+   print passMsg (errorFlag)
+
+
+def checkUnscaledFluxControlCoefficientMatrix(testId):
+   # Unscaled Flux Control matrix
+   print string.ljust ("Check " + testId, rpadding),
+   words = []
+   errorFlag = False
+   n = rrPython.getNumberOfReactions();
+   st = rrPython.getUnscaledFluxControlCoefficientMatrix();
+   for i in range(0,n):
+        words = readLine ().split()
+        for j in range(0,n):
+            if expectApproximately(float (words[j]), st[i,j], 1E-6) == False:
+               errorFlag = True
+               break
+   print passMsg (errorFlag)
+
+
+def checkScaledFluxControlCoefficientMatrix(testId):
+   # Unscaled Flux Control matrix
+   print string.ljust ("Check " + testId, rpadding),
+   words = []
+   errorFlag = False
+   n = rrPython.getNumberOfReactions();
+   st = rrPython.getScaledFluxControlCoefficientMatrix()
+   for i in range(0,n):
+        words = readLine ().split()
+        for j in range(0,n):
+            if expectApproximately(float (words[j]), st[i,j], 1E-6) == False:
+               errorFlag = True
+               break
+   print passMsg (errorFlag)
+
+
+def checkUnscaledElasticityMatrix(testId):
+  # Jacobian
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  m = rrPython.getNumberOfFloatingSpecies()
+  uee = rrPython.getUnscaledElasticityMatrix()
+  for i in range(0,m):
+      line = readLine ()
+      words = line.split()
+      for j in range(0,m):
+          expectedValue = float(words[j])
+          if expectApproximately (expectedValue, uee[i,j], 1E-6) == False:
+             errorFlag = True
+             break
+  print passMsg (errorFlag)
+
+def checkScaledElasticityMatrix(testId):
+  # Jacobian
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  m = rrPython.getNumberOfFloatingSpecies()
+  ee = rrPython.getScaledElasticityMatrix()
+  for i in range(0,m):
+      line = readLine ()
+      words = line.split()
+      for j in range(0,m):
+          expectedValue = float(words[j])
+          if expectApproximately (expectedValue, ee[i,j], 1E-6) == False:
+             errorFlag = True
+             break
+  print passMsg (errorFlag)
+
+
+def checkGetFloatingSpeciesIds(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  words = line.split()
+  expected = rrPython.getFloatingSpeciesIds()
+  m = rrPython.getNumberOfFloatingSpecies()
+  for i in range(0,m):
+      if words[i] != expected[i]:
+             errorFlag = True
+             break
+  print passMsg (errorFlag)
+
+def checkGetBoundarySpeciesIds(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  words = line.split()
+  expected = rrPython.getBoundarySpeciesIds()
+  m = rrPython.getNumberOfBoundarySpecies()
+  for i in range(0,m):
+      if words[i] != expected[i]:
+             errorFlag = True
+             break
+  print passMsg (errorFlag)
+
+
+def checkGetGlobalParameterIds (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  words = line.split()
+  expected = rrPython.getGlobalParameterIds()
+  m = rrPython.getNumberOfGlobalParameters()
+  for i in range(0,m):
+      if words[i] != expected[i]:
+             errorFlag = True
+             break
+  print passMsg (errorFlag)
+
+
+def checkGetCompartmentIds (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  words = line.split()
+  expected = rrPython.getCompartmentIds()
+  m = rrPython.getNumberOfCompartments()
+  for i in range(0,m):
+      if words[i] != expected[i]:
+             errorFlag = True
+             break
+  print passMsg (errorFlag)
+
+
+def checkReactionIds (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  words = line.split()
+  expected = rrPython.getReactionIds()
+  m = rrPython.getNumberOfReactions();
+  for i in range(0,m):
+      if words[i] != expected[i]:
+             errorFlag = True
+             break
+  print passMsg (errorFlag)
+
+
+def checkFloatingSpeciesInitialConditionIds (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  words = line.split()
+  expected = rrPython.getFloatingSpeciesInitialConditionIds()
+  m = rrPython.getNumberOfFloatingSpecies()
+  for i in range(0,m):
+      if words[i] != expected[i]:
+             errorFlag = True
+             break
+  print passMsg (errorFlag)
+
+
+def checkEigenValueIds (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  words = line.split()
+  expected = rrPython.getEigenvalueIds()
+  m = rrPython.getNumberOfFloatingSpecies()
+  for i in range(0,m):
+      if words[i] != expected[i]:
+             errorFlag = True
+             break
+  print passMsg (errorFlag)
+
+
+def checkGetRatesOfChangeIds (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  words = line.split()
+  expected = rrPython.getRatesOfChangeIds()
+  n = rrPython.getNumberOfFloatingSpecies()
+  for i in range(0,n):
+      if words[i] != expected[i]:
+             errorFlag = True
+             break
+  print passMsg (errorFlag)
+
+
+def checkSetSteadyStateSelectionList(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  result = rrPython.setSteadyStateSelectionList (line)
+  if result == False:
+     errorFlag = True
+  print passMsg (errorFlag)
+
+
+def checkGetSteadyStateSelectionList(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  words = line.split()
+  result = rrPython.getSteadyStateSelectionList ()
+  for i in range (len (words)):
+      if words[i] != result[i]:
+         errorFlag = True
+         break
+  print passMsg (errorFlag)
+
+
+def checkSetTimeCourseSelectionList(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  result = rrPython.setTimeCourseSelectionList (line)
+  if result == False:
+     errorFlag = True
+  print passMsg (errorFlag)
+
+
+def checkGetTimeCourseSelectionList(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  line = readLine ()
+  words = line.split()
+  result = rrPython.getTimeCourseSelectionList()
+  for i in range (len (words)):
+      if words[i] != result[i]:
+         errorFlag = True
+         break
+  print passMsg (errorFlag)
+
+
+def checkComputeSteadyStateValues(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  list = rrPython.getSteadyStateSelectionList()
+  ss = rrPython.computeSteadyStateValues()
+  words = readLine().split()
+  for i in range (len (list)):
+      if expectApproximately(float (words[i]), ss[i], 1E-6) == False:
+          errorFlag = True
+          break;
+  print passMsg (errorFlag)
+
+
+def checkFloatingSpeciesConcentrations(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  ss = rrPython.getFloatingSpeciesConcentrations()
+  words = readLine().split()
+  for i in range (len (ss)):
+      if expectApproximately(float (words[i]), ss[i], 1E-6) == False:
+          errorFlag = True
+          break;
+  print passMsg (errorFlag)
+
+
+def checkBoundarySpeciesConcentrations(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  ss = rrPython.getBoundarySpeciesConcentrations()
+  words = readLine().split()
+  for i in range (len (ss)):
+       if expectApproximately(float (words[i]), ss[i], 1E-6) == False:
+          errorFlag = True
+          break;
+  print passMsg (errorFlag)
+
+
+def checkGlobalParameterValues(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  ss = rrPython.getGlobalParameterValues()
+  words = readLine().split()
+  for i in range (len (ss)):
+      if expectApproximately(float (words[i]), ss[i], 1E-6) == False:
+          errorFlag = True
+          break;
+  print passMsg (errorFlag)
+
+
+def checkInitalFloatingSpeciesConcentations(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  ss = rrPython.getFloatingSpeciesInitialConcentrations()
+  words = readLine().split()
+  for i in range (len (ss)):
+      if expectApproximately(float (words[i]), ss[i], 1E-6) == False:
+          errorFlag = True
+          break;
+  print passMsg (errorFlag)
+
+
+def checkReactionRates(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  ss = rrPython.getReactionRates()
+  words = readLine().split()
+  for i in range (len (ss)):
+      if expectApproximately(float (words[i]), ss[i], 1E-6) == False:
+          errorFlag = True
+          break;
+  print passMsg (errorFlag)
+
+
+def checkGetReactionRatesByIndex(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  words = readLine().split()
+  n = rrPython.getNumberOfReactions()
+  for i in range (n):
+      value = rrPython.getReactionRate (i)
+      if expectApproximately(float (words[i]), value, 1E-6) == False:
+          errorFlag = True
+          break;
+  print passMsg (errorFlag)
+
+
+def checkNumberOfDependentSpecies(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  value = int (readLine())
+  n = rrPython.getNumberOfDependentSpecies()
+  if n != value:
+    errorFlag = True
+  print passMsg (errorFlag)
+
+
+def checkNumberOfIndependentSpecies(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  value = int (readLine())
+  n = rrPython.getNumberOfIndependentSpecies()
+  if n != value:
+    errorFlag = True
+  print passMsg (errorFlag)
+
+
+def checkInitialConditions(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  words = readLine().split()
+  values = rrPython.getFloatingSpeciesInitialConcentrations()
+  for i in range(len(words)):
+      if expectApproximately (float (words[i]), values[i], 1E-6) == False:
+        errorFlag = True
+  print passMsg (errorFlag)
+
+
+def checkNumberOfRules(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  value = int (readLine())
+  if rrPython.getNumberOfRules() != value:
+    errorFlag = True
+  print passMsg (errorFlag)
+
+
+def checkGetRatesOfChange(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  words = readLine().split()
+  values = rrPython.getRatesOfChange()
+  for i in range (len(words)):
+      if expectApproximately (float (words[i]), values[i], 1E-6) == False:
+        errorFlag = True
+  print passMsg (errorFlag)
+
+
+def checkGetReactionRatesEx (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  inputConcs = asarray (readLine().split(), dtype=float64)
+  values = rrPython.getReactionRatesEx (inputConcs)
+  outputRates = asarray (readLine().split(), dtype=float64)
+  if not allclose (values, outputRates):
+    errorFlag = True
+  print passMsg (errorFlag)
+
+
+def checkGetRatesOfChangeEx (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  inputConcs = asarray (readLine().split(), dtype=float64)
+  values = rrPython.getRatesOfChangeEx (inputConcs)
+  outputRates = asarray (readLine().split(), dtype=float64)
+  if not allclose (values, outputRates):
+    errorFlag = True
+  print passMsg (errorFlag)
+
+
+def checkRateRateOfChangeByIndex(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  inputConcs = asarray (readLine().split(), dtype=float64)
+  outputRates = asarray (readLine().split(), dtype=float64)
+  rrPython.setFloatingSpeciesConcentrations (inputConcs)
+  for i in range (len (inputConcs)):
+      value = rrPython.getRateOfChange (i)
+      if expectApproximately (value, outputRates[i], 1E-6) == False:
+        errorFlag = True
+        break
+  print passMsg (errorFlag)
+
+# ---------------------------------------------------------------------------
+
+def setGetValues(IdList, testId):
+    print string.ljust ("Check " + testId, rpadding),
+    errorFlag = False
+    for i in range (len(IdList)):
+        value = random.random()*10
+        rrPython.setValue (IdList[i], value)
+        if expectApproximately (rrPython.getValue (IdList[i]), value, 1E-6) == False:
+            errorFlag = True
+            break
+    print passMsg (errorFlag)
+
+
+def setGetTimeStart(testId):
+    print string.ljust ("Check " + testId, rpadding),
+    errorFlag = False
+    value = random.random ()*10
+    rrPython.setTimeStart (value)
+    if expectApproximately (rrPython.getTimeStart (), value, 1E-6) == False:
+            errorFlag = True
+    print passMsg (errorFlag)
+
+
+def setGetTimeEnd(testId):
+    print string.ljust ("Check " + testId, rpadding),
+    errorFlag = False
+    value = random.random ()*10
+    rrPython.setTimeEnd (value)
+    if expectApproximately (rrPython.getTimeEnd (), value, 1E-6) == False:
+            errorFlag = True
+    print passMsg (errorFlag)
+
+
+def setGetNumberOfPoints(testId):
+    print string.ljust ("Check " + testId, rpadding),
+    errorFlag = False
+    value = random.randint (1, 100)
+    rrPython.setNumPoints (value)
+    if rrPython.getNumPoints () != value:
+            errorFlag = True
+    print passMsg (errorFlag)
+
+
+def setGetTimeCourseSelectionList(testId):
+    print string.ljust ("Check " + testId, rpadding),
+    errorFlag = False
+    myList = rrPython.getFloatingSpeciesIds()
+    newList = list (myList)
+    random.shuffle (newList)
+    rrPython.setTimeCourseSelectionList (newList)
+    if rrPython.getTimeCourseSelectionList() != newList:
+        errorFlag = True
+    print passMsg (errorFlag)
+
+
+def setGetSteadyStateSelectionList(testId):
+    print string.ljust ("Check " + testId, rpadding),
+    errorFlag = False
+    myList = rrPython.getFloatingSpeciesIds()
+    newList = list (myList)
+    while newList == myList:
+         random.shuffle (newList)
+    rrPython.setSteadyStateSelectionList (newList)
+    getList = rrPython.getSteadyStateSelectionList()
+    if getList != newList:
+        errorFlag = True
+    print passMsg (errorFlag)
+
+
+def setGetFloatingSpeciesByIndex(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  n = rrPython.getNumberOfFloatingSpecies()
+  for i in range (n):
+      value = random.random()*10
+      rrPython.setFloatingSpeciesByIndex (i, value)
+      if expectApproximately(rrPython.getFloatingSpeciesByIndex (i), value, 1E-6) == False:
+          errorFlag = True
+          break;
+  print passMsg (errorFlag)
+
+
+def setGetBoundarySpeciesByIndex(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  n = rrPython.getNumberOfBoundarySpecies()
+  for i in range (n):
+      value = random.random()*10
+      rrPython.setBoundarySpeciesByIndex (i, value)
+      if expectApproximately(rrPython.getBoundarySpeciesByIndex (i), value, 1E-6) == False:
+          errorFlag = True
+          break;
+  print passMsg (errorFlag)
+
+
+def setGetCompartmentByIndex(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  n = rrPython.getNumberOfCompartments()
+  for i in range (n):
+      value = random.random()*10
+      rrPython.setCompartmentByIndex (i, value)
+      if expectApproximately(rrPython.getCompartmentByIndex (i), value, 1E-6) == False:
+          errorFlag = True
+          break;
+  print passMsg (errorFlag)
+
+
+def setGetGlobalParameterByIndex (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  n = rrPython.getNumberOfGlobalParameters()
+  for i in range (n):
+      value = random.random()*10
+      rrPython.setGlobalParameterByIndex (i, value)
+      if expectApproximately(rrPython.getGlobalParameterByIndex (i), value, 1E-6) == False:
+          errorFlag = True
+          break;
+  print passMsg (errorFlag)
+
+
+def setGetFloatingSpeciesConcentrations (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  getArray = rrPython.getFloatingSpeciesConcentrations()
+  setArray = zeros(len(getArray))
+  for i in range(len(getArray)):
+      value = random.random()*10
+      setArray[i] = value
+  rrPython.setFloatingSpeciesConcentrations (setArray)
+  if (setArray != rrPython.getFloatingSpeciesConcentrations()).all():
+      errorFlag = True
+  print passMsg (errorFlag)
+
+
+def setGetBoundarySpeciesConcentrations (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  getArray = rrPython.getBoundarySpeciesConcentrations()
+  setArray = zeros(len(getArray))
+  for i in range(len(getArray)):
+      value = random.random()*10
+      setArray[i] = value
+  rrPython.setBoundarySpeciesConcentrations (rrPython.PythonArrayTorrVector (setArray))
+  if (setArray != rrPython.getBoundarySpeciesConcentrations()).all():
+      errorFlag = True
+  print passMsg (errorFlag)
+
+
+def setGetInitialFloatingSpeciesConcentrations (testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  getArray = rrPython.getFloatingSpeciesInitialConcentrations ()
+  setArray = zeros(len(getArray))
+  for i in range(len(getArray)):
+      value = random.random()*10
+      setArray[i] = value
+  rrPython.setFloatingSpeciesInitialConcentrations (setArray)
+  if (setArray != rrPython.getFloatingSpeciesInitialConcentrations()).all():
+      errorFlag = True
+  print passMsg (errorFlag)
+
+
+def setGetReset(testId):
+  print string.ljust ("Check " + testId, rpadding),
+  errorFlag = False
+  values = zeros (rrPython.getNumberOfFloatingSpecies())
+  for i in range (len (values)):
+    values[i] = random.random()*10
+  initial = rrPython.getFloatingSpeciesInitialConcentrations()
+  rrPython.setFloatingSpeciesConcentrations (values)
+  # Should reset the floats by to the current initial condition
+  rrPython.reset()
+  values = rrPython.getFloatingSpeciesConcentrations()
+  if(values != initial).all():
+    errorFlag = True
+  print passMsg (errorFlag)
+
+
+def scriptTests():
+    print
+    print "Testing Set and Get Functions"
+    print "-----------------------------"
+    setGetValues(rrPython.getFloatingSpeciesIds(), 'Set/Get Value (Floats)')
+    setGetValues(rrPython.getBoundarySpeciesIds(), 'Set/Get Value (Boundary)')
+    setGetValues(rrPython.getGlobalParameterIds(), 'Set/Get Value (Global Parameters)')
+    setGetValues(rrPython.getCompartmentIds(), 'Set/Get Value (Compartments)')
+    setGetTimeStart('Set/Get TimeStart')
+    setGetTimeEnd ('Set/Get TimeEnd')
+    setGetNumberOfPoints ('Set/Get Number Of Points')
+    setGetTimeCourseSelectionList ('Set/Get Time Course Selection List')
+    setGetSteadyStateSelectionList ('Set/Get Steady State Selection List')
+    setGetFloatingSpeciesByIndex ('Set/Get Floating Species by Index')
+    setGetBoundarySpeciesByIndex ('Set/Get Boundary Species by Index')
+    setGetCompartmentByIndex ('Set/Get Compartment by Index')
+    setGetGlobalParameterByIndex ('Set/Get Global Parameter buy Index')
+    setGetBoundarySpeciesConcentrations ('Set/Get Boundary Species Concs')
+    setGetFloatingSpeciesConcentrations ('Set/Get Floating Species Concs')
+    setGetInitialFloatingSpeciesConcentrations ('Set/Get Initial Concs')
+    setGetReset ('Set/Get Reset Method')
+
+
+# ------------------------------------------------------------------------
+# List of tests
+functions = {'[Compute Steady State]': myComputeSteadyState,
+             '[Set Steady State Selection List]': mySetSteadyStateSelectionList,
+             '[Conservation Laws]': setConservationLaw,
+             '[Species Concentrations]': checkSpeciesConcentrations,
+             '[Fluxes]': checkFluxes,
+             '[Full Jacobian]': checkFullJacobian,
+             '[Eigenvalue Matrix]': checkEigenvalueMatrix,
+             '[Individual Eigenvalues]': checkIndividualEigenvalues,
+             '[Stoichiometry Matrix]': checkStoichiometryMatrix,
+             '[Link Matrix]': checkLinkMatrix,
+             '[Unscaled Elasticity Matrix]': checkUnscaledElasticityMatrix,
+             '[Scaled Elasticity Matrix]': checkScaledElasticityMatrix,
+             '[Unscaled Concentration Control Matrix]': checkUnscaledConcentrationControlMatrix,
+             '[Unscaled Flux Control Matrix]': checkUnscaledFluxControlCoefficientMatrix,
+             '[Scaled Concentration Control Matrix]': checkScaledConcentrationControlMatrix,
+             '[Scaled Flux Control Matrix]': checkScaledFluxControlCoefficientMatrix,
+             '[Floating Species Ids]': checkGetFloatingSpeciesIds,
+             '[Boundary Species Ids]': checkGetBoundarySpeciesIds,
+             '[Global Parameter Ids]': checkGetGlobalParameterIds,
+             '[Compartment Ids]': checkGetCompartmentIds,
+             '[Reaction Ids]': checkReactionIds,
+             '[Species Initial Condition Ids]': checkFloatingSpeciesInitialConditionIds,
+             '[Get Eigenvalue Ids]': checkEigenValueIds,
+             '[Get Rates Of Change Ids]': checkGetRatesOfChangeIds,
+             '[Set Steady State Selection List]': checkSetSteadyStateSelectionList,
+             '[Get Steady State Selection List]': checkGetSteadyStateSelectionList,
+             '[Set Time Course Selection List]': checkSetTimeCourseSelectionList,
+             '[Get Time Course Selection List]': checkGetTimeCourseSelectionList,
+             '[Compute Steady State Values]': checkComputeSteadyStateValues,
+             '[Floating Species Concentrations]': checkFloatingSpeciesConcentrations,
+             '[Boundary Species Concentrations]': checkBoundarySpeciesConcentrations,
+             '[Get Global Parameter Values]': checkGlobalParameterValues,
+             '[Get Initial Floating Species Concs]': checkInitalFloatingSpeciesConcentations,
+             '[Get Reaction Rates]': checkReactionRates,
+             '[Get Reaction Rate By Index]': checkGetReactionRatesByIndex,
+             '[Number of Dependent Species]': checkNumberOfDependentSpecies,
+             '[Number of Independent Species]': checkNumberOfIndependentSpecies,
+             '[Get Initial Floating Species Concs]': checkInitialConditions,
+             '[Number Of Rules]': checkNumberOfRules,
+             '[Get Rates Of Change]': checkGetRatesOfChange,
+             '[Get Reaction Rates Ex]': checkGetReactionRatesEx,
+             '[Get Rates of Change Ex]': checkGetRatesOfChangeEx,
+             '[Get Rate of Change by Index]': checkRateRateOfChangeByIndex,
+              }
+
+def runTester (pathToModels, testModel):
+    global fHandle
+    global sbmlStr
+    global JarnacStr
+
+    print "Starting Tester on ", testModel
+
+    sys.path.append (pathToModels)
+    #print 'Version: ', rrPython.getVersion()
+    #print 'Build Date: ', rrPython.getBuildDate()
+    #print 'Copyright Message: ', rrPython.getCopyright()
+
+    fHandle = open (pathToModels + testModel, 'r')
+
+    sbmlStr = loadSBMLModelFromTestFile ()
+    JarnacStr = loadJarnacModelFromTestFile ()
+
+    print "\n", "Info:"+ "\n"
+
+    rrPython.enableLogging()
+    info = rrPython.getInfo()
+    for item in info:
+        print item
+    print
+
+    # Load any initialization actions
+    testId = jumpToNextTest()
+    if testId == '[INITIALIZATION]':
+        testId = jumpToNextTest ()
+        while testId != '[END_INITIALIZATION]':
+            if functions.has_key(testId):
+               func = functions[testId]
+               func(testId)
+            else:
+               print 'No initialization function found for ' + testId
+            testId = jumpToNextTest()
+
+    # Load the model into RoadRunner
+    if rrPython.loadSBML(sbmlStr) == False:
+        print 'Failed to load model'
+        print rrPython.getLastError()
+        sys.exit(-1)
+
+    print rrPython.getuCC ('J1', 'k1')
+    print rrPython.getuCC ('J1', 'k_1')
+    print rrPython.getuCC ('J1', 'k2')
+    print rrPython.getuCC ('J1', 'k_2')
+    print rrPython.getuCC ('J1', 'k3')
+    print rrPython.getuCC ('J1', 'k_3')
+    print rrPython.getuCC ('J1', 'k4')
+    print rrPython.getuCC ('J1', 'k_4')
+
+    # Now start the tests proper
+    testId = jumpToNextTest()
+    if testId == '[START_TESTS]':
+        testId = jumpToNextTest()
+        while testId != '[END_TESTS]':
+           if functions.has_key(testId):
+              func = functions[testId]
+              func(testId)
+           else:
+              print string.ljust (testId, rpadding), 'NO TEST'
+           testId = jumpToNextTest()
+    else:
+      print 'No Tests found'
+
+    scriptTests()
+
+    #print
+    #print 'Unscaled Flux Control Ids: ', rrPython.getUnscaledFluxControlCoefficientIds(), "\n"
+    #print 'Scaled Flux Control Ids: ', rrPython.getFluxControlCoefficientIds(), "\n"
+    #print 'Unscaled Concentration Control Ids: ', rrPython.getUnscaledConcentrationControlCoefficientIds(), "\n"
+    #print 'Scaled Concentration Control Ids', rrPython.getConcentrationControlCoefficientIds(), "\n"
+
+    #print 'Steady State Symbols: ', rrPython.getAvailableSteadyStateSymbols(), "\n"
+    #print 'Time Course Symbols: ', rrPython.getAvailableTimeCourseSymbols(), "\n"
+
+# --------------------------------------------------------------
+
+
+
+
+
+
+
+
diff --git a/wrappers/c_api_python/rrPython.py b/wrappers/c_api_python/rrPython.py
new file mode 100644
index 0000000..0505b32
--- /dev/null
+++ b/wrappers/c_api_python/rrPython.py
@@ -0,0 +1,2031 @@
+##@Module rrPython
+#This module allows access to the rr_c_api.dll from python"""
+import sys
+import os
+import numpy as np
+from ctypes import *
+
+if len(os.path.dirname(__file__)):
+    os.chdir(os.path.dirname(__file__))
+sharedLib=''
+rrLib=None
+libHandle=None
+if sys.platform.startswith('win32'):
+    rrInstallFolder = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'bin'))
+    os.environ['PATH'] = rrInstallFolder + ';' + "c:\\Python27" + ';' + "c:\\Python27\\Lib\\site-packages" + ';' + os.environ['PATH']
+    sharedLib = os.path.join(rrInstallFolder, 'roadrunner_c_api.dll')
+    rrLib=CDLL(sharedLib)
+else:
+    rrInstallFolder = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'lib'))
+    print(os.path.join(rrInstallFolder, 'libroadrunner_c_api.dylib'))
+    # check for .so (linux)
+    if os.path.isfile(os.path.join(rrInstallFolder, 'libroadrunner_c_api.so')):
+        sharedLib = os.path.join(rrInstallFolder, 'libroadrunner_c_api.so')
+    elif os.path.isfile(os.path.join(rrInstallFolder, 'libroadrunner_c_api.dylib')):
+        sharedLib = os.path.join(rrInstallFolder, 'libroadrunner_c_api.dylib')
+    else:
+        raise Exception("could not locate RoadRunner shared library")
+    rrLib = cdll.LoadLibrary(sharedLib)
+
+#=======================rr_c_api=======================#
+rrLib.createRRInstance.restype = c_void_p
+
+#===== The Python API allocate an internal global handle to ONE instance of the Roadrunner API
+gHandle = rrLib.createRRInstance()
+
+# Utility and informational methods
+rrLib.getInfo.restype       = c_char_p
+rrLib.getBuildDate.restype = c_char_p
+rrLib.getBuildTime.restype = c_char_p
+rrLib.getBuildDateTime.restype = c_char_p
+rrLib.getCopyright.restype = c_char_p
+rrLib.setTempFolder.restype = c_bool
+rrLib.getTempFolder.restype = c_char_p
+
+rrLib.getStringElement.restype = c_void_p
+rrLib.getNumberOfStringElements.restype = c_int
+rrLib.getNumberOfStringElements.argtype = [c_void_p]
+rrLib.pause.restype = None
+#rrLib.getStringElement.argtypes = [POINTER(POINTER(c_ubyte)), c_int]
+
+# More Utility Methods
+rrLib.setConfigurationXML.restype = c_bool
+rrLib.getConfigurationXML.restype = c_char_p
+rrLib.setTimeStart.restype = c_bool
+rrLib.setTimeEnd.restype = c_bool
+rrLib.setNumPoints.restype = c_bool
+rrLib.setTimeCourseSelectionList.restype = c_bool
+rrLib.oneStep.restype = c_bool
+rrLib.getTimeStart.restype = c_bool
+rrLib.getTimeEnd.restype = c_bool
+rrLib.getNumPoints.restype = c_bool
+rrLib.reset.restype = c_bool
+rrLib.freeText.restype = c_bool
+#rrLib.freeText.argtypes = [c_char_p]
+
+# Set and get family of methods
+rrLib.setBoundarySpeciesByIndex.restype = c_bool
+rrLib.setFloatingSpeciesByIndex.restype = c_bool
+rrLib.setGlobalParameterByIndex.restype = c_bool
+rrLib.getBoundarySpeciesByIndex.restype = c_bool
+rrLib.getFloatingSpeciesByIndex.restype = c_bool
+rrLib.getGlobalParameterByIndex.restype = c_bool
+rrLib.getCompartmentByIndex.restype = c_bool
+rrLib.setCompartmentByIndex.restype = c_bool
+rrLib.getSimulationResult.restype = c_void_p
+
+# Logging
+#rrLib.enableLogging.restype = c_bool
+rrLib.setLogLevel.restype = c_bool
+rrLib.getLogLevel.restype = c_char_p
+rrLib.getLogFileName.restype = c_char_p
+rrLib.hasError.restype = c_bool
+rrLib.getLastError.restype = c_char_p
+rrLib.freeRRInstance.restype = c_bool
+
+# Load SBML methods
+rrLib.loadSBML.restype = c_bool
+rrLib.loadSBMLFromFile.restype = c_bool
+#rrLib.loadSBMLFromFileJob.restype = c_void_p
+rrLib.getCurrentSBML.restype = c_char_p
+rrLib.getSBML.restype = c_char_p
+
+# Initial condition methods
+rrLib.setFloatingSpeciesInitialConcentrations.restype = c_bool
+
+# Helper routines
+rrLib.getVectorLength.restype = c_int
+rrLib.getVectorElement.restype = c_bool
+rrLib.setVectorElement.restype = c_bool
+rrLib.setVectorElement.argtypes = [c_int, c_int, c_double]
+
+rrLib.getMatrixNumRows.restype = c_int
+rrLib.getMatrixNumCols.restype = c_int
+rrLib.getMatrixElement.restype = c_bool
+rrLib.setMatrixElement.restype = c_bool
+rrLib.setMatrixElement.argtypes = [c_int, c_int, c_int, c_double]
+rrLib.getRRDataNumRows.restype = c_int
+rrLib.getRRDataNumCols.restype = c_int
+rrLib.getRRCDataElement.restype = c_bool
+rrLib.getRRDataColumnLabel.restype = c_char_p
+
+rrLib.isListItemInteger.resType = c_bool
+rrLib.isListItemDouble.resType = c_bool
+rrLib.isListItemString.resType = c_bool
+rrLib.isListItemList.resType = c_bool
+
+# Flags/Options
+rrLib.setComputeAndAssignConservationLaws.restype = c_bool
+
+# Steady state methods
+rrLib.steadyState.restype = c_bool
+rrLib.setSteadyStateSelectionList.restype = c_bool
+
+# State Methods
+rrLib.getValue.restype = c_bool
+rrLib.setValue.restype = c_bool
+
+# MCA
+rrLib.getuCC.restype = c_bool
+#rrLib.getuCC.argtypes = [c_void_p, c_char_p, c_char_p, c_double)]
+rrLib.getCC.restype = c_bool
+rrLib.getEE.restype = c_bool
+rrLib.getuEE.restype = c_bool
+rrLib.getScaledFloatingSpeciesElasticity.restype = c_bool
+
+# Free memory functions
+
+# Print/format functions
+rrLib.rrCDataToString.restype = c_char_p
+rrLib.matrixToString.restype = c_char_p
+rrLib.vectorToString.restype = c_char_p
+rrLib.stringArrayToString.restype = c_char_p
+rrLib.listToString.restype = c_char_p
+rrLib.getNumberOfStringElementsrestype = c_int
+
+# SBML utility methods
+rrLib.getParamPromotedSBML.restype = c_char_p
+
+# Reaction rates
+rrLib.getNumberOfReactions.restype = c_int
+rrLib.getReactionRate.restype = c_bool
+
+# NOM lib forwarded functions
+rrLib.getNumberOfRules.restype = c_int
+
+rrLib.getEigenvalueIds.restype = c_char_p
+rrLib.computeSteadyStateValues.restype = c_void_p
+rrLib.getSteadyStateSelectionList.restype = c_void_p
+rrLib.getTimeCourseSelectionListrestype = c_void_p
+rrLib.simulate.restype = c_void_p
+#rrLib.simulateJob.restype = c_void_p
+
+rrLib.getFloatingSpeciesConcentrations.restype = c_void_p
+rrLib.getBoundarySpeciesConcentrations.restype = c_void_p
+rrLib.getGlobalParameterValues.restype = c_void_p
+rrLib.getFullJacobian.restype = c_void_p
+rrLib.getReducedJacobian.restype = c_void_p
+rrLib.getEigenvalues.restype = c_void_p
+rrLib.getEigenvaluesMatrix.restype = c_int
+#rrLib.getEigenvaluesMatrix.argtypes = [c_int]
+
+rrLib.getStoichiometryMatrix.restype = c_void_p
+rrLib.getLinkMatrix.restype = c_void_p
+rrLib.getNrMatrix.restype = c_void_p
+rrLib.getL0Matrix.restype = c_void_p
+rrLib.getConservationMatrix.restype = c_void_p
+rrLib.getFloatingSpeciesInitialConcentrations.restype = c_void_p
+rrLib.getFloatingSpeciesInitialConditionIds.restype = c_void_p
+rrLib.getReactionRates.restype = c_void_p
+rrLib.getReactionRatesEx.restype = c_void_p
+rrLib.getRatesOfChange.restype = c_void_p
+rrLib.getRatesOfChangeIds.restype = c_void_p
+rrLib.getRatesOfChangeEx.restype = c_void_p
+rrLib.getReactionIds.restype = c_void_p
+rrLib.getBoundarySpeciesIds.restype = c_void_p
+rrLib.getFloatingSpeciesIds.restype = c_void_p
+rrLib.getGlobalParameterIds.restype = c_void_p
+rrLib.getCompartmentIds.restype = c_void_p
+rrLib.getAvailableTimeCourseSymbols.restype = c_void_p
+rrLib.getAvailableSteadyStateSymbols.restype = c_void_p
+rrLib.getElasticityCoefficientIds.restype = c_void_p
+rrLib.getUnscaledFluxControlCoefficientIds.restype = c_void_p
+rrLib.getFluxControlCoefficientIds.restype = c_void_p
+rrLib.getUnscaledConcentrationControlCoefficientIds.restype = c_void_p
+rrLib.getConcentrationControlCoefficientIds.restype = c_void_p
+rrLib.getUnscaledElasticityMatrix.restype = c_void_p
+rrLib.getScaledElasticityMatrix.restype = c_void_p
+rrLib.getUnscaledConcentrationControlCoefficientMatrix.restype = c_void_p
+rrLib.getScaledConcentrationControlCoefficientMatrix.restype = c_void_p
+rrLib.getUnscaledFluxControlCoefficientMatrix.restype = c_void_p
+rrLib.getScaledFluxControlCoefficientMatrix.restype = c_void_p
+
+rrLib.createVector.restype = c_void_p
+rrLib.createRRList.restype = c_void_p
+rrLib.createIntegerItem.restype = c_void_p
+rrLib.createDoubleItem.restype = c_void_p
+rrLib.createStringItem.restype = c_void_p
+rrLib.createListItem.restype = c_void_p
+rrLib.getListItem.restype = c_void_p
+rrLib.getList.restype = c_void_p
+
+#Rates of change
+rrLib.getRateOfChange.restype = c_bool
+rrLib.evalModel.restype = c_bool
+
+#Debugging functions
+rrLib.compileSource.restype = c_bool
+
+#Unload roadrunner dll from python
+def unloadAPI():
+    #del gHandle
+    return windll.kernel32.FreeLibrary(libHandle)
+
+def freeAPI():
+    return windll.kernel32.FreeLibrary(libHandle)
+
+##\ingroup utility
+#@{
+
+##\brief Retrieve "general" information about current state of the currently allocated RoadRunner instance, e.g. model
+#\return char* info - Returns null if it fails, otherwise it returns the information
+def getInfo():
+    theInfo = rrLib.getInfo(gHandle)
+    theInfo = filter(None, theInfo.split('\n'))
+    return theInfo
+
+
+##\brief Retrieve the current build date of the library
+#\return Returns null if it fails, otherwise it returns the build date
+def getBuildDate():
+    return rrLib.getBuildDate()
+
+##\brief Retrieve the current build time of the library
+#\return Returns null if it fails, otherwise it returns the build Time
+def getBuildTime():
+    return rrLib.getBuildTime()
+
+##\brief Retrieve the current build date + time of the library
+#\return Returns null if it fails, otherwise it returns the build date + time
+def getBuildDateTime():
+    return rrLib.getBuildDateTime()
+
+##\brief Retrieve the current copyright notice for the library
+#\return Returns null if it fails, otherwise it returns the copyright string
+def getCopyright():
+    return rrLib.getCopyright()
+
+##\brief Sets the write location for the temporary file
+#
+#When cRoadRunner is run in C generation mode its uses a temporary folder to store the
+#generated C source code. This method can be used to set the temporary folder path if necessary.
+#
+#\return Returns true if succcessful
+def setTempFolder(folder, aHandle = None):
+    if aHandle is None:
+        aHandle = gHandle
+    return rrLib.setTempFolder(aHandle, folder)
+
+##\brief Returns the full path of the temporary folder
+#
+#When cRoadRunner is run in C generation mode its uses a temporary folder to store the
+#generate C source code. This method can be used to get the current value
+#for the the temporary folder path.
+#
+#\return Returns null if it fails, otherwise it returns the path
+def getTempFolder(aHandle = None):
+    if aHandle is None:
+        aHandle = gHandle
+    return rrLib.getTempFolder(aHandle)
+
+##\brief Retrieve a rrLib for the C code structure, RRCCode
+#
+#When cRoadRunner is run in C generation mode its uses a temporary folder to store the
+#generate C source code. This method can be used to obtain the header and main source
+#code after a model has been loaded by using the helper routines (getCCodeSource and getCCodeHeader())
+#
+#\return Returns null if it fails, otherwise it returns a pointer to the RRCode structure
+def getCCode():
+    return rrLib.getCCode(gHandle)
+
+##@}
+
+##\ingroup errorfunctions
+#@{
+
+##\brief Enables logging
+#\return Returns true if succesful
+def enableLogging():
+    return rrLib.enableLoggingToFile(gHandle)
+
+##\brief Set the logging status level
+#The logging level is determined by the following strings
+#
+#"ANY", "DEBUG5", "DEBUG4", "DEBUG3", "DEBUG2", "DEBUG1",
+#"DEBUG", "INFO", "WARNING", "ERROR"
+#
+#Example: setLogLevel ("DEBUG4")
+#
+#\param lvl The logging level string
+#\return Returns true if succesful
+def setLogLevel(lvl):
+    return rrLib.setLogLevel(lvl)
+
+##\brief Returns the log level as a string
+#The logging level can be one of the following strings
+#
+#"ANY", "DEBUG5", "DEBUG4", "DEBUG3", "DEBUG2", "DEBUG1",
+#"DEBUG", "INFO", "WARNING", "ERROR"
+#
+#Example: str = rrPython.getLogLevel ()
+#\return Returns False is it fails else returns the logging string
+def getLogLevel():
+    return rrLib.getLogLevel()
+
+##\brief Returns the name of the log file
+#\return Returns False if it fails else returns the full path to the logging file name
+def getLogFileName():
+    return rrLib.getLogFileName()
+
+##\brief Check if there is an error string to retrieve
+#
+#Example: status = rrPython.hasError()
+#
+#\return status - Returns true if there is an error waiting to be retrieved
+def hasError():
+    return rrLib.hasError()
+
+## Get the version number.
+## returns the individual version numbers as XXYYZZ where XX
+## is the major version, YY the minor and ZZ the revision,
+## eg 10000, or 10100, 20000 etc
+## \return the roadrunner version number in the form or 102030 if the number
+## is 1.2.3
+def getVersion():
+    return rrLib.getVersion()
+
+## returns roadrunner as a string, i.e. "1.0.0"
+rrLib.getVersionStr.restype = c_char_p
+def getVersionStr():
+    return rrLib.getVersionStr()
+
+## \brief returns something like "1.0.0; 
+## compiled with clang "3.3 (tags/RELEASE_33/final)" on date Dec  8 2013, 17:24:57'
+rrLib.getVersionEx.restype = c_char_p
+def getVersionEx():
+    return rrLib.getVersionEx()
+
+##\brief Returns the last error
+#
+#Example: str = rrPython.getLastError()
+#
+#\return Returns false if it fails, otherwise returns the error string
+def getLastError():
+    return rrLib.getLastError()
+
+def getInstanceCount(rrHandles):
+    return rrLib.getInstanceCount(rrHandles)
+
+def getRRHandle(rrHandles, index):
+    return rrLib.getRRHandle(rrHandles, c_int(index))
+
+##\brief Initialize the roadRunner library and returns a new RoadRunner instance
+#\return Returns an instance of the library, returns false if it fails
+def createRRInstance():
+    return rrLib.createRRInstance()
+
+def createRRInstances(nrOfInstances):
+    return rrLib.createRRInstances(c_int(nrOfInstances))
+
+#    aList = []
+    #Put each instance into a python list???
+#    if rrs is not None:
+#        for i in range(nrOfInstances):
+#            aList.append(getRRHandle(rrs, i))
+#    return aList
+
+##\brief Free the roadRunner instance
+#\param rrLib Free the roadRunner instance given in the argument
+def freeRRInstance(iHandle):
+    return rrLib.freeRRInstance(iHandle)
+
+##\brief Free roadRunner instances
+#\param rrLib Frees roadRunner instances
+def freeRRInstances(rrInstances):
+    return rrLib.freeRRInstances(rrInstances)
+
+##@}
+
+##\ingroup utility
+#@{
+
+##\brief Enable/disable conservation analysis
+#\param OnOrOff Set to 1 to switch on conservation analysis, 0 to switch it off
+#\return Returns True if successful
+def setComputeAndAssignConservationLaws(OnOrOff, aHandle=None):
+    if aHandle is None:
+        aHandle = gHandle
+    return rrLib.setComputeAndAssignConservationLaws(aHandle,  c_bool(OnOrOff))
+
+##@}
+
+##\ingroup loadsave
+#@{
+
+##\brief Create a model from an SBML string
+#\param[in] sbml string
+#\return Returns true if successful
+def loadSBML(sbml, aHandle = None):
+    if aHandle is None:
+        aHandle = gHandle
+    return rrLib.loadSBML(aHandle, sbml)
+
+##\brief Loads SBML model from a file
+#\param fileName file name
+#\return Returns true if successful
+def loadSBMLFromFile(fileName, aHandle = None):
+    if aHandle is None:
+        aHandle = gHandle
+    return rrLib.loadSBMLFromFile(aHandle, fileName)
+
+##\brief Loads SBML model from a file in a thread
+#\param fileName file name
+#\return Returns true if successful
+#def loadSBMLFromFileJob(fileName, aHandle = None):
+#    if aHandle is None:
+#        aHandle = gHandle
+#    return rrLib.loadSBMLFromFileJob(aHandle, fileName)
+
+#def waitForJob(jobHandle):
+#    return rrLib.waitForJob(jobHandle)
+
+#def waitForJobs(jobsHandle):
+#    return rrLib.waitForJobs(jobsHandle)
+
+##\brief Loads SBML model from a file into a list of roadrunner instances, using a thread pool
+#\param fileName file name
+#\return Returns true if successful
+#def loadSBMLFromFileJobs(rrs, fileName, threadCount = 4):
+#    return rrLib.loadSBMLFromFileJobs(rrs, fileName, threadCount)
+
+##\brief Return the current state of the model in the form of an SBML string
+#\return Returns False if it fails or no model is loaded, otherwise returns the SBML string.
+def getCurrentSBML(aHandle = None):
+    if aHandle is None:
+        aHandle = gHandle
+    return rrLib.getCurrentSBML(aHandle)
+
+##\brief Retrieve the last SBML model that was loaded
+#\return Returns False if it fails or no model is loaded, otherwise returns the SBML string
+def getSBML(aHandle = None):
+    if aHandle is None:
+        aHandle = gHandle
+    return rrLib.getSBML(aHandle)
+
+##@}
+
+
+##\ingroup parameters
+#@{
+
+##\brief Promote any local parameters to global status
+#\param sArg The string containing SBML model to promote
+#\return Returns False if it fails, otherwise it returns the promoted SBML string
+def getParamPromotedSBML(sArg, aHandle = None):
+    if aHandle is None:
+        aHandle = gHandle
+    value = c_char(sArg)
+    if rrLib.getParamPromotedSBML(aHandle, pointer(value)) == True:
+        return value.value
+    else:
+        raise RuntimeError('Index out of range')
+
+##@}
+
+
+##\ingroup simulation
+#@{
+
+##\brief Sets simulator capabilities
+#\param[out] caps An XML string that specifies the simulators capabilities
+#\return Returns true if successful
+def setCapabilities(caps):
+    return rrLib.setCapabilities(gHandle, caps)
+
+##\brief Returns simulator capabilities
+#\return Returns False if it fails, otherwise returns the simulator's capabilities in the form of an XML string
+def getCapabilities():
+    return rrLib.getCapabilities(gHandle)
+
+##\brief Sets the start time for the simulation
+#\param timeStart
+#\return Returns True if successful
+def setTimeStart(timeStart, rrHandle = None):
+    if rrHandle is None:
+        rrHandle = gHandle
+    return rrLib.setTimeStart (rrHandle, c_double(timeStart))
+
+##\brief Sets the end time for the simulation
+#\param timeEnd
+#\return Returns True if successful
+def setTimeEnd(timeEnd, rrHandle = None):
+    if rrHandle is None:
+        rrHandle = gHandle
+    return rrLib.setTimeEnd(rrHandle, c_double(timeEnd))
+
+##\brief Set the number of points to generate in a simulation
+#\param numPoints Number of points to generate
+#\return Returns True if successful
+def setNumPoints(numPoints, rrHandle = None):
+    if rrHandle is None:
+        rrHandle = gHandle
+    return rrLib.setNumPoints(rrHandle, numPoints)
+
+##\brief Sets the list of variables returned by simulate() or simulateEx()
+#
+#Example: rrPython.setTimeCourseSelectionList ("Time, S1, J1, J2")
+#
+#\param list A string of Ids separated by spaces or comma characters
+#\return Returns True if successful
+def setTimeCourseSelectionList(myList, rrHandle = None):
+    if rrHandle is None:
+        rrHandle = gHandle
+
+    if type (myList) == str:
+       return rrLib.setTimeCourseSelectionList(rrHandle, myList)
+    if type (myList) == list:
+        strList = ''
+        for i in range (len(myList)):
+            strList = strList + myList[i] + ' '
+        return rrLib.setTimeCourseSelectionList(rrHandle, strList)
+    raise RuntimeError('Expecting string or list in setTimeCourseSelectionList')
+
+
+##\brief Returns the list of variables returned by simulate() or simulateEx()
+#\return A list of symbol IDs indicating the currect selection list
+def getTimeCourseSelectionList():
+    value = rrLib.getTimeCourseSelectionList(gHandle)
+    return stringArrayToList (value)
+
+##\brief Carry out a time-course simulation, use setTimeStart etc to set
+#characteristics
+#\return Returns a handle to internal roadRunner data
+def simulate(aHandle = None):
+    if aHandle is None:
+        aHandle = gHandle
+    return rrLib.simulate(aHandle)
+
+##\brief Carry out a time-course simulation in a thread, use setTimeStart etc to set
+#characteristics
+#\return Returns a handle to the thread. Use this handle to see when the thread has finished
+#def simulateJob(aHandle = None):
+#    if aHandle is None:
+#        aHandle = gHandle
+#    return rrLib.simulateJob(aHandle)
+
+
+##\brief Check if a job is done
+#characteristics
+#\return Returns true/false indicating if a job has finsished
+#def isJobFinished(aHandle = None):
+#    if aHandle is None:
+#        aHandle = gHandle
+#    return rrLib.isJobFinished(aHandle)
+
+##\brief Carry out a time-course simulation for a thread pool
+#characteristics
+#\return Returns a handle to Jobs. Use this handle to see when the jobs have finished
+#def simulateJobs(rrsHandle, nrOfThreads):
+#    return rrLib.simulateJobs(rrsHandle, nrOfThreads)
+
+def writeRRData(rrData, outFile):
+        rrLib.writeRRData(rrData, outFile)
+
+
+def getSimulationResult(aHandle = None):
+    if aHandle is None:
+        aHandle = gHandle
+
+    result = rrLib.getSimulationResult(aHandle)
+
+    #TODO: Check result
+    rowCount = rrLib.getRRDataNumRows(result)
+    colCount = rrLib.getRRDataNumCols(result)
+    resultArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+                rvalue = m
+                cvalue = n
+                value = c_double()
+                if rrLib.getRRDataElement(result, rvalue, cvalue, pointer(value)) == True:
+                    resultArray[m, n] = value.value
+    rrLib.freeRRData(result)
+    return resultArray
+
+rrLib.createRRCData.restype = c_void_p
+def createRRCData(rrDataHandle):
+    return rrLib.createRRCData(rrDataHandle)
+
+def getNPData(rrcDataHandle):
+    rowCount = rrLib.getRRDataNumRows(rrcDataHandle)
+    colCount = rrLib.getRRDataNumCols(rrcDataHandle)
+    resultArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+                rvalue = m
+                cvalue = n
+                value = c_double()
+                if rrLib.getRRCDataElement(rrcDataHandle, rvalue, cvalue, pointer(value)) == True:
+                    resultArray[m, n] = value.value
+    return resultArray
+
+def getSimulationResult2(aHandle = None):
+    if aHandle is None:
+        aHandle = gHandle
+    return rrLib.getSimulationResult(aHandle)
+
+def getRoadRunnerData(aHandle = None):
+    if aHandle is None:
+        aHandle = gHandle
+    return rrLib.getRoadRunnerData(aHandle)
+
+#use getRRCDataElement and other helper routines to build array that can be used in numpy to plot with matplotlib
+#get num cols, get num rows, create array, fill array with two loops
+
+
+##\brief Carry out a time-course simulation based on the given arguments
+#
+#Example: m = rrPython.simulateEx(0, 25, 200)
+#
+#\return Returns a handle to roadrunners internal data object
+rrLib.simulateEx.restype = c_void_p
+def simulateEx(timeStart, timeEnd, numberOfPoints):
+    startValue = c_double(timeStart)
+    endValue = c_double(timeEnd)
+    nrPoints = c_int(numberOfPoints)
+    return rrLib.simulateEx(gHandle, startValue, endValue, nrPoints)
+
+##\brief Carry out a one step integration of the model
+#
+#Example: status = rrPython.oneStep(currentTime, stepSize)
+#
+#\param[in] currentTime The current time in the simulation
+#\param[in] stepSize The step size to use in the integration
+#\param[in] value The new time (currentTime + stepSize)
+#Takes (double, double) as an argument
+#\return
+def oneStep (currentTime, stepSize):                             #test this
+    curtime = c_double(currentTime)
+    stepValue = c_double(stepSize)
+    value = c_double()
+    if rrLib.oneStep(gHandle, (curtime), (stepValue), pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of range')
+
+##\brief Returns the simulation start time
+#
+#Example: status = rrPython.getTimeStart()
+#
+#\return Returns the simulation start time as a float
+def getTimeStart():
+    value = c_double()
+    if rrLib.getTimeStart(gHandle, pointer(value)) == True:
+        return value.value
+    else:
+        return ('Index out of Range')
+
+##\brief Returns the simulation end time
+#
+#Example: status = rrPython.getTimeEnd()
+#
+#\return Returns the simulation end Time as a float
+def getTimeEnd():
+    value = c_double()
+    if rrLib.getTimeEnd(gHandle, pointer(value)) == True:
+        return value.value
+    else:
+        return ('Index out of Range')
+
+##\brief Returns the value of the current number of points
+#
+#Example: status = rrPython.getNumPoints()
+#
+#\return Returns the value of the number of points
+def getNumPoints():
+    value = c_int()
+    if rrLib.getNumPoints(gHandle, pointer(value)) == True:
+        return value.value
+    else:
+        return ('Index out of Range')
+
+##\brief Reset all floating species concentrations to their intial conditions
+#
+#Example: status = rrPython.reset()
+#
+#\return Returns True if successful
+def reset():
+    return rrLib.reset(gHandle)
+
+##@}
+
+##\ingroup steadystate
+#@{
+
+##\brief Computes the steady state of the loaded model
+#
+#Example: status = rrPython.steadyState()
+#
+#\return Returns a value that is set during the call that indicates how close the solution is to the steady state. The smaller the value, the better.
+def steadyState():
+    value = c_double()
+    if rrLib.steadyState(gHandle, pointer(value)) == True:
+        return value.value
+    else:
+        return (GetLastError())
+
+##\brief A convenient method for returning a vector of the steady state species concentrations
+#
+#Example: values = rrPython.computeSteadyStateValues()
+#
+#\return Returns the vector of steady state values or NONE if an error occurred.
+def computeSteadyStateValues():
+    values = rrLib.computeSteadyStateValues(gHandle)
+    if values == None:
+       raise RuntimeError(getLastError())
+    return rrVectorToPythonArray (values)
+
+##\brief Set the selection list of the steady state analysis
+#
+#param[in] list The string argument should be a space-separated list of symbols in the selection list
+#
+#\return Returns True if successful
+def setSteadyStateSelectionList(aList):
+    if type (aList) == str:
+       value = c_char_p(aList)
+       return rrLib.setSteadyStateSelectionList(gHandle, value)
+    if type (aList) == list:
+        strList = ''
+        for i in range (len(aList)):
+            strList = strList + aList[i] + ' '
+        value = c_char_p (strList)
+        return rrLib.setSteadyStateSelectionList(gHandle, strList)
+    raise RuntimeError('Expecting string or list in setTimeCourseSelectionList')
+
+
+
+##\brief Get the selection list for the steady state analysis
+#\return Returns False if it fails, otherwise it returns a list of strings representing symbols in the selection list
+def getSteadyStateSelectionList():
+    value = rrLib.getSteadyStateSelectionList(gHandle)
+    return stringArrayToList (value)
+
+
+##@}
+
+##\ingroup state
+#@{
+
+##\brief Get the value for a given symbol, use getAvailableSymbols() for a list of symbols
+#
+#Example: status = rrPython.getValue("S1")
+#
+#\param symbolId The symbol that we wish to obtain the value for
+#\return Returns the value if successful, otherwise returns False
+def getValue(symbolId, rrHandle = None):
+    if rrHandle is None:
+        rrHandle = gHandle
+
+    value = c_double()
+    if rrLib.getValue(rrHandle, symbolId, pointer(value)) == True:
+        return value.value
+    else:
+        raise RuntimeError(getLastError() + ': ' + symbolId)
+
+##\brief Set the value for a given symbol, use getAvailableSymbols() for a list of symbols
+#
+#Example: status = rrPython.setValue("S1", 0.5)
+#
+#\param symbolId The symbol that we wish to set the value for
+#\param value The value that the symbol will be set to
+#\return Returns True if successful
+def setValue(symbolId, value, rrHandle = None):
+    if rrHandle is None:
+        rrHandle = gHandle
+
+    if rrLib.setValue(rrHandle, symbolId, c_double(value)) == True:
+        return True
+    else:
+        raise RuntimeError('Index out of range')
+
+##@}
+
+##\ingroup floating
+#@{
+
+##\brief Retrieve a string containing concentrations for all the floating species
+#
+#Example: values = rrPython.getFloatingSpeciesConcentrations()
+#
+#\return Returns a string of floating species concentrations or None if an error occured
+def getFloatingSpeciesConcentrations():
+    values = rrLib.getFloatingSpeciesConcentrations(gHandle)
+    return rrVectorToPythonArray (values)
+
+##\brief Sets the concentration for a floating species by its index. Species are indexed starting at 0.
+#
+#Example: rrPython.setFloatingSpeciesByIndex(0, .5)
+#
+#\param index The index to the floating species (corresponds to position in getFloatingSpeciesIds()) starting at 0
+#\param value The concentration of the species to set
+#\return Returns True if successful
+def setFloatingSpeciesByIndex(index, value):
+    return rrLib.setFloatingSpeciesByIndex(gHandle, c_int(index), c_double(value))
+
+##\brief Sets the initial concentration for a floating species by its index. Species are indexed starting at 0.
+#
+#Example: rrPython.setFloatingSpeciesInitialConcentrationByIndex(0, .5)
+#
+#\param index The index to the floating species (corresponds to position in getFloatingSpeciesIds()) starting at 0
+#\param value The initial concentration of the species to set
+#\return Returns True if successful
+def setFloatingSpeciesInitialConcentrationByIndex(index, value):
+    return rrLib.setFloatingSpeciesInitialConcentrationByIndex(gHandle, c_int(index), c_double(value))
+
+##\brief Returns the concentration of a floating species by its index. Species are indexed starting at 0.
+#
+#Example: value = rrPython.getFloatingSpeciesByIndex()
+#
+#\param index The index to the floating species (corresponds to position in getFloatingSpeciesIds()) starting at 0
+#\return Returns the concentration of the species if successful
+def getFloatingSpeciesByIndex(index):
+    value = c_double()
+    if rrLib.getFloatingSpeciesByIndex(gHandle, c_int(index), pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of range')
+
+##\brief Returns the initial concentration of a floating species by its index. Species are indexed starting at 0.
+#
+#Example: value = rrPython.getFloatingSpeciesInitialConcentrationByIndex()
+#
+#\param index The index to the floating species (corresponds to position in getFloatingSpeciesIds()) starting at 0
+#\return Returns the initial concentration of the species if successful
+def getFloatingSpeciesInitialConcentrationByIndex(index):
+    value = c_double()
+    if rrLib.getFloatingSpeciesInitialConcentrationByIndex(gHandle, c_int(index), pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of range')
+
+##\brief Set the floating species concentration to the vector
+#
+#Example: status = rrPython.setFloatingSpeciesConcentrations (myArray)
+#
+#\param myArray A numPy array of floating species concentrations
+#\return Returns True if successful
+def setFloatingSpeciesConcentrations(myArray):
+    return rrLib.setFloatingSpeciesConcentrations(gHandle, PythonArrayTorrVector (myArray))
+
+##@}
+
+##\ingroup boundary
+#@{
+
+##\brief Sets the concentration for a Boundary species by its index. Species are indexed starting at 0.
+#
+#Example: rrPython.setBoundarySpeciesByIndex(0, .5)
+#
+#\param index The index to the boundary species (corresponds to position in getBoundarySpeciesIds()) starting at 0
+#\param value The concentration of the species to set
+#\return Returns True if successful
+def setBoundarySpeciesByIndex(index, value):
+    if rrLib.setBoundarySpeciesByIndex(gHandle, c_int(index), c_double(value)) == True:
+        return True
+    else:
+        raise RuntimeError('Index out of range')
+
+##\brief Returns the concentration of a boundary species by its index. Species are indexed starting at 0.
+#
+#Example: value = rrPython.getBoundarySpeciesByIndex()
+#
+#\param index The index to the Boundary species (corresponds to position in getBoundarySpeciesIds()) starting at 0
+#\return Returns the concentration of the species if successful
+def getBoundarySpeciesByIndex(index):
+    value = c_double()
+    if rrLib.getBoundarySpeciesByIndex(gHandle, (index), pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of range')
+
+##\brief Set the boundary species concentration to the vector
+#\param vec A vector of boundary species concentrations
+#\return Returns True if successful
+def setBoundarySpeciesConcentrations(vector):
+    return rrLib.setBoundarySpeciesConcentrations(gHandle, vector)
+
+##\brief Returns a string with boundary species concentrations
+#\return Returns the concentration of species if successful
+def getBoundarySpeciesConcentrations():
+    values = rrLib.getBoundarySpeciesConcentrations(gHandle)
+    return rrVectorToPythonArray (values)
+
+##@}
+
+##\ingroup parameters
+#@{
+
+##\brief Retrieve a string containing values for all global parameters
+#
+#Example: values = rrPython.getGlobalParameterValues()
+#
+#\return Returns a string of global parameter values or None if an error occured
+def getGlobalParameterValues():
+    values = rrLib.getGlobalParameterValues(gHandle)
+    return rrVectorToPythonArray (values)
+
+##\brief Sets the value for a global parameter by its index. Parameters are indexed starting at 0.
+#
+#Example: rrPython.setGlobalParameterByIndex(0, .5)
+#
+#\param index The index to the global parameter (corresponds to position in getGlobalParameterIds()) starting at 0
+#\param value The value of the global parameter to set
+#\return Returns True if successful
+def setGlobalParameterByIndex(index, value):
+    if rrLib.setGlobalParameterByIndex(gHandle, c_int(index), c_double(value)) == True:
+        return True;
+    else:
+        raise RuntimeError('Index out of range')
+
+##\brief Returns the concentration of a global parameter by its index. Parameters are indexed starting at 0.
+#
+#Example: value = rrPython.getGlobalParameterByIndex()
+#
+#\param index The index to the global parameter (corresponds to position in getGlobalParameterIds()) starting at 0
+#\return Returns the value of the global parameter if successful
+def getGlobalParameterByIndex(index):
+    value = c_double()
+    if rrLib.getGlobalParameterByIndex(gHandle, c_int(index), pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of Range')
+
+##@}
+
+##/ingroup compartment
+#@{
+
+##\brief Returns the volume of a compartment by its index. Compartments are indexed starting at 0.
+#
+#Example: value = rrPython.getCompartmentByIndex()
+#
+#\param index The index to the compartment (corresponds to position in getCompartmentIds()) starting at 0
+#\return Returns the volume of the compartment if successful
+def getCompartmentByIndex(index):
+    value = c_double()
+    if rrLib.getCompartmentByIndex(gHandle, c_int(index), pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of Range')
+
+##\brief Sets the value for a compartment by its index. Compartments are indexed starting at 0.
+#
+#Example: rrPython.setCompartmentByIndex(0, .5)
+#
+#\param index The index to the compartment (corresponds to position in getCompartmentIds()) starting at 0
+#\param value The volume of the compartment to set
+#\return Returns True if Successful
+def setCompartmentByIndex(index, value):
+    if rrLib.setCompartmentByIndex(gHandle, c_int(index), c_double(value)) == True:
+        return True
+    else:
+        raise RuntimeError('Index out of range')
+
+##@}
+
+##\ingroup stoich
+#@{
+
+##\brief Retrieve the full Jacobian for the current model
+#\return Returns the full Jacobian matrix
+def getFullJacobian():
+    matrix = rrLib.getFullJacobian(gHandle)
+    if matrix == 0:
+       return 0
+    rowCount = rrLib.getMatrixNumRows(matrix)
+    colCount = rrLib.getMatrixNumCols(matrix)
+    result = rrLib.matrixToString(matrix)
+    matrixArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+            value = c_double()
+            rvalue = m
+            cvalue = n
+            if rrLib.getMatrixElement(matrix, rvalue, cvalue, pointer(value)) == True:
+               matrixArray[m, n] = value.value
+    rrLib.freeMatrix(matrix)
+    return matrixArray
+
+##\brief Retreive the reduced Jacobian for the current model
+#\return Returns the reduced Jacobian matrix
+def getReducedJacobian():
+    matrix = rrLib.getReducedJacobian(gHandle)
+    if matrix == 0:
+       return 0
+    rowCount = rrLib.getMatrixNumRows(matrix)
+    colCount = rrLib.getMatrixNumCols(matrix)
+    matrixArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+                value = c_double()
+                rvalue = m
+                cvalue = n
+                if rrLib.getMatrixElement(matrix, rvalue, cvalue, pointer(value)) == True:
+                    matrixArray[m, n] = value.value
+    return matrixArray
+
+def getEigenvaluesMatrix (m):
+    rrm = createRRMatrix (m)
+    matrix = rrLib.getEigenvaluesMatrix (rrm)
+    if matrix == 0:
+       return 0
+    rowCount = rrLib.getMatrixNumRows(matrix)
+    colCount = rrLib.getMatrixNumCols(matrix)
+    matrixArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+                value = c_double()
+                rvalue = m
+                cvalue = n
+                if rrLib.getMatrixElement(matrix, rvalue, cvalue, pointer(value)) == True:
+                    matrixArray[m, n] = value.value
+    return matrixArray
+
+
+##\brief Retreive the eigenvalue matrix for the current model
+#\return Returns a matrix of eigenvalues. The first column will contain the real values and te second column will contain the imaginary values.
+def getEigenvalues():
+    matrix = rrLib.getEigenvalues(gHandle)
+    if matrix == 0:
+       return 0
+    rowCount = rrLib.getMatrixNumRows(matrix)
+    colCount = rrLib.getMatrixNumCols(matrix)
+#    result = rrLib.matrixToString(matrix)
+#    print c_char_p(result).value
+#    rrLib.freeText(result)
+
+    matrixArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+                value = c_double()
+                rvalue = m
+                cvalue = n
+                if rrLib.getMatrixElement(matrix, rvalue, cvalue, pointer(value)) == True:
+                    matrixArray[m, n] = value.value
+
+    rrLib.freeMatrix(matrix)
+    return matrixArray
+
+##\brief Retreive the stoichiometry matrix for the current model
+#\return Returns the stoichiometry matrix
+def getStoichiometryMatrix():
+    matrix = rrLib.getStoichiometryMatrix(gHandle)
+    if matrix == 0:
+       return 0
+    rowCount = rrLib.getMatrixNumRows(matrix)
+    colCount = rrLib.getMatrixNumCols(matrix)
+    matrixArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+                value = c_double()
+                rvalue = m
+                cvalue = n
+                if rrLib.getMatrixElement(matrix, rvalue, cvalue, pointer(value)) == True:
+                    matrixArray[m, n] = value.value
+    rrLib.freeMatrix(matrix)
+    return matrixArray
+
+
+##\brief Retreive the Link matrix for the current model
+#\return Returns the Link matrix
+def getLinkMatrix():
+    matrix = rrLib.getLinkMatrix(gHandle)
+    if matrix == 0:
+       return 0
+    rowCount = rrLib.getMatrixNumRows(matrix)
+    colCount = rrLib.getMatrixNumCols(matrix)
+    #result = rrLib.matrixToString(matrix)
+    matrixArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+                value = c_double()
+                rvalue = m
+                cvalue = n
+                if rrLib.getMatrixElement(matrix, rvalue, cvalue, pointer(value)) == True:
+                    matrixArray[m, n] = value.value
+    rrLib.freeMatrix(matrix)
+    return matrixArray
+
+##\brief Retrieve the reduced stoichiometry matrix for the current model
+#\return Returns the reduced stoichiometry matrix
+def getNrMatrix():
+    matrix = rrLib.getNrMatrix(gHandle)
+    if matrix == 0:
+       return 0
+    rowCount = rrLib.getMatrixNumRows(matrix)
+    colCount = rrLib.getMatrixNumCols(matrix)
+    result = rrLib.matrixToString(matrix)
+    matrixArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+                value = c_double()
+                rvalue = m
+                cvalue = n
+                if rrLib.getMatrixElement(matrix, rvalue, cvalue, pointer(value)) == True:
+                    matrixArray[m, n] = value.value
+    rrLib.freeMatrix(result)
+    return matrixArray
+
+
+##\brief Retrieve the L0 matrix for the current model
+#\return Returns the L0 matrix
+def getL0Matrix():
+    matrix = rrLib.getL0Matrix(gHandle)
+    if matrix == 0:
+       return 0
+    rowCount = rrLib.getMatrixNumRows(matrix)
+    colCount = rrLib.getMatrixNumCols(matrix)
+    result = rrLib.matrixToString(matrix)
+    matrixArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+                value = c_double()
+                rvalue = m
+                cvalue = n
+                if rrLib.getMatrixElement(matrix, rvalue, cvalue, pointer(value)) == True:
+                    matrixArray[m, n] = value.value
+    rrLib.freeMatrix(result)
+    return matrixArray
+
+##\brief Retrieve the conservation matrix for the current model
+#\return Returns the conservation matrix
+def getConservationMatrix():
+    matrix = rrLib.getConservationMatrix(gHandle)
+    if matrix == 0:
+       return 0
+    rowCount = rrLib.getMatrixNumRows(matrix)
+    colCount = rrLib.getMatrixNumCols(matrix)
+    matrixArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+                value = c_double()
+                rvalue = m
+                cvalue = n
+                if rrLib.getMatrixElement(matrix, rvalue, cvalue, pointer(value)) == True:
+                    matrixArray[m, n] = value.value
+    rrLib.freeMatrix(matrix)
+    return matrixArray
+
+##@}
+
+
+##\addtogroup initialConditions
+#@{
+
+##\brief Set the initial floating species concentrations
+#
+#Example: status = rrPython.setFloatingSpeciesInitialConcentrations(myArray)
+#
+#\param myArray A numPy array of species concentrations: order given by getFloatingSpeciesIds
+#\return Returns True if successful
+def setFloatingSpeciesInitialConcentrations(myArray):
+    return rrLib.setFloatingSpeciesInitialConcentrations (gHandle, PythonArrayTorrVector (myArray))
+
+
+##\brief Get the initial floating species concentrations
+#
+#Example: vec = rrPython.getFloatingSpeciesInitialConcentrations()
+#
+#\return Returns a string containing the intial concentrations
+def getFloatingSpeciesInitialConcentrations():
+    values = rrLib.getFloatingSpeciesInitialConcentrations(gHandle)
+    return rrVectorToPythonArray (values)
+
+##\brief Get the initial floating species Ids
+#
+#Example: vec = rrPython.getFloatingSpeciesInitialConditionIds()
+#
+#\return Returns a string containing the initial conditions
+def getFloatingSpeciesInitialConditionIds():
+    values = rrLib.getFloatingSpeciesInitialConditionIds(gHandle)
+    return stringArrayToList (values)
+
+##@}
+
+
+##\ingroup reaction
+#@{
+
+##\brief Obtain the number of reactions in the loaded model
+#
+#Example: number = rrPython.getNumberOfReactions()
+#
+#\return Returns -1 if it fails, returns 0 or more if it is successful (indicating the number of reactions)
+def getNumberOfReactions():
+    return rrLib.getNumberOfReactions(gHandle)
+
+##\brief Returns the reaction rate by index
+#\return Returns the reaction rate
+def getReactionRate(index):
+    value = c_double()
+    if rrLib.getReactionRate(gHandle, c_int(index), pointer(value)) == True:
+        return value.value
+    else:
+        raise RuntimeError(getLastError())
+
+##\brief Returns a string containing the current reaction rates
+#\return Returns a string containing the current reaction rates
+def getReactionRates():
+    values = rrLib.getReactionRates(gHandle)
+    return rrVectorToPythonArray (values)
+
+
+##\brief Retrieve a numPy array containing the reaction rates given a vector of species concentrations
+#
+#\param myArray The numPy array of floating species concentrations
+#\return Returns a numPy array containing reaction rates
+def getReactionRatesEx(myArray):
+    values = rrLib.getReactionRatesEx(gHandle, PythonArrayTorrVector (myArray))
+    return rrVectorToPythonArray (values)
+
+##@}
+
+##\ingroup rateOfChange
+#@{
+
+##\brief Returns the rates of change in a string
+#
+#Example: values = rrPython.getRatesOfChange
+#
+#\return Returns a numPy array containing rates of change values
+def getRatesOfChange():
+    values = rrLib.getRatesOfChange(gHandle)
+    return rrVectorToPythonArray (values)
+
+##\brief Retrieve the string list of rates of change Ids
+#
+#Example: Ids = rrPython.getRatesOfChangeIds
+#
+#\return Returns a list of rates of change Ids
+def getRatesOfChangeIds():
+    values = rrLib.getRatesOfChangeIds(gHandle)
+    return stringArrayToList (value)
+
+##\brief Retrieve the rate of change for a given floating species by its index. Species are indexed starting at 0
+#
+#Example: value = rrPython.getRateOfChange(0)
+#
+#\param Index to the rate of change item
+#\return Returns the rate of change of the ith floating species, otherwise it raises an exception
+def getRateOfChange(index):
+    value = c_double()
+    if rrLib.getRateOfChange(gHandle, c_int(index), pointer(value)) == True:
+        return value.value
+    else:
+        raise RuntimeError(getlastError())
+
+
+##\brief Retrieve the vector of rates of change in a string given a vector of floating species concentrations
+#
+#Example: values = rrPython.getRatesOfChangeEx (myArray)
+#
+#\param myArray A numPy array of species concentrations: order given by getFloatingSpeciesIds
+#\return Returns a string containing a vector with the rates of change
+def getRatesOfChangeEx(myArray):
+    values = rrLib.getRatesOfChangeEx(gHandle, PythonArrayTorrVector (myArray))
+    return rrVectorToPythonArray (values)
+
+##@}
+
+##\ingroup state
+#@{
+
+##\brief Evaluate the current model, which updates all assignments and rates of change
+#\return Returns False if it fails
+def evalModel():
+    return rrLib.evalModel(gHandle)
+
+##@}
+
+#Get number family
+rrLib.getNumberOfCompartments.restype = c_int
+rrLib.getNumberOfBoundarySpecies.restype = c_int
+rrLib.getNumberOfFloatingSpecies.restype = c_int
+rrLib.getNumberOfGlobalParameters.restype = c_int
+rrLib.getNumberOfDependentSpecies.restype = c_int
+rrLib.getNumberOfIndependentSpecies.restype = c_int
+
+##\ingroup floating
+#@{
+
+##\brief Returns the number of floating species in the model
+#\return Returns the number of floating species in the model
+def getNumberOfFloatingSpecies():
+    return rrLib.getNumberOfFloatingSpecies(gHandle)
+
+##\brief Returns the number of dependent species in the model
+#\return Returns the number of dependent species in the model
+def getNumberOfDependentSpecies():
+    return rrLib.getNumberOfDependentSpecies(gHandle)
+
+##\brief Returns the number of independent species in the model
+#\return Returns the number of independent species in the model
+def getNumberOfIndependentSpecies():
+    return rrLib.getNumberOfIndependentSpecies(gHandle)
+
+##@}
+
+##\ingroup compartment
+#@{
+
+##\brief Returns the number of compartments in the model
+#\return Returns the number of compartments in the model
+def getNumberOfCompartments():
+    return rrLib.getNumberOfCompartments(gHandle)
+
+##@}
+
+##\ingroup boundary
+
+##\brief Returns the number of boundary species in the model
+#\return Returns the number of boundary species in the model
+def getNumberOfBoundarySpecies():
+    return rrLib.getNumberOfBoundarySpecies(gHandle)
+
+##@}
+
+##\ingroup parameters
+#@{
+
+##\brief Returns the number of global parameters in the model
+#\return Returns the number of global parameters in the model
+def getNumberOfGlobalParameters():
+    return rrLib.getNumberOfGlobalParameters(gHandle)
+
+##@}
+
+
+#Get Ids family
+
+##\addtogroup reaction
+#@{
+
+##\brief Returns a list of reaction Ids
+#\return Returns a string containing a list of reaction Ids
+def getReactionIds():
+    value = rrLib.getReactionIds(gHandle)
+    return stringArrayToList (value)
+
+##\brief Returns a string containing the list of rate of change Ids
+#\return Returns a string containing the list of rate of change Ids
+def getRatesOfChangeIds():
+    value = rrLib.getRatesOfChangeIds(gHandle)
+    return stringArrayToList (value)
+##@}
+
+##\ingroup compartment
+#@{
+
+##\brief Gets the list of compartment Ids
+#\return Returns -1 if it fails, otherwise returns a string containing the list of compartment Ids
+def getCompartmentIds():
+    value = rrLib.getCompartmentIds(gHandle)
+    return stringArrayToList (value)
+
+##@}
+
+##\ingroup boundary
+#@{
+
+##\brief Gets the list of boundary species Ids
+#\return Returns a string containing the list of boundary species Ids
+def getBoundarySpeciesIds():
+    value = rrLib.getBoundarySpeciesIds(gHandle)
+    return stringArrayToList (value)
+
+##@}
+
+##\ingroup floating
+#@{
+
+##\brief Gets the list of floating species Ids
+#\return Returns a string containing the list of floating species Ids
+def getFloatingSpeciesIds():
+    value = rrLib.getFloatingSpeciesIds(gHandle)
+    return stringArrayToList (value)
+
+##@}
+
+##\ingroup parameters
+#@{
+
+##\brief Gets the list of global parameter Ids
+#\return Returns a string containing the list of global parameter Ids
+def getGlobalParameterIds():
+    value = rrLib.getGlobalParameterIds(gHandle)
+    return stringArrayToList (value)
+
+##@}
+
+##\ingroup state
+#@{
+
+##\brief Returns the Ids of all floating species eigenvalues
+#\return Returns a string containing the list of all floating species eigenvalues
+def getEigenvalueIds():
+    values = rrLib.getEigenvalueIds(gHandle)
+    return stringArrayToList (values)
+
+##\brief Returns a string containing the list of all steady state simulation variables
+#\return Returns a string containing the list of all steady state simulation variables
+def getAvailableSteadyStateSymbols():
+    value = rrLib.getAvailableSteadyStateSymbols(gHandle)
+    result = rrLib.listToString(value)
+    return result
+
+##\brief Returns a string containing the list of all time course simulation variables
+#\return Returns a string containing the list of all time course simulation variables
+def getAvailableTimeCourseSymbols():
+    value = rrLib.getAvailableTimeCourseSymbols(gHandle)
+    result = rrLib.listToString(value)
+    return result
+
+##@}
+
+#Get MCA methods
+
+##\addtogroup mca
+#@{
+
+##\brief Returns the Ids of all elasticity coefficients
+#\return Returns a string containing the list of elasticity coefficient Ids
+def getElasticityCoefficientIds():
+    value = rrLib.getElasticityCoefficientIds(gHandle)
+    result = rrLib.listToString(value)
+    return result
+
+##\brief Returns the Ids of all unscaled flux control coefficients
+#\return Returns a string containing the list of all unscaled flux control coefficient Ids
+def getUnscaledFluxControlCoefficientIds():
+    value = rrLib.getUnscaledFluxControlCoefficientIds(gHandle)
+    result = rrLib.listToString(value)
+    return result
+
+##\brief Returns the Ids of all flux control coefficients
+#\return Returns a string containing the list of all flux control coefficient Ids
+def getFluxControlCoefficientIds():
+    value = rrLib.getFluxControlCoefficientIds(gHandle)
+    result = rrLib.listToString(value)
+    return result
+
+##\brief Returns the Ids of all unscaled concentration control coefficients
+#\return Returns a string containing the list of all unscaled concentration coefficient Ids
+def getUnscaledConcentrationControlCoefficientIds():
+    value = rrLib.getUnscaledConcentrationControlCoefficientIds(gHandle)
+    result = rrLib.listToString(value)
+    return result
+
+##\brief Returns the Ids of all concentration control coefficients
+#\return Returns a string containing the list of all concentration control coefficient Ids
+def getConcentrationControlCoefficientIds():
+    value = rrLib.getConcentrationControlCoefficientIds(gHandle)
+    result = rrLib.listToString(value)
+    return result
+
+##\brief  Retrieve the unscaled elasticity matrix for the current model
+#\return Returns a string containing the matrix of unscaled elasticities. The first column will contain the
+#real values and the second column the imaginary values.
+def getUnscaledElasticityMatrix():
+    value = rrLib.getUnscaledElasticityMatrix(gHandle)
+    m = createMatrix (value)
+    rrLib.freeMatrix(value)
+    return m
+
+##\brief Retrieve the scaled elasticity matrix for the current model
+#\return Returns a string containing the matrix of scaled elasticities. The first column will contain
+#real values and the second column the imaginary values.
+def getScaledElasticityMatrix():
+    value = rrLib.getScaledElasticityMatrix(gHandle)
+    m = createMatrix (value)
+    rrLib.freeMatrix(value)
+    return m
+
+##\brief Retrieve the unscaled concentration control coefficient matrix for the current model
+#\return Returns a string containing the matrix of unscaled concentration control coefficients. The first column will contain
+#real values and the second column the imaginary values.
+def getUnscaledConcentrationControlCoefficientMatrix():
+    value = rrLib.getUnscaledConcentrationControlCoefficientMatrix(gHandle)
+    m = createMatrix (value)
+    rrLib.freeMatrix(value)
+    return m
+
+##\brief Retrieve the scaled concentration control coefficient matrix for the current model
+#\return Returns a string containing the matrix of scaled concentration control coefficients. The first column will contain
+#real values and the second column the imaginary values.
+def getScaledConcentrationControlCoefficientMatrix():
+    value = rrLib.getScaledConcentrationControlCoefficientMatrix(gHandle)
+    m = createMatrix (value)
+    rrLib.freeMatrix(value)
+    return m
+
+##\brief Retrieve the unscaled flux control coefficient matrix for the current model
+#\return Returns a string containing the matrix of unscaled flux control coefficients. The first column will contain
+#real values and the second column the imaginary values.
+def getUnscaledFluxControlCoefficientMatrix():
+    value = rrLib.getUnscaledFluxControlCoefficientMatrix(gHandle)
+    m = createMatrix (value)
+    rrLib.freeMatrix(value)
+    return m
+
+##\brief Retrieve the scaled flux control coefficient matrix for the current model
+#\return Returns a string containing the matrix of scaled flux control coefficients. The first column will contain
+#real values and the second column the imaginary values.
+def getScaledFluxControlCoefficientMatrix():
+    value = rrLib.getScaledFluxControlCoefficientMatrix(gHandle)
+    m = createMatrix (value)
+    rrLib.freeMatrix(value)
+    return m
+
+##\brief Get unscaled control coefficient with respect to a global parameter
+#
+#Takes (variableName, parameterName) as an argument, where both arguments are strings
+#\return
+def getuCC(variable, parameter):
+    variable = c_char_p(variable)
+    parameter = c_char_p(parameter)
+    value = c_double()
+    if rrLib.getuCC(gHandle, variable, parameter, pointer(value)) == True:
+        return value.value;
+    else:
+        errStr = getLastError()
+        raise RuntimeError(errStr)
+
+##\brief Retireve a single control coefficient
+#
+#\param[in] variable This is the dependent variable of the coefficient, for example a flux or species concentration
+#\param[in] parameter This is the independent parameter, for example a kinetic constant or boundary species
+#\param[out] value This is the value of the control coefficeint returned to the caller
+#
+#\return Returns a single control coefficient if successful
+def getCC(variable, parameter):
+    value = c_double()
+    if rrLib.getCC(gHandle, variable, parameter, pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of range')
+
+##\brief Retireve a single elasticity coefficient
+#
+#\param[in] variable This is the dependent variable of the coefficient, for example a flux or species concentration
+#\param[in] parameter This is the independent parameter, for example a kinetic constant or boundary species
+#\param[out] value This is the value of the control coefficeint returned to the caller
+#\return Returns a single elasticity coefficient if successful
+def getEE(variable, parameter):
+    value = c_double()
+    if rrLib.getEE(gHandle, variable, parameter,  pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of range')
+
+##\brief Retrieve a single unscaled elasticity coefficient
+#
+#\param[in] name This is the reaction variable for the unscaled elasticity
+#\param[in] species This is the independent parameter, for example a floating of boundary species
+#\param[out] value This is the value of the unscaled elasticity coefficient returned to the caller
+#Takes (reactionName, parameterName) as an argument, where both arguments are strings
+#\return
+def getuEE(name, species):
+    value = c_double()
+    if rrLib.getuEE(gHandle, name, species, pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of range')
+
+##\brief Compute the scaled elasticity for a given reaction and given species
+#
+#Takes (reactionName, parameterName) as an argument, where both arguments are strings
+#\return
+def getScaledFloatingSpeciesElasticity(reactionName, speciesName):
+    value = c_double()
+    if rrLib.getScaledFloatingSpeciesElasticity(gHandle, reactionName, speciesName,  pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of range')
+
+##@}
+
+##\ingroup NOM functions
+#@{
+
+##\brief Returns the number of rules in the current model
+#\return Returns an integer larger or equal to 0 if succesful, or -1 on failure
+def getNumberOfRules():
+    return rrLib.getNumberOfRules(gHandle)
+
+##@}
+
+
+##\ingroup toString
+#@{
+
+##\brief Returns roadRunner data in string form.
+#\return Returns a result struct as a string
+rrLib.rrDataToString.restype = c_char_p
+def rrDataToString(rrDataHandle):
+    return rrLib.rrDataToString(rrDataHandle)
+
+##\brief Returns a result struct in string form.
+#\return Returns a result struct as a string
+def rrCDataToString(result):
+    return rrLib.rrCDataToString(result)
+
+##\brief Returns a matrix in string form.
+#\return Returns a matrix as a string
+def matrixToString(matrix):
+    return rrLib.matrixToString(matrix)
+
+##\brief Returns a vector in string form.
+#\return Returns a vector as a string
+def vectorToString(vector):
+    return rrLib.vectorToString(vector)
+
+##\brief Returns a string list in string form.
+#\return Returns a string list as a string
+def stringArrayToString(aList):
+    return rrLib.stringArrayToString(aList)
+
+##\brief Returns a list in string form
+#\return Returns a string array as a string
+def listToString(aList):
+    return rrLib.listToString(aList)
+
+##@}
+
+# ----------------------------------------------------------------------------
+#Free memory functions
+
+##\ingroup freeRoutines
+#@{
+
+
+##\brief Free the result structure rrLib returned by simulate() and simulateEx()
+def freeRRData(rrData):
+    return rrLib.freeRRData(rrData)
+
+##\brief Free char* generated by the C library routines
+def freeText(text):
+    return rrLib.freeText(text)
+
+##\brief Free RRStringArrayHandle structures
+def freeStringArray(sl):
+    return rrLib.freeStringArray(sl)
+
+##\brief Free RRVectorHandle structures
+def freeVector(vector):
+    return rrLib.freeVector(vector)
+
+##\brief Free RRMatrixHandle structures
+def freeMatrix(matrix):
+    return rrLib.freeMatrix(matrix)
+
+##\brief Free RRCCodeHandle structures
+def freeCCode(code):
+    return rrLib.freeCCode(code)
+
+##@}
+##\brief Pause
+#\return void
+def pause():
+    return rrLib.pause()
+
+#------------------------------------------------------------------------------
+##\ingroup helperRoutines
+#@{
+
+##\brief Get the number of elements in a vector type
+#
+#Example: count = rrPython.getVectorLength(myVector)
+#
+#\param vector A vector rrLib
+#\return Returns -1 if it fails, otherwise returns the number of elements in the vector
+def getVectorLength(vector):
+    return rrLib.getVectorLength(vector)
+##\brief
+#
+#Example: myVector = rrPython.createVector(10)
+#
+#\param size The number of elements in the new vector
+#\return Returns NONE if it fails, otherwise returns a vector rrLib
+def createVector(size):
+#    value = c_int(size)
+    return rrLib.createVector(size)
+
+
+##\brief Get a particular element from a vector
+#
+#Example: status = rrPython.getVectorElement (myVector, 10, &value);
+#
+#\param vector A pointer to the vector variable type
+#\param index An integer indicating the ith element to retrieve (indexing is from zero)
+#\param value A pointer to the retrieved double value
+#\return Returns the vector element if successful
+def getVectorElement(vector, index):
+    value = c_double()
+    if rrLib.getVectorElement(vector, c_int(index), pointer(value)) == True:
+        return value.value
+    else:
+        raise RuntimeError(getLastError())
+
+##\brief Get a particular element from a vector
+#
+#Example: status = rrPython.setVectorElement (myVector, 10, 3.1415);
+#
+#\param vector A vector rrLib
+#\param index An integer indicating the ith element to set (indexing is from zero)
+#\param value The value to store in the vector at the given index position
+#\return Returns true if succesful
+def setVectorElement(vector, index, value):
+    value = c_double(value)
+    if rrLib.setVectorElement(vector, c_int(index),  value) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of range')
+
+#def getStringListElement(stringList, index):
+#    value = c_int()
+#    if rrLib.getStringListElement(stringList, index, pointer(value)) == True:
+#        return value.value
+#    else:
+#        raise RuntimeError("Index out of range")
+
+
+##\brief Retrieve the number of rows in the given matrix
+#
+#Example: nRows = rrPython.getMatrixNumRows(matrix)
+#
+#\param matrix A matrix rrLib
+#\return Returns -1 if fails, otherwise returns the number of rows
+def getMatrixNumRows(matrix):
+    return rrLib.getMatrixNumRows(matrix)
+
+##\brief Retrieve the number of columns in the given matrix
+#
+#Example: nRows = rrPython.getMatrixNumCols(matrix)
+#
+#\param matrix A matrix rrLib
+#\return Returns -1 if fails, otherwise returns the number of columns
+def getMatrixNumCols(matrix):
+    return rrLib.getMatrixNumCols(matrix)
+
+##\brief Retrieves an element at a given row and column from a matrix type variable
+#
+#Example: status = rrPython.getMatrixElement (matrix, 2, 4)
+#
+#\param matrix A matrix rrLib
+#\param row The row index to the matrix
+#\param column The column index to the matrix
+#\return Returns the value of the element if successful
+def getMatrixElement(matrix, row, column):
+    value = c_double()
+    rvalue = c_int(row)
+    cvalue = c_int(column)
+    if rrLib.getMatrixElement(matrix, rvalue, cvalue, pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of range')
+
+##\brief Retrieve the number of rows in the given result data
+#
+#Example: nRows = rrPython.getRRDataNumRows(result)
+#
+#\param result A result rrLib
+#\return Returns -1 if fails, otherwise returns the number of rows
+def getRRDataNumRows(result):
+    return rrLib.getRRDataNumRows(result)
+
+##\brief Retrieve the number of columns in the given result data
+#
+#Example: nRows = rrPython.getRRDataNumCols(result);
+#
+#\param result A result rrLib
+#\return Returns -1 if fails, otherwise returns the number of columns
+def getRRDataNumCols(result):
+    return rrLib.getRRDataNumCols(result)
+
+##\brief Retrieves an element at a given row and column from a result type variable
+#
+#Example: status = rrPython.getRRDataElement(result, 2, 4);
+#
+#\param result A result rrLib
+#\param row The row index to the roadrunner  data
+#\param column The column index to the roadrunner data
+#\return Returns true if succesful
+def getRRDataElement(result, row, column):
+    value = c_double()
+    rvalue = c_int(row)
+    cvalue = c_int(column)
+    if rrLib.getMatrixElement(result, rvalue, cvalue, pointer(value)) == True:
+        return value.value;
+    else:
+        raise RuntimeError('Index out of range')
+
+##\brief Retrieves an element at a given row and column from a result type variable
+#
+#Example: str = getRRDataColumnLabel (data, 2, 4);
+#
+#\param data A RoadRunnerData
+#\param column The column index for the result data (indexing from zero)
+#\return Returns NONE if fails, otherwise returns the string column label
+def getRRDataColumnLabel(result, column):
+    cvalue = c_int(column)
+    return rrLib.getRRDataColumnLabel(result, cvalue)
+
+##\brief Retrieve the header file code for the current model (if applicable)
+#
+#
+#Example:   CCode = rrPython.getCCode()
+#           header = rrPython.getCCodeHeader(CCode)
+#
+#\param code A rrLib for a string that stores the C code
+#\return Returns the header for the C code rrLib used as an argument
+def getCCodeHeader(codeHandle):
+    return rrLib.getCCodeHeader(codeHandle)
+
+##\brief Retrieve the source file code for the current model (if applicable)
+#
+#
+#Example:   CCode = rrPython.getCCode()
+#           header = rrPython.getCCodeSource(CCode)
+#
+#\param code A rrLib for a string that stores the C code
+#\return Returns the source for the C code rrLib used as an argument
+def getCCodeSource(codeHandle):
+    return rrLib.getCCodeSource(codeHandle)
+
+##\brief Returns the number of elements in a string array
+#
+#Example:  num = rrPython.getNumberOfStringElements(myStringArray)
+#
+#\param code A rrLib to the string array
+#\return Returns the number of elements in the string array, -1 if there was an error
+def getNumberOfStringElements(myArray):
+    return rrLib.getNumberOfStringElements(myArray)
+
+##\brief Utility function to return the indexth element from a string array
+#
+#Example:  num = rrPython.getStringElement (stringArray, 3)
+#
+#\param stringArray A rrLib to the string array
+#\param index The indexth element to access (indexing from zero)
+#\return Returns the string or raises exception if fails
+def getStringElement (stringArray, index):
+    element = rrLib.getStringElement (stringArray, index)
+    if element == None:
+       raise RuntimeError(getLastError())
+    return element
+
+##@}
+
+# ----------------------------------------------------------------------------
+# Utility function for converting a roadRunner stringarray into a Python List
+def stringArrayToList (stringArray):
+    result = []
+    n = rrLib.getNumberOfStringElements (stringArray)
+    for i in range (n):
+        element = rrLib.getStringElement (stringArray, i)
+        if element == False:
+           raise RuntimeError(getLastError())
+        val = c_char_p(element).value
+        result.append (val)
+        rrLib.freeText(element)
+    return result
+
+def rrVectorToPythonArray (vector):
+    n = rrLib.getVectorLength(vector)
+    if n == -1:
+        raise RuntimeError ('vector is NULL in rrVectorToPythonArray')
+    pythonArray = np.zeros(n)
+    for i in range(n):
+        pythonArray[i] = getVectorElement(vector, i)
+    return pythonArray
+
+def PythonArrayTorrVector (myArray):
+    v = rrLib.createVector (len(myArray))
+    for i in range (len(myArray)):
+        value = myArray[i]
+        rrLib.setVectorElement (v, i, value)
+    return v
+
+
+def rrListToPythonList (values):
+    n = rrLib.getListLength (values)
+    result = []
+    for i in range (n):
+        item = rrLib.getListItem (values, i)
+        result.append (rrLib.getStringListItem (item))
+    return result
+
+def createMatrix (rrMatrix):
+    rowCount = rrLib.getMatrixNumRows(rrMatrix)
+    colCount = rrLib.getMatrixNumCols(rrMatrix)
+    matrixArray = np.zeros((rowCount, colCount))
+    for m in range(rowCount):
+        for n in range(colCount):
+            value = c_double()
+            rvalue = m
+            cvalue = n
+            if rrLib.getMatrixElement(rrMatrix, rvalue, cvalue, pointer(value)) == True:
+               matrixArray[m, n] = value.value
+    return matrixArray
+
+def createRRMatrix (marray):
+    r = marray.shape[0]
+    c = marray.shape[1]
+    rrm = rrLib.createRRMatrix (r, c)
+    for i in range (c):
+        for j in range (r):
+            rrLib.setMatrixElement (rrm, i, j, marray[i, j])
+    return rrm
+
+
+#Miscellaneous
+def compileSource(sourceFileName, rrHandle = None):
+    if rrHandle is None:
+        rrHandle = gHandle
+    return rrLib.compileSource(rrHandle, sourceFileName)
+
+##\mainpage notitle
+#\section Introduction
+#RoadRunner is a high performance and portable simulation engine for systems and synthetic biology. To run a simple SBML model and generate time series data we would call:
+#
+#@code
+#
+#import rrPython
+#
+#rrPython.loadSBMLFromFile('C:\\Models\\mymodel.xml')
+#
+#rrPython.simulate()
+#@endcode
+#
+#\section Setup
+#In order to import the python module, the python folder within the roadRunner install folder must be in the system's python path. To make sure it is, do the following in Windows:
+#
+#Open the control panel and click on 'System'
+#The following will appear; click on 'Advanced System Settings'
+#\image html http://i.imgur.com/bvn9c.jpg
+#
+#Click on the 'Environment Variables' button highlighted in the image below
+#\image html http://i.imgur.com/jBCfn.jpg
+#
+#Highlight the python path entry and click edit. The prompt shown below will appear. Enter the location of the python folder within the install folder with a semicolon between any other entries.
+#\image html http://i.imgur.com/oLC32.jpg
+
+##\defgroup initialization Library initialization and termination methods
+# \brief Initialize library and terminate library instance
+#
+# \defgroup loadsave Read and Write models
+# \brief Read and write models to files or strings. Support for SBML formats.
+#
+# \defgroup utility Utility functions
+# \brief Various miscellaneous routines that return useful information about the library
+#
+# \defgroup errorfunctions Error handling functions
+# \brief Error handling routines
+#
+# \defgroup state Current state of system
+# \brief Compute derivatives, fluxes, and other values of the system at the current state
+#
+# \defgroup steadystate Steady State Routines
+# \brief Compute and obtain basic information about the steady state
+#
+# \defgroup reaction Reaction group
+# \brief Get information about reaction rates
+#
+# \defgroup rateOfChange Rates of change group
+# \brief Get information about rates of change
+#
+# \defgroup boundary Boundary species group
+# \brief Get information about boundary species
+#
+# \defgroup floating Floating species group
+# \brief Get information about floating species
+#
+# \defgroup initialConditions Initial conditions group
+# \brief Set or get initial conditions
+#
+# \defgroup parameters Parameter group
+# \brief Set and get global and local parameters
+#
+# \defgroup compartment Compartment group
+# \brief Set and Get information on compartments
+#
+# \defgroup simulation Time-course simulation
+# \brief Deterministic, stochastic, and hybrid simulation algorithms
+#
+# \defgroup mca Metabolic Control Analysis
+# \brief Calculate control coefficients and sensitivities
+#
+# \defgroup stoich Stoichiometry analysis
+# \brief Linear algebra based methods for analyzing a reaction network
+#
+# \defgroup helperRoutines Helper Routines
+# \brief Helper routines for acessing the various C API types, eg lists and arrays
+#
+# \defgroup toString ToString Routines
+# \brief Render various result data types as strings
+#
+# \defgroup freeRoutines Free memory routines
+# \brief Routines that should be used to free various data structures generated during the course of using the library
+
+
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/libroadrunner.git



More information about the debian-med-commit mailing list